about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.github/CODEOWNERS3
-rw-r--r--.github/workflows/rebase-staging.yml60
-rw-r--r--.github/workflows/rebase.yml134
-rw-r--r--.version2
-rw-r--r--doc/builders/fetchers.chapter.md4
-rw-r--r--doc/builders/packages/eclipse.section.md64
-rw-r--r--doc/builders/packages/eclipse.xml72
-rw-r--r--doc/builders/packages/elm.section.md11
-rw-r--r--doc/builders/packages/elm.xml17
-rw-r--r--doc/builders/packages/index.xml4
-rw-r--r--doc/contributing/submitting-changes.chapter.md5
-rw-r--r--doc/default.nix2
-rw-r--r--doc/functions/library/asserts.xml2
-rw-r--r--doc/languages-frameworks/agda.section.md2
-rw-r--r--doc/languages-frameworks/python.section.md9
-rw-r--r--doc/languages-frameworks/qt.section.md112
-rw-r--r--doc/languages-frameworks/rust.section.md221
-rw-r--r--doc/manual.xml2
-rw-r--r--doc/stdenv/cross-compilation.chapter.md19
-rw-r--r--doc/stdenv/meta.xml30
-rw-r--r--doc/stdenv/platform-notes.chapter.md62
-rw-r--r--doc/stdenv/platform-notes.xml83
-rw-r--r--doc/using/configuration.xml16
-rw-r--r--doc/using/overlays.xml5
-rw-r--r--lib/licenses.nix14
-rw-r--r--lib/lists.nix2
-rw-r--r--lib/systems/platforms.nix2
-rw-r--r--lib/types.nix3
-rw-r--r--maintainers/maintainer-list.nix244
-rw-r--r--maintainers/scripts/nixpkgs-lint.nix3
-rw-r--r--maintainers/team-list.nix12
-rw-r--r--nixos/doc/manual/configuration/networking.xml1
-rw-r--r--nixos/doc/manual/configuration/profiles/clone-config.xml2
-rw-r--r--nixos/doc/manual/configuration/renaming-interfaces.xml67
-rw-r--r--nixos/doc/manual/installation/installing-virtualbox-guest.xml7
-rw-r--r--nixos/doc/manual/release-notes/release-notes.xml2
-rw-r--r--nixos/doc/manual/release-notes/rl-2009.xml6
-rw-r--r--nixos/doc/manual/release-notes/rl-2105.xml (renamed from nixos/doc/manual/release-notes/rl-2103.xml)100
-rw-r--r--nixos/lib/make-squashfs.nix2
-rw-r--r--nixos/modules/config/console.nix13
-rw-r--r--nixos/modules/config/no-x-libs.nix1
-rw-r--r--nixos/modules/config/swap.nix2
-rw-r--r--nixos/modules/config/users-groups.nix2
-rw-r--r--nixos/modules/hardware/i2c.nix43
-rw-r--r--nixos/modules/hardware/ksm.nix12
-rw-r--r--nixos/modules/hardware/sensor/hddtemp.nix81
-rw-r--r--nixos/modules/hardware/video/switcheroo-control.nix18
-rw-r--r--nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix17
-rw-r--r--nixos/modules/installer/cd-dvd/sd-image-aarch64.nix84
-rw-r--r--nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix61
-rw-r--r--nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix50
-rw-r--r--nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix18
-rw-r--r--nixos/modules/installer/cd-dvd/sd-image.nix247
-rw-r--r--nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix2
-rw-r--r--nixos/modules/installer/cd-dvd/system-tarball-pc.nix4
-rw-r--r--nixos/modules/installer/sd-card/sd-image-aarch64-installer.nix10
-rw-r--r--nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel-installer.nix10
-rw-r--r--nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel.nix7
-rw-r--r--nixos/modules/installer/sd-card/sd-image-aarch64.nix75
-rw-r--r--nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform-installer.nix10
-rw-r--r--nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix52
-rw-r--r--nixos/modules/installer/sd-card/sd-image-raspberrypi-installer.nix10
-rw-r--r--nixos/modules/installer/sd-card/sd-image-raspberrypi.nix41
-rw-r--r--nixos/modules/installer/sd-card/sd-image-raspberrypi4-installer.nix10
-rw-r--r--nixos/modules/installer/sd-card/sd-image-raspberrypi4.nix8
-rw-r--r--nixos/modules/installer/sd-card/sd-image.nix245
-rw-r--r--nixos/modules/installer/tools/nixos-generate-config.pl18
-rw-r--r--nixos/modules/installer/tools/tools.nix7
-rw-r--r--nixos/modules/misc/crashdump.nix2
-rw-r--r--nixos/modules/module-list.nix20
-rw-r--r--nixos/modules/profiles/hardened.nix2
-rw-r--r--nixos/modules/programs/captive-browser.nix86
-rw-r--r--nixos/modules/programs/cdemu.nix3
-rw-r--r--nixos/modules/programs/steam.nix9
-rw-r--r--nixos/modules/programs/venus.nix173
-rw-r--r--nixos/modules/rename.nix7
-rw-r--r--nixos/modules/security/hidepid.nix31
-rw-r--r--nixos/modules/security/hidepid.xml28
-rw-r--r--nixos/modules/security/rngd.nix64
-rw-r--r--nixos/modules/services/audio/snapserver.nix28
-rw-r--r--nixos/modules/services/backup/mysql-backup.nix4
-rw-r--r--nixos/modules/services/backup/postgresql-backup.nix3
-rw-r--r--nixos/modules/services/backup/zrepl.nix54
-rw-r--r--nixos/modules/services/blockchain/ethereum/geth.nix178
-rw-r--r--nixos/modules/services/cluster/hadoop/default.nix4
-rw-r--r--nixos/modules/services/cluster/kubernetes/kubelet.nix12
-rw-r--r--nixos/modules/services/continuous-integration/buildbot/master.nix4
-rw-r--r--nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix105
-rw-r--r--nixos/modules/services/continuous-integration/hercules-ci-agent/default.nix8
-rw-r--r--nixos/modules/services/databases/mysql.nix15
-rw-r--r--nixos/modules/services/desktops/pipewire.nix183
-rw-r--r--nixos/modules/services/desktops/pipewire/pipewire-media-session.nix341
-rw-r--r--nixos/modules/services/desktops/pipewire/pipewire.nix265
-rw-r--r--nixos/modules/services/development/hoogle.nix1
-rw-r--r--nixos/modules/services/hardware/acpid.nix31
-rw-r--r--nixos/modules/services/hardware/auto-cpufreq.nix18
-rw-r--r--nixos/modules/services/hardware/bluetooth.nix152
-rw-r--r--nixos/modules/services/hardware/power-profiles-daemon.nix53
-rw-r--r--nixos/modules/services/hardware/spacenavd.nix26
-rw-r--r--nixos/modules/services/hardware/thinkfan.nix260
-rw-r--r--nixos/modules/services/hardware/trezord.nix2
-rw-r--r--nixos/modules/services/hardware/udev.nix23
-rw-r--r--nixos/modules/services/hardware/xow.nix3
-rw-r--r--nixos/modules/services/mail/dovecot.nix2
-rw-r--r--nixos/modules/services/mail/mlmmj.nix43
-rw-r--r--nixos/modules/services/misc/defaultUnicornConfig.rb69
-rw-r--r--nixos/modules/services/misc/etebase-server.nix205
-rw-r--r--nixos/modules/services/misc/etesync-dav.nix92
-rw-r--r--nixos/modules/services/misc/gitlab.nix324
-rw-r--r--nixos/modules/services/misc/gollum.nix2
-rw-r--r--nixos/modules/services/misc/nix-gc.nix53
-rw-r--r--nixos/modules/services/misc/pykms.nix13
-rw-r--r--nixos/modules/services/misc/synergy.nix5
-rw-r--r--nixos/modules/services/monitoring/prometheus/default.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters.nix4
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/flow.nix50
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/nginx.nix7
-rw-r--r--nixos/modules/services/networking/bee-clef.nix107
-rw-r--r--nixos/modules/services/networking/bee.nix149
-rw-r--r--nixos/modules/services/networking/dhcpcd.nix3
-rw-r--r--nixos/modules/services/networking/dnscrypt-proxy2.nix7
-rw-r--r--nixos/modules/services/networking/epmd.nix2
-rw-r--r--nixos/modules/services/networking/flashpolicyd.nix86
-rw-r--r--nixos/modules/services/networking/jitsi-videobridge.nix12
-rw-r--r--nixos/modules/services/networking/kresd.nix2
-rw-r--r--nixos/modules/services/networking/resilio.nix1
-rw-r--r--nixos/modules/services/networking/sabnzbd.nix3
-rw-r--r--nixos/modules/services/printing/cupsd.nix2
-rw-r--r--nixos/modules/services/security/clamav.nix67
-rw-r--r--nixos/modules/services/security/oauth2_proxy.nix1
-rw-r--r--nixos/modules/services/security/oauth2_proxy_nginx.nix2
-rw-r--r--nixos/modules/services/ttys/kmscon.nix7
-rw-r--r--nixos/modules/services/web-apps/galene.nix178
-rw-r--r--nixos/modules/services/web-apps/hedgedoc.nix4
-rw-r--r--nixos/modules/services/web-apps/mastodon.nix564
-rw-r--r--nixos/modules/services/web-apps/miniflux.nix2
-rw-r--r--nixos/modules/services/web-apps/moinmoin.nix4
-rw-r--r--nixos/modules/services/web-apps/nextcloud.nix38
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/default.nix18
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix2
-rw-r--r--nixos/modules/services/web-servers/nginx/location-options.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome3.nix5
-rw-r--r--nixos/modules/services/x11/desktop-managers/plasma5.nix5
-rw-r--r--nixos/modules/services/x11/display-managers/default.nix22
-rw-r--r--nixos/modules/services/x11/display-managers/gdm.nix12
-rw-r--r--nixos/modules/services/x11/window-managers/herbstluftwm.nix13
-rw-r--r--nixos/modules/services/x11/window-managers/xmonad.nix1
-rw-r--r--nixos/modules/services/x11/xserver.nix2
-rw-r--r--nixos/modules/system/boot/kernel.nix28
-rw-r--r--nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.sh2
-rw-r--r--nixos/modules/system/boot/loader/grub/install-grub.pl225
-rw-r--r--nixos/modules/system/boot/loader/init-script/init-script-builder.sh1
-rw-r--r--nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py2
-rw-r--r--nixos/modules/system/boot/luksroot.nix56
-rw-r--r--nixos/modules/system/boot/networkd.nix110
-rw-r--r--nixos/modules/system/boot/plymouth.nix22
-rw-r--r--nixos/modules/system/boot/stage-1.nix13
-rw-r--r--nixos/modules/system/boot/systemd-lib.nix6
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix142
-rw-r--r--nixos/modules/tasks/network-interfaces-systemd.nix12
-rw-r--r--nixos/modules/testing/service-runner.nix4
-rw-r--r--nixos/modules/virtualisation/anbox.nix1
-rw-r--r--nixos/modules/virtualisation/cri-o.nix5
-rw-r--r--nixos/modules/virtualisation/docker.nix1
-rw-r--r--nixos/modules/virtualisation/fetch-instance-ssh-keys.bash36
-rw-r--r--nixos/modules/virtualisation/google-compute-config.nix25
-rw-r--r--nixos/modules/virtualisation/hyperv-guest.nix4
-rw-r--r--nixos/modules/virtualisation/lxd.nix83
-rw-r--r--nixos/modules/virtualisation/nixos-containers.nix67
-rw-r--r--nixos/modules/virtualisation/podman.nix10
-rw-r--r--nixos/modules/virtualisation/qemu-vm.nix23
-rw-r--r--nixos/release.nix10
-rw-r--r--nixos/tests/agda.nix11
-rw-r--r--nixos/tests/all-tests.nix15
-rw-r--r--nixos/tests/bees.nix2
-rw-r--r--nixos/tests/bind.nix1
-rw-r--r--nixos/tests/ceph-single-node-bluestore.nix196
-rw-r--r--nixos/tests/containers-bridge.nix8
-rw-r--r--nixos/tests/containers-custom-pkgs.nix54
-rw-r--r--nixos/tests/containers-ephemeral.nix7
-rw-r--r--nixos/tests/containers-extra_veth.nix8
-rw-r--r--nixos/tests/containers-hosts.nix8
-rw-r--r--nixos/tests/containers-imperative.nix8
-rw-r--r--nixos/tests/containers-ip.nix8
-rw-r--r--nixos/tests/containers-macvlans.nix8
-rw-r--r--nixos/tests/containers-names.nix37
-rw-r--r--nixos/tests/containers-physical_interfaces.nix7
-rw-r--r--nixos/tests/containers-portforward.nix8
-rw-r--r--nixos/tests/containers-reloadable.nix7
-rw-r--r--nixos/tests/containers-restart_networking.nix8
-rw-r--r--nixos/tests/containers-tmpfs.nix8
-rw-r--r--nixos/tests/custom-ca.nix161
-rw-r--r--nixos/tests/fsck.nix2
-rw-r--r--nixos/tests/geth.nix41
-rw-r--r--nixos/tests/gitlab.nix26
-rw-r--r--nixos/tests/glusterfs.nix4
-rw-r--r--nixos/tests/hardened.nix13
-rw-r--r--nixos/tests/installer.nix19
-rw-r--r--nixos/tests/jq.nix10
-rw-r--r--nixos/tests/keepassxc.nix34
-rw-r--r--nixos/tests/ksm.nix22
-rw-r--r--nixos/tests/locate.nix2
-rw-r--r--nixos/tests/misc.nix2
-rw-r--r--nixos/tests/musescore.nix86
-rw-r--r--nixos/tests/networking.nix26
-rw-r--r--nixos/tests/nextcloud/basic.nix2
-rw-r--r--nixos/tests/nfs/kerberos.nix2
-rw-r--r--nixos/tests/nfs/simple.nix2
-rw-r--r--nixos/tests/nixos-generate-config.nix9
-rw-r--r--nixos/tests/openldap.nix19
-rw-r--r--nixos/tests/orangefs.nix2
-rw-r--r--nixos/tests/php/default.nix13
-rw-r--r--nixos/tests/php/fpm.nix7
-rw-r--r--nixos/tests/php/httpd.nix7
-rw-r--r--nixos/tests/php/pcre.nix5
-rw-r--r--nixos/tests/power-profiles-daemon.nix45
-rw-r--r--nixos/tests/ripgrep.nix13
-rw-r--r--nixos/tests/samba.nix2
-rw-r--r--nixos/tests/sbt-extras.nix16
-rw-r--r--nixos/tests/sbt.nix18
-rw-r--r--nixos/tests/scala.nix33
-rw-r--r--nixos/tests/snapcast.nix19
-rw-r--r--nixos/tests/snapper.nix2
-rw-r--r--nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix20
-rw-r--r--nixos/tests/systemd.nix2
-rw-r--r--nixos/tests/traefik.nix4
-rw-r--r--nixos/tests/unbound.nix16
-rw-r--r--nixos/tests/vscodium.nix47
-rw-r--r--nixos/tests/xmpp/prosody.nix2
-rw-r--r--nixos/tests/xmpp/xmpp-sendmessage.nix26
-rw-r--r--nixos/tests/zfs.nix2
-rw-r--r--pkgs/applications/audio/MMA/default.nix3
-rw-r--r--pkgs/applications/audio/ario/default.nix39
-rw-r--r--pkgs/applications/audio/artyFX/default.nix2
-rw-r--r--pkgs/applications/audio/ashuffle/default.nix16
-rw-r--r--pkgs/applications/audio/bambootracker/default.nix47
-rw-r--r--pkgs/applications/audio/baudline/default.nix2
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio1.nix4
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix8
-rw-r--r--pkgs/applications/audio/bslizr/default.nix4
-rw-r--r--pkgs/applications/audio/carla/default.nix6
-rw-r--r--pkgs/applications/audio/caudec/default.nix2
-rw-r--r--pkgs/applications/audio/clementine/default.nix6
-rw-r--r--pkgs/applications/audio/clerk/default.nix3
-rw-r--r--pkgs/applications/audio/cmus/default.nix4
-rw-r--r--pkgs/applications/audio/csound/csound-qt/default.nix2
-rw-r--r--pkgs/applications/audio/deadbeef/wrapper.nix2
-rw-r--r--pkgs/applications/audio/ebumeter/default.nix33
-rw-r--r--pkgs/applications/audio/espeak-ng/default.nix20
-rw-r--r--pkgs/applications/audio/espeak-ng/mbrola.patch22
-rw-r--r--pkgs/applications/audio/faust/faust1.nix7
-rw-r--r--pkgs/applications/audio/faust/faust2.nix5
-rw-r--r--pkgs/applications/audio/faust/faust2firefox.nix4
-rw-r--r--pkgs/applications/audio/gjay/default.nix31
-rw-r--r--pkgs/applications/audio/gmpc/default.nix36
-rw-r--r--pkgs/applications/audio/gnome-podcasts/default.nix1
-rw-r--r--pkgs/applications/audio/google-play-music-desktop-player/default.nix2
-rw-r--r--pkgs/applications/audio/guitarix/default.nix2
-rw-r--r--pkgs/applications/audio/jalv/default.nix4
-rw-r--r--pkgs/applications/audio/jamin/default.nix4
-rw-r--r--pkgs/applications/audio/keyfinder-cli/default.nix10
-rw-r--r--pkgs/applications/audio/keyfinder/default.nix13
-rw-r--r--pkgs/applications/audio/kid3/default.nix4
-rw-r--r--pkgs/applications/audio/kmetronome/default.nix2
-rw-r--r--pkgs/applications/audio/lash/default.nix4
-rw-r--r--pkgs/applications/audio/linuxband/default.nix4
-rw-r--r--pkgs/applications/audio/lollypop/default.nix6
-rw-r--r--pkgs/applications/audio/mbrola/default.nix39
-rw-r--r--pkgs/applications/audio/mda-lv2/default.nix4
-rw-r--r--pkgs/applications/audio/mmtc/default.nix33
-rw-r--r--pkgs/applications/audio/mopidy/default.nix2
-rw-r--r--pkgs/applications/audio/mopidy/somafm.nix2
-rw-r--r--pkgs/applications/audio/mopidy/subidy.nix24
-rw-r--r--pkgs/applications/audio/mpc/default.nix13
-rw-r--r--pkgs/applications/audio/musescore/default.nix3
-rw-r--r--pkgs/applications/audio/musikcube/default.nix4
-rw-r--r--pkgs/applications/audio/musly/default.nix4
-rw-r--r--pkgs/applications/audio/muso/default.nix36
-rw-r--r--pkgs/applications/audio/mympd/default.nix12
-rw-r--r--pkgs/applications/audio/ncmpc/default.nix22
-rw-r--r--pkgs/applications/audio/ncmpcpp/default.nix15
-rw-r--r--pkgs/applications/audio/ncpamixer/default.nix12
-rw-r--r--pkgs/applications/audio/ncspot/default.nix6
-rw-r--r--pkgs/applications/audio/netease-music-tui/default.nix1
-rw-r--r--pkgs/applications/audio/nootka/default.nix2
-rw-r--r--pkgs/applications/audio/nootka/unstable.nix2
-rw-r--r--pkgs/applications/audio/ocenaudio/default.nix1
-rw-r--r--pkgs/applications/audio/openmpt123/default.nix4
-rw-r--r--pkgs/applications/audio/picard/default.nix5
-rw-r--r--pkgs/applications/audio/playbar2/default.nix2
-rw-r--r--pkgs/applications/audio/plexamp/default.nix4
-rw-r--r--pkgs/applications/audio/pragha/default.nix103
-rw-r--r--pkgs/applications/audio/projectm/default.nix2
-rw-r--r--pkgs/applications/audio/pulseeffects-legacy/default.nix115
-rw-r--r--pkgs/applications/audio/pulseeffects/default.nix12
-rw-r--r--pkgs/applications/audio/puredata/wrapper.nix2
-rw-r--r--pkgs/applications/audio/real_time_config_quick_scan/default.nix3
-rw-r--r--pkgs/applications/audio/reaper/default.nix8
-rw-r--r--pkgs/applications/audio/rubyripper/default.nix3
-rw-r--r--pkgs/applications/audio/seq66/default.nix2
-rw-r--r--pkgs/applications/audio/shortwave/default.nix1
-rw-r--r--pkgs/applications/audio/snapcast/default.nix8
-rw-r--r--pkgs/applications/audio/spectmorph/default.nix2
-rw-r--r--pkgs/applications/audio/spotify/default.nix3
-rw-r--r--pkgs/applications/audio/spotifyd/default.nix6
-rw-r--r--pkgs/applications/audio/tageditor/default.nix58
-rw-r--r--pkgs/applications/audio/tuijam/default.nix1
-rw-r--r--pkgs/applications/audio/vimpc/default.nix15
-rw-r--r--pkgs/applications/audio/vkeybd/default.nix3
-rw-r--r--pkgs/applications/audio/vorbis-tools/default.nix29
-rw-r--r--pkgs/applications/audio/yams/default.nix29
-rw-r--r--pkgs/applications/audio/ympd/default.nix19
-rw-r--r--pkgs/applications/backup/deja-dup/default.nix2
-rw-r--r--pkgs/applications/backup/vorta/default.nix19
-rw-r--r--pkgs/applications/blockchains/bitcoin-classic.nix2
-rw-r--r--pkgs/applications/blockchains/btcpayserver/default.nix4
-rw-r--r--pkgs/applications/blockchains/btcpayserver/deps.nix212
-rw-r--r--pkgs/applications/blockchains/electrs.nix6
-rw-r--r--pkgs/applications/blockchains/ergo/default.nix4
-rw-r--r--pkgs/applications/blockchains/go-ethereum.nix17
-rw-r--r--pkgs/applications/blockchains/ledger-live-desktop/default.nix4
-rw-r--r--pkgs/applications/blockchains/nbxplorer/default.nix4
-rw-r--r--pkgs/applications/blockchains/nbxplorer/deps.nix21
-rw-r--r--pkgs/applications/blockchains/openethereum/default.nix10
-rw-r--r--pkgs/applications/blockchains/particl/particl-core.nix4
-rw-r--r--pkgs/applications/blockchains/polkadot/default.nix6
-rw-r--r--pkgs/applications/blockchains/trezor-suite/default.nix53
-rw-r--r--pkgs/applications/blockchains/turbo-geth.nix6
-rw-r--r--pkgs/applications/blockchains/wasabiwallet/default.nix4
-rw-r--r--pkgs/applications/display-managers/lightdm-mini-greeter/default.nix4
-rw-r--r--pkgs/applications/display-managers/lightdm/default.nix2
-rw-r--r--pkgs/applications/editors/android-studio/common.nix19
-rw-r--r--pkgs/applications/editors/android-studio/default.nix10
-rw-r--r--pkgs/applications/editors/atom/default.nix12
-rw-r--r--pkgs/applications/editors/bluej/default.nix6
-rw-r--r--pkgs/applications/editors/code-browser/default.nix3
-rw-r--r--pkgs/applications/editors/eclipse/default.nix2
-rw-r--r--pkgs/applications/editors/eclipse/plugins.nix16
-rw-r--r--pkgs/applications/editors/emacs-modes/elpa-generated.nix148
-rw-r--r--pkgs/applications/editors/emacs-modes/elpa-packages.nix4
-rw-r--r--pkgs/applications/editors/emacs-modes/jam-mode/default.nix22
-rw-r--r--pkgs/applications/editors/emacs-modes/manual-packages.nix94
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-packages.nix344
-rw-r--r--pkgs/applications/editors/emacs-modes/org-generated.nix12
-rw-r--r--pkgs/applications/editors/emacs-modes/recipes-archive-melpa.json7881
-rw-r--r--pkgs/applications/editors/emacs/26.nix1
-rw-r--r--pkgs/applications/editors/emacs/27.nix1
-rw-r--r--pkgs/applications/editors/emacs/clean-env-26.patch15
-rw-r--r--pkgs/applications/editors/emacs/clean-env.patch16
-rw-r--r--pkgs/applications/editors/emacs/generic.nix19
-rw-r--r--pkgs/applications/editors/emacs/macport.nix7
-rw-r--r--pkgs/applications/editors/formiko/default.nix52
-rw-r--r--pkgs/applications/editors/ghostwriter/default.nix4
-rw-r--r--pkgs/applications/editors/gnome-builder/default.nix5
-rw-r--r--pkgs/applications/editors/gobby/default.nix8
-rw-r--r--pkgs/applications/editors/greenfoot/default.nix2
-rw-r--r--pkgs/applications/editors/ht/default.nix2
-rw-r--r--pkgs/applications/editors/jed/default.nix2
-rw-r--r--pkgs/applications/editors/jetbrains/common.nix6
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix53
-rw-r--r--pkgs/applications/editors/jupp/default.nix30
-rw-r--r--pkgs/applications/editors/kakoune/default.nix2
-rw-r--r--pkgs/applications/editors/kakoune/plugins/default.nix4
-rw-r--r--pkgs/applications/editors/kakoune/wrapper.nix2
-rw-r--r--pkgs/applications/editors/kdevelop5/kdev-php.nix2
-rw-r--r--pkgs/applications/editors/kdevelop5/kdev-python.nix2
-rw-r--r--pkgs/applications/editors/kdevelop5/kdevelop-pg-qt.nix2
-rw-r--r--pkgs/applications/editors/kibi/default.nix6
-rw-r--r--pkgs/applications/editors/kodestudio/default.nix3
-rw-r--r--pkgs/applications/editors/music/tuxguitar/default.nix2
-rw-r--r--pkgs/applications/editors/nano/default.nix4
-rw-r--r--pkgs/applications/editors/neovim/wrapper.nix2
-rw-r--r--pkgs/applications/editors/netbeans/default.nix3
-rw-r--r--pkgs/applications/editors/okteta/default.nix4
-rw-r--r--pkgs/applications/editors/ox/default.nix23
-rw-r--r--pkgs/applications/editors/poke/default.nix74
-rw-r--r--pkgs/applications/editors/qemacs/default.nix24
-rw-r--r--pkgs/applications/editors/qxmledit/default.nix2
-rw-r--r--pkgs/applications/editors/retext/default.nix24
-rw-r--r--pkgs/applications/editors/spacevim/default.nix26
-rw-r--r--pkgs/applications/editors/spacevim/helptags.patch2
-rw-r--r--pkgs/applications/editors/standardnotes/default.nix4
-rw-r--r--pkgs/applications/editors/supertux-editor/default.nix4
-rw-r--r--pkgs/applications/editors/texstudio/default.nix4
-rw-r--r--pkgs/applications/editors/texworks/default.nix10
-rw-r--r--pkgs/applications/editors/vim/macvim-configurable.nix2
-rw-r--r--pkgs/applications/editors/viw/default.nix2
-rw-r--r--pkgs/applications/editors/vscode/generic.nix5
-rwxr-xr-xpkgs/applications/editors/vscode/update-vscode.sh5
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix10
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix14
-rw-r--r--pkgs/applications/editors/vscode/with-extensions.nix3
-rw-r--r--pkgs/applications/editors/xed-editor/default.nix71
-rw-r--r--pkgs/applications/graphics/ImageMagick/6.x.nix (renamed from pkgs/applications/graphics/ImageMagick/default.nix)33
-rw-r--r--pkgs/applications/graphics/ImageMagick/7.0.nix4
-rw-r--r--pkgs/applications/graphics/avocode/default.nix4
-rw-r--r--pkgs/applications/graphics/darktable/default.nix4
-rw-r--r--pkgs/applications/graphics/drawio/default.nix4
-rw-r--r--pkgs/applications/graphics/emulsion/default.nix1
-rw-r--r--pkgs/applications/graphics/fig2dev/default.nix14
-rw-r--r--pkgs/applications/graphics/freecad/default.nix7
-rw-r--r--pkgs/applications/graphics/gimp/plugins/default.nix59
-rw-r--r--pkgs/applications/graphics/gimp/wrapper.nix2
-rw-r--r--pkgs/applications/graphics/glimpse/wrapper.nix2
-rw-r--r--pkgs/applications/graphics/gscan2pdf/default.nix24
-rw-r--r--pkgs/applications/graphics/gthumb/default.nix5
-rw-r--r--pkgs/applications/graphics/imagej/default.nix3
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix7
-rw-r--r--pkgs/applications/graphics/inkscape/with-extensions.nix2
-rw-r--r--pkgs/applications/graphics/ipe/default.nix58
-rw-r--r--pkgs/applications/graphics/openscad/default.nix4
-rw-r--r--pkgs/applications/graphics/ovito/default.nix41
-rw-r--r--pkgs/applications/graphics/pdfcpu/default.nix4
-rw-r--r--pkgs/applications/graphics/sane/backends/brscan4/default.nix36
-rw-r--r--pkgs/applications/graphics/solvespace/default.nix22
-rw-r--r--pkgs/applications/graphics/tesseract/wrapper.nix2
-rw-r--r--pkgs/applications/graphics/tev/default.nix8
-rw-r--r--pkgs/applications/graphics/unigine-valley/default.nix2
-rw-r--r--pkgs/applications/graphics/xfig/default.nix30
-rw-r--r--pkgs/applications/kde/akonadi-contacts.nix8
-rw-r--r--pkgs/applications/kde/akonadi/0001-akonadi-paths.patch74
-rw-r--r--pkgs/applications/kde/akonadi/0002-akonadi-timestamps.patch10
-rw-r--r--pkgs/applications/kde/akonadi/0003-akonadi-revert-make-relocatable.patch26
-rw-r--r--pkgs/applications/kde/akonadi/default.nix4
-rw-r--r--pkgs/applications/kde/calendarsupport.nix11
-rw-r--r--pkgs/applications/kde/default.nix3
-rw-r--r--pkgs/applications/kde/dolphin.nix3
-rw-r--r--pkgs/applications/kde/fetch.sh2
-rw-r--r--pkgs/applications/kde/ffmpegthumbs.nix4
-rw-r--r--pkgs/applications/kde/filelight.nix3
-rw-r--r--pkgs/applications/kde/incidenceeditor.nix4
-rw-r--r--pkgs/applications/kde/kaddressbook.nix11
-rw-r--r--pkgs/applications/kde/kalarm.nix18
-rw-r--r--pkgs/applications/kde/kdebugsettings.nix3
-rw-r--r--pkgs/applications/kde/kdenetwork-filesharing.nix5
-rw-r--r--pkgs/applications/kde/kdenlive/default.nix (renamed from pkgs/applications/kde/kdenlive.nix)0
-rw-r--r--pkgs/applications/kde/kdenlive/ffmpeg-path.patch (renamed from pkgs/applications/kde/ffmpeg-path.patch)0
-rw-r--r--pkgs/applications/kde/kdenlive/mlt-path.patch (renamed from pkgs/applications/kde/mlt-path.patch)0
-rw-r--r--pkgs/applications/kde/kdepim-addons.nix4
-rw-r--r--pkgs/applications/kde/kdepim-apps-libs/default.nix20
-rw-r--r--pkgs/applications/kde/kmail.nix4
-rw-r--r--pkgs/applications/kde/kompare.nix10
-rw-r--r--pkgs/applications/kde/konqueror.nix3
-rw-r--r--pkgs/applications/kde/kontact.nix4
-rw-r--r--pkgs/applications/kde/korganizer.nix4
-rw-r--r--pkgs/applications/kde/kpat.nix2
-rw-r--r--pkgs/applications/kde/krdc.nix3
-rw-r--r--pkgs/applications/kde/messagelib.nix4
-rw-r--r--pkgs/applications/kde/srcs.nix1808
-rw-r--r--pkgs/applications/misc/1password-gui/default.nix (renamed from pkgs/tools/security/1password-gui/default.nix)4
-rwxr-xr-xpkgs/applications/misc/1password-gui/update.sh (renamed from pkgs/tools/security/1password-gui/update.sh)0
-rw-r--r--pkgs/applications/misc/1password/default.nix4
-rw-r--r--pkgs/applications/misc/9menu/default.nix32
-rw-r--r--pkgs/applications/misc/ape/default.nix3
-rw-r--r--pkgs/applications/misc/archivy/default.nix10
-rw-r--r--pkgs/applications/misc/audio/sox/0001-musl-rewind-pipe-workaround.patch24
-rw-r--r--pkgs/applications/misc/audio/sox/default.nix2
-rw-r--r--pkgs/applications/misc/audio/wavesurfer/default.nix3
-rw-r--r--pkgs/applications/misc/authy/default.nix110
-rw-r--r--pkgs/applications/misc/avrdudess/default.nix4
-rw-r--r--pkgs/applications/misc/bashSnippets/default.nix2
-rw-r--r--pkgs/applications/misc/blender/default.nix4
-rw-r--r--pkgs/applications/misc/caerbannog/default.nix58
-rw-r--r--pkgs/applications/misc/calcurse/default.nix2
-rw-r--r--pkgs/applications/misc/calibre/default.nix32
-rw-r--r--pkgs/applications/misc/cataract/build.nix4
-rw-r--r--pkgs/applications/misc/charm/default.nix6
-rw-r--r--pkgs/applications/misc/cli-visualizer/default.nix4
-rw-r--r--pkgs/applications/misc/clight/clightd.nix29
-rw-r--r--pkgs/applications/misc/clight/default.nix13
-rw-r--r--pkgs/applications/misc/clipcat/default.nix27
-rw-r--r--pkgs/applications/misc/clipmenu/default.nix3
-rw-r--r--pkgs/applications/misc/cointop/default.nix4
-rw-r--r--pkgs/applications/misc/coolreader/default.nix4
-rw-r--r--pkgs/applications/misc/crow-translate/default.nix27
-rw-r--r--pkgs/applications/misc/crow-translate/dont-fetch-external-libs.patch30
-rw-r--r--pkgs/applications/misc/crow-translate/fix-qttranslations-path.patch18
-rw-r--r--pkgs/applications/misc/dasel/default.nix6
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix158
-rw-r--r--pkgs/applications/misc/diff-pdf/default.nix4
-rw-r--r--pkgs/applications/misc/ding/default.nix7
-rw-r--r--pkgs/applications/misc/dunst/default.nix4
-rw-r--r--pkgs/applications/misc/eureka-editor/default.nix4
-rw-r--r--pkgs/applications/misc/far2l/default.nix39
-rw-r--r--pkgs/applications/misc/fetchmail/default.nix4
-rw-r--r--pkgs/applications/misc/fff/default.nix4
-rw-r--r--pkgs/applications/misc/flavours/default.nix23
-rw-r--r--pkgs/applications/misc/free42/default.nix65
-rw-r--r--pkgs/applications/misc/fuzzel/default.nix4
-rw-r--r--pkgs/applications/misc/gallery-dl/default.nix4
-rw-r--r--pkgs/applications/misc/gkrellm/default.nix26
-rw-r--r--pkgs/applications/misc/gnome-passwordsafe/default.nix29
-rw-r--r--pkgs/applications/misc/gollum/Gemfile.lock42
-rw-r--r--pkgs/applications/misc/gollum/default.nix2
-rw-r--r--pkgs/applications/misc/gollum/gemset.nix77
-rw-r--r--pkgs/applications/misc/gpsbabel/default.nix2
-rw-r--r--pkgs/applications/misc/gpsbabel/gui.nix2
-rw-r--r--pkgs/applications/misc/gpscorrelate/default.nix4
-rw-r--r--pkgs/applications/misc/gpsprune/default.nix4
-rw-r--r--pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--pkgs/applications/misc/gremlin-console/default.nix2
-rw-r--r--pkgs/applications/misc/gsimplecal/default.nix4
-rw-r--r--pkgs/applications/misc/hugo/default.nix6
-rw-r--r--pkgs/applications/misc/icesl/default.nix2
-rw-r--r--pkgs/applications/misc/jgmenu/default.nix2
-rw-r--r--pkgs/applications/misc/joplin-desktop/default.nix6
-rw-r--r--pkgs/applications/misc/josm/default.nix3
-rw-r--r--pkgs/applications/misc/jotta-cli/default.nix4
-rw-r--r--pkgs/applications/misc/jrnl/default.nix50
-rw-r--r--pkgs/applications/misc/keepass/default.nix3
-rw-r--r--pkgs/applications/misc/keepassx/community.nix8
-rw-r--r--pkgs/applications/misc/keeweb/default.nix8
-rw-r--r--pkgs/applications/misc/klayout/default.nix4
-rw-r--r--pkgs/applications/misc/koreader/default.nix4
-rw-r--r--pkgs/applications/misc/lavalauncher/default.nix55
-rw-r--r--pkgs/applications/misc/lscolors/cargo.lock.patch159
-rw-r--r--pkgs/applications/misc/lscolors/default.nix26
-rw-r--r--pkgs/applications/misc/lutris/default.nix2
-rw-r--r--pkgs/applications/misc/lutris/fhsenv.nix4
-rw-r--r--pkgs/applications/misc/masterpdfeditor/default.nix6
-rw-r--r--pkgs/applications/misc/mkgmap/default.nix4
-rw-r--r--pkgs/applications/misc/mkgmap/splitter/default.nix4
-rw-r--r--pkgs/applications/misc/mob/default.nix4
-rw-r--r--pkgs/applications/misc/moolticute/default.nix4
-rw-r--r--pkgs/applications/misc/mpvc/default.nix3
-rw-r--r--pkgs/applications/misc/multibootusb/default.nix1
-rw-r--r--pkgs/applications/misc/nrsc5/default.nix2
-rw-r--r--pkgs/applications/misc/nwg-launchers/default.nix4
-rw-r--r--pkgs/applications/misc/obsidian/default.nix4
-rw-r--r--pkgs/applications/misc/octoprint/default.nix12
-rw-r--r--pkgs/applications/misc/omegat.nix3
-rw-r--r--pkgs/applications/misc/onboard/default.nix4
-rw-r--r--pkgs/applications/misc/openbox-menu/000-enable-svg.patch (renamed from pkgs/applications/misc/openbox-menu/with-svg.patch)0
-rw-r--r--pkgs/applications/misc/openbox-menu/default.nix22
-rw-r--r--pkgs/applications/misc/openjump/default.nix3
-rw-r--r--pkgs/applications/misc/osmium-tool/default.nix5
-rw-r--r--pkgs/applications/misc/pbpst/default.nix50
-rw-r--r--pkgs/applications/misc/pcmanfm/default.nix4
-rw-r--r--pkgs/applications/misc/pdfpc/default.nix2
-rw-r--r--pkgs/applications/misc/perkeep/default.nix38
-rw-r--r--pkgs/applications/misc/plasma-applet-volumewin7mixer/default.nix2
-rw-r--r--pkgs/applications/misc/playonlinux/0001-fix-locale.patch17
-rw-r--r--pkgs/applications/misc/playonlinux/default.nix33
-rw-r--r--pkgs/applications/misc/polybar/default.nix86
-rw-r--r--pkgs/applications/misc/projectlibre/default.nix3
-rw-r--r--pkgs/applications/misc/pueue/default.nix6
-rw-r--r--pkgs/applications/misc/pwsafe/default.nix4
-rw-r--r--pkgs/applications/misc/qdirstat/default.nix4
-rw-r--r--pkgs/applications/misc/qpdfview/default.nix6
-rw-r--r--pkgs/applications/misc/qpdfview/qpdfview-qt515-compat.patch17
-rw-r--r--pkgs/applications/misc/qsyncthingtray/default.nix2
-rw-r--r--pkgs/applications/misc/ranger/default.nix28
-rw-r--r--pkgs/applications/misc/reddsaver/default.nix10
-rw-r--r--pkgs/applications/misc/redis-desktop-manager/default.nix11
-rw-r--r--pkgs/applications/misc/redshift-plasma-applet/default.nix2
-rw-r--r--pkgs/applications/misc/rofi/wrapper.nix13
-rw-r--r--pkgs/applications/misc/sidequest/default.nix2
-rw-r--r--pkgs/applications/misc/signumone-ks/default.nix6
-rw-r--r--pkgs/applications/misc/spacefm/default.nix8
-rw-r--r--pkgs/applications/misc/spacefm/x11-only.patch10
-rw-r--r--pkgs/applications/misc/spacenav-cube-example/default.nix29
-rw-r--r--pkgs/applications/misc/spicetify-cli/default.nix6
-rw-r--r--pkgs/applications/misc/ssh-tools/default.nix25
-rw-r--r--pkgs/applications/misc/subsurface/default.nix10
-rw-r--r--pkgs/applications/misc/surface-control/default.nix37
-rw-r--r--pkgs/applications/misc/swappy/default.nix24
-rw-r--r--pkgs/applications/misc/sweethome3d/default.nix32
-rw-r--r--pkgs/applications/misc/sweethome3d/editors.nix27
-rw-r--r--pkgs/applications/misc/syncthingtray/default.nix4
-rw-r--r--pkgs/applications/misc/tabula-java/default.nix36
-rw-r--r--pkgs/applications/misc/tabula/default.nix2
-rw-r--r--pkgs/applications/misc/taskjuggler/2.x/default.nix75
-rw-r--r--pkgs/applications/misc/taskjuggler/2.x/timezone-glibc.patch48
-rw-r--r--pkgs/applications/misc/taskwarrior-tui/default.nix6
-rw-r--r--pkgs/applications/misc/ticker/default.nix32
-rw-r--r--pkgs/applications/misc/tickrs/default.nix10
-rw-r--r--pkgs/applications/misc/todoist-electron/default.nix80
-rw-r--r--pkgs/applications/misc/tootle/default.nix15
-rw-r--r--pkgs/applications/misc/translate-shell/default.nix2
-rw-r--r--pkgs/applications/misc/tty-solitaire/default.nix2
-rw-r--r--pkgs/applications/misc/tut/default.nix13
-rw-r--r--pkgs/applications/misc/tut/deps.nix318
-rw-r--r--pkgs/applications/misc/twitch-chat-downloader/default.nix36
-rw-r--r--pkgs/applications/misc/ultralist/default.nix4
-rw-r--r--pkgs/applications/misc/upwork/default.nix10
-rw-r--r--pkgs/applications/misc/usync/default.nix6
-rw-r--r--pkgs/applications/misc/viking/default.nix4
-rw-r--r--pkgs/applications/misc/visidata/default.nix4
-rw-r--r--pkgs/applications/misc/waybar/default.nix121
-rw-r--r--pkgs/applications/misc/wbg/default.nix52
-rw-r--r--pkgs/applications/misc/wofi/default.nix6
-rw-r--r--pkgs/applications/misc/wordnet/default.nix3
-rw-r--r--pkgs/applications/misc/wtf/default.nix6
-rw-r--r--pkgs/applications/misc/xfontsel/default.nix4
-rw-r--r--pkgs/applications/misc/xmenu/default.nix4
-rw-r--r--pkgs/applications/misc/xpdf/default.nix19
-rw-r--r--pkgs/applications/misc/xpdf/libxpdf.nix18
-rw-r--r--pkgs/applications/misc/xygrib/default.nix33
-rw-r--r--pkgs/applications/misc/yambar/default.nix86
-rw-r--r--pkgs/applications/misc/zathura/wrapper.nix3
-rw-r--r--pkgs/applications/misc/zettlr/default.nix14
-rw-r--r--pkgs/applications/networking/Sylk/default.nix4
-rw-r--r--pkgs/applications/networking/appgate-sdp/default.nix10
-rw-r--r--pkgs/applications/networking/bee/0001-clef-service-accept-default-CONFIGDIR-from-the-envir.patch44
-rw-r--r--pkgs/applications/networking/bee/0002-nix-diff-for-substituteAll.patch25
-rw-r--r--pkgs/applications/networking/bee/bee-clef.nix57
-rw-r--r--pkgs/applications/networking/bee/bee.nix77
-rw-r--r--pkgs/applications/networking/bee/ensure-clef-account47
-rw-r--r--pkgs/applications/networking/browsers/amfora/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/av-98/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/bombadillo/default.nix10
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/castor/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/README.md36
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix36
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix38
-rw-r--r--pkgs/applications/networking/browsers/chromium/plugins.nix92
-rwxr-xr-xpkgs/applications/networking/browsers/chromium/update.py15
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json46
-rw-r--r--pkgs/applications/networking/browsers/elinks/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/release_sources.nix770
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix7
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix14
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix60
-rw-r--r--pkgs/applications/networking/browsers/google-chrome/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/lagrange/default.nix14
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix147
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix106
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libcss.nix2
-rw-r--r--pkgs/applications/networking/browsers/nyxt/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/palemoon/default.nix9
-rw-r--r--pkgs/applications/networking/browsers/qutebrowser/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/vieb/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/vieb/package.json20
-rw-r--r--pkgs/applications/networking/browsers/vieb/yarn.lock1243
-rw-r--r--pkgs/applications/networking/browsers/vieb/yarn.nix1040
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix4
-rw-r--r--pkgs/applications/networking/calls/default.nix2
-rw-r--r--pkgs/applications/networking/charles/default.nix2
-rw-r--r--pkgs/applications/networking/cloudflared/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/argo/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/argocd/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/atlantis/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/cloudfoundry-cli/default.nix (renamed from pkgs/development/tools/cloudfoundry-cli/default.nix)44
-rw-r--r--pkgs/applications/networking/cluster/cni/plugins.nix4
-rw-r--r--pkgs/applications/networking/cluster/fluxcd/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/fluxctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/hadoop/default.nix12
-rw-r--r--pkgs/applications/networking/cluster/helm/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/helmfile/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/istioctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/k3s/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kube-capacity/default.nix24
-rw-r--r--pkgs/applications/networking/cluster/kube-router/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kube3d/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubectl-example/default.nix23
-rw-r--r--pkgs/applications/networking/cluster/kubeseal/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/nerdctl/default.nix35
-rw-r--r--pkgs/applications/networking/cluster/nixops/default.nix64
-rw-r--r--pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix74
-rw-r--r--pkgs/applications/networking/cluster/nixops/poetry.lock841
-rw-r--r--pkgs/applications/networking/cluster/nixops/pyproject.toml21
-rw-r--r--pkgs/applications/networking/cluster/nixops/shell.nix10
-rwxr-xr-xpkgs/applications/networking/cluster/nixops/update11
-rw-r--r--pkgs/applications/networking/cluster/node-problem-detector/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/nomad/0.11.nix11
-rw-r--r--pkgs/applications/networking/cluster/nomad/0.12.nix4
-rw-r--r--pkgs/applications/networking/cluster/nomad/1.0.nix4
-rw-r--r--pkgs/applications/networking/cluster/octant/default.nix53
-rw-r--r--pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix6
-rwxr-xr-xpkgs/applications/networking/cluster/octant/update.sh38
-rw-r--r--pkgs/applications/networking/cluster/spacegun/default.nix15
-rw-r--r--pkgs/applications/networking/cluster/spacegun/generate-dependencies.sh7
-rw-r--r--pkgs/applications/networking/cluster/spacegun/node-composition.nix8
-rw-r--r--pkgs/applications/networking/cluster/spacegun/node-packages.nix3988
-rw-r--r--pkgs/applications/networking/cluster/spacegun/package.json3
-rw-r--r--pkgs/applications/networking/cluster/spark/default.nix3
-rw-r--r--pkgs/applications/networking/cluster/ssm-agent/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/starboard/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/stern/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/tanka/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/tektoncd-cli/default.nix33
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/elasticsearch/default.nix29
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/lxd/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json61
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/shell/default.nix32
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/default.nix17
-rw-r--r--pkgs/applications/networking/cluster/tilt/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/velero/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/waypoint/default.nix48
-rw-r--r--pkgs/applications/networking/dnscontrol/default.nix8
-rw-r--r--pkgs/applications/networking/errbot/default.nix121
-rw-r--r--pkgs/applications/networking/feedreaders/feedreader/default.nix2
-rw-r--r--pkgs/applications/networking/feedreaders/newsflash/default.nix32
-rw-r--r--pkgs/applications/networking/feedreaders/rssguard/default.nix6
-rw-r--r--pkgs/applications/networking/flexget/default.nix4
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix4
-rw-r--r--pkgs/applications/networking/gns3/default.nix6
-rw-r--r--pkgs/applications/networking/gns3/server.nix4
-rw-r--r--pkgs/applications/networking/gopher/sacc/default.nix4
-rw-r--r--pkgs/applications/networking/ids/snort/default.nix3
-rw-r--r--pkgs/applications/networking/ids/zeek/default.nix26
-rw-r--r--pkgs/applications/networking/ids/zeek/script.nix69
-rw-r--r--pkgs/applications/networking/instant-messengers/bitlbee-facebook/default.nix20
-rw-r--r--pkgs/applications/networking/instant-messengers/bluejeans/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/deltachat-electron/default.nix13
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop-package.json24
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix1032
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-web.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/franz/generic.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/gomuks/default.nix13
-rw-r--r--pkgs/applications/networking/instant-messengers/hipchat/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/neochat/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/nheko/default.nix17
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/pro.nix4
-rwxr-xr-xpkgs/applications/networking/instant-messengers/ripcord/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-cli/default.nix14
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix12
-rw-r--r--pkgs/applications/networking/instant-messengers/ssh-chat/default.nix12
-rw-r--r--pkgs/applications/networking/instant-messengers/ssh-chat/deps.nix84
-rw-r--r--pkgs/applications/networking/instant-messengers/teams/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix18
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/toxic/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/viber/default.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/wavebox/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/default.nix5
-rwxr-xr-xpkgs/applications/networking/instant-messengers/zoom-us/update.sh4
-rw-r--r--pkgs/applications/networking/instant-messengers/zulip/default.nix6
-rw-r--r--pkgs/applications/networking/insync/default.nix4
-rw-r--r--pkgs/applications/networking/ipfs-migrator/default.nix4
-rw-r--r--pkgs/applications/networking/ipfs/default.nix4
-rw-r--r--pkgs/applications/networking/irc/communi/default.nix2
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix4
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/default.nix6
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/multiline/default.nix40
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/multiline/libpath.patch9
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/wee-slack/0001-hardcode-json-file-path.patch35
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix6
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/wee-slack/hardcode-json-file-path.patch12
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix4
-rw-r--r--pkgs/applications/networking/jnetmap/default.nix3
-rw-r--r--pkgs/applications/networking/maestral-qt/default.nix5
-rw-r--r--pkgs/applications/networking/mailreaders/aerc/default.nix5
-rw-r--r--pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch39
-rw-r--r--pkgs/applications/networking/mailreaders/claws-mail/default.nix204
-rw-r--r--pkgs/applications/networking/mailreaders/claws-mail/gtk3.nix121
-rw-r--r--pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/evolution/evolution/default.nix5
-rw-r--r--pkgs/applications/networking/mailreaders/evolution/evolution/wrapper.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/mailnag/default.nix5
-rw-r--r--pkgs/applications/networking/mailreaders/neomutt/default.nix10
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix8
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix530
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix4
-rw-r--r--pkgs/applications/networking/mullvad-vpn/default.nix12
-rw-r--r--pkgs/applications/networking/mumble/default.nix51
-rw-r--r--pkgs/applications/networking/n8n/node-composition.nix8
-rw-r--r--pkgs/applications/networking/n8n/node-env.nix39
-rw-r--r--pkgs/applications/networking/n8n/node-packages.nix1614
-rw-r--r--pkgs/applications/networking/ncgopher/default.nix6
-rw-r--r--pkgs/applications/networking/nextcloud-client/default.nix14
-rw-r--r--pkgs/applications/networking/onionshare/default.nix92
-rw-r--r--pkgs/applications/networking/onionshare/fix-paths-gui.patch37
-rw-r--r--pkgs/applications/networking/onionshare/fix-paths.patch144
-rw-r--r--pkgs/applications/networking/p2p/gnunet/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/tribler/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/vuze/default.nix3
-rw-r--r--pkgs/applications/networking/protonvpn-cli/default.nix8
-rw-r--r--pkgs/applications/networking/protonvpn-gui/default.nix3
-rw-r--r--pkgs/applications/networking/remote/anydesk/default.nix20
-rw-r--r--pkgs/applications/networking/remote/citrix-workspace/sources.nix11
-rw-r--r--pkgs/applications/networking/remote/freerdp/default.nix4
-rw-r--r--pkgs/applications/networking/remote/teamviewer/default.nix4
-rw-r--r--pkgs/applications/networking/remote/vmware-horizon-client/default.nix104
-rwxr-xr-xpkgs/applications/networking/remote/vmware-horizon-client/update.sh27
-rw-r--r--pkgs/applications/networking/seaweedfs/default.nix6
-rw-r--r--pkgs/applications/networking/shellhub-agent/default.nix4
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix12
-rw-r--r--pkgs/applications/networking/sync/casync/default.nix47
-rw-r--r--pkgs/applications/networking/sync/rclone/browser.nix10
-rw-r--r--pkgs/applications/networking/sync/rclone/default.nix6
-rw-r--r--pkgs/applications/networking/sync/unison/default.nix3
-rw-r--r--pkgs/applications/networking/syncthing/default.nix6
-rw-r--r--pkgs/applications/networking/tsung/default.nix2
-rw-r--r--pkgs/applications/networking/umurmur/default.nix4
-rw-r--r--pkgs/applications/networking/websocketd/default.nix6
-rw-r--r--pkgs/applications/networking/wg-bond/default.nix2
-rw-r--r--pkgs/applications/office/bookworm/default.nix2
-rw-r--r--pkgs/applications/office/cb2bib/default.nix2
-rw-r--r--pkgs/applications/office/docear/default.nix3
-rw-r--r--pkgs/applications/office/grisbi/default.nix4
-rw-r--r--pkgs/applications/office/homebank/default.nix4
-rw-r--r--pkgs/applications/office/impressive/default.nix3
-rw-r--r--pkgs/applications/office/jabref/default.nix4
-rw-r--r--pkgs/applications/office/kbibtex/default.nix74
-rw-r--r--pkgs/applications/office/ledger/default.nix8
-rw-r--r--pkgs/applications/office/libreoffice/default.nix19
-rw-r--r--pkgs/applications/office/libreoffice/src-fresh/download.nix127
-rw-r--r--pkgs/applications/office/libreoffice/src-fresh/primary.nix12
-rw-r--r--pkgs/applications/office/libreoffice/src-still/download.nix414
-rw-r--r--pkgs/applications/office/libreoffice/src-still/override.nix19
-rw-r--r--pkgs/applications/office/libreoffice/src-still/primary.nix12
-rw-r--r--pkgs/applications/office/mytetra/default.nix4
-rw-r--r--pkgs/applications/office/paperless/default.nix4
-rw-r--r--pkgs/applications/office/paperless/python-modules/django-crispy-forms.nix25
-rw-r--r--pkgs/applications/office/planner/default.nix79
-rw-r--r--pkgs/applications/office/portfolio/default.nix4
-rw-r--r--pkgs/applications/office/pympress/default.nix3
-rw-r--r--pkgs/applications/office/scribus/unstable.nix7
-rw-r--r--pkgs/applications/office/skanlite/default.nix13
-rw-r--r--pkgs/applications/office/softmaker/freeoffice.nix6
-rw-r--r--pkgs/applications/office/softmaker/generic.nix2
-rw-r--r--pkgs/applications/office/softmaker/softmaker_office.nix6
-rw-r--r--pkgs/applications/office/treesheets/default.nix3
-rw-r--r--pkgs/applications/office/trilium/default.nix6
-rw-r--r--pkgs/applications/office/wpsoffice/default.nix10
-rw-r--r--pkgs/applications/office/zotero/default.nix62
-rw-r--r--pkgs/applications/printing/pappl/default.nix4
-rw-r--r--pkgs/applications/radio/cqrlog/default.nix101
-rw-r--r--pkgs/applications/radio/cqrlog/fix-makefile-lazarusdir.patch13
-rw-r--r--pkgs/applications/radio/fldigi/default.nix4
-rw-r--r--pkgs/applications/radio/flrig/default.nix4
-rw-r--r--pkgs/applications/radio/gnuradio/ais.nix34
-rw-r--r--pkgs/applications/radio/gnuradio/default.nix2
-rw-r--r--pkgs/applications/radio/gnuradio/shared.nix1
-rw-r--r--pkgs/applications/radio/multimon-ng/default.nix3
-rw-r--r--pkgs/applications/radio/sdrangel/default.nix4
-rw-r--r--pkgs/applications/radio/soapybladerf/default.nix2
-rw-r--r--pkgs/applications/radio/unixcw/default.nix2
-rw-r--r--pkgs/applications/radio/welle-io/default.nix2
-rw-r--r--pkgs/applications/science/astronomy/gpredict/default.nix2
-rw-r--r--pkgs/applications/science/astronomy/siril/default.nix20
-rw-r--r--pkgs/applications/science/astronomy/stellarium/default.nix4
-rw-r--r--pkgs/applications/science/biology/bcftools/default.nix2
-rw-r--r--pkgs/applications/science/biology/blast/default.nix9
-rw-r--r--pkgs/applications/science/biology/blast/no_slash_bin.patch8
-rw-r--r--pkgs/applications/science/biology/eggnog-mapper/default.nix2
-rw-r--r--pkgs/applications/science/biology/last/default.nix4
-rw-r--r--pkgs/applications/science/biology/picard-tools/default.nix4
-rw-r--r--pkgs/applications/science/biology/platypus/default.nix3
-rw-r--r--pkgs/applications/science/biology/prodigal/default.nix2
-rw-r--r--pkgs/applications/science/biology/snpeff/default.nix3
-rw-r--r--pkgs/applications/science/biology/star/default.nix4
-rw-r--r--pkgs/applications/science/biology/varscan/default.nix3
-rw-r--r--pkgs/applications/science/chemistry/chemtool/default.nix50
-rw-r--r--pkgs/applications/science/chemistry/jmol/default.nix4
-rw-r--r--pkgs/applications/science/chemistry/marvin/default.nix4
-rw-r--r--pkgs/applications/science/chemistry/molden/default.nix6
-rw-r--r--pkgs/applications/science/chemistry/openmolcas/default.nix2
-rw-r--r--pkgs/applications/science/electronics/diylc/default.nix9
-rw-r--r--pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix8
-rw-r--r--pkgs/applications/science/electronics/kicad/base.nix6
-rw-r--r--pkgs/applications/science/electronics/kicad/default.nix4
-rw-r--r--pkgs/applications/science/electronics/ngspice/default.nix4
-rw-r--r--pkgs/applications/science/electronics/verilog/default.nix4
-rw-r--r--pkgs/applications/science/logic/acgtk/default.nix12
-rw-r--r--pkgs/applications/science/logic/alt-ergo/default.nix8
-rw-r--r--pkgs/applications/science/logic/coq/default.nix3
-rw-r--r--pkgs/applications/science/logic/hol/default.nix15
-rw-r--r--pkgs/applications/science/logic/isabelle/default.nix3
-rw-r--r--pkgs/applications/science/logic/lean/default.nix4
-rw-r--r--pkgs/applications/science/logic/leo2/default.nix3
-rw-r--r--pkgs/applications/science/logic/mcrl2/default.nix2
-rw-r--r--pkgs/applications/science/logic/satallax/default.nix3
-rw-r--r--pkgs/applications/science/logic/symbiyosys/default.nix3
-rw-r--r--pkgs/applications/science/logic/tlaplus/default.nix3
-rw-r--r--pkgs/applications/science/logic/tlaplus/toolbox.nix2
-rw-r--r--pkgs/applications/science/logic/why3/with-provers.nix3
-rw-r--r--pkgs/applications/science/logic/workcraft/default.nix2
-rw-r--r--pkgs/applications/science/logic/z3/default.nix57
-rw-r--r--pkgs/applications/science/math/R/default.nix9
-rw-r--r--pkgs/applications/science/math/calc/default.nix13
-rw-r--r--pkgs/applications/science/math/cbc/default.nix11
-rw-r--r--pkgs/applications/science/math/dap/default.nix37
-rw-r--r--pkgs/applications/science/math/gfan/default.nix2
-rw-r--r--pkgs/applications/science/math/msieve/default.nix2
-rw-r--r--pkgs/applications/science/math/nasc/default.nix1
-rw-r--r--pkgs/applications/science/math/ratpoints/default.nix2
-rw-r--r--pkgs/applications/science/math/rofi-calc/default.nix4
-rw-r--r--pkgs/applications/science/math/sage/patches/disable-pexpect-intermittent-failure.patch29
-rw-r--r--pkgs/applications/science/math/sage/patches/dont-grep-threejs-version-from-minified-js.patch16
-rw-r--r--pkgs/applications/science/math/sage/sage-src.nix6
-rw-r--r--pkgs/applications/science/math/weka/default.nix3
-rw-r--r--pkgs/applications/science/medicine/aliza/default.nix9
-rw-r--r--pkgs/applications/science/misc/cytoscape/default.nix3
-rw-r--r--pkgs/applications/science/misc/foldingathome/control.nix2
-rw-r--r--pkgs/applications/science/physics/sherpa/default.nix2
-rw-r--r--pkgs/applications/science/programming/plm/default.nix3
-rw-r--r--pkgs/applications/science/robotics/apmplanner2/default.nix4
-rw-r--r--pkgs/applications/science/robotics/mavproxy/default.nix4
-rw-r--r--pkgs/applications/science/robotics/qgroundcontrol/default.nix7
-rw-r--r--pkgs/applications/search/xlsxgrep/default.nix20
-rw-r--r--pkgs/applications/system/glances/default.nix6
-rw-r--r--pkgs/applications/terminal-emulators/alacritty/default.nix19
-rw-r--r--pkgs/applications/terminal-emulators/foot/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix2
-rw-r--r--pkgs/applications/terminal-emulators/st/xst.nix18
-rw-r--r--pkgs/applications/terminal-emulators/terminator/default.nix15
-rw-r--r--pkgs/applications/terminal-emulators/terminus/default.nix3
-rw-r--r--pkgs/applications/terminal-emulators/wayst/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/xterm/default.nix10
-rw-r--r--pkgs/applications/version-management/bcompare/default.nix1
-rw-r--r--pkgs/applications/version-management/cvs2svn/default.nix2
-rw-r--r--pkgs/applications/version-management/gerrit/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix3
-rw-r--r--pkgs/applications/version-management/git-and-tools/delta/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/fast-export/default.nix3
-rw-r--r--pkgs/applications/version-management/git-and-tools/gh/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/ghq/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-cinnabar/default.nix10
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-cola/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-crypt/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-delete-merged-branches/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-extras/default.nix10
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-hub/default.nix9
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-interactive-rebase-tool/default.nix15
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-octopus/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-open/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-recent/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-reparent/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-secret/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-sync/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix19
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitflow/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/glab/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/lab/default.nix12
-rw-r--r--pkgs/applications/version-management/git-and-tools/legit/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/qgit/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/svn2git/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/thicket/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/tig/default.nix10
-rw-r--r--pkgs/applications/version-management/git-and-tools/transcrypt/default.nix3
-rw-r--r--pkgs/applications/version-management/git-repo/default.nix4
-rw-r--r--pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--pkgs/applications/version-management/gitkraken/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/data.json12
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix1
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile2
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock28
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/gemset.nix46
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-shell/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch124
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile53
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock339
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix416
-rw-r--r--pkgs/applications/version-management/gitlab/yarnPkgs.nix216
-rw-r--r--pkgs/applications/version-management/meld/default.nix5
-rw-r--r--pkgs/applications/version-management/mercurial/4.9.nix3
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix3
-rw-r--r--pkgs/applications/version-management/monotone-viz/default.nix4
-rw-r--r--pkgs/applications/version-management/pijul/default.nix6
-rw-r--r--pkgs/applications/version-management/rabbitvcs/default.nix4
-rw-r--r--pkgs/applications/version-management/sourcehut/builds.nix1
-rw-r--r--pkgs/applications/version-management/sourcehut/dispatch.nix1
-rw-r--r--pkgs/applications/version-management/sourcehut/git.nix1
-rw-r--r--pkgs/applications/version-management/sourcehut/hg.nix1
-rw-r--r--pkgs/applications/version-management/sourcehut/hub.nix1
-rw-r--r--pkgs/applications/version-management/sourcehut/lists.nix1
-rw-r--r--pkgs/applications/version-management/sourcehut/man.nix1
-rw-r--r--pkgs/applications/version-management/sourcehut/meta.nix1
-rw-r--r--pkgs/applications/version-management/sourcehut/paste.nix1
-rw-r--r--pkgs/applications/version-management/sourcehut/todo.nix3
-rw-r--r--pkgs/applications/version-management/sparkleshare/default.nix4
-rw-r--r--pkgs/applications/version-management/sublime-merge/default.nix8
-rw-r--r--pkgs/applications/video/catt/default.nix26
-rw-r--r--pkgs/applications/video/cinelerra/default.nix27
-rw-r--r--pkgs/applications/video/filebot/default.nix4
-rw-r--r--pkgs/applications/video/gnomecast/default.nix4
-rw-r--r--pkgs/applications/video/go-chromecast/default.nix4
-rw-r--r--pkgs/applications/video/kodi/default.nix54
-rw-r--r--pkgs/applications/video/kodi/plugins.nix70
-rw-r--r--pkgs/applications/video/lightworks/default.nix3
-rw-r--r--pkgs/applications/video/manim/default.nix6
-rw-r--r--pkgs/applications/video/mediathekview/default.nix4
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix8
-rw-r--r--pkgs/applications/video/obs-studio/obs-ndi.nix2
-rw-r--r--pkgs/applications/video/obs-studio/v4l2sink.nix2
-rw-r--r--pkgs/applications/video/openshot-qt/libopenshot.nix2
-rw-r--r--pkgs/applications/video/pitivi/default.nix1
-rw-r--r--pkgs/applications/video/quvi/tool.nix4
-rw-r--r--pkgs/applications/video/shotcut/default.nix6
-rw-r--r--pkgs/applications/video/subtitleeditor/default.nix4
-rw-r--r--pkgs/applications/video/tartube/default.nix9
-rw-r--r--pkgs/applications/video/vcs/default.nix1
-rw-r--r--pkgs/applications/video/vlc/default.nix4
-rw-r--r--pkgs/applications/video/vokoscreen-ng/default.nix15
-rw-r--r--pkgs/applications/video/vokoscreen-ng/linux-support-installation-target.patch40
-rw-r--r--pkgs/applications/video/xplayer/default.nix103
-rw-r--r--pkgs/applications/video/xplayer/plparser.nix42
-rw-r--r--pkgs/applications/video/xscast/default.nix2
-rw-r--r--pkgs/applications/virtualization/OVMF/default.nix4
-rw-r--r--pkgs/applications/virtualization/conmon/default.nix4
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix9
-rw-r--r--pkgs/applications/virtualization/cri-o/default.nix4
-rw-r--r--pkgs/applications/virtualization/cri-o/wrapper.nix2
-rw-r--r--pkgs/applications/virtualization/crun/default.nix6
-rw-r--r--pkgs/applications/virtualization/docker-compose/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker/default.nix25
-rw-r--r--pkgs/applications/virtualization/docker/gc.nix2
-rw-r--r--pkgs/applications/virtualization/gvisor/default.nix2
-rw-r--r--pkgs/applications/virtualization/podman/default.nix17
-rw-r--r--pkgs/applications/virtualization/podman/remove-unconfigured-runtime-warn.patch23
-rw-r--r--pkgs/applications/virtualization/podman/wrapper.nix3
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix14
-rw-r--r--pkgs/applications/virtualization/runc/default.nix10
-rw-r--r--pkgs/applications/virtualization/singularity/default.nix4
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix2
-rw-r--r--pkgs/applications/virtualization/x11docker/default.nix2
-rw-r--r--pkgs/applications/window-managers/bspwm/unstable.nix31
-rw-r--r--pkgs/applications/window-managers/dwl/default.nix85
-rw-r--r--pkgs/applications/window-managers/dwm/default.nix50
-rw-r--r--pkgs/applications/window-managers/dwm/git.nix37
-rw-r--r--pkgs/applications/window-managers/herbstluftwm/default.nix31
-rw-r--r--pkgs/applications/window-managers/i3/default.nix4
-rw-r--r--pkgs/applications/window-managers/i3/gaps.nix4
-rw-r--r--pkgs/applications/window-managers/i3/status-rust.nix9
-rw-r--r--pkgs/applications/window-managers/icewm/default.nix4
-rw-r--r--pkgs/applications/window-managers/labwc/default.nix56
-rw-r--r--pkgs/applications/window-managers/leftwm/default.nix9
-rw-r--r--pkgs/applications/window-managers/waybox/default.nix45
-rw-r--r--pkgs/applications/window-managers/wayfire/default.nix6
-rw-r--r--pkgs/applications/window-managers/wayfire/wcm.nix12
-rw-r--r--pkgs/applications/window-managers/wayfire/wf-config.nix6
-rw-r--r--pkgs/applications/window-managers/wayfire/wf-shell.nix4
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix2
-rw-r--r--pkgs/build-support/agda/default.nix4
-rw-r--r--pkgs/build-support/agda/lib.nix10
-rw-r--r--pkgs/build-support/appimage/default.nix3
-rw-r--r--pkgs/build-support/bintools-wrapper/default.nix1
-rw-r--r--pkgs/build-support/build-fhs-userenv-bubblewrap/default.nix61
-rw-r--r--pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix23
-rw-r--r--pkgs/build-support/build-fhs-userenv/env.nix3
-rw-r--r--pkgs/build-support/build-pecl.nix4
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix2
-rw-r--r--pkgs/build-support/docker/default.nix1
-rw-r--r--pkgs/build-support/emacs/elpa.nix4
-rw-r--r--pkgs/build-support/emacs/emacs-funcs.sh (renamed from pkgs/build-support/emacs/setup-hook.sh)10
-rw-r--r--pkgs/build-support/emacs/generic.nix25
-rw-r--r--pkgs/build-support/emacs/melpa.nix4
-rw-r--r--pkgs/build-support/emacs/wrapper.nix8
-rw-r--r--pkgs/build-support/fetchcvs/builder.sh2
-rwxr-xr-xpkgs/build-support/fetchgit/nix-prefetch-git16
-rw-r--r--pkgs/build-support/fetchgithub/default.nix20
-rw-r--r--pkgs/build-support/fetchzip/default.nix15
-rw-r--r--pkgs/build-support/go/garble.nix34
-rw-r--r--pkgs/build-support/release/debian-build.nix1
-rw-r--r--pkgs/build-support/rust/default.nix185
-rw-r--r--pkgs/build-support/rust/fetchCargoTarball.nix2
-rw-r--r--pkgs/build-support/rust/hooks/cargo-build-hook.sh35
-rw-r--r--pkgs/build-support/rust/hooks/cargo-check-hook.sh41
-rw-r--r--pkgs/build-support/rust/hooks/cargo-install-hook.sh49
-rw-r--r--pkgs/build-support/rust/hooks/cargo-setup-hook.sh84
-rw-r--r--pkgs/build-support/rust/hooks/default.nix94
-rw-r--r--pkgs/build-support/rust/hooks/maturin-build-hook.sh39
-rw-r--r--pkgs/build-support/setup-hooks/patch-shebangs.sh40
-rw-r--r--pkgs/build-support/setup-systemd-units.nix2
-rw-r--r--pkgs/build-support/templaterpm/default.nix3
-rw-r--r--pkgs/common-updater/scripts.nix2
-rw-r--r--pkgs/data/documentation/anarchism/default.nix4
-rw-r--r--pkgs/data/documentation/man-pages/default.nix4
-rw-r--r--pkgs/data/fonts/cascadia-code/default.nix4
-rw-r--r--pkgs/data/fonts/inconsolata/default.nix2
-rw-r--r--pkgs/data/fonts/iosevka/bin.nix2
-rw-r--r--pkgs/data/fonts/iosevka/default.nix72
-rw-r--r--pkgs/data/fonts/iosevka/variants.nix44
-rw-r--r--pkgs/data/fonts/julia-mono/default.nix10
-rw-r--r--pkgs/data/fonts/montserrat/default.nix37
-rw-r--r--pkgs/data/fonts/myrica/default.nix1
-rw-r--r--pkgs/data/fonts/scientifica/default.nix32
-rw-r--r--pkgs/data/fonts/siji/default.nix8
-rw-r--r--pkgs/data/fonts/twemoji-color-font/default.nix41
-rw-r--r--pkgs/data/icons/gruvbox-dark-icons-gtk/default.nix34
-rw-r--r--pkgs/data/icons/iconpack-jade/default.nix6
-rw-r--r--pkgs/data/icons/iconpack-obsidian/default.nix6
-rw-r--r--pkgs/data/icons/iso-flags/default.nix2
-rw-r--r--pkgs/data/icons/luna-icons/default.nix10
-rw-r--r--pkgs/data/icons/maia-icon-theme/default.nix2
-rw-r--r--pkgs/data/icons/papirus-icon-theme/default.nix4
-rw-r--r--pkgs/data/misc/ddccontrol-db/default.nix10
-rw-r--r--pkgs/data/misc/hackage/default.nix4
-rw-r--r--pkgs/data/misc/nixos-artwork/icons.nix26
-rw-r--r--pkgs/data/misc/osinfo-db/default.nix4
-rw-r--r--pkgs/data/misc/tzdata/default.nix2
-rw-r--r--pkgs/data/themes/gruvbox-dark-gtk/default.nix27
-rw-r--r--pkgs/data/themes/matcha/default.nix4
-rw-r--r--pkgs/data/themes/orchis/default.nix42
-rw-r--r--pkgs/data/themes/qogir/default.nix6
-rw-r--r--pkgs/data/themes/yaru/default.nix6
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-control-center/default.nix8
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix8
-rw-r--r--pkgs/desktops/cinnamon/default.nix1
-rw-r--r--pkgs/desktops/cinnamon/xviewer/default.nix70
-rw-r--r--pkgs/desktops/enlightenment/evisum/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/seahorse/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/core/evince/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/evolution-data-server/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-contacts/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-control-center/default.nix13
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-keyring/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-session/default.nix9
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-software/default.nix83
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-terminal/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-tour/default.nix14
-rw-r--r--pkgs/desktops/gnome-3/core/yelp-xsl/default.nix12
-rw-r--r--pkgs/desktops/gnome-3/extensions/arcmenu/default.nix (renamed from pkgs/desktops/gnome-3/extensions/arc-menu/default.nix)18
-rw-r--r--pkgs/desktops/gnome-3/extensions/arcmenu/fix_gmenu.patch (renamed from pkgs/desktops/gnome-3/extensions/arc-menu/fix_gmenu.patch)0
-rwxr-xr-xpkgs/desktops/gnome-3/extensions/fuzzy-app-search/default.nix29
-rwxr-xr-xpkgs/desktops/gnome-3/extensions/fuzzy-app-search/fix-desktop-file-paths.patch50
-rw-r--r--pkgs/desktops/gnome-3/extensions/gsconnect/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/extensions/no-title-bar/default.nix19
-rw-r--r--pkgs/desktops/gnome-3/extensions/no-title-bar/fix-paths.patch64
-rw-r--r--pkgs/desktops/gnome-3/extensions/unite/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/geary/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-applets/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/misc/gpaste/default.nix4
-rw-r--r--pkgs/desktops/gnustep/base/default.nix10
-rw-r--r--pkgs/desktops/gnustep/gui/default.nix10
-rw-r--r--pkgs/desktops/lxde/core/lxappearance/default.nix7
-rw-r--r--pkgs/desktops/lxde/core/lxpanel/default.nix57
-rw-r--r--pkgs/desktops/lxde/core/lxrandr/default.nix26
-rw-r--r--pkgs/desktops/lxde/core/lxsession/default.nix2
-rw-r--r--pkgs/desktops/lxde/core/lxtask/default.nix19
-rw-r--r--pkgs/desktops/lxqt/compton-conf/default.nix4
-rw-r--r--pkgs/desktops/lxqt/libfm-qt/default.nix4
-rw-r--r--pkgs/desktops/lxqt/libqtxdg/default.nix4
-rw-r--r--pkgs/desktops/lxqt/lximage-qt/default.nix4
-rw-r--r--pkgs/desktops/lxqt/lxqt-about/default.nix4
-rw-r--r--pkgs/desktops/lxqt/lxqt-admin/default.nix4
-rw-r--r--pkgs/desktops/lxqt/lxqt-archiver/default.nix4
-rw-r--r--pkgs/desktops/lxqt/lxqt-build-tools/default.nix4
-rw-r--r--pkgs/desktops/lxqt/lxqt-config/default.nix4
-rw-r--r--pkgs/desktops/lxqt/lxqt-globalkeys/default.nix4
-rw-r--r--pkgs/desktops/lxqt/lxqt-notificationd/default.nix4
-rw-r--r--pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix4
-rw-r--r--pkgs/desktops/lxqt/lxqt-panel/default.nix4
-rw-r--r--pkgs/desktops/lxqt/lxqt-policykit/default.nix4
-rw-r--r--pkgs/desktops/lxqt/lxqt-powermanagement/default.nix4
-rw-r--r--pkgs/desktops/lxqt/lxqt-qtplugin/default.nix4
-rw-r--r--pkgs/desktops/lxqt/lxqt-runner/default.nix4
-rw-r--r--pkgs/desktops/lxqt/lxqt-session/default.nix4
-rw-r--r--pkgs/desktops/lxqt/lxqt-sudo/default.nix4
-rw-r--r--pkgs/desktops/lxqt/lxqt-themes/default.nix4
-rw-r--r--pkgs/desktops/lxqt/obconf-qt/default.nix4
-rw-r--r--pkgs/desktops/lxqt/pavucontrol-qt/default.nix4
-rw-r--r--pkgs/desktops/lxqt/pcmanfm-qt/default.nix4
-rw-r--r--pkgs/desktops/lxqt/qps/default.nix4
-rw-r--r--pkgs/desktops/lxqt/qterminal/default.nix4
-rw-r--r--pkgs/desktops/lxqt/qtermwidget/default.nix4
-rw-r--r--pkgs/desktops/lxqt/screengrab/default.nix4
-rw-r--r--pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix1
-rw-r--r--pkgs/desktops/plasma-5/3rdparty/kwin/scripts/parachute.nix37
-rw-r--r--pkgs/desktops/plasma-5/default.nix1
-rw-r--r--pkgs/desktops/plasma-5/kinfocenter.nix9
-rw-r--r--pkgs/desktops/xfce/applications/catfish/default.nix4
-rw-r--r--pkgs/desktops/xfce/core/thunar/wrapper.nix2
-rw-r--r--pkgs/desktops/xfce/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/appmenu-gtk-module.nix31
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/default.nix56
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/fix-bamf-dependency.patch12
-rw-r--r--pkgs/development/arduino/arduino-core/default.nix5
-rw-r--r--pkgs/development/beam-modules/default.nix1
-rw-r--r--pkgs/development/beam-modules/fetch-mix-deps.nix40
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix45
-rw-r--r--pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix4
-rw-r--r--pkgs/development/compilers/aldor/default.nix4
-rw-r--r--pkgs/development/compilers/bluespec/default.nix6
-rw-r--r--pkgs/development/compilers/carp/default.nix10
-rw-r--r--pkgs/development/compilers/chicken/4/eggDerivation.nix3
-rw-r--r--pkgs/development/compilers/chicken/5/eggDerivation.nix3
-rw-r--r--pkgs/development/compilers/crystal/default.nix277
-rw-r--r--pkgs/development/compilers/cudatoolkit/default.nix50
-rw-r--r--pkgs/development/compilers/ecl/default.nix39
-rw-r--r--pkgs/development/compilers/elm/default.nix18
-rw-r--r--pkgs/development/compilers/elm/packages/avh4-lib.nix29
-rw-r--r--pkgs/development/compilers/elm/packages/bimap.nix15
-rw-r--r--pkgs/development/compilers/elm/packages/elm-format-lib.nix33
-rw-r--r--pkgs/development/compilers/elm/packages/elm-format-markdown.nix16
-rw-r--r--pkgs/development/compilers/elm/packages/elm-format-test-lib.nix27
-rw-r--r--pkgs/development/compilers/elm/packages/elm-format.nix50
-rwxr-xr-xpkgs/development/compilers/elm/packages/generate-node-packages.sh4
-rw-r--r--pkgs/development/compilers/elm/packages/indents.nix2
-rw-r--r--pkgs/development/compilers/elm/packages/node-composition.nix10
-rw-r--r--pkgs/development/compilers/elm/packages/node-packages.nix2445
-rw-r--r--pkgs/development/compilers/factor-lang/default.nix3
-rw-r--r--pkgs/development/compilers/fasm/bin.nix4
-rw-r--r--pkgs/development/compilers/flasm/default.nix2
-rw-r--r--pkgs/development/compilers/flutter/flutter.nix8
-rw-r--r--pkgs/development/compilers/fpc/lazarus.nix4
-rw-r--r--pkgs/development/compilers/gcc/10/default.nix2
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix6
-rw-r--r--pkgs/development/compilers/gcc/7/default.nix4
-rw-r--r--pkgs/development/compilers/gcc/common/configure-flags.nix10
-rw-r--r--pkgs/development/compilers/ghc/8.10.1.nix10
-rw-r--r--pkgs/development/compilers/ghc/8.10.2.nix10
-rw-r--r--pkgs/development/compilers/ghc/8.10.3.nix10
-rw-r--r--pkgs/development/compilers/ghc/8.10.4.nix264
-rw-r--r--pkgs/development/compilers/ghc/8.6.5.nix8
-rw-r--r--pkgs/development/compilers/ghc/8.8.2.nix10
-rw-r--r--pkgs/development/compilers/ghc/8.8.3.nix10
-rw-r--r--pkgs/development/compilers/ghc/8.8.4.nix10
-rw-r--r--pkgs/development/compilers/ghc/9.0.1.nix6
-rw-r--r--pkgs/development/compilers/ghc/respect-ar-path.patch25
-rw-r--r--pkgs/development/compilers/ghdl/default.nix12
-rw-r--r--pkgs/development/compilers/gleam/default.nix8
-rw-r--r--pkgs/development/compilers/go/1.14.nix21
-rw-r--r--pkgs/development/compilers/go/1.15.nix18
-rw-r--r--pkgs/development/compilers/go/1.16.nix267
-rw-r--r--pkgs/development/compilers/go/1.4.nix93
-rw-r--r--pkgs/development/compilers/go/2-dev.nix5
-rw-r--r--pkgs/development/compilers/go/binary.nix41
-rw-r--r--pkgs/development/compilers/go/bootstrap.nix15
-rw-r--r--pkgs/development/compilers/go/go_no_vendor_checks-1.16.patch23
-rwxr-xr-xpkgs/development/compilers/go/print-hashes.sh15
-rw-r--r--pkgs/development/compilers/go/remove-tools-1.4.patch81
-rw-r--r--pkgs/development/compilers/go/skip-external-network-tests-1.16.patch33
-rw-r--r--pkgs/development/compilers/go/ssl-cert-file-1.16.patch34
-rw-r--r--pkgs/development/compilers/graalvm/community-edition.nix226
-rw-r--r--pkgs/development/compilers/graalvm/enterprise-edition.nix2
-rw-r--r--pkgs/development/compilers/kotlin/default.nix3
-rw-r--r--pkgs/development/compilers/llvm/11/clang/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/11/compiler-rt.nix2
-rw-r--r--pkgs/development/compilers/llvm/11/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/11/libc++/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/11/libc++abi.nix2
-rw-r--r--pkgs/development/compilers/llvm/11/libunwind.nix2
-rw-r--r--pkgs/development/compilers/llvm/11/lld.nix2
-rw-r--r--pkgs/development/compilers/llvm/11/lldb.nix2
-rw-r--r--pkgs/development/compilers/llvm/11/llvm.nix4
-rw-r--r--pkgs/development/compilers/llvm/11/openmp.nix12
-rw-r--r--pkgs/development/compilers/llvm/rocm/default.nix4
-rw-r--r--pkgs/development/compilers/lobster/default.nix10
-rw-r--r--pkgs/development/compilers/mercury/default.nix4
-rw-r--r--pkgs/development/compilers/microscheme/default.nix23
-rw-r--r--pkgs/development/compilers/miranda/default.nix3
-rw-r--r--pkgs/development/compilers/mlkit/default.nix4
-rw-r--r--pkgs/development/compilers/mosml/default.nix2
-rw-r--r--pkgs/development/compilers/mozart/binary.nix2
-rw-r--r--pkgs/development/compilers/nim/default.nix8
-rw-r--r--pkgs/development/compilers/ocaml/4.12.nix7
-rw-r--r--pkgs/development/compilers/openjdk/11.nix6
-rw-r--r--pkgs/development/compilers/openjdk/darwin/11.nix4
-rw-r--r--pkgs/development/compilers/ophis/default.nix29
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk-linux-base.nix9
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk11-linux.nix4
-rw-r--r--pkgs/development/compilers/owl-lisp/default.nix13
-rw-r--r--pkgs/development/compilers/ponyc/default.nix12
-rw-r--r--pkgs/development/compilers/purescript/purescript/default.nix6
-rw-r--r--pkgs/development/compilers/qbe/default.nix6
-rw-r--r--pkgs/development/compilers/rust/binary.nix4
-rw-r--r--pkgs/development/compilers/rust/make-rust-platform.nix8
-rw-r--r--pkgs/development/compilers/rust/rls/default.nix8
-rw-r--r--pkgs/development/compilers/sbcl/2.0.9.nix114
-rw-r--r--pkgs/development/compilers/sbcl/2.1.1.nix4
-rw-r--r--pkgs/development/compilers/sbcl/bootstrap.nix2
-rw-r--r--pkgs/development/compilers/sbcl/common.nix116
-rw-r--r--pkgs/development/compilers/sbcl/default.nix114
-rw-r--r--pkgs/development/compilers/scala/2.x.nix38
-rw-r--r--pkgs/development/compilers/scala/dotty-bare.nix2
-rw-r--r--pkgs/development/compilers/smlnj/bootstrap.nix3
-rw-r--r--pkgs/development/compilers/tinygo/default.nix3
-rw-r--r--pkgs/development/compilers/urn/default.nix2
-rw-r--r--pkgs/development/compilers/yosys/default.nix13
-rw-r--r--pkgs/development/compilers/yosys/plugins/ghdl.nix6
-rw-r--r--pkgs/development/compilers/zulu/8.nix83
-rw-r--r--pkgs/development/compilers/zulu/default.nix83
-rw-r--r--pkgs/development/coq-modules/coq-elpi/default.nix12
-rw-r--r--pkgs/development/coq-modules/dpdgraph/default.nix2
-rw-r--r--pkgs/development/coq-modules/hierarchy-builder/default.nix2
-rw-r--r--pkgs/development/dhall-modules/Prelude.nix6
-rw-r--r--pkgs/development/go-modules/generic/default.nix10
-rw-r--r--pkgs/development/go-packages/generic/default.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix126
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix28
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix1
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix8
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix30
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml751
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix14
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix5750
-rw-r--r--pkgs/development/haskell-modules/non-hackage-packages.nix10
-rw-r--r--pkgs/development/interpreters/chibi/default.nix2
-rw-r--r--pkgs/development/interpreters/clips/default.nix18
-rw-r--r--pkgs/development/interpreters/clojure/babashka.nix86
-rw-r--r--pkgs/development/interpreters/clojure/clooj.nix2
-rw-r--r--pkgs/development/interpreters/clojure/default.nix9
-rw-r--r--pkgs/development/interpreters/elixir/generic-builder.nix8
-rw-r--r--pkgs/development/interpreters/erlang/generic-builder.nix21
-rw-r--r--pkgs/development/interpreters/gauche/default.nix3
-rw-r--r--pkgs/development/interpreters/groovy/default.nix3
-rw-r--r--pkgs/development/interpreters/guile/1.8.nix5
-rw-r--r--pkgs/development/interpreters/guile/CVE-2016-8605.patch59
-rw-r--r--pkgs/development/interpreters/io/default.nix28
-rw-r--r--pkgs/development/interpreters/j/default.nix4
-rw-r--r--pkgs/development/interpreters/janet/default.nix4
-rw-r--r--pkgs/development/interpreters/jruby/default.nix6
-rw-r--r--pkgs/development/interpreters/jython/default.nix2
-rw-r--r--pkgs/development/interpreters/lfe/generic-builder.nix2
-rw-r--r--pkgs/development/interpreters/octave/build-env.nix83
-rw-r--r--pkgs/development/interpreters/octave/build-octave-package.nix113
-rw-r--r--pkgs/development/interpreters/octave/default.nix231
-rw-r--r--pkgs/development/interpreters/octave/hooks/default.nix13
-rw-r--r--pkgs/development/interpreters/octave/hooks/octave-write-required-octave-packages-hook.sh17
-rw-r--r--pkgs/development/interpreters/octave/hooks/write-required-octave-packages-hook.sh17
-rw-r--r--pkgs/development/interpreters/octave/with-packages.nix6
-rw-r--r--pkgs/development/interpreters/octave/wrap-octave.nix16
-rw-r--r--pkgs/development/interpreters/octave/wrap.sh132
-rw-r--r--pkgs/development/interpreters/perl/default.nix8
-rw-r--r--pkgs/development/interpreters/php/7.3.nix4
-rw-r--r--pkgs/development/interpreters/php/7.4.nix4
-rw-r--r--pkgs/development/interpreters/php/8.0.nix4
-rw-r--r--pkgs/development/interpreters/php/generic.nix9
-rw-r--r--pkgs/development/interpreters/picolisp/default.nix3
-rw-r--r--pkgs/development/interpreters/pure/default.nix3
-rw-r--r--pkgs/development/interpreters/python/cpython/2.7/CVE-2021-3177.patch181
-rw-r--r--pkgs/development/interpreters/python/cpython/2.7/default.nix3
-rw-r--r--pkgs/development/interpreters/python/cpython/3.6/find_library.patch (renamed from pkgs/development/interpreters/python/cpython/3.7/find_library.patch)0
-rw-r--r--pkgs/development/interpreters/python/cpython/3.7/no-ldconfig.patch30
-rw-r--r--pkgs/development/interpreters/python/cpython/default.nix4
-rw-r--r--pkgs/development/interpreters/python/default.nix37
-rw-r--r--pkgs/development/interpreters/python/hooks/pytest-check-hook.sh10
-rw-r--r--pkgs/development/interpreters/python/pypy/default.nix2
-rw-r--r--pkgs/development/interpreters/python/pypy/prebuilt.nix13
-rw-r--r--pkgs/development/interpreters/python/pypy/tk_tcl_paths.patch13
-rw-r--r--pkgs/development/interpreters/python/tests.nix32
-rw-r--r--pkgs/development/interpreters/quickjs/default.nix7
-rw-r--r--pkgs/development/interpreters/racket/default.nix16
-rw-r--r--pkgs/development/interpreters/racket/minimal.nix2
-rw-r--r--pkgs/development/interpreters/rakudo/zef.nix7
-rw-r--r--pkgs/development/interpreters/rascal/default.nix3
-rw-r--r--pkgs/development/interpreters/rebol/default.nix43
-rw-r--r--pkgs/development/interpreters/ruby/default.nix13
-rw-r--r--pkgs/development/interpreters/scheme48/default.nix27
-rw-r--r--pkgs/development/interpreters/spidermonkey/78.nix4
-rw-r--r--pkgs/development/interpreters/supercollider/default.nix2
-rw-r--r--pkgs/development/interpreters/tcl/8.6.nix4
-rw-r--r--pkgs/development/interpreters/wasmer/default.nix2
-rw-r--r--pkgs/development/java-modules/junit/default.nix9
-rw-r--r--pkgs/development/java-modules/maven-hello/default.nix16
-rw-r--r--pkgs/development/libraries/abseil-cpp/default.nix8
-rw-r--r--pkgs/development/libraries/agda/agda-categories/default.nix4
-rw-r--r--pkgs/development/libraries/agda/functional-linear-algebra/default.nix8
-rw-r--r--pkgs/development/libraries/agda/generic/default.nix6
-rw-r--r--pkgs/development/libraries/agda/standard-library/default.nix7
-rw-r--r--pkgs/development/libraries/amdvlk/default.nix4
-rw-r--r--pkgs/development/libraries/appstream/default.nix22
-rw-r--r--pkgs/development/libraries/appstream/fix-paths.patch29
-rw-r--r--pkgs/development/libraries/appstream/qt.nix2
-rw-r--r--pkgs/development/libraries/aqbanking/gwenhywfar.nix2
-rw-r--r--pkgs/development/libraries/armadillo/default.nix4
-rw-r--r--pkgs/development/libraries/audio/lilv/default.nix4
-rw-r--r--pkgs/development/libraries/audio/lv2/default.nix4
-rw-r--r--pkgs/development/libraries/audio/rtaudio/default.nix53
-rw-r--r--pkgs/development/libraries/audio/rtaudio/rtaudio-pkgconfig.patch5
-rw-r--r--pkgs/development/libraries/audio/rtmidi/default.nix64
-rw-r--r--pkgs/development/libraries/audio/suil/default.nix2
-rw-r--r--pkgs/development/libraries/aws-c-common/default.nix12
-rw-r--r--pkgs/development/libraries/aws-checksums/default.nix4
-rw-r--r--pkgs/development/libraries/bashup-events/generic.nix12
-rw-r--r--pkgs/development/libraries/bctoolbox/default.nix4
-rw-r--r--pkgs/development/libraries/boringssl/default.nix3
-rw-r--r--pkgs/development/libraries/cfitsio/default.nix11
-rw-r--r--pkgs/development/libraries/cimg/default.nix4
-rw-r--r--pkgs/development/libraries/civetweb/0001-allow-setting-paths-in-makefile.patch36
-rw-r--r--pkgs/development/libraries/civetweb/default.nix11
-rw-r--r--pkgs/development/libraries/cjson/default.nix29
-rw-r--r--pkgs/development/libraries/codec2/default.nix2
-rw-r--r--pkgs/development/libraries/coordgenlibs/default.nix29
-rw-r--r--pkgs/development/libraries/cpp-utilities/default.nix4
-rw-r--r--pkgs/development/libraries/crypto++/default.nix8
-rw-r--r--pkgs/development/libraries/cxxopts/default.nix27
-rw-r--r--pkgs/development/libraries/dlib/default.nix2
-rw-r--r--pkgs/development/libraries/doctest/default.nix2
-rw-r--r--pkgs/development/libraries/dxflib/default.nix1
-rw-r--r--pkgs/development/libraries/eclib/default.nix4
-rw-r--r--pkgs/development/libraries/entt/default.nix4
-rw-r--r--pkgs/development/libraries/farbfeld/default.nix14
-rw-r--r--pkgs/development/libraries/flatpak/default.nix47
-rw-r--r--pkgs/development/libraries/flite/default.nix12
-rw-r--r--pkgs/development/libraries/fmt/default.nix2
-rw-r--r--pkgs/development/libraries/freetds/default.nix4
-rw-r--r--pkgs/development/libraries/g2o/default.nix14
-rw-r--r--pkgs/development/libraries/gcr/default.nix4
-rw-r--r--pkgs/development/libraries/gecode/default.nix1
-rw-r--r--pkgs/development/libraries/gensio/default.nix4
-rw-r--r--pkgs/development/libraries/geos/default.nix9
-rw-r--r--pkgs/development/libraries/gexiv2/default.nix4
-rw-r--r--pkgs/development/libraries/glfw/3.x.nix14
-rw-r--r--pkgs/development/libraries/glibc/2.32-master.patch.gz (renamed from pkgs/development/libraries/glibc/2.32-35.patch.gz)bin51693 -> 54979 bytes
-rw-r--r--pkgs/development/libraries/glibc/common.nix8
-rw-r--r--pkgs/development/libraries/gnu-config/default.nix8
-rw-r--r--pkgs/development/libraries/gnutls/default.nix4
-rw-r--r--pkgs/development/libraries/gpgme/default.nix2
-rw-r--r--pkgs/development/libraries/grpc/default.nix9
-rw-r--r--pkgs/development/libraries/gsasl/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix15
-rw-r--r--pkgs/development/libraries/gtk-engines/default.nix2
-rw-r--r--pkgs/development/libraries/gtk/2.x.nix1
-rw-r--r--pkgs/development/libraries/gtk/3.x.nix3
-rw-r--r--pkgs/development/libraries/gtk/4.x.nix233
-rw-r--r--pkgs/development/libraries/gtk/hooks/gtk4-clean-immodules-cache.sh11
-rw-r--r--pkgs/development/libraries/gvfs/default.nix4
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix4
-rw-r--r--pkgs/development/libraries/hpx/default.nix4
-rw-r--r--pkgs/development/libraries/hunspell/wrapper.nix2
-rw-r--r--pkgs/development/libraries/icu/68.nix4
-rw-r--r--pkgs/development/libraries/imlib2/default.nix4
-rw-r--r--pkgs/development/libraries/inchi/default.nix26
-rw-r--r--pkgs/development/libraries/inih/default.nix10
-rw-r--r--pkgs/development/libraries/intel-media-driver/default.nix4
-rw-r--r--pkgs/development/libraries/java/junixsocket/default.nix2
-rw-r--r--pkgs/development/libraries/java/lombok/default.nix2
-rw-r--r--pkgs/development/libraries/json-glib/default.nix52
-rw-r--r--pkgs/development/libraries/jsoncpp/default.nix8
-rw-r--r--pkgs/development/libraries/kde-frameworks/fetch.sh2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kcompletion.nix9
-rw-r--r--pkgs/development/libraries/kde-frameworks/kguiaddons.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kio/default.nix7
-rw-r--r--pkgs/development/libraries/kde-frameworks/srcs.nix666
-rw-r--r--pkgs/development/libraries/kpmcore/default.nix2
-rw-r--r--pkgs/development/libraries/lcms2/default.nix4
-rw-r--r--pkgs/development/libraries/leatherman/default.nix4
-rw-r--r--pkgs/development/libraries/libaom/default.nix7
-rw-r--r--pkgs/development/libraries/libaudec/default.nix26
-rw-r--r--pkgs/development/libraries/libav/default.nix6
-rw-r--r--pkgs/development/libraries/libavif/default.nix4
-rw-r--r--pkgs/development/libraries/libbap/default.nix6
-rw-r--r--pkgs/development/libraries/libblockdev/default.nix4
-rw-r--r--pkgs/development/libraries/libbytesize/default.nix4
-rw-r--r--pkgs/development/libraries/libcanberra/default.nix13
-rw-r--r--pkgs/development/libraries/libcdr/default.nix12
-rw-r--r--pkgs/development/libraries/libcint/default.nix4
-rw-r--r--pkgs/development/libraries/libcommuni/default.nix2
-rw-r--r--pkgs/development/libraries/libcyaml/default.nix26
-rw-r--r--pkgs/development/libraries/libdatrie/default.nix2
-rw-r--r--pkgs/development/libraries/libdbusmenu-qt/default.nix2
-rw-r--r--pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix2
-rw-r--r--pkgs/development/libraries/libdmtx/default.nix23
-rw-r--r--pkgs/development/libraries/libdrm/default.nix2
-rw-r--r--pkgs/development/libraries/libebml/default.nix4
-rw-r--r--pkgs/development/libraries/libebur128/default.nix4
-rw-r--r--pkgs/development/libraries/libetpan/default.nix24
-rw-r--r--pkgs/development/libraries/libevdev/default.nix4
-rw-r--r--pkgs/development/libraries/libewf/default.nix4
-rw-r--r--pkgs/development/libraries/libexecinfo/30-linux-makefile.patch44
-rw-r--r--pkgs/development/libraries/libexecinfo/default.nix7
-rw-r--r--pkgs/development/libraries/libextractor/default.nix38
-rw-r--r--pkgs/development/libraries/libextractor/fix-gcc8-build.patch16
-rw-r--r--pkgs/development/libraries/libfaketime/0001-Remove-unsupported-clang-flags.patch20
-rw-r--r--pkgs/development/libraries/libfaketime/default.nix4
-rw-r--r--pkgs/development/libraries/libfm/default.nix38
-rw-r--r--pkgs/development/libraries/libfprint/default.nix26
-rw-r--r--pkgs/development/libraries/libfyaml/default.nix18
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix19
-rw-r--r--pkgs/development/libraries/libgda/6.x.nix92
-rw-r--r--pkgs/development/libraries/libgda/default.nix67
-rw-r--r--pkgs/development/libraries/libgdata/default.nix4
-rw-r--r--pkgs/development/libraries/libglvnd/default.nix30
-rw-r--r--pkgs/development/libraries/libgpg-error/default.nix7
-rw-r--r--pkgs/development/libraries/libgroove/default.nix13
-rw-r--r--pkgs/development/libraries/libhandy/default.nix1
-rw-r--r--pkgs/development/libraries/libheif/default.nix12
-rw-r--r--pkgs/development/libraries/libhsts/default.nix40
-rwxr-xr-xpkgs/development/libraries/libhsts/update.sh13
-rw-r--r--pkgs/development/libraries/libhugetlbfs/default.nix20
-rw-r--r--pkgs/development/libraries/libical/default.nix13
-rw-r--r--pkgs/development/libraries/libimagequant/default.nix4
-rw-r--r--pkgs/development/libraries/libjcat/default.nix4
-rw-r--r--pkgs/development/libraries/libjpeg-turbo/default.nix11
-rw-r--r--pkgs/development/libraries/libkeyfinder/default.nix33
-rw-r--r--pkgs/development/libraries/libktorrent/default.nix2
-rw-r--r--pkgs/development/libraries/liblastfm/default.nix2
-rw-r--r--pkgs/development/libraries/liblinear/default.nix6
-rw-r--r--pkgs/development/libraries/liblinphone/default.nix4
-rw-r--r--pkgs/development/libraries/libmaxminddb/default.nix4
-rw-r--r--pkgs/development/libraries/libmbim/default.nix4
-rw-r--r--pkgs/development/libraries/libmodulemd/default.nix16
-rw-r--r--pkgs/development/libraries/libmysqlconnectorcpp/default.nix4
-rw-r--r--pkgs/development/libraries/libnbd/default.nix61
-rw-r--r--pkgs/development/libraries/libnftnl/default.nix4
-rw-r--r--pkgs/development/libraries/libngspice/default.nix4
-rw-r--r--pkgs/development/libraries/libofx/default.nix4
-rw-r--r--pkgs/development/libraries/libosinfo/default.nix4
-rw-r--r--pkgs/development/libraries/libosmpbf/default.nix8
-rw-r--r--pkgs/development/libraries/libpcap/default.nix10
-rw-r--r--pkgs/development/libraries/libqalculate/default.nix4
-rw-r--r--pkgs/development/libraries/libqglviewer/default.nix2
-rw-r--r--pkgs/development/libraries/libqmi/default.nix4
-rw-r--r--pkgs/development/libraries/libquotient/default.nix4
-rw-r--r--pkgs/development/libraries/librealsense/default.nix4
-rw-r--r--pkgs/development/libraries/libressl/default.nix5
-rw-r--r--pkgs/development/libraries/librseq/default.nix2
-rw-r--r--pkgs/development/libraries/libschrift/default.nix16
-rw-r--r--pkgs/development/libraries/libshout/default.nix4
-rw-r--r--pkgs/development/libraries/libsigcxx/default.nix2
-rw-r--r--pkgs/development/libraries/libsigsegv/default.nix4
-rw-r--r--pkgs/development/libraries/libsixel/default.nix4
-rw-r--r--pkgs/development/libraries/libsodium/default.nix5
-rw-r--r--pkgs/development/libraries/libspnav/configure-socket-path.patch47
-rw-r--r--pkgs/development/libraries/libspnav/default.nix36
-rw-r--r--pkgs/development/libraries/libthai/default.nix6
-rw-r--r--pkgs/development/libraries/libuchardet/default.nix2
-rw-r--r--pkgs/development/libraries/libusb1/default.nix8
-rw-r--r--pkgs/development/libraries/libuv/default.nix5
-rw-r--r--pkgs/development/libraries/libvirt/5.9.0.nix5
-rw-r--r--pkgs/development/libraries/libvirt/default.nix6
-rw-r--r--pkgs/development/libraries/libwacom/default.nix4
-rw-r--r--pkgs/development/libraries/libwebsockets/default.nix13
-rw-r--r--pkgs/development/libraries/libwnck/default.nix3
-rw-r--r--pkgs/development/libraries/libwpe/default.nix4
-rw-r--r--pkgs/development/libraries/libxc/default.nix4
-rw-r--r--pkgs/development/libraries/libxcrypt/default.nix30
-rw-r--r--pkgs/development/libraries/libxkbcommon/default.nix15
-rw-r--r--pkgs/development/libraries/libxkbcommon/fix-cross-compilation.patch20
-rw-r--r--pkgs/development/libraries/libxls/default.nix4
-rw-r--r--pkgs/development/libraries/libxslt/default.nix8
-rw-r--r--pkgs/development/libraries/libzip/default.nix25
-rw-r--r--pkgs/development/libraries/lime/default.nix4
-rw-r--r--pkgs/development/libraries/log4cplus/default.nix4
-rw-r--r--pkgs/development/libraries/maeparser/default.nix28
-rw-r--r--pkgs/development/libraries/mediastreamer/default.nix4
-rw-r--r--pkgs/development/libraries/mesa/aarch64-darwin.patch33
-rw-r--r--pkgs/development/libraries/mesa/default.nix8
-rw-r--r--pkgs/development/libraries/metal/default.nix4
-rw-r--r--pkgs/development/libraries/mlt/default.nix4
-rw-r--r--pkgs/development/libraries/mlt/qt-5.nix4
-rw-r--r--pkgs/development/libraries/mpich/default.nix47
-rw-r--r--pkgs/development/libraries/mpich/jsonc-test.patch62
-rw-r--r--pkgs/development/libraries/muparserx/default.nix2
-rw-r--r--pkgs/development/libraries/mysocketw/default.nix2
-rw-r--r--pkgs/development/libraries/ndi/default.nix4
-rw-r--r--pkgs/development/libraries/neardal/default.nix4
-rw-r--r--pkgs/development/libraries/neon/default.nix14
-rw-r--r--pkgs/development/libraries/notcurses/default.nix8
-rw-r--r--pkgs/development/libraries/nss/default.nix10
-rw-r--r--pkgs/development/libraries/ntl/default.nix2
-rw-r--r--pkgs/development/libraries/nuraft/default.nix4
-rw-r--r--pkgs/development/libraries/nuspell/wrapper.nix2
-rw-r--r--pkgs/development/libraries/oatpp/default.nix4
-rw-r--r--pkgs/development/libraries/odpic/default.nix2
-rw-r--r--pkgs/development/libraries/olm/default.nix19
-rw-r--r--pkgs/development/libraries/oneDNN/default.nix4
-rw-r--r--pkgs/development/libraries/opencl-headers/default.nix2
-rw-r--r--pkgs/development/libraries/opencsg/default.nix2
-rw-r--r--pkgs/development/libraries/openldap/default.nix24
-rw-r--r--pkgs/development/libraries/openscenegraph/default.nix4
-rw-r--r--pkgs/development/libraries/openslp/CVE-2019-5544.patch165
-rw-r--r--pkgs/development/libraries/openslp/default.nix1
-rw-r--r--pkgs/development/libraries/openssl/default.nix4
-rw-r--r--pkgs/development/libraries/opensubdiv/default.nix4
-rw-r--r--pkgs/development/libraries/openxr-loader/default.nix4
-rw-r--r--pkgs/development/libraries/ortp/default.nix4
-rw-r--r--pkgs/development/libraries/osm-gps-map/default.nix4
-rw-r--r--pkgs/development/libraries/phonon/backends/gstreamer.nix2
-rw-r--r--pkgs/development/libraries/phonon/backends/vlc.nix2
-rw-r--r--pkgs/development/libraries/phonon/default.nix2
-rw-r--r--pkgs/development/libraries/physics/geant4/datasets.nix4
-rw-r--r--pkgs/development/libraries/physics/geant4/default.nix17
-rw-r--r--pkgs/development/libraries/physics/herwig/default.nix6
-rw-r--r--pkgs/development/libraries/physics/rivet/default.nix1
-rw-r--r--pkgs/development/libraries/physics/thepeg/default.nix6
-rw-r--r--pkgs/development/libraries/pipewire/default.nix219
-rw-r--r--pkgs/development/libraries/pipewire/pipewire-pulse-path.patch11
-rw-r--r--pkgs/development/libraries/podofo/default.nix17
-rw-r--r--pkgs/development/libraries/polkit-qt-1/qt-5.nix2
-rw-r--r--pkgs/development/libraries/poppler/0.61.nix2
-rw-r--r--pkgs/development/libraries/poppler/default.nix6
-rw-r--r--pkgs/development/libraries/protolock/default.nix6
-rw-r--r--pkgs/development/libraries/pyotherside/default.nix2
-rw-r--r--pkgs/development/libraries/python-qt/default.nix2
-rw-r--r--pkgs/development/libraries/qca-qt5/default.nix2
-rw-r--r--pkgs/development/libraries/qmlbox2d/default.nix1
-rw-r--r--pkgs/development/libraries/qmltermwidget/default.nix2
-rw-r--r--pkgs/development/libraries/qoauth/default.nix2
-rw-r--r--pkgs/development/libraries/qpdf/default.nix4
-rw-r--r--pkgs/development/libraries/qscintilla/default.nix1
-rw-r--r--pkgs/development/libraries/qt-3/builder.sh38
-rw-r--r--pkgs/development/libraries/qt-3/default.nix92
-rw-r--r--pkgs/development/libraries/qt-3/qt-pwd.patch15
-rw-r--r--pkgs/development/libraries/qt-3/qt3-gcc4.6.0.patch23
-rw-r--r--pkgs/development/libraries/qt-3/setup-hook.sh1
-rw-r--r--pkgs/development/libraries/qt-3/strip.patch18
-rw-r--r--pkgs/development/libraries/qt-3/xrandr.patch42
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/default.nix7
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/dlopen-webkit-nsplugin.diff52
-rw-r--r--pkgs/development/libraries/qt-5/5.12/default.nix13
-rw-r--r--pkgs/development/libraries/qt-5/5.12/fetch.sh2
-rw-r--r--pkgs/development/libraries/qt-5/5.12/qtwebkit-icu68.patch170
-rw-r--r--pkgs/development/libraries/qt-5/5.12/srcs.nix320
-rw-r--r--pkgs/development/libraries/qt-5/5.14/default.nix4
-rw-r--r--pkgs/development/libraries/qt-5/5.14/qtwebkit-icu68.patch170
-rw-r--r--pkgs/development/libraries/qt-5/5.15/default.nix7
-rw-r--r--pkgs/development/libraries/qt-5/5.15/qtwebengine-darwin-no-platform-check.patch50
-rw-r--r--pkgs/development/libraries/qt-5/5.15/qtwebengine-mac-dont-set-dsymutil-path.patch12
-rw-r--r--pkgs/development/libraries/qt-5/5.15/qtwebkit-icu68.patch170
-rw-r--r--pkgs/development/libraries/qt-5/hooks/qmake-hook.sh12
-rw-r--r--pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh46
-rw-r--r--pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh5
-rw-r--r--pkgs/development/libraries/qt-5/mkDerivation.nix15
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtbase.nix6
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebengine.nix21
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebkit.nix9
-rw-r--r--pkgs/development/libraries/qt-5/qtModule.nix2
-rw-r--r--pkgs/development/libraries/qtinstaller/default.nix1
-rw-r--r--pkgs/development/libraries/qtkeychain/default.nix2
-rw-r--r--pkgs/development/libraries/qtpbfimageplugin/default.nix2
-rw-r--r--pkgs/development/libraries/qtutilities/default.nix2
-rw-r--r--pkgs/development/libraries/qtwebkit-plugins/default.nix2
-rw-r--r--pkgs/development/libraries/quazip/default.nix2
-rw-r--r--pkgs/development/libraries/qwt/6.nix2
-rw-r--r--pkgs/development/libraries/rabbitmq-java-client/default.nix3
-rw-r--r--pkgs/development/libraries/rdkafka/default.nix4
-rw-r--r--pkgs/development/libraries/reproc/default.nix31
-rw-r--r--pkgs/development/libraries/rinutils/default.nix21
-rw-r--r--pkgs/development/libraries/rocclr/default.nix5
-rw-r--r--pkgs/development/libraries/rocksdb/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/cudnn/default.nix49
-rw-r--r--pkgs/development/libraries/science/math/cudnn/generic.nix15
-rw-r--r--pkgs/development/libraries/science/math/libtorch/bin.nix26
-rw-r--r--pkgs/development/libraries/science/math/libtorch/test/default.nix35
-rw-r--r--pkgs/development/libraries/science/math/magma/default.nix38
-rw-r--r--pkgs/development/libraries/science/math/openlibm/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/or-tools/default.nix90
-rw-r--r--pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/zn_poly/default.nix2
-rw-r--r--pkgs/development/libraries/sharness/default.nix51
-rw-r--r--pkgs/development/libraries/simdjson/default.nix4
-rw-r--r--pkgs/development/libraries/sonic/default.nix2
-rw-r--r--pkgs/development/libraries/soqt/default.nix2
-rw-r--r--pkgs/development/libraries/spglib/default.nix4
-rw-r--r--pkgs/development/libraries/sqlite/tools.nix2
-rw-r--r--pkgs/development/libraries/sundials/default.nix14
-rw-r--r--pkgs/development/libraries/tagparser/default.nix33
-rw-r--r--pkgs/development/libraries/tecla/default.nix5
-rw-r--r--pkgs/development/libraries/telepathy/qt/default.nix4
-rw-r--r--pkgs/development/libraries/termbox/default.nix23
-rw-r--r--pkgs/development/libraries/tiledb/default.nix4
-rw-r--r--pkgs/development/libraries/tllist/default.nix29
-rw-r--r--pkgs/development/libraries/tpm2-tss/default.nix24
-rw-r--r--pkgs/development/libraries/tpm2-tss/no-dynamic-loader-path.patch39
-rw-r--r--pkgs/development/libraries/tweeny/default.nix4
-rw-r--r--pkgs/development/libraries/vapoursynth/0001-Call-weak-function-to-allow-adding-preloaded-plugins.patch74
-rw-r--r--pkgs/development/libraries/vapoursynth/default.nix23
-rw-r--r--pkgs/development/libraries/vapoursynth/editor.nix82
-rw-r--r--pkgs/development/libraries/vapoursynth/plugin-interface.nix112
-rw-r--r--pkgs/development/libraries/vtk/generic.nix4
-rw-r--r--pkgs/development/libraries/wayland/default.nix9
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix3
-rw-r--r--pkgs/development/libraries/wolfssl/default.nix9
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal/default.nix6
-rw-r--r--pkgs/development/libraries/zeromq/4.x.nix4
-rw-r--r--pkgs/development/misc/google-clasp/google-clasp.nix8
-rw-r--r--pkgs/development/misc/google-clasp/node-packages.nix834
-rw-r--r--pkgs/development/misc/resholve/deps.nix6
-rw-r--r--pkgs/development/misc/resholve/resholve.nix7
-rw-r--r--pkgs/development/misc/yelp-tools/default.nix34
-rw-r--r--pkgs/development/mobile/genymotion/default.nix5
-rw-r--r--pkgs/development/mobile/titaniumenv/titaniumsdk-7.5.nix3
-rw-r--r--pkgs/development/mobile/titaniumenv/titaniumsdk-8.2.nix3
-rw-r--r--pkgs/development/mobile/titaniumenv/titaniumsdk-8.3.nix3
-rw-r--r--pkgs/development/node-packages/composition.nix8
-rwxr-xr-xpkgs/development/node-packages/generate.sh9
-rw-r--r--pkgs/development/node-packages/node-env.nix53
-rw-r--r--pkgs/development/node-packages/node-packages.json8
-rw-r--r--pkgs/development/node-packages/node-packages.nix13007
-rw-r--r--pkgs/development/ocaml-modules/atd/default.nix20
-rw-r--r--pkgs/development/ocaml-modules/atdgen/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/bap/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/base64/default.nix15
-rw-r--r--pkgs/development/ocaml-modules/camomile/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/carton/default.nix66
-rw-r--r--pkgs/development/ocaml-modules/carton/git.nix28
-rw-r--r--pkgs/development/ocaml-modules/carton/lwt.nix46
-rw-r--r--pkgs/development/ocaml-modules/cstruct/default.nix10
-rw-r--r--pkgs/development/ocaml-modules/cstruct/lwt.nix2
-rw-r--r--pkgs/development/ocaml-modules/cstruct/ppx.nix24
-rw-r--r--pkgs/development/ocaml-modules/cstruct/sexp.nix7
-rw-r--r--pkgs/development/ocaml-modules/decompress/default.nix15
-rw-r--r--pkgs/development/ocaml-modules/diet/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/duff/default.nix19
-rw-r--r--pkgs/development/ocaml-modules/elpi/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/encore/default.nix11
-rw-r--r--pkgs/development/ocaml-modules/git-http/default.nix15
-rw-r--r--pkgs/development/ocaml-modules/git-unix/default.nix20
-rw-r--r--pkgs/development/ocaml-modules/git/cohttp-mirage.nix18
-rw-r--r--pkgs/development/ocaml-modules/git/cohttp-unix.nix17
-rw-r--r--pkgs/development/ocaml-modules/git/cohttp.nix19
-rw-r--r--pkgs/development/ocaml-modules/git/default.nix23
-rw-r--r--pkgs/development/ocaml-modules/git/unix.nix46
-rw-r--r--pkgs/development/ocaml-modules/imagelib/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/imagelib/unix.nix8
-rw-r--r--pkgs/development/ocaml-modules/index/default.nix22
-rw-r--r--pkgs/development/ocaml-modules/irmin-watcher/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/irmin/chunk.nix4
-rw-r--r--pkgs/development/ocaml-modules/irmin/containers.nix27
-rw-r--r--pkgs/development/ocaml-modules/irmin/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/irmin/git.nix26
-rw-r--r--pkgs/development/ocaml-modules/irmin/graphql.nix14
-rw-r--r--pkgs/development/ocaml-modules/irmin/http.nix4
-rw-r--r--pkgs/development/ocaml-modules/irmin/layers.nix18
-rw-r--r--pkgs/development/ocaml-modules/irmin/mem.nix21
-rw-r--r--pkgs/development/ocaml-modules/irmin/mirage-git.nix27
-rw-r--r--pkgs/development/ocaml-modules/irmin/mirage-graphql.nix21
-rw-r--r--pkgs/development/ocaml-modules/irmin/mirage.nix15
-rw-r--r--pkgs/development/ocaml-modules/irmin/pack.nix9
-rw-r--r--pkgs/development/ocaml-modules/irmin/ppx.nix20
-rw-r--r--pkgs/development/ocaml-modules/irmin/test.nix8
-rw-r--r--pkgs/development/ocaml-modules/irmin/unix.nix12
-rw-r--r--pkgs/development/ocaml-modules/janestreet/0.14.nix8
-rw-r--r--pkgs/development/ocaml-modules/kafka/default.nix20
-rw-r--r--pkgs/development/ocaml-modules/kafka/lwt.nix19
-rw-r--r--pkgs/development/ocaml-modules/linenoise/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lwt-dllist/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lwt/default.nix12
-rw-r--r--pkgs/development/ocaml-modules/lwt_log/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lwt_ssl/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/mdx/default.nix9
-rw-r--r--pkgs/development/ocaml-modules/mirage-bootvar-unix/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/mirage-device/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/mmap/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocaml-gettext/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocaml-gettext/stub.nix8
-rw-r--r--pkgs/development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix4
-rw-r--r--pkgs/development/ocaml-modules/ocaml-migrate-parsetree/2.1.x.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocaml-result/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-server/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/opam-core/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ounit2/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/parmap/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/parse-argv/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ppx_bap/default.nix51
-rw-r--r--pkgs/development/ocaml-modules/ppx_derivers/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ppx_deriving_protobuf/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/ppx_yojson_conv_lib/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/psmt2-frontend/default.nix28
-rw-r--r--pkgs/development/ocaml-modules/ptime/default.nix9
-rw-r--r--pkgs/development/ocaml-modules/qcheck/core.nix4
-rw-r--r--pkgs/development/ocaml-modules/qtest/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/re/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/resource-pooling/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/semaphore-compat/default.nix20
-rw-r--r--pkgs/development/ocaml-modules/sha/default.nix28
-rw-r--r--pkgs/development/ocaml-modules/ssl/default.nix12
-rw-r--r--pkgs/development/ocaml-modules/stdint/default.nix41
-rw-r--r--pkgs/development/ocaml-modules/stdlib-shims/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/tyxml/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/uucp/default.nix26
-rw-r--r--pkgs/development/ocaml-modules/wodan/irmin.nix10
-rw-r--r--pkgs/development/ocaml-modules/xenstore/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/yojson/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/zmq/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/zmq/lwt.nix2
-rw-r--r--pkgs/development/octave-modules/arduino/default.nix33
-rw-r--r--pkgs/development/octave-modules/audio/default.nix36
-rw-r--r--pkgs/development/octave-modules/bim/default.nix28
-rw-r--r--pkgs/development/octave-modules/bsltl/default.nix21
-rw-r--r--pkgs/development/octave-modules/cgi/default.nix21
-rw-r--r--pkgs/development/octave-modules/communications/default.nix31
-rw-r--r--pkgs/development/octave-modules/control/default.nix31
-rw-r--r--pkgs/development/octave-modules/data-smoothing/default.nix26
-rw-r--r--pkgs/development/octave-modules/database/default.nix31
-rw-r--r--pkgs/development/octave-modules/dataframe/default.nix21
-rw-r--r--pkgs/development/octave-modules/dicom/default.nix33
-rw-r--r--pkgs/development/octave-modules/divand/default.nix21
-rw-r--r--pkgs/development/octave-modules/doctest/default.nix28
-rw-r--r--pkgs/development/octave-modules/econometrics/default.nix26
-rw-r--r--pkgs/development/octave-modules/fem-fenics/default.nix35
-rw-r--r--pkgs/development/octave-modules/financial/default.nix23
-rw-r--r--pkgs/development/octave-modules/fits/default.nix41
-rw-r--r--pkgs/development/octave-modules/fpl/default.nix21
-rw-r--r--pkgs/development/octave-modules/fuzzy-logic-toolkit/default.nix21
-rw-r--r--pkgs/development/octave-modules/ga/default.nix21
-rw-r--r--pkgs/development/octave-modules/general/default.nix31
-rw-r--r--pkgs/development/octave-modules/generate_html/default.nix27
-rw-r--r--pkgs/development/octave-modules/geometry/default.nix26
-rw-r--r--pkgs/development/octave-modules/gsl/default.nix26
-rw-r--r--pkgs/development/octave-modules/image-acquisition/default.nix32
-rw-r--r--pkgs/development/octave-modules/image/default.nix27
-rw-r--r--pkgs/development/octave-modules/instrument-control/default.nix21
-rw-r--r--pkgs/development/octave-modules/interval/default.nix39
-rw-r--r--pkgs/development/octave-modules/io/default.nix32
-rw-r--r--pkgs/development/octave-modules/level-set/default.nix54
-rw-r--r--pkgs/development/octave-modules/linear-algebra/default.nix22
-rw-r--r--pkgs/development/octave-modules/lssa/default.nix27
-rw-r--r--pkgs/development/octave-modules/ltfat/default.nix54
-rw-r--r--pkgs/development/octave-modules/ltfat/syntax-error.patch15
-rw-r--r--pkgs/development/octave-modules/mapping/default.nix28
-rw-r--r--pkgs/development/octave-modules/matgeom/default.nix21
-rw-r--r--pkgs/development/octave-modules/miscellaneous/default.nix34
-rw-r--r--pkgs/development/octave-modules/msh/default.nix56
-rw-r--r--pkgs/development/octave-modules/mvn/default.nix21
-rw-r--r--pkgs/development/octave-modules/nan/default.nix26
-rw-r--r--pkgs/development/octave-modules/ncarray/default.nix31
-rw-r--r--pkgs/development/octave-modules/netcdf/default.nix26
-rw-r--r--pkgs/development/octave-modules/nurbs/default.nix30
-rw-r--r--pkgs/development/octave-modules/ocl/default.nix26
-rw-r--r--pkgs/development/octave-modules/octclip/default.nix29
-rw-r--r--pkgs/development/octave-modules/octproj/default.nix32
-rw-r--r--pkgs/development/octave-modules/optics/default.nix21
-rw-r--r--pkgs/development/octave-modules/optim/default.nix36
-rw-r--r--pkgs/development/octave-modules/optiminterp/default.nix31
-rw-r--r--pkgs/development/octave-modules/parallel/default.nix36
-rw-r--r--pkgs/development/octave-modules/quaternion/default.nix29
-rw-r--r--pkgs/development/octave-modules/queueing/default.nix32
-rw-r--r--pkgs/development/octave-modules/signal/default.nix26
-rw-r--r--pkgs/development/octave-modules/sockets/default.nix21
-rw-r--r--pkgs/development/octave-modules/sparsersb/default.nix28
-rw-r--r--pkgs/development/octave-modules/splines/default.nix21
-rw-r--r--pkgs/development/octave-modules/statistics/default.nix26
-rw-r--r--pkgs/development/octave-modules/stk/default.nix32
-rw-r--r--pkgs/development/octave-modules/strings/default.nix37
-rw-r--r--pkgs/development/octave-modules/struct/default.nix21
-rw-r--r--pkgs/development/octave-modules/symbolic/default.nix46
-rw-r--r--pkgs/development/octave-modules/tisean/default.nix33
-rw-r--r--pkgs/development/octave-modules/tsa/default.nix26
-rw-r--r--pkgs/development/octave-modules/vibes/default.nix39
-rw-r--r--pkgs/development/octave-modules/video/default.nix31
-rw-r--r--pkgs/development/octave-modules/vrml/default.nix41
-rw-r--r--pkgs/development/octave-modules/windows/default.nix21
-rw-r--r--pkgs/development/octave-modules/zeromq/default.nix26
-rw-r--r--pkgs/development/perl-modules/Po4a/default.nix4
-rw-r--r--pkgs/development/perl-modules/ham/default.nix2
-rw-r--r--pkgs/development/php-packages/box/default.nix4
-rw-r--r--pkgs/development/php-packages/composer/1.x.nix (renamed from pkgs/development/php-packages/composer/2.0.nix)12
-rw-r--r--pkgs/development/php-packages/composer/default.nix12
-rw-r--r--pkgs/development/php-packages/couchbase/default.nix10
-rw-r--r--pkgs/development/php-packages/event/default.nix10
-rw-r--r--pkgs/development/php-packages/imagick/default.nix6
-rw-r--r--pkgs/development/php-packages/maxminddb/default.nix12
-rw-r--r--pkgs/development/php-packages/memcached/default.nix10
-rw-r--r--pkgs/development/php-packages/mongodb/default.nix9
-rw-r--r--pkgs/development/php-packages/oci8/default.nix8
-rw-r--r--pkgs/development/php-packages/pdlib/default.nix8
-rw-r--r--pkgs/development/php-packages/pdo_sqlsrv/default.nix4
-rw-r--r--pkgs/development/php-packages/php-cs-fixer/default.nix10
-rw-r--r--pkgs/development/php-packages/php-parallel-lint/default.nix6
-rw-r--r--pkgs/development/php-packages/php_excel/default.nix8
-rw-r--r--pkgs/development/php-packages/phpcbf/default.nix6
-rw-r--r--pkgs/development/php-packages/phpcs/default.nix6
-rw-r--r--pkgs/development/php-packages/phpmd/default.nix8
-rw-r--r--pkgs/development/php-packages/phpstan/default.nix12
-rw-r--r--pkgs/development/php-packages/psalm/default.nix10
-rw-r--r--pkgs/development/php-packages/psysh/default.nix6
-rw-r--r--pkgs/development/php-packages/rdkafka/default.nix6
-rw-r--r--pkgs/development/php-packages/redis/default.nix4
-rw-r--r--pkgs/development/php-packages/smbclient/default.nix14
-rw-r--r--pkgs/development/php-packages/sqlsrv/default.nix8
-rw-r--r--pkgs/development/php-packages/xdebug/default.nix4
-rw-r--r--pkgs/development/php-packages/yaml/default.nix6
-rw-r--r--pkgs/development/python-modules/GitPython/default.nix22
-rw-r--r--pkgs/development/python-modules/Nikola/default.nix7
-rw-r--r--pkgs/development/python-modules/PyRMVtransport/default.nix32
-rw-r--r--pkgs/development/python-modules/Wand/default.nix6
-rw-r--r--pkgs/development/python-modules/adafruit-platformdetect/default.nix4
-rw-r--r--pkgs/development/python-modules/adb-shell/default.nix41
-rw-r--r--pkgs/development/python-modules/adblock/default.nix36
-rw-r--r--pkgs/development/python-modules/addic7ed-cli/default.nix8
-rw-r--r--pkgs/development/python-modules/aenum/default.nix4
-rw-r--r--pkgs/development/python-modules/afdko/default.nix11
-rw-r--r--pkgs/development/python-modules/ailment/default.nix32
-rw-r--r--pkgs/development/python-modules/aioambient/default.nix57
-rw-r--r--pkgs/development/python-modules/aioasuswrt/default.nix52
-rw-r--r--pkgs/development/python-modules/aiobotocore/default.nix3
-rw-r--r--pkgs/development/python-modules/aiocache/default.nix34
-rw-r--r--pkgs/development/python-modules/aioesphomeapi/default.nix4
-rw-r--r--pkgs/development/python-modules/aioguardian/default.nix1
-rw-r--r--pkgs/development/python-modules/aioharmony/default.nix27
-rw-r--r--pkgs/development/python-modules/aioinflux/default.nix31
-rw-r--r--pkgs/development/python-modules/aiopylgtv/default.nix38
-rw-r--r--pkgs/development/python-modules/aiorecollect/default.nix54
-rw-r--r--pkgs/development/python-modules/aiorun/default.nix8
-rw-r--r--pkgs/development/python-modules/aiosqlite/default.nix6
-rw-r--r--pkgs/development/python-modules/alerta/default.nix4
-rw-r--r--pkgs/development/python-modules/androidtv/default.nix28
-rw-r--r--pkgs/development/python-modules/ansiwrap/default.nix22
-rw-r--r--pkgs/development/python-modules/anyio/default.nix4
-rw-r--r--pkgs/development/python-modules/apache-airflow/default.nix6
-rw-r--r--pkgs/development/python-modules/apispec/default.nix4
-rw-r--r--pkgs/development/python-modules/apprise/default.nix10
-rw-r--r--pkgs/development/python-modules/aqualogic/default.nix31
-rw-r--r--pkgs/development/python-modules/archinfo/default.nix4
-rw-r--r--pkgs/development/python-modules/aresponses/default.nix4
-rw-r--r--pkgs/development/python-modules/argon2_cffi/default.nix4
-rw-r--r--pkgs/development/python-modules/aspell-python/default.nix31
-rw-r--r--pkgs/development/python-modules/asteval/default.nix30
-rw-r--r--pkgs/development/python-modules/asyncio-dgram/default.nix4
-rw-r--r--pkgs/development/python-modules/asyncio_mqtt/default.nix34
-rw-r--r--pkgs/development/python-modules/asyncpg/default.nix4
-rw-r--r--pkgs/development/python-modules/asyncwhois/default.nix40
-rw-r--r--pkgs/development/python-modules/asysocks/default.nix4
-rw-r--r--pkgs/development/python-modules/auroranoaa/default.nix32
-rw-r--r--pkgs/development/python-modules/awesomeversion/default.nix4
-rw-r--r--pkgs/development/python-modules/aws-adfs/default.nix2
-rw-r--r--pkgs/development/python-modules/aws-sam-translator/default.nix9
-rw-r--r--pkgs/development/python-modules/azure-mgmt-batch/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-netapp/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-web/default.nix4
-rw-r--r--pkgs/development/python-modules/base58/default.nix26
-rw-r--r--pkgs/development/python-modules/batchgenerators/default.nix13
-rw-r--r--pkgs/development/python-modules/beancount/default.nix27
-rw-r--r--pkgs/development/python-modules/bespon/default.nix6
-rw-r--r--pkgs/development/python-modules/bids-validator/default.nix4
-rw-r--r--pkgs/development/python-modules/binwalk/default.nix23
-rw-r--r--pkgs/development/python-modules/blinker/default.nix5
-rw-r--r--pkgs/development/python-modules/blinkstick/default.nix32
-rw-r--r--pkgs/development/python-modules/blis/default.nix1
-rw-r--r--pkgs/development/python-modules/boto3/default.nix6
-rw-r--r--pkgs/development/python-modules/botocore/default.nix8
-rw-r--r--pkgs/development/python-modules/breathe/default.nix4
-rw-r--r--pkgs/development/python-modules/brother/default.nix12
-rw-r--r--pkgs/development/python-modules/bt-proximity/default.nix4
-rw-r--r--pkgs/development/python-modules/btchip/default.nix6
-rw-r--r--pkgs/development/python-modules/buildbot/default.nix8
-rw-r--r--pkgs/development/python-modules/buildbot/pkg.nix2
-rw-r--r--pkgs/development/python-modules/buildbot/plugins.nix10
-rw-r--r--pkgs/development/python-modules/buildbot/worker.nix2
-rw-r--r--pkgs/development/python-modules/cachetools/default.nix23
-rw-r--r--pkgs/development/python-modules/canmatrix/default.nix17
-rw-r--r--pkgs/development/python-modules/canopen/default.nix30
-rw-r--r--pkgs/development/python-modules/capstone/default.nix8
-rw-r--r--pkgs/development/python-modules/casbin/default.nix4
-rw-r--r--pkgs/development/python-modules/cassandra-driver/default.nix70
-rw-r--r--pkgs/development/python-modules/catalogue/default.nix1
-rw-r--r--pkgs/development/python-modules/censys/default.nix6
-rw-r--r--pkgs/development/python-modules/certbot/default.nix4
-rw-r--r--pkgs/development/python-modules/cftime/default.nix4
-rw-r--r--pkgs/development/python-modules/chalice/default.nix3
-rw-r--r--pkgs/development/python-modules/cheroot/default.nix2
-rw-r--r--pkgs/development/python-modules/chirpstack-api/default.nix32
-rw-r--r--pkgs/development/python-modules/cirq/default.nix1
-rw-r--r--pkgs/development/python-modules/ckcc-protocol/default.nix14
-rw-r--r--pkgs/development/python-modules/claripy/default.nix52
-rw-r--r--pkgs/development/python-modules/clifford/default.nix5
-rw-r--r--pkgs/development/python-modules/cmd2/default.nix4
-rw-r--r--pkgs/development/python-modules/cmsis-svd/default.nix28
-rw-r--r--pkgs/development/python-modules/cnvkit/default.nix6
-rw-r--r--pkgs/development/python-modules/coconut/default.nix49
-rw-r--r--pkgs/development/python-modules/cocotb/default.nix9
-rw-r--r--pkgs/development/python-modules/codespell/default.nix32
-rw-r--r--pkgs/development/python-modules/configargparse/default.nix27
-rw-r--r--pkgs/development/python-modules/confluent-kafka/default.nix4
-rw-r--r--pkgs/development/python-modules/convertdate/default.nix21
-rw-r--r--pkgs/development/python-modules/cornice/default.nix2
-rw-r--r--pkgs/development/python-modules/cozy/default.nix4
-rw-r--r--pkgs/development/python-modules/criticality-score/default.nix24
-rw-r--r--pkgs/development/python-modules/cryptography/3.3.nix4
-rw-r--r--pkgs/development/python-modules/cryptography/default.nix26
-rw-r--r--pkgs/development/python-modules/cryptography/vectors-3.3.nix2
-rw-r--r--pkgs/development/python-modules/cryptography/vectors.nix2
-rw-r--r--pkgs/development/python-modules/crytic-compile/default.nix8
-rw-r--r--pkgs/development/python-modules/csvs-to-sqlite/default.nix14
-rw-r--r--pkgs/development/python-modules/cufflinks/default.nix2
-rw-r--r--pkgs/development/python-modules/cvxpy/default.nix13
-rw-r--r--pkgs/development/python-modules/cytoolz/default.nix3
-rw-r--r--pkgs/development/python-modules/dash-core-components/default.nix4
-rw-r--r--pkgs/development/python-modules/dash-html-components/default.nix4
-rw-r--r--pkgs/development/python-modules/dash-renderer/default.nix4
-rw-r--r--pkgs/development/python-modules/dash-table/default.nix4
-rw-r--r--pkgs/development/python-modules/dash/default.nix6
-rw-r--r--pkgs/development/python-modules/dask-gateway-server/default.nix1
-rw-r--r--pkgs/development/python-modules/dask-image/default.nix2
-rw-r--r--pkgs/development/python-modules/dask-ml/default.nix8
-rw-r--r--pkgs/development/python-modules/dask-mpi/default.nix8
-rw-r--r--pkgs/development/python-modules/dask-xgboost/default.nix10
-rw-r--r--pkgs/development/python-modules/databricks-cli/default.nix4
-rw-r--r--pkgs/development/python-modules/databricks-connect/default.nix4
-rw-r--r--pkgs/development/python-modules/datasette/default.nix4
-rw-r--r--pkgs/development/python-modules/datashader/default.nix7
-rw-r--r--pkgs/development/python-modules/ddt/default.nix9
-rw-r--r--pkgs/development/python-modules/deform/default.nix5
-rw-r--r--pkgs/development/python-modules/dependency-injector/default.nix4
-rw-r--r--pkgs/development/python-modules/desktop-notifier/default.nix38
-rw-r--r--pkgs/development/python-modules/dftfit/default.nix25
-rw-r--r--pkgs/development/python-modules/dicom2nifti/default.nix7
-rw-r--r--pkgs/development/python-modules/diff_cover/default.nix1
-rw-r--r--pkgs/development/python-modules/distributed/default.nix20
-rw-r--r--pkgs/development/python-modules/django-cache-url/default.nix26
-rw-r--r--pkgs/development/python-modules/django-cors-headers/default.nix30
-rw-r--r--pkgs/development/python-modules/django-sampledatahelper/default.nix41
-rw-r--r--pkgs/development/python-modules/django/2.nix4
-rw-r--r--pkgs/development/python-modules/django/3.nix4
-rw-r--r--pkgs/development/python-modules/django_silk/default.nix14
-rw-r--r--pkgs/development/python-modules/dlib/default.nix6
-rw-r--r--pkgs/development/python-modules/dm-sonnet/default.nix10
-rw-r--r--pkgs/development/python-modules/docplex/default.nix4
-rw-r--r--pkgs/development/python-modules/docutils/default.nix5
-rw-r--r--pkgs/development/python-modules/doit/default.nix3
-rw-r--r--pkgs/development/python-modules/drf-nested-routers/default.nix38
-rw-r--r--pkgs/development/python-modules/duckdb/default.nix16
-rw-r--r--pkgs/development/python-modules/dufte/default.nix8
-rw-r--r--pkgs/development/python-modules/dulwich/default.nix25
-rw-r--r--pkgs/development/python-modules/easywatch/default.nix1
-rw-r--r--pkgs/development/python-modules/editdistance/default.nix36
-rw-r--r--pkgs/development/python-modules/elmax/default.nix40
-rw-r--r--pkgs/development/python-modules/emoji/default.nix4
-rw-r--r--pkgs/development/python-modules/entrance/default.nix4
-rw-r--r--pkgs/development/python-modules/exdown/default.nix24
-rw-r--r--pkgs/development/python-modules/factory_boy/default.nix39
-rw-r--r--pkgs/development/python-modules/fastparquet/default.nix16
-rw-r--r--pkgs/development/python-modules/fido2/default.nix2
-rw-r--r--pkgs/development/python-modules/fixerio/default.nix20
-rw-r--r--pkgs/development/python-modules/fixtures/default.nix25
-rw-r--r--pkgs/development/python-modules/flammkuchen/default.nix2
-rw-r--r--pkgs/development/python-modules/flask-compress/default.nix4
-rw-r--r--pkgs/development/python-modules/flask-migrate/default.nix4
-rw-r--r--pkgs/development/python-modules/flask-paginate/default.nix4
-rw-r--r--pkgs/development/python-modules/fontparts/default.nix6
-rw-r--r--pkgs/development/python-modules/fonttools/default.nix9
-rw-r--r--pkgs/development/python-modules/freezegun/0.3.nix6
-rw-r--r--pkgs/development/python-modules/freezegun/default.nix16
-rw-r--r--pkgs/development/python-modules/fritzconnection/default.nix4
-rw-r--r--pkgs/development/python-modules/fuzzyfinder/default.nix28
-rw-r--r--pkgs/development/python-modules/geoip2/default.nix1
-rw-r--r--pkgs/development/python-modules/geomet/default.nix37
-rw-r--r--pkgs/development/python-modules/getmac/default.nix34
-rw-r--r--pkgs/development/python-modules/git-sweep/default.nix5
-rw-r--r--pkgs/development/python-modules/github3_py/default.nix4
-rw-r--r--pkgs/development/python-modules/globus-sdk/default.nix36
-rw-r--r--pkgs/development/python-modules/glymur/default.nix1
-rw-r--r--pkgs/development/python-modules/gmusicapi/default.nix3
-rw-r--r--pkgs/development/python-modules/google-api-core/default.nix4
-rw-r--r--pkgs/development/python-modules/google-auth/default.nix3
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery/default.nix15
-rw-r--r--pkgs/development/python-modules/google-cloud-bigtable/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-container/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-dlp/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-error-reporting/default.nix5
-rw-r--r--pkgs/development/python-modules/google-cloud-iot/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-logging/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-pubsub/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-spanner/default.nix5
-rw-r--r--pkgs/development/python-modules/google-cloud-storage/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-tasks/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-vision/default.nix4
-rw-r--r--pkgs/development/python-modules/google-i18n-address/default.nix5
-rw-r--r--pkgs/development/python-modules/gpsoauth/default.nix5
-rw-r--r--pkgs/development/python-modules/gradient-utils/default.nix46
-rw-r--r--pkgs/development/python-modules/gradient/default.nix40
-rw-r--r--pkgs/development/python-modules/gradient_sdk/default.nix25
-rw-r--r--pkgs/development/python-modules/graphene/default.nix5
-rw-r--r--pkgs/development/python-modules/graphql-core/default.nix26
-rw-r--r--pkgs/development/python-modules/graphql-relay/default.nix25
-rw-r--r--pkgs/development/python-modules/graphtage/default.nix48
-rw-r--r--pkgs/development/python-modules/graspologic/default.nix2
-rw-r--r--pkgs/development/python-modules/greatfet/default.nix4
-rw-r--r--pkgs/development/python-modules/gremlinpython/default.nix54
-rw-r--r--pkgs/development/python-modules/grpcio-tools/default.nix4
-rw-r--r--pkgs/development/python-modules/grpcio/default.nix4
-rw-r--r--pkgs/development/python-modules/gtts/default.nix5
-rw-r--r--pkgs/development/python-modules/guppy3/default.nix32
-rw-r--r--pkgs/development/python-modules/h3/default.nix66
-rw-r--r--pkgs/development/python-modules/h3/disable-custom-install.patch41
-rw-r--r--pkgs/development/python-modules/h3/hardcode-h3-path.patch19
-rw-r--r--pkgs/development/python-modules/halo/default.nix34
-rw-r--r--pkgs/development/python-modules/hatasmota/default.nix4
-rw-r--r--pkgs/development/python-modules/helper/default.nix34
-rw-r--r--pkgs/development/python-modules/hijri-converter/default.nix24
-rw-r--r--pkgs/development/python-modules/hmmlearn/default.nix4
-rw-r--r--pkgs/development/python-modules/holidays/default.nix25
-rw-r--r--pkgs/development/python-modules/howdoi/default.nix4
-rw-r--r--pkgs/development/python-modules/hstspreload/default.nix6
-rw-r--r--pkgs/development/python-modules/html2text/default.nix17
-rw-r--r--pkgs/development/python-modules/httpcore/default.nix10
-rw-r--r--pkgs/development/python-modules/httpx/default.nix4
-rw-r--r--pkgs/development/python-modules/humanize/default.nix12
-rw-r--r--pkgs/development/python-modules/hupper/default.nix22
-rw-r--r--pkgs/development/python-modules/hvac/default.nix6
-rw-r--r--pkgs/development/python-modules/hwi/default.nix6
-rw-r--r--pkgs/development/python-modules/hydra-check/default.nix6
-rw-r--r--pkgs/development/python-modules/icmplib/default.nix4
-rw-r--r--pkgs/development/python-modules/identify/default.nix27
-rw-r--r--pkgs/development/python-modules/image-match/default.nix1
-rw-r--r--pkgs/development/python-modules/imagecorruptions/default.nix3
-rw-r--r--pkgs/development/python-modules/imap-tools/default.nix42
-rw-r--r--pkgs/development/python-modules/imbalanced-learn/default.nix14
-rw-r--r--pkgs/development/python-modules/img2pdf/default.nix3
-rw-r--r--pkgs/development/python-modules/immutables/default.nix21
-rw-r--r--pkgs/development/python-modules/imutils/default.nix12
-rw-r--r--pkgs/development/python-modules/inflect/default.nix26
-rw-r--r--pkgs/development/python-modules/influxdb-client/default.nix4
-rw-r--r--pkgs/development/python-modules/intake/default.nix10
-rw-r--r--pkgs/development/python-modules/intelhex/default.nix18
-rw-r--r--pkgs/development/python-modules/ircrobots/default.nix4
-rw-r--r--pkgs/development/python-modules/j2cli/default.nix2
-rw-r--r--pkgs/development/python-modules/jabberbot/default.nix23
-rw-r--r--pkgs/development/python-modules/javaobj-py3/default.nix17
-rw-r--r--pkgs/development/python-modules/jc/default.nix4
-rw-r--r--pkgs/development/python-modules/johnnycanencrypt/default.nix37
-rw-r--r--pkgs/development/python-modules/josepy/default.nix17
-rw-r--r--pkgs/development/python-modules/json-rpc/default.nix24
-rw-r--r--pkgs/development/python-modules/json5/default.nix30
-rw-r--r--pkgs/development/python-modules/jsonpath-ng/default.nix42
-rw-r--r--pkgs/development/python-modules/jupyter-repo2docker/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyterhub-systemdspawner/default.nix3
-rw-r--r--pkgs/development/python-modules/jupyterhub/default.nix99
-rw-r--r--pkgs/development/python-modules/keep/default.nix4
-rw-r--r--pkgs/development/python-modules/keystone-engine/default.nix28
-rw-r--r--pkgs/development/python-modules/kivy-garden/default.nix30
-rw-r--r--pkgs/development/python-modules/kivy/default.nix68
-rw-r--r--pkgs/development/python-modules/kombu/default.nix2
-rw-r--r--pkgs/development/python-modules/labelbox/default.nix4
-rw-r--r--pkgs/development/python-modules/labgrid/0001-serialdriver-remove-pyserial-version-check.patch33
-rw-r--r--pkgs/development/python-modules/labgrid/default.nix78
-rw-r--r--pkgs/development/python-modules/lammps-cython/default.nix8
-rw-r--r--pkgs/development/python-modules/launchpadlib/default.nix5
-rw-r--r--pkgs/development/python-modules/lazr-restfulclient/default.nix8
-rw-r--r--pkgs/development/python-modules/ldaptor/default.nix8
-rw-r--r--pkgs/development/python-modules/lektor/default.nix10
-rw-r--r--pkgs/development/python-modules/libnacl/default.nix34
-rw-r--r--pkgs/development/python-modules/libpurecool/default.nix47
-rw-r--r--pkgs/development/python-modules/librouteros/default.nix44
-rw-r--r--pkgs/development/python-modules/libsoundtouch/default.nix42
-rw-r--r--pkgs/development/python-modules/libusb1/default.nix4
-rw-r--r--pkgs/development/python-modules/libversion/default.nix4
-rw-r--r--pkgs/development/python-modules/libvirt/5.9.0.nix4
-rw-r--r--pkgs/development/python-modules/lightparam/default.nix2
-rw-r--r--pkgs/development/python-modules/limnoria/default.nix4
-rw-r--r--pkgs/development/python-modules/linode-api/default.nix53
-rw-r--r--pkgs/development/python-modules/linuxfd/default.nix3
-rw-r--r--pkgs/development/python-modules/livestreamer/default.nix2
-rw-r--r--pkgs/development/python-modules/log-symbols/default.nix30
-rw-r--r--pkgs/development/python-modules/lsassy/default.nix1
-rw-r--r--pkgs/development/python-modules/lxml/default.nix4
-rw-r--r--pkgs/development/python-modules/maestral/default.nix13
-rw-r--r--pkgs/development/python-modules/mailmanclient/default.nix4
-rw-r--r--pkgs/development/python-modules/manticore/default.nix1
-rw-r--r--pkgs/development/python-modules/markdown2/default.nix20
-rw-r--r--pkgs/development/python-modules/marshmallow-sqlalchemy/default.nix36
-rw-r--r--pkgs/development/python-modules/mautrix/default.nix6
-rw-r--r--pkgs/development/python-modules/mcstatus/default.nix49
-rw-r--r--pkgs/development/python-modules/metar/default.nix28
-rw-r--r--pkgs/development/python-modules/minikerberos/default.nix4
-rw-r--r--pkgs/development/python-modules/mlxtend/default.nix2
-rw-r--r--pkgs/development/python-modules/mmh3/default.nix1
-rw-r--r--pkgs/development/python-modules/mnemonic/default.nix26
-rw-r--r--pkgs/development/python-modules/modeled/default.nix4
-rw-r--r--pkgs/development/python-modules/moderngl_window/default.nix1
-rw-r--r--pkgs/development/python-modules/moinmoin/default.nix4
-rw-r--r--pkgs/development/python-modules/moto/default.nix219
-rw-r--r--pkgs/development/python-modules/mpd2/default.nix4
-rw-r--r--pkgs/development/python-modules/msldap/default.nix4
-rw-r--r--pkgs/development/python-modules/myfitnesspal/default.nix4
-rw-r--r--pkgs/development/python-modules/nbconflux/default.nix20
-rw-r--r--pkgs/development/python-modules/nbdime/default.nix15
-rw-r--r--pkgs/development/python-modules/nbformat/default.nix4
-rw-r--r--pkgs/development/python-modules/nbsmoke/default.nix1
-rw-r--r--pkgs/development/python-modules/nbsphinx/default.nix15
-rw-r--r--pkgs/development/python-modules/nbxmpp/default.nix3
-rw-r--r--pkgs/development/python-modules/ndjson/default.nix2
-rw-r--r--pkgs/development/python-modules/netifaces/default.nix4
-rw-r--r--pkgs/development/python-modules/nmigen-boards/default.nix11
-rw-r--r--pkgs/development/python-modules/nmigen-soc/default.nix8
-rw-r--r--pkgs/development/python-modules/nmigen/default.nix25
-rw-r--r--pkgs/development/python-modules/nocasedict/default.nix4
-rw-r--r--pkgs/development/python-modules/nose2/default.nix10
-rw-r--r--pkgs/development/python-modules/notebook/default.nix1
-rw-r--r--pkgs/development/python-modules/npyscreen/default.nix21
-rw-r--r--pkgs/development/python-modules/numba/default.nix10
-rw-r--r--pkgs/development/python-modules/numpy-stl/default.nix4
-rw-r--r--pkgs/development/python-modules/nunavut/default.nix16
-rw-r--r--pkgs/development/python-modules/oauthenticator/default.nix47
-rw-r--r--pkgs/development/python-modules/onnx/default.nix1
-rw-r--r--pkgs/development/python-modules/openrouteservice/default.nix4
-rwxr-xr-xpkgs/development/python-modules/osmnx/default.nix11
-rw-r--r--pkgs/development/python-modules/osmpythontools/default.nix21
-rw-r--r--pkgs/development/python-modules/osmpythontools/remove-test-only-dependencies.patch13
-rw-r--r--pkgs/development/python-modules/ovito/default.nix42
-rw-r--r--pkgs/development/python-modules/pandas-datareader/default.nix1
-rw-r--r--pkgs/development/python-modules/pandas/default.nix15
-rw-r--r--pkgs/development/python-modules/pandas/fix-tests.patch12
-rw-r--r--pkgs/development/python-modules/panflute/default.nix28
-rw-r--r--pkgs/development/python-modules/papermill/default.nix4
-rw-r--r--pkgs/development/python-modules/paperspace/default.nix31
-rw-r--r--pkgs/development/python-modules/papis/default.nix4
-rw-r--r--pkgs/development/python-modules/pecan/default.nix1
-rw-r--r--pkgs/development/python-modules/pelican/default.nix6
-rw-r--r--pkgs/development/python-modules/pg8000/default.nix13
-rw-r--r--pkgs/development/python-modules/phonemizer/default.nix3
-rw-r--r--pkgs/development/python-modules/phonopy/default.nix17
-rw-r--r--pkgs/development/python-modules/pikepdf/default.nix44
-rw-r--r--pkgs/development/python-modules/pillow-simd/default.nix32
-rw-r--r--pkgs/development/python-modules/pillow/6.nix75
-rw-r--r--pkgs/development/python-modules/pillow/default.nix67
-rw-r--r--pkgs/development/python-modules/pillow/generic.nix73
-rw-r--r--pkgs/development/python-modules/pims/default.nix1
-rw-r--r--pkgs/development/python-modules/pivy/default.nix5
-rw-r--r--pkgs/development/python-modules/pixelmatch/default.nix38
-rw-r--r--pkgs/development/python-modules/pkce/default.nix28
-rw-r--r--pkgs/development/python-modules/pkuseg/default.nix1
-rw-r--r--pkgs/development/python-modules/pleroma-bot/default.nix34
-rw-r--r--pkgs/development/python-modules/plexapi/default.nix26
-rw-r--r--pkgs/development/python-modules/plexauth/default.nix4
-rw-r--r--pkgs/development/python-modules/poppler-qt5/default.nix2
-rw-r--r--pkgs/development/python-modules/powerline/default.nix4
-rw-r--r--pkgs/development/python-modules/praw/default.nix26
-rw-r--r--pkgs/development/python-modules/prawcore/default.nix4
-rw-r--r--pkgs/development/python-modules/precis-i18n/default.nix13
-rw-r--r--pkgs/development/python-modules/primer3/default.nix5
-rw-r--r--pkgs/development/python-modules/prometheus-flask-exporter/default.nix31
-rw-r--r--pkgs/development/python-modules/protobuf/default.nix6
-rw-r--r--pkgs/development/python-modules/protobuf3-to-dict/default.nix24
-rw-r--r--pkgs/development/python-modules/proxmoxer/default.nix45
-rw-r--r--pkgs/development/python-modules/psautohint/default.nix14
-rw-r--r--pkgs/development/python-modules/pubnub/default.nix1
-rw-r--r--pkgs/development/python-modules/py-cid/default.nix54
-rw-r--r--pkgs/development/python-modules/py-multiaddr/default.nix51
-rw-r--r--pkgs/development/python-modules/py-multicodec/default.nix52
-rw-r--r--pkgs/development/python-modules/py-multihash/default.nix22
-rw-r--r--pkgs/development/python-modules/pyairnow/default.nix45
-rw-r--r--pkgs/development/python-modules/pyairvisual/default.nix16
-rw-r--r--pkgs/development/python-modules/pyalmond/default.nix32
-rw-r--r--pkgs/development/python-modules/pyarrow/default.nix2
-rw-r--r--pkgs/development/python-modules/pyatv/default.nix4
-rw-r--r--pkgs/development/python-modules/pybids/default.nix11
-rw-r--r--pkgs/development/python-modules/pycec/default.nix35
-rw-r--r--pkgs/development/python-modules/pychannels/default.nix30
-rw-r--r--pkgs/development/python-modules/pychromecast/default.nix4
-rw-r--r--pkgs/development/python-modules/pycryptodomex/default.nix24
-rw-r--r--pkgs/development/python-modules/pydaikin/default.nix45
-rw-r--r--pkgs/development/python-modules/pydantic/default.nix31
-rw-r--r--pkgs/development/python-modules/pydsdl/default.nix11
-rw-r--r--pkgs/development/python-modules/pyeight/default.nix36
-rw-r--r--pkgs/development/python-modules/pyfakefs/default.nix32
-rw-r--r--pkgs/development/python-modules/pyfftw/default.nix14
-rw-r--r--pkgs/development/python-modules/pyflume/default.nix45
-rw-r--r--pkgs/development/python-modules/pyflunearyou/default.nix56
-rw-r--r--pkgs/development/python-modules/pygraphviz/default.nix42
-rw-r--r--pkgs/development/python-modules/pygraphviz/graphviz-path.patch13
-rw-r--r--pkgs/development/python-modules/pygraphviz/path.patch13
-rw-r--r--pkgs/development/python-modules/pyicloud/default.nix38
-rw-r--r--pkgs/development/python-modules/pyipp/default.nix18
-rw-r--r--pkgs/development/python-modules/pylink-square/default.nix50
-rw-r--r--pkgs/development/python-modules/pylint/default.nix4
-rw-r--r--pkgs/development/python-modules/pyls-mypy/default.nix2
-rw-r--r--pkgs/development/python-modules/pylxd/default.nix30
-rw-r--r--pkgs/development/python-modules/pymatgen-lammps/default.nix10
-rw-r--r--pkgs/development/python-modules/pymatgen/default.nix1
-rw-r--r--pkgs/development/python-modules/pymediaroom/default.nix36
-rw-r--r--pkgs/development/python-modules/pymitv/default.nix30
-rw-r--r--pkgs/development/python-modules/pymsteams/default.nix30
-rw-r--r--pkgs/development/python-modules/pymyq/default.nix12
-rw-r--r--pkgs/development/python-modules/pymysensors/default.nix55
-rw-r--r--pkgs/development/python-modules/pynmea2/default.nix9
-rw-r--r--pkgs/development/python-modules/pynuki/default.nix34
-rw-r--r--pkgs/development/python-modules/pynws/default.nix47
-rw-r--r--pkgs/development/python-modules/pyopenuv/default.nix50
-rw-r--r--pkgs/development/python-modules/pyotp/default.nix6
-rw-r--r--pkgs/development/python-modules/pyowm/default.nix44
-rw-r--r--pkgs/development/python-modules/pypcap/default.nix56
-rw-r--r--pkgs/development/python-modules/pypugjs/default.nix2
-rw-r--r--pkgs/development/python-modules/pyqt/5.x.nix2
-rw-r--r--pkgs/development/python-modules/pyqtwebengine/default.nix6
-rw-r--r--pkgs/development/python-modules/pyquery/default.nix17
-rw-r--r--pkgs/development/python-modules/pyramid/default.nix2
-rw-r--r--pkgs/development/python-modules/pyramid_beaker/default.nix4
-rw-r--r--pkgs/development/python-modules/pyramid_chameleon/default.nix3
-rw-r--r--pkgs/development/python-modules/pyramid_exclog/default.nix2
-rw-r--r--pkgs/development/python-modules/pyramid_hawkauth/default.nix4
-rw-r--r--pkgs/development/python-modules/pyramid_jinja2/default.nix3
-rw-r--r--pkgs/development/python-modules/pyramid_mako/default.nix2
-rw-r--r--pkgs/development/python-modules/pyramid_multiauth/default.nix2
-rw-r--r--pkgs/development/python-modules/pyrisco/default.nix32
-rw-r--r--pkgs/development/python-modules/pysaml2/default.nix27
-rw-r--r--pkgs/development/python-modules/pyserial/001-rfc2217-only-negotiate-on-value-change.patch42
-rw-r--r--pkgs/development/python-modules/pyserial/002-rfc2217-timeout-setter-for-rfc2217.patch42
-rw-r--r--pkgs/development/python-modules/pyserial/default.nix5
-rw-r--r--pkgs/development/python-modules/pyshark/default.nix38
-rw-r--r--pkgs/development/python-modules/pyside/default.nix2
-rw-r--r--pkgs/development/python-modules/pyside2-tools/default.nix2
-rw-r--r--pkgs/development/python-modules/pyside2/default.nix2
-rw-r--r--pkgs/development/python-modules/pyslurm/default.nix1
-rw-r--r--pkgs/development/python-modules/pysma/default.nix36
-rw-r--r--pkgs/development/python-modules/pysmappee/default.nix42
-rw-r--r--pkgs/development/python-modules/pysmbc/default.nix24
-rw-r--r--pkgs/development/python-modules/pysmt/default.nix35
-rw-r--r--pkgs/development/python-modules/pysonos/default.nix15
-rw-r--r--pkgs/development/python-modules/pyswitchbot/default.nix31
-rw-r--r--pkgs/development/python-modules/pysyncobj/default.nix27
-rw-r--r--pkgs/development/python-modules/pytankerkoenig/default.nix25
-rw-r--r--pkgs/development/python-modules/pytest-click/default.nix22
-rw-r--r--pkgs/development/python-modules/pytest-forked/default.nix13
-rw-r--r--pkgs/development/python-modules/pytest-freezegun/default.nix17
-rw-r--r--pkgs/development/python-modules/pytest-httpserver/default.nix37
-rw-r--r--pkgs/development/python-modules/pytest-httpx/default.nix39
-rw-r--r--pkgs/development/python-modules/pytest-snapshot/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-subtests/default.nix19
-rw-r--r--pkgs/development/python-modules/pytest-timeout/default.nix2
-rw-r--r--pkgs/development/python-modules/pytest-watch/default.nix6
-rw-r--r--pkgs/development/python-modules/pytest-xdist/default.nix43
-rw-r--r--pkgs/development/python-modules/python-awair/default.nix47
-rw-r--r--pkgs/development/python-modules/python-dotenv/default.nix29
-rw-r--r--pkgs/development/python-modules/python-engineio/3.nix67
-rw-r--r--pkgs/development/python-modules/python-gammu/default.nix38
-rw-r--r--pkgs/development/python-modules/python-levenshtein/default.nix4
-rw-r--r--pkgs/development/python-modules/python-olm/default.nix13
-rw-r--r--pkgs/development/python-modules/python-openzwave-mqtt/default.nix33
-rw-r--r--pkgs/development/python-modules/python-snappy/default.nix4
-rw-r--r--pkgs/development/python-modules/python-socketio/4.nix47
-rw-r--r--pkgs/development/python-modules/python-socketio/default.nix2
-rw-r--r--pkgs/development/python-modules/python-tado/default.nix4
-rw-r--r--pkgs/development/python-modules/python-twitch-client/default.nix37
-rw-r--r--pkgs/development/python-modules/python-velbus/default.nix30
-rw-r--r--pkgs/development/python-modules/python-xmp-toolkit/default.nix3
-rw-r--r--pkgs/development/python-modules/pytile/default.nix1
-rw-r--r--pkgs/development/python-modules/pytorch/bin.nix3
-rw-r--r--pkgs/development/python-modules/pytrafikverket/default.nix34
-rw-r--r--pkgs/development/python-modules/pytrends/default.nix5
-rw-r--r--pkgs/development/python-modules/pytz/default.nix4
-rw-r--r--pkgs/development/python-modules/pyu2f/default.nix2
-rw-r--r--pkgs/development/python-modules/pyuv/default.nix26
-rw-r--r--pkgs/development/python-modules/pyuv/pyuv-external-libuv.patch25
-rw-r--r--pkgs/development/python-modules/pyvesync/default.nix30
-rw-r--r--pkgs/development/python-modules/pyvex/default.nix42
-rw-r--r--pkgs/development/python-modules/pyvicare/default.nix35
-rw-r--r--pkgs/development/python-modules/pyvizio/default.nix42
-rw-r--r--pkgs/development/python-modules/pyvolumio/default.nix32
-rw-r--r--pkgs/development/python-modules/pywilight/default.nix4
-rw-r--r--pkgs/development/python-modules/pywizlight/default.nix25
-rw-r--r--pkgs/development/python-modules/pyxiaomigateway/default.nix30
-rw-r--r--pkgs/development/python-modules/pyxml/default.nix2
-rw-r--r--pkgs/development/python-modules/pyyaml/default.nix9
-rw-r--r--pkgs/development/python-modules/pyzerproc/default.nix51
-rw-r--r--pkgs/development/python-modules/qiskit-aer/default.nix16
-rw-r--r--pkgs/development/python-modules/qiskit-aer/remove-conan-install.patch63
-rw-r--r--pkgs/development/python-modules/qiskit-aqua/default.nix11
-rw-r--r--pkgs/development/python-modules/qiskit-ignis/default.nix7
-rw-r--r--pkgs/development/python-modules/qiskit-terra/default.nix4
-rw-r--r--pkgs/development/python-modules/qiskit/default.nix4
-rw-r--r--pkgs/development/python-modules/qscintilla-qt5/default.nix2
-rw-r--r--pkgs/development/python-modules/quandl/default.nix2
-rw-r--r--pkgs/development/python-modules/radiotherm/default.nix34
-rw-r--r--pkgs/development/python-modules/ratelimit/default.nix34
-rw-r--r--pkgs/development/python-modules/rdkit/default.nix157
-rw-r--r--pkgs/development/python-modules/requests/default.nix55
-rw-r--r--pkgs/development/python-modules/respx/default.nix2
-rw-r--r--pkgs/development/python-modules/retworkx/default.nix29
-rw-r--r--pkgs/development/python-modules/roboschool/default.nix2
-rw-r--r--pkgs/development/python-modules/robotframework-tools/default.nix27
-rw-r--r--pkgs/development/python-modules/rpy2/default.nix2
-rw-r--r--pkgs/development/python-modules/rx/default.nix4
-rw-r--r--pkgs/development/python-modules/sagemaker/default.nix53
-rw-r--r--pkgs/development/python-modules/scikit-bio/default.nix8
-rw-r--r--pkgs/development/python-modules/scipy/default.nix11
-rw-r--r--pkgs/development/python-modules/seaborn/default.nix1
-rw-r--r--pkgs/development/python-modules/sendgrid/default.nix4
-rw-r--r--pkgs/development/python-modules/sentry-sdk/default.nix4
-rw-r--r--pkgs/development/python-modules/serverlessrepo/default.nix4
-rw-r--r--pkgs/development/python-modules/setproctitle/default.nix3
-rw-r--r--pkgs/development/python-modules/shamir-mnemonic/default.nix32
-rw-r--r--pkgs/development/python-modules/shapely/default.nix50
-rw-r--r--pkgs/development/python-modules/sharkiqpy/default.nix32
-rw-r--r--pkgs/development/python-modules/shiboken2/default.nix2
-rw-r--r--pkgs/development/python-modules/simplehound/default.nix37
-rw-r--r--pkgs/development/python-modules/skein/skeinrepo.nix2
-rw-r--r--pkgs/development/python-modules/skorch/default.nix7
-rw-r--r--pkgs/development/python-modules/skybellpy/default.nix45
-rw-r--r--pkgs/development/python-modules/slack-sdk/default.nix74
-rw-r--r--pkgs/development/python-modules/slackclient/default.nix28
-rw-r--r--pkgs/development/python-modules/slicedimage/default.nix22
-rw-r--r--pkgs/development/python-modules/slither-analyzer/default.nix12
-rw-r--r--pkgs/development/python-modules/slixmpp/default.nix40
-rw-r--r--pkgs/development/python-modules/smart_open/default.nix5
-rw-r--r--pkgs/development/python-modules/smdebug-rulesconfig/default.nix23
-rw-r--r--pkgs/development/python-modules/snowflake-connector-python/default.nix6
-rw-r--r--pkgs/development/python-modules/soco/default.nix28
-rw-r--r--pkgs/development/python-modules/solax/default.nix41
-rw-r--r--pkgs/development/python-modules/solo-python/default.nix20
-rw-r--r--pkgs/development/python-modules/somajo/default.nix5
-rw-r--r--pkgs/development/python-modules/sopel/default.nix1
-rw-r--r--pkgs/development/python-modules/spacy/default.nix2
-rw-r--r--pkgs/development/python-modules/sphinx-autobuild/default.nix30
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix4
-rw-r--r--pkgs/development/python-modules/spinners/default.nix26
-rw-r--r--pkgs/development/python-modules/spyder-kernels/0.x.nix1
-rw-r--r--pkgs/development/python-modules/spyder/3.nix2
-rw-r--r--pkgs/development/python-modules/sqlalchemy/default.nix10
-rw-r--r--pkgs/development/python-modules/sqlite-utils/default.nix4
-rw-r--r--pkgs/development/python-modules/srsly/default.nix8
-rw-r--r--pkgs/development/python-modules/starlette/default.nix7
-rw-r--r--pkgs/development/python-modules/staticjinja/default.nix23
-rw-r--r--pkgs/development/python-modules/streamz/default.nix2
-rw-r--r--pkgs/development/python-modules/stytra/default.nix14
-rw-r--r--pkgs/development/python-modules/surepy/default.nix61
-rw-r--r--pkgs/development/python-modules/survey/default.nix4
-rw-r--r--pkgs/development/python-modules/swspotify/default.nix2
-rw-r--r--pkgs/development/python-modules/tahoma-api/default.nix30
-rw-r--r--pkgs/development/python-modules/tellduslive/default.nix36
-rw-r--r--pkgs/development/python-modules/tensorflow-probability/default.nix3
-rw-r--r--pkgs/development/python-modules/tensorflow/default.nix4
-rw-r--r--pkgs/development/python-modules/termplotlib/default.nix36
-rw-r--r--pkgs/development/python-modules/teslajsonpy/default.nix28
-rw-r--r--pkgs/development/python-modules/textacy/default.nix3
-rw-r--r--pkgs/development/python-modules/thinc/default.nix2
-rw-r--r--pkgs/development/python-modules/tiledb/default.nix3
-rw-r--r--pkgs/development/python-modules/tiros/default.nix20
-rw-r--r--pkgs/development/python-modules/todoist/default.nix16
-rw-r--r--pkgs/development/python-modules/tokenizers/default.nix33
-rw-r--r--pkgs/development/python-modules/torchgpipe/default.nix12
-rw-r--r--pkgs/development/python-modules/torchvision/default.nix2
-rw-r--r--pkgs/development/python-modules/tpm2-pytss/default.nix41
-rw-r--r--pkgs/development/python-modules/traittypes/default.nix6
-rw-r--r--pkgs/development/python-modules/transformers/default.nix6
-rw-r--r--pkgs/development/python-modules/transitions/default.nix40
-rw-r--r--pkgs/development/python-modules/transmission-rpc/default.nix36
-rw-r--r--pkgs/development/python-modules/transmissionrpc/default.nix24
-rw-r--r--pkgs/development/python-modules/tubeup/default.nix6
-rw-r--r--pkgs/development/python-modules/tuyaha/default.nix30
-rw-r--r--pkgs/development/python-modules/twentemilieu/default.nix43
-rw-r--r--pkgs/development/python-modules/twilio/default.nix20
-rw-r--r--pkgs/development/python-modules/twinkly-client/default.nix30
-rw-r--r--pkgs/development/python-modules/twitch-python/default.nix30
-rw-r--r--pkgs/development/python-modules/twitterapi/default.nix34
-rw-r--r--pkgs/development/python-modules/typesystem/default.nix10
-rw-r--r--pkgs/development/python-modules/uarray/default.nix38
-rw-r--r--pkgs/development/python-modules/uproot3-methods/default.nix1
-rw-r--r--pkgs/development/python-modules/uproot3/default.nix11
-rw-r--r--pkgs/development/python-modules/uvloop/darwin_sandbox.patch28
-rw-r--r--pkgs/development/python-modules/uvloop/default.nix47
-rw-r--r--pkgs/development/python-modules/vega/default.nix5
-rw-r--r--pkgs/development/python-modules/venstarcolortouch/default.nix30
-rw-r--r--pkgs/development/python-modules/vidstab/default.nix3
-rw-r--r--pkgs/development/python-modules/virtualenv/default.nix50
-rw-r--r--pkgs/development/python-modules/volkszaehler/default.nix4
-rw-r--r--pkgs/development/python-modules/vsure/default.nix4
-rw-r--r--pkgs/development/python-modules/wasabi/default.nix1
-rw-r--r--pkgs/development/python-modules/wasmer/default.nix63
-rw-r--r--pkgs/development/python-modules/watchdog/default.nix29
-rw-r--r--pkgs/development/python-modules/wiffi/default.nix32
-rw-r--r--pkgs/development/python-modules/winacl/default.nix4
-rw-r--r--pkgs/development/python-modules/wrapio/default.nix4
-rw-r--r--pkgs/development/python-modules/wsgi-intercept/default.nix31
-rw-r--r--pkgs/development/python-modules/wxPython/4.0.nix3
-rw-r--r--pkgs/development/python-modules/wxPython/4.1.nix1
-rw-r--r--pkgs/development/python-modules/xarray/default.nix19
-rw-r--r--pkgs/development/python-modules/xboxapi/default.nix31
-rw-r--r--pkgs/development/python-modules/xknx/default.nix4
-rw-r--r--pkgs/development/python-modules/xmpppy/default.nix26
-rw-r--r--pkgs/development/python-modules/xmpppy/ssl.patch25
-rw-r--r--pkgs/development/python-modules/yalesmartalarmclient/default.nix30
-rw-r--r--pkgs/development/python-modules/yapsy/default.nix4
-rw-r--r--pkgs/development/python-modules/yq/default.nix29
-rw-r--r--pkgs/development/python-modules/zetup/default.nix26
-rw-r--r--pkgs/development/python-modules/zha-quirks/default.nix4
-rw-r--r--pkgs/development/python-modules/zigpy/default.nix4
-rw-r--r--pkgs/development/r-modules/cran-packages.nix2
-rw-r--r--pkgs/development/r-modules/default.nix1
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix24
-rw-r--r--pkgs/development/ruby-modules/with-packages/test.nix1
-rw-r--r--pkgs/development/tools/air/default.nix24
-rw-r--r--pkgs/development/tools/ameba/default.nix4
-rw-r--r--pkgs/development/tools/analysis/dotenv-linter/default.nix25
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix4
-rw-r--r--pkgs/development/tools/analysis/lcov/default.nix3
-rw-r--r--pkgs/development/tools/analysis/panopticon/default.nix5
-rw-r--r--pkgs/development/tools/analysis/pmd/default.nix4
-rw-r--r--pkgs/development/tools/analysis/qcachegrind/default.nix2
-rw-r--r--pkgs/development/tools/analysis/svlint/default.nix6
-rw-r--r--pkgs/development/tools/analysis/tflint/default.nix6
-rw-r--r--pkgs/development/tools/analysis/tfsec/default.nix4
-rw-r--r--pkgs/development/tools/aws-sam-cli/default.nix70
-rw-r--r--pkgs/development/tools/azcopy/default.nix6
-rw-r--r--pkgs/development/tools/b4/default.nix36
-rw-r--r--pkgs/development/tools/bazel-kazel/default.nix4
-rw-r--r--pkgs/development/tools/bazel-watcher/default.nix2
-rw-r--r--pkgs/development/tools/bazelisk/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/1.9.nix2
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/apache-maven/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_3/default.nix32
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_3/no-arc.patch34
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_3/python-shebang.patch20
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_3/src-deps.json344
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_4/default.nix639
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_4/no-arc.patch34
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_4/src-deps.json1498
-rwxr-xr-xpkgs/development/tools/build-managers/bazel/bazel_4/update-srcDeps.py54
-rw-r--r--pkgs/development/tools/build-managers/bazel/java-test.nix2
-rw-r--r--pkgs/development/tools/build-managers/bazel/protobuf-test.nix42
-rwxr-xr-xpkgs/development/tools/build-managers/bazel/update-srcDeps.py3
-rw-r--r--pkgs/development/tools/build-managers/bloop/default.nix10
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix9
-rw-r--r--pkgs/development/tools/build-managers/conan/default.nix15
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix7
-rw-r--r--pkgs/development/tools/build-managers/leiningen/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/qbs/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/rebar/default.nix1
-rw-r--r--pkgs/development/tools/build-managers/rebar3/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/redo-sh/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/samurai/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/sbt-extras/default.nix82
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix49
-rw-r--r--pkgs/development/tools/build-managers/shards/default.nix9
-rw-r--r--pkgs/development/tools/buildah/default.nix8
-rw-r--r--pkgs/development/tools/buildah/wrapper.nix2
-rw-r--r--pkgs/development/tools/buildkit/default.nix4
-rw-r--r--pkgs/development/tools/buildpack/default.nix6
-rw-r--r--pkgs/development/tools/checkmake/default.nix49
-rw-r--r--pkgs/development/tools/chefdk/Gemfile2
-rw-r--r--pkgs/development/tools/chefdk/Gemfile.lock698
-rw-r--r--pkgs/development/tools/chefdk/default.nix2
-rw-r--r--pkgs/development/tools/chefdk/gemset.nix1039
-rw-r--r--pkgs/development/tools/clj-kondo/default.nix7
-rw-r--r--pkgs/development/tools/clpm/default.nix15
-rw-r--r--pkgs/development/tools/continuous-integration/buildkite-agent/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/fly/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix8
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/laminar/default.nix41
-rw-r--r--pkgs/development/tools/continuous-integration/laminar/patches/no-network.patch31
-rw-r--r--pkgs/development/tools/convco/default.nix6
-rw-r--r--pkgs/development/tools/coursier/default.nix13
-rw-r--r--pkgs/development/tools/database/ephemeralpg/default.nix2
-rw-r--r--pkgs/development/tools/database/liquibase/default.nix7
-rw-r--r--pkgs/development/tools/database/pyrseas/default.nix4
-rw-r--r--pkgs/development/tools/database/sqldeveloper/default.nix3
-rw-r--r--pkgs/development/tools/diesel-cli/default.nix20
-rw-r--r--pkgs/development/tools/dockle/default.nix51
-rw-r--r--pkgs/development/tools/doctl/default.nix4
-rw-r--r--pkgs/development/tools/documentation/gtk-doc/default.nix19
-rw-r--r--pkgs/development/tools/documentation/mdsh/default.nix6
-rw-r--r--pkgs/development/tools/dt-schema/default.nix4
-rw-r--r--pkgs/development/tools/eclipse-mat/default.nix3
-rw-r--r--pkgs/development/tools/electron/default.nix42
-rw-r--r--pkgs/development/tools/errcheck/default.nix4
-rw-r--r--pkgs/development/tools/fdroidserver/default.nix3
-rw-r--r--pkgs/development/tools/fedora-coreos-config-transpiler/default.nix4
-rw-r--r--pkgs/development/tools/flatpak-builder/default.nix4
-rw-r--r--pkgs/development/tools/flyway/default.nix4
-rw-r--r--pkgs/development/tools/ginkgo/default.nix6
-rw-r--r--pkgs/development/tools/git-quick-stats/default.nix4
-rw-r--r--pkgs/development/tools/git-repo-updater/default.nix3
-rw-r--r--pkgs/development/tools/github/github-release/default.nix47
-rw-r--r--pkgs/development/tools/gllvm/default.nix4
-rw-r--r--pkgs/development/tools/glpaper/default.nix6
-rw-r--r--pkgs/development/tools/gnulib/default.nix23
-rw-r--r--pkgs/development/tools/go-bindata/default.nix19
-rw-r--r--pkgs/development/tools/go-swagger/default.nix6
-rw-r--r--pkgs/development/tools/go-tools/default.nix4
-rw-r--r--pkgs/development/tools/golangci-lint/default.nix14
-rw-r--r--pkgs/development/tools/gomacro/default.nix24
-rw-r--r--pkgs/development/tools/google-app-engine-go-sdk/default.nix3
-rw-r--r--pkgs/development/tools/gops/default.nix24
-rw-r--r--pkgs/development/tools/gotestsum/default.nix6
-rw-r--r--pkgs/development/tools/gron/default.nix29
-rw-r--r--pkgs/development/tools/gron/deps.nix57
-rw-r--r--pkgs/development/tools/haskell/haskell-language-server/default.nix53
-rw-r--r--pkgs/development/tools/haskell/haskell-language-server/hls-class-plugin.nix21
-rw-r--r--pkgs/development/tools/haskell/haskell-language-server/hls-eval-plugin.nix27
-rw-r--r--pkgs/development/tools/haskell/haskell-language-server/hls-explicit-imports-plugin.nix21
-rw-r--r--pkgs/development/tools/haskell/haskell-language-server/hls-hlint-plugin.nix26
-rw-r--r--pkgs/development/tools/haskell/haskell-language-server/hls-retrie-plugin.nix23
-rw-r--r--pkgs/development/tools/haskell/haskell-language-server/hls-tactics-plugin.nix32
-rwxr-xr-xpkgs/development/tools/haskell/haskell-language-server/update.sh50
-rw-r--r--pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix2
-rw-r--r--pkgs/development/tools/hover/default.nix6
-rw-r--r--pkgs/development/tools/htmltest/default.nix32
-rw-r--r--pkgs/development/tools/ijq/default.nix28
-rw-r--r--pkgs/development/tools/java/cfr/default.nix4
-rw-r--r--pkgs/development/tools/java/visualvm/default.nix4
-rw-r--r--pkgs/development/tools/jbake/default.nix3
-rw-r--r--pkgs/development/tools/jbang/default.nix4
-rw-r--r--pkgs/development/tools/jq/default.nix3
-rw-r--r--pkgs/development/tools/jsduck/default.nix3
-rw-r--r--pkgs/development/tools/just/default.nix13
-rw-r--r--pkgs/development/tools/knightos/genkfs/default.nix6
-rw-r--r--pkgs/development/tools/knightos/kcc/default.nix4
-rw-r--r--pkgs/development/tools/knightos/kimg/default.nix6
-rw-r--r--pkgs/development/tools/knightos/kpack/default.nix6
-rw-r--r--pkgs/development/tools/knightos/mkrom/default.nix8
-rw-r--r--pkgs/development/tools/knightos/mktiupgrade/default.nix6
-rw-r--r--pkgs/development/tools/knightos/patchrom/default.nix6
-rw-r--r--pkgs/development/tools/knightos/scas/default.nix4
-rw-r--r--pkgs/development/tools/knightos/z80e/default.nix8
-rw-r--r--pkgs/development/tools/krew/default.nix6
-rw-r--r--pkgs/development/tools/kubectx/default.nix6
-rw-r--r--pkgs/development/tools/kustomize/default.nix12
-rw-r--r--pkgs/development/tools/kustomize/kustomize-sops.nix34
-rw-r--r--pkgs/development/tools/lazygit/default.nix4
-rw-r--r--pkgs/development/tools/metals/default.nix4
-rw-r--r--pkgs/development/tools/minizinc/default.nix25
-rw-r--r--pkgs/development/tools/minizinc/ide.nix12
-rw-r--r--pkgs/development/tools/misc/act/default.nix4
-rw-r--r--pkgs/development/tools/misc/autobuild/default.nix3
-rw-r--r--pkgs/development/tools/misc/blackfire/default.nix4
-rw-r--r--pkgs/development/tools/misc/blackfire/php-probe.nix4
-rw-r--r--pkgs/development/tools/misc/blackmagic/default.nix2
-rw-r--r--pkgs/development/tools/misc/bonnmotion/default.nix50
-rw-r--r--pkgs/development/tools/misc/bonnmotion/install.patch75
-rw-r--r--pkgs/development/tools/misc/cbrowser/default.nix3
-rw-r--r--pkgs/development/tools/misc/ccache/default.nix4
-rw-r--r--pkgs/development/tools/misc/ccls/default.nix4
-rw-r--r--pkgs/development/tools/misc/clojure-lsp/default.nix63
-rw-r--r--pkgs/development/tools/misc/clojure-lsp/repository.nix40
-rw-r--r--pkgs/development/tools/misc/cvise/default.nix46
-rw-r--r--pkgs/development/tools/misc/cvise/unifdef.patch8
-rw-r--r--pkgs/development/tools/misc/dejagnu/default.nix3
-rw-r--r--pkgs/development/tools/misc/dialog/default.nix13
-rw-r--r--pkgs/development/tools/misc/edb/default.nix42
-rw-r--r--pkgs/development/tools/misc/editorconfig-checker/default.nix6
-rw-r--r--pkgs/development/tools/misc/elfkickers/default.nix2
-rw-r--r--pkgs/development/tools/misc/elfutils/default.nix80
-rw-r--r--pkgs/development/tools/misc/elfutils/musl-cdefs_h.patch15
-rw-r--r--pkgs/development/tools/misc/elfutils/musl-error_h.patch66
-rw-r--r--pkgs/development/tools/misc/fswatch/default.nix4
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix3
-rw-r--r--pkgs/development/tools/misc/gpshell/default.nix4
-rw-r--r--pkgs/development/tools/misc/gpuvis/default.nix42
-rw-r--r--pkgs/development/tools/misc/help2man/default.nix4
-rw-r--r--pkgs/development/tools/misc/hound/default.nix43
-rw-r--r--pkgs/development/tools/misc/hydra/common.nix4
-rw-r--r--pkgs/development/tools/misc/k2tf/default.nix24
-rw-r--r--pkgs/development/tools/misc/kdbg/default.nix2
-rw-r--r--pkgs/development/tools/misc/kibana/6.x.nix2
-rw-r--r--pkgs/development/tools/misc/kibana/7.x.nix2
-rw-r--r--pkgs/development/tools/misc/macdylibbundler/default.nix2
-rw-r--r--pkgs/development/tools/misc/micronucleus/default.nix51
-rw-r--r--pkgs/development/tools/misc/msitools/default.nix9
-rw-r--r--pkgs/development/tools/misc/nrfutil/default.nix4
-rw-r--r--pkgs/development/tools/misc/nxpmicro-mfgtools/default.nix4
-rw-r--r--pkgs/development/tools/misc/openfpgaloader/default.nix36
-rw-r--r--pkgs/development/tools/misc/rolespec/default.nix2
-rw-r--r--pkgs/development/tools/misc/scc/default.nix4
-rw-r--r--pkgs/development/tools/misc/sccache/default.nix33
-rw-r--r--pkgs/development/tools/misc/segger-ozone/default.nix84
-rw-r--r--pkgs/development/tools/misc/semver-tool/default.nix4
-rw-r--r--pkgs/development/tools/misc/sloccount/default.nix2
-rw-r--r--pkgs/development/tools/misc/stm32flash/default.nix2
-rw-r--r--pkgs/development/tools/misc/strace/default.nix4
-rw-r--r--pkgs/development/tools/misc/svls/default.nix6
-rw-r--r--pkgs/development/tools/misc/terraform-ls/default.nix6
-rw-r--r--pkgs/development/tools/misc/terraformer/default.nix6
-rw-r--r--pkgs/development/tools/misc/tokei/default.nix4
-rw-r--r--pkgs/development/tools/misc/unifdef/default.nix29
-rw-r--r--pkgs/development/tools/misc/universal-ctags/default.nix15
-rw-r--r--pkgs/development/tools/mockgen/default.nix6
-rw-r--r--pkgs/development/tools/neoload/default.nix2
-rw-r--r--pkgs/development/tools/node-webkit/nw12.nix2
-rw-r--r--pkgs/development/tools/nrpl/default.nix3
-rw-r--r--pkgs/development/tools/nwjs/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/crunch/default.nix6
-rw-r--r--pkgs/development/tools/ocaml/ocaml-top/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/ocamlmod/default.nix13
-rw-r--r--pkgs/development/tools/ocaml/ocp-index/default.nix8
-rw-r--r--pkgs/development/tools/ocaml/ocsigen-i18n/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix3
-rw-r--r--pkgs/development/tools/ocaml/opam/1.2.2.nix3
-rw-r--r--pkgs/development/tools/ocaml/opam/default.nix31
-rwxr-xr-xpkgs/development/tools/ocaml/opam/opam.nix.pl2
-rw-r--r--pkgs/development/tools/ocaml/utop/default.nix4
-rw-r--r--pkgs/development/tools/operator-sdk/default.nix9
-rw-r--r--pkgs/development/tools/out-of-tree/default.nix2
-rw-r--r--pkgs/development/tools/packer/default.nix14
-rw-r--r--pkgs/development/tools/parsing/bison/default.nix4
-rw-r--r--pkgs/development/tools/pgformatter/default.nix4
-rw-r--r--pkgs/development/tools/phantomjs2/default.nix2
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/default.nix85
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/lib.nix20
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix4
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix356
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix19
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix6
-rwxr-xr-xpkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/update1
-rwxr-xr-xpkgs/development/tools/poetry2nix/update2
-rw-r--r--pkgs/development/tools/pqrs/default.nix22
-rw-r--r--pkgs/development/tools/profiling/systemtap/default.nix2
-rw-r--r--pkgs/development/tools/pup/default.nix25
-rw-r--r--pkgs/development/tools/qtcreator/default.nix10
-rw-r--r--pkgs/development/tools/quilt/default.nix3
-rw-r--r--pkgs/development/tools/react-native-debugger/default.nix4
-rw-r--r--pkgs/development/tools/rgp/default.nix2
-rw-r--r--pkgs/development/tools/ronn/default.nix2
-rw-r--r--pkgs/development/tools/rubocop/Gemfile.lock2
-rw-r--r--pkgs/development/tools/rubocop/gemset.nix4
-rw-r--r--pkgs/development/tools/rust/cargo-c/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-crev/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-criterion/default.nix22
-rw-r--r--pkgs/development/tools/rust/cargo-deny/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-generate/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-limit/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-make/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-play/default.nix25
-rw-r--r--pkgs/development/tools/rust/cargo-udeps/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-whatfeatures/default.nix27
-rw-r--r--pkgs/development/tools/rust/crate2nix/default.nix6
-rw-r--r--pkgs/development/tools/rust/maturin/default.nix39
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/default.nix6
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/generic.nix2
-rw-r--r--pkgs/development/tools/scaff/default.nix26
-rw-r--r--pkgs/development/tools/scalafix/default.nix3
-rw-r--r--pkgs/development/tools/scry/default.nix20
-rw-r--r--pkgs/development/tools/scry/fix_for_crystal_0_28_and_above.patch20
-rw-r--r--pkgs/development/tools/sd-local/default.nix6
-rw-r--r--pkgs/development/tools/selenium/selendroid/default.nix3
-rw-r--r--pkgs/development/tools/selenium/server/default.nix3
-rw-r--r--pkgs/development/tools/skaffold/default.nix42
-rw-r--r--pkgs/development/tools/skopeo/default.nix4
-rw-r--r--pkgs/development/tools/so/default.nix6
-rw-r--r--pkgs/development/tools/sourcetrail/default.nix136
-rw-r--r--pkgs/development/tools/sourcetrail/python.nix8
-rw-r--r--pkgs/development/tools/spicy/default.nix28
-rw-r--r--pkgs/development/tools/spicy/deps.nix56
-rw-r--r--pkgs/development/tools/sslmate/default.nix3
-rw-r--r--pkgs/development/tools/sumneko-lua-language-server/default.nix4
-rw-r--r--pkgs/development/tools/the-way/default.nix8
-rw-r--r--pkgs/development/tools/thrust/default.nix3
-rw-r--r--pkgs/development/tools/tracy/default.nix4
-rw-r--r--pkgs/development/tools/trellis/default.nix4
-rw-r--r--pkgs/development/tools/vultr-cli/default.nix4
-rw-r--r--pkgs/development/tools/wasm-pack/default.nix6
-rw-r--r--pkgs/development/tools/wasm-pack/update-deps.patch3625
-rw-r--r--pkgs/development/tools/wire/default.nix6
-rw-r--r--pkgs/development/tools/yaml2json/default.nix10
-rw-r--r--pkgs/development/tools/yaml2json/deps.nix11
-rw-r--r--pkgs/development/tools/yq-go/default.nix6
-rw-r--r--pkgs/development/tools/ytt/default.nix4
-rw-r--r--pkgs/development/web/cog/default.nix2
-rw-r--r--pkgs/development/web/lucky-cli/default.nix4
-rw-r--r--pkgs/development/web/newman/node-composition.nix8
-rw-r--r--pkgs/development/web/newman/node-env.nix45
-rw-r--r--pkgs/development/web/newman/node-packages.nix789
-rw-r--r--pkgs/development/web/nodejs/nodejs.nix2
-rw-r--r--pkgs/development/web/nodejs/v10.nix4
-rw-r--r--pkgs/development/web/nodejs/v12.nix4
-rw-r--r--pkgs/development/web/nodejs/v14.nix4
-rw-r--r--pkgs/development/web/nodejs/v15.nix4
-rw-r--r--pkgs/development/web/remarkjs/node-packages.nix2054
-rw-r--r--pkgs/development/web/remarkjs/nodepkgs.nix8
-rw-r--r--pkgs/games/0verkill/default.nix39
-rw-r--r--pkgs/games/abuse/abuse.sh18
-rw-r--r--pkgs/games/abuse/default.nix54
-rw-r--r--pkgs/games/airstrike/default.nix3
-rw-r--r--pkgs/games/alephone/default.nix2
-rw-r--r--pkgs/games/anki/bin.nix6
-rw-r--r--pkgs/games/armagetronad/default.nix38
-rw-r--r--pkgs/games/assaultcube/default.nix2
-rw-r--r--pkgs/games/black-hole-solver/default.nix30
-rw-r--r--pkgs/games/blobwars/default.nix34
-rw-r--r--pkgs/games/chessdb/default.nix3
-rw-r--r--pkgs/games/ckan/default.nix3
-rw-r--r--pkgs/games/cockatrice/default.nix4
-rw-r--r--pkgs/games/crawl/default.nix8
-rw-r--r--pkgs/games/dwarf-fortress/dwarf-therapist/default.nix2
-rw-r--r--pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix2
-rw-r--r--pkgs/games/enigma/default.nix32
-rw-r--r--pkgs/games/ezquake/default.nix4
-rw-r--r--pkgs/games/factorio/default.nix5
-rw-r--r--pkgs/games/factorio/versions.json48
-rw-r--r--pkgs/games/fairymax/default.nix4
-rw-r--r--pkgs/games/flightgear/default.nix2
-rw-r--r--pkgs/games/freeciv/default.nix6
-rw-r--r--pkgs/games/frozen-bubble/default.nix18
-rw-r--r--pkgs/games/gcs/default.nix3
-rw-r--r--pkgs/games/gimx/default.nix72
-rw-r--r--pkgs/games/gimx/ds4.patch16
-rw-r--r--pkgs/games/gimx/env.patch30
-rw-r--r--pkgs/games/gimx/variant.nix14
-rw-r--r--pkgs/games/gogui/default.nix3
-rw-r--r--pkgs/games/gtypist/default.nix3
-rw-r--r--pkgs/games/leela-zero/default.nix2
-rw-r--r--pkgs/games/legendary-gl/default.nix11
-rw-r--r--pkgs/games/mindustry/default.nix12
-rw-r--r--pkgs/games/minecraft/default.nix4
-rw-r--r--pkgs/games/mrrescue/default.nix3
-rw-r--r--pkgs/games/nethack/default.nix2
-rw-r--r--pkgs/games/newtonwars/default.nix3
-rw-r--r--pkgs/games/nottetris2/default.nix4
-rw-r--r--pkgs/games/openmw/default.nix3
-rw-r--r--pkgs/games/openmw/tes3mp.nix2
-rw-r--r--pkgs/games/openra/mods.nix1
-rw-r--r--pkgs/games/osu-lazer/default.nix17
-rw-r--r--pkgs/games/osu-lazer/deps.nix985
-rw-r--r--pkgs/games/osu-lazer/osu.runtimeconfig.json4
-rwxr-xr-xpkgs/games/osu-lazer/update.sh2
-rw-r--r--pkgs/games/papermc/default.nix10
-rw-r--r--pkgs/games/performous/default.nix4
-rw-r--r--pkgs/games/pioneer/default.nix4
-rw-r--r--pkgs/games/portmod/default.nix4
-rw-r--r--pkgs/games/r2mod_cli/default.nix6
-rw-r--r--pkgs/games/racer/default.nix4
-rw-r--r--pkgs/games/runelite/default.nix2
-rw-r--r--pkgs/games/scid/default.nix3
-rw-r--r--pkgs/games/shattered-pixel-dungeon/default.nix15
-rw-r--r--pkgs/games/sil/default.nix3
-rw-r--r--pkgs/games/snipes/default.nix6
-rw-r--r--pkgs/games/steam/fhsenv.nix20
-rw-r--r--pkgs/games/stockfish/default.nix26
-rw-r--r--pkgs/games/super-tux-kart/default.nix71
-rw-r--r--pkgs/games/uchess/default.nix32
-rw-r--r--pkgs/games/unciv/default.nix4
-rw-r--r--pkgs/games/vassal/default.nix2
-rw-r--r--pkgs/games/vitetris/default.nix4
-rw-r--r--pkgs/games/wargus/default.nix39
-rw-r--r--pkgs/games/wargus/stratagus.nix35
-rw-r--r--pkgs/games/widelands/default.nix12
-rw-r--r--pkgs/games/zdoom/bcc-git.nix2
-rw-r--r--pkgs/games/zod/default.nix3
-rw-r--r--pkgs/misc/base16-builder/node-packages-generated.nix333
-rw-r--r--pkgs/misc/base16-builder/node-packages.nix10
-rw-r--r--pkgs/misc/base16-builder/supplement.nix153
-rw-r--r--pkgs/misc/cups/drivers/cnijfilter2/default.nix23
-rw-r--r--pkgs/misc/cups/drivers/googlecloudprint/default.nix64
-rw-r--r--pkgs/misc/drivers/epson-escpr2/default.nix8
-rw-r--r--pkgs/misc/drivers/spacenavd/configure-socket-path.patch118
-rw-r--r--pkgs/misc/drivers/spacenavd/default.nix32
-rw-r--r--pkgs/misc/emulators/blastem/default.nix3
-rw-r--r--pkgs/misc/emulators/cen64/default.nix29
-rw-r--r--pkgs/misc/emulators/citra/default.nix2
-rw-r--r--pkgs/misc/emulators/dlx/default.nix6
-rw-r--r--pkgs/misc/emulators/dolphin-emu/default.nix4
-rw-r--r--pkgs/misc/emulators/dolphin-emu/master.nix10
-rw-r--r--pkgs/misc/emulators/libdsk/default.nix4
-rw-r--r--pkgs/misc/emulators/mednaffe/default.nix4
-rw-r--r--pkgs/misc/emulators/nestopia/default.nix4
-rw-r--r--pkgs/misc/emulators/ppsspp/default.nix4
-rw-r--r--pkgs/misc/emulators/py65/default.nix25
-rw-r--r--pkgs/misc/emulators/retroarch/cores.nix4
-rw-r--r--pkgs/misc/emulators/retroarch/wrapper.nix2
-rw-r--r--pkgs/misc/emulators/ryujinx/default.nix12
-rwxr-xr-xpkgs/misc/emulators/ryujinx/fetch-deps.sh3
-rw-r--r--pkgs/misc/emulators/sameboy/default.nix25
-rw-r--r--pkgs/misc/emulators/simh/default.nix2
-rw-r--r--pkgs/misc/emulators/stella/default.nix27
-rw-r--r--pkgs/misc/emulators/wine/cert-path-stable.patch24
-rw-r--r--pkgs/misc/emulators/wine/sources.nix16
-rw-r--r--pkgs/misc/emulators/yuzu/base.nix88
-rw-r--r--pkgs/misc/emulators/yuzu/default.nix71
-rw-r--r--pkgs/misc/jackaudio/default.nix3
-rw-r--r--pkgs/misc/lightspark/default.nix4
-rw-r--r--pkgs/misc/lilypond/with-fonts.nix3
-rw-r--r--pkgs/misc/screensavers/electricsheep/default.nix4
-rw-r--r--pkgs/misc/screensavers/pipes/default.nix2
-rw-r--r--pkgs/misc/screensavers/rss-glx/default.nix6
-rw-r--r--pkgs/misc/tmux-plugins/default.nix6
-rw-r--r--pkgs/misc/uboot/default.nix27
-rw-r--r--pkgs/misc/vim-plugins/generated.nix1174
-rw-r--r--pkgs/misc/vim-plugins/overrides.nix566
-rwxr-xr-xpkgs/misc/vim-plugins/update.py4
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names28
-rw-r--r--pkgs/misc/vscode-extensions/default.nix98
-rw-r--r--pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json8
-rw-r--r--pkgs/misc/vscode-extensions/terraform/default.nix25
-rw-r--r--pkgs/misc/vscode-extensions/terraform/fix-terraform-ls.patch26
-rw-r--r--pkgs/misc/vscode-extensions/vscode-lldb/build-deps/package.json44
-rw-r--r--pkgs/misc/vscode-extensions/vscode-lldb/cmake-build-extension-only.patch39
-rw-r--r--pkgs/misc/vscode-extensions/vscode-lldb/default.nix117
-rw-r--r--pkgs/misc/vscode-extensions/vscode-lldb/lldb.nix23
-rwxr-xr-xpkgs/misc/vscode-extensions/vscode-lldb/update.sh35
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/CommonCrypto/default.nix28
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/ICU/clang-5.patch22
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/ICU/default.nix55
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libc/headers.txt138
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libinfo/default.nix36
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libsystem/headers.txt1727
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/architecture/default.nix18
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/default.nix25
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/default.nix81
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/developer-tools-11.3.1.nix8
-rwxr-xr-xpkgs/os-specific/darwin/apple-source-releases/generate-sdk-packages.sh29
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/hfs/default.nix35
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/launchd/default.nix14
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libclosure/default.nix5
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix29
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libplatform/default.nix24
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libpthread/default.nix34
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libutil/default.nix8
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/macos-11.0.1.nix46
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/removefile/default.nix5
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/xnu/headers.txt1318
-rw-r--r--pkgs/os-specific/darwin/goku/default.nix6
-rw-r--r--pkgs/os-specific/darwin/impure-cmds/default.nix34
-rw-r--r--pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix5
-rw-r--r--pkgs/os-specific/linux/acpi-call/default.nix4
-rw-r--r--pkgs/os-specific/linux/akvcam/default.nix1
-rw-r--r--pkgs/os-specific/linux/alsa-plugins/default.nix3
-rw-r--r--pkgs/os-specific/linux/alsa-utils/default.nix4
-rw-r--r--pkgs/os-specific/linux/aseq2json/default.nix28
-rw-r--r--pkgs/os-specific/linux/audit/default.nix10
-rw-r--r--pkgs/os-specific/linux/audit/patches/weak-symbols.patch147
-rw-r--r--pkgs/os-specific/linux/btfs/default.nix4
-rw-r--r--pkgs/os-specific/linux/busybox/default.nix4
-rw-r--r--pkgs/os-specific/linux/compsize/default.nix6
-rw-r--r--pkgs/os-specific/linux/criu/default.nix12
-rw-r--r--pkgs/os-specific/linux/ena/default.nix11
-rw-r--r--pkgs/os-specific/linux/eudev/default.nix4
-rw-r--r--pkgs/os-specific/linux/firejail/default.nix39
-rw-r--r--pkgs/os-specific/linux/firejail/default.upstream3
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix6
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-manager/default.nix6
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch35
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/default.nix23
-rw-r--r--pkgs/os-specific/linux/flashbench/default.nix21
-rw-r--r--pkgs/os-specific/linux/fscryptctl/default.nix30
-rw-r--r--pkgs/os-specific/linux/fscryptctl/legacy.nix51
-rw-r--r--pkgs/os-specific/linux/fuse/default.nix4
-rw-r--r--pkgs/os-specific/linux/gradm/default.nix4
-rw-r--r--pkgs/os-specific/linux/hal-flash/default.nix29
-rw-r--r--pkgs/os-specific/linux/hwdata/default.nix10
-rw-r--r--pkgs/os-specific/linux/ipset/default.nix4
-rw-r--r--pkgs/os-specific/linux/iptables/default.nix4
-rw-r--r--pkgs/os-specific/linux/iputils/default.nix24
-rw-r--r--pkgs/os-specific/linux/kernel-headers/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix21
-rw-r--r--pkgs/os-specific/linux/kernel/hardened/patches.json24
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.11.nix18
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-libre.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-lqx.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rt-5.10.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rt-5.4.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix1
-rw-r--r--pkgs/os-specific/linux/kernel/linux-zen.nix4
-rwxr-xr-xpkgs/os-specific/linux/kernel/update-rt.sh3
-rw-r--r--pkgs/os-specific/linux/libaio/default.nix2
-rw-r--r--pkgs/os-specific/linux/libcap/default.nix4
-rw-r--r--pkgs/os-specific/linux/libsemanage/default.nix10
-rw-r--r--pkgs/os-specific/linux/libvolume_id/default.nix2
-rw-r--r--pkgs/os-specific/linux/linuxptp/default.nix2
-rw-r--r--pkgs/os-specific/linux/lxcfs/default.nix4
-rw-r--r--pkgs/os-specific/linux/mcelog/default.nix4
-rw-r--r--pkgs/os-specific/linux/microcode/intel.nix4
-rw-r--r--pkgs/os-specific/linux/musl-fts/default.nix25
-rw-r--r--pkgs/os-specific/linux/musl-obstack/default.nix26
-rw-r--r--pkgs/os-specific/linux/musl/default.nix22
-rw-r--r--pkgs/os-specific/linux/nftables/default.nix4
-rw-r--r--pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh4
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/nvidia-setttings-parallel-build.patch12
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/settings.nix6
-rw-r--r--pkgs/os-specific/linux/nvme-cli/default.nix5
-rw-r--r--pkgs/os-specific/linux/open-isns/default.nix19
-rw-r--r--pkgs/os-specific/linux/openvswitch/default.nix8
-rw-r--r--pkgs/os-specific/linux/openvswitch/lts.nix5
-rw-r--r--pkgs/os-specific/linux/pam/default.nix16
-rw-r--r--pkgs/os-specific/linux/pam_gnupg/default.nix4
-rw-r--r--pkgs/os-specific/linux/pcm/default.nix4
-rw-r--r--pkgs/os-specific/linux/pipework/default.nix2
-rw-r--r--pkgs/os-specific/linux/power-profiles-daemon/default.nix66
-rw-r--r--pkgs/os-specific/linux/powerstat/default.nix4
-rw-r--r--pkgs/os-specific/linux/psmisc/default.nix4
-rw-r--r--pkgs/os-specific/linux/rtl8821ce/default.nix9
-rw-r--r--pkgs/os-specific/linux/rtlwifi_new/default.nix1
-rw-r--r--pkgs/os-specific/linux/switcheroo-control/default.nix58
-rw-r--r--pkgs/os-specific/linux/syslinux/default.nix4
-rw-r--r--pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch42
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix164
-rw-r--r--pkgs/os-specific/linux/wireguard/default.nix4
-rw-r--r--pkgs/os-specific/linux/wpa_supplicant/default.nix23
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix48
-rw-r--r--pkgs/os-specific/solo5/default.nix4
-rw-r--r--pkgs/servers/adminer/default.nix4
-rw-r--r--pkgs/servers/ankisyncd/default.nix10
-rw-r--r--pkgs/servers/apache-kafka/default.nix3
-rw-r--r--pkgs/servers/bazarr/default.nix4
-rw-r--r--pkgs/servers/computing/slurm-spank-x11/default.nix2
-rw-r--r--pkgs/servers/computing/slurm/default.nix2
-rw-r--r--pkgs/servers/confluent-platform/default.nix3
-rw-r--r--pkgs/servers/dict/dictd-db.nix2
-rw-r--r--pkgs/servers/dict/dictd-wiktionary.nix31
-rw-r--r--pkgs/servers/dict/wiktionary/builder.sh8
-rw-r--r--pkgs/servers/dict/wiktionary/default.nix25
-rw-r--r--pkgs/servers/dict/wiktionary/latest_version.py42
-rwxr-xr-xpkgs/servers/dict/wiktionary/update.sh7
-rw-r--r--pkgs/servers/dict/wiktionary/wiktionary2dict.py (renamed from pkgs/servers/dict/wiktionary2dict.py)0
-rw-r--r--pkgs/servers/dns/bind/default.nix4
-rw-r--r--pkgs/servers/dns/coredns/default.nix6
-rw-r--r--pkgs/servers/dns/knot-resolver/default.nix7
-rw-r--r--pkgs/servers/etcd/3.4.nix6
-rw-r--r--pkgs/servers/etebase/default.nix57
-rw-r--r--pkgs/servers/etebase/secret.patch26
-rw-r--r--pkgs/servers/exhibitor/default.nix3
-rw-r--r--pkgs/servers/fishnet/assets.nix57
-rw-r--r--pkgs/servers/fishnet/default.nix37
-rw-r--r--pkgs/servers/foundationdb/default.nix1
-rw-r--r--pkgs/servers/foundationdb/patches/include-fixes-6.0.patch137
-rw-r--r--pkgs/servers/gemini/agate/default.nix39
-rw-r--r--pkgs/servers/gerbera/default.nix45
-rw-r--r--pkgs/servers/gonic/default.nix49
-rw-r--r--pkgs/servers/gonic/deps.nix795
-rw-r--r--pkgs/servers/gpsd/default.nix16
-rw-r--r--pkgs/servers/gpsd/sconstruct-env-fixes.patch7
-rw-r--r--pkgs/servers/h2/default.nix2
-rw-r--r--pkgs/servers/hbase/default.nix2
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix140
-rw-r--r--pkgs/servers/home-assistant/default.nix86
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rwxr-xr-xpkgs/servers/home-assistant/parse-requirements.py32
-rw-r--r--pkgs/servers/http/apt-cacher-ng/default.nix4
-rw-r--r--pkgs/servers/http/darkhttpd/default.nix19
-rw-r--r--pkgs/servers/http/envoy/default.nix2
-rw-r--r--pkgs/servers/http/jetty/default.nix7
-rw-r--r--pkgs/servers/http/lighttpd/default.nix4
-rw-r--r--pkgs/servers/http/nginx/mainline.nix4
-rw-r--r--pkgs/servers/http/nginx/modules.nix43
-rw-r--r--pkgs/servers/http/unit/default.nix3
-rw-r--r--pkgs/servers/irc/ngircd/default.nix4
-rw-r--r--pkgs/servers/irc/solanum/default.nix2
-rw-r--r--pkgs/servers/isso/default.nix8
-rw-r--r--pkgs/servers/jackett/default.nix6
-rw-r--r--pkgs/servers/jetbrains/youtrack.nix2
-rw-r--r--pkgs/servers/jicofo/default.nix8
-rw-r--r--pkgs/servers/jitsi-videobridge/default.nix8
-rw-r--r--pkgs/servers/keycloak/default.nix4
-rw-r--r--pkgs/servers/klipper/default.nix9
-rw-r--r--pkgs/servers/livepeer/default.nix6
-rw-r--r--pkgs/servers/ma1sd/0001-gradle.patch20
-rw-r--r--pkgs/servers/ma1sd/default.nix24
-rw-r--r--pkgs/servers/maddy/default.nix26
-rw-r--r--pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix12
-rw-r--r--pkgs/servers/mail/mailman/wrapped.nix2
-rw-r--r--pkgs/servers/mail/spamassassin/default.nix3
-rw-r--r--pkgs/servers/mastodon/default.nix121
-rw-r--r--pkgs/servers/mastodon/gemset.nix3006
-rw-r--r--pkgs/servers/mastodon/package.json193
-rw-r--r--pkgs/servers/mastodon/resolutions.patch67
-rw-r--r--pkgs/servers/mastodon/source.nix11
-rw-r--r--pkgs/servers/mastodon/update.nix21
-rwxr-xr-xpkgs/servers/mastodon/update.sh121
-rw-r--r--pkgs/servers/mastodon/version.nix1
-rw-r--r--pkgs/servers/mastodon/version.patch9
-rw-r--r--pkgs/servers/mastodon/yarn.nix12181
-rw-r--r--pkgs/servers/matrix-synapse/default.nix4
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix14
-rwxr-xr-x[-rw-r--r--]pkgs/servers/matrix-synapse/matrix-appservice-slack/generate-dependencies.sh14
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-slack/node-composition.nix8
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix1259
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json3
-rw-r--r--pkgs/servers/mattermost/matterircd.nix4
-rw-r--r--pkgs/servers/metabase/default.nix4
-rw-r--r--pkgs/servers/miniflux/default.nix10
-rw-r--r--pkgs/servers/minio/default.nix6
-rw-r--r--pkgs/servers/misc/navidrome/default.nix4
-rw-r--r--pkgs/servers/monitoring/fusion-inventory/default.nix3
-rw-r--r--pkgs/servers/monitoring/grafana-agent/default.nix4
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix12
-rw-r--r--pkgs/servers/monitoring/longview/default.nix3
-rw-r--r--pkgs/servers/monitoring/prometheus/flow-exporter.nix23
-rw-r--r--pkgs/servers/monitoring/prometheus/jmx-httpserver.nix3
-rw-r--r--pkgs/servers/monitoring/prometheus/promscale.nix15
-rw-r--r--pkgs/servers/monitoring/prometheus/pushgateway.nix4
-rw-r--r--pkgs/servers/monitoring/sensu-go/default.nix6
-rw-r--r--pkgs/servers/monitoring/seyren/default.nix3
-rw-r--r--pkgs/servers/monitoring/telegraf/default.nix14
-rw-r--r--pkgs/servers/monitoring/thanos/default.nix6
-rw-r--r--pkgs/servers/monitoring/uchiwa/default.nix2
-rw-r--r--pkgs/servers/monitoring/zipkin/default.nix2
-rw-r--r--pkgs/servers/mpd/default.nix12
-rw-r--r--pkgs/servers/mpd/libmpdclient.nix (renamed from pkgs/servers/mpd/clientlib.nix)16
-rw-r--r--pkgs/servers/nats-streaming-server/default.nix4
-rw-r--r--pkgs/servers/nextcloud/default.nix4
-rw-r--r--pkgs/servers/nfs-ganesha/default.nix4
-rw-r--r--pkgs/servers/nosql/cassandra/2.1.nix4
-rw-r--r--pkgs/servers/nosql/cassandra/2.2.nix4
-rw-r--r--pkgs/servers/nosql/cassandra/3.0.nix4
-rw-r--r--pkgs/servers/nosql/cassandra/3.11.nix4
-rw-r--r--pkgs/servers/nosql/cassandra/generic.nix7
-rw-r--r--pkgs/servers/nosql/influxdb/default.nix6
-rw-r--r--pkgs/servers/nosql/influxdb2/default.nix18
-rw-r--r--pkgs/servers/nosql/neo4j/default.nix3
-rw-r--r--pkgs/servers/nosql/redis/default.nix15
-rw-r--r--pkgs/servers/nosql/rethinkdb/default.nix4
-rw-r--r--pkgs/servers/oauth2_proxy/default.nix6
-rw-r--r--pkgs/servers/openafs/1.8/module.nix14
-rw-r--r--pkgs/servers/pg_tileserv/default.nix4
-rw-r--r--pkgs/servers/plex/raw.nix9
-rw-r--r--pkgs/servers/rippled/default.nix2
-rw-r--r--pkgs/servers/rippled/validator-keys-tool.nix28
-rw-r--r--pkgs/servers/roon-server/default.nix10
-rw-r--r--pkgs/servers/roundcube/default.nix4
-rw-r--r--pkgs/servers/routinator/default.nix6
-rw-r--r--pkgs/servers/rtsp-simple-server/default.nix6
-rw-r--r--pkgs/servers/sabnzbd/default.nix3
-rw-r--r--pkgs/servers/samba/4.x.nix3
-rw-r--r--pkgs/servers/search/elasticsearch/6.x.nix3
-rw-r--r--pkgs/servers/search/elasticsearch/7.x.nix3
-rw-r--r--pkgs/servers/sickbeard/sickgear.nix4
-rw-r--r--pkgs/servers/sql/mariadb/galera/default.nix5
-rw-r--r--pkgs/servers/sql/monetdb/default.nix4
-rw-r--r--pkgs/servers/sql/mysql/5.7.x.nix5
-rw-r--r--pkgs/servers/sql/patroni/default.nix14
-rw-r--r--pkgs/servers/sql/postgresql/default.nix28
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/plpgsql_check.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/plr.nix31
-rw-r--r--pkgs/servers/sql/postgresql/ext/timescaledb.nix4
-rw-r--r--pkgs/servers/sql/postgresql/packages.nix2
-rw-r--r--pkgs/servers/swego/default.nix6
-rw-r--r--pkgs/servers/tailscale/default.nix9
-rw-r--r--pkgs/servers/tarssh/default.nix6
-rw-r--r--pkgs/servers/tautulli/default.nix2
-rw-r--r--pkgs/servers/teleport/default.nix32
-rw-r--r--pkgs/servers/tracing/tempo/default.nix4
-rw-r--r--pkgs/servers/traefik/default.nix6
-rw-r--r--pkgs/servers/ums/default.nix2
-rw-r--r--pkgs/servers/uwsgi/default.nix2
-rw-r--r--pkgs/servers/varnish/dynamic.nix4
-rw-r--r--pkgs/servers/web-apps/cryptpad/node-packages-generated.nix40
-rw-r--r--pkgs/servers/web-apps/cryptpad/node-packages.nix8
-rw-r--r--pkgs/servers/web-apps/galene/default.nix30
-rw-r--r--pkgs/servers/web-apps/jitsi-meet/default.nix8
-rw-r--r--pkgs/servers/web-apps/virtlyst/default.nix2
-rw-r--r--pkgs/servers/web-apps/wallabag/default.nix4
-rw-r--r--pkgs/servers/web-apps/whitebophir/node-packages-generated.nix164
-rw-r--r--pkgs/servers/web-apps/whitebophir/node-packages.nix8
-rw-r--r--pkgs/servers/xandikos/default.nix4
-rw-r--r--pkgs/servers/xmpp/biboumi/default.nix9
-rw-r--r--pkgs/servers/xmpp/ejabberd/default.nix4
-rw-r--r--pkgs/servers/xmpp/prosody/default.nix8
-rw-r--r--pkgs/servers/xmpp/pyIRCt/default.nix41
-rw-r--r--pkgs/servers/xmpp/pyMAILt/default.nix39
-rw-r--r--pkgs/servers/zigbee2mqtt/node-env.nix (renamed from pkgs/development/compilers/elm/packages/node-env.nix)16
-rw-r--r--pkgs/servers/zigbee2mqtt/node.nix2
-rw-r--r--pkgs/servers/zookeeper/default.nix3
-rw-r--r--pkgs/shells/any-nix-shell/default.nix4
-rw-r--r--pkgs/shells/fish/babelfish.nix6
-rw-r--r--pkgs/shells/fish/default.nix38
-rw-r--r--pkgs/shells/fish/wrapper.nix4
-rw-r--r--pkgs/shells/liquidprompt/default.nix4
-rw-r--r--pkgs/shells/nushell/default.nix6
-rw-r--r--pkgs/shells/oil/default.nix4
-rw-r--r--pkgs/shells/tcsh/default.nix3
-rw-r--r--pkgs/shells/zsh/oh-my-zsh/default.nix6
-rw-r--r--pkgs/shells/zsh/zinit/default.nix (renamed from pkgs/shells/zsh/zplugin/default.nix)14
-rw-r--r--pkgs/shells/zsh/zsh-autopair/default.nix25
-rw-r--r--pkgs/shells/zsh/zsh-fzf-tab/default.nix6
-rw-r--r--pkgs/shells/zsh/zsh-prezto/default.nix5
-rw-r--r--pkgs/shells/zsh/zsh-system-clipboard/default.nix25
-rw-r--r--pkgs/stdenv/freebsd/default.nix194
-rw-r--r--pkgs/stdenv/freebsd/trivial-bootstrap.sh218
-rw-r--r--pkgs/stdenv/freebsd/trivial-builder.nix13
-rwxr-xr-xpkgs/stdenv/freebsd/trivial-builder.sh10
-rw-r--r--pkgs/stdenv/generic/check-meta.nix42
-rw-r--r--pkgs/stdenv/generic/default.nix8
-rw-r--r--pkgs/stdenv/generic/setup.sh2
-rw-r--r--pkgs/test/patch-shebangs/default.nix76
-rw-r--r--pkgs/tools/X11/nx-libs/default.nix6
-rw-r--r--pkgs/tools/X11/opentabletdriver/default.nix6
-rw-r--r--pkgs/tools/X11/run-scaled/default.nix2
-rw-r--r--pkgs/tools/X11/setroot/default.nix2
-rw-r--r--pkgs/tools/X11/wmutils-core/default.nix8
-rw-r--r--pkgs/tools/X11/xbindkeys-config/default.nix4
-rw-r--r--pkgs/tools/X11/xdg-user-dirs/default.nix3
-rw-r--r--pkgs/tools/X11/xkb-switch/default.nix4
-rw-r--r--pkgs/tools/X11/xsettingsd/SConstruct.patch13
-rw-r--r--pkgs/tools/X11/xsettingsd/default.nix25
-rw-r--r--pkgs/tools/X11/xwallpaper/default.nix4
-rw-r--r--pkgs/tools/admin/amazon-ecr-credential-helper/default.nix4
-rw-r--r--pkgs/tools/admin/aws-mfa/default.nix1
-rw-r--r--pkgs/tools/admin/awscli/default.nix12
-rw-r--r--pkgs/tools/admin/awslogs/default.nix14
-rw-r--r--pkgs/tools/admin/clair/default.nix6
-rw-r--r--pkgs/tools/admin/docker-credential-gcr/default.nix4
-rw-r--r--pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--pkgs/tools/admin/exoscale-cli/default.nix4
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/cloud_sql_proxy_path.patch36
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/default.nix18
-rw-r--r--pkgs/tools/admin/lxd/default.nix4
-rw-r--r--pkgs/tools/admin/netplan/default.nix65
-rw-r--r--pkgs/tools/admin/procs/default.nix6
-rw-r--r--pkgs/tools/admin/pulumi/data.nix162
-rwxr-xr-xpkgs/tools/admin/pulumi/update.sh63
-rw-r--r--pkgs/tools/admin/salt/default.nix4
-rw-r--r--pkgs/tools/admin/ssh-import-id/default.nix6
-rw-r--r--pkgs/tools/admin/ssmsh/default.nix6
-rw-r--r--pkgs/tools/admin/stripe-cli/default.nix6
-rw-r--r--pkgs/tools/admin/trivy/default.nix6
-rw-r--r--pkgs/tools/admin/turbovnc/default.nix111
-rw-r--r--pkgs/tools/archivers/fsarchiver/default.nix4
-rw-r--r--pkgs/tools/archivers/unar/default.nix4
-rw-r--r--pkgs/tools/archivers/unp/default.nix3
-rw-r--r--pkgs/tools/archivers/xtrt/default.nix36
-rw-r--r--pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--pkgs/tools/audio/beets/default.nix9
-rw-r--r--pkgs/tools/audio/mpdas/default.nix10
-rw-r--r--pkgs/tools/audio/mpdcron/default.nix54
-rw-r--r--pkgs/tools/audio/mpris-scrobbler/default.nix4
-rw-r--r--pkgs/tools/audio/yabridge/default.nix127
-rw-r--r--pkgs/tools/audio/yabridgectl/default.nix23
-rw-r--r--pkgs/tools/audio/yabridgectl/libyabridge-from-nix-profiles.patch70
-rw-r--r--pkgs/tools/backup/bacula/default.nix4
-rw-r--r--pkgs/tools/backup/btrbk/default.nix8
-rw-r--r--pkgs/tools/backup/diskrsync/default.nix2
-rw-r--r--pkgs/tools/backup/dump/default.nix4
-rw-r--r--pkgs/tools/backup/duplicati/default.nix2
-rw-r--r--pkgs/tools/backup/duplicity/default.nix4
-rw-r--r--pkgs/tools/backup/duply/default.nix3
-rw-r--r--pkgs/tools/backup/restic/0001-Skip-testing-restore-with-permission-failure.patch25
-rw-r--r--pkgs/tools/backup/restic/default.nix11
-rw-r--r--pkgs/tools/backup/sanoid/default.nix4
-rw-r--r--pkgs/tools/backup/store-backup/default.nix3
-rw-r--r--pkgs/tools/backup/wal-g/default.nix5
-rw-r--r--pkgs/tools/backup/zrepl/default.nix31
-rw-r--r--pkgs/tools/bluetooth/blueman/default.nix4
-rw-r--r--pkgs/tools/bootloaders/refind/0001-Fix-GCC-10-compile-problem.patch25
-rw-r--r--pkgs/tools/bootloaders/refind/default.nix13
-rw-r--r--pkgs/tools/cd-dvd/bchunk/default.nix2
-rw-r--r--pkgs/tools/cd-dvd/cue2pops/default.nix12
-rw-r--r--pkgs/tools/compression/bzip2/default.nix2
-rw-r--r--pkgs/tools/compression/hactool/default.nix2
-rw-r--r--pkgs/tools/compression/lrzip/default.nix14
-rw-r--r--pkgs/tools/compression/ncompress/default.nix9
-rw-r--r--pkgs/tools/compression/ncompress/makefile.patch31
-rw-r--r--pkgs/tools/compression/pigz/default.nix4
-rw-r--r--pkgs/tools/filesystems/bindfs/default.nix8
-rw-r--r--pkgs/tools/filesystems/btrfs-progs/default.nix4
-rw-r--r--pkgs/tools/filesystems/catcli/default.nix4
-rw-r--r--pkgs/tools/filesystems/ceph/default.nix10
-rw-r--r--pkgs/tools/filesystems/e2fsprogs/default.nix2
-rw-r--r--pkgs/tools/filesystems/e2tools/default.nix16
-rw-r--r--pkgs/tools/filesystems/fuse-7z-ng/default.nix4
-rw-r--r--pkgs/tools/filesystems/fwanalyzer/default.nix39
-rw-r--r--pkgs/tools/filesystems/gcsfuse/default.nix4
-rw-r--r--pkgs/tools/filesystems/glusterfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/mergerfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/rar2fs/default.nix4
-rw-r--r--pkgs/tools/filesystems/rmfuse/default.nix26
-rw-r--r--pkgs/tools/filesystems/rmfuse/poetry-git-overlay.nix14
-rw-r--r--pkgs/tools/filesystems/rmfuse/poetry.lock547
-rw-r--r--pkgs/tools/filesystems/rmfuse/pyproject.toml15
-rw-r--r--pkgs/tools/filesystems/rmfuse/update5
-rw-r--r--pkgs/tools/filesystems/rmount/default.nix2
-rw-r--r--pkgs/tools/filesystems/s3fs/default.nix4
-rw-r--r--pkgs/tools/filesystems/smbnetfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/squashfs-tools-ng/default.nix4
-rw-r--r--pkgs/tools/filesystems/squashfs/0001-Mksquashfs-add-no-hardlinks-option.patch76
-rw-r--r--pkgs/tools/filesystems/squashfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/xtreemfs/default.nix3
-rw-r--r--pkgs/tools/filesystems/zerofree/default.nix17
-rw-r--r--pkgs/tools/games/ajour/default.nix6
-rw-r--r--pkgs/tools/graphics/diagrams-builder/default.nix2
-rw-r--r--pkgs/tools/graphics/dmtx-utils/default.nix51
-rw-r--r--pkgs/tools/graphics/dmtx-utils/default.upstream4
-rw-r--r--pkgs/tools/graphics/fgallery/default.nix3
-rw-r--r--pkgs/tools/graphics/gifski/default.nix6
-rw-r--r--pkgs/tools/graphics/gmic/default.nix4
-rw-r--r--pkgs/tools/graphics/icoutils/default.nix3
-rw-r--r--pkgs/tools/graphics/ldgallery/default.nix4
-rwxr-xr-xpkgs/tools/graphics/ldgallery/viewer/generate.sh8
-rw-r--r--pkgs/tools/graphics/ldgallery/viewer/node-composition.nix8
-rw-r--r--pkgs/tools/graphics/ldgallery/viewer/node-packages.nix18
-rw-r--r--pkgs/tools/graphics/lprof/default.nix38
-rw-r--r--pkgs/tools/graphics/lprof/keep-environment.patch16
-rw-r--r--pkgs/tools/graphics/lprof/lcms-1.17.patch13
-rw-r--r--pkgs/tools/graphics/luxcorerender/default.nix92
-rw-r--r--pkgs/tools/graphics/pdfread/default.nix3
-rw-r--r--pkgs/tools/graphics/pfstools/default.nix4
-rw-r--r--pkgs/tools/graphics/pngcheck/default.nix4
-rw-r--r--pkgs/tools/graphics/pngcrush/default.nix2
-rw-r--r--pkgs/tools/graphics/resvg/default.nix6
-rw-r--r--pkgs/tools/graphics/scrot/default.nix4
-rw-r--r--pkgs/tools/graphics/structure-synth/default.nix4
-rw-r--r--pkgs/tools/graphics/unpaper/default.nix4
-rw-r--r--pkgs/tools/graphics/vips/default.nix4
-rw-r--r--pkgs/tools/graphics/viu/default.nix9
-rw-r--r--pkgs/tools/graphics/welkin/default.nix3
-rw-r--r--pkgs/tools/graphics/zbar/default.nix4
-rw-r--r--pkgs/tools/inputmethods/evscript/default.nix1
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix2
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix5
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx5/with-addons.nix2
-rw-r--r--pkgs/tools/inputmethods/hime/default.nix2
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix6
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix8
-rw-r--r--pkgs/tools/inputmethods/ibus/default.nix4
-rw-r--r--pkgs/tools/misc/0x0/default.nix2
-rw-r--r--pkgs/tools/misc/anystyle-cli/Gemfile37
-rw-r--r--pkgs/tools/misc/anystyle-cli/Gemfile.lock99
-rw-r--r--pkgs/tools/misc/anystyle-cli/anystyle.gemspec52
-rw-r--r--pkgs/tools/misc/anystyle-cli/default.nix43
-rw-r--r--pkgs/tools/misc/anystyle-cli/gemset.nix1570
-rw-r--r--pkgs/tools/misc/arp-scan/default.nix4
-rw-r--r--pkgs/tools/misc/aspcud/default.nix4
-rw-r--r--pkgs/tools/misc/bat-extras/default.nix2
-rw-r--r--pkgs/tools/misc/bat/default.nix9
-rw-r--r--pkgs/tools/misc/bc/default.nix11
-rw-r--r--pkgs/tools/misc/bdf2psf/default.nix14
-rw-r--r--pkgs/tools/misc/bdf2sfd/default.nix4
-rw-r--r--pkgs/tools/misc/bmap-tools/default.nix10
-rw-r--r--pkgs/tools/misc/byobu/default.nix3
-rw-r--r--pkgs/tools/misc/calamares/default.nix4
-rw-r--r--pkgs/tools/misc/capture/default.nix2
-rw-r--r--pkgs/tools/misc/chafa/default.nix4
-rw-r--r--pkgs/tools/misc/chezmoi/default.nix6
-rw-r--r--pkgs/tools/misc/cht.sh/default.nix10
-rw-r--r--pkgs/tools/misc/cicero-tui/default.nix41
-rw-r--r--pkgs/tools/misc/cloc/default.nix5
-rw-r--r--pkgs/tools/misc/cod/default.nix2
-rw-r--r--pkgs/tools/misc/code-minimap/default.nix6
-rw-r--r--pkgs/tools/misc/convbin/default.nix2
-rw-r--r--pkgs/tools/misc/convfont/default.nix2
-rw-r--r--pkgs/tools/misc/convimg/default.nix2
-rw-r--r--pkgs/tools/misc/ddccontrol/default.nix52
-rw-r--r--pkgs/tools/misc/ddcutil/default.nix4
-rw-r--r--pkgs/tools/misc/debian-devscripts/default.nix3
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix28
-rw-r--r--pkgs/tools/misc/diffoscope/skip-failing-test.patch12
-rw-r--r--pkgs/tools/misc/dijo/default.nix6
-rw-r--r--pkgs/tools/misc/disfetch/default.nix4
-rw-r--r--pkgs/tools/misc/docker-ls/default.nix4
-rw-r--r--pkgs/tools/misc/dua/default.nix6
-rw-r--r--pkgs/tools/misc/duf/default.nix12
-rw-r--r--pkgs/tools/misc/dust/default.nix6
-rw-r--r--pkgs/tools/misc/edir/default.nix19
-rw-r--r--pkgs/tools/misc/entr/default.nix9
-rw-r--r--pkgs/tools/misc/esphome/default.nix8
-rw-r--r--pkgs/tools/misc/exa/default.nix6
-rw-r--r--pkgs/tools/misc/expect/default.nix7
-rw-r--r--pkgs/tools/misc/fend/default.nix12
-rw-r--r--pkgs/tools/misc/flameshot/default.nix4
-rw-r--r--pkgs/tools/misc/fluent-bit/default.nix9
-rw-r--r--pkgs/tools/misc/fontfor/default.nix41
-rw-r--r--pkgs/tools/misc/fontforge/default.nix25
-rw-r--r--pkgs/tools/misc/fwup/default.nix65
-rw-r--r--pkgs/tools/misc/fzf/default.nix14
-rw-r--r--pkgs/tools/misc/gammy/default.nix4
-rw-r--r--pkgs/tools/misc/geekbench/default.nix4
-rw-r--r--pkgs/tools/misc/goreleaser/default.nix6
-rw-r--r--pkgs/tools/misc/graylog/default.nix2
-rw-r--r--pkgs/tools/misc/grex/default.nix4
-rw-r--r--pkgs/tools/misc/grub/2.0x.nix30
-rw-r--r--pkgs/tools/misc/hddtemp/default.nix32
-rw-r--r--pkgs/tools/misc/hdf4/default.nix17
-rw-r--r--pkgs/tools/misc/hdf5/default.nix12
-rw-r--r--pkgs/tools/misc/hdfjava/default.nix27
-rw-r--r--pkgs/tools/misc/hdfview/default.nix55
-rw-r--r--pkgs/tools/misc/hdl-dump/default.nix13
-rw-r--r--pkgs/tools/misc/html-proofer/Gemfile.lock10
-rw-r--r--pkgs/tools/misc/html-proofer/gemset.nix24
-rw-r--r--pkgs/tools/misc/ili2c/default.nix4
-rw-r--r--pkgs/tools/misc/iotools/default.nix35
-rw-r--r--pkgs/tools/misc/ix/default.nix2
-rw-r--r--pkgs/tools/misc/jdupes/default.nix4
-rw-r--r--pkgs/tools/misc/jstest-gtk/default.nix29
-rw-r--r--pkgs/tools/misc/kak-lsp/default.nix12
-rw-r--r--pkgs/tools/misc/keychain/default.nix3
-rw-r--r--pkgs/tools/misc/krapslog/default.nix22
-rw-r--r--pkgs/tools/misc/lbdb/default.nix3
-rw-r--r--pkgs/tools/misc/lf/default.nix6
-rw-r--r--pkgs/tools/misc/lice/default.nix21
-rw-r--r--pkgs/tools/misc/licensor/default.nix15
-rw-r--r--pkgs/tools/misc/lnch/default.nix11
-rw-r--r--pkgs/tools/misc/lokalise2-cli/default.nix6
-rw-r--r--pkgs/tools/misc/man-db/default.nix4
-rwxr-xr-xpkgs/tools/misc/mcrypt/malloc_to_stdlib.patch2
-rw-r--r--pkgs/tools/misc/memtest86-efi/default.nix8
-rw-r--r--pkgs/tools/misc/microplane/default.nix4
-rw-r--r--pkgs/tools/misc/microplane/deps.nix4
-rw-r--r--pkgs/tools/misc/miniserve/default.nix9
-rw-r--r--pkgs/tools/misc/mongodb-compass/default.nix4
-rw-r--r--pkgs/tools/misc/moreutils/default.nix5
-rw-r--r--pkgs/tools/misc/mpdscribble/default.nix30
-rw-r--r--pkgs/tools/misc/mslink/default.nix30
-rw-r--r--pkgs/tools/misc/mysqltuner/default.nix27
-rw-r--r--pkgs/tools/misc/neofetch/default.nix10
-rw-r--r--pkgs/tools/misc/nix-direnv/default.nix9
-rw-r--r--pkgs/tools/misc/ocz-ssd-guru/default.nix2
-rw-r--r--pkgs/tools/misc/onefetch/default.nix3
-rw-r--r--pkgs/tools/misc/opentsdb/default.nix3
-rw-r--r--pkgs/tools/misc/oppai-ng/default.nix4
-rw-r--r--pkgs/tools/misc/os-prober/default.nix2
-rw-r--r--pkgs/tools/misc/osinfo-db-tools/default.nix4
-rw-r--r--pkgs/tools/misc/osm2pgsql/default.nix4
-rw-r--r--pkgs/tools/misc/parallel/default.nix19
-rw-r--r--pkgs/tools/misc/parallel/fix-max-line-length-allowed.diff17
-rw-r--r--pkgs/tools/misc/parted/default.nix4
-rw-r--r--pkgs/tools/misc/pb_cli/default.nix2
-rw-r--r--pkgs/tools/misc/pcb2gcode/default.nix4
-rw-r--r--pkgs/tools/misc/pgcenter/default.nix14
-rw-r--r--pkgs/tools/misc/phoronix-test-suite/default.nix4
-rw-r--r--pkgs/tools/misc/piston-cli/default.nix24
-rw-r--r--pkgs/tools/misc/pk2cmd/default.nix3
-rw-r--r--pkgs/tools/misc/plantuml/default.nix4
-rw-r--r--pkgs/tools/misc/plowshare/default.nix2
-rw-r--r--pkgs/tools/misc/ponysay/default.nix3
-rw-r--r--pkgs/tools/misc/powerline-go/default.nix13
-rw-r--r--pkgs/tools/misc/profile-cleaner/default.nix2
-rw-r--r--pkgs/tools/misc/pspg/default.nix4
-rw-r--r--pkgs/tools/misc/pubs/default.nix2
-rw-r--r--pkgs/tools/misc/pws/default.nix2
-rw-r--r--pkgs/tools/misc/rlwrap/default.nix32
-rw-r--r--pkgs/tools/misc/rpm-ostree/default.nix4
-rw-r--r--pkgs/tools/misc/savepagenow/default.nix25
-rw-r--r--pkgs/tools/misc/screen/default.nix9
-rw-r--r--pkgs/tools/misc/sfeed/default.nix4
-rw-r--r--pkgs/tools/misc/skim/default.nix6
-rw-r--r--pkgs/tools/misc/smenu/default.nix21
-rw-r--r--pkgs/tools/misc/snapper/default.nix2
-rw-r--r--pkgs/tools/misc/starship/default.nix6
-rw-r--r--pkgs/tools/misc/svtplay-dl/default.nix8
-rw-r--r--pkgs/tools/misc/swaglyrics/default.nix2
-rw-r--r--pkgs/tools/misc/tab-rs/default.nix6
-rw-r--r--pkgs/tools/misc/thefuck/default.nix16
-rw-r--r--pkgs/tools/misc/tldr/default.nix2
-rw-r--r--pkgs/tools/misc/tmux-cssh/default.nix2
-rw-r--r--pkgs/tools/misc/tmux-mem-cpu-load/default.nix23
-rw-r--r--pkgs/tools/misc/topgrade/default.nix10
-rw-r--r--pkgs/tools/misc/ttfautohint/default.nix2
-rw-r--r--pkgs/tools/misc/ttwatch/default.nix6
-rw-r--r--pkgs/tools/misc/uhubctl/default.nix10
-rw-r--r--pkgs/tools/misc/unclutter/default.nix2
-rw-r--r--pkgs/tools/misc/upterm/default.nix39
-rw-r--r--pkgs/tools/misc/uutils-coreutils/default.nix13
-rw-r--r--pkgs/tools/misc/venus/default.nix53
-rw-r--r--pkgs/tools/misc/vsh/default.nix6
-rw-r--r--pkgs/tools/misc/wimboot/default.nix13
-rw-r--r--pkgs/tools/misc/xvfb-run/default.nix2
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/misc/yubikey-manager-qt/default.nix4
-rw-r--r--pkgs/tools/misc/z-lua/default.nix4
-rw-r--r--pkgs/tools/misc/zoxide/default.nix11
-rw-r--r--pkgs/tools/networking/airfield/default.nix3
-rw-r--r--pkgs/tools/networking/airfield/node-packages.nix174
-rw-r--r--pkgs/tools/networking/airfield/node.nix8
-rw-r--r--pkgs/tools/networking/argus-clients/default.nix8
-rw-r--r--pkgs/tools/networking/atftp/default.nix7
-rw-r--r--pkgs/tools/networking/autossh/default.nix9
-rw-r--r--pkgs/tools/networking/boundary/default.nix62
-rwxr-xr-xpkgs/tools/networking/boundary/update.sh39
-rw-r--r--pkgs/tools/networking/carddav-util/default.nix2
-rw-r--r--pkgs/tools/networking/cassowary/default.nix6
-rw-r--r--pkgs/tools/networking/chisel/default.nix6
-rw-r--r--pkgs/tools/networking/clash/default.nix8
-rw-r--r--pkgs/tools/networking/connect/default.nix2
-rw-r--r--pkgs/tools/networking/connman/connman.nix4
-rw-r--r--pkgs/tools/networking/croc/default.nix6
-rw-r--r--pkgs/tools/networking/dhcp/default.nix4
-rw-r--r--pkgs/tools/networking/dnsmasq/default.nix4
-rw-r--r--pkgs/tools/networking/dnsproxy/default.nix4
-rw-r--r--pkgs/tools/networking/driftnet/default.nix67
-rw-r--r--pkgs/tools/networking/driftnet/fix-darwin-build.patch61
-rw-r--r--pkgs/tools/networking/ferm/default.nix4
-rw-r--r--pkgs/tools/networking/findomain/default.nix6
-rw-r--r--pkgs/tools/networking/flvstreamer/default.nix2
-rw-r--r--pkgs/tools/networking/goimapnotify/default.nix6
-rw-r--r--pkgs/tools/networking/haproxy/default.nix6
-rw-r--r--pkgs/tools/networking/httpie/default.nix42
-rw-r--r--pkgs/tools/networking/httpie/strip-venv.patch13
-rw-r--r--pkgs/tools/networking/i2pd/default.nix9
-rw-r--r--pkgs/tools/networking/isync/default.nix10
-rw-r--r--pkgs/tools/networking/kea/default.nix4
-rw-r--r--pkgs/tools/networking/keepalived/default.nix4
-rw-r--r--pkgs/tools/networking/lldpd/default.nix4
-rw-r--r--pkgs/tools/networking/mailutils/default.nix12
-rw-r--r--pkgs/tools/networking/minio-client/default.nix6
-rw-r--r--pkgs/tools/networking/mosh/default.nix14
-rw-r--r--pkgs/tools/networking/mtr/default.nix16
-rw-r--r--pkgs/tools/networking/mu/default.nix4
-rw-r--r--pkgs/tools/networking/nebula/default.nix2
-rw-r--r--pkgs/tools/networking/nikto/NIKTODIR-nix-wrapper-fix.patch26
-rw-r--r--pkgs/tools/networking/nikto/default.nix64
-rw-r--r--pkgs/tools/networking/openresolv/default.nix2
-rw-r--r--pkgs/tools/networking/openvpn/openvpn_learnaddress.nix3
-rw-r--r--pkgs/tools/networking/pritunl-ssh/default.nix29
-rw-r--r--pkgs/tools/networking/privoxy/default.nix6
-rw-r--r--pkgs/tools/networking/proxychains/default.nix24
-rw-r--r--pkgs/tools/networking/pykms/default.nix55
-rw-r--r--pkgs/tools/networking/pykms/log-to-current-directory-by-default.patch20
-rw-r--r--pkgs/tools/networking/radvd/default.nix4
-rw-r--r--pkgs/tools/networking/rcon/default.nix4
-rw-r--r--pkgs/tools/networking/shadowsocks-rust/default.nix16
-rw-r--r--pkgs/tools/networking/slirp4netns/default.nix4
-rw-r--r--pkgs/tools/networking/snabb/default.nix2
-rw-r--r--pkgs/tools/networking/spoofer/default.nix2
-rw-r--r--pkgs/tools/networking/swaks/default.nix9
-rw-r--r--pkgs/tools/networking/swec/default.nix3
-rw-r--r--pkgs/tools/networking/tcpflow/default.nix12
-rw-r--r--pkgs/tools/networking/tcpreplay/default.nix4
-rw-r--r--pkgs/tools/networking/telepresence/default.nix2
-rw-r--r--pkgs/tools/networking/tendermint/default.nix14
-rw-r--r--pkgs/tools/networking/termshark/default.nix6
-rw-r--r--pkgs/tools/networking/tox-node/default.nix14
-rw-r--r--pkgs/tools/networking/tridactyl-native/default.nix4
-rw-r--r--pkgs/tools/networking/unbound/default.nix9
-rw-r--r--pkgs/tools/networking/vpnc/default.nix3
-rw-r--r--pkgs/tools/networking/wakeonlan/default.nix29
-rw-r--r--pkgs/tools/networking/webwormhole/default.nix22
-rw-r--r--pkgs/tools/networking/weighttp/default.nix9
-rw-r--r--pkgs/tools/networking/wget2/default.nix100
-rw-r--r--pkgs/tools/networking/wireguard-tools/default.nix4
-rw-r--r--pkgs/tools/networking/xh/default.nix32
-rw-r--r--pkgs/tools/networking/zap/default.nix47
-rw-r--r--pkgs/tools/networking/zerotierone/default.nix4
-rw-r--r--pkgs/tools/nix/nix-output-monitor/default.nix14
-rw-r--r--pkgs/tools/nix/nixpkgs-fmt/default.nix8
-rw-r--r--pkgs/tools/package-management/apk-tools/default.nix25
-rw-r--r--pkgs/tools/package-management/cargo-deb/default.nix16
-rw-r--r--pkgs/tools/package-management/checkinstall/default.nix3
-rw-r--r--pkgs/tools/package-management/dpkg/default.nix4
-rw-r--r--pkgs/tools/package-management/emplace/default.nix8
-rw-r--r--pkgs/tools/package-management/holo-build/default.nix59
-rw-r--r--pkgs/tools/package-management/libdnf/darwin.patch30
-rw-r--r--pkgs/tools/package-management/libdnf/default.nix6
-rw-r--r--pkgs/tools/package-management/librepo/default.nix4
-rw-r--r--pkgs/tools/package-management/licensee/Gemfile.lock22
-rw-r--r--pkgs/tools/package-management/licensee/gemset.nix56
-rw-r--r--pkgs/tools/package-management/microdnf/default.nix4
-rw-r--r--pkgs/tools/package-management/nfpm/default.nix6
-rw-r--r--pkgs/tools/package-management/nix-bundle/default.nix4
-rw-r--r--pkgs/tools/package-management/nix-pin/default.nix3
-rw-r--r--pkgs/tools/package-management/nix/default.nix2
-rw-r--r--pkgs/tools/package-management/nixops/default.nix62
-rw-r--r--pkgs/tools/package-management/nixops/generic.nix56
-rw-r--r--pkgs/tools/package-management/nixops/nixops-v1_6_1.nix32
-rw-r--r--pkgs/tools/package-management/nixops/optional-virtd.patch24
-rw-r--r--pkgs/tools/package-management/nixops/unstable.nix13
-rw-r--r--pkgs/tools/package-management/nixui/nixui.nix8
-rw-r--r--pkgs/tools/package-management/nixui/node-packages.nix22
-rw-r--r--pkgs/tools/package-management/opkg/default.nix4
-rw-r--r--pkgs/tools/package-management/packagekit/qt.nix2
-rw-r--r--pkgs/tools/package-management/protontricks/default.nix4
-rw-r--r--pkgs/tools/package-management/protontricks/steam-run.patch76
-rw-r--r--pkgs/tools/package-management/smlpkg/default.nix42
-rw-r--r--pkgs/tools/security/apg/default.nix2
-rw-r--r--pkgs/tools/security/aws-iam-authenticator/default.nix16
-rw-r--r--pkgs/tools/security/bash-supergenpass/default.nix10
-rw-r--r--pkgs/tools/security/bitwarden_rs/default.nix8
-rw-r--r--pkgs/tools/security/bitwarden_rs/vault.nix8
-rw-r--r--pkgs/tools/security/brutespray/default.nix20
-rw-r--r--pkgs/tools/security/clamav/default.nix4
-rw-r--r--pkgs/tools/security/crunch/default.nix3
-rw-r--r--pkgs/tools/security/doppler/default.nix6
-rw-r--r--pkgs/tools/security/ecryptfs/default.nix4
-rw-r--r--pkgs/tools/security/ecryptfs/helper.nix2
-rw-r--r--pkgs/tools/security/enpass/default.nix3
-rw-r--r--pkgs/tools/security/fido2luks/default.nix6
-rw-r--r--pkgs/tools/security/fprintd/default.nix52
-rw-r--r--pkgs/tools/security/gen-oath-safe/default.nix4
-rw-r--r--pkgs/tools/security/gitjacker/default.nix4
-rw-r--r--pkgs/tools/security/gnupg/22.nix2
-rw-r--r--pkgs/tools/security/gopass/default.nix18
-rw-r--r--pkgs/tools/security/gopass/git-credential.nix41
-rw-r--r--pkgs/tools/security/gopass/jsonapi.nix42
-rw-r--r--pkgs/tools/security/hashcat/default.nix6
-rw-r--r--pkgs/tools/security/hcxtools/default.nix7
-rw-r--r--pkgs/tools/security/honggfuzz/default.nix4
-rw-r--r--pkgs/tools/security/ipscan/default.nix3
-rw-r--r--pkgs/tools/security/jwt-cli/default.nix6
-rw-r--r--pkgs/tools/security/kbs2/default.nix6
-rw-r--r--pkgs/tools/security/kpcli/default.nix3
-rw-r--r--pkgs/tools/security/libtpms/default.nix43
-rw-r--r--pkgs/tools/security/masscan/default.nix20
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock107
-rw-r--r--pkgs/tools/security/metasploit/default.nix6
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix158
-rw-r--r--pkgs/tools/security/nmap-unfree/default.nix65
-rw-r--r--pkgs/tools/security/open-ecard/default.nix2
-rw-r--r--pkgs/tools/security/pass/extensions/import.nix2
-rw-r--r--pkgs/tools/security/pass/rofi-pass.nix2
-rw-r--r--pkgs/tools/security/pcsclite/default.nix4
-rw-r--r--pkgs/tools/security/pinentry/mac.nix3
-rw-r--r--pkgs/tools/security/proxmark3/default.nix2
-rw-r--r--pkgs/tools/security/rage/default.nix9
-rw-r--r--pkgs/tools/security/rhash/default.nix4
-rw-r--r--pkgs/tools/security/rng-tools/default.nix4
-rw-r--r--pkgs/tools/security/saml2aws/default.nix6
-rw-r--r--pkgs/tools/security/secretscanner/default.nix37
-rw-r--r--pkgs/tools/security/sequoia/default.nix10
-rw-r--r--pkgs/tools/security/shhgit/default.nix26
-rw-r--r--pkgs/tools/security/ssh-audit/default.nix4
-rw-r--r--pkgs/tools/security/ssh-to-pgp/default.nix29
-rw-r--r--pkgs/tools/security/sslscan/default.nix2
-rw-r--r--pkgs/tools/security/stricat/default.nix2
-rw-r--r--pkgs/tools/security/swtpm/default.nix76
-rw-r--r--pkgs/tools/security/swtpm/python-installation.patch60
-rw-r--r--pkgs/tools/security/teler/default.nix6
-rw-r--r--pkgs/tools/security/terrascan/default.nix6
-rw-r--r--pkgs/tools/security/tor/default.nix4
-rw-r--r--pkgs/tools/security/tpm-luks/default.nix1
-rw-r--r--pkgs/tools/security/tpm2-tools/default.nix8
-rw-r--r--pkgs/tools/security/vault/default.nix6
-rw-r--r--pkgs/tools/security/vault/vault-bin.nix10
-rw-r--r--pkgs/tools/security/wafw00f/default.nix34
-rw-r--r--pkgs/tools/system/auto-cpufreq/default.nix4
-rw-r--r--pkgs/tools/system/auto-cpufreq/prevent-install-and-copy.patch38
-rw-r--r--pkgs/tools/system/bpytop/default.nix6
-rw-r--r--pkgs/tools/system/clinfo/default.nix4
-rw-r--r--pkgs/tools/system/consul-template/default.nix6
-rw-r--r--pkgs/tools/system/daemon/default.nix4
-rw-r--r--pkgs/tools/system/di/default.nix4
-rw-r--r--pkgs/tools/system/facter/default.nix4
-rw-r--r--pkgs/tools/system/freeipmi/default.nix4
-rw-r--r--pkgs/tools/system/gdu/default.nix23
-rw-r--r--pkgs/tools/system/gotop/default.nix8
-rw-r--r--pkgs/tools/system/gptfdisk/default.nix4
-rw-r--r--pkgs/tools/system/hwinfo/default.nix4
-rw-r--r--pkgs/tools/system/inxi/default.nix7
-rw-r--r--pkgs/tools/system/logcheck/default.nix4
-rw-r--r--pkgs/tools/system/logrotate/default.nix30
-rw-r--r--pkgs/tools/system/monit/default.nix2
-rw-r--r--pkgs/tools/system/netdata/default.nix10
-rw-r--r--pkgs/tools/system/pciutils/default.nix16
-rw-r--r--pkgs/tools/system/rofi-systemd/default.nix2
-rw-r--r--pkgs/tools/system/sleuthkit/default.nix6
-rw-r--r--pkgs/tools/system/smartmontools/default.nix9
-rw-r--r--pkgs/tools/system/stressapptest/default.nix27
-rw-r--r--pkgs/tools/system/thinkfan/default.nix58
-rw-r--r--pkgs/tools/system/tre-command/default.nix6
-rw-r--r--pkgs/tools/system/tuptime/default.nix4
-rw-r--r--pkgs/tools/text/ansifilter/default.nix4
-rw-r--r--pkgs/tools/text/boxes/default.nix2
-rw-r--r--pkgs/tools/text/colordiff/default.nix36
-rw-r--r--pkgs/tools/text/each/default.nix25
-rw-r--r--pkgs/tools/text/gnused/default.nix2
-rw-r--r--pkgs/tools/text/jsawk/default.nix2
-rw-r--r--pkgs/tools/text/ledger2beancount/default.nix19
-rw-r--r--pkgs/tools/text/mark/default.nix6
-rw-r--r--pkgs/tools/text/markdown-pp/default.nix12
-rw-r--r--pkgs/tools/text/mdbook/default.nix6
-rw-r--r--pkgs/tools/text/ocrmypdf/0001-Make-compatible-with-pdfminer.six-version-20200720.patch52
-rw-r--r--pkgs/tools/text/ocrmypdf/default.nix13
-rw-r--r--pkgs/tools/text/podiff/default.nix6
-rw-r--r--pkgs/tools/text/popfile/default.nix3
-rw-r--r--pkgs/tools/text/reckon/Gemfile.lock4
-rw-r--r--pkgs/tools/text/reckon/default.nix4
-rw-r--r--pkgs/tools/text/reckon/gemset.nix10
-rw-r--r--pkgs/tools/text/ripgrep/default.nix17
-rw-r--r--pkgs/tools/text/robodoc/default.nix48
-rw-r--r--pkgs/tools/text/rst2html5/default.nix6
-rw-r--r--pkgs/tools/text/source-highlight/default.nix27
-rw-r--r--pkgs/tools/text/ugrep/default.nix4
-rw-r--r--pkgs/tools/text/unoconv/default.nix2
-rw-r--r--pkgs/tools/text/vale/default.nix4
-rw-r--r--pkgs/tools/text/wdiff/default.nix13
-rw-r--r--pkgs/tools/typesetting/asciidoc/default.nix12
-rw-r--r--pkgs/tools/typesetting/docbook2odf/default.nix3
-rw-r--r--pkgs/tools/typesetting/docbook2x/default.nix3
-rw-r--r--pkgs/tools/typesetting/fop/default.nix15
-rw-r--r--pkgs/tools/typesetting/lout/CVE-2019-19917-and-CVE-2019-19918.patch95
-rw-r--r--pkgs/tools/typesetting/lout/default.nix5
-rw-r--r--pkgs/tools/typesetting/lowdown/default.nix6
-rw-r--r--pkgs/tools/typesetting/pdfsandwich/default.nix3
-rw-r--r--pkgs/tools/typesetting/satysfi/default.nix9
-rw-r--r--pkgs/tools/typesetting/sile/default.nix5
-rw-r--r--pkgs/tools/typesetting/sshlatex/default.nix2
-rw-r--r--pkgs/tools/typesetting/ted/default.nix3
-rw-r--r--pkgs/tools/typesetting/tex/texlive/bin.nix4
-rw-r--r--pkgs/tools/video/atomicparsley/default.nix4
-rw-r--r--pkgs/tools/video/untrunc/default.nix39
-rw-r--r--pkgs/tools/video/vcsi/default.nix7
-rw-r--r--pkgs/tools/video/yamdi/default.nix2
-rw-r--r--pkgs/tools/virtualization/aws/default.nix6
-rw-r--r--pkgs/tools/virtualization/ec2-ami-tools/default.nix3
-rw-r--r--pkgs/tools/virtualization/ec2-api-tools/default.nix3
-rw-r--r--pkgs/tools/virtualization/shipyard/default.nix6
-rw-r--r--pkgs/tools/wayland/clipman/default.nix (renamed from pkgs/tools/misc/clipman/default.nix)11
-rw-r--r--pkgs/tools/wayland/kanshi/default.nix (renamed from pkgs/tools/misc/kanshi/default.nix)13
-rw-r--r--pkgs/tools/wayland/oguri/default.nix39
-rw-r--r--pkgs/tools/wayland/slurp/default.nix (renamed from pkgs/tools/misc/slurp/default.nix)14
-rw-r--r--pkgs/tools/wayland/wev/default.nix (renamed from pkgs/tools/misc/wev/default.nix)15
-rw-r--r--pkgs/tools/wayland/wl-clipboard/default.nix (renamed from pkgs/tools/misc/wl-clipboard/default.nix)16
-rw-r--r--pkgs/tools/wayland/wlogout/default.nix54
-rw-r--r--pkgs/tools/wayland/wlr-randr/default.nix (renamed from pkgs/tools/misc/wlr-randr/default.nix)18
-rw-r--r--pkgs/tools/wayland/wob/default.nix (renamed from pkgs/tools/misc/wob/default.nix)21
-rw-r--r--pkgs/top-level/agda-packages.nix2
-rw-r--r--pkgs/top-level/aliases.nix39
-rw-r--r--pkgs/top-level/all-packages.nix996
-rw-r--r--pkgs/top-level/beam-packages.nix16
-rw-r--r--pkgs/top-level/darwin-packages.nix4
-rw-r--r--pkgs/top-level/emacs-packages.nix83
-rw-r--r--pkgs/top-level/haskell-packages.nix15
-rw-r--r--pkgs/top-level/ocaml-packages.nix40
-rw-r--r--pkgs/top-level/octave-packages.nix224
-rw-r--r--pkgs/top-level/perl-packages.nix260
-rw-r--r--pkgs/top-level/php-packages.nix14
-rw-r--r--pkgs/top-level/python-packages.nix315
-rw-r--r--pkgs/top-level/qt5-packages.nix2
-rw-r--r--pkgs/top-level/wine-packages.nix1
3704 files changed, 105125 insertions, 46021 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 8491532ee3873..048218a6d49b1 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -76,6 +76,7 @@
 /pkgs/development/interpreters/python   @FRidh
 /pkgs/development/python-modules        @FRidh @jonringer
 /doc/languages-frameworks/python.section.md     @FRidh
+/pkgs/development/tools/poetry2nix @adisbladis
 
 # Haskell
 /pkgs/development/compilers/ghc                       @cdepillabout
@@ -99,7 +100,7 @@
 
 # Rust
 /pkgs/development/compilers/rust @Mic92 @LnL7 @zowoq
-/pkgs/build-support/rust @andir @zowoq
+/pkgs/build-support/rust @andir @danieldk @zowoq
 
 # Darwin-related
 /pkgs/stdenv/darwin         @NixOS/darwin-maintainers
diff --git a/.github/workflows/rebase-staging.yml b/.github/workflows/rebase-staging.yml
deleted file mode 100644
index 41b06f95668a4..0000000000000
--- a/.github/workflows/rebase-staging.yml
+++ /dev/null
@@ -1,60 +0,0 @@
-on:
-  issue_comment:
-    types:
-      - created
-
-# This action allows people with write access to the repo to rebase a PRs base branch from
-# master to staging by commenting `/rebase-staging` on the PR while avoiding CODEOWNER notifications.
-
-jobs:
-  rebase:
-    runs-on: ubuntu-latest
-    if: github.repository_owner == 'NixOS' && github.event.issue.pull_request != '' && contains(github.event.comment.body, '/rebase-staging')
-    steps:
-      - uses: peter-evans/create-or-update-comment@v1
-        with:
-          comment-id: ${{ github.event.comment.id }}
-          reactions: eyes
-      - uses: scherermichael-oss/action-has-permission@1.0.6
-        id: check-write-access
-        with:
-          required-permission: write
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-      - name: check base branch is master
-        if: steps.check-write-access.outputs.has-permission
-        run: |
-          if [ "$(curl https://api.github.com/repos/NixOS/nixpkgs/pulls/${{ github.event.issue.number }} | jq -r '.base.ref')" != "master" ]; then
-            echo "This action only works when the current base branch is master."
-            exit 1
-          fi
-      - uses: actions/checkout@v2
-        with:
-          fetch-depth: 0
-        if: steps.check-write-access.outputs.has-permission
-      - name: rebase pull request
-        if: steps.check-write-access.outputs.has-permission
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-          PULL_REQUEST: ${{ github.event.issue.number }}
-        run: |
-          git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
-          git config --global user.name "github-actions[bot]"
-          git fetch origin
-          gh pr checkout "$PULL_REQUEST"
-          git rebase \
-            --onto="$(git merge-base origin/master origin/staging)" \
-            "HEAD~$(git rev-list --count HEAD ^master)"
-          git push --force
-          curl \
-            -X POST \
-            -H "Accept: application/vnd.github.v3+json" \
-            -H "Authorization: token $GITHUB_TOKEN" \
-            -d '{ "base": "staging" }' \
-            "https://api.github.com/repos/NixOS/nixpkgs/pulls/$PULL_REQUEST"
-      - uses: peter-evans/create-or-update-comment@v1
-        if: ${{ failure() }}
-        with:
-          issue-number: ${{ github.event.issue.number }}
-          body: |
-            [Failed to rebase on `staging`](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }})
diff --git a/.github/workflows/rebase.yml b/.github/workflows/rebase.yml
new file mode 100644
index 0000000000000..50d066dd754fb
--- /dev/null
+++ b/.github/workflows/rebase.yml
@@ -0,0 +1,134 @@
+on:
+  issue_comment:
+    types:
+      - created
+
+# This action allows people with write access to the repo to rebase a PRs base branch
+# by commenting `/rebase ${branch}` on the PR while avoiding CODEOWNER notifications.
+
+jobs:
+  rebase:
+    runs-on: ubuntu-latest
+    if: github.repository_owner == 'NixOS' && github.event.issue.pull_request != '' && contains(github.event.comment.body, '/rebase')
+    steps:
+      - uses: peter-evans/create-or-update-comment@v1
+        with:
+          comment-id: ${{ github.event.comment.id }}
+          reactions: eyes
+      - uses: scherermichael-oss/action-has-permission@1.0.6
+        id: check-write-access
+        with:
+          required-permission: write
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+      - name: check permissions
+        run: |
+          echo "Commenter doesn't have write access to the repo"
+          exit 1
+        if: "! steps.check-write-access.outputs.has-permission"
+      - name: setup
+        run: |
+          curl "https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.issue.number }}" 2>/dev/null >pr.json
+          cat <<EOF >>"$GITHUB_ENV"
+          CAN_MODIFY=$(jq -r '.maintainer_can_modify' pr.json)
+          COMMITS=$(jq -r '.commits' pr.json)
+          CURRENT_BASE=$(jq -r '.base.ref' pr.json)
+          PR_BRANCH=$(jq -r '.head.ref' pr.json)
+          COMMENT_BRANCH=$(echo ${{ github.event.comment.body }} | awk "/^\/rebase / {print \$2}")
+          PULL_REQUEST=${{ github.event.issue.number }}
+          EOF
+          rm pr.json
+      - name: check branch
+        env:
+          PERMANENT_BRANCHES: "haskell-updates|master|nixos|nixpkgs|python-unstable|release|staging"
+          VALID_BRANCHES: "haskell-updates|master|python-unstable|release-20.09|staging|staging-20.09|staging-next"
+        run: |
+          message() {
+            cat <<EOF
+          Can't rebase $PR_BRANCH from $CURRENT_BASE onto $COMMENT_BRANCH (PR:$PULL_REQUEST COMMITS:$COMMITS)
+          EOF
+          }
+          if ! [[ "$COMMENT_BRANCH" =~ ^($VALID_BRANCHES)$ ]]; then
+            cat <<EOF
+          Check that the branch from the comment is valid:
+
+          $(message)
+
+          This action can only rebase onto these branches:
+
+          $VALID_BRANCHES
+
+          \`/rebase \${branch}\` must be at the start of the line
+          EOF
+            exit 1
+          fi
+          if [[ "$COMMENT_BRANCH" == "$CURRENT_BASE" ]]; then
+            cat <<EOF
+          Check that the branch from the comment isn't the current base branch:
+
+          $(message)
+          EOF
+            exit 1
+          fi
+          if [[ "$COMMENT_BRANCH" == "$PR_BRANCH" ]]; then
+            cat <<EOF
+          Check that the branch from the comment isn't the current branch:
+
+          $(message)
+          EOF
+            exit 1
+          fi
+          if [[ "$PR_BRANCH" =~ ^($PERMANENT_BRANCHES) ]]; then
+            cat <<EOF
+          Check that the PR branch isn't a permanent branch:
+
+          $(message)
+          EOF
+            exit 1
+          fi
+          if [[ "$CAN_MODIFY" != "true" ]]; then
+            cat <<EOF
+          Check that maintainers can edit the PR branch:
+
+          $(message)
+          EOF
+            exit 1
+          fi
+      - uses: actions/checkout@v2
+        with:
+          fetch-depth: 0
+      - name: rebase pull request
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        run: |
+          git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
+          git config --global user.name "github-actions[bot]"
+          git fetch origin
+          gh pr checkout "$PULL_REQUEST"
+          git rebase \
+            --onto="$(git merge-base origin/"$CURRENT_BASE" origin/"$COMMENT_BRANCH")" \
+            "HEAD~$COMMITS"
+          git push --force
+          curl \
+            -X POST \
+            -H "Accept: application/vnd.github.v3+json" \
+            -H "Authorization: token $GITHUB_TOKEN" \
+            -d "{ \"base\": \"$COMMENT_BRANCH\" }" \
+            "https://api.github.com/repos/${{ github.repository }}/pulls/$PULL_REQUEST"
+          curl \
+            -X PATCH \
+            -H "Accept: application/vnd.github.v3+json" \
+            -H "Authorization: token $GITHUB_TOKEN" \
+            -d '{ "state": "closed" }' \
+            "https://api.github.com/repos/${{ github.repository }}/pulls/$PULL_REQUEST"
+      - uses: peter-evans/create-or-update-comment@v1
+        with:
+          issue-number: ${{ github.event.issue.number }}
+          body: |
+            Rebased, please reopen the pull request to restart CI
+      - uses: peter-evans/create-or-update-comment@v1
+        if: failure()
+        with:
+          issue-number: ${{ github.event.issue.number }}
+          body: |
+            [Failed to rebase](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})
diff --git a/.version b/.version
index 62c36bbb17f31..b9b543d4254d8 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-21.03
+21.05
diff --git a/doc/builders/fetchers.chapter.md b/doc/builders/fetchers.chapter.md
index d4cab056c70bc..16e4baa966b0d 100644
--- a/doc/builders/fetchers.chapter.md
+++ b/doc/builders/fetchers.chapter.md
@@ -31,6 +31,8 @@ Used with Subversion. Expects `url` to a Subversion directory, `rev`, and `sha25
 
 Used with Git. Expects `url` to a Git repo, `rev`, and `sha256`. `rev` in this case can be full the git commit id (SHA1 hash) or a tag name like `refs/tags/v1.0`.
 
+Additionally the following optional arguments can be given: `fetchSubmodules = true` makes `fetchgit` also fetch the submodules of a repository. If `deepClone` is set to true, the entire repository is cloned as opposing to just creating a shallow clone. `deepClone = true` also implies `leaveDotGit = true` which means that the `.git` directory of the clone won't be removed after checkout.
+
 ## `fetchfossil`
 
 Used with Fossil. Expects `url` to a Fossil archive, `rev`, and `sha256`.
@@ -49,6 +51,8 @@ A number of fetcher functions wrap part of `fetchurl` and `fetchzip`. They are m
 
 `fetchFromGitHub` expects four arguments. `owner` is a string corresponding to the GitHub user or organization that controls this repository. `repo` corresponds to the name of the software repository. These are located at the top of every GitHub HTML page as `owner`/`repo`. `rev` corresponds to the Git commit hash or tag (e.g `v1.0`) that will be downloaded from Git. Finally, `sha256` corresponds to the hash of the extracted directory. Again, other hash algorithms are also available but `sha256` is currently preferred.
 
+`fetchFromGitHub` uses `fetchzip` to download the source archive generated by GitHub for the specified revision. If `leaveDotGit`, `deepClone` or `fetchSubmodules` are set to `true`, `fetchFromGitHub` will use `fetchgit` instead. Refer to its section for documentation of these options.
+
 ## `fetchFromGitLab`
 
 This is used with GitLab repositories. The arguments expected are very similar to fetchFromGitHub above.
diff --git a/doc/builders/packages/eclipse.section.md b/doc/builders/packages/eclipse.section.md
new file mode 100644
index 0000000000000..faabb1884501b
--- /dev/null
+++ b/doc/builders/packages/eclipse.section.md
@@ -0,0 +1,64 @@
+# Eclipse {#sec-eclipse}
+
+The Nix expressions related to the Eclipse platform and IDE are in [`pkgs/applications/editors/eclipse`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/eclipse).
+
+Nixpkgs provides a number of packages that will install Eclipse in its various forms. These range from the bare-bones Eclipse Platform to the more fully featured Eclipse SDK or Scala-IDE packages and multiple version are often available. It is possible to list available Eclipse packages by issuing the command:
+
+```ShellSession
+$ nix-env -f '<nixpkgs>' -qaP -A eclipses --description
+```
+
+Once an Eclipse variant is installed it can be run using the `eclipse` command, as expected. From within Eclipse it is then possible to install plugins in the usual manner by either manually specifying an Eclipse update site or by installing the Marketplace Client plugin and using it to discover and install other plugins. This installation method provides an Eclipse installation that closely resemble a manually installed Eclipse.
+
+If you prefer to install plugins in a more declarative manner then Nixpkgs also offer a number of Eclipse plugins that can be installed in an _Eclipse environment_. This type of environment is created using the function `eclipseWithPlugins` found inside the `nixpkgs.eclipses` attribute set. This function takes as argument `{ eclipse, plugins ? [], jvmArgs ? [] }` where `eclipse` is a one of the Eclipse packages described above, `plugins` is a list of plugin derivations, and `jvmArgs` is a list of arguments given to the JVM running the Eclipse. For example, say you wish to install the latest Eclipse Platform with the popular Eclipse Color Theme plugin and also allow Eclipse to use more RAM. You could then add
+
+```nix
+packageOverrides = pkgs: {
+  myEclipse = with pkgs.eclipses; eclipseWithPlugins {
+    eclipse = eclipse-platform;
+    jvmArgs = [ "-Xmx2048m" ];
+    plugins = [ plugins.color-theme ];
+  };
+}
+```
+
+to your Nixpkgs configuration (`~/.config/nixpkgs/config.nix`) and install it by running `nix-env -f '<nixpkgs>' -iA myEclipse` and afterward run Eclipse as usual. It is possible to find out which plugins are available for installation using `eclipseWithPlugins` by running
+
+```ShellSession
+$ nix-env -f '<nixpkgs>' -qaP -A eclipses.plugins --description
+```
+
+If there is a need to install plugins that are not available in Nixpkgs then it may be possible to define these plugins outside Nixpkgs using the `buildEclipseUpdateSite` and `buildEclipsePlugin` functions found in the `nixpkgs.eclipses.plugins` attribute set. Use the `buildEclipseUpdateSite` function to install a plugin distributed as an Eclipse update site. This function takes `{ name, src }` as argument where `src` indicates the Eclipse update site archive. All Eclipse features and plugins within the downloaded update site will be installed. When an update site archive is not available then the `buildEclipsePlugin` function can be used to install a plugin that consists of a pair of feature and plugin JARs. This function takes an argument `{ name, srcFeature, srcPlugin }` where `srcFeature` and `srcPlugin` are the feature and plugin JARs, respectively.
+
+Expanding the previous example with two plugins using the above functions we have
+
+```nix
+packageOverrides = pkgs: {
+  myEclipse = with pkgs.eclipses; eclipseWithPlugins {
+    eclipse = eclipse-platform;
+    jvmArgs = [ "-Xmx2048m" ];
+    plugins = [
+      plugins.color-theme
+      (plugins.buildEclipsePlugin {
+        name = "myplugin1-1.0";
+        srcFeature = fetchurl {
+          url = "http://…/features/myplugin1.jar";
+          sha256 = "123…";
+        };
+        srcPlugin = fetchurl {
+          url = "http://…/plugins/myplugin1.jar";
+          sha256 = "123…";
+        };
+      });
+      (plugins.buildEclipseUpdateSite {
+        name = "myplugin2-1.0";
+        src = fetchurl {
+          stripRoot = false;
+          url = "http://…/myplugin2.zip";
+          sha256 = "123…";
+        };
+      });
+    ];
+  };
+}
+```
diff --git a/doc/builders/packages/eclipse.xml b/doc/builders/packages/eclipse.xml
deleted file mode 100644
index fc5094ed8f364..0000000000000
--- a/doc/builders/packages/eclipse.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<section xmlns="http://docbook.org/ns/docbook"
-         xmlns:xlink="http://www.w3.org/1999/xlink"
-         xml:id="sec-eclipse">
- <title>Eclipse</title>
-
- <para>
-  The Nix expressions related to the Eclipse platform and IDE are in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/eclipse"><filename>pkgs/applications/editors/eclipse</filename></link>.
- </para>
-
- <para>
-  Nixpkgs provides a number of packages that will install Eclipse in its various forms. These range from the bare-bones Eclipse Platform to the more fully featured Eclipse SDK or Scala-IDE packages and multiple version are often available. It is possible to list available Eclipse packages by issuing the command:
-<screen>
-<prompt>$ </prompt>nix-env -f '&lt;nixpkgs&gt;' -qaP -A eclipses --description
-</screen>
-  Once an Eclipse variant is installed it can be run using the <command>eclipse</command> command, as expected. From within Eclipse it is then possible to install plugins in the usual manner by either manually specifying an Eclipse update site or by installing the Marketplace Client plugin and using it to discover and install other plugins. This installation method provides an Eclipse installation that closely resemble a manually installed Eclipse.
- </para>
-
- <para>
-  If you prefer to install plugins in a more declarative manner then Nixpkgs also offer a number of Eclipse plugins that can be installed in an <emphasis>Eclipse environment</emphasis>. This type of environment is created using the function <varname>eclipseWithPlugins</varname> found inside the <varname>nixpkgs.eclipses</varname> attribute set. This function takes as argument <literal>{ eclipse, plugins ? [], jvmArgs ? [] }</literal> where <varname>eclipse</varname> is a one of the Eclipse packages described above, <varname>plugins</varname> is a list of plugin derivations, and <varname>jvmArgs</varname> is a list of arguments given to the JVM running the Eclipse. For example, say you wish to install the latest Eclipse Platform with the popular Eclipse Color Theme plugin and also allow Eclipse to use more RAM. You could then add
-<screen>
-packageOverrides = pkgs: {
-  myEclipse = with pkgs.eclipses; eclipseWithPlugins {
-    eclipse = eclipse-platform;
-    jvmArgs = [ "-Xmx2048m" ];
-    plugins = [ plugins.color-theme ];
-  };
-}
-</screen>
-  to your Nixpkgs configuration (<filename>~/.config/nixpkgs/config.nix</filename>) and install it by running <command>nix-env -f '&lt;nixpkgs&gt;' -iA myEclipse</command> and afterward run Eclipse as usual. It is possible to find out which plugins are available for installation using <varname>eclipseWithPlugins</varname> by running
-<screen>
-<prompt>$ </prompt>nix-env -f '&lt;nixpkgs&gt;' -qaP -A eclipses.plugins --description
-</screen>
- </para>
-
- <para>
-  If there is a need to install plugins that are not available in Nixpkgs then it may be possible to define these plugins outside Nixpkgs using the <varname>buildEclipseUpdateSite</varname> and <varname>buildEclipsePlugin</varname> functions found in the <varname>nixpkgs.eclipses.plugins</varname> attribute set. Use the <varname>buildEclipseUpdateSite</varname> function to install a plugin distributed as an Eclipse update site. This function takes <literal>{ name, src }</literal> as argument where <literal>src</literal> indicates the Eclipse update site archive. All Eclipse features and plugins within the downloaded update site will be installed. When an update site archive is not available then the <varname>buildEclipsePlugin</varname> function can be used to install a plugin that consists of a pair of feature and plugin JARs. This function takes an argument <literal>{ name, srcFeature, srcPlugin }</literal> where <literal>srcFeature</literal> and <literal>srcPlugin</literal> are the feature and plugin JARs, respectively.
- </para>
-
- <para>
-  Expanding the previous example with two plugins using the above functions we have
-<screen>
-packageOverrides = pkgs: {
-  myEclipse = with pkgs.eclipses; eclipseWithPlugins {
-    eclipse = eclipse-platform;
-    jvmArgs = [ "-Xmx2048m" ];
-    plugins = [
-      plugins.color-theme
-      (plugins.buildEclipsePlugin {
-        name = "myplugin1-1.0";
-        srcFeature = fetchurl {
-          url = "http://…/features/myplugin1.jar";
-          sha256 = "123…";
-        };
-        srcPlugin = fetchurl {
-          url = "http://…/plugins/myplugin1.jar";
-          sha256 = "123…";
-        };
-      });
-      (plugins.buildEclipseUpdateSite {
-        name = "myplugin2-1.0";
-        src = fetchurl {
-          stripRoot = false;
-          url = "http://…/myplugin2.zip";
-          sha256 = "123…";
-        };
-      });
-    ];
-  };
-}
-</screen>
- </para>
-</section>
diff --git a/doc/builders/packages/elm.section.md b/doc/builders/packages/elm.section.md
new file mode 100644
index 0000000000000..53087c0e9dedc
--- /dev/null
+++ b/doc/builders/packages/elm.section.md
@@ -0,0 +1,11 @@
+# Elm {#sec-elm}
+
+To start a development environment do
+
+```ShellSession
+nix-shell -p elmPackages.elm elmPackages.elm-format
+```
+
+To update the Elm compiler, see <filename>nixpkgs/pkgs/development/compilers/elm/README.md</filename>.
+
+To package Elm applications, [read about elm2nix](https://github.com/hercules-ci/elm2nix#elm2nix).
diff --git a/doc/builders/packages/elm.xml b/doc/builders/packages/elm.xml
deleted file mode 100644
index a067f6c7c70ee..0000000000000
--- a/doc/builders/packages/elm.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<section xmlns="http://docbook.org/ns/docbook"
-         xmlns:xlink="http://www.w3.org/1999/xlink"
-         xml:id="sec-elm">
- <title>Elm</title>
-
- <para>
-  To start a development environment do <command>nix-shell -p elmPackages.elm elmPackages.elm-format</command>
- </para>
-
- <para>
-  To update Elm compiler, see <filename>nixpkgs/pkgs/development/compilers/elm/README.md</filename>.
- </para>
-
- <para>
-  To package Elm applications, <link xlink:href="https://github.com/hercules-ci/elm2nix#elm2nix">read about elm2nix</link>.
- </para>
-</section>
diff --git a/doc/builders/packages/index.xml b/doc/builders/packages/index.xml
index ab335e24ff997..fac82180b2601 100644
--- a/doc/builders/packages/index.xml
+++ b/doc/builders/packages/index.xml
@@ -7,8 +7,8 @@
  </para>
  <xi:include href="citrix.xml" />
  <xi:include href="dlib.xml" />
- <xi:include href="eclipse.xml" />
- <xi:include href="elm.xml" />
+ <xi:include href="eclipse.section.xml" />
+ <xi:include href="elm.section.xml" />
  <xi:include href="emacs.section.xml" />
  <xi:include href="firefox.section.xml" />
  <xi:include href="fish.section.xml" />
diff --git a/doc/contributing/submitting-changes.chapter.md b/doc/contributing/submitting-changes.chapter.md
index 40fc5ea789213..44e981f12a53a 100644
--- a/doc/contributing/submitting-changes.chapter.md
+++ b/doc/contributing/submitting-changes.chapter.md
@@ -174,10 +174,13 @@ digraph {
     "staging-next" -> master [color="#E85EB0"] [label="stabilization ends"] [fontcolor="#E85EB0"]
     "staging" -> "staging-next" [color="#E85EB0"] [label="stabilization starts"] [fontcolor="#E85EB0"]
 
-    master -> "staging-next" -> staging [color="#5F5EE8"] [label="every six hours/any time"] [fontcolor="#5F5EE8"]
+    master -> "staging-next" -> staging [color="#5F5EE8"] [label="every six hours (GitHub Action)"] [fontcolor="#5F5EE8"]
 }
 ```
 
+[This GitHub Action](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/merge-staging.yml) brings changes from `master` to `staging-next` and from `staging-next` to `staging` every 6 hours.
+
+
 ### Master branch {#submitting-changes-master-branch}
 
 The `master` branch is the main development branch. It should only see non-breaking commits that do not cause mass rebuilds.
diff --git a/doc/default.nix b/doc/default.nix
index 543a3874170b9..25389fa2da7e5 100644
--- a/doc/default.nix
+++ b/doc/default.nix
@@ -15,7 +15,7 @@ in pkgs.stdenv.mkDerivation {
     xmlformat
   ];
 
-  src = ./.;
+  src = lib.cleanSource ./.;
 
   makeFlags = [
     "PANDOC_LUA_FILTERS_DIR=${pkgs.pandoc-lua-filters}/share/pandoc/filters"
diff --git a/doc/functions/library/asserts.xml b/doc/functions/library/asserts.xml
index 10891039e8696..7c94222ef139e 100644
--- a/doc/functions/library/asserts.xml
+++ b/doc/functions/library/asserts.xml
@@ -103,7 +103,7 @@ stderr> assert failed
    <title>Ensuring a user provided a possible value</title>
 <programlisting><![CDATA[
 let sslLibrary = "bearssl";
-in lib.asserts.assertOneOf "sslLibrary" sslLibrary [ "openssl" "bearssl" ];
+in lib.asserts.assertOneOf "sslLibrary" sslLibrary [ "openssl" "libressl" ];
 => false
 stderr> trace: sslLibrary must be one of "openssl", "libressl", but is: "bearssl"
         ]]></programlisting>
diff --git a/doc/languages-frameworks/agda.section.md b/doc/languages-frameworks/agda.section.md
index 66b4a2083021b..f57b194a7266e 100644
--- a/doc/languages-frameworks/agda.section.md
+++ b/doc/languages-frameworks/agda.section.md
@@ -46,7 +46,7 @@ depend: standard-library
 More information can be found in the [official Agda documentation on library management](https://agda.readthedocs.io/en/v2.6.1/tools/package-system.html).
 
 ## Compiling Agda
-Agda modules can be compiled with the `--compile` flag. A version of `ghc` with `ieee` is made available to the Agda program via the `--with-compiler` flag.
+Agda modules can be compiled with the `--compile` flag. A version of `ghc` with `ieee754` is made available to the Agda program via the `--with-compiler` flag.
 This can be overridden by a different version of `ghc` as follows:
 
 ```
diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md
index 71193ed0cc0b4..46491a785a7a3 100644
--- a/doc/languages-frameworks/python.section.md
+++ b/doc/languages-frameworks/python.section.md
@@ -611,7 +611,7 @@ Using the example above, the analagous pytestCheckHook usage would be:
     "update"
   ];
 
-  disabledTestFiles = [
+  disabledTestPaths = [
     "tests/test_failing.py"
   ];
 ```
@@ -1554,9 +1554,9 @@ Following rules are desired to be respected:
 
 * Python libraries are called from `python-packages.nix` and packaged with
   `buildPythonPackage`. The expression of a library should be in
-  `pkgs/development/python-modules/<name>/default.nix`. Libraries in
-  `pkgs/top-level/python-packages.nix` are sorted quasi-alphabetically to avoid
-  merge conflicts.
+  `pkgs/development/python-modules/<name>/default.nix`.
+* Libraries in `pkgs/top-level/python-packages.nix` are sorted
+  alphanumerically to avoid merge conflicts and ease locating attributes.
 * Python applications live outside of `python-packages.nix` and are packaged
   with `buildPythonApplication`.
 * Make sure libraries build for all Python interpreters.
@@ -1570,3 +1570,4 @@ Following rules are desired to be respected:
   [PEP 0503](https://www.python.org/dev/peps/pep-0503/#normalized-names). This
   means that characters should be converted to lowercase and `.` and `_` should
   be replaced by a single `-` (foo-bar-baz instead of Foo__Bar.baz )
+* Attribute names in `python-packages.nix` should be sorted alphanumerically.
diff --git a/doc/languages-frameworks/qt.section.md b/doc/languages-frameworks/qt.section.md
index 5dd415852c100..b6525490c85e7 100644
--- a/doc/languages-frameworks/qt.section.md
+++ b/doc/languages-frameworks/qt.section.md
@@ -1,77 +1,88 @@
 # Qt {#sec-language-qt}
 
-This section describes the differences between Nix expressions for Qt libraries and applications and Nix expressions for other C++ software. Some knowledge of the latter is assumed.
+Writing Nix expressions for Qt libraries and applications is largely similar as for other C++ software.
+This section assumes some knowledge of the latter.
+There are two problems that the Nixpkgs Qt infrastructure addresses,
+which are not shared by other C++ software:
 
-There are primarily two problems which the Qt infrastructure is designed to address: ensuring consistent versioning of all dependencies and finding dependencies at runtime.
+1.  There are usually multiple supported versions of Qt in Nixpkgs.
+    All of a package's dependencies must be built with the same version of Qt.
+    This is similar to the version constraints imposed on interpreted languages like Python.
+2.  Qt makes extensive use of runtime dependency detection.
+    Runtime dependencies are made into build dependencies through wrappers.
 
 ## Nix expression for a Qt package (default.nix) {#qt-default-nix}
 
 ```{=docbook}
 <programlisting>
-{ mkDerivation, qtbase }: <co xml:id='qt-default-nix-co-1' />
+{ stdenv, lib, qtbase, wrapQtAppsHook }: <co xml:id='qt-default-nix-co-1' />
 
-mkDerivation { <co xml:id='qt-default-nix-co-2' />
+stdenv.mkDerivation {
   pname = "myapp";
   version = "1.0";
 
-  buildInputs = [ qtbase ]; <co xml:id='qt-default-nix-co-3' />
+  buildInputs = [ qtbase ];
+  nativeBuildInputs = [ wrapQtAppsHook ]; <co xml:id='qt-default-nix-co-2' />
 }
 </programlisting>
 
  <calloutlist>
   <callout arearefs='qt-default-nix-co-1'>
    <para>
-    Import <literal>mkDerivation</literal> and Qt (such as <literal>qtbase</literal> modules directly. <emphasis>Do not</emphasis> import Qt package sets; the Qt versions of dependencies may not be coherent, causing build and runtime failures.
+    Import Qt modules directly, that is: <literal>qtbase</literal>, <literal>qtdeclarative</literal>, etc.
+    <emphasis>Do not</emphasis> import Qt package sets such as <literal>qt5</literal>
+    because the Qt versions of dependencies may not be coherent, causing build and runtime failures.
    </para>
   </callout>
   <callout arearefs='qt-default-nix-co-2'>
-   <para>
-    Use <literal>mkDerivation</literal> instead of <literal>stdenv.mkDerivation</literal>. <literal>mkDerivation</literal> is a wrapper around <literal>stdenv.mkDerivation</literal> which applies some Qt-specific settings. This deriver accepts the same arguments as <literal>stdenv.mkDerivation</literal>; refer to <xref linkend='chap-stdenv' /> for details.
-   </para>
-   <para>
-    To use another deriver instead of <literal>stdenv.mkDerivation</literal>, use <literal>mkDerivationWith</literal>:
-<programlisting>
-mkDerivationWith myDeriver {
-  # ...
-}
-</programlisting>
-    If you cannot use <literal>mkDerivationWith</literal>, please refer to <xref linkend='qt-runtime-dependencies' />.
-   </para>
-  </callout>
-  <callout arearefs='qt-default-nix-co-3'>
-   <para>
-    <literal>mkDerivation</literal> accepts the same arguments as <literal>stdenv.mkDerivation</literal>, such as <literal>buildInputs</literal>.
-   </para>
+    <para>
+      All Qt packages must include <literal>wrapQtAppsHook</literal> in
+      <literal>nativeBuildInputs</literal>, or you must explicitly set
+      <literal>dontWrapQtApps</literal>.
+    </para>
   </callout>
  </calloutlist>
 ```
 
 ## Locating runtime dependencies {#qt-runtime-dependencies}
-Qt applications need to be wrapped to find runtime dependencies. If you cannot use `mkDerivation` or `mkDerivationWith` above, include `wrapQtAppsHook` in `nativeBuildInputs`:
+
+Qt applications must be wrapped to find runtime dependencies.
+Include `wrapQtAppsHook` in `nativeBuildInputs`:
 
 ```nix
+{ stdenv, wrapQtAppsHook }:
+
 stdenv.mkDerivation {
   # ...
-
   nativeBuildInputs = [ wrapQtAppsHook ];
 }
 ```
-Entries added to `qtWrapperArgs` are used to modify the wrappers created by `wrapQtAppsHook`. The entries are passed as arguments to [wrapProgram executable makeWrapperArgs](#fun-wrapProgram).
+
+Add entries to `qtWrapperArgs` are to modify the wrappers created by
+`wrapQtAppsHook`:
 
 ```nix
-mkDerivation {
-  # ...
+{ stdenv, wrapQtAppsHook }:
 
+stdenv.mkDerivation {
+  # ...
+  nativeBuildInputs = [ wrapQtAppsHook ];
   qtWrapperArgs = [ ''--prefix PATH : /path/to/bin'' ];
 }
 ```
 
-Set `dontWrapQtApps` to stop applications from being wrapped automatically. It is required to wrap applications manually with `wrapQtApp`, using the syntax of [wrapProgram executable makeWrapperArgs](#fun-wrapProgram):
+The entries are passed as arguments to [wrapProgram](#fun-wrapProgram).
+
+Set `dontWrapQtApps` to stop applications from being wrapped automatically.
+Wrap programs manually with `wrapQtApp`, using the syntax of
+[wrapProgram](#fun-wrapProgram):
 
 ```nix
-mkDerivation {
-  # ...
+{ stdenv, lib, wrapQtAppsHook }:
 
+stdenv.mkDerivation {
+  # ...
+  nativeBuildInputs = [ wrapQtAppsHook ];
   dontWrapQtApps = true;
   preFixup = ''
       wrapQtApp "$out/bin/myapp" --prefix PATH : /path/to/bin
@@ -79,21 +90,16 @@ mkDerivation {
 }
 ```
 
-> Note: `wrapQtAppsHook` ignores files that are non-ELF executables. This means that scripts won't be automatically wrapped so you'll need to manually wrap them as previously mentioned. An example of when you'd always need to do this is with Python applications that use PyQT.
+::: note
+`wrapQtAppsHook` ignores files that are non-ELF executables.
+This means that scripts won't be automatically wrapped so you'll need to manually wrap them as previously mentioned.
+An example of when you'd always need to do this is with Python applications that use PyQt.
+:::
 
-Libraries are built with every available version of Qt. Use the `meta.broken` attribute to disable the package for unsupported Qt versions:
-
-```nix
-mkDerivation {
-  # ...
-
-  # Disable this library with Qt &lt; 5.9.0
-  meta.broken = builtins.compareVersions qtbase.version "5.9.0" &lt; 0;
-}
-```
 ## Adding a library to Nixpkgs
-Qt libraries are added to `qt5-packages.nix` and are made available for every Qt
-version supported.
+Add Qt libraries to `qt5-packages.nix` to make them available for every
+supported Qt version.
+
 ### Example adding a Qt library {#qt-library-all-packages-nix}
 
 The following represents the contents of `qt5-packages.nix`.
@@ -106,9 +112,23 @@ The following represents the contents of `qt5-packages.nix`.
   # ...
 }
 ```
+
+Libraries are built with every available version of Qt.
+Use the `meta.broken` attribute to disable the package for unsupported Qt versions:
+
+```nix
+{ stdenv, lib, qtbase }:
+
+stdenv.mkDerivation {
+  # ...
+  # Disable this library with Qt &lt; 5.9.0
+  meta.broken = lib.versionOlder qtbase.version "5.9.0";
+}
+```
+
 ## Adding an application to Nixpkgs
-Applications that use Qt are also added to `qt5-packages.nix`. An alias is added
-in the top-level `all-packages.nix` pointing to the package with the desired Qt5 version.
+Add Qt applications to `qt5-packages.nix`. Add an alias to `all-packages.nix`
+to select the Qt 5 version used for the application.
 
 ### Example adding a Qt application {#qt-application-all-packages-nix}
 
diff --git a/doc/languages-frameworks/rust.section.md b/doc/languages-frameworks/rust.section.md
index 8f6db28ab4d63..94f94aaffe32a 100644
--- a/doc/languages-frameworks/rust.section.md
+++ b/doc/languages-frameworks/rust.section.md
@@ -80,6 +80,33 @@ The fetcher will verify that the `Cargo.lock` file is in sync with the `src`
 attribute, and fail the build if not. It will also will compress the vendor
 directory into a tar.gz archive.
 
+The tarball with vendored dependencies contains a directory with the
+package's `name`, which is normally composed of `pname` and
+`version`. This means that the vendored dependencies hash
+(`cargoSha256`/`cargoHash`) is dependent on the package name and
+version. The `cargoDepsName` attribute can be used to use another name
+for the directory of vendored dependencies. For example, the hash can
+be made invariant to the version by setting `cargoDepsName` to
+`pname`:
+
+```nix
+rustPlatform.buildRustPackage rec {
+  pname = "broot";
+  version = "1.2.0";
+
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "1mqaynrqaas82f5957lx31x80v74zwmwmjxxlbywajb61vh00d38";
+  };
+
+  cargoHash = "sha256-JmBZcDVYJaK1cK05cxx5BrnGWp4t8ca6FLUbvIot67s=";
+  cargoDepsName = pname;
+
+  # ...
+}
+```
+
+
 ### Cross compilation
 
 By default, Rust packages are compiled for the host platform, just like any
@@ -196,7 +223,7 @@ sometimes it may be necessary to disable this so the tests run consecutively.
 ```nix
 rustPlatform.buildRustPackage {
   /* ... */
-  cargoParallelTestThreads = false;
+  dontUseCargoParallelTests = true;
 }
 ```
 
@@ -237,6 +264,198 @@ rustPlatform.buildRustPackage rec {
 }
 ```
 
+## Compiling non-Rust packages that include Rust code
+
+Several non-Rust packages incorporate Rust code for performance- or
+security-sensitive parts. `rustPlatform` exposes several functions and
+hooks that can be used to integrate Cargo in non-Rust packages.
+
+### Vendoring of dependencies
+
+Since network access is not allowed in sandboxed builds, Rust crate
+dependencies need to be retrieved using a fetcher. `rustPlatform`
+provides the `fetchCargoTarball` fetcher, which vendors all
+dependencies of a crate. For example, given a source path `src`
+containing `Cargo.toml` and `Cargo.lock`, `fetchCargoTarball`
+can be used as follows:
+
+```nix
+cargoDeps = rustPlatform.fetchCargoTarball {
+  inherit src;
+  hash = "sha256-BoHIN/519Top1NUBjpB/oEMqi86Omt3zTQcXFWqrek0=";
+};
+```
+
+The `src` attribute is required, as well as a hash specified through
+one of the `sha256` or `hash` attributes. The following optional
+attributes can also be used:
+
+* `name`: the name that is used for the dependencies tarball.  If
+  `name` is not specified, then the name `cargo-deps` will be used.
+* `sourceRoot`: when the `Cargo.lock`/`Cargo.toml` are in a
+  subdirectory, `sourceRoot` specifies the relative path to these
+  files.
+* `patches`: patches to apply before vendoring. This is useful when
+  the `Cargo.lock`/`Cargo.toml` files need to be patched before
+  vendoring.
+
+### Hooks
+
+`rustPlatform` provides the following hooks to automate Cargo builds:
+
+* `cargoSetupHook`: configure Cargo to use depenencies vendored
+  through `fetchCargoTarball`. This hook uses the `cargoDeps`
+  environment variable to find the vendored dependencies. If a project
+  already vendors its dependencies, the variable `cargoVendorDir` can
+  be used instead. When the `Cargo.toml`/`Cargo.lock` files are not in
+  `sourceRoot`, then the optional `cargoRoot` is used to specify the
+  Cargo root directory relative to `sourceRoot`.
+* `cargoBuildHook`: use Cargo to build a crate. If the crate to be
+  built is a crate in e.g. a Cargo workspace, the relative path to the
+  crate to build can be set through the optional `buildAndTestSubdir`
+  environment variable. Additional Cargo build flags can be passed
+  through `cargoBuildFlags`.
+* `maturinBuildHook`: use [Maturin](https://github.com/PyO3/maturin)
+  to build a Python wheel. Similar to `cargoBuildHook`, the optional
+  variable `buildAndTestSubdir` can be used to build a crate in a
+  Cargo workspace. Additional maturin flags can be passed through
+  `maturinBuildFlags`.
+* `cargoCheckHook`: run tests using Cargo. Additional flags can be
+  passed to Cargo using `checkFlags` and `checkFlagsArray`. By
+  default, tests are run in parallel. This can be disabled by setting
+  `dontUseCargoParallelTests`.
+* `cargoInstallHook`: install binaries and static/shared libraries
+  that were built using `cargoBuildHook`.
+
+### Examples
+
+#### Python package using `setuptools-rust`
+
+For Python packages using `setuptools-rust`, you can use
+`fetchCargoTarball` and `cargoSetupHook` to retrieve and set up Cargo
+dependencies. The build itself is then performed by
+`buildPythonPackage`.
+
+The following example outlines how the `tokenizers` Python package is
+built. Since the Python package is in the `source/bindings/python`
+directory of the *tokenizers* project's source archive, we use
+`sourceRoot` to point the tooling to this directory:
+
+```nix
+{ fetchFromGitHub
+, buildPythonPackage
+, rustPlatform
+, setuptools-rust
+}:
+
+buildPythonPackage rec {
+  pname = "tokenizers";
+  version = "0.10.0";
+
+  src = fetchFromGitHub {
+    owner = "huggingface";
+    repo = pname;
+    rev = "python-v${version}";
+    hash = "sha256-rQ2hRV52naEf6PvRsWVCTN7B1oXAQGmnpJw4iIdhamw=";
+  };
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src sourceRoot;
+    name = "${pname}-${version}";
+    hash = "sha256-BoHIN/519Top1NUBjpB/oEMqi86Omt3zTQcXFWqrek0=";
+  };
+
+  sourceRoot = "source/bindings/python";
+
+  nativeBuildInputs = [ setuptools-rust ] ++ (with rustPlatform; [
+    cargoSetupHook
+    rust.cargo
+    rust.rustc
+  ]);
+
+  # ...
+}
+```
+
+In some projects, the Rust crate is not in the main Python source
+directory.  In such cases, the `cargoRoot` attribute can be used to
+specify the crate's directory relative to `sourceRoot`. In the
+following example, the crate is in `src/rust`, as specified in the
+`cargoRoot` attribute. Note that we also need to specify the correct
+path for `fetchCargoTarball`.
+
+```nix
+
+{ buildPythonPackage
+, fetchPypi
+, rustPlatform
+, setuptools-rust
+, openssl
+}:
+
+buildPythonPackage rec {
+  pname = "cryptography";
+  version = "3.4.2"; # Also update the hash in vectors.nix
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1i1mx5y9hkyfi9jrrkcw804hmkcglxi6rmf7vin7jfnbr2bf4q64";
+  };
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    sourceRoot = "${pname}-${version}/${cargoRoot}";
+    name = "${pname}-${version}";
+    hash = "sha256-PS562W4L1NimqDV2H0jl5vYhL08H9est/pbIxSdYVfo=";
+  };
+
+  cargoRoot = "src/rust";
+
+  # ...
+}
+```
+
+#### Python package using `maturin`
+
+Python packages that use [Maturin](https://github.com/PyO3/maturin)
+can be built with `fetchCargoTarball`, `cargoSetupHook`, and
+`maturinBuildHook`. For example, the following (partial) derivation
+builds the `retworkx` Python package. `fetchCargoTarball` and
+`cargoSetupHook` are used to fetch and set up the crate dependencies.
+`maturinBuildHook` is used to perform the build.
+
+```nix
+{ lib
+, buildPythonPackage
+, rustPlatform
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "retworkx";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "Qiskit";
+    repo = "retworkx";
+    rev = version;
+    sha256 = "11n30ldg3y3y6qxg3hbj837pnbwjkqw3nxq6frds647mmmprrd20";
+  };
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "${pname}-${version}";
+    hash = "sha256-heOBK8qi2nuc/Ib+I/vLzZ1fUUD/G/KTw9d7M4Hz5O0=";
+  };
+
+  format = "pyproject";
+
+  nativeBuildInputs = with rustPlatform; [ cargoSetupHook maturinBuildHook ];
+
+  # ...
+}
+```
+
 ## Compiling Rust crates using Nix instead of Cargo
 
 ### Simple operation
diff --git a/doc/manual.xml b/doc/manual.xml
index 8cecb01fc2276..b0490ec74aee9 100644
--- a/doc/manual.xml
+++ b/doc/manual.xml
@@ -19,7 +19,7 @@
   <xi:include href="stdenv/meta.xml" />
   <xi:include href="stdenv/multiple-output.xml" />
   <xi:include href="stdenv/cross-compilation.chapter.xml" />
-  <xi:include href="stdenv/platform-notes.xml" />
+  <xi:include href="stdenv/platform-notes.chapter.xml" />
  </part>
  <part>
   <title>Builders</title>
diff --git a/doc/stdenv/cross-compilation.chapter.md b/doc/stdenv/cross-compilation.chapter.md
index d7a07a621be7e..ee090c82114d6 100644
--- a/doc/stdenv/cross-compilation.chapter.md
+++ b/doc/stdenv/cross-compilation.chapter.md
@@ -16,7 +16,7 @@ Nixpkgs follows the [conventions of GNU autoconf](https://gcc.gnu.org/onlinedocs
 In Nixpkgs, these three platforms are defined as attribute sets under the names `buildPlatform`, `hostPlatform`, and `targetPlatform`. They are always defined as attributes in the standard environment. That means one can access them like:
 
 ```nix
-{ stdenv, fooDep, barDep, .. }: ...stdenv.buildPlatform...
+{ stdenv, fooDep, barDep, ... }: ...stdenv.buildPlatform...
 ```
 
 `buildPlatform`
@@ -99,15 +99,26 @@ Some examples will make this table clearer. Suppose there's some package that is
 
 Some frequently encountered problems when packaging for cross-compilation should be answered here. Ideally, the information above is exhaustive, so this section cannot provide any new information, but it is ludicrous and cruel to expect everyone to spend effort working through the interaction of many features just to figure out the same answer to the same common problem. Feel free to add to this list!
 
+#### My package fails to find a binutils command (`cc`/`ar`/`ld` etc.) {#cross-qa-fails-to-find-binutils}
+Many packages assume that an unprefixed binutils (`cc`/`ar`/`ld` etc.) is available, but Nix doesn't provide one. It only provides a prefixed one, just as it only does for all the other binutils programs. It may be necessary to patch the package to fix the build system to use a prefix. For instance, instead of `cc`, use `${stdenv.cc.targetPrefix}cc`.
+
+```nix
+makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
+```
+
+#### How do I avoid compiling a GCC cross-compiler from source? {#cross-qa-avoid-compiling-gcc-cross-compiler}
+On less powerful machines, it can be inconvenient to cross-compile a package only to find out that GCC has to be compiled from source, which could take up to several hours. Nixpkgs maintains a limited [cross-related jobset on Hydra](https://hydra.nixos.org/jobset/nixpkgs/cross-trunk), which tests cross-compilation to various platforms from build platforms "x86\_64-darwin", "x86\_64-linux", and "aarch64-linux".  See `pkgs/top-level/release-cross.nix` for the full list of target platforms and packages.  For instance, the following invocation fetches the pre-built cross-compiled GCC for `armv6l-unknown-linux-gnueabihf` and builds GNU Hello from source.
+
+```ShellSession
+$ nix-build '<nixpkgs>' -A pkgsCross.raspberryPi.hello
+```
+
 #### What if my package's build system needs to build a C program to be run under the build environment? {#cross-qa-build-c-program-in-build-environment}
 Add the following to your `mkDerivation` invocation.
 ```nix
 depsBuildBuild = [ buildPackages.stdenv.cc ];
 ```
 
-#### My package fails to find `ar`. {#cross-qa-fails-to-find-ar}
-Many packages assume that an unprefixed `ar` is available, but Nix doesn't provide one. It only provides a prefixed one, just as it only does for all the other binutils programs. It may be necessary to patch the package to fix the build system to use a prefixed `ar`.
-
 ####  My package's testsuite needs to run host platform code. {#cross-testsuite-runs-host-code}
 
 Add the following to your `mkDerivation` invocation.
diff --git a/doc/stdenv/meta.xml b/doc/stdenv/meta.xml
index 10802d1af59fd..91ace0b9cc951 100644
--- a/doc/stdenv/meta.xml
+++ b/doc/stdenv/meta.xml
@@ -75,7 +75,7 @@ hello-2.3  A program that produces a familiar, friendly greeting
   </para>
 
   <variablelist>
-   <varlistentry>
+   <varlistentry xml:id="var-meta-description">
     <term>
      <varname>description</varname>
     </term>
@@ -94,7 +94,7 @@ hello-2.3  A program that produces a familiar, friendly greeting
      </para>
     </listitem>
    </varlistentry>
-   <varlistentry>
+   <varlistentry xml:id="var-meta-longDescription">
     <term>
      <varname>longDescription</varname>
     </term>
@@ -104,7 +104,7 @@ hello-2.3  A program that produces a familiar, friendly greeting
      </para>
     </listitem>
    </varlistentry>
-   <varlistentry>
+   <varlistentry xml:id="var-meta-branch">
     <term>
      <varname>branch</varname>
     </term>
@@ -114,7 +114,7 @@ hello-2.3  A program that produces a familiar, friendly greeting
      </para>
     </listitem>
    </varlistentry>
-   <varlistentry>
+   <varlistentry xml:id="var-meta-homepage">
     <term>
      <varname>homepage</varname>
     </term>
@@ -124,7 +124,7 @@ hello-2.3  A program that produces a familiar, friendly greeting
      </para>
     </listitem>
    </varlistentry>
-   <varlistentry>
+   <varlistentry xml:id="var-meta-downloadPage">
     <term>
      <varname>downloadPage</varname>
     </term>
@@ -134,7 +134,7 @@ hello-2.3  A program that produces a familiar, friendly greeting
      </para>
     </listitem>
    </varlistentry>
-   <varlistentry>
+   <varlistentry xml:id="var-meta-changelog">
     <term>
      <varname>changelog</varname>
     </term>
@@ -144,7 +144,7 @@ hello-2.3  A program that produces a familiar, friendly greeting
      </para>
     </listitem>
    </varlistentry>
-   <varlistentry>
+   <varlistentry xml:id="var-meta-license">
     <term>
      <varname>license</varname>
     </term>
@@ -183,7 +183,7 @@ hello-2.3  A program that produces a familiar, friendly greeting
      </para>
     </listitem>
    </varlistentry>
-   <varlistentry>
+   <varlistentry xml:id="var-meta-maintainers">
     <term>
      <varname>maintainers</varname>
     </term>
@@ -193,7 +193,7 @@ hello-2.3  A program that produces a familiar, friendly greeting
      </para>
     </listitem>
    </varlistentry>
-   <varlistentry>
+   <varlistentry xml:id="var-meta-priority">
     <term>
      <varname>priority</varname>
     </term>
@@ -203,7 +203,7 @@ hello-2.3  A program that produces a familiar, friendly greeting
      </para>
     </listitem>
    </varlistentry>
-   <varlistentry>
+   <varlistentry xml:id="var-meta-platforms">
     <term>
      <varname>platforms</varname>
     </term>
@@ -217,7 +217,7 @@ meta.platforms = lib.platforms.linux;
      </para>
     </listitem>
    </varlistentry>
-   <varlistentry>
+   <varlistentry xml:id="var-meta-tests">
     <term>
      <varname>tests</varname>
     </term>
@@ -244,7 +244,7 @@ meta.platforms = lib.platforms.linux;
      </para>
     </listitem>
    </varlistentry>
-   <varlistentry>
+   <varlistentry xml:id="var-meta-timeout">
     <term>
      <varname>timeout</varname>
     </term>
@@ -254,7 +254,7 @@ meta.platforms = lib.platforms.linux;
      </para>
     </listitem>
    </varlistentry>
-   <varlistentry>
+   <varlistentry xml:id="var-meta-hydraPlatforms">
     <term>
      <varname>hydraPlatforms</varname>
     </term>
@@ -268,7 +268,7 @@ meta.hydraPlatforms = [];
      </para>
     </listitem>
    </varlistentry>
-   <varlistentry>
+   <varlistentry xml:id="var-meta-broken">
     <term>
      <varname>broken</varname>
     </term>
@@ -278,7 +278,7 @@ meta.hydraPlatforms = [];
      </para>
     </listitem>
    </varlistentry>
-   <varlistentry>
+   <varlistentry xml:id="var-meta-updateWalker">
     <term>
      <varname>updateWalker</varname>
     </term>
diff --git a/doc/stdenv/platform-notes.chapter.md b/doc/stdenv/platform-notes.chapter.md
new file mode 100644
index 0000000000000..03e61e333f8b2
--- /dev/null
+++ b/doc/stdenv/platform-notes.chapter.md
@@ -0,0 +1,62 @@
+# Platform Notes {#chap-platform-notes}
+
+## Darwin (macOS) {#sec-darwin}
+
+Some common issues when packaging software for Darwin:
+
+- The Darwin `stdenv` uses clang instead of gcc. When referring to the compiler `$CC` or `cc` will work in both cases. Some builds hardcode gcc/g++ in their build scripts, that can usually be fixed with using something like `makeFlags = [ "CC=cc" ];` or by patching the build scripts.
+
+  ```nix
+  stdenv.mkDerivation {
+    name = "libfoo-1.2.3";
+    # ...
+    buildPhase = ''
+      $CC -o hello hello.c
+    '';
+  }
+  ```
+
+- On Darwin, libraries are linked using absolute paths, libraries are resolved by their `install_name` at link time. Sometimes packages won’t set this correctly causing the library lookups to fail at runtime. This can be fixed by adding extra linker flags or by running `install_name_tool -id` during the `fixupPhase`.
+
+  ```nix
+  stdenv.mkDerivation {
+    name = "libfoo-1.2.3";
+    # ...
+    makeFlags = lib.optional stdenv.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/libfoo.dylib";
+  }
+  ```
+
+- Even if the libraries are linked using absolute paths and resolved via their `install_name` correctly, tests can sometimes fail to run binaries. This happens because the `checkPhase` runs before the libraries are installed.
+
+  This can usually be solved by running the tests after the `installPhase` or alternatively by using `DYLD_LIBRARY_PATH`. More information about this variable can be found in the *dyld(1)* manpage.
+
+  ```
+  dyld: Library not loaded: /nix/store/7hnmbscpayxzxrixrgxvvlifzlxdsdir-jq-1.5-lib/lib/libjq.1.dylib
+  Referenced from: /private/tmp/nix-build-jq-1.5.drv-0/jq-1.5/tests/../jq
+  Reason: image not found
+  ./tests/jqtest: line 5: 75779 Abort trap: 6
+  ```
+
+  ```nix
+  stdenv.mkDerivation {
+    name = "libfoo-1.2.3";
+    # ...
+    doInstallCheck = true;
+    installCheckTarget = "check";
+  }
+  ```
+
+- Some packages assume xcode is available and use `xcrun` to resolve build tools like `clang`, etc. This causes errors like `xcode-select: error: no developer tools were found at '/Applications/Xcode.app'` while the build doesn’t actually depend on xcode.
+
+  ```nix
+  stdenv.mkDerivation {
+    name = "libfoo-1.2.3";
+    # ...
+    prePatch = ''
+      substituteInPlace Makefile \
+          --replace '/usr/bin/xcrun clang' clang
+    '';
+  }
+  ```
+
+  The package `xcbuild` can be used to build projects that really depend on Xcode. However, this replacement is not 100% compatible with Xcode and can occasionally cause issues.
diff --git a/doc/stdenv/platform-notes.xml b/doc/stdenv/platform-notes.xml
deleted file mode 100644
index cc8efaece1293..0000000000000
--- a/doc/stdenv/platform-notes.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<chapter xmlns="http://docbook.org/ns/docbook"
-         xmlns:xlink="http://www.w3.org/1999/xlink"
-         xml:id="chap-platform-notes">
- <title>Platform Notes</title>
- <section xml:id="sec-darwin">
-  <title>Darwin (macOS)</title>
-
-  <para>
-   Some common issues when packaging software for Darwin:
-  </para>
-
-  <itemizedlist>
-   <listitem>
-    <para>
-     The Darwin <literal>stdenv</literal> uses clang instead of gcc. When referring to the compiler <varname>$CC</varname> or <command>cc</command> will work in both cases. Some builds hardcode gcc/g++ in their build scripts, that can usually be fixed with using something like <literal>makeFlags = [ "CC=cc" ];</literal> or by patching the build scripts.
-    </para>
-<programlisting>
-stdenv.mkDerivation {
-  name = "libfoo-1.2.3";
-  # ...
-  buildPhase = ''
-    $CC -o hello hello.c
-  '';
-}
-</programlisting>
-   </listitem>
-   <listitem>
-    <para>
-     On Darwin, libraries are linked using absolute paths, libraries are resolved by their <literal>install_name</literal> at link time. Sometimes packages won't set this correctly causing the library lookups to fail at runtime. This can be fixed by adding extra linker flags or by running <command>install_name_tool -id</command> during the <function>fixupPhase</function>.
-    </para>
-<programlisting>
-stdenv.mkDerivation {
-  name = "libfoo-1.2.3";
-  # ...
-  makeFlags = lib.optional stdenv.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/libfoo.dylib";
-}
-</programlisting>
-   </listitem>
-   <listitem>
-    <para>
-     Even if the libraries are linked using absolute paths and resolved via their <literal>install_name</literal> correctly, tests can sometimes fail to run binaries. This happens because the <varname>checkPhase</varname> runs before the libraries are installed.
-    </para>
-    <para>
-     This can usually be solved by running the tests after the <varname>installPhase</varname> or alternatively by using <varname>DYLD_LIBRARY_PATH</varname>. More information about this variable can be found in the <citerefentry>
-     <refentrytitle>dyld</refentrytitle>
-     <manvolnum>1</manvolnum></citerefentry> manpage.
-    </para>
-<programlisting>
-dyld: Library not loaded: /nix/store/7hnmbscpayxzxrixrgxvvlifzlxdsdir-jq-1.5-lib/lib/libjq.1.dylib
-Referenced from: /private/tmp/nix-build-jq-1.5.drv-0/jq-1.5/tests/../jq
-Reason: image not found
-./tests/jqtest: line 5: 75779 Abort trap: 6
-</programlisting>
-<programlisting>
-stdenv.mkDerivation {
-  name = "libfoo-1.2.3";
-  # ...
-  doInstallCheck = true;
-  installCheckTarget = "check";
-}
-</programlisting>
-   </listitem>
-   <listitem>
-    <para>
-     Some packages assume xcode is available and use <command>xcrun</command> to resolve build tools like <command>clang</command>, etc. This causes errors like <code>xcode-select: error: no developer tools were found at '/Applications/Xcode.app'</code> while the build doesn't actually depend on xcode.
-    </para>
-<programlisting>
-stdenv.mkDerivation {
-  name = "libfoo-1.2.3";
-  # ...
-  prePatch = ''
-    substituteInPlace Makefile \
-        --replace '/usr/bin/xcrun clang' clang
-  '';
-}
-</programlisting>
-    <para>
-     The package <literal>xcbuild</literal> can be used to build projects that really depend on Xcode. However, this replacement is not 100% compatible with Xcode and can occasionally cause issues.
-    </para>
-   </listitem>
-  </itemizedlist>
- </section>
-</chapter>
diff --git a/doc/using/configuration.xml b/doc/using/configuration.xml
index 1e1df867e08ef..8e63e0072c8d2 100644
--- a/doc/using/configuration.xml
+++ b/doc/using/configuration.xml
@@ -138,11 +138,11 @@
 </programlisting>
     </para>
     <para>
-     For a more useful example, try the following. This configuration only allows unfree packages named flash player and visual studio code:
+     For a more useful example, try the following. This configuration only allows unfree packages named roon-server and visual studio code:
 <programlisting>
 {
   allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
-    "flashplayer"
+    "roon-server"
     "vscode"
   ];
 }
@@ -151,26 +151,26 @@
    </listitem>
    <listitem>
     <para>
-     It is also possible to whitelist and blacklist licenses that are specifically acceptable or not acceptable, using <literal>whitelistedLicenses</literal> and <literal>blacklistedLicenses</literal>, respectively.
+     It is also possible to allow and block licenses that are specifically acceptable or not acceptable, using <literal>allowlistedLicenses</literal> and <literal>blocklistedLicenses</literal>, respectively.
     </para>
     <para>
-     The following example configuration whitelists the licenses <literal>amd</literal> and <literal>wtfpl</literal>:
+     The following example configuration allowlists the licenses <literal>amd</literal> and <literal>wtfpl</literal>:
 <programlisting>
 {
-  whitelistedLicenses = with lib.licenses; [ amd wtfpl ];
+  allowlistedLicenses = with lib.licenses; [ amd wtfpl ];
 }
 </programlisting>
     </para>
     <para>
-     The following example configuration blacklists the <literal>gpl3Only</literal> and <literal>agpl3Only</literal> licenses:
+     The following example configuration blocklists the <literal>gpl3Only</literal> and <literal>agpl3Only</literal> licenses:
 <programlisting>
 {
-  blacklistedLicenses = with lib.licenses; [ agpl3Only gpl3Only ];
+  blocklistedLicenses = with lib.licenses; [ agpl3Only gpl3Only ];
 }
 </programlisting>
     </para>
     <para>
-      Note that <literal>whitelistedLicenses</literal> only applies to unfree licenses unless <literal>allowUnfree</literal> is enabled. It is not a generic whitelist for all types of licenses. <literal>blacklistedLicenses</literal> applies to all licenses.
+      Note that <literal>allowlistedLicenses</literal> only applies to unfree licenses unless <literal>allowUnfree</literal> is enabled. It is not a generic allowlist for all types of licenses. <literal>blocklistedLicenses</literal> applies to all licenses.
     </para>
    </listitem>
   </itemizedlist>
diff --git a/doc/using/overlays.xml b/doc/using/overlays.xml
index 9ffbb4edd989e..8bda235d43d8d 100644
--- a/doc/using/overlays.xml
+++ b/doc/using/overlays.xml
@@ -236,10 +236,11 @@ self: super:
 {
   blas = super.blas.override {
     blasProvider = self.mkl;
-  }
+  };
+
   lapack = super.lapack.override {
     lapackProvider = self.mkl;
-  }
+  };
 }
 </programlisting>
      <para>
diff --git a/lib/licenses.nix b/lib/licenses.nix
index 190eeefc1bf88..993783db3ed6b 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -7,7 +7,7 @@ let
 
 in
 
-lib.mapAttrs (n: v: v // { shortName = n; }) {
+lib.mapAttrs (n: v: v // { shortName = n; }) ({
   /* License identifiers from spdx.org where possible.
    * If you cannot find your license here, then look for a similar license or
    * add it to this list. The URL mentioned above is a good source for inspiration.
@@ -100,6 +100,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) {
     fullName = "BSD Zero Clause License";
   };
 
+  bsd1 = spdx {
+    spdxId = "BSD-1-Clause";
+    fullName = "BSD 1-Clause License";
+  };
+
   bsd2 = spdx {
     spdxId = "BSD-2-Clause";
     fullName = ''BSD 2-clause "Simplified" License'';
@@ -301,6 +306,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) {
     fullName = "GNU Free Documentation License v1.1 only";
   };
 
+  fdl11Plus = spdx {
+    spdxId = "GFDL-1.1-or-later";
+    fullName = "GNU Free Documentation License v1.1 or later";
+  };
+
   fdl12Only = spdx {
     spdxId = "GFDL-1.2-only";
     fullName = "GNU Free Documentation License v1.2 only";
@@ -867,4 +877,4 @@ lib.mapAttrs (n: v: v // { shortName = n; }) {
     fullName = "GNU Lesser General Public License v3.0";
     deprecated = true;
   };
-}
+})
diff --git a/lib/lists.nix b/lib/lists.nix
index 56af4d9daa186..e469f3ef26526 100644
--- a/lib/lists.nix
+++ b/lib/lists.nix
@@ -241,7 +241,7 @@ rec {
 
   /* Return a singleton list or an empty list, depending on a boolean
      value.  Useful when building lists with optional elements
-     (e.g. `++ optional (system == "i686-linux") flashplayer').
+     (e.g. `++ optional (system == "i686-linux") firefox').
 
      Type: optional :: bool -> a -> [a]
 
diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix
index f399c1873f5e8..3bf90cd0cafb5 100644
--- a/lib/systems/platforms.nix
+++ b/lib/systems/platforms.nix
@@ -300,7 +300,7 @@ rec {
       baseConfig = "multi_v7_defconfig";
       DTB = true;
       autoModules = true;
-      PreferBuiltin = true;
+      preferBuiltin = true;
       target = "zImage";
       extraConfig = ''
         # Serial port for Raspberry Pi 3. Upstream forgot to add it to the ARMv7 defconfig.
diff --git a/lib/types.nix b/lib/types.nix
index 77245158d9f81..d0a8e96149d70 100644
--- a/lib/types.nix
+++ b/lib/types.nix
@@ -454,7 +454,8 @@ rec {
     };
 
     functionTo = elemType: mkOptionType {
-      name = "function that evaluates to a(n) ${elemType.name}";
+      name = "functionTo";
+      description = "function that evaluates to a(n) ${elemType.name}";
       check = isFunction;
       merge = loc: defs:
         fnArgs: (mergeDefinitions (loc ++ [ "[function body]" ]) elemType (map (fn: { inherit (fn) file; value = fn.value fnArgs; }) defs)).mergedValue;
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 09279ac608faa..d3a35283b78dd 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -48,6 +48,12 @@
     See `./scripts/check-maintainer-github-handles.sh` for an example on how to work with this data.
 */
 {
+  _0qq = {
+    email = "0qqw0qqw@gmail.com";
+    github = "0qq";
+    githubId = 64707304;
+    name = "Dmitry Kulikov";
+  };
   _0x4A6F = {
     email = "mail-maintainer@0x4A6F.dev";
     name = "Joachim Ernst";
@@ -76,6 +82,12 @@
     githubId = 882455;
     name = "Elliot Cameron";
   };
+  _414owen = {
+    email = "owen@owen.cafe";
+    github = "414owen";
+    githubId = 1714287;
+    name = "Owen Shepherd";
+  };
   _6AA4FD = {
     email = "f6442954@gmail.com";
     github = "6AA4FD";
@@ -538,12 +550,6 @@
     githubId = 638836;
     name = "Andreas Rammhold";
   };
-  andreabedini = {
-    email = "andrea@kzn.io";
-    github = "andreabedini";
-    githubId = 69135;
-    name = "Andrea Bedini";
-  };
   andreasfelix = {
     email = "fandreas@physik.hu-berlin.de";
     github = "andreasfelix";
@@ -768,6 +774,12 @@
     githubId = 3965744;
     name = "Arthur Lee";
   };
+  arthurteisseire = {
+    email = "arthurteisseire33@gmail.com";
+    github = "arthurteisseire";
+    githubId = 37193992;
+    name = "Arthur Teisseire";
+  };
   arturcygan = {
     email = "arczicygan@gmail.com";
     github = "arcz";
@@ -868,6 +880,12 @@
     githubId = 706854;
     name = "Etienne Laurin";
   };
+  attila-lendvai = {
+    name = "Attila Lendvai";
+    email = "attila@lendvai.name";
+    github = "attila-lendvai";
+    githubId = 840345;
+  };
   auntie = {
     email = "auntieNeo@gmail.com";
     github = "auntieNeo";
@@ -898,6 +916,12 @@
     githubId = 687218;
     name = "averelld";
   };
+  avh4 = {
+    email = "gruen0aermel@gmail.com";
+    github = "avh4";
+    githubId = 1222;
+    name = "Aaron VonderHaar";
+  };
   avitex = {
     email = "theavitex@gmail.com";
     github = "avitex";
@@ -1579,12 +1603,6 @@
     githubId = 89596;
     name = "Florian Friesdorf";
   };
-  charvp = {
-    email = "nixpkgs@cvpetegem.be";
-    github = "charvp";
-    githubId = 42220376;
-    name = "Charlotte Van Petegem";
-  };
   chattered = {
     email = "me@philscotted.com";
     name = "Phil Scott";
@@ -1693,6 +1711,12 @@
     githubId = 2245737;
     name = "Christopher Mark Poole";
   };
+  chvp = {
+    email = "nixpkgs@cvpetegem.be";
+    github = "chvp";
+    githubId = 42220376;
+    name = "Charlotte Van Petegem";
+  };
   ciil = {
     email = "simon@lackerbauer.com";
     github = "ciil";
@@ -2085,6 +2109,12 @@
     email = "christoph.senjak@googlemail.com";
     name = "Christoph-Simon Senjak";
   };
+  davhau = {
+    email = "d.hauer.it@gmail.com";
+    name = "David Hauer";
+    github = "DavHau";
+    githubId = 42246742;
+  };
   david-sawatzke = {
     email = "d-nix@sawatzke.dev";
     github = "david-sawatzke";
@@ -2273,6 +2303,12 @@
     githubId = 265220;
     name = "David Leung";
   };
+  DianaOlympos = {
+    email = "DianaOlympos@noreply.github.com";
+    github = "DianaOlympos";
+    githubId = 15774340;
+    name = "Thomas Depierre";
+  };
   dipinhora = {
     email = "dipinhora+github@gmail.com";
     github = "dipinhora";
@@ -2381,6 +2417,16 @@
     githubId = 6806011;
     name = "Robert Schütz";
   };
+  dottedmag = {
+    email = "dottedmag@dottedmag.net";
+    github = "dottedmag";
+    githubId = 16120;
+    name = "Misha Gusarov";
+    keys = [{
+      longkeyid = "rsa4096/0x9D20F6503E338888";
+      fingerprint = "A8DF 1326 9E5D 9A38 E57C  FAC2 9D20 F650 3E33 8888";
+    }];
+  };
   doublec = {
     email = "chris.double@double.co.nz";
     github = "doublec";
@@ -3037,6 +3083,12 @@
     githubId = 9959940;
     name = "Andreas Fehn";
   };
+  felixsinger = {
+    email = "felixsinger@posteo.net";
+    github = "felixsinger";
+    githubId = 628359;
+    name = "Felix Singer";
+  };
   felschr = {
     email = "dev@felschr.com";
     github = "felschr";
@@ -3059,6 +3111,12 @@
     githubId = 8182846;
     name = "Francesco Gazzetta";
   };
+  figsoda = {
+    email = "figsoda@pm.me";
+    github = "figsoda";
+    githubId = 40620903;
+    name = "figsoda";
+  };
   fionera = {
     email = "nix@fionera.de";
     github = "fionera";
@@ -3153,6 +3211,12 @@
     githubId = 92793;
     name = "Friedrich von Never";
   };
+  fortuneteller2k = {
+    email = "lythe1107@gmail.com";
+    github = "fortuneteller2k";
+    githubId = 20619776;
+    name = "fortuneteller2k";
+  };
   fpletz = {
     email = "fpletz@fnordicwalking.de";
     github = "fpletz";
@@ -3243,6 +3307,12 @@
     githubId = 10528737;
     name = "Severin Fürbringer";
   };
+  fufexan = {
+    email = "fufexan@protonmail.com";
+    github = "fufexan";
+    githubId = 36706276;
+    name = "Fufezan Mihai";
+  };
   funfunctor = {
     email = "eocallaghan@alterapraxis.com";
     name = "Edward O'Callaghan";
@@ -3463,6 +3533,12 @@
     githubId = 6893840;
     name = "Yacine Hmito";
   };
+  graham33 = {
+    email = "graham@grahambennett.org";
+    github = "graham33";
+    githubId = 10908649;
+    name = "Graham Bennett";
+  };
   grahamc = {
     email = "graham@grahamc.com";
     github = "grahamc";
@@ -3545,6 +3621,12 @@
     githubId = 443978;
     name = "Gabriel Volpe";
   };
+  gytis-ivaskevicius = {
+    name = "Gytis Ivaskevicius";
+    email = "me@gytis.io";
+    github = "gytis-ivaskevicius";
+    githubId = 23264966;
+  };
   hakuch = {
     email = "hakuch@gmail.com";
     github = "hakuch";
@@ -3579,6 +3661,12 @@
     githubId = 5317234;
     name = "Raphael Megzari";
   };
+  happy-river = {
+    email = "happyriver93@runbox.com";
+    github = "happy-river";
+    githubId = 54728477;
+    name = "Happy River";
+  };
   haslersn = {
     email = "haslersn@fius.informatik.uni-stuttgart.de";
     github = "haslersn";
@@ -3717,6 +3805,12 @@
       fingerprint = "78C2 E81C 828A 420B 269A  EBC1 49FA 39F8 A7F7 35F9";
     }];
   };
+  humancalico = {
+    email = "humancalico@disroot.org";
+    github = "humancalico";
+    githubId = 51334444;
+    name = "Akshat Agarwal";
+  };
   hodapp = {
     email = "hodapp87@gmail.com";
     github = "Hodapp87";
@@ -3741,6 +3835,12 @@
     githubId = 130903;
     name = "Ana Hobden";
   };
+  holgerpeters = {
+    name = "Holger Peters";
+    email = "holger.peters@posteo.de";
+    github = "HolgerPeters";
+    githubId = 4097049;
+  };
   hrdinka = {
     email = "c.nix@hrdinka.at";
     github = "hrdinka";
@@ -3765,6 +3865,12 @@
     githubId = 15371828;
     name = "Hugo Lageneste";
   };
+  hypersw = {
+    email = "baltic@hypersw.net";
+    github = "hypersw";
+    githubId = 2332070;
+    name = "Serge Baltic";
+  };
   hyphon81 = {
     email = "zero812n@gmail.com";
     github = "hyphon81";
@@ -5250,6 +5356,12 @@
     githubId = 307589;
     name = "Nathaniel Baxter";
   };
+  liamdiprose = {
+    email = "liam@liamdiprose.com";
+    github = "liamdiprose";
+    githubId = 1769386;
+    name = "Liam Diprose";
+  };
   liff = {
     email = "liff@iki.fi";
     github = "liff";
@@ -5532,6 +5644,12 @@
     githubId = 2057309;
     name = "Sergey Sofeychuk";
   };
+  lxea = {
+    email = "nix@amk.ie";
+    github = "lxea";
+    githubId = 7910815;
+    name = "Alex McGrath";
+  };
   lynty = {
     email = "ltdong93+nix@gmail.com";
     github = "lynty";
@@ -5776,6 +5894,12 @@
     githubId = 35892750;
     name = "Maxine Aubrey";
   };
+  maxhbr = {
+    email = "nixos@maxhbr.dev";
+    github = "maxhbr";
+    githubId = 1187050;
+    name = "Maximilian Huber";
+  };
   maxxk = {
     email = "maxim.krivchikov@gmail.com";
     github = "maxxk";
@@ -5788,6 +5912,12 @@
     githubId = 22836301;
     name = "Mateusz Mazur";
   };
+  mbaeten = {
+    email = "mbaeten@users.noreply.github.com";
+    github = "mbaeten";
+    githubId = 2649304;
+    name = "M. Baeten";
+  };
   mbakke = {
     email = "mbakke@fastmail.com";
     github = "mbakke";
@@ -5935,7 +6065,7 @@
     name = "Celine Mercier";
   };
   metadark = {
-    email = "kira.bruneau@gmail.com";
+    email = "kira.bruneau@pm.me";
     name = "Kira Bruneau";
     github = "metadark";
     githubId = 382041;
@@ -6699,6 +6829,12 @@
     githubId = 148037;
     name = "Joachim Breitner";
   };
+  nomisiv = {
+    email = "simon@nomisiv.com";
+    github = "NomisIV";
+    githubId = 47303199;
+    name = "Simon Gutgesell";
+  };
   noneucat = {
     email = "andy@lolc.at";
     github = "noneucat";
@@ -7059,6 +7195,12 @@
     githubId = 15645854;
     name = "Brad Christensen";
   };
+  payas = {
+    email = "relekarpayas@gmail.com";
+    github = "payasrelekar";
+    githubId = 24254289;
+    name = "Payas Relekar";
+  };
   pawelpacana = {
     email = "pawel.pacana@gmail.com";
     github = "pawelpacana";
@@ -7071,6 +7213,12 @@
     githubId = 157610;
     name = "Piotr Bogdan";
   };
+  pborzenkov = {
+    email = "pavel@borzenkov.net";
+    github = "pborzenkov";
+    githubId = 434254;
+    name = "Pavel Borzenkov";
+  };
   pblkt = {
     email = "pebblekite@gmail.com";
     github = "pblkt";
@@ -7108,7 +7256,7 @@
     name = "Paulus Esterhazy";
   };
   petabyteboy = {
-    email = "me@pbb.lc";
+    email = "milan@petabyte.dev";
     github = "petabyteboy";
     githubId = 3250809;
     name = "Milan Pässler";
@@ -7519,6 +7667,12 @@
     githubId = 115877;
     name = "Kenny Shen";
   };
+  queezle = {
+    email = "git@queezle.net";
+    github = "qzle";
+    githubId = 1024891;
+    name = "Jens Nolte";
+  };
   quentini = {
     email = "quentini@airmail.cc";
     github = "QuentinI";
@@ -7895,6 +8049,12 @@
     githubId = 3708689;
     name = "Roberto Di Remigio";
   };
+  robertoszek = {
+    email = "robertoszek@robertoszek.xyz";
+    github = "robertoszek";
+    githubId = 1080963;
+    name = "Roberto";
+  };
   robgssp = {
     email = "robgssp@gmail.com";
     github = "robgssp";
@@ -8199,6 +8359,12 @@
     githubId = 2320433;
     name = "Sam Boosalis";
   };
+  sbruder = {
+    email = "nixos@sbruder.de";
+    github = "sbruder";
+    githubId = 15986681;
+    name = "Simon Bruder";
+  };
   scalavision = {
     email = "scalavision@gmail.com";
     github = "scalavision";
@@ -8417,6 +8583,12 @@
     githubId = 997855;
     name = "Narazaki Shuji";
   };
+  shofius = {
+    name = "Sam Hofius";
+    email = "sam@samhofi.us";
+    github = "kf5grd";
+    githubId = 18297490;
+  };
   shou = {
     email = "x+g@shou.io";
     github = "Shou";
@@ -8655,6 +8827,12 @@
     githubId = 7669898;
     name = "Katharina Fey";
   };
+  spease = {
+    email = "peasteven@gmail.com";
+    github = "spease";
+    githubId = 2825204;
+    name = "Steven Pease";
+  };
   spencerjanssen = {
     email = "spencerjanssen@gmail.com";
     github = "spencerjanssen";
@@ -8746,7 +8924,7 @@
     name = "Guillaume Loetscher";
   };
   sternenseemann = {
-    email = "post@lukasepple.de";
+    email = "sternenseemann@systemli.org";
     github = "sternenseemann";
     githubId = 3154475;
     name = "Lukas Epple";
@@ -9192,7 +9370,7 @@
     name = "Jan Beinke";
   };
   thesola10 = {
-    email = "thesola10@bobile.fr";
+    email = "me@thesola.io";
     github = "thesola10";
     githubId = 7287268;
     keys = [{
@@ -9261,6 +9439,16 @@
     githubId = 1391883;
     name = "Tom Hall";
   };
+  Thunderbottom = {
+    email = "chinmaydpai@gmail.com";
+    github = "Thunderbottom";
+    githubId = 11243138;
+    name = "Chinmay D. Pai";
+    keys = [{
+      longkeyid = "rsa4096/0x75507BE256F40CED";
+      fingerprint = "7F3E EEAA EE66 93CC 8782  042A 7550 7BE2 56F4 0CED";
+    }];
+  };
   tiagolobocastro = {
     email = "tiagolobocastro@gmail.com";
     github = "tiagolobocastro";
@@ -9331,6 +9519,12 @@
       fingerprint = "556A 403F B0A2 D423 F656  3424 8489 B911 F9ED 617B";
     }];
   };
+  tmountain = {
+    email = "tinymountain@gmail.com";
+    github = "tmountain";
+    githubId = 135297;
+    name = "Travis Whitton";
+  };
   tmplt = {
     email = "tmplt@dragons.rocks";
     github = "tmplt";
@@ -9916,6 +10110,12 @@
     githubId = 6016963;
     name = "Patrick Winter";
   };
+  winterqt = {
+    email = "nixos@winter.cafe";
+    github = "winterqt";
+    githubId = 78392041;
+    name = "Winter";
+  };
   wishfort36 = {
     email = "42300264+wishfort36@users.noreply.github.com";
     github = "wishfort36";
@@ -10578,4 +10778,16 @@
     github = "zupo";
     githubId = 311580;
   };
+  felixscheinost = {
+    name = "Felix Scheinost";
+    email = "felix.scheinost@posteo.de";
+    github = "felixscheinost";
+    githubId = 31761492;
+  };
+  benneti = {
+    name = "Benedikt Tissot";
+    email = "benedikt.tissot@googlemail.com";
+    github = "benneti";
+    githubId = 11725645;
+  };
 }
diff --git a/maintainers/scripts/nixpkgs-lint.nix b/maintainers/scripts/nixpkgs-lint.nix
index b0267281b389d..873905373af0f 100644
--- a/maintainers/scripts/nixpkgs-lint.nix
+++ b/maintainers/scripts/nixpkgs-lint.nix
@@ -3,7 +3,8 @@
 stdenv.mkDerivation {
   name = "nixpkgs-lint-1";
 
-  buildInputs = [ makeWrapper perl perlPackages.XMLSimple ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ perl perlPackages.XMLSimple ];
 
   dontUnpack = true;
   buildPhase = "true";
diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix
index b34c3f71bd829..7d778a8ae30c8 100644
--- a/maintainers/team-list.nix
+++ b/maintainers/team-list.nix
@@ -29,6 +29,18 @@ with lib.maintainers; {
     scope = "Maintain ACME-related packages and modules.";
   };
 
+  beam = {
+    members = [
+      ankhers
+      Br1ght0ne
+      DianaOlympos
+      gleber
+      happysalada
+      yurrriq
+    ];
+    scope = "Maintain BEAM-related packages and modules.";
+  };
+
   cinnamon = {
     members = [
       mkg20001
diff --git a/nixos/doc/manual/configuration/networking.xml b/nixos/doc/manual/configuration/networking.xml
index 02cf811e0bd3d..8369e9c9c852b 100644
--- a/nixos/doc/manual/configuration/networking.xml
+++ b/nixos/doc/manual/configuration/networking.xml
@@ -15,5 +15,6 @@
  <xi:include href="firewall.xml" />
  <xi:include href="wireless.xml" />
  <xi:include href="ad-hoc-network-config.xml" />
+ <xi:include href="renaming-interfaces.xml" />
 <!-- TODO: OpenVPN, NAT -->
 </chapter>
diff --git a/nixos/doc/manual/configuration/profiles/clone-config.xml b/nixos/doc/manual/configuration/profiles/clone-config.xml
index 04fa1643d0fd0..9c70cf352041a 100644
--- a/nixos/doc/manual/configuration/profiles/clone-config.xml
+++ b/nixos/doc/manual/configuration/profiles/clone-config.xml
@@ -16,6 +16,6 @@
   On images where the installation media also becomes an installation target,
   copying over <literal>configuration.nix</literal> should be disabled by
   setting <literal>installer.cloneConfig</literal> to <literal>false</literal>.
-  For example, this is done in <literal>sd-image-aarch64.nix</literal>.
+  For example, this is done in <literal>sd-image-aarch64-installer.nix</literal>.
  </para>
 </section>
diff --git a/nixos/doc/manual/configuration/renaming-interfaces.xml b/nixos/doc/manual/configuration/renaming-interfaces.xml
new file mode 100644
index 0000000000000..d760bb3a4dace
--- /dev/null
+++ b/nixos/doc/manual/configuration/renaming-interfaces.xml
@@ -0,0 +1,67 @@
+<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-rename-ifs">
+ <title>Renaming network interfaces</title>
+
+ <para>
+  NixOS uses the udev
+  <link xlink:href="https://systemd.io/PREDICTABLE_INTERFACE_NAMES/">predictable naming scheme</link>
+  to assign names to network interfaces. This means that by default
+  cards are not given the traditional names like
+  <literal>eth0</literal> or <literal>eth1</literal>, whose order can
+  change unpredictably across reboots. Instead, relying on physical
+  locations and firmware information, the scheme produces names like
+  <literal>ens1</literal>, <literal>enp2s0</literal>, etc.
+ </para>
+
+ <para>
+  These names are predictable but less memorable and not necessarily
+  stable: for example installing new hardware or changing firmware
+  settings can result in a
+  <link xlink:href="https://github.com/systemd/systemd/issues/3715#issue-165347602">name change</link>.
+  If this is undesirable, for example if you have a single ethernet
+  card, you can revert to the traditional scheme by setting
+  <xref linkend="opt-networking.usePredictableInterfaceNames"/> to
+  <literal>false</literal>.
+ </para>
+
+ <section xml:id="sec-custom-ifnames">
+  <title>Assigning custom names</title>
+  <para>
+   In case there are multiple interfaces of the same type, it’s better to
+   assign custom names based on the device hardware address. For
+   example, we assign the name <literal>wan</literal> to the interface
+   with MAC address <literal>52:54:00:12:01:01</literal> using a
+   netword link unit:
+  </para>
+  <programlisting>
+ <link linkend="opt-systemd.network.links">systemd.network.links."10-wan"</link> = {
+   matchConfig.MACAddress = "52:54:00:12:01:01";
+   linkConfig.Name = "wan";
+ };
+  </programlisting>
+  <para>
+   Note that links are directly read by udev, <emphasis>not networkd</emphasis>,
+   and will work even if networkd is disabled.
+  </para>
+  <para>
+   Alternatively, we can use a plain old udev rule:
+  </para>
+  <programlisting>
+ <link linkend="opt-services.udev.initrdRules">services.udev.initrdRules</link> = ''
+  SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", \
+  ATTR{address}=="52:54:00:12:01:01", KERNEL=="eth*", NAME="wan"
+ '';
+  </programlisting>
+
+  <warning><para>
+   The rule must be installed in the initrd using
+   <literal>services.udev.initrdRules</literal>, not the usual
+   <literal>services.udev.extraRules</literal> option. This is to avoid race
+   conditions with other programs controlling the interface.
+  </para></warning>
+ </section>
+
+</section>
diff --git a/nixos/doc/manual/installation/installing-virtualbox-guest.xml b/nixos/doc/manual/installation/installing-virtualbox-guest.xml
index 4957b700946ef..019e5098a8e27 100644
--- a/nixos/doc/manual/installation/installing-virtualbox-guest.xml
+++ b/nixos/doc/manual/installation/installing-virtualbox-guest.xml
@@ -83,17 +83,12 @@
   VirtualBox settings (Machine / Settings / Shared Folders, then click on the
   "Add" icon). Add the following to the
   <literal>/etc/nixos/configuration.nix</literal> to auto-mount them. If you do
-  not add <literal>"nofail"</literal>, the system will not boot properly. The
-  same goes for disabling <literal>rngd</literal> which is normally used to get
-  randomness but this does not work in virtual machines.
+  not add <literal>"nofail"</literal>, the system will not boot properly.
  </para>
 
 <programlisting>
 { config, pkgs, ...} :
 {
-  security.rngd.enable = false; // otherwise vm will not boot
-  ...
-
   fileSystems."/virtualboxshare" = {
     fsType = "vboxsf";
     device = "nameofthesharedfolder";
diff --git a/nixos/doc/manual/release-notes/release-notes.xml b/nixos/doc/manual/release-notes/release-notes.xml
index bf18457c2b385..e083d51406c76 100644
--- a/nixos/doc/manual/release-notes/release-notes.xml
+++ b/nixos/doc/manual/release-notes/release-notes.xml
@@ -8,7 +8,7 @@
   This section lists the release notes for each stable version of NixOS and
   current unstable revision.
  </para>
- <xi:include href="rl-2103.xml" />
+ <xi:include href="rl-2105.xml" />
  <xi:include href="rl-2009.xml" />
  <xi:include href="rl-2003.xml" />
  <xi:include href="rl-1909.xml" />
diff --git a/nixos/doc/manual/release-notes/rl-2009.xml b/nixos/doc/manual/release-notes/rl-2009.xml
index 0b1d0d509d783..a6cff1a8faedd 100644
--- a/nixos/doc/manual/release-notes/rl-2009.xml
+++ b/nixos/doc/manual/release-notes/rl-2009.xml
@@ -6,7 +6,9 @@
  <title>Release 20.09 (“Nightingale”, 2020.10/27)</title>
 
   <para>
-   Support is planned until the end of April 2021, handing over to 21.03.
+   Support is planned until the end of June 2021, handing over to 21.05.
+   (Plans <link xlink:href="https://github.com/NixOS/rfcs/blob/master/rfcs/0080-nixos-release-schedule.md#core-changes">
+   have shifted</link> by two months since release of 20.09.)
   </para>
  <section xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
@@ -1538,7 +1540,7 @@ services.transmission.settings.rpc-bind-address = "0.0.0.0";
    <listitem>
     <para>
      Specifying <link linkend="opt-services.dovecot2.mailboxes">mailboxes</link> in the <package>dovecot2</package> module
-     as a list is deprecated and will break eval in 21.03. Instead, an attribute-set should be specified where the <literal>name</literal>
+     as a list is deprecated and will break eval in 21.05. Instead, an attribute-set should be specified where the <literal>name</literal>
      should be the key of the attribute.
     </para>
     <para>
diff --git a/nixos/doc/manual/release-notes/rl-2103.xml b/nixos/doc/manual/release-notes/rl-2105.xml
index f33b4ef919f0e..c730ed4e85fbc 100644
--- a/nixos/doc/manual/release-notes/rl-2103.xml
+++ b/nixos/doc/manual/release-notes/rl-2105.xml
@@ -2,14 +2,14 @@
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
-         xml:id="sec-release-21.03">
- <title>Release 21.03 (“Okapi”, 2021.03/??)</title>
+         xml:id="sec-release-21.05">
+ <title>Release 21.05 (“Okapi”, 2021.05/??)</title>
 
  <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-release-21.03-highlights">
+         xml:id="sec-release-21.05-highlights">
   <title>Highlights</title>
 
   <para>
@@ -20,7 +20,7 @@
   <itemizedlist>
    <listitem>
     <para>
-     Support is planned until the end of October 2021, handing over to 21.09.
+     Support is planned until the end of December 2021, handing over to 21.11.
     </para>
    </listitem>
    <listitem>
@@ -46,7 +46,7 @@
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
-         xml:id="sec-release-21.03-new-services">
+         xml:id="sec-release-21.05-new-services">
   <title>New Services</title>
 
   <para>
@@ -82,7 +82,7 @@
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
-         xml:id="sec-release-21.03-incompatibilities">
+         xml:id="sec-release-21.05-incompatibilities">
   <title>Backward Incompatibilities</title>
 
   <para>
@@ -91,6 +91,27 @@
   </para>
 
   <itemizedlist>
+   <listitem>
+    <para>
+     If you are using <option>services.udev.extraRules</option> to assign
+     custom names to network interfaces, this may stop working due to a change
+     in the initialisation of dhcpcd and systemd networkd. To avoid this, either
+     move them to <option>services.udev.initrdRules</option> or see the new
+     <link linkend="sec-custom-ifnames">Assigning custom names</link> section
+     of the NixOS manual for an example using networkd links.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The <option>security.hideProcessInformation</option> module has been removed.
+     It was broken since the switch to cgroups-v2.
+    </para>
+   </listitem>
+    <listitem>
+      <para>
+        The <literal>systemConfig</literal> kernel parameter is no longer added to boot loader entries. It has been unused since September 2010, but if do have a system generation from that era, you will now be unable to boot into them.
+      </para>
+    </listitem>
     <listitem>
       <para>
         <literal>systemd-journal2gelf</literal> no longer parses json and expects the receiving system to handle it. How to achieve this with Graylog is described in this <link xlink:href="https://github.com/parse-nl/SystemdJournal2Gelf/issues/10">GitHub issue</link>.
@@ -466,6 +487,58 @@ self: super:
      ALSA OSS emulation (<varname>sound.enableOSSEmulation</varname>) is now disabled by default.
     </para>
    </listitem>
+   <listitem>
+    <para>
+      Thinkfan as been updated to <literal>1.2.x</literal>, which comes with a
+      new YAML based configuration format. For this reason, several NixOS options
+      of the thinkfan module have been changed to non-backward compatible types.
+      In addition, a new <xref linkend="opt-services.thinkfan.settings"/> option has
+      been added.
+    </para>
+    <para>
+      Please read the <link xlink:href="https://github.com/vmatare/thinkfan#readme">
+      thinkfan documentation</link> before updating.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Adobe Flash Player support has been dropped from the tree. In particular,
+     the following packages no longer support it:
+     <itemizedlist>
+      <listitem><simpara><package>chromium</package></simpara></listitem>
+      <listitem><simpara><package>firefox</package></simpara></listitem>
+      <listitem><simpara><package>qt48</package></simpara></listitem>
+      <listitem><simpara><package>qt5.qtwebkit</package></simpara></listitem>
+     </itemizedlist>
+     Additionally, packages <package>flashplayer</package> and
+     <package>hal-flash</package> were removed along with the
+     <varname>services.flashpolicyd</varname> module.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+      The <literal>security.rngd</literal> module has been removed.
+      It was disabled by default in 20.09 as it was functionally redundant
+      with krngd in the linux kernel. It is not necessary for any device that the kernel recognises
+      as an hardware RNG, as it will automatically run the krngd task to periodically collect random
+      data from the device and mix it into the kernel's RNG.
+    </para>
+    <para>
+      The default SMTP port for GitLab has been changed to
+      <literal>25</literal> from its previous default of
+      <literal>465</literal>. If you depended on this default, you
+      should now set the <xref linkend="opt-services.gitlab.smtp.port" />
+      option.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The default version of ImageMagick has been updated from 6 to 7.
+     You can use <package>imagemagick6</package>,
+     <package>imagemagick6_light</package>, and
+     <package>imagemagick6Big</package> if you need the older version.
+    </para>
+   </listitem>
   </itemizedlist>
  </section>
 
@@ -473,7 +546,7 @@ self: super:
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xi="http://www.w3.org/2001/XInclude"
          version="5.0"
-         xml:id="sec-release-21.03-notable-changes">
+         xml:id="sec-release-21.05-notable-changes">
   <title>Other Notable Changes</title>
 
   <itemizedlist>
@@ -666,6 +739,19 @@ self: super:
      <varname>services.restic</varname> now uses a dedicated cache directory for every backup defined in <varname>services.restic.backups</varname>. The old global cache directory, <literal>/root/.cache/restic</literal>, is now unused and can be removed to free up disk space.
     </para>
    </listitem>
+   <listitem>
+    <para>
+     <literal>isync</literal>: The <literal>isync</literal> compatibility wrapper was removed and the Master/Slave
+     terminology has been deprecated and should be replaced with Far/Near in the configuration file.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The nix-gc service now accepts randomizedDelaySec (default: 0) and persistent (default: true) parameters.
+     By default nix-gc will now run immediately if it would have been triggered at least
+     once during the time when the timer was inactive.
+    </para>
+   </listitem>
   </itemizedlist>
  </section>
 </section>
diff --git a/nixos/lib/make-squashfs.nix b/nixos/lib/make-squashfs.nix
index ee76c9c5bf240..8690c42e7ac93 100644
--- a/nixos/lib/make-squashfs.nix
+++ b/nixos/lib/make-squashfs.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation {
 
       # Generate the squashfs image.
       mksquashfs nix-path-registration $(cat $closureInfo/store-paths) $out \
-        -keep-as-directory -all-root -b 1048576 -comp ${comp}
+        -no-hardlinks -keep-as-directory -all-root -b 1048576 -comp ${comp}
     '';
 }
diff --git a/nixos/modules/config/console.nix b/nixos/modules/config/console.nix
index 1339227f1e022..84ad76246fdb7 100644
--- a/nixos/modules/config/console.nix
+++ b/nixos/modules/config/console.nix
@@ -144,11 +144,16 @@ in
           ''}
         '';
 
-        systemd.services.systemd-vconsole-setup =
-          {
-            before = optional config.services.xserver.enable "display-manager.service";
-            after = [ "systemd-udev-settle.service" ];
+        systemd.services.reload-systemd-vconsole-setup =
+          { description = "Reset console on configuration changes";
+            wantedBy = [ "multi-user.target" ];
             restartTriggers = [ vconsoleConf consoleEnv ];
+            reloadIfChanged = true;
+            serviceConfig =
+              { RemainAfterExit = true;
+                ExecStart = "${pkgs.coreutils}/bin/true";
+                ExecReload = "/run/current-system/systemd/bin/systemctl restart systemd-vconsole-setup";
+              };
           };
       }
 
diff --git a/nixos/modules/config/no-x-libs.nix b/nixos/modules/config/no-x-libs.nix
index c3120c2bf30d6..14fe180d0bc5f 100644
--- a/nixos/modules/config/no-x-libs.nix
+++ b/nixos/modules/config/no-x-libs.nix
@@ -29,6 +29,7 @@ with lib;
     nixpkgs.overlays = singleton (const (super: {
       cairo = super.cairo.override { x11Support = false; };
       dbus = super.dbus.override { x11Support = false; };
+      beam = super.beam_nox;
       networkmanager-fortisslvpn = super.networkmanager-fortisslvpn.override { withGnome = false; };
       networkmanager-iodine = super.networkmanager-iodine.override { withGnome = false; };
       networkmanager-l2tp = super.networkmanager-l2tp.override { withGnome = false; };
diff --git a/nixos/modules/config/swap.nix b/nixos/modules/config/swap.nix
index 4bb66e9b51449..59bc9e9d11e00 100644
--- a/nixos/modules/config/swap.nix
+++ b/nixos/modules/config/swap.nix
@@ -185,8 +185,6 @@ in
           { description = "Initialisation of swap device ${sw.device}";
             wantedBy = [ "${realDevice'}.swap" ];
             before = [ "${realDevice'}.swap" ];
-            # If swap is encrypted, depending on rngd resolves a possible entropy starvation during boot
-            after = mkIf (config.security.rngd.enable && sw.randomEncryption.enable) [ "rngd.service" ];
             path = [ pkgs.util-linux ] ++ optional sw.randomEncryption.enable pkgs.cryptsetup;
 
             script =
diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix
index 5b3e9a8ceb7f4..1a530b9f01359 100644
--- a/nixos/modules/config/users-groups.nix
+++ b/nixos/modules/config/users-groups.nix
@@ -568,7 +568,7 @@ in {
     # Install all the user shells
     environment.systemPackages = systemShells;
 
-    environment.etc = (mapAttrs' (name: { packages, ... }: {
+    environment.etc = (mapAttrs' (_: { packages, name, ... }: {
       name = "profiles/per-user/${name}";
       value.source = pkgs.buildEnv {
         name = "user-environment";
diff --git a/nixos/modules/hardware/i2c.nix b/nixos/modules/hardware/i2c.nix
new file mode 100644
index 0000000000000..ff14b4b1c891d
--- /dev/null
+++ b/nixos/modules/hardware/i2c.nix
@@ -0,0 +1,43 @@
+{ config, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.hardware.i2c;
+in
+
+{
+  options.hardware.i2c = {
+    enable = mkEnableOption ''
+      i2c devices support. By default access is granted to users in the "i2c"
+      group (will be created if non-existent) and any user with a seat, meaning
+      logged on the computer locally.
+    '';
+
+    group = mkOption {
+      type = types.str;
+      default = "i2c";
+      description = ''
+        Grant access to i2c devices (/dev/i2c-*) to users in this group.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    boot.kernelModules = [ "i2c-dev" ];
+
+    users.groups = mkIf (cfg.group == "i2c") {
+      i2c = { };
+    };
+
+    services.udev.extraRules = ''
+      # allow group ${cfg.group} and users with a seat use of i2c devices
+      ACTION=="add", KERNEL=="i2c-[0-9]*", TAG+="uaccess", GROUP="${cfg.group}", MODE="660"
+    '';
+
+  };
+
+  meta.maintainers = [ maintainers.rnhmjoj ];
+
+}
diff --git a/nixos/modules/hardware/ksm.nix b/nixos/modules/hardware/ksm.nix
index 0938dbdc11018..829c3532c4597 100644
--- a/nixos/modules/hardware/ksm.nix
+++ b/nixos/modules/hardware/ksm.nix
@@ -26,13 +26,13 @@ in {
     systemd.services.enable-ksm = {
       description = "Enable Kernel Same-Page Merging";
       wantedBy = [ "multi-user.target" ];
-      after = [ "systemd-udev-settle.service" ];
-      script = ''
-        if [ -e /sys/kernel/mm/ksm ]; then
+      script =
+        ''
           echo 1 > /sys/kernel/mm/ksm/run
-          ${optionalString (cfg.sleep != null) ''echo ${toString cfg.sleep} > /sys/kernel/mm/ksm/sleep_millisecs''}
-        fi
-      '';
+        '' + optionalString (cfg.sleep != null)
+        ''
+          echo ${toString cfg.sleep} > /sys/kernel/mm/ksm/sleep_millisecs
+        '';
     };
   };
 }
diff --git a/nixos/modules/hardware/sensor/hddtemp.nix b/nixos/modules/hardware/sensor/hddtemp.nix
new file mode 100644
index 0000000000000..df3f75e229a2f
--- /dev/null
+++ b/nixos/modules/hardware/sensor/hddtemp.nix
@@ -0,0 +1,81 @@
+{ config, lib, pkgs, ... }:
+let
+  inherit (lib) mkIf mkOption types;
+
+  cfg = config.hardware.sensor.hddtemp;
+
+  wrapper = pkgs.writeShellScript "hddtemp-wrapper" ''
+    set -eEuo pipefail
+
+    file=/var/lib/hddtemp/hddtemp.db
+
+    drives=(${toString (map (e: ''$(realpath ${lib.escapeShellArg e}) '') cfg.drives)})
+
+    cp ${pkgs.hddtemp}/share/hddtemp/hddtemp.db $file
+    ${lib.concatMapStringsSep "\n" (e: "echo ${lib.escapeShellArg e} >> $file") cfg.dbEntries}
+
+    exec ${pkgs.hddtemp}/bin/hddtemp ${lib.escapeShellArgs cfg.extraArgs} \
+      --daemon \
+      --unit=${cfg.unit} \
+      --file=$file \
+      ''${drives[@]}
+  '';
+
+in
+{
+  meta.maintainers = with lib.maintainers; [ peterhoeg ];
+
+  ###### interface
+
+  options = {
+    hardware.sensor.hddtemp = {
+      enable = mkOption {
+        description = ''
+          Enable this option to support HDD/SSD temperature sensors.
+        '';
+        type = types.bool;
+        default = false;
+      };
+
+      drives = mkOption {
+        description = "List of drives to monitor. If you pass /dev/disk/by-path/* entries the symlinks will be resolved as hddtemp doesn't like names with colons.";
+        type = types.listOf types.str;
+      };
+
+      unit = mkOption {
+        description = "Celcius or Fahrenheit";
+        type = types.enum [ "C" "F" ];
+        default = "C";
+      };
+
+      dbEntries = mkOption {
+        description = "Additional DB entries";
+        type = types.listOf types.str;
+        default = [ ];
+      };
+
+      extraArgs = mkOption {
+        description = "Additional arguments passed to the daemon.";
+        type = types.listOf types.str;
+        default = [ ];
+      };
+    };
+  };
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+    systemd.services.hddtemp = {
+      description = "HDD/SSD temperature";
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        Type = "forking";
+        ExecStart = wrapper;
+        StateDirectory = "hddtemp";
+        PrivateTmp = true;
+        ProtectHome = "tmpfs";
+        ProtectSystem = "strict";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/hardware/video/switcheroo-control.nix b/nixos/modules/hardware/video/switcheroo-control.nix
new file mode 100644
index 0000000000000..199adb2ad8f52
--- /dev/null
+++ b/nixos/modules/hardware/video/switcheroo-control.nix
@@ -0,0 +1,18 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+let
+  pkg = [ pkgs.switcheroo-control ];
+  cfg = config.services.switcherooControl;
+in {
+  options.services.switcherooControl = {
+    enable = mkEnableOption "switcheroo-control, a D-Bus service to check the availability of dual-GPU";
+  };
+
+  config = mkIf cfg.enable {
+    services.dbus.packages = pkg;
+    environment.systemPackages = pkg;
+    systemd.packages = pkg;
+    systemd.targets.multi-user.wants = [ "switcheroo-control.service" ];
+  };
+}
diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix
index 2882fbcc73052..a669d61571fef 100644
--- a/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix
+++ b/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix
@@ -1,7 +1,14 @@
-{ pkgs, ... }:
-
+{ config, ... }:
 {
-  imports = [ ./sd-image-aarch64.nix ];
-
-  boot.kernelPackages = pkgs.linuxPackages_latest;
+  imports = [
+    ../sd-card/sd-image-aarch64-new-kernel-installer.nix
+  ];
+  config = {
+    warnings = [
+      ''
+      .../cd-dvd/sd-image-aarch64-new-kernel.nix is deprecated and will eventually be removed.
+      Please switch to .../sd-card/sd-image-aarch64-new-kernel-installer.nix, instead.
+      ''
+    ];
+  };
 }
diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix
index e4ec2d6240d02..76c1509b8f7e0 100644
--- a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix
+++ b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix
@@ -1,80 +1,14 @@
-# To build, use:
-# nix-build nixos -I nixos-config=nixos/modules/installer/cd-dvd/sd-image-aarch64.nix -A config.system.build.sdImage
-{ config, lib, pkgs, ... }:
-
+{ config, ... }:
 {
   imports = [
-    ../../profiles/base.nix
-    ../../profiles/installation-device.nix
-    ./sd-image.nix
+    ../sd-card/sd-image-aarch64-installer.nix
   ];
-
-  boot.loader.grub.enable = false;
-  boot.loader.generic-extlinux-compatible.enable = true;
-
-  boot.consoleLogLevel = lib.mkDefault 7;
-
-  # The serial ports listed here are:
-  # - ttyS0: for Tegra (Jetson TX1)
-  # - ttyAMA0: for QEMU's -machine virt
-  boot.kernelParams = ["console=ttyS0,115200n8" "console=ttyAMA0,115200n8" "console=tty0"];
-
-  boot.initrd.availableKernelModules = [
-    # Allows early (earlier) modesetting for the Raspberry Pi
-    "vc4" "bcm2835_dma" "i2c_bcm2835"
-    # Allows early (earlier) modesetting for Allwinner SoCs
-    "sun4i_drm" "sun8i_drm_hdmi" "sun8i_mixer"
-  ];
-
-  sdImage = {
-    populateFirmwareCommands = let
-      configTxt = pkgs.writeText "config.txt" ''
-        [pi3]
-        kernel=u-boot-rpi3.bin
-
-        [pi4]
-        kernel=u-boot-rpi4.bin
-        enable_gic=1
-        armstub=armstub8-gic.bin
-
-        # Otherwise the resolution will be weird in most cases, compared to
-        # what the pi3 firmware does by default.
-        disable_overscan=1
-
-        [all]
-        # Boot in 64-bit mode.
-        arm_64bit=1
-
-        # U-Boot needs this to work, regardless of whether UART is actually used or not.
-        # Look in arch/arm/mach-bcm283x/Kconfig in the U-Boot tree to see if this is still
-        # a requirement in the future.
-        enable_uart=1
-
-        # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel
-        # when attempting to show low-voltage or overtemperature warnings.
-        avoid_warnings=1
-      '';
-      in ''
-        (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/firmware/)
-
-        # Add the config
-        cp ${configTxt} firmware/config.txt
-
-        # Add pi3 specific files
-        cp ${pkgs.ubootRaspberryPi3_64bit}/u-boot.bin firmware/u-boot-rpi3.bin
-
-        # Add pi4 specific files
-        cp ${pkgs.ubootRaspberryPi4_64bit}/u-boot.bin firmware/u-boot-rpi4.bin
-        cp ${pkgs.raspberrypi-armstubs}/armstub8-gic.bin firmware/armstub8-gic.bin
-        cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2711-rpi-4-b.dtb firmware/
-      '';
-    populateRootCommands = ''
-      mkdir -p ./files/boot
-      ${config.boot.loader.generic-extlinux-compatible.populateCmd} -c ${config.system.build.toplevel} -d ./files/boot
-    '';
+  config = {
+    warnings = [
+      ''
+      .../cd-dvd/sd-image-aarch64.nix is deprecated and will eventually be removed.
+      Please switch to .../sd-card/sd-image-aarch64-installer.nix, instead.
+      ''
+    ];
   };
-
-  # the installation media is also the installation target,
-  # so we don't want to provide the installation configuration.nix.
-  installer.cloneConfig = false;
 }
diff --git a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix
index d2ba611532e0b..6ee0eb9e9b8db 100644
--- a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix
+++ b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix
@@ -1,57 +1,14 @@
-# To build, use:
-# nix-build nixos -I nixos-config=nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix -A config.system.build.sdImage
-{ config, lib, pkgs, ... }:
-
+{ config, ... }:
 {
   imports = [
-    ../../profiles/base.nix
-    ../../profiles/installation-device.nix
-    ./sd-image.nix
+    ../sd-card/sd-image-armv7l-multiplatform-installer.nix
   ];
-
-  boot.loader.grub.enable = false;
-  boot.loader.generic-extlinux-compatible.enable = true;
-
-  boot.consoleLogLevel = lib.mkDefault 7;
-  boot.kernelPackages = pkgs.linuxPackages_latest;
-  # The serial ports listed here are:
-  # - ttyS0: for Tegra (Jetson TK1)
-  # - ttymxc0: for i.MX6 (Wandboard)
-  # - ttyAMA0: for Allwinner (pcDuino3 Nano) and QEMU's -machine virt
-  # - ttyO0: for OMAP (BeagleBone Black)
-  # - ttySAC2: for Exynos (ODROID-XU3)
-  boot.kernelParams = ["console=ttyS0,115200n8" "console=ttymxc0,115200n8" "console=ttyAMA0,115200n8" "console=ttyO0,115200n8" "console=ttySAC2,115200n8" "console=tty0"];
-
-  sdImage = {
-    populateFirmwareCommands = let
-      configTxt = pkgs.writeText "config.txt" ''
-        # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel
-        # when attempting to show low-voltage or overtemperature warnings.
-        avoid_warnings=1
-
-        [pi2]
-        kernel=u-boot-rpi2.bin
-
-        [pi3]
-        kernel=u-boot-rpi3.bin
-
-        # U-Boot used to need this to work, regardless of whether UART is actually used or not.
-        # TODO: check when/if this can be removed.
-        enable_uart=1
-      '';
-      in ''
-        (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/firmware/)
-        cp ${pkgs.ubootRaspberryPi2}/u-boot.bin firmware/u-boot-rpi2.bin
-        cp ${pkgs.ubootRaspberryPi3_32bit}/u-boot.bin firmware/u-boot-rpi3.bin
-        cp ${configTxt} firmware/config.txt
-      '';
-    populateRootCommands = ''
-      mkdir -p ./files/boot
-      ${config.boot.loader.generic-extlinux-compatible.populateCmd} -c ${config.system.build.toplevel} -d ./files/boot
-    '';
+  config = {
+    warnings = [
+      ''
+      .../cd-dvd/sd-image-armv7l-multiplatform.nix is deprecated and will eventually be removed.
+      Please switch to .../sd-card/sd-image-armv7l-multiplatform-installer.nix, instead.
+      ''
+    ];
   };
-
-  # the installation media is also the installation target,
-  # so we don't want to provide the installation configuration.nix.
-  installer.cloneConfig = false;
 }
diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix
index 40a01f9617710..747440ba9c619 100644
--- a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix
+++ b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix
@@ -1,46 +1,14 @@
-# To build, use:
-# nix-build nixos -I nixos-config=nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix -A config.system.build.sdImage
-{ config, lib, pkgs, ... }:
-
+{ config, ... }:
 {
   imports = [
-    ../../profiles/base.nix
-    ../../profiles/installation-device.nix
-    ./sd-image.nix
+    ../sd-card/sd-image-raspberrypi-installer.nix
   ];
-
-  boot.loader.grub.enable = false;
-  boot.loader.generic-extlinux-compatible.enable = true;
-
-  boot.consoleLogLevel = lib.mkDefault 7;
-  boot.kernelPackages = pkgs.linuxPackages_rpi1;
-
-  sdImage = {
-    populateFirmwareCommands = let
-      configTxt = pkgs.writeText "config.txt" ''
-        # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel
-        # when attempting to show low-voltage or overtemperature warnings.
-        avoid_warnings=1
-
-        [pi0]
-        kernel=u-boot-rpi0.bin
-
-        [pi1]
-        kernel=u-boot-rpi1.bin
-      '';
-      in ''
-        (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/firmware/)
-        cp ${pkgs.ubootRaspberryPiZero}/u-boot.bin firmware/u-boot-rpi0.bin
-        cp ${pkgs.ubootRaspberryPi}/u-boot.bin firmware/u-boot-rpi1.bin
-        cp ${configTxt} firmware/config.txt
-      '';
-    populateRootCommands = ''
-      mkdir -p ./files/boot
-      ${config.boot.loader.generic-extlinux-compatible.populateCmd} -c ${config.system.build.toplevel} -d ./files/boot
-    '';
+  config = {
+    warnings = [
+      ''
+      .../cd-dvd/sd-image-raspberrypi.nix is deprecated and will eventually be removed.
+      Please switch to .../sd-card/sd-image-raspberrypi-installer.nix, instead.
+      ''
+    ];
   };
-
-  # the installation media is also the installation target,
-  # so we don't want to provide the installation configuration.nix.
-  installer.cloneConfig = false;
 }
diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix
index 5bdec7de86e8a..79db1fa29bc43 100644
--- a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix
+++ b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix
@@ -1,8 +1,14 @@
-# To build, use:
-# nix-build nixos -I nixos-config=nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix -A config.system.build.sdImage
-{ config, lib, pkgs, ... }:
-
+{ config, ... }:
 {
-  imports = [ ./sd-image-aarch64.nix ];
-  boot.kernelPackages = pkgs.linuxPackages_rpi4;
+  imports = [
+    ../sd-card/sd-image-raspberrypi4-installer.nix
+  ];
+  config = {
+    warnings = [
+      ''
+      .../cd-dvd/sd-image-raspberrypi4.nix is deprecated and will eventually be removed.
+      Please switch to .../sd-card/sd-image-raspberrypi4-installer.nix, instead.
+      ''
+    ];
+  };
 }
diff --git a/nixos/modules/installer/cd-dvd/sd-image.nix b/nixos/modules/installer/cd-dvd/sd-image.nix
index b811ae07eb033..e2d6dcb3fe3ad 100644
--- a/nixos/modules/installer/cd-dvd/sd-image.nix
+++ b/nixos/modules/installer/cd-dvd/sd-image.nix
@@ -1,245 +1,14 @@
-# This module creates a bootable SD card image containing the given NixOS
-# configuration. The generated image is MBR partitioned, with a FAT
-# /boot/firmware partition, and ext4 root partition. The generated image
-# is sized to fit its contents, and a boot script automatically resizes
-# the root partition to fit the device on the first boot.
-#
-# The firmware partition is built with expectation to hold the Raspberry
-# Pi firmware and bootloader, and be removed and replaced with a firmware
-# build for the target SoC for other board families.
-#
-# The derivation for the SD image will be placed in
-# config.system.build.sdImage
-
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-  rootfsImage = pkgs.callPackage ../../../lib/make-ext4-fs.nix ({
-    inherit (config.sdImage) storePaths;
-    compressImage = true;
-    populateImageCommands = config.sdImage.populateRootCommands;
-    volumeLabel = "NIXOS_SD";
-  } // optionalAttrs (config.sdImage.rootPartitionUUID != null) {
-    uuid = config.sdImage.rootPartitionUUID;
-  });
-in
+{ config, ... }:
 {
   imports = [
-    (mkRemovedOptionModule [ "sdImage" "bootPartitionID" ] "The FAT partition for SD image now only holds the Raspberry Pi firmware files. Use firmwarePartitionID to configure that partition's ID.")
-    (mkRemovedOptionModule [ "sdImage" "bootSize" ] "The boot files for SD image have been moved to the main ext4 partition. The FAT partition now only holds the Raspberry Pi firmware files. Changing its size may not be required.")
+    ../sd-card/sd-image.nix
   ];
-
-  options.sdImage = {
-    imageName = mkOption {
-      default = "${config.sdImage.imageBaseName}-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.img";
-      description = ''
-        Name of the generated image file.
-      '';
-    };
-
-    imageBaseName = mkOption {
-      default = "nixos-sd-image";
-      description = ''
-        Prefix of the name of the generated image file.
-      '';
-    };
-
-    storePaths = mkOption {
-      type = with types; listOf package;
-      example = literalExample "[ pkgs.stdenv ]";
-      description = ''
-        Derivations to be included in the Nix store in the generated SD image.
-      '';
-    };
-
-    firmwarePartitionID = mkOption {
-      type = types.str;
-      default = "0x2178694e";
-      description = ''
-        Volume ID for the /boot/firmware partition on the SD card. This value
-        must be a 32-bit hexadecimal number.
-      '';
-    };
-
-    firmwarePartitionName = mkOption {
-      type = types.str;
-      default = "FIRMWARE";
-      description = ''
-        Name of the filesystem which holds the boot firmware.
-      '';
-    };
-
-    rootPartitionUUID = mkOption {
-      type = types.nullOr types.str;
-      default = null;
-      example = "14e19a7b-0ae0-484d-9d54-43bd6fdc20c7";
-      description = ''
-        UUID for the filesystem on the main NixOS partition on the SD card.
-      '';
-    };
-
-    firmwareSize = mkOption {
-      type = types.int;
-      # As of 2019-08-18 the Raspberry pi firmware + u-boot takes ~18MiB
-      default = 30;
-      description = ''
-        Size of the /boot/firmware partition, in megabytes.
-      '';
-    };
-
-    populateFirmwareCommands = mkOption {
-      example = literalExample "'' cp \${pkgs.myBootLoader}/u-boot.bin firmware/ ''";
-      description = ''
-        Shell commands to populate the ./firmware directory.
-        All files in that directory are copied to the
-        /boot/firmware partition on the SD image.
-      '';
-    };
-
-    populateRootCommands = mkOption {
-      example = literalExample "''\${config.boot.loader.generic-extlinux-compatible.populateCmd} -c \${config.system.build.toplevel} -d ./files/boot''";
-      description = ''
-        Shell commands to populate the ./files directory.
-        All files in that directory are copied to the
-        root (/) partition on the SD image. Use this to
-        populate the ./files/boot (/boot) directory.
-      '';
-    };
-
-    postBuildCommands = mkOption {
-      example = literalExample "'' dd if=\${pkgs.myBootLoader}/SPL of=$img bs=1024 seek=1 conv=notrunc ''";
-      default = "";
-      description = ''
-        Shell commands to run after the image is built.
-        Can be used for boards requiring to dd u-boot SPL before actual partitions.
-      '';
-    };
-
-    compressImage = mkOption {
-      type = types.bool;
-      default = true;
-      description = ''
-        Whether the SD image should be compressed using
-        <command>zstd</command>.
-      '';
-    };
-
-  };
-
   config = {
-    fileSystems = {
-      "/boot/firmware" = {
-        device = "/dev/disk/by-label/${config.sdImage.firmwarePartitionName}";
-        fsType = "vfat";
-        # Alternatively, this could be removed from the configuration.
-        # The filesystem is not needed at runtime, it could be treated
-        # as an opaque blob instead of a discrete FAT32 filesystem.
-        options = [ "nofail" "noauto" ];
-      };
-      "/" = {
-        device = "/dev/disk/by-label/NIXOS_SD";
-        fsType = "ext4";
-      };
-    };
-
-    sdImage.storePaths = [ config.system.build.toplevel ];
-
-    system.build.sdImage = pkgs.callPackage ({ stdenv, dosfstools, e2fsprogs,
-    mtools, libfaketime, util-linux, zstd }: stdenv.mkDerivation {
-      name = config.sdImage.imageName;
-
-      nativeBuildInputs = [ dosfstools e2fsprogs mtools libfaketime util-linux zstd ];
-
-      inherit (config.sdImage) compressImage;
-
-      buildCommand = ''
-        mkdir -p $out/nix-support $out/sd-image
-        export img=$out/sd-image/${config.sdImage.imageName}
-
-        echo "${pkgs.stdenv.buildPlatform.system}" > $out/nix-support/system
-        if test -n "$compressImage"; then
-          echo "file sd-image $img.zst" >> $out/nix-support/hydra-build-products
-        else
-          echo "file sd-image $img" >> $out/nix-support/hydra-build-products
-        fi
-
-        echo "Decompressing rootfs image"
-        zstd -d --no-progress "${rootfsImage}" -o ./root-fs.img
-
-        # Gap in front of the first partition, in MiB
-        gap=8
-
-        # Create the image file sized to fit /boot/firmware and /, plus slack for the gap.
-        rootSizeBlocks=$(du -B 512 --apparent-size ./root-fs.img | awk '{ print $1 }')
-        firmwareSizeBlocks=$((${toString config.sdImage.firmwareSize} * 1024 * 1024 / 512))
-        imageSize=$((rootSizeBlocks * 512 + firmwareSizeBlocks * 512 + gap * 1024 * 1024))
-        truncate -s $imageSize $img
-
-        # type=b is 'W95 FAT32', type=83 is 'Linux'.
-        # The "bootable" partition is where u-boot will look file for the bootloader
-        # information (dtbs, extlinux.conf file).
-        sfdisk $img <<EOF
-            label: dos
-            label-id: ${config.sdImage.firmwarePartitionID}
-
-            start=''${gap}M, size=$firmwareSizeBlocks, type=b
-            start=$((gap + ${toString config.sdImage.firmwareSize}))M, type=83, bootable
-        EOF
-
-        # Copy the rootfs into the SD image
-        eval $(partx $img -o START,SECTORS --nr 2 --pairs)
-        dd conv=notrunc if=./root-fs.img of=$img seek=$START count=$SECTORS
-
-        # Create a FAT32 /boot/firmware partition of suitable size into firmware_part.img
-        eval $(partx $img -o START,SECTORS --nr 1 --pairs)
-        truncate -s $((SECTORS * 512)) firmware_part.img
-        faketime "1970-01-01 00:00:00" mkfs.vfat -i ${config.sdImage.firmwarePartitionID} -n ${config.sdImage.firmwarePartitionName} firmware_part.img
-
-        # Populate the files intended for /boot/firmware
-        mkdir firmware
-        ${config.sdImage.populateFirmwareCommands}
-
-        # Copy the populated /boot/firmware into the SD image
-        (cd firmware; mcopy -psvm -i ../firmware_part.img ./* ::)
-        # Verify the FAT partition before copying it.
-        fsck.vfat -vn firmware_part.img
-        dd conv=notrunc if=firmware_part.img of=$img seek=$START count=$SECTORS
-
-        ${config.sdImage.postBuildCommands}
-
-        if test -n "$compressImage"; then
-            zstd -T$NIX_BUILD_CORES --rm $img
-        fi
-      '';
-    }) {};
-
-    boot.postBootCommands = ''
-      # On the first boot do some maintenance tasks
-      if [ -f /nix-path-registration ]; then
-        set -euo pipefail
-        set -x
-        # Figure out device names for the boot device and root filesystem.
-        rootPart=$(${pkgs.util-linux}/bin/findmnt -n -o SOURCE /)
-        bootDevice=$(lsblk -npo PKNAME $rootPart)
-        partNum=$(lsblk -npo MAJ:MIN $rootPart | ${pkgs.gawk}/bin/awk -F: '{print $2}')
-
-        # Resize the root partition and the filesystem to fit the disk
-        echo ",+," | sfdisk -N$partNum --no-reread $bootDevice
-        ${pkgs.parted}/bin/partprobe
-        ${pkgs.e2fsprogs}/bin/resize2fs $rootPart
-
-        # Register the contents of the initial Nix store
-        ${config.nix.package.out}/bin/nix-store --load-db < /nix-path-registration
-
-        # nixos-rebuild also requires a "system" profile and an /etc/NIXOS tag.
-        touch /etc/NIXOS
-        ${config.nix.package.out}/bin/nix-env -p /nix/var/nix/profiles/system --set /run/current-system
-
-        # Prevents this from running on later boots.
-        rm -f /nix-path-registration
-      fi
-    '';
+    warnings = [
+      ''
+      .../cd-dvd/sd-image.nix is deprecated and will eventually be removed.
+      Please switch to .../sd-card/sd-image.nix, instead.
+      ''
+    ];
   };
 }
diff --git a/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix b/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix
index 8159576a62ac7..123f487baf93c 100644
--- a/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix
+++ b/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix
@@ -26,7 +26,7 @@ let
   # A clue for the kernel loading
   kernelParams = pkgs.writeText "kernel-params.txt" ''
     Kernel Parameters:
-      init=/boot/init systemConfig=/boot/init ${toString config.boot.kernelParams}
+      init=/boot/init ${toString config.boot.kernelParams}
   '';
 
   # System wide nixpkgs config
diff --git a/nixos/modules/installer/cd-dvd/system-tarball-pc.nix b/nixos/modules/installer/cd-dvd/system-tarball-pc.nix
index f2af7dcde3d54..a79209d7dfeff 100644
--- a/nixos/modules/installer/cd-dvd/system-tarball-pc.nix
+++ b/nixos/modules/installer/cd-dvd/system-tarball-pc.nix
@@ -23,13 +23,13 @@ let
     label nixos
       MENU LABEL ^NixOS using nfsroot
       KERNEL bzImage
-      append ip=dhcp nfsroot=/home/pcroot systemConfig=${config.system.build.toplevel} init=${config.system.build.toplevel}/init rw
+      append ip=dhcp nfsroot=/home/pcroot init=${config.system.build.toplevel}/init rw
 
     # I don't know how to make this boot with nfsroot (using the initrd)
     label nixos_initrd
       MENU LABEL NixOS booting the poor ^initrd.
       KERNEL bzImage
-      append initrd=initrd ip=dhcp nfsroot=/home/pcroot systemConfig=${config.system.build.toplevel} init=${config.system.build.toplevel}/init rw
+      append initrd=initrd ip=dhcp nfsroot=/home/pcroot init=${config.system.build.toplevel}/init rw
 
     label memtest
       MENU LABEL ^${pkgs.memtest86.name}
diff --git a/nixos/modules/installer/sd-card/sd-image-aarch64-installer.nix b/nixos/modules/installer/sd-card/sd-image-aarch64-installer.nix
new file mode 100644
index 0000000000000..2a6b6abdf913e
--- /dev/null
+++ b/nixos/modules/installer/sd-card/sd-image-aarch64-installer.nix
@@ -0,0 +1,10 @@
+{
+  imports = [
+    ../../profiles/installation-device.nix
+    ./sd-image-aarch64.nix
+  ];
+
+  # the installation media is also the installation target,
+  # so we don't want to provide the installation configuration.nix.
+  installer.cloneConfig = false;
+}
diff --git a/nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel-installer.nix b/nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel-installer.nix
new file mode 100644
index 0000000000000..1b6b55ff29183
--- /dev/null
+++ b/nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel-installer.nix
@@ -0,0 +1,10 @@
+{
+  imports = [
+    ../../profiles/installation-device.nix
+    ./sd-image-aarch64-new-kernel.nix
+  ];
+
+  # the installation media is also the installation target,
+  # so we don't want to provide the installation configuration.nix.
+  installer.cloneConfig = false;
+}
diff --git a/nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel.nix b/nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel.nix
new file mode 100644
index 0000000000000..2882fbcc73052
--- /dev/null
+++ b/nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel.nix
@@ -0,0 +1,7 @@
+{ pkgs, ... }:
+
+{
+  imports = [ ./sd-image-aarch64.nix ];
+
+  boot.kernelPackages = pkgs.linuxPackages_latest;
+}
diff --git a/nixos/modules/installer/sd-card/sd-image-aarch64.nix b/nixos/modules/installer/sd-card/sd-image-aarch64.nix
new file mode 100644
index 0000000000000..96ebb7537da32
--- /dev/null
+++ b/nixos/modules/installer/sd-card/sd-image-aarch64.nix
@@ -0,0 +1,75 @@
+# To build, use:
+# nix-build nixos -I nixos-config=nixos/modules/installer/sd-card/sd-image-aarch64.nix -A config.system.build.sdImage
+{ config, lib, pkgs, ... }:
+
+{
+  imports = [
+    ../../profiles/base.nix
+    ./sd-image.nix
+  ];
+
+  boot.loader.grub.enable = false;
+  boot.loader.generic-extlinux-compatible.enable = true;
+
+  boot.consoleLogLevel = lib.mkDefault 7;
+
+  # The serial ports listed here are:
+  # - ttyS0: for Tegra (Jetson TX1)
+  # - ttyAMA0: for QEMU's -machine virt
+  boot.kernelParams = ["console=ttyS0,115200n8" "console=ttyAMA0,115200n8" "console=tty0"];
+
+  boot.initrd.availableKernelModules = [
+    # Allows early (earlier) modesetting for the Raspberry Pi
+    "vc4" "bcm2835_dma" "i2c_bcm2835"
+    # Allows early (earlier) modesetting for Allwinner SoCs
+    "sun4i_drm" "sun8i_drm_hdmi" "sun8i_mixer"
+  ];
+
+  sdImage = {
+    populateFirmwareCommands = let
+      configTxt = pkgs.writeText "config.txt" ''
+        [pi3]
+        kernel=u-boot-rpi3.bin
+
+        [pi4]
+        kernel=u-boot-rpi4.bin
+        enable_gic=1
+        armstub=armstub8-gic.bin
+
+        # Otherwise the resolution will be weird in most cases, compared to
+        # what the pi3 firmware does by default.
+        disable_overscan=1
+
+        [all]
+        # Boot in 64-bit mode.
+        arm_64bit=1
+
+        # U-Boot needs this to work, regardless of whether UART is actually used or not.
+        # Look in arch/arm/mach-bcm283x/Kconfig in the U-Boot tree to see if this is still
+        # a requirement in the future.
+        enable_uart=1
+
+        # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel
+        # when attempting to show low-voltage or overtemperature warnings.
+        avoid_warnings=1
+      '';
+      in ''
+        (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/firmware/)
+
+        # Add the config
+        cp ${configTxt} firmware/config.txt
+
+        # Add pi3 specific files
+        cp ${pkgs.ubootRaspberryPi3_64bit}/u-boot.bin firmware/u-boot-rpi3.bin
+
+        # Add pi4 specific files
+        cp ${pkgs.ubootRaspberryPi4_64bit}/u-boot.bin firmware/u-boot-rpi4.bin
+        cp ${pkgs.raspberrypi-armstubs}/armstub8-gic.bin firmware/armstub8-gic.bin
+        cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2711-rpi-4-b.dtb firmware/
+      '';
+    populateRootCommands = ''
+      mkdir -p ./files/boot
+      ${config.boot.loader.generic-extlinux-compatible.populateCmd} -c ${config.system.build.toplevel} -d ./files/boot
+    '';
+  };
+}
diff --git a/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform-installer.nix b/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform-installer.nix
new file mode 100644
index 0000000000000..fbe04377d50d6
--- /dev/null
+++ b/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform-installer.nix
@@ -0,0 +1,10 @@
+{
+  imports = [
+    ../../profiles/installation-device.nix
+    ./sd-image-armv7l-multiplatform.nix
+  ];
+
+  # the installation media is also the installation target,
+  # so we don't want to provide the installation configuration.nix.
+  installer.cloneConfig = false;
+}
diff --git a/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix b/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix
new file mode 100644
index 0000000000000..23ed928512966
--- /dev/null
+++ b/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix
@@ -0,0 +1,52 @@
+# To build, use:
+# nix-build nixos -I nixos-config=nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix -A config.system.build.sdImage
+{ config, lib, pkgs, ... }:
+
+{
+  imports = [
+    ../../profiles/base.nix
+    ./sd-image.nix
+  ];
+
+  boot.loader.grub.enable = false;
+  boot.loader.generic-extlinux-compatible.enable = true;
+
+  boot.consoleLogLevel = lib.mkDefault 7;
+  boot.kernelPackages = pkgs.linuxPackages_latest;
+  # The serial ports listed here are:
+  # - ttyS0: for Tegra (Jetson TK1)
+  # - ttymxc0: for i.MX6 (Wandboard)
+  # - ttyAMA0: for Allwinner (pcDuino3 Nano) and QEMU's -machine virt
+  # - ttyO0: for OMAP (BeagleBone Black)
+  # - ttySAC2: for Exynos (ODROID-XU3)
+  boot.kernelParams = ["console=ttyS0,115200n8" "console=ttymxc0,115200n8" "console=ttyAMA0,115200n8" "console=ttyO0,115200n8" "console=ttySAC2,115200n8" "console=tty0"];
+
+  sdImage = {
+    populateFirmwareCommands = let
+      configTxt = pkgs.writeText "config.txt" ''
+        # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel
+        # when attempting to show low-voltage or overtemperature warnings.
+        avoid_warnings=1
+
+        [pi2]
+        kernel=u-boot-rpi2.bin
+
+        [pi3]
+        kernel=u-boot-rpi3.bin
+
+        # U-Boot used to need this to work, regardless of whether UART is actually used or not.
+        # TODO: check when/if this can be removed.
+        enable_uart=1
+      '';
+      in ''
+        (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/firmware/)
+        cp ${pkgs.ubootRaspberryPi2}/u-boot.bin firmware/u-boot-rpi2.bin
+        cp ${pkgs.ubootRaspberryPi3_32bit}/u-boot.bin firmware/u-boot-rpi3.bin
+        cp ${configTxt} firmware/config.txt
+      '';
+    populateRootCommands = ''
+      mkdir -p ./files/boot
+      ${config.boot.loader.generic-extlinux-compatible.populateCmd} -c ${config.system.build.toplevel} -d ./files/boot
+    '';
+  };
+}
diff --git a/nixos/modules/installer/sd-card/sd-image-raspberrypi-installer.nix b/nixos/modules/installer/sd-card/sd-image-raspberrypi-installer.nix
new file mode 100644
index 0000000000000..72ec7485b528d
--- /dev/null
+++ b/nixos/modules/installer/sd-card/sd-image-raspberrypi-installer.nix
@@ -0,0 +1,10 @@
+{
+  imports = [
+    ../../profiles/installation-device.nix
+    ./sd-image-raspberrypi.nix
+  ];
+
+  # the installation media is also the installation target,
+  # so we don't want to provide the installation configuration.nix.
+  installer.cloneConfig = false;
+}
diff --git a/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix b/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix
new file mode 100644
index 0000000000000..83850f4c11587
--- /dev/null
+++ b/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix
@@ -0,0 +1,41 @@
+# To build, use:
+# nix-build nixos -I nixos-config=nixos/modules/installer/sd-card/sd-image-raspberrypi.nix -A config.system.build.sdImage
+{ config, lib, pkgs, ... }:
+
+{
+  imports = [
+    ../../profiles/base.nix
+    ./sd-image.nix
+  ];
+
+  boot.loader.grub.enable = false;
+  boot.loader.generic-extlinux-compatible.enable = true;
+
+  boot.consoleLogLevel = lib.mkDefault 7;
+  boot.kernelPackages = pkgs.linuxPackages_rpi1;
+
+  sdImage = {
+    populateFirmwareCommands = let
+      configTxt = pkgs.writeText "config.txt" ''
+        # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel
+        # when attempting to show low-voltage or overtemperature warnings.
+        avoid_warnings=1
+
+        [pi0]
+        kernel=u-boot-rpi0.bin
+
+        [pi1]
+        kernel=u-boot-rpi1.bin
+      '';
+      in ''
+        (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/firmware/)
+        cp ${pkgs.ubootRaspberryPiZero}/u-boot.bin firmware/u-boot-rpi0.bin
+        cp ${pkgs.ubootRaspberryPi}/u-boot.bin firmware/u-boot-rpi1.bin
+        cp ${configTxt} firmware/config.txt
+      '';
+    populateRootCommands = ''
+      mkdir -p ./files/boot
+      ${config.boot.loader.generic-extlinux-compatible.populateCmd} -c ${config.system.build.toplevel} -d ./files/boot
+    '';
+  };
+}
diff --git a/nixos/modules/installer/sd-card/sd-image-raspberrypi4-installer.nix b/nixos/modules/installer/sd-card/sd-image-raspberrypi4-installer.nix
new file mode 100644
index 0000000000000..59423e40b64c9
--- /dev/null
+++ b/nixos/modules/installer/sd-card/sd-image-raspberrypi4-installer.nix
@@ -0,0 +1,10 @@
+{
+  imports = [
+    ../../profiles/installation-device.nix
+    ./sd-image-raspberrypi4.nix
+  ];
+
+  # the installation media is also the installation target,
+  # so we don't want to provide the installation configuration.nix.
+  installer.cloneConfig = false;
+}
diff --git a/nixos/modules/installer/sd-card/sd-image-raspberrypi4.nix b/nixos/modules/installer/sd-card/sd-image-raspberrypi4.nix
new file mode 100644
index 0000000000000..35a12c5382f7e
--- /dev/null
+++ b/nixos/modules/installer/sd-card/sd-image-raspberrypi4.nix
@@ -0,0 +1,8 @@
+# To build, use:
+# nix-build nixos -I nixos-config=nixos/modules/installer/sd-card/sd-image-raspberrypi4.nix -A config.system.build.sdImage
+{ config, lib, pkgs, ... }:
+
+{
+  imports = [ ./sd-image-aarch64.nix ];
+  boot.kernelPackages = pkgs.linuxPackages_rpi4;
+}
diff --git a/nixos/modules/installer/sd-card/sd-image.nix b/nixos/modules/installer/sd-card/sd-image.nix
new file mode 100644
index 0000000000000..b811ae07eb033
--- /dev/null
+++ b/nixos/modules/installer/sd-card/sd-image.nix
@@ -0,0 +1,245 @@
+# This module creates a bootable SD card image containing the given NixOS
+# configuration. The generated image is MBR partitioned, with a FAT
+# /boot/firmware partition, and ext4 root partition. The generated image
+# is sized to fit its contents, and a boot script automatically resizes
+# the root partition to fit the device on the first boot.
+#
+# The firmware partition is built with expectation to hold the Raspberry
+# Pi firmware and bootloader, and be removed and replaced with a firmware
+# build for the target SoC for other board families.
+#
+# The derivation for the SD image will be placed in
+# config.system.build.sdImage
+
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  rootfsImage = pkgs.callPackage ../../../lib/make-ext4-fs.nix ({
+    inherit (config.sdImage) storePaths;
+    compressImage = true;
+    populateImageCommands = config.sdImage.populateRootCommands;
+    volumeLabel = "NIXOS_SD";
+  } // optionalAttrs (config.sdImage.rootPartitionUUID != null) {
+    uuid = config.sdImage.rootPartitionUUID;
+  });
+in
+{
+  imports = [
+    (mkRemovedOptionModule [ "sdImage" "bootPartitionID" ] "The FAT partition for SD image now only holds the Raspberry Pi firmware files. Use firmwarePartitionID to configure that partition's ID.")
+    (mkRemovedOptionModule [ "sdImage" "bootSize" ] "The boot files for SD image have been moved to the main ext4 partition. The FAT partition now only holds the Raspberry Pi firmware files. Changing its size may not be required.")
+  ];
+
+  options.sdImage = {
+    imageName = mkOption {
+      default = "${config.sdImage.imageBaseName}-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.img";
+      description = ''
+        Name of the generated image file.
+      '';
+    };
+
+    imageBaseName = mkOption {
+      default = "nixos-sd-image";
+      description = ''
+        Prefix of the name of the generated image file.
+      '';
+    };
+
+    storePaths = mkOption {
+      type = with types; listOf package;
+      example = literalExample "[ pkgs.stdenv ]";
+      description = ''
+        Derivations to be included in the Nix store in the generated SD image.
+      '';
+    };
+
+    firmwarePartitionID = mkOption {
+      type = types.str;
+      default = "0x2178694e";
+      description = ''
+        Volume ID for the /boot/firmware partition on the SD card. This value
+        must be a 32-bit hexadecimal number.
+      '';
+    };
+
+    firmwarePartitionName = mkOption {
+      type = types.str;
+      default = "FIRMWARE";
+      description = ''
+        Name of the filesystem which holds the boot firmware.
+      '';
+    };
+
+    rootPartitionUUID = mkOption {
+      type = types.nullOr types.str;
+      default = null;
+      example = "14e19a7b-0ae0-484d-9d54-43bd6fdc20c7";
+      description = ''
+        UUID for the filesystem on the main NixOS partition on the SD card.
+      '';
+    };
+
+    firmwareSize = mkOption {
+      type = types.int;
+      # As of 2019-08-18 the Raspberry pi firmware + u-boot takes ~18MiB
+      default = 30;
+      description = ''
+        Size of the /boot/firmware partition, in megabytes.
+      '';
+    };
+
+    populateFirmwareCommands = mkOption {
+      example = literalExample "'' cp \${pkgs.myBootLoader}/u-boot.bin firmware/ ''";
+      description = ''
+        Shell commands to populate the ./firmware directory.
+        All files in that directory are copied to the
+        /boot/firmware partition on the SD image.
+      '';
+    };
+
+    populateRootCommands = mkOption {
+      example = literalExample "''\${config.boot.loader.generic-extlinux-compatible.populateCmd} -c \${config.system.build.toplevel} -d ./files/boot''";
+      description = ''
+        Shell commands to populate the ./files directory.
+        All files in that directory are copied to the
+        root (/) partition on the SD image. Use this to
+        populate the ./files/boot (/boot) directory.
+      '';
+    };
+
+    postBuildCommands = mkOption {
+      example = literalExample "'' dd if=\${pkgs.myBootLoader}/SPL of=$img bs=1024 seek=1 conv=notrunc ''";
+      default = "";
+      description = ''
+        Shell commands to run after the image is built.
+        Can be used for boards requiring to dd u-boot SPL before actual partitions.
+      '';
+    };
+
+    compressImage = mkOption {
+      type = types.bool;
+      default = true;
+      description = ''
+        Whether the SD image should be compressed using
+        <command>zstd</command>.
+      '';
+    };
+
+  };
+
+  config = {
+    fileSystems = {
+      "/boot/firmware" = {
+        device = "/dev/disk/by-label/${config.sdImage.firmwarePartitionName}";
+        fsType = "vfat";
+        # Alternatively, this could be removed from the configuration.
+        # The filesystem is not needed at runtime, it could be treated
+        # as an opaque blob instead of a discrete FAT32 filesystem.
+        options = [ "nofail" "noauto" ];
+      };
+      "/" = {
+        device = "/dev/disk/by-label/NIXOS_SD";
+        fsType = "ext4";
+      };
+    };
+
+    sdImage.storePaths = [ config.system.build.toplevel ];
+
+    system.build.sdImage = pkgs.callPackage ({ stdenv, dosfstools, e2fsprogs,
+    mtools, libfaketime, util-linux, zstd }: stdenv.mkDerivation {
+      name = config.sdImage.imageName;
+
+      nativeBuildInputs = [ dosfstools e2fsprogs mtools libfaketime util-linux zstd ];
+
+      inherit (config.sdImage) compressImage;
+
+      buildCommand = ''
+        mkdir -p $out/nix-support $out/sd-image
+        export img=$out/sd-image/${config.sdImage.imageName}
+
+        echo "${pkgs.stdenv.buildPlatform.system}" > $out/nix-support/system
+        if test -n "$compressImage"; then
+          echo "file sd-image $img.zst" >> $out/nix-support/hydra-build-products
+        else
+          echo "file sd-image $img" >> $out/nix-support/hydra-build-products
+        fi
+
+        echo "Decompressing rootfs image"
+        zstd -d --no-progress "${rootfsImage}" -o ./root-fs.img
+
+        # Gap in front of the first partition, in MiB
+        gap=8
+
+        # Create the image file sized to fit /boot/firmware and /, plus slack for the gap.
+        rootSizeBlocks=$(du -B 512 --apparent-size ./root-fs.img | awk '{ print $1 }')
+        firmwareSizeBlocks=$((${toString config.sdImage.firmwareSize} * 1024 * 1024 / 512))
+        imageSize=$((rootSizeBlocks * 512 + firmwareSizeBlocks * 512 + gap * 1024 * 1024))
+        truncate -s $imageSize $img
+
+        # type=b is 'W95 FAT32', type=83 is 'Linux'.
+        # The "bootable" partition is where u-boot will look file for the bootloader
+        # information (dtbs, extlinux.conf file).
+        sfdisk $img <<EOF
+            label: dos
+            label-id: ${config.sdImage.firmwarePartitionID}
+
+            start=''${gap}M, size=$firmwareSizeBlocks, type=b
+            start=$((gap + ${toString config.sdImage.firmwareSize}))M, type=83, bootable
+        EOF
+
+        # Copy the rootfs into the SD image
+        eval $(partx $img -o START,SECTORS --nr 2 --pairs)
+        dd conv=notrunc if=./root-fs.img of=$img seek=$START count=$SECTORS
+
+        # Create a FAT32 /boot/firmware partition of suitable size into firmware_part.img
+        eval $(partx $img -o START,SECTORS --nr 1 --pairs)
+        truncate -s $((SECTORS * 512)) firmware_part.img
+        faketime "1970-01-01 00:00:00" mkfs.vfat -i ${config.sdImage.firmwarePartitionID} -n ${config.sdImage.firmwarePartitionName} firmware_part.img
+
+        # Populate the files intended for /boot/firmware
+        mkdir firmware
+        ${config.sdImage.populateFirmwareCommands}
+
+        # Copy the populated /boot/firmware into the SD image
+        (cd firmware; mcopy -psvm -i ../firmware_part.img ./* ::)
+        # Verify the FAT partition before copying it.
+        fsck.vfat -vn firmware_part.img
+        dd conv=notrunc if=firmware_part.img of=$img seek=$START count=$SECTORS
+
+        ${config.sdImage.postBuildCommands}
+
+        if test -n "$compressImage"; then
+            zstd -T$NIX_BUILD_CORES --rm $img
+        fi
+      '';
+    }) {};
+
+    boot.postBootCommands = ''
+      # On the first boot do some maintenance tasks
+      if [ -f /nix-path-registration ]; then
+        set -euo pipefail
+        set -x
+        # Figure out device names for the boot device and root filesystem.
+        rootPart=$(${pkgs.util-linux}/bin/findmnt -n -o SOURCE /)
+        bootDevice=$(lsblk -npo PKNAME $rootPart)
+        partNum=$(lsblk -npo MAJ:MIN $rootPart | ${pkgs.gawk}/bin/awk -F: '{print $2}')
+
+        # Resize the root partition and the filesystem to fit the disk
+        echo ",+," | sfdisk -N$partNum --no-reread $bootDevice
+        ${pkgs.parted}/bin/partprobe
+        ${pkgs.e2fsprogs}/bin/resize2fs $rootPart
+
+        # Register the contents of the initial Nix store
+        ${config.nix.package.out}/bin/nix-store --load-db < /nix-path-registration
+
+        # nixos-rebuild also requires a "system" profile and an /etc/NIXOS tag.
+        touch /etc/NIXOS
+        ${config.nix.package.out}/bin/nix-env -p /nix/var/nix/profiles/system --set /run/current-system
+
+        # Prevents this from running on later boots.
+        rm -f /nix-path-registration
+      fi
+    '';
+  };
+}
diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl
index 6e3ddb875e1b4..7bc55e67134b6 100644
--- a/nixos/modules/installer/tools/nixos-generate-config.pl
+++ b/nixos/modules/installer/tools/nixos-generate-config.pl
@@ -585,6 +585,22 @@ EOF
     return $config;
 }
 
+sub generateXserverConfig {
+    my $xserverEnabled = "@xserverEnabled@";
+
+    my $config = "";
+    if ($xserverEnabled eq "1") {
+        $config = <<EOF;
+  # Enable the X11 windowing system.
+  services.xserver.enable = true;
+EOF
+    } else {
+        $config = <<EOF;
+  # Enable the X11 windowing system.
+  # services.xserver.enable = true;
+EOF
+    }
+}
 
 if ($showHardwareConfig) {
     print STDOUT $hwConfig;
@@ -630,6 +646,8 @@ EOF
 
         my $networkingDhcpConfig = generateNetworkingDhcpConfig();
 
+        my $xserverConfig = generateXserverConfig();
+
         (my $desktopConfiguration = <<EOF)=~s/^/  /gm;
 @desktopConfiguration@
 EOF
diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix
index ada5f57485612..a9e5641b05a2e 100644
--- a/nixos/modules/installer/tools/tools.nix
+++ b/nixos/modules/installer/tools/tools.nix
@@ -36,6 +36,7 @@ let
     path = lib.optionals (lib.elem "btrfs" config.boot.supportedFilesystems) [ pkgs.btrfs-progs ];
     perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/${pkgs.perl.libPrefix}";
     inherit (config.system.nixos-generate-config) configuration desktopConfiguration;
+    xserverEnabled = config.services.xserver.enable;
   };
 
   nixos-option =
@@ -87,8 +88,8 @@ in
 
     desktopConfiguration = mkOption {
       internal = true;
-      type = types.str;
-      default = "";
+      type = types.listOf types.lines;
+      default = [];
       description = ''
         Text to preseed the desktop configuration that <literal>nixos-generate-config</literal>
         saves to <literal>/etc/nixos/configuration.nix</literal>.
@@ -136,6 +137,8 @@ in
         #   keyMap = "us";
         # };
 
+      $xserverConfig
+
       $desktopConfiguration
         # Configure keymap in X11
         # services.xserver.layout = "us";
diff --git a/nixos/modules/misc/crashdump.nix b/nixos/modules/misc/crashdump.nix
index 11dec37b3fae1..796078d7ef8c4 100644
--- a/nixos/modules/misc/crashdump.nix
+++ b/nixos/modules/misc/crashdump.nix
@@ -53,7 +53,7 @@ in
         ${pkgs.kexectools}/sbin/kexec -p /run/current-system/kernel \
         --initrd=/run/current-system/initrd \
         --reset-vga --console-vga \
-        --command-line="systemConfig=$(readlink -f /run/current-system) init=$(readlink -f /run/current-system/init) irqpoll maxcpus=1 reset_devices ${kernelParams}"
+        --command-line="init=$(readlink -f /run/current-system/init) irqpoll maxcpus=1 reset_devices ${kernelParams}"
       '';
       kernelParams = [
        "crashkernel=${crashdump.reservedMemory}"
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index f64f2dbb2cb25..d40edb2408f98 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -46,6 +46,8 @@
   ./hardware/cpu/intel-microcode.nix
   ./hardware/digitalbitbox.nix
   ./hardware/device-tree.nix
+  ./hardware/i2c.nix
+  ./hardware/sensor/hddtemp.nix
   ./hardware/sensor/iio.nix
   ./hardware/keyboard/zsa.nix
   ./hardware/ksm.nix
@@ -78,6 +80,7 @@
   ./hardware/video/displaylink.nix
   ./hardware/video/hidpi.nix
   ./hardware/video/nvidia.nix
+  ./hardware/video/switcheroo-control.nix
   ./hardware/video/uvcvideo/default.nix
   ./hardware/video/webcam/facetimehd.nix
   ./hardware/xpadneo.nix
@@ -176,7 +179,6 @@
   ./programs/tsm-client.nix
   ./programs/udevil.nix
   ./programs/usbtop.nix
-  ./programs/venus.nix
   ./programs/vim.nix
   ./programs/wavemon.nix
   ./programs/waybar.nix
@@ -205,7 +207,6 @@
   ./security/dhparams.nix
   ./security/duosec.nix
   ./security/google_oslogin.nix
-  ./security/hidepid.nix
   ./security/lock-kernel-modules.nix
   ./security/misc.nix
   ./security/oath.nix
@@ -255,6 +256,8 @@
   ./services/backup/tsm.nix
   ./services/backup/zfs-replication.nix
   ./services/backup/znapzend.nix
+  ./services/blockchain/ethereum/geth.nix
+  ./services/backup/zrepl.nix
   ./services/cluster/hadoop/default.nix
   ./services/cluster/k3s/default.nix
   ./services/cluster/kubernetes/addons/dns.nix
@@ -319,7 +322,8 @@
   ./services/desktops/gsignond.nix
   ./services/desktops/gvfs.nix
   ./services/desktops/malcontent.nix
-  ./services/desktops/pipewire.nix
+  ./services/desktops/pipewire/pipewire.nix
+  ./services/desktops/pipewire/pipewire-media-session.nix
   ./services/desktops/gnome3/at-spi2-core.nix
   ./services/desktops/gnome3/chrome-gnome-shell.nix
   ./services/desktops/gnome3/evolution-data-server.nix
@@ -358,6 +362,7 @@
   ./services/games/terraria.nix
   ./services/hardware/acpid.nix
   ./services/hardware/actkbd.nix
+  ./services/hardware/auto-cpufreq.nix
   ./services/hardware/bluetooth.nix
   ./services/hardware/bolt.nix
   ./services/hardware/brltty.nix
@@ -372,10 +377,12 @@
   ./services/hardware/nvidia-optimus.nix
   ./services/hardware/pcscd.nix
   ./services/hardware/pommed.nix
+  ./services/hardware/power-profiles-daemon.nix
   ./services/hardware/ratbagd.nix
   ./services/hardware/sane.nix
   ./services/hardware/sane_extra_backends/brscan4.nix
   ./services/hardware/sane_extra_backends/dsseries.nix
+  ./services/hardware/spacenavd.nix
   ./services/hardware/tcsd.nix
   ./services/hardware/tlp.nix
   ./services/hardware/thinkfan.nix
@@ -455,6 +462,8 @@
   ./services/misc/domoticz.nix
   ./services/misc/errbot.nix
   ./services/misc/etcd.nix
+  ./services/misc/etebase-server.nix
+  ./services/misc/etesync-dav.nix
   ./services/misc/ethminer.nix
   ./services/misc/exhibitor.nix
   ./services/misc/felix.nix
@@ -609,6 +618,8 @@
   ./services/networking/atftpd.nix
   ./services/networking/avahi-daemon.nix
   ./services/networking/babeld.nix
+  ./services/networking/bee.nix
+  ./services/networking/bee-clef.nix
   ./services/networking/biboumi.nix
   ./services/networking/bind.nix
   ./services/networking/bitcoind.nix
@@ -645,7 +656,6 @@
   ./services/networking/fireqos.nix
   ./services/networking/firewall.nix
   ./services/networking/flannel.nix
-  ./services/networking/flashpolicyd.nix
   ./services/networking/freenet.nix
   ./services/networking/freeradius.nix
   ./services/networking/gale.nix
@@ -873,6 +883,7 @@
   ./services/web-apps/documize.nix
   ./services/web-apps/dokuwiki.nix
   ./services/web-apps/engelsystem.nix
+  ./services/web-apps/galene.nix
   ./services/web-apps/gerrit.nix
   ./services/web-apps/gotify-server.nix
   ./services/web-apps/grocy.nix
@@ -885,6 +896,7 @@
   ./services/web-apps/jitsi-meet.nix
   ./services/web-apps/keycloak.nix
   ./services/web-apps/limesurvey.nix
+  ./services/web-apps/mastodon.nix
   ./services/web-apps/mattermost.nix
   ./services/web-apps/mediawiki.nix
   ./services/web-apps/miniflux.nix
diff --git a/nixos/modules/profiles/hardened.nix b/nixos/modules/profiles/hardened.nix
index 680fa40b91195..00aafc6831b25 100644
--- a/nixos/modules/profiles/hardened.nix
+++ b/nixos/modules/profiles/hardened.nix
@@ -22,8 +22,6 @@ with lib;
   environment.memoryAllocator.provider = mkDefault "scudo";
   environment.variables.SCUDO_OPTIONS = mkDefault "ZeroContents=1";
 
-  security.hideProcessInformation = mkDefault true;
-
   security.lockKernelModules = mkDefault true;
 
   security.protectKernelImage = mkDefault true;
diff --git a/nixos/modules/programs/captive-browser.nix b/nixos/modules/programs/captive-browser.nix
index 4d59ea8d0fd81..1f223e2475ce4 100644
--- a/nixos/modules/programs/captive-browser.nix
+++ b/nixos/modules/programs/captive-browser.nix
@@ -1,7 +1,6 @@
 { config, lib, pkgs, ... }:
 
 with lib;
-
 let
   cfg = config.programs.captive-browser;
 in
@@ -27,15 +26,17 @@ in
       # the options below are the same as in "captive-browser.toml"
       browser = mkOption {
         type = types.str;
-        default = concatStringsSep " " [ "${pkgs.chromium}/bin/chromium"
-                                         "--user-data-dir=\${XDG_DATA_HOME:-$HOME/.local/share}/chromium-captive"
-                                         ''--proxy-server="socks5://$PROXY"''
-                                         ''--host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE localhost"''
-                                         "--no-first-run"
-                                         "--new-window"
-                                         "--incognito"
-                                         "http://cache.nixos.org/"
-                                       ];
+        default = concatStringsSep " " [
+          ''${pkgs.chromium}/bin/chromium''
+          ''--user-data-dir=''${XDG_DATA_HOME:-$HOME/.local/share}/chromium-captive''
+          ''--proxy-server="socks5://$PROXY"''
+          ''--host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE localhost"''
+          ''--no-first-run''
+          ''--new-window''
+          ''--incognito''
+          ''-no-default-browser-check''
+          ''http://cache.nixos.org/''
+        ];
         description = ''
           The shell (/bin/sh) command executed once the proxy starts.
           When browser exits, the proxy exits. An extra env var PROXY is available.
@@ -81,42 +82,45 @@ in
 
   config = mkIf cfg.enable {
 
-    programs.captive-browser.dhcp-dns = mkOptionDefault (
-      if config.networking.networkmanager.enable then
-        "${pkgs.networkmanager}/bin/nmcli dev show ${escapeShellArg cfg.interface} | ${pkgs.gnugrep}/bin/fgrep IP4.DNS"
-      else if config.networking.dhcpcd.enable then
-        "${pkgs.dhcpcd}/bin/dhcpcd -U ${escapeShellArg cfg.interface} | ${pkgs.gnugrep}/bin/fgrep domain_name_servers"
-      else if config.networking.useNetworkd then
-        "${cfg.package}/bin/systemd-networkd-dns ${escapeShellArg cfg.interface}"
-      else
-        "${config.security.wrapperDir}/udhcpc --quit --now -f -i ${escapeShellArg cfg.interface} -O dns --script ${
-            pkgs.writeScript "udhcp-script" ''
-              #!/bin/sh
-              if [ "$1" = bound ]; then
-                echo "$dns"
-              fi
-            ''}"
-    );
+    programs.captive-browser.dhcp-dns =
+      let
+        iface = prefix:
+          optionalString cfg.bindInterface (concatStringsSep " " (map escapeShellArg [ prefix cfg.interface ]));
+      in
+      mkOptionDefault (
+        if config.networking.networkmanager.enable then
+          "${pkgs.networkmanager}/bin/nmcli dev show ${iface ""} | ${pkgs.gnugrep}/bin/fgrep IP4.DNS"
+        else if config.networking.dhcpcd.enable then
+          "${pkgs.dhcpcd}/bin/dhcpcd ${iface "-U"} | ${pkgs.gnugrep}/bin/fgrep domain_name_servers"
+        else if config.networking.useNetworkd then
+          "${cfg.package}/bin/systemd-networkd-dns ${iface ""}"
+        else
+          "${config.security.wrapperDir}/udhcpc --quit --now -f ${iface "-i"} -O dns --script ${
+          pkgs.writeShellScript "udhcp-script" ''
+            if [ "$1" = bound ]; then
+              echo "$dns"
+            fi
+          ''}"
+      );
 
     security.wrappers.udhcpc = {
-      capabilities  = "cap_net_raw+p";
-      source        = "${pkgs.busybox}/bin/udhcpc";
+      capabilities = "cap_net_raw+p";
+      source = "${pkgs.busybox}/bin/udhcpc";
     };
 
     security.wrappers.captive-browser = {
-      capabilities  = "cap_net_raw+p";
-      source        = pkgs.writeScript "captive-browser" ''
-                        #!${pkgs.bash}/bin/bash
-                        export XDG_CONFIG_HOME=${pkgs.writeTextDir "captive-browser.toml" ''
-                                                  browser = """${cfg.browser}"""
-                                                  dhcp-dns = """${cfg.dhcp-dns}"""
-                                                  socks5-addr = """${cfg.socks5-addr}"""
-                                                  ${optionalString cfg.bindInterface ''
-                                                    bind-device = """${cfg.interface}"""
-                                                  ''}
-                                                ''}
-                        exec ${cfg.package}/bin/captive-browser
-                      '';
+      capabilities = "cap_net_raw+p";
+      source = pkgs.writeShellScript "captive-browser" ''
+        export XDG_CONFIG_HOME=${pkgs.writeTextDir "captive-browser.toml" ''
+                                  browser = """${cfg.browser}"""
+                                  dhcp-dns = """${cfg.dhcp-dns}"""
+                                  socks5-addr = """${cfg.socks5-addr}"""
+                                  ${optionalString cfg.bindInterface ''
+                                    bind-device = """${cfg.interface}"""
+                                  ''}
+                                ''}
+        exec ${cfg.package}/bin/captive-browser
+      '';
     };
   };
 }
diff --git a/nixos/modules/programs/cdemu.nix b/nixos/modules/programs/cdemu.nix
index a59cd93cadfc0..142e293424057 100644
--- a/nixos/modules/programs/cdemu.nix
+++ b/nixos/modules/programs/cdemu.nix
@@ -16,18 +16,21 @@ in {
         '';
       };
       group = mkOption {
+        type = types.str;
         default = "cdrom";
         description = ''
           Group that users must be in to use <command>cdemu</command>.
         '';
       };
       gui = mkOption {
+        type = types.bool;
         default = true;
         description = ''
           Whether to install the <command>cdemu</command> GUI (gCDEmu).
         '';
       };
       image-analyzer = mkOption {
+        type = types.bool;
         default = true;
         description = ''
           Whether to install the image analyzer.
diff --git a/nixos/modules/programs/steam.nix b/nixos/modules/programs/steam.nix
index 3c919c47a0c61..6e9b7729ad6d8 100644
--- a/nixos/modules/programs/steam.nix
+++ b/nixos/modules/programs/steam.nix
@@ -4,6 +4,13 @@ with lib;
 
 let
   cfg = config.programs.steam;
+
+  steam = pkgs.steam.override {
+    extraLibraries = pkgs: with config.hardware.opengl;
+      if pkgs.hostPlatform.is64bit
+      then [ package ] ++ extraPackages
+      else [ package32 ] ++ extraPackages32;
+  };
 in {
   options.programs.steam.enable = mkEnableOption "steam";
 
@@ -18,7 +25,7 @@ in {
 
     hardware.steam-hardware.enable = true;
 
-    environment.systemPackages = [ pkgs.steam ];
+    environment.systemPackages = [ steam steam.run ];
   };
 
   meta.maintainers = with maintainers; [ mkg20001 ];
diff --git a/nixos/modules/programs/venus.nix b/nixos/modules/programs/venus.nix
deleted file mode 100644
index 58faf38777d06..0000000000000
--- a/nixos/modules/programs/venus.nix
+++ /dev/null
@@ -1,173 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-let
-  cfg = config.services.venus;
-
-  configFile = pkgs.writeText "venus.ini"
-    ''
-      [Planet]
-      name = ${cfg.name}
-      link = ${cfg.link}
-      owner_name = ${cfg.ownerName}
-      owner_email = ${cfg.ownerEmail}
-      output_theme = ${cfg.cacheDirectory}/theme
-      output_dir = ${cfg.outputDirectory}
-      cache_directory = ${cfg.cacheDirectory}
-      items_per_page = ${toString cfg.itemsPerPage}
-      ${(concatStringsSep "\n\n"
-            (map ({ name, feedUrl, homepageUrl }:
-            ''
-              [${feedUrl}]
-              name = ${name}
-              link = ${homepageUrl}
-            '') cfg.feeds))}
-    '';
-
-in
-{
-
-  options = {
-    services.venus = {
-      enable = mkOption {
-        default = false;
-        type = types.bool;
-        description = ''
-          Planet Venus is an awesome ‘river of news’ feed reader. It downloads
-          news feeds published by web sites and aggregates their content
-          together into a single combined feed, latest news first.
-        '';
-      };
-
-      dates = mkOption {
-        default = "*:0/15";
-        type = types.str;
-        description = ''
-          Specification (in the format described by
-          <citerefentry><refentrytitle>systemd.time</refentrytitle>
-          <manvolnum>7</manvolnum></citerefentry>) of the time at
-          which the Venus will collect feeds.
-        '';
-      };
-
-      user = mkOption {
-        default = "root";
-        type = types.str;
-        description = ''
-          User for running venus script.
-        '';
-      };
-
-      group = mkOption {
-        default = "root";
-        type = types.str;
-        description = ''
-          Group for running venus script.
-        '';
-      };
-
-      name = mkOption {
-        default = "NixOS Planet";
-        type = types.str;
-        description = ''
-          Your planet's name.
-        '';
-      };
-
-      link = mkOption {
-        default = "https://planet.nixos.org";
-        type = types.str;
-        description = ''
-          Link to the main page.
-        '';
-      };
-
-      ownerName = mkOption {
-        default = "Rok Garbas";
-        type = types.str;
-        description = ''
-          Your name.
-        '';
-      };
-
-      ownerEmail = mkOption {
-        default = "some@example.com";
-        type = types.str;
-        description = ''
-          Your e-mail address.
-        '';
-      };
-
-      outputTheme = mkOption {
-        default = "${pkgs.venus}/themes/classic_fancy";
-        type = types.path;
-        description = ''
-          Directory containing a config.ini file which is merged with this one.
-          This is typically used to specify templating and bill of material
-          information.
-        '';
-      };
-
-      outputDirectory = mkOption {
-        type = types.path;
-        description = ''
-          Directory to place output files.
-        '';
-      };
-
-      cacheDirectory = mkOption {
-        default = "/var/cache/venus";
-        type = types.path;
-        description = ''
-            Where cached feeds are stored.
-        '';
-      };
-
-      itemsPerPage = mkOption {
-        default = 15;
-        type = types.int;
-        description = ''
-          How many items to put on each page.
-        '';
-      };
-
-      feeds = mkOption {
-        default = [];
-        example = [
-          {
-            name = "Rok Garbas";
-            feedUrl= "http://url/to/rss/feed.xml";
-            homepageUrl = "http://garbas.si";
-          }
-        ];
-        description = ''
-          List of feeds.
-        '';
-      };
-
-    };
-  };
-
-  config = mkIf cfg.enable {
-
-    system.activationScripts.venus =
-      ''
-        mkdir -p ${cfg.outputDirectory}
-        chown ${cfg.user}:${cfg.group} ${cfg.outputDirectory} -R
-        rm -rf ${cfg.cacheDirectory}/theme
-        mkdir -p ${cfg.cacheDirectory}/theme
-        cp -R ${cfg.outputTheme}/* ${cfg.cacheDirectory}/theme
-        chown ${cfg.user}:${cfg.group} ${cfg.cacheDirectory} -R
-      '';
-
-    systemd.services.venus =
-      { description = "Planet Venus Feed Reader";
-        path  = [ pkgs.venus ];
-        script = "exec venus-planet ${configFile}";
-        serviceConfig.User = "${cfg.user}";
-        serviceConfig.Group = "${cfg.group}";
-        startAt = cfg.dates;
-      };
-
-  };
-}
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index c6f705bb2d6c4..9f1efc4627984 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -70,6 +70,13 @@ with lib;
     '')
 
     (mkRemovedOptionModule [ "services" "seeks" ] "")
+    (mkRemovedOptionModule [ "services" "venus" ] "The corresponding package was removed from nixpkgs.")
+    (mkRemovedOptionModule [ "services" "flashpolicyd" ] "The flashpolicyd module has been removed. Adobe Flash Player is deprecated.")
+
+    (mkRemovedOptionModule [ "security" "hideProcessInformation" ] ''
+        The hidepid module was removed, since the underlying machinery
+        is broken when using cgroups-v2.
+    '')
 
     # Do NOT add any option renames here, see top of the file
   ];
diff --git a/nixos/modules/security/hidepid.nix b/nixos/modules/security/hidepid.nix
deleted file mode 100644
index 4953f517e93be..0000000000000
--- a/nixos/modules/security/hidepid.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ config, lib, ... }:
-with lib;
-
-{
-  meta = {
-    maintainers = [ maintainers.joachifm ];
-    doc = ./hidepid.xml;
-  };
-
-  options = {
-    security.hideProcessInformation = mkOption {
-      type = types.bool;
-      default = false;
-      description = ''
-        Restrict process information to the owning user.
-      '';
-    };
-  };
-
-  config = mkIf config.security.hideProcessInformation {
-    users.groups.proc.gid = config.ids.gids.proc;
-    users.groups.proc.members = [ "polkituser" ];
-
-    boot.specialFileSystems."/proc".options = [ "hidepid=2" "gid=${toString config.ids.gids.proc}" ];
-    systemd.services.systemd-logind.serviceConfig.SupplementaryGroups = [ "proc" ];
-
-    # Disable cgroupsv2, which doesn't work with hidepid.
-    # https://github.com/NixOS/nixpkgs/pull/104094#issuecomment-729996203
-    systemd.enableUnifiedCgroupHierarchy = false;
-  };
-}
diff --git a/nixos/modules/security/hidepid.xml b/nixos/modules/security/hidepid.xml
deleted file mode 100644
index 5a17cb1da412c..0000000000000
--- a/nixos/modules/security/hidepid.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<chapter 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-hidepid">
- <title>Hiding process information</title>
- <para>
-  Setting
-<programlisting>
-<xref linkend="opt-security.hideProcessInformation"/> = true;
-</programlisting>
-  ensures that access to process information is restricted to the owning user.
-  This implies, among other things, that command-line arguments remain private.
-  Unless your deployment relies on unprivileged users being able to inspect the
-  process information of other users, this option should be safe to enable.
- </para>
- <para>
-  Members of the <literal>proc</literal> group are exempt from process
-  information hiding.
- </para>
- <para>
-  To allow a service <replaceable>foo</replaceable> to run without process
-  information hiding, set
-<programlisting>
-<link linkend="opt-systemd.services._name_.serviceConfig">systemd.services.<replaceable>foo</replaceable>.serviceConfig</link>.SupplementaryGroups = [ "proc" ];
-</programlisting>
- </para>
-</chapter>
diff --git a/nixos/modules/security/rngd.nix b/nixos/modules/security/rngd.nix
index cb885c4762d06..8cca1c26d683a 100644
--- a/nixos/modules/security/rngd.nix
+++ b/nixos/modules/security/rngd.nix
@@ -1,56 +1,16 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
+{ lib, ... }:
 let
-  cfg = config.security.rngd;
+  removed = k: lib.mkRemovedOptionModule [ "security" "rngd" k ];
 in
 {
-  options = {
-    security.rngd = {
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Whether to enable the rng daemon.  Devices that the kernel recognises
-          as entropy sources are handled automatically by krngd.
-        '';
-      };
-      debug = mkOption {
-        type = types.bool;
-        default = false;
-        description = "Whether to enable debug output (-d).";
-      };
-    };
-  };
-
-  config = mkIf cfg.enable {
-    systemd.services.rngd = {
-      bindsTo = [ "dev-random.device" ];
-
-      after = [ "dev-random.device" ];
-
-      # Clean shutdown without DefaultDependencies
-      conflicts = [ "shutdown.target" ];
-      before = [
-        "sysinit.target"
-        "shutdown.target"
-      ];
-
-      description = "Hardware RNG Entropy Gatherer Daemon";
-
-      # rngd may have to start early to avoid entropy starvation during boot with encrypted swap
-      unitConfig.DefaultDependencies = false;
-      serviceConfig = {
-        ExecStart = "${pkgs.rng-tools}/sbin/rngd -f"
-          + optionalString cfg.debug " -d";
-        # PrivateTmp would introduce a circular dependency if /tmp is on tmpfs and swap is encrypted,
-        # thus depending on rngd before swap, while swap depends on rngd to avoid entropy starvation.
-        NoNewPrivileges = true;
-        PrivateNetwork = true;
-        ProtectSystem = "full";
-        ProtectHome = true;
-      };
-    };
-  };
+  imports = [
+    (removed "enable" ''
+       rngd is not necessary for any device that the kernel recognises
+       as an hardware RNG, as it will automatically run the krngd task
+       to periodically collect random data from the device and mix it
+       into the kernel's RNG.
+    '')
+    (removed "debug"
+      "The rngd module was removed, so its debug option does nothing.")
+  ];
 }
diff --git a/nixos/modules/services/audio/snapserver.nix b/nixos/modules/services/audio/snapserver.nix
index f614f0ba3e10c..a261b87607805 100644
--- a/nixos/modules/services/audio/snapserver.nix
+++ b/nixos/modules/services/audio/snapserver.nix
@@ -48,8 +48,8 @@ let
     ++ [ "--stream.port ${toString cfg.port}" ]
     ++ optionalNull cfg.sampleFormat "--stream.sampleformat ${cfg.sampleFormat}"
     ++ optionalNull cfg.codec "--stream.codec ${cfg.codec}"
-    ++ optionalNull cfg.streamBuffer "--stream.stream_buffer ${cfg.streamBuffer}"
-    ++ optionalNull cfg.buffer "--stream.buffer ${cfg.buffer}"
+    ++ optionalNull cfg.streamBuffer "--stream.stream_buffer ${toString cfg.streamBuffer}"
+    ++ optionalNull cfg.buffer "--stream.buffer ${toString cfg.buffer}"
     ++ optional cfg.sendToMuted "--stream.send_to_muted"
     # tcp json rpc
     ++ [ "--tcp.enabled ${toString cfg.tcp.enable}" ]
@@ -198,13 +198,14 @@ in {
         type = with types; attrsOf (submodule {
           options = {
             location = mkOption {
-              type = types.path;
+              type = types.oneOf [ types.path types.str ];
               description = ''
-                The location of the pipe.
+                The location of the pipe, file, Librespot/Airplay/process binary, or a TCP address.
+                Use an empty string for alsa.
               '';
             };
             type = mkOption {
-              type = types.enum [ "pipe" "file" "process" "spotify" "airplay" ];
+              type = types.enum [ "pipe" "librespot" "airplay" "file" "process" "tcp" "alsa" "spotify" ];
               default = "pipe";
               description = ''
                 The type of input stream.
@@ -219,13 +220,21 @@ in {
               example = literalExample ''
                 # for type == "pipe":
                 {
-                  mode = "listen";
+                  mode = "create";
                 };
                 # for type == "process":
                 {
                   params = "--param1 --param2";
                   logStderr = "true";
                 };
+                # for type == "tcp":
+                {
+                  mode = "client";
+                }
+                # for type == "alsa":
+                {
+                  device = "hw:0,0";
+                }
               '';
             };
             inherit sampleFormat;
@@ -255,6 +264,11 @@ in {
 
   config = mkIf cfg.enable {
 
+    # https://github.com/badaix/snapcast/blob/98ac8b2fb7305084376607b59173ce4097c620d8/server/streamreader/stream_manager.cpp#L85
+    warnings = filter (w: w != "") (mapAttrsToList (k: v: if v.type == "spotify" then ''
+      services.snapserver.streams.${k}.type = "spotify" is deprecated, use services.snapserver.streams.${k}.type = "librespot" instead.
+    '' else "") cfg.streams);
+
     systemd.services.snapserver = {
       after = [ "network.target" ];
       description = "Snapserver";
@@ -272,7 +286,7 @@ in {
         ProtectKernelTunables = true;
         ProtectControlGroups = true;
         ProtectKernelModules = true;
-        RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX";
+        RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX AF_NETLINK";
         RestrictNamespaces = true;
         RuntimeDirectory = name;
         StateDirectory = name;
diff --git a/nixos/modules/services/backup/mysql-backup.nix b/nixos/modules/services/backup/mysql-backup.nix
index 31d606b141a8d..506ded5e9e8c4 100644
--- a/nixos/modules/services/backup/mysql-backup.nix
+++ b/nixos/modules/services/backup/mysql-backup.nix
@@ -48,6 +48,7 @@ in
       };
 
       user = mkOption {
+        type = types.str;
         default = defaultUser;
         description = ''
           User to be used to perform backup.
@@ -56,12 +57,14 @@ in
 
       databases = mkOption {
         default = [];
+        type = types.listOf types.str;
         description = ''
           List of database names to dump.
         '';
       };
 
       location = mkOption {
+        type = types.path;
         default = "/var/backup/mysql";
         description = ''
           Location to put the gzipped MySQL database dumps.
@@ -70,6 +73,7 @@ in
 
       singleTransaction = mkOption {
         default = false;
+        type = types.bool;
         description = ''
           Whether to create database dump in a single transaction
         '';
diff --git a/nixos/modules/services/backup/postgresql-backup.nix b/nixos/modules/services/backup/postgresql-backup.nix
index 428861a7598a1..f4bd3aa447e5e 100644
--- a/nixos/modules/services/backup/postgresql-backup.nix
+++ b/nixos/modules/services/backup/postgresql-backup.nix
@@ -48,6 +48,7 @@ in {
 
       startAt = mkOption {
         default = "*-*-* 01:15:00";
+        type = types.str;
         description = ''
           This option defines (see <literal>systemd.time</literal> for format) when the
           databases should be dumped.
@@ -70,6 +71,7 @@ in {
 
       databases = mkOption {
         default = [];
+        type = types.listOf types.str;
         description = ''
           List of database names to dump.
         '';
@@ -77,6 +79,7 @@ in {
 
       location = mkOption {
         default = "/var/backup/postgresql";
+        type = types.path;
         description = ''
           Location to put the gzipped PostgreSQL database dumps.
         '';
diff --git a/nixos/modules/services/backup/zrepl.nix b/nixos/modules/services/backup/zrepl.nix
new file mode 100644
index 0000000000000..4356479b6635e
--- /dev/null
+++ b/nixos/modules/services/backup/zrepl.nix
@@ -0,0 +1,54 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+let
+  cfg = config.services.zrepl;
+  format = pkgs.formats.yaml { };
+  configFile = format.generate "zrepl.yml" cfg.settings;
+in
+{
+  meta.maintainers = with maintainers; [ cole-h ];
+
+  options = {
+    services.zrepl = {
+      enable = mkEnableOption "zrepl";
+
+      settings = mkOption {
+        default = { };
+        description = ''
+          Configuration for zrepl. See <link
+          xlink:href="https://zrepl.github.io/configuration.html"/>
+          for more information.
+        '';
+        type = types.submodule {
+          freeformType = format.type;
+        };
+      };
+    };
+  };
+
+  ### Implementation ###
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.zrepl ];
+
+    # zrepl looks for its config in this location by default. This
+    # allows the use of e.g. `zrepl signal wakeup <job>` without having
+    # to specify the storepath of the config.
+    environment.etc."zrepl/zrepl.yml".source = configFile;
+
+    systemd.packages = [ pkgs.zrepl ];
+    systemd.services.zrepl = {
+      requires = [ "local-fs.target" ];
+      wantedBy = [ "zfs.target" ];
+      after = [ "zfs.target" ];
+
+      path = [ config.boot.zfs.package ];
+      restartTriggers = [ configFile ];
+
+      serviceConfig = {
+        Restart = "on-failure";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/blockchain/ethereum/geth.nix b/nixos/modules/services/blockchain/ethereum/geth.nix
new file mode 100644
index 0000000000000..be3f40f6bd866
--- /dev/null
+++ b/nixos/modules/services/blockchain/ethereum/geth.nix
@@ -0,0 +1,178 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  eachGeth = config.services.geth;
+
+  gethOpts = { config, lib, name, ...}: {
+
+    options = {
+
+      enable = lib.mkEnableOption "Go Ethereum Node";
+
+      port = mkOption {
+        type = types.port;
+        default = 30303;
+        description = "Port number Go Ethereum will be listening on, both TCP and UDP.";
+      };
+
+      http = {
+        enable = lib.mkEnableOption "Go Ethereum HTTP API";
+        address = mkOption {
+          type = types.str;
+          default = "127.0.0.1";
+          description = "Listen address of Go Ethereum HTTP API.";
+        };
+
+        port = mkOption {
+          type = types.port;
+          default = 8545;
+          description = "Port number of Go Ethereum HTTP API.";
+        };
+
+        apis = mkOption {
+          type = types.nullOr (types.listOf types.str);
+          default = null;
+          description = "APIs to enable over WebSocket";
+          example = ["net" "eth"];
+        };
+      };
+
+      websocket = {
+        enable = lib.mkEnableOption "Go Ethereum WebSocket API";
+        address = mkOption {
+          type = types.str;
+          default = "127.0.0.1";
+          description = "Listen address of Go Ethereum WebSocket API.";
+        };
+
+        port = mkOption {
+          type = types.port;
+          default = 8546;
+          description = "Port number of Go Ethereum WebSocket API.";
+        };
+
+        apis = mkOption {
+          type = types.nullOr (types.listOf types.str);
+          default = null;
+          description = "APIs to enable over WebSocket";
+          example = ["net" "eth"];
+        };
+      };
+
+      metrics = {
+        enable = lib.mkEnableOption "Go Ethereum prometheus metrics";
+        address = mkOption {
+          type = types.str;
+          default = "127.0.0.1";
+          description = "Listen address of Go Ethereum metrics service.";
+        };
+
+        port = mkOption {
+          type = types.port;
+          default = 6060;
+          description = "Port number of Go Ethereum metrics service.";
+        };
+      };
+
+      network = mkOption {
+        type = types.nullOr (types.enum [ "goerli" "rinkeby" "yolov2" "ropsten" ]);
+        default = null;
+        description = "The network to connect to. Mainnet (null) is the default ethereum network.";
+      };
+
+      syncmode = mkOption {
+        type = types.enum [ "fast" "full" "light" ];
+        default = "fast";
+        description = "Blockchain sync mode.";
+      };
+
+      gcmode = mkOption {
+        type = types.enum [ "full" "archive" ];
+        default = "full";
+        description = "Blockchain garbage collection mode.";
+      };
+
+      maxpeers = mkOption {
+        type = types.int;
+        default = 50;
+        description = "Maximum peers to connect to.";
+      };
+
+      extraArgs = mkOption {
+        type = types.listOf types.str;
+        description = "Additional arguments passed to Go Ethereum.";
+        default = [];
+      };
+
+      package = mkOption {
+        default = pkgs.go-ethereum.geth;
+        type = types.package;
+        description = "Package to use as Go Ethereum node.";
+      };
+    };
+  };
+in
+
+{
+
+  ###### interface
+
+  options = {
+    services.geth = mkOption {
+      type = types.attrsOf (types.submodule gethOpts);
+      default = {};
+      description = "Specification of one or more geth instances.";
+    };
+  };
+
+  ###### implementation
+
+  config = mkIf (eachGeth != {}) {
+
+    environment.systemPackages = flatten (mapAttrsToList (gethName: cfg: [
+      cfg.package
+    ]) eachGeth);
+
+    systemd.services = mapAttrs' (gethName: cfg: (
+      nameValuePair "geth-${gethName}" (mkIf cfg.enable {
+      description = "Go Ethereum node (${gethName})";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+
+      serviceConfig = {
+        DynamicUser = true;
+        Restart = "always";
+        StateDirectory = "goethereum/${gethName}/${if (cfg.network == null) then "mainnet" else cfg.network}";
+
+        # Hardening measures
+        PrivateTmp = "true";
+        ProtectSystem = "full";
+        NoNewPrivileges = "true";
+        PrivateDevices = "true";
+        MemoryDenyWriteExecute = "true";
+      };
+
+      script = ''
+        ${cfg.package}/bin/geth \
+          --nousb \
+          --ipcdisable \
+          ${optionalString (cfg.network != null) ''--${cfg.network}''} \
+          --syncmode ${cfg.syncmode} \
+          --gcmode ${cfg.gcmode} \
+          --port ${toString cfg.port} \
+          --maxpeers ${toString cfg.maxpeers} \
+          ${if cfg.http.enable then ''--http --http.addr ${cfg.http.address} --http.port ${toString cfg.http.port}'' else ""} \
+          ${optionalString (cfg.http.apis != null) ''--http.api ${lib.concatStringsSep "," cfg.http.apis}''} \
+          ${if cfg.websocket.enable then ''--ws --ws.addr ${cfg.websocket.address} --ws.port ${toString cfg.websocket.port}'' else ""} \
+          ${optionalString (cfg.websocket.apis != null) ''--ws.api ${lib.concatStringsSep "," cfg.websocket.apis}''} \
+          ${optionalString cfg.metrics.enable ''--metrics --metrics.addr ${cfg.metrics.address} --metrics.port ${toString cfg.metrics.port}''} \
+          ${lib.escapeShellArgs cfg.extraArgs} \
+          --datadir /var/lib/goethereum/${gethName}/${if (cfg.network == null) then "mainnet" else cfg.network}
+      '';
+    }))) eachGeth;
+
+  };
+
+}
diff --git a/nixos/modules/services/cluster/hadoop/default.nix b/nixos/modules/services/cluster/hadoop/default.nix
index 171d4aced651e..41ac46e538e35 100644
--- a/nixos/modules/services/cluster/hadoop/default.nix
+++ b/nixos/modules/services/cluster/hadoop/default.nix
@@ -7,6 +7,7 @@ with lib;
   options.services.hadoop = {
     coreSite = mkOption {
       default = {};
+      type = types.attrsOf types.anything;
       example = literalExample ''
         {
           "fs.defaultFS" = "hdfs://localhost";
@@ -17,6 +18,7 @@ with lib;
 
     hdfsSite = mkOption {
       default = {};
+      type = types.attrsOf types.anything;
       example = literalExample ''
         {
           "dfs.nameservices" = "namenode1";
@@ -27,6 +29,7 @@ with lib;
 
     mapredSite = mkOption {
       default = {};
+      type = types.attrsOf types.anything;
       example = literalExample ''
         {
           "mapreduce.map.cpu.vcores" = "1";
@@ -37,6 +40,7 @@ with lib;
 
     yarnSite = mkOption {
       default = {};
+      type = types.attrsOf types.anything;
       example = literalExample ''
         {
           "yarn.resourcemanager.ha.id" = "resourcemanager1";
diff --git a/nixos/modules/services/cluster/kubernetes/kubelet.nix b/nixos/modules/services/cluster/kubernetes/kubelet.nix
index 2b6e45ba1b905..479027f1b2708 100644
--- a/nixos/modules/services/cluster/kubernetes/kubelet.nix
+++ b/nixos/modules/services/cluster/kubernetes/kubelet.nix
@@ -241,7 +241,17 @@ in
         description = "Kubernetes Kubelet Service";
         wantedBy = [ "kubernetes.target" ];
         after = [ "network.target" "docker.service" "kube-apiserver.service" ];
-        path = with pkgs; [ gitMinimal openssh docker util-linux iproute ethtool thin-provisioning-tools iptables socat ] ++ top.path;
+        path = with pkgs; [
+          gitMinimal
+          openssh
+          docker
+          util-linux
+          iproute
+          ethtool
+          thin-provisioning-tools
+          iptables
+          socat
+        ] ++ lib.optional config.boot.zfs.enabled config.boot.zfs.package ++ top.path;
         preStart = ''
           ${concatMapStrings (img: ''
             echo "Seeding docker image: ${img}"
diff --git a/nixos/modules/services/continuous-integration/buildbot/master.nix b/nixos/modules/services/continuous-integration/buildbot/master.nix
index d30d94c53cc33..a49f5f8100dc9 100644
--- a/nixos/modules/services/continuous-integration/buildbot/master.nix
+++ b/nixos/modules/services/continuous-integration/buildbot/master.nix
@@ -223,7 +223,7 @@ in {
       };
 
       pythonPackages = mkOption {
-        type = types.listOf types.package;
+        type = types.functionTo (types.listOf types.package);
         default = pythonPackages: with pythonPackages; [ ];
         defaultText = "pythonPackages: with pythonPackages; [ ]";
         description = "Packages to add the to the PYTHONPATH of the buildbot process.";
@@ -283,5 +283,5 @@ in {
     '')
   ];
 
-  meta.maintainers = with lib.maintainers; [ nand0p mic92 ];
+  meta.maintainers = with lib.maintainers; [ nand0p mic92 lopsided98 ];
 }
diff --git a/nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix b/nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix
index 4aed493c0fb0a..9f9b86ee61cbb 100644
--- a/nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix
+++ b/nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix
@@ -7,14 +7,21 @@ Platform-specific code is in the respective default.nix files.
  */
 
 { config, lib, options, pkgs, ... }:
-
 let
-  inherit (lib) mkOption mkIf types filterAttrs literalExample mkRenamedOptionModule;
+  inherit (lib)
+    filterAttrs
+    literalExample
+    mkIf
+    mkOption
+    mkRemovedOptionModule
+    mkRenamedOptionModule
+    types
+    ;
 
   cfg =
     config.services.hercules-ci-agent;
 
-  format = pkgs.formats.toml {};
+  format = pkgs.formats.toml { };
 
   settingsModule = { config, ... }: {
     freeformType = format.type;
@@ -28,10 +35,14 @@ let
       };
       concurrentTasks = mkOption {
         description = ''
-          Number of tasks to perform simultaneously, such as evaluations, derivations.
+          Number of tasks to perform simultaneously.
+
+          A task is a single derivation build or an evaluation.
+          At minimum, you need 2 concurrent tasks for <literal>x86_64-linux</literal>
+          in your cluster, to allow for import from derivation.
 
-          You must have a total capacity across agents of at least 2 concurrent tasks on <literal>x86_64-linux</literal>
-          to allow for import from derivation.
+          <literal>concurrentTasks</literal> can be around the CPU core count or lower if memory is
+          the bottleneck.
         '';
         type = types.int;
         default = 4;
@@ -77,61 +88,39 @@ let
     };
   };
 
+  # TODO (roberth, >=2022) remove
   checkNix =
     if !cfg.checkNix
     then ""
-    else if lib.versionAtLeast config.nix.package.version "2.4.0"
+    else if lib.versionAtLeast config.nix.package.version "2.3.10"
     then ""
-    else pkgs.stdenv.mkDerivation {
-      name = "hercules-ci-check-system-nix-src";
-      inherit (config.nix.package) src patches;
-      configurePhase = ":";
-      buildPhase = ''
-        echo "Checking in-memory pathInfoCache expiry"
-        if ! grep 'struct PathInfoCacheValue' src/libstore/store-api.hh >/dev/null; then
-          cat 1>&2 <<EOF
-
-          You are deploying Hercules CI Agent on a system with an incompatible
-          nix-daemon. Please
-           - either upgrade Nix to version 2.4.0 (when released),
-           - or set option services.hercules-ci-agent.patchNix = true;
-           - or set option nix.package to a build of Nix 2.3 with this patch applied:
-               https://github.com/NixOS/nix/pull/3405
-
-          The patch is required for Nix-daemon clients that expect a change in binary
-          cache contents while running, like the agent's evaluator. Without it, import
-          from derivation will fail if your cluster has more than one machine.
-          We are conservative with changes to the overall system, which is why we
-          keep changes to a minimum and why we ask for confirmation in the form of
-          services.hercules-ci-agent.patchNix = true before applying.
-
-        EOF
-          exit 1
-        fi
-      '';
-      installPhase = "touch $out";
-    };
+    else
+      pkgs.stdenv.mkDerivation {
+        name = "hercules-ci-check-system-nix-src";
+        inherit (config.nix.package) src patches;
+        configurePhase = ":";
+        buildPhase = ''
+          echo "Checking in-memory pathInfoCache expiry"
+          if ! grep 'PathInfoCacheValue' src/libstore/store-api.hh >/dev/null; then
+            cat 1>&2 <<EOF
+
+            You are deploying Hercules CI Agent on a system with an incompatible
+            nix-daemon. Please make sure nix.package is set to a Nix version of at
+            least 2.3.10 or a master version more recent than Mar 12, 2020.
+          EOF
+            exit 1
+          fi
+        '';
+        installPhase = "touch $out";
+      };
 
-  patchedNix = lib.mkIf (!lib.versionAtLeast pkgs.nix.version "2.4.0") (
-    if lib.versionAtLeast pkgs.nix.version "2.4pre"
-    then lib.warn "Hercules CI Agent module will not patch 2.4 pre-release. Make sure it includes (equivalently) PR #3043, commit d048577909 or is no older than 2020-03-13." pkgs.nix
-    else pkgs.nix.overrideAttrs (
-      o: {
-        patches = (o.patches or []) ++ [ backportNix3398 ];
-      }
-    )
-  );
-
-  backportNix3398 = pkgs.fetchurl {
-    url = "https://raw.githubusercontent.com/hercules-ci/hercules-ci-agent/hercules-ci-agent-0.7.3/for-upstream/issue-3398-path-info-cache-ttls-backport-2.3.patch";
-    sha256 = "0jfckqjir9il2il7904yc1qyadw366y7xqzg81sp9sl3f1pw70ib";
-  };
 in
 {
   imports = [
-    (mkRenamedOptionModule ["services" "hercules-ci-agent" "extraOptions"] ["services" "hercules-ci-agent" "settings"])
-    (mkRenamedOptionModule ["services" "hercules-ci-agent" "baseDirectory"] ["services" "hercules-ci-agent" "settings" "baseDirectory"])
-    (mkRenamedOptionModule ["services" "hercules-ci-agent" "concurrentTasks"] ["services" "hercules-ci-agent" "settings" "concurrentTasks"])
+    (mkRenamedOptionModule [ "services" "hercules-ci-agent" "extraOptions" ] [ "services" "hercules-ci-agent" "settings" ])
+    (mkRenamedOptionModule [ "services" "hercules-ci-agent" "baseDirectory" ] [ "services" "hercules-ci-agent" "settings" "baseDirectory" ])
+    (mkRenamedOptionModule [ "services" "hercules-ci-agent" "concurrentTasks" ] [ "services" "hercules-ci-agent" "settings" "concurrentTasks" ])
+    (mkRemovedOptionModule [ "services" "hercules-ci-agent" "patchNix" ] "Nix versions packaged in this version of Nixpkgs don't need a patched nix-daemon to work correctly in Hercules CI Agent clusters.")
   ];
 
   options.services.hercules-ci-agent = {
@@ -147,15 +136,6 @@ in
         Support is available at <link xlink:href="mailto:help@hercules-ci.com">help@hercules-ci.com</link>.
       '';
     };
-    patchNix = mkOption {
-      type = types.bool;
-      default = false;
-      description = ''
-        Fix Nix 2.3 cache path metadata caching behavior. Has the effect of <literal>nix.package = patch pkgs.nix;</literal>
-
-        This option will be removed when Hercules CI Agent moves to Nix 2.4 (upcoming Nix release).
-      '';
-    };
     checkNix = mkOption {
       type = types.bool;
       default = true;
@@ -206,7 +186,6 @@ in
       # even shortly after the previous lookup. This *also* applies to the daemon.
       narinfo-cache-negative-ttl = 0
     '';
-    nix.package = mkIf cfg.patchNix patchedNix;
     services.hercules-ci-agent.tomlFile =
       format.generate "hercules-ci-agent.toml" cfg.settings;
   };
diff --git a/nixos/modules/services/continuous-integration/hercules-ci-agent/default.nix b/nixos/modules/services/continuous-integration/hercules-ci-agent/default.nix
index 79d1ce5805457..e8a42e59de0d0 100644
--- a/nixos/modules/services/continuous-integration/hercules-ci-agent/default.nix
+++ b/nixos/modules/services/continuous-integration/hercules-ci-agent/default.nix
@@ -7,9 +7,7 @@ Code that is shared with nix-darwin goes in common.nix.
  */
 
 { pkgs, config, lib, ... }:
-
 let
-
   inherit (lib) mkIf mkDefault;
 
   cfg = config.services.hercules-ci-agent;
@@ -21,7 +19,7 @@ in
 {
   imports = [
     ./common.nix
-    (lib.mkRenamedOptionModule ["services" "hercules-ci-agent" "user"] ["systemd" "services" "hercules-ci-agent" "serviceConfig" "User"])
+    (lib.mkRenamedOptionModule [ "services" "hercules-ci-agent" "user" ] [ "systemd" "services" "hercules-ci-agent" "serviceConfig" "User" ])
   ];
 
   config = mkIf cfg.enable {
@@ -80,6 +78,8 @@ in
       isSystemUser = true;
     };
 
-    users.groups.hercules-ci-agent = {};
+    users.groups.hercules-ci-agent = { };
   };
+
+  meta.maintainers = [ lib.maintainers.roberth ];
 }
diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix
index 7d0a3f9afc48c..cf105daeb04ed 100644
--- a/nixos/modules/services/databases/mysql.nix
+++ b/nixos/modules/services/databases/mysql.nix
@@ -375,6 +375,18 @@ in
           fi
         '';
 
+        script = ''
+          # https://mariadb.com/kb/en/getting-started-with-mariadb-galera-cluster/#systemd-and-galera-recovery
+          if test -n "''${_WSREP_START_POSITION}"; then
+            if test -e "${cfg.package}/bin/galera_recovery"; then
+              VAR=$(cd ${cfg.package}/bin/..; ${cfg.package}/bin/galera_recovery); [[ $? -eq 0 ]] && export _WSREP_START_POSITION=$VAR || exit 1
+            fi
+          fi
+
+          # The last two environment variables are used for starting Galera clusters
+          exec ${cfg.package}/bin/mysqld --defaults-file=/etc/my.cnf ${mysqldOptions} $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION
+        '';
+
         postStart = let
           # The super user account to use on *first* run of MySQL server
           superUser = if isMariaDB then cfg.user else "root";
@@ -481,8 +493,7 @@ in
           Type = if hasNotify then "notify" else "simple";
           Restart = "on-abort";
           RestartSec = "5s";
-          # The last two environment variables are used for starting Galera clusters
-          ExecStart = "${cfg.package}/bin/mysqld --defaults-file=/etc/my.cnf ${mysqldOptions} $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION";
+
           # User and group
           User = cfg.user;
           Group = cfg.group;
diff --git a/nixos/modules/services/desktops/pipewire.nix b/nixos/modules/services/desktops/pipewire.nix
deleted file mode 100644
index 134becf6b0c40..0000000000000
--- a/nixos/modules/services/desktops/pipewire.nix
+++ /dev/null
@@ -1,183 +0,0 @@
-# pipewire service.
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-  cfg = config.services.pipewire;
-  enable32BitAlsaPlugins = cfg.alsa.support32Bit
-                           && pkgs.stdenv.isx86_64
-                           && pkgs.pkgsi686Linux.pipewire != null;
-
-  # The package doesn't output to $out/lib/pipewire directly so that the
-  # overlays can use the outputs to replace the originals in FHS environments.
-  #
-  # This doesn't work in general because of missing development information.
-  jack-libs = pkgs.runCommand "jack-libs" {} ''
-    mkdir -p "$out/lib"
-    ln -s "${cfg.package.jack}/lib" "$out/lib/pipewire"
-  '';
-in {
-
-  meta = {
-    maintainers = teams.freedesktop.members;
-  };
-
-  ###### interface
-  options = {
-    services.pipewire = {
-      enable = mkEnableOption "pipewire service";
-
-      package = mkOption {
-        type = types.package;
-        default = pkgs.pipewire;
-        defaultText = "pkgs.pipewire";
-        example = literalExample "pkgs.pipewire";
-        description = ''
-          The pipewire derivation to use.
-        '';
-      };
-
-      socketActivation = mkOption {
-        default = true;
-        type = types.bool;
-        description = ''
-          Automatically run pipewire when connections are made to the pipewire socket.
-        '';
-      };
-
-      extraConfig = mkOption {
-        type = types.lines;
-        default = "";
-        description = ''
-          Literal string to append to /etc/pipewire/pipewire.conf.
-        '';
-      };
-
-      sessionManager = mkOption {
-        type = types.nullOr types.string;
-        default = null;
-        example = literalExample ''"''${pipewire}/bin/pipewire-media-session"'';
-        description = ''
-          Path to the pipewire session manager executable.
-        '';
-      };
-
-      sessionManagerArguments = mkOption {
-        type = types.listOf types.string;
-        default = [];
-        example = literalExample ''[ "-p" "bluez5.msbc-support=true" ]'';
-        description = ''
-          Arguments passed to the pipewire session manager.
-        '';
-      };
-
-      alsa = {
-        enable = mkEnableOption "ALSA support";
-        support32Bit = mkEnableOption "32-bit ALSA support on 64-bit systems";
-      };
-
-      jack = {
-        enable = mkEnableOption "JACK audio emulation";
-      };
-
-      pulse = {
-        enable = mkEnableOption "PulseAudio server emulation";
-      };
-    };
-  };
-
-
-  ###### implementation
-  config = mkIf cfg.enable {
-    assertions = [
-      {
-        assertion = cfg.pulse.enable -> !config.hardware.pulseaudio.enable;
-        message = "PipeWire based PulseAudio server emulation replaces PulseAudio. This option requires `hardware.pulseaudio.enable` to be set to false";
-      }
-      {
-        assertion = cfg.jack.enable -> !config.services.jack.jackd.enable;
-        message = "PipeWire based JACK emulation doesn't use the JACK service. This option requires `services.jack.jackd.enable` to be set to false";
-      }
-    ];
-
-    services.pipewire.sessionManager = mkDefault "${cfg.package}/bin/pipewire-media-session";
-
-    environment.systemPackages = [ cfg.package ]
-                                 ++ lib.optional cfg.jack.enable jack-libs;
-
-    systemd.packages = [ cfg.package ]
-                       ++ lib.optional cfg.pulse.enable cfg.package.pulse;
-
-    # PipeWire depends on DBUS but doesn't list it. Without this booting
-    # into a terminal results in the service crashing with an error.
-    systemd.user.sockets.pipewire.wantedBy = lib.mkIf cfg.socketActivation [ "sockets.target" ];
-    systemd.user.sockets.pipewire-pulse.wantedBy = lib.mkIf (cfg.socketActivation && cfg.pulse.enable) ["sockets.target"];
-    systemd.user.services.pipewire.bindsTo = [ "dbus.service" ];
-    services.udev.packages = [ cfg.package ];
-
-    # If any paths are updated here they must also be updated in the package test.
-    environment.etc."alsa/conf.d/49-pipewire-modules.conf" = mkIf cfg.alsa.enable {
-      text = ''
-        pcm_type.pipewire {
-          libs.native = ${cfg.package.lib}/lib/alsa-lib/libasound_module_pcm_pipewire.so ;
-          ${optionalString enable32BitAlsaPlugins
-            "libs.32Bit = ${pkgs.pkgsi686Linux.pipewire.lib}/lib/alsa-lib/libasound_module_pcm_pipewire.so ;"}
-        }
-        ctl_type.pipewire {
-          libs.native = ${cfg.package.lib}/lib/alsa-lib/libasound_module_ctl_pipewire.so ;
-          ${optionalString enable32BitAlsaPlugins
-            "libs.32Bit = ${pkgs.pkgsi686Linux.pipewire.lib}/lib/alsa-lib/libasound_module_ctl_pipewire.so ;"}
-        }
-      '';
-    };
-    environment.etc."alsa/conf.d/50-pipewire.conf" = mkIf cfg.alsa.enable {
-      source = "${cfg.package}/share/alsa/alsa.conf.d/50-pipewire.conf";
-    };
-    environment.etc."alsa/conf.d/99-pipewire-default.conf" = mkIf cfg.alsa.enable {
-      source = "${cfg.package}/share/alsa/alsa.conf.d/99-pipewire-default.conf";
-    };
-    environment.sessionVariables.LD_LIBRARY_PATH =
-      lib.optional cfg.jack.enable "/run/current-system/sw/lib/pipewire";
-
-    environment.etc."pipewire/pipewire.conf" = {
-      # Adapted from src/daemon/pipewire.conf.in
-      text = ''
-        set-prop link.max-buffers 16 # version < 3 clients can't handle more
-
-        add-spa-lib audio.convert* audioconvert/libspa-audioconvert
-        add-spa-lib api.alsa.* alsa/libspa-alsa
-        add-spa-lib api.v4l2.* v4l2/libspa-v4l2
-        add-spa-lib api.libcamera.* libcamera/libspa-libcamera
-        add-spa-lib api.bluez5.* bluez5/libspa-bluez5
-        add-spa-lib api.vulkan.* vulkan/libspa-vulkan
-        add-spa-lib api.jack.* jack/libspa-jack
-        add-spa-lib support.* support/libspa-support
-
-        load-module libpipewire-module-rtkit # rt.prio=20 rt.time.soft=200000 rt.time.hard=200000
-        load-module libpipewire-module-protocol-native
-        load-module libpipewire-module-profiler
-        load-module libpipewire-module-metadata
-        load-module libpipewire-module-spa-device-factory
-        load-module libpipewire-module-spa-node-factory
-        load-module libpipewire-module-client-node
-        load-module libpipewire-module-client-device
-        load-module libpipewire-module-portal
-        load-module libpipewire-module-access
-        load-module libpipewire-module-adapter
-        load-module libpipewire-module-link-factory
-        load-module libpipewire-module-session-manager
-
-        create-object spa-node-factory factory.name=support.node.driver node.name=Dummy priority.driver=8000
-
-        exec ${cfg.sessionManager} ${lib.concatStringsSep " " cfg.sessionManagerArguments}
-
-        ${cfg.extraConfig}
-      '';
-    };
-
-    environment.etc."pipewire/media-session.d/with-alsa" = mkIf cfg.alsa.enable { text = ""; };
-    environment.etc."pipewire/media-session.d/with-pulseaudio" = mkIf cfg.pulse.enable { text = ""; };
-    environment.etc."pipewire/media-session.d/with-jack" = mkIf cfg.jack.enable { text = ""; };
-  };
-}
diff --git a/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix b/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
new file mode 100644
index 0000000000000..81f4762e1e601
--- /dev/null
+++ b/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
@@ -0,0 +1,341 @@
+# pipewire example session manager.
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.pipewire.media-session;
+  enable32BitAlsaPlugins = cfg.alsa.support32Bit
+                           && pkgs.stdenv.isx86_64
+                           && pkgs.pkgsi686Linux.pipewire != null;
+
+  # Helpers for generating the pipewire JSON config file
+  mkSPAValueString = v:
+  if builtins.isList v then "[${lib.concatMapStringsSep " " mkSPAValueString v}]"
+  else if lib.types.attrs.check v then
+    "{${lib.concatStringsSep " " (mkSPAKeyValue v)}}"
+  else lib.generators.mkValueStringDefault { } v;
+
+  mkSPAKeyValue = attrs: map (def: def.content) (
+  lib.sortProperties
+    (
+      lib.mapAttrsToList
+        (k: v: lib.mkOrder (v._priority or 1000) "${lib.escape [ "=" ] k} = ${mkSPAValueString (v._content or v)}")
+        attrs
+    )
+  );
+
+  toSPAJSON = attrs: lib.concatStringsSep "\n" (mkSPAKeyValue attrs);
+in {
+
+  meta = {
+    maintainers = teams.freedesktop.members;
+  };
+
+  ###### interface
+  options = {
+    services.pipewire.media-session = {
+      enable = mkOption {
+        type = types.bool;
+        default = config.services.pipewire.enable;
+        defaultText = "config.services.pipewire.enable";
+        description = "Example pipewire session manager";
+      };
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.pipewire.mediaSession;
+        example = literalExample "pkgs.pipewire.mediaSession";
+        description = ''
+          The pipewire-media-session derivation to use.
+        '';
+      };
+
+      config = mkOption {
+        type = types.attrs;
+        description = ''
+          Configuration for the media session core.
+        '';
+        default = {
+          # media-session config file
+          properties = {
+            # Properties to configure the session and some
+            # modules
+            #mem.mlock-all = false;
+            #context.profile.modules = "default,rtkit";
+          };
+
+          spa-libs = {
+            # Mapping from factory name to library.
+            "api.bluez5.*" = "bluez5/libspa-bluez5";
+            "api.alsa.*" = "alsa/libspa-alsa";
+            "api.v4l2.*" = "v4l2/libspa-v4l2";
+            "api.libcamera.*" = "libcamera/libspa-libcamera";
+          };
+
+          modules = {
+            # These are the modules that are enabled when a file with
+            # the key name is found in the media-session.d config directory.
+            # the default bundle is always enabled.
+
+            default = [
+              "flatpak"			# manages flatpak access
+              "portal"			# manage portal permissions
+              "v4l2"			# video for linux udev detection
+              #"libcamera"		# libcamera udev detection
+              "suspend-node"		# suspend inactive nodes
+              "policy-node"		# configure and link nodes
+              #"metadata"		# export metadata API
+              #"default-nodes"		# restore default nodes
+              #"default-profile"	# restore default profiles
+              #"default-routes"		# restore default route
+              #"streams-follow-default"	# move streams when default changes
+              #"alsa-seq"		# alsa seq midi support
+              #"alsa-monitor"		# alsa udev detection
+              #"bluez5"			# bluetooth support
+              #"restore-stream"		# restore stream settings
+            ];
+            "with-audio" = [
+              "metadata"
+              "default-nodes"
+              "default-profile"
+              "default-routes"
+              "alsa-seq"
+              "alsa-monitor"
+            ];
+            "with-alsa" = [
+              "with-audio"
+            ];
+            "with-jack" = [
+              "with-audio"
+            ];
+            "with-pulseaudio" = [
+              "with-audio"
+              "bluez5"
+              "restore-stream"
+              "streams-follow-default"
+            ];
+          };
+        };
+      };
+
+      alsaMonitorConfig = mkOption {
+        type = types.attrs;
+        description = ''
+          Configuration for the alsa monitor.
+        '';
+        default = {
+          # alsa-monitor config file
+          properties = {
+            #alsa.jack-device = true
+          };
+
+          rules = [
+          # an array of matches/actions to evaluate
+          {
+            # rules for matching a device or node. It is an array of
+            # properties that all need to match the regexp. If any of the
+            # matches work, the actions are executed for the object.
+            matches = [
+              {
+                # this matches all cards
+                device.name = "~alsa_card.*";
+              }
+            ];
+            actions = {
+              # actions can update properties on the matched object.
+              update-props = {
+                api.alsa.use-acp = true;
+                #api.alsa.use-ucm = true;
+                #api.alsa.soft-mixer = false;
+                #api.alsa.ignore-dB = false;
+                #device.profile-set = "profileset-name";
+                #device.profile = "default profile name";
+                api.acp.auto-profile = false;
+                api.acp.auto-port = false;
+                #device.nick = "My Device";
+              };
+            };
+          }
+          {
+            matches = [
+              {
+                # matches all sinks
+                node.name = "~alsa_input.*";
+              }
+              {
+                # matches all sources
+                node.name = "~alsa_output.*";
+              }
+            ];
+            actions = {
+              update-props = {
+                #node.nick = 			"My Node";
+                #node.nick = 			null;
+                #priority.driver = 		100;
+                #priority.session = 		100;
+                #node.pause-on-idle = 		false;
+                #resample.quality = 		4;
+                #channelmix.normalize =		false;
+                #channelmix.mix-lfe = 		false;
+                #audio.channels = 		2;
+                #audio.format = 		"S16LE";
+                #audio.rate = 			44100;
+                #audio.position = 		"FL,FR";
+                #api.alsa.period-size =         1024;
+                #api.alsa.headroom =            0;
+                #api.alsa.disable-mmap =        false;
+                #api.alsa.disable-batch =       false;
+              };
+            };
+          }
+          ];
+        };
+      };
+
+      bluezMonitorConfig = mkOption {
+        type = types.attrs;
+        description = ''
+          Configuration for the bluez5 monitor.
+        '';
+        default = {
+          # bluez-monitor config file
+          properties = {
+            # msbc is not expected to work on all headset + adapter combinations.
+            #bluez5.msbc-support = true;
+            #bluez5.sbc-xq-support = true;
+
+            # Enabled headset roles (default: [ hsp_hs hfp_ag ]), this
+            # property only applies to native backend. Currently some headsets
+            # (Sony WH-1000XM3) are not working with both hsp_ag and hfp_ag
+            # enabled, disable either hsp_ag or hfp_ag to work around it.
+            #
+            # Supported headset roles: hsp_hs (HSP Headset),
+            #                          hsp_ag (HSP Audio Gateway),
+            #                          hfp_ag (HFP Audio Gateway)
+            #bluez5.headset-roles = [ "hsp_hs" "hsp_ag" "hfp_ag" ];
+
+            # Enabled A2DP codecs (default: all)
+            #bluez5.codecs = [ "sbc" "aac" "ldac" "aptx" "aptx_hd" ];
+          };
+
+          rules = [
+          # an array of matches/actions to evaluate
+          {
+            # rules for matching a device or node. It is an array of
+            # properties that all need to match the regexp. If any of the
+            # matches work, the actions are executed for the object.
+            matches = [
+              {
+                # this matches all cards
+                device.name = "~bluez_card.*";
+              }
+            ];
+            actions = {
+              # actions can update properties on the matched object.
+              update-props = {
+                #device.nick = 			"My Device";
+              };
+            };
+          }
+          {
+            matches = [
+              {
+                # matches all sinks
+                node.name = "~bluez_input.*";
+              }
+              {
+                # matches all sources
+                node.name = "~bluez_output.*";
+              }
+            ];
+            actions = {
+              update-props = {
+                #node.nick = 			"My Node"
+                #node.nick = 			null;
+                #priority.driver = 		100;
+                #priority.session = 		100;
+                #node.pause-on-idle = 		false;
+                #resample.quality = 		4;
+                #channelmix.normalize =		false;
+                #channelmix.mix-lfe = 		false;
+              };
+            };
+          }
+          ];
+        };
+      };
+
+      v4l2MonitorConfig = mkOption {
+        type = types.attrs;
+        description = ''
+          Configuration for the V4L2 monitor.
+        '';
+        default = {
+          # v4l2-monitor config file
+          properties = {
+          };
+
+          rules = [
+            # an array of matches/actions to evaluate
+            {
+              # rules for matching a device or node. It is an array of
+              # properties that all need to match the regexp. If any of the
+              # matches work, the actions are executed for the object.
+              matches = [
+                {
+                  # this matches all devices
+                  device.name = "~v4l2_device.*";
+                }
+              ];
+              actions = {
+                # actions can update properties on the matched object.
+                update-props = {
+                  #device.nick = 			"My Device";
+                };
+              };
+            }
+            {
+              matches = [
+                {
+                  # matches all sinks
+                  node.name = "~v4l2_input.*";
+                }
+                {
+                  # matches all sources
+                  node.name = "~v4l2_output.*";
+                }
+              ];
+              actions = {
+                update-props = {
+                  #node.nick = 			"My Node";
+                  #node.nick = 			null;
+                  #priority.driver = 		100;
+                  #priority.session = 		100;
+                  #node.pause-on-idle = 		true;
+                };
+              };
+            }
+          ];
+        };
+      };
+    };
+  };
+
+  ###### implementation
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ cfg.package ];
+    services.pipewire.sessionManagerExecutable = "${cfg.package}/bin/pipewire-media-session";
+
+    environment.etc."pipewire/media-session.d/media-session.conf" = { text = toSPAJSON cfg.config; };
+    environment.etc."pipewire/media-session.d/v4l2-monitor.conf" = { text = toSPAJSON cfg.v4l2MonitorConfig; };
+
+    environment.etc."pipewire/media-session.d/with-alsa" = mkIf config.services.pipewire.alsa.enable { text = ""; };
+    environment.etc."pipewire/media-session.d/alsa-monitor.conf" = mkIf config.services.pipewire.alsa.enable { text = toSPAJSON cfg.alsaMonitorConfig; };
+
+    environment.etc."pipewire/media-session.d/with-pulseaudio" = mkIf config.services.pipewire.pulse.enable { text = ""; };
+    environment.etc."pipewire/media-session.d/bluez-monitor.conf" = mkIf config.services.pipewire.pulse.enable { text = toSPAJSON cfg.bluezMonitorConfig; };
+
+    environment.etc."pipewire/media-session.d/with-jack" = mkIf config.services.pipewire.jack.enable { text = ""; };
+  };
+}
diff --git a/nixos/modules/services/desktops/pipewire/pipewire.nix b/nixos/modules/services/desktops/pipewire/pipewire.nix
new file mode 100644
index 0000000000000..044120de7c719
--- /dev/null
+++ b/nixos/modules/services/desktops/pipewire/pipewire.nix
@@ -0,0 +1,265 @@
+# pipewire service.
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.pipewire;
+  enable32BitAlsaPlugins = cfg.alsa.support32Bit
+                           && pkgs.stdenv.isx86_64
+                           && pkgs.pkgsi686Linux.pipewire != null;
+
+  # The package doesn't output to $out/lib/pipewire directly so that the
+  # overlays can use the outputs to replace the originals in FHS environments.
+  #
+  # This doesn't work in general because of missing development information.
+  jack-libs = pkgs.runCommand "jack-libs" {} ''
+    mkdir -p "$out/lib"
+    ln -s "${cfg.package.jack}/lib" "$out/lib/pipewire"
+  '';
+
+  # Helpers for generating the pipewire JSON config file
+  mkSPAValueString = v:
+  if builtins.isList v then "[${lib.concatMapStringsSep " " mkSPAValueString v}]"
+  else if lib.types.attrs.check v then
+    "{${lib.concatStringsSep " " (mkSPAKeyValue v)}}"
+  else lib.generators.mkValueStringDefault { } v;
+
+  mkSPAKeyValue = attrs: map (def: def.content) (
+  lib.sortProperties
+    (
+      lib.mapAttrsToList
+        (k: v: lib.mkOrder (v._priority or 1000) "${lib.escape [ "=" ] k} = ${mkSPAValueString (v._content or v)}")
+        attrs
+    )
+  );
+
+  toSPAJSON = attrs: lib.concatStringsSep "\n" (mkSPAKeyValue attrs);
+in {
+
+  meta = {
+    maintainers = teams.freedesktop.members;
+  };
+
+  ###### interface
+  options = {
+    services.pipewire = {
+      enable = mkEnableOption "pipewire service";
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.pipewire;
+        defaultText = "pkgs.pipewire";
+        example = literalExample "pkgs.pipewire";
+        description = ''
+          The pipewire derivation to use.
+        '';
+      };
+
+      socketActivation = mkOption {
+        default = true;
+        type = types.bool;
+        description = ''
+          Automatically run pipewire when connections are made to the pipewire socket.
+        '';
+      };
+
+      config = mkOption {
+        type = types.attrs;
+        description = ''
+          Configuration for the pipewire daemon.
+        '';
+        default = {
+          properties = {
+            ## set-prop is used to configure properties in the system
+            #
+            # "library.name.system" = "support/libspa-support";
+            # "context.data-loop.library.name.system" = "support/libspa-support";
+            "link.max-buffers" = 16; # version < 3 clients can't handle more than 16
+            #"mem.allow-mlock" = false;
+            #"mem.mlock-all" = true;
+            ## https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/src/pipewire/pipewire.h#L93
+            #"log.level" = 2; # 5 is trace, which is verbose as hell, default is 2 which is warnings, 4 is debug output, 3 is info
+
+            ## Properties for the DSP configuration
+            #
+            #"default.clock.rate" = 48000;
+            #"default.clock.quantum" = 1024;
+            #"default.clock.min-quantum" = 32;
+            #"default.clock.max-quantum" = 8192;
+            #"default.video.width" = 640;
+            #"default.video.height" = 480;
+            #"default.video.rate.num" = 25;
+            #"default.video.rate.denom" = 1;
+          };
+
+          spa-libs = {
+            ## add-spa-lib <factory-name regex> <library-name>
+            #
+            # used to find spa factory names. It maps an spa factory name
+            # regular expression to a library name that should contain
+            # that factory.
+            #
+            "audio.convert*" = "audioconvert/libspa-audioconvert";
+            "api.alsa.*" = "alsa/libspa-alsa";
+            "api.v4l2.*" = "v4l2/libspa-v4l2";
+            "api.libcamera.*" = "libcamera/libspa-libcamera";
+            "api.bluez5.*" = "bluez5/libspa-bluez5";
+            "api.vulkan.*" = "vulkan/libspa-vulkan";
+            "api.jack.*" = "jack/libspa-jack";
+            "support.*" = "support/libspa-support";
+            # "videotestsrc" = "videotestsrc/libspa-videotestsrc";
+            # "audiotestsrc" = "audiotestsrc/libspa-audiotestsrc";
+          };
+
+          modules = {
+            ##  <module-name> = { [args = "<key>=<value> ..."]
+            #                     [flags = ifexists] }
+            #                     [flags = [ifexists]|[nofail]}
+            #
+            # Loads a module with the given parameters.
+            # If ifexists is given, the module is ignoed when it is not found.
+            # If nofail is given, module initialization failures are ignored.
+            #
+            libpipewire-module-rtkit = {
+              args = {
+                #rt.prio = 20;
+                #rt.time.soft = 200000;
+                #rt.time.hard = 200000;
+                #nice.level = -11;
+              };
+              flags = "ifexists|nofail";
+            };
+            libpipewire-module-protocol-native = { _priority = -100; _content = "null"; };
+            libpipewire-module-profiler = "null";
+            libpipewire-module-metadata = "null";
+            libpipewire-module-spa-device-factory = "null";
+            libpipewire-module-spa-node-factory = "null";
+            libpipewire-module-client-node = "null";
+            libpipewire-module-client-device = "null";
+            libpipewire-module-portal = "null";
+            libpipewire-module-access = {
+              args.access = {
+                allowed = ["${builtins.unsafeDiscardStringContext cfg.sessionManagerExecutable}"];
+                rejected = [];
+                restricted = [];
+                force = "flatpak";
+              };
+            };
+            libpipewire-module-adapter = "null";
+            libpipewire-module-link-factory = "null";
+            libpipewire-module-session-manager = "null";
+          };
+
+          objects = {
+            ## create-object [-nofail] <factory-name> [<key>=<value> ...]
+            #
+            # Creates an object from a PipeWire factory with the given parameters.
+            # If -nofail is given, errors are ignored (and no object is created)
+            #
+          };
+
+
+          exec = {
+            ## exec <program-name>
+            #
+            # Execute the given program. This is usually used to start the
+            # session manager. run the session manager with -h for options
+            #
+            "${builtins.unsafeDiscardStringContext cfg.sessionManagerExecutable}" = { args = "\"${lib.concatStringsSep " " cfg.sessionManagerArguments}\""; };
+          };
+        };
+      };
+
+      sessionManagerExecutable = mkOption {
+        type = types.str;
+        default = "";
+        example = literalExample ''${pkgs.pipewire.mediaSession}/bin/pipewire-media-session'';
+        description = ''
+          Path to the session manager executable.
+        '';
+      };
+
+      sessionManagerArguments = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        example = literalExample ''["-p" "bluez5.msbc-support=true"]'';
+        description = ''
+          Arguments passed to the pipewire session manager.
+        '';
+      };
+
+      alsa = {
+        enable = mkEnableOption "ALSA support";
+        support32Bit = mkEnableOption "32-bit ALSA support on 64-bit systems";
+      };
+
+      jack = {
+        enable = mkEnableOption "JACK audio emulation";
+      };
+
+      pulse = {
+        enable = mkEnableOption "PulseAudio server emulation";
+      };
+    };
+  };
+
+
+  ###### implementation
+  config = mkIf cfg.enable {
+    assertions = [
+      {
+        assertion = cfg.pulse.enable -> !config.hardware.pulseaudio.enable;
+        message = "PipeWire based PulseAudio server emulation replaces PulseAudio. This option requires `hardware.pulseaudio.enable` to be set to false";
+      }
+      {
+        assertion = cfg.jack.enable -> !config.services.jack.jackd.enable;
+        message = "PipeWire based JACK emulation doesn't use the JACK service. This option requires `services.jack.jackd.enable` to be set to false";
+      }
+    ];
+
+    environment.systemPackages = [ cfg.package ]
+                                 ++ lib.optional cfg.jack.enable jack-libs;
+
+    systemd.packages = [ cfg.package ]
+                       ++ lib.optional cfg.pulse.enable cfg.package.pulse;
+
+    # PipeWire depends on DBUS but doesn't list it. Without this booting
+    # into a terminal results in the service crashing with an error.
+    systemd.user.sockets.pipewire.wantedBy = lib.mkIf cfg.socketActivation [ "sockets.target" ];
+    systemd.user.sockets.pipewire-pulse.wantedBy = lib.mkIf (cfg.socketActivation && cfg.pulse.enable) ["sockets.target"];
+    systemd.user.services.pipewire.bindsTo = [ "dbus.service" ];
+    services.udev.packages = [ cfg.package ];
+
+    # If any paths are updated here they must also be updated in the package test.
+    environment.etc."alsa/conf.d/49-pipewire-modules.conf" = mkIf cfg.alsa.enable {
+      text = ''
+        pcm_type.pipewire {
+          libs.native = ${cfg.package.lib}/lib/alsa-lib/libasound_module_pcm_pipewire.so ;
+          ${optionalString enable32BitAlsaPlugins
+            "libs.32Bit = ${pkgs.pkgsi686Linux.pipewire.lib}/lib/alsa-lib/libasound_module_pcm_pipewire.so ;"}
+        }
+        ctl_type.pipewire {
+          libs.native = ${cfg.package.lib}/lib/alsa-lib/libasound_module_ctl_pipewire.so ;
+          ${optionalString enable32BitAlsaPlugins
+            "libs.32Bit = ${pkgs.pkgsi686Linux.pipewire.lib}/lib/alsa-lib/libasound_module_ctl_pipewire.so ;"}
+        }
+      '';
+    };
+    environment.etc."alsa/conf.d/50-pipewire.conf" = mkIf cfg.alsa.enable {
+      source = "${cfg.package}/share/alsa/alsa.conf.d/50-pipewire.conf";
+    };
+    environment.etc."alsa/conf.d/99-pipewire-default.conf" = mkIf cfg.alsa.enable {
+      source = "${cfg.package}/share/alsa/alsa.conf.d/99-pipewire-default.conf";
+    };
+
+    environment.sessionVariables.LD_LIBRARY_PATH =
+      lib.optional cfg.jack.enable "/run/current-system/sw/lib/pipewire";
+
+    # https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/464#note_723554
+    systemd.user.services.pipewire.environment = {
+      "PIPEWIRE_LINK_PASSIVE" = "1";
+      "PIPEWIRE_CONFIG_FILE" = pkgs.writeText "pipewire.conf" (toSPAJSON cfg.config);
+    };
+  };
+}
diff --git a/nixos/modules/services/development/hoogle.nix b/nixos/modules/services/development/hoogle.nix
index bd55483f46d80..6d6c88b9b2aa9 100644
--- a/nixos/modules/services/development/hoogle.nix
+++ b/nixos/modules/services/development/hoogle.nix
@@ -41,7 +41,6 @@ in {
     haskellPackages = mkOption {
       description = "Which haskell package set to use.";
       default = pkgs.haskellPackages;
-      type = types.package;
       defaultText = "pkgs.haskellPackages";
     };
 
diff --git a/nixos/modules/services/hardware/acpid.nix b/nixos/modules/services/hardware/acpid.nix
index 4c97485d97261..3e619fe32ef17 100644
--- a/nixos/modules/services/hardware/acpid.nix
+++ b/nixos/modules/services/hardware/acpid.nix
@@ -3,21 +3,22 @@
 with lib;
 
 let
+  cfg = config.services.acpid;
 
   canonicalHandlers = {
     powerEvent = {
       event = "button/power.*";
-      action = config.services.acpid.powerEventCommands;
+      action = cfg.powerEventCommands;
     };
 
     lidEvent = {
       event = "button/lid.*";
-      action = config.services.acpid.lidEventCommands;
+      action = cfg.lidEventCommands;
     };
 
     acEvent = {
       event = "ac_adapter.*";
-      action = config.services.acpid.acEventCommands;
+      action = cfg.acEventCommands;
     };
   };
 
@@ -33,7 +34,7 @@ let
             echo "event=${handler.event}" > $fn
             echo "action=${pkgs.writeShellScriptBin "${name}.sh" handler.action }/bin/${name}.sh '%e'" >> $fn
           '';
-        in concatStringsSep "\n" (mapAttrsToList f (canonicalHandlers // config.services.acpid.handlers))
+        in concatStringsSep "\n" (mapAttrsToList f (canonicalHandlers // cfg.handlers))
       }
     '';
 
@@ -47,11 +48,7 @@ in
 
     services.acpid = {
 
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = "Whether to enable the ACPI daemon.";
-      };
+      enable = mkEnableOption "the ACPI daemon";
 
       logEvents = mkOption {
         type = types.bool;
@@ -129,26 +126,28 @@ in
 
   ###### implementation
 
-  config = mkIf config.services.acpid.enable {
+  config = mkIf cfg.enable {
 
     systemd.services.acpid = {
       description = "ACPI Daemon";
+      documentation = [ "man:acpid(8)" ];
 
       wantedBy = [ "multi-user.target" ];
-      after = [ "systemd-udev-settle.service" ];
-
-      path = [ pkgs.acpid ];
 
       serviceConfig = {
-        Type = "forking";
+        ExecStart = escapeShellArgs
+          ([ "${pkgs.acpid}/bin/acpid"
+             "--foreground"
+             "--netlink"
+             "--confdir" "${acpiConfDir}"
+           ] ++ optional cfg.logEvents "--logevents"
+          );
       };
-
       unitConfig = {
         ConditionVirtualization = "!systemd-nspawn";
         ConditionPathExists = [ "/proc/acpi" ];
       };
 
-      script = "acpid ${optionalString config.services.acpid.logEvents "--logevents"} --confdir ${acpiConfDir}";
     };
 
   };
diff --git a/nixos/modules/services/hardware/auto-cpufreq.nix b/nixos/modules/services/hardware/auto-cpufreq.nix
new file mode 100644
index 0000000000000..72c4eccaff72e
--- /dev/null
+++ b/nixos/modules/services/hardware/auto-cpufreq.nix
@@ -0,0 +1,18 @@
+{ config, lib, pkgs, ... }:
+with lib;
+let
+  cfg = config.services.auto-cpufreq;
+in {
+  options = {
+    services.auto-cpufreq = {
+      enable = mkEnableOption "auto-cpufreq daemon";
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.auto-cpufreq ];
+
+    systemd.packages = [ pkgs.auto-cpufreq ];
+    systemd.services.auto-cpufreq.path = with pkgs; [ bash coreutils ];
+  };
+}
diff --git a/nixos/modules/services/hardware/bluetooth.nix b/nixos/modules/services/hardware/bluetooth.nix
index 6f5a6d3bf2886..08ad90126b1d2 100644
--- a/nixos/modules/services/hardware/bluetooth.nix
+++ b/nixos/modules/services/hardware/bluetooth.nix
@@ -1,12 +1,39 @@
 { config, lib, pkgs, ... }:
-
-with lib;
-
 let
   cfg = config.hardware.bluetooth;
-  bluez-bluetooth = cfg.package;
+  package = cfg.package;
+
+  inherit (lib)
+    mkDefault mkEnableOption mkIf mkOption
+    mkRenamedOptionModule mkRemovedOptionModule
+    concatStringsSep escapeShellArgs
+    optional optionals optionalAttrs recursiveUpdate types;
+
+  cfgFmt = pkgs.formats.ini { };
+
+  # bluez will complain if some of the sections are not found, so just make them
+  # empty (but present in the file) for now
+  defaults = {
+    General.ControllerMode = "dual";
+    Controller = { };
+    GATT = { };
+    Policy.AutoEnable = cfg.powerOnBoot;
+  };
+
+  hasDisabledPlugins = builtins.length cfg.disabledPlugins > 0;
 
-in {
+in
+{
+  imports = [
+    (mkRenamedOptionModule [ "hardware" "bluetooth" "config" ] [ "hardware" "bluetooth" "settings" ])
+    (mkRemovedOptionModule [ "hardware" "bluetooth" "extraConfig" ] ''
+      Use hardware.bluetooth.settings instead.
+
+      This is part of the general move to use structured settings instead of raw
+      text for config as introduced by RFC0042:
+      https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md
+    '')
+  ];
 
   ###### interface
 
@@ -18,7 +45,7 @@ in {
       hsphfpd.enable = mkEnableOption "support for hsphfpd[-prototype] implementation";
 
       powerOnBoot = mkOption {
-        type    = types.bool;
+        type = types.bool;
         default = true;
         description = "Whether to power up the default Bluetooth controller on boot.";
       };
@@ -38,8 +65,15 @@ in {
         '';
       };
 
-      config = mkOption {
-        type = with types; attrsOf (attrsOf (oneOf [ bool int str ]));
+      disabledPlugins = mkOption {
+        type = types.listOf types.str;
+        default = [ ];
+        description = "Built-in plugins to disable";
+      };
+
+      settings = mkOption {
+        type = cfgFmt.type;
+        default = { };
         example = {
           General = {
             ControllerMode = "bredr";
@@ -47,79 +81,65 @@ in {
         };
         description = "Set configuration for system-wide bluetooth (/etc/bluetooth/main.conf).";
       };
-
-      extraConfig = mkOption {
-        type = with types; nullOr lines;
-        default = null;
-        example = ''
-          [General]
-          ControllerMode = bredr
-        '';
-        description = ''
-          Set additional configuration for system-wide bluetooth (/etc/bluetooth/main.conf).
-        '';
-      };
     };
-
   };
 
   ###### implementation
 
   config = mkIf cfg.enable {
-    warnings = optional (cfg.extraConfig != null) "hardware.bluetooth.`extraConfig` is deprecated, please use hardware.bluetooth.`config`.";
+    environment.systemPackages = [ package ]
+      ++ optional cfg.hsphfpd.enable pkgs.hsphfpd;
 
-    hardware.bluetooth.config = {
-      Policy = {
-        AutoEnable = mkDefault cfg.powerOnBoot;
-      };
-    };
-
-    environment.systemPackages = [ bluez-bluetooth ]
-      ++ optionals cfg.hsphfpd.enable [ pkgs.hsphfpd ];
-
-    environment.etc."bluetooth/main.conf"= {
-      source = pkgs.writeText "main.conf"
-        (generators.toINI { } cfg.config + optionalString (cfg.extraConfig != null) cfg.extraConfig);
-    };
-
-    services.udev.packages = [ bluez-bluetooth ];
-    services.dbus.packages = [ bluez-bluetooth ]
-      ++ optionals cfg.hsphfpd.enable [ pkgs.hsphfpd ];
-    systemd.packages       = [ bluez-bluetooth ];
+    environment.etc."bluetooth/main.conf".source =
+      cfgFmt.generate "main.conf" (recursiveUpdate defaults cfg.settings);
+    services.udev.packages = [ package ];
+    services.dbus.packages = [ package ]
+      ++ optional cfg.hsphfpd.enable pkgs.hsphfpd;
+    systemd.packages = [ package ];
 
     systemd.services = {
-      bluetooth = {
+      bluetooth =
+        let
+          # `man bluetoothd` will refer to main.conf in the nix store but bluez
+          # will in fact load the configuration file at /etc/bluetooth/main.conf
+          # so force it here to avoid any ambiguity and things suddenly breaking
+          # if/when the bluez derivation is changed.
+          args = [ "-f" "/etc/bluetooth/main.conf" ]
+            ++ optional hasDisabledPlugins
+            "--noplugin=${concatStringsSep "," cfg.disabledPlugins}";
+        in
+        {
+          wantedBy = [ "bluetooth.target" ];
+          aliases = [ "dbus-org.bluez.service" ];
+          serviceConfig.ExecStart = [
+            ""
+            "${package}/libexec/bluetooth/bluetoothd ${escapeShellArgs args}"
+          ];
+          # restarting can leave people without a mouse/keyboard
+          unitConfig.X-RestartIfChanged = false;
+        };
+    }
+    // (optionalAttrs cfg.hsphfpd.enable {
+      hsphfpd = {
+        after = [ "bluetooth.service" ];
+        requires = [ "bluetooth.service" ];
         wantedBy = [ "bluetooth.target" ];
-        aliases  = [ "dbus-org.bluez.service" ];
-        # restarting can leave people without a mouse/keyboard
-        unitConfig.X-RestartIfChanged = false;
+
+        description = "A prototype implementation used for connecting HSP/HFP Bluetooth devices";
+        serviceConfig.ExecStart = "${pkgs.hsphfpd}/bin/hsphfpd.pl";
       };
-    }
-      // (optionalAttrs cfg.hsphfpd.enable {
-        hsphfpd = {
-          after = [ "bluetooth.service" ];
-          requires = [ "bluetooth.service" ];
-          wantedBy = [ "multi-user.target" ];
-
-          description = "A prototype implementation used for connecting HSP/HFP Bluetooth devices";
-          serviceConfig.ExecStart = "${pkgs.hsphfpd}/bin/hsphfpd.pl";
-        };
-      })
-      ;
+    });
 
     systemd.user.services = {
       obex.aliases = [ "dbus-org.bluez.obex.service" ];
     }
-      // (optionalAttrs cfg.hsphfpd.enable {
-        telephony_client = {
-          wantedBy = [ "default.target"];
-
-          description = "telephony_client for hsphfpd";
-          serviceConfig.ExecStart = "${pkgs.hsphfpd}/bin/telephony_client.pl";
-        };
-      })
-      ;
+    // optionalAttrs cfg.hsphfpd.enable {
+      telephony_client = {
+        wantedBy = [ "default.target" ];
 
+        description = "telephony_client for hsphfpd";
+        serviceConfig.ExecStart = "${pkgs.hsphfpd}/bin/telephony_client.pl";
+      };
+    };
   };
-
 }
diff --git a/nixos/modules/services/hardware/power-profiles-daemon.nix b/nixos/modules/services/hardware/power-profiles-daemon.nix
new file mode 100644
index 0000000000000..70b7a72b8bae0
--- /dev/null
+++ b/nixos/modules/services/hardware/power-profiles-daemon.nix
@@ -0,0 +1,53 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.power-profiles-daemon;
+  package = pkgs.power-profiles-daemon;
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.power-profiles-daemon = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable power-profiles-daemon, a DBus daemon that allows
+          changing system behavior based upon user-selected power profiles.
+        '';
+      };
+
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    assertions = [
+      { assertion = !config.services.tlp.enable;
+        message = ''
+          You have set services.power-profiles-daemon.enable = true;
+          which conflicts with services.tlp.enable = true;
+        '';
+      }
+    ];
+
+    services.dbus.packages = [ package ];
+
+    services.udev.packages = [ package ];
+
+    systemd.packages = [ package ];
+
+  };
+
+}
diff --git a/nixos/modules/services/hardware/spacenavd.nix b/nixos/modules/services/hardware/spacenavd.nix
new file mode 100644
index 0000000000000..7afae76cc4fbd
--- /dev/null
+++ b/nixos/modules/services/hardware/spacenavd.nix
@@ -0,0 +1,26 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let cfg = config.hardware.spacenavd;
+
+in {
+
+  options = {
+    hardware.spacenavd = {
+      enable = mkEnableOption "spacenavd to support 3DConnexion devices";
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.user.services.spacenavd = {
+      description = "Daemon for the Spacenavigator 6DOF mice by 3Dconnexion";
+      after = [ "syslog.target" ];
+      wantedBy = [ "graphical.target" ];
+      serviceConfig = {
+        ExecStart = "${pkgs.spacenavd}/bin/spacenavd -d -l syslog";
+        StandardError = "syslog";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/hardware/thinkfan.nix b/nixos/modules/services/hardware/thinkfan.nix
index 3bda61ed1a938..7a5a7e1c41ce2 100644
--- a/nixos/modules/services/hardware/thinkfan.nix
+++ b/nixos/modules/services/hardware/thinkfan.nix
@@ -5,49 +5,95 @@ with lib;
 let
 
   cfg = config.services.thinkfan;
-  configFile = pkgs.writeText "thinkfan.conf" ''
-    # ATTENTION: There is only very basic sanity checking on the configuration.
-    # That means you can set your temperature limits as insane as you like. You
-    # can do anything stupid, e.g. turn off your fan when your CPU reaches 70°C.
-    #
-    # That's why this program is called THINKfan: You gotta think for yourself.
-    #
-    ######################################################################
-    #
-    # IBM/Lenovo Thinkpads (thinkpad_acpi, /proc/acpi/ibm)
-    # ====================================================
-    #
-    # IMPORTANT:
-    #
-    # To keep your HD from overheating, you have to specify a correction value for
-    # the sensor that has the HD's temperature. You need to do this because
-    # thinkfan uses only the highest temperature it can find in the system, and
-    # that'll most likely never be your HD, as most HDs are already out of spec
-    # when they reach 55 °C.
-    # Correction values are applied from left to right in the same order as the
-    # temperatures are read from the file.
-    #
-    # For example:
-    # tp_thermal /proc/acpi/ibm/thermal (0, 0, 10)
-    # will add a fixed value of 10 °C the 3rd value read from that file. Check out
-    # http://www.thinkwiki.org/wiki/Thermal_Sensors to find out how much you may
-    # want to add to certain temperatures.
-
-    ${cfg.fan}
-    ${cfg.sensors}
-
-    #  Syntax:
-    #  (LEVEL, LOW, HIGH)
-    #  LEVEL is the fan level to use (0-7 with thinkpad_acpi)
-    #  LOW is the temperature at which to step down to the previous level
-    #  HIGH is the temperature at which to step up to the next level
-    #  All numbers are integers.
-    #
-
-    ${cfg.levels}
-  '';
+  settingsFormat = pkgs.formats.yaml { };
+  configFile = settingsFormat.generate "thinkfan.yaml" cfg.settings;
+  thinkfan = pkgs.thinkfan.override { inherit (cfg) smartSupport; };
+
+  # fan-speed and temperature levels
+  levelType = with types;
+    let
+      tuple = ts: mkOptionType {
+        name = "tuple";
+        merge = mergeOneOption;
+        check = xs: all id (zipListsWith (t: x: t.check x) ts xs);
+        description = "tuple of" + concatMapStrings (t: " (${t.description})") ts;
+      };
+      level = ints.unsigned;
+      special = enum [ "level auto" "level full-speed" "level disengage" ];
+    in
+      tuple [ (either level special) level level ];
+
+  # sensor or fan config
+  sensorType = name: types.submodule {
+    freeformType = types.attrsOf settingsFormat.type;
+    options = {
+      type = mkOption {
+        type = types.enum [ "hwmon" "atasmart" "tpacpi" "nvml" ];
+        description = ''
+          The ${name} type, can be
+          <literal>hwmon</literal> for standard ${name}s,
 
-  thinkfan = pkgs.thinkfan.override { smartSupport = cfg.smartSupport; };
+          <literal>atasmart</literal> to read the temperature via
+          S.M.A.R.T (requires smartSupport to be enabled),
+
+          <literal>tpacpi</literal> for the legacy thinkpac_acpi driver, or
+
+          <literal>nvml</literal> for the (proprietary) nVidia driver.
+        '';
+      };
+      query = mkOption {
+        type = types.str;
+        description = ''
+          The query string used to match one or more ${name}s: can be
+          a fullpath to the temperature file (single ${name}) or a fullpath
+          to a driver directory (multiple ${name}s).
+
+          <note><para>
+            When multiple ${name}s match, the query can be restricted using the
+            <option>name</option> or <option>indices</option> options.
+          </para></note>
+        '';
+      };
+      indices = mkOption {
+        type = with types; nullOr (listOf ints.unsigned);
+        default = null;
+        description = ''
+          A list of ${name}s to pick in case multiple ${name}s match the query.
+
+          <note><para>Indices start from 0.</para></note>
+        '';
+      };
+    } // optionalAttrs (name == "sensor") {
+      correction = mkOption {
+        type = with types; nullOr (listOf int);
+        default = null;
+        description = ''
+          A list of values to be added to the temperature of each sensor,
+          can be used to equalize small discrepancies in temperature ratings.
+        '';
+      };
+    };
+  };
+
+  # removes NixOS special and unused attributes
+  sensorToConf = { type, query, ... }@args:
+    (filterAttrs (k: v: v != null && !(elem k ["type" "query"])) args)
+    // { "${type}" = query; };
+
+  syntaxNote = name: ''
+    <note><para>
+      This section slightly departs from the thinkfan.conf syntax.
+      The type and path must be specified like this:
+      <literal>
+        type = "tpacpi";
+        query = "/proc/acpi/ibm/${name}";
+      </literal>
+      instead of a single declaration like:
+      <literal>
+        - tpacpi: /proc/acpi/ibm/${name}
+      </literal>
+    </para></note>
+  '';
 
 in {
 
@@ -59,76 +105,93 @@ in {
         type = types.bool;
         default = false;
         description = ''
-          Whether to enable thinkfan, fan controller for IBM/Lenovo ThinkPads.
+          Whether to enable thinkfan, a fan control program.
+
+          <note><para>
+            This module targets IBM/Lenovo thinkpads by default, for
+            other hardware you will have configure it more carefully.
+          </para></note>
         '';
+        relatedPackages = [ "thinkfan" ];
       };
 
       smartSupport = mkOption {
         type = types.bool;
         default = false;
         description = ''
-          Whether to build thinkfan with SMART support to read temperatures
+          Whether to build thinkfan with S.M.A.R.T. support to read temperatures
           directly from hard disks.
         '';
       };
 
       sensors = mkOption {
-        type = types.lines;
-        default = ''
-          tp_thermal /proc/acpi/ibm/thermal (0,0,10)
-        '';
-        description =''
-          thinkfan can read temperatures from three possible sources:
-
-            /proc/acpi/ibm/thermal
-              Which is provided by the thinkpad_acpi kernel
-              module (keyword tp_thermal)
-
-            /sys/class/hwmon/*/temp*_input
-              Which may be provided by any hwmon drivers (keyword
-              hwmon)
-
-            S.M.A.R.T. (requires smartSupport to be enabled)
-              Which reads the temperature directly from the hard
-              disk using libatasmart (keyword atasmart)
-
-          Multiple sensors may be added, in which case they will be
-          numbered in their order of appearance.
-        '';
+        type = types.listOf (sensorType "sensor");
+        default = [
+          { type = "tpacpi";
+            query = "/proc/acpi/ibm/thermal";
+          }
+        ];
+        description = ''
+          List of temperature sensors thinkfan will monitor.
+        '' + syntaxNote "thermal";
       };
 
-      fan = mkOption {
-        type = types.str;
-        default = "tp_fan /proc/acpi/ibm/fan";
-        description =''
-          Specifies the fan we want to use.
-          On anything other than a Thinkpad you'll probably
-          use some PWM control file in /sys/class/hwmon.
-          A sysfs fan would be specified like this:
-            pwm_fan /sys/class/hwmon/hwmon2/device/pwm1
-        '';
+      fans = mkOption {
+        type = types.listOf (sensorType "fan");
+        default = [
+          { type = "tpacpi";
+            query = "/proc/acpi/ibm/fan";
+          }
+        ];
+        description = ''
+          List of fans thinkfan will control.
+        '' + syntaxNote "fan";
       };
 
       levels = mkOption {
-        type = types.lines;
-        default = ''
-          (0,     0,      55)
-          (1,     48,     60)
-          (2,     50,     61)
-          (3,     52,     63)
-          (6,     56,     65)
-          (7,     60,     85)
-          (127,   80,     32767)
-        '';
+        type = types.listOf levelType;
+        default = [
+          [0  0   55]
+          [1  48  60]
+          [2  50  61]
+          [3  52  63]
+          [6  56  65]
+          [7  60  85]
+          ["level auto" 80 32767]
+        ];
         description = ''
-          (LEVEL, LOW, HIGH)
-          LEVEL is the fan level to use (0-7 with thinkpad_acpi).
+          [LEVEL LOW HIGH]
+
+          LEVEL is the fan level to use: it can be an integer (0-7 with thinkpad_acpi),
+          "level auto" (to keep the default firmware behavior), "level full-speed" or
+          "level disengage" (to run the fan as fast as possible).
           LOW is the temperature at which to step down to the previous level.
           HIGH is the temperature at which to step up to the next level.
           All numbers are integers.
         '';
       };
 
+      extraArgs = mkOption {
+        type = types.listOf types.str;
+        default = [ ];
+        example = [ "-b" "0" ];
+        description = ''
+          A list of extra command line arguments to pass to thinkfan.
+          Check the thinkfan(1) manpage for available arguments.
+        '';
+      };
+
+      settings = mkOption {
+        type = types.attrsOf settingsFormat.type;
+        default = { };
+        description = ''
+          Thinkfan settings. Use this option to configure thinkfan
+          settings not exposed in a NixOS option or to bypass one.
+          Before changing this, read the <literal>thinkfan.conf(5)</literal>
+          manpage and take a look at the example config file at
+          <link xlink:href="https://github.com/vmatare/thinkfan/blob/master/examples/thinkfan.yaml"/>
+        '';
+      };
 
     };
 
@@ -138,12 +201,21 @@ in {
 
     environment.systemPackages = [ thinkfan ];
 
-    systemd.services.thinkfan = {
-      description = "Thinkfan";
-      after = [ "basic.target" ];
-      wantedBy = [ "multi-user.target" ];
-      path = [ thinkfan ];
-      serviceConfig.ExecStart = "${thinkfan}/bin/thinkfan -n -c ${configFile}";
+    services.thinkfan.settings = mapAttrs (k: v: mkDefault v) {
+      sensors = map sensorToConf cfg.sensors;
+      fans    = map sensorToConf cfg.fans;
+      levels  = cfg.levels;
+    };
+
+    systemd.packages = [ thinkfan ];
+
+    systemd.services = {
+      thinkfan.environment.THINKFAN_ARGS = escapeShellArgs ([ "-c" configFile ] ++ cfg.extraArgs);
+
+      # must be added manually, see issue #81138
+      thinkfan.wantedBy = [ "multi-user.target" ];
+      thinkfan-wakeup.wantedBy = [ "sleep.target" ];
+      thinkfan-sleep.wantedBy = [ "sleep.target" ];
     };
 
     boot.extraModprobeConfig = "options thinkpad_acpi experimental=1 fan_control=1";
diff --git a/nixos/modules/services/hardware/trezord.nix b/nixos/modules/services/hardware/trezord.nix
index 8c609bbf825b6..a65d4250c2e54 100644
--- a/nixos/modules/services/hardware/trezord.nix
+++ b/nixos/modules/services/hardware/trezord.nix
@@ -48,7 +48,7 @@ in {
 
     systemd.services.trezord = {
       description = "Trezor Bridge";
-      after = [ "systemd-udev-settle.service" "network.target" ];
+      after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
       path = [];
       serviceConfig = {
diff --git a/nixos/modules/services/hardware/udev.nix b/nixos/modules/services/hardware/udev.nix
index 63027f7744dc9..d48b5444677c1 100644
--- a/nixos/modules/services/hardware/udev.nix
+++ b/nixos/modules/services/hardware/udev.nix
@@ -202,13 +202,27 @@ in
         '';
       };
 
-      extraRules = mkOption {
+      initrdRules = mkOption {
         default = "";
         example = ''
           SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1D:60:B9:6D:4F", KERNEL=="eth*", NAME="my_fast_network_card"
         '';
         type = types.lines;
         description = ''
+          <command>udev</command> rules to include in the initrd
+          <emphasis>only</emphasis>. They'll be written into file
+          <filename>99-local.rules</filename>. Thus they are read and applied
+          after the essential initrd rules.
+        '';
+      };
+
+      extraRules = mkOption {
+        default = "";
+        example = ''
+          ENV{ID_VENDOR_ID}=="046d", ENV{ID_MODEL_ID}=="0825", ENV{PULSE_IGNORE}="1"
+        '';
+        type = types.lines;
+        description = ''
           Additional <command>udev</command> rules. They'll be written
           into file <filename>99-local.rules</filename>. Thus they are
           read and applied after all other rules.
@@ -284,6 +298,13 @@ in
 
     boot.kernelParams = mkIf (!config.networking.usePredictableInterfaceNames) [ "net.ifnames=0" ];
 
+    boot.initrd.extraUdevRulesCommands = optionalString (cfg.initrdRules != "")
+      ''
+        cat <<'EOF' > $out/99-local.rules
+        ${cfg.initrdRules}
+        EOF
+      '';
+
     environment.etc =
       {
         "udev/rules.d".source = udevRules;
diff --git a/nixos/modules/services/hardware/xow.nix b/nixos/modules/services/hardware/xow.nix
index a18d60ad83bec..311181176bd83 100644
--- a/nixos/modules/services/hardware/xow.nix
+++ b/nixos/modules/services/hardware/xow.nix
@@ -10,7 +10,10 @@ in {
   config = lib.mkIf cfg.enable {
     hardware.uinput.enable = true;
 
+    boot.extraModprobeConfig = lib.readFile "${pkgs.xow}/lib/modprobe.d/xow-blacklist.conf";
+
     systemd.packages = [ pkgs.xow ];
+    systemd.services.xow.wantedBy = [ "multi-user.target" ];
 
     services.udev.packages = [ pkgs.xow ];
   };
diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix
index 03e7e40e388e1..a2298152b023f 100644
--- a/nixos/modules/services/mail/dovecot.nix
+++ b/nixos/modules/services/mail/dovecot.nix
@@ -463,7 +463,7 @@ in
     environment.systemPackages = [ dovecotPkg ];
 
     warnings = mkIf (any isList options.services.dovecot2.mailboxes.definitions) [
-      "Declaring `services.dovecot2.mailboxes' as a list is deprecated and will break eval in 21.03! See the release notes for more info for migration."
+      "Declaring `services.dovecot2.mailboxes' as a list is deprecated and will break eval in 21.05! See the release notes for more info for migration."
     ];
 
     assertions = [
diff --git a/nixos/modules/services/mail/mlmmj.nix b/nixos/modules/services/mail/mlmmj.nix
index d58d93c4214c1..fd74f2dc5f07f 100644
--- a/nixos/modules/services/mail/mlmmj.nix
+++ b/nixos/modules/services/mail/mlmmj.nix
@@ -16,7 +16,14 @@ let
   alias = domain: list: "${list}: \"|${pkgs.mlmmj}/bin/mlmmj-receive -L ${listDir domain list}/\"";
   subjectPrefix = list: "[${list}]";
   listAddress = domain: list: "${list}@${domain}";
-  customHeaders = domain: list: [ "List-Id: ${list}" "Reply-To: ${list}@${domain}" ];
+  customHeaders = domain: list: [
+    "List-Id: ${list}"
+    "Reply-To: ${list}@${domain}"
+    "List-Post: <mailto:${list}@${domain}>"
+    "List-Help: <mailto:${list}+help@${domain}>"
+    "List-Subscribe: <mailto:${list}+subscribe@${domain}>"
+    "List-Unsubscribe: <mailto:${list}+unsubscribe@${domain}>"
+  ];
   footer = domain: list: "To unsubscribe send a mail to ${list}+unsubscribe@${domain}";
   createList = d: l:
     let ctlDir = listCtl d l; in
@@ -110,17 +117,29 @@ in
     services.postfix = {
       enable = true;
       recipientDelimiter= "+";
-      extraMasterConf = ''
-        mlmmj unix - n n - - pipe flags=ORhu user=mlmmj argv=${pkgs.mlmmj}/bin/mlmmj-receive -F -L ${spoolDir}/$nexthop
-      '';
+      masterConfig.mlmmj = {
+        type = "unix";
+        private = true;
+        privileged = true;
+        chroot = false;
+        wakeup = 0;
+        command = "pipe";
+        args = [
+          "flags=ORhu"
+          "user=mlmmj"
+          "argv=${pkgs.mlmmj}/bin/mlmmj-receive"
+          "-F"
+          "-L"
+          "${spoolDir}/$nexthop"
+        ];
+      };
 
       extraAliases = concatMapLines (alias cfg.listDomain) cfg.mailLists;
 
-      extraConfig = ''
-        transport_maps = hash:${stateDir}/transports
-        virtual_alias_maps = hash:${stateDir}/virtuals
-        propagate_unmatched_extensions = virtual
-      '';
+      extraConfig = "propagate_unmatched_extensions = virtual";
+
+      virtual = concatMapLines (virtual cfg.listDomain) cfg.mailLists;
+      transport = concatMapLines (transport cfg.listDomain) cfg.mailLists;
     };
 
     environment.systemPackages = [ pkgs.mlmmj ];
@@ -129,10 +148,8 @@ in
           ${pkgs.coreutils}/bin/mkdir -p ${stateDir} ${spoolDir}/${cfg.listDomain}
           ${pkgs.coreutils}/bin/chown -R ${cfg.user}:${cfg.group} ${spoolDir}
           ${concatMapLines (createList cfg.listDomain) cfg.mailLists}
-          echo "${concatMapLines (virtual cfg.listDomain) cfg.mailLists}" > ${stateDir}/virtuals
-          echo "${concatMapLines (transport cfg.listDomain) cfg.mailLists}" > ${stateDir}/transports
-          ${pkgs.postfix}/bin/postmap ${stateDir}/virtuals
-          ${pkgs.postfix}/bin/postmap ${stateDir}/transports
+          ${pkgs.postfix}/bin/postmap /etc/postfix/virtual
+          ${pkgs.postfix}/bin/postmap /etc/postfix/transport
       '';
 
     systemd.services.mlmmj-maintd = {
diff --git a/nixos/modules/services/misc/defaultUnicornConfig.rb b/nixos/modules/services/misc/defaultUnicornConfig.rb
deleted file mode 100644
index 0b58c59c7a513..0000000000000
--- a/nixos/modules/services/misc/defaultUnicornConfig.rb
+++ /dev/null
@@ -1,69 +0,0 @@
-worker_processes 3
-
-listen ENV["UNICORN_PATH"] + "/tmp/sockets/gitlab.socket", :backlog => 1024
-listen "/run/gitlab/gitlab.socket", :backlog => 1024
-
-working_directory ENV["GITLAB_PATH"]
-
-pid ENV["UNICORN_PATH"] + "/tmp/pids/unicorn.pid"
-
-timeout 60
-
-# combine Ruby 2.0.0dev or REE with "preload_app true" for memory savings
-# http://rubyenterpriseedition.com/faq.html#adapt_apps_for_cow
-preload_app true
-GC.respond_to?(:copy_on_write_friendly=) and
-  GC.copy_on_write_friendly = true
-
-check_client_connection false
-
-before_fork do |server, worker|
-  # the following is highly recommended for Rails + "preload_app true"
-  # as there's no need for the master process to hold a connection
-  defined?(ActiveRecord::Base) and
-    ActiveRecord::Base.connection.disconnect!
-
-  # The following is only recommended for memory/DB-constrained
-  # installations.  It is not needed if your system can house
-  # twice as many worker_processes as you have configured.
-  #
-  # This allows a new master process to incrementally
-  # phase out the old master process with SIGTTOU to avoid a
-  # thundering herd (especially in the "preload_app false" case)
-  # when doing a transparent upgrade.  The last worker spawned
-  # will then kill off the old master process with a SIGQUIT.
-  old_pid = "#{server.config[:pid]}.oldbin"
-  if old_pid != server.pid
-    begin
-      sig = (worker.nr + 1) >= server.worker_processes ? :QUIT : :TTOU
-      Process.kill(sig, File.read(old_pid).to_i)
-    rescue Errno::ENOENT, Errno::ESRCH
-    end
-  end
-
-  # Throttle the master from forking too quickly by sleeping.  Due
-  # to the implementation of standard Unix signal handlers, this
-  # helps (but does not completely) prevent identical, repeated signals
-  # from being lost when the receiving process is busy.
-  # sleep 1
-end
-
-after_fork do |server, worker|
-  # per-process listener ports for debugging/admin/migrations
-  # addr = "127.0.0.1:#{9293 + worker.nr}"
-  # server.listen(addr, :tries => -1, :delay => 5, :tcp_nopush => true)
-
-  # the following is *required* for Rails + "preload_app true",
-  defined?(ActiveRecord::Base) and
-    ActiveRecord::Base.establish_connection
-
-  # reset prometheus client, this will cause any opened metrics files to be closed
-  defined?(::Prometheus::Client.reinitialize_on_pid_change) &&
-    Prometheus::Client.reinitialize_on_pid_change
-
-  # if preload_app is true, then you may also want to check and
-  # restart any other shared sockets/descriptors such as Memcached,
-  # and Redis.  TokyoCabinet file handles are safe to reuse
-  # between any number of forked children (assuming your kernel
-  # correctly implements pread()/pwrite() system calls)
-end
diff --git a/nixos/modules/services/misc/etebase-server.nix b/nixos/modules/services/misc/etebase-server.nix
new file mode 100644
index 0000000000000..d9d12698d79dc
--- /dev/null
+++ b/nixos/modules/services/misc/etebase-server.nix
@@ -0,0 +1,205 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.services.etebase-server;
+
+  pythonEnv = pkgs.python3.withPackages (ps: with ps;
+    [ etebase-server daphne ]);
+
+  dbConfig = {
+    sqlite3 = ''
+      engine = django.db.backends.sqlite3
+      name = ${cfg.dataDir}/db.sqlite3
+    '';
+  };
+
+  defaultConfigIni = toString (pkgs.writeText "etebase-server.ini" ''
+    [global]
+    debug = false
+    secret_file = ${if cfg.secretFile != null then cfg.secretFile else ""}
+    media_root = ${cfg.dataDir}/media
+
+    [allowed_hosts]
+    allowed_host1 = ${cfg.host}
+
+    [database]
+    ${dbConfig."${cfg.database.type}"}
+  '');
+
+  configIni = if cfg.customIni != null then cfg.customIni else defaultConfigIni;
+
+  defaultUser = "etebase-server";
+in
+{
+  options = {
+    services.etebase-server = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        example = true;
+        description = ''
+          Whether to enable the Etebase server.
+
+          Once enabled you need to create an admin user using the
+          shell command <literal>etebase-server createsuperuser</literal>.
+          Then you can login and create accounts on your-etebase-server.com/admin
+        '';
+      };
+
+      secretFile = mkOption {
+        default = null;
+        type = with types; nullOr str;
+        description = ''
+          The path to a file containing the secret
+          used as django's SECRET_KEY.
+        '';
+      };
+
+      dataDir = mkOption {
+        type = types.str;
+        default = "/var/lib/etebase-server";
+        description = "Directory to store the Etebase server data.";
+      };
+
+      port = mkOption {
+        type = with types; nullOr port;
+        default = 8001;
+        description = "Port to listen on.";
+      };
+
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to open ports in the firewall for the server.
+        '';
+      };
+
+      host = mkOption {
+        type = types.str;
+        default = "0.0.0.0";
+        example = "localhost";
+        description = ''
+          Host to listen on.
+        '';
+      };
+
+      unixSocket = mkOption {
+        type = with types; nullOr str;
+        default = null;
+        description = "The path to the socket to bind to.";
+        example = "/run/etebase-server/etebase-server.sock";
+      };
+
+      database = {
+        type = mkOption {
+          type = types.enum [ "sqlite3" ];
+          default = "sqlite3";
+          description = ''
+            Database engine to use.
+            Currently only sqlite3 is supported.
+            Other options can be configured using <literal>extraConfig</literal>.
+          '';
+        };
+      };
+
+      customIni = mkOption {
+        type = with types; nullOr str;
+        default = null;
+        description = ''
+          Custom etebase-server.ini.
+
+          See <literal>etebase-src/etebase-server.ini.example</literal> for available options.
+
+          Setting this option overrides the default config which is generated from the options
+          <literal>secretFile</literal>, <literal>host</literal> and <literal>database</literal>.
+        '';
+        example = literalExample ''
+          [global]
+          debug = false
+          secret_file = /path/to/secret
+          media_root = /path/to/media
+
+          [allowed_hosts]
+          allowed_host1 = example.com
+
+          [database]
+          engine = django.db.backends.sqlite3
+          name = db.sqlite3
+        '';
+      };
+
+      user = mkOption {
+        type = types.str;
+        default = defaultUser;
+        description = "User under which Etebase server runs.";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    environment.systemPackages = with pkgs; [
+      (runCommand "etebase-server" {
+        buildInputs = [ makeWrapper ];
+      } ''
+        makeWrapper ${pythonEnv}/bin/etebase-server \
+          $out/bin/etebase-server \
+          --run "cd ${cfg.dataDir}" \
+          --prefix ETEBASE_EASY_CONFIG_PATH : "${configIni}"
+      '')
+    ];
+
+    systemd.tmpfiles.rules = [
+      "d '${cfg.dataDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -"
+    ];
+
+    systemd.services.etebase-server = {
+      description = "An Etebase (EteSync 2.0) server";
+      after = [ "network.target" "systemd-tmpfiles-setup.service" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        User = cfg.user;
+        Restart = "always";
+        WorkingDirectory = cfg.dataDir;
+      };
+      environment = {
+        PYTHONPATH="${pythonEnv}/${pkgs.python3.sitePackages}";
+        ETEBASE_EASY_CONFIG_PATH="${configIni}";
+      };
+      preStart = ''
+        # Auto-migrate on first run or if the package has changed
+        versionFile="${cfg.dataDir}/src-version"
+        if [[ $(cat "$versionFile" 2>/dev/null) != ${pkgs.etebase-server} ]]; then
+          ${pythonEnv}/bin/etebase-server migrate
+          echo ${pkgs.etebase-server} > "$versionFile"
+        fi
+      '';
+      script =
+        let
+          networking = if cfg.unixSocket != null
+          then "-u ${cfg.unixSocket}"
+          else "-b 0.0.0.0 -p ${toString cfg.port}";
+        in ''
+          cd "${pythonEnv}/lib/etebase-server";
+          ${pythonEnv}/bin/daphne ${networking} \
+            etebase_server.asgi:application
+        '';
+    };
+
+    users = optionalAttrs (cfg.user == defaultUser) {
+      users.${defaultUser} = {
+        group = defaultUser;
+        home = cfg.dataDir;
+      };
+
+      groups.${defaultUser} = {};
+    };
+
+    networking.firewall = mkIf cfg.openFirewall {
+      allowedTCPPorts = [ cfg.port ];
+    };
+  };
+}
diff --git a/nixos/modules/services/misc/etesync-dav.nix b/nixos/modules/services/misc/etesync-dav.nix
new file mode 100644
index 0000000000000..9d7cfda371b13
--- /dev/null
+++ b/nixos/modules/services/misc/etesync-dav.nix
@@ -0,0 +1,92 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.etesync-dav;
+in
+  {
+    options.services.etesync-dav = {
+      enable = mkEnableOption "etesync-dav";
+
+      host = mkOption {
+        type = types.str;
+        default = "localhost";
+        description = "The server host address.";
+      };
+
+      port = mkOption {
+        type = types.port;
+        default = 37358;
+        description = "The server host port.";
+      };
+
+      apiUrl = mkOption {
+        type = types.str;
+        default = "https://api.etesync.com/";
+        description = "The url to the etesync API.";
+      };
+
+      openFirewall = mkOption {
+        default = false;
+        type = types.bool;
+        description = "Whether to open the firewall for the specified port.";
+      };
+
+      sslCertificate = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        example = "/var/etesync.crt";
+        description = ''
+          Path to server SSL certificate. It will be copied into
+          etesync-dav's data directory.
+        '';
+      };
+
+      sslCertificateKey = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        example = "/var/etesync.key";
+        description = ''
+          Path to server SSL certificate key.  It will be copied into
+          etesync-dav's data directory.
+        '';
+      };
+    };
+
+    config = mkIf cfg.enable {
+      networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.port ];
+
+      systemd.services.etesync-dav = {
+        description = "etesync-dav - A CalDAV and CardDAV adapter for EteSync";
+        after = [ "network-online.target" ];
+        wantedBy = [ "multi-user.target" ];
+        path = [ pkgs.etesync-dav ];
+        environment = {
+          ETESYNC_LISTEN_ADDRESS = cfg.host;
+          ETESYNC_LISTEN_PORT = toString cfg.port;
+          ETESYNC_URL = cfg.apiUrl;
+          ETESYNC_DATA_DIR = "/var/lib/etesync-dav";
+        };
+
+        serviceConfig = {
+          Type = "simple";
+          DynamicUser = true;
+          StateDirectory = "etesync-dav";
+          ExecStart = "${pkgs.etesync-dav}/bin/etesync-dav";
+          ExecStartPre = mkIf (cfg.sslCertificate != null || cfg.sslCertificateKey != null) (
+            pkgs.writers.writeBash "etesync-dav-copy-keys" ''
+              ${optionalString (cfg.sslCertificate != null) ''
+                cp ${toString cfg.sslCertificate} $STATE_DIRECTORY/etesync.crt
+              ''}
+              ${optionalString (cfg.sslCertificateKey != null) ''
+                cp ${toString cfg.sslCertificateKey} $STATE_DIRECTORY/etesync.key
+              ''}
+            ''
+          );
+          Restart = "on-failure";
+          RestartSec = "30min 1s";
+        };
+      };
+    };
+  }
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index de4d1bf1987a1..1d45af36349c8 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -142,7 +142,7 @@ let
 
   gitlabEnv = {
     HOME = "${cfg.statePath}/home";
-    UNICORN_PATH = "${cfg.statePath}/";
+    PUMA_PATH = "${cfg.statePath}/";
     GITLAB_PATH = "${cfg.packages.gitlab}/share/gitlab/";
     SCHEMA = "${cfg.statePath}/db/structure.sql";
     GITLAB_UPLOADS_PATH = "${cfg.statePath}/uploads";
@@ -424,7 +424,7 @@ in {
 
         port = mkOption {
           type = types.int;
-          default = 465;
+          default = 25;
           description = "Port of the SMTP server for Gitlab.";
         };
 
@@ -454,7 +454,7 @@ in {
         authentication = mkOption {
           type = with types; nullOr str;
           default = null;
-          description = "Authentitcation type to use, see http://api.rubyonrails.org/classes/ActionMailer/Base.html";
+          description = "Authentication type to use, see http://api.rubyonrails.org/classes/ActionMailer/Base.html";
         };
 
         enableStartTLSAuto = mkOption {
@@ -641,6 +641,11 @@ in {
 
     environment.systemPackages = [ pkgs.git gitlab-rake gitlab-rails cfg.packages.gitlab-shell ];
 
+    systemd.targets.gitlab = {
+      description = "Common target for all GitLab services.";
+      wantedBy = [ "multi-user.target" ];
+    };
+
     # Redis is required for the sidekiq queue runner.
     services.redis.enable = mkDefault true;
 
@@ -655,36 +660,45 @@ in {
     # here.
     systemd.services.gitlab-postgresql = let pgsql = config.services.postgresql; in mkIf databaseActuallyCreateLocally {
       after = [ "postgresql.service" ];
-      wantedBy = [ "multi-user.target" ];
-      path = [ pgsql.package ];
+      bindsTo = [ "postgresql.service" ];
+      wantedBy = [ "gitlab.target" ];
+      partOf = [ "gitlab.target" ];
+      path = [
+        pgsql.package
+        pkgs.util-linux
+      ];
       script = ''
         set -eu
 
-        PSQL="${pkgs.util-linux}/bin/runuser -u ${pgsql.superUser} -- psql --port=${toString pgsql.port}"
+        PSQL() {
+            psql --port=${toString pgsql.port} "$@"
+        }
 
-        $PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${cfg.databaseName}'" | grep -q 1 || $PSQL -tAc 'CREATE DATABASE "${cfg.databaseName}" OWNER "${cfg.databaseUsername}"'
-        current_owner=$($PSQL -tAc "SELECT pg_catalog.pg_get_userbyid(datdba) FROM pg_catalog.pg_database WHERE datname = '${cfg.databaseName}'")
+        PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${cfg.databaseName}'" | grep -q 1 || PSQL -tAc 'CREATE DATABASE "${cfg.databaseName}" OWNER "${cfg.databaseUsername}"'
+        current_owner=$(PSQL -tAc "SELECT pg_catalog.pg_get_userbyid(datdba) FROM pg_catalog.pg_database WHERE datname = '${cfg.databaseName}'")
         if [[ "$current_owner" != "${cfg.databaseUsername}" ]]; then
-            $PSQL -tAc 'ALTER DATABASE "${cfg.databaseName}" OWNER TO "${cfg.databaseUsername}"'
+            PSQL -tAc 'ALTER DATABASE "${cfg.databaseName}" OWNER TO "${cfg.databaseUsername}"'
             if [[ -e "${config.services.postgresql.dataDir}/.reassigning_${cfg.databaseName}" ]]; then
                 echo "Reassigning ownership of database ${cfg.databaseName} to user ${cfg.databaseUsername} failed on last boot. Failing..."
                 exit 1
             fi
             touch "${config.services.postgresql.dataDir}/.reassigning_${cfg.databaseName}"
-            $PSQL "${cfg.databaseName}" -tAc "REASSIGN OWNED BY \"$current_owner\" TO \"${cfg.databaseUsername}\""
+            PSQL "${cfg.databaseName}" -tAc "REASSIGN OWNED BY \"$current_owner\" TO \"${cfg.databaseUsername}\""
             rm "${config.services.postgresql.dataDir}/.reassigning_${cfg.databaseName}"
         fi
-        $PSQL '${cfg.databaseName}' -tAc "CREATE EXTENSION IF NOT EXISTS pg_trgm"
-        $PSQL '${cfg.databaseName}' -tAc "CREATE EXTENSION IF NOT EXISTS btree_gist;"
+        PSQL '${cfg.databaseName}' -tAc "CREATE EXTENSION IF NOT EXISTS pg_trgm"
+        PSQL '${cfg.databaseName}' -tAc "CREATE EXTENSION IF NOT EXISTS btree_gist;"
       '';
 
       serviceConfig = {
+        User = pgsql.superUser;
         Type = "oneshot";
+        RemainAfterExit = true;
       };
     };
 
     # Use postfix to send out mails.
-    services.postfix.enable = mkDefault true;
+    services.postfix.enable = mkDefault (cfg.smtp.enable && cfg.smtp.address == "localhost");
 
     users.users.${cfg.user} =
       { group = cfg.group;
@@ -703,7 +717,6 @@ in {
       "d ${cfg.statePath} 0750 ${cfg.user} ${cfg.group} -"
       "d ${cfg.statePath}/builds 0750 ${cfg.user} ${cfg.group} -"
       "d ${cfg.statePath}/config 0750 ${cfg.user} ${cfg.group} -"
-      "d ${cfg.statePath}/config/initializers 0750 ${cfg.user} ${cfg.group} -"
       "d ${cfg.statePath}/db 0750 ${cfg.user} ${cfg.group} -"
       "d ${cfg.statePath}/log 0750 ${cfg.user} ${cfg.group} -"
       "d ${cfg.statePath}/repositories 2770 ${cfg.user} ${cfg.group} -"
@@ -726,13 +739,156 @@ in {
       "L+ /run/gitlab/uploads - - - - ${cfg.statePath}/uploads"
 
       "L+ /run/gitlab/shell-config.yml - - - - ${pkgs.writeText "config.yml" (builtins.toJSON gitlabShellConfig)}"
-
-      "L+ ${cfg.statePath}/config/unicorn.rb - - - - ${./defaultUnicornConfig.rb}"
     ];
 
+
+    systemd.services.gitlab-config = {
+      wantedBy = [ "gitlab.target" ];
+      partOf = [ "gitlab.target" ];
+      path = with pkgs; [
+        jq
+        openssl
+        replace
+        git
+      ];
+      serviceConfig = {
+        Type = "oneshot";
+        User = cfg.user;
+        Group = cfg.group;
+        TimeoutSec = "infinity";
+        Restart = "on-failure";
+        WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
+        RemainAfterExit = true;
+
+        ExecStartPre = let
+          preStartFullPrivileges = ''
+            shopt -s dotglob nullglob
+            set -eu
+
+            chown --no-dereference '${cfg.user}':'${cfg.group}' '${cfg.statePath}'/*
+            if [[ -n "$(ls -A '${cfg.statePath}'/config/)" ]]; then
+              chown --no-dereference '${cfg.user}':'${cfg.group}' '${cfg.statePath}'/config/*
+            fi
+          '';
+        in "+${pkgs.writeShellScript "gitlab-pre-start-full-privileges" preStartFullPrivileges}";
+
+        ExecStart = pkgs.writeShellScript "gitlab-config" ''
+          set -eu
+
+          umask u=rwx,g=rx,o=
+
+          cp -f ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION
+          rm -rf ${cfg.statePath}/db/*
+          rm -f ${cfg.statePath}/lib
+          find '${cfg.statePath}/config/' -maxdepth 1 -mindepth 1 -type d -execdir rm -rf {} \;
+          cp -rf --no-preserve=mode ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config
+          cp -rf --no-preserve=mode ${cfg.packages.gitlab}/share/gitlab/db/* ${cfg.statePath}/db
+          ln -sf ${extraGitlabRb} ${cfg.statePath}/config/initializers/extra-gitlab.rb
+
+          ${cfg.packages.gitlab-shell}/bin/install
+
+          ${optionalString cfg.smtp.enable ''
+              install -m u=rw ${smtpSettings} ${cfg.statePath}/config/initializers/smtp_settings.rb
+              ${optionalString (cfg.smtp.passwordFile != null) ''
+                  smtp_password=$(<'${cfg.smtp.passwordFile}')
+                  replace-literal -e '@smtpPassword@' "$smtp_password" '${cfg.statePath}/config/initializers/smtp_settings.rb'
+              ''}
+          ''}
+
+          (
+            umask u=rwx,g=,o=
+
+            openssl rand -hex 32 > ${cfg.statePath}/gitlab_shell_secret
+
+            rm -f '${cfg.statePath}/config/database.yml'
+
+            ${if cfg.databasePasswordFile != null then ''
+                export db_password="$(<'${cfg.databasePasswordFile}')"
+
+                if [[ -z "$db_password" ]]; then
+                  >&2 echo "Database password was an empty string!"
+                  exit 1
+                fi
+
+                jq <${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} \
+                   '.production.password = $ENV.db_password' \
+                   >'${cfg.statePath}/config/database.yml'
+              ''
+              else ''
+                jq <${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} \
+                   >'${cfg.statePath}/config/database.yml'
+              ''
+            }
+
+            ${utils.genJqSecretsReplacementSnippet
+                gitlabConfig
+                "${cfg.statePath}/config/gitlab.yml"
+            }
+
+            rm -f '${cfg.statePath}/config/secrets.yml'
+
+            export secret="$(<'${cfg.secrets.secretFile}')"
+            export db="$(<'${cfg.secrets.dbFile}')"
+            export otp="$(<'${cfg.secrets.otpFile}')"
+            export jws="$(<'${cfg.secrets.jwsFile}')"
+            jq -n '{production: {secret_key_base: $ENV.secret,
+                    otp_key_base: $ENV.otp,
+                    db_key_base: $ENV.db,
+                    openid_connect_signing_key: $ENV.jws}}' \
+               > '${cfg.statePath}/config/secrets.yml'
+          )
+
+          # We remove potentially broken links to old gitlab-shell versions
+          rm -Rf ${cfg.statePath}/repositories/**/*.git/hooks
+
+          git config --global core.autocrlf "input"
+        '';
+      };
+    };
+
+    systemd.services.gitlab-db-config = {
+      after = [ "gitlab-config.service" "gitlab-postgresql.service" "postgresql.service" ];
+      bindsTo = [
+        "gitlab-config.service"
+      ] ++ optional (cfg.databaseHost == "") "postgresql.service"
+        ++ optional databaseActuallyCreateLocally "gitlab-postgresql.service";
+      wantedBy = [ "gitlab.target" ];
+      partOf = [ "gitlab.target" ];
+      serviceConfig = {
+        Type = "oneshot";
+        User = cfg.user;
+        Group = cfg.group;
+        TimeoutSec = "infinity";
+        Restart = "on-failure";
+        WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
+        RemainAfterExit = true;
+
+        ExecStart = pkgs.writeShellScript "gitlab-db-config" ''
+          set -eu
+          umask u=rwx,g=rx,o=
+
+          initial_root_password="$(<'${cfg.initialRootPasswordFile}')"
+          ${gitlab-rake}/bin/gitlab-rake gitlab:db:configure GITLAB_ROOT_PASSWORD="$initial_root_password" \
+                                                             GITLAB_ROOT_EMAIL='${cfg.initialRootEmail}' > /dev/null
+        '';
+      };
+    };
+
     systemd.services.gitlab-sidekiq = {
-      after = [ "network.target" "redis.service" "gitlab.service" ];
-      wantedBy = [ "multi-user.target" ];
+      after = [
+        "network.target"
+        "redis.service"
+        "postgresql.service"
+        "gitlab-config.service"
+        "gitlab-db-config.service"
+      ];
+      bindsTo = [
+        "redis.service"
+        "gitlab-config.service"
+        "gitlab-db-config.service"
+      ] ++ optional (cfg.databaseHost == "") "postgresql.service";
+      wantedBy = [ "gitlab.target" ];
+      partOf = [ "gitlab.target" ];
       environment = gitlabEnv;
       path = with pkgs; [
         postgresqlPackage
@@ -758,9 +914,10 @@ in {
     };
 
     systemd.services.gitaly = {
-      after = [ "network.target" "gitlab.service" ];
-      bindsTo = [ "gitlab.service" ];
-      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" "gitlab-config.service" ];
+      bindsTo = [ "gitlab-config.service" ];
+      wantedBy = [ "gitlab.target" ];
+      partOf = [ "gitlab.target" ];
       path = with pkgs; [
         openssh
         procps  # See https://gitlab.com/gitlab-org/gitaly/issues/1562
@@ -783,8 +940,10 @@ in {
 
     systemd.services.gitlab-pages = mkIf (gitlabConfig.production.pages.enabled or false) {
       description = "GitLab static pages daemon";
-      after = [ "network.target" "redis.service" "gitlab.service" ]; # gitlab.service creates configs
-      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" "gitlab-config.service" ];
+      bindsTo = [ "gitlab-config.service" ];
+      wantedBy = [ "gitlab.target" ];
+      partOf = [ "gitlab.target" ];
 
       path = [ pkgs.unzip ];
 
@@ -803,7 +962,8 @@ in {
 
     systemd.services.gitlab-workhorse = {
       after = [ "network.target" ];
-      wantedBy = [ "multi-user.target" ];
+      wantedBy = [ "gitlab.target" ];
+      partOf = [ "gitlab.target" ];
       path = with pkgs; [
         exiftool
         git
@@ -832,8 +992,10 @@ in {
 
     systemd.services.gitlab-mailroom = mkIf (gitlabConfig.production.incoming_email.enabled or false) {
       description = "GitLab incoming mail daemon";
-      after = [ "network.target" "redis.service" "gitlab.service" ]; # gitlab.service creates configs
-      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" "redis.service" "gitlab-config.service" ];
+      bindsTo = [ "gitlab-config.service" ];
+      wantedBy = [ "gitlab.target" ];
+      partOf = [ "gitlab.target" ];
       environment = gitlabEnv;
       serviceConfig = {
         Type = "simple";
@@ -842,15 +1004,26 @@ in {
 
         User = cfg.user;
         Group = cfg.group;
-        ExecStart = "${cfg.packages.gitlab.rubyEnv}/bin/bundle exec mail_room -c ${cfg.packages.gitlab}/share/gitlab/config.dist/mail_room.yml";
+        ExecStart = "${cfg.packages.gitlab.rubyEnv}/bin/bundle exec mail_room -c ${cfg.statePath}/config/mail_room.yml";
         WorkingDirectory = gitlabEnv.HOME;
       };
     };
 
     systemd.services.gitlab = {
-      after = [ "gitlab-workhorse.service" "network.target" "gitlab-postgresql.service" "redis.service" ];
-      requires = [ "gitlab-sidekiq.service" ];
-      wantedBy = [ "multi-user.target" ];
+      after = [
+        "gitlab-workhorse.service"
+        "network.target"
+        "redis.service"
+        "gitlab-config.service"
+        "gitlab-db-config.service"
+      ];
+      bindsTo = [
+        "redis.service"
+        "gitlab-config.service"
+        "gitlab-db-config.service"
+      ] ++ optional (cfg.databaseHost == "") "postgresql.service";
+      wantedBy = [ "gitlab.target" ];
+      partOf = [ "gitlab.target" ];
       environment = gitlabEnv;
       path = with pkgs; [
         postgresqlPackage
@@ -868,96 +1041,7 @@ in {
         TimeoutSec = "infinity";
         Restart = "on-failure";
         WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
-        ExecStartPre = let
-          preStartFullPrivileges = ''
-            shopt -s dotglob nullglob
-            set -eu
-
-            chown --no-dereference '${cfg.user}':'${cfg.group}' '${cfg.statePath}'/*
-            chown --no-dereference '${cfg.user}':'${cfg.group}' '${cfg.statePath}'/config/*
-          '';
-          preStart = ''
-            set -eu
-
-            cp -f ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION
-            rm -rf ${cfg.statePath}/db/*
-            rm -rf ${cfg.statePath}/config/initializers/*
-            rm -f ${cfg.statePath}/lib
-            cp -rf --no-preserve=mode ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config
-            cp -rf --no-preserve=mode ${cfg.packages.gitlab}/share/gitlab/db/* ${cfg.statePath}/db
-            ln -sf ${extraGitlabRb} ${cfg.statePath}/config/initializers/extra-gitlab.rb
-
-            ${cfg.packages.gitlab-shell}/bin/install
-
-            ${optionalString cfg.smtp.enable ''
-              install -m u=rw ${smtpSettings} ${cfg.statePath}/config/initializers/smtp_settings.rb
-              ${optionalString (cfg.smtp.passwordFile != null) ''
-                smtp_password=$(<'${cfg.smtp.passwordFile}')
-                ${pkgs.replace}/bin/replace-literal -e '@smtpPassword@' "$smtp_password" '${cfg.statePath}/config/initializers/smtp_settings.rb'
-              ''}
-            ''}
-
-            (
-              umask u=rwx,g=,o=
-
-              ${pkgs.openssl}/bin/openssl rand -hex 32 > ${cfg.statePath}/gitlab_shell_secret
-
-              if [[ -h '${cfg.statePath}/config/database.yml' ]]; then
-                rm '${cfg.statePath}/config/database.yml'
-              fi
-
-              ${if cfg.databasePasswordFile != null then ''
-                  export db_password="$(<'${cfg.databasePasswordFile}')"
-
-                  if [[ -z "$db_password" ]]; then
-                    >&2 echo "Database password was an empty string!"
-                    exit 1
-                  fi
-
-                  ${pkgs.jq}/bin/jq <${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} \
-                                    '.production.password = $ENV.db_password' \
-                                    >'${cfg.statePath}/config/database.yml'
-                ''
-                else ''
-                  ${pkgs.jq}/bin/jq <${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} \
-                                    >'${cfg.statePath}/config/database.yml'
-                ''
-              }
-
-              ${utils.genJqSecretsReplacementSnippet
-                  gitlabConfig
-                  "${cfg.statePath}/config/gitlab.yml"
-              }
-
-              if [[ -h '${cfg.statePath}/config/secrets.yml' ]]; then
-                rm '${cfg.statePath}/config/secrets.yml'
-              fi
-
-              export secret="$(<'${cfg.secrets.secretFile}')"
-              export db="$(<'${cfg.secrets.dbFile}')"
-              export otp="$(<'${cfg.secrets.otpFile}')"
-              export jws="$(<'${cfg.secrets.jwsFile}')"
-              ${pkgs.jq}/bin/jq -n '{production: {secret_key_base: $ENV.secret,
-                                                  otp_key_base: $ENV.otp,
-                                                  db_key_base: $ENV.db,
-                                                  openid_connect_signing_key: $ENV.jws}}' \
-                                > '${cfg.statePath}/config/secrets.yml'
-            )
-
-            initial_root_password="$(<'${cfg.initialRootPasswordFile}')"
-            ${gitlab-rake}/bin/gitlab-rake gitlab:db:configure GITLAB_ROOT_PASSWORD="$initial_root_password" \
-                                                               GITLAB_ROOT_EMAIL='${cfg.initialRootEmail}' > /dev/null
-
-            # We remove potentially broken links to old gitlab-shell versions
-            rm -Rf ${cfg.statePath}/repositories/**/*.git/hooks
-
-            ${pkgs.git}/bin/git config --global core.autocrlf "input"
-          '';
-        in [
-          "+${pkgs.writeShellScript "gitlab-pre-start-full-privileges" preStartFullPrivileges}"
-          "${pkgs.writeShellScript "gitlab-pre-start" preStart}"
-        ];
-        ExecStart = "${cfg.packages.gitlab.rubyEnv}/bin/unicorn -c ${cfg.statePath}/config/unicorn.rb -E production";
+        ExecStart = "${cfg.packages.gitlab.rubyEnv}/bin/puma -C ${cfg.statePath}/config/puma.rb -e production";
       };
 
     };
diff --git a/nixos/modules/services/misc/gollum.nix b/nixos/modules/services/misc/gollum.nix
index 0c9c7548305ba..4053afa69be56 100644
--- a/nixos/modules/services/misc/gollum.nix
+++ b/nixos/modules/services/misc/gollum.nix
@@ -115,4 +115,6 @@ in
       };
     };
   };
+
+  meta.maintainers = with lib.maintainers; [ erictapen ];
 }
diff --git a/nixos/modules/services/misc/nix-gc.nix b/nixos/modules/services/misc/nix-gc.nix
index 12bed05757ad5..a7a6a3b59644e 100644
--- a/nixos/modules/services/misc/nix-gc.nix
+++ b/nixos/modules/services/misc/nix-gc.nix
@@ -21,13 +21,45 @@ in
       };
 
       dates = mkOption {
+        type = types.str;
         default = "03:15";
+        example = "weekly";
+        description = ''
+          How often or when garbage collection is performed. For most desktop and server systems
+          a sufficient garbage collection is once a week.
+
+          The format is described in
+          <citerefentry><refentrytitle>systemd.time</refentrytitle>
+          <manvolnum>7</manvolnum></citerefentry>.
+        '';
+      };
+
+      randomizedDelaySec = mkOption {
+        default = "0";
         type = types.str;
+        example = "45min";
         description = ''
-          Specification (in the format described by
+          Add a randomized delay before each automatic upgrade.
+          The delay will be chosen between zero and this value.
+          This value must be a time span in the format specified by
           <citerefentry><refentrytitle>systemd.time</refentrytitle>
-          <manvolnum>7</manvolnum></citerefentry>) of the time at
-          which the garbage collector will run.
+          <manvolnum>7</manvolnum></citerefentry>
+        '';
+      };
+
+      persistent = mkOption {
+        default = true;
+        type = types.bool;
+        example = false;
+        description = ''
+          Takes a boolean argument. If true, the time when the service
+          unit was last triggered is stored on disk. When the timer is
+          activated, the service unit is triggered immediately if it
+          would have been triggered at least once during the time when
+          the timer was inactive. Such triggering is nonetheless
+          subject to the delay imposed by RandomizedDelaySec=. This is
+          useful to catch up on missed runs of the service when the
+          system was powered down.
         '';
       };
 
@@ -50,11 +82,18 @@ in
 
   config = {
 
-    systemd.services.nix-gc =
-      { description = "Nix Garbage Collector";
-        script = "exec ${config.nix.package.out}/bin/nix-collect-garbage ${cfg.options}";
-        startAt = optional cfg.automatic cfg.dates;
+    systemd.services.nix-gc = {
+      description = "Nix Garbage Collector";
+      script = "exec ${config.nix.package.out}/bin/nix-collect-garbage ${cfg.options}";
+      startAt = optional cfg.automatic cfg.dates;
+    };
+
+    systemd.timers.nix-gc = lib.mkIf cfg.automatic {
+      timerConfig = {
+        RandomizedDelaySec = cfg.randomizedDelaySec;
+        Persistent = cfg.persistent;
       };
+    };
 
   };
 
diff --git a/nixos/modules/services/misc/pykms.nix b/nixos/modules/services/misc/pykms.nix
index d6aeae48ccb62..2f752bcc7ed6b 100644
--- a/nixos/modules/services/misc/pykms.nix
+++ b/nixos/modules/services/misc/pykms.nix
@@ -1,12 +1,12 @@
 { config, lib, pkgs, ... }:
 
 with lib;
-
 let
   cfg = config.services.pykms;
   libDir = "/var/lib/pykms";
 
-in {
+in
+{
   meta.maintainers = with lib.maintainers; [ peterhoeg ];
 
   imports = [
@@ -46,14 +46,14 @@ in {
       };
 
       logLevel = mkOption {
-        type = types.enum [ "CRITICAL" "ERROR" "WARNING" "INFO" "DEBUG" "MINI" ];
+        type = types.enum [ "CRITICAL" "ERROR" "WARNING" "INFO" "DEBUG" "MININFO" ];
         default = "INFO";
         description = "How much to log";
       };
 
       extraArgs = mkOption {
         type = types.listOf types.str;
-        default = [];
+        default = [ ];
         description = "Additional arguments";
       };
     };
@@ -74,8 +74,9 @@ in {
         ExecStartPre = "${getBin pykms}/libexec/create_pykms_db.sh ${libDir}/clients.db";
         ExecStart = lib.concatStringsSep " " ([
           "${getBin pykms}/bin/server"
-          "--logfile STDOUT"
-          "--loglevel ${cfg.logLevel}"
+          "--logfile=STDOUT"
+          "--loglevel=${cfg.logLevel}"
+          "--sqlite=${libDir}/clients.db"
         ] ++ cfg.extraArgs ++ [
           cfg.listenAddress
           (toString cfg.port)
diff --git a/nixos/modules/services/misc/synergy.nix b/nixos/modules/services/misc/synergy.nix
index 5b7cf3ac46c3c..7990a9f6f4cec 100644
--- a/nixos/modules/services/misc/synergy.nix
+++ b/nixos/modules/services/misc/synergy.nix
@@ -23,12 +23,14 @@ in
 
         screenName = mkOption {
           default = "";
+          type = types.str;
           description = ''
             Use the given name instead of the hostname to identify
             ourselves to the server.
           '';
         };
         serverAddress = mkOption {
+          type = types.str;
           description = ''
             The server address is of the form: [hostname][:port].  The
             hostname must be the address or hostname of the server.  The
@@ -46,10 +48,12 @@ in
         enable = mkEnableOption "the Synergy server (send keyboard and mouse events)";
 
         configFile = mkOption {
+          type = types.path;
           default = "/etc/synergy-server.conf";
           description = "The Synergy server configuration file.";
         };
         screenName = mkOption {
+          type = types.str;
           default = "";
           description = ''
             Use the given name instead of the hostname to identify
@@ -57,6 +61,7 @@ in
           '';
         };
         address = mkOption {
+          type = types.str;
           default = "";
           description = "Address on which to listen for clients.";
         };
diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix
index 9103a6f932dbb..bd74e1a9cdb54 100644
--- a/nixos/modules/services/monitoring/prometheus/default.nix
+++ b/nixos/modules/services/monitoring/prometheus/default.nix
@@ -468,7 +468,7 @@ let
         '';
       };
 
-      value = mkOption {
+      values = mkOption {
         type = types.listOf types.str;
         default = [];
         description = ''
diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix
index 1fd85c66f843d..940f281893710 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters.nix
@@ -56,6 +56,7 @@ let
     "unifi-poller"
     "varnish"
     "wireguard"
+    "flow"
   ] (name:
     import (./. + "/exporters/${name}.nix") { inherit config lib pkgs options; }
   );
@@ -238,9 +239,6 @@ in
     services.prometheus.exporters.minio.minioAccessSecret = mkDefault config.services.minio.secretKey;
   })] ++ [(mkIf config.services.prometheus.exporters.rtl_433.enable {
     hardware.rtl-sdr.enable = mkDefault true;
-  })] ++ [(mkIf config.services.nginx.enable {
-    systemd.services.prometheus-nginx-exporter.after = [ "nginx.service" ];
-    systemd.services.prometheus-nginx-exporter.requires = [ "nginx.service" ];
   })] ++ [(mkIf config.services.postfix.enable {
     services.prometheus.exporters.postfix.group = mkDefault config.services.postfix.setgidGroup;
   })] ++ (mapAttrsToList (name: conf:
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/flow.nix b/nixos/modules/services/monitoring/prometheus/exporters/flow.nix
new file mode 100644
index 0000000000000..6a35f46308fe9
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/exporters/flow.nix
@@ -0,0 +1,50 @@
+{ config, lib, pkgs, options }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.exporters.flow;
+in {
+  port = 9590;
+  extraOpts = {
+    brokers = mkOption {
+      type = types.listOf types.str;
+      example = literalExample ''[ "kafka.example.org:19092" ]'';
+      description = "List of Kafka brokers to connect to.";
+    };
+
+    asn = mkOption {
+      type = types.ints.positive;
+      example = 65542;
+      description = "The ASN being monitored.";
+    };
+
+    partitions = mkOption {
+      type = types.listOf types.int;
+      default = [];
+      description = ''
+        The number of the partitions to consume, none means all.
+      '';
+    };
+
+    topic = mkOption {
+      type = types.str;
+      example = "pmacct.acct";
+      description = "The Kafka topic to consume from.";
+    };
+  };
+
+  serviceOpts = {
+    serviceConfig = {
+      DynamicUser = true;
+      ExecStart = ''
+        ${pkgs.prometheus-flow-exporter}/bin/flow-exporter \
+          -asn ${toString cfg.asn} \
+          -topic ${cfg.topic} \
+          -brokers ${concatStringsSep "," cfg.brokers} \
+          ${optionalString (cfg.partitions != []) "-partitions ${concatStringsSep "," cfg.partitions}"} \
+          -addr ${cfg.listenAddress}:${toString cfg.port} ${concatStringsSep " " cfg.extraFlags}
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix b/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix
index 56cddfc55b719..5ee8c346be1dc 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix
@@ -42,7 +42,7 @@ in
       '';
     };
   };
-  serviceOpts = {
+  serviceOpts = mkMerge ([{
     serviceConfig = {
       ExecStart = ''
         ${pkgs.prometheus-nginx-exporter}/bin/nginx-prometheus-exporter \
@@ -54,7 +54,10 @@ in
           ${concatStringsSep " \\\n  " cfg.extraFlags}
       '';
     };
-  };
+  }] ++ [(mkIf config.services.nginx.enable {
+    after = [ "nginx.service" ];
+    requires = [ "nginx.service" ];
+  })]);
   imports = [
     (mkRenamedOptionModule [ "telemetryEndpoint" ] [ "telemetryPath" ])
     (mkRemovedOptionModule [ "insecure" ] ''
diff --git a/nixos/modules/services/networking/bee-clef.nix b/nixos/modules/services/networking/bee-clef.nix
new file mode 100644
index 0000000000000..719714b289827
--- /dev/null
+++ b/nixos/modules/services/networking/bee-clef.nix
@@ -0,0 +1,107 @@
+{ config, lib, pkgs, ... }:
+
+# NOTE for now nothing is installed into /etc/bee-clef/. the config files are used as read-only from the nix store.
+
+with lib;
+let
+  cfg = config.services.bee-clef;
+in {
+  meta = {
+    maintainers = with maintainers; [ attila-lendvai ];
+  };
+
+  ### interface
+
+  options = {
+    services.bee-clef = {
+      enable = mkEnableOption "clef external signer instance for Ethereum Swarm Bee";
+
+      dataDir = mkOption {
+        type = types.nullOr types.str;
+        default = "/var/lib/bee-clef";
+        description = ''
+          Data dir for bee-clef. Beware that some helper scripts may not work when changed!
+          The service itself should work fine, though.
+        '';
+      };
+
+      passwordFile = mkOption {
+        type = types.nullOr types.str;
+        default = "/var/lib/bee-clef/password";
+        description = "Password file for bee-clef.";
+      };
+
+      user = mkOption {
+        type = types.str;
+        default = "bee-clef";
+        description = ''
+          User the bee-clef daemon should execute under.
+        '';
+      };
+
+      group = mkOption {
+        type = types.str;
+        default = "bee-clef";
+        description = ''
+          Group the bee-clef daemon should execute under.
+        '';
+      };
+    };
+  };
+
+  ### implementation
+
+  config = mkIf cfg.enable {
+    # if we ever want to have rules.js under /etc/bee-clef/
+    # environment.etc."bee-clef/rules.js".source = ${pkgs.bee-clef}/rules.js
+
+    systemd.packages = [ pkgs.bee-clef ]; # include the upstream bee-clef.service file
+
+    systemd.tmpfiles.rules = [
+        "d '${cfg.dataDir}/'         0750 ${cfg.user} ${cfg.group}"
+        "d '${cfg.dataDir}/keystore' 0700 ${cfg.user} ${cfg.group}"
+      ];
+
+    systemd.services.bee-clef = {
+      path = [
+        # these are needed for the ensure-clef-account script
+        pkgs.coreutils
+        pkgs.gnused
+        pkgs.gawk
+      ];
+
+      wantedBy = [ "bee.service" "multi-user.target" ];
+
+      serviceConfig = {
+        User = cfg.user;
+        Group = cfg.group;
+        ExecStartPre = ''${pkgs.bee-clef}/share/bee-clef/ensure-clef-account "${cfg.dataDir}" "${pkgs.bee-clef}/share/bee-clef/"'';
+        ExecStart = [
+          "" # this hides/overrides what's in the original entry
+          "${pkgs.bee-clef}/share/bee-clef/bee-clef-service start"
+        ];
+        ExecStop = [
+          "" # this hides/overrides what's in the original entry
+          "${pkgs.bee-clef}/share/bee-clef/bee-clef-service stop"
+        ];
+        Environment = [
+          "CONFIGDIR=${cfg.dataDir}"
+          "PASSWORD_FILE=${cfg.passwordFile}"
+        ];
+      };
+    };
+
+    users.users = optionalAttrs (cfg.user == "bee-clef") {
+      bee-clef = {
+        group = cfg.group;
+        home = cfg.dataDir;
+        isSystemUser = true;
+        description = "Daemon user for the bee-clef service";
+      };
+    };
+
+    users.groups = optionalAttrs (cfg.group == "bee-clef") {
+      bee-clef = {};
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/bee.nix b/nixos/modules/services/networking/bee.nix
new file mode 100644
index 0000000000000..8a77ce23ab4d6
--- /dev/null
+++ b/nixos/modules/services/networking/bee.nix
@@ -0,0 +1,149 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+let
+  cfg = config.services.bee;
+  format = pkgs.formats.yaml {};
+  configFile = format.generate "bee.yaml" cfg.settings;
+in {
+  meta = {
+    # doc = ./bee.xml;
+    maintainers = with maintainers; [ attila-lendvai ];
+  };
+
+  ### interface
+
+  options = {
+    services.bee = {
+      enable = mkEnableOption "Ethereum Swarm Bee";
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.bee;
+        defaultText = "pkgs.bee";
+        example = "pkgs.bee-unstable";
+        description = "The package providing the bee binary for the service.";
+      };
+
+      settings = mkOption {
+        type = format.type;
+        description = ''
+          Ethereum Swarm Bee configuration. Refer to
+          <link xlink:href="https://gateway.ethswarm.org/bzz/docs.swarm.eth/docs/installation/configuration/"/>
+          for details on supported values.
+        '';
+      };
+
+      daemonNiceLevel = mkOption {
+        type = types.int;
+        default = 0;
+        description = ''
+          Daemon process priority for bee.
+          0 is the default Unix process priority, 19 is the lowest.
+        '';
+      };
+
+      user = mkOption {
+        type = types.str;
+        default = "bee";
+        description = ''
+          User the bee binary should execute under.
+        '';
+      };
+
+      group = mkOption {
+        type = types.str;
+        default = "bee";
+        description = ''
+          Group the bee binary should execute under.
+        '';
+      };
+    };
+  };
+
+  ### implementation
+
+  config = mkIf cfg.enable {
+    assertions = [
+      { assertion = (hasAttr "password" cfg.settings) != true;
+        message = ''
+          `services.bee.settings.password` is insecure. Use `services.bee.settings.password-file` or `systemd.services.bee.serviceConfig.EnvironmentFile` instead.
+        '';
+      }
+      { assertion = (hasAttr "swap-endpoint" cfg.settings) || (cfg.settings.swap-enable or true == false);
+        message = ''
+          In a swap-enabled network a working Ethereum blockchain node is required. You must specify one using `services.bee.settings.swap-endpoint`, or disable `services.bee.settings.swap-enable` = false.
+        '';
+      }
+    ];
+
+    warnings = optional (! config.services.bee-clef.enable) "The bee service requires an external signer. Consider setting `config.services.bee-clef.enable` = true";
+
+    services.bee.settings = {
+      data-dir             = lib.mkDefault "/var/lib/bee";
+      password-file        = lib.mkDefault "/var/lib/bee/password";
+      clef-signer-enable   = lib.mkDefault true;
+      clef-signer-endpoint = lib.mkDefault "/var/lib/bee-clef/clef.ipc";
+      swap-endpoint        = lib.mkDefault "https://rpc.slock.it/goerli";
+    };
+
+    systemd.packages = [ cfg.package ]; # include the upstream bee.service file
+
+    systemd.tmpfiles.rules = [
+      "d '${cfg.settings.data-dir}' 0750 ${cfg.user} ${cfg.group}"
+    ];
+
+    systemd.services.bee = {
+      requires = optional config.services.bee-clef.enable
+        "bee-clef.service";
+
+      wantedBy = [ "multi-user.target" ];
+
+      serviceConfig = {
+        Nice = cfg.daemonNiceLevel;
+        User = cfg.user;
+        Group = cfg.group;
+        ExecStart = [
+          "" # this hides/overrides what's in the original entry
+          "${cfg.package}/bin/bee --config=${configFile} start"
+        ];
+      };
+
+      preStart = with cfg.settings; ''
+        if ! test -f ${password-file}; then
+          < /dev/urandom tr -dc _A-Z-a-z-0-9 2> /dev/null | head -c32 > ${password-file}
+          chmod 0600 ${password-file}
+          echo "Initialized ${password-file} from /dev/urandom"
+        fi
+        if [ ! -f ${data-dir}/keys/libp2p.key ]; then
+          ${cfg.package}/bin/bee init --config=${configFile} >/dev/null
+          echo "
+Logs:   journalctl -f -u bee.service
+
+Bee has SWAP enabled by default and it needs ethereum endpoint to operate.
+It is recommended to use external signer with bee.
+Check documentation for more info:
+- SWAP https://docs.ethswarm.org/docs/installation/manual#swap-bandwidth-incentives
+- External signer https://docs.ethswarm.org/docs/installation/bee-clef
+
+After you finish configuration run 'sudo bee-get-addr'."
+        fi
+      '';
+    };
+
+    users.users = optionalAttrs (cfg.user == "bee") {
+      bee = {
+        group = cfg.group;
+        home = cfg.settings.data-dir;
+        isSystemUser = true;
+        description = "Daemon user for Ethereum Swarm Bee";
+        extraGroups = optional config.services.bee-clef.enable
+          config.services.bee-clef.group;
+      };
+    };
+
+    users.groups = optionalAttrs (cfg.group == "bee") {
+      bee = {};
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix
index d10bffd914743..31e4b6ad2988c 100644
--- a/nixos/modules/services/networking/dhcpcd.nix
+++ b/nixos/modules/services/networking/dhcpcd.nix
@@ -191,9 +191,8 @@ in
       { description = "DHCP Client";
 
         wantedBy = [ "multi-user.target" ] ++ optional (!hasDefaultGatewaySet) "network-online.target";
-        wants = [ "network.target" "systemd-udev-settle.service" ];
+        wants = [ "network.target" ];
         before = [ "network-online.target" ];
-        after = [ "systemd-udev-settle.service" ];
 
         restartTriggers = [ exitHook ];
 
diff --git a/nixos/modules/services/networking/dnscrypt-proxy2.nix b/nixos/modules/services/networking/dnscrypt-proxy2.nix
index ff8a2ab307746..72965c267a861 100644
--- a/nixos/modules/services/networking/dnscrypt-proxy2.nix
+++ b/nixos/modules/services/networking/dnscrypt-proxy2.nix
@@ -87,6 +87,7 @@ in
         NoNewPrivileges = true;
         NonBlocking = true;
         PrivateDevices = true;
+        ProtectClock = true;
         ProtectControlGroups = true;
         ProtectHome = true;
         ProtectHostname = true;
@@ -107,8 +108,12 @@ in
         SystemCallFilter = [
           "@system-service"
           "@chown"
+          "~@aio"
+          "~@keyring"
+          "~@memlock"
           "~@resources"
-          "@privileged"
+          "~@setuid"
+          "~@timer"
         ];
       };
     };
diff --git a/nixos/modules/services/networking/epmd.nix b/nixos/modules/services/networking/epmd.nix
index 692b75e4f0865..f7cdc0fe79c04 100644
--- a/nixos/modules/services/networking/epmd.nix
+++ b/nixos/modules/services/networking/epmd.nix
@@ -53,4 +53,6 @@ in
       };
     };
   };
+
+  meta.maintainers = teams.beam.members;
 }
diff --git a/nixos/modules/services/networking/flashpolicyd.nix b/nixos/modules/services/networking/flashpolicyd.nix
deleted file mode 100644
index d3ac78430ca34..0000000000000
--- a/nixos/modules/services/networking/flashpolicyd.nix
+++ /dev/null
@@ -1,86 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-
-  cfg = config.services.flashpolicyd;
-
-  flashpolicyd = pkgs.stdenv.mkDerivation {
-    name = "flashpolicyd-0.6";
-
-    src = pkgs.fetchurl {
-      name = "flashpolicyd_v0.6.zip";
-      url = "https://download.adobe.com/pub/adobe/devnet/flashplayer/articles/socket_policy_files/flashpolicyd_v0.6.zip";
-      sha256 = "16zk237233npwfq1m4ksy4g5lzy1z9fp95w7pz0cdlpmv0fv9sm3";
-    };
-
-    buildInputs = [ pkgs.unzip pkgs.perl ];
-
-    installPhase = "mkdir $out; cp -pr * $out/; chmod +x $out/*/*.pl";
-  };
-
-  flashpolicydWrapper = pkgs.writeScriptBin "flashpolicyd"
-    ''
-      #! ${pkgs.runtimeShell}
-      exec ${flashpolicyd}/Perl_xinetd/in.flashpolicyd.pl \
-        --file=${pkgs.writeText "flashpolixy.xml" cfg.policy} \
-        2> /dev/null
-    '';
-
-in
-
-{
-
-  ###### interface
-
-  options = {
-
-    services.flashpolicyd = {
-
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description =
-          ''
-            Whether to enable the Flash Policy server.  This is
-            necessary if you want Flash applications to make
-            connections to your server.
-          '';
-      };
-
-      policy = mkOption {
-        type = types.lines;
-        default =
-          ''
-            <?xml version="1.0"?>
-            <!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd">
-            <cross-domain-policy>
-              <site-control permitted-cross-domain-policies="master-only"/>
-              <allow-access-from domain="*" to-ports="*" />
-            </cross-domain-policy>
-          '';
-        description = "The policy to be served.  The default is to allow connections from any domain to any port.";
-      };
-
-    };
-
-  };
-
-
-  ###### implementation
-
-  config = mkIf cfg.enable {
-
-    services.xinetd.enable = true;
-
-    services.xinetd.services = singleton
-      { name = "flashpolicy";
-        port = 843;
-        unlisted = true;
-        server = "${flashpolicydWrapper}/bin/flashpolicyd";
-      };
-
-  };
-
-}
diff --git a/nixos/modules/services/networking/jitsi-videobridge.nix b/nixos/modules/services/networking/jitsi-videobridge.nix
index 5482e997a4018..80f35d56e2dbf 100644
--- a/nixos/modules/services/networking/jitsi-videobridge.nix
+++ b/nixos/modules/services/networking/jitsi-videobridge.nix
@@ -191,6 +191,16 @@ in
         Whether to open ports in the firewall for the videobridge.
       '';
     };
+
+    apis = mkOption {
+      type = with types; listOf str;
+      description = ''
+        What is passed as --apis= parameter. If this is empty, "none" is passed.
+        Needed for monitoring jitsi.
+      '';
+      default = [];
+      example = literalExample "[ \"colibri\" \"rest\" ]";
+    };
   };
 
   config = mkIf cfg.enable {
@@ -221,7 +231,7 @@ in
         "export ${toVarName name}=$(cat ${xmppConfig.passwordFile})\n"
       ) cfg.xmppConfigs))
       + ''
-        ${pkgs.jitsi-videobridge}/bin/jitsi-videobridge --apis=none
+        ${pkgs.jitsi-videobridge}/bin/jitsi-videobridge --apis=${if (cfg.apis == []) then "none" else concatStringsSep "," cfg.apis}
       '';
 
       serviceConfig = {
diff --git a/nixos/modules/services/networking/kresd.nix b/nixos/modules/services/networking/kresd.nix
index 074830fc3521e..4131ff8be5d02 100644
--- a/nixos/modules/services/networking/kresd.nix
+++ b/nixos/modules/services/networking/kresd.nix
@@ -140,7 +140,7 @@ in {
 
     # Try cleaning up the previously default location of cache file.
     # Note that /var/cache/* should always be safe to remove.
-    # TODO: remove later, probably between 20.09 and 21.03
+    # TODO: remove later, probably between 20.09 and 21.05
     systemd.tmpfiles.rules = [ "R /var/cache/kresd" ];
   };
 }
diff --git a/nixos/modules/services/networking/resilio.nix b/nixos/modules/services/networking/resilio.nix
index 6193d7340fc4a..4701b0e8143d2 100644
--- a/nixos/modules/services/networking/resilio.nix
+++ b/nixos/modules/services/networking/resilio.nix
@@ -183,6 +183,7 @@ in
 
       sharedFolders = mkOption {
         default = [];
+        type = types.listOf (types.attrsOf types.anything);
         example =
           [ { secret         = "AHMYFPCQAHBM7LQPFXQ7WV6Y42IGUXJ5Y";
               directory      = "/home/user/sync_test";
diff --git a/nixos/modules/services/networking/sabnzbd.nix b/nixos/modules/services/networking/sabnzbd.nix
index ff5aef7d1cb47..43566dfd25c5f 100644
--- a/nixos/modules/services/networking/sabnzbd.nix
+++ b/nixos/modules/services/networking/sabnzbd.nix
@@ -18,16 +18,19 @@ in
       enable = mkEnableOption "the sabnzbd server";
 
       configFile = mkOption {
+        type = types.path;
         default = "/var/lib/sabnzbd/sabnzbd.ini";
         description = "Path to config file.";
       };
 
       user = mkOption {
         default = "sabnzbd";
+        type = types.str;
         description = "User to run the service as";
       };
 
       group = mkOption {
+        type = types.str;
         default = "sabnzbd";
         description = "Group to run the service as";
       };
diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix
index e67badfcd29eb..b19cd07325266 100644
--- a/nixos/modules/services/printing/cupsd.nix
+++ b/nixos/modules/services/printing/cupsd.nix
@@ -270,7 +270,7 @@ in
       drivers = mkOption {
         type = types.listOf types.path;
         default = [];
-        example = literalExample "with pkgs; [ gutenprint hplip splix cups-googlecloudprint ]";
+        example = literalExample "with pkgs; [ gutenprint hplip splix ]";
         description = ''
           CUPS drivers to use. Drivers provided by CUPS, cups-filters,
           Ghostscript and Samba are added unconditionally. If this list contains
diff --git a/nixos/modules/services/security/clamav.nix b/nixos/modules/services/security/clamav.nix
index aaf6fb0479baf..340cbbf02fb40 100644
--- a/nixos/modules/services/security/clamav.nix
+++ b/nixos/modules/services/security/clamav.nix
@@ -8,30 +8,19 @@ let
   cfg = config.services.clamav;
   pkg = pkgs.clamav;
 
-  clamdConfigFile = pkgs.writeText "clamd.conf" ''
-    DatabaseDirectory ${stateDir}
-    LocalSocket ${runDir}/clamd.ctl
-    PidFile ${runDir}/clamd.pid
-    TemporaryDirectory /tmp
-    User clamav
-    Foreground yes
-
-    ${cfg.daemon.extraConfig}
-  '';
-
-  freshclamConfigFile = pkgs.writeText "freshclam.conf" ''
-    DatabaseDirectory ${stateDir}
-    Foreground yes
-    Checks ${toString cfg.updater.frequency}
-
-    ${cfg.updater.extraConfig}
-
-    DatabaseMirror database.clamav.net
-  '';
+  toKeyValue = generators.toKeyValue {
+    mkKeyValue = generators.mkKeyValueDefault {} " ";
+    listsAsDuplicateKeys = true;
+  };
+
+  clamdConfigFile = pkgs.writeText "clamd.conf" (toKeyValue cfg.daemon.settings);
+  freshclamConfigFile = pkgs.writeText "freshclam.conf" (toKeyValue cfg.updater.settings);
 in
 {
   imports = [
-    (mkRenamedOptionModule [ "services" "clamav" "updater" "config" ] [ "services" "clamav" "updater" "extraConfig" ])
+    (mkRemovedOptionModule [ "services" "clamav" "updater" "config" ] "Use services.clamav.updater.settings instead.")
+    (mkRemovedOptionModule [ "services" "clamav" "updater" "extraConfig" ] "Use services.clamav.updater.settings instead.")
+    (mkRemovedOptionModule [ "services" "clamav" "daemon" "extraConfig" ] "Use services.clamav.daemon.settings instead.")
   ];
 
   options = {
@@ -39,12 +28,12 @@ in
       daemon = {
         enable = mkEnableOption "ClamAV clamd daemon";
 
-        extraConfig = mkOption {
-          type = types.lines;
-          default = "";
+        settings = mkOption {
+          type = with types; attrsOf (oneOf [ bool int str (listOf str) ]);
+          default = {};
           description = ''
-            Extra configuration for clamd. Contents will be added verbatim to the
-            configuration file.
+            ClamAV configuration. Refer to <link xlink:href="https://linux.die.net/man/5/clamd.conf"/>,
+            for details on supported values.
           '';
         };
       };
@@ -68,12 +57,12 @@ in
           '';
         };
 
-        extraConfig = mkOption {
-          type = types.lines;
-          default = "";
+        settings = mkOption {
+          type = with types; attrsOf (oneOf [ bool int str (listOf str) ]);
+          default = {};
           description = ''
-            Extra configuration for freshclam. Contents will be added verbatim to the
-            configuration file.
+            freshclam configuration. Refer to <link xlink:href="https://linux.die.net/man/5/freshclam.conf"/>,
+            for details on supported values.
           '';
         };
       };
@@ -93,6 +82,22 @@ in
     users.groups.${clamavGroup} =
       { gid = config.ids.gids.clamav; };
 
+    services.clamav.daemon.settings = {
+      DatabaseDirectory = stateDir;
+      LocalSocket = "${runDir}/clamd.ctl";
+      PidFile = "${runDir}/clamd.pid";
+      TemporaryDirectory = "/tmp";
+      User = "clamav";
+      Foreground = true;
+    };
+
+    services.clamav.updater.settings = {
+      DatabaseDirectory = stateDir;
+      Foreground = true;
+      Checks = cfg.updater.frequency;
+      DatabaseMirror = [ "database.clamav.net" ];
+    };
+
     environment.etc."clamav/freshclam.conf".source = freshclamConfigFile;
     environment.etc."clamav/clamd.conf".source = clamdConfigFile;
 
diff --git a/nixos/modules/services/security/oauth2_proxy.nix b/nixos/modules/services/security/oauth2_proxy.nix
index 486f3ab05386d..77c579279abe5 100644
--- a/nixos/modules/services/security/oauth2_proxy.nix
+++ b/nixos/modules/services/security/oauth2_proxy.nix
@@ -538,6 +538,7 @@ in
 
     extraConfig = mkOption {
       default = {};
+      type = types.attrsOf types.anything;
       description = ''
         Extra config to pass to oauth2-proxy.
       '';
diff --git a/nixos/modules/services/security/oauth2_proxy_nginx.nix b/nixos/modules/services/security/oauth2_proxy_nginx.nix
index be6734f439f3d..553638ad49658 100644
--- a/nixos/modules/services/security/oauth2_proxy_nginx.nix
+++ b/nixos/modules/services/security/oauth2_proxy_nginx.nix
@@ -31,7 +31,7 @@ in
         proxyPass = cfg.proxy;
         extraConfig = ''
           proxy_set_header X-Scheme                $scheme;
-          proxy_set_header X-Auth-Request-Redirect $request_uri;
+          proxy_set_header X-Auth-Request-Redirect $scheme://$host$request_uri;
         '';
       };
       locations."/oauth2/auth" = {
diff --git a/nixos/modules/services/ttys/kmscon.nix b/nixos/modules/services/ttys/kmscon.nix
index dc37f9bee4b36..4fe720bf044bc 100644
--- a/nixos/modules/services/ttys/kmscon.nix
+++ b/nixos/modules/services/ttys/kmscon.nix
@@ -82,11 +82,8 @@ in {
       X-RestartIfChanged=false
     '';
 
-    systemd.units."autovt@.service".unit = pkgs.runCommand "unit" { preferLocalBuild = true; }
-        ''
-          mkdir -p $out
-          ln -s ${config.systemd.units."kmsconvt@.service".unit}/kmsconvt@.service $out/autovt@.service
-        '';
+    systemd.suppressedSystemUnits = [ "autovt@.service" ];
+    systemd.units."kmsconvt@.service".aliases = [ "autovt@.service" ];
 
     systemd.services.systemd-vconsole-setup.enable = false;
 
diff --git a/nixos/modules/services/web-apps/galene.nix b/nixos/modules/services/web-apps/galene.nix
new file mode 100644
index 0000000000000..769490e915ac8
--- /dev/null
+++ b/nixos/modules/services/web-apps/galene.nix
@@ -0,0 +1,178 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+let
+  cfg = config.services.galene;
+  defaultstateDir = "/var/lib/galene";
+  defaultrecordingsDir = "${cfg.stateDir}/recordings";
+  defaultgroupsDir = "${cfg.stateDir}/groups";
+  defaultdataDir = "${cfg.stateDir}/data";
+in
+{
+  options = {
+    services.galene = {
+      enable = mkEnableOption "Galene Service.";
+
+      stateDir = mkOption {
+        default = defaultstateDir;
+        type = types.str;
+        description = ''
+          The directory where Galene stores its internal state. If left as the default
+          value this directory will automatically be created before the Galene server
+          starts, otherwise the sysadmin is responsible for ensuring the directory
+          exists with appropriate ownership and permissions.
+        '';
+      };
+
+      user = mkOption {
+        type = types.str;
+        default = "galene";
+        description = "User account under which galene runs.";
+      };
+
+      group = mkOption {
+        type = types.str;
+        default = "galene";
+        description = "Group under which galene runs.";
+      };
+
+      insecure = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether Galene should listen in http or in https. If left as the default
+          value (false), Galene needs to be fed a private key and a certificate.
+        '';
+      };
+
+      certFile = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        example = "/path/to/your/cert.pem";
+        description = ''
+          Path to the server's certificate. The file is copied at runtime to
+          Galene's data directory where it needs to reside.
+        '';
+      };
+
+      keyFile = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        example = "/path/to/your/key.pem";
+        description = ''
+          Path to the server's private key. The file is copied at runtime to
+          Galene's data directory where it needs to reside.
+        '';
+      };
+
+      httpAddress = mkOption {
+        type = types.str;
+        default = "";
+        description = "HTTP listen address for galene.";
+      };
+
+      httpPort = mkOption {
+        type = types.port;
+        default = 8443;
+        description = "HTTP listen port.";
+      };
+
+      staticDir = mkOption {
+        type = types.str;
+        default = "${cfg.package.static}/static";
+        example = "/var/lib/galene/static";
+        description = "Web server directory.";
+      };
+
+      recordingsDir = mkOption {
+        type = types.str;
+        default = defaultrecordingsDir;
+        example = "/var/lib/galene/recordings";
+        description = "Recordings directory.";
+      };
+
+      dataDir = mkOption {
+        type = types.str;
+        default = defaultdataDir;
+        example = "/var/lib/galene/data";
+        description = "Data directory.";
+      };
+
+      groupsDir = mkOption {
+        type = types.str;
+        default = defaultgroupsDir;
+        example = "/var/lib/galene/groups";
+        description = "Web server directory.";
+      };
+
+      package = mkOption {
+        default = pkgs.galene;
+        defaultText = "pkgs.galene";
+        type = types.package;
+        description = ''
+          Package for running Galene.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    assertions = [
+      {
+        assertion = cfg.insecure || (cfg.certFile != null && cfg.keyFile != null);
+        message = ''
+          Galene needs both certFile and keyFile defined for encryption, or
+          the insecure flag.
+        '';
+      }
+    ];
+
+    systemd.services.galene = {
+      description = "galene";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+
+      preStart = ''
+        install -m 700 -o '${cfg.user}' -g '${cfg.group}' ${cfg.certFile} ${cfg.dataDir}/cert.pem
+        install -m 700 -o '${cfg.user}' -g '${cfg.group}' ${cfg.keyFile} ${cfg.dataDir}/key.pem
+      '';
+
+      serviceConfig = mkMerge [
+        {
+          Type = "simple";
+          User = cfg.user;
+          Group = cfg.group;
+          WorkingDirectory = cfg.stateDir;
+          ExecStart = ''${cfg.package}/bin/galene \
+          ${optionalString (cfg.insecure) "-insecure"} \
+          -data ${cfg.dataDir} \
+          -groups ${cfg.groupsDir} \
+          -recordings ${cfg.recordingsDir} \
+          -static ${cfg.staticDir}'';
+          Restart = "always";
+          # Upstream Requirements
+          LimitNOFILE = 65536;
+          StateDirectory = [ ] ++
+            optional (cfg.stateDir == defaultstateDir) "galene" ++
+            optional (cfg.dataDir == defaultdataDir) "galene/data" ++
+            optional (cfg.groupsDir == defaultgroupsDir) "galene/groups" ++
+            optional (cfg.recordingsDir == defaultrecordingsDir) "galene/recordings";
+        }
+      ];
+    };
+
+    users.users = mkIf (cfg.user == "galene")
+      {
+        galene = {
+          description = "galene Service";
+          group = cfg.group;
+          isSystemUser = true;
+        };
+      };
+
+    users.groups = mkIf (cfg.group == "galene") {
+      galene = { };
+    };
+  };
+  meta.maintainers = with lib.maintainers; [ rgrunbla ];
+}
diff --git a/nixos/modules/services/web-apps/hedgedoc.nix b/nixos/modules/services/web-apps/hedgedoc.nix
index 3f646d7db0cd7..d940f3d3daecd 100644
--- a/nixos/modules/services/web-apps/hedgedoc.nix
+++ b/nixos/modules/services/web-apps/hedgedoc.nix
@@ -5,6 +5,10 @@ with lib;
 let
   cfg = config.services.hedgedoc;
 
+  # 21.03 will not be an official release - it was instead 21.05.  This
+  # versionAtLeast statement remains set to 21.03 for backwards compatibility.
+  # See https://github.com/NixOS/nixpkgs/pull/108899 and
+  # https://github.com/NixOS/rfcs/blob/master/rfcs/0080-nixos-release-schedule.md.
   name = if versionAtLeast config.system.stateVersion "21.03"
     then "hedgedoc"
     else "codimd";
diff --git a/nixos/modules/services/web-apps/mastodon.nix b/nixos/modules/services/web-apps/mastodon.nix
new file mode 100644
index 0000000000000..ea7aebc3b12d5
--- /dev/null
+++ b/nixos/modules/services/web-apps/mastodon.nix
@@ -0,0 +1,564 @@
+{ config, lib, pkgs, ... }:
+
+let
+  cfg = config.services.mastodon;
+  # We only want to create a database if we're actually going to connect to it.
+  databaseActuallyCreateLocally = cfg.database.createLocally && cfg.database.host == "/run/postgresql";
+
+  env = {
+    RAILS_ENV = "production";
+    NODE_ENV = "production";
+
+    DB_USER = cfg.database.user;
+
+    REDIS_HOST = cfg.redis.host;
+    REDIS_PORT = toString(cfg.redis.port);
+    DB_HOST = cfg.database.host;
+    DB_PORT = toString(cfg.database.port);
+    DB_NAME = cfg.database.name;
+    LOCAL_DOMAIN = cfg.localDomain;
+    SMTP_SERVER = cfg.smtp.host;
+    SMTP_PORT = toString(cfg.smtp.port);
+    SMTP_FROM_ADDRESS = cfg.smtp.fromAddress;
+    PAPERCLIP_ROOT_PATH = "/var/lib/mastodon/public-system";
+    PAPERCLIP_ROOT_URL = "/system";
+    ES_ENABLED = if (cfg.elasticsearch.host != null) then "true" else "false";
+    ES_HOST = cfg.elasticsearch.host;
+    ES_PORT = toString(cfg.elasticsearch.port);
+
+    TRUSTED_PROXY_IP = cfg.trustedProxy;
+  }
+  // (if cfg.smtp.authenticate then { SMTP_LOGIN  = cfg.smtp.user; } else {})
+  // cfg.extraConfig;
+
+  cfgService = {
+    # User and group
+    User = cfg.user;
+    Group = cfg.group;
+    # State directory and mode
+    StateDirectory = "mastodon";
+    StateDirectoryMode = "0750";
+    # Logs directory and mode
+    LogsDirectory = "mastodon";
+    LogsDirectoryMode = "0750";
+    # Access write directories
+    UMask = "0027";
+    # Sandboxing
+    PrivateTmp = true;
+  };
+
+  envFile = pkgs.writeText "mastodon.env" (lib.concatMapStrings (s: s + "\n") (
+    (lib.concatLists (lib.mapAttrsToList (name: value:
+      if value != null then [
+        "${name}=\"${toString value}\""
+      ] else []
+    ) env))));
+
+  mastodonEnv = pkgs.writeShellScriptBin "mastodon-env" ''
+    set -a
+    source "${envFile}"
+    source /var/lib/mastodon/.secrets_env
+    eval -- "\$@"
+  '';
+
+in {
+
+  options = {
+    services.mastodon = {
+      enable = lib.mkEnableOption "Mastodon, a federated social network server";
+
+      configureNginx = lib.mkOption {
+        description = ''
+          Configure nginx as a reverse proxy for mastodon.
+          Note that this makes some assumptions on your setup, and sets settings that will
+          affect other virtualHosts running on your nginx instance, if any.
+          Alternatively you can configure a reverse-proxy of your choice to serve these paths:
+
+          <code>/ -> $(nix-instantiate --eval '&lt;nixpkgs&gt;' -A mastodon.outPath)/public</code>
+
+          <code>/ -> 127.0.0.1:{{ webPort }} </code>(If there was no file in the directory above.)
+
+          <code>/system/ -> /var/lib/mastodon/public-system/</code>
+
+          <code>/api/v1/streaming/ -> 127.0.0.1:{{ streamingPort }}</code>
+
+          Make sure that websockets are forwarded properly. You might want to set up caching
+          of some requests. Take a look at mastodon's provided nginx configuration at
+          <code>https://github.com/tootsuite/mastodon/blob/master/dist/nginx.conf</code>.
+        '';
+        type = lib.types.bool;
+        default = false;
+      };
+
+      user = lib.mkOption {
+        description = ''
+          User under which mastodon runs. If it is set to "mastodon",
+          that user will be created, otherwise it should be set to the
+          name of a user created elsewhere.  In both cases,
+          <package>mastodon</package> and a package containing only
+          the shell script <code>mastodon-env</code> will be added to
+          the user's package set. To run a command from
+          <package>mastodon</package> such as <code>tootctl</code>
+          with the environment configured by this module use
+          <code>mastodon-env</code>, as in:
+
+          <code>mastodon-env tootctl accounts create newuser --email newuser@example.com</code>
+        '';
+        type = lib.types.str;
+        default = "mastodon";
+      };
+
+      group = lib.mkOption {
+        description = ''
+          Group under which mastodon runs.
+        '';
+        type = lib.types.str;
+        default = "mastodon";
+      };
+
+      streamingPort = lib.mkOption {
+        description = "TCP port used by the mastodon-streaming service.";
+        type = lib.types.port;
+        default = 55000;
+      };
+
+      webPort = lib.mkOption {
+        description = "TCP port used by the mastodon-web service.";
+        type = lib.types.port;
+        default = 55001;
+      };
+
+      sidekiqPort = lib.mkOption {
+        description = "TCP port used by the mastodon-sidekiq service";
+        type = lib.types.port;
+        default = 55002;
+      };
+
+      vapidPublicKeyFile = lib.mkOption {
+        description = ''
+          Path to file containing the public key used for Web Push
+          Voluntary Application Server Identification.  A new keypair can
+          be generated by running:
+
+          <code>nix build -f '&lt;nixpkgs&gt;' mastodon; cd result; bin/rake webpush:generate_keys</code>
+
+          If <option>mastodon.vapidPrivateKeyFile</option>does not
+          exist, it and this file will be created with a new keypair.
+        '';
+        default = "/var/lib/mastodon/secrets/vapid-public-key";
+        type = lib.types.str;
+      };
+
+      localDomain = lib.mkOption {
+        description = "The domain serving your Mastodon instance.";
+        example = "social.example.org";
+        type = lib.types.str;
+      };
+
+      secretKeyBaseFile = lib.mkOption {
+        description = ''
+          Path to file containing the secret key base.
+          A new secret key base can be generated by running:
+
+          <code>nix build -f '&lt;nixpkgs&gt;' mastodon; cd result; bin/rake secret</code>
+
+          If this file does not exist, it will be created with a new secret key base.
+        '';
+        default = "/var/lib/mastodon/secrets/secret-key-base";
+        type = lib.types.str;
+      };
+
+      otpSecretFile = lib.mkOption {
+        description = ''
+          Path to file containing the OTP secret.
+          A new OTP secret can be generated by running:
+
+          <code>nix build -f '&lt;nixpkgs&gt;' mastodon; cd result; bin/rake secret</code>
+
+          If this file does not exist, it will be created with a new OTP secret.
+        '';
+        default = "/var/lib/mastodon/secrets/otp-secret";
+        type = lib.types.str;
+      };
+
+      vapidPrivateKeyFile = lib.mkOption {
+        description = ''
+          Path to file containing the private key used for Web Push
+          Voluntary Application Server Identification.  A new keypair can
+          be generated by running:
+
+          <code>nix build -f '&lt;nixpkgs&gt;' mastodon; cd result; bin/rake webpush:generate_keys</code>
+
+          If this file does not exist, it will be created with a new
+          private key.
+        '';
+        default = "/var/lib/mastodon/secrets/vapid-private-key";
+        type = lib.types.str;
+      };
+
+      trustedProxy = lib.mkOption {
+        description = ''
+          You need to set it to the IP from which your reverse proxy sends requests to Mastodon's web process,
+          otherwise Mastodon will record the reverse proxy's own IP as the IP of all requests, which would be
+          bad because IP addresses are used for important rate limits and security functions.
+        '';
+        type = lib.types.str;
+        default = "127.0.0.1";
+      };
+
+      enableUnixSocket = lib.mkOption {
+        description = ''
+          Instead of binding to an IP address like 127.0.0.1, you may bind to a Unix socket. This variable
+          is process-specific, e.g. you need different values for every process, and it works for both web (Puma)
+          processes and streaming API (Node.js) processes.
+        '';
+        type = lib.types.bool;
+        default = true;
+      };
+
+      redis = {
+        createLocally = lib.mkOption {
+          description = "Configure local Redis server for Mastodon.";
+          type = lib.types.bool;
+          default = true;
+        };
+
+        host = lib.mkOption {
+          description = "Redis host.";
+          type = lib.types.str;
+          default = "127.0.0.1";
+        };
+
+        port = lib.mkOption {
+          description = "Redis port.";
+          type = lib.types.port;
+          default = 6379;
+        };
+      };
+
+      database = {
+        createLocally = lib.mkOption {
+          description = "Configure local PostgreSQL database server for Mastodon.";
+          type = lib.types.bool;
+          default = true;
+        };
+
+        host = lib.mkOption {
+          type = lib.types.str;
+          default = "/run/postgresql";
+          example = "192.168.23.42";
+          description = "Database host address or unix socket.";
+        };
+
+        port = lib.mkOption {
+          type = lib.types.int;
+          default = 5432;
+          description = "Database host port.";
+        };
+
+        name = lib.mkOption {
+          type = lib.types.str;
+          default = "mastodon";
+          description = "Database name.";
+        };
+
+        user = lib.mkOption {
+          type = lib.types.str;
+          default = "mastodon";
+          description = "Database user.";
+        };
+
+        passwordFile = lib.mkOption {
+          type = lib.types.nullOr lib.types.path;
+          default = "/var/lib/mastodon/secrets/db-password";
+          example = "/run/keys/mastodon-db-password";
+          description = ''
+            A file containing the password corresponding to
+            <option>database.user</option>.
+          '';
+        };
+      };
+
+      smtp = {
+        createLocally = lib.mkOption {
+          description = "Configure local Postfix SMTP server for Mastodon.";
+          type = lib.types.bool;
+          default = true;
+        };
+
+        authenticate = lib.mkOption {
+          description = "Authenticate with the SMTP server using username and password.";
+          type = lib.types.bool;
+          default = true;
+        };
+
+        host = lib.mkOption {
+          description = "SMTP host used when sending emails to users.";
+          type = lib.types.str;
+          default = "127.0.0.1";
+        };
+
+        port = lib.mkOption {
+          description = "SMTP port used when sending emails to users.";
+          type = lib.types.port;
+          default = 25;
+        };
+
+        fromAddress = lib.mkOption {
+          description = ''"From" address used when sending Emails to users.'';
+          type = lib.types.str;
+        };
+
+        user = lib.mkOption {
+          description = "SMTP login name.";
+          type = lib.types.str;
+        };
+
+        passwordFile = lib.mkOption {
+          description = ''
+            Path to file containing the SMTP password.
+          '';
+          default = "/var/lib/mastodon/secrets/smtp-password";
+          example = "/run/keys/mastodon-smtp-password";
+          type = lib.types.str;
+        };
+      };
+
+      elasticsearch = {
+        host = lib.mkOption {
+          description = ''
+            Elasticsearch host.
+            If it is not null, Elasticsearch full text search will be enabled.
+          '';
+          type = lib.types.nullOr lib.types.str;
+          default = null;
+        };
+
+        port = lib.mkOption {
+          description = "Elasticsearch port.";
+          type = lib.types.port;
+          default = 9200;
+        };
+      };
+
+      package = lib.mkOption {
+        type = lib.types.package;
+        default = pkgs.mastodon;
+        defaultText = "pkgs.mastodon";
+        description = "Mastodon package to use.";
+      };
+
+      extraConfig = lib.mkOption {
+        type = lib.types.attrs;
+        default = {};
+        description = ''
+          Extra environment variables to pass to all mastodon services.
+        '';
+      };
+
+      automaticMigrations = lib.mkOption {
+        type = lib.types.bool;
+        default = true;
+        description = ''
+          Do automatic database migrations.
+        '';
+      };
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    assertions = [
+      {
+        assertion = databaseActuallyCreateLocally -> (cfg.user == cfg.database.user);
+        message = ''For local automatic database provisioning (services.mastodon.database.createLocally == true) with peer authentication (services.mastodon.database.host == "/run/postgresql") to work services.mastodon.user and services.mastodon.database.user must be identical.'';
+      }
+    ];
+
+    systemd.services.mastodon-init-dirs = {
+      script = ''
+        umask 077
+
+        if ! test -f ${cfg.secretKeyBaseFile}; then
+          mkdir -p $(dirname ${cfg.secretKeyBaseFile})
+          bin/rake secret > ${cfg.secretKeyBaseFile}
+        fi
+        if ! test -f ${cfg.otpSecretFile}; then
+          mkdir -p $(dirname ${cfg.otpSecretFile})
+          bin/rake secret > ${cfg.otpSecretFile}
+        fi
+        if ! test -f ${cfg.vapidPrivateKeyFile}; then
+          mkdir -p $(dirname ${cfg.vapidPrivateKeyFile}) $(dirname ${cfg.vapidPublicKeyFile})
+          keypair=$(bin/rake webpush:generate_keys)
+          echo $keypair | grep --only-matching "Private -> [^ ]\+" | sed 's/^Private -> //' > ${cfg.vapidPrivateKeyFile}
+          echo $keypair | grep --only-matching "Public -> [^ ]\+" | sed 's/^Public -> //' > ${cfg.vapidPublicKeyFile}
+        fi
+
+        cat > /var/lib/mastodon/.secrets_env <<EOF
+        SECRET_KEY_BASE="$(cat ${cfg.secretKeyBaseFile})"
+        OTP_SECRET="$(cat ${cfg.otpSecretFile})"
+        VAPID_PRIVATE_KEY="$(cat ${cfg.vapidPrivateKeyFile})"
+        VAPID_PUBLIC_KEY="$(cat ${cfg.vapidPublicKeyFile})"
+        DB_PASS="$(cat ${cfg.database.passwordFile})"
+      '' + (if cfg.smtp.authenticate then ''
+        SMTP_PASSWORD="$(cat ${cfg.smtp.passwordFile})"
+      '' else "") + ''
+        EOF
+      '';
+      environment = env;
+      serviceConfig = {
+        Type = "oneshot";
+        WorkingDirectory = cfg.package;
+      } // cfgService;
+
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+    };
+
+    systemd.services.mastodon-init-db = lib.mkIf cfg.automaticMigrations {
+      script = ''
+        if [ `psql ${cfg.database.name} -c \
+                "select count(*) from pg_class c \
+                join pg_namespace s on s.oid = c.relnamespace \
+                where s.nspname not in ('pg_catalog', 'pg_toast', 'information_schema') \
+                and s.nspname not like 'pg_temp%';" | sed -n 3p` -eq 0 ]; then
+          SAFETY_ASSURED=1 rake db:schema:load
+          rake db:seed
+        else
+          rake db:migrate
+        fi
+      '';
+      path = [ cfg.package pkgs.postgresql ];
+      environment = env;
+      serviceConfig = {
+        Type = "oneshot";
+        EnvironmentFile = "/var/lib/mastodon/.secrets_env";
+        WorkingDirectory = cfg.package;
+      } // cfgService;
+      after = [ "mastodon-init-dirs.service" "network.target" ] ++ (if databaseActuallyCreateLocally then [ "postgresql.service" ] else []);
+      wantedBy = [ "multi-user.target" ];
+    };
+
+    systemd.services.mastodon-streaming = {
+      after = [ "network.target" ]
+        ++ (if databaseActuallyCreateLocally then [ "postgresql.service" ] else [])
+        ++ (if cfg.automaticMigrations then [ "mastodon-init-db.service" ] else [ "mastodon-init-dirs.service" ]);
+      description = "Mastodon streaming";
+      wantedBy = [ "multi-user.target" ];
+      environment = env // (if cfg.enableUnixSocket
+        then { SOCKET = "/run/mastodon-streaming/streaming.socket"; }
+        else { PORT = toString(cfg.streamingPort); }
+      );
+      serviceConfig = {
+        ExecStart = "${cfg.package}/run-streaming.sh";
+        Restart = "always";
+        RestartSec = 20;
+        EnvironmentFile = "/var/lib/mastodon/.secrets_env";
+        WorkingDirectory = cfg.package;
+        # Runtime directory and mode
+        RuntimeDirectory = "mastodon-streaming";
+        RuntimeDirectoryMode = "0750";
+      } // cfgService;
+    };
+
+    systemd.services.mastodon-web = {
+      after = [ "network.target" ]
+        ++ (if databaseActuallyCreateLocally then [ "postgresql.service" ] else [])
+        ++ (if cfg.automaticMigrations then [ "mastodon-init-db.service" ] else [ "mastodon-init-dirs.service" ]);
+      description = "Mastodon web";
+      wantedBy = [ "multi-user.target" ];
+      environment = env // (if cfg.enableUnixSocket
+        then { SOCKET = "/run/mastodon-web/web.socket"; }
+        else { PORT = toString(cfg.webPort); }
+      );
+      serviceConfig = {
+        ExecStart = "${cfg.package}/bin/puma -C config/puma.rb";
+        Restart = "always";
+        RestartSec = 20;
+        EnvironmentFile = "/var/lib/mastodon/.secrets_env";
+        WorkingDirectory = cfg.package;
+        # Runtime directory and mode
+        RuntimeDirectory = "mastodon-web";
+        RuntimeDirectoryMode = "0750";
+      } // cfgService;
+      path = with pkgs; [ file imagemagick ffmpeg ];
+    };
+
+    systemd.services.mastodon-sidekiq = {
+      after = [ "network.target" ]
+        ++ (if databaseActuallyCreateLocally then [ "postgresql.service" ] else [])
+        ++ (if cfg.automaticMigrations then [ "mastodon-init-db.service" ] else [ "mastodon-init-dirs.service" ]);
+      description = "Mastodon sidekiq";
+      wantedBy = [ "multi-user.target" ];
+      environment = env // {
+        PORT = toString(cfg.sidekiqPort);
+      };
+      serviceConfig = {
+        ExecStart = "${cfg.package}/bin/sidekiq -c 25 -r ${cfg.package}";
+        Restart = "always";
+        RestartSec = 20;
+        EnvironmentFile = "/var/lib/mastodon/.secrets_env";
+        WorkingDirectory = cfg.package;
+      } // cfgService;
+      path = with pkgs; [ file imagemagick ffmpeg ];
+    };
+
+    services.nginx = lib.mkIf cfg.configureNginx {
+      enable = true;
+      recommendedProxySettings = true; # required for redirections to work
+      virtualHosts."${cfg.localDomain}" = {
+        root = "${cfg.package}/public/";
+        forceSSL = true; # mastodon only supports https
+        enableACME = true;
+
+        locations."/system/".alias = "/var/lib/mastodon/public-system/";
+
+        locations."/" = {
+          tryFiles = "$uri @proxy";
+        };
+
+        locations."@proxy" = {
+          proxyPass = (if cfg.enableUnixSocket then "http://unix:/run/mastodon-web/web.socket" else "http://127.0.0.1:${toString(cfg.webPort)}");
+          proxyWebsockets = true;
+        };
+
+        locations."/api/v1/streaming/" = {
+          proxyPass = (if cfg.enableUnixSocket then "http://unix:/run/mastodon-streaming/streaming.socket" else "http://127.0.0.1:${toString(cfg.streamingPort)}/");
+          proxyWebsockets = true;
+        };
+      };
+    };
+
+    services.postfix = lib.mkIf (cfg.smtp.createLocally && cfg.smtp.host == "127.0.0.1") {
+      enable = true;
+    };
+    services.redis = lib.mkIf (cfg.redis.createLocally && cfg.redis.host == "127.0.0.1") {
+      enable = true;
+    };
+    services.postgresql = lib.mkIf databaseActuallyCreateLocally {
+      enable = true;
+      ensureUsers = [
+        {
+          name = cfg.database.user;
+          ensurePermissions."DATABASE ${cfg.database.name}" = "ALL PRIVILEGES";
+        }
+      ];
+      ensureDatabases = [ cfg.database.name ];
+    };
+
+    users.users = lib.mkMerge [
+      (lib.mkIf (cfg.user == "mastodon") {
+        mastodon = {
+          isSystemUser = true;
+          home = cfg.package;
+          inherit (cfg) group;
+        };
+      })
+      (lib.attrsets.setAttrByPath [ cfg.user "packages" ] [ cfg.package mastodonEnv ])
+    ];
+
+    users.groups.${cfg.group}.members = lib.optional cfg.configureNginx config.services.nginx.user;
+  };
+
+  meta.maintainers = with lib.maintainers; [ happy-river erictapen ];
+
+}
diff --git a/nixos/modules/services/web-apps/miniflux.nix b/nixos/modules/services/web-apps/miniflux.nix
index 304712d0efc3e..62906d5e6a0ce 100644
--- a/nixos/modules/services/web-apps/miniflux.nix
+++ b/nixos/modules/services/web-apps/miniflux.nix
@@ -44,7 +44,7 @@ in
         '';
         description = ''
           Configuration for Miniflux, refer to
-          <link xlink:href="http://docs.miniflux.app/en/latest/configuration.html"/>
+          <link xlink:href="https://miniflux.app/docs/configuration.html"/>
           for documentation on the supported values.
         '';
       };
diff --git a/nixos/modules/services/web-apps/moinmoin.nix b/nixos/modules/services/web-apps/moinmoin.nix
index 3a876f75f4a48..7a54255a46efc 100644
--- a/nixos/modules/services/web-apps/moinmoin.nix
+++ b/nixos/modules/services/web-apps/moinmoin.nix
@@ -211,7 +211,7 @@ in
             environment = let
               penv = python.buildEnv.override {
                 # setuptools: https://github.com/benoitc/gunicorn/issues/1716
-                extraLibs = [ python.pkgs.gevent python.pkgs.setuptools pkg ];
+                extraLibs = [ python.pkgs.eventlet python.pkgs.setuptools pkg ];
               };
             in {
               PYTHONPATH = "${dataDir}/${wikiIdent}/config:${penv}/${python.sitePackages}";
@@ -233,7 +233,7 @@ in
               ExecStart = ''${python.pkgs.gunicorn}/bin/gunicorn moin_wsgi \
                 --name gunicorn-${wikiIdent} \
                 --workers ${toString cfg.gunicorn.workers} \
-                --worker-class gevent \
+                --worker-class eventlet \
                 --bind unix:/run/moin/${wikiIdent}/gunicorn.sock
               '';
 
diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix
index 1b643bd3260a2..de1c67235f491 100644
--- a/nixos/modules/services/web-apps/nextcloud.nix
+++ b/nixos/modules/services/web-apps/nextcloud.nix
@@ -244,7 +244,8 @@ in {
         type = types.nullOr types.str;
         default = null;
         description = ''
-          The full path to a file that contains the admin's password.
+          The full path to a file that contains the admin's password. Must be
+          readable by user <literal>nextcloud</literal>.
         '';
       };
 
@@ -367,7 +368,7 @@ in {
         '')
         ++ (optional (versionOlder cfg.package.version "18") (upgradeWarning 17 "20.03"))
         ++ (optional (versionOlder cfg.package.version "19") (upgradeWarning 18 "20.09"))
-        ++ (optional (versionOlder cfg.package.version "20") (upgradeWarning 19 "21.03"));
+        ++ (optional (versionOlder cfg.package.version "20") (upgradeWarning 19 "21.05"));
 
       services.nextcloud.package = with pkgs;
         mkDefault (
@@ -379,6 +380,10 @@ in {
             ''
           else if versionOlder stateVersion "20.03" then nextcloud17
           else if versionOlder stateVersion "20.09" then nextcloud18
+          # 21.03 will not be an official release - it was instead 21.05.
+          # This versionOlder statement remains set to 21.03 for backwards compatibility.
+          # See https://github.com/NixOS/nixpkgs/pull/108899 and
+          # https://github.com/NixOS/rfcs/blob/master/rfcs/0080-nixos-release-schedule.md.
           else if versionOlder stateVersion "21.03" then nextcloud19
           else nextcloud20
         );
@@ -482,6 +487,28 @@ in {
           path = [ occ ];
           script = ''
             chmod og+x ${cfg.home}
+
+            ${optionalString (c.dbpassFile != null) ''
+              if [ ! -r "${c.dbpassFile}" ]; then
+                echo "dbpassFile ${c.dbpassFile} is not readable by nextcloud:nextcloud! Aborting..."
+                exit 1
+              fi
+              if [ -z "$(<${c.dbpassFile})" ]; then
+                echo "dbpassFile ${c.dbpassFile} is empty!"
+                exit 1
+              fi
+            ''}
+            ${optionalString (c.adminpassFile != null) ''
+              if [ ! -r "${c.adminpassFile}" ]; then
+                echo "adminpassFile ${c.adminpassFile} is not readable by nextcloud:nextcloud! Aborting..."
+                exit 1
+              fi
+              if [ -z "$(<${c.adminpassFile})" ]; then
+                echo "adminpassFile ${c.adminpassFile} is empty!"
+                exit 1
+              fi
+            ''}
+
             ln -sf ${cfg.package}/apps ${cfg.home}/
 
             # create nextcloud directories.
@@ -575,11 +602,12 @@ in {
           "^~ /.well-known" = {
             priority = 210;
             extraConfig = ''
+              absolute_redirect off;
               location = /.well-known/carddav {
-                return 301 $scheme://$host/remote.php/dav;
+                return 301 /remote.php/dav;
               }
               location = /.well-known/caldav {
-                return 301 $scheme://$host/remote.php/dav;
+                return 301 /remote.php/dav;
               }
               try_files $uri $uri/ =404;
             '';
@@ -587,7 +615,7 @@ in {
           "~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/)".extraConfig = ''
             return 404;
           '';
-          "~ ^/(?:\\.|autotest|occ|issue|indie|db_|console)".extraConfig = ''
+          "~ ^/(?:\\.(?!well-known)|autotest|occ|issue|indie|db_|console)".extraConfig = ''
             return 404;
           '';
           "~ ^\\/(?:index|remote|public|cron|core\\/ajax\\/update|status|ocs\\/v[12]|updater\\/.+|oc[ms]-provider\\/.+|.+\\/richdocumentscode\\/proxy)\\.php(?:$|\\/)" = {
diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix
index de3c7d693d47b..b2bb5055cd4c4 100644
--- a/nixos/modules/services/web-servers/apache-httpd/default.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/default.nix
@@ -22,7 +22,9 @@ let
 
   php = cfg.phpPackage.override { apacheHttpd = pkg; };
 
-  phpMajorVersion = lib.versions.major (lib.getVersion php);
+  phpModuleName = let
+    majorVersion = lib.versions.major (lib.getVersion php);
+  in (if majorVersion == "8" then "php" else "php${majorVersion}");
 
   mod_perl = pkgs.apacheHttpdPackages.mod_perl.override { apacheHttpd = pkg; };
 
@@ -63,7 +65,7 @@ let
     ++ optional enableSSL "ssl"
     ++ optional enableUserDir "userdir"
     ++ optional cfg.enableMellon { name = "auth_mellon"; path = "${pkgs.apacheHttpdPackages.mod_auth_mellon}/modules/mod_auth_mellon.so"; }
-    ++ optional cfg.enablePHP { name = "php${phpMajorVersion}"; path = "${php}/modules/libphp${phpMajorVersion}.so"; }
+    ++ optional cfg.enablePHP { name = phpModuleName; path = "${php}/modules/lib${phpModuleName}.so"; }
     ++ optional cfg.enablePerl { name = "perl"; path = "${mod_perl}/modules/mod_perl.so"; }
     ++ cfg.extraModules;
 
@@ -126,10 +128,14 @@ let
     </IfModule>
   '';
 
-  luaSetPaths = ''
+  luaSetPaths = let
+    # support both lua and lua.withPackages derivations
+    luaversion = cfg.package.lua5.lua.luaversion or cfg.package.lua5.luaversion;
+    in
+  ''
     <IfModule mod_lua.c>
-      LuaPackageCPath ${cfg.package.lua5}/lib/lua/${cfg.package.lua5.lua.luaversion}/?.so
-      LuaPackagePath  ${cfg.package.lua5}/share/lua/${cfg.package.lua5.lua.luaversion}/?.lua
+      LuaPackageCPath ${cfg.package.lua5}/lib/lua/${luaversion}/?.so
+      LuaPackagePath  ${cfg.package.lua5}/share/lua/${luaversion}/?.lua
     </IfModule>
   '';
 
@@ -333,7 +339,7 @@ let
 
     ${sslConf}
 
-    ${if cfg.package.luaSupport then luaSetPaths else ""}
+    ${optionalString cfg.package.luaSupport luaSetPaths}
 
     # Fascist default - deny access to everything.
     <Directory />
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index 29cb7cedcb0f9..fa8614e8ec174 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -79,6 +79,8 @@ let
       include ${pkgs.mailcap}/etc/nginx/mime.types;
       include ${cfg.package}/conf/fastcgi.conf;
       include ${cfg.package}/conf/uwsgi_params;
+
+      default_type application/octet-stream;
   '';
 
   configFile = pkgs.writers.writeNginxConfig "nginx.conf" ''
diff --git a/nixos/modules/services/web-servers/nginx/location-options.nix b/nixos/modules/services/web-servers/nginx/location-options.nix
index 5a7f5188b6cfe..d8c976f202fd1 100644
--- a/nixos/modules/services/web-servers/nginx/location-options.nix
+++ b/nixos/modules/services/web-servers/nginx/location-options.nix
@@ -52,7 +52,7 @@ with lib;
       default = false;
       example = true;
       description = ''
-        Whether to supporty proxying websocket connections with HTTP/1.1.
+        Whether to support proxying websocket connections with HTTP/1.1.
       '';
     };
 
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index 671301246a8c7..99e6edfba26e2 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -197,12 +197,11 @@ in
   config = mkMerge [
     (mkIf (cfg.enable || flashbackEnabled) {
       # Seed our configuration into nixos-generate-config
-      system.nixos-generate-config.desktopConfiguration = ''
+      system.nixos-generate-config.desktopConfiguration = [''
         # Enable the GNOME 3 Desktop Environment.
-        services.xserver.enable = true;
         services.xserver.displayManager.gdm.enable = true;
         services.xserver.desktopManager.gnome3.enable = true;
-      '';
+      ''];
 
       services.gnome3.core-os-services.enable = true;
       services.gnome3.core-shell.enable = true;
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index d6cf86d3a2e61..44ee079b81737 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -184,12 +184,11 @@ in
   config = mkMerge [
     (mkIf cfg.enable {
       # Seed our configuration into nixos-generate-config
-      system.nixos-generate-config.desktopConfiguration = ''
+      system.nixos-generate-config.desktopConfiguration = [''
         # Enable the Plasma 5 Desktop Environment.
-        services.xserver.enable = true;
         services.xserver.displayManager.sddm.enable = true;
         services.xserver.desktopManager.plasma5.enable = true;
-      '';
+      ''];
 
       services.xserver.desktopManager.session = singleton {
         name = "plasma5";
diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix
index 9fdbe753dad50..e04fcdaf4145d 100644
--- a/nixos/modules/services/x11/display-managers/default.nix
+++ b/nixos/modules/services/x11/display-managers/default.nix
@@ -37,6 +37,11 @@ let
       . /etc/profile
       cd "$HOME"
 
+      # Allow the user to execute commands at the beginning of the X session.
+      if test -f ~/.xprofile; then
+          source ~/.xprofile
+      fi
+
       ${optionalString cfg.displayManager.job.logToJournal ''
         if [ -z "$_DID_SYSTEMD_CAT" ]; then
           export _DID_SYSTEMD_CAT=1
@@ -64,22 +69,23 @@ let
 
       # Speed up application start by 50-150ms according to
       # http://kdemonkey.blogspot.nl/2008/04/magic-trick.html
-      rm -rf "$HOME/.compose-cache"
-      mkdir "$HOME/.compose-cache"
+      compose_cache="''${XCOMPOSECACHE:-$HOME/.compose-cache}"
+      mkdir -p "$compose_cache"
+      # To avoid accidentally deleting a wrongly set up XCOMPOSECACHE directory,
+      # defensively try to delete cache *files* only, following the file format specified in
+      # https://gitlab.freedesktop.org/xorg/lib/libx11/-/blob/master/modules/im/ximcp/imLcIm.c#L353-358
+      # sprintf (*res, "%s/%c%d_%03x_%08x_%08x", dir, _XimGetMyEndian(), XIM_CACHE_VERSION, (unsigned int)sizeof (DefTree), hash, hash2);
+      ${pkgs.findutils}/bin/find "$compose_cache" -maxdepth 1 -regextype posix-extended -regex '.*/[Bl][0-9]+_[0-9a-f]{3}_[0-9a-f]{8}_[0-9a-f]{8}' -delete
+      unset compose_cache
 
       # Work around KDE errors when a user first logs in and
       # .local/share doesn't exist yet.
-      mkdir -p "$HOME/.local/share"
+      mkdir -p "''${XDG_DATA_HOME:-$HOME/.local/share}"
 
       unset _DID_SYSTEMD_CAT
 
       ${cfg.displayManager.sessionCommands}
 
-      # Allow the user to execute commands at the beginning of the X session.
-      if test -f ~/.xprofile; then
-          source ~/.xprofile
-      fi
-
       # Start systemd user services for graphical sessions
       /run/current-system/systemd/bin/systemctl --user start graphical-session.target
 
diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix
index e3c5adb9737fc..f79eb64b5a6a2 100644
--- a/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/nixos/modules/services/x11/display-managers/gdm.nix
@@ -183,14 +183,20 @@ in
       "systemd-udev-settle.service"
     ];
     systemd.services.display-manager.conflicts = [
-       "getty@tty${gdm.initialVT}.service"
-       # TODO: Add "plymouth-quit.service" so GDM can control when plymouth quits.
-       # Currently this breaks switching configurations while using plymouth.
+      "getty@tty${gdm.initialVT}.service"
+      "plymouth-quit.service"
     ];
     systemd.services.display-manager.onFailure = [
       "plymouth-quit.service"
     ];
 
+    # Prevent nixos-rebuild switch from bringing down the graphical
+    # session. (If multi-user.target wants plymouth-quit.service which
+    # conflicts display-manager.service, then when nixos-rebuild
+    # switch starts multi-user.target, display-manager.service is
+    # stopped so plymouth-quit.service can be started.)
+    systemd.services.plymouth-quit.wantedBy = lib.mkForce [];
+
     systemd.services.display-manager.serviceConfig = {
       # Restart = "always"; - already defined in xserver.nix
       KillMode = "mixed";
diff --git a/nixos/modules/services/x11/window-managers/herbstluftwm.nix b/nixos/modules/services/x11/window-managers/herbstluftwm.nix
index e3ea61cb9a6be..548097a412d23 100644
--- a/nixos/modules/services/x11/window-managers/herbstluftwm.nix
+++ b/nixos/modules/services/x11/window-managers/herbstluftwm.nix
@@ -11,6 +11,15 @@ in
     services.xserver.windowManager.herbstluftwm = {
       enable = mkEnableOption "herbstluftwm";
 
+      package = mkOption {
+        type = types.package;
+        default = pkgs.herbstluftwm;
+        defaultText = "pkgs.herbstluftwm";
+        description = ''
+          Herbstluftwm package to use.
+        '';
+      };
+
       configFile = mkOption {
         default     = null;
         type        = with types; nullOr path;
@@ -31,8 +40,8 @@ in
             (cfg.configFile != null)
             ''-c "${cfg.configFile}"''
             ;
-        in "${pkgs.herbstluftwm}/bin/herbstluftwm ${configFileClause}";
+        in "${cfg.package}/bin/herbstluftwm ${configFileClause}";
     };
-    environment.systemPackages = [ pkgs.herbstluftwm ];
+    environment.systemPackages = [ cfg.package ];
   };
 }
diff --git a/nixos/modules/services/x11/window-managers/xmonad.nix b/nixos/modules/services/x11/window-managers/xmonad.nix
index 1ad0bb9ce677d..fe8ed38125114 100644
--- a/nixos/modules/services/x11/window-managers/xmonad.nix
+++ b/nixos/modules/services/x11/window-managers/xmonad.nix
@@ -43,7 +43,6 @@ in {
       haskellPackages = mkOption {
         default = pkgs.haskellPackages;
         defaultText = "pkgs.haskellPackages";
-        type = types.package;
         example = literalExample "pkgs.haskell.packages.ghc784";
         description = ''
           haskellPackages used to build Xmonad and other packages.
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index e89ad9a57962c..8858559d8f27d 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -650,7 +650,7 @@ in
         xorg.xprop
         xorg.xauth
         pkgs.xterm
-        pkgs.xdg_utils
+        pkgs.xdg-utils
         xorg.xf86inputevdev.out # get evdev.4 man page
       ]
       ++ optional (elem "virtualbox" cfg.videoDrivers) xorg.xrefresh;
diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix
index 9287852bacfda..363d8e47a0ff1 100644
--- a/nixos/modules/system/boot/kernel.nix
+++ b/nixos/modules/system/boot/kernel.nix
@@ -37,10 +37,12 @@ in
     boot.kernelPackages = mkOption {
       default = pkgs.linuxPackages;
       type = types.unspecified // { merge = mergeEqualOption; };
-      apply = kernelPackages: pkgs.linuxPackagesFor (kernelPackages.kernel.override {
-        inherit randstructSeed;
-        kernelPatches = kernelPackages.kernel.kernelPatches ++ kernelPatches;
-        features = lib.recursiveUpdate kernelPackages.kernel.features features;
+      apply = kernelPackages: kernelPackages.extend (self: super: {
+        kernel = super.kernel.override {
+          inherit randstructSeed;
+          kernelPatches = super.kernel.kernelPatches ++ 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.
@@ -154,6 +156,16 @@ in
       description = "List of modules that are always loaded by the initrd.";
     };
 
+    boot.initrd.includeDefaultModules = mkOption {
+      type = types.bool;
+      default = true;
+      description = ''
+        This option, if set, adds a collection of default kernel modules
+        to <option>boot.initrd.availableKernelModules</option> and
+        <option>boot.initrd.kernelModules</option>.
+      '';
+    };
+
     system.modulesTree = mkOption {
       type = types.listOf types.path;
       internal = true;
@@ -193,7 +205,8 @@ in
   config = mkMerge
     [ (mkIf config.boot.initrd.enable {
         boot.initrd.availableKernelModules =
-          [ # Note: most of these (especially the SATA/PATA modules)
+          optionals config.boot.initrd.includeDefaultModules ([
+            # Note: most of these (especially the SATA/PATA modules)
             # shouldn't be included by default since nixos-generate-config
             # detects them, but I'm keeping them for now for backwards
             # compatibility.
@@ -233,10 +246,11 @@ in
 
             # x86 RTC needed by the stage 2 init script.
             "rtc_cmos"
-          ];
+          ]);
 
         boot.initrd.kernelModules =
-          [ # For LVM.
+          optionals config.boot.initrd.includeDefaultModules [
+            # For LVM.
             "dm_mod"
           ];
       })
diff --git a/nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.sh b/nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.sh
index 854684b87face..5ffffb95edb1b 100644
--- a/nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.sh
+++ b/nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.sh
@@ -109,7 +109,7 @@ addEntry() {
             exit 1
         fi
     fi
-    echo "  APPEND systemConfig=$path init=$path/init $extraParams"
+    echo "  APPEND init=$path/init $extraParams"
 }
 
 tmpFile="$target/extlinux/extlinux.conf.tmp.$$"
diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl
index 59f5638044fe9..e0167654748e1 100644
--- a/nixos/modules/system/boot/loader/grub/install-grub.pl
+++ b/nixos/modules/system/boot/loader/grub/install-grub.pl
@@ -102,10 +102,10 @@ if (stat($bootPath)->dev != stat("/nix/store")->dev) {
 
 # Discover information about the location of the bootPath
 struct(Fs => {
-    device => '$',
-    type => '$',
-    mount => '$',
-});
+        device => '$',
+        type => '$',
+        mount => '$',
+    });
 sub PathInMount {
     my ($path, $mount) = @_;
     my @splitMount = split /\//, $mount;
@@ -154,16 +154,16 @@ sub GetFs {
     return $bestFs;
 }
 struct (Grub => {
-    path => '$',
-    search => '$',
-});
+        path => '$',
+        search => '$',
+    });
 my $driveid = 1;
 sub GrubFs {
     my ($dir) = @_;
     my $fs = GetFs($dir);
     my $path = substr($dir, length($fs->mount));
     if (substr($path, 0, 1) ne "/") {
-      $path = "/$path";
+        $path = "/$path";
     }
     my $search = "";
 
@@ -251,8 +251,8 @@ my $conf .= "# Automatically generated.  DO NOT EDIT THIS FILE!\n";
 
 if ($grubVersion == 1) {
     $conf .= "
-        default $defaultEntry
-        timeout $timeout
+    default $defaultEntry
+    timeout $timeout
     ";
     if ($splashImage) {
         copy $splashImage, "$bootPath/background.xpm.gz" or die "cannot copy $splashImage to $bootPath: $!\n";
@@ -302,51 +302,51 @@ else {
 
     if ($copyKernels == 0) {
         $conf .= "
-            " . $grubStore->search;
+        " . $grubStore->search;
     }
     # FIXME: should use grub-mkconfig.
     $conf .= "
-        " . $grubBoot->search . "
-        if [ -s \$prefix/grubenv ]; then
-          load_env
-        fi
-
-        # ‘grub-reboot’ sets a one-time saved entry, which we process here and
-        # then delete.
-        if [ \"\${next_entry}\" ]; then
-          set default=\"\${next_entry}\"
-          set next_entry=
-          save_env next_entry
-          set timeout=1
-        else
-          set default=$defaultEntry
-          set timeout=$timeout
-        fi
-
-        # Setup the graphics stack for bios and efi systems
-        if [ \"\${grub_platform}\" = \"efi\" ]; then
-          insmod efi_gop
-          insmod efi_uga
-        else
-          insmod vbe
-        fi
+    " . $grubBoot->search . "
+    if [ -s \$prefix/grubenv ]; then
+    load_env
+    fi
+
+    # ‘grub-reboot’ sets a one-time saved entry, which we process here and
+    # then delete.
+    if [ \"\${next_entry}\" ]; then
+    set default=\"\${next_entry}\"
+    set next_entry=
+    save_env next_entry
+    set timeout=1
+    else
+    set default=$defaultEntry
+    set timeout=$timeout
+    fi
+
+    # Setup the graphics stack for bios and efi systems
+    if [ \"\${grub_platform}\" = \"efi\" ]; then
+    insmod efi_gop
+    insmod efi_uga
+    else
+    insmod vbe
+    fi
     ";
 
     if ($font) {
         copy $font, "$bootPath/converted-font.pf2" or die "cannot copy $font to $bootPath: $!\n";
         $conf .= "
-            insmod font
-            if loadfont " . ($grubBoot->path eq "/" ? "" : $grubBoot->path) . "/converted-font.pf2; then
-              insmod gfxterm
-              if [ \"\${grub_platform}\" = \"efi\" ]; then
-                set gfxmode=$gfxmodeEfi
-                set gfxpayload=$gfxpayloadEfi
-              else
-                set gfxmode=$gfxmodeBios
-                set gfxpayload=$gfxpayloadBios
-              fi
-              terminal_output gfxterm
-            fi
+        insmod font
+        if loadfont " . ($grubBoot->path eq "/" ? "" : $grubBoot->path) . "/converted-font.pf2; then
+        insmod gfxterm
+        if [ \"\${grub_platform}\" = \"efi\" ]; then
+        set gfxmode=$gfxmodeEfi
+        set gfxpayload=$gfxpayloadEfi
+        else
+        set gfxmode=$gfxmodeBios
+        set gfxpayload=$gfxpayloadBios
+        fi
+        terminal_output gfxterm
+        fi
         ";
     }
     if ($splashImage) {
@@ -356,21 +356,21 @@ else {
         if ($suffix eq ".jpg") {
             $suffix = ".jpeg";
         }
-		if ($backgroundColor) {
-			$conf .= "
-		    background_color '$backgroundColor'
-		    ";
-		}
+        if ($backgroundColor) {
+            $conf .= "
+            background_color '$backgroundColor'
+            ";
+        }
         copy $splashImage, "$bootPath/background$suffix" or die "cannot copy $splashImage to $bootPath: $!\n";
         $conf .= "
-            insmod " . substr($suffix, 1) . "
-            if background_image --mode '$splashMode' " . ($grubBoot->path eq "/" ? "" : $grubBoot->path) . "/background$suffix; then
-              set color_normal=white/black
-              set color_highlight=black/white
-            else
-              set menu_color_normal=cyan/blue
-              set menu_color_highlight=white/blue
-            fi
+        insmod " . substr($suffix, 1) . "
+        if background_image --mode '$splashMode' " . ($grubBoot->path eq "/" ? "" : $grubBoot->path) . "/background$suffix; then
+        set color_normal=white/black
+        set color_highlight=black/white
+        else
+        set menu_color_normal=cyan/blue
+        set menu_color_highlight=white/blue
+        fi
         ";
     }
 
@@ -380,21 +380,21 @@ else {
         # Copy theme
         rcopy($theme, "$bootPath/theme") or die "cannot copy $theme to $bootPath\n";
         $conf .= "
-            # Sets theme.
-            set theme=" . ($grubBoot->path eq "/" ? "" : $grubBoot->path) . "/theme/theme.txt
-            export theme
-            # Load theme fonts, if any
-         ";
-
-         find( { wanted => sub {
-             if ($_ =~ /\.pf2$/i) {
-                 $font = File::Spec->abs2rel($File::Find::name, $theme);
-                 $conf .= "
-                     loadfont " . ($grubBoot->path eq "/" ? "" : $grubBoot->path) . "/theme/$font
-                 ";
-             }
-         }, no_chdir => 1 }, $theme );
-     }
+        # Sets theme.
+        set theme=" . ($grubBoot->path eq "/" ? "" : $grubBoot->path) . "/theme/theme.txt
+        export theme
+        # Load theme fonts, if any
+        ";
+
+        find( { wanted => sub {
+                    if ($_ =~ /\.pf2$/i) {
+                        $font = File::Spec->abs2rel($File::Find::name, $theme);
+                        $conf .= "
+                        loadfont " . ($grubBoot->path eq "/" ? "" : $grubBoot->path) . "/theme/$font
+                        ";
+                    }
+                }, no_chdir => 1 }, $theme );
+    }
 }
 
 $conf .= "$extraConfig\n";
@@ -433,25 +433,25 @@ sub addEntry {
 
     # Include second initrd with secrets
     if (-e -x "$path/append-initrd-secrets") {
-      my $initrdName = basename($initrd);
-      my $initrdSecretsPath = "$bootPath/kernels/$initrdName-secrets";
-
-      mkpath(dirname($initrdSecretsPath), 0, 0755);
-      my $oldUmask = umask;
-      # Make sure initrd is not world readable (won't work if /boot is FAT)
-      umask 0137;
-      my $initrdSecretsPathTemp = File::Temp::mktemp("$initrdSecretsPath.XXXXXXXX");
-      system("$path/append-initrd-secrets", $initrdSecretsPathTemp) == 0 or die "failed to create initrd secrets: $!\n";
-      # Check whether any secrets were actually added
-      if (-e $initrdSecretsPathTemp && ! -z _) {
-        rename $initrdSecretsPathTemp, $initrdSecretsPath or die "failed to move initrd secrets into place: $!\n";
-        $copied{$initrdSecretsPath} = 1;
-        $initrd .= " " . ($grubBoot->path eq "/" ? "" : $grubBoot->path) . "/kernels/$initrdName-secrets";
-      } else {
-        unlink $initrdSecretsPathTemp;
-        rmdir dirname($initrdSecretsPathTemp);
-      }
-      umask $oldUmask;
+        my $initrdName = basename($initrd);
+        my $initrdSecretsPath = "$bootPath/kernels/$initrdName-secrets";
+
+        mkpath(dirname($initrdSecretsPath), 0, 0755);
+        my $oldUmask = umask;
+        # Make sure initrd is not world readable (won't work if /boot is FAT)
+        umask 0137;
+        my $initrdSecretsPathTemp = File::Temp::mktemp("$initrdSecretsPath.XXXXXXXX");
+        system("$path/append-initrd-secrets", $initrdSecretsPathTemp) == 0 or die "failed to create initrd secrets: $!\n";
+        # Check whether any secrets were actually added
+        if (-e $initrdSecretsPathTemp && ! -z _) {
+            rename $initrdSecretsPathTemp, $initrdSecretsPath or die "failed to move initrd secrets into place: $!\n";
+            $copied{$initrdSecretsPath} = 1;
+            $initrd .= " " . ($grubBoot->path eq "/" ? "" : $grubBoot->path) . "/kernels/$initrdName-secrets";
+        } else {
+            unlink $initrdSecretsPathTemp;
+            rmdir dirname($initrdSecretsPathTemp);
+        }
+        umask $oldUmask;
     }
 
     my $xen = -e "$path/xen.gz" ? copyToKernelsDir(Cwd::abs_path("$path/xen.gz")) : undef;
@@ -459,9 +459,8 @@ sub addEntry {
     # FIXME: $confName
 
     my $kernelParams =
-        "systemConfig=" . Cwd::abs_path($path) . " " .
-        "init=" . Cwd::abs_path("$path/init") . " " .
-        readFile("$path/kernel-params");
+    "init=" . Cwd::abs_path("$path/init") . " " .
+    readFile("$path/kernel-params");
     my $xenParams = $xen && -e "$path/xen-params" ? readFile("$path/xen-params") : "";
 
     if ($grubVersion == 1) {
@@ -503,9 +502,9 @@ foreach my $link (@links) {
 
     my $date = strftime("%F", localtime(lstat($link)->mtime));
     my $version =
-        -e "$link/nixos-version"
-        ? readFile("$link/nixos-version")
-        : basename((glob(dirname(Cwd::abs_path("$link/kernel")) . "/lib/modules/*"))[0]);
+    -e "$link/nixos-version"
+    ? readFile("$link/nixos-version")
+    : basename((glob(dirname(Cwd::abs_path("$link/kernel")) . "/lib/modules/*"))[0]);
 
     if ($cfgName) {
         $entryName = $cfgName;
@@ -530,8 +529,8 @@ sub addProfile {
     sub nrFromGen { my ($x) = @_; $x =~ /\/\w+-(\d+)-link/; return $1; }
 
     my @links = sort
-        { nrFromGen($b) <=> nrFromGen($a) }
-        (glob "$profile-*-link");
+    { nrFromGen($b) <=> nrFromGen($a) }
+    (glob "$profile-*-link");
 
     my $curEntry = 0;
     foreach my $link (@links) {
@@ -542,9 +541,9 @@ sub addProfile {
         }
         my $date = strftime("%F", localtime(lstat($link)->mtime));
         my $version =
-            -e "$link/nixos-version"
-            ? readFile("$link/nixos-version")
-            : basename((glob(dirname(Cwd::abs_path("$link/kernel")) . "/lib/modules/*"))[0]);
+        -e "$link/nixos-version"
+        ? readFile("$link/nixos-version")
+        : basename((glob(dirname(Cwd::abs_path("$link/kernel")) . "/lib/modules/*"))[0]);
         addEntry("NixOS - Configuration " . nrFromGen($link) . " ($date - $version)", $link);
     }
 
@@ -566,7 +565,7 @@ $extraPrepareConfig =~ s/\@bootPath\@/$bootPath/g;
 
 # Run extraPrepareConfig in sh
 if ($extraPrepareConfig ne "") {
-  system((get("shell"), "-c", $extraPrepareConfig));
+    system((get("shell"), "-c", $extraPrepareConfig));
 }
 
 # write the GRUB config.
@@ -627,13 +626,13 @@ foreach my $fn (glob "$bootPath/kernels/*") {
 #
 
 struct(GrubState => {
-    name => '$',
-    version => '$',
-    efi => '$',
-    devices => '$',
-    efiMountPoint => '$',
-    extraGrubInstallArgs => '@',
-});
+        name => '$',
+        version => '$',
+        efi => '$',
+        devices => '$',
+        efiMountPoint => '$',
+        extraGrubInstallArgs => '@',
+    });
 # If you add something to the state file, only add it to the end
 # because it is read line-by-line.
 sub readGrubState {
diff --git a/nixos/modules/system/boot/loader/init-script/init-script-builder.sh b/nixos/modules/system/boot/loader/init-script/init-script-builder.sh
index 2a1ec479fea04..bd3fc64999da5 100644
--- a/nixos/modules/system/boot/loader/init-script/init-script-builder.sh
+++ b/nixos/modules/system/boot/loader/init-script/init-script-builder.sh
@@ -49,7 +49,6 @@ addEntry() {
       echo "#!/bin/sh"
       echo "# $name"
       echo "# created by init-script-builder.sh"
-      echo "export systemConfig=$(readlink -f $path)"
       echo "exec $stage2"
     )"
 
diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
index 97e824fe629ce..6bee900c68304 100644
--- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
+++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
@@ -101,7 +101,7 @@ def write_entry(profile, generation, machine_id):
         entry_file = "@efiSysMountPoint@/loader/entries/nixos-generation-%d.conf" % (generation)
     generation_dir = os.readlink(system_dir(profile, generation))
     tmp_path = "%s.tmp" % (entry_file)
-    kernel_params = "systemConfig=%s init=%s/init " % (generation_dir, generation_dir)
+    kernel_params = "init=%s/init " % generation_dir
 
     with open("%s/kernel-params" % (generation_dir)) as params_file:
         kernel_params = kernel_params + params_file.read()
diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix
index 8dd2ea20519a1..fa14d86e253df 100644
--- a/nixos/modules/system/boot/luksroot.nix
+++ b/nixos/modules/system/boot/luksroot.nix
@@ -56,7 +56,7 @@ let
 
         ykinfo -v 1>/dev/null 2>&1
         if [ $? != 0 ]; then
-            echo -n "Waiting $secs seconds for Yubikey to appear..."
+            echo -n "Waiting $secs seconds for YubiKey to appear..."
             local success=false
             for try in $(seq $secs); do
                 echo -n .
@@ -118,7 +118,7 @@ let
     # Cryptsetup locking directory
     mkdir -p /run/cryptsetup
 
-    # For Yubikey salt storage
+    # For YubiKey salt storage
     mkdir -p /crypt-storage
 
     ${optionalString luks.gpgSupport ''
@@ -218,7 +218,7 @@ let
     }
 
     ${optionalString (luks.yubikeySupport && (yubikey != null)) ''
-    # Yubikey
+    # YubiKey
     rbtohex() {
         ( od -An -vtx1 | tr -d ' \n' )
     }
@@ -244,7 +244,7 @@ let
         local new_k_luks
 
         mount -t ${yubikey.storage.fsType} ${yubikey.storage.device} /crypt-storage || \
-          die "Failed to mount Yubikey salt storage device"
+          die "Failed to mount YubiKey salt storage device"
 
         salt="$(cat /crypt-storage${yubikey.storage.path} | sed -n 1p | tr -d '\n')"
         iterations="$(cat /crypt-storage${yubikey.storage.path} | sed -n 2p | tr -d '\n')"
@@ -254,8 +254,27 @@ let
         for try in $(seq 3); do
             ${optionalString yubikey.twoFactor ''
             echo -n "Enter two-factor passphrase: "
-            read -r k_user
-            echo
+            k_user=
+            while true; do
+                if [ -e /crypt-ramfs/passphrase ]; then
+                    echo "reused"
+                    k_user=$(cat /crypt-ramfs/passphrase)
+                    break
+                else
+                    # Try reading it from /dev/console with a timeout
+                    IFS= read -t 1 -r k_user
+                    if [ -n "$k_user" ]; then
+                       ${if luks.reusePassphrases then ''
+                         # Remember it for the next device
+                         echo -n "$k_user" > /crypt-ramfs/passphrase
+                       '' else ''
+                         # Don't save it to ramfs. We are very paranoid
+                       ''}
+                       echo
+                       break
+                    fi
+                fi
+            done
             ''}
 
             if [ ! -z "$k_user" ]; then
@@ -268,6 +287,11 @@ let
 
             if [ $? == 0 ]; then
                 opened=true
+                ${if luks.reusePassphrases then ''
+                  # We don't rm here because we might reuse it for the next device
+                '' else ''
+                  rm -f /crypt-ramfs/passphrase
+                ''}
                 break
             else
                 opened=false
@@ -317,7 +341,7 @@ let
         if wait_yubikey ${toString yubikey.gracePeriod}; then
             do_open_yubikey
         else
-            echo "No yubikey found, falling back to non-yubikey open procedure"
+            echo "No YubiKey found, falling back to non-YubiKey open procedure"
             open_normally
         fi
     }
@@ -665,8 +689,8 @@ in
           yubikey = mkOption {
             default = null;
             description = ''
-              The options to use for this LUKS device in Yubikey-PBA.
-              If null (the default), Yubikey-PBA will be disabled for this device.
+              The options to use for this LUKS device in YubiKey-PBA.
+              If null (the default), YubiKey-PBA will be disabled for this device.
             '';
 
             type = with types; nullOr (submodule {
@@ -674,13 +698,13 @@ in
                 twoFactor = mkOption {
                   default = true;
                   type = types.bool;
-                  description = "Whether to use a passphrase and a Yubikey (true), or only a Yubikey (false).";
+                  description = "Whether to use a passphrase and a YubiKey (true), or only a YubiKey (false).";
                 };
 
                 slot = mkOption {
                   default = 2;
                   type = types.int;
-                  description = "Which slot on the Yubikey to challenge.";
+                  description = "Which slot on the YubiKey to challenge.";
                 };
 
                 saltLength = mkOption {
@@ -704,7 +728,7 @@ in
                 gracePeriod = mkOption {
                   default = 10;
                   type = types.int;
-                  description = "Time in seconds to wait for the Yubikey.";
+                  description = "Time in seconds to wait for the YubiKey.";
                 };
 
                 /* TODO: Add to the documentation of the current module:
@@ -779,9 +803,9 @@ in
       default = false;
       type = types.bool;
       description = ''
-            Enables support for authenticating with a Yubikey on LUKS devices.
+            Enables support for authenticating with a YubiKey on LUKS devices.
             See the NixOS wiki for information on how to properly setup a LUKS device
-            and a Yubikey to work with this feature.
+            and a YubiKey to work with this feature.
           '';
     };
 
@@ -799,7 +823,7 @@ in
 
     assertions =
       [ { assertion = !(luks.gpgSupport && luks.yubikeySupport);
-          message = "Yubikey and GPG Card may not be used at the same time.";
+          message = "YubiKey and GPG Card may not be used at the same time.";
         }
 
         { assertion = !(luks.gpgSupport && luks.fido2Support);
@@ -807,7 +831,7 @@ in
         }
 
         { assertion = !(luks.fido2Support && luks.yubikeySupport);
-          message = "FIDO2 and Yubikey may not be used at the same time.";
+          message = "FIDO2 and YubiKey may not be used at the same time.";
         }
       ];
 
diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix
index 3b01bc00bafa2..bbdd5a4070600 100644
--- a/nixos/modules/system/boot/networkd.nix
+++ b/nixos/modules/system/boot/networkd.nix
@@ -436,7 +436,8 @@ let
           "IPv4ProxyARP"
           "IPv6ProxyNDP"
           "IPv6ProxyNDPAddress"
-          "IPv6PrefixDelegation"
+          "IPv6SendRA"
+          "DHCPv6PrefixDelegation"
           "IPv6MTUBytes"
           "Bridge"
           "Bond"
@@ -477,7 +478,8 @@ let
         (assertMinimum "IPv6HopLimit" 0)
         (assertValueOneOf "IPv4ProxyARP" boolValues)
         (assertValueOneOf "IPv6ProxyNDP" boolValues)
-        (assertValueOneOf "IPv6PrefixDelegation" ["static" "dhcpv6" "yes" "false"])
+        (assertValueOneOf "IPv6SendRA" boolValues)
+        (assertValueOneOf "DHCPv6PrefixDelegation" boolValues)
         (assertByteFormat "IPv6MTUBytes")
         (assertValueOneOf "ActiveSlave" boolValues)
         (assertValueOneOf "PrimarySlave" boolValues)
@@ -643,18 +645,63 @@ let
 
       sectionDHCPv6 = checkUnitConfig "DHCPv6" [
         (assertOnlyFields [
+          "UseAddress"
           "UseDNS"
           "UseNTP"
+          "RouteMetric"
           "RapidCommit"
+          "MUDURL"
+          "RequestOptions"
+          "SendVendorOption"
           "ForceDHCPv6PDOtherInformation"
           "PrefixDelegationHint"
-          "RouteMetric"
+          "WithoutRA"
+          "SendOption"
+          "UserClass"
+          "VendorClass"
         ])
+        (assertValueOneOf "UseAddress" boolValues)
         (assertValueOneOf "UseDNS" boolValues)
         (assertValueOneOf "UseNTP" boolValues)
+        (assertInt "RouteMetric")
         (assertValueOneOf "RapidCommit" boolValues)
         (assertValueOneOf "ForceDHCPv6PDOtherInformation" boolValues)
-        (assertInt "RouteMetric")
+        (assertValueOneOf "WithoutRA" ["solicit" "information-request"])
+        (assertRange "SendOption" 1 65536)
+      ];
+
+      sectionDHCPv6PrefixDelegation = checkUnitConfig "DHCPv6PrefixDelegation" [
+        (assertOnlyFields [
+          "SubnetId"
+          "Announce"
+          "Assign"
+          "Token"
+        ])
+        (assertValueOneOf "Announce" boolValues)
+        (assertValueOneOf "Assign" boolValues)
+      ];
+
+      sectionIPv6AcceptRA = checkUnitConfig "IPv6AcceptRA" [
+        (assertOnlyFields [
+          "UseDNS"
+          "UseDomains"
+          "RouteTable"
+          "UseAutonomousPrefix"
+          "UseOnLinkPrefix"
+          "RouterDenyList"
+          "RouterAllowList"
+          "PrefixDenyList"
+          "PrefixAllowList"
+          "RouteDenyList"
+          "RouteAllowList"
+          "DHCPv6Client"
+        ])
+        (assertValueOneOf "UseDNS" boolValues)
+        (assertValueOneOf "UseDomains" (boolValues ++ ["route"]))
+        (assertRange "RouteTable" 0 4294967295)
+        (assertValueOneOf "UseAutonomousPrefix" boolValues)
+        (assertValueOneOf "UseOnLinkPrefix" boolValues)
+        (assertValueOneOf "DHCPv6Client" (boolValues ++ ["always"]))
       ];
 
       sectionDHCPServer = checkUnitConfig "DHCPServer" [
@@ -685,7 +732,7 @@ let
         (assertValueOneOf "EmitTimezone" boolValues)
       ];
 
-      sectionIPv6PrefixDelegation = checkUnitConfig "IPv6PrefixDelegation" [
+      sectionIPv6SendRA = checkUnitConfig "IPv6SendRA" [
         (assertOnlyFields [
           "Managed"
           "OtherInformation"
@@ -1090,6 +1137,30 @@ let
       '';
     };
 
+    dhcpV6PrefixDelegationConfig = mkOption {
+      default = {};
+      example = { SubnetId = "auto"; Announce = true; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionDHCPv6PrefixDelegation;
+      description = ''
+        Each attribute in this set specifies an option in the
+        <literal>[DHCPv6PrefixDelegation]</literal> section of the unit. See
+        <citerefentry><refentrytitle>systemd.network</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
+    ipv6AcceptRAConfig = mkOption {
+      default = {};
+      example = { UseDNS = true; DHCPv6Client = "always"; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionIPv6AcceptRA;
+      description = ''
+        Each attribute in this set specifies an option in the
+        <literal>[IPv6AcceptRA]</literal> section of the unit. See
+        <citerefentry><refentrytitle>systemd.network</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
     dhcpServerConfig = mkOption {
       default = {};
       example = { PoolOffset = 50; EmitDNS = false; };
@@ -1102,13 +1173,20 @@ let
       '';
     };
 
+    # systemd.network.networks.*.ipv6PrefixDelegationConfig has been deprecated
+    # in 247 in favor of systemd.network.networks.*.ipv6SendRAConfig.
     ipv6PrefixDelegationConfig = mkOption {
+      visible = false;
+      apply = _: throw "The option `systemd.network.networks.*.ipv6PrefixDelegationConfig` has been replaced by `systemd.network.networks.*.ipv6SendRAConfig`.";
+    };
+
+    ipv6SendRAConfig = mkOption {
       default = {};
       example = { EmitDNS = true; Managed = true; OtherInformation = true; };
-      type = types.addCheck (types.attrsOf unitOption) check.network.sectionIPv6PrefixDelegation;
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionIPv6SendRA;
       description = ''
         Each attribute in this set specifies an option in the
-        <literal>[IPv6PrefixDelegation]</literal> section of the unit.  See
+        <literal>[IPv6SendRA]</literal> section of the unit.  See
         <citerefentry><refentrytitle>systemd.network</refentrytitle>
         <manvolnum>5</manvolnum></citerefentry> for details.
       '';
@@ -1457,13 +1535,21 @@ let
           [DHCPv6]
           ${attrsToSection def.dhcpV6Config}
         ''
+        + optionalString (def.dhcpV6PrefixDelegationConfig != { }) ''
+          [DHCPv6PrefixDelegation]
+          ${attrsToSection def.dhcpV6PrefixDelegationConfig}
+        ''
+        + optionalString (def.ipv6AcceptRAConfig != { }) ''
+          [IPv6AcceptRA]
+          ${attrsToSection def.ipv6AcceptRAConfig}
+        ''
         + optionalString (def.dhcpServerConfig != { }) ''
           [DHCPServer]
           ${attrsToSection def.dhcpServerConfig}
         ''
-        + optionalString (def.ipv6PrefixDelegationConfig != { }) ''
-          [IPv6PrefixDelegation]
-          ${attrsToSection def.ipv6PrefixDelegationConfig}
+        + optionalString (def.ipv6SendRAConfig != { }) ''
+          [IPv6SendRA]
+          ${attrsToSection def.ipv6SendRAConfig}
         ''
         + flip concatMapStrings def.ipv6Prefixes (x: ''
           [IPv6Prefix]
@@ -1479,7 +1565,6 @@ let
 in
 
 {
-
   options = {
 
     systemd.network.enable = mkOption {
@@ -1553,9 +1638,6 @@ in
         wantedBy = [ "multi-user.target" ];
         aliases = [ "dbus-org.freedesktop.network1.service" ];
         restartTriggers = map (x: x.source) (attrValues unitFiles);
-        # prevent race condition with interface renaming (#39069)
-        requires = [ "systemd-udev-settle.service" ];
-        after = [ "systemd-udev-settle.service" ];
       };
 
       systemd.services.systemd-networkd-wait-online = {
diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix
index 662576888fc20..ef91689994430 100644
--- a/nixos/modules/system/boot/plymouth.nix
+++ b/nixos/modules/system/boot/plymouth.nix
@@ -38,6 +38,14 @@ in
 
       enable = mkEnableOption "Plymouth boot splash screen";
 
+      font = mkOption {
+        default = "${pkgs.dejavu_fonts.minimal}/share/fonts/truetype/DejaVuSans.ttf";
+        type = types.path;
+        description = ''
+          Font file made available for displaying text on the splash screen.
+        '';
+      };
+
       themePackages = mkOption {
         default = [ nixosBreezePlymouth ];
         type = types.listOf types.package;
@@ -113,7 +121,7 @@ in
 
       mkdir -p $out/lib/plymouth/renderers
       # module might come from a theme
-      cp ${themesEnv}/lib/plymouth/{text,details,$moduleName}.so $out/lib/plymouth
+      cp ${themesEnv}/lib/plymouth/{text,details,label,$moduleName}.so $out/lib/plymouth
       cp ${plymouth}/lib/plymouth/renderers/{drm,frame-buffer}.so $out/lib/plymouth/renderers
 
       mkdir -p $out/share/plymouth/themes
@@ -133,6 +141,17 @@ in
 
       cp -r themes/* $out/share/plymouth/themes
       cp ${cfg.logo} $out/share/plymouth/logo.png
+
+      mkdir -p $out/share/fonts
+      cp ${cfg.font} $out/share/fonts
+      mkdir -p $out/etc/fonts
+      cat > $out/etc/fonts/fonts.conf <<EOF
+      <?xml version="1.0"?>
+      <!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
+      <fontconfig>
+          <dir>$out/share/fonts</dir>
+      </fontconfig>
+      EOF
     '';
 
     boot.initrd.extraUtilsCommandsTest = ''
@@ -154,6 +173,7 @@ in
       ln -s $extraUtils/share/plymouth/logo.png /etc/plymouth/logo.png
       ln -s $extraUtils/share/plymouth/themes /etc/plymouth/themes
       ln -s $extraUtils/lib/plymouth /etc/plymouth/plugins
+      ln -s $extraUtils/etc/fonts /etc/fonts
 
       plymouthd --mode=boot --pid-file=/run/plymouth/pid --attach-to-session
       plymouth show-splash
diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix
index 44287f3cf09b3..4074f2e02352d 100644
--- a/nixos/modules/system/boot/stage-1.nix
+++ b/nixos/modules/system/boot/stage-1.nix
@@ -205,13 +205,22 @@ let
     ''; # */
 
 
+  # Networkd link files are used early by udev to set up interfaces early.
+  # This must be done in stage 1 to avoid race conditions between udev and
+  # network daemons.
   linkUnits = pkgs.runCommand "link-units" {
       allowedReferences = [ extraUtils ];
       preferLocalBuild = true;
-    } ''
+    } (''
       mkdir -p $out
       cp -v ${udev}/lib/systemd/network/*.link $out/
-    '';
+      '' + (
+      let
+        links = filterAttrs (n: v: hasSuffix ".link" n) config.systemd.network.units;
+        files = mapAttrsToList (n: v: "${v.unit}/${n}") links;
+      in
+        concatMapStringsSep "\n" (file: "cp -v ${file} $out/") files
+      ));
 
   udevRules = pkgs.runCommand "udev-rules" {
       allowedReferences = [ extraUtils ];
diff --git a/nixos/modules/system/boot/systemd-lib.nix b/nixos/modules/system/boot/systemd-lib.nix
index fa109394fedbe..2dbf15031a088 100644
--- a/nixos/modules/system/boot/systemd-lib.nix
+++ b/nixos/modules/system/boot/systemd-lib.nix
@@ -92,10 +92,12 @@ in rec {
 
   checkUnitConfig = group: checks: attrs: let
     # We're applied at the top-level type (attrsOf unitOption), so the actual
-    # unit options might contain attributes from mkOverride that we need to
+    # unit options might contain attributes from mkOverride and mkIf that we need to
     # convert into single values before checking them.
     defs = mapAttrs (const (v:
-      if v._type or "" == "override" then v.content else v
+      if v._type or "" == "override" then v.content
+      else if v._type or "" == "if" then v.content
+      else v
     )) attrs;
     errors = concatMap (c: c group defs) checks;
   in if errors == [] then true
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index 16ba0b746789b..59676e996785c 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -17,20 +17,8 @@ let
   inInitrd = any (fs: fs == "zfs") config.boot.initrd.supportedFilesystems;
   inSystem = any (fs: fs == "zfs") config.boot.supportedFilesystems;
 
-  enableZfs = inInitrd || inSystem;
-
-  kernel = config.boot.kernelPackages;
-
-  packages = if config.boot.zfs.enableUnstable then {
-    zfs = kernel.zfsUnstable;
-    zfsUser = pkgs.zfsUnstable;
-  } else {
-    zfs = kernel.zfs;
-    zfsUser = pkgs.zfs;
-  };
-
   autosnapPkg = pkgs.zfstools.override {
-    zfs = packages.zfsUser;
+    zfs = cfgZfs.package;
   };
 
   zfsAutoSnap = "${autosnapPkg}/bin/zfs-auto-snapshot";
@@ -111,6 +99,20 @@ in
 
   options = {
     boot.zfs = {
+      package = mkOption {
+        readOnly = true;
+        type = types.package;
+        default = if config.boot.zfs.enableUnstable then pkgs.zfsUnstable else pkgs.zfs;
+        description = "Configured ZFS userland tools package.";
+      };
+
+      enabled = mkOption {
+        readOnly = true;
+        type = types.bool;
+        default = inInitrd || inSystem;
+        description = "True if ZFS filesystem support is enabled";
+      };
+
       enableUnstable = mkOption {
         type = types.bool;
         default = false;
@@ -324,39 +326,53 @@ in
       };
     };
 
-    services.zfs.zed.settings = mkOption {
-      type = with types; attrsOf (oneOf [ str int bool (listOf str) ]);
-      example = literalExample ''
-        {
-          ZED_DEBUG_LOG = "/tmp/zed.debug.log";
+    services.zfs.zed = {
+      enableMail = mkEnableOption "ZED's ability to send emails" // {
+        default = cfgZfs.package.enableMail;
+      };
 
-          ZED_EMAIL_ADDR = [ "root" ];
-          ZED_EMAIL_PROG = "mail";
-          ZED_EMAIL_OPTS = "-s '@SUBJECT@' @ADDRESS@";
+      settings = mkOption {
+        type = with types; attrsOf (oneOf [ str int bool (listOf str) ]);
+        example = literalExample ''
+          {
+            ZED_DEBUG_LOG = "/tmp/zed.debug.log";
 
-          ZED_NOTIFY_INTERVAL_SECS = 3600;
-          ZED_NOTIFY_VERBOSE = false;
+            ZED_EMAIL_ADDR = [ "root" ];
+            ZED_EMAIL_PROG = "mail";
+            ZED_EMAIL_OPTS = "-s '@SUBJECT@' @ADDRESS@";
 
-          ZED_USE_ENCLOSURE_LEDS = true;
-          ZED_SCRUB_AFTER_RESILVER = false;
-        }
-      '';
-      description = ''
-        ZFS Event Daemon /etc/zfs/zed.d/zed.rc content
-
-        See
-        <citerefentry><refentrytitle>zed</refentrytitle><manvolnum>8</manvolnum></citerefentry>
-        for details on ZED and the scripts in /etc/zfs/zed.d to find the possible variables
-      '';
+            ZED_NOTIFY_INTERVAL_SECS = 3600;
+            ZED_NOTIFY_VERBOSE = false;
+
+            ZED_USE_ENCLOSURE_LEDS = true;
+            ZED_SCRUB_AFTER_RESILVER = false;
+          }
+        '';
+        description = ''
+          ZFS Event Daemon /etc/zfs/zed.d/zed.rc content
+
+          See
+          <citerefentry><refentrytitle>zed</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+          for details on ZED and the scripts in /etc/zfs/zed.d to find the possible variables
+        '';
+      };
     };
   };
 
   ###### implementation
 
   config = mkMerge [
-    (mkIf enableZfs {
+    (mkIf cfgZfs.enabled {
       assertions = [
         {
+          assertion = cfgZED.enableMail -> cfgZfs.package.enableMail;
+          message = ''
+            To allow ZED to send emails, ZFS needs to be configured to enable
+            this. To do so, one must override the `zfs` package and set
+            `enableMail` to true.
+          '';
+        }
+        {
           assertion = config.networking.hostId != null;
           message = "ZFS requires networking.hostId to be set";
         }
@@ -366,20 +382,24 @@ in
         }
       ];
 
-      virtualisation.lxd.zfsSupport = true;
-
       boot = {
         kernelModules = [ "zfs" ];
-        extraModulePackages = with packages; [ zfs ];
+
+        extraModulePackages = [
+          (if config.boot.zfs.enableUnstable then
+            config.boot.kernelPackages.zfsUnstable
+           else
+            config.boot.kernelPackages.zfs)
+        ];
       };
 
       boot.initrd = mkIf inInitrd {
         kernelModules = [ "zfs" ] ++ optional (!cfgZfs.enableUnstable) "spl";
         extraUtilsCommands =
           ''
-            copy_bin_and_libs ${packages.zfsUser}/sbin/zfs
-            copy_bin_and_libs ${packages.zfsUser}/sbin/zdb
-            copy_bin_and_libs ${packages.zfsUser}/sbin/zpool
+            copy_bin_and_libs ${cfgZfs.package}/sbin/zfs
+            copy_bin_and_libs ${cfgZfs.package}/sbin/zdb
+            copy_bin_and_libs ${cfgZfs.package}/sbin/zpool
           '';
         extraUtilsCommandsTest = mkIf inInitrd
           ''
@@ -431,9 +451,9 @@ in
       };
 
       services.zfs.zed.settings = {
-        ZED_EMAIL_PROG = mkDefault "${pkgs.mailutils}/bin/mail";
+        ZED_EMAIL_PROG = mkIf cfgZED.enableMail (mkDefault "${pkgs.mailutils}/bin/mail");
         PATH = lib.makeBinPath [
-          packages.zfsUser
+          cfgZfs.package
           pkgs.coreutils
           pkgs.curl
           pkgs.gawk
@@ -461,18 +481,18 @@ in
             "vdev_clear-led.sh"
           ]
         )
-        (file: { source = "${packages.zfsUser}/etc/${file}"; })
+        (file: { source = "${cfgZfs.package}/etc/${file}"; })
       // {
         "zfs/zed.d/zed.rc".text = zedConf;
-        "zfs/zpool.d".source = "${packages.zfsUser}/etc/zfs/zpool.d/";
+        "zfs/zpool.d".source = "${cfgZfs.package}/etc/zfs/zpool.d/";
       };
 
-      system.fsPackages = [ packages.zfsUser ]; # XXX: needed? zfs doesn't have (need) a fsck
-      environment.systemPackages = [ packages.zfsUser ]
+      system.fsPackages = [ cfgZfs.package ]; # XXX: needed? zfs doesn't have (need) a fsck
+      environment.systemPackages = [ cfgZfs.package ]
         ++ optional cfgSnapshots.enable autosnapPkg; # so the user can run the command to see flags
 
-      services.udev.packages = [ packages.zfsUser ]; # to hook zvol naming, etc.
-      systemd.packages = [ packages.zfsUser ];
+      services.udev.packages = [ cfgZfs.package ]; # to hook zvol naming, etc.
+      systemd.packages = [ cfgZfs.package ];
 
       systemd.services = let
         getPoolFilesystems = pool:
@@ -506,8 +526,8 @@ in
             environment.ZFS_FORCE = optionalString cfgZfs.forceImportAll "-f";
             script = (importLib {
               # See comments at importLib definition.
-              zpoolCmd="${packages.zfsUser}/sbin/zpool";
-              awkCmd="${pkgs.gawk}/bin/awk";
+              zpoolCmd = "${cfgZfs.package}/sbin/zpool";
+              awkCmd = "${pkgs.gawk}/bin/awk";
               inherit cfgZfs;
             }) + ''
               poolImported "${pool}" && exit
@@ -522,7 +542,7 @@ in
                 ${optionalString (if isBool cfgZfs.requestEncryptionCredentials
                                   then cfgZfs.requestEncryptionCredentials
                                   else cfgZfs.requestEncryptionCredentials != []) ''
-                  ${packages.zfsUser}/sbin/zfs list -rHo name,keylocation ${pool} | while IFS=$'\t' read ds kl; do
+                  ${cfgZfs.package}/sbin/zfs list -rHo name,keylocation ${pool} | while IFS=$'\t' read ds kl; do
                     (${optionalString (!isBool cfgZfs.requestEncryptionCredentials) ''
                          if ! echo '${concatStringsSep "\n" cfgZfs.requestEncryptionCredentials}' | grep -qFx "$ds"; then
                            continue
@@ -532,10 +552,10 @@ in
                       none )
                         ;;
                       prompt )
-                        ${config.systemd.package}/bin/systemd-ask-password "Enter key for $ds:" | ${packages.zfsUser}/sbin/zfs load-key "$ds"
+                        ${config.systemd.package}/bin/systemd-ask-password "Enter key for $ds:" | ${cfgZfs.package}/sbin/zfs load-key "$ds"
                         ;;
                       * )
-                        ${packages.zfsUser}/sbin/zfs load-key "$ds"
+                        ${cfgZfs.package}/sbin/zfs load-key "$ds"
                         ;;
                     esac) < /dev/null # To protect while read ds kl in case anything reads stdin
                   done
@@ -561,7 +581,7 @@ in
               RemainAfterExit = true;
             };
             script = ''
-              ${packages.zfsUser}/sbin/zfs set nixos:shutdown-time="$(date)" "${pool}"
+              ${cfgZfs.package}/sbin/zfs set nixos:shutdown-time="$(date)" "${pool}"
             '';
           };
         createZfsService = serv:
@@ -587,7 +607,7 @@ in
       systemd.targets.zfs.wantedBy = [ "multi-user.target" ];
     })
 
-    (mkIf (enableZfs && cfgSnapshots.enable) {
+    (mkIf (cfgZfs.enabled && cfgSnapshots.enable) {
       systemd.services = let
                            descr = name: if name == "frequent" then "15 mins"
                                     else if name == "hourly" then "hour"
@@ -625,7 +645,7 @@ in
                             }) snapshotNames);
     })
 
-    (mkIf (enableZfs && cfgScrub.enable) {
+    (mkIf (cfgZfs.enabled && cfgScrub.enable) {
       systemd.services.zfs-scrub = {
         description = "ZFS pools scrubbing";
         after = [ "zfs-import.target" ];
@@ -633,11 +653,11 @@ in
           Type = "oneshot";
         };
         script = ''
-          ${packages.zfsUser}/bin/zpool scrub ${
+          ${cfgZfs.package}/bin/zpool scrub ${
             if cfgScrub.pools != [] then
               (concatStringsSep " " cfgScrub.pools)
             else
-              "$(${packages.zfsUser}/bin/zpool list -H -o name)"
+              "$(${cfgZfs.package}/bin/zpool list -H -o name)"
             }
         '';
       };
@@ -652,11 +672,11 @@ in
       };
     })
 
-    (mkIf (enableZfs && cfgTrim.enable) {
+    (mkIf (cfgZfs.enabled && cfgTrim.enable) {
       systemd.services.zpool-trim = {
         description = "ZFS pools trim";
         after = [ "zfs-import.target" ];
-        path = [ packages.zfsUser ];
+        path = [ cfgZfs.package ];
         startAt = cfgTrim.interval;
         # By default we ignore errors returned by the trim command, in case:
         # - HDDs are mixed with SSDs
diff --git a/nixos/modules/tasks/network-interfaces-systemd.nix b/nixos/modules/tasks/network-interfaces-systemd.nix
index 088bffd7c5084..23e1e611a71e9 100644
--- a/nixos/modules/tasks/network-interfaces-systemd.nix
+++ b/nixos/modules/tasks/network-interfaces-systemd.nix
@@ -93,17 +93,7 @@ in
             (if i.useDHCP != null then i.useDHCP else false));
           address = forEach (interfaceIps i)
             (ip: "${ip.address}/${toString ip.prefixLength}");
-          # IPv6PrivacyExtensions=kernel seems to be broken with networkd.
-          # Instead of using IPv6PrivacyExtensions=kernel, configure it according to the value of
-          # `tempAddress`:
-          networkConfig.IPv6PrivacyExtensions = {
-            # generate temporary addresses and use them by default
-            "default" = true;
-            # generate temporary addresses but keep using the standard EUI-64 ones by default
-            "enabled" = "prefer-public";
-            # completely disable temporary addresses
-            "disabled" = false;
-          }.${i.tempAddress};
+          networkConfig.IPv6PrivacyExtensions = "kernel";
           linkConfig = optionalAttrs (i.macAddress != null) {
             MACAddress = i.macAddress;
           } // optionalAttrs (i.mtu != null) {
diff --git a/nixos/modules/testing/service-runner.nix b/nixos/modules/testing/service-runner.nix
index 99a9f979068da..76e9d4a68c416 100644
--- a/nixos/modules/testing/service-runner.nix
+++ b/nixos/modules/testing/service-runner.nix
@@ -52,7 +52,7 @@ let
 
       # Run the ExecStartPre program.  FIXME: this could be a list.
       my $preStart = <<END_CMD;
-      ${service.serviceConfig.ExecStartPre or ""}
+      ${concatStringsSep "\n" (service.serviceConfig.ExecStartPre or [])}
       END_CMD
       if (defined $preStart && $preStart ne "\n") {
           print STDERR "running ExecStartPre: $preStart\n";
@@ -79,7 +79,7 @@ let
 
       # Run the ExecStartPost program.
       my $postStart = <<END_CMD;
-      ${service.serviceConfig.ExecStartPost or ""}
+      ${concatStringsSep "\n" (service.serviceConfig.ExecStartPost or [])}
       END_CMD
       if (defined $postStart && $postStart ne "\n") {
           print STDERR "running ExecStartPost: $postStart\n";
diff --git a/nixos/modules/virtualisation/anbox.nix b/nixos/modules/virtualisation/anbox.nix
index da5df35807346..7b096bd1a9fbb 100644
--- a/nixos/modules/virtualisation/anbox.nix
+++ b/nixos/modules/virtualisation/anbox.nix
@@ -98,7 +98,6 @@ in
       environment.XDG_RUNTIME_DIR="${anboxloc}";
 
       wantedBy = [ "multi-user.target" ];
-      after = [ "systemd-udev-settle.service" ];
       preStart = let
         initsh = pkgs.writeText "nixos-init" (''
           #!/system/bin/sh
diff --git a/nixos/modules/virtualisation/cri-o.nix b/nixos/modules/virtualisation/cri-o.nix
index aa416e7990a8b..8d352e36ef99a 100644
--- a/nixos/modules/virtualisation/cri-o.nix
+++ b/nixos/modules/virtualisation/cri-o.nix
@@ -103,7 +103,10 @@ in
       cgroup_manager = "systemd"
       log_level = "${cfg.logLevel}"
       pinns_path = "${cfg.package}/bin/pinns"
-      hooks_dir = []
+      hooks_dir = [
+      ${lib.optionalString config.virtualisation.containers.ociSeccompBpfHook.enable
+        ''"${config.boot.kernelPackages.oci-seccomp-bpf-hook}",''}
+      ]
 
       ${optionalString (cfg.runtime != null) ''
       default_runtime = "${cfg.runtime}"
diff --git a/nixos/modules/virtualisation/docker.nix b/nixos/modules/virtualisation/docker.nix
index 689f664b676d5..b1415bf021dd9 100644
--- a/nixos/modules/virtualisation/docker.nix
+++ b/nixos/modules/virtualisation/docker.nix
@@ -157,6 +157,7 @@ in
 
       systemd.services.docker = {
         wantedBy = optional cfg.enableOnBoot "multi-user.target";
+        requires = [ "docker.socket" ];
         environment = proxy_env;
         serviceConfig = {
           Type = "notify";
diff --git a/nixos/modules/virtualisation/fetch-instance-ssh-keys.bash b/nixos/modules/virtualisation/fetch-instance-ssh-keys.bash
new file mode 100644
index 0000000000000..4a8601961115b
--- /dev/null
+++ b/nixos/modules/virtualisation/fetch-instance-ssh-keys.bash
@@ -0,0 +1,36 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+WGET() {
+    wget --retry-connrefused -t 15 --waitretry=10 --header='Metadata-Flavor: Google' "$@"
+}
+
+# When dealing with cryptographic keys, we want to keep things private.
+umask 077
+mkdir -p /root/.ssh
+
+echo "Fetching authorized keys..."
+WGET -O /tmp/auth_keys http://metadata.google.internal/computeMetadata/v1/instance/attributes/sshKeys
+
+# Read keys one by one, split in case Google decided
+# to append metadata (it does sometimes) and add to
+# authorized_keys if not already present.
+touch /root/.ssh/authorized_keys
+while IFS='' read -r line || [[ -n "$line" ]]; do
+    keyLine=$(echo -n "$line" | cut -d ':' -f2)
+    IFS=' ' read -r -a array <<<"$keyLine"
+    if [[ ${#array[@]} -ge 3 ]]; then
+        echo "${array[@]:0:3}" >>/tmp/new_keys
+        echo "Added ${array[*]:2} to authorized_keys"
+    fi
+done </tmp/auth_keys
+mv /tmp/new_keys /root/.ssh/authorized_keys
+chmod 600 /root/.ssh/authorized_keys
+
+echo "Fetching host keys..."
+WGET -O /tmp/ssh_host_ed25519_key http://metadata.google.internal/computeMetadata/v1/instance/attributes/ssh_host_ed25519_key
+WGET -O /tmp/ssh_host_ed25519_key.pub http://metadata.google.internal/computeMetadata/v1/instance/attributes/ssh_host_ed25519_key_pub
+mv -f /tmp/ssh_host_ed25519_key* /etc/ssh/
+chmod 600 /etc/ssh/ssh_host_ed25519_key
+chmod 644 /etc/ssh/ssh_host_ed25519_key.pub
diff --git a/nixos/modules/virtualisation/google-compute-config.nix b/nixos/modules/virtualisation/google-compute-config.nix
index 327324f2921da..b6b1ffa395814 100644
--- a/nixos/modules/virtualisation/google-compute-config.nix
+++ b/nixos/modules/virtualisation/google-compute-config.nix
@@ -69,6 +69,31 @@ in
   # GC has 1460 MTU
   networking.interfaces.eth0.mtu = 1460;
 
+  # Used by NixOps
+  systemd.services.fetch-instance-ssh-keys = {
+    description = "Fetch host keys and authorized_keys for root user";
+
+    wantedBy = [ "sshd.service" ];
+    before = [ "sshd.service" ];
+    after = [ "network-online.target" ];
+    wants = [ "network-online.target" ];
+    path = [ pkgs.wget ];
+
+    serviceConfig = {
+      Type = "oneshot";
+      ExecStart = pkgs.runCommand "fetch-instance-ssh-keys" { } ''
+        cp ${./fetch-instance-ssh-keys.bash} $out
+        chmod +x $out
+        ${pkgs.shfmt}/bin/shfmt -i 4 -d $out
+        ${pkgs.shellcheck}/bin/shellcheck $out
+        patchShebangs $out
+      '';
+      PrivateTmp = true;
+      StandardError = "journal+console";
+      StandardOutput = "journal+console";
+    };
+  };
+
   systemd.services.google-instance-setup = {
     description = "Google Compute Engine Instance Setup";
     after = [ "network-online.target" "network.target" "rsyslog.service" ];
diff --git a/nixos/modules/virtualisation/hyperv-guest.nix b/nixos/modules/virtualisation/hyperv-guest.nix
index adc2810a99398..a3656c307f963 100644
--- a/nixos/modules/virtualisation/hyperv-guest.nix
+++ b/nixos/modules/virtualisation/hyperv-guest.nix
@@ -31,6 +31,8 @@ in {
         "hv_balloon" "hv_netvsc" "hv_storvsc" "hv_utils" "hv_vmbus"
       ];
 
+      initrd.availableKernelModules = [ "hyperv_keyboard" ];
+
       kernelParams = [
         "video=hyperv_fb:${cfg.videoMode} elevator=noop"
       ];
@@ -38,8 +40,6 @@ in {
 
     environment.systemPackages = [ config.boot.kernelPackages.hyperv-daemons.bin ];
 
-    security.rngd.enable = false;
-
     # enable hotadding cpu/memory
     services.udev.packages = lib.singleton (pkgs.writeTextFile {
       name = "hyperv-cpu-and-memory-hotadd-udev-rules";
diff --git a/nixos/modules/virtualisation/lxd.nix b/nixos/modules/virtualisation/lxd.nix
index 103e689abae85..d686cb503d861 100644
--- a/nixos/modules/virtualisation/lxd.nix
+++ b/nixos/modules/virtualisation/lxd.nix
@@ -5,13 +5,12 @@
 with lib;
 
 let
-
   cfg = config.virtualisation.lxd;
-  zfsCfg = config.boot.zfs;
-
-in
+in {
+  imports = [
+    (mkRemovedOptionModule [ "virtualisation" "lxd" "zfsPackage" ] "Override zfs in an overlay instead to override it globally")
+  ];
 
-{
   ###### interface
 
   options = {
@@ -51,18 +50,10 @@ in
         '';
       };
 
-      zfsPackage = mkOption {
-        type = types.package;
-        default = with pkgs; if zfsCfg.enableUnstable then zfsUnstable else zfs;
-        defaultText = "pkgs.zfs";
-        description = ''
-          The ZFS package to use with LXD.
-        '';
-      };
-
       zfsSupport = mkOption {
         type = types.bool;
-        default = false;
+        default = config.boot.zfs.enabled;
+        defaultText = "config.boot.zfs.enabled";
         description = ''
           Enables lxd to use zfs as a storage for containers.
 
@@ -75,7 +66,7 @@ in
         type = types.bool;
         default = false;
         description = ''
-          enables various settings to avoid common pitfalls when
+          Enables various settings to avoid common pitfalls when
           running containers requiring many file operations.
           Fixes errors like "Too many open files" or
           "neighbour: ndisc_cache: neighbor table overflow!".
@@ -83,48 +74,76 @@ in
           for details.
         '';
       };
+
+      startTimeout = mkOption {
+        type = types.int;
+        default = 600;
+        apply = toString;
+        description = ''
+          Time to wait (in seconds) for LXD to become ready to process requests.
+          If LXD does not reply within the configured time, lxd.service will be
+          considered failed and systemd will attempt to restart it.
+        '';
+      };
     };
   };
 
   ###### implementation
-
   config = mkIf cfg.enable {
     environment.systemPackages = [ cfg.package ];
 
-    security.apparmor = {
-      enable = true;
-      profiles = [
-        "${cfg.lxcPackage}/etc/apparmor.d/usr.bin.lxc-start"
-        "${cfg.lxcPackage}/etc/apparmor.d/lxc-containers"
-      ];
-      packages = [ cfg.lxcPackage ];
-    };
+    # Note: the following options are also declared in virtualisation.lxc, but
+    # the latter can't be simply enabled to reuse the formers, because it
+    # does a bunch of unrelated things.
+    systemd.tmpfiles.rules = [ "d /var/lib/lxc/rootfs 0755 root root -" ];
+
+    security.apparmor.packages = [ pkgs.lxcPackage ];
+    security.apparmor.profiles = [
+      "${cfg.lxcPackage}/etc/apparmor.d/lxc-containers"
+      "${cfg.lxcPackage}/etc/apparmor.d/usr.bin.lxc-start"
+    ];
 
     # TODO: remove once LXD gets proper support for cgroupsv2
     # (currently most of the e.g. CPU accounting stuff doesn't work)
     systemd.enableUnifiedCgroupHierarchy = false;
 
+    systemd.sockets.lxd = {
+      description = "LXD UNIX socket";
+      wantedBy = [ "sockets.target" ];
+
+      socketConfig = {
+        ListenStream = "/var/lib/lxd/unix.socket";
+        SocketMode = "0660";
+        SocketGroup = "lxd";
+        Service = "lxd.service";
+      };
+    };
+
     systemd.services.lxd = {
       description = "LXD Container Management Daemon";
 
       wantedBy = [ "multi-user.target" ];
-      after = [ "systemd-udev-settle.service" ];
-
-      path = lib.optional cfg.zfsSupport cfg.zfsPackage;
+      after = [ "network-online.target" "lxcfs.service" ];
+      requires = [ "network-online.target" "lxd.socket"  "lxcfs.service" ];
+      documentation = [ "man:lxd(1)" ];
 
-      preStart = ''
-        mkdir -m 0755 -p /var/lib/lxc/rootfs
-      '';
+      path = optional cfg.zfsSupport config.boot.zfs.package;
 
       serviceConfig = {
         ExecStart = "@${cfg.package}/bin/lxd lxd --group lxd";
-        Type = "simple";
+        ExecStartPost = "${cfg.package}/bin/lxd waitready --timeout=${cfg.startTimeout}";
+        ExecStop = "${cfg.package}/bin/lxd shutdown";
+
         KillMode = "process"; # when stopping, leave the containers alone
         LimitMEMLOCK = "infinity";
         LimitNOFILE = "1048576";
         LimitNPROC = "infinity";
         TasksMax = "infinity";
 
+        Restart = "on-failure";
+        TimeoutStartSec = "${cfg.startTimeout}s";
+        TimeoutStopSec = "30s";
+
         # By default, `lxd` loads configuration files from hard-coded
         # `/usr/share/lxc/config` - since this is a no-go for us, we have to
         # explicitly tell it where the actual configuration files are
diff --git a/nixos/modules/virtualisation/nixos-containers.nix b/nixos/modules/virtualisation/nixos-containers.nix
index 7bec1b1ff26e8..3754fe6dac6da 100644
--- a/nixos/modules/virtualisation/nixos-containers.nix
+++ b/nixos/modules/virtualisation/nixos-containers.nix
@@ -271,8 +271,8 @@ let
     DeviceAllow = map (d: "${d.node} ${d.modifier}") cfg.allowedDevices;
   };
 
-
   system = config.nixpkgs.localSystem.system;
+  kernelVersion = config.boot.kernelPackages.kernel.version;
 
   bindMountOpts = { name, ... }: {
 
@@ -321,7 +321,6 @@ let
     };
   };
 
-
   mkBindFlag = d:
                let flagPrefix = if d.isReadOnly then " --bind-ro=" else " --bind=";
                    mountstr = if d.hostPath != null then "${d.hostPath}:${d.mountPoint}" else "${d.mountPoint}";
@@ -463,21 +462,15 @@ in
         { config, options, name, ... }:
         {
           options = {
-
             config = mkOption {
               description = ''
                 A specification of the desired configuration of this
                 container, as a NixOS module.
               '';
-              type = let
-                confPkgs = if config.pkgs == null then pkgs else config.pkgs;
-              in lib.mkOptionType {
+              type = lib.mkOptionType {
                 name = "Toplevel NixOS config";
-                merge = loc: defs: (import (confPkgs.path + "/nixos/lib/eval-config.nix") {
+                merge = loc: defs: (import "${toString config.nixpkgs}/nixos/lib/eval-config.nix" {
                   inherit system;
-                  pkgs = confPkgs;
-                  baseModules = import (confPkgs.path + "/nixos/modules/module-list.nix");
-                  inherit (confPkgs) lib;
                   modules =
                     let
                       extraConfig = {
@@ -488,11 +481,16 @@ in
                           networking.useDHCP = false;
                           assertions = [
                             {
-                              assertion =  config.privateNetwork -> stringLength name < 12;
+                              assertion =
+                                (builtins.compareVersions kernelVersion "5.8" <= 0)
+                                -> config.privateNetwork
+                                -> stringLength name <= 11;
                               message = ''
                                 Container name `${name}` is too long: When `privateNetwork` is enabled, container names can
                                 not be longer than 11 characters, because the container's interface name is derived from it.
-                                This might be fixed in the future. See https://github.com/NixOS/nixpkgs/issues/38509
+                                You should either make the container name shorter or upgrade to a more recent kernel that
+                                supports interface altnames (i.e. at least Linux 5.8 - please see https://github.com/NixOS/nixpkgs/issues/38509
+                                for details).
                               '';
                             }
                           ];
@@ -526,12 +524,18 @@ in
               '';
             };
 
-            pkgs = mkOption {
-              type = types.nullOr types.attrs;
-              default = null;
-              example = literalExample "pkgs";
+            nixpkgs = mkOption {
+              type = types.path;
+              default = pkgs.path;
+              defaultText = "pkgs.path";
               description = ''
-                Customise which nixpkgs to use for this container.
+                A path to the nixpkgs that provide the modules, pkgs and lib for evaluating the container.
+
+                To only change the <literal>pkgs</literal> argument used inside the container modules,
+                set the <literal>nixpkgs.*</literal> options in the container <option>config</option>.
+                Setting <literal>config.nixpkgs.pkgs = pkgs</literal> speeds up the container evaluation
+                by reusing the system pkgs, but the <literal>nixpkgs.config</literal> option in the
+                container config is ignored in this case.
               '';
             };
 
@@ -672,14 +676,31 @@ in
               '';
             };
 
+            # Removed option. See `checkAssertion` below for the accompanying error message.
+            pkgs = mkOption { visible = false; };
           } // networkOptions;
 
-          config = mkMerge
-            [
-              (mkIf options.config.isDefined {
-                path = config.config.system.build.toplevel;
-              })
-            ];
+          config = let
+            # Throw an error when removed option `pkgs` is used.
+            # Because this is a submodule we cannot use `mkRemovedOptionModule` or option `assertions`.
+            optionPath = "containers.${name}.pkgs";
+            files = showFiles options.pkgs.files;
+            checkAssertion = if options.pkgs.isDefined then throw ''
+              The option definition `${optionPath}' in ${files} no longer has any effect; please remove it.
+
+              Alternatively, you can use the following options:
+              - containers.${name}.nixpkgs
+                This sets the nixpkgs (and thereby the modules, pkgs and lib) that
+                are used for evaluating the container.
+
+              - containers.${name}.config.nixpkgs.pkgs
+                This only sets the `pkgs` argument used inside the container modules.
+            ''
+            else null;
+          in {
+            path = builtins.seq checkAssertion
+              mkIf options.config.isDefined config.config.system.build.toplevel;
+          };
         }));
 
       default = {};
diff --git a/nixos/modules/virtualisation/podman.nix b/nixos/modules/virtualisation/podman.nix
index 98da5a096d911..0223c0df1f222 100644
--- a/nixos/modules/virtualisation/podman.nix
+++ b/nixos/modules/virtualisation/podman.nix
@@ -105,6 +105,16 @@ in
           }));
       };
 
+      systemd.packages = [ cfg.package ];
+
+      systemd.services.podman.serviceConfig = {
+        ExecStart = [ "" "${cfg.package}/bin/podman $LOGGING system service" ];
+      };
+
+      systemd.sockets.podman.wantedBy = [ "sockets.target" ];
+
+      systemd.tmpfiles.packages = [ cfg.package ];
+
       assertions = [
         {
           assertion = cfg.dockerCompat -> !config.virtualisation.docker.enable;
diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix
index bf3615f2fe71b..d9935bcafb716 100644
--- a/nixos/modules/virtualisation/qemu-vm.nix
+++ b/nixos/modules/virtualisation/qemu-vm.nix
@@ -7,7 +7,7 @@
 # the VM in the host.  On the other hand, the root filesystem is a
 # read/writable disk image persistent across VM reboots.
 
-{ config, lib, pkgs, ... }:
+{ config, lib, pkgs, options, ... }:
 
 with lib;
 with import ../../lib/qemu-flags.nix { inherit pkgs; };
@@ -266,6 +266,8 @@ in
 
   options = {
 
+    virtualisation.fileSystems = options.fileSystems;
+
     virtualisation.memorySize =
       mkOption {
         default = 384;
@@ -275,6 +277,18 @@ in
           '';
       };
 
+    virtualisation.msize =
+      mkOption {
+        default = null;
+        type = types.nullOr types.ints.unsigned;
+        description =
+          ''
+            msize (maximum packet size) option passed to 9p file systems, in
+            bytes. Increasing this should increase performance significantly,
+            at the cost of higher RAM usage.
+          '';
+      };
+
     virtualisation.diskSize =
       mkOption {
         default = 512;
@@ -659,11 +673,12 @@ in
     # attribute should be disregarded for the purpose of building a VM
     # test image (since those filesystems don't exist in the VM).
     fileSystems = mkVMOverride (
+      cfg.fileSystems //
       { "/".device = cfg.bootDevice;
         ${if cfg.writableStore then "/nix/.ro-store" else "/nix/store"} =
           { device = "store";
             fsType = "9p";
-            options = [ "trans=virtio" "version=9p2000.L" "cache=loose" ];
+            options = [ "trans=virtio" "version=9p2000.L" "cache=loose" ] ++ lib.optional (cfg.msize != null) "msize=${toString cfg.msize}";
             neededForBoot = true;
           };
         "/tmp" = mkIf config.boot.tmpOnTmpfs
@@ -676,13 +691,13 @@ in
         "/tmp/xchg" =
           { device = "xchg";
             fsType = "9p";
-            options = [ "trans=virtio" "version=9p2000.L" ];
+            options = [ "trans=virtio" "version=9p2000.L" ] ++ lib.optional (cfg.msize != null) "msize=${toString cfg.msize}";
             neededForBoot = true;
           };
         "/tmp/shared" =
           { device = "shared";
             fsType = "9p";
-            options = [ "trans=virtio" "version=9p2000.L" ];
+            options = [ "trans=virtio" "version=9p2000.L" ] ++ lib.optional (cfg.msize != null) "msize=${toString cfg.msize}";
             neededForBoot = true;
           };
       } // optionalAttrs (cfg.writableStore && cfg.writableStoreUseTmpfs)
diff --git a/nixos/release.nix b/nixos/release.nix
index 109747945f78a..327a259de7faf 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -171,23 +171,23 @@ in rec {
 
   sd_image = forMatchingSystems [ "armv6l-linux" "armv7l-linux" "aarch64-linux" ] (system: makeSdImage {
     module = {
-        armv6l-linux = ./modules/installer/cd-dvd/sd-image-raspberrypi.nix;
-        armv7l-linux = ./modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix;
-        aarch64-linux = ./modules/installer/cd-dvd/sd-image-aarch64.nix;
+        armv6l-linux = ./modules/installer/sd-card/sd-image-raspberrypi-installer.nix;
+        armv7l-linux = ./modules/installer/sd-card/sd-image-armv7l-multiplatform-installer.nix;
+        aarch64-linux = ./modules/installer/sd-card/sd-image-aarch64-installer.nix;
       }.${system};
     inherit system;
   });
 
   sd_image_new_kernel = forMatchingSystems [ "aarch64-linux" ] (system: makeSdImage {
     module = {
-        aarch64-linux = ./modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix;
+        aarch64-linux = ./modules/installer/sd-card/sd-image-aarch64-new-kernel-installer.nix;
       }.${system};
     type = "minimal-new-kernel";
     inherit system;
   });
 
   sd_image_raspberrypi4 = forMatchingSystems [ "aarch64-linux" ] (system: makeSdImage {
-    module = ./modules/installer/cd-dvd/sd-image-raspberrypi4.nix;
+    module = ./modules/installer/sd-card/sd-image-raspberrypi4-installer.nix;
     inherit system;
   });
 
diff --git a/nixos/tests/agda.nix b/nixos/tests/agda.nix
index bbdeb7395aa7e..3773907cff557 100644
--- a/nixos/tests/agda.nix
+++ b/nixos/tests/agda.nix
@@ -23,6 +23,13 @@ in
   };
 
   testScript = ''
+    assert (
+        "${pkgs.agdaPackages.lib.interfaceFile "Everything.agda"}" == "Everything.agdai"
+    ), "wrong interface file for Everything.agda"
+    assert (
+        "${pkgs.agdaPackages.lib.interfaceFile "tmp/Everything.agda.md"}" == "tmp/Everything.agdai"
+    ), "wrong interface file for tmp/Everything.agda.md"
+
     # Minimal script that typechecks
     machine.succeed("touch TestEmpty.agda")
     machine.succeed("agda TestEmpty.agda")
@@ -36,6 +43,10 @@ in
         "cp ${hello-world} HelloWorld.agda"
     )
     machine.succeed("agda -l standard-library -i . -c HelloWorld.agda")
+    # Check execution
+    assert "Hello World!" in machine.succeed(
+        "./HelloWorld"
+    ), "HelloWorld does not run properly"
   '';
 }
 )
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index d0254c83a770d..7d676e15fa971 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -55,6 +55,7 @@ in
   cassandra_3_11 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_3_11; };
   ceph-multi-node = handleTestOn ["x86_64-linux"] ./ceph-multi-node.nix {};
   ceph-single-node = handleTestOn ["x86_64-linux"] ./ceph-single-node.nix {};
+  ceph-single-node-bluestore = handleTestOn ["x86_64-linux"] ./ceph-single-node-bluestore.nix {};
   certmgr = handleTest ./certmgr.nix {};
   cfssl = handleTestOn ["x86_64-linux"] ./cfssl.nix {};
   charliecloud = handleTest ./charliecloud.nix {};
@@ -72,6 +73,7 @@ in
   containers-imperative = handleTest ./containers-imperative.nix {};
   containers-ip = handleTest ./containers-ip.nix {};
   containers-macvlans = handleTest ./containers-macvlans.nix {};
+  containers-names = handleTest ./containers-names.nix {};
   containers-physical_interfaces = handleTest ./containers-physical_interfaces.nix {};
   containers-portforward = handleTest ./containers-portforward.nix {};
   containers-reloadable = handleTest ./containers-reloadable.nix {};
@@ -81,6 +83,7 @@ in
   corerad = handleTest ./corerad.nix {};
   couchdb = handleTest ./couchdb.nix {};
   cri-o = handleTestOn ["x86_64-linux"] ./cri-o.nix {};
+  custom-ca = handleTest ./custom-ca.nix {};
   deluge = handleTest ./deluge.nix {};
   dhparams = handleTest ./dhparams.nix {};
   dnscrypt-proxy2 = handleTestOn ["x86_64-linux"] ./dnscrypt-proxy2.nix {};
@@ -181,10 +184,10 @@ in
   jenkins = handleTest ./jenkins.nix {};
   jirafeau = handleTest ./jirafeau.nix {};
   jitsi-meet = handleTest ./jitsi-meet.nix {};
-  jq = handleTest ./jq.nix {};
   k3s = handleTest ./k3s.nix {};
   kafka = handleTest ./kafka.nix {};
   keepalived = handleTest ./keepalived.nix {};
+  keepassxc = handleTest ./keepassxc.nix {};
   kerberos = handleTest ./kerberos/default.nix {};
   kernel-latest = handleTest ./kernel-latest.nix {};
   kernel-lts = handleTest ./kernel-lts.nix {};
@@ -194,6 +197,7 @@ in
   keymap = handleTest ./keymap.nix {};
   knot = handleTest ./knot.nix {};
   krb5 = discoverTests (import ./krb5 {});
+  ksm = handleTest ./ksm.nix {};
   kubernetes.dns = handleTestOn ["x86_64-linux"] ./kubernetes/dns.nix {};
   # kubernetes.e2e should eventually replace kubernetes.rbac when it works
   #kubernetes.e2e = handleTestOn ["x86_64-linux"] ./kubernetes/e2e.nix {};
@@ -236,6 +240,7 @@ in
   mosquitto = handleTest ./mosquitto.nix {};
   mpd = handleTest ./mpd.nix {};
   mumble = handleTest ./mumble.nix {};
+  musescore = handleTest ./musescore.nix {};
   munin = handleTest ./munin.nix {};
   mutableUsers = handleTest ./mutable-users.nix {};
   mxisd = handleTest ./mxisd.nix {};
@@ -302,6 +307,9 @@ in
   pgjwt = handleTest ./pgjwt.nix {};
   pgmanage = handleTest ./pgmanage.nix {};
   php = handleTest ./php {};
+  php73 = handleTest ./php { php = pkgs.php73; };
+  php74 = handleTest ./php { php = pkgs.php74; };
+  php80 = handleTest ./php { php = pkgs.php80; };
   pinnwand = handleTest ./pinnwand.nix {};
   plasma5 = handleTest ./plasma5.nix {};
   pleroma = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./pleroma.nix {};
@@ -332,7 +340,6 @@ in
   redis = handleTest ./redis.nix {};
   redmine = handleTest ./redmine.nix {};
   restic = handleTest ./restic.nix {};
-  ripgrep = handleTest ./ripgrep.nix {};
   robustirc-bridge = handleTest ./robustirc-bridge.nix {};
   roundcube = handleTest ./roundcube.nix {};
   rspamd = handleTest ./rspamd.nix {};
@@ -343,9 +350,6 @@ in
   samba = handleTest ./samba.nix {};
   samba-wsdd = handleTest ./samba-wsdd.nix {};
   sanoid = handleTest ./sanoid.nix {};
-  sbt = handleTest ./sbt.nix {};
-  sbt-extras = handleTest ./sbt-extras.nix {};
-  scala = handleTest ./scala.nix {};
   sddm = handleTest ./sddm.nix {};
   searx = handleTest ./searx.nix {};
   service-runner = handleTest ./service-runner.nix {};
@@ -414,6 +418,7 @@ in
   vector = handleTest ./vector.nix {};
   victoriametrics = handleTest ./victoriametrics.nix {};
   virtualbox = handleTestOn ["x86_64-linux"] ./virtualbox.nix {};
+  vscodium = handleTest ./vscodium.nix {};
   wasabibackend = handleTest ./wasabibackend.nix {};
   wireguard = handleTest ./wireguard {};
   wordpress = handleTest ./wordpress.nix {};
diff --git a/nixos/tests/bees.nix b/nixos/tests/bees.nix
index 6e6a9c3446b06..58a9c29513567 100644
--- a/nixos/tests/bees.nix
+++ b/nixos/tests/bees.nix
@@ -8,7 +8,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }:
       ${pkgs.btrfs-progs}/bin/mkfs.btrfs -f -L aux2 /dev/vdc
     '';
     virtualisation.emptyDiskImages = [ 4096 4096 ];
-    fileSystems = lib.mkVMOverride {
+    virtualisation.fileSystems = {
       "/aux1" = { # filesystem configured to be deduplicated
         device = "/dev/disk/by-label/aux1";
         fsType = "btrfs";
diff --git a/nixos/tests/bind.nix b/nixos/tests/bind.nix
index 09917b15a8e06..7234f56a1c3a8 100644
--- a/nixos/tests/bind.nix
+++ b/nixos/tests/bind.nix
@@ -6,6 +6,7 @@ import ./make-test-python.nix {
     services.bind.extraOptions = "empty-zones-enable no;";
     services.bind.zones = lib.singleton {
       name = ".";
+      master = true;
       file = pkgs.writeText "root.zone" ''
         $TTL 3600
         . IN SOA ns.example.org. admin.example.org. ( 1 3h 1h 1w 1d )
diff --git a/nixos/tests/ceph-single-node-bluestore.nix b/nixos/tests/ceph-single-node-bluestore.nix
new file mode 100644
index 0000000000000..cc873e8aee576
--- /dev/null
+++ b/nixos/tests/ceph-single-node-bluestore.nix
@@ -0,0 +1,196 @@
+import ./make-test-python.nix ({pkgs, lib, ...}:
+
+let
+  cfg = {
+    clusterId = "066ae264-2a5d-4729-8001-6ad265f50b03";
+    monA = {
+      name = "a";
+      ip = "192.168.1.1";
+    };
+    osd0 = {
+      name = "0";
+      key = "AQBCEJNa3s8nHRAANvdsr93KqzBznuIWm2gOGg==";
+      uuid = "55ba2294-3e24-478f-bee0-9dca4c231dd9";
+    };
+    osd1 = {
+      name = "1";
+      key = "AQBEEJNac00kExAAXEgy943BGyOpVH1LLlHafQ==";
+      uuid = "5e97a838-85b6-43b0-8950-cb56d554d1e5";
+    };
+    osd2 = {
+      name = "2";
+      key = "AQAdyhZeIaUlARAAGRoidDAmS6Vkp546UFEf5w==";
+      uuid = "ea999274-13d0-4dd5-9af9-ad25a324f72f";
+    };
+  };
+  generateCephConfig = { daemonConfig }: {
+    enable = true;
+    global = {
+      fsid = cfg.clusterId;
+      monHost = cfg.monA.ip;
+      monInitialMembers = cfg.monA.name;
+    };
+  } // daemonConfig;
+
+  generateHost = { pkgs, cephConfig, networkConfig, ... }: {
+    virtualisation = {
+      memorySize = 512;
+      emptyDiskImages = [ 20480 20480 20480 ];
+      vlans = [ 1 ];
+    };
+
+    networking = networkConfig;
+
+    environment.systemPackages = with pkgs; [
+      bash
+      sudo
+      ceph
+      xfsprogs
+    ];
+
+    boot.kernelModules = [ "xfs" ];
+
+    services.ceph = cephConfig;
+  };
+
+  networkMonA = {
+    dhcpcd.enable = false;
+    interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
+      { address = cfg.monA.ip; prefixLength = 24; }
+    ];
+  };
+  cephConfigMonA = generateCephConfig { daemonConfig = {
+    mon = {
+      enable = true;
+      daemons = [ cfg.monA.name ];
+    };
+    mgr = {
+      enable = true;
+      daemons = [ cfg.monA.name ];
+    };
+    osd = {
+      enable = true;
+      daemons = [ cfg.osd0.name cfg.osd1.name cfg.osd2.name ];
+    };
+  }; };
+
+  # Following deployment is based on the manual deployment described here:
+  # https://docs.ceph.com/docs/master/install/manual-deployment/
+  # For other ways to deploy a ceph cluster, look at the documentation at
+  # https://docs.ceph.com/docs/master/
+  testscript = { ... }: ''
+    start_all()
+
+    monA.wait_for_unit("network.target")
+
+    # Bootstrap ceph-mon daemon
+    monA.succeed(
+        "sudo -u ceph ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'",
+        "sudo -u ceph ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'",
+        "sudo -u ceph ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring",
+        "monmaptool --create --add ${cfg.monA.name} ${cfg.monA.ip} --fsid ${cfg.clusterId} /tmp/monmap",
+        "sudo -u ceph ceph-mon --mkfs -i ${cfg.monA.name} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring",
+        "sudo -u ceph touch /var/lib/ceph/mon/ceph-${cfg.monA.name}/done",
+        "systemctl start ceph-mon-${cfg.monA.name}",
+    )
+    monA.wait_for_unit("ceph-mon-${cfg.monA.name}")
+    monA.succeed("ceph mon enable-msgr2")
+
+    # Can't check ceph status until a mon is up
+    monA.succeed("ceph -s | grep 'mon: 1 daemons'")
+
+    # Start the ceph-mgr daemon, after copying in the keyring
+    monA.succeed(
+        "sudo -u ceph mkdir -p /var/lib/ceph/mgr/ceph-${cfg.monA.name}/",
+        "ceph auth get-or-create mgr.${cfg.monA.name} mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-${cfg.monA.name}/keyring",
+        "systemctl start ceph-mgr-${cfg.monA.name}",
+    )
+    monA.wait_for_unit("ceph-mgr-a")
+    monA.wait_until_succeeds("ceph -s | grep 'quorum ${cfg.monA.name}'")
+    monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'")
+
+    # Bootstrap OSDs
+    monA.succeed(
+        "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd0.name}",
+        "echo bluestore > /var/lib/ceph/osd/ceph-${cfg.osd0.name}/type",
+        "ln -sf /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd0.name}/block",
+        "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd1.name}",
+        "echo bluestore > /var/lib/ceph/osd/ceph-${cfg.osd1.name}/type",
+        "ln -sf /dev/vdc /var/lib/ceph/osd/ceph-${cfg.osd1.name}/block",
+        "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd2.name}",
+        "echo bluestore > /var/lib/ceph/osd/ceph-${cfg.osd2.name}/type",
+        "ln -sf /dev/vdd /var/lib/ceph/osd/ceph-${cfg.osd2.name}/block",
+        "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd0.name}/keyring --name osd.${cfg.osd0.name} --add-key ${cfg.osd0.key}",
+        "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd1.name}/keyring --name osd.${cfg.osd1.name} --add-key ${cfg.osd1.key}",
+        "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd2.name}/keyring --name osd.${cfg.osd2.name} --add-key ${cfg.osd2.key}",
+        'echo \'{"cephx_secret": "${cfg.osd0.key}"}\' | ceph osd new ${cfg.osd0.uuid} -i -',
+        'echo \'{"cephx_secret": "${cfg.osd1.key}"}\' | ceph osd new ${cfg.osd1.uuid} -i -',
+        'echo \'{"cephx_secret": "${cfg.osd2.key}"}\' | ceph osd new ${cfg.osd2.uuid} -i -',
+    )
+
+    # Initialize the OSDs with regular filestore
+    monA.succeed(
+        "ceph-osd -i ${cfg.osd0.name} --mkfs --osd-uuid ${cfg.osd0.uuid}",
+        "ceph-osd -i ${cfg.osd1.name} --mkfs --osd-uuid ${cfg.osd1.uuid}",
+        "ceph-osd -i ${cfg.osd2.name} --mkfs --osd-uuid ${cfg.osd2.uuid}",
+        "chown -R ceph:ceph /var/lib/ceph/osd",
+        "systemctl start ceph-osd-${cfg.osd0.name}",
+        "systemctl start ceph-osd-${cfg.osd1.name}",
+        "systemctl start ceph-osd-${cfg.osd2.name}",
+    )
+    monA.wait_until_succeeds("ceph osd stat | grep -e '3 osds: 3 up[^,]*, 3 in'")
+    monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'")
+    monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
+
+    monA.succeed(
+        "ceph osd pool create single-node-test 32 32",
+        "ceph osd pool ls | grep 'single-node-test'",
+        "ceph osd pool rename single-node-test single-node-other-test",
+        "ceph osd pool ls | grep 'single-node-other-test'",
+    )
+    monA.wait_until_succeeds("ceph -s | grep '2 pools, 33 pgs'")
+    monA.succeed(
+        "ceph osd getcrushmap -o crush",
+        "crushtool -d crush -o decrushed",
+        "sed 's/step chooseleaf firstn 0 type host/step chooseleaf firstn 0 type osd/' decrushed > modcrush",
+        "crushtool -c modcrush -o recrushed",
+        "ceph osd setcrushmap -i recrushed",
+        "ceph osd pool set single-node-other-test size 2",
+    )
+    monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
+    monA.wait_until_succeeds("ceph -s | grep '33 active+clean'")
+    monA.fail(
+        "ceph osd pool ls | grep 'multi-node-test'",
+        "ceph osd pool delete single-node-other-test single-node-other-test --yes-i-really-really-mean-it",
+    )
+
+    # Shut down ceph by stopping ceph.target.
+    monA.succeed("systemctl stop ceph.target")
+
+    # Start it up
+    monA.succeed("systemctl start ceph.target")
+    monA.wait_for_unit("ceph-mon-${cfg.monA.name}")
+    monA.wait_for_unit("ceph-mgr-${cfg.monA.name}")
+    monA.wait_for_unit("ceph-osd-${cfg.osd0.name}")
+    monA.wait_for_unit("ceph-osd-${cfg.osd1.name}")
+    monA.wait_for_unit("ceph-osd-${cfg.osd2.name}")
+
+    # Ensure the cluster comes back up again
+    monA.succeed("ceph -s | grep 'mon: 1 daemons'")
+    monA.wait_until_succeeds("ceph -s | grep 'quorum ${cfg.monA.name}'")
+    monA.wait_until_succeeds("ceph osd stat | grep -e '3 osds: 3 up[^,]*, 3 in'")
+    monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'")
+    monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
+  '';
+in {
+  name = "basic-single-node-ceph-cluster-bluestore";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ lukegb ];
+  };
+
+  nodes = {
+    monA = generateHost { pkgs = pkgs; cephConfig = cephConfigMonA; networkConfig = networkMonA; };
+  };
+
+  testScript = testscript;
+})
diff --git a/nixos/tests/containers-bridge.nix b/nixos/tests/containers-bridge.nix
index 1208aa8fced7e..12fa67c8b015b 100644
--- a/nixos/tests/containers-bridge.nix
+++ b/nixos/tests/containers-bridge.nix
@@ -1,5 +1,3 @@
-# Test for NixOS' container support.
-
 let
   hostIp = "192.168.0.1";
   containerIp = "192.168.0.100/24";
@@ -7,10 +5,10 @@ let
   containerIp6 = "fc00::2/7";
 in
 
-import ./make-test-python.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "containers-bridge";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ aristid aszlig eelco kampfschlaefer ];
+  meta = {
+    maintainers = with lib.maintainers; [ aristid aszlig eelco kampfschlaefer ];
   };
 
   machine =
diff --git a/nixos/tests/containers-custom-pkgs.nix b/nixos/tests/containers-custom-pkgs.nix
index 397a4a905e6d9..c050e49bc29d2 100644
--- a/nixos/tests/containers-custom-pkgs.nix
+++ b/nixos/tests/containers-custom-pkgs.nix
@@ -1,42 +1,34 @@
-# Test for NixOS' container support.
+import ./make-test-python.nix ({ pkgs, lib, ... }: let
 
-import ./make-test-python.nix ({ pkgs, lib, ...} : let
-
-  customPkgs = pkgs // {
-    hello = pkgs.hello.overrideAttrs(old: {
-      name = "custom-hello";
+  customPkgs = pkgs.appendOverlays [ (self: super: {
+    hello = super.hello.overrideAttrs (old: {
+       name = "custom-hello";
     });
-  };
+  }) ];
 
 in {
-  name = "containers-hosts";
-  meta = with lib.maintainers; {
-    maintainers = [ adisbladis ];
+  name = "containers-custom-pkgs";
+  meta = {
+    maintainers = with lib.maintainers; [ adisbladis earvstedt ];
   };
 
-  machine =
-    { ... }:
-    {
-      virtualisation.memorySize = 256;
-      virtualisation.vlans = [];
+  machine = { config, ... }: {
+    assertions = let
+      helloName = (builtins.head config.containers.test.config.system.extraDependencies).name;
+    in [ {
+      assertion = helloName == "custom-hello";
+      message = "Unexpected value: ${helloName}";
+    } ];
 
-      containers.simple = {
-        autoStart = true;
-        pkgs = customPkgs;
-        config = {pkgs, config, ... }: {
-          environment.systemPackages = [
-            pkgs.hello
-          ];
-        };
+    containers.test = {
+      autoStart = true;
+      config = { pkgs, config, ... }: {
+        nixpkgs.pkgs = customPkgs;
+        system.extraDependencies = [ pkgs.hello ];
       };
-
     };
+  };
 
-  testScript = ''
-    start_all()
-    machine.wait_for_unit("default.target")
-    machine.succeed(
-        "test $(nixos-container run simple -- readlink -f /run/current-system/sw/bin/hello) = ${customPkgs.hello}/bin/hello"
-    )
-  '';
+  # This test only consists of evaluating the test machine
+  testScript = "";
 })
diff --git a/nixos/tests/containers-ephemeral.nix b/nixos/tests/containers-ephemeral.nix
index 692554ac0ba25..fabf0593f23af 100644
--- a/nixos/tests/containers-ephemeral.nix
+++ b/nixos/tests/containers-ephemeral.nix
@@ -1,7 +1,8 @@
-# Test for NixOS' container support.
-
-import ./make-test-python.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "containers-ephemeral";
+  meta = {
+    maintainers = with lib.maintainers; [ patryk27 ];
+  };
 
   machine = { pkgs, ... }: {
     virtualisation.memorySize = 768;
diff --git a/nixos/tests/containers-extra_veth.nix b/nixos/tests/containers-extra_veth.nix
index 212f3d0f46cbc..cbbb252583254 100644
--- a/nixos/tests/containers-extra_veth.nix
+++ b/nixos/tests/containers-extra_veth.nix
@@ -1,9 +1,7 @@
-# Test for NixOS' container support.
-
-import ./make-test-python.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "containers-extra_veth";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ kampfschlaefer ];
+  meta = {
+    maintainers = with lib.maintainers; [ kampfschlaefer ];
   };
 
   machine =
diff --git a/nixos/tests/containers-hosts.nix b/nixos/tests/containers-hosts.nix
index 65a983c42a789..1f24ed1f3c2c4 100644
--- a/nixos/tests/containers-hosts.nix
+++ b/nixos/tests/containers-hosts.nix
@@ -1,9 +1,7 @@
-# Test for NixOS' container support.
-
-import ./make-test-python.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "containers-hosts";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ montag451 ];
+  meta = {
+    maintainers = with lib.maintainers; [ montag451 ];
   };
 
   machine =
diff --git a/nixos/tests/containers-imperative.nix b/nixos/tests/containers-imperative.nix
index 393b4a5135dd5..0ff0d3f954528 100644
--- a/nixos/tests/containers-imperative.nix
+++ b/nixos/tests/containers-imperative.nix
@@ -1,9 +1,7 @@
-# Test for NixOS' container support.
-
-import ./make-test-python.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "containers-imperative";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ aristid aszlig eelco kampfschlaefer ];
+  meta = {
+    maintainers = with lib.maintainers; [ aristid aszlig eelco kampfschlaefer ];
   };
 
   machine =
diff --git a/nixos/tests/containers-ip.nix b/nixos/tests/containers-ip.nix
index 0265ed92d41cb..5abea2dbad9fa 100644
--- a/nixos/tests/containers-ip.nix
+++ b/nixos/tests/containers-ip.nix
@@ -1,5 +1,3 @@
-# Test for NixOS' container support.
-
 let
   webserverFor = hostAddress: localAddress: {
     inherit hostAddress localAddress;
@@ -13,10 +11,10 @@ let
     };
   };
 
-in import ./make-test-python.nix ({ pkgs, ...} : {
+in import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "containers-ipv4-ipv6";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ aristid aszlig eelco kampfschlaefer ];
+  meta = {
+    maintainers = with lib.maintainers; [ aristid aszlig eelco kampfschlaefer ];
   };
 
   machine =
diff --git a/nixos/tests/containers-macvlans.nix b/nixos/tests/containers-macvlans.nix
index 9425252cb8862..d0f41be8c1251 100644
--- a/nixos/tests/containers-macvlans.nix
+++ b/nixos/tests/containers-macvlans.nix
@@ -1,15 +1,13 @@
-# Test for NixOS' container support.
-
 let
   # containers IP on VLAN 1
   containerIp1 = "192.168.1.253";
   containerIp2 = "192.168.1.254";
 in
 
-import ./make-test-python.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "containers-macvlans";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ montag451 ];
+  meta = {
+    maintainers = with lib.maintainers; [ montag451 ];
   };
 
   nodes = {
diff --git a/nixos/tests/containers-names.nix b/nixos/tests/containers-names.nix
new file mode 100644
index 0000000000000..9ad2bfb748a8d
--- /dev/null
+++ b/nixos/tests/containers-names.nix
@@ -0,0 +1,37 @@
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
+  name = "containers-names";
+  meta = {
+    maintainers = with lib.maintainers; [ patryk27 ];
+  };
+
+  machine = { ... }: {
+    # We're using the newest kernel, so that we can test containers with long names.
+    # Please see https://github.com/NixOS/nixpkgs/issues/38509 for details.
+    boot.kernelPackages = pkgs.linuxPackages_latest;
+
+    containers = let
+      container = subnet: {
+        autoStart = true;
+        privateNetwork = true;
+        hostAddress = "192.168.${subnet}.1";
+        localAddress = "192.168.${subnet}.2";
+        config = { };
+      };
+
+     in {
+      first = container "1";
+      second = container "2";
+      really-long-name = container "3";
+      really-long-long-name-2 = container "4";
+    };
+  };
+
+  testScript = ''
+    machine.wait_for_unit("default.target")
+
+    machine.succeed("ip link show | grep ve-first")
+    machine.succeed("ip link show | grep ve-second")
+    machine.succeed("ip link show | grep ve-really-lFYWO")
+    machine.succeed("ip link show | grep ve-really-l3QgY")
+  '';
+})
diff --git a/nixos/tests/containers-physical_interfaces.nix b/nixos/tests/containers-physical_interfaces.nix
index 0b55c3418edfb..57bd0eedcc335 100644
--- a/nixos/tests/containers-physical_interfaces.nix
+++ b/nixos/tests/containers-physical_interfaces.nix
@@ -1,8 +1,7 @@
-
-import ./make-test-python.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "containers-physical_interfaces";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ kampfschlaefer ];
+  meta = {
+    maintainers = with lib.maintainers; [ kampfschlaefer ];
   };
 
   nodes = {
diff --git a/nixos/tests/containers-portforward.nix b/nixos/tests/containers-portforward.nix
index d0be3c7d43ec6..221a6f50efd1d 100644
--- a/nixos/tests/containers-portforward.nix
+++ b/nixos/tests/containers-portforward.nix
@@ -1,5 +1,3 @@
-# Test for NixOS' container support.
-
 let
   hostIp = "192.168.0.1";
   hostPort = 10080;
@@ -7,10 +5,10 @@ let
   containerPort = 80;
 in
 
-import ./make-test-python.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "containers-portforward";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ aristid aszlig eelco kampfschlaefer ianwookim ];
+  meta = {
+    maintainers = with lib.maintainers; [ aristid aszlig eelco kampfschlaefer ianwookim ];
   };
 
   machine =
diff --git a/nixos/tests/containers-reloadable.nix b/nixos/tests/containers-reloadable.nix
index 8772469176727..876e62c1da9ea 100644
--- a/nixos/tests/containers-reloadable.nix
+++ b/nixos/tests/containers-reloadable.nix
@@ -1,7 +1,6 @@
-import ./make-test-python.nix ({ pkgs, lib, ...} :
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 let
   client_base = {
-
     containers.test1 = {
       autoStart = true;
       config = {
@@ -16,8 +15,8 @@ let
   };
 in {
   name = "containers-reloadable";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ danbst ];
+  meta = {
+    maintainers = with lib.maintainers; [ danbst ];
   };
 
   nodes = {
diff --git a/nixos/tests/containers-restart_networking.nix b/nixos/tests/containers-restart_networking.nix
index b35552b5b1919..e1ad8157b2883 100644
--- a/nixos/tests/containers-restart_networking.nix
+++ b/nixos/tests/containers-restart_networking.nix
@@ -1,5 +1,3 @@
-# Test for NixOS' container support.
-
 let
   client_base = {
     networking.firewall.enable = false;
@@ -16,11 +14,11 @@ let
       };
     };
   };
-in import ./make-test-python.nix ({ pkgs, ...} :
+in import ./make-test-python.nix ({ pkgs, lib, ... }:
 {
   name = "containers-restart_networking";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ kampfschlaefer ];
+  meta = {
+    maintainers = with lib.maintainers; [ kampfschlaefer ];
   };
 
   nodes = {
diff --git a/nixos/tests/containers-tmpfs.nix b/nixos/tests/containers-tmpfs.nix
index 7ebf0d02a2406..fd9f9a252ca8c 100644
--- a/nixos/tests/containers-tmpfs.nix
+++ b/nixos/tests/containers-tmpfs.nix
@@ -1,9 +1,7 @@
-# Test for NixOS' container support.
-
-import ./make-test-python.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "containers-tmpfs";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ ];
+  meta = {
+    maintainers = with lib.maintainers; [ patryk27 ];
   };
 
   machine =
diff --git a/nixos/tests/custom-ca.nix b/nixos/tests/custom-ca.nix
new file mode 100644
index 0000000000000..67f7b3ff1f161
--- /dev/null
+++ b/nixos/tests/custom-ca.nix
@@ -0,0 +1,161 @@
+# Checks that `security.pki` options are working in curl and the main browser
+# engines: Gecko (via Firefox), Chromium, QtWebEngine (Falkon) and WebKitGTK
+# (via Midori). The test checks that certificates issued by a custom trusted
+# CA are accepted but those from an unknown CA are rejected.
+
+import ./make-test-python.nix ({ pkgs, lib, ... }:
+
+let
+  makeCert = { caName, domain }: pkgs.runCommand "example-cert"
+  { buildInputs = [ pkgs.gnutls ]; }
+  ''
+    mkdir $out
+
+    # CA cert template
+    cat >ca.template <<EOF
+    organization = "${caName}"
+    cn = "${caName}"
+    expiration_days = 365
+    ca
+    cert_signing_key
+    crl_signing_key
+    EOF
+
+    # server cert template
+    cat >server.template <<EOF
+    organization = "An example company"
+    cn = "${domain}"
+    expiration_days = 30
+    dns_name = "${domain}"
+    encryption_key
+    signing_key
+    EOF
+
+    # generate CA keypair
+    certtool                \
+      --generate-privkey    \
+      --key-type rsa        \
+      --sec-param High      \
+      --outfile $out/ca.key
+    certtool                     \
+      --generate-self-signed     \
+      --load-privkey $out/ca.key \
+      --template ca.template     \
+      --outfile $out/ca.crt
+
+    # generate server keypair
+    certtool                    \
+      --generate-privkey        \
+      --key-type rsa            \
+      --sec-param High          \
+      --outfile $out/server.key
+    certtool                            \
+      --generate-certificate            \
+      --load-privkey $out/server.key    \
+      --load-ca-privkey $out/ca.key     \
+      --load-ca-certificate $out/ca.crt \
+      --template server.template        \
+      --outfile $out/server.crt
+  '';
+
+  example-good-cert = makeCert
+    { caName = "Example good CA";
+      domain = "good.example.com";
+    };
+
+  example-bad-cert = makeCert
+    { caName = "Unknown CA";
+      domain = "bad.example.com";
+    };
+
+in
+
+{
+  name = "custom-ca";
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
+  enableOCR = true;
+
+  machine = { pkgs, ... }:
+    { imports = [ ./common/user-account.nix ./common/x11.nix ];
+
+      # chromium-based browsers refuse to run as root
+      test-support.displayManager.auto.user = "alice";
+      # browsers may hang with the default memory
+      virtualisation.memorySize = "500";
+
+      networking.hosts."127.0.0.1" = [ "good.example.com" "bad.example.com" ];
+      security.pki.certificateFiles = [ "${example-good-cert}/ca.crt" ];
+
+      services.nginx.enable = true;
+      services.nginx.virtualHosts."good.example.com" =
+        { onlySSL = true;
+          sslCertificate = "${example-good-cert}/server.crt";
+          sslCertificateKey = "${example-good-cert}/server.key";
+          locations."/".extraConfig = "return 200 'It works!';";
+        };
+      services.nginx.virtualHosts."bad.example.com" =
+        { onlySSL = true;
+          sslCertificate = "${example-bad-cert}/server.crt";
+          sslCertificateKey = "${example-bad-cert}/server.key";
+          locations."/".extraConfig = "return 200 'It does not work!';";
+        };
+
+      environment.systemPackages = with pkgs;
+        [ xdotool firefox chromium falkon midori ];
+    };
+
+  testScript = ''
+    def execute_as(user: str, cmd: str) -> Tuple[int, str]:
+        """
+        Run a shell command as a specific user.
+        """
+        return machine.execute(f"sudo -u {user} {cmd}")
+
+
+    def wait_for_window_as(user: str, cls: str) -> None:
+        """
+        Wait until a X11 window of a given user appears.
+        """
+
+        def window_is_visible(last_try: bool) -> bool:
+            ret, stdout = execute_as(user, f"xdotool search --onlyvisible --class {cls}")
+            if last_try:
+                machine.log(f"Last chance to match {cls} on the window list")
+            return ret == 0
+
+        with machine.nested("Waiting for a window to appear"):
+            retry(window_is_visible)
+
+
+    machine.start()
+
+    with subtest("Good certificate is trusted in curl"):
+        machine.wait_for_unit("nginx")
+        machine.wait_for_open_port(443)
+        machine.succeed("curl -fv https://good.example.com")
+
+    with subtest("Unknown CA is untrusted in curl"):
+        machine.fail("curl -fv https://bad.example.com")
+
+    browsers = ["firefox", "chromium", "falkon", "midori"]
+    errors = ["Security Risk", "not private", "Certificate Error", "Security"]
+
+    machine.wait_for_x()
+    for browser, error in zip(browsers, errors):
+        with subtest("Good certificate is trusted in " + browser):
+            execute_as(
+                "alice", f"env P11_KIT_DEBUG=trust {browser} https://good.example.com & >&2"
+            )
+            wait_for_window_as("alice", browser)
+            machine.wait_for_text("It works!")
+            machine.screenshot("good" + browser)
+            execute_as("alice", "xdotool key ctrl+w")  # close tab
+
+        with subtest("Unknown CA is untrusted in " + browser):
+            execute_as("alice", f"{browser} https://bad.example.com & >&2")
+            machine.wait_for_text(error)
+            machine.screenshot("bad" + browser)
+            machine.succeed("pkill " + browser)
+  '';
+})
diff --git a/nixos/tests/fsck.nix b/nixos/tests/fsck.nix
index e522419fde2b9..5453f3bc48b59 100644
--- a/nixos/tests/fsck.nix
+++ b/nixos/tests/fsck.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix {
   machine = { lib, ... }: {
     virtualisation.emptyDiskImages = [ 1 ];
 
-    fileSystems = lib.mkVMOverride {
+    virtualisation.fileSystems = {
       "/mnt" = {
         device = "/dev/vdb";
         fsType = "ext4";
diff --git a/nixos/tests/geth.nix b/nixos/tests/geth.nix
new file mode 100644
index 0000000000000..10cbd6d9038ca
--- /dev/null
+++ b/nixos/tests/geth.nix
@@ -0,0 +1,41 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "geth";
+  meta = with pkgs.lib; {
+    maintainers = with maintainers; [bachp ];
+  };
+
+  machine = { ... }: {
+    services.geth."mainnet" = {
+      enable = true;
+      http = {
+        enable = true;
+      };
+    };
+    services.geth."testnet" = {
+      enable = true;
+      port = 30304;
+      network = "goerli";
+      http = {
+        enable = true;
+        port = 18545;
+      };
+    };
+  };
+
+  testScript = ''
+    start_all()
+
+    machine.wait_for_unit("geth-mainnet.service")
+    machine.wait_for_unit("geth-testnet.service")
+    machine.wait_for_open_port(8545)
+    machine.wait_for_open_port(18545)
+
+    machine.succeed(
+        'geth attach --exec "eth.chainId()" http://localhost:8545 | grep \'"0x0"\' '
+    )
+
+    machine.succeed(
+        'geth attach --exec "eth.chainId()" http://localhost:18545 | grep \'"0x5"\' '
+    )
+  '';
+})
diff --git a/nixos/tests/gitlab.nix b/nixos/tests/gitlab.nix
index ba085338944a0..baad675229cce 100644
--- a/nixos/tests/gitlab.nix
+++ b/nixos/tests/gitlab.nix
@@ -11,6 +11,8 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
 
   nodes = {
     gitlab = { ... }: {
+      imports = [ common/user-account.nix ];
+
       virtualisation.memorySize = if pkgs.stdenv.is64bit then 4096 else 2047;
       systemd.services.gitlab.serviceConfig.Restart = mkForce "no";
       systemd.services.gitlab-workhorse.serviceConfig.Restart = mkForce "no";
@@ -27,11 +29,31 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
         };
       };
 
+      services.dovecot2 = {
+        enable = true;
+        enableImap = true;
+      };
+
       services.gitlab = {
         enable = true;
         databasePasswordFile = pkgs.writeText "dbPassword" "xo0daiF4";
         initialRootPasswordFile = pkgs.writeText "rootPassword" initialRootPassword;
         smtp.enable = true;
+        extraConfig = {
+          incoming_email = {
+            enabled = true;
+            mailbox = "inbox";
+            address = "alice@localhost";
+            user = "alice";
+            password = "foobar";
+            host = "localhost";
+            port = 143;
+          };
+          pages = {
+            enabled = true;
+            host = "localhost";
+          };
+        };
         secrets = {
           secretFile = pkgs.writeText "secret" "r8X9keSKynU7p4aKlh4GO1Bo77g5a7vj";
           otpFile = pkgs.writeText "otpsecret" "Zu5hGx3YvQx40DvI8WoZJQpX2paSDOlG";
@@ -64,12 +86,16 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
   in
   ''
     gitlab.start()
+
     gitlab.wait_for_unit("gitaly.service")
     gitlab.wait_for_unit("gitlab-workhorse.service")
+    gitlab.wait_for_unit("gitlab-pages.service")
+    gitlab.wait_for_unit("gitlab-mailroom.service")
     gitlab.wait_for_unit("gitlab.service")
     gitlab.wait_for_unit("gitlab-sidekiq.service")
     gitlab.wait_for_file("/var/gitlab/state/tmp/sockets/gitlab.socket")
     gitlab.wait_until_succeeds("curl -sSf http://gitlab/users/sign_in")
+
     gitlab.succeed(
         "curl -isSf http://gitlab | grep -i location | grep -q http://gitlab/users/sign_in"
     )
diff --git a/nixos/tests/glusterfs.nix b/nixos/tests/glusterfs.nix
index cb07bc09511dd..ef09264a02167 100644
--- a/nixos/tests/glusterfs.nix
+++ b/nixos/tests/glusterfs.nix
@@ -3,7 +3,7 @@ import ./make-test-python.nix ({pkgs, lib, ...}:
 let
   client = { pkgs, ... } : {
     environment.systemPackages = [ pkgs.glusterfs ];
-    fileSystems = pkgs.lib.mkVMOverride
+    virtualisation.fileSystems =
       { "/gluster" =
           { device = "server1:/gv0";
             fsType = "glusterfs";
@@ -22,7 +22,7 @@ let
 
     virtualisation.emptyDiskImages = [ 1024 ];
 
-    fileSystems = pkgs.lib.mkVMOverride
+    virtualisation.fileSystems =
       { "/data" =
           { device = "/dev/disk/by-label/data";
             fsType = "ext4";
diff --git a/nixos/tests/hardened.nix b/nixos/tests/hardened.nix
index d3f1f3172965a..485efc0fb78c4 100644
--- a/nixos/tests/hardened.nix
+++ b/nixos/tests/hardened.nix
@@ -18,7 +18,7 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... } : {
       boot.initrd.postDeviceCommands = ''
         ${pkgs.dosfstools}/bin/mkfs.vfat -n EFISYS /dev/vdb
       '';
-      fileSystems = lib.mkVMOverride {
+      virtualisation.fileSystems = {
         "/efi" = {
           device = "/dev/disk/by-label/EFISYS";
           fsType = "vfat";
@@ -65,17 +65,6 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... } : {
           machine.succeed("grep -Fq wireguard /proc/modules")
 
 
-      # Test hidepid
-      with subtest("hidepid=2 option is applied and works"):
-          # Linux >= 5.8 shows "invisible"
-          machine.succeed(
-              "grep -Fq hidepid=2 /proc/mounts || grep -Fq hidepid=invisible /proc/mounts"
-          )
-          # cannot use pgrep -u here, it segfaults when access to process info is denied
-          machine.succeed("[ `su - sybil -c 'ps --no-headers --user root | wc -l'` = 0 ]")
-          machine.succeed("[ `su - alice -c 'ps --no-headers --user root | wc -l'` != 0 ]")
-
-
       # Test kernel module hardening
       with subtest("No more kernel modules can be loaded"):
           # note: this better a be module we normally wouldn't load ...
diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix
index 5fa4704d02b6a..904ec17229e1c 100644
--- a/nixos/tests/installer.nix
+++ b/nixos/tests/installer.nix
@@ -76,8 +76,8 @@ let
       def assemble_qemu_flags():
           flags = "-cpu max"
           ${if system == "x86_64-linux"
-            then ''flags += " -m 768"''
-            else ''flags += " -m 512 -enable-kvm -machine virt,gic-version=host"''
+            then ''flags += " -m 1024"''
+            else ''flags += " -m 768 -enable-kvm -machine virt,gic-version=host"''
           }
           return flags
 
@@ -325,10 +325,13 @@ let
             curl
           ]
           ++ optional (bootLoader == "grub" && grubVersion == 1) pkgs.grub
-          ++ optionals (bootLoader == "grub" && grubVersion == 2) [
-            (pkgs.grub2.override { zfsSupport = true; })
-            (pkgs.grub2_efi.override { zfsSupport = true; })
-          ];
+          ++ optionals (bootLoader == "grub" && grubVersion == 2) (let
+            zfsSupport = lib.any (x: x == "zfs")
+              (extraInstallerConfig.boot.supportedFilesystems or []);
+          in [
+            (pkgs.grub2.override { inherit zfsSupport; })
+            (pkgs.grub2_efi.override { inherit zfsSupport; })
+          ]);
 
           nix.binaryCaches = mkForce [ ];
           nix.extraOptions = ''
@@ -398,9 +401,9 @@ let
     createPartitions = ''
       machine.succeed(
           "flock /dev/vda parted --script /dev/vda -- mklabel gpt"
-          + " mkpart ESP fat32 1M 50MiB"  # /boot
+          + " mkpart ESP fat32 1M 100MiB"  # /boot
           + " set 1 boot on"
-          + " mkpart primary linux-swap 50MiB 1024MiB"
+          + " mkpart primary linux-swap 100MiB 1024MiB"
           + " mkpart primary ext2 1024MiB -1MiB",  # /
           "udevadm settle",
           "mkswap /dev/vda2 -L swap",
diff --git a/nixos/tests/jq.nix b/nixos/tests/jq.nix
deleted file mode 100644
index 075e6c43c09d4..0000000000000
--- a/nixos/tests/jq.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-import ./make-test-python.nix ({ pkgs, ... }: {
-  name = "jq";
-  meta = with pkgs.lib.maintainers; { maintainers = [ nequissimus ]; };
-
-  nodes.jq = { pkgs, ... }: { environment.systemPackages = [ pkgs.jq ]; };
-
-  testScript = ''
-    assert "world" in jq.succeed('echo \'{"values":["hello","world"]}\'| jq \'.values[1]\''')
-  '';
-})
diff --git a/nixos/tests/keepassxc.nix b/nixos/tests/keepassxc.nix
new file mode 100644
index 0000000000000..98902187f6ac3
--- /dev/null
+++ b/nixos/tests/keepassxc.nix
@@ -0,0 +1,34 @@
+import ./make-test-python.nix ({ pkgs, ...} :
+
+{
+  name = "keepassxc";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ turion ];
+  };
+
+  machine = { ... }:
+
+  {
+    imports = [
+      ./common/user-account.nix
+      ./common/x11.nix
+    ];
+
+    services.xserver.enable = true;
+    test-support.displayManager.auto.user = "alice";
+    environment.systemPackages = [ pkgs.keepassxc ];
+  };
+
+  enableOCR = true;
+
+  testScript = { nodes, ... }: ''
+    start_all()
+    machine.wait_for_x()
+
+    # start KeePassXC window
+    machine.execute("su - alice -c keepassxc &")
+
+    machine.wait_for_text("KeePassXC ${pkgs.keepassxc.version}")
+    machine.screenshot("KeePassXC")
+  '';
+})
diff --git a/nixos/tests/ksm.nix b/nixos/tests/ksm.nix
new file mode 100644
index 0000000000000..8f84b32020ab9
--- /dev/null
+++ b/nixos/tests/ksm.nix
@@ -0,0 +1,22 @@
+import ./make-test-python.nix ({ lib, ...} :
+
+{
+  name = "ksm";
+  meta = with lib.maintainers; {
+    maintainers = [ rnhmjoj ];
+  };
+
+  machine = { ... }: {
+    imports = [ ../modules/profiles/minimal.nix ];
+
+    hardware.ksm.enable = true;
+    hardware.ksm.sleep = 300;
+  };
+
+  testScript =
+    ''
+      machine.start()
+      machine.wait_until_succeeds("test $(</sys/kernel/mm/ksm/run) -eq 1")
+      machine.wait_until_succeeds("test $(</sys/kernel/mm/ksm/sleep_millisecs) -eq 300")
+    '';
+})
diff --git a/nixos/tests/locate.nix b/nixos/tests/locate.nix
index 67ae610fe0127..e8ba41812a8f5 100644
--- a/nixos/tests/locate.nix
+++ b/nixos/tests/locate.nix
@@ -7,7 +7,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }:
     nodes = rec {
       a = {
         environment.systemPackages = with pkgs; [ sshfs ];
-        fileSystems = lib.mkVMOverride {
+        virtualisation.fileSystems = {
           "/ssh" = {
             device = "alice@b:/";
             fsType = "fuse.sshfs";
diff --git a/nixos/tests/misc.nix b/nixos/tests/misc.nix
index fda2e60a41b6f..fb19b7060562f 100644
--- a/nixos/tests/misc.nix
+++ b/nixos/tests/misc.nix
@@ -16,7 +16,7 @@ import ./make-test-python.nix ({ pkgs, ...} : rec {
       environment.variables.EDITOR = mkOverride 0 "emacs";
       documentation.nixos.enable = mkOverride 0 true;
       systemd.tmpfiles.rules = [ "d /tmp 1777 root root 10d" ];
-      fileSystems = mkVMOverride { "/tmp2" =
+      virtualisation.fileSystems = { "/tmp2" =
         { fsType = "tmpfs";
           options = [ "mode=1777" "noauto" ];
         };
diff --git a/nixos/tests/musescore.nix b/nixos/tests/musescore.nix
new file mode 100644
index 0000000000000..96481a9a8bf48
--- /dev/null
+++ b/nixos/tests/musescore.nix
@@ -0,0 +1,86 @@
+import ./make-test-python.nix ({ pkgs, ...} :
+
+let
+  # Make sure we don't have to go through the startup tutorial
+  customMuseScoreConfig = pkgs.writeText "MuseScore3.ini" ''
+    [application]
+    startup\firstStart=false
+
+    [ui]
+    application\startup\showTours=false
+    application\startup\showStartCenter=false
+    '';
+in
+{
+  name = "musescore";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ turion ];
+  };
+
+  machine = { ... }:
+
+  {
+    imports = [
+      ./common/x11.nix
+    ];
+
+    services.xserver.enable = true;
+    environment.systemPackages = with pkgs; [
+      musescore
+      pdfgrep
+    ];
+  };
+
+  enableOCR = true;
+
+  testScript = { ... }: ''
+    start_all()
+    machine.wait_for_x()
+
+    # Inject custom settings
+    machine.succeed("mkdir -p /root/.config/MuseScore/")
+    machine.succeed(
+        "cp ${customMuseScoreConfig} /root/.config/MuseScore/MuseScore3.ini"
+    )
+
+    # Start MuseScore window
+    machine.execute("DISPLAY=:0.0 mscore &")
+
+    # Wait until MuseScore has launched
+    machine.wait_for_window("MuseScore")
+
+    # Wait until the window has completely initialised
+    machine.wait_for_text("MuseScore")
+
+    # Start entering notes
+    machine.send_key("n")
+    # Type the beginning of https://de.wikipedia.org/wiki/Alle_meine_Entchen
+    machine.send_chars("cdef6gg5aaaa7g")
+    # Make sure the VM catches up with all the keys
+    machine.sleep(1)
+
+    machine.screenshot("MuseScore0")
+
+    # Go to the export dialogue and create a PDF
+    machine.send_key("alt-f")
+    machine.sleep(1)
+    machine.send_key("e")
+
+    # Wait until the export dialogue appears.
+    machine.wait_for_window("Export")
+    machine.screenshot("MuseScore1")
+    machine.send_key("ret")
+    machine.sleep(1)
+    machine.send_key("ret")
+
+    machine.screenshot("MuseScore2")
+
+    # Wait until PDF is exported
+    machine.wait_for_file("/root/Documents/MuseScore3/Scores/Untitled.pdf")
+
+    # Check that it contains the title of the score
+    machine.succeed("pdfgrep Title /root/Documents/MuseScore3/Scores/Untitled.pdf")
+
+    machine.screenshot("MuseScore3")
+  '';
+})
diff --git a/nixos/tests/networking.nix b/nixos/tests/networking.nix
index 4fc5d48e0e173..1ea61f99a9513 100644
--- a/nixos/tests/networking.nix
+++ b/nixos/tests/networking.nix
@@ -35,7 +35,7 @@ let
         extraConfig = flip concatMapStrings vlanIfs (n: ''
           subnet 192.168.${toString n}.0 netmask 255.255.255.0 {
             option routers 192.168.${toString n}.1;
-            range 192.168.${toString n}.2 192.168.${toString n}.254;
+            range 192.168.${toString n}.3 192.168.${toString n}.254;
           }
         '')
         ;
@@ -672,6 +672,30 @@ let
             ), "The IPv6 routing table has not been properly cleaned:\n{}".format(ipv6Residue)
       '';
     };
+    rename = {
+      name = "RenameInterface";
+      machine = { pkgs, ... }: {
+        virtualisation.vlans = [ 1 ];
+        networking = {
+          useNetworkd = networkd;
+          useDHCP = false;
+        };
+      } //
+      (if networkd
+       then { systemd.network.links."10-custom_name" = {
+                matchConfig.MACAddress = "52:54:00:12:01:01";
+                linkConfig.Name = "custom_name";
+              };
+            }
+       else { services.udev.initrdRules = ''
+               SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:12:01:01", KERNEL=="eth*", NAME="custom_name"
+              '';
+            });
+      testScript = ''
+        machine.succeed("udevadm settle")
+        print(machine.succeed("ip link show dev custom_name"))
+      '';
+    };
     # even with disabled networkd, systemd.network.links should work
     # (as it's handled by udev, not networkd)
     link = {
diff --git a/nixos/tests/nextcloud/basic.nix b/nixos/tests/nextcloud/basic.nix
index 9005044704279..0b8e1937128c9 100644
--- a/nixos/tests/nextcloud/basic.nix
+++ b/nixos/tests/nextcloud/basic.nix
@@ -15,7 +15,7 @@ in {
         echo "http://nextcloud/remote.php/webdav/ ${adminuser} ${adminpass}" > /tmp/davfs2-secrets
         chmod 600 /tmp/davfs2-secrets
       '';
-      fileSystems = pkgs.lib.mkVMOverride {
+      virtualisation.fileSystems = {
         "/mnt/dav" = {
           device = "http://nextcloud/remote.php/webdav/";
           fsType = "davfs";
diff --git a/nixos/tests/nfs/kerberos.nix b/nixos/tests/nfs/kerberos.nix
index 078f0b7814cea..75d1210496b00 100644
--- a/nixos/tests/nfs/kerberos.nix
+++ b/nixos/tests/nfs/kerberos.nix
@@ -40,7 +40,7 @@ in
         networking.domain = "nfs.test";
         networking.hostName = "client";
 
-        fileSystems = lib.mkVMOverride
+        virtualisation.fileSystems =
           { "/data" = {
               device  = "server.nfs.test:/";
               fsType  = "nfs";
diff --git a/nixos/tests/nfs/simple.nix b/nixos/tests/nfs/simple.nix
index 630c68a5b05d0..6a01089c0828c 100644
--- a/nixos/tests/nfs/simple.nix
+++ b/nixos/tests/nfs/simple.nix
@@ -4,7 +4,7 @@ let
 
   client =
     { pkgs, ... }:
-    { fileSystems = pkgs.lib.mkVMOverride
+    { virtualisation.fileSystems =
         { "/data" =
            { # nfs4 exports the export with fsid=0 as a virtual root directory
              device = if (version == 4) then "server:/" else "server:/data";
diff --git a/nixos/tests/nixos-generate-config.nix b/nixos/tests/nixos-generate-config.nix
index 5daa55a8abbea..7bf8d4da7b6d4 100644
--- a/nixos/tests/nixos-generate-config.nix
+++ b/nixos/tests/nixos-generate-config.nix
@@ -11,12 +11,11 @@ import ./make-test-python.nix ({ lib, ... } : {
       }
     '';
 
-    system.nixos-generate-config.desktopConfiguration = ''
+    system.nixos-generate-config.desktopConfiguration = [''
       # DESKTOP
-      # services.xserver.enable = true;
-      # services.xserver.displayManager.gdm.enable = true;
-      # services.xserver.desktopManager.gnome3.enable = true;
-    '';
+      services.xserver.displayManager.gdm.enable = true;
+      services.xserver.desktopManager.gnome3.enable = true;
+    ''];
   };
   testScript = ''
     start_all()
diff --git a/nixos/tests/openldap.nix b/nixos/tests/openldap.nix
index 392fae243467b..f1a39ad7dde2f 100644
--- a/nixos/tests/openldap.nix
+++ b/nixos/tests/openldap.nix
@@ -1,4 +1,9 @@
-{ pkgs, system ? builtins.currentSystem, ... }: let
+{ pkgs ? (import ../.. { inherit system; config = { }; })
+, system ? builtins.currentSystem
+, ...
+}:
+
+let
   dbContents = ''
     dn: dc=example
     objectClass: domain
@@ -16,7 +21,7 @@
   '';
 in {
   # New-style configuration
-  current = import ./make-test-python.nix {
+  current = import ./make-test-python.nix ({ pkgs, ... }: {
     inherit testScript;
     name = "openldap";
 
@@ -53,10 +58,10 @@ in {
         declarativeContents."dc=example" = dbContents;
       };
     };
-  };
+  }) { inherit pkgs system; };
 
   # Old-style configuration
-  oldOptions = import ./make-test-python.nix {
+  oldOptions = import ./make-test-python.nix ({ pkgs, ... }: {
     inherit testScript;
     name = "openldap";
 
@@ -72,10 +77,10 @@ in {
         declarativeContents."dc=example" = dbContents;
       };
     };
-  };
+  }) { inherit system pkgs; };
 
   # Manually managed configDir, for example if dynamic config is essential
-  manualConfigDir = import ./make-test-python.nix {
+  manualConfigDir = import ./make-test-python.nix ({ pkgs, ... }: {
     name = "openldap";
 
     machine = { pkgs, ... }: {
@@ -121,5 +126,5 @@ in {
           "systemctl restart openldap",
       )
     '' + testScript;
-  };
+  }) { inherit system pkgs; };
 }
diff --git a/nixos/tests/orangefs.nix b/nixos/tests/orangefs.nix
index 24b7737058c83..fe9f9cc37ea03 100644
--- a/nixos/tests/orangefs.nix
+++ b/nixos/tests/orangefs.nix
@@ -9,7 +9,7 @@ let
 
     virtualisation.emptyDiskImages = [ 4096 ];
 
-    fileSystems = pkgs.lib.mkVMOverride
+    virtualisation.fileSystems =
       { "/data" =
           { device = "/dev/disk/by-label/data";
             fsType = "ext4";
diff --git a/nixos/tests/php/default.nix b/nixos/tests/php/default.nix
index ee7a3b56a3ef0..6ecaed2460464 100644
--- a/nixos/tests/php/default.nix
+++ b/nixos/tests/php/default.nix
@@ -1,8 +1,9 @@
-{ system ? builtins.currentSystem,
-  config ? {},
-  pkgs ? import ../../.. { inherit system config; }
+{ system ? builtins.currentSystem
+, config ? {}
+, pkgs ? import ../../.. { inherit system config; }
+, php ? pkgs.php
 }: {
-  fpm = import ./fpm.nix { inherit system pkgs; };
-  httpd = import ./httpd.nix { inherit system pkgs; };
-  pcre = import ./pcre.nix { inherit system pkgs; };
+  fpm = import ./fpm.nix { inherit system pkgs php; };
+  httpd = import ./httpd.nix { inherit system pkgs php; };
+  pcre = import ./pcre.nix { inherit system pkgs php; };
 }
diff --git a/nixos/tests/php/fpm.nix b/nixos/tests/php/fpm.nix
index 9ad515ebdde06..f84394ccea45f 100644
--- a/nixos/tests/php/fpm.nix
+++ b/nixos/tests/php/fpm.nix
@@ -1,5 +1,5 @@
-import ../make-test-python.nix ({pkgs, lib, ...}: {
-  name = "php-fpm-nginx-test";
+import ../make-test-python.nix ({pkgs, lib, php, ...}: {
+  name = "php-${php.version}-fpm-nginx-test";
   meta.maintainers = lib.teams.php.members;
 
   machine = { config, lib, pkgs, ... }: {
@@ -25,6 +25,7 @@ import ../make-test-python.nix ({pkgs, lib, ...}: {
 
     services.phpfpm.pools."foobar" = {
       user = "nginx";
+      phpPackage = php;
       settings = {
         "listen.group" = "nginx";
         "listen.mode" = "0600";
@@ -44,7 +45,7 @@ import ../make-test-python.nix ({pkgs, lib, ...}: {
 
     # Check so we get an evaluated PHP back
     response = machine.succeed("curl -fvvv -s http://127.0.0.1:80/")
-    assert "PHP Version ${pkgs.php.version}" in response, "PHP version not detected"
+    assert "PHP Version ${php.version}" in response, "PHP version not detected"
 
     # Check so we have database and some other extensions loaded
     for ext in ["json", "opcache", "pdo_mysql", "pdo_pgsql", "pdo_sqlite"]:
diff --git a/nixos/tests/php/httpd.nix b/nixos/tests/php/httpd.nix
index 27ea7a24e3a99..a5ca9b3c5d1fe 100644
--- a/nixos/tests/php/httpd.nix
+++ b/nixos/tests/php/httpd.nix
@@ -1,5 +1,5 @@
-import ../make-test-python.nix ({pkgs, lib, ...}: {
-  name = "php-httpd-test";
+import ../make-test-python.nix ({pkgs, lib, php, ...}: {
+  name = "php-${php.version}-httpd-test";
   meta.maintainers = lib.teams.php.members;
 
   machine = { config, lib, pkgs, ... }: {
@@ -14,6 +14,7 @@ import ../make-test-python.nix ({pkgs, lib, ...}: {
           index = "index.php index.html";
         };
       };
+      phpPackage = php;
       enablePHP = true;
     };
   };
@@ -22,7 +23,7 @@ import ../make-test-python.nix ({pkgs, lib, ...}: {
 
     # Check so we get an evaluated PHP back
     response = machine.succeed("curl -fvvv -s http://127.0.0.1:80/")
-    assert "PHP Version ${pkgs.php.version}" in response, "PHP version not detected"
+    assert "PHP Version ${php.version}" in response, "PHP version not detected"
 
     # Check so we have database and some other extensions loaded
     for ext in ["json", "opcache", "pdo_mysql", "pdo_pgsql", "pdo_sqlite"]:
diff --git a/nixos/tests/php/pcre.nix b/nixos/tests/php/pcre.nix
index 3ea19304bffd5..97572f63af33a 100644
--- a/nixos/tests/php/pcre.nix
+++ b/nixos/tests/php/pcre.nix
@@ -1,7 +1,7 @@
 let
   testString = "can-use-subgroups";
-in import ../make-test-python.nix ({lib, ...}: {
-  name = "php-httpd-pcre-jit-test";
+in import ../make-test-python.nix ({lib, php, ...}: {
+  name = "php-${php.version}-httpd-pcre-jit-test";
   meta.maintainers = lib.teams.php.members;
 
   machine = { lib, pkgs, ... }: {
@@ -9,6 +9,7 @@ in import ../make-test-python.nix ({lib, ...}: {
     services.httpd = {
       enable = true;
       adminAddr = "please@dont.contact";
+      phpPackage = php;
       enablePHP = true;
       phpOptions = "pcre.jit = true";
       extraConfig = let
diff --git a/nixos/tests/power-profiles-daemon.nix b/nixos/tests/power-profiles-daemon.nix
new file mode 100644
index 0000000000000..e073677bee9d7
--- /dev/null
+++ b/nixos/tests/power-profiles-daemon.nix
@@ -0,0 +1,45 @@
+import ./make-test-python.nix ({ pkgs, ... }:
+
+{
+  name = "power-profiles-daemon";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ mvnetbiz ];
+  };
+  machine = { pkgs, ... }: {
+    services.power-profiles-daemon.enable = true;
+    environment.systemPackages = [ pkgs.glib ];
+  };
+
+  testScript = ''
+    def get_profile():
+        return machine.succeed(
+            """gdbus call --system --dest net.hadess.PowerProfiles --object-path /net/hadess/PowerProfiles \
+    --method org.freedesktop.DBus.Properties.Get 'net.hadess.PowerProfiles' 'ActiveProfile'
+    """
+        )
+
+
+    def set_profile(profile):
+        return machine.succeed(
+            """gdbus call --system --dest net.hadess.PowerProfiles --object-path /net/hadess/PowerProfiles \
+    --method org.freedesktop.DBus.Properties.Set 'net.hadess.PowerProfiles' 'ActiveProfile' "<'{profile}'>"
+    """.format(
+                profile=profile
+            )
+        )
+
+
+    machine.wait_for_unit("multi-user.target")
+
+    set_profile("power-saver")
+    profile = get_profile()
+    if not "power-saver" in profile:
+        raise Exception("Unable to set power-saver profile")
+
+
+    set_profile("balanced")
+    profile = get_profile()
+    if not "balanced" in profile:
+        raise Exception("Unable to set balanced profile")
+  '';
+})
diff --git a/nixos/tests/ripgrep.nix b/nixos/tests/ripgrep.nix
deleted file mode 100644
index 3ff3bf4be1518..0000000000000
--- a/nixos/tests/ripgrep.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-import ./make-test-python.nix ({ pkgs, ... }: {
-  name = "ripgrep";
-  meta = with pkgs.lib.maintainers; { maintainers = [ nequissimus ]; };
-
-  nodes.ripgrep = { pkgs, ... }: { environment.systemPackages = [ pkgs.ripgrep ]; };
-
-  testScript = ''
-    ripgrep.succeed('echo "abc\nbcd\ncde" > /tmp/foo')
-    assert "bcd" in ripgrep.succeed("rg -N 'bcd' /tmp/foo")
-    assert "bcd\ncde" in ripgrep.succeed("rg -N 'cd' /tmp/foo")
-    assert "ripgrep ${pkgs.ripgrep.version}" in ripgrep.succeed("rg --version | head -1")
-  '';
-})
diff --git a/nixos/tests/samba.nix b/nixos/tests/samba.nix
index 142269752b34f..d1d50caabfa53 100644
--- a/nixos/tests/samba.nix
+++ b/nixos/tests/samba.nix
@@ -8,7 +8,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
   nodes =
     { client =
         { pkgs, ... }:
-        { fileSystems = pkgs.lib.mkVMOverride
+        { virtualisation.fileSystems =
             { "/public" = {
                 fsType = "cifs";
                 device = "//server/public";
diff --git a/nixos/tests/sbt-extras.nix b/nixos/tests/sbt-extras.nix
deleted file mode 100644
index f1672bf20665c..0000000000000
--- a/nixos/tests/sbt-extras.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-import ./make-test-python.nix ({ pkgs, ...} : {
-  name = "sbt-extras";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ nequissimus ];
-  };
-
-  machine = { pkgs, ... }:
-    {
-      environment.systemPackages = [ pkgs.sbt-extras ];
-    };
-
-  testScript =
-    ''
-      machine.succeed("(sbt -h)")
-    '';
-})
diff --git a/nixos/tests/sbt.nix b/nixos/tests/sbt.nix
deleted file mode 100644
index 22541232ba65d..0000000000000
--- a/nixos/tests/sbt.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-import ./make-test-python.nix ({ pkgs, ...} : {
-  name = "sbt";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ nequissimus ];
-  };
-
-  machine = { pkgs, ... }:
-    {
-      environment.systemPackages = [ pkgs.sbt ];
-    };
-
-  testScript =
-    ''
-      machine.succeed(
-          "(sbt --offline --version 2>&1 || true) | grep 'getting org.scala-sbt sbt ${pkgs.sbt.version}  (this may take some time)'"
-      )
-    '';
-})
diff --git a/nixos/tests/scala.nix b/nixos/tests/scala.nix
deleted file mode 100644
index 4fc3f8aa7b0ad..0000000000000
--- a/nixos/tests/scala.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ system ? builtins.currentSystem,
-  config ? {},
-  pkgs ? import ../.. { inherit system config; }
-}:
-
-with pkgs.lib;
-
-let
-  common = name: package: (import ./make-test-python.nix ({
-    inherit name;
-    meta = with pkgs.lib.maintainers; {
-      maintainers = [ nequissimus ];
-    };
-
-    nodes = {
-      scala = { ... }: {
-        environment.systemPackages = [ package ];
-      };
-    };
-
-    testScript = ''
-      start_all()
-
-      scala.succeed("scalac -version 2>&1 | grep '^Scala compiler version ${package.version}'")
-    '';
-  }) { inherit system; });
-
-in with pkgs; {
-  scala_2_10  = common "scala_2_10"  scala_2_10;
-  scala_2_11  = common "scala_2_11"  scala_2_11;
-  scala_2_12  = common "scala_2_12"  scala_2_12;
-  scala_2_13  = common "scala_2_13"  scala_2_13;
-}
diff --git a/nixos/tests/snapcast.nix b/nixos/tests/snapcast.nix
index a69b7afe99da7..2fef636251401 100644
--- a/nixos/tests/snapcast.nix
+++ b/nixos/tests/snapcast.nix
@@ -4,6 +4,8 @@ let
   port = 10004;
   tcpPort = 10005;
   httpPort = 10080;
+  tcpStreamPort = 10006;
+  bufferSize = 742;
 in {
   name = "snapcast";
   meta = with pkgs.lib.maintainers; {
@@ -17,18 +19,27 @@ in {
         port = port;
         tcp.port = tcpPort;
         http.port = httpPort;
+        buffer = bufferSize;
         streams = {
           mpd = {
             type = "pipe";
             location = "/run/snapserver/mpd";
+            query.mode = "create";
           };
           bluetooth = {
             type = "pipe";
             location = "/run/snapserver/bluetooth";
           };
+          tcp = {
+            type = "tcp";
+            location = "127.0.0.1:${toString tcpStreamPort}";
+          };
         };
       };
     };
+    client = {
+      environment.systemPackages = [ pkgs.snapcast ];
+    };
   };
 
   testScript = ''
@@ -42,6 +53,7 @@ in {
     server.wait_until_succeeds("ss -ntl | grep -q ${toString port}")
     server.wait_until_succeeds("ss -ntl | grep -q ${toString tcpPort}")
     server.wait_until_succeeds("ss -ntl | grep -q ${toString httpPort}")
+    server.wait_until_succeeds("ss -ntl | grep -q ${toString tcpStreamPort}")
 
     with subtest("check that pipes are created"):
         server.succeed("test -p /run/snapserver/mpd")
@@ -54,5 +66,12 @@ in {
         server.succeed(
             "curl --fail http://localhost:${toString httpPort}/jsonrpc -d '{json.dumps(get_rpc_version)}'"
         )
+
+    with subtest("test a connection"):
+        client.execute("systemd-run snapclient -h server -p ${toString port}")
+        server.wait_until_succeeds(
+            "journalctl -o cat -u snapserver.service | grep -q 'Hello from'"
+        )
+        client.wait_until_succeeds("journalctl -o cat -u run-\* | grep -q ${toString bufferSize}")
   '';
 })
diff --git a/nixos/tests/snapper.nix b/nixos/tests/snapper.nix
index 018102d7f6409..098d8d9d72f55 100644
--- a/nixos/tests/snapper.nix
+++ b/nixos/tests/snapper.nix
@@ -9,7 +9,7 @@ import ./make-test-python.nix ({ ... }:
 
     virtualisation.emptyDiskImages = [ 4096 ];
 
-    fileSystems = lib.mkVMOverride {
+    virtualisation.fileSystems = {
       "/home" = {
         device = "/dev/disk/by-label/aux";
         fsType = "btrfs";
diff --git a/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix b/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix
index bce78f09fdcce..5831c8692f69e 100644
--- a/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix
+++ b/nixos/tests/systemd-networkd-ipv6-prefix-delegation.nix
@@ -165,7 +165,7 @@ import ./make-test-python.nix ({pkgs, ...}: {
               # accept the delegated prefix.
               PrefixDelegationHint  = "::/48";
             };
-            ipv6PrefixDelegationConfig = {
+            ipv6SendRAConfig = {
               # Let networkd know that we would very much like to use DHCPv6
               # to obtain the "managed" information. Not sure why they can't
               # just take that from the upstream RAs.
@@ -179,24 +179,20 @@ import ./make-test-python.nix ({pkgs, ...}: {
             name = "eth2";
             networkConfig = {
               Description = "Client interface";
-              # the client shouldn't be allowed to send us RAs, that would be weird.
+              # The client shouldn't be allowed to send us RAs, that would be weird.
               IPv6AcceptRA = false;
 
-              # Just delegate prefixes from the DHCPv6 PD pool.
-              # If you also want to distribute a local ULA prefix you want to
-              # set this to `yes` as that includes both static prefixes as well
-              # as PD prefixes.
-              IPv6PrefixDelegation = "dhcpv6";
+              # Delegate prefixes from the DHCPv6 PD pool.
+              DHCPv6PrefixDelegation = true;
+              IPv6SendRA = true;
             };
-            # finally "act as router" (according to systemd.network(5))
-            ipv6PrefixDelegationConfig = {
-              RouterLifetimeSec = 300; # required as otherwise no RA's are being emitted
 
-              # In a production environment you should consider setting these as well:
+            # In a production environment you should consider setting these as well:
+            # ipv6SendRAConfig = {
               #EmitDNS = true;
               #EmitDomains = true;
               #DNS= = "fe80::1"; # or whatever "well known" IP your router will have on the inside.
-            };
+            # };
 
             # This adds a "random" ULA prefix to the interface that is being
             # advertised to the clients.
diff --git a/nixos/tests/systemd.nix b/nixos/tests/systemd.nix
index f7c13a587c58e..e0685f53a9454 100644
--- a/nixos/tests/systemd.nix
+++ b/nixos/tests/systemd.nix
@@ -9,7 +9,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
 
     environment.systemPackages = [ pkgs.cryptsetup ];
 
-    fileSystems = lib.mkVMOverride {
+    virtualisation.fileSystems = {
       "/test-x-initrd-mount" = {
         device = "/dev/vdb";
         fsType = "ext2";
diff --git a/nixos/tests/traefik.nix b/nixos/tests/traefik.nix
index 4eeae29acadf3..f27f6e1e6d695 100644
--- a/nixos/tests/traefik.nix
+++ b/nixos/tests/traefik.nix
@@ -11,8 +11,8 @@ import ./make-test-python.nix ({ pkgs, ... }: {
       environment.systemPackages = [ pkgs.curl ];
     };
     traefik = { config, pkgs, ... }: {
-      docker-containers.nginx = {
-        extraDockerOptions = [
+      virtualisation.oci-containers.containers.nginx = {
+        extraOptions = [
           "-l" "traefik.enable=true"
           "-l" "traefik.http.routers.nginx.entrypoints=web"
           "-l" "traefik.http.routers.nginx.rule=Host(`nginx.traefik.test`)"
diff --git a/nixos/tests/unbound.nix b/nixos/tests/unbound.nix
index c88231636226b..d4b8bb15ced6d 100644
--- a/nixos/tests/unbound.nix
+++ b/nixos/tests/unbound.nix
@@ -27,6 +27,9 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
         # disable the root anchor update as we do not have internet access during
         # the test execution
         services.unbound.enableRootTrustAnchor = false;
+
+        # we want to test the full-variant of the package to also get DoH support
+        services.unbound.package = pkgs.unbound-full;
       };
     };
 
@@ -81,13 +84,16 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
         networking.firewall.allowedTCPPorts = [
           53 # regular DNS
           853 # DNS over TLS
+          443 # DNS over HTTPS
         ];
         networking.firewall.allowedUDPPorts = [ 53 ];
 
         services.unbound = {
           enable = true;
           allowedAccess = [ "192.168.0.0/24" "fd21::/64" "::1" "127.0.0.0/8" ];
-          interfaces = [ "::1" "127.0.0.1" "192.168.0.2" "fd21::2" "192.168.0.2@853" "fd21::2@853" "::1@853" "127.0.0.1@853" ];
+          interfaces = [ "::1" "127.0.0.1" "192.168.0.2" "fd21::2"
+                         "192.168.0.2@853" "fd21::2@853" "::1@853" "127.0.0.1@853"
+                         "192.168.0.2@443" "fd21::2@443" "::1@443" "127.0.0.1@443" ];
           forwardAddresses = [
             (lib.head nodes.authoritative.config.networking.interfaces.eth1.ipv6.addresses).address
             (lib.head nodes.authoritative.config.networking.interfaces.eth1.ipv4.addresses).address
@@ -217,6 +223,14 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
                           expected,
                           ["+tcp", "+tls"] + args,
                       )
+                      query(
+                          machine,
+                          remote,
+                          query_type,
+                          zone,
+                          expected,
+                          ["+https"] + args,
+                      )
 
 
       client.start()
diff --git a/nixos/tests/vscodium.nix b/nixos/tests/vscodium.nix
new file mode 100644
index 0000000000000..ca75da35b1e19
--- /dev/null
+++ b/nixos/tests/vscodium.nix
@@ -0,0 +1,47 @@
+import ./make-test-python.nix ({ pkgs, ...} :
+
+{
+  name = "vscodium";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ turion ];
+  };
+
+  machine = { ... }:
+
+  {
+    imports = [
+      ./common/user-account.nix
+      ./common/x11.nix
+    ];
+
+    virtualisation.memorySize = 2047;
+    services.xserver.enable = true;
+    test-support.displayManager.auto.user = "alice";
+    environment.systemPackages = with pkgs; [
+      vscodium
+    ];
+  };
+
+  enableOCR = true;
+
+  testScript = { nodes, ... }: ''
+    # Start up X
+    start_all()
+    machine.wait_for_x()
+
+    # Start VSCodium with a file that doesn't exist yet
+    machine.fail("ls /home/alice/foo.txt")
+    machine.succeed("su - alice -c 'codium foo.txt' &")
+
+    # Wait for the window to appear
+    machine.wait_for_text("VSCodium")
+
+    # Save file
+    machine.send_key("ctrl-s")
+
+    # Wait until the file has been saved
+    machine.wait_for_file("/home/alice/foo.txt")
+
+    machine.screenshot("VSCodium")
+  '';
+})
diff --git a/nixos/tests/xmpp/prosody.nix b/nixos/tests/xmpp/prosody.nix
index e7755e24bab41..2eb06d88287f0 100644
--- a/nixos/tests/xmpp/prosody.nix
+++ b/nixos/tests/xmpp/prosody.nix
@@ -85,7 +85,7 @@ in import ../make-test-python.nix {
     server.succeed('prosodyctl status | grep "Prosody is running"')
 
     server.succeed("create-prosody-users")
-    client.succeed('send-message 2>&1 | grep "XMPP SCRIPT TEST SUCCESS"')
+    client.succeed("send-message")
     server.succeed("delete-prosody-users")
   '';
 }
diff --git a/nixos/tests/xmpp/xmpp-sendmessage.nix b/nixos/tests/xmpp/xmpp-sendmessage.nix
index 30945e68300a8..47a77f524c6af 100644
--- a/nixos/tests/xmpp/xmpp-sendmessage.nix
+++ b/nixos/tests/xmpp/xmpp-sendmessage.nix
@@ -23,8 +23,26 @@ class CthonTest(ClientXMPP):
     def __init__(self, jid, password):
         ClientXMPP.__init__(self, jid, password)
         self.add_event_handler("session_start", self.session_start)
+        self.test_succeeded = False
 
     async def session_start(self, event):
+        try:
+            # Exceptions in event handlers are printed to stderr but not
+            # propagated, they do not make the script terminate with a non-zero
+            # exit code. We use the `test_succeeded` flag as a workaround and
+            # check it later at the end of the script to exit with a proper
+            # exit code.
+            # Additionally, this flag ensures that this event handler has been
+            # actually run by ClientXMPP, which may well not be the case.
+            await self.test_xmpp_server()
+            self.test_succeeded = True
+        finally:
+            # Even if an exception happens in `test_xmpp_server()`, we still
+            # need to disconnect explicitly, otherwise the process will hang
+            # forever.
+            self.disconnect(wait=True)
+
+    async def test_xmpp_server(self):
         log = logging.getLogger(__name__)
         self.send_presence()
         self.get_roster()
@@ -42,11 +60,12 @@ class CthonTest(ClientXMPP):
             log.error("ERROR: Cannot run upload command. XEP_0363 seems broken")
             sys.exit(1)
         log.info('Upload success!')
+
         # Test MUC
-        self.plugin['xep_0045'].join_muc('testMucRoom', 'cthon98', wait=True)
+        # TODO: use join_muc_wait() after slixmpp 1.8.0 is released.
+        self.plugin['xep_0045'].join_muc('testMucRoom', 'cthon98')
         log.info('MUC join success!')
         log.info('XMPP SCRIPT TEST SUCCESS')
-        self.disconnect(wait=True)
 
 
 if __name__ == '__main__':
@@ -62,4 +81,7 @@ if __name__ == '__main__':
     ct.register_plugin('xep_0045')
     ct.connect(("server", 5222))
     ct.process(forever=False)
+
+    if not ct.test_succeeded:
+        sys.exit(1)
 ''
diff --git a/nixos/tests/zfs.nix b/nixos/tests/zfs.nix
index 03aa5e5399c65..ba5eb7cd528eb 100644
--- a/nixos/tests/zfs.nix
+++ b/nixos/tests/zfs.nix
@@ -29,7 +29,7 @@ let
 
         # Setup regular fileSystems machinery to ensure forceImportAll can be
         # tested via the regular service units.
-        fileSystems = lib.mkVMOverride {
+        virtualisation.fileSystems = {
           "/forcepool" = {
             device = "forcepool";
             fsType = "zfs";
diff --git a/pkgs/applications/audio/MMA/default.nix b/pkgs/applications/audio/MMA/default.nix
index ade595732c3bd..25cb96965092c 100644
--- a/pkgs/applications/audio/MMA/default.nix
+++ b/pkgs/applications/audio/MMA/default.nix
@@ -9,7 +9,8 @@
     sha256 = "18k0hwlqky5x4y461fxmw77gvz7z8jyrvxicrqphsgvwwinzy732";
   };
 
-  buildInputs = [ makeWrapper python3 alsaUtils timidity ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ python3 alsaUtils timidity ];
 
   patchPhase = ''
     sed -i 's@/usr/bin/aplaymidi@/${alsaUtils}/bin/aplaymidi@g' mma-splitrec
diff --git a/pkgs/applications/audio/ario/default.nix b/pkgs/applications/audio/ario/default.nix
index 896f93619478d..68b74821ec3f7 100644
--- a/pkgs/applications/audio/ario/default.nix
+++ b/pkgs/applications/audio/ario/default.nix
@@ -1,11 +1,23 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, gtk3, intltool,
-  wrapGAppsHook, libxml2, curl, mpd_clientlib, dbus-glib,
-  libsoup, avahi, taglib
-  }:
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, intltool
+, avahi
+, curl
+, dbus-glib
+, gettext
+, gtk3
+, libmpdclient
+, libsoup
+, libxml2
+, taglib
+, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
-  version = "1.6";
   pname = "ario";
+  version = "1.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/ario-player/${pname}-${version}.tar.gz";
@@ -14,14 +26,21 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config gettext intltool wrapGAppsHook ];
   buildInputs = [
-    gtk3 libxml2 curl mpd_clientlib dbus-glib libsoup avahi taglib
+    avahi
+    curl
+    dbus-glib
+    gtk3
+    libmpdclient
+    libsoup
+    libxml2
+    taglib
   ];
 
-  meta = {
+  meta = with lib; {
     description = "GTK client for MPD (Music player daemon)";
     homepage = "http://ario-player.sourceforge.net/";
-    license = lib.licenses.gpl2Plus;
-    maintainers = [ lib.maintainers.garrison ];
-    platforms = lib.platforms.all;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.garrison ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/audio/artyFX/default.nix b/pkgs/applications/audio/artyFX/default.nix
index 84914e3e798a5..2bf6b2a8046f4 100644
--- a/pkgs/applications/audio/artyFX/default.nix
+++ b/pkgs/applications/audio/artyFX/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "openAVproductions";
     repo = "openAV-ArtyFX";
-    rev = "492587461b50d140455aa3c98d915eb8673bebf0";
+    rev = "8c542627d936a01b1d97825e7f26a8e95633f7aa";
     sha256 = "0wwg8ivnpyy0235bapjy4g0ij85zq355jwi6c1nkrac79p4z9ail";
   };
 
diff --git a/pkgs/applications/audio/ashuffle/default.nix b/pkgs/applications/audio/ashuffle/default.nix
index f21cb9e3907fe..e445132ee3c07 100644
--- a/pkgs/applications/audio/ashuffle/default.nix
+++ b/pkgs/applications/audio/ashuffle/default.nix
@@ -1,20 +1,28 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, mpd_clientlib, meson, ninja }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, meson
+, ninja
+, libmpdclient
+}:
 
 stdenv.mkDerivation rec {
   pname = "ashuffle";
-  version = "3.4.0";
+  version = "3.10.1";
 
   src = fetchFromGitHub {
     owner = "joshkunz";
     repo = "ashuffle";
     rev = "v${version}";
-    sha256 = "09q6lwgc1dc8bg1mb9js9qz3xcsxph3548nxzvyb4v8111gixrp7";
+    sha256 = "103jhajqwryiaf52qqgshajcnsxsz4l8gn3sz6bxs7k0yq5x1knr";
     fetchSubmodules = true;
   };
 
   dontUseCmakeConfigure = true;
   nativeBuildInputs = [ cmake pkg-config meson ninja ];
-  buildInputs = [ mpd_clientlib ];
+  buildInputs = [ libmpdclient ];
 
   meta = with lib; {
     homepage = "https://github.com/joshkunz/ashuffle";
diff --git a/pkgs/applications/audio/bambootracker/default.nix b/pkgs/applications/audio/bambootracker/default.nix
index 592b0fb07300c..ac405cde644fc 100644
--- a/pkgs/applications/audio/bambootracker/default.nix
+++ b/pkgs/applications/audio/bambootracker/default.nix
@@ -1,48 +1,47 @@
 { mkDerivation
-, lib, stdenv
+, lib
 , fetchFromGitHub
+, fetchpatch
 , qmake
-, qtbase
+, pkg-config
 , qttools
-, alsaSupport ? stdenv.hostPlatform.isLinux
-, alsaLib
-, pulseSupport ? stdenv.hostPlatform.isLinux
-, libpulseaudio
-, jackSupport ? stdenv.hostPlatform.isUnix
-, libjack2
+, qtbase
+, rtaudio
+, rtmidi
 }:
-let
 
-  inherit (lib) optional optionals;
-
-in
 mkDerivation rec {
   pname = "bambootracker";
-  version = "0.4.5";
+  version = "0.4.6";
 
   src = fetchFromGitHub {
     owner = "rerrahkr";
     repo = "BambooTracker";
     rev = "v${version}";
-    sha256 = "0ibi0sykxf6cp5la2c4pgxf5gvy56yv259fbmdwdrdyv6vlddf42";
+    sha256 = "0iddqfw951dw9xpl4w7310sl4z544507ppb12i8g4fzvlxfw2ifc";
   };
 
-  sourceRoot = "source/BambooTracker";
+  # TODO Remove when updating past 0.4.6
+  # Fixes build failure on darwin
+  patches = [
+    (fetchpatch {
+      name = "bambootracker-Add_braces_in_initialization_of_std-array.patch";
+      url = "https://github.com/rerrahkr/BambooTracker/commit/0fc96c60c7ae6c2504ee696bb7dec979ac19717d.patch";
+      sha256 = "1z28af46mqrgnyrr4i8883gp3wablkk8rijnj0jvpq01s4m2sfjn";
+    })
+  ];
+
+  nativeBuildInputs = [ qmake qttools pkg-config ];
 
-  nativeBuildInputs = [ qmake qttools ];
+  buildInputs = [ qtbase rtaudio rtmidi ];
 
-  buildInputs = [ qtbase ]
-    ++ optional alsaSupport alsaLib
-    ++ optional pulseSupport libpulseaudio
-    ++ optional jackSupport libjack2;
+  qmakeFlags = [ "CONFIG+=system_rtaudio" "CONFIG+=system_rtmidi" ];
 
-  qmakeFlags = [ "CONFIG+=release" "CONFIG-=debug" ]
-    ++ optional pulseSupport "CONFIG+=use_pulse"
-    ++ optionals jackSupport [ "CONFIG+=use_jack" "CONFIG+=jack_has_rename" ];
+  postConfigure = "make qmake_all";
 
   meta = with lib; {
     description = "A tracker for YM2608 (OPNA) which was used in NEC PC-8801/9801 series computers";
-    homepage = "https://github.com/rerrahkr/BambooTracker";
+    homepage = "https://rerrahkr.github.io/BambooTracker";
     license = licenses.gpl2Only;
     platforms = platforms.all;
     maintainers = with maintainers; [ OPNA2608 ];
diff --git a/pkgs/applications/audio/baudline/default.nix b/pkgs/applications/audio/baudline/default.nix
index 29c5130f575c1..7d6d51011cc2e 100644
--- a/pkgs/applications/audio/baudline/default.nix
+++ b/pkgs/applications/audio/baudline/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     else
       throw "baudline isn't supported (yet?) on ${stdenv.hostPlatform.system}";
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   # Prebuilt binary distribution.
   # "patchelf --set-rpath" seems to break the application (cannot start), using
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio1.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio1.nix
index 97c27d4ad9aff..fca3eaf223e9f 100644
--- a/pkgs/applications/audio/bitwig-studio/bitwig-studio1.nix
+++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio1.nix
@@ -3,7 +3,7 @@
 , libbsd, libjack2, libpng, ffmpeg_3
 , libxkbcommon
 , makeWrapper, pixman, autoPatchelfHook
-, xdg_utils, zenity, zlib }:
+, xdg-utils, zenity, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "bitwig-studio";
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   ];
 
   binPath = lib.makeBinPath [
-    xdg_utils zenity ffmpeg_3
+    xdg-utils zenity ffmpeg_3
   ];
 
   installPhase = ''
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
index 31086b3674d90..87638ebbe6c4c 100644
--- a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
+++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchurl, alsaLib, cairo, dpkg, freetype
 , gdk-pixbuf, glib, gtk3, lib, xorg
 , libglvnd, libjack2, ffmpeg_3
-, libxkbcommon, xdg_utils, zlib, pulseaudio
+, libxkbcommon, xdg-utils, zlib, pulseaudio
 , wrapGAppsHook, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "bitwig-studio";
-  version = "3.3.1";
+  version = "3.3.3";
 
   src = fetchurl {
     url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
-    sha256 = "0f7xysk0cl48q7i28m25hasmrp30grgm3kah0s7xmkjgm33887pi";
+    sha256 = "sha256-NDkGHJDr6TCHEhgSKK7jLYk5RjGEj8+lDYZ4ywvG20g=";
   };
 
   nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   ];
 
   binPath = lib.makeBinPath [
-    xdg_utils ffmpeg_3
+    xdg-utils ffmpeg_3
   ];
 
   ldLibraryPath = lib.strings.makeLibraryPath buildInputs;
diff --git a/pkgs/applications/audio/bslizr/default.nix b/pkgs/applications/audio/bslizr/default.nix
index d307307fd1d4d..2a4e717e1bd53 100644
--- a/pkgs/applications/audio/bslizr/default.nix
+++ b/pkgs/applications/audio/bslizr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "BSlizr";
-  version = "1.2.8";
+  version = "1.2.10";
 
   src = fetchFromGitHub {
     owner = "sjaehn";
     repo = pname;
     rev = version;
-    sha256 = "1f7xrljvsy7a1p8c7wln2zhwarl3ara7gbjxkpyh47wfdpigpdb0";
+    sha256 = "sha256-tEGJrVg8dN9Torybx02qIpXsGOuCgn/Wb+jemfCjiK4=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/audio/carla/default.nix b/pkgs/applications/audio/carla/default.nix
index a4b68707ee7cd..40fb0cfda596d 100644
--- a/pkgs/applications/audio/carla/default.nix
+++ b/pkgs/applications/audio/carla/default.nix
@@ -34,11 +34,12 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     file liblo alsaLib fluidsynth ffmpeg_3 jack2 libpulseaudio libsndfile
-  ] ++ pythonPath
-    ++ optional withQt qtbase
+  ] ++ optional withQt qtbase
     ++ optional withGtk2 gtk2
     ++ optional withGtk3 gtk3;
 
+  propagatedBuildInputs = pythonPath;
+
   enableParallelBuilding = true;
 
   installFlags = [ "PREFIX=$(out)" ];
@@ -53,6 +54,7 @@ stdenv.mkDerivation rec {
       patchPythonScript "$f"
     done
     patchPythonScript "$out/share/carla/carla_settings.py"
+    patchPythonScript "$out/share/carla/carla_database.py"
 
     for program in $out/bin/*; do
       wrapQtApp "$program" \
diff --git a/pkgs/applications/audio/caudec/default.nix b/pkgs/applications/audio/caudec/default.nix
index 0360922c81961..15ebb85136b02 100644
--- a/pkgs/applications/audio/caudec/default.nix
+++ b/pkgs/applications/audio/caudec/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
     patchShebangs ./install.sh
   '';
 
-  buildInputs = [ bash makeWrapper ];
+  nativeBuildInputs = [ bash makeWrapper ];
 
   installPhase = ''
     ./install.sh --prefix=$out/bin
diff --git a/pkgs/applications/audio/clementine/default.nix b/pkgs/applications/audio/clementine/default.nix
index be0f2f72529c5..e665edabd0744 100644
--- a/pkgs/applications/audio/clementine/default.nix
+++ b/pkgs/applications/audio/clementine/default.nix
@@ -24,7 +24,7 @@ let
     ./clementine-spotify-blob.patch
   ];
 
-  nativeBuildInputs = [ cmake pkg-config ];
+  nativeBuildInputs = [ cmake pkg-config makeWrapper ];
 
   buildInputs = [
     boost
@@ -68,7 +68,7 @@ let
     inherit src patches nativeBuildInputs postPatch;
 
     # gst_plugins needed for setup-hooks
-    buildInputs = buildInputs ++ [ makeWrapper ] ++ gst_plugins;
+    buildInputs = buildInputs ++ gst_plugins;
 
     preConfigure = ''
       rm -rf ext/{,lib}clementine-spotifyblob
@@ -102,7 +102,7 @@ let
     # Use the same patches and sources as Clementine
     inherit src nativeBuildInputs patches postPatch;
 
-    buildInputs = buildInputs ++ [ libspotify makeWrapper ];
+    buildInputs = buildInputs ++ [ libspotify ];
     # Only build and install the Spotify blob
     preBuild = ''
       cd ext/clementine-spotifyblob
diff --git a/pkgs/applications/audio/clerk/default.nix b/pkgs/applications/audio/clerk/default.nix
index 0724632a63e13..a2e71b955ec41 100644
--- a/pkgs/applications/audio/clerk/default.nix
+++ b/pkgs/applications/audio/clerk/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation {
     sha256 = "0y045my65hr3hjyx13jrnyg6g3wb41phqb1m7azc4l6vx6r4124b";
   };
 
-  buildInputs = [ makeWrapper pythonPackages.mpd2 ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ pythonPackages.mpd2 ];
 
   dontBuild = true;
 
diff --git a/pkgs/applications/audio/cmus/default.nix b/pkgs/applications/audio/cmus/default.nix
index b00355cc9cdb0..bfa8317c9f90e 100644
--- a/pkgs/applications/audio/cmus/default.nix
+++ b/pkgs/applications/audio/cmus/default.nix
@@ -1,5 +1,5 @@
 { config, lib, stdenv, fetchFromGitHub, runCommand, ncurses, pkg-config
-, libiconv, CoreAudio
+, libiconv, CoreAudio, AudioUnit
 
 , alsaSupport ? stdenv.isLinux, alsaLib ? null
 # simple fallback for everyone else
@@ -121,7 +121,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ ncurses ]
     ++ lib.optional stdenv.cc.isClang clangGCC
-    ++ lib.optionals stdenv.isDarwin [ libiconv CoreAudio ]
+    ++ lib.optionals stdenv.isDarwin [ libiconv CoreAudio AudioUnit ]
     ++ flatten (concatMap (a: a.deps) opts);
 
   makeFlags = [ "LD=$(CC)" ];
diff --git a/pkgs/applications/audio/csound/csound-qt/default.nix b/pkgs/applications/audio/csound/csound-qt/default.nix
index ba9df9039f6cf..953a919d0c702 100644
--- a/pkgs/applications/audio/csound/csound-qt/default.nix
+++ b/pkgs/applications/audio/csound/csound-qt/default.nix
@@ -40,6 +40,8 @@ stdenv.mkDerivation rec {
                  "SHARE_DIR=${placeholder "out"}/share"
                  ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "CsoundQt is a frontend for Csound with editor, integrated help, widgets and other features";
     homepage = "https://csoundqt.github.io/";
diff --git a/pkgs/applications/audio/deadbeef/wrapper.nix b/pkgs/applications/audio/deadbeef/wrapper.nix
index cd45ef5926b07..66108deab1e32 100644
--- a/pkgs/applications/audio/deadbeef/wrapper.nix
+++ b/pkgs/applications/audio/deadbeef/wrapper.nix
@@ -5,7 +5,7 @@ symlinkJoin {
 
   paths = [ deadbeef ] ++ plugins;
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   postBuild = ''
     wrapProgram $out/bin/deadbeef \
diff --git a/pkgs/applications/audio/ebumeter/default.nix b/pkgs/applications/audio/ebumeter/default.nix
new file mode 100644
index 0000000000000..9ebcbec001d0d
--- /dev/null
+++ b/pkgs/applications/audio/ebumeter/default.nix
@@ -0,0 +1,33 @@
+{ lib, stdenv, fetchurl
+, libX11, libXft, libclthreads, libclxclient, libjack2, libpng, libsndfile, zita-resampler
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ebumeter";
+  version = "0.4.2";
+
+  src = fetchurl {
+    url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
+    sha256 = "1wm9j1phmpicrp7jdsvdbc3mghdd92l61yl9qbps0brq2ljjyd5s";
+  };
+
+  buildInputs = [
+    libX11 libXft libclthreads libclxclient libjack2 libpng libsndfile zita-resampler
+  ];
+
+  preConfigure = ''
+    cd source
+  '';
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    description = "Level metering according to the EBU R-128 recommendation";
+    homepage = "http://kokkinizita.linuxaudio.org/linuxaudio/index.html";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ orivej ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/espeak-ng/default.nix b/pkgs/applications/audio/espeak-ng/default.nix
index 50d7af6d11644..44d5a0aa15aac 100644
--- a/pkgs/applications/audio/espeak-ng/default.nix
+++ b/pkgs/applications/audio/espeak-ng/default.nix
@@ -1,5 +1,6 @@
 { stdenv, lib, fetchFromGitHub, autoconf, automake, which, libtool, pkg-config
-, ronn
+, ronn, substituteAll
+, mbrolaSupport ? true, mbrola
 , pcaudiolibSupport ? true, pcaudiolib
 , sonicSupport ? true, sonic }:
 
@@ -14,13 +15,26 @@ stdenv.mkDerivation rec {
     sha256 = "0jkqhf2h94vbqq7mg7mmm23bq372fa7mdk941my18c3vkldcir1b";
   };
 
+  patches = lib.optionals mbrolaSupport [
+    # Hardcode correct mbrola paths.
+    (substituteAll {
+      src = ./mbrola.patch;
+      inherit mbrola;
+    })
+  ];
+
   nativeBuildInputs = [ autoconf automake which libtool pkg-config ronn ];
 
-  buildInputs = lib.optional pcaudiolibSupport pcaudiolib
+  buildInputs = lib.optional mbrolaSupport mbrola
+             ++ lib.optional pcaudiolibSupport pcaudiolib
              ++ lib.optional sonicSupport sonic;
 
   preConfigure = "./autogen.sh";
 
+  configureFlags = [
+    "--with-mbrola=${if mbrolaSupport then "yes" else "no"}"
+  ];
+
   postInstall = lib.optionalString stdenv.isLinux ''
     patchelf --set-rpath "$(patchelf --print-rpath $out/bin/espeak-ng)" $out/bin/speak-ng
   '';
@@ -29,7 +43,7 @@ stdenv.mkDerivation rec {
     description = "Open source speech synthesizer that supports over 70 languages, based on eSpeak";
     homepage = "https://github.com/espeak-ng/espeak-ng";
     changelog = "https://github.com/espeak-ng/espeak-ng/blob/${version}/CHANGELOG.md";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ aske ];
     platforms = platforms.all;
   };
diff --git a/pkgs/applications/audio/espeak-ng/mbrola.patch b/pkgs/applications/audio/espeak-ng/mbrola.patch
new file mode 100644
index 0000000000000..2f6c61cca4ef1
--- /dev/null
+++ b/pkgs/applications/audio/espeak-ng/mbrola.patch
@@ -0,0 +1,22 @@
+--- a/src/libespeak-ng/mbrowrap.c
++++ b/src/libespeak-ng/mbrowrap.c
+@@ -205,7 +205,7 @@
+ 		signal(SIGTERM, SIG_IGN);
+ 
+ 		snprintf(charbuf, sizeof(charbuf), "%g", mbr_volume);
+-		execlp("mbrola", "mbrola", "-e", "-v", charbuf,
++		execlp("@mbrola@/bin/mbrola", "mbrola", "-e", "-v", charbuf,
+ 		       voice_path, "-", "-.wav", (char *)NULL);
+ 		/* if execution reaches this point then the exec() failed */
+ 		snprintf(mbr_errorbuf, sizeof(mbr_errorbuf),
+--- a/src/libespeak-ng/synth_mbrola.c
++++ b/src/libespeak-ng/synth_mbrola.c
+@@ -85,7 +85,7 @@
+ 	if (!load_MBR())
+ 		return ENS_MBROLA_NOT_FOUND;
+ 
+-	sprintf(path, "%s/mbrola/%s", path_home, mbrola_voice);
++	sprintf(path, "@mbrola@/share/mbrola/voices/%s/%s", mbrola_voice, mbrola_voice);
+ #ifdef PLATFORM_POSIX
+ 	// if not found, then also look in
+ 	//   usr/share/mbrola/xx, /usr/share/mbrola/xx/xx, /usr/share/mbrola/voices/xx
diff --git a/pkgs/applications/audio/faust/faust1.nix b/pkgs/applications/audio/faust/faust1.nix
index 6d7d2e2c2bae2..81ce11b9ea190 100644
--- a/pkgs/applications/audio/faust/faust1.nix
+++ b/pkgs/applications/audio/faust/faust1.nix
@@ -30,7 +30,7 @@ let
 
     inherit src;
 
-    buildInputs = [ makeWrapper ];
+    nativeBuildInputs = [ makeWrapper ];
 
     passthru = {
       inherit wrap wrapWithBuildEnv;
@@ -159,8 +159,7 @@ let
 
     stdenv.mkDerivation ((faust2ApplBase args) // {
 
-      nativeBuildInputs = [ pkg-config ];
-      buildInputs = [ makeWrapper ];
+      nativeBuildInputs = [ pkg-config makeWrapper ];
 
       propagatedBuildInputs = [ faust ] ++ propagatedBuildInputs;
 
@@ -195,7 +194,7 @@ let
 
     in stdenv.mkDerivation ((faust2ApplBase args) // {
 
-      buildInputs = [ makeWrapper ];
+      nativeBuildInputs = [ makeWrapper ];
 
       postFixup = ''
         for script in "$out"/bin/*; do
diff --git a/pkgs/applications/audio/faust/faust2.nix b/pkgs/applications/audio/faust/faust2.nix
index 990d073528e14..051caf120fa26 100644
--- a/pkgs/applications/audio/faust/faust2.nix
+++ b/pkgs/applications/audio/faust/faust2.nix
@@ -168,8 +168,7 @@ let
 
     stdenv.mkDerivation ((faust2ApplBase args) // {
 
-      nativeBuildInputs = [ pkg-config ];
-      buildInputs = [ makeWrapper ];
+      nativeBuildInputs = [ pkg-config makeWrapper ];
 
       propagatedBuildInputs = [ faust ] ++ propagatedBuildInputs;
 
@@ -209,7 +208,7 @@ let
 
     in stdenv.mkDerivation ((faust2ApplBase args) // {
 
-      buildInputs = [ makeWrapper ];
+      nativeBuildInputs = [ makeWrapper ];
 
       postFixup = ''
         for script in "$out"/bin/*; do
diff --git a/pkgs/applications/audio/faust/faust2firefox.nix b/pkgs/applications/audio/faust/faust2firefox.nix
index b2cc6f4645753..c718aa06806a4 100644
--- a/pkgs/applications/audio/faust/faust2firefox.nix
+++ b/pkgs/applications/audio/faust/faust2firefox.nix
@@ -1,5 +1,5 @@
 { faust
-, xdg_utils
+, xdg-utils
 }:
 
 # This just runs faust2svg, then attempts to open a browser using
@@ -9,6 +9,6 @@ faust.wrap {
 
   baseName = "faust2firefox";
 
-  runtimeInputs = [ xdg_utils ];
+  runtimeInputs = [ xdg-utils ];
 
 }
diff --git a/pkgs/applications/audio/gjay/default.nix b/pkgs/applications/audio/gjay/default.nix
index 32c61380dca63..4bd9c6dcd8f8d 100644
--- a/pkgs/applications/audio/gjay/default.nix
+++ b/pkgs/applications/audio/gjay/default.nix
@@ -1,24 +1,41 @@
-{ lib, stdenv, fetchurl, pkg-config, mpd_clientlib, dbus-glib, audacious, gtk2, gsl
-, libaudclient }:
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, dbus-glib
+, audacious
+, gtk2
+, gsl
+, libaudclient
+, libmpdclient
+}:
 
-stdenv.mkDerivation {
-  name = "gjay-0.3.2";
+stdenv.mkDerivation rec {
+  pname = "gjay";
+  version = "0.3.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/gjay/gjay-0.3.2.tar.gz";
+    url = "mirror://sourceforge/project/gjay/${pname}-${version}.tar.gz";
     sha256 = "1a1vv4r0vnxjdyl0jyv7gga3zfd5azxlwjm1l6hjrf71lb228zn8";
   };
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ mpd_clientlib dbus-glib audacious gtk2 gsl libaudclient ];
+  buildInputs = [
+    libmpdclient
+    dbus-glib
+    audacious
+    gtk2
+    gsl
+    libaudclient
+  ];
 
   hardeningDisable = [ "format" ];
 
   meta = with lib; {
     description = "Generates playlists such that each song sounds good following the previous song";
     homepage = "http://gjay.sourceforge.net/";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ pSub ];
     platforms = with platforms; linux;
   };
diff --git a/pkgs/applications/audio/gmpc/default.nix b/pkgs/applications/audio/gmpc/default.nix
index 11187015df03f..4c93fad511ae0 100644
--- a/pkgs/applications/audio/gmpc/default.nix
+++ b/pkgs/applications/audio/gmpc/default.nix
@@ -1,6 +1,22 @@
-{ lib, stdenv, fetchurl, libtool, intltool, pkg-config, glib
-, gtk2, curl, mpd_clientlib, libsoup, gob2, vala, libunique
-, libSM, libICE, sqlite, hicolor-icon-theme, wrapGAppsHook
+{ lib
+, stdenv
+, fetchurl
+, libtool
+, intltool
+, pkg-config
+, glib
+, gtk2
+, curl
+, libmpdclient
+, libsoup
+, gob2
+, vala
+, libunique
+, libSM
+, libICE
+, sqlite
+, hicolor-icon-theme
+, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
@@ -26,8 +42,17 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config libtool intltool gob2 vala wrapGAppsHook ];
   buildInputs = [
-    glib gtk2 curl mpd_clientlib libsoup
-    libunique libmpd libSM libICE sqlite hicolor-icon-theme
+    glib
+    gtk2
+    curl
+    libmpdclient
+    libsoup
+    libunique
+    libmpd
+    libSM
+    libICE
+    sqlite
+    hicolor-icon-theme
   ];
 
   meta = with lib; {
@@ -38,3 +63,4 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
   };
 }
+# TODO: what is this libmpd derivation embedded above?
diff --git a/pkgs/applications/audio/gnome-podcasts/default.nix b/pkgs/applications/audio/gnome-podcasts/default.nix
index 1733aef41775a..fbd94ebd3d16e 100644
--- a/pkgs/applications/audio/gnome-podcasts/default.nix
+++ b/pkgs/applications/audio/gnome-podcasts/default.nix
@@ -1,7 +1,6 @@
 { lib
 , rustPlatform
 , fetchFromGitLab
-, fetchpatch
 , meson
 , ninja
 , gettext
diff --git a/pkgs/applications/audio/google-play-music-desktop-player/default.nix b/pkgs/applications/audio/google-play-music-desktop-player/default.nix
index 0be1cc45717b2..f86eed1d34da8 100644
--- a/pkgs/applications/audio/google-play-music-desktop-player/default.nix
+++ b/pkgs/applications/audio/google-play-music-desktop-player/default.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation {
   };
 
   dontBuild = true;
-  buildInputs = [ dpkg makeWrapper ];
+  nativeBuildInputs = [ dpkg makeWrapper ];
 
   unpackPhase = ''
     dpkg -x $src .
diff --git a/pkgs/applications/audio/guitarix/default.nix b/pkgs/applications/audio/guitarix/default.nix
index 69e427dd96cbb..7f41fa6c5f954 100644
--- a/pkgs/applications/audio/guitarix/default.nix
+++ b/pkgs/applications/audio/guitarix/default.nix
@@ -17,7 +17,6 @@
 , hicolor-icon-theme
 , intltool
 , ladspaH
-, libav
 , libjack2
 , libsndfile
 , lilv
@@ -74,7 +73,6 @@ stdenv.mkDerivation rec {
     gtk3
     gtkmm3
     ladspaH
-    libav
     libjack2
     libsndfile
     lilv
diff --git a/pkgs/applications/audio/jalv/default.nix b/pkgs/applications/audio/jalv/default.nix
index 5d322eeca9340..611956089ed33 100644
--- a/pkgs/applications/audio/jalv/default.nix
+++ b/pkgs/applications/audio/jalv/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation  rec {
   pname = "jalv";
-  version = "1.6.4";
+  version = "1.6.6";
 
   src = fetchurl {
     url = "https://download.drobilla.net/${pname}-${version}.tar.bz2";
-    sha256 = "1wwfn7yzbs37s2rdlfjgks63svd5g14yyzd2gdl7h0z12qncwsy2";
+    sha256 = "sha256-ktFBeBtmQ3MgfDQ868XpuM7UYfryb9zLld8AB7BjnhY=";
   };
 
   nativeBuildInputs = [ pkg-config wafHook ];
diff --git a/pkgs/applications/audio/jamin/default.nix b/pkgs/applications/audio/jamin/default.nix
index f111c4e99d7cd..325d115b58168 100644
--- a/pkgs/applications/audio/jamin/default.nix
+++ b/pkgs/applications/audio/jamin/default.nix
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "0g5v74cm0q3p3pzl6xmnp4rqayaymfli7c6z8s78h9rgd24fwbvn";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ fftwFloat gtk2 ladspaPlugins libjack2 liblo libxml2 makeWrapper ]
+  nativeBuildInputs = [ pkg-config makeWrapper ];
+  buildInputs = [ fftwFloat gtk2 ladspaPlugins libjack2 liblo libxml2 ]
     ++ (with perlPackages; [ perl XMLParser ]);
 
   NIX_LDFLAGS = "-ldl";
diff --git a/pkgs/applications/audio/keyfinder-cli/default.nix b/pkgs/applications/audio/keyfinder-cli/default.nix
index d6e96d9083444..62db3d7969082 100644
--- a/pkgs/applications/audio/keyfinder-cli/default.nix
+++ b/pkgs/applications/audio/keyfinder-cli/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, libav, libkeyfinder }:
+{ lib, stdenv, fetchFromGitHub, ffmpeg, libkeyfinder }:
 
 stdenv.mkDerivation rec {
   pname = "keyfinder-cli";
-  version = "2015-09-13";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     repo = "keyfinder-cli";
     owner = "EvanPurkhiser";
-    rev = "8579282f15ab3ebad937fed398ec5c88843be03d";
-    sha256 = "0jylykigxmsqvdny265k58vpxa4cqs1hq2f7mph1nl3apfx2shrh";
+    rev = "v${version}";
+    sha256 = "1mlcygbj3gqii3cz8jd6ks1lz612i4jp0343qjg293xm39fg47ns";
   };
 
-  buildInputs = [ libav libkeyfinder ];
+  buildInputs = [ ffmpeg libkeyfinder ];
 
   makeFlags = [ "PREFIX=$(out)" ];
 
diff --git a/pkgs/applications/audio/keyfinder/default.nix b/pkgs/applications/audio/keyfinder/default.nix
index 187d3a58b171a..c3667ee57a5d5 100644
--- a/pkgs/applications/audio/keyfinder/default.nix
+++ b/pkgs/applications/audio/keyfinder/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchFromGitHub, libav_0_8, libkeyfinder, qtbase, qtxmlpatterns, qmake, taglib }:
+{ lib, mkDerivation, fetchFromGitHub, libav_0_8, libkeyfinder, qtbase, qtxmlpatterns, qmake, taglib }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "keyfinder";
-  version = "2.2";
+  version = "2.4";
 
   src = fetchFromGitHub {
-    sha256 = "0vjszk1h8vj2qycgbffzy6k7amg75jlvlnzwaqhz9nll2pcvw0zl";
-    rev = version;
+    sha256 = "11yhdwan7bz8nn8vxr54drckyrnlxynhx5s981i475bbccg8g7ls";
+    rev = "530034d6fe86d185f6a68b817f8db5f552f065d7"; # tag is missing
     repo = "is_KeyFinder";
     owner = "ibsh";
   };
@@ -16,12 +16,11 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     substituteInPlace is_KeyFinder.pro \
-       --replace "keyfinder.0" "keyfinder" \
        --replace "-stdlib=libc++" "" \
        --replace "\$\$[QT_INSTALL_PREFIX]" "$out"
   '';
 
-  enableParallelBuilding = true;
+  dontWrapQtApps = true;
 
   meta = with lib; {
     description = "Musical key detection for digital audio (graphical UI)";
diff --git a/pkgs/applications/audio/kid3/default.nix b/pkgs/applications/audio/kid3/default.nix
index 340a661a95026..99f7cec98af4e 100644
--- a/pkgs/applications/audio/kid3/default.nix
+++ b/pkgs/applications/audio/kid3/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kid3";
-  version = "3.8.4";
+  version = "3.8.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/kid3/kid3/${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-WYuEOqMu2VMOv6mkVCRXnmInFER/DWfPNqYuaTJ3vAc=";
+    sha256 = "sha256-DEZ5J1QendgXJ1gBZ3h0LwsVTLL1vPznJ7Nc+97jFB8=";
   };
 
   nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
diff --git a/pkgs/applications/audio/kmetronome/default.nix b/pkgs/applications/audio/kmetronome/default.nix
index ca8df45e459e8..02353fcf4f51c 100644
--- a/pkgs/applications/audio/kmetronome/default.nix
+++ b/pkgs/applications/audio/kmetronome/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ alsaLib drumstick qtbase qtsvg ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     homepage = "https://kmetronome.sourceforge.io/";
     description = "ALSA MIDI metronome with Qt interface";
diff --git a/pkgs/applications/audio/lash/default.nix b/pkgs/applications/audio/lash/default.nix
index eb355a4340965..74bbeb9b7bb73 100644
--- a/pkgs/applications/audio/lash/default.nix
+++ b/pkgs/applications/audio/lash/default.nix
@@ -15,8 +15,8 @@ stdenv.mkDerivation  rec {
   # http://permalink.gmane.org/gmane.linux.redhat.fedora.extras.cvs/822346
   patches = [ ./socket.patch ./gcc-47.patch ];
 
-  buildInputs = [ alsaLib gtk2 libjack2 libxml2 makeWrapper
-    pkg-config readline ];
+  nativeBuildInputs = [ pkg-config makeWrapper ];
+  buildInputs = [ alsaLib gtk2 libjack2 libxml2 readline ];
   propagatedBuildInputs = [ libuuid ];
   NIX_LDFLAGS = "-lm -lpthread -luuid";
 
diff --git a/pkgs/applications/audio/linuxband/default.nix b/pkgs/applications/audio/linuxband/default.nix
index 118b54ad8587f..ec034ae238de4 100644
--- a/pkgs/applications/audio/linuxband/default.nix
+++ b/pkgs/applications/audio/linuxband/default.nix
@@ -11,8 +11,8 @@ in stdenv.mkDerivation rec {
     sha256 = "1r71h4yg775m4gax4irrvygmrsclgn503ykmc2qwjsxa42ri4n2n";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ makeWrapper MMA libjack2 libsmf python pyGtkGlade pygtksourceview ];
+  nativeBuildInputs = [ pkg-config makeWrapper ];
+  buildInputs = [ MMA libjack2 libsmf python pyGtkGlade pygtksourceview ];
 
   patchPhase = ''
     sed -i 's@/usr/@${MMA}/@g' src/main/config/linuxband.rc.in
diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix
index c85645565ee40..6c218738f0e23 100644
--- a/pkgs/applications/audio/lollypop/default.nix
+++ b/pkgs/applications/audio/lollypop/default.nix
@@ -25,7 +25,7 @@
 
 python3.pkgs.buildPythonApplication rec  {
   pname = "lollypop";
-  version = "1.4.5";
+  version = "1.4.16";
 
   format = "other";
   doCheck = false;
@@ -34,7 +34,7 @@ python3.pkgs.buildPythonApplication rec  {
     url = "https://gitlab.gnome.org/World/lollypop";
     rev = "refs/tags/${version}";
     fetchSubmodules = true;
-    sha256 = "1i5qcpp3fpkda08g6nkiiff8lsjmv5xsvpa0512kigq5z0lsagrx";
+    sha256 = "sha256-4txJ+lYx2BROjZznFwWMc+tTVpYQpPtPySfCl+Hfy+0=";
   };
 
   nativeBuildInputs = [
@@ -106,7 +106,7 @@ python3.pkgs.buildPythonApplication rec  {
     description = "A modern music player for GNOME";
     homepage = "https://wiki.gnome.org/Apps/Lollypop";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ worldofpeace ];
+    maintainers = with maintainers; [ worldofpeace lovesegfault ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/mbrola/default.nix b/pkgs/applications/audio/mbrola/default.nix
new file mode 100644
index 0000000000000..01a9fdd636b08
--- /dev/null
+++ b/pkgs/applications/audio/mbrola/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, lib, fetchFromGitHub }:
+
+let
+  voices = fetchFromGitHub {
+    owner = "numediart";
+    repo = "MBROLA-voices";
+    rev = "fe05a0ccef6a941207fd6aaad0b31294a1f93a51";  # using latest commit
+    sha256 = "1w0y2xjp9rndwdjagp2wxh656mdm3d6w9cs411g27rjyfy1205a0";
+  };
+in
+stdenv.mkDerivation rec {
+  pname = "mbrola";
+  version = "3.3";
+
+  src = fetchFromGitHub {
+    owner = "numediart";
+    repo = "MBROLA";
+    rev = version;
+    sha256 = "1w86gv6zs2cbr0731n49z8v6xxw0g8b0hzyv2iqb9mqcfh38l8zy";
+  };
+
+  installPhase = ''
+    runHook preInstall
+    install -D Bin/mbrola $out/bin/mbrola
+
+    # TODO: package separately because it's very big
+    install -d $out/share/mbrola/voices
+    cp -R ${voices}/data/* $out/share/mbrola/voices/
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Speech synthesizer based on the concatenation of diphones";
+    homepage = "https://github.com/numediart/MBROLA";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ davidak ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/mda-lv2/default.nix b/pkgs/applications/audio/mda-lv2/default.nix
index 30d654ab87aeb..92f8506483f51 100644
--- a/pkgs/applications/audio/mda-lv2/default.nix
+++ b/pkgs/applications/audio/mda-lv2/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mda-lv2";
-  version = "1.2.4";
+  version = "1.2.6";
 
   src = fetchurl {
     url = "https://download.drobilla.net/${pname}-${version}.tar.bz2";
-    sha256 = "1a3cv6w5xby9yn11j695rbh3c4ih7rxfxmkca9s1324ljphh06m8";
+    sha256 = "sha256-zWYRcCSuBJzzrKg/npBKcCdyJOI6lp9yqcXQEKSYV9s=";
   };
 
   nativeBuildInputs = [ pkg-config wafHook python3 ];
diff --git a/pkgs/applications/audio/mmtc/default.nix b/pkgs/applications/audio/mmtc/default.nix
new file mode 100644
index 0000000000000..4bd922c8fb6fe
--- /dev/null
+++ b/pkgs/applications/audio/mmtc/default.nix
@@ -0,0 +1,33 @@
+{ fetchFromGitHub, installShellFiles, lib, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "mmtc";
+  version = "0.2.13";
+
+  src = fetchFromGitHub {
+    owner = "figsoda";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0ag87hgdg6fvk80fgznba0xjlcajks5w5s6y8lvwhz9irn2kq2rz";
+  };
+
+  cargoSha256 = "06xqh0mqbik00qyg8mn1ddbn15v3pdwvh1agghg22xgx53kmnxb3";
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  preFixup = ''
+    completions=($releaseDir/build/mmtc-*/out/completions)
+    installShellCompletion ''${completions[0]}/mmtc.{bash,fish}
+    installShellCompletion --zsh ''${completions[0]}/_mmtc
+  '';
+
+  GEN_COMPLETIONS = "1";
+
+  meta = with lib; {
+    description = "Minimal mpd terminal client that aims to be simple yet highly configurable";
+    homepage = "https://github.com/figsoda/mmtc";
+    changelog = "https://github.com/figsoda/mmtc/blob/v${version}/CHANGELOG.md";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix
index f4d4e416de404..2c19afb16a22c 100644
--- a/pkgs/applications/audio/mopidy/default.nix
+++ b/pkgs/applications/audio/mopidy/default.nix
@@ -41,6 +41,8 @@ let
     mopidy-tunein = callPackage ./tunein.nix { };
 
     mopidy-youtube = callPackage ./youtube.nix { };
+
+    mopidy-subidy = callPackage ./subidy.nix { };
   };
 
 in self
diff --git a/pkgs/applications/audio/mopidy/somafm.nix b/pkgs/applications/audio/mopidy/somafm.nix
index 0637731dcb576..81c689a343de4 100644
--- a/pkgs/applications/audio/mopidy/somafm.nix
+++ b/pkgs/applications/audio/mopidy/somafm.nix
@@ -17,7 +17,7 @@ python3Packages.buildPythonApplication rec {
   doCheck = false;
 
   meta = with lib; {
-    homepage = https://www.mopidy.com/;
+    homepage = "https://www.mopidy.com/";
     description = "Mopidy extension for playing music from SomaFM";
     license = licenses.mit;
     maintainers = [ maintainers.nickhu ];
diff --git a/pkgs/applications/audio/mopidy/subidy.nix b/pkgs/applications/audio/mopidy/subidy.nix
new file mode 100644
index 0000000000000..98d69816b73f0
--- /dev/null
+++ b/pkgs/applications/audio/mopidy/subidy.nix
@@ -0,0 +1,24 @@
+{ lib, fetchFromGitHub, pythonPackages, mopidy }:
+
+pythonPackages.buildPythonApplication rec {
+  pname = "mopidy-subidy";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "Prior99";
+    repo = pname;
+    rev = version;
+    sha256 = "0c5ghhhrj5v3yp4zmll9ari6r5c6ha8c1izwqshvadn40b02q7xz";
+  };
+
+  propagatedBuildInputs = [ mopidy pythonPackages.py-sonic ];
+
+  checkInputs = with pythonPackages; [ pytestCheckHook ];
+
+  meta = with lib; {
+    homepage = "https://www.mopidy.com/";
+    description = "Mopidy extension for playing music from a Subsonic-compatible Music Server";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ wenngle ];
+  };
+}
diff --git a/pkgs/applications/audio/mpc/default.nix b/pkgs/applications/audio/mpc/default.nix
index c1b88e47e87e0..e4ecc92024763 100644
--- a/pkgs/applications/audio/mpc/default.nix
+++ b/pkgs/applications/audio/mpc/default.nix
@@ -1,4 +1,13 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, mpd_clientlib, sphinx, libiconv }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, libmpdclient
+, sphinx
+, libiconv
+}:
 
 stdenv.mkDerivation rec {
   pname = "mpc";
@@ -11,7 +20,7 @@ stdenv.mkDerivation rec {
     sha256 = "1qbi0i9cq54rj8z2kapk8x8g1jkw2jz781niwb9i7kw4xfhvy5zx";
   };
 
-  buildInputs = [ mpd_clientlib ] ++ lib.optionals stdenv.isDarwin [ libiconv ];
+  buildInputs = [ libmpdclient ] ++ lib.optionals stdenv.isDarwin [ libiconv ];
 
   nativeBuildInputs = [ meson ninja pkg-config sphinx ];
 
diff --git a/pkgs/applications/audio/musescore/default.nix b/pkgs/applications/audio/musescore/default.nix
index 47f8e5a22e62d..0c1ad144a4afc 100644
--- a/pkgs/applications/audio/musescore/default.nix
+++ b/pkgs/applications/audio/musescore/default.nix
@@ -3,6 +3,7 @@
 , portaudio, portmidi, qtbase, qtdeclarative, qtgraphicaleffects
 , qtquickcontrols2, qtscript, qtsvg, qttools
 , qtwebengine, qtxmlpatterns
+, nixosTests
 }:
 
 mkDerivation rec {
@@ -40,6 +41,8 @@ mkDerivation rec {
     qtscript qtsvg qttools qtwebengine qtxmlpatterns
   ];
 
+  passthru.tests = nixosTests.musescore;
+
   meta = with lib; {
     description = "Music notation and composition software";
     homepage = "https://musescore.org/";
diff --git a/pkgs/applications/audio/musikcube/default.nix b/pkgs/applications/audio/musikcube/default.nix
index 882fbaf3477e5..4a80ea09878c0 100644
--- a/pkgs/applications/audio/musikcube/default.nix
+++ b/pkgs/applications/audio/musikcube/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "musikcube";
-  version = "0.96.2";
+  version = "0.96.5";
 
   src = fetchFromGitHub {
     owner = "clangen";
     repo = pname;
     rev = version;
-    sha256 = "1vvc8295yadprfqpmk9i43ghymgsqxsg8zfx3p5i86a8xrdhd9vn";
+    sha256 = "sha256-GxMQPP8i/NWvduf10f+xVyuG666pChj9RsiF4jfygyY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/musly/default.nix b/pkgs/applications/audio/musly/default.nix
index 1e8d29d377073..0d10b55d32964 100644
--- a/pkgs/applications/audio/musly/default.nix
+++ b/pkgs/applications/audio/musly/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, eigen, libav }:
+{ lib, stdenv, fetchFromGitHub, cmake, eigen, ffmpeg }:
 stdenv.mkDerivation {
   pname = "musly";
   version = "unstable-2017-04-26";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
     sha256 = "1q42wvdwy2pac7bhfraqqj2czw7w2m33ms3ifjl8phm7d87i8825";
   };
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ eigen (libav.override { vaapiSupport = stdenv.isLinux; }) ];
+  buildInputs = [ eigen ffmpeg ];
   fixupPhase = if stdenv.isDarwin then ''
     install_name_tool -change libmusly.dylib $out/lib/libmusly.dylib $out/bin/musly
     install_name_tool -change libmusly_resample.dylib $out/lib/libmusly_resample.dylib $out/bin/musly
diff --git a/pkgs/applications/audio/muso/default.nix b/pkgs/applications/audio/muso/default.nix
new file mode 100644
index 0000000000000..436afac7df298
--- /dev/null
+++ b/pkgs/applications/audio/muso/default.nix
@@ -0,0 +1,36 @@
+{ lib, fetchFromGitHub, rustPlatform
+, pkg-config, wrapGAppsHook
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "muso";
+  version = "2.0.0";
+
+  src = fetchFromGitHub {
+    owner = "quebin31";
+    repo = pname;
+    rev = "68cc90869bcc0f202830a318fbfd6bb9bdb75a39";
+    sha256 = "1dnfslliss173igympl7h1zc0qz0g10kf96dwrcj6aglmvvw426p";
+  };
+
+  nativeBuildInputs = [ pkg-config wrapGAppsHook ];
+
+  preConfigure = ''
+    substituteInPlace lib/utils.rs \
+      --replace "/usr/share/muso" "$out/share/muso"
+  '';
+
+  postInstall = ''
+    mkdir -p $out/share/muso
+    cp share/* $out/share/muso/
+  '';
+
+  cargoSha256 = "06jgk54r3f8gq6iylv5rgsawss3hc5kmvk02y4gl8iwfnw4xrvmg";
+
+  meta = with lib; {
+    description = "An automatic music sorter (based on ID3 tags)";
+    homepage = "https://github.com/quebin31/muso";
+    license = with licenses; [ gpl3Plus ];
+    maintainers = with maintainers; [ bloomvdomino ];
+  };
+}
diff --git a/pkgs/applications/audio/mympd/default.nix b/pkgs/applications/audio/mympd/default.nix
index 876677c3bea9b..bd00a692b7f08 100644
--- a/pkgs/applications/audio/mympd/default.nix
+++ b/pkgs/applications/audio/mympd/default.nix
@@ -1,8 +1,9 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , cmake
 , pkg-config
-, mpd_clientlib
+, libmpdclient
 , openssl
 , lua5_3
 , libid3tag
@@ -21,12 +22,9 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-QGJti1tKKJlumLgABPmROplF0UVGMWMnyRXLb2cEieQ=";
   };
 
-  nativeBuildInputs = [
-    pkg-config
-    cmake
-  ];
+  nativeBuildInputs = [ pkg-config cmake ];
   buildInputs = [
-    mpd_clientlib
+    libmpdclient
     openssl
     lua5_3
     libid3tag
diff --git a/pkgs/applications/audio/ncmpc/default.nix b/pkgs/applications/audio/ncmpc/default.nix
index 4e30e32774dac..e397534d126cd 100644
--- a/pkgs/applications/audio/ncmpc/default.nix
+++ b/pkgs/applications/audio/ncmpc/default.nix
@@ -1,7 +1,15 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, glib, ncurses
-, mpd_clientlib, gettext, boost
-, pcreSupport ? false
-, pcre ? null
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, glib
+, ncurses
+, libmpdclient
+, gettext
+, boost
+, pcreSupport ? false, pcre ? null
 }:
 
 with lib;
@@ -10,16 +18,16 @@ assert pcreSupport -> pcre != null;
 
 stdenv.mkDerivation rec {
   pname = "ncmpc";
-  version = "0.43";
+  version = "0.45";
 
   src = fetchFromGitHub {
     owner  = "MusicPlayerDaemon";
     repo   = "ncmpc";
     rev    = "v${version}";
-    sha256 = "sha256-/bynLU4/QtUawBjhcaajjuUDUwaSt6zk4/4TZqfQX3c=";
+    sha256 = "sha256-KDSHbEZ2PJLEIlXqPvBQ2ZPWno+IoajTjkl9faAXIko=";
   };
 
-  buildInputs = [ glib ncurses mpd_clientlib boost ]
+  buildInputs = [ glib ncurses libmpdclient boost ]
     ++ optional pcreSupport pcre;
   nativeBuildInputs = [ meson ninja pkg-config gettext ];
 
diff --git a/pkgs/applications/audio/ncmpcpp/default.nix b/pkgs/applications/audio/ncmpcpp/default.nix
index f6560a7abcfb5..c0fa2722878fa 100644
--- a/pkgs/applications/audio/ncmpcpp/default.nix
+++ b/pkgs/applications/audio/ncmpcpp/default.nix
@@ -1,5 +1,14 @@
-{ lib, stdenv, fetchurl, boost, mpd_clientlib, ncurses, pkg-config, readline
-, libiconv, icu, curl
+{ lib
+, stdenv
+, fetchurl
+, boost
+, libmpdclient
+, ncurses
+, pkg-config
+, readline
+, libiconv
+, icu
+, curl
 , outputsSupport ? true # outputs screen
 , visualizerSupport ? false, fftw ? null # visualizer screen
 , clockSupport ? true # clock screen
@@ -27,7 +36,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ boost mpd_clientlib ncurses readline libiconv icu curl ]
+  buildInputs = [ boost libmpdclient ncurses readline libiconv icu curl ]
     ++ optional visualizerSupport fftw
     ++ optional taglibSupport taglib;
 
diff --git a/pkgs/applications/audio/ncpamixer/default.nix b/pkgs/applications/audio/ncpamixer/default.nix
index 70acc81404e5e..aca96ef5da351 100644
--- a/pkgs/applications/audio/ncpamixer/default.nix
+++ b/pkgs/applications/audio/ncpamixer/default.nix
@@ -1,7 +1,6 @@
 { lib, stdenv, fetchFromGitHub, cmake, ncurses, libpulseaudio, pkg-config }:
 
 stdenv.mkDerivation rec {
-
   pname = "ncpamixer";
   version = "1.3.3.1";
 
@@ -12,15 +11,12 @@ stdenv.mkDerivation rec {
     sha256 = "1v3bz0vpgh18257hdnz3yvbnl51779g1h5b265zgc21ks7m1jw5z";
   };
 
-  buildInputs = [ ncurses libpulseaudio ];
   nativeBuildInputs = [ cmake pkg-config ];
 
-  configurePhase = ''
-    make PREFIX=$out build/Makefile
-  '';
+  buildInputs = [ ncurses libpulseaudio ];
 
-  buildPhase = ''
-    make build
+  configurePhase = ''
+    make PREFIX=$out USE_WIDE=1 RELEASE=1 build/Makefile
   '';
 
   meta = with lib; {
@@ -28,6 +24,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/fulhax/ncpamixer";
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ StijnDW ];
+    maintainers = with maintainers; [ StijnDW SuperSandro2000 ];
   };
 }
diff --git a/pkgs/applications/audio/ncspot/default.nix b/pkgs/applications/audio/ncspot/default.nix
index 9cc96bd03a704..e78eaca54909a 100644
--- a/pkgs/applications/audio/ncspot/default.nix
+++ b/pkgs/applications/audio/ncspot/default.nix
@@ -14,16 +14,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "ncspot";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "hrkfdn";
     repo = "ncspot";
     rev = "v${version}";
-    sha256 = "1dfq6ickx24cq8zhhm0a8x5ycd0iygw065qd2blcgl0fim350zw9";
+    sha256 = "sha256-4V0LG9mDvezeLHHTAmfAXdssOAOlZs30b8IejKEKN4g=";
   };
 
-  cargoSha256 = "0z4af575rx6ggjxsw1q18kwsb4cvyy1kzfkp32v9n74krmy0fk8p";
+  cargoSha256 = "sha256-POvIkoxLAXVBTsB37aAEUKhk6DRF9IfvfTcrP5PLFEQ=";
 
   cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];
 
diff --git a/pkgs/applications/audio/netease-music-tui/default.nix b/pkgs/applications/audio/netease-music-tui/default.nix
index 0322459685f2f..957c7b3c7fb12 100644
--- a/pkgs/applications/audio/netease-music-tui/default.nix
+++ b/pkgs/applications/audio/netease-music-tui/default.nix
@@ -17,7 +17,6 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ alsaLib openssl ];
 
   cargoSha256 = "1kfbnwy3lkbhz0ggxwr5n6qd1plipkr1ycr3z2r7c0amrzzbkc7l";
-  verifyCargoDeps = true;
 
   meta = with lib; {
     homepage = "https://github.com/betta-cyber/netease-music-tui";
diff --git a/pkgs/applications/audio/nootka/default.nix b/pkgs/applications/audio/nootka/default.nix
index b1b60540b8c27..11424c0be1814 100644
--- a/pkgs/applications/audio/nootka/default.nix
+++ b/pkgs/applications/audio/nootka/default.nix
@@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
     "-DENABLE_PULSEAUDIO=ON"
   ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "Application for practicing playing musical scores and ear training";
     homepage = "https://nootka.sourceforge.io/";
diff --git a/pkgs/applications/audio/nootka/unstable.nix b/pkgs/applications/audio/nootka/unstable.nix
index 1fb70c195dc0f..aa49daaa1e71f 100644
--- a/pkgs/applications/audio/nootka/unstable.nix
+++ b/pkgs/applications/audio/nootka/unstable.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
     qtbase qtdeclarative qtquickcontrols2
   ];
 
+  dontWrapQtApps = true;
+
   cmakeFlags = [
     "-DCMAKE_INCLUDE_PATH=${libjack2}/include/jack;${libpulseaudio.dev}/include/pulse"
     "-DENABLE_JACK=ON"
diff --git a/pkgs/applications/audio/ocenaudio/default.nix b/pkgs/applications/audio/ocenaudio/default.nix
index c3ab0ffcebd12..2fd1aeccd7a2f 100644
--- a/pkgs/applications/audio/ocenaudio/default.nix
+++ b/pkgs/applications/audio/ocenaudio/default.nix
@@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
   dontUnpack = true;
   dontBuild = true;
   dontStrip = true;
+  dontWrapQtApps = true;
 
   installPhase = ''
     mkdir -p $out
diff --git a/pkgs/applications/audio/openmpt123/default.nix b/pkgs/applications/audio/openmpt123/default.nix
index 5a610284c21e0..8e6113a716d24 100644
--- a/pkgs/applications/audio/openmpt123/default.nix
+++ b/pkgs/applications/audio/openmpt123/default.nix
@@ -2,14 +2,14 @@
 , usePulseAudio ? config.pulseaudio or false, libpulseaudio }:
 
 let
-  version = "0.5.4";
+  version = "0.5.5";
 in stdenv.mkDerivation {
   pname = "openmpt123";
   inherit version;
 
   src = fetchurl {
     url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz";
-    sha256 = "0h7gpjx1221jwsq3k91p8zhf1h77qaxyasakc88s3g57vawhckgk";
+    sha256 = "sha256-8eAUg+vxpoDZ7AMMmvIPXypawPHgZCwYvVWTz6qc62s=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/audio/picard/default.nix b/pkgs/applications/audio/picard/default.nix
index 200e457c5685c..785c334e15236 100644
--- a/pkgs/applications/audio/picard/default.nix
+++ b/pkgs/applications/audio/picard/default.nix
@@ -40,11 +40,6 @@ in pythonPackages.buildPythonApplication rec {
     dateutil
   ];
 
-  prePatch = ''
-    # Pesky unicode punctuation.
-    substituteInPlace setup.cfg --replace "‘" "'"
-  '';
-
   # In order to spare double wrapping, we use:
   preFixup = ''
     makeWrapperArgs+=("''${qtWrapperArgs[@]}")
diff --git a/pkgs/applications/audio/playbar2/default.nix b/pkgs/applications/audio/playbar2/default.nix
index 7545c17131f95..dfbfb43e625c5 100644
--- a/pkgs/applications/audio/playbar2/default.nix
+++ b/pkgs/applications/audio/playbar2/default.nix
@@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
     kwindowsystem
   ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "Mpris2 Client for Plasma5";
     homepage = "https://github.com/audoban/PlayBar2";
diff --git a/pkgs/applications/audio/plexamp/default.nix b/pkgs/applications/audio/plexamp/default.nix
index 2c33584e36217..c484f6e19247d 100644
--- a/pkgs/applications/audio/plexamp/default.nix
+++ b/pkgs/applications/audio/plexamp/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "plexamp";
-  version = "3.3.1";
+  version = "3.4.1";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage";
     name="${pname}-${version}.AppImage";
-    sha256 = "6/asP8VR+rJ52lKKds46gSw1or9suUEmyR75pjdWHIQ=";
+    sha256 = "Vv+e1q5ThuXDPX8baSU+7/U63p6/dvh0ZvScO1Loj+U=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/audio/pragha/default.nix b/pkgs/applications/audio/pragha/default.nix
new file mode 100644
index 0000000000000..da5a64f708eb0
--- /dev/null
+++ b/pkgs/applications/audio/pragha/default.nix
@@ -0,0 +1,103 @@
+{ lib
+, intltool
+, mkDerivation
+, installShellFiles
+, pkg-config
+, fetchFromGitHub
+, dbus-glib
+, desktop-file-utils
+, hicolor-icon-theme
+, pcre
+, qtbase
+, sqlite
+, taglib
+, zlib
+, gtk3
+, libpeas
+, libcddb
+, libcdio
+, gst_all_1, withGstPlugins ? true
+, glyr, withGlyr ? true
+, liblastfmSF, withLastfm ? true
+, libcdio-paranoia, withCD ? true
+, keybinder3, withKeybinder ? false
+, libnotify, withLibnotify ? false
+, libsoup, withLibsoup ? false
+, libgudev, withGudev ? false # experimental
+, libmtp, withMtp ? false # experimental
+, xfce, withXfce4ui ? false
+, totem-pl-parser, withTotemPlParser ? false
+# , grilo, withGrilo ? false
+# , rygel, withRygel ? true
+}:
+
+assert withGlyr -> withLastfm;
+assert withLastfm -> withCD;
+
+mkDerivation rec {
+  pname = "pragha";
+  version = "1.3.99.1";
+
+  src = fetchFromGitHub {
+    owner = "pragha-music-player";
+    repo = "pragha";
+    rev = "v${version}";
+    sha256 = "sha256-C4zh2NHqP4bwKMi5s+3AfEtKqxRlzL66H8OyNonGzxE=";
+  };
+
+  nativeBuildInputs = [
+    intltool
+    pkg-config
+    xfce.xfce4-dev-tools
+    desktop-file-utils
+    installShellFiles
+  ];
+
+  buildInputs = with gst_all_1; [
+    dbus-glib
+    gstreamer
+    gst-plugins-base
+    gtk3
+    hicolor-icon-theme
+    libpeas
+    pcre
+    qtbase
+    sqlite
+    taglib
+    zlib
+  ]
+  ++ lib.optionals withGstPlugins [ gst-plugins-good gst-plugins-bad gst-plugins-ugly ]
+  ++ lib.optionals withCD [ libcddb libcdio libcdio-paranoia ]
+  ++ lib.optional withGudev libgudev
+  ++ lib.optional withKeybinder keybinder3
+  ++ lib.optional withLibnotify libnotify
+  ++ lib.optional withLastfm liblastfmSF
+  ++ lib.optional withGlyr glyr
+  ++ lib.optional withLibsoup libsoup
+  ++ lib.optional withMtp libmtp
+  ++ lib.optional withXfce4ui xfce.libxfce4ui
+  ++ lib.optional withTotemPlParser totem-pl-parser
+  # ++ lib.optional withGrilo grilo
+  # ++ lib.optional withRygel rygel
+  ;
+
+  CFLAGS = [ "-DHAVE_PARANOIA_NEW_INCLUDES" ];
+
+  NIX_CFLAGS_COMPILE = "-I${lib.getDev gst_all_1.gst-plugins-base}/include/gstreamer-1.0";
+
+  postInstall = ''
+    qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0")
+
+    install -m 444 data/${pname}.desktop $out/share/applications
+    install -d $out/share/pixmaps
+    installManPage data/${pname}.1
+  '';
+
+  meta = with lib; {
+    description = "A lightweight GTK+ music manager - fork of Consonance Music Manager";
+    homepage = "https://pragha-music-player.github.io/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ mbaeten ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/audio/projectm/default.nix b/pkgs/applications/audio/projectm/default.nix
index 8f4cfb499f2c4..d207d26972ffb 100644
--- a/pkgs/applications/audio/projectm/default.nix
+++ b/pkgs/applications/audio/projectm/default.nix
@@ -56,7 +56,7 @@ mkDerivation rec {
     description = "Cross-platform Milkdrop-compatible music visualizer";
     license = lib.licenses.lgpl21;
     platforms = lib.platforms.unix;
-    maintainers = with lib.maintainers; [ ajs124 ];
+    maintainers = with lib.maintainers; [ ];
     longDescription = ''
       The open-source project that reimplements the esteemed Winamp Milkdrop by Geiss in a more modern, cross-platform reusable library.
       Read an audio input and produces mesmerizing visuals, detecting tempo, and rendering advanced equations into a limitless array of user-contributed visualizations.
diff --git a/pkgs/applications/audio/pulseeffects-legacy/default.nix b/pkgs/applications/audio/pulseeffects-legacy/default.nix
new file mode 100644
index 0000000000000..fad17ac71fdec
--- /dev/null
+++ b/pkgs/applications/audio/pulseeffects-legacy/default.nix
@@ -0,0 +1,115 @@
+{ lib, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, itstool
+, python3
+, libxml2
+, desktop-file-utils
+, wrapGAppsHook
+, gst_all_1
+, pulseaudio
+, gtk3
+, glib
+, glibmm
+, gtkmm3
+, lilv
+, lv2
+, serd
+, sord
+, sratom
+, libbs2b
+, libsamplerate
+, libsndfile
+, libebur128
+, rnnoise
+, boost
+, dbus
+, fftwFloat
+, calf
+, zita-convolver
+, zam-plugins
+, rubberband
+, lsp-plugins
+}:
+
+let
+  lv2Plugins = [
+    calf # limiter, compressor exciter, bass enhancer and others
+    lsp-plugins # delay
+  ];
+  ladspaPlugins = [
+    rubberband # pitch shifting
+    zam-plugins # maximizer
+  ];
+in stdenv.mkDerivation rec {
+  pname = "pulseeffects";
+  version = "4.8.4";
+
+  src = fetchFromGitHub {
+    owner = "wwmm";
+    repo = "pulseeffects";
+    rev = "v${version}";
+    sha256 = "19sndxvszafbd1l2033g2irpx2jrwi5bpbx8r35047wi0z7djiag";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    libxml2
+    itstool
+    python3
+    desktop-file-utils
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    pulseaudio
+    glib
+    glibmm
+    gtk3
+    gtkmm3
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base # gst-fft
+    gst_all_1.gst-plugins-good # pulsesrc
+    gst_all_1.gst-plugins-bad
+    lilv lv2 serd sord sratom
+    libbs2b
+    libebur128
+    libsamplerate
+    libsndfile
+    rnnoise
+    boost
+    dbus
+    fftwFloat
+    zita-convolver
+  ];
+
+  postPatch = ''
+    chmod +x meson_post_install.py
+    patchShebangs meson_post_install.py
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --set LV2_PATH "${lib.makeSearchPath "lib/lv2" lv2Plugins}"
+      --set LADSPA_PATH "${lib.makeSearchPath "lib/ladspa" ladspaPlugins}"
+    )
+  '';
+
+  # Meson is no longer able to pick up Boost automatically.
+  # https://github.com/NixOS/nixpkgs/issues/86131
+  BOOST_INCLUDEDIR = "${lib.getDev boost}/include";
+  BOOST_LIBRARYDIR = "${lib.getLib boost}/lib";
+
+  meta = with lib; {
+    description = "Limiter, compressor, reverberation, equalizer and auto volume effects for Pulseaudio applications";
+    homepage = "https://github.com/wwmm/pulseeffects";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.linux;
+    badPlatforms = [ "aarch64-linux" ];
+  };
+}
diff --git a/pkgs/applications/audio/pulseeffects/default.nix b/pkgs/applications/audio/pulseeffects/default.nix
index fca498bd8975d..0ba926fab4f9a 100644
--- a/pkgs/applications/audio/pulseeffects/default.nix
+++ b/pkgs/applications/audio/pulseeffects/default.nix
@@ -9,7 +9,7 @@
 , desktop-file-utils
 , wrapGAppsHook
 , gst_all_1
-, pulseaudio
+, pipewire
 , gtk3
 , glib
 , glibmm
@@ -45,13 +45,13 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "pulseeffects";
-  version = "4.8.4";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "wwmm";
     repo = "pulseeffects";
     rev = "v${version}";
-    sha256 = "19sndxvszafbd1l2033g2irpx2jrwi5bpbx8r35047wi0z7djiag";
+    sha256 = "1zs13bivxlgcb24lz1pgmgy2chcjxnmn4lz7g1n0ygiaaj4c30xj";
   };
 
   nativeBuildInputs = [
@@ -66,14 +66,14 @@ in stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    pulseaudio
+    pipewire
     glib
     glibmm
     gtk3
     gtkmm3
     gst_all_1.gstreamer
     gst_all_1.gst-plugins-base # gst-fft
-    gst_all_1.gst-plugins-good # pulsesrc
+    gst_all_1.gst-plugins-good # spectrum plugin
     gst_all_1.gst-plugins-bad
     lilv lv2 serd sord sratom
     libbs2b
@@ -107,7 +107,7 @@ in stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Limiter, compressor, reverberation, equalizer and auto volume effects for Pulseaudio applications";
     homepage = "https://github.com/wwmm/pulseeffects";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.linux;
     badPlatforms = [ "aarch64-linux" ];
diff --git a/pkgs/applications/audio/puredata/wrapper.nix b/pkgs/applications/audio/puredata/wrapper.nix
index 80968e2700b49..3444ef9acbdc1 100644
--- a/pkgs/applications/audio/puredata/wrapper.nix
+++ b/pkgs/applications/audio/puredata/wrapper.nix
@@ -7,7 +7,7 @@ in symlinkJoin {
 
   paths = [ puredata ] ++ plugins;
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   postBuild = ''
     wrapProgram $out/bin/pd \
diff --git a/pkgs/applications/audio/real_time_config_quick_scan/default.nix b/pkgs/applications/audio/real_time_config_quick_scan/default.nix
index 3fb476b65cc4b..8bc2553f521b0 100644
--- a/pkgs/applications/audio/real_time_config_quick_scan/default.nix
+++ b/pkgs/applications/audio/real_time_config_quick_scan/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "16kanzp5i353x972zjkwgi3m8z90wc58613mlfzb0n01djdnm6k5";
   };
 
-  buildInputs = [ perlPackages.perl makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ perlPackages.perl ];
 
   dontBuild = true;
 
diff --git a/pkgs/applications/audio/reaper/default.nix b/pkgs/applications/audio/reaper/default.nix
index 212b4c716ffa0..8e70bff2b975e 100644
--- a/pkgs/applications/audio/reaper/default.nix
+++ b/pkgs/applications/audio/reaper/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "reaper";
-  version = "6.21";
+  version = "6.23";
 
   src = fetchurl {
     url = "https://www.reaper.fm/files/${lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_x86_64.tar.xz";
-    sha256 = "11nvfjfrri9y0k7n7psz3yk1l7mxp9f6yi69pq7hvn9d4n26p5vd";
+    sha256 = "1s9c8prqk38738hjaixiy8ljp94cqw7jq3160890477jyk6cvicd";
   };
 
   nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
@@ -39,6 +39,8 @@ stdenv.mkDerivation rec {
   dontBuild = true;
 
   installPhase = ''
+    runHook preInstall
+
     XDG_DATA_HOME="$out/share" ./install-reaper.sh \
       --install $out/opt \
       --integrate-user-desktop
@@ -57,6 +59,8 @@ stdenv.mkDerivation rec {
     mkdir $out/bin
     ln -s $out/opt/REAPER/reaper $out/bin/
     ln -s $out/opt/REAPER/reamote-server $out/bin/
+
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/audio/rubyripper/default.nix b/pkgs/applications/audio/rubyripper/default.nix
index b7abfa40b8636..e8a275db98d84 100644
--- a/pkgs/applications/audio/rubyripper/default.nix
+++ b/pkgs/applications/audio/rubyripper/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
   preConfigure = "patchShebangs .";
 
   configureFlags = [ "--enable-cli" ];
-  buildInputs = [ ruby cdparanoia makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ ruby cdparanoia ];
   postInstall = ''
     wrapProgram "$out/bin/rrip_cli" \
       --prefix PATH : "${ruby}/bin" \
diff --git a/pkgs/applications/audio/seq66/default.nix b/pkgs/applications/audio/seq66/default.nix
index 93f9e9503b95e..71d70c2dd5802 100644
--- a/pkgs/applications/audio/seq66/default.nix
+++ b/pkgs/applications/audio/seq66/default.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     homepage = "https://github.com/ahlstromcj/seq66";
     description = "Loop based midi sequencer with Qt GUI derived from seq24 and sequencer64";
diff --git a/pkgs/applications/audio/shortwave/default.nix b/pkgs/applications/audio/shortwave/default.nix
index a503d3b344cb2..96433221e9321 100644
--- a/pkgs/applications/audio/shortwave/default.nix
+++ b/pkgs/applications/audio/shortwave/default.nix
@@ -14,7 +14,6 @@
 , openssl
 , pkg-config
 , python3
-, rust
 , rustc
 , rustPlatform
 , sqlite
diff --git a/pkgs/applications/audio/snapcast/default.nix b/pkgs/applications/audio/snapcast/default.nix
index 84695730db675..681601c7d884b 100644
--- a/pkgs/applications/audio/snapcast/default.nix
+++ b/pkgs/applications/audio/snapcast/default.nix
@@ -20,8 +20,8 @@ let
 
   aixlog = dependency {
     name    = "aixlog";
-    version = "1.2.1";
-    sha256  = "1rh4jib5g41b85bqrxkl5g74hk5ryf187y9fw0am76g59xlymfpr";
+    version = "1.4.0";
+    sha256  = "0f2bs5j1jjajcpa251dslnwkgglaam3b0cm6wdx5l7mbwvnmib2g";
   };
 
   popl = dependency {
@@ -34,13 +34,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "snapcast";
-  version = "0.20.0";
+  version = "0.23.0";
 
   src = fetchFromGitHub {
     owner  = "badaix";
     repo   = "snapcast";
     rev    = "v${version}";
-    sha256 = "152ic8hlyawcmj9pykb33xc6yx7il6yb9ilmsy6m9nlh40m8yxls";
+    sha256 = "0183hhghzn0fhw2qzc1s009q7miabpcf0pxaqjdscsl8iivxqknd";
   };
 
   nativeBuildInputs = [ cmake pkg-config boost170.dev ];
diff --git a/pkgs/applications/audio/spectmorph/default.nix b/pkgs/applications/audio/spectmorph/default.nix
index a368d62ce7d00..6292d771a512d 100644
--- a/pkgs/applications/audio/spectmorph/default.nix
+++ b/pkgs/applications/audio/spectmorph/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "Allows to analyze samples of musical instruments, and to combine them (morphing) to construct hybrid sounds";
     homepage = "http://spectmorph.org";
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index 43ecb67d64a3b..655a047a3a63f 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -81,7 +81,8 @@ stdenv.mkDerivation {
     sha512 = "5b3d5d1f52a554c8e775b8aed16ef84e96bf3b61a2b53266e10d3c47e341899310af13cc8513b04424fc14532e36543a6fae677f80a036e3f51c75166d8d53d1";
   };
 
-  buildInputs = [ squashfsTools makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ squashfsTools ];
 
   dontStrip = true;
   dontPatchELF = true;
diff --git a/pkgs/applications/audio/spotifyd/default.nix b/pkgs/applications/audio/spotifyd/default.nix
index 776c9576bb463..23aae90be9597 100644
--- a/pkgs/applications/audio/spotifyd/default.nix
+++ b/pkgs/applications/audio/spotifyd/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, rustPackages, pkg-config, openssl
+{ lib, fetchFromGitHub, rustPackages_1_45, pkg-config, openssl
 , withALSA ? true, alsaLib ? null
 , withPulseAudio ? false, libpulseaudio ? null
 , withPortAudio ? false, portaudio ? null
@@ -7,7 +7,7 @@
 , dbus ? null
 }:
 
-rustPackages.rustPlatform.buildRustPackage rec {
+rustPackages_1_45.rustPlatform.buildRustPackage rec {
   pname = "spotifyd";
   version = "0.3.0";
 
@@ -39,7 +39,7 @@ rustPackages.rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "An open source Spotify client running as a UNIX daemon";
     homepage = "https://github.com/Spotifyd/spotifyd";
-    license = with licenses; [ gpl3 ];
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ anderslundstedt Br1ght0ne marsam ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/applications/audio/tageditor/default.nix b/pkgs/applications/audio/tageditor/default.nix
new file mode 100644
index 0000000000000..02e23084cf53c
--- /dev/null
+++ b/pkgs/applications/audio/tageditor/default.nix
@@ -0,0 +1,58 @@
+{ stdenv
+, pkgs
+, fetchFromGitHub
+, pkg-config
+, cmake
+
+, cpp-utilities
+, qtutilities
+, mp4v2
+, libid3tag
+, qtbase
+, qttools
+, qtwebengine
+, qtx11extras
+, tagparser
+, wrapQtAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "tageditor";
+  version = "3.3.10";
+
+  src = fetchFromGitHub {
+    owner = "martchus";
+    repo = "tageditor";
+    rev = "v${version}";
+    sha256 = "16cmq7dyalcwc8gx1y9acngw5imjh8ydp4prxy7qpzk4fj3kpsak";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    cmake
+    wrapQtAppsHook
+  ];
+  buildInputs = [
+    mp4v2
+    libid3tag
+    pkg-config
+    qtbase
+    qttools
+    qtx11extras
+    qtwebengine
+    cpp-utilities
+    qtutilities
+    tagparser
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = with pkgs.lib; {
+    homepage = "https://github.com/Martchus/tageditor";
+    description = "A tag editor with Qt GUI and command-line interface supporting MP4/M4A/AAC (iTunes), ID3, Vorbis, Opus, FLAC and Matroska";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.matthiasbeyer ];
+    platforms = platforms.linux;
+  };
+}
+
diff --git a/pkgs/applications/audio/tuijam/default.nix b/pkgs/applications/audio/tuijam/default.nix
index 8a08b64508d78..4a215528b7cda 100644
--- a/pkgs/applications/audio/tuijam/default.nix
+++ b/pkgs/applications/audio/tuijam/default.nix
@@ -2,7 +2,6 @@
 , fetchFromGitHub
 , lib
 , python3Packages
-, youtube-dl
 }:
 
 buildPythonApplication rec {
diff --git a/pkgs/applications/audio/vimpc/default.nix b/pkgs/applications/audio/vimpc/default.nix
index e38fc8386670e..a576898128ec6 100644
--- a/pkgs/applications/audio/vimpc/default.nix
+++ b/pkgs/applications/audio/vimpc/default.nix
@@ -1,5 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, mpd_clientlib, ncurses, pcre, pkg-config
-, taglib, curl }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, libmpdclient
+, ncurses
+, pcre
+, pkg-config
+, taglib
+, curl
+}:
 
 stdenv.mkDerivation rec {
   version = "0.09.2";
@@ -13,7 +22,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ mpd_clientlib ncurses pcre taglib curl ];
+  buildInputs = [ libmpdclient ncurses pcre taglib curl ];
 
   postInstall = ''
     mkdir -p $out/etc
diff --git a/pkgs/applications/audio/vkeybd/default.nix b/pkgs/applications/audio/vkeybd/default.nix
index 3409d8a490708..943bd0d8032bf 100644
--- a/pkgs/applications/audio/vkeybd/default.nix
+++ b/pkgs/applications/audio/vkeybd/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation  rec {
     sha256 = "0107b5j1gf7dwp7qb4w2snj4bqiyps53d66qzl2rwj4jfpakws5a";
   };
 
-  buildInputs = [ alsaLib libX11 makeWrapper tcl tk ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ alsaLib libX11 tcl tk ];
 
   configurePhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/applications/audio/vorbis-tools/default.nix b/pkgs/applications/audio/vorbis-tools/default.nix
index 894bed1715f58..865d82a73562c 100644
--- a/pkgs/applications/audio/vorbis-tools/default.nix
+++ b/pkgs/applications/audio/vorbis-tools/default.nix
@@ -1,26 +1,17 @@
-{ lib, stdenv, fetchurl, fetchzip, libogg, libvorbis, libao, pkg-config, curl
-, speex, flac }:
+{ lib, stdenv, fetchurl, libogg, libvorbis, libao, pkg-config, curl
+, speex, flac
+, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  pname = "vorbis-tools";
+  version = "1.4.2";
 
-let
-  debPatch = fetchzip {
-    url = "mirror://debian/pool/main/v/vorbis-tools/vorbis-tools_1.4.0-11.debian.tar.xz";
-    sha256 = "0kvmd5nslyqplkdb7pnmqj47ir3y5lmaxd12wmrnqh679a8jhcyi";
-  };
-in
-stdenv.mkDerivation {
-  name = "vorbis-tools-1.4.0";
   src = fetchurl {
-    url = "http://downloads.xiph.org/releases/vorbis/vorbis-tools-1.4.0.tar.gz";
-    sha256 = "1g12bnh5ah08v529y72kfdz5lhvy75iaz7f9jskyby23m9dkk2d3";
+    url = "http://downloads.xiph.org/releases/vorbis/vorbis-tools-${version}.tar.gz";
+    sha256 = "1c7h4ivgfdyygz2hyh6nfibxlkz8kdk868a576qkkjgj5gn78xyv";
   };
 
-  postPatch = ''
-    for patch in $(ls "${debPatch}"/patches/*.{diff,patch} | grep -v debian_subdir)
-    do patch -p1 < "$patch"
-    done
-  '';
-
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
   buildInputs = [ libogg libvorbis libao curl speex flac ];
 
   meta = with lib; {
diff --git a/pkgs/applications/audio/yams/default.nix b/pkgs/applications/audio/yams/default.nix
new file mode 100644
index 0000000000000..96c1ab27b72c4
--- /dev/null
+++ b/pkgs/applications/audio/yams/default.nix
@@ -0,0 +1,29 @@
+{ lib, fetchFromGitHub, python3Packages }:
+
+python3Packages.buildPythonPackage rec {
+  pname = "yams";
+  version = "0.7.3";
+
+  src = fetchFromGitHub {
+    owner = "Berulacks";
+    repo = "yams";
+    rev = version;
+    sha256 = "1zkhcys9i0s6jkaz24an690rvnkv1r84jxpaa84sf46abi59ijh8";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    pyyaml
+    psutil
+    mpd2
+    requests
+  ];
+
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = "https://github.com/Berulacks/yams";
+    description = "Last.FM scrobbler for MPD";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ ccellado ];
+  };
+}
diff --git a/pkgs/applications/audio/ympd/default.nix b/pkgs/applications/audio/ympd/default.nix
index c12c060864dba..38c05276be4b7 100644
--- a/pkgs/applications/audio/ympd/default.nix
+++ b/pkgs/applications/audio/ympd/default.nix
@@ -1,4 +1,11 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, mpd_clientlib, openssl }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, libmpdclient
+, openssl
+}:
 
 stdenv.mkDerivation rec {
   pname = "ympd";
@@ -12,13 +19,13 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ mpd_clientlib openssl ];
+  buildInputs = [ libmpdclient openssl ];
 
-  meta = {
+  meta = with lib; {
     homepage = "https://www.ympd.org";
     description = "Standalone MPD Web GUI written in C, utilizing Websockets and Bootstrap/JS";
-    maintainers = [ lib.maintainers.siddharthist ];
-    platforms = lib.platforms.unix;
-    license = lib.licenses.gpl2;
+    maintainers = [ maintainers.siddharthist ];
+    platforms = platforms.unix;
+    license = licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/backup/deja-dup/default.nix b/pkgs/applications/backup/deja-dup/default.nix
index b9533973ad53a..4ab491cb9a9d4 100644
--- a/pkgs/applications/backup/deja-dup/default.nix
+++ b/pkgs/applications/backup/deja-dup/default.nix
@@ -17,7 +17,6 @@
 , libgpgerror
 , json-glib
 , duplicity
-, dconf
 }:
 
 stdenv.mkDerivation rec {
@@ -57,7 +56,6 @@ stdenv.mkDerivation rec {
     libhandy_0
     libgpgerror
     json-glib
-    dconf
   ];
 
   mesonFlags = [
diff --git a/pkgs/applications/backup/vorta/default.nix b/pkgs/applications/backup/vorta/default.nix
index fc7e6c0fc3593..1809777ed542a 100644
--- a/pkgs/applications/backup/vorta/default.nix
+++ b/pkgs/applications/backup/vorta/default.nix
@@ -1,26 +1,27 @@
-{ buildPythonApplication, fetchFromGitHub, lib, paramiko, peewee, pyqt5
-, python-dateutil, APScheduler, psutil, qdarkstyle, secretstorage
-, appdirs, setuptools, qt5
+{ lib
+, python3
+, fetchFromGitHub
+, wrapQtAppsHook
 }:
 
-buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "vorta";
-  version = "0.7.1";
+  version = "0.7.4";
 
   src = fetchFromGitHub {
     owner = "borgbase";
     repo = "vorta";
     rev = "v${version}";
-    sha256 = "069fq5gv324l2ap3g6m6i12lhq1iqm27dsmaagyc3sva945j0gxw";
+    sha256 = "sha256-+WQ3p2ddyQpJqCLc1HqFZlKK85VkX2Iv2eXEcVkBs6g=";
   };
 
   postPatch = ''
     sed -i -e '/setuptools_git/d' -e '/pytest-runner/d' setup.cfg
   '';
 
-  nativeBuildInputs = [ qt5.wrapQtAppsHook ];
+  nativeBuildInputs = [ wrapQtAppsHook ];
 
-  propagatedBuildInputs = [
+  propagatedBuildInputs = with python3.pkgs; [
     paramiko peewee pyqt5 python-dateutil APScheduler psutil qdarkstyle
     secretstorage appdirs setuptools
   ];
@@ -33,7 +34,7 @@ buildPythonApplication rec {
   '';
 
   meta = with lib; {
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     homepage = "https://vorta.borgbase.com/";
     maintainers = with maintainers; [ ma27 ];
     description = "Desktop Backup Client for Borg";
diff --git a/pkgs/applications/blockchains/bitcoin-classic.nix b/pkgs/applications/blockchains/bitcoin-classic.nix
index bd1c9611d5610..f578313323c0e 100644
--- a/pkgs/applications/blockchains/bitcoin-classic.nix
+++ b/pkgs/applications/blockchains/bitcoin-classic.nix
@@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  dontWrapQtApps = true;
+
   meta = {
     description = "Peer-to-peer electronic cash system (Classic client)";
     longDescription= ''
diff --git a/pkgs/applications/blockchains/btcpayserver/default.nix b/pkgs/applications/blockchains/btcpayserver/default.nix
index 3958a44cdafe5..52914c1128a53 100644
--- a/pkgs/applications/blockchains/btcpayserver/default.nix
+++ b/pkgs/applications/blockchains/btcpayserver/default.nix
@@ -15,13 +15,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "btcpayserver";
-  version = "1.0.5.9";
+  version = "1.0.6.8";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "011pp94i49fx587ng16m6ml63vwiysjvpkijihrk6xamz78zddgx";
+    sha256 = "1znmix9w7ahzyb933lxzqv6j8j5qycknq3gmnkakj749ksshql1b";
   };
 
   nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ];
diff --git a/pkgs/applications/blockchains/btcpayserver/deps.nix b/pkgs/applications/blockchains/btcpayserver/deps.nix
index 5ee5e2612115a..9065ff49cf85d 100644
--- a/pkgs/applications/blockchains/btcpayserver/deps.nix
+++ b/pkgs/applications/blockchains/btcpayserver/deps.nix
@@ -1,8 +1,13 @@
 { fetchNuGet }: [
   (fetchNuGet {
+    name = "AngleSharp.Css";
+    version = "0.14.2";
+    sha256 = "1d34a8ab5dri4wlw07jvk7b1z0d0zizwihwpdfva3sxhb4279ahd";
+  })
+  (fetchNuGet {
     name = "AngleSharp";
-    version = "0.9.11";
-    sha256 = "17vf1bizskkxr8pf547lk2b48m12wv3si83gxk145i73bf9gi64a";
+    version = "0.14.0";
+    sha256 = "1zgwhh1fp2mmaplvpgm86rpmslix3wqfxf0d3hxx1gxwfgr6wxm6";
   })
   (fetchNuGet {
     name = "AWSSDK.Core";
@@ -136,8 +141,18 @@
   })
   (fetchNuGet {
     name = "HtmlSanitizer";
-    version = "4.0.217";
-    sha256 = "0szay9mf5mmrp1hx0yc175aaalv76qg0j515lfs133j1d95lj26d";
+    version = "5.0.372";
+    sha256 = "1gllp58vdbql2ybwf05i2178x7p4g8zyyk64317d1pyss5217g7r";
+  })
+  (fetchNuGet {
+    name = "McMaster.NETCore.Plugins.Mvc";
+    version = "1.3.1";
+    sha256 = "1dh58ijwn6q6id0jpzr4hpfl0y4ak43zq4m8rsi5j2qv8vasq1mi";
+  })
+  (fetchNuGet {
+    name = "McMaster.NETCore.Plugins";
+    version = "1.3.1";
+    sha256 = "0jrp7sshnvg7jcb52gfhwmg1jy31k9dxdf4061yggwcgpfskyg7n";
   })
   (fetchNuGet {
     name = "Microsoft.AspNet.SignalR.Client";
@@ -211,11 +226,6 @@
   })
   (fetchNuGet {
     name = "Microsoft.Bcl.AsyncInterfaces";
-    version = "1.1.0";
-    sha256 = "1dq5yw7cy6s42193yl4iqscfw5vzkjkgv0zyy32scr4jza6ni1a1";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Bcl.AsyncInterfaces";
     version = "1.1.1";
     sha256 = "0a1ahssqds2ympr7s4xcxv5y8jgxs7ahd6ah6fbgglj4rki1f1vw";
   })
@@ -296,13 +306,13 @@
   })
   (fetchNuGet {
     name = "Microsoft.DotNet.PlatformAbstractions";
-    version = "3.1.4";
-    sha256 = "1s5h96zdc3vh1v03gizmqfw5hmksajw10bdrj79pm8brbyzipxia";
+    version = "3.1.0";
+    sha256 = "1fg1zggza45pa8zlcf8llqh6v47fqi44azsia68kmsg2q9r1r4mq";
   })
   (fetchNuGet {
-    name = "Microsoft.EntityFrameworkCore.Abstractions";
-    version = "3.1.0";
-    sha256 = "1bd6hilnwp47z3l14qspdxi5f5nhv6rivarc6w8wil425bq0h3pd";
+    name = "Microsoft.DotNet.PlatformAbstractions";
+    version = "3.1.4";
+    sha256 = "1s5h96zdc3vh1v03gizmqfw5hmksajw10bdrj79pm8brbyzipxia";
   })
   (fetchNuGet {
     name = "Microsoft.EntityFrameworkCore.Abstractions";
@@ -311,11 +321,6 @@
   })
   (fetchNuGet {
     name = "Microsoft.EntityFrameworkCore.Analyzers";
-    version = "3.1.0";
-    sha256 = "1pjn4wwhxgsiap7byld114kx6m0nm6696r8drspqic7lskm4y305";
-  })
-  (fetchNuGet {
-    name = "Microsoft.EntityFrameworkCore.Analyzers";
     version = "3.1.4";
     sha256 = "1zaqn9z7ns6p6jgnffzkgpziqr2wqs68g2sa0c11kaclhlhgvvbv";
   })
@@ -346,31 +351,16 @@
   })
   (fetchNuGet {
     name = "Microsoft.EntityFrameworkCore";
-    version = "3.1.0";
-    sha256 = "1l12lsk1xfrv5pjnm0b9w9kncgdh0pcjcbxl4zrsg82s7bs7dhda";
-  })
-  (fetchNuGet {
-    name = "Microsoft.EntityFrameworkCore";
     version = "3.1.4";
     sha256 = "11w63yp7fk9qwmnq3lmpf1h30mlbzfx4zpm89vrs0lprj86g0742";
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.Caching.Abstractions";
-    version = "3.1.0";
-    sha256 = "0j5m2a48rwyzzvbz0hpr2md35iv78b86zyqjnrjq0y4vb7sairc0";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Caching.Abstractions";
     version = "3.1.4";
     sha256 = "09f96pvpyzylpdaiw3lsvr7p6rs4i21mmhsxl6pkivg5lpfb79sk";
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.Caching.Memory";
-    version = "3.1.0";
-    sha256 = "1hi61647apn25kqjcb37nqafp8fikymdrk43j3kxjbwwwx507jy1";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Caching.Memory";
     version = "3.1.4";
     sha256 = "0b8ijxjd8lgq8mgnvh3wl4y4wbjj3v5b763y6gslm75fn43iyad8";
   })
@@ -391,11 +381,6 @@
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.Configuration.Abstractions";
-    version = "3.1.0";
-    sha256 = "1f7h52kamljglx5k08ccryilvk6d6cvr9c26lcb6b2c091znzk0q";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.Abstractions";
     version = "3.1.4";
     sha256 = "0r33m68y1vgpmqams4sgciizl0w6y97qkp93m0hyn0nlkxqf72l6";
   })
@@ -406,11 +391,6 @@
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.Configuration.Binder";
-    version = "3.1.0";
-    sha256 = "13jj7jxihiswmhmql7r5jydbca4x5qj6h7zq10z17gagys6dc7pw";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.Binder";
     version = "3.1.4";
     sha256 = "1bnf213zlrh0m3sbhsv601yx21l5xp254jiy2g4hm7zpm8vsz1hz";
   })
@@ -441,11 +421,6 @@
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.Configuration";
-    version = "3.1.0";
-    sha256 = "1rszgz0rd5kvib5fscz6ss3pkxyjwqy0xpd4f2ypgzf5z5g5d398";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration";
     version = "3.1.4";
     sha256 = "0npc18pjl86d06czb0fy6ln3prfpwfb16p6709xx2jrsl96dp9bp";
   })
@@ -461,11 +436,6 @@
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.DependencyInjection.Abstractions";
-    version = "3.1.0";
-    sha256 = "1pvms778xkyv1a3gfwrxnh8ja769cxi416n7pcidn9wvg15ifvbh";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyInjection.Abstractions";
     version = "3.1.4";
     sha256 = "03ys96pqca93zwxvh0vprzms09i9y0lmq32w98m6klbizq01fc06";
   })
@@ -476,11 +446,6 @@
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.DependencyInjection";
-    version = "3.1.0";
-    sha256 = "1xc61dy07bn2q73mx1z3ylrw80xpa682qjby13gklnqq636a3gab";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyInjection";
     version = "3.1.4";
     sha256 = "0rhyjgdpjm56drvrvqd9v1xq1qhyrpwwn2pjsz17g2s462rwliqx";
   })
@@ -491,6 +456,11 @@
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.DependencyModel";
+    version = "3.1.0";
+    sha256 = "12nrdw3q9wl5zry8gb3sw003a0iyk2gvps2ij813l7lim38wy1mi";
+  })
+  (fetchNuGet {
+    name = "Microsoft.Extensions.DependencyModel";
     version = "3.1.1";
     sha256 = "0qa04dspjl4qk7l8d66wqyrvhp5dxcfn2j4r8mmj362xyrp3r8sh";
   })
@@ -561,11 +531,6 @@
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.Logging.Abstractions";
-    version = "3.1.0";
-    sha256 = "1zyalrcksszmn9r5xjnirfh7847axncgzxkk3k5srbvlcch8fw8g";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Logging.Abstractions";
     version = "3.1.4";
     sha256 = "1rkl0yqmi5vfivn641866v2mdsgdy8amym546y6lzbab39g24b5n";
   })
@@ -581,11 +546,6 @@
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.Logging";
-    version = "3.1.0";
-    sha256 = "1d3yhqj1rav7vswm747j7w8fh8paybji4rz941hhlq4b12mfqfh4";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Logging";
     version = "3.1.4";
     sha256 = "04asfrhfrcl3ijilry2pr28ql5m6pgrwapadikgcg66jjxbx75zq";
   })
@@ -601,11 +561,6 @@
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.Options";
-    version = "3.1.0";
-    sha256 = "0akccwhpn93a4qrssyb3rszdsp3j4p9hlxbsb7yhqb78xydaqhyh";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Options";
     version = "3.1.4";
     sha256 = "0jphncx82l7jm5xi49dfxhbh24wv86sy44022chd7bkizllsypp4";
   })
@@ -631,11 +586,6 @@
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.Primitives";
-    version = "3.1.0";
-    sha256 = "1w1y22njywwysi8qjnj4m83qhbq0jr4mmjib0hfawz6cwamh7xrb";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Primitives";
     version = "3.1.4";
     sha256 = "12xvysk024aghrcwzv4525vznnk8lqmknl2vqqxhq4k5hjxpsysp";
   })
@@ -670,6 +620,11 @@
     sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141";
   })
   (fetchNuGet {
+    name = "Microsoft.NETCore.Platforms";
+    version = "3.1.0";
+    sha256 = "1gc1x8f95wk8yhgznkwsg80adk1lc65v9n5rx4yaa4bc5dva0z3j";
+  })
+  (fetchNuGet {
     name = "Microsoft.NETCore.Targets";
     version = "1.0.1";
     sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p";
@@ -700,6 +655,11 @@
     sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq";
   })
   (fetchNuGet {
+    name = "Microsoft.Win32.SystemEvents";
+    version = "4.7.0";
+    sha256 = "0pjll2a62hc576hd4wgyasva0lp733yllmk54n37svz5ac7nfz0q";
+  })
+  (fetchNuGet {
     name = "MySqlConnector";
     version = "0.61.0";
     sha256 = "0b0mc41dsih4p1ky3kcmibsz4bw14w439nraq5732wjfkq2sqdxg";
@@ -730,6 +690,11 @@
     sha256 = "0pin4ldfz5lfxyd47mj1ypyp8lmj0v5nq5zvygdjna956vphd39v";
   })
   (fetchNuGet {
+    name = "NBitcoin";
+    version = "5.0.68";
+    sha256 = "0k275mbp9wannm10pqj4nv8agjc1f6hsrfhl0m6ax1apv81sfxcd";
+  })
+  (fetchNuGet {
     name = "NBitpayClient";
     version = "1.0.0.39";
     sha256 = "1sgwradg7jnb4n3chwqfkximj1qhgl3r23p0sifmaa0kql2hlira";
@@ -850,6 +815,11 @@
     sha256 = "1lv1ljaz8df835jgmp3ny1xgqqjf1s9f25baw7bf8d24qlf25i2g";
   })
   (fetchNuGet {
+    name = "QRCoder";
+    version = "1.4.1";
+    sha256 = "1xgwhpqrm4ycnj8nk4ibxfwkmkiwc5i15l1za3ci5alghlpcb6ch";
+  })
+  (fetchNuGet {
     name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl";
     version = "4.3.0";
     sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d";
@@ -871,11 +841,6 @@
   })
   (fetchNuGet {
     name = "runtime.native.System.Net.Http";
-    version = "4.0.1";
-    sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.Net.Http";
     version = "4.3.0";
     sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk";
   })
@@ -950,9 +915,14 @@
     sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5";
   })
   (fetchNuGet {
+    name = "Selenium.Support";
+    version = "3.141.0";
+    sha256 = "1gqwzbfq7i9jz830b0jibsis0qfxs8sl10n1nja02c6s637cwzib";
+  })
+  (fetchNuGet {
     name = "Selenium.WebDriver.ChromeDriver";
-    version = "85.0.4183.8700";
-    sha256 = "0klyqmwa6yc0ibbmci51mzb2vl6n13qlk06chc9w78i0a43fs382";
+    version = "87.0.4280.8800";
+    sha256 = "1zrizydlhjv81r1fa5g8wzxrx1cxly3ip7pargj48hdx419iblfr";
   })
   (fetchNuGet {
     name = "Selenium.WebDriver";
@@ -1066,11 +1036,6 @@
   })
   (fetchNuGet {
     name = "System.Collections.Immutable";
-    version = "1.7.0";
-    sha256 = "1gik4sn9jsi1wcy1pyyp0r4sn2g17cwrsh24b2d52vif8p2h24zx";
-  })
-  (fetchNuGet {
-    name = "System.Collections.Immutable";
     version = "1.7.1";
     sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq";
   })
@@ -1136,21 +1101,11 @@
   })
   (fetchNuGet {
     name = "System.Diagnostics.DiagnosticSource";
-    version = "4.0.0";
-    sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.DiagnosticSource";
     version = "4.3.0";
     sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq";
   })
   (fetchNuGet {
     name = "System.Diagnostics.DiagnosticSource";
-    version = "4.7.0";
-    sha256 = "0cr0v5dz8l5ackxv6b772fjcyj2nimqmrmzanjs4cw2668v568n1";
-  })
-  (fetchNuGet {
-    name = "System.Diagnostics.DiagnosticSource";
     version = "4.7.1";
     sha256 = "1mivaifniyrqwlnvzsfaxzrh2sd981bwzs3cbvs5wi7jjzbcqr4p";
   })
@@ -1180,6 +1135,11 @@
     sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4";
   })
   (fetchNuGet {
+    name = "System.Drawing.Common";
+    version = "4.7.0";
+    sha256 = "0yfw7cpl54mgfcylvlpvrl0c8r1b0zca6p7r3rcwkvqy23xqcyhg";
+  })
+  (fetchNuGet {
     name = "System.Dynamic.Runtime";
     version = "4.0.11";
     sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9";
@@ -1191,21 +1151,11 @@
   })
   (fetchNuGet {
     name = "System.Globalization.Calendars";
-    version = "4.0.1";
-    sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh";
-  })
-  (fetchNuGet {
-    name = "System.Globalization.Calendars";
     version = "4.3.0";
     sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq";
   })
   (fetchNuGet {
     name = "System.Globalization.Extensions";
-    version = "4.0.1";
-    sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc";
-  })
-  (fetchNuGet {
-    name = "System.Globalization.Extensions";
     version = "4.3.0";
     sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls";
   })
@@ -1301,11 +1251,6 @@
   })
   (fetchNuGet {
     name = "System.Net.Http";
-    version = "4.1.0";
-    sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb";
-  })
-  (fetchNuGet {
-    name = "System.Net.Http";
     version = "4.3.0";
     sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j";
   })
@@ -1330,11 +1275,6 @@
     sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii";
   })
   (fetchNuGet {
-    name = "System.Net.Requests";
-    version = "4.0.11";
-    sha256 = "13mka55sa6dg6nw4zdrih44gnp8hnj5azynz47ljsh2791lz3d9h";
-  })
-  (fetchNuGet {
     name = "System.Net.Security";
     version = "4.3.0";
     sha256 = "1aa5igz31ivk6kpgsrwck3jccab7wd88wr52lddmgypmbh9mmf87";
@@ -1351,11 +1291,6 @@
   })
   (fetchNuGet {
     name = "System.Net.WebHeaderCollection";
-    version = "4.0.1";
-    sha256 = "10bxpxj80c4z00z3ksrfswspq9qqsw8jwxcbzvymzycb97m9b55q";
-  })
-  (fetchNuGet {
-    name = "System.Net.WebHeaderCollection";
     version = "4.3.0";
     sha256 = "0ms3ddjv1wn8sqa5qchm245f3vzzif6l6fx5k92klqpn7zf4z562";
   })
@@ -1596,21 +1531,11 @@
   })
   (fetchNuGet {
     name = "System.Security.Cryptography.Cng";
-    version = "4.2.0";
-    sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Cng";
     version = "4.3.0";
     sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv";
   })
   (fetchNuGet {
     name = "System.Security.Cryptography.Csp";
-    version = "4.0.0";
-    sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.Csp";
     version = "4.3.0";
     sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1";
   })
@@ -1626,11 +1551,6 @@
   })
   (fetchNuGet {
     name = "System.Security.Cryptography.OpenSsl";
-    version = "4.0.0";
-    sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.OpenSsl";
     version = "4.3.0";
     sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc";
   })
@@ -1651,11 +1571,6 @@
   })
   (fetchNuGet {
     name = "System.Security.Cryptography.X509Certificates";
-    version = "4.1.0";
-    sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh";
-  })
-  (fetchNuGet {
-    name = "System.Security.Cryptography.X509Certificates";
     version = "4.3.0";
     sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h";
   })
@@ -1691,6 +1606,11 @@
   })
   (fetchNuGet {
     name = "System.Text.Encoding.CodePages";
+    version = "4.5.0";
+    sha256 = "19x38911pawq4mrxrm04l2bnxwxxlzq8v8rj4cbxnfjj8pnd3vj3";
+  })
+  (fetchNuGet {
+    name = "System.Text.Encoding.CodePages";
     version = "4.5.1";
     sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w";
   })
diff --git a/pkgs/applications/blockchains/electrs.nix b/pkgs/applications/blockchains/electrs.nix
index 0b0da5913ab9c..b43a6edc5e51f 100644
--- a/pkgs/applications/blockchains/electrs.nix
+++ b/pkgs/applications/blockchains/electrs.nix
@@ -6,20 +6,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "electrs";
-  version = "0.8.6";
+  version = "0.8.7";
 
   src = fetchFromGitHub {
     owner = "romanz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0nnblxz4xr8k083wy3whx8qxqmdzbxsh5gd91161mrnvidganvgb";
+    sha256 = "101prhxg7dr701gwm4s15maxb7cf65hf85hc7ai53b404v39vm71";
   };
 
   # needed for librocksdb-sys
   nativeBuildInputs = [ llvmPackages.clang ];
   LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
 
-  cargoSha256 = "11xwjcfc3kqjyp94qzmyb26xwynf4f1q3ac3rp7l7qq1njly07gr";
+  cargoSha256 = "12ypx0rkpbjl4awzx8ga30qhiqqd56a24q4jwlxxnfpw9ks1z252";
 
   meta = with lib; {
     description = "An efficient re-implementation of Electrum Server in Rust";
diff --git a/pkgs/applications/blockchains/ergo/default.nix b/pkgs/applications/blockchains/ergo/default.nix
index 3c5bc5ea5ced4..7c03d06da590c 100644
--- a/pkgs/applications/blockchains/ergo/default.nix
+++ b/pkgs/applications/blockchains/ergo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ergo";
-  version = "3.3.6";
+  version = "4.0.7";
 
   src = fetchurl {
     url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
-    sha256 = "1zi559ixjxxsrpvvjbxa1d0g96px3h9amjvy149sfhp7b8w5hhk3";
+    sha256 = "sha256-CDNH7vYLG7Gn22yl+cXtGAD+c8tbNU52FmdxneTM2u4=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/blockchains/go-ethereum.nix b/pkgs/applications/blockchains/go-ethereum.nix
index 776253ac9cddc..dd3904b27cb86 100644
--- a/pkgs/applications/blockchains/go-ethereum.nix
+++ b/pkgs/applications/blockchains/go-ethereum.nix
@@ -1,6 +1,12 @@
 { lib, stdenv, buildGoModule, fetchFromGitHub, libobjc, IOKit }:
 
-buildGoModule rec {
+let
+  # A list of binaries to put into separate outputs
+  bins = [
+    "geth"
+  ];
+
+in buildGoModule rec {
   pname = "go-ethereum";
   version = "1.9.25";
 
@@ -16,6 +22,13 @@ buildGoModule rec {
 
   doCheck = false;
 
+  outputs = [ "out" ] ++ bins;
+
+  # Move binaries to separate outputs and symlink them back to $out
+  postInstall = lib.concatStringsSep "\n" (
+    builtins.map (bin: "mkdir -p \$${bin}/bin && mv $out/bin/${bin} \$${bin}/bin/ && ln -s \$${bin}/bin/${bin} $out/bin/") bins
+  );
+
   subPackages = [
     "cmd/abidump"
     "cmd/abigen"
@@ -40,7 +53,7 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://geth.ethereum.org/";
     description = "Official golang implementation of the Ethereum protocol";
-    license = with licenses; [ lgpl3 gpl3 ];
+    license = with licenses; [ lgpl3Plus gpl3Plus ];
     maintainers = with maintainers; [ adisbladis lionello xrelkd RaghavSood ];
   };
 }
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index f2087c63716c0..d130b3d045412 100644
--- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "ledger-live-desktop";
-  version = "2.20.0";
+  version = "2.21.3";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
-    sha256 = "10gi29mcvs4d5flqycwid190pnlciznzbvg36250mxaxxs58rq7j";
+    sha256 = "11r6gwzg5qym7h40d8mrpw8c6zbdi534c2y7ghy2k0a4k3ybk8x1";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/blockchains/nbxplorer/default.nix b/pkgs/applications/blockchains/nbxplorer/default.nix
index 45143a797e5b7..ffa061edc7273 100644
--- a/pkgs/applications/blockchains/nbxplorer/default.nix
+++ b/pkgs/applications/blockchains/nbxplorer/default.nix
@@ -15,13 +15,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "nbxplorer";
-  version = "2.1.46";
+  version = "2.1.49";
 
   src = fetchFromGitHub {
     owner = "dgarage";
     repo = "NBXplorer";
     rev = "v${version}";
-    sha256 = "1aph7yiwmch7s7x1qkzqv1shs3v6kg8i2s7266la0yp9ksf3w35p";
+    sha256 = "0xg5gbq6rbzgsbgwf94qcy2b0m5kdspi6hc5a64smaj9i7i0136l";
   };
 
   nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ];
diff --git a/pkgs/applications/blockchains/nbxplorer/deps.nix b/pkgs/applications/blockchains/nbxplorer/deps.nix
index 85d395089de14..b0bf85f623f73 100644
--- a/pkgs/applications/blockchains/nbxplorer/deps.nix
+++ b/pkgs/applications/blockchains/nbxplorer/deps.nix
@@ -181,23 +181,18 @@
   })
   (fetchNuGet {
     name = "NBitcoin.Altcoins";
-    version = "2.0.21";
-    sha256 = "0xmygiwjlia7fbxy63893jb15g6fxggxxr9bbm8znd9bs3jzp2g1";
+    version = "2.0.28";
+    sha256 = "1zfirfmhgigp733km9rqkgz560h5wg88bpba499x49h5j650cnn4";
   })
   (fetchNuGet {
     name = "NBitcoin.TestFramework";
-    version = "2.0.12";
-    sha256 = "1d6lmymc9x3p74c8hc2x3m61ncnkqqgrddw9cw2m0zkvilkncsns";
-  })
-  (fetchNuGet {
-    name = "NBitcoin";
-    version = "5.0.58";
-    sha256 = "0qim9xbbj380254iyi1jsh2gnr90ddwd2593jw9a8bjwnlk7qr2c";
+    version = "2.0.21";
+    sha256 = "1k26fkss6d7x2yqlid31z5i04b5dmlbbbwijg9c8i3d996i1z7sq";
   })
   (fetchNuGet {
     name = "NBitcoin";
-    version = "5.0.60";
-    sha256 = "0pin4ldfz5lfxyd47mj1ypyp8lmj0v5nq5zvygdjna956vphd39v";
+    version = "5.0.73";
+    sha256 = "0vqgcb0ws5fnkrdzqfkyh78041c6q4l22b93rr0006dd4bmqrmg1";
   })
   (fetchNuGet {
     name = "NETStandard.Library";
@@ -221,8 +216,8 @@
   })
   (fetchNuGet {
     name = "Newtonsoft.Json";
-    version = "11.0.1";
-    sha256 = "1z68j07if1xf71lbsrgbia52r812i2dv541sy44ph4dzjjp7pd4m";
+    version = "11.0.2";
+    sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2";
   })
   (fetchNuGet {
     name = "Newtonsoft.Json";
diff --git a/pkgs/applications/blockchains/openethereum/default.nix b/pkgs/applications/blockchains/openethereum/default.nix
index 8ad7c8fdd6c97..5dc35e996bec4 100644
--- a/pkgs/applications/blockchains/openethereum/default.nix
+++ b/pkgs/applications/blockchains/openethereum/default.nix
@@ -37,8 +37,14 @@ rustPlatform.buildRustPackage rec {
 
   cargoBuildFlags = [ "--features final" ];
 
-  # test result: FAILED. 88 passed; 13 failed; 0 ignored; 0 measured; 0 filtered out
-  doCheck = false;
+  # Fix tests by preventing them from writing to /homeless-shelter.
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  # Exclude some tests that don't work in the sandbox
+  # - Nat test requires network access
+  checkFlags = "--skip configuration::tests::should_resolve_external_nat_hosts";
 
   meta = with lib; {
     description = "Fast, light, robust Ethereum implementation";
diff --git a/pkgs/applications/blockchains/particl/particl-core.nix b/pkgs/applications/blockchains/particl/particl-core.nix
index 2c17b34466455..feced9eecb01a 100644
--- a/pkgs/applications/blockchains/particl/particl-core.nix
+++ b/pkgs/applications/blockchains/particl/particl-core.nix
@@ -17,11 +17,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "particl-core";
-  version = "0.19.1.1";
+  version = "0.19.2.3";
 
   src = fetchurl {
     url = "https://github.com/particl/particl-core/archive/v${version}.tar.gz";
-    sha256 = "11y5q2srkh6r2samppjb5mg6hl79y16j2lj1r23p0968vb9c45kl";
+    sha256 = "sha256-nAsQvYWUejSu/4MMIwZhlV5Gjza/Da4jcp6/01lppvg=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
diff --git a/pkgs/applications/blockchains/polkadot/default.nix b/pkgs/applications/blockchains/polkadot/default.nix
index 84bb42fabf8c4..9a5a1faac5acd 100644
--- a/pkgs/applications/blockchains/polkadot/default.nix
+++ b/pkgs/applications/blockchains/polkadot/default.nix
@@ -7,16 +7,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "polkadot";
-  version = "0.8.27";
+  version = "0.8.28-1";
 
   src = fetchFromGitHub {
     owner = "paritytech";
     repo = "polkadot";
     rev = "v${version}";
-    sha256 = "1zkqmsclhnv14s4mxz7h49kfx8wyi3lyi0dik6jn1fh6w8zr962c";
+    sha256 = "sha256-a+w/909PZuHsgIQEtO2IWQijsERfAKJUZ8K30+PhD3k=";
   };
 
-  cargoSha256 = "1j0pr09y5pc43a4rz1zq3h9vmd874zz6z0wd279lpm6p2m0077cs";
+  cargoSha256 = "sha256-Zz844XDx5qj2hQlf99uvHV6e5wmDAlYh3zBvcpdoiIo=";
 
   nativeBuildInputs = [ clang ];
 
diff --git a/pkgs/applications/blockchains/trezor-suite/default.nix b/pkgs/applications/blockchains/trezor-suite/default.nix
new file mode 100644
index 0000000000000..098a948c84558
--- /dev/null
+++ b/pkgs/applications/blockchains/trezor-suite/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, fetchurl
+, appimageTools
+, tor
+, trezord
+}:
+
+let
+  pname = "trezor-suite";
+  version = "21.2.2";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/trezor/${pname}/releases/download/v${version}/Trezor-Suite-${version}-linux-x86_64.AppImage";
+    sha256 = "0dj3azx9jvxchrpm02w6nkcis6wlnc6df04z7xc6f66fwn6r3kkw";
+  };
+
+  appimageContents = appimageTools.extractType2 {
+    inherit name src;
+  };
+
+in
+
+appimageTools.wrapType2 rec {
+  inherit name src;
+
+  extraInstallCommands = ''
+    mv $out/bin/${name} $out/bin/${pname}
+    mkdir -p $out/bin $out/share/${pname} $out/share/${pname}/resources
+
+    cp -a ${appimageContents}/locales/ $out/share/${pname}
+    cp -a ${appimageContents}/resources/app*.* $out/share/${pname}/resources
+    cp -a ${appimageContents}/resources/images/ $out/share/${pname}/resources
+
+    install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
+    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/trezor-suite.desktop --replace 'Exec=AppRun' 'Exec=${pname}'
+
+    # symlink system binaries instead bundled ones
+    mkdir -p $out/share/${pname}/resources/bin/{bridge,tor}
+    ln -sf ${trezord}/bin/trezord-go $out/share/${pname}/resources/bin/bridge/trezord
+    ln -sf ${tor}/bin/tor $out/share/${pname}/resources/bin/tor/tor
+  '';
+
+  meta = with lib; {
+    description = "Trezor Suite - Desktop App for managing crypto";
+    homepage = "https://suite.trezor.io";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ prusnak ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/blockchains/turbo-geth.nix b/pkgs/applications/blockchains/turbo-geth.nix
index dcfba4171494a..3c56e0bbb2bed 100644
--- a/pkgs/applications/blockchains/turbo-geth.nix
+++ b/pkgs/applications/blockchains/turbo-geth.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "turbo-geth";
-  version = "2021.01.01";
+  version = "2021.02.01";
 
   src = fetchFromGitHub {
     owner = "ledgerwatch";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0a570570cmyngbz645728jdd0d2xmnyrnln2gbxnngiv4v62dxls";
+    sha256 = "sha256-9z0Hogu/VgGxvgQMKIImv+qyTqTmR40JS4NNIOk5EZI=";
   };
 
-  vendorSha256 = "1x3mhfc16slaamp51rbscfwll25qj6ama1xkysidy7rscmmsj392";
+  vendorSha256 = "sha256-Ho68+SzYELQN4DE57LNSXeHIu43zAOb7HK/jx7PFdXk=";
   runVend = true;
 
   subPackages = [
diff --git a/pkgs/applications/blockchains/wasabiwallet/default.nix b/pkgs/applications/blockchains/wasabiwallet/default.nix
index d85e7dcfebfd9..e24531c373a02 100644
--- a/pkgs/applications/blockchains/wasabiwallet/default.nix
+++ b/pkgs/applications/blockchains/wasabiwallet/default.nix
@@ -24,11 +24,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "wasabiwallet";
-  version = "1.1.12.3";
+  version = "1.1.12.4";
 
   src = fetchurl {
     url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/Wasabi-${version}.tar.gz";
-    sha256 = "1x4gqmiwdp5bjq7c5hjch3srsvf73d92lswnp355l7l7cxh2hcsx";
+    sha256 = "sha256-1yg0C1lJrLxQEs2GA+XEBUx/JAyc+aW0UWjLhSEy0RI=";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/display-managers/lightdm-mini-greeter/default.nix b/pkgs/applications/display-managers/lightdm-mini-greeter/default.nix
index d1cd2e7d3e41c..0005fdb6339fb 100644
--- a/pkgs/applications/display-managers/lightdm-mini-greeter/default.nix
+++ b/pkgs/applications/display-managers/lightdm-mini-greeter/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lightdm-mini-greeter";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "prikhi";
     repo = "lightdm-mini-greeter";
     rev = version;
-    sha256 = "10hga7pmfyjdvj4xwm3djwrhk50brcpycj3p3c57pa0vnx4ill3s";
+    sha256 = "sha256-cVOnd3k+9hFQjROiwPpxZcCxD2NiH1eclJHF88eV6BM=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook ];
diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix
index 6a96f560ddcb1..be9ba0f75616d 100644
--- a/pkgs/applications/display-managers/lightdm/default.nix
+++ b/pkgs/applications/display-managers/lightdm/default.nix
@@ -101,6 +101,8 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  dontWrapQtApps = true;
+
   preConfigure = "NOCONFIGURE=1 ./autogen.sh";
 
   configureFlags = [
diff --git a/pkgs/applications/editors/android-studio/common.nix b/pkgs/applications/editors/android-studio/common.nix
index 0ce0a37d876fc..6be6defd19825 100644
--- a/pkgs/applications/editors/android-studio/common.nix
+++ b/pkgs/applications/editors/android-studio/common.nix
@@ -35,6 +35,7 @@
 , libXrender
 , libXtst
 , makeWrapper
+, ncurses5
 , nspr
 , nss
 , pciutils
@@ -71,7 +72,10 @@ let
     installPhase = ''
       cp -r . $out
       wrapProgram $out/bin/studio.sh \
+        --set-default JAVA_HOME "$out/jre" \
         --set ANDROID_EMULATOR_USE_SYSTEM_LIBS 1 \
+        --set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb" \
+        --set FONTCONFIG_FILE ${fontsConf} \
         --prefix PATH : "${lib.makeBinPath [
 
           # Checked in studio.sh
@@ -138,12 +142,19 @@ let
           gnome_vfs
           glib
           GConf
-        ]}" \
-        --set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb" \
-        --set FONTCONFIG_FILE ${fontsConf}
+        ]}"
+
+      # AS launches LLDBFrontend with a custom LD_LIBRARY_PATH
+      wrapProgram $out/bin/lldb/bin/LLDBFrontend --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [
+        ncurses5
+        zlib
+      ]}"
     '';
   };
 
+  # Causes the shebangs in interpreter scripts deployed to mobile devices to be patched, which Android does not understand
+  dontPatchShebangs = true;
+
   desktopItem = makeDesktopItem {
     name = drvName;
     exec = pname;
@@ -161,7 +172,7 @@ let
   fhsEnv = buildFHSUserEnv {
     name = "${drvName}-fhs-env";
     multiPkgs = pkgs: [
-      pkgs.ncurses5
+      ncurses5
 
       # Flutter can only search for certs Fedora-way.
       (runCommand "fedoracert" {}
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index cbc5198f2f3a6..fa4f7a40d96ae 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -14,13 +14,13 @@ let
     sha256Hash = "1f9bclvyvm3sg9an7wxlfwd8jwnb9cl726dvggmysa6r7shc7xw9";
   };
   betaVersion = {
-    version = "4.2.0.19"; # "Android Studio 4.2 Beta 3"
-    build = "202.7033425";
-    sha256Hash = "037r99hn16y0fy6z6k90qf6yx5a4vvx6bl9rdyagdm16ry4bpiw4";
+    version = "4.2.0.21"; # "Android Studio 4.2 Beta 5"
+    build = "202.7141121";
+    sha256Hash = "05610xf9zz3yxarx6fv83fynlvqw9jl7h2a40yj3xx5kb7mzdnf2";
   };
   latestVersion = { # canary & dev
-    version = "2020.3.1.4"; # "Android Studio Arctic Fox Canary 4"
-    sha256Hash = "05drh4grq0b37qg5nspf2c6vmvcc9x71al3xwc2ddjhmyj0f9sk4";
+    version = "2020.3.1.7"; # "Android Studio Arctic Fox (2020.3.1) Canary 7"
+    sha256Hash = "03gq4s8rmg7si0r2y1w26v9bjwhj6gzmrdny5z3j5pq8xsfjfqiw";
   };
 in {
   # Attributes are named by their corresponding release channels
diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix
index e7a9a26f066c9..875f8612fde66 100644
--- a/pkgs/applications/editors/atom/default.nix
+++ b/pkgs/applications/editors/atom/default.nix
@@ -3,18 +3,19 @@
 let
   versions = {
     atom = {
-      version = "1.48.0";
-      sha256 = "1693bxbylf6jhld9bdcr5pigk36wqlbj89praldpz9s96yxig9s1";
+      version = "1.54.0";
+      sha256 = "sha256-21AURgomEjuiTzeJ4MIx0mkyVi0b0mVdmFsFGNLXRP4";
     };
 
     atom-beta = {
-      version = "1.49.0";
+      version = "1.55.0";
       beta = 0;
-      sha256 = "1fr6m4a7shdj3wpn6g4n95cqpkkg2x9srwjf7bqxv9f3d5jb1y33";
+      sha256 = "sha256-PICkTt54cPkDJVnXBTtSHUQVbmosOpZfVAiD5A3/n+Q=";
+      broken = true;
     };
   };
 
-  common = pname: {version, sha256, beta ? null}:
+  common = pname: {version, sha256, beta ? null, broken ? false}:
       let fullVersion = version + lib.optionalString (beta != null) "-beta${toString beta}";
       name = "${pname}-${fullVersion}";
   in stdenv.mkDerivation {
@@ -88,6 +89,7 @@ let
       license = licenses.mit;
       maintainers = with maintainers; [ offline ysndr ];
       platforms = platforms.x86_64;
+      inherit broken;
     };
   };
 in lib.mapAttrs common versions
diff --git a/pkgs/applications/editors/bluej/default.nix b/pkgs/applications/editors/bluej/default.nix
index af333e00961ed..9b28de9440fce 100644
--- a/pkgs/applications/editors/bluej/default.nix
+++ b/pkgs/applications/editors/bluej/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bluej";
-  version = "4.2.2";
+  version = "5.0.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.bluej.org/download/files/BlueJ-linux-${builtins.replaceStrings ["."] [""] version}.deb";
-    sha256 = "5c2241f2208e98fcf9aad7c7a282bcf16e6fd543faa5fdb0b99b34d1023113c3";
+    sha256 = "sha256-U81FIf67Qm/86+hA9iUCHt61dxiZsTkkequlVjft6/0=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     description = "A simple integrated development environment for Java";
     homepage = "https://www.bluej.org/";
     license = licenses.gpl2ClasspathPlus;
-    maintainers = [ maintainers.charvp ];
+    maintainers = [ maintainers.chvp ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/editors/code-browser/default.nix b/pkgs/applications/editors/code-browser/default.nix
index a4ae4a811bfd1..ea4398cc4a5ce 100644
--- a/pkgs/applications/editors/code-browser/default.nix
+++ b/pkgs/applications/editors/code-browser/default.nix
@@ -39,6 +39,9 @@ stdenv.mkDerivation rec {
   ]
   ++ lib.optionals withQt [ "UI=qt" ]
   ++ lib.optionals withGtk [ "UI=gtk" ];
+
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "Folding text editor, designed to hierarchically structure any kind of text file and especially source code";
     homepage = "https://tibleiz.net/code-browser/";
diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix
index cff482e887d36..2c067250309b1 100644
--- a/pkgs/applications/editors/eclipse/default.nix
+++ b/pkgs/applications/editors/eclipse/default.nix
@@ -162,7 +162,7 @@ in rec {
       # Eclipse.
       name = (lib.meta.appendToName "with-plugins" eclipse).name;
     in
-      runCommand name { buildInputs = [ makeWrapper ]; } ''
+      runCommand name { nativeBuildInputs = [ makeWrapper ]; } ''
         mkdir -p $out/bin $out/etc
 
         # Prepare an eclipse.ini with the plugin directory.
diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix
index 000129f74dfff..2f97e36132272 100644
--- a/pkgs/applications/editors/eclipse/plugins.nix
+++ b/pkgs/applications/editors/eclipse/plugins.nix
@@ -413,6 +413,22 @@ rec {
     };
   };
 
+  freemarker = buildEclipseUpdateSite rec {
+    name = "freemarker-${version}";
+    version = "1.5.305";
+
+    src = fetchzip {
+      url = "https://github.com/ddekany/jbosstools-freemarker/releases/download/v${version}/freemarker.site-${version}.zip";
+      sha256 = "1qrhi300vk07gi14r445wvy0bvghbjd6c4k7q09pqpaxv6raiczn";
+      stripRoot = false;
+    };
+
+    meta = with lib; {
+      homepage = "https://github.com/ddekany/jbosstools-freemarker";
+      description = "Plugin that provides an editor for Apache FreeMarker files";
+    };
+  };
+
   gnuarmeclipse = buildEclipseUpdateSite rec {
     name = "gnuarmeclipse-${version}";
     version = "3.1.1-201606210758";
diff --git a/pkgs/applications/editors/emacs-modes/elpa-generated.nix b/pkgs/applications/editors/emacs-modes/elpa-generated.nix
index b841c0df95930..1cc47d5ca856c 100644
--- a/pkgs/applications/editors/emacs-modes/elpa-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/elpa-generated.nix
@@ -223,10 +223,10 @@
       elpaBuild {
         pname = "auctex";
         ename = "auctex";
-        version = "13.0.3";
+        version = "13.0.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/auctex-13.0.3.tar";
-          sha256 = "1ljpkr0z15fyh907jbgky238dvci5vqi3xhvslyhblhp8sg9cbsi";
+          url = "https://elpa.gnu.org/packages/auctex-13.0.4.tar";
+          sha256 = "1362dqb8mcaddda9849gqsj6rzlfq18xprddb74j02884xl7hq65";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -685,10 +685,10 @@
       elpaBuild {
         pname = "csv-mode";
         ename = "csv-mode";
-        version = "1.14";
+        version = "1.15";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/csv-mode-1.14.tar";
-          sha256 = "1jz4134pk8dwzsqih9wybx4l9yl244cgcilw8rdnnqmm8i6vxgrp";
+          url = "https://elpa.gnu.org/packages/csv-mode-1.15.tar";
+          sha256 = "0pigqhqg5mfza6jdskcr9yvrzdxnd68iyp3vyb8p8wskdacmbiyx";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -726,16 +726,16 @@
           license = lib.licenses.free;
         };
       }) {};
-    dash = callPackage ({ elpaBuild, fetchurl, lib }:
+    dash = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "dash";
         ename = "dash";
-        version = "2.12.0";
+        version = "2.18.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/dash-2.12.0.tar";
-          sha256 = "02r547vian59zr55z6ri4p2b7q5y5k256wi9j8a317vjzyh54m05";
+          url = "https://elpa.gnu.org/packages/dash-2.18.1.tar";
+          sha256 = "17mrvmrfh5c3kri4r3gf1c3gz4i5vl9ac60grpx4103b56y4cgra";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/dash.html";
           license = lib.licenses.free;
@@ -955,10 +955,10 @@
       elpaBuild {
         pname = "ebdb";
         ename = "ebdb";
-        version = "0.6.21";
+        version = "0.6.22";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ebdb-0.6.21.tar";
-          sha256 = "0pp190wr6z98kggmw9ls486f9vxfimdjdbqsp263qiyi21ws98if";
+          url = "https://elpa.gnu.org/packages/ebdb-0.6.22.tar";
+          sha256 = "0dljl21n6508c7ash7l6zgxhpn2wdfzga0va63d4k9nwnqmkvsgz";
         };
         packageRequires = [ cl-lib emacs seq ];
         meta = {
@@ -985,10 +985,10 @@
       elpaBuild {
         pname = "ebdb-i18n-chn";
         ename = "ebdb-i18n-chn";
-        version = "1.3.1";
+        version = "1.3.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ebdb-i18n-chn-1.3.1.el";
-          sha256 = "02drr89i4kzjm1rs22sj0nv9sj95dmqk40xvxd75qzfn8y33k9vl";
+          url = "https://elpa.gnu.org/packages/ebdb-i18n-chn-1.3.2.tar";
+          sha256 = "06ii9xi2y157vfbhx75mn80ash22d1xgcyp9kzz1s0lkxwlv74zj";
         };
         packageRequires = [ ebdb pyim ];
         meta = {
@@ -1205,10 +1205,10 @@
       elpaBuild {
         pname = "excorporate";
         ename = "excorporate";
-        version = "0.9.1";
+        version = "0.9.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/excorporate-0.9.1.tar";
-          sha256 = "15rk0br7dmvni10f3mm94ylybl3jbf2ps1sypis6hxbazxxr443j";
+          url = "https://elpa.gnu.org/packages/excorporate-0.9.3.tar";
+          sha256 = "1ybj0ww7x7l7ymykk6hs720whabavmwnrwq7x8dkn41wma181zzy";
         };
         packageRequires = [ emacs fsm nadvice soap-client url-http-ntlm ];
         meta = {
@@ -1588,6 +1588,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    hiddenquote = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "hiddenquote";
+        ename = "hiddenquote";
+        version = "1.1";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/hiddenquote-1.1.tar";
+          sha256 = "1j692ka84z6k9c3bhcn28irym5fga4d1wvhmvzvixdbfwn58ivw5";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/hiddenquote.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     highlight-escape-sequences = callPackage ({ elpaBuild
                                               , fetchurl
                                               , lib }:
@@ -2358,10 +2373,10 @@
       elpaBuild {
         pname = "oauth2";
         ename = "oauth2";
-        version = "0.15";
+        version = "0.16";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/oauth2-0.15.el";
-          sha256 = "0ij17g6i8d4cyzc8v6sy2qglwhzd767331gavll6d507krdh3ca3";
+          url = "https://elpa.gnu.org/packages/oauth2-0.16.tar";
+          sha256 = "1rzly2nwjywrfgcmp8zidbmjl2ahyd8l8507lb1mxm4xqryvf316";
         };
         packageRequires = [ cl-lib nadvice ];
         meta = {
@@ -2598,10 +2613,10 @@
       elpaBuild {
         pname = "phps-mode";
         ename = "phps-mode";
-        version = "0.3.65";
+        version = "0.4.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/phps-mode-0.3.65.tar";
-          sha256 = "18pqxwfmciz9d2w808mvspkcifrja85y2qjwmb6pbdnkj9dr6yad";
+          url = "https://elpa.gnu.org/packages/phps-mode-0.4.1.tar";
+          sha256 = "11d1gsvvj26h9d7a28v87b022vbi3syzngn1x9v1d2g55iv01x38";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2643,10 +2658,10 @@
       elpaBuild {
         pname = "posframe";
         ename = "posframe";
-        version = "0.8.4";
+        version = "0.8.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/posframe-0.8.4.tar";
-          sha256 = "1sn35ibp5y4y80l1xm4b8i94ld953a9gbkk99zqd9mrq9bwjyhdp";
+          url = "https://elpa.gnu.org/packages/posframe-0.8.5.tar";
+          sha256 = "0rls0rsj9clx4wd0gbdi5jzwyslparlf7phib649637gq6gs90ds";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2699,6 +2714,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    pyim = callPackage ({ async, elpaBuild, emacs, fetchurl, lib, xr }:
+      elpaBuild {
+        pname = "pyim";
+        ename = "pyim";
+        version = "3.2";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/pyim-3.2.tar";
+          sha256 = "1rr9mq334dqf7mx1ii7910zkigw7chl63iws4sw0qsn014kjlb0a";
+        };
+        packageRequires = [ async emacs xr ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/pyim.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     python = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "python";
@@ -2778,10 +2808,10 @@
       elpaBuild {
         pname = "rcirc-color";
         ename = "rcirc-color";
-        version = "0.4.1";
+        version = "0.4.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/rcirc-color-0.4.1.el";
-          sha256 = "1zs3i3xr8zbjr8hzr1r1qx7mqb2wckpn25qh9444c9as2dnh9sn9";
+          url = "https://elpa.gnu.org/packages/rcirc-color-0.4.2.tar";
+          sha256 = "0pa9p018kwsy44cmkli7x6cz1abxkyi26ac7w3vh99qp7x97dia3";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2994,6 +3024,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    repology = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "repology";
+        ename = "repology";
+        version = "1.1.0";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/repology-1.1.0.tar";
+          sha256 = "031245rrhazj53bk1csa6x3ygzvg74w2hwjf08ficwvmdn97li90";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/repology.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     rich-minority = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "rich-minority";
@@ -3028,10 +3073,10 @@
       elpaBuild {
         pname = "rt-liberation";
         ename = "rt-liberation";
-        version = "2.1";
+        version = "2.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/rt-liberation-2.1.tar";
-          sha256 = "1ahl1ys72rvqs2bf9zv9648h65fx0283ibqlk1b8ayahc04w6qbl";
+          url = "https://elpa.gnu.org/packages/rt-liberation-2.2.tar";
+          sha256 = "01nkkrgygq5p5s0pfxpcn794jr6ln65ad809v9mvzz7972xw625s";
         };
         packageRequires = [];
         meta = {
@@ -3533,10 +3578,10 @@
       elpaBuild {
         pname = "tramp";
         ename = "tramp";
-        version = "2.5.0";
+        version = "2.5.0.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/tramp-2.5.0.tar";
-          sha256 = "1jpnqyk108nksaym2b9v243y5zkpr4px9d070wsb9cwm3xrcd8rh";
+          url = "https://elpa.gnu.org/packages/tramp-2.5.0.2.tar";
+          sha256 = "16f782rjkmxxs5sz3wv4d46i7hbl483ashmrkvljf7lpnrl91s93";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3574,6 +3619,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    transient = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "transient";
+        ename = "transient";
+        version = "0.3.0";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/transient-0.3.0.tar";
+          sha256 = "1a457apfl762nn5xf1h3hbvrgs9hybkxh0jwb2y713zkhhck66cp";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/transient.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     trie = callPackage ({ elpaBuild, fetchurl, heap, lib, tNFA }:
       elpaBuild {
         pname = "trie";
@@ -3677,10 +3737,10 @@
       elpaBuild {
         pname = "valign";
         ename = "valign";
-        version = "3.0.0";
+        version = "3.1.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/valign-3.0.0.el";
-          sha256 = "16f889x6yc1af2bmbly2lww4sy1s864ll75xdxp28i5m57gj25w8";
+          url = "https://elpa.gnu.org/packages/valign-3.1.0.tar";
+          sha256 = "0zx6p2nlvd4nkffj0myqv4hry8kgnhq45fcivfjzbfn62j2kp293";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4032,10 +4092,10 @@
       elpaBuild {
         pname = "xr";
         ename = "xr";
-        version = "1.20";
+        version = "1.21";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/xr-1.20.tar";
-          sha256 = "0i3vfsp110z60gabn9x9rv21fvm7nnr234mvmpp7gx4l4hpadvzy";
+          url = "https://elpa.gnu.org/packages/xr-1.21.tar";
+          sha256 = "0mc10d33lsqs0ihcja8w78jzh2pk0dfm9m86kap6r3hi6wkr1cmi";
         };
         packageRequires = [ emacs ];
         meta = {
diff --git a/pkgs/applications/editors/emacs-modes/elpa-packages.nix b/pkgs/applications/editors/emacs-modes/elpa-packages.nix
index 8b9ad33fce78a..98c265894eae8 100644
--- a/pkgs/applications/editors/emacs-modes/elpa-packages.nix
+++ b/pkgs/applications/editors/emacs-modes/elpa-packages.nix
@@ -20,7 +20,7 @@ instantenous and formats commits for you.
 
 */
 
-{ lib, stdenv, texinfo }:
+{ lib, stdenv, texinfo, writeText }:
 
 self: let
 
@@ -31,7 +31,7 @@ self: let
   };
 
   elpaBuild = import ../../../build-support/emacs/elpa.nix {
-    inherit lib stdenv texinfo;
+    inherit lib stdenv texinfo writeText;
     inherit (self) emacs;
   };
 
diff --git a/pkgs/applications/editors/emacs-modes/jam-mode/default.nix b/pkgs/applications/editors/emacs-modes/jam-mode/default.nix
new file mode 100644
index 0000000000000..0fd698ad2c162
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/jam-mode/default.nix
@@ -0,0 +1,22 @@
+{ trivialBuild, lib, fetchurl }:
+
+trivialBuild rec {
+  pname = "jam-mode";
+  version = "0.3";
+
+  src = fetchurl {
+    url = "https://dev.gentoo.org/~ulm/distfiles/jam-mode-${version}.el.xz";
+    sha256 = "1jchgiy2rgvnb3swr6ar72yas6pj4inpgpcq78q01q6snflmi2fh";
+  };
+
+  unpackPhase = ''
+    xz -cd $src > jam-mode.el
+  '';
+
+  meta = with lib; {
+    description = "An Emacs major mode for editing Jam files";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ qyliss ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/manual-packages.nix b/pkgs/applications/editors/emacs-modes/manual-packages.nix
index 1ff64fe281347..ef67cdbf61aa8 100644
--- a/pkgs/applications/editors/emacs-modes/manual-packages.nix
+++ b/pkgs/applications/editors/emacs-modes/manual-packages.nix
@@ -1,4 +1,4 @@
-{ lib, external, pkgs }: self: with self; with lib.licenses; {
+{ lib, pkgs }: self: with self; with lib.licenses; {
 
   elisp-ffi = melpaBuild rec {
     pname = "elisp-ffi";
@@ -9,7 +9,7 @@
       rev = version;
       sha256 = "0z2n3h5l5fj8wl8i1ilfzv11l3zba14sgph6gz7dx7q12cnp9j22";
     };
-    buildInputs = [ external.libffi ];
+    buildInputs = [ pkgs.libffi ];
     preBuild = "make";
     recipe = pkgs.writeText "recipe" ''
       (elisp-ffi
@@ -29,15 +29,15 @@
     };
   };
 
-  agda2-mode = with external; trivialBuild {
+  agda2-mode = trivialBuild {
     pname = "agda-mode";
-    version = Agda.version;
+    version = pkgs.haskellPackages.Agda.version;
 
     phases = [ "buildPhase" "installPhase" ];
 
     # already byte-compiled by Agda builder
     buildPhase = ''
-      agda=`${Agda}/bin/agda-mode locate`
+      agda=`${pkgs.haskellPackages.Agda}/bin/agda-mode locate`
       cp `dirname $agda`/*.el* .
     '';
 
@@ -47,21 +47,21 @@
         Wrapper packages that liberates init.el from `agda-mode locate` magic.
         Simply add this to user profile or systemPackages and do `(require 'agda2)` in init.el.
       '';
-      homepage = Agda.meta.homepage;
-      license = Agda.meta.license;
+      homepage = pkgs.haskellPackages.Agda.meta.homepage;
+      license = pkgs.haskellPackages.Agda.meta.license;
     };
   };
 
   agda-input = self.trivialBuild {
     pname = "agda-input";
 
-    inherit (external.Agda) src version;
+    inherit (pkgs.haskellPackages.Agda) src version;
 
     postUnpack = "mv $sourceRoot/src/data/emacs-mode/agda-input.el $sourceRoot";
 
     meta = {
       description = "Standalone package providing the agda-input method without building Agda.";
-      inherit (external.Agda.meta) homepage license;
+      inherit (pkgs.haskellPackages.Agda.meta) homepage license;
     };
   };
 
@@ -74,10 +74,10 @@
 
   ghc-mod = melpaBuild {
     pname = "ghc";
-    version = external.ghc-mod.version;
-    src = external.ghc-mod.src;
+    version = pkgs.haskellPackages.ghc-mod.version;
+    src = pkgs.haskellPackages.ghc-mod.src;
     packageRequires = [ haskell-mode ];
-    propagatedUserEnvPkgs = [ external.ghc-mod ];
+    propagatedUserEnvPkgs = [ pkgs.haskellPackages.ghc-mod ];
     recipe = pkgs.writeText "recipe" ''
       (ghc-mod :repo "DanielG/ghc-mod" :fetcher github :files ("elisp/*.el"))
     '';
@@ -111,19 +111,85 @@
 
   helm-words = callPackage ./helm-words { };
 
+  jam-mode = callPackage ./jam-mode { };
+
+  llvm-mode = trivialBuild {
+    pname = "llvm-mode";
+    inherit (pkgs.llvmPackages.llvm) src version;
+
+    dontConfigure = true;
+    buildPhase = ''
+      cp utils/emacs/*.el .
+    '';
+
+    meta = {
+      inherit (pkgs.llvmPackages.llvm.meta) homepage license;
+      description = "Major mode for the LLVM assembler language.";
+    };
+  };
+
+  matrix-client = melpaBuild {
+    pname = "matrix-client";
+    version = "0.3.0";
+
+    src = pkgs.fetchFromGitHub {
+      owner = "alphapapa";
+      repo = "matrix-client.el";
+      rev = "d2ac55293c96d4c95971ed8e2a3f6f354565c5ed";
+      sha256 = "1scfv1502yg7x4bsl253cpr6plml1j4d437vci2ggs764sh3rcqq";
+    };
+
+    patches = [
+      (pkgs.fetchpatch {
+        url = "https://github.com/alphapapa/matrix-client.el/commit/5f49e615c7cf2872f48882d3ee5c4a2bff117d07.patch";
+        sha256 = "07bvid7s1nv1377p5n61q46yww3m1w6bw4vnd4iyayw3fby1lxbm";
+      })
+    ];
+
+    packageRequires = [
+      anaphora
+      cl-lib
+      self.map
+      dash-functional
+      esxml
+      f
+      ov
+      tracking
+      rainbow-identifiers
+      dash
+      s
+      request
+      frame-purpose
+      a
+      ht
+    ];
+
+    recipe = pkgs.writeText "recipe" ''
+      (matrix-client
+      :repo "alphapapa/matrix-client.el"
+      :fetcher github)
+    '';
+
+    meta = {
+      description = "A chat client and API wrapper for Matrix.org";
+      license = gpl3Plus;
+    };
+
+  };
+
   org-mac-link =
     callPackage ./org-mac-link { };
 
   ott-mode = self.trivialBuild {
     pname = "ott-mod";
 
-    inherit (external.ott) src version;
+    inherit (pkgs.ott) src version;
 
     postUnpack = "mv $sourceRoot/emacs/ott-mode.el $sourceRoot";
 
     meta = {
       description = "Standalone package providing ott-mode without building ott and with compiled bytecode.";
-      inherit (external.Agda.meta) homepage license;
+      inherit (pkgs.haskellPackages.Agda.meta) homepage license;
     };
   };
 
diff --git a/pkgs/applications/editors/emacs-modes/melpa-packages.nix b/pkgs/applications/editors/emacs-modes/melpa-packages.nix
index 9334a16d22d69..6a099639d5915 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-packages.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-packages.nix
@@ -22,7 +22,7 @@ instantenous and formats commits for you.
 
 */
 
-{ lib, external, pkgs }: variant: self:
+{ lib, pkgs }: variant: self:
 let
   dontConfigure = pkg:
     if pkg != null then pkg.override (args: {
@@ -47,8 +47,13 @@ let
       });
     }) else null;
 
+  buildWithGit = pkg: pkg.overrideAttrs (attrs: {
+    nativeBuildInputs =
+      (attrs.nativeBuildInputs or [ ]) ++ [ pkgs.git ];
+  });
+
   fix-rtags = pkg:
-    if pkg != null then dontConfigure (externalSrc pkg external.rtags)
+    if pkg != null then dontConfigure (externalSrc pkg pkgs.rtags)
     else null;
 
   generateMelpa = lib.makeOverridable ({ archiveJson ? ./recipes-archive-melpa.json
@@ -74,9 +79,9 @@ let
         };
 
         auto-complete-clang-async = super.auto-complete-clang-async.overrideAttrs (old: {
-          buildInputs = old.buildInputs ++ [ external.llvmPackages.llvm ];
-          CFLAGS = "-I${external.llvmPackages.clang}/include";
-          LDFLAGS = "-L${external.llvmPackages.clang}/lib";
+          buildInputs = old.buildInputs ++ [ pkgs.llvmPackages.llvm ];
+          CFLAGS = "-I${pkgs.llvmPackages.clang}/include";
+          LDFLAGS = "-L${pkgs.llvmPackages.clang}/lib";
         });
 
         # part of a larger package
@@ -120,33 +125,31 @@ let
           packageRequires = with self; [ evil ];
         });
 
-        evil-magit = super.evil-magit.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
-
-        eopengrok = super.eopengrok.overrideAttrs (attrs: {
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
-
         ess-R-data-view = super.ess-R-data-view.override {
           inherit (self.melpaPackages) ess ctable popup;
         };
 
-        forge = super.forge.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
-
         flycheck-rtags = fix-rtags super.flycheck-rtags;
 
         pdf-tools = super.pdf-tools.overrideAttrs (old: {
-          nativeBuildInputs = [ external.pkg-config ];
-          buildInputs = with external; old.buildInputs ++ [ autoconf automake libpng zlib poppler ];
-          preBuild = "make server/epdfinfo";
+          nativeBuildInputs = [
+            pkgs.autoconf
+            pkgs.automake
+            pkgs.pkg-config
+            pkgs.removeReferencesTo
+          ];
+          buildInputs = old.buildInputs ++ [ pkgs.libpng pkgs.zlib pkgs.poppler ];
+          preBuild = ''
+            make server/epdfinfo
+            remove-references-to \
+              -t ${pkgs.stdenv.cc.libc.dev} \
+              -t ${pkgs.glib.dev} \
+              -t ${pkgs.libpng.dev} \
+              -t ${pkgs.poppler.dev} \
+              -t ${pkgs.zlib.dev} \
+              -t ${pkgs.cairo.dev} \
+              server/epdfinfo
+          '';
           recipe = pkgs.writeText "recipe" ''
             (pdf-tools
             :repo "politza/pdf-tools" :fetcher github
@@ -155,7 +158,7 @@ let
         });
 
         # Build same version as Haskell package
-        hindent = (externalSrc super.hindent external.hindent).overrideAttrs (attrs: {
+        hindent = (externalSrc super.hindent pkgs.haskellPackages.hindent).overrideAttrs (attrs: {
           packageRequires = [ self.haskell-mode ];
         });
 
@@ -181,7 +184,7 @@ let
           dontUseCmakeBuildDir = true;
           doCheck = true;
           packageRequires = [ self.emacs ];
-          nativeBuildInputs = [ external.cmake external.llvmPackages.llvm external.llvmPackages.clang ];
+          nativeBuildInputs = [ pkgs.cmake pkgs.llvmPackages.llvm pkgs.llvmPackages.clang ];
         });
 
         # tries to write a log file to $HOME
@@ -211,113 +214,81 @@ let
           '';
         });
 
-        magit = super.magit.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
+        evil-magit = buildWithGit super.evil-magit;
 
-        magit-find-file = super.magit-find-file.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
+        eopengrok = buildWithGit super.eopengrok;
 
-        magit-gh-pulls = super.magit-gh-pulls.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
+        forge = buildWithGit super.forge;
 
-        magit-imerge = super.magit-imerge.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
+        magit = buildWithGit super.magit;
 
-        magit-lfs = super.magit-lfs.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
+        magit-find-file = buildWithGit super.magit-find-file;
 
-        magit-org-todos = super.magit-org-todos.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
+        magit-gh-pulls = buildWithGit super.magit-gh-pulls;
 
-        magit-tbdiff = super.magit-tbdiff.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
+        magit-imerge = buildWithGit super.magit-imerge;
 
-        magit-topgit = super.magit-topgit.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
+        magit-lfs = buildWithGit super.magit-lfs;
 
-        magit-vcsh = super.magit-vcsh.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
+        magit-org-todos = buildWithGit super.magit-org-todos;
 
-        magit-gerrit = super.magit-gerrit.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
+        magit-tbdiff = buildWithGit super.magit-tbdiff;
 
-        magit-annex = super.magit-annex.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
+        magit-topgit = buildWithGit super.magit-topgit;
 
-        magit-todos = super.magit-todos.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
+        magit-vcsh = buildWithGit super.magit-vcsh;
 
-        magit-filenotify = super.magit-filenotify.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
+        magit-gerrit = buildWithGit super.magit-gerrit;
 
-        magit-gitflow = super.magit-gitflow.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
+        magit-annex = buildWithGit super.magit-annex;
 
-        magithub = super.magithub.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
+        magit-todos = buildWithGit super.magit-todos;
 
-        magit-svn = super.magit-svn.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
+        magit-filenotify = buildWithGit super.magit-filenotify;
 
-        kubernetes = super.kubernetes.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
+        magit-gitflow = buildWithGit super.magit-gitflow;
 
-        kubernetes-evil = super.kubernetes-evil.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
+        magithub = buildWithGit super.magithub;
+
+        magit-svn = buildWithGit super.magit-svn;
+
+        kubernetes = buildWithGit super.kubernetes;
+
+        kubernetes-evil = buildWithGit super.kubernetes-evil;
+
+        egg = buildWithGit super.egg;
+
+        kapacitor = buildWithGit super.kapacitor;
+
+        gerrit = buildWithGit super.gerrit;
+
+        gerrit-download = buildWithGit super.gerrit-download;
+
+        github-pullrequest = buildWithGit super.github-pullrequest;
+
+        jist = buildWithGit super.jist;
+
+        mandoku = buildWithGit super.mandoku;
+
+        mandoku-tls = buildWithGit super.mandoku-tls;
+
+        magit-p4 = buildWithGit super.magit-p4;
+
+        magit-rbr = buildWithGit super.magit-rbr;
+
+        magit-diff-flycheck = buildWithGit super.magit-diff-flycheck;
+
+        magit-reviewboard = buildWithGit super.magit-reviewboard;
+
+        magit-patch-changelog = buildWithGit super.magit-patch-changelog;
+
+        magit-circleci = buildWithGit super.magit-circleci;
+
+        magit-delta = buildWithGit super.magit-delta;
+
+        orgit = buildWithGit super.orgit;
+
+        orgit-forge = buildWithGit super.orgit-forge;
 
         # upstream issue: missing file header
         mhc = super.mhc.override {
@@ -330,18 +301,36 @@ let
         # part of a larger package
         notmuch = dontConfigure super.notmuch;
 
-        rtags = dontConfigure (externalSrc super.rtags external.rtags);
+        rtags = dontConfigure (externalSrc super.rtags pkgs.rtags);
 
         rtags-xref = dontConfigure super.rtags;
 
         shm = super.shm.overrideAttrs (attrs: {
-          propagatedUserEnvPkgs = [ external.structured-haskell-mode ];
+          propagatedUserEnvPkgs = [ pkgs.haskellPackages.structured-haskell-mode ];
         });
 
         # Telega has a server portion for it's network protocol
         telega = super.telega.overrideAttrs (old: {
           buildInputs = old.buildInputs ++ [ pkgs.tdlib ];
-          nativeBuildInputs = [ external.pkg-config ];
+          nativeBuildInputs = [ pkgs.pkg-config ];
+
+          patches = [
+            (pkgs.fetchpatch {
+              name = "telega-server-bin-store-prefer.patch";
+              url = "https://github.com/zevlg/telega.el/commit/72550f984ca869309d197203ef7de99182d71729.patch";
+              sha256 = "18xvz53bygksak6h5f8cz79y83p2va15i8qz7n4s3g9gsklmkj2p";
+            })
+          ];
+
+          postPatch = ''
+            substituteInPlace telega-customize.el \
+              --replace 'defcustom telega-server-command "telega-server"' \
+                        "defcustom telega-server-command \"$out/bin/telega-server\""
+
+            substituteInPlace telega-sticker.el --replace '"dwebp"' '"${pkgs.libwebp}/bin/dwebp"'
+
+            substituteInPlace telega-vvnote.el --replace '"ffmpeg' '"${pkgs.ffmpeg}/bin/ffmpeg'
+          '';
 
           postBuild = ''
             cd source/server
@@ -358,12 +347,12 @@ let
         treemacs-magit = super.treemacs-magit.overrideAttrs (attrs: {
           # searches for Git at build time
           nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
+            (attrs.nativeBuildInputs or [ ]) ++ [ pkgs.git ];
         });
 
         vdiff-magit = super.vdiff-magit.overrideAttrs (attrs: {
           nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
+            (attrs.nativeBuildInputs or [ ]) ++ [ pkgs.git ];
         });
 
         zmq = super.zmq.overrideAttrs (old: {
@@ -372,11 +361,11 @@ let
             make
           '';
           nativeBuildInputs = [
-            external.autoconf
-            external.automake
-            external.pkg-config
-            external.libtool
-            (external.zeromq.override { enableDrafts = true; })
+            pkgs.autoconf
+            pkgs.automake
+            pkgs.pkg-config
+            pkgs.libtool
+            (pkgs.zeromq.override { enableDrafts = true; })
           ];
           postInstall = ''
             mv $out/share/emacs/site-lisp/elpa/zmq-*/src/.libs/emacs-zmq.so $out/share/emacs/site-lisp/elpa/zmq-*
@@ -459,13 +448,7 @@ let
         window-numbering = markBroken super.window-numbering;
 
         editorconfig = super.editorconfig.overrideAttrs (attrs: {
-          propagatedUserEnvPkgs = [ external.editorconfig-core-c ];
-        });
-
-        egg = super.egg.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
+          propagatedUserEnvPkgs = [ pkgs.editorconfig-core-c ];
         });
 
         # missing dependencies
@@ -473,95 +456,8 @@ let
           packageRequires = with self; [ evil highlight ];
         });
 
-        kapacitor = super.kapacitor.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
-
-        gerrit = super.gerrit.overrideAttrs (attrs: {
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
-
-        gerrit-download = super.gerrit-download.overrideAttrs (attrs: {
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
-
-        github-pullrequest = super.github-pullrequest.overrideAttrs (attrs: {
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
-
         helm-rtags = fix-rtags super.helm-rtags;
 
-        jist = super.jist.overrideAttrs (attrs: {
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
-
-        mandoku = super.mandoku.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
-
-        mandoku-tls = super.mandoku-tls.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
-
-        magit-p4 = super.magit-p4.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
-
-        magit-rbr = super.magit-rbr.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
-
-        magit-diff-flycheck = super.magit-diff-flycheck.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
-
-        magit-reviewboard = super.magit-reviewboard.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
-
-        magit-patch-changelog = super.magit-patch-changelog.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
-
-        magit-circleci = super.magit-circleci.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
-
-        orgit =
-          (super.orgit.overrideAttrs (attrs: {
-            # searches for Git at build time
-            nativeBuildInputs =
-              (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-          }));
-
-        orgit-forge = super.orgit-forge.overrideAttrs (attrs: {
-          # searches for Git at build time
-          nativeBuildInputs =
-            (attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
-        });
-
         # tries to write to $HOME
         php-auto-yasnippets = super.php-auto-yasnippets.overrideAttrs (attrs: {
           HOME = "/tmp";
@@ -570,7 +466,7 @@ let
         racer = super.racer.overrideAttrs (attrs: {
           postPatch = attrs.postPatch or "" + ''
             substituteInPlace racer.el \
-              --replace /usr/local/src/rust/src ${external.rustPlatform.rustcSrc}
+              --replace /usr/local/src/rust/src ${pkgs.rustPlatform.rustcSrc}
           '';
         });
 
@@ -599,7 +495,7 @@ let
         w3m = super.w3m.override (args: {
           melpaBuild = drv: args.melpaBuild (drv // {
             prePatch =
-              let w3m = "${lib.getBin external.w3m}/bin/w3m"; in
+              let w3m = "${lib.getBin pkgs.w3m}/bin/w3m"; in
               ''
                 substituteInPlace w3m.el \
                 --replace 'defcustom w3m-command nil' \
@@ -610,7 +506,7 @@ let
       };
 
       # Deprecated legacy aliases for backwards compat
-      aliases = lib.listToAttrs (lib.attrValues (lib.mapAttrs (n: v: { name = v; value = builtins.trace "Melpa attribute '${v}' is a legacy alias that will be removed in 21.03, use '${n}' instead" melpaPackages.${n}; }) (lib.filterAttrs (n: v: lib.hasAttr n melpaPackages) {
+      aliases = lib.listToAttrs (lib.attrValues (lib.mapAttrs (n: v: { name = v; value = builtins.trace "Melpa attribute '${v}' is a legacy alias that will be removed in 21.05, use '${n}' instead" melpaPackages.${n}; }) (lib.filterAttrs (n: v: lib.hasAttr n melpaPackages) {
         "auto-complete-clang-async" = "emacsClangCompleteAsync";
         "vterm" = "emacs-libvterm";
         "0xc" = "_0xc";
diff --git a/pkgs/applications/editors/emacs-modes/org-generated.nix b/pkgs/applications/editors/emacs-modes/org-generated.nix
index 7adb58c8bd73a..0308f8d976bf3 100644
--- a/pkgs/applications/editors/emacs-modes/org-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/org-generated.nix
@@ -4,10 +4,10 @@
       elpaBuild {
         pname = "org";
         ename = "org";
-        version = "20210111";
+        version = "20210301";
         src = fetchurl {
-          url = "https://orgmode.org/elpa/org-20210111.tar";
-          sha256 = "1hn3i583h3idmiv1plbp0p6qi3myl317vl43qyxjks2nvqfj5313";
+          url = "https://orgmode.org/elpa/org-20210301.tar";
+          sha256 = "0930km35lvbw89ifrqmcv96fjmp4fi12yv3spn51q27sfsmzqsrj";
         };
         packageRequires = [];
         meta = {
@@ -19,10 +19,10 @@
       elpaBuild {
         pname = "org-plus-contrib";
         ename = "org-plus-contrib";
-        version = "20210111";
+        version = "20210301";
         src = fetchurl {
-          url = "https://orgmode.org/elpa/org-plus-contrib-20210111.tar";
-          sha256 = "1qw44y4v4vg0vhz1i55x4fjiaxfaqcch0mqm98sc5f31fw3r4zga";
+          url = "https://orgmode.org/elpa/org-plus-contrib-20210301.tar";
+          sha256 = "11mwar5x848iwc1cdssr3vyx0amji840x6f0dmjpigngpcnj02m8";
         };
         packageRequires = [];
         meta = {
diff --git a/pkgs/applications/editors/emacs-modes/recipes-archive-melpa.json b/pkgs/applications/editors/emacs-modes/recipes-archive-melpa.json
index 5dcb01dcefacb..a5707370ce040 100644
--- a/pkgs/applications/editors/emacs-modes/recipes-archive-melpa.json
+++ b/pkgs/applications/editors/emacs-modes/recipes-archive-melpa.json
@@ -191,6 +191,29 @@
   }
  },
  {
+  "ename": "aas",
+  "commit": "30cedefefdab6d423bfc8851463a7892c266be70",
+  "sha256": "0nn740r5w62a783ky9nsm3bzagcvamj0psd120vkdx28ml3g9xyr",
+  "fetcher": "github",
+  "repo": "ymarco/auto-activating-snippets",
+  "unstable": {
+   "version": [
+    20210217,
+    1642
+   ],
+   "commit": "5064c60408c3ab45693c5f516003141d56a57629",
+   "sha256": "1m3rfagmwjc13fqcf0ysmzxy11j6b42h9bfc0yvnzchjdqgrm4db"
+  },
+  "stable": {
+   "version": [
+    0,
+    2
+   ],
+   "commit": "ffafc54e02475b9e7f7bcbe1d8ed3f11bcb4b542",
+   "sha256": "054sfzvm1ihaxy4hnhl424y5py8k7wi73rb0lqvbi4v8iphihzhr"
+  }
+ },
+ {
   "ename": "abc-mode",
   "commit": "aaee9dc5de06747374f311d86a550d3cc15beed1",
   "sha256": "0qf5lbszyscmagiqhc0d05vzkhdky7ini4w33z1h3j5417sscrcx",
@@ -241,11 +264,11 @@
   "repo": "afroisalreadyinu/abl-mode",
   "unstable": {
    "version": [
-    20190403,
-    904
+    20210122,
+    1508
    ],
-   "commit": "44b7d946bc3a693f5a931c4a62c0a67d42e8d4dc",
-   "sha256": "070c408bq5pliq0xbd1861l6db4sbfpnj3r6aknbqh2vb7l4yimb"
+   "commit": "fdd83e732b2c870f4ddc0f62b5b261e03bfb212a",
+   "sha256": "1ny3386n5h3s3lg9235vj17vwsx6n1y99kln6vgqy6kk37q0ig42"
   }
  },
  {
@@ -1006,22 +1029,22 @@
     "auto-complete",
     "yasnippet"
    ],
-   "commit": "7d97ecc07e6b4ac772670e26583f11e77fdc69fd",
-   "sha256": "00jdn4dw975bb6fgf7wyxjbmvs31p8bav376d017kk56q9w6mv1f"
+   "commit": "9770c95bf2df93d9cb0f200723b03b3d9a480640",
+   "sha256": "188z1i209z61nwfcgffgp90rdcsnl75izxpqv4x1vbaay5fvg33f"
   },
   "stable": {
    "version": [
     2,
-    3,
-    1
+    4,
+    0
    ],
    "deps": [
     "ac-php-core",
     "auto-complete",
     "yasnippet"
    ],
-   "commit": "1477a463e7b2fadf2542d9563b28424481d19bf3",
-   "sha256": "04163qnz5kq3cwmkm5yfvahq8d8ybmchlimzdp15p1izhfpvxnfn"
+   "commit": "33ed12bb2ec627a8a05360885f071e4a88fff399",
+   "sha256": "1ffayysbqh7vq65vhbmqg9yp03fqfnwj3drwyinr5ia81acp37nz"
   }
  },
  {
@@ -1032,8 +1055,8 @@
   "repo": "xcwen/ac-php",
   "unstable": {
    "version": [
-    20201015,
-    903
+    20210218,
+    559
    ],
    "deps": [
     "dash",
@@ -1043,14 +1066,14 @@
     "s",
     "xcscope"
    ],
-   "commit": "7d97ecc07e6b4ac772670e26583f11e77fdc69fd",
-   "sha256": "00jdn4dw975bb6fgf7wyxjbmvs31p8bav376d017kk56q9w6mv1f"
+   "commit": "9770c95bf2df93d9cb0f200723b03b3d9a480640",
+   "sha256": "188z1i209z61nwfcgffgp90rdcsnl75izxpqv4x1vbaay5fvg33f"
   },
   "stable": {
    "version": [
     2,
-    3,
-    1
+    4,
+    0
    ],
    "deps": [
     "dash",
@@ -1060,8 +1083,8 @@
     "s",
     "xcscope"
    ],
-   "commit": "1477a463e7b2fadf2542d9563b28424481d19bf3",
-   "sha256": "04163qnz5kq3cwmkm5yfvahq8d8ybmchlimzdp15p1izhfpvxnfn"
+   "commit": "33ed12bb2ec627a8a05360885f071e4a88fff399",
+   "sha256": "1ffayysbqh7vq65vhbmqg9yp03fqfnwj3drwyinr5ia81acp37nz"
   }
  },
  {
@@ -1110,8 +1133,8 @@
     "auto-complete",
     "rtags"
    ],
-   "commit": "39339388256df662d0084b4a094d03e52748f9e8",
-   "sha256": "0wp4mygsxzibra2p3m5rn9m0yd3fscd795k5xa0wxi5pwddv7dlg"
+   "commit": "aa4c827b417f5448c12401c33acdab1325917c13",
+   "sha256": "02jqcbrpxm4sv15l8kyvsw9pwkmamj065cgifj68x242fw2f0sam"
   },
   "stable": {
    "version": [
@@ -1401,14 +1424,14 @@
   "repo": "abo-abo/ace-link",
   "unstable": {
    "version": [
-    20200518,
-    957
+    20210121,
+    923
    ],
    "deps": [
     "avy"
    ],
-   "commit": "298f02f7dd117f9ec01f6aa2a2ddfecae0efb7f4",
-   "sha256": "1i243wfwrbxn00sh96248lpqfb7cvxqqwlc78nf8kim4ymylpp41"
+   "commit": "e1b1c91b280d85fce2194fea861a9ae29e8b03dd",
+   "sha256": "190m4ikm9580gmd0yf9k7a7q9l7087zdm9gm1hv12wg8g8g6pzca"
   },
   "stable": {
    "version": [
@@ -1756,6 +1779,30 @@
   }
  },
  {
+  "ename": "ado-mode",
+  "commit": "337f21eb8f4af233b4c0bc658cd82e8479b49aaa",
+  "sha256": "1gybsnj7s21vm1iakz4hy5d6skzcfi6455wnikv9dpwy1069rw32",
+  "fetcher": "github",
+  "repo": "louabill/ado-mode",
+  "unstable": {
+   "version": [
+    20210219,
+    1548
+   ],
+   "commit": "438e2b9ca1ce9fd1043998359dfe5a32a0ddb6d0",
+   "sha256": "1fpk7lc5z9v8an9x8j1v3l2pkbg93368qv23jzsqs84r3ndw5b7k"
+  },
+  "stable": {
+   "version": [
+    16,
+    1,
+    4
+   ],
+   "commit": "29d56532c7ab6f680c596add31fd80cd79186e89",
+   "sha256": "1hvxxjwbxw8ivj5399f745l3gcrgf2j0qpbli50pxz0h91pcvi5p"
+  }
+ },
+ {
   "ename": "adoc-mode",
   "commit": "855ea20024b606314f8590129259747cac0bcc97",
   "sha256": "0jd3zr4zpb4qqn504azl0y02cryv7n9wphv64b0fbpipr7w5hm2c",
@@ -1864,25 +1911,25 @@
   "repo": "agda/agda",
   "unstable": {
    "version": [
-    20200922,
-    1231
+    20210220,
+    2039
    ],
    "deps": [
     "annotation",
     "eri"
    ],
-   "commit": "c5400349d7d9cb1e54af19bdb2046b52ecada5bc",
-   "sha256": "02kma8f6v6vxzbfzd2limwabp8a5hzjyg9kfabgp1j0dwvsl64pf"
+   "commit": "6075f5d751d53f9dc4966ab19371104b6118f4d0",
+   "sha256": "04z4zydz67r7aawqqx4ps3y2d3ffyq253k8r4xkrzq70ax4lqww8"
   },
   "stable": {
    "version": [
     2,
     6,
     1,
-    1
+    3
    ],
-   "commit": "fce01db8f9d2ceb9c3a4aa179330ea4aa7587a71",
-   "sha256": "0fzq9pfkvsdin04vzcz2vyjq3gx0lfhbpwpz0zyfa3b84dgffxq7"
+   "commit": "e5486b79cc78689e3fd07b6c924d0085063915ea",
+   "sha256": "1zl7c0rb5rg867a431apxlzj2flg3hjidamqa5prc1bzpmfaywyz"
   }
  },
  {
@@ -2331,11 +2378,11 @@
   "repo": "domtronn/all-the-icons.el",
   "unstable": {
    "version": [
-    20210114,
-    1520
+    20210228,
+    1440
    ],
-   "commit": "ed978fa64fdefc817e8b1b826c87e8928a26f2ce",
-   "sha256": "0l5jc0f5q5p4i2c5s6vrryxkc0fapxffz8x1yvk32j151rz932rc"
+   "commit": "e685f7bc0808e23717637536ccffd79a40f0512d",
+   "sha256": "1gbpl6yxb08jlawy4a98bl6ap888f5lx451fvd80z19gjabiad7f"
   },
   "stable": {
    "version": [
@@ -2352,20 +2399,20 @@
  },
  {
   "ename": "all-the-icons-dired",
-  "commit": "855ea20024b606314f8590129259747cac0bcc97",
-  "sha256": "1qj639z24ln29hv6c51g1vsa2jsy4qrlhf8c7d5w9bxcrcn2fnr9",
+  "commit": "26f650e465b22a0afdb77318aebfcfbdb832c9ce",
+  "sha256": "0qa2x3c9j779yr1q0kfi4696zhbgc1drafskl7rymdpia3vqkwd0",
   "fetcher": "github",
-  "repo": "jtbm37/all-the-icons-dired",
+  "repo": "wyuenho/all-the-icons-dired",
   "unstable": {
    "version": [
-    20200403,
-    1018
+    20210211,
+    1226
    ],
    "deps": [
     "all-the-icons"
    ],
-   "commit": "fc2dfa1e9eb8bf1c402a675e7089638d702a27a5",
-   "sha256": "0zhyhz4lhx0d8wwh1xxxf7ck4s621fk9757ql2ypxbr4iqh7sjlp"
+   "commit": "dd685166818b92470bcccb3e398f2d443f513e63",
+   "sha256": "0yqcmy61ncybfjmbgyzcak9zn017lx6sd1s792y7g7l0klj1l2va"
   }
  },
  {
@@ -2395,14 +2442,14 @@
   "repo": "seagle0128/all-the-icons-ibuffer",
   "unstable": {
    "version": [
-    20201218,
-    356
+    20210218,
+    1006
    ],
    "deps": [
     "all-the-icons"
    ],
-   "commit": "0260cd194d150126bcb81823742ab53036942c73",
-   "sha256": "1snxbi5wv5qa78vx487rdrarpydrabxz3s6a9ck54wkf91mkbcvv"
+   "commit": "d08e8d4043d8731b81f74421cf0455ba8845113a",
+   "sha256": "1sk83c9inm14s0v11ij43ldkskyhwf3lyfm5nq4pa0nbn1dpkvb0"
   },
   "stable": {
    "version": [
@@ -2457,15 +2504,15 @@
   "repo": "seagle0128/all-the-icons-ivy-rich",
   "unstable": {
    "version": [
-    20201215,
-    1647
+    20210126,
+    1227
    ],
    "deps": [
     "all-the-icons",
     "ivy-rich"
    ],
-   "commit": "6eb63a158cd5e1b47635704ebdd3e010e7b914f8",
-   "sha256": "1xvcgylx2h9mrpm56icqsflyxvy88mprgxrs6byhkvkm3p7jzin2"
+   "commit": "f2b48400b2da0bbf64e9c749fa4a5d332ab7c91f",
+   "sha256": "1pdxz8arkhjc3sgg13s07fxlxxgq5y6amapg6daxafl1yvh99jrb"
   },
   "stable": {
    "version": [
@@ -2492,8 +2539,8 @@
     20200211,
     2126
    ],
-   "commit": "2f5935a1a9d042751c7135cac79875886edb2556",
-   "sha256": "1q1ry37rcpzwwl2bwf3j8nmhap7v72fg0hdzxlls89gm3jl3nb97"
+   "commit": "0b804c3ce21b9045d9b3093ef066d8269ac93990",
+   "sha256": "0bp38fwrgw5hr8vyn9shy1am2d224nbyjymdar6i2gh191y43rpm"
   }
  },
  {
@@ -2737,14 +2784,14 @@
  },
  {
   "ename": "anaconda-mode",
-  "commit": "c756ccbae044bc23131060355532261aa9a12409",
-  "sha256": "1cr4qyk2brm1kvm7i9cmvihid8799df7yhmmdizv3sj5l6qnsyfr",
+  "commit": "83b7dcc75e35d9527bce39c5dca3ade0b68ddeb7",
+  "sha256": "1p1bik1fh50hf6ylbhlszzwdah7gp3ay93j4a0xz49cksd1a4ksq",
   "fetcher": "github",
   "repo": "pythonic-emacs/anaconda-mode",
   "unstable": {
    "version": [
-    20210101,
-    833
+    20210210,
+    852
    ],
    "deps": [
     "dash",
@@ -2752,8 +2799,8 @@
     "pythonic",
     "s"
    ],
-   "commit": "80afec20f91f13614647b192522fff460505db6f",
-   "sha256": "04f6kw4rd8k6waiyfbk7x8qdrqm411mdsdzjh2w9rvmv7y36ckh8"
+   "commit": "081f9d8f92f5b85b4f4ac01af7ee72582e689ce1",
+   "sha256": "01z4npw03rkpjl0gmxgryvpkndwn43bgmda398dyzfv00pl5cdar"
   },
   "stable": {
    "version": [
@@ -2779,15 +2826,11 @@
   "repo": "didibus/anakondo",
   "unstable": {
    "version": [
-    20200503,
-    123
-   ],
-   "deps": [
-    "clojure-mode",
-    "projectile"
+    20210221,
+    1727
    ],
-   "commit": "ba6b56c18f2b0ae035b448813b27114d19fb821c",
-   "sha256": "0dbhkinfn6ahvi9pi7kghlc0fccil15lx0pd1rpgv4d7n3bnsdna"
+   "commit": "c48518560815c49d8d78fb9069906d17e883385e",
+   "sha256": "1fzsqd150gpmrj8kz3zy9cd78x9vank7ra720mljhyf04z0h1mj6"
   },
   "stable": {
    "version": [
@@ -3061,11 +3104,11 @@
   "repo": "bastibe/annotate.el",
   "unstable": {
    "version": [
-    20210108,
-    1828
+    20210211,
+    1931
    ],
-   "commit": "d4eff870d9c1575731890acfdde89511d0322ec1",
-   "sha256": "11k5j7xgnxq4s5ar56f3qmbr8vnrhi231zv0iiv2p0nqryaaj354"
+   "commit": "3e0d5f39b24eeded849c1c4903f9a75976732d2b",
+   "sha256": "1l1xmb12qfs0rvgvqqnbjn0njdgxiprxx6fd0vzinlpfdfk1f39j"
   },
   "stable": {
    "version": [
@@ -3103,18 +3146,18 @@
     20200914,
     644
    ],
-   "commit": "c5400349d7d9cb1e54af19bdb2046b52ecada5bc",
-   "sha256": "02kma8f6v6vxzbfzd2limwabp8a5hzjyg9kfabgp1j0dwvsl64pf"
+   "commit": "6075f5d751d53f9dc4966ab19371104b6118f4d0",
+   "sha256": "04z4zydz67r7aawqqx4ps3y2d3ffyq253k8r4xkrzq70ax4lqww8"
   },
   "stable": {
    "version": [
     2,
     6,
     1,
-    1
+    3
    ],
-   "commit": "fce01db8f9d2ceb9c3a4aa179330ea4aa7587a71",
-   "sha256": "0fzq9pfkvsdin04vzcz2vyjq3gx0lfhbpwpz0zyfa3b84dgffxq7"
+   "commit": "e5486b79cc78689e3fd07b6c924d0085063915ea",
+   "sha256": "1zl7c0rb5rg867a431apxlzj2flg3hjidamqa5prc1bzpmfaywyz"
   }
  },
  {
@@ -3555,11 +3598,19 @@
   "repo": "emacsorphanage/applescript-mode",
   "unstable": {
    "version": [
-    20090321,
-    632
+    20210223,
+    1539
+   ],
+   "commit": "a45c426b7e4a450faea004ef5b842fd37e17a7c6",
+   "sha256": "1f7bvcv4qqqa5bsfrcs69yc1phgnyrh5mbnb2hhgq72z8ymmrn7q"
+  },
+  "stable": {
+   "version": [
+    0,
+    1
    ],
-   "commit": "8f888cd80af1e0902b5609143facd3051bc94892",
-   "sha256": "0d3bqx6346vmniv001jgd6wggp80kv1kqc38sdgd88862gkqnqyg"
+   "commit": "42b3db3838821f240e05752de4337359d25d8c04",
+   "sha256": "1z0z0pxy5f5lsw4pskk77dfql5s89iqb6zzkm4pr5r5pcqbhla1s"
   }
  },
  {
@@ -3639,8 +3690,8 @@
     "let-alist",
     "request"
    ],
-   "commit": "5fe8b035b2b6bc165728444bb8e9792d14b7409d",
-   "sha256": "1wbpjz5jgpph6c6wk29dxz8r368ai6jx9cb4y2mdcpngig8kmazm"
+   "commit": "c107a2e21cd1ac6008d8baaeeedb3fab26583d45",
+   "sha256": "19xrm4nwwsf86ysqnqx7jfl78gbg66jj4yfw3h99y3nd82j2rdws"
   }
  },
  {
@@ -3724,11 +3775,11 @@
   "repo": "motform/arduino-cli-mode",
   "unstable": {
    "version": [
-    20201001,
-    1357
+    20210119,
+    1200
    ],
-   "commit": "00893089344cfeef387e6da1844fa49d14ff4fa9",
-   "sha256": "1p37c18ax1nki5175xz2c75pjbsg5wsd3m6qaln9x0mj5hdgz860"
+   "commit": "10d5cfa1563f314e5b24b151f63b9579992a7ba5",
+   "sha256": "0czbp56jg40y33p05l1wvrinjiz795zjk4gyxyvjbra11a8byf84"
   }
  },
  {
@@ -3739,14 +3790,14 @@
   "repo": "stardiviner/arduino-mode",
   "unstable": {
    "version": [
-    20201231,
-    214
+    20210216,
+    926
    ],
    "deps": [
     "spinner"
    ],
-   "commit": "10af99792c8e4b97ea542c55bfed246781fdd1ba",
-   "sha256": "1gz4hmmijlilqqh7scyidh5kbbmyvq12dhnjgnn9h6y9q5qabibq"
+   "commit": "969b49ef6c954a067b3cbca43a4cdc1c04b1a62a",
+   "sha256": "0cjygkddlla2ygiyn506mwqjfn52lqpwfbv1fbwcqljvfspc65am"
   }
  },
  {
@@ -3980,11 +4031,11 @@
   "repo": "jwiegley/emacs-async",
   "unstable": {
    "version": [
-    20200809,
-    501
+    20210117,
+    718
    ],
-   "commit": "14f48de586b0977e3470f053b810d77b07ea427a",
-   "sha256": "16m67s2mpr2ak7vyc3dxzln3v5136b85dsirjkd2fm2n934q9h0r"
+   "commit": "d7e7f79ee42311a0187aa2ab4f4e2f8843fa28da",
+   "sha256": "11r6jzqyywgzxmpq2z97j3ni5b1sv6z5lrjmkqip396bxmw9zxm1"
   },
   "stable": {
    "version": [
@@ -4130,11 +4181,11 @@
   "repo": "jonathanchu/atom-one-dark-theme",
   "unstable": {
    "version": [
-    20200831,
-    342
+    20210128,
+    1640
    ],
-   "commit": "321739d50b8a3b9152972134e83e69a67e12ee81",
-   "sha256": "0a6lx2pav0a0k6lfq8ar03z33dis29diq1gvxfdqwa3sayn6fbab"
+   "commit": "b34b62e85593812b55ee552a1cb0eecfb04767bb",
+   "sha256": "1n98fxspx1qmm5p5s591jy2baviqy8b5hjn9hsrvqbmixc7arrhv"
   },
   "stable": {
    "version": [
@@ -4154,15 +4205,15 @@
   "repo": "alpha22jp/atomic-chrome",
   "unstable": {
    "version": [
-    20180617,
-    724
+    20210221,
+    59
    ],
    "deps": [
     "let-alist",
     "websocket"
    ],
-   "commit": "a505f638866f9e7b913784be0dc84f338e9ad449",
-   "sha256": "081465ahis2rvlklzn2vakbwn5dgr43ks4csp3arnlj11b43f3ai"
+   "commit": "d0414210c8eea8b80d293e79f2c8991948ab38cb",
+   "sha256": "1h4zf81gizi5qf86zxdsm9v0l2rvbsmw6fbr92ggw2r55cnqqrib"
   },
   "stable": {
    "version": [
@@ -4186,8 +4237,8 @@
   "repo": "jyp/attrap",
   "unstable": {
    "version": [
-    20200908,
-    1252
+    20210219,
+    1001
    ],
    "deps": [
     "dash",
@@ -4195,8 +4246,8 @@
     "flycheck",
     "s"
    ],
-   "commit": "9c881548debcf59b8aadda0ef4abca3c9a68dd80",
-   "sha256": "01x2nwqzrnngvmw6zynh6xhfg3jx7l22mv3gndi5xzxqngqh137s"
+   "commit": "778382eba8e1a449862b1573e90c1e79cf5caeb1",
+   "sha256": "0a2n1p2nasd2ikv86p3sm5sn4qb3avj2sni9gja3yn6kdqn8s8jp"
   },
   "stable": {
    "version": [
@@ -4221,26 +4272,26 @@
   "repo": "tsuu32/auctex-cluttex",
   "unstable": {
    "version": [
-    20201029,
-    1241
+    20210226,
+    302
    ],
    "deps": [
     "auctex"
    ],
-   "commit": "e01f42ef4db28d284db010dbb590b197520f73d4",
-   "sha256": "0iq14adyry26n5c6i67fd6aiwlcw4a9shndljlvvzc7g82kdw7vl"
+   "commit": "4e05ad8976f352e67d56d9a479a4a570dfe7ba73",
+   "sha256": "0zgd7yascqn2dwjd20f1v962q7b24wibla5fwnbl9df1x36asqhs"
   },
   "stable": {
    "version": [
     0,
-    1,
+    2,
     0
    ],
    "deps": [
     "auctex"
    ],
-   "commit": "e358f7148092d8ed64703641b5621e130cce458d",
-   "sha256": "1whzcp9wvpwn1c33n7mqxx8v6g4apg3cq5h2ffl74423ysymry71"
+   "commit": "4e05ad8976f352e67d56d9a479a4a570dfe7ba73",
+   "sha256": "0zgd7yascqn2dwjd20f1v962q7b24wibla5fwnbl9df1x36asqhs"
   }
  },
  {
@@ -4370,11 +4421,11 @@
   "repo": "DamienCassou/auth-source-pass",
   "unstable": {
    "version": [
-    20201108,
-    1043
+    20210210,
+    1908
    ],
-   "commit": "aa7f17116ec3f760eb414d655ba20016b11a4a0e",
-   "sha256": "08q1dicdj4fgmn47mslinrl7wfnpix98xdwvhz78cvqhclb1662s"
+   "commit": "468bba286fc20d739ed7724ec884357907ac8bda",
+   "sha256": "1pazl19rd4fvnfi9i2ssaygby5pw2a821aysy8jswsij57lw40dy"
   },
   "stable": {
    "version": [
@@ -4457,8 +4508,8 @@
    "deps": [
     "packed"
    ],
-   "commit": "f8619d1616b523918323914ec77bfbee2c559781",
-   "sha256": "1qcszjjqkq811p8pafjx0knm4giv7dls4x1xamhzbndjz0d022kz"
+   "commit": "4952a1a1cadf1bdf7018610a71f8c3acb67962c2",
+   "sha256": "17p7jmr8qd3hgx79iiljsi2kpy24g8v2ynxiz023wanasxr6bdc6"
   },
   "stable": {
    "version": [
@@ -4488,8 +4539,8 @@
     "cl-lib",
     "popup"
    ],
-   "commit": "6bbb6c7ab8e5aa2d389807fce65bbc5ce7065900",
-   "sha256": "0cxs9is3ifn9grqaw50dvpsjkkmwh398a6lqc93fny7p6d1hd9ja"
+   "commit": "aafd3f566a8002a1e9b3e197721a2660c0a835ff",
+   "sha256": "0ipa5kaprisrmyyqlgzi5giq0449hjflfm81i9a5vy82ikz5lsxg"
   },
   "stable": {
    "version": [
@@ -4795,11 +4846,11 @@
   "repo": "mina86/auto-dim-other-buffers.el",
   "unstable": {
    "version": [
-    20200801,
-    2029
+    20210210,
+    1744
    ],
-   "commit": "cad370fb6c9fc7186c2af221932e097af5900a2d",
-   "sha256": "0hjxadi8245zwwsp0kdz0c6i1j25drbky5cvksdnc8xw2l91kpbs"
+   "commit": "62c936d502f35d168b9e59a66c994d74a62ad2cf",
+   "sha256": "07ilprnidpg8wn28h8ra9ml6pxaixg734ybya0gj1ac6sc3ky52s"
   }
  },
  {
@@ -4894,14 +4945,14 @@
   "repo": "rranelli/auto-package-update.el",
   "unstable": {
    "version": [
-    20200826,
-    2227
+    20210211,
+    2036
    ],
    "deps": [
     "dash"
    ],
-   "commit": "c0df65ac9845ba2c7c9f53bbdbe013f1024f96f9",
-   "sha256": "0fy45psfsfsfrailiqv86bxsb3vxb36wyf7farb0zaxlrqay8qvd"
+   "commit": "22130fb17d00d79497253c94f3e88382cb40c3ac",
+   "sha256": "1z0yfhg44zsra1c29w05fa6gkqidmwjaszxvjhkx4n3mzy3vhqf2"
   },
   "stable": {
    "version": [
@@ -5259,8 +5310,8 @@
     20190331,
     2230
    ],
-   "commit": "c6ccdc83e85719a8bb07ef715cf5fd06866a479c",
-   "sha256": "0z8rykhhhwccy0zg6v3gnghfiawqw3afv4pvxr1hrympiyhyvhvp"
+   "commit": "74e1fcbeca25734235afec9c6a4d0cf73736b62c",
+   "sha256": "0yrcsr4360v222klahbccfq3vb4kp5xdsibydwircv36xhxplzq3"
   }
  },
  {
@@ -5396,15 +5447,27 @@
   "repo": "oantolin/embark",
   "unstable": {
    "version": [
-    20210112,
-    2334
+    20210125,
+    2115
    ],
    "deps": [
     "avy",
     "embark"
    ],
-   "commit": "14dcc650d9339a6458bb0babfed35de13e76fa50",
-   "sha256": "15shi1i8071833mjzrwyy5iw818sxcqym0cb0zvi9bk5nvprp58b"
+   "commit": "0c7323953e628c8797270a37c0f639fe23092175",
+   "sha256": "12zikidvgx2ybk4b4z3pr26jmh7v8cqvljff72a0isi6l4m8zy5l"
+  },
+  "stable": {
+   "version": [
+    0,
+    10
+   ],
+   "deps": [
+    "avy",
+    "embark"
+   ],
+   "commit": "47daded610b245caf01a97d74c940aff91fe14e2",
+   "sha256": "063hc0hganws11vjdk3ic0mxm9i0vpw6s7hzbgxvja0gjkdxjldz"
   }
  },
  {
@@ -5602,11 +5665,11 @@
   "url": "https://bitbucket.org/pdo/axiom-environment",
   "unstable": {
    "version": [
-    20201212,
-    1109
+    20210131,
+    2053
    ],
-   "commit": "47d6dffc29286badb2b1d7143b219e5c1be15bdb",
-   "sha256": "1dppyda9jkwh6fj8m4kziq84w0b5yzxrhq87jhkv54jjra6yxbb4"
+   "commit": "41e0bf68b06911cbd0a1d7d36a506679a0f6137f",
+   "sha256": "0qy61shqrgaw3pqz94x10s969irs4hn8cawi1acp9hapfcfnf218"
   }
  },
  {
@@ -5977,11 +6040,11 @@
   "repo": "belak/base16-emacs",
   "unstable": {
    "version": [
-    20200929,
-    2159
+    20210206,
+    1822
    ],
-   "commit": "93b1513a9994355492314e809cdbfb0d21f1e30d",
-   "sha256": "0sw483bzm5ax07cyvjbm6qaji5m0xw4mzcgrxi5ki81i0y79x59q"
+   "commit": "041e442b6ab2b85a254e17bfc776a508e1b66abf",
+   "sha256": "1rcw4jsla3fhrb6b5margiwk2i2m0rrf3vp8lxk8vdg9bsy5ikmc"
   },
   "stable": {
    "version": [
@@ -6129,21 +6192,20 @@
   "repo": "AlonTzarafi/battle-haxe",
   "unstable": {
    "version": [
-    20200222,
-    56
+    20210219,
+    354
    ],
    "deps": [
     "async",
     "cl-lib",
     "company",
     "dash",
-    "dash-functional",
     "f",
     "helm",
     "s"
    ],
-   "commit": "64d20c9ea3fd503fdefafda122e7095c192e72a3",
-   "sha256": "15ykwqg100vjl014awwwzmch84vwqyrlm46c22w9x3dgqk8yxyi2"
+   "commit": "2f32c81dcecfc68fd410cb9d2aca303d6e3028c7",
+   "sha256": "0br1iy9zcjqaxmm691axrcbfxmid76rsbkcp1vrpzrdqvrkskpww"
   }
  },
  {
@@ -6157,8 +6219,8 @@
     20200627,
     1625
    ],
-   "commit": "2cf143b616df3de4b199538341d674c58386719e",
-   "sha256": "1p9pxxdx39jmf8sav660ps6mqwbsgcl4v1i9xb8xsd5qdxmwjqli"
+   "commit": "43026c5e09dfca86fb84b9a857708ad419f2215f",
+   "sha256": "0bwabpx56ybk114456x0p4k8xqh0s060ig40jdsqibq89h6m1nab"
   },
   "stable": {
    "version": [
@@ -6597,17 +6659,17 @@
  },
  {
   "ename": "better-defaults",
-  "commit": "7bb729c1ad8602a5c0c27e81c9442981a54a924a",
-  "sha256": "13bqcmx2gagm2ykg921ik3awp8zvw5d4lb69rr6gkpjlqp7nq2cm",
-  "fetcher": "github",
-  "repo": "technomancy/better-defaults",
+  "commit": "8bec8e696afde1b89502f312efc0054ca59502a6",
+  "sha256": "0vl6ivjjg4sy67ma18ya64r4wn64z2kqbxaa435s9ayszmbpmpa2",
+  "fetcher": "git",
+  "url": "https://git.sr.ht/~technomancy/better-defaults",
   "unstable": {
    "version": [
-    20200717,
-    2012
+    20210222,
+    1928
    ],
-   "commit": "293237a22a4f24171dd9910d6517a0eccf526fdf",
-   "sha256": "0f3alik361d81kdwpigcgkj9rxww23prqfhjfdh97fnycp3r1nyb"
+   "commit": "4c5409406ee35c5ba46880c6cfe98df4b14dc631",
+   "sha256": "0agj1zyspm3bqj7apfjwhllnmydyj00x2iv7nvy03szpnwvm11fq"
   },
   "stable": {
    "version": [
@@ -6705,14 +6767,14 @@
   "repo": "zk-phi/bfbuilder",
   "unstable": {
    "version": [
-    20200816,
-    519
+    20210228,
+    1740
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "00cbf1010dc3fee5a0b8e7c0e0b6041bb6251bdf",
-   "sha256": "1n1aq3kwsjc3hlgas73bs22pvrn69hfba1wcbqs2j28j2j9j00b2"
+   "commit": "689f320a9a1326cdeff43b8538e0d739f8519c4b",
+   "sha256": "0wrzyv38dmsdfjwsbf89pa5l2gzbbx86jmy8nflfs86im0g9qcp1"
   }
  },
  {
@@ -6889,8 +6951,8 @@
   "repo": "tmalsburg/helm-bibtex",
   "unstable": {
    "version": [
-    20210108,
-    1155
+    20210223,
+    840
    ],
    "deps": [
     "biblio",
@@ -6900,8 +6962,8 @@
     "parsebib",
     "s"
    ],
-   "commit": "94807a3d3419f90b505eddc3272e244475eeb4f2",
-   "sha256": "08wfvqdzs05bmfjjaqfxffjbl4j7632bnpncs9khrh6lifz03xh2"
+   "commit": "ca09076c3d6e51cc4ffe208c8176fccf3710fcc6",
+   "sha256": "1jf2zapmkg2fdn9ldq8cn3aw02iqpjh26h6yjj93q3h0clsk5ia2"
   },
   "stable": {
    "version": [
@@ -7027,8 +7089,8 @@
     "bind-key",
     "key-chord"
    ],
-   "commit": "365c73d2618dd0040a32c2601c5456ab5495b812",
-   "sha256": "10c0rmi5axypx0xy3fib739rjnakl32spwcirzxz1p5r0x9gya4a"
+   "commit": "a7422fb8ab1baee19adb2717b5b47b9c3812a84c",
+   "sha256": "1zz2gg475254hbbxw4y82b2m2iy8cvx0phh030daax315hdbsaqb"
   },
   "stable": {
    "version": [
@@ -7052,11 +7114,11 @@
   "repo": "jwiegley/use-package",
   "unstable": {
    "version": [
-    20200805,
-    1727
+    20210210,
+    1609
    ],
-   "commit": "365c73d2618dd0040a32c2601c5456ab5495b812",
-   "sha256": "10c0rmi5axypx0xy3fib739rjnakl32spwcirzxz1p5r0x9gya4a"
+   "commit": "a7422fb8ab1baee19adb2717b5b47b9c3812a84c",
+   "sha256": "1zz2gg475254hbbxw4y82b2m2iy8cvx0phh030daax315hdbsaqb"
   },
   "stable": {
    "version": [
@@ -7100,26 +7162,26 @@
   "repo": "rnkn/binder",
   "unstable": {
    "version": [
-    20201222,
-    1603
+    20210131,
+    1227
    ],
    "deps": [
     "seq"
    ],
-   "commit": "8a10a66116797e132b19f57026a1976753d332e9",
-   "sha256": "0qjrcvmmhirzw08r81jnxl79kmgiwwhjnvif16amkf1l8r8qiawq"
+   "commit": "9cec78c685dbca51ab9d1014eb535a541083effc",
+   "sha256": "065cqvdjdb5w60b7ga7q51920ib5vpz63zq9s68q0fjwb55q3k8z"
   },
   "stable": {
    "version": [
     0,
     4,
-    3
+    4
    ],
    "deps": [
     "seq"
    ],
-   "commit": "8d479f1ad0573008e7f60dad2f6549c7d2f96598",
-   "sha256": "1wfbm3z4irgh22lrfkdf05y9y3ayl1jcmf2iqgncrj12j5a5jwa7"
+   "commit": "3cf7c254703f5c3a90c2cd617b522d09e7913c7b",
+   "sha256": "01y9yd1rvi1ll3pp2i44g7ivkvz1cvc22207f8a3dbv90jw4c66m"
   }
  },
  {
@@ -7483,6 +7545,30 @@
   }
  },
  {
+  "ename": "blox",
+  "commit": "cacd156d195ffddeba880a8ebb4f38a07db0b15f",
+  "sha256": "0w0j9xskvyb91i473wr1rj4q61i151ckslm87hszh9sqc9wv38p3",
+  "fetcher": "github",
+  "repo": "kennethloeffler/blox",
+  "unstable": {
+   "version": [
+    20210225,
+    1900
+   ],
+   "commit": "2bf0e618451fb1da11263d8a35ffcd9210590c0a",
+   "sha256": "0lkhdm9jhy8wlmrmd9nqrbrczh5k75q38n6bq3gfhppycmysh9d5"
+  },
+  "stable": {
+   "version": [
+    0,
+    3,
+    0
+   ],
+   "commit": "f27e79d6da65d8877ebb4e84a40350b61c3f0362",
+   "sha256": "1id5jgaa4yjkgzn00s54lcbdwll85nw0dfsa228mvkvigdn5rya6"
+  }
+ },
+ {
   "ename": "bm",
   "commit": "cae2ac3513e371a256be0f1a7468e38e686c2487",
   "sha256": "07459r7m12j2nsb7qrb26bx32alylhaaq3z448n42lz02a8dc63g",
@@ -7675,8 +7761,8 @@
   "repo": "boogie-org/boogie-friends",
   "unstable": {
    "version": [
-    20201108,
-    230
+    20210131,
+    8
    ],
    "deps": [
     "cl-lib",
@@ -7685,8 +7771,8 @@
     "flycheck",
     "yasnippet"
    ],
-   "commit": "462acddf8012c896a510f539fa3d16eb3c4dc71b",
-   "sha256": "0lz39j1alzzchfz67xp70cj1z6ckapdyqbl2gnax8xqyw7f3816f"
+   "commit": "8e906c41725bada06ff6e296af65cc463b028ea9",
+   "sha256": "1cf94hw1b50qkzjc88gxi5qhpf3pkaj2w3glr8dldnh0l5z8vfxg"
   }
  },
  {
@@ -7721,16 +7807,17 @@
   "repo": "jyp/boon",
   "unstable": {
    "version": [
-    20201118,
-    1521
+    20210228,
+    1839
    ],
    "deps": [
     "dash",
     "expand-region",
-    "multiple-cursors"
+    "multiple-cursors",
+    "pcre2el"
    ],
-   "commit": "3dd9669d01e48860bb7ea12be8c764a4bc6808ea",
-   "sha256": "0j5v2mm6gd463x6jcbp5ly71g2qaiajrbc3ina2rzbmj0ccqr39l"
+   "commit": "58107055dadb735941537c90457753dbc1ea7005",
+   "sha256": "15x29jpfkfizkl3b9ghmd1wclvigcm05y6l7i9c6clclwqzzm5zw"
   },
   "stable": {
    "version": [
@@ -7761,8 +7848,8 @@
     "epkg",
     "magit"
    ],
-   "commit": "5de2a7aa0c126f5b18506e187bca66079e68f51d",
-   "sha256": "18d845xpfp1dklqqghxxzy6zglm8w11lyi3ww44yfmrmxgi8xsvd"
+   "commit": "d0283edfaead36564ba4e64dcf8785f6d65f288c",
+   "sha256": "076n6jh084f6pra12cbl3fp1gv3229rj5nxbpcmr9rpp50x2c790"
   },
   "stable": {
    "version": [
@@ -8104,11 +8191,11 @@
   "repo": "topikettunen/brutal-emacs",
   "unstable": {
    "version": [
-    20200415,
-    602
+    20210226,
+    1538
    ],
-   "commit": "ee63563b7cb07aeec342722ae684426cb0465a98",
-   "sha256": "1wx6771iv4psvlwhng0n09g0w3yml1pw3ga5lghjz9j6hba0bc6s"
+   "commit": "8173b7d041cccfa3e5bb3f3f85ec8c6109fd264b",
+   "sha256": "1y6b9q3byvwsi6d5sjc642189c5cjbinylqis3d248qws2dp6kvq"
   }
  },
  {
@@ -8954,6 +9041,30 @@
   }
  },
  {
+  "ename": "ca65-mode",
+  "commit": "e479ed85d361e3439fb69e4b0cc0f0fd608f9c7a",
+  "sha256": "04s9z3brwc1zr5v2h7p1d129jg44j00x3qdd9md2cwiaxbr4c3ns",
+  "fetcher": "github",
+  "repo": "wendelscardua/ca65-mode",
+  "unstable": {
+   "version": [
+    20210218,
+    106
+   ],
+   "commit": "590d90cc0e1c1864dd7ce03df99b741ba866d52a",
+   "sha256": "0snmxnhi7g5qx7p1z9zzlpc2zd20iq94hfvf2vavjpxw1fz4sk46"
+  },
+  "stable": {
+   "version": [
+    0,
+    3,
+    3
+   ],
+   "commit": "590d90cc0e1c1864dd7ce03df99b741ba866d52a",
+   "sha256": "0snmxnhi7g5qx7p1z9zzlpc2zd20iq94hfvf2vavjpxw1fz4sk46"
+  }
+ },
+ {
   "ename": "cabledolphin",
   "commit": "0c8bd2715aec4793abc37d6899adabd568955a08",
   "sha256": "04slrx0vkcm66q59158limn0cpxn18ghlqyx7z8nrn7frrc03z03",
@@ -9113,15 +9224,14 @@
   "repo": "walseb/calc-at-point",
   "unstable": {
    "version": [
-    20200406,
-    1618
+    20210219,
+    1252
    ],
    "deps": [
-    "dash",
-    "dash-functional"
+    "dash"
    ],
-   "commit": "11e40c8db9493ada71964b73069c6db529016492",
-   "sha256": "06dmm6b2xflkwgk5mysi3ycbi6yz5n0sci191a15nnzxg7vh1fbf"
+   "commit": "0c1a9e94b519b0edb0abcbacdf6101eea2f2a524",
+   "sha256": "04yg0rf6i95s913hs6zn01rajpbc1gk2hcpzkxyjy3mj1lqhh45s"
   }
  },
  {
@@ -9491,15 +9601,15 @@
   "repo": "kwrooijen/cargo.el",
   "unstable": {
    "version": [
-    20210103,
-    2111
+    20210217,
+    904
    ],
    "deps": [
     "markdown-mode",
     "rust-mode"
    ],
-   "commit": "9c7d885562c7d5935ec2e97585acf95813a084be",
-   "sha256": "0j1ls97m4rc9mkjp57k4ba1ljvzlhmpn31z7drkqhx9yff0q0fan"
+   "commit": "9442af81d64f73935d3590948c97594f0bc79d4a",
+   "sha256": "1xci8kx10vxaniyzxgzzs0zd7m7s0grd0bbrxaxhyjjdvic77mq1"
   },
   "stable": {
    "version": [
@@ -9530,6 +9640,21 @@
   }
  },
  {
+  "ename": "cascading-dir-locals",
+  "commit": "4140f4b373119deba3142cbc6037e6634d74a4de",
+  "sha256": "1g5disv23wn70h7sr0z9pbh9ws66rbzw7s8q07xzvhk1yfggr0ls",
+  "fetcher": "github",
+  "repo": "fritzgrabo/cascading-dir-locals",
+  "unstable": {
+   "version": [
+    20210221,
+    1516
+   ],
+   "commit": "efdf5e6d62b955ee0ca3c170eae1d388799f9fa0",
+   "sha256": "1jwd99kk5l588n7wwi1x3b4bgimm66x1icna3n20pwaj49kf0zy8"
+  }
+ },
+ {
   "ename": "caseformat",
   "commit": "ba158fbeebcda6b6122b18c97ab8042b1c0a0bc0",
   "sha256": "1qwyr74jbx4jpfcw8sccg47q1vdg094rr06m111gsz2yaj9m0gfk",
@@ -9571,8 +9696,8 @@
   "repo": "cask/cask",
   "unstable": {
    "version": [
-    20201206,
-    1419
+    20210214,
+    1455
    ],
    "deps": [
     "ansi",
@@ -9584,8 +9709,8 @@
     "s",
     "shut-up"
    ],
-   "commit": "b0afdf94c0a2424db86b264bcac175b75c4395b3",
-   "sha256": "0hjc2pig7chhvb94qyccmnndy16xlyzwq37x4pm2s44yl1vra02k"
+   "commit": "b81a3caa3fa3696fd385aa7072f8dc3a57408c4a",
+   "sha256": "18w7kdr140s2km0mphznrlvx5w06q93q6z370wf4spkaflks6cjy"
   },
   "stable": {
    "version": [
@@ -9967,15 +10092,15 @@
   "repo": "ema2159/centaur-tabs",
   "unstable": {
    "version": [
-    20210114,
-    2059
+    20210226,
+    2246
    ],
    "deps": [
     "cl-lib",
     "powerline"
    ],
-   "commit": "50fd573ce9ed9f914940c79c82e411511ca5c8a8",
-   "sha256": "0dxis8w931chcbfwggc0jdirsxys42n2g21wqnqy892k70p7by1j"
+   "commit": "5bbcc80778f6fd618f9f9c13dbc2c4f4ae1eef90",
+   "sha256": "0clz8d6w9j1pbqd6vk4pkan5mhidxpr802wfkh3sfq77r44hhl8x"
   },
   "stable": {
    "version": [
@@ -10102,8 +10227,8 @@
     20171115,
     2108
    ],
-   "commit": "a1f30acc05097d9def5925e8b48de3df4237610b",
-   "sha256": "18ixkfz41wa3h4041rlj6zxg30m3afhn1vfvcf6dz2vnj1z22h2z"
+   "commit": "79e9fb4d4b2b630f11d09c25fa560a0aacd68e53",
+   "sha256": "05ysyvb318ilwamx9v82rv6wrh1xnv74i4flpm4x6db7apkh4kma"
   },
   "stable": {
    "version": [
@@ -10187,30 +10312,30 @@
   "repo": "Alexander-Miller/cfrs",
   "unstable": {
    "version": [
-    20210108,
-    1152
+    20210217,
+    1848
    ],
    "deps": [
     "dash",
     "posframe",
     "s"
    ],
-   "commit": "d4cee9074b31b283b1475bfc8fe3c63ab51dbb61",
-   "sha256": "122gls0zwxl3km5h0gw5ykccxxdfy8svvr7s7lm78ylmp6prpx2p"
+   "commit": "7c42f2c82c7ae689f3ef291b066688c58ab96298",
+   "sha256": "1x8y4cc1cgln4qv6yzhsiqgnziilg5fh07bvg9ygcjmdhvnhsvcm"
   },
   "stable": {
    "version": [
     1,
     5,
-    1
+    4
    ],
    "deps": [
     "dash",
     "posframe",
     "s"
    ],
-   "commit": "f47e9b7b96172023cbc0e3aaeb62462829d3134d",
-   "sha256": "1sia4dnp2jfjx2npklgg9yhdgs5vzjxvyk6nj0z1fvpqxfdkg60m"
+   "commit": "7c42f2c82c7ae689f3ef291b066688c58ab96298",
+   "sha256": "1x8y4cc1cgln4qv6yzhsiqgnziilg5fh07bvg9ygcjmdhvnhsvcm"
   }
  },
  {
@@ -10236,11 +10361,11 @@
   "repo": "challenger-deep-theme/emacs",
   "unstable": {
    "version": [
-    20201214,
-    1705
+    20210120,
+    941
    ],
-   "commit": "b0d5f103db8ee846580617cc3a2f44f89edd5a6d",
-   "sha256": "03k4bvidvhcfqvk3hqni546pfz6lb8jwhxynsyacq1vcmvx1j8xw"
+   "commit": "2a799259406a8b96a688873093ffab6630a3ad3b",
+   "sha256": "1rl3rkrbms96wv51mwxih9b4zg1dzh3jcmx4ylgamg77abd03sg3"
   }
  },
  {
@@ -10251,14 +10376,14 @@
   "repo": "magnars/change-inner.el",
   "unstable": {
    "version": [
-    20150707,
-    1544
+    20210126,
+    1456
    ],
    "deps": [
     "expand-region"
    ],
-   "commit": "52c543a4b9808c0d15b565fcdf646c9779de33e8",
-   "sha256": "1m9sq93bwajbld3lnlzkjbsby5zlm9sxjzqynryyvsb9zr1d0a9z"
+   "commit": "42cad58aed2caec260f8e8ff61f78a7d3db72d1b",
+   "sha256": "0hs5hw36yagchpihx18059gi8b85hrccm82ynh89y7dkk1pw3wy1"
   }
  },
  {
@@ -10519,21 +10644,6 @@
   }
  },
  {
-  "ename": "chicken-scheme",
-  "commit": "03f4992471185bf41720ff6fc725fd5fa1291a41",
-  "sha256": "0ns49p7nsifpi7wrzr02ljrr0p6hxanrg54zaixakvjkxwcgfabr",
-  "fetcher": "github",
-  "repo": "dleslie/chicken-scheme.el",
-  "unstable": {
-   "version": [
-    20141116,
-    1939
-   ],
-   "commit": "19b0b08b5592063e852cae094b394c7d1f923639",
-   "sha256": "0j61lvr99viaharg4553whcppp7lxhimkk5lps0izz9mnd8y2wm5"
-  }
- },
- {
   "ename": "chinese-conv",
   "commit": "a798158829f8fd84dd3e5e3ec5987d98ff54e641",
   "sha256": "1lqpq7pg0nqqqj29f8is6c724vl75wscmm1v08j480pfks3l8cnr",
@@ -10638,14 +10748,14 @@
   "repo": "SavchenkoValeriy/emacs-chocolate-theme",
   "unstable": {
    "version": [
-    20191021,
-    1346
+    20210128,
+    1647
    ],
    "deps": [
     "autothemer"
    ],
-   "commit": "1c6cd8d2fdc939bd4d26117d61e57c11cfe26512",
-   "sha256": "1knnj1kzjccr7hg5zbj4qfnkgjkf221bf7wv83km9hs7zs7brj5x"
+   "commit": "ccc05f7ad96d3d1332727689bf6250443adc7ec0",
+   "sha256": "1d8a9jwv9y0sncw24k840c8yyrig30f2d6q2zqlc09f05yzq9p9p"
   }
  },
  {
@@ -10700,8 +10810,8 @@
   "repo": "contrapunctus-1/chronometrist",
   "unstable": {
    "version": [
-    20210106,
-    2147
+    20210211,
+    601
    ],
    "deps": [
     "anaphora",
@@ -10710,14 +10820,14 @@
     "seq",
     "ts"
    ],
-   "commit": "cef185de5ce47236c6ba70a7613f7aa51365e5ec",
-   "sha256": "10jc1xw3rz18h1an8psbmrp9a1y11xcf53j0hi7vvch85w75hfc6"
+   "commit": "d1b42bbf0d134ee6ed6f423956a355ba0a7ac968",
+   "sha256": "1k7r5rc6vzrnhp9j5bkv45yzqz7zbqrkiry4fzc8w6f36pcw862f"
   },
   "stable": {
    "version": [
     0,
     6,
-    2
+    5
    ],
    "deps": [
     "anaphora",
@@ -10726,8 +10836,8 @@
     "seq",
     "ts"
    ],
-   "commit": "cef185de5ce47236c6ba70a7613f7aa51365e5ec",
-   "sha256": "10jc1xw3rz18h1an8psbmrp9a1y11xcf53j0hi7vvch85w75hfc6"
+   "commit": "d1b42bbf0d134ee6ed6f423956a355ba0a7ac968",
+   "sha256": "1k7r5rc6vzrnhp9j5bkv45yzqz7zbqrkiry4fzc8w6f36pcw862f"
   }
  },
  {
@@ -10818,8 +10928,8 @@
   "repo": "clojure-emacs/cider",
   "unstable": {
    "version": [
-    20210104,
-    915
+    20210227,
+    546
    ],
    "deps": [
     "clojure-mode",
@@ -10830,8 +10940,8 @@
     "sesman",
     "spinner"
    ],
-   "commit": "3fac28541e03812990c771bd774bf8ea65c228c9",
-   "sha256": "1216nws4mcvmrlkdvpb83slqqwkqiwdyw0fxp2b1nkm2lmrcq7bs"
+   "commit": "ae03e85a0adcd301d220e7a500aec4d5a26fbfc7",
+   "sha256": "0lv422m1ym6m894mbwcbv1145dnh6xk1fa242cngvlkg7j5xksh6"
   },
   "stable": {
    "version": [
@@ -11082,14 +11192,14 @@
   "repo": "sulami/circleci-api.el",
   "unstable": {
    "version": [
-    20201221,
-    1036
+    20210227,
+    1607
    ],
    "deps": [
     "request"
    ],
-   "commit": "870d6b550210cb1fd97a8dabad2c284e54416b4b",
-   "sha256": "0ph12r4lfy653qbp00hbry06n0gddfm3c7kmqp2v3c03bdsn5l9c"
+   "commit": "2e39c5896819bb2063f9d7795c4299f419cf5542",
+   "sha256": "0j184sgqxh3f34ni6bfb69mfir94glcyl0wpqmpsn9siq54s82ag"
   }
  },
  {
@@ -11424,14 +11534,14 @@
   "repo": "redguardtoo/cliphist",
   "unstable": {
    "version": [
-    20190920,
-    149
+    20210129,
+    313
    ],
    "deps": [
     "ivy"
    ],
-   "commit": "3105e5c4b4d2d0338edb6effd9329426854b80b1",
-   "sha256": "0jbn2nczhsv9adhkc6mnrmxyjbpkbqq475gry0khhqlmzm49y618"
+   "commit": "3682a114e7651fc53155451afef0026f25f01f64",
+   "sha256": "08ih6n6xmnv179z8lfvplgss3xvl9bxppcbj1qiqbvgnf2rqfpb3"
   },
   "stable": {
    "version": [
@@ -11529,8 +11639,8 @@
   "repo": "clojure-emacs/clj-refactor.el",
   "unstable": {
    "version": [
-    20210101,
-    1036
+    20210216,
+    928
    ],
    "deps": [
     "cider",
@@ -11543,14 +11653,14 @@
     "seq",
     "yasnippet"
    ],
-   "commit": "9dcc50da7ce6f3c10276c87f09022e80c03e8bef",
-   "sha256": "10b83yyhkppgzjxaqk8l1c2476x8cvnpn6vf1gj2v5y23c7s2mbs"
+   "commit": "b24ce76acefe792975f00147c94b4dd784e65b80",
+   "sha256": "1pyskl9xcqrk6r2zbp5i9402inngqps7wwb4nbdbrgi4di9b8in7"
   },
   "stable": {
    "version": [
     2,
     5,
-    0
+    1
    ],
    "deps": [
     "cider",
@@ -11563,8 +11673,8 @@
     "seq",
     "yasnippet"
    ],
-   "commit": "92d372393a031e5fa73ef926447afe72b574cb45",
-   "sha256": "0lnis1qwk1gyxgapl06d7ww1mlb9a8ahl8zwa7y2n3jrgfm25qp4"
+   "commit": "b24ce76acefe792975f00147c94b4dd784e65b80",
+   "sha256": "1pyskl9xcqrk6r2zbp5i9402inngqps7wwb4nbdbrgi4di9b8in7"
   }
  },
  {
@@ -11791,11 +11901,11 @@
   "repo": "clojure-emacs/clojure-mode",
   "unstable": {
    "version": [
-    20201126,
-    1558
+    20210226,
+    1336
    ],
-   "commit": "53ef8ac076ae7811627fbdd408e519ab7fca9a0b",
-   "sha256": "0rhvrfmg6rgpas8v1hf5gmm9bqyk16nfjgcwl13fxzxsdyh0va7m"
+   "commit": "cccddea53b816c5d06c3f4fe0ba798b9f7047a63",
+   "sha256": "1yah2csfd932r0r7lb9pmc26y3f024vgdw477hfl83gfalc9n9by"
   },
   "stable": {
    "version": [
@@ -11821,8 +11931,8 @@
    "deps": [
     "clojure-mode"
    ],
-   "commit": "53ef8ac076ae7811627fbdd408e519ab7fca9a0b",
-   "sha256": "0rhvrfmg6rgpas8v1hf5gmm9bqyk16nfjgcwl13fxzxsdyh0va7m"
+   "commit": "cccddea53b816c5d06c3f4fe0ba798b9f7047a63",
+   "sha256": "1yah2csfd932r0r7lb9pmc26y3f024vgdw477hfl83gfalc9n9by"
   },
   "stable": {
    "version": [
@@ -11947,8 +12057,8 @@
    "deps": [
     "emacsql-sqlite"
    ],
-   "commit": "c864c1fadfea4a05fff29cb60891b7a32ac88c78",
-   "sha256": "06j0sc6dx8f34wc8i7dzkp8jwvwnrpnl8i93vpc1qw0ih0jwa2zh"
+   "commit": "1d5e9cbb69bc2992eaafa1bc084343efbd3e0c4c",
+   "sha256": "1s3pb8zn3ypc2pvkp7g7wvml02m06lk9d7c29pq1yqn9f5sisrcg"
   },
   "stable": {
    "version": [
@@ -12124,17 +12234,19 @@
     20210104,
     1831
    ],
-   "commit": "e6b6e457a0e8d33402bc7d64d85b20a8ca0546a0",
-   "sha256": "1p5vd3dmp7q0nw5px2gplrrdi6zgd3qlvmc3ql7xclgaxbp0zrs2"
+   "commit": "569547f0c4931c1ce163146d95375ead258c09d9",
+   "sha256": "02iwd0yrz9b9aw2v5vvqf43cscch85wgia386bkp4xaq2dd9h31s"
   },
   "stable": {
    "version": [
     3,
-    19,
-    3
+    20,
+    0,
+    -1,
+    2
    ],
-   "commit": "19ff734e76a35d59eb0f973197cadb1c271c766c",
-   "sha256": "0yzwnb1vikbhqzrqq6ngzqv45dcngajjc3b2f4cc002ry3bnn1mv"
+   "commit": "498b7da2e471fd8ef5a41433505358df4f117044",
+   "sha256": "1j7sray4d5zpfy6mkmhxg83scwjvkvr5q98nlaxsi01nir1ywxla"
   }
  },
  {
@@ -12279,6 +12391,21 @@
   }
  },
  {
+  "ename": "code-cells",
+  "commit": "75600cc888a717d300c6ca05b629fa7acba9390b",
+  "sha256": "1z8cf6bkpv21r42d10kvih5pb31k0iw4r18i8l96wfizad8bva93",
+  "fetcher": "github",
+  "repo": "astoff/code-cells.el",
+  "unstable": {
+   "version": [
+    20210111,
+    744
+   ],
+   "commit": "d03621b1033cc33054e30169517c57d020c13050",
+   "sha256": "0c2agyg28lqsmkkjcnhx8wdn531lh0zsy37q939wf231lpl4asvj"
+  }
+ },
+ {
   "ename": "code-library",
   "commit": "197bdc508c4fd9712125553a108ca6c9fedcaefc",
   "sha256": "0gi8lz2q0vis4nyziykq15jp3m3vykfwycbk6amhf1ybkn9k3ywj",
@@ -13078,11 +13205,11 @@
   "repo": "company-mode/company-mode",
   "unstable": {
    "version": [
-    20210114,
-    35
+    20210224,
+    2244
    ],
-   "commit": "288a7617c4c3e5f22a887a17a697ac2bfe4e567d",
-   "sha256": "1h5wkgv7gny7dp01mq35fj9g18v62813gx6qvw7812rypaj068yw"
+   "commit": "88001d794d963049339883216b6606de0a1209ea",
+   "sha256": "097s1zan4xg7vrkcapylcbs0a9ky1wbglxf9sz44aslwzrsgvy1p"
   },
   "stable": {
    "version": [
@@ -13220,8 +13347,8 @@
     "axiom-environment",
     "company"
    ],
-   "commit": "47d6dffc29286badb2b1d7143b219e5c1be15bdb",
-   "sha256": "1dppyda9jkwh6fj8m4kziq84w0b5yzxrhq87jhkv54jjra6yxbb4"
+   "commit": "41e0bf68b06911cbd0a1d7d36a506679a0f6137f",
+   "sha256": "0qy61shqrgaw3pqz94x10s969irs4hn8cawi1acp9hapfcfnf218"
   }
  },
  {
@@ -13599,62 +13726,30 @@
   "repo": "jcs-elpa/company-fuzzy",
   "unstable": {
    "version": [
-    20201119,
-    315
+    20210123,
+    1814
    ],
    "deps": [
     "company",
+    "ht",
     "s"
    ],
-   "commit": "ae004dc234b2cd2e4a0fd8a35aa8c966a15074c7",
-   "sha256": "1073hf1ximvhaf5vaxmz5arfph51ywqld52fkwjna6bf2djmchrf"
+   "commit": "4d6d56a8b92af72aa3b1e0af1a7e7add965bf468",
+   "sha256": "1yr050zgygjvhwjmm2yd5p889y24vars90cr4pyqc4zhmgzrdkw5"
   },
   "stable": {
    "version": [
     1,
-    0,
+    2,
     1
    ],
    "deps": [
     "company",
+    "ht",
     "s"
    ],
-   "commit": "ae004dc234b2cd2e4a0fd8a35aa8c966a15074c7",
-   "sha256": "1073hf1ximvhaf5vaxmz5arfph51ywqld52fkwjna6bf2djmchrf"
-  }
- },
- {
-  "ename": "company-ghc",
-  "commit": "28f6a983444f796c81df7e5ee94d74c480b21298",
-  "sha256": "07adykza4dqs64bk8vjmgryr54khxmcy28hms5z8i1qpsk9vmvnn",
-  "fetcher": "github",
-  "repo": "iquiw/company-ghc",
-  "unstable": {
-   "version": [
-    20170918,
-    833
-   ],
-   "deps": [
-    "cl-lib",
-    "company",
-    "ghc"
-   ],
-   "commit": "8b264b5c3c0e42c0d0c4e9315559896c9b0edfdc",
-   "sha256": "0cmyrz251ls6ygyas455mj4pnmzfdqag1sp8v5zggw74wsl5wm23"
-  },
-  "stable": {
-   "version": [
-    1,
-    1,
-    0
-   ],
-   "deps": [
-    "cl-lib",
-    "company",
-    "ghc"
-   ],
-   "commit": "64e4f9d0cf9377138a8dee34c69e7d578fd71090",
-   "sha256": "0y9i0q37xjbnlnlxq7xjvnpn6ykzbd55g6nbw10z1wg0m2v7f96r"
+   "commit": "4d6d56a8b92af72aa3b1e0af1a7e7add965bf468",
+   "sha256": "1yr050zgygjvhwjmm2yd5p889y24vars90cr4pyqc4zhmgzrdkw5"
   }
  },
  {
@@ -13744,6 +13839,24 @@
   }
  },
  {
+  "ename": "company-ipa",
+  "commit": "4ba3b53bd37c252eed24a5e8c61b7d9c91f9e2ee",
+  "sha256": "0xxx0kzspcxk9lblhcw19bjzsv64jwdda8jvv6hf9liql3c3npp9",
+  "fetcher": "gitlab",
+  "repo": "mguzmann89/company-ipa",
+  "unstable": {
+   "version": [
+    20210222,
+    30
+   ],
+   "deps": [
+    "company"
+   ],
+   "commit": "e9d919e0d15d3f986471d9d6cb46b67519f5088f",
+   "sha256": "1bg8y35rfyqdbn9y85iriq10iskc3dq0jgv3zqqykp5mriy5y8gd"
+  }
+ },
+ {
   "ename": "company-irony",
   "commit": "d2b6a8d57b192325dcd30fddc9ff8dd1516ad680",
   "sha256": "15adamk1b9y1i6k06i5ahf1wn70cgwlhgk0x6fk8pl5izg05z1km",
@@ -13863,8 +13976,8 @@
     "lean-mode",
     "s"
    ],
-   "commit": "cc1f5fadf8e9ae08aa25828985edc97df04d94a7",
-   "sha256": "0v03bisr0ljk1ypbicgh9izxwazz8ry5xcd7r1lqb339xqb0bzqb"
+   "commit": "15bee87dc4080b87c543964375b7ce162317ab6f",
+   "sha256": "127b7ny5mr1y14yg54gy7an3lk3928w4y9a22295i4v4zgj704j4"
   }
  },
  {
@@ -14021,8 +14134,8 @@
     "maxima",
     "seq"
    ],
-   "commit": "1600cfc059a80ed8fa0d381b88f29ba658811cc5",
-   "sha256": "030sg31xh46vrmsafvn04sdvyv4vzqf8rf5ghrlina1gav6kybfd"
+   "commit": "5e80033e6fa9089d5cd6fa93f6484b544f2ba059",
+   "sha256": "0qh19a3yi5cccj01wxrlyaw1zcaxvpjhxc5qk3mf4f1l8gm1sfi2"
   },
   "stable": {
    "version": [
@@ -14093,8 +14206,8 @@
     "cl-lib",
     "company"
    ],
-   "commit": "3ef9aa76c43347694d355db4c75cfd3d049cdbe1",
-   "sha256": "0kvxmpwf206grfirkpf8rwnkprb96lhna4bgaixf71g160dm3770"
+   "commit": "82bdb730ad5971c594d9c99c069f3c7bb067897d",
+   "sha256": "0qrlqir7fa2zf97yfsg8phj5dqgjz2rzn5zspfk9qlys3j8i483d"
   }
  },
  {
@@ -14164,38 +14277,6 @@
   }
  },
  {
-  "ename": "company-org-roam",
-  "commit": "aeb95e34be27dd78a237c0bfe1da94802fa68eae",
-  "sha256": "0k4w9g1rl94rpcvbcdmvsy47vzs53wz4b4hy9khj4yjn023nbsj7",
-  "fetcher": "github",
-  "repo": "org-roam/company-org-roam",
-  "unstable": {
-   "version": [
-    20200711,
-    355
-   ],
-   "deps": [
-    "company",
-    "dash",
-    "org-roam"
-   ],
-   "commit": "1132663bd68022aa7ea005ff53c7c7571890769d",
-   "sha256": "1xk53lyf5sn16cs2gv874sajs5jlsxbxpksbjx9nk8glzrq7r6r3"
-  },
-  "stable": {
-   "version": [
-    0,
-    1
-   ],
-   "deps": [
-    "company",
-    "org-roam"
-   ],
-   "commit": "a4c3f60883de783b190d4eb8bcc85f5912d9393a",
-   "sha256": "087z699i7y0q72s5qc7ks09bzin9cl3gm3aqs4ka99lzg676lrl8"
-  }
- },
- {
   "ename": "company-php",
   "commit": "ac283f1b65c3ba6278e9d3236e5a19734e42b123",
   "sha256": "1gnhklfkg17vxfx7fw65lr4nr07jx71y84mhs9zszwcr9p840hh5",
@@ -14211,22 +14292,22 @@
     "cl-lib",
     "company"
    ],
-   "commit": "7d97ecc07e6b4ac772670e26583f11e77fdc69fd",
-   "sha256": "00jdn4dw975bb6fgf7wyxjbmvs31p8bav376d017kk56q9w6mv1f"
+   "commit": "9770c95bf2df93d9cb0f200723b03b3d9a480640",
+   "sha256": "188z1i209z61nwfcgffgp90rdcsnl75izxpqv4x1vbaay5fvg33f"
   },
   "stable": {
    "version": [
     2,
-    3,
-    1
+    4,
+    0
    ],
    "deps": [
     "ac-php-core",
     "cl-lib",
     "company"
    ],
-   "commit": "1477a463e7b2fadf2542d9563b28424481d19bf3",
-   "sha256": "04163qnz5kq3cwmkm5yfvahq8d8ybmchlimzdp15p1izhfpvxnfn"
+   "commit": "33ed12bb2ec627a8a05360885f071e4a88fff399",
+   "sha256": "1ffayysbqh7vq65vhbmqg9yp03fqfnwj3drwyinr5ia81acp37nz"
   }
  },
  {
@@ -14333,8 +14414,8 @@
     "company",
     "pollen-mode"
    ],
-   "commit": "d0a33591498013886c2c4676e204cd684954e82a",
-   "sha256": "0lg65hzdjwbc3dav79f3jm7251yyq8ghcbccvkb32vwz281xhjnh"
+   "commit": "09a9dc48c468dcd385982b9629f325e70d569faf",
+   "sha256": "15z6sdkg9vygczr1imk3c5v6cbpqgsvnkydzkcmxnbwnqlx1agpc"
   }
  },
  {
@@ -14377,27 +14458,27 @@
   "repo": "raxod502/prescient.el",
   "unstable": {
    "version": [
-    20200716,
-    1414
+    20210227,
+    600
    ],
    "deps": [
     "company",
     "prescient"
    ],
-   "commit": "42adc802d3ba6c747bed7ea1f6e3ffbbdfc7192d",
-   "sha256": "0v12707jwd2ynk8gp3shgarl6yp3ynal7d4jzds6l2lknr6wi50w"
+   "commit": "b6da466e552a710a9362c73a3c1c265984de9790",
+   "sha256": "1gr3dzlwkdh2dbcw2q7qi4r8d3045vhyac6gy6f0g83hm2zvgall"
   },
   "stable": {
    "version": [
     5,
-    0
+    1
    ],
    "deps": [
     "company",
     "prescient"
    ],
-   "commit": "3f53946e6aa97c1e1783be74e5b71dfbd4b54fcc",
-   "sha256": "001q4l730bhw4d508jxlpzh1z459qzpg6rbncp12jrfm5yidksix"
+   "commit": "2c0e9fc061ab723ec532428f312974ca7d8def12",
+   "sha256": "0d6kbczkamhhcmc8bf01q6k1x0g7dwjihwllzsldgga3dclyh4ks"
   }
  },
  {
@@ -14573,8 +14654,8 @@
     "company",
     "rtags"
    ],
-   "commit": "39339388256df662d0084b4a094d03e52748f9e8",
-   "sha256": "0wp4mygsxzibra2p3m5rn9m0yd3fscd795k5xa0wxi5pwddv7dlg"
+   "commit": "aa4c827b417f5448c12401c33acdab1325917c13",
+   "sha256": "02jqcbrpxm4sv15l8kyvsw9pwkmamj065cgifj68x242fw2f0sam"
   },
   "stable": {
    "version": [
@@ -14639,8 +14720,8 @@
     "company",
     "solidity-mode"
    ],
-   "commit": "d166a86b83907e0cfd64c191e9dfce4b44a9843e",
-   "sha256": "19hgvsrqch2vp49ag6m76bi5qxd20v95z0ib838rib9as15b17wq"
+   "commit": "b4fd719715be098921b6cbfb2ff9da31f3bd0d05",
+   "sha256": "0gsgj5485k7415wzq73xbj3ax9hh2l1j46ma5d0xkww3md3c3kca"
   },
   "stable": {
    "version": [
@@ -14701,15 +14782,15 @@
   "repo": "stan-dev/stan-mode",
   "unstable": {
    "version": [
-    20200221,
-    2025
+    20210130,
+    1325
    ],
    "deps": [
     "company",
     "stan-mode"
    ],
-   "commit": "2dd330604563d143031fc8ffd516266217aa1f9b",
-   "sha256": "1l49fqd4wh9bkdpb4mk5a1cbl5i3iwc3q690viakhpb4840jmlry"
+   "commit": "9bb858b9f1314dcf1a5df23e39f9af522098276b",
+   "sha256": "031418nkp9qwlxda8i3ankp3lq94sv8a8ijwrbcwb4w3ssr9j3ds"
   },
   "stable": {
    "version": [
@@ -14781,8 +14862,8 @@
   "repo": "TommyX12/company-tabnine",
   "unstable": {
    "version": [
-    20210111,
-    347
+    20210228,
+    435
    ],
    "deps": [
     "cl-lib",
@@ -14791,8 +14872,8 @@
     "s",
     "unicode-escape"
    ],
-   "commit": "a6edb64cd1087f0453d08a72c3c0169cebcd9f4c",
-   "sha256": "069zzs80zwxhhnwnvybyvhd0qrwdd60r7ihffn5bmngmxf5nmi8i"
+   "commit": "9226f887e6b5e86599283a3b0f0b1774eb34fd7e",
+   "sha256": "0ljswlm745459grkp9dvdb49z5j53ki8xp2nxz7szcqa7xgpfs64"
   }
  },
  {
@@ -14881,6 +14962,36 @@
   }
  },
  {
+  "ename": "company-wordfreq",
+  "commit": "8df1cb0929505984e9fe739a01c196715f065b1e",
+  "sha256": "0980iay8d10xwx5i05zwyz85d8pcbj8y7kamyxfh47mxkaczip2i",
+  "fetcher": "github",
+  "repo": "johannes-mueller/company-wordfreq.el",
+  "unstable": {
+   "version": [
+    20210201,
+    1839
+   ],
+   "deps": [
+    "company"
+   ],
+   "commit": "3787785af2135c42af7b22562da554628141afdb",
+   "sha256": "0iwhi1pw14finc9n9avlv79wnyl8628cmdka5j83hjv1bs2fnysw"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    1
+   ],
+   "deps": [
+    "company"
+   ],
+   "commit": "3787785af2135c42af7b22562da554628141afdb",
+   "sha256": "0iwhi1pw14finc9n9avlv79wnyl8628cmdka5j83hjv1bs2fnysw"
+  }
+ },
+ {
   "ename": "company-ycm",
   "commit": "44e168f757cb51249db2deb9f781eff99cf6fb7c",
   "sha256": "1q4d63c7nr3g7q0smd55pp636vqa9lf1pkwjn9iq265369npvina",
@@ -14985,6 +15096,36 @@
   }
  },
  {
+  "ename": "compiler-explorer",
+  "commit": "28f8011009f8e92c020fe7599d9ede24b532e998",
+  "sha256": "1kqgdld32pfbxhxyrcjshj8ip06r8kxd7znvpsba39fp9s2k0pjh",
+  "fetcher": "github",
+  "repo": "mkcms/compiler-explorer.el",
+  "unstable": {
+   "version": [
+    20210212,
+    2218
+   ],
+   "deps": [
+    "request"
+   ],
+   "commit": "13dd0d44590dbf513aa0d70b518a3d2b1644179c",
+   "sha256": "0qwsajgwl28r4kpfxr5vzqwzspcjg0bb0n7cln8fp55bbq8wprq7"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "deps": [
+    "request"
+   ],
+   "commit": "0195db82b767e9defa36a2e298e6ac4aa4b47e69",
+   "sha256": "1ky63d2szw4sfgjd8xyfxswg2x7b8vnqnly6h1yisxc17994vl4v"
+  }
+ },
+ {
   "ename": "completions-frame",
   "commit": "dcbb088900f76c05b04ffe25d32e43a477a0556f",
   "sha256": "1ng5wmk1vp6yqrcyld23mrs8xdfa010l9acjy1vgkcsxjp3nmv3x",
@@ -15297,11 +15438,19 @@
   "repo": "minad/consult",
   "unstable": {
    "version": [
-    20210115,
-    618
+    20210228,
+    133
+   ],
+   "commit": "c5d74b191fb4ee70509e2592fa16a9398f96977b",
+   "sha256": "0dl9q9hg9yn7fargckkyjgiibxiy72y5vc909dg03q6v4azsg1r9"
+  },
+  "stable": {
+   "version": [
+    0,
+    5
    ],
-   "commit": "6e7fd01c217b2ee6cc5e02dd74d7e687c2ccf267",
-   "sha256": "0vzbv51q6ax824kcrr7hv4l93s91ii583lsx2wc0nvi0vklbq50i"
+   "commit": "947fa7067cb9a171251972f74b608d58df88faf5",
+   "sha256": "0840hm6nk6yzz8yp8xqzdrycf7wwklxaxp10q0d30wpxwcrsw5c2"
   }
  },
  {
@@ -15312,15 +15461,78 @@
   "repo": "minad/consult",
   "unstable": {
    "version": [
-    20210112,
-    1845
+    20210226,
+    1214
+   ],
+   "deps": [
+    "consult",
+    "flycheck"
+   ],
+   "commit": "c5d74b191fb4ee70509e2592fa16a9398f96977b",
+   "sha256": "0dl9q9hg9yn7fargckkyjgiibxiy72y5vc909dg03q6v4azsg1r9"
+  },
+  "stable": {
+   "version": [
+    0,
+    5
    ],
    "deps": [
     "consult",
     "flycheck"
    ],
-   "commit": "6e7fd01c217b2ee6cc5e02dd74d7e687c2ccf267",
-   "sha256": "0vzbv51q6ax824kcrr7hv4l93s91ii583lsx2wc0nvi0vklbq50i"
+   "commit": "947fa7067cb9a171251972f74b608d58df88faf5",
+   "sha256": "0840hm6nk6yzz8yp8xqzdrycf7wwklxaxp10q0d30wpxwcrsw5c2"
+  }
+ },
+ {
+  "ename": "consult-notmuch",
+  "commit": "e61a3f8cba4e5e303379f80c9fdd773fdde66406",
+  "sha256": "09kslrizpk5jh9czjn4xrcs1k9661dgly9z08dwsvb76pnjzd7wg",
+  "fetcher": "git",
+  "url": "https://codeberg.org/jao/consult-notmuch.git",
+  "unstable": {
+   "version": [
+    20210220,
+    411
+   ],
+   "deps": [
+    "consult",
+    "notmuch"
+   ],
+   "commit": "823c1fefc4a393039bced29d6b4c9a9d2aa720fe",
+   "sha256": "0rhn1ha65xnrv03sn94ii5hl7ycpiz97xz13sxzchla64bwjqy75"
+  },
+  "stable": {
+   "version": [
+    0,
+    1
+   ],
+   "deps": [
+    "consult",
+    "notmuch"
+   ],
+   "commit": "0bcdad24c8cc4ac530fcafd90ab728ed5dfbf0ed",
+   "sha256": "1s9glbwdwk29pp5nj4ab6giakhjqx4rcy4zbf7ml7h83qi59sd68"
+  }
+ },
+ {
+  "ename": "consult-spotify",
+  "commit": "fb515b013942cf5ef4590e7cbc17f11f10c7692f",
+  "sha256": "0y393qwvjv7blc8d4qih9ksm2521az28v29hgczjlady0fjp9bn9",
+  "fetcher": "git",
+  "url": "https://codeberg.org/jao/espotify",
+  "unstable": {
+   "version": [
+    20210220,
+    2229
+   ],
+   "deps": [
+    "consult",
+    "espotify",
+    "marginalia"
+   ],
+   "commit": "e714905b71993b6234a4aee6138d5b659605fe57",
+   "sha256": "118cksih4rm113miiagw31w0fx5inih60b04431amp0ydphp4fdw"
   }
  },
  {
@@ -15636,26 +15848,28 @@
   "repo": "abo-abo/swiper",
   "unstable": {
    "version": [
-    20210109,
-    1641
+    20210226,
+    1256
    ],
    "deps": [
+    "ivy",
     "swiper"
    ],
-   "commit": "cbce9ce71429c98c67bd76ef15d049ecced042f7",
-   "sha256": "08lgvpvkhp2i9q73bnr2v17w864rwp6wjnrl3b7qg06dacfs2rvl"
+   "commit": "e005666df39ca767e6d5ab71b1a55d8c08395259",
+   "sha256": "1c5d3ca2xll6x3px30cpasq2sd32shr37ivdm50wqr9q1yl22dm2"
   },
   "stable": {
    "version": [
     0,
     13,
-    0
+    2
    ],
    "deps": [
+    "ivy",
     "swiper"
    ],
-   "commit": "cd634c6f51458f81898ecf2821ac3169cb65a1eb",
-   "sha256": "0ghcwrg8a6r5q6fw2x8s08cwlmnz2d8qjhisnjwbnc2l4cgqpd9p"
+   "commit": "1deef7672b25e2cb89dfe5cc6e8865bc6f2bcd4e",
+   "sha256": "0mbdjralgb591hffzi60v0b2rw8idxky9pc8xwn1395jv30kkzfb"
   }
  },
  {
@@ -15666,15 +15880,15 @@
   "repo": "gexplorer/counsel-ag-popup",
   "unstable": {
    "version": [
-    20210114,
-    1548
+    20210121,
+    805
    ],
    "deps": [
     "counsel",
     "transient"
    ],
-   "commit": "cf0ee4f5bdb43a576f5cde00d52744ddb49177d5",
-   "sha256": "1k9d0581imp65d6w9vmc8bx6phyx0pvl7mas56p06hgnwg1i9cyk"
+   "commit": "41d85fe36edd72da68f5009ad9cf9013cd19960d",
+   "sha256": "1gfppiwx0cilg97bfb2cpdk7j10rdm473kklrkvb6wlwwg3j9w3q"
   }
  },
  {
@@ -15795,6 +16009,40 @@
   }
  },
  {
+  "ename": "counsel-edit-mode",
+  "commit": "73f84ab4a5b2cc5625968961601bad2a50ecc1f1",
+  "sha256": "0hlg10a7vg8lk08l439z0ldfidccgk6ngsjs1p384s24nqzrds9b",
+  "fetcher": "github",
+  "repo": "tyler-dodge/counsel-edit-mode",
+  "unstable": {
+   "version": [
+    20210103,
+    1508
+   ],
+   "deps": [
+    "counsel",
+    "ht",
+    "s"
+   ],
+   "commit": "82234306562f47ec50db212888dbcf21ef0b70f8",
+   "sha256": "0jfl33npvw6rqk734ml87bfvnjrsgzim0z397j1bg7klva60j7q6"
+  },
+  "stable": {
+   "version": [
+    0,
+    6,
+    1
+   ],
+   "deps": [
+    "counsel",
+    "ht",
+    "s"
+   ],
+   "commit": "75563c48135a4f52230d08e818e35d72fd55c2a4",
+   "sha256": "05ryph35ynzq7r5wp8m1q9vhnjv60x24sphzvbp8is0dp0fgwr0d"
+  }
+ },
+ {
   "ename": "counsel-etags",
   "commit": "87528349a3ab305bfe98f30c5404913272817a38",
   "sha256": "1h3dlczm1m21d4h41vz9ngg5fi02g6f95qalfxdnsvz0d4w4yxk0",
@@ -15802,14 +16050,14 @@
   "repo": "redguardtoo/counsel-etags",
   "unstable": {
    "version": [
-    20201228,
-    741
+    20210226,
+    1218
    ],
    "deps": [
     "counsel"
    ],
-   "commit": "c10951946d6dd935e4ab5d18db5da228e1c22806",
-   "sha256": "09n0mpp0pchb85f7qkizd686rpkfagmr7sd0sxsh81xhzdavam47"
+   "commit": "e41a39cd07c594b5fa1c6757e9464be56a3dadea",
+   "sha256": "1dcph2ak1r5yrw0hfygrb6d80y3jkx1fsj1rrp7sg3p37rnfhq94"
   },
   "stable": {
    "version": [
@@ -15869,15 +16117,15 @@
   "repo": "FelipeLema/emacs-counsel-gtags",
   "unstable": {
    "version": [
-    20201211,
-    1755
+    20210222,
+    1803
    ],
    "deps": [
     "counsel",
     "seq"
    ],
-   "commit": "e4a662c38cd217bae9c0bd80f2c9b53cc2cffcb7",
-   "sha256": "0gb8gbphckyk834mxl704fawvykigmk0cl8klmyfap0nb55h846b"
+   "commit": "1d52eaeffeb60266434d4f7416a108ca058fde91",
+   "sha256": "13jx6hscdcfqwzk1pcmzrv7frglcnd1ywl22ddxzzymi339r4lyj"
   },
   "stable": {
    "version": [
@@ -15975,8 +16223,8 @@
     "dash",
     "ivy"
    ],
-   "commit": "c5f781f241f8b16b7c3b6fb3e56e2938ba1dd87a",
-   "sha256": "10img15z5lfn8ml8d6v5mjf1nr73i8mjn9xy23ydp16n2idshh3d"
+   "commit": "6ba0f2ac7e4e5b8c1baec90296d9f24407d8d632",
+   "sha256": "1kp83cql4gn9g3d8g5mw3mrmpfj407kzpsi5wmwl1jr1pmw3v3jc"
   }
  },
  {
@@ -16186,8 +16434,8 @@
     "f",
     "s"
    ],
-   "commit": "5efa13e7d3e06f206b29879d8f66afd6b0d26f52",
-   "sha256": "01d7kgsdv09lllmhi2dvywb61n2aj3j665xcxqjidwfl03vsw16g"
+   "commit": "2f25d645448d64f2516f8f1181429c35cd214639",
+   "sha256": "0prhapqan96hha92sjfkhx3dv7zgxbrc7fcm8kk63z38psnx92zx"
   }
  },
  {
@@ -16576,6 +16824,29 @@
   }
  },
  {
+  "ename": "crossword",
+  "commit": "d74c680a2eada669fa092d05fa5c16ac81b9ad13",
+  "sha256": "11kpsdzpr4cv49xvzh49qfn77if397y6p2bxh7ql772mbhhb2h1m",
+  "fetcher": "github",
+  "repo": "Boruch-Baum/emacs-crossword",
+  "unstable": {
+   "version": [
+    20210216,
+    1703
+   ],
+   "commit": "fa80bfef81168509ddbd840d95c6671efe91c253",
+   "sha256": "12kgzzsnh9bh6aiip53ib28yapajg326xd7g45apjkl8irazr4db"
+  },
+  "stable": {
+   "version": [
+    1,
+    0
+   ],
+   "commit": "fa80bfef81168509ddbd840d95c6671efe91c253",
+   "sha256": "12kgzzsnh9bh6aiip53ib28yapajg326xd7g45apjkl8irazr4db"
+  }
+ },
+ {
   "ename": "crux",
   "commit": "575e3442a925500a5806e0b900208c1e6bfd11ae",
   "sha256": "10lim1sngqbdqqwyq6ksqjjqpkm97aj1jk550sgwj28338lnw73c",
@@ -16583,14 +16854,14 @@
   "repo": "bbatsov/crux",
   "unstable": {
    "version": [
-    20201129,
-    1921
+    20210224,
+    910
    ],
    "deps": [
     "seq"
    ],
-   "commit": "ba4a1f38eee0ae7597f67a1424bbf5c0c09473bf",
-   "sha256": "0swykynbxsvxwxqjf41aqydkfrwy6f5ngl4pp8py5r5vh78a91ih"
+   "commit": "a471cbed343dc5ff3a7150214726fe4ea0d3cf9e",
+   "sha256": "152c7x1zj4rwq9bj9d8xw4znspfik2g7aigazq9smv12fkmzvzrr"
   },
   "stable": {
    "version": [
@@ -16694,11 +16965,16 @@
   "repo": "emacs-csharp/csharp-mode",
   "unstable": {
    "version": [
-    20210114,
-    2018
+    20210128,
+    841
    ],
-   "commit": "1d02a54f71b0c6ae0b5be9f764271ac31b1b0167",
-   "sha256": "02mbxqf4y04ancz89jkb8dmpmx3pmzxnxm5vc4fc6d828nzv56fx"
+   "deps": [
+    "tree-sitter",
+    "tree-sitter-indent",
+    "tree-sitter-langs"
+   ],
+   "commit": "09b4d57d020a97e1696e89baa6d9855ff5c86014",
+   "sha256": "1k8qz7fivwr8jli5xid156m0cb00mszfxskblylh2rs2fswpg3la"
   },
   "stable": {
    "version": [
@@ -16844,6 +17120,25 @@
   }
  },
  {
+  "ename": "ct",
+  "commit": "a216297f766f14428c689a184bf1ba0a03f02a29",
+  "sha256": "01p6jz0kdsr3h033nwg7xbyp55w3pszdg6bkkhdygiyhsaqlw4y1",
+  "fetcher": "github",
+  "repo": "neeasade/ct.el",
+  "unstable": {
+   "version": [
+    20210219,
+    1344
+   ],
+   "deps": [
+    "dash",
+    "hsluv"
+   ],
+   "commit": "c302ee94feee0c5efc511e8f9fd8cb2f6dfe3490",
+   "sha256": "0230h5qvg5jbpyry4xxmh41c0wpinmm04k5hc1qsc2mvqhv3n9n5"
+  }
+ },
+ {
   "ename": "ctable",
   "commit": "8bc29a8d518ce7a584277089bd4654f52ac0f358",
   "sha256": "040qmlgfvjc1f908n52m5ll2fizbrhjzbd0kgrsw37bvm3029rx1",
@@ -16851,11 +17146,14 @@
   "repo": "kiwanami/emacs-ctable",
   "unstable": {
    "version": [
-    20171006,
-    11
+    20210128,
+    629
    ],
-   "commit": "b8830d1ca95abb100a81bc32011bd17d5ecba000",
-   "sha256": "0pg303pnqscrsbx9579hc815angszsgf9vpd2z2f8p4f4ka6a00h"
+   "deps": [
+    "cl-lib"
+   ],
+   "commit": "48b73742757a3ae5736d825fe49e00034cc453b5",
+   "sha256": "16yrx1z44xs24z2a0gwzf1xhhks1wrzafc5ihf6lbw843rq2jar0"
   },
   "stable": {
    "version": [
@@ -16913,19 +17211,19 @@
   "repo": "raxod502/ctrlf",
   "unstable": {
    "version": [
-    20201020,
-    1353
+    20210227,
+    552
    ],
-   "commit": "5acefdc9a6f8e35febf6f71b6a34a0d4fc499269",
-   "sha256": "0h707npbc4n9zx3pzla8cwaij48f80gg8fyjrdha4wb4y8ld6llq"
+   "commit": "4fd7d9dffbbf91dfcaccccb54c571f53c279e94f",
+   "sha256": "076xjd8aia8q96hakcw861a4hmkfdx0aafhnkwww4fk7vv50b7qx"
   },
   "stable": {
    "version": [
     1,
-    2
+    3
    ],
-   "commit": "d398a9bfbd959489fd6515b62dbf818a61d0e4d6",
-   "sha256": "1f0k3432brc96am6az6xr1nks1vacqzixhdgwfn2xklb8if9a5xi"
+   "commit": "d7fad32584c3e569046691bf7f27b21e294c0a2a",
+   "sha256": "06wq6scqy2ax0h6aahy2r7hn3bbmkzl4w99bkrc3cqd4ij78sc8g"
   }
  },
  {
@@ -16951,11 +17249,11 @@
   "repo": "maurooaranda/ctune",
   "unstable": {
    "version": [
-    20190914,
-    1305
+    20210205,
+    1428
    ],
-   "commit": "d7643461f5aa33cc04e4d808123e4ed1d85500ee",
-   "sha256": "03gby644xqah7q9sjba9w6c7askc1s7ka4bx814x6vrlla6089h4"
+   "commit": "3f7abc6e74d4e5954b476ba9a1dc652f96b10c05",
+   "sha256": "1lcgkh0hhgx4rvc84kgbg3sczqp53gz6859c30hq1agn1zhbwrvy"
   },
   "stable": {
    "version": [
@@ -17306,17 +17604,17 @@
     20190111,
     2150
    ],
-   "commit": "30fc474830b4a5beb88cdc53a31797ed794cddb8",
-   "sha256": "08wb26skxw4gh1gzpbxxgi63x44zbb50xd6mi5nbsg538fqb9arj"
+   "commit": "9a761a637fce6a7b70735ae2248963d63e569e14",
+   "sha256": "1f7zk28ywx47ig5fa6plq4415lbvd4972j4jjgb05qrg853zpca5"
   },
   "stable": {
    "version": [
     0,
     29,
-    21
+    22
    ],
-   "commit": "976f5483c6df8570f34076ef25af7e7512dd9347",
-   "sha256": "1951kwfnngy2k7m3adqi17rb7f17yrr5n9zpvvmw7vxpfmca66ka"
+   "commit": "3e470fcc3a4e9a33b66d5db6ab761c773888a1ea",
+   "sha256": "1fbi0ladg9c37hw3js72i72nza8hfjzm5c8w95c6bmzsl22lszwi"
   }
  },
  {
@@ -17342,11 +17640,11 @@
   "repo": "Emacs-D-Mode-Maintainers/Emacs-D-Mode",
   "unstable": {
    "version": [
-    20201201,
-    1136
+    20210119,
+    1853
    ],
-   "commit": "1931ec9ee7af6767883452a822914ad3fd98ddad",
-   "sha256": "0sf7bn11hfcmmlx3vrp0aix2g1nvng7wfwbkbvj682prr9zld3c3"
+   "commit": "80fad305784b21a818683010bc27d48302ec7110",
+   "sha256": "0xz29ac8mpqkzgzdvhdv98aa4mrd6br4sr5fxwpb3kpidmqpa9h8"
   },
   "stable": {
    "version": [
@@ -17473,8 +17771,8 @@
   "repo": "jyp/dante",
   "unstable": {
    "version": [
-    20210101,
-    907
+    20210221,
+    1947
    ],
    "deps": [
     "company",
@@ -17485,8 +17783,8 @@
     "lcr",
     "s"
    ],
-   "commit": "7b32bf21d5b9f7232c4b5c3760abf306e9ed9a0c",
-   "sha256": "1if4p6ikj7dry2c0xyli4m02f6xabriddm25xp4nksm8mj9cjgby"
+   "commit": "7b1ab644214e03b86dcf7436fd22a65cce2fa858",
+   "sha256": "177d9gk2fayx1nmd1gs6cf3mi35jakxn2di785qlhk7h5alai9hc"
   },
   "stable": {
    "version": [
@@ -17514,21 +17812,21 @@
   "repo": "emacs-lsp/dap-mode",
   "unstable": {
    "version": [
-    20201118,
-    1304
+    20210222,
+    419
    ],
    "deps": [
     "bui",
     "dash",
-    "dash-functional",
     "f",
+    "ht",
     "lsp-mode",
     "lsp-treemacs",
     "posframe",
     "s"
    ],
-   "commit": "612388d0b85e77972a9c28391bac6224a63408c7",
-   "sha256": "1z1vimfwjb5bfqdijh38cii222sw07l2mgbw4bwhwp93kasczw9a"
+   "commit": "aa15b9c49b7e09bb23f9a4ff7855122f0eb19976",
+   "sha256": "02gws113c95567qp2zvxzqdhzapkcx9qnf00k2l0j52f7i0kz49b"
   },
   "stable": {
    "version": [
@@ -17781,20 +18079,20 @@
   "repo": "magnars/dash.el",
   "unstable": {
    "version": [
-    20210114,
-    2017
+    20210228,
+    2221
    ],
-   "commit": "6f5888c77523c2373c5252ef2113612beac7e78f",
-   "sha256": "1kg6c0jv44wlc0pidphg0cpmxfkn72r9391x0jgl1w22bhsvy4cz"
+   "commit": "6a086fccc95e96db2a819346d1eaf504654d9713",
+   "sha256": "12b13p74p8iw8lxm2lh5lar15fs7j2mcyx837ddmag11qspdyy4p"
   },
   "stable": {
    "version": [
     2,
-    17,
-    0
+    18,
+    1
    ],
-   "commit": "721436b04da4e2795387cb48a98ac6de37ece0fd",
-   "sha256": "153f55dqkhs8w2xlf6b88wp5vlkap7h8vjd9wxh4jp2ram5g4l1n"
+   "commit": "1a53e13d7964c84cf756ead353eb6dc094b65fd5",
+   "sha256": "1cvfd36vv0wqb16bnqqxh99hy2yks0j2i4l8qjkg3bxjgk7ldmva"
   }
  },
  {
@@ -17854,26 +18152,26 @@
   "repo": "magnars/dash.el",
   "unstable": {
    "version": [
-    20210103,
-    1524
+    20210210,
+    1449
    ],
    "deps": [
     "dash"
    ],
-   "commit": "6f5888c77523c2373c5252ef2113612beac7e78f",
-   "sha256": "1kg6c0jv44wlc0pidphg0cpmxfkn72r9391x0jgl1w22bhsvy4cz"
+   "commit": "6a086fccc95e96db2a819346d1eaf504654d9713",
+   "sha256": "12b13p74p8iw8lxm2lh5lar15fs7j2mcyx837ddmag11qspdyy4p"
   },
   "stable": {
    "version": [
     2,
-    17,
-    0
+    18,
+    1
    ],
    "deps": [
     "dash"
    ],
-   "commit": "721436b04da4e2795387cb48a98ac6de37ece0fd",
-   "sha256": "153f55dqkhs8w2xlf6b88wp5vlkap7h8vjd9wxh4jp2ram5g4l1n"
+   "commit": "1a53e13d7964c84cf756ead353eb6dc094b65fd5",
+   "sha256": "1cvfd36vv0wqb16bnqqxh99hy2yks0j2i4l8qjkg3bxjgk7ldmva"
   }
  },
  {
@@ -17884,14 +18182,14 @@
   "repo": "emacs-dashboard/emacs-dashboard",
   "unstable": {
    "version": [
-    20210113,
-    922
+    20210218,
+    1550
    ],
    "deps": [
     "page-break-lines"
    ],
-   "commit": "fb5e47576a1c91374b008221277f0a45b2491085",
-   "sha256": "0c4rj8lm7dikjbnr2ynzhmzchg7mjirawp0hqxd5jgdv0lbn267n"
+   "commit": "411ff9ff9368f03d09097ad1d395d632fd4d9f40",
+   "sha256": "0db8h1004ndn1b9cvh27fj5w5r6p83nmskcy983cw5qris02vrkx"
   },
   "stable": {
    "version": [
@@ -18274,16 +18572,16 @@
   "repo": "Wilfred/deadgrep",
   "unstable": {
    "version": [
-    20210113,
-    829
+    20210219,
+    748
    ],
    "deps": [
     "dash",
     "s",
     "spinner"
    ],
-   "commit": "bb374c625939ac2dd9e2408c2cc180b1c9f4aa20",
-   "sha256": "0galdbka4dmlrryn5pbyd7frc676hb91y0zf6di8p9j2v3r7gzqv"
+   "commit": "ca16c37ffa5caa5f698bc049012489a2e3071bcc",
+   "sha256": "055yxchqbqp4pbw9w9phibnp0a2qw1jsb1a5xbfc558phi2vbxdd"
   },
   "stable": {
    "version": [
@@ -18459,8 +18757,8 @@
     20201227,
     2319
    ],
-   "commit": "dd143e7e6cf5384d203a76e50fe677a77f1cd615",
-   "sha256": "1zpf35x1w4ldijqx3a2qlykhy9xgw3mqzxhfv0r3qn37k7lg0m58"
+   "commit": "e5aad0510139cca42b37614d3599951ac0a28ccc",
+   "sha256": "0kp3ngmdwip7c4c9mvw1l04p13gjjfaigwdiaycbzd5jzlgdh6rq"
   }
  },
  {
@@ -18806,20 +19104,35 @@
   "repo": "DamienCassou/desktop-environment",
   "unstable": {
    "version": [
-    20201229,
-    1107
+    20210129,
+    2018
    ],
-   "commit": "9ece03e3e687ff97d79eb2a9f6cc506a932f89ca",
-   "sha256": "1hsjzwwlhqxqgp5ii8a23wq2fc7a8dzfnqhjyakn39wp7dm925sz"
+   "commit": "2c3e0750c11485931f447ea82f80bc90ae07aeba",
+   "sha256": "0ciha9q6j0fp0197ga0ifi4j527sp2pk6862mm70skpfv6bm8dx2"
   },
   "stable": {
    "version": [
     0,
-    4,
+    5,
     0
    ],
-   "commit": "c7507bfb10464b0527b3e2c5287a256cf3bf7ba3",
-   "sha256": "0s33jncjg8c2xlr90qjk1ishwmwxm9yg0z6n3kzilawcilpxidsh"
+   "commit": "9da8f4bddb78668085a7fc367f9021549f9e5f70",
+   "sha256": "03rl1z860jmirjrrg0xsjx0bqk73k043c8bz6049zhndh7pidri7"
+  }
+ },
+ {
+  "ename": "desktop-mail-user-agent",
+  "commit": "d0ac6ab8716a772a38e368bfe91229aa9bcbee29",
+  "sha256": "1w8yr1viwkcp3g499zgk20j0q38891s9smgwvn8bly25bas9z1x7",
+  "fetcher": "github",
+  "repo": "lassik/emacs-desktop-mail-user-agent",
+  "unstable": {
+   "version": [
+    20210228,
+    1335
+   ],
+   "commit": "cf45bbbdd77b105df8d2a51e27b46d480ef992c8",
+   "sha256": "0a18sfy9diwcrzhcykd7pnw990kmlfb60zdxbi0nmkyqzx5gj1hi"
   }
  },
  {
@@ -18941,11 +19254,11 @@
   "repo": "raxod502/diary-manager",
   "unstable": {
    "version": [
-    20200404,
-    1549
+    20210226,
+    416
    ],
-   "commit": "4f9d3104f0d89fe3e39c878d2035e6b6d9510659",
-   "sha256": "094x2n9nlqwxdppkw7wsyxwp34gf0b1dfyxp97nn712mfy98g1fc"
+   "commit": "12f194bd411e52b72bdf555e48e9a831e5ff8357",
+   "sha256": "0mn90abd2ak5f9b1s3q5h3l2lfhi91mwx4j50hs8q91s0r43hixz"
   },
   "stable": {
    "version": [
@@ -19074,8 +19387,8 @@
     20201006,
     1436
    ],
-   "commit": "940f967bca64a8012892040c2e2f262d8709c41a",
-   "sha256": "1pm4a3jx2aq1cz9s9nfs1zm0s4crqarai3hr6dyihjqyf0szwrvq"
+   "commit": "3fcf861f1f8b91d97000bda32345bc92df8e2d37",
+   "sha256": "0x0awnasdjkmmrm11dqs4spkx2j3prkiqrmf5w3lxp2v28i4m2qk"
   }
  },
  {
@@ -19086,14 +19399,14 @@
   "repo": "dgutov/diff-hl",
   "unstable": {
    "version": [
-    20210113,
-    1930
+    20210223,
+    2303
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "dc3e12f14f5fddff3811310cd48640e2c9e626da",
-   "sha256": "1ackhs5rajydwfjgm4a9mwqhc75dk1jsby4yxkqbji495kwq4rsq"
+   "commit": "738c5d6a6bffe46b18249c77d59ae1d9e2d4d126",
+   "sha256": "1dn77ysxi9h1yz7f3lpw2gv4jsbwgjqbci5b6blgk5zaqpkj8nrd"
   },
   "stable": {
    "version": [
@@ -19116,16 +19429,16 @@
   "repo": "dieggsy/difflib.el",
   "unstable": {
    "version": [
-    20171227,
-    1518
+    20210224,
+    2242
    ],
    "deps": [
     "cl-generic",
     "ht",
     "s"
    ],
-   "commit": "b08850251812d71e62fd6956081299590acdf37b",
-   "sha256": "03k5iy610f1m2nmkdk69p49fcfqfyxmy3h6fqvqsr2v1hix8i54a"
+   "commit": "646fc4388274fe765bbf4661e17a24e4d081250c",
+   "sha256": "1qagl3ffg01zjqrgpq32h4ya869066n8ll9yq8lk40argjm523fa"
   },
   "stable": {
    "version": [
@@ -19188,20 +19501,20 @@
   "repo": "retroj/digistar-mode",
   "unstable": {
    "version": [
-    20200827,
-    9
+    20210129,
+    1719
    ],
-   "commit": "f46d58ea690c7c9ff9aca19441dff23284bab7cf",
-   "sha256": "0x29502mn9cpbsfiqsdaa90j2566zfai5lbv2c49w5wxxm904b7j"
+   "commit": "e12b128023b7696a23545f812877e8c6531d261c",
+   "sha256": "17ja51xcwmiy66000k08z8c7za4rivsi1w8w650s8byd4v9nkc75"
   },
   "stable": {
    "version": [
     0,
     9,
-    1
+    2
    ],
-   "commit": "f46d58ea690c7c9ff9aca19441dff23284bab7cf",
-   "sha256": "0x29502mn9cpbsfiqsdaa90j2566zfai5lbv2c49w5wxxm904b7j"
+   "commit": "e12b128023b7696a23545f812877e8c6531d261c",
+   "sha256": "17ja51xcwmiy66000k08z8c7za4rivsi1w8w650s8byd4v9nkc75"
   }
  },
  {
@@ -19588,20 +19901,20 @@
   "repo": "knu/dired-fdclone.el",
   "unstable": {
    "version": [
-    20180403,
-    608
+    20210226,
+    532
    ],
-   "commit": "903d7a736d240ef7352989a4e5d0ff9129c2ee3c",
-   "sha256": "0vkdsm29g1cvvv1j8xgjwr94x20zx8k2wvmncrpakcwq6d47cfxw"
+   "commit": "3ba369f5fc48a8fdf06d1c6ee1167b5a6eb7c1b3",
+   "sha256": "1qh19f0ry7ri7vibcsb9y36ni7k8spjlnl01knlx7cs65qza8mpf"
   },
   "stable": {
    "version": [
     1,
     5,
-    4
+    6
    ],
-   "commit": "903d7a736d240ef7352989a4e5d0ff9129c2ee3c",
-   "sha256": "0vkdsm29g1cvvv1j8xgjwr94x20zx8k2wvmncrpakcwq6d47cfxw"
+   "commit": "1473c20fe91ebbe8c44bf2c6551a5f76fbc3b65b",
+   "sha256": "0dca8arnh07mdvrwiaxfgfirrsjcwl4vdap7czd4rdkbmgvkv994"
   }
  },
  {
@@ -19687,11 +20000,11 @@
   "repo": "mattiasb/dired-hide-dotfiles",
   "unstable": {
    "version": [
-    20170314,
-    2039
+    20210222,
+    1919
    ],
-   "commit": "b715f643ec805b3b8aca334595e6589320f04a49",
-   "sha256": "1n6l25lrhp1x8nhc54kqal96wq96kkfyvz5yzvlw1qd3yk4s567i"
+   "commit": "6a379f23f64045f5950d229254ce6f32dbbf5364",
+   "sha256": "0cwsjndvnv9a62ism7ckj27jdqx362947lyizka78qvmv369avv3"
   },
   "stable": {
    "version": [
@@ -20014,8 +20327,8 @@
     "dash",
     "s"
    ],
-   "commit": "947a008387a939f466ca122bda2ea98bb17710e3",
-   "sha256": "19za6i96xrmczdh928n5ixd7j7pvy175sz1msaiwvdjwysjr8k51"
+   "commit": "fb0f161ac3cce1b224f52547f5bc7e1dcd283191",
+   "sha256": "0c92cqdsllly2dqrgfa9x8nmdyia1p9gkzyaf4427m1wd08dnfra"
   },
   "stable": {
    "version": [
@@ -20038,14 +20351,14 @@
   "repo": "jojojames/dired-sidebar",
   "unstable": {
    "version": [
-    20210109,
-    1854
+    20210227,
+    1046
    ],
    "deps": [
     "dired-subtree"
    ],
-   "commit": "18986f015c993508af0b1b4e43e11dbd7af98057",
-   "sha256": "1zla8q26sif8795n5vncwgz2j7c45bh3gnjkwqgpdg4carrw5s60"
+   "commit": "beea35753bc7b0df86f1a966989d626e0aa20481",
+   "sha256": "16yi9k1lmmfyys2vgfjxpq3mh82g208c54b1nvm6cm8kqxy1x10q"
   },
   "stable": {
    "version": [
@@ -20161,6 +20474,14 @@
     20210113,
     1
    ],
+   "commit": "491308566832a38c0c49a894f7b12b8ff62e7aa6",
+   "sha256": "1pa9k4y74rihh8d4ij6pdnpybs0ib2vcxvjp7ldlndxqpfzxaxxd"
+  },
+  "stable": {
+   "version": [
+    1,
+    0
+   ],
    "commit": "887434054c2cfc521ceb990266cc7bbc12c4a72a",
    "sha256": "16rwxv2mrn79m8hqg79kq7z6fz2l8amh17kny4y3qnsvakpi0hch"
   }
@@ -20219,14 +20540,14 @@
   "repo": "wbolster/emacs-direnv",
   "unstable": {
    "version": [
-    20200529,
-    1305
+    20210117,
+    1213
    ],
    "deps": [
     "dash"
    ],
-   "commit": "f5484b0fc33d4e5116612626294efb362ff9ecd4",
-   "sha256": "0772z4v2jjinqlqhrdcsvk912gdi0dkxag7q5nm0rnkx2pyk7ynw"
+   "commit": "381176f301dea8414a5a395c0d6546507838f6ce",
+   "sha256": "0hmj5m3wiqwdmjzxbzkf4sg8gaswdv5rv6jqgqvz3h9sm17fnps7"
   },
   "stable": {
    "version": [
@@ -20744,10 +21065,10 @@
  },
  {
   "ename": "django-mode",
-  "commit": "bdc46811612ff96cb1e09552b9f095d68528dcb3",
-  "sha256": "1rdkzqvicjpfh9k66m31ky6jshx9fqw7pza7add36bk6xg8lbara",
+  "commit": "bb974042c92a37403f855c0b3fb3cfdc8807ed19",
+  "sha256": "1wydqd3pbwshmd2a52hczbq3vfj2dsv9dgs7ivqkawryigdj3qfc",
   "fetcher": "github",
-  "repo": "myfreeweb/django-mode",
+  "repo": "unrelentingtech/django-mode",
   "unstable": {
    "version": [
     20170522,
@@ -20764,10 +21085,10 @@
  },
  {
   "ename": "django-snippets",
-  "commit": "bdc46811612ff96cb1e09552b9f095d68528dcb3",
-  "sha256": "1qs9fw104kidbr5zbxc1q71yy033nq3wxh98vvzk4z4fppnd29sw",
+  "commit": "bb974042c92a37403f855c0b3fb3cfdc8807ed19",
+  "sha256": "0fz9jywfxwhh9kq5w12jyizvxxhfjzybfl3gxrhg5sj0qakfpll8",
   "fetcher": "github",
-  "repo": "myfreeweb/django-mode",
+  "repo": "unrelentingtech/django-mode",
   "unstable": {
    "version": [
     20131229,
@@ -20994,8 +21315,8 @@
   "repo": "Silex/docker.el",
   "unstable": {
    "version": [
-    20200610,
-    715
+    20210208,
+    1500
    ],
    "deps": [
     "dash",
@@ -21005,8 +21326,8 @@
     "tablist",
     "transient"
    ],
-   "commit": "3773112eea3fc99704b5ca50c1e9a3db2cb8e4f3",
-   "sha256": "0gi86ggjyfmfas7pswj7wirn5n7zs6rvb5b95nchnf4xf0nzwia1"
+   "commit": "0ca910badf86ff2e2dbfdf3f18819dd72a3198fc",
+   "sha256": "0n21nv79z356wmz2sryq1r0f68ds2kwkgivi8z82lqrv9ndni2xv"
   },
   "stable": {
    "version": [
@@ -21139,22 +21460,19 @@
   "repo": "spotify/dockerfile-mode",
   "unstable": {
    "version": [
-    20210106,
-    235
+    20210301,
+    52
    ],
-   "commit": "58b7380189de21496235382900838aa0db2dcf92",
-   "sha256": "1n3kis5g7m25sl68iw9jw7jkfz7jab82v37xk492d77rr9cbvjwx"
+   "commit": "07dde72b0e356d772fb65b969bd6decfa166e4d7",
+   "sha256": "17hpwhv0mg7ai90sczb6p4i6fwi9s1i3dsbnmk9rf6w6f5y0r1wk"
   },
   "stable": {
    "version": [
     1,
-    3
-   ],
-   "deps": [
-    "s"
+    4
    ],
-   "commit": "d31f7685ebc5832d957e25070a930aa42984327d",
-   "sha256": "1br73dsls42fn4rwagljkpa3l4wwj6f7jxfn3gmgl6c54z81av3v"
+   "commit": "ed1d04c89cd8b53963f2dcae7cb3a46967e0abbf",
+   "sha256": "1ypkihd9si769r6k0lfrv8jq8mjv4gyhiwyi820sayfppvma5rj0"
   }
  },
  {
@@ -21196,6 +21514,36 @@
   }
  },
  {
+  "ename": "docstr",
+  "commit": "d2638156924dc2a327dca5f20ca63479878690c2",
+  "sha256": "1kga9h5vy4nzwhcvshxk1lpg1n7lfbygxbdpln7vfizpw065f3m7",
+  "fetcher": "github",
+  "repo": "jcs-elpa/docstr",
+  "unstable": {
+   "version": [
+    20210222,
+    1525
+   ],
+   "deps": [
+    "s"
+   ],
+   "commit": "6103a63385f5dfa828a3e759f3668f6be630cd54",
+   "sha256": "0w69m94i2aqhfcwnvvpkkfrz1vd871rf0fn68jm123mxg1hc76ac"
+  },
+  "stable": {
+   "version": [
+    5,
+    7,
+    0
+   ],
+   "deps": [
+    "s"
+   ],
+   "commit": "63b0460a4785b4b4aee5cc072b52fb2d3a7eef6e",
+   "sha256": "0qw8ycb2jmv015agm0yc1p3aymxccv79wfczypf0ncrkv448sbvi"
+  }
+ },
+ {
   "ename": "doct",
   "commit": "f075d73b3269eec73dda992ce2bee67ccdfe4911",
   "sha256": "0z4h2pmlmzaz2726pmd2y7g63k5ncw4fwd5jh5rv744f5pxxfs2m",
@@ -21203,11 +21551,11 @@
   "repo": "progfolio/doct",
   "unstable": {
    "version": [
-    20210113,
-    1646
+    20210126,
+    310
    ],
-   "commit": "a795fa4eafd42e016b6c9fed93d2f370c4f5eef5",
-   "sha256": "1z8yzphckcbykz5nxz75vbc75zigv3f5lwwpnk35ipzb20xnm563"
+   "commit": "8ac08633ae413a6605b6506d2739eece7475272e",
+   "sha256": "09nmxq66cmwpbqc4l8p9f76pn6dmckfvpkj9fk99zsnhan4d8870"
   }
  },
  {
@@ -21322,16 +21670,16 @@
   "repo": "seagle0128/doom-modeline",
   "unstable": {
    "version": [
-    20210107,
-    1407
+    20210227,
+    1747
    ],
    "deps": [
     "all-the-icons",
     "dash",
     "shrink-path"
    ],
-   "commit": "4956606a5455a3968ca10cbdb8de3889e6bd1d85",
-   "sha256": "1agv0jdfqvyw227mr3c4wnpjby48ccggfjglbidnfl7knd9i982d"
+   "commit": "1d8d8f885d1e2cdde31c256e11fce95a5b1fcce3",
+   "sha256": "1irvb4s6y80jpi6lwr7fviwisfnv4nvay29dssbj66k2jqlwyjqz"
   },
   "stable": {
    "version": [
@@ -21349,6 +21697,25 @@
   }
  },
  {
+  "ename": "doom-modeline-now-playing",
+  "commit": "de6f7f4030bc93babc3907a96d07029dd75caec4",
+  "sha256": "14wl5zr5g2bwzwly27wc6vpgk11cz1asx7xwx9mqwjf8nygr7bpq",
+  "fetcher": "github",
+  "repo": "elken/doom-modeline-now-playing",
+  "unstable": {
+   "version": [
+    20210202,
+    1948
+   ],
+   "deps": [
+    "async",
+    "doom-modeline"
+   ],
+   "commit": "bed9e4da626ede148c7d362188b2e7729e2a8a4f",
+   "sha256": "1rz50wyinj9nmz37wam4rsdi5igmvdfp6pwn3rmzqsrdp3j81smv"
+  }
+ },
+ {
   "ename": "doom-themes",
   "commit": "c5084bc2c3fe378af6ff39d65e40649c6359b7b5",
   "sha256": "0plqhis9ki3ck1pbv4hiqk4x428fps8qsfx72mamdayyx2nncdrs",
@@ -21356,14 +21723,14 @@
   "repo": "hlissner/emacs-doom-themes",
   "unstable": {
    "version": [
-    20210113,
-    1858
+    20210226,
+    1558
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "18cddefb3c8b9da63086496142ad6756f0bc9167",
-   "sha256": "0ix7kfxhs45w763ajzi2qxr7f94rd4g4xfi6szv3c75q6y5mb3y3"
+   "commit": "35b86f228f76ef4f782562c9d3188769e433b17b",
+   "sha256": "1xyykbygb0dajbwmfl50pq7azzhzis53nqg8az9c7rw1fd9bds9f"
   },
   "stable": {
    "version": [
@@ -21607,11 +21974,11 @@
   "repo": "dracula/emacs",
   "unstable": {
    "version": [
-    20201120,
-    758
+    20210220,
+    1358
    ],
-   "commit": "18e8aa5ed78d10b372414b7def917337224bf2f5",
-   "sha256": "0fw3qar6dwcq5ahf9ca2glshka1ddb4im21hfy069sbdaxdajj4d"
+   "commit": "b5e50ed1e30ee054fb6a0827e78382b038e83c46",
+   "sha256": "0bdlcvx95r0hwxpvdfac6xjcs59jn4mi29yny7bjz3x463czidcy"
   },
   "stable": {
    "version": [
@@ -21834,8 +22201,8 @@
   "repo": "dtk01/dtk",
   "unstable": {
    "version": [
-    20201006,
-    1835
+    20210227,
+    2121
    ],
    "deps": [
     "cl-lib",
@@ -21843,8 +22210,8 @@
     "s",
     "seq"
    ],
-   "commit": "86d1558711cc6e843a1a5470113ff9cb1ad608d8",
-   "sha256": "03k96gr7hxw76dpykbzjfvrpkl2m1ifm4y0jc9skf2p448fd1ssw"
+   "commit": "945f014d2a3618caa5031f6a8fbc8daf1a5754ae",
+   "sha256": "13rdlp0j3f4kvms29akhrbr5l2y58x48jlzgaivi6qhhh2ggya8w"
   }
  },
  {
@@ -21870,19 +22237,19 @@
   "repo": "jscheid/dtrt-indent",
   "unstable": {
    "version": [
-    20201208,
-    1925
+    20210214,
+    811
    ],
-   "commit": "854b9a1ce93d9926018a0eb18e6e552769c5407d",
-   "sha256": "0hw8md2qp8r89ndgz82yf4iydm5yc9cj2s3g75h6hm940mp4fgxm"
+   "commit": "95c08dc4841b37902fad63a5a976d20e7a5ce3b0",
+   "sha256": "11r68sh3yrrfib7pixnazispwsffrygmgplffrv8qq57xrqzyxih"
   },
   "stable": {
    "version": [
     1,
-    3
+    4
    ],
-   "commit": "854b9a1ce93d9926018a0eb18e6e552769c5407d",
-   "sha256": "0hw8md2qp8r89ndgz82yf4iydm5yc9cj2s3g75h6hm940mp4fgxm"
+   "commit": "95c08dc4841b37902fad63a5a976d20e7a5ce3b0",
+   "sha256": "11r68sh3yrrfib7pixnazispwsffrygmgplffrv8qq57xrqzyxih"
   }
  },
  {
@@ -21952,16 +22319,16 @@
   "repo": "jacktasia/dumb-jump",
   "unstable": {
    "version": [
-    20201205,
-    1625
+    20210227,
+    2100
    ],
    "deps": [
     "dash",
     "popup",
     "s"
    ],
-   "commit": "ff9fc9360d39f5e07c1f480f8b0656b49606781b",
-   "sha256": "13anm4wrm7v5x9wsv5h0bxsvr36h228afqp0zxyv008xghqmzwbv"
+   "commit": "782c2f9595d4288ac0f662d6620e23b8e33f0790",
+   "sha256": "0sczljv4isgc6r4x46g876kivgq8ywr8z4gb4w1cis9bivrlbdsf"
   },
   "stable": {
    "version": [
@@ -22002,20 +22369,20 @@
   "repo": "ocaml/dune",
   "unstable": {
    "version": [
-    20191016,
-    1241
+    20210213,
+    757
    ],
-   "commit": "13642e22a405de7c4361e94dd9aaa35ad1b09847",
-   "sha256": "0liha8qf1f4w5x8kklxc30yrn9krcrs9wvvj7chmgrg3m4mk3172"
+   "commit": "a8c6ed8bb27af690955e51eabbef0382b7e2d41e",
+   "sha256": "1c2r9njzm4l3rvhz0854qymf70dbmawfiahm0iaf5gva480kjv3a"
   },
   "stable": {
    "version": [
     2,
     8,
-    1
+    2
    ],
-   "commit": "b796156167490e777131403f651e83779e954000",
-   "sha256": "118fc0bwqp4yn4b6sfir53y3b7acgmpd2n0d7dc2cdjcv72bv0bm"
+   "commit": "6c471da57bea666267a8a63034aed57962f378b0",
+   "sha256": "0b7mqcns4n614fq3p9kisffks3j2wzawxp4xccka7wgyn1q2pgr8"
   }
  },
  {
@@ -22056,20 +22423,20 @@
   "repo": "integral-dw/dw-passphrase-generator",
   "unstable": {
    "version": [
-    20201006,
-    1927
+    20210226,
+    2028
    ],
-   "commit": "9c989595536775b380d46f28452c136070b8e4ab",
-   "sha256": "0xhf8gik49gc8lb4i7wcff2c3554xkqav0wsy3qipm02npslxdax"
+   "commit": "66d92f592b35fd168f23d7c58d698a1ed2dcaa0a",
+   "sha256": "1pfz1wwrdpdkd29309dryy7ficl1h1rfmgv7fbpy9p33vs9mdi9p"
   },
   "stable": {
    "version": [
     1,
     0,
-    0
+    1
    ],
-   "commit": "9c989595536775b380d46f28452c136070b8e4ab",
-   "sha256": "0xhf8gik49gc8lb4i7wcff2c3554xkqav0wsy3qipm02npslxdax"
+   "commit": "66d92f592b35fd168f23d7c58d698a1ed2dcaa0a",
+   "sha256": "1pfz1wwrdpdkd29309dryy7ficl1h1rfmgv7fbpy9p33vs9mdi9p"
   }
  },
  {
@@ -22098,11 +22465,11 @@
   "repo": "dylan-lang/dylan-mode",
   "unstable": {
    "version": [
-    20201212,
-    2106
+    20210227,
+    1818
    ],
-   "commit": "6277d31e6ec896ceaa9533ed156cece26359ba17",
-   "sha256": "12wkm04smmd3hgx6k3waa0wma0p8r23nh1ksm484znd7gij2bcrl"
+   "commit": "fe965628177b0ee0bced7aa4fa42b6f5519c2d0e",
+   "sha256": "17q91qnxbmbmsdnq9pnhn7q8wmq4bafl2z701783ka7nwf4z3ihl"
   }
  },
  {
@@ -22643,16 +23010,15 @@
   "repo": "rexim/ebf",
   "unstable": {
    "version": [
-    20160211,
-    1758
+    20210225,
+    1211
    ],
    "deps": [
     "cl-lib",
-    "dash",
-    "dash-functional"
+    "dash"
    ],
-   "commit": "4cd9c26354d8be6571354b2954d21fba882e78a2",
-   "sha256": "1pgn6fcg5cnbpk93hc2vw95sna07x0s1v2i6lq9bmij2msvar611"
+   "commit": "6cbeb4d62416f4cfd5be8906667342af8ecc44a6",
+   "sha256": "1d9vbn8gmiqcpxqmsv8ir3cc7clm7x1c6hz8drws3cakxk0wffn9"
   },
   "stable": {
    "version": [
@@ -22677,14 +23043,14 @@
   "repo": "joostkremers/ebib",
   "unstable": {
    "version": [
-    20210110,
-    1450
+    20210219,
+    1115
    ],
    "deps": [
     "parsebib"
    ],
-   "commit": "a0c1cd12f2a635c89f4ecad1f3ec5701a78ebd00",
-   "sha256": "03np9b9xkd2h7c6il2a6vvlpcm80vnaf16ryark9cv9wraa5q4d1"
+   "commit": "32f97677bcfca2157583473af507c17e24f88f55",
+   "sha256": "1wd63jiik98ya5z4bkdpnznw03c1qri9wb8nn0w9smia9888a640"
   },
   "stable": {
    "version": [
@@ -22790,8 +23156,8 @@
   "repo": "ecukes/ecukes",
   "unstable": {
    "version": [
-    20201010,
-    1529
+    20210202,
+    1241
    ],
    "deps": [
     "ansi",
@@ -22801,8 +23167,8 @@
     "f",
     "s"
    ],
-   "commit": "f13723e0d7c2abbcb7a870091201ec80103bf202",
-   "sha256": "187zbmk1k14y7lwnbgycsk7g42c55bmp8vmyrvwylkz2lq65n0b2"
+   "commit": "d173cdf487bc2c62305e2232db96290bc021950f",
+   "sha256": "182qgddfv8nd89y1l55rs5vm5i61ayc8cxbplb8zx0alnid9xrw1"
   },
   "stable": {
    "version": [
@@ -22969,6 +23335,21 @@
   }
  },
  {
+  "ename": "edebug-inline-result",
+  "commit": "235b422e95ecce5671a16d44bc648379b6859bed",
+  "sha256": "036fpy7f748c8z7di94ya1dwz2ckri3qm6bsl809myr5wsghp2w1",
+  "fetcher": "github",
+  "repo": "stardiviner/edebug-inline-result",
+  "unstable": {
+   "version": [
+    20210213,
+    25
+   ],
+   "commit": "86a9ed9e4f58c2e9870b8918dc898ccd78d2d3f8",
+   "sha256": "1zf09s03xkhpbhkj99ilzp679lhkyiaaa5kmyj4lb380di1nrw2w"
+  }
+ },
+ {
   "ename": "edebug-x",
   "commit": "204e40cd450f4223598be1f385f08ec82b44f70c",
   "sha256": "0mzrip6y346mix4ny1xj8rkji1w531ix24k3cczmlmm4hm7l29ql",
@@ -23150,14 +23531,15 @@
   "repo": "editorconfig/editorconfig-emacs",
   "unstable": {
    "version": [
-    20210112,
-    901
+    20210221,
+    1617
    ],
    "deps": [
-    "cl-lib"
+    "cl-lib",
+    "nadvice"
    ],
-   "commit": "9dd9789b77521eb9d128f9ebd4cfc7ef45072d0f",
-   "sha256": "1fi3mn16pw7iflhwsnhvdgzyghzgmv1kxdiw4ycnc7rb4q162an5"
+   "commit": "048c553999c90db0b6066b3ec647a79f4af9985d",
+   "sha256": "0i1h0p78dm256y7gg2fzhks4x8hq89s5i5m39pipfwy4srkp3d19"
   },
   "stable": {
    "version": [
@@ -23299,8 +23681,8 @@
     20201122,
     25
    ],
-   "commit": "84c49302e9d6d5f9b2b110e61a7a1774d79f111f",
-   "sha256": "12dqavx3d665drwsdzh2g81xzf5iaa4i76d2q37yihb1xx7ibk3q"
+   "commit": "507a694fb778754f3967bf95d9e1c4e446725835",
+   "sha256": "1hvir0bxlh9jbd3781pdx72hkrrnai6qg56mskl30vdbjv0byhhh"
   }
  },
  {
@@ -23487,8 +23869,8 @@
     20200107,
     2333
    ],
-   "commit": "a874f97af30b59daefaf08e1b4b6846b2214d1a5",
-   "sha256": "1vqllbkiwjcq3y68cbrvh7xq4r4xsm04qh628sbc95l09gwrsk2x"
+   "commit": "df4e47f7c8adfe90d9bf408459772a6cb4e71b70",
+   "sha256": "1n0dcrhwpl24whxzwhxf7qjlqlllzl5aahdq8h2zdgb6xz912k64"
   },
   "stable": {
    "version": [
@@ -23508,8 +23890,8 @@
   "repo": "joaotavora/eglot",
   "unstable": {
    "version": [
-    20210113,
-    1843
+    20210227,
+    1019
    ],
    "deps": [
     "eldoc",
@@ -23518,8 +23900,8 @@
     "project",
     "xref"
    ],
-   "commit": "e5a9648beec6e83f5b4471261b07e1da6630da1d",
-   "sha256": "1ny2myy1yxz9xqd0cs3hciasyc6gfvr2gshgza3pry7w5z481yy3"
+   "commit": "92b0c5d385cc6f3593f60c2f93917fd8b2d44207",
+   "sha256": "1rlgindfq43622gj8jsdkx3b590lhkr2zn18djyfd7g29j26b4wm"
   },
   "stable": {
    "version": [
@@ -23538,6 +23920,37 @@
   }
  },
  {
+  "ename": "eglot-fsharp",
+  "commit": "e03ae15749da9aab38ce2bc615d863f47fc23341",
+  "sha256": "197bqbkjb128a9p14rrrwcqf64962655krl052pqswns9is4bvf3",
+  "fetcher": "github",
+  "repo": "fsharp/emacs-fsharp-mode",
+  "unstable": {
+   "version": [
+    20210126,
+    454
+   ],
+   "deps": [
+    "eglot",
+    "fsharp-mode",
+    "jsonrpc"
+   ],
+   "commit": "78898a1535878394d83643c383f4320e7b5fcefd",
+   "sha256": "0d60jfaf8av0b7vx44lbqzb7v70dszvr2w1yjh1cxn71dnjphp4j"
+  },
+  "stable": {
+   "version": [
+    1,
+    10
+   ],
+   "deps": [
+    "eglot"
+   ],
+   "commit": "4a1df3342931f09edc933cb481da70cc5a5ef268",
+   "sha256": "0dkfd4nlc0hxikvby1271y6zppsvcc0jr12m2w1zrng1pqx666di"
+  }
+ },
+ {
   "ename": "eglot-jl",
   "commit": "5f04bf5d68dc12aa3f3fd66591d45cc894e59df6",
   "sha256": "0ffbxzhx1fqgqlfk8gqdgyfsc98rqw7mbrdd99qx9gds1pzzx4r8",
@@ -23638,8 +24051,8 @@
   "repo": "millejoh/emacs-ipython-notebook",
   "unstable": {
    "version": [
-    20210115,
-    120
+    20210228,
+    15
    ],
    "deps": [
     "anaphora",
@@ -23650,8 +24063,8 @@
     "websocket",
     "with-editor"
    ],
-   "commit": "fbf1f71f52881dc23580053a6e188badb541388c",
-   "sha256": "1jnwl5yvw6bvj2hw0bnlzs4mz6xsv610ll1pk1rw3kricrnbmh1b"
+   "commit": "dfd968c0ae92f368a1861a15b54d4e4385271469",
+   "sha256": "1cna661kqkw1sz1dz7pba06d9l581k6g3vjl99vrraq1f7k4afcl"
   },
   "stable": {
    "version": [
@@ -23817,8 +24230,8 @@
     20200912,
     1653
    ],
-   "commit": "215ff5e56cedcc18866aba6e451b61c06a050e74",
-   "sha256": "0qnyzvvpvzy3cvnq07yfi1v13i91qwa6xfb4p9j9yr2r3gsgdc1g"
+   "commit": "84dd1837f9ac80a329ab0c2de6859777f445f8ff",
+   "sha256": "098x17hg9dc28s7g50mxhv6m6fgch1xp1di7rplkg7w1dfphpc5a"
   },
   "stable": {
    "version": [
@@ -23931,11 +24344,11 @@
   "repo": "raxod502/el-patch",
   "unstable": {
    "version": [
-    20200716,
-    1428
+    20210226,
+    411
    ],
-   "commit": "a47067b4d63f3674d284a772bfe773021540c043",
-   "sha256": "17gpysk41qf40xa4vab79d3dmi7l3xay5gb27wn7fmj9nrzbm4sm"
+   "commit": "5e823dc9a29e3be22597d93912f06119c38030d6",
+   "sha256": "0i7gvjy97cbfll93h5b9zyr1p075lklx7rdahkdy46c4kw6vy5py"
   },
   "stable": {
    "version": [
@@ -24197,20 +24610,20 @@
   "repo": "doublep/eldev",
   "unstable": {
    "version": [
-    20201223,
-    2049
+    20210228,
+    2242
    ],
-   "commit": "9ca9abb3edca233ab52ada40531bec4ce3a8e642",
-   "sha256": "1nz2y9nqyxlb7bsg9chgdjkqmsfklh39shlvqhwl15im144ww9f7"
+   "commit": "47228bf2e4f187dc332301c5e06768b5d36c4392",
+   "sha256": "0kly9lw34sl3pmcgck2j058fjnh2hkhz9hd009j6s4lj0a1fbiar"
   },
   "stable": {
    "version": [
     0,
-    7,
-    2
+    8,
+    1
    ],
-   "commit": "a25ea7a9f6c15c18457e737ef61a0ff81970c5cc",
-   "sha256": "1xxcxgycn0a03irjcdq2pcb4p1bddhfjspni7lliwpv6zjqgkyhb"
+   "commit": "c4f9b7ff4d12c59cc80b4a67f856601ba7cff2cd",
+   "sha256": "19s45hdhcg5l608awfxvmhd61xzp7dd5pvviv89xzzksx74l1188"
   }
  },
  {
@@ -24302,14 +24715,14 @@
   "repo": "stan-dev/stan-mode",
   "unstable": {
    "version": [
-    20200830,
-    1032
+    20210130,
+    1325
    ],
    "deps": [
     "stan-mode"
    ],
-   "commit": "2dd330604563d143031fc8ffd516266217aa1f9b",
-   "sha256": "1l49fqd4wh9bkdpb4mk5a1cbl5i3iwc3q690viakhpb4840jmlry"
+   "commit": "9bb858b9f1314dcf1a5df23e39f9af522098276b",
+   "sha256": "031418nkp9qwlxda8i3ankp3lq94sv8a8ijwrbcwb4w3ssr9j3ds"
   },
   "stable": {
    "version": [
@@ -24416,6 +24829,39 @@
   }
  },
  {
+  "ename": "elescope",
+  "commit": "62debdf1f79d96c98b3957a11b203cfef289ac9c",
+  "sha256": "120ll2fgkyxxnlk84y1s5v05i08qi8055fjj8k3v2qyyz6z7w87b",
+  "fetcher": "github",
+  "repo": "freesteph/elescope",
+  "unstable": {
+   "version": [
+    20210128,
+    1509
+   ],
+   "deps": [
+    "ivy",
+    "request",
+    "seq"
+   ],
+   "commit": "cd3ce082e47c0c13cfce34e6f6957c2275f9416b",
+   "sha256": "1pk8avmvvcxmv2gsl5n8g66jjwi92py1r9f5h9c0wjq0nrazapy1"
+  },
+  "stable": {
+   "version": [
+    0,
+    2
+   ],
+   "deps": [
+    "ivy",
+    "request",
+    "seq"
+   ],
+   "commit": "7711f7e34d04ea52a258f69ee0c94ef1240c5655",
+   "sha256": "0y2cv5af05mjcr5qba88q7ga6w04yxpymn4s28g2c4591lmbkhsj"
+  }
+ },
+ {
   "ename": "elf-mode",
   "commit": "368d1ff91f310e5ffe68f872ab0a91584a41a66e",
   "sha256": "0xwpaqg4mc0a0d8a4dxbd1sqzvi01gfhwr75f7i3sjzx0fj8vcwd",
@@ -24447,20 +24893,20 @@
   "repo": "skeeto/elfeed",
   "unstable": {
    "version": [
-    20201220,
-    1359
+    20210226,
+    258
    ],
-   "commit": "de4b64b3f5d9fd41d9dc72023632ae535dc912e2",
-   "sha256": "04x3589jc39j3q2la82cidw3zpph10p5sj57m1kfz3ajyvh7rlm0"
+   "commit": "0ccd59aaace34546017a1a0d7c393749747d5bc6",
+   "sha256": "1ghdvfn4f9y69r59i1ga9b3ib1r8sbqg6q1v5rz3f9paagfavrd1"
   },
   "stable": {
    "version": [
     3,
-    3,
-    0
+    4,
+    1
    ],
-   "commit": "9b5a0ce648cdaa59f7c96414ee868038e08ea29d",
-   "sha256": "0j8a94val4ml7g1vcjgzk1w89h55sxfdrwnncmz6qbh1y2xsz8c5"
+   "commit": "0ccd59aaace34546017a1a0d7c393749747d5bc6",
+   "sha256": "1ghdvfn4f9y69r59i1ga9b3ib1r8sbqg6q1v5rz3f9paagfavrd1"
   }
  },
  {
@@ -24566,26 +25012,26 @@
   "repo": "sp1ff/elfeed-score",
   "unstable": {
    "version": [
-    20201219,
-    2359
+    20210226,
+    106
    ],
    "deps": [
     "elfeed"
    ],
-   "commit": "5fff4152bdb2a5f38ab83f7fa6b2943647935f94",
-   "sha256": "18jwg4a2ssswvbw50z9b84ca76i3q6vmv0ab90p432pjywpkwh73"
+   "commit": "6f99f4b9338c1a4e64885a799ac01c5b9e1d3a0a",
+   "sha256": "1l7xmnn0j5h01416ras5fjb8x68ssq9hzkcz7p4539fgq5m0p9y0"
   },
   "stable": {
    "version": [
     0,
-    6,
+    7,
     4
    ],
    "deps": [
     "elfeed"
    ],
-   "commit": "5fff4152bdb2a5f38ab83f7fa6b2943647935f94",
-   "sha256": "18jwg4a2ssswvbw50z9b84ca76i3q6vmv0ab90p432pjywpkwh73"
+   "commit": "8c895a786be96db4caab476d4db30202c51b6c70",
+   "sha256": "0zkkrf7xl91c8156vq0njkqlbdx2949s8pmpy62w2xfl12f2wb98"
   }
  },
  {
@@ -24596,28 +25042,28 @@
   "repo": "skeeto/elfeed",
   "unstable": {
    "version": [
-    20191123,
-    1738
+    20210226,
+    258
    ],
    "deps": [
     "elfeed",
     "simple-httpd"
    ],
-   "commit": "de4b64b3f5d9fd41d9dc72023632ae535dc912e2",
-   "sha256": "04x3589jc39j3q2la82cidw3zpph10p5sj57m1kfz3ajyvh7rlm0"
+   "commit": "0ccd59aaace34546017a1a0d7c393749747d5bc6",
+   "sha256": "1ghdvfn4f9y69r59i1ga9b3ib1r8sbqg6q1v5rz3f9paagfavrd1"
   },
   "stable": {
    "version": [
     3,
-    3,
-    0
+    4,
+    1
    ],
    "deps": [
     "elfeed",
     "simple-httpd"
    ],
-   "commit": "9b5a0ce648cdaa59f7c96414ee868038e08ea29d",
-   "sha256": "0j8a94val4ml7g1vcjgzk1w89h55sxfdrwnncmz6qbh1y2xsz8c5"
+   "commit": "0ccd59aaace34546017a1a0d7c393749747d5bc6",
+   "sha256": "1ghdvfn4f9y69r59i1ga9b3ib1r8sbqg6q1v5rz3f9paagfavrd1"
   }
  },
  {
@@ -24628,14 +25074,14 @@
   "repo": "TobiasZawada/elgrep",
   "unstable": {
    "version": [
-    20191203,
-    1227
+    20210205,
+    733
    ],
    "deps": [
     "async"
    ],
-   "commit": "c475cee98bc607746901318ef9da463c96d5e04e",
-   "sha256": "02jfpi8bvjxw5jnjjpzq87xf1xjly745k8s74jc9lpginip3kj95"
+   "commit": "b627cc0f307161e580e9450ad5334687b9406a16",
+   "sha256": "17nbjr5dll5n0m52p3isw8gkkza5iqxlhamhv7x61vjd8w72gl3d"
   },
   "stable": {
    "version": [
@@ -24673,16 +25119,16 @@
   "repo": "Wilfred/elisp-def",
   "unstable": {
    "version": [
-    20201215,
-    706
+    20210126,
+    750
    ],
    "deps": [
     "dash",
     "f",
     "s"
    ],
-   "commit": "679fa7d2d702263b6a55f30a1b8cfbb2fd817549",
-   "sha256": "0xzb89zk13db34kis68xc2b0b649335hxlnvjr4q1inf3yyzmiav"
+   "commit": "dfca043ec0cbead67bd9c526cb009daf771d0fa2",
+   "sha256": "16ryl9idrfpf8whx7srd6a0b3j50qhvc8brkk7iq42p7srr79ly0"
   },
   "stable": {
    "version": [
@@ -24980,8 +25426,8 @@
   "repo": "jcollard/elm-mode",
   "unstable": {
    "version": [
-    20210106,
-    228
+    20210224,
+    2314
    ],
    "deps": [
     "dash",
@@ -24989,8 +25435,8 @@
     "reformatter",
     "s"
    ],
-   "commit": "706ffb8779c7ace330d6e020bb046e331266586a",
-   "sha256": "1rc6qdkiv13ggjwwcgzmri16i2g5x7jwbjc7g8590rndwbg9w9lc"
+   "commit": "188b9c743d8ec99ff7735d2581999d07f43b5bbe",
+   "sha256": "0cjjx4mf4lr1rcalzfl52ps91hyc9pvmsgpnfcb6x3akshbjab6x"
   },
   "stable": {
    "version": [
@@ -25279,20 +25725,20 @@
   "repo": "redguardtoo/elpa-mirror",
   "unstable": {
    "version": [
-    20210107,
-    219
+    20210217,
+    2309
    ],
-   "commit": "49088c9bcdd66316a133252cf657187c4064488a",
-   "sha256": "15n1gbr6h6nm856drss8d1yrc6a3x191bsikhw64zkf7bdlqnxaw"
+   "commit": "ceef14444a5d668ec2eac2954db9f3fa8971521c",
+   "sha256": "0nngpjgc98hb3aq8cq32n3n6qr59jnmm5c81i105x0ard3025jgk"
   },
   "stable": {
    "version": [
     2,
     1,
-    3
+    4
    ],
-   "commit": "49088c9bcdd66316a133252cf657187c4064488a",
-   "sha256": "15n1gbr6h6nm856drss8d1yrc6a3x191bsikhw64zkf7bdlqnxaw"
+   "commit": "47f194c77830946c66bc6ffecdecadc5a3191402",
+   "sha256": "00c33b0k5rw66xbzv1ggz1ai1yaqa705vqb25b54sirwr0s37wly"
   }
  },
  {
@@ -25342,8 +25788,8 @@
   "repo": "jorgenschaefer/elpy",
   "unstable": {
    "version": [
-    20201115,
-    1811
+    20210227,
+    56
    ],
    "deps": [
     "company",
@@ -25352,8 +25798,8 @@
     "s",
     "yasnippet"
    ],
-   "commit": "4032c7251eb2d74ec8a301a3988b62b7a0f00932",
-   "sha256": "0bmfazghviwkn14vbk2iabgrnb0xk3xw8cp2cyrg68rxmbpvl527"
+   "commit": "c31cd91325595573c489b92ad58e492a839d2dec",
+   "sha256": "0myypqnb4001zf9rpn6sakq900kn6mqhyjkp8vvc5y3j6123gj07"
   },
   "stable": {
    "version": [
@@ -25655,11 +26101,11 @@
   "repo": "emacscollective/elx",
   "unstable": {
    "version": [
-    20200728,
-    819
+    20210228,
+    2103
    ],
-   "commit": "f9f810ffcd3cce7ed15848c72ce299609ec09414",
-   "sha256": "1p3zpg4p4a1cn13sg3hsa33gs1bdra1mlmxkagx883p3808i5qha"
+   "commit": "de9d42c86fc3e71239492f64bf4ed7325b056363",
+   "sha256": "0778izaq1hjcc9i7d0v3p9xb08y6bwj9brcmpyd2yj3lfajbhxdx"
   },
   "stable": {
    "version": [
@@ -25672,6 +26118,24 @@
   }
  },
  {
+  "ename": "emacs-everywhere",
+  "commit": "12713e28c8c1fd736f06d4a3271d466941954665",
+  "sha256": "1ah5isnn6d934rqp0s0bby3k4w6fymjkbsxg8f1m7wckramdi8hn",
+  "fetcher": "github",
+  "repo": "tecosaur/emacs-everywhere",
+  "unstable": {
+   "version": [
+    20210226,
+    1928
+   ],
+   "deps": [
+    "cl-lib"
+   ],
+   "commit": "18e88648cdac06e62b9470bba03c7512c7f6ad00",
+   "sha256": "0jwxiaf6ajiqd18albj1y7aqj2r6f5k813kbbwwhixqk1sjd4i0c"
+  }
+ },
+ {
   "ename": "emacsc",
   "commit": "acc9b816796b9f142c53f90593952b43c962d2d8",
   "sha256": "1fbf9al3yds0il18jz6hbpj1fsjlpb1kgp450gb6r09lc46x77mk",
@@ -25679,20 +26143,20 @@
   "repo": "knu/emacsc",
   "unstable": {
    "version": [
-    20190917,
-    1102
+    20210226,
+    555
    ],
-   "commit": "57940b93881efabb375df18093b99800bfb5d5f7",
-   "sha256": "032g44dad90cas2b80cxhzbim2sxd8rliyxf65ccfrqi1xg3vkff"
+   "commit": "75761078047f2a28d74eab527b881128faaa4b75",
+   "sha256": "190j3gmy9fwm5ibk1zpxczqakjl9vj1c7jc7aik88jrs3l711sn7"
   },
   "stable": {
    "version": [
     1,
     3,
-    20190917
+    20210226
    ],
-   "commit": "57940b93881efabb375df18093b99800bfb5d5f7",
-   "sha256": "032g44dad90cas2b80cxhzbim2sxd8rliyxf65ccfrqi1xg3vkff"
+   "commit": "75761078047f2a28d74eab527b881128faaa4b75",
+   "sha256": "190j3gmy9fwm5ibk1zpxczqakjl9vj1c7jc7aik88jrs3l711sn7"
   }
  },
  {
@@ -25958,19 +26422,19 @@
   "repo": "oantolin/embark",
   "unstable": {
    "version": [
-    20210115,
-    613
+    20210228,
+    10
    ],
-   "commit": "14dcc650d9339a6458bb0babfed35de13e76fa50",
-   "sha256": "15shi1i8071833mjzrwyy5iw818sxcqym0cb0zvi9bk5nvprp58b"
+   "commit": "0c7323953e628c8797270a37c0f639fe23092175",
+   "sha256": "12zikidvgx2ybk4b4z3pr26jmh7v8cqvljff72a0isi6l4m8zy5l"
   },
   "stable": {
    "version": [
     0,
-    9
+    10
    ],
-   "commit": "8b1291dfd6187815158299d25dc32b0bbc5af71d",
-   "sha256": "0b1p3pmdy21bix3fh57c2kb5mp0bmrwdc5q9vfdb9pni9sxw3n6v"
+   "commit": "47daded610b245caf01a97d74c940aff91fe14e2",
+   "sha256": "063hc0hganws11vjdk3ic0mxm9i0vpw6s7hzbgxvja0gjkdxjldz"
   }
  },
  {
@@ -25981,15 +26445,27 @@
   "repo": "oantolin/embark",
   "unstable": {
    "version": [
-    20210113,
-    1434
+    20210223,
+    1919
    ],
    "deps": [
     "consult",
     "embark"
    ],
-   "commit": "14dcc650d9339a6458bb0babfed35de13e76fa50",
-   "sha256": "15shi1i8071833mjzrwyy5iw818sxcqym0cb0zvi9bk5nvprp58b"
+   "commit": "0c7323953e628c8797270a37c0f639fe23092175",
+   "sha256": "12zikidvgx2ybk4b4z3pr26jmh7v8cqvljff72a0isi6l4m8zy5l"
+  },
+  "stable": {
+   "version": [
+    0,
+    10
+   ],
+   "deps": [
+    "consult",
+    "embark"
+   ],
+   "commit": "47daded610b245caf01a97d74c940aff91fe14e2",
+   "sha256": "063hc0hganws11vjdk3ic0mxm9i0vpw6s7hzbgxvja0gjkdxjldz"
   }
  },
  {
@@ -26144,15 +26620,15 @@
   "url": "https://git.savannah.gnu.org/git/emms.git",
   "unstable": {
    "version": [
-    20210113,
-    2138
+    20210228,
+    1251
    ],
    "deps": [
     "cl-lib",
     "seq"
    ],
-   "commit": "50bdbcc619e376ac2d7472b7097b3a5ba2d1f64e",
-   "sha256": "1mbfdvh0fs824zvlw3vcy5rdbqdrq4dcx8031yyiq9qpxziswicd"
+   "commit": "757043ba5c4d259df41f71fa6545a156de107ff8",
+   "sha256": "05y09nr3l8xh8zg301jbl37yvm213cdq99gwjgzjs1vmlg8hp0nb"
   },
   "stable": {
    "version": [
@@ -26539,8 +27015,8 @@
   "repo": "Wilfred/emacs-refactor",
   "unstable": {
    "version": [
-    20210110,
-    1928
+    20210301,
+    213
    ],
    "deps": [
     "cl-lib",
@@ -26553,8 +27029,8 @@
     "projectile",
     "s"
    ],
-   "commit": "d0540df81c1b5f9f75f69ff92331bbf4b16f2e2c",
-   "sha256": "1py0140pvi8vyy3digjsz3clp98md05mik8w2xnjb47mb4af39jb"
+   "commit": "648c2e87516fac37b84fd9bc34a6362d2a9001e2",
+   "sha256": "1crgj5skqckvw1l445ywkdq23bqkj6b6yf5y3pcyay1aasvjbhmb"
   },
   "stable": {
    "version": [
@@ -26644,11 +27120,11 @@
   "repo": "zenspider/enhanced-ruby-mode",
   "unstable": {
    "version": [
-    20201222,
-    858
+    20210120,
+    201
    ],
-   "commit": "28f30c056cfe2fd7135a71576c183d242dff3b52",
-   "sha256": "1jslhi3nzn6b16481fkmq1mqrg7f8p5mqi4hqdkywpprqcygrwn1"
+   "commit": "e960bf941d9fa9d92eabf7c03a8bbb51ba1ac453",
+   "sha256": "0qmklr7d6g98ijd4l4j65x7cx18aafngppvynr4jvlinzsnr263q"
   },
   "stable": {
    "version": [
@@ -26659,6 +27135,21 @@
   }
  },
  {
+  "ename": "enlightened-theme",
+  "commit": "93728d3fe62331b49627c1cfa1c4273a43407da8",
+  "sha256": "18ry83hdmf3fx544s42rhkl5jnlvcvbfbardhwyciyp375jzam92",
+  "fetcher": "hg",
+  "url": "https://hg.sr.ht/~slondr/enlightened",
+  "unstable": {
+   "version": [
+    20210220,
+    2327
+   ],
+   "commit": "1bfebd8f47e8a8357c9e557cf6e95d7027861e6d",
+   "sha256": "10f8ccavmf4xz6fpd0psbvjdcxsrypswnhcqi92nirb2z72kq4hj"
+  }
+ },
+ {
   "ename": "enlive",
   "commit": "388fa2580e687d9608b11cdc069841831b414b29",
   "sha256": "1dyayk37zik12qfh8zbjmhsch64yqsx3acrlm7hcnavx465hmhnz",
@@ -26733,25 +27224,26 @@
   "repo": "purcell/envrc",
   "unstable": {
    "version": [
-    20210106,
-    2359
+    20210207,
+    810
    ],
    "deps": [
+    "inheritenv",
     "seq"
    ],
-   "commit": "d1b991f19a4c4781e73bbc3badd368727fae942c",
-   "sha256": "0ssf9i6iym2rb530k2w5aj392qa73i6p5y0vwrs5qhkv9lagqq7p"
+   "commit": "a7c6ca84a2b0617c94594a23a0c05246f14fa4ee",
+   "sha256": "1dpwb5plymb13jv44rdxkg0lrc180076rcvricac6xk33pklsmbz"
   },
   "stable": {
    "version": [
     0,
-    1
+    2
    ],
    "deps": [
     "seq"
    ],
-   "commit": "a15003d6b540b1b07847310d5ed4c39046336a7d",
-   "sha256": "1sspy227b733dxx6czml5lmx9g7nsxwgnazk1b9ip81q0cm0dv55"
+   "commit": "d1b991f19a4c4781e73bbc3badd368727fae942c",
+   "sha256": "0ssf9i6iym2rb530k2w5aj392qa73i6p5y0vwrs5qhkv9lagqq7p"
   }
  },
  {
@@ -26848,14 +27340,14 @@
   "repo": "emacscollective/epkg",
   "unstable": {
    "version": [
-    20210105,
-    1456
+    20210227,
+    1459
    ],
    "deps": [
     "closql"
    ],
-   "commit": "94c8389a8b660a68ae7e5458583b06b30ba0edb9",
-   "sha256": "0r2lvcrs34ixk5xx81b20m0s8x795l7plmry394lgh28gwr437jj"
+   "commit": "245157564b9bd1575480044c8b24007b2090dacb",
+   "sha256": "1bdbwbrrz4brkmg50808vsj70d5yaxb1a71n014nx1a09wnw1hmj"
   },
   "stable": {
    "version": [
@@ -27282,6 +27774,21 @@
   }
  },
  {
+  "ename": "erc-yank",
+  "commit": "0b66abddb134e0b4cc76ad73784fa529e6ea7312",
+  "sha256": "0rpn1zfn2g6lylicil3a4scvygqymb5pdmkyyy2r2mw4xlixh375",
+  "fetcher": "github",
+  "repo": "jwiegley/erc-yank",
+  "unstable": {
+   "version": [
+    20210220,
+    1815
+   ],
+   "commit": "55d96f18c5df9d8fce51fa073d7a12c47a46ac80",
+   "sha256": "1chigywld4v2shc7ij6gyxfq0xzwyms5nal85b3yh7km2pim5i8h"
+  }
+ },
+ {
   "ename": "erc-youtube",
   "commit": "a80ee9617a30a8ad1d457a0b0c7f35e6ec1c0bb2",
   "sha256": "12ylxkskkgfv5x7vlkib963ichb3rlmdzkf4zh8a39cgl8wsmacx",
@@ -27489,18 +27996,18 @@
     20200914,
     644
    ],
-   "commit": "c5400349d7d9cb1e54af19bdb2046b52ecada5bc",
-   "sha256": "02kma8f6v6vxzbfzd2limwabp8a5hzjyg9kfabgp1j0dwvsl64pf"
+   "commit": "6075f5d751d53f9dc4966ab19371104b6118f4d0",
+   "sha256": "04z4zydz67r7aawqqx4ps3y2d3ffyq253k8r4xkrzq70ax4lqww8"
   },
   "stable": {
    "version": [
     2,
     6,
     1,
-    1
+    3
    ],
-   "commit": "fce01db8f9d2ceb9c3a4aa179330ea4aa7587a71",
-   "sha256": "0fzq9pfkvsdin04vzcz2vyjq3gx0lfhbpwpz0zyfa3b84dgffxq7"
+   "commit": "e5486b79cc78689e3fd07b6c924d0085063915ea",
+   "sha256": "1zl7c0rb5rg867a431apxlzj2flg3hjidamqa5prc1bzpmfaywyz"
   }
  },
  {
@@ -27511,20 +28018,21 @@
   "repo": "erlang/otp",
   "unstable": {
    "version": [
-    20201215,
-    830
+    20210226,
+    1127
    ],
-   "commit": "ed4bc369fe6724083bd0decac961fb7b3462d202",
-   "sha256": "1bsf9y6rxwndafvi1lh2vgawjd9k469rhbqb42p6wjc4872lbb0q"
+   "commit": "cd074622c9ed4c93d4f12ded40f2a36f91a26bc0",
+   "sha256": "0pf06a9wgzqm49xqyivddc3r3mc2g6rf3s7zsnxnnsp5wjx4amw3"
   },
   "stable": {
    "version": [
-    23,
-    2,
+    24,
+    0,
+    -1,
     1
    ],
-   "commit": "2c89431fa867d5b1cc56f26a9282bcfb6fcdec58",
-   "sha256": "1xya7rv9j2528w7x0kivb3zl0rdzdwv82xp22yh7bw22vhfyrk4y"
+   "commit": "655bd1a27673720bcee187e9fd9f07d739860ad3",
+   "sha256": "00k0x24diq2z24582bjk65c07ky1kf5h1zihs06ndl782i5cqjfa"
   }
  },
  {
@@ -27830,14 +28338,14 @@
   "repo": "dieggsy/esh-autosuggest",
   "unstable": {
    "version": [
-    20190228,
-    401
+    20210224,
+    2242
    ],
    "deps": [
     "company"
    ],
-   "commit": "972094808d231a86dc6e43862191167b1997d840",
-   "sha256": "1nkf3n20bc8fhdw8vmmnrwhaddhmqpjsrxm304ci6r6b4zz71nq6"
+   "commit": "0f144815ebcc1f911a6a7e6df170f8cc10744c92",
+   "sha256": "1lss6q24pdkzbxdn3lj85xci1md9bs28j8ib3qsk1cmv6m691y28"
   },
   "stable": {
    "version": [
@@ -28093,11 +28601,11 @@
   "repo": "akreisher/eshell-syntax-highlighting",
   "unstable": {
    "version": [
-    20201013,
-    623
+    20210223,
+    936
    ],
-   "commit": "6cc32ee59d79d965e40269c764d90aa898252f0a",
-   "sha256": "09yjiamz3gvpchhzf424419q4gx7wybm2bcm5j2bw688qswd9rrc"
+   "commit": "eeace52ebb2c730f3665fb235017cd57dc6050a2",
+   "sha256": "1anlan2ldvx0qzj44dhb44flcs3h0d57v79qzn21jpy4d0y0m3kq"
   },
   "stable": {
    "version": [
@@ -28253,6 +28761,21 @@
   }
  },
  {
+  "ename": "espotify",
+  "commit": "fb515b013942cf5ef4590e7cbc17f11f10c7692f",
+  "sha256": "05kl2l272gafzp4c79f9fg63xc0rc9r5cjz32v7dhd2m0dv257vc",
+  "fetcher": "git",
+  "url": "https://codeberg.org/jao/espotify",
+  "unstable": {
+   "version": [
+    20210224,
+    126
+   ],
+   "commit": "e714905b71993b6234a4aee6138d5b659605fe57",
+   "sha256": "118cksih4rm113miiagw31w0fx5inih60b04431amp0ydphp4fdw"
+  }
+ },
+ {
   "ename": "espresso-theme",
   "commit": "e608f40d00a3b2a80a6997da00e7d04f76d8ef0d",
   "sha256": "1njc1ppi1jvb3mdckr19kbk7g0a3dx8j4d6j101ygszzrr24ycmv",
@@ -28361,11 +28884,11 @@
   "repo": "emacs-ess/ESS",
   "unstable": {
    "version": [
-    20210113,
-    915
+    20210227,
+    2101
    ],
-   "commit": "19de88d2b3b2436955ce0f7e6cf8544d4ffaf8ac",
-   "sha256": "048b0274cj6hkri6hzsmp7r8g9vkx2vxxjljx24vvzxyqfwmn445"
+   "commit": "4e9a04284d00232e20d44269195e2a524252ebe0",
+   "sha256": "07k091b04gkmk8mdbqjvr9br19v8b0blrn5ywxvimyy3vwrxb87r"
   },
   "stable": {
    "version": [
@@ -28614,14 +29137,15 @@
   "repo": "zcaudate/eta",
   "unstable": {
    "version": [
-    20210103,
-    645
+    20210115,
+    1655
    ],
    "deps": [
+    "dash",
     "ht"
    ],
-   "commit": "850c3aff1d7999348aea30530e722e561b672f9c",
-   "sha256": "1ridnn2b1sp8rp3z9x3igavaq40d66chq25lhfimb6yw84544l0b"
+   "commit": "c7540ac50163f368fec1918dfc334304d9b36c51",
+   "sha256": "02xkrcrf62z303axy4jxr9d2xy6sbxgp6x5dj917xd04hygiqwj0"
   }
  },
  {
@@ -28683,15 +29207,15 @@
   "repo": "dieggsy/eterm-256color",
   "unstable": {
    "version": [
-    20190123,
-    401
+    20210224,
+    2241
    ],
    "deps": [
     "f",
     "xterm-color"
    ],
-   "commit": "0f0dab497239ebedbc9c4a48b3ec8cce4a47e980",
-   "sha256": "00ins8n92p5aspr6bjrvn5y5w0ximakk22yklsfmkav4h10al4as"
+   "commit": "05fdbd336a888a0f4068578a6d385d8bf812a4e8",
+   "sha256": "0ln1agcgr607n5akm0ax659g11kfbik7cq8ssnqpr3z7riiv95dm"
   },
   "stable": {
    "version": [
@@ -28757,15 +29281,15 @@
   "repo": "zzkt/ethermacs",
   "unstable": {
    "version": [
-    20201017,
-    2006
+    20210124,
+    1110
    ],
    "deps": [
     "let-alist",
     "request"
    ],
-   "commit": "36956db9fa65ff88f3213a80b11f1fad0765d972",
-   "sha256": "1aqwnfdp3cb7zc38iy37hyvzr0qii182c6w6z7k9rq1arjg1vs2b"
+   "commit": "6d9c86dac6ab569d1842fcfa8bbe63ee9de8cd71",
+   "sha256": "0pawqmwv3cmr2fw5w0nvq36ms882k68w61nyb1d0bvzbjvrbbc03"
   }
  },
  {
@@ -28943,15 +29467,15 @@
   "repo": "emacs-evil/evil",
   "unstable": {
    "version": [
-    20210109,
-    807
+    20210228,
+    1738
    ],
    "deps": [
     "cl-lib",
     "goto-chg"
    ],
-   "commit": "cc9d6886b418389752a0591b9fcb270e83234cf9",
-   "sha256": "14nin675kb2q7fchawj5f2r7bdga9cxp7jbhmaa8vac03zs6xb4x"
+   "commit": "a50a15f4057dd474f274464842381aa44e550b4d",
+   "sha256": "05p49hgxqs650snivcnqrj3xlkaxcs1ki0k9ybf335nnxgdfg4zr"
   },
   "stable": {
    "version": [
@@ -29089,10 +29613,10 @@
  },
  {
   "ename": "evil-colemak-basics",
-  "commit": "945417d19faf492fb678aee3ba692d14e7518d85",
-  "sha256": "1sbbli0hdmpc23f3g5n95svqfdg3rlvf71plyvpv1a6va9jhi83k",
+  "commit": "fcc76e080a9b16879980beca5ae71afd9d6a6486",
+  "sha256": "0crvmlyrvia5bfa4nq5h5y5pg0nkgds5rmjmhrga3627m0na0dyv",
   "fetcher": "github",
-  "repo": "wbolster/evil-colemak-basics",
+  "repo": "wbolster/emacs-evil-colemak-basics",
   "unstable": {
    "version": [
     20200630,
@@ -29102,8 +29626,8 @@
     "evil",
     "evil-snipe"
    ],
-   "commit": "2354c9fa3d396fa5b1de8608e6920420b89ee323",
-   "sha256": "1cb7dv8wgixrfyx0mnc82i0ydg5bz7snn2643xi261kbrwhg51yj"
+   "commit": "584f8f9496bf5250a439c9c9fee1d94f3b4883f0",
+   "sha256": "0hv8068yaiqwswzhiikrlyl53w43yqi35m9xypvq6v9dwisrqg00"
   },
   "stable": {
    "version": [
@@ -29145,28 +29669,28 @@
   "repo": "emacs-evil/evil-collection",
   "unstable": {
    "version": [
-    20210115,
-    641
+    20210209,
+    629
    ],
    "deps": [
     "annalist",
     "evil"
    ],
-   "commit": "a67450ff537b9681a5fed25010ce28d4128e6db2",
-   "sha256": "0iyp72pp5db5pg7nrw81ij7r7gkzsl11d5hcvllcm7qwpj99az8q"
+   "commit": "334670e29d964c5f591f75ccbf52b7b5faf4daba",
+   "sha256": "0drjcdclzy27ja95q9wp25p798nr2xwix2br50pp0s73rpfvv2sy"
   },
   "stable": {
    "version": [
     0,
     0,
-    4
+    5
    ],
    "deps": [
     "annalist",
     "evil"
    ],
-   "commit": "04df79eadc952eaa9469094426b008426d3c5bee",
-   "sha256": "0ydr06krlj6v1r7hq3m5iy875mhmjr9amcfjjgqglfnzhic29g18"
+   "commit": "a615e4a7f642e0c3acd8628111624355380aa18f",
+   "sha256": "0dxrwcf5dnww0a9mvwjkcgm8ry3y282v9l85jh0645zk71nz1in3"
   }
  },
  {
@@ -29177,26 +29701,26 @@
   "repo": "linktohack/evil-commentary",
   "unstable": {
    "version": [
-    20170413,
-    1451
+    20210210,
+    1702
    ],
    "deps": [
     "evil"
    ],
-   "commit": "395f91014b69844b81660c155f42eb9b1b3d199d",
-   "sha256": "0zjs9zyqfygnpxapvf0ymmiid40i06cxbhjzd81zw33nafgkf6r4"
+   "commit": "2dab6ac34d1617971768ad219d73af48f7473fec",
+   "sha256": "0zgigbfn0h1snls4d5xdjcg6mksaz6si0xm4827jyh5s8r0brc6w"
   },
   "stable": {
    "version": [
     2,
-    1,
-    1
+    2,
+    0
    ],
    "deps": [
     "evil"
    ],
-   "commit": "395f91014b69844b81660c155f42eb9b1b3d199d",
-   "sha256": "0zjs9zyqfygnpxapvf0ymmiid40i06cxbhjzd81zw33nafgkf6r4"
+   "commit": "ca182e27156198db533bf6d48b7e5f6f54081397",
+   "sha256": "1l8zi9wlg1f7ffm8gh92qwk3q7h6cdl8b8zkd9hcda53mq6klpjr"
   }
  },
  {
@@ -29369,8 +29893,8 @@
     "cl-lib",
     "evil"
    ],
-   "commit": "3030e21ee16a42dfce7f7cf86147b778b3f5d8c1",
-   "sha256": "0zchmnzkq7bz2c4hl95xwnz5w243ya4ryi6hgbdss7mc9rnyyarh"
+   "commit": "ac50f21b29b6e3a111e10a9e88ae61c907ac5ee8",
+   "sha256": "0yl6lw2vz2qf97rvfmd83i3v41yl8bp7srhmxgxmhwksy589s5y9"
   }
  },
  {
@@ -29399,14 +29923,14 @@
   "repo": "Dewdrops/evil-extra-operator",
   "unstable": {
    "version": [
-    20161213,
-    403
+    20210225,
+    1239
    ],
    "deps": [
     "evil"
    ],
-   "commit": "e16a9b36f9901254da9af8a73871061616410fc3",
-   "sha256": "116srvfck3b244shxm9cmw3yvpprjgr840fvcv6jwwpfaphafxw4"
+   "commit": "fb249889acacc3e28869491195391fa6f617ae56",
+   "sha256": "049325xd7yk707mncz8mm8cshryh2ir1zf6ahwikr11iwsxgfajd"
   }
  },
  {
@@ -29674,38 +30198,6 @@
   }
  },
  {
-  "ename": "evil-magit",
-  "commit": "50315ec837d2951bf5b2bb75809a35dd7ffc8fe8",
-  "sha256": "02ncki7qrl22804576h76xl4d5lvvk32lzn9gvxn63hb19r0s980",
-  "fetcher": "github",
-  "repo": "emacs-evil/evil-magit",
-  "unstable": {
-   "version": [
-    20201107,
-    1529
-   ],
-   "deps": [
-    "evil",
-    "magit"
-   ],
-   "commit": "f4a8c8d3a5a699baea9356be7c1c5fd8867f610c",
-   "sha256": "1a14n8nl6470vbzw1a2y9rw5l7pw21qnnhxrw963gy063jyl9m8i"
-  },
-  "stable": {
-   "version": [
-    0,
-    4,
-    2
-   ],
-   "deps": [
-    "evil",
-    "magit"
-   ],
-   "commit": "a24186be7cc2cdab24b56f6dcc4665eeb8349c1a",
-   "sha256": "12hr2w5r2hgagb3hqbi59v73rxpjml5prc3m7dw3wzsm0rf1rwh3"
-  }
- },
- {
   "ename": "evil-mark-replace",
   "commit": "e608f40d00a3b2a80a6997da00e7d04f76d8ef0d",
   "sha256": "14j2d46288shlixb57nh5vlqdi3aiv20djvcbhiw1cm9ar2c3y4v",
@@ -29743,14 +30235,14 @@
   "repo": "redguardtoo/evil-matchit",
   "unstable": {
    "version": [
-    20210110,
-    1011
+    20210201,
+    522
    ],
    "deps": [
     "evil"
    ],
-   "commit": "9cdaddd55d28b50d1319baee8038972796e8b178",
-   "sha256": "15j6li3fnj4q6l54c6r31ng3hrcb703c06c3wk5w4spc4nsgzfvc"
+   "commit": "cdb9b90381ac0a225b01fb99472f5b23b612eb6e",
+   "sha256": "0qf3583w082787hsp5ihj84w8k2d0pwpci6a9ig8qk9f4sk66v04"
   },
   "stable": {
    "version": [
@@ -29773,15 +30265,15 @@
   "repo": "gabesoft/evil-mc",
   "unstable": {
    "version": [
-    20200228,
-    1535
+    20210206,
+    1941
    ],
    "deps": [
     "cl-lib",
     "evil"
    ],
-   "commit": "7dfb2ca5ac00c249cb2f55cd6fa91fb2bfb1117e",
-   "sha256": "18a4xcxadchyh9vrg9pqjmby40d5d0j78y1298kpflx78m5c9rgx"
+   "commit": "f04fb17f35f2722f2ac93c862b4450bb8e5b739a",
+   "sha256": "1d7mdqw4bx6p8y3c843n40g21099pmvras3bf9il5nhg4i3b12z8"
   },
   "stable": {
    "version": [
@@ -29878,20 +30370,20 @@
   "repo": "redguardtoo/evil-nerd-commenter",
   "unstable": {
    "version": [
-    20201017,
-    1148
+    20210208,
+    530
    ],
-   "commit": "563cdc154b1f29d181b883563dd37be7eafafdee",
-   "sha256": "0q3m6i2hin6sb3aqng37nfvz97bj099c3727srxcw2m4gw7z4cp2"
+   "commit": "2730820b9ccedf758c8a0428ee2c994c9fc415dd",
+   "sha256": "1y5pn3rkqj8dxp5c7dsci621vnv6hsia74w2c1hybkkrjbka851q"
   },
   "stable": {
    "version": [
     3,
     5,
-    1
+    3
    ],
-   "commit": "fa40dab8d2f010db17e1e62dfd245c1504d0542f",
-   "sha256": "0dn712k54qsxy82jqbqip77k5i3zv8m7afj2yi39zqx28iqvic0z"
+   "commit": "2730820b9ccedf758c8a0428ee2c994c9fc415dd",
+   "sha256": "1y5pn3rkqj8dxp5c7dsci621vnv6hsia74w2c1hybkkrjbka851q"
   }
  },
  {
@@ -30476,14 +30968,14 @@
   "repo": "7696122/evil-terminal-cursor-changer",
   "unstable": {
    "version": [
-    20170401,
-    842
+    20210130,
+    1855
    ],
    "deps": [
     "evil"
    ],
-   "commit": "b49ca4393d2f3cc6014174950059b36a5cb22949",
-   "sha256": "1zra2h0x20whshbc4sfyj6w73jv6ak435mr9n6r6s7brqqqgpa36"
+   "commit": "a88c680c631676ff8f6c5156b529f86d6b9f0841",
+   "sha256": "1b9y21p56a000z62mknbnr22ypkv1j58r24i8bg9836n23y8l717"
   }
  },
  {
@@ -30500,8 +30992,8 @@
    "deps": [
     "evil"
    ],
-   "commit": "cc9d6886b418389752a0591b9fcb270e83234cf9",
-   "sha256": "14nin675kb2q7fchawj5f2r7bdga9cxp7jbhmaa8vac03zs6xb4x"
+   "commit": "a50a15f4057dd474f274464842381aa44e550b4d",
+   "sha256": "05p49hgxqs650snivcnqrj3xlkaxcs1ki0k9ybf335nnxgdfg4zr"
   },
   "stable": {
    "version": [
@@ -30531,8 +31023,8 @@
     "auctex",
     "evil"
    ],
-   "commit": "ac313efb22d621c093d8d30233bd7dc8b4cc54b4",
-   "sha256": "1wrx8ihimn1sx3vzzfppcwv0yfh3x95jrkxqvzj0ykckipm3zk0b"
+   "commit": "5f0d6fb11bce66d32c27c765e93557f6ca89cc7d",
+   "sha256": "1856liiy75w3r6s5ss6hnzcrypymfp6fpnw0i6ybrw351fkw4k9w"
   },
   "stable": {
    "version": [
@@ -31208,8 +31700,8 @@
     20200304,
     1839
    ],
-   "commit": "ea6b4cbb9985ddae532bd2faf9bb00570c9f2781",
-   "sha256": "1pc3nnyb6cy4x6xnm25kdhmjmfm2rar7cnxsfck2wg5nm11p0klm"
+   "commit": "4b8322774d9c1d8b64a0049d1dbbc1e7ce80c1a0",
+   "sha256": "1x6sbychbz91q7mnfn882ir9blfw98mjcrzby38z1xlx3c9phwyi"
   },
   "stable": {
    "version": [
@@ -31351,15 +31843,15 @@
   "repo": "ananthakumaran/exunit.el",
   "unstable": {
    "version": [
-    20190919,
-    1238
+    20210222,
+    1453
    ],
    "deps": [
     "f",
     "s"
    ],
-   "commit": "c77b0397b80d772c98fcc34c9ab131a8350fbf40",
-   "sha256": "08lhsjmibgvd4cjrvyxhwn7cqrpd83bgsvh2xqppi9mnw1xwgzd5"
+   "commit": "5bb115f3270cfe29d36286da889f0ee5bba03cfd",
+   "sha256": "0xz7vnj2wjzih0rm1bsf1ynjy46wmm0aifa9g8362d8570anmkj5"
   }
  },
  {
@@ -31416,6 +31908,26 @@
   }
  },
  {
+  "ename": "exwm-float",
+  "commit": "0da450683bfd7c2da29ebfa0ffad7d66b268aae4",
+  "sha256": "1w4l8z3p55zrjjawg09ih0wnxdbzvhcpvazgz5z20dxfbj3cvryr",
+  "fetcher": "gitlab",
+  "repo": "mtekman/exwm-float.el",
+  "unstable": {
+   "version": [
+    20210207,
+    2035
+   ],
+   "deps": [
+    "exwm",
+    "popwin",
+    "xelb"
+   ],
+   "commit": "eb1b60b4a65e1ca5e323ef68a284ec6af72e637a",
+   "sha256": "1bwnw6qacdrm54lx4hc36f9lnidfw1wl399n7wasa24n9wrbr8z0"
+  }
+ },
+ {
   "ename": "exwm-mff",
   "commit": "78f94ec4d5f83020003cbdb7b954213dfb0f242b",
   "sha256": "10qjdhdkvyavjl43cyq9czvfbx8s0riiby0fss6v0snxdhg4qysd",
@@ -31771,11 +32283,11 @@
   "repo": "WJCFerguson/emacs-faff-theme",
   "unstable": {
    "version": [
-    20210108,
-    1527
+    20210128,
+    2108
    ],
-   "commit": "e475a0805cd9f4bb0f7397e4d37b868f42d96c00",
-   "sha256": "1djgrjnqapxjpnjly3mk9xna27fgl53rj257slz2dm3svhyghk2n"
+   "commit": "14a755f2f85e4db00978de76e1b7f404bfaa5e67",
+   "sha256": "0nxijsqwq3kvszv3f3r4z0vskxp9f0zjq5mx0c6gzfc4q82lvqkr"
   },
   "stable": {
    "version": [
@@ -32538,27 +33050,50 @@
   }
  },
  {
+  "ename": "find-dupes-dired",
+  "commit": "f119ddd30a27e63e01d2be7928534a0708c8b8c6",
+  "sha256": "1ps1rhc1aa64gdx2dxhkkzjdricsqqljyzm1p6yzqy5a0jvicglg",
+  "fetcher": "github",
+  "repo": "ShuguangSun/find-dupes-dired",
+  "unstable": {
+   "version": [
+    20210204,
+    49
+   ],
+   "commit": "3c9783589e43717b682c9e37dd229839735402e8",
+   "sha256": "1wd7n08cf1mnd7czca3mcsfyh4nlkl36arhc3lnh7lzi98nyd0zv"
+  },
+  "stable": {
+   "version": [
+    1,
+    0
+   ],
+   "commit": "f39e2afbc33e02a6bf62116f6ce71b8368068698",
+   "sha256": "1i86dqiw5b8wcqy4gc6nk3xk9narc3b40xl0bqyp0n6a1mckx9kh"
+  }
+ },
+ {
   "ename": "find-file-in-project",
-  "commit": "cae2ac3513e371a256be0f1a7468e38e686c2487",
-  "sha256": "0aznnv82xhnilc9j4cdmcgh6ksv7bhjjm3pa76hynnyrfn7kq7wy",
+  "commit": "3bd8d837d8fe1712df6f62f825985d9e12d97fc6",
+  "sha256": "06kp64zxc9br4vsdl419fz68igqzmkzglhzzcb643vszi9dd5djq",
   "fetcher": "github",
-  "repo": "technomancy/find-file-in-project",
+  "repo": "redguardtoo/find-file-in-project",
   "unstable": {
    "version": [
-    20210112,
-    532
+    20210227,
+    546
    ],
-   "commit": "c4c7ec595c54c3006299717b1fd83e357864b2d5",
-   "sha256": "0mhp70h7n6h5s4dls5pslp45xxlrg6bbs7hkpbl3p1jhxx414fwr"
+   "commit": "28de73305f6e83e7eebd5a3e7f7ec2f3c0f4985a",
+   "sha256": "1afridpi5imdxcv257872nx3g4rgzzi1ld629774da3p36jpvdwl"
   },
   "stable": {
    "version": [
     6,
     0,
-    0
+    1
    ],
-   "commit": "7cc9c05d05da5139e8361b72ca83ca30f44fae7d",
-   "sha256": "1iagywiihwv96y9p811xlx4cmbsj8h76niymprv1vm4fj6cmihr6"
+   "commit": "06df008d5dc9eaced2dfc216f934a79c66b5cd5e",
+   "sha256": "1r9x8fzc2ccyqk24q3gijssa9jmfc6lsylayjh24xz42kdbw2kx8"
   }
  },
  {
@@ -32569,11 +33104,11 @@
   "repo": "h/find-file-in-repository",
   "unstable": {
    "version": [
-    20190404,
-    828
+    20210225,
+    1929
    ],
-   "commit": "b44d78682082270dc6b59cdc911333d0d3e7edaa",
-   "sha256": "1icsxp2b3grvdbv6bh9hpxz1hrqa7vvjzajjwi2knvjbq41d99bn"
+   "commit": "047eeeb8bf1958397a048d9ea8aaa43f80bac34e",
+   "sha256": "1czhnf4ayiygkv3nxw3gdaimy2l6pfy308msnp2sjy0q719ygc79"
   },
   "stable": {
    "version": [
@@ -32847,20 +33382,20 @@
   "repo": "wwwjfy/emacs-fish",
   "unstable": {
    "version": [
-    20200213,
-    2137
+    20210215,
+    1114
    ],
-   "commit": "db257db81058b0b12f788c324c264cc59b9a5bf4",
-   "sha256": "1f6viga13k90ws8v18az3vh3rdc5vd28xkpx9vfv3542bx1np1im"
+   "commit": "a7c953b1491ac3a3e00a7b560f2c9f46b3cb5c04",
+   "sha256": "1spxxkji9xa930sbwvzyjm8jrqk9ra0xqhivw7zd12a4c56nhna9"
   },
   "stable": {
    "version": [
     0,
     1,
-    5
+    6
    ],
-   "commit": "688c82decad108029b0434e3bce6c3d129ede6f3",
-   "sha256": "1s961nhwxpb9xyc26rxpn6hvwn63sng452l03mm2ply32b247f9p"
+   "commit": "a7c953b1491ac3a3e00a7b560f2c9f46b3cb5c04",
+   "sha256": "1spxxkji9xa930sbwvzyjm8jrqk9ra0xqhivw7zd12a4c56nhna9"
   }
  },
  {
@@ -33635,14 +34170,14 @@
   "repo": "leotaku/flycheck-aspell",
   "unstable": {
    "version": [
-    20200830,
-    2357
+    20210213,
+    1822
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "99f5fa5b3d2f67807fba67754c77ddc63e9cf441",
-   "sha256": "09wx5xnjd1rrv1z1pv959wl67ihccvn7rbvjsrldar80jn4nhpmx"
+   "commit": "8cd2e747c3f3c1a0879f66b42db090b2878af508",
+   "sha256": "0m6s8kjk1xpr9pp1s7r39mmm5ry2sa05ync3vjr4kr2m7s5fqchh"
   }
  },
  {
@@ -34240,27 +34775,27 @@
   "repo": "flycheck/flycheck-eldev",
   "unstable": {
    "version": [
-    20200614,
-    1904
+    20210228,
+    2234
    ],
    "deps": [
     "dash",
     "flycheck"
    ],
-   "commit": "c2e2bea1e69fe5f50a9629dec1d9b468ee92de54",
-   "sha256": "0rkzjzghfgypplnsx4w4ih9dh8xyysy9wb0jqmbg13zvc3jcb600"
+   "commit": "d222ce6a8e59385ffeeee7c3a36ee41cf9a8561e",
+   "sha256": "0lipvy48ilc8cxkzk64j7384rx0w57hjcgxbn9dp31c8i5pygj6y"
   },
   "stable": {
    "version": [
     1,
-    0
+    1
    ],
    "deps": [
     "dash",
     "flycheck"
    ],
-   "commit": "1bddbfaa1de22879ea2b900c9f8d6f16940ee9fb",
-   "sha256": "0ma26gk9a3lw60i172wcwdsyfa19j7fj579b4yb7gf9ibca2hs5m"
+   "commit": "d222ce6a8e59385ffeeee7c3a36ee41cf9a8561e",
+   "sha256": "0lipvy48ilc8cxkzk64j7384rx0w57hjcgxbn9dp31c8i5pygj6y"
   }
  },
  {
@@ -34424,6 +34959,36 @@
   }
  },
  {
+  "ename": "flycheck-google-cpplint",
+  "commit": "d8aae034af2142a1bcec47414e00083b2afc7e4f",
+  "sha256": "17jm3r5mrn7hnk53cd9hahqgyqnc7jb4zh8ghg7i1zcg3k7wlbav",
+  "fetcher": "github",
+  "repo": "flycheck/flycheck-google-cpplint",
+  "unstable": {
+   "version": [
+    20210210,
+    300
+   ],
+   "deps": [
+    "flycheck"
+   ],
+   "commit": "6e2bc77da6e2a8812246b4717d97b68675ed84f1",
+   "sha256": "02m22d9y152aj7aba736j5gxpniqr0rc2k8iyq9cgbgavfhbr3ac"
+  },
+  "stable": {
+   "version": [
+    1,
+    0,
+    2
+   ],
+   "deps": [
+    "flycheck"
+   ],
+   "commit": "95f2038831d1e04a4ea6f91f0a846a4f989606b7",
+   "sha256": "1nlyv81pyqmyz18dlzw5h23prhkvyzb0aasjxba8mm33avx0fvvb"
+  }
+ },
+ {
   "ename": "flycheck-gradle",
   "commit": "382d9afd2bbb0c137719c308a67d185b86d84331",
   "sha256": "0zd92lx0mqjqwzclvvhfwwahq80qspyv9k7qcxjc0bl3avjk6a47",
@@ -34472,21 +35037,21 @@
  },
  {
   "ename": "flycheck-grammarly",
-  "commit": "5fdf51167be86e0871125d5548bddc0c926b79dd",
-  "sha256": "0rdgb9ig3gda33xwl8p9c11gf274v02zibzd660ncp0cipapvqp7",
+  "commit": "81d4d4888a531dc4428b76bd1ebf0c008e7e5b0e",
+  "sha256": "11jhq2pw5pwlb7v78n963r8msy6lzj0naykn8iijqf68j9qazcsy",
   "fetcher": "github",
-  "repo": "jcs-elpa/flycheck-grammarly",
+  "repo": "emacs-grammarly/flycheck-grammarly",
   "unstable": {
    "version": [
-    20201028,
-    647
+    20210217,
+    909
    ],
    "deps": [
     "flycheck",
     "grammarly"
    ],
-   "commit": "64e8ffc0ddf05586398a49ae2ad5704cae6eb4c8",
-   "sha256": "1yd95pc00q838af9mwmifwh0ncbndv7jzyqi5l26jxv3zbhmkdq1"
+   "commit": "67c1135193f98cfa4ee1ff83cc502dc11f648334",
+   "sha256": "1ns5rrpxxwf1n0g568g1dajvpr5i49hnv8v4i4g2sfxyszkijyj7"
   },
   "stable": {
    "version": [
@@ -34601,6 +35166,36 @@
   }
  },
  {
+  "ename": "flycheck-hledger",
+  "commit": "502709e2195bf0001891e438081e274fa3824af3",
+  "sha256": "1sdglh0s00af8qiqvi583gksi2yl8z47r1hry2dbm9vs0p0sf1z8",
+  "fetcher": "github",
+  "repo": "DamienCassou/flycheck-hledger",
+  "unstable": {
+   "version": [
+    20210119,
+    1000
+   ],
+   "deps": [
+    "flycheck"
+   ],
+   "commit": "0eeaa707b74f96761404daa2f807fbd7af904b75",
+   "sha256": "15xwnxvda3kj81q2rm8cz2qj17l9cwjqak4y6v02cv37nax0jmfh"
+  },
+  "stable": {
+   "version": [
+    0,
+    3,
+    0
+   ],
+   "deps": [
+    "flycheck"
+   ],
+   "commit": "9e45dd3f6b6cf51acf7312939aa437ae156be2e7",
+   "sha256": "0q6b0vyd55x71kv4k7jp8xzgy5zf9md8mgy3y6pwmpga9dmv149j"
+  }
+ },
+ {
   "ename": "flycheck-indent",
   "commit": "b1c1163d5acc402716c4a6cf877f13665138b74b",
   "sha256": "0d6wa3w377s22psbficabyqi03z8kp32662yxcly1dlv5zyyh6nd",
@@ -34676,8 +35271,8 @@
    "deps": [
     "flycheck"
    ],
-   "commit": "e1c3adfc148caf721691a55cae686b5f31209204",
-   "sha256": "0b8hs7cdywqblbf5dkgck00x18xirlxi7kqd21cqfd276wvn8wyp"
+   "commit": "7febbea9ed407eccc4bfd24ae0d3afd1c19394f7",
+   "sha256": "1vvsswadiks9mpb49vz2q8z69wq0jalsvgalhn10k3pyz7p0abnd"
   },
   "stable": {
    "version": [
@@ -34834,8 +35429,8 @@
     "flycheck",
     "keg"
    ],
-   "commit": "18c675aa2ff1749eb42f081f0549398b82cd4540",
-   "sha256": "1mz5rfzyv4varn09pza5yb851vmsbicsz4zgc0y7zni2bhlj9250"
+   "commit": "e4c7d9d8f823fa717df5f0e7039d525758429fc9",
+   "sha256": "0idr47ssysz3qp2cdrciapljwm7zh76fnj3vgpz9i2wdmgr12m2d"
   }
  },
  {
@@ -35064,8 +35659,8 @@
    "deps": [
     "flycheck"
    ],
-   "commit": "cf45af2a71f6e7a21e01c556613c5b5cdc983ac9",
-   "sha256": "1qhix0i8d9qrc0jg3r17v6fmrz07pjw5kk04fm72i8n4c16vb6r1"
+   "commit": "5e74a5a796e73fca7f3fd15986fefa56529b8e98",
+   "sha256": "11sdxlqwk4wa3pgbfyxjq100yra11iya61wnx6c01n2fxmf82iih"
   },
   "stable": {
    "version": [
@@ -35292,26 +35887,26 @@
   "repo": "ponylang/flycheck-pony",
   "unstable": {
    "version": [
-    20190227,
-    235
+    20210118,
+    1326
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "43421fb43ab4fec759061a11e9d9166bb7da013d",
-   "sha256": "03byayxvhrkm88s7157cfzi91ziggs872yis9ys04ndk1pdf940f"
+   "commit": "039a6c9d0324208d4f4b006693c16248fcf5519b",
+   "sha256": "1sr1n7gv5n22w018z5nxfnknjqmk2lc8h2flv4d2f23aihlss9h3"
   },
   "stable": {
    "version": [
     0,
-    2,
-    2
+    3,
+    0
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "9356cbcd404eaf381ab0c4b0f9c47232f723fa7e",
-   "sha256": "1rzz3cl0pxn3hhrkxcdiy17wl4dzbn8kxm3hq90zmhag1gbfy4zz"
+   "commit": "22787cf8223ca9ec309e30a42c20a8e706d8bfbe",
+   "sha256": "1dpxhljgw0k6y7973ssqfnmc7vp4fv87ajsq1bm8g4m04vj4127q"
   }
  },
  {
@@ -35385,15 +35980,15 @@
   "repo": "alexmurray/flycheck-posframe",
   "unstable": {
    "version": [
-    20201122,
-    2307
+    20210217,
+    327
    ],
    "deps": [
     "flycheck",
     "posframe"
    ],
-   "commit": "66b73ddb93b357fe9b849d2aa14d5cc9e89e9ffd",
-   "sha256": "0hggigwbpcq4w5nrjhp8g7vahl9zdixwrhga8ag8zvrdfr0g1cym"
+   "commit": "24fd9b3d81eab8dd850c504ae46a5c5f11a46ee0",
+   "sha256": "0dv9bkagzk61r32i9231zpndizv6avpg8n84nrnh8yyl0w4hzldv"
   }
  },
  {
@@ -35590,8 +36185,8 @@
     "flycheck",
     "rtags"
    ],
-   "commit": "39339388256df662d0084b4a094d03e52748f9e8",
-   "sha256": "0wp4mygsxzibra2p3m5rn9m0yd3fscd795k5xa0wxi5pwddv7dlg"
+   "commit": "aa4c827b417f5448c12401c33acdab1325917c13",
+   "sha256": "02jqcbrpxm4sv15l8kyvsw9pwkmamj065cgifj68x242fw2f0sam"
   },
   "stable": {
    "version": [
@@ -35649,15 +36244,15 @@
   "repo": "stan-dev/stan-mode",
   "unstable": {
    "version": [
-    20200830,
-    1032
+    20210130,
+    1325
    ],
    "deps": [
     "flycheck",
     "stan-mode"
    ],
-   "commit": "2dd330604563d143031fc8ffd516266217aa1f9b",
-   "sha256": "1l49fqd4wh9bkdpb4mk5a1cbl5i3iwc3q690viakhpb4840jmlry"
+   "commit": "9bb858b9f1314dcf1a5df23e39f9af522098276b",
+   "sha256": "031418nkp9qwlxda8i3ankp3lq94sv8a8ijwrbcwb4w3ssr9j3ds"
   },
   "stable": {
    "version": [
@@ -35749,8 +36344,8 @@
    "deps": [
     "flycheck"
    ],
-   "commit": "77a000095b321ac5d2378cf03ccf2377ccc37f59",
-   "sha256": "1rp0v681kvdsi84lk4m1lj8bfllwqw1ivl53q3zy34ja186xviww"
+   "commit": "f83b2bb7086e54beb2bd2df406a498927a7b2fba",
+   "sha256": "04rdc8jsb8gx2bhrf7rwpyrw4pw04638j574g6614f9h1whpw9jw"
   },
   "stable": {
    "version": [
@@ -36042,11 +36637,11 @@
   "repo": "leotaku/flycheck-aspell",
   "unstable": {
    "version": [
-    20201212,
-    1038
+    20210213,
+    1822
    ],
-   "commit": "99f5fa5b3d2f67807fba67754c77ddc63e9cf441",
-   "sha256": "09wx5xnjd1rrv1z1pv959wl67ihccvn7rbvjsrldar80jn4nhpmx"
+   "commit": "8cd2e747c3f3c1a0879f66b42db090b2878af508",
+   "sha256": "0m6s8kjk1xpr9pp1s7r39mmm5ry2sa05ync3vjr4kr2m7s5fqchh"
   }
  },
  {
@@ -36079,24 +36674,6 @@
   }
  },
  {
-  "ename": "flymake-cppcheck",
-  "commit": "2a83d56c6e150de5d4fdbd89f271f18e5304afd8",
-  "sha256": "11brzgq2zl32a8a2dgj2imsldjqaqvxwk2jypf4bmfwa3mkcqh3d",
-  "fetcher": "github",
-  "repo": "senda-akiha/flymake-cppcheck",
-  "unstable": {
-   "version": [
-    20140415,
-    1257
-   ],
-   "deps": [
-    "flymake-easy"
-   ],
-   "commit": "7eac8c7b9c74ebb5e600686f1f3891767dc87bb2",
-   "sha256": "1xwpznllgz47f6h7mzwy601179sxdj6i8qvnfa6fn4cx4dz5z3iv"
-  }
- },
- {
   "ename": "flymake-css",
   "commit": "cae2ac3513e371a256be0f1a7468e38e686c2487",
   "sha256": "0kqm3wn9symqc9ivnh11gqgq8ql2bhpqvxfm86d8vwm082hd92c5",
@@ -36133,14 +36710,14 @@
   "repo": "flymake/emacs-flymake-cursor",
   "unstable": {
    "version": [
-    20120322,
-    1757
+    20210126,
+    1733
    ],
    "deps": [
     "flymake"
    ],
-   "commit": "ecc539082c3fc9e91bba33d72c26989217411593",
-   "sha256": "0cdf5m3rfwsim505qjyyml0r5zzqx7jrlc8ayfvix70f3bmxnibs"
+   "commit": "afd458daf88f475cfacdd22375635e43a5017564",
+   "sha256": "17fzs4r22nlf27xcdfj9qs337879xkk9hgq121dgxd93xy3n0ky7"
   },
   "stable": {
    "version": [
@@ -36320,24 +36897,6 @@
   }
  },
  {
-  "ename": "flymake-google-cpplint",
-  "commit": "01f8e5c2b63e80f0411860fde38bf694df3bfc8f",
-  "sha256": "0q7v70xbprh03f1yabq216q4q82a58s2c1ykr6ig49cg1jdgzkf3",
-  "fetcher": "github",
-  "repo": "senda-akiha/flymake-google-cpplint",
-  "unstable": {
-   "version": [
-    20140205,
-    1325
-   ],
-   "deps": [
-    "flymake-easy"
-   ],
-   "commit": "426e56ae1278d7a078c368e9d495003825ada0bd",
-   "sha256": "1gckz68050pj9pg7yn3wwn13x2nrv6y4ggswkgcyijxi7x0sqana"
-  }
- },
- {
   "ename": "flymake-gradle",
   "commit": "7cccc8537324e0faf7fd35325e3ccd3b2e05771a",
   "sha256": "00wpymzw2j2zx37nq8qf77pk04r0hxlmlwykcj6yzq9bfgi75wnf",
@@ -36354,20 +36913,20 @@
  },
  {
   "ename": "flymake-grammarly",
-  "commit": "a8a5e3f1d6b2976b0544ca23189f58486f2065f1",
-  "sha256": "08gqywxms7mn4xihj3sqm7kw02zjcfhxm0ldcvwaihjnkxmfrll4",
+  "commit": "8271fbd6a4b47d0d3aa6f50547ac502c4f2a7e4a",
+  "sha256": "06va2zmg8m8al7rxpa7znvln9yhsjlxhnxgs8q76flx9fhg0pm2j",
   "fetcher": "github",
-  "repo": "jcs-elpa/flymake-grammarly",
+  "repo": "emacs-grammarly/flymake-grammarly",
   "unstable": {
    "version": [
-    20201028,
-    647
+    20210217,
+    909
    ],
    "deps": [
     "grammarly"
    ],
-   "commit": "28efe445c91daa9a604d518f00cae6b1375179df",
-   "sha256": "05icajswb649g3d3qhj96dzz5zc9faf1hr93ni0039gqk312p48a"
+   "commit": "41d10f26a76208612fa184d1155ab40130f4cbf0",
+   "sha256": "1f5vflanpq0kdqnp2jz6aj5v0v4wvmr01rlgxjz3yz31bp444a0d"
   },
   "stable": {
    "version": [
@@ -36651,6 +37210,24 @@
   }
  },
  {
+  "ename": "flymake-nasm",
+  "commit": "003b8973f810f771da88e30b4aa7457967f21364",
+  "sha256": "1i12dz0xzvbyajnlb64scv894zj2nbsz354mv9rjhkgvc9zw2hnl",
+  "fetcher": "github",
+  "repo": "juergenhoetzel/flymake-nasm",
+  "unstable": {
+   "version": [
+    20210107,
+    524
+   ],
+   "deps": [
+    "flymake-quickdef"
+   ],
+   "commit": "92b96ca659e88d25e21e711038332a5b4c199e61",
+   "sha256": "1s76s5y5lwdw84bkcbx3xawc748hm9p9g2sfpn33mmz1mc227kz5"
+  }
+ },
+ {
   "ename": "flymake-perlcritic",
   "commit": "3416586d4d782cdd61a56159c5f80a0ca9b3ddf4",
   "sha256": "1i0bc81cby2nsala2mhghzv7clhbf1gpp54vdxiq2wdanqy25vmk",
@@ -36664,8 +37241,8 @@
    "deps": [
     "flymake"
    ],
-   "commit": "edfaa86500ddfa8a6a6f51f5581a81a821277df6",
-   "sha256": "1f4l2r4gp03s18255jawc7s5abpjjrw54937wzygmvzvqvmaiikj"
+   "commit": "c70eb881d4fb27aeb72c0bf8de6707b9de49bd51",
+   "sha256": "1w7msjg4sa0h0a4ycl9382agv1bhzcr9z0i6hmhcg7333rd31ilh"
   },
   "stable": {
    "version": [
@@ -36741,10 +37318,10 @@
  },
  {
   "ename": "flymake-phpcs",
-  "commit": "6e4d444198f593cfb03c7ca84f3e90db13ef5a01",
-  "sha256": "0zzxi3c203fiw6jp1ar9bb9f28x2lg23bczgy8n5cicrq59jfsn9",
+  "commit": "a35c3043bfc1ce5a3e0fe1c472c6f494a413ba7c",
+  "sha256": "1gki8ljlq0x954a7fvsz4qj634w40dmlirjg5bm4585ssnsh04wc",
   "fetcher": "github",
-  "repo": "senda-akiha/flymake-phpcs",
+  "repo": "flymake/flymake-phpcs",
   "unstable": {
    "version": [
     20140713,
@@ -36753,8 +37330,19 @@
    "deps": [
     "flymake-easy"
    ],
-   "commit": "bba25dbda15955b609ceae0893cf3be74ec67230",
-   "sha256": "1z6m3bggd3gmxvx92j16jmqm5h9jjxnmsd7adyf12ziy5n5rqcbc"
+   "commit": "8e5ab5103c8f40a2ab6c86def6327e480ae93657",
+   "sha256": "19cggpaj14w3j3q6dgv7ybjqbr2pqbwhingz4yi7wkrr0w6s0lsa"
+  },
+  "stable": {
+   "version": [
+    1,
+    1
+   ],
+   "deps": [
+    "flymake-easy"
+   ],
+   "commit": "f947ba3066c1fa903d2ec69d67bf84413f51eb3f",
+   "sha256": "10qaw7dhklxqzimfsj87clb297y7rnd3bpn061bh04cwnayjn2hr"
   }
  },
  {
@@ -37121,11 +37709,11 @@
   "repo": "d12frosted/flyspell-correct",
   "unstable": {
    "version": [
-    20200904,
-    526
+    20210124,
+    1143
    ],
-   "commit": "0d5076f93b4c903a69a5f9ed19bab45d107acd10",
-   "sha256": "0zx45lm292mvq6q1i9288qg7nfy0xnxvvaa7qgv3yfi5zdsjq619"
+   "commit": "d19a090b978a249fc8f6d8b14309a5705a6bb483",
+   "sha256": "1p9s1qcqk834r0lkqzch8gb7c8qrpvbhxfyb44bgjd9qcw0kzr3s"
   },
   "stable": {
    "version": [
@@ -37145,15 +37733,15 @@
   "repo": "d12frosted/flyspell-correct",
   "unstable": {
    "version": [
-    20200215,
-    1337
+    20210124,
+    1143
    ],
    "deps": [
     "avy-menu",
     "flyspell-correct"
    ],
-   "commit": "0d5076f93b4c903a69a5f9ed19bab45d107acd10",
-   "sha256": "0zx45lm292mvq6q1i9288qg7nfy0xnxvvaa7qgv3yfi5zdsjq619"
+   "commit": "d19a090b978a249fc8f6d8b14309a5705a6bb483",
+   "sha256": "1p9s1qcqk834r0lkqzch8gb7c8qrpvbhxfyb44bgjd9qcw0kzr3s"
   },
   "stable": {
    "version": [
@@ -37177,15 +37765,15 @@
   "repo": "d12frosted/flyspell-correct",
   "unstable": {
    "version": [
-    20200215,
-    1337
+    20210124,
+    1143
    ],
    "deps": [
     "flyspell-correct",
     "helm"
    ],
-   "commit": "0d5076f93b4c903a69a5f9ed19bab45d107acd10",
-   "sha256": "0zx45lm292mvq6q1i9288qg7nfy0xnxvvaa7qgv3yfi5zdsjq619"
+   "commit": "d19a090b978a249fc8f6d8b14309a5705a6bb483",
+   "sha256": "1p9s1qcqk834r0lkqzch8gb7c8qrpvbhxfyb44bgjd9qcw0kzr3s"
   },
   "stable": {
    "version": [
@@ -37209,15 +37797,15 @@
   "repo": "d12frosted/flyspell-correct",
   "unstable": {
    "version": [
-    20201202,
-    636
+    20210124,
+    1143
    ],
    "deps": [
     "flyspell-correct",
     "ivy"
    ],
-   "commit": "0d5076f93b4c903a69a5f9ed19bab45d107acd10",
-   "sha256": "0zx45lm292mvq6q1i9288qg7nfy0xnxvvaa7qgv3yfi5zdsjq619"
+   "commit": "d19a090b978a249fc8f6d8b14309a5705a6bb483",
+   "sha256": "1p9s1qcqk834r0lkqzch8gb7c8qrpvbhxfyb44bgjd9qcw0kzr3s"
   },
   "stable": {
    "version": [
@@ -37241,15 +37829,15 @@
   "repo": "d12frosted/flyspell-correct",
   "unstable": {
    "version": [
-    20200828,
-    629
+    20210124,
+    1143
    ],
    "deps": [
     "flyspell-correct",
     "popup"
    ],
-   "commit": "0d5076f93b4c903a69a5f9ed19bab45d107acd10",
-   "sha256": "0zx45lm292mvq6q1i9288qg7nfy0xnxvvaa7qgv3yfi5zdsjq619"
+   "commit": "d19a090b978a249fc8f6d8b14309a5705a6bb483",
+   "sha256": "1p9s1qcqk834r0lkqzch8gb7c8qrpvbhxfyb44bgjd9qcw0kzr3s"
   },
   "stable": {
    "version": [
@@ -37559,15 +38147,15 @@
   "repo": "rolandwalker/font-utils",
   "unstable": {
    "version": [
-    20150806,
-    1751
+    20210124,
+    43
    ],
    "deps": [
     "pcache",
     "persistent-soft"
    ],
-   "commit": "9192d3f8ee6a4e75f34c3fed10378674cc2b11d3",
-   "sha256": "1k90w8v5rpswqb8fn1cc8sq5w12gf4sn6say5dhvqd63512b0055"
+   "commit": "88fb9b046e7094303e4f5b43e84b0f5d5283c508",
+   "sha256": "1qhrvmx8pcjb2hg3y3ra07nv3bcga3ckqxd9i89wrgay5kk7avcy"
   },
   "stable": {
    "version": [
@@ -37722,8 +38310,8 @@
   "repo": "magit/forge",
   "unstable": {
    "version": [
-    20210112,
-    1148
+    20210228,
+    1555
    ],
    "deps": [
     "closql",
@@ -37735,8 +38323,8 @@
     "markdown-mode",
     "transient"
    ],
-   "commit": "47be4eebfa34f87e502aad30f59907ad09552979",
-   "sha256": "0fbj6css456abzslr09vxr46xikxydjh78kmd0kqfidsp1rx6xsj"
+   "commit": "b4df041a25811daa2536f9502461b99379dc0f11",
+   "sha256": "0v5i3wnlajz7yznksml1rwl8avkjlqf3rbjl0gpr3ylv05hcra9k"
   },
   "stable": {
    "version": [
@@ -37791,27 +38379,28 @@
   "repo": "lassik/emacs-format-all-the-code",
   "unstable": {
    "version": [
-    20210107,
-    1425
+    20210224,
+    1954
    ],
    "deps": [
+    "inheritenv",
     "language-id"
    ],
-   "commit": "05bd6d0b4aa3d8b22291de5827da64b7be155590",
-   "sha256": "0fgc0kj9zb0f08i2mcm8ny9f8cqlk9v8185qmc6wmq1i7kaczsvr"
+   "commit": "8f25a5e72f81b60bcf27fdfd653b76e7c4773895",
+   "sha256": "0yfk59sbv8ydhc1sqwf3254h9qag7zmbs4h9f47kc9kp79a93i26"
   },
   "stable": {
    "version": [
     0,
-    3,
+    4,
     0
    ],
    "deps": [
-    "cl-lib",
+    "inheritenv",
     "language-id"
    ],
-   "commit": "8c8c47a863a397d947999fff4358caf20bafca0a",
-   "sha256": "0ayb57p114z64ppf74g2wpm2g2iga2vrl8rhay7fnfv1j2i4xjss"
+   "commit": "caa0269ce89789a702823041ca7b309ddaffb5ce",
+   "sha256": "1y5a704xbnvb46rp1ra9cjjazzs795hvh3p0di2hr5jsql0a0zwa"
   }
  },
  {
@@ -37875,11 +38464,11 @@
   "repo": "larsbrinkhoff/forth-mode",
   "unstable": {
    "version": [
-    20170527,
-    1930
+    20210123,
+    900
    ],
-   "commit": "522256d98d1a909983bcfd3ae20c65226d5929b6",
-   "sha256": "110ycl8zkimy2818rhp3hk3mn2y25m695shdsy6dwxnrv90agss6"
+   "commit": "f44fa6481ffe2b4321d462c3fab78a858f2a8ae9",
+   "sha256": "08p9ddxs3ya7an2p485wrw5ywimbgnqrihriyc4aaq963zpssk2c"
   }
  },
  {
@@ -37935,26 +38524,26 @@
   "repo": "rnkn/fountain-mode",
   "unstable": {
    "version": [
-    20201226,
-    1636
+    20210225,
+    1517
    ],
    "deps": [
     "seq"
    ],
-   "commit": "c7ac77fef71fc20c4c7bee73516ec3c0f656a91a",
-   "sha256": "00m4x3nylvwsaki6m7gvk1grcaap96rnx10mpsxlapkpbrydhpk0"
+   "commit": "98e2729b7dfc99607778b07ef03ff994a74c045d",
+   "sha256": "09c9rmrs8aazmmiq0v71p7yhcgk7ykr0il188xl8qc39m4rky9mz"
   },
   "stable": {
    "version": [
     3,
     4,
-    0
+    1
    ],
    "deps": [
     "seq"
    ],
-   "commit": "3e7ef35fae455f77abb63c34e926c2d0e3070d7f",
-   "sha256": "161wn66gc2z7fd4f89827dpww6hjmnassbi15yis5rqbklj1h2z6"
+   "commit": "707b8fdc9a0e1de1a911ca312c23c0c1672f3ec3",
+   "sha256": "14zhbcfqyp093kd1bxl7f2hf5l5995qmgpmnxfgw9qcc781crj73"
   }
  },
  {
@@ -38157,15 +38746,16 @@
   "url": "https://git.launchpad.net/frecentf.el",
   "unstable": {
    "version": [
-    20201217,
-    2150
+    20210211,
+    1630
    ],
    "deps": [
+    "async",
     "frecency",
     "persist"
    ],
-   "commit": "23a41b8d06b1e345e6b99d1efd38a219f376faff",
-   "sha256": "1sgsi7kdk3r1lh0iilpyz241qpzj46xp4ifhbszjxs6p2gcwi5y9"
+   "commit": "b385061a3103890df2d4b2e46a8b3ac775aeec00",
+   "sha256": "09s6fkshkd3mfhf0zynl50p70cnpx67qigi55is2byvhh5950fx5"
   }
  },
  {
@@ -38221,20 +38811,20 @@
   "repo": "rnkn/freeze-it",
   "unstable": {
    "version": [
-    20200416,
-    1605
+    20210201,
+    731
    ],
-   "commit": "968cb4580bbd7d23ee78e53152e30e0cdf0f5e41",
-   "sha256": "0v9yriw45rg12mz72gmhwi2mz19h6svh3dsw1fpbww4qcx4mnjvd"
+   "commit": "752fe042ba3153473cd149875388c8dd9b4a8a26",
+   "sha256": "0x4sp6n6dksa8vps465i8sqvdzacr7hrxd4jlxj9gqkcspalrjgy"
   },
   "stable": {
    "version": [
     0,
     2,
-    1
+    2
    ],
-   "commit": "b93af18633bc783c2cb8443808aeeaaca33e1146",
-   "sha256": "0gljal6hmchx5zyd268kwlqn8pqq206y8a89ff7kq6qaql88mngn"
+   "commit": "1f252a922612e0d6ee62a683b7cdab8956460f11",
+   "sha256": "0bwd3hw5qdijmvbfm69iyhijjx12yqvsa8n08cawxfa26cs6hi1g"
   }
  },
  {
@@ -38430,6 +39020,31 @@
   }
  },
  {
+  "ename": "frontside-javascript",
+  "commit": "73ac023ee296b2b890265832d68d1d1d9f59fe33",
+  "sha256": "1yqp9zpahd808q5c2cpb2sb7xh8z75vqbrb5jxxrng4n4dxqj3yj",
+  "fetcher": "github",
+  "repo": "thefrontside/frontmacs",
+  "unstable": {
+   "version": [
+    20210206,
+    2008
+   ],
+   "deps": [
+    "add-node-modules-path",
+    "company",
+    "flycheck",
+    "js2-mode",
+    "js2-refactor",
+    "rjsx-mode",
+    "tide",
+    "web-mode"
+   ],
+   "commit": "2b0e27a2f5fa18079b00753b3bf9635818e11f71",
+   "sha256": "0cv0vrz8mv7b8hm3ac8l7zjscavsxix0wiv646n5vx03282zfgpk"
+  }
+ },
+ {
   "ename": "fsbot-data-browser",
   "commit": "35763febad20f29320d459394f810668db6c3353",
   "sha256": "14d4d8lasvgj520rmqgnzk6mi16znzcdvja9p8164fr9l41wnzgd",
@@ -38454,21 +39069,20 @@
  },
  {
   "ename": "fsharp-mode",
-  "commit": "7a41e8a101b1b76870402eb8f60130be9e9f189d",
-  "sha256": "1bcgy40z5d1663rafh4vhbm8d24yxnbw23sagki4427sywinl11x",
+  "commit": "fb0dd36a02a45ae31a21da0fd5551843243f597b",
+  "sha256": "0kl8hwm7101i3pc949xj22d85mxmqhk86qbwjzbgxdh64lwp5hnc",
   "fetcher": "github",
   "repo": "fsharp/emacs-fsharp-mode",
   "unstable": {
    "version": [
-    20210106,
-    1632
+    20210131,
+    1150
    ],
    "deps": [
-    "eglot",
     "s"
    ],
-   "commit": "e3dccd65a16a1675722b1eed7aca1a729a2fc8ed",
-   "sha256": "1wyc3lzvjl01cy18cyzq1xms4kid9iqkm31fxrv87awmzpxsvqi5"
+   "commit": "78898a1535878394d83643c383f4320e7b5fcefd",
+   "sha256": "0d60jfaf8av0b7vx44lbqzb7v70dszvr2w1yjh1cxn71dnjphp4j"
   },
   "stable": {
    "version": [
@@ -38534,8 +39148,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "527567aa9f668e9fa63df7d258b82004473dd7e4",
-   "sha256": "1w1k193hc2ihi2wh9gbsp9wcwl2gxqia21868ad7v3xadyik0a6i"
+   "commit": "1488f29aa774326e5d6bf4f9c2823124606399b3",
+   "sha256": "1wyyxg3z7s7ga003pjik1116vrj5x9cssmk50s80b4xdxmw04viz"
   },
   "stable": {
    "version": [
@@ -38592,32 +39206,32 @@
  },
  {
   "ename": "fullframe",
-  "commit": "13d1dc5c39543b65c6bb4150c3690211872c00dc",
-  "sha256": "08sh8lmb6g8asv28fcb36ilcn0ka4fc6ka0pnslid0h4c32fxp2a",
-  "fetcher": "github",
-  "repo": "tomterl/fullframe",
+  "commit": "9eb2ecf435ad197ed6636ee5fb101375aa76d5b0",
+  "sha256": "01vwijpy10gxjwz9zkd2ri2dzhidrqsihpy90kwb5ip9kbgc4jhr",
+  "fetcher": "git",
+  "url": "https://git.sr.ht/~tomterl/fullframe",
   "unstable": {
    "version": [
-    20201022,
-    939
+    20210226,
+    1057
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "8cc4aebf4a1054812b34f9704c38c1616571078c",
-   "sha256": "13f1lhdsm2sx9h8k9iz3mv5xqfxkfwji2aa6855z0jwn8rqqzqsf"
+   "commit": "886b831c001b44ec95aec4ff36e8bc1b3003c786",
+   "sha256": "1q276p3bagx9fhzyzjmz449f95k1z287x4p34980d06klj11lrab"
   },
   "stable": {
    "version": [
     0,
     5,
-    0
+    1
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "d6a5217f7f2a5a5edcb75140f3fa69b3a50f1cdd",
-   "sha256": "0m43qnhp6ibsskpjkxc86p3lrjsjc0ndqml3lbd65s79x4x7i3fi"
+   "commit": "886b831c001b44ec95aec4ff36e8bc1b3003c786",
+   "sha256": "1q276p3bagx9fhzyzjmz449f95k1z287x4p34980d06klj11lrab"
   }
  },
  {
@@ -38920,25 +39534,25 @@
  },
  {
   "ename": "gams-mode",
-  "commit": "c895a716636b00c2a158d33aab18f664a8601833",
-  "sha256": "0hx9mv4sqskz4nn7aks64hqd4vn3m7b34abzhy9bnmyw6d5zzfci",
+  "commit": "0c7f6a46adc9bc4b256006e86653a77f8f891db6",
+  "sha256": "1qlzmrs8771cgp63agwr2j1826jck80420plqy704ckc24f85i00",
   "fetcher": "github",
   "repo": "ShiroTakeda/gams-mode",
   "unstable": {
    "version": [
-    20200131,
-    1335
+    20210227,
+    251
    ],
-   "commit": "bb4e8a223c8aac5ec9268d1cfcf1a9ea9b3d8a49",
-   "sha256": "084xjxj03d0ghh1lgrgwlkzf78y3szh47m3qva4r344yg0051yz3"
+   "commit": "52e984d64c48f518222e0f6bd326236f78d7bf7a",
+   "sha256": "0fjdm2mlwibi6cz0r7cm4ylxzg7i8fljkwfhflb84xqcaknwr2sk"
   },
   "stable": {
    "version": [
     6,
-    6
+    7
    ],
-   "commit": "bb4e8a223c8aac5ec9268d1cfcf1a9ea9b3d8a49",
-   "sha256": "084xjxj03d0ghh1lgrgwlkzf78y3szh47m3qva4r344yg0051yz3"
+   "commit": "52e984d64c48f518222e0f6bd326236f78d7bf7a",
+   "sha256": "0fjdm2mlwibi6cz0r7cm4ylxzg7i8fljkwfhflb84xqcaknwr2sk"
   }
  },
  {
@@ -39033,11 +39647,11 @@
   "repo": "godotengine/emacs-gdscript-mode",
   "unstable": {
    "version": [
-    20210104,
-    1919
+    20210131,
+    1551
    ],
-   "commit": "b53d56e467a77dfd6c26eec5b78e2241083b1408",
-   "sha256": "120yjlwf8pyrv5n0bdzxnr2lbppwgir4l8c128jq0cx3mbfamjlz"
+   "commit": "16c631cd6f2f2eeb11730442c9897008e1e10f7a",
+   "sha256": "1ygwvavwrhpjrgw58psawcwp01y8j0xhsvc2bywiz8a1d2pngn1q"
   },
   "stable": {
    "version": [
@@ -39134,11 +39748,11 @@
   "repo": "jaor/geiser",
   "unstable": {
    "version": [
-    20210103,
-    953
+    20210221,
+    2032
    ],
-   "commit": "c7a427edf33ab1ebdca7d3df67d740f97037a950",
-   "sha256": "0lvgmfwlmyxgbyqlw8c79q79ramws88s746nckz0qyy5fckx0ri3"
+   "commit": "26dd2f4ae0f44879b5273bf87cdd42b8ec4140a1",
+   "sha256": "05xv5amg5pffgnrlcl0yjlx37p9m5hxllq6xn96sf8dcpgsiprfs"
   },
   "stable": {
    "version": [
@@ -39205,11 +39819,20 @@
   "url": "https://git.carcosa.net/jmcbray/gemini.el.git",
   "unstable": {
    "version": [
-    20201120,
-    2054
+    20210226,
+    1419
    ],
-   "commit": "3b4bcc568ca9e537118f3b803f4218b0d57fee0b",
-   "sha256": "1lc2pgqjyanfwfykrg8a9d5kra4zihdvr612z9x927r16cj470ac"
+   "commit": "0a227125a4112266c06ed7247de039090314b525",
+   "sha256": "0fiix0ssaannim5kxpckhd5z6fssij3igv1dg9y7143dzxf274zz"
+  },
+  "stable": {
+   "version": [
+    1,
+    0,
+    0
+   ],
+   "commit": "0a227125a4112266c06ed7247de039090314b525",
+   "sha256": "0fiix0ssaannim5kxpckhd5z6fssij3igv1dg9y7143dzxf274zz"
   }
  },
  {
@@ -39345,8 +39968,8 @@
   "repo": "thisch/gerrit.el",
   "unstable": {
    "version": [
-    20201216,
-    2245
+    20210219,
+    806
    ],
    "deps": [
     "dash",
@@ -39354,8 +39977,8 @@
     "magit",
     "s"
    ],
-   "commit": "00b0201cef4fd2ade108289a8444e1b354a882f6",
-   "sha256": "0k9bwxqd2zs3bbikqgfnshk7snycfxkzlipih4m0pcnpk1fdp6sv"
+   "commit": "19a8d6805541cede2523b70fa6601667b420f32f",
+   "sha256": "1aqcqyi4933p4cixrmjb2g1yghbdshir61q3l90igw6h6nfwbiiq"
   }
  },
  {
@@ -39507,37 +40130,6 @@
   }
  },
  {
-  "ename": "ghc",
-  "commit": "7fabdb05de9b8ec18a3a566f99688b50443b6b44",
-  "sha256": "02nc7a9khqpd4ca2snam8dq72m53q8x7v5awx56bjq31z6vcmav5",
-  "fetcher": "github",
-  "repo": "DanielG/ghc-mod",
-  "unstable": {
-   "version": [
-    20180121,
-    1218
-   ],
-   "deps": [
-    "haskell-mode"
-   ],
-   "commit": "391e187a5dfef4421aab2508fa6ff7875cc8259d",
-   "sha256": "1z142vgv72yfly7nyknzlcpm51sx5zqi26by3c7g68dbb4dxhq57"
-  },
-  "stable": {
-   "version": [
-    5,
-    8,
-    0,
-    0
-   ],
-   "deps": [
-    "haskell-mode"
-   ],
-   "commit": "35690941aadbe44d9401102ab44a39753e0bb2b5",
-   "sha256": "0fcaxj2lhkhkm2h91d9fdqas2b99wblwl74l2y6ckpf05hrc4w1q"
-  }
- },
- {
   "ename": "ghc-imported-from",
   "commit": "855ea20024b606314f8590129259747cac0bcc97",
   "sha256": "063kbymk4r1yrg5ks660d2byrnia6gs6nimjzrvqfi2ib1psc7jc",
@@ -39644,15 +40236,15 @@
   "repo": "magit/ghub",
   "unstable": {
    "version": [
-    20201211,
-    1717
+    20210227,
+    1925
    ],
    "deps": [
     "let-alist",
     "treepy"
    ],
-   "commit": "5fae5e31586a11a2025168030e0eb3876502611c",
-   "sha256": "0i19h9zl8wky1296f0d7dcx9dpfmfixinnaf4l1w1bf4p2xmyfiw"
+   "commit": "f26c1f7e575209da047e77c18d415f9dc11015e2",
+   "sha256": "1cvsslki8nkfh7j7fy0j3f21mf0qc5cz7hv0dm3hw7k25wkrbvb9"
   },
   "stable": {
    "version": [
@@ -39843,6 +40435,21 @@
   }
  },
  {
+  "ename": "git-assembler-mode",
+  "commit": "5f909805296a0959a6317ac6714784854108cfde",
+  "sha256": "1i894n7vhd1r86sbrkf3yr4fv6nc8y5wgqvx42csc0441988cp38",
+  "fetcher": "gitlab",
+  "repo": "wavexx/git-assembler-mode.el",
+  "unstable": {
+   "version": [
+    20210207,
+    1545
+   ],
+   "commit": "1243bdc1a9cdc79802ece05c90731ee14e4f92c9",
+   "sha256": "1rc8z2r8lxzx836j7nk61snps8r0szzifg0inzfv3nb2z8bsiw0b"
+  }
+ },
+ {
   "ename": "git-attr",
   "commit": "3417e4bc586df60b5e6239b1f7683b87953f5b7c",
   "sha256": "084l3zdcgy1ka2wq1fz9d6ryhg38gxvr52njlv43gwibzvbqniyi",
@@ -39995,16 +40602,16 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20210102,
-    1242
+    20210206,
+    2245
    ],
    "deps": [
     "dash",
     "transient",
     "with-editor"
    ],
-   "commit": "25f432551347468ce97b8b03987e59092e91f8f0",
-   "sha256": "0vxsh75xynpfkfvmyyz8x3rppbwr9rgk7zjfil2af2kzba3p27vl"
+   "commit": "3db9e0a9821e5d9d9c6aacf5cc1d8ae1a6546ba7",
+   "sha256": "1js20ga6ymynmfwa94iswqd6j1ffrxni97dpnnsppalg9il0c356"
   },
   "stable": {
    "version": [
@@ -40097,11 +40704,11 @@
   "repo": "emacsorphanage/git-gutter",
   "unstable": {
    "version": [
-    20210109,
-    640
+    20210127,
+    1100
    ],
-   "commit": "5c2ae01562b3ff2def870ed822fd0869326977d6",
-   "sha256": "0bf12nfyhpvdbxajbwna2z19ii42ih8h4p8jrvgqvh0r3lhavdiw"
+   "commit": "cca61a1c6b0c0fd6ecb1b0366711c618581eabb6",
+   "sha256": "1q6qrrxa3mf3pkkqr8piaij3yrgqh48xrrn3a442wn2i427q63kc"
   },
   "stable": {
    "version": [
@@ -40287,20 +40894,20 @@
   "repo": "sshaw/git-link",
   "unstable": {
    "version": [
-    20201214,
-    2330
+    20210121,
+    235
    ],
-   "commit": "9a3e893751791b17db85d691444e50e346cb2bd3",
-   "sha256": "1jdgkjiv6pn2whim71fsyfady8lv180y56j9z6bfx3gg3pp2dcbd"
+   "commit": "f76bffd42fb4ed8ffe09d48c084f6577b0b99fa6",
+   "sha256": "0l7xmvmj5s93hc39wjjv75f22zbhahnmcxpmvx3dfvsbig9pmk75"
   },
   "stable": {
    "version": [
     0,
     8,
-    2
+    3
    ],
-   "commit": "9a3e893751791b17db85d691444e50e346cb2bd3",
-   "sha256": "1jdgkjiv6pn2whim71fsyfady8lv180y56j9z6bfx3gg3pp2dcbd"
+   "commit": "f76bffd42fb4ed8ffe09d48c084f6577b0b99fa6",
+   "sha256": "0l7xmvmj5s93hc39wjjv75f22zbhahnmcxpmvx3dfvsbig9pmk75"
   }
  },
  {
@@ -40491,8 +41098,8 @@
     20180318,
     1956
    ],
-   "commit": "55468314a5f6b77d2c96be62c7005ac94545e217",
-   "sha256": "08hy7rbfazs6grkpk54i82bz0i0c74zcjk96cip8970h6jn3mj72"
+   "commit": "14adca24eb6b0b4e311ad144c5d41972c6b044b2",
+   "sha256": "1z3xyjlbxni98hqdnd46lg89dcmcaqjsv73wv16ia4z6lrkhv5dp"
   },
   "stable": {
    "version": [
@@ -40539,8 +41146,8 @@
     20180318,
     1956
    ],
-   "commit": "55468314a5f6b77d2c96be62c7005ac94545e217",
-   "sha256": "08hy7rbfazs6grkpk54i82bz0i0c74zcjk96cip8970h6jn3mj72"
+   "commit": "14adca24eb6b0b4e311ad144c5d41972c6b044b2",
+   "sha256": "1z3xyjlbxni98hqdnd46lg89dcmcaqjsv73wv16ia4z6lrkhv5dp"
   },
   "stable": {
    "version": [
@@ -40672,21 +41279,6 @@
   }
  },
  {
-  "ename": "github-issues",
-  "commit": "f761e76236e9372d5fae6b5c5dcb1992c5d64d37",
-  "sha256": "12c6yb3v7xwkzc51binfgl4jb3sm3al5nlrklbsxhn44alazsvb0",
-  "fetcher": "github",
-  "repo": "inkel/github-issues.el",
-  "unstable": {
-   "version": [
-    20160616,
-    1841
-   ],
-   "commit": "816f7712b0eb05bffec0add3507302862d2629c4",
-   "sha256": "1x6jbnx9lwgy64nl9lpp01xcj9cbx5fq435iwhiarjdsm4kvixb5"
-  }
- },
- {
   "ename": "github-modern-theme",
   "commit": "35763febad20f29320d459394f810668db6c3353",
   "sha256": "07xv4psw34mrpb1f5fsvj8vcm9k3xlm43zxr6qmj00p46b35z25r",
@@ -40762,8 +41354,8 @@
     "ghub",
     "s"
    ],
-   "commit": "db723740e02348c0760407e532ad667ef89210ec",
-   "sha256": "16d09z1p9ljpc6h2kj30qk6hrs5zgixxj7qrgi3i3kc5djcy2km0"
+   "commit": "d0c8234cf523818513f892f30153210606abb6be",
+   "sha256": "1d0g79mp14ngx5x0f8sc4lri40m3gh0ql6gzyqrl4c94lhq59cn7"
   }
  },
  {
@@ -40842,8 +41434,8 @@
     20180318,
     1956
    ],
-   "commit": "55468314a5f6b77d2c96be62c7005ac94545e217",
-   "sha256": "08hy7rbfazs6grkpk54i82bz0i0c74zcjk96cip8970h6jn3mj72"
+   "commit": "14adca24eb6b0b4e311ad144c5d41972c6b044b2",
+   "sha256": "1z3xyjlbxni98hqdnd46lg89dcmcaqjsv73wv16ia4z6lrkhv5dp"
   },
   "stable": {
    "version": [
@@ -41190,15 +41782,29 @@
   "url": "https://git.launchpad.net/global-tags.el",
   "unstable": {
    "version": [
-    20201215,
-    1900
+    20210225,
+    1553
+   ],
+   "deps": [
+    "async",
+    "ht",
+    "project"
+   ],
+   "commit": "344d084ec5ff6c99b31c5ea57e5352c85b57ae26",
+   "sha256": "0x8m3srxhy0bdl6wqvi7m3q9jai73m5bavij1jwqhr3pc2caxzxm"
+  },
+  "stable": {
+   "version": [
+    0,
+    7
    ],
    "deps": [
     "async",
+    "ht",
     "project"
    ],
-   "commit": "8f46692749e05113d4d14870dd67c6efa06626c7",
-   "sha256": "1sjv3ydqv1gv2nqbdwywj52xc2b2ix9f8sjb14022v0bwywk3v2j"
+   "commit": "344d084ec5ff6c99b31c5ea57e5352c85b57ae26",
+   "sha256": "0x8m3srxhy0bdl6wqvi7m3q9jai73m5bavij1jwqhr3pc2caxzxm"
   }
  },
  {
@@ -41346,11 +41952,11 @@
   "repo": "juergenhoetzel/emacs-gnome-screencast",
   "unstable": {
    "version": [
-    20200115,
-    2230
+    20210125,
+    2001
    ],
-   "commit": "8c5e787230b2b8a51520ab970d5b505cbbc8f32f",
-   "sha256": "1zalx97b92vxjczm798arxyxhl29hla9c9j4da9ykpyspf3wry4d"
+   "commit": "6450ee470e84ff14a15c5c3c0489c79ff593f165",
+   "sha256": "0809psw8jz344hm4vzhapdr79l325dz57p88x509f8kq3fsvv44f"
   },
   "stable": {
    "version": [
@@ -41510,8 +42116,8 @@
   "repo": "deusmax/gnus-notes",
   "unstable": {
    "version": [
-    20210103,
-    2050
+    20210207,
+    1010
    ],
    "deps": [
     "async",
@@ -41522,8 +42128,8 @@
     "org",
     "s"
    ],
-   "commit": "8cacba653f8912355d45847c5e5376eb83e6898f",
-   "sha256": "11d98vasn74p7ifyw8qnyzm4na8l0pnbh7a04cr2znnwqjbnzd7s"
+   "commit": "1457bba34b40d5197aa14dbf0856925f83025ae1",
+   "sha256": "01jm2maa8q0zjpqa95c84k9b9jx5rgwvvhaqbwvw8ccz883mcdjm"
   },
   "stable": {
    "version": [
@@ -41552,11 +42158,11 @@
   "repo": "unhammer/gnus-recent",
   "unstable": {
    "version": [
-    20210107,
-    1346
+    20210115,
+    1107
    ],
-   "commit": "6f13a00c5736c269ed850094cfbc9ea474e24dfe",
-   "sha256": "1x91da1vb48hn2qqdn144gj9n2sas252llcf5jlqqkl8w5wk6z3i"
+   "commit": "52f05e7431b5ce5487e8a990eb2ad01cade973bc",
+   "sha256": "178b8l2f5ykrq1yllg9rmn1vsyp3aqslrga1gxx1rc4grx22x31z"
   },
   "stable": {
    "version": [
@@ -41972,8 +42578,8 @@
     "cl-lib",
     "go-mode"
    ],
-   "commit": "fdf46fe0e110a8e0dddb5aac4ab20a93ee9c5d88",
-   "sha256": "00986s42kfyyxzvlwd2wvllxqkmiq0iajj1wahpdnsbajrrk14sc"
+   "commit": "49a538028e63dbe20f428c52d91f09b70b564626",
+   "sha256": "1zmpbna0picp8iyscrqgvxz5pbkbpapzij0vprkqzfznvihn926n"
   },
   "stable": {
    "version": [
@@ -42065,11 +42671,11 @@
   "repo": "dominikh/go-mode.el",
   "unstable": {
    "version": [
-    20201204,
-    1652
+    20210201,
+    1458
    ],
-   "commit": "fdf46fe0e110a8e0dddb5aac4ab20a93ee9c5d88",
-   "sha256": "00986s42kfyyxzvlwd2wvllxqkmiq0iajj1wahpdnsbajrrk14sc"
+   "commit": "49a538028e63dbe20f428c52d91f09b70b564626",
+   "sha256": "1zmpbna0picp8iyscrqgvxz5pbkbpapzij0vprkqzfznvihn926n"
   },
   "stable": {
    "version": [
@@ -42188,8 +42794,8 @@
    "deps": [
     "go-mode"
    ],
-   "commit": "fdf46fe0e110a8e0dddb5aac4ab20a93ee9c5d88",
-   "sha256": "00986s42kfyyxzvlwd2wvllxqkmiq0iajj1wahpdnsbajrrk14sc"
+   "commit": "49a538028e63dbe20f428c52d91f09b70b564626",
+   "sha256": "1zmpbna0picp8iyscrqgvxz5pbkbpapzij0vprkqzfznvihn926n"
   },
   "stable": {
    "version": [
@@ -42391,11 +42997,11 @@
   "repo": "minad/goggles",
   "unstable": {
    "version": [
-    20210113,
-    1945
+    20210208,
+    124
    ],
-   "commit": "8b7d223eca9b26acb0e3eca4b58d39a3b933bf08",
-   "sha256": "1s0smkprlnmml4a2rqhzb81mz7dlxswnvqsn3wra4brbrs3almhi"
+   "commit": "b014b2414fad8bb3a9a7b6a7e765822887c28fe8",
+   "sha256": "1p3pagldf17mpyv0qmks5hq8y4q59bim0zh42p3b7c4y89nv7qw7"
   }
  },
  {
@@ -42528,11 +43134,11 @@
   "repo": "io12/good-scroll.el",
   "unstable": {
    "version": [
-    20210105,
-    903
+    20210123,
+    159
    ],
-   "commit": "beac144c37227d23e5ceefb8ce1f45aa484ca5c9",
-   "sha256": "1yv07vpgqla7nk0imn7dlzsv392jvhk3w63frvhcmijq5ciafc45"
+   "commit": "5d0479e5a0fe1589fe549f2fc1966f80a4718a4f",
+   "sha256": "046iimmkljbfcz66cj73cnizxn15hw7bzi3glls2h6vh8sxak7d7"
   },
   "stable": {
    "version": [
@@ -42570,8 +43176,8 @@
     20180130,
     1736
    ],
-   "commit": "d5b510476350b9ba99a83a7ceee114012f515394",
-   "sha256": "169aijgk0viyyq3s6sw6fl61ajw6gan9kwv2igawwki5ljfc2rkr"
+   "commit": "6e239d7f906ee456b926be229f3e4ee6bad53e42",
+   "sha256": "04mz13p5n6az94mq0mhd1zw7jdpf26sm4mk0p2r92vfy2xqnjqnd"
   }
  },
  {
@@ -42752,21 +43358,21 @@
   "repo": "nlamirault/gotest.el",
   "unstable": {
    "version": [
-    20191128,
-    1111
+    20210221,
+    1905
    ],
    "deps": [
     "f",
     "go-mode",
     "s"
    ],
-   "commit": "70f63eafda1f6a2f0a01a9320cc4d2edee9a17b2",
-   "sha256": "090xf2w5zgffndpjvg4qfdm77cpsc8vpr00h6j0skjpr3bni79cx"
+   "commit": "9b1dc4eba1b22d751cb2f0a12e29912e010fac60",
+   "sha256": "0693fcli1nv9mn60gh30xspwiwhab8vxf09i1s9yxs80ai712i12"
   },
   "stable": {
    "version": [
     0,
-    14,
+    15,
     0
    ],
    "deps": [
@@ -42774,8 +43380,8 @@
     "go-mode",
     "s"
    ],
-   "commit": "8a5ef7363f83edb3b77c5e23876f13dd8c23b2b9",
-   "sha256": "1ksi37kmy9mnrjr5lf9f0ga5nvi3r2kc85g6yvdfj0mbsjm1pnp7"
+   "commit": "9b1dc4eba1b22d751cb2f0a12e29912e010fac60",
+   "sha256": "0693fcli1nv9mn60gh30xspwiwhab8vxf09i1s9yxs80ai712i12"
   }
  },
  {
@@ -42930,8 +43536,8 @@
     "magit-popup",
     "s"
    ],
-   "commit": "c43a1c86c89e6e30e54d4a21b2d95c03c6ed0c4d",
-   "sha256": "0d43gkppk06w58xsawbnil83170k6h387jr5a4v48zy2amdq7rp2"
+   "commit": "ee5d4c3f398dbd307c06cb092361268ee4afc60c",
+   "sha256": "0nx4zgafgwhzddsyvb4im0rm0k6bvd0lialr9k21mvs2amxpwmq7"
   },
   "stable": {
    "version": [
@@ -43151,22 +43757,22 @@
  },
  {
   "ename": "grammarly",
-  "commit": "1bbf7e3434cea3d0f6f72747ea653188ce25f68f",
-  "sha256": "0h0gikvbyraflm921jmf2jkj1nfgxsdq1ybih449zbhxkvb494d4",
+  "commit": "6bfa47f73110bdf2ca1b223dbed16f73c08a12f2",
+  "sha256": "14cmvd50g3v7c6d96mqck4d0pbjvs92s4axkhwc9zw1h2sl4wni2",
   "fetcher": "github",
-  "repo": "jcs-elpa/grammarly",
+  "repo": "emacs-grammarly/grammarly",
   "unstable": {
    "version": [
-    20201028,
-    612
+    20210219,
+    1713
    ],
    "deps": [
     "request",
     "s",
     "websocket"
    ],
-   "commit": "cda079ea8e14455230108994c1bba53ba63a3bdc",
-   "sha256": "1c6c1bp23r6kpp5xk65njcc9prxgglkdzb9k4px961mbmc4s8hsl"
+   "commit": "e11a5a67307f05e08812be190b23460a1bf97687",
+   "sha256": "10ral5vipq3jvg3l8l2vgia97dpsjzkjvidp63n5z6mpjdwblka1"
   },
   "stable": {
    "version": [
@@ -43435,11 +44041,11 @@
   "repo": "fredcamps/green-is-the-new-black-emacs",
   "unstable": {
    "version": [
-    20200529,
-    242
+    20210203,
+    1511
    ],
-   "commit": "9b682c0000bc732e4c55e876ac968877eada0402",
-   "sha256": "0yilp68qw2a4z8b8mmr2yl2lmwkd3ibk6j5ix6x3vlcmfmrfl3bj"
+   "commit": "09f6908064dd1854379a072d7cdd706959256299",
+   "sha256": "1ad676aiyj0p8jxpmkb0mhfznd6hzpdliji56ix6sbj5jdyxm8jv"
   },
   "stable": {
    "version": [
@@ -43546,8 +44152,8 @@
     20200725,
     725
    ],
-   "commit": "7a37b76342ebcc30b08b1a6a7d8a043d7fede5b2",
-   "sha256": "0mcyj8g1d124zpif9m4x911d877fdf3hahdpp76grsvn2qpzq2az"
+   "commit": "1aebf9c36ecfd6523e84fe092faa6ff06ce2177d",
+   "sha256": "1m86b1x4rkxy1m3q3yj564jihhxcw8ysbfxc38vl75ldnsgvbmy8"
   },
   "stable": {
    "version": [
@@ -43678,20 +44284,20 @@
   "repo": "ROCKTAKEY/grugru",
   "unstable": {
    "version": [
-    20210115,
-    646
+    20210127,
+    432
    ],
-   "commit": "7a3437feb777996dcb8f484b79e898cfdb714bfe",
-   "sha256": "0jfz54phg3db8cgp9sj1grvj3sf10jaq359024j72l71s5cqwmlx"
+   "commit": "4ac2bf3877e3af7d23ace3165b9c8ed536ff4832",
+   "sha256": "05nw45hgbygfvbymghsp425474d4nrgl8pjii8jwd1ym155bf13k"
   },
   "stable": {
    "version": [
     1,
-    17,
+    20,
     0
    ],
-   "commit": "6820ae3aa9203f5e23e0cd80f51b410aaf1d32f3",
-   "sha256": "0sf3lkdvqb55bin8bx5jd06ncqiy9lkx7mx5i8q27r8wmi58q7v6"
+   "commit": "e7f0fca4bfd4815e5ed794f13f89b1e28ce57d26",
+   "sha256": "15h1h5gg369h2dm9yp97ac6l5qajm7f9c0s2cgpymv21gyx2ikr5"
   }
  },
  {
@@ -43803,16 +44409,16 @@
   "repo": "wbolster/emacs-gsettings",
   "unstable": {
    "version": [
-    20190513,
-    1003
+    20210208,
+    2042
    ],
    "deps": [
     "dash",
     "gvariant",
     "s"
    ],
-   "commit": "3009335a077636347defd08d24fb092495d16d3e",
-   "sha256": "0xvj0p533laxvhv9jvgdzw5pix6zlai3jp43n2bi0kwmq21clwgz"
+   "commit": "1bd1909a22121a8200cca678302f1533856b9008",
+   "sha256": "1g195dg359iff4cq5ywwd5jjxwhvwd4qj6j8631g7wkjz1rx7bxb"
   },
   "stable": {
    "version": [
@@ -43908,14 +44514,14 @@
   "repo": "tmalsburg/guess-language.el",
   "unstable": {
    "version": [
-    20201229,
-    1021
+    20210217,
+    1507
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "afbc3456ebdfe4bb5f8754a91c8398f8b5b7636c",
-   "sha256": "1x0f3v98p6lxb31rgkv2a9kr5jqrmvpsa7nqr960s41rkyx4wvi6"
+   "commit": "e7decda098ee6819b37bacd958260c7c789962cb",
+   "sha256": "0d0348knda33qb9l729bz5ccig49hhw15dbjayl9y6l23nlwx7yg"
   }
  },
  {
@@ -43990,8 +44596,8 @@
   "repo": "alezost/guix.el",
   "unstable": {
    "version": [
-    20201222,
-    907
+    20210224,
+    1601
    ],
    "deps": [
     "bui",
@@ -44000,8 +44606,8 @@
     "geiser",
     "magit-popup"
    ],
-   "commit": "bb2a0539f8d68b2292b3d0f3174c139b4c304028",
-   "sha256": "1qf584slf4lqg4qgxj7vblmx0f0jgas03m5cc93a3wfkgkfm19w6"
+   "commit": "8ce6d219e87c5097abff9ce6f1f5a4293cdfcb31",
+   "sha256": "0awbd8x154c4dk4av7inpgd63n07xzng84vvc8qckmgljknc0j7k"
   },
   "stable": {
    "version": [
@@ -44173,8 +44779,8 @@
    "deps": [
     "s"
    ],
-   "commit": "9079bc333e715a13e57ab366522b15d0307e32cd",
-   "sha256": "0qigmp1fwphp909vq0h4kj5m97knnwjvjw3w9d1i074gwdq54j9g"
+   "commit": "847fd910e9d0ac76e2cfeb87512e6923a39d7d5f",
+   "sha256": "1h2j1gbs47l5njny174146b2naf1wv3bgwv932abhjamj7vl06mq"
   },
   "stable": {
    "version": [
@@ -44220,20 +44826,20 @@
   "repo": "clarete/hackernews.el",
   "unstable": {
    "version": [
-    20201019,
-    5
+    20210226,
+    1226
    ],
-   "commit": "c793275565372f63bf9dc1229d5b893a5bd0278e",
-   "sha256": "1fld3q2j58ka130v7gqm24ngw5ghy9vk63141y7bkjs5zb8mahpl"
+   "commit": "cea521750eddb3a70ccd38789d12b09bbdc7e906",
+   "sha256": "0mc9v8az97kap11f8np55xkbrl4mbiy6jfg76jaagkdsfizqpx5a"
   },
   "stable": {
    "version": [
     0,
     6,
-    0
+    1
    ],
-   "commit": "aec997970f2c2f8e0077c1f6584e4d1996ae3864",
-   "sha256": "15asarr271p582xbmhvhh9q0lgka25h6k65xh82rqvig4mirhn1l"
+   "commit": "c9c2bb0f13f5bd64c74dbdf945d9613192c0e454",
+   "sha256": "17lkjcka6ydd6khhz5jbjlybfpx05153z0d8s1rxaxcwl7z2y6cf"
   }
  },
  {
@@ -44638,15 +45244,15 @@
   "repo": "haskell/haskell-snippets",
   "unstable": {
    "version": [
-    20160919,
-    22
+    20210228,
+    344
    ],
    "deps": [
     "cl-lib",
     "yasnippet"
    ],
-   "commit": "07b0f460b946fd1be26c29652cb0468b47782f3a",
-   "sha256": "0a7y3awi9hcyahggf0ghsdwvsmrhr9yq634wy9lkqjzrm2hqj0ci"
+   "commit": "1c29c4a68ce89848b8d371c6510d1de3b586c8b3",
+   "sha256": "1lwnggarmavyf164cfzbzzkq9ffahhd3bz7gw644czs49sndcawf"
   },
   "stable": {
    "version": [
@@ -44695,8 +45301,8 @@
     20181110,
     1859
    ],
-   "commit": "f33ba22a6e5060fb14c9fd3dda728d6724f2f9dd",
-   "sha256": "1lmr8j2g7v3jn2q9h65c7qhzzk4asz0mlqarnl2h0g7xjk0wmi6z"
+   "commit": "57e8ac22bd499b632ab94657b855c7c43b166dda",
+   "sha256": "11792hjxfsnkfwj3q2v6d090x6klf5g257dd75casnsadrlbka2b"
   }
  },
  {
@@ -44949,16 +45555,16 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20210114,
-    1521
+    20210223,
+    2045
    ],
    "deps": [
     "async",
     "helm-core",
     "popup"
    ],
-   "commit": "d0073fd556e5e2296b4fea824929dfab9b1895b8",
-   "sha256": "0wz12f190vsp71bcwygvagksqfihm85rj80bc4a3sx96wyrdjbqm"
+   "commit": "dbdec633c2816981d7127fe00bcd9778b2c31c51",
+   "sha256": "19rppfsiv1642xlz17m877dx6sbzg37nspg6r7nh9b783r4sij6p"
   },
   "stable": {
    "version": [
@@ -45045,26 +45651,6 @@
   }
  },
  {
-  "ename": "helm-addressbook",
-  "commit": "4bb805b0f2d2055aa4e88bd41239d75ec34f5785",
-  "sha256": "1d8byi6sr5gz1rx3kglnkp47sn9dqdd83s12d84wyay06ix3cqqi",
-  "fetcher": "github",
-  "repo": "emacs-helm/helm-addressbook",
-  "unstable": {
-   "version": [
-    20170903,
-    728
-   ],
-   "deps": [
-    "addressbook-bookmark",
-    "cl-lib",
-    "helm"
-   ],
-   "commit": "62497f72d46afd3a9f9f94b27d062a82fb232de4",
-   "sha256": "1lmq7j19qv3pabs5arapx3lv2xhf0sgn4b2hl0l0kzph52fvics7"
-  }
- },
- {
   "ename": "helm-ag",
   "commit": "2a2670edb1155f02d1cbe2600db84a82c8f3398b",
   "sha256": "0jzfycbaz88r6scsiw74prcnbvilsaphljdys6i5k9g5rhn5sxh5",
@@ -45271,8 +45857,8 @@
     "cl-lib",
     "helm"
    ],
-   "commit": "94807a3d3419f90b505eddc3272e244475eeb4f2",
-   "sha256": "08wfvqdzs05bmfjjaqfxffjbl4j7632bnpncs9khrh6lifz03xh2"
+   "commit": "ca09076c3d6e51cc4ffe208c8176fccf3710fcc6",
+   "sha256": "1jf2zapmkg2fdn9ldq8cn3aw02iqpjh26h6yjj93q3h0clsk5ia2"
   },
   "stable": {
    "version": [
@@ -45877,14 +46463,14 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20210105,
-    504
+    20210211,
+    1417
    ],
    "deps": [
     "async"
    ],
-   "commit": "d0073fd556e5e2296b4fea824929dfab9b1895b8",
-   "sha256": "0wz12f190vsp71bcwygvagksqfihm85rj80bc4a3sx96wyrdjbqm"
+   "commit": "dbdec633c2816981d7127fe00bcd9778b2c31c51",
+   "sha256": "19rppfsiv1642xlz17m877dx6sbzg37nspg6r7nh9b783r4sij6p"
   },
   "stable": {
    "version": [
@@ -46171,26 +46757,6 @@
   }
  },
  {
-  "ename": "helm-elscreen",
-  "commit": "dfe42a7fe2dc051c6c49aa75bce89bfe1b5fdbbb",
-  "sha256": "186k66kf2ak2ihha39989cz1aarqrvbgp213y1fwh9qsn1kxclnd",
-  "fetcher": "github",
-  "repo": "emacs-helm/helm-elscreen",
-  "unstable": {
-   "version": [
-    20170709,
-    914
-   ],
-   "deps": [
-    "cl-lib",
-    "elscreen",
-    "helm"
-   ],
-   "commit": "b8212866939dc4a1e1dc23ad572407b688e130e3",
-   "sha256": "0gy6lbdngiwfl9vfw32clagbmv70f93slc9zkm3dz3mca37435kz"
-  }
- },
- {
   "ename": "helm-emmet",
   "commit": "acbc5e9fab159ad2d63b10c0fa6ac18636bb2379",
   "sha256": "1dkn9qa3dv2im11lm19wfh5jwwwp42sv7jc0p6qg35rhzwdpfg03",
@@ -46404,15 +46970,15 @@
   "repo": "emacs-helm/helm-exwm",
   "unstable": {
    "version": [
-    20200325,
-    1022
+    20210215,
+    858
    ],
    "deps": [
     "exwm",
     "helm"
    ],
-   "commit": "00ddb4d2a127087a0b99f0a440562bd54408572d",
-   "sha256": "0g4k01ps14bp2az8v6dcag9llg045k2b4kdis81xx4lvw76znr9v"
+   "commit": "5b35a42ff10fbcbf673268987df700ea6b6288e8",
+   "sha256": "1j7a3jn1599cy7n2q42vqc9kwz252k018vy3sbj8a8v0cz2xvy5z"
   },
   "stable": {
    "version": [
@@ -46743,40 +47309,6 @@
   }
  },
  {
-  "ename": "helm-ghc",
-  "commit": "855ea20024b606314f8590129259747cac0bcc97",
-  "sha256": "0bv0sfpya1jyay9p80lv0w6h9kdp96r8lnp6nj15w660p1b51c0d",
-  "fetcher": "github",
-  "repo": "david-christiansen/helm-ghc",
-  "unstable": {
-   "version": [
-    20141105,
-    1459
-   ],
-   "deps": [
-    "cl-lib",
-    "ghc",
-    "helm"
-   ],
-   "commit": "e5ee7b8d3b745d162553aecfbd41381c4de85f35",
-   "sha256": "16p1gisbza48qircsvrwx020n96ss1c6s68d7cgqqfc0bf2467is"
-  },
-  "stable": {
-   "version": [
-    0,
-    1,
-    0
-   ],
-   "deps": [
-    "cl-lib",
-    "ghc",
-    "helm"
-   ],
-   "commit": "d3603ee18299b789be255297dc42af16dd431869",
-   "sha256": "00ls9v3jdpz3wka90crd193z3ipwnf1b0slmldn4vb9ivrndh6wn"
-  }
- },
- {
   "ename": "helm-ghq",
   "commit": "e94eec646def7c77b15f6a6ac1841200848e62c7",
   "sha256": "14f3cbsj7jhlhrp561d8pasllnx1cmi7jk6v2fja7ghzj76dnvq6",
@@ -47230,16 +47762,16 @@
   "repo": "yyoncho/helm-icons",
   "unstable": {
    "version": [
-    20200719,
-    1359
+    20210219,
+    1752
    ],
    "deps": [
     "dash",
     "f",
     "treemacs"
    ],
-   "commit": "d8c15dc61c1f321686b447e83abb17e14bc6f1c6",
-   "sha256": "0na4nks6l7917r64rc49b38lwsdj7wvslnnikms92882z5c8c6nn"
+   "commit": "5a668ef21ba02bf1fce2db18950858c769bf5d05",
+   "sha256": "0n759vnymjgpf24kn7704vj8l1phsnjrgllqhcv1c50fsni1fajl"
   }
  },
  {
@@ -47474,8 +48006,8 @@
     "helm",
     "lean-mode"
    ],
-   "commit": "cc1f5fadf8e9ae08aa25828985edc97df04d94a7",
-   "sha256": "0v03bisr0ljk1ypbicgh9izxwazz8ry5xcd7r1lqb339xqb0bzqb"
+   "commit": "15bee87dc4080b87c543964375b7ce162317ab6f",
+   "sha256": "127b7ny5mr1y14yg54gy7an3lk3928w4y9a22295i4v4zgj704j4"
   }
  },
  {
@@ -47621,16 +48153,16 @@
   "repo": "emacs-lsp/helm-lsp",
   "unstable": {
    "version": [
-    20200910,
-    518
+    20210226,
+    2027
    ],
    "deps": [
     "dash",
     "helm",
     "lsp-mode"
    ],
-   "commit": "fc09aa0903ee6abe4955e9a6062dcea667ebff5a",
-   "sha256": "1gcs6aky8h6g9wkrqjl8j50zm4lnvnjv4xcfxxg2z0j7vln81pbx"
+   "commit": "74a02f89088484c42ffc184ece338b73abd4d6f6",
+   "sha256": "1p130xj03wh3pqwf1bb3xl86pqnv1kpmn90mwfg0g52jwl0grv6b"
   },
   "stable": {
    "version": [
@@ -47974,18 +48506,19 @@
   "repo": "akirak/org-multi-wiki",
   "unstable": {
    "version": [
-    20210111,
-    1022
+    20210228,
+    1853
    ],
    "deps": [
     "dash",
     "helm",
     "helm-org-ql",
+    "org",
     "org-multi-wiki",
     "org-ql"
    ],
-   "commit": "c9005cbe4077cce3743b680dec97c11fa179bb36",
-   "sha256": "1428lky09cvlqdb8b9zf0x49cxmigrkhvhi391b2mj2qzgmjzcvm"
+   "commit": "c85bcaafed749de3efa5e1f4d256e7ac9c5678e2",
+   "sha256": "14da1rhln69nnjd891x6f6d69vyy4a4lg6cw51gd7h3cy6lcwbl5"
   },
   "stable": {
    "version": [
@@ -48176,29 +48709,29 @@
   "repo": "emacs-helm/helm-pass",
   "unstable": {
    "version": [
-    20190315,
-    1335
+    20210221,
+    1655
    ],
    "deps": [
     "auth-source-pass",
     "helm",
     "password-store"
    ],
-   "commit": "ed5798f2d83937575e8f23fde33323bca9e85131",
-   "sha256": "0vglaknmir3yv4iwibwn8r40ran8d04gcyp99hx73ldmf3zqpnxv"
+   "commit": "4ce46f1801f2e76e53482c65aa0619d427a3fbf9",
+   "sha256": "19w24isddzamkikq17vbv3y7ha22i7wc09d2nqw1j0qwhrrfkng9"
   },
   "stable": {
    "version": [
     0,
-    3
+    4
    ],
    "deps": [
     "auth-source-pass",
     "helm",
     "password-store"
    ],
-   "commit": "ed5798f2d83937575e8f23fde33323bca9e85131",
-   "sha256": "0vglaknmir3yv4iwibwn8r40ran8d04gcyp99hx73ldmf3zqpnxv"
+   "commit": "4ce46f1801f2e76e53482c65aa0619d427a3fbf9",
+   "sha256": "19w24isddzamkikq17vbv3y7ha22i7wc09d2nqw1j0qwhrrfkng9"
   }
  },
  {
@@ -48771,8 +49304,8 @@
     "helm",
     "rtags"
    ],
-   "commit": "39339388256df662d0084b4a094d03e52748f9e8",
-   "sha256": "0wp4mygsxzibra2p3m5rn9m0yd3fscd795k5xa0wxi5pwddv7dlg"
+   "commit": "aa4c827b417f5448c12401c33acdab1325917c13",
+   "sha256": "02jqcbrpxm4sv15l8kyvsw9pwkmamj065cgifj68x242fw2f0sam"
   },
   "stable": {
    "version": [
@@ -48897,8 +49430,8 @@
   "repo": "emacs-helm/helm-searcher",
   "unstable": {
    "version": [
-    20210108,
-    1818
+    20210221,
+    923
    ],
    "deps": [
     "f",
@@ -48906,14 +49439,14 @@
     "s",
     "searcher"
    ],
-   "commit": "d27c7cafc79b6e5e11881014eee9817e3897762f",
-   "sha256": "117m2c8ms66gqwsxgdwywx166bif2i2y5dgq1w0yw5j4h02q3ji7"
+   "commit": "181f60cb8505aec05393a9dbf414733d19f76d2a",
+   "sha256": "06bnnbay56ngiddkvvwmy3fv4v2gjss8gm7gjcp2064m9njgw5mx"
   },
   "stable": {
    "version": [
     0,
     2,
-    4
+    5
    ],
    "deps": [
     "f",
@@ -48921,8 +49454,8 @@
     "s",
     "searcher"
    ],
-   "commit": "7b3016faeca201843d849c00d11665a90c1709fb",
-   "sha256": "07whjqsi7jq4i3fypzasq2iivsj025x3701wfgsj2f02xyvgfk4p"
+   "commit": "3c0e4997126b5e7ba2db2dba8f1dbc5cb92d2459",
+   "sha256": "1fcinlxrvzmlrn17gfpv3n2wf9si084p6yi3jg0jzagnprris8lx"
   }
  },
  {
@@ -48952,25 +49485,26 @@
   "repo": "emacs-helm/helm-selector",
   "unstable": {
    "version": [
-    20201219,
-    1639
+    20210125,
+    857
    ],
    "deps": [
     "helm"
    ],
-   "commit": "6a943b9952c749c2a83c284cfcf5b56f5f6622ad",
-   "sha256": "0msc8byspjd0ygpbnxkiv2g9qv5kxpcp2vh2sjg7yxrfbishj8hq"
+   "commit": "4da4711c4cfd14527abe20d66787beeb49171b26",
+   "sha256": "01lh1df0bnas1p7xlqc4i1jd67f8lxgq0q2zsvx10z8828i76j3v"
   },
   "stable": {
    "version": [
     0,
-    5
+    6,
+    1
    ],
    "deps": [
     "helm"
    ],
-   "commit": "7542a6dffe338db8109b0233e4d4c8f4b22354a0",
-   "sha256": "1cv659sqmrvk316fp7mjc58vvbcg1j6s2q4rwgqrpbyszrxl3i63"
+   "commit": "4da4711c4cfd14527abe20d66787beeb49171b26",
+   "sha256": "01lh1df0bnas1p7xlqc4i1jd67f8lxgq0q2zsvx10z8828i76j3v"
   }
  },
  {
@@ -48992,6 +49526,24 @@
   }
  },
  {
+  "ename": "helm-shell-history",
+  "commit": "93d2ca7bf89a96a8a2eac59d2a34d8f152fa9752",
+  "sha256": "1krb7i00rf9dwq9pq8zppiyhhahpk661qbg8hazg7bpsb58kxy8r",
+  "fetcher": "github",
+  "repo": "anoopemacs/helm-shell-history",
+  "unstable": {
+   "version": [
+    20210214,
+    948
+   ],
+   "deps": [
+    "helm"
+   ],
+   "commit": "0c861f3db721e54053fc65f5651cf548cc1cb600",
+   "sha256": "00dkwym5xkvxa3w4dgpbk22rhrwl7v73cv6ay3pqcv7rjcc2m3s8"
+  }
+ },
+ {
   "ename": "helm-slime",
   "commit": "c35d43a7a8219de4a7f675147f598966aaecb9db",
   "sha256": "0qv4c1dd28zqbjxpshga967szrh75a4k51n4x86xkbax7ycca4hh",
@@ -49033,30 +49585,30 @@
   "repo": "emacs-helm/helm-sly",
   "unstable": {
    "version": [
-    20210114,
-    1928
+    20210205,
+    1424
    ],
    "deps": [
     "cl-lib",
     "helm",
     "sly"
    ],
-   "commit": "7fbd6544511d8669c8122b6a9128fd09e835c3fe",
-   "sha256": "061qihf8fwka7jpcvn1z76rcjbipfri41xfkn17i7pg4nzmqhaaw"
+   "commit": "3691626c80620e992a338c3222283d9149f1ecb5",
+   "sha256": "06x8wyx1r0s7askkvlbklgz1cszv34qsvv3gryndw350smk1v8kx"
   },
   "stable": {
    "version": [
     0,
-    5,
-    1
+    7,
+    2
    ],
    "deps": [
     "cl-lib",
     "helm",
     "sly"
    ],
-   "commit": "ccf8e83644bc1b2113eab46693e64d3f0c56198f",
-   "sha256": "13s2dj09mcdwlibjlahyyq2dxjkjlpxs88dbdyvcd64249jmahsx"
+   "commit": "3691626c80620e992a338c3222283d9149f1ecb5",
+   "sha256": "06x8wyx1r0s7askkvlbklgz1cszv34qsvv3gryndw350smk1v8kx"
   }
  },
  {
@@ -49203,26 +49755,26 @@
   "repo": "emacs-helm/helm-switch-to-repl",
   "unstable": {
    "version": [
-    20201214,
-    1216
+    20210206,
+    844
    ],
    "deps": [
     "helm"
    ],
-   "commit": "e6cae905c9d224bcca02437696afae7d6633c4a9",
-   "sha256": "1zwzpar34b98p0fiwy9q1bxrb67nv79pv9cz4kmyypclrmrhgqa2"
+   "commit": "f0e732e7217fc0373b0805245fa15920cf676619",
+   "sha256": "0n8qa549c5syvgqw1h2zrakjjbygddpxzaifaq5irscgdcajrads"
   },
   "stable": {
    "version": [
     0,
     1,
-    1
+    2
    ],
    "deps": [
     "helm"
    ],
-   "commit": "e6cae905c9d224bcca02437696afae7d6633c4a9",
-   "sha256": "1zwzpar34b98p0fiwy9q1bxrb67nv79pv9cz4kmyypclrmrhgqa2"
+   "commit": "f0e732e7217fc0373b0805245fa15920cf676619",
+   "sha256": "0n8qa549c5syvgqw1h2zrakjjbygddpxzaifaq5irscgdcajrads"
   }
  },
  {
@@ -49682,18 +50234,17 @@
   "repo": "Wilfred/helpful",
   "unstable": {
    "version": [
-    20201012,
-    614
+    20210219,
+    728
    ],
    "deps": [
     "dash",
-    "dash-functional",
     "elisp-refs",
     "f",
     "s"
    ],
-   "commit": "584ecc887bb92133119f93a6716cdf7af0b51dca",
-   "sha256": "04kk8rrkgkggjxqppivc4dbn13dkc786dv0masby0wy58vlxpsfv"
+   "commit": "0b6720145e1d1e037ec8658b83fddfad2c0ce923",
+   "sha256": "0rsxd62l81hkpvznclgwvd1r6ca66mx6xm7jlvv8id28jhrqv03w"
   },
   "stable": {
    "version": [
@@ -49897,6 +50448,30 @@
   }
  },
  {
+  "ename": "hiccup-cli",
+  "commit": "524a84be8692bd29b93e4897467e2e798be5fa53",
+  "sha256": "0xv6bq2ryz71lqqm1z6wg0lf1qmqwydg17zi614dsajsa5xhrjkb",
+  "fetcher": "github",
+  "repo": "kwrooijen/hiccup-cli",
+  "unstable": {
+   "version": [
+    20210208,
+    652
+   ],
+   "commit": "b56ae0d5cd5ce3ef24ed13be5103e231c91ef4e2",
+   "sha256": "0cl84mlgrjwjxgk2kx4930rarxyc6n07lvy54gmb907i4l6flw61"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "commit": "cfbb957a1f86bc1d28e778bfdffdeaaa2ae79286",
+   "sha256": "0f3b7wsq9b0xswvj4073ykkcc36kybz16bz4q068qziig22d9szb"
+  }
+ },
+ {
   "ename": "hide-lines",
   "commit": "ae489be43b1aee93614e40f492ebdf0b98a3fbc1",
   "sha256": "18h5ygi6idpb5wjlmjjvjmwcw7xiljkfxdvq7pm8wnw75p705x4d",
@@ -50151,11 +50726,11 @@
   "repo": "antonj/Highlight-Indentation-for-Emacs",
   "unstable": {
    "version": [
-    20201110,
-    1327
+    20210221,
+    1418
    ],
-   "commit": "4fc4e346c17e4e975a8c8ece3d4e7240357e2869",
-   "sha256": "1laj0h8vm058miwv0pl8hsh5pyfg98h4y9szzq03ilry4ifx9jz5"
+   "commit": "d88db4248882da2d4316e76ed673b4ac1fa99ce3",
+   "sha256": "02a3r3f6nd37yx1gsr6nv168wmx5r5c7b47a5r5fw16d2zlkfmix"
   },
   "stable": {
    "version": [
@@ -50392,26 +50967,26 @@
   "repo": "mihaimaruseac/hindent",
   "unstable": {
    "version": [
-    20200904,
-    2236
+    20210201,
+    148
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "1917b7b9ac2cb3dcb152f4435de61d1858a4064b",
-   "sha256": "0rpmmzwjqij5v8k33qlpq323za96447pdwrwzwk4474n4v5xsp50"
+   "commit": "e146d672ea4c00fe17018e7e76e49d59570eeb2b",
+   "sha256": "0bcrlw76nihbffm7p5jh9vf3r1756p6vwa7hbwp933r4caaiyqid"
   },
   "stable": {
    "version": [
     5,
     3,
-    1
+    2
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "1583be4a8a01b765841f7306284528ae713abb7b",
-   "sha256": "1l8v3vq3yw7zr1yxyscfw8lggcf0klnyszhv18505c6myybp2dkp"
+   "commit": "e146d672ea4c00fe17018e7e76e49d59570eeb2b",
+   "sha256": "0bcrlw76nihbffm7p5jh9vf3r1756p6vwa7hbwp933r4caaiyqid"
   }
  },
  {
@@ -50493,10 +51068,10 @@
  },
  {
   "ename": "history",
-  "commit": "f51d4cc6521546c99197adeb35459fcd53bd67d4",
-  "sha256": "0s8pcz53bk1w4h5847204vb6j838vr8za66ni1b2y4pas76zjr5g",
+  "commit": "d1172402073d66c671de75ddf5c9b6ac3f6d64cd",
+  "sha256": "14n0h6lca450w68lk20q98bdbkfadmsqmv1sb73m0pnvzyh5c04z",
   "fetcher": "github",
-  "repo": "boyw165/history",
+  "repo": "tcw165/history",
   "unstable": {
    "version": [
     20160821,
@@ -50607,8 +51182,8 @@
     20201126,
     818
    ],
-   "commit": "82f42045c11ad8c6f13db3a32dcda970a378d164",
-   "sha256": "1ydks5mrzsxj7q3kvv8ji6vy4jxfra7lhd3vfyqldp3inhz3rpkz"
+   "commit": "05a8c5119c717f53e2e9c279d316f04dd744b9b3",
+   "sha256": "11pa6nlpisaba9db0a8iqs86m4ly93cnd8rszd051dg3av8snx67"
   }
  },
  {
@@ -50677,11 +51252,11 @@
   "repo": "tarsius/hl-todo",
   "unstable": {
    "version": [
-    20210105,
-    744
+    20210117,
+    1140
    ],
-   "commit": "9661a462d86b22293caaa4c3d94f971a15dbf1d5",
-   "sha256": "0w0l990wqdv9fdxf8a02fx0aj6ffp83jp3zh81jf3j5i0l75xfkr"
+   "commit": "4d18ccde596aef84ef278aa60144390ab41f0046",
+   "sha256": "0r9yz485g393yh4nh1a8nqhk1yxjapq2dzjs3l13ld34hql776yc"
   },
   "stable": {
    "version": [
@@ -50709,8 +51284,8 @@
     "htmlize",
     "popup"
    ],
-   "commit": "bad680b33c2ca20a6088986a10735a5df3cb9996",
-   "sha256": "0vd2fn011l5iqi1ja8j3l0wq90wr70b8dk75mh3xrrl8jp55xwxl"
+   "commit": "f1deebb0cbe9ca040856d3cc99942335250d9566",
+   "sha256": "0hnmia3c052php3i2g1sbsp402fgi17yv6as044ck617p7avz971"
   }
  },
  {
@@ -50850,6 +51425,26 @@
   }
  },
  {
+  "ename": "holy-books",
+  "commit": "6b74662e2f4bee4b7c06be029bfa75eca35d5d86",
+  "sha256": "1s9kkjnbmm7vxh767asmnv4h040ksyqzhn3h7x5h0iszhrp6nmp2",
+  "fetcher": "github",
+  "repo": "alhassy/holy-books",
+  "unstable": {
+   "version": [
+    20210227,
+    2225
+   ],
+   "deps": [
+    "dash",
+    "org",
+    "s"
+   ],
+   "commit": "53ee29d1b1a1a9cbd664c318b01aa1c13011efff",
+   "sha256": "0n7qnr23h22lsp2n19z3j30zq6l2rvqj1mldkaki0gvw5whi4r3w"
+  }
+ },
+ {
   "ename": "home-end",
   "commit": "f67c9cf33e0f11a9bd6e1521af86d180177111c4",
   "sha256": "0xnpb0n4kd7b0m80g2a88ylfk5gbvkcgwb78nig98dmgjg48z2ly",
@@ -50863,6 +51458,17 @@
    "deps": [
     "keypress-multi-event"
    ],
+   "commit": "fbddad2c1268720ce17662a232b48f666e489526",
+   "sha256": "0wabzpah1vkg8ns21agvrs9s7rm1r0cxghmfv6c2zq71886glv1y"
+  },
+  "stable": {
+   "version": [
+    1,
+    0
+   ],
+   "deps": [
+    "keypress-multi-event"
+   ],
    "commit": "30676ceec0d4ad84038cd0d65ee45ae810ab185c",
    "sha256": "0czvnk74988p6gqz5jz83gkvvqdrdmzn4qz6cc8dmbyxk1zg6l8y"
   }
@@ -51064,16 +51670,16 @@
   "repo": "thanhvg/emacs-howdoyou",
   "unstable": {
    "version": [
-    20201002,
-    1901
+    20210217,
+    1723
    ],
    "deps": [
     "org",
     "promise",
     "request"
    ],
-   "commit": "e7c2e75a0365bca16e8910e295f330c35fa016ae",
-   "sha256": "1wsbd4rjfh27w5qzrzd1h6xpqp7s5amw33wdaa2cfp7c67pnm4kc"
+   "commit": "27e9e015b930175896c07536c25e379a4e1997af",
+   "sha256": "14f3fqz8sjmjh7si5gk31fh7bnvc9p1rfd9p2l39zvasvk1sxki0"
   }
  },
  {
@@ -51084,14 +51690,14 @@
   "url": "https://scm.osdn.net/gitroot/howm/howm.git",
   "unstable": {
    "version": [
-    20201231,
-    1042
+    20210217,
+    1128
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "c11a6b7ad3d683d2910572fa7f2a87ffdf503317",
-   "sha256": "0fjwgxaf7lzby6hz96xz9b97mv4vhczs14cq6j6vxygrkykafwam"
+   "commit": "bac98b873d07baf039fe252b9d67f71c235dca06",
+   "sha256": "0rhyhkm84fsff5lyvb0z9rnbhmqn4ix0d8wixzll2n2yclj9d9my"
   }
  },
  {
@@ -51120,25 +51726,25 @@
   "repo": "Wilfred/ht.el",
   "unstable": {
    "version": [
-    20210113,
-    822
+    20210119,
+    741
    ],
    "deps": [
     "dash"
    ],
-   "commit": "5876209c9712bd1acbbf1d31f6e3293e5ab88971",
-   "sha256": "03cn43vd2zq67hzb1hy82b7lshzslxzndjj1z1liv1kspww2hkch"
+   "commit": "c4c1be487d6ecb353d07881526db05d7fc90ea87",
+   "sha256": "1i3ps5zrr719nrcrsyhlmfdazzcz1agrmx424mbyca5vra8cc35i"
   },
   "stable": {
    "version": [
     2,
-    2
+    3
    ],
    "deps": [
     "dash"
    ],
-   "commit": "a23a72342fda1eb3cc8d792f86efabe45eb0d1fd",
-   "sha256": "1p3qa7g0wa0wbviv2f8bda39cjys3naayk5xjm3nxxmqsyy8papx"
+   "commit": "2eddb85a66508ad607e94fd8384b18feb07a2449",
+   "sha256": "0can9v336lgnq0q2ha3js0565jzp3dlwwqxhcbx5swk5kp148f07"
   }
  },
  {
@@ -51704,6 +52310,24 @@
   }
  },
  {
+  "ename": "i-ching",
+  "commit": "28b05f2e04d286f3115e33e9d3e717caef8a0a46",
+  "sha256": "14g095dd8gzp64xwnnha1smd5jqgswzfaw9vfz4ihyglsjvl23m1",
+  "fetcher": "github",
+  "repo": "zzkt/i-ching",
+  "unstable": {
+   "version": [
+    20210222,
+    1519
+   ],
+   "deps": [
+    "request"
+   ],
+   "commit": "51a3180ed07ae9f8b7ff3f2b822d998495864a07",
+   "sha256": "1rrykszzcyvrmks2clrpdq5kdldcqp38wc908bhq2b4qw7w3d7sw"
+  }
+ },
+ {
   "ename": "i2b2-mode",
   "commit": "855ea20024b606314f8590129259747cac0bcc97",
   "sha256": "1jnlisdnp9sz54p444vlq00y3080i4ljcvclri9fy382g1s5ags5",
@@ -51810,19 +52434,19 @@
   "repo": "muffinmad/emacs-ibuffer-project",
   "unstable": {
    "version": [
-    20200210,
-    2252
+    20210205,
+    1940
    ],
-   "commit": "8cc8c96cb15874dd55cdbfce759f528de0046f9f",
-   "sha256": "0ysjyirw9gkrs8wivvvxfgdq8radpkl6nhh2a0ac3s42vrwbf9g1"
+   "commit": "2483d2dbd715c4bd892d1fbc968a17a01888cb2d",
+   "sha256": "165g2lsg8apdpn7i36h0x5j80clpjpf3d1d1l8g8ahf5280flcfw"
   },
   "stable": {
    "version": [
     2,
-    0
+    1
    ],
-   "commit": "8cc8c96cb15874dd55cdbfce759f528de0046f9f",
-   "sha256": "0ysjyirw9gkrs8wivvvxfgdq8radpkl6nhh2a0ac3s42vrwbf9g1"
+   "commit": "2483d2dbd715c4bd892d1fbc968a17a01888cb2d",
+   "sha256": "165g2lsg8apdpn7i36h0x5j80clpjpf3d1d1l8g8ahf5280flcfw"
   }
  },
  {
@@ -51880,11 +52504,11 @@
   "repo": "jojojames/ibuffer-sidebar",
   "unstable": {
    "version": [
-    20180219,
-    131
+    20210215,
+    1849
    ],
-   "commit": "7ddf1b5a158b33e9a7d3fe5dad7ea626a464d2bc",
-   "sha256": "18rl379bfilzvyi4f4kmy74l4vq2q8hhy5i8kflcgvn0ibipwqjz"
+   "commit": "59e20690fc4f5ccd751e7a13a60664b97f053a1c",
+   "sha256": "1z6japr7n950222x33jinb34z7j6n5spj9cn8nq8f8yf8rgp6n2j"
   }
  },
  {
@@ -51978,11 +52602,11 @@
   "repo": "oantolin/icomplete-vertical",
   "unstable": {
    "version": [
-    20210105,
-    500
+    20210227,
+    2146
    ],
-   "commit": "288166784de29db2f5f61722cc11151deca3f34a",
-   "sha256": "0if14qqixkkg8nfikfzhqqnsclhkbx4n8885gm9w0zlibkcj65pk"
+   "commit": "e490b01f7420bc15bc8e7b4594964208c3d31107",
+   "sha256": "1b069vnjlwnwk62332ndwizjp44dhjxvajv2nndpxqrkpqg9s8jb"
   },
   "stable": {
    "version": [
@@ -52001,27 +52625,27 @@
   "repo": "plandes/icsql",
   "unstable": {
    "version": [
-    20210115,
-    137
+    20210216,
+    2116
    ],
    "deps": [
     "buffer-manage",
     "choice-program"
    ],
-   "commit": "41ca05a6d234c55c2963599648a9e3c433ad5902",
-   "sha256": "0skazm21xjp8w80g4iqpi1dj48xnhka03l46v6zz48v5686iqv5d"
+   "commit": "af9eaab39cc62869d3a3806cdb2c0b981417da16",
+   "sha256": "0h37yqdh7dx1d3mmzlc037d4ph7p740438x0kpxk36rqw1xp7xqp"
   },
   "stable": {
    "version": [
     0,
-    3
+    4
    ],
    "deps": [
     "buffer-manage",
     "choice-program"
    ],
-   "commit": "41ca05a6d234c55c2963599648a9e3c433ad5902",
-   "sha256": "0skazm21xjp8w80g4iqpi1dj48xnhka03l46v6zz48v5686iqv5d"
+   "commit": "af9eaab39cc62869d3a3806cdb2c0b981417da16",
+   "sha256": "0h37yqdh7dx1d3mmzlc037d4ph7p740438x0kpxk36rqw1xp7xqp"
   }
  },
  {
@@ -52182,17 +52806,17 @@
  },
  {
   "ename": "ido-complete-space-or-hyphen",
-  "commit": "59e11094068d3a0c0e4edc1f82158c43d3b15e0e",
-  "sha256": "1wk0cq5gjnprmpyvhh80ksz3fash42hckvmx8m95crbzjg9j0gbc",
+  "commit": "af424a73243aabec86c5bcd688a0cf29ad57199c",
+  "sha256": "084lgxjq2wfvhp1pv0dcn3ac8hy6jhjpyv1bxan6pdr2v5bc0lz2",
   "fetcher": "github",
-  "repo": "doitian/ido-complete-space-or-hyphen",
+  "repo": "DarwinAwardWinner/ido-complete-space-or-hyphen",
   "unstable": {
    "version": [
-    20180929,
-    150
+    20210206,
+    1505
    ],
-   "commit": "ed60ebed113e4e1552efeab0c416f7c88428268e",
-   "sha256": "15h0alwi7qfqyi7w7gdl06ykxvafbx1p4614rg81kmzgs4dpqgy3"
+   "commit": "d1244243e042b8d5b6b991db752a17a44ea169bc",
+   "sha256": "1gl646lj1i2yxmgrgwd0sz9abq3zqf9z4qkl6ilp49ijk4cks63g"
   },
   "stable": {
    "version": [
@@ -52211,16 +52835,16 @@
   "repo": "DarwinAwardWinner/ido-completing-read-plus",
   "unstable": {
    "version": [
-    20210103,
-    1621
+    20210206,
+    1750
    ],
    "deps": [
     "cl-lib",
     "memoize",
     "seq"
    ],
-   "commit": "f91e5a1d696c13db029fd62806fe9bcb9702be26",
-   "sha256": "0yhl6wa3fkvkfx87vhjl8dhn3igzrilby2vxhllgysb5kbd9adzc"
+   "commit": "36a8bb93a59a16c8d5a5163c8cfde3770a1052df",
+   "sha256": "03v0d93fwp5k2n8mmkj3szqm80ilbzkqqdaz5v1v2ar0p4sajl8v"
   },
   "stable": {
    "version": [
@@ -52463,11 +53087,11 @@
   "repo": "creichert/ido-vertical-mode.el",
   "unstable": {
    "version": [
-    20201012,
-    1514
+    20210205,
+    436
    ],
-   "commit": "5a6e17048528c328c129db6dccfe605f301ddef2",
-   "sha256": "19mwbz6a67a76pm9820w3rvz0mb54gx09nq5fzz4lkwn94578kyn"
+   "commit": "b1659e967da0687abceca733b389ace24004fa66",
+   "sha256": "0wihhkbcfsfy3drqhg443vlz931c0nvpr9rdmp8l8m33ca1bbx5i"
   },
   "stable": {
    "version": [
@@ -52539,15 +53163,15 @@
   "repo": "idris-hackers/idris-mode",
   "unstable": {
    "version": [
-    20200522,
-    808
+    20210223,
+    850
    ],
    "deps": [
     "cl-lib",
     "prop-menu"
    ],
-   "commit": "b77eadd8ac2048d5c882b4464bd9673e45dd6a59",
-   "sha256": "1v8av6jza1j00ln75zjwaca0vmmv0fhhhi94p84rlfzgzykyb9g1"
+   "commit": "80aabd2566082aa67d17eccdd80e9f1fb10c9ec8",
+   "sha256": "1cmmasfmgnzhixhczigz1c2jzhr9yj4v6mwvgxs99vbg2k3p9rcq"
   },
   "stable": {
    "version": [
@@ -52585,11 +53209,11 @@
   "repo": "victorhge/iedit",
   "unstable": {
    "version": [
-    20210114,
-    1621
+    20210203,
+    23
    ],
-   "commit": "dc3b419f1b945bd806bf40b7a478e7a2144c2077",
-   "sha256": "1xqq0hl8wcxa64pfn11pxcb7gcfgczaw166h0qksczwib2v4racc"
+   "commit": "0d6d2387188763a88cdf84f749e6f32d5a72bbd6",
+   "sha256": "0v34zqbfr7z3mr5c9nyksxkdgmnyvvsr9zaq202hhq25lwlhrkpq"
   },
   "stable": {
    "version": [
@@ -52681,10 +53305,10 @@
  },
  {
   "ename": "image+",
-  "commit": "02d7400477a993b7a3cae327501dbf8db97dfa28",
-  "sha256": "1a9dxswnqn6cvx28180kclpjc0vc6fimzp7n91gpdwnmy123x6hg",
+  "commit": "98ecbfb97550c3dfffaab63fcfe27786f3574bff",
+  "sha256": "14xcb0a5ihq16amri3n8avbg1jjx4hg3dnynxd4903gig72kywbx",
   "fetcher": "github",
-  "repo": "mhayashi1120/Emacs-imagex",
+  "repo": "emacsorphanage/image-plus",
   "unstable": {
    "version": [
     20150707,
@@ -52840,11 +53464,11 @@
   "repo": "QiangF/imbot",
   "unstable": {
    "version": [
-    20201204,
-    801
+    20210223,
+    1226
    ],
-   "commit": "17b586307065f868a999e58fab30749d1b722aa2",
-   "sha256": "14c48zgdi54i9yz8ya6vgclafzqpfnjxsxf4dvzxcn74p4sb246z"
+   "commit": "b5d191c9168918a47373c70e97ae83ba46b946f6",
+   "sha256": "10qj11q35q9ck5dlkv26ra5zy5p3jckb24jl7y050af0fip1m0vd"
   }
  },
  {
@@ -52855,26 +53479,26 @@
   "repo": "vspinu/imenu-anywhere",
   "unstable": {
    "version": [
-    20190512,
-    1939
+    20210201,
+    1704
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "88b0e120284058b32252e4b0ed1a07c9fe44092f",
-   "sha256": "1w0n4hx29zc6n06qfq3ryc4dcfmk7wx3lw083yv7fi12hjj255vm"
+   "commit": "06ec33d79e33edf01b9118aead1eabeae8ee08b1",
+   "sha256": "0lbwfhcl40ayxskvmsvdrg8p63qp086xpzw61bqk4b3fxndxl04h"
   },
   "stable": {
    "version": [
     1,
     1,
-    4
+    6
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "fc7f0fd2f19e5ebee70156a99bf87393123893e3",
-   "sha256": "0g2gb7jrys81kphmhlvhvzwl8l75j36y6pqjawh9wmzzwad876q5"
+   "commit": "06ec33d79e33edf01b9118aead1eabeae8ee08b1",
+   "sha256": "0lbwfhcl40ayxskvmsvdrg8p63qp086xpzw61bqk4b3fxndxl04h"
   }
  },
  {
@@ -52985,11 +53609,11 @@
   "repo": "petergardfjall/emacs-immaterial-theme",
   "unstable": {
    "version": [
-    20210109,
-    1653
+    20210126,
+    1127
    ],
-   "commit": "288b367ea0efccd5e98efbdf925591ffc989a654",
-   "sha256": "1y62yfg67lnbc89l6k4gw5fibahnlpn23g415a6zdk2vz89n6y0k"
+   "commit": "c5684a17c78e6e05ea0bdb63e44373b064db935a",
+   "sha256": "09fw0bgqr7fhwhm7vgdd12iw9nbgn19qna7k6vv1ljsdfcmwg5s5"
   },
   "stable": {
    "version": [
@@ -53193,6 +53817,30 @@
   }
  },
  {
+  "ename": "indent-control",
+  "commit": "c2c3a73f54091f5347877d51a68b0e009253583b",
+  "sha256": "0nd7crp6k1mklhz0y1zypc3jmjfydy6d1ksx24sm9zj83i3fp339",
+  "fetcher": "github",
+  "repo": "jcs-elpa/indent-control",
+  "unstable": {
+   "version": [
+    20210117,
+    356
+   ],
+   "commit": "ec9238bb204875d0d789e077c84c1d2ffe4e8173",
+   "sha256": "1r61jvbx57gqlfq2kkbxwz4rsidj6dig4czkxjnb01nigzp0y58c"
+  },
+  "stable": {
+   "version": [
+    0,
+    3,
+    4
+   ],
+   "commit": "2594740d8e8b324722d133a2db051ba4941eb170",
+   "sha256": "0v42lv5ig5hpnc02saqqmrjcvy8n216s7jnlc4f9jjyl7bl7lfsx"
+  }
+ },
+ {
   "ename": "indent-guide",
   "commit": "5d7110054801e3af5e5ef710a29f73116a2bc746",
   "sha256": "029fj9rr9vfmkysi6lzpwra92j6ppw675qpj3sinfq7fqqlicvp7",
@@ -53332,8 +53980,8 @@
   "repo": "NicolasPetton/Indium",
   "unstable": {
    "version": [
-    20201103,
-    2040
+    20210222,
+    1110
    ],
    "deps": [
     "company",
@@ -53342,8 +53990,8 @@
     "json-process-client",
     "seq"
    ],
-   "commit": "b870d1ed6b350d3753e7a148c61c373ca76ba78a",
-   "sha256": "1fscqkpk3z6pxgy1kf548jbck5p57k02badm7j8ggixbvng63d3g"
+   "commit": "32487a432d6c0728e1fd69db61c4a07b94bb5798",
+   "sha256": "11s3mn096bsbsrj14h9wpi0721yhlnnd434yswgj6m12k1wpdmzq"
   },
   "stable": {
    "version": [
@@ -53385,14 +54033,14 @@
   "repo": "clojure-emacs/inf-clojure",
   "unstable": {
    "version": [
-    20200801,
-    1128
+    20210213,
+    2044
    ],
    "deps": [
     "clojure-mode"
    ],
-   "commit": "e291da3cd0c11271ad7372594139974057612172",
-   "sha256": "1cnr72s3d224l7wk742hlj5mlgr65pchfc2w6dz9gx3ww6by9b8l"
+   "commit": "e144b335fae20418e783c4067463de38de56b65a",
+   "sha256": "0jjfgi77pkqissbqvghqwfqlxkzgg69k28q1phgpm06c56z2shnq"
   },
   "stable": {
    "version": [
@@ -53438,6 +54086,30 @@
   }
  },
  {
+  "ename": "inf-elixir",
+  "commit": "9d4add1ea6aeca5f19e2827628751ea321912219",
+  "sha256": "0vaxp92d2v094gqwdw2xvfrh13iqshr94hab81135a9pgggy4rc9",
+  "fetcher": "github",
+  "repo": "J3RN/inf-elixir",
+  "unstable": {
+   "version": [
+    20210226,
+    1653
+   ],
+   "commit": "9c21ae6d7a1313c856fd508880ee121fbea99f4d",
+   "sha256": "0w6fj1sh1pdsrk5sis2zkbdz0ixbpndaizvlqv2riw3sgpnc41f3"
+  },
+  "stable": {
+   "version": [
+    2,
+    1,
+    0
+   ],
+   "commit": "9c21ae6d7a1313c856fd508880ee121fbea99f4d",
+   "sha256": "0w6fj1sh1pdsrk5sis2zkbdz0ixbpndaizvlqv2riw3sgpnc41f3"
+  }
+ },
+ {
   "ename": "inf-mongo",
   "commit": "3416586d4d782cdd61a56159c5f80a0ca9b3ddf4",
   "sha256": "0f12yb3dgkjnpr4d36jwfnncqzz7kl3bnnrmjw7hv223p2ryzwpx",
@@ -53670,6 +54342,29 @@
   }
  },
  {
+  "ename": "inheritenv",
+  "commit": "40b820a8d2f250b2bc67082049bafe712c329da3",
+  "sha256": "13ah98c141lvrm4yq6mryk2ji2fl3vnac6vp8lgri8rpvwkk46nz",
+  "fetcher": "github",
+  "repo": "purcell/inheritenv",
+  "unstable": {
+   "version": [
+    20210204,
+    354
+   ],
+   "commit": "13c0135ddd96519ddeb993ee21163d6e11b4f464",
+   "sha256": "1zwj26mxc4md4ar79pfdi8i4v2qr9bdrqjb8ykal524gqm79xsb9"
+  },
+  "stable": {
+   "version": [
+    0,
+    1
+   ],
+   "commit": "bc680a2670156cd482edba83d8c81142282174ba",
+   "sha256": "0ygzf70vfb7qwpsllcq5i3brprsnx3sxy2zng02mzwrr5jkx4ypc"
+  }
+ },
+ {
   "ename": "ini-mode",
   "commit": "000cca577d000bafe7bf5711d0bfe7593fb6975a",
   "sha256": "0f6fbmg4wmlzghcibfbcx3z124b2017rhsasi5smgx9i2vkydzrm",
@@ -53789,8 +54484,8 @@
     20210109,
     1112
    ],
-   "commit": "c010838770bad2a3fc37fcb5c497bf92d5aca27b",
-   "sha256": "0pf5q4n4p2szmvgh6zcfb7q9p58fac3k5bvqxq6wialz14m779lr"
+   "commit": "e8ae7b2345b8b21dd866fc043906ceecd40832c7",
+   "sha256": "19fxqb6x05480wa4dp4mv2a6cw5sgc8bsm3syqpbhmflymfvxnsy"
   }
  },
  {
@@ -54060,8 +54755,8 @@
     20191129,
     958
    ],
-   "commit": "383eb955bf0084a6e6ec03c9bd34511e20e0407d",
-   "sha256": "11bm00pw0bg8z6b5gyfmb2iss5libp6m4x0mc8agazabxzhmzyx9"
+   "commit": "e1791a96a2633a9f5ea99fc0a20ebacedcefdaaa",
+   "sha256": "1biysf8cqfw4q7d2dnlisviign3n5knvrb0g6zdalzv8pnd1cxqr"
   },
   "stable": {
    "version": [
@@ -54074,40 +54769,6 @@
   }
  },
  {
-  "ename": "intero",
-  "commit": "a3c6e6adb1a63534275f9d3d3d0fe0f5e85c549b",
-  "sha256": "1a25lsm1psjvn9az3vd0an46p9qwrrmn09r16dqnhsjcaiabinxi",
-  "fetcher": "github",
-  "repo": "chrisdone/intero",
-  "unstable": {
-   "version": [
-    20200125,
-    848
-   ],
-   "deps": [
-    "company",
-    "flycheck",
-    "haskell-mode"
-   ],
-   "commit": "fdb0550a2ddb5692d470336aa4a057717d572695",
-   "sha256": "0myjhj416cbvlfv2x9h624nygfis94jaw9gqf75sjv6y4inkzy73"
-  },
-  "stable": {
-   "version": [
-    0,
-    1,
-    40
-   ],
-   "deps": [
-    "company",
-    "flycheck",
-    "haskell-mode"
-   ],
-   "commit": "107640cc3a3ea12db24ae674ff7a820f6073f3d5",
-   "sha256": "0yr6g2f35rmym6nkdgm6wdczirc5b9f7sza2sad0mx02b81qmaci"
-  }
- },
- {
   "ename": "interval-list",
   "commit": "afee0fed80f4fa444116b12653c034d760f5f1fb",
   "sha256": "0926z3lxkmpxalpq7hj355cjzbgpdiw7z4s8xdrpa1pi818d35zf",
@@ -54152,15 +54813,15 @@
   "repo": "dcjohnson/inverse-acme-theme",
   "unstable": {
    "version": [
-    20170823,
-    254
+    20210204,
+    1640
    ],
    "deps": [
     "autothemer",
     "cl-lib"
    ],
-   "commit": "74d6f3e2f6534371509dd2d77006435156c276d6",
-   "sha256": "15fk60ky8kbj665yjylmgc4nn4qsk57fvarqzwv3fns64yfshkv3"
+   "commit": "79008920ce7923312ada6f95a3ec1f96ce513c0b",
+   "sha256": "169zsp8kd8dq8mcfzm228wm8c97rv56clsg6z8dp8aaz7nw1kxgf"
   }
  },
  {
@@ -54394,6 +55055,21 @@
   }
  },
  {
+  "ename": "iscroll",
+  "commit": "1a654105396633a1018cddb459a46630071455b3",
+  "sha256": "06nzfza043n2ypjp0kc009n3ax4avafvgfqdhkzr7x6bzgxvkx6d",
+  "fetcher": "github",
+  "repo": "casouri/iscroll",
+  "unstable": {
+   "version": [
+    20210128,
+    1938
+   ],
+   "commit": "d6e11066169d232fe23c2867d44c012722ddfc5a",
+   "sha256": "0pbcr5bwmw2ikwg266q2fpxaf0z5h5cl1rp3rhhn9i9yn7hlfc78"
+  }
+ },
+ {
   "ename": "isearch-dabbrev",
   "commit": "b9dfc7c1112bac8744910c58f77a98a901fd8065",
   "sha256": "1hl7zl5vjcsk3z452874g4nfcnmna8m2242dc9cgpl5jddzwqa7x",
@@ -54495,29 +55171,6 @@
   }
  },
  {
-  "ename": "isolate",
-  "commit": "c8091f8d72c24a103f6dcaadc18bbec745c1c3d3",
-  "sha256": "1ldyvw01nq2ynxaaqmw9ihk9kwfss9rqpaydn9f41bqj15xrypjc",
-  "fetcher": "github",
-  "repo": "casouri/isolate",
-  "unstable": {
-   "version": [
-    20190808,
-    731
-   ],
-   "commit": "e93cb652f150705347480a2ee13b63fa625b1edf",
-   "sha256": "0fa4z1mm62s1x4fd6d4pwl6zvksx1xiv6id9fy7rdbs0vznsjgqb"
-  },
-  "stable": {
-   "version": [
-    1,
-    2
-   ],
-   "commit": "700aa3c7945580c876d29c3c064282c33ebb365c",
-   "sha256": "0j96rzfabn6lgv9xxyndpq3d2nys5z1brrrd7bga786zzwlp78a9"
-  }
- },
- {
   "ename": "isortify",
   "commit": "c756ccbae044bc23131060355532261aa9a12409",
   "sha256": "0bqs84prlwk94x543mv22wjnz0s7gqbdi7ryvdc20s7vdr18fn82",
@@ -54681,20 +55334,20 @@
   "repo": "abo-abo/swiper",
   "unstable": {
    "version": [
-    20210114,
-    1859
+    20210225,
+    1251
    ],
-   "commit": "cbce9ce71429c98c67bd76ef15d049ecced042f7",
-   "sha256": "08lgvpvkhp2i9q73bnr2v17w864rwp6wjnrl3b7qg06dacfs2rvl"
+   "commit": "e005666df39ca767e6d5ab71b1a55d8c08395259",
+   "sha256": "1c5d3ca2xll6x3px30cpasq2sd32shr37ivdm50wqr9q1yl22dm2"
   },
   "stable": {
    "version": [
     0,
     13,
-    0
+    2
    ],
-   "commit": "cd634c6f51458f81898ecf2821ac3169cb65a1eb",
-   "sha256": "0ghcwrg8a6r5q6fw2x8s08cwlmnz2d8qjhisnjwbnc2l4cgqpd9p"
+   "commit": "1deef7672b25e2cb89dfe5cc6e8865bc6f2bcd4e",
+   "sha256": "0mbdjralgb591hffzi60v0b2rw8idxky9pc8xwn1395jv30kkzfb"
   }
  },
  {
@@ -54705,15 +55358,28 @@
   "repo": "abo-abo/swiper",
   "unstable": {
    "version": [
-    20200615,
-    938
+    20210225,
+    1251
+   ],
+   "deps": [
+    "avy",
+    "ivy"
+   ],
+   "commit": "e005666df39ca767e6d5ab71b1a55d8c08395259",
+   "sha256": "1c5d3ca2xll6x3px30cpasq2sd32shr37ivdm50wqr9q1yl22dm2"
+  },
+  "stable": {
+   "version": [
+    0,
+    13,
+    2
    ],
    "deps": [
     "avy",
     "ivy"
    ],
-   "commit": "cbce9ce71429c98c67bd76ef15d049ecced042f7",
-   "sha256": "08lgvpvkhp2i9q73bnr2v17w864rwp6wjnrl3b7qg06dacfs2rvl"
+   "commit": "1deef7672b25e2cb89dfe5cc6e8865bc6f2bcd4e",
+   "sha256": "0mbdjralgb591hffzi60v0b2rw8idxky9pc8xwn1395jv30kkzfb"
   }
  },
  {
@@ -54732,8 +55398,8 @@
     "cl-lib",
     "swiper"
    ],
-   "commit": "94807a3d3419f90b505eddc3272e244475eeb4f2",
-   "sha256": "08wfvqdzs05bmfjjaqfxffjbl4j7632bnpncs9khrh6lifz03xh2"
+   "commit": "ca09076c3d6e51cc4ffe208c8176fccf3710fcc6",
+   "sha256": "1jf2zapmkg2fdn9ldq8cn3aw02iqpjh26h6yjj93q3h0clsk5ia2"
   },
   "stable": {
    "version": [
@@ -54938,30 +55604,30 @@
   "repo": "jcs-elpa/ivy-file-preview",
   "unstable": {
    "version": [
-    20201127,
-    629
+    20210124,
+    1639
    ],
    "deps": [
     "f",
     "ivy",
     "s"
    ],
-   "commit": "402b4b915bc7daa14d16a48b47a2e453ce80dcd3",
-   "sha256": "0z1czcqdkdxn1c92fa640idacc8c1b9ykfk8r94d2174ki93jd9j"
+   "commit": "b237ee8e9fd2fd1b52254ef84cd06a0bb6c10a24",
+   "sha256": "0bimn8j3md579sg7bypsynmjnq1mlmmslci1k98sc8kfnky8260c"
   },
   "stable": {
    "version": [
     0,
     4,
-    3
+    5
    ],
    "deps": [
     "f",
     "ivy",
     "s"
    ],
-   "commit": "4727ac0dd7906807c830e2abdd3e081812105ad6",
-   "sha256": "0ia0a38f3dfiqz96fc405ax472zyj92yn61qs9mpdz8ql3pv2dwb"
+   "commit": "b237ee8e9fd2fd1b52254ef84cd06a0bb6c10a24",
+   "sha256": "0bimn8j3md579sg7bypsynmjnq1mlmmslci1k98sc8kfnky8260c"
   }
  },
  {
@@ -55060,28 +55726,28 @@
   "repo": "abo-abo/swiper",
   "unstable": {
    "version": [
-    20200608,
-    1010
+    20210225,
+    1251
    ],
    "deps": [
     "hydra",
     "ivy"
    ],
-   "commit": "cbce9ce71429c98c67bd76ef15d049ecced042f7",
-   "sha256": "08lgvpvkhp2i9q73bnr2v17w864rwp6wjnrl3b7qg06dacfs2rvl"
+   "commit": "e005666df39ca767e6d5ab71b1a55d8c08395259",
+   "sha256": "1c5d3ca2xll6x3px30cpasq2sd32shr37ivdm50wqr9q1yl22dm2"
   },
   "stable": {
    "version": [
     0,
     13,
-    0
+    2
    ],
    "deps": [
     "hydra",
     "ivy"
    ],
-   "commit": "cd634c6f51458f81898ecf2821ac3169cb65a1eb",
-   "sha256": "0ghcwrg8a6r5q6fw2x8s08cwlmnz2d8qjhisnjwbnc2l4cgqpd9p"
+   "commit": "1deef7672b25e2cb89dfe5cc6e8865bc6f2bcd4e",
+   "sha256": "0mbdjralgb591hffzi60v0b2rw8idxky9pc8xwn1395jv30kkzfb"
   }
  },
  {
@@ -55111,15 +55777,15 @@
   "repo": "ROCKTAKEY/ivy-migemo",
   "unstable": {
    "version": [
-    20201214,
-    307
+    20210206,
+    919
    ],
    "deps": [
     "ivy",
     "migemo"
    ],
-   "commit": "0f34245dae2f890c685be767e3dc2c24c65dfe28",
-   "sha256": "1d013v8nb83g1hkfc5vxf5y7m67fi8346xm912hyyy03871kb469"
+   "commit": "9cdf3823b3303d69c0c77dfee91136817da12aea",
+   "sha256": "0nxk1i208zm6p666920gh1nmrfhfqglhgs07b5ir4b7mz3m5caab"
   },
   "stable": {
    "version": [
@@ -55234,15 +55900,15 @@
   "repo": "tumashu/ivy-posframe",
   "unstable": {
    "version": [
-    20201215,
-    39
+    20210122,
+    45
    ],
    "deps": [
     "ivy",
     "posframe"
    ],
-   "commit": "83047d440ff132d5a45acde5955f71853edeefb9",
-   "sha256": "03n1a9qzc53i3lx0ywayc2v8p0n4ydl7ly6niaj9dj15ik0nzxsp"
+   "commit": "3132719a9a7c04431fe65f1dced8acafe789bdf6",
+   "sha256": "133l0rd3iwphj9xcgww5m54mmyfd7icr46s792awlpc1ch7748c3"
   },
   "stable": {
    "version": [
@@ -55266,27 +55932,27 @@
   "repo": "raxod502/prescient.el",
   "unstable": {
    "version": [
-    20200716,
-    1414
+    20210227,
+    600
    ],
    "deps": [
     "ivy",
     "prescient"
    ],
-   "commit": "42adc802d3ba6c747bed7ea1f6e3ffbbdfc7192d",
-   "sha256": "0v12707jwd2ynk8gp3shgarl6yp3ynal7d4jzds6l2lknr6wi50w"
+   "commit": "b6da466e552a710a9362c73a3c1c265984de9790",
+   "sha256": "1gr3dzlwkdh2dbcw2q7qi4r8d3045vhyac6gy6f0g83hm2zvgall"
   },
   "stable": {
    "version": [
     5,
-    0
+    1
    ],
    "deps": [
     "ivy",
     "prescient"
    ],
-   "commit": "3f53946e6aa97c1e1783be74e5b71dfbd4b54fcc",
-   "sha256": "001q4l730bhw4d508jxlpzh1z459qzpg6rbncp12jrfm5yidksix"
+   "commit": "2c0e9fc061ab723ec532428f312974ca7d8def12",
+   "sha256": "0d6kbczkamhhcmc8bf01q6k1x0g7dwjihwllzsldgga3dclyh4ks"
   }
  },
  {
@@ -55328,14 +55994,14 @@
   "repo": "Yevgnen/ivy-rich",
   "unstable": {
    "version": [
-    20201224,
-    4
+    20210212,
+    1441
    ],
    "deps": [
     "ivy"
    ],
-   "commit": "f8a1f5c90d2a113b597ef5903634c089fce3365b",
-   "sha256": "1bwp26b7m3zxl00ywav7qfwlszxms3z00w41k7nvb47a4s0cvffl"
+   "commit": "7b9b7b20c3ead81da90232cd6707dfad3c1f1eb3",
+   "sha256": "03p13z609ighdq4axls93alqfl7pclx12g4vdd7lwpcy0r0cgyf8"
   },
   "stable": {
    "version": [
@@ -55365,8 +56031,8 @@
     "ivy",
     "rtags"
    ],
-   "commit": "39339388256df662d0084b4a094d03e52748f9e8",
-   "sha256": "0wp4mygsxzibra2p3m5rn9m0yd3fscd795k5xa0wxi5pwddv7dlg"
+   "commit": "aa4c827b417f5448c12401c33acdab1325917c13",
+   "sha256": "02jqcbrpxm4sv15l8kyvsw9pwkmamj065cgifj68x242fw2f0sam"
   },
   "stable": {
    "version": [
@@ -55389,8 +56055,8 @@
   "repo": "jcs-elpa/ivy-searcher",
   "unstable": {
    "version": [
-    20201001,
-    834
+    20210221,
+    923
    ],
    "deps": [
     "f",
@@ -55398,14 +56064,14 @@
     "s",
     "searcher"
    ],
-   "commit": "8eb55ff22b4b833094232acb35ec46261f069fa3",
-   "sha256": "0in9xihr2v6xn7iqlj5zz0h127bg4yf9hmrfvgxn53pcivzj9vw9"
+   "commit": "3a2f5073a0d5842a6b3c386e70cc484e3c4ea77b",
+   "sha256": "1bk8kaxqq1m76x1i4hy3jqcy05pr6dlzjd4dbyi8lrx9sxnfrnkk"
   },
   "stable": {
    "version": [
     0,
     3,
-    8
+    10
    ],
    "deps": [
     "f",
@@ -55413,8 +56079,8 @@
     "s",
     "searcher"
    ],
-   "commit": "8eb55ff22b4b833094232acb35ec46261f069fa3",
-   "sha256": "0in9xihr2v6xn7iqlj5zz0h127bg4yf9hmrfvgxn53pcivzj9vw9"
+   "commit": "46a461eb873083bc53d7fd3a15b266c52b3cbfb4",
+   "sha256": "1qsbbpmk3211lm29mks7r3dfphyikbkkj94028748y6ngwqk1vb4"
   }
  },
  {
@@ -55995,8 +56661,8 @@
     "auto-complete",
     "jedi-core"
    ],
-   "commit": "9d5f29116c4d42cae561a9d69e6fba2b61e2cf43",
-   "sha256": "1bckxppfzd5gwn0aw4h86igb7igal9axqncq7j8zmflg7zppncf1"
+   "commit": "3a9c503c35359d6bca6ff90c384c104c8743cdab",
+   "sha256": "1rx3qiicgg9p0chbfx8v1aypk93p6r5wlkia0b2sqr796r7xdn35"
   },
   "stable": {
    "version": [
@@ -56020,16 +56686,16 @@
   "repo": "tkf/emacs-jedi",
   "unstable": {
    "version": [
-    20191011,
-    1750
+    20210202,
+    856
    ],
    "deps": [
     "cl-lib",
     "epc",
     "python-environment"
    ],
-   "commit": "9d5f29116c4d42cae561a9d69e6fba2b61e2cf43",
-   "sha256": "1bckxppfzd5gwn0aw4h86igb7igal9axqncq7j8zmflg7zppncf1"
+   "commit": "3a9c503c35359d6bca6ff90c384c104c8743cdab",
+   "sha256": "1rx3qiicgg9p0chbfx8v1aypk93p6r5wlkia0b2sqr796r7xdn35"
   },
   "stable": {
    "version": [
@@ -56188,20 +56854,19 @@
   "repo": "Emiller88/emacs-jest",
   "unstable": {
    "version": [
-    20201130,
-    1920
+    20210219,
+    1508
    ],
    "deps": [
     "cl-lib",
     "dash",
-    "dash-functional",
     "js2-mode",
     "magit-popup",
     "projectile",
     "s"
    ],
-   "commit": "b70698d25ffeaa99520d4571659abb3005657398",
-   "sha256": "1n3qn9zgc09bpblv7rmm7lxdaz2ii7wjws0vd30ppdc8dy301gfp"
+   "commit": "0fe875082e54bdbfe924808aa155b938ed90d401",
+   "sha256": "0dxzml0i4x072jwxsbv0nnj3ws1i3z1x2ybg3fqfnfvzy2vynx3w"
   }
  },
  {
@@ -56212,11 +56877,11 @@
   "repo": "rymndhng/jest-test-mode",
   "unstable": {
    "version": [
-    20200329,
-    506
+    20210228,
+    132
    ],
-   "commit": "f04d08db36715d7509fd68448f74f917c6c1a382",
-   "sha256": "1pmzls19wpg60ql0b5l6rhml8hh8mzpbc0dgylzhps1jghi055s1"
+   "commit": "fb2bacab9475410c79e6e4ca344f093f7698466d",
+   "sha256": "0m3p75659krzcyc54ri0x8bwr1zxhkrfmyz8z7z5mjpydb8qb1v8"
   }
  },
  {
@@ -56396,11 +57061,11 @@
   "repo": "Michael-Allan/Java_Mode_Tamed",
   "unstable": {
    "version": [
-    20210114,
-    900
+    20210206,
+    1851
    ],
-   "commit": "6a307c7ee17d44f1b0fe3dfba2bc34e0ca055818",
-   "sha256": "0q8y512l91r32igdksc6i2gwv0csl35xqlnx1cw41fwdpnbvdx4m"
+   "commit": "fd9be900549bb0c0a373d6fd1552295f1e8a1d08",
+   "sha256": "0g9bihlmq6bwbyzk9zr3gig5w0vaysz1gsdqacq604jls34ks491"
   }
  },
  {
@@ -57071,8 +57736,8 @@
     20190714,
     1521
    ],
-   "commit": "1623346b308dc8f593346dc947fdc4092d674834",
-   "sha256": "1kkn4xjn9i207x580902jfpcrhpkvpyzxk4jh1bclbryki9602zv"
+   "commit": "2f41d292b87916f6989e7ff5dc94da18ae6a9e4e",
+   "sha256": "1z5v7z98dinlayxzik45gjja93daxym75mh2shsy4wz8yclkw22p"
   },
   "stable": {
    "version": [
@@ -57239,23 +57904,26 @@
   "repo": "tpapp/julia-repl",
   "unstable": {
    "version": [
-    20210114,
-    1549
+    20210124,
+    923
    ],
    "deps": [
     "s"
    ],
-   "commit": "0774d3b5b954e82e5bbcbe5123c689341297b01e",
-   "sha256": "056zv48nbqvnadca4q2hh0aal2bz00f9ayzqpwnsxl482p8bi93k"
+   "commit": "7ce38a9caf2a9c105afe66f464a2f30e816d69f3",
+   "sha256": "11vpqqnxqj9nxh8kccj4y6h3f8lib6jxnsk6vxc2j2fqw6alnafm"
   },
   "stable": {
    "version": [
     1,
-    2,
+    3,
     0
    ],
-   "commit": "b8155b8a1e23e1ad740fd7bd49b5d841b1365c7d",
-   "sha256": "0qdn70h6k03l3xmv4xmbvrs1lx632jihhmkvjxk5hp4nk5phh9rk"
+   "deps": [
+    "s"
+   ],
+   "commit": "7ce38a9caf2a9c105afe66f464a2f30e816d69f3",
+   "sha256": "11vpqqnxqj9nxh8kccj4y6h3f8lib6jxnsk6vxc2j2fqw6alnafm"
   }
  },
  {
@@ -57330,8 +57998,8 @@
    "deps": [
     "vterm"
    ],
-   "commit": "06ee45bffb6e711278a7af5207899d2b4316706c",
-   "sha256": "1zwhbwm285gqy9bfhlaaa9wp3lz959i3d1s41msl70jxbrnjz7pw"
+   "commit": "c051cdc4ba574039b622fce37a5f61685dcc6d89",
+   "sha256": "0ixlh640106cdvdnnmr7p6n0c5bg5qzyk9mspylsnlgiws4gz1ff"
   },
   "stable": {
    "version": [
@@ -57477,8 +58145,8 @@
   "repo": "nnicandro/emacs-jupyter",
   "unstable": {
    "version": [
-    20200417,
-    1907
+    20210116,
+    255
    ],
    "deps": [
     "cl-lib",
@@ -57486,8 +58154,8 @@
     "websocket",
     "zmq"
    ],
-   "commit": "360cae2c70ab28c7a7848c0c56473d984f0243e5",
-   "sha256": "1bn0jwpigpl5n45vpz73vv12g078151vyhkkhkwy5xqx627swxf9"
+   "commit": "6ce8d01e3a550a3268b415bf9d9b635d4dba5940",
+   "sha256": "1l0a6abyshrr6wb9xhgwgkdcarnhxj929rg52zf63xix351dlqi9"
   },
   "stable": {
    "version": [
@@ -57543,14 +58211,14 @@
   "repo": "TxGVNN/emacs-k8s-mode",
   "unstable": {
    "version": [
-    20201215,
-    1656
+    20210219,
+    1317
    ],
    "deps": [
     "yaml-mode"
    ],
-   "commit": "9d37e64b9bdc1778481687ca04e2ee5a96bc0474",
-   "sha256": "054pasvk5xspdndsc962z3d3z5jgpd28ysag5pxa8dfh3yz65vxq"
+   "commit": "0df142ac98bcd072dd7017053c9c9c476345aeef",
+   "sha256": "1nxcp1hq9d1j7whfak60j4dmzsfmq2mgmdxxvlj3az7p7vannd2v"
   },
   "stable": {
    "version": [
@@ -57694,16 +58362,16 @@
   "repo": "jmorag/kakoune.el",
   "unstable": {
    "version": [
-    20201111,
-    2159
+    20210212,
+    2031
    ],
    "deps": [
     "expand-region",
     "multiple-cursors",
     "ryo-modal"
    ],
-   "commit": "fa27e48b49d42ed6d8b4492d7c734b0f1e647fc1",
-   "sha256": "1qg6crhqraj78frdqbqr260j9l0h8cdp96bqzwjwai8ia16zskn7"
+   "commit": "34af1bc1225b044d9a15d8c276b7e33b12cb8720",
+   "sha256": "08b1r4yz7ikzwxn4hlip75vmd77hc8nsmiphdw46a9h6w9aw0v30"
   }
  },
  {
@@ -57834,15 +58502,15 @@
   "repo": "ogdenwebb/emacs-kaolin-themes",
   "unstable": {
    "version": [
-    20201216,
-    717
+    20210225,
+    725
    ],
    "deps": [
     "autothemer",
     "cl-lib"
    ],
-   "commit": "5694f27f6e17bf2d840fa04728d392b5df77e20c",
-   "sha256": "1c5hdr654f012lj3ssxsavbnij0i109nykwcsgl2c2pb9yxqr5rw"
+   "commit": "7f27dd887da0e2d2522f711f8954c997de366ac4",
+   "sha256": "134ijij23vhc5jw1bvfvkikl64lwvnsmbprqsv64791x1fvcbd6y"
   },
   "stable": {
    "version": [
@@ -57984,14 +58652,14 @@
   "repo": "conao3/keg.el",
   "unstable": {
    "version": [
-    20201204,
-    406
+    20210226,
+    2246
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "18c675aa2ff1749eb42f081f0549398b82cd4540",
-   "sha256": "1mz5rfzyv4varn09pza5yb851vmsbicsz4zgc0y7zni2bhlj9250"
+   "commit": "e4c7d9d8f823fa717df5f0e7039d525758429fc9",
+   "sha256": "0idr47ssysz3qp2cdrciapljwm7zh76fnj3vgpz9i2wdmgr12m2d"
   }
  },
  {
@@ -58005,8 +58673,8 @@
     20200601,
     333
    ],
-   "commit": "18c675aa2ff1749eb42f081f0549398b82cd4540",
-   "sha256": "1mz5rfzyv4varn09pza5yb851vmsbicsz4zgc0y7zni2bhlj9250"
+   "commit": "e4c7d9d8f823fa717df5f0e7039d525758429fc9",
+   "sha256": "0idr47ssysz3qp2cdrciapljwm7zh76fnj3vgpz9i2wdmgr12m2d"
   }
  },
  {
@@ -58035,6 +58703,14 @@
     20201109,
     1358
    ],
+   "commit": "7fd89c306c975a1fa3ab16ba7a4d3b102130a868",
+   "sha256": "1m1p3iydn5s3dlmjv751ligbwxkg472rhcbk80q2y1lnwjsnbhdy"
+  },
+  "stable": {
+   "version": [
+    1,
+    0
+   ],
    "commit": "dda02615b45a86c806d61e0484e08aa51343f8d8",
    "sha256": "08zxn25jbd3sqwd2bsbnh9kj8jf5jygyf8x4i8i6k89jw2fd7mds"
   }
@@ -58168,11 +58844,11 @@
   "repo": "tarsius/keycast",
   "unstable": {
    "version": [
-    20201229,
-    1006
+    20210123,
+    1149
    ],
-   "commit": "b02892ec77ef8b83c957652c7859422d6f46e051",
-   "sha256": "1ggl3k2h9y7nwhawpddl0mk9smm5bpq42fyp1pq64z67zrb4217l"
+   "commit": "a3a0798349adf3e33277091fa8dee63173b68edf",
+   "sha256": "08n4lfd6zb0qwpaw48q7p1mi6rn5rzja02113fphz7ra2kapbpva"
   },
   "stable": {
    "version": [
@@ -58265,26 +58941,26 @@
   "repo": "tarsius/keymap-utils",
   "unstable": {
    "version": [
-    20201125,
-    1434
+    20210125,
+    823
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "6cefdf42d95a20565d51974d73ad38749c46cddd",
-   "sha256": "0qlp9hfb3kzp36c03zjxv7sxgsikqmfjm0ynvgqch3bccwqbsz1v"
+   "commit": "0b282e19ac3d23b9a74f656b137b9eebeb2aaa39",
+   "sha256": "0ni03xnakai9ncq07gwzqy4walgijd04bnxslk3b4xnnk60i8m2h"
   },
   "stable": {
    "version": [
     3,
-    0,
-    3
+    1,
+    0
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "195e0ca5b1b9967faf94a3e5a634d8975b796705",
-   "sha256": "0ckv9mbqb1f2lp17sv3nxjwww4ph9v3bhlxwvchvkkdlbcg87i5n"
+   "commit": "0b282e19ac3d23b9a74f656b137b9eebeb2aaa39",
+   "sha256": "0ni03xnakai9ncq07gwzqy4walgijd04bnxslk3b4xnnk60i8m2h"
   }
  },
  {
@@ -58298,6 +58974,14 @@
     20190109,
     530
    ],
+   "commit": "f7041deccd9d03066c2fe41c3443c42a4713ac02",
+   "sha256": "1pj621z2ywwx6kybhyifm9grp9bkhk6f3fwancn0x53c33zp2daq"
+  },
+  "stable": {
+   "version": [
+    1,
+    0
+   ],
    "commit": "9de65a27e10d8ae47aa6d28c02c3eb82ee8c0b2e",
    "sha256": "1ybbayxfix63rwc8p5kl4wxxlk6vg53abw40fqrlkbc6qrr7nm5c"
   }
@@ -58603,8 +59287,8 @@
     20180702,
     2029
    ],
-   "commit": "554e98fb7c439d182a48dce7276932139a325f02",
-   "sha256": "1afw0ak9wbf63d23sfp78a9ial4vscw002p0b47rlsq895j683cb"
+   "commit": "de520e601fee568b03800e8069118730ccbbdb95",
+   "sha256": "1yk5ygmhkzhfwk770k6lhqx5hjcwsjrgnf99qzl59af74qxn3wya"
   },
   "stable": {
    "version": [
@@ -58624,14 +59308,14 @@
   "repo": "stardiviner/kiwix.el",
   "unstable": {
    "version": [
-    20210113,
-    1834
+    20210219,
+    51
    ],
    "deps": [
     "request"
    ],
-   "commit": "e5821f5ccb34262aedcb4ea3a19e583c6a97e2f8",
-   "sha256": "1g9cn34r948a0g9wyda1kzlq33ddgmarl9j6wbb76g0fgkh7qjh9"
+   "commit": "0c5e1619f079df822686cf42af5859111b6afd44",
+   "sha256": "179wsr1ffsl4hm4vnb0zzbw338jni5pz8ndgkfq21jppgzk8mlna"
   },
   "stable": {
    "version": [
@@ -58888,8 +59572,8 @@
   "repo": "abrochard/kubel",
   "unstable": {
    "version": [
-    20201223,
-    1730
+    20210222,
+    2212
    ],
    "deps": [
     "dash",
@@ -58897,8 +59581,8 @@
     "transient",
     "yaml-mode"
    ],
-   "commit": "9b1aa4830a4470ff8f11ecc0bc80b5cdaee473fd",
-   "sha256": "1n1z8w2n7raxfmd4la2knzvs9vnprcdhxjlp21k6r757k75na3qn"
+   "commit": "b46933f9eadbe63162dd6e99e8af4355c60a3b4e",
+   "sha256": "1km8y1i4c68wxbvxfvnyznv8xd5ygjxnz9j9faaqhya2p60kpwni"
   },
   "stable": {
    "version": [
@@ -58930,8 +59614,8 @@
     "evil",
     "kubel"
    ],
-   "commit": "9b1aa4830a4470ff8f11ecc0bc80b5cdaee473fd",
-   "sha256": "1n1z8w2n7raxfmd4la2knzvs9vnprcdhxjlp21k6r757k75na3qn"
+   "commit": "b46933f9eadbe63162dd6e99e8af4355c60a3b4e",
+   "sha256": "1km8y1i4c68wxbvxfvnyznv8xd5ygjxnz9j9faaqhya2p60kpwni"
   },
   "stable": {
    "version": [
@@ -58954,16 +59638,16 @@
   "repo": "chrisbarrett/kubernetes-el",
   "unstable": {
    "version": [
-    20200911,
-    756
+    20210219,
+    625
    ],
    "deps": [
     "dash",
     "magit",
     "magit-popup"
    ],
-   "commit": "f4c763016620a4ddb41698bb8aa02b18e07ac509",
-   "sha256": "129qfb8c18lj6ln8brf9jqzp16vq930hf31rav7xqzsfp0h8ixwg"
+   "commit": "de4ff6ccdf58a939908d384efe9cf06b2bcabe12",
+   "sha256": "0nz34h601him6x1a6fkvzvr4r3f5d55cz520ddsmin9zwpq7rlhq"
   },
   "stable": {
    "version": [
@@ -58995,8 +59679,8 @@
     "evil",
     "kubernetes"
    ],
-   "commit": "f4c763016620a4ddb41698bb8aa02b18e07ac509",
-   "sha256": "129qfb8c18lj6ln8brf9jqzp16vq930hf31rav7xqzsfp0h8ixwg"
+   "commit": "de4ff6ccdf58a939908d384efe9cf06b2bcabe12",
+   "sha256": "0nz34h601him6x1a6fkvzvr4r3f5d55cz520ddsmin9zwpq7rlhq"
   },
   "stable": {
    "version": [
@@ -59109,6 +59793,36 @@
   }
  },
  {
+  "ename": "l",
+  "commit": "36d7dce3ad5cfc4047800c84945b714df2af0632",
+  "sha256": "0wkgl3sw7wr3fqlgb3hzw64fawha4lnxbh12w9d7196bfwnm3ny2",
+  "fetcher": "git",
+  "url": "https://git.sr.ht/~tarsius/l",
+  "unstable": {
+   "version": [
+    20210214,
+    1130
+   ],
+   "deps": [
+    "seq"
+   ],
+   "commit": "518203abc6cee13c73c2d91282354ed59f00f15e",
+   "sha256": "1s3fndzjhz0xvbhdb0y7raa7zqrpws1xm79blgfcxcrv2fbmbzan"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "deps": [
+    "seq"
+   ],
+   "commit": "518203abc6cee13c73c2d91282354ed59f00f15e",
+   "sha256": "1s3fndzjhz0xvbhdb0y7raa7zqrpws1xm79blgfcxcrv2fbmbzan"
+  }
+ },
+ {
   "ename": "lab-themes",
   "commit": "c5817cb4cb3a573f93bacfb8ef340bef0e1c5df4",
   "sha256": "10gvrrbqp6rxc9kwk8315pa1ldmja42vwr31xskjaq0l4fd28kx0",
@@ -59185,16 +59899,16 @@
   "repo": "Deducteam/lambdapi",
   "unstable": {
    "version": [
-    20210115,
-    651
+    20210220,
+    728
    ],
    "deps": [
     "eglot",
     "highlight",
     "math-symbol-lists"
    ],
-   "commit": "e4205c5da3a0c99f0b29677736711ee069e2c175",
-   "sha256": "0kxdli25dbzq7mjinnvfxy2x9zy79062l45kafpayywa1ipwgfkp"
+   "commit": "e9aeee78c3aede7e39fec993b846e731d7790acf",
+   "sha256": "1dkbrwd1dchc9h650r7rfw9xcjr342xkyjjrq0lyxwa8v5s4558v"
   }
  },
  {
@@ -59301,25 +60015,25 @@
   "repo": "lassik/emacs-language-id",
   "unstable": {
    "version": [
-    20201217,
-    1633
+    20210207,
+    1829
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "3f0ad28202207c266bd8fc7904b224db69ceccf6",
-   "sha256": "0rc6hggdqpfvcq1kx6ghnzqzn7842331b0qfng42vmqn44mk9skx"
+   "commit": "2c99ce29b86fc635649f4e89723912dc1cc4f36c",
+   "sha256": "12fzzdc4jns440gb71iydsicni646gciaxv50p0wrfk9mbppidck"
   },
   "stable": {
    "version": [
     0,
-    10
+    12
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "3f0ad28202207c266bd8fc7904b224db69ceccf6",
-   "sha256": "0rc6hggdqpfvcq1kx6ghnzqzn7842331b0qfng42vmqn44mk9skx"
+   "commit": "2c99ce29b86fc635649f4e89723912dc1cc4f36c",
+   "sha256": "12fzzdc4jns440gb71iydsicni646gciaxv50p0wrfk9mbppidck"
   }
  },
  {
@@ -59682,11 +60396,11 @@
   "repo": "conao3/leaf.el",
   "unstable": {
    "version": [
-    20201211,
-    412
+    20210224,
+    144
    ],
-   "commit": "e0c4b7484ab6ee3bbf8413f620ccb99af4328d2f",
-   "sha256": "18vvl8a5s6n1kky31n0khnv89998gy9vfk5q58hkczfadc6nss76"
+   "commit": "fbe9bfba5ef4c99ee190b259a5e3341dd7a71935",
+   "sha256": "16rki5xzffws02l2nr2ra0kxapizqdix5373ny9f4hlkvp7bqgzi"
   },
   "stable": {
    "version": [
@@ -59726,14 +60440,14 @@
   "repo": "conao3/leaf-keywords.el",
   "unstable": {
    "version": [
-    20201225,
-    1406
+    20210222,
+    1243
    ],
    "deps": [
     "leaf"
    ],
-   "commit": "64c5ec702b7fab83770c539d613d8c6610ce510d",
-   "sha256": "0qzmnbn91g02g6vhilx081xz6n1360a3ri64rpzd8avcgmrkb1vr"
+   "commit": "4146621f4ae80ef0c30160337119441c1f6334b6",
+   "sha256": "16iv1cvlky2gij1ndx2d6q8l35axm72bx52n6v5y3h21aibj197n"
   },
   "stable": {
    "version": [
@@ -59817,8 +60531,8 @@
   "repo": "leanprover/lean-mode",
   "unstable": {
    "version": [
-    20200930,
-    604
+    20210209,
+    1734
    ],
    "deps": [
     "dash",
@@ -59827,8 +60541,8 @@
     "flycheck",
     "s"
    ],
-   "commit": "cc1f5fadf8e9ae08aa25828985edc97df04d94a7",
-   "sha256": "0v03bisr0ljk1ypbicgh9izxwazz8ry5xcd7r1lqb339xqb0bzqb"
+   "commit": "15bee87dc4080b87c543964375b7ce162317ab6f",
+   "sha256": "127b7ny5mr1y14yg54gy7an3lk3928w4y9a22295i4v4zgj704j4"
   }
  },
  {
@@ -59879,11 +60593,11 @@
   "repo": "pfitaxel/learn-ocaml.el",
   "unstable": {
    "version": [
-    20200224,
-    2229
+    20210209,
+    4
    ],
-   "commit": "86505672be0aabc9fa1048bc453ab2fc855b27e1",
-   "sha256": "00j6j2n0z616r9p78wp8hk62d9s2dpzlmflfm7ilrx40dnd4nlgj"
+   "commit": "ac7e2887baebedd51afbadc9e4c6f7b59351b0bb",
+   "sha256": "0v6nw2yqy8lhwssq2myx91jjlsg8d97f60yhrpjk3qc62037q60b"
   }
  },
  {
@@ -59924,11 +60638,11 @@
   "repo": "ledger/ledger-mode",
   "unstable": {
    "version": [
-    20210106,
-    227
+    20210221,
+    1315
    ],
-   "commit": "bcd8cefb720702db88986a52bb66e08e2e451c05",
-   "sha256": "1l2lhz45lc7njdv3kl5g8z5ig6vykxlp446raaif14k2flhw24a0"
+   "commit": "3495d1224ee73aa96c1d5bd131dc3a7f23d46336",
+   "sha256": "137z70baylzv6bm6y2wyl1p3f47hzkvjzqcmwmwjmlkpc0p5j4ac"
   },
   "stable": {
    "version": [
@@ -59963,8 +60677,8 @@
   "repo": "kaiwk/leetcode.el",
   "unstable": {
    "version": [
-    20200730,
-    1433
+    20210121,
+    1600
    ],
    "deps": [
     "aio",
@@ -59973,8 +60687,8 @@
     "log4e",
     "spinner"
    ],
-   "commit": "153a3a6a9ffb64ffce37b3d203c13a85cc1884ab",
-   "sha256": "0600njpn3dvd8xrj21r5p69mc1r76ri1bjcxy2krp53dnsy3nvfb"
+   "commit": "9c44791407c3f4f76d903ee43367547803ae9c32",
+   "sha256": "14nlmgbkb8vyb0r25sdg03lg2h38gj83vspp9v9vsqyiiirhnvnh"
   },
   "stable": {
    "version": [
@@ -60208,6 +60922,25 @@
   }
  },
  {
+  "ename": "lexic",
+  "commit": "d7c4ddd3b6eb8243e6a4bdb9188e95ad24bfcf5e",
+  "sha256": "1im7x26gkhk3lkfx8r36q9aa0wayhi1dvbsrighn3pg86bl1k5cs",
+  "fetcher": "github",
+  "repo": "tecosaur/lexic",
+  "unstable": {
+   "version": [
+    20210203,
+    358
+   ],
+   "deps": [
+    "dash",
+    "visual-fill-column"
+   ],
+   "commit": "e59224cd5808af50e8b9ba8cce0a687cf09aacc1",
+   "sha256": "1si5ndfs8xbk96iiwcwlhi57k914jnsq3zdgvlb7xm3y8zjy2l6x"
+  }
+ },
+ {
   "ename": "lfe-mode",
   "commit": "c44bdb00707c9ef90160e0a44f7148b480635132",
   "sha256": "0smncyby53ipm8yqslz88sqjafk0x6r8d0qwk4wzk0pbgfyklhgs",
@@ -60218,8 +60951,8 @@
     20201007,
     2214
    ],
-   "commit": "e5f20c459a13b35ed1e71b1d2667363af168e958",
-   "sha256": "0fapq9b14lxx5qm55yhcj2f1ym0kfrh6796ffb2i032bprh8n3m6"
+   "commit": "5bb4b76b1d1d2453de69920b3a1a6b2a302aea07",
+   "sha256": "1dqpksmpnnpi591p76hhv95p5gmkmsw794vzny7rd4xkdgcc39jv"
   },
   "stable": {
    "version": [
@@ -60462,26 +61195,26 @@
   "repo": "jcs-elpa/line-reminder",
   "unstable": {
    "version": [
-    20200914,
-    611
+    20210216,
+    1451
    ],
    "deps": [
     "indicators"
    ],
-   "commit": "65332e11735e2b3321bcab8e1456c13b6b6c1aa5",
-   "sha256": "1wcfzpl0vnpw8bfqbxb4jqkiziwcivwh7rdg0kjai1c3xhzfpwds"
+   "commit": "bc488bbdba2172629183891758cfa9466a64182f",
+   "sha256": "1993rwd9bgr1lqxgxzwp6h2r57ljsbjh5r08f57jaalanjp4iq55"
   },
   "stable": {
    "version": [
     0,
     4,
-    4
+    5
    ],
    "deps": [
     "indicators"
    ],
-   "commit": "65332e11735e2b3321bcab8e1456c13b6b6c1aa5",
-   "sha256": "1wcfzpl0vnpw8bfqbxb4jqkiziwcivwh7rdg0kjai1c3xhzfpwds"
+   "commit": "bc488bbdba2172629183891758cfa9466a64182f",
+   "sha256": "1993rwd9bgr1lqxgxzwp6h2r57ljsbjh5r08f57jaalanjp4iq55"
   }
  },
  {
@@ -60495,8 +61228,8 @@
     20180219,
     1024
    ],
-   "commit": "30cc83af69216ceced310c058ffae48bbe67fed1",
-   "sha256": "143l1fb3i0z7dxd39lw5qds62kv5ii9wy4gbqy3jg11swva0xkcd"
+   "commit": "a49afb9c168eaf8aaaf94f0c631b7b74db9a1d82",
+   "sha256": "0213ppx15rdb5cxg7w8978880fzv3dh2m9p6idkmlfj7bndfd411"
   },
   "stable": {
    "version": [
@@ -60724,20 +61457,20 @@
   "repo": "marcowahl/lisp-butt-mode",
   "unstable": {
    "version": [
-    20200727,
-    1441
+    20210215,
+    2206
    ],
-   "commit": "1b178fec96cb200574a17cb26ac0742d9df571a9",
-   "sha256": "01hj2kzy1mrzqc806jvgvkiyf7mkjacg944l3dblblyl7zgx8plx"
+   "commit": "2b719baf0ccba79e28fcb3c2633c4849d976ac23",
+   "sha256": "0rxqam6cgi404m8n45mw73j3jdd2gb3iwpmyyixbv3cxfb7y1b0l"
   },
   "stable": {
    "version": [
     2,
     0,
-    2
+    4
    ],
-   "commit": "008d2093608ee8fac184a6682e4ccf7b461dcaa1",
-   "sha256": "1kxvwd9y9q5ax9509b3xy3qqjpamfxzljyvbm1fc89qy50pdjxyr"
+   "commit": "2b719baf0ccba79e28fcb3c2633c4849d976ac23",
+   "sha256": "0rxqam6cgi404m8n45mw73j3jdd2gb3iwpmyyixbv3cxfb7y1b0l"
   }
  },
  {
@@ -60807,8 +61540,8 @@
   "repo": "abo-abo/lispy",
   "unstable": {
    "version": [
-    20201226,
-    1746
+    20210121,
+    926
    ],
    "deps": [
     "ace-window",
@@ -60817,8 +61550,8 @@
     "iedit",
     "zoutline"
    ],
-   "commit": "1ad128be0afc04b58967c1158439d99931becef4",
-   "sha256": "15an4nbpri49imvkbhhynsmczkzhl4i037r8hcg4mam3w5nw14y8"
+   "commit": "38a7df4cbb16cfe3d62dc8ea98b50e2d9a572e58",
+   "sha256": "1q3sgk8ffwajmh8l7c4p4fz36xw4fqds8yqblbi5kardaa8bs8cs"
   },
   "stable": {
    "version": [
@@ -60853,8 +61586,8 @@
     "evil",
     "lispy"
    ],
-   "commit": "0f13f26cd6aa71f9fd852186ad4a00c4294661cd",
-   "sha256": "0ah59s9c24addlx1rxgm11jihn7w45xrf0wrmrb7mbmqf3rj3izc"
+   "commit": "89316f01822b2135e52ca27fd308d207ef618052",
+   "sha256": "10k3hxxpx2v2k4dyad7j1bzmr1q7rzvv4y6c67pa9zcqyaw8m91v"
   }
  },
  {
@@ -61084,14 +61817,14 @@
   "repo": "sulami/literate-calc-mode.el",
   "unstable": {
    "version": [
-    20201214,
-    1221
+    20210227,
+    1744
    ],
    "deps": [
     "s"
    ],
-   "commit": "1cf4fa18731248c6519667c16a6832b616b2b86f",
-   "sha256": "19icc2c3s4jmn0i55dfllpvbwm6f3wmscfp8nrgini2wk89260jl"
+   "commit": "55494982d21de36c182b41896e1ed571bda69541",
+   "sha256": "06r7d5zgavam9jdnffnb3gznx9k5347dlwc4yj1knhfnphzzvl7a"
   }
  },
  {
@@ -61131,14 +61864,11 @@
   "repo": "jingtaozf/literate-elisp",
   "unstable": {
    "version": [
-    20200708,
-    803
-   ],
-   "deps": [
-    "cl-lib"
+    20210130,
+    107
    ],
-   "commit": "722b7b3988336642167e0e0db12800a23410ab07",
-   "sha256": "19fckshqp1dxf7msjjk6cd506i0ydzqb1fqz879pfbbvhg6iclva"
+   "commit": "de73de9e8060574cb0c85be4ec3b5d8ff8a92b7b",
+   "sha256": "19kyrvpkmbgiygcxr3hyrba9smz33y0adz5fwh1kb5qhcyrq8jw7"
   },
   "stable": {
    "version": [
@@ -61338,6 +62068,36 @@
   }
  },
  {
+  "ename": "llama",
+  "commit": "773b273063715a9b4373f23c583880948d812826",
+  "sha256": "13i2s5aqgk3hb3b3rvm597dhapajbsybr3vrkjswq5p36mda66fq",
+  "fetcher": "git",
+  "url": "https://git.sr.ht/~tarsius/llama",
+  "unstable": {
+   "version": [
+    20210201,
+    837
+   ],
+   "deps": [
+    "seq"
+   ],
+   "commit": "f2f1476e88153b167bf4ce755f7455fcb3f98458",
+   "sha256": "0qnzbamf763h8fwjsn7i47a1amb8nixl25zw58jh4hhl470czi2f"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "deps": [
+    "seq"
+   ],
+   "commit": "2027ce79165bf40314ad838c282920c53b5d7eae",
+   "sha256": "1jnll9xaxfwwvs0xjpdz8y6xlrsckm3a8ri5ml8k3fp81yby9as5"
+  }
+ },
+ {
   "ename": "lms",
   "commit": "7d6c24152f88dad15ef9f304c0016a97ede71dab",
   "sha256": "1nksla9i7b4nmnzppyw6fq5kzh8jyqjfxn45g60c4mi2mn3p95a1",
@@ -61455,11 +62215,11 @@
   "repo": "fourier/loccur",
   "unstable": {
    "version": [
-    20191022,
-    1955
+    20210224,
+    2041
    ],
-   "commit": "284d7bb285bd382be6c1936077de7e2246fa2374",
-   "sha256": "16jslrdzxlcl6s5jiylqfv48xrm7fqk765jwcgzayjl94939r22l"
+   "commit": "01b7afa62589432a98171074abb8c5a1e089034a",
+   "sha256": "1b1x1xsiwqzsiss1jc6w990v1vfvbn5d5w67yzmx59s9ldjmdqq2"
   }
  },
  {
@@ -61622,11 +62382,11 @@
   "repo": "Wilfred/logstash-conf.el",
   "unstable": {
    "version": [
-    20200725,
-    1843
+    20210123,
+    1949
    ],
-   "commit": "131565042f8f12b9b88bd477959246dd034fa7d6",
-   "sha256": "1cyrmhnc38piw8q6d8j8xwyk0vl0a00mzjhmswkwd76w06adr9md"
+   "commit": "ebc4731c45709ad1e0526f4f4164020ae83cbeff",
+   "sha256": "1bjmd1xy45p4v2307sxd6mna9iqxvvz82sx5jbdf3hz5d71w5vfn"
   },
   "stable": {
    "version": [
@@ -61785,35 +62545,6 @@
   }
  },
  {
-  "ename": "love-minor-mode",
-  "commit": "0f224c4c7519b3668b1270c957227e486896b7b6",
-  "sha256": "1skg039h2hn8dh47ww6n9l776s2yda8ariab4v9f56kb21bncr4m",
-  "fetcher": "github",
-  "repo": "ejmr/love-minor-mode",
-  "unstable": {
-   "version": [
-    20170727,
-    536
-   ],
-   "deps": [
-    "lua-mode"
-   ],
-   "commit": "3ca8f3405338f2d6f4fbcdd5e89342a46378543a",
-   "sha256": "1hwm7yxbwvb27pa35cgcxyjfjdjhk2a33i417q2akc7vppdbcmzh"
-  },
-  "stable": {
-   "version": [
-    1,
-    2
-   ],
-   "deps": [
-    "lua-mode"
-   ],
-   "commit": "3ca8f3405338f2d6f4fbcdd5e89342a46378543a",
-   "sha256": "1hwm7yxbwvb27pa35cgcxyjfjdjhk2a33i417q2akc7vppdbcmzh"
-  }
- },
- {
   "ename": "lox-mode",
   "commit": "8a4f385fd128097781b563ad91d4aa8301167f5e",
   "sha256": "14mqn4r2jmz661gyvzm48s9qb98w75sjflmrgqg6sslaca98jrpi",
@@ -61850,8 +62581,8 @@
    "deps": [
     "lispy"
    ],
-   "commit": "c3da907fdc1c7da8b0c19721605bf63d9d1be404",
-   "sha256": "1znjl9v72sy87ir6ia1qkgrfnxdgh9fk5pdl4k002labmsi2aw93"
+   "commit": "076ce9acb68f6ac1b39127b634a91ffd865d13d8",
+   "sha256": "10sab50wmr3zn7jgzx93201ymhmacqacn3m2qllsqkfw2gpsi6dn"
   }
  },
  {
@@ -61862,8 +62593,8 @@
   "repo": "emacs-lsp/lsp-dart",
   "unstable": {
    "version": [
-    20210110,
-    15
+    20210215,
+    1558
    ],
    "deps": [
     "dap-mode",
@@ -61874,14 +62605,14 @@
     "lsp-treemacs",
     "pkg-info"
    ],
-   "commit": "be9f979fa9cb098d064c3ab26d1f7ea7c65cbd23",
-   "sha256": "03g97sm3y5y1y8crwlc8kvpgrrljyym5yq6qz9llpwy8cg9srchw"
+   "commit": "71902caafbb20edb672641e44eca4cdf173e8a4f",
+   "sha256": "0ml3gfg3swx9gilgbwax8hgpf88b36cmykp7b4d858drm43daiwr"
   },
   "stable": {
    "version": [
     1,
     17,
-    12
+    13
    ],
    "deps": [
     "dap-mode",
@@ -61892,8 +62623,8 @@
     "lsp-treemacs",
     "pkg-info"
    ],
-   "commit": "be9f979fa9cb098d064c3ab26d1f7ea7c65cbd23",
-   "sha256": "03g97sm3y5y1y8crwlc8kvpgrrljyym5yq6qz9llpwy8cg9srchw"
+   "commit": "71902caafbb20edb672641e44eca4cdf173e8a4f",
+   "sha256": "0ml3gfg3swx9gilgbwax8hgpf88b36cmykp7b4d858drm43daiwr"
   }
  },
  {
@@ -61904,15 +62635,15 @@
   "repo": "emacs-lsp/lsp-docker",
   "unstable": {
    "version": [
-    20201102,
-    1802
+    20210217,
+    1102
    ],
    "deps": [
     "dash",
     "lsp-mode"
    ],
-   "commit": "38f75193f7a8a0e095975104f3ff1c58b3c7c59c",
-   "sha256": "0ghbcih8hshiyw0mwr2qjhzjbs1sikxl1ih4m41fk4pzd86vjbm4"
+   "commit": "a5b9ae58fc46b683bccd97d6722f9bd1663fd79a",
+   "sha256": "0gddfn5rxf7n4l9llziad95cmnn2zlyam7fwh1jbirrhwidg024q"
   }
  },
  {
@@ -61948,6 +62679,36 @@
   }
  },
  {
+  "ename": "lsp-grammarly",
+  "commit": "ececaeddf8d7d17ddd9bb20401ff96edb707c06f",
+  "sha256": "1lwk5pwiglp6xzh8d7fwb0nzr3zaqxcbfx6h9wl7vlnz6sz29z4m",
+  "fetcher": "github",
+  "repo": "emacs-grammarly/lsp-grammarly",
+  "unstable": {
+   "version": [
+    20210222,
+    409
+   ],
+   "deps": [
+    "lsp-mode"
+   ],
+   "commit": "699a0fda7b83953a19a30d235c6a4006f72f41fb",
+   "sha256": "0ip55ji04z9mmlmhrwywq7sw4j98jq79lfac2j3nz0q1qx8576w2"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "deps": [
+    "lsp-mode"
+   ],
+   "commit": "16825b8dde5dfb3042f4c6fb94be70d6f10b745d",
+   "sha256": "1byv93xasdpiyfhszi8vh6z7jmhdhxh6lj91xhlgif0s209nfbs9"
+  }
+ },
+ {
   "ename": "lsp-haskell",
   "commit": "1a7b69312e688211089a23b75910c05efb507e35",
   "sha256": "0pdcxnfp8ng24bfk695wpx5wcdqnjrjsfpks0xicih3mcdm1x9l8",
@@ -61955,15 +62716,15 @@
   "repo": "emacs-lsp/lsp-haskell",
   "unstable": {
    "version": [
-    20210108,
-    1332
+    20210209,
+    2150
    ],
    "deps": [
     "haskell-mode",
     "lsp-mode"
    ],
-   "commit": "5d3f4814f6ac44547a62551472cc76fbaebcccf7",
-   "sha256": "0qak0vl9jicx9sv4sa2ash5agxxsx8qycp4jk3wxs96q5kjshf62"
+   "commit": "7efbef3d206989faa8b691a4230a3ed872542187",
+   "sha256": "15xp3gjj9zdvxbhcgw21108s9y99rfmih5sqlk7f0m9hw5mqw4zm"
   }
  },
  {
@@ -62025,13 +62786,12 @@
   "repo": "emacs-lsp/lsp-java",
   "unstable": {
    "version": [
-    20210105,
-    1625
+    20210228,
+    1108
    ],
    "deps": [
     "dap-mode",
     "dash",
-    "dash-functional",
     "f",
     "ht",
     "lsp-mode",
@@ -62039,8 +62799,8 @@
     "request",
     "treemacs"
    ],
-   "commit": "33364a268a61366f1a07596e9fe7bd0f6d73fd90",
-   "sha256": "0ii26773cm945z1s4vyfqgzjsizv1a9wiadgg3klnfz9748y93a4"
+   "commit": "93db10d0b521435824732e1e46ac1fcf05c9893f",
+   "sha256": "0fskr9s7rp9dcarv3jz4pdkhhik0j6y19s10zp1fknwniql7kvj5"
   },
   "stable": {
    "version": [
@@ -62157,8 +62917,8 @@
    "deps": [
     "lsp-mode"
    ],
-   "commit": "2140e65fc5d759cdf163128ef6ab15c246d6039b",
-   "sha256": "10qf62c6raqhikhmfrav6qhc1mj229mrabzs1swyc06sx1sgkiwf"
+   "commit": "5fc536f24dc659f998bc673129d9e7c4b20d297c",
+   "sha256": "1k34zpg6f3i1pb68zh6fc7azd4hmbclnjpad1893q2zhqwxqdwz8"
   },
   "stable": {
    "version": [
@@ -62224,20 +62984,19 @@
   "repo": "emacs-lsp/lsp-mode",
   "unstable": {
    "version": [
-    20210114,
-    1955
+    20210228,
+    1524
    ],
    "deps": [
     "dash",
-    "dash-functional",
     "f",
     "ht",
     "lv",
     "markdown-mode",
     "spinner"
    ],
-   "commit": "0062a7cd4ab674390287e6b20d93ac42ed1f5512",
-   "sha256": "16awnan07b6ayf0rnxs8hal468bc7i24gw0l849s04v41y2i35cg"
+   "commit": "555bd9f0ee598f2c5601c7e33ef640f4fbe8e246",
+   "sha256": "0wjkcyq67447b79rif8hys2sy4gvzzb494jw6h8ab244zbkrrag9"
   },
   "stable": {
    "version": [
@@ -62288,15 +63047,15 @@
   "repo": "emacs-lsp/lsp-origami",
   "unstable": {
    "version": [
-    20200914,
-    1846
+    20210126,
+    843
    ],
    "deps": [
     "lsp-mode",
     "origami"
    ],
-   "commit": "aa309589668d32a8b4bb23c8f41163f6ae208f7b",
-   "sha256": "1l5n01icyp00ljcs5sfk3wbp74gn53p0mj1l4fqdpi70c1wahwmv"
+   "commit": "bedea3d25552d6969e917a15a0acc3d333ddc742",
+   "sha256": "0sbqplrchfz7d662xk1xjrgxvijd3dzwpvphaksv6agv4bjikbad"
   },
   "stable": {
    "version": [
@@ -62385,16 +63144,16 @@
   "repo": "emacs-lsp/lsp-pyright",
   "unstable": {
    "version": [
-    20201014,
-    1620
+    20210220,
+    1714
    ],
    "deps": [
     "dash",
     "ht",
     "lsp-mode"
    ],
-   "commit": "71ff088ac4c93b0edd012f305a3dfd1602c5d21e",
-   "sha256": "03fgw10fq1s98xrmfzg8y9xv14yig3lgjc44x7mvlc5awsmv5lxa"
+   "commit": "65fb14128127fb1ddf68dd4cb3140d6c7911a093",
+   "sha256": "0qhs4cv01b7aqq5r6bk91xgwsp8yg1bpn68xk90iirsxlgfb1ffq"
   }
  },
  {
@@ -62405,14 +63164,14 @@
   "repo": "emacs-lsp/lsp-python-ms",
   "unstable": {
    "version": [
-    20201023,
-    1750
+    20210217,
+    1823
    ],
    "deps": [
     "lsp-mode"
    ],
-   "commit": "c4ebc7a11398733055a1dc07f9cffacd04d1c2dc",
-   "sha256": "0sdvqnk598gdzjrzrgwqg2m8fzs9dpbbzsp70hqnrkp14x9jklmi"
+   "commit": "689f6cf815c8ee2ca2332f31dfda8ddefb0b7e26",
+   "sha256": "13vc2pwxl2cl2qa3gjkpa6si3760y7xyrlg1ygk3g1633w756h80"
   },
   "stable": {
    "version": [
@@ -62475,8 +63234,26 @@
    "deps": [
     "lsp-mode"
    ],
-   "commit": "948c3a35fd05496a77af2d8935e754db112cb4c3",
-   "sha256": "1n9jfaq1w2vxhv2gpvmj3qyc8bwacyj6kdyw62hlgbl7xnhhhc6d"
+   "commit": "ff204ed820df8c3035ebdc4b5a583640d52caeeb",
+   "sha256": "1q9ml3r827am27fhs9vlrgsxnq43k3zjb3h5mi999da1nhqwcs49"
+  }
+ },
+ {
+  "ename": "lsp-tailwindcss",
+  "commit": "c837c3b97d7e833d22a1605dcf3c2ebc35c19e0c",
+  "sha256": "0cnkj1ahp48i8zx1qh0fbxf40cnv6d1i9c579kmkfmfbnvxpp080",
+  "fetcher": "github",
+  "repo": "merrickluo/lsp-tailwindcss",
+  "unstable": {
+   "version": [
+    20210208,
+    1458
+   ],
+   "deps": [
+    "lsp-mode"
+   ],
+   "commit": "0558fd1cdbc31c48ca02308bee1b65c77f3fce3a",
+   "sha256": "0lbpwcf6vnk99rk3mzq3mbh4nxgl6prjrrak2aq9c789n7qainfr"
   }
  },
  {
@@ -62487,19 +63264,18 @@
   "repo": "emacs-lsp/lsp-treemacs",
   "unstable": {
    "version": [
-    20201230,
-    2214
+    20210216,
+    1250
    ],
    "deps": [
     "dash",
-    "dash-functional",
     "f",
     "ht",
     "lsp-mode",
     "treemacs"
    ],
-   "commit": "64e375fcc700d4d47cf52ad912e6863d479e3bfa",
-   "sha256": "19wy4xk0ll8pxdyq74a0zjlqkssc6ww21ac79zihndv90604c5km"
+   "commit": "3bae4a91e05d55d5ca92da272ffcd497f370e9df",
+   "sha256": "03dvf5vf74p3vjzv98csidw6hzpx2w7f20xmyy12cpiip76wanf0"
   },
   "stable": {
    "version": [
@@ -62520,23 +63296,22 @@
  },
  {
   "ename": "lsp-ui",
-  "commit": "883d739e46c32c95adcf41835078ba3604188eda",
-  "sha256": "0n4z7gmpkbz9azbk8pi4f368396y4s9bpqvkdykzq6ykqyswk4bm",
+  "commit": "c4b521f55483fd176f4a3f4fc5e0799fe4506580",
+  "sha256": "0g6pkdr05yihw6fl651yih5fa51kv2l1xy4sr4487z2m4azb223b",
   "fetcher": "github",
   "repo": "emacs-lsp/lsp-ui",
   "unstable": {
    "version": [
-    20210110,
-    1507
+    20210220,
+    703
    ],
    "deps": [
     "dash",
-    "dash-functional",
     "lsp-mode",
     "markdown-mode"
    ],
-   "commit": "fbe9a859f0b50097270ccf1314952de2d2039c12",
-   "sha256": "01xw3jpwffk5gg86s5n2i1jwn0xslc9bdbacfxy0iyrn6qp5jr1i"
+   "commit": "0ac3e12138a7eeaf764845d1e7e61b02769003ec",
+   "sha256": "1xqdmbfvn3i7lpk287jslgc9j6zlfxxw6hamqhb25y22bkqjgxsp"
   },
   "stable": {
    "version": [
@@ -62565,8 +63340,8 @@
     20201110,
     1250
    ],
-   "commit": "9454aeeb665df360543b47e162f03276a16b01a5",
-   "sha256": "0ssqqhvc08g5917i4lmsr698zr57v9hpnbw67l1lx48ra4vr6fcr"
+   "commit": "2d9a468b94acd8480299d47449b53136060b7b23",
+   "sha256": "1586k3friamcyfg1xszhkh1vaddrfxji1mn7rd7s8id8f7sp8mnv"
   },
   "stable": {
    "version": [
@@ -62781,8 +63556,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "703ee41303dc251b7672b7cba5aeb6aa54a76c90",
-   "sha256": "0cplbz7mc2zrxfk8g349ahb7gzli2hn5kda9155nbk8dw74xmj7d"
+   "commit": "94240ebb716f11af8427b6295c3f44c0c43419d3",
+   "sha256": "0c3l50qpdzracjncsbjv5chpvjdphhzwqk4jwv31fw6p62i1zvlb"
   },
   "stable": {
    "version": [
@@ -62868,6 +63643,25 @@
   }
  },
  {
+  "ename": "macrostep-geiser",
+  "commit": "2e154604ed9abf51f3779fdbff00850d13a91a9e",
+  "sha256": "09md4gmbk1lhrnj288vcq5apxjwys56np4msm2yfalfh2bhxzcg6",
+  "fetcher": "github",
+  "repo": "nbfalcon/macrostep-geiser",
+  "unstable": {
+   "version": [
+    20210222,
+    1552
+   ],
+   "deps": [
+    "geiser",
+    "macrostep"
+   ],
+   "commit": "4409d0f6834e0429c42e0675365bc58284312ad1",
+   "sha256": "02ydl3lfm269bi7dczkqsk6rbcdir759gd0nk7f477aw6x03hgwf"
+  }
+ },
+ {
   "ename": "madhat2r-theme",
   "commit": "44a382a388821908306c0b8350fba91218515e1b",
   "sha256": "0y588skd6c2ykyp54d38ibwrqglnaanr15d45d51cvcvp9k7x508",
@@ -62980,18 +63774,17 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20210105,
-    1030
+    20210228,
+    1841
    ],
    "deps": [
-    "async",
     "dash",
     "git-commit",
     "transient",
     "with-editor"
    ],
-   "commit": "25f432551347468ce97b8b03987e59092e91f8f0",
-   "sha256": "0vxsh75xynpfkfvmyyz8x3rppbwr9rgk7zjfil2af2kzba3p27vl"
+   "commit": "3db9e0a9821e5d9d9c6aacf5cc1d8ae1a6546ba7",
+   "sha256": "1js20ga6ymynmfwa94iswqd6j1ffrxni97dpnnsppalg9il0c356"
   },
   "stable": {
    "version": [
@@ -63019,15 +63812,15 @@
   "repo": "magit/magit-annex",
   "unstable": {
    "version": [
-    20200516,
-    2028
+    20210210,
+    2312
    ],
    "deps": [
     "cl-lib",
     "magit"
    ],
-   "commit": "c5ecb4b53ea2461e737ea00242ef1e69e35da398",
-   "sha256": "0f1psh03hsb57h3r66zfa0jmwkky12121lhvpynlgj330ryxl5bj"
+   "commit": "870174f23faa00b003b3eb63452228511c2da597",
+   "sha256": "156d0gd0a2cx9rn0zb9i96s3l62rys1dpxcdix2j6aix6iv669ql"
   },
   "stable": {
    "version": [
@@ -63059,8 +63852,8 @@
     "magit",
     "transient"
    ],
-   "commit": "3425ad5b16cb48d6802b7e9ed044b4cd7a99c785",
-   "sha256": "10iinizl99aivrf9zihykabb5lyg62kxbmydwaf7swzxf4dgxn2k"
+   "commit": "2d4bdacf498ed3ff7d2c3574d346b2d24cbb12da",
+   "sha256": "0rbbprjax6af0np1m5prilh2ndbhhlzfrq8sb8mn5vi3is2w1mgs"
   }
  },
  {
@@ -63274,8 +64067,8 @@
    "deps": [
     "magit"
    ],
-   "commit": "f4b88f0c127faa154f138907bf4e98b1baf12fb6",
-   "sha256": "10l0z0c0q6sbf3id5dajws30cxzjvi5rgx1hl8jf6nxr5zcmcmm1"
+   "commit": "a6130871e5f4421618e66d9254d0b5df9f3a1ef2",
+   "sha256": "1zrgqcxp2jshp52m0sa73kk071hvisqlrk79k9is6smkjss97s8c"
   },
   "stable": {
    "version": [
@@ -63330,15 +64123,15 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20210103,
-    1554
+    20210124,
+    1829
    ],
    "deps": [
     "libgit",
     "magit"
    ],
-   "commit": "25f432551347468ce97b8b03987e59092e91f8f0",
-   "sha256": "0vxsh75xynpfkfvmyyz8x3rppbwr9rgk7zjfil2af2kzba3p27vl"
+   "commit": "3db9e0a9821e5d9d9c6aacf5cc1d8ae1a6546ba7",
+   "sha256": "1js20ga6ymynmfwa94iswqd6j1ffrxni97dpnnsppalg9il0c356"
   }
  },
  {
@@ -63373,10 +64166,10 @@
  },
  {
   "ename": "magit-p4",
-  "commit": "440d47ca465845eaa601ca8a6e4b15fc197e522b",
-  "sha256": "19p7h3a21jjr2h52ika14lyczdv6z36gl7hk1v17bffffac8q069",
+  "commit": "e6c16a59ca48a0b17cae90354e8929d31a5eef1f",
+  "sha256": "1c5qv1f2d8c114a5z21j0nkw285k3gx787l0c3cd9ls7awxfp1is",
   "fetcher": "github",
-  "repo": "qoocku/magit-p4",
+  "repo": "emacsorphanage/magit-p4",
   "unstable": {
    "version": [
     20170414,
@@ -63486,14 +64279,14 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20210103,
-    1631
+    20210224,
+    1417
    ],
    "deps": [
     "dash"
    ],
-   "commit": "25f432551347468ce97b8b03987e59092e91f8f0",
-   "sha256": "0vxsh75xynpfkfvmyyz8x3rppbwr9rgk7zjfil2af2kzba3p27vl"
+   "commit": "3db9e0a9821e5d9d9c6aacf5cc1d8ae1a6546ba7",
+   "sha256": "1js20ga6ymynmfwa94iswqd6j1ffrxni97dpnnsppalg9il0c356"
   },
   "stable": {
    "version": [
@@ -63550,13 +64343,13 @@
    "version": [
     2,
     2,
-    1
+    2
    ],
    "deps": [
     "magit"
    ],
-   "commit": "c833903732a14478f5c4cfc561bae7c50671b36c",
-   "sha256": "01kcsc53q3mbhgjssjpby7ypnhqsr48rkl1xz3ahaypmlp929gl9"
+   "commit": "99601f47f47a421576809595ca7463fd010760b1",
+   "sha256": "00lsfkmsz26pz1paqn73skgx747250vc2pa0n8n0h7ywxj9dkzvb"
   }
  },
  {
@@ -63573,8 +64366,8 @@
    "deps": [
     "magit"
    ],
-   "commit": "e52e8ab4906996c410f6c6db890b9bfe0951d4ce",
-   "sha256": "0mp466bnm63pas8z0p6b0684i3rakb6cs5xzkz8jv3z3x34ak12c"
+   "commit": "8eea04c10d116057d3d4f249e6a184d5ed090263",
+   "sha256": "1m2p317xkbhfadba30m8lq01k543368ajbxid1v9627slgkcjf89"
   },
   "stable": {
    "version": [
@@ -63815,15 +64608,15 @@
   "repo": "jerrypnz/major-mode-hydra.el",
   "unstable": {
    "version": [
-    20191030,
-    2354
+    20210221,
+    834
    ],
    "deps": [
     "dash",
     "pretty-hydra"
    ],
-   "commit": "20362323f66883c1336ffe70be24f91509addf54",
-   "sha256": "16krmj2lnk7j5ygdjw4hl020qqxg11bnc8sz15yr4fpy1p7hq5cz"
+   "commit": "84c1929a5153be169ca5c36737439d51dffde505",
+   "sha256": "1yw9xdyqbf285ljsspg8ajjx1bp1g27xpg85p84fsh88nr015rh5"
   },
   "stable": {
    "version": [
@@ -64282,11 +65075,19 @@
   "repo": "minad/marginalia",
   "unstable": {
    "version": [
-    20210114,
-    1652
+    20210224,
+    1404
+   ],
+   "commit": "2387cba868a21f6c18244b8c84125221a866dfb5",
+   "sha256": "00pr1zw9si8if76pjvxvalxzwk42320y2k6fnkbpdfm8yv6pxkd1"
+  },
+  "stable": {
+   "version": [
+    0,
+    3
    ],
-   "commit": "327ad58bd69a372dc10dbb5b5d3d47f246e28020",
-   "sha256": "0nx5322278vr44aq27kaj5nr0rcq4d3wcbfyb3fpl80asj672m09"
+   "commit": "62ed158ff588900b9d3e56f3f05f659763c8c2ba",
+   "sha256": "1qihw1vq9sysrl6ha23ggycp0n2n1dx1ajkaqfm5vmv8480al07i"
   }
  },
  {
@@ -64394,11 +65195,11 @@
   "repo": "jrblevin/markdown-mode",
   "unstable": {
    "version": [
-    20210112,
-    1557
+    20210220,
+    1301
    ],
-   "commit": "3e380572a5177d0fa527c15efd15e340f53a923b",
-   "sha256": "1zhxw0cp95zy3qy9ai9k81zja5m31964nyyrjqzlywxx7zjk4x9g"
+   "commit": "051734091aba17a54af96b81beebdbfc84c26459",
+   "sha256": "11qybgasg4im76j4kryynqvqbqpxm1xfs5dxgjhr3whn3wiqba51"
   },
   "stable": {
    "version": [
@@ -64461,8 +65262,8 @@
   "repo": "ancane/markdown-preview-mode",
   "unstable": {
    "version": [
-    20181213,
-    1339
+    20210207,
+    2114
    ],
    "deps": [
     "cl-lib",
@@ -64470,8 +65271,8 @@
     "web-server",
     "websocket"
    ],
-   "commit": "f98d9114ca87e3e8e5ce70e601d13061eda15415",
-   "sha256": "1d1id99gagymvzdfa1mwqh8y3szm8ii47rpijkfi1qnifjg5jaq9"
+   "commit": "01af98ac1adcc9cb247fbc6c80fb159c30360ee6",
+   "sha256": "0n6ywxq12jqacdpah350ha6gqryxsh0iix93m0xnyy34dq2by4rc"
   },
   "stable": {
    "version": [
@@ -64766,16 +65567,15 @@
   "repo": "matsievskiysv/math-preview",
   "unstable": {
    "version": [
-    20210108,
-    1121
+    20210219,
+    1431
    ],
    "deps": [
     "dash",
-    "dash-functional",
     "s"
    ],
-   "commit": "6c83ab7c6e3df95e60e942a9017d0c218228d429",
-   "sha256": "1v32nip530j4lvvm9gsjr9f6i0p0i59lx3f3j32m25q0yvv4s8z6"
+   "commit": "08aa7c47ffc85c9cba1c9812e1c14250cc4192e4",
+   "sha256": "1z371v68aw92iaj5mbsk47mfr44scgkwazbf9i6gzygq84fdm6dh"
   }
  },
  {
@@ -64824,11 +65624,11 @@
   "url": "https://git.code.sf.net/p/matlab-emacs/src",
   "unstable": {
    "version": [
-    20201204,
-    736
+    20210225,
+    1441
    ],
-   "commit": "935c67274b84503640a9f90cce87b533461385ca",
-   "sha256": "08xjcva2fryw81zw1hd0glvq9pzkpnkcrkwp2i19032zzk3hqcxm"
+   "commit": "00e25f897c56c91a18bb821cd502270cad91fa0c",
+   "sha256": "1zbwzfsqkw97ywl60h6ryvrlcq82z8407g29w93cigakfwg6ir6j"
   }
  },
  {
@@ -64907,15 +65707,15 @@
   "repo": "sasanidas/maxima",
   "unstable": {
    "version": [
-    20201226,
-    1538
+    20210124,
+    2005
    ],
    "deps": [
     "s",
     "test-simple"
    ],
-   "commit": "1600cfc059a80ed8fa0d381b88f29ba658811cc5",
-   "sha256": "030sg31xh46vrmsafvn04sdvyv4vzqf8rf5ghrlina1gav6kybfd"
+   "commit": "5e80033e6fa9089d5cd6fa93f6484b544f2ba059",
+   "sha256": "0qh19a3yi5cccj01wxrlyaw1zcaxvpjhxc5qk3mf4f1l8gm1sfi2"
   },
   "stable": {
    "version": [
@@ -65345,16 +66145,16 @@
   "repo": "DogLooksGood/meow",
   "unstable": {
    "version": [
-    20210114,
-    1624
+    20210301,
+    59
    ],
    "deps": [
     "cl-lib",
     "dash",
     "s"
    ],
-   "commit": "d012944ac149358d0e978b10ff0e8a090921e044",
-   "sha256": "0i89v52damd9jhg9sdqghxrcbdybix2cw8hzx6lawg847wc09j06"
+   "commit": "5f01f8be74853f27cff021ad6e750f4b31e9375d",
+   "sha256": "009kfsis6qib0ax9nlipcvwclqk4kyqwafvsymssvls0r7ar50f9"
   }
  },
  {
@@ -65365,20 +66165,19 @@
   "repo": "ocaml/merlin",
   "unstable": {
    "version": [
-    20191025,
-    851
+    20210129,
+    1443
    ],
-   "commit": "a1a6e02756426f58a885846cbe56c4704b2a79e1",
-   "sha256": "1drx20bj1bb45n6wan0ys04qp4ccqjapi4056qn0ry6fdzx3c35d"
+   "commit": "2a0dd5c16178efcc4b8132e3c3b3c2a6cc7b13ea",
+   "sha256": "0aa0izxahpyzv9vz3g8q6m332ndqb8kxgwx22bxnf01n9v90v2j7"
   },
   "stable": {
    "version": [
-    3,
     4,
-    2
+    1
    ],
-   "commit": "c9761a552380838e9f530b5c47c0ea3c47c33565",
-   "sha256": "0i2nwkdh6cfzmnsdsr8aw86vs8j1k5jkjzrs61b9384wnffdbbmj"
+   "commit": "ab02f60994c81166820791b5f465f467d752b8dc",
+   "sha256": "1lsrn6739736gr72c83hnxdynqmvjbs8pq3spb74v39k7xixmh99"
   }
  },
  {
@@ -65513,16 +66312,16 @@
   "repo": "seblemaguer/metal-archives.el",
   "unstable": {
    "version": [
-    20201214,
-    1027
+    20210223,
+    1638
    ],
    "deps": [
     "alert",
     "ht",
     "request"
    ],
-   "commit": "a7602a32e7fd3c7779bc5b5c5e398ea31713ee45",
-   "sha256": "0s7lzhnafw98447kgpwimlmvfwqaaljvnqwvqppgkqglk551lmd4"
+   "commit": "a218d63b990365edeef6a2394f72d1f2286aeeae",
+   "sha256": "1mpsc1xvgl6g3bz0dx10i3x5abivna01f1carwyz9w47zs599svk"
   }
  },
  {
@@ -65542,8 +66341,8 @@
     "metal-archives",
     "org-ml"
    ],
-   "commit": "a7602a32e7fd3c7779bc5b5c5e398ea31713ee45",
-   "sha256": "0s7lzhnafw98447kgpwimlmvfwqaaljvnqwvqppgkqglk551lmd4"
+   "commit": "a218d63b990365edeef6a2394f72d1f2286aeeae",
+   "sha256": "1mpsc1xvgl6g3bz0dx10i3x5abivna01f1carwyz9w47zs599svk"
   }
  },
  {
@@ -65626,14 +66425,14 @@
   "repo": "ianxm/emacs-tracker",
   "unstable": {
    "version": [
-    20200602,
-    1032
+    20210207,
+    1100
    ],
    "deps": [
     "seq"
    ],
-   "commit": "6283e1fc5ddb65323513eb77638181551bda967b",
-   "sha256": "12sw627rhvqldbg8cvgg4fim91h3r9qlki5ni1fi0y5sa9iqh20j"
+   "commit": "e0ddd7a17da899fa85b1d49f1260042f8caa0612",
+   "sha256": "0k9lk2z8rnc2pa4wb2afj9byfryqlnw5hg1vs3bx6f0hs8rwa8yh"
   }
  },
  {
@@ -65659,11 +66458,11 @@
   "repo": "kazu-yamamoto/Mew",
   "unstable": {
    "version": [
-    20210113,
-    11
+    20210131,
+    740
    ],
-   "commit": "1dabdcd19ac93223ebc1a488666958e8c224449f",
-   "sha256": "0p5wwxfxds5h5v6jp4z2f423lzz3b3y84da8gw593byqzxd0sbf3"
+   "commit": "8c6bc6bf9562beb74b3b4fda47b2fe473139eb1c",
+   "sha256": "0bf30kkrmi0qw8i0viv1dnvrd52a66rp6vcklidrnv4dh5b782n8"
   },
   "stable": {
    "version": [
@@ -65697,18 +66496,19 @@
   "repo": "danielsz/meyvn-el",
   "unstable": {
    "version": [
-    20200311,
-    2209
+    20210130,
+    2016
    ],
    "deps": [
     "cider",
     "dash",
+    "geiser",
     "parseedn",
     "projectile",
     "s"
    ],
-   "commit": "36166b9bffeb1b5f967be2ab6f3a504632c33a65",
-   "sha256": "1w16sx15fk2m04gl6ahkw2scw6bvpl6bf4g0gf7532rxg339xgjg"
+   "commit": "a49731f39020b7c7626ba12e4c7b2f1c17a69341",
+   "sha256": "13m1qym94qvy197ngd8lyn8nzfsbxbr5ss29mkbvaidhi13jdrwa"
   },
   "stable": {
    "version": [
@@ -65934,11 +66734,11 @@
   "repo": "muffinmad/emacs-mini-frame",
   "unstable": {
    "version": [
-    20201223,
-    1013
+    20210212,
+    2041
    ],
-   "commit": "0912cf4f500403be32735bc50e331fd06910471f",
-   "sha256": "1hnhgx1nyhj814dlcg8mgijnfh30a5vzzinivh2ywgr151wv3b9w"
+   "commit": "41afb3d79cd269726e955ef0896dc077562de0f5",
+   "sha256": "0yghz9pdjsm9v6lbjckm6c5h9ak7iylx8sqgyjwl6nihkpvv4jyp"
   }
  },
  {
@@ -66277,20 +67077,20 @@
   "repo": "jabranham/mixed-pitch",
   "unstable": {
    "version": [
-    20210103,
-    7
+    20210203,
+    2211
    ],
-   "commit": "beb22e85f6073a930f7338a78bd186e3090abdd7",
-   "sha256": "1dhljrh44dsnixd8hbb11k6dgap8r8n7jknhfy2afdzq889fih74"
+   "commit": "d5f64b967d831ea776f07aa2c80cc5fa88a3e869",
+   "sha256": "0gs5pmpkfm4skycmq6agy1hdxjwzw6wvfdkvczdygzvn8hjq2inn"
   },
   "stable": {
    "version": [
     1,
     1,
-    0
+    1
    ],
-   "commit": "734fbdf2d2c17beee151faf39bd10174a87eea5d",
-   "sha256": "1i0yd7akkyqhkd8g2g793n6syiy0mbnlq9apg7p1s4xycmwxx684"
+   "commit": "beb22e85f6073a930f7338a78bd186e3090abdd7",
+   "sha256": "1dhljrh44dsnixd8hbb11k6dgap8r8n7jknhfy2afdzq889fih74"
   }
  },
  {
@@ -66319,11 +67119,11 @@
   "repo": "Mulling/mlso-theme",
   "unstable": {
    "version": [
-    20200828,
-    1221
+    20210215,
+    1755
    ],
-   "commit": "b47243006470798caa4d3f8fe1af9bd5ef06bbee",
-   "sha256": "0gwa2izmi2ljh4avfpfq778ym1p91gsssbqz2q95m9py1vvb3xr7"
+   "commit": "40caa67262c78e7668147f86a2b7ca1dad4b2190",
+   "sha256": "0wcqj0wf1bhqsbvs52a7nwix71nmiy0xixvmmx2pkg7c7mxpm6v4"
   }
  },
  {
@@ -66534,8 +67334,8 @@
     20210115,
     157
    ],
-   "commit": "cc538e5702274ad9e8c6c41c807f890ca38f427f",
-   "sha256": "0ai424aggmavj3yjqpzi8a7cxxz96bm3wdbs7vy4g68xxb88ll7n"
+   "commit": "5b01b3cc51388faf1ba823683c3600790099c84c",
+   "sha256": "0nmi6bsbbgcxihjb865bmm2zrirnzi1lq02d6cl1df57k47md4ny"
   },
   "stable": {
    "version": [
@@ -66649,6 +67449,21 @@
   }
  },
  {
+  "ename": "mode-line-idle",
+  "commit": "6c854955505f809f7a70e8918ea3a0187e62257c",
+  "sha256": "0wvy7p27d4qa5f6cg1zqrm8wzfvd0wfwcc5aimcs1hkxlzl1kr6b",
+  "fetcher": "gitlab",
+  "repo": "ideasman42/emacs-mode-line-idle",
+  "unstable": {
+   "version": [
+    20210215,
+    2345
+   ],
+   "commit": "02b1da6278e43cc9cc0356110cc6bfbb37eb8241",
+   "sha256": "0ky330b2sfbzkbxbfp9b21hdywsjw26bllspglz08hrbni7jmry8"
+  }
+ },
+ {
   "ename": "modern-cpp-font-lock",
   "commit": "4bfc2386049adfe7a8e20da9b69fb73d6cb71387",
   "sha256": "0h43icb5rqbkc5699kdy2mrjs5448phl18jch45ylp2wy2r8c2qj",
@@ -66752,20 +67567,20 @@
   "repo": "protesilaos/modus-themes",
   "unstable": {
    "version": [
-    20210114,
-    1245
+    20210228,
+    2012
    ],
-   "commit": "cefa14959c9118c279adccd151ac77e05b8beb3e",
-   "sha256": "1zqyvqkgy9w0ay0i61gq0mz5dwjdymcq4c2cbypq0adph4dlhkjq"
+   "commit": "9d3538f8a5007e33640b8ac1a0b725afc6287174",
+   "sha256": "0h3y94gglkdlygdkhakxlp5gmpvhrl76z2cm22pads722j1jj5nw"
   },
   "stable": {
    "version": [
     1,
-    0,
-    2
+    1,
+    1
    ],
-   "commit": "ab0f558397bb674342176c37c22190c0c1e54cc1",
-   "sha256": "1v82payjgx8z0qdklsrkim7xkb6hqrbs34d5qpq0sii43jwhiy5j"
+   "commit": "585659d36ac41dcc97ab335daa5bde566f088d4b",
+   "sha256": "1n716nasa1pccz7983kicagc9sqnxlyfmflvifqk4kza2ks0rh9m"
   }
  },
  {
@@ -66776,11 +67591,11 @@
   "repo": "kuanyui/moe-theme.el",
   "unstable": {
    "version": [
-    20200930,
-    853
+    20210226,
+    1623
    ],
-   "commit": "76116f6eeb93c7902042f275a496629393730e08",
-   "sha256": "091wrp80y4k80w8wnv8pxipyf33dxb4qs0yn3m83bb1drn2x3g2p"
+   "commit": "697864d14f4b620f1be579a975bf97b769d2199e",
+   "sha256": "19jqf6q2fl89hpf6jl53kl6a64aryf5q2hm1dg14fyiag883m9q9"
   },
   "stable": {
    "version": [
@@ -66958,11 +67773,11 @@
   "repo": "belak/emacs-monokai-pro-theme",
   "unstable": {
    "version": [
-    20200525,
-    1430
+    20210206,
+    1820
    ],
-   "commit": "d1bc669200bf5753cf1963e5e65269e0d60648d5",
-   "sha256": "0zqrn1pvlrgbf0yc34bycahvrl8sl67jmc0436yx3lgjwpkvhf0f"
+   "commit": "d0489741a80d818713c290a1a4bdd985877228bb",
+   "sha256": "1nmnmijqfxdxz0cxyfq9fn34cy5bbf6cdg0qvg5mjxrjcfsl57dc"
   }
  },
  {
@@ -67060,20 +67875,20 @@
   "repo": "jessieh/mood-one-theme",
   "unstable": {
    "version": [
-    20200904,
-    1639
+    20210221,
+    18
    ],
-   "commit": "47f043c1a883e3b0fd550eafffe71b915eb892c1",
-   "sha256": "0zh0l2zpnms4s1c33ksj6rr8cc6bd9pxnc73cwvmaysak1650jfq"
+   "commit": "42e402a89473458f55a71c5bbe785575e9a927ba",
+   "sha256": "1ma5138src6iglkhd2h8w9k4gqqaxvsngz08cd4v2s8dhqkcayw8"
   },
   "stable": {
    "version": [
     1,
-    1,
-    0
+    2,
+    1
    ],
-   "commit": "82b471852a23bc4de972cac32da322c2b168ad9c",
-   "sha256": "09ykh1c21kphfzli1qzrlx13bn6p22873y6rwkx9fnj2232gv9vi"
+   "commit": "42e402a89473458f55a71c5bbe785575e9a927ba",
+   "sha256": "1ma5138src6iglkhd2h8w9k4gqqaxvsngz08cd4v2s8dhqkcayw8"
   }
  },
  {
@@ -67108,20 +67923,20 @@
   "repo": "takaxp/moom",
   "unstable": {
    "version": [
-    20201122,
-    528
+    20210228,
+    718
    ],
-   "commit": "56a6a11b612aa295ef250e5a9879dc5df3b3234d",
-   "sha256": "0smddm5x5m5mv15wdfm04y8hxfzvxh4gkmjr1h8dlp686jg5mvl3"
+   "commit": "a756418dde112a67c4c68355bee46ef17fc45d07",
+   "sha256": "0csv7afdyzvpnc1znh4fz3d7ddgi51dfkfbr3c1mv6wvwg844j2a"
   },
   "stable": {
    "version": [
     1,
-    3,
+    4,
     0
    ],
-   "commit": "1d8344cec018a417cb5845c0717c7400c281caa1",
-   "sha256": "0ig5j4dzb0vxx145yv4ly93hndc2hkbx6dfng2zy7agf124ygh37"
+   "commit": "42d809ed57ad6ed63dde61f75e4b535b2700aaca",
+   "sha256": "0ln8qa51v1r5m2z4cjz7kfdmvq48lwgsdf7z43zmb1nzvn10gcvg"
   }
  },
  {
@@ -67315,20 +68130,20 @@
   "repo": "wyuenho/move-dup",
   "unstable": {
    "version": [
-    20200819,
-    940
+    20210127,
+    1938
    ],
-   "commit": "c5a346d3058011b8152cceeb45858f9b4cef1b69",
-   "sha256": "1dfsfxy7v85qc2gl14gxhngnvkcdbq9gadnsabs1fq56qdgmq814"
+   "commit": "5906503e0b9b832b1d5062c9cd27cf72a2ce4817",
+   "sha256": "138h20zlhqdyacs6563naxlcbksbp9r4ck2jliikix5gaq950chg"
   },
   "stable": {
    "version": [
-    1,
-    1,
-    2
+    2,
+    0,
+    0
    ],
-   "commit": "c5a346d3058011b8152cceeb45858f9b4cef1b69",
-   "sha256": "1dfsfxy7v85qc2gl14gxhngnvkcdbq9gadnsabs1fq56qdgmq814"
+   "commit": "bf2e578b89d7e7bf0b5500d9afcf49ac6ec2dcd1",
+   "sha256": "1hl7sddhs6wzn3z4h55znbix8n7jl9b85sd1b5s6x5n8wxj28gvz"
   }
  },
  {
@@ -67440,11 +68255,11 @@
   "repo": "google/mozc",
   "unstable": {
    "version": [
-    20200822,
-    1229
+    20210109,
+    642
    ],
-   "commit": "1f4fa17372bd196e87042738a16ab08bf904bcbf",
-   "sha256": "180glmkk6wnq5pc02543phih1f71vpvykqkwxs2qv7s7dyf2qg58"
+   "commit": "36c81efa69ecf6843e8b671a3caffb905a54f72f",
+   "sha256": "0smfhrcikxzaw4qbvq84ac51rdjw1mm5lm58zb8zyps7pzv3d9s8"
   },
   "stable": {
    "version": [
@@ -67661,16 +68476,16 @@
   "repo": "kljohann/mpv.el",
   "unstable": {
    "version": [
-    20200315,
-    2158
+    20210207,
+    1140
    ],
    "deps": [
     "cl-lib",
     "json",
     "org"
    ],
-   "commit": "2d40c4550558eb1bf35a69446777c4e9cae7a623",
-   "sha256": "0f9iq83dfj73gbx7zndvh32b102582lzv4xb8gvqjs26k5bywdxj"
+   "commit": "2d24187f7bdb0495c90d5109a730742e735636ba",
+   "sha256": "1siwl0pjmklpzywn5jmq7jgnsynpa6qafm6mqg9h8gxxbswd5xbi"
   },
   "stable": {
    "version": [
@@ -67931,6 +68746,24 @@
   }
  },
  {
+  "ename": "mu4e-marker-icons",
+  "commit": "52f7c75f26eb02a58ed023a9d709fdcc09e11587",
+  "sha256": "1lyxcw7a842z4ss47sa8gzyh84p886d3qsszz9vl6978gy77i4al",
+  "fetcher": "github",
+  "repo": "stardiviner/mu4e-marker-icons",
+  "unstable": {
+   "version": [
+    20210124,
+    514
+   ],
+   "deps": [
+    "all-the-icons"
+   ],
+   "commit": "e5c4f9b14eab69a0a28f108c6fee3390e19bd080",
+   "sha256": "1a3cinvi0j92j65qfgzmnx6z0xvq4l2jkvw9wydhm3bkmi3v6ni4"
+  }
+ },
+ {
   "ename": "mu4e-overview",
   "commit": "ec240f0f9bc43c5abca557607b0b89a24696744e",
   "sha256": "076lpfj6zrg2ivgbslg9whm4mci278kg45a3km7iadilwipiaxsk",
@@ -67977,15 +68810,15 @@
   "repo": "lordpretzel/mu4e-views",
   "unstable": {
    "version": [
-    20201229,
-    216
+    20210228,
+    1556
    ],
    "deps": [
     "ht",
     "xwidgets-reuse"
    ],
-   "commit": "55e5467a25d424b2c10b5392e68b370164efa230",
-   "sha256": "1gagaxpb4psshs8x61icilx4576al2qjs612d65ss857gfmzachi"
+   "commit": "1a0ceeb874e2a56b3ebe06c8375221031bb90a5c",
+   "sha256": "0v7d899pvpwvvp9x0yaskhjf1c6bjmqajk2mclfkykadrh89z61j"
   },
   "stable": {
    "version": [
@@ -68032,6 +68865,18 @@
    ],
    "commit": "34dfba027bf11e4cca2c547ce80b73d7324c7ba6",
    "sha256": "011qr9jc90arg3y8y49hjmv94968ym81a36db0dvxyf08hspz006"
+  },
+  "stable": {
+   "version": [
+    1,
+    0
+   ],
+   "deps": [
+    "anaphora",
+    "s"
+   ],
+   "commit": "34dfba027bf11e4cca2c547ce80b73d7324c7ba6",
+   "sha256": "011qr9jc90arg3y8y49hjmv94968ym81a36db0dvxyf08hspz006"
   }
  },
  {
@@ -68289,15 +69134,14 @@
   "repo": "matsievskiysv/multistate",
   "unstable": {
    "version": [
-    20200514,
-    2206
+    20210124,
+    2014
    ],
    "deps": [
-    "cl-lib",
     "ht"
    ],
-   "commit": "eadd0df2745bf10500a9ad4ee8f66f3cb470bef0",
-   "sha256": "081rangw4iqk1lcahk01skh518ljdp6g4ww7zydjr813x7jzv2kv"
+   "commit": "a7ab9dc7aac0b6d6d2f872de4e0d1b8550834a9b",
+   "sha256": "1r4l0s8401yfm3dl83yqffim5m1gsqzqz9pv3dvq3v8rb94m9n9s"
   }
  },
  {
@@ -68338,16 +69182,16 @@
   "repo": "Wilfred/mustache.el",
   "unstable": {
    "version": [
-    20201119,
-    529
+    20210224,
+    710
    ],
    "deps": [
     "dash",
     "ht",
     "s"
    ],
-   "commit": "7f4b1cf0483366a77539081fde94fa6079b514a0",
-   "sha256": "0yg726jdcvkfxss1sw261rz1df3zv9g95rx3b3g8g5xncxi0cqvh"
+   "commit": "6fcb31f5075edc5fc70c63426b2aef91352ca80f",
+   "sha256": "1rq2p376016y68w6447sd7h6zgzrxbb3skh7fjw7xfq1p6f19kr4"
   },
   "stable": {
    "version": [
@@ -68472,15 +69316,15 @@
   "repo": "agzam/mw-thesaurus.el",
   "unstable": {
    "version": [
-    20210106,
-    1857
+    20210224,
+    449
    ],
    "deps": [
     "dash",
     "request"
    ],
-   "commit": "cb0637bd3799820d6738f5d66b8bc2de2333e0e4",
-   "sha256": "1j5x1rfnxvghdmai7cv9sjqw1azq59pk8h5vm0krgnan2rpx5k4k"
+   "commit": "96f02694bc28f31c2a280a05d47e6ff589f525f3",
+   "sha256": "0gy3lyncyvwimkhfmd0qh1kkc0qgf7sgvbyr1aljdn9qh7n5l34k"
   }
  },
  {
@@ -68749,8 +69593,8 @@
     20181120,
     2224
    ],
-   "commit": "670b81e3eddef2e7353a4eedc9553a85306445db",
-   "sha256": "1inbizxlfgndwxsn8cwnpf4vm42rby7pkjqxyzl7ldq4qln7q8v1"
+   "commit": "d8baeada19b56176c66aed5fa220751e3de11cb8",
+   "sha256": "0xa44mks90xhwkjvrgxll0hzwhkf317i3gxqlajl9cx8v3bhczz1"
   }
  },
  {
@@ -69435,8 +70279,8 @@
   "repo": "felko/neuron-mode",
   "unstable": {
    "version": [
-    20201229,
-    1005
+    20210227,
+    1737
    ],
    "deps": [
     "company",
@@ -69444,8 +70288,8 @@
     "markdown-mode",
     "s"
    ],
-   "commit": "81ed1f3288eab9aed2cb0b1eb11af69f988b7d0b",
-   "sha256": "1dgvlk0apd7ddzzg5jcpsrdhps37my59jyvkv1sqp31km0nby6qk"
+   "commit": "a968a923aad07ab15fb35deb79ac95581a427b4c",
+   "sha256": "1mb55bbsb32gxms488pjw9fsqiic2qfmwkhm3pwcgy194723vcaa"
   }
  },
  {
@@ -69615,6 +70459,30 @@
   }
  },
  {
+  "ename": "nikki",
+  "commit": "f1e2937a2b4947c922d42f0dea4e764d713a7c29",
+  "sha256": "0jfg1bziqhbgfrl77ddl2krkrd11xcpy6v2fqcpxmrd0i7jb17qc",
+  "fetcher": "github",
+  "repo": "th994/nikki",
+  "unstable": {
+   "version": [
+    20210227,
+    1707
+   ],
+   "commit": "b2ea20d04a061df88d72bd8dd0412a6e7876458d",
+   "sha256": "0a4kv2zb6wmacfjsihzr1ac6rsynay30zl2qiyzv21js6wmrwn9c"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    6
+   ],
+   "commit": "b2ea20d04a061df88d72bd8dd0412a6e7876458d",
+   "sha256": "0a4kv2zb6wmacfjsihzr1ac6rsynay30zl2qiyzv21js6wmrwn9c"
+  }
+ },
+ {
   "ename": "nikola",
   "commit": "2e8e1a5169f0841db4980aebe97235845bbe7183",
   "sha256": "1zdakql4p0h2l4i3gipzbx9kwmc41qq2zr0rx794722khcka4sz1",
@@ -69676,11 +70544,11 @@
   "repo": "m-cat/nimbus-theme",
   "unstable": {
    "version": [
-    20201222,
-    1503
+    20210115,
+    2034
    ],
-   "commit": "5ff56a6a68cde7cd0a67fc60e3e993be52604a6d",
-   "sha256": "1073x878gdg97xym31mx3l7zpbc51pkspigpxqlpq48q62llcigj"
+   "commit": "ca504e4387641b648e7bc6037fe515b03a90b801",
+   "sha256": "0gz2qrkr4gvy5wh44wiy7mhqwlxgfa8fyg0bincnba89161fnymk"
   }
  },
  {
@@ -69694,8 +70562,8 @@
     20181024,
     1439
    ],
-   "commit": "68f09b03c090840162d1852f1e92afa8e117cc4e",
-   "sha256": "1ampghm9laigs0frqfw2yjsm0whh2vff5gqp96i4d88n9ar0wj5n"
+   "commit": "1a8015038d9a8c6bf0c04a42588fb2a26861be63",
+   "sha256": "08071i5zv0jg9yb83bq9r2sj6hyw31ziwzg79gsbyr7l8whz7cx8"
   },
   "stable": {
    "version": [
@@ -69793,11 +70661,11 @@
   "repo": "NixOS/nix-mode",
   "unstable": {
    "version": [
-    20210115,
-    340
+    20210124,
+    204
    ],
-   "commit": "e8e5211f6e083cf0ba9aac52acb6657818a32972",
-   "sha256": "1zhvj1j5pvsfa0xzky819fc1xlhy3a4snkyyp1dczbfdnk34kan9"
+   "commit": "0023fc5b100ec0c939ffe699d1a7d1afcf1f417a",
+   "sha256": "1fjf16dah95i3vlxk63rlixskgq18kn69fyg6dgpiw7pm98kjviy"
   },
   "stable": {
    "version": [
@@ -69977,18 +70845,17 @@
   "repo": "dickmao/nndiscourse",
   "unstable": {
    "version": [
-    20200829,
-    1751
+    20210219,
+    1949
    ],
    "deps": [
     "anaphora",
     "dash",
-    "dash-functional",
     "json-rpc",
     "rbenv"
    ],
-   "commit": "152f3176fff026572d2cfa22adaeb32f42410083",
-   "sha256": "1sljvp31jccffd6h21lf01lkr4qa093ia0bh7kakx9azvqdz55qf"
+   "commit": "c6074af3b60ef7af7d9c45b8ad1daa21296a5e04",
+   "sha256": "0hx8sg6wa688f2bzddbzl81b553vjv8aaafizns9r8icsws7acc0"
   }
  },
  {
@@ -69999,17 +70866,16 @@
   "repo": "dickmao/nnhackernews",
   "unstable": {
    "version": [
-    20200730,
-    1052
+    20210219,
+    1948
    ],
    "deps": [
     "anaphora",
     "dash",
-    "dash-functional",
     "request"
    ],
-   "commit": "baeb84dd0be0e7631d1f49da30a53eb61863b04c",
-   "sha256": "15r5hph17pdy5c5jyxh5sia5yqd81ckki185m9jqg9yls749hy55"
+   "commit": "b5a221b63c8b311d50807fdfab4ae6b965844f06",
+   "sha256": "1lq3rh52x0f059lxk0cczins2vggiwjs5m1drj7dkb8lmlxc41y4"
   }
  },
  {
@@ -70092,14 +70958,14 @@
   "repo": "emacscollective/no-littering",
   "unstable": {
    "version": [
-    20210108,
-    1350
+    20210124,
+    1559
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "6e8950ad296c0f57d80d034eb0b7adf538c02906",
-   "sha256": "10zjxc6ipm9330awx7k9hzjf28qpnaw2rcz67dc0jbdgxkn16gl8"
+   "commit": "57357e15643158b4e0d9b3b4f70a82f5fc73178a",
+   "sha256": "1kbbbx1agzcxc5n1b6cavdx3wjxz6mgi9rafja8mk8cyaaiz0rkd"
   },
   "stable": {
    "version": [
@@ -70398,20 +71264,20 @@
   "url": "https://git.notmuchmail.org/git/notmuch",
   "unstable": {
    "version": [
-    20210113,
-    1123
+    20210205,
+    1412
    ],
-   "commit": "1bbbde4a0c3153f6caa30724bd173397be43144f",
-   "sha256": "0lawmpg52yc7fsh2rrmwajds2yhx9jr3h8g04ikf4cma95v4d8s2"
+   "commit": "4c79a2dabe38ac72eb9eb21620f2ffca5f1885c6",
+   "sha256": "1kfg503j44ivcx9zsqzgjl7ab936vwnw31gb6kpcjhd1kyha0mjm"
   },
   "stable": {
    "version": [
     0,
     31,
-    3
+    4
    ],
-   "commit": "d812256aeb91646b5b1c644fa67f07c483cca651",
-   "sha256": "1wm1myzacz1dcg7vdfd3akia3xan7ssfspf1fflrwm18hdalss5v"
+   "commit": "3a3208bb7b8bfca1c0bcaa5b45b6ef71aa768612",
+   "sha256": "04q9zwy6mpck82zk70xnx2knh2jmqhf676703kjw0fbvdrzw9qik"
   }
  },
  {
@@ -70487,8 +71353,8 @@
    "deps": [
     "notmuch"
    ],
-   "commit": "bac7b56e1a758670e7e6d57d233b45f45961d321",
-   "sha256": "0wx064c2njjq32dqbv68hysds5bm43921vsr34xb4lk748lk2qhv"
+   "commit": "9f3e8bbce4c8c6cd80fb71b92d315d4f3334b450",
+   "sha256": "1rrd3ymc7k8irq1w4496h4whks7lnfam7ibfwgcra074ligfrs4p"
   },
   "stable": {
    "version": [
@@ -70511,15 +71377,15 @@
   "url": "https://depp.brause.cc/nov.el.git",
   "unstable": {
    "version": [
-    20201207,
-    3
+    20210228,
+    2125
    ],
    "deps": [
     "dash",
     "esxml"
    ],
-   "commit": "0ece7ccbf79c074a3e4fbad1d1fa06647093f8e4",
-   "sha256": "116klnjyggwfwvs9nqhpv97m00k63q6lg41ph41kywsqkfy42dlk"
+   "commit": "b6138895ace3042ed78140b6f4859e544fbca27e",
+   "sha256": "03knl5zch59r1zrk2kvricvirp6rhcdiywny3n9cmbv653gjzyvi"
   },
   "stable": {
    "version": [
@@ -70732,20 +71598,20 @@
   "repo": "joostkremers/nswbuff",
   "unstable": {
    "version": [
-    20201207,
-    805
+    20210129,
+    850
    ],
-   "commit": "76e5d96f31368a74121076df679255e1ea97f5d9",
-   "sha256": "08yf7cdmq6nqn4bhm4asj3yavcifwjgkyzhdcr3dm9a9jv1b3w0m"
+   "commit": "72fac3d4b7a1c42a71cb396d20cc22fca8a52ed5",
+   "sha256": "17ks8cmnwc313q9vcxbrsv9xmji2hdnw18jczc3xrgl441vkzds1"
   },
   "stable": {
    "version": [
     1,
-    1,
+    2,
     1
    ],
-   "commit": "76e5d96f31368a74121076df679255e1ea97f5d9",
-   "sha256": "08yf7cdmq6nqn4bhm4asj3yavcifwjgkyzhdcr3dm9a9jv1b3w0m"
+   "commit": "71e241763ca0a4a1d1b432e172d46bed4f44dbe7",
+   "sha256": "1sswhr52rp8c4v4fv30sww1gadbdrlk3l35j8xmqfw6hbgzxb5dn"
   }
  },
  {
@@ -70864,6 +71730,25 @@
   }
  },
  {
+  "ename": "numpydoc",
+  "commit": "e7e20f00482f143ac67589a48f7bc591e075b5da",
+  "sha256": "1p2ls9qmbl58p4cyrk4f769blc72lfgbwd3sy4hhkv75m4qj4lws",
+  "fetcher": "github",
+  "repo": "douglasdavis/numpydoc.el",
+  "unstable": {
+   "version": [
+    20210301,
+    25
+   ],
+   "deps": [
+    "dash",
+    "s"
+   ],
+   "commit": "8a7430de69650dbd2e91fd746c2f8fe1665e5a45",
+   "sha256": "1n26c8kj6w36v3cz15497r51rkb03ngsgkld5qcy75j8ha7mddwz"
+  }
+ },
+ {
   "ename": "nv-delete-back",
   "commit": "7542fa39060b507a6f455225367e45e89d3e2f92",
   "sha256": "13izzym4alda05k7ra67lyjx6dx23fjqz2dqk7mrzhik9x552hsr",
@@ -70886,17 +71771,16 @@
   "repo": "rejeep/nvm.el",
   "unstable": {
    "version": [
-    20201005,
-    2328
+    20210217,
+    744
    ],
    "deps": [
     "dash",
-    "dash-functional",
     "f",
     "s"
    ],
-   "commit": "f15334f78de7786617a15c9de54f4c79a92865fb",
-   "sha256": "10v4593yz3afrqj6zilq3dw2fngf0f20dy2mrgbcickvdbvkifby"
+   "commit": "6f47fac1bc42526a7474488f560d064c08f8dd6e",
+   "sha256": "01rfgxkahpx17q8k72hxibysysv8pgx6bfy5gbc6finm3f7ak6ia"
   },
   "stable": {
    "version": [
@@ -70984,6 +71868,25 @@
   }
  },
  {
+  "ename": "oauth2-request",
+  "commit": "d8fd29717d69408c845d44077b5223902051dbd9",
+  "sha256": "1yb9wgc1p6rbsarb7yhwwrpsjz2adnf9k590c9sif9vx3llras2g",
+  "fetcher": "github",
+  "repo": "conao3/oauth2-request.el",
+  "unstable": {
+   "version": [
+    20210215,
+    657
+   ],
+   "deps": [
+    "oauth2",
+    "request"
+   ],
+   "commit": "86ff048635e002b00e23d6bed2ec6f36c17bca8e",
+   "sha256": "0z9vkssdxkikwjcb3vrby5dfcixy4lw9r2jp7g9nls6w88l184jf"
+  }
+ },
+ {
   "ename": "ob-ammonite",
   "commit": "508358506a6994baf120be2acba86762f5727c6c",
   "sha256": "0wr7p3sfn9m8vz87lzas943zcm8vkzgfki9pbs3rh3fxvdc197lb",
@@ -71066,8 +71969,8 @@
    "deps": [
     "axiom-environment"
    ],
-   "commit": "47d6dffc29286badb2b1d7143b219e5c1be15bdb",
-   "sha256": "1dppyda9jkwh6fj8m4kziq84w0b5yzxrhq87jhkv54jjra6yxbb4"
+   "commit": "41e0bf68b06911cbd0a1d7d36a506679a0f6137f",
+   "sha256": "0qy61shqrgaw3pqz94x10s969irs4hn8cawi1acp9hapfcfnf218"
   }
  },
  {
@@ -71721,6 +72624,24 @@
   }
  },
  {
+  "ename": "ob-reticulate",
+  "commit": "cccdf7cfda6b23877d0649145808f0a4e9321b1a",
+  "sha256": "0jjrdykpcswbwjvy4zzs7sfjyxnzvvc17wa67arharpxgg4d8083",
+  "fetcher": "github",
+  "repo": "jackkamm/ob-reticulate",
+  "unstable": {
+   "version": [
+    20210214,
+    2229
+   ],
+   "deps": [
+    "org"
+   ],
+   "commit": "8109fb02fb6339b1cf9290df29fc0c1109a33c04",
+   "sha256": "1wr0acf0nhdz48n8p1q80sv0bd929n7v8ahcrx5zc7wcimbqshl1"
+  }
+ },
+ {
   "ename": "ob-rust",
   "commit": "843affc2fd481647c5377bf9a96b636b39718034",
   "sha256": "1syzwh399wcwqhg1f3fvl12978dr574wji7cknqvll3hyh0zwd65",
@@ -71728,11 +72649,11 @@
   "repo": "micanzhang/ob-rust",
   "unstable": {
    "version": [
-    20180911,
-    1535
+    20210204,
+    244
    ],
-   "commit": "6a82587598cd097e9642be916243c31f1231b24a",
-   "sha256": "041mvlwnkxa93fjbln0yc6pgykh6k7fwg1nigr6njgaxlfnssmlm"
+   "commit": "30fe7e7181f44443d02e905dda77f83ec4944e76",
+   "sha256": "103j84iblzw87p12w1vjinfsq6zif47lvmjzs0456d8kwli0hpkp"
   }
  },
  {
@@ -72073,17 +72994,17 @@
     20201204,
     945
    ],
-   "commit": "7c6e115c38e447e7cfd4d1d128bed363d3d10c4b",
-   "sha256": "0jik0j3mjyd8fxdlcdkxp0znlw29fm3knqa7i4fgwz6cvzkl9fa0"
+   "commit": "7db8d1377a127b39e2bf985c91b6a9a8d6cbeff2",
+   "sha256": "1vwmw3dcqxg7sy0ki86gq4kpva5ncwzygzbl5ml9947xklvnw9in"
   },
   "stable": {
    "version": [
     0,
-    16,
+    17,
     0
    ],
-   "commit": "101d2306f5b0b23bbc25e1155c1ffd51a0bbf61e",
-   "sha256": "0yf1kf3yhiw39qpybz2aszwl7kjshiv45d81gq7q7xgn9nqnf0z4"
+   "commit": "bfd6bbe95c614d1d982244c4fd0ba494275d2245",
+   "sha256": "0vy69sjl184czpwbhcbgzyh8kgj6n3jq8ckllcbwic859aq8lqvn"
   }
  },
  {
@@ -72109,11 +73030,11 @@
   "repo": "dgtized/occur-context-resize.el",
   "unstable": {
    "version": [
-    20170904,
-    2309
+    20210121,
+    50
    ],
-   "commit": "cdee5a631ceed9337579d4090e0acf8140747f80",
-   "sha256": "0h7ypw45h5rcbwx4c4mn2ps9hp84dpjp3iay2nc9zaavv05n7ysa"
+   "commit": "9d62a5b5c39ab7921dfc12dd0ab139b38dd16582",
+   "sha256": "1s2j0205sp40nz1ljwa2nf2zm5mlkvsp95xfrra6rzbdrvbsfxyi"
   }
  },
  {
@@ -72267,26 +73188,26 @@
   "repo": "oer/oer-reveal",
   "unstable": {
    "version": [
-    20210107,
-    1519
+    20210223,
+    1351
    ],
    "deps": [
     "org-re-reveal"
    ],
-   "commit": "7edfa815105543a183b1503fa49531f77a713840",
-   "sha256": "09sl4bpd5k25cb82q57f39hb74hsilg9271zbs6nxvrshks23wy3"
+   "commit": "e880c4f65ad20e22ab845fc2918ca74cc37bf39a",
+   "sha256": "197fn08xhk6cbvi4hqf51v40x0ki5n8h1896g3bpl4fasfy5zicp"
   },
   "stable": {
    "version": [
     3,
-    15,
+    17,
     0
    ],
    "deps": [
     "org-re-reveal"
    ],
-   "commit": "7edfa815105543a183b1503fa49531f77a713840",
-   "sha256": "09sl4bpd5k25cb82q57f39hb74hsilg9271zbs6nxvrshks23wy3"
+   "commit": "e880c4f65ad20e22ab845fc2918ca74cc37bf39a",
+   "sha256": "197fn08xhk6cbvi4hqf51v40x0ki5n8h1896g3bpl4fasfy5zicp"
   }
  },
  {
@@ -72391,20 +73312,20 @@
   "repo": "rnkn/olivetti",
   "unstable": {
    "version": [
-    20201029,
-    922
+    20210202,
+    709
    ],
-   "commit": "b76a020aedb57a6a7d0ae61cde13434f5c802a44",
-   "sha256": "1qq0lx0wrflx1r2m7gidnvcv7cipc6dzh1clf5mp50mm2cp88n50"
+   "commit": "61d26644fd9dd2d45b80b9b82f5f930ed17530d0",
+   "sha256": "1nvnahwjqs9i2cinkpwg689lg134wp7l6f9f1k1jwn0dh1amqmvp"
   },
   "stable": {
    "version": [
     1,
     11,
-    2
+    3
    ],
-   "commit": "b76a020aedb57a6a7d0ae61cde13434f5c802a44",
-   "sha256": "1qq0lx0wrflx1r2m7gidnvcv7cipc6dzh1clf5mp50mm2cp88n50"
+   "commit": "a2dbd3dc4e7000fec29febbd089cd4558a7322b9",
+   "sha256": "0zcph7l0hxisbvsyzb1dw3paq5a5sjp5lrq5nq9zggvgc6zvx7sh"
   }
  },
  {
@@ -72959,11 +73880,11 @@
   "repo": "oantolin/orderless",
   "unstable": {
    "version": [
-    20210105,
-    448
+    20210227,
+    1543
    ],
-   "commit": "cbc0109eac542ef4fe0be027af1c62c4bbf846ee",
-   "sha256": "0cp8yspghfbgy2nhcqw8irqyhphw4jdr36864m45ralzzxc6lqac"
+   "commit": "9d5b95f40275dc47a57e9d4ee9b9994ee3a4b426",
+   "sha256": "0ksjvi257m6ij7dd40rjc106grxi727717w8k58h3i5l6f03w70f"
   },
   "stable": {
    "version": [
@@ -73147,11 +74068,41 @@
   "repo": "dfeich/org-screenshot",
   "unstable": {
    "version": [
-    20201130,
-    1607
+    20210221,
+    1336
    ],
-   "commit": "a467a1f04a416252f067b95c0f00a9f10d03c433",
-   "sha256": "1mi9h69zdm4yhvpsgiqvg214f5k818y3w1hz626cw0vr2jxmgdf2"
+   "commit": "6a5d5f8fd7cda1200cf088f415b9983e89a03075",
+   "sha256": "0gqqcgadlzzbqd4sqbwbwx41app6ryz2l3lrng8bz9hq9cx547jj"
+  }
+ },
+ {
+  "ename": "org-auto-tangle",
+  "commit": "8cdae87606068b7b47530e0744e91aead86d288e",
+  "sha256": "1cr34yjr43ah9bqvrghlyx2vag7xnamgfijb417k5m70cbk8vcb8",
+  "fetcher": "github",
+  "repo": "yilkalargaw/org-auto-tangle",
+  "unstable": {
+   "version": [
+    20210214,
+    917
+   ],
+   "deps": [
+    "async"
+   ],
+   "commit": "ea2ca74a68eb44d935b7240ffc8f19c8a4db334a",
+   "sha256": "0wskvkwrw0vgknq895by10bcwglaikgkrs1z54f6wyfyksa801ja"
+  },
+  "stable": {
+   "version": [
+    0,
+    2,
+    13
+   ],
+   "deps": [
+    "async"
+   ],
+   "commit": "ea2ca74a68eb44d935b7240ffc8f19c8a4db334a",
+   "sha256": "0wskvkwrw0vgknq895by10bcwglaikgkrs1z54f6wyfyksa801ja"
   }
  },
  {
@@ -73337,8 +74288,8 @@
    "deps": [
     "org"
    ],
-   "commit": "f7939ef5071895930eebccf490ea7cb25cc54b2c",
-   "sha256": "0lplrdy5432ckif94vl9phh07c6qfm8cxa1mjyn1dypn2sh8p9gi"
+   "commit": "e9b9b3e5bb3c63cecb1367df49205c346d9c050a",
+   "sha256": "0j1f75p40p033acnkds2mxhqx5wilmlhak8cgn196x6y8j1ra7d8"
   }
  },
  {
@@ -73581,11 +74532,11 @@
   "repo": "thisirs/org-context",
   "unstable": {
    "version": [
-    20200615,
-    1554
+    20210216,
+    1526
    ],
-   "commit": "8ef429124c13b1a68f7672cb6e6cb9c8b9d9db93",
-   "sha256": "178hpp3ylafmr2n3ydcqwqjxa8avlb8g1n3swzndc3jjk0gy6vck"
+   "commit": "a08f1f607f819791b9b95ad4f91c5eaa9fdbb091",
+   "sha256": "18ld5kqr0l7nklybdwbwrnkrh06w71myfynbwp9rh8q4lhzh73jc"
   }
  },
  {
@@ -73611,29 +74562,29 @@
   "url": "https://git.spwhitton.name/org-d20",
   "unstable": {
    "version": [
-    20201113,
-    453
+    20210212,
+    139
    ],
    "deps": [
     "dash",
     "s",
     "seq"
    ],
-   "commit": "bab77ede4b1aaf879e7c24e0522da624ee23bf2e",
-   "sha256": "1bcvdl5h4nz2x1zvrq700vf2mbkyhvrslfkabmirhs7hd2q0n41n"
+   "commit": "e6149dcfbb6302d10109dd792fd0ffae7bfe2595",
+   "sha256": "129zdnz97h6px0yz0f0if4gw96zxmsg24xc8vg51crsazqqz8l3b"
   },
   "stable": {
    "version": [
     0,
-    4
+    5
    ],
    "deps": [
     "dash",
     "s",
     "seq"
    ],
-   "commit": "bab77ede4b1aaf879e7c24e0522da624ee23bf2e",
-   "sha256": "1bcvdl5h4nz2x1zvrq700vf2mbkyhvrslfkabmirhs7hd2q0n41n"
+   "commit": "e6149dcfbb6302d10109dd792fd0ffae7bfe2595",
+   "sha256": "129zdnz97h6px0yz0f0if4gw96zxmsg24xc8vg51crsazqqz8l3b"
   }
  },
  {
@@ -73704,14 +74655,14 @@
   "repo": "abo-abo/org-download",
   "unstable": {
    "version": [
-    20210105,
-    1758
+    20210118,
+    958
    ],
    "deps": [
     "async"
    ],
-   "commit": "97bec7412e1a4d6e9031c7a0568d0f065cd9fd00",
-   "sha256": "0jb49q2ayhw1s2dnd323lqc7fy9k3sznxn4dv73s4945j8w2lqcc"
+   "commit": "947ca223643d28e189480e607df68449c15786cb",
+   "sha256": "1yzv4r2820pbdpx09rdrrb9lk1dv4axhxif22f1svf8pggisrsd8"
   },
   "stable": {
    "version": [
@@ -73924,6 +74875,29 @@
   }
  },
  {
+  "ename": "org-elp",
+  "commit": "36d4b3e08482f4c51a3d43fc961fd7d1408c5cfe",
+  "sha256": "1px2q2sxx4624aj09ibmqhjcmx8s0fvvmg42pvyx9gblkayl3nbf",
+  "fetcher": "github",
+  "repo": "guanyilun/org-elp",
+  "unstable": {
+   "version": [
+    20210201,
+    1544
+   ],
+   "commit": "983fd7af4244835601be090211344ed92c36d360",
+   "sha256": "0v2cgw360sigl0jm8fm1hld71xbcjw9j8xjlr176cn4g308zw1sa"
+  },
+  "stable": {
+   "version": [
+    0,
+    1
+   ],
+   "commit": "f9d48042eed49b9936d162cecb4188456a9cc19b",
+   "sha256": "0spwyrxirmnf8182xsjrvpl8zf2662434zzhnw4qs7fz7wld2f11"
+  }
+ },
+ {
   "ename": "org-emms",
   "commit": "4fa5c221790acca40316510fd495951f418c8e15",
   "sha256": "0g7d2y1dgy2hgiwaxz9crxf3nv8aqzxhyf2jmnmhphdv2s9ipvjw",
@@ -74027,8 +75001,8 @@
   "repo": "kidd/org-gcal.el",
   "unstable": {
    "version": [
-    20201113,
-    2330
+    20210228,
+    2038
    ],
    "deps": [
     "alert",
@@ -74036,8 +75010,8 @@
     "request",
     "request-deferred"
    ],
-   "commit": "0a6f9a7385410b70853eb65c14344ad76cc6815f",
-   "sha256": "0m6h2psshkr2kvckp2bmaj2y1cp3kbyw2nwwvwg2k3yymkqr8l7l"
+   "commit": "133cca813abd2823a6e2a9ada295b7b8b115be4f",
+   "sha256": "1mwspxx1im87qa886w9ib8a104xzi02qky6z5pl8va0mrcnpl86i"
   },
   "stable": {
    "version": [
@@ -74181,28 +75155,28 @@
   "repo": "marcIhm/org-id-cleanup",
   "unstable": {
    "version": [
-    20201127,
-    1712
+    20210226,
+    1636
    ],
    "deps": [
     "dash",
     "org"
    ],
-   "commit": "1654be88f5a5e1c57e5d204f060f9a07ff4242cc",
-   "sha256": "0gzrdrr0b8rs2lb96j0zczmfvsy37fwri3dxzdpyvddb4x5a1rl2"
+   "commit": "5f9ac60cedb0be935c2b7ccefd484c0a378bc9d9",
+   "sha256": "0xbxfrrbcklhji6j99hvz7j6k6hv60cjvrwnf5kq3af1wy0kiayg"
   },
   "stable": {
    "version": [
     1,
     5,
-    2
+    6
    ],
    "deps": [
     "dash",
     "org"
    ],
-   "commit": "a5c5ff8f2d3ae1fd3ef81511bd4b0226f6764935",
-   "sha256": "17r36k2gdk8n1433a84c490js1x22yjwr21ihcjj13mnfcglmzhp"
+   "commit": "f7e6dfb349e5c93a134f1d6badacd504b5b345ef",
+   "sha256": "1h65qa0m3p999pbhw9z98pn7bnz1qczsfybp3zr0g66mi7qqbalq"
   }
  },
  {
@@ -74237,30 +75211,30 @@
   "repo": "marcIhm/org-index",
   "unstable": {
    "version": [
-    20201117,
-    1211
+    20210226,
+    1635
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "0863397ba2782e229fa6216beb074dd44eb0c031",
-   "sha256": "062dm9famamziqjczyk6w6ynk0qw6dp4k6a5k81iscz0gdlv6cfm"
+   "commit": "1f029b28b817dcdc7d1deb734a087ba08e66c6b5",
+   "sha256": "04qcdf3knpxjjp972skdqgdh56bhh8frvljw1zb5wnln6byvqxr3"
   },
   "stable": {
    "version": [
     7,
-    0,
-    0
+    1,
+    5
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "3ada80bca278bb0fb791f7498cced6e8c9752064",
-   "sha256": "1y1nrw39bc1ng6p4asy4lv3y20vdvx1cqa03s5jf9nccddn5j924"
+   "commit": "c8998d4b81879c757cc2825200543921e0f6b637",
+   "sha256": "0cjpvcwfiaanaii91937907nsfadwnnlaq16yx79xk8gcvbrx1fg"
   }
  },
  {
@@ -74271,14 +75245,14 @@
   "repo": "shg/org-inline-pdf.el",
   "unstable": {
    "version": [
-    20210107,
-    940
+    20210119,
+    529
    ],
    "deps": [
     "org"
    ],
-   "commit": "a449c614d63712cd55e8c38d4679667117c132c1",
-   "sha256": "0grsmhif0pmdsvc6lifxip1jh57h5him6ipzkr1rvbs5l47qndk7"
+   "commit": "f9a3321712626d2f43a8849203ceb089cf8233b1",
+   "sha256": "195bzlfqf91f7prv4xh1x1p5xnyygr0mzwqxbsw2apc0haaz6ajk"
   },
   "stable": {
    "version": [
@@ -74354,26 +75328,26 @@
   "repo": "bastibe/org-journal",
   "unstable": {
    "version": [
-    20210109,
-    913
+    20210204,
+    820
    ],
    "deps": [
     "org"
    ],
-   "commit": "08d5fce95023c015372678d353388ad0dae8952b",
-   "sha256": "0f1826xi9z895a1wgnvvv5nqpi2r0l6f8h761zk8ng9j1rhkz865"
+   "commit": "f4b15499135d43e98244dda4606a5b97462b3f39",
+   "sha256": "140wfvj2cygpip75w60difg9gwvh5c53ds6zbysnj5zqsjm4zica"
   },
   "stable": {
    "version": [
     2,
     1,
-    1
+    2
    ],
    "deps": [
     "org"
    ],
-   "commit": "25ebb8f1c8cd8993fb75a15e2bb8144fb6f9e006",
-   "sha256": "1p9i6v3bwi1ab576vc9qg1ki91197d6nkkg857s52zsan1zlkzzw"
+   "commit": "c26e73a017963f6638044f1f63354c453f2db54a",
+   "sha256": "0s82sh2svc0mzr1ak414n5r2j0dmwvvyx4swk2c61zivc2gjd778"
   }
  },
  {
@@ -74473,14 +75447,14 @@
   "repo": "stardiviner/org-link-beautify",
   "unstable": {
    "version": [
-    20210114,
-    1508
+    20210222,
+    227
    ],
    "deps": [
     "all-the-icons"
    ],
-   "commit": "e20c116f7a7a42f0cd6af580ef6e53e006c5b538",
-   "sha256": "1321z866ahs07kil4yzqvsnjcdldapg1gvfx9k9rdx11x3awja2q"
+   "commit": "4662b3a7b9244aa35aae2f469f87be4a44a6b1bb",
+   "sha256": "1wb00rm6zdlb8hrhph783wi8zjra8m09gi6m2nnfr37al3986g0s"
   }
  },
  {
@@ -74551,15 +75525,15 @@
   "repo": "dfeich/org-listcruncher",
   "unstable": {
    "version": [
-    20180815,
-    603
+    20210130,
+    1405
    ],
    "deps": [
     "cl-lib",
     "seq"
    ],
-   "commit": "65c09c5deba065752eb88875c54dc26abcdfaffb",
-   "sha256": "11chlfvil0wbvzaplzdymn4ajz85956hcs8bh3zds6ij806mqa4y"
+   "commit": "291a824d8da1c14a883e21281b596ce9dcd11e1b",
+   "sha256": "0bz57dvydz67bk704q2daxkfpdygxmz9jf6ilycjip2v16lx37i1"
   }
  },
  {
@@ -74652,30 +75626,30 @@
   "repo": "ndwarshuis/org-ml",
   "unstable": {
    "version": [
-    20201229,
-    418
+    20210224,
+    2308
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "d856ac6f0afed0299a47ed77830c676fd0fa9e55",
-   "sha256": "1rydmbjzq24vzfpfrb93ad4wibhpc4rnk7crqbx1p11sdby85h95"
+   "commit": "1b02583a5cdb8f6b7cd82b31ec80b53753cb7729",
+   "sha256": "1p1k5zmc0dklbvnck0zhsxqmndask822ikaa40d1ik105w1vx3bz"
   },
   "stable": {
    "version": [
     5,
-    5,
-    3
+    6,
+    1
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "a396e4a11394b5e00aef1450488b61aeddbd9b55",
-   "sha256": "1rydmbjzq24vzfpfrb93ad4wibhpc4rnk7crqbx1p11sdby85h95"
+   "commit": "4fe1f194a8eba00858b78d611ad8a7f14392722d",
+   "sha256": "1p1k5zmc0dklbvnck0zhsxqmndask822ikaa40d1ik105w1vx3bz"
   }
  },
  {
@@ -74704,11 +75678,11 @@
   "repo": "unhammer/org-mru-clock",
   "unstable": {
    "version": [
-    20210113,
-    1416
+    20210216,
+    1141
    ],
-   "commit": "e08e2ab2b71763f53f2029471057d58f96085a69",
-   "sha256": "10v1ric4xppx92vv722d50as350pw14cqkjlswi0nqssgihxrk11"
+   "commit": "99ac0c85060f9e4710de73db4a19120a0a23c39e",
+   "sha256": "1xqb9pcj6hw1z6anvy5hm78a90m442cg868d62yyynwkzjyns64q"
   },
   "stable": {
    "version": [
@@ -74728,14 +75702,14 @@
   "repo": "jeremy-compostella/org-msg",
   "unstable": {
    "version": [
-    20210111,
-    2224
+    20210209,
+    2056
    ],
    "deps": [
     "htmlize"
    ],
-   "commit": "c19f54beebe268833c44a015861bf02531591011",
-   "sha256": "06c8hlj3zpsx9xsw7xr06db8c61iczyvn3kkwpg54p03sjzmpsnx"
+   "commit": "89e746c0a864031eef940758230bc7263a6f2289",
+   "sha256": "15gd5zbxvdallyra9lmpb9i1r2mmwz0j0i0ra7j9imnbfiz3ln9r"
   }
  },
  {
@@ -74746,8 +75720,8 @@
   "repo": "akirak/org-multi-wiki",
   "unstable": {
    "version": [
-    20210111,
-    1022
+    20210228,
+    542
    ],
    "deps": [
     "dash",
@@ -74755,8 +75729,8 @@
     "org-ql",
     "s"
    ],
-   "commit": "c9005cbe4077cce3743b680dec97c11fa179bb36",
-   "sha256": "1428lky09cvlqdb8b9zf0x49cxmigrkhvhi391b2mj2qzgmjzcvm"
+   "commit": "c85bcaafed749de3efa5e1f4d256e7ac9c5678e2",
+   "sha256": "14da1rhln69nnjd891x6f6d69vyy4a4lg6cw51gd7h3cy6lcwbl5"
   },
   "stable": {
    "version": [
@@ -74864,8 +75838,8 @@
   "repo": "fuxialexander/org-pdftools",
   "unstable": {
    "version": [
-    20210110,
-    2132
+    20210118,
+    1611
    ],
    "deps": [
     "org",
@@ -74873,8 +75847,8 @@
     "org-pdftools",
     "pdf-tools"
    ],
-   "commit": "812bbff3212097bb9f8d2acc4b25826ed45dde92",
-   "sha256": "1iaswir2fwbhnwlyi2a1h9azgfdsa8m5ydgyckf67a2y5ykwkwv7"
+   "commit": "a5b61bca3f8c91b0859bb0df1a929f9a31a57b99",
+   "sha256": "18iy03hc7jb7qsfj25f6hmrwli6fyjbf14c1p5bhp5gwk49rm9p1"
   }
  },
  {
@@ -75019,39 +75993,6 @@
   }
  },
  {
-  "ename": "org-password-manager",
-  "commit": "38249f32d150d10b6ed86679361d99ace2375a02",
-  "sha256": "148rv5kzmnqlfn8z2474wn0bxir49d4mb40mjrv76kvyzyj7nly9",
-  "fetcher": "github",
-  "repo": "leafac/org-password-manager",
-  "unstable": {
-   "version": [
-    20180227,
-    1810
-   ],
-   "deps": [
-    "dash",
-    "org",
-    "s"
-   ],
-   "commit": "4b30a36e71182553a02e4dd415369290d98ec03a",
-   "sha256": "1a6i3g032c5xzsnaf7rprn22kk68y1ay3w21p3q52p3lvlzhnfis"
-  },
-  "stable": {
-   "version": [
-    0,
-    0,
-    1
-   ],
-   "deps": [
-    "org",
-    "s"
-   ],
-   "commit": "d3a33ddfe583180bdb76cfb8bbd772e0078b24a3",
-   "sha256": "0pqmnhd3qdg06agj6h8v8lm4m5q8px0qmd7a1bfn6i5g2bq9zrck"
-  }
- },
- {
   "ename": "org-pdftools",
   "commit": "d52346a042a72b76729d259c7f12f45d38ac27cd",
   "sha256": "1pgfx0zgdp9kg8mxqxm5qac7vnd0j1ghfwq04rvqi9r1d51zpynl",
@@ -75059,16 +76000,16 @@
   "repo": "fuxialexander/org-pdftools",
   "unstable": {
    "version": [
-    20210110,
-    2052
+    20210118,
+    1611
    ],
    "deps": [
     "org",
     "org-noter",
     "pdf-tools"
    ],
-   "commit": "812bbff3212097bb9f8d2acc4b25826ed45dde92",
-   "sha256": "1iaswir2fwbhnwlyi2a1h9azgfdsa8m5ydgyckf67a2y5ykwkwv7"
+   "commit": "a5b61bca3f8c91b0859bb0df1a929f9a31a57b99",
+   "sha256": "18iy03hc7jb7qsfj25f6hmrwli6fyjbf14c1p5bhp5gwk49rm9p1"
   }
  },
  {
@@ -75079,11 +76020,11 @@
   "repo": "tumashu/org-picklink",
   "unstable": {
    "version": [
-    20191203,
-    59
+    20210210,
+    516
    ],
-   "commit": "f79040ed988bdeec63b098b187e00f2b80d3d570",
-   "sha256": "0a0dzg8w617sn079mshihfv5sm74xphab81kmvi1dqcc5iyi15kh"
+   "commit": "bfdc22b436482752be41c5d6f6f37dca76b1c7c3",
+   "sha256": "1asq336rff0f1zh5crsj3xwyx4xiwdypzy6dlqrxzszkxx8sd4dd"
   }
  },
  {
@@ -75437,28 +76378,28 @@
   "repo": "oer/org-re-reveal",
   "unstable": {
    "version": [
-    20210111,
-    1807
+    20210121,
+    1011
    ],
    "deps": [
     "htmlize",
     "org"
    ],
-   "commit": "7b536b497edc46e6231f33d2c1eea9cd9a7eabbb",
-   "sha256": "16kpprrcylrysbpqsz2k47q0qb1yjz9y7az71aik1nskinnml83v"
+   "commit": "18a2456befcfda5f681b2b4041f3262f93e52cba",
+   "sha256": "1274zq6qhzl8l7hpbh2spgmf9hqrilcm31m3mbybj6gm085g17dz"
   },
   "stable": {
    "version": [
     3,
-    6,
+    7,
     0
    ],
    "deps": [
     "htmlize",
     "org"
    ],
-   "commit": "7b536b497edc46e6231f33d2c1eea9cd9a7eabbb",
-   "sha256": "16kpprrcylrysbpqsz2k47q0qb1yjz9y7az71aik1nskinnml83v"
+   "commit": "d404eb13d9e34354c081870ebdd69711937682b3",
+   "sha256": "1vzn0l8ig4rzh5h8j7kxn8kslqrij97qqv98fbnlwmrw4z87v8dr"
   }
  },
  {
@@ -75569,8 +76510,8 @@
   "repo": "jkitchin/org-ref",
   "unstable": {
    "version": [
-    20210113,
-    1549
+    20210225,
+    1454
    ],
    "deps": [
     "bibtex-completion",
@@ -75585,8 +76526,8 @@
     "pdf-tools",
     "s"
    ],
-   "commit": "cd0b4997fad3a050a0092d1458d34286ef5122d2",
-   "sha256": "1rn9x5p4kmm83smg7c9xalbziliqq02fwfl4v1cgczqyb7vir7nz"
+   "commit": "7dbe3ace9bf8ba9bd7c28c73ff960b4732d09071",
+   "sha256": "0nyqhbdbawg0rfqzgfqhk38hk1mb0naksrmrgha669zzmha6vd29"
   },
   "stable": {
    "version": [
@@ -75712,8 +76653,8 @@
   "repo": "org-roam/org-roam",
   "unstable": {
    "version": [
-    20210111,
-    1138
+    20210128,
+    1341
    ],
    "deps": [
     "dash",
@@ -75723,8 +76664,8 @@
     "org",
     "s"
    ],
-   "commit": "05a9bc44f2d158cc355c904382f2c7b079aeee15",
-   "sha256": "18s3qp671g28qy1qllnm4lay7mvyar8qcqqjn8yd3417gxwndqhh"
+   "commit": "b0fd12647b94ba6e3cf82a2a5b1ee7655ac07760",
+   "sha256": "0blpfwiff0sn39hfsk2zznmkj8ad0f4a65vcbgdqmmc9i56yahv1"
   },
   "stable": {
    "version": [
@@ -75752,15 +76693,15 @@
   "repo": "org-roam/org-roam-bibtex",
   "unstable": {
    "version": [
-    20201220,
-    1653
+    20210226,
+    1227
    ],
    "deps": [
     "bibtex-completion",
     "org-roam"
    ],
-   "commit": "9ba15069c3f7ecd1080873cd3a7d587eb7c72d08",
-   "sha256": "0nfsrrca1p5xlildcbjisfhhrwiwgd6jv0nfn4a2gdpxd77v39d6"
+   "commit": "356cb0f882ed925913dd41e1901dec0c2f86fb98",
+   "sha256": "0p616v191h10hz98la52qy19bg1ry4vy6y88hgw0i3ndh6k872s2"
   },
   "stable": {
    "version": [
@@ -75784,8 +76725,8 @@
   "repo": "org-roam/org-roam-server",
   "unstable": {
    "version": [
-    20210109,
-    935
+    20210201,
+    1122
    ],
    "deps": [
     "dash",
@@ -75795,24 +76736,25 @@
     "s",
     "simple-httpd"
    ],
-   "commit": "c7793202e9929dc2a415482779141e7b429421ce",
-   "sha256": "1z29xngyxmq0pd8kfx6z8n8hps4apnffnsi8qc0hvmyhp197hkqc"
+   "commit": "2093ea5a1a1f2d128dd377778472a481913717b4",
+   "sha256": "1jp8mkqx1l3w166b16l2d5zsqjcc836bkclplgjk4laysb6msry8"
   },
   "stable": {
    "version": [
     1,
-    0,
-    4
+    1,
+    2
    ],
    "deps": [
     "dash",
+    "f",
     "org",
     "org-roam",
     "s",
     "simple-httpd"
    ],
-   "commit": "fe0364ef63928337f442c1d987d17cfe9619df2d",
-   "sha256": "0a5b625i7gv467xm8p92nvrh2wzgmldm8gzcbrc15al1gvnwpbqm"
+   "commit": "2093ea5a1a1f2d128dd377778472a481913717b4",
+   "sha256": "1jp8mkqx1l3w166b16l2d5zsqjcc836bkclplgjk4laysb6msry8"
   }
  },
  {
@@ -75999,17 +76941,16 @@
   "repo": "alhassy/org-special-block-extras",
   "unstable": {
    "version": [
-    20210114,
-    2006
+    20210228,
+    212
    ],
    "deps": [
     "dash",
-    "dash-functional",
     "org",
     "s"
    ],
-   "commit": "0c5a7b97be4e5e11093276af310442ab5776ab90",
-   "sha256": "1311yxmsdb9gms0v20dd7ak0vdkkgda5p89zrp21v4dazjh7rl9a"
+   "commit": "143146d5bab10e32d4a24f4c3e5e30905b0f3176",
+   "sha256": "1wbb5isfm1ixv2zbys75cn276zcr2927j3h2crb081acygm78qqv"
   },
   "stable": {
    "version": [
@@ -76033,30 +76974,32 @@
   "repo": "ndwarshuis/org-sql",
   "unstable": {
    "version": [
-    20201222,
-    206
+    20210220,
+    2146
    ],
    "deps": [
     "dash",
+    "f",
     "org-ml",
     "s"
    ],
-   "commit": "ddbab360a49d4c0cab964cd1fdb80d2135a10272",
-   "sha256": "0rhc5sb6drzndxay52qb3f1kbxfnwvz99i1jpjs4adsmyhx35xai"
+   "commit": "87c712740cc0e934bbb9fd322386adf45f05c543",
+   "sha256": "02qdjj6msd023fpbcq2isjw71zx2vnbma343d2yg6x4bk6xrqz7z"
   },
   "stable": {
    "version": [
-    1,
+    2,
     1,
     0
    ],
    "deps": [
     "dash",
+    "f",
     "org-ml",
     "s"
    ],
-   "commit": "6160de13bcef3ad91c706d8a7b1601703b424616",
-   "sha256": "0rhc5sb6drzndxay52qb3f1kbxfnwvz99i1jpjs4adsmyhx35xai"
+   "commit": "19eaba4dcadb3f1101a2363aac2a6d2430559c70",
+   "sha256": "02qdjj6msd023fpbcq2isjw71zx2vnbma343d2yg6x4bk6xrqz7z"
   }
  },
  {
@@ -76067,15 +77010,14 @@
   "repo": "akirak/org-starter",
   "unstable": {
    "version": [
-    20201202,
-    234
+    20210219,
+    1622
    ],
    "deps": [
-    "dash",
-    "dash-functional"
+    "dash"
    ],
-   "commit": "23368e36453ff15b2de06e85702d6f0e0bc9f098",
-   "sha256": "1iznmya5kk3y9irka7f6yyrnzv3b3zh6kdr2wvyir930kcv52n63"
+   "commit": "5f9e1d225b216d76e4955f394e0387ce015361b2",
+   "sha256": "0yipahcq3rl395b16fb2fzfrxq0mnc4paqm06zjiz5i8qpb1w1cf"
   },
   "stable": {
    "version": [
@@ -76106,8 +77048,8 @@
     "org-starter",
     "swiper"
    ],
-   "commit": "23368e36453ff15b2de06e85702d6f0e0bc9f098",
-   "sha256": "1iznmya5kk3y9irka7f6yyrnzv3b3zh6kdr2wvyir930kcv52n63"
+   "commit": "5f9e1d225b216d76e4955f394e0387ce015361b2",
+   "sha256": "0yipahcq3rl395b16fb2fzfrxq0mnc4paqm06zjiz5i8qpb1w1cf"
   },
   "stable": {
    "version": [
@@ -76131,11 +77073,11 @@
   "repo": "bastibe/org-static-blog",
   "unstable": {
    "version": [
-    20210113,
-    731
+    20210222,
+    1035
    ],
-   "commit": "0da4f8cc3a09bdd107da18ab381a4cabb461430d",
-   "sha256": "1684cxa1qj3b90zckhph7vawwxwa0djpaqwps0vh9p8yngy794z2"
+   "commit": "9b9f7a994be54a10f5ac2a58221d52555574f78d",
+   "sha256": "1s3p7ig0swp1msvrzbkpyf6nv121rgschcacs3c5ps758yldg5lh"
   },
   "stable": {
    "version": [
@@ -76221,26 +77163,26 @@
   "repo": "integral-dw/org-superstar-mode",
   "unstable": {
    "version": [
-    20200818,
-    2257
+    20210216,
+    1925
    ],
    "deps": [
     "org"
    ],
-   "commit": "7f83636db215bf5a10edbfdf11d12a132864a914",
-   "sha256": "086h7fj7k0199m3i01whmqzi4kb4h6ncikdmv6skxs41hzpnjvk4"
+   "commit": "9d64c42e5029910153ec74cb9b5747b074281140",
+   "sha256": "12inin2p6pm6vbv3yc06fx343dsp0vp07fjb35w088akhikmqh2a"
   },
   "stable": {
    "version": [
     1,
-    4,
+    5,
     0
    ],
    "deps": [
     "org"
    ],
-   "commit": "94f35c20f8b84a63defa145e3e6ae735fa33dd5d",
-   "sha256": "1aklp6nk05ghpq7ybsbvn28wrygfwqvq58k1hjll97nbhd7h0gyb"
+   "commit": "9d64c42e5029910153ec74cb9b5747b074281140",
+   "sha256": "12inin2p6pm6vbv3yc06fx343dsp0vp07fjb35w088akhikmqh2a"
   }
  },
  {
@@ -76349,6 +77291,25 @@
   }
  },
  {
+  "ename": "org-tag-beautify",
+  "commit": "faa48723cbc4486c2d8262d00aa9967bfad81738",
+  "sha256": "1dn164z53c38bfzx8m22dynfx2wlw8cgcm63q6kvz5xsxqqwwsmp",
+  "fetcher": "github",
+  "repo": "stardiviner/org-tag-beautify",
+  "unstable": {
+   "version": [
+    20210202,
+    628
+   ],
+   "deps": [
+    "all-the-icons",
+    "org-pretty-tags"
+   ],
+   "commit": "4a6de709ee0d4ee719c83df6dce86f38f9db1f75",
+   "sha256": "02qw4b750p4rav9kw3qwcvmril8wxkgdfqklbrfbws6wz2sjjv3l"
+  }
+ },
+ {
   "ename": "org-tanglesync",
   "commit": "2db07414d2d39b2d40a2ae91491032844b82d801",
   "sha256": "11h97qihb3n82jan08fhg5zjh8jqcwjrhf6b933gy6b4h1nwlmdj",
@@ -76465,26 +77426,26 @@
   "repo": "Fuco1/org-timeline",
   "unstable": {
    "version": [
-    20190612,
-    1759
+    20210210,
+    2306
    ],
    "deps": [
     "dash"
    ],
-   "commit": "f628519a12ce3d534b9aa5043b0273880cf29790",
-   "sha256": "16qjbw5l39j3kc4lfpm18ba81w9bhy9cdd3fii1n7dwyx76av73i"
+   "commit": "af1b44e18048278a116da89faf138310f09c74c6",
+   "sha256": "05gp5hqfwx668a0qvpx1wn8957qgn6g9jhrhiwgscnnxch2dp0c0"
   },
   "stable": {
    "version": [
     0,
-    3,
+    4,
     0
    ],
    "deps": [
     "dash"
    ],
-   "commit": "aed995c1db6c8bfd9db0a75a978f5e261aab38e5",
-   "sha256": "1jz44lag1j4rawqjpcgb9zrs88vfi7vjgdh756hs2ln7i1cnvgh5"
+   "commit": "55cafb5512a174c3898aaacd71ab58832b9fe321",
+   "sha256": "106603835m3dy3bzjiasq2w574faxnn5kb72gr0y0mdkd0iwh8qa"
   }
  },
  {
@@ -76585,11 +77546,11 @@
   "repo": "takaxp/org-tree-slide",
   "unstable": {
    "version": [
-    20201215,
-    1117
+    20210224,
+    1213
    ],
-   "commit": "d6e8e91433dfe4968f1343b483f2680f45a77d52",
-   "sha256": "1zz12xk8vl2qic5hpvl0jcwysbmrfb6rfigvf8hr3nhdm9fp36aw"
+   "commit": "9d2ba1df456d8d7c6372c8c294dbe3ee81540b33",
+   "sha256": "145avv616k190wzirlrh7rljysfffhh3j37wr7p6sk13wayqc27h"
   },
   "stable": {
    "version": [
@@ -76731,11 +77692,11 @@
   "repo": "flexibeast/org-vcard",
   "unstable": {
    "version": [
-    20200720,
-    638
+    20210208,
+    305
    ],
-   "commit": "1ae97371b207dabfecaf6b4f7118abafe6cc5e2b",
-   "sha256": "0k9slz20gxcdpvpz8kgvvwff6cif74wybpqgg9x03wqqqda3f37v"
+   "commit": "f4b7445550deb30e170a25fc42541e99730e21d0",
+   "sha256": "07dwxxwvahl153w6nsgfwrxgiw0s6c12kmvqvni19n6aiv3zavaj"
   },
   "stable": {
    "version": [
@@ -76844,30 +77805,30 @@
   "repo": "marcIhm/org-working-set",
   "unstable": {
    "version": [
-    20201118,
-    810
+    20210226,
+    1635
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "cf4bd2bfb11d0e0ed8c9228c07df8eb8150504f4",
-   "sha256": "10ailnbq2hhn8cnw1lcibhm8vgvy1437h48gbwxkk2kf25wpm73p"
+   "commit": "866010a4391d12c9c1968a74e396d9b0ffa58d78",
+   "sha256": "0s4xkzz39xd4cdfb325h1d3nwpp4nzfzn9w1wjfpgz9n5mrpmhvp"
   },
   "stable": {
    "version": [
     2,
     4,
-    0
+    3
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "cf4bd2bfb11d0e0ed8c9228c07df8eb8150504f4",
-   "sha256": "10ailnbq2hhn8cnw1lcibhm8vgvy1437h48gbwxkk2kf25wpm73p"
+   "commit": "8e22ffe59d241a0f43395f2cd88589ffb0c7db23",
+   "sha256": "0vcawnrj5ap3h0cy5h1nsiki41scgdhxf83adnvv3lj6gwif1l9a"
   }
  },
  {
@@ -76990,15 +77951,15 @@
   "repo": "ardumont/org2jekyll",
   "unstable": {
    "version": [
-    20200622,
-    1519
+    20210220,
+    1845
    ],
    "deps": [
-    "dash-functional",
+    "dash",
     "s"
    ],
-   "commit": "571249c977e0340edb3ef3af45b7841b62ec8065",
-   "sha256": "1hjqawygbmvdlvzi908b2l4k7ca3g0dg32mpk7vld8xwi49hb1kp"
+   "commit": "e469373e0c656cec475c145037be1902d2622f09",
+   "sha256": "1pqrvrs54ggm2hr7b7m9n4wglbmakw0q9651mwxylz6bwm66kcc1"
   },
   "stable": {
    "version": [
@@ -77022,8 +77983,8 @@
   "repo": "tumashu/org2web",
   "unstable": {
    "version": [
-    20171005,
-    2317
+    20210203,
+    324
    ],
    "deps": [
     "cl-lib",
@@ -77035,8 +77996,8 @@
     "org",
     "simple-httpd"
    ],
-   "commit": "5243b399927a4c474bb3b8d1c8a00799df1f27d7",
-   "sha256": "0wsvfn409a2ivbich8b8zqza78sprirg4bl7igx536ydqclmi0n7"
+   "commit": "6f5c5f0cc5c877ac3a383782bbe8751264d807b6",
+   "sha256": "12rgrmcp91y27zcq8kcqvndb38n6ix4amf13cc2gjhi6aayxxx7k"
   },
   "stable": {
    "version": [
@@ -77081,8 +78042,8 @@
   "repo": "jcs-elpa/organize-imports-java",
   "unstable": {
    "version": [
-    20210113,
-    1838
+    20210121,
+    606
    ],
    "deps": [
     "dash",
@@ -77090,8 +78051,8 @@
     "ht",
     "s"
    ],
-   "commit": "6e0b1d094bc624a895d198874a8a423dfc033247",
-   "sha256": "0fhnlzg0gh9bkb471kxgsx69zqk1xybnii4lyv2lshylxac918a6"
+   "commit": "50c11af264505b026aed77d6b67a132f7d4f7e6b",
+   "sha256": "0q5qz7bm8k17v9mzixb4fbdcn9czcskkrrlnk38sgj390d2pyc7c"
   },
   "stable": {
    "version": [
@@ -77190,8 +78151,8 @@
     "org",
     "orgit"
    ],
-   "commit": "63a19d1df1434e583aac1329ba4dcfa2ee59d7c1",
-   "sha256": "1vd7wnas53z0985if22sv0wpww2dp0g8b0z9hwlzdhlcrsjay5fz"
+   "commit": "051d92661ef12b67ffadb231324806d87d1e6a54",
+   "sha256": "0x8wmqp9x2c7qv0ipj2rvjf7bc7z0pn8s253gjxpxmakz3l8wnyk"
   },
   "stable": {
    "version": [
@@ -77291,8 +78252,8 @@
     20201129,
     604
    ],
-   "commit": "c63c1682de9a10c6d6946978c154f09bb6fa7284",
-   "sha256": "0vp4s8m1rg0q3pd8vdk8ys03dzsibglpkx30hfw10z847fbif85w"
+   "commit": "50ce687d0be602c86256211fc8f783f5ef7df8a5",
+   "sha256": "1hr476lr2lwh4hz8z9yi2n3gdyzaabchn364jzwkppjksq9q0q6h"
   },
   "stable": {
    "version": [
@@ -77312,11 +78273,11 @@
   "repo": "tbanel/orgaggregate",
   "unstable": {
    "version": [
-    20200829,
-    708
+    20210225,
+    915
    ],
-   "commit": "bab95388b182c07bc9f0679426514fe7e8c997d9",
-   "sha256": "18qasx17hgfrmzkljjpni4m2lgic3imyksjg6wa7xrjf0y3kwmgw"
+   "commit": "bcb38ada8469a7f6f9a915c36760a05b2c68ad88",
+   "sha256": "1db0wm7dlx1yqnfhbw4m3q3a8x4wk02j1c276qazhff4n03mbhf8"
   }
  },
  {
@@ -77342,14 +78303,14 @@
   "repo": "tbanel/orgtbljoin",
   "unstable": {
    "version": [
-    20200825,
-    640
+    20210225,
+    923
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "e93e8eaeab2137bc391cf6d0643619ce6b066d19",
-   "sha256": "0rbcdgsb7vzsjiwk5zskv15sf8npxdsbvpzd9r6s7aib83mb5kqa"
+   "commit": "f411d38de5e36f65336a37e43cfe9a5125b6543a",
+   "sha256": "05m6xq1c3cc2vpwfgknjx6rad8lr2hd6prbziq04qxp8x8qcs3sj"
   }
  },
  {
@@ -77648,8 +78609,8 @@
     20200215,
     513
    ],
-   "commit": "703ee41303dc251b7672b7cba5aeb6aa54a76c90",
-   "sha256": "0cplbz7mc2zrxfk8g349ahb7gzli2hn5kda9155nbk8dw74xmj7d"
+   "commit": "94240ebb716f11af8427b6295c3f44c0c43419d3",
+   "sha256": "0c3l50qpdzracjncsbjv5chpvjdphhzwqk4jwv31fw6p62i1zvlb"
   },
   "stable": {
    "version": [
@@ -77739,11 +78700,11 @@
   "repo": "tarsius/outline-minor-faces",
   "unstable": {
    "version": [
-    20201031,
-    1318
+    20210214,
+    1715
    ],
-   "commit": "a34602b59063dd22ca6877466b85b2728f03c242",
-   "sha256": "1k3zfcmlwfby7yixjdxfynhys2kyhggg0n3d251a9frzrkyg6gxb"
+   "commit": "bb6db842e4fc2ed4d635001938ebafe93925f48c",
+   "sha256": "0h54wdsh6g0wmqf356s6br08hq29p6cdrsd14q9w6qaxhmfzbs7m"
   },
   "stable": {
    "version": [
@@ -77771,21 +78732,6 @@
   }
  },
  {
-  "ename": "outlined-elisp-mode",
-  "commit": "ae918c301e1c0ae39574ae76d70059718724293b",
-  "sha256": "165sivmv5h4nvh08ampq95x6b0bkzxgrdjbxjxlq6rv00vaidn7v",
-  "fetcher": "github",
-  "repo": "zk-phi/outlined-elisp-mode",
-  "unstable": {
-   "version": [
-    20131108,
-    1127
-   ],
-   "commit": "c16cb02b540448919ad148f2be6a41523ee5489c",
-   "sha256": "0d9hfr4kb6rkhwacdn70bkfchgam26gj92zfyaqw77a2sgwcmwwv"
-  }
- },
- {
   "ename": "outlook",
   "commit": "c5ce3e6800213b117578a1022f25407f2ec1604f",
   "sha256": "0yq9zl7dr8kkm4rps5np4dwvjfhzsxq9wd1af7zwcmms4l3qry6k",
@@ -78045,6 +78991,36 @@
   }
  },
  {
+  "ename": "ox-bb",
+  "commit": "da730e416206f4cb7a2e1552a3079cec9af89ae5",
+  "sha256": "1gpx9kls1pmnbr5izv3qxlkd3bg7wbk4il3q3xw006lxcmwl48v8",
+  "fetcher": "github",
+  "repo": "mmitch/ox-bb",
+  "unstable": {
+   "version": [
+    20210222,
+    2002
+   ],
+   "deps": [
+    "org"
+   ],
+   "commit": "a79dc519cd28c000ebca4254a4744ce2b9b82168",
+   "sha256": "1ffpslv58kzw9nhrfv2cp42vq0pdx5gm1bk20g6k697ijiz1r1jj"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    1
+   ],
+   "deps": [
+    "org"
+   ],
+   "commit": "37e22316afac9dd73dec072ac6420e5c1c4471b6",
+   "sha256": "0a2vp4br1s4zjvjz7z7j3kzzlnb4rzmash1425rz55zg2v3zsi0a"
+  }
+ },
+ {
   "ename": "ox-bibtex-chinese",
   "commit": "6c09c708c4372451502923cd3cb756f4f98ba97b",
   "sha256": "0f3xigrkhc86vv23f76fdd4rjsspsd2ck5c65biq2ds247f4gm61",
@@ -78067,15 +79043,15 @@
   "repo": "jkitchin/ox-clip",
   "unstable": {
    "version": [
-    20210113,
-    1749
+    20210115,
+    2234
    ],
    "deps": [
     "htmlize",
     "org"
    ],
-   "commit": "bae9075745f21da2dfce311ae3ca8ad12d75046c",
-   "sha256": "04hnl7w6hf2jwd788p3p633bdfcziwll8638mlmslpws84iwx905"
+   "commit": "38b83ac6a70e9f1bc5cefb79a3b4e5397d11e467",
+   "sha256": "140yj6z9bz7i6ap7m9b465ambsczmx43zjp7887qjf77zbnf152b"
   }
  },
  {
@@ -78200,14 +79176,14 @@
   "repo": "kaushalmodi/ox-hugo",
   "unstable": {
    "version": [
-    20201111,
-    1638
+    20210129,
+    2241
    ],
    "deps": [
     "org"
    ],
-   "commit": "6bc8ee08023695fa167ac0ddf1fc61e1975fa1ce",
-   "sha256": "0sb4ms9wd6085g6c6kfjm4bk9z1z02l8dbn15xs9axzksk4zcq6x"
+   "commit": "6805ccc23365620004034c18fbed22a8a07bd4dc",
+   "sha256": "12z1w6xsdx7p3q20h3bfap7ghxlj7awd6vpf4g3r7acd86fmxkjq"
   },
   "stable": {
    "version": [
@@ -78352,8 +79328,8 @@
    "deps": [
     "org"
    ],
-   "commit": "be0a0dde62fde8cdf8d72b6968344906aa8c6f54",
-   "sha256": "1afikv50ii4xk9pkg4m6dx246bjnwka37lccif8i5r48hfy5w4bq"
+   "commit": "c4487689309dddff3228603754b69ab381cfa5dc",
+   "sha256": "17p42zv2slnfahrh9ln3rrh3fjnh2bk4j4fxljn589cgv0wblwqc"
   },
   "stable": {
    "version": [
@@ -78534,11 +79510,14 @@
   "repo": "DarkBuffalo/ox-report",
   "unstable": {
    "version": [
-    20201208,
-    1749
+    20210219,
+    2023
+   ],
+   "deps": [
+    "org-msg"
    ],
-   "commit": "b7b1d682a724ef4ea729327395aa6577cba27133",
-   "sha256": "1cznkrcxi0pfs7i1fvz6zg8b3z2axcmqmjw62s15p0fhn4d2czxf"
+   "commit": "7e135fb51f252ab1ec5a31e05a1c7e638b656b85",
+   "sha256": "1lg00p7nr3y5wjm7r53c93gx0ycqjgsrj4w5jxw6fzrdacqdnsz9"
   },
   "stable": {
    "version": [
@@ -78557,14 +79536,14 @@
   "repo": "yjwen/org-reveal",
   "unstable": {
    "version": [
-    20201211,
-    1518
+    20210215,
+    1605
    ],
    "deps": [
     "org"
    ],
-   "commit": "e8673f4825b1c6e97f8ba895ccaf8c460cba5a09",
-   "sha256": "08gsb4c7a3hvkp3vdzad2wbs3n6ldxddhqp7bxsgsw7z3gfb4snv"
+   "commit": "499c5777174dbc7318e3f32fd50357c2823b228a",
+   "sha256": "1sf7ksda0898lgig1qhdzqm9v2jgrr033ainpb9406ij1v63gsh7"
   }
  },
  {
@@ -78722,6 +79701,21 @@
   }
  },
  {
+  "ename": "ox-timeline",
+  "commit": "da58cd5a678314a359f6bdec404574b473ff361b",
+  "sha256": "0b0jb8n38rrllv4w2kcdh33k3vpjl0dyy7v4lpczsy23880pyfbq",
+  "fetcher": "github",
+  "repo": "jjuliano/org-simple-timeline",
+  "unstable": {
+   "version": [
+    20210118,
+    536
+   ],
+   "commit": "238e05b01dde37fa27a3a8943cc04dcc9b9b83b2",
+   "sha256": "0949gabr0wfsrzzaf217jsaawkc3gj1lxkrzwp3bigmxngsn4ykn"
+  }
+ },
+ {
   "ename": "ox-trac",
   "commit": "4b73753ef9229d0fdfbe237acc63126f1786a494",
   "sha256": "0f8b3i83vzxzfa91p4ahlqz6njql18xy5nk265sjxpy9zr898rsa",
@@ -78946,26 +79940,26 @@
  },
  {
   "ename": "package+",
-  "commit": "49cfbbc4535aa7e175aa819d67b8aa52a6f94384",
-  "sha256": "1mbsxr4llz8ny7n7w3lykld9yvbaywlfqnvr9l0aiv9rvmdv03bn",
+  "commit": "e6af50f8f11d89eca83f96f312fd9a143edae6d9",
+  "sha256": "1gyhy0jgqj9vv7ddm4xi5x5jaqdhkkc4mqcyr7134v2355nbpqlj",
   "fetcher": "github",
   "repo": "zenspider/package",
   "unstable": {
    "version": [
-    20201222,
-    255
+    20210124,
+    640
    ],
-   "commit": "59b0f6daf219a2e0a0a0389d56471eb2a876f21d",
-   "sha256": "139ffhhjv45fbxqjasv46v0057sjbynqi9x6g7vikrph0js7bnja"
+   "commit": "06fbc904e09d3349b669c2624a587fee5accf5ef",
+   "sha256": "0mmziyswrfj1a43cy6qn1d8b1a302z4w3xk4z5yi5frdr22j684c"
   },
   "stable": {
    "version": [
     1,
-    3,
+    4,
     0
    ],
-   "commit": "59b0f6daf219a2e0a0a0389d56471eb2a876f21d",
-   "sha256": "139ffhhjv45fbxqjasv46v0057sjbynqi9x6g7vikrph0js7bnja"
+   "commit": "2729bfd012c53733d3e00267d81d849ce5aa8e2d",
+   "sha256": "1ky1zm1rwkl0cphvdhg5vhzfg7syp8dhq774dq526nlrbfsvmiph"
   }
  },
  {
@@ -78976,14 +79970,14 @@
   "repo": "melpa/package-build",
   "unstable": {
    "version": [
-    20210113,
-    329
+    20210209,
+    1639
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "71484efbf5f5df74c0db9936019c2e08f5ef3789",
-   "sha256": "08w97l0xycnm2z43n51bmgkf38cgaj4jq8p3qxyw3gx76605i8ck"
+   "commit": "d8ec8ddf5e39b61e9338de9a778633b7e01854cd",
+   "sha256": "1wdii6hlvd4pbgf7bp9d8ay0kd34nyxz2w7gyq2kx43hlcgxhyp1"
   },
   "stable": {
    "version": [
@@ -79020,15 +80014,15 @@
   "repo": "purcell/package-lint",
   "unstable": {
    "version": [
-    20210111,
-    341
+    20210227,
+    314
    ],
    "deps": [
     "cl-lib",
     "let-alist"
    ],
-   "commit": "348b15a1da1d62dee378b33971e39758b96c6575",
-   "sha256": "0zj7qxb3b0yrrfwa8n9hhzrnsyh9msf38glmn8r087p27x0ifwzr"
+   "commit": "82282a8f8b89969ad2671d095906e9bc61abbb04",
+   "sha256": "0n8s9651rq4jgyid54w1b0fp86903qqf1r1wbkvidagfl062bilz"
   },
   "stable": {
    "version": [
@@ -79057,8 +80051,8 @@
    "deps": [
     "package-lint"
    ],
-   "commit": "348b15a1da1d62dee378b33971e39758b96c6575",
-   "sha256": "0zj7qxb3b0yrrfwa8n9hhzrnsyh9msf38glmn8r087p27x0ifwzr"
+   "commit": "82282a8f8b89969ad2671d095906e9bc61abbb04",
+   "sha256": "0n8s9651rq4jgyid54w1b0fp86903qqf1r1wbkvidagfl062bilz"
   },
   "stable": {
    "version": [
@@ -79110,14 +80104,14 @@
   "repo": "Silex/package-utils",
   "unstable": {
    "version": [
-    20180514,
-    1415
+    20210221,
+    822
    ],
    "deps": [
     "restart-emacs"
    ],
-   "commit": "5621b95c56b55499f0463fd8b29501da25d861bd",
-   "sha256": "1mhsf0l0253d9b7n3c68mw5kwnsk7wf217y7m2fiybh51bdgjfnd"
+   "commit": "6a26accfdf9c0f1cbceb09d970bf9c25a72f562a",
+   "sha256": "1gmr3ncr98fb7j3iwig9bbawkpj1f0vmq3nmapwqbaqv6gyy93h1"
   },
   "stable": {
    "version": [
@@ -79143,8 +80137,8 @@
     20201120,
     2047
    ],
-   "commit": "3b96dedb404f614479c1b321fac3e4bf11ba0782",
-   "sha256": "0fbv8ryxjz1ndfv4ximmr5m1rd9xkmi8dp0x14r8g5wiy9959asb"
+   "commit": "47437da7839394b079699eb4cfcc00627ab2df8e",
+   "sha256": "0hp80n3mxnkssq431h9b9xlz21dqkyzjsajylrnbfvqqwqh293qk"
   },
   "stable": {
    "version": [
@@ -79164,17 +80158,16 @@
   "repo": "codingteam/pacmacs.el",
   "unstable": {
    "version": [
-    20160131,
-    832
+    20210225,
+    1255
    ],
    "deps": [
     "cl-lib",
     "dash",
-    "dash-functional",
     "f"
    ],
-   "commit": "d813e9c62c2540fe619234824fc60e128c786442",
-   "sha256": "0zx72qbqy2n1r6mjylw67zb6nnchp2b49vsdyl0k5bdaq2xyqv6i"
+   "commit": "5e0bcba1eeb10a4218087ff9cd6217d662fb775b",
+   "sha256": "15w7wr3bdqmwg459nl6vyf4ymrhqxk9pvli5q55qyvy905n3281j"
   }
  },
  {
@@ -79273,6 +80266,24 @@
   }
  },
  {
+  "ename": "pair-tree",
+  "commit": "ca9422233229d8703641d87d9250ad3f38c11fd7",
+  "sha256": "0rv6yp2vzcvnjkrlihm2a2a62879rcqwnzw7ph535drvwfl0inws",
+  "fetcher": "github",
+  "repo": "zainab-ali/pair-tree.el",
+  "unstable": {
+   "version": [
+    20210214,
+    1651
+   ],
+   "deps": [
+    "dash"
+   ],
+   "commit": "972ba441c40edf9b2c212f64fc6670104749662b",
+   "sha256": "1v4d17hdh3dvb2a4n10gxlr20zal8c7v456wiknkfrpv06d8awap"
+  }
+ },
+ {
   "ename": "palimpsest",
   "commit": "14f6d011a0314637a2f4c1b00efa4912e67b7fa4",
   "sha256": "18kklfdlcg982pdrslh0xqa42h28f91bdm7q2zn890d6dcivp6bk",
@@ -79413,15 +80424,15 @@
   "repo": "joostkremers/pandoc-mode",
   "unstable": {
    "version": [
-    20201120,
-    2241
+    20210201,
+    1150
    ],
    "deps": [
     "dash",
     "hydra"
    ],
-   "commit": "0630a112ae7d3eab1a4c47c7ef380915560a6bb2",
-   "sha256": "1k31pkvd9m798i6phcr0y3wd34fgq6ii41hx3lszmikvxb1yvm2y"
+   "commit": "69ec31fc4da30dca2d223ac9ed1bcb5f9d3801ba",
+   "sha256": "0c4j95c2axbhw0jnqsj9qxc62cdqwk2w3g4a2zgi64m2qlf3q4c9"
   },
   "stable": {
    "version": [
@@ -79653,20 +80664,20 @@
   "repo": "tarsius/paren-face",
   "unstable": {
    "version": [
-    20200103,
-    1238
+    20210127,
+    1749
    ],
-   "commit": "eb4a51b8ef455e0914108105e7c0008d675457cc",
-   "sha256": "17bdcxah216z928387yx6z9lmp4jsi461n8fwiqaibn2qy5fagas"
+   "commit": "6790c7fdec490a69e7d460c0bea36ad343776f9b",
+   "sha256": "1zyrrrr8rmksr3rfsv96psk1z15wbbx1bvcfp3hf5ciyc2n79000"
   },
   "stable": {
    "version": [
     1,
     0,
-    6
+    7
    ],
-   "commit": "eb4a51b8ef455e0914108105e7c0008d675457cc",
-   "sha256": "17bdcxah216z928387yx6z9lmp4jsi461n8fwiqaibn2qy5fagas"
+   "commit": "6790c7fdec490a69e7d460c0bea36ad343776f9b",
+   "sha256": "1zyrrrr8rmksr3rfsv96psk1z15wbbx1bvcfp3hf5ciyc2n79000"
   }
  },
  {
@@ -79693,38 +80704,6 @@
   }
  },
  {
-  "ename": "parinfer",
-  "commit": "470ab2b5cceef23692523b4668b15a0775a0a5ba",
-  "sha256": "05w4w7j6xyj19dm63073amd4n7fw4zm3qnn4x02fk2011iw8fq7i",
-  "fetcher": "github",
-  "repo": "DogLooksGood/parinfer-mode",
-  "unstable": {
-   "version": [
-    20201021,
-    254
-   ],
-   "deps": [
-    "cl-lib",
-    "dash"
-   ],
-   "commit": "91856b9c5817ead97aa034fe108c4a6e884802b2",
-   "sha256": "0l16x34af9y60n6502iihl9nz1w4kq8hx1dipi6xa16kr5gs8ba6"
-  },
-  "stable": {
-   "version": [
-    0,
-    4,
-    10
-   ],
-   "deps": [
-    "cl-lib",
-    "dash"
-   ],
-   "commit": "5b3b247d68eeaf7404598cbcbf2158e07f16e65d",
-   "sha256": "0v97ncb0w1slb0x8861l3yr1kqz6fgw1fwl1z9lz6hh8p2ih34sk"
-  }
- },
- {
   "ename": "parinfer-rust-mode",
   "commit": "b35f28995db0c21ecaadd5504a10aa2ee5ac2070",
   "sha256": "06003hh19k1087s8lvsbl04as2yph1zw9qr844s4rbyi838d4pc1",
@@ -79732,20 +80711,20 @@
   "repo": "justinbarclay/parinfer-rust-mode",
   "unstable": {
    "version": [
-    20201124,
-    616
+    20210218,
+    1650
    ],
-   "commit": "ca9e7b6f8c3c70daf6a933952955b6931a24af83",
-   "sha256": "17gf7ahvplgr7x3afpdm5zh8w8y45vzjcyb4jg8vn67grq3kij74"
+   "commit": "c825606e6aca4a2ed18c0af321df5f36a3c8c774",
+   "sha256": "1fix225ikfabsy9r4kc3znx6k4k5wbw5n45mkir3fdyis0pcwg6x"
   },
   "stable": {
    "version": [
     0,
     8,
-    2
+    3
    ],
-   "commit": "0953765ec361c1c0d6f36eb3c5dd706752af2482",
-   "sha256": "1d9885l1aifrdrg6c4m2kakhs3bbmfmsm02q96j0k0mzzwr7rs41"
+   "commit": "c825606e6aca4a2ed18c0af321df5f36a3c8c774",
+   "sha256": "1fix225ikfabsy9r4kc3znx6k4k5wbw5n45mkir3fdyis0pcwg6x"
   }
  },
  {
@@ -79789,20 +80768,20 @@
  },
  {
   "ename": "parse-it",
-  "commit": "3f163ca64c2533603410f320c7e9b9b1c2635458",
-  "sha256": "076b981jdhgv7kqdj6xnckp3x25wfymy0il9fffrpyfs7hrcdzgf",
+  "commit": "9e89bebbccf9ccf85841b00bf113925f8fb20775",
+  "sha256": "0l3h3sjr3xipj8lm7ph03jl326mcxscsbh0gx7gfrwfaynjb61kl",
   "fetcher": "github",
   "repo": "jcs-elpa/parse-it",
   "unstable": {
    "version": [
-    20201103,
-    1107
+    20210222,
+    1623
    ],
    "deps": [
     "s"
    ],
-   "commit": "580713c0c578f6c91f6851ae2120e8a9b7871bb0",
-   "sha256": "0c61gyks581xx47a4lrdjx64d1x1py7qmzsxklvwlcx0gq6pzalm"
+   "commit": "b1b80d1bd1cb852d344a8daf6ba7142be2c9ee7b",
+   "sha256": "1dckhlzxzr8zj6hbccgs60igigcij9qrvsb3v80z5dqgj24mqab2"
   },
   "stable": {
    "version": [
@@ -79956,16 +80935,16 @@
   "repo": "NicolasPetton/pass",
   "unstable": {
    "version": [
-    20201230,
-    1556
+    20210203,
+    810
    ],
    "deps": [
     "f",
     "password-store",
     "password-store-otp"
    ],
-   "commit": "a095d24cf06a7b0fbc3add480c101304a91cf788",
-   "sha256": "1nv6xs90zkv3qd0jxjwxlx132cz0ias0i7n2kvih6fp5gfkrzdci"
+   "commit": "5651da53137db9adcb125b4897c2fe27eeb4368d",
+   "sha256": "0xrdi06m55mzm14fw0ly0xbfyh2g43k3np2fm771nwzdw5kmin4v"
   },
   "stable": {
    "version": [
@@ -80013,17 +80992,17 @@
  },
  {
   "ename": "password-generator",
-  "commit": "855ea20024b606314f8590129259747cac0bcc97",
-  "sha256": "1ziiz4x4slfadlm7fjpmwvq4a9fi3ird74b6v5na499ylqnzrl59",
+  "commit": "fd591276073bf87fd9debdffc396f650790d566a",
+  "sha256": "0kb424axcik38a9zn2a6mabs3ya6bs8zh06d26jzyaa4d2q75246",
   "fetcher": "github",
-  "repo": "zargener/emacs-password-genarator",
+  "repo": "vandrlexay/emacs-password-genarator",
   "unstable": {
    "version": [
-    20201123,
-    1610
+    20210224,
+    1705
    ],
-   "commit": "d754391d11d1d384833eb82fd34e02d2baec36cb",
-   "sha256": "1658mzzdk012rwn049dxzrqp1k4vfbvrsksnh06zdn8m6n7xqi28"
+   "commit": "778f98d507d337f916bb3251fae6e351ebe50aa2",
+   "sha256": "07k2jsjfl3cyk0piikvn03280hbmggvkwkfin8s1wz54495504g5"
   }
  },
  {
@@ -80034,11 +81013,11 @@
   "repo": "juergenhoetzel/password-mode",
   "unstable": {
    "version": [
-    20170412,
-    629
+    20210214,
+    1905
    ],
-   "commit": "ed764a4ec1011526457c71b7c37fa9a659a866ab",
-   "sha256": "102zydbkr2zrr7w0j11n7pivnsdmq3c6lykf3qc84jifp7j58pgr"
+   "commit": "ed4a4bedbdd920aad486009932495cb6ab70c3e6",
+   "sha256": "1xqsrvnqcfmlncqbys21p8pzwxl064lzgs5qfb2m6w0p9ipblkjw"
   }
  },
  {
@@ -80057,8 +81036,8 @@
     "s",
     "with-editor"
    ],
-   "commit": "f152064da9832d6d3d2b4e75f43f63bf2d50716f",
-   "sha256": "0qxzqiljiqxzi1jlgm0c5f1pjz1jnnhq74lm0x9q68cim1vch48n"
+   "commit": "918992c19231b33b3d4a3288a7288a620e608cb4",
+   "sha256": "0ni62f4pq96g0i0q66bch1dl9k4zqwhg7xaf746k3gbbqxcdh3vi"
   },
   "stable": {
    "version": [
@@ -80631,11 +81610,11 @@
   "repo": "jeremy-compostella/pdfgrep",
   "unstable": {
    "version": [
-    20200306,
-    209
+    20210203,
+    1730
    ],
-   "commit": "1576fc98754d3bdaa40573a037a80f1973110756",
-   "sha256": "1c3p3vdhy6wibxwpc76bvvm0583zmjmxs9pa453z3msbq33kc7j8"
+   "commit": "a4ca0a1e6521de93f28bb6736a5344b4974d144c",
+   "sha256": "093sm3ywa338lhhz2ib3ylcgklsbxcsqck2qsaq26i2qxr0r7lq2"
   }
  },
  {
@@ -80987,8 +81966,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "2f2b59e693f08b8d9c81062fca25e6076b6e7f8d",
-   "sha256": "04r5h5zs5r6s22p5ynhpr860r2r552z9pyf4kbabfg1gz9jag7yp"
+   "commit": "697d95f24e055eb9725781d179d7db63d6afd2b5",
+   "sha256": "18sjkqc94kawgfv3q9ai8m0bq3h63mlyg47bxyv0zyn34n1mpc9l"
   },
   "stable": {
    "version": [
@@ -81355,38 +82334,6 @@
   }
  },
  {
-  "ename": "php-auto-yasnippets",
-  "commit": "28b2d8802f98e339ff01ecf9733b71b6c631123e",
-  "sha256": "047i51ks2nn7ydrx2hjx9qvsh3lxnyxp8a6c3h3nb1acy84f5bd1",
-  "fetcher": "github",
-  "repo": "emacs-php/php-auto-yasnippets",
-  "unstable": {
-   "version": [
-    20170331,
-    114
-   ],
-   "deps": [
-    "php-mode",
-    "yasnippet"
-   ],
-   "commit": "03e1f0899c081813901ac15c2f7a675a37cca9f5",
-   "sha256": "0d7y6njsd1s2r5df2k8wvvwgxpwwyaqkhdd2b3p1php8rrbj3mg8"
-  },
-  "stable": {
-   "version": [
-    2,
-    3,
-    1
-   ],
-   "deps": [
-    "php-mode",
-    "yasnippet"
-   ],
-   "commit": "1950d83cbcc5c5d62cd3bc432e1595870fe8cabf",
-   "sha256": "0zs11811kx6x1zgc1icd8gw420saa7z6zshpzmrddnbznya4qql6"
-  }
- },
- {
   "ename": "php-boris",
   "commit": "855ea20024b606314f8590129259747cac0bcc97",
   "sha256": "0kklwk8b98czsg567vgzzdfnv76yn1id3ah2q2qqdhaky1yzw7ak",
@@ -81615,36 +82562,6 @@
   }
  },
  {
-  "ename": "phpcbf",
-  "commit": "77ef54e3fb2715a081786dc54f99ae74def5c77c",
-  "sha256": "1hf88ys4grffpqgavrbc72dn3m7crafgid2ygzx9c5j55syh8mfv",
-  "fetcher": "github",
-  "repo": "nishimaki10/emacs-phpcbf",
-  "unstable": {
-   "version": [
-    20181228,
-    423
-   ],
-   "deps": [
-    "s"
-   ],
-   "commit": "fb0bc6073a57126cf1a8404723aa0a715dd761aa",
-   "sha256": "0k2wl137nippcfx3g35kfprz2fiv8rbbi7dcpxciwnbqmn6ry7rf"
-  },
-  "stable": {
-   "version": [
-    0,
-    9,
-    2
-   ],
-   "deps": [
-    "s"
-   ],
-   "commit": "b556b548ceb061b002389d6165d2cc63d8bddb5d",
-   "sha256": "09rinyx0621d7613xmbyvrrlav6d4ia332wkgg0m9dn265g3h56z"
-  }
- },
- {
   "ename": "phpstan",
   "commit": "43808f57146a395b92ed498803fa948a33e5f3c2",
   "sha256": "1nx9d4mhxhvbgrxawkpkw03b75bg1xpli1x83g2bhs8ar8lypjik",
@@ -82099,16 +83016,15 @@
   "repo": "pwalsh/pipenv.el",
   "unstable": {
    "version": [
-    20201206,
-    1408
+    20210127,
+    1444
    ],
    "deps": [
-    "f",
     "pyvenv",
     "s"
    ],
-   "commit": "f516a1a8677a6a1ce9683056e9f77b1e785e8431",
-   "sha256": "0ksjshvv8vnx2v91bfykajjnlcc5i0by0lrg0a34f8f3zjyaqcab"
+   "commit": "8f50c68d415307a2cbc65cc4df20df18e1776e9b",
+   "sha256": "0l81vbwp7gmcg1n7i8cwa01rpwc24db7gxqvmhln8piy1r2ymh6x"
   }
  },
  {
@@ -82210,11 +83126,11 @@
   "repo": "juergenhoetzel/pkgbuild-mode",
   "unstable": {
    "version": [
-    20210114,
-    1506
+    20210123,
+    1507
    ],
-   "commit": "e4f0067bdce3e071a7d9316a6e142e1c61215169",
-   "sha256": "1mvn4w3k1wf8yls0mjl667yzlir1qyvxamlzdx62yhqpr9y55sip"
+   "commit": "8a5e95c8514315cb40c47f1acdb68a4ace921497",
+   "sha256": "1p903a3jbw1jp5l6d6mb50dq5zd8951qxh2b97vy30p3nnl8i0lj"
   },
   "stable": {
    "version": [
@@ -82451,11 +83367,11 @@
   "repo": "thomasluquet/playerctl.el",
   "unstable": {
    "version": [
-    20180301,
-    1354
+    20210221,
+    1956
    ],
-   "commit": "3eee541423c2e5eb9f23a26fa9aa88c9c5a19ad1",
-   "sha256": "16qvn1mss5j8vpf1qpq4lwl4hwng64caw3c3shixsncfmgw25z6f"
+   "commit": "f480cd30bad76e4bc337e4be0cac6300e8154fce",
+   "sha256": "0f2f9dpi1yxckicybmdp7ns8x1hqhdygcvw8b7z0mhbwwxc7ml6m"
   }
  },
  {
@@ -82990,14 +83906,14 @@
   "repo": "lijunsong/pollen-mode",
   "unstable": {
    "version": [
-    20191223,
-    1920
+    20210120,
+    422
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "d0a33591498013886c2c4676e204cd684954e82a",
-   "sha256": "0lg65hzdjwbc3dav79f3jm7251yyq8ghcbccvkb32vwz281xhjnh"
+   "commit": "09a9dc48c468dcd385982b9629f325e70d569faf",
+   "sha256": "15z6sdkg9vygczr1imk3c5v6cbpqgsvnkydzkcmxnbwnqlx1agpc"
   }
  },
  {
@@ -83008,16 +83924,16 @@
   "repo": "polymode/poly-R",
   "unstable": {
    "version": [
-    20200316,
-    1315
+    20210210,
+    1053
    ],
    "deps": [
     "poly-markdown",
     "poly-noweb",
     "polymode"
    ],
-   "commit": "51ffeb6ec45dd44eafa4d22ad2d6150cc4b248fc",
-   "sha256": "0a4wx73jkngw5nbq1fa4jfhba6bsmyn6vnsf887x3xhb5v3ykhsg"
+   "commit": "c42ff3a4d0da96ccb7f826dca5c6b2eb558a2ab5",
+   "sha256": "0sazc0vnks2jnrmgz9p2r821l4m9wrggr6mgcwh6v7lzwj76x3f7"
   },
   "stable": {
    "version": [
@@ -83316,8 +84232,8 @@
     20200606,
     1106
    ],
-   "commit": "3284ff10017d280ba82f27dc20fe5223b0df709c",
-   "sha256": "0756c0fi5msqdsks95bcs0ghhk90b340y4zrkijhaz4b2cnm07h4"
+   "commit": "b3871e946d278a256d95a3bd4615b1df234ad75a",
+   "sha256": "08xn2my8n5m9mqr7zd1956vybakys17kldb6dijax1651fdjy772"
   },
   "stable": {
    "version": [
@@ -83365,11 +84281,11 @@
   "repo": "baudtack/pomodoro.el",
   "unstable": {
    "version": [
-    20210111,
-    1934
+    20210225,
+    2018
    ],
-   "commit": "662b1f176d6faddd07be32ee6eb974ca02d5ec03",
-   "sha256": "02iji913mh03hdlzdl4m7lfzzqp3p7437cay5mn8ba4prpqqz76j"
+   "commit": "ed888b24d0b89a5dec6f5278b1064c530c827321",
+   "sha256": "0yv1339q5s31wxw8y34pb09b0rlvz9m3gzqb4dc1q8ncq8xb8wl5"
   }
  },
  {
@@ -83425,8 +84341,8 @@
   "repo": "ponylang/ponylang-mode",
   "unstable": {
    "version": [
-    20201113,
-    1633
+    20210118,
+    1325
    ],
    "deps": [
     "company-ctags",
@@ -83438,8 +84354,8 @@
     "yafolding",
     "yasnippet"
    ],
-   "commit": "ef3ce7122e2fd112bde0e49a529934be1fea0ad5",
-   "sha256": "0kh9p66lhv4fs778cy4dysnvlvwj7zaa1f9ivw2hnqjycqf2bz53"
+   "commit": "a1583287cbafce053d4345a1531c6358ce970a77",
+   "sha256": "0pdimil370rilynz437xw7s1a323g00hmcinzpsfbnvq4k4ajk8s"
   },
   "stable": {
    "version": [
@@ -83661,11 +84577,11 @@
   "repo": "emacsorphanage/popwin",
   "unstable": {
    "version": [
-    20200908,
-    816
+    20210215,
+    1849
    ],
-   "commit": "215d6cb509b11c63394a20666565cd9e9b2c2eab",
-   "sha256": "1x1iimzbwb5izbia6aj6xv49jybzln2qxm5ybcrcq7xync5swiv1"
+   "commit": "1184368d3610bd0d0ca4a3db4068048c562c2b50",
+   "sha256": "0inm6wbfkw6b9bwikd77d0zmk6ma9fzfs11acblp5imq202v76ra"
   },
   "stable": {
    "version": [
@@ -83762,20 +84678,20 @@
   "repo": "tumashu/posframe",
   "unstable": {
    "version": [
-    20210113,
-    314
+    20210208,
+    229
    ],
-   "commit": "efd7ea490defc53a5b78e7469a3a35d225b766cc",
-   "sha256": "1in1w9h1hal1qbcqxlk3mqn3q5qpcpni8a2c05dxqaqavbvz2y4j"
+   "commit": "3454a4cb9d218c38f9c5b88798dfb2f7f85ad936",
+   "sha256": "039a84gwb0phjm7jcklmji1pcpbxmp4s40djhac8sbzmwdv39zi4"
   },
   "stable": {
    "version": [
     0,
     8,
-    4
+    5
    ],
-   "commit": "efd7ea490defc53a5b78e7469a3a35d225b766cc",
-   "sha256": "1in1w9h1hal1qbcqxlk3mqn3q5qpcpni8a2c05dxqaqavbvz2y4j"
+   "commit": "3454a4cb9d218c38f9c5b88798dfb2f7f85ad936",
+   "sha256": "039a84gwb0phjm7jcklmji1pcpbxmp4s40djhac8sbzmwdv39zi4"
   }
  },
  {
@@ -84045,19 +84961,19 @@
   "repo": "raxod502/prescient.el",
   "unstable": {
    "version": [
-    20210101,
-    2227
+    20210227,
+    600
    ],
-   "commit": "42adc802d3ba6c747bed7ea1f6e3ffbbdfc7192d",
-   "sha256": "0v12707jwd2ynk8gp3shgarl6yp3ynal7d4jzds6l2lknr6wi50w"
+   "commit": "b6da466e552a710a9362c73a3c1c265984de9790",
+   "sha256": "1gr3dzlwkdh2dbcw2q7qi4r8d3045vhyac6gy6f0g83hm2zvgall"
   },
   "stable": {
    "version": [
     5,
-    0
+    1
    ],
-   "commit": "3f53946e6aa97c1e1783be74e5b71dfbd4b54fcc",
-   "sha256": "001q4l730bhw4d508jxlpzh1z459qzpg6rbncp12jrfm5yidksix"
+   "commit": "2c0e9fc061ab723ec532428f312974ca7d8def12",
+   "sha256": "0d6kbczkamhhcmc8bf01q6k1x0g7dwjihwllzsldgga3dclyh4ks"
   }
  },
  {
@@ -84113,28 +85029,28 @@
   "repo": "jscheid/prettier.el",
   "unstable": {
    "version": [
-    20201222,
-    953
+    20210224,
+    913
    ],
    "deps": [
     "iter2",
     "nvm"
    ],
-   "commit": "5b584f21b8dd9a53ceb7745c2d91c513358892e7",
-   "sha256": "1m5298i60s1rdy2r8wnyialkfbafd99wp9q0bzsbr7grq3cdp2ic"
+   "commit": "d7ab018a9312979a415d27973890129586b13dc5",
+   "sha256": "1phkvmhrcszhc74l92syrsmjqg1pd233fl2hpfivyclwyapqky76"
   },
   "stable": {
    "version": [
     1,
-    0,
+    1,
     0
    ],
    "deps": [
     "iter2",
     "nvm"
    ],
-   "commit": "d5ccedc7a8ed84aff292bce688c73648dc8f567f",
-   "sha256": "1rk2hwpxvnc1hadvdg86jnzz4nh5kmkwp18iwvsbkgmx47cnyni3"
+   "commit": "8b38172bb6644b71b718c0732e5b9f1cd32e587a",
+   "sha256": "0zkicnfj1y2zpwbwm4ccrpvzr5z6rpkk82mdzaszkx0sksd3hzxm"
   }
  },
  {
@@ -84175,17 +85091,16 @@
   "repo": "jerrypnz/major-mode-hydra.el",
   "unstable": {
    "version": [
-    20190930,
-    2106
+    20210221,
+    834
    ],
    "deps": [
     "dash",
-    "dash-functional",
     "hydra",
     "s"
    ],
-   "commit": "20362323f66883c1336ffe70be24f91509addf54",
-   "sha256": "16krmj2lnk7j5ygdjw4hl020qqxg11bnc8sz15yr4fpy1p7hq5cz"
+   "commit": "84c1929a5153be169ca5c36737439d51dffde505",
+   "sha256": "1yw9xdyqbf285ljsspg8ajjx1bp1g27xpg85p84fsh88nr015rh5"
   },
   "stable": {
    "version": [
@@ -84417,16 +85332,16 @@
   "repo": "rejeep/prodigy.el",
   "unstable": {
    "version": [
-    20191212,
-    1242
+    20210116,
+    816
    ],
    "deps": [
     "dash",
     "f",
     "s"
    ],
-   "commit": "6ae71f27b09b172f03fb55b9eeef001206baacd3",
-   "sha256": "16w1xidfbqlbdxq45ff6am9j1hzlxz3pwqvimwk4432prrvnf8zg"
+   "commit": "168f5ace1671876d8c3bd350c0853bd0196bddda",
+   "sha256": "15rshpq0h5i252xamxh70acdz9jddn5xwgswzk5h2b24kxsbfnli"
   },
   "stable": {
    "version": [
@@ -84679,14 +85594,14 @@
   "repo": "bbatsov/projectile",
   "unstable": {
    "version": [
-    20210104,
-    1216
+    20210225,
+    1816
    ],
    "deps": [
     "pkg-info"
    ],
-   "commit": "c31bd41c0b9d6fba8837ebfd3a31dec0b3cd73c6",
-   "sha256": "10pibv07mb3mwmz6r2kmd7xdz5rly7hfbxvhmxd536zbr2s9rr1j"
+   "commit": "f3f8a6505d50ca0f03f7deef99a1c8aa3bcd9e58",
+   "sha256": "014v34kxjz04jgd70kskh0iwms17ydapk43ywwp23f3m89ps1917"
   },
   "stable": {
    "version": [
@@ -84721,26 +85636,6 @@
   }
  },
  {
-  "ename": "projectile-direnv",
-  "commit": "602485c251bc573e855dfd33e4e94052afbab93f",
-  "sha256": "1s5dapdcblcbcqyv8df26v8wxl8bhrs9ybl5h5qbzz49gigd8nqh",
-  "fetcher": "github",
-  "repo": "christianromney/projectile-direnv",
-  "unstable": {
-   "version": [
-    20160306,
-    138
-   ],
-   "deps": [
-    "dash",
-    "projectile",
-    "s"
-   ],
-   "commit": "d5d29e5228f840b7a25358a2fd50353ef2dc9b16",
-   "sha256": "1bq47a6lckgin93cqy5wj277rlrw2cgfywgmbdpxvmbhygpg5hqr"
-  }
- },
- {
   "ename": "projectile-git-autofetch",
   "commit": "7fdfdeb69fd78fc1bb2c62392f860a8c434f1762",
   "sha256": "0m0raddsw5yvjrw2v6bdaswffmva8y9hxksdgf9axpvrd3rzlk9n",
@@ -84779,8 +85674,8 @@
   "repo": "asok/projectile-rails",
   "unstable": {
    "version": [
-    20201004,
-    1011
+    20210218,
+    831
    ],
    "deps": [
     "f",
@@ -84789,13 +85684,13 @@
     "projectile",
     "rake"
    ],
-   "commit": "7a256b1b1444fe0001f97095d99252e946dd9777",
-   "sha256": "1d8wcjrhw0k4ws0bdl1q37pm0cz1smqink1d8hi8fs505brbpfdp"
+   "commit": "8d6b3734958f5dc7a620dc1b44754986d3726f3d",
+   "sha256": "03cj0cpmqyxcvqscnjcgcfz5k1ga6knr5jcb5prnv9hfjfqgk3pb"
   },
   "stable": {
    "version": [
     0,
-    20,
+    21,
     0
    ],
    "deps": [
@@ -84805,8 +85700,8 @@
     "projectile",
     "rake"
    ],
-   "commit": "228f6316f2da229bc82fbbcf52323da951a17871",
-   "sha256": "1l9l0hza6p1l750i7lvys6gnrdy2j0dmlg6nbb6zr2cq6jbf1lkd"
+   "commit": "8d6b3734958f5dc7a620dc1b44754986d3726f3d",
+   "sha256": "03cj0cpmqyxcvqscnjcgcfz5k1ga6knr5jcb5prnv9hfjfqgk3pb"
   }
  },
  {
@@ -85110,11 +86005,11 @@
   "repo": "ProofGeneral/PG",
   "unstable": {
    "version": [
-    20210110,
-    1959
+    20210227,
+    1942
    ],
-   "commit": "0d731606bee81b2d73895a23b69e84796ea7e4e7",
-   "sha256": "1j0fhd5cmhx6h3hnk2xb30hn6sxfp1js3zgldqpvk4qrws5vs25h"
+   "commit": "7844e312b2a192c4245d0d05c12908efc5730e3b",
+   "sha256": "0ky8ivcwkjdclh1vh9hi8wc5zljamby10fd4m73nnkdi2lr6x5nr"
   },
   "stable": {
    "version": [
@@ -85217,8 +86112,8 @@
     20200619,
     1742
    ],
-   "commit": "48234f5f012582843bb476ee3afef36cda94cb66",
-   "sha256": "1rn10w72a98k2r98lv3vaq6k8vwasdkc6c1r8lix441hd1jl60gj"
+   "commit": "8080bebf1f2ff87ef96a24135afe7f82d2eb3d2a",
+   "sha256": "1i82kgi3pwz61a07kmqw2gv79ym32rffwqqx8rlljk139k9j57mc"
   },
   "stable": {
    "version": [
@@ -85314,20 +86209,19 @@
   "repo": "purescript-emacs/psc-ide-emacs",
   "unstable": {
    "version": [
-    20200702,
-    1540
+    20210219,
+    2247
    ],
    "deps": [
     "company",
     "dash",
-    "dash-functional",
     "flycheck",
     "let-alist",
     "s",
     "seq"
    ],
-   "commit": "663f4e2cf9cbafdd4b9a60c34346596e2a40c87c",
-   "sha256": "06zgi5inlg244qhabsp4a24kda83i6rdpxf78qb7ygpxwdj4hf44"
+   "commit": "ce97d719458ea099b40c02f05b6609601c727e66",
+   "sha256": "0xfw93pdf744h2yswc53qwyawfzkc31rv8dmha3irq7k1nklhq6y"
   }
  },
  {
@@ -85373,15 +86267,15 @@
   "repo": "thierryvolpiatto/psession",
   "unstable": {
    "version": [
-    20210102,
-    1856
+    20210203,
+    828
    ],
    "deps": [
     "async",
     "cl-lib"
    ],
-   "commit": "a3fbcbb94a41450c9a5fdbea3b4ac2134c2aa082",
-   "sha256": "1w0ifzmd35c9rrc1vwas63hz7f1l8w0dlzwikmiiza6jy51qn9dd"
+   "commit": "ed53362af4dfc813505c30ca40227072df16fdfc",
+   "sha256": "0crq5ynhqi6lbq471nskcnjplyj6i80rxl3z00iyisc9184r7wwb"
   },
   "stable": {
    "version": [
@@ -85461,14 +86355,14 @@
   "repo": "nbfalcon/ptemplate",
   "unstable": {
    "version": [
-    20201213,
-    1355
+    20210204,
+    1306
    ],
    "deps": [
     "yasnippet"
    ],
-   "commit": "7caca3ed9f2c1bce77943d8ef3db6721e2b027e5",
-   "sha256": "0p23rlhv7xqwhzd0a2ybvn799xpr2n7jdinx5r07sdxmsjrmgzv9"
+   "commit": "0d03fe3b2c608ab31bda309ef8e7a7d076bb0069",
+   "sha256": "18lb3an90py39lmxk05fw5ppxa3xqrhck2qz27a0zaxvd6y3hqmx"
   }
  },
  {
@@ -85479,14 +86373,14 @@
   "repo": "nbfalcon/ptemplate-templates",
   "unstable": {
    "version": [
-    20210109,
-    2155
+    20210222,
+    1555
    ],
    "deps": [
     "ptemplate"
    ],
-   "commit": "26f1e4d40ac0e89e82c3210591064770f86490bf",
-   "sha256": "1yjigz22laz0f5m10kcslhg184lsqsfr72samk59l13jpnr676qg"
+   "commit": "f65acbb4991470cb5ae513c9f2a8197ead297704",
+   "sha256": "094qxh06jibc6kxs2fa5cw1xmj8mf7ykgdw02qpk0rjmczwns9vs"
   }
  },
  {
@@ -85646,14 +86540,14 @@
   "repo": "voxpupuli/puppet-mode",
   "unstable": {
    "version": [
-    20200505,
-    344
+    20210215,
+    2347
    ],
    "deps": [
     "pkg-info"
    ],
-   "commit": "0e2e32a3b1644edd8010bd3d44e83def683348b3",
-   "sha256": "082r71wn5klihv8npc8qsvsyw4jyib5mqpnqr029kv7cvlcyfghk"
+   "commit": "9f4fef6489ddd9251213f68c8389328ca75db9a6",
+   "sha256": "1syaxzsfwd6q9xkbr9mf9hy4k3bray6m3iybcxszqm1qmwdbl6qs"
   },
   "stable": {
    "version": [
@@ -86074,31 +86968,27 @@
   "repo": "tumashu/pyim",
   "unstable": {
    "version": [
-    20210109,
-    1118
+    20210228,
+    653
    ],
    "deps": [
     "async",
-    "popup",
-    "pyim-basedict",
     "xr"
    ],
-   "commit": "09a3b590cd83bf94b92ea772765db581e3aeb2f1",
-   "sha256": "0v5b7p8icn9gvdqmbh7xy79xnqi80qhskg00ag8zabmg624mpn2x"
+   "commit": "e55fd0d23f75d4f30ce268973d8909510fa01731",
+   "sha256": "1n25546nlc2vw3wb4znjvv490yi0j614hravzsj99ybwkl9bf094"
   },
   "stable": {
    "version": [
-    2,
-    0
+    3,
+    2
    ],
    "deps": [
     "async",
-    "popup",
-    "pyim-basedict",
     "xr"
    ],
-   "commit": "e9b46009c0e80f45ad95c64237bf69cb28dc12e7",
-   "sha256": "06ahzyi2h353xj17mzsm9fxmkc6cyzd1mjzmvqfw8cyv538nijc0"
+   "commit": "0c8cd00d2da981e3833bface7d0c476cbb3e93d2",
+   "sha256": "102ns8vjmpb56afc3vyd62zfvvrnjdclm1fsn4jzj45b2in5wmxx"
   }
  },
  {
@@ -86230,8 +87120,8 @@
     20200503,
     1624
    ],
-   "commit": "168bee7f23d9956c12b419b18aa9f5974151e3d7",
-   "sha256": "00y3klba3m1j43mfggh7pvy93khk1ga1lyb98r5mlfffrymvr209"
+   "commit": "15396a14bc8f977a00b5288356e79467653a2c3c",
+   "sha256": "0j5dgaplar71lyx05ali8rhd6nmfc2dkphcq3wn0gdmd5qmwbwxk"
   }
  },
  {
@@ -86472,11 +87362,11 @@
   "repo": "python-mode-devs/python-mode",
   "unstable": {
    "version": [
-    20201230,
-    2132
+    20210216,
+    1205
    ],
-   "commit": "41b123b4d4906cce7591900a952bb75a38c5296c",
-   "sha256": "1dl6vpwqxrdy26gh8kw5xkyj1ka88plm60c6ka2g6ji2s851b6ki"
+   "commit": "689ff2ddb1102a7fae9491333e418740ea0c0cbc",
+   "sha256": "05a5qv98y2gbi9vycmcfnbzwnnzmdz2iv7fwd5c5qxfi9bsv24sv"
   },
   "stable": {
    "version": [
@@ -86496,18 +87386,17 @@
   "repo": "wbolster/emacs-python-pytest",
   "unstable": {
    "version": [
-    20210111,
-    1046
+    20210219,
+    1947
    ],
    "deps": [
     "dash",
-    "dash-functional",
     "projectile",
     "s",
     "transient"
    ],
-   "commit": "3fadf1f8bc363d57c54eedd1bf98e6d9db9f0a62",
-   "sha256": "0ij72rjf3qnsbg3zripxyx3lwzliplm24pfrg867dr6lxczkxwv2"
+   "commit": "31ae5e0e6813de8d889103f7b8dde252b04b1ae4",
+   "sha256": "1kf62adlm5nf7r3qar8h1cx11xxrz95bfqii62i9xqdi3i8z7b2l"
   },
   "stable": {
    "version": [
@@ -86596,30 +87485,28 @@
   "repo": "pythonic-emacs/pythonic",
   "unstable": {
    "version": [
-    20200806,
-    434
+    20210122,
+    1247
    ],
    "deps": [
     "f",
     "s"
    ],
-   "commit": "51233ec7ec9fbafd13e2b0479c7b2ee0930ccca5",
-   "sha256": "1v4n6wx0qff2ndlxy11acm21jq5yflk28axs6jc6yh7mdj44js9x"
+   "commit": "e0e5cc882f2f1316268ec461a34d4be8abc313b7",
+   "sha256": "0hbvy8wdi5dgxn86j8z54y2fhcvm605xxm6xv054nl6fw2hh2h5h"
   },
   "stable": {
    "version": [
     0,
-    1,
-    1
+    2,
+    0
    ],
    "deps": [
-    "cl-lib",
-    "dash",
     "f",
     "s"
    ],
-   "commit": "c59a158942634d3c07e506b2376d96e8d5d1466f",
-   "sha256": "0219s900kdpi3cxllvmwm8hb2lwqzikplq578f7pyxhzljjh2lma"
+   "commit": "e0e5cc882f2f1316268ec461a34d4be8abc313b7",
+   "sha256": "0hbvy8wdi5dgxn86j8z54y2fhcvm605xxm6xv054nl6fw2hh2h5h"
   }
  },
  {
@@ -86656,8 +87543,8 @@
     20201231,
     140
    ],
-   "commit": "e4499e7fcdfafd8d1825eb705c34a7748ca5ee64",
-   "sha256": "1bb9w75rxvsx024y0yx41rrskkmhpyfslw3xi414d2w5wmh82zbm"
+   "commit": "3fef8d74bb45ec82f3c317d904a570c3b3318ce2",
+   "sha256": "03n6cyg1qkn2hglvv0iynlmq1gwhxgd59jil9rc1qka60pislpgz"
   }
  },
  {
@@ -86791,11 +87678,11 @@
   "repo": "quelpa/quelpa",
   "unstable": {
    "version": [
-    20210101,
-    937
+    20210208,
+    716
    ],
-   "commit": "42835119977a6512274d8337e866479af4f26dec",
-   "sha256": "1qqzkk3ym4p3q8b33szmww4ixp1sjmirihnvkgmvfpv0rrc15icc"
+   "commit": "8c25a40d07c08a6a9754b3ae12174664e8ed7871",
+   "sha256": "05yl7ivr6rq6gry0ik4qg2pxsw07byqwz9sn58hpsx8v7blxwxln"
   },
   "stable": {
    "version": [
@@ -86807,6 +87694,38 @@
   }
  },
  {
+  "ename": "quelpa-leaf",
+  "commit": "2c6b25a8bde336bef7d0bd0ef0261b2b2c08abb1",
+  "sha256": "1gn0g4w6qas62fq1dgxa5vplpq4qry6fz98xva1rl44yv1miigjp",
+  "fetcher": "github",
+  "repo": "quelpa/quelpa-leaf",
+  "unstable": {
+   "version": [
+    20210124,
+    348
+   ],
+   "deps": [
+    "leaf",
+    "quelpa"
+   ],
+   "commit": "eacc544b93f6fdc3be69a6ffbf960380a63fc715",
+   "sha256": "0ka2qk1y7byrq4rbmyhr06kfgc76afpmpdcxk3nf4g3krgi778dw"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    1
+   ],
+   "deps": [
+    "leaf",
+    "quelpa"
+   ],
+   "commit": "d367e3cd54d9ac949569f4cb7c0ff092a76391ab",
+   "sha256": "048216i1kn65d0ckzy1j08lg1lq2169jg7a4mchvcw3z7rmhx8f5"
+  }
+ },
+ {
   "ename": "quelpa-use-package",
   "commit": "c599f1254808a9d9bab87c35769052d5df2a01bf",
   "sha256": "0p09w419kldgl913hgqfzyv2pck27vqq2i1xsx7g29biwgnp9hl9",
@@ -87051,8 +87970,8 @@
   "repo": "racer-rust/emacs-racer",
   "unstable": {
    "version": [
-    20191001,
-    2344
+    20210119,
+    225
    ],
    "deps": [
     "dash",
@@ -87061,8 +87980,8 @@
     "rust-mode",
     "s"
    ],
-   "commit": "a0bdf778f01e8c4b8a92591447257422ac0b455b",
-   "sha256": "1dzp2l6lcdrcss5xp32yvil4c1din09awnxg0f71fls6kh2g2fcq"
+   "commit": "f17f9d73c74ac86001a19d08735e6b966d6c5609",
+   "sha256": "1hi0ackw5pfqak5yl4z804z2vajhg7wkvzz20w9kbzcighz6vccq"
   },
   "stable": {
    "version": [
@@ -87087,15 +88006,15 @@
   "repo": "greghendershott/racket-mode",
   "unstable": {
    "version": [
-    20210110,
-    1607
+    20210226,
+    1343
    ],
    "deps": [
     "faceup",
     "pos-tip"
    ],
-   "commit": "871aff8dc5a4bbc6f1d760fdbceb1f71fcf70b1f",
-   "sha256": "1z8lxaj24ykpa27y6v5zjwmdnaxhd7m8my5q7yxr4inlzyhhgckp"
+   "commit": "48084a44e50a3ecd91e40ac5b58eed297e314f3f",
+   "sha256": "18r0pi6g9nfhzj8l306r28al4pfwkn836arvnpbysqxjknxnvqll"
   }
  },
  {
@@ -87208,14 +88127,14 @@
   "repo": "stardiviner/emacs-rainbow-fart",
   "unstable": {
    "version": [
-    20201228,
-    6
+    20210202,
+    846
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "63b6a77a38235e7917d200886922156506853c42",
-   "sha256": "1pfpinplhkn5d91rlbgh359w4d7hp399vpximipj69bnx3nizic6"
+   "commit": "61acc77535720f7ed3b8f680fa9d9a1871832f11",
+   "sha256": "063a76lvyx83h7smplghcg5zxkncx017kjc25y74diwsda16sn0z"
   }
  },
  {
@@ -87365,11 +88284,11 @@
   "repo": "ralesi/ranger.el",
   "unstable": {
    "version": [
-    20200607,
-    2002
+    20210125,
+    330
    ],
-   "commit": "caf75f0060e503af078c7e5bb50d9aaa508e6f3e",
-   "sha256": "0xfg38ginrd0sdn194gpapi67q6i81csddgsf0rqmwihazpgs060"
+   "commit": "2498519cb21dcd5791d240607a72a204d1761668",
+   "sha256": "1wzshhg6dchny9drm8lf8sw4s24icgyb4my58xvhm55dp4zl5p3b"
   },
   "stable": {
    "version": [
@@ -88228,8 +89147,8 @@
     20201202,
     126
    ],
-   "commit": "d0e61f19a29108d676849e0925f00d002a26d32d",
-   "sha256": "1r3fmc5c2aqfqpfzdxkj6qi86j8vwmrj1gk3xz263pl3q96pzcya"
+   "commit": "f831f61797e03a0a1df8d99637a8738ba84d7cdd",
+   "sha256": "0lfpqzbrxs261cpb1hpmszcck13zkmqs67qf736cg2zx9ypfhx1g"
   }
  },
  {
@@ -88319,8 +89238,8 @@
     20201219,
     1739
    ],
-   "commit": "54d9914b270975e92fec56bcb3911c7335aeed7d",
-   "sha256": "1v2maw9jpvvfv6a6qkh3nasshf3pjzbqpyxsarhk2054d982qy5c"
+   "commit": "348030d5d65524b4f6a2dfad1d53f2ca92dbd49c",
+   "sha256": "1h96qy2741vsnrsnq5klxf2swm2kib7lfr3ni1rwsygib10hkqb5"
   }
  },
  {
@@ -88339,6 +89258,27 @@
   }
  },
  {
+  "ename": "reddigg",
+  "commit": "ec2ec4f094e1faee764ad73a5f9addfbd47117df",
+  "sha256": "04gzhbflh8q5bnyfsw769dlv9s4y2kkqnix3p9pzqz6inmbabg3w",
+  "fetcher": "github",
+  "repo": "thanhvg/emacs-reddigg",
+  "unstable": {
+   "version": [
+    20210225,
+    1948
+   ],
+   "deps": [
+    "ht",
+    "org",
+    "promise",
+    "request"
+   ],
+   "commit": "fab7b6881c1c93d96258596602531c2e2dafc1c4",
+   "sha256": "1wxig3bhifczi9an98rw57wzkxshq5z16n44dy72r37pkc6azax5"
+  }
+ },
+ {
   "ename": "redis",
   "commit": "10fbb970956ee19d812c17900f3c01c5fee0c3f2",
   "sha256": "1awnilb8bk0izp6yw0187ybh9slf1hc51014xvvmj90darxby79a",
@@ -88641,11 +89581,11 @@
   "repo": "YangZhao11/register-channel",
   "unstable": {
    "version": [
-    20180926,
-    2349
+    20210120,
+    1618
    ],
-   "commit": "9272923757402d177a0b2deab1d9c3c74601c48e",
-   "sha256": "0k9qgrbzbxx4sjffnr02qx5wm71i3m61w7mh2j4hq9jf8k6nbkq4"
+   "commit": "ed7f563e92170b758dc878fcb5df88d46d5d44cc",
+   "sha256": "1ih1s274004faq78fgdxw3gy7i58nbanbp39ax2wi8zz6ivm9lqa"
   }
  },
  {
@@ -88816,32 +89756,32 @@
  },
  {
   "ename": "repl-toggle",
-  "commit": "855ea20024b606314f8590129259747cac0bcc97",
-  "sha256": "16k9fk1nl2llk9qli52kiirlx9rlz8yhjh3cy6v5y2b3k0y1cf0b",
-  "fetcher": "github",
-  "repo": "tomterl/repl-toggle",
+  "commit": "ce2df1e493e3bcd63dfb07c3c5475d2dbf410fb8",
+  "sha256": "099sz9c0fl7b65qahc3gf2hlzmrm19spzm8bsl30wyc9vycik9yk",
+  "fetcher": "git",
+  "url": "https://git.sr.ht/~tomterl/repl-toggle",
   "unstable": {
    "version": [
-    20210114,
-    932
+    20210226,
+    1055
    ],
    "deps": [
     "fullframe"
    ],
-   "commit": "091aea753f59f2af5c581e73d15b4dd7ee394d94",
-   "sha256": "0r2zr6dxzml418rmar5v6yw6x1wfbrk89lqqvgsbjfps3yk9b27a"
+   "commit": "7028ae65f136215f8e07a43afc33a6b99fe82857",
+   "sha256": "0nycm8a4wwkkaif958z4m89slayp17k20lp2h7lvddjx8prn6yfp"
   },
   "stable": {
    "version": [
     0,
-    6,
+    7,
     1
    ],
    "deps": [
     "fullframe"
    ],
-   "commit": "a36caac7649fbffbe30f7b06541c9efd723563fc",
-   "sha256": "12h3xxja3isnhvrqx7m2g7a5d8h68cc85pbqyhiipfxyafyl1yxd"
+   "commit": "7028ae65f136215f8e07a43afc33a6b99fe82857",
+   "sha256": "0nycm8a4wwkkaif958z4m89slayp17k20lp2h7lvddjx8prn6yfp"
   }
  },
  {
@@ -88998,11 +89938,11 @@
   "repo": "tkf/emacs-request",
   "unstable": {
    "version": [
-    20201026,
-    2324
+    20210214,
+    37
    ],
-   "commit": "0183da84cb45eb94da996cd2eab714ef0d7504cc",
-   "sha256": "16q2mb0ir3a6kpgbkv6ag0zs10pj4gr2j1qdizzfqx7m4piyfj0n"
+   "commit": "accd430ee706f5b10fb20003b06bd8209bcdaa82",
+   "sha256": "0ffbc6x340whbrcfi5n0k81134x6knfc9g7z299fn47b2ihgd6jc"
   },
   "stable": {
    "version": [
@@ -89022,15 +89962,15 @@
   "repo": "tkf/emacs-request",
   "unstable": {
    "version": [
-    20181129,
-    317
+    20210214,
+    37
    ],
    "deps": [
     "deferred",
     "request"
    ],
-   "commit": "0183da84cb45eb94da996cd2eab714ef0d7504cc",
-   "sha256": "16q2mb0ir3a6kpgbkv6ag0zs10pj4gr2j1qdizzfqx7m4piyfj0n"
+   "commit": "accd430ee706f5b10fb20003b06bd8209bcdaa82",
+   "sha256": "0ffbc6x340whbrcfi5n0k81134x6knfc9g7z299fn47b2ihgd6jc"
   },
   "stable": {
    "version": [
@@ -89259,28 +90199,28 @@
   "repo": "jcs-elpa/reveal-in-folder",
   "unstable": {
    "version": [
-    20201224,
-    1242
+    20210129,
+    1921
    ],
    "deps": [
     "f",
     "s"
    ],
-   "commit": "5143c92c806fd3a80e6729a42167be9caea88f45",
-   "sha256": "1kpnk1fhzgiv2dc3y6fk27ina7j11s6siagqpi5fckbbi18hd84i"
+   "commit": "f62be2d11c8a9182cf84f0efe7ed054cc304262d",
+   "sha256": "0ksw9s96mmb1qlypz9mc9br9139ha5jmahi42x4i8qppcn6zs5ja"
   },
   "stable": {
    "version": [
     0,
     1,
-    1
+    2
    ],
    "deps": [
     "f",
     "s"
    ],
-   "commit": "29240e4845a44d10134652b427580301318f1288",
-   "sha256": "0ckaq8z38mj17abzarvq0awsqvwnff22mxa6pgsl7ks67hzq5kb4"
+   "commit": "f62be2d11c8a9182cf84f0efe7ed054cc304262d",
+   "sha256": "0ksw9s96mmb1qlypz9mc9br9139ha5jmahi42x4i8qppcn6zs5ja"
   }
  },
  {
@@ -89410,28 +90350,28 @@
   "repo": "dajva/rg.el",
   "unstable": {
    "version": [
-    20210113,
-    1559
+    20210227,
+    1113
    ],
    "deps": [
     "transient",
     "wgrep"
    ],
-   "commit": "c34266646951618af916684e954c33a9b1f86085",
-   "sha256": "12v7x427rwg8q9i7c81bzd4r4jpqwsv0442dahjxiivlrxqdb18h"
+   "commit": "8a537d9f033ba1b47f2ebe4d76f68b3dd74aefcb",
+   "sha256": "1gqh28fwyjxy4haclf23kzr755p8iyh2mvly3vmzpf55y2n1z8ib"
   },
   "stable": {
    "version": [
     2,
     0,
-    2
+    3
    ],
    "deps": [
     "transient",
     "wgrep"
    ],
-   "commit": "2ec8d1d36cfb9750c9a65c4a2687ea76399fccb3",
-   "sha256": "15qcnsnbni0aincm9pxpfhff3c5ivd5zs2s2qchjzhcn4kdm6kxr"
+   "commit": "bb89400d4d5e4eb22917f7048256745ea566a844",
+   "sha256": "0d8habjr4nv0xbgsk7nj5zid5zywf00vbl5zcx7anda5w1cy2zvr"
   }
  },
  {
@@ -89567,8 +90507,8 @@
   "repo": "DogLooksGood/emacs-rime",
   "unstable": {
    "version": [
-    20210113,
-    742
+    20210207,
+    1432
    ],
    "deps": [
     "cl-lib",
@@ -89576,8 +90516,8 @@
     "popup",
     "posframe"
    ],
-   "commit": "8012c6a09195d940c2ba24d7c63974fb5b3b0e51",
-   "sha256": "0wnx4saydjy6h97hg9277sqykxs2qh7731qs27n5nhxq2rbyw01p"
+   "commit": "edcb6278b1a864d28ed96375e18ff77def09feb0",
+   "sha256": "1g8ns518yn30838by7nd13k73nz8k6wk580jcsfjqpwjig8vr5as"
   },
   "stable": {
    "version": [
@@ -89782,14 +90722,14 @@
   "repo": "dgutov/robe",
   "unstable": {
    "version": [
-    20201214,
-    2255
+    20210202,
+    111
    ],
    "deps": [
     "inf-ruby"
    ],
-   "commit": "596d27e37440cad6cd65dcf83d03c502efc01eb4",
-   "sha256": "09gc6yy2d5z75s37zw1xiv0qh44nvf4j24w8qd15270wkaczfixa"
+   "commit": "3ef165c5c99aebfd811a0f18ea7f8c983d4ab152",
+   "sha256": "1vwwchgd45a0lin4n04ffwz021889ps4vcj787iy5ijw34pi8zrj"
   },
   "stable": {
    "version": [
@@ -89875,10 +90815,10 @@
  },
  {
   "ename": "ron-mode",
-  "commit": "67c658fe2ee340f3902c7ff5c0138995e69fe5dc",
-  "sha256": "1w0zicbva3xvqi1qz87fbr4ciq28hg70f0n2q70drh4nqb4ahwm2",
+  "commit": "e61a3f8cba4e5e303379f80c9fdd773fdde66406",
+  "sha256": "19hb9snfkm8fdbn8i9whvq0g85xlr4l6hbjyf1vb8355yrwsdcvs",
   "fetcher": "git",
-  "url": "https://codeberg.org/Hutzdog/ron-mode",
+  "url": "https://codeberg.org/Hutzdog/ron-mode.git",
   "unstable": {
    "version": [
     20200830,
@@ -89935,11 +90875,11 @@
   "repo": "daichirata/emacs-rotate",
   "unstable": {
    "version": [
-    20160909,
-    836
+    20210126,
+    637
    ],
-   "commit": "091b5ac4fc310773253efb317e3dbe8e46959ba6",
-   "sha256": "0msjn7ays71mcw6qmdk0mpjp1rvd7fwz917vmvlcd7cpmvkyfbds"
+   "commit": "4e9ac3ff800880bd9b705794ef0f7c99d72900a6",
+   "sha256": "1v4xaqfh3madrc8jcr16xzs40vvmk2ml1qwgsxkcm11l6pglmnnk"
   }
  },
  {
@@ -89991,29 +90931,6 @@
   }
  },
  {
-  "ename": "rsense",
-  "commit": "e2149ce3baef9ac01d5b2e8b1a933a3e1206015f",
-  "sha256": "1901xqlpc8fg4sl9j58jn40i2djs8s0cdcqcrzrq02lvk8ssfdf5",
-  "fetcher": "github",
-  "repo": "m2ym/rsense",
-  "unstable": {
-   "version": [
-    20100511,
-    405
-   ],
-   "commit": "8b5ee58318747ca1dde84ee41d48c4f50175cf35",
-   "sha256": "0xkr1qn8fm3kv5c11janq5acp1q02abvxc463zijvm2qk735yl4d"
-  },
-  "stable": {
-   "version": [
-    0,
-    3
-   ],
-   "commit": "e4297052ef32d06237e8bd1534a0caf70a34ad28",
-   "sha256": "0mfkq8n28lal4lqwp6v0ilz8wrwgg61sbm0jggznwisjqqy3lzrh"
-  }
- },
- {
   "ename": "rspec-mode",
   "commit": "cd83e61b10da20198de990aa081b47d3b0b44d43",
   "sha256": "0nyib9rx9w9cbsgkcjx9n8fp77xkzxg923z0rdm3f9kc7njcn0zx",
@@ -90055,8 +90972,8 @@
     20201218,
     1821
    ],
-   "commit": "39339388256df662d0084b4a094d03e52748f9e8",
-   "sha256": "0wp4mygsxzibra2p3m5rn9m0yd3fscd795k5xa0wxi5pwddv7dlg"
+   "commit": "aa4c827b417f5448c12401c33acdab1325917c13",
+   "sha256": "02jqcbrpxm4sv15l8kyvsw9pwkmamj065cgifj68x242fw2f0sam"
   },
   "stable": {
    "version": [
@@ -90081,8 +90998,8 @@
    "deps": [
     "rtags"
    ],
-   "commit": "39339388256df662d0084b4a094d03e52748f9e8",
-   "sha256": "0wp4mygsxzibra2p3m5rn9m0yd3fscd795k5xa0wxi5pwddv7dlg"
+   "commit": "aa4c827b417f5448c12401c33acdab1325917c13",
+   "sha256": "02jqcbrpxm4sv15l8kyvsw9pwkmamj065cgifj68x242fw2f0sam"
   },
   "stable": {
    "version": [
@@ -90152,20 +91069,20 @@
   "repo": "rubocop-hq/rubocop-emacs",
   "unstable": {
    "version": [
-    20190326,
-    1424
+    20210213,
+    1215
    ],
-   "commit": "03bf15558a6eb65e4f74000cab29412efd46660e",
-   "sha256": "0bl1l2qbpdknn93wr95a49gdnpl3pwpjj3rka3s44hvihny9p8q0"
+   "commit": "1372ee3fc1daf7dc8d96741b03e4aff5f7ae3906",
+   "sha256": "1svzp1ylc3j5mfp5bgivmxgy60wyfrzgahvcfzr1217dwjbf68jm"
   },
   "stable": {
    "version": [
     0,
-    5,
+    6,
     0
    ],
-   "commit": "980bedb455e3551d35a212fae515c054888907c1",
-   "sha256": "152ara2p59imry2ymfnk5mycbc07rblcmfmqjgm5fijb2x94xv8p"
+   "commit": "608a3c1dccab9a3af467ce75d94dedfbfd37b21d",
+   "sha256": "0bxz80j7bnrlrd6gd548rvd5jf6m36wyxfc4vzxbcim1xcfjyp09"
   }
  },
  {
@@ -90372,15 +91289,15 @@
   "repo": "ruby-test-mode/ruby-test-mode",
   "unstable": {
    "version": [
-    20201027,
-    905
+    20210205,
+    1107
    ],
    "deps": [
     "pcre2el",
     "ruby-mode"
    ],
-   "commit": "4af8a51483e5ed3104693a0052c2aebf8361c52c",
-   "sha256": "178dbacbhs7j74ia4ay1h84k9cx6jacyw82q6g0hnm2kgzg4x85k"
+   "commit": "d66db4aca6e6a246f65f7195ecfbc7581d35fb7a",
+   "sha256": "0rwq5g6p8n45vqf35dklkzdrhbp9i9gx03v7s1b4s4h83hlhlh51"
   },
   "stable": {
    "version": [
@@ -90455,6 +91372,21 @@
   }
  },
  {
+  "ename": "run-command",
+  "commit": "55089aac37c8934be2882c33bf96cc61322fec23",
+  "sha256": "1bcm39sy09h16j06rvshchlbzgvm12qa8snvfs99fdz3riikb2v2",
+  "fetcher": "github",
+  "repo": "bard/emacs-run-command",
+  "unstable": {
+   "version": [
+    20210224,
+    1444
+   ],
+   "commit": "cb76adf8e41d393090a4a3c6f390bd75288642c3",
+   "sha256": "0gkd7yabjdw6si814wzbkr7hi835pah8z6l0kfyhllvqnkp66qsc"
+  }
+ },
+ {
   "ename": "run-stuff",
   "commit": "68b7cb0ffe90cd56e2ca6e91e33668be586a1da7",
   "sha256": "038brammgivaq2423sx0iy6n7d7lyx3r939a0b85ix8zvkcbinia",
@@ -90465,8 +91397,8 @@
     20201109,
     351
    ],
-   "commit": "54787de62839c48428f2e1edc4e2aa64851e9849",
-   "sha256": "0zbf2nvnwx6yyjjk4xfdpn15bna6r32n02q32qzk6bnqipw54ca3"
+   "commit": "80661d33cf705c1128975ab371b3ed4139e4e0f8",
+   "sha256": "1l66phlrrwzrykapd8hmkb0ppb2jqkvr7yc8bpbxk1dxjb9w9na2"
   }
  },
  {
@@ -90553,11 +91485,11 @@
   "repo": "rust-lang/rust-mode",
   "unstable": {
    "version": [
-    20201204,
-    1527
+    20210226,
+    1106
    ],
-   "commit": "c5c7ed31a2e1106ab4835b135618a34570796dc7",
-   "sha256": "1r2qm3n4788pyyglp23ghzbfq8xzni1vb2jgzc6v65x1047j5rl3"
+   "commit": "e9e9e32c4f82a9b895543c120b327ab5536ec42b",
+   "sha256": "0f63lms4arkqj6161v2787dgfra23a01vi82s9dcylk9z6bqyz4v"
   },
   "stable": {
    "version": [
@@ -90600,8 +91532,8 @@
   "repo": "brotzeit/rustic",
   "unstable": {
    "version": [
-    20210103,
-    1235
+    20210201,
+    1846
    ],
    "deps": [
     "dash",
@@ -90614,8 +91546,8 @@
     "spinner",
     "xterm-color"
    ],
-   "commit": "4570312648cb8d4788f4fe749d67c0fce2de42e4",
-   "sha256": "1l6b0ljr6xwpjq46qgna2brprj81ppxwzhaj5s1xbwffzi67dc1z"
+   "commit": "61d600e5598a37034b8b539bd50966c3eb557f10",
+   "sha256": "0d5z6wab62g5xyb2bpmpprny22gy7rm11vsgij0phhnsqb8fqiig"
   }
  },
  {
@@ -90990,14 +91922,11 @@
   "repo": "nicolaisingh/saveplace-pdf-view",
   "unstable": {
    "version": [
-    20201216,
-    934
-   ],
-   "deps": [
-    "pdf-tools"
+    20210217,
+    1312
    ],
-   "commit": "b0370912049222f3a4c943856de3d69d48d53a35",
-   "sha256": "1ky1d3aycc1r96z3fy484p99xlmry9y9z61s7l7mw0m231k7kpbd"
+   "commit": "54ed966b842501c3c092dbf57b372e37b033c578",
+   "sha256": "0i03qb6qc2agp9s5s7l08f1wl8anqndh6xshg1c3w357vd1whv7i"
   }
  },
  {
@@ -91088,8 +92017,8 @@
     20200830,
     301
    ],
-   "commit": "85f1e8f2dabb94fb1c853a7c60c1dda07163ac8e",
-   "sha256": "16cnp54gvkx7kc6kr74mahvjwhkpc7y60c8v16m8n7si6h77lfqd"
+   "commit": "cacada6203a860236aff831f6a863c92dbe2b878",
+   "sha256": "17k4n0kwfqrn172mi3d2f67jalgc13p6xr10zhs56mbd5bzwg958"
   }
  },
  {
@@ -91118,11 +92047,11 @@
   "repo": "hvesalai/emacs-scala-mode",
   "unstable": {
    "version": [
-    20201106,
-    2057
+    20210205,
+    851
    ],
-   "commit": "2bf56219924e0cbc0325547799144b02d4085935",
-   "sha256": "1cs5d9x69q2akzf7a64awapjxljbqggxv391k885ld3zqglqkzks"
+   "commit": "402d6df56457e9c512c3d77c7bcb0d04c77715f1",
+   "sha256": "018c668i1cv6a22gvvbzgn8111wh9zbk6yr41cj9xb1pwg0y373d"
   },
   "stable": {
    "version": [
@@ -91277,20 +92206,20 @@
  },
  {
   "ename": "scpaste",
-  "commit": "9007fb32097bc63731c3615dae9342fcef2558a2",
-  "sha256": "02dqmx6v3jxdn5yz1z74624sc6sz2bm4qjyi78w9akhp2jplwlk1",
-  "fetcher": "github",
-  "repo": "technomancy/scpaste",
+  "commit": "8bec8e696afde1b89502f312efc0054ca59502a6",
+  "sha256": "1x2ikbb1k34yfrr45pk4a8171l3azbgl0mrd4pb44qz7z1rpn57m",
+  "fetcher": "git",
+  "url": "https://git.sr.ht/~technomancy/scpaste",
   "unstable": {
    "version": [
-    20200717,
-    2007
+    20210223,
+    1902
    ],
    "deps": [
     "htmlize"
    ],
-   "commit": "2aa1513fa0a402f03b993c0a6929daf39820b02b",
-   "sha256": "1cvkqb5v0v790nmhg4wi6kv6mbzfkfcgvn2xh9bmny37dcv0i2gk"
+   "commit": "4ec352fb9fe261ffb8b78449dea986dc34d337b3",
+   "sha256": "0219jzj3rwcx4k6f4grzrarq0v05jgmmracis3jb25rv0cln3i9r"
   },
   "stable": {
    "version": [
@@ -91475,8 +92404,8 @@
     20201013,
     123
    ],
-   "commit": "3cd1e1801aaddd011992d284280b5b43ccbee17b",
-   "sha256": "0mgc3wc1kga7n3zwy7i338vdxy0nfhv61ra9708lc14rx6zjwk9f"
+   "commit": "ad94790492d0d66686f3457cea1caeba8bbbdc51",
+   "sha256": "1b725iz5xhqki33jydq9vrxvrbfraxq2q79jdbrjy548rbsxzyjf"
   }
  },
  {
@@ -91647,15 +92576,15 @@
   "repo": "jcs-elpa/searcher",
   "unstable": {
    "version": [
-    20201010,
-    641
+    20210124,
+    1524
    ],
    "deps": [
     "dash",
     "f"
    ],
-   "commit": "432d2ea9f7d0ab7274ff2927d26e7adca85be169",
-   "sha256": "07kwcyg8v5svqq2v24qn4rd43r590gr9nmv3270aqad8lqjlrrn8"
+   "commit": "447b6f0c3b4429e70a474a325151913100bc6417",
+   "sha256": "1w0l0r4n0w99523klia1pfyh0y3jvskhk2wrwzdx09mad0bdfj1b"
   },
   "stable": {
    "version": [
@@ -91673,10 +92602,10 @@
  },
  {
   "ename": "searchq",
-  "commit": "9738c1be0511540bfd8f324334518c72c9c38c94",
-  "sha256": "0flsc07v887pm62mslrv7zqnhl62l6348nkm77mizm1592q3kjgr",
+  "commit": "cd08b1a89eba9dcc0ed7f6d6ccb783b6ba0c00ca",
+  "sha256": "0n3azkzfflxi8fif4m3q886l5gp33z2ylfl2j3h0w36xlgc9h58l",
   "fetcher": "github",
-  "repo": "boyw165/searchq",
+  "repo": "tcw165/searchq",
   "unstable": {
    "version": [
     20150829,
@@ -91877,19 +92806,19 @@
   "repo": "raxod502/selectrum",
   "unstable": {
    "version": [
-    20210114,
-    2154
+    20210228,
+    1401
    ],
-   "commit": "3abbfd9bc7d8991cce20202942a5b59a6c8d8dab",
-   "sha256": "05g0cwyv77ajbbq3ja4bsgh84m1829mqrp5mxg5gbwhjp9xr974r"
+   "commit": "bcf371433f3593bfe911369a4c87fbf7287df866",
+   "sha256": "052323wgs7z68hzfp6y9x262qsd0l6la667hsjvrdc64x6mv0dii"
   },
   "stable": {
    "version": [
     3,
-    0
+    1
    ],
-   "commit": "bec406a47bd95f5b7363be239783a01631858520",
-   "sha256": "0j10yxlikyg7qxcmp4fnddyd5nc3hlz080d1zcbijq020a08k86g"
+   "commit": "a9ecaa018f249c15fae8e1af5d4df337e846e92f",
+   "sha256": "02jrki6vzyfyi1bbslki5pk2348flh9dz18jkc4y7p60bvbr52cb"
   }
  },
  {
@@ -91900,27 +92829,27 @@
   "repo": "raxod502/prescient.el",
   "unstable": {
    "version": [
-    20201214,
-    227
+    20210227,
+    600
    ],
    "deps": [
     "prescient",
     "selectrum"
    ],
-   "commit": "42adc802d3ba6c747bed7ea1f6e3ffbbdfc7192d",
-   "sha256": "0v12707jwd2ynk8gp3shgarl6yp3ynal7d4jzds6l2lknr6wi50w"
+   "commit": "b6da466e552a710a9362c73a3c1c265984de9790",
+   "sha256": "1gr3dzlwkdh2dbcw2q7qi4r8d3045vhyac6gy6f0g83hm2zvgall"
   },
   "stable": {
    "version": [
     5,
-    0
+    1
    ],
    "deps": [
     "prescient",
     "selectrum"
    ],
-   "commit": "3f53946e6aa97c1e1783be74e5b71dfbd4b54fcc",
-   "sha256": "001q4l730bhw4d508jxlpzh1z459qzpg6rbncp12jrfm5yidksix"
+   "commit": "2c0e9fc061ab723ec532428f312974ca7d8def12",
+   "sha256": "0d6kbczkamhhcmc8bf01q6k1x0g7dwjihwllzsldgga3dclyh4ks"
   }
  },
  {
@@ -91965,15 +92894,15 @@
   "repo": "wanderlust/semi",
   "unstable": {
    "version": [
-    20201115,
-    116
+    20210214,
+    853
    ],
    "deps": [
     "apel",
     "flim"
    ],
-   "commit": "f279ebe1c1f9c14bdd5d3da01af24277a6167b69",
-   "sha256": "1a387s4h167lsray5k5gzm8jpnrg5az7y982iamk67rz5i1ccgz5"
+   "commit": "20d75302509b5fba9849e74b61c1ce93e5819864",
+   "sha256": "14qy9k64fi8asd4ka9hv5v0aa7mkdnx6252n02gldg760janr7xl"
   }
  },
  {
@@ -92085,16 +93014,16 @@
   "repo": "twlz0ne/separedit.el",
   "unstable": {
    "version": [
-    20200827,
-    725
+    20210210,
+    1411
    ],
    "deps": [
     "dash",
     "dash-functional",
     "edit-indirect"
    ],
-   "commit": "dc0b3448f3d9738f5233c34c5c8fc172eda26323",
-   "sha256": "0qjfhal2pjw1lk7qyb89lwibabpycibf5vsadinvqnn77m25sx04"
+   "commit": "cc1145bde8b1868322ea799a90e38a1295089ada",
+   "sha256": "0m429i3zy5aik0q91r6sbr5xpqh4fgx984szp01p8fmbyb7wsh67"
   }
  },
  {
@@ -92437,6 +93366,21 @@
   }
  },
  {
+  "ename": "shades-of-purple-theme",
+  "commit": "fec35f46d061fdd454de7406253a1e24b2b501ed",
+  "sha256": "1gff2c53wvcfdvh1vx35rm3njp2y5742jkmfm0lbi6q68fz19d3j",
+  "fetcher": "github",
+  "repo": "arturovm/shades-of-purple-emacs",
+  "unstable": {
+   "version": [
+    20210213,
+    1939
+   ],
+   "commit": "96c58f2421165d67f300cc5014715fc0517e8f8c",
+   "sha256": "17cnwc235wm6la3wh1wcrs621jqzka7xnrrbcsk4kv8fnidi81n4"
+  }
+ },
+ {
   "ename": "shadowenv",
   "commit": "b2651055ab67448f90a93cf594342b8212202b82",
   "sha256": "1qxnbvpnvk3666hwfrh4pnfgb2mrfha6hiri8zfdspdh8g535ygq",
@@ -92444,11 +93388,11 @@
   "repo": "Shopify/shadowenv.el",
   "unstable": {
    "version": [
-    20190903,
-    1907
+    20210216,
+    2031
    ],
-   "commit": "5f24c90bb8e7333ee4315619672dc2ec69d198be",
-   "sha256": "0msrhh41nyvyy17skd5y5lzdz7a6lxnlqnflgz4xf2qpnc390kd6"
+   "commit": "e4563469fe20b9e6e63d7b19c86ac8b8b615df1d",
+   "sha256": "1p7a4lps2w6dnc5i1fiwx22ij4in70a0h0bl5bp7ab5ba6l22kaw"
   }
  },
  {
@@ -92849,11 +93793,11 @@
   "repo": "emacs-w3m/emacs-w3m",
   "unstable": {
    "version": [
-    20201021,
-    552
+    20210218,
+    2329
    ],
-   "commit": "f29aadae07bd58689720271b1f6538edfec5c476",
-   "sha256": "130ydwzpzw4s4h3jhh5h066iib7s9c8xa43imvlvcqs3vghp7p1x"
+   "commit": "051dba16c2d60e7b59143ed5c1d52bceca3b6b37",
+   "sha256": "1gj8kdf4k4k139ajihf1klv2wzvfp2lhznbdsv62nfb5nla347ph"
   }
  },
  {
@@ -93039,26 +93983,27 @@
   "repo": "chenyanming/shrface",
   "unstable": {
    "version": [
-    20201108,
-    640
+    20210218,
+    115
    ],
    "deps": [
+    "language-detection",
     "org"
    ],
-   "commit": "da8acfb347c14e82a9c56cfd65e57b8adb8eb5d2",
-   "sha256": "1gc5w4svkfvd4a0sqyaq4570iabql4w6yayamcpf20n7i8wvlpws"
+   "commit": "3f6807543ffc1da16ede10df8a05d5e4414ba7df",
+   "sha256": "053r87s6jxl3hi8f7215hvn4xm6913l9wrjxwafv76gsdyl9cgz7"
   },
   "stable": {
    "version": [
     2,
     6,
-    1
+    3
    ],
    "deps": [
     "org"
    ],
-   "commit": "716b8a51ab331952f5b617152055799e32efb77e",
-   "sha256": "10yrkza38ylvahgq5ga78brkzi5c2ms2v9800a0y8ld019zxkr7r"
+   "commit": "3dc6b980a4235b084abeae500a377e60026c28ef",
+   "sha256": "1gg0z15a4rygi0dxabnlpjh56sa7kwxw3fji6ibk70l1jwgd7ydc"
   }
  },
  {
@@ -93127,18 +94072,17 @@
   "url": "https://git.savannah.nongnu.org/git/emacs-shroud.git",
   "unstable": {
    "version": [
-    20200124,
-    1833
+    20210220,
+    1952
    ],
    "deps": [
     "bui",
     "dash",
-    "dash-functional",
     "epg",
     "s"
    ],
-   "commit": "bf8a854ecd440c525b870f9439f6785700af80d3",
-   "sha256": "1rfmykbv2jipkb8by9jsx51gdh62spilffj3c49h3rfcllqnbv2g"
+   "commit": "2e6ff2bab4a1e798c090c9d7fbd90b7f3463d5c5",
+   "sha256": "08nnpzdrh4sq3vddfcdagaxvn4liprmc3dd17lbrvw5qlcadrbvg"
   },
   "stable": {
    "version": [
@@ -93248,20 +94192,20 @@
   "repo": "rnkn/side-notes",
   "unstable": {
    "version": [
-    20200926,
-    1404
+    20210201,
+    724
    ],
-   "commit": "f5135f652d2b21f55b4809151143845c6807de01",
-   "sha256": "1jnh4djxp4k0c1r6yq0n0zi9vadsj9daqnajs33g2npvhmyav0sr"
+   "commit": "3993e8de44c141420efbec3cdb4c5620b862a200",
+   "sha256": "1ivm2xr7mc8hp7g1l6l3a4mm5byn2cp7m6bv2g222997xbpk0il5"
   },
   "stable": {
    "version": [
     0,
     4,
-    0
+    1
    ],
-   "commit": "27c964334b8e30fa88e4278ae58dc3d00df34f1f",
-   "sha256": "1xl2ykdscrwpxm02ypnf68mkxf9dkp64cj465b69s874x10bxfc3"
+   "commit": "d41255fc2b8cadfc7882c617c7d1aff71524ed46",
+   "sha256": "0jsfa5dfs0kl9c7pjxi1niq1mknsxnqm9gs18l0lb9ipbzb949sr"
   }
  },
  {
@@ -93314,11 +94258,11 @@
   "repo": "mswift42/silkworm-theme",
   "unstable": {
    "version": [
-    20191005,
-    1903
+    20210215,
+    1120
    ],
-   "commit": "6cb44e3bfb095588aa3bdf8d0d45b583521f9e2c",
-   "sha256": "0w5h1gl8npmwmpvhhwchrknd977w4l3vvd2lib7qphinj117fhzv"
+   "commit": "ff80e9294da0fb093e15097ac62153ef4a64a889",
+   "sha256": "09zrhfk6w74kc4sml20k6vhnd8b07yppn69rffan5mhr3qr69176"
   },
   "stable": {
    "version": [
@@ -93470,14 +94414,14 @@
   "repo": "andreas-roehler/simple-paren",
   "unstable": {
    "version": [
-    20200120,
-    2036
+    20210206,
+    2015
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "2a4ba8f99f39abf17976db8118e32b80eff0798b",
-   "sha256": "0897i5ggdivi2knblcbkyv9lpnwgdlr8ql9brd09bkdsbzhsqb6y"
+   "commit": "7b17fcc467e485dce5550be901d26223b8ad3f23",
+   "sha256": "1ksckai0hr2345vpjsahv0kzk8h52vrg2wki290v5aj64iy2nw76"
   }
  },
  {
@@ -93639,8 +94583,8 @@
   "repo": "chrisbarrett/skeletor.el",
   "unstable": {
    "version": [
-    20191129,
-    841
+    20210129,
+    239
    ],
    "deps": [
     "cl-lib",
@@ -93649,8 +94593,8 @@
     "let-alist",
     "s"
    ],
-   "commit": "eb21383a9c9e7cf7ae2bbb85cb6d4f42aa3cb37f",
-   "sha256": "1vq4g8kpq9q4zyybw4k4hgvn13avxz653gdfrx4x5wvfqcr91mbx"
+   "commit": "f6e560a0bfe459e0b8a268047920ce1148f2ebf6",
+   "sha256": "0xal5m59z8whrsr6id52gb6f22jy6dp349xvs6xxjdfamj1083r7"
   },
   "stable": {
    "version": [
@@ -93670,6 +94614,29 @@
   }
  },
  {
+  "ename": "sketch-themes",
+  "commit": "d1b2026ff5fe7a2893dd4c71d9089e97c4fd48f1",
+  "sha256": "18n6blkrn72zyjj4ik3f6w2axmn0rwk8lpbcaynl3y7v7ij35m0r",
+  "fetcher": "github",
+  "repo": "dawranliou/sketch-themes",
+  "unstable": {
+   "version": [
+    20210222,
+    1337
+   ],
+   "commit": "33b63867db76225e46eda0a8a613813151dc5b62",
+   "sha256": "19dlwp27g1sd1hd0wq8s16fqk8v4ll6xwn2hl1a9axkdk97mps27"
+  },
+  "stable": {
+   "version": [
+    1,
+    0
+   ],
+   "commit": "df8182628052bf55e7779fb6967383629059b5c0",
+   "sha256": "0184vmhl3m84qavx1vnrp16fwfpd1fpynfb5vwaa4nvg55ly247i"
+  }
+ },
+ {
   "ename": "skewer-less",
   "commit": "fb63f7417f39bd718972f54e57360708eb48b977",
   "sha256": "0fhv5cnp5bgw3krfmb0jl18kw2hzx2p81falj57lg3p8rn23dryl",
@@ -93873,15 +94840,15 @@
   "repo": "slime/slime",
   "unstable": {
    "version": [
-    20210105,
-    2148
+    20210214,
+    2243
    ],
    "deps": [
     "cl-lib",
     "macrostep"
    ],
-   "commit": "48bfe6cccfdf879cd7137b00eb2ca160665a92f8",
-   "sha256": "1b3kjxjx30lan77vgiskvh9g5cqz4j44xa221vnh9ccixqwqhhim"
+   "commit": "68c58c0194ff03cd147fcec99f0ee90ba9178875",
+   "sha256": "0lammq7116hm79nldxlghi978m7bldccfdc9vy1rlfjj4mhnrlq0"
   },
   "stable": {
    "version": [
@@ -93905,60 +94872,59 @@
   "repo": "anwyn/slime-company",
   "unstable": {
    "version": [
-    20200424,
-    1045
+    20210124,
+    1627
    ],
    "deps": [
     "company",
     "slime"
    ],
-   "commit": "cec203c45ebd678b05341d1cdbe420ad07a1b8e0",
-   "sha256": "0dwj6kv8laivhisd9jrzdn1lxynqqxmimvyz3z0zz6qf0ijsl0wm"
+   "commit": "f20ecc4104d4c35052696e7e760109fb02060e72",
+   "sha256": "05dnnc4ms5c9yp9h65k2gbkg3pw9k38nx5wzlwdlfr4shqmw54w0"
   },
   "stable": {
    "version": [
     1,
-    3
+    6
    ],
    "deps": [
     "company",
     "slime"
    ],
-   "commit": "cec203c45ebd678b05341d1cdbe420ad07a1b8e0",
-   "sha256": "0dwj6kv8laivhisd9jrzdn1lxynqqxmimvyz3z0zz6qf0ijsl0wm"
+   "commit": "f20ecc4104d4c35052696e7e760109fb02060e72",
+   "sha256": "05dnnc4ms5c9yp9h65k2gbkg3pw9k38nx5wzlwdlfr4shqmw54w0"
   }
  },
  {
   "ename": "slime-docker",
-  "commit": "15ec3f7208287161571c8fc3b29369ceabb44e5f",
-  "sha256": "13zkkrpww51ndsblpyz2msiwrjnaz6yrk61jbzrwp0r7a2v0djsa",
+  "commit": "19cafb22be7286f56391dc98b362fb2aa55a9a80",
+  "sha256": "1vrns4fys01chk2cq10wb8w559lc7899s9dhwysg6818nvqj9my1",
   "fetcher": "github",
-  "repo": "daewok/slime-docker",
+  "repo": "cl-docker-images/slime-docker",
   "unstable": {
    "version": [
-    20190430,
-    157
+    20210124,
+    2145
    ],
    "deps": [
-    "cl-lib",
     "docker-tramp",
     "slime"
    ],
-   "commit": "151cec4a11965cdc00d231900a50f2c9f455fce2",
-   "sha256": "1sp6qi2i1cl41ga9y6fwf7q855y0b59fcbxdiggdhigwd5zslzcv"
+   "commit": "903470fe3860402794a4f268c1efffd44a30f273",
+   "sha256": "089yskdbkr7k25sns5vms7f0hqdbpnjg3ih95nhia1nghxcqj482"
   },
   "stable": {
    "version": [
     0,
-    7
+    8,
+    2
    ],
    "deps": [
-    "cl-lib",
     "docker-tramp",
     "slime"
    ],
-   "commit": "1ba41c2d86540a84b47466b0b6957f8063f23aa8",
-   "sha256": "168s5xsf7l6s8x5hcmzmk5j9d8a3wpr4s3dlm697dg2n1717gl2z"
+   "commit": "903470fe3860402794a4f268c1efffd44a30f273",
+   "sha256": "089yskdbkr7k25sns5vms7f0hqdbpnjg3ih95nhia1nghxcqj482"
   }
  },
  {
@@ -94099,11 +95065,11 @@
   "repo": "joaotavora/sly",
   "unstable": {
    "version": [
-    20210114,
-    912
+    20210224,
+    1024
    ],
-   "commit": "eb67be9698794ba66a09f46b7cfffab742863a91",
-   "sha256": "11yclc8i6gpy26m1yj6bid6da22639zpil1qzj87m5gfvxiv4zg6"
+   "commit": "fb84318c08f59bc786e047006fc81e2ace568309",
+   "sha256": "0z123k9ak7yjb9bxb5qx48f33ma8066rhkqh8xc14z7shk75jybj"
   },
   "stable": {
    "version": [
@@ -94607,15 +95573,15 @@
   "repo": "Fuco1/smartparens",
   "unstable": {
    "version": [
-    20201229,
-    1937
+    20210213,
+    1851
    ],
    "deps": [
     "cl-lib",
     "dash"
    ],
-   "commit": "63695c64233d215a92bf08e762f643cdb595bdd9",
-   "sha256": "0yx9xamrpjpn6qshcdzc43pj3avb0nq4q40nmid28vb4giab4927"
+   "commit": "fb1ce4b4013fe6f86dde9dd5bd5d4c032ab0d45b",
+   "sha256": "0wl3fg761ddigqfcbgprgn8d03qapbsh803qp36pq09mgi29s161"
   },
   "stable": {
    "version": [
@@ -95050,18 +96016,27 @@
   }
  },
  {
-  "ename": "snippet",
-  "commit": "855ea20024b606314f8590129259747cac0bcc97",
-  "sha256": "1yld7y1hsrqs0f0iq7zfwknil5zqv65npm67nh548hbyy3rhgd68",
+  "ename": "snitch",
+  "commit": "8d08307e483c328075bbf933b2ea0c03bffe8b7c",
+  "sha256": "1zck9r251jj3q6q1glxj20812yhkv630qnd2y7q1kkjgp68gby7g",
   "fetcher": "github",
-  "repo": "pkazmier/snippet.el",
+  "repo": "mrmekon/snitch-el",
   "unstable": {
    "version": [
-    20130210,
-    2315
+    20210202,
+    1730
+   ],
+   "commit": "3b3e7f1bf612c4624764d1ec4b1a96e4d2850b05",
+   "sha256": "00r36xjglp7d1gkxkqlymqjkd8pmr5g0bg468xq9s5hp7g5md4ig"
+  },
+  "stable": {
+   "version": [
+    0,
+    3,
+    0
    ],
-   "commit": "11d00dd803874b93836f2010b08bd2c97b0f3c63",
-   "sha256": "1nyrfbjrg74wrqlh8229rf7ym07k2a0wscjm0kbg3sam9ryc546y"
+   "commit": "14e91336fb04c23d7b23836642eef3f2edef03bf",
+   "sha256": "1l06biw2af8yqivhmpwb6dxnslvm0xw4wr1ckmjq3yn7zx542viw"
   }
  },
  {
@@ -95243,14 +96218,14 @@
   "repo": "bbatsov/solarized-emacs",
   "unstable": {
    "version": [
-    20210112,
-    1050
+    20210202,
+    1730
    ],
    "deps": [
     "dash"
    ],
-   "commit": "93d124962106f4cec72e9c8ab8cb243c581d9d46",
-   "sha256": "11gsxakwmkymlmm8jjbkxi6ryhvfri06n2g8kh4s6abm15pnq6sh"
+   "commit": "4d4b004460271e310ca45606d24a60e95ca3151d",
+   "sha256": "1fjvi10asfz5qya91swma2k9w7a79kh7a3lik23gdqzxs0swmn4g"
   },
   "stable": {
    "version": [
@@ -95274,15 +96249,15 @@
   "repo": "ethereum/emacs-solidity",
   "unstable": {
    "version": [
-    20200113,
-    1721
+    20210122,
+    1746
    ],
    "deps": [
     "flycheck",
     "solidity-mode"
    ],
-   "commit": "d166a86b83907e0cfd64c191e9dfce4b44a9843e",
-   "sha256": "19hgvsrqch2vp49ag6m76bi5qxd20v95z0ib838rib9as15b17wq"
+   "commit": "b4fd719715be098921b6cbfb2ff9da31f3bd0d05",
+   "sha256": "0gsgj5485k7415wzq73xbj3ax9hh2l1j46ma5d0xkww3md3c3kca"
   },
   "stable": {
    "version": [
@@ -95309,8 +96284,8 @@
     20200529,
     1924
    ],
-   "commit": "d166a86b83907e0cfd64c191e9dfce4b44a9843e",
-   "sha256": "19hgvsrqch2vp49ag6m76bi5qxd20v95z0ib838rib9as15b17wq"
+   "commit": "b4fd719715be098921b6cbfb2ff9da31f3bd0d05",
+   "sha256": "0gsgj5485k7415wzq73xbj3ax9hh2l1j46ma5d0xkww3md3c3kca"
   },
   "stable": {
    "version": [
@@ -95428,20 +96403,20 @@
   "repo": "mssola/soria",
   "unstable": {
    "version": [
-    20200803,
-    1402
+    20210201,
+    1830
    ],
-   "commit": "d5274cc4a8e19ed0f1393a09192def951d025a11",
-   "sha256": "1zdcwccndgmn83xmlxqlx6azd03g7dxd2ldc3dj6yxbjasfx00x5"
+   "commit": "f765f193ccaf4ad438e1d9be842efd2f4394efa4",
+   "sha256": "1p6kzsci8hgccpjcy6swwa6yk741l6ay48rb35gmf03j04abszm0"
   },
   "stable": {
    "version": [
     0,
-    3,
-    3
+    4,
+    0
    ],
-   "commit": "d5274cc4a8e19ed0f1393a09192def951d025a11",
-   "sha256": "1zdcwccndgmn83xmlxqlx6azd03g7dxd2ldc3dj6yxbjasfx00x5"
+   "commit": "bca7a42db1245543d81373e67d71278a0e3135a2",
+   "sha256": "1i1hb5xg97frkhpmv608dlqs8wclwf78sq9q3sy9776m5zfdhcxl"
   }
  },
  {
@@ -95836,11 +96811,11 @@
   "repo": "nashamri/spacemacs-theme",
   "unstable": {
    "version": [
-    20200825,
-    1818
+    20210206,
+    1428
    ],
-   "commit": "1f5b03254de6bfa9645711f2b79781f5cca8d203",
-   "sha256": "04x8x557va2nsl1wginvaq9ha9wfk8l45dgs88sxm60jyrci802x"
+   "commit": "c8c468580048e2464f012d171b2101bfb208e33d",
+   "sha256": "1rbv04smfyhm5qm3ghn9vsl0sm4lv20gkpw2zdzrf0l3nkb7dx45"
   }
  },
  {
@@ -95917,8 +96892,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "62f198256453265af48bef3a0207e80143fbff1e",
-   "sha256": "0a49678yaq2vc04w4xp0i9lpb7bdf1fwhjkg0xnzssvnjcnk368k"
+   "commit": "e8c9345e2e2427282b3dc9cd1e297e3c76d34f7f",
+   "sha256": "1i799cq0dydq7jdhc1b2ridlsmmkk85286g9r6nj6kif3177l171"
   },
   "stable": {
    "version": [
@@ -95956,11 +96931,11 @@
   "repo": "condy0919/spdx.el",
   "unstable": {
    "version": [
-    20210109,
-    1842
+    20210301,
+    224
    ],
-   "commit": "e451b29f2702c60b664ad1e3e3ae253cfb969fa0",
-   "sha256": "0am4da6j5mianjj6ib5hf87z5v2q3wc8xlmgmna4mi70rx4bkz3x"
+   "commit": "63704d435255c1fe3d7579f0344e244c2fbdb706",
+   "sha256": "1fbpbj7jzm4djlbzvzjld2gs46wiy6gm9hd1pjg2rr987fl882rg"
   }
  },
  {
@@ -96102,16 +97077,16 @@
   "repo": "naiquevin/sphinx-doc.el",
   "unstable": {
    "version": [
-    20160116,
-    1117
+    20210213,
+    1250
    ],
    "deps": [
     "cl-lib",
     "dash",
     "s"
    ],
-   "commit": "f39da2e6cae55d5d7c7ce887e69755b7529bcd67",
-   "sha256": "1wif9wf8hwxk0q09cdnrmyas7zjg8l5b8jd6sjxd40ypn6dmz2ch"
+   "commit": "1eda612a44ef027e5229895daa77db99a21b8801",
+   "sha256": "0q72i95yx3xa57jlgr7dik6prf20hi8bp8xf3f5c6ificv7i5378"
   },
   "stable": {
    "version": [
@@ -96514,14 +97489,14 @@
   "repo": "purcell/sqlformat",
   "unstable": {
    "version": [
-    20200327,
-    2329
+    20210218,
+    312
    ],
    "deps": [
     "reformatter"
    ],
-   "commit": "9e6351dc97a6f58f221d6e1baa7bab292309c437",
-   "sha256": "1r49c8ick1vk7zl4h0472z0p6j3d5b839al3s687acgqdymb24kk"
+   "commit": "a7b38b20320b2b4f9ec109845fed3661da9b4a49",
+   "sha256": "164x6vskcby6h7jaz119wqn5x73pnsf53qq314v0q4ncw2917bym"
   },
   "stable": {
    "version": [
@@ -96625,11 +97600,11 @@
   "repo": "srcery-colors/srcery-emacs",
   "unstable": {
    "version": [
-    20200813,
-    1430
+    20210201,
+    1444
    ],
-   "commit": "c10f71465a416050ee4b9633aeabaee823ff3ba9",
-   "sha256": "1a5bblc5sfd0akrvjs2hysjs7a9fz4p6y44l00nmk43yl7bh0678"
+   "commit": "760dc6cb854383ab087d9b924de7273deddefe6a",
+   "sha256": "15anfzsfgddrlskppk068dzlz4zkg7xyk9727a7hwg4845126q6w"
   },
   "stable": {
    "version": [
@@ -96672,11 +97647,11 @@
   "repo": "srfi-explorations/emacs-srfi",
   "unstable": {
    "version": [
-    20210113,
-    2052
+    20210228,
+    1834
    ],
-   "commit": "1fe8720e2e1e8884eac512d28257d655306a9686",
-   "sha256": "1s99ynhkak2qpfy448yi1iwxss4zwz1p61279xv1771jx7aclcd3"
+   "commit": "12eec5df609b16f16b520eceb0681b74d9ae8aa6",
+   "sha256": "043mra5ysz00jxziqglzpkg5nmhc15lvv4n7q26c5yv2dn4nbdsq"
   },
   "stable": {
    "version": [
@@ -96789,11 +97764,11 @@
   "repo": "jhgorrell/ssh-config-mode-el",
   "unstable": {
    "version": [
-    20201223,
+    20210217,
     1051
    ],
-   "commit": "a236e04f2950bd9d7f7c79ad992d1f8b57df950d",
-   "sha256": "0d5vx8k18avnja6mlhzrsj3z5brs70fj3s7151zgjq5i12n6aqm2"
+   "commit": "820f60af17e71898303f4f3c2576f0619528a492",
+   "sha256": "1haypfhpbxsv2rm1wpskjdm0ddv34qvaiiyw8qhy1nn64q4b5xx0"
   }
  },
  {
@@ -96865,11 +97840,11 @@
   "repo": "stan-dev/stan-mode",
   "unstable": {
    "version": [
-    20200830,
-    1032
+    20210130,
+    1325
    ],
-   "commit": "2dd330604563d143031fc8ffd516266217aa1f9b",
-   "sha256": "1l49fqd4wh9bkdpb4mk5a1cbl5i3iwc3q690viakhpb4840jmlry"
+   "commit": "9bb858b9f1314dcf1a5df23e39f9af522098276b",
+   "sha256": "031418nkp9qwlxda8i3ankp3lq94sv8a8ijwrbcwb4w3ssr9j3ds"
   },
   "stable": {
    "version": [
@@ -96889,15 +97864,15 @@
   "repo": "stan-dev/stan-mode",
   "unstable": {
    "version": [
-    20200830,
-    1032
+    20210130,
+    1325
    ],
    "deps": [
     "stan-mode",
     "yasnippet"
    ],
-   "commit": "2dd330604563d143031fc8ffd516266217aa1f9b",
-   "sha256": "1l49fqd4wh9bkdpb4mk5a1cbl5i3iwc3q690viakhpb4840jmlry"
+   "commit": "9bb858b9f1314dcf1a5df23e39f9af522098276b",
+   "sha256": "031418nkp9qwlxda8i3ankp3lq94sv8a8ijwrbcwb4w3ssr9j3ds"
   },
   "stable": {
    "version": [
@@ -97100,16 +98075,16 @@
     20200606,
     1308
    ],
-   "commit": "417b344e3c97beb2e50c2c919b0d01cb0d4ed9a5",
-   "sha256": "105va5nb5wgqkw25rdc2d591c6fcd9wa3dzsyvg3y83fcxhqgi7g"
+   "commit": "755c709c02e4e091ceb934fd5672db416fc94dbd",
+   "sha256": "08fb1qlld0dyi7i1pd5xb1g6z2681nyrqfl1ihq0gr8dal6mc772"
   },
   "stable": {
    "version": [
-    0,
-    23
+    1,
+    0
    ],
-   "commit": "e6dd7eff206a6515aefced2ad701beaf625d7b7d",
-   "sha256": "157vdhdjzxsf7077916ibn0jbsxw9d71m8mwm4kn0i0ip7sj9xdg"
+   "commit": "11aa5944459e464a96f41d934e23da5320c13333",
+   "sha256": "0nc388hi362rks9q60yvs2gbbf9v6qp031c0linv29wdqvavwva1"
   }
  },
  {
@@ -97443,11 +98418,11 @@
   "repo": "PythonNut/su.el",
   "unstable": {
    "version": [
-    20200820,
-    57
+    20210226,
+    42
    ],
-   "commit": "eadfacdbcb8d54d83f6f6cfe7990b492f7217453",
-   "sha256": "0xwkkzs4pl3wgjq7n43klkh814h3kzh0mwnka07dbb0gv1xmaigl"
+   "commit": "787f78989253f4568942a4cece5f135f005e135f",
+   "sha256": "1sr6lwjd2py0pncbx4qxa8wfxa3fnmfhxr944aid672hba2pdx7s"
   }
  },
  {
@@ -97619,6 +98594,30 @@
   }
  },
  {
+  "ename": "sudo-utils",
+  "commit": "20960a5caad9e3f51160fa1786ba422f0e01dc99",
+  "sha256": "1jlzw4bl8mdr7yijsb93d32cqnn7rphbdsf9cnkzrlr7dkcrnwyg",
+  "fetcher": "github",
+  "repo": "alpha-catharsis/sudo-utils",
+  "unstable": {
+   "version": [
+    20210119,
+    1930
+   ],
+   "commit": "089f7833fa256f293284a6286bf9cb2b78eff40d",
+   "sha256": "03kks8sqw1j8ywzk3bvcb8i6v3px5zr05c4pnrwmls724m79sagd"
+  },
+  "stable": {
+   "version": [
+    3,
+    0,
+    1
+   ],
+   "commit": "089f7833fa256f293284a6286bf9cb2b78eff40d",
+   "sha256": "03kks8sqw1j8ywzk3bvcb8i6v3px5zr05c4pnrwmls724m79sagd"
+  }
+ },
+ {
   "ename": "sudoku",
   "commit": "f9861d5d4cf18466b17ac8e53f3874df5312d3f3",
   "sha256": "14nbidjnsm9lwknmqgfr721b484z5156j723kr1wbfv70j8h9kys",
@@ -97837,11 +98836,11 @@
   "repo": "leafOfTree/svelte-mode",
   "unstable": {
    "version": [
-    20210111,
-    1314
+    20210222,
+    1037
    ],
-   "commit": "266db1fc882efe17bba7033d69ec663ab4cca5f9",
-   "sha256": "0v1brx89qswf9803spxi9rb02mfppg1fhx7azd9q7wvh4r1n98v3"
+   "commit": "25d0018036f44ff9bd685a1c9a76d8ba57c1024d",
+   "sha256": "070i3k5djw2m1763ihqngpxfmdxq7gs058fvjaaf62dpkqy9vv3a"
   }
  },
  {
@@ -97882,11 +98881,11 @@
   "repo": "rougier/svg-tag-mode",
   "unstable": {
    "version": [
-    20201129,
-    608
+    20210227,
+    1105
    ],
-   "commit": "87489d28450559078aa15b4a435143a297508e48",
-   "sha256": "0gyhmv60dx0zxx4bmhzsd7q5vfnkpfwlj6539bn272fwcr7zncp8"
+   "commit": "a34a2e1128fa99f999c34c3bc6642fb62b887f34",
+   "sha256": "01apd8agfdhr662lkiy5rh2xvr913754f9zz7f5hn4vkmfgambrh"
   }
  },
  {
@@ -98144,26 +99143,26 @@
   "repo": "abo-abo/swiper",
   "unstable": {
    "version": [
-    20201208,
-    1419
+    20210225,
+    1251
    ],
    "deps": [
     "ivy"
    ],
-   "commit": "cbce9ce71429c98c67bd76ef15d049ecced042f7",
-   "sha256": "08lgvpvkhp2i9q73bnr2v17w864rwp6wjnrl3b7qg06dacfs2rvl"
+   "commit": "e005666df39ca767e6d5ab71b1a55d8c08395259",
+   "sha256": "1c5d3ca2xll6x3px30cpasq2sd32shr37ivdm50wqr9q1yl22dm2"
   },
   "stable": {
    "version": [
     0,
     13,
-    0
+    2
    ],
    "deps": [
     "ivy"
    ],
-   "commit": "cd634c6f51458f81898ecf2821ac3169cb65a1eb",
-   "sha256": "0ghcwrg8a6r5q6fw2x8s08cwlmnz2d8qjhisnjwbnc2l4cgqpd9p"
+   "commit": "1deef7672b25e2cb89dfe5cc6e8865bc6f2bcd4e",
+   "sha256": "0mbdjralgb591hffzi60v0b2rw8idxky9pc8xwn1395jv30kkzfb"
   }
  },
  {
@@ -98411,13 +99410,13 @@
   "repo": "wolray/symbol-overlay",
   "unstable": {
    "version": [
-    20200828,
-    425
+    20210118,
+    807
    ],
    "deps": [
     "seq"
    ],
-   "commit": "39f772b531117edba596e7a1210b3dbb87d56adb",
+   "commit": "5bcd6d7e3f3b6501ccec3e6c378f33f7e7488c99",
    "sha256": "10n0871xzycifyqp73xnbqmrgy60imlb26yhm3p6vfj3d84mg1b2"
   },
   "stable": {
@@ -98466,11 +99465,11 @@
   "repo": "countvajhula/symex.el",
   "unstable": {
    "version": [
-    20210113,
-    1943
+    20210219,
+    2348
    ],
    "deps": [
-    "dash-functional",
+    "dash",
     "evil",
     "evil-cleverparens",
     "evil-surround",
@@ -98481,8 +99480,8 @@
     "smartparens",
     "undo-tree"
    ],
-   "commit": "c535794b539627b26b7e73481e41f3c870d4b33e",
-   "sha256": "0pyyjbwcacql4l45fi6jxxvrm4alz9rm8pp6abikh5di98yidjm6"
+   "commit": "a8e573324a56e131b92967802a8df88bedd1ef6f",
+   "sha256": "015ijjzzrx6gjh1qgb7ja6fwffialck814y1japg6d6smkd8b82i"
   },
   "stable": {
    "version": [
@@ -98795,11 +99794,11 @@
   "repo": "holomorph/systemd-mode",
   "unstable": {
    "version": [
-    20191219,
-    2304
+    20210209,
+    2052
    ],
-   "commit": "51c148e09a129ddf33d95276aa0e89d4ef6f8dd2",
-   "sha256": "0mikrj91qip5f0sj62c4gamvw7h6wc0yz8cfyzj9h3gxrllkp87k"
+   "commit": "b6ae63a236605b1c5e1069f7d3afe06ae32a7bae",
+   "sha256": "0q1f5mnx6npr6c94x93lyza87kxjy08v7x4by13wp23fxaqxgzaf"
   },
   "stable": {
    "version": [
@@ -98855,6 +99854,54 @@
   }
  },
  {
+  "ename": "tab-bar-echo-area",
+  "commit": "82df49c34664a5078d92e6015abc6f965d34791e",
+  "sha256": "0y91iyllpy4hf2y9saw4p3rj1q34fziw40f64glcsbnv37jkifp3",
+  "fetcher": "github",
+  "repo": "fritzgrabo/tab-bar-echo-area",
+  "unstable": {
+   "version": [
+    20210221,
+    2336
+   ],
+   "commit": "7fe200bf2c7397abe5623d1b05983eaccc467320",
+   "sha256": "16rf0b33adj780ix3x7xhp74dbx6f2044dzihpl77ar1yd48dhc7"
+  }
+ },
+ {
+  "ename": "tab-bar-groups",
+  "commit": "7c3efd2b2a7030a45244adf07ec9014c6e4540e9",
+  "sha256": "0c1a26ynjbf6dp2g7lx6iwnrqhri93k57fhfb2dvkb7ya58df7v3",
+  "fetcher": "github",
+  "repo": "fritzgrabo/tab-bar-groups",
+  "unstable": {
+   "version": [
+    20210213,
+    2138
+   ],
+   "deps": [
+    "s"
+   ],
+   "commit": "930a86edcfe7c0e33e16bfe2501dbe285a443df9",
+   "sha256": "14vpwh2yh1626jlc1ifyl7lfyv2lsczcgsbjs4flbpv83c9biq8s"
+  }
+ },
+ {
+  "ename": "tab-bar-lost-commands",
+  "commit": "6f2d6b740ab3a35d111381f3358b9f6b52c3df7c",
+  "sha256": "149rf304ylksdv5l23gz4zkx42cv5ym286j2k0qbj51gfg73kks4",
+  "fetcher": "github",
+  "repo": "fritzgrabo/tab-bar-lost-commands",
+  "unstable": {
+   "version": [
+    20210215,
+    1412
+   ],
+   "commit": "e587cdb5d6d2c8d509c43db4b5bb285415916c4e",
+   "sha256": "1bnpcfh0lzjz4f1lbj2jqz7ly6d3bv8jhi4lxr5pj3g21437xf4y"
+  }
+ },
+ {
   "ename": "tab-group",
   "commit": "ad758d865bde8c97d27c0d57cabe1606f8b36974",
   "sha256": "1i5lxpf3wmqnqj9mzgcn4gp1gjxp737awrzl1dml5wnarbbj4fs9",
@@ -99107,11 +100154,11 @@
   "repo": "saf-dmitry/taskpaper-mode",
   "unstable": {
    "version": [
-    20210104,
-    1044
+    20210228,
+    2046
    ],
-   "commit": "fe4030a3b44a283dc3e1062d40f2bb7ab08db542",
-   "sha256": "0y9c40dw9fcrjf9pdqiva12fha6d3yww6yip1g7dadi648hzr0ip"
+   "commit": "62b112a335a62fbc6898401761275cff5d173821",
+   "sha256": "0xnjwsw6ri46i5gygmn5p9ashwp1lcxglqgnllrq8b918qrayww1"
   },
   "stable": {
    "version": [
@@ -99298,28 +100345,28 @@
   "repo": "zevlg/telega.el",
   "unstable": {
    "version": [
-    20210114,
-    1122
+    20210228,
+    1348
    ],
    "deps": [
     "rainbow-identifiers",
     "visual-fill-column"
    ],
-   "commit": "d72bd42f57c0a09c2e91ecb69516b2eaab1991bd",
-   "sha256": "05czr9wwvqbhrvvslv2nsgip78ayfx4p6lfbdxnq44qjmfvamx0y"
+   "commit": "d3e5d654e1a86019f85dd8c41923fce29fab45d6",
+   "sha256": "116ff8d8ir7dnmmm6qiy82i9ikziyx0xmy35v2p3dz4qib32n0yh"
   },
   "stable": {
    "version": [
     0,
     7,
-    9
+    20
    ],
    "deps": [
     "rainbow-identifiers",
     "visual-fill-column"
    ],
-   "commit": "f87858583ca7c0e4328f3373aa57d715fd25bbb7",
-   "sha256": "14954lpkd22p3q66lykbl0fvapdly9cll313jrag5qzbcccrxq5j"
+   "commit": "0ed5173a2eaf1c049f3393c1518bb534a3a9ac94",
+   "sha256": "0g0ffxd9p0l772p6bc3s2sr3rlvgmds5jvr0fn6fnv9sypvzplfq"
   }
  },
  {
@@ -99353,16 +100400,16 @@
   "repo": "dbordak/telephone-line",
   "unstable": {
    "version": [
-    20200516,
-    2102
+    20210211,
+    117
    ],
    "deps": [
     "cl-generic",
     "cl-lib",
     "seq"
    ],
-   "commit": "110c578ccf6c0421cfd9eec7aa3e960b6fd49fb4",
-   "sha256": "157df4h9hr5mmwp0q5w0rdv7ndrjk3014r5xwwblszvx33s70gbk"
+   "commit": "2fbcdb44a9dfa608c44b19e731d15438b4b03d87",
+   "sha256": "0y7zak23cri9glysdmx035fvzrcpzr0fzsvjx9vcanlivq94v7fq"
   },
   "stable": {
    "version": [
@@ -99386,11 +100433,11 @@
   "repo": "lassik/emacs-teletext",
   "unstable": {
    "version": [
-    20201019,
-    700
+    20210222,
+    901
    ],
-   "commit": "e674ff636e9d15cade171ef432aaeead8109dc48",
-   "sha256": "0ws2b1kmhrbnhmy2ld7kjkximqpbb8cdcpvz33638ylcvb46vd1x"
+   "commit": "7092a52b18b4b13b36f4558fade98f89e182e00d",
+   "sha256": "15rhrkb454kby6n4i669d2l24n7m3xa7nm9p68nbqs04c4sinynq"
   }
  },
  {
@@ -99437,20 +100484,20 @@
   "repo": "clarete/templatel",
   "unstable": {
    "version": [
-    20210111,
-    521
+    20210218,
+    1340
    ],
-   "commit": "6dd630e5786e500441b5acbfe5868d7172a2dbcf",
-   "sha256": "1kqxmainf31d1s2qbwanwzp9dij0i6zj9pp3833clnybf4l90cr6"
+   "commit": "c1bb14cbaf47a24b0765b68ac6f252d0b5e2809f",
+   "sha256": "1sk8g4gs9103f2sk76x6zx8i74zr79fr30mg87x4shlrnj6a54fq"
   },
   "stable": {
    "version": [
     0,
     1,
-    3
+    4
    ],
-   "commit": "8c4ba0d5db5280a78d94bb1cc3dbd2f1abd37e9e",
-   "sha256": "177m72c2gdmp2jq55z1sgff8izpv39n1s7qsin2bfl4p9ccwywmr"
+   "commit": "1a7784e5ec9a5e43adae56674aa63e8b3cf7a2cd",
+   "sha256": "1k33h503038l2bcr8gs020z2cjxfs94lamkdgv52cvd9i20d0kqq"
   }
  },
  {
@@ -100374,18 +101421,18 @@
     20200212,
     1903
    ],
-   "commit": "442466ab9411594350d4f9ef012f9892d4034773",
-   "sha256": "0srj6fnk7damyh6snwnvl599iad4ys7dw944vp0d4wpay0sxqvcl"
+   "commit": "2a5e467de2a63fd59b15c347581f3c5dca349e2b",
+   "sha256": "0px46fq29xdsgys525l5ba0zbqq9d86c739zqlqnn3safvg5vrih"
   },
   "stable": {
    "version": [
     2021,
-    1,
-    11,
+    2,
+    22,
     0
    ],
-   "commit": "c72b2fa29856d45c91f5ed6c98fca6d723246977",
-   "sha256": "1y2hjw2a0dq6vzyfg7hcn09dbw00rfyblzibf5i7s08jbvp2zzin"
+   "commit": "a0eb44d20005e25284d0204f42387ff872bf52b9",
+   "sha256": "1294wsx9g3k2y5prgxr7w8ms6h0af8c0xijvh4fjil6bsx729c6b"
   }
  },
  {
@@ -100435,26 +101482,26 @@
   "repo": "tidalcycles/Tidal",
   "unstable": {
    "version": [
-    20210107,
-    1831
+    20210211,
+    1531
    ],
    "deps": [
     "haskell-mode"
    ],
-   "commit": "0a3a5f9d0aad689ad87649647944d6dca6c16bb5",
-   "sha256": "1lrwjxx0a3lalwbpndf751b1wn2yv3j2x58xa5kby63dxnxf77ph"
+   "commit": "839c9ae0db91509015d7638905d2d7a4811f877d",
+   "sha256": "1gm8i3bvqkdk2fmkl1lbra1hqlag18bi0fq1mi6grw5lkmmlhay2"
   },
   "stable": {
    "version": [
     1,
-    6,
-    1
+    7,
+    2
    ],
    "deps": [
     "haskell-mode"
    ],
-   "commit": "7377b6c8ddc23d197018af203456063864df1457",
-   "sha256": "0vj55135h0mw093b9rlnq8hka9sj4kmhnv8xj46z2kcqj0qcq7q8"
+   "commit": "223b0f4388dce62c82eb2fb86cf1351d42aef198",
+   "sha256": "0k93i9smhw5bws2xiybha15g26mwyq0zj6xzxccwh0bfpl76xzqq"
   }
  },
  {
@@ -100465,8 +101512,8 @@
   "repo": "ananthakumaran/tide",
   "unstable": {
    "version": [
-    20210105,
-    812
+    20210211,
+    1055
    ],
    "deps": [
     "cl-lib",
@@ -100475,8 +101522,8 @@
     "s",
     "typescript-mode"
    ],
-   "commit": "e622d4d879d8b1de2517962b243146ec18b6cfff",
-   "sha256": "1963yf9nzx4hgp16c9vyn3drx9ypyni4xrrz1kylkb3mcm10y97v"
+   "commit": "7f7334b42a40dd3093b830e887c36cdb4ef40858",
+   "sha256": "0krixylc58lglpi6kgwlxfd47c90vmck3cml0h3awplbyyr8b5vg"
   },
   "stable": {
    "version": [
@@ -100951,8 +101998,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "c6ccdc83e85719a8bb07ef715cf5fd06866a479c",
-   "sha256": "0z8rykhhhwccy0zg6v3gnghfiawqw3afv4pvxr1hrympiyhyvhvp"
+   "commit": "74e1fcbeca25734235afec9c6a4d0cf73736b62c",
+   "sha256": "0yrcsr4360v222klahbccfq3vb4kp5xdsibydwircv36xhxplzq3"
   }
  },
  {
@@ -101245,14 +102292,14 @@
   "repo": "trueroad/tr-emacs-ime-module",
   "unstable": {
    "version": [
-    20201128,
-    928
+    20210202,
+    1057
    ],
    "deps": [
     "w32-ime"
    ],
-   "commit": "9406b498e6a256a5928f03cd089fdd2823b03876",
-   "sha256": "0q4f7c1nrvz58ycbjgfih1m3xyb0x4wn405yz4gm1172j0phcmlj"
+   "commit": "8fd8ae64f71d1d69d7e1bcc47a6f65aa7f8e6993",
+   "sha256": "020qvjszwkx5klgh865vs5z17ym651i4zzq7c4sz6qwv361ygfm8"
   },
   "stable": {
    "version": [
@@ -101424,20 +102471,20 @@
   "repo": "magit/transient",
   "unstable": {
    "version": [
-    20210103,
-    1546
+    20210228,
+    1207
    ],
-   "commit": "7811dcff825210c17bd15525fb6a98854501af99",
-   "sha256": "1nwpwviica8fv8q8pfgx0r4888giq48x0phgl2mkvbz8rr6nyn50"
+   "commit": "1e090b0cd4ea58c9fb5e807e4ebd7bdb9a7b66ba",
+   "sha256": "0ci7khr2cp185kv4lm4a87fd7sgrjzz12k7w1s4iicaqvfryw9l5"
   },
   "stable": {
    "version": [
     0,
-    2,
+    3,
     0
    ],
-   "commit": "a269614c69ad8b2703e6e5093d0017d6afad6cca",
-   "sha256": "0w50sh55c04gacx2pp19rvi0fwj9h19c9gzd8dpa82zjiidfxckr"
+   "commit": "9ca983bab26d1a8e189a8c44471d9575284b268d",
+   "sha256": "0g694ydmb9zjn99hxgfjd3m73kpmnkbrgqhr73b4crbxza5sl29c"
   }
  },
  {
@@ -101485,14 +102532,14 @@
   "repo": "holomorph/transmission",
   "unstable": {
    "version": [
-    20210106,
-    2057
+    20210218,
+    2015
    ],
    "deps": [
     "let-alist"
    ],
-   "commit": "7cf0d739a8a7834d6c3896b62122a0fc6953d371",
-   "sha256": "1gy4fmjpymabs4z5k3j07di6hqpx6w592w4qvq1iccapy1kqxbj1"
+   "commit": "b5c1d391b4be469a07536e901e54a8680387025f",
+   "sha256": "1z3gzax6i9cwipmi64hg3h98haimlb0xsz4zm1ggqwwq1zd5csvp"
   },
   "stable": {
    "version": [
@@ -101631,6 +102678,24 @@
   }
  },
  {
+  "ename": "tray",
+  "commit": "26905a583fa78d1cf23e34ed983bbc132f5d71a4",
+  "sha256": "1c5rjyi7y5bni8mviafyfiwzrd6af3s82n87298d4356sjrggf2b",
+  "fetcher": "git",
+  "url": "https://git.sr.ht/~tarsius/tray",
+  "unstable": {
+   "version": [
+    20210214,
+    1119
+   ],
+   "deps": [
+    "transient"
+   ],
+   "commit": "e2b169daae9d1d6f7e9fc32365247027fb4e87ba",
+   "sha256": "1wrip00q6lbpllhaz0c7llnm774dq2mizr39ynfssvsdci38z1lm"
+  }
+ },
+ {
   "ename": "tree-mode",
   "commit": "84f836338818946a6bb31d35d6ae959571128ed5",
   "sha256": "1b15xgh96j4qas1kh4ghczcn7hb1ri86wnjgn9wz2d6bw3c6077b",
@@ -101653,26 +102718,26 @@
   "repo": "ubolonton/emacs-tree-sitter",
   "unstable": {
    "version": [
-    20201229,
-    1403
+    20210116,
+    621
    ],
    "deps": [
     "tsc"
    ],
-   "commit": "e7f2f625c1b9a2dce4f6b16a5affbb4f57337ae0",
-   "sha256": "0175mr8wqkrv83lyx7q9vbb6j90abqfbd3h1qc1kqb80p03l5vcr"
+   "commit": "1d44e10cf93f6b814fb0a2a69e689537edd530d7",
+   "sha256": "0vyqvi74d7sb3bv4frrqwfqkw3jhd5nfnw06wx630x13cyq1n6pg"
   },
   "stable": {
    "version": [
     0,
     13,
-    0
+    1
    ],
    "deps": [
     "tsc"
    ],
-   "commit": "a3aef9113365032d55fedbbe08ab7b04f5268d14",
-   "sha256": "1n8mxd7fhs2brblrfr5892j5xqgh247d8ngnkhwq6acn8hfxn7qf"
+   "commit": "d569763c143fdf4ba8480befbb4b8ce1e49df5e2",
+   "sha256": "1rw21nc78m4xngl3i3dmlzrzlqb8rgvlpal6d4f50zdlfbn4pa4v"
   }
  },
  {
@@ -101683,45 +102748,57 @@
   "url": "https://codeberg.org/FelipeLema/tree-sitter-indent.el.git",
   "unstable": {
    "version": [
-    20201231,
-    1842
+    20210215,
+    1506
+   ],
+   "deps": [
+    "seq",
+    "tree-sitter"
+   ],
+   "commit": "831a48571ccf14b8a8c607504a6e8e9263ff6dd4",
+   "sha256": "1dfmlmmf13qzzfpmpc6lgwjhz8hnz5ys2fw4w3rrz6swfaa2vr53"
+  },
+  "stable": {
+   "version": [
+    0,
+    3
    ],
    "deps": [
     "seq",
     "tree-sitter"
    ],
-   "commit": "a11aa84a768cff2d40db7ef0c6029742b7ce46a1",
-   "sha256": "1zxzmqdyw681vzxwhs7bi4xylqy99v0jajsv03mppsslxl4l2fwm"
+   "commit": "831a48571ccf14b8a8c607504a6e8e9263ff6dd4",
+   "sha256": "1dfmlmmf13qzzfpmpc6lgwjhz8hnz5ys2fw4w3rrz6swfaa2vr53"
   }
  },
  {
   "ename": "tree-sitter-langs",
-  "commit": "18f57da9ff7c07ce05c9dbd23eba87f2f34e17f3",
-  "sha256": "147p5hmpys4qhg5ymsmgbc3wx3x2jjw625waprfph7sr6h2cfrps",
+  "commit": "4029e21f74841db0c82f4a343a3b51b09cae2f25",
+  "sha256": "0jygxdlh94blfn5gxn949ic2v2x49cvl0rfzmvig3igyfwmm33sp",
   "fetcher": "github",
-  "repo": "ubolonton/emacs-tree-sitter",
+  "repo": "ubolonton/tree-sitter-langs",
   "unstable": {
    "version": [
-    20210113,
-    1755
+    20210228,
+    1450
    ],
    "deps": [
     "tree-sitter"
    ],
-   "commit": "e7f2f625c1b9a2dce4f6b16a5affbb4f57337ae0",
-   "sha256": "0175mr8wqkrv83lyx7q9vbb6j90abqfbd3h1qc1kqb80p03l5vcr"
+   "commit": "fcd267f5d141b0de47f0da16306991ece93100a1",
+   "sha256": "0vyln2gh7x6fkn1wm5z81ibbn7ly440zb68yg7xmyvmxy8xyqfmm"
   },
   "stable": {
    "version": [
     0,
-    13,
-    0
+    9,
+    2
    ],
    "deps": [
     "tree-sitter"
    ],
-   "commit": "a3aef9113365032d55fedbbe08ab7b04f5268d14",
-   "sha256": "1n8mxd7fhs2brblrfr5892j5xqgh247d8ngnkhwq6acn8hfxn7qf"
+   "commit": "d13a43e286e9e20daf6c6dd29357ac4992208747",
+   "sha256": "11ap8rwsa83pq8850sbn9w46imdi3w8zncqp56g57gwgkkq11l6h"
   }
  },
  {
@@ -101768,22 +102845,21 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20210110,
-    2030
+    20210228,
+    1117
    ],
    "deps": [
     "ace-window",
     "cfrs",
     "cl-lib",
     "dash",
-    "f",
     "ht",
     "hydra",
     "pfuture",
     "s"
    ],
-   "commit": "16d757fc697a73cbf7920caf2f598e839e7e0e56",
-   "sha256": "036chafmgx0zdqa00yb5y0y6lq6mfimlvwhzkdy1n982jgqvk12f"
+   "commit": "0952728fc40022ca7db8e7a58c95e41e8d5448f1",
+   "sha256": "0qmzqjli07ck460mkr097ji74v4hrdsb5q5d5x7211fdxkfirwss"
   },
   "stable": {
    "version": [
@@ -101812,15 +102888,15 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20210107,
-    1251
+    20210118,
+    1808
    ],
    "deps": [
     "all-the-icons",
     "treemacs"
    ],
-   "commit": "16d757fc697a73cbf7920caf2f598e839e7e0e56",
-   "sha256": "036chafmgx0zdqa00yb5y0y6lq6mfimlvwhzkdy1n982jgqvk12f"
+   "commit": "0952728fc40022ca7db8e7a58c95e41e8d5448f1",
+   "sha256": "0qmzqjli07ck460mkr097ji74v4hrdsb5q5d5x7211fdxkfirwss"
   }
  },
  {
@@ -101838,8 +102914,8 @@
     "evil",
     "treemacs"
    ],
-   "commit": "16d757fc697a73cbf7920caf2f598e839e7e0e56",
-   "sha256": "036chafmgx0zdqa00yb5y0y6lq6mfimlvwhzkdy1n982jgqvk12f"
+   "commit": "0952728fc40022ca7db8e7a58c95e41e8d5448f1",
+   "sha256": "0qmzqjli07ck460mkr097ji74v4hrdsb5q5d5x7211fdxkfirwss"
   },
   "stable": {
    "version": [
@@ -101868,8 +102944,8 @@
    "deps": [
     "treemacs"
    ],
-   "commit": "16d757fc697a73cbf7920caf2f598e839e7e0e56",
-   "sha256": "036chafmgx0zdqa00yb5y0y6lq6mfimlvwhzkdy1n982jgqvk12f"
+   "commit": "0952728fc40022ca7db8e7a58c95e41e8d5448f1",
+   "sha256": "0qmzqjli07ck460mkr097ji74v4hrdsb5q5d5x7211fdxkfirwss"
   },
   "stable": {
    "version": [
@@ -101900,8 +102976,8 @@
     "pfuture",
     "treemacs"
    ],
-   "commit": "16d757fc697a73cbf7920caf2f598e839e7e0e56",
-   "sha256": "036chafmgx0zdqa00yb5y0y6lq6mfimlvwhzkdy1n982jgqvk12f"
+   "commit": "0952728fc40022ca7db8e7a58c95e41e8d5448f1",
+   "sha256": "0qmzqjli07ck460mkr097ji74v4hrdsb5q5d5x7211fdxkfirwss"
   },
   "stable": {
    "version": [
@@ -101933,8 +103009,8 @@
     "persp-mode",
     "treemacs"
    ],
-   "commit": "16d757fc697a73cbf7920caf2f598e839e7e0e56",
-   "sha256": "036chafmgx0zdqa00yb5y0y6lq6mfimlvwhzkdy1n982jgqvk12f"
+   "commit": "0952728fc40022ca7db8e7a58c95e41e8d5448f1",
+   "sha256": "0qmzqjli07ck460mkr097ji74v4hrdsb5q5d5x7211fdxkfirwss"
   },
   "stable": {
    "version": [
@@ -101958,16 +103034,16 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20210114,
-    2135
+    20210116,
+    1155
    ],
    "deps": [
     "dash",
     "perspective",
     "treemacs"
    ],
-   "commit": "16d757fc697a73cbf7920caf2f598e839e7e0e56",
-   "sha256": "036chafmgx0zdqa00yb5y0y6lq6mfimlvwhzkdy1n982jgqvk12f"
+   "commit": "0952728fc40022ca7db8e7a58c95e41e8d5448f1",
+   "sha256": "0qmzqjli07ck460mkr097ji74v4hrdsb5q5d5x7211fdxkfirwss"
   }
  },
  {
@@ -101985,8 +103061,8 @@
     "projectile",
     "treemacs"
    ],
-   "commit": "16d757fc697a73cbf7920caf2f598e839e7e0e56",
-   "sha256": "036chafmgx0zdqa00yb5y0y6lq6mfimlvwhzkdy1n982jgqvk12f"
+   "commit": "0952728fc40022ca7db8e7a58c95e41e8d5448f1",
+   "sha256": "0qmzqjli07ck460mkr097ji74v4hrdsb5q5d5x7211fdxkfirwss"
   },
   "stable": {
    "version": [
@@ -102240,20 +103316,20 @@
   "repo": "ubolonton/emacs-tree-sitter",
   "unstable": {
    "version": [
-    20201229,
-    1403
+    20210116,
+    621
    ],
-   "commit": "e7f2f625c1b9a2dce4f6b16a5affbb4f57337ae0",
-   "sha256": "0175mr8wqkrv83lyx7q9vbb6j90abqfbd3h1qc1kqb80p03l5vcr"
+   "commit": "1d44e10cf93f6b814fb0a2a69e689537edd530d7",
+   "sha256": "0vyqvi74d7sb3bv4frrqwfqkw3jhd5nfnw06wx630x13cyq1n6pg"
   },
   "stable": {
    "version": [
     0,
     13,
-    0
+    1
    ],
-   "commit": "a3aef9113365032d55fedbbe08ab7b04f5268d14",
-   "sha256": "1n8mxd7fhs2brblrfr5892j5xqgh247d8ngnkhwq6acn8hfxn7qf"
+   "commit": "d569763c143fdf4ba8480befbb4b8ce1e49df5e2",
+   "sha256": "1rw21nc78m4xngl3i3dmlzrzlqb8rgvlpal6d4f50zdlfbn4pa4v"
   }
  },
  {
@@ -102881,28 +103957,28 @@
   "repo": "undercover-el/undercover.el",
   "unstable": {
    "version": [
-    20200830,
-    1638
+    20210123,
+    2157
    ],
    "deps": [
     "dash",
     "shut-up"
    ],
-   "commit": "a73c50aedbca0416d0e4d4fbeee27131bdd117aa",
-   "sha256": "0jkbwj8qb10nsl7imcnjlhrp1c9skw088cirrvn7380hlq07w346"
+   "commit": "c36a7366aa080558125fa651ed6a28d5df735b37",
+   "sha256": "0qji4738q0yx2n0xrpk12q2akx8rgsvpfgnnfxrnk8xiywjfrqwz"
   },
   "stable": {
    "version": [
     0,
-    7,
+    8,
     0
    ],
    "deps": [
     "dash",
     "shut-up"
    ],
-   "commit": "9515b247649d05219bf96b1843eed7c4d02a332e",
-   "sha256": "1dh4cpn1l1shchr0gg6jyld1qbjn3fy12s43pksfww4sm4rjn9rn"
+   "commit": "0bc3583065e49647db47d8a595fec13cb517d12f",
+   "sha256": "19d3373fy635vbfwr1yhxirwqn68qzny9byv74smxws4ly04mr02"
   }
  },
  {
@@ -102987,8 +104063,8 @@
     20200701,
     1435
    ],
-   "commit": "c0806c1903c5a0e4c69b6615cdc3366470a9b8ca",
-   "sha256": "1n594aakmcgyl7qbda86v4wsx8clm62ypiv3h559xz3x72h7mr3j"
+   "commit": "f4db4c9b9875134df6f5279281099361ae11c2e9",
+   "sha256": "0s88mz3x9iwz4hj1n4l4nmya473hcv8wsps8dyx4mmgzgpdb1lvf"
   }
  },
  {
@@ -103002,8 +104078,8 @@
     20201218,
     400
    ],
-   "commit": "702210384a0c68f04aabc23e08ebd4d6f43ea2c7",
-   "sha256": "0brd92jln528j7hh8gyv5wz451cfpayvkz9fic7b0wisnwgvq26b"
+   "commit": "a0389147365c10c974ad68b797b185affb935fe3",
+   "sha256": "0qdls5h0ryh93ziwd5gibhknz8n9v66fyp55iwjk8zblgahnm6ym"
   }
  },
  {
@@ -103014,11 +104090,11 @@
   "repo": "jackkamm/undo-propose-el",
   "unstable": {
    "version": [
-    20200204,
-    1612
+    20210207,
+    45
    ],
-   "commit": "5a9eb34ed945a4d62362528cc7557b9c4e81a12b",
-   "sha256": "10ybvgdrw9hzqwbzvsr3hmzci4yp9rxi5nbcm6iafrsn7p1vv1wj"
+   "commit": "91a1dfe516d90dab69c368f6669bacb2458ec5e9",
+   "sha256": "15rmg7gl4yz3kfb1096fq20y0fnfc35jmppg7nl4vi71xv4db35d"
   }
  },
  {
@@ -103652,14 +104728,14 @@
   "repo": "jwiegley/use-package",
   "unstable": {
    "version": [
-    20210106,
-    2145
+    20210207,
+    1926
    ],
    "deps": [
     "bind-key"
    ],
-   "commit": "365c73d2618dd0040a32c2601c5456ab5495b812",
-   "sha256": "10c0rmi5axypx0xy3fib739rjnakl32spwcirzxz1p5r0x9gya4a"
+   "commit": "a7422fb8ab1baee19adb2717b5b47b9c3812a84c",
+   "sha256": "1zz2gg475254hbbxw4y82b2m2iy8cvx0phh030daax315hdbsaqb"
   },
   "stable": {
    "version": [
@@ -103691,8 +104767,8 @@
     "key-chord",
     "use-package"
    ],
-   "commit": "365c73d2618dd0040a32c2601c5456ab5495b812",
-   "sha256": "10c0rmi5axypx0xy3fib739rjnakl32spwcirzxz1p5r0x9gya4a"
+   "commit": "a7422fb8ab1baee19adb2717b5b47b9c3812a84c",
+   "sha256": "1zz2gg475254hbbxw4y82b2m2iy8cvx0phh030daax315hdbsaqb"
   },
   "stable": {
    "version": [
@@ -103754,8 +104830,8 @@
     "system-packages",
     "use-package"
    ],
-   "commit": "365c73d2618dd0040a32c2601c5456ab5495b812",
-   "sha256": "10c0rmi5axypx0xy3fib739rjnakl32spwcirzxz1p5r0x9gya4a"
+   "commit": "a7422fb8ab1baee19adb2717b5b47b9c3812a84c",
+   "sha256": "1zz2gg475254hbbxw4y82b2m2iy8cvx0phh030daax315hdbsaqb"
   },
   "stable": {
    "version": [
@@ -103868,11 +104944,11 @@
   "repo": "ideasman42/emacs-utimeclock",
   "unstable": {
    "version": [
-    20201213,
-    438
+    20210124,
+    138
    ],
-   "commit": "cd3ab3a419ed50f51a7746849c80cb69910b89ca",
-   "sha256": "0anmmy46cbph9sjngcz3hbyzir8glzb6fqzl36wzfnxj54rzcf7l"
+   "commit": "d4b2014c5684b33ff73b4940bdff7b1138c1f85d",
+   "sha256": "00cx125pq6jad1v8pxq016hzg6wz1d06l4pc6z9r60l89y2m9hm2"
   }
  },
  {
@@ -104021,14 +105097,14 @@
   "repo": "dougm/vagrant-tramp",
   "unstable": {
    "version": [
-    20200118,
-    2324
+    20210217,
+    704
    ],
    "deps": [
     "dash"
    ],
-   "commit": "f67925928dd844b74e4002f433e6f0ebd3aae357",
-   "sha256": "1s022vcjzm78v1j7z29pda3lk9x93fvks4qw5v9kh2yzsrxdq4h8"
+   "commit": "5f00b42a0c023c461cef7af4de7652d90c788b4d",
+   "sha256": "1mshxcbwdjs2fs7lzqhs3pqbmdmy2fyzkf9b6r8rsxqlisa4x6sn"
   }
  },
  {
@@ -104087,11 +105163,11 @@
   "repo": "arthurgleckler/validate-html",
   "unstable": {
    "version": [
-    20200913,
-    2002
+    20210131,
+    1704
    ],
-   "commit": "04321596380c7a87ed85762b6764e98b2ef31bf8",
-   "sha256": "09c24i4b5yg21qzlyss4si607d1n63sj5dr2pysikkzzd81b9hki"
+   "commit": "39890f7d00579954a660fc3b1c0195231325efd6",
+   "sha256": "0xb1gnf0f408z9p6iscb9g5c5xj2d460gyzk1mr0wjm847b9cs42"
   }
  },
  {
@@ -104136,11 +105212,11 @@
   "repo": "thisirs/vc-auto-commit",
   "unstable": {
    "version": [
-    20170107,
-    1333
+    20210216,
+    1517
    ],
-   "commit": "446f664f4ec835532f4f18ba18b5fb731f6030aa",
-   "sha256": "18jjl656ps75p7n3hf16mcjrgiagnjvb8m8dl4i261cbnq98qmav"
+   "commit": "56f478016a541b395092a9d3cdc0da84a37b30a1",
+   "sha256": "1aw5j6akrkzr4pgf10scbfqr9axny3pf3k7yslg7g5ss1fd71afl"
   }
  },
  {
@@ -104151,11 +105227,11 @@
   "repo": "thisirs/vc-check-status",
   "unstable": {
    "version": [
-    20170107,
-    1334
+    20210216,
+    1525
    ],
-   "commit": "37734beb16bfd8633ea328059bf9a47eed826d5c",
-   "sha256": "0mspksr2i6hkb7bhs38ydmn0d2mn7g1hjva60paq86kl7k76f7ra"
+   "commit": "d95ef8f0799cd3dd83726ffa9b01b076f378ce34",
+   "sha256": "10sr9qxfx64f7a2kj93vi7lmm1pdj6qf81ci0ykkmrffmjdlf846"
   }
  },
  {
@@ -104196,11 +105272,11 @@
   "repo": "venks1/emacs-fossil",
   "unstable": {
    "version": [
-    20201121,
-    1726
+    20210124,
+    812
    ],
-   "commit": "31b0ee6285cca98d376eb5b6e1bc832c419c9fd0",
-   "sha256": "1jva2vnpz97mrzpix5z2y8z9qph7p1r39ajyvdzjfx6vlvwgsv0i"
+   "commit": "5d66231e25f34aaedb4befa0fcd80a9c30d7e607",
+   "sha256": "01r8j7a8b3icfgyxpgxh3pimzwig0xbhmggahzllgn96w5fafgpv"
   }
  },
  {
@@ -104555,15 +105631,15 @@
   "repo": "applied-science/emacs-vega-view",
   "unstable": {
    "version": [
-    20200520,
-    1202
+    20210227,
+    1507
    ],
    "deps": [
     "cider",
     "parseedn"
    ],
-   "commit": "8a9e3f9344fd1b81ec52ea9655313c0490ab5d7b",
-   "sha256": "1b49lszx5gs9yc1zisklqqgijygdnfy2zryhipn7i1nvmpjzglv9"
+   "commit": "bb8159ad25886d81fcc2d3a9ec5af7ef669a87a6",
+   "sha256": "18g0fygi8dgwj2harnrqvilv0v3rrrdphqybmnshjmnfngkak55s"
   }
  },
  {
@@ -104964,6 +106040,21 @@
   }
  },
  {
+  "ename": "virtual-comment",
+  "commit": "fe865358d240a8797d08010cc22d1451d6a8be46",
+  "sha256": "16ykignpbrd4i31wp25fj74mz6c5sakk6sd1lxib408f980zf6j5",
+  "fetcher": "github",
+  "repo": "thanhvg/emacs-virtual-comment",
+  "unstable": {
+   "version": [
+    20210210,
+    255
+   ],
+   "commit": "dadf36158c7ff89291bea4695999860cca2d094e",
+   "sha256": "10vnw6p5zg3azn1hf74014497qyxbxh6rr27lba45nrnxiz6wfmp"
+  }
+ },
+ {
   "ename": "virtualenv",
   "commit": "923e4fcf29423ad55b13132d53759bc436466ef9",
   "sha256": "1djqzzlbwsp9xyjqjbjwdck73wzikbpq19irzamybk90nc98wirl",
@@ -105361,11 +106452,11 @@
   "repo": "akermu/emacs-libvterm",
   "unstable": {
    "version": [
-    20210111,
-    522
+    20210217,
+    737
    ],
-   "commit": "9d2ef5e535e79781a0c1d2523f82d096eb48765f",
-   "sha256": "03nslg391cagq9kdxkgyjcw3abfd5xswza5bq8rl8mrp9f8v7i17"
+   "commit": "e19da61668783239e47b1a7390fca10f38ceffa9",
+   "sha256": "04x9514vl8315racjn3c4b1kp6wiy33d1q7b637zfzsf6w72ybpa"
   }
  },
  {
@@ -105376,14 +106467,14 @@
   "repo": "jixiuf/vterm-toggle",
   "unstable": {
    "version": [
-    20201204,
-    1537
+    20210226,
+    1800
    ],
    "deps": [
     "vterm"
    ],
-   "commit": "61cb072af997aa961e2aebe0125b883ff3bd6f43",
-   "sha256": "082gcdb3lnjn361hnsc1pzxx8dma7pm4iv03kd284fszs032amp2"
+   "commit": "91f788e90b12dd940e3bc9c7b24108be37b99c03",
+   "sha256": "1gdf27b89d47js89wi1amicrm49qryi0d3qyjzav4ryf8m7xx54m"
   }
  },
  {
@@ -105467,8 +106558,8 @@
   "repo": "mihaiolteanu/vuiet",
   "unstable": {
    "version": [
-    20200616,
-    1136
+    20210216,
+    751
    ],
    "deps": [
     "bind-key",
@@ -105477,8 +106568,8 @@
     "s",
     "versuri"
    ],
-   "commit": "3dab1ea2253d5bc2974a1a064d2b1af3bd6b24f6",
-   "sha256": "1q1rcnsda1392kqh944hdj30d79300ycl46ck1bzx4szx3m3p801"
+   "commit": "196683c3860793f2255bd0b3091ac9d538fa3ba7",
+   "sha256": "1465fx3h6ylgqg98m08ja0f48xwsxqai1vnigbb1fwlaxg3k23lm"
   },
   "stable": {
    "version": [
@@ -105563,11 +106654,11 @@
   "repo": "emacs-w3m/emacs-w3m",
   "unstable": {
    "version": [
-    20210105,
-    2310
+    20210226,
+    23
    ],
-   "commit": "f29aadae07bd58689720271b1f6538edfec5c476",
-   "sha256": "130ydwzpzw4s4h3jhh5h066iib7s9c8xa43imvlvcqs3vghp7p1x"
+   "commit": "051dba16c2d60e7b59143ed5c1d52bceca3b6b37",
+   "sha256": "1gj8kdf4k4k139ajihf1klv2wzvfp2lhznbdsv62nfb5nla347ph"
   }
  },
  {
@@ -105788,16 +106879,16 @@
   "repo": "wanderlust/wanderlust",
   "unstable": {
    "version": [
-    20210105,
-    1556
+    20210209,
+    1125
    ],
    "deps": [
     "apel",
     "flim",
     "semi"
    ],
-   "commit": "cf16d1272cd04ccc845476a1db9fb2ab690b0f55",
-   "sha256": "05mx1g5gqrbzl4p41kxsk2hl15vrfx8nf97xf2zn9c9s8nq0qj0n"
+   "commit": "3a3530b1c4e2a2aa02d683d166cf123e9cc16a0a",
+   "sha256": "09px7ns1k03frxx02gvkhjzbygz9sp214xq5qnain5mnz4vglcih"
   }
  },
  {
@@ -106033,11 +107124,11 @@
   "repo": "fxbois/web-mode",
   "unstable": {
    "version": [
-    20201227,
-    1048
+    20210131,
+    1758
    ],
-   "commit": "a3ce21f795e03c7a5489a24b2b3c4fce2d7a2f59",
-   "sha256": "1234cr8hd25z181vg64r10l4gmdc1nr7dij2qnp4xs9ag3zkdf1y"
+   "commit": "8ef47935d638902ba35a557cae5edd6ab6ab1346",
+   "sha256": "1csskh7wyyjjpn81if2ss29vaz8vqzszb9yg99ffkgkyx2fr57y1"
   },
   "stable": {
    "version": [
@@ -106126,11 +107217,14 @@
   "repo": "eschulte/emacs-web-server",
   "unstable": {
    "version": [
-    20201217,
-    1252
+    20210209,
+    58
    ],
-   "commit": "4d865cc4720f668aed7a8c3bcfddfbf534ecfb67",
-   "sha256": "14kx3anbffs53hdcq7347b3rd33lk6ajvwrz5mhnnj1kmdxy7dxh"
+   "deps": [
+    "cl-lib"
+   ],
+   "commit": "3aa5084bcb733aa77997b9210b4437903f6f29ce",
+   "sha256": "1cg27byi1g0s3yfzdkji4xzc15ci5kqb2j0mj5dfdms4db12dir4"
   }
  },
  {
@@ -106171,32 +107265,32 @@
  },
  {
   "ename": "weblorg",
-  "commit": "8c9f6e5452a31772f90c1b5a5fa34b5a833073bb",
-  "sha256": "0gcxksn353zl0kzi387dm3fyy9n4gpjsjy5qlbr7iq4pcby4zbjb",
+  "commit": "61f6ede846bbf5e364c626524c567d4e3e99b906",
+  "sha256": "13snxyxfpjp7aznqwvkikkdpgn0vnar51mqxl2zbiwr8iksh9hpz",
   "fetcher": "github",
   "repo": "emacs-love/weblorg",
   "unstable": {
    "version": [
-    20210111,
-    526
+    20210222,
+    102
    ],
    "deps": [
     "templatel"
    ],
-   "commit": "1d0b5b9bc640a7147e1aa42867c7794fb5d039cc",
-   "sha256": "1fanpp3a40fkwdxc3ixvz6ykvkxh61mq2jxl1dgf0rrxc82mzhms"
+   "commit": "96aa798389536eee543ffeb0fa3c34dbd123c359",
+   "sha256": "0mjgw2rs67h6jgpjnidsbb4xly8dmxwgblas5vi1ddqfppzchgfr"
   },
   "stable": {
    "version": [
     0,
     1,
-    0
+    1
    ],
    "deps": [
     "templatel"
    ],
-   "commit": "5ef2daff8498be07ea9b0f50a92d84c8d21d3a49",
-   "sha256": "14797vv2i3b5dgzdazacw2g9r3i5zam4xr3554xzpq1l8ran0g2p"
+   "commit": "3c860c7b52ccee2f8d0b96e8a9e65e9695eb6e0a",
+   "sha256": "1lia9g9dpmn7l7valyw7mvh7ipy2nanhjbd60gha1k4p4ypx3sla"
   }
  },
  {
@@ -106363,11 +107457,11 @@
   "repo": "jstaursky/weyland-yutani-theme",
   "unstable": {
    "version": [
-    20201209,
-    1505
+    20210227,
+    1749
    ],
-   "commit": "86c72ef8e3d25bee94c35254ad03b5d3e4836994",
-   "sha256": "148p1c6cwxcri2732ngbbmd27g1m61gsxbgs0f1qbpqhsy0pplz2"
+   "commit": "831005d21ac373d5d12a1ef2d524e83a6b114c56",
+   "sha256": "1grqvy901bkx0pqfy2zfyqzmk5wdarihg27lyjlz1hpiyl74y3sp"
   }
  },
  {
@@ -106537,20 +107631,20 @@
   "repo": "justbur/emacs-which-key",
   "unstable": {
    "version": [
-    20201216,
-    1720
+    20210131,
+    1837
    ],
-   "commit": "428aedfce0157920814fbb2ae5d00b4aea89df88",
-   "sha256": "116c3krgi7iyv708jwzqjz72wf1j1aczgv5cvkdscrn7zgpyvm8c"
+   "commit": "c0608e812a8d1bc7aefeacdfaeb56a7272eabf44",
+   "sha256": "1g07i6hyv9glhk6xq1z9vn81vi2f0byy7dp3rg4gw22sm6f6d1al"
   },
   "stable": {
    "version": [
     3,
     5,
-    0
+    1
    ],
-   "commit": "ae59b7edb0d82aa0251803fdfbde6b865083c8b8",
-   "sha256": "13lgjsm9pwgjsxg7lzc1c9sw2bzssxikfj6grnshqfll8kz8yr4r"
+   "commit": "c0608e812a8d1bc7aefeacdfaeb56a7272eabf44",
+   "sha256": "1g07i6hyv9glhk6xq1z9vn81vi2f0byy7dp3rg4gw22sm6f6d1al"
   }
  },
  {
@@ -106593,14 +107687,11 @@
   "repo": "Fuco1/whitaker",
   "unstable": {
    "version": [
-    20150814,
-    1122
+    20210203,
+    1149
    ],
-   "deps": [
-    "dash"
-   ],
-   "commit": "eaf26ea647b729ca705b73ea70312d5ffdf89448",
-   "sha256": "1y75cylvqgn54h8yqahz4wi1qj5yhbs66i7x23jmbmah3q0rycab"
+   "commit": "a6fda24ccb69a18c0706633326d5cc4fcfaed83a",
+   "sha256": "00s7cljadn4f713kvwgvlapzh208fpqwyxlv4sxbsw6ba3gdllrd"
   },
   "stable": {
    "version": [
@@ -106622,11 +107713,11 @@
   "repo": "mswift42/white-sand-theme",
   "unstable": {
    "version": [
-    20151117,
-    1648
+    20210131,
+    813
    ],
-   "commit": "97621edd69267dd143760d94393db2c2558c9ea4",
-   "sha256": "0sh92g5vd518f80klvljqkjpw4ji909439dpc3sfaccf5jiwn9xn"
+   "commit": "729dd52cc1936250183d6761eed406c4be514a71",
+   "sha256": "0vlq6wywhc08z4ivyahpagcxbxfww6ipbmvgw4sgc8c6h3vb8v9s"
   }
  },
  {
@@ -106858,11 +107949,11 @@
   "repo": "progfolio/wikinfo",
   "unstable": {
    "version": [
-    20210112,
-    324
+    20210121,
+    1642
    ],
-   "commit": "b3c2824ab7cd653741b2b905f5c3279e312857cc",
-   "sha256": "01l3qwaqrcgrwlvfhxw2db06svcqhiahp6jbn8x8k5fmq7mk5hr3"
+   "commit": "afa32f2b3c23e6d1565698faf9697fa445059bb9",
+   "sha256": "1wxdb34xsvqydr54w44b84hbins8ay1md49vphp6jqbj99q992dg"
   }
  },
  {
@@ -106873,15 +107964,15 @@
   "repo": "progfolio/wikinforg",
   "unstable": {
    "version": [
-    20201227,
-    1454
+    20210126,
+    405
    ],
    "deps": [
     "org",
     "wikinfo"
    ],
-   "commit": "8496c243f8d98ba2787b63f7d19fbae3831832d2",
-   "sha256": "1w7q3badp6r653grsblmnambv99r52c34gmnpdz0f5ybmw83002p"
+   "commit": "d1a95a62e90cff70d83a6a2ce611aa895adb9a58",
+   "sha256": "196hhbqpx233av4zfcz0ig5r0rbp6annr8w88j5i6bqrk0yzm2ws"
   }
  },
  {
@@ -107051,15 +108142,15 @@
   "repo": "bmag/emacs-purpose",
   "unstable": {
    "version": [
-    20190628,
-    1827
+    20210214,
+    1451
    ],
    "deps": [
     "imenu-list",
     "let-alist"
    ],
-   "commit": "f6421966761ad911fe8861aba2b110c5dd60d1ea",
-   "sha256": "1p0y5gnrw7q65py2wjdf1hrdpiw5c2zbgvfbfmb13257jq5mga38"
+   "commit": "cb61b9381ef9865e725c4641588d7b8945d35003",
+   "sha256": "0ppx6kbc03l18z0dwd6y0anf8bqnf9vcpdz7h552q8sycrrwfq0h"
   },
   "stable": {
    "version": [
@@ -107277,14 +108368,11 @@
   "repo": "magit/with-editor",
   "unstable": {
    "version": [
-    20210110,
-    1545
-   ],
-   "deps": [
-    "async"
+    20210117,
+    2008
    ],
-   "commit": "139ef3933ea7aa3fe67b87450a6a1ac0895e5c81",
-   "sha256": "1zdgn2ajpbdxnc7qf98z7590w8y1s0iqj27fv7m8ndkrn8c1cx0x"
+   "commit": "2848a90addae086b657605b84a7fbecf2c4c1c65",
+   "sha256": "0pcy9w0q4jlwcf4hhcdm2cjgpj9ca4b04cydwlv5pnm0qrnlrzpc"
   },
   "stable": {
    "version": [
@@ -107389,8 +108477,8 @@
     20200509,
     2010
    ],
-   "commit": "0d5e910f19657ab376f72e5848be50d13d3b8e50",
-   "sha256": "1ksm11k8gxkjn9byacy08xrz91gvzyf7fjnxv7j5ffpsccbh0wg3"
+   "commit": "228732caf5272dd25e5c8acb2c6c86b0ac29ece8",
+   "sha256": "08j0ab7i0fk3d9d805mzwszlc82afr1sjw7isnx8k35d90cnmf3d"
   },
   "stable": {
    "version": [
@@ -107607,8 +108695,8 @@
   "repo": "abo-abo/worf",
   "unstable": {
    "version": [
-    20201226,
-    1859
+    20210224,
+    1905
    ],
    "deps": [
     "ace-link",
@@ -107616,8 +108704,8 @@
     "swiper",
     "zoutline"
    ],
-   "commit": "7ddd86aa3c62955714c2d60decd7a78c06b4771a",
-   "sha256": "02ci6hnjv80n3gjl04lxkcjvc2bzvn34w0z721qira1g7m2ysa8a"
+   "commit": "eed052db551f60483b4189e9c87cbb16f6d5947a",
+   "sha256": "1800q96gchagwqplpwscgjqb9f7zcc0qb2z07cbq6a17dc4rqcpl"
   },
   "stable": {
    "version": [
@@ -107897,11 +108985,11 @@
   "repo": "redguardtoo/wucuo",
   "unstable": {
    "version": [
-    20201208,
-    811
+    20210129,
+    407
    ],
-   "commit": "609bab2d72690c2eb1562e87dfa468b927eb1295",
-   "sha256": "0h14af90zcbinrn8q5csjc7px4yag20as995mvcn0ik8h9xk6jc7"
+   "commit": "4f1a63bf990c06942c5c290d5d146f8545f43b95",
+   "sha256": "0awa2zhnmm49sdvxwzhbnzcynk4qsbpsrmqmh9xi9rw20711iwjr"
   },
   "stable": {
    "version": [
@@ -108036,11 +109124,11 @@
   "repo": "xahlee/xah-elisp-mode",
   "unstable": {
    "version": [
-    20210112,
-    109
+    20210208,
+    2056
    ],
-   "commit": "134f9d259b68f5c3644dbed203d0d4142e2f3ce9",
-   "sha256": "15x15dzk67xif8ybnv9jid5xzmwimxx086ysdhryqqzrlxc3igiq"
+   "commit": "3ae341944297d59bf33f5580364af2858198781e",
+   "sha256": "09w44nmxdvc7pxyz959qj59dfqxplj22qqdal7206bb12r1l88zr"
   }
  },
  {
@@ -108066,11 +109154,11 @@
   "repo": "xahlee/xah-fly-keys",
   "unstable": {
    "version": [
-    20210114,
-    751
+    20210224,
+    2052
    ],
-   "commit": "015ec792050b4df00bb640602903258431ca6a44",
-   "sha256": "0h8sr9ig5ww2dwg5d22dfndyq68fv5mm1lf99k76wy5dxkqs5w5c"
+   "commit": "df7001159f7e8c9a61c0e360e8ea47b51deb38d9",
+   "sha256": "1hcm86w7mkc3ms2hy1fljjnk88yin1lax6ww3aq7r2yijjsv9a4w"
   }
  },
  {
@@ -108571,8 +109659,8 @@
     20210110,
     640
    ],
-   "commit": "3e7360553f46461cbcacdb18cbb7a214d55b89f7",
-   "sha256": "1cqp0azbnhsi7l2xis6b0pwcpn4v40cqx5p79ymhhza8ch8q7rx6"
+   "commit": "9f0cd128fd118fbdf9ea64816c38c0d45adb9733",
+   "sha256": "0c326d218p8pp1dcs1zz3q2mgvda82c9drh73hgb8n610f2gvd9d"
   }
  },
  {
@@ -108840,8 +109928,8 @@
     20200511,
     2005
    ],
-   "commit": "91159ce448e3bc9cc5759051e2b126599567893e",
-   "sha256": "1f0zb417y40iwx3x116lyp74hv9x6z5c500ydvig3qsjf7l82dx2"
+   "commit": "96068216a4f0c4894bf780cd36164fe840cf81d5",
+   "sha256": "11wrvmnr74pqga8a00gd4zskan8wkgah9fyn0bwgp0x4qx4xni17"
   }
  },
  {
@@ -108978,11 +110066,11 @@
   "repo": "Kungsgeten/yankpad",
   "unstable": {
    "version": [
-    20201228,
-    1208
+    20210205,
+    1318
    ],
-   "commit": "06d85f04133fbd49a6469174032f4c10a0abe98d",
-   "sha256": "16a4qfliym93rj7bsjijzwlv8r8h9kbxrd53wdk9fb6vgdk2vv9h"
+   "commit": "fb9cb7753af971701dcd96a51efb4d70e2b2a18f",
+   "sha256": "1xaal77cqics6fdm51j7pm12k61v0qxg68krgb7yi1fd90fm2iy3"
   },
   "stable": {
    "version": [
@@ -109465,11 +110553,11 @@
   "repo": "ryuslash/yoshi-theme",
   "unstable": {
    "version": [
-    20200909,
-    513
+    20210216,
+    29
    ],
-   "commit": "1ca48766209d941f0300d725ce9bec5a8bc2d642",
-   "sha256": "1abzv19aghgjkzc15wcii3fvapjx221imap48gfn2d3ckbppy8lb"
+   "commit": "eb2a38c71a955fa934ac7a907b9924b3755e40c7",
+   "sha256": "0zvk10mgy3q10qmigqx2g1vfxvrwzs27lq4gq0qkh7k4qish2zgx"
   },
   "stable": {
    "version": [
@@ -109516,6 +110604,21 @@
   }
  },
  {
+  "ename": "ytdious",
+  "commit": "946fc7cf4d5e6cd346c331bec7af519ab93f53c4",
+  "sha256": "1yg5kfr0kbr55ral50m56njkfl3lz2shlp2fs4cgmwrbp9pvzb9p",
+  "fetcher": "github",
+  "repo": "spiderbit/ytdious",
+  "unstable": {
+   "version": [
+    20210228,
+    2111
+   ],
+   "commit": "941460b51e43ef6764e15e2b9c4af54c3e56115f",
+   "sha256": "0ihqzxahqvk8jnn05k06lzhi6pd9c1a2q7qqybnmds85amkwmsad"
+  }
+ },
+ {
   "ename": "ytdl",
   "commit": "3531012169cb78d00cdf89fa54a7aff684200083",
   "sha256": "0s2ngslz6l4mkib09inv5r4g122jsnyiyh9ijjb27y3pr48cj23d",
@@ -109829,25 +110932,25 @@
   "repo": "NicolasPetton/zerodark-theme",
   "unstable": {
    "version": [
-    20190528,
-    923
+    20210216,
+    1640
    ],
    "deps": [
     "all-the-icons"
    ],
-   "commit": "df22536a244293591575e56970bf83814faa7c14",
-   "sha256": "0pfyd1iqs7l2ngwgvj9n0r9k1px7yl16h8n502xdyf0pprxcs4p6"
+   "commit": "65a4b57d064cd4bfe61750d105206c3654ac5bba",
+   "sha256": "1jiyz68pswbmh5fbkwndw83kim150rg2wz7i2a5lac3vj7zqr0nc"
   },
   "stable": {
    "version": [
     4,
-    6
+    7
    ],
    "deps": [
     "all-the-icons"
    ],
-   "commit": "df22536a244293591575e56970bf83814faa7c14",
-   "sha256": "0pfyd1iqs7l2ngwgvj9n0r9k1px7yl16h8n502xdyf0pprxcs4p6"
+   "commit": "342055346446bb8306ac2d3d2ac1f4236c84a404",
+   "sha256": "1r5s4mvwlxsb9ylr6dkfxpm1l0pbqkmn5gwjdcfk762cnxlam8cm"
   }
  },
  {
@@ -109858,15 +110961,15 @@
   "repo": "EFLS/zetteldeft",
   "unstable": {
    "version": [
-    20201230,
-    2127
+    20210214,
+    1135
    ],
    "deps": [
     "ace-window",
     "deft"
    ],
-   "commit": "ca3793959669b577296e1787aa029effa29a15c5",
-   "sha256": "1rxp0nwnjpwz3j44yj7afjj04hx4y3157a7vrgy0dlivhjzmdgag"
+   "commit": "8ea36747ff499e82a911c367eba8f7423c6301a4",
+   "sha256": "0p0hz0s3fzpig3vinj7wv3vs29ba5rshw4glxrk3q1hlv3hh4q4s"
   },
   "stable": {
    "version": [
@@ -110265,15 +111368,15 @@
   "repo": "egh/zotxt-emacs",
   "unstable": {
    "version": [
-    20210115,
-    456
+    20210222,
+    347
    ],
    "deps": [
     "deferred",
     "request"
    ],
-   "commit": "87d8c4836c5f43530db8f00a66b7b69087236875",
-   "sha256": "01w529yr96kx7xg2w670ci61aljd1alrbqy1qxnj9yiymqsnmys1"
+   "commit": "a760009b9ecfa0b3362e77a6b44453821768d02e",
+   "sha256": "0vfdpgb0ln3xrx4i32mqisaj7qm2yx73rhagx6adr8hjw78gysfy"
   },
   "stable": {
    "version": [
@@ -110371,14 +111474,14 @@
   "repo": "fourier/ztree",
   "unstable": {
    "version": [
-    20191108,
-    2234
+    20210215,
+    2111
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "0a5b25f364490a58ef7371534a39c75d11f54132",
-   "sha256": "0a0p9srdkc79isw99al3vba50vc435654wix07r9jcgdh856zbsr"
+   "commit": "dc5f76923436ea87b802b56a54185b6888177a8c",
+   "sha256": "17y1hjhygh2kq487ab1s8n2ba9npdmqg6354jv3gha6ar3mib1qi"
   }
  },
  {
diff --git a/pkgs/applications/editors/emacs/26.nix b/pkgs/applications/editors/emacs/26.nix
index a151006a995de..1667bec993212 100644
--- a/pkgs/applications/editors/emacs/26.nix
+++ b/pkgs/applications/editors/emacs/26.nix
@@ -2,7 +2,6 @@ import ./generic.nix (rec {
   version = "26.3";
   sha256 = "119ldpk7sgn9jlpyngv5y4z3i7bb8q3xp4p0qqi7i5nq39syd42d";
   patches = [
-    ./clean-env-26.patch
     ./tramp-detect-wrapped-gvfsd-26.patch
   ];
 })
diff --git a/pkgs/applications/editors/emacs/27.nix b/pkgs/applications/editors/emacs/27.nix
index 1037c0cd91dc9..8bc65bad8b506 100644
--- a/pkgs/applications/editors/emacs/27.nix
+++ b/pkgs/applications/editors/emacs/27.nix
@@ -2,7 +2,6 @@ import ./generic.nix (rec {
   version = "27.1";
   sha256 = "0h9f2wpmp6rb5rfwvqwv1ia1nw86h74p7hnz3vb3gjazj67i4k2a";
   patches = [
-    ./clean-env.patch
     ./tramp-detect-wrapped-gvfsd.patch
   ];
 })
diff --git a/pkgs/applications/editors/emacs/clean-env-26.patch b/pkgs/applications/editors/emacs/clean-env-26.patch
deleted file mode 100644
index 88befda899a76..0000000000000
--- a/pkgs/applications/editors/emacs/clean-env-26.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Dump temacs in an empty environment to prevent -dev paths from ending
-up in the dumped image.
-
-diff --git a/src/Makefile.in b/src/Makefile.in
---- a/src/Makefile.in
-+++ b/src/Makefile.in
-@@ -535,7 +535,7 @@ ifeq ($(CANNOT_DUMP),yes)
- 	ln -f temacs$(EXEEXT) $@
- else
- 	unset EMACS_HEAP_EXEC; \
--	LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump
-+	env -i LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump
-   ifneq ($(PAXCTL_dumped),)
- 	$(PAXCTL_dumped) $@
-   endif
diff --git a/pkgs/applications/editors/emacs/clean-env.patch b/pkgs/applications/editors/emacs/clean-env.patch
deleted file mode 100644
index 2ffe8b777a00f..0000000000000
--- a/pkgs/applications/editors/emacs/clean-env.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Dump temacs in an empty environment to prevent -dev paths from ending
-up in the dumped image.
-
-diff --git a/src/Makefile.in b/src/Makefile.in
-index fd05a45df5..13f529c253 100644
---- a/src/Makefile.in
-+++ b/src/Makefile.in
-@@ -570,7 +570,7 @@ emacs$(EXEEXT): temacs$(EXEEXT) \
-                 lisp.mk $(etc)/DOC $(lisp) \
-                 $(lispsource)/international/charprop.el ${charsets}
- ifeq ($(DUMPING),unexec)
--	LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup --temacs=dump
-+	env -i LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup --temacs=dump
-   ifneq ($(PAXCTL_dumped),)
- 	      $(PAXCTL_dumped) emacs$(EXEEXT)
-   endif
diff --git a/pkgs/applications/editors/emacs/generic.nix b/pkgs/applications/editors/emacs/generic.nix
index 377079969196b..6726790d50fe8 100644
--- a/pkgs/applications/editors/emacs/generic.nix
+++ b/pkgs/applications/editors/emacs/generic.nix
@@ -19,6 +19,7 @@
 , withGTK2 ? false, gtk2-x11 ? null
 , withGTK3 ? true, gtk3-x11 ? null, gsettings-desktop-schemas ? null
 , withXwidgets ? false, webkitgtk ? null, wrapGAppsHook ? null, glib-networking ? null
+, withMotif ? false, motif ? null
 , withCsrc ? true
 , srcRepo ? false, autoreconfHook ? null, texinfo ? null
 , siteStart ? ./site-start.el
@@ -27,6 +28,7 @@
 , toolkit ? (
   if withGTK2 then "gtk2"
   else if withGTK3 then "gtk3"
+  else if withMotif then "motif"
   else "lucid")
 }:
 
@@ -61,6 +63,12 @@ let emacs = stdenv.mkDerivation (lib.optionalAttrs nativeComp {
       rm -fr .git
     '')
 
+    # Reduce closure size by cleaning the environment of the emacs dumper
+    ''
+      substituteInPlace src/Makefile.in \
+        --replace 'RUN_TEMACS = ./temacs' 'RUN_TEMACS = env -i ./temacs'
+    ''
+
     ''
     substituteInPlace lisp/international/mule-cmds.el \
       --replace /usr/share/locale ${gettext}/share/locale
@@ -107,6 +115,7 @@ let emacs = stdenv.mkDerivation (lib.optionalAttrs nativeComp {
     ++ lib.optionals (stdenv.isLinux && withX) [ m17n_lib libotf ]
     ++ lib.optional (withX && withGTK2) gtk2-x11
     ++ lib.optionals (withX && withGTK3) [ gtk3-x11 gsettings-desktop-schemas ]
+    ++ lib.optional (withX && withMotif) motif
     ++ lib.optionals (withX && withXwidgets) [ webkitgtk glib-networking ]
     ++ lib.optionals withNS [ AppKit GSS ImageIO ]
     ++ lib.optionals nativeComp [ libgccjit ]
@@ -127,7 +136,7 @@ let emacs = stdenv.mkDerivation (lib.optionalAttrs nativeComp {
       else [ "--with-x=no" "--with-xpm=no" "--with-jpeg=no" "--with-png=no"
              "--with-gif=no" "--with-tiff=no" ])
     ++ lib.optional withXwidgets "--with-xwidgets"
-    ++ lib.optional nativeComp "--with-nativecomp"
+    ++ lib.optional nativeComp "--with-native-compilation"
     ++ lib.optional withImageMagick "--with-imagemagick"
     ;
 
@@ -156,6 +165,14 @@ let emacs = stdenv.mkDerivation (lib.optionalAttrs nativeComp {
   '' + lib.optionalString (nativeComp && withNS) ''
     ln -snf $out/lib/emacs/*/native-lisp $out/Applications/Emacs.app/Contents/native-lisp
   '' + lib.optionalString nativeComp ''
+    echo "Generating native-compiled trampolines..."
+    # precompile trampolines in parallel, but avoid spawning one process per trampoline.
+    # 1000 is a rough lower bound on the number of trampolines compiled.
+    $out/bin/emacs --batch --eval "(mapatoms (lambda (s) \
+      (when (subr-primitive-p (symbol-function s)) (print s))))" \
+      | xargs -n $((1000/NIX_BUILD_CORES + 1)) -P $NIX_BUILD_CORES \
+        $out/bin/emacs --batch -l comp --eval "(while argv \
+          (comp-trampoline-compile (intern (pop argv))))"
     mkdir -p $out/share/emacs/native-lisp
     $out/bin/emacs --batch \
       --eval "(add-to-list 'comp-eln-load-path \"$out/share/emacs/native-lisp\")" \
diff --git a/pkgs/applications/editors/emacs/macport.nix b/pkgs/applications/editors/emacs/macport.nix
index 3c57d3bc81a6a..b8fcc678faa1f 100644
--- a/pkgs/applications/editors/emacs/macport.nix
+++ b/pkgs/applications/editors/emacs/macport.nix
@@ -26,8 +26,6 @@ stdenv.mkDerivation rec {
     sha256 = "0f2wzdw2a3ac581322b2y79rlj3c9f33ddrq9allj97r1si6v5xk";
   };
 
-  patches = [ ./clean-env.patch ];
-
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ pkg-config autoconf automake ];
@@ -57,6 +55,11 @@ stdenv.mkDerivation rec {
     # Fix sandbox impurities.
     substituteInPlace Makefile.in --replace '/bin/pwd' 'pwd'
     substituteInPlace lib-src/Makefile.in --replace '/bin/pwd' 'pwd'
+
+
+    # Reduce closure size by cleaning the environment of the emacs dumper
+    substituteInPlace src/Makefile.in \
+      --replace 'RUN_TEMACS = ./temacs' 'RUN_TEMACS = env -i ./temacs'
   '';
 
   configureFlags = [
diff --git a/pkgs/applications/editors/formiko/default.nix b/pkgs/applications/editors/formiko/default.nix
new file mode 100644
index 0000000000000..53fee165f5e5a
--- /dev/null
+++ b/pkgs/applications/editors/formiko/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, buildPythonApplication
+, fetchFromGitHub
+, wrapGAppsHook
+, gobject-introspection
+, gtk3
+, docutils
+, gtksourceview
+, gtkspell3
+, librsvg
+, pygobject3
+, webkitgtk
+}:
+
+buildPythonApplication rec {
+  pname = "formiko";
+  version = "1.4.3";
+
+  src = fetchFromGitHub {
+    owner = "ondratu";
+    repo = "formiko";
+    rev = version;
+    sha256 = "0n7w585gbrpn2xcd5n04hivrjarpr2wj260y2kpxpgh93vn52sdi";
+  };
+
+  nativeBuildInputs = [
+    wrapGAppsHook
+    gobject-introspection
+    gtk3
+  ];
+  propagatedBuildInputs = [
+    docutils
+    gobject-introspection
+    gtk3
+    gtksourceview
+    gtkspell3
+    librsvg
+    pygobject3
+    webkitgtk
+  ];
+
+  # Needs a display
+  doCheck = false;
+
+  meta = with lib; {
+    description = "reStructuredText editor and live previewer";
+    homepage = "https://github.com/ondratu/formiko";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ shamilton ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/editors/ghostwriter/default.nix b/pkgs/applications/editors/ghostwriter/default.nix
index f0ae7ef5f3eac..23a81c9cb00a9 100644
--- a/pkgs/applications/editors/ghostwriter/default.nix
+++ b/pkgs/applications/editors/ghostwriter/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "ghostwriter";
-  version = "2.0.0-rc3";
+  version = "2.0.0-rc4";
 
   src = fetchFromGitHub {
     owner = "wereturtle";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Ag97iE++f3nG2zlwqn0qxSL9RpF8O3XWH9NtQ5kFuWg=";
+    sha256 = "07547503a209hc0fcg902w3x0s1m899c10nj3gqz3hak0cmrasi3";
   };
 
   nativeBuildInputs = [ qmake pkg-config qttools ];
diff --git a/pkgs/applications/editors/gnome-builder/default.nix b/pkgs/applications/editors/gnome-builder/default.nix
index 198185e469d92..da7b70cecd2ab 100644
--- a/pkgs/applications/editors/gnome-builder/default.nix
+++ b/pkgs/applications/editors/gnome-builder/default.nix
@@ -35,16 +35,15 @@
 , wrapGAppsHook
 , dbus
 , xvfb_run
-, glib
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-builder";
-  version = "3.38.1";
+  version = "3.38.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "06wcyfrwcjyj2vcqyw0z3sy1r4qxpcdpwqq1qmpsaphpz8acycjn";
+    sha256 = "jFNco64yoZC1TZbTIHGVf+wBYYQHo2JRiMZFHngzYTs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/gobby/default.nix b/pkgs/applications/editors/gobby/default.nix
index a78692ebf765a..27047f8e95a8b 100644
--- a/pkgs/applications/editors/gobby/default.nix
+++ b/pkgs/applications/editors/gobby/default.nix
@@ -4,15 +4,15 @@
 
 let
   libinf = libinfinity.override { gtkWidgets = true; inherit avahiSupport; };
-in stdenv.mkDerivation {
+in stdenv.mkDerivation rec {
   pname = "gobby";
-  version = "unstable-2020-12-29";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "gobby";
     repo = "gobby";
-    rev = "49bfd3c3aa82e6fe9b3d59c3455d7eb4b77379fc";
-    sha256 = "1p2f2rid7c0b9gvmywl3r37sxx57wv3r1rxvs1rwihmf9rkqnfxg";
+    rev = "v${version}";
+    sha256 = "06cbc2y4xkw89jaa0ayhgh7fxr5p2nv3jjs8h2xcbbbgwaw08lk0";
   };
 
   nativeBuildInputs = [ autoconf automake pkg-config intltool itstool yelp-tools wrapGAppsHook ];
diff --git a/pkgs/applications/editors/greenfoot/default.nix b/pkgs/applications/editors/greenfoot/default.nix
index 324d8b13f21e2..34f489bfba3e4 100644
--- a/pkgs/applications/editors/greenfoot/default.nix
+++ b/pkgs/applications/editors/greenfoot/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     description = "A simple integrated development environment for Java";
     homepage = "https://www.greenfoot.org/";
     license = licenses.gpl2ClasspathPlus;
-    maintainers = [ maintainers.charvp ];
+    maintainers = [ maintainers.chvp ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/editors/ht/default.nix b/pkgs/applications/editors/ht/default.nix
index 096b69a5e82a7..2f1ea40359d50 100644
--- a/pkgs/applications/editors/ht/default.nix
+++ b/pkgs/applications/editors/ht/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
 
   patches = [ ./gcc7.patch ];
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-narrowing" ];
+
   meta = with lib; {
     description = "File editor/viewer/analyzer for executables";
     homepage = "http://hte.sourceforge.net";
diff --git a/pkgs/applications/editors/jed/default.nix b/pkgs/applications/editors/jed/default.nix
index 7b197be0e6fa6..29c8bc258ccbd 100644
--- a/pkgs/applications/editors/jed/default.nix
+++ b/pkgs/applications/editors/jed/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   ];
 
   configureFlags = [
-    "CC=cc"
+    "CC=${stdenv.cc.targetPrefix}cc"
     "--with-slang=${slang}"
     "JED_ROOT=${placeholder "out"}/share/jed"
   ];
diff --git a/pkgs/applications/editors/jetbrains/common.nix b/pkgs/applications/editors/jetbrains/common.nix
index 62f1178866ce2..635a8dbf46f70 100644
--- a/pkgs/applications/editors/jetbrains/common.nix
+++ b/pkgs/applications/editors/jetbrains/common.nix
@@ -3,7 +3,7 @@
 , vmopts ? null
 }:
 
-{ name, product, version, src, wmClass, jdk, meta }:
+{ name, product, version, src, wmClass, jdk, meta, extraLdPath ? [] }:
 
 with lib;
 
@@ -72,11 +72,11 @@ with stdenv; lib.makeOverridable mkDerivation rec {
 
     makeWrapper "$out/$name/bin/${loName}.sh" "$out/bin/${execName}" \
       --prefix PATH : "$out/libexec/${name}:${lib.optionalString (stdenv.isDarwin) "${jdk}/jdk/Contents/Home/bin:"}${lib.makeBinPath [ jdk coreutils gnugrep which git ]}" \
-      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath ([
         # Some internals want libstdc++.so.6
         stdenv.cc.cc.lib libsecret
         libnotify
-      ]}" \
+      ] ++ extraLdPath)}" \
       --set JDK_HOME "$jdk" \
       --set ${hiName}_JDK "$jdk" \
       --set ANDROID_JAVA_HOME "$jdk" \
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index c2415cf4f21b1..31551f1b7248c 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -12,7 +12,7 @@ let
   # Sorted alphabetically
 
   buildClion = { name, version, src, license, description, wmClass, ... }:
-    lib.overrideDerivation (mkJetBrainsProduct {
+    (mkJetBrainsProduct {
       inherit name version src wmClass jdk;
       product = "CLion";
       meta = with lib; {
@@ -25,7 +25,7 @@ let
         maintainers = with maintainers; [ edwtjo mic92 ];
         platforms = platforms.linux;
       };
-    }) (attrs: {
+    }).overrideAttrs (attrs: {
       postFixup = (attrs.postFixup or "") + optionalString (stdenv.isLinux) ''
         (
           cd $out/clion-${version}
@@ -97,7 +97,7 @@ let
     });
 
   buildGoland = { name, version, src, license, description, wmClass, ... }:
-    lib.overrideDerivation (mkJetBrainsProduct {
+    (mkJetBrainsProduct {
       inherit name version src wmClass jdk;
       product = "Goland";
       meta = with lib; {
@@ -112,7 +112,7 @@ let
         maintainers = [ maintainers.miltador ];
         platforms = platforms.linux;
       };
-    }) (attrs: {
+    }).overrideAttrs (attrs: {
       postFixup = (attrs.postFixup or "") + ''
         interp="$(cat $NIX_CC/nix-support/dynamic-linker)"
         patchelf --set-interpreter $interp $out/goland*/plugins/go/lib/dlv/linux/dlv
@@ -125,6 +125,7 @@ let
     (mkJetBrainsProduct {
       inherit name version src wmClass jdk;
       product = "IDEA";
+      extraLdPath = [ zlib ];
       meta = with lib; {
         homepage = "https://www.jetbrains.com/idea/";
         inherit description license;
@@ -134,8 +135,8 @@ let
           with JUnit, TestNG, popular SCMs, Ant & Maven. Also known
           as IntelliJ.
         '';
-        maintainers = with maintainers; [ edwtjo ];
-        platforms = platforms.linux ++ platforms.darwin;
+        maintainers = with maintainers; [ edwtjo gytis-ivaskevicius ];
+        platforms = [ "x86_64-darwin" "i686-darwin" "i686-linux" "x86_64-linux" ];
       };
     });
 
@@ -202,7 +203,7 @@ let
     };
 
   buildRider = { name, version, src, license, description, wmClass, ... }:
-    lib.overrideDerivation (mkJetBrainsProduct {
+    (mkJetBrainsProduct {
       inherit name version src wmClass jdk;
       product = "Rider";
       meta = with lib; {
@@ -219,7 +220,7 @@ let
         maintainers = [ maintainers.miltador ];
         platforms = platforms.linux;
       };
-    }) (attrs: {
+    }).overrideAttrs (attrs: {
       patchPhase = lib.optionalString (!stdenv.isDarwin) (attrs.patchPhase + ''
         rm -rf lib/ReSharperHost/linux-x64/dotnet
         mkdir -p lib/ReSharperHost/linux-x64/dotnet/
@@ -241,7 +242,7 @@ let
     });
 
   buildWebStorm = { name, version, src, license, description, wmClass, ... }:
-    lib.overrideDerivation (mkJetBrainsProduct {
+    (mkJetBrainsProduct {
       inherit name version src wmClass jdk;
       product = "WebStorm";
       meta = with lib; {
@@ -255,7 +256,7 @@ let
         maintainers = with maintainers; [ abaldeau ];
         platforms = platforms.linux;
       };
-    }) (attrs: {
+    }).overrideAttrs (attrs: {
       patchPhase = (attrs.patchPhase or "") + optionalString (stdenv.isLinux) ''
         # Webstorm tries to use bundled jre if available.
         # Lets prevent this for the moment
@@ -269,12 +270,12 @@ in
 
   clion = buildClion rec {
     name = "clion-${version}";
-    version = "2020.3.1"; /* updated by script */
+    version = "2020.3.2"; /* updated by script */
     description  = "C/C++ IDE. New. Intelligent. Cross-platform";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
-      sha256 = "1jfvwir79s0kcqmlx6bbkmc42bplgl7814mnqfcsdzni1qv62pws"; /* updated by script */
+      sha256 = "10120y9ccdlhjrpvfnspfj4s7940b3v3yic78r372wj5ns4bsjax"; /* updated by script */
     };
     wmClass = "jetbrains-clion";
     update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
@@ -282,12 +283,12 @@ in
 
   datagrip = buildDataGrip rec {
     name = "datagrip-${version}";
-    version = "2020.3.1"; /* updated by script */
+    version = "2020.3.2"; /* 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 = "0jk7ywxk983ld5x71a59dh1hvlnli3sbvg7fbicahas5ml8clxfv"; /* updated by script */
+      sha256 = "1wjaavgslwpz4jniszswdy10rk3622i1w3awdwhgjlcc6mwkwz1f"; /* updated by script */
     };
     wmClass = "jetbrains-datagrip";
     update-channel = "DataGrip RELEASE";
@@ -295,12 +296,12 @@ in
 
   goland = buildGoland rec {
     name = "goland-${version}";
-    version = "2020.3.1"; /* updated by script */
+    version = "2020.3.2"; /* 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 = "12gi1a2bmafmy7qgqwv3a7b5b46dlhw4ahmkm5pkq6pmxl4y6dmk"; /* updated by script */
+      sha256 = "00wbl4g1wgb9c287z6i7a48bm5zyb1gkmyqmhasmj0n2vamaq6sz"; /* updated by script */
     };
     wmClass = "jetbrains-goland";
     update-channel = "GoLand RELEASE";
@@ -334,12 +335,12 @@ in
 
   mps = buildMps rec {
     name = "mps-${version}";
-    version = "2020.3"; /* updated by script */
+    version = "2020.3.1"; /* updated by script */
     description = "Create your own domain-specific language";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/mps/2020.3/MPS-${version}.tar.gz";
-      sha256 = "0dr1z2sxarz1xif4swxx28hpzsyjd86m0c3xdaw5lmpqwqlzvc5h"; /* updated by script */
+      sha256 = "0qvl724mm53rxfhafl6561rhpwppcadmwr9sh0hpsfgsprh2xznv"; /* updated by script */
     };
     wmClass = "jetbrains-mps";
     update-channel = "MPS RELEASE";
@@ -347,12 +348,12 @@ in
 
   phpstorm = buildPhpStorm rec {
     name = "phpstorm-${version}";
-    version = "2020.3.1"; /* updated by script */
+    version = "2020.3.2"; /* 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 = "1c5j3mbg8scsl4c90cjahdk5gs5q72y5a8fhkqa9zmy6di42k99x"; /* updated by script */
+      sha256 = "1dmymlv71syjv8byb9ap9c13fimjl6c3r94dwr9kghdlj3jh7p0k"; /* updated by script */
     };
     wmClass = "jetbrains-phpstorm";
     update-channel = "PhpStorm RELEASE";
@@ -360,12 +361,12 @@ in
 
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
-    version = "2020.3.2"; /* updated by script */
+    version = "2020.3.3"; /* updated by script */
     description = "PyCharm Community Edition";
     license = lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "1z3w6aah635fdrhrzp5af6sgj269jk7mv8vgdd83gxillkx9vq9k"; /* updated by script */
+      sha256 = "0p05pgfmr9515sqbqbjiksg7qzvqxcs119lxfc6dsirdvc1qhnli"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm-ce";
     update-channel = "PyCharm RELEASE";
@@ -373,12 +374,12 @@ in
 
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
-    version = "2020.3.2"; /* updated by script */
+    version = "2020.3.3"; /* updated by script */
     description = "PyCharm Professional Edition";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "1fbb8v40q7vgn5v5dyxb211abr8swnxa3gw18kh3vlk6yc2crzfw"; /* updated by script */
+      sha256 = "1yzv1pxpw6pvsjljqvbnf8qgdx34rs5j232zaq4vb5x2ahswf9mm"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm";
     update-channel = "PyCharm RELEASE";
@@ -399,12 +400,12 @@ in
 
   ruby-mine = buildRubyMine rec {
     name = "ruby-mine-${version}";
-    version = "2020.3.1"; /* updated by script */
+    version = "2020.3.2"; /* updated by script */
     description = "The Most Intelligent Ruby and Rails IDE";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
-      sha256 = "0drxzz6k0cmhir4szg8nwmsi9qh380vrryghmpvx9w83yrcain4c"; /* updated by script */
+      sha256 = "17x3sz4jkz2px25gj813xqrrb2cm7mdl6m5a22zg086phym66g3c"; /* updated by script */
     };
     wmClass = "jetbrains-rubymine";
     update-channel = "RubyMine RELEASE";
diff --git a/pkgs/applications/editors/jupp/default.nix b/pkgs/applications/editors/jupp/default.nix
index e134113e23faa..c31c1fe10c053 100644
--- a/pkgs/applications/editors/jupp/default.nix
+++ b/pkgs/applications/editors/jupp/default.nix
@@ -1,31 +1,41 @@
-{ lib, stdenv, fetchurl, ncurses, gpm }:
+{ lib
+, stdenv
+, fetchurl
+, ncurses
+, gpm
+}:
 
 stdenv.mkDerivation rec {
-
   pname = "jupp";
-  version = "39";
+  version = "40";
   srcName = "joe-3.1${pname}${version}";
 
   src = fetchurl {
     urls = [
       "https://www.mirbsd.org/MirOS/dist/jupp/${srcName}.tgz"
-      "https://pub.allbsd.org/MirOS/dist/jupp/${srcName}.tgz" ];
-    sha256 = "14gys92dy3kq9ikigry7q2x4w5v2z76d97vp212bddrxiqy5np8d";
+      "https://pub.allbsd.org/MirOS/dist/jupp/${srcName}.tgz"
+    ];
+    sha256 = "S+1DnN5/K+KU6W5J7z6RPqkPvl6RTbiIQD46J+gDWxo=";
   };
 
   preConfigure = "chmod +x ./configure";
 
-  buildInputs = [ ncurses gpm ];
+  buildInputs = [
+    gpm
+    ncurses
+  ];
 
   configureFlags = [
     "--enable-curses"
-    "--enable-termcap"
-    "--enable-termidx"
     "--enable-getpwnam"
     "--enable-largefile"
+    "--enable-termcap"
+    "--enable-termidx"
   ];
 
   meta = with lib; {
+    homepage = "http://www.mirbsd.org/jupp.htm";
+    downloadPage = "https://www.mirbsd.org/MirOS/dist/jupp/";
     description = "A portable fork of Joe's editor";
     longDescription = ''
       This is the portable version of JOE's Own Editor, which is currently
@@ -35,8 +45,8 @@ stdenv.mkDerivation rec {
       and has a lot of bugs fixed. It is based upon an older version of joe
       because these behave better overall.
     '';
-    homepage = "http://www.mirbsd.org/jupp.htm";
-    license = licenses.gpl1;
+    license = licenses.gpl1Only;
     maintainers = with maintainers; [ AndersonTorres ];
+    platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/applications/editors/kakoune/default.nix b/pkgs/applications/editors/kakoune/default.nix
index 93a9e1a05a6b0..1f3b2685feeb1 100644
--- a/pkgs/applications/editors/kakoune/default.nix
+++ b/pkgs/applications/editors/kakoune/default.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
     export version="v${version}"
   '';
 
+  enableParallelBuilding = true;
+
   doInstallCheck = true;
   installCheckPhase = ''
     $out/bin/kak -ui json -e "kill 0"
diff --git a/pkgs/applications/editors/kakoune/plugins/default.nix b/pkgs/applications/editors/kakoune/plugins/default.nix
index 950229baee085..98b77338b9b38 100644
--- a/pkgs/applications/editors/kakoune/plugins/default.nix
+++ b/pkgs/applications/editors/kakoune/plugins/default.nix
@@ -1,7 +1,7 @@
-{ pkgs, parinfer-rust, rep }:
+{ pkgs, parinfer-rust, rep, kak-lsp }:
 
 {
-  inherit parinfer-rust rep;
+  inherit parinfer-rust rep kak-lsp;
 
   case-kak = pkgs.callPackage ./case.kak.nix { };
   kak-ansi = pkgs.callPackage ./kak-ansi.nix { };
diff --git a/pkgs/applications/editors/kakoune/wrapper.nix b/pkgs/applications/editors/kakoune/wrapper.nix
index 7ac56d9cb1e0c..451507885ce03 100644
--- a/pkgs/applications/editors/kakoune/wrapper.nix
+++ b/pkgs/applications/editors/kakoune/wrapper.nix
@@ -9,7 +9,7 @@ in
   symlinkJoin {
     name = "kakoune-${kakoune.version}";
 
-    buildInputs = [ makeWrapper ];
+    nativeBuildInputs = [ makeWrapper ];
 
     paths = [ kakoune ] ++ requestedPlugins;
 
diff --git a/pkgs/applications/editors/kdevelop5/kdev-php.nix b/pkgs/applications/editors/kdevelop5/kdev-php.nix
index 23c8f0698cf07..44b4fd7bc19f7 100644
--- a/pkgs/applications/editors/kdevelop5/kdev-php.nix
+++ b/pkgs/applications/editors/kdevelop5/kdev-php.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake extra-cmake-modules ];
   buildInputs = [ kdevelop-pg-qt threadweaver ktexteditor kdevelop-unwrapped ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     maintainers = [ maintainers.aanderse ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/editors/kdevelop5/kdev-python.nix b/pkgs/applications/editors/kdevelop5/kdev-python.nix
index 041c25f1728c0..0567ee39d7dd2 100644
--- a/pkgs/applications/editors/kdevelop5/kdev-python.nix
+++ b/pkgs/applications/editors/kdevelop5/kdev-python.nix
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake extra-cmake-modules ];
   buildInputs = [ threadweaver ktexteditor kdevelop-unwrapped ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     maintainers = [ maintainers.aanderse ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/editors/kdevelop5/kdevelop-pg-qt.nix b/pkgs/applications/editors/kdevelop5/kdevelop-pg-qt.nix
index cb1265735f98c..e1478ef6a03c7 100644
--- a/pkgs/applications/editors/kdevelop5/kdevelop-pg-qt.nix
+++ b/pkgs/applications/editors/kdevelop5/kdevelop-pg-qt.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ qtbase ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     maintainers = [ maintainers.ambrop72 ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/editors/kibi/default.nix b/pkgs/applications/editors/kibi/default.nix
index 71833be330026..337a46c0ec6ba 100644
--- a/pkgs/applications/editors/kibi/default.nix
+++ b/pkgs/applications/editors/kibi/default.nix
@@ -5,15 +5,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kibi";
-  version = "0.2.1";
+  version = "0.2.2";
 
-  cargoSha256 = "1cbiidq0w5f9ynb09b6828p7p7y5xhpgz47n2jsl8mp96ydhy5lv";
+  cargoSha256 = "sha256-8iEUOLFwHBLS0HQL/oLnv6lcV3V9Hm4jMqXkqPvIF9E=";
 
   src = fetchFromGitHub {
     owner = "ilai-deutel";
     repo = "kibi";
     rev = "v${version}";
-    sha256 = "1x5bvvq33380k2qhs1bwz3f9zl5q1sl7iic47pxfkzv24bpjnypb";
+    sha256 = "sha256-ox1qKWxJlUIFzEqeyzG2kqZix3AHnOKFrlpf6O5QM+k=";
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/editors/kodestudio/default.nix b/pkgs/applications/editors/kodestudio/default.nix
index e0704cdbc859d..aa7b7b1944862 100644
--- a/pkgs/applications/editors/kodestudio/default.nix
+++ b/pkgs/applications/editors/kodestudio/default.nix
@@ -29,7 +29,8 @@ in
         inherit sha256;
     };
 
-    buildInputs = [ makeWrapper libXScrnSaver ];
+    nativeBuildInputs = [ makeWrapper ];
+    buildInputs = [ libXScrnSaver ];
 
     desktopItem = makeDesktopItem {
       name = "kodestudio";
diff --git a/pkgs/applications/editors/music/tuxguitar/default.nix b/pkgs/applications/editors/music/tuxguitar/default.nix
index 63be87ee86c7f..90879b352e184 100644
--- a/pkgs/applications/editors/music/tuxguitar/default.nix
+++ b/pkgs/applications/editors/music/tuxguitar/default.nix
@@ -14,7 +14,7 @@ in stdenv.mkDerivation rec {
     sha256 = metadata.sha256;
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index cb53eb9d9d450..30d1e5b75787d 100644
--- a/pkgs/applications/editors/nano/default.nix
+++ b/pkgs/applications/editors/nano/default.nix
@@ -16,11 +16,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "nano";
-  version = "5.5";
+  version = "5.6";
 
   src = fetchurl {
     url = "mirror://gnu/nano/${pname}-${version}.tar.xz";
-    sha256 = "0jkyd3yzcidnvnj1k9bmplzlbd303x6xxblpp5np7zs1kfzq22rr";
+    sha256 = "0ckscf3klm2k1zjvcv8mkza1yp80g7ss56n73790fk83lzj87qgw";
   };
 
   nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
diff --git a/pkgs/applications/editors/neovim/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix
index 5c6c6c1a8d574..41ff62a619fb8 100644
--- a/pkgs/applications/editors/neovim/wrapper.nix
+++ b/pkgs/applications/editors/neovim/wrapper.nix
@@ -106,7 +106,7 @@ let
 
     preferLocalBuild = true;
 
-    buildInputs = [makeWrapper];
+    nativeBuildInputs = [ makeWrapper ];
     passthru = { unwrapped = neovim; };
 
     meta = neovim.meta // {
diff --git a/pkgs/applications/editors/netbeans/default.nix b/pkgs/applications/editors/netbeans/default.nix
index 9206b296b9acb..f968b85c6ff1d 100644
--- a/pkgs/applications/editors/netbeans/default.nix
+++ b/pkgs/applications/editors/netbeans/default.nix
@@ -56,7 +56,8 @@ stdenv.mkDerivation {
     ln -s ${desktopItem}/share/applications/* $out/share/applications
   '';
 
-  buildInputs = [ makeWrapper perl python unzip libicns imagemagick ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ perl python unzip libicns imagemagick ];
 
   meta = {
     description = "An integrated development environment for Java, C, C++ and PHP";
diff --git a/pkgs/applications/editors/okteta/default.nix b/pkgs/applications/editors/okteta/default.nix
index b2011c5d8e655..296a1eb2ad89f 100644
--- a/pkgs/applications/editors/okteta/default.nix
+++ b/pkgs/applications/editors/okteta/default.nix
@@ -4,11 +4,11 @@
 
 mkDerivation rec {
   pname = "okteta";
-  version = "0.26.4";
+  version = "0.26.5";
 
   src = fetchurl {
     url = "mirror://kde/stable/okteta/${version}/src/${pname}-${version}.tar.xz";
-    sha256 = "00qgzm5mqx0j8f0fznhnw76l9pjyw3lxirvy8ssq59nqqjbb08pg";
+    sha256 = "sha256-n8ft//c+ewWDr1QLDAUvkiHKPxHqP8NgTCvO2wnCmpc=";
   };
 
   nativeBuildInputs = [ qtscript extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/editors/ox/default.nix b/pkgs/applications/editors/ox/default.nix
new file mode 100644
index 0000000000000..aa3f22a262618
--- /dev/null
+++ b/pkgs/applications/editors/ox/default.nix
@@ -0,0 +1,23 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "ox";
+  version = "0.2.7";
+
+  src = fetchFromGitHub {
+    owner = "curlpipe";
+    repo = pname;
+    rev = version;
+    sha256 = "18iffnmvax6mbnhypf7yma98y5q2zlsyp9q18f92fdwz426r33p0";
+  };
+
+  cargoSha256 = "0v0a1dl9rq5qyy9xwnb59w62qr9db3y3zlmnp60wafvj70zi9zxs";
+
+  meta = with lib; {
+    description = "An independent Rust text editor that runs in your terminal";
+    homepage = "https://github.com/curlpipe/ox";
+    changelog = "https://github.com/curlpipe/ox/releases/tag/${version}";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ fortuneteller2k ];
+  };
+}
diff --git a/pkgs/applications/editors/poke/default.nix b/pkgs/applications/editors/poke/default.nix
new file mode 100644
index 0000000000000..1c6f005863b05
--- /dev/null
+++ b/pkgs/applications/editors/poke/default.nix
@@ -0,0 +1,74 @@
+{ lib
+, stdenv
+, fetchurl
+, gettext
+, help2man
+, pkg-config
+, texinfo
+, makeWrapper
+, boehmgc
+, readline
+, guiSupport ? false, tcl, tcllib, tk
+, miSupport ? true, json_c
+, nbdSupport ? true, libnbd
+, textStylingSupport ? true
+, dejagnu
+}:
+
+let
+  isCross = stdenv.hostPlatform != stdenv.buildPlatform;
+in stdenv.mkDerivation rec {
+  pname = "poke";
+  version = "1.0";
+
+  src = fetchurl {
+    url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
+    hash = "sha256-3pMLhwDAdys8LNDQyjX1D9PXe9+CxiUetRa0noyiWwo=";
+  };
+
+  postPatch = ''
+    patchShebangs .
+  '';
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    gettext
+    help2man
+    pkg-config
+    texinfo
+  ] ++ lib.optional guiSupport makeWrapper;
+
+  buildInputs = [ boehmgc readline ]
+  ++ lib.optional guiSupport tk
+  ++ lib.optional miSupport json_c
+  ++ lib.optional nbdSupport libnbd
+  ++ lib.optional textStylingSupport gettext
+  ++ lib.optional (!isCross) dejagnu;
+
+  configureFlags = lib.optionals guiSupport [
+    "--with-tcl=${tcl}/lib"
+    "--with-tk=${tk}/lib"
+    "--with-tkinclude=${tk.dev}/include"
+  ];
+
+  enableParallelBuilding = true;
+
+  doCheck = !isCross;
+  checkInputs = lib.optionals (!isCross) [ dejagnu ];
+
+  postFixup = lib.optionalString guiSupport ''
+    wrapProgram "$out/bin/poke-gui" \
+      --prefix TCLLIBPATH ' ' ${tcllib}/lib/tcllib${tcllib.version}
+  '';
+
+  meta = with lib; {
+    description = "Interactive, extensible editor for binary data";
+    homepage = "http://www.jemarch.net/poke";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ AndersonTorres metadark ];
+    platforms = platforms.unix;
+  };
+}
+
+# TODO: Enable guiSupport by default once it's more than just a stub
diff --git a/pkgs/applications/editors/qemacs/default.nix b/pkgs/applications/editors/qemacs/default.nix
new file mode 100644
index 0000000000000..065dccb2b2197
--- /dev/null
+++ b/pkgs/applications/editors/qemacs/default.nix
@@ -0,0 +1,24 @@
+{ fetchurl, lib, stdenv, xlibsWrapper, libXv, libpng }:
+
+stdenv.mkDerivation rec {
+  pname = "qemacs";
+  version = "0.3.3";
+
+  src = fetchurl {
+    url = "https://bellard.org/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "156z4wpj49i6j388yjird5qvrph7hz0grb4r44l4jf3q8imadyrg";
+  };
+
+  buildInputs = [ xlibsWrapper libpng libXv ];
+
+  preInstall = ''
+    mkdir -p $out/bin $out/man
+  '';
+
+  meta = with lib; {
+    homepage = "https://bellard.org/qemacs/";
+    description = "Very small but powerful UNIX editor";
+    license = licenses.lgpl2Only;
+    maintainers = with maintainers; [ iblech ];
+  };
+}
diff --git a/pkgs/applications/editors/qxmledit/default.nix b/pkgs/applications/editors/qxmledit/default.nix
index fa4e73a376828..d2aea1344da84 100644
--- a/pkgs/applications/editors/qxmledit/default.nix
+++ b/pkgs/applications/editors/qxmledit/default.nix
@@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
     export QXMLEDIT_INST_DOC_DIR="$doc"
   '';
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "Simple XML editor based on qt libraries" ;
     homepage = "https://sourceforge.net/projects/qxmledit";
diff --git a/pkgs/applications/editors/retext/default.nix b/pkgs/applications/editors/retext/default.nix
index 6bf0f191ece2f..19cc7bc297081 100644
--- a/pkgs/applications/editors/retext/default.nix
+++ b/pkgs/applications/editors/retext/default.nix
@@ -6,30 +6,10 @@
 
 let
   version = "7.0.4";
-  python = let
-    packageOverrides = self: super: {
-      markdown = super.markdown.overridePythonAttrs(old: {
-        src = super.fetchPypi {
-          version = "3.0.1";
-          pname = "Markdown";
-          sha256 = "d02e0f9b04c500cde6637c11ad7c72671f359b87b9fe924b2383649d8841db7c";
-        };
-      });
-
-      chardet = super.chardet.overridePythonAttrs(old: {
-        src = super.fetchPypi {
-          version = "2.3.0";
-          pname = "chardet";
-          sha256 = "e53e38b3a4afe6d1132de62b7400a4ac363452dc5dfcf8d88e8e0cce663c68aa";
-        };
-        patches = [];
-      });
-    };
-    in python3.override { inherit packageOverrides; };
-  pythonEnv = python.withPackages (ps: with ps; [
+  pythonEnv = python3.withPackages (ps: with ps; [
     pyqt5 docutils pyenchant Markups markdown pygments chardet
   ]);
-in python.pkgs.buildPythonApplication {
+in python3.pkgs.buildPythonApplication {
   inherit version;
   pname = "retext";
 
diff --git a/pkgs/applications/editors/spacevim/default.nix b/pkgs/applications/editors/spacevim/default.nix
index 2193d0ea5bb0a..661bec463a784 100644
--- a/pkgs/applications/editors/spacevim/default.nix
+++ b/pkgs/applications/editors/spacevim/default.nix
@@ -1,6 +1,6 @@
-{ ripgrep, git, fzf, makeWrapper, vim_configurable, vimPlugins, fetchFromGitHub, writeTextDir
-, lib, stdenv, runCommandNoCC, remarshal, formats, spacevim_config ? import ./init.nix }:
-with stdenv;
+{ ripgrep, git, fzf, makeWrapper, vim_configurable, vimPlugins, fetchFromGitHub
+, lib, stdenv, formats, runCommand, spacevim_config ? import ./init.nix }:
+
 let
   format = formats.toml {};
   vim-customized = vim_configurable.customize {
@@ -10,28 +10,37 @@ let
     # ~/.cache/vimfiles/repos
     vimrcConfig.packages.myVimPackage = with vimPlugins; { start = [ ]; };
   };
-  spacevimdir = format.generate "init.toml" spacevim_config;
-in mkDerivation rec {
+  spacevimdir = runCommand "SpaceVim.d" { } ''
+    mkdir -p $out
+    cp ${format.generate "init.toml" spacevim_config} $out/init.toml
+  '';
+in stdenv.mkDerivation rec {
   pname = "spacevim";
-  version = "1.5.0";
+  version = "1.6.0";
   src = fetchFromGitHub {
     owner = "SpaceVim";
     repo = "SpaceVim";
     rev = "v${version}";
-    sha256 = "1xw4l262x7wzs1m65bddwqf3qx4254ykddsw3c3p844pb3mzqhh7";
+    sha256 = "sha256-QQdtjEdbuzmf0Rw+u2ZltLihnJt8LqkfTrLDWLAnCLE=";
   };
 
   nativeBuildInputs = [ makeWrapper vim-customized];
   buildInputs = [ vim-customized ];
 
   buildPhase = ''
+    runHook preBuild
     # generate the helptags
     vim -u NONE -c "helptags $(pwd)/doc" -c q
+    runHook postBuild
   '';
 
-  patches = [ ./helptags.patch ];
+  patches = [
+    # Don't generate helptags at runtime into read-only $SPACEVIMDIR
+    ./helptags.patch
+  ];
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/bin
 
     cp -r $(pwd) $out/SpaceVim
@@ -40,6 +49,7 @@ in mkDerivation rec {
     makeWrapper "${vim-customized}/bin/vim" "$out/bin/spacevim" \
         --add-flags "-u $out/SpaceVim/vimrc" --set SPACEVIMDIR "${spacevimdir}/" \
         --prefix PATH : ${lib.makeBinPath [ fzf git ripgrep]}
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/editors/spacevim/helptags.patch b/pkgs/applications/editors/spacevim/helptags.patch
index e8b31c574194f..bc0f9140c7be4 100644
--- a/pkgs/applications/editors/spacevim/helptags.patch
+++ b/pkgs/applications/editors/spacevim/helptags.patch
@@ -2,7 +2,7 @@ diff --git a/autoload/SpaceVim.vim b/autoload/SpaceVim.vim
 index 16688680..fcafd6f7 100644
 --- a/autoload/SpaceVim.vim
 +++ b/autoload/SpaceVim.vim
-@@ -1255,13 +1255,6 @@ function! SpaceVim#end() abort
+@@ -1355,13 +1355,6 @@ function! SpaceVim#end() abort
      let &helplang = 'jp'
    endif
    ""
diff --git a/pkgs/applications/editors/standardnotes/default.nix b/pkgs/applications/editors/standardnotes/default.nix
index f88d4489504b2..e66febbf7fc28 100644
--- a/pkgs/applications/editors/standardnotes/default.nix
+++ b/pkgs/applications/editors/standardnotes/default.nix
@@ -2,7 +2,7 @@
 , fetchurl, runtimeShell, libsecret, gtk3, gsettings-desktop-schemas }:
 
 let
-  version = "3.5.11";
+  version = "3.5.18";
   pname = "standardnotes";
   name = "${pname}-${version}";
 
@@ -13,7 +13,7 @@ let
 
   sha256 = {
     i386-linux = "009fnnd7ysxkyykkbmhvr0vn13b21j1j5mzwdvqdkhm9v3c9rbgj";
-    x86_64-linux = "1fij00d03ky57jlnhf9n2iqvfa4dgmkgawrxd773gg03hdsk7xcf";
+    x86_64-linux = "1zrnvvr9x0s2gp948iajsmgn38xm6x0g2dgxrfjis39rpplsrdww";
   }.${stdenv.hostPlatform.system};
 
   src = fetchurl {
diff --git a/pkgs/applications/editors/supertux-editor/default.nix b/pkgs/applications/editors/supertux-editor/default.nix
index e474ff5f19bb0..6e3580a563cc0 100644
--- a/pkgs/applications/editors/supertux-editor/default.nix
+++ b/pkgs/applications/editors/supertux-editor/default.nix
@@ -10,8 +10,8 @@ stdenv.mkDerivation {
     sha256 = "08y5haclgxvcii3hpdvn1ah8qd0f3n8xgxxs8zryj02b8n7cz3vx";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [mono gtk-sharp-2_0 makeWrapper gnome2.libglade gtk2 ];
+  nativeBuildInputs = [ pkg-config makeWrapper ];
+  buildInputs = [mono gtk-sharp-2_0 gnome2.libglade gtk2 ];
 
   installPhase = ''
     mkdir -p $out/bin $out/lib/supertux-editor
diff --git a/pkgs/applications/editors/texstudio/default.nix b/pkgs/applications/editors/texstudio/default.nix
index 988e32ae7128b..12b9c638c4c1e 100644
--- a/pkgs/applications/editors/texstudio/default.nix
+++ b/pkgs/applications/editors/texstudio/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "texstudio";
-  version = "3.0.3";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     owner = "${pname}-org";
     repo = pname;
     rev = version;
-    sha256 = "05q70wbdaldhrlapss4agmvz1cwqd229nd5amkj069v1wxrkvpb7";
+    sha256 = "sha256-MFCQwhdF+WCTqDt4q5qw431y/zqEy9vHudcUYb4BYNQ=";
   };
 
   nativeBuildInputs = [ qmake wrapQtAppsHook pkg-config ];
diff --git a/pkgs/applications/editors/texworks/default.nix b/pkgs/applications/editors/texworks/default.nix
index d0347bcb37c61..87990b6eae8f7 100644
--- a/pkgs/applications/editors/texworks/default.nix
+++ b/pkgs/applications/editors/texworks/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, lib, fetchFromGitHub, cmake, pkg-config
+{ mkDerivation, lib, fetchFromGitHub, fetchpatch, cmake, pkg-config
 , qtscript, poppler, hunspell
 , withLua ? true, lua
 , withPython ? true, python3 }:
@@ -14,6 +14,14 @@ mkDerivation rec {
     sha256 = "1lw1p4iyzxypvjhnav11g6rwf6gx7kyzwy2iprvv8zzpqcdkjp2z";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "fix-compilation-with-qt-5.15.patch";
+      url = "https://github.com/TeXworks/texworks/commit/a5352a3a94e3685125650b65e6197de060326cc2.patch";
+      sha256 = "0pf7h1m11x0s039bxknm7rxdp9b4g8ch86y38jlyy56c74mw97i6";
+    })
+  ];
+
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [ qtscript poppler hunspell ]
                 ++ lib.optional withLua lua
diff --git a/pkgs/applications/editors/vim/macvim-configurable.nix b/pkgs/applications/editors/vim/macvim-configurable.nix
index 6ea6b6c60940e..7ed3dee9b6b9e 100644
--- a/pkgs/applications/editors/vim/macvim-configurable.nix
+++ b/pkgs/applications/editors/vim/macvim-configurable.nix
@@ -29,7 +29,7 @@ let
           "/Applications/MacVim.app/Contents/MacOS"
           "/Applications/MacVim.app/Contents/bin"
         ];
-        buildInputs = [ makeWrapper ];
+        nativeBuildInputs = [ makeWrapper ];
         # We need to do surgery on the resulting app. We can't just make a wrapper for vim because this
         # is a GUI app. We need to copy the actual GUI executable image as AppKit uses the loaded image's
         # path to locate the bundle. We can use symlinks for other executables and resources though.
diff --git a/pkgs/applications/editors/viw/default.nix b/pkgs/applications/editors/viw/default.nix
index 3aad18ef11cbc..0ba381901b983 100644
--- a/pkgs/applications/editors/viw/default.nix
+++ b/pkgs/applications/editors/viw/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ ncurses ];
 
-  makeFlags = [ "CC=cc" ];
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
   checkFlags = [ "test-command" "test-buffer" "test-state" ];
 
   installPhase = ''
diff --git a/pkgs/applications/editors/vscode/generic.nix b/pkgs/applications/editors/vscode/generic.nix
index eea34cacfc046..470683bad43f0 100644
--- a/pkgs/applications/editors/vscode/generic.nix
+++ b/pkgs/applications/editors/vscode/generic.nix
@@ -3,6 +3,9 @@
 , gtk2, atomEnv, at-spi2-atk, autoPatchelfHook
 , systemd, fontconfig, libdbusmenu
 
+# Populate passthru.tests
+, tests
+
 # Attributes inherit from specific versions
 , version, src, meta, sourceRoot
 , executableName, longName, shortName, pname
@@ -16,7 +19,7 @@ in
     inherit pname version src sourceRoot;
 
     passthru = {
-      inherit executableName;
+      inherit executableName tests;
     };
 
     desktopItem = makeDesktopItem {
diff --git a/pkgs/applications/editors/vscode/update-vscode.sh b/pkgs/applications/editors/vscode/update-vscode.sh
index cb1400f048e09..d1ae71cd11e20 100755
--- a/pkgs/applications/editors/vscode/update-vscode.sh
+++ b/pkgs/applications/editors/vscode/update-vscode.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl gnugrep gnused gawk
+#!nix-shell -i bash -p curl jq gnused
 
 # Update script for the vscode versions and hashes.
 # Usually doesn't need to be called by hand,
@@ -16,8 +16,7 @@ fi
 
 # VSCode
 
-VSCODE_VER=$(curl -s -L "https://code.visualstudio.com/Download" | grep "is now available" | awk -F'</span>' '{print $1}' | awk -F'>' '{print $NF}')
-VSCODE_VER=$(curl -s -L "https://code.visualstudio.com/updates/v${VSCODE_VER/./_}" | grep "Downloads:" | awk -F'code.visualstudio.com/' '{print $2}' | awk -F'/' '{print $1}')
+VSCODE_VER=$(curl --fail --silent https://api.github.com/repos/Microsoft/vscode/releases/latest | jq --raw-output .tag_name)
 sed -i "s/version = \".*\"/version = \"${VSCODE_VER}\"/" "$ROOT/vscode.nix"
 
 VSCODE_LINUX_URL="https://vscode-update.azurewebsites.net/${VSCODE_VER}/linux-x64/stable"
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index 7324a19620dc7..e772796c34eb8 100644
--- a/pkgs/applications/editors/vscode/vscode.nix
+++ b/pkgs/applications/editors/vscode/vscode.nix
@@ -13,10 +13,10 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "1kbjbqb03yapz7067q589gaa7d6cqaipj7hmp1l3nh0bmggzsc4c";
-    x86_64-darwin = "1qgadm52c5lzkvgvqrz0n8brm4qbjg8hf1dk6a2ynqhqjxcwbj4r";
-    aarch64-linux = "0i3yl9rx9h7qkl3k9qk6gg35nhz737qzzbvzvdwkqjaacsbpfgf8";
-    armv7l-linux = "19iz2bxcq6y8sklr6zcnbp47kki9l00x3nvr213lkk3kj08l0afv";
+    x86_64-linux = "0c0m5qkqv3zhcxmwx72b7z67sjcd1miv8d10kxpk9vffyrxkmj93";
+    x86_64-darwin = "1spd5rbhra4n38lp0sgxd2cr1bngsmi32a43g02vdmmhkmk0iixc";
+    aarch64-linux = "1ql3hn6c59g7d0cwhg54ixww2i9jmkjw3nyzz97yw8wk63zwz024";
+    armv7l-linux = "0pdqcbw7rygvdzys787kf8ag17g9qyv7k33dqhi5h2zc96j867c0";
   }.${system};
 in
   callPackage ./generic.nix rec {
@@ -25,7 +25,7 @@ in
 
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.52.1";
+    version = "1.53.2";
     pname = "vscode";
 
     executableName = "code" + lib.optionalString isInsiders "-insiders";
diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix
index cae1611061513..bdc5552a64f92 100644
--- a/pkgs/applications/editors/vscode/vscodium.nix
+++ b/pkgs/applications/editors/vscode/vscodium.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, callPackage, fetchurl }:
+{ lib, stdenv, callPackage, fetchurl, nixosTests }:
 
 let
   inherit (stdenv.hostPlatform) system;
@@ -13,10 +13,10 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "1ckg279vvg8h1n8ippa9vlyw4vk3frinb6fvvi47zggs31168m7b";
-    x86_64-darwin = "168g34v2b8r1pdbnqrs0c0k9aa60n5rspixziywnq7m61i23nlgd";
-    aarch64-linux = "1cd4sg6k7sqmj3yzmprq1rz928bvc3zrch8agfd8zfap1d6nfaal";
-    armv7l-linux = "0f8z4lws027dyqhcrkzm9rvifwid5m0icprg0xk01l7y18n3q923";
+    x86_64-linux = "1b9pzfi034idhi6f3n0sz3fckf95ckf2qx3sgfn9fx2g52r9m9z1";
+    x86_64-darwin = "1983d8hn04xl5vw7p6842cv5x08q7vilqg7nhvy5yg3lj9q2rpp0";
+    aarch64-linux = "09l32abkq110ib4hjd0yv9avr8a2vg5vs7w4jpk0p499gzrysh2l";
+    armv7l-linux = "1s0gbq1fapq2i905c0xxfyh0656qnb7dmg00khlwbplxzd6i6m18";
   }.${system};
 
   sourceRoot = {
@@ -33,7 +33,7 @@ in
 
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.52.1";
+    version = "1.53.2";
     pname = "vscodium";
 
     executableName = "codium";
@@ -45,6 +45,8 @@ in
       inherit sha256;
     };
 
+    tests = nixosTests.vscodium;
+
     meta = with lib; {
       description = ''
         Open source source code editor developed by Microsoft for Windows,
diff --git a/pkgs/applications/editors/vscode/with-extensions.nix b/pkgs/applications/editors/vscode/with-extensions.nix
index c30b52782ef30..d2c91f155d53b 100644
--- a/pkgs/applications/editors/vscode/with-extensions.nix
+++ b/pkgs/applications/editors/vscode/with-extensions.nix
@@ -57,7 +57,8 @@ in
 # When no extensions are requested, we simply redirect to the original
 # non-wrapped vscode executable.
 runCommand "${wrappedPkgName}-with-extensions-${wrappedPkgVersion}" {
-  buildInputs = [ vscode makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ vscode ];
   dontPatchELF = true;
   dontStrip = true;
   meta = vscode.meta;
diff --git a/pkgs/applications/editors/xed-editor/default.nix b/pkgs/applications/editors/xed-editor/default.nix
new file mode 100644
index 0000000000000..d7b0703b8d5e2
--- /dev/null
+++ b/pkgs/applications/editors/xed-editor/default.nix
@@ -0,0 +1,71 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, libxml2
+, libpeas
+, glib
+, gtk3
+, gtksourceview4
+, gspell
+, xapps
+, pkg-config
+, meson
+, ninja
+, wrapGAppsHook
+, intltool
+, itstool }:
+
+stdenv.mkDerivation rec {
+  pname = "xed-editor";
+  version = "2.8.4";
+
+  src = fetchFromGitHub {
+    owner = "linuxmint";
+    repo = "xed";
+    rev = version;
+    sha256 = "1hqr4157kp110p01jygqnnzj86zxlfiq4b53j345vqpx0f80c340";
+  };
+
+  nativeBuildInputs = [
+    meson
+    cmake
+    pkg-config
+    intltool
+    itstool
+    ninja
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    libxml2
+    glib
+    gtk3
+    gtksourceview4
+    libpeas
+    gspell
+    xapps
+  ];
+
+  postInstall = ''
+    glib-compile-schemas $out/share/glib-2.0/schemas
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    if [[ "$($out/bin/xed --version)" == "xed - Version ${version}" ]] ; then
+      echo "${pname} smoke test passed"
+    else
+      echo "${pname} smoke test failed"
+      return 1
+    fi
+  '';
+
+  meta = with lib; {
+    description = "Light weight text editor from Linux Mint";
+    homepage = "https://github.com/linuxmint/xed";
+    license = licenses.gpl2Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ tu-maurice ];
+  };
+}
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/6.x.nix
index ad559a6f21670..a6b4af7892d66 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/6.x.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, libtool
+{ 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
 , ApplicationServices
@@ -12,39 +12,19 @@ let
     else if stdenv.hostPlatform.system == "aarch64-linux" then "aarch64"
     else if stdenv.hostPlatform.system == "powerpc64le-linux" then "ppc64le"
     else throw "ImageMagick is not supported on this platform.";
-
-  cfg = {
-    version = "6.9.11-29";
-    sha256 = "0adjdpi91ya0g3v7y503n95833m25aibkim5swg5lnwjrba407hg";
-    patches = [];
-  }
-    # Freeze version on mingw so we don't need to port the patch too often.
-    # FIXME: This version has multiple security vulnerabilities
-    // lib.optionalAttrs (stdenv.hostPlatform.isMinGW) {
-        version = "6.9.2-0";
-        sha256 = "17ir8bw1j7g7srqmsz3rx780sgnc21zfn0kwyj78iazrywldx8h7";
-        patches = [(fetchpatch {
-          name = "mingw-build.patch";
-          url = "https://raw.githubusercontent.com/Alexpux/MINGW-packages/"
-            + "01ca03b2a4ef/mingw-w64-imagemagick/002-build-fixes.patch";
-          sha256 = "1pypszlcx2sf7wfi4p37w1y58ck2r8cd5b2wrrwr9rh87p7fy1c0";
-        })];
-      };
 in
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "imagemagick";
-  inherit (cfg) version;
+  version = "6.9.12-1";
 
   src = fetchFromGitHub {
     owner = "ImageMagick";
     repo = "ImageMagick6";
-    rev = cfg.version;
-    inherit (cfg) sha256;
+    rev = version;
+    sha256 = "1s1zr0fqnm9jl1ni07if2klvf2lfg26dgxdbspksq5xdhsxxn841";
   };
 
-  patches = cfg.patches;
-
   outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
   outputMan = "out"; # it's tiny
 
@@ -97,7 +77,8 @@ stdenv.mkDerivation {
   '';
 
   meta = with lib; {
-    homepage = "http://www.imagemagick.org/";
+    homepage = "https://legacy.imagemagick.org/";
+    changelog = "https://legacy.imagemagick.org/script/changelog.php";
     description = "A software suite to create, edit, compose, or convert bitmap images";
     platforms = platforms.linux ++ platforms.darwin;
     license = licenses.asl20;
diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix
index ee608b7538ff5..58c47721b6b18 100644
--- a/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -14,8 +14,8 @@ let
     else throw "ImageMagick is not supported on this platform.";
 
   cfg = {
-    version = "7.0.10-46";
-    sha256 = "019l1qv8ds8hvyjwi1g21293a7v28bxf8ycnvr9828kpdhf4jxaa";
+    version = "7.0.10-61";
+    sha256 = "sha256-c/90N5H9iz5JYmn7/ynHgSOAmO5NTtkxajChZvjfMP8=";
     patches = [];
   };
 in
diff --git a/pkgs/applications/graphics/avocode/default.nix b/pkgs/applications/graphics/avocode/default.nix
index 8726fc1d79354..0a90b84892e98 100644
--- a/pkgs/applications/graphics/avocode/default.nix
+++ b/pkgs/applications/graphics/avocode/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "avocode";
-  version = "4.11.1";
+  version = "4.12.0";
 
   src = fetchurl {
     url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
-    sha256 = "sha256-Qe5mV9GBLHsmzMQg6dKib/sTnNdyOTj4wYQ9xd/iqJM=";
+    sha256 = "sha256-qbG0Ii3Xmj1UGGS+n+LdiNPAHBkpQZMGEzrDvOcaUNA=";
   };
 
   libPath = lib.makeLibraryPath (with xorg; [
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index 0f47b87d4ac1a..2ff712851b941 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -7,12 +7,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.4.0";
+  version = "3.4.1";
   pname = "darktable";
 
   src = fetchurl {
     url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
-    sha256 = "6dd3de1f5ea9f94af92838c0be5ff30fdaa599aa1d737dcb562f9e0b2b2dbdda";
+    sha256 = "sha256-f8P4UdqbzXxQU+zQnyGqPrYQO+mKbFj1IBC28iF0lB4=";
   };
 
   nativeBuildInputs = [ cmake ninja llvm pkg-config intltool perl desktop-file-utils wrapGAppsHook ];
diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix
index 31dff2f9c2d6e..82007caea9a97 100644
--- a/pkgs/applications/graphics/drawio/default.nix
+++ b/pkgs/applications/graphics/drawio/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "drawio";
-  version = "14.1.5";
+  version = "14.4.3";
 
   src = fetchurl {
     url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/draw.io-x86_64-${version}.rpm";
-    hash = "sha256-dM/DGtUDnJBD4Cfhm/zbxfgBhUcIlEzlF4z3cmQuW14=";
+    hash = "sha256-0wBjZg6IvjVTzAGeXTBBZjIN6s9NxKV0r76YK9h4fFk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/emulsion/default.nix b/pkgs/applications/graphics/emulsion/default.nix
index 133deec195215..9792ce4d6d2ba 100644
--- a/pkgs/applications/graphics/emulsion/default.nix
+++ b/pkgs/applications/graphics/emulsion/default.nix
@@ -15,7 +15,6 @@
 , libxcb
 , libxkbcommon
 , wayland
-, xdg_utils
 , AppKit
 , CoreGraphics
 , CoreServices
diff --git a/pkgs/applications/graphics/fig2dev/default.nix b/pkgs/applications/graphics/fig2dev/default.nix
index 667f5afe57932..99e8478224f4c 100644
--- a/pkgs/applications/graphics/fig2dev/default.nix
+++ b/pkgs/applications/graphics/fig2dev/default.nix
@@ -1,5 +1,15 @@
-{ lib, stdenv, fetchurl, ghostscript, libpng, makeWrapper
-, coreutils, bc, gnugrep, gawk, gnused } :
+{ lib
+, stdenv
+, fetchurl
+, ghostscript
+, libpng
+, makeWrapper
+, coreutils
+, bc
+, gnugrep
+, gawk
+, gnused
+}:
 
 stdenv.mkDerivation rec {
   pname = "fig2dev";
diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix
index 1c4f05b42dac9..57d1f794d0f63 100644
--- a/pkgs/applications/graphics/freecad/default.nix
+++ b/pkgs/applications/graphics/freecad/default.nix
@@ -1,9 +1,8 @@
 { lib, mkDerivation, fetchFromGitHub, fetchpatch, cmake, ninja, coin3d,
 xercesc, ode, eigen, qtbase, qttools, qtwebengine, qtxmlpatterns, wrapQtAppsHook,
 opencascade-occt, gts, hdf5, vtk, medfile, zlib, python3Packages, swig,
-gfortran, libXmu, soqt, libf2c, libGLU, makeWrapper, pkg-config, mpi ? null }:
-
-assert mpi != null;
+gfortran, libXmu, soqt, libf2c, libGLU, makeWrapper, pkg-config, mpi,
+spaceNavSupport ? true, libspnav, qtx11extras }:
 
 let
   pythonPackages = python3Packages;
@@ -34,7 +33,7 @@ in mkDerivation rec {
     matplotlib pycollada shiboken2 pyside2 pyside2-tools pivy python boost
     GitPython # for addon manager
     scipy pyyaml # (at least for) PyrateWorkbench
-  ]);
+  ]) ++ lib.optionals spaceNavSupport [ libspnav qtx11extras ];
 
   cmakeFlags = [
     "-DBUILD_QT5=ON"
diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix
index 555bfbe17e7fa..307866c377ad5 100644
--- a/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -23,9 +23,12 @@ let
         mkdir -p $out/${gimp.targetScriptDir}/${name};
         for p in "$@"; do cp "$p" -r $out/${gimp.targetScriptDir}/${name}; done
       }
-      installPlugins(){
-        mkdir -p $out/${gimp.targetPluginDir}/${name};
-        for p in "$@"; do cp "$p" -r $out/${gimp.targetPluginDir}/${name}; done
+      installPlugin() {
+        # The base name of the first argument is the plug-in name and the main executable.
+        # GIMP only allows a single plug-in per directory:
+        # https://gitlab.gnome.org/GNOME/gimp/-/commit/efae55a73e98389e38fa0e59ebebcda0abe3ee96
+        pluginDir=$out/${gimp.targetPluginDir}/$(basename "$1")
+        install -Dt "$pluginDir" "$@"
       }
     '';
 
@@ -78,20 +81,56 @@ in
     };
   };
 
+  farbfeld = pluginDerivation rec {
+    pname = "farbfeld";
+    version = "unstable-2019-08-12";
+
+    src = fetchFromGitHub {
+      owner = "ids1024";
+      repo = "gimp-farbfeld";
+      rev = "5feacebf61448bd3c550dda03cd08130fddc5af4";
+      sha256 = "1vmw7k773vrndmfffj0m503digdjmkpcqy2r3p3i5x0qw9vkkkc6";
+    };
+
+    installPhase = ''
+      installPlugin farbfeld
+    '';
+
+    meta = {
+      description = "Gimp plug-in for the farbfeld image format";
+      homepage = "https://github.com/ids1024/gimp-farbfeld";
+      license = lib.licenses.mit;
+      maintainers = with lib.maintainers; [ sikmir ];
+    };
+  };
+
   fourier = pluginDerivation rec {
     /* menu:
        Filters/Generic/FFT Forward
        Filters/Generic/FFT Inverse
     */
-    name = "fourier-0.4.3";
-    buildInputs = with pkgs; [ fftw ];
+    pname = "fourier";
+    version = "0.4.3";
 
     src = fetchurl {
-      url = "https://www.lprp.fr/files/old-web/soft/gimp/${name}.tar.gz";
+      url = "https://www.lprp.fr/files/old-web/soft/gimp/${pname}-${version}.tar.gz";
       sha256 = "0mf7f8vaqs2madx832x3kcxw3hv3w3wampvzvaps1mkf2kvrjbsn";
     };
 
-    installPhase = "installPlugins fourier";
+    buildInputs = with pkgs; [ fftw ];
+
+    postPatch = ''
+      # The tarball contains a prebuilt binary.
+      make clean
+    '';
+
+    installPhase = ''
+      runHook preInstall
+
+      installPlugin fourier
+
+      runHook postInstall
+    '';
 
     meta = with lib; {
       description = "GIMP plug-in to do the fourier transform";
@@ -131,7 +170,7 @@ in
       rev = "de4367f71e40fe6d82387eaee68611a80a87e0e1";
       sha256 = "1zzvbczly7k456c0y6s92a1i8ph4ywmbvdl8i4rcc29l4qd2z8fw";
     };
-    installPhase = "installPlugins src/texturize";
+    installPhase = "installPlugin src/texturize";
     meta.broken = true; # https://github.com/lmanul/gimp-texturize/issues/1
   };
 
@@ -145,7 +184,7 @@ in
       url = "https://github.com/pixlsus/registry.gimp.org_static/raw/master/registry.gimp.org/files/wavelet-sharpen-0.1.2.tar.gz";
       sha256 = "0vql1k67i21g5ivaa1jh56rg427m0icrkpryrhg75nscpirfxxqw";
     };
-    installPhase = "installPlugins src/wavelet-sharpen"; # TODO translations are not copied .. How to do this on nix?
+    installPhase = "installPlugin src/wavelet-sharpen"; # TODO translations are not copied .. How to do this on nix?
   };
 
   lqrPlugin = pluginDerivation rec {
@@ -181,7 +220,7 @@ in
     buildInputs = with pkgs; [ lensfun gexiv2 ];
 
     installPhase = "
-      installPlugins gimp-lensfun
+      installPlugin gimp-lensfun
     ";
 
     meta = {
diff --git a/pkgs/applications/graphics/gimp/wrapper.nix b/pkgs/applications/graphics/gimp/wrapper.nix
index 8fde04d0d1df6..bb81a374fea21 100644
--- a/pkgs/applications/graphics/gimp/wrapper.nix
+++ b/pkgs/applications/graphics/gimp/wrapper.nix
@@ -11,7 +11,7 @@ in symlinkJoin {
 
   paths = [ gimp ] ++ selectedPlugins;
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   postBuild = ''
     for each in gimp-${versionBranch} gimp-console-${versionBranch}; do
diff --git a/pkgs/applications/graphics/glimpse/wrapper.nix b/pkgs/applications/graphics/glimpse/wrapper.nix
index cdfb2f668731c..daa540d31e504 100644
--- a/pkgs/applications/graphics/glimpse/wrapper.nix
+++ b/pkgs/applications/graphics/glimpse/wrapper.nix
@@ -12,7 +12,7 @@ symlinkJoin {
 
   paths = [ glimpse ] ++ selectedPlugins;
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   postBuild = ''
     for each in glimpse-${versionBranch} glimpse-console-${versionBranch}; do
diff --git a/pkgs/applications/graphics/gscan2pdf/default.nix b/pkgs/applications/graphics/gscan2pdf/default.nix
index 0e65d3199ab5f..616a0b7135663 100644
--- a/pkgs/applications/graphics/gscan2pdf/default.nix
+++ b/pkgs/applications/graphics/gscan2pdf/default.nix
@@ -10,11 +10,11 @@ with lib;
 
 perlPackages.buildPerlPackage rec {
   pname = "gscan2pdf";
-  version = "2.9.1";
+  version = "2.11.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/gscan2pdf/${version}/${pname}-${version}.tar.xz";
-    sha256 = "1ls6n1a8vjgwkb40drpc3rapjligaf9fp218539fnwvhv26div69";
+    sha256 = "0aigngfi5dbjihn43c6sg865i1ybfzj0w81zclzy8r9nqiqq0wma";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
@@ -23,15 +23,19 @@ perlPackages.buildPerlPackage rec {
     [ librsvg sane-backends sane-frontends ] ++
     (with perlPackages; [
       Gtk3
+      Gtk3ImageView
       Gtk3SimpleList
       Cairo
       CairoGObject
       Glib
       GlibObjectIntrospection
       GooCanvas2
+      GraphicsTIFF
+      IPCSystemSimple
       LocaleCodes
       LocaleGettext
-      PDFAPI2
+      PDFBuilder
+      ImagePNGLibpng
       ImageSane
       SetIntSpan
       PerlMagick
@@ -93,9 +97,21 @@ perlPackages.buildPerlPackage rec {
     xvfb_run
     file
     tesseract # tests are expecting tesseract 3.x precisely
-  ];
+  ] ++ (with perlPackages; [
+    TestPod
+  ]);
 
   checkPhase = ''
+    # Temporarily disable a dubiously failing test:
+    # t/169_import_scan.t ........................... 1/1
+    # #   Failed test 'variable-height scan imported with expected size'
+    # #   at t/169_import_scan.t line 50.
+    # #          got: '179'
+    # #     expected: '296'
+    # # Looks like you failed 1 test of 1.
+    # t/169_import_scan.t ........................... Dubious, test returned 1 (wstat 256, 0x100)
+    rm t/169_import_scan.t
+
     xvfb-run -s '-screen 0 800x600x24' \
       make test
   '';
diff --git a/pkgs/applications/graphics/gthumb/default.nix b/pkgs/applications/graphics/gthumb/default.nix
index cefb9c03dc041..26de91ee2252d 100644
--- a/pkgs/applications/graphics/gthumb/default.nix
+++ b/pkgs/applications/graphics/gthumb/default.nix
@@ -1,6 +1,5 @@
 { lib, stdenv
 , fetchurl
-, fetchpatch
 , gnome3
 , pkg-config
 , meson
@@ -33,11 +32,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gthumb";
-  version = "3.10.1";
+  version = "3.10.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0gm7q6n9lnjsdqpx5b0cqjayhzwnplqb6p5pshzhbfp2zqd2g9ss";
+    sha256 = "/erkKBg3j5s8qwBgTu61t8Cnpez+ad4IuZOGd0ZDXJM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/imagej/default.nix b/pkgs/applications/graphics/imagej/default.nix
index 7e3238e94bbc7..312316b33974c 100644
--- a/pkgs/applications/graphics/imagej/default.nix
+++ b/pkgs/applications/graphics/imagej/default.nix
@@ -15,7 +15,8 @@ let
       url = "https://wsr.imagej.net/distros/cross-platform/ij150.zip";
       sha256 = "97aba6fc5eb908f5160243aebcdc4965726693cb1353d9c0d71b8f5dd832cb7b";
     };
-    buildInputs = [ unzip makeWrapper ];
+    nativeBuildInputs = [ makeWrapper ];
+    buildInputs = [ unzip ];
     inherit jre;
 
     # JAR files that are intended to be used by other packages
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index ba6af5d781f24..11340fa74686b 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -7,6 +7,7 @@
 , fetchurl
 , gettext
 , gdl
+, ghostscript
 , glib
 , glib-networking
 , glibmm
@@ -74,6 +75,12 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     patchShebangs share/extensions
+    substituteInPlace share/extensions/eps_input.inx \
+      --replace "location=\"path\">ps2pdf" "location=\"absolute\">${ghostscript}/bin/ps2pdf"
+    substituteInPlace share/extensions/ps_input.inx \
+      --replace "location=\"path\">ps2pdf" "location=\"absolute\">${ghostscript}/bin/ps2pdf"
+    substituteInPlace share/extensions/ps_input.py \
+      --replace "call('ps2pdf'" "call('${ghostscript}/bin/ps2pdf'"
     patchShebangs share/templates
     patchShebangs man/fix-roff-punct
   '';
diff --git a/pkgs/applications/graphics/inkscape/with-extensions.nix b/pkgs/applications/graphics/inkscape/with-extensions.nix
index cca7b1fc3a54c..c558a6bb06225 100644
--- a/pkgs/applications/graphics/inkscape/with-extensions.nix
+++ b/pkgs/applications/graphics/inkscape/with-extensions.nix
@@ -10,7 +10,7 @@ symlinkJoin {
 
   paths = [ inkscape ] ++ inkscapeExtensions;
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   postBuild = ''
     rm -f $out/bin/inkscape
diff --git a/pkgs/applications/graphics/ipe/default.nix b/pkgs/applications/graphics/ipe/default.nix
index d9c51d38802e6..72c79d7dc5019 100644
--- a/pkgs/applications/graphics/ipe/default.nix
+++ b/pkgs/applications/graphics/ipe/default.nix
@@ -1,43 +1,67 @@
-{ lib, fetchurl, makeWrapper, pkg-config, zlib, freetype, cairo, lua5, texlive, ghostscript
-, libjpeg, libpng, qtbase, mkDerivation
+{ lib
+, mkDerivation
+, fetchurl
+, pkg-config
+, cairo
+, freetype
+, ghostscript
+, gsl
+, libjpeg
+, libpng
+, libspiro
+, lua5
+, qtbase
+, texlive
+, zlib
 }:
 
 mkDerivation rec {
-  name = "ipe-7.2.13";
+  pname = "ipe";
+  version = "7.2.23";
 
   src = fetchurl {
-    url = "https://dl.bintray.com/otfried/generic/ipe/7.2/${name}-src.tar.gz";
-    sha256 = "1a6a88r7j5z01z6k1z72a8g3n6lxdjjxxkdrzrfdd6df2gbs6g5g";
+    url = "https://dl.bintray.com/otfried/generic/ipe/7.2/${pname}-${version}-src.tar.gz";
+    sha256 = "0yvm3zfba1ljyy518vjnvwpyg7lgnmdwm19v5k0wfgz64aca56x1";
   };
 
-  sourceRoot = "${name}/src";
+  sourceRoot = "${pname}-${version}/src";
 
-  IPEPREFIX=placeholder "out";
-  URWFONTDIR="${texlive}/texmf-dist/fonts/type1/urw/";
-  LUA_PACKAGE = "lua";
+  nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [
-    libjpeg libpng zlib qtbase freetype cairo lua5 texlive ghostscript
+    cairo
+    freetype
+    ghostscript
+    gsl
+    libjpeg
+    libpng
+    libspiro
+    lua5
+    qtbase
+    texlive
+    zlib
   ];
 
-  nativeBuildInputs = [ pkg-config ];
+  IPEPREFIX=placeholder "out";
+  URWFONTDIR="${texlive}/texmf-dist/fonts/type1/urw/";
+  LUA_PACKAGE = "lua";
 
   qtWrapperArgs = [ "--prefix PATH : ${texlive}/bin"  ];
 
   enableParallelBuilding = true;
 
-  #TODO: make .desktop entry
+  # TODO: make .desktop entry
 
-  meta = {
+  meta = with lib; {
     description = "An editor for drawing figures";
-    homepage = "http://ipe.otfried.org";
-    license = lib.licenses.gpl3Plus;
+    homepage = "http://ipe.otfried.org";  # https not available
+    license = licenses.gpl3Plus;
     longDescription = ''
       Ipe is an extensible drawing editor for creating figures in PDF and Postscript format.
       It supports making small figures for inclusion into LaTeX-documents
       as well as presentations in PDF.
     '';
-    maintainers = [ lib.maintainers.ttuegel ];
-    platforms = lib.platforms.linux;
+    maintainers = with maintainers; [ ttuegel ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix
index c8950eba398a2..3accf2fd59049 100644
--- a/pkgs/applications/graphics/openscad/default.nix
+++ b/pkgs/applications/graphics/openscad/default.nix
@@ -29,13 +29,13 @@
 
 mkDerivation rec {
   pname = "openscad";
-  version = "2019.05";
+  version = "2021.01";
 
   src = fetchFromGitHub {
     owner = "openscad";
     repo = "openscad";
     rev = "${pname}-${version}";
-    sha256 = "1qz384jqgk75zxk7sqd22ma9pyd94kh4h6a207ldx7p9rny6vc5l";
+    sha256 = "sha256-2tOLqpFt5klFPxHNONnHVzBKEFWn4+ufx/MU+eYbliA=";
   };
 
   nativeBuildInputs = [ bison flex pkg-config gettext qmake ];
diff --git a/pkgs/applications/graphics/ovito/default.nix b/pkgs/applications/graphics/ovito/default.nix
new file mode 100644
index 0000000000000..f0dc5f2b363e9
--- /dev/null
+++ b/pkgs/applications/graphics/ovito/default.nix
@@ -0,0 +1,41 @@
+{ mkDerivation, lib, fetchFromGitLab, cmake
+, boost, netcdf, hdf5, fftwSinglePrec, muparser, openssl, ffmpeg, python
+, qtbase, qtsvg, qttools, qscintilla }:
+
+mkDerivation rec {
+  pname = "ovito";
+  version = "3.4.0";
+
+  src = fetchFromGitLab {
+    owner = "stuko";
+    repo = "ovito";
+    rev = "v${version}";
+    sha256 = "1y3wr6yzpsl0qm7cicp2mppfszxd0fgx8hm99in9wff9qd0r16b5";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    boost
+    netcdf
+    hdf5
+    fftwSinglePrec
+    muparser
+    openssl
+    ffmpeg
+    python
+    qtbase
+    qtsvg
+    qttools
+    qscintilla
+  ];
+
+  meta = with lib; {
+    description = "Scientific visualization and analysis software for atomistic and particle simulation data";
+    homepage = "https://ovito.org";
+    license = with licenses;  [ gpl3Only mit ];
+    maintainers = with maintainers; [ twhitehead ];
+  };
+}
diff --git a/pkgs/applications/graphics/pdfcpu/default.nix b/pkgs/applications/graphics/pdfcpu/default.nix
index 857a68df09238..96df57d719818 100644
--- a/pkgs/applications/graphics/pdfcpu/default.nix
+++ b/pkgs/applications/graphics/pdfcpu/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pdfcpu";
-  version = "0.3.8";
+  version = "0.3.9";
 
   src = fetchFromGitHub {
     owner = "pdfcpu";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Rx/LUp5s2DhEKuLUklYXjtTXjqBju+5YzK1hNfBCnIE=";
+    sha256 = "sha256-btkGn/67KVFB272j7u5MKZCeby2fyRthLLeXj8VgX7s=";
   };
 
   vendorSha256 = "sha256-/SsDDFveovJfuEdnOkxHAWccS8PJW5k9IHSxSJAgHMQ=";
diff --git a/pkgs/applications/graphics/sane/backends/brscan4/default.nix b/pkgs/applications/graphics/sane/backends/brscan4/default.nix
index 0e768afdde1df..9713618d79abe 100644
--- a/pkgs/applications/graphics/sane/backends/brscan4/default.nix
+++ b/pkgs/applications/graphics/sane/backends/brscan4/default.nix
@@ -1,5 +1,4 @@
-{ lib, stdenv, fetchurl, callPackage, patchelf, makeWrapper, coreutils, libusb-compat-0_1 }:
-
+{ stdenv, lib, fetchurl, callPackage, patchelf, makeWrapper, coreutils, libusb-compat-0_1 }:
 let
   myPatchElf = file: with lib; ''
     patchelf --set-interpreter \
@@ -7,22 +6,23 @@ let
       ${file}
   '';
 
-  udevRules = callPackage ./udev_rules_type1.nix {};
+  udevRules = callPackage ./udev_rules_type1.nix { };
+
+in
+stdenv.mkDerivation rec {
+  pname = "brscan4";
+  version = "0.4.9-1";
+  src = {
+    "i686-linux" = fetchurl {
+      url = "http://download.brother.com/welcome/dlf006646/${pname}-${version}.i386.deb";
+      sha256 = "0pkg9aqvnkpjnb9cgzf7lxw2g4jqrf2w98irkv22r0gfsfs3nwma";
+    };
+    "x86_64-linux" = fetchurl {
 
-in stdenv.mkDerivation rec {
-  name = "brscan4-0.4.8-1";
-  src =
-    if stdenv.hostPlatform.system == "i686-linux" then
-      fetchurl {
-        url = "http://download.brother.com/welcome/dlf006646/${name}.i386.deb";
-        sha256 = "15hrf1gpm36lniqi6yf47dvdqjinm644xb752c6rcv8n06wb79ag";
-      }
-    else if stdenv.hostPlatform.system == "x86_64-linux" then
-      fetchurl {
-        url = "https://download.brother.com/welcome/dlf006645/${name}.amd64.deb";
-        sha256 = "0pyprjl0capg403yp6pp07gd6msx9kn7bzjcdswdbn28fyxrk5l4";
-      }
-    else throw "${name} is not supported on ${stdenv.hostPlatform.system} (only i686-linux and x86_64 linux are supported)";
+      url = "https://download.brother.com/welcome/dlf006645/${pname}-${version}.amd64.deb";
+      sha256 = "0kakkl8rmsi2yr3f8vd1kk8vsl9g2ijhqil1cvvbwrhwgi0b7ai7";
+    };
+  }."${stdenv.hostPlatform.system}";
 
   unpackPhase = ''
     ar x $src
@@ -87,7 +87,7 @@ in stdenv.mkDerivation rec {
   meta = {
     description = "Brother brscan4 sane backend driver";
     homepage = "http://www.brother.com";
-    platforms = lib.platforms.linux;
+    platforms = [ "i686-linux" "x86_64-linux" ];
     license = lib.licenses.unfree;
     maintainers = with lib.maintainers; [ jraygauthier ];
   };
diff --git a/pkgs/applications/graphics/solvespace/default.nix b/pkgs/applications/graphics/solvespace/default.nix
index 98348129d9bdd..b00f7f33210cf 100644
--- a/pkgs/applications/graphics/solvespace/default.nix
+++ b/pkgs/applications/graphics/solvespace/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchgit, cmake, pkg-config, zlib, libpng, cairo, freetype
-, json_c, fontconfig, gtkmm3, pangomm, glew, libGLU, xorg, pcre
-, wrapGAppsHook
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, zlib, libpng, cairo, freetype
+, json_c, fontconfig, gtkmm3, pangomm, glew, libGLU, xorg, pcre, wrapGAppsHook
 }:
 stdenv.mkDerivation rec {
-  name = "solvespace-2.3-20190501";
-  rev = "e7b75f19c34c923780db776592b47152650d8f22";
-  src = fetchgit {
-    url = "https://github.com/solvespace/solvespace";
-    inherit rev;
-    sha256 = "07k4mbzxf0dmzwdhjx5nc09y7rn1schkaypsw9kz0l7ppylprpp2";
+  pname = "solvespace";
+  version = "v3.0.rc2";
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    sha256 = "1z0873gwcr0hybrpqy4hwislir6k2zb4s62lbsivq5nbkizy7gjm";
     fetchSubmodules = true;
   };
 
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     +# include(GetGitCommitHash)
      # and instead uncomment the following, adding the complete git hash of the checkout you are using:
     -# set(GIT_COMMIT_HASH 0000000000000000000000000000000000000000)
-    +set(GIT_COMMIT_HASH $rev)
+    +set(GIT_COMMIT_HASH $version)
     EOF
   '';
 
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A parametric 3d CAD program";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = [ maintainers.edef ];
     platforms = platforms.linux;
     homepage = "http://solvespace.com";
diff --git a/pkgs/applications/graphics/tesseract/wrapper.nix b/pkgs/applications/graphics/tesseract/wrapper.nix
index 313920d8154e2..1dfc4393c46bd 100644
--- a/pkgs/applications/graphics/tesseract/wrapper.nix
+++ b/pkgs/applications/graphics/tesseract/wrapper.nix
@@ -17,7 +17,7 @@ let
   tesseractWithData = tesseractBase.overrideAttrs (_: {
     inherit tesseractBase tessdata;
 
-    buildInputs = [ makeWrapper ];
+    nativeBuildInputs = [ makeWrapper ];
 
     buildCommand = ''
       makeWrapper {$tesseractBase,$out}/bin/tesseract --set-default TESSDATA_PREFIX $out/share/tessdata
diff --git a/pkgs/applications/graphics/tev/default.nix b/pkgs/applications/graphics/tev/default.nix
index ac8da654f0576..3c48bbab0b853 100644
--- a/pkgs/applications/graphics/tev/default.nix
+++ b/pkgs/applications/graphics/tev/default.nix
@@ -5,14 +5,14 @@
 
 stdenv.mkDerivation rec {
   pname = "tev";
-  version = "1.16";
+  version = "1.17";
 
   src = fetchFromGitHub {
     owner = "Tom94";
     repo = pname;
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "0fn5j9klzrjvz3bq8p9yp9nqikn2fr7bp98c1sxwpwwaadkqy9xf";
+    sha256 = "12wsy2zdfhg0ygkpvz58rk86qiy259fi9grb0jxiz8zcyd6x1ngk";
   };
 
   nativeBuildInputs = [ cmake wrapGAppsHook ];
@@ -26,6 +26,10 @@ stdenv.mkDerivation rec {
       --replace "/usr/" "''${out}/"
   '';
 
+  cmakeFlags = [
+    "-DTEV_DEPLOY=1" # Only relevant not to append "dev" to the version
+  ];
+
   postInstall = ''
     wrapProgram $out/bin/tev \
       "''${gappsWrapperArgs[@]}" \
diff --git a/pkgs/applications/graphics/unigine-valley/default.nix b/pkgs/applications/graphics/unigine-valley/default.nix
index 0c5c8f3ff2816..3187f573de704 100644
--- a/pkgs/applications/graphics/unigine-valley/default.nix
+++ b/pkgs/applications/graphics/unigine-valley/default.nix
@@ -38,7 +38,7 @@ in
     sourceRoot = "Unigine_Valley-${version}";
     instPath = "lib/unigine/valley";
 
-    buildInputs = [file makeWrapper];
+    nativeBuildInputs = [file makeWrapper];
 
     libPath = lib.makeLibraryPath [
       stdenv.cc.cc  # libstdc++.so.6
diff --git a/pkgs/applications/graphics/xfig/default.nix b/pkgs/applications/graphics/xfig/default.nix
index 53a9632e19231..8773db5bead6e 100644
--- a/pkgs/applications/graphics/xfig/default.nix
+++ b/pkgs/applications/graphics/xfig/default.nix
@@ -1,5 +1,15 @@
-{ lib, stdenv, fetchurl, xlibsWrapper, makeWrapper, libXpm
-, libXmu, libXi, libXp, Xaw3d, libXaw, fig2dev
+{ lib
+, stdenv
+, fetchurl
+, xlibsWrapper
+, makeWrapper
+, libXpm
+, libXmu
+, libXi
+, libXp
+, Xaw3d
+, libXaw
+, fig2dev
 }:
 
 stdenv.mkDerivation rec {
@@ -11,6 +21,18 @@ stdenv.mkDerivation rec {
     sha256 = "1czamqp0xn0j6qjnasa3fjnrzi072v6qknylr6jrs4gwsfw4ybyw";
   };
 
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildInputs = [
+    xlibsWrapper
+    libXpm
+    libXmu
+    libXi
+    libXp
+    Xaw3d
+    libXaw
+  ];
+
   postPatch = ''
     sed -i 's:"fig2dev":"${fig2dev}/bin/fig2dev":' src/main.c
   '';
@@ -25,10 +47,6 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ makeWrapper ];
-
-  buildInputs = [ xlibsWrapper libXpm libXmu libXi libXp Xaw3d libXaw ];
-
   meta = with lib; {
     description = "An interactive drawing tool for X11";
     longDescription = ''
diff --git a/pkgs/applications/kde/akonadi-contacts.nix b/pkgs/applications/kde/akonadi-contacts.nix
index 2076723a372bd..ad94c79e0f3cb 100644
--- a/pkgs/applications/kde/akonadi-contacts.nix
+++ b/pkgs/applications/kde/akonadi-contacts.nix
@@ -2,9 +2,9 @@
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules,
   qtwebengine,
-  grantlee,
+  grantlee, grantleetheme,
   kdbusaddons, ki18n, kiconthemes, kio, kitemmodels, ktextwidgets, prison,
-  akonadi, akonadi-mime, kcontacts, kmime,
+  akonadi, akonadi-mime, kcontacts, kmime, libkleo,
 }:
 
 mkDerivation {
@@ -16,9 +16,9 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     qtwebengine
-    grantlee
+    grantlee grantleetheme
     kdbusaddons ki18n kiconthemes kio kitemmodels ktextwidgets prison
-    akonadi-mime kcontacts kmime
+    akonadi-mime kcontacts kmime libkleo
   ];
   propagatedBuildInputs = [ akonadi ];
   outputs = [ "out" "dev" ];
diff --git a/pkgs/applications/kde/akonadi/0001-akonadi-paths.patch b/pkgs/applications/kde/akonadi/0001-akonadi-paths.patch
index 58390cba226b4..3e5ccc9cdaa54 100644
--- a/pkgs/applications/kde/akonadi/0001-akonadi-paths.patch
+++ b/pkgs/applications/kde/akonadi/0001-akonadi-paths.patch
@@ -1,6 +1,6 @@
-From 90969b9b36400d47b1afe761fb8468c1acb8a04a Mon Sep 17 00:00:00 2001
+From f4d718502ecd8242500078a7783e27caba72871e Mon Sep 17 00:00:00 2001
 From: Thomas Tuegel <ttuegel@mailbox.org>
-Date: Mon, 13 Jul 2020 11:41:19 -0500
+Date: Sun, 31 Jan 2021 11:00:03 -0600
 Subject: [PATCH 1/3] akonadi paths
 
 ---
@@ -11,10 +11,10 @@ Subject: [PATCH 1/3] akonadi paths
  4 files changed, 11 insertions(+), 40 deletions(-)
 
 diff --git a/src/akonadicontrol/agentmanager.cpp b/src/akonadicontrol/agentmanager.cpp
-index 23b4a1f..c13b658 100644
+index 31e0cf2..6436e87 100644
 --- a/src/akonadicontrol/agentmanager.cpp
 +++ b/src/akonadicontrol/agentmanager.cpp
-@@ -61,7 +61,7 @@ public:
+@@ -48,7 +48,7 @@ public:
                  []() {
                      QCoreApplication::instance()->exit(255);
                  });
@@ -23,7 +23,7 @@ index 23b4a1f..c13b658 100644
      }
  
      ~StorageProcessControl() override
-@@ -84,7 +84,7 @@ public:
+@@ -70,7 +70,7 @@ public:
                  []() {
                      qCCritical(AKONADICONTROL_LOG) << "Failed to start AgentServer!";
                  });
@@ -33,10 +33,10 @@ index 23b4a1f..c13b658 100644
  
      ~AgentServerProcessControl() override
 diff --git a/src/akonadicontrol/agentprocessinstance.cpp b/src/akonadicontrol/agentprocessinstance.cpp
-index 4e58f7e..e8bb532 100644
+index c98946c..aa307ca 100644
 --- a/src/akonadicontrol/agentprocessinstance.cpp
 +++ b/src/akonadicontrol/agentprocessinstance.cpp
-@@ -62,7 +62,7 @@ bool AgentProcessInstance::start(const AgentType &agentInfo)
+@@ -49,7 +49,7 @@ bool AgentProcessInstance::start(const AgentType &agentInfo)
      } else {
          Q_ASSERT(agentInfo.launchMethod == AgentType::Launcher);
          const QStringList arguments = QStringList() << executable << identifier();
@@ -46,10 +46,10 @@ index 4e58f7e..e8bb532 100644
      }
      return true;
 diff --git a/src/server/storage/dbconfigmysql.cpp b/src/server/storage/dbconfigmysql.cpp
-index cac40f5..527649b 100644
+index d595a3a..99324f6 100644
 --- a/src/server/storage/dbconfigmysql.cpp
 +++ b/src/server/storage/dbconfigmysql.cpp
-@@ -83,7 +83,6 @@ bool DbConfigMysql::init(QSettings &settings)
+@@ -69,7 +69,6 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings)
      // determine default settings depending on the driver
      QString defaultHostName;
      QString defaultOptions;
@@ -57,7 +57,7 @@ index cac40f5..527649b 100644
      QString defaultCleanShutdownCommand;
  
  #ifndef Q_OS_WIN
-@@ -92,16 +91,7 @@ bool DbConfigMysql::init(QSettings &settings)
+@@ -78,16 +77,7 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings)
  #endif
  
      const bool defaultInternalServer = true;
@@ -75,7 +75,7 @@ index cac40f5..527649b 100644
      if (!mysqladminPath.isEmpty()) {
  #ifndef Q_OS_WIN
          defaultCleanShutdownCommand = QStringLiteral("%1 --defaults-file=%2/mysql.conf --socket=%3/%4 shutdown")
-@@ -111,10 +101,10 @@ bool DbConfigMysql::init(QSettings &settings)
+@@ -97,10 +87,10 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings)
  #endif
      }
  
@@ -88,7 +88,7 @@ index cac40f5..527649b 100644
      qCDebug(AKONADISERVER_LOG) << "Found mysqlcheck: " << mMysqlCheckPath;
  
      mInternalServer = settings.value(QStringLiteral("QMYSQL/StartServer"), defaultInternalServer).toBool();
-@@ -131,7 +121,7 @@ bool DbConfigMysql::init(QSettings &settings)
+@@ -117,7 +107,7 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings)
      mUserName = settings.value(QStringLiteral("User")).toString();
      mPassword = settings.value(QStringLiteral("Password")).toString();
      mConnectionOptions = settings.value(QStringLiteral("Options"), defaultOptions).toString();
@@ -97,7 +97,7 @@ index cac40f5..527649b 100644
      mCleanServerShutdownCommand = settings.value(QStringLiteral("CleanServerShutdownCommand"), defaultCleanShutdownCommand).toString();
      settings.endGroup();
  
-@@ -141,9 +131,6 @@ bool DbConfigMysql::init(QSettings &settings)
+@@ -127,9 +117,6 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings)
          // intentionally not namespaced as we are the only one in this db instance when using internal mode
          mDatabaseName = QStringLiteral("akonadi");
      }
@@ -107,17 +107,17 @@ index cac40f5..527649b 100644
  
      qCDebug(AKONADISERVER_LOG) << "Using mysqld:" << mMysqldPath;
  
-@@ -152,9 +139,6 @@ bool DbConfigMysql::init(QSettings &settings)
-     settings.setValue(QStringLiteral("Name"), mDatabaseName);
-     settings.setValue(QStringLiteral("Host"), mHostName);
-     settings.setValue(QStringLiteral("Options"), mConnectionOptions);
--    if (!mMysqldPath.isEmpty()) {
--        settings.setValue(QStringLiteral("ServerPath"), mMysqldPath);
--    }
-     settings.setValue(QStringLiteral("StartServer"), mInternalServer);
-     settings.endGroup();
-     settings.sync();
-@@ -209,7 +193,7 @@ bool DbConfigMysql::startInternalServer()
+@@ -139,9 +126,6 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings)
+         settings.setValue(QStringLiteral("Name"), mDatabaseName);
+         settings.setValue(QStringLiteral("Host"), mHostName);
+         settings.setValue(QStringLiteral("Options"), mConnectionOptions);
+-        if (!mMysqldPath.isEmpty()) {
+-            settings.setValue(QStringLiteral("ServerPath"), mMysqldPath);
+-        }
+         settings.setValue(QStringLiteral("StartServer"), mInternalServer);
+         settings.endGroup();
+         settings.sync();
+@@ -214,7 +198,7 @@ bool DbConfigMysql::startInternalServer()
  #endif
  
      // generate config file
@@ -127,10 +127,10 @@ index cac40f5..527649b 100644
      const QString actualConfig = StandardDirs::saveDir("data") + QLatin1String("/mysql.conf");
      if (globalConfig.isEmpty()) {
 diff --git a/src/server/storage/dbconfigpostgresql.cpp b/src/server/storage/dbconfigpostgresql.cpp
-index 09cdbd5..1c8996b 100644
+index dd273fc..05288d9 100644
 --- a/src/server/storage/dbconfigpostgresql.cpp
 +++ b/src/server/storage/dbconfigpostgresql.cpp
-@@ -141,9 +141,7 @@ bool DbConfigPostgresql::init(QSettings &settings)
+@@ -127,9 +127,7 @@ bool DbConfigPostgresql::init(QSettings &settings, bool storeSettings)
      // determine default settings depending on the driver
      QString defaultHostName;
      QString defaultOptions;
@@ -140,7 +140,7 @@ index 09cdbd5..1c8996b 100644
      QString defaultPgData;
  
  #ifndef Q_WS_WIN // We assume that PostgreSQL is running as service on Windows
-@@ -154,12 +152,8 @@ bool DbConfigPostgresql::init(QSettings &settings)
+@@ -140,12 +138,8 @@ bool DbConfigPostgresql::init(QSettings &settings, bool storeSettings)
  
      mInternalServer = settings.value(QStringLiteral("QPSQL/StartServer"), defaultInternalServer).toBool();
      if (mInternalServer) {
@@ -154,7 +154,7 @@ index 09cdbd5..1c8996b 100644
          defaultPgData = StandardDirs::saveDir("data", QStringLiteral("db_data"));
      }
  
-@@ -178,20 +172,14 @@ bool DbConfigPostgresql::init(QSettings &settings)
+@@ -164,20 +158,14 @@ bool DbConfigPostgresql::init(QSettings &settings, bool storeSettings)
      mUserName = settings.value(QStringLiteral("User")).toString();
      mPassword = settings.value(QStringLiteral("Password")).toString();
      mConnectionOptions = settings.value(QStringLiteral("Options"), defaultOptions).toString();
@@ -177,14 +177,14 @@ index 09cdbd5..1c8996b 100644
      qCDebug(AKONADISERVER_LOG) << "Found pg_upgrade:" << mPgUpgradePath;
      mPgData = settings.value(QStringLiteral("PgData"), defaultPgData).toString();
      if (mPgData.isEmpty()) {
-@@ -207,7 +195,6 @@ bool DbConfigPostgresql::init(QSettings &settings)
-         settings.setValue(QStringLiteral("Port"), mHostPort);
-     }
-     settings.setValue(QStringLiteral("Options"), mConnectionOptions);
--    settings.setValue(QStringLiteral("ServerPath"), mServerPath);
-     settings.setValue(QStringLiteral("InitDbPath"), mInitDbPath);
-     settings.setValue(QStringLiteral("StartServer"), mInternalServer);
-     settings.endGroup();
+@@ -194,7 +182,6 @@ bool DbConfigPostgresql::init(QSettings &settings, bool storeSettings)
+             settings.setValue(QStringLiteral("Port"), mHostPort);
+         }
+         settings.setValue(QStringLiteral("Options"), mConnectionOptions);
+-        settings.setValue(QStringLiteral("ServerPath"), mServerPath);
+         settings.setValue(QStringLiteral("InitDbPath"), mInitDbPath);
+         settings.setValue(QStringLiteral("StartServer"), mInternalServer);
+         settings.endGroup();
 -- 
-2.25.4
+2.29.2
 
diff --git a/pkgs/applications/kde/akonadi/0002-akonadi-timestamps.patch b/pkgs/applications/kde/akonadi/0002-akonadi-timestamps.patch
index ac9b3146e179a..24f59f6791612 100644
--- a/pkgs/applications/kde/akonadi/0002-akonadi-timestamps.patch
+++ b/pkgs/applications/kde/akonadi/0002-akonadi-timestamps.patch
@@ -1,6 +1,6 @@
-From b8c6a2a017321649db8fec553a644b8da2300514 Mon Sep 17 00:00:00 2001
+From badd4be311afd37a99126c60490f1ae5daced6c4 Mon Sep 17 00:00:00 2001
 From: Thomas Tuegel <ttuegel@mailbox.org>
-Date: Mon, 13 Jul 2020 11:41:35 -0500
+Date: Sun, 31 Jan 2021 11:00:15 -0600
 Subject: [PATCH 2/3] akonadi timestamps
 
 ---
@@ -8,10 +8,10 @@ Subject: [PATCH 2/3] akonadi timestamps
  1 file changed, 1 insertion(+), 2 deletions(-)
 
 diff --git a/src/server/storage/dbconfigmysql.cpp b/src/server/storage/dbconfigmysql.cpp
-index 527649b..08c3dd4 100644
+index 99324f6..3c170a8 100644
 --- a/src/server/storage/dbconfigmysql.cpp
 +++ b/src/server/storage/dbconfigmysql.cpp
-@@ -235,8 +235,7 @@ bool DbConfigMysql::startInternalServer()
+@@ -240,8 +240,7 @@ bool DbConfigMysql::startInternalServer()
      bool confUpdate = false;
      QFile actualFile(actualConfig);
      // update conf only if either global (or local) is newer than actual
@@ -22,5 +22,5 @@ index 527649b..08c3dd4 100644
          QFile localFile(localConfig);
          if (globalFile.open(QFile::ReadOnly) && actualFile.open(QFile::WriteOnly)) {
 -- 
-2.25.4
+2.29.2
 
diff --git a/pkgs/applications/kde/akonadi/0003-akonadi-revert-make-relocatable.patch b/pkgs/applications/kde/akonadi/0003-akonadi-revert-make-relocatable.patch
index 1a0bc000c804d..3aa61da73e415 100644
--- a/pkgs/applications/kde/akonadi/0003-akonadi-revert-make-relocatable.patch
+++ b/pkgs/applications/kde/akonadi/0003-akonadi-revert-make-relocatable.patch
@@ -1,6 +1,6 @@
-From 7afe018382cf68b477b35f87b666424d62d19ef4 Mon Sep 17 00:00:00 2001
+From 82bfa975af60757374ffad787e56a981d6df0f98 Mon Sep 17 00:00:00 2001
 From: Thomas Tuegel <ttuegel@mailbox.org>
-Date: Mon, 13 Jul 2020 11:41:55 -0500
+Date: Sun, 31 Jan 2021 11:01:24 -0600
 Subject: [PATCH 3/3] akonadi revert make relocatable
 
 ---
@@ -9,10 +9,10 @@ Subject: [PATCH 3/3] akonadi revert make relocatable
  2 files changed, 3 insertions(+), 6 deletions(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d927471..83a74c0 100644
+index 4bb5fec..35720b4 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -330,9 +330,6 @@ configure_package_config_file(
+@@ -343,9 +343,6 @@ configure_package_config_file(
      "${CMAKE_CURRENT_SOURCE_DIR}/KF5AkonadiConfig.cmake.in"
      "${CMAKE_CURRENT_BINARY_DIR}/KF5AkonadiConfig.cmake"
      INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
@@ -23,29 +23,23 @@ index d927471..83a74c0 100644
  
  install(FILES
 diff --git a/KF5AkonadiConfig.cmake.in b/KF5AkonadiConfig.cmake.in
-index 421e1df..e3abf27 100644
+index bcf7320..1574319 100644
 --- a/KF5AkonadiConfig.cmake.in
 +++ b/KF5AkonadiConfig.cmake.in
-@@ -24,8 +24,8 @@ if(BUILD_TESTING)
-     find_dependency(Qt5Test "@QT_REQUIRED_VERSION@")
- endif()
+@@ -1,10 +1,10 @@
+ @PACKAGE_INIT@
  
 -set_and_check(AKONADI_DBUS_INTERFACES_DIR  "@PACKAGE_AKONADI_DBUS_INTERFACES_INSTALL_DIR@")
 -set_and_check(AKONADI_INCLUDE_DIR          "@PACKAGE_AKONADI_INCLUDE_DIR@")
 +set_and_check(AKONADI_DBUS_INTERFACES_DIR  "@AKONADI_DBUS_INTERFACES_INSTALL_DIR@")
 +set_and_check(AKONADI_INCLUDE_DIR          "@AKONADI_INCLUDE_DIR@")
  
- find_dependency(Boost "@Boost_MINIMUM_VERSION@")
- 
-@@ -33,7 +33,7 @@ include(${CMAKE_CURRENT_LIST_DIR}/KF5AkonadiTargets.cmake)
- include(${CMAKE_CURRENT_LIST_DIR}/KF5AkonadiMacros.cmake)
- 
  # The directory where akonadi-xml.xsd and kcfg2dbus.xsl are installed
 -set(KF5Akonadi_DATA_DIR "@PACKAGE_KF5Akonadi_DATA_DIR@")
 +set(KF5Akonadi_DATA_DIR "@KF5Akonadi_DATA_DIR@")
  
- ####################################################################################
- # CMAKE_AUTOMOC
+ # set the directories
+ if(NOT AKONADI_INSTALL_DIR)
 -- 
-2.25.4
+2.29.2
 
diff --git a/pkgs/applications/kde/akonadi/default.nix b/pkgs/applications/kde/akonadi/default.nix
index d24e19f89e7e2..e0b0e2324b142 100644
--- a/pkgs/applications/kde/akonadi/default.nix
+++ b/pkgs/applications/kde/akonadi/default.nix
@@ -3,7 +3,7 @@
   extra-cmake-modules, shared-mime-info, qtbase, accounts-qt,
   boost, kaccounts-integration, kcompletion, kconfigwidgets, kcrash, kdbusaddons,
   kdesignerplugin, ki18n, kiconthemes, kio, kitemmodels, kwindowsystem, mysql, qttools,
-  signond,
+  signond, lzma,
 }:
 
 mkDerivation {
@@ -21,7 +21,7 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules shared-mime-info ];
   buildInputs = [
     kaccounts-integration kcompletion kconfigwidgets kcrash kdbusaddons kdesignerplugin
-    ki18n kiconthemes kio kwindowsystem accounts-qt qttools signond
+    ki18n kiconthemes kio kwindowsystem lzma accounts-qt qttools signond
   ];
   propagatedBuildInputs = [ boost kitemmodels ];
   outputs = [ "out" "dev" ];
diff --git a/pkgs/applications/kde/calendarsupport.nix b/pkgs/applications/kde/calendarsupport.nix
index b316ab4e56893..c7ef5c4615cee 100644
--- a/pkgs/applications/kde/calendarsupport.nix
+++ b/pkgs/applications/kde/calendarsupport.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, kdepimTeam, fetchpatch,
   extra-cmake-modules, kdoctools,
-  akonadi, akonadi-calendar, akonadi-mime, akonadi-notes, kcalutils, kdepim-apps-libs,
+  akonadi, akonadi-calendar, akonadi-mime, akonadi-notes, kcalutils,
   kholidays, kidentitymanagement, kmime, pimcommon, qttools,
 }:
 
@@ -11,16 +11,9 @@ mkDerivation {
     license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
     maintainers = kdepimTeam;
   };
-  patches = [
-    # Patch for Qt 5.15.2 until version 20.12.0
-    (fetchpatch {
-      url = "https://invent.kde.org/pim/calendarsupport/-/commit/b4193facb223bd5b73a65318dec8ced51b66adf7.patch";
-      sha256 = "sha256:1da11rqbxxrl06ld3avc41p064arz4n6w5nxq8r008v8ws3s64dy";
-    })
-  ];
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    akonadi akonadi-mime akonadi-notes kcalutils kdepim-apps-libs kholidays pimcommon qttools
+    akonadi akonadi-mime akonadi-notes kcalutils kholidays pimcommon qttools
   ];
   propagatedBuildInputs = [ akonadi-calendar kidentitymanagement kmime ];
   outputs = [ "out" "dev" ];
diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix
index 33f392fdccc71..b312a566a700f 100644
--- a/pkgs/applications/kde/default.nix
+++ b/pkgs/applications/kde/default.nix
@@ -109,10 +109,9 @@ let
       kdegraphics-mobipocket = callPackage ./kdegraphics-mobipocket.nix {};
       kdegraphics-thumbnailers = callPackage ./kdegraphics-thumbnailers.nix {};
       kdenetwork-filesharing = callPackage ./kdenetwork-filesharing.nix {};
-      kdenlive = callPackage ./kdenlive.nix {};
+      kdenlive = callPackage ./kdenlive {};
       kdepim-runtime = callPackage ./kdepim-runtime {};
       kdepim-addons = callPackage ./kdepim-addons.nix {};
-      kdepim-apps-libs = callPackage ./kdepim-apps-libs {};
       kdf = callPackage ./kdf.nix {};
       kdialog = callPackage ./kdialog.nix {};
       kdiamond = callPackage ./kdiamond.nix {};
diff --git a/pkgs/applications/kde/dolphin.nix b/pkgs/applications/kde/dolphin.nix
index 3774c7e00b63c..a558ad266773a 100644
--- a/pkgs/applications/kde/dolphin.nix
+++ b/pkgs/applications/kde/dolphin.nix
@@ -5,7 +5,7 @@
   kcompletion, kconfig, kcoreaddons, kdelibs4support, kdbusaddons,
   kfilemetadata, ki18n, kiconthemes, kinit, kio, knewstuff, knotifications,
   kparts, ktexteditor, kwindowsystem, phonon, solid,
-  wayland, qtwayland
+  wayland, qtbase, qtwayland
 }:
 
 mkDerivation {
@@ -13,6 +13,7 @@ mkDerivation {
   meta = {
     license = with lib.licenses; [ gpl2 fdl12 ];
     maintainers = [ lib.maintainers.ttuegel ];
+    broken = lib.versionOlder qtbase.version "5.14";
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedUserEnvPkgs = [ baloo ];
diff --git a/pkgs/applications/kde/fetch.sh b/pkgs/applications/kde/fetch.sh
index e3bba77f97284..d659c551bd689 100644
--- a/pkgs/applications/kde/fetch.sh
+++ b/pkgs/applications/kde/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( http://download.kde.org/stable/release-service/20.08.3/src -A '*.tar.xz' )
+WGET_ARGS=( http://download.kde.org/stable/release-service/20.12.1/src -A '*.tar.xz' )
diff --git a/pkgs/applications/kde/ffmpegthumbs.nix b/pkgs/applications/kde/ffmpegthumbs.nix
index 2a8b82352b40b..f19ee16098433 100644
--- a/pkgs/applications/kde/ffmpegthumbs.nix
+++ b/pkgs/applications/kde/ffmpegthumbs.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib,
   extra-cmake-modules,
-  ffmpeg_3, kio
+  ffmpeg_3, kio, taglib
 }:
 
 mkDerivation {
@@ -11,5 +11,5 @@ mkDerivation {
     maintainers = [ lib.maintainers.ttuegel ];
   };
   nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [ ffmpeg_3 kio ];
+  buildInputs = [ ffmpeg_3 kio taglib ];
 }
diff --git a/pkgs/applications/kde/filelight.nix b/pkgs/applications/kde/filelight.nix
index 1aeff531862fa..95a89b01b8cd1 100644
--- a/pkgs/applications/kde/filelight.nix
+++ b/pkgs/applications/kde/filelight.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib,
   extra-cmake-modules, kdoctools,
-  kio, kparts, kxmlgui, qtscript, solid
+  kio, kparts, kxmlgui, qtbase, qtscript, solid
 }:
 
 mkDerivation {
@@ -9,6 +9,7 @@ mkDerivation {
   meta = {
     license = with lib.licenses; [ gpl2 ];
     maintainers = with lib.maintainers; [ fridh vcunat ];
+    broken = lib.versionOlder qtbase.version "5.13";
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
diff --git a/pkgs/applications/kde/incidenceeditor.nix b/pkgs/applications/kde/incidenceeditor.nix
index 981c184d15150..7f2c284ad74df 100644
--- a/pkgs/applications/kde/incidenceeditor.nix
+++ b/pkgs/applications/kde/incidenceeditor.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
-  akonadi, akonadi-mime, calendarsupport, eventviews, kdepim-apps-libs,
+  akonadi, akonadi-mime, calendarsupport, eventviews,
   kdiagram, kldap, kmime, pimcommon, qtbase
 }:
 
@@ -13,7 +13,7 @@ mkDerivation {
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    akonadi akonadi-mime calendarsupport eventviews kdepim-apps-libs kdiagram
+    akonadi akonadi-mime calendarsupport eventviews kdiagram
     kldap kmime pimcommon qtbase
   ];
   outputs = [ "out" "dev" ];
diff --git a/pkgs/applications/kde/kaddressbook.nix b/pkgs/applications/kde/kaddressbook.nix
index 452c5142157d1..2672d815fb0a3 100644
--- a/pkgs/applications/kde/kaddressbook.nix
+++ b/pkgs/applications/kde/kaddressbook.nix
@@ -2,7 +2,7 @@
   mkDerivation, lib, kdepimTeam, fetchpatch,
   extra-cmake-modules, kdoctools,
   akonadi, akonadi-search, grantlee, grantleetheme, kcmutils, kcompletion,
-  kcrash, kdbusaddons, kdepim-apps-libs, ki18n, kontactinterface, kparts,
+  kcrash, kdbusaddons, ki18n, kontactinterface, kparts,
   kpimtextedit, kxmlgui, libkdepim, libkleo, mailcommon, pimcommon, prison,
   qgpgme, qtbase,
 }:
@@ -13,17 +13,10 @@ mkDerivation {
     license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
     maintainers = kdepimTeam;
   };
-  patches = [
-    # Patch for Qt 5.15.2 until version 20.12.0
-    (fetchpatch {
-      url = "https://invent.kde.org/pim/kaddressbook/-/commit/8aee8d40ae2a1c920d3520163d550d3b49720226.patch";
-      sha256 = "sha256:0dsy119cd5w9khiwgk6fb7xnjzmj94rfphf327k331lf15zq4853";
-    })
-  ];
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     akonadi akonadi-search grantlee grantleetheme kcmutils kcompletion kcrash
-    kdbusaddons kdepim-apps-libs ki18n kontactinterface kparts kpimtextedit
+    kdbusaddons ki18n kontactinterface kparts kpimtextedit
     kxmlgui libkdepim libkleo mailcommon pimcommon prison qgpgme qtbase
   ];
 }
diff --git a/pkgs/applications/kde/kalarm.nix b/pkgs/applications/kde/kalarm.nix
index 70ee3f7418543..8709f26bd121e 100644
--- a/pkgs/applications/kde/kalarm.nix
+++ b/pkgs/applications/kde/kalarm.nix
@@ -3,12 +3,13 @@
   extra-cmake-modules,
 
   kauth, kcodecs, kcompletion, kconfig, kconfigwidgets, kdbusaddons, kdoctools,
-  kguiaddons, ki18n, kiconthemes, kjobwidgets, kcmutils, kdelibs4support, kio,
-  knotifications, kservice, kwidgetsaddons, kwindowsystem, kxmlgui, phonon,
+  kguiaddons, ki18n, kiconthemes, kidletime, kjobwidgets, kcmutils,
+  kdelibs4support, kio, knotifications, knotifyconfig, kservice, kwidgetsaddons,
+  kwindowsystem, kxmlgui, phonon,
 
   kimap, akonadi, akonadi-contacts, akonadi-mime, kalarmcal, kcalendarcore, kcalutils,
   kholidays, kidentitymanagement, libkdepim, mailcommon, kmailtransport, kmime,
-  pimcommon, kpimtextedit, kdepim-apps-libs, messagelib,
+  pimcommon, kpimtextedit, messagelib,
 
   qtx11extras,
 
@@ -24,12 +25,13 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     kauth kcodecs kcompletion kconfig kconfigwidgets kdbusaddons kdoctools
-    kguiaddons ki18n kiconthemes kjobwidgets kcmutils kdelibs4support kio
-    knotifications kservice kwidgetsaddons kwindowsystem kxmlgui phonon
+    kguiaddons ki18n kiconthemes kidletime kjobwidgets kcmutils kdelibs4support
+    kio knotifications knotifyconfig kservice kwidgetsaddons kwindowsystem
+    kxmlgui phonon
 
-    kimap akonadi akonadi-contacts akonadi-mime kalarmcal kcalendarcore kcalutils
-    kholidays kidentitymanagement libkdepim mailcommon kmailtransport kmime
-    pimcommon kpimtextedit kdepim-apps-libs messagelib
+    kimap akonadi akonadi-contacts akonadi-mime kalarmcal kcalendarcore
+    kcalutils kholidays kidentitymanagement libkdepim mailcommon kmailtransport
+    kmime pimcommon kpimtextedit messagelib
 
     qtx11extras
   ];
diff --git a/pkgs/applications/kde/kdebugsettings.nix b/pkgs/applications/kde/kdebugsettings.nix
index f4dd7ec145d06..0287830485e44 100644
--- a/pkgs/applications/kde/kdebugsettings.nix
+++ b/pkgs/applications/kde/kdebugsettings.nix
@@ -3,7 +3,7 @@
   extra-cmake-modules, kdoctools,
   gettext,
   kcoreaddons, kconfig, kdbusaddons, kwidgetsaddons, kitemviews, kcompletion,
-  python
+  qtbase, python
 }:
 
 mkDerivation {
@@ -11,6 +11,7 @@ mkDerivation {
   meta = {
     license = with lib.licenses; [ gpl2 ];
     maintainers = [ lib.maintainers.rittelle ];
+    broken = lib.versionOlder qtbase.version "5.13";
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
diff --git a/pkgs/applications/kde/kdenetwork-filesharing.nix b/pkgs/applications/kde/kdenetwork-filesharing.nix
index 94656b026710f..a7da03ffdd145 100644
--- a/pkgs/applications/kde/kdenetwork-filesharing.nix
+++ b/pkgs/applications/kde/kdenetwork-filesharing.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib,
   extra-cmake-modules, kdoctools,
-  kcoreaddons, ki18n, kio, kwidgetsaddons, samba
+  kcoreaddons, kdeclarative, ki18n, kio, kwidgetsaddons, samba, qtbase,
 }:
 
 mkDerivation {
@@ -9,7 +9,8 @@ mkDerivation {
   meta = {
     license = [ lib.licenses.gpl2 lib.licenses.lgpl21 ];
     maintainers = [ lib.maintainers.ttuegel ];
+    broken = lib.versionOlder qtbase.version "5.13";
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  buildInputs = [ kcoreaddons ki18n kio kwidgetsaddons samba ];
+  buildInputs = [ kcoreaddons kdeclarative ki18n kio kwidgetsaddons samba ];
 }
diff --git a/pkgs/applications/kde/kdenlive.nix b/pkgs/applications/kde/kdenlive/default.nix
index 47afcd0a67e39..47afcd0a67e39 100644
--- a/pkgs/applications/kde/kdenlive.nix
+++ b/pkgs/applications/kde/kdenlive/default.nix
diff --git a/pkgs/applications/kde/ffmpeg-path.patch b/pkgs/applications/kde/kdenlive/ffmpeg-path.patch
index a0cef882f596d..a0cef882f596d 100644
--- a/pkgs/applications/kde/ffmpeg-path.patch
+++ b/pkgs/applications/kde/kdenlive/ffmpeg-path.patch
diff --git a/pkgs/applications/kde/mlt-path.patch b/pkgs/applications/kde/kdenlive/mlt-path.patch
index 9bfb66c1a8395..9bfb66c1a8395 100644
--- a/pkgs/applications/kde/mlt-path.patch
+++ b/pkgs/applications/kde/kdenlive/mlt-path.patch
diff --git a/pkgs/applications/kde/kdepim-addons.nix b/pkgs/applications/kde/kdepim-addons.nix
index 0939b0ecd26ff..42532644a1a6b 100644
--- a/pkgs/applications/kde/kdepim-addons.nix
+++ b/pkgs/applications/kde/kdepim-addons.nix
@@ -3,7 +3,7 @@
   extra-cmake-modules, shared-mime-info,
   akonadi-import-wizard, akonadi-notes, calendarsupport, eventviews,
   incidenceeditor, kcalendarcore, kcalutils, kconfig, kdbusaddons, kdeclarative,
-  kdepim-apps-libs, kholidays, ki18n, kmime, ktexteditor, ktnef, libgravatar,
+  kholidays, ki18n, kmime, ktexteditor, ktnef, libgravatar,
   libksieve, mailcommon, mailimporter, messagelib, poppler, prison, kpkpass,
   kitinerary, kontactinterface
 }:
@@ -18,7 +18,7 @@ mkDerivation {
   buildInputs = [
     akonadi-import-wizard akonadi-notes calendarsupport eventviews
     incidenceeditor kcalendarcore kcalutils kconfig kdbusaddons kdeclarative
-    kdepim-apps-libs kholidays ki18n kmime ktexteditor ktnef libgravatar
+    kholidays ki18n kmime ktexteditor ktnef libgravatar
     libksieve mailcommon mailimporter messagelib poppler prison kpkpass
     kitinerary kontactinterface
   ];
diff --git a/pkgs/applications/kde/kdepim-apps-libs/default.nix b/pkgs/applications/kde/kdepim-apps-libs/default.nix
deleted file mode 100644
index 19f476fd781ec..0000000000000
--- a/pkgs/applications/kde/kdepim-apps-libs/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-  mkDerivation, lib, kdepimTeam,
-  extra-cmake-modules, kdoctools,
-  akonadi, akonadi-contacts, grantlee, grantleetheme, kconfig, kconfigwidgets,
-  kcontacts, ki18n, kiconthemes, kio, libkleo, pimcommon, prison,
-}:
-
-mkDerivation {
-  pname = "kdepim-apps-libs";
-  meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
-    maintainers = kdepimTeam;
-  };
-  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  buildInputs = [
-    akonadi akonadi-contacts grantlee grantleetheme kconfig kconfigwidgets
-    kcontacts ki18n kiconthemes kio libkleo pimcommon prison
-  ];
-  outputs = [ "out" "dev" ];
-}
diff --git a/pkgs/applications/kde/kmail.nix b/pkgs/applications/kde/kmail.nix
index fa3fe033035f5..e742f566678fe 100644
--- a/pkgs/applications/kde/kmail.nix
+++ b/pkgs/applications/kde/kmail.nix
@@ -2,7 +2,7 @@
   mkDerivation, lib, kdepimTeam,
   extra-cmake-modules, kdoctools,
   akonadi-search, kbookmarks, kcalutils, kcmutils, kcompletion, kconfig,
-  kconfigwidgets, kcoreaddons, kdelibs4support, kdepim-apps-libs, libkdepim,
+  kconfigwidgets, kcoreaddons, kdelibs4support, libkdepim,
   kdepim-runtime, kguiaddons, ki18n, kiconthemes, kinit, kio, kldap,
   kmail-account-wizard, kmailtransport, knotifications, knotifyconfig,
   kontactinterface, kparts, kpty, kservice, ktextwidgets, ktnef, kwallet,
@@ -19,7 +19,7 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     akonadi-search kbookmarks kcalutils kcmutils kcompletion kconfig
-    kconfigwidgets kcoreaddons kdelibs4support kdepim-apps-libs kguiaddons ki18n
+    kconfigwidgets kcoreaddons kdelibs4support kguiaddons ki18n
     kiconthemes kinit kio kldap kmail-account-wizard kmailtransport libkdepim
     knotifications knotifyconfig kontactinterface kparts kpty kservice
     ktextwidgets ktnef kwidgetsaddons kwindowsystem kxmlgui libgravatar
diff --git a/pkgs/applications/kde/kompare.nix b/pkgs/applications/kde/kompare.nix
index a449a1e4f51e6..d4d49c6a94262 100644
--- a/pkgs/applications/kde/kompare.nix
+++ b/pkgs/applications/kde/kompare.nix
@@ -12,15 +12,5 @@ mkDerivation {
   buildInputs = [
     kiconthemes kparts ktexteditor kwidgetsaddons libkomparediff2
   ];
-
-  patches = [
-    (fetchpatch {
-      # Portaway from Obsolete methods of QPrinter
-      # Part of v20.12.0
-      url = "https://invent.kde.org/sdk/kompare/-/commit/68d3eee36c48a2f44ccfd3f9e5a36311b829104b.patch";
-      sha256 = "B2i5n5cUDjCqTEF0OyTb1+LhPa5yWCnFycwijf35kwU=";
-    })
-  ];
-
   outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/applications/kde/konqueror.nix b/pkgs/applications/kde/konqueror.nix
index 72fcf8ff220a8..eb188ccef1168 100644
--- a/pkgs/applications/kde/konqueror.nix
+++ b/pkgs/applications/kde/konqueror.nix
@@ -2,7 +2,7 @@
 , mkDerivation
 , extra-cmake-modules, kdoctools
 , kdelibs4support, kcmutils, khtml, kdesu
-, qtwebkit, qtwebengine, qtx11extras, qtscript, qtwayland
+, qtbase, qtwebkit, qtwebengine, qtx11extras, qtscript, qtwayland
 }:
 
 mkDerivation {
@@ -24,5 +24,6 @@ mkDerivation {
   meta = {
     license = with lib.licenses; [ gpl2 ];
     maintainers = with lib.maintainers; [ ];
+    broken = lib.versionOlder qtbase.version "5.13";
   };
 }
diff --git a/pkgs/applications/kde/kontact.nix b/pkgs/applications/kde/kontact.nix
index 3dfa28e9dfe7f..801c6845e409a 100644
--- a/pkgs/applications/kde/kontact.nix
+++ b/pkgs/applications/kde/kontact.nix
@@ -3,7 +3,7 @@
   extra-cmake-modules, kdoctools,
   qtwebengine,
   kcmutils, kcrash, kdbusaddons, kparts, kwindowsystem,
-  akonadi, grantleetheme, kdepim-apps-libs, kontactinterface, kpimtextedit,
+  akonadi, grantleetheme, kontactinterface, kpimtextedit,
   mailcommon, libkdepim, pimcommon
 }:
 
@@ -17,7 +17,7 @@ mkDerivation {
   buildInputs = [
     qtwebengine
     kcmutils kcrash kdbusaddons kparts kwindowsystem
-    akonadi grantleetheme kdepim-apps-libs kontactinterface kpimtextedit
+    akonadi grantleetheme kontactinterface kpimtextedit
     mailcommon libkdepim pimcommon
   ];
 }
diff --git a/pkgs/applications/kde/korganizer.nix b/pkgs/applications/kde/korganizer.nix
index f28e0406b134c..a6a28427772e0 100644
--- a/pkgs/applications/kde/korganizer.nix
+++ b/pkgs/applications/kde/korganizer.nix
@@ -5,7 +5,7 @@
   phonon,
   knewstuff,
   akonadi-calendar, akonadi-contacts, akonadi-notes, akonadi-search,
-  calendarsupport, eventviews, incidenceeditor, kcalutils, kdepim-apps-libs,
+  calendarsupport, eventviews, incidenceeditor, kcalutils,
   kholidays, kidentitymanagement, kldap, kmailtransport, kontactinterface,
   kpimtextedit, pimcommon,
 }:
@@ -22,7 +22,7 @@ mkDerivation {
     phonon
     knewstuff
     akonadi-calendar akonadi-contacts akonadi-notes akonadi-search
-    calendarsupport eventviews incidenceeditor kcalutils kdepim-apps-libs
+    calendarsupport eventviews incidenceeditor kcalutils
     kholidays kidentitymanagement kldap kmailtransport kontactinterface
     kpimtextedit pimcommon
   ];
diff --git a/pkgs/applications/kde/kpat.nix b/pkgs/applications/kde/kpat.nix
index d1e47af6b7245..96bd6dd542ece 100644
--- a/pkgs/applications/kde/kpat.nix
+++ b/pkgs/applications/kde/kpat.nix
@@ -5,6 +5,7 @@
 , shared-mime-info
 , libkdegames
 , freecell-solver
+, black-hole-solver
 }:
 
 mkDerivation {
@@ -14,6 +15,7 @@ mkDerivation {
     shared-mime-info
   ];
   buildInputs = [
+    black-hole-solver
     knewstuff
     libkdegames
     freecell-solver
diff --git a/pkgs/applications/kde/krdc.nix b/pkgs/applications/kde/krdc.nix
index 01cc39d9895d8..b0e79b0ff896f 100644
--- a/pkgs/applications/kde/krdc.nix
+++ b/pkgs/applications/kde/krdc.nix
@@ -2,7 +2,7 @@
   mkDerivation, lib,
   extra-cmake-modules, kdoctools, makeWrapper,
   kcmutils, kcompletion, kconfig, kdnssd, knotifyconfig, kwallet, kwidgetsaddons,
-  kwindowsystem, libvncserver, freerdp
+  kwindowsystem, libvncserver, freerdp, qtbase,
 }:
 
 mkDerivation {
@@ -21,5 +21,6 @@ mkDerivation {
     license = with licenses; [ gpl2 lgpl21 fdl12 bsd3 ];
     maintainers = with maintainers; [ peterhoeg ];
     platforms = platforms.linux;
+    broken = lib.versionOlder qtbase.version "5.14";
   };
 }
diff --git a/pkgs/applications/kde/messagelib.nix b/pkgs/applications/kde/messagelib.nix
index d47a5504417ae..6709a1f072a58 100644
--- a/pkgs/applications/kde/messagelib.nix
+++ b/pkgs/applications/kde/messagelib.nix
@@ -3,7 +3,7 @@
   extra-cmake-modules, kdoctools,
   akonadi, akonadi-mime, akonadi-notes, akonadi-search, gpgme, grantlee,
   grantleetheme, karchive, kcodecs, kconfig, kconfigwidgets, kcontacts,
-  kdepim-apps-libs, kiconthemes, kidentitymanagement, kio, kjobwidgets, kldap,
+  kiconthemes, kidentitymanagement, kio, kjobwidgets, kldap,
   kmailtransport, kmbox, kmime, kwindowsystem, libgravatar, libkdepim, libkleo,
   pimcommon, qca-qt5, qtwebengine, syntax-highlighting
 }:
@@ -17,7 +17,7 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     akonadi-notes akonadi-search gpgme grantlee grantleetheme karchive kcodecs
-    kconfig kconfigwidgets kdepim-apps-libs kiconthemes kio kjobwidgets kldap
+    kconfig kconfigwidgets kiconthemes kio kjobwidgets kldap
     kmailtransport kmbox kmime kwindowsystem libgravatar libkdepim qca-qt5
     syntax-highlighting
   ];
diff --git a/pkgs/applications/kde/srcs.nix b/pkgs/applications/kde/srcs.nix
index 5ff13eaf24088..f78d29db6bc9f 100644
--- a/pkgs/applications/kde/srcs.nix
+++ b/pkgs/applications/kde/srcs.nix
@@ -4,1731 +4,1795 @@
 
 {
   akonadi = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/akonadi-20.08.3.tar.xz";
-      sha256 = "1hwaan45cyw2nmfmdp5pbhvm00xdxy9la68ms3sa8a67zcsfljhl";
-      name = "akonadi-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/akonadi-20.12.1.tar.xz";
+      sha256 = "1173365c84fq5vn58blsmbdp9x34gf2yrwvsi89i0l7xhpz8zx5k";
+      name = "akonadi-20.12.1.tar.xz";
     };
   };
   akonadi-calendar = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/akonadi-calendar-20.08.3.tar.xz";
-      sha256 = "18rwvn5i6i4ng335rxpwx3a2m4vyq96w9m3fa1gvmr8ls7vkaqrk";
-      name = "akonadi-calendar-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/akonadi-calendar-20.12.1.tar.xz";
+      sha256 = "0zzy4f03zypj4crjy0fhk5xjgipflal3gpfibav2wcmgx034znw5";
+      name = "akonadi-calendar-20.12.1.tar.xz";
     };
   };
   akonadi-calendar-tools = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/akonadi-calendar-tools-20.08.3.tar.xz";
-      sha256 = "1pnm3xi26bnbjmnv9zwi9w5rkr1pdry50hzy3gxw7b0g11zz036w";
-      name = "akonadi-calendar-tools-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/akonadi-calendar-tools-20.12.1.tar.xz";
+      sha256 = "1x5zmv32iaf17n9b8y034yhwq0dhwjwxw3i5cj97k4dpyar5s72q";
+      name = "akonadi-calendar-tools-20.12.1.tar.xz";
     };
   };
   akonadiconsole = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/akonadiconsole-20.08.3.tar.xz";
-      sha256 = "061r0p9pj22x0hiz6piz4vramll3w5xy92sx8nfhcp2gmnvj9890";
-      name = "akonadiconsole-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/akonadiconsole-20.12.1.tar.xz";
+      sha256 = "0rf7ckra0yjkwspmd4401lssiss2p8qrw9rd6j5gbw7kii05bcmz";
+      name = "akonadiconsole-20.12.1.tar.xz";
     };
   };
   akonadi-contacts = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/akonadi-contacts-20.08.3.tar.xz";
-      sha256 = "18n9x41fmh4q9q9lfv882iwk6j1hvgpl11y4qn873vwr9sdrcf4s";
-      name = "akonadi-contacts-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/akonadi-contacts-20.12.1.tar.xz";
+      sha256 = "0gxcs8nn07y6ln5ymsbdhcm63zqxcq2ja2sxziim65bfg9g85arl";
+      name = "akonadi-contacts-20.12.1.tar.xz";
     };
   };
   akonadi-import-wizard = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/akonadi-import-wizard-20.08.3.tar.xz";
-      sha256 = "0gny0rxvyks5w4rdb73ly06lyvz7kcfvff1268bn6i96xr83kmim";
-      name = "akonadi-import-wizard-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/akonadi-import-wizard-20.12.1.tar.xz";
+      sha256 = "1wdhgvv2zblyhcxrvby7ic3449hdmcnn3hvcswgwrgbcy4bzz7zz";
+      name = "akonadi-import-wizard-20.12.1.tar.xz";
     };
   };
   akonadi-mime = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/akonadi-mime-20.08.3.tar.xz";
-      sha256 = "12ps633y64mj72iryd9z2nmrf7lxbkqj7xnzj28549cvg6jizgl7";
-      name = "akonadi-mime-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/akonadi-mime-20.12.1.tar.xz";
+      sha256 = "1xsrc8572zlslabn47km58sr48wdb0pmfrh3jbn9227w9iwir3z5";
+      name = "akonadi-mime-20.12.1.tar.xz";
     };
   };
   akonadi-notes = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/akonadi-notes-20.08.3.tar.xz";
-      sha256 = "1z90r37lqc7ydmily730idd4s8rcbr6i3a8x9m647snbala16z36";
-      name = "akonadi-notes-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/akonadi-notes-20.12.1.tar.xz";
+      sha256 = "15d23wm0kymifcxcbip0hpnzwmzdjwxmcvqvmwgq00vy81j6k7wm";
+      name = "akonadi-notes-20.12.1.tar.xz";
     };
   };
   akonadi-search = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/akonadi-search-20.08.3.tar.xz";
-      sha256 = "0izpkvjybp6r79rai0p5j74bm0f8ksgsl3z34ggb51j6vj9rla7h";
-      name = "akonadi-search-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/akonadi-search-20.12.1.tar.xz";
+      sha256 = "065qp3nf8274fh0bna8hjs28p030wgfnr3gnp7b2791kzp25l488";
+      name = "akonadi-search-20.12.1.tar.xz";
     };
   };
   akregator = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/akregator-20.08.3.tar.xz";
-      sha256 = "1gqh820s5by3r9lz7r16r0krh916idsks6sgy26hcrwfmva45wn5";
-      name = "akregator-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/akregator-20.12.1.tar.xz";
+      sha256 = "0xs5adbq9ra0ziccl1z0nsm6kvrf8vjwa8djd3nwc2csjw8wim5k";
+      name = "akregator-20.12.1.tar.xz";
     };
   };
   analitza = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/analitza-20.08.3.tar.xz";
-      sha256 = "16s6kjyclj73lq8z8mvrbsl75h1nrnv7syp6wpip6gvfs5ynai90";
-      name = "analitza-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/analitza-20.12.1.tar.xz";
+      sha256 = "1qnqqbrjpzndbffjwqlyfqmxxxz04fi3i2g8dx6y8q79z927fzkd";
+      name = "analitza-20.12.1.tar.xz";
     };
   };
   ark = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ark-20.08.3.tar.xz";
-      sha256 = "03kwjp2nj570k9ph8bgj042sjj4x0h9jwv8nwx0pfpcxkgxv5pzy";
-      name = "ark-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ark-20.12.1.tar.xz";
+      sha256 = "18zaaawwhlci23hkzjl535qsi8wdjc05hij3r76225jb1jb6cwrm";
+      name = "ark-20.12.1.tar.xz";
     };
   };
   artikulate = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/artikulate-20.08.3.tar.xz";
-      sha256 = "0bx97qi6zi7jmlzm3g7qamnzg0966g4w9xpskbxbr4cgjr312x19";
-      name = "artikulate-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/artikulate-20.12.1.tar.xz";
+      sha256 = "1cvpya408r521p9398mk0xn8pb6awqm74qcjy2r0ylx0l6bkv3ca";
+      name = "artikulate-20.12.1.tar.xz";
     };
   };
   audiocd-kio = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/audiocd-kio-20.08.3.tar.xz";
-      sha256 = "01n4nyda7l7by1nyx2sgxdl8qkdfndk0w6hj0qc6a7fllcfj5cpb";
-      name = "audiocd-kio-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/audiocd-kio-20.12.1.tar.xz";
+      sha256 = "1rlr1w0cy3q31jsaqiv50frqcl3x5jq31pnrkmyhgy23mays8ly1";
+      name = "audiocd-kio-20.12.1.tar.xz";
     };
   };
   baloo-widgets = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/baloo-widgets-20.08.3.tar.xz";
-      sha256 = "0ciidrsvwc3ppxhw7w5116q4lfbsvij9jsvyzm292pmjln2vikrg";
-      name = "baloo-widgets-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/baloo-widgets-20.12.1.tar.xz";
+      sha256 = "115y0cdlsdzx6c017gr8x6in9jxyw0sqyamakqgfyy5phn203yr3";
+      name = "baloo-widgets-20.12.1.tar.xz";
     };
   };
   blinken = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/blinken-20.08.3.tar.xz";
-      sha256 = "1gfw0w66nm3sx81bnr0p0yz1bhjj63lvd3cr86x3b2pny5rcw1da";
-      name = "blinken-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/blinken-20.12.1.tar.xz";
+      sha256 = "05dbmh1lk1ag735yiv7vql6fx15lw9a3qihxflzhbfrgng7dsxks";
+      name = "blinken-20.12.1.tar.xz";
     };
   };
   bomber = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/bomber-20.08.3.tar.xz";
-      sha256 = "1nw1a9cf0nqgk00hvzcqch3bl97lx6bih0wsax5q0z1kzwlz0kgr";
-      name = "bomber-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/bomber-20.12.1.tar.xz";
+      sha256 = "07iy6b8hwklb5mgrf8sagmrza78p3yf7i4x7w9lb2z9v2x5qw22y";
+      name = "bomber-20.12.1.tar.xz";
     };
   };
   bovo = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/bovo-20.08.3.tar.xz";
-      sha256 = "06pbivyvfgjx6zkadvwfwnrg9vjy4rf52k2a74qjcnl2ms16sr1g";
-      name = "bovo-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/bovo-20.12.1.tar.xz";
+      sha256 = "1wrw81xrayhjadvjfi0zdc0vw445f4zmd32n0rca78i68ls5qbxv";
+      name = "bovo-20.12.1.tar.xz";
     };
   };
   calendarsupport = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/calendarsupport-20.08.3.tar.xz";
-      sha256 = "09w06n745764fs440nh0piy5sahfn50kh3zrljhgzadcij6165vd";
-      name = "calendarsupport-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/calendarsupport-20.12.1.tar.xz";
+      sha256 = "1accj2vx6zvqp632i5c85q4rzpg54xlihzf1rs80sdb9lch8nwrp";
+      name = "calendarsupport-20.12.1.tar.xz";
     };
   };
   cantor = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/cantor-20.08.3.tar.xz";
-      sha256 = "1njqycx0v3zq5mdcvfdfgxs8vgl01v80s27qgapsxxrgr9hgxbhl";
-      name = "cantor-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/cantor-20.12.1.tar.xz";
+      sha256 = "1qj6lmcgmqr110qw2r906b0kp73f9gzvm75ry1gdb77bza5g67x2";
+      name = "cantor-20.12.1.tar.xz";
     };
   };
   cervisia = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/cervisia-20.08.3.tar.xz";
-      sha256 = "1bsc72kxcmzx25408ngzqzj4a0168vqfr3a2gvmm6d8klbgpm3gv";
-      name = "cervisia-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/cervisia-20.12.1.tar.xz";
+      sha256 = "0hnpysp01z5a3gmm2jr2m1y7a5hcfl32lhmnrm0rg589pdxb30xf";
+      name = "cervisia-20.12.1.tar.xz";
     };
   };
   dolphin = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/dolphin-20.08.3.tar.xz";
-      sha256 = "107n763qix95b1hgy86hddpj9x2clzhaiw8q8yjn9lzj1rz5facx";
-      name = "dolphin-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/dolphin-20.12.1.tar.xz";
+      sha256 = "0n2g8mqq28xrjy17jyja4siaf2ac2b8gppqc19wjxn981zs545mp";
+      name = "dolphin-20.12.1.tar.xz";
     };
   };
   dolphin-plugins = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/dolphin-plugins-20.08.3.tar.xz";
-      sha256 = "0fmay0sycfj9s7zyxbldgcal5lj2psi0n9zrgq812s5qr4rb5c8c";
-      name = "dolphin-plugins-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/dolphin-plugins-20.12.1.tar.xz";
+      sha256 = "0kn79c3w6qx70d7f8kdavl5ifq1pmcs4dc88i0zma8hskgvcjvcj";
+      name = "dolphin-plugins-20.12.1.tar.xz";
     };
   };
   dragon = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/dragon-20.08.3.tar.xz";
-      sha256 = "14qsb7h8w58i9jsh1gpcj8pwjgy7y3mqfy51hca82yrd82z5b9rn";
-      name = "dragon-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/dragon-20.12.1.tar.xz";
+      sha256 = "0nj2cba4w7q4q1w7lv63s9zgqrvha5figp5w9apklqps4z1d2p0s";
+      name = "dragon-20.12.1.tar.xz";
     };
   };
   elisa = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/elisa-20.08.3.tar.xz";
-      sha256 = "0893nbj0jsapnfd09cp961k2m7lq6sjvzynpa4hfp9ch1jbc912c";
-      name = "elisa-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/elisa-20.12.1.tar.xz";
+      sha256 = "1lmgxi7xdyzjyi15ighkp2ylc6riqzgjmnfjc7p6na88vl2h2diy";
+      name = "elisa-20.12.1.tar.xz";
     };
   };
   eventviews = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/eventviews-20.08.3.tar.xz";
-      sha256 = "158j5g3i0wbbxpg9jmr50dvbpms4c4vgcnpmn3b3vfbszzwsy6rg";
-      name = "eventviews-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/eventviews-20.12.1.tar.xz";
+      sha256 = "10nq8gx1bybhjx5dnrx2x5gslg8nw3vazy22jz03slgspm0gsajc";
+      name = "eventviews-20.12.1.tar.xz";
     };
   };
   ffmpegthumbs = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ffmpegthumbs-20.08.3.tar.xz";
-      sha256 = "186hpq949r3xx2a64nqjy4pcn67d6kdvsy80zr238lgb9qqcqygi";
-      name = "ffmpegthumbs-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ffmpegthumbs-20.12.1.tar.xz";
+      sha256 = "17p9xqyfsaibhkfkhbx9mxjkdl5xdc3h91gsrkkwkqyfa5vs9c5g";
+      name = "ffmpegthumbs-20.12.1.tar.xz";
     };
   };
   filelight = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/filelight-20.08.3.tar.xz";
-      sha256 = "1jljsnjdhnqphh1kanj6hi2rswq3i9119iah1j33jy5pladcyf5q";
-      name = "filelight-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/filelight-20.12.1.tar.xz";
+      sha256 = "0k7ia3q1j520n3i1va7v4nhdfycxv54sis6vq62ihm53kb0jrj4i";
+      name = "filelight-20.12.1.tar.xz";
     };
   };
   granatier = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/granatier-20.08.3.tar.xz";
-      sha256 = "195bc2rcz11v76c0cwa9mb7rfixjn7sb0a52wrzz0sf9624m0rcs";
-      name = "granatier-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/granatier-20.12.1.tar.xz";
+      sha256 = "0mhqjg0wznvf1dc7f9dmw6ccva84g09cds2jls37zzblqbfdnzw3";
+      name = "granatier-20.12.1.tar.xz";
     };
   };
   grantlee-editor = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/grantlee-editor-20.08.3.tar.xz";
-      sha256 = "1k2rdicd68jdk3pazyn3q0vj99n0vnkpzkrnacpymkjy85cjgrv9";
-      name = "grantlee-editor-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/grantlee-editor-20.12.1.tar.xz";
+      sha256 = "1684k6gpmvbbxjha5qkvfvas2lws0zm5v5s41z6yjxyshrbc29jh";
+      name = "grantlee-editor-20.12.1.tar.xz";
     };
   };
   grantleetheme = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/grantleetheme-20.08.3.tar.xz";
-      sha256 = "07b7v5v2vyz3vyj1jjzryzaak8bbqg8a2caxwb6s7cwhy19y6my5";
-      name = "grantleetheme-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/grantleetheme-20.12.1.tar.xz";
+      sha256 = "1w87pz09lb3n511w0qir70c317j4gqgc7iyw3cgs2pqzz9f19vcx";
+      name = "grantleetheme-20.12.1.tar.xz";
     };
   };
   gwenview = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/gwenview-20.08.3.tar.xz";
-      sha256 = "09mwp3z97hgd7c15w0hz8k61qn5icb81rj27nxzy877ph1xnrixc";
-      name = "gwenview-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/gwenview-20.12.1.tar.xz";
+      sha256 = "0xjipr1ib8r42xsd75ack2198q6gf3xxl1zc9ir2ihdk3sg6lsb1";
+      name = "gwenview-20.12.1.tar.xz";
     };
   };
   incidenceeditor = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/incidenceeditor-20.08.3.tar.xz";
-      sha256 = "15kkl8z1nig9qyxfrq54c3sqh1xs1lzlbm5rphj34y0yb8dbn8kx";
-      name = "incidenceeditor-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/incidenceeditor-20.12.1.tar.xz";
+      sha256 = "1hdyy1sisavxjhwgpxh4ab4a3cvsvjj6hfa9w8kn8ypipd6nmqac";
+      name = "incidenceeditor-20.12.1.tar.xz";
+    };
+  };
+  itinerary = {
+    version = "20.12.1";
+    src = fetchurl {
+      url = "${mirror}/stable/release-service/20.12.1/src/itinerary-20.12.1.tar.xz";
+      sha256 = "02mmbj32ankv06mlgdrfyppkfi1dkgy9ky22d6bnz3l1vyld76s9";
+      name = "itinerary-20.12.1.tar.xz";
     };
   };
   juk = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/juk-20.08.3.tar.xz";
-      sha256 = "1jvj0r4grm55cnck4apnh4fh44mv1ycm0pprrkh57iwj1dlf7kif";
-      name = "juk-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/juk-20.12.1.tar.xz";
+      sha256 = "0rx4dmnk15xrf9knwsvjmf963xn59rlzwwsa6wrjjpi8r6br8x4r";
+      name = "juk-20.12.1.tar.xz";
     };
   };
   k3b = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/k3b-20.08.3.tar.xz";
-      sha256 = "0qg2p6gdg0clgv6qab5vr0i451m9hqqmpwq335w8m9nwb6wg30cx";
-      name = "k3b-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/k3b-20.12.1.tar.xz";
+      sha256 = "02ybzn8gg82r7i7rg8swyza30zwsf3fassmp6hqffn15g4kc2lrp";
+      name = "k3b-20.12.1.tar.xz";
     };
   };
   kaccounts-integration = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kaccounts-integration-20.08.3.tar.xz";
-      sha256 = "006cglw5ai274a1r5jbk109mdrvw8v6fp3cdyi1kbrq7lp3123a2";
-      name = "kaccounts-integration-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kaccounts-integration-20.12.1.tar.xz";
+      sha256 = "01xy3ih2fw4xnf5jkadrbq1dzmvvvrslbq4afj9501vhzyfqgm92";
+      name = "kaccounts-integration-20.12.1.tar.xz";
     };
   };
   kaccounts-providers = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kaccounts-providers-20.08.3.tar.xz";
-      sha256 = "1vpv366bzj0sk7dqyxrq06a8ixgaaqi125mf2gmybvhj5yvrn3fp";
-      name = "kaccounts-providers-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kaccounts-providers-20.12.1.tar.xz";
+      sha256 = "1f3gr63jwm7b8nkpdmpkgvsrhrpaxf7wcl0gczhdli1v6svjv8vq";
+      name = "kaccounts-providers-20.12.1.tar.xz";
     };
   };
   kaddressbook = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kaddressbook-20.08.3.tar.xz";
-      sha256 = "00mia1jh2c5rcnsyx3wizjdg65pvpazfb8ayppjzv4rrc2nhr9nn";
-      name = "kaddressbook-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kaddressbook-20.12.1.tar.xz";
+      sha256 = "0j6mjj902h5zpipywp5xhbifrbgrb1lz1cg317md7ya4wc7z36fp";
+      name = "kaddressbook-20.12.1.tar.xz";
     };
   };
   kajongg = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kajongg-20.08.3.tar.xz";
-      sha256 = "0wr045xqm1q03vy0jbgrldpdc9k3lgnhd39yhi574la367ayffpa";
-      name = "kajongg-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kajongg-20.12.1.tar.xz";
+      sha256 = "0v9sq5l6w3x78dpimdlbm36g9n4qy06xr0bzfzn2jf3bzgzrn2zk";
+      name = "kajongg-20.12.1.tar.xz";
     };
   };
   kalarm = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kalarm-20.08.3.tar.xz";
-      sha256 = "0194rapyvnpmhkba0rgclrai1ywx9anr8dski0j6z1yg0kgav8df";
-      name = "kalarm-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kalarm-20.12.1.tar.xz";
+      sha256 = "0k4fxrzxb6vvpdqlln4g7iz1s34d9jkk415c44f1i34kl2mfsyq0";
+      name = "kalarm-20.12.1.tar.xz";
     };
   };
   kalarmcal = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kalarmcal-20.08.3.tar.xz";
-      sha256 = "1i9hi3y4j2pmdmlj13kl13vfplxrh8w23fxz0mmawi1wn533fp66";
-      name = "kalarmcal-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kalarmcal-20.12.1.tar.xz";
+      sha256 = "104fbq2mf20p67rs7x76h36qk8d0srkkll2pq39ln4hc7nhsrws5";
+      name = "kalarmcal-20.12.1.tar.xz";
     };
   };
   kalgebra = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kalgebra-20.08.3.tar.xz";
-      sha256 = "0k7miil5ilrw68j6xl9g6cf3zfw7g52h0gfwd5j248nx2nxr150c";
-      name = "kalgebra-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kalgebra-20.12.1.tar.xz";
+      sha256 = "10y9zygpik418y5781xmy5xysvf3xa97sbzdbch8lrvxwprbmkzm";
+      name = "kalgebra-20.12.1.tar.xz";
     };
   };
   kalzium = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kalzium-20.08.3.tar.xz";
-      sha256 = "1r80bnpdrybsdwcblpj7cg32dv90l79gs0i42gpm6inilfr3vp5n";
-      name = "kalzium-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kalzium-20.12.1.tar.xz";
+      sha256 = "1n1ar12zq2maa4dn5yq7m6l3m60n7c98c460mrd6rp7f73kadnsj";
+      name = "kalzium-20.12.1.tar.xz";
     };
   };
   kamera = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kamera-20.08.3.tar.xz";
-      sha256 = "06fwxdgbyywdrf1r0w17w3chfr0s8jhqswz9chmdfds9f2bb45cr";
-      name = "kamera-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kamera-20.12.1.tar.xz";
+      sha256 = "1bj01d9h26ifq8nsa1bw49xfihmisnbk7p557zpqvixxayq6v8dq";
+      name = "kamera-20.12.1.tar.xz";
     };
   };
   kamoso = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kamoso-20.08.3.tar.xz";
-      sha256 = "0zhl3va65ajz3hdggg0jvvgvj14s461pjw9adw9bnfcbs4jzkl2y";
-      name = "kamoso-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kamoso-20.12.1.tar.xz";
+      sha256 = "087m9lphj6s0xssaryyh91gh9v3ji5423rjd549dkd3vscgda4lb";
+      name = "kamoso-20.12.1.tar.xz";
     };
   };
   kanagram = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kanagram-20.08.3.tar.xz";
-      sha256 = "1cyx8yq03xaw34ic69ghz9gafk8l30qinp0kkp9a1wh4pry8rnxf";
-      name = "kanagram-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kanagram-20.12.1.tar.xz";
+      sha256 = "0bflybrm3kz1p1n6fksihvd8m0h0jj968b2wjz88663bs48jqf6q";
+      name = "kanagram-20.12.1.tar.xz";
     };
   };
   kapman = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kapman-20.08.3.tar.xz";
-      sha256 = "0nh1f0v026rib5ahj1mhvs99yabrgdq71bis465vfpm4favnirzy";
-      name = "kapman-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kapman-20.12.1.tar.xz";
+      sha256 = "1hs88q4h5l58fvr09vb5ns9pdj4k064ax5ccnj9yan4bn0s9b4f9";
+      name = "kapman-20.12.1.tar.xz";
     };
   };
   kapptemplate = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kapptemplate-20.08.3.tar.xz";
-      sha256 = "1r98ym9sazjzknxfw58hjiyxhmi49fyhrdn02v0b8fm711vprxab";
-      name = "kapptemplate-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kapptemplate-20.12.1.tar.xz";
+      sha256 = "1a8fpwbvs2zmmak7zyv75z67ja31vx68s9lz9vldmiik9rrslyy6";
+      name = "kapptemplate-20.12.1.tar.xz";
     };
   };
   kate = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kate-20.08.3.tar.xz";
-      sha256 = "1m7ximinknc0l9zqv4p25ybn6zysz59l4vvdb9xkhjp53aqskdz9";
-      name = "kate-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kate-20.12.1.tar.xz";
+      sha256 = "13m24b3fxb1d1k9rg2xfa7i28cjx68g9dbjrbd34acmpg01vp6vk";
+      name = "kate-20.12.1.tar.xz";
     };
   };
   katomic = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/katomic-20.08.3.tar.xz";
-      sha256 = "1v31x6371r9ccvc676vq5dlpkp4829xf0r37dnvdxlfm22mgsdnk";
-      name = "katomic-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/katomic-20.12.1.tar.xz";
+      sha256 = "15s5kwddd1m9g5lhpc61bj6yzxpwzcc8fm24yhslb8l44nk685id";
+      name = "katomic-20.12.1.tar.xz";
     };
   };
   kbackup = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kbackup-20.08.3.tar.xz";
-      sha256 = "1sayzvj46ckhn5zgp7qi6zmrmd7bjh5mg05mcl5pfwv4dcvxkrng";
-      name = "kbackup-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kbackup-20.12.1.tar.xz";
+      sha256 = "043dkgpdk56jmx0z8izlgj8r9j8h9rvjc3yalpqd5nrlgmj0smym";
+      name = "kbackup-20.12.1.tar.xz";
     };
   };
   kblackbox = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kblackbox-20.08.3.tar.xz";
-      sha256 = "0vka2pswbza1z8f97nhxcjrczx4w1x0qyjpzs9ycn9a14smqpsrh";
-      name = "kblackbox-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kblackbox-20.12.1.tar.xz";
+      sha256 = "001yf4j14xzpabwg37yisls5na9rpxpgs45d4wdlqa90d50syzl7";
+      name = "kblackbox-20.12.1.tar.xz";
     };
   };
   kblocks = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kblocks-20.08.3.tar.xz";
-      sha256 = "1jc063xn6dphydf49kv0izzy0nv06dr412xxjvkp7vccwv9qd5gf";
-      name = "kblocks-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kblocks-20.12.1.tar.xz";
+      sha256 = "029dxqg2d6c08r99ng16lc3b1dnnrj5bpz25zgv90aygzx31qq4s";
+      name = "kblocks-20.12.1.tar.xz";
     };
   };
   kbounce = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kbounce-20.08.3.tar.xz";
-      sha256 = "0863vlirljvf101mdv6jxprj9axs4cikrnld3wvxrcqw3w2dy6wy";
-      name = "kbounce-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kbounce-20.12.1.tar.xz";
+      sha256 = "1vdc7xhbh0wpvk66sqs0xly0mmbpw922vg4kjjn21awamv4r52pm";
+      name = "kbounce-20.12.1.tar.xz";
     };
   };
   kbreakout = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kbreakout-20.08.3.tar.xz";
-      sha256 = "14nd1dnbdyxv59y8iildhydhxgal38hvj7bk6544glwl8yalak8z";
-      name = "kbreakout-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kbreakout-20.12.1.tar.xz";
+      sha256 = "11bx32lffagmyvxx2wss794fy3icz9k5yq4mjs2qxpf9pyvg6qgd";
+      name = "kbreakout-20.12.1.tar.xz";
     };
   };
   kbruch = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kbruch-20.08.3.tar.xz";
-      sha256 = "03s1hl4h8rsx0gn7wqfssi1ga4igx48jb47gpw6f9rfjm8f199vb";
-      name = "kbruch-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kbruch-20.12.1.tar.xz";
+      sha256 = "06sbr6wrn4nh69hq96i5rgzbr9g0rc6c54h9g2zpnpff339lnsqi";
+      name = "kbruch-20.12.1.tar.xz";
     };
   };
   kcachegrind = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kcachegrind-20.08.3.tar.xz";
-      sha256 = "17j06z9cpj5qhfbp1xgw4qmhi4jckf2i99c9brys4ifb3p0rkbrs";
-      name = "kcachegrind-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kcachegrind-20.12.1.tar.xz";
+      sha256 = "0v06y1mybda4rmvjrjxhmxp7bj0wp6v45xahn08j253d20k7qixi";
+      name = "kcachegrind-20.12.1.tar.xz";
     };
   };
   kcalc = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kcalc-20.08.3.tar.xz";
-      sha256 = "1mk30fkv51w3fqlpkzgm1yj5sp98h26kkphplqkjva5v6s1jzmjy";
-      name = "kcalc-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kcalc-20.12.1.tar.xz";
+      sha256 = "1p59i6k0kq4xgcfsgcsb9z3yrrzgk564fh0apwmbawrmg6pp78dw";
+      name = "kcalc-20.12.1.tar.xz";
     };
   };
   kcalutils = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kcalutils-20.08.3.tar.xz";
-      sha256 = "1i2yh4gvdwlylj7f7p32g1z7lzh3p19rrbd96l1gqhy700f2whpw";
-      name = "kcalutils-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kcalutils-20.12.1.tar.xz";
+      sha256 = "0b7w9n8sf31qbpxiw998xd4dls46mxf2bvl4n937vgzisfwb5sxs";
+      name = "kcalutils-20.12.1.tar.xz";
     };
   };
   kcharselect = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kcharselect-20.08.3.tar.xz";
-      sha256 = "1p6rijjfa2jk4vr0ivjn6p5qf2ys5kvhw0cwfyjs45ff7zg0s2ga";
-      name = "kcharselect-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kcharselect-20.12.1.tar.xz";
+      sha256 = "1ss5zwp0zggk9phdccj7bcn8h49p9avzg8qm38c3wnwddgaw1pdb";
+      name = "kcharselect-20.12.1.tar.xz";
     };
   };
   kcolorchooser = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kcolorchooser-20.08.3.tar.xz";
-      sha256 = "1874qa04whiivyydxfcn0f1xch515ga1af4ym42zqz64j3kq7i47";
-      name = "kcolorchooser-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kcolorchooser-20.12.1.tar.xz";
+      sha256 = "07qvwk8amvmgiwxrl6gbyf25ms666hradmg1vl8lf3hmfxx6j40z";
+      name = "kcolorchooser-20.12.1.tar.xz";
     };
   };
   kcron = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kcron-20.08.3.tar.xz";
-      sha256 = "1piwssyg9fvah25gql6w0n8xf634f6gy475cz52gb1bl7rp72q6j";
-      name = "kcron-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kcron-20.12.1.tar.xz";
+      sha256 = "01xabwaxhxgwk6kh44rz3fm20jis2f6g9mrska5s03gxk7n0p1dc";
+      name = "kcron-20.12.1.tar.xz";
     };
   };
   kdebugsettings = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kdebugsettings-20.08.3.tar.xz";
-      sha256 = "11xnvr9qib3hnp48whsw659c724s2114p5dr3fswvhm3hkw1aky7";
-      name = "kdebugsettings-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kdebugsettings-20.12.1.tar.xz";
+      sha256 = "1jlxp6v6yci4cff1mcz0w7dz0hfjig0wck9cc9maaw1a9swqc3r1";
+      name = "kdebugsettings-20.12.1.tar.xz";
     };
   };
   kdeconnect-kde = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kdeconnect-kde-20.08.3.tar.xz";
-      sha256 = "0x10ga81qlsahavmv356xzjxyds41y2b4v338rqcyqkxvfmxj01k";
-      name = "kdeconnect-kde-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kdeconnect-kde-20.12.1.tar.xz";
+      sha256 = "0q11319ydibn1jgch98r66gzh3n6nb67l7xgzg0crdalm3dvf5gw";
+      name = "kdeconnect-kde-20.12.1.tar.xz";
     };
   };
   kde-dev-scripts = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kde-dev-scripts-20.08.3.tar.xz";
-      sha256 = "0x8ba4mlxx17vk674738xln2dy696b148fa3s87za4yb4jj9gc5n";
-      name = "kde-dev-scripts-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kde-dev-scripts-20.12.1.tar.xz";
+      sha256 = "0hlabgf75qmww1161nd4ggqccp6h9ibsfkzpxdqvgxr9f1f31zz5";
+      name = "kde-dev-scripts-20.12.1.tar.xz";
     };
   };
   kde-dev-utils = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kde-dev-utils-20.08.3.tar.xz";
-      sha256 = "0k7zb1km89nnqfi2p1mhp6dvwkhmgbcgw89301acag34yy954dvn";
-      name = "kde-dev-utils-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kde-dev-utils-20.12.1.tar.xz";
+      sha256 = "1bir6ifq5wlwgdna48s5c1al7hfq6vl9pi2yvbnzf0rz4ix1sw4r";
+      name = "kde-dev-utils-20.12.1.tar.xz";
     };
   };
   kdeedu-data = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kdeedu-data-20.08.3.tar.xz";
-      sha256 = "1k164h4n8r4yjlll5900fz764lr0qiy3q1fpcpkr8f1n7qs7f797";
-      name = "kdeedu-data-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kdeedu-data-20.12.1.tar.xz";
+      sha256 = "1hzrwkb2333dkvp1n50p18gfci21klafibaknm4hdrk96b3s4fxp";
+      name = "kdeedu-data-20.12.1.tar.xz";
     };
   };
   kdegraphics-mobipocket = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kdegraphics-mobipocket-20.08.3.tar.xz";
-      sha256 = "0ifxbwn7pmxr7y4ri617a303b27nqwqa418isgfrfk11jc4yyxhq";
-      name = "kdegraphics-mobipocket-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kdegraphics-mobipocket-20.12.1.tar.xz";
+      sha256 = "1n3x4cf5ck0lfn70d9g0iiy4pddc0r49gwir71q5six5l4pz21hd";
+      name = "kdegraphics-mobipocket-20.12.1.tar.xz";
     };
   };
   kdegraphics-thumbnailers = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kdegraphics-thumbnailers-20.08.3.tar.xz";
-      sha256 = "0mbzkw7pxcfmkpb8ivhahnxkkrkjhmbjqy2l9gqx35gp5855gmxf";
-      name = "kdegraphics-thumbnailers-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kdegraphics-thumbnailers-20.12.1.tar.xz";
+      sha256 = "0lrijvphyc6wbkb499zf0gjpmqrjgrx5li93kvpsil1ivfpflv7w";
+      name = "kdegraphics-thumbnailers-20.12.1.tar.xz";
     };
   };
   kdenetwork-filesharing = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kdenetwork-filesharing-20.08.3.tar.xz";
-      sha256 = "0id19wmiivdrx10r1hwbwi7bx6g1v9g5lpbhlmfrapvy82ijfmbg";
-      name = "kdenetwork-filesharing-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kdenetwork-filesharing-20.12.1.tar.xz";
+      sha256 = "0axi5vdgqkjdcbq0x34b3lnh1497vk54p9aca9d2wfhkd55zjbcv";
+      name = "kdenetwork-filesharing-20.12.1.tar.xz";
     };
   };
   kdenlive = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kdenlive-20.08.3.tar.xz";
-      sha256 = "187d5khqq9ckmqp8amd7ghlvig1z97w2jzm9s4zsfhjzyqv3d3wz";
-      name = "kdenlive-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kdenlive-20.12.1.tar.xz";
+      sha256 = "0n543nswn0gxasc1445nqg35z5466a3ssivigxz4acqw66nj4vlv";
+      name = "kdenlive-20.12.1.tar.xz";
     };
   };
   kdepim-addons = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kdepim-addons-20.08.3.tar.xz";
-      sha256 = "17m8pwiig46pc6x4ylvymb3b6c7xcm2df3vjma665kcir1dr0q7p";
-      name = "kdepim-addons-20.08.3.tar.xz";
-    };
-  };
-  kdepim-apps-libs = {
-    version = "20.08.3";
-    src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kdepim-apps-libs-20.08.3.tar.xz";
-      sha256 = "08iw1p9mv4jic7pk6skxc5anp7k46lhcdqxpq1i6wlhbrk6bpsvg";
-      name = "kdepim-apps-libs-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kdepim-addons-20.12.1.tar.xz";
+      sha256 = "1dc5sl9ksk5i2sgs2vf41blb5cdpl8fv3vzmrrz9sl3r75pga5m0";
+      name = "kdepim-addons-20.12.1.tar.xz";
     };
   };
   kdepim-runtime = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kdepim-runtime-20.08.3.tar.xz";
-      sha256 = "0zz2zwq3gr177vgkwz6b70q4n2ra4ym58f167pgvi9kxv3884fib";
-      name = "kdepim-runtime-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kdepim-runtime-20.12.1.tar.xz";
+      sha256 = "1np7xbdhm2wczm04cmsr25a74421i28iln39myiybq01im2ahapq";
+      name = "kdepim-runtime-20.12.1.tar.xz";
     };
   };
   kdesdk-kioslaves = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kdesdk-kioslaves-20.08.3.tar.xz";
-      sha256 = "1kwzms0qha058cm92d4f8pr89r3bqaqx5zfw6gz05s6lg892j5in";
-      name = "kdesdk-kioslaves-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kdesdk-kioslaves-20.12.1.tar.xz";
+      sha256 = "18yy2s39sxfzi5lcky1jvlv7z77ygidhnfa4zhwas27yhcc6h0w4";
+      name = "kdesdk-kioslaves-20.12.1.tar.xz";
     };
   };
   kdesdk-thumbnailers = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kdesdk-thumbnailers-20.08.3.tar.xz";
-      sha256 = "10fc0agpvzpqdxqynd70vzya0g1nbdw0ylbnl9w35n9jhww42jff";
-      name = "kdesdk-thumbnailers-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kdesdk-thumbnailers-20.12.1.tar.xz";
+      sha256 = "1hgqd2d2a9iwaxvd4xd7sdj7pyf3p3v2xg6v9dyy9y39q2f1qs23";
+      name = "kdesdk-thumbnailers-20.12.1.tar.xz";
     };
   };
   kdf = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kdf-20.08.3.tar.xz";
-      sha256 = "02k5nhsf1zzkx9cl3r2500pj2zfmvjhlfsb3smgpka6in7iivxyp";
-      name = "kdf-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kdf-20.12.1.tar.xz";
+      sha256 = "0ba67hs4vlb3qyvdzhnpmf8p62df12s8aqw4hzf9vnxff3qix5k1";
+      name = "kdf-20.12.1.tar.xz";
     };
   };
   kdialog = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kdialog-20.08.3.tar.xz";
-      sha256 = "0knl6176bjazjiacg1qqaldlqcjlb3bi829sliq1sdh4lzzwrbzk";
-      name = "kdialog-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kdialog-20.12.1.tar.xz";
+      sha256 = "13n6bc3aqi9v6i4p4vkwzjv4rsqinx45n028ls6ndlapayd750f4";
+      name = "kdialog-20.12.1.tar.xz";
     };
   };
   kdiamond = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kdiamond-20.08.3.tar.xz";
-      sha256 = "0ls1kg3wank1al46knq12jilmp8gaa4rn7zbgflcrhgy5gw8l5px";
-      name = "kdiamond-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kdiamond-20.12.1.tar.xz";
+      sha256 = "0iaq3cai1sn3vlym4zshfziviy9k4s7pm92c7bzwa9adfak6y9h4";
+      name = "kdiamond-20.12.1.tar.xz";
     };
   };
   keditbookmarks = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/keditbookmarks-20.08.3.tar.xz";
-      sha256 = "0m8ap5hvjgldj9hdk6shpkv8xylhhjla2xn1zs86pvj4la3zh4f8";
-      name = "keditbookmarks-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/keditbookmarks-20.12.1.tar.xz";
+      sha256 = "1a41zpl2wzqdmp13m915agcc2nlxndyamy5aqyn98y3s8k5n6d9p";
+      name = "keditbookmarks-20.12.1.tar.xz";
     };
   };
   kfind = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kfind-20.08.3.tar.xz";
-      sha256 = "10i5mw6q2parq5w7pi955kgfvdlw8hwis2p7r9vkvabjdk69nkdr";
-      name = "kfind-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kfind-20.12.1.tar.xz";
+      sha256 = "0rlxq4dl221ycxcybav7yf88wz23v07n5yzp7jgrd602lk5k8jdp";
+      name = "kfind-20.12.1.tar.xz";
     };
   };
   kfloppy = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kfloppy-20.08.3.tar.xz";
-      sha256 = "1cp0pwgldscc7va508gk43im3fv0lsxd5sbhpw8kxlzjlpbwlp8v";
-      name = "kfloppy-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kfloppy-20.12.1.tar.xz";
+      sha256 = "1wpcv2ipx0izg60rbgf8qwhys3bhw8i36qpsvh8bihkzij28xc84";
+      name = "kfloppy-20.12.1.tar.xz";
     };
   };
   kfourinline = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kfourinline-20.08.3.tar.xz";
-      sha256 = "0h1n44dncr2siw447n7b0gkx3380vajvqjsgjvapkg7m7bmz7nsv";
-      name = "kfourinline-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kfourinline-20.12.1.tar.xz";
+      sha256 = "1fv68smci1f59xzqzqj36qry2ibgr0ps731vhvafn210q8h2f5b5";
+      name = "kfourinline-20.12.1.tar.xz";
     };
   };
   kgeography = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kgeography-20.08.3.tar.xz";
-      sha256 = "1mk5cip55chc8pmh8wfl7an5x076ywisr0i7isqcjaij2cv54283";
-      name = "kgeography-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kgeography-20.12.1.tar.xz";
+      sha256 = "13jsrfv17lzlwi9rg7i8q2sfl8n19k15qdbv1y5lggykvf8prp8h";
+      name = "kgeography-20.12.1.tar.xz";
     };
   };
   kget = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kget-20.08.3.tar.xz";
-      sha256 = "144ydk8bbfirph464mkkvwpnynj465i2ynhm8n9d330kcrhnaxd0";
-      name = "kget-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kget-20.12.1.tar.xz";
+      sha256 = "03s8wpfrzl3j6whxbfbmbydghaghcnr8xbskf4wkyk9kvyk4bqha";
+      name = "kget-20.12.1.tar.xz";
     };
   };
   kgoldrunner = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kgoldrunner-20.08.3.tar.xz";
-      sha256 = "101cdl04wb6xbq95b51ax36570y9ahkcy5gccqsyvc307ij9yg7r";
-      name = "kgoldrunner-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kgoldrunner-20.12.1.tar.xz";
+      sha256 = "0n96clxf0bmhm8hlyvd7q9w1zhjn5irvh2vrf9d79ng44zgygjvh";
+      name = "kgoldrunner-20.12.1.tar.xz";
     };
   };
   kgpg = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kgpg-20.08.3.tar.xz";
-      sha256 = "1ip21yal37yxg5i5sfy6lgfb3sz9lld0dwa7a1w4lbddf9w3akd6";
-      name = "kgpg-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kgpg-20.12.1.tar.xz";
+      sha256 = "05wwdbx90wg3rm6hcin1dykbrbzz82g01dxnkgh21zzab72wmx8a";
+      name = "kgpg-20.12.1.tar.xz";
     };
   };
   khangman = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/khangman-20.08.3.tar.xz";
-      sha256 = "1zwdd2gpjkld3vkawp0lj83il257ryxf8wpmbgzn1wz8sxxi01jj";
-      name = "khangman-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/khangman-20.12.1.tar.xz";
+      sha256 = "0ljavjbh69qyp2323pqlkibzjkwgddmdjd35m0m5n4nwvnz3l5y7";
+      name = "khangman-20.12.1.tar.xz";
     };
   };
   khelpcenter = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/khelpcenter-20.08.3.tar.xz";
-      sha256 = "1xan4awwgs08k7ksfy80rfcxqd6bi8i1fjdgy55hh7wshv76zf5r";
-      name = "khelpcenter-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/khelpcenter-20.12.1.tar.xz";
+      sha256 = "1cba8siq3g78xjap4mhfkgvk9n031qy81ir08fpwk6zp9fkkgqb6";
+      name = "khelpcenter-20.12.1.tar.xz";
     };
   };
   kidentitymanagement = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kidentitymanagement-20.08.3.tar.xz";
-      sha256 = "0vkydvf4yw3qlqrg9m1zdm6j0c1crxdvc7l24yls9fjbj957vbls";
-      name = "kidentitymanagement-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kidentitymanagement-20.12.1.tar.xz";
+      sha256 = "1f8l8xbwy7qk5hadvknr45ihhg1j7zpqvpf5wxj3h6zg9fmadly9";
+      name = "kidentitymanagement-20.12.1.tar.xz";
     };
   };
   kig = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kig-20.08.3.tar.xz";
-      sha256 = "1dvizdfkvl7p7hr4xm4zh51lpr8qr3s5j5zz162s7arr7sws4w8h";
-      name = "kig-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kig-20.12.1.tar.xz";
+      sha256 = "0ns4rhk822p7jjqy9wnhkbrbais4ih1viw405rl5r5xlqn9bvsiz";
+      name = "kig-20.12.1.tar.xz";
     };
   };
   kigo = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kigo-20.08.3.tar.xz";
-      sha256 = "0sx3klivzn8h96mpnbkiv2nbi2l6w0j6fclj7q3ql3cm81jh6n15";
-      name = "kigo-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kigo-20.12.1.tar.xz";
+      sha256 = "0lvcc423mw3gs6c5x4lrlny07q93pa8ivaqphq6y4771n5y5dqqa";
+      name = "kigo-20.12.1.tar.xz";
     };
   };
   killbots = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/killbots-20.08.3.tar.xz";
-      sha256 = "1j41my0brpqpvd8xibv39z4x4kmw1sqz7wy7ibhh0zir3jh64n83";
-      name = "killbots-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/killbots-20.12.1.tar.xz";
+      sha256 = "0cdlixd7rakcxa8f5pf3pmq86mlipg7yhygnii858165v0gwkpx3";
+      name = "killbots-20.12.1.tar.xz";
     };
   };
   kimagemapeditor = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kimagemapeditor-20.08.3.tar.xz";
-      sha256 = "1m9mrksdl08ijmpmx3lhdysnm70mrnqz9rlbcn1h95p2sq0bk8cg";
-      name = "kimagemapeditor-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kimagemapeditor-20.12.1.tar.xz";
+      sha256 = "0vj2w3bgkq020gdi5q1zh650ipf4zc0hvzx5fpjknx4hd8b52rf8";
+      name = "kimagemapeditor-20.12.1.tar.xz";
     };
   };
   kimap = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kimap-20.08.3.tar.xz";
-      sha256 = "16paglkqgnyzwjydhn02qw7zg0d4casir4bsfch15wdmqv389mrg";
-      name = "kimap-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kimap-20.12.1.tar.xz";
+      sha256 = "1x6lapmb3srw3pddi7rmlzjdsw54x94pkr6jyrncpfpqqsgb3l4v";
+      name = "kimap-20.12.1.tar.xz";
     };
   };
   kio-extras = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kio-extras-20.08.3.tar.xz";
-      sha256 = "0i7k9asc97r9z4lfk5hyf7mcbx0za7j6v4dhqn43j5v4x2i0201c";
-      name = "kio-extras-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kio-extras-20.12.1.tar.xz";
+      sha256 = "1ym07jzy4w21frf3j5aadxg8ny7bgrm5dbhrc3xdyyj2rwh3iygg";
+      name = "kio-extras-20.12.1.tar.xz";
     };
   };
   kio-gdrive = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kio-gdrive-20.08.3.tar.xz";
-      sha256 = "0pp0nvsnfdm8vskw194qjfac4agnlsjm44w1704b5sqx6i27dafy";
-      name = "kio-gdrive-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kio-gdrive-20.12.1.tar.xz";
+      sha256 = "0axh8138rcfpa0a7s5w8zi8i6chz3z1q7560v497x6rd3d1z2zp0";
+      name = "kio-gdrive-20.12.1.tar.xz";
     };
   };
   kipi-plugins = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kipi-plugins-20.08.3.tar.xz";
-      sha256 = "1pplhv8yjfl1ifx9ykf4w2lgma8jvshihmd5c5mz9liqk3lawq15";
-      name = "kipi-plugins-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kipi-plugins-20.12.1.tar.xz";
+      sha256 = "0pv5f6v37n75vrz4vaw755bjyyqk1mm9dla26k0jy3qr76g8bg9d";
+      name = "kipi-plugins-20.12.1.tar.xz";
     };
   };
   kirigami-gallery = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kirigami-gallery-20.08.3.tar.xz";
-      sha256 = "0l100ng8ai55s0vl8nkpq4vysy2nc6sk1dbisc2mp7br74ykyfp9";
-      name = "kirigami-gallery-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kirigami-gallery-20.12.1.tar.xz";
+      sha256 = "00f3alhlvlphcz81465nfrdvvabbzy5n1s06bvwzsvf290h5chbh";
+      name = "kirigami-gallery-20.12.1.tar.xz";
     };
   };
   kiriki = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kiriki-20.08.3.tar.xz";
-      sha256 = "1gddjii84cbz1dg8k0pnd3dyzar4lvj03j9v84vabggjjjbpir0f";
-      name = "kiriki-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kiriki-20.12.1.tar.xz";
+      sha256 = "07qsmyf1ylgcwy704s8x9g1h4kalsipqz4z3bj1z5m5a2y9l8y8q";
+      name = "kiriki-20.12.1.tar.xz";
     };
   };
   kiten = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kiten-20.08.3.tar.xz";
-      sha256 = "0n9mq86gcl6s2f45l8lbp4gsdj356l78xjkdvm14f6qlh81vsqlc";
-      name = "kiten-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kiten-20.12.1.tar.xz";
+      sha256 = "0dfz2wdscgn0f967lnhzpyb3iz1iw068x0l10542pm5dh32afs4m";
+      name = "kiten-20.12.1.tar.xz";
     };
   };
   kitinerary = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kitinerary-20.08.3.tar.xz";
-      sha256 = "169pmy5fyjkbya8r2kdkd9s83sim0jplc3lx8bv2xh6r10mvzgm6";
-      name = "kitinerary-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kitinerary-20.12.1.tar.xz";
+      sha256 = "07zjd3ikbx6rw39ndy04aia8q35r75p5n52fijwnc4fkfc40xyxz";
+      name = "kitinerary-20.12.1.tar.xz";
     };
   };
   kjumpingcube = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kjumpingcube-20.08.3.tar.xz";
-      sha256 = "19246jwwd686x8i0jrvz2c8mpkf6qhm7rnskzin59dqzr76xrpgz";
-      name = "kjumpingcube-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kjumpingcube-20.12.1.tar.xz";
+      sha256 = "0li9bq7j30fbdzg981i6jkpxgrv1z84bpig8m5mxfyfhs5c55j69";
+      name = "kjumpingcube-20.12.1.tar.xz";
     };
   };
   kldap = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kldap-20.08.3.tar.xz";
-      sha256 = "1ihaazsnb9r30m2qhzcp2ns9f5fs7l3agsc9f9wxi4cyw73bq0n3";
-      name = "kldap-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kldap-20.12.1.tar.xz";
+      sha256 = "02w4hk9j1f1d81k0j8dzrj4hxwk2xwrf48305hzmm658wjvkv4k3";
+      name = "kldap-20.12.1.tar.xz";
     };
   };
   kleopatra = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kleopatra-20.08.3.tar.xz";
-      sha256 = "1r879g7hw3c5cww58z0kvqj47pgzbiq1vpgxz847smrylqajcpyi";
-      name = "kleopatra-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kleopatra-20.12.1.tar.xz";
+      sha256 = "1g06mq8vl1jhkyrjfrgsbl44v7yq04m8xbb8dxlyhyv40dwlz7l6";
+      name = "kleopatra-20.12.1.tar.xz";
     };
   };
   klettres = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/klettres-20.08.3.tar.xz";
-      sha256 = "0irc0f7vjznlsczan30zzprbnvgnbg19vabr97cw9rkkfa28azx9";
-      name = "klettres-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/klettres-20.12.1.tar.xz";
+      sha256 = "0k66xdkyv6i1zgk9nvz9633pmxygv1bwm4nkbg3izlh4g23rn3kk";
+      name = "klettres-20.12.1.tar.xz";
     };
   };
   klickety = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/klickety-20.08.3.tar.xz";
-      sha256 = "1qsm9grmy0bnalpdghg48xi68zzk6ysmg6n0d74ldmmnirv3r0zf";
-      name = "klickety-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/klickety-20.12.1.tar.xz";
+      sha256 = "17ml80p02sndhac5q6lkf7bb1kz9snsia991fghhahcjvd1g2qn6";
+      name = "klickety-20.12.1.tar.xz";
     };
   };
   klines = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/klines-20.08.3.tar.xz";
-      sha256 = "1l95ph1sjp3r1q065k3rj18lm36krl7bh41zgqh021p692ywc48c";
-      name = "klines-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/klines-20.12.1.tar.xz";
+      sha256 = "1ba71n90x0s8nf300p53libzfjd0j9r6m0fng636m1qjaz6z9a3c";
+      name = "klines-20.12.1.tar.xz";
     };
   };
   kmag = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kmag-20.08.3.tar.xz";
-      sha256 = "0y44gz3qn91vl840xz25l5kc5jj82k5qqxkgsvvyld2s99rif84k";
-      name = "kmag-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kmag-20.12.1.tar.xz";
+      sha256 = "0m4zy1ybk2p4wzdfrdf64n06ck39sn7s0nb82miizcpscaxqswhj";
+      name = "kmag-20.12.1.tar.xz";
     };
   };
   kmahjongg = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kmahjongg-20.08.3.tar.xz";
-      sha256 = "0wgp9m7xzf5ysmrrnyng4p4jypvzfnqkyw62gknl0qhk531cgq3h";
-      name = "kmahjongg-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kmahjongg-20.12.1.tar.xz";
+      sha256 = "1hszrp81pffg7rp0rk54qx49v3acmqfdi0if47kh9w124iicsi3z";
+      name = "kmahjongg-20.12.1.tar.xz";
     };
   };
   kmail = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kmail-20.08.3.tar.xz";
-      sha256 = "0g59s7wl0n4bp8kw559rdlamlqxl47qvwfms9kr9ign35rvs0ghg";
-      name = "kmail-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kmail-20.12.1.tar.xz";
+      sha256 = "128l57x29mqg3fcx50hviqydl7gw6n2zbjnmzrj7fzgl6gafcdgw";
+      name = "kmail-20.12.1.tar.xz";
     };
   };
   kmail-account-wizard = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kmail-account-wizard-20.08.3.tar.xz";
-      sha256 = "0vama5a02dfgxrl4iz88lbi8dvq3d9b055xil770d90pwp0sljcz";
-      name = "kmail-account-wizard-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kmail-account-wizard-20.12.1.tar.xz";
+      sha256 = "1gl4pvn7lyyc9rsk70yp5mikpdbakp4zgwx3plypqhmqd1z92pin";
+      name = "kmail-account-wizard-20.12.1.tar.xz";
     };
   };
   kmailtransport = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kmailtransport-20.08.3.tar.xz";
-      sha256 = "07552qj3ngwvyss7f8cy87c0gmzc47agn54wk85qq0v1fwr73n6z";
-      name = "kmailtransport-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kmailtransport-20.12.1.tar.xz";
+      sha256 = "08i4fmhkpxil7q6vn045xha54x00jkm19kibphx2q3sb3c6s3plm";
+      name = "kmailtransport-20.12.1.tar.xz";
     };
   };
   kmbox = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kmbox-20.08.3.tar.xz";
-      sha256 = "0ipmwcicn3qklybqy9v41lh7byn7j62ja8b0xf06z9nliwkk4b0b";
-      name = "kmbox-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kmbox-20.12.1.tar.xz";
+      sha256 = "1w172gqanhpkmcd9hc62lsmrkylg8mlfyk3nq3n89k6m2dkcfvqd";
+      name = "kmbox-20.12.1.tar.xz";
     };
   };
   kmime = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kmime-20.08.3.tar.xz";
-      sha256 = "1ndbx712vm4v0fi7p8j28d8z35h3bmsixc97z5r9dg03v1kzd36v";
-      name = "kmime-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kmime-20.12.1.tar.xz";
+      sha256 = "0hr5mh8a4b9bi0dqs055x4mpig7awqy9sd6j0i8lxix4cngcb6a2";
+      name = "kmime-20.12.1.tar.xz";
     };
   };
   kmines = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kmines-20.08.3.tar.xz";
-      sha256 = "1mn5hip3vnzmkk1hy14glsplp7f5pm56yv0d5mz25icfgw0xa6lp";
-      name = "kmines-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kmines-20.12.1.tar.xz";
+      sha256 = "18jzzn03c6mlmc02qg5fimid77b8gs0h4lci6wmj11fmb94g1hic";
+      name = "kmines-20.12.1.tar.xz";
     };
   };
   kmix = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kmix-20.08.3.tar.xz";
-      sha256 = "00gm93faqmqx0hhkxi3k2pn6sq82k2f622vqgk7mwznkpg66mf4k";
-      name = "kmix-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kmix-20.12.1.tar.xz";
+      sha256 = "1q1jz33mwnr5nr2mw92g40g7paclaxhwcvqik91la6dnvl0vpi8p";
+      name = "kmix-20.12.1.tar.xz";
     };
   };
   kmousetool = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kmousetool-20.08.3.tar.xz";
-      sha256 = "09qznykysr42rzz5cmqvhvz91cr8dbzwjd73hwaib2lfs3c2cgbl";
-      name = "kmousetool-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kmousetool-20.12.1.tar.xz";
+      sha256 = "1nahq9cgffcd4llqc8lwkicxjw8nwphvpws9xkalwsswb7ai9jrk";
+      name = "kmousetool-20.12.1.tar.xz";
     };
   };
   kmouth = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kmouth-20.08.3.tar.xz";
-      sha256 = "0ajhnl1sjllfb42nyafpirmlgcs6waqp8qxvgsz5dk5zkb8daqmr";
-      name = "kmouth-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kmouth-20.12.1.tar.xz";
+      sha256 = "0qhparw2qszv7z7lrzb76kyvkcgr9sgry9ir9965dd0sp4c1fhgc";
+      name = "kmouth-20.12.1.tar.xz";
     };
   };
   kmplot = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kmplot-20.08.3.tar.xz";
-      sha256 = "0cv7q1wmbb3fkf4s6ns4q1il5zr4q02b3xghpp661ma82d8jhjcy";
-      name = "kmplot-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kmplot-20.12.1.tar.xz";
+      sha256 = "0iz61jjr7z0j5bh5nqdv9nbdbiz0jhda89bxjds0n9636q42rifm";
+      name = "kmplot-20.12.1.tar.xz";
     };
   };
   knavalbattle = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/knavalbattle-20.08.3.tar.xz";
-      sha256 = "1028i8zl5ynm3vvqajsms2hq8gmmjmjc5dc6r3jyh6r964vxq3nq";
-      name = "knavalbattle-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/knavalbattle-20.12.1.tar.xz";
+      sha256 = "0k7kqnc8zp3n0ckrmmih12x6h1vgn9s7hrgp7n37bns2g39ij0xn";
+      name = "knavalbattle-20.12.1.tar.xz";
     };
   };
   knetwalk = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/knetwalk-20.08.3.tar.xz";
-      sha256 = "13pspvi2p68irpbr3f2ck78qmvfl3vahm5qjw2fwhidhpindf9nl";
-      name = "knetwalk-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/knetwalk-20.12.1.tar.xz";
+      sha256 = "0px8yfi5h9nipgdjcgskrm66dr23yg5ks0kyxjsly6mv41qxjiw8";
+      name = "knetwalk-20.12.1.tar.xz";
     };
   };
   knights = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/knights-20.08.3.tar.xz";
-      sha256 = "0zqb87mr2x085hi3r9cvdrx2kvxmclh4ffi1ajcb8v1f79wiwzin";
-      name = "knights-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/knights-20.12.1.tar.xz";
+      sha256 = "098ywblshbr3qx7b8m4qj0036dq3c3mackmsbjnr85acb0204bjb";
+      name = "knights-20.12.1.tar.xz";
     };
   };
   knotes = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/knotes-20.08.3.tar.xz";
-      sha256 = "0ysw8js2s6njilg4v4vqrl1bzcmqvk42l68pzvyflr112zviqz28";
-      name = "knotes-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/knotes-20.12.1.tar.xz";
+      sha256 = "11gfk2p240a2gqxgkn9ymf7ds2zpij8h2vbbkax6ariddmhmlqk0";
+      name = "knotes-20.12.1.tar.xz";
     };
   };
   kolf = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kolf-20.08.3.tar.xz";
-      sha256 = "1ywyny8iq2sxglsvpgw6p3w3w567k6cw6waywfcfy0lcnfarg1n0";
-      name = "kolf-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kolf-20.12.1.tar.xz";
+      sha256 = "12b424dl6rizj2pdcd4cr01lmp4kmirii79k40v22hn0yn6a9qdv";
+      name = "kolf-20.12.1.tar.xz";
     };
   };
   kollision = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kollision-20.08.3.tar.xz";
-      sha256 = "1l8a32bni40jz5jna0ip9ggbx7zp1hhiw2mip7v8f6qc4arbknl8";
-      name = "kollision-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kollision-20.12.1.tar.xz";
+      sha256 = "1hxv4qd5dl61d5440r4hnd9r24prn78ibmnk3m06c15zc3hfdsdn";
+      name = "kollision-20.12.1.tar.xz";
     };
   };
   kolourpaint = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kolourpaint-20.08.3.tar.xz";
-      sha256 = "0d64gnnb553rxscr8710h5bx8ijxd87jrbix07k41y79i5x60irh";
-      name = "kolourpaint-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kolourpaint-20.12.1.tar.xz";
+      sha256 = "1a2wgrf9hirvj61k2nd8x7rv5v8i9r1vrvpdmi9ik4qdg6lpvqay";
+      name = "kolourpaint-20.12.1.tar.xz";
     };
   };
   kompare = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kompare-20.08.3.tar.xz";
-      sha256 = "0r9m2vcw9hbdkfdy24pfpqs2b5r0jyxh1ma2h66hfv4ycd470ilc";
-      name = "kompare-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kompare-20.12.1.tar.xz";
+      sha256 = "13di8dzp7xzlfacas5f92h1vwiqf64cd0rkc4yv4l2g8aq2jzcqh";
+      name = "kompare-20.12.1.tar.xz";
     };
   };
   konqueror = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/konqueror-20.08.3.tar.xz";
-      sha256 = "1ssjj83jcbcq8i7wx5zd12z7crh2zg6awbpy38maq3c7747nqz7k";
-      name = "konqueror-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/konqueror-20.12.1.tar.xz";
+      sha256 = "026f8fybr8azq3diw2k3p3qpmqj9lk6n9ipcl3xkwdss7i5v5w3y";
+      name = "konqueror-20.12.1.tar.xz";
     };
   };
   konquest = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/konquest-20.08.3.tar.xz";
-      sha256 = "1wq0j02dzdah6yhx8r2cg191617hid9fs780yr317fprkwkgb8cb";
-      name = "konquest-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/konquest-20.12.1.tar.xz";
+      sha256 = "1s08mvj7z91r86i0zwkcv05fnnr4lzhp596qr38d2yv6rxf5vr57";
+      name = "konquest-20.12.1.tar.xz";
     };
   };
   konsole = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/konsole-20.08.3.tar.xz";
-      sha256 = "0jjidy756x8n456qbm977a73l8229kk8i489jh52296k8pkh6yjx";
-      name = "konsole-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/konsole-20.12.1.tar.xz";
+      sha256 = "1v39sx00c115apnm32wn00yir69z1h0y3lblmjmvbjk24hwvx45n";
+      name = "konsole-20.12.1.tar.xz";
     };
   };
   kontact = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kontact-20.08.3.tar.xz";
-      sha256 = "0qasgxvq7xps0zxk4hf2sizmy90mxyq70m2pq49pq17ij2pa9ynl";
-      name = "kontact-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kontact-20.12.1.tar.xz";
+      sha256 = "0dr59jj97zxkgc61zgwa8i26m81sfxvymxcrh5midwd24z8nslkz";
+      name = "kontact-20.12.1.tar.xz";
     };
   };
   kontactinterface = {
-    version = "20.08.3";
+    version = "20.12.1";
+    src = fetchurl {
+      url = "${mirror}/stable/release-service/20.12.1/src/kontactinterface-20.12.1.tar.xz";
+      sha256 = "0sdlgmwvir2s9ys466i4bj4raf2af43w838and64jwsr9qb1hg4j";
+      name = "kontactinterface-20.12.1.tar.xz";
+    };
+  };
+  kontrast = {
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kontactinterface-20.08.3.tar.xz";
-      sha256 = "1ah2814js08sm49ykarqdw7z03w4fbym5cc4vwmzimcvh2bc78j3";
-      name = "kontactinterface-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kontrast-20.12.1.tar.xz";
+      sha256 = "0cs31sn4va2hhfi7ps3bz9sy2hlxb8cawn5vijfdhzb9mmc962br";
+      name = "kontrast-20.12.1.tar.xz";
+    };
+  };
+  konversation = {
+    version = "20.12.1";
+    src = fetchurl {
+      url = "${mirror}/stable/release-service/20.12.1/src/konversation-20.12.1.tar.xz";
+      sha256 = "1x6pyiv73avc3qmxlbnwwzk3gz6qbr991p896f9yb4rqfqj8j7j4";
+      name = "konversation-20.12.1.tar.xz";
     };
   };
   kopete = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kopete-20.08.3.tar.xz";
-      sha256 = "1lsab66k0xq1g0w0cxcpadmf9kkc09x8wwbv4i8y3aj2mn7849gh";
-      name = "kopete-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kopete-20.12.1.tar.xz";
+      sha256 = "1cfbl3jalmaphwrzw443l4q5k1fx4nja65ajgrv3nly8rfabfnfl";
+      name = "kopete-20.12.1.tar.xz";
     };
   };
   korganizer = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/korganizer-20.08.3.tar.xz";
-      sha256 = "112h6vn2y9d3q3z62cwg3zrak3xgx9affibc9cvr6fzhp4z0x9ps";
-      name = "korganizer-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/korganizer-20.12.1.tar.xz";
+      sha256 = "1ci6ca6w3a77gf3d7fh9rjkblm5qa2jic176rwmax79qgvjjq8wm";
+      name = "korganizer-20.12.1.tar.xz";
+    };
+  };
+  kosmindoormap = {
+    version = "20.12.1";
+    src = fetchurl {
+      url = "${mirror}/stable/release-service/20.12.1/src/kosmindoormap-20.12.1.tar.xz";
+      sha256 = "186kfqaznxyxqchwqsrb4dvk4v69rhqwfg93fcjsp43l14ml5rnx";
+      name = "kosmindoormap-20.12.1.tar.xz";
     };
   };
   kpat = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kpat-20.08.3.tar.xz";
-      sha256 = "1id4b9jkphi8pp29gc2vb3n9f0g8kl9yy5v8cnyv3jq673aj0fs9";
-      name = "kpat-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kpat-20.12.1.tar.xz";
+      sha256 = "1kd3i7qhjwxi04x8dkc7q9rgx73zyx3njm5rhq0hc1v32m8nn659";
+      name = "kpat-20.12.1.tar.xz";
     };
   };
   kpimtextedit = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kpimtextedit-20.08.3.tar.xz";
-      sha256 = "1m4r5zbhbjvj3za78xfp3dibyf7mp9gan5ir5zd0k2p7adp3i652";
-      name = "kpimtextedit-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kpimtextedit-20.12.1.tar.xz";
+      sha256 = "15m26qssw80nxv1m51jq3q629nginhh4hb69a5y15jgvrv4k59b4";
+      name = "kpimtextedit-20.12.1.tar.xz";
     };
   };
   kpkpass = {
-    version = "20.08.3";
+    version = "20.12.1";
+    src = fetchurl {
+      url = "${mirror}/stable/release-service/20.12.1/src/kpkpass-20.12.1.tar.xz";
+      sha256 = "09idbgf9gnzyr520indlzhwb9pr5hx3dag26qrfi7l8ywzdkrsr2";
+      name = "kpkpass-20.12.1.tar.xz";
+    };
+  };
+  kpmcore = {
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kpkpass-20.08.3.tar.xz";
-      sha256 = "0zw3xx5mi38za0xbvld97f5bqvwwgyz47kybyrdm7jrhvmmiiiis";
-      name = "kpkpass-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kpmcore-20.12.1.tar.xz";
+      sha256 = "0nyqz1jfr9h9n80npvp7yyizbyga6iv8yljq52myk6b40vs9q41v";
+      name = "kpmcore-20.12.1.tar.xz";
+    };
+  };
+  kpublictransport = {
+    version = "20.12.1";
+    src = fetchurl {
+      url = "${mirror}/stable/release-service/20.12.1/src/kpublictransport-20.12.1.tar.xz";
+      sha256 = "0saqykqb9rrm3ngvcx910dmhyh1hc3n0x3qfzlzrxlq678ag94hq";
+      name = "kpublictransport-20.12.1.tar.xz";
     };
   };
   kqtquickcharts = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kqtquickcharts-20.08.3.tar.xz";
-      sha256 = "0l7v8vrc7by0w0yshnh21jaqhspmhkvm5cd0hpay6jc9v2azkcf3";
-      name = "kqtquickcharts-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kqtquickcharts-20.12.1.tar.xz";
+      sha256 = "0025vj4n0k3g5bsmjq6ydx80izvpx6g73jxz27hp69vbl8p4ylpc";
+      name = "kqtquickcharts-20.12.1.tar.xz";
     };
   };
   krdc = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/krdc-20.08.3.tar.xz";
-      sha256 = "1g9lxdldljh5a2s4g7g9b98lij168l99ah0vr6nvdl53n35pfr8n";
-      name = "krdc-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/krdc-20.12.1.tar.xz";
+      sha256 = "067xrhs55di2ff0lxvcl2x7qblmv2pbrgjkc5bjsx6ai6w9bv4dh";
+      name = "krdc-20.12.1.tar.xz";
     };
   };
   kreversi = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kreversi-20.08.3.tar.xz";
-      sha256 = "0d3y072q61xcik9lf0pz0c9njvarwlvf6hqv5fp5jyqaf2902pmi";
-      name = "kreversi-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kreversi-20.12.1.tar.xz";
+      sha256 = "1yw9lxzqyxk6fsh2lzsrp2cmdw545hszdz9253lm6b5ppax6z42a";
+      name = "kreversi-20.12.1.tar.xz";
     };
   };
   krfb = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/krfb-20.08.3.tar.xz";
-      sha256 = "13nypbcdhh53wq72w59z5q46a09g1w4yyi1pmsjwa8r7jnk8cafk";
-      name = "krfb-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/krfb-20.12.1.tar.xz";
+      sha256 = "0pfxd0nci9g4wkh4qcgk3yhm9rl9yx2d4jpfxgdmiacfp9hkqxj6";
+      name = "krfb-20.12.1.tar.xz";
     };
   };
   kross-interpreters = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kross-interpreters-20.08.3.tar.xz";
-      sha256 = "0mr5vpbbcv66s6dyrrypy1ai6ba744z8cn4r0iwys35p6am075qj";
-      name = "kross-interpreters-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kross-interpreters-20.12.1.tar.xz";
+      sha256 = "1csk3xkkkqvffms5ivy08hyd2mizg7ywcrdapxx40m5kwsn6vpxs";
+      name = "kross-interpreters-20.12.1.tar.xz";
     };
   };
   kruler = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kruler-20.08.3.tar.xz";
-      sha256 = "1vhl8acccdqfdj7lci8r2mig9qf1js4f8v7b4fqljpnc3gdg8749";
-      name = "kruler-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kruler-20.12.1.tar.xz";
+      sha256 = "1jiz9s647bndpi4gg3f7wwg0c0cv8wf1myjxwdpx5a0ggdr2xh3q";
+      name = "kruler-20.12.1.tar.xz";
     };
   };
   kshisen = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kshisen-20.08.3.tar.xz";
-      sha256 = "1vy8qh8s60a4ikyw3sh4cbr3p3fk35d4dwdqc263gn4skyrsb1l9";
-      name = "kshisen-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kshisen-20.12.1.tar.xz";
+      sha256 = "1awnpj66080g2y41014g2pgb5llyqw56b54z6ydhfya4a0a8gsds";
+      name = "kshisen-20.12.1.tar.xz";
     };
   };
   ksirk = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ksirk-20.08.3.tar.xz";
-      sha256 = "1kxc1b05r8x6pvaiwpvjpgrr88qkm5qs4d3s1ym8rki60c724qpl";
-      name = "ksirk-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ksirk-20.12.1.tar.xz";
+      sha256 = "11bcmxjjyf095i790f5r3cr5hskw2x9458vwfm7yd57qx3r01axz";
+      name = "ksirk-20.12.1.tar.xz";
     };
   };
   ksmtp = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ksmtp-20.08.3.tar.xz";
-      sha256 = "1p9clzvmsym2fijwvs3s0zqx57bk82mlks52j5ni3il6lvklaayc";
-      name = "ksmtp-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ksmtp-20.12.1.tar.xz";
+      sha256 = "1yahcgchfhk742n6hmpr2b2fll6jrw0vs1hrfvms3n7w7vxnkyxg";
+      name = "ksmtp-20.12.1.tar.xz";
     };
   };
   ksnakeduel = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ksnakeduel-20.08.3.tar.xz";
-      sha256 = "03ydbwknn20gadjpwcw0z8zw777hgj8j10w4gvp2dwpb07rdg1pn";
-      name = "ksnakeduel-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ksnakeduel-20.12.1.tar.xz";
+      sha256 = "1647m2a918kr762fmvffj2ipamhvcihc8yg8z80b8lwinpspcdfc";
+      name = "ksnakeduel-20.12.1.tar.xz";
     };
   };
   kspaceduel = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kspaceduel-20.08.3.tar.xz";
-      sha256 = "1ii3lnxd11d3ihl8j1abh9qn9q0qq8ra9hbrwjs5df2kk36bnirj";
-      name = "kspaceduel-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kspaceduel-20.12.1.tar.xz";
+      sha256 = "17i2saa48xq62j0aca555lqjxf6ry3wkxw5vm5v32g3kwkr10m78";
+      name = "kspaceduel-20.12.1.tar.xz";
     };
   };
   ksquares = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ksquares-20.08.3.tar.xz";
-      sha256 = "1ch7lbylzb9ngdzvpzqq5f30gkm2l4rzk6iqa8xm53rawr7jjqcy";
-      name = "ksquares-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ksquares-20.12.1.tar.xz";
+      sha256 = "085bvcx5p13j32017c0vm3zvcr0r0dzcbxpp21mvrp1xzy2dw7v2";
+      name = "ksquares-20.12.1.tar.xz";
     };
   };
   ksudoku = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ksudoku-20.08.3.tar.xz";
-      sha256 = "0hnqbd3krxi3zwj8p4n9ydhwfwhw8wljhjdfv0llv0nhj1wb89p9";
-      name = "ksudoku-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ksudoku-20.12.1.tar.xz";
+      sha256 = "0a0i87ddxa75admnxl181dsqmab4cwbb6pncl34z4sppf272z8km";
+      name = "ksudoku-20.12.1.tar.xz";
     };
   };
   ksystemlog = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ksystemlog-20.08.3.tar.xz";
-      sha256 = "11fc2mn4hkcibpxp7s2gihpp05yix7ws84a0bm6vjiqlidmrk192";
-      name = "ksystemlog-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ksystemlog-20.12.1.tar.xz";
+      sha256 = "0535s6sq4wccdxv0xw12x3zzjkp0746s3hmlk93sginwq5fixxc0";
+      name = "ksystemlog-20.12.1.tar.xz";
     };
   };
   kteatime = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kteatime-20.08.3.tar.xz";
-      sha256 = "1vj738s2a7nnrvxi847mdmn1vg79kh9k8gqaflcwnvyxanf6n4f7";
-      name = "kteatime-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kteatime-20.12.1.tar.xz";
+      sha256 = "0j9c3wy398z61ciyf91hv7l3bxski827di9ib94wyjkwqd6516zx";
+      name = "kteatime-20.12.1.tar.xz";
     };
   };
   ktimer = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ktimer-20.08.3.tar.xz";
-      sha256 = "1rc1z93s24b7p2ixr4xbpg0sj8ls90gzfijwj9f8b0lrwd905ysv";
-      name = "ktimer-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ktimer-20.12.1.tar.xz";
+      sha256 = "0iac06mzszg6g1flbs0mzj8ddnvh6kdgbhakjxl969in4c1frz9w";
+      name = "ktimer-20.12.1.tar.xz";
     };
   };
   ktnef = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ktnef-20.08.3.tar.xz";
-      sha256 = "1lj93sqyi522k91jiyf7d26vx5sgn5njhyaf8plsfz5rj82dw1m4";
-      name = "ktnef-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ktnef-20.12.1.tar.xz";
+      sha256 = "1pq4mabh7glpxl2iwj5rrfwim4x6xfg2vlpx7z0d0n13gh85b4fd";
+      name = "ktnef-20.12.1.tar.xz";
+    };
+  };
+  ktorrent = {
+    version = "20.12.1";
+    src = fetchurl {
+      url = "${mirror}/stable/release-service/20.12.1/src/ktorrent-20.12.1.tar.xz";
+      sha256 = "0m43wsz0k87ncvg3zdffsp06nwdrlfnw52fi1ry12z2rnkcm4pwc";
+      name = "ktorrent-20.12.1.tar.xz";
     };
   };
   ktouch = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ktouch-20.08.3.tar.xz";
-      sha256 = "1ssxd7f75866rn5k192bnm016d8674q13ibcgmaxqsmr7wqkyd39";
-      name = "ktouch-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ktouch-20.12.1.tar.xz";
+      sha256 = "10lm2p8w26c9n6lhvw3301myfss0dq7hl7rawzb3hsy1lqvmvdib";
+      name = "ktouch-20.12.1.tar.xz";
     };
   };
   ktp-accounts-kcm = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ktp-accounts-kcm-20.08.3.tar.xz";
-      sha256 = "0039svbzx7fphyk6cw4hb8k4h7l6q31pbwvp6pvls450rycz8i8y";
-      name = "ktp-accounts-kcm-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ktp-accounts-kcm-20.12.1.tar.xz";
+      sha256 = "0440s2rrh03x8h5bp6xywidngrb1pinndsigaj4k4yvz122j2y53";
+      name = "ktp-accounts-kcm-20.12.1.tar.xz";
     };
   };
   ktp-approver = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ktp-approver-20.08.3.tar.xz";
-      sha256 = "1kqsdw7vkcd0ka98y2r7qz7dp5hsrr2m8k1xlh3gpj7fdxpla2bh";
-      name = "ktp-approver-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ktp-approver-20.12.1.tar.xz";
+      sha256 = "14ygpqvjhyzryrlinz0i2a6nyn1gnxs0hwx35imiz8hg4sb9402k";
+      name = "ktp-approver-20.12.1.tar.xz";
     };
   };
   ktp-auth-handler = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ktp-auth-handler-20.08.3.tar.xz";
-      sha256 = "0wbhg458ysipwma8sygimasq71sbrzmx3vwqi51ai8y5hwrx04j4";
-      name = "ktp-auth-handler-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ktp-auth-handler-20.12.1.tar.xz";
+      sha256 = "1bysipq957kqbl33zj88m1g987b02v25gmh5lpnmrnlqznxw0ws7";
+      name = "ktp-auth-handler-20.12.1.tar.xz";
     };
   };
   ktp-call-ui = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ktp-call-ui-20.08.3.tar.xz";
-      sha256 = "1fh8bz9kc6f8v28x12xp3vw19swgcq07zyjzhd6qcnwf1bv6gl7i";
-      name = "ktp-call-ui-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ktp-call-ui-20.12.1.tar.xz";
+      sha256 = "154zgg84ln823al40s5fwxf10k3p73mz4fjn2lyhdqgsx68l08sy";
+      name = "ktp-call-ui-20.12.1.tar.xz";
     };
   };
   ktp-common-internals = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ktp-common-internals-20.08.3.tar.xz";
-      sha256 = "193yx4g1fwlwysy5scb7m24wqmvwmfyyb9sv7arw7zn5czlg480z";
-      name = "ktp-common-internals-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ktp-common-internals-20.12.1.tar.xz";
+      sha256 = "1f8l1ywccxga3ff8qvf4ybabkd57apidkx7ky49dfi785kgvym16";
+      name = "ktp-common-internals-20.12.1.tar.xz";
     };
   };
   ktp-contact-list = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ktp-contact-list-20.08.3.tar.xz";
-      sha256 = "0093z17r1xqlb1zlgxfayrnrkyl8zmnnasfd8i97dx712wmbbxxa";
-      name = "ktp-contact-list-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ktp-contact-list-20.12.1.tar.xz";
+      sha256 = "122p2xp6wqmvk7mbplgnilsbnk6hfzrgbxpr39n462pkwbmvs44j";
+      name = "ktp-contact-list-20.12.1.tar.xz";
     };
   };
   ktp-contact-runner = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ktp-contact-runner-20.08.3.tar.xz";
-      sha256 = "063jylnq3gm0s0jh1xs6b591a161sb6gdi840l40mqlhhg7i8x55";
-      name = "ktp-contact-runner-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ktp-contact-runner-20.12.1.tar.xz";
+      sha256 = "1w8jp1nmjwaaqpim2jfpbv3d7w9asn93qi2ag2d6wx6mcc2q84jb";
+      name = "ktp-contact-runner-20.12.1.tar.xz";
     };
   };
   ktp-desktop-applets = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ktp-desktop-applets-20.08.3.tar.xz";
-      sha256 = "1i69qzfa455phjnd5ycflyggcbq7ycn2cc7a3ni5195isjzq6r6s";
-      name = "ktp-desktop-applets-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ktp-desktop-applets-20.12.1.tar.xz";
+      sha256 = "0z3vv7q5kk27fm32bmhffpj6w72mldcdxsq6p3d33zf6rkz2rb74";
+      name = "ktp-desktop-applets-20.12.1.tar.xz";
     };
   };
   ktp-filetransfer-handler = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ktp-filetransfer-handler-20.08.3.tar.xz";
-      sha256 = "0a26ziacl3fkd0a0h1579jnwjzjlsz0zymj9k4da4sb60zad5y72";
-      name = "ktp-filetransfer-handler-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ktp-filetransfer-handler-20.12.1.tar.xz";
+      sha256 = "0b8ha1jxhrdk67mzwrd0ypz99shlfr6sanxbbv0j3xh77sjcqpq3";
+      name = "ktp-filetransfer-handler-20.12.1.tar.xz";
     };
   };
   ktp-kded-module = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ktp-kded-module-20.08.3.tar.xz";
-      sha256 = "105vh6b7a0v02arksbwxn30slpcg11cpvb7dqmvf041iyr13sqsv";
-      name = "ktp-kded-module-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ktp-kded-module-20.12.1.tar.xz";
+      sha256 = "1hbb5pj3gaw9sg5rj2rb7a8xqrixfhr040rcdjsln337zyy98iqf";
+      name = "ktp-kded-module-20.12.1.tar.xz";
     };
   };
   ktp-send-file = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ktp-send-file-20.08.3.tar.xz";
-      sha256 = "08pp3029jplc6rcbav40cgy787gn3jjl312gbgvnwzglxaqvcg4b";
-      name = "ktp-send-file-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ktp-send-file-20.12.1.tar.xz";
+      sha256 = "1vgfqa062h5yxdsz71h2zz247mzv6mn0zm7dz1v8p4pzns9kscq1";
+      name = "ktp-send-file-20.12.1.tar.xz";
     };
   };
   ktp-text-ui = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ktp-text-ui-20.08.3.tar.xz";
-      sha256 = "1anxl9wa5ndyi9r9w0kpivx8nv1xpx28xjvkdplkc75cc1wl88sw";
-      name = "ktp-text-ui-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ktp-text-ui-20.12.1.tar.xz";
+      sha256 = "13cx2pv4wqmrgbi4sg51fhp418r50ajjhc9yz5mv7ad2gxml5c61";
+      name = "ktp-text-ui-20.12.1.tar.xz";
     };
   };
   ktuberling = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/ktuberling-20.08.3.tar.xz";
-      sha256 = "0q6ynmn6w5q65a77fq8n9vxqswrimln22b1zfgxmb2i3qwnhkrmz";
-      name = "ktuberling-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/ktuberling-20.12.1.tar.xz";
+      sha256 = "06la1cvwvpiqjdwv7icdg55dd8pkc587bfwwjdq2fhp2pyh3ws6j";
+      name = "ktuberling-20.12.1.tar.xz";
     };
   };
   kturtle = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kturtle-20.08.3.tar.xz";
-      sha256 = "0riv76vwvz94zixqhhwkxw8sz2r2xqai39yh9hr31d28q9rza384";
-      name = "kturtle-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kturtle-20.12.1.tar.xz";
+      sha256 = "12jr4sbchjpvc730cy4bp2cccdsd8vw901dgyq0nar8p0pvg4ybb";
+      name = "kturtle-20.12.1.tar.xz";
     };
   };
   kubrick = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kubrick-20.08.3.tar.xz";
-      sha256 = "03k73gr33dr3va69vc70fsfcdwkqz70bg87yk2l2j33x8wsgl4wx";
-      name = "kubrick-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kubrick-20.12.1.tar.xz";
+      sha256 = "1hdkm9vw9wpc8b3mw0yy9cz5ylm0h75zbg51rw4glai48bb3gs8i";
+      name = "kubrick-20.12.1.tar.xz";
     };
   };
   kwalletmanager = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kwalletmanager-20.08.3.tar.xz";
-      sha256 = "1l07vxl2x3jl8553rbvr3p0k3rc95nmrw4vhxxynl3102xshrg5i";
-      name = "kwalletmanager-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kwalletmanager-20.12.1.tar.xz";
+      sha256 = "0nsg2xjzz6qvjqpxj1bbzzikvcl1ipqjwwab2kdwg71vlp99ravj";
+      name = "kwalletmanager-20.12.1.tar.xz";
     };
   };
   kwave = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kwave-20.08.3.tar.xz";
-      sha256 = "0zk8ik03qcc6y0vhpih8sk2jpkxwxalmqmaan2767k9h92grdpc8";
-      name = "kwave-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kwave-20.12.1.tar.xz";
+      sha256 = "1w5r7di9401dm60p3bkp8qg41pvlz4226szki5s6pmmq89dixdgq";
+      name = "kwave-20.12.1.tar.xz";
     };
   };
   kwordquiz = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/kwordquiz-20.08.3.tar.xz";
-      sha256 = "1kiqk3xyd0l7kqdxqjqs8mw4drcdbdri9xxi5gcav57ndcinknqb";
-      name = "kwordquiz-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/kwordquiz-20.12.1.tar.xz";
+      sha256 = "1dvbvfwaja4n2v9binj8pbdjizqz4zp49fiq8b4k5jxygcsgnx2p";
+      name = "kwordquiz-20.12.1.tar.xz";
     };
   };
   libgravatar = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/libgravatar-20.08.3.tar.xz";
-      sha256 = "09dvx2rb1j7q4r0gkbhz0vjk8ya3njqprpjqdhwcq7xwc2j9h0hr";
-      name = "libgravatar-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/libgravatar-20.12.1.tar.xz";
+      sha256 = "12byf7p0fwsfy61gcv112bhq3zczjy5n1dm32x2lrjyis2dh2z9j";
+      name = "libgravatar-20.12.1.tar.xz";
     };
   };
   libkcddb = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/libkcddb-20.08.3.tar.xz";
-      sha256 = "0r36hs79hmq0znsds0d04lj7ffs6l2d866kyn1z1fdwr9b3crirg";
-      name = "libkcddb-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/libkcddb-20.12.1.tar.xz";
+      sha256 = "07ky4ly72689gb58jxqqzq5bgmb9wslxkqj0ldam6v82ldk8ss7k";
+      name = "libkcddb-20.12.1.tar.xz";
     };
   };
   libkcompactdisc = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/libkcompactdisc-20.08.3.tar.xz";
-      sha256 = "1nglk3kbx5czqla3cnpnf1fk71pf2cl9h6rgb40ak1xw4z31d456";
-      name = "libkcompactdisc-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/libkcompactdisc-20.12.1.tar.xz";
+      sha256 = "101szps2js8dhxdn913mj9b2z953rp47ikkbrrdjl1fq1i8dh6ib";
+      name = "libkcompactdisc-20.12.1.tar.xz";
     };
   };
   libkdcraw = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/libkdcraw-20.08.3.tar.xz";
-      sha256 = "1806i99qsrmixdg5b0hyi8h55fk00q6wxsnrblbwcmsb268jddp7";
-      name = "libkdcraw-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/libkdcraw-20.12.1.tar.xz";
+      sha256 = "1vkjyccyax622a3jvqdfnppansabxaxplyk9prn302zqmgvl05h3";
+      name = "libkdcraw-20.12.1.tar.xz";
     };
   };
   libkdegames = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/libkdegames-20.08.3.tar.xz";
-      sha256 = "1ccbcwwqb53bgqlr1rq9plpw21mipxp8rsi1f7l0p1jzpw054p08";
-      name = "libkdegames-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/libkdegames-20.12.1.tar.xz";
+      sha256 = "1zy44k98xjjydsa35bagf152kfb394wxpdx0c06vcf404jkhk7ng";
+      name = "libkdegames-20.12.1.tar.xz";
     };
   };
   libkdepim = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/libkdepim-20.08.3.tar.xz";
-      sha256 = "1v77g02v5sdqprh8psx5xpjgf8v91il60ca59yivm5jvc3hdf3f6";
-      name = "libkdepim-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/libkdepim-20.12.1.tar.xz";
+      sha256 = "0kp2xssl1qbl3ziskxl3hhvyp8nc35d2fijk6hl99j3sxpdi2s4f";
+      name = "libkdepim-20.12.1.tar.xz";
     };
   };
   libkeduvocdocument = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/libkeduvocdocument-20.08.3.tar.xz";
-      sha256 = "0ghkx6x5sn5fl934ybhl32knwv9zky0n1vkjw2w93lpms45xmw76";
-      name = "libkeduvocdocument-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/libkeduvocdocument-20.12.1.tar.xz";
+      sha256 = "0kqnhaabfi91clqg7nlnjcybl5ca0p3ysn5zlwhxz1fcjxm83g4w";
+      name = "libkeduvocdocument-20.12.1.tar.xz";
     };
   };
   libkexiv2 = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/libkexiv2-20.08.3.tar.xz";
-      sha256 = "1lh3947w6xgzl2r1wm6m4kd478q6bv89f0c3c38ldv30imfw7rfl";
-      name = "libkexiv2-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/libkexiv2-20.12.1.tar.xz";
+      sha256 = "1vylyl3gxk3xais7c640kdnp4s4jwd9y2xxkwmf36ax0dv8wdcv0";
+      name = "libkexiv2-20.12.1.tar.xz";
     };
   };
   libkgapi = {
-    version = "20.08.3";
-    src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/libkgapi-20.08.3.tar.xz";
-      sha256 = "1kmgf9v9rvb67l7aw5xsx7v44l4pz8rl6p09lk26irq7gd4k68la";
-      name = "libkgapi-20.08.3.tar.xz";
-    };
-  };
-  libkgeomap = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/libkgeomap-20.08.3.tar.xz";
-      sha256 = "14ipksxnvgk2s1sw7a70153iy9aik9mf4i7k8y3pzdr3l3155ayk";
-      name = "libkgeomap-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/libkgapi-20.12.1.tar.xz";
+      sha256 = "0cx8lbzq8ambz2lbslakczzcfmhri4268p7zf7hnf3ymd17a5y8d";
+      name = "libkgapi-20.12.1.tar.xz";
     };
   };
   libkipi = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/libkipi-20.08.3.tar.xz";
-      sha256 = "1b5qby7xm926qnzrf1zpb89fwx1a2syhqnznmdjxifj499p1jqjb";
-      name = "libkipi-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/libkipi-20.12.1.tar.xz";
+      sha256 = "1ln4f1n9ghiqb9h4lpw6qcwz7wrvm8jlcqn1ingjh9s58zw8wqsg";
+      name = "libkipi-20.12.1.tar.xz";
     };
   };
   libkleo = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/libkleo-20.08.3.tar.xz";
-      sha256 = "1d6dal4qnrikg6ma2ird4b2sdivqqkkhamvd3s1srcxppc3aiq79";
-      name = "libkleo-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/libkleo-20.12.1.tar.xz";
+      sha256 = "0dq86pg0jchlpsynk0355wwq3pggqkj0mxhyvgi6a0xb2riy2r4a";
+      name = "libkleo-20.12.1.tar.xz";
     };
   };
   libkmahjongg = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/libkmahjongg-20.08.3.tar.xz";
-      sha256 = "0xabp1vzbzs52m3bb9nzm1d9md1n4j4pr13izn6nv28ja7477nnm";
-      name = "libkmahjongg-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/libkmahjongg-20.12.1.tar.xz";
+      sha256 = "0cq0bcl7hkgj1v7giqzbrvlds2933ji52fg53cakz29fkgxibj3x";
+      name = "libkmahjongg-20.12.1.tar.xz";
     };
   };
   libkomparediff2 = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/libkomparediff2-20.08.3.tar.xz";
-      sha256 = "0nk0jkf0jwaz1yqzzp44c6xyjgw42gclkcvw8w61w1f8sdl40wb8";
-      name = "libkomparediff2-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/libkomparediff2-20.12.1.tar.xz";
+      sha256 = "04klqvhh8zl5lyblpqgm92wycq4r0hh6gx18nqnsgx6lknlrx9y3";
+      name = "libkomparediff2-20.12.1.tar.xz";
     };
   };
   libksane = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/libksane-20.08.3.tar.xz";
-      sha256 = "0d2cnmvk16g1vnx9jd7jvp3bpw07ss54khmhqip8iskkvcfll9j0";
-      name = "libksane-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/libksane-20.12.1.tar.xz";
+      sha256 = "07xsfs0lkh35nj0fy7y1r46nkdmm26nbpsm846v18lh7wflxi36j";
+      name = "libksane-20.12.1.tar.xz";
     };
   };
   libksieve = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/libksieve-20.08.3.tar.xz";
-      sha256 = "0bhpdqynazssql2iivvpb9l8npa441345gcn59fc0va6barl9sam";
-      name = "libksieve-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/libksieve-20.12.1.tar.xz";
+      sha256 = "07zgcsdl38fdy5pskp51rj5p7m3pz9szwidyg24mdyzb08k5xpdz";
+      name = "libksieve-20.12.1.tar.xz";
+    };
+  };
+  libktorrent = {
+    version = "20.12.1";
+    src = fetchurl {
+      url = "${mirror}/stable/release-service/20.12.1/src/libktorrent-20.12.1.tar.xz";
+      sha256 = "18mcrb064gizqb699cs9bvm918gg06wm6sq33pi87kwki5cniamv";
+      name = "libktorrent-20.12.1.tar.xz";
     };
   };
   lokalize = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/lokalize-20.08.3.tar.xz";
-      sha256 = "0iab8sd1qh7h0zna7lc3v43z6rcmxba9v4nynhl5miiac4r6ddr8";
-      name = "lokalize-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/lokalize-20.12.1.tar.xz";
+      sha256 = "0mxzk9s0yrjf8gj70dpl1wbvnrkzc3ncqab2bj3yx0xk05hagjlx";
+      name = "lokalize-20.12.1.tar.xz";
     };
   };
   lskat = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/lskat-20.08.3.tar.xz";
-      sha256 = "1rcmh592w5gd5b69czfxycypidj74y2d91cw92rccariadz9vnjz";
-      name = "lskat-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/lskat-20.12.1.tar.xz";
+      sha256 = "0p8n2cgfdxxjbx4jcpqf85h6k36nggj32h982yj3ig5dh1csym5d";
+      name = "lskat-20.12.1.tar.xz";
     };
   };
   mailcommon = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/mailcommon-20.08.3.tar.xz";
-      sha256 = "0bhs60cz4qcrqkmw2sm6cd2laq8lzj9vcwi8kjqkajsidh342wdv";
-      name = "mailcommon-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/mailcommon-20.12.1.tar.xz";
+      sha256 = "191d6l314njlj227qhz7qqmkjkz9zm7xnvm9rlfj302san90a338";
+      name = "mailcommon-20.12.1.tar.xz";
     };
   };
   mailimporter = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/mailimporter-20.08.3.tar.xz";
-      sha256 = "0w6yfgqx0adlkwx32vmb23kl6n50737jiabmad3pnhqw8rv41h80";
-      name = "mailimporter-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/mailimporter-20.12.1.tar.xz";
+      sha256 = "0jqdckpwlipc4zxxwnvysl44ri19h0hgr37dp36k99sxa3688jxc";
+      name = "mailimporter-20.12.1.tar.xz";
     };
   };
   marble = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/marble-20.08.3.tar.xz";
-      sha256 = "1xpxgy724z97k063fdk0l3mrl8i6nvnhj35b4987jqji76i92ffb";
-      name = "marble-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/marble-20.12.1.tar.xz";
+      sha256 = "0w398igxx7pmyd4bj65ppbxfc4fiz4hsjmcffya88dnxxz73djb5";
+      name = "marble-20.12.1.tar.xz";
+    };
+  };
+  markdownpart = {
+    version = "20.12.1";
+    src = fetchurl {
+      url = "${mirror}/stable/release-service/20.12.1/src/markdownpart-20.12.1.tar.xz";
+      sha256 = "1389hswbhcssl9ybb605h9i50fv6jajggldkiyfwqxbi7aysghwk";
+      name = "markdownpart-20.12.1.tar.xz";
     };
   };
   mbox-importer = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/mbox-importer-20.08.3.tar.xz";
-      sha256 = "1qh0f93df228cqlcqdwc7g6im3g0gkfmzir3ccsmb5iv0ygvjl6f";
-      name = "mbox-importer-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/mbox-importer-20.12.1.tar.xz";
+      sha256 = "1kgbiq933f93sb8m2nqmpp1x6qkqqcm2hcb3ihk5741dcpdmxx9n";
+      name = "mbox-importer-20.12.1.tar.xz";
     };
   };
   messagelib = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/messagelib-20.08.3.tar.xz";
-      sha256 = "16amni6qrq96h8jr313gc7k9frwr20d4pk9y2i61a1xm2w3xsqd4";
-      name = "messagelib-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/messagelib-20.12.1.tar.xz";
+      sha256 = "0yjh7s80ksyyi78vxjw4i5f1bmsfziphwm6flgnw18gfzj3pyyy7";
+      name = "messagelib-20.12.1.tar.xz";
     };
   };
   minuet = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/minuet-20.08.3.tar.xz";
-      sha256 = "1l45g7labnyz0pkwcfhjl5a3ypr7cy3bsshr06ab85364yjwazvi";
-      name = "minuet-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/minuet-20.12.1.tar.xz";
+      sha256 = "13jlz2m57x379zyv4x5zk2h6jc0qcz1zymkyrzs431bfmhyhdna2";
+      name = "minuet-20.12.1.tar.xz";
     };
   };
   okular = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/okular-20.08.3.tar.xz";
-      sha256 = "1q59ikcwsfgjc0202daingxv15iarnzba6szdncznzcafd6hhk9z";
-      name = "okular-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/okular-20.12.1.tar.xz";
+      sha256 = "0gpm7n47yijsjg4yba561j5pbvd98hgvr93w1kvzk851nb87m89c";
+      name = "okular-20.12.1.tar.xz";
     };
   };
   palapeli = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/palapeli-20.08.3.tar.xz";
-      sha256 = "107z3izfznrq7g5aqb5a7r8a4ibaia90g334d7wwvd7prm7hdgfp";
-      name = "palapeli-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/palapeli-20.12.1.tar.xz";
+      sha256 = "05d3f0snbg0iz78ggxk7hv1qn3blvpnpclhrhzcw1c5znr7al2xm";
+      name = "palapeli-20.12.1.tar.xz";
     };
   };
   parley = {
-    version = "20.08.3";
+    version = "20.12.1";
+    src = fetchurl {
+      url = "${mirror}/stable/release-service/20.12.1/src/parley-20.12.1.tar.xz";
+      sha256 = "00xc1dv3fj783brfqh3ggvrwv26m840k35vrx2izzq5lqx2g1p5a";
+      name = "parley-20.12.1.tar.xz";
+    };
+  };
+  partitionmanager = {
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/parley-20.08.3.tar.xz";
-      sha256 = "0wli09zkk5z50y1gzp5wc9k056xjaadlq97j09lf6lqyg6kb56ya";
-      name = "parley-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/partitionmanager-20.12.1.tar.xz";
+      sha256 = "1zypkah2smmqclni2r8571sd6qd5cbc0915r6gzf800yyccsfb65";
+      name = "partitionmanager-20.12.1.tar.xz";
     };
   };
   picmi = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/picmi-20.08.3.tar.xz";
-      sha256 = "1lkpazsi9dyb2y9q5bk56d80x7x035rf4hdap25i8qfj3ilykv3w";
-      name = "picmi-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/picmi-20.12.1.tar.xz";
+      sha256 = "0aiaq99sb57vvz5wjwdwm0jj456nj26qs4m6vwibb1f0f8js4i03";
+      name = "picmi-20.12.1.tar.xz";
     };
   };
   pimcommon = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/pimcommon-20.08.3.tar.xz";
-      sha256 = "0mpl7li2y5xjzk4hdb85d1x7cz15cicd91c1krlw74q7pbrjinlq";
-      name = "pimcommon-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/pimcommon-20.12.1.tar.xz";
+      sha256 = "1w5avmvssqnvxl31xrlh1xfns6q386w8ixlzfbzjkz5m95m4wr57";
+      name = "pimcommon-20.12.1.tar.xz";
     };
   };
   pim-data-exporter = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/pim-data-exporter-20.08.3.tar.xz";
-      sha256 = "0f08c16d3730fbdsbrwlr9w5c4l9xcmd1bdbv5m38h5r2ddlkvzr";
-      name = "pim-data-exporter-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/pim-data-exporter-20.12.1.tar.xz";
+      sha256 = "0k9lh3llkzx0n5x8q14hkbjjrkczm10kr246bzr1zz8lcv1za1jc";
+      name = "pim-data-exporter-20.12.1.tar.xz";
     };
   };
   pim-sieve-editor = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/pim-sieve-editor-20.08.3.tar.xz";
-      sha256 = "1falzw2a2v912fdzlyljsw9rcy1whrn9ys9ccrskkpvjn8y444x4";
-      name = "pim-sieve-editor-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/pim-sieve-editor-20.12.1.tar.xz";
+      sha256 = "0lifarfkpcpdvwmn61gmfd45k5i0dbf3sjrb0z1yaqsq7m158di1";
+      name = "pim-sieve-editor-20.12.1.tar.xz";
     };
   };
   poxml = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/poxml-20.08.3.tar.xz";
-      sha256 = "0gzg3vbsjrfhs1jg59g7b3gf3b4qajiffkb94njkz8v1f0fadlxp";
-      name = "poxml-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/poxml-20.12.1.tar.xz";
+      sha256 = "1smjvblx0jcv3afs2sr4qcmvhqd44iw24hvr9fppa3nxhrmjwmlk";
+      name = "poxml-20.12.1.tar.xz";
     };
   };
   print-manager = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/print-manager-20.08.3.tar.xz";
-      sha256 = "18nl9gpmzz4g9fqzyvbh858nxz23b2vyi505qacqvcrz13r0l78z";
-      name = "print-manager-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/print-manager-20.12.1.tar.xz";
+      sha256 = "1nx442bi41gd64i4j0nc8hx0wdv6ayvnp2wydn4l7sgsf0ms4x6y";
+      name = "print-manager-20.12.1.tar.xz";
     };
   };
   rocs = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/rocs-20.08.3.tar.xz";
-      sha256 = "0bd9x7kh2s4z79ff9byd3ly7k040c574zwrrgi8sq21yd531hxhj";
-      name = "rocs-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/rocs-20.12.1.tar.xz";
+      sha256 = "11gg2pmx21wfrw63qv7w8bjzcsxf86j5ripa2dwqfl3355wvi5mb";
+      name = "rocs-20.12.1.tar.xz";
     };
   };
   signon-kwallet-extension = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/signon-kwallet-extension-20.08.3.tar.xz";
-      sha256 = "1s0syq9aw2q34k1wxrpjqqi12xay1h0vc4s2d8l184hzzg8qq71i";
-      name = "signon-kwallet-extension-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/signon-kwallet-extension-20.12.1.tar.xz";
+      sha256 = "0m48a5mqmwrjl4wc4m30n5csl7fwp8g70pv0nib0v36lp0424xjb";
+      name = "signon-kwallet-extension-20.12.1.tar.xz";
     };
   };
   spectacle = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/spectacle-20.08.3.tar.xz";
-      sha256 = "16dwbsk9hik7gmz9s4x78hibz4x9d1fpx8x2i2giry5hwzknfcw4";
-      name = "spectacle-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/spectacle-20.12.1.tar.xz";
+      sha256 = "04jsm0ipfaccc80qxnhhbfc9fn009cxa7dys89iqfqza6ssvq51l";
+      name = "spectacle-20.12.1.tar.xz";
     };
   };
   step = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/step-20.08.3.tar.xz";
-      sha256 = "05ljsmgpra1az64yddy8idi46cv3afaf2v4n7d5j81a8vvlz7fj1";
-      name = "step-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/step-20.12.1.tar.xz";
+      sha256 = "05xj4zv4r82nnz5rzb0rmrps4dagnkw9f5lapil5mi1i1gwqfi2k";
+      name = "step-20.12.1.tar.xz";
     };
   };
   svgpart = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/svgpart-20.08.3.tar.xz";
-      sha256 = "0wwq576dblqmfknr0qs8kskw7nar6hah95fqicdn97xdy4nvzhc6";
-      name = "svgpart-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/svgpart-20.12.1.tar.xz";
+      sha256 = "09n0pf5saww8gppmd501i3dfr13yvn4r2rfbdz42zlvcpcpgxdry";
+      name = "svgpart-20.12.1.tar.xz";
     };
   };
   sweeper = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/sweeper-20.08.3.tar.xz";
-      sha256 = "0i4zvbljdzkj47vh8kizam7vsc9k7mvf8dqd2j6ixr4p0cqvw5a8";
-      name = "sweeper-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/sweeper-20.12.1.tar.xz";
+      sha256 = "06a9a9vbkfhmlcc927ysa0qnp5qqbl5iywhkgbvyz90nsdaw3jjl";
+      name = "sweeper-20.12.1.tar.xz";
     };
   };
   umbrello = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/umbrello-20.08.3.tar.xz";
-      sha256 = "1hh5gyggb4f3pjip8dfvx00hi83gj65c92jgzkzahj7p35mkplgl";
-      name = "umbrello-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/umbrello-20.12.1.tar.xz";
+      sha256 = "07fxxyw5zn1xj05kjr16rkgpj7ms9xvgpj4zlg428037gfa8g9vl";
+      name = "umbrello-20.12.1.tar.xz";
     };
   };
   yakuake = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/yakuake-20.08.3.tar.xz";
-      sha256 = "05zd2xm5vgrgz0bxbkh1mpiknlqzpzk5jb74lnd5x7wn5b80ngv0";
-      name = "yakuake-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/yakuake-20.12.1.tar.xz";
+      sha256 = "02pal9xx1wbpw7dimvs2aw1xnyjqlvbjlybkkfhf8x7c6m1r63aa";
+      name = "yakuake-20.12.1.tar.xz";
     };
   };
   zeroconf-ioslave = {
-    version = "20.08.3";
+    version = "20.12.1";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/20.08.3/src/zeroconf-ioslave-20.08.3.tar.xz";
-      sha256 = "1afga0liiy9n98kb0gmxzbb6ckhdgbrdc4ig1x9pwp98wr1fzmcg";
-      name = "zeroconf-ioslave-20.08.3.tar.xz";
+      url = "${mirror}/stable/release-service/20.12.1/src/zeroconf-ioslave-20.12.1.tar.xz";
+      sha256 = "1lx94qgrqhyva3nv7sgzy0blbdgx3b6m0g0i0psg74qckdh8glas";
+      name = "zeroconf-ioslave-20.12.1.tar.xz";
     };
   };
 }
diff --git a/pkgs/tools/security/1password-gui/default.nix b/pkgs/applications/misc/1password-gui/default.nix
index 8decd9781ac41..db5a5d00fc14d 100644
--- a/pkgs/tools/security/1password-gui/default.nix
+++ b/pkgs/applications/misc/1password-gui/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "1password";
-  version = "0.9.10-5";
+  version = "0.9.14-4";
 
   src = fetchurl {
     url = "https://onepassword.s3.amazonaws.com/linux/appimage/${pname}-${version}.AppImage";
-    hash = "sha256-eHQZjR3KUQ6SuacKwtV/5hAB0WxoJYulKU4LRn8hlmk=";
+    hash = "sha256-ZEpHeBeP2LpjABWD1eQxUORUKsRWvZ8WYa5IxSRLeXc=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/1password-gui/update.sh b/pkgs/applications/misc/1password-gui/update.sh
index 7703aba99847e..7703aba99847e 100755
--- a/pkgs/tools/security/1password-gui/update.sh
+++ b/pkgs/applications/misc/1password-gui/update.sh
diff --git a/pkgs/applications/misc/1password/default.nix b/pkgs/applications/misc/1password/default.nix
index 3728216da7ad9..4bfb6a65edc54 100644
--- a/pkgs/applications/misc/1password/default.nix
+++ b/pkgs/applications/misc/1password/default.nix
@@ -8,10 +8,12 @@ stdenv.mkDerivation rec {
       url = {
         "i686-linux" = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip";
         "x86_64-linux" = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
+        "aarch64-linux" = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_arm_v${version}.zip";
       }.${stdenv.hostPlatform.system};
       sha256 = {
         "i686-linux" = "teoxscan+EZ76Q0sfKT6nt1w/LSsmDoiN2oh+NGO/4A=";
         "x86_64-linux" = "nRK2GSwhQe5OgcAdR1fg0vUp3fzEkhwU/teIwsEEemw=";
+        "aarch64-linux" = "0932bspm1likky1n0rg15d01gspkm1fns2ma82qyb91yr6d18ddk";
       }.${stdenv.hostPlatform.system};
       stripRoot = false;
     } else fetchurl {
@@ -46,6 +48,6 @@ stdenv.mkDerivation rec {
     downloadPage = "https://app-updates.agilebits.com/product_history/CLI";
     maintainers  = with maintainers; [ joelburget marsam ];
     license      = licenses.unfree;
-    platforms    = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
+    platforms    = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "aarch64-linux" ];
   };
 }
diff --git a/pkgs/applications/misc/9menu/default.nix b/pkgs/applications/misc/9menu/default.nix
new file mode 100644
index 0000000000000..8e6b7b3bcbece
--- /dev/null
+++ b/pkgs/applications/misc/9menu/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, meson
+, ninja
+, libX11
+, libXext
+}:
+
+stdenv.mkDerivation rec {
+  pname = "9menu";
+  version = "unstable-2021-02-24";
+
+  src = fetchFromGitHub {
+    owner = "arnoldrobbins";
+    repo = pname;
+    rev = "00cbf99c48dc580ca28f81ed66c89a98b7a182c8";
+    sha256 = "arca8Gbr4ytiCk43cifmNj7SUrDgn1XB26zAhZrVDs0=";
+  };
+
+  nativeBuildInputs = [ pkg-config meson ninja ];
+  buildInputs = [ libX11 libXext ];
+
+  meta = with lib; {
+    homepage = "https://github.com/arnoldrobbins/9menu";
+    description = "Simple X11 menu program for running commands";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = libX11.meta.platforms;
+  };
+}
diff --git a/pkgs/applications/misc/ape/default.nix b/pkgs/applications/misc/ape/default.nix
index f16d6e1573323..c359d606a8592 100644
--- a/pkgs/applications/misc/ape/default.nix
+++ b/pkgs/applications/misc/ape/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
   inherit pname;
   version = "2019-08-10";
 
-  buildInputs = [ swiProlog makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ swiProlog ];
 
   src = fetchFromGitHub {
      owner = "Attempto";
diff --git a/pkgs/applications/misc/archivy/default.nix b/pkgs/applications/misc/archivy/default.nix
index 4fa3d5cf4199c..8646a6716a457 100644
--- a/pkgs/applications/misc/archivy/default.nix
+++ b/pkgs/applications/misc/archivy/default.nix
@@ -1,15 +1,15 @@
 { lib, python3, fetchPypi, appdirs, attrs, requests,
 beautifulsoup4, click-plugins, elasticsearch, flask_login, flask_wtf,
 pypandoc, python-dotenv, python-frontmatter, tinydb, validators,
-watchdog, wtforms }:
+watchdog, wtforms, html2text, flask-compress }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "archivy";
-  version = "0.9.3";
+  version = "1.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b6ff08a9ecd0a929663c36c73844ac5cb4dc847e69aae639a450c64d4320a506";
+    sha256 = "6f706b925175852d8101a4afe2304ab7ee7d56e9658538b9a8e49e925978b87e";
   };
 
   # Relax some dependencies
@@ -17,13 +17,11 @@ python3.pkgs.buildPythonApplication rec {
     substituteInPlace requirements.txt \
       --replace 'WTForms ==' 'WTForms >=' \
       --replace 'attrs == 20.2.0' 'attrs' \
-      --replace 'beautifulsoup4 ==' 'beautifulsoup4 >=' \
       --replace 'elasticsearch ==' 'elasticsearch >=' \
       --replace 'python_dotenv ==' 'python_dotenv >=' \
       --replace 'python_frontmatter == 0.5.0' 'python_frontmatter' \
       --replace 'requests ==' 'requests >=' \
       --replace 'validators ==' 'validators >=' \
-      --replace 'watchdog ==' 'watchdog >='
   '';
 
   propagatedBuildInputs = [
@@ -42,6 +40,8 @@ python3.pkgs.buildPythonApplication rec {
     validators
     watchdog
     wtforms
+    html2text
+    flask-compress
   ];
 
   # __init__.py attempts to mkdir in read-only file system
diff --git a/pkgs/applications/misc/audio/sox/0001-musl-rewind-pipe-workaround.patch b/pkgs/applications/misc/audio/sox/0001-musl-rewind-pipe-workaround.patch
new file mode 100644
index 0000000000000..6aacbcc65bcb1
--- /dev/null
+++ b/pkgs/applications/misc/audio/sox/0001-musl-rewind-pipe-workaround.patch
@@ -0,0 +1,24 @@
+From e7446c9bcb47674c9d0ee3b5bab129e9b86eb1c9 Mon Sep 17 00:00:00 2001
+From: Walter Franzini <walter.franzini@gmail.com>
+Date: Fri, 7 Jun 2019 17:57:11 +0200
+Subject: [PATCH] musl does not support rewind pipe, make it build anyway
+
+---
+ src/formats.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/formats.c b/src/formats.c
+index f3efe764..477bf451 100644
+--- a/src/formats.c
++++ b/src/formats.c
+@@ -424,7 +424,6 @@ static void UNUSED rewind_pipe(FILE * fp)
+   /* To fix this #error, either simply remove the #error line and live without
+    * file-type detection with pipes, or add support for your compiler in the
+    * lines above.  Test with cat monkey.wav | ./sox --info - */
+-  #error FIX NEEDED HERE
+   #define NO_REWIND_PIPE
+   (void)fp;
+ #endif
+-- 
+2.19.2
+
diff --git a/pkgs/applications/misc/audio/sox/default.nix b/pkgs/applications/misc/audio/sox/default.nix
index dd5dbde52868e..946150d2b8812 100644
--- a/pkgs/applications/misc/audio/sox/default.nix
+++ b/pkgs/applications/misc/audio/sox/default.nix
@@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
   # configure.ac uses pkg-config only to locate libopusfile
   nativeBuildInputs = optional enableOpusfile pkg-config;
 
+  patches = [ ./0001-musl-rewind-pipe-workaround.patch ];
+
   buildInputs =
     optional (enableAlsa && stdenv.isLinux) alsaLib ++
     optional enableLibao libao ++
diff --git a/pkgs/applications/misc/audio/wavesurfer/default.nix b/pkgs/applications/misc/audio/wavesurfer/default.nix
index 6e276d592b0ed..b7e738cfc125f 100644
--- a/pkgs/applications/misc/audio/wavesurfer/default.nix
+++ b/pkgs/applications/misc/audio/wavesurfer/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation {
     sha256 = "1yx9s1j47cq0v40cwq2gn7bdizpw46l95ba4zl9z4gg31mfvm807";
   };
 
-  buildInputs = [ snack tcl tk makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ snack tcl tk ];
 
   installPhase = ''
     mkdir -p $out/{bin,nix-support,share/wavesurfer/}
diff --git a/pkgs/applications/misc/authy/default.nix b/pkgs/applications/misc/authy/default.nix
new file mode 100644
index 0000000000000..65200d8517700
--- /dev/null
+++ b/pkgs/applications/misc/authy/default.nix
@@ -0,0 +1,110 @@
+{ alsaLib, at-spi2-atk, at-spi2-core, atk, autoPatchelfHook, cairo, cups
+, dbus, electron_9, expat, fetchurl, gdk-pixbuf, glib, gtk3, lib
+, libappindicator-gtk3, libdbusmenu-gtk3, libuuid, makeWrapper
+, nspr, nss, pango, squashfsTools, stdenv, systemd, xorg
+}:
+
+let
+  # Currently only works with electron 9
+  electron = electron_9;
+in
+
+stdenv.mkDerivation rec {
+  pname = "authy";
+  version = "1.8.3";
+  rev = "5";
+
+  buildInputs = [
+    alsaLib
+    at-spi2-atk
+    at-spi2-core
+    atk
+    cairo
+    cups
+    dbus
+    expat
+    gdk-pixbuf
+    glib
+    gtk3
+    libappindicator-gtk3
+    libdbusmenu-gtk3
+    libuuid
+    nspr
+    nss
+    pango
+    stdenv.cc.cc
+    systemd
+    xorg.libX11
+    xorg.libXScrnSaver
+    xorg.libXcomposite
+    xorg.libXcursor
+    xorg.libXdamage
+    xorg.libXext
+    xorg.libXfixes
+    xorg.libXi
+    xorg.libXrandr
+    xorg.libXrender
+    xorg.libXtst
+    xorg.libxcb
+  ];
+
+  src = fetchurl {
+    url = "https://api.snapcraft.io/api/v1/snaps/download/H8ZpNgIoPyvmkgxOWw5MSzsXK1wRZiHn_${rev}.snap";
+    sha256 = "1yfvkmy34mc1dan9am11yka88jv7a4dslsszy4kcc8vap4cjmgpn";
+  };
+
+  nativeBuildInputs = [ autoPatchelfHook makeWrapper squashfsTools ];
+
+  unpackPhase = ''
+    runHook preUnpack
+    unsquashfs "$src"
+    cd squashfs-root
+    if ! grep -q '${version}' meta/snap.yaml; then
+      echo "Package version differs from version found in snap metadata:"
+      grep 'version: ' meta/snap.yaml
+      echo "While the nix package specifies: ${version}."
+      echo "You probably chose the wrong revision or forgot to update the nix version."
+      exit 1
+    fi
+    runHook postUnpack
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/lib/
+
+    cp -r ./* $out/
+    rm -R ./*
+
+    # The snap package has the `ffmpeg.so` file which is copied over with other .so files
+    mv $out/*.so $out/lib/
+
+    # Replace icon name in Desktop file
+    sed -i 's|''${SNAP}/meta/gui/icon.png|authy|g' "$out/meta/gui/authy.desktop"
+
+    # Move the desktop file, icon, binary to their appropriate locations
+    mkdir -p $out/bin $out/share/applications $out/share/pixmaps/apps
+    cp $out/meta/gui/authy.desktop $out/share/applications/
+    cp $out/meta/gui/icon.png $out/share/pixmaps/authy.png
+    cp $out/${pname} $out/bin/${pname}
+
+    # Cleanup
+    rm -r $out/{data-dir,gnome-platform,meta,scripts,usr,*.sh,*.so}
+
+    runHook postInstall
+  '';
+
+  postFixup = ''
+    makeWrapper ${electron}/bin/electron $out/bin/${pname} \
+      --add-flags $out/resources/app.asar
+  '';
+
+  meta = with lib; {
+    homepage = "https://www.authy.com";
+    description = "Twilio Authy two factor authentication desktop application";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ iammrinal0 ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/misc/avrdudess/default.nix b/pkgs/applications/misc/avrdudess/default.nix
index 696d69c701c9c..29469d9fff915 100644
--- a/pkgs/applications/misc/avrdudess/default.nix
+++ b/pkgs/applications/misc/avrdudess/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, runtimeShell, fetchurl, unzip, mono, avrdude, gtk2, xdg_utils }:
+{ lib, stdenv, runtimeShell, fetchurl, unzip, mono, avrdude, gtk2, xdg-utils }:
 
 stdenv.mkDerivation {
   name = "avrdudess-2.2.20140102";
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
     export LD_LIBRARY_PATH="${lib.makeLibraryPath [gtk2 mono]}"
     # We need PATH from user env for xdg-open to find its tools, which
     # typically depend on the currently running desktop environment.
-    export PATH="${lib.makeBinPath [ avrdude xdg_utils ]}:\$PATH"
+    export PATH="${lib.makeBinPath [ avrdude xdg-utils ]}:\$PATH"
 
     # avrdudess must have its resource files in its current working directory
     cd $out/avrdudess && exec ${mono}/bin/mono "$out/avrdudess/avrdudess.exe" "\$@"
diff --git a/pkgs/applications/misc/bashSnippets/default.nix b/pkgs/applications/misc/bashSnippets/default.nix
index 4a023849f3903..d50f363798816 100644
--- a/pkgs/applications/misc/bashSnippets/default.nix
+++ b/pkgs/applications/misc/bashSnippets/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
     sha256 = "044nxgd3ic2qr6hgq5nymn3dyf5i4s8mv5z4az6jvwlrjnvbg8cp";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   patchPhase = ''
     patchShebangs install.sh
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 9921fdc7a797c..039dfe59ff709 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -7,6 +7,7 @@
 , jackaudioSupport ? false, libjack2
 , cudaSupport ? config.cudaSupport or false, cudatoolkit
 , colladaSupport ? true, opencollada
+, spaceNavSupport ? false, libspnav
 , makeWrapper
 , pugixml, llvmPackages, SDL, Cocoa, CoreGraphics, ForceFeedback, OpenAL, OpenGL
 , embree, gmp
@@ -56,7 +57,8 @@ stdenv.mkDerivation rec {
     ])
     ++ optional jackaudioSupport libjack2
     ++ optional cudaSupport cudatoolkit
-    ++ optional colladaSupport opencollada;
+    ++ optional colladaSupport opencollada
+    ++ optional spaceNavSupport libspnav;
 
   postPatch = ''
     # allow usage of dynamically linked embree
diff --git a/pkgs/applications/misc/caerbannog/default.nix b/pkgs/applications/misc/caerbannog/default.nix
new file mode 100644
index 0000000000000..451980352c236
--- /dev/null
+++ b/pkgs/applications/misc/caerbannog/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, fetchgit
+, python3
+, glib
+, gobject-introspection
+, meson
+, ninja
+, pkg-config
+, wrapGAppsHook
+, atk
+, libhandy
+, libnotify
+, pango
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "caerbannog";
+  version = "0.3";
+  format = "other";
+
+  src = fetchgit {
+    url = "https://git.sr.ht/~craftyguy/caerbannog";
+    rev = version;
+    sha256 = "0wqkb9zcllxm3fdsr5lphknkzy8r1cr80f84q200hbi99qql1dxh";
+  };
+
+  nativeBuildInputs = [
+    glib
+    gobject-introspection
+    meson
+    ninja
+    pkg-config
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    atk
+    gobject-introspection
+    libhandy
+    libnotify
+    pango
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    anytree
+    fuzzyfinder
+    gpgme
+    pygobject3
+  ];
+
+  meta = with lib; {
+    description = "Mobile-friendly Gtk frontend for password-store";
+    homepage = "https://sr.ht/~craftyguy/caerbannog/";
+    changelog = "https://git.sr.ht/~craftyguy/caerbannog/refs/${version}";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/applications/misc/calcurse/default.nix b/pkgs/applications/misc/calcurse/default.nix
index ba8edb2baa50f..8a83c593986ad 100644
--- a/pkgs/applications/misc/calcurse/default.nix
+++ b/pkgs/applications/misc/calcurse/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     patchShebangs .
-    buildPythonPath ${python3Packages.httplib2}
+    buildPythonPath "${python3Packages.httplib2} ${python3Packages.oauth2client}"
     patchPythonScript $out/bin/calcurse-caldav
   '';
 
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 47d2ee52f8130..1471af254f14f 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -20,28 +20,26 @@
 , python3Packages
 , libusb1
 , libmtp
-, xdg_utils
-, makeDesktopItem
+, xdg-utils
 , removeReferencesTo
 }:
 
 mkDerivation rec {
   pname = "calibre";
-  version = "5.10.1";
+  version = "5.11.0";
 
   src = fetchurl {
     url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
-    sha256 = "18pnqxdyvgmw12yarxhvsgs4jk6c5hp05gf8khybcd78330954v9";
+    sha256 = "sha256-PI+KIMnslhoagv9U6Mcmo9Onfu8clVqASNlDir8JzUw=";
   };
 
   patches = [
-    # Patches from Debian that:
-    # - disable plugin installation (very insecure)
+    # Plugin installation (very insecure) disabled (from Debian)
     ./disable_plugins.patch
-    # - switches the version update from enabled to disabled by default
+    # Automatic version update disabled by default (from Debian)
     ./no_updates_dialog.patch
-    # the unrar patch is not from debian
-  ] ++ lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch;
+  ]
+  ++ lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch;
 
   escaped_pyqt5_dir = builtins.replaceStrings ["/"] ["\\/"] (toString python3Packages.pyqt5);
   platform_tag =
@@ -59,8 +57,7 @@ mkDerivation rec {
       setup/build.py
 
     # Remove unneeded files and libs
-    rm -rf resources/calibre-portable.* \
-           src/odf
+    rm -rf src/odf resources/calibre-portable.*
   '';
 
   dontUseQmakeConfigure = true;
@@ -84,7 +81,7 @@ mkDerivation rec {
     poppler_utils
     qtbase
     sqlite
-    xdg_utils
+    xdg-utils
   ] ++ (
     with python3Packages; [
       apsw
@@ -173,11 +170,16 @@ mkDerivation rec {
   disallowedReferences = [ podofo.dev ];
 
   meta = with lib; {
-    description = "Comprehensive e-book software";
     homepage = "https://calibre-ebook.com";
-    license = with licenses; if unrarSupport then unfreeRedistributable else gpl3;
+    description = "Comprehensive e-book software";
+    longDescription = ''
+      calibre is a powerful and easy to use e-book manager. Users say it’s
+      outstanding and a must-have. It’ll allow you to do nearly everything and
+      it takes things a step beyond normal e-book software. It’s also completely
+      free and open source and great for both casual users and computer experts.
+    '';
+    license = with licenses; if unrarSupport then unfreeRedistributable else gpl3Plus;
     maintainers = with maintainers; [ domenkozar pSub AndersonTorres ];
     platforms = platforms.linux;
-    inherit version;
   };
 }
diff --git a/pkgs/applications/misc/cataract/build.nix b/pkgs/applications/misc/cataract/build.nix
index f894dc91bd8a8..0adab84830d2d 100644
--- a/pkgs/applications/misc/cataract/build.nix
+++ b/pkgs/applications/misc/cataract/build.nix
@@ -5,7 +5,7 @@
 , pkg-config
 , libxml2
 , exiv2
-, imagemagick
+, imagemagick6
 , version
 , sha256
 , rev }:
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ glib libxml2 exiv2 imagemagick ];
+  buildInputs = [ glib libxml2 exiv2 imagemagick6 ];
 
   prePatch = ''
     sed -i 's|#include <exiv2/exif.hpp>|#include <exiv2/exiv2.hpp>|' src/jpeg-utils.cpp
diff --git a/pkgs/applications/misc/charm/default.nix b/pkgs/applications/misc/charm/default.nix
index becbbda8acfff..97e8227e6c965 100644
--- a/pkgs/applications/misc/charm/default.nix
+++ b/pkgs/applications/misc/charm/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "charm";
-  version = "0.8.5";
+  version = "0.8.6";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = "charm";
     rev = "v${version}";
-    sha256 = "0cgl5dpyzc4lciij9q9yghppiclrdnrl1jsbizfgh2an3s18ab8k";
+    sha256 = "0mjq0yy60czsw40h5n515qmi6bbvhrddll4sn5r2q1nf9pvviqr6";
   };
 
   vendorSha256 = "1spzawnk2fslc1m14dp8lx4vpnxwz7xgm1hxbpz4bqlqz1hfd6ax";
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags=" "-X=main.Version=${version}" ];
+  buildFlagsArray = [ "-ldflags= -s -w -X=main.Version=${version}" ];
 
   meta = with lib; {
     description = "Manage your charm account on the CLI";
diff --git a/pkgs/applications/misc/cli-visualizer/default.nix b/pkgs/applications/misc/cli-visualizer/default.nix
index 74dd82a3c6e54..524f898553701 100644
--- a/pkgs/applications/misc/cli-visualizer/default.nix
+++ b/pkgs/applications/misc/cli-visualizer/default.nix
@@ -15,9 +15,9 @@ stdenv.mkDerivation rec {
     sed '1i#include <cmath>' -i src/Transformer/SpectrumCircleTransformer.cpp
   '';
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake makeWrapper ];
 
-  buildInputs = [ fftw ncurses5 libpulseaudio makeWrapper ];
+  buildInputs = [ fftw ncurses5 libpulseaudio ];
 
   buildFlags = [ "ENABLE_PULSE=1" ];
 
diff --git a/pkgs/applications/misc/clight/clightd.nix b/pkgs/applications/misc/clight/clightd.nix
index 51c61ca28e7a9..547e7e0b6da9f 100644
--- a/pkgs/applications/misc/clight/clightd.nix
+++ b/pkgs/applications/misc/clight/clightd.nix
@@ -1,23 +1,31 @@
-{ lib, stdenv, fetchFromGitHub
+{ lib, stdenv, fetchFromGitHub, fetchpatch
 , dbus, cmake, pkg-config
-, glib, udev, polkit, libmodule
+, glib, udev, polkit, libusb1, libjpeg, libmodule
 , pcre, libXdmcp, util-linux, libpthreadstubs
 , enableDdc ? true, ddcutil
 , enableDpms ? true, libXext
-, enableGamma ? true, libXrandr
+, enableGamma ? true, libdrm, libXrandr, wayland
 , enableScreen ? true }:
 
 stdenv.mkDerivation rec {
   pname = "clightd";
-  version = "4.2";
+  version = "5.1";
 
   src = fetchFromGitHub {
     owner = "FedeDP";
     repo = "Clightd";
     rev = version;
-    sha256 = "07z1m1x7nnczd51sg7m2lb6rb2c37c8glsnbrlq44hx176sj9cmj";
+    sha256 = "sha256-BEGum0t+FrCTAEQwTsWeYpoIqimTAz+Bv/ZQPQ3fePY=";
   };
 
+  patches = [
+    # Not needed by next version bump
+    (fetchpatch {
+      url = "https://github.com/FedeDP/Clightd/commit/a52a2888e3798c572dad359a017cb0d40e7c5fb7.patch";
+      sha256 = "sha256-nUzNBia1EvBQxinAfjyKbuldBoHLY1hfMaxgG2lKQWg=";
+    })
+  ];
+
   # dbus-1.pc has datadir=/etc
   SYSTEM_BUS_DIR = "${placeholder "out"}/share/dbus-1/system-services";
   # systemd.pc has prefix=${systemd.out}
@@ -48,19 +56,22 @@ stdenv.mkDerivation rec {
     glib
     udev
     polkit
+    libusb1
+    libjpeg
     libmodule
 
     pcre
     libXdmcp
     util-linux
     libpthreadstubs
-  ] ++ optional enableDdc ddcutil
-    ++ optional enableDpms libXext
-    ++ optional enableGamma libXrandr;
+  ] ++ optionals enableDdc [ ddcutil ]
+    ++ optionals enableDpms [ libXext ]
+    ++ optionals enableGamma [ libXrandr ]
+    ++ optionals (enableDpms || enableGamma || enableScreen) [ libdrm wayland ];
 
   postInstall = ''
     mkdir -p $out/bin
-    ln -svT $out/lib/clightd/clightd $out/bin/clightd
+    ln -svT $out/libexec/clightd $out/bin/clightd
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/clight/default.nix b/pkgs/applications/misc/clight/default.nix
index 6ef2e886a1900..e502cd6ccf3b9 100644
--- a/pkgs/applications/misc/clight/default.nix
+++ b/pkgs/applications/misc/clight/default.nix
@@ -6,24 +6,21 @@
 
 stdenv.mkDerivation rec {
   pname = "clight";
-  version = "4.1";
+  version = "4.2";
 
   src = fetchFromGitHub {
     owner = "FedeDP";
     repo = "Clight";
     rev = version;
-    sha256 = "1j7va217g1k8lxl3lly13js8myf0shjc6knalq8q6lakc6j1mkxx";
+    sha256 = "sha256-NmfnE6ZWgG9erBmrFFIhutnB1t2Ix/6jo+EeXYVtehg=";
   };
 
-  # bash-completion.pc completionsdir=${bash-completion.out}
-  COMPLETIONS_DIR = "${placeholder "out"}/share/bash-completions/completions";
   # dbus-1.pc has datadir=/etc
   SESSION_BUS_DIR = "${placeholder "out"}/share/dbus-1/services";
 
   postPatch = ''
     sed -i "s@/usr@$out@" CMakeLists.txt
     sed -i "s@/etc@$out\0@" CMakeLists.txt
-    sed -i "s@pkg_get_variable(COMPLETIONS_DIR.*@set(COMPLETIONS_DIR $COMPLETIONS_DIR)@" CMakeLists.txt
     sed -i "s@pkg_get_variable(SESSION_BUS_DIR.*@set(SESSION_BUS_DIR $SESSION_BUS_DIR)@" CMakeLists.txt
   '';
 
@@ -46,6 +43,12 @@ stdenv.mkDerivation rec {
   ] ++ optional withGeoclue geoclue2
     ++ optional withUpower upower;
 
+  cmakeFlags = [
+    # bash-completion.pc completionsdir=${bash-completion.out}
+    "-DBASH_COMPLETIONS_DIR=${placeholder "out"}/share/bash-completions/completions"
+    "-DZSH_COMPLETIONS_DIR=${placeholder "out"}/share/zsh/site-functions"
+  ];
+
   meta = with lib; {
     description = "A C daemon that turns your webcam into a light sensor";
     homepage = "https://github.com/FedeDP/Clight";
diff --git a/pkgs/applications/misc/clipcat/default.nix b/pkgs/applications/misc/clipcat/default.nix
index 80e4982fc8a0a..497e5616e8050 100644
--- a/pkgs/applications/misc/clipcat/default.nix
+++ b/pkgs/applications/misc/clipcat/default.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "clipcat";
-  version = "0.4.19";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "xrelkd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1lhnm521qqy3aw2iyk1dv4yc5ms0c5x5iipx96bz6v6y0cnmf4kw";
+    sha256 = "0rxl3ksjinw07q3p2vjqg80k3c6wx2q7pzpf2344zyfb4gkqzx1c";
   };
 
-  cargoSha256 = "04iflyvz8g53z658rkxafiyi2m9kzxwl3p1xgkjq7vacmz5jk15c";
+  cargoSha256 = "1ffgvhkdj8wkhlgi0cj0njdm9ycxq2qda4b5qn8bmaygzr2zkwpd";
 
   LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
 
@@ -38,26 +38,15 @@ rustPlatform.buildRustPackage rec {
   cargoBuildFlags = [ "--features=all" ];
 
   postInstall = ''
-    installShellCompletion --bash --name clipcatd             completions/bash-completion/completions/clipcatd
-    installShellCompletion --fish --name clipcatd.fish        completions/fish/completions/clipcatd.fish
-    installShellCompletion --zsh  --name _clipcatd            completions/zsh/site-functions/_clipcatd
-
-    installShellCompletion --bash --name clipcatctl           completions/bash-completion/completions/clipcatctl
-    installShellCompletion --fish --name clipcatctl.fish      completions/fish/completions/clipcatctl.fish
-    installShellCompletion --zsh  --name _clipcatctl          completions/zsh/site-functions/_clipcatctl
-
-    installShellCompletion --bash --name clipcat-menu         completions/bash-completion/completions/clipcat-menu
-    installShellCompletion --fish --name clipcat-menu.fish    completions/fish/completions/clipcat-menu.fish
-    installShellCompletion --zsh  --name _clipcat-menu        completions/zsh/site-functions/_clipcat-menu
-
-    installShellCompletion --bash --name clipcat-notify       completions/bash-completion/completions/clipcat-notify
-    installShellCompletion --fish --name clipcat-notify.fish  completions/fish/completions/clipcat-notify.fish
-    installShellCompletion --zsh  --name _clipcat-notify      completions/zsh/site-functions/_clipcat-notify
+    installShellCompletion --bash completions/bash-completion/completions/*
+    installShellCompletion --fish completions/fish/completions/*
+    installShellCompletion --zsh  completions/zsh/site-functions/*
   '';
 
   meta = with lib; {
     description = "Clipboard Manager written in Rust Programming Language";
-    license = licenses.gpl3;
+    homepage = "https://github.com/xrelkd/clipcat";
+    license = licenses.gpl3Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ xrelkd ];
   };
diff --git a/pkgs/applications/misc/clipmenu/default.nix b/pkgs/applications/misc/clipmenu/default.nix
index e3a0046205e04..c47dd972ccfd6 100644
--- a/pkgs/applications/misc/clipmenu/default.nix
+++ b/pkgs/applications/misc/clipmenu/default.nix
@@ -27,8 +27,7 @@ stdenv.mkDerivation rec {
   '';
 
   makeFlags = [ "PREFIX=$(out)" ];
-  buildInputs = [ makeWrapper ];
-  nativeBuildInputs = [ xsel clipnotify ];
+  nativeBuildInputs = [ makeWrapper xsel clipnotify ];
 
   postFixup = ''
     sed -i "$out/bin/clipctl" -e 's,clipmenud\$,\.clipmenud-wrapped\$,'
diff --git a/pkgs/applications/misc/cointop/default.nix b/pkgs/applications/misc/cointop/default.nix
index e57ffd3527177..ffdcf021b024b 100644
--- a/pkgs/applications/misc/cointop/default.nix
+++ b/pkgs/applications/misc/cointop/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "cointop";
-  version = "1.5.5";
+  version = "1.6.2";
 
   src = fetchFromGitHub {
     owner = "miguelmota";
     repo = pname;
     rev = "v${version}";
-    sha256 = "051jxa07c58ym1w0mwckwxh60v28gqcpqw5nv8sm5wxil1crcayr";
+    sha256 = "sha256-4Ae8lzaec7JeYfmeLleatUS/xQUjea7O4XJ9DOgJIMs=";
   };
 
   goPackagePath = "github.com/miguelmota/cointop";
diff --git a/pkgs/applications/misc/coolreader/default.nix b/pkgs/applications/misc/coolreader/default.nix
index d3f3eb6fcf5a8..5b310373eeef1 100644
--- a/pkgs/applications/misc/coolreader/default.nix
+++ b/pkgs/applications/misc/coolreader/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "coolreader";
-  version = "3.2.49";
+  version = "3.2.51";
 
   src = fetchFromGitHub {
     owner = "buggins";
     repo = pname;
     rev = "cr${version}";
-    sha256 = "10i3w4zjlilz3smjzbwm50d91ns3w0wlgmsf38fn2lv76zczv8ia";
+    sha256 = "sha256-rRWZHkuSNhAHwxKjpRgcNXO9vs/MDAgEuhRs8mRPjP4=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/applications/misc/crow-translate/default.nix b/pkgs/applications/misc/crow-translate/default.nix
index 8cb87274c1dc3..3db4872c0e047 100644
--- a/pkgs/applications/misc/crow-translate/default.nix
+++ b/pkgs/applications/misc/crow-translate/default.nix
@@ -1,6 +1,6 @@
 { lib
-
 , mkDerivation
+, nix-update-script
 , fetchFromGitHub
 , substituteAll
 , cmake
@@ -37,22 +37,28 @@ let
     rev = "1.4.1";
     sha256 = "1c6a8mdxms5vh8l7shi2kqdhafbzm50pbz6g1hhgg6qslla0vfn0";
   };
+  circleflags = fetchFromGitHub {
+    owner = "HatScripts";
+    repo = "circle-flags";
+    rev = "v2.0.0";
+    sha256 = "1xz5b6nhcxxzalcgwnw36npap71i70s50g6b63avjgjkwz1ys5j4";
+  };
 in
 mkDerivation rec {
   pname = "crow-translate";
-  version = "2.6.2";
+  version = "2.7.1";
 
   src = fetchFromGitHub {
     owner = "crow-translate";
     repo = "crow-translate";
     rev = version;
-    sha256 = "1jgpqynmxmh6mrknpk5fh96lbdg799axp4cyn5rvalg3sdxajmqc";
+    sha256 = "sha256-YOsp/noGsYthre18fMyBj9s+YFzdHJfIJzJSm43wiZ0=";
   };
 
   patches = [
     (substituteAll {
       src = ./dont-fetch-external-libs.patch;
-      inherit singleapplication qtaskbarcontrol qhotkey qonlinetranslator;
+      inherit singleapplication qtaskbarcontrol qhotkey qonlinetranslator circleflags;
     })
     (substituteAll {
       # See https://github.com/NixOS/nixpkgs/issues/86054
@@ -61,10 +67,23 @@ mkDerivation rec {
     })
   ];
 
+  postPatch = "cp -r ${circleflags}/flags/* data/icons";
+
   nativeBuildInputs = [ cmake extra-cmake-modules qttools ];
 
   buildInputs = [ leptonica tesseract4 qtmultimedia qtx11extras ];
 
+  postInstall = ''
+    substituteInPlace $out/share/applications/io.crow_translate.CrowTranslate.desktop \
+      --replace "Exec=qdbus" "Exec=${lib.getBin qttools}/bin/qdbus"
+  '';
+
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = pname;
+    };
+  };
+
   meta = with lib; {
     description = "A simple and lightweight translator that allows to translate and speak text using Google, Yandex and Bing";
     homepage = "https://crow-translate.github.io/";
diff --git a/pkgs/applications/misc/crow-translate/dont-fetch-external-libs.patch b/pkgs/applications/misc/crow-translate/dont-fetch-external-libs.patch
index b5f8d4606aa07..eff303a852c52 100644
--- a/pkgs/applications/misc/crow-translate/dont-fetch-external-libs.patch
+++ b/pkgs/applications/misc/crow-translate/dont-fetch-external-libs.patch
@@ -1,8 +1,26 @@
+diff --git i/CMakeLists.txt w/CMakeLists.txt
+index 2576203..26162a0 100644
+--- i/CMakeLists.txt
++++ w/CMakeLists.txt
+@@ -91,12 +91,11 @@ qt5_add_translation(QM_FILES
+ )
+ 
+ configure_file(src/cmake.h.in cmake.h)
+-configure_file(data/icons/flags.qrc ${CircleFlags_SOURCE_DIR}/flags/flags.qrc COPYONLY)
+ 
+ add_executable(${PROJECT_NAME}
+     ${QM_FILES}
+     data/icons/engines/engines.qrc
+-    ${CircleFlags_SOURCE_DIR}/flags/flags.qrc
++    data/icons/flags.qrc
+     src/addlanguagedialog.cpp
+     src/addlanguagedialog.ui
+     src/cli.cpp
 diff --git i/cmake/ExternalLibraries.cmake w/cmake/ExternalLibraries.cmake
-index d8c88ae..47a12c0 100644
+index 21eba0a..b613d3e 100644
 --- i/cmake/ExternalLibraries.cmake
 +++ w/cmake/ExternalLibraries.cmake
-@@ -2,24 +2,20 @@ include(FetchContent)
+@@ -2,29 +2,24 @@ include(FetchContent)
  
  set(QAPPLICATION_CLASS QApplication)
  FetchContent_Declare(SingleApplication
@@ -30,4 +48,10 @@ index d8c88ae..47a12c0 100644
 +    SOURCE_DIR @qonlinetranslator@
  )
  
- FetchContent_MakeAvailable(SingleApplication QTaskbarControl QHotkey QOnlineTranslator)
+ FetchContent_Declare(CircleFlags
+-    GIT_REPOSITORY https://github.com/HatScripts/circle-flags
+-    GIT_TAG v2.0.0
++    SOURCE_DIR @circleflags@
+ )
+ 
+ FetchContent_MakeAvailable(SingleApplication QTaskbarControl QHotkey QOnlineTranslator CircleFlags)
diff --git a/pkgs/applications/misc/crow-translate/fix-qttranslations-path.patch b/pkgs/applications/misc/crow-translate/fix-qttranslations-path.patch
index 816b6c51886aa..9e0f587ec7a4e 100644
--- a/pkgs/applications/misc/crow-translate/fix-qttranslations-path.patch
+++ b/pkgs/applications/misc/crow-translate/fix-qttranslations-path.patch
@@ -1,13 +1,13 @@
-diff --git i/src/settings/appsettings.cpp w/src/settings/appsettings.cpp
-index 7be4573..e65994e 100644
---- i/src/settings/appsettings.cpp
-+++ w/src/settings/appsettings.cpp
-@@ -82,7 +82,7 @@ void AppSettings::applyLanguage(QLocale::Language lang)
-         QLocale::setDefault(QLocale(lang));
+diff --git c/src/settings/appsettings.cpp i/src/settings/appsettings.cpp
+index ff99f64..fa929ae 100644
+--- c/src/settings/appsettings.cpp
++++ i/src/settings/appsettings.cpp
+@@ -80,7 +80,7 @@ void AppSettings::applyLanguage(QLocale::Language lang)
+     QLocale::setDefault(locale);
  
-     s_appTranslator.load(QLocale(), QStringLiteral(PROJECT_NAME), QStringLiteral("_"), QStandardPaths::locate(QStandardPaths::AppDataLocation, QStringLiteral("translations"), QStandardPaths::LocateDirectory));
--    s_qtTranslator.load(QLocale(), QStringLiteral("qt"), QStringLiteral("_"), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
-+    s_qtTranslator.load(QLocale(), QStringLiteral("qt"), QStringLiteral("_"), QLatin1String("@qttranslations@/translations"));
+     s_appTranslator.load(locale, QStringLiteral(PROJECT_NAME), QStringLiteral("_"), QStandardPaths::locate(QStandardPaths::AppDataLocation, QStringLiteral("translations"), QStandardPaths::LocateDirectory));
+-    s_qtTranslator.load(locale, QStringLiteral("qtbase"), QStringLiteral("_"), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
++    s_qtTranslator.load(locale, QStringLiteral("qtbase"), QStringLiteral("_"), QLatin1String("@qttranslations@/translations"));
  }
  
  QLocale::Language AppSettings::defaultLanguage()
diff --git a/pkgs/applications/misc/dasel/default.nix b/pkgs/applications/misc/dasel/default.nix
index 2074231137572..aa19ce2c53e67 100644
--- a/pkgs/applications/misc/dasel/default.nix
+++ b/pkgs/applications/misc/dasel/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "dasel";
-  version = "1.12.2";
+  version = "1.13.2";
 
   src = fetchFromGitHub {
     owner = "TomWright";
     repo = pname;
     rev = "v${version}";
-    sha256 = "/WB/SsOih0N5P4cUAD6zkCajplzZ/Jez0H80+CG08rc=";
+    sha256 = "sha256-++8vTK0OR44Mcdh5g2bJEq7aO+fWySKw0XlSz2KJNio=";
   };
 
-  vendorSha256 = "BdX4DO77mIf/+aBdkNVFUzClsIml1UMcgvikDbbdgcY=";
+  vendorSha256 = "sha256-BdX4DO77mIf/+aBdkNVFUzClsIml1UMcgvikDbbdgcY=";
 
   buildFlagsArray = ''
     -ldflags=-s -w -X github.com/tomwright/dasel/internal.Version=${version}
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index 05d282aaf0643..68c9019f6edd6 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -1,14 +1,20 @@
-{ lib, stdenv, fetchurl, makeDesktopItem, makeWrapper
-, fontconfig, freetype, glib, gtk3
-, jdk, libX11, libXrender, libXtst, zlib }:
-
-# The build process is almost like eclipse's.
-# See `pkgs/applications/editors/eclipse/*.nix`
-
-stdenv.mkDerivation rec {
-  pname = "dbeaver-ce";
-  version = "7.3.2";
-
+{ lib
+, stdenv
+, fetchFromGitHub
+, makeDesktopItem
+, makeWrapper
+, fontconfig
+, freetype
+, glib
+, gtk3
+, jdk
+, libX11
+, libXrender
+, libXtst
+, zlib
+, maven
+}:
+let
   desktopItem = makeDesktopItem {
     name = "dbeaver";
     exec = "dbeaver";
@@ -18,44 +24,120 @@ stdenv.mkDerivation rec {
     genericName = "SQL Integrated Development Environment";
     categories = "Development;";
   };
+in
+stdenv.mkDerivation rec {
+  pname = "dbeaver-ce";
+  version = "21.0.0"; # When updating also update fetchedMavenDeps.sha256
+
+  src = fetchFromGitHub {
+    owner = "dbeaver";
+    repo = "dbeaver";
+    rev = version;
+    sha256 = "sha256-it0EcPD7TXSknjVkGv22Nq1D4J32OEncQDy4w9CIPNk=";
+  };
+
+  fetchedMavenDeps = stdenv.mkDerivation {
+    name = "dbeaver-${version}-maven-deps";
+    inherit src;
+
+    buildInputs = [
+      maven
+    ];
+
+    buildPhase = "mvn package -Dmaven.repo.local=$out/.m2 -P desktop,all-platforms";
+
+    # keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside
+    installPhase = ''
+      find $out -type f \
+        -name \*.lastUpdated -or \
+        -name resolver-status.properties -or \
+        -name _remote.repositories \
+        -delete
+    '';
+
+    # don't do any fixup
+    dontFixup = true;
+    outputHashAlgo = "sha256";
+    outputHashMode = "recursive";
+    outputHash = "sha256-xKlFFQXd2U513KZKQa7ttSFNX2gxVr9hNsvyaoN/rEE=";
+  };
 
   buildInputs = [
-    fontconfig freetype glib gtk3
-    jdk libX11 libXrender libXtst zlib
+    fontconfig
+    freetype
+    glib
+    gtk3
+    jdk
+    libX11
+    libXrender
+    libXtst
+    makeWrapper
+    zlib
   ];
 
   nativeBuildInputs = [
-    makeWrapper
+    maven
   ];
 
-  src = fetchurl {
-    url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "sha256-4BVXcR8/E4uIrPQJe9KU9577j4XLTxJWTO8g0vCHWts=";
-  };
+  buildPhase = ''
+    runHook preBuild
+
+    mvn package --offline -Dmaven.repo.local=$(cp -dpR ${fetchedMavenDeps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2 -P desktop,all-platforms
 
-  installPhase = ''
-    # remove bundled jre
-    rm -rf jre
+    runHook postBuild
+  '';
 
-    mkdir -p $out/
-    cp -r . $out/dbeaver
+  installPhase =
+    let
+      productTargetPath = "product/standalone/target/products/org.jkiss.dbeaver.core.product";
 
-    # Patch binaries.
-    interpreter=$(cat $NIX_CC/nix-support/dynamic-linker)
-    patchelf --set-interpreter $interpreter $out/dbeaver/dbeaver
+      platformMap = {
+        aarch64-linux = "aarch64";
+        x86_64-darwin = "x86_64";
+        x86_64-linux  = "x86_64";
+      };
 
-    makeWrapper $out/dbeaver/dbeaver $out/bin/dbeaver \
-      --prefix PATH : ${jdk}/bin \
-      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ glib gtk3 libXtst ])} \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+      systemPlatform = platformMap.${stdenv.hostPlatform.system} or (throw "dbeaver not supported on ${stdenv.hostPlatform.system}");
+    in
+    if stdenv.isDarwin then ''
+      runHook preInstall
 
-    # Create desktop item.
-    mkdir -p $out/share/applications
-    cp ${desktopItem}/share/applications/* $out/share/applications
+      mkdir -p $out/Applications $out/bin
+      cp -r ${productTargetPath}/macosx/cocoa/${systemPlatform}/DBeaver.app $out/Applications
 
-    mkdir -p $out/share/pixmaps
-    ln -s $out/dbeaver/icon.xpm $out/share/pixmaps/dbeaver.xpm
-  '';
+      sed -i "/^-vm/d; /bin\/java/d" $out/Applications/DBeaver.app/Contents/Eclipse/dbeaver.ini
+
+      ln -s $out/Applications/DBeaver.app/Contents/MacOS/dbeaver $out/bin/dbeaver
+
+      wrapProgram $out/Applications/DBeaver.app/Contents/MacOS/dbeaver \
+        --prefix JAVA_HOME : ${jdk.home} \
+        --prefix PATH : ${jdk}/bin
+
+      runHook postInstall
+    '' else ''
+      runHook preInstall
+
+      mkdir -p $out/
+      cp -r ${productTargetPath}/linux/gtk/${systemPlatform}/dbeaver $out/dbeaver
+
+      # Patch binaries.
+      interpreter=$(cat $NIX_CC/nix-support/dynamic-linker)
+      patchelf --set-interpreter $interpreter $out/dbeaver/dbeaver
+
+      makeWrapper $out/dbeaver/dbeaver $out/bin/dbeaver \
+        --prefix PATH : ${jdk}/bin \
+        --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ glib gtk3 libXtst ])} \
+        --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+
+      # Create desktop item.
+      mkdir -p $out/share/applications
+      cp ${desktopItem}/share/applications/* $out/share/applications
+
+      mkdir -p $out/share/pixmaps
+      ln -s $out/dbeaver/icon.xpm $out/share/pixmaps/dbeaver.xpm
+
+      runHook postInstall
+    '';
 
   meta = with lib; {
     homepage = "https://dbeaver.io/";
@@ -67,7 +149,7 @@ stdenv.mkDerivation rec {
       Teradata, Firebird, Derby, etc.
     '';
     license = licenses.asl20;
-    platforms = [ "x86_64-linux" ];
-    maintainers = [ maintainers.jojosch ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" ];
+    maintainers = with maintainers; [ jojosch ];
   };
 }
diff --git a/pkgs/applications/misc/diff-pdf/default.nix b/pkgs/applications/misc/diff-pdf/default.nix
index f5e5dccd0f397..186826e6f7d45 100644
--- a/pkgs/applications/misc/diff-pdf/default.nix
+++ b/pkgs/applications/misc/diff-pdf/default.nix
@@ -9,13 +9,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "diff-pdf";
-  version = "0.4.1";
+  version = "0.5";
 
   src = fetchFromGitHub {
     owner = "vslavik";
     repo = "diff-pdf";
     rev = "v${version}";
-    sha256 = "1y5ji4c4m69vzs0z051fkhfdrjnyxb6kzac5flhdkfb2hgp1jnxl";
+    sha256 = "sha256-Si8v5ZY1Q/AwQTaxa1bYG8bgqxWj++c4Hh1LzXSmSwE=";
   };
 
   nativeBuildInputs = [ autoconf automake pkg-config ];
diff --git a/pkgs/applications/misc/ding/default.nix b/pkgs/applications/misc/ding/default.nix
index f0a7e2a779fe3..649fbe55fae21 100644
--- a/pkgs/applications/misc/ding/default.nix
+++ b/pkgs/applications/misc/ding/default.nix
@@ -10,14 +10,15 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  name = "ding-1.8.1";
+  name = "ding-1.9";
 
   src = fetchurl {
     url = "http://ftp.tu-chemnitz.de/pub/Local/urz/ding/${name}.tar.gz";
-    sha256 = "0chjqs3z9zs1w3l7b5lsaj682rgnkf9kibcbzhggqqcn1pbvl5sq";
+    sha256 = "sha256-aabIH894WihsBTo1LzIBzIZxxyhRYVxLcHpDQwmwmOU=";
   };
 
-  buildInputs = [ aspellEnv fortune gnugrep makeWrapper tk tre ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ aspellEnv fortune gnugrep tk tre ];
 
   patches = [ ./dict.patch ];
 
diff --git a/pkgs/applications/misc/dunst/default.nix b/pkgs/applications/misc/dunst/default.nix
index eed07a2356e6b..65e86bb7dbe6a 100644
--- a/pkgs/applications/misc/dunst/default.nix
+++ b/pkgs/applications/misc/dunst/default.nix
@@ -1,12 +1,13 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper
 , pkg-config, which, perl, libXrandr
 , cairo, dbus, systemd, gdk-pixbuf, glib, libX11, libXScrnSaver
+, gtk3, wayland, wayland-protocols
 , libXinerama, libnotify, pango, xorgproto, librsvg, dunstify ? false
 }:
 
 stdenv.mkDerivation rec {
   pname = "dunst";
-  version = "1.5.0";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "dunst-project";
@@ -20,6 +21,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     cairo dbus gdk-pixbuf glib libX11 libXScrnSaver
     libXinerama libnotify pango xorgproto librsvg libXrandr
+    gtk3 wayland wayland-protocols
   ];
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/applications/misc/eureka-editor/default.nix b/pkgs/applications/misc/eureka-editor/default.nix
index 0b5922f8f699c..2e70beb6173ca 100644
--- a/pkgs/applications/misc/eureka-editor/default.nix
+++ b/pkgs/applications/misc/eureka-editor/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchzip, fltk, zlib, xdg_utils, xorg, libjpeg, libGL }:
+{ lib, stdenv, fetchzip, fltk, zlib, xdg-utils, xorg, libjpeg, libGL }:
 
 stdenv.mkDerivation rec {
   pname = "eureka-editor";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "0fpj13aq4wh3f7473cdc5jkf1c71jiiqmjc0ihqa0nm3hic1d4yv";
   };
 
-  buildInputs = [ fltk zlib xdg_utils libjpeg xorg.libXinerama libGL ];
+  buildInputs = [ fltk zlib xdg-utils libjpeg xorg.libXinerama libGL ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/misc/far2l/default.nix b/pkgs/applications/misc/far2l/default.nix
index c3e9218b58867..87eaed9753526 100644
--- a/pkgs/applications/misc/far2l/default.nix
+++ b/pkgs/applications/misc/far2l/default.nix
@@ -1,29 +1,23 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, makeWrapper, cmake, pkg-config, wxGTK30, glib, pcre, m4, bash,
-  xdg_utils, gvfs, zip, unzip, gzip, bzip2, gnutar, p7zip, xz, imagemagick, darwin }:
+{ lib, stdenv, fetchFromGitHub, makeWrapper, cmake, pkg-config, wxGTK30, glib, pcre, m4, bash
+, xdg-utils, gvfs, zip, unzip, gzip, bzip2, gnutar, p7zip, xz, imagemagick
+, libuchardet, spdlog, xercesc, fmt, openssl, libssh, samba, neon, libnfs, libarchive }:
 
-let
-  newer-colorer-schemes = fetchFromGitHub {
-    owner = "colorer";
-    repo = "Colorer-schemes";
-    rev = "7c831f5e94a90530ace8b2bb9916210e3a2fcda6"; # 2019-11-28 (far2l has older Colorer-schemes)
-    sha256 = "18vaahdz5i7xdf00c9h9kjjswm4jszywm8zkhva4c4ivr4qqnv2c";
-  };
-in
 stdenv.mkDerivation rec {
   pname = "far2l";
-  version = "2019-12-14.git${builtins.substring 0 7 src.rev}";
+  version = "2020-12-30.git${builtins.substring 0 7 src.rev}";
 
   src = fetchFromGitHub {
     owner = "elfmz";
     repo = "far2l";
-    rev = "dceaa3918ea2c5e43600bad3fc63f861b8d26fc4";
-    sha256 = "1ssd3hwz4b7vl4r858d9whl61cn23pgcamcjmvfa6ysf4x2b7sgi";
+    rev = "52c1372441443aafd1a7dff6f17969a6ec19885d";
+    sha256 = "0s7427fgxzj5zkyy6mhb4y5hqa6adsr30m0bigycp12b0495ryx0";
   };
 
   nativeBuildInputs = [ cmake pkg-config m4 makeWrapper imagemagick ];
 
-  buildInputs = [ wxGTK30 glib pcre ]
-    ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Cocoa;
+  buildInputs = [ wxGTK30 glib pcre libuchardet spdlog xercesc fmt ] # base requirements of the build
+    ++ [ openssl libssh samba neon libnfs libarchive ]; # optional feature packages, like protocol support for Network panel, or archive formats
+    #++ lib.optional stdenv.isDarwin Cocoa # Mac support -- disabled, see "meta.broken" below
 
   postPatch = lib.optionalString stdenv.isLinux ''
     substituteInPlace far2l/bootstrap/trash.sh \
@@ -34,7 +28,7 @@ stdenv.mkDerivation rec {
   '' + ''
     echo 'echo ${version}' > far2l/bootstrap/scripts/vbuild.sh
     substituteInPlace far2l/bootstrap/open.sh              \
-      --replace 'xdg-open'    '${xdg_utils}/bin/xdg-open'
+      --replace 'xdg-open'    '${xdg-utils}/bin/xdg-open'
     substituteInPlace far2l/vtcompletor.cpp                \
       --replace '"/bin/bash"' '"${bash}/bin/bash"'
     substituteInPlace multiarc/src/formats/zip/zip.cpp     \
@@ -48,10 +42,6 @@ stdenv.mkDerivation rec {
       --replace '"gzip '      '"${gzip}/bin/gzip '         \
       --replace '"bzip2 '     '"${bzip2}/bin/bzip2 '       \
       --replace '"tar '       '"${gnutar}/bin/tar '
-
-    cp ${newer-colorer-schemes}/hrc/hrc/base/nix.hrc     colorer/configs/base/hrc/base/
-    cp ${newer-colorer-schemes}/hrc/hrc/base/cpp.hrc     colorer/configs/base/hrc/base/
-    cp ${newer-colorer-schemes}/hrc/hrc/inet/jscript.hrc colorer/configs/base/hrc/base/
   '';
 
   installPhase = ''
@@ -77,10 +67,13 @@ stdenv.mkDerivation rec {
   stripDebugList = [ "bin" "share" ];
 
   meta = with lib; {
-    description = "An orthodox file manager";
+    description = "Linux port of FAR Manager v2, a program for managing files and archives in Windows operating systems";
     homepage = "https://github.com/elfmz/far2l";
-    license = licenses.gpl2;
-    maintainers = [ maintainers.volth ];
+    license = licenses.gpl2Plus; # NOTE: might change in far2l repo soon, check next time
+    maintainers = with maintainers; [ volth hypersw ];
     platforms = platforms.all;
+    # fails to compile with:
+    # error: no member named 'st_ctim' in 'stat'
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/applications/misc/fetchmail/default.nix b/pkgs/applications/misc/fetchmail/default.nix
index 01493e131817d..d1659822bb2dc 100644
--- a/pkgs/applications/misc/fetchmail/default.nix
+++ b/pkgs/applications/misc/fetchmail/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, openssl }:
 
 let
-  version = "6.4.15";
+  version = "6.4.16";
 in
 stdenv.mkDerivation {
   pname = "fetchmail";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/fetchmail/fetchmail-${version}.tar.xz";
-    sha256 = "sha256-c1shdHSTfhPPzeotQqNGv2hIfg1h7+vk0Nnt3LOia5Y=";
+    sha256 = "sha256-BEuaCsA6+653RJed7+Pi4y45FBvKaP0Mje2i7UCIT7k=";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/applications/misc/fff/default.nix b/pkgs/applications/misc/fff/default.nix
index 2b21c984f34ff..a3f791940cbf5 100644
--- a/pkgs/applications/misc/fff/default.nix
+++ b/pkgs/applications/misc/fff/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, bashInteractive, xdg_utils, file, coreutils, w3m, xdotool }:
+{ lib, stdenv, fetchFromGitHub, makeWrapper, bashInteractive, xdg-utils, file, coreutils, w3m, xdotool }:
 
 stdenv.mkDerivation rec {
   pname = "fff";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "14ymdw6l6phnil0xf1frd5kgznaiwppcic0v4hb61s1zpf4wrshg";
   };
 
-  pathAdd = lib.makeSearchPath "bin" ([ xdg_utils file coreutils w3m xdotool ]);
+  pathAdd = lib.makeSearchPath "bin" ([ xdg-utils file coreutils w3m xdotool ]);
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ bashInteractive ];
diff --git a/pkgs/applications/misc/flavours/default.nix b/pkgs/applications/misc/flavours/default.nix
new file mode 100644
index 0000000000000..6ee546fa7c557
--- /dev/null
+++ b/pkgs/applications/misc/flavours/default.nix
@@ -0,0 +1,23 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "flavours";
+  version = "0.3.5";
+
+  src = fetchFromGitHub {
+    owner = "Misterio77";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1lvbq026ap02f22mv45s904a0f81dr2f07j6bq0wnwl5wd5w0wpj";
+  };
+
+  cargoSha256 = "0wgi65k180mq1q6j4nma0wpfdvl67im5v5gmhzv1ap6xg3bicdg1";
+
+  meta = with lib; {
+    description = "An easy to use base16 scheme manager/builder that integrates with any workflow";
+    homepage = "https://github.com/Misterio77/flavours";
+    changelog = "https://github.com/Misterio77/flavours/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fortuneteller2k ];
+  };
+}
diff --git a/pkgs/applications/misc/free42/default.nix b/pkgs/applications/misc/free42/default.nix
new file mode 100644
index 0000000000000..5810607e8d117
--- /dev/null
+++ b/pkgs/applications/misc/free42/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, gtk3
+, alsaLib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "free42";
+  version = "3.0";
+
+  src = fetchFromGitHub {
+    owner = "thomasokken";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "jzNopLndYH9dIdm30pyDaZNksHwS4i5LTZUXRmcrTp8=";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ gtk3 alsaLib ];
+
+  postPatch = ''
+    sed -i -e "s|/bin/ls|ls|" gtk/Makefile
+  '';
+
+  dontConfigure = true;
+
+  buildPhase = ''
+    runHook preBuild
+    make -C gtk cleaner
+    make --jobs=$NIX_BUILD_CORES -C gtk
+    make -C gtk clean
+    make --jobs=$NIX_BUILD_CORES -C gtk BCD_MATH=1
+    runHook postBuild
+  '';
+
+  preInstall = ''
+    install --directory $out/bin \
+                        $out/share/doc/${pname} \
+                        $out/share/${pname}/skins \
+                        $out/share/icons/hicolor/48x48/apps \
+                        $out/share/icons/hicolor/128x128/apps
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -m755 gtk/free42dec gtk/free42bin $out/bin
+    install -m644 gtk/README $out/share/doc/${pname}/README-GTK
+    install -m644 README $out/share/doc/${pname}/README
+
+    install -m644 gtk/icon-48x48.xpm $out/share/icons/hicolor/48x48/apps
+    install -m644 gtk/icon-128x128.xpm $out/share/icons/hicolor/128x128/apps
+    install -m644 skins/* $out/share/${pname}/skins
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/thomasokken/free42";
+    description = "A software clone of HP-42S Calculator";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/applications/misc/fuzzel/default.nix b/pkgs/applications/misc/fuzzel/default.nix
index 85c0bbd0d6956..3dafe8fa671f8 100644
--- a/pkgs/applications/misc/fuzzel/default.nix
+++ b/pkgs/applications/misc/fuzzel/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fuzzel";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchzip {
     url = "https://codeberg.org/dnkl/fuzzel/archive/${version}.tar.gz";
-    sha256 = "091vlhj1kirdy5p3qza9hwhj7js3ci5xxvlp9d7as9bwlh58w2lw";
+    sha256 = "0zy0icd3647jyq4xflp35vwn52yxgj3zz4n30br657xjq1l5afzl";
   };
 
   nativeBuildInputs = [ pkg-config meson ninja scdoc git ];
diff --git a/pkgs/applications/misc/gallery-dl/default.nix b/pkgs/applications/misc/gallery-dl/default.nix
index 5eebda9610e47..6ccc31ef9b59d 100644
--- a/pkgs/applications/misc/gallery-dl/default.nix
+++ b/pkgs/applications/misc/gallery-dl/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonApplication rec {
   pname = "gallery_dl";
-  version = "1.16.4";
+  version = "1.16.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "744deddf22fdbc51d1d89776c41b0f1127d2b4d212bd092718fad2c0dc7f160f";
+    sha256 = "fb8c927630b292abf5052f8f75c3eebccbdffa609566768d4dc4d9665df91e68";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/applications/misc/gkrellm/default.nix b/pkgs/applications/misc/gkrellm/default.nix
index 2cc20b424b1dc..aaaab255c7633 100644
--- a/pkgs/applications/misc/gkrellm/default.nix
+++ b/pkgs/applications/misc/gkrellm/default.nix
@@ -1,5 +1,6 @@
 { lib, fetchurl, stdenv, gettext, pkg-config, glib, gtk2, libX11, libSM, libICE, which
-, IOKit ? null }:
+, IOKit, copyDesktopItems, makeDesktopItem, wrapGAppsHook
+}:
 
 with lib;
 
@@ -11,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "01lccz4fga40isv09j8rjgr0qy10rff9vj042n6gi6gdv4z69q0y";
   };
 
-  nativeBuildInputs = [ pkg-config which ];
+  nativeBuildInputs = [ copyDesktopItems pkg-config which wrapGAppsHook ];
   buildInputs = [gettext glib gtk2 libX11 libSM libICE]
     ++ optionals stdenv.isDarwin [ IOKit ];
 
@@ -19,7 +20,7 @@ stdenv.mkDerivation rec {
 
   # Makefiles are patched to fix references to `/usr/X11R6' and to add
   # `-lX11' to make sure libX11's store path is in the RPATH.
-  patchPhase = ''
+  postPatch = ''
     echo "patching makefiles..."
     for i in Makefile src/Makefile server/Makefile
     do
@@ -30,6 +31,23 @@ stdenv.mkDerivation rec {
   makeFlags = [ "STRIP=-s" ];
   installFlags = [ "DESTDIR=$(out)" ];
 
+  # This icon is used by the desktop file.
+  postInstall = ''
+    install -Dm444 -T src/icon.xpm $out/share/pixmaps/gkrellm.xpm
+  '';
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "gkrellm";
+      exec = "gkrellm";
+      icon = "gkrellm";
+      desktopName = "GKrellM";
+      genericName = "System monitor";
+      comment = "The GNU Krell Monitors";
+      categories = "System;Monitor;";
+    })
+  ];
+
   meta = {
     description = "Themeable process stack of system monitors";
     longDescription = ''
@@ -40,7 +58,7 @@ stdenv.mkDerivation rec {
 
     homepage = "http://gkrellm.srcbox.net";
     license = licenses.gpl3Plus;
-    maintainers = [ ];
+    maintainers = with maintainers; [ khumba ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/gnome-passwordsafe/default.nix b/pkgs/applications/misc/gnome-passwordsafe/default.nix
index c6617cc2324ce..34f4aa71a38a8 100644
--- a/pkgs/applications/misc/gnome-passwordsafe/default.nix
+++ b/pkgs/applications/misc/gnome-passwordsafe/default.nix
@@ -4,8 +4,8 @@
 , pkg-config
 , gettext
 , fetchFromGitLab
-, python3
-, libhandy_0
+, python3Packages
+, libhandy
 , libpwquality
 , wrapGAppsHook
 , gtk3
@@ -15,9 +15,9 @@
 , desktop-file-utils
 , appstream-glib }:
 
-python3.pkgs.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "gnome-passwordsafe";
-  version = "3.99.2";
+  version = "5.0";
   format = "other";
   strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943
 
@@ -26,7 +26,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "World";
     repo = "PasswordSafe";
     rev = version;
-    sha256 = "0pi2l4gwf8paxm858mxrcsk5nr0c0zw5ycax40mghndb6b1qmmhf";
+    sha256 = "8EFKLNK7rZlYL2g/7FmaC5r5hcdblsnod/aB8NYiBvY=";
   };
 
   nativeBuildInputs = [
@@ -44,26 +44,13 @@ python3.pkgs.buildPythonApplication rec {
     gtk3
     glib
     gdk-pixbuf
-    libhandy_0
+    libhandy
   ];
 
-  propagatedBuildInputs = with python3.pkgs; [
+  propagatedBuildInputs = with python3Packages; [
     pygobject3
     construct
-
-    # pykeepass 3.2.1 changed some exception types, and is not backwards compatible.
-    # Remove override once the MR is merged upstream.
-    # https://gitlab.gnome.org/World/PasswordSafe/-/merge_requests/79
-    (pykeepass.overridePythonAttrs (old: rec {
-      version = "3.2.0";
-      src = fetchPypi {
-        pname = "pykeepass";
-        inherit version;
-        sha256 = "1ysjn92bixq8wkwhlbhrjj9z0h80qnlnj7ks5478ndkzdw5gxvm1";
-      };
-      propagatedBuildInputs = old.propagatedBuildInputs ++ [ pycryptodome ];
-    }))
-
+    pykeepass
   ] ++ [
     libpwquality # using the python bindings
   ];
diff --git a/pkgs/applications/misc/gollum/Gemfile.lock b/pkgs/applications/misc/gollum/Gemfile.lock
index eed618a5cbd18..73bc5d068d738 100644
--- a/pkgs/applications/misc/gollum/Gemfile.lock
+++ b/pkgs/applications/misc/gollum/Gemfile.lock
@@ -1,20 +1,20 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    concurrent-ruby (1.1.7)
+    concurrent-ruby (1.1.8)
     crass (1.0.6)
     execjs (2.7.0)
-    ffi (1.13.1)
+    ffi (1.14.2)
     gemojione (4.3.3)
       json
     github-markup (3.0.5)
-    gollum (5.1.2)
+    gollum (5.2.1)
       gemojione (~> 4.1)
-      gollum-lib (~> 5.0)
+      gollum-lib (~> 5.1)
       kramdown (~> 2.3)
       kramdown-parser-gfm (~> 1.1.0)
-      mustache (>= 0.99.5, < 1.0.0)
-      octicons (~> 8.5)
+      mustache-sinatra (~> 1.0)
+      octicons (~> 12.0)
       rss (~> 0.2.9)
       sass (~> 3.5)
       sinatra (~> 2.0)
@@ -22,40 +22,44 @@ GEM
       sprockets (~> 3.7)
       sprockets-helpers (~> 1.2)
       therubyrhino (~> 2.1.0)
-      uglifier (~> 3.2)
+      uglifier (~> 4.2)
       useragent (~> 0.16.2)
-    gollum-lib (5.0.6)
+    gollum-lib (5.1)
       gemojione (~> 4.1)
       github-markup (~> 3.0)
       gollum-rugged_adapter (~> 1.0)
       loofah (~> 2.3)
       nokogiri (~> 1.8)
-      octicons (~> 8.5)
+      octicons (~> 12.0)
       rouge (~> 3.1)
       twitter-text (= 1.14.7)
     gollum-rugged_adapter (1.0)
       mime-types (>= 1.15)
       rugged (~> 0.99)
-    json (2.3.1)
+    json (2.5.1)
     kramdown (2.3.0)
       rexml
     kramdown-parser-gfm (1.1.0)
       kramdown (~> 2.0)
-    loofah (2.8.0)
+    loofah (2.9.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     mime-types (3.3.1)
       mime-types-data (~> 3.2015)
-    mime-types-data (3.2020.1104)
-    mini_portile2 (2.4.0)
+    mime-types-data (3.2021.0225)
+    mini_portile2 (2.5.0)
     multi_json (1.15.0)
     mustache (0.99.8)
+    mustache-sinatra (1.0.1)
+      mustache (<= 0.99.8)
     mustermann (1.1.1)
       ruby2_keywords (~> 0.0.1)
-    nokogiri (1.10.10)
-      mini_portile2 (~> 2.4.0)
-    octicons (8.5.0)
+    nokogiri (1.11.1)
+      mini_portile2 (~> 2.5.0)
+      racc (~> 1.4)
+    octicons (12.1.0)
       nokogiri (>= 1.6.3.1)
+    racc (1.5.2)
     rack (2.2.3)
     rack-protection (2.1.0)
       rack
@@ -63,10 +67,10 @@ GEM
     rb-inotify (0.10.1)
       ffi (~> 1.0)
     rexml (3.2.4)
-    rouge (3.25.0)
+    rouge (3.26.0)
     rss (0.2.9)
       rexml
-    ruby2_keywords (0.0.2)
+    ruby2_keywords (0.0.4)
     rugged (0.99.0)
     sass (3.7.4)
       sass-listen (~> 4.0.0)
@@ -95,7 +99,7 @@ GEM
     tilt (2.0.10)
     twitter-text (1.14.7)
       unf (~> 0.1.0)
-    uglifier (3.2.0)
+    uglifier (4.2.0)
       execjs (>= 0.3.0, < 3)
     unf (0.1.4)
       unf_ext
diff --git a/pkgs/applications/misc/gollum/default.nix b/pkgs/applications/misc/gollum/default.nix
index fc80a5ddb8aa8..4a365b5a17ed0 100644
--- a/pkgs/applications/misc/gollum/default.nix
+++ b/pkgs/applications/misc/gollum/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/gollum/gollum";
     changelog = "https://github.com/gollum/gollum/blob/v${version}/HISTORY.md";
     license = licenses.mit;
-    maintainers = with maintainers; [ jgillich primeos nicknovitski ];
+    maintainers = with maintainers; [ erictapen jgillich nicknovitski ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/gollum/gemset.nix b/pkgs/applications/misc/gollum/gemset.nix
index d259167856a18..690eba645dc1f 100644
--- a/pkgs/applications/misc/gollum/gemset.nix
+++ b/pkgs/applications/misc/gollum/gemset.nix
@@ -4,10 +4,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vnxrbhi7cq3p4y2v9iwd10v1c7l15is4var14hwnb2jip4fyjzz";
+      sha256 = "0mr23wq0szj52xnj0zcn1k0c7j4v79wlwbijkpfcscqww3l6jlg3";
       type = "gem";
     };
-    version = "1.1.7";
+    version = "1.1.8";
   };
   crass = {
     groups = ["default"];
@@ -34,10 +34,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12lpwaw82bb0rm9f52v1498bpba8aj2l2q359mkwbxsswhpga5af";
+      sha256 = "15hgiy09i8ywjihyzyvjvk42ivi3kmy6dm21s5sgg9j7y3h3zkkx";
       type = "gem";
     };
-    version = "1.13.1";
+    version = "1.14.2";
   };
   gemojione = {
     dependencies = ["json"];
@@ -61,15 +61,15 @@
     version = "3.0.5";
   };
   gollum = {
-    dependencies = ["gemojione" "gollum-lib" "kramdown" "kramdown-parser-gfm" "mustache" "octicons" "rss" "sass" "sinatra" "sinatra-contrib" "sprockets" "sprockets-helpers" "therubyrhino" "uglifier" "useragent"];
+    dependencies = ["gemojione" "gollum-lib" "kramdown" "kramdown-parser-gfm" "mustache-sinatra" "octicons" "rss" "sass" "sinatra" "sinatra-contrib" "sprockets" "sprockets-helpers" "therubyrhino" "uglifier" "useragent"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pmvxj7pka7pjpw060a9pfxsci1hmx45hk9hbp5m49xkkiiqf1gx";
+      sha256 = "0n89c77amabvv4aq8jq5r6581hqzw79w8khr13w6kvv6iabq1vaz";
       type = "gem";
     };
-    version = "5.1.2";
+    version = "5.2.1";
   };
   gollum-lib = {
     dependencies = ["gemojione" "github-markup" "gollum-rugged_adapter" "loofah" "nokogiri" "octicons" "rouge" "twitter-text"];
@@ -77,10 +77,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02mc1w4hn9kjrgvg0r46x1bd0h8hq7lqs432dgjfn2dw36kchja4";
+      sha256 = "0p721ymkf2xcskjgr9308b6g581cbxgvhprj9srqskssxvsfdsln";
       type = "gem";
     };
-    version = "5.0.6";
+    version = "5.1";
   };
   gollum-rugged_adapter = {
     dependencies = ["mime-types" "rugged"];
@@ -98,10 +98,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "158fawfwmv2sq4whqqaksfykkiad2xxrrj0nmpnc6vnlzi1bp7iz";
+      sha256 = "0lrirj0gw420kw71bjjlqkqhqbrplla61gbv1jzgsz6bv90qr3ci";
       type = "gem";
     };
-    version = "2.3.1";
+    version = "2.5.1";
   };
   kramdown = {
     dependencies = ["rexml"];
@@ -131,10 +131,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ndimir6k3kfrh8qrb7ir1j836l4r3qlwyclwjh88b86clblhszh";
+      sha256 = "0bzwvxvilx7w1p3pg028ks38925y9i0xm870lm7s12w7598hiyck";
       type = "gem";
     };
-    version = "2.8.0";
+    version = "2.9.0";
   };
   mime-types = {
     dependencies = ["mime-types-data"];
@@ -152,20 +152,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ipjyfwn9nlvpcl8knq3jk4g5f12cflwdbaiqxcq1s7vwfwfxcag";
+      sha256 = "1phcq7z0zpipwd7y4fbqmlaqghv07fjjgrx99mwq3z3n0yvy7fmi";
       type = "gem";
     };
-    version = "3.2020.1104";
+    version = "3.2021.0225";
   };
   mini_portile2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy";
+      sha256 = "1hdbpmamx8js53yk3h8cqy12kgv6ca06k0c9n3pxh6b6cjfs19x7";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "2.5.0";
   };
   multi_json = {
     groups = ["default"];
@@ -187,6 +187,17 @@
     };
     version = "0.99.8";
   };
+  mustache-sinatra = {
+    dependencies = ["mustache"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1rvdwg1zk3sybpi9hzn6jj0k8rndkq19y7cl0jmqr0g2xx21z7mr";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
   mustermann = {
     dependencies = ["ruby2_keywords"];
     groups = ["default"];
@@ -199,15 +210,15 @@
     version = "1.1.1";
   };
   nokogiri = {
-    dependencies = ["mini_portile2"];
+    dependencies = ["mini_portile2" "racc"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xmf60nj5kg9vaj5bysy308687sgmkasgx06vbbnf94p52ih7si2";
+      sha256 = "1ajwkqr28hwqbyl1l3czx4a34c88acxywyqp8cjyy0zgsd6sbhj2";
       type = "gem";
     };
-    version = "1.10.10";
+    version = "1.11.1";
   };
   octicons = {
     dependencies = ["nokogiri"];
@@ -215,10 +226,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fy6shpfmla58dxx3kb2zi1hs7vmdw6pqrksaa8yrva05s4l3y75";
+      sha256 = "0kpy7h7pffjqb2xbmld7nwnb2x6rll3yz5ccr7nrqnrk2d3cmpmn";
+      type = "gem";
+    };
+    version = "12.1.0";
+  };
+  racc = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "178k7r0xn689spviqzhvazzvxfq6fyjldxb3ywjbgipbfi4s8j1g";
       type = "gem";
     };
-    version = "8.5.0";
+    version = "1.5.2";
   };
   rack = {
     groups = ["default"];
@@ -277,10 +298,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yvcv901lrh5rfnk1h4h56hf2m6n9pd6w8n96vag74aakgz3gaxn";
+      sha256 = "0b4b300i3m4m4kw7w1n9wgxwy16zccnb7271miksyzd0wq5b9pm3";
       type = "gem";
     };
-    version = "3.25.0";
+    version = "3.26.0";
   };
   rss = {
     dependencies = ["rexml"];
@@ -298,10 +319,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17pcc0wgvh3ikrkr7bm3nx0qhyiqwidd13ij0fa50k7gsbnr2p0l";
+      sha256 = "15wfcqxyfgka05v2a7kpg64x57gl1y4xzvnc9lh60bqx5sf1iqrs";
       type = "gem";
     };
-    version = "0.0.2";
+    version = "0.0.4";
   };
   rugged = {
     groups = ["default"];
@@ -427,10 +448,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wmqvn4xncw6h3d5gp2a44170zwxfyj3iq4rsjp16zarvzbdmgnz";
+      sha256 = "0wgh7bzy68vhv9v68061519dd8samcy8sazzz0w3k8kqpy3g4s5f";
       type = "gem";
     };
-    version = "3.2.0";
+    version = "4.2.0";
   };
   unf = {
     dependencies = ["unf_ext"];
diff --git a/pkgs/applications/misc/gpsbabel/default.nix b/pkgs/applications/misc/gpsbabel/default.nix
index f043aa66947f6..85c7fbae789f5 100644
--- a/pkgs/applications/misc/gpsbabel/default.nix
+++ b/pkgs/applications/misc/gpsbabel/default.nix
@@ -38,6 +38,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  dontWrapQtApps = true;
+
   doCheck = true;
   preCheck = ''
     patchShebangs testo
diff --git a/pkgs/applications/misc/gpsbabel/gui.nix b/pkgs/applications/misc/gpsbabel/gui.nix
index 4025b313128b5..8501b7c0875b9 100644
--- a/pkgs/applications/misc/gpsbabel/gui.nix
+++ b/pkgs/applications/misc/gpsbabel/gui.nix
@@ -10,6 +10,8 @@ mkDerivation {
   nativeBuildInputs = [ qmake qttools ];
   buildInputs = [ qtwebkit ];
 
+  dontWrapQtApps = true;
+
   postPatch = ''
     substituteInPlace mainwindow.cc \
       --replace "QApplication::applicationDirPath() + \"/" "\"" \
diff --git a/pkgs/applications/misc/gpscorrelate/default.nix b/pkgs/applications/misc/gpscorrelate/default.nix
index a1357ff0a0844..00a3914e17350 100644
--- a/pkgs/applications/misc/gpscorrelate/default.nix
+++ b/pkgs/applications/misc/gpscorrelate/default.nix
@@ -29,8 +29,8 @@ stdenv.mkDerivation rec {
 
   makeFlags = [
     "prefix=${placeholder "out"}"
-    "CC=cc"
-    "CXX=c++"
+    "CC=${stdenv.cc.targetPrefix}cc"
+    "CXX=${stdenv.cc.targetPrefix}c++"
     "CFLAGS=-DENABLE_NLS"
   ];
 
diff --git a/pkgs/applications/misc/gpsprune/default.nix b/pkgs/applications/misc/gpsprune/default.nix
index f413f52677458..5df2940dff3e8 100644
--- a/pkgs/applications/misc/gpsprune/default.nix
+++ b/pkgs/applications/misc/gpsprune/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gpsprune";
-  version = "20.1";
+  version = "20.2";
 
   src = fetchurl {
     url = "https://activityworkshop.net/software/gpsprune/gpsprune_${version}.jar";
-    sha256 = "sha256-NU2AhqMVxjPyCocjZg5dzwHpTgAIBluMqdKqn4lnknM=";
+    sha256 = "sha256-40GrihCeDAqJCFcg4FMFxCg7bzd6CrDR5JU70e5VHDE=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix
index c79c2886fd471..e5e1995548cee 100644
--- a/pkgs/applications/misc/gpxsee/default.nix
+++ b/pkgs/applications/misc/gpxsee/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "gpxsee";
-  version = "8.3";
+  version = "8.7";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = version;
-    sha256 = "sha256-D58Q9qZ7x2j//pOQa+oIgVK/9F0du2FUoZprSFEKViU=";
+    sha256 = "sha256-pBNG9lDdqvxh2hGmOcL21mkkyFD7id1mWCUSgkTG71M=";
   };
 
   patches = (substituteAll {
diff --git a/pkgs/applications/misc/gremlin-console/default.nix b/pkgs/applications/misc/gremlin-console/default.nix
index 6c3ba132d0b21..22444e22054a0 100644
--- a/pkgs/applications/misc/gremlin-console/default.nix
+++ b/pkgs/applications/misc/gremlin-console/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "13ycr6ppyrz9rq7dasabjdk8lcsxdj3krb4j7d2jmbh2hij1rdvf";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/opt
diff --git a/pkgs/applications/misc/gsimplecal/default.nix b/pkgs/applications/misc/gsimplecal/default.nix
index 21128ac9119a0..2d855d0c9fcc2 100644
--- a/pkgs/applications/misc/gsimplecal/default.nix
+++ b/pkgs/applications/misc/gsimplecal/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gsimplecal";
-  version = "2.1";
+  version = "2.2";
 
   src = fetchurl {
     url = "https://github.com/dmedvinsky/gsimplecal/archive/v${version}.tar.gz";
-    sha256 = "1sa05ifjp41xipfspk5n6l3wzpzmp3i45q88l01p4l6k6drsq336";
+    sha256 = "sha256-f19cnTX83LZT2d01B1EdWSaHcfHqpFPTo5glYkAokq8=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix
index 35246a45da27a..a4c32b9b931c3 100644
--- a/pkgs/applications/misc/hugo/default.nix
+++ b/pkgs/applications/misc/hugo/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "hugo";
-  version = "0.80.0";
+  version = "0.81.0";
 
   src = fetchFromGitHub {
     owner = "gohugoio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0xs9y5lj0mya6ag625x8j91mn9l9r13gxaqxyvl1fl40y2yjz1zm";
+    sha256 = "sha256-9YroUxcLixu+MNL37JByCulCHv0WxWGwqBQ/+FGtZLw=";
   };
 
-  vendorSha256 = "172mcs8p43bsdkd2hxg9qn6018fh8f36kxx0vgnq5q6fqsb6s1f6";
+  vendorSha256 = "sha256-5gQyoLirXajkzxKxzcuPnjECL2mJPiHS65lYkyIpKs8=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/icesl/default.nix b/pkgs/applications/misc/icesl/default.nix
index 9f1431a23409c..5c50ac2453819 100644
--- a/pkgs/applications/misc/icesl/default.nix
+++ b/pkgs/applications/misc/icesl/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     sha256 = "0sl54fsb2gz6dy0bwdscpdq1ab6ph5b7zald3bwzgkqsvna7p1jr";
   } else throw "Unsupported architecture";
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
   installPhase = ''
     cp -r ./ $out
     mkdir $out/oldbin
diff --git a/pkgs/applications/misc/jgmenu/default.nix b/pkgs/applications/misc/jgmenu/default.nix
index 29816dea49ec6..88274b8664d3f 100644
--- a/pkgs/applications/misc/jgmenu/default.nix
+++ b/pkgs/applications/misc/jgmenu/default.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/johanmalm/jgmenu";
     description = "Small X11 menu intended to be used with openbox and tint2";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/pkgs/applications/misc/joplin-desktop/default.nix b/pkgs/applications/misc/joplin-desktop/default.nix
index 8433cc9c87f65..f737470d53f15 100644
--- a/pkgs/applications/misc/joplin-desktop/default.nix
+++ b/pkgs/applications/misc/joplin-desktop/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "joplin-desktop";
-  version = "1.6.7";
+  version = "1.7.10";
   name = "${pname}-${version}";
 
   inherit (stdenv.hostPlatform) system;
@@ -16,8 +16,8 @@ let
   src = fetchurl {
     url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}.${suffix}";
     sha256 = {
-      x86_64-linux = "0g1fac8l0w0b11bs4c9mi2k426hcqa7q4ks48fzxq0yl9ricjlrb";
-      x86_64-darwin = "1h5crdjzvjg30hdmh3fkygxi5gy714wpz4gwy5dn8s3xr12mmgka";
+      x86_64-linux = "1f8pfssfqigh0fl5r5wpvdpn48dx1q9qq4mfqi2s5z94h7ci2jxg";
+      x86_64-darwin = "0s29mhf88nlhaabmd32k21h1qiavgpqqksbdjxkx8bfg591s8jqb";
     }.${system} or throwSystem;
   };
 
diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix
index 28c7de12c8c87..3828fc654d658 100644
--- a/pkgs/applications/misc/josm/default.nix
+++ b/pkgs/applications/misc/josm/default.nix
@@ -23,7 +23,8 @@ stdenv.mkDerivation {
 
   dontUnpack = true;
 
-  buildInputs = lib.optionals (!stdenv.isDarwin) [ jre makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = lib.optionals (!stdenv.isDarwin) [ jre ];
 
   installPhase =
     if stdenv.isDarwin then ''
diff --git a/pkgs/applications/misc/jotta-cli/default.nix b/pkgs/applications/misc/jotta-cli/default.nix
index 3b44555c5411a..b34661e6eb8ec 100644
--- a/pkgs/applications/misc/jotta-cli/default.nix
+++ b/pkgs/applications/misc/jotta-cli/default.nix
@@ -5,10 +5,10 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "jotta-cli";
-  version = "0.9.38023";
+  version = "0.9.39536";
   src = fetchzip {
       url = "https://repo.jotta.us/archives/linux/${arch}/jotta-cli-${version}_linux_${arch}.tar.gz";
-      sha256 = "0whbf7sb4i3g1f6yps3a6l3f0z3dg681ypax4snxw5vchi3h99kc";
+      sha256 = "sha256-JZtc6Si3ZQoRG3q+ctzPPQm7WbMYRailIuq/Y5Avd2s=";
       stripRoot = false;
     };
 
diff --git a/pkgs/applications/misc/jrnl/default.nix b/pkgs/applications/misc/jrnl/default.nix
index 79f87612e49a8..8d2cabb5b8b2a 100644
--- a/pkgs/applications/misc/jrnl/default.nix
+++ b/pkgs/applications/misc/jrnl/default.nix
@@ -1,30 +1,56 @@
 { lib
-, python3
+, ansiwrap
+, asteval
+, buildPythonApplication
+, colorama
+, cryptography
+, fetchFromGitHub
+, keyring
+, parsedatetime
+, poetry
+, pytestCheckHook
+, python-dateutil
+, pytz
+, pyxdg
+, pyyaml
+, tzlocal
 }:
 
-with python3.pkgs;
-
 buildPythonApplication rec {
   pname = "jrnl";
-  version = "1.9.8";
+  version = "2.7";
+  format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "d254c9c8f24dcf985b98a1d5311337c7f416e6305107eec34c567f58c95b06f4";
+  src = fetchFromGitHub {
+    owner = "jrnl-org";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1hyjjw9mxy73n3pkliaaif135h2sd4iy43pw9d5zynid5abnr3yz";
   };
 
+  nativeBuildInputs = [ poetry ];
+
   propagatedBuildInputs = [
-    pytz six tzlocal keyring dateutil
-    parsedatetime pycrypto
+    ansiwrap
+    asteval
+    colorama
+    cryptography
+    keyring
+    parsedatetime
+    python-dateutil
+    pytz
+    pyxdg
+    pyyaml
+    tzlocal
   ];
 
-  # No tests in archive
-  doCheck = false;
+  checkInputs = [ pytestCheckHook ];
+  pythonImportsCheck = [ "jrnl" ];
 
   meta = with lib; {
     homepage = "http://maebert.github.io/jrnl/";
     description = "A simple command line journal application that stores your journal in a plain text file";
-    license = licenses.mit;
+    license = licenses.gpl3Only;
     maintainers = with maintainers; [ zalakain ];
   };
 }
diff --git a/pkgs/applications/misc/keepass/default.nix b/pkgs/applications/misc/keepass/default.nix
index 32572ffcdb3bb..6388d005fe551 100644
--- a/pkgs/applications/misc/keepass/default.nix
+++ b/pkgs/applications/misc/keepass/default.nix
@@ -12,7 +12,8 @@ with builtins; buildDotnetPackage rec {
 
   sourceRoot = ".";
 
-  buildInputs = [ unzip makeWrapper icoutils ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ unzip icoutils ];
 
   patches = [
     (substituteAll {
diff --git a/pkgs/applications/misc/keepassx/community.nix b/pkgs/applications/misc/keepassx/community.nix
index 548356992c335..af259c199d89a 100644
--- a/pkgs/applications/misc/keepassx/community.nix
+++ b/pkgs/applications/misc/keepassx/community.nix
@@ -34,19 +34,21 @@
 , withKeePassNetworking ? true
 , withKeePassTouchID ? true
 , withKeePassFDOSecrets ? true
+
+, nixosTests
 }:
 
 with lib;
 
 stdenv.mkDerivation rec {
   pname = "keepassxc";
-  version = "2.6.3";
+  version = "2.6.4";
 
   src = fetchFromGitHub {
     owner = "keepassxreboot";
     repo = "keepassxc";
     rev = version;
-    sha256 = "1jd2mvafyn095crfs2hnfprqiy8yqsvfybwbjq8n0agapnz4bl5h";
+    sha256 = "02ajfkw818cmalvkl0kqvza85rgdgs59kw2v7b3c4v8kv00c41j3";
   };
 
   NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang [
@@ -118,6 +120,8 @@ stdenv.mkDerivation rec {
     wrapQtApp $out/Applications/KeePassXC.app/Contents/MacOS/KeePassXC
   '';
 
+  passthru.tests = nixosTests.keepassxc;
+
   meta = {
     description = "Password manager to store your passwords safely and auto-type them into your everyday websites and applications";
     longDescription = "A community fork of KeePassX, which is itself a port of KeePass Password Safe. The goal is to extend and improve KeePassX with new features and bugfixes to provide a feature-rich, fully cross-platform and modern open-source password manager. Accessible via native cross-platform GUI, CLI, and browser integration with the KeePassXC Browser Extension (https://github.com/keepassxreboot/keepassxc-browser).";
diff --git a/pkgs/applications/misc/keeweb/default.nix b/pkgs/applications/misc/keeweb/default.nix
index cf14679cd9bbe..391e698dcf7f7 100644
--- a/pkgs/applications/misc/keeweb/default.nix
+++ b/pkgs/applications/misc/keeweb/default.nix
@@ -4,7 +4,7 @@ let
   throwSystem = throw "Unsupported system: ${system}";
 
   pname = "keeweb";
-  version = "1.16.5";
+  version = "1.16.7";
   name = "${pname}-${version}";
 
   suffix = {
@@ -16,9 +16,9 @@ let
   src = fetchurl {
     url = "https://github.com/keeweb/keeweb/releases/download/v${version}/KeeWeb-${version}.${suffix}";
     sha256 = {
-      x86_64-linux = "18qcr8zyn20n5zrrha0qwgq2ic10bp189fps87lbnmcjknrkac9g";
-      x86_64-darwin = "0crpjkcqgs7q5c814bx2npjh9kpyyb87yagm5wcy9j21kwrbqv6k";
-      aarch64-darwin = "1wkf9inrm5qg0c4xrk0s97mx5j21xvlqwwkvydl513gyfzi2g9gp";
+      x86_64-linux = "0a4yh2jh9sph17mqqi62gm5jc4yffkysq6yiggyzz5f8xw4p315j";
+      x86_64-darwin = "0ix1apddqvz561pw5lx47x091wlfj27zh8k8v7kn5xvm09hswfkr";
+      aarch64-darwin = "0p0kql79kcb3w947g1ljhbj15b8aqrwcrbi0cknb12f6iq47lkz7";
     }.${system} or throwSystem;
   };
 
diff --git a/pkgs/applications/misc/klayout/default.nix b/pkgs/applications/misc/klayout/default.nix
index 60905be3b1b23..33f3c4144b5ac 100644
--- a/pkgs/applications/misc/klayout/default.nix
+++ b/pkgs/applications/misc/klayout/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "klayout";
-  version = "0.26.8";
+  version = "0.26.9";
 
   src = fetchFromGitHub {
     owner = "KLayout";
     repo = "klayout";
     rev = "v${version}";
-    sha256 = "0pkhvxcfk70dnmgczyyq585mxrfwqai44ikshs4c1imh92z25llq";
+    sha256 = "sha256-d0k8OQZ+ij+dslc3iAQkgy1TyYAL7Bf1xvSH21eTGO8=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/misc/koreader/default.nix b/pkgs/applications/misc/koreader/default.nix
index a903600b46d2a..d415657706653 100644
--- a/pkgs/applications/misc/koreader/default.nix
+++ b/pkgs/applications/misc/koreader/default.nix
@@ -11,12 +11,12 @@
 let font-droid = nerdfonts.override { fonts = [ "DroidSansMono" ]; };
 in stdenv.mkDerivation rec {
   pname = "koreader";
-  version = "2021.01.1";
+  version = "2021.02";
 
   src = fetchurl {
     url =
       "https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-amd64.deb";
-    sha256 = "0kignyia2xrg84bqzsp8rid4c79zg11lhw52z1854jw9v9324pja";
+    sha256 = "0v7jx4a2kz1i1k9jqwcxbgdikflk28cnnp69sbhha8pkkbk8c5wh";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/applications/misc/lavalauncher/default.nix b/pkgs/applications/misc/lavalauncher/default.nix
new file mode 100644
index 0000000000000..533d3757a6ef6
--- /dev/null
+++ b/pkgs/applications/misc/lavalauncher/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, stdenv
+, fetchgit
+, meson
+, ninja
+, pkg-config
+, scdoc
+, cairo
+, librsvg
+, wayland
+, wayland-protocols
+}:
+
+stdenv.mkDerivation rec {
+  pname = "lavalauncher";
+  version = "2.0.0";
+
+  src = fetchgit {
+    url = "https://git.sr.ht/~leon_plickat/lavalauncher";
+    rev = "v${version}";
+    sha256 = "MXREycR4ZetTe71ZwEqyozMJN9OLTDvU0W4J8qkTQAs=";
+  };
+
+  nativeBuildInputs = [ meson ninja pkg-config scdoc ];
+  buildInputs = [
+    cairo
+    librsvg
+    wayland
+    wayland-protocols
+  ];
+
+  meta = with lib; {
+    homepage = "https://git.sr.ht/~leon_plickat/lavalauncher";
+    description = "A simple launcher panel for Wayland desktops";
+    longDescription = ''
+      LavaLauncher is a simple launcher panel for Wayland desktops.
+
+      It displays a dynamically sized bar with user defined buttons. Buttons
+      consist of an image, which is displayed as the button icon on the bar, and
+      at least one shell command, which is executed when the user activates the
+      button.
+
+      Buttons can be activated with pointer and touch events.
+
+      A single LavaLauncher instance can provide multiple such bars, across
+      multiple outputs.
+
+      The Wayland compositor must implement the Layer-Shell and XDG-Output for
+      LavaLauncher to work.
+    '';
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/applications/misc/lscolors/cargo.lock.patch b/pkgs/applications/misc/lscolors/cargo.lock.patch
new file mode 100644
index 0000000000000..2f233a0667b8e
--- /dev/null
+++ b/pkgs/applications/misc/lscolors/cargo.lock.patch
@@ -0,0 +1,159 @@
+diff --git a/Cargo.lock b/Cargo.lock
+new file mode 100644
+index 0000000..3528c6c
+--- /dev/null
++++ b/Cargo.lock
+@@ -0,0 +1,153 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++[[package]]
++name = "ansi_term"
++version = "0.12.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "bitflags"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
++
++[[package]]
++name = "cfg-if"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
++
++[[package]]
++name = "getrandom"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "wasi",
++]
++
++[[package]]
++name = "libc"
++version = "0.2.86"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
++
++[[package]]
++name = "lscolors"
++version = "0.7.1"
++dependencies = [
++ "ansi_term",
++ "tempfile",
++]
++
++[[package]]
++name = "ppv-lite86"
++version = "0.2.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
++
++[[package]]
++name = "rand"
++version = "0.8.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
++dependencies = [
++ "libc",
++ "rand_chacha",
++ "rand_core",
++ "rand_hc",
++]
++
++[[package]]
++name = "rand_chacha"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
++dependencies = [
++ "ppv-lite86",
++ "rand_core",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.6.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
++dependencies = [
++ "getrandom",
++]
++
++[[package]]
++name = "rand_hc"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
++dependencies = [
++ "rand_core",
++]
++
++[[package]]
++name = "redox_syscall"
++version = "0.2.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "94341e4e44e24f6b591b59e47a8a027df12e008d73fd5672dbea9cc22f4507d9"
++dependencies = [
++ "bitflags",
++]
++
++[[package]]
++name = "remove_dir_all"
++version = "0.5.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "tempfile"
++version = "3.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "rand",
++ "redox_syscall",
++ "remove_dir_all",
++ "winapi",
++]
++
++[[package]]
++name = "wasi"
++version = "0.10.2+wasi-snapshot-preview1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
++
++[[package]]
++name = "winapi"
++version = "0.3.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
++dependencies = [
++ "winapi-i686-pc-windows-gnu",
++ "winapi-x86_64-pc-windows-gnu",
++]
++
++[[package]]
++name = "winapi-i686-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
++
++[[package]]
++name = "winapi-x86_64-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
diff --git a/pkgs/applications/misc/lscolors/default.nix b/pkgs/applications/misc/lscolors/default.nix
new file mode 100644
index 0000000000000..76e4792ab1c2c
--- /dev/null
+++ b/pkgs/applications/misc/lscolors/default.nix
@@ -0,0 +1,26 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "lscolors";
+  version = "0.7.1";
+
+  src = fetchFromGitHub {
+    owner = "sharkdp";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0av3v31fvanvn59bdm9d0v9zh5lzrq0f4vqhg6xlvabkgsa8jk04";
+  };
+
+  cargoPatches = [
+    ./cargo.lock.patch
+  ];
+
+  cargoSha256 = "02k23idwy0sb4lnjrwnyah3qp22zj161ilbc13p75k0hdijfaxl5";
+
+  meta = with lib; {
+    description = "Rust library and tool to colorize paths using LS_COLORS";
+    homepage = "https://github.com/sharkdp/lscolors";
+    license = with licenses; [ asl20 mit ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/applications/misc/lutris/default.nix b/pkgs/applications/misc/lutris/default.nix
index cb8494e1c48db..bacaf88e5cf53 100644
--- a/pkgs/applications/misc/lutris/default.nix
+++ b/pkgs/applications/misc/lutris/default.nix
@@ -1,4 +1,4 @@
-{ buildPythonApplication, lib, fetchFromGitHub, fetchpatch
+{ buildPythonApplication, lib, fetchFromGitHub
 
 # build inputs
 , atk
diff --git a/pkgs/applications/misc/lutris/fhsenv.nix b/pkgs/applications/misc/lutris/fhsenv.nix
index d7eabae0e8e5a..b580fabf58e90 100644
--- a/pkgs/applications/misc/lutris/fhsenv.nix
+++ b/pkgs/applications/misc/lutris/fhsenv.nix
@@ -28,7 +28,7 @@ in buildFHSUserEnv {
     # DGen // TODO: libarchive is broken
 
     # Dolphin
-    bluez ffmpeg_3 gettext portaudio wxGTK30 miniupnpc mbedtls lzo sfml gsm
+    bluez ffmpeg gettext portaudio wxGTK30 miniupnpc mbedtls lzo sfml gsm
     wavpack orc nettle gmp pcre vulkan-loader
 
     # DOSBox
@@ -97,7 +97,7 @@ in buildFHSUserEnv {
     libcap libtiff libva libgphoto2 libxslt libsndfile giflib zlib glib
     alsaLib zziplib bash dbus keyutils zip cabextract freetype unzip coreutils
     readline gcc SDL SDL2 curl graphite2 gtk2 gtk3 udev ncurses wayland libglvnd
-    vulkan-loader xdg_utils sqlite gnutls p11-kit libbsd harfbuzz
+    vulkan-loader xdg-utils sqlite gnutls p11-kit libbsd harfbuzz
 
     # PCSX2 // TODO: "libgobject-2.0.so.0: wrong ELF class: ELFCLASS64"
 
diff --git a/pkgs/applications/misc/masterpdfeditor/default.nix b/pkgs/applications/misc/masterpdfeditor/default.nix
index a743a9fbc27d5..2fd217e3cd6a5 100644
--- a/pkgs/applications/misc/masterpdfeditor/default.nix
+++ b/pkgs/applications/misc/masterpdfeditor/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "masterpdfeditor";
-  version = "5.6.09";
+  version = "5.7.20";
 
   src = fetchurl {
-    url = "https://code-industry.net/public/master-pdf-editor-${version}-qt5.amd64.tar.gz";
-    sha256 = "0v9j6fwr0xl03kr77vf4wdb06zlplmn4mr3jyzxhvs8a77scmfzb";
+    url = "https://code-industry.net/public/master-pdf-editor-${version}-qt5.x86_64.tar.gz";
+    sha256 = "0lyfss0r0dc6skhdlkslcdagdp9k1mi0w8n5pbrskwcd09c9mxym";
   };
 
   nativeBuildInputs = [ autoPatchelfHook wrapQtAppsHook ];
diff --git a/pkgs/applications/misc/mkgmap/default.nix b/pkgs/applications/misc/mkgmap/default.nix
index ad001eb304570..ae82a324df567 100644
--- a/pkgs/applications/misc/mkgmap/default.nix
+++ b/pkgs/applications/misc/mkgmap/default.nix
@@ -14,11 +14,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mkgmap";
-  version = "4600";
+  version = "4601";
 
   src = fetchurl {
     url = "http://www.mkgmap.org.uk/download/mkgmap-r${version}-src.tar.gz";
-    sha256 = "1xnqbyrf5cbxmggkk1pjcj5d1767kbp15v12zy2fpbbn3yf0k3sh";
+    sha256 = "TQ2Ee0sy9q4PUvY3TD6zaQ9oy1xgsw5OAw4RQ7ecCUM=";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/mkgmap/splitter/default.nix b/pkgs/applications/misc/mkgmap/splitter/default.nix
index eabc0601cfabd..c78d81771caaa 100644
--- a/pkgs/applications/misc/mkgmap/splitter/default.nix
+++ b/pkgs/applications/misc/mkgmap/splitter/default.nix
@@ -13,11 +13,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "splitter";
-  version = "597";
+  version = "598";
 
   src = fetchurl {
     url = "http://www.mkgmap.org.uk/download/splitter-r${version}-src.tar.gz";
-    sha256 = "0d928wvlpzqwdpfksmxyyfkqrhjsij21wx2538bs2i29siwyla61";
+    sha256 = "gpbJpDBXA9tmSmx9oKLa7xWtIOHBTYd1iPPgNTC2C2M=";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/mob/default.nix b/pkgs/applications/misc/mob/default.nix
index 96c8d8cf32a4d..75013f0931f4f 100644
--- a/pkgs/applications/misc/mob/default.nix
+++ b/pkgs/applications/misc/mob/default.nix
@@ -2,14 +2,14 @@
 
 buildGoPackage rec {
   pname = "mob";
-  version = "1.1.0";
+  version = "1.3.0";
   goPackagePath = "github.com/remotemobprogramming/mob";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "remotemobprogramming";
     repo = pname;
-    sha256 = "sha256-C63tGMd+kGQc99k7L8SKlijlEBaBCiksAghsg6WC8Bw=";
+    sha256 = "sha256-uzWr6wWO6niocJ8yLc1Uu9Wt/FXlCuQrC0RJkgVlphM=";
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/moolticute/default.nix b/pkgs/applications/misc/moolticute/default.nix
index 804ba33209afb..eabc93492378a 100644
--- a/pkgs/applications/misc/moolticute/default.nix
+++ b/pkgs/applications/misc/moolticute/default.nix
@@ -9,13 +9,13 @@
 
 mkDerivation rec {
   pname = "moolticute";
-  version = "0.44.21";
+  version = "0.45.0";
 
   src = fetchFromGitHub {
     owner = "mooltipass";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1m3iy2v8mimyb25xisr7i4ga6qlggv1i2aji9qfgagns7ffp53nf";
+    sha256 = "sha256-azJ63NI0wzzv3acgoPaeF+lTM1WKpXg595FrK908k1U=";
   };
 
   outputs = [ "out" "udev" ];
diff --git a/pkgs/applications/misc/mpvc/default.nix b/pkgs/applications/misc/mpvc/default.nix
index 64b55cce7a044..69aca239d311c 100644
--- a/pkgs/applications/misc/mpvc/default.nix
+++ b/pkgs/applications/misc/mpvc/default.nix
@@ -17,7 +17,8 @@ stdenv.mkDerivation {
     wrapProgram $out/bin/mpvc --prefix PATH : "${socat}/bin/"
   '';
 
-  buildInputs = [ socat makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ socat ];
 
   meta = with lib; {
     description = "A mpc-like control interface for mpv";
diff --git a/pkgs/applications/misc/multibootusb/default.nix b/pkgs/applications/misc/multibootusb/default.nix
index fd1ca66658921..1d625a67b7b98 100644
--- a/pkgs/applications/misc/multibootusb/default.nix
+++ b/pkgs/applications/misc/multibootusb/default.nix
@@ -110,5 +110,6 @@ python36Packages.buildPythonApplication rec {
     homepage = "http://multibootusb.org/";
     license = licenses.gpl2;
     maintainers = []; # Looking for a maintainer!
+    broken = true; # "name 'config' is not defined", added 2021-02-06
   };
 }
diff --git a/pkgs/applications/misc/nrsc5/default.nix b/pkgs/applications/misc/nrsc5/default.nix
index 8b8fa16fc213d..e55438f0eb115 100644
--- a/pkgs/applications/misc/nrsc5/default.nix
+++ b/pkgs/applications/misc/nrsc5/default.nix
@@ -46,7 +46,7 @@ in stdenv.mkDerivation {
     homepage = "https://github.com/theori-io/nrsc5";
     description = "HD-Radio decoder for RTL-SDR";
     platforms = lib.platforms.linux;
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ markuskowa ];
   };
 }
diff --git a/pkgs/applications/misc/nwg-launchers/default.nix b/pkgs/applications/misc/nwg-launchers/default.nix
index c4c54ba7c53b5..2dbcef8779f50 100644
--- a/pkgs/applications/misc/nwg-launchers/default.nix
+++ b/pkgs/applications/misc/nwg-launchers/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nwg-launchers";
-  version = "0.4.3";
+  version = "0.4.4";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vuvYL9N9xdg27uhiTe2OqxZ3/n/9EjlqPxtNMXpqpE8=";
+    sha256 = "sha256-krhFtFQZSwfKPHmVxPGNySPL2Y9+kA0fxjZ/D+mNks4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/obsidian/default.nix b/pkgs/applications/misc/obsidian/default.nix
index 57400fe100c77..76009b96a3320 100644
--- a/pkgs/applications/misc/obsidian/default.nix
+++ b/pkgs/applications/misc/obsidian/default.nix
@@ -30,12 +30,12 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "obsidian";
-  version = "0.10.11";
+  version = "0.11.0";
 
   src = fetchurl {
     url =
       "https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/obsidian-${version}.asar.gz";
-    sha256 = "RQdNTzorFq3W8clNObyOisKWUM/s+bE/CbpJ/8ABbrk=";
+    sha256 = "AkPx7X00kEds7B1syXJPSV1+TJlqQ7NnR6w9wSG2BRw=";
   };
 
   nativeBuildInputs = [ makeWrapper graphicsmagick ];
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index f35d03c6d1723..af42466d0eadf 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -3,6 +3,7 @@
 , lib
 , fetchFromGitHub
 , python3
+, nix-update-script
   # To include additional plugins, pass them here as an overlay.
 , packageOverrides ? self: super: {}
 }:
@@ -89,13 +90,13 @@ let
           self: super: {
             octoprint = self.buildPythonPackage rec {
               pname = "OctoPrint";
-              version = "1.5.1";
+              version = "1.5.3";
 
               src = fetchFromGitHub {
                 owner = "OctoPrint";
                 repo = "OctoPrint";
                 rev = version;
-                sha256 = "04x58cjivslsrld341ip11c50d50p2q01090nsyji0j255v986j9";
+                sha256 = "sha256-ZL/P/YIHynPmP8ssZZUKZDJscBsSsCq3UtOHrTVLpec=";
               };
 
               propagatedBuildInputs = with super; [
@@ -143,7 +144,9 @@ let
 
               postPatch = let
                 ignoreVersionConstraints = [
+                  "emoji"
                   "sentry-sdk"
+                  "watchdog"
                 ];
               in
                 ''
@@ -170,7 +173,10 @@ let
                 "test_set_external_modification"
               ];
 
-              passthru.python = self.python;
+              passthru = {
+                python = self.python;
+                updateScript = nix-update-script { attrPath = "octoprint"; };
+              };
 
               meta = with lib; {
                 homepage = "https://octoprint.org/";
diff --git a/pkgs/applications/misc/omegat.nix b/pkgs/applications/misc/omegat.nix
index 7b91d245f810e..2bb3d14e1d251 100644
--- a/pkgs/applications/misc/omegat.nix
+++ b/pkgs/applications/misc/omegat.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation {
     sha256 = "0axz7r30p34z5hgvdglznc82g7yvm3g56dv5190jixskx6ba58rs";
   };
 
-  buildInputs = [ unzip makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ unzip ];
 
   unpackCmd = "unzip -o $curSrc";  # tries to go interactive without -o
 
diff --git a/pkgs/applications/misc/onboard/default.nix b/pkgs/applications/misc/onboard/default.nix
index d52120e0fb7d0..745d03bb189e6 100644
--- a/pkgs/applications/misc/onboard/default.nix
+++ b/pkgs/applications/misc/onboard/default.nix
@@ -6,7 +6,6 @@
 , atspiSupport ? true
 , bash
 , glib
-, glibcLocales
 , dconf
 , gobject-introspection
 , gsettings-desktop-schemas
@@ -130,8 +129,7 @@ python3.pkgs.buildPythonApplication rec {
       --replace "/etc" "$out/etc"
 
     substituteInPlace  ./Onboard/LanguageSupport.py \
-      --replace "/usr/share/xml/iso-codes" "${isocodes}/share/xml/iso-codes" \
-      --replace "/usr/bin/yelp" "${yelp}/bin/yelp"
+      --replace "/usr/share/xml/iso-codes" "${isocodes}/share/xml/iso-codes"
 
     substituteInPlace  ./Onboard/Indicator.py \
       --replace   "/usr/bin/yelp" "${yelp}/bin/yelp"
diff --git a/pkgs/applications/misc/openbox-menu/with-svg.patch b/pkgs/applications/misc/openbox-menu/000-enable-svg.patch
index dd6710f5cfc9f..dd6710f5cfc9f 100644
--- a/pkgs/applications/misc/openbox-menu/with-svg.patch
+++ b/pkgs/applications/misc/openbox-menu/000-enable-svg.patch
diff --git a/pkgs/applications/misc/openbox-menu/default.nix b/pkgs/applications/misc/openbox-menu/default.nix
index 9d2695f97fffb..71c7903dfe221 100644
--- a/pkgs/applications/misc/openbox-menu/default.nix
+++ b/pkgs/applications/misc/openbox-menu/default.nix
@@ -1,4 +1,11 @@
-{ lib, stdenv, fetchurl, pkg-config, glib, gtk2, menu-cache }:
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, glib
+, gtk2
+, menu-cache
+}:
 
 stdenv.mkDerivation rec {
   pname = "openbox-menu";
@@ -12,11 +19,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ glib gtk2 menu-cache ];
 
-  patches = [ ./with-svg.patch ];
+  # Enables SVG support by uncommenting the Makefile
+  patches = [ ./000-enable-svg.patch ];
 
-  installPhase = "make install prefix=$out";
+  installFlags = [ "prefix=${placeholder "out"}" ];
 
-  meta = {
+  meta = with lib; {
     homepage = "http://fabrice.thiroux.free.fr/openbox-menu_en.html";
     description = "Dynamic XDG menu generator for Openbox";
     longDescription = ''
@@ -24,8 +32,8 @@ stdenv.mkDerivation rec {
       dynamic menu listing installed applications. Most of the work is done by
       the LXDE library menu-cache.
     '';
-    license = lib.licenses.gpl3;
-    maintainers = [ lib.maintainers.romildo ];
-    platforms   = lib.platforms.unix;
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.romildo ];
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/openjump/default.nix b/pkgs/applications/misc/openjump/default.nix
index 28becefa5b12e..b3e93ce512713 100644
--- a/pkgs/applications/misc/openjump/default.nix
+++ b/pkgs/applications/misc/openjump/default.nix
@@ -18,7 +18,8 @@ stdenv.mkDerivation {
     cd $out; unzip $src
   '';
 
-  buildInputs = [unzip makeWrapper];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ unzip ];
 
   installPhase = ''
     dir=$(echo $out/OpenJUMP-*)
diff --git a/pkgs/applications/misc/osmium-tool/default.nix b/pkgs/applications/misc/osmium-tool/default.nix
index 2397f3b8806b5..009f40e1a2194 100644
--- a/pkgs/applications/misc/osmium-tool/default.nix
+++ b/pkgs/applications/misc/osmium-tool/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "osmium-tool";
-  version = "1.13.0";
+  version = "1.13.1";
 
   src = fetchFromGitHub {
     owner = "osmcode";
     repo = "osmium-tool";
     rev = "v${version}";
-    sha256 = "0rn67g4xf01i7pkxrdh87jdj2rzkw5pfkx5wkg9245z5yxjxhqj2";
+    sha256 = "sha256-IeFbcgwayBl3xxv3onCJr0f1oeveyyNlLxXQlzOoVq0=";
   };
 
   nativeBuildInputs = [
@@ -48,6 +48,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Multipurpose command line tool for working with OpenStreetMap data based on the Osmium library";
     homepage = "https://osmcode.org/osmium-tool/";
+    changelog = "https://github.com/osmcode/osmium-tool/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ gpl3Plus mit bsd3 ];
     maintainers = with maintainers; [ das-g ];
   };
diff --git a/pkgs/applications/misc/pbpst/default.nix b/pkgs/applications/misc/pbpst/default.nix
deleted file mode 100644
index 68b1908e51502..0000000000000
--- a/pkgs/applications/misc/pbpst/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ llvmPackages, lib, stdenv, fetchFromGitHub
-, python36Packages, which, pkg-config, curl, git, gettext, jansson
-
-# Optional overrides
-, maxFileSize ? 64 # in MB
-, provider ? "https://ptpb.pw/"
-}:
-
-llvmPackages.stdenv.mkDerivation rec {
-  version = "unstable-2018-01-11";
-  name = "pbpst-${version}";
-
-  src = fetchFromGitHub {
-    owner = "HalosGhost";
-    repo = "pbpst";
-    rev = "ecbe08a0b72a6e4212f09fc6cf52a73506992346";
-    sha256 = "0dwhmw1dg4hg75nlvk5kmvv3slz2n3b9x65q4ig16agwqfsp4mdm";
-  };
-
-  nativeBuildInputs = [
-    python36Packages.sphinx
-    which
-    pkg-config
-    curl
-    git
-    gettext
-  ];
-  buildInputs = [ curl jansson ];
-
-  patchPhase = ''
-    patchShebangs ./configure
-
-    # Remove hardcoded check for libs in /usr/lib/
-    sed -e '64,67d' -i ./configure
-  '';
-
-  configureFlags = [
-    "--file-max=${toString (maxFileSize * 1024 * 1024)}" # convert to bytes
-    "--provider=${provider}"
-  ];
-
-  meta = with lib; {
-    description = "A command-line libcurl C client for pb deployments";
-    inherit (src.meta) homepage;
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ tmplt ];
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/misc/pcmanfm/default.nix b/pkgs/applications/misc/pcmanfm/default.nix
index da1c79865a778..474fddb25201a 100644
--- a/pkgs/applications/misc/pcmanfm/default.nix
+++ b/pkgs/applications/misc/pcmanfm/default.nix
@@ -7,10 +7,10 @@ let
   inherit (lib) optional;
 in
 stdenv.mkDerivation rec {
-  name = "pcmanfm-1.3.1";
+  name = "pcmanfm-1.3.2";
   src = fetchurl {
     url = "mirror://sourceforge/pcmanfm/${name}.tar.xz";
-    sha256 = "0mb8hg76x1z0szdyl0w7jpz0bdblc6a29is1vvnh79z37qxh8138";
+    sha256 = "sha256-FMt7JHSTxMzmX7tZAmEeOtAKeocPvB5QrcUEKMUUDPc=";
   };
 
   buildInputs = [ glib gtk libfm' libX11 pango gnome3.adwaita-icon-theme ];
diff --git a/pkgs/applications/misc/pdfpc/default.nix b/pkgs/applications/misc/pdfpc/default.nix
index 84ba3ced8fc78..ec78c43dbe041 100644
--- a/pkgs/applications/misc/pdfpc/default.nix
+++ b/pkgs/applications/misc/pdfpc/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, vala, gtk3, libgee, fetchpatch
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, vala, gtk3, libgee
 , poppler, libpthreadstubs, gstreamer, gst-plugins-base, gst-plugins-good, gst-libav, librsvg, pcre, gobject-introspection, wrapGAppsHook
 , webkitgtk, discount, json-glib }:
 
diff --git a/pkgs/applications/misc/perkeep/default.nix b/pkgs/applications/misc/perkeep/default.nix
index 5a1e5ba65dedd..2b14079ae609f 100644
--- a/pkgs/applications/misc/perkeep/default.nix
+++ b/pkgs/applications/misc/perkeep/default.nix
@@ -1,4 +1,4 @@
-{ buildGoPackage, fetchurl, fetchFromGitHub, lib }:
+{ buildGoModule, fetchurl, fetchFromGitHub, lib }:
 
 let
   gouiJS = fetchurl {
@@ -11,41 +11,49 @@ let
     sha256 = "09hd7p0xscqnh612jbrjvh3njmlm4292zd5sbqx2lg0aw688q8p2";
   };
 
-in buildGoPackage rec {
-  name = "perkeep-${version}";
-  version = "unstable-2020-03-23";
+  packages = [
+    "perkeep.org/server/perkeepd"
+    "perkeep.org/cmd/pk"
+    "perkeep.org/cmd/pk-get"
+    "perkeep.org/cmd/pk-put"
+    "perkeep.org/cmd/pk-mount"
+  ];
+
+in buildGoModule rec {
+  pname = "perkeep";
+  version = "0.11";
 
   src = fetchFromGitHub {
     owner = "perkeep";
     repo = "perkeep";
-    rev = "c2e31370ddefd86b6112a5d891100ea3382a4254";
-    sha256 = "0jf02k20ms7h60wglcq6dj3vqi9rlfww7db5iplgwznbij70c1i4";
+    rev = version;
+    sha256 = "07j5gplk4kcrbazyg4m4bwggzlz5gk89h90r14jvfcpms7v5nrll";
   };
 
-  goPackagePath = "perkeep.org";
+  vendorSha256 = "1af9a6r9qfrak0n5xyv9z8n7gn7xw2sdjn4s9bwwidkrdm81iq6b";
+  deleteVendor = true; # Vendor is out of sync with go.mod
 
   buildPhase = ''
-    cd "$NIX_BUILD_TOP/go/src/$goPackagePath"
+    cd "$NIX_BUILD_TOP/source"
 
     # Skip network fetches
-    sed -i '/fetchAllJS/a if true { return nil }' make.go
     cp ${publisherJS} app/publisher/publisher.js
     cp ${gouiJS} server/perkeepd/ui/goui.js
 
-    go run make.go
+    go run make.go -offline=true -targets=${lib.concatStringsSep "," packages}
   '';
 
-  # devcam is only useful when developing perkeep, we should not install it as
-  # part of this derivation.
+  # genfileembed gets built regardless of -targets, to embed static
+  # content into the Perkeep binaries. Remove it in post-install to
+  # avoid polluting paths.
   postInstall = ''
-    rm -f $out/bin/devcam
+    rm -f $out/bin/genfileembed
   '';
 
   meta = with lib; {
     description = "A way of storing, syncing, sharing, modelling and backing up content (née Camlistore)";
     homepage = "https://perkeep.org";
     license = licenses.asl20;
-    maintainers = with maintainers; [ cstrahan kalbasit ];
-    platforms = platforms.unix;
+    maintainers = with maintainers; [ cstrahan danderson kalbasit ];
   };
 }
diff --git a/pkgs/applications/misc/plasma-applet-volumewin7mixer/default.nix b/pkgs/applications/misc/plasma-applet-volumewin7mixer/default.nix
index 57ec820a0902c..bb365ecfefd89 100644
--- a/pkgs/applications/misc/plasma-applet-volumewin7mixer/default.nix
+++ b/pkgs/applications/misc/plasma-applet-volumewin7mixer/default.nix
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake extra-cmake-modules ];
   buildInputs = [ plasma-framework kwindowsystem plasma-pa ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "A fork of the default volume plasmoid with a Windows 7 theme (vertical sliders)";
     homepage = "https://github.com/Zren/plasma-applet-volumewin7mixer";
diff --git a/pkgs/applications/misc/playonlinux/0001-fix-locale.patch b/pkgs/applications/misc/playonlinux/0001-fix-locale.patch
new file mode 100644
index 0000000000000..2ae1a17ca8b9f
--- /dev/null
+++ b/pkgs/applications/misc/playonlinux/0001-fix-locale.patch
@@ -0,0 +1,17 @@
+diff --git a/python/lib/lng.py b/python/lib/lng.py
+index a390d920..00c3527e 100755
+--- a/python/lib/lng.py
++++ b/python/lib/lng.py
+@@ -12,11 +12,7 @@ class Lang(object):
+ 
+ class iLang(object):
+     def __init__(self):
+-        if(os.environ["DEBIAN_PACKAGE"] == "TRUE"):
+-            languages = os.listdir('/usr/share/locale')
+-        else:
+-            languages = os.listdir(Variables.playonlinux_env+'/lang/locale')
+-
++        languages = os.listdir('@out@/share/playonlinux/lang/locale')
+         if(os.environ["POL_OS"] == "Mac"):
+             wxLocale = wx.Locale().FindLanguageInfo(os.environ["RLANG"])
+ 
diff --git a/pkgs/applications/misc/playonlinux/default.nix b/pkgs/applications/misc/playonlinux/default.nix
index d805aa0c0aa99..320d771bc67c9 100644
--- a/pkgs/applications/misc/playonlinux/default.nix
+++ b/pkgs/applications/misc/playonlinux/default.nix
@@ -9,7 +9,7 @@
 , imagemagick
 , netcat-gnu
 , p7zip
-, python2
+, python3
 , unzip
 , wget
 , wine
@@ -22,6 +22,9 @@
 , jq
 , xorg
 , libGL
+, steam-run-native
+# needed for avoiding crash on file selector
+, gsettings-desktop-schemas
 }:
 
 let
@@ -54,9 +57,10 @@ let
   ld64 = "${stdenv.cc}/nix-support/dynamic-linker";
   libs = pkgs: lib.makeLibraryPath [ xorg.libX11 libGL ];
 
-  python = python2.withPackages(ps: with ps; [
-    wxPython
+  python = python3.withPackages(ps: with ps; [
+    wxPython_4_1
     setuptools
+    natsort
   ]);
 
 in stdenv.mkDerivation {
@@ -68,8 +72,16 @@ in stdenv.mkDerivation {
     sha256 = "0n40927c8cnjackfns68zwl7h4d7dvhf7cyqdkazzwwx4k2xxvma";
   };
 
+  patches = [
+    ./0001-fix-locale.patch
+  ];
+
   nativeBuildInputs = [ makeWrapper ];
 
+  preBuild = ''
+    makeFlagsArray+=(PYTHON="python -m py_compile")
+  '';
+
   buildInputs = [
     xorg.libX11
     libGL
@@ -77,6 +89,7 @@ in stdenv.mkDerivation {
   ];
 
   postPatch = ''
+    substituteAllInPlace python/lib/lng.py
     patchShebangs python tests/python
     sed -i "s/ %F//g" etc/PlayOnLinux.desktop
   '';
@@ -87,8 +100,16 @@ in stdenv.mkDerivation {
 
     install -D -m644 etc/PlayOnLinux.desktop $out/share/applications/playonlinux.desktop
 
-    makeWrapper $out/share/playonlinux/playonlinux $out/bin/playonlinux \
-      --prefix PATH : ${binpath}
+    makeWrapper $out/share/playonlinux/playonlinux{,-wrapper} \
+      --prefix PATH : ${binpath} \
+      --prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/GConf
+    # steam-run is needed to run the downloaded wine executables
+    mkdir -p $out/bin
+    cat > $out/bin/playonlinux <<EOF
+    #!${stdenv.shell} -e
+    exec ${steam-run-native}/bin/steam-run $out/share/playonlinux/playonlinux-wrapper "\$@"
+    EOF
+    chmod a+x $out/bin/playonlinux
 
     bunzip2 $out/share/playonlinux/bin/check_dd_x86.bz2
     patchelf --set-interpreter $(cat ${ld32}) --set-rpath ${libs pkgsi686Linux} $out/share/playonlinux/bin/check_dd_x86
@@ -107,7 +128,7 @@ in stdenv.mkDerivation {
     description = "GUI for managing Windows programs under linux";
     homepage = "https://www.playonlinux.com/";
     license = licenses.gpl3;
-    maintainers = [ maintainers.a1russell ];
+    maintainers = [ maintainers.pasqui23 ];
     platforms = [ "x86_64-linux" "i686-linux" ];
   };
 }
diff --git a/pkgs/applications/misc/polybar/default.nix b/pkgs/applications/misc/polybar/default.nix
index c79da21ad63a6..b01b5af7dedc5 100644
--- a/pkgs/applications/misc/polybar/default.nix
+++ b/pkgs/applications/misc/polybar/default.nix
@@ -1,13 +1,29 @@
-{ cairo, cmake, fetchFromGitHub, libXdmcp, libpthreadstubs, libxcb, pcre, pkg-config
-, python3, lib, stdenv, xcbproto, xcbutil, xcbutilcursor, xcbutilimage
-, xcbutilrenderutil, xcbutilwm, xcbutilxrm, makeWrapper
+{ cairo
+, cmake
+, fetchFromGitHub
+, libXdmcp
+, libpthreadstubs
+, libxcb
+, pcre
+, pkg-config
+, python3
+, lib
+, stdenv
+, xcbproto
+, xcbutil
+, xcbutilcursor
+, xcbutilimage
+, xcbutilrenderutil
+, xcbutilwm
+, xcbutilxrm
+, makeWrapper
 , removeReferencesTo
 
 # optional packages-- override the variables ending in 'Support' to enable or
 # disable modules
 , alsaSupport   ? true,  alsaLib       ? null
 , githubSupport ? false, curl          ? null
-, mpdSupport    ? false, mpd_clientlib ? null
+, mpdSupport    ? false, libmpdclient ? null
 , pulseSupport  ? false, libpulseaudio ? null
 , iwSupport     ? false, wirelesstools ? null
 , nlSupport     ? true,  libnl         ? null
@@ -16,7 +32,7 @@
 
 assert alsaSupport   -> alsaLib       != null;
 assert githubSupport -> curl          != null;
-assert mpdSupport    -> mpd_clientlib != null;
+assert mpdSupport    -> libmpdclient != null;
 assert pulseSupport  -> libpulseaudio != null;
 
 assert iwSupport     -> ! nlSupport && wirelesstools != null;
@@ -37,26 +53,24 @@ stdenv.mkDerivation rec {
       fetchSubmodules = true;
     };
 
-    meta = with lib; {
-      homepage = "https://polybar.github.io/";
-      description = "A fast and easy-to-use tool for creating status bars";
-      longDescription = ''
-        Polybar aims to help users build beautiful and highly customizable
-        status bars for their desktop environment, without the need of
-        having a black belt in shell scripting.
-      '';
-      license = licenses.mit;
-      maintainers = with maintainers; [ afldcr Br1ght0ne ];
-      platforms = platforms.linux;
-    };
-
     buildInputs = [
-      cairo libXdmcp libpthreadstubs libxcb pcre python3 xcbproto xcbutil
-      xcbutilcursor xcbutilimage xcbutilrenderutil xcbutilwm xcbutilxrm
+      cairo
+      libXdmcp
+      libpthreadstubs
+      libxcb
+      pcre
+      python3
+      xcbproto
+      xcbutil
+      xcbutilcursor
+      xcbutilimage
+      xcbutilrenderutil
+      xcbutilwm
+      xcbutilxrm
 
       (if alsaSupport   then alsaLib       else null)
       (if githubSupport then curl          else null)
-      (if mpdSupport    then mpd_clientlib else null)
+      (if mpdSupport    then libmpdclient  else null)
       (if pulseSupport  then libpulseaudio else null)
 
       (if iwSupport     then wirelesstools else null)
@@ -69,16 +83,36 @@ stdenv.mkDerivation rec {
       (if i3Support || i3GapsSupport then makeWrapper else null)
     ];
 
-    postInstall = if (i3Support || i3GapsSupport) then ''
-      wrapProgram $out/bin/polybar \
-        --prefix PATH : "${if i3Support then i3 else i3-gaps}/bin"
-    '' else "";
+    postInstall = if i3Support
+                  then ''wrapProgram $out/bin/polybar \
+                           --prefix PATH : "${i3}/bin"
+                       ''
+                  else if i3GapsSupport
+                  then ''wrapProgram $out/bin/polybar \
+                           --prefix PATH : "${i3-gaps}/bin"
+                       ''
+                  else '''';
 
     nativeBuildInputs = [
-      cmake pkg-config removeReferencesTo
+      cmake
+      pkg-config
+      removeReferencesTo
     ];
 
     postFixup = ''
         remove-references-to -t ${stdenv.cc} $out/bin/polybar
     '';
+
+    meta = with lib; {
+      homepage = "https://polybar.github.io/";
+      description = "A fast and easy-to-use tool for creating status bars";
+      longDescription = ''
+        Polybar aims to help users build beautiful and highly customizable
+        status bars for their desktop environment, without the need of
+        having a black belt in shell scripting.
+      '';
+      license = licenses.mit;
+      maintainers = with maintainers; [ afldcr Br1ght0ne ];
+      platforms = platforms.linux;
+    };
 }
diff --git a/pkgs/applications/misc/projectlibre/default.nix b/pkgs/applications/misc/projectlibre/default.nix
index fd83d74edd541..ceb61d71866c3 100644
--- a/pkgs/applications/misc/projectlibre/default.nix
+++ b/pkgs/applications/misc/projectlibre/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "0vy5vgbp45ai957gaby2dj1hvmbxfdlfnwcanwqm9f8q16qipdbq";
   };
 
-  buildInputs = [ ant jdk makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ ant jdk ];
   buildPhase = ''
     export ANT_OPTS=-Dbuild.sysclasspath=ignore
     ${ant}/bin/ant -f openproj_build/build.xml
diff --git a/pkgs/applications/misc/pueue/default.nix b/pkgs/applications/misc/pueue/default.nix
index d0459cb426c61..dd46c566cd829 100644
--- a/pkgs/applications/misc/pueue/default.nix
+++ b/pkgs/applications/misc/pueue/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pueue";
-  version = "0.8.2";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "Nukesor";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1vdlsfnqnyri0ny2g695lhivs9m25v9lsqf1valwbjv9l9vjxfqa";
+    sha256 = "sha256-yOUVDq/wRY35ZQjQVwTLYHKukkKpoggN51wBDdZnhI4=";
   };
 
-  cargoSha256 = "0qziwb69qpbziz772np8dcb1dvxg6m506k5kl63m75z4zicgykcv";
+  cargoSha256 = "sha256-56jJ8IjxWTBlaDd1CVit4RP659Mgw2j2wMWcSDYVihM=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/misc/pwsafe/default.nix b/pkgs/applications/misc/pwsafe/default.nix
index 2e7c77c0935ac..6aa1099c35c88 100644
--- a/pkgs/applications/misc/pwsafe/default.nix
+++ b/pkgs/applications/misc/pwsafe/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pwsafe";
-  version = "3.53.0";
+  version = "3.55.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "0nh5jnf5yls2qv5hpfhm6i854zsknyh7d93c987a0cg14sg820fv";
+    sha256 = "sha256-+Vfwz8xGmSzFNdiN5XYkRqGmFuBVIgexXdH3B+XYY3o=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/qdirstat/default.nix b/pkgs/applications/misc/qdirstat/default.nix
index 7830f2035d9cd..29cd7967e1309 100644
--- a/pkgs/applications/misc/qdirstat/default.nix
+++ b/pkgs/applications/misc/qdirstat/default.nix
@@ -1,5 +1,5 @@
 { lib, fetchFromGitHub, qmake
-, coreutils, xdg_utils, bash
+, coreutils, xdg-utils, bash
 , makeWrapper, perlPackages, mkDerivation }:
 
 let
@@ -28,7 +28,7 @@ mkDerivation {
     for i in src/SysUtil.cpp src/FileSizeStatsWindow.cpp
     do
       substituteInPlace $i \
-        --replace /usr/bin/xdg-open ${xdg_utils}/bin/xdg-open
+        --replace /usr/bin/xdg-open ${xdg-utils}/bin/xdg-open
     done
     for i in src/Cleanup.cpp src/cleanup-config-page.ui
     do
diff --git a/pkgs/applications/misc/qpdfview/default.nix b/pkgs/applications/misc/qpdfview/default.nix
index 6ae81fca27cf8..954c17097618d 100644
--- a/pkgs/applications/misc/qpdfview/default.nix
+++ b/pkgs/applications/misc/qpdfview/default.nix
@@ -14,11 +14,13 @@ let
   buildInputs = [
     qtbase qtsvg poppler djvulibre libspectre cups file ghostscript
   ];
+  # apply upstream fix for qt5.15 https://bazaar.launchpad.net/~adamreichold/qpdfview/trunk/revision/2104
+  patches = [ ./qpdfview-qt515-compat.patch ];
 in
 mkDerivation {
   pname = s.baseName;
   inherit (s) version;
-  inherit nativeBuildInputs buildInputs;
+  inherit nativeBuildInputs buildInputs patches;
   src = fetchurl {
     inherit (s) url sha256;
   };
@@ -40,7 +42,7 @@ mkDerivation {
   meta = {
     inherit (s) version;
     description = "A tabbed document viewer";
-    license = lib.licenses.gpl2;
+    license = lib.licenses.gpl2Plus;
     maintainers = [lib.maintainers.raskin];
     platforms = lib.platforms.linux;
     homepage = "https://launchpad.net/qpdfview";
diff --git a/pkgs/applications/misc/qpdfview/qpdfview-qt515-compat.patch b/pkgs/applications/misc/qpdfview/qpdfview-qt515-compat.patch
new file mode 100644
index 0000000000000..1fbf5ec3f1015
--- /dev/null
+++ b/pkgs/applications/misc/qpdfview/qpdfview-qt515-compat.patch
@@ -0,0 +1,17 @@
+Fix compatibility with Qt 5.15.
+
+Patch copied from upstream source repository:
+
+https://bazaar.launchpad.net/~adamreichold/qpdfview/trunk/revision/2104
+
+--- a/sources/model.h	2017-04-19 21:01:25 +0000
++++ b/sources/model.h	2020-06-09 06:24:11 +0000
+@@ -24,6 +24,7 @@
+ #define DOCUMENTMODEL_H
+ 
+ #include <QList>
++#include <QPainterPath>
+ #include <QtPlugin>
+ #include <QWidget>
+ #include <QVector>
+
diff --git a/pkgs/applications/misc/qsyncthingtray/default.nix b/pkgs/applications/misc/qsyncthingtray/default.nix
index cdb4f60382117..100be6c2dc87b 100644
--- a/pkgs/applications/misc/qsyncthingtray/default.nix
+++ b/pkgs/applications/misc/qsyncthingtray/default.nix
@@ -67,6 +67,6 @@ mkDerivation rec {
     # 0.5.7 segfaults when opening the main panel with qt 5.7 and fails to compile with qt 5.8
     # but qt > 5.6 works when only using the native browser
     # https://github.com/sieren/QSyncthingTray/issues/223
-    broken = (builtins.compareVersions qtbase.version "5.7.0" >= 0 && !preferNative);
+    broken = (builtins.compareVersions qtbase.version "5.7.0" >= 0 && !preferNative) || stdenv.isDarwin;
   };
 }
diff --git a/pkgs/applications/misc/ranger/default.nix b/pkgs/applications/misc/ranger/default.nix
index 619b2ba99551c..10ea22a1eca00 100644
--- a/pkgs/applications/misc/ranger/default.nix
+++ b/pkgs/applications/misc/ranger/default.nix
@@ -1,12 +1,8 @@
 { lib, fetchFromGitHub, python3Packages, file, less, highlight
-, imagePreviewSupport ? true, w3m ? null}:
-
-with lib;
-
-assert imagePreviewSupport -> w3m != null;
+, imagePreviewSupport ? true, w3m }:
 
 python3Packages.buildPythonApplication rec {
-  name = "ranger-${version}";
+  pname = "ranger";
   version = "1.9.3";
 
   src = fetchFromGitHub {
@@ -18,34 +14,24 @@ python3Packages.buildPythonApplication rec {
 
   LC_ALL = "en_US.UTF-8";
 
-  checkInputs = with python3Packages; [ pytest ];
+  checkInputs = with python3Packages; [ pytestCheckHook ];
   propagatedBuildInputs = [ file ]
     ++ lib.optionals (imagePreviewSupport) [ python3Packages.pillow ];
 
-  checkPhase = ''
-    py.test tests
-  '';
-
   preConfigure = ''
     ${lib.optionalString (highlight != null) ''
       sed -i -e 's|^\s*highlight\b|${highlight}/bin/highlight|' \
         ranger/data/scope.sh
     ''}
 
-    substituteInPlace ranger/data/scope.sh \
-      --replace "/bin/echo" "echo"
-
     substituteInPlace ranger/__init__.py \
       --replace "DEFAULT_PAGER = 'less'" "DEFAULT_PAGER = '${lib.getBin less}/bin/less'"
 
-    for i in ranger/config/rc.conf doc/config/rc.conf ; do
-      substituteInPlace $i --replace /usr/share $out/share
-    done
-
     # give file previews out of the box
     substituteInPlace ranger/config/rc.conf \
+      --replace /usr/share $out/share \
       --replace "#set preview_script ~/.config/ranger/scope.sh" "set preview_script $out/share/doc/ranger/config/scope.sh"
-  '' + optionalString imagePreviewSupport ''
+  '' + lib.optionalString imagePreviewSupport ''
     substituteInPlace ranger/ext/img_display.py \
       --replace /usr/lib/w3m ${w3m}/libexec/w3m
 
@@ -57,8 +43,8 @@ python3Packages.buildPythonApplication rec {
   meta =  with lib; {
     description = "File manager with minimalistic curses interface";
     homepage = "http://ranger.github.io/";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     platforms = platforms.unix;
-    maintainers = [ maintainers.toonn maintainers.magnetophon ];
+    maintainers = with maintainers; [ toonn magnetophon ];
   };
 }
diff --git a/pkgs/applications/misc/reddsaver/default.nix b/pkgs/applications/misc/reddsaver/default.nix
index c90aeeb0afd64..bdb589d8f95e7 100644
--- a/pkgs/applications/misc/reddsaver/default.nix
+++ b/pkgs/applications/misc/reddsaver/default.nix
@@ -7,27 +7,27 @@
 }:
 
 rustPlatform.buildRustPackage rec {
-  version = "0.2.2";
   pname = "reddsaver";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "manojkarthick";
     repo = "reddsaver";
     rev = "v${version}";
-    sha256 = "0802jz503jhyz5q6mg1fj2bvkl4nggvs8y03zddd298ymplx5dbx";
+    sha256 = "0kww3abgvxr7azr7yb8aiw28fz13qb4sn3x7nnz1ihmd4yczi9fg";
   };
 
-  cargoSha256 = "0z8q187331j3rxj8hzym25pwrikxbd0r829v29y8w6v5n0hb47fs";
+  cargoSha256 = "09xm22vgmd3dc0wr6n3jczxvhwpcsijwfbv50dz1lnsx57g8mgmd";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ]
     ++ lib.optional stdenv.isDarwin Security;
 
-  # package does not contain tests as of v0.2.2
+  # package does not contain tests as of v0.3.1
   docCheck = false;
 
   meta = with lib; {
-    description = "CLI tool to download saved images from Reddit";
+    description = "CLI tool to download saved media from Reddit";
     homepage = "https://github.com/manojkarthick/reddsaver";
     license = with licenses; [ mit /* or */ asl20 ];
     maintainers = [ maintainers.manojkarthick ];
diff --git a/pkgs/applications/misc/redis-desktop-manager/default.nix b/pkgs/applications/misc/redis-desktop-manager/default.nix
index 844fd19e22cc2..8c4fa2efb2278 100644
--- a/pkgs/applications/misc/redis-desktop-manager/default.nix
+++ b/pkgs/applications/misc/redis-desktop-manager/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, lib, fetchFromGitHub, fetchFromGitiles, pkg-config, libssh2
-, qtbase, qtdeclarative, qtgraphicaleffects, qtimageformats, qtquickcontrols
+{ mkDerivation, lib, fetchFromGitHub, fetchFromGitiles, pkg-config, libssh2
+, qtbase, qtdeclarative, qtgraphicaleffects, qtimageformats, qtquickcontrols2
 , qtsvg, qttools, qtquick1, qtcharts
 , qmake
 }:
@@ -13,7 +13,7 @@ let
 
 in
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "redis-desktop-manager";
   version = "0.9.1";
 
@@ -28,10 +28,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config qmake ];
   buildInputs = [
     libssh2 qtbase qtdeclarative qtgraphicaleffects qtimageformats
-    qtquick1 qtquickcontrols qtsvg qttools qtcharts
+    qtquick1 qtquickcontrols2 qtsvg qttools qtcharts
   ];
 
   dontUseQmakeConfigure = true;
+  dontWrapQtApps = true;
 
   NIX_CFLAGS_COMPILE = [ "-Wno-error=deprecated" ];
 
@@ -76,7 +77,7 @@ EOF
   meta = with lib; {
     description = "Cross-platform open source Redis DB management tool";
     homepage = "https://redisdesktop.com/";
-    license = licenses.lgpl21;
+    license = licenses.gpl3Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ cstrahan ];
   };
diff --git a/pkgs/applications/misc/redshift-plasma-applet/default.nix b/pkgs/applications/misc/redshift-plasma-applet/default.nix
index fa5ee0c753aac..b8d25f0db1dea 100644
--- a/pkgs/applications/misc/redshift-plasma-applet/default.nix
+++ b/pkgs/applications/misc/redshift-plasma-applet/default.nix
@@ -35,6 +35,8 @@ stdenv.mkDerivation {
     kwindowsystem
   ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "KDE Plasma 5 widget for controlling Redshift";
     homepage = "https://github.com/kotelnik/plasma-applet-redshift-control";
diff --git a/pkgs/applications/misc/rofi/wrapper.nix b/pkgs/applications/misc/rofi/wrapper.nix
index 4e69f9cce1452..6115544e79fc6 100644
--- a/pkgs/applications/misc/rofi/wrapper.nix
+++ b/pkgs/applications/misc/rofi/wrapper.nix
@@ -1,4 +1,4 @@
-{ symlinkJoin, lib, rofi-unwrapped, makeWrapper, hicolor-icon-theme, theme ? null, plugins ? [] }:
+{ symlinkJoin, lib, rofi-unwrapped, makeWrapper, wrapGAppsHook, gdk-pixbuf, hicolor-icon-theme, theme ? null, plugins ? [] }:
 
 symlinkJoin {
   name = "rofi-${rofi-unwrapped.version}";
@@ -7,16 +7,23 @@ symlinkJoin {
     rofi-unwrapped.out
   ] ++ (lib.forEach plugins (p: p.out));
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper wrapGAppsHook ];
+  buildInputs = [ gdk-pixbuf ];
+
   preferLocalBuild = true;
   passthru.unwrapped = rofi-unwrapped;
+
+  dontWrapGApps = true;
+
   postBuild = ''
     rm -rf $out/bin
     mkdir $out/bin
     ln -s ${rofi-unwrapped}/bin/* $out/bin
-
     rm $out/bin/rofi
+
+    gappsWrapperArgsHook
     makeWrapper ${rofi-unwrapped}/bin/rofi $out/bin/rofi \
+      ''${gappsWrapperArgs[@]} \
       --prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share \
       ${lib.optionalString (plugins != []) ''--prefix XDG_DATA_DIRS : ${lib.concatStringsSep ":" (lib.forEach plugins (p: "${p.out}/share"))}''} \
       ${lib.optionalString (theme != null) ''--add-flags "-theme ${theme}"''} \
diff --git a/pkgs/applications/misc/sidequest/default.nix b/pkgs/applications/misc/sidequest/default.nix
index 6dad2eaf81284..c904c2212604a 100644
--- a/pkgs/applications/misc/sidequest/default.nix
+++ b/pkgs/applications/misc/sidequest/default.nix
@@ -19,7 +19,7 @@
         sha256 = "0fw952kdh1gn00y6sx2ag0rnb2paxq9ikg4bzgmbj7rrd1c6l2k9";
       };
 
-      buildInputs = [ makeWrapper ];
+      nativeBuildInputs = [ makeWrapper ];
 
       buildCommand = ''
         mkdir -p "$out/lib/SideQuest" "$out/bin"
diff --git a/pkgs/applications/misc/signumone-ks/default.nix b/pkgs/applications/misc/signumone-ks/default.nix
index aeea3ff5daa3c..eb0af95d58d59 100644
--- a/pkgs/applications/misc/signumone-ks/default.nix
+++ b/pkgs/applications/misc/signumone-ks/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, dpkg, autoPatchelfHook, makeWrapper,
-  atk, ffmpeg, gdk-pixbuf, glibc, gtk3, libav_0_8, libXtst }:
+  atk, ffmpeg, gdk-pixbuf, gtk3, libXtst }:
 
 stdenv.mkDerivation rec {
   pname = "signumone-ks";
@@ -20,8 +20,8 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    atk glibc gdk-pixbuf stdenv.cc.cc ffmpeg
-    libav_0_8 gtk3 libXtst
+    atk gdk-pixbuf ffmpeg
+    gtk3 libXtst
   ];
 
   libPath = lib.makeLibraryPath buildInputs;
diff --git a/pkgs/applications/misc/spacefm/default.nix b/pkgs/applications/misc/spacefm/default.nix
index e08240733d12f..3d9f720487541 100644
--- a/pkgs/applications/misc/spacefm/default.nix
+++ b/pkgs/applications/misc/spacefm/default.nix
@@ -13,7 +13,13 @@ stdenv.mkDerivation rec {
     sha256 = "089r6i40lxcwzp60553b18f130asspnzqldlpii53smz52kvpirx";
   };
 
-  patches = [ ./glibc-fix.patch ];
+  patches = [
+    # fix compilation error due to missing include
+    ./glibc-fix.patch
+
+    # restrict GDK backends to only X11
+    ./x11-only.patch
+  ];
 
   configureFlags = [
     "--with-bash-path=${pkgs.bash}/bin/bash"
diff --git a/pkgs/applications/misc/spacefm/x11-only.patch b/pkgs/applications/misc/spacefm/x11-only.patch
new file mode 100644
index 0000000000000..1b2f9f1458242
--- /dev/null
+++ b/pkgs/applications/misc/spacefm/x11-only.patch
@@ -0,0 +1,10 @@
+--- a/src/main.c	2021-02-09 13:54:32.847364236 +0100
++++ b/src/main.c	2021-02-09 10:41:51.541203271 +0100
+@@ -1350,6 +1351,7 @@
+                 vfs_file_monitor_clean();
+                 return 1;
+             }
++            gdk_set_allowed_backends("x11");
+             gtk_init (&argc, &argv);
+             int ret = custom_dialog_init( argc, argv );
+             if ( ret != 0 )
diff --git a/pkgs/applications/misc/spacenav-cube-example/default.nix b/pkgs/applications/misc/spacenav-cube-example/default.nix
new file mode 100644
index 0000000000000..1221db1ad962c
--- /dev/null
+++ b/pkgs/applications/misc/spacenav-cube-example/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, lib, libspnav, libX11, mesa_glu }:
+
+stdenv.mkDerivation {
+  pname = "spacenav-cube-example";
+  version = libspnav.version;
+
+  src = libspnav.src;
+
+  sourceRoot = "source/examples/cube";
+
+  buildInputs = [ libX11 mesa_glu libspnav ];
+
+  configureFlags = [ "--disable-debug" ];
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    cp cube $out/bin/spacenav-cube-example
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "http://spacenav.sourceforge.net/";
+    description = "An example application to test the spacenavd driver";
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ sohalt ];
+  };
+}
diff --git a/pkgs/applications/misc/spicetify-cli/default.nix b/pkgs/applications/misc/spicetify-cli/default.nix
index a042cc53c0553..62a6d4785f120 100644
--- a/pkgs/applications/misc/spicetify-cli/default.nix
+++ b/pkgs/applications/misc/spicetify-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "spicetify-cli";
-  version = "1.1.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "khanhas";
     repo = pname;
     rev = "v${version}";
-    sha256 = "08rnwj7ggh114n3mhhm8hb8fm1njgb4j6vba3hynp8x1c2ngidff";
+    sha256 = "sha256-HASFaPqm/A1QQ4nkd2hgeyqWplwE1RTrWA937rJA5Oo=";
   };
 
-  vendorSha256 = "0k06c3jw5z8rw8nk4qf794kyfipylmz6x6l126a2snvwi0lmc601";
+  vendorSha256 = "sha256-g0RYIVIq4oMXdRZDBDnVYg7ombN5WEo/6O9hChQvOYs=";
 
   # used at runtime, but not installed by default
   postInstall = ''
diff --git a/pkgs/applications/misc/ssh-tools/default.nix b/pkgs/applications/misc/ssh-tools/default.nix
new file mode 100644
index 0000000000000..8740633262fd9
--- /dev/null
+++ b/pkgs/applications/misc/ssh-tools/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "ssh-tools";
+  version = "1.6";
+
+  src = fetchFromGitHub {
+    owner = "vaporup";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0m0x9383p9ab4hdirncmrfha130iasa0v4cbif2y5nbxnxgh101r";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ssh-* $out/bin/
+  '';
+
+  meta = with lib; {
+    description = "Collection of various tools using ssh";
+    homepage = "https://github.com/vaporup/ssh-tools/";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/applications/misc/subsurface/default.nix b/pkgs/applications/misc/subsurface/default.nix
index 51d015c6e4104..19fdd4640e402 100644
--- a/pkgs/applications/misc/subsurface/default.nix
+++ b/pkgs/applications/misc/subsurface/default.nix
@@ -1,16 +1,17 @@
 { lib, stdenv, fetchurl, fetchFromGitHub, autoreconfHook, cmake, wrapQtAppsHook, pkg-config, qmake
 , curl, grantlee, libgit2, libusb-compat-0_1, libssh2, libxml2, libxslt, libzip, zlib
 , qtbase, qtconnectivity, qtlocation, qtsvg, qttools, qtwebkit, libXcomposite
+, bluez
 }:
 
 let
-  version = "4.9.6";
+  version = "4.9.10";
 
   subsurfaceSrc = (fetchFromGitHub {
     owner = "Subsurface";
     repo = "subsurface";
     rev = "v${version}";
-    sha256 = "1w1ak0fi6ljhg2jc4mjqyrbpax3iawrnsaqq6ls7qdzrhi37rggf";
+    sha256 = "12ndhjplz3cwndwzhfc959dc0i6rm2qf3v2d8n9kba8nj63iblfs";
     fetchSubmodules = true;
   });
 
@@ -52,6 +53,8 @@ let
 
     buildInputs = [ qtbase qtlocation libXcomposite ];
 
+    dontWrapQtApps = true;
+
     pluginsSubdir = "lib/qt-${qtbase.qtCompatVersion}/plugins";
 
     installPhase = ''
@@ -82,6 +85,7 @@ in stdenv.mkDerivation {
     libdc googlemaps
     curl grantlee libgit2 libssh2 libusb-compat-0_1 libxml2 libxslt libzip
     qtbase qtconnectivity qtsvg qttools qtwebkit
+    bluez
   ];
 
   nativeBuildInputs = [ cmake wrapQtAppsHook pkg-config ];
@@ -103,7 +107,7 @@ in stdenv.mkDerivation {
     '';
     homepage = "https://subsurface-divelog.org";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ mguentner ];
+    maintainers = with maintainers; [ mguentner adisbladis ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/misc/surface-control/default.nix b/pkgs/applications/misc/surface-control/default.nix
new file mode 100644
index 0000000000000..2c5db1fe15abe
--- /dev/null
+++ b/pkgs/applications/misc/surface-control/default.nix
@@ -0,0 +1,37 @@
+{ lib, rustPlatform, fetchFromGitHub, installShellFiles, coreutils }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "surface-control";
+  version = "0.3.1-1";
+
+  src = fetchFromGitHub {
+    owner = "linux-surface";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0wclzlix0a2naxbdg3wym7yw19p2wqpcjmkf7gn8cs00shrmzjld";
+  };
+
+  cargoSha256 = "0vi26v9mvx298kx6k5g7h8dnn7r208an9knadc23vxcrrxjr6pn5";
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    installShellCompletion \
+      $releaseDir/build/surface-*/out/surface.{bash,fish} \
+      --zsh $releaseDir/build/surface-*/out/_surface
+    install -Dm 0444 -t $out/etc/udev/rules.d \
+      etc/udev/40-surface-control.rules
+    substituteInPlace $out/etc/udev/rules.d/40-surface-control.rules \
+      --replace "/usr/bin/chmod" "${coreutils}/bin/chmod" \
+      --replace "/usr/bin/chown" "${coreutils}/bin/chown"
+  '';
+
+  meta = with lib; {
+    description =
+      "Control various aspects of Microsoft Surface devices on Linux from the Command-Line";
+    homepage = "https://github.com/linux-surface/surface-control";
+    license = licenses.mit;
+    maintainers = with maintainers; [ winterqt ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/swappy/default.nix b/pkgs/applications/misc/swappy/default.nix
index bf1fdf63fed5d..69d7836e76227 100644
--- a/pkgs/applications/misc/swappy/default.nix
+++ b/pkgs/applications/misc/swappy/default.nix
@@ -1,4 +1,6 @@
-{ lib, stdenv, fetchFromGitHub
+{ lib
+, stdenv
+, fetchFromGitHub
 , meson
 , ninja
 , wayland
@@ -6,27 +8,29 @@
 , pango
 , gtk
 , pkg-config
-, cmake
 , scdoc
 , libnotify
-, gio-sharp
 , glib
+, wrapGAppsHook
+, hicolor-icon-theme
 }:
 
 stdenv.mkDerivation rec {
-  name = "swappy-${version}";
-  version = "1.2.1";
+  pname = "swappy";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "jtheoof";
-    repo = "swappy";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "14ac2jmnak7avcz0jhqjm30vk7pv3gq5aq5rdyh84k8c613kkicf";
+    sha256 = "12z643c7vzffhjsxaz1lak99i4nwm688pha0hh4pg69jf5wz5xx3";
   };
 
-  nativeBuildInputs = [ glib meson ninja pkg-config cmake scdoc ];
+  nativeBuildInputs = [ glib meson ninja pkg-config scdoc wrapGAppsHook ];
 
-  buildInputs = [ cairo pango gtk libnotify wayland glib ];
+  buildInputs = [
+    cairo pango gtk libnotify wayland glib hicolor-icon-theme
+  ];
 
   strictDeps = true;
 
@@ -37,7 +41,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/jtheoof/swappy";
-    description = "A Wayland native snapshot editing tool, inspired by Snappy on macOS ";
+    description = "A Wayland native snapshot editing tool, inspired by Snappy on macOS";
     license = licenses.mit;
     maintainers = [ maintainers.matthiasbeyer ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix
index afbf5b364ed4f..0b97110b1dd5e 100644
--- a/pkgs/applications/misc/sweethome3d/default.nix
+++ b/pkgs/applications/misc/sweethome3d/default.nix
@@ -1,5 +1,20 @@
-{ lib, stdenv, fetchurl, fetchsvn, makeWrapper, makeDesktopItem, jdk, jre, ant
-, gtk3, gsettings-desktop-schemas, p7zip, libXxf86vm }:
+{ lib
+, stdenv
+, fetchurl
+, fetchsvn
+, makeWrapper
+, makeDesktopItem
+# sweethome3d 6.4.2 does not yet build with jdk 9 and later.
+# this is fixed on trunk (7699?) but let's build with jdk8 until then.
+, jdk8
+# it can run on the latest stable jre fine though
+, jre
+, ant
+, gtk3
+, gsettings-desktop-schemas
+, p7zip
+, libXxf86vm
+}:
 
 let
 
@@ -27,23 +42,30 @@ let
       categories = "Graphics;2DGraphics;3DGraphics;";
     };
 
-    patchPhase = ''
+    postPatch = ''
       patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/amd64/libnativewindow_awt.so
       patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/amd64/libnativewindow_x11.so
       patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/i586/libnativewindow_awt.so
       patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/i586/libnativewindow_x11.so
     '';
 
-    buildInputs = [ ant jdk makeWrapper p7zip gtk3 gsettings-desktop-schemas ];
+    nativeBuildInputs = [ makeWrapper ];
+    buildInputs = [ ant jdk8 p7zip gtk3 gsettings-desktop-schemas ];
 
     buildPhase = ''
+      runHook preBuild
+
       ant furniture textures help
       mkdir -p $out/share/{java,applications}
       mv "build/"*.jar $out/share/java/.
       ant
+
+      runHook postBuild
     '';
 
     installPhase = ''
+      runHook preInstall
+
       mkdir -p $out/bin
       cp install/${module}-${version}.jar $out/share/java/.
 
@@ -59,6 +81,8 @@ let
         --set MESA_GL_VERSION_OVERRIDE 2.1 \
         --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \
         --add-flags "-Dsun.java2d.opengl=true -jar $out/share/java/${module}-${version}.jar -cp $out/share/java/Furniture.jar:$out/share/java/Textures.jar:$out/share/java/Help.jar -d${toString stdenv.hostPlatform.parsed.cpu.bits}"
+
+      runHook postInstall
     '';
 
     dontStrip = true;
diff --git a/pkgs/applications/misc/sweethome3d/editors.nix b/pkgs/applications/misc/sweethome3d/editors.nix
index 08bc5b90fd9ca..f5dbd0510a32b 100644
--- a/pkgs/applications/misc/sweethome3d/editors.nix
+++ b/pkgs/applications/misc/sweethome3d/editors.nix
@@ -1,5 +1,17 @@
-{ lib, stdenv, fetchcvs, makeWrapper, makeDesktopItem, jdk, jre, ant
-, gtk3, gsettings-desktop-schemas, sweethome3dApp }:
+{ lib
+, stdenv
+, fetchcvs
+, makeWrapper
+, makeDesktopItem
+# sweethome3d 6.4.2 does not yet build with jdk 9 and later.
+# this is fixed on trunk (7699?) but let's build with jdk8 until then.
+, jdk8
+# it can run on the latest stable jre fine though
+, jre
+, ant
+, gtk3
+, gsettings-desktop-schemas
+, sweethome3dApp }:
 
 let
 
@@ -23,15 +35,20 @@ let
       categories = "Graphics;2DGraphics;3DGraphics;";
     };
 
-    buildInputs = [ ant jre jdk makeWrapper gtk3 gsettings-desktop-schemas ];
+    nativeBuildInputs = [ makeWrapper ];
+    buildInputs = [ ant jre jdk8 gtk3 gsettings-desktop-schemas ];
 
-    patchPhase = ''
+    postPatch = ''
       sed -i -e 's,../SweetHome3D,${application.src},g' build.xml
       sed -i -e 's,lib/macosx/java3d-1.6/jogl-all.jar,lib/java3d-1.6/jogl-all.jar,g' build.xml
     '';
 
     buildPhase = ''
-      ant -lib ${application.src}/libtest -lib ${application.src}/lib -lib ${jdk}/lib
+      runHook preBuild
+
+      ant -lib ${application.src}/libtest -lib ${application.src}/lib -lib ${jdk8}/lib
+
+      runHook postBuild
     '';
 
     installPhase = ''
diff --git a/pkgs/applications/misc/syncthingtray/default.nix b/pkgs/applications/misc/syncthingtray/default.nix
index f5c5faf4d966e..2a395a227ba67 100644
--- a/pkgs/applications/misc/syncthingtray/default.nix
+++ b/pkgs/applications/misc/syncthingtray/default.nix
@@ -19,14 +19,14 @@
 }:
 
 mkDerivation rec {
-  version = "1.1.0";
+  version = "1.1.2";
   pname = "syncthingtray";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = "syncthingtray";
     rev = "v${version}";
-    sha256 = "0nzkzx870hzil2kny1irp4w2kxz5gmpchr2qxb7q4f9cnih92n0j";
+    sha256 = "sha256-I5QhnYp4ga3ERJ3w4qjh5gFFU+S1Htw26vHK/2M8j5s=";
   };
 
   buildInputs = [ qtbase cpp-utilities qtutilities ]
diff --git a/pkgs/applications/misc/tabula-java/default.nix b/pkgs/applications/misc/tabula-java/default.nix
new file mode 100644
index 0000000000000..a88a83bc234e7
--- /dev/null
+++ b/pkgs/applications/misc/tabula-java/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, lib, fetchurl, jre, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  pname = "tabula-java";
+  version = "1.0.4";
+
+  src = fetchurl {
+    url = "https://github.com/tabulapdf/tabula-java/releases/download/v${version}/tabula-${version}-jar-with-dependencies.jar";
+    sha256 = "12d0jcc3j0q8jbqv0gzfiif7c8ig37834vb8yq0jnyr0s72k30xw";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  dontUnpack = true;
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -pv $out/share/tabula-java
+    cp -v $src $out/share/tabula-java/tabula-java.jar
+
+    makeWrapper ${jre}/bin/java $out/bin/tabula-java --add-flags "-jar $out/share/tabula-java/tabula-java.jar"
+  '';
+
+  meta = with lib; {
+    description = "A library for extracting tables from PDF files.";
+    longDescription = ''
+      tabula-java is the table extraction engine that powers
+      Tabula. You can use tabula-java as a command-line tool to
+      programmatically extract tables from PDFs.
+    '';
+    homepage = "https://tabula.technology/";
+    license = licenses.mit;
+    maintainers = [ maintainers.jakewaksbaum ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/misc/tabula/default.nix b/pkgs/applications/misc/tabula/default.nix
index 1804f3c04e89a..b396c578c903f 100644
--- a/pkgs/applications/misc/tabula/default.nix
+++ b/pkgs/applications/misc/tabula/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
 
   installPhase = ''
diff --git a/pkgs/applications/misc/taskjuggler/2.x/default.nix b/pkgs/applications/misc/taskjuggler/2.x/default.nix
deleted file mode 100644
index 0235c8af7c53e..0000000000000
--- a/pkgs/applications/misc/taskjuggler/2.x/default.nix
+++ /dev/null
@@ -1,75 +0,0 @@
-{stdenv, fetchurl,
-zlib, libpng, libjpeg, perl, expat, qt3,
-libX11, libXext, libSM, libICE,
-}:
-
-stdenv.mkDerivation rec {
-  name = "taskjuggler-2.4.3";
-  src = fetchurl {
-    url = "http://www.taskjuggler.org/download/${name}.tar.bz2";
-    sha256 = "14gkxa2vwfih5z7fffbavps7m44z5bq950qndigw2icam5ks83jl";
-  };
-
-  buildInputs =
-    [zlib libpng libX11 libXext libSM libICE perl expat libjpeg]
-    ;
-
-  patches = [ ./timezone-glibc.patch ];
-
-  preConfigure = ''
-    for i in $(grep -R "/bin/bash" .  | sed 's/:.*//'); do
-      substituteInPlace $i --replace /bin/bash $(type -Pp bash)
-    done
-    for i in $(grep -R "/usr/bin/perl" .  | sed 's/:.*//'); do
-      substituteInPlace $i --replace /usr/bin/perl ${perl}/bin/perl
-    done
-
-    # Fix install
-    for i in docs/en/Makefile.in Examples/BigProject/Common/Makefile.in Examples/BigProject/Makefile.in Examples/BigProject/Project1/Makefile.in Examples/BigProject/Project2/Makefile.in Examples/FirstProject/Makefile.in Examples/ShiftSchedule/Makefile.in; do
-      # Do not use variable substitution because there is some text after the last '@'
-      substituteInPlace $i --replace 'docprefix = @PACKAGES_DIR@' 'docprefix = $(docdir)/'
-    done
-
-    # Comment because the ical export need the KDE support.
-    for i in Examples/FirstProject/AccountingSoftware.tjp; do
-      substituteInPlace $i --replace "icalreport" "# icalreport"
-    done
-
-    for i in TestSuite/testdir TestSuite/createrefs \
-      TestSuite/Scheduler/Correct/Expression.sh; do
-      substituteInPlace $i --replace '/bin/rm' 'rm'
-    done
-
-    # Some tests require writing at $HOME
-    HOME=$TMPDIR
-  '';
-
-  configureFlags = [
-    "--without-arts" "--disable-docs"
-    "--x-includes=${libX11.dev}/include"
-    "--x-libraries=${libX11.out}/lib"
-    "--with-qt-dir=${qt3}"
-  ];
-
-  preInstall = ''
-    mkdir -p $out/share/emacs/site-lisp/
-    cp Contrib/emacs/taskjug.el $out/share/emacs/site-lisp/
-  '';
-
-  # kde_locale is not defined when installing without kde.
-  installFlags = [ "kde_locale=\${out}/share/locale" ];
-
-  meta = {
-    homepage = "http://www.taskjuggler.org";
-    license = lib.licenses.gpl2;
-    description = "Project management tool";
-    longDescription = ''
-      TaskJuggler is a modern and powerful, Open Source project management
-      tool. Its new approach to project planing and tracking is more
-      flexible and superior to the commonly used Gantt chart editing
-      tools. It has already been successfully used in many projects and
-      scales easily to projects with hundreds of resources and thousands of
-      tasks.
-    '';
-  };
-}
diff --git a/pkgs/applications/misc/taskjuggler/2.x/timezone-glibc.patch b/pkgs/applications/misc/taskjuggler/2.x/timezone-glibc.patch
deleted file mode 100644
index f599e8a1730ce..0000000000000
--- a/pkgs/applications/misc/taskjuggler/2.x/timezone-glibc.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From the discussion in http://groups.google.com/group/taskjuggler-users/browse_thread/thread/f65a3efd4dcae2fc/a44c711a9d28ebee?show_docid=a44c711a9d28ebee
-
-From: Chris Schlaeger <cs@kde.org>
-Date: Sat, 27 Feb 2010 06:33:35 +0000 (+0100)
-Subject: Try to fix time zone check for glibc 2.11.
-X-Git-Url: http://www.taskjuggler.org/cgi-bin/gitweb.cgi?p=taskjuggler.git;a=commitdiff_plain;h=2382ed54f90c3c899badb3f56aaa2b3b5dba361e;hp=c666c5068312fec7db75e17d1c567d94127d1dda
-
-Try to fix time zone check for glibc 2.11.
-
-Reported-by: Lee <pFQh8RQn4fqB@dyweni.com>
----
-
-diff --git a/taskjuggler/Utility.cpp b/taskjuggler/Utility.cpp
-index 5e2bf21..9b7fce2 100644
---- a/taskjuggler/Utility.cpp
-+++ b/taskjuggler/Utility.cpp
-@@ -206,16 +206,28 @@ setTimezone(const char* tZone)
- 
-     /* To validate the tZone value we call tzset(). It will convert the zone
-      * into a three-letter acronym in case the tZone value is good. If not, it
--     * will just copy the wrong value to tzname[0] (glibc < 2.5) or fall back
--     * to UTC. */
-+     * will
-+     * - copy the wrong value to tzname[0] (glibc < 2.5)
-+     * - or fall back to UTC (glibc >= 2.5 && < 2.11)
-+     * - copy the part before the '/' to tzname[0] (glibc >= 2.11).
-+     */
-     tzset();
-+    char* region = new(char[strlen(tZone) + 1]);
-+    region[0] = 0;
-+    if (strchr(tZone, '/'))
-+    {
-+        strcpy(region, tZone);
-+        *strchr(region, '/') = 0;
-+    }
-     if (timezone2tz(tZone) == 0 &&
--        (strcmp(tzname[0], tZone) == 0 ||
-+        (strcmp(tzname[0], tZone) == 0 || strcmp(tzname[0], region) == 0 ||
-          (strcmp(tZone, "UTC") != 0 && strcmp(tzname[0], "UTC") == 0)))
-     {
-         UtilityError = QString(i18n("Illegal timezone '%1'")).arg(tZone);
-+        delete region;
-         return false;
-     }
-+    delete region;
- 
-     if (!LtHashTab)
-         return true;
diff --git a/pkgs/applications/misc/taskwarrior-tui/default.nix b/pkgs/applications/misc/taskwarrior-tui/default.nix
index 1a97f6c0feb18..9c1e778bdf3e6 100644
--- a/pkgs/applications/misc/taskwarrior-tui/default.nix
+++ b/pkgs/applications/misc/taskwarrior-tui/default.nix
@@ -5,19 +5,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "taskwarrior-tui";
-  version = "0.9.5";
+  version = "0.10.4";
 
   src = fetchFromGitHub {
     owner = "kdheepak";
     repo = "taskwarrior-tui";
     rev = "v${version}";
-    sha256 = "1348ypjphm5f46civbrcxbbahwwl2j47z1hg8ndq1cg2bh5wb8kg";
+    sha256 = "1rs6xpnmqzp45jkdzi8x06i8764gk7zl86sp6s0hiirbfqf7vwsy";
   };
 
   # Because there's a test that requires terminal access
   doCheck = false;
 
-  cargoSha256 = "11zpy3whzir9mlbvf0jyscqwj9z44a6s5i1bc2cnxyciqy9b57md";
+  cargoSha256 = "0xblxsp7jgqbb3kr5k7yy6ziz18a8wlkrhls0vz9ak2n0ngddg3r";
 
   meta = with lib; {
     description = "A terminal user interface for taskwarrior ";
diff --git a/pkgs/applications/misc/ticker/default.nix b/pkgs/applications/misc/ticker/default.nix
new file mode 100644
index 0000000000000..bc3e8dfd6dea4
--- /dev/null
+++ b/pkgs/applications/misc/ticker/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "ticker";
+  version = "3.1.8";
+
+  src = fetchFromGitHub {
+    owner = "achannarasappa";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-U2TYUB4RHUBPoXe/te+QpXglbVcrT6SItiDrA7ODX6w=";
+  };
+
+  vendorSha256 = "sha256-aUBj7ZGWBeWc71y1CWm/KCw+El5TwH29S+KxyZGH1Zo=";
+
+  preBuild = ''
+    buildFlagsArray+=("-ldflags" "-s -w -X github.com/achannarasappa/ticker/cmd.Version=v${version}")
+  '';
+
+  # Tests require internet
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Terminal stock ticker with live updates and position tracking";
+    homepage = "https://github.com/achannarasappa/ticker";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ siraben ];
+  };
+}
diff --git a/pkgs/applications/misc/tickrs/default.nix b/pkgs/applications/misc/tickrs/default.nix
index 856fa60d8e637..114b146408302 100644
--- a/pkgs/applications/misc/tickrs/default.nix
+++ b/pkgs/applications/misc/tickrs/default.nix
@@ -1,20 +1,22 @@
-{ lib, rustPlatform, fetchFromGitHub, perl }:
+{ lib, stdenv, rustPlatform, fetchFromGitHub, perl, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "tickrs";
-  version = "0.7.1";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = "tarkah";
     repo = pname;
     rev = "v${version}";
-    sha256 = "159smcjrf5193yijfpvy1g9b1gin72xwbjghfyrrphwscwhb215z";
+    sha256 = "sha256-PGJztoGVIjUwx4x42LdpxJQMZH60x6JWY+yTHQgjHWM=";
   };
 
-  cargoSha256 = "1s95b3x7vs1z8xs7j6j80y6mfpy5bdgnzmzn3qa9zr6cghabbf6n";
+  cargoSha256 = "sha256-0NNdo28fLoqwKXBQ1fBTKPGE/zE7pnWnIjgCITsaGJc=";
 
   nativeBuildInputs = [ perl ];
 
+  buildInputs = lib.optionals stdenv.isDarwin [ Security ];
+
   meta = with lib; {
     description = "Realtime ticker data in your terminal";
     homepage = "https://github.com/tarkah/tickrs";
diff --git a/pkgs/applications/misc/todoist-electron/default.nix b/pkgs/applications/misc/todoist-electron/default.nix
index cdcb54cbc6c4e..f7ca72594159a 100644
--- a/pkgs/applications/misc/todoist-electron/default.nix
+++ b/pkgs/applications/misc/todoist-electron/default.nix
@@ -1,65 +1,51 @@
-{ stdenv, lib, fetchurl, makeDesktopItem, dpkg, atk, at-spi2-atk, glib, pango, gdk-pixbuf
-, gtk3, cairo, freetype, fontconfig, dbus, xorg, nss, nspr, alsaLib, cups, expat
-, udev, libpulseaudio, util-linux, makeWrapper }:
+{ lib, stdenv, fetchurl, appimageTools, makeWrapper, electron, libsecret }:
 
 stdenv.mkDerivation rec {
   pname = "todoist-electron";
-  version = "1.24.0";
+  version = "0.2.4";
 
   src = fetchurl {
-    url = "https://github.com/KryDos/todoist-linux/releases/download/${version}/Todoist_${version}_amd64.deb";
-    sha256 = "0g35518z6nf6pnfyx4ax75rq8b8br72mi6wv6jzgac9ric1q4h2s";
+    url = "https://electron-dl.todoist.com/linux/Todoist-${version}.AppImage";
+    sha256 = "1xrf2qjhq116z18qx7n1zd7mhvkb2dccaq7az4w6fs216l8q5zf2";
   };
 
-  desktopItem = makeDesktopItem {
-    name = "Todoist";
-    exec = "todoist %U";
-    icon = "todoist";
-    comment = "Todoist for Linux";
-    desktopName = "Todoist";
-    categories = "Utility";
+  appimageContents = appimageTools.extractType2 {
+    name = "${pname}-${version}";
+    inherit src;
   };
 
-  nativeBuildInputs = [ makeWrapper dpkg ];
-  unpackPhase = ''
-    mkdir pkg
-    dpkg-deb -x $src pkg
-    sourceRoot=pkg
-  '';
-  installPhase = let
-    libPath = lib.makeLibraryPath ([
-      stdenv.cc.cc gtk3 atk at-spi2-atk glib pango gdk-pixbuf cairo freetype fontconfig dbus
-      nss nspr alsaLib libpulseaudio cups expat udev util-linux
-    ] ++ (with xorg; [
-      libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes libxcb
-      libXrender libX11 libXtst libXScrnSaver
-    ]));
-  in ''
-    mkdir -p "$out/bin"
-    mv opt "$out/"
-    mv usr/share "$out/share"
+  dontUnpack = true;
+  dontConfigure = true;
+  dontBuild = true;
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    runHook preInstall
 
-    # Patch binary
-    patchelf \
-      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      --set-rpath "${libPath}:\$ORIGIN" \
-      $out/opt/Todoist/todoist
+    mkdir -p $out/bin $out/share/${pname} $out/share/applications $out/share/icons/hicolor/512x512
 
-    # Hacky workaround for RPATH problems
-    makeWrapper $out/opt/Todoist/todoist $out/bin/todoist \
-      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libpulseaudio udev ]}
+    cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
+    cp -a ${appimageContents}/todoist.desktop $out/share/applications/${pname}.desktop
+    cp -a ${appimageContents}/usr/share/icons/hicolor/0x0/apps $out/share/icons/hicolor/512x512
+
+    substituteInPlace $out/share/applications/${pname}.desktop \
+      --replace 'Exec=AppRun' 'Exec=${pname}'
+
+    runHook postInstall
+  '';
 
-    # Desktop item
-    mkdir -p "$out/share"
-    rm -r "$out/share/applications"
-    cp -r "${desktopItem}/share/applications" "$out/share/applications"
+  postFixup = ''
+    makeWrapper ${electron}/bin/electron $out/bin/${pname} \
+      --add-flags $out/share/${pname}/resources/app.asar \
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc libsecret ]}"
   '';
 
   meta = with lib; {
-    homepage = "https://github.com/KryDos/todoist-linux";
-    description = "The Linux wrapper for Todoist web version";
+    homepage = "https://todoist.com";
+    description = "The official Todoist electron app";
     platforms = [ "x86_64-linux" ];
-    license = licenses.mit;
-    maintainers = with maintainers; [ i077 ];
+    license = licenses.unfree;
+    maintainers = with maintainers; [ i077 kylesferrazza ];
   };
 }
diff --git a/pkgs/applications/misc/tootle/default.nix b/pkgs/applications/misc/tootle/default.nix
index 3b9b09aaba9b4..0f6747d69f836 100644
--- a/pkgs/applications/misc/tootle/default.nix
+++ b/pkgs/applications/misc/tootle/default.nix
@@ -16,17 +16,18 @@
 , json-glib
 , glib
 , glib-networking
+, libhandy
 }:
 
 stdenv.mkDerivation rec {
   pname = "tootle";
-  version = "0.2.0";
+  version = "1.0";
 
   src = fetchFromGitHub {
     owner = "bleakgrey";
     repo = pname;
     rev = version;
-    sha256 = "1z3wyx316nns6gi7vlvcfmalhvxncmvcmmlgclbv6b6hwl5x2ysi";
+    sha256 = "NRM7GiJA8c5z9AvXpGXtMl4ZaYN2GauEIbjBmoY4pdo=";
   };
 
   nativeBuildInputs = [
@@ -47,15 +48,7 @@ stdenv.mkDerivation rec {
     json-glib
     libgee
     pantheon.granite
-  ];
-
-  patches = [
-    # Fix build with Vala 0.46
-    # https://github.com/bleakgrey/tootle/pull/164
-    (fetchpatch {
-      url = "https://github.com/worldofpeace/tootle/commit/0a88bdad6d969ead1e4058b1a19675c9d6857b16.patch";
-      sha256 = "0xyx00pgswnhxxbsxngsm6khvlbfcl6ic5wv5n64x7klk8rzh6cm";
-    })
+    libhandy
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/misc/translate-shell/default.nix b/pkgs/applications/misc/translate-shell/default.nix
index 03ed031be857d..319ba3643da44 100644
--- a/pkgs/applications/misc/translate-shell/default.nix
+++ b/pkgs/applications/misc/translate-shell/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "075vqnha21rhr1b61dim7dqlfwm1yffyzcaa83s36rpk9r5sddzx";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installFlags = [ "PREFIX=$(out)" ];
 
diff --git a/pkgs/applications/misc/tty-solitaire/default.nix b/pkgs/applications/misc/tty-solitaire/default.nix
index 9b2fcf3d17a1e..9ea26b52bc34e 100644
--- a/pkgs/applications/misc/tty-solitaire/default.nix
+++ b/pkgs/applications/misc/tty-solitaire/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   patchPhase = "sed -i -e '/^CFLAGS *?= *-g *$/d' Makefile";
 
-  makeFlags = [ "CC=cc" "PREFIX=${placeholder "out"}" ];
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "PREFIX=${placeholder "out"}" ];
 
   meta = with lib; {
     description = "Klondike Solitaire in your ncurses terminal";
diff --git a/pkgs/applications/misc/tut/default.nix b/pkgs/applications/misc/tut/default.nix
index 893f901044ac7..3994541f48b1e 100644
--- a/pkgs/applications/misc/tut/default.nix
+++ b/pkgs/applications/misc/tut/default.nix
@@ -1,19 +1,18 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "tut";
-  version = "0.0.14";
-
-  goPackagePath = "github.com/RasmusLindroth/tut";
-  goDeps = ./deps.nix;
+  version = "0.0.17";
 
   src = fetchFromGitHub {
     owner = "RasmusLindroth";
     repo = pname;
     rev = version;
-    sha256 = "1l7lc6cjx97v9zhc0b6lfzqjmyv1i3qj83drkck36if3mc60vvwi";
+    sha256 = "0g4kbprsdjk2lbx81azdvz8kkhyk370id3622xxssr894v0i7iwj";
   };
 
+  vendorSha256 = "1kf7ynmxrzvhl028b4nbz9h9v9x5srarsbynpgpp4vicmxqlvrmh";
+
   meta = with lib; {
     description = "A TUI for Mastodon with vim inspired keys";
     homepage = "https://github.com/RasmusLindroth/tut";
diff --git a/pkgs/applications/misc/tut/deps.nix b/pkgs/applications/misc/tut/deps.nix
deleted file mode 100644
index 9264153e50308..0000000000000
--- a/pkgs/applications/misc/tut/deps.nix
+++ /dev/null
@@ -1,318 +0,0 @@
-# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
-[
-  {
-    goPackagePath = "github.com/BurntSushi/toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/BurntSushi/toml";
-      rev = "v0.3.1";
-      sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
-    };
-  }
-  {
-    goPackagePath = "github.com/DATA-DOG/go-sqlmock";
-    fetch = {
-      type = "git";
-      url = "https://github.com/DATA-DOG/go-sqlmock";
-      rev = "v1.3.3";
-      sha256 = "1xrly2vmy1mgj9dbkmivhh8gvq6v9f9xy2yp2dw54i1895zzs928";
-    };
-  }
-  {
-    goPackagePath = "github.com/PuerkitoBio/goquery";
-    fetch = {
-      type = "git";
-      url = "https://github.com/PuerkitoBio/goquery";
-      rev = "v1.5.0";
-      sha256 = "1fqf4rs66wy02nxz6w4mvs2qawf2j8srz17i294v64y8gvxisp56";
-    };
-  }
-  {
-    goPackagePath = "github.com/andybalholm/cascadia";
-    fetch = {
-      type = "git";
-      url = "https://github.com/andybalholm/cascadia";
-      rev = "v1.0.0";
-      sha256 = "09j8cavbhqqdxjqrkwbc40g8p0i49zf3184rpjm5p2rjbprcghcc";
-    };
-  }
-  {
-    goPackagePath = "github.com/davecgh/go-spew";
-    fetch = {
-      type = "git";
-      url = "https://github.com/davecgh/go-spew";
-      rev = "v1.1.1";
-      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
-    };
-  }
-  {
-    goPackagePath = "github.com/fatih/color";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/color";
-      rev = "v1.9.0";
-      sha256 = "086z8ssmr1fn9ba4mqnw7pnccfpys6l5yfhvycv1gdrsk7n27mvs";
-    };
-  }
-  {
-    goPackagePath = "github.com/gdamore/encoding";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gdamore/encoding";
-      rev = "v1.0.0";
-      sha256 = "1vmm5zll92i2fm4ajqx0gyx0p9j36496x5nabi3y0x7h0inv0pk9";
-    };
-  }
-  {
-    goPackagePath = "github.com/gdamore/tcell";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gdamore/tcell";
-      rev = "v1.3.0";
-      sha256 = "1csg9qkmbg4ksj5247kgqcy7bxvqgz6b98r0rv2s4c1mkc99gx2r";
-    };
-  }
-  {
-    goPackagePath = "github.com/gopherjs/gopherjs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gopherjs/gopherjs";
-      rev = "0766667cb4d1";
-      sha256 = "13pfc9sxiwjky2lm1xb3i3lcisn8p6mgjk2d927l7r92ysph8dmw";
-    };
-  }
-  {
-    goPackagePath = "github.com/gorilla/websocket";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gorilla/websocket";
-      rev = "v1.4.1";
-      sha256 = "03n1n0nwz3k9qshmriycqznnnvd3dkzsfwpnfjzzvafjxk9kyapv";
-    };
-  }
-  {
-    goPackagePath = "github.com/jtolds/gls";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jtolds/gls";
-      rev = "v4.20.0";
-      sha256 = "1k7xd2q2ysv2xsh373qs801v6f359240kx0vrl0ydh7731lngvk6";
-    };
-  }
-  {
-    goPackagePath = "github.com/kyoh86/xdg";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kyoh86/xdg";
-      rev = "v1.2.0";
-      sha256 = "0a5nz53fdz1c2qvwlf2dpjdd72nxri95i6q4b07c37kiipgaxncn";
-    };
-  }
-  {
-    goPackagePath = "github.com/lucasb-eyer/go-colorful";
-    fetch = {
-      type = "git";
-      url = "https://github.com/lucasb-eyer/go-colorful";
-      rev = "v1.0.3";
-      sha256 = "12bgz6dxbb2ki1g3x7fg9ipsjgfkd58fp7cdpv63h4kvlj2n7j69";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-colorable";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-colorable";
-      rev = "v0.1.4";
-      sha256 = "1yxcz08kminqr1221zxpibnbzfcgs3fafin0z9zqb3gqvf74jywz";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-isatty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-isatty";
-      rev = "v0.0.11";
-      sha256 = "0h671sv7hfprja495kavazkalkx7xzaqksjh13brcnwq67ijrali";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-mastodon";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-mastodon";
-      rev = "3e91c76504df";
-      sha256 = "1wh2hqrzx80gfs1y34f4h68mnz83asx88v0bsw372ch5j1shswlr";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-runewidth";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-runewidth";
-      rev = "v0.0.8";
-      sha256 = "14ilkbhnhl8yj443dd1ga4biapswv4g0b4vm2mix78a8srdww39j";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-tty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-tty";
-      rev = "v0.0.3";
-      sha256 = "0d1d63q02pc5k5ga8bw4yjbkrli2769vg237psajsskjirjy53vf";
-    };
-  }
-  {
-    goPackagePath = "github.com/microcosm-cc/bluemonday";
-    fetch = {
-      type = "git";
-      url = "https://github.com/microcosm-cc/bluemonday";
-      rev = "v1.0.2";
-      sha256 = "0j0aylsxqjcj49w7ph8cmpaqjlpvg7mb5mrcrd9bg71dlb9z9ir2";
-    };
-  }
-  {
-    goPackagePath = "github.com/pelletier/go-toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pelletier/go-toml";
-      rev = "v1.7.0";
-      sha256 = "0sqrwldjj2qxrgjz1diw1ffviya4ma7mz7nhdgydbisi2h55lqla";
-    };
-  }
-  {
-    goPackagePath = "github.com/rivo/tview";
-    fetch = {
-      type = "git";
-      url = "https://github.com/rivo/tview";
-      rev = "ca37f83cb2e7";
-      sha256 = "05nifgrxv6aib8f20mhs9m0grdfdyyg5vyhk6zgwsxjlwbzaj021";
-    };
-  }
-  {
-    goPackagePath = "github.com/rivo/uniseg";
-    fetch = {
-      type = "git";
-      url = "https://github.com/rivo/uniseg";
-      rev = "v0.1.0";
-      sha256 = "0flpc1px1l6b1lxzhdxi0mvpkkjchppvgxshxxnlmm40s76i9ww5";
-    };
-  }
-  {
-    goPackagePath = "github.com/smartystreets/assertions";
-    fetch = {
-      type = "git";
-      url = "https://github.com/smartystreets/assertions";
-      rev = "b2de0cb4f26d";
-      sha256 = "1i7ldgavgl35c7gk25p7bvdr282ckng090zr4ch9mk1705akx09y";
-    };
-  }
-  {
-    goPackagePath = "github.com/smartystreets/goconvey";
-    fetch = {
-      type = "git";
-      url = "https://github.com/smartystreets/goconvey";
-      rev = "v1.6.4";
-      sha256 = "07zjxwszayal88z1j2bwnqrsa32vg8l4nivks5yfr9j8xfsw7n6m";
-    };
-  }
-  {
-    goPackagePath = "github.com/tomnomnom/linkheader";
-    fetch = {
-      type = "git";
-      url = "https://github.com/tomnomnom/linkheader";
-      rev = "02ca5825eb80";
-      sha256 = "1ghrv28vrvvrpyr4d4q817yby8g1j04mid8ql00sds1pvfv67d32";
-    };
-  }
-  {
-    goPackagePath = "github.com/urfave/cli";
-    fetch = {
-      type = "git";
-      url = "https://github.com/urfave/cli";
-      rev = "v1.20.0";
-      sha256 = "0y6f4sbzkiiwrxbl15biivj8c7qwxnvm3zl2dd3mw4wzg4x10ygj";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "c2843e01d9a2";
-      sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev = "d3edc9973b7e";
-      sha256 = "12zbjwcsh9b0lwycqlkrnbyg5a6a9dzgj8hhgq399bdda5bd97y7";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sync";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sync";
-      rev = "cd5d95a43a6e";
-      sha256 = "1nqkyz2y1qvqcma52ijh02s8aiqmkfb95j08f6zcjhbga3ds6hds";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "85ca7c5b95cd";
-      sha256 = "1504qkgbhhm4f0bhk77v2r1lj6x171ay5m79alkg78wjb5cign5l";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "v0.3.2";
-      sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/tools";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/tools";
-      rev = "ab21143f2384";
-      sha256 = "15fk0psk53pplpyghz55bhay0kvsv5rikmn5hwgjnnyxq9vfy178";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/check.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/check.v1";
-      rev = "20d25e280405";
-      sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/ini.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/ini.v1";
-      rev = "v1.55.0";
-      sha256 = "1b7wsfal3b3pl5pv5n2qix09b3imh0zhirrphlsg5p2rb8fk0d0j";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "v2.2.8";
-      sha256 = "1inf7svydzscwv9fcjd2rm61a4xjk6jkswknybmns2n58shimapw";
-    };
-  }
-]
diff --git a/pkgs/applications/misc/twitch-chat-downloader/default.nix b/pkgs/applications/misc/twitch-chat-downloader/default.nix
new file mode 100644
index 0000000000000..a8ffb46c1f88a
--- /dev/null
+++ b/pkgs/applications/misc/twitch-chat-downloader/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonApplication
+, fetchPypi
+, requests
+, twitch-python
+, pytz
+, python-dateutil
+}:
+
+buildPythonApplication rec {
+  pname = "twitch-chat-downloader";
+  version = "3.2.1";
+
+  src = fetchPypi {
+    inherit version;
+    pname = "tcd";
+    sha256 = "f9b5ea2ad3badb7deffdd9604368ccb54170cd7929efbaa2d7b534e089ae6338";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py --replace "'pipenv>=2020.5.28'," ""
+  '';
+
+  propagatedBuildInputs = [ requests twitch-python pytz python-dateutil ];
+
+  doCheck = false; # no tests
+
+  pythonImportsCheck = [ "tcd" ];
+
+  meta = with lib; {
+    description = "Twitch Chat Downloader";
+    homepage = "https://github.com/PetterKraabol/Twitch-Chat-Downloader";
+    license = licenses.mit;
+    maintainers = with maintainers; [ marsam ];
+  };
+}
diff --git a/pkgs/applications/misc/ultralist/default.nix b/pkgs/applications/misc/ultralist/default.nix
index 2943fe29f4a0d..af2b6be2b2ff3 100644
--- a/pkgs/applications/misc/ultralist/default.nix
+++ b/pkgs/applications/misc/ultralist/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ultralist";
-  version = "1.5.1";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "ultralist";
     repo = "ultralist";
     rev = version;
-    sha256 = "09kgf83jn5k35lyrnyzbsy0l1livzmy292qmlbx5dkdpaq5wxnmp";
+    sha256 = "sha256-GGBW6rpwv1bVbLTD//cU8jNbq/27Ls0su7DymCJTSmY=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/misc/upwork/default.nix b/pkgs/applications/misc/upwork/default.nix
index 36fd4047761c8..9b8821b5115ed 100644
--- a/pkgs/applications/misc/upwork/default.nix
+++ b/pkgs/applications/misc/upwork/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, dpkg, wrapGAppsHook, autoPatchelfHook, writeShellScript
+{ lib, stdenv, fetchurl, dpkg, wrapGAppsHook, autoPatchelfHook
 , alsaLib, atk, at-spi2-atk, at-spi2-core, cairo, cups, dbus, expat, fontconfig, freetype
 , gdk-pixbuf, glib, gtk3, libnotify, libX11, libXcomposite, libXcursor, libXdamage, libuuid
 , libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, nspr, nss, libxcb
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "upwork";
-  version = "5.4.9.6";
+  version = "5.5.0.1";
 
   src = fetchurl {
-    url = "https://upwork-usw2-desktopapp.upwork.com/binaries/v5_4_9_6_2565cdd0547940a2/${pname}_${version}_amd64.deb";
-    sha256 = "ff6246b3b4a1ed79cc9bca2934652fefb40bdac4b7e95997f3a46e354ce52456";
+    url = "https://upwork-usw2-desktopapp.upwork.com/binaries/v5_5_0_1_291c031686ed44ff/${pname}_${version}_amd64.deb";
+    sha256 = "49192ecfb10929b5b51cf8899186059649c894109ec172695cd7cfaa50923f6a";
   };
 
   dontWrapGApps = true;
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
+    runHook preInstall
     mv usr $out
     mv opt $out
     sed -e "s|/opt/Upwork|$out/bin|g" -i $out/share/applications/upwork.desktop
@@ -44,6 +45,7 @@ stdenv.mkDerivation rec {
       $out/bin/upwork \
       --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
       --prefix LD_LIBRARY_PATH : ${libPath}
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/usync/default.nix b/pkgs/applications/misc/usync/default.nix
index 8ab2a485a6491..cf51a53e7139d 100644
--- a/pkgs/applications/misc/usync/default.nix
+++ b/pkgs/applications/misc/usync/default.nix
@@ -6,9 +6,9 @@ stdenv.mkDerivation rec {
 
   src = fetchFromGitHub {
     owner = "ebzzry";
-    repo = pname;
-    rev = "9c87ea8a707a47c3d7f6ef94d07591c5ab594282";
-    sha256 = "1r05gw041fz9dkkb70zd6kqw9dd8dhpv87407qxqg43pd7x47kf4";
+    repo = "usync";
+    rev = "99f11b0c196a81843f55ca3456abcb85149b6d51";
+    sha256 = "16i1q8f0jmfd43rb8d70l2b383vr5ib4kh7iq3yd345q7xjz9c2j";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/misc/viking/default.nix b/pkgs/applications/misc/viking/default.nix
index 61ebfb0fcc6ab..71f67baa6c5c9 100644
--- a/pkgs/applications/misc/viking/default.nix
+++ b/pkgs/applications/misc/viking/default.nix
@@ -25,8 +25,8 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ makeWrapper intltool gettext gtk2 expat curl gpsd bc file gnome-doc-utils
+  nativeBuildInputs = [ pkg-config makeWrapper ];
+  buildInputs = [ intltool gettext gtk2 expat curl gpsd bc file gnome-doc-utils
     libexif libxml2 libxslt scrollkeeper docbook_xml_dtd_412 gexiv2
   ] ++ lib.optional withMapnik mapnik
     ++ lib.optional withGeoClue geoclue2
diff --git a/pkgs/applications/misc/visidata/default.nix b/pkgs/applications/misc/visidata/default.nix
index 2d0a55983430a..b7f9d6ca1a662 100644
--- a/pkgs/applications/misc/visidata/default.nix
+++ b/pkgs/applications/misc/visidata/default.nix
@@ -15,13 +15,13 @@
 }:
 buildPythonApplication rec {
   pname = "visidata";
-  version = "2.1.1";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "saulpw";
     repo = "visidata";
     rev = "v${version}";
-    sha256 = "018z06bfcw0l4k2zdwbgxna9fss4wdqj64ckw5qjis14sb3zkr28";
+    sha256 = "1gkvnywjg0n3n7d855ivclsj3d8mzihhkgv9a18srcszkmyix903";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/misc/waybar/default.nix b/pkgs/applications/misc/waybar/default.nix
index 8dd18de5d895c..0cbe325f62af3 100644
--- a/pkgs/applications/misc/waybar/default.nix
+++ b/pkgs/applications/misc/waybar/default.nix
@@ -1,5 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, meson, pkg-config, ninja, wrapGAppsHook
-, wayland, wlroots, gtkmm3, libsigcxx, jsoncpp, fmt, scdoc, spdlog, gtk-layer-shell
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, pkg-config
+, ninja
+, wrapGAppsHook
+, wayland
+, wlroots
+, gtkmm3
+, libsigcxx
+, jsoncpp
+, fmt
+, scdoc
+, spdlog
+, gtk-layer-shell
 , howard-hinnant-date, cmake
 , traySupport  ? true,  libdbusmenu-gtk3
 , pulseSupport ? true,  libpulseaudio
@@ -7,68 +21,69 @@
 , nlSupport    ? true,  libnl
 , udevSupport  ? true,  udev
 , swaySupport  ? true,  sway
-, mpdSupport   ? true,  mpd_clientlib
+, mpdSupport   ? true,  libmpdclient
 , withMediaPlayer ? false, glib, gobject-introspection, python3, python38Packages, playerctl
 }:
-  stdenv.mkDerivation rec {
-    pname = "waybar";
-    version = "0.9.5";
 
-    src = fetchFromGitHub {
-      owner = "Alexays";
-      repo = "Waybar";
-      rev = version;
-      sha256 = "1kzrgqaclfk6gcwhknxn28xl74gm5swipgn8kk8avacb4nsw1l9q";
-    };
+stdenv.mkDerivation rec {
+  pname = "waybar";
+  version = "0.9.5";
 
-    nativeBuildInputs = [
-      meson ninja pkg-config scdoc wrapGAppsHook cmake
-    ] ++ lib.optional withMediaPlayer gobject-introspection;
+  src = fetchFromGitHub {
+    owner = "Alexays";
+    repo = "Waybar";
+    rev = version;
+    sha256 = "1kzrgqaclfk6gcwhknxn28xl74gm5swipgn8kk8avacb4nsw1l9q";
+  };
 
-    propagatedBuildInputs = lib.optionals withMediaPlayer [
-      glib
-      playerctl
-      python38Packages.pygobject3
-    ];
-    strictDeps = false;
+  nativeBuildInputs = [
+    meson ninja pkg-config scdoc wrapGAppsHook cmake
+  ] ++ lib.optional withMediaPlayer gobject-introspection;
 
-    buildInputs = with lib;
-      [ wayland wlroots gtkmm3 libsigcxx jsoncpp fmt spdlog gtk-layer-shell howard-hinnant-date ]
-      ++ optional  traySupport  libdbusmenu-gtk3
-      ++ optional  pulseSupport libpulseaudio
-      ++ optional  sndioSupport sndio
-      ++ optional  nlSupport    libnl
-      ++ optional  udevSupport  udev
-      ++ optional  swaySupport  sway
-      ++ optional  mpdSupport   mpd_clientlib;
+  propagatedBuildInputs = lib.optionals withMediaPlayer [
+    glib
+    playerctl
+    python38Packages.pygobject3
+  ];
+  strictDeps = false;
 
-    mesonFlags = (lib.mapAttrsToList
-      (option: enable: "-D${option}=${if enable then "enabled" else "disabled"}")
-      {
-        dbusmenu-gtk = traySupport;
-        pulseaudio = pulseSupport;
-        sndio = sndioSupport;
-        libnl = nlSupport;
-        libudev = udevSupport;
-        mpd = mpdSupport;
-      }
-    ) ++ [
-      "-Dout=${placeholder "out"}"
-      "-Dsystemd=disabled"
-    ];
+  buildInputs = with lib;
+    [ wayland wlroots gtkmm3 libsigcxx jsoncpp fmt spdlog gtk-layer-shell howard-hinnant-date ]
+    ++ optional  traySupport  libdbusmenu-gtk3
+    ++ optional  pulseSupport libpulseaudio
+    ++ optional  sndioSupport sndio
+    ++ optional  nlSupport    libnl
+    ++ optional  udevSupport  udev
+    ++ optional  swaySupport  sway
+    ++ optional  mpdSupport   libmpdclient;
 
-    preFixup = lib.optional withMediaPlayer ''
+  mesonFlags = (lib.mapAttrsToList
+    (option: enable: "-D${option}=${if enable then "enabled" else "disabled"}")
+    {
+      dbusmenu-gtk = traySupport;
+      pulseaudio = pulseSupport;
+      sndio = sndioSupport;
+      libnl = nlSupport;
+      libudev = udevSupport;
+      mpd = mpdSupport;
+    }
+  ) ++ [
+    "-Dout=${placeholder "out"}"
+    "-Dsystemd=disabled"
+  ];
+
+  preFixup = lib.optional withMediaPlayer ''
       cp $src/resources/custom_modules/mediaplayer.py $out/bin/waybar-mediaplayer.py
 
       wrapProgram $out/bin/waybar-mediaplayer.py \
         --prefix PYTHONPATH : "$PYTHONPATH:$out/${python3.sitePackages}"
     '';
 
-    meta = with lib; {
-      description = "Highly customizable Wayland bar for Sway and Wlroots based compositors";
-      license = licenses.mit;
-      maintainers = with maintainers; [ FlorianFranzen minijackson synthetica ];
-      platforms = platforms.unix;
-      homepage = "https://github.com/alexays/waybar";
-    };
-  }
+  meta = with lib; {
+    description = "Highly customizable Wayland bar for Sway and Wlroots based compositors";
+    license = licenses.mit;
+    maintainers = with maintainers; [ FlorianFranzen minijackson synthetica ];
+    platforms = platforms.unix;
+    homepage = "https://github.com/alexays/waybar";
+  };
+}
diff --git a/pkgs/applications/misc/wbg/default.nix b/pkgs/applications/misc/wbg/default.nix
new file mode 100644
index 0000000000000..4f385ef21740f
--- /dev/null
+++ b/pkgs/applications/misc/wbg/default.nix
@@ -0,0 +1,52 @@
+{ stdenv
+, lib
+, fetchgit
+, meson
+, ninja
+, pkg-config
+, git
+, scdoc
+, cairo
+, fcft
+, libpng
+, librsvg
+, libxkbcommon
+, pixman
+, tllist
+, wayland
+, wayland-protocols
+, wlroots
+}:
+
+stdenv.mkDerivation rec {
+  pname = "wbg";
+  version = "unstable-2020-08-01";
+
+  src = fetchgit {
+    url = "https://codeberg.org/dnkl/wbg";
+    rev = "1b05bd80d0f40e3ba1e977002d0653f532649269";
+    sha256 = "0i1j7aqvj0vl2ww5cvffqci1kjqjn0sw6sp2j0ljblaif6qk9asc";
+  };
+
+  nativeBuildInputs = [ pkg-config meson ninja scdoc git ];
+  buildInputs = [
+    cairo
+    fcft
+    libpng
+    librsvg
+    libxkbcommon
+    pixman
+    tllist
+    wayland
+    wayland-protocols
+    wlroots
+  ];
+
+  meta = with lib; {
+    description = "Wallpaper application for Wayland compositors";
+    homepage = "https://codeberg.org/dnkl/wbg";
+    license = licenses.isc;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/applications/misc/wofi/default.nix b/pkgs/applications/misc/wofi/default.nix
index 7b9e38c87d171..d8af28093b9e9 100644
--- a/pkgs/applications/misc/wofi/default.nix
+++ b/pkgs/applications/misc/wofi/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "wofi";
-  version = "1.2.3";
+  version = "1.2.4";
 
   src = fetchhg {
     url = "https://hg.sr.ht/~scoopta/wofi";
     rev = "v${version}";
-    sha256 = "0glpb2gf5n78s01z3rn614ak8ibxhfr824gy6xlljbxclgds264i";
+    sha256 = "1bnf078fg1kwslzwm1mjxwcqqq3bhk1dzymwfw9gk3brqbxrl75c";
   };
 
   nativeBuildInputs = [ pkg-config meson ninja wrapGAppsHook installShellFiles ];
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A launcher/menu program for wlroots based wayland compositors such as sway";
     homepage = "https://hg.sr.ht/~scoopta/wofi";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     maintainers = with maintainers; [ elyhaka ];
     platforms = with platforms; linux;
   };
diff --git a/pkgs/applications/misc/wordnet/default.nix b/pkgs/applications/misc/wordnet/default.nix
index 32c1f0eaa64a3..27694174d7037 100644
--- a/pkgs/applications/misc/wordnet/default.nix
+++ b/pkgs/applications/misc/wordnet/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "08pgjvd2vvmqk3h641x63nxp7wqimb9r30889mkyfh2agc62sjbc";
   };
 
-  buildInputs = [ tcl tk xlibsWrapper makeWrapper ]
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ tcl tk xlibsWrapper ]
     ++ lib.optionals stdenv.isDarwin [ Cocoa ];
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/applications/misc/wtf/default.nix b/pkgs/applications/misc/wtf/default.nix
index ad107b644722e..4a7b7ad63b75e 100644
--- a/pkgs/applications/misc/wtf/default.nix
+++ b/pkgs/applications/misc/wtf/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "wtf";
-  version = "0.34.0";
+  version = "0.35.0";
 
   src = fetchFromGitHub {
     owner = "wtfutil";
     repo = pname;
     rev = "v${version}";
-    sha256 = "01zydr1w8byjhxf4xj6z001q4ynq0452cn332ap1l1w0dmx9mxyr";
+    sha256 = "sha256-xzMXbF0M7asZtyo8DmM5yyNoHKy0H6amRDhu6hjHgq4=";
    };
 
-  vendorSha256 = "1xyai417l8q44b562ssp5qqw04klrhg5397ahr4pc3i30csz8a7a";
+  vendorSha256 = "sha256-6ij0NQMjDnZJhuqkUR7MdBLAMS5Xa2HKIgQjegKJyvc=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/xfontsel/default.nix b/pkgs/applications/misc/xfontsel/default.nix
index 10034fbe1b1d7..365f6217861b8 100644
--- a/pkgs/applications/misc/xfontsel/default.nix
+++ b/pkgs/applications/misc/xfontsel/default.nix
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "0700lf6hx7dg88wq1yll7zjvf9gbwh06xff20yffkxb289y0pai5";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [libX11 makeWrapper libXaw];
+  nativeBuildInputs = [ pkg-config makeWrapper ];
+  buildInputs = [libX11 libXaw];
 
   # Without this, it gets Xmu as a dependency, but without rpath entry
   NIX_LDFLAGS = "-lXmu";
diff --git a/pkgs/applications/misc/xmenu/default.nix b/pkgs/applications/misc/xmenu/default.nix
index f29bfcb55fe15..c6a37caf34dad 100644
--- a/pkgs/applications/misc/xmenu/default.nix
+++ b/pkgs/applications/misc/xmenu/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xmenu";
-  version = "4.4.1";
+  version = "4.5.4";
 
   src = fetchFromGitHub {
     owner = "phillbush";
     repo = "xmenu";
     rev = "v${version}";
-    sha256 = "1s70zvsaqnsjqs298vw3py0vcvia68xlks1wcz37pb88bwligz1x";
+    sha256 = "1dy3aqqczs7d3f8rf6h7xssgr3881g8m5y4waskizjy9z7chs64q";
   };
 
   buildInputs = [ imlib2 libX11 libXft libXinerama ];
diff --git a/pkgs/applications/misc/xpdf/default.nix b/pkgs/applications/misc/xpdf/default.nix
index cafbcd4b11c8c..e57fb75c11f12 100644
--- a/pkgs/applications/misc/xpdf/default.nix
+++ b/pkgs/applications/misc/xpdf/default.nix
@@ -12,11 +12,11 @@ assert enablePrinting -> cups != null;
 
 stdenv.mkDerivation rec {
   pname = "xpdf";
-  version = "4.02";
+  version = "4.03";
 
   src = fetchzip {
-    url = "https://xpdfreader-dl.s3.amazonaws.com/${pname}-${version}.tar.gz";
-    sha256 = "0dzwq6fnk013wa4l5mjpvm4mms2mh5hbrxv4rhk2ab5ljbzz7b2w";
+    url = "https://dl.xpdfreader.com/xpdf-${version}.tar.gz";
+    sha256 = "09yhvmh1vxjy763nnmawynygp5bh3j4i8ixqja64j11676yl77n6";
   };
 
   # Fix "No known features for CXX compiler", see
@@ -36,8 +36,6 @@ stdenv.mkDerivation rec {
     lib.optional enablePrinting cups ++
     lib.optional enablePDFtoPPM freetype;
 
-  hardeningDisable = [ "format" ];
-
   desktopItem = makeDesktopItem {
     name = "xpdf";
     desktopName = "Xpdf";
@@ -48,11 +46,16 @@ stdenv.mkDerivation rec {
     terminal = "false";
   };
 
-  postInstall = ''
-    install -Dm644 ${desktopItem}/share/applications/xpdf.desktop $out/share/applications/xpdf.desktop
+  postInstall = lib.optionalString (!stdenv.isDarwin) ''
+    install -Dm644 ${desktopItem}/share/applications/xpdf.desktop -t $out/share/applications
     install -Dm644 $src/xpdf-qt/xpdf-icon.svg $out/share/pixmaps/xpdf.svg
   '';
 
+  # wrapQtAppsHook broken on macOS (https://github.com/NixOS/nixpkgs/issues/102044)
+  postFixup = lib.optionalString stdenv.isDarwin ''
+    wrapQtApp $out/bin/xpdf
+  '';
+
   meta = with lib; {
     homepage = "https://www.xpdfreader.com";
     description = "Viewer for Portable Document Format (PDF) files";
@@ -69,7 +72,7 @@ stdenv.mkDerivation rec {
         pdffonts:  lists fonts used in PDF files
         pdfdetach: extracts attached files from PDF files
     '';
-    license = with licenses; [ gpl2 gpl3 ];
+    license = with licenses; [ gpl2Only gpl3Only ];
     platforms = platforms.unix;
     maintainers = with maintainers; [ sikmir ];
     knownVulnerabilities = [
diff --git a/pkgs/applications/misc/xpdf/libxpdf.nix b/pkgs/applications/misc/xpdf/libxpdf.nix
index 342c00aa12e37..065ca813155d8 100644
--- a/pkgs/applications/misc/xpdf/libxpdf.nix
+++ b/pkgs/applications/misc/xpdf/libxpdf.nix
@@ -2,30 +2,34 @@
 }:
 
 stdenv.mkDerivation {
-  name = "libxpdf-3.02pl4";
+  name = "libxpdf-3.02pl5";
 
   src = fetchurl {
-    url = "ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02.tar.gz";
+    url = "https://dl.xpdfreader.com/old/xpdf-3.02.tar.gz";
     sha256 = "000zq4ddbwyxiki4vdwpmxbnw5n9hsg9hvwra2p33hslyib7sfmk";
   };
 
   patches = [
     (fetchurl {
-      url = "ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl1.patch";
+      url = "https://dl.xpdfreader.com/old/xpdf-3.02pl1.patch";
       sha256 = "1wxv9l0d2kkwi961ihpdwi75whdvk7cgqxkbfym8cjj11fq17xjq";
     })
     (fetchurl {
-      url = "ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl2.patch";
+      url = "https://dl.xpdfreader.com/old/xpdf-3.02pl2.patch";
       sha256 = "1nfrgsh9xj0vryd8h65myzd94bjz117y89gq0hzji9dqn23xihfi";
     })
     (fetchurl {
-      url = "ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl3.patch";
+      url = "https://dl.xpdfreader.com/old/xpdf-3.02pl3.patch";
       sha256 = "0jskkv8x6dqr9zj4azaglas8cziwqqrkbbnzrpm2kzrvsbxyhk2r";
     })
     (fetchurl {
-      url = "ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl4.patch";
+      url = "https://dl.xpdfreader.com/old/xpdf-3.02pl4.patch";
       sha256 = "1c48h7aizx0ngmzlzw0mpja1w8vqyy3pg62hyxp7c60k86al715h";
     })
+    (fetchurl {
+      url = "https://dl.xpdfreader.com/old/xpdf-3.02pl5.patch";
+      sha256 = "1fki66pw56yr6aw38f6amrx7wxwcxbx4704pjqq7pqqr784b7z4j";
+    })
     ./xpdf-3.02-protection.patch
     ./libxpdf.patch
   ];
@@ -48,6 +52,6 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     platforms = platforms.unix;
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
   };
 }
diff --git a/pkgs/applications/misc/xygrib/default.nix b/pkgs/applications/misc/xygrib/default.nix
index 68adc2abbf9df..864ea27ede778 100644
--- a/pkgs/applications/misc/xygrib/default.nix
+++ b/pkgs/applications/misc/xygrib/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, wrapQtAppsHook, cmake, bzip2, qtbase, qttools, libnova, proj, libpng, openjpeg } :
+{ lib, stdenv, fetchFromGitHub, wrapQtAppsHook, cmake, bzip2, qtbase, qttools, libnova, proj, libpng, openjpeg }:
 
 stdenv.mkDerivation rec {
   version = "1.2.6.1";
@@ -13,26 +13,29 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake qttools wrapQtAppsHook ];
   buildInputs = [ bzip2 qtbase libnova proj openjpeg libpng ];
-  cmakeFlags = [ "-DOPENJPEG_INCLUDE_DIR=${openjpeg.dev}/include/openjpeg-2.3" ]
+  cmakeFlags = [ "-DOPENJPEG_INCLUDE_DIR=${openjpeg.dev}/include/openjpeg-${lib.versions.majorMinor openjpeg.version}" ]
     ++ lib.optionals stdenv.isDarwin [ "-DLIBNOVA_LIBRARY=${libnova}/lib/libnova.dylib" ];
 
-  postInstall = if stdenv.isDarwin then ''
-    mkdir -p "$out/Applications" "$out/XyGrib/XyGrib.app/Contents/Resources"
-    cp "../data/img/xyGrib.icns" "$out/XyGrib/XyGrib.app/Contents/Resources/xyGrib.icns"
-    mv $out/XyGrib/XyGrib.app $out/Applications
-    wrapQtApp "$out/Applications/XyGrib.app/Contents/MacOS/XyGrib"
-  '' else ''
-    wrapQtApp $out/XyGrib/XyGrib
-    mkdir -p $out/bin
-    ln -s $out/XyGrib/XyGrib $out/bin/xygrib
-  '';
+  postInstall =
+    if stdenv.isDarwin then ''
+      mkdir -p "$out/Applications" "$out/XyGrib/XyGrib.app/Contents/Resources"
+      cp "../data/img/xyGrib.icns" "$out/XyGrib/XyGrib.app/Contents/Resources/xyGrib.icns"
+      mv $out/XyGrib/XyGrib.app $out/Applications
+      wrapQtApp "$out/Applications/XyGrib.app/Contents/MacOS/XyGrib"
+    '' else ''
+      wrapQtApp $out/XyGrib/XyGrib
+      mkdir -p $out/bin
+      ln -s $out/XyGrib/XyGrib $out/bin/xygrib
+    '';
 
   meta = with lib; {
     homepage = "https://opengribs.org";
     description = "Weather Forecast Visualization";
-    longDescription = ''XyGrib is a leading opensource weather visualization package.
-                        It interacts with OpenGribs's Grib server providing a choice
-                        of global and large area atmospheric and wave models.'';
+    longDescription = ''
+      XyGrib is a leading opensource weather visualization package.
+      It interacts with OpenGribs's Grib server providing a choice
+      of global and large area atmospheric and wave models.
+    '';
     license = licenses.gpl3;
     platforms = platforms.all;
     maintainers = with maintainers; [ j03 SuperSandro2000 ];
diff --git a/pkgs/applications/misc/yambar/default.nix b/pkgs/applications/misc/yambar/default.nix
new file mode 100644
index 0000000000000..47d02a0cec93c
--- /dev/null
+++ b/pkgs/applications/misc/yambar/default.nix
@@ -0,0 +1,86 @@
+{ stdenv
+, lib
+, fetchgit
+, pkg-config
+, meson
+, ninja
+, scdoc
+, alsaLib
+, fcft
+, json_c
+, libmpdclient
+, libxcb
+, libyaml
+, pixman
+, tllist
+, udev
+, wayland
+, wayland-protocols
+, xcbutil
+, xcbutilcursor
+, xcbutilerrors
+, xcbutilwm
+}:
+
+stdenv.mkDerivation rec {
+  pname = "yambar";
+  version = "1.6.1";
+
+  src = fetchgit {
+    url = "https://codeberg.org/dnkl/yambar.git";
+    rev = version;
+    sha256 = "p47tFsEWsYNe6IVV65xGG211u6Vm2biRf4pmUDylBOQ=";
+  };
+
+  nativeBuildInputs = [ pkg-config meson ninja scdoc ];
+  buildInputs = [
+    alsaLib
+    fcft
+    json_c
+    libmpdclient
+    libxcb
+    libyaml
+    pixman
+    tllist
+    udev
+    wayland
+    wayland-protocols
+    xcbutil
+    xcbutilcursor
+    xcbutilerrors
+    xcbutilwm
+  ];
+
+  meta = with lib; {
+    homepage = "https://codeberg.org/dnkl/yambar";
+    description = "Modular status panel for X11 and Wayland";
+    longDescription = ''
+      yambar is a lightweight and configurable status panel (bar, for short) for
+      X11 and Wayland, that goes to great lengths to be both CPU and battery
+      efficient - polling is only done when absolutely necessary.
+
+      It has a number of modules that provide information in the form of
+      tags. For example, the clock module has a date tag that contains the
+      current date.
+
+      The modules do not know how to present the information though. This is
+      instead done by particles. And the user, you, decides which particles (and
+      thus how to present the data) to use.
+
+      Furthermore, each particle can have a decoration - a background color or a
+      graphical underline, for example.
+
+      There is no support for images or icons. use an icon font (e.g. Font
+      Awesome, or Material Icons) if you want a graphical representation.
+
+      There are a number of modules and particles builtin. More can be added as
+      plugins. You can even write your own!
+
+      To summarize: a bar displays information provided by modules, using
+      particles and decorations. How is configured by you.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/applications/misc/zathura/wrapper.nix b/pkgs/applications/misc/zathura/wrapper.nix
index 60e3bb9fd535d..49f78729a310c 100644
--- a/pkgs/applications/misc/zathura/wrapper.nix
+++ b/pkgs/applications/misc/zathura/wrapper.nix
@@ -4,8 +4,7 @@ symlinkJoin {
 
   paths = with zathura_core; [ man dev out ] ++ plugins;
 
-
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   postBuild = let
     fishCompletion = "share/fish/vendor_completions.d/zathura.fish";
diff --git a/pkgs/applications/misc/zettlr/default.nix b/pkgs/applications/misc/zettlr/default.nix
index 3d762d9ab2a71..4b9627a843bd2 100644
--- a/pkgs/applications/misc/zettlr/default.nix
+++ b/pkgs/applications/misc/zettlr/default.nix
@@ -1,13 +1,15 @@
-{ appimageTools, lib, fetchurl, gtk3, gsettings-desktop-schemas}:
+{ appimageTools, lib, fetchurl, gtk3, gsettings-desktop-schemas
+, texlive, pandoc, pandoc-citeproc
+}:
 
 # Based on https://gist.github.com/msteen/96cb7df66a359b827497c5269ccbbf94 and joplin-desktop nixpkgs.
 let
   pname = "zettlr";
-  version = "1.7.5";
+  version = "1.8.7";
   name = "${pname}-${version}";
   src = fetchurl {
     url = "https://github.com/Zettlr/Zettlr/releases/download/v${version}/Zettlr-${version}-x86_64.appimage";
-    sha256 = "040lx01ywdpla34d4abkmh51kchr11s17la6fk6yq77y8zb87xzi";
+    sha256 = "0zbmlk5qk92b3zycs0bmdwgc8fn4a4dv1yvq9q8q2wxz4ammx6c0";
   };
   appimageContents = appimageTools.extractType2 {
     inherit name src;
@@ -20,11 +22,11 @@ in appimageTools.wrapType2 rec {
   '';
 
   multiPkgs = null; # no 32bit needed
-  extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
+  extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [ texlive pandoc pandoc-citeproc ];
   extraInstallCommands = ''
     mv $out/bin/{${name},${pname}}
-    install -m 444 -D ${appimageContents}/zettlr.desktop $out/share/applications/zettlr.desktop
-    install -m 444 -D ${appimageContents}/zettlr.png $out/share/icons/hicolor/512x512/apps/zettlr.png
+    install -m 444 -D ${appimageContents}/Zettlr.desktop $out/share/applications/zettlr.desktop
+    install -m 444 -D ${appimageContents}/Zettlr.png $out/share/icons/hicolor/512x512/apps/zettlr.png
     substituteInPlace $out/share/applications/zettlr.desktop --replace 'Exec=AppRun' 'Exec=${pname}'
   '';
 
diff --git a/pkgs/applications/networking/Sylk/default.nix b/pkgs/applications/networking/Sylk/default.nix
index 3759a09e700f0..c514ec22f110a 100644
--- a/pkgs/applications/networking/Sylk/default.nix
+++ b/pkgs/applications/networking/Sylk/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "Sylk";
-  version = "3.0.0";
+  version = "3.0.1";
 in
 
 appimageTools.wrapType2 rec {
@@ -10,7 +10,7 @@ appimageTools.wrapType2 rec {
 
   src = fetchurl {
     url = "http://download.ag-projects.com/Sylk/Sylk-${version}-x86_64.AppImage";
-    hash = "sha256-A+SFkGDg+I1lPJ56XPaRfBUktyjSttcsZSqgXvw9sDs=";
+    hash = "sha256-VgepO7LHFmNKq/H0RFcIkafgtiVGt8K/LdiCO5Dw2s4=";
   };
 
   profile = ''
diff --git a/pkgs/applications/networking/appgate-sdp/default.nix b/pkgs/applications/networking/appgate-sdp/default.nix
index 56f2162bf08bc..8b5f410308637 100644
--- a/pkgs/applications/networking/appgate-sdp/default.nix
+++ b/pkgs/applications/networking/appgate-sdp/default.nix
@@ -96,11 +96,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "appgate-sdp";
-  version = "5.3.2";
+  version = "5.3.3";
 
   src = fetchurl {
     url = "https://bin.appgate-sdp.com/${lib.versions.majorMinor version}/client/appgate-sdp_${version}_amd64.deb";
-    sha256 = "123d4mx2nsh8q3ckm4g2chdcdwgg0cz9cvhiwjggxzvy7j6bqgy4";
+    sha256 = "1854m93mr2crg68zhh1pgwwis0dqdv0778wqrb8dz9sdz940rza8";
   };
 
   dontConfigure = true;
@@ -133,7 +133,7 @@ stdenv.mkDerivation rec {
         --replace "/bin/sh" "${bash}/bin/sh" \
         --replace "cat" "${coreutils}/bin/cat" \
         --replace "chattr" "${e2fsprogs}/bin/chattr" \
-        --replace "mv" "${coreutils}/bin/mv" \
+        --replace "mv " "${coreutils}/bin/mv " \
         --replace "pkill" "${procps}/bin/pkill"
     done
 
@@ -145,7 +145,7 @@ stdenv.mkDerivation rec {
         --replace "/bin/sh" "${bash}/bin/sh" \
         --replace "/opt/" "$out/opt/" \
         --replace "chattr" "${e2fsprogs}/bin/chattr" \
-        --replace "mv" "${coreutils}/bin/mv"
+        --replace "mv " "${coreutils}/bin/mv "
     done
 
     substituteInPlace $out/lib/systemd/system/appgatedriver.service \
@@ -174,7 +174,7 @@ stdenv.mkDerivation rec {
   '';
   meta = with lib; {
     description = "Appgate SDP (Software Defined Perimeter) desktop client";
-    homepage = https://www.appgate.com/support/software-defined-perimeter-support;
+    homepage = "https://www.appgate.com/support/software-defined-perimeter-support";
     license = licenses.unfree;
     platforms = platforms.linux;
     maintainers = with maintainers; [ ymatsiuk ];
diff --git a/pkgs/applications/networking/bee/0001-clef-service-accept-default-CONFIGDIR-from-the-envir.patch b/pkgs/applications/networking/bee/0001-clef-service-accept-default-CONFIGDIR-from-the-envir.patch
new file mode 100644
index 0000000000000..fb551646b7c62
--- /dev/null
+++ b/pkgs/applications/networking/bee/0001-clef-service-accept-default-CONFIGDIR-from-the-envir.patch
@@ -0,0 +1,44 @@
+From 04933c578f51aa1f536991318dc5aede57f81c0d Mon Sep 17 00:00:00 2001
+From: Attila Lendvai <attila@lendvai.name>
+Date: Sat, 30 Jan 2021 14:02:02 +0100
+Subject: [PATCH 1/2] clef-service: accept default CONFIGDIR from the
+ environment
+
+---
+ packaging/bee-clef-service | 15 ++++++++++-----
+ 1 file changed, 10 insertions(+), 5 deletions(-)
+
+diff --git a/packaging/bee-clef-service b/packaging/bee-clef-service
+index 10bcd92..34c7edd 100755
+--- a/packaging/bee-clef-service
++++ b/packaging/bee-clef-service
+@@ -1,16 +1,21 @@
+ #!/usr/bin/env sh
+ 
+ start() {
+-    KEYSTORE=/var/lib/bee-clef/keystore
+-    CONFIGDIR=/var/lib/bee-clef
++    if [ -z "$CONFIGDIR" ]; then
++        CONFIGDIR=/var/lib/bee-clef
++    fi
++    if [ -z "$PASSWORD_FILE" ]; then
++        PASSWORD_FILE=${CONFIGDIR}/password
++    fi
++    KEYSTORE=${CONFIGDIR}/keystore
++    SECRET=$(cat ${PASSWORD_FILE})
+     CHAINID=5
+-    SECRET=$(cat /var/lib/bee-clef/password)
+     # clef with every start sets permissions back to 600
+-    (sleep 4; chmod 660 /var/lib/bee-clef/clef.ipc) &
++    (sleep 4; chmod 660 ${CONFIGDIR}/clef.ipc) &
+     ( sleep 2; cat << EOF
+ { "jsonrpc": "2.0", "id":1, "result": { "text":"$SECRET" } }
+ EOF
+-) | clef --stdio-ui --keystore $KEYSTORE --configdir $CONFIGDIR --chainid $CHAINID --rules /etc/bee-clef/rules.js --nousb --4bytedb-custom /etc/bee-clef/4byte.json --pcscdpath "" --auditlog "" --loglevel 3 --ipcpath /var/lib/bee-clef
++) | clef --stdio-ui --keystore $KEYSTORE --configdir $CONFIGDIR --chainid $CHAINID --rules /etc/bee-clef/rules.js --nousb --4bytedb-custom /etc/bee-clef/4byte.json --pcscdpath "" --auditlog "" --loglevel 3 --ipcpath ${CONFIGDIR}
+ }
+ 
+ stop() {
+-- 
+2.29.2
+
diff --git a/pkgs/applications/networking/bee/0002-nix-diff-for-substituteAll.patch b/pkgs/applications/networking/bee/0002-nix-diff-for-substituteAll.patch
new file mode 100644
index 0000000000000..611aed0b890ac
--- /dev/null
+++ b/pkgs/applications/networking/bee/0002-nix-diff-for-substituteAll.patch
@@ -0,0 +1,25 @@
+From 1a1ab986245e8b74648a1a0adb5d1c7019561d18 Mon Sep 17 00:00:00 2001
+From: Attila Lendvai <attila@lendvai.name>
+Date: Sat, 30 Jan 2021 15:24:57 +0100
+Subject: [PATCH 2/2] nix diff for substituteAll
+
+---
+ packaging/bee-clef-service | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/packaging/bee-clef-service b/packaging/bee-clef-service
+index 34c7edd..31e9d95 100755
+--- a/packaging/bee-clef-service
++++ b/packaging/bee-clef-service
+@@ -15,7 +15,7 @@ start() {
+     ( sleep 2; cat << EOF
+ { "jsonrpc": "2.0", "id":1, "result": { "text":"$SECRET" } }
+ EOF
+-) | clef --stdio-ui --keystore $KEYSTORE --configdir $CONFIGDIR --chainid $CHAINID --rules /etc/bee-clef/rules.js --nousb --4bytedb-custom /etc/bee-clef/4byte.json --pcscdpath "" --auditlog "" --loglevel 3 --ipcpath ${CONFIGDIR}
++) | @clefBinary@ --stdio-ui --keystore $KEYSTORE --configdir $CONFIGDIR --chainid $CHAINID --rules @out@/share/bee-clef/rules.js --nousb --4bytedb-custom @out@/share/bee-clef/4byte.json --pcscdpath "" --auditlog "" --loglevel 3 --ipcpath ${CONFIGDIR}
+ }
+ 
+ stop() {
+-- 
+2.29.2
+
diff --git a/pkgs/applications/networking/bee/bee-clef.nix b/pkgs/applications/networking/bee/bee-clef.nix
new file mode 100644
index 0000000000000..9e36f8670d46b
--- /dev/null
+++ b/pkgs/applications/networking/bee/bee-clef.nix
@@ -0,0 +1,57 @@
+{ version ? "release", stdenv, lib, fetchFromGitHub, go-ethereum }:
+
+stdenv.mkDerivation rec {
+  pname = "bee-clef";
+  version = "0.4.7";
+
+  src = fetchFromGitHub {
+    owner = "ethersphere";
+    repo = "bee-clef";
+    rev = "refs/tags/v${version}";
+    sha256 = "1sfwql0kvnir8b9ggpqcyc0ar995gxgfbhqb1xpfzp6wl0g3g4zz";
+  };
+
+  buildInputs = [ go-ethereum ];
+
+  clefBinary = "${go-ethereum}/bin/clef";
+
+  patches = [
+    ./0001-clef-service-accept-default-CONFIGDIR-from-the-envir.patch
+    ./0002-nix-diff-for-substituteAll.patch
+  ];
+
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -p $out/bin/
+    mkdir -p $out/share/bee-clef/
+    mkdir -p $out/lib/systemd/system/
+    cp packaging/bee-clef.service $out/lib/systemd/system/
+    substituteAll packaging/bee-clef-service $out/share/bee-clef/bee-clef-service
+    substituteAll ${./ensure-clef-account} $out/share/bee-clef/ensure-clef-account
+    substituteAll packaging/bee-clef-keys $out/bin/bee-clef-keys
+    cp packaging/rules.js packaging/4byte.json $out/share/bee-clef/
+    chmod +x $out/bin/bee-clef-keys
+    chmod +x $out/share/bee-clef/bee-clef-service
+    chmod +x $out/share/bee-clef/ensure-clef-account
+    patchShebangs $out/
+  '';
+
+  meta = with lib; {
+    # homepage = "https://gateway.ethswarm.org/bzz/docs.swarm.eth/docs/installation/bee-clef/";
+    homepage = "https://docs.ethswarm.org/docs/installation/bee-clef";
+    description = "External signer for Ethereum Swarm Bee";
+    longDescription = ''
+      clef is go-ethereum's external signer.
+
+      bee-clef is a package that starts up a vanilla clef instance as a systemd service,
+      but configured in such a way that is suitable for bee (relaxed security for
+      automated operation).
+
+      This package contains the files necessary to run the bee-clef service.
+    '';
+    license = with licenses; [ bsd3 ];
+    maintainers = with maintainers; [ attila-lendvai ];
+    platforms = go-ethereum.meta.platforms;
+  };
+}
diff --git a/pkgs/applications/networking/bee/bee.nix b/pkgs/applications/networking/bee/bee.nix
new file mode 100644
index 0000000000000..988a322e9f933
--- /dev/null
+++ b/pkgs/applications/networking/bee/bee.nix
@@ -0,0 +1,77 @@
+{ version ? "release", stdenv, lib, fetchFromGitHub, buildGoModule, coreutils }:
+
+let
+
+  versionSpec = rec {
+    unstable = rec {
+      pname = "bee-unstable";
+      version = "2021-01-30";
+      rev = "824636a2c2629c329ab10275cef6a0b7395343ad";
+      goVersionString = "g" + builtins.substring 0 7 rev;     # this seems to be some kind of standard of git describe...
+      sha256 = "0ly1yqjq29arbak8lchdradf39l5bmxpbfir6ljjc7nyqdxz0sxg";
+      vendorSha256 = "sha256-w5ZijaK8Adt1ZHPMmXqRWq0v0jdprRKRu03rePtZLXA=";
+    };
+    release = rec {
+      pname = "bee";
+      version = "0.5.0";
+      rev = "refs/tags/v${version}";
+      sha256 = "sha256-3Oy9RhgMPRFjUs3Dj8XUhAqoxx5BTi32OiK4Y8YEG2Q=";
+      vendorSha256 = "sha256-w5ZijaK8Adt1ZHPMmXqRWq0v0jdprRKRu03rePtZLXA=";
+    };
+    "0.5.0" = release;
+    "0.4.1" = rec {
+      pname = "bee";
+      version = "0.4.1";
+      rev = "refs/tags/v${version}";
+      sha256 = "1bmgbav52pcb5p7cgq9756512fzfqhjybyr0dv538plkqx47mpv7";
+      vendorSha256 = "0j393va4jrg9q3wlc9mgkbpgnn2w2s3k2hcn8phzj8d5fl4n4v2h";
+    };
+  }.${version};
+
+in
+
+buildGoModule {
+  inherit (versionSpec) pname version vendorSha256;
+
+  src = fetchFromGitHub {
+    owner = "ethersphere";
+    repo = "bee";
+    inherit (versionSpec) rev sha256;
+  };
+
+  nativeBuildInputs = [ coreutils ];
+
+  subPackages = [ "cmd/bee" ];
+
+  # no symbol table, no debug info, and pass the commit for the version string
+  buildFlags = lib.optionalString ( lib.hasAttr "goVersionString" versionSpec)
+    "-ldflags -s -ldflags -w -ldflags -X=github.com/ethersphere/bee.commit=${versionSpec.goVersionString}";
+
+  # Mimic the bee Makefile: without disabling CGO, two (transitive and
+  # unused) dependencies would fail to compile.
+  preBuild = ''
+    export CGO_ENABLED=0
+  '';
+
+  postInstall = ''
+    mkdir -p $out/lib/systemd/system
+    cp packaging/bee.service $out/lib/systemd/system/
+    cp packaging/bee-get-addr $out/bin/
+    chmod +x $out/bin/bee-get-addr
+    patchShebangs $out/bin/
+  '';
+
+  meta = with lib; {
+    homepage = "https://swarm.ethereum.org/";
+    description = "Ethereum Swarm Bee";
+    longDescription = ''
+      A decentralised storage and communication system for a sovereign digital society.
+
+      Swarm is a system of peer-to-peer networked nodes that create a decentralised storage and communication service. The system is economically self-sustaining due to a built-in incentive system enforced through smart contracts on the Ethereum blockchain.
+
+      Bee is a Swarm node implementation, written in Go.
+    '';
+    license = with licenses; [ bsd3 ];
+    maintainers = with maintainers; [ attila-lendvai ];
+  };
+}
diff --git a/pkgs/applications/networking/bee/ensure-clef-account b/pkgs/applications/networking/bee/ensure-clef-account
new file mode 100644
index 0000000000000..def67ff9cc337
--- /dev/null
+++ b/pkgs/applications/networking/bee/ensure-clef-account
@@ -0,0 +1,47 @@
+#!/usr/bin/env sh
+
+set -e
+
+# NOTE This file is called by the systemd service in its preStart
+# hook, but it's not Nix specific in any way. Ideally, the same file
+# should be called from the postinst scripts of the other packages,
+# but... the world is not ideal.
+
+# What follows was extracted from, and should be in sync with
+# https://github.com/ethersphere/bee-clef/tree/master/packaging
+
+DATA_DIR="$1"
+CONFIG_DIR="$2"
+PASSWORD_FILE=${DATA_DIR}/password
+MASTERSEED=${DATA_DIR}/masterseed.json
+KEYSTORE=${DATA_DIR}/keystore
+
+echo "ensure-clef-account $DATA_DIR $CONFIG_DIR"
+
+if ! test -f ${PASSWORD_FILE}; then
+    < /dev/urandom tr -dc _A-Z-a-z-0-9 2> /dev/null | head -c32 > ${PASSWORD_FILE}
+    chmod 0400 ${PASSWORD_FILE}
+    echo "Initialized ${PASSWORD_FILE} from /dev/urandom"
+fi
+
+if ! test -f ${MASTERSEED}; then
+    parse_json() { echo $1|sed -e 's/[{}]/''/g'|sed -e 's/", "/'\",\"'/g'|sed -e 's/" ,"/'\",\"'/g'|sed -e 's/" , "/'\",\"'/g'|sed -e 's/","/'\"---SEPERATOR---\"'/g'|awk -F=':' -v RS='---SEPERATOR---' "\$1~/\"$2\"/ {print}"|sed -e "s/\"$2\"://"|tr -d "\n\t"|sed -e 's/\\"/"/g'|sed -e 's/\\\\/\\/g'|sed -e 's/^[ \t]*//g'|sed -e 's/^"//' -e 's/"$//' ; }
+    SECRET=$(cat ${PASSWORD_FILE})
+    CLEF="@clefBinary@ --configdir ${DATA_DIR} --keystore ${KEYSTORE} --stdio-ui"
+    $CLEF init >/dev/null << EOF
+$SECRET
+$SECRET
+EOF
+    $CLEF newaccount >/dev/null << EOF
+$SECRET
+EOF
+    $CLEF setpw 0x$(parse_json $(cat ${KEYSTORE}/*) address) >/dev/null << EOF
+$SECRET
+$SECRET
+$SECRET
+EOF
+    $CLEF attest $(sha256sum ${CONFIG_DIR}/rules.js | cut -d' ' -f1 | tr -d '\n') >/dev/null << EOF
+$SECRET
+EOF
+    echo "Clef data dir initialized"
+fi
diff --git a/pkgs/applications/networking/browsers/amfora/default.nix b/pkgs/applications/networking/browsers/amfora/default.nix
index e951f4c53c0f0..59612550eadd8 100644
--- a/pkgs/applications/networking/browsers/amfora/default.nix
+++ b/pkgs/applications/networking/browsers/amfora/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "amfora";
-  version = "1.7.2";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "makeworld-the-better-one";
     repo = "amfora";
     rev = "v${version}";
-    sha256 = "KAOIx401G/kB/TclhidOnUja1P+mLo/mUwAqGJfVfyg=";
+    sha256 = "sha256-q83fKs27vkrUs3+AoKZ2342llj6u3bvbLsdnT9DnVUs=";
   };
 
-  vendorSha256 = "rOEM7iEkm42g8yJxY7qdTCSbkPMDHqlAsK7/ud8IDLY=";
+  vendorSha256 = "sha256-0blHwZwOcgC4LcmZSJPRvyQzArCsaMGgIw+cesO+qOo=";
 
   postInstall = lib.optionalString (!stdenv.isDarwin) ''
     sed -i "s:amfora:$out/bin/amfora:" amfora.desktop
diff --git a/pkgs/applications/networking/browsers/av-98/default.nix b/pkgs/applications/networking/browsers/av-98/default.nix
index 2184c8d699a4c..afd2e9b9c1a72 100644
--- a/pkgs/applications/networking/browsers/av-98/default.nix
+++ b/pkgs/applications/networking/browsers/av-98/default.nix
@@ -12,6 +12,10 @@ python3Packages.buildPythonApplication rec {
 
   propagatedBuildInputs = with python3Packages; [ ansiwrap cryptography ];
 
+  # No tests are available
+  doCheck = false;
+  pythonImportsCheck = [ "av98" ];
+
   meta = with lib; {
     homepage = "https://tildegit.org/solderpunk/AV-98";
     description = "Experimental console client for the Gemini protocol";
diff --git a/pkgs/applications/networking/browsers/bombadillo/default.nix b/pkgs/applications/networking/browsers/bombadillo/default.nix
index c24f91c4e103e..5794bce31f051 100644
--- a/pkgs/applications/networking/browsers/bombadillo/default.nix
+++ b/pkgs/applications/networking/browsers/bombadillo/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchgit, buildGoModule }:
+{ lib, fetchgit, buildGoModule, installShellFiles }:
 
 buildGoModule rec {
   pname = "bombadillo";
@@ -10,8 +10,16 @@ buildGoModule rec {
     sha256 = "02w6h44sxzmk3bkdidl8xla0i9rwwpdqljnvcbydx5kyixycmg0q";
   };
 
+  nativeBuildInputs = [ installShellFiles ];
+
   vendorSha256 = "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5";
 
+  outputs = [ "out" "man" ];
+
+  postInstall = ''
+    installManPage bombadillo.1
+  '';
+
   meta = with lib; {
     description = "Non-web client for the terminal, supporting Gopher, Gemini and more";
     homepage = "https://bombadillo.colorfield.space/";
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index e5872c66104eb..fe996a01aa0e3 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -38,7 +38,7 @@
 , udev
 , xorg
 , zlib
-, xdg_utils
+, xdg-utils
 , wrapGAppsHook
 }:
 
@@ -79,7 +79,7 @@ rpath = lib.makeLibraryPath [
   nss
   pango
   udev
-  xdg_utils
+  xdg-utils
   xorg.libxcb
   zlib
 ];
@@ -88,11 +88,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "1.19.88";
+  version = "1.20.110";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    sha256 = "jySedvm9V3O4kri1PgoqC0OsC1gvB0Nwx8leoUZnHK0=";
+    sha256 = "0xmf74qh85f2jvi90q4cw2n7cvx5p46xmdr2iznfy09hdsymxfry";
   };
 
   dontConfigure = true;
@@ -144,8 +144,8 @@ stdenv.mkDerivation rec {
       done
 
       # Replace xdg-settings and xdg-mime
-      ln -sf ${xdg_utils}/bin/xdg-settings $out/opt/brave.com/brave/xdg-settings
-      ln -sf ${xdg_utils}/bin/xdg-mime $out/opt/brave.com/brave/xdg-mime
+      ln -sf ${xdg-utils}/bin/xdg-settings $out/opt/brave.com/brave/xdg-settings
+      ln -sf ${xdg-utils}/bin/xdg-mime $out/opt/brave.com/brave/xdg-mime
   '';
 
   installCheckPhase = ''
diff --git a/pkgs/applications/networking/browsers/castor/default.nix b/pkgs/applications/networking/browsers/castor/default.nix
index be3d8295f9915..daead82e48545 100644
--- a/pkgs/applications/networking/browsers/castor/default.nix
+++ b/pkgs/applications/networking/browsers/castor/default.nix
@@ -39,7 +39,7 @@ rustPlatform.buildRustPackage rec {
   postInstall = "make PREFIX=$out copy-data";
 
   # Sometimes tests fail when run in parallel
-  cargoParallelTestThreads = false;
+  dontUseCargoParallelThreads = true;
 
   meta = with lib; {
     description = "A graphical client for plain-text protocols written in Rust with GTK. It currently supports the Gemini, Gopher and Finger protocols";
diff --git a/pkgs/applications/networking/browsers/chromium/README.md b/pkgs/applications/networking/browsers/chromium/README.md
index 9d23e3143c609..9576cb486288e 100644
--- a/pkgs/applications/networking/browsers/chromium/README.md
+++ b/pkgs/applications/networking/browsers/chromium/README.md
@@ -1,11 +1,11 @@
 # Maintainers
 
-- TODO: We need more maintainers:
-  - https://github.com/NixOS/nixpkgs/issues/78450
-  - If you just want to help out without becoming a maintainer:
-    - Look for open Nixpkgs issues or PRs related to Chromium
-    - Make your own PRs (but please try to make reviews as easy as possible)
-- Primary maintainer (responsible for updating Chromium): @primeos
+- Note: We could always use more contributors, testers, etc. E.g.:
+  - A dedicated maintainer for the NixOS stable channel
+  - PRs with cleanups, improvements, fixes, etc. (but please try to make reviews
+    as easy as possible)
+  - People who handle stale issues/PRs
+- Primary maintainer (responsible for all updates): @primeos
 - Testers (test all stable channel updates)
   - `nixos-unstable`:
     - `x86_64`: @danielfullmer
@@ -13,11 +13,14 @@
   - Stable channel:
     - `x86_64`: @Frostman
 - Other relevant packages:
-  - `chromiumBeta` and `chromiumDev`: For testing purposes (not build on Hydra)
+  - `chromiumBeta` and `chromiumDev`: For testing purposes only (not build on
+    Hydra). We use these channels for testing and to fix build errors in advance
+    so that `chromium` updates are trivial and can be merged fast.
   - `google-chrome`, `google-chrome-beta`, `google-chrome-dev`: Updated via
     Chromium's `upstream-info.json`
-  - `ungoogled-chromium`: Based on `chromium` (the expressions are regularly
-    copied over and patched accordingly)
+  - `ungoogled-chromium`: @squalus
+  - `chromedriver`: Updated via Chromium's `upstream-info.json` and not built
+    from source.
 
 # Upstream links
 
@@ -36,6 +39,11 @@ update `upstream-info.json`. After updates it is important to test at least
 `nixosTests.chromium` (or basic manual testing) and `google-chrome` (which
 reuses `upstream-info.json`).
 
+Note: The source tarball is often only available a few hours after the release
+was announced. The CI/CD status can be tracked here:
+- https://ci.chromium.org/p/infra/builders/cron/publish_tarball
+- https://ci.chromium.org/p/infra/builders/cron/publish_tarball_dispatcher
+
 To run all automated NixOS VM tests for Chromium, ungoogled-chromium,
 and Google Chrome (not recommended, currently 6x tests!):
 ```
@@ -79,3 +87,13 @@ that a new major release of LLVM is required.
 
 Those channels are only used to test and fix builds in advance. They may be
 broken at times and must not delay stable channel updates.
+
+# Testing
+
+Useful tests:
+- Version: chrome://version/
+- GPU acceleration: chrome://gpu/
+- Essential functionality: Browsing, extensions, video+audio, JS, ...
+- WebGL: https://get.webgl.org/
+- VA-API: https://wiki.archlinux.org/index.php/chromium#Hardware_video_acceleration
+- Optional: Widevine CDM (proprietary), Benchmarks, Ozone, etc.
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 7d54db22fa8a6..d93fc5ceb4051 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -4,7 +4,7 @@
 , gnutar, bzip2, flac, speex, libopus
 , libevent, expat, libjpeg, snappy
 , libpng, libcap
-, xdg_utils, yasm, nasm, minizip, libwebp
+, xdg-utils, yasm, nasm, minizip, libwebp
 , libusb1, pciutils, nss, re2
 
 , python2Packages, perl, pkg-config
@@ -19,13 +19,12 @@
 , jre8
 , pipewire_0_2
 , libva
+, libdrm, wayland, mesa, libxkbcommon # Ozone
 
 # optional dependencies
 , libgcrypt ? null # gnomeSupport || cupsSupport
-, libdrm ? null, wayland ? null, mesa ? null, libxkbcommon ? null # useOzone
 
 # package customization
-, useOzone ? true
 , gnomeSupport ? false, gnome ? null
 , gnomeKeyringSupport ? false, libgnome-keyring3 ? null
 , proprietaryCodecs ? true
@@ -89,7 +88,7 @@ let
     bzip2 flac speex opusWithCustomModes
     libevent expat libjpeg snappy
     libpng libcap
-    xdg_utils minizip libwebp
+    xdg-utils minizip libwebp
     libusb1 re2
     ffmpeg libxslt libxml2
     nasm
@@ -143,18 +142,18 @@ let
       jre
       pipewire_0_2
       libva
+      libdrm wayland mesa.drivers libxkbcommon
     ] ++ optional gnomeKeyringSupport libgnome-keyring3
       ++ optionals gnomeSupport [ gnome.GConf libgcrypt ]
       ++ optionals cupsSupport [ libgcrypt cups ]
-      ++ optional pulseSupport libpulseaudio
-      ++ optionals useOzone [ libdrm wayland mesa.drivers libxkbcommon ];
+      ++ optional pulseSupport libpulseaudio;
 
     patches = [
       ./patches/no-build-timestamps.patch # Optional patch to use SOURCE_DATE_EPOCH in compute_build_timestamp.py (should be upstreamed)
       ./patches/widevine-79.patch # For bundling Widevine (DRM), might be replaceable via bundle_widevine_cdm=true in gnFlags
       # ++ optional (versionRange "68" "72") (githubPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000")
-    ] ++ optional (versionRange "89" "90") (githubPatch
-      # To fix the build of chromiumBeta:
+    ] ++ optional (versionRange "89" "90.0.4402.0") (githubPatch
+      # To fix the build of chromiumBeta and chromiumDev:
       "b5b80df7dafba8cafa4c6c0ba2153dfda467dfc9" # add dependency on opus in webcodecs
       "1r4wmwaxz5xbffmj5wspv2xj8s32j9p6jnwimjmalqg3al2ba64x"
     );
@@ -196,7 +195,7 @@ let
           '/usr/share/locale/' \
           '${glibc}/share/locale/'
 
-      sed -i -e 's@"\(#!\)\?.*xdg-@"\1${xdg_utils}/bin/xdg-@' \
+      sed -i -e 's@"\(#!\)\?.*xdg-@"\1${xdg-utils}/bin/xdg-@' \
         chrome/browser/shell_integration_linux.cc
 
       sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${lib.getLib systemd}/lib/\1!' \
@@ -226,11 +225,11 @@ let
     '';
 
     gnFlags = mkGnFlags ({
+      is_official_build = true;
       custom_toolchain = "//build/toolchain/linux/unbundle:default";
       host_toolchain = "//build/toolchain/linux/unbundle:default";
-      is_official_build = true;
+      system_wayland_scanner_path = "${wayland}/bin/wayland-scanner";
 
-      use_vaapi = !stdenv.isAarch64; # TODO: Remove once M88 is released
       use_sysroot = false;
       use_gnome_keyring = gnomeKeyringSupport;
       use_gio = gnomeSupport;
@@ -266,19 +265,16 @@ let
     } // optionalAttrs pulseSupport {
       use_pulseaudio = true;
       link_pulseaudio = true;
-    } // optionalAttrs useOzone {
-      use_ozone = true;
-      use_xkbcommon = true;
-      use_glib = true;
-      use_gtk = true;
-      use_system_libwayland = true;
-      use_system_minigbm = true;
-      use_system_libdrm = true;
-      system_wayland_scanner_path = "${wayland}/bin/wayland-scanner";
     } // optionalAttrs (chromiumVersionAtLeast "89") {
       # Disable PGO (defaults to 2 since M89) because it fails without additional changes:
       # error: Could not read profile ../../chrome/build/pgo_profiles/chrome-linux-master-1610647094-405a32bcf15e5a84949640f99f84a5b9f61e2f2e.profdata: Unsupported instrumentation profile format version
       chrome_pgo_phase = 0;
+    } // optionalAttrs (chromiumVersionAtLeast "90") {
+      # Disable build with TFLite library because it fails without additional changes:
+      # ninja: error: '../../chrome/test/data/simple_test.tflite', needed by 'test_data/simple_test.tflite', missing and no known rule to make it
+      # Note: chrome/test/data/simple_test.tflite is in the Git repository but not in chromium-90.0.4400.8.tar.xz
+      # See also chrome/services/machine_learning/README.md
+      build_with_tflite_lib = false;
     } // optionalAttrs ungoogled {
       chrome_pgo_phase = 0;
       enable_hangout_services_extension = false;
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index f8eee605b8efb..79899d822b00f 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -1,5 +1,5 @@
 { newScope, config, stdenv, fetchurl, makeWrapper
-, llvmPackages_11, ed, gnugrep, coreutils, xdg_utils
+, llvmPackages_11, ed, gnugrep, coreutils, xdg-utils
 , glib, gtk3, gnome3, gsettings-desktop-schemas, gn, fetchgit
 , libva ? null
 , pipewire_0_2
@@ -12,7 +12,6 @@
 , gnomeSupport ? false, gnome ? null
 , gnomeKeyringSupport ? false
 , proprietaryCodecs ? true
-, enablePepperFlash ? false
 , enableWideVine ? false
 , enableVaapi ? false # Disabled by default due to unofficial support
 , ungoogled ? false # Whether to build chromium or ungoogled-chromium
@@ -45,24 +44,29 @@ let
 
     browser = callPackage ./browser.nix { inherit channel enableWideVine ungoogled; };
 
-    plugins = callPackage ./plugins.nix {
-      inherit enablePepperFlash;
-    };
-
     ungoogled-chromium = callPackage ./ungoogled.nix {};
   };
 
   pkgSuffix = if channel == "dev" then "unstable" else
     (if channel == "ungoogled-chromium" then "stable" else channel);
   pkgName = "google-chrome-${pkgSuffix}";
-  chromeSrc = fetchurl {
-    urls = map (repo: "${repo}/${pkgName}/${pkgName}_${version}-1_amd64.deb") [
-      "https://dl.google.com/linux/chrome/deb/pool/main/g"
-      "http://95.31.35.30/chrome/pool/main/g"
-      "http://mirror.pcbeta.com/google/chrome/deb/pool/main/g"
-      "http://repo.fdzh.org/chrome/deb/pool/main/g"
-    ];
-    sha256 = chromium.upstream-info.sha256bin64;
+  chromeSrc =
+    let
+      # Use the latest stable Chrome version if necessary:
+      version = if chromium.upstream-info.sha256bin64 != null
+        then chromium.upstream-info.version
+        else (lib.importJSON ./upstream-info.json).stable.version;
+      sha256 = if chromium.upstream-info.sha256bin64 != null
+        then chromium.upstream-info.sha256bin64
+        else (lib.importJSON ./upstream-info.json).stable.sha256bin64;
+    in fetchurl {
+      urls = map (repo: "${repo}/${pkgName}/${pkgName}_${version}-1_amd64.deb") [
+        "https://dl.google.com/linux/chrome/deb/pool/main/g"
+        "http://95.31.35.30/chrome/pool/main/g"
+        "http://mirror.pcbeta.com/google/chrome/deb/pool/main/g"
+        "http://repo.fdzh.org/chrome/deb/pool/main/g"
+      ];
+      inherit sha256;
   };
 
   mkrpath = p: "${lib.makeSearchPathOutput "lib" "lib64" p}:${lib.makeLibraryPath p}";
@@ -157,7 +161,6 @@ in stdenv.mkDerivation {
 
   buildCommand = let
     browserBinary = "${chromiumWV}/libexec/chromium/chromium";
-    getWrapperFlags = plugin: "$(< \"${plugin}/nix-support/wrapper-flags\")";
     libPath = lib.makeLibraryPath [ libva pipewire_0_2 ];
 
   in with lib; ''
@@ -165,8 +168,7 @@ in stdenv.mkDerivation {
 
     eval makeWrapper "${browserBinary}" "$out/bin/chromium" \
       --add-flags ${escapeShellArg (escapeShellArg commandLineArgs)} \
-      ${lib.optionalString enableVaapi "--add-flags --enable-accelerated-video-decode"} \
-      ${concatMapStringsSep " " getWrapperFlags chromium.plugins.enabled}
+      ${lib.optionalString enableVaapi "--add-flags --enable-accelerated-video-decode"}
 
     ed -v -s "$out/bin/chromium" << EOF
     2i
@@ -190,7 +192,7 @@ in stdenv.mkDerivation {
     export XDG_DATA_DIRS=$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH\''${XDG_DATA_DIRS:+:}\$XDG_DATA_DIRS
 
     # Mainly for xdg-open but also other xdg-* tools:
-    export PATH="${xdg_utils}/bin\''${PATH:+:}\$PATH"
+    export PATH="${xdg-utils}/bin\''${PATH:+:}\$PATH"
 
     .
     w
diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix
deleted file mode 100644
index 355f563317203..0000000000000
--- a/pkgs/applications/networking/browsers/chromium/plugins.nix
+++ /dev/null
@@ -1,92 +0,0 @@
-{ lib, stdenv, gcc
-, jshon
-, glib
-, nspr
-, nss
-, fetchzip
-, enablePepperFlash ? false
-
-, upstream-info
-}:
-
-with lib;
-
-let
-  mkrpath = p: "${makeSearchPathOutput "lib" "lib64" p}:${makeLibraryPath p}";
-
-  # Generate a shell fragment that emits flags appended to the
-  # final makeWrapper call for wrapping the browser's main binary.
-  #
-  # Note that this is shell-escaped so that only the variable specified
-  # by the "output" attribute is substituted.
-  mkPluginInfo = { output ? "out", allowedVars ? [ output ]
-                 , flags ? [], envVars ? {}
-                 }: let
-    shSearch = ["'"] ++ map (var: "@${var}@") allowedVars;
-    shReplace = ["'\\''"] ++ map (var: "'\"\${${var}}\"'") allowedVars;
-    # We need to triple-escape "val":
-    #  * First because makeWrapper doesn't do any quoting of its arguments by
-    #    itself.
-    #  * Second because it's passed to the makeWrapper call separated by IFS but
-    #    not by the _real_ arguments, for example the Widevine plugin flags
-    #    contain spaces, so they would end up as separate arguments.
-    #  * Third in order to be correctly quoted for the "echo" call below.
-    shEsc = val: "'${replaceStrings ["'"] ["'\\''"] val}'";
-    mkSh = val: "'${replaceStrings shSearch shReplace (shEsc val)}'";
-    mkFlag = flag: ["--add-flags" (shEsc flag)];
-    mkEnvVar = key: val: ["--set" (shEsc key) (shEsc val)];
-    envList = mapAttrsToList mkEnvVar envVars;
-    quoted = map mkSh (flatten ((map mkFlag flags) ++ envList));
-  in ''
-    mkdir -p "''$${output}/nix-support"
-    echo ${toString quoted} > "''$${output}/nix-support/wrapper-flags"
-  '';
-
-  flash = stdenv.mkDerivation rec {
-    pname = "flashplayer-ppapi";
-    version = "32.0.0.465";
-
-    src = fetchzip {
-      url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz";
-      sha256 = "16qbc2s8dg2rwggphf8f5665iccc6lrvgz45bdwskg9pwg87hlj1";
-      stripRoot = false;
-    };
-
-    patchPhase = ''
-      chmod +x libpepflashplayer.so
-      patchelf --set-rpath "${mkrpath [ gcc.cc ]}" libpepflashplayer.so
-    '';
-
-    doCheck = true;
-    checkPhase = ''
-      ! find -iname '*.so' -exec ldd {} + | grep 'not found'
-    '';
-
-    installPhase = ''
-      flashVersion="$(
-        "${jshon}/bin/jshon" -F manifest.json -e version -u
-      )"
-
-      install -vD libpepflashplayer.so "$out/lib/libpepflashplayer.so"
-
-      ${mkPluginInfo {
-        allowedVars = [ "out" "flashVersion" ];
-        flags = [
-          "--ppapi-flash-path=@out@/lib/libpepflashplayer.so"
-          "--ppapi-flash-version=@flashVersion@"
-        ];
-      }}
-    '';
-
-    dontStrip = true;
-
-    meta = {
-      license = lib.licenses.unfree;
-      maintainers = with lib.maintainers; [ taku0 ];
-      platforms = platforms.x86_64;
-    };
-  };
-
-in {
-  enabled = optional enablePepperFlash flash;
-}
diff --git a/pkgs/applications/networking/browsers/chromium/update.py b/pkgs/applications/networking/browsers/chromium/update.py
index ec656ef8527f0..d6788fa419272 100755
--- a/pkgs/applications/networking/browsers/chromium/update.py
+++ b/pkgs/applications/networking/browsers/chromium/update.py
@@ -166,9 +166,18 @@ with urlopen(HISTORY_URL) as resp:
                 f'{DEB_URL}/google-chrome-{google_chrome_suffix}/' +
                 f'google-chrome-{google_chrome_suffix}_{build["version"]}-1_amd64.deb')
         except subprocess.CalledProcessError:
-            # This build isn't actually available yet.  Continue to
-            # the next one.
-            continue
+            if (channel_name == 'ungoogled-chromium' and 'sha256' in channel and
+                    build['version'].split('.')[0] == last_channels['stable']['version'].split('.')[0]):
+                # Sometimes ungoogled-chromium is updated to a newer tag than
+                # the latest stable Chromium version. In this case we'll set
+                # sha256bin64 to null and the Nixpkgs code will fall back to
+                # the latest stable Google Chrome (only required for
+                # Widevine/DRM which is disabled by default):
+                channel['sha256bin64'] = None
+            else:
+                # This build isn't actually available yet.  Continue to
+                # the next one.
+                continue
 
         channel['deps'] = get_channel_dependencies(channel['version'])
         if channel_name == 'stable':
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index a2d19900d8c87..2d6d6f47a378c 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -1,8 +1,8 @@
 {
   "stable": {
-    "version": "88.0.4324.96",
-    "sha256": "17y7x50cx2d3bbz0hna25j8pyqsk0914266mpvrpk5am52xwb5c9",
-    "sha256bin64": "09210781s9y49l6qkbd1v8w52741rmhxz6cc6qsldnqpm5mwlgsc",
+    "version": "88.0.4324.182",
+    "sha256": "10av060ix6lgsvv99lyvyy03r0m3zwdg4hddbi6dycrdxk1iyh9h",
+    "sha256bin64": "1rjg23xiybpnis93yb5zkvglm3r4fds9ip5mgl6f682z5x0yj05b",
     "deps": {
       "gn": {
         "version": "2020-11-05",
@@ -12,15 +12,15 @@
       }
     },
     "chromedriver": {
-      "version": "88.0.4324.27",
-      "sha256_linux": "1vx1llg0x6903ggqa345iswd63y9c24184zv784q01zqxqwn0g8p",
-      "sha256_darwin": "0x1s6crfwkcn86w6p8g4vmx5raqlr41pjr4h2dbwppgrc0nx1p14"
+      "version": "88.0.4324.96",
+      "sha256_linux": "0hhy3c50hlnic6kz19565s8wv2yn7k45hxnkxbvb46zhcc5s2z41",
+      "sha256_darwin": "11mzcmp6dr8wzyv7v2jic7l44lr77phi4y3z1ghszhfdz5dil5xp"
     }
   },
   "beta": {
-    "version": "89.0.4389.23",
-    "sha256": "1d5pv4bhskh4l8x5ygccxwiryf05mwr1qzq1dzn6q82damr6dpq5",
-    "sha256bin64": "0swyx2a1gh9mi2jayymcvzwm9cb265ks43wg823abss4q3rskg84",
+    "version": "89.0.4389.69",
+    "sha256": "09xs18jm1pvzh7qzi1cfb59bvy4qarympxxkcwj49khsxjy0y341",
+    "sha256bin64": "1w3vr929ssdh4q5zq5qpx7s09md99aam51j4hdslhq1ih9zva275",
     "deps": {
       "gn": {
         "version": "2021-01-07",
@@ -31,32 +31,32 @@
     }
   },
   "dev": {
-    "version": "90.0.4400.8",
-    "sha256": "0z7695r8k1xm5kx7cc42kmcr11dbagcwjak32sglj0sw3hsr2yqz",
-    "sha256bin64": "11gp2sxaly66qfb2gfxnikq1xad520r32pgshkm2jsb7a7vj7mmf",
+    "version": "90.0.4427.5",
+    "sha256": "034czg6q84lpycgfqbcg3rrdhja3bp1akvsnyddimwxy83r2cqyg",
+    "sha256bin64": "0ijvsjfwmssvl14wg9cbp4h2rfdack6f89pmx2fggbnfm26m2vap",
     "deps": {
       "gn": {
-        "version": "2021-01-14",
+        "version": "2021-02-09",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "d62642c920e6a0d1756316d225a90fd6faa9e21e",
-        "sha256": "0f1i079asiznn092vm6lyad96wcs8pxh95fjmjbnaqjaalivsic0"
+        "rev": "dfcbc6fed0a8352696f92d67ccad54048ad182b3",
+        "sha256": "1941bzg37c4dpsk3sh6ga3696gpq6vjzpcw9rsnf6kdr9mcgdxvn"
       }
     }
   },
   "ungoogled-chromium": {
-    "version": "87.0.4280.141",
-    "sha256": "0x9k809m36pfirnw2vnr9pk93nxdbgrvna0xf1rs3q91zkbr2x8l",
-    "sha256bin64": "0wq3yi0qyxzcid390w5rh4xjq92fjajvlifjl70g6sqnbk6vgvdp",
+    "version": "88.0.4324.182",
+    "sha256": "10av060ix6lgsvv99lyvyy03r0m3zwdg4hddbi6dycrdxk1iyh9h",
+    "sha256bin64": "1rjg23xiybpnis93yb5zkvglm3r4fds9ip5mgl6f682z5x0yj05b",
     "deps": {
       "gn": {
-        "version": "2020-09-09",
+        "version": "2020-11-05",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "e002e68a48d1c82648eadde2f6aafa20d08c36f2",
-        "sha256": "0x4c7amxwzxs39grqs3dnnz0531mpf1p75niq7zhinyfqm86i4dk"
+        "rev": "53d92014bf94c3893886470a1c7c1289f8818db0",
+        "sha256": "1xcm07qjk6m2czi150fiqqxql067i832adck6zxrishm70c9jbr9"
       },
       "ungoogled-patches": {
-        "rev": "87.0.4280.141-1",
-        "sha256": "0r09d27jrdz01rcwifchbq7ksh2bac15h8svq18jx426mr56dzla"
+        "rev": "88.0.4324.182-1",
+        "sha256": "1c9y1dn9s06pskkjw2r8lsbplak8m2rwh4drixvjpif7b4cgdhay"
       }
     }
   }
diff --git a/pkgs/applications/networking/browsers/elinks/default.nix b/pkgs/applications/networking/browsers/elinks/default.nix
index 12adbc0a9b79e..e5282d79a28c8 100644
--- a/pkgs/applications/networking/browsers/elinks/default.nix
+++ b/pkgs/applications/networking/browsers/elinks/default.nix
@@ -13,13 +13,13 @@ assert enablePython -> python != null;
 
 stdenv.mkDerivation rec {
   pname = "elinks";
-  version = "0.13.5";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "rkd77";
     repo = "felinks";
     rev = "v${version}";
-    sha256 = "067l9m47j40039q8mvvnxd1amwrac3x6vv0c0svimfpvj4ammgkg";
+    sha256 = "sha256-LxJJ0yBlw9hJ/agyL9dbVe4STKdXE8rtk1mMFqe1fFI=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index 20101258da5c6..f1b1b26ae3a2f 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -92,7 +92,6 @@ stdenv.mkDerivation {
   libPath = lib.makeLibraryPath
     [ stdenv.cc.cc
       alsaLib
-      (lib.getDev alsaLib)
       atk
       cairo
       curl
@@ -128,7 +127,6 @@ stdenv.mkDerivation {
       pango
       libheimdal
       libpulseaudio
-      (lib.getDev libpulseaudio)
       systemd
       ffmpeg
     ] + ":" + lib.makeSearchPathOutput "lib" "lib64" [
@@ -201,6 +199,6 @@ stdenv.mkDerivation {
       url = "http://www.mozilla.org/en-US/foundation/trademarks/policy/";
     };
     platforms = builtins.attrNames mozillaPlatforms;
-    maintainers = with maintainers; [ taku0 ];
+    maintainers = with maintainers; [ taku0 lovesegfault ];
   };
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index 246bffb8bb478..07a2caca85d63 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,965 +1,965 @@
 {
-  version = "85.0";
+  version = "86.0";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/ach/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/ach/firefox-86.0.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "af7632d2ec4772c1532745b44509ea429681fc41295e8cd577bded16aa56920a";
+      sha256 = "96cf6afb631f36dd18f0d109bfc31abbff5960e7972b59e4fa51ac0c2c81f9ed";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/af/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/af/firefox-86.0.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "9254217dadb1fbdc58d8f2cb565a43cf22a48a9621dd9b25c274b266dfaa4a94";
+      sha256 = "38d4588b8498917717ea58419a35751c6c3ae987372ee6a37590a7630eb68c35";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/an/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/an/firefox-86.0.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "e92e9b30f6646ec58a8a963b4017883058058e52bb392ac81eceb6cfaccc5f98";
+      sha256 = "942c9cf4dc6f5baa6c5225a15a2856bd72c7366bcb6224b8ba5a1428cfd974f6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/ar/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/ar/firefox-86.0.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "29d207b37c8b8832183256c5434da76bb41b8c893c728678877b6551b40f8d82";
+      sha256 = "a616e3dfac2bcae832bc6538692a9d811604aadb71079641f77f9b3db105fabd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/ast/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/ast/firefox-86.0.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "aa68b7807a1cdaa0c780c0da2afcaa5b28946ead2c6f5ea5adfab798f9d223b1";
+      sha256 = "0e026de4affddbdf9e5915818c02acb018b214cd005c5122593e86e821919016";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/az/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/az/firefox-86.0.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "c193052c8ee725d6c909c4f84099d1f72de71ac59318f8fb7f959322ea78e315";
+      sha256 = "761e129a070f017b28ce51c1f96fa95be8d98e687b44e9e97d95d18db85ad9aa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/be/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/be/firefox-86.0.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "54bb585bfbc3b910ac95dbce7b1507b210a871bece19df250bd871fdd4354e18";
+      sha256 = "9e80115c8a78ab5ff3eec38e31c1ec29decba3660ebc95cb909aedf3db4390ab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/bg/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/bg/firefox-86.0.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "3199a6111d85e00c63314f842adc8277d54bfbb457172bfa03f59fc186d0213e";
+      sha256 = "b5149b21a8ae9b08ee3abfa2fdb894582e620464af36037c43c2cd0b6667c174";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/bn/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/bn/firefox-86.0.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "c9767a236edb36585348d7d69668074ff8b7bf0ce8bf9461660fa3f5002b5700";
+      sha256 = "0b5ed8e2859e54ce7d64ac8b0626c69229209cfadf14e8d55225272f702a6f8f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/br/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/br/firefox-86.0.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "4f5cc23bb984de4703f0861c06d51621851149cf7f140439f4e628b760f7e6b8";
+      sha256 = "7fb1cdb85510bb8e41f2ce5e856a0ef93c83c430bbe64079a2e3c362bd557ab0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/bs/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/bs/firefox-86.0.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "fd09d9c54505ed70a94a861bac653c89b1401f3dd8bcfade90a0b43517e0bb12";
+      sha256 = "2259ddd7f35d5a8d8830a429f0dec92da5ee101d5c42ff5d9f8ff003f76e5b8a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/ca-valencia/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/ca-valencia/firefox-86.0.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "3b16d75fcd1f5cb38df9a3bada0dd59c050f57d4b19988d413dfa910a07a21d8";
+      sha256 = "5214a48525eabc0ae4cda08e70ceba59b0e9fd51976d578f512b02fefbf48b8c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/ca/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/ca/firefox-86.0.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "e3736de71272be8fb64762f48175d8f3c5efa001f5ef683327a706bacdbfe412";
+      sha256 = "250f4bf5659a04dfb20a651899a92bccd9d24c2e9d3186bb17acc4f452b0b648";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/cak/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/cak/firefox-86.0.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "a75a176b989383367b973b683a0755a283350aad43e2b9f8825561a3fefd9bd0";
+      sha256 = "959c3cf7aace0b80adc6ae2bedc578b74de66adf261de7b67654e0c57e6ee2f5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/cs/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/cs/firefox-86.0.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "40060c9664c9518692601215e86047f05e9dc1d7a51454b4e2097f6dddab5be4";
+      sha256 = "aaed7891e891ba8926ed5904a798e6201cbc355ba11c341546f779e0f2815abc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/cy/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/cy/firefox-86.0.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "a015e8b04695fbbc19f98361ea1965cb5901ecf285ed2a56f073b8ff0abe98fd";
+      sha256 = "064c2419e8fd43e350e055d7bcd4ae1689c4f7667b51996be9037bc4d1c529a3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/da/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/da/firefox-86.0.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "976e53318750b552292d899f4534541cfd02d64c18f3f1f283ee6b5eba10f220";
+      sha256 = "484f1bdd24689a7a7dd7a8b4556b2f32aeb50509aa3f9d645e151dbfaab9e71b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/de/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/de/firefox-86.0.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "2951b14baacc84b9627b714a80dede18897a3f9696b50ce06c48131888b31322";
+      sha256 = "12670011be25e5420a5721e23d1e37592e4d1ca9a2efac85db02545398454e65";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/dsb/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/dsb/firefox-86.0.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "7b878a3be6798bc19b06242696a61ea78536a1b39851f9a1d41797192d7313ef";
+      sha256 = "2851664d7d9dd90f8e444e13b5c9f20bd6271b6e77ae857db1e3aa55429b8b83";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/el/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/el/firefox-86.0.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "86948d6656659180cc279401106ba7aa420e817b6cc2f633c5f9dde5f2753b33";
+      sha256 = "ec24c6634f20da95f820623c32d92f492f2b939280a49e327a1f465b0046632f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/en-CA/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/en-CA/firefox-86.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "cebc4e8e9320d0141e2a81b4e54177103f6bcf69685055e3ee1bdf59b2188efd";
+      sha256 = "6c5a19ac4ac5f174569483ee5c1f053e692efc189edfca7e78f9428f05454338";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/en-GB/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/en-GB/firefox-86.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "377b3afe2fbf6dc6d953658fe086347b795a25131eb9374465fe0b7089d22d04";
+      sha256 = "919d6e6c731d53ade97bbb330cd2e425f70565c330233a86ffe9295ff3692001";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/en-US/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/en-US/firefox-86.0.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "addf2e4094d4b1f4d4445165a1f52fbd2198cde5fc9c213aef1145bfe8fffef2";
+      sha256 = "c643dd519fe8b0b6d2d2241b5c241aa1b43ece397f49268865b4d1888c19173e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/eo/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/eo/firefox-86.0.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "0393c54f640bba1d73c5a8f7f128d6c3d28b633432f72ec9fadc5305c6a394ee";
+      sha256 = "d20b007ba86bdfdd7aa4bdaae08b283107a4464d88a4a9fc34bd4c95781f48d3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/es-AR/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/es-AR/firefox-86.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "700a5c7c906514dba573c72ebd92fd2809351382b870362a9e73d295ad68ee7e";
+      sha256 = "3d4ed05801d31a92c072384e660d7b874be835edd3b6b37741b71bec32a0fa6f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/es-CL/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/es-CL/firefox-86.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "dc76f5b7690326a51ef2606bc19946c329ed3a4174cbcffe9193ec7281c03d83";
+      sha256 = "8ec51d79baefe2808024c33105fd4c1a8e4f5061b72530a4c01bc8a23d6b6cd5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/es-ES/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/es-ES/firefox-86.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "57e60cf15b7562d5766c3bffe511b43f50b9ee00c484344d7997b1dd74e6000e";
+      sha256 = "38781952508f86d9b4aa7a0c4fae927494e207970e54ba1070943008283c2e23";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/es-MX/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/es-MX/firefox-86.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "77531203ff37345f9849b61f0c163c573c5ac5091e5d0e07037681609e0cac8e";
+      sha256 = "29817ccf3aad1e38f195f18ab628bca8f9bc4dcd931919cdd9d5d22c6461ce87";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/et/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/et/firefox-86.0.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "a68e6825149007d042fc9f1fb359c18c8cf09da6bee0ef3d9f2a619bb2985b61";
+      sha256 = "d4ddde9103e9355a91186e0343315f99bf0eb53b2502abb80b8fcb1056ea82e2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/eu/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/eu/firefox-86.0.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "7a94fa17efff869247b65eaf1c8731c536fedfc46edaaffba27d0367033a54f0";
+      sha256 = "85744b3d7e3bcd5de92ca4ec5a0ade8421689dda5a3c53e361656f3de3178a91";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/fa/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/fa/firefox-86.0.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "732417908adb7da3a9a06ad9022d3f487f6650445b93c406d6bd03482a622401";
+      sha256 = "60e6ebb40f1e11a61ad63d2543acd7d83cef58c0fd4dc22f1c553749a36e3fb8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/ff/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/ff/firefox-86.0.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "defe2f208ba27521850ec1fd8abe73c181004ddd66bc15d45a2d01c8908fee97";
+      sha256 = "878d7155fe73ff6585e8566399416361a39080cb54afd61448e1bd0e191046a0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/fi/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/fi/firefox-86.0.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "247ad848a34946c93129012de65da3153401b3a1dbd41d132d03904657b8ff87";
+      sha256 = "d02f24944f5bbd57273e05aa4fe701b375ad8d8905d0070ec9396a55d104203d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/fr/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/fr/firefox-86.0.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "ac56118839123c10899e043fde74051b4dca211832c2ca4abffc42062773648b";
+      sha256 = "ac6497f8a4bfa4e37798840bf4dc9b84463bf095074d2ba3c931e89a402a3fc8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/fy-NL/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/fy-NL/firefox-86.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "aff1bdd3559698eb253e6339088a1818490bc11fcec08560fed9732705d8f12d";
+      sha256 = "456ff8a1bed8769cd9fc05b29ed23edd29c48514dda4e73ac8e8663593cc3b4b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/ga-IE/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/ga-IE/firefox-86.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "b3aaaa9b45865d0be2fabaee45ec8ef481cc92afd93976058441c3c801f71761";
+      sha256 = "b0778c1217f9ee6e631c62ef024991212cb679a43394e07401a5f61ca2b88459";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/gd/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/gd/firefox-86.0.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "979140c1d5db3ee847af64eb86e97a657f7665cc85e0754d4f580229a81a6a56";
+      sha256 = "37eba79d0db2bf84faa2d89efa0c5b9b34f7fc732636f4b436a3e118792ba610";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/gl/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/gl/firefox-86.0.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "8953815137c2f40fbf490ce41f09c9f1c44114cf0640478e22e16ad67397f99e";
+      sha256 = "ef06e70653f712c4ab594a00c4d571ba098db740ff508cf78e08e859123096dc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/gn/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/gn/firefox-86.0.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "5b8887274069e3c14ba4911cf64e01103ca2b2092f7819d535932ef09a486656";
+      sha256 = "c7bbe33c8f839b24ee6928d74d5b0cff18918ab5f2a55e4b3bc1319049b19e4b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/gu-IN/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/gu-IN/firefox-86.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "f18ac181d0b5dedfc107ace1b257475d7ff75e15f069db183bd445e91ff066fd";
+      sha256 = "71ceee81509cb6d505b836dd494eb9dba73857aa2c976ec1aab2fa57a50f1519";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/he/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/he/firefox-86.0.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "b1b4b4bba5379e6aea2052dce060a857d545abedb75beeb09132c83d89315772";
+      sha256 = "cca354d947d83c616035fdd64019b50d1bb86c3d01e05090eae2d07953ae566b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/hi-IN/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/hi-IN/firefox-86.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "9fa023800ee3db1485a18ba33ce6e4b004123434da4b7e177e9413cd9dc72293";
+      sha256 = "a151d3a3d85f0cf96837f51b2a0df9a0a9652148dbcb53733025e15686451669";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/hr/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/hr/firefox-86.0.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "5dd335bb622a37629874680a132b4199dddfc341ed6cab7c34cc8bc6fef8fd33";
+      sha256 = "00e3301bef430e243c6516d5c94e0b5fe6e27ca58fd0192955423956395fb2d4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/hsb/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/hsb/firefox-86.0.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "f89219c755fe8aaf1309c6b83feffaf6630816882563286e324a90ca62394a5f";
+      sha256 = "34c2666668499c8034e732565b244fc5b0cc7b0f544296be1e86942aa62b9167";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/hu/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/hu/firefox-86.0.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "8bff8576e76bc01e57838ec7751a8cf17d99e0c9dc153e91061ace650d8c058c";
+      sha256 = "d33f5467d9be5a2c6317a10fbd5285c4db7ed4191ceddc317d4ec923bd6ef7df";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/hy-AM/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/hy-AM/firefox-86.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "adab4ab3ce22632836266963323a75a81db9e653614b9b639a6f61eeb10543a5";
+      sha256 = "a008343614e5fa43d8ce90ac5f2afc0bec98419d28efc191b836ce835b6f48a1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/ia/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/ia/firefox-86.0.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "8b4acfb5654eb694b50155cfa41e02e19316cb47e552fc6537339156bb5cbfca";
+      sha256 = "9140874f06ed6e135ae70fa40600b4e1e570b6dc6901191658870916f73d1c17";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/id/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/id/firefox-86.0.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "e848c3877e0453d4ab9b6ccf6078fb919c4d15b1f0f20c1a975654c5e6182530";
+      sha256 = "c1dea9043a7f06708498acfda90a7b166b1f7bf839bf86dc2fbb90cf7a00269f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/is/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/is/firefox-86.0.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "00036a6977a932b547ee5b97f5c830456cb19393cda45c190ee5237e796a76e9";
+      sha256 = "50a804f9b7dd594b8c449ce6dd137b5f2bce41ab29baa35f6a14977a5c7af486";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/it/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/it/firefox-86.0.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "81dc17afe61ed833494cca7687a1bea1f6a5a3d93571ae0522e481ba2c9e73aa";
+      sha256 = "3ea5e01722a7a03a5dc498977410fd2cde90352b026489669bcb7ebaa571ffdf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/ja/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/ja/firefox-86.0.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "2f0a652d51740c9adc760a8843433a52226327600fc7e9e87b603e97c0541547";
+      sha256 = "efac929a1ace0484b5bce056bbd3d3ff4f26f897d4b1739f128d1dfd91c3c375";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/ka/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/ka/firefox-86.0.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "8f01dcfe02fd71d3c3d564ab111b34e4f2d5c58981233c5698c87bf449144015";
+      sha256 = "95261b88327b5b20739d8adb2a99bb0de5d1311099e2d3fc0999405fbc918ae6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/kab/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/kab/firefox-86.0.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "1163788f9d943533b124a57fb3e3fc1aae56793f929e5ac2d3f17b1826e3d353";
+      sha256 = "f7b4f440f27ab9141b24f2673e4b850193744d1fc03451c2134a6890b4884f37";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/kk/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/kk/firefox-86.0.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "f91eae3b5afcff6c49548c6d5d5d5b0fc0dd6a9500b87baaf00e0cee96efe22f";
+      sha256 = "652aeb8d66ffb884983a043ff1d2ba10ff3a03aafe8cd55217a8f6a8068a3e59";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/km/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/km/firefox-86.0.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "2ab5040f15ceea952a7fb6d737eed93b23e1423e2298c31a5d7486c81ecab9af";
+      sha256 = "39deb82ca935780959e4a0f71d85cee3b90c6228237a508b239ad2a1f5a35a07";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/kn/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/kn/firefox-86.0.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "c141f0e1c95c0630aecda5f929ea3720f3620ad9f30f95e4e371865c2d0eb96b";
+      sha256 = "886370871c27c6637a74e4d8ced9ef2a9ec5062a8aae45fad5fea1dc358e38f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/ko/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/ko/firefox-86.0.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "8e87b7f748f2fddb3edf5f12fcd8238bf8f05b403c707471878ef540f8fa2a40";
+      sha256 = "9acea882760a961e228344c2cac9dfdb8d40c6c4c874744a4f2fffc356f6499c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/lij/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/lij/firefox-86.0.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "99e4be7139c456c7a7da8d1ba1b845d381995241940b9e9f3db81892cb51231b";
+      sha256 = "fd76e82cda32813d43d80ae4acaed5610882162d68e98b4ae47dd1ddc8487d82";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/lt/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/lt/firefox-86.0.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "acfc0ce0b56a15d2b5a7492807b9b70b801712b420a72d5b2e73a6e5021cce71";
+      sha256 = "afcc203f0d080560364277e7cca0f4080c74011dfc0fe07c751124e341e5b729";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/lv/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/lv/firefox-86.0.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "c8bab5353b01987b6e3ee434ec5460cb54d56183662fa9c7f3017ae018be575d";
+      sha256 = "1b8a5cc4941d669f12593dc078d6658751609bd094a3704e9a9949341413ba9d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/mk/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/mk/firefox-86.0.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "7ba1d47b8923862ff2228faeaf86a1277dd48f45ffa83230f3b9b22b1860febc";
+      sha256 = "72d374b828e3316f119d592bde6ebfe91ac4907d63cde43f6391d4be81119bc4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/mr/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/mr/firefox-86.0.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "acbc9dd00e31437bee02f9d3548af926ca021f128239f67ff5399e533923e2d4";
+      sha256 = "17a2dec82a1d89fe74e71f924a21bb175cdb89d801ba50e5f0f0b4625fdabc1d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/ms/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/ms/firefox-86.0.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "6293173ccfcd0475b6ee0baffb54d4b43776710b3c4ea97ef1437a8919aebc1d";
+      sha256 = "9af2d0b5f81d573c8fed4ff54446b2f3a77080ccec5138b1d0e707fb1c37e164";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/my/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/my/firefox-86.0.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "c4e075996c9a6c13e2631bd85d6f5b3015400dfa40116479e5a17c939d538cf6";
+      sha256 = "3a2815eed7a1288991c769045614cc50ec3fed2810ff143652092cd32aef5e1b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/nb-NO/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/nb-NO/firefox-86.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "94d8f6ea965080e0b28d797c0c73813164216541bb6c008adffa523722a2727d";
+      sha256 = "a8255d1dffb5dcba012a15d5b0f62b9e6e4e60720ae6dc139c23f77aaf6ea99e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/ne-NP/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/ne-NP/firefox-86.0.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "129ab6f7276d180c3adacfe970c4c870953481790b451f8dc98134c914daddd6";
+      sha256 = "e1c563748ae230a44939d27d7fa246e63ad49d242df236082af2eb0c38af8046";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/nl/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/nl/firefox-86.0.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "0f7efdcd52cf5c214da536261e539b45d8da3ad37543b6296feb92186053a59f";
+      sha256 = "56ab4fedc5c3a71b91693d33eb70f79ba3f0095dda66eae44e3e15f885491d5c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/nn-NO/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/nn-NO/firefox-86.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "2e42e0a8eb2dc2fcd217aacd7c0aa7eac5e673bad0d66f0555f7bb51ffb895fd";
+      sha256 = "216e2d4434c66fd4361114467ed5e4635342ed53b74eae287d1d69ba63ac85d6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/oc/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/oc/firefox-86.0.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "d4fabdd18ca199f6081093fe4c88191885ae0c19fc36fe574f546b26b5d2eacf";
+      sha256 = "0f6822824131d1709c09de64643a9f6e3b03e30741d079f66229efdfb5096e21";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/pa-IN/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/pa-IN/firefox-86.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "88ddf2bc486d13217edd3d325247dae774ba60d509481d7a6900e06ae30f70d8";
+      sha256 = "9a15f3ea177314500e72ef123ed9dc36bfb9e10b92e5ab20cdaa6e7e1fa3367f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/pl/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/pl/firefox-86.0.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "9e6336fe8745e21674270a95bce7d24508c9585955c58ad74f631e1fa73c56f3";
+      sha256 = "18d19ed1597d3862d08d6daf52dd1bfb8f21c005f7cc44ce4d2e8177b4509aee";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/pt-BR/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/pt-BR/firefox-86.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "68573084e4a826978bfae5c1c8cbfecba2fd578d0c6a07affebc2ba19f1d97e1";
+      sha256 = "287c3c117532b23e45d726d4541ee726056139e976bf43210f35b529834c3884";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/pt-PT/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/pt-PT/firefox-86.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "6b6bcca14f08cb8fe07282a3b24797417ea73a60300cdf76c64ffda4bfb051c0";
+      sha256 = "26915b7725a325db052cbc165454c34f19e7a1346aa400b1306234707bccdf9b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/rm/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/rm/firefox-86.0.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "331c0cd9510564ade274c209514dc5ec3647e3ea37da6b630a7cefb8c445332c";
+      sha256 = "4d5c14e2607efc653f5cae75290332229286b5ee606da635871dc04e20495fc3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/ro/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/ro/firefox-86.0.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "52df2b116aaac13590076b86216b904def287e18828f040980cae01e8ae67b1c";
+      sha256 = "a41bab63866e22712861a825aae272e3468470783f92c23117e1c116b9d66771";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/ru/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/ru/firefox-86.0.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "2fbcd36492688e21dc4e8fb1faf1ea67ecd745f3b7f58b0950786120c9043cf0";
+      sha256 = "edec67a8079f55c5f22b6928bf1d55a2e1d31aff931c9e41e503ff1b7acf2ecf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/si/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/si/firefox-86.0.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "2a4ab4bf9fee148931d09bae59ec1f049c09aafdcfee3c6a083adb3d2b1e42ee";
+      sha256 = "0357b913e6528214f30ff5ffd4a0f1c0e26bf079d3afdc166a82ee24e8c099ad";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/sk/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/sk/firefox-86.0.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "4ba12a5d49a2ee0f5c41f63cab08b7c161f3546ca9195339e22d463879e7f45b";
+      sha256 = "5a38f953d93cf4cb8b4e2dbb0206fc0a9fa3262c55d91fa4cfc3a8605098403e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/sl/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/sl/firefox-86.0.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "6f1f6379a9706d2af9c7797d8c1c86700f3e9ff7cd72fa35c3d602e6622de47e";
+      sha256 = "0c2c41f6d7c3f72e56cb84c921207a606f959993ec6a3cc5619bbb894ce6ef8a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/son/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/son/firefox-86.0.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "b9292626bad35a50dcb81d34db417417b031a6ef9a215e26d5e1ee9456e244cf";
+      sha256 = "cfdedeaacf244b3bc63343f76ed817a165a15b2a727f04327581cd373e76ac86";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/sq/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/sq/firefox-86.0.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "077dbbaa904712782252e8f8a01b78237d51cbbeeda0e455ad5f2569f9a394d1";
+      sha256 = "daac917a1e105b7871a0361db364558251b931898e08c36515c64269c760d6b4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/sr/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/sr/firefox-86.0.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "c537ab1e63530a82cf5c181d98895b580705e3418f598ab3f98fa67cd9a83f10";
+      sha256 = "c1993cabde0e7df92e45101bd62cd14a86d023763c48c18a7e00018dcfea282f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/sv-SE/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/sv-SE/firefox-86.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "42e36cc411666fad716a60643eae0be0301783fda10cb07943c8b6df293430dd";
+      sha256 = "eb04be61ab3d029437f57dedbf1b66d0bfc6c0a9b29e41fe4fb7aec7b5ab47b0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/ta/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/ta/firefox-86.0.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "b77e5c448f6a1bde09da07c3b20339f54214d89b4394123809e7bec668d65abb";
+      sha256 = "fbd105183afb74dc7887dfe5cc0e518e96cb8bf79c53fc502d154bbaededacd7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/te/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/te/firefox-86.0.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "8c700eb9c7a9057e4639c39643430667ed9099a37d2214c8ffc5d349e5b0fe79";
+      sha256 = "e049b79ce8a81749caa83d6b42ae710414fe08ae2f28a2c1af7c7d47f83b24e0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/th/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/th/firefox-86.0.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "3a467b98fb435e80bb913c56291803a79a05a42c73576be49b014394a29002f1";
+      sha256 = "2b3ca062e1e53d5fca726e5c5a9eb7a3a639e4f6e7f5b455bf33e305eda475cc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/tl/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/tl/firefox-86.0.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "599214c5dd5eb28d6ea3b7e2db8795ce4923284c721b15a85bcbdbe74b416c5f";
+      sha256 = "0fce4ea1fc379ab87c0f565c12f8ee16205108048d7fe89d7850802653247c16";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/tr/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/tr/firefox-86.0.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "1192f241df3a8691d0e895737c03a790f47a731a6335d2ee2fd1e1310b3d0cc0";
+      sha256 = "e0a1c0a5d31225fb6af2b5b2c4d7386dc10d9c5c56081c1282615cc8d5da51ba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/trs/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/trs/firefox-86.0.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "f68c08305ec3d1396826e3310ac88b5b07beb71beebcbfaebf3ac81c543bc47e";
+      sha256 = "129d9b5d54cc807664a27fba1fd4f003430bdccf0385cbb53ea77517ce30879f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/uk/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/uk/firefox-86.0.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "4705551ac9a02b450f5e81b05a08912b7b26bdba99b9e9095461aa9c70aeed36";
+      sha256 = "d50f3c3f21af6c805bc8c86f886af9f1be2b2d5cb5ad061a000633fa9b7e2641";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/ur/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/ur/firefox-86.0.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "ec84dd4c7a4e338a21ccf8f09c1dfb14a9e34e3240a55b92901cc5e6a89bb135";
+      sha256 = "ac9240e7896f695f48526ad275d887ddef7eb98aa3dd94800a1b4da081110876";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/uz/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/uz/firefox-86.0.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "d7a5b1c95cd9c8bc20cff8add8a2fa9c9c909b3845cbdc6f593f2686f9f27a40";
+      sha256 = "94bd2d3f2f95e32381f6b945f4b1149f355dffcc27ec829fd0849ec4895a6da7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/vi/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/vi/firefox-86.0.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "a3c1a719317c9fc73371132dfc0349dce50db061c4f96d32585bb26d0aecc7c9";
+      sha256 = "e7c8034074e6d1f8f6987321e24dffdbe8acfa11d6784b8c8d033e690a5ed145";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/xh/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/xh/firefox-86.0.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "cacdaf5b7044a7e951fd67c4ff25ed41f2fe05a6cf2f4ff5b9d8d9fb0cf211ca";
+      sha256 = "b8f0f3ee8aeeec6fdac5ee15cf688735809994c71cbe4f01b238a3cc1386006a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/zh-CN/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/zh-CN/firefox-86.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "888569bd9bf58a58ffd5effdc4f0c58ac53354cec5d2792f0d88cfb30efff4bd";
+      sha256 = "47b4f3411306839882f5755b3eb2038f9c7bfd1c2ae72927db54c4816c97217d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-x86_64/zh-TW/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-x86_64/zh-TW/firefox-86.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "71e1fc336cfda1401b4d96ed185423486480a5ad4d267d3c94336470fa4a8bce";
+      sha256 = "5fb11410c30a813fd0db58c928fb07c488405776308eacf64b238daa0fbffbc1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/ach/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/ach/firefox-86.0.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "efcfa1aaac69712596c7f5ecbaf359c69980eb0b4d8c99857085f3a4564d5026";
+      sha256 = "06d2dbe0f799d22e98b715528b54566b167a22db4d16d3ad60d84a6e6a8b9e5e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/af/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/af/firefox-86.0.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "b5e1eb9041fdda259a3db87d784e6b633a18f18c46038361d4a6d2a8aeadcda3";
+      sha256 = "536fdd221aa5f872cc8028f39fcfa7b9eecfe09a215da3d50fbfa9e256a1394d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/an/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/an/firefox-86.0.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "35ecf29bbb2e65feb372c83d2bf6b1c28b6edd57873eaec3090ed0200121043a";
+      sha256 = "ba6eff6a355361862fc78879264965f5f1c0adebefe934d1b6d51994023d3bc4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/ar/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/ar/firefox-86.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "ef86ed77ac7de83e4e068970f57843ab801f89f180837015f1ea4e3ea11f3b6c";
+      sha256 = "0b465097dcfd4f2a50eba984b0bb30fedceb1a409e2a98f22c45709cdd1117ae";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/ast/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/ast/firefox-86.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "6b58d2d132944a5106b73f47bdffbd606df63173f817bbdb32c4d3b2354030a0";
+      sha256 = "614241f31f38a71782faf76f0a31cd81d2520523ff85d8a5dfee32a77e48829b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/az/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/az/firefox-86.0.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "1ee85155d8d45fe003bea0d8ff9d5a1c40c4d52102e125b4bc1ad608b5383c39";
+      sha256 = "4fd682f83c0eee3031c6e452d1c7cde3e54d0e52bb8316b0e2224360665d4fc4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/be/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/be/firefox-86.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "e6f30798e101d73b0e359a63a35b044ea51df964f1e22a9c894f1b572cb99653";
+      sha256 = "c15417c21f42212337bd921c869b05124a720c6d8730e4a16d30ddd9c10aca97";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/bg/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/bg/firefox-86.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "e3bbc6ca6c77fdb56dac6c8ad0c45d425485ef279c115651bb4824f6d52a14f8";
+      sha256 = "fda51760d2dfa07d559673605120a34706f8a6546dc4e673dab55b71cbc501ec";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/bn/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/bn/firefox-86.0.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "583762c0fb01f6ee1165eb98122940fc42286e6f8678679466a2b79051a45fd3";
+      sha256 = "f61419c6dd7b20cbdc48cb0faf51cc831fa90f37a721a162bf32753d85a40aff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/br/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/br/firefox-86.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "abef23deaac27bea07d0586f78578b34407765c05cdeaa9bd4d4ea0b552bafbe";
+      sha256 = "7d60c5f6be2270e9b40612dfb1072ab5d29bd02d070f463f1df915f8d13873d3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/bs/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/bs/firefox-86.0.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "8f4385e1a8db5567d499a046a169d8a77c585a61734ee7257063a98d722cd278";
+      sha256 = "4707568c61df2d2050e3f1c18d3a2dee1c5bcfd091f32bd615f2e75ed06949fc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/ca-valencia/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/ca-valencia/firefox-86.0.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "eca948e8e2020cf401ac4dcaefda2aaf967336122e1927418a80d9a854e2e52c";
+      sha256 = "fe52cf8f5f531143ef28e728753610b442443de53f34a4a8d6318d5124a10caf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/ca/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/ca/firefox-86.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "c46250371ac43baaed265e74998e0bc44fdf01c4308f1bae8e34896e75004096";
+      sha256 = "8e6baa8ac94878448f65598042d47b9789352fba55d4e4f91cbe319f9676780e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/cak/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/cak/firefox-86.0.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "64dace82a39b131fad3509b2865a6cb22c5044a88838187f975a9c3bbb5cff2b";
+      sha256 = "006a887bfaea07c40ee0f67ebccb1aa538f56e28f625cf2b085242c26ebe7bf0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/cs/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/cs/firefox-86.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "799c10e7f4068f4122637f4e8ae992f4da892b8f4ae17e47e2b93ff9f61f236c";
+      sha256 = "27f1c5634e101d3681885a8d2d572b73f8c9db2215e4836a6cd71fbcd0a5b8dc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/cy/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/cy/firefox-86.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "9075bde46721937fc83f891a3f3162969e61c8ae6aa0904b6d597fd5c2872e81";
+      sha256 = "9e56e8f88baae2a4c99ae12041ed9c766dedc99b7ffd75bffbba92a7c19d98b9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/da/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/da/firefox-86.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "d1bc56c35db77e1ed7c3b206ca7906834edd41e8d37f5fb467fa75eab22b1c6f";
+      sha256 = "eb317f12d74ac8b636c87dfe9c1cb0ce267a15ffeedb79956e1c15e971d1b7e4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/de/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/de/firefox-86.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "8430827afb4a748890d1b114d3363898ff6a882b2a17165a10abe8ef385ec83f";
+      sha256 = "8a736a3a9c257f2b4509e3ec2f74259f655369159981cfedf8468de9cb1fb22a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/dsb/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/dsb/firefox-86.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "e6985031027fc9d4e5d8ab0899daadd93a5333a668b116b632181ed34006ae64";
+      sha256 = "a8fbd4dd6d1172f67744e9283efb6cb644421cb07e3568cae0d3c68c479d653b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/el/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/el/firefox-86.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "4e5bb6be18e963006f30a1478194b6613ff922e9dd3939ed7df5e2d79df5c630";
+      sha256 = "59baec30ea1d8e30982f52279003b6e1be0148c02f38fdf283325c53ad900ee5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/en-CA/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/en-CA/firefox-86.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "b172f0368b07b6f908035e7d41a95ee8abd9c21cfe77923d902ec53517716a6c";
+      sha256 = "a4e0ea60acf339a61c19272170d2efdb4f519325bf2f71bcbf82af70ca304af0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/en-GB/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/en-GB/firefox-86.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "3e64db811fa3cf989dff5b043b9ffc3349f119ce27185fcade110e57ccb66056";
+      sha256 = "6c82da02a7560977faad1ca3d4c3973d08583fc0ce75e1de6e5aee2c9d372b38";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/en-US/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/en-US/firefox-86.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "e6269d7b11bd0e2d918e45059d201a2ae329da6ae69d33648de1e8ed885c65fc";
+      sha256 = "eeec3b446c30c65d4af72d04d58c6d5ddb04c13e871a5351921a737f7e1cf234";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/eo/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/eo/firefox-86.0.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "fa1e60db4ff414b96c7813545a5b67730f312cbd85bbf079aa4c03eed5dc0920";
+      sha256 = "4cbb1144cadfd901082829f8e67e311c51df96ecd08aa2082772421d6445f2fa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/es-AR/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/es-AR/firefox-86.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "f65977cf029a0075e2214708719a6af4b8e41d39bbf59b1ad998a5fca460c717";
+      sha256 = "c875473caefc7e18a4f7a0a3e7d44ce659a2271fc1b21d435a70c921092b8af4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/es-CL/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/es-CL/firefox-86.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "94cf0ad46c52685c03c385ca80e159e5ddf229f31c8ef764defa50dfb5e59857";
+      sha256 = "d1bf9c2a1df028b5d6eca5b41c975afc6378701c6f33d888b46511da5ce5e498";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/es-ES/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/es-ES/firefox-86.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "6603132e1660a50ab3f0347a22b52b9480f4bac21f67f958fb0f112205f3dd3c";
+      sha256 = "5ee1967bc61259869441f61061fec2f24ee3a4179c64b245768387e94acafdce";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/es-MX/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/es-MX/firefox-86.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "325cefd6f0920207fdcb11674a4b5a3f8d71a4b65e64c11f7ab3681a7a1ffb08";
+      sha256 = "6b4669581f26a18fbd0bda8d605b9d22b3aa98eb193ea81f7ebce1db4d39a263";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/et/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/et/firefox-86.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "9e997aac788ad9c5d249a2e1cce5f3a968fb5564c67e585f842d576aad5b710f";
+      sha256 = "0c41ec2c1df4cbd295d349a7b6ad7a7e974662319d4a1d458e9f6bd31c4830c0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/eu/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/eu/firefox-86.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "c677e6c0e86ce007fd0027132891b0baeefb172dfe19b8a3b6c0a1fdb09413a5";
+      sha256 = "e7bb380e013f5cf35edba5b698a5e3fafd7af63593c663e0029e2754f6854b4f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/fa/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/fa/firefox-86.0.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "4961d99cfa342ff1148f751a7ecb480439f2850247e4b4815023ae767cb92c55";
+      sha256 = "d2601f3b84b31d9852a3f2ec35ae8b43f8640da18976f5f4c8a77cf7ad360a22";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/ff/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/ff/firefox-86.0.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "751d7fb2485d00f1653397cbab88e0131b959cb9fe94a2c74687b05967a0efe1";
+      sha256 = "a13ee0463fc23cff51f88072d527a6b758fd313276cc7e5f3c8a0c4c8d5f5404";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/fi/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/fi/firefox-86.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "98244bbd2d914c14b66a2f1b58312fed6ad09d69a8c6e36c6a28b9d6f5b93bd1";
+      sha256 = "76a153c9e398eb259c69b30d15782b7d7a9ebd156283f1034c20182cd72e13f7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/fr/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/fr/firefox-86.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "c90054aa48353ecd2e7d8bec810e98b8706bc837216bd2237010c50d73890de1";
+      sha256 = "6f5d6e07251f75d6355f52558f2734d2788bb87e1e53ccfb800e03173094f765";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/fy-NL/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/fy-NL/firefox-86.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "343559198dbea2cd4f4d66c83fb8c0f44fede93843d43421c9a7e5925a7f834c";
+      sha256 = "785a30a785e55158c7251e623683350ed4840bb4b6f002d34cdee82d91b33d10";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/ga-IE/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/ga-IE/firefox-86.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "44a19acee4c0a8e03604de46c19c28f54f9ecc8bbf8f32f2e7b3922c11659df9";
+      sha256 = "f32f8a0e5f0b5fd2a1dd147b32880605186a4b9435e39a53fc87f42eb8706979";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/gd/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/gd/firefox-86.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "bad179771be3cb0fd0ed4dfb287f16df65a06b78b3741853f474184f534f1ec2";
+      sha256 = "2893dd13353b3504a00e02f65f0b2a0a72dd43771148d45cca271aa752a0c520";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/gl/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/gl/firefox-86.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "58732e181252d40d59e3acfaaa1da9533e659fa4d3c43f70c03801fe793c7280";
+      sha256 = "b5bcf0eff53f6bda0e394be3e483c3f314d962a919473492a7d1005b6976b861";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/gn/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/gn/firefox-86.0.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "645d6840fa76e286bf107c526de0762c5074ef3b52bae49ee5f02307c52d02f6";
+      sha256 = "c979d766174b2e4df72de6a375084b509e879f11a13c1972c97b5ba0accb67d7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/gu-IN/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/gu-IN/firefox-86.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "f61f6b052a687807022b72629a22a6b53890487add36634d09e2860d92d6733e";
+      sha256 = "0e053f93d56a8fd9c07bfef4e93f1f338f951f519be669f5ff18157ca4216025";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/he/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/he/firefox-86.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "5b96a1b4298737182a7c7c99ea43eb7b6558593f9f7b18df4a0217101dc183e4";
+      sha256 = "05435889024f622f69d82a0007c19b50b1842f2cfa558748b39859a94a7addaf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/hi-IN/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/hi-IN/firefox-86.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "e4c393235aaa9d80d678ea2f69092462815705647022fb2635a00174e597eb60";
+      sha256 = "7fb87408064c024305295c38938c42b34a0c627b177cacb00ed9e79a0ff974c8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/hr/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/hr/firefox-86.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "3722f05edf8f9fd5adf782291be51b708e7f08943b2f03351b36df00a1ef0d1e";
+      sha256 = "924141a867793aa4fb3d2b87b75c1d60cc39bb3a3591eaaf6ee3381fcf28fcc6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/hsb/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/hsb/firefox-86.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "e79dc707afdd246540e886522890d6ae2f53c38054c8902303d9bdd03df02359";
+      sha256 = "7ce0f09c144462f9c94dc6805165543d12afbf0e44e327dae4554fecf272601e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/hu/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/hu/firefox-86.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "415edcbfa2cf3bd0cb1278799914ccd683af51b8e380039c4aaba118e66047af";
+      sha256 = "8997e6d5620e0f565939cd8f127c4e86da0c46828c66fab7333073c3cbb8054e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/hy-AM/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/hy-AM/firefox-86.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "4561cf20fea47b11a330be2bc3b517c1c53b4577f250b531225c53f321df7382";
+      sha256 = "aeff6c4b8c7d164b63bf22808ea234236f893e6da2b3d9142f95d89e9ec7178e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/ia/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/ia/firefox-86.0.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "97b44d0e08f79ad55aafe2384b523d24e0147d414b95ff81834feb59c6b07695";
+      sha256 = "0590e0469ac2e562325d786dcb68e2ca2111aa8ae1ff3717ef8db2259e6ec149";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/id/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/id/firefox-86.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "2b501c2b43fc54f1ba5a89f8b0d19f8d25626584d1bcc108e16e2287f11449a2";
+      sha256 = "ef8dc62e52df3e6b1d37aea5f9b9a214a26e51ef9fd378f56ac8b2245de54613";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/is/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/is/firefox-86.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "2cc3d7b82be2bad7ab6dc5659bf7a4c8ce4d882964588a2a767e78a34d832b27";
+      sha256 = "aeabfd51aa160ba259850b7fac88829f81bcc0dd8ccc9168c7add07ce0d4efc3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/it/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/it/firefox-86.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "68b3f63b6e561f038894d6503b4fba8177e3fc025a189b68e2da11f8bef11c2a";
+      sha256 = "c6069c0a86344af00150be03cb0f2c26984b713ad386352f5a10b39b79b13cac";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/ja/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/ja/firefox-86.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "0023494cb7a5485b1d492c2b9f1eb40a9fed06db0de6a2bcc76b54c4c8b44b5b";
+      sha256 = "9be7b40e66723583b17657ea805919955dda703957ba21d541baa22390a1befe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/ka/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/ka/firefox-86.0.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "a6489db173bbf47f76379afd09c75912d2bc4b8fdd8023d654df9d5f257378ed";
+      sha256 = "2e8a57b44b3bec627793f46df84f7f25ab0aedd0f8b1f08202c75cc58d7e14c1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/kab/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/kab/firefox-86.0.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "3b060b719b8bf0993786b05753467534e10986304b3251f572603be5aaeec2eb";
+      sha256 = "5777a6b5eb3055ab2c93f98bc597343f13bff7d0a846809d24c97e9ba1a0ca7d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/kk/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/kk/firefox-86.0.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "7c1139dad1b300c8450357356e6c317159b5d702db30747c1ff7aec31f33f82b";
+      sha256 = "84a8fbf2a859d81aae2aae6bc95f12a8e2982cff77090072a01d28daccbf21f9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/km/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/km/firefox-86.0.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "f9dbec23d5110b389fea294cdecad03772f2471952e9ea01bc9d0462f7541ca5";
+      sha256 = "55982f15b467ddea6203fbcf98081496d0e313d3cd281f807d2bb75b4e79077e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/kn/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/kn/firefox-86.0.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "7521548f755d51ed47e9596d58223f699fd4494bd5af8fffc1c59018f20be8bc";
+      sha256 = "18aedab4f324448da412ddebd1da9b01be51edcd5052c9455672a763ae1f673b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/ko/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/ko/firefox-86.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "bed7a64af30ad21413516c201498fbc335125768ebea48cc895e724e6208d566";
+      sha256 = "5baa361fb97a76d12bfbf5b87c092cbe8079d34dd08842dae9def133383f587a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/lij/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/lij/firefox-86.0.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "426c432ae9727806af45667948a1f1aed7196a245441054da590931f98b5e96a";
+      sha256 = "35bf3aeba596135231b1ddff2e2550ab2a3e0c5bc796d7b628c5f78ac46ce40f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/lt/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/lt/firefox-86.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "badafabd22ea7934cc2099677c9890cca609c56f3b16a863fa2c977f1e86a9c2";
+      sha256 = "eedf7ba2cf4634ab18c2f2926266845a29c9bce8ba747554d413b276445b9eb1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/lv/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/lv/firefox-86.0.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "7caf8f81efa55b69cd51fb5f75652c6d9aeacb2711d9bdbc29fa80dcfeda74df";
+      sha256 = "a1c5f04c16f6d50a0797e466d6a8836de40219567f04928cda7f64d967d8afa7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/mk/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/mk/firefox-86.0.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "ef22239e208acfc9b0a57dd06781c09dea1afd0303a091cf075c021a5c85003a";
+      sha256 = "8de29502640b51ac9f586ae7713903612911cf01cd7aecb6d74175a816cce6a3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/mr/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/mr/firefox-86.0.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "99d2c32ea14feec74db39d1eabc0c914a8681bc216aa76cd970473fbc06e5dee";
+      sha256 = "f4cb4ddcac3b5ede422e54c69c05902506be788b45a79cfee6e21a0b7b8c3ca5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/ms/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/ms/firefox-86.0.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "43011dbbc33615a67088619053a2579098e2afaed43b09268e5117290f100101";
+      sha256 = "aa09b472e21b453f6875e25dc7922ca062934527a306f3b338cd32636076c021";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/my/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/my/firefox-86.0.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "d78bb48ec1b01787037d575da259b724db2bfffb0cad1700801ac7696eeacc55";
+      sha256 = "4a4ad99aac0614aa25fd77c4c740c49f509db2333c37f797018362b15f38d1d4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/nb-NO/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/nb-NO/firefox-86.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "64f55d03bcdd9132b40cad1a5265cd81e2945022056141272dc0fca22aee2a71";
+      sha256 = "45814c2d731cd8435a92c31e9311c333d4357dc38e9196fbc24358289004df8b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/ne-NP/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/ne-NP/firefox-86.0.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "b3d7c64b087ccd67b56dbb0f9554dd3db6481fd59ec7f46db1a03dfea129c372";
+      sha256 = "008ecc3d7bf7932a320b6ec12404a5259032930539a65e60f8aa2f98f9018524";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/nl/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/nl/firefox-86.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "f2c83282acb30108f4bb381eecc30d61758d1e2279abfb772050b3ed8827b8fa";
+      sha256 = "0202adc844602502b48d078a665b1e9012c65172deda406ac9db972e05456fc7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/nn-NO/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/nn-NO/firefox-86.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "534dbf0d58c85fe21ad9998a703ac4df5a0b7d124c80eaca0b72fe42b97628f4";
+      sha256 = "28f34c957628178a112ad6a7c16d9dd20e58bc3a9068fb1e59ef5e656ac8f02f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/oc/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/oc/firefox-86.0.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "c3eaa5dbee8ee90d735c5e6db3c397011837385d4ac4d46ba3693d3aebd03e1f";
+      sha256 = "4645cc6de115ff73444dfa4165a82b3ba1b0adbe3c4eff6fd854c9ec594a7bbb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/pa-IN/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/pa-IN/firefox-86.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "66c640b7bfb626b8d851af9f3170356adb3436fe1adbce76961df586fcdac051";
+      sha256 = "3fbe8e5c7b4fb420a6a6c62475bd01fead342d7431578b96f391a829cf184be4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/pl/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/pl/firefox-86.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "64d5f25fc15cad09c103fd243d0767aa4d0a6e10940e9229e9fbf5e5354f14b3";
+      sha256 = "6850d14c02c152fb6252b08a111ff6bccbaee6a6ff76a99c018b497a8a014ab0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/pt-BR/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/pt-BR/firefox-86.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "8cbd4c44af5da9fff2baedddfda640661dc3c3e0a2541985a12b0a42a76bbece";
+      sha256 = "a0aac09a39302df30a48c54e64ae422166eb781ef349dbc58927e077310fae5f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/pt-PT/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/pt-PT/firefox-86.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "5fde2c95eafa41bd9c8da90fbc6408eee8fe8187d18ebc2b9e04a19e662eb7a8";
+      sha256 = "e577444bd6ef376b0277cc2181bf50bc1ac3e377bed171f30616f536fa2d516b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/rm/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/rm/firefox-86.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "1f2b1d0c9695b7a8796670baefe35e95d91a4060137c01739e00033a2c50aae3";
+      sha256 = "2a4f5f35caa3ec5b9f20c1160dd038ce3d689593650771c3e63246cc53b23cfe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/ro/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/ro/firefox-86.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "77fad9b28166ba65d8514f76f43f4686345ac7ce7cd8e08bb5575da1b042bba4";
+      sha256 = "c68f195f10bcd7d19aa76084450419008068ee5d30c34acc02d7621ea250211a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/ru/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/ru/firefox-86.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "58b4896bf014197734a9d8fcd03e526be422858aa0ac109282f0dcd543bb8697";
+      sha256 = "e6e7dcc74dac1c331d3202a141df71dbe2e5a398e2b97c9da1358707823d76b4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/si/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/si/firefox-86.0.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "8aee64af130801e33df0d2aa91ed0b1d1328e39963320a418fd04a3bb0a0ec89";
+      sha256 = "1bf321805bd46e0214568921b89eaf5ea4d394e43fb1d475ee61c7de8439d997";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/sk/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/sk/firefox-86.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "2f7813dc98211b3cf8fd0d2d233e2c7dca7f94e85fb2a70df9c69aa6bd5add5e";
+      sha256 = "221667dd6eead982d13e911e0ee9d6fb0e6288d689c59c7adc403e8eeab6fd4f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/sl/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/sl/firefox-86.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "75564047dfa2bc5e4c0dd1d1dd1f15e1c59e96c203470731db143ae424cd8c2f";
+      sha256 = "5df6f40394d0c2561c5103cb0600d3566b2bf42dca4d6a3194bee725577f1dad";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/son/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/son/firefox-86.0.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "3684681de408a4cd02fdb81c559bdb15252dc56c0376a94ee512d7cc49e67190";
+      sha256 = "8ce2f3d67ea7e1889fce2f534e90320403350b27bd63e97263a9c14544d7f212";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/sq/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/sq/firefox-86.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "573e998a49756843d14f063d4e3aea23f7844076d8ed3b5a0409d0c3758d7a17";
+      sha256 = "a4f403eefa8da37d7308bda7a10cf62dbe9ff74f848e9e3603d9b787c1629b05";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/sr/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/sr/firefox-86.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "9289ae5e5270553dfc11dd6a7b9db6e6afa106919daedf085494c96f79cd0c52";
+      sha256 = "7f3d5fb8cb77c2405403f9899257d41f4e9fcdb45a1af945e337228d7648f79d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/sv-SE/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/sv-SE/firefox-86.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "4b97dd3f617774925a140edcde97b5e0864405401222f46bcc59d02537168ff9";
+      sha256 = "261886fc3f3c9c40123a6b6ae0040fffb281d90cbc34506f85bcd73cb94276f2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/ta/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/ta/firefox-86.0.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "80273dacecd26e0dbf1dcc39858f05c5ef0415972851166c0761f553e832e071";
+      sha256 = "3df7b4c5eb395b123d8c9a67d58e2eda268bd931394e38941545cded144b97e7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/te/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/te/firefox-86.0.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "e074997f616b1b356f40dab47f25e13e8b9b143bfaf932a0a281eec8675b71dd";
+      sha256 = "b27fe9f6d6e4920e5714a74f439900238900e164cce584f1a1548a02105caa10";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/th/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/th/firefox-86.0.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "e28ae199709c1ab1d580f8bd83b7ef8cf56750f17b4c30bcd188b088a61d8ba7";
+      sha256 = "e4eadb2885d09a082c40e27eb41e5a8f721ddd45ef79ed0ccba02f18d7fc3d6a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/tl/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/tl/firefox-86.0.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "c8b5161094d3fbed51d4dc033804ce5c2e77f9d96172076edced695ba76922c9";
+      sha256 = "392368f316cf89668e2ff9a42e0b170b55bfc610c84b0a605866914a39273fce";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/tr/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/tr/firefox-86.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "a5178b392fdf8b36292548c9a98e22b879eb19e0f6d237192b376b7df92ee219";
+      sha256 = "e9c7f55b656860dc6d2b28fcca66dbc6e7290d2f418da238ca06ccfe68fdd579";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/trs/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/trs/firefox-86.0.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "38554c05e9122c71ea0910892e6c455c4402ead97c6f00d309391544ca208697";
+      sha256 = "9cd24da9a1dbc0665b589ea8d1f5e5a3546a8b7babbd0f9f2f27641d5c81eeaf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/uk/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/uk/firefox-86.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "d6b2fe56aae2b6f4543072f0968c357ab893d89b92ff6c053cc709df75a51aa8";
+      sha256 = "0bbd4c03dd422901bf2ff1a6e000ec4c6ed798bfa66ade8db03551f5509efc40";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/ur/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/ur/firefox-86.0.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "fcd15754df86493bc627e8fd65f0237a7a10e6e5e5843715bd31445e4b99f2dd";
+      sha256 = "c0f807c2c7365f281d921fd347a173ce2538fce79b1e74beedf928f392422236";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/uz/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/uz/firefox-86.0.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "2a9cfc082a01c6af057627f4d028b67e0f0b72f913994ac208cea6ccfcd7e41a";
+      sha256 = "f561501fdf1a0edf9f58289fe608b9d47c00ef666c7f980972f0f3112470ad27";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/vi/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/vi/firefox-86.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "b32b7b8ff09a0642d4636a1d6477ba3b14c0a47ef93407078998818e7fc23145";
+      sha256 = "12ce7eae83ef3100039871e82784ba7a63742ef8f132c48ceccac22641074c1e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/xh/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/xh/firefox-86.0.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "5a95cd2dbb58f739b58eb8ba5d829d1e7f4e7be405cc6659857432a5c10c8d21";
+      sha256 = "9def9420b6e6e252839268167e978cc357add46e54e77a0f5bf8e03a2183a855";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/zh-CN/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/zh-CN/firefox-86.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "e5f93c089a0de95e3e430ed7ad3b028ee7a427072ebb3a035451b5724ee248d7";
+      sha256 = "03cea12f34a9eb22e730d6b28f294bc2a1578e9c357a15bcf189ab1fb925e337";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/85.0/linux-i686/zh-TW/firefox-85.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/86.0/linux-i686/zh-TW/firefox-86.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "348b26495fca92805814ee355962741154654d9babe5959ed4f41065123a50d2";
+      sha256 = "cf5e5cdf7230bf231f63750b3747b625d64026194c29b36c3d00ff9851960745";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index 230399898ea09..fb340ee1acee7 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -1,6 +1,6 @@
 { pname, ffversion, meta, updateScript ? null
 , src, unpackPhase ? null, patches ? []
-, extraNativeBuildInputs ? [], extraConfigureFlags ? [], extraMakeFlags ? [] }:
+, extraNativeBuildInputs ? [], extraConfigureFlags ? [], extraMakeFlags ? [], tests ? [] }:
 
 { lib, stdenv, pkg-config, pango, perl, python3, zip
 , libjpeg, zlib, dbus, dbus-glib, bzip2, xorg
@@ -8,7 +8,7 @@
 , yasm, libGLU, libGL, sqlite, unzip, makeWrapper
 , hunspell, libXdamage, libevent, libstartup_notification
 , libvpx_1_8
-, icu67, libpng, jemalloc, glib
+, icu67, libpng, jemalloc, glib, pciutils
 , autoconf213, which, gnused, rustPackages, rustPackages_1_45
 , rust-cbindgen, nodejs, nasm, fetchpatch
 , gnum4
@@ -182,6 +182,8 @@ buildStdenv.mkDerivation ({
 
   postPatch = ''
     rm -rf obj-x86_64-pc-linux-gnu
+    substituteInPlace toolkit/xre/glxtest.cpp \
+      --replace 'dlopen("libpci.so' 'dlopen("${pciutils}/lib/libpci.so'
   '' + lib.optionalString (pipewireSupport && lib.versionOlder ffversion "83") ''
     # substitute the /usr/include/ lines for the libraries that pipewire provides.
     # The patch we pick from fedora only contains the generated moz.build files
@@ -351,6 +353,7 @@ buildStdenv.mkDerivation ({
     inherit gssSupport;
     inherit execdir;
     inherit browserName;
+    inherit tests;
   } // lib.optionalAttrs gtk3Support { inherit gtk3; };
 
   hardeningDisable = [ "format" ]; # -Werror=format-security
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index ad835623394cc..86d91d21e3c95 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, callPackage, fetchurl, fetchpatch }:
+{ stdenv, lib, callPackage, fetchurl, fetchpatch, nixosTests }:
 
 let
   common = opts: callPackage (import ./common.nix opts) {};
@@ -7,22 +7,23 @@ in
 rec {
   firefox = common rec {
     pname = "firefox";
-    ffversion = "85.0";
+    ffversion = "85.0.2";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
-      sha512 = "17bx4782ix3nrjnc6y29bz86lkpc2fzapqraa67xi65m46qrn0cs9hwdjyl48rdc44j5972gilpmd217kfxf4wxrfc2vcxadgk75158";
+      sha512 = "2m46li5ni1m4xv42h99rn2hhhv2mqy229wihmzxmgvws1rh2h11yf6x2a07akkjrsp2dmwxmmkhmf9dhakgj9i55z5qqi99azyx07df";
     };
 
     meta = {
       description = "A web browser built from Firefox source tree";
       homepage = "http://www.mozilla.com/en-US/firefox/";
-      maintainers = with lib.maintainers; [ eelco ];
+      maintainers = with lib.maintainers; [ eelco lovesegfault ];
       platforms = lib.platforms.unix;
       badPlatforms = lib.platforms.darwin;
       broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
                                              # not in `badPlatforms` because cross-compilation on 64-bit machine might work.
       license = lib.licenses.mpl20;
     };
+    tests = [ nixosTests.firefox ];
     updateScript = callPackage ./update.nix {
       attrPath = "firefox-unwrapped";
       versionKey = "ffversion";
@@ -31,10 +32,10 @@ rec {
 
   firefox-esr-78 = common rec {
     pname = "firefox-esr";
-    ffversion = "78.7.0esr";
+    ffversion = "78.8.0esr";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
-      sha512 = "0606prndxfv9nvrpcnagwky04j4jhn1139gr72a0rydfagznsaqwy13gpzdf58ifycdln63052kchlh2dslz5m8hifp215ydcppv8xg";
+      sha512 = "0160aa6c408c2af66d24b74cf98e1a07ab1604e7b93ffcde79201f9d68e41e896ef965f1904de52d5dd82ffedae33ac96e93b871727bf5dd5983c5af2f1f439f";
     };
 
     meta = {
@@ -47,6 +48,7 @@ rec {
                                              # not in `badPlatforms` because cross-compilation on 64-bit machine might work.
       license = lib.licenses.mpl20;
     };
+    tests = [ nixosTests.firefox-esr ];
     updateScript = callPackage ./update.nix {
       attrPath = "firefox-esr-78-unwrapped";
       versionKey = "ffversion";
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index e3e8ba610d0ad..ed88bf587d5f1 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -1,8 +1,7 @@
 { stdenv, lib, makeDesktopItem, makeWrapper, lndir, config
-, replace, fetchurl, zip, unzip, jq, xdg_utils, writeText
+, replace, fetchurl, zip, unzip, jq, xdg-utils, writeText
 
 ## various stuff that can be plugged in
-, flashplayer, hal-flash
 , ffmpeg, xorg, alsaLib, libpulseaudio, libcanberra-gtk2, libglvnd, libnotify
 , gnome3/*.gnome-shell*/
 , browserpass, chrome-gnome-shell, uget-integrator, plasma5Packages, bukubrow, pipewire
@@ -47,29 +46,11 @@ let
     assert forceWayland -> (browser ? gtk3); # Can only use the wayland backend if gtk3 is being used
 
     let
-      enableAdobeFlash = cfg.enableAdobeFlash or false;
       ffmpegSupport = browser.ffmpegSupport or false;
       gssSupport = browser.gssSupport or false;
       alsaSupport = browser.alsaSupport or false;
       pipewireSupport = browser.pipewireSupport or false;
 
-      plugins =
-        let
-          removed = lib.filter (a: builtins.hasAttr a cfg) [
-            "enableVLC"
-            "enableDjvu"
-            "enableMPlayer"
-            "jre"
-            "icedtea"
-            "enableGoogleTalkPlugin"
-            "enableFriBIDPlugin"
-            "enableBluejeans"
-            "enableAdobeReader"
-          ];
-        in if removed != []
-           then throw "Your configuration mentions ${lib.concatMapStringsSep ", " (p: browserName + "." + p) removed}. All plugin related options, except for the adobe flash player, have been removed, since Firefox from version 52 onwards no longer supports npapi plugins (see https://support.mozilla.org/en-US/kb/npapi-plugins)."
-           else lib.optional enableAdobeFlash flashplayer;
-
       nativeMessagingHosts =
         ([ ]
           ++ lib.optional (cfg.enableBrowserpass or false) (lib.getBin browserpass)
@@ -88,7 +69,6 @@ let
             ++ lib.optional useGlvnd libglvnd
             ++ lib.optionals (cfg.enableQuakeLive or false)
             (with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ])
-            ++ lib.optional (enableAdobeFlash && (cfg.enableAdobeFlashDRM or false)) hal-flash
             ++ lib.optional (config.pulseaudio or true) libpulseaudio
             ++ lib.optional alsaSupport alsaLib
             ++ pkcs11Modules;
@@ -163,7 +143,24 @@ let
       #                           #
       #############################
 
-    in stdenv.mkDerivation {
+      # TODO: remove this after the next release (21.03)
+      configPlugins = lib.filter (a: builtins.hasAttr a cfg) [
+        "enableAdobeFlash"
+        "enableAdobeReader"
+        "enableBluejeans"
+        "enableDjvu"
+        "enableFriBIDPlugin"
+        "enableGoogleTalkPlugin"
+        "enableMPlayer"
+        "enableVLC"
+        "icedtea"
+        "jre"
+      ];
+      pluginsError =
+        "Your configuration mentions ${lib.concatMapStringsSep ", " (p: browserName + "." + p) configPlugins}. All plugin related options have been removed, since Firefox from version 52 onwards no longer supports npapi plugins (see https://support.mozilla.org/en-US/kb/npapi-plugins).";
+
+    in if configPlugins != [] then throw pluginsError else
+      (stdenv.mkDerivation {
       inherit pname version;
 
       desktopItem = makeDesktopItem {
@@ -261,12 +258,9 @@ let
 
         makeWrapper "$oldExe" \
           "$out${browser.execdir or "/bin"}/${browserName}${nameSuffix}" \
-            --suffix-each MOZ_PLUGIN_PATH ':' "$plugins" \
             --suffix LD_LIBRARY_PATH ':' "$libs" \
             --suffix-each GTK_PATH ':' "$gtk_modules" \
-            --suffix-each LD_PRELOAD ':' "$(cat $(filterExisting $(addSuffix /extra-ld-preload $plugins)))" \
-            --prefix PATH ':' "${xdg_utils}/bin" \
-            --prefix-contents PATH ':' "$(filterExisting $(addSuffix /extra-bin-path $plugins))" \
+            --prefix PATH ':' "${xdg-utils}/bin" \
             --suffix PATH ':' "$out${browser.execdir or "/bin"}" \
             --set MOZ_APP_LAUNCHER "${browserName}${nameSuffix}" \
             --set MOZ_SYSTEM_DIR "$out/lib/mozilla" \
@@ -350,9 +344,6 @@ let
 
       preferLocalBuild = true;
 
-      # Let each plugin tell us (through its `mozillaPlugin') attribute
-      # where to find the plugin in its tree.
-      plugins = map (x: x + x.mozillaPlugin) plugins;
       libs = lib.makeLibraryPath libs + ":" + lib.makeSearchPathOutput "lib" "lib64" libs;
       gtk_modules = map (x: x + x.gtkModule) gtk_modules;
 
@@ -361,14 +352,9 @@ let
       disallowedRequisites = [ stdenv.cc ];
 
       meta = browser.meta // {
-        description =
-          browser.meta.description
-          + " (with plugins: "
-          + lib.concatStrings (lib.intersperse ", " (map (x: x.name) plugins))
-          + ")";
+        description = browser.meta.description;
         hydraPlatforms = [];
         priority = (browser.meta.priority or 0) - 1; # prefer wrapper over the package
       };
-    };
-in
-  lib.makeOverridable wrapper
+    });
+in lib.makeOverridable wrapper
diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix
index c32652c8bfc9d..c5e5aff77e018 100644
--- a/pkgs/applications/networking/browsers/google-chrome/default.nix
+++ b/pkgs/applications/networking/browsers/google-chrome/default.nix
@@ -22,7 +22,7 @@
 
 # Additional dependencies according to other distros.
 ## Ubuntu
-, liberation_ttf, curl, util-linux, xdg_utils, wget
+, liberation_ttf, curl, util-linux, xdg-utils, wget
 ## Arch Linux.
 , flac, harfbuzz, icu, libpng, libopus, snappy, speechd
 ## Gentoo
@@ -57,7 +57,7 @@ let
     dbus gdk-pixbuf gcc-unwrapped.lib
     systemd
     libexif
-    liberation_ttf curl util-linux xdg_utils wget
+    liberation_ttf curl util-linux xdg-utils wget
     flac harfbuzz icu libpng opusWithCustomModes snappy speechd
     bzip2 libcap at-spi2-atk at-spi2-core
     kerberos libdrm mesa coreutils
diff --git a/pkgs/applications/networking/browsers/lagrange/default.nix b/pkgs/applications/networking/browsers/lagrange/default.nix
index 10831c57f8d8e..78eef775558ba 100644
--- a/pkgs/applications/networking/browsers/lagrange/default.nix
+++ b/pkgs/applications/networking/browsers/lagrange/default.nix
@@ -1,9 +1,11 @@
 { stdenv
 , lib
 , fetchFromGitHub
+, nix-update-script
 , cmake
 , pkg-config
 , libunistring
+, mpg123
 , openssl
 , pcre
 , SDL2
@@ -12,19 +14,19 @@
 
 stdenv.mkDerivation rec {
   pname = "lagrange";
-  version = "1.1.0";
+  version = "1.1.4";
 
   src = fetchFromGitHub {
     owner = "skyjake";
     repo = "lagrange";
     rev = "v${version}";
-    sha256 = "04bp5k1byjbzwnmcx4b7sw68pr2jrj4c21z76jq311hyrmanj6fi";
+    sha256 = "sha256-EN0fQ5Scwrd7Tv31upQVbuqoNCoYudtruwtPR1IKTzE=";
     fetchSubmodules = true;
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
 
-  buildInputs = [ libunistring openssl pcre SDL2 ]
+  buildInputs = [ libunistring mpg123 openssl pcre SDL2 ]
     ++ lib.optional stdenv.isDarwin AppKit;
 
   hardeningDisable = lib.optional (!stdenv.cc.isClang) "format";
@@ -34,6 +36,12 @@ stdenv.mkDerivation rec {
     mv Lagrange.app $out/Applications
   '' else null;
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = pname;
+    };
+  };
+
   meta = with lib; {
     description = "A Beautiful Gemini Client";
     homepage = "https://gmi.skyjake.fi/lagrange/";
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
deleted file mode 100644
index 1a4f9b4ec7b4d..0000000000000
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
+++ /dev/null
@@ -1,147 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, alsaLib
-, atk
-, bzip2
-, cairo
-, curl
-, expat
-, fontconfig
-, freetype
-, gdk-pixbuf
-, glib
-, glibc
-, graphite2
-, gtk2
-, harfbuzz
-, libICE
-, libSM
-, libX11
-, libXau
-, libXcomposite
-, libXcursor
-, libXdamage
-, libXdmcp
-, libXext
-, libXfixes
-, libXi
-, libXinerama
-, libXrandr
-, libXrender
-, libXt
-, libXxf86vm
-, libdrm
-, libffi
-, libglvnd
-, libpng
-, libvdpau
-, libxcb
-, libxshmfence
-, nspr
-, nss
-, pango
-, pcre
-, pixman
-, zlib
-, unzip
-, debug ? false
-
-/* you have to add ~/mm.cfg :
-
-    TraceOutputFileEnable=1
-    ErrorReportingEnable=1
-    MaxWarnings=1
-
-  in order to read the flash trace at ~/.macromedia/Flash_Player/Logs/flashlog.txt
-  Then FlashBug (a FireFox plugin) shows the log as well
-*/
-
-}:
-
-let
-  arch =
-    if stdenv.hostPlatform.system == "x86_64-linux" then
-      "x86_64"
-    else if stdenv.hostPlatform.system == "i686-linux"   then
-      "i386"
-    else throw "Flash Player is not supported on this platform";
-  lib_suffix =
-      if stdenv.hostPlatform.system == "x86_64-linux" then
-      "64"
-    else
-      "";
-in
-stdenv.mkDerivation rec {
-  pname = "flashplayer";
-  version = "32.0.0.465";
-
-  src = fetchurl {
-    url =
-      if debug then
-        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_npapi_linux_debug.${arch}.tar.gz"
-      else
-        "https://fpdownload.adobe.com/get/flashplayer/pdc/${version}/flash_player_npapi_linux.${arch}.tar.gz";
-    sha256 =
-      if debug then
-        if arch == "x86_64" then
-          "04p70zc4y7k1klsxa70ngl7g5q6pf2n4018r7d5n6wg2961mjk3y"
-        else
-          "1avslj2ssp9fcvygcc8f578gpj3bbbpvap4ssr7ag6xn6mh15adw"
-      else
-        if arch == "x86_64" then
-          "0dbccg7ijlr9wdjkh6chbw0q1qchycbi1a313hrrc613k3djw3x9"
-        else
-          "1mhbkb2d6ky1xlgx55yip1l9kh5nq35jjbbm6hf6ckai146j3dr7";
-  };
-
-  nativeBuildInputs = [ unzip ];
-
-  sourceRoot = ".";
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  preferLocalBuild = true;
-
-  installPhase = ''
-    mkdir -p $out/lib/mozilla/plugins
-    cp -pv libflashplayer.so $out/lib/mozilla/plugins
-
-    mkdir -p $out/bin
-    cp -pv usr/bin/flash-player-properties $out/bin
-
-    mkdir -p $out/lib${lib_suffix}/kde4
-    cp -pv usr/lib${lib_suffix}/kde4/kcm_adobe_flash_player.so $out/lib${lib_suffix}/kde4
-
-    patchelf --set-rpath "$rpath" \
-      $out/lib/mozilla/plugins/libflashplayer.so \
-      $out/lib${lib_suffix}/kde4/kcm_adobe_flash_player.so
-
-    patchelf \
-      --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
-      --set-rpath "$rpath" \
-      $out/bin/flash-player-properties
-  '';
-
-  passthru = {
-    mozillaPlugin = "/lib/mozilla/plugins";
-  };
-
-  rpath = lib.makeLibraryPath
-    [ stdenv.cc.cc
-      alsaLib atk bzip2 cairo curl expat fontconfig freetype gdk-pixbuf glib
-      glibc graphite2 gtk2 harfbuzz libICE libSM libX11 libXau libXcomposite
-      libXcursor libXdamage libXdmcp libXext libXfixes libXi libXinerama
-      libXrandr libXrender libXt libXxf86vm libdrm libffi libglvnd libpng
-      libvdpau libxcb libxshmfence nspr nss pango pcre pixman zlib
-    ];
-
-  meta = {
-    description = "Adobe Flash Player browser plugin";
-    homepage = "http://www.adobe.com/products/flashplayer/";
-    license = lib.licenses.unfree;
-    maintainers = with lib.maintainers; [ taku0 ];
-    platforms = [ "x86_64-linux" "i686-linux" ];
-  };
-}
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
deleted file mode 100644
index ed95d02ade459..0000000000000
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
+++ /dev/null
@@ -1,106 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, alsaLib
-, atk
-, bzip2
-, cairo
-, curl
-, expat
-, fontconfig
-, freetype
-, gdk-pixbuf
-, glib
-, glibc
-, graphite2
-, gtk2
-, harfbuzz
-, libICE
-, libSM
-, libX11
-, libXau
-, libXcomposite
-, libXcursor
-, libXdamage
-, libXdmcp
-, libXext
-, libXfixes
-, libXi
-, libXinerama
-, libXrandr
-, libXrender
-, libXt
-, libXxf86vm
-, libdrm
-, libffi
-, libglvnd
-, libpng
-, libvdpau
-, libxcb
-, libxshmfence
-, nspr
-, nss
-, pango
-, pcre
-, pixman
-, zlib
-, unzip
-, debug ? false
-}:
-
-stdenv.mkDerivation {
-  pname = "flashplayer-standalone";
-  version = "32.0.0.465";
-
-  src = fetchurl {
-    url =
-      if debug then
-        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux_debug.x86_64.tar.gz"
-      else
-        "https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux.x86_64.tar.gz";
-    sha256 =
-      if debug then
-        "1ija3z5bxg0ppx9r237cxs1cdrhk6pia2kcxbrm6y30kvzrd3nqs"
-      else
-        "1hwnvwph7p3nfv2xf7kjw3zdpb546dsia0cmhzg81z016fi7lgw8";
-  };
-
-  nativeBuildInputs = [ unzip ];
-
-  sourceRoot = ".";
-
-  dontStrip = true;
-  dontPatchELF = true;
-
-  preferLocalBuild = true;
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp -pv flashplayer${lib.optionalString debug "debugger"} $out/bin
-
-    patchelf \
-      --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
-      --set-rpath "$rpath" \
-      $out/bin/flashplayer${lib.optionalString debug "debugger"}
-  '';
-
-  rpath = lib.makeLibraryPath
-    [ stdenv.cc.cc
-      alsaLib atk bzip2 cairo curl expat fontconfig freetype gdk-pixbuf glib
-      glibc graphite2 gtk2 harfbuzz libICE libSM libX11 libXau libXcomposite
-      libXcursor libXdamage libXdmcp libXext libXfixes libXi libXinerama
-      libXrandr libXrender libXt libXxf86vm libdrm libffi libglvnd libpng
-      libvdpau libxcb libxshmfence nspr nss pango pcre pixman zlib
-    ];
-
-  meta = {
-    description = "Adobe Flash Player standalone executable";
-    homepage = "https://www.adobe.com/support/flashplayer/debug_downloads.html";
-    license = lib.licenses.unfree;
-    maintainers = with lib.maintainers; [ taku0 ];
-    platforms = [ "x86_64-linux" ];
-    # Application crashed with an unhandled SIGSEGV
-    # Not on all systems, though. Video driver problem?
-    broken = false;
-  };
-}
diff --git a/pkgs/applications/networking/browsers/netsurf/libcss.nix b/pkgs/applications/networking/browsers/netsurf/libcss.nix
index be8adaa1568ba..7777bb243fa62 100644
--- a/pkgs/applications/networking/browsers/netsurf/libcss.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libcss.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
   ];
 
-  NIX_CFLAGS_COMPILE= "-Wno-error=implicit-fallthrough";
+  NIX_CFLAGS_COMPILE= [ "-Wno-error=implicit-fallthrough" "-Wno-error=maybe-uninitialized" ];
 
   meta = with lib; {
     homepage = "https://www.netsurf-browser.org/projects/${libname}/";
diff --git a/pkgs/applications/networking/browsers/nyxt/default.nix b/pkgs/applications/networking/browsers/nyxt/default.nix
index b4bec6ead3f64..861b5a15ee067 100644
--- a/pkgs/applications/networking/browsers/nyxt/default.nix
+++ b/pkgs/applications/networking/browsers/nyxt/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, lispPackages, sbcl
+{ stdenv, lib, lispPackages
 , makeWrapper, wrapGAppsHook, gst_all_1
 , glib, gdk-pixbuf, cairo
 , mime-types, pango, gtk3
diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix
index 56acb453a80cd..8207040f1b8c2 100644
--- a/pkgs/applications/networking/browsers/palemoon/default.nix
+++ b/pkgs/applications/networking/browsers/palemoon/default.nix
@@ -6,7 +6,7 @@
 , libGLU, libGL, perl, python2, libpulseaudio
 , unzip, xorg, wget, which, yasm, zip, zlib
 
-, withGTK3 ? false, gtk3
+, withGTK3 ? true, gtk3
 }:
 
 let
@@ -16,14 +16,14 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "palemoon";
-  version = "28.17.0";
+  version = "29.0.1";
 
   src = fetchFromGitHub {
     githubBase = "repo.palemoon.org";
     owner = "MoonchildProductions";
     repo = "Pale-Moon";
     rev = "${version}_Release";
-    sha256 = "0478xn5skpls91hkraykc308hppdc8vj9xbgvlm5wkv0y4dp7h5x";
+    sha256 = "18flr64041cvffj6jbzx0njnynvyk3k5yljb446a4lwmksvd3nmq";
     fetchSubmodules = true;
   };
 
@@ -119,6 +119,9 @@ in stdenv.mkDerivation rec {
   installPhase = ''
     ./mach install
 
+    # Fix missing icon due to wrong WMClass
+    substituteInPlace ./palemoon/branding/official/palemoon.desktop \
+      --replace 'StartupWMClass="pale moon"' 'StartupWMClass=Pale moon'
     desktop-file-install --dir=$out/share/applications \
       ./palemoon/branding/official/palemoon.desktop
 
diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix
index 36883faab1476..b1235fe2d8f22 100644
--- a/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -31,12 +31,12 @@ let
 
 in mkDerivationWith python3Packages.buildPythonApplication rec {
   pname = "qutebrowser";
-  version = "2.0.1";
+  version = "2.0.2";
 
   # 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 = "0hmj19bp5dihzpphxz77377yfmygj498am0h23kxg5m3y5hqv65a";
+    sha256 = "0fxkazz4ykmkiww27l92yr96hq00qn5vvjmknxcy4cl97d2pxa28";
   };
 
   # Needs tox
diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
index 9b0a9078ee5ac..6517203eeebe5 100644
--- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
+++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
@@ -91,19 +91,19 @@ let
   fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
 
   # Upstream source
-  version = "10.0.9";
+  version = "10.0.12";
 
   lang = "en-US";
 
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz";
-      sha256 = "Dtlfm/memHSxir5XkUGkJICGEM+tPs//ET4PdVM1HPM=";
+      sha256 = "0i5g997kgn7n6ji7pxbyvkx33nqfi2s1val680fp5hh1zz31yvfv";
     };
 
     i686-linux = fetchurl {
       url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz";
-      sha256 = "GZywFEX/5Br+Zu1w6pegoNOTrSIVQNE2LINsa3Vdlxs=";
+      sha256 = "16915fvvq3d16v1bzclnb52sa6yyaalihk3gv93jcnph9vsz8ags";
     };
   };
 in
diff --git a/pkgs/applications/networking/browsers/vieb/default.nix b/pkgs/applications/networking/browsers/vieb/default.nix
index ab894e7b7f062..495c2bb15d68c 100644
--- a/pkgs/applications/networking/browsers/vieb/default.nix
+++ b/pkgs/applications/networking/browsers/vieb/default.nix
@@ -2,13 +2,13 @@
 
 mkYarnPackage rec {
   pname = "vieb";
-  version = "3.1.0";
+  version = "3.4.0";
 
   src = fetchFromGitHub {
     owner = "jelmerro";
     repo = pname;
     rev = version;
-    sha256 = "10l36q75nmqv0azxhmwms6hjicbgyvpk8k6ljrh9d7zxryd3xwz0";
+    sha256 = "0h5yzmvs9zhhpg9l7rrgwd4rqd9n00n2ifwqf05kpymzliy6xsnk";
   };
 
   packageJSON = ./package.json;
diff --git a/pkgs/applications/networking/browsers/vieb/package.json b/pkgs/applications/networking/browsers/vieb/package.json
index a03478bcd822a..cf04c6892c896 100644
--- a/pkgs/applications/networking/browsers/vieb/package.json
+++ b/pkgs/applications/networking/browsers/vieb/package.json
@@ -1,14 +1,9 @@
 {
   "name": "vieb",
   "productName": "Vieb",
-  "version": "3.1.0",
+  "version": "3.4.0",
   "description": "Vim Inspired Electron Browser",
   "main": "app/index.js",
-  "babel": {
-    "plugins": [
-      "@babel/plugin-proposal-optional-chaining"
-    ]
-  },
   "scripts": {
     "test": "jest -u && eslint .",
     "start": "electron app",
@@ -29,16 +24,15 @@
   "email": "Jelmerro@users.noreply.github.com",
   "license": "GPL-3.0+",
   "devDependencies": {
-    "@babel/plugin-proposal-optional-chaining": "^7.12.7",
-    "archiver": "^5.0.2",
-    "electron": "^11.0.3",
-    "electron-builder": "^22.9.1",
-    "eslint": "^7.15.0",
+    "archiver": "^5.2.0",
+    "electron": "^11.2.1",
+    "electron-builder": "^22.10.4",
+    "eslint": "^7.19.0",
     "jest": "^26.6.3"
   },
   "dependencies": {
-    "@cliqz/adblocker-electron": "^1.18.8",
-    "darkreader": "^4.9.26",
+    "@cliqz/adblocker-electron": "^1.20.0",
+    "darkreader": "^4.9.27",
     "is-svg": "^4.2.1",
     "rimraf": "^3.0.2"
   }
diff --git a/pkgs/applications/networking/browsers/vieb/yarn.lock b/pkgs/applications/networking/browsers/vieb/yarn.lock
index a9266f10513ff..45858ae2b28ea 100644
--- a/pkgs/applications/networking/browsers/vieb/yarn.lock
+++ b/pkgs/applications/networking/browsers/vieb/yarn.lock
@@ -7,26 +7,33 @@
   resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.0.3.tgz#bc5b5532ecafd923a61f2fb097e3b108c0106a3f"
   integrity sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA==
 
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
-  integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==
+"@babel/code-frame@7.12.11":
+  version "7.12.11"
+  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f"
+  integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==
   dependencies:
     "@babel/highlight" "^7.10.4"
 
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13":
+  version "7.12.13"
+  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658"
+  integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==
+  dependencies:
+    "@babel/highlight" "^7.12.13"
+
 "@babel/core@^7.1.0", "@babel/core@^7.7.5":
-  version "7.12.10"
-  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.10.tgz#b79a2e1b9f70ed3d84bbfb6d8c4ef825f606bccd"
-  integrity sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==
-  dependencies:
-    "@babel/code-frame" "^7.10.4"
-    "@babel/generator" "^7.12.10"
-    "@babel/helper-module-transforms" "^7.12.1"
-    "@babel/helpers" "^7.12.5"
-    "@babel/parser" "^7.12.10"
-    "@babel/template" "^7.12.7"
-    "@babel/traverse" "^7.12.10"
-    "@babel/types" "^7.12.10"
+  version "7.12.16"
+  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.16.tgz#8c6ba456b23b680a6493ddcfcd9d3c3ad51cab7c"
+  integrity sha512-t/hHIB504wWceOeaOoONOhu+gX+hpjfeN6YRBT209X/4sibZQfSF1I0HFRRlBe97UZZosGx5XwUg1ZgNbelmNw==
+  dependencies:
+    "@babel/code-frame" "^7.12.13"
+    "@babel/generator" "^7.12.15"
+    "@babel/helper-module-transforms" "^7.12.13"
+    "@babel/helpers" "^7.12.13"
+    "@babel/parser" "^7.12.16"
+    "@babel/template" "^7.12.13"
+    "@babel/traverse" "^7.12.13"
+    "@babel/types" "^7.12.13"
     convert-source-map "^1.7.0"
     debug "^4.1.0"
     gensync "^1.0.0-beta.1"
@@ -35,139 +42,123 @@
     semver "^5.4.1"
     source-map "^0.5.0"
 
-"@babel/generator@^7.12.10":
-  version "7.12.10"
-  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.10.tgz#2b188fc329fb8e4f762181703beffc0fe6df3460"
-  integrity sha512-6mCdfhWgmqLdtTkhXjnIz0LcdVCd26wS2JXRtj2XY0u5klDsXBREA/pG5NVOuVnF2LUrBGNFtQkIqqTbblg0ww==
+"@babel/generator@^7.12.13", "@babel/generator@^7.12.15":
+  version "7.12.15"
+  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.15.tgz#4617b5d0b25cc572474cc1aafee1edeaf9b5368f"
+  integrity sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==
   dependencies:
-    "@babel/types" "^7.12.10"
+    "@babel/types" "^7.12.13"
     jsesc "^2.5.1"
     source-map "^0.5.0"
 
-"@babel/helper-function-name@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a"
-  integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==
-  dependencies:
-    "@babel/helper-get-function-arity" "^7.10.4"
-    "@babel/template" "^7.10.4"
-    "@babel/types" "^7.10.4"
-
-"@babel/helper-get-function-arity@^7.10.4":
-  version "7.12.10"
-  resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz#b158817a3165b5faa2047825dfa61970ddcc16cf"
-  integrity sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==
-  dependencies:
-    "@babel/types" "^7.12.10"
-
-"@babel/helper-member-expression-to-functions@^7.12.1":
-  version "7.12.7"
-  resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz#aa77bd0396ec8114e5e30787efa78599d874a855"
-  integrity sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==
-  dependencies:
-    "@babel/types" "^7.12.7"
-
-"@babel/helper-module-imports@^7.12.1":
-  version "7.12.5"
-  resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb"
-  integrity sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==
-  dependencies:
-    "@babel/types" "^7.12.5"
-
-"@babel/helper-module-transforms@^7.12.1":
-  version "7.12.1"
-  resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c"
-  integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==
-  dependencies:
-    "@babel/helper-module-imports" "^7.12.1"
-    "@babel/helper-replace-supers" "^7.12.1"
-    "@babel/helper-simple-access" "^7.12.1"
-    "@babel/helper-split-export-declaration" "^7.11.0"
-    "@babel/helper-validator-identifier" "^7.10.4"
-    "@babel/template" "^7.10.4"
-    "@babel/traverse" "^7.12.1"
-    "@babel/types" "^7.12.1"
+"@babel/helper-function-name@^7.12.13":
+  version "7.12.13"
+  resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz#93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a"
+  integrity sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==
+  dependencies:
+    "@babel/helper-get-function-arity" "^7.12.13"
+    "@babel/template" "^7.12.13"
+    "@babel/types" "^7.12.13"
+
+"@babel/helper-get-function-arity@^7.12.13":
+  version "7.12.13"
+  resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583"
+  integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==
+  dependencies:
+    "@babel/types" "^7.12.13"
+
+"@babel/helper-member-expression-to-functions@^7.12.13":
+  version "7.12.16"
+  resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.16.tgz#41e0916b99f8d5f43da4f05d85f4930fa3d62b22"
+  integrity sha512-zYoZC1uvebBFmj1wFAlXwt35JLEgecefATtKp20xalwEK8vHAixLBXTGxNrVGEmTT+gzOThUgr8UEdgtalc1BQ==
+  dependencies:
+    "@babel/types" "^7.12.13"
+
+"@babel/helper-module-imports@^7.12.13":
+  version "7.12.13"
+  resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz#ec67e4404f41750463e455cc3203f6a32e93fcb0"
+  integrity sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==
+  dependencies:
+    "@babel/types" "^7.12.13"
+
+"@babel/helper-module-transforms@^7.12.13":
+  version "7.12.13"
+  resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz#01afb052dcad2044289b7b20beb3fa8bd0265bea"
+  integrity sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA==
+  dependencies:
+    "@babel/helper-module-imports" "^7.12.13"
+    "@babel/helper-replace-supers" "^7.12.13"
+    "@babel/helper-simple-access" "^7.12.13"
+    "@babel/helper-split-export-declaration" "^7.12.13"
+    "@babel/helper-validator-identifier" "^7.12.11"
+    "@babel/template" "^7.12.13"
+    "@babel/traverse" "^7.12.13"
+    "@babel/types" "^7.12.13"
     lodash "^4.17.19"
 
-"@babel/helper-optimise-call-expression@^7.10.4":
-  version "7.12.10"
-  resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz#94ca4e306ee11a7dd6e9f42823e2ac6b49881e2d"
-  integrity sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==
+"@babel/helper-optimise-call-expression@^7.12.13":
+  version "7.12.13"
+  resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz#5c02d171b4c8615b1e7163f888c1c81c30a2aaea"
+  integrity sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==
   dependencies:
-    "@babel/types" "^7.12.10"
-
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0":
-  version "7.10.4"
-  resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375"
-  integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==
+    "@babel/types" "^7.12.13"
 
-"@babel/helper-replace-supers@^7.12.1":
-  version "7.12.5"
-  resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz#f009a17543bbbbce16b06206ae73b63d3fca68d9"
-  integrity sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==
-  dependencies:
-    "@babel/helper-member-expression-to-functions" "^7.12.1"
-    "@babel/helper-optimise-call-expression" "^7.10.4"
-    "@babel/traverse" "^7.12.5"
-    "@babel/types" "^7.12.5"
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.8.0":
+  version "7.12.13"
+  resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz#174254d0f2424d8aefb4dd48057511247b0a9eeb"
+  integrity sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==
 
-"@babel/helper-simple-access@^7.12.1":
-  version "7.12.1"
-  resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136"
-  integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==
+"@babel/helper-replace-supers@^7.12.13":
+  version "7.12.13"
+  resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz#00ec4fb6862546bd3d0aff9aac56074277173121"
+  integrity sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==
   dependencies:
-    "@babel/types" "^7.12.1"
+    "@babel/helper-member-expression-to-functions" "^7.12.13"
+    "@babel/helper-optimise-call-expression" "^7.12.13"
+    "@babel/traverse" "^7.12.13"
+    "@babel/types" "^7.12.13"
 
-"@babel/helper-skip-transparent-expression-wrappers@^7.12.1":
-  version "7.12.1"
-  resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf"
-  integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==
+"@babel/helper-simple-access@^7.12.13":
+  version "7.12.13"
+  resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz#8478bcc5cacf6aa1672b251c1d2dde5ccd61a6c4"
+  integrity sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==
   dependencies:
-    "@babel/types" "^7.12.1"
+    "@babel/types" "^7.12.13"
 
-"@babel/helper-split-export-declaration@^7.11.0":
-  version "7.11.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f"
-  integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==
+"@babel/helper-split-export-declaration@^7.12.13":
+  version "7.12.13"
+  resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05"
+  integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==
   dependencies:
-    "@babel/types" "^7.11.0"
+    "@babel/types" "^7.12.13"
 
-"@babel/helper-validator-identifier@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2"
-  integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==
+"@babel/helper-validator-identifier@^7.12.11":
+  version "7.12.11"
+  resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed"
+  integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==
 
-"@babel/helpers@^7.12.5":
-  version "7.12.5"
-  resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e"
-  integrity sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==
+"@babel/helpers@^7.12.13":
+  version "7.12.13"
+  resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.13.tgz#3c75e993632e4dadc0274eae219c73eb7645ba47"
+  integrity sha512-oohVzLRZ3GQEk4Cjhfs9YkJA4TdIDTObdBEZGrd6F/T0GPSnuV6l22eMcxlvcvzVIPH3VTtxbseudM1zIE+rPQ==
   dependencies:
-    "@babel/template" "^7.10.4"
-    "@babel/traverse" "^7.12.5"
-    "@babel/types" "^7.12.5"
+    "@babel/template" "^7.12.13"
+    "@babel/traverse" "^7.12.13"
+    "@babel/types" "^7.12.13"
 
-"@babel/highlight@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143"
-  integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==
+"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13":
+  version "7.12.13"
+  resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.12.13.tgz#8ab538393e00370b26271b01fa08f7f27f2e795c"
+  integrity sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==
   dependencies:
-    "@babel/helper-validator-identifier" "^7.10.4"
+    "@babel/helper-validator-identifier" "^7.12.11"
     chalk "^2.0.0"
     js-tokens "^4.0.0"
 
-"@babel/parser@^7.1.0", "@babel/parser@^7.12.10", "@babel/parser@^7.12.7":
-  version "7.12.10"
-  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.10.tgz#824600d59e96aea26a5a2af5a9d812af05c3ae81"
-  integrity sha512-PJdRPwyoOqFAWfLytxrWwGrAxghCgh/yTNCYciOz8QgjflA7aZhECPZAa2VUedKg2+QMWkI0L9lynh2SNmNEgA==
-
-"@babel/plugin-proposal-optional-chaining@^7.12.7":
-  version "7.12.7"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz#e02f0ea1b5dc59d401ec16fb824679f683d3303c"
-  integrity sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-    "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1"
-    "@babel/plugin-syntax-optional-chaining" "^7.8.0"
+"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.12.16":
+  version "7.12.16"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.16.tgz#cc31257419d2c3189d394081635703f549fc1ed4"
+  integrity sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==
 
 "@babel/plugin-syntax-async-generators@^7.8.4":
   version "7.8.4"
@@ -184,11 +175,11 @@
     "@babel/helper-plugin-utils" "^7.8.0"
 
 "@babel/plugin-syntax-class-properties@^7.8.3":
-  version "7.12.1"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz#bcb297c5366e79bebadef509549cd93b04f19978"
-  integrity sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==
+  version "7.12.13"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10"
+  integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
+    "@babel/helper-plugin-utils" "^7.12.13"
 
 "@babel/plugin-syntax-import-meta@^7.8.3":
   version "7.10.4"
@@ -239,7 +230,7 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.8.0"
 
-"@babel/plugin-syntax-optional-chaining@^7.8.0", "@babel/plugin-syntax-optional-chaining@^7.8.3":
+"@babel/plugin-syntax-optional-chaining@^7.8.3":
   version "7.8.3"
   resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a"
   integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
@@ -247,42 +238,42 @@
     "@babel/helper-plugin-utils" "^7.8.0"
 
 "@babel/plugin-syntax-top-level-await@^7.8.3":
-  version "7.12.1"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0"
-  integrity sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/template@^7.10.4", "@babel/template@^7.12.7", "@babel/template@^7.3.3":
-  version "7.12.7"
-  resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.7.tgz#c817233696018e39fbb6c491d2fb684e05ed43bc"
-  integrity sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==
-  dependencies:
-    "@babel/code-frame" "^7.10.4"
-    "@babel/parser" "^7.12.7"
-    "@babel/types" "^7.12.7"
-
-"@babel/traverse@^7.1.0", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.10", "@babel/traverse@^7.12.5":
-  version "7.12.10"
-  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.10.tgz#2d1f4041e8bf42ea099e5b2dc48d6a594c00017a"
-  integrity sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==
-  dependencies:
-    "@babel/code-frame" "^7.10.4"
-    "@babel/generator" "^7.12.10"
-    "@babel/helper-function-name" "^7.10.4"
-    "@babel/helper-split-export-declaration" "^7.11.0"
-    "@babel/parser" "^7.12.10"
-    "@babel/types" "^7.12.10"
+  version "7.12.13"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz#c5f0fa6e249f5b739727f923540cf7a806130178"
+  integrity sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.12.13"
+
+"@babel/template@^7.12.13", "@babel/template@^7.3.3":
+  version "7.12.13"
+  resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327"
+  integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==
+  dependencies:
+    "@babel/code-frame" "^7.12.13"
+    "@babel/parser" "^7.12.13"
+    "@babel/types" "^7.12.13"
+
+"@babel/traverse@^7.1.0", "@babel/traverse@^7.12.13":
+  version "7.12.13"
+  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.13.tgz#689f0e4b4c08587ad26622832632735fb8c4e0c0"
+  integrity sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==
+  dependencies:
+    "@babel/code-frame" "^7.12.13"
+    "@babel/generator" "^7.12.13"
+    "@babel/helper-function-name" "^7.12.13"
+    "@babel/helper-split-export-declaration" "^7.12.13"
+    "@babel/parser" "^7.12.13"
+    "@babel/types" "^7.12.13"
     debug "^4.1.0"
     globals "^11.1.0"
     lodash "^4.17.19"
 
-"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.12.10", "@babel/types@^7.12.5", "@babel/types@^7.12.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3":
-  version "7.12.10"
-  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.10.tgz#7965e4a7260b26f09c56bcfcb0498af1f6d9b260"
-  integrity sha512-sf6wboJV5mGyip2hIpDSKsr80RszPinEFjsHTalMxZAZkoQ2/2yQzxlcFN52SJqsyPfLtPmenL4g2KB3KJXPDw==
+"@babel/types@^7.0.0", "@babel/types@^7.12.13", "@babel/types@^7.3.0", "@babel/types@^7.3.3":
+  version "7.12.13"
+  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.13.tgz#8be1aa8f2c876da11a9cf650c0ecf656913ad611"
+  integrity sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==
   dependencies:
-    "@babel/helper-validator-identifier" "^7.10.4"
+    "@babel/helper-validator-identifier" "^7.12.11"
     lodash "^4.17.19"
     to-fast-properties "^2.0.0"
 
@@ -291,36 +282,45 @@
   resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
   integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
 
-"@cliqz/adblocker-content@^1.18.8":
-  version "1.18.8"
-  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-content/-/adblocker-content-1.18.8.tgz#96473f14c098a20091298d34a6addcd430aceebd"
-  integrity sha512-YZ1xYBVG3LmxsdTYvTs/Bc7pzCw/Dy4HFo6N+oIuGP+Le/0aGSkACUl3ue5I2+Cx0WmL0Z8I4QonTKDc06HR+A==
+"@cliqz/adblocker-content@^1.20.0":
+  version "1.20.0"
+  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-content/-/adblocker-content-1.20.0.tgz#fcfa2845a577ba8d9af282afbae2fc437b3f1c70"
+  integrity sha512-KcokmK2B+tAnVMi7nGHgzXUVf78wAODG1Uk+K3tBPf9VAo3mwldYZ472uTj6LUfZv5oeTwe4PwfmPWXWZy3Eew==
+  dependencies:
+    "@cliqz/adblocker-extended-selectors" "^1.20.0"
 
-"@cliqz/adblocker-electron-preload@^1.18.8":
-  version "1.18.8"
-  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-electron-preload/-/adblocker-electron-preload-1.18.8.tgz#c2058647e015b6f61c222e7d58040347324c63b0"
-  integrity sha512-/FAzyhNUj+8fwqSGth7ndaC+8huEANvVquYkDVmjM38uryxFgcJJI6Bij1l1zABIbskAaSN4G4RI3oERyd9/KQ==
+"@cliqz/adblocker-electron-preload@^1.20.0":
+  version "1.20.0"
+  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-electron-preload/-/adblocker-electron-preload-1.20.0.tgz#997b694fbb1b1206e04b1fd570690234cc7ef630"
+  integrity sha512-brNQFjIoGTMClmFphtoK0EnjOlbqfxr6sA3CrOZiHfG0e07Id5GoU95re8+s8xA+/nd1GrJl/k5/b4aks+S9Gw==
   dependencies:
-    "@cliqz/adblocker-content" "^1.18.8"
+    "@cliqz/adblocker-content" "^1.20.0"
 
-"@cliqz/adblocker-electron@^1.18.8":
-  version "1.18.8"
-  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-electron/-/adblocker-electron-1.18.8.tgz#5f697c5dc65cd936b3908078a6e4516ec995567a"
-  integrity sha512-CrsFjSwenWQogsAg4sHFaXZbu7hzs9dMdsZM5wxb+5QfZ3MSH3PBYAeAUnsmP3UOTZ423+6ErOUE1vzj3UrK9w==
+"@cliqz/adblocker-electron@^1.20.0":
+  version "1.20.0"
+  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-electron/-/adblocker-electron-1.20.0.tgz#bacfb9feaf1d3dab339b992e3defa111a4b5ed3c"
+  integrity sha512-zD881g+YxxO4BM6NB5qZtSevg9Cj7QtlCJ4tkcKZnD9MDQsNXQVIFFEWwqhd00kLkTUS0+jT0px9b81cigAPNg==
   dependencies:
-    "@cliqz/adblocker" "^1.18.8"
-    "@cliqz/adblocker-electron-preload" "^1.18.8"
+    "@cliqz/adblocker" "^1.20.0"
+    "@cliqz/adblocker-electron-preload" "^1.20.0"
     tldts-experimental "^5.6.21"
 
-"@cliqz/adblocker@^1.18.8":
-  version "1.18.8"
-  resolved "https://registry.yarnpkg.com/@cliqz/adblocker/-/adblocker-1.18.8.tgz#f6e5724fe6573c2e68f2545d90bcce3e1ecfbae9"
-  integrity sha512-19m0GhlOcdSvQ/BqVuaMgbYkgQ4ys8koBRW4K7Ua4V5fFWL0t8ckdcZ/gBOqwECS2m8agXSpEbbyJjNmHBHpMQ==
+"@cliqz/adblocker-extended-selectors@^1.20.0":
+  version "1.20.0"
+  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-extended-selectors/-/adblocker-extended-selectors-1.20.0.tgz#95ede657b670f627b39f92d85a97093cecee6ffe"
+  integrity sha512-dnBPIngGe1eDWvYX49eP2yyCE2AY1QD5E+8SaXW6lslnjS0GQnkcXCAkkGR2am4Qdk78HAiWTXL65Zt9hdkupA==
+
+"@cliqz/adblocker@^1.20.0":
+  version "1.20.0"
+  resolved "https://registry.yarnpkg.com/@cliqz/adblocker/-/adblocker-1.20.0.tgz#514746e9ee72fcd886f1e2e1aaf13b28fc63f232"
+  integrity sha512-lkEj0Pj1ikwMURrvoFv0YnLfaXFuJI+jexI7zdh4fDmlwRppzDDgOhPXgCczoAlYacJk5x2mf7pan6JybRD9Kw==
   dependencies:
+    "@cliqz/adblocker-content" "^1.20.0"
+    "@cliqz/adblocker-extended-selectors" "^1.20.0"
     "@remusao/guess-url-type" "^1.1.2"
     "@remusao/small" "^1.1.2"
     "@remusao/smaz" "^1.7.1"
-    "@types/chrome" "^0.0.126"
+    "@types/chrome" "^0.0.128"
     "@types/firefox-webext-browser" "^82.0.0"
     tldts-experimental "^5.6.21"
 
@@ -341,25 +341,36 @@
     ajv-keywords "^3.4.1"
 
 "@electron/get@^1.0.1":
-  version "1.12.2"
-  resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.12.2.tgz#6442066afb99be08cefb9a281e4b4692b33764f3"
-  integrity sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg==
+  version "1.12.4"
+  resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.12.4.tgz#a5971113fc1bf8fa12a8789dc20152a7359f06ab"
+  integrity sha512-6nr9DbJPUR9Xujw6zD3y+rS95TyItEVM0NVjt1EehY2vUWfIgPiIPVHxCvaTS0xr2B+DRxovYVKbuOWqC35kjg==
   dependencies:
     debug "^4.1.1"
     env-paths "^2.2.0"
     fs-extra "^8.1.0"
     got "^9.6.0"
     progress "^2.0.3"
-    sanitize-filename "^1.6.2"
+    semver "^6.2.0"
     sumchecker "^3.0.1"
   optionalDependencies:
     global-agent "^2.0.2"
     global-tunnel-ng "^2.7.1"
 
-"@eslint/eslintrc@^0.2.2":
-  version "0.2.2"
-  resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.2.2.tgz#d01fc791e2fc33e88a29d6f3dc7e93d0cd784b76"
-  integrity sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==
+"@electron/universal@1.0.4":
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.0.4.tgz#231ac246c39d45b80e159bd21c3f9027dcaa10f5"
+  integrity sha512-ajZoumi4XwqwmZe8YVhu4XGkZBCPyWZsVCQONPTIe9TUlleSN+dic3YpXlaWcilx/HOzTdldTKtabNTeI0gDoA==
+  dependencies:
+    "@malept/cross-spawn-promise" "^1.1.0"
+    asar "^3.0.3"
+    debug "^4.3.1"
+    dir-compare "^2.4.0"
+    fs-extra "^9.0.1"
+
+"@eslint/eslintrc@^0.3.0":
+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.3.0.tgz#d736d6963d7003b6514e6324bec9c602ac340318"
+  integrity sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==
   dependencies:
     ajv "^6.12.4"
     debug "^4.1.1"
@@ -368,7 +379,7 @@
     ignore "^4.0.6"
     import-fresh "^3.2.1"
     js-yaml "^3.13.1"
-    lodash "^4.17.19"
+    lodash "^4.17.20"
     minimatch "^3.0.4"
     strip-json-comments "^3.1.1"
 
@@ -384,9 +395,9 @@
     resolve-from "^5.0.0"
 
 "@istanbuljs/schema@^0.1.2":
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd"
-  integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==
+  version "0.1.3"
+  resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98"
+  integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
 
 "@jest/console@^26.6.2":
   version "26.6.2"
@@ -559,40 +570,47 @@
     "@types/yargs" "^15.0.0"
     chalk "^4.0.0"
 
+"@malept/cross-spawn-promise@^1.1.0":
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz#504af200af6b98e198bce768bc1730c6936ae01d"
+  integrity sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==
+  dependencies:
+    cross-spawn "^7.0.1"
+
 "@remusao/guess-url-type@^1.1.2":
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/@remusao/guess-url-type/-/guess-url-type-1.2.0.tgz#fb1402b4c47266161501704d74427b8d49e4b3e4"
-  integrity sha512-alnTonifD/Ii/0pI9EA5nVgdk/eOihU4OOYMIXq4U4cS0NocnaYCozqV4OVkmArPPnz9s4ap4GM1ODftBpBW0w==
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/@remusao/guess-url-type/-/guess-url-type-1.2.1.tgz#b3e7c32abdf98d0fb4f93cc67cad580b5fe4ba57"
+  integrity sha512-rbOqre2jW8STjheOsOaQHLgYBaBZ9Owbdt8NO7WvNZftJlaG3y/K9oOkl8ZUpuFBisIhmBuMEW6c+YrQl5inRA==
 
 "@remusao/small@^1.1.2":
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/@remusao/small/-/small-1.2.0.tgz#1f56d59418d4c121cd8814e4bea5ed95dcf4b7a9"
-  integrity sha512-18Bwa/EjqQ5WfdERqmG3YgOohO7J2sS8+v31JgmYnEg3wAtcAOPVBRkD24IzVS0eJOQk1P2Yd++aP0ldirk7MQ==
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/@remusao/small/-/small-1.2.1.tgz#63bfe4548832289f94ac868a0c305970c9a0e5f9"
+  integrity sha512-7MjoGt0TJMVw1GPKgWq6SJPws1SLsUXQRa43Umht+nkyw2jnpy3WpiLNqGdwo5rHr5Wp9B2W/Pm5RQp656UJdw==
 
-"@remusao/smaz-compress@^1.9.0":
-  version "1.9.0"
-  resolved "https://registry.yarnpkg.com/@remusao/smaz-compress/-/smaz-compress-1.9.0.tgz#ec79c87f5780865da616cd214b3b8978807d1e9a"
-  integrity sha512-PAze3aYCcUfX+a6E6sVMoxVtUkeQgX+oiY6DqbiRkNtUqzjtcl9JVyEAWGbBEgOuv2jdEATAlyIf0W18NKDEnw==
+"@remusao/smaz-compress@^1.9.1":
+  version "1.9.1"
+  resolved "https://registry.yarnpkg.com/@remusao/smaz-compress/-/smaz-compress-1.9.1.tgz#fc75eaf9bcac2d58bc4c3d518183a7cb9612d275"
+  integrity sha512-E2f48TwloQu3r6BdLOGF2aczeH7bJ/32oJGqvzT9SKur0cuUnLcZ7ZXP874E2fwmdE+cXzfC7bKzp79cDnmeyw==
   dependencies:
-    "@remusao/trie" "^1.4.0"
+    "@remusao/trie" "^1.4.1"
 
-"@remusao/smaz-decompress@^1.9.0":
-  version "1.9.0"
-  resolved "https://registry.yarnpkg.com/@remusao/smaz-decompress/-/smaz-decompress-1.9.0.tgz#9b3fba7c8e0c2045de63fd0ad0e5b37b447bb7cf"
-  integrity sha512-7uXEX8cSMWy+ai7j8sJpVQuY+CHj2e5D+PjxY//4wbAJlw1a/X+CYPt7BuxLBzpVoioB5Y7++1USjCkrw0pl8g==
+"@remusao/smaz-decompress@^1.9.1":
+  version "1.9.1"
+  resolved "https://registry.yarnpkg.com/@remusao/smaz-decompress/-/smaz-decompress-1.9.1.tgz#8094f997e8fb591a678cda9cf08c209c825eba5b"
+  integrity sha512-TfjKKprYe3n47od8auhvJ/Ikj9kQTbDTe71ynKlxslrvvUhlIV3VQSuwYuMWMbdz1fIs0H/fxCN1Z8/H3km6/A==
 
 "@remusao/smaz@^1.7.1":
-  version "1.9.0"
-  resolved "https://registry.yarnpkg.com/@remusao/smaz/-/smaz-1.9.0.tgz#d02c2fb007483d4b4d050fb2fdaf523fcef08d40"
-  integrity sha512-HMMPam5jLhP0ymtMUQ8sm2p9zwDJwHD09krORXN/l/TR+NlSCdU2gSAoVNr9idD9OmMGfeXPFQYCofEUZfjbTQ==
+  version "1.9.1"
+  resolved "https://registry.yarnpkg.com/@remusao/smaz/-/smaz-1.9.1.tgz#a2b9b045385f81e1615a68d932b7cc8b04c9db8d"
+  integrity sha512-e6BLuP8oaXCZ9+v46Is4ilAZ/Vq6YLgmBP204Ixgk1qTjXmqvFYG7+AS7v9nsZdGOy96r9DWGFbbDVgMxwu1rA==
   dependencies:
-    "@remusao/smaz-compress" "^1.9.0"
-    "@remusao/smaz-decompress" "^1.9.0"
+    "@remusao/smaz-compress" "^1.9.1"
+    "@remusao/smaz-decompress" "^1.9.1"
 
-"@remusao/trie@^1.4.0":
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/@remusao/trie/-/trie-1.4.0.tgz#b439210445339f0ca95ff200d98b898d431a4ce1"
-  integrity sha512-mIr0m4/xj6qxHtJjAFb4I8tXXmjTniUYTB2Hv+xK5hXf/YWocEPlJ+V31bv5HJwo6ly64DUnZDBeBxolT3WE7w==
+"@remusao/trie@^1.4.1":
+  version "1.4.1"
+  resolved "https://registry.yarnpkg.com/@remusao/trie/-/trie-1.4.1.tgz#755d09f8a007476334e611f42719b2d581f00720"
+  integrity sha512-yvwa+aCyYI/UjeD39BnpMypG8N06l86wIDW1/PAc6ihBRnodIfZDwccxQN3n1t74wduzaz74m4ZMHZnB06567Q==
 
 "@sindresorhus/is@^0.14.0":
   version "0.14.0"
@@ -600,9 +618,9 @@
   integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==
 
 "@sinonjs/commons@^1.7.0":
-  version "1.8.1"
-  resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.1.tgz#e7df00f98a203324f6dc7cc606cad9d4a8ab2217"
-  integrity sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==
+  version "1.8.2"
+  resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.2.tgz#858f5c4b48d80778fde4b9d541f27edc0d56488b"
+  integrity sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw==
   dependencies:
     type-detect "4.0.8"
 
@@ -653,10 +671,10 @@
   dependencies:
     "@babel/types" "^7.3.0"
 
-"@types/chrome@^0.0.126":
-  version "0.0.126"
-  resolved "https://registry.yarnpkg.com/@types/chrome/-/chrome-0.0.126.tgz#f9f3436712f0c7c12ea9798abc9b95575ad7b23a"
-  integrity sha512-191z7uoyfbGU+z7/m45j9XbWugWqVHVPMM4hJV5cZ+3YzGCT9wFjMUHO3Wr3Xvo8aVodvRNu28u7lvEaAnfbzg==
+"@types/chrome@^0.0.128":
+  version "0.0.128"
+  resolved "https://registry.yarnpkg.com/@types/chrome/-/chrome-0.0.128.tgz#5dbd8b2539a367353fbe4386f119b510105f8b6a"
+  integrity sha512-eGc599TDtersMBW1cSnExHm0IHrXrO5xdk6Sa2Dq30ED+hR1rpT1ez0NNcCgvGO52nmktGfyvd3Uyquzv3LL4g==
   dependencies:
     "@types/filesystem" "*"
     "@types/har-format" "*"
@@ -683,17 +701,25 @@
   resolved "https://registry.yarnpkg.com/@types/firefox-webext-browser/-/firefox-webext-browser-82.0.0.tgz#4d0f5cfebd7321d2cbf0ccfb6032570f0138b958"
   integrity sha512-zKHePkjMx42KIUUZCPcUiyu1tpfQXH9VR4iDYfns3HvmKVJzt/TAFT+DFVroos8BI9RH78YgF3Hi/wlC6R6cKA==
 
-"@types/fs-extra@^9.0.1":
-  version "9.0.5"
-  resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.5.tgz#2afb76a43a4bef80a363b94b314d0ca1694fc4f8"
-  integrity sha512-wr3t7wIW1c0A2BIJtdVp4EflriVaVVAsCAIHVzzh8B+GiFv9X1xeJjCs4upRXtzp7kQ6lP5xvskjoD4awJ1ZeA==
+"@types/fs-extra@^9.0.5":
+  version "9.0.7"
+  resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.7.tgz#a9ef2ffdab043def080c5bec94c03402f793577f"
+  integrity sha512-YGq2A6Yc3bldrLUlm17VNWOnUbnEzJ9CMgOeLFtQF3HOCN5lQBO8VyjG00a5acA5NNSM30kHVGp1trZgnVgi1Q==
+  dependencies:
+    "@types/node" "*"
+
+"@types/glob@^7.1.1":
+  version "7.1.3"
+  resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183"
+  integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==
   dependencies:
+    "@types/minimatch" "*"
     "@types/node" "*"
 
 "@types/graceful-fs@^4.1.2":
-  version "4.1.4"
-  resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.4.tgz#4ff9f641a7c6d1a3508ff88bc3141b152772e753"
-  integrity sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg==
+  version "4.1.5"
+  resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15"
+  integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==
   dependencies:
     "@types/node" "*"
 
@@ -721,40 +747,58 @@
   dependencies:
     "@types/istanbul-lib-report" "*"
 
+"@types/minimatch@*":
+  version "3.0.3"
+  resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
+  integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
+
 "@types/node@*":
-  version "14.14.13"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.13.tgz#9e425079799322113ae8477297ae6ef51b8e0cdf"
-  integrity sha512-vbxr0VZ8exFMMAjCW8rJwaya0dMCDyYW2ZRdTyjtrCvJoENMpdUHOT/eTzvgyA5ZnqRZ/sI0NwqAxNHKYokLJQ==
+  version "14.14.27"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.27.tgz#c7127f8da0498993e13b1a42faf1303d3110d2f2"
+  integrity sha512-Ecfmo4YDQPwuqTCl1yBxLV5ihKfRlkBmzUEDcfIRvDxOTGQEeikr317Ln7Gcv0tjA8dVgKI3rniqW2G1OyKDng==
 
 "@types/node@^12.0.12":
-  version "12.19.9"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.9.tgz#990ad687ad8b26ef6dcc34a4f69c33d40c95b679"
-  integrity sha512-yj0DOaQeUrk3nJ0bd3Y5PeDRJ6W0r+kilosLA+dzF3dola/o9hxhMSg2sFvVcA2UHS5JSOsZp4S0c1OEXc4m1Q==
+  version "12.20.0"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.0.tgz#692dfdecd6c97f5380c42dd50f19261f9f604deb"
+  integrity sha512-0/41wHcurotvSOTHQUFkgL702c3pyWR1mToSrrX3pGPvGfpHTv3Ksx0M4UVuU5VJfjVb62Eyr1eKO1tWNUCg2Q==
 
 "@types/normalize-package-data@^2.4.0":
   version "2.4.0"
   resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
   integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==
 
+"@types/plist@^3.0.1":
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/@types/plist/-/plist-3.0.2.tgz#61b3727bba0f5c462fe333542534a0c3e19ccb01"
+  integrity sha512-ULqvZNGMv0zRFvqn8/4LSPtnmN4MfhlPNtJCTpKuIIxGVGZ2rYWzFXrvEBoh9CVyqSE7D6YFRJ1hydLHI6kbWw==
+  dependencies:
+    "@types/node" "*"
+    xmlbuilder ">=11.0.1"
+
 "@types/prettier@^2.0.0":
-  version "2.1.5"
-  resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.1.5.tgz#b6ab3bba29e16b821d84e09ecfaded462b816b00"
-  integrity sha512-UEyp8LwZ4Dg30kVU2Q3amHHyTn1jEdhCIE59ANed76GaT1Vp76DD3ZWSAxgCrw6wJ0TqeoBpqmfUHiUDPs//HQ==
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.1.tgz#374e31645d58cb18a07b3ecd8e9dede4deb2cccd"
+  integrity sha512-DxZZbyMAM9GWEzXL+BMZROWz9oo6A9EilwwOMET2UVu2uZTqMWS5S69KVtuVKaRjCUpcrOXRalet86/OpG4kqw==
 
 "@types/stack-utils@^2.0.0":
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff"
   integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==
 
+"@types/verror@^1.10.3":
+  version "1.10.4"
+  resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.4.tgz#805c0612b3a0c124cf99f517364142946b74ba3b"
+  integrity sha512-OjJdqx6QlbyZw9LShPwRW+Kmiegeg3eWNI41MQQKaG3vjdU2L9SRElntM51HmHBY1cu7izxQJ1lMYioQh3XMBg==
+
 "@types/yargs-parser@*":
-  version "15.0.0"
-  resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d"
-  integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==
+  version "20.2.0"
+  resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9"
+  integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==
 
-"@types/yargs@^15.0.0", "@types/yargs@^15.0.5":
-  version "15.0.11"
-  resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.11.tgz#361d7579ecdac1527687bcebf9946621c12ab78c"
-  integrity sha512-jfcNBxHFYJ4nPIacsi3woz1+kvUO6s1CyeEhtnDHBjHUMNj5UlW2GynmnSgiJJEdNg9yW5C8lfoNRZrHGv5EqA==
+"@types/yargs@^15.0.0", "@types/yargs@^15.0.12":
+  version "15.0.13"
+  resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc"
+  integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==
   dependencies:
     "@types/yargs-parser" "*"
 
@@ -791,7 +835,7 @@ ajv-keywords@^3.4.1:
   resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
   integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
 
-ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.3, ajv@^6.12.4:
+ajv@^6.10.0, ajv@^6.12.0, ajv@^6.12.3, ajv@^6.12.4:
   version "6.12.6"
   resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
   integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
@@ -801,6 +845,16 @@ ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.3, ajv@^6.12.4:
     json-schema-traverse "^0.4.1"
     uri-js "^4.2.2"
 
+ajv@^7.0.2:
+  version "7.1.0"
+  resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.1.0.tgz#f982ea7933dc7f1012eae9eec5a86687d805421b"
+  integrity sha512-svS9uILze/cXbH0z2myCK2Brqprx/+JJYK5pHicT/GQiBfzzhUVAIT6MwqJg8y4xV/zoGsUeuPuwtoiKSGE15g==
+  dependencies:
+    fast-deep-equal "^3.1.1"
+    json-schema-traverse "^1.0.0"
+    require-from-string "^2.0.2"
+    uri-js "^4.2.2"
+
 ansi-align@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb"
@@ -820,6 +874,11 @@ ansi-escapes@^4.2.1:
   dependencies:
     type-fest "^0.11.0"
 
+ansi-regex@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
+  integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
+
 ansi-regex@^4.1.0:
   version "4.1.0"
   resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
@@ -830,7 +889,7 @@ ansi-regex@^5.0.0:
   resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
   integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
 
-ansi-styles@^3.2.0, ansi-styles@^3.2.1:
+ansi-styles@^3.2.1:
   version "3.2.1"
   resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
   integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
@@ -860,37 +919,38 @@ anymatch@^3.0.3:
     normalize-path "^3.0.0"
     picomatch "^2.0.4"
 
-app-builder-bin@3.5.10:
-  version "3.5.10"
-  resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.10.tgz#4a7f9999fccc0c435b6284ae1366bc76a17c4a7d"
-  integrity sha512-Jd+GW68lR0NeetgZDo47PdWBEPdnD+p0jEa7XaxjRC8u6Oo/wgJsfKUkORRgr2NpkD19IFKN50P6JYy04XHFLQ==
+app-builder-bin@3.5.12:
+  version "3.5.12"
+  resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.12.tgz#bbe174972cc1f481f73d6d92ad47a8b4c7eb4530"
+  integrity sha512-lQARM2AielmFoBeIo6LZigAe+58Wwe07ZWkt+wVeDxzyieNmeWjlvz/V5dKzinydwdHd+CNswN86sww46yijjA==
 
-app-builder-lib@22.9.1:
-  version "22.9.1"
-  resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.9.1.tgz#ccb8f1a02b628514a5dfab9401fa2a976689415c"
-  integrity sha512-KfXim/fiNwFW2SKffsjEMdAU7RbbEXn62x5YyXle1b4j9X/wEHW9iwox8De6y0hJdR+/kCC/49lI+VgNwLhV7A==
+app-builder-lib@22.10.4:
+  version "22.10.4"
+  resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.10.4.tgz#3fc70821b76beb9c8279d9de22960ef2174da153"
+  integrity sha512-q7B1cr8Ry4a7o08EKShLfwsnIVf5By7YhVwcoqgEwPKxtoj1qF0kB4wyBP79rJylYi0Zj2cSkJJ/gD/ef9xhoQ==
   dependencies:
     "7zip-bin" "~5.0.3"
     "@develar/schema-utils" "~2.6.5"
+    "@electron/universal" "1.0.4"
     async-exit-hook "^2.0.1"
     bluebird-lst "^1.0.9"
-    builder-util "22.9.1"
-    builder-util-runtime "8.7.2"
+    builder-util "22.10.4"
+    builder-util-runtime "8.7.3"
     chromium-pickle-js "^0.2.0"
-    debug "^4.3.0"
+    debug "^4.3.1"
     ejs "^3.1.5"
-    electron-publish "22.9.1"
+    electron-publish "22.10.4"
     fs-extra "^9.0.1"
-    hosted-git-info "^3.0.5"
+    hosted-git-info "^3.0.7"
     is-ci "^2.0.0"
     isbinaryfile "^4.0.6"
-    js-yaml "^3.14.0"
+    js-yaml "^3.14.1"
     lazy-val "^1.0.4"
     minimatch "^3.0.4"
-    normalize-package-data "^2.5.0"
+    normalize-package-data "^3.0.0"
     read-config-file "6.0.0"
     sanitize-filename "^1.6.3"
-    semver "^7.3.2"
+    semver "^7.3.4"
     temp-file "^3.3.7"
 
 archiver-utils@^2.1.0:
@@ -909,10 +969,10 @@ archiver-utils@^2.1.0:
     normalize-path "^3.0.0"
     readable-stream "^2.0.0"
 
-archiver@^5.0.2:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/archiver/-/archiver-5.1.0.tgz#05b0f6f7836f3e6356a0532763d2bb91017a7e37"
-  integrity sha512-iKuQUP1nuKzBC2PFlGet5twENzCfyODmvkxwDV0cEFXavwcLrIW5ssTuHi9dyTPvpWr6Faweo2eQaQiLIwyXTA==
+archiver@^5.2.0:
+  version "5.2.0"
+  resolved "https://registry.yarnpkg.com/archiver/-/archiver-5.2.0.tgz#25aa1b3d9febf7aec5b0f296e77e69960c26db94"
+  integrity sha512-QEAKlgQuAtUxKeZB9w5/ggKXh21bZS+dzzuQ0RPBC20qtDCbTyzqmisoeJP46MP39fg4B4IcyvR+yeyEBdblsQ==
   dependencies:
     archiver-utils "^2.1.0"
     async "^3.2.0"
@@ -949,6 +1009,18 @@ array-unique@^0.3.2:
   resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
   integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
 
+asar@^3.0.3:
+  version "3.0.3"
+  resolved "https://registry.yarnpkg.com/asar/-/asar-3.0.3.tgz#1fef03c2d6d2de0cbad138788e4f7ae03b129c7b"
+  integrity sha512-k7zd+KoR+n8pl71PvgElcoKHrVNiSXtw7odKbyNpmgKe7EGRF9Pnu3uLOukD37EvavKwVFxOUpqXTIZC5B5Pmw==
+  dependencies:
+    chromium-pickle-js "^0.2.0"
+    commander "^5.0.0"
+    glob "^7.1.6"
+    minimatch "^3.0.4"
+  optionalDependencies:
+    "@types/glob" "^7.1.1"
+
 asn1@~0.2.3:
   version "0.2.4"
   resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
@@ -966,10 +1038,10 @@ assign-symbols@^1.0.0:
   resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
   integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
 
-astral-regex@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
-  integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
+astral-regex@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
+  integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
 
 async-exit-hook@^2.0.1:
   version "2.0.1"
@@ -1047,9 +1119,9 @@ babel-plugin-jest-hoist@^26.6.2:
     "@types/babel__traverse" "^7.0.6"
 
 babel-preset-current-node-syntax@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.0.tgz#cf5feef29551253471cfa82fc8e0f5063df07a77"
-  integrity sha512-mGkvkpocWJes1CmMKtgGUwCeeq0pOhALyymozzDWYomHTbDLwueDYG6p4TK1YOeYHCzBzYPsWkgTto10JubI1Q==
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b"
+  integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==
   dependencies:
     "@babel/plugin-syntax-async-generators" "^7.8.4"
     "@babel/plugin-syntax-bigint" "^7.8.3"
@@ -1077,7 +1149,7 @@ balanced-match@^1.0.0:
   resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
   integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
 
-base64-js@^1.3.1:
+base64-js@^1.2.3, base64-js@^1.3.1:
   version "1.5.1"
   resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
   integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
@@ -1103,9 +1175,9 @@ bcrypt-pbkdf@^1.0.0:
     tweetnacl "^0.14.3"
 
 bl@^4.0.3:
-  version "4.0.3"
-  resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.3.tgz#12d6287adc29080e22a705e5764b2a9522cdc489"
-  integrity sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
+  integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
   dependencies:
     buffer "^5.5.0"
     inherits "^2.0.4"
@@ -1128,19 +1200,19 @@ boolean@^3.0.1:
   resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.0.2.tgz#df1baa18b6a2b0e70840475e1d93ec8fe75b2570"
   integrity sha512-RwywHlpCRc3/Wh81MiCKun4ydaIFyW5Ea6JbL6sRCVx5q5irDw7pMXBUFYF/jArQ6YrG36q0kpovc9P/Kd3I4g==
 
-boxen@^4.2.0:
-  version "4.2.0"
-  resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64"
-  integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==
+boxen@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.0.0.tgz#64fe9b16066af815f51057adcc800c3730120854"
+  integrity sha512-5bvsqw+hhgUi3oYGK0Vf4WpIkyemp60WBInn7+WNfoISzAqk/HX4L7WNROq38E6UR/y3YADpv6pEm4BfkeEAdA==
   dependencies:
     ansi-align "^3.0.0"
-    camelcase "^5.3.1"
-    chalk "^3.0.0"
-    cli-boxes "^2.2.0"
-    string-width "^4.1.0"
-    term-size "^2.1.0"
-    type-fest "^0.8.1"
+    camelcase "^6.2.0"
+    chalk "^4.1.0"
+    cli-boxes "^2.2.1"
+    string-width "^4.2.0"
+    type-fest "^0.20.2"
     widest-line "^3.1.0"
+    wrap-ansi "^7.0.0"
 
 brace-expansion@^1.1.7:
   version "1.1.11"
@@ -1190,12 +1262,17 @@ buffer-crc32@^0.2.1, buffer-crc32@^0.2.13, buffer-crc32@~0.2.3:
   resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
   integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
 
+buffer-equal@1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe"
+  integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74=
+
 buffer-from@^1.0.0:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
   integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
 
-buffer@^5.5.0:
+buffer@^5.1.0, buffer@^5.5.0:
   version "5.7.1"
   resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
   integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
@@ -1203,30 +1280,30 @@ buffer@^5.5.0:
     base64-js "^1.3.1"
     ieee754 "^1.1.13"
 
-builder-util-runtime@8.7.2:
-  version "8.7.2"
-  resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.2.tgz#d93afc71428a12789b437e13850e1fa7da956d72"
-  integrity sha512-xBqv+8bg6cfnzAQK1k3OGpfaHg+QkPgIgpEkXNhouZ0WiUkyZCftuRc2LYzQrLucFywpa14Xbc6+hTbpq83yRA==
+builder-util-runtime@8.7.3:
+  version "8.7.3"
+  resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.3.tgz#0aaafa52d25295c939496f62231ca9ff06c30e40"
+  integrity sha512-1Q2ReBqFblimF5g/TLg2+0M5Xzv0Ih5LxJ/BMWXvEy/e6pQKeeEpbkPMGsN6OiQgkygaZo5VXCXIjOkOQG5EoQ==
   dependencies:
-    debug "^4.1.1"
+    debug "^4.3.2"
     sax "^1.2.4"
 
-builder-util@22.9.1:
-  version "22.9.1"
-  resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.9.1.tgz#b7087a5cde477f90d718ca5d7fafb6ae261b16af"
-  integrity sha512-5hN/XOaYu4ZQUS6F+5CXE6jTo+NAnVqAxDuKGSaHWb9bejfv/rluChTLoY3/nJh7RFjkoyVjvFJv7zQDB1QmHw==
+builder-util@22.10.4:
+  version "22.10.4"
+  resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.10.4.tgz#54e8be83dd0dec28073d866ff087cee8e7ce6cf6"
+  integrity sha512-XdcbFG3otEkNRKxW2wS1npNviCb/IrzusEQ55lMB+6YEHxBOfTbf8vnPt0pDumfwmxls9xczABU+mfqN/W4uDw==
   dependencies:
     "7zip-bin" "~5.0.3"
     "@types/debug" "^4.1.5"
-    "@types/fs-extra" "^9.0.1"
-    app-builder-bin "3.5.10"
+    "@types/fs-extra" "^9.0.5"
+    app-builder-bin "3.5.12"
     bluebird-lst "^1.0.9"
-    builder-util-runtime "8.7.2"
+    builder-util-runtime "8.7.3"
     chalk "^4.1.0"
-    debug "^4.3.0"
+    debug "^4.3.1"
     fs-extra "^9.0.1"
     is-ci "^2.0.0"
-    js-yaml "^3.14.0"
+    js-yaml "^3.14.1"
     source-map-support "^0.5.19"
     stat-mode "^1.0.0"
     temp-file "^3.3.7"
@@ -1269,7 +1346,7 @@ camelcase@^5.0.0, camelcase@^5.3.1:
   resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
   integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
 
-camelcase@^6.0.0:
+camelcase@^6.0.0, camelcase@^6.2.0:
   version "6.2.0"
   resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809"
   integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
@@ -1295,14 +1372,6 @@ chalk@^2.0.0, chalk@^2.4.2:
     escape-string-regexp "^1.0.5"
     supports-color "^5.3.0"
 
-chalk@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
-  integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
-  dependencies:
-    ansi-styles "^4.1.0"
-    supports-color "^7.1.0"
-
 chalk@^4.0.0, chalk@^4.1.0:
   version "4.1.0"
   resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
@@ -1341,11 +1410,19 @@ class-utils@^0.3.5:
     isobject "^3.0.0"
     static-extend "^0.1.1"
 
-cli-boxes@^2.2.0:
+cli-boxes@^2.2.1:
   version "2.2.1"
   resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f"
   integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==
 
+cli-truncate@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-1.1.0.tgz#2b2dfd83c53cfd3572b87fc4d430a808afb04086"
+  integrity sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==
+  dependencies:
+    slice-ansi "^1.0.0"
+    string-width "^2.0.0"
+
 cliui@^6.0.0:
   version "6.0.0"
   resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1"
@@ -1413,6 +1490,11 @@ color-name@~1.1.4:
   resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
   integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
 
+colors@1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
+  integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=
+
 combined-stream@^1.0.6, combined-stream@~1.0.6:
   version "1.0.8"
   resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
@@ -1420,6 +1502,18 @@ combined-stream@^1.0.6, combined-stream@~1.0.6:
   dependencies:
     delayed-stream "~1.0.0"
 
+commander@2.9.0:
+  version "2.9.0"
+  resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
+  integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=
+  dependencies:
+    graceful-readlink ">= 1.0.0"
+
+commander@^5.0.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
+  integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
+
 component-emitter@^1.2.1:
   version "1.3.0"
   resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
@@ -1483,9 +1577,9 @@ copy-descriptor@^0.1.0:
   integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
 
 core-js@^3.6.5:
-  version "3.8.1"
-  resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.8.1.tgz#f51523668ac8a294d1285c3b9db44025fda66d47"
-  integrity sha512-9Id2xHY1W7m8hCl8NkhQn5CufmF/WuR30BTRewvCXc1aZd3kMECwNZ69ndLbekKfakw9Rf2Xyc+QR6E7Gg+obg==
+  version "3.8.3"
+  resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.8.3.tgz#c21906e1f14f3689f93abcc6e26883550dd92dd0"
+  integrity sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q==
 
 core-util-is@1.0.2, core-util-is@~1.0.0:
   version "1.0.2"
@@ -1501,13 +1595,20 @@ crc-32@^1.2.0:
     printj "~1.1.0"
 
 crc32-stream@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-4.0.1.tgz#0f047d74041737f8a55e86837a1b826bd8ab0067"
-  integrity sha512-FN5V+weeO/8JaXsamelVYO1PHyeCsuL3HcG4cqsj0ceARcocxalaShCsohZMSAF+db7UYFwBy1rARK/0oFItUw==
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-4.0.2.tgz#c922ad22b38395abe9d3870f02fa8134ed709007"
+  integrity sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==
   dependencies:
     crc-32 "^1.2.0"
     readable-stream "^3.4.0"
 
+crc@^3.8.0:
+  version "3.8.0"
+  resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6"
+  integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==
+  dependencies:
+    buffer "^5.1.0"
+
 cross-spawn@^6.0.0:
   version "6.0.5"
   resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
@@ -1519,7 +1620,7 @@ cross-spawn@^6.0.0:
     shebang-command "^1.2.0"
     which "^1.2.9"
 
-cross-spawn@^7.0.0, cross-spawn@^7.0.2:
+cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2:
   version "7.0.3"
   resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
   integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
@@ -1550,10 +1651,10 @@ cssstyle@^2.2.0:
   dependencies:
     cssom "~0.3.6"
 
-darkreader@^4.9.26:
-  version "4.9.26"
-  resolved "https://registry.yarnpkg.com/darkreader/-/darkreader-4.9.26.tgz#ad92139742f22fc406ae14d12ec6e5672a7eedde"
-  integrity sha512-8Mixd/u3VTXEjld7dl+Rtz6NvHkCDpp9JweZemLsxtS9o00YxRDLTH+lkJTGg2jD+qOQblh7ahyLvEby5JBNDw==
+darkreader@^4.9.27:
+  version "4.9.27"
+  resolved "https://registry.yarnpkg.com/darkreader/-/darkreader-4.9.27.tgz#69b641d6a3c22b07fb0424406dfd9a3661b37197"
+  integrity sha512-DG8zsicuCbAYKaKvLUaiikeei5jN5dIpe0jyaPw4kDa2L5zVnWc/ZxNUYOFriKVAmicwqE5gH5EOfyI0MVt3KA==
 
 dashdash@^1.12.0:
   version "1.14.1"
@@ -1578,13 +1679,20 @@ debug@^2.2.0, debug@^2.3.3, debug@^2.6.9:
   dependencies:
     ms "2.0.0"
 
-debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.0:
+debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1:
   version "4.3.1"
   resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
   integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
   dependencies:
     ms "2.1.2"
 
+debug@^4.3.2:
+  version "4.3.2"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
+  integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
+  dependencies:
+    ms "2.1.2"
+
 decamelize@^1.2.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
@@ -1676,17 +1784,44 @@ diff-sequences@^26.6.2:
   resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1"
   integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==
 
-dmg-builder@22.9.1:
-  version "22.9.1"
-  resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.9.1.tgz#64647224f37ee47fc9bd01947c21cc010a30511f"
-  integrity sha512-jc+DAirqmQrNT6KbDHdfEp8D1kD0DBTnsLhwUR3MX+hMBun5bT134LQzpdK0GKvd22GqF8L1Cz/NOgaVjscAXQ==
+dir-compare@^2.4.0:
+  version "2.4.0"
+  resolved "https://registry.yarnpkg.com/dir-compare/-/dir-compare-2.4.0.tgz#785c41dc5f645b34343a4eafc50b79bac7f11631"
+  integrity sha512-l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA==
+  dependencies:
+    buffer-equal "1.0.0"
+    colors "1.0.3"
+    commander "2.9.0"
+    minimatch "3.0.4"
+
+dmg-builder@22.10.4:
+  version "22.10.4"
+  resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.10.4.tgz#8dab30754346791eb728091359558fd4a8dbb45f"
+  integrity sha512-+28HZgKAuyCQnQwLSAwkHUqtMB/egHF5ACUABCB4Nev02/ZfjFPUTF/WloTaEbue34zLLUGxPXh+BJF8Xw26ow==
   dependencies:
-    app-builder-lib "22.9.1"
-    builder-util "22.9.1"
+    app-builder-lib "22.10.4"
+    builder-util "22.10.4"
     fs-extra "^9.0.1"
     iconv-lite "^0.6.2"
-    js-yaml "^3.14.0"
+    js-yaml "^3.14.1"
     sanitize-filename "^1.6.3"
+  optionalDependencies:
+    dmg-license "^1.0.8"
+
+dmg-license@^1.0.8:
+  version "1.0.8"
+  resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.8.tgz#d52e234815f1a07a59706e5f2a2fea71991cf784"
+  integrity sha512-47GOb6b4yVzpovXC34heXElpH++ICg9GuWBeOTaokUNLAoAdWpE4VehudYEEtu96j2jXsgQWYf78nW7r+0Y3eg==
+  dependencies:
+    "@types/plist" "^3.0.1"
+    "@types/verror" "^1.10.3"
+    ajv "^6.10.0"
+    cli-truncate "^1.1.0"
+    crc "^3.8.0"
+    iconv-corefoundation "^1.1.5"
+    plist "^3.0.1"
+    smart-buffer "^4.0.2"
+    verror "^1.10.0"
 
 doctrine@^3.0.0:
   version "3.0.0"
@@ -1733,50 +1868,50 @@ ecc-jsbn@~0.1.1:
     safer-buffer "^2.1.0"
 
 ejs@^3.1.5:
-  version "3.1.5"
-  resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.5.tgz#aed723844dc20acb4b170cd9ab1017e476a0d93b"
-  integrity sha512-dldq3ZfFtgVTJMLjOe+/3sROTzALlL9E34V4/sDtUd/KlBSS0s6U1/+WPE1B4sj9CXHJpL1M6rhNJnc9Wbal9w==
+  version "3.1.6"
+  resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz#5bfd0a0689743bb5268b3550cceeebbc1702822a"
+  integrity sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==
   dependencies:
     jake "^10.6.1"
 
-electron-builder@^22.9.1:
-  version "22.9.1"
-  resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.9.1.tgz#a2962db6f2757bc01d02489f38fafe0809f68f60"
-  integrity sha512-GXPt8l5Mxwm1QKYopUM6/Tdh9W3695G6Ax+IFyj5pQ51G4SD5L1uq4/RkPSsOgs3rP7jNSV6g6OfDzdtVufPdA==
+electron-builder@^22.10.4:
+  version "22.10.4"
+  resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.10.4.tgz#e1f400cf41ebb632fbf79aa86c5e0ab1ea1ed7e5"
+  integrity sha512-V+JtiizJd3kt24TT+0OHG7+oPAzjhhjmQVn9G6OC2WE7VBJxrDuD6lMVRgo6WlU8uvDCh7fTRUsdh0Tnu0GeQA==
   dependencies:
-    "@types/yargs" "^15.0.5"
-    app-builder-lib "22.9.1"
+    "@types/yargs" "^15.0.12"
+    app-builder-lib "22.10.4"
     bluebird-lst "^1.0.9"
-    builder-util "22.9.1"
-    builder-util-runtime "8.7.2"
+    builder-util "22.10.4"
+    builder-util-runtime "8.7.3"
     chalk "^4.1.0"
-    dmg-builder "22.9.1"
+    dmg-builder "22.10.4"
     fs-extra "^9.0.1"
     is-ci "^2.0.0"
     lazy-val "^1.0.4"
     read-config-file "6.0.0"
     sanitize-filename "^1.6.3"
-    update-notifier "^4.1.1"
-    yargs "^16.0.3"
+    update-notifier "^5.0.1"
+    yargs "^16.2.0"
 
-electron-publish@22.9.1:
-  version "22.9.1"
-  resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.9.1.tgz#7cc76ac4cc53efd29ee31c1e5facb9724329068e"
-  integrity sha512-ducLjRJLEeU87FaTCWaUyDjCoLXHkawkltP2zqS/n2PyGke54ZIql0tBuUheht4EpR8AhFbVJ11spSn1gy8r6w==
+electron-publish@22.10.4:
+  version "22.10.4"
+  resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.10.4.tgz#944b00aa6a7746c31ce900ffd8106d243326dca8"
+  integrity sha512-cjVM0+9DQoV4TWfH8lVWoelJ89O2i5yDARVp5GCMHrB43XEU0Nr5eKYysgsbOSnZk5W8z1vfGpFWHj+AeAEDYg==
   dependencies:
-    "@types/fs-extra" "^9.0.1"
+    "@types/fs-extra" "^9.0.5"
     bluebird-lst "^1.0.9"
-    builder-util "22.9.1"
-    builder-util-runtime "8.7.2"
+    builder-util "22.10.4"
+    builder-util-runtime "8.7.3"
     chalk "^4.1.0"
     fs-extra "^9.0.1"
     lazy-val "^1.0.4"
-    mime "^2.4.6"
+    mime "^2.4.7"
 
-electron@^11.0.3:
-  version "11.1.0"
-  resolved "https://registry.yarnpkg.com/electron/-/electron-11.1.0.tgz#8dfdf579d1eb79feef3e3d2937fc022e72129c90"
-  integrity sha512-RFAhR/852VMaRd9NSe7jprwSoG9dLc6u1GwnqRWg+/3cy/8Zrwt1Betw1lXiZH7hGuB9K2cqju83Xv5Pq5ZSGA==
+electron@^11.2.1:
+  version "11.2.3"
+  resolved "https://registry.yarnpkg.com/electron/-/electron-11.2.3.tgz#8ad1d9858436cfca0e2e5ea7fea326794ae58ebb"
+  integrity sha512-6yxOc42nDAptHKNlUG/vcOh2GI9x2fqp2nQbZO0/3sz2CrwsJkwR3i3oMN9XhVJaqI7GK1vSCJz0verOkWlXcQ==
   dependencies:
     "@electron/get" "^1.0.1"
     "@types/node" "^12.0.12"
@@ -1895,13 +2030,13 @@ eslint-visitor-keys@^2.0.0:
   resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8"
   integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==
 
-eslint@^7.15.0:
-  version "7.15.0"
-  resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.15.0.tgz#eb155fb8ed0865fcf5d903f76be2e5b6cd7e0bc7"
-  integrity sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA==
+eslint@^7.19.0:
+  version "7.20.0"
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.20.0.tgz#db07c4ca4eda2e2316e7aa57ac7fc91ec550bdc7"
+  integrity sha512-qGi0CTcOGP2OtCQBgWZlQjcTuP0XkIpYFj25XtRTQSHC+umNnp7UMshr2G8SLsRFYDdAPFeHOsiteadmMH02Yw==
   dependencies:
-    "@babel/code-frame" "^7.0.0"
-    "@eslint/eslintrc" "^0.2.2"
+    "@babel/code-frame" "7.12.11"
+    "@eslint/eslintrc" "^0.3.0"
     ajv "^6.10.0"
     chalk "^4.0.0"
     cross-spawn "^7.0.2"
@@ -1912,7 +2047,7 @@ eslint@^7.15.0:
     eslint-utils "^2.1.0"
     eslint-visitor-keys "^2.0.0"
     espree "^7.3.1"
-    esquery "^1.2.0"
+    esquery "^1.4.0"
     esutils "^2.0.2"
     file-entry-cache "^6.0.0"
     functional-red-black-tree "^1.0.1"
@@ -1925,7 +2060,7 @@ eslint@^7.15.0:
     js-yaml "^3.13.1"
     json-stable-stringify-without-jsonify "^1.0.1"
     levn "^0.4.1"
-    lodash "^4.17.19"
+    lodash "^4.17.20"
     minimatch "^3.0.4"
     natural-compare "^1.4.0"
     optionator "^0.9.1"
@@ -1934,7 +2069,7 @@ eslint@^7.15.0:
     semver "^7.2.1"
     strip-ansi "^6.0.0"
     strip-json-comments "^3.1.0"
-    table "^5.2.3"
+    table "^6.0.4"
     text-table "^0.2.0"
     v8-compile-cache "^2.0.3"
 
@@ -1952,10 +2087,10 @@ esprima@^4.0.0, esprima@^4.0.1:
   resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
   integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
 
-esquery@^1.2.0:
-  version "1.3.1"
-  resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57"
-  integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==
+esquery@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
+  integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==
   dependencies:
     estraverse "^5.1.0"
 
@@ -2140,9 +2275,9 @@ file-entry-cache@^6.0.0:
     flat-cache "^3.0.4"
 
 filelist@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.1.tgz#f10d1a3ae86c1694808e8f20906f43d4c9132dbb"
-  integrity sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ==
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz#80202f21462d4d1c2e214119b1807c1bc0380e5b"
+  integrity sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==
   dependencies:
     minimatch "^3.0.4"
 
@@ -2180,9 +2315,9 @@ flat-cache@^3.0.4:
     rimraf "^3.0.2"
 
 flatted@^3.1.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.0.tgz#a5d06b4a8b01e3a63771daa5cb7a1903e2e57067"
-  integrity sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469"
+  integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==
 
 for-in@^1.0.2:
   version "1.0.2"
@@ -2225,14 +2360,14 @@ fs-extra@^8.1.0:
     universalify "^0.1.0"
 
 fs-extra@^9.0.1:
-  version "9.0.1"
-  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc"
-  integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==
+  version "9.1.0"
+  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
+  integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
   dependencies:
     at-least-node "^1.0.0"
     graceful-fs "^4.2.0"
     jsonfile "^6.0.1"
-    universalify "^1.0.0"
+    universalify "^2.0.0"
 
 fs.realpath@^1.0.0:
   version "1.0.0"
@@ -2240,9 +2375,9 @@ fs.realpath@^1.0.0:
   integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
 
 fsevents@^2.1.2:
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.2.1.tgz#1fb02ded2036a8ac288d507a65962bd87b97628d"
-  integrity sha512-bTLYHSeC0UH/EFXS9KqWnXuOl/wHK5Z/d+ghd5AsFMYN7wIGkUCOJyzy88+wJKkZPGON8u4Z9f6U4FdgURE9qA==
+  version "2.3.2"
+  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
+  integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
 
 function-bind@^1.1.1:
   version "1.1.1"
@@ -2302,7 +2437,7 @@ glob-parent@^5.0.0:
   dependencies:
     is-glob "^4.0.1"
 
-glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
+glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
   version "7.1.6"
   resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
   integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
@@ -2327,12 +2462,12 @@ global-agent@^2.0.2:
     semver "^7.3.2"
     serialize-error "^7.0.1"
 
-global-dirs@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.0.1.tgz#acdf3bb6685bcd55cb35e8a052266569e9469201"
-  integrity sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==
+global-dirs@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686"
+  integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==
   dependencies:
-    ini "^1.3.5"
+    ini "2.0.0"
 
 global-tunnel-ng@^2.7.1:
   version "2.7.1"
@@ -2381,9 +2516,14 @@ got@^9.6.0:
     url-parse-lax "^3.0.0"
 
 graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4:
-  version "4.2.4"
-  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
-  integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
+  version "4.2.6"
+  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee"
+  integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==
+
+"graceful-readlink@>= 1.0.0":
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
+  integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=
 
 growly@^1.3.0:
   version "1.3.0"
@@ -2461,10 +2601,10 @@ hosted-git-info@^2.1.4:
   resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488"
   integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==
 
-hosted-git-info@^3.0.5:
-  version "3.0.7"
-  resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.7.tgz#a30727385ea85acfcee94e0aad9e368c792e036c"
-  integrity sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ==
+hosted-git-info@^3.0.6, hosted-git-info@^3.0.7:
+  version "3.0.8"
+  resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d"
+  integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==
   dependencies:
     lru-cache "^6.0.0"
 
@@ -2504,6 +2644,14 @@ human-signals@^1.1.1:
   resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
   integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
 
+iconv-corefoundation@^1.1.5:
+  version "1.1.5"
+  resolved "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.5.tgz#90596d444a579aeb109f5ca113f6bb665a41be2b"
+  integrity sha512-hI4m7udfV04OcjleOmDaR4gwXnH4xumxN+ZmywHDiKf2CmAzsT9SVYe7Y4pdnQbyZfXwAQyrElykbE5PrPRfmQ==
+  dependencies:
+    cli-truncate "^1.1.0"
+    node-addon-api "^1.6.3"
+
 iconv-lite@0.4.24:
   version "0.4.24"
   resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
@@ -2529,9 +2677,9 @@ ignore@^4.0.6:
   integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
 
 import-fresh@^3.0.0, import-fresh@^3.2.1:
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.2.tgz#fc129c160c5d68235507f4331a6baad186bdbc3e"
-  integrity sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==
+  version "3.3.0"
+  resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
+  integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
   dependencies:
     parent-module "^1.0.0"
     resolve-from "^4.0.0"
@@ -2567,7 +2715,12 @@ inherits@2, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
   resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
   integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
 
-ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
+ini@2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5"
+  integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==
+
+ini@^1.3.4, ini@~1.3.0:
   version "1.3.8"
   resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
   integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
@@ -2608,7 +2761,7 @@ is-ci@^2.0.0:
   dependencies:
     ci-info "^2.0.0"
 
-is-core-module@^2.1.0:
+is-core-module@^2.2.0:
   version "2.2.0"
   resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a"
   integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==
@@ -2691,18 +2844,18 @@ is-glob@^4.0.0, is-glob@^4.0.1:
   dependencies:
     is-extglob "^2.1.1"
 
-is-installed-globally@^0.3.1:
-  version "0.3.2"
-  resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141"
-  integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==
+is-installed-globally@^0.4.0:
+  version "0.4.0"
+  resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520"
+  integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==
   dependencies:
-    global-dirs "^2.0.1"
-    is-path-inside "^3.0.1"
+    global-dirs "^3.0.0"
+    is-path-inside "^3.0.2"
 
-is-npm@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d"
-  integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==
+is-npm@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8"
+  integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==
 
 is-number@^3.0.0:
   version "3.0.0"
@@ -2721,7 +2874,7 @@ is-obj@^2.0.0:
   resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
   integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
 
-is-path-inside@^3.0.1:
+is-path-inside@^3.0.2:
   version "3.0.2"
   resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017"
   integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==
@@ -3238,7 +3391,7 @@ js-tokens@^4.0.0:
   resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
   integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
 
-js-yaml@^3.13.1, js-yaml@^3.14.0:
+js-yaml@^3.13.1, js-yaml@^3.14.1:
   version "3.14.1"
   resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
   integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
@@ -3303,6 +3456,11 @@ json-schema-traverse@^0.4.1:
   resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
   integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
 
+json-schema-traverse@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
+  integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
+
 json-schema@0.2.3:
   version "0.2.3"
   resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
@@ -3319,9 +3477,9 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
   integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
 
 json5@^2.1.2:
-  version "2.1.3"
-  resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
-  integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3"
+  integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==
   dependencies:
     minimist "^1.2.5"
 
@@ -3387,7 +3545,7 @@ kleur@^3.0.3:
   resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
   integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
 
-latest-version@^5.0.0:
+latest-version@^5.1.0:
   version "5.1.0"
   resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face"
   integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==
@@ -3469,7 +3627,7 @@ lodash.union@^4.6.0:
   resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88"
   integrity sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=
 
-lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.19:
+lodash@^4.17.10, lodash@^4.17.19, lodash@^4.17.20:
   version "4.17.20"
   resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
   integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
@@ -3556,22 +3714,22 @@ micromatch@^4.0.2:
     braces "^3.0.1"
     picomatch "^2.0.5"
 
-mime-db@1.44.0:
-  version "1.44.0"
-  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
-  integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
+mime-db@1.45.0:
+  version "1.45.0"
+  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea"
+  integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==
 
 mime-types@^2.1.12, mime-types@~2.1.19:
-  version "2.1.27"
-  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
-  integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
+  version "2.1.28"
+  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd"
+  integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==
   dependencies:
-    mime-db "1.44.0"
+    mime-db "1.45.0"
 
-mime@^2.4.6:
-  version "2.4.6"
-  resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1"
-  integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==
+mime@^2.4.7:
+  version "2.5.0"
+  resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.0.tgz#2b4af934401779806ee98026bb42e8c1ae1876b1"
+  integrity sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==
 
 mimic-fn@^2.1.0:
   version "2.1.0"
@@ -3583,7 +3741,7 @@ mimic-response@^1.0.0, mimic-response@^1.0.1:
   resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
   integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
 
-minimatch@^3.0.4:
+minimatch@3.0.4, minimatch@^3.0.4:
   version "3.0.4"
   resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
   integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
@@ -3647,6 +3805,11 @@ nice-try@^1.0.4:
   resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
   integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
 
+node-addon-api@^1.6.3:
+  version "1.7.2"
+  resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d"
+  integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==
+
 node-int64@^0.4.0:
   version "0.4.0"
   resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
@@ -3658,9 +3821,9 @@ node-modules-regexp@^1.0.0:
   integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=
 
 node-notifier@^8.0.0:
-  version "8.0.0"
-  resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.0.tgz#a7eee2d51da6d0f7ff5094bc7108c911240c1620"
-  integrity sha512-46z7DUmcjoYdaWyXouuFNNfUo6eFa94t23c53c+lG/9Cvauk4a98rAUp9672X5dxGdQmLpPzTxzu8f/OeEPaFA==
+  version "8.0.1"
+  resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.1.tgz#f86e89bbc925f2b068784b31f382afdc6ca56be1"
+  integrity sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA==
   dependencies:
     growly "^1.3.0"
     is-wsl "^2.2.0"
@@ -3679,6 +3842,16 @@ normalize-package-data@^2.5.0:
     semver "2 || 3 || 4 || 5"
     validate-npm-package-license "^3.0.1"
 
+normalize-package-data@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.0.tgz#1f8a7c423b3d2e85eb36985eaf81de381d01301a"
+  integrity sha512-6lUjEI0d3v6kFrtgA/lOx4zHCWULXsFNIjHolnZCKCTLA6m/G625cdn3O7eNmT0iD3jfo6HZ9cdImGZwf21prw==
+  dependencies:
+    hosted-git-info "^3.0.6"
+    resolve "^1.17.0"
+    semver "^7.3.2"
+    validate-npm-package-license "^3.0.1"
+
 normalize-path@^2.1.1:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
@@ -3846,9 +4019,9 @@ parent-module@^1.0.0:
     callsites "^3.0.0"
 
 parse-json@^5.0.0:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646"
-  integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==
+  version "5.2.0"
+  resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
+  integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
   dependencies:
     "@babel/code-frame" "^7.0.0"
     error-ex "^1.3.1"
@@ -3924,6 +4097,15 @@ pkg-dir@^4.2.0:
   dependencies:
     find-up "^4.0.0"
 
+plist@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.1.tgz#a9b931d17c304e8912ef0ba3bdd6182baf2e1f8c"
+  integrity sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==
+  dependencies:
+    base64-js "^1.2.3"
+    xmlbuilder "^9.0.7"
+    xmldom "0.1.x"
+
 posix-character-classes@^0.1.0:
   version "0.1.1"
   resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
@@ -4000,7 +4182,7 @@ punycode@^2.1.0, punycode@^2.1.1:
   resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
   integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
 
-pupa@^2.0.1:
+pupa@^2.1.1:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62"
   integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==
@@ -4175,6 +4357,11 @@ require-directory@^2.1.1:
   resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
   integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
 
+require-from-string@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
+  integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
+
 require-main-filename@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
@@ -4202,12 +4389,12 @@ resolve-url@^0.2.1:
   resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
   integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
 
-resolve@^1.10.0, resolve@^1.18.1:
-  version "1.19.0"
-  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c"
-  integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==
+resolve@^1.10.0, resolve@^1.17.0, resolve@^1.18.1:
+  version "1.20.0"
+  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
+  integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
   dependencies:
-    is-core-module "^2.1.0"
+    is-core-module "^2.2.0"
     path-parse "^1.0.6"
 
 responselike@^1.0.2:
@@ -4283,7 +4470,7 @@ sane@^4.0.3:
     minimist "^1.1.1"
     walker "~1.0.5"
 
-sanitize-filename@^1.6.2, sanitize-filename@^1.6.3:
+sanitize-filename@^1.6.3:
   version "1.6.3"
   resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.3.tgz#755ebd752045931977e30b2025d340d7c9090378"
   integrity sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==
@@ -4324,7 +4511,7 @@ semver@^6.0.0, semver@^6.2.0, semver@^6.3.0:
   resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
   integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
 
-semver@^7.2.1, semver@^7.3.2:
+semver@^7.2.1, semver@^7.3.2, semver@^7.3.4:
   version "7.3.4"
   resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97"
   integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==
@@ -4397,15 +4584,27 @@ slash@^3.0.0:
   resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
   integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
 
-slice-ansi@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
-  integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==
+slice-ansi@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d"
+  integrity sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==
   dependencies:
-    ansi-styles "^3.2.0"
-    astral-regex "^1.0.0"
     is-fullwidth-code-point "^2.0.0"
 
+slice-ansi@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
+  integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
+  dependencies:
+    ansi-styles "^4.0.0"
+    astral-regex "^2.0.0"
+    is-fullwidth-code-point "^3.0.0"
+
+smart-buffer@^4.0.2:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba"
+  integrity sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==
+
 snapdragon-node@^2.0.1:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
@@ -4456,9 +4655,9 @@ source-map-support@^0.5.19, source-map-support@^0.5.6:
     source-map "^0.6.0"
 
 source-map-url@^0.4.0:
-  version "0.4.0"
-  resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
-  integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=
+  version "0.4.1"
+  resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56"
+  integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==
 
 source-map@^0.5.0, source-map@^0.5.6:
   version "0.5.7"
@@ -4566,6 +4765,14 @@ string-length@^4.0.1:
     char-regex "^1.0.2"
     strip-ansi "^6.0.0"
 
+string-width@^2.0.0:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
+  integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
+  dependencies:
+    is-fullwidth-code-point "^2.0.0"
+    strip-ansi "^4.0.0"
+
 string-width@^3.0.0:
   version "3.1.0"
   resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
@@ -4598,6 +4805,13 @@ string_decoder@~1.1.1:
   dependencies:
     safe-buffer "~5.1.0"
 
+strip-ansi@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
+  integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
+  dependencies:
+    ansi-regex "^3.0.0"
+
 strip-ansi@^5.1.0:
   version "5.2.0"
   resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
@@ -4671,20 +4885,20 @@ symbol-tree@^3.2.4:
   resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
   integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
 
-table@^5.2.3:
-  version "5.4.6"
-  resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e"
-  integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==
+table@^6.0.4:
+  version "6.0.7"
+  resolved "https://registry.yarnpkg.com/table/-/table-6.0.7.tgz#e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34"
+  integrity sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==
   dependencies:
-    ajv "^6.10.2"
-    lodash "^4.17.14"
-    slice-ansi "^2.1.0"
-    string-width "^3.0.0"
+    ajv "^7.0.2"
+    lodash "^4.17.20"
+    slice-ansi "^4.0.0"
+    string-width "^4.2.0"
 
 tar-stream@^2.1.4:
-  version "2.1.4"
-  resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.4.tgz#c4fb1a11eb0da29b893a5b25476397ba2d053bfa"
-  integrity sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw==
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287"
+  integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==
   dependencies:
     bl "^4.0.3"
     end-of-stream "^1.4.1"
@@ -4700,11 +4914,6 @@ temp-file@^3.3.7:
     async-exit-hook "^2.0.1"
     fs-extra "^8.1.0"
 
-term-size@^2.1.0:
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54"
-  integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==
-
 terminal-link@^2.0.0:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994"
@@ -4732,17 +4941,17 @@ throat@^5.0.0:
   resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b"
   integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==
 
-tldts-core@^5.6.64:
-  version "5.6.64"
-  resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-5.6.64.tgz#0f80d0c9607d7583acc477a10dae7e62e7c08063"
-  integrity sha512-uzVHDyya5Qy7VtMaaWYdNxvBBp8PKhRMt6FrzB5lDJiFtUIma4JdxRCxGxbyOoJig1DOmqcQDjnH3+C2etvyaA==
+tldts-core@^5.7.6:
+  version "5.7.6"
+  resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-5.7.6.tgz#af99b4ab79761dfa6c44d1d61a3f76bb5c3def8b"
+  integrity sha512-VfRarBs7nbY9Af3In4O1A3d7T6eZh+w/IjRPpBo8VgRHAo7LJ+GrzCVo1yoOPmm3tdO1vUXtwBnchWN0dpL6lQ==
 
 tldts-experimental@^5.6.21:
-  version "5.6.64"
-  resolved "https://registry.yarnpkg.com/tldts-experimental/-/tldts-experimental-5.6.64.tgz#f867449964d94c6a17a499335658f42a9fbdc7d3"
-  integrity sha512-PaA3Lau6l7PsxvMd9Ptocalu/K9RA3Ia5QovHTuLdJZfaJJNFrC3FEQpzYqxQ4bGqB7bpPeFXZDLisA/d4KWKg==
+  version "5.7.6"
+  resolved "https://registry.yarnpkg.com/tldts-experimental/-/tldts-experimental-5.7.6.tgz#10c255872af89ab68659c3a345c7a65015920024"
+  integrity sha512-FRpjSRsxsa46/PRc2erEx8B9uZQYsdBQPG/s3B7IGhWxi1VG6GOwTJWGyfFBy3LWfge7Kw3Yrh89ZS01tUKMIQ==
   dependencies:
-    tldts-core "^5.6.64"
+    tldts-core "^5.7.6"
 
 tmpl@1.0.x:
   version "1.0.4"
@@ -4868,6 +5077,11 @@ type-fest@^0.13.1:
   resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934"
   integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==
 
+type-fest@^0.20.2:
+  version "0.20.2"
+  resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
+  integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
+
 type-fest@^0.6.0:
   version "0.6.0"
   resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b"
@@ -4912,11 +5126,6 @@ universalify@^0.1.0:
   resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
   integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
 
-universalify@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d"
-  integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==
-
 universalify@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
@@ -4930,29 +5139,30 @@ unset-value@^1.0.0:
     has-value "^0.3.1"
     isobject "^3.0.0"
 
-update-notifier@^4.1.1:
-  version "4.1.3"
-  resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.3.tgz#be86ee13e8ce48fb50043ff72057b5bd598e1ea3"
-  integrity sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==
+update-notifier@^5.0.1:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9"
+  integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==
   dependencies:
-    boxen "^4.2.0"
-    chalk "^3.0.0"
+    boxen "^5.0.0"
+    chalk "^4.1.0"
     configstore "^5.0.1"
     has-yarn "^2.1.0"
     import-lazy "^2.1.0"
     is-ci "^2.0.0"
-    is-installed-globally "^0.3.1"
-    is-npm "^4.0.0"
+    is-installed-globally "^0.4.0"
+    is-npm "^5.0.0"
     is-yarn-global "^0.3.0"
-    latest-version "^5.0.0"
-    pupa "^2.0.1"
+    latest-version "^5.1.0"
+    pupa "^2.1.1"
+    semver "^7.3.4"
     semver-diff "^3.1.1"
     xdg-basedir "^4.0.0"
 
 uri-js@^4.2.2:
-  version "4.4.0"
-  resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602"
-  integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==
+  version "4.4.1"
+  resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
+  integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
   dependencies:
     punycode "^2.1.0"
 
@@ -4999,9 +5209,9 @@ v8-compile-cache@^2.0.3:
   integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==
 
 v8-to-istanbul@^7.0.0:
-  version "7.0.0"
-  resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.0.0.tgz#b4fe00e35649ef7785a9b7fcebcea05f37c332fc"
-  integrity sha512-fLL2rFuQpMtm9r8hrAV2apXX/WqHJ6+IC4/eQVdMDGBUgH/YMV4Gv3duk3kjmyg6uiQWBAA9nJwue4iJUOkHeA==
+  version "7.1.0"
+  resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz#5b95cef45c0f83217ec79f8fc7ee1c8b486aee07"
+  integrity sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g==
   dependencies:
     "@types/istanbul-lib-coverage" "^2.0.1"
     convert-source-map "^1.6.0"
@@ -5015,7 +5225,7 @@ validate-npm-package-license@^3.0.1:
     spdx-correct "^3.0.0"
     spdx-expression-parse "^3.0.0"
 
-verror@1.10.0:
+verror@1.10.0, verror@^1.10.0:
   version "1.10.0"
   resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
   integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
@@ -5141,9 +5351,9 @@ write-file-atomic@^3.0.0:
     typedarray-to-buffer "^3.1.5"
 
 ws@^7.2.3:
-  version "7.4.1"
-  resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.1.tgz#a333be02696bd0e54cea0434e21dcc8a9ac294bb"
-  integrity sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ==
+  version "7.4.3"
+  resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.3.tgz#1f9643de34a543b8edb124bdcbc457ae55a6e5cd"
+  integrity sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==
 
 xdg-basedir@^4.0.0:
   version "4.0.0"
@@ -5155,11 +5365,26 @@ xml-name-validator@^3.0.0:
   resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
   integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==
 
+xmlbuilder@>=11.0.1:
+  version "15.1.1"
+  resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5"
+  integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==
+
+xmlbuilder@^9.0.7:
+  version "9.0.7"
+  resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d"
+  integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=
+
 xmlchars@^2.2.0:
   version "2.2.0"
   resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
   integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
 
+xmldom@0.1.x:
+  version "0.1.31"
+  resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.31.tgz#b76c9a1bd9f0a9737e5a72dc37231cf38375e2ff"
+  integrity sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==
+
 y18n@^4.0.0:
   version "4.0.1"
   resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4"
@@ -5205,7 +5430,7 @@ yargs@^15.4.1:
     y18n "^4.0.0"
     yargs-parser "^18.1.2"
 
-yargs@^16.0.3:
+yargs@^16.2.0:
   version "16.2.0"
   resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
   integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
diff --git a/pkgs/applications/networking/browsers/vieb/yarn.nix b/pkgs/applications/networking/browsers/vieb/yarn.nix
index 6f92c3a385cfa..e4bfdf7261720 100644
--- a/pkgs/applications/networking/browsers/vieb/yarn.nix
+++ b/pkgs/applications/networking/browsers/vieb/yarn.nix
@@ -10,155 +10,147 @@
       };
     }
     {
-      name = "_babel_code_frame___code_frame_7.10.4.tgz";
+      name = "_babel_code_frame___code_frame_7.12.11.tgz";
       path = fetchurl {
-        name = "_babel_code_frame___code_frame_7.10.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz";
-        sha1 = "168da1a36e90da68ae8d49c0f1b48c7c6249213a";
+        name = "_babel_code_frame___code_frame_7.12.11.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz";
+        sha1 = "f4ad435aa263db935b8f10f2c552d23fb716a63f";
       };
     }
     {
-      name = "_babel_core___core_7.12.10.tgz";
+      name = "_babel_code_frame___code_frame_7.12.13.tgz";
       path = fetchurl {
-        name = "_babel_core___core_7.12.10.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.12.10.tgz";
-        sha1 = "b79a2e1b9f70ed3d84bbfb6d8c4ef825f606bccd";
+        name = "_babel_code_frame___code_frame_7.12.13.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz";
+        sha1 = "dcfc826beef65e75c50e21d3837d7d95798dd658";
       };
     }
     {
-      name = "_babel_generator___generator_7.12.10.tgz";
+      name = "_babel_core___core_7.12.16.tgz";
       path = fetchurl {
-        name = "_babel_generator___generator_7.12.10.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.10.tgz";
-        sha1 = "2b188fc329fb8e4f762181703beffc0fe6df3460";
+        name = "_babel_core___core_7.12.16.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.12.16.tgz";
+        sha1 = "8c6ba456b23b680a6493ddcfcd9d3c3ad51cab7c";
       };
     }
     {
-      name = "_babel_helper_function_name___helper_function_name_7.10.4.tgz";
+      name = "_babel_generator___generator_7.12.15.tgz";
       path = fetchurl {
-        name = "_babel_helper_function_name___helper_function_name_7.10.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz";
-        sha1 = "d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a";
+        name = "_babel_generator___generator_7.12.15.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.15.tgz";
+        sha1 = "4617b5d0b25cc572474cc1aafee1edeaf9b5368f";
       };
     }
     {
-      name = "_babel_helper_get_function_arity___helper_get_function_arity_7.12.10.tgz";
+      name = "_babel_helper_function_name___helper_function_name_7.12.13.tgz";
       path = fetchurl {
-        name = "_babel_helper_get_function_arity___helper_get_function_arity_7.12.10.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz";
-        sha1 = "b158817a3165b5faa2047825dfa61970ddcc16cf";
+        name = "_babel_helper_function_name___helper_function_name_7.12.13.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz";
+        sha1 = "93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a";
       };
     }
     {
-      name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.12.7.tgz";
+      name = "_babel_helper_get_function_arity___helper_get_function_arity_7.12.13.tgz";
       path = fetchurl {
-        name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.12.7.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz";
-        sha1 = "aa77bd0396ec8114e5e30787efa78599d874a855";
+        name = "_babel_helper_get_function_arity___helper_get_function_arity_7.12.13.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz";
+        sha1 = "bc63451d403a3b3082b97e1d8b3fe5bd4091e583";
       };
     }
     {
-      name = "_babel_helper_module_imports___helper_module_imports_7.12.5.tgz";
+      name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.12.16.tgz";
       path = fetchurl {
-        name = "_babel_helper_module_imports___helper_module_imports_7.12.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz";
-        sha1 = "1bfc0229f794988f76ed0a4d4e90860850b54dfb";
+        name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.12.16.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.16.tgz";
+        sha1 = "41e0916b99f8d5f43da4f05d85f4930fa3d62b22";
       };
     }
     {
-      name = "_babel_helper_module_transforms___helper_module_transforms_7.12.1.tgz";
+      name = "_babel_helper_module_imports___helper_module_imports_7.12.13.tgz";
       path = fetchurl {
-        name = "_babel_helper_module_transforms___helper_module_transforms_7.12.1.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz";
-        sha1 = "7954fec71f5b32c48e4b303b437c34453fd7247c";
+        name = "_babel_helper_module_imports___helper_module_imports_7.12.13.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz";
+        sha1 = "ec67e4404f41750463e455cc3203f6a32e93fcb0";
       };
     }
     {
-      name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.12.10.tgz";
+      name = "_babel_helper_module_transforms___helper_module_transforms_7.12.13.tgz";
       path = fetchurl {
-        name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.12.10.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz";
-        sha1 = "94ca4e306ee11a7dd6e9f42823e2ac6b49881e2d";
+        name = "_babel_helper_module_transforms___helper_module_transforms_7.12.13.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz";
+        sha1 = "01afb052dcad2044289b7b20beb3fa8bd0265bea";
       };
     }
     {
-      name = "_babel_helper_plugin_utils___helper_plugin_utils_7.10.4.tgz";
+      name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.12.13.tgz";
       path = fetchurl {
-        name = "_babel_helper_plugin_utils___helper_plugin_utils_7.10.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz";
-        sha1 = "2f75a831269d4f677de49986dff59927533cf375";
+        name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.12.13.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz";
+        sha1 = "5c02d171b4c8615b1e7163f888c1c81c30a2aaea";
       };
     }
     {
-      name = "_babel_helper_replace_supers___helper_replace_supers_7.12.5.tgz";
+      name = "_babel_helper_plugin_utils___helper_plugin_utils_7.12.13.tgz";
       path = fetchurl {
-        name = "_babel_helper_replace_supers___helper_replace_supers_7.12.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz";
-        sha1 = "f009a17543bbbbce16b06206ae73b63d3fca68d9";
+        name = "_babel_helper_plugin_utils___helper_plugin_utils_7.12.13.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz";
+        sha1 = "174254d0f2424d8aefb4dd48057511247b0a9eeb";
       };
     }
     {
-      name = "_babel_helper_simple_access___helper_simple_access_7.12.1.tgz";
+      name = "_babel_helper_replace_supers___helper_replace_supers_7.12.13.tgz";
       path = fetchurl {
-        name = "_babel_helper_simple_access___helper_simple_access_7.12.1.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz";
-        sha1 = "32427e5aa61547d38eb1e6eaf5fd1426fdad9136";
+        name = "_babel_helper_replace_supers___helper_replace_supers_7.12.13.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz";
+        sha1 = "00ec4fb6862546bd3d0aff9aac56074277173121";
       };
     }
     {
-      name = "_babel_helper_skip_transparent_expression_wrappers___helper_skip_transparent_expression_wrappers_7.12.1.tgz";
+      name = "_babel_helper_simple_access___helper_simple_access_7.12.13.tgz";
       path = fetchurl {
-        name = "_babel_helper_skip_transparent_expression_wrappers___helper_skip_transparent_expression_wrappers_7.12.1.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz";
-        sha1 = "462dc63a7e435ade8468385c63d2b84cce4b3cbf";
+        name = "_babel_helper_simple_access___helper_simple_access_7.12.13.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz";
+        sha1 = "8478bcc5cacf6aa1672b251c1d2dde5ccd61a6c4";
       };
     }
     {
-      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.11.0.tgz";
+      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.12.13.tgz";
       path = fetchurl {
-        name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.11.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz";
-        sha1 = "f8a491244acf6a676158ac42072911ba83ad099f";
+        name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.12.13.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz";
+        sha1 = "e9430be00baf3e88b0e13e6f9d4eaf2136372b05";
       };
     }
     {
-      name = "_babel_helper_validator_identifier___helper_validator_identifier_7.10.4.tgz";
+      name = "_babel_helper_validator_identifier___helper_validator_identifier_7.12.11.tgz";
       path = fetchurl {
-        name = "_babel_helper_validator_identifier___helper_validator_identifier_7.10.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz";
-        sha1 = "a78c7a7251e01f616512d31b10adcf52ada5e0d2";
+        name = "_babel_helper_validator_identifier___helper_validator_identifier_7.12.11.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz";
+        sha1 = "c9a1f021917dcb5ccf0d4e453e399022981fc9ed";
       };
     }
     {
-      name = "_babel_helpers___helpers_7.12.5.tgz";
+      name = "_babel_helpers___helpers_7.12.13.tgz";
       path = fetchurl {
-        name = "_babel_helpers___helpers_7.12.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz";
-        sha1 = "1a1ba4a768d9b58310eda516c449913fe647116e";
+        name = "_babel_helpers___helpers_7.12.13.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.13.tgz";
+        sha1 = "3c75e993632e4dadc0274eae219c73eb7645ba47";
       };
     }
     {
-      name = "_babel_highlight___highlight_7.10.4.tgz";
+      name = "_babel_highlight___highlight_7.12.13.tgz";
       path = fetchurl {
-        name = "_babel_highlight___highlight_7.10.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz";
-        sha1 = "7d1bdfd65753538fabe6c38596cdb76d9ac60143";
+        name = "_babel_highlight___highlight_7.12.13.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.12.13.tgz";
+        sha1 = "8ab538393e00370b26271b01fa08f7f27f2e795c";
       };
     }
     {
-      name = "_babel_parser___parser_7.12.10.tgz";
+      name = "_babel_parser___parser_7.12.16.tgz";
       path = fetchurl {
-        name = "_babel_parser___parser_7.12.10.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.10.tgz";
-        sha1 = "824600d59e96aea26a5a2af5a9d812af05c3ae81";
-      };
-    }
-    {
-      name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.12.7.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.12.7.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz";
-        sha1 = "e02f0ea1b5dc59d401ec16fb824679f683d3303c";
+        name = "_babel_parser___parser_7.12.16.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.16.tgz";
+        sha1 = "cc31257419d2c3189d394081635703f549fc1ed4";
       };
     }
     {
@@ -178,11 +170,11 @@
       };
     }
     {
-      name = "_babel_plugin_syntax_class_properties___plugin_syntax_class_properties_7.12.1.tgz";
+      name = "_babel_plugin_syntax_class_properties___plugin_syntax_class_properties_7.12.13.tgz";
       path = fetchurl {
-        name = "_babel_plugin_syntax_class_properties___plugin_syntax_class_properties_7.12.1.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz";
-        sha1 = "bcb297c5366e79bebadef509549cd93b04f19978";
+        name = "_babel_plugin_syntax_class_properties___plugin_syntax_class_properties_7.12.13.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz";
+        sha1 = "b5c987274c4a3a82b89714796931a6b53544ae10";
       };
     }
     {
@@ -250,35 +242,35 @@
       };
     }
     {
-      name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.12.1.tgz";
+      name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.12.13.tgz";
       path = fetchurl {
-        name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.12.1.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz";
-        sha1 = "dd6c0b357ac1bb142d98537450a319625d13d2a0";
+        name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.12.13.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz";
+        sha1 = "c5f0fa6e249f5b739727f923540cf7a806130178";
       };
     }
     {
-      name = "_babel_template___template_7.12.7.tgz";
+      name = "_babel_template___template_7.12.13.tgz";
       path = fetchurl {
-        name = "_babel_template___template_7.12.7.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.12.7.tgz";
-        sha1 = "c817233696018e39fbb6c491d2fb684e05ed43bc";
+        name = "_babel_template___template_7.12.13.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz";
+        sha1 = "530265be8a2589dbb37523844c5bcb55947fb327";
       };
     }
     {
-      name = "_babel_traverse___traverse_7.12.10.tgz";
+      name = "_babel_traverse___traverse_7.12.13.tgz";
       path = fetchurl {
-        name = "_babel_traverse___traverse_7.12.10.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.10.tgz";
-        sha1 = "2d1f4041e8bf42ea099e5b2dc48d6a594c00017a";
+        name = "_babel_traverse___traverse_7.12.13.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.13.tgz";
+        sha1 = "689f0e4b4c08587ad26622832632735fb8c4e0c0";
       };
     }
     {
-      name = "_babel_types___types_7.12.10.tgz";
+      name = "_babel_types___types_7.12.13.tgz";
       path = fetchurl {
-        name = "_babel_types___types_7.12.10.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.12.10.tgz";
-        sha1 = "7965e4a7260b26f09c56bcfcb0498af1f6d9b260";
+        name = "_babel_types___types_7.12.13.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.12.13.tgz";
+        sha1 = "8be1aa8f2c876da11a9cf650c0ecf656913ad611";
       };
     }
     {
@@ -290,35 +282,43 @@
       };
     }
     {
-      name = "_cliqz_adblocker_content___adblocker_content_1.18.8.tgz";
+      name = "_cliqz_adblocker_content___adblocker_content_1.20.0.tgz";
+      path = fetchurl {
+        name = "_cliqz_adblocker_content___adblocker_content_1.20.0.tgz";
+        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-content/-/adblocker-content-1.20.0.tgz";
+        sha1 = "fcfa2845a577ba8d9af282afbae2fc437b3f1c70";
+      };
+    }
+    {
+      name = "_cliqz_adblocker_electron_preload___adblocker_electron_preload_1.20.0.tgz";
       path = fetchurl {
-        name = "_cliqz_adblocker_content___adblocker_content_1.18.8.tgz";
-        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-content/-/adblocker-content-1.18.8.tgz";
-        sha1 = "96473f14c098a20091298d34a6addcd430aceebd";
+        name = "_cliqz_adblocker_electron_preload___adblocker_electron_preload_1.20.0.tgz";
+        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-electron-preload/-/adblocker-electron-preload-1.20.0.tgz";
+        sha1 = "997b694fbb1b1206e04b1fd570690234cc7ef630";
       };
     }
     {
-      name = "_cliqz_adblocker_electron_preload___adblocker_electron_preload_1.18.8.tgz";
+      name = "_cliqz_adblocker_electron___adblocker_electron_1.20.0.tgz";
       path = fetchurl {
-        name = "_cliqz_adblocker_electron_preload___adblocker_electron_preload_1.18.8.tgz";
-        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-electron-preload/-/adblocker-electron-preload-1.18.8.tgz";
-        sha1 = "c2058647e015b6f61c222e7d58040347324c63b0";
+        name = "_cliqz_adblocker_electron___adblocker_electron_1.20.0.tgz";
+        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-electron/-/adblocker-electron-1.20.0.tgz";
+        sha1 = "bacfb9feaf1d3dab339b992e3defa111a4b5ed3c";
       };
     }
     {
-      name = "_cliqz_adblocker_electron___adblocker_electron_1.18.8.tgz";
+      name = "_cliqz_adblocker_extended_selectors___adblocker_extended_selectors_1.20.0.tgz";
       path = fetchurl {
-        name = "_cliqz_adblocker_electron___adblocker_electron_1.18.8.tgz";
-        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-electron/-/adblocker-electron-1.18.8.tgz";
-        sha1 = "5f697c5dc65cd936b3908078a6e4516ec995567a";
+        name = "_cliqz_adblocker_extended_selectors___adblocker_extended_selectors_1.20.0.tgz";
+        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-extended-selectors/-/adblocker-extended-selectors-1.20.0.tgz";
+        sha1 = "95ede657b670f627b39f92d85a97093cecee6ffe";
       };
     }
     {
-      name = "_cliqz_adblocker___adblocker_1.18.8.tgz";
+      name = "_cliqz_adblocker___adblocker_1.20.0.tgz";
       path = fetchurl {
-        name = "_cliqz_adblocker___adblocker_1.18.8.tgz";
-        url  = "https://registry.yarnpkg.com/@cliqz/adblocker/-/adblocker-1.18.8.tgz";
-        sha1 = "f6e5724fe6573c2e68f2545d90bcce3e1ecfbae9";
+        name = "_cliqz_adblocker___adblocker_1.20.0.tgz";
+        url  = "https://registry.yarnpkg.com/@cliqz/adblocker/-/adblocker-1.20.0.tgz";
+        sha1 = "514746e9ee72fcd886f1e2e1aaf13b28fc63f232";
       };
     }
     {
@@ -338,19 +338,27 @@
       };
     }
     {
-      name = "_electron_get___get_1.12.2.tgz";
+      name = "_electron_get___get_1.12.4.tgz";
+      path = fetchurl {
+        name = "_electron_get___get_1.12.4.tgz";
+        url  = "https://registry.yarnpkg.com/@electron/get/-/get-1.12.4.tgz";
+        sha1 = "a5971113fc1bf8fa12a8789dc20152a7359f06ab";
+      };
+    }
+    {
+      name = "_electron_universal___universal_1.0.4.tgz";
       path = fetchurl {
-        name = "_electron_get___get_1.12.2.tgz";
-        url  = "https://registry.yarnpkg.com/@electron/get/-/get-1.12.2.tgz";
-        sha1 = "6442066afb99be08cefb9a281e4b4692b33764f3";
+        name = "_electron_universal___universal_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/@electron/universal/-/universal-1.0.4.tgz";
+        sha1 = "231ac246c39d45b80e159bd21c3f9027dcaa10f5";
       };
     }
     {
-      name = "_eslint_eslintrc___eslintrc_0.2.2.tgz";
+      name = "_eslint_eslintrc___eslintrc_0.3.0.tgz";
       path = fetchurl {
-        name = "_eslint_eslintrc___eslintrc_0.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.2.2.tgz";
-        sha1 = "d01fc791e2fc33e88a29d6f3dc7e93d0cd784b76";
+        name = "_eslint_eslintrc___eslintrc_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.3.0.tgz";
+        sha1 = "d736d6963d7003b6514e6324bec9c602ac340318";
       };
     }
     {
@@ -362,11 +370,11 @@
       };
     }
     {
-      name = "_istanbuljs_schema___schema_0.1.2.tgz";
+      name = "_istanbuljs_schema___schema_0.1.3.tgz";
       path = fetchurl {
-        name = "_istanbuljs_schema___schema_0.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz";
-        sha1 = "26520bf09abe4a5644cd5414e37125a8954241dd";
+        name = "_istanbuljs_schema___schema_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz";
+        sha1 = "e45e384e4b8ec16bce2fd903af78450f6bf7ec98";
       };
     }
     {
@@ -458,51 +466,59 @@
       };
     }
     {
-      name = "_remusao_guess_url_type___guess_url_type_1.2.0.tgz";
+      name = "_malept_cross_spawn_promise___cross_spawn_promise_1.1.1.tgz";
+      path = fetchurl {
+        name = "_malept_cross_spawn_promise___cross_spawn_promise_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz";
+        sha1 = "504af200af6b98e198bce768bc1730c6936ae01d";
+      };
+    }
+    {
+      name = "_remusao_guess_url_type___guess_url_type_1.2.1.tgz";
       path = fetchurl {
-        name = "_remusao_guess_url_type___guess_url_type_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@remusao/guess-url-type/-/guess-url-type-1.2.0.tgz";
-        sha1 = "fb1402b4c47266161501704d74427b8d49e4b3e4";
+        name = "_remusao_guess_url_type___guess_url_type_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/@remusao/guess-url-type/-/guess-url-type-1.2.1.tgz";
+        sha1 = "b3e7c32abdf98d0fb4f93cc67cad580b5fe4ba57";
       };
     }
     {
-      name = "_remusao_small___small_1.2.0.tgz";
+      name = "_remusao_small___small_1.2.1.tgz";
       path = fetchurl {
-        name = "_remusao_small___small_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@remusao/small/-/small-1.2.0.tgz";
-        sha1 = "1f56d59418d4c121cd8814e4bea5ed95dcf4b7a9";
+        name = "_remusao_small___small_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/@remusao/small/-/small-1.2.1.tgz";
+        sha1 = "63bfe4548832289f94ac868a0c305970c9a0e5f9";
       };
     }
     {
-      name = "_remusao_smaz_compress___smaz_compress_1.9.0.tgz";
+      name = "_remusao_smaz_compress___smaz_compress_1.9.1.tgz";
       path = fetchurl {
-        name = "_remusao_smaz_compress___smaz_compress_1.9.0.tgz";
-        url  = "https://registry.yarnpkg.com/@remusao/smaz-compress/-/smaz-compress-1.9.0.tgz";
-        sha1 = "ec79c87f5780865da616cd214b3b8978807d1e9a";
+        name = "_remusao_smaz_compress___smaz_compress_1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/@remusao/smaz-compress/-/smaz-compress-1.9.1.tgz";
+        sha1 = "fc75eaf9bcac2d58bc4c3d518183a7cb9612d275";
       };
     }
     {
-      name = "_remusao_smaz_decompress___smaz_decompress_1.9.0.tgz";
+      name = "_remusao_smaz_decompress___smaz_decompress_1.9.1.tgz";
       path = fetchurl {
-        name = "_remusao_smaz_decompress___smaz_decompress_1.9.0.tgz";
-        url  = "https://registry.yarnpkg.com/@remusao/smaz-decompress/-/smaz-decompress-1.9.0.tgz";
-        sha1 = "9b3fba7c8e0c2045de63fd0ad0e5b37b447bb7cf";
+        name = "_remusao_smaz_decompress___smaz_decompress_1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/@remusao/smaz-decompress/-/smaz-decompress-1.9.1.tgz";
+        sha1 = "8094f997e8fb591a678cda9cf08c209c825eba5b";
       };
     }
     {
-      name = "_remusao_smaz___smaz_1.9.0.tgz";
+      name = "_remusao_smaz___smaz_1.9.1.tgz";
       path = fetchurl {
-        name = "_remusao_smaz___smaz_1.9.0.tgz";
-        url  = "https://registry.yarnpkg.com/@remusao/smaz/-/smaz-1.9.0.tgz";
-        sha1 = "d02c2fb007483d4b4d050fb2fdaf523fcef08d40";
+        name = "_remusao_smaz___smaz_1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/@remusao/smaz/-/smaz-1.9.1.tgz";
+        sha1 = "a2b9b045385f81e1615a68d932b7cc8b04c9db8d";
       };
     }
     {
-      name = "_remusao_trie___trie_1.4.0.tgz";
+      name = "_remusao_trie___trie_1.4.1.tgz";
       path = fetchurl {
-        name = "_remusao_trie___trie_1.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/@remusao/trie/-/trie-1.4.0.tgz";
-        sha1 = "b439210445339f0ca95ff200d98b898d431a4ce1";
+        name = "_remusao_trie___trie_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/@remusao/trie/-/trie-1.4.1.tgz";
+        sha1 = "755d09f8a007476334e611f42719b2d581f00720";
       };
     }
     {
@@ -514,11 +530,11 @@
       };
     }
     {
-      name = "_sinonjs_commons___commons_1.8.1.tgz";
+      name = "_sinonjs_commons___commons_1.8.2.tgz";
       path = fetchurl {
-        name = "_sinonjs_commons___commons_1.8.1.tgz";
-        url  = "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.1.tgz";
-        sha1 = "e7df00f98a203324f6dc7cc606cad9d4a8ab2217";
+        name = "_sinonjs_commons___commons_1.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.2.tgz";
+        sha1 = "858f5c4b48d80778fde4b9d541f27edc0d56488b";
       };
     }
     {
@@ -570,11 +586,11 @@
       };
     }
     {
-      name = "_types_chrome___chrome_0.0.126.tgz";
+      name = "_types_chrome___chrome_0.0.128.tgz";
       path = fetchurl {
-        name = "_types_chrome___chrome_0.0.126.tgz";
-        url  = "https://registry.yarnpkg.com/@types/chrome/-/chrome-0.0.126.tgz";
-        sha1 = "f9f3436712f0c7c12ea9798abc9b95575ad7b23a";
+        name = "_types_chrome___chrome_0.0.128.tgz";
+        url  = "https://registry.yarnpkg.com/@types/chrome/-/chrome-0.0.128.tgz";
+        sha1 = "5dbd8b2539a367353fbe4386f119b510105f8b6a";
       };
     }
     {
@@ -610,19 +626,27 @@
       };
     }
     {
-      name = "_types_fs_extra___fs_extra_9.0.5.tgz";
+      name = "_types_fs_extra___fs_extra_9.0.7.tgz";
+      path = fetchurl {
+        name = "_types_fs_extra___fs_extra_9.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.7.tgz";
+        sha1 = "a9ef2ffdab043def080c5bec94c03402f793577f";
+      };
+    }
+    {
+      name = "_types_glob___glob_7.1.3.tgz";
       path = fetchurl {
-        name = "_types_fs_extra___fs_extra_9.0.5.tgz";
-        url  = "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.5.tgz";
-        sha1 = "2afb76a43a4bef80a363b94b314d0ca1694fc4f8";
+        name = "_types_glob___glob_7.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz";
+        sha1 = "e6ba80f36b7daad2c685acd9266382e68985c183";
       };
     }
     {
-      name = "_types_graceful_fs___graceful_fs_4.1.4.tgz";
+      name = "_types_graceful_fs___graceful_fs_4.1.5.tgz";
       path = fetchurl {
-        name = "_types_graceful_fs___graceful_fs_4.1.4.tgz";
-        url  = "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.4.tgz";
-        sha1 = "4ff9f641a7c6d1a3508ff88bc3141b152772e753";
+        name = "_types_graceful_fs___graceful_fs_4.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz";
+        sha1 = "21ffba0d98da4350db64891f92a9e5db3cdb4e15";
       };
     }
     {
@@ -658,19 +682,27 @@
       };
     }
     {
-      name = "_types_node___node_14.14.13.tgz";
+      name = "_types_minimatch___minimatch_3.0.3.tgz";
       path = fetchurl {
-        name = "_types_node___node_14.14.13.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.14.13.tgz";
-        sha1 = "9e425079799322113ae8477297ae6ef51b8e0cdf";
+        name = "_types_minimatch___minimatch_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz";
+        sha1 = "3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d";
       };
     }
     {
-      name = "_types_node___node_12.19.9.tgz";
+      name = "_types_node___node_14.14.27.tgz";
       path = fetchurl {
-        name = "_types_node___node_12.19.9.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-12.19.9.tgz";
-        sha1 = "990ad687ad8b26ef6dcc34a4f69c33d40c95b679";
+        name = "_types_node___node_14.14.27.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.14.27.tgz";
+        sha1 = "c7127f8da0498993e13b1a42faf1303d3110d2f2";
+      };
+    }
+    {
+      name = "_types_node___node_12.20.0.tgz";
+      path = fetchurl {
+        name = "_types_node___node_12.20.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-12.20.0.tgz";
+        sha1 = "692dfdecd6c97f5380c42dd50f19261f9f604deb";
       };
     }
     {
@@ -682,11 +714,19 @@
       };
     }
     {
-      name = "_types_prettier___prettier_2.1.5.tgz";
+      name = "_types_plist___plist_3.0.2.tgz";
+      path = fetchurl {
+        name = "_types_plist___plist_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/plist/-/plist-3.0.2.tgz";
+        sha1 = "61b3727bba0f5c462fe333542534a0c3e19ccb01";
+      };
+    }
+    {
+      name = "_types_prettier___prettier_2.2.1.tgz";
       path = fetchurl {
-        name = "_types_prettier___prettier_2.1.5.tgz";
-        url  = "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.1.5.tgz";
-        sha1 = "b6ab3bba29e16b821d84e09ecfaded462b816b00";
+        name = "_types_prettier___prettier_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.1.tgz";
+        sha1 = "374e31645d58cb18a07b3ecd8e9dede4deb2cccd";
       };
     }
     {
@@ -698,19 +738,27 @@
       };
     }
     {
-      name = "_types_yargs_parser___yargs_parser_15.0.0.tgz";
+      name = "_types_verror___verror_1.10.4.tgz";
       path = fetchurl {
-        name = "_types_yargs_parser___yargs_parser_15.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz";
-        sha1 = "cb3f9f741869e20cce330ffbeb9271590483882d";
+        name = "_types_verror___verror_1.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.4.tgz";
+        sha1 = "805c0612b3a0c124cf99f517364142946b74ba3b";
       };
     }
     {
-      name = "_types_yargs___yargs_15.0.11.tgz";
+      name = "_types_yargs_parser___yargs_parser_20.2.0.tgz";
       path = fetchurl {
-        name = "_types_yargs___yargs_15.0.11.tgz";
-        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.11.tgz";
-        sha1 = "361d7579ecdac1527687bcebf9946621c12ab78c";
+        name = "_types_yargs_parser___yargs_parser_20.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz";
+        sha1 = "dd3e6699ba3237f0348cd085e4698780204842f9";
+      };
+    }
+    {
+      name = "_types_yargs___yargs_15.0.13.tgz";
+      path = fetchurl {
+        name = "_types_yargs___yargs_15.0.13.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz";
+        sha1 = "34f7fec8b389d7f3c1fd08026a5763e072d3c6dc";
       };
     }
     {
@@ -770,6 +818,14 @@
       };
     }
     {
+      name = "ajv___ajv_7.1.0.tgz";
+      path = fetchurl {
+        name = "ajv___ajv_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-7.1.0.tgz";
+        sha1 = "f982ea7933dc7f1012eae9eec5a86687d805421b";
+      };
+    }
+    {
       name = "ansi_align___ansi_align_3.0.0.tgz";
       path = fetchurl {
         name = "ansi_align___ansi_align_3.0.0.tgz";
@@ -794,6 +850,14 @@
       };
     }
     {
+      name = "ansi_regex___ansi_regex_3.0.0.tgz";
+      path = fetchurl {
+        name = "ansi_regex___ansi_regex_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz";
+        sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
+      };
+    }
+    {
       name = "ansi_regex___ansi_regex_4.1.0.tgz";
       path = fetchurl {
         name = "ansi_regex___ansi_regex_4.1.0.tgz";
@@ -842,19 +906,19 @@
       };
     }
     {
-      name = "app_builder_bin___app_builder_bin_3.5.10.tgz";
+      name = "app_builder_bin___app_builder_bin_3.5.12.tgz";
       path = fetchurl {
-        name = "app_builder_bin___app_builder_bin_3.5.10.tgz";
-        url  = "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.10.tgz";
-        sha1 = "4a7f9999fccc0c435b6284ae1366bc76a17c4a7d";
+        name = "app_builder_bin___app_builder_bin_3.5.12.tgz";
+        url  = "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.12.tgz";
+        sha1 = "bbe174972cc1f481f73d6d92ad47a8b4c7eb4530";
       };
     }
     {
-      name = "app_builder_lib___app_builder_lib_22.9.1.tgz";
+      name = "app_builder_lib___app_builder_lib_22.10.4.tgz";
       path = fetchurl {
-        name = "app_builder_lib___app_builder_lib_22.9.1.tgz";
-        url  = "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.9.1.tgz";
-        sha1 = "ccb8f1a02b628514a5dfab9401fa2a976689415c";
+        name = "app_builder_lib___app_builder_lib_22.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.10.4.tgz";
+        sha1 = "3fc70821b76beb9c8279d9de22960ef2174da153";
       };
     }
     {
@@ -866,11 +930,11 @@
       };
     }
     {
-      name = "archiver___archiver_5.1.0.tgz";
+      name = "archiver___archiver_5.2.0.tgz";
       path = fetchurl {
-        name = "archiver___archiver_5.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/archiver/-/archiver-5.1.0.tgz";
-        sha1 = "05b0f6f7836f3e6356a0532763d2bb91017a7e37";
+        name = "archiver___archiver_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/archiver/-/archiver-5.2.0.tgz";
+        sha1 = "25aa1b3d9febf7aec5b0f296e77e69960c26db94";
       };
     }
     {
@@ -914,6 +978,14 @@
       };
     }
     {
+      name = "asar___asar_3.0.3.tgz";
+      path = fetchurl {
+        name = "asar___asar_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/asar/-/asar-3.0.3.tgz";
+        sha1 = "1fef03c2d6d2de0cbad138788e4f7ae03b129c7b";
+      };
+    }
+    {
       name = "asn1___asn1_0.2.4.tgz";
       path = fetchurl {
         name = "asn1___asn1_0.2.4.tgz";
@@ -938,11 +1010,11 @@
       };
     }
     {
-      name = "astral_regex___astral_regex_1.0.0.tgz";
+      name = "astral_regex___astral_regex_2.0.0.tgz";
       path = fetchurl {
-        name = "astral_regex___astral_regex_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz";
-        sha1 = "6c8c3fb827dd43ee3918f27b82782ab7658a6fd9";
+        name = "astral_regex___astral_regex_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz";
+        sha1 = "483143c567aeed4785759c0865786dc77d7d2e31";
       };
     }
     {
@@ -1034,11 +1106,11 @@
       };
     }
     {
-      name = "babel_preset_current_node_syntax___babel_preset_current_node_syntax_1.0.0.tgz";
+      name = "babel_preset_current_node_syntax___babel_preset_current_node_syntax_1.0.1.tgz";
       path = fetchurl {
-        name = "babel_preset_current_node_syntax___babel_preset_current_node_syntax_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.0.tgz";
-        sha1 = "cf5feef29551253471cfa82fc8e0f5063df07a77";
+        name = "babel_preset_current_node_syntax___babel_preset_current_node_syntax_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz";
+        sha1 = "b4399239b89b2a011f9ddbe3e4f401fc40cff73b";
       };
     }
     {
@@ -1082,11 +1154,11 @@
       };
     }
     {
-      name = "bl___bl_4.0.3.tgz";
+      name = "bl___bl_4.1.0.tgz";
       path = fetchurl {
-        name = "bl___bl_4.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/bl/-/bl-4.0.3.tgz";
-        sha1 = "12d6287adc29080e22a705e5764b2a9522cdc489";
+        name = "bl___bl_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz";
+        sha1 = "451535264182bec2fbbc83a62ab98cf11d9f7b3a";
       };
     }
     {
@@ -1114,11 +1186,11 @@
       };
     }
     {
-      name = "boxen___boxen_4.2.0.tgz";
+      name = "boxen___boxen_5.0.0.tgz";
       path = fetchurl {
-        name = "boxen___boxen_4.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz";
-        sha1 = "e411b62357d6d6d36587c8ac3d5d974daa070e64";
+        name = "boxen___boxen_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/boxen/-/boxen-5.0.0.tgz";
+        sha1 = "64fe9b16066af815f51057adcc800c3730120854";
       };
     }
     {
@@ -1170,6 +1242,14 @@
       };
     }
     {
+      name = "buffer_equal___buffer_equal_1.0.0.tgz";
+      path = fetchurl {
+        name = "buffer_equal___buffer_equal_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz";
+        sha1 = "59616b498304d556abd466966b22eeda3eca5fbe";
+      };
+    }
+    {
       name = "buffer_from___buffer_from_1.1.1.tgz";
       path = fetchurl {
         name = "buffer_from___buffer_from_1.1.1.tgz";
@@ -1186,19 +1266,19 @@
       };
     }
     {
-      name = "builder_util_runtime___builder_util_runtime_8.7.2.tgz";
+      name = "builder_util_runtime___builder_util_runtime_8.7.3.tgz";
       path = fetchurl {
-        name = "builder_util_runtime___builder_util_runtime_8.7.2.tgz";
-        url  = "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.2.tgz";
-        sha1 = "d93afc71428a12789b437e13850e1fa7da956d72";
+        name = "builder_util_runtime___builder_util_runtime_8.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.3.tgz";
+        sha1 = "0aaafa52d25295c939496f62231ca9ff06c30e40";
       };
     }
     {
-      name = "builder_util___builder_util_22.9.1.tgz";
+      name = "builder_util___builder_util_22.10.4.tgz";
       path = fetchurl {
-        name = "builder_util___builder_util_22.9.1.tgz";
-        url  = "https://registry.yarnpkg.com/builder-util/-/builder-util-22.9.1.tgz";
-        sha1 = "b7087a5cde477f90d718ca5d7fafb6ae261b16af";
+        name = "builder_util___builder_util_22.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/builder-util/-/builder-util-22.10.4.tgz";
+        sha1 = "54e8be83dd0dec28073d866ff087cee8e7ce6cf6";
       };
     }
     {
@@ -1266,14 +1346,6 @@
       };
     }
     {
-      name = "chalk___chalk_3.0.0.tgz";
-      path = fetchurl {
-        name = "chalk___chalk_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz";
-        sha1 = "3f73c2bf526591f574cc492c51e2456349f844e4";
-      };
-    }
-    {
       name = "chalk___chalk_4.1.0.tgz";
       path = fetchurl {
         name = "chalk___chalk_4.1.0.tgz";
@@ -1330,6 +1402,14 @@
       };
     }
     {
+      name = "cli_truncate___cli_truncate_1.1.0.tgz";
+      path = fetchurl {
+        name = "cli_truncate___cli_truncate_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-1.1.0.tgz";
+        sha1 = "2b2dfd83c53cfd3572b87fc4d430a808afb04086";
+      };
+    }
+    {
       name = "cliui___cliui_6.0.0.tgz";
       path = fetchurl {
         name = "cliui___cliui_6.0.0.tgz";
@@ -1410,6 +1490,14 @@
       };
     }
     {
+      name = "colors___colors_1.0.3.tgz";
+      path = fetchurl {
+        name = "colors___colors_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz";
+        sha1 = "0433f44d809680fdeb60ed260f1b0c262e82a40b";
+      };
+    }
+    {
       name = "combined_stream___combined_stream_1.0.8.tgz";
       path = fetchurl {
         name = "combined_stream___combined_stream_1.0.8.tgz";
@@ -1418,6 +1506,22 @@
       };
     }
     {
+      name = "commander___commander_2.9.0.tgz";
+      path = fetchurl {
+        name = "commander___commander_2.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz";
+        sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
+      };
+    }
+    {
+      name = "commander___commander_5.1.0.tgz";
+      path = fetchurl {
+        name = "commander___commander_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz";
+        sha1 = "46abbd1652f8e059bddaef99bbdcb2ad9cf179ae";
+      };
+    }
+    {
       name = "component_emitter___component_emitter_1.3.0.tgz";
       path = fetchurl {
         name = "component_emitter___component_emitter_1.3.0.tgz";
@@ -1482,11 +1586,11 @@
       };
     }
     {
-      name = "core_js___core_js_3.8.1.tgz";
+      name = "core_js___core_js_3.8.3.tgz";
       path = fetchurl {
-        name = "core_js___core_js_3.8.1.tgz";
-        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.8.1.tgz";
-        sha1 = "f51523668ac8a294d1285c3b9db44025fda66d47";
+        name = "core_js___core_js_3.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.8.3.tgz";
+        sha1 = "c21906e1f14f3689f93abcc6e26883550dd92dd0";
       };
     }
     {
@@ -1506,11 +1610,19 @@
       };
     }
     {
-      name = "crc32_stream___crc32_stream_4.0.1.tgz";
+      name = "crc32_stream___crc32_stream_4.0.2.tgz";
       path = fetchurl {
-        name = "crc32_stream___crc32_stream_4.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-4.0.1.tgz";
-        sha1 = "0f047d74041737f8a55e86837a1b826bd8ab0067";
+        name = "crc32_stream___crc32_stream_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-4.0.2.tgz";
+        sha1 = "c922ad22b38395abe9d3870f02fa8134ed709007";
+      };
+    }
+    {
+      name = "crc___crc_3.8.0.tgz";
+      path = fetchurl {
+        name = "crc___crc_3.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz";
+        sha1 = "ad60269c2c856f8c299e2c4cc0de4556914056c6";
       };
     }
     {
@@ -1562,11 +1674,11 @@
       };
     }
     {
-      name = "darkreader___darkreader_4.9.26.tgz";
+      name = "darkreader___darkreader_4.9.27.tgz";
       path = fetchurl {
-        name = "darkreader___darkreader_4.9.26.tgz";
-        url  = "https://registry.yarnpkg.com/darkreader/-/darkreader-4.9.26.tgz";
-        sha1 = "ad92139742f22fc406ae14d12ec6e5672a7eedde";
+        name = "darkreader___darkreader_4.9.27.tgz";
+        url  = "https://registry.yarnpkg.com/darkreader/-/darkreader-4.9.27.tgz";
+        sha1 = "69b641d6a3c22b07fb0424406dfd9a3661b37197";
       };
     }
     {
@@ -1602,6 +1714,14 @@
       };
     }
     {
+      name = "debug___debug_4.3.2.tgz";
+      path = fetchurl {
+        name = "debug___debug_4.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz";
+        sha1 = "f0a49c18ac8779e31d4a0c6029dfb76873c7428b";
+      };
+    }
+    {
       name = "decamelize___decamelize_1.2.0.tgz";
       path = fetchurl {
         name = "decamelize___decamelize_1.2.0.tgz";
@@ -1730,11 +1850,27 @@
       };
     }
     {
-      name = "dmg_builder___dmg_builder_22.9.1.tgz";
+      name = "dir_compare___dir_compare_2.4.0.tgz";
+      path = fetchurl {
+        name = "dir_compare___dir_compare_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/dir-compare/-/dir-compare-2.4.0.tgz";
+        sha1 = "785c41dc5f645b34343a4eafc50b79bac7f11631";
+      };
+    }
+    {
+      name = "dmg_builder___dmg_builder_22.10.4.tgz";
+      path = fetchurl {
+        name = "dmg_builder___dmg_builder_22.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.10.4.tgz";
+        sha1 = "8dab30754346791eb728091359558fd4a8dbb45f";
+      };
+    }
+    {
+      name = "dmg_license___dmg_license_1.0.8.tgz";
       path = fetchurl {
-        name = "dmg_builder___dmg_builder_22.9.1.tgz";
-        url  = "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.9.1.tgz";
-        sha1 = "64647224f37ee47fc9bd01947c21cc010a30511f";
+        name = "dmg_license___dmg_license_1.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.8.tgz";
+        sha1 = "d52e234815f1a07a59706e5f2a2fea71991cf784";
       };
     }
     {
@@ -1794,35 +1930,35 @@
       };
     }
     {
-      name = "ejs___ejs_3.1.5.tgz";
+      name = "ejs___ejs_3.1.6.tgz";
       path = fetchurl {
-        name = "ejs___ejs_3.1.5.tgz";
-        url  = "https://registry.yarnpkg.com/ejs/-/ejs-3.1.5.tgz";
-        sha1 = "aed723844dc20acb4b170cd9ab1017e476a0d93b";
+        name = "ejs___ejs_3.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz";
+        sha1 = "5bfd0a0689743bb5268b3550cceeebbc1702822a";
       };
     }
     {
-      name = "electron_builder___electron_builder_22.9.1.tgz";
+      name = "electron_builder___electron_builder_22.10.4.tgz";
       path = fetchurl {
-        name = "electron_builder___electron_builder_22.9.1.tgz";
-        url  = "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.9.1.tgz";
-        sha1 = "a2962db6f2757bc01d02489f38fafe0809f68f60";
+        name = "electron_builder___electron_builder_22.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.10.4.tgz";
+        sha1 = "e1f400cf41ebb632fbf79aa86c5e0ab1ea1ed7e5";
       };
     }
     {
-      name = "electron_publish___electron_publish_22.9.1.tgz";
+      name = "electron_publish___electron_publish_22.10.4.tgz";
       path = fetchurl {
-        name = "electron_publish___electron_publish_22.9.1.tgz";
-        url  = "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.9.1.tgz";
-        sha1 = "7cc76ac4cc53efd29ee31c1e5facb9724329068e";
+        name = "electron_publish___electron_publish_22.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.10.4.tgz";
+        sha1 = "944b00aa6a7746c31ce900ffd8106d243326dca8";
       };
     }
     {
-      name = "electron___electron_11.1.0.tgz";
+      name = "electron___electron_11.2.3.tgz";
       path = fetchurl {
-        name = "electron___electron_11.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/electron/-/electron-11.1.0.tgz";
-        sha1 = "8dfdf579d1eb79feef3e3d2937fc022e72129c90";
+        name = "electron___electron_11.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/electron/-/electron-11.2.3.tgz";
+        sha1 = "8ad1d9858436cfca0e2e5ea7fea326794ae58ebb";
       };
     }
     {
@@ -1978,11 +2114,11 @@
       };
     }
     {
-      name = "eslint___eslint_7.15.0.tgz";
+      name = "eslint___eslint_7.20.0.tgz";
       path = fetchurl {
-        name = "eslint___eslint_7.15.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint/-/eslint-7.15.0.tgz";
-        sha1 = "eb155fb8ed0865fcf5d903f76be2e5b6cd7e0bc7";
+        name = "eslint___eslint_7.20.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint/-/eslint-7.20.0.tgz";
+        sha1 = "db07c4ca4eda2e2316e7aa57ac7fc91ec550bdc7";
       };
     }
     {
@@ -2002,11 +2138,11 @@
       };
     }
     {
-      name = "esquery___esquery_1.3.1.tgz";
+      name = "esquery___esquery_1.4.0.tgz";
       path = fetchurl {
-        name = "esquery___esquery_1.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz";
-        sha1 = "b78b5828aa8e214e29fb74c4d5b752e1c033da57";
+        name = "esquery___esquery_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz";
+        sha1 = "2148ffc38b82e8c7057dfed48425b3e61f0f24a5";
       };
     }
     {
@@ -2202,11 +2338,11 @@
       };
     }
     {
-      name = "filelist___filelist_1.0.1.tgz";
+      name = "filelist___filelist_1.0.2.tgz";
       path = fetchurl {
-        name = "filelist___filelist_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/filelist/-/filelist-1.0.1.tgz";
-        sha1 = "f10d1a3ae86c1694808e8f20906f43d4c9132dbb";
+        name = "filelist___filelist_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz";
+        sha1 = "80202f21462d4d1c2e214119b1807c1bc0380e5b";
       };
     }
     {
@@ -2242,11 +2378,11 @@
       };
     }
     {
-      name = "flatted___flatted_3.1.0.tgz";
+      name = "flatted___flatted_3.1.1.tgz";
       path = fetchurl {
-        name = "flatted___flatted_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/flatted/-/flatted-3.1.0.tgz";
-        sha1 = "a5d06b4a8b01e3a63771daa5cb7a1903e2e57067";
+        name = "flatted___flatted_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz";
+        sha1 = "c4b489e80096d9df1dfc97c79871aea7c617c469";
       };
     }
     {
@@ -2298,11 +2434,11 @@
       };
     }
     {
-      name = "fs_extra___fs_extra_9.0.1.tgz";
+      name = "fs_extra___fs_extra_9.1.0.tgz";
       path = fetchurl {
-        name = "fs_extra___fs_extra_9.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz";
-        sha1 = "910da0062437ba4c39fedd863f1675ccfefcb9fc";
+        name = "fs_extra___fs_extra_9.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz";
+        sha1 = "5954460c764a8da2094ba3554bf839e6b9a7c86d";
       };
     }
     {
@@ -2314,11 +2450,11 @@
       };
     }
     {
-      name = "fsevents___fsevents_2.2.1.tgz";
+      name = "fsevents___fsevents_2.3.2.tgz";
       path = fetchurl {
-        name = "fsevents___fsevents_2.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.2.1.tgz";
-        sha1 = "1fb02ded2036a8ac288d507a65962bd87b97628d";
+        name = "fsevents___fsevents_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz";
+        sha1 = "8a526f78b8fdf4623b709e0b975c52c24c02fd1a";
       };
     }
     {
@@ -2418,11 +2554,11 @@
       };
     }
     {
-      name = "global_dirs___global_dirs_2.0.1.tgz";
+      name = "global_dirs___global_dirs_3.0.0.tgz";
       path = fetchurl {
-        name = "global_dirs___global_dirs_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.0.1.tgz";
-        sha1 = "acdf3bb6685bcd55cb35e8a052266569e9469201";
+        name = "global_dirs___global_dirs_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz";
+        sha1 = "70a76fe84ea315ab37b1f5576cbde7d48ef72686";
       };
     }
     {
@@ -2466,11 +2602,19 @@
       };
     }
     {
-      name = "graceful_fs___graceful_fs_4.2.4.tgz";
+      name = "graceful_fs___graceful_fs_4.2.6.tgz";
+      path = fetchurl {
+        name = "graceful_fs___graceful_fs_4.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz";
+        sha1 = "ff040b2b0853b23c3d31027523706f1885d76bee";
+      };
+    }
+    {
+      name = "graceful_readlink___graceful_readlink_1.0.1.tgz";
       path = fetchurl {
-        name = "graceful_fs___graceful_fs_4.2.4.tgz";
-        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz";
-        sha1 = "2256bde14d3632958c465ebc96dc467ca07a29fb";
+        name = "graceful_readlink___graceful_readlink_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
+        sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
       };
     }
     {
@@ -2570,11 +2714,11 @@
       };
     }
     {
-      name = "hosted_git_info___hosted_git_info_3.0.7.tgz";
+      name = "hosted_git_info___hosted_git_info_3.0.8.tgz";
       path = fetchurl {
-        name = "hosted_git_info___hosted_git_info_3.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.7.tgz";
-        sha1 = "a30727385ea85acfcee94e0aad9e368c792e036c";
+        name = "hosted_git_info___hosted_git_info_3.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz";
+        sha1 = "6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d";
       };
     }
     {
@@ -2626,6 +2770,14 @@
       };
     }
     {
+      name = "iconv_corefoundation___iconv_corefoundation_1.1.5.tgz";
+      path = fetchurl {
+        name = "iconv_corefoundation___iconv_corefoundation_1.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.5.tgz";
+        sha1 = "90596d444a579aeb109f5ca113f6bb665a41be2b";
+      };
+    }
+    {
       name = "iconv_lite___iconv_lite_0.4.24.tgz";
       path = fetchurl {
         name = "iconv_lite___iconv_lite_0.4.24.tgz";
@@ -2658,11 +2810,11 @@
       };
     }
     {
-      name = "import_fresh___import_fresh_3.2.2.tgz";
+      name = "import_fresh___import_fresh_3.3.0.tgz";
       path = fetchurl {
-        name = "import_fresh___import_fresh_3.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.2.tgz";
-        sha1 = "fc129c160c5d68235507f4331a6baad186bdbc3e";
+        name = "import_fresh___import_fresh_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz";
+        sha1 = "37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b";
       };
     }
     {
@@ -2706,6 +2858,14 @@
       };
     }
     {
+      name = "ini___ini_2.0.0.tgz";
+      path = fetchurl {
+        name = "ini___ini_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz";
+        sha1 = "e5fd556ecdd5726be978fa1001862eacb0a94bc5";
+      };
+    }
+    {
       name = "ini___ini_1.3.8.tgz";
       path = fetchurl {
         name = "ini___ini_1.3.8.tgz";
@@ -2866,19 +3026,19 @@
       };
     }
     {
-      name = "is_installed_globally___is_installed_globally_0.3.2.tgz";
+      name = "is_installed_globally___is_installed_globally_0.4.0.tgz";
       path = fetchurl {
-        name = "is_installed_globally___is_installed_globally_0.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz";
-        sha1 = "fd3efa79ee670d1187233182d5b0a1dd00313141";
+        name = "is_installed_globally___is_installed_globally_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz";
+        sha1 = "9a0fd407949c30f86eb6959ef1b7994ed0b7b520";
       };
     }
     {
-      name = "is_npm___is_npm_4.0.0.tgz";
+      name = "is_npm___is_npm_5.0.0.tgz";
       path = fetchurl {
-        name = "is_npm___is_npm_4.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz";
-        sha1 = "c90dd8380696df87a7a6d823c20d0b12bbe3c84d";
+        name = "is_npm___is_npm_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz";
+        sha1 = "43e8d65cc56e1b67f8d47262cf667099193f45a8";
       };
     }
     {
@@ -3370,6 +3530,14 @@
       };
     }
     {
+      name = "json_schema_traverse___json_schema_traverse_1.0.0.tgz";
+      path = fetchurl {
+        name = "json_schema_traverse___json_schema_traverse_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz";
+        sha1 = "ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2";
+      };
+    }
+    {
       name = "json_schema___json_schema_0.2.3.tgz";
       path = fetchurl {
         name = "json_schema___json_schema_0.2.3.tgz";
@@ -3394,11 +3562,11 @@
       };
     }
     {
-      name = "json5___json5_2.1.3.tgz";
+      name = "json5___json5_2.2.0.tgz";
       path = fetchurl {
-        name = "json5___json5_2.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz";
-        sha1 = "c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43";
+        name = "json5___json5_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz";
+        sha1 = "2dfefe720c6ba525d9ebd909950f0515316c89a3";
       };
     }
     {
@@ -3682,27 +3850,27 @@
       };
     }
     {
-      name = "mime_db___mime_db_1.44.0.tgz";
+      name = "mime_db___mime_db_1.45.0.tgz";
       path = fetchurl {
-        name = "mime_db___mime_db_1.44.0.tgz";
-        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz";
-        sha1 = "fa11c5eb0aca1334b4233cb4d52f10c5a6272f92";
+        name = "mime_db___mime_db_1.45.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz";
+        sha1 = "cceeda21ccd7c3a745eba2decd55d4b73e7879ea";
       };
     }
     {
-      name = "mime_types___mime_types_2.1.27.tgz";
+      name = "mime_types___mime_types_2.1.28.tgz";
       path = fetchurl {
-        name = "mime_types___mime_types_2.1.27.tgz";
-        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz";
-        sha1 = "47949f98e279ea53119f5722e0f34e529bec009f";
+        name = "mime_types___mime_types_2.1.28.tgz";
+        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.28.tgz";
+        sha1 = "1160c4757eab2c5363888e005273ecf79d2a0ecd";
       };
     }
     {
-      name = "mime___mime_2.4.6.tgz";
+      name = "mime___mime_2.5.0.tgz";
       path = fetchurl {
-        name = "mime___mime_2.4.6.tgz";
-        url  = "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz";
-        sha1 = "e5b407c90db442f2beb5b162373d07b69affa4d1";
+        name = "mime___mime_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime/-/mime-2.5.0.tgz";
+        sha1 = "2b4af934401779806ee98026bb42e8c1ae1876b1";
       };
     }
     {
@@ -3794,6 +3962,14 @@
       };
     }
     {
+      name = "node_addon_api___node_addon_api_1.7.2.tgz";
+      path = fetchurl {
+        name = "node_addon_api___node_addon_api_1.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz";
+        sha1 = "3df30b95720b53c24e59948b49532b662444f54d";
+      };
+    }
+    {
       name = "node_int64___node_int64_0.4.0.tgz";
       path = fetchurl {
         name = "node_int64___node_int64_0.4.0.tgz";
@@ -3810,11 +3986,11 @@
       };
     }
     {
-      name = "node_notifier___node_notifier_8.0.0.tgz";
+      name = "node_notifier___node_notifier_8.0.1.tgz";
       path = fetchurl {
-        name = "node_notifier___node_notifier_8.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.0.tgz";
-        sha1 = "a7eee2d51da6d0f7ff5094bc7108c911240c1620";
+        name = "node_notifier___node_notifier_8.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.1.tgz";
+        sha1 = "f86e89bbc925f2b068784b31f382afdc6ca56be1";
       };
     }
     {
@@ -3826,6 +4002,14 @@
       };
     }
     {
+      name = "normalize_package_data___normalize_package_data_3.0.0.tgz";
+      path = fetchurl {
+        name = "normalize_package_data___normalize_package_data_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.0.tgz";
+        sha1 = "1f8a7c423b3d2e85eb36985eaf81de381d01301a";
+      };
+    }
+    {
       name = "normalize_path___normalize_path_2.1.1.tgz";
       path = fetchurl {
         name = "normalize_path___normalize_path_2.1.1.tgz";
@@ -4018,11 +4202,11 @@
       };
     }
     {
-      name = "parse_json___parse_json_5.1.0.tgz";
+      name = "parse_json___parse_json_5.2.0.tgz";
       path = fetchurl {
-        name = "parse_json___parse_json_5.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz";
-        sha1 = "f96088cdf24a8faa9aea9a009f2d9d942c999646";
+        name = "parse_json___parse_json_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz";
+        sha1 = "c76fc66dee54231c962b22bcc8a72cf2f99753cd";
       };
     }
     {
@@ -4130,6 +4314,14 @@
       };
     }
     {
+      name = "plist___plist_3.0.1.tgz";
+      path = fetchurl {
+        name = "plist___plist_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/plist/-/plist-3.0.1.tgz";
+        sha1 = "a9b931d17c304e8912ef0ba3bdd6182baf2e1f8c";
+      };
+    }
+    {
       name = "posix_character_classes___posix_character_classes_0.1.1.tgz";
       path = fetchurl {
         name = "posix_character_classes___posix_character_classes_0.1.1.tgz";
@@ -4402,6 +4594,14 @@
       };
     }
     {
+      name = "require_from_string___require_from_string_2.0.2.tgz";
+      path = fetchurl {
+        name = "require_from_string___require_from_string_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz";
+        sha1 = "89a7fdd938261267318eafe14f9c32e598c36909";
+      };
+    }
+    {
       name = "require_main_filename___require_main_filename_2.0.0.tgz";
       path = fetchurl {
         name = "require_main_filename___require_main_filename_2.0.0.tgz";
@@ -4442,11 +4642,11 @@
       };
     }
     {
-      name = "resolve___resolve_1.19.0.tgz";
+      name = "resolve___resolve_1.20.0.tgz";
       path = fetchurl {
-        name = "resolve___resolve_1.19.0.tgz";
-        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz";
-        sha1 = "1af5bf630409734a067cae29318aac7fa29a267c";
+        name = "resolve___resolve_1.20.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz";
+        sha1 = "629a013fb3f70755d6f0b7935cc1c2c5378b1975";
       };
     }
     {
@@ -4682,11 +4882,27 @@
       };
     }
     {
-      name = "slice_ansi___slice_ansi_2.1.0.tgz";
+      name = "slice_ansi___slice_ansi_1.0.0.tgz";
+      path = fetchurl {
+        name = "slice_ansi___slice_ansi_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz";
+        sha1 = "044f1a49d8842ff307aad6b505ed178bd950134d";
+      };
+    }
+    {
+      name = "slice_ansi___slice_ansi_4.0.0.tgz";
+      path = fetchurl {
+        name = "slice_ansi___slice_ansi_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz";
+        sha1 = "500e8dd0fd55b05815086255b3195adf2a45fe6b";
+      };
+    }
+    {
+      name = "smart_buffer___smart_buffer_4.1.0.tgz";
       path = fetchurl {
-        name = "slice_ansi___slice_ansi_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz";
-        sha1 = "cacd7693461a637a5788d92a7dd4fba068e81636";
+        name = "smart_buffer___smart_buffer_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.1.0.tgz";
+        sha1 = "91605c25d91652f4661ea69ccf45f1b331ca21ba";
       };
     }
     {
@@ -4730,11 +4946,11 @@
       };
     }
     {
-      name = "source_map_url___source_map_url_0.4.0.tgz";
+      name = "source_map_url___source_map_url_0.4.1.tgz";
       path = fetchurl {
-        name = "source_map_url___source_map_url_0.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz";
-        sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3";
+        name = "source_map_url___source_map_url_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz";
+        sha1 = "0af66605a745a5a2f91cf1bbf8a7afbc283dec56";
       };
     }
     {
@@ -4866,6 +5082,14 @@
       };
     }
     {
+      name = "string_width___string_width_2.1.1.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz";
+        sha1 = "ab93f27a8dc13d28cac815c462143a6d9012ae9e";
+      };
+    }
+    {
       name = "string_width___string_width_3.1.0.tgz";
       path = fetchurl {
         name = "string_width___string_width_3.1.0.tgz";
@@ -4898,6 +5122,14 @@
       };
     }
     {
+      name = "strip_ansi___strip_ansi_4.0.0.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz";
+        sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
+      };
+    }
+    {
       name = "strip_ansi___strip_ansi_5.2.0.tgz";
       path = fetchurl {
         name = "strip_ansi___strip_ansi_5.2.0.tgz";
@@ -4994,19 +5226,19 @@
       };
     }
     {
-      name = "table___table_5.4.6.tgz";
+      name = "table___table_6.0.7.tgz";
       path = fetchurl {
-        name = "table___table_5.4.6.tgz";
-        url  = "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz";
-        sha1 = "1292d19500ce3f86053b05f0e8e7e4a3bb21079e";
+        name = "table___table_6.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/table/-/table-6.0.7.tgz";
+        sha1 = "e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34";
       };
     }
     {
-      name = "tar_stream___tar_stream_2.1.4.tgz";
+      name = "tar_stream___tar_stream_2.2.0.tgz";
       path = fetchurl {
-        name = "tar_stream___tar_stream_2.1.4.tgz";
-        url  = "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.4.tgz";
-        sha1 = "c4fb1a11eb0da29b893a5b25476397ba2d053bfa";
+        name = "tar_stream___tar_stream_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz";
+        sha1 = "acad84c284136b060dc3faa64474aa9aebd77287";
       };
     }
     {
@@ -5018,14 +5250,6 @@
       };
     }
     {
-      name = "term_size___term_size_2.2.1.tgz";
-      path = fetchurl {
-        name = "term_size___term_size_2.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz";
-        sha1 = "2a6a54840432c2fb6320fea0f415531e90189f54";
-      };
-    }
-    {
       name = "terminal_link___terminal_link_2.1.1.tgz";
       path = fetchurl {
         name = "terminal_link___terminal_link_2.1.1.tgz";
@@ -5058,19 +5282,19 @@
       };
     }
     {
-      name = "tldts_core___tldts_core_5.6.64.tgz";
+      name = "tldts_core___tldts_core_5.7.6.tgz";
       path = fetchurl {
-        name = "tldts_core___tldts_core_5.6.64.tgz";
-        url  = "https://registry.yarnpkg.com/tldts-core/-/tldts-core-5.6.64.tgz";
-        sha1 = "0f80d0c9607d7583acc477a10dae7e62e7c08063";
+        name = "tldts_core___tldts_core_5.7.6.tgz";
+        url  = "https://registry.yarnpkg.com/tldts-core/-/tldts-core-5.7.6.tgz";
+        sha1 = "af99b4ab79761dfa6c44d1d61a3f76bb5c3def8b";
       };
     }
     {
-      name = "tldts_experimental___tldts_experimental_5.6.64.tgz";
+      name = "tldts_experimental___tldts_experimental_5.7.6.tgz";
       path = fetchurl {
-        name = "tldts_experimental___tldts_experimental_5.6.64.tgz";
-        url  = "https://registry.yarnpkg.com/tldts-experimental/-/tldts-experimental-5.6.64.tgz";
-        sha1 = "f867449964d94c6a17a499335658f42a9fbdc7d3";
+        name = "tldts_experimental___tldts_experimental_5.7.6.tgz";
+        url  = "https://registry.yarnpkg.com/tldts-experimental/-/tldts-experimental-5.7.6.tgz";
+        sha1 = "10c255872af89ab68659c3a345c7a65015920024";
       };
     }
     {
@@ -5226,6 +5450,14 @@
       };
     }
     {
+      name = "type_fest___type_fest_0.20.2.tgz";
+      path = fetchurl {
+        name = "type_fest___type_fest_0.20.2.tgz";
+        url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz";
+        sha1 = "1bf207f4b28f91583666cb5fbd327887301cd5f4";
+      };
+    }
+    {
       name = "type_fest___type_fest_0.6.0.tgz";
       path = fetchurl {
         name = "type_fest___type_fest_0.6.0.tgz";
@@ -5282,14 +5514,6 @@
       };
     }
     {
-      name = "universalify___universalify_1.0.0.tgz";
-      path = fetchurl {
-        name = "universalify___universalify_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz";
-        sha1 = "b61a1da173e8435b2fe3c67d29b9adf8594bd16d";
-      };
-    }
-    {
       name = "universalify___universalify_2.0.0.tgz";
       path = fetchurl {
         name = "universalify___universalify_2.0.0.tgz";
@@ -5306,19 +5530,19 @@
       };
     }
     {
-      name = "update_notifier___update_notifier_4.1.3.tgz";
+      name = "update_notifier___update_notifier_5.1.0.tgz";
       path = fetchurl {
-        name = "update_notifier___update_notifier_4.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.3.tgz";
-        sha1 = "be86ee13e8ce48fb50043ff72057b5bd598e1ea3";
+        name = "update_notifier___update_notifier_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz";
+        sha1 = "4ab0d7c7f36a231dd7316cf7729313f0214d9ad9";
       };
     }
     {
-      name = "uri_js___uri_js_4.4.0.tgz";
+      name = "uri_js___uri_js_4.4.1.tgz";
       path = fetchurl {
-        name = "uri_js___uri_js_4.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz";
-        sha1 = "aa714261de793e8a82347a7bcc9ce74e86f28602";
+        name = "uri_js___uri_js_4.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz";
+        sha1 = "9b1a52595225859e55f669d928f88c6c57f2a77e";
       };
     }
     {
@@ -5386,11 +5610,11 @@
       };
     }
     {
-      name = "v8_to_istanbul___v8_to_istanbul_7.0.0.tgz";
+      name = "v8_to_istanbul___v8_to_istanbul_7.1.0.tgz";
       path = fetchurl {
-        name = "v8_to_istanbul___v8_to_istanbul_7.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.0.0.tgz";
-        sha1 = "b4fe00e35649ef7785a9b7fcebcea05f37c332fc";
+        name = "v8_to_istanbul___v8_to_istanbul_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz";
+        sha1 = "5b95cef45c0f83217ec79f8fc7ee1c8b486aee07";
       };
     }
     {
@@ -5546,11 +5770,11 @@
       };
     }
     {
-      name = "ws___ws_7.4.1.tgz";
+      name = "ws___ws_7.4.3.tgz";
       path = fetchurl {
-        name = "ws___ws_7.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/ws/-/ws-7.4.1.tgz";
-        sha1 = "a333be02696bd0e54cea0434e21dcc8a9ac294bb";
+        name = "ws___ws_7.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-7.4.3.tgz";
+        sha1 = "1f9643de34a543b8edb124bdcbc457ae55a6e5cd";
       };
     }
     {
@@ -5570,6 +5794,22 @@
       };
     }
     {
+      name = "xmlbuilder___xmlbuilder_15.1.1.tgz";
+      path = fetchurl {
+        name = "xmlbuilder___xmlbuilder_15.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz";
+        sha1 = "9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5";
+      };
+    }
+    {
+      name = "xmlbuilder___xmlbuilder_9.0.7.tgz";
+      path = fetchurl {
+        name = "xmlbuilder___xmlbuilder_9.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz";
+        sha1 = "132ee63d2ec5565c557e20f4c22df9aca686b10d";
+      };
+    }
+    {
       name = "xmlchars___xmlchars_2.2.0.tgz";
       path = fetchurl {
         name = "xmlchars___xmlchars_2.2.0.tgz";
@@ -5578,6 +5818,14 @@
       };
     }
     {
+      name = "xmldom___xmldom_0.1.31.tgz";
+      path = fetchurl {
+        name = "xmldom___xmldom_0.1.31.tgz";
+        url  = "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.31.tgz";
+        sha1 = "b76c9a1bd9f0a9737e5a72dc37231cf38375e2ff";
+      };
+    }
+    {
       name = "y18n___y18n_4.0.1.tgz";
       path = fetchurl {
         name = "y18n___y18n_4.0.1.tgz";
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index 2fe27c16720d7..57a4155e179e9 100644
--- a/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -18,11 +18,11 @@ let
   vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
 in stdenv.mkDerivation rec {
   pname = "vivaldi";
-  version = "3.5.2115.87-1";
+  version = "3.6.2165.36-1";
 
   src = fetchurl {
     url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
-    sha256 = "0m0w2sj6kdd2b67f3kfcf4qyyxhqnmi2qzjwmqpmns9a485s6bn0";
+    sha256 = "1wgxzggy5sg98k4lzd34k4hyw2jgc14db41z7s7j3c5whlnifh08";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/networking/calls/default.nix b/pkgs/applications/networking/calls/default.nix
index 01797397f4ef2..fcd27eceaa840 100644
--- a/pkgs/applications/networking/calls/default.nix
+++ b/pkgs/applications/networking/calls/default.nix
@@ -19,9 +19,7 @@
 , dbus
 , vala
 , wrapGAppsHook
-, xorg
 , xvfb_run
-, libxml2
 }:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/applications/networking/charles/default.nix b/pkgs/applications/networking/charles/default.nix
index 03d1911333e33..1dd0b408a138c 100644
--- a/pkgs/applications/networking/charles/default.nix
+++ b/pkgs/applications/networking/charles/default.nix
@@ -28,7 +28,7 @@ let
         url = "https://www.charlesproxy.com/assets/release/${version}/charles-proxy-${version}.tar.gz";
         inherit sha256;
       };
-      buildInputs = [ makeWrapper ];
+      nativeBuildInputs = [ makeWrapper ];
 
       installPhase = ''
         makeWrapper ${jdk8.jre}/bin/java $out/bin/charles \
diff --git a/pkgs/applications/networking/cloudflared/default.nix b/pkgs/applications/networking/cloudflared/default.nix
index 810ea11b017bf..6b1df1acf5adc 100644
--- a/pkgs/applications/networking/cloudflared/default.nix
+++ b/pkgs/applications/networking/cloudflared/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cloudflared";
-  version = "2021.1.5";
+  version = "2021.2.1";
 
   src = fetchFromGitHub {
     owner  = "cloudflare";
     repo   = "cloudflared";
     rev    = version;
-    sha256 = "sha256-nknRQdlYVfqCi9SMVTak615Yn/9N99+zHITDKL5nZ00=";
+    sha256 = "sha256-kmlyj6Q+OAJ0cKMeWxajPDBm99WpRf+Gpvc+Jy79DCo=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/argo/default.nix b/pkgs/applications/networking/cluster/argo/default.nix
index eaa3821f6633e..effd1eae49043 100644
--- a/pkgs/applications/networking/cluster/argo/default.nix
+++ b/pkgs/applications/networking/cluster/argo/default.nix
@@ -19,16 +19,16 @@ let
 in
 buildGoModule rec {
   pname = "argo";
-  version = "2.12.6";
+  version = "2.12.9";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo";
     rev = "v${version}";
-    sha256 = "sha256-28vePb/2CsDLNFYMqtsoptAaOgh4YdPSHzGTO+HLGLs=";
+    sha256 = "sha256-WfyP48qOdFZfQ0+8AZDYokw7WK7lSx5di7z07gsRPZk=";
   };
 
-  vendorSha256 = "sha256-CcSR2TZldeAbBE0yTR+4oa8mDCIx33pu9h8NE1LkRFQ=";
+  vendorSha256 = "sha256-4XPMixVNj6PUKobNLwpsOBT7Zs/7pkhDtQacLIB5EfE=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/argocd/default.nix b/pkgs/applications/networking/cluster/argocd/default.nix
index c3e9a774fa903..f1c98e0ed84cb 100644
--- a/pkgs/applications/networking/cluster/argocd/default.nix
+++ b/pkgs/applications/networking/cluster/argocd/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "argocd";
-  version = "1.8.3";
-  commit = "ef5010c3a0b5e027fd642732d03c5b0391b1e574";
+  version = "1.8.6";
+  commit = "28aea3dfdede00443b52cc584814d80e8f896200";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo-cd";
     rev = "v${version}";
-    sha256 = "sha256-do5DAxaQ1gBdvNN/YGKAkmkFcJ+j/ojBaWPwrXXQko0=";
+    sha256 = "sha256-kJ3/1owK5T+FbcvjmK2CO+i/KwmVZRSGzF6fCt8J9E8=";
   };
 
-  vendorSha256 = "sha256-6DOay+aeXz7EQKe5SzQSmg/5KyUI0g6wzPgx/+F2RW4=";
+  vendorSha256 = "sha256-rZ/ox180h9scocheYtMmKkoHY2/jH+I++vYX8R0fdlA=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/atlantis/default.nix b/pkgs/applications/networking/cluster/atlantis/default.nix
index 728e23ff380f7..dcb6b823667ee 100644
--- a/pkgs/applications/networking/cluster/atlantis/default.nix
+++ b/pkgs/applications/networking/cluster/atlantis/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "atlantis";
-  version = "0.16.0";
+  version = "0.16.1";
 
   src = fetchFromGitHub {
     owner = "runatlantis";
     repo = "atlantis";
     rev = "v${version}";
-    sha256 = "sha256-1sak6CaqFhiBIoaa7kERXLHsgn24oMgBlOJaQDuF61E=";
+    sha256 = "sha256-D549pInoK8ispgcn8LYdix19Hp7wO6w2/d2Y1L/9Px8=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/development/tools/cloudfoundry-cli/default.nix b/pkgs/applications/networking/cluster/cloudfoundry-cli/default.nix
index 4d7e226463fda..de032cc60e991 100644
--- a/pkgs/development/tools/cloudfoundry-cli/default.nix
+++ b/pkgs/applications/networking/cluster/cloudfoundry-cli/default.nix
@@ -1,19 +1,20 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub, fetchurl, installShellFiles }:
+{ lib, stdenv, buildGoModule, fetchFromGitHub, fetchurl, installShellFiles }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "cloudfoundry-cli";
-  version = "7.0.1";
-
-  goPackagePath = "code.cloudfoundry.org/cli";
-
-  subPackages = [ "." ];
+  version = "7.2.0";
 
   src = fetchFromGitHub {
     owner = "cloudfoundry";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "0jh4x7xlijp1naak5qyc256zkzlrczl6g4iz94s8wx2zj7np0q5l";
+    sha256 = "0cf5vshyz6j70sv7x43r1404hdcmkzxgdb7514kjilp5z6wsr1nv";
   };
+  # vendor directory stale
+  deleteVendor = true;
+  vendorSha256 = "0p0s0dr7kpmmnim4fps62vj4zki2qxxdq5ww0fzrf1372xbl4kp2";
+
+  subPackages = [ "." ];
 
   # upstream have helpfully moved the bash completion script to a separate
   # repo which receives no releases or even tags
@@ -24,24 +25,16 @@ buildGoPackage rec {
 
   nativeBuildInputs = [ installShellFiles ];
 
-  makeTarget = let hps = stdenv.hostPlatform.system; in
-    if hps == "x86_64-darwin" then
-      "out/cf-cli_osx"
-    else if hps == "x86_64-linux" then
-      "out/cf-cli_linux_x86-64"
-    else if hps == "i686-linux" then
-      "out/cf-cli_linux_i686"
-    else
-      throw "make target for this platform unknown";
-
-  buildPhase = ''
-    cd go/src/${goPackagePath}
-    CF_BUILD_DATE="1970-01-01" make $makeTarget
-    cp $makeTarget out/cf
-  '';
+  buildFlagsArray = [
+    "-ldflags="
+    "-s"
+    "-w"
+    "-X code.cloudfoundry.org/cli/version.binaryBuildDate=1970-01-01"
+    "-X code.cloudfoundry.org/cli/version.binaryVersion=${version}"
+  ];
 
-  installPhase = ''
-    install -Dm555 out/cf "$out/bin/cf"
+  postInstall = ''
+    mv "$out/bin/cli" "$out/bin/cf"
     installShellCompletion --bash $bashCompletionScript
   '';
 
@@ -50,6 +43,5 @@ buildGoPackage rec {
     homepage = "https://github.com/cloudfoundry/cli";
     maintainers = with maintainers; [ ris ];
     license = licenses.asl20;
-    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/cni/plugins.nix b/pkgs/applications/networking/cluster/cni/plugins.nix
index e018422050459..8fc667e3391cc 100644
--- a/pkgs/applications/networking/cluster/cni/plugins.nix
+++ b/pkgs/applications/networking/cluster/cni/plugins.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cni-plugins";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "containernetworking";
     repo = "plugins";
     rev = "v${version}";
-    sha256 = "1nkaspz96yglq1fr8a3xr39qmbs98pk7qpqav3cfd82qwbq7vs06";
+    sha256 = "sha256-n+OtFXgFmW0xsGEtC6ua0qjdsJSbEjn08mAl5Z51Kp8=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/fluxcd/default.nix b/pkgs/applications/networking/cluster/fluxcd/default.nix
index ef33a4b0f84a7..d82c6b45742d1 100644
--- a/pkgs/applications/networking/cluster/fluxcd/default.nix
+++ b/pkgs/applications/networking/cluster/fluxcd/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fluxcd";
-  version = "0.7.3";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "fluxcd";
     repo = "flux2";
     rev = "v${version}";
-    sha256 = "1y586704xckhyyqmmgq4g6csnf9iqi7xb2vqv5sqyz96ik3kg9vy";
+    sha256 = "1yrjgjagh7jfzgvnj9wr71mk34x7yf66fwyby73f1pfi2cg49nhp";
   };
 
-  vendorSha256 = "1kyj65fc2q1sc4aiy87i2wzf7kqybjf08mmmw0ajcxszcr0mcadb";
+  vendorSha256 = "0acxbmc4j1fcdja0s9g04f0kd34x54yfqismibfi40m2gzbg6ljr";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/fluxctl/default.nix b/pkgs/applications/networking/cluster/fluxctl/default.nix
index 4a8f42e3cc7e8..e0ae7636f6042 100644
--- a/pkgs/applications/networking/cluster/fluxctl/default.nix
+++ b/pkgs/applications/networking/cluster/fluxctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fluxctl";
-  version = "1.21.1";
+  version = "1.21.2";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = "flux";
     rev = version;
-    sha256 = "sha256-/go8V1EjY/iL3csoNpPyeWORvWCf0WnnaSOgiZ8UFQ8=";
+    sha256 = "sha256-pI/LGAjTWFXiDKSV+dZl0wXK/TZmN9DuWf5Nu8EYNYc=";
   };
 
-  vendorSha256 = "sha256-GEU0Q2Elhiel20xvup+i1DSXCjQdA9s7cWykcbKR5KA=";
+  vendorSha256 = "sha256-Q8gIhJSZqdjBXrIcJfCd25BniDScwVzUwZ9Vc8p/z3c=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/hadoop/default.nix b/pkgs/applications/networking/cluster/hadoop/default.nix
index 4f3dfcfc03f75..659e8ee417015 100644
--- a/pkgs/applications/networking/cluster/hadoop/default.nix
+++ b/pkgs/applications/networking/cluster/hadoop/default.nix
@@ -1,9 +1,12 @@
-{ lib, stdenv, fetchurl, makeWrapper, pkg-config, which, maven, cmake, jre, bash
+{ lib, stdenv, fetchurl, makeWrapper, pkg-config, which, maven, cmake, jre, jdk8, bash
 , coreutils, glibc, protobuf2_5, fuse, snappy, zlib, bzip2, openssl, openssl_1_0_2
 }:
 
 let
-  common = { version, sha256, dependencies-sha256, tomcat, opensslPkg ? openssl }:
+  maven-jdk8 = maven.override {
+    jdk = jdk8;
+  };
+  common = { version, sha256, dependencies-sha256, maven, tomcat, opensslPkg ? openssl }:
     let
       # compile the hadoop tarball from sources, it requires some patches
       binary-distributon = stdenv.mkDerivation rec {
@@ -131,6 +134,7 @@ in {
     dependencies-sha256 = "1lsr9nvrynzspxqcamb10d596zlnmnfpxhkd884gdiva0frm0b1r";
     tomcat = tomcat_6_0_48;
     opensslPkg = openssl_1_0_2;
+    maven = maven-jdk8;
   };
   hadoop_2_8 = common {
     version = "2.8.4";
@@ -138,6 +142,7 @@ in {
     dependencies-sha256 = "1j4f461487fydgr5978nnm245ksv4xbvskfr8pbmfhcyss6b7w03";
     tomcat = tomcat_6_0_48;
     opensslPkg = openssl_1_0_2;
+    maven = maven-jdk8;
   };
   hadoop_2_9 = common {
     version = "2.9.1";
@@ -145,17 +150,20 @@ in {
     dependencies-sha256 = "1d5i8jj5y746rrqb9lscycnd7acmxlkz64ydsiyqsh5cdqgy2x7x";
     tomcat = tomcat_6_0_48;
     opensslPkg = openssl_1_0_2;
+    maven = maven-jdk8;
   };
   hadoop_3_0 = common {
     version = "3.0.3";
     sha256 = "1vvkci0kx4b48dg0niifn2d3r4wwq8pb3c5z20wy8pqsqrqhlci5";
     dependencies-sha256 = "1kzkna9ywacm2m1cirj9cyip66bgqjhid2xf9rrhq6g10lhr8j9m";
     tomcat = null;
+    maven = maven-jdk8;
   };
   hadoop_3_1 = common {
     version = "3.1.1";
     sha256 = "04hhdbyd4x1hy0fpy537f8mi0864hww97zap29x7dk1smrffwabd";
     dependencies-sha256 = "1q63jsxg3d31x0p8hvhpvbly2b07almyzsbhwphbczl3fhlqgiwn";
     tomcat = null;
+    maven = maven-jdk8;
   };
 }
diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix
index d823e38f3f239..5da9e9220a808 100644
--- a/pkgs/applications/networking/cluster/helm/default.nix
+++ b/pkgs/applications/networking/cluster/helm/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "helm";
-  version = "3.4.2";
+  version = "3.5.2";
 
   src = fetchFromGitHub {
     owner = "helm";
     repo = "helm";
     rev = "v${version}";
-    sha256 = "17bb0f2w0qn6zq5isskckwqlscqig2d6pra3f7mfwilnckg1lj9s";
+    sha256 = "sha256-XFWJtzKQrZL6lcr8JNiEQ8ldG5289x5pE21E8XgoYkA=";
   };
-  vendorSha256 = "0ycp0i26rf3c96i4nqcbh7rb6i6lk62hljcsgsjyggq3pj3gpb4x";
+  vendorSha256 = "sha256-mjWQxCCtTgj1VCFjnuJWgDjwMt/r4jiFC9Of+CXRgPg=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/helmfile/default.nix b/pkgs/applications/networking/cluster/helmfile/default.nix
index 8a571669c5781..72fcc2f9c35f4 100644
--- a/pkgs/applications/networking/cluster/helmfile/default.nix
+++ b/pkgs/applications/networking/cluster/helmfile/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "helmfile";
-  version = "0.138.1";
+  version = "0.138.4";
 
   src = fetchFromGitHub {
     owner = "roboll";
     repo = "helmfile";
     rev = "v${version}";
-    sha256 = "sha256-ZViDnV2b9od3yBfROBBZPsuFX8FH/rSO/epZtuCO1ps=";
+    sha256 = "sha256-Y0/0wC00s7QY7/B6igOoPKXv5TE2P8NoGd9UhfVmLOk=";
   };
 
-  vendorSha256 = "sha256-BWWmdKrxay0Qy5z+UFFZ3we5C7wI1KUHv6qHF4TPzJE=";
+  vendorSha256 = "sha256-WlV6moJymQ7VyZXXuViCNN1WP4NzBUszavxpKjQR8to=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/istioctl/default.nix b/pkgs/applications/networking/cluster/istioctl/default.nix
index 5f136fef80750..a7d99fc5bd59a 100644
--- a/pkgs/applications/networking/cluster/istioctl/default.nix
+++ b/pkgs/applications/networking/cluster/istioctl/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "istioctl";
-  version = "1.8.2";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "istio";
     repo = "istio";
     rev = version;
-    sha256 = "sha256-9mQYJvZU/Ra+LyzfDbWGfopkdGBD7DpS9/yvRvGHDKg=";
+    sha256 = "sha256-GfQjgtjFynYa8SfQyoGjsyXEv0XuaK8ZbTcMhQGkcTg=";
   };
-  vendorSha256 = "sha256-7LQY32hNXLxg/IUBbzzgb67yrbPGLCTNtmNvjE9tUno=";
+  vendorSha256 = "sha256-Xj9nC9ijLVmrSvgKq33yUyMO+RmeDkf7FKKCehP4GFE=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/k3s/default.nix b/pkgs/applications/networking/cluster/k3s/default.nix
index 5a7d953a06957..739992e6bc0b7 100644
--- a/pkgs/applications/networking/cluster/k3s/default.nix
+++ b/pkgs/applications/networking/cluster/k3s/default.nix
@@ -120,7 +120,7 @@ let
   # with generated bindata yet.
   k3sBuildStage1 = buildGoPackage rec {
     name = "k3s-build-1";
-    version = "${k3sVersion}";
+    version = k3sVersion;
 
     goPackagePath = "github.com/rancher/k3s";
 
@@ -160,7 +160,7 @@ let
   };
   k3sBin = buildGoPackage rec {
     name = "k3s-bin";
-    version = "${k3sVersion}";
+    version = k3sVersion;
 
     goPackagePath = "github.com/rancher/k3s";
 
diff --git a/pkgs/applications/networking/cluster/kube-capacity/default.nix b/pkgs/applications/networking/cluster/kube-capacity/default.nix
new file mode 100644
index 0000000000000..08dfa8bcdf085
--- /dev/null
+++ b/pkgs/applications/networking/cluster/kube-capacity/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kube-capacity";
+  version = "0.5.1";
+
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "robscott";
+    repo = pname;
+    sha256 = "127583hmpj04y522wir76a39frm6zg9z7mb4ny5lxxjqhn0q0cd5";
+  };
+
+  vendorSha256 = "sha256-EgLWZs282IV1euCUCc5ucf267E2Z7GF9SgoImiGvuVM=";
+
+  meta = with lib; {
+    description =
+      "A simple CLI that provides an overview of the resource requests, limits, and utilization in a Kubernetes cluster";
+    homepage = "https://github.com/robscott/kube-capacity";
+    changelog = "https://github.com/robscott/kube-capacity/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = [ maintainers.bryanasdev000 ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/kube-router/default.nix b/pkgs/applications/networking/cluster/kube-router/default.nix
index 8e20093f5b21b..586fc6cf806b5 100644
--- a/pkgs/applications/networking/cluster/kube-router/default.nix
+++ b/pkgs/applications/networking/cluster/kube-router/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "kube-router";
-  version = "1.1.0";
+  version = "1.1.1";
 
   goPackagePath = "github.com/cloudnativelabs/kube-router";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "cloudnativelabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0nsd371w667qhgiygxcg4kmynwldb0pbip6x03rc7j854hg8l7k0";
+    sha256 = "sha256-U7vjWtVXmyEPYFS1fAPOgV3WILGPhWsmoawV7B0pZaE=";
   };
 
   buildFlagsArray = ''
diff --git a/pkgs/applications/networking/cluster/kube3d/default.nix b/pkgs/applications/networking/cluster/kube3d/default.nix
index cc90cf2d63c54..5bfceefad5a52 100644
--- a/pkgs/applications/networking/cluster/kube3d/default.nix
+++ b/pkgs/applications/networking/cluster/kube3d/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "kube3d";
-  version = "4.0.0";
+  version = "4.2.0";
 
   excludedPackages = "tools";
 
@@ -10,7 +10,7 @@ buildGoModule rec {
     owner = "rancher";
     repo = "k3d";
     rev = "v${version}";
-    sha256 = "sha256-sHtPW9EaTycHh9d/vp28BvzhmbLUQYsu6yMfJlJYH+k=";
+    sha256 = "sha256-R2RbQlceOD/uY3IdLLiM23gESh/oWnsiTWxHeH/Si18=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/kubectl-example/default.nix b/pkgs/applications/networking/cluster/kubectl-example/default.nix
new file mode 100644
index 0000000000000..04677cb4277f9
--- /dev/null
+++ b/pkgs/applications/networking/cluster/kubectl-example/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kubectl-example";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "seredot";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "18vp53cda93qjssxygwqp55yc80a93781839gf3138awngf731yq";
+  };
+
+  vendorSha256 = "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5";
+
+  meta = with lib; {
+    description = "kubectl plugin for retrieving resource example YAMLs";
+    homepage = "https://github.com/seredot/kubectl-example";
+    changelog = "https://github.com/seredot/kubectl-example/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = [ maintainers.bryanasdev000 ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/kubeseal/default.nix b/pkgs/applications/networking/cluster/kubeseal/default.nix
index f2071494f1687..cf0c84514270c 100644
--- a/pkgs/applications/networking/cluster/kubeseal/default.nix
+++ b/pkgs/applications/networking/cluster/kubeseal/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubeseal";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "bitnami-labs";
     repo = "sealed-secrets";
     rev = "v${version}";
-    sha256 = "sha256-sUeXzmgSOkpqzqrX9+wNGj2X7gcf5QSpavXK4MJe8qE=";
+    sha256 = "sha256-wzaNFM/4V2mWqhkqeT70ieQuhgNK79U2b7PhxKqn/X0=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/nerdctl/default.nix b/pkgs/applications/networking/cluster/nerdctl/default.nix
index 28f7b540722e0..b16d0448cadc4 100644
--- a/pkgs/applications/networking/cluster/nerdctl/default.nix
+++ b/pkgs/applications/networking/cluster/nerdctl/default.nix
@@ -4,26 +4,21 @@
 , makeWrapper
 , buildkit
 , cni-plugins
-, extraPackages ? []
+, extraPackages ? [ ]
 }:
 
-let
-  binPath = lib.makeBinPath ([
-    buildkit
-  ] ++ extraPackages);
-in
 buildGoModule rec {
   pname = "nerdctl";
-  version = "0.5.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "AkihiroSuda";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-lSvYiTh67gK9kJls7VsayV8T3H6RzFEEKe49BOWnUBw=";
+    sha256 = "sha256-zexvTPEQw7iW1d3ahHmqTn+UaT/bJMlr1sVlWErc2ck=";
   };
 
-  vendorSha256 = "sha256-qywiaNoO3pI7sfyPbwWR8BLd86RvJ2xSWwCJUsm3RkM=";
+  vendorSha256 = "sha256-bX1GfKbAbdEAnW3kPNsbF/cJWufxvuhm//G88qJ3u08=";
 
   nativeBuildInputs = [ makeWrapper ];
 
@@ -35,17 +30,33 @@ buildGoModule rec {
     "-X github.com/AkihiroSuda/nerdctl/pkg/version.Revision=<unknown>"
   ];
 
+  # Many checks require a containerd socket and running nerdctl after it's built
+  doCheck = false;
+
   postInstall = ''
     wrapProgram $out/bin/nerdctl \
-      --prefix PATH : "${binPath}" \
+      --prefix PATH : "${lib.makeBinPath ([ buildkit ] ++ extraPackages)}" \
       --prefix CNI_PATH : "${cni-plugins}/bin"
   '';
 
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    # nerdctl expects XDG_RUNTIME_DIR to be set
+    export XDG_RUNTIME_DIR=$TMPDIR
+
+    $out/bin/nerdctl --help
+    # --version will error without containerd.sock access
+    $out/bin/nerdctl --help | grep "${version}"
+    runHook postInstallCheck
+  '';
+
   meta = with lib; {
+    homepage = "https://github.com/AkihiroSuda/nerdctl/";
+    changelog = "https://github.com/AkihiroSuda/nerdctl/releases/tag/v${version}";
     description = "A Docker-compatible CLI for containerd";
-    homepage = src.meta.homepage;
     license = licenses.asl20;
-    platforms = platforms.linux;
     maintainers = with maintainers; [ jk ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/cluster/nixops/default.nix b/pkgs/applications/networking/cluster/nixops/default.nix
new file mode 100644
index 0000000000000..6515885fd8e2f
--- /dev/null
+++ b/pkgs/applications/networking/cluster/nixops/default.nix
@@ -0,0 +1,64 @@
+{ pkgs
+, poetry2nix
+, lib
+, overrides ? (self: super: {})
+}:
+
+let
+
+  interpreter = (
+    poetry2nix.mkPoetryPackages {
+      projectDir = ./.;
+      overrides = [
+        poetry2nix.defaultPoetryOverrides
+        (import ./poetry-git-overlay.nix { inherit pkgs; })
+        (
+          self: super: {
+
+            nixops = super.nixops.overridePythonAttrs (
+              old: {
+                meta = old.meta // {
+                  homepage = https://github.com/NixOS/nixops;
+                  description = "NixOS cloud provisioning and deployment tool";
+                  maintainers = with lib.maintainers; [ adisbladis aminechikhaoui eelco rob domenkozar ];
+                  platforms = lib.platforms.unix;
+                  license = lib.licenses.lgpl3;
+                };
+
+              }
+            );
+          }
+        )
+
+        # User provided overrides
+        overrides
+
+        # Make nixops pluginable
+        (self: super: {
+          nixops = super.__toPluginAble {
+            drv = super.nixops;
+            finalDrv = self.nixops;
+
+            nativeBuildInputs = [ self.sphinx ];
+            postInstall = ''
+              doc_cache=$(mktemp -d)
+              sphinx-build -b man -d $doc_cache doc/ $out/share/man/man1
+
+              html=$(mktemp -d)
+              sphinx-build -b html -d $doc_cache doc/ $out/share/nixops/doc
+            '';
+
+          };
+        })
+
+      ];
+    }
+  ).python;
+
+in interpreter.pkgs.nixops.withPlugins(ps: [
+  ps.nixops-encrypted-links
+  ps.nixops-virtd
+  ps.nixops-aws
+  ps.nixops-gcp
+  ps.nixopsvbox
+])
diff --git a/pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix b/pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix
new file mode 100644
index 0000000000000..365221dd31669
--- /dev/null
+++ b/pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix
@@ -0,0 +1,74 @@
+{ pkgs }:
+self: super: {
+
+  nixops = super.nixops.overridePythonAttrs (
+    _: {
+      src = pkgs.fetchgit {
+        url = "https://github.com/NixOS/nixops.git";
+        rev = "1ed5a091bc52de6c91319f446f833018a1cb326e";
+        sha256 = "1fx17qv9cl7hz7322zh4xlg02xn7bwwjj82cdcvqpsjf83crz3xi";
+      };
+    }
+  );
+
+  nixops-aws = super.nixops-aws.overridePythonAttrs (
+    _: {
+      src = pkgs.fetchgit {
+        url = "https://github.com/NixOS/nixops-aws.git";
+        rev = "dbbaa1b15b6cf7ca1ceeb0a6195f5ee27693c505";
+        sha256 = "13gw3h7g19a0s7dpayjfksrmw6g0364dcm5z2d6mlyzdkfgak4jn";
+      };
+    }
+  );
+
+  nixops-encrypted-links = super.nixops-encrypted-links.overridePythonAttrs (
+    _: {
+      src = pkgs.fetchgit {
+        url = "https://github.com/nix-community/nixops-encrypted-links.git";
+        rev = "0bb9aa50a7294ee9dca10a18ff7d9024234913e1";
+        sha256 = "00wj03wcry83acwljq5v80dyrqaxpqb4j3jsdkfy3d7n5g4aq19l";
+      };
+    }
+  );
+
+  nixops-gcp = super.nixops-gcp.overridePythonAttrs (
+    _: {
+      src = pkgs.fetchgit {
+        url = "https://github.com/nix-community/nixops-gce.git";
+        rev = "23596af53eabc4e3bcf72beaaed82b2c8d40e419";
+        sha256 = "10gfdhf4b3ldrpns8z66mqxwfcbgf9ccz8fx0rcp7gsgsffb0i3c";
+      };
+    }
+  );
+
+  nixops-virtd = super.nixops-virtd.overridePythonAttrs (
+    _: {
+      src = pkgs.fetchgit {
+        url = "https://github.com/nix-community/nixops-libvirtd.git";
+        rev = "af6cf5b2ced57b7b6d36b5df7dd27a14e0a5cfb6";
+        sha256 = "1j75yg8a44dlbig38mf7n7p71mdzff6ii1z1pdp32i4ivk3l0hy6";
+      };
+    }
+  );
+
+  nixopsvbox = super.nixopsvbox.overridePythonAttrs (
+    _: {
+      src = pkgs.fetchgit {
+        url = "https://github.com/nix-community/nixops-vbox.git";
+        rev = "2729672865ebe2aa973c062a3fbddda8c1359da0";
+        sha256 = "07bmrbg3g2prnba2kwg1rg6rvmnx1vzc538y2q3g04s958hala56";
+      };
+    }
+  );
+
+  nixos-modules-contrib = super.nixos-modules-contrib.overridePythonAttrs (
+    _: {
+      src = pkgs.fetchgit {
+        url = "https://github.com/nix-community/nixos-modules-contrib.git";
+        rev = "81a1c2ef424dcf596a97b2e46a58ca73a1dd1ff8";
+        sha256 = "0f6ra5r8i1jz8ymw6l3j68b676a1lv0466lv0xa6mi80k6v9457x";
+      };
+    }
+  );
+
+}
diff --git a/pkgs/applications/networking/cluster/nixops/poetry.lock b/pkgs/applications/networking/cluster/nixops/poetry.lock
new file mode 100644
index 0000000000000..1c6ed7459947f
--- /dev/null
+++ b/pkgs/applications/networking/cluster/nixops/poetry.lock
@@ -0,0 +1,841 @@
+[[package]]
+name = "alabaster"
+version = "0.7.12"
+description = "A configurable sidebar-enabled Sphinx theme"
+category = "dev"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "apache-libcloud"
+version = "3.3.1"
+description = "A standard Python library that abstracts away differences among multiple cloud provider APIs. For more information and documentation, please see https://libcloud.apache.org"
+category = "main"
+optional = false
+python-versions = ">=3.5.*, <4"
+
+[package.dependencies]
+requests = ">=2.5.0"
+
+[[package]]
+name = "babel"
+version = "2.9.0"
+description = "Internationalization utilities"
+category = "dev"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+
+[package.dependencies]
+pytz = ">=2015.7"
+
+[[package]]
+name = "boto"
+version = "2.49.0"
+description = "Amazon Web Services Library"
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "boto3"
+version = "1.17.0"
+description = "The AWS SDK for Python"
+category = "main"
+optional = false
+python-versions = ">= 2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
+
+[package.dependencies]
+botocore = ">=1.20.0,<1.21.0"
+jmespath = ">=0.7.1,<1.0.0"
+s3transfer = ">=0.3.0,<0.4.0"
+
+[[package]]
+name = "botocore"
+version = "1.20.0"
+description = "Low-level, data-driven core of boto 3."
+category = "main"
+optional = false
+python-versions = ">= 2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
+
+[package.dependencies]
+jmespath = ">=0.7.1,<1.0.0"
+python-dateutil = ">=2.1,<3.0.0"
+urllib3 = ">=1.25.4,<1.27"
+
+[[package]]
+name = "certifi"
+version = "2020.12.5"
+description = "Python package for providing Mozilla's CA Bundle."
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "cffi"
+version = "1.14.4"
+description = "Foreign Function Interface for Python calling C code."
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+pycparser = "*"
+
+[[package]]
+name = "chardet"
+version = "4.0.0"
+description = "Universal encoding detector for Python 2 and 3"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+
+[[package]]
+name = "colorama"
+version = "0.4.4"
+description = "Cross-platform colored terminal text."
+category = "dev"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+
+[[package]]
+name = "cryptography"
+version = "3.3.1"
+description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
+category = "main"
+optional = false
+python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*"
+
+[package.dependencies]
+cffi = ">=1.12"
+six = ">=1.4.1"
+
+[package.extras]
+docs = ["sphinx (>=1.6.5,!=1.8.0,!=3.1.0,!=3.1.1)", "sphinx-rtd-theme"]
+docstest = ["doc8", "pyenchant (>=1.6.11)", "twine (>=1.12.0)", "sphinxcontrib-spelling (>=4.0.1)"]
+pep8test = ["black", "flake8", "flake8-import-order", "pep8-naming"]
+ssh = ["bcrypt (>=3.1.5)"]
+test = ["pytest (>=3.6.0,!=3.9.0,!=3.9.1,!=3.9.2)", "pretend", "iso8601", "pytz", "hypothesis (>=1.11.4,!=3.79.2)"]
+
+[[package]]
+name = "docutils"
+version = "0.16"
+description = "Docutils -- Python Documentation Utilities"
+category = "dev"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+
+[[package]]
+name = "idna"
+version = "2.10"
+description = "Internationalized Domain Names in Applications (IDNA)"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+
+[[package]]
+name = "imagesize"
+version = "1.2.0"
+description = "Getting image size from png/jpeg/jpeg2000/gif file"
+category = "dev"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+
+[[package]]
+name = "jinja2"
+version = "2.11.3"
+description = "A very fast and expressive template engine."
+category = "dev"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+
+[package.dependencies]
+MarkupSafe = ">=0.23"
+
+[package.extras]
+i18n = ["Babel (>=0.8)"]
+
+[[package]]
+name = "jmespath"
+version = "0.10.0"
+description = "JSON Matching Expressions"
+category = "main"
+optional = false
+python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
+
+[[package]]
+name = "libvirt-python"
+version = "6.10.0"
+description = "The libvirt virtualization API python binding"
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "markupsafe"
+version = "1.1.1"
+description = "Safely add untrusted strings to HTML/XML markup."
+category = "dev"
+optional = false
+python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
+
+[[package]]
+name = "nixops"
+version = "2.0.0"
+description = "NixOS cloud provisioning and deployment tool"
+category = "main"
+optional = false
+python-versions = "^3.7"
+develop = false
+
+[package.dependencies]
+pluggy = "^0.13.1"
+PrettyTable = "^0.7.2"
+typeguard = "^2.7.1"
+typing-extensions = "^3.7.4"
+
+[package.source]
+type = "git"
+url = "https://github.com/NixOS/nixops.git"
+reference = "master"
+resolved_reference = "1ed5a091bc52de6c91319f446f833018a1cb326e"
+
+[[package]]
+name = "nixops-aws"
+version = "1.0"
+description = "NixOps AWS plugin"
+category = "main"
+optional = false
+python-versions = "^3.7"
+develop = false
+
+[package.dependencies]
+boto = "^2.49.0"
+boto3 = "^1.13.7"
+nixops = "rev master"
+nixos-modules-contrib = "rev master"
+typing-extensions = "^3.7.4"
+
+[package.source]
+type = "git"
+url = "https://github.com/NixOS/nixops-aws.git"
+reference = "master"
+resolved_reference = "dbbaa1b15b6cf7ca1ceeb0a6195f5ee27693c505"
+
+[[package]]
+name = "nixops-encrypted-links"
+version = "1.0"
+description = "Encrypted links support for NixOps"
+category = "main"
+optional = false
+python-versions = "^3.7"
+develop = false
+
+[package.dependencies]
+nixops = "branch master"
+
+[package.source]
+type = "git"
+url = "https://github.com/nix-community/nixops-encrypted-links.git"
+reference = "master"
+resolved_reference = "0bb9aa50a7294ee9dca10a18ff7d9024234913e1"
+
+[[package]]
+name = "nixops-gcp"
+version = "1.0"
+description = "NixOps backend for Google Cloud Platform"
+category = "main"
+optional = false
+python-versions = "^3.7"
+develop = false
+
+[package.dependencies]
+apache-libcloud = "^3.2.0"
+cryptography = "^3.1.1"
+nixops = "branch master"
+nixos-modules-contrib = "branch master"
+
+[package.source]
+type = "git"
+url = "https://github.com/nix-community/nixops-gce.git"
+reference = "master"
+resolved_reference = "23596af53eabc4e3bcf72beaaed82b2c8d40e419"
+
+[[package]]
+name = "nixops-virtd"
+version = "1.0"
+description = "NixOps plugin for virtd"
+category = "main"
+optional = false
+python-versions = "^3.7"
+develop = false
+
+[package.dependencies]
+libvirt-python = "^6.1"
+nixops = "branch master"
+
+[package.source]
+type = "git"
+url = "https://github.com/nix-community/nixops-libvirtd.git"
+reference = "master"
+resolved_reference = "af6cf5b2ced57b7b6d36b5df7dd27a14e0a5cfb6"
+
+[[package]]
+name = "nixopsvbox"
+version = "1.7"
+description = "NixOps backend for VirtualBox"
+category = "main"
+optional = false
+python-versions = "^3.7"
+develop = false
+
+[package.dependencies]
+nixops = "rev master"
+
+[package.source]
+type = "git"
+url = "https://github.com/nix-community/nixops-vbox.git"
+reference = "master"
+resolved_reference = "2729672865ebe2aa973c062a3fbddda8c1359da0"
+
+[[package]]
+name = "nixos-modules-contrib"
+version = "0.1.0"
+description = "NixOS modules that don't quite belong in NixOS."
+category = "main"
+optional = false
+python-versions = "^3.7"
+develop = false
+
+[package.dependencies]
+nixops = "rev master"
+
+[package.source]
+type = "git"
+url = "https://github.com/nix-community/nixos-modules-contrib.git"
+reference = "master"
+resolved_reference = "81a1c2ef424dcf596a97b2e46a58ca73a1dd1ff8"
+
+[[package]]
+name = "packaging"
+version = "20.9"
+description = "Core utilities for Python packages"
+category = "dev"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+
+[package.dependencies]
+pyparsing = ">=2.0.2"
+
+[[package]]
+name = "pluggy"
+version = "0.13.1"
+description = "plugin and hook calling mechanisms for python"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+
+[package.extras]
+dev = ["pre-commit", "tox"]
+
+[[package]]
+name = "prettytable"
+version = "0.7.2"
+description = "A simple Python library for easily displaying tabular data in a visually appealing ASCII table format."
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "pycparser"
+version = "2.20"
+description = "C parser in Python"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+
+[[package]]
+name = "pygments"
+version = "2.7.4"
+description = "Pygments is a syntax highlighting package written in Python."
+category = "dev"
+optional = false
+python-versions = ">=3.5"
+
+[[package]]
+name = "pyparsing"
+version = "2.4.7"
+description = "Python parsing module"
+category = "dev"
+optional = false
+python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
+
+[[package]]
+name = "python-dateutil"
+version = "2.8.1"
+description = "Extensions to the standard Python datetime module"
+category = "main"
+optional = false
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
+
+[package.dependencies]
+six = ">=1.5"
+
+[[package]]
+name = "pytz"
+version = "2021.1"
+description = "World timezone definitions, modern and historical"
+category = "dev"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "requests"
+version = "2.25.1"
+description = "Python HTTP for Humans."
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+
+[package.dependencies]
+certifi = ">=2017.4.17"
+chardet = ">=3.0.2,<5"
+idna = ">=2.5,<3"
+urllib3 = ">=1.21.1,<1.27"
+
+[package.extras]
+security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)"]
+socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"]
+
+[[package]]
+name = "s3transfer"
+version = "0.3.4"
+description = "An Amazon S3 Transfer Manager"
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+botocore = ">=1.12.36,<2.0a.0"
+
+[[package]]
+name = "six"
+version = "1.15.0"
+description = "Python 2 and 3 compatibility utilities"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
+
+[[package]]
+name = "snowballstemmer"
+version = "2.1.0"
+description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms."
+category = "dev"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "sphinx"
+version = "3.4.3"
+description = "Python documentation generator"
+category = "dev"
+optional = false
+python-versions = ">=3.5"
+
+[package.dependencies]
+alabaster = ">=0.7,<0.8"
+babel = ">=1.3"
+colorama = {version = ">=0.3.5", markers = "sys_platform == \"win32\""}
+docutils = ">=0.12"
+imagesize = "*"
+Jinja2 = ">=2.3"
+packaging = "*"
+Pygments = ">=2.0"
+requests = ">=2.5.0"
+snowballstemmer = ">=1.1"
+sphinxcontrib-applehelp = "*"
+sphinxcontrib-devhelp = "*"
+sphinxcontrib-htmlhelp = "*"
+sphinxcontrib-jsmath = "*"
+sphinxcontrib-qthelp = "*"
+sphinxcontrib-serializinghtml = "*"
+
+[package.extras]
+docs = ["sphinxcontrib-websupport"]
+lint = ["flake8 (>=3.5.0)", "isort", "mypy (>=0.790)", "docutils-stubs"]
+test = ["pytest", "pytest-cov", "html5lib", "cython", "typed-ast"]
+
+[[package]]
+name = "sphinxcontrib-applehelp"
+version = "1.0.2"
+description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books"
+category = "dev"
+optional = false
+python-versions = ">=3.5"
+
+[package.extras]
+lint = ["flake8", "mypy", "docutils-stubs"]
+test = ["pytest"]
+
+[[package]]
+name = "sphinxcontrib-devhelp"
+version = "1.0.2"
+description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document."
+category = "dev"
+optional = false
+python-versions = ">=3.5"
+
+[package.extras]
+lint = ["flake8", "mypy", "docutils-stubs"]
+test = ["pytest"]
+
+[[package]]
+name = "sphinxcontrib-htmlhelp"
+version = "1.0.3"
+description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files"
+category = "dev"
+optional = false
+python-versions = ">=3.5"
+
+[package.extras]
+lint = ["flake8", "mypy", "docutils-stubs"]
+test = ["pytest", "html5lib"]
+
+[[package]]
+name = "sphinxcontrib-jsmath"
+version = "1.0.1"
+description = "A sphinx extension which renders display math in HTML via JavaScript"
+category = "dev"
+optional = false
+python-versions = ">=3.5"
+
+[package.extras]
+test = ["pytest", "flake8", "mypy"]
+
+[[package]]
+name = "sphinxcontrib-qthelp"
+version = "1.0.3"
+description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document."
+category = "dev"
+optional = false
+python-versions = ">=3.5"
+
+[package.extras]
+lint = ["flake8", "mypy", "docutils-stubs"]
+test = ["pytest"]
+
+[[package]]
+name = "sphinxcontrib-serializinghtml"
+version = "1.1.4"
+description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)."
+category = "dev"
+optional = false
+python-versions = ">=3.5"
+
+[package.extras]
+lint = ["flake8", "mypy", "docutils-stubs"]
+test = ["pytest"]
+
+[[package]]
+name = "typeguard"
+version = "2.10.0"
+description = "Run-time type checker for Python"
+category = "main"
+optional = false
+python-versions = ">=3.5.3"
+
+[package.extras]
+doc = ["sphinx-rtd-theme", "sphinx-autodoc-typehints (>=1.2.0)"]
+test = ["pytest", "typing-extensions"]
+
+[[package]]
+name = "typing-extensions"
+version = "3.7.4.3"
+description = "Backported and Experimental Type Hints for Python 3.5+"
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "urllib3"
+version = "1.26.3"
+description = "HTTP library with thread-safe connection pooling, file post, and more."
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
+
+[package.extras]
+brotli = ["brotlipy (>=0.6.0)"]
+secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"]
+socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
+
+[metadata]
+lock-version = "1.1"
+python-versions = "^3.8"
+content-hash = "bd064837654a0d4a4691b3df01338b92c95a449ff400a9cd49fee843ab13ee92"
+
+[metadata.files]
+alabaster = [
+    {file = "alabaster-0.7.12-py2.py3-none-any.whl", hash = "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359"},
+    {file = "alabaster-0.7.12.tar.gz", hash = "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"},
+]
+apache-libcloud = [
+    {file = "apache-libcloud-3.3.1.tar.gz", hash = "sha256:d7450453eaf5904eb4fb4f74cf9f37dc83721a719bce34f5abb336b1a1ab974d"},
+    {file = "apache_libcloud-3.3.1-py2.py3-none-any.whl", hash = "sha256:c3722c4dd58b0ee4beaf4e615e0ba82505d9a915e55319dc84383687166a3eed"},
+]
+babel = [
+    {file = "Babel-2.9.0-py2.py3-none-any.whl", hash = "sha256:9d35c22fcc79893c3ecc85ac4a56cde1ecf3f19c540bba0922308a6c06ca6fa5"},
+    {file = "Babel-2.9.0.tar.gz", hash = "sha256:da031ab54472314f210b0adcff1588ee5d1d1d0ba4dbd07b94dba82bde791e05"},
+]
+boto = [
+    {file = "boto-2.49.0-py2.py3-none-any.whl", hash = "sha256:147758d41ae7240dc989f0039f27da8ca0d53734be0eb869ef16e3adcfa462e8"},
+    {file = "boto-2.49.0.tar.gz", hash = "sha256:ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a"},
+]
+boto3 = [
+    {file = "boto3-1.17.0-py2.py3-none-any.whl", hash = "sha256:b4860f56bc585d3d1fde90d288da5eb4d1198401d72201dc3e25de8887b080e2"},
+    {file = "boto3-1.17.0.tar.gz", hash = "sha256:2a39bd5e5f2d50ce9267d682cc92750f8771399665021f47e80f9c8d2fb812a6"},
+]
+botocore = [
+    {file = "botocore-1.20.0-py2.py3-none-any.whl", hash = "sha256:634b39ab0d55477cfbffb0e5dff31b7ab4bb171b04a0c69f8bcf65135f26ba94"},
+    {file = "botocore-1.20.0.tar.gz", hash = "sha256:a608d6d644b852f3c154fc433eaae52febbebc7c474fa8f4d666797d0931770a"},
+]
+certifi = [
+    {file = "certifi-2020.12.5-py2.py3-none-any.whl", hash = "sha256:719a74fb9e33b9bd44cc7f3a8d94bc35e4049deebe19ba7d8e108280cfd59830"},
+    {file = "certifi-2020.12.5.tar.gz", hash = "sha256:1a4995114262bffbc2413b159f2a1a480c969de6e6eb13ee966d470af86af59c"},
+]
+cffi = [
+    {file = "cffi-1.14.4-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ebb253464a5d0482b191274f1c8bf00e33f7e0b9c66405fbffc61ed2c839c775"},
+    {file = "cffi-1.14.4-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:2c24d61263f511551f740d1a065eb0212db1dbbbbd241db758f5244281590c06"},
+    {file = "cffi-1.14.4-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9f7a31251289b2ab6d4012f6e83e58bc3b96bd151f5b5262467f4bb6b34a7c26"},
+    {file = "cffi-1.14.4-cp27-cp27m-win32.whl", hash = "sha256:5cf4be6c304ad0b6602f5c4e90e2f59b47653ac1ed9c662ed379fe48a8f26b0c"},
+    {file = "cffi-1.14.4-cp27-cp27m-win_amd64.whl", hash = "sha256:f60567825f791c6f8a592f3c6e3bd93dd2934e3f9dac189308426bd76b00ef3b"},
+    {file = "cffi-1.14.4-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:c6332685306b6417a91b1ff9fae889b3ba65c2292d64bd9245c093b1b284809d"},
+    {file = "cffi-1.14.4-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:d9efd8b7a3ef378dd61a1e77367f1924375befc2eba06168b6ebfa903a5e59ca"},
+    {file = "cffi-1.14.4-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:51a8b381b16ddd370178a65360ebe15fbc1c71cf6f584613a7ea08bfad946698"},
+    {file = "cffi-1.14.4-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:1d2c4994f515e5b485fd6d3a73d05526aa0fcf248eb135996b088d25dfa1865b"},
+    {file = "cffi-1.14.4-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:af5c59122a011049aad5dd87424b8e65a80e4a6477419c0c1015f73fb5ea0293"},
+    {file = "cffi-1.14.4-cp35-cp35m-win32.whl", hash = "sha256:594234691ac0e9b770aee9fcdb8fa02c22e43e5c619456efd0d6c2bf276f3eb2"},
+    {file = "cffi-1.14.4-cp35-cp35m-win_amd64.whl", hash = "sha256:64081b3f8f6f3c3de6191ec89d7dc6c86a8a43911f7ecb422c60e90c70be41c7"},
+    {file = "cffi-1.14.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f803eaa94c2fcda012c047e62bc7a51b0bdabda1cad7a92a522694ea2d76e49f"},
+    {file = "cffi-1.14.4-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:105abaf8a6075dc96c1fe5ae7aae073f4696f2905fde6aeada4c9d2926752362"},
+    {file = "cffi-1.14.4-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0638c3ae1a0edfb77c6765d487fee624d2b1ee1bdfeffc1f0b58c64d149e7eec"},
+    {file = "cffi-1.14.4-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:7c6b1dece89874d9541fc974917b631406233ea0440d0bdfbb8e03bf39a49b3b"},
+    {file = "cffi-1.14.4-cp36-cp36m-win32.whl", hash = "sha256:155136b51fd733fa94e1c2ea5211dcd4c8879869008fc811648f16541bf99668"},
+    {file = "cffi-1.14.4-cp36-cp36m-win_amd64.whl", hash = "sha256:6bc25fc545a6b3d57b5f8618e59fc13d3a3a68431e8ca5fd4c13241cd70d0009"},
+    {file = "cffi-1.14.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a7711edca4dcef1a75257b50a2fbfe92a65187c47dab5a0f1b9b332c5919a3fb"},
+    {file = "cffi-1.14.4-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:00e28066507bfc3fe865a31f325c8391a1ac2916219340f87dfad602c3e48e5d"},
+    {file = "cffi-1.14.4-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:798caa2a2384b1cbe8a2a139d80734c9db54f9cc155c99d7cc92441a23871c03"},
+    {file = "cffi-1.14.4-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:a5ed8c05548b54b998b9498753fb9cadbfd92ee88e884641377d8a8b291bcc01"},
+    {file = "cffi-1.14.4-cp37-cp37m-win32.whl", hash = "sha256:00a1ba5e2e95684448de9b89888ccd02c98d512064b4cb987d48f4b40aa0421e"},
+    {file = "cffi-1.14.4-cp37-cp37m-win_amd64.whl", hash = "sha256:9cc46bc107224ff5b6d04369e7c595acb700c3613ad7bcf2e2012f62ece80c35"},
+    {file = "cffi-1.14.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:df5169c4396adc04f9b0a05f13c074df878b6052430e03f50e68adf3a57aa28d"},
+    {file = "cffi-1.14.4-cp38-cp38-manylinux1_i686.whl", hash = "sha256:9ffb888f19d54a4d4dfd4b3f29bc2c16aa4972f1c2ab9c4ab09b8ab8685b9c2b"},
+    {file = "cffi-1.14.4-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:8d6603078baf4e11edc4168a514c5ce5b3ba6e3e9c374298cb88437957960a53"},
+    {file = "cffi-1.14.4-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:d5ff0621c88ce83a28a10d2ce719b2ee85635e85c515f12bac99a95306da4b2e"},
+    {file = "cffi-1.14.4-cp38-cp38-win32.whl", hash = "sha256:b4e248d1087abf9f4c10f3c398896c87ce82a9856494a7155823eb45a892395d"},
+    {file = "cffi-1.14.4-cp38-cp38-win_amd64.whl", hash = "sha256:ec80dc47f54e6e9a78181ce05feb71a0353854cc26999db963695f950b5fb375"},
+    {file = "cffi-1.14.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:840793c68105fe031f34d6a086eaea153a0cd5c491cde82a74b420edd0a2b909"},
+    {file = "cffi-1.14.4-cp39-cp39-manylinux1_i686.whl", hash = "sha256:b18e0a9ef57d2b41f5c68beefa32317d286c3d6ac0484efd10d6e07491bb95dd"},
+    {file = "cffi-1.14.4-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:045d792900a75e8b1e1b0ab6787dd733a8190ffcf80e8c8ceb2fb10a29ff238a"},
+    {file = "cffi-1.14.4-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:7ef7d4ced6b325e92eb4d3502946c78c5367bc416398d387b39591532536734e"},
+    {file = "cffi-1.14.4-cp39-cp39-win32.whl", hash = "sha256:ba4e9e0ae13fc41c6b23299545e5ef73055213e466bd107953e4a013a5ddd7e3"},
+    {file = "cffi-1.14.4-cp39-cp39-win_amd64.whl", hash = "sha256:f032b34669220030f905152045dfa27741ce1a6db3324a5bc0b96b6c7420c87b"},
+    {file = "cffi-1.14.4.tar.gz", hash = "sha256:1a465cbe98a7fd391d47dce4b8f7e5b921e6cd805ef421d04f5f66ba8f06086c"},
+]
+chardet = [
+    {file = "chardet-4.0.0-py2.py3-none-any.whl", hash = "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5"},
+    {file = "chardet-4.0.0.tar.gz", hash = "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa"},
+]
+colorama = [
+    {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"},
+    {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"},
+]
+cryptography = [
+    {file = "cryptography-3.3.1-cp27-cp27m-macosx_10_10_x86_64.whl", hash = "sha256:c366df0401d1ec4e548bebe8f91d55ebcc0ec3137900d214dd7aac8427ef3030"},
+    {file = "cryptography-3.3.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9f6b0492d111b43de5f70052e24c1f0951cb9e6022188ebcb1cc3a3d301469b0"},
+    {file = "cryptography-3.3.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:a69bd3c68b98298f490e84519b954335154917eaab52cf582fa2c5c7efc6e812"},
+    {file = "cryptography-3.3.1-cp27-cp27m-win32.whl", hash = "sha256:84ef7a0c10c24a7773163f917f1cb6b4444597efd505a8aed0a22e8c4780f27e"},
+    {file = "cryptography-3.3.1-cp27-cp27m-win_amd64.whl", hash = "sha256:594a1db4511bc4d960571536abe21b4e5c3003e8750ab8365fafce71c5d86901"},
+    {file = "cryptography-3.3.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:0003a52a123602e1acee177dc90dd201f9bb1e73f24a070db7d36c588e8f5c7d"},
+    {file = "cryptography-3.3.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:83d9d2dfec70364a74f4e7c70ad04d3ca2e6a08b703606993407bf46b97868c5"},
+    {file = "cryptography-3.3.1-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:dc42f645f8f3a489c3dd416730a514e7a91a59510ddaadc09d04224c098d3302"},
+    {file = "cryptography-3.3.1-cp36-abi3-manylinux1_x86_64.whl", hash = "sha256:788a3c9942df5e4371c199d10383f44a105d67d401fb4304178020142f020244"},
+    {file = "cryptography-3.3.1-cp36-abi3-manylinux2010_x86_64.whl", hash = "sha256:69e836c9e5ff4373ce6d3ab311c1a2eed274793083858d3cd4c7d12ce20d5f9c"},
+    {file = "cryptography-3.3.1-cp36-abi3-manylinux2014_aarch64.whl", hash = "sha256:9e21301f7a1e7c03dbea73e8602905a4ebba641547a462b26dd03451e5769e7c"},
+    {file = "cryptography-3.3.1-cp36-abi3-win32.whl", hash = "sha256:b4890d5fb9b7a23e3bf8abf5a8a7da8e228f1e97dc96b30b95685df840b6914a"},
+    {file = "cryptography-3.3.1-cp36-abi3-win_amd64.whl", hash = "sha256:0e85aaae861d0485eb5a79d33226dd6248d2a9f133b81532c8f5aae37de10ff7"},
+    {file = "cryptography-3.3.1.tar.gz", hash = "sha256:7e177e4bea2de937a584b13645cab32f25e3d96fc0bc4a4cf99c27dc77682be6"},
+]
+docutils = [
+    {file = "docutils-0.16-py2.py3-none-any.whl", hash = "sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af"},
+    {file = "docutils-0.16.tar.gz", hash = "sha256:c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc"},
+]
+idna = [
+    {file = "idna-2.10-py2.py3-none-any.whl", hash = "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0"},
+    {file = "idna-2.10.tar.gz", hash = "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6"},
+]
+imagesize = [
+    {file = "imagesize-1.2.0-py2.py3-none-any.whl", hash = "sha256:6965f19a6a2039c7d48bca7dba2473069ff854c36ae6f19d2cde309d998228a1"},
+    {file = "imagesize-1.2.0.tar.gz", hash = "sha256:b1f6b5a4eab1f73479a50fb79fcf729514a900c341d8503d62a62dbc4127a2b1"},
+]
+jinja2 = [
+    {file = "Jinja2-2.11.3-py2.py3-none-any.whl", hash = "sha256:03e47ad063331dd6a3f04a43eddca8a966a26ba0c5b7207a9a9e4e08f1b29419"},
+    {file = "Jinja2-2.11.3.tar.gz", hash = "sha256:a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6"},
+]
+jmespath = [
+    {file = "jmespath-0.10.0-py2.py3-none-any.whl", hash = "sha256:cdf6525904cc597730141d61b36f2e4b8ecc257c420fa2f4549bac2c2d0cb72f"},
+    {file = "jmespath-0.10.0.tar.gz", hash = "sha256:b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9"},
+]
+libvirt-python = [
+    {file = "libvirt-python-6.10.0.tar.gz", hash = "sha256:47a8e90d9f49bc0296d2817f6009e18dbb69844ce10b81c2a2672bccd6f49fd5"},
+]
+markupsafe = [
+    {file = "MarkupSafe-1.1.1-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161"},
+    {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"},
+    {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183"},
+    {file = "MarkupSafe-1.1.1-cp27-cp27m-win32.whl", hash = "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b"},
+    {file = "MarkupSafe-1.1.1-cp27-cp27m-win_amd64.whl", hash = "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e"},
+    {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f"},
+    {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1"},
+    {file = "MarkupSafe-1.1.1-cp34-cp34m-macosx_10_6_intel.whl", hash = "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5"},
+    {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_i686.whl", hash = "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1"},
+    {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735"},
+    {file = "MarkupSafe-1.1.1-cp34-cp34m-win32.whl", hash = "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21"},
+    {file = "MarkupSafe-1.1.1-cp34-cp34m-win_amd64.whl", hash = "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235"},
+    {file = "MarkupSafe-1.1.1-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b"},
+    {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f"},
+    {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905"},
+    {file = "MarkupSafe-1.1.1-cp35-cp35m-win32.whl", hash = "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1"},
+    {file = "MarkupSafe-1.1.1-cp35-cp35m-win_amd64.whl", hash = "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d"},
+    {file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff"},
+    {file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d53bc011414228441014aa71dbec320c66468c1030aae3a6e29778a3382d96e5"},
+    {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473"},
+    {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e"},
+    {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:3b8a6499709d29c2e2399569d96719a1b21dcd94410a586a18526b143ec8470f"},
+    {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:84dee80c15f1b560d55bcfe6d47b27d070b4681c699c572af2e3c7cc90a3b8e0"},
+    {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:b1dba4527182c95a0db8b6060cc98ac49b9e2f5e64320e2b56e47cb2831978c7"},
+    {file = "MarkupSafe-1.1.1-cp36-cp36m-win32.whl", hash = "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66"},
+    {file = "MarkupSafe-1.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5"},
+    {file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d"},
+    {file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:bf5aa3cbcfdf57fa2ee9cd1822c862ef23037f5c832ad09cfea57fa846dec193"},
+    {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e"},
+    {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6"},
+    {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:6fffc775d90dcc9aed1b89219549b329a9250d918fd0b8fa8d93d154918422e1"},
+    {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:a6a744282b7718a2a62d2ed9d993cad6f5f585605ad352c11de459f4108df0a1"},
+    {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:195d7d2c4fbb0ee8139a6cf67194f3973a6b3042d742ebe0a9ed36d8b6f0c07f"},
+    {file = "MarkupSafe-1.1.1-cp37-cp37m-win32.whl", hash = "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2"},
+    {file = "MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c"},
+    {file = "MarkupSafe-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15"},
+    {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2"},
+    {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42"},
+    {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:acf08ac40292838b3cbbb06cfe9b2cb9ec78fce8baca31ddb87aaac2e2dc3bc2"},
+    {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:d9be0ba6c527163cbed5e0857c451fcd092ce83947944d6c14bc95441203f032"},
+    {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:caabedc8323f1e93231b52fc32bdcde6db817623d33e100708d9a68e1f53b26b"},
+    {file = "MarkupSafe-1.1.1-cp38-cp38-win32.whl", hash = "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b"},
+    {file = "MarkupSafe-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be"},
+    {file = "MarkupSafe-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d73a845f227b0bfe8a7455ee623525ee656a9e2e749e4742706d80a6065d5e2c"},
+    {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:98bae9582248d6cf62321dcb52aaf5d9adf0bad3b40582925ef7c7f0ed85fceb"},
+    {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:2beec1e0de6924ea551859edb9e7679da6e4870d32cb766240ce17e0a0ba2014"},
+    {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:7fed13866cf14bba33e7176717346713881f56d9d2bcebab207f7a036f41b850"},
+    {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:6f1e273a344928347c1290119b493a1f0303c52f5a5eae5f16d74f48c15d4a85"},
+    {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:feb7b34d6325451ef96bc0e36e1a6c0c1c64bc1fbec4b854f4529e51887b1621"},
+    {file = "MarkupSafe-1.1.1-cp39-cp39-win32.whl", hash = "sha256:22c178a091fc6630d0d045bdb5992d2dfe14e3259760e713c490da5323866c39"},
+    {file = "MarkupSafe-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:b7d644ddb4dbd407d31ffb699f1d140bc35478da613b441c582aeb7c43838dd8"},
+    {file = "MarkupSafe-1.1.1.tar.gz", hash = "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"},
+]
+nixops = []
+nixops-aws = []
+nixops-encrypted-links = []
+nixops-gcp = []
+nixops-virtd = []
+nixopsvbox = []
+nixos-modules-contrib = []
+packaging = [
+    {file = "packaging-20.9-py2.py3-none-any.whl", hash = "sha256:67714da7f7bc052e064859c05c595155bd1ee9f69f76557e21f051443c20947a"},
+    {file = "packaging-20.9.tar.gz", hash = "sha256:5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5"},
+]
+pluggy = [
+    {file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"},
+    {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"},
+]
+prettytable = [
+    {file = "prettytable-0.7.2.tar.bz2", hash = "sha256:853c116513625c738dc3ce1aee148b5b5757a86727e67eff6502c7ca59d43c36"},
+    {file = "prettytable-0.7.2.tar.gz", hash = "sha256:2d5460dc9db74a32bcc8f9f67de68b2c4f4d2f01fa3bd518764c69156d9cacd9"},
+    {file = "prettytable-0.7.2.zip", hash = "sha256:a53da3b43d7a5c229b5e3ca2892ef982c46b7923b51e98f0db49956531211c4f"},
+]
+pycparser = [
+    {file = "pycparser-2.20-py2.py3-none-any.whl", hash = "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705"},
+    {file = "pycparser-2.20.tar.gz", hash = "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0"},
+]
+pygments = [
+    {file = "Pygments-2.7.4-py3-none-any.whl", hash = "sha256:bc9591213a8f0e0ca1a5e68a479b4887fdc3e75d0774e5c71c31920c427de435"},
+    {file = "Pygments-2.7.4.tar.gz", hash = "sha256:df49d09b498e83c1a73128295860250b0b7edd4c723a32e9bc0d295c7c2ec337"},
+]
+pyparsing = [
+    {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"},
+    {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"},
+]
+python-dateutil = [
+    {file = "python-dateutil-2.8.1.tar.gz", hash = "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c"},
+    {file = "python_dateutil-2.8.1-py2.py3-none-any.whl", hash = "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a"},
+]
+pytz = [
+    {file = "pytz-2021.1-py2.py3-none-any.whl", hash = "sha256:eb10ce3e7736052ed3623d49975ce333bcd712c7bb19a58b9e2089d4057d0798"},
+    {file = "pytz-2021.1.tar.gz", hash = "sha256:83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da"},
+]
+requests = [
+    {file = "requests-2.25.1-py2.py3-none-any.whl", hash = "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e"},
+    {file = "requests-2.25.1.tar.gz", hash = "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804"},
+]
+s3transfer = [
+    {file = "s3transfer-0.3.4-py2.py3-none-any.whl", hash = "sha256:1e28620e5b444652ed752cf87c7e0cb15b0e578972568c6609f0f18212f259ed"},
+    {file = "s3transfer-0.3.4.tar.gz", hash = "sha256:7fdddb4f22275cf1d32129e21f056337fd2a80b6ccef1664528145b72c49e6d2"},
+]
+six = [
+    {file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"},
+    {file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"},
+]
+snowballstemmer = [
+    {file = "snowballstemmer-2.1.0-py2.py3-none-any.whl", hash = "sha256:b51b447bea85f9968c13b650126a888aabd4cb4463fca868ec596826325dedc2"},
+    {file = "snowballstemmer-2.1.0.tar.gz", hash = "sha256:e997baa4f2e9139951b6f4c631bad912dfd3c792467e2f03d7239464af90e914"},
+]
+sphinx = [
+    {file = "Sphinx-3.4.3-py3-none-any.whl", hash = "sha256:c314c857e7cd47c856d2c5adff514ac2e6495f8b8e0f886a8a37e9305dfea0d8"},
+    {file = "Sphinx-3.4.3.tar.gz", hash = "sha256:41cad293f954f7d37f803d97eb184158cfd90f51195131e94875bc07cd08b93c"},
+]
+sphinxcontrib-applehelp = [
+    {file = "sphinxcontrib-applehelp-1.0.2.tar.gz", hash = "sha256:a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58"},
+    {file = "sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:806111e5e962be97c29ec4c1e7fe277bfd19e9652fb1a4392105b43e01af885a"},
+]
+sphinxcontrib-devhelp = [
+    {file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"},
+    {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"},
+]
+sphinxcontrib-htmlhelp = [
+    {file = "sphinxcontrib-htmlhelp-1.0.3.tar.gz", hash = "sha256:e8f5bb7e31b2dbb25b9cc435c8ab7a79787ebf7f906155729338f3156d93659b"},
+    {file = "sphinxcontrib_htmlhelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:3c0bc24a2c41e340ac37c85ced6dafc879ab485c095b1d65d2461ac2f7cca86f"},
+]
+sphinxcontrib-jsmath = [
+    {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"},
+    {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"},
+]
+sphinxcontrib-qthelp = [
+    {file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"},
+    {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"},
+]
+sphinxcontrib-serializinghtml = [
+    {file = "sphinxcontrib-serializinghtml-1.1.4.tar.gz", hash = "sha256:eaa0eccc86e982a9b939b2b82d12cc5d013385ba5eadcc7e4fed23f4405f77bc"},
+    {file = "sphinxcontrib_serializinghtml-1.1.4-py2.py3-none-any.whl", hash = "sha256:f242a81d423f59617a8e5cf16f5d4d74e28ee9a66f9e5b637a18082991db5a9a"},
+]
+typeguard = [
+    {file = "typeguard-2.10.0-py3-none-any.whl", hash = "sha256:a75c6d86ac9d1faf85c5ae952de473e5d26824dda6d4394ff6bc676849cfb939"},
+    {file = "typeguard-2.10.0.tar.gz", hash = "sha256:d830132dcd544d3f8a2a842ea739eaa0d7c099fcebb9dcdf3802f4c9929d8191"},
+]
+typing-extensions = [
+    {file = "typing_extensions-3.7.4.3-py2-none-any.whl", hash = "sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f"},
+    {file = "typing_extensions-3.7.4.3-py3-none-any.whl", hash = "sha256:7cb407020f00f7bfc3cb3e7881628838e69d8f3fcab2f64742a5e76b2f841918"},
+    {file = "typing_extensions-3.7.4.3.tar.gz", hash = "sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c"},
+]
+urllib3 = [
+    {file = "urllib3-1.26.3-py2.py3-none-any.whl", hash = "sha256:1b465e494e3e0d8939b50680403e3aedaa2bc434b7d5af64dfd3c958d7f5ae80"},
+    {file = "urllib3-1.26.3.tar.gz", hash = "sha256:de3eedaad74a2683334e282005cd8d7f22f4d55fa690a2a1020a416cb0a47e73"},
+]
diff --git a/pkgs/applications/networking/cluster/nixops/pyproject.toml b/pkgs/applications/networking/cluster/nixops/pyproject.toml
new file mode 100644
index 0000000000000..09ffb54fa2bb2
--- /dev/null
+++ b/pkgs/applications/networking/cluster/nixops/pyproject.toml
@@ -0,0 +1,21 @@
+[tool.poetry]
+name = "nixopsenv"
+version = "2.0.0"
+description = "NixOps 2.0"
+authors = ["Adam Hoese <adam.hose@tweag.io>"]
+
+[tool.poetry.dependencies]
+python = "^3.8"
+nixops = {git = "https://github.com/NixOS/nixops.git"}
+nixops-aws = {git = "https://github.com/NixOS/nixops-aws.git"}
+nixops-gcp = {git = "https://github.com/nix-community/nixops-gce.git"}
+nixopsvbox = {git = "https://github.com/nix-community/nixops-vbox.git"}
+nixops-encrypted-links = {git = "https://github.com/nix-community/nixops-encrypted-links.git"}
+nixops-virtd = {git = "https://github.com/nix-community/nixops-libvirtd.git"}
+
+[tool.poetry.dev-dependencies]
+sphinx = "^3.1.2"
+
+[build-system]
+requires = ["poetry>=0.12"]
+build-backend = "poetry.masonry.api"
diff --git a/pkgs/applications/networking/cluster/nixops/shell.nix b/pkgs/applications/networking/cluster/nixops/shell.nix
new file mode 100644
index 0000000000000..6d298b8df83eb
--- /dev/null
+++ b/pkgs/applications/networking/cluster/nixops/shell.nix
@@ -0,0 +1,10 @@
+{ pkgs ? import <nixpkgs> {} }:
+
+pkgs.mkShell {
+  buildInputs = [
+    pkgs.poetry2nix.cli
+    pkgs.pkgconfig
+    pkgs.libvirt
+    pkgs.poetry
+  ];
+}
diff --git a/pkgs/applications/networking/cluster/nixops/update b/pkgs/applications/networking/cluster/nixops/update
new file mode 100755
index 0000000000000..1d1fd93fdbeaa
--- /dev/null
+++ b/pkgs/applications/networking/cluster/nixops/update
@@ -0,0 +1,11 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -I nixpkgs=../../../../../. -i bash
+set -eux
+
+rm -f ./poetry.lock ./poetry-git-overlay.nix
+
+poetry lock
+
+# builtins.fetchGit is disabled in restricted eval
+# Pin fixed-output derivations from lock file
+poetry2nix lock
diff --git a/pkgs/applications/networking/cluster/node-problem-detector/default.nix b/pkgs/applications/networking/cluster/node-problem-detector/default.nix
index 6be32ed17a4be..e53a9c39ea7e4 100644
--- a/pkgs/applications/networking/cluster/node-problem-detector/default.nix
+++ b/pkgs/applications/networking/cluster/node-problem-detector/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "node-problem-detector";
-  version = "0.8.5";
+  version = "0.8.7";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0lm691w4v2sdv5i2dkszwv6g11ig2aavlbxh40kjlmc05dz7dapv";
+    sha256 = "sha256-GyWvwgLtE8N+HLmGKUOjv5HXl2sdnecjh5y6VCOs+/0=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/nomad/0.11.nix b/pkgs/applications/networking/cluster/nomad/0.11.nix
deleted file mode 100644
index 58bdb694eed51..0000000000000
--- a/pkgs/applications/networking/cluster/nomad/0.11.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ callPackage
-, buildGoPackage
-, nvidia_x11
-, nvidiaGpuSupport
-}:
-
-callPackage ./generic.nix {
-  inherit buildGoPackage nvidia_x11 nvidiaGpuSupport;
-  version = "0.11.8";
-  sha256 = "1dhh07bifr02jh2lls8fv1d9ra67ymgh8qxqvpvm0cd0qdd469z1";
-}
diff --git a/pkgs/applications/networking/cluster/nomad/0.12.nix b/pkgs/applications/networking/cluster/nomad/0.12.nix
index b6e053e757de2..82f508c63ee86 100644
--- a/pkgs/applications/networking/cluster/nomad/0.12.nix
+++ b/pkgs/applications/networking/cluster/nomad/0.12.nix
@@ -6,6 +6,6 @@
 
 callPackage ./generic.nix {
   inherit buildGoPackage nvidia_x11 nvidiaGpuSupport;
-  version = "0.12.9";
-  sha256 = "1a0ig6pb0z3qp7zk4jgz3h241bifmjlyqsfikyy3sxdnzj7yha27";
+  version = "0.12.10";
+  sha256 = "12hlzjkay7y1502nmfvq2qkhp9pq7vp4zxypawnh98qvxbzv149l";
 }
diff --git a/pkgs/applications/networking/cluster/nomad/1.0.nix b/pkgs/applications/networking/cluster/nomad/1.0.nix
index ff4434399bd7a..99c43aeeee46e 100644
--- a/pkgs/applications/networking/cluster/nomad/1.0.nix
+++ b/pkgs/applications/networking/cluster/nomad/1.0.nix
@@ -6,6 +6,6 @@
 
 callPackage ./generic.nix {
   inherit buildGoPackage nvidia_x11 nvidiaGpuSupport;
-  version = "1.0.2";
-  sha256 = "1l9j6k5dzh9ym9j75mam10vd9b5qh4xqfj6d63bjp7gkk4hd1jxx";
+  version = "1.0.4";
+  sha256 = "0znaxz9mzbqb59p6rwa5h89m344m2ci39jsx8dfh1v5fc17r0fcq";
 }
diff --git a/pkgs/applications/networking/cluster/octant/default.nix b/pkgs/applications/networking/cluster/octant/default.nix
index 4eb2bf78b54ae..453c1406fd203 100644
--- a/pkgs/applications/networking/cluster/octant/default.nix
+++ b/pkgs/applications/networking/cluster/octant/default.nix
@@ -1,39 +1,53 @@
-{ lib, stdenv, fetchurl }:
-let
-  version = "0.16.3";
+{ lib, stdenv, fetchzip }:
 
-  system = stdenv.hostPlatform.system;
+let
+  inherit (stdenv.hostPlatform) system;
   suffix = {
     x86_64-linux = "Linux-64bit";
     aarch64-linux = "Linux-arm64";
     x86_64-darwin = "macOS-64bit";
   }."${system}" or (throw "Unsupported system: ${system}");
-
   baseurl = "https://github.com/vmware-tanzu/octant/releases/download";
-  fetchsrc = sha256: fetchurl {
-    url = "${baseurl}/v${version}/octant_${version}_${suffix}.tar.gz";
-    sha256 = sha256."${system}";
-  };
+  fetchsrc = version: sha256: fetchzip {
+      url = "${baseurl}/v${version}/octant_${version}_${suffix}.tar.gz";
+      sha256 = sha256."${system}";
+    };
 in
 stdenv.mkDerivation rec {
   pname = "octant";
-  inherit version;
+  version = "0.17.0";
 
-  src = fetchsrc {
-    x86_64-linux = "1c6v7d8i494k32b0zrjn4fn1idza95r6h99c33c5za4hi7gqvy0x";
-    aarch64-linux = "153jd4wsq8qc598w7y4d30dy20ljyhrl68cc3pig1p712l5258zs";
-    x86_64-darwin = "0y2qjdlyvhrzwg0fmxsr3jl39kd13276a7wg0ndhdjfwxvdwpxkz";
+  src = fetchsrc version {
+    x86_64-linux = "sha256-kYS8o97HBjNgwmrG4fjsqFWxZy6ATFOhxt6j3KMZbEc=";
+    aarch64-linux = "sha256-/Tpna2Y8+PQt+SeOJ9NDweRWGiQXU/sN+Wh/vLYQPwM=";
+    x86_64-darwin = "sha256-aOUmnD+l/Cc5qTiHxFLBjCatszmPdUc4YYZ6Oy5DT3U=";
   };
 
-  doBuild = false;
-  doCheck = false;
+  dontConfigure = true;
+  dontBuild = true;
 
   installPhase = ''
-    mkdir -p "$out/bin"
-    mv octant $out/bin
+    runHook preInstall
+    install -D octant $out/bin/octant
+    runHook postInstall
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/octant --help
+    $out/bin/octant version | grep "${version}"
+    runHook postInstallCheck
   '';
 
+  dontPatchELF = true;
+  dontPatchShebangs = true;
+
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
+    homepage = "https://octant.dev/";
+    changelog = "https://github.com/vmware-tanzu/octant/blob/v${version}/CHANGELOG.md";
     description = "Highly extensible platform for developers to better understand the complexity of Kubernetes clusters.";
     longDescription = ''
       Octant is a tool for developers to understand how applications run on a Kubernetes cluster.
@@ -41,9 +55,8 @@ stdenv.mkDerivation rec {
       Octant offers a combination of introspective tooling, cluster navigation, and object management along with a
       plugin system to further extend its capabilities.
     '';
-    homepage = "https://octant.dev/";
     license = licenses.asl20;
-    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
     maintainers = with maintainers; [ jk ];
+    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix b/pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix
index f6fb486bd939e..988b2d02df986 100644
--- a/pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix
+++ b/pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "starboard-octant-plugin";
-  version = "0.9.0";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-R6hnAqFpebZ9PV3KAX052wjjCtW5D9hKfj7DdS+3Ibg=";
+    sha256 = "sha256-wis2ECCVXQeD7GiCMJQai+wDM8QJ1j5dPnE5O/I3wpM=";
   };
 
-  vendorSha256 = "sha256-c5sel3xs4npTENqRQu8d9hUOK1OFQodF3M0ZpUpr1po=";
+  vendorSha256 = "sha256-T0wDbAl5GXphZIBrM36OwRCojnJ/cbXNqsjtCzUDZ6s=";
 
   buildFlagsArray = [ "-ldflags=" "-s" "-w" ];
 
diff --git a/pkgs/applications/networking/cluster/octant/update.sh b/pkgs/applications/networking/cluster/octant/update.sh
new file mode 100755
index 0000000000000..4ffe4aefb30cd
--- /dev/null
+++ b/pkgs/applications/networking/cluster/octant/update.sh
@@ -0,0 +1,38 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl gnused gawk nix-prefetch
+
+set -euo pipefail
+
+ROOT="$(dirname "$(readlink -f "$0")")"
+NIX_DRV="$ROOT/default.nix"
+if [ ! -f "$NIX_DRV" ]; then
+  echo "ERROR: cannot find default.nix in $ROOT"
+  exit 1
+fi
+
+fetch_arch() {
+  VER="$1"; ARCH="$2"
+  URL="https://github.com/vmware-tanzu/octant/releases/download/v${VER}/octant_${VER}_${ARCH}.tar.gz"
+  nix-prefetch "{ stdenv, fetchzip }:
+stdenv.mkDerivation rec {
+  pname = \"octant\"; version = \"${VER}\";
+  src = fetchzip { url = \"$URL\"; };
+}
+"
+}
+
+replace_sha() {
+  sed -i "s#$1 = \"sha256-.\{44\}\"#$1 = \"$2\"#" "$NIX_DRV"
+}
+
+OCTANT_VER=$(curl -Ls -w "%{url_effective}" -o /dev/null https://github.com/vmware-tanzu/octant/releases/latest | awk -F'/' '{print $NF}' | sed 's/v//')
+
+OCTANT_LINUX_X64_SHA256=$(fetch_arch "$OCTANT_VER" "Linux-64bit")
+OCTANT_DARWIN_X64_SHA256=$(fetch_arch "$OCTANT_VER" "Linux-arm64")
+OCTANT_LINUX_AARCH64_SHA256=$(fetch_arch "$OCTANT_VER" "macOS-64bit")
+
+sed -i "s/version = \".*\"/version = \"$OCTANT_VER\"/" "$NIX_DRV"
+
+replace_sha "x86_64-linux" "$OCTANT_LINUX_X64_SHA256"
+replace_sha "x86_64-darwin" "$OCTANT_LINUX_AARCH64_SHA256"
+replace_sha "aarch64-linux" "$OCTANT_DARWIN_X64_SHA256"
diff --git a/pkgs/applications/networking/cluster/spacegun/default.nix b/pkgs/applications/networking/cluster/spacegun/default.nix
index 64623f88ddaae..684e9f65a5bf8 100644
--- a/pkgs/applications/networking/cluster/spacegun/default.nix
+++ b/pkgs/applications/networking/cluster/spacegun/default.nix
@@ -1,16 +1,21 @@
-{ pkgs, nodejs, stdenv, lib, ... }:
+{ pkgs, fetchFromGitHub, nodejs, stdenv, lib, ... }:
 
 let
-
-  packageName = with lib; concatStrings (map (entry: (concatStrings (mapAttrsToList (key: value: "${key}-${value}") entry))) (importJSON ./package.json));
+  src = fetchFromGitHub {
+    owner = "dvallin";
+    repo = "spacegun";
+    rev = "v0.3.3";
+    sha256 = "0cd9yzms44dj9ix8lrhbkby5zsyb8wambs24j6c3ibr67sggr6sq";
+  };
 
   nodePackages = import ./node-composition.nix {
     inherit pkgs nodejs;
     inherit (stdenv.hostPlatform) system;
   };
 in
-nodePackages."${packageName}".override {
-  nativeBuildInputs = [ pkgs.makeWrapper ];
+nodePackages.package.override {
+  inherit src;
+  nativeBuildInputs = [ pkgs.makeWrapper pkgs.nodePackages.node-gyp-build ];
 
   postInstall = ''
     # Patch shebangs in node_modules, otherwise the webpack build fails with interpreter problems
diff --git a/pkgs/applications/networking/cluster/spacegun/generate-dependencies.sh b/pkgs/applications/networking/cluster/spacegun/generate-dependencies.sh
index 293a72a162373..bda3d1727c4f3 100644
--- a/pkgs/applications/networking/cluster/spacegun/generate-dependencies.sh
+++ b/pkgs/applications/networking/cluster/spacegun/generate-dependencies.sh
@@ -1,10 +1,17 @@
 #!/usr/bin/env nix-shell
 #! nix-shell -i bash -p nodePackages.node2nix
 
+# Download package.json and package-lock.json from the v0.3.3 release
+curl https://raw.githubusercontent.com/dvallin/spacegun/f88cfd1cf653995a301ef4db4a1e387ef3ca01a1/package.json -o package.json
+curl https://raw.githubusercontent.com/dvallin/spacegun/f88cfd1cf653995a301ef4db4a1e387ef3ca01a1/package-lock.json -o package-lock.json
+
 node2nix \
   --nodejs-10 \
   --node-env ../../../../development/node-packages/node-env.nix \
   --development \
   --input package.json \
+  --lock package-lock.json \
   --output node-packages.nix \
   --composition node-composition.nix
+
+rm -f package.json package-lock.json
diff --git a/pkgs/applications/networking/cluster/spacegun/node-composition.nix b/pkgs/applications/networking/cluster/spacegun/node-composition.nix
index 4e8a9d958f9ce..7cbb2328ae731 100644
--- a/pkgs/applications/networking/cluster/spacegun/node-composition.nix
+++ b/pkgs/applications/networking/cluster/spacegun/node-composition.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
@@ -6,12 +6,12 @@
 
 let
   nodeEnv = import ../../../../development/node-packages/node-env.nix {
-    inherit (pkgs) lib stdenv python2 util-linux runCommand writeTextFile;
-    inherit nodejs;
+    inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
+    inherit pkgs nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
 import ./node-packages.nix {
-  inherit (pkgs) fetchurl fetchgit;
+  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
   inherit nodeEnv;
 }
diff --git a/pkgs/applications/networking/cluster/spacegun/node-packages.nix b/pkgs/applications/networking/cluster/spacegun/node-packages.nix
index 423e34f10df10..9203d8f60c5ed 100644
--- a/pkgs/applications/networking/cluster/spacegun/node-packages.nix
+++ b/pkgs/applications/networking/cluster/spacegun/node-packages.nix
@@ -1,142 +1,142 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
 let
   sources = {
-    "@babel/code-frame-7.8.3" = {
+    "@babel/code-frame-7.5.5" = {
       name = "_at_babel_slash_code-frame";
       packageName = "@babel/code-frame";
-      version = "7.8.3";
+      version = "7.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz";
-        sha512 = "3d85pd9lfbm8yrlpn6wj9g56snbnpr9fx0w1b9x26jbirc2xfrvnifwzprp0f6bhqijshgm0q35axic8d11v4j0kq493dapcyk33n3b";
+        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz";
+        sha512 = "27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==";
       };
     };
-    "@babel/core-7.8.7" = {
+    "@babel/core-7.6.2" = {
       name = "_at_babel_slash_core";
       packageName = "@babel/core";
-      version = "7.8.7";
+      version = "7.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.8.7.tgz";
-        sha512 = "34gjbasmqp8z2rbwlc5b9sfnvs7fw1hm3i5bcdk0ddymr9b280fbcgfx6mgiwhkv3gzgawjvzcg1bzqp9f0hhifkhrdg8r4fqbnl6dc";
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.6.2.tgz";
+        sha512 = "l8zto/fuoZIbncm+01p8zPSDZu/VuuJhAfA7d/AbzM09WR7iVhavvfNDYCNpo1VvLk6E6xgAoP9P+/EMJHuRkQ==";
       };
     };
-    "@babel/generator-7.8.8" = {
+    "@babel/generator-7.6.2" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.8.8";
+      version = "7.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz";
-        sha512 = "0k5w5pcsv2m6992nh49qjil2b1aqzdbdrcxzcp89v7wq9wx7llnx5ijyzl9w895iry3hnp8mk3srgp52kgz4swvjqf9lwdxxrb99b0w";
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.6.2.tgz";
+        sha512 = "j8iHaIW4gGPnViaIHI7e9t/Hl8qLjERI6DcV9kEpAIDJsAOrcnXqRS7t+QbhL76pwbtqP+QCQLL0z1CyVmtjjQ==";
       };
     };
-    "@babel/helper-function-name-7.8.3" = {
+    "@babel/helper-function-name-7.1.0" = {
       name = "_at_babel_slash_helper-function-name";
       packageName = "@babel/helper-function-name";
-      version = "7.8.3";
+      version = "7.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz";
-        sha512 = "0w35m1kq2dmsgdgjxvpmg6gxm1rzl1jqf23h3k7pwh9nmwsmqbgv0rzy7fs6dq31dqq6j17bwyww0091r41aj0rl3zi1nj2a1gn0b04";
+        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz";
+        sha512 = "A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==";
       };
     };
-    "@babel/helper-get-function-arity-7.8.3" = {
+    "@babel/helper-get-function-arity-7.0.0" = {
       name = "_at_babel_slash_helper-get-function-arity";
       packageName = "@babel/helper-get-function-arity";
-      version = "7.8.3";
+      version = "7.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz";
-        sha512 = "12g2gjipd8svg02d12iqbf0rz4m99g36qccn3f81xij3ac4f7kqzx0407xma49h11j88iz8jil2whj7j96wqpwd67abi23xczwd2l0m";
+        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz";
+        sha512 = "r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==";
       };
     };
-    "@babel/helper-plugin-utils-7.8.3" = {
+    "@babel/helper-plugin-utils-7.0.0" = {
       name = "_at_babel_slash_helper-plugin-utils";
       packageName = "@babel/helper-plugin-utils";
-      version = "7.8.3";
+      version = "7.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz";
-        sha512 = "1jj9ibj72hqv1qm4hvdnk728fi9mihrwhq0xcs2qlxbs8iz9d2zb4a23sm7ny0s42asrdyy2s98shgnqm0rhn2314k6pcyxspiymrwg";
+        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz";
+        sha512 = "CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==";
       };
     };
-    "@babel/helper-split-export-declaration-7.8.3" = {
+    "@babel/helper-split-export-declaration-7.4.4" = {
       name = "_at_babel_slash_helper-split-export-declaration";
       packageName = "@babel/helper-split-export-declaration";
-      version = "7.8.3";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz";
-        sha512 = "1sgm6wd88kmizvig5m0ims97vmlylfii72xcw4k01h2wsw3cpc312s1asnjrq5y472hcqfh2mwn8dwpqkpcvs0ssqwnz1c1xhwz47fz";
+        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz";
+        sha512 = "Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==";
       };
     };
-    "@babel/helpers-7.8.4" = {
+    "@babel/helpers-7.6.2" = {
       name = "_at_babel_slash_helpers";
       packageName = "@babel/helpers";
-      version = "7.8.4";
+      version = "7.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz";
-        sha512 = "3rr2xlnr2hmpbrgysgs0jyrz4bjyg80cxij1wn899v53zqj4i1bcm3ajpnr03v1swlczkzapn7nvzmzhwlqxl1hw5pciq8h0zpxxxjl";
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.2.tgz";
+        sha512 = "3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA==";
       };
     };
-    "@babel/highlight-7.8.3" = {
+    "@babel/highlight-7.5.0" = {
       name = "_at_babel_slash_highlight";
       packageName = "@babel/highlight";
-      version = "7.8.3";
+      version = "7.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz";
-        sha512 = "09353nlk7ng0h135l14dhwk4jahsdrapvd0185wra8l73wjbnkb11jl42znj1rxypb38jlzcraxf4xdka1ssis5khgjvgql2kkk4zix";
+        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz";
+        sha512 = "7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==";
       };
     };
-    "@babel/parser-7.8.8" = {
+    "@babel/parser-7.6.2" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.8.8";
+      version = "7.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz";
-        sha512 = "1q85si9966ra57f43dccjanxnyy65c66lykxgv5z231wpi4w023nk8l7s8m54bp9fv4yd3pl682yh0krny22qmfygxggc2g61dldvlq";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.6.2.tgz";
+        sha512 = "mdFqWrSPCmikBoaBYMuBulzTIKuXVPtEISFbRRVNwMWpCms/hmE2kRq0bblUHaNRKrjRlmVbx1sDHmjmRgD2Xg==";
       };
     };
-    "@babel/plugin-syntax-object-rest-spread-7.8.3" = {
+    "@babel/plugin-syntax-object-rest-spread-7.2.0" = {
       name = "_at_babel_slash_plugin-syntax-object-rest-spread";
       packageName = "@babel/plugin-syntax-object-rest-spread";
-      version = "7.8.3";
+      version = "7.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz";
-        sha512 = "2a9vg6b6p2rfhcflic2w6rbrbiqrdgj4ra2q20g1qv6ncwmvja2jq8snygwfw1ll1k94rqnbj4hc1fpizgr1v35rfvxqvwr6658r2jy";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz";
+        sha512 = "t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==";
       };
     };
-    "@babel/template-7.8.6" = {
+    "@babel/template-7.6.0" = {
       name = "_at_babel_slash_template";
       packageName = "@babel/template";
-      version = "7.8.6";
+      version = "7.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz";
-        sha512 = "0z8kzrpis50nr4vsyqr77cpqad0xfsacw45jdhwsl89mdzpvy8wcvc0kdy938kb0ll069plxhgy3a3fpag408ci2pb47gxzrhy2rcyd";
+        url = "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz";
+        sha512 = "5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==";
       };
     };
-    "@babel/traverse-7.8.6" = {
+    "@babel/traverse-7.6.2" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.8.6";
+      version = "7.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz";
-        sha512 = "3s53fzm55c14accqfxhvdck1vkj87489w0rhcl7zj8phf9iz21qs0garpghgs0h1cj4s4n2fb7czipdm2mlrj19iaygh37zsv8ja7yq";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.2.tgz";
+        sha512 = "8fRE76xNwNttVEF2TwxJDGBLWthUkHWSldmfuBzVRmEDWOtu4XdINTgN7TDWzuLg4bbeIMLvfMFD9we5YcWkRQ==";
       };
     };
-    "@babel/types-7.8.7" = {
+    "@babel/types-7.6.1" = {
       name = "_at_babel_slash_types";
       packageName = "@babel/types";
-      version = "7.8.7";
+      version = "7.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz";
-        sha512 = "0kj404kqcscn0qdpis6kha2263fb0njap0qqcjbwf38jv9qvpxw39f84iiyjspgwz7v1bqcdpjpfb274dkgh2v9ih10w57i85wfnr4k";
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz";
+        sha512 = "X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==";
       };
     };
-    "@cnakazawa/watch-1.0.4" = {
+    "@cnakazawa/watch-1.0.3" = {
       name = "_at_cnakazawa_slash_watch";
       packageName = "@cnakazawa/watch";
-      version = "1.0.4";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz";
-        sha512 = "2hl7iz90jal2f27hgyb5rbmcp96p182xkmflyj5rsyqqffng8vkzz3fcjvbvcpdykij40ax4yirdc6p68yrmjvai7hr8y93mj20indz";
+        url = "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.3.tgz";
+        sha512 = "r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA==";
       };
     };
     "@jest/console-24.9.0" = {
@@ -145,7 +145,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz";
-        sha512 = "0nwvmyk8p01b6331xizblr7h9kkgp8rybjpfj1pa57h9w47lsnpyzzhh9vsji9q361bg17fmxwkgxs10k7nk9lcmfvphag7qipzms36";
+        sha512 = "Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==";
       };
     };
     "@jest/core-24.9.0" = {
@@ -154,7 +154,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz";
-        sha512 = "3c0jsaq55pcz4gx9sg9dccqpakbdfplm0w715lw904p8lvvz6p9899j47ndfcpnb5pba3vdzr96f5gmanwgmskyapshm51hrvg2120n";
+        sha512 = "Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==";
       };
     };
     "@jest/environment-24.9.0" = {
@@ -163,7 +163,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz";
-        sha512 = "1lpii90h62jy8h2awivnqdjarsicik5g1npmsyjm8yq24iv3n6d0ilgajw3v95qrw5m2gcpsy82cyqb35xkn9sn7i4gg1ngwjb503g4";
+        sha512 = "5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==";
       };
     };
     "@jest/fake-timers-24.9.0" = {
@@ -172,7 +172,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz";
-        sha512 = "3s57a5043fphl08b2gb8frph1gm1x47lb7za0n0iqspr4p0iwibvm7wmzgal27b8h2v93i229cyh786kymy80l3b3bhqjwqmlsiqr3r";
+        sha512 = "eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==";
       };
     };
     "@jest/reporters-24.9.0" = {
@@ -181,7 +181,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz";
-        sha512 = "0dkr3yy0x1n8b1226aczwz75785nl21hh913sadyqj48j0fq4sr9n2q2b2v23gqg6p63p4hcjcsdadlway599n57bgvf7ns539igvls";
+        sha512 = "mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==";
       };
     };
     "@jest/source-map-24.9.0" = {
@@ -190,7 +190,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz";
-        sha512 = "038h2qlv880agd1b1mqxmkxbqv76ikcvdas4gjzkppg77yzd61ww2nwvliwgymc860niaa9xsi2p5svrwg80hrk4w6bwrbcd723nz7x";
+        sha512 = "/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==";
       };
     };
     "@jest/test-result-24.9.0" = {
@@ -199,7 +199,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz";
-        sha512 = "2464cq11b9d51nrx8j5vi5m2572rrhi001l2lxz84wg5r6bkpskkszrk3s47w51h1rgm668ix0fgzwhgihjcxkafiy15738n0fnnhaw";
+        sha512 = "XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==";
       };
     };
     "@jest/test-sequencer-24.9.0" = {
@@ -208,7 +208,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz";
-        sha512 = "3h61jyz33sya4wglmvp4f1m5lhxagwv76gdbjafdxfc1nag58vdv4b65yiggsry5xx9ixjd8j1grjw3d3rsjy8gpifnv49li99srapa";
+        sha512 = "6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==";
       };
     };
     "@jest/transform-24.9.0" = {
@@ -217,7 +217,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz";
-        sha512 = "2cwna8zadqd9ahyf32pyg0hgrnn8qwwg55cdyw5imfbvj9g9kljwsbagx87074kzp3rdai22glvwkwpv7lk0aa49dw5ziai4fdi9i2d";
+        sha512 = "TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==";
       };
     };
     "@jest/types-24.9.0" = {
@@ -226,25 +226,16 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz";
-        sha512 = "03hdscpch75yk366szkrfi63n6mqd5hscqslcpxklq5j99n05qg1p54zj51jhcld1dvkc4hgw0vmzjcr0qncphfb54yx9jsxp6vp8jw";
+        sha512 = "XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==";
       };
     };
-    "@kubernetes/client-node-0.10.3" = {
+    "@kubernetes/client-node-0.10.1" = {
       name = "_at_kubernetes_slash_client-node";
       packageName = "@kubernetes/client-node";
-      version = "0.10.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@kubernetes/client-node/-/client-node-0.10.3.tgz";
-        sha512 = "0ra42q33nywyiwiccxcg501ajdc1rz1lvg6kfwk6xypi1vlkmmvxiywc20y4s6v48i40m8j5sl2y40ni9jg7v396w86wcczsb6va3wv";
-      };
-    };
-    "@sindresorhus/is-0.7.0" = {
-      name = "_at_sindresorhus_slash_is";
-      packageName = "@sindresorhus/is";
-      version = "0.7.0";
+      version = "0.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz";
-        sha512 = "2ilygr40l2yqbk6lix4xnnnqsq6fxa6sysdxg49bg1ax5gzhwy3bcjbdlk7lndgh9055slpx6fybs3p8mhvbsnnjkmkqzrfy8l5mn1q";
+        url = "https://registry.npmjs.org/@kubernetes/client-node/-/client-node-0.10.1.tgz";
+        sha512 = "AOfrCPa5oqdk/7lzIVU+4yYPlphc8cGW+kbiJAS5+GTbUpo62f5jPbWSPv83jTjQwfhWucj3t+3VHxQGdNexsw==";
       };
     };
     "@types/accepts-1.3.5" = {
@@ -253,7 +244,7 @@ let
       version = "1.3.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz";
-        sha512 = "30y19l2wp8plrlgcj6fn0qc7wdy72rcn69zvmn8463738bx4mz7pxwl8dml92gi7y1ry2hqzaq0ljvk8wfp6f9k0v092kpazlingrwc";
+        sha512 = "jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==";
       };
     };
     "@types/axios-0.14.0" = {
@@ -271,25 +262,25 @@ let
       version = "7.0.7";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.7.tgz";
-        sha512 = "18iifcb27svl3qmsh5vvpidyw3cj6hhif0il25xsg76vq9gb4h8gmfqs5hv3is2dab09a6nwbinf6f1q641spv7spr33a9ynxp426vl";
+        sha512 = "dBtBbrc+qTHy1WdfHYjBwRln4+LWqASWakLHsWHR2NWHIFkv4W3O070IGoGLEBrJBvct3r0L1BUPuvURi7kYUQ==";
       };
     };
-    "@types/babel__core-7.1.6" = {
+    "@types/babel__core-7.1.3" = {
       name = "_at_types_slash_babel__core";
       packageName = "@types/babel__core";
-      version = "7.1.6";
+      version = "7.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.6.tgz";
-        sha512 = "17ggrqy35zds8rkpa2kglnk8f5dc43sgbkbjcfjbaygi53jxwm9ji6vr1xqanhs2yn4spla51fjdypl2hsfdrkfhpkzban0ridf2fdm";
+        url = "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.3.tgz";
+        sha512 = "8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA==";
       };
     };
-    "@types/babel__generator-7.6.1" = {
+    "@types/babel__generator-7.6.0" = {
       name = "_at_types_slash_babel__generator";
       packageName = "@types/babel__generator";
-      version = "7.6.1";
+      version = "7.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz";
-        sha512 = "1xw1hijlii2sxf25d5pcqlgqsb6vpzw7c3z9s0s20f1cdyyb768cajmxxk3l1c9g8md3h797v6pzvjvpjmw8q83aw8w69agcpxsc4kc";
+        url = "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.0.tgz";
+        sha512 = "c1mZUu4up5cp9KROs/QAw0gTeHrw/x7m52LcnvMxxOZ03DmLwPV0MlGmlgzV3cnSdjhJOZsj7E7FHeioai+egw==";
       };
     };
     "@types/babel__template-7.0.2" = {
@@ -298,16 +289,16 @@ let
       version = "7.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz";
-        sha512 = "199fw9pirw68kdc47d80sy6gg5g6m8raxawnxwpcs0nc6bmxrv19qmv1212lfyw67a2l5b5abxz9g0i1fwnrxm6h6rqkv4njw5b7bpw";
+        sha512 = "/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==";
       };
     };
-    "@types/babel__traverse-7.0.9" = {
+    "@types/babel__traverse-7.0.7" = {
       name = "_at_types_slash_babel__traverse";
       packageName = "@types/babel__traverse";
-      version = "7.0.9";
+      version = "7.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.9.tgz";
-        sha512 = "2vza0zha9nrlal5hgfdbaavx6xqxq195whl8274barqkyw26vrvvi9d7jkwp4harbx158wsxwjh4ypgkyb9w9cg73iz7fkdppq50hcc";
+        url = "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.7.tgz";
+        sha512 = "CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw==";
       };
     };
     "@types/babylon-6.16.5" = {
@@ -316,16 +307,16 @@ let
       version = "6.16.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.5.tgz";
-        sha512 = "3pvh96p07fz7ib5j5519lk4xm59i6yv2dyy4xsmjv853fi61lziwz0q03y3bih2nvvskcy82jqsaxaadagjmrr9wdbkv9m5qzkrwzf4";
+        sha512 = "xH2e58elpj1X4ynnKp9qSnWlsRTIs6n3tgLGNfwAGHwePw0mulHQllV34n0T25uYSu1k0hRKkWXF890B1yS47w==";
       };
     };
-    "@types/body-parser-1.19.0" = {
+    "@types/body-parser-1.17.1" = {
       name = "_at_types_slash_body-parser";
       packageName = "@types/body-parser";
-      version = "1.19.0";
+      version = "1.17.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz";
-        sha512 = "0av4v9bdhgbq0jils3jajym9gcfddyx63g2xx8fh6vqafqb5vdcm98p1kfl70ydih9m393zp13krslmii5bmf05ngyaxn139nn0kpsv";
+        url = "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.17.1.tgz";
+        sha512 = "RoX2EZjMiFMjZh9lmYrwgoP9RTpAjSHiJxdp4oidAQVO02T7HER3xj9UKue5534ULWeqVEkujhWcyvUce+d68w==";
       };
     };
     "@types/caseless-0.12.2" = {
@@ -334,7 +325,7 @@ let
       version = "0.12.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz";
-        sha512 = "39jv2a7v9mi41wxbv242icriy5asbzyk95iy25ay3gwa1d6yi40cd6gclbzn81hig9xvvi5z7j2gq4ybirjfyihpq8wa3s160r33jg9";
+        sha512 = "6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==";
       };
     };
     "@types/command-line-args-5.0.0" = {
@@ -343,34 +334,34 @@ let
       version = "5.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.0.0.tgz";
-        sha512 = "0vcqbwg68hir26fcyaqqn0w6i70cas8zn2ibhk9j0vl5mnwd2j448fvl6lqx5cny62szngdbjz6bxqfiz3ig360w3x663pr55gqzqz1";
+        sha512 = "4eOPXyn5DmP64MCMF8ePDvdlvlzt2a+F8ZaVjqmh2yFCpGjc1kI3kGnCFYX9SCsGTjQcWIyVZ86IHCEyjy/MNg==";
       };
     };
-    "@types/connect-3.4.33" = {
+    "@types/connect-3.4.32" = {
       name = "_at_types_slash_connect";
       packageName = "@types/connect";
-      version = "3.4.33";
+      version = "3.4.32";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz";
-        sha512 = "3n5gxr7z1jn60gvcnzls1c3fgzbv171acdp4shbn095wnbb8hdba3cjq1sac8aina3bg957ww5hg89swcgbdjfp9irmkkiqfs8npqfv";
+        url = "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz";
+        sha512 = "4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==";
       };
     };
-    "@types/cookies-0.7.4" = {
+    "@types/cookies-0.7.3" = {
       name = "_at_types_slash_cookies";
       packageName = "@types/cookies";
-      version = "0.7.4";
+      version = "0.7.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.4.tgz";
-        sha512 = "2pzkddkjlxs4h8rpkh6xd381f0m6hwhxsmfx7f4vkzjxv55hyvdx7km3ks4wckd7jz0rfzzr45nphaggj48q0iwin25n0ar6qrsscd1";
+        url = "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.3.tgz";
+        sha512 = "NEkYn8pNsYZIxf3ZrjdPoeyueiPc0RbQClUpTwmdHkpmQQ8iDAlQYKpabuegHy7BJcqTteSTkhURMEs9ZxyEWg==";
       };
     };
-    "@types/cron-1.7.2" = {
+    "@types/cron-1.7.1" = {
       name = "_at_types_slash_cron";
       packageName = "@types/cron";
-      version = "1.7.2";
+      version = "1.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/cron/-/cron-1.7.2.tgz";
-        sha512 = "17az71shn84qjqsnb5646z4amysvnhmgpsxj0ja2w2zlykmn7m3q1bchgrd30indnd0z8ryxzhisgd78yij87nv04wjfm9c2wnlsjh0";
+        url = "https://registry.npmjs.org/@types/cron/-/cron-1.7.1.tgz";
+        sha512 = "48brwgU18DqA0mQX1As5OcJEo1yNjaXMM6Mk4r8K1dOzLJRQ37FE/kCivKx7ClKEHfhX2FdcxKzJ1B744a+V3A==";
       };
     };
     "@types/events-3.0.0" = {
@@ -379,25 +370,34 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz";
-        sha512 = "3v6shgxnlkc7izsc00g8ilpxi1q2mpcmbjyfawyqcj8mwfhlx2cnkm3hj87gsd39yyq33pilb0dbb4cdc8wwhn7dcwj4srg0amrp8qi";
+        sha512 = "EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==";
       };
     };
-    "@types/express-4.17.3" = {
+    "@types/express-4.17.1" = {
       name = "_at_types_slash_express";
       packageName = "@types/express";
-      version = "4.17.3";
+      version = "4.17.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express/-/express-4.17.3.tgz";
-        sha512 = "1vd6aidhc6l28s5r9hjg2bzmmbmqp0dspsdp2h6affggfb9g8rzzxnbjxdan9n1b1n0d44n3amcx6yvzs1pdrzinf5j79zpk120dir3";
+        url = "https://registry.npmjs.org/@types/express/-/express-4.17.1.tgz";
+        sha512 = "VfH/XCP0QbQk5B5puLqTLEeFgR8lfCJHZJKkInZ9mkYd+u8byX0kztXEQxEk4wZXJs8HI+7km2ALXjn4YKcX9w==";
       };
     };
-    "@types/express-serve-static-core-4.17.2" = {
+    "@types/express-serve-static-core-4.16.9" = {
       name = "_at_types_slash_express-serve-static-core";
       packageName = "@types/express-serve-static-core";
-      version = "4.17.2";
+      version = "4.16.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.16.9.tgz";
+        sha512 = "GqpaVWR0DM8FnRUJYKlWgyARoBUAVfRIeVDZQKOttLFp5SmhhF9YFIYeTPwMd/AXfxlP7xVO2dj1fGu0Q+krKQ==";
+      };
+    };
+    "@types/form-data-2.5.0" = {
+      name = "_at_types_slash_form-data";
+      packageName = "@types/form-data";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.2.tgz";
-        sha512 = "1pa7rrhwf6wzp8lnbk2zjgvc2sxks36bw23p060kz1mm4kwyipddhn9zg4n2wnmym7a9ahw6fhk3ircal30f8ih8i7ancrdjwr74pqj";
+        url = "https://registry.npmjs.org/@types/form-data/-/form-data-2.5.0.tgz";
+        sha512 = "23/wYiuckYYtFpL+4RPWiWmRQH2BjFuqCUi2+N3amB1a1Drv+i/byTrGvlLwRVLFNAZbwpbQ7JvTK+VCAPMbcg==";
       };
     };
     "@types/formidable-1.0.31" = {
@@ -406,7 +406,7 @@ let
       version = "1.0.31";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/formidable/-/formidable-1.0.31.tgz";
-        sha512 = "3fx9xxa6d30fvgc3rkag182sjjpi43qdyzf9l6l050zi8hk2h4511m0pb59k7ha611khkjg7bamvxry5v1ig1zdb4lgsi15vzk4r23l";
+        sha512 = "dIhM5t8lRP0oWe2HF8MuPvdd1TpPTjhDMAqemcq6oIZQCBQTovhBAdTQ5L5veJB4pdQChadmHuxtB0YzqvfU3Q==";
       };
     };
     "@types/glob-7.1.1" = {
@@ -415,7 +415,7 @@ let
       version = "7.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz";
-        sha512 = "3dhbgdkzpgx010hfgkhndrb094kbd3z6s4waicihnl0rp3jk0f0gs8vvzi84xzissrhml1dfgvbdhahzbh75nny1g6429fnqvlp866l";
+        sha512 = "1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==";
       };
     };
     "@types/http-assert-1.5.1" = {
@@ -424,7 +424,7 @@ let
       version = "1.5.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.1.tgz";
-        sha512 = "1cn6djbpsp6rky1sllzs6s311xz0zhzkwb38s68w83ij8whsygjr87ymzbp0x3gbxxnvhfa1xh1c5vxfan6q3dz2gbjgiv9kzphlq1w";
+        sha512 = "PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ==";
       };
     };
     "@types/istanbul-lib-coverage-2.0.1" = {
@@ -433,16 +433,16 @@ let
       version = "2.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz";
-        sha512 = "2b0br9w70brjpzw8ck05lr79v6hc4sdk1q2jq6qs55nw869ylsfwng48ghj0yjcm9skkn76g8ry8rdf2b35i2iynbh957k7m3cl64l5";
+        sha512 = "hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==";
       };
     };
-    "@types/istanbul-lib-report-3.0.0" = {
+    "@types/istanbul-lib-report-1.1.1" = {
       name = "_at_types_slash_istanbul-lib-report";
       packageName = "@types/istanbul-lib-report";
-      version = "3.0.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz";
-        sha512 = "2parlinb7jrj152li79c6fs089y970f0s7yvzpkid8m4r8cgr9rn54bhg5ak7hsw6yvs9isx0diwjq20fb3dggnc5la2m6z0dfa0ld6";
+        url = "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz";
+        sha512 = "3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==";
       };
     };
     "@types/istanbul-reports-1.1.1" = {
@@ -451,61 +451,70 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz";
-        sha512 = "0s1jhax5h82lqchx13zj07h3zpyhqzckbnc76yl3a864xy91x11s06q3b2nds5pi89059xxa2b57p45ja90da60hr1gay9i5w3275jj";
+        sha512 = "UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==";
       };
     };
-    "@types/jest-24.9.1" = {
+    "@types/jest-24.0.15" = {
       name = "_at_types_slash_jest";
       packageName = "@types/jest";
-      version = "24.9.1";
+      version = "24.0.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/jest/-/jest-24.0.15.tgz";
+        sha512 = "MU1HIvWUme74stAoc3mgAi+aMlgKOudgEvQDIm1v4RkrDudBh1T+NFp5sftpBAdXdx1J0PbdpJ+M2EsSOi1djA==";
+      };
+    };
+    "@types/jest-diff-20.0.1" = {
+      name = "_at_types_slash_jest-diff";
+      packageName = "@types/jest-diff";
+      version = "20.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/jest/-/jest-24.9.1.tgz";
-        sha512 = "3hkz9dl54is1hmjiscs6sdvmafpv192bb3qz6sq6yq862dhvl4i5qwqbikbkmcn1576jiccpvrc35kvlng132piy45hwm6j8lggrg8m";
+        url = "https://registry.npmjs.org/@types/jest-diff/-/jest-diff-20.0.1.tgz";
+        sha512 = "yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA==";
       };
     };
-    "@types/js-yaml-3.12.2" = {
+    "@types/js-yaml-3.12.1" = {
       name = "_at_types_slash_js-yaml";
       packageName = "@types/js-yaml";
-      version = "3.12.2";
+      version = "3.12.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.2.tgz";
-        sha512 = "2x03h69ivbpj4lsrpq698phn44jbq45jq31zdr7k30phrfv8r0gxr35qi98qbqa6rb599k8nhgj7gwnvll5lw6ml5j263961vz6w8fh";
+        url = "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.1.tgz";
+        sha512 = "SGGAhXLHDx+PK4YLNcNGa6goPf9XRWQNAUUbffkwVGGXIxmDKWyGGL4inzq2sPmExu431Ekb9aEMn9BkPqEYFA==";
       };
     };
-    "@types/keygrip-1.0.2" = {
+    "@types/keygrip-1.0.1" = {
       name = "_at_types_slash_keygrip";
       packageName = "@types/keygrip";
-      version = "1.0.2";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.2.tgz";
-        sha512 = "0mqq8pzrfh058ha153xmyrbvcwpqq02z0ap89pw2rgfw9ll8c78dnxa0161i3pjhz7q0n7kizh73841637s4spc35qygnkkx96nk60q";
+        url = "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.1.tgz";
+        sha1 = "ff540462d2fb4d0a88441ceaf27d287b01c3d878";
       };
     };
-    "@types/koa-2.11.2" = {
+    "@types/koa-2.0.48" = {
       name = "_at_types_slash_koa";
       packageName = "@types/koa";
-      version = "2.11.2";
+      version = "2.0.48";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/koa/-/koa-2.11.2.tgz";
-        sha512 = "2b2i4xy8zwfig5p744i5n32krsyvgbdjg1nzr2dawwykr9m6zp37l4g8m0mr7936yzd80yiwn2rmq4n6d1fcj6dkndnwd8dm2axwhyr";
+        url = "https://registry.npmjs.org/@types/koa/-/koa-2.0.48.tgz";
+        sha512 = "CiIUYhHlOFJhSCTmsFoFkV2t9ij1JwW26nt0W9XZoWTvmAw6zTE0+k3IAoGICtjzIfhZpZcO323NHmI1LGmdDw==";
       };
     };
-    "@types/koa-compose-3.2.5" = {
+    "@types/koa-compose-3.2.4" = {
       name = "_at_types_slash_koa-compose";
       packageName = "@types/koa-compose";
-      version = "3.2.5";
+      version = "3.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.5.tgz";
-        sha512 = "02hhnlq6kz27g5y2vlnj3pk1rnm16gh2qb7hf3gpxrarxrz35pc40y0aiz34ncaiggpk8306yz9q0pwm75mc099m1cy9m04xbycdj87";
+        url = "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.4.tgz";
+        sha512 = "ioou0rxkuWL+yBQYsHUQAzRTfVxAg8Y2VfMftU+Y3RA03/MzuFL0x/M2sXXj3PkfnENbHsjeHR1aMdezLYpTeA==";
       };
     };
-    "@types/koa-router-7.4.0" = {
+    "@types/koa-router-7.0.41" = {
       name = "_at_types_slash_koa-router";
       packageName = "@types/koa-router";
-      version = "7.4.0";
+      version = "7.0.41";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/koa-router/-/koa-router-7.4.0.tgz";
-        sha512 = "1m9sk2skfl0vrggx53s3d3aw2ijphxkig9mjiw90016ljmz7hryyi3z74qxwmfvwg265k0cvhffq0c7j1aaxd210klsl9w2cf274hqa";
+        url = "https://registry.npmjs.org/@types/koa-router/-/koa-router-7.0.41.tgz";
+        sha512 = "WZwdCzMOvx2zA4MTinmrzqn66I87mE8S5lFgVY05/BVKULDi2Yup2Q2AOnw9vvaLME4IVJhWAeXpZjdZpKZDtg==";
       };
     };
     "@types/koa-send-4.1.2" = {
@@ -514,7 +523,7 @@ let
       version = "4.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/koa-send/-/koa-send-4.1.2.tgz";
-        sha512 = "10xa7f3s5sdnr0ks3gbdmd635qyj160yj9b737qagw4bqbzg0hbk3irnvih4y0dc3i5lg8m8jf4p0nx52gv4vwwyhvxn5avzwi8mymd";
+        sha512 = "rfqKIv9bFds39Jxvsp8o3YJLnEQVPVriYA14AuO2OY65IHh/4UX4U/iMs5L0wATpcRmm1bbe0BNk23TRwx3VQQ==";
       };
     };
     "@types/koa-static-4.0.1" = {
@@ -523,25 +532,25 @@ let
       version = "4.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/koa-static/-/koa-static-4.0.1.tgz";
-        sha512 = "3isnj0yxhf6xg0ymb317xj4a4fxdywk1xb0wadc5ghimab8m3q6vx3yv7zzyi84hx8wdm83fw65z108n0cdvnhij28hfw64jyvmqaj9";
+        sha512 = "SSpct5fEcAeRkBHa3RiwCIRfDHcD1cZRhwRF///ZfvRt8KhoqRrhK6wpDlYPk/vWHVFE9hPGqh68bhzsHkir4w==";
       };
     };
-    "@types/koa-views-2.0.4" = {
+    "@types/koa-views-2.0.3" = {
       name = "_at_types_slash_koa-views";
       packageName = "@types/koa-views";
-      version = "2.0.4";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/koa-views/-/koa-views-2.0.4.tgz";
-        sha512 = "2bkbmh8mba0sm82lp0ividj4l09lbmdw1swfpf7kvdrc1q3710q1y57zysr0kpg3j4ngy4m4gf73a4cwqcjx1rsbmjb22wgp1a42qb8";
+        url = "https://registry.npmjs.org/@types/koa-views/-/koa-views-2.0.3.tgz";
+        sha512 = "XLn//7qUUz2U9ZKXyHPwVIcQbZcW3phYTFXHGa1eW5BN88bi8n2fegvwJ+TokL2jRmRqBWwMB5p7Aab9iq1sZw==";
       };
     };
-    "@types/lodash-4.14.149" = {
+    "@types/lodash-4.14.140" = {
       name = "_at_types_slash_lodash";
       packageName = "@types/lodash";
-      version = "4.14.149";
+      version = "4.14.140";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.149.tgz";
-        sha512 = "0jnvvzg602jxgjxl0fvi7iws4msvxvkff6mqvinyy0fcmxfxrpf46k30r6s0z7cb12r17sg0j6nbhg8s8xbvgf2rmgv0vvzkg6slcca";
+        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.140.tgz";
+        sha512 = "OU57uYCUUv9s8lgQTYuQlL6xkttWtz8VLCJSnt8ikla9+UXqMGJ8adCprSw7egJHSHwGvFpGhfpQDtHm/NQ3Cw==";
       };
     };
     "@types/lodash.clonedeep-4.5.6" = {
@@ -550,7 +559,7 @@ let
       version = "4.5.6";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/lodash.clonedeep/-/lodash.clonedeep-4.5.6.tgz";
-        sha512 = "2010qs0qh6d3vd77rhbwid7xvq511bgzp9vj4s3k2mlzqj78jwgb60dc84mdl4c38fz3bgx5shl6k57dm9mxbw90iq0s4lxpmi66kbh";
+        sha512 = "cE1jYr2dEg1wBImvXlNtp0xDoS79rfEdGozQVgliDZj1uERH4k+rmEMTudP9b4VQ8O6nRb5gPqft0QzEQGMQgA==";
       };
     };
     "@types/mime-2.0.1" = {
@@ -559,7 +568,7 @@ let
       version = "2.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/mime/-/mime-2.0.1.tgz";
-        sha512 = "35iimmp0d3zg4774qavnq9wh54dgnxfks59fks65f8q8d1008x00a1fmkdnxcs27znlc69mzbxp1frzpxx85c5w4x0ha5prgs0ks0hp";
+        sha512 = "FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw==";
       };
     };
     "@types/minimatch-3.0.3" = {
@@ -568,7 +577,7 @@ let
       version = "3.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz";
-        sha512 = "2ff7lcgph45bp2v5zsaxcy00rbh5n5h4njbicwhqilz66pd1lw7xfrpfl4i4ppfcx78zg9cp582b5fjif0dg7r18m44vxfksslvlyml";
+        sha512 = "tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==";
       };
     };
     "@types/mkdirp-0.5.2" = {
@@ -577,25 +586,25 @@ let
       version = "0.5.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz";
-        sha512 = "177ihvl818zn0w93xipz417pm2cj2jzwnqs2khkj0k2dd7gs6ssv460affznfiii54a5l8qffigcq6xl74zsy6339c7cqpvkdd9r62k";
+        sha512 = "U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==";
       };
     };
-    "@types/node-10.17.17" = {
+    "@types/node-10.14.19" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "10.17.17";
+      version = "10.14.19";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-10.17.17.tgz";
-        sha512 = "3qw8j56g9078d7lahi73ifnpbk2x385diqgq1qgr62drcxbqgjnkbncy25nhdas05hwkfgzf69r2bj4x6mdwr1yrsrmbpagfr36g4w2";
+        url = "https://registry.npmjs.org/@types/node/-/node-10.14.19.tgz";
+        sha512 = "j6Sqt38ssdMKutXBUuAcmWF8QtHW1Fwz/mz4Y+Wd9mzpBiVFirjpNQf363hG5itkG+yGaD+oiLyb50HxJ36l9Q==";
       };
     };
-    "@types/node-12.12.30" = {
+    "@types/node-12.0.8" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "12.12.30";
+      version = "12.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.12.30.tgz";
-        sha512 = "0rdl54cn0jbb3g2mlp09fywwf8d6plyspmiggr5rja9z93z4n606kj8srbgjk9f83wjxd9qmq20ixj2a90369whvrmsbsp4zhblqgxk";
+        url = "https://registry.npmjs.org/@types/node/-/node-12.0.8.tgz";
+        sha512 = "b8bbUOTwzIY3V5vDTY1fIJ+ePKDUBqt2hC2woVGotdQQhG/2Sh62HOKHrT7ab+VerXAcPyAiTEipPu/FsreUtg==";
       };
     };
     "@types/ora-3.2.0" = {
@@ -604,7 +613,7 @@ let
       version = "3.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/ora/-/ora-3.2.0.tgz";
-        sha512 = "3xvxw1cs55wdb1ihpg8df91crz17agjwq79kd342s137kwkz823n8adxxrr74fnb1rn0ffsq9zacyz2cv642ljn41dj39ha2pvpsncf";
+        sha512 = "jll99xUKpiFbIFZSQcxm4numfsLaOWBzWNaRk3PvTSE7BPqTzzOCFmS0mQ7m8qkTfmYhuYbehTGsxkvRLPC++w==";
       };
     };
     "@types/range-parser-1.2.3" = {
@@ -613,16 +622,16 @@ let
       version = "1.2.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz";
-        sha512 = "0w59kqlbrl9ich2pv2xqanzmg9f51404zqsba9l8aimqd77zbrdxcyq9q13xfnhr0d1dz4mx6z7n976ryc2nk2gfch5p507njm5f0bv";
+        sha512 = "ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==";
       };
     };
-    "@types/request-2.48.4" = {
+    "@types/request-2.48.1" = {
       name = "_at_types_slash_request";
       packageName = "@types/request";
-      version = "2.48.4";
+      version = "2.48.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/request/-/request-2.48.4.tgz";
-        sha512 = "21mnsvbrykpzp1f1rd2ibk3nsgr8kyqikk5rdmq4qlkpf10gnpxp414hnvnbwjp27l5hvpc5l0fx0qhw20h7zi143qw6iwq68qpansv";
+        url = "https://registry.npmjs.org/@types/request/-/request-2.48.1.tgz";
+        sha512 = "ZgEZ1TiD+KGA9LiAAPPJL68Id2UWfeSO62ijSXZjFJArVV+2pKcsVHmrcu+1oiE3q6eDGiFiSolRc4JHoerBBg==";
       };
     };
     "@types/serve-static-1.13.3" = {
@@ -631,7 +640,7 @@ let
       version = "1.13.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.3.tgz";
-        sha512 = "39fm32fi9qpb1bz4q399y9rzv02ywml2m1qmclyr1ckrmy4vdn8nv5f9986ckn19yapxif0ljs0gc717xd7dmssjnh37qrxkp1d56m2";
+        sha512 = "oprSwp094zOglVrXdlo/4bAHtKTAxX6VT8FOZlBKrmyLbNvE1zxZyJ6yikMVtHIvwP45+ZQGJn+FdXGKTozq0g==";
       };
     };
     "@types/stack-utils-1.0.1" = {
@@ -640,25 +649,25 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz";
-        sha512 = "29j551rin7d7ygf7pd95db51b4jf48vsjnl03l4djdi6sh5jsk2f4kxwf21ixzj92mwq8y4cfhbcihwppxfkm4pkb5sqiv91a1833cp";
+        sha512 = "l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==";
       };
     };
-    "@types/tough-cookie-2.3.6" = {
+    "@types/tough-cookie-2.3.5" = {
       name = "_at_types_slash_tough-cookie";
       packageName = "@types/tough-cookie";
-      version = "2.3.6";
+      version = "2.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.6.tgz";
-        sha512 = "0yla1v86agvz3wlkdjcn7i4hpgb02nwjsafg0xkdkclbiil08fkxjj9c4q4yj785ps3gdc5p3sqx2y0rajg1v6x068ih418g4r42wy0";
+        url = "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.5.tgz";
+        sha512 = "SCcK7mvGi3+ZNz833RRjFIxrn4gI1PPR3NtuIS+6vMkvmsGjosqTJwRt5bAEFLRz+wtJMWv8+uOnZf2hi2QXTg==";
       };
     };
-    "@types/underscore-1.9.4" = {
+    "@types/underscore-1.9.3" = {
       name = "_at_types_slash_underscore";
       packageName = "@types/underscore";
-      version = "1.9.4";
+      version = "1.9.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/underscore/-/underscore-1.9.4.tgz";
-        sha512 = "1czi6sv1hf482wlzsl9an3s18r033aiy54airz2558f1g32ppkz3jy44mnhzwyi9g87miwggp4l8yfgc95d4qg6qka6ywq2q48dcc8a";
+        url = "https://registry.npmjs.org/@types/underscore/-/underscore-1.9.3.tgz";
+        sha512 = "SwbHKB2DPIDlvYqtK5O+0LFtZAyrUSw4c0q+HWwmH1Ve3KMQ0/5PlV3RX97+3dP7yMrnNQ8/bCWWvQpPl03Mug==";
       };
     };
     "@types/websocket-0.0.40" = {
@@ -667,34 +676,34 @@ let
       version = "0.0.40";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/websocket/-/websocket-0.0.40.tgz";
-        sha512 = "0ajm2lr5mbfin316js7lzg3fvvhyd78ms1y929ppwqbg1fv6k9qnbcbz472p637xx29azlgiy3l0zzv4zvcmi9f7df5z0l80mkmxnwm";
+        sha512 = "ldteZwWIgl9cOy7FyvYn+39Ah4+PfpVE72eYKw75iy2L0zTbhbcwvzeJ5IOu6DQP93bjfXq0NGHY6FYtmYoqFQ==";
       };
     };
-    "@types/ws-6.0.4" = {
+    "@types/ws-6.0.3" = {
       name = "_at_types_slash_ws";
       packageName = "@types/ws";
-      version = "6.0.4";
+      version = "6.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/ws/-/ws-6.0.4.tgz";
-        sha512 = "318vy2l4c8cw6nm061l15pp3ss2llblyy2y7a8w92vp6da3n7s3iiha5shpxrmc5c3gv0ap0vq9x10vv64g5np1xggdlnwrnigyp4ry";
+        url = "https://registry.npmjs.org/@types/ws/-/ws-6.0.3.tgz";
+        sha512 = "yBTM0P05Tx9iXGq00BbJPo37ox68R5vaGTXivs6RGh/BQ6QP5zqZDGWdAO6JbRE/iR1l80xeGAwCQS2nMV9S/w==";
       };
     };
-    "@types/yargs-13.0.8" = {
+    "@types/yargs-13.0.3" = {
       name = "_at_types_slash_yargs";
       packageName = "@types/yargs";
-      version = "13.0.8";
+      version = "13.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.8.tgz";
-        sha512 = "36csm2rf0wi6cj680qswwvyl3lvh88ayl578165z8d1hxh6saswzn2g2zl5v20c08jg9rdjhqwwi336yj0jh6l76fy0yldv04pwf2sw";
+        url = "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.3.tgz";
+        sha512 = "K8/LfZq2duW33XW/tFwEAfnZlqIfVsoyRB3kfXdPXYhl0nfM8mmh7GS0jg7WrX2Dgq/0Ha/pR1PaR+BvmWwjiQ==";
       };
     };
-    "@types/yargs-parser-15.0.0" = {
+    "@types/yargs-parser-13.1.0" = {
       name = "_at_types_slash_yargs-parser";
       packageName = "@types/yargs-parser";
-      version = "15.0.0";
+      version = "13.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz";
-        sha512 = "35k8bcpm51w11xbny2a8gqgz12pdn3pw8w0jf36jzlkcmpkrqlqnqf9gbrwj9sah0pv05clzlgk2a7kvnr9q3h1za4rbw9dzxdc23ql";
+        url = "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-13.1.0.tgz";
+        sha512 = "gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg==";
       };
     };
     "@webassemblyjs/ast-1.8.5" = {
@@ -703,7 +712,7 @@ let
       version = "1.8.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz";
-        sha512 = "00rj3q9igpw0cihw48xx7qpmmv64yy821bvy52dqxqc7w8kq2hga2f2v2g5j83is5kdz4hfdla4a3h6q5lwpdshxynrzsqr0ag1z4v8";
+        sha512 = "aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==";
       };
     };
     "@webassemblyjs/floating-point-hex-parser-1.8.5" = {
@@ -712,7 +721,7 @@ let
       version = "1.8.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz";
-        sha512 = "2shwdw16zcsl2rkvyc8jlgcs5564si8m64b0v9f8ssmrxmrd84c82brnwbyblhynqldvyr8f3fl9pjvfgzw0phz0qm5mfzbc7svp7zn";
+        sha512 = "9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==";
       };
     };
     "@webassemblyjs/helper-api-error-1.8.5" = {
@@ -721,7 +730,7 @@ let
       version = "1.8.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz";
-        sha512 = "363avw28ls7abwqcy7wvhdr853pccnzd9b58i1k7l1aax5cads499b494i1lwj4nlb8ksypy3nchr97i9y5r57k91dag7ig7fgyvbv5";
+        sha512 = "Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==";
       };
     };
     "@webassemblyjs/helper-buffer-1.8.5" = {
@@ -730,7 +739,7 @@ let
       version = "1.8.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz";
-        sha512 = "3yxqbq2lizijhxxr5ics6i0c5hc6c00fw4dqlqiq669mr1b0zalzs0670psbddmd4sq3yks567n1wr00l5flg6lwf34xlcjfgr92ba6";
+        sha512 = "Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==";
       };
     };
     "@webassemblyjs/helper-code-frame-1.8.5" = {
@@ -739,7 +748,7 @@ let
       version = "1.8.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz";
-        sha512 = "0ljgrac16148nv6nbzk5jisalyjx3pgm4vdcbzympzn143367w1k82lvpr7iwrslildvi6ck1jj9vjqy8fj2fkyli6qhr4v5dsil02m";
+        sha512 = "VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==";
       };
     };
     "@webassemblyjs/helper-fsm-1.8.5" = {
@@ -748,7 +757,7 @@ let
       version = "1.8.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz";
-        sha512 = "2imw7y018r4hyvyaaw2cpvrv3qp9bv4vg816l2yvl79xwd2dnplmsmmwsv3vmy2b8mvdjzq0dknkd2i6sjbgpzgn4ychicfqvz9f6wi";
+        sha512 = "kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==";
       };
     };
     "@webassemblyjs/helper-module-context-1.8.5" = {
@@ -757,7 +766,7 @@ let
       version = "1.8.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz";
-        sha512 = "3gfr1zif7fxlfbpfkcqncq8vmrimncn6pmvh0x7av1pb82a9vhhahpy2mkrgdrc3w62gw0lbbhj4zwgrxzgabaf246vadx6gvdl3vgw";
+        sha512 = "/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==";
       };
     };
     "@webassemblyjs/helper-wasm-bytecode-1.8.5" = {
@@ -766,7 +775,7 @@ let
       version = "1.8.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz";
-        sha512 = "10klm32913whkdnjk7jgf262lgl6wqv9qkw6ssjg1lmlzwa0qbn159l962j6pfx3idzaf4w014gmcy17wssdri6v1xxj3dph4qiivha";
+        sha512 = "Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==";
       };
     };
     "@webassemblyjs/helper-wasm-section-1.8.5" = {
@@ -775,7 +784,7 @@ let
       version = "1.8.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz";
-        sha512 = "2s3d3bh4wrizs5y2p480qnxs5m1hx9pfkppa38f7mk9w49cfq6h0gq5c0q79aqrl4jpyzqzmrsdbyx9562q1bb547mm9y8i7kgkqpam";
+        sha512 = "VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==";
       };
     };
     "@webassemblyjs/ieee754-1.8.5" = {
@@ -784,7 +793,7 @@ let
       version = "1.8.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz";
-        sha512 = "3g8bqb43s1n4nrzn5f7vrhdpi88mnr49xpwcq5jb0ql7baslh3cxni2rijp0hng7daai5d0n7dnn0llyazis2mckwzvcaggi90sz839";
+        sha512 = "aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==";
       };
     };
     "@webassemblyjs/leb128-1.8.5" = {
@@ -793,7 +802,7 @@ let
       version = "1.8.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz";
-        sha512 = "3ncjzk3d9pjnjd0vfagpbaa02jpmgapq2hyamzpfpaidshgcyqbz6rfhfp3arvjcdxpws4d9bi0wf552pzr9vs9i8rv4y159jwi8mm6";
+        sha512 = "plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==";
       };
     };
     "@webassemblyjs/utf8-1.8.5" = {
@@ -802,7 +811,7 @@ let
       version = "1.8.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz";
-        sha512 = "27hlgvdfxw9arxzrdrnfd7zmzp953439jyjh8acb3g2nm0ysr9il2xl3v0dklr9yvv6jkmj7s9yi29l2izgghypxqvjrblhv5zf1g2k";
+        sha512 = "U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==";
       };
     };
     "@webassemblyjs/wasm-edit-1.8.5" = {
@@ -811,7 +820,7 @@ let
       version = "1.8.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz";
-        sha512 = "3lzdvq0vwmp3civ70pdrr3970i7viiywnwry8ysmvmfbd4zhkffs4d5vyy5ibvxmmass9nlmvs3cd8fwh633yx8prr0wnqc5wrl9383";
+        sha512 = "A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==";
       };
     };
     "@webassemblyjs/wasm-gen-1.8.5" = {
@@ -820,7 +829,7 @@ let
       version = "1.8.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz";
-        sha512 = "1d2nc7b2zjdyaxyrvxm5mck8aj0p95dznknn8j8wi5d3ah55zpf2kp18kk79l55fbb7k9vhri74yqbks9ay9qrwbh12si6l897l29h4";
+        sha512 = "BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==";
       };
     };
     "@webassemblyjs/wasm-opt-1.8.5" = {
@@ -829,7 +838,7 @@ let
       version = "1.8.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz";
-        sha512 = "3npgmsia24ap1yhdpdn1c9bwdq71glsxdyn7kyphz5x4gnxl97v04iwgcsaj2k1di5vgq1m8mlqfrllxk4fvviwl8xd11ylxyc3dahw";
+        sha512 = "HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==";
       };
     };
     "@webassemblyjs/wasm-parser-1.8.5" = {
@@ -838,7 +847,7 @@ let
       version = "1.8.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz";
-        sha512 = "2bprpybs2qm4m1fbdd877aqj8s153j4gg32bf8qnmigqnjcfwl6mxmbzb90xq7qx6zvwqniv4rirgd40b4c2qab6bfdgsjk9xh14bd6";
+        sha512 = "pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==";
       };
     };
     "@webassemblyjs/wast-parser-1.8.5" = {
@@ -847,7 +856,7 @@ let
       version = "1.8.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz";
-        sha512 = "2r6vw7gg4ij9mjl2f564mwnjsrn7nzsvr1gcrpch0f87xayvjky82f4cn6sh0d8714fpqqqrfq6a1797jnnqs2xidsp2n4abkac59bm";
+        sha512 = "daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==";
       };
     };
     "@webassemblyjs/wast-printer-1.8.5" = {
@@ -856,7 +865,7 @@ let
       version = "1.8.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz";
-        sha512 = "0r5hhrrqk2ww81xjvbxjglp0sh6igz55pjy45ly4786kq3b723vlhqsydr7j87sb3zyww9zvjil08jmk8dcr2978zpmk1h47sj38if3";
+        sha512 = "w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==";
       };
     };
     "@xtuc/ieee754-1.2.0" = {
@@ -865,7 +874,7 @@ let
       version = "1.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz";
-        sha512 = "1wczr2c331gq4q6w6nsiylqs6q6dp0j2lvc231826gfrdhr3lcimmyhswp4g0b5p7k7k525gq6gh0wpg65sjlp2s4f0n6ww18m2fzqd";
+        sha512 = "DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==";
       };
     };
     "@xtuc/long-4.2.2" = {
@@ -874,16 +883,16 @@ let
       version = "4.2.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz";
-        sha512 = "00n8akj5s578b8r7vcdz817cnmga21vznz895kygvb0j780968szj171f91b0bgvz880ff7zq025q4087cgxb2fqpyg01sgil2ymq9n";
+        sha512 = "NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==";
       };
     };
-    "abab-2.0.3" = {
+    "abab-2.0.2" = {
       name = "abab";
       packageName = "abab";
-      version = "2.0.3";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz";
-        sha512 = "192f58ba6nxqhzyxlp9dlj156ry71s8mlfvgbg37kj2slffixrwj2s3zwpnyyhy4mh5m7sy3idir119mk518hjhii6skd9djwz77hdn";
+        url = "https://registry.npmjs.org/abab/-/abab-2.0.2.tgz";
+        sha512 = "2scffjvioEmNz0OyDSLGWDfKCVwaKc6l9Pm9kOIREU13ClXZvHpg/nRL5xyjSSSLhOnXqft2HpsAzNEEA8cFFg==";
       };
     };
     "abbrev-1.1.1" = {
@@ -892,7 +901,7 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz";
-        sha512 = "38s4f3id97wsb0rg9nm9zvxyq0nvwrmrpa5dzvrkp36mf5ibs98b4z6lvsbrwzzs0sbcank6c7gpp06vcwp9acfhp41rzlhi3ybsxwy";
+        sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==";
       };
     };
     "accepts-1.3.7" = {
@@ -901,7 +910,7 @@ let
       version = "1.3.7";
       src = fetchurl {
         url = "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz";
-        sha512 = "2j51dxzbgz22q0k7dhivimfsqx9a0f0h9slfd7n20gz3y1944gx3y7xai54za0x3zhbar6vqiaab2i9p913cwqk414qk3cnrm138pr2";
+        sha512 = "Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==";
       };
     };
     "acorn-3.3.0" = {
@@ -922,31 +931,31 @@ let
         sha1 = "105495ae5361d697bd195c825192e1ad7f253787";
       };
     };
-    "acorn-5.7.4" = {
+    "acorn-5.7.3" = {
       name = "acorn";
       packageName = "acorn";
-      version = "5.7.4";
+      version = "5.7.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz";
-        sha512 = "0k4pivh1yagdalb26khf36wscaxi3kbv6w48zg5jsll2scl2wq4f4gxcq9ggnzf37l4y446n4a3bmr85wx0fnwk89pvp1n1drabwgyl";
+        url = "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz";
+        sha512 = "T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==";
       };
     };
-    "acorn-6.4.1" = {
+    "acorn-6.3.0" = {
       name = "acorn";
       packageName = "acorn";
-      version = "6.4.1";
+      version = "6.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz";
-        sha512 = "1s65pswzbh0155lsrdln08lifgs34zb53vkfl8fvxwnfmrc84vj01m9b31w4n846k7vk8lr5ns6wqf0fxc8xz98vkihldxsgn9ksl35";
+        url = "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz";
+        sha512 = "/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==";
       };
     };
-    "acorn-7.1.1" = {
-      name = "acorn";
-      packageName = "acorn";
-      version = "7.1.1";
+    "acorn-dynamic-import-4.0.0" = {
+      name = "acorn-dynamic-import";
+      packageName = "acorn-dynamic-import";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz";
-        sha512 = "29c8jlhwnfbnqa2s1v593lcpksv4hl56lywss4gy6w0mwmhx4ydf2n7var8bhcf39nm9asph0ybnf1hkw0s0j91qi7r99ir01v7pmv9";
+        url = "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz";
+        sha512 = "d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==";
       };
     };
     "acorn-globals-3.1.0" = {
@@ -964,7 +973,7 @@ let
       version = "4.3.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz";
-        sha512 = "38gm4qa9sr1znbnlv4w33f1zrqsvldv66yqlflsc7r5ifxwsnpizsa93yxd3d1a8wy08j424smizrywkzam36z4jpsf0ixm3l9d0mvj";
+        sha512 = "clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==";
       };
     };
     "acorn-walk-6.2.0" = {
@@ -973,34 +982,16 @@ let
       version = "6.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz";
-        sha512 = "1q392w8cii4phm8maghmlfjzgzmwhd2n0xadah315lqflygnaf5g7gn6lhbdfszf1sdqx5j4bik89qa6zg03n8cfj1b6w7my74yrszd";
-      };
-    };
-    "acorn-walk-7.1.1" = {
-      name = "acorn-walk";
-      packageName = "acorn-walk";
-      version = "7.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.1.1.tgz";
-        sha512 = "10s7pz9c2jqw7sjmkkwfb6kyyfgb7qqpmz2gc0fq9phhmfknyw029x1jbw0cwi47wbacpwkw65601arnid2l95lmz0xbzv6ddilznf1";
-      };
-    };
-    "aggregate-error-1.0.0" = {
-      name = "aggregate-error";
-      packageName = "aggregate-error";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aggregate-error/-/aggregate-error-1.0.0.tgz";
-        sha1 = "888344dad0220a72e3af50906117f48771925fac";
+        sha512 = "7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==";
       };
     };
-    "ajv-6.12.0" = {
+    "ajv-6.10.0" = {
       name = "ajv";
       packageName = "ajv";
-      version = "6.12.0";
+      version = "6.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz";
-        sha512 = "0gkcic96nmpcq311i2jfwbaa961x0mj7mkl7iwk213hyn4jgxbl0a472lcpg9dr7ybacn3i45fj6q0dz3g8rqmva7r14i9la240ba0g";
+        url = "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz";
+        sha512 = "nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==";
       };
     };
     "ajv-errors-1.0.1" = {
@@ -1009,7 +1000,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz";
-        sha512 = "24kqslzd256yc0dckqcg8n1rngyfzdflfznp55hnhkv3rhyzirjhpj31rgiiryyjlw8a64x9ba7hdqkpiwf6jpllwyyyhr7zqxmy90c";
+        sha512 = "DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==";
       };
     };
     "ajv-keywords-3.4.1" = {
@@ -1018,7 +1009,7 @@ let
       version = "3.4.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz";
-        sha512 = "1lyjmfg70gijr3gjs63qmawfazm5mz8vb1bknyy1vzdif6a30vi3dpwkrlv4j4i5dg56jd3fliqgfq0rxbm98a42jxbgnyxmdn65va4";
+        sha512 = "RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==";
       };
     };
     "align-text-0.1.4" = {
@@ -1036,7 +1027,7 @@ let
       version = "3.2.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz";
-        sha512 = "2n6gl8300ihln724832pvvzrii5c4qjli9xc16s632ywnyrfbv1kmcqg133v25583hqhflpsfi2yhkjy6nhzj0si5v36zhym0cifxc4";
+        sha512 = "hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==";
       };
     };
     "ansi-escapes-3.2.0" = {
@@ -1045,7 +1036,7 @@ let
       version = "3.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz";
-        sha512 = "12pp3q4c44hrzr2xl9vqjigwjn2wr1j0lhvshl75z5m6a97hqkd047sdcma1inzjvxhpkzk1qkvag7cw3sya32s9wsfasr6xsnnj63h";
+        sha512 = "cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==";
       };
     };
     "ansi-html-0.0.7" = {
@@ -1081,7 +1072,7 @@ let
       version = "4.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz";
-        sha512 = "1v2gfp292kslpvam0l0h1iba35yi0n7dc6qv6fmxsdyfcp6zakkl13vrh3hzsw4zgh50jrrsg7xb2q2hn4g8a0dmf947mfcylymxanm";
+        sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==";
       };
     };
     "ansi-styles-2.2.1" = {
@@ -1099,7 +1090,7 @@ let
       version = "3.2.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
-        sha512 = "2lgkskkj4c1fsnrksy0yffda0wss84p8lfiazdc7jli7iqnvrxkzbxjzpvx13lm28qw0zkawfxvz2bdiisc72ccy7hx8i8rm4iijgam";
+        sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
       };
     };
     "any-promise-1.3.0" = {
@@ -1117,7 +1108,7 @@ let
       version = "2.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz";
-        sha512 = "03mjsaw6xk4zhvl17fpqn59j4v2bafqs0yfw5y45hl8x97xlihwvjmcx3icnaamvipplnczymvzg4sb4ixwpzak0k3p21c00nqqxmz6";
+        sha512 = "5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==";
       };
     };
     "aproba-1.2.0" = {
@@ -1126,7 +1117,7 @@ let
       version = "1.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz";
-        sha512 = "13mgnbmdhdq0qncijvpip1l39q1a8labcvj3hc3n1yl2zch106mdkn7p7bd5knvmfkkn1js9nd47nzyjk1himbm8ry8i8gd6mk7mlk3";
+        sha512 = "Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==";
       };
     };
     "argparse-1.0.10" = {
@@ -1135,7 +1126,7 @@ let
       version = "1.0.10";
       src = fetchurl {
         url = "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz";
-        sha512 = "17fhywmdjcp8g0ys089i5xg26yajkkg9zg8hyry3fghz75b2pq5vdx997dk5p2sc15r9nsj8rmf4f27g81hi92kzj5q86sdmg5ni553";
+        sha512 = "o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==";
       };
     };
     "arr-diff-4.0.0" = {
@@ -1153,7 +1144,7 @@ let
       version = "1.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz";
-        sha512 = "2vdly17xk5kw7bfzajrjdnw4ml3wrfblx8064n0i4fxlchcscx2mvnwkq2bnnqvbqvdy4vs9ad462lz0rid7khysly9m9vzjiblly1g";
+        sha512 = "L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==";
       };
     };
     "arr-union-3.1.0" = {
@@ -1171,7 +1162,7 @@ let
       version = "3.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz";
-        sha512 = "3aqfm29ppm74q3q0xlxldmf1a3vbkl9a6fbljf211cfgc7asjbkdglbpr6a5a04r0rvnk7y709k6nvaqa2nb3df1ipgqfh2hl1v2jsf";
+        sha512 = "TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==";
       };
     };
     "array-equal-1.0.0" = {
@@ -1198,7 +1189,7 @@ let
       version = "2.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz";
-        sha512 = "2swmvaw9xcvzv29i247057pq4khyss7gnc0p244v1l2g2p2xpsr47m0dfaf54yscd3fc9njh3kvwly99w8shvd9p5fq6nvwwmqg7mw4";
+        sha512 = "hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==";
       };
     };
     "array-union-1.0.2" = {
@@ -1243,7 +1234,7 @@ let
       version = "0.2.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz";
-        sha512 = "1v2z1ll0l8rif8hh0d03jc49kz3p8hym63q8ixbas48w4a8akl413hwn08nx83m89sj3mxl06aa0grp7n8hj6hcbsb2k3fhj913674g";
+        sha512 = "jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==";
       };
     };
     "asn1.js-4.10.1" = {
@@ -1252,7 +1243,7 @@ let
       version = "4.10.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz";
-        sha512 = "15j9ms7k6dx08m1wqrvc4958vcrshjjpicpxmz9bflsyk0x2r7w20lxlm27jpyj7cwj6158a0582vifk393hqp0ysn9mlbabqw9qzd7";
+        sha512 = "p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==";
       };
     };
     "assert-1.5.0" = {
@@ -1261,7 +1252,7 @@ let
       version = "1.5.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz";
-        sha512 = "1n2xh5m359gm4my50j2206n32q2h044lqrl8h122gjn41fizlrh32j1lj7wqfix1iblyvi7zvdgvzbf97f840lr17vfk8ph1imj0fqh";
+        sha512 = "EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==";
       };
     };
     "assert-plus-1.0.0" = {
@@ -1288,16 +1279,16 @@ let
       version = "1.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz";
-        sha512 = "0ga6b0jymkw4jrfvjilhfrddml29l1nrvj7r57d140p7rn31mmbni4j9z343v2zzz2zcnlsr2s17kmlgjkyvs9pxrf88an11pm9y77r";
+        sha512 = "+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==";
       };
     };
-    "async-2.6.3" = {
+    "async-1.5.2" = {
       name = "async";
       packageName = "async";
-      version = "2.6.3";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async/-/async-2.6.3.tgz";
-        sha512 = "1g679kw2qqpqx1yd4s778r8rw3cv9qwmib5x3klk64kcl5ndw71bljcpav5jkk6grizlpvrqszsbs6fkmnlvcq5fnz2q33mrnb6zyfd";
+        url = "https://registry.npmjs.org/async/-/async-1.5.2.tgz";
+        sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a";
       };
     };
     "async-each-1.0.3" = {
@@ -1306,16 +1297,16 @@ let
       version = "1.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz";
-        sha512 = "00vbg0zvq40mmvzz9q3klkk5ly5jh75kc8s3bf7j2ff9zivla3wlc8d622gajjq4w66mln5570dc936my6wh08ippfj5jagj51s3xfg";
+        sha512 = "z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==";
       };
     };
-    "async-limiter-1.0.1" = {
+    "async-limiter-1.0.0" = {
       name = "async-limiter";
       packageName = "async-limiter";
-      version = "1.0.1";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz";
-        sha512 = "0sy81yyf4na58ic2m0ib0prkb9njb1qzl7wf3vlq4hhm4xnwgxaph0lr43gs1sd0rai2xp1h6phlwvni9jiggm94dd54i0wc1cabhvj";
+        url = "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz";
+        sha512 = "jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==";
       };
     };
     "asynckit-0.4.0" = {
@@ -1333,7 +1324,7 @@ let
       version = "2.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz";
-        sha512 = "1rbq2rl2ry0y3nkqs3013vgjrnzf03609rg58092r8zkvzzn6v15grhv2yhzb48sz74zmjcj8ix7f5whrfp4zvsxyzrh64fhs9awvjs";
+        sha512 = "Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==";
       };
     };
     "awesome-typescript-loader-5.2.1" = {
@@ -1342,7 +1333,7 @@ let
       version = "5.2.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/awesome-typescript-loader/-/awesome-typescript-loader-5.2.1.tgz";
-        sha512 = "3b9ng7k3l7342hb2qqggp8y84ifzgb7ncjwjjn770gy7fda0c9aq897i7c4gn4w8l02xg88pji4pad46wr6j5755wmwl1q9w3lglnxj";
+        sha512 = "slv66OAJB8orL+UUaTI3pKlLorwIvS4ARZzYR9iJJyGsEgOqueMfOMdKySWzZ73vIkEe3fcwFgsKMg4d8zyb1g==";
       };
     };
     "aws-sign2-0.7.0" = {
@@ -1354,22 +1345,22 @@ let
         sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
       };
     };
-    "aws4-1.9.1" = {
+    "aws4-1.8.0" = {
       name = "aws4";
       packageName = "aws4";
-      version = "1.9.1";
+      version = "1.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz";
-        sha512 = "2x4b6c0ny64yv6ljfs6sv82akh200klmnh1m1i18hdj28ksxkr9c0szphnwcasy3g5y3l1wn858wcxnc2gi9q5wql8s678fc61xbhf0";
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz";
+        sha512 = "ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==";
       };
     };
-    "axios-0.19.2" = {
+    "axios-0.19.0" = {
       name = "axios";
       packageName = "axios";
-      version = "0.19.2";
+      version = "0.19.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz";
-        sha512 = "0fa6ngb4rkbyp5r4ccjgs2ykdbz8i2hcr41av59jicgq6mfva739kcd6n5dqzj3hsx7d4qi201g93li3qddn14bz9qvh76irgj2cf3y";
+        url = "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz";
+        sha512 = "1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==";
       };
     };
     "babel-6.23.0" = {
@@ -1396,7 +1387,7 @@ let
       version = "6.26.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz";
-        sha512 = "0617drz6fkpdpkl4snbfz7ivd296j19182m7x4klhqac60qr77wn8bkgpz696sscxykcv1n8cdv09pz7v9xq6s1k552fyp6w0p8ag7a";
+        sha512 = "6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==";
       };
     };
     "babel-generator-6.26.1" = {
@@ -1405,7 +1396,7 @@ let
       version = "6.26.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz";
-        sha512 = "2jfjq7ggb0ygyzxg3vw248iq0iw2v00janjva1bf3l322k4zjcx9hvq9qqy67gxxyl2igw1asxfgp769hd5229pc70kwri9l1iz09qz";
+        sha512 = "HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==";
       };
     };
     "babel-helper-builder-binary-assignment-operator-visitor-6.24.1" = {
@@ -1516,13 +1507,22 @@ let
         sha1 = "3471de9caec388e5c850e597e58a26ddf37602b2";
       };
     };
+    "babel-jest-24.8.0" = {
+      name = "babel-jest";
+      packageName = "babel-jest";
+      version = "24.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-jest/-/babel-jest-24.8.0.tgz";
+        sha512 = "+5/kaZt4I9efoXzPlZASyK/lN9qdRKmmUav9smVc0ruPQD7IsfucQ87gpOE8mn2jbDuS6M/YOW6n3v9ZoIfgnw==";
+      };
+    };
     "babel-jest-24.9.0" = {
       name = "babel-jest";
       packageName = "babel-jest";
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz";
-        sha512 = "0iziajgh09ldyj02pmxdkxhzy1wj6n84az4l30p7pllaxlbz9g678q59b0309wfihbj82n4v85pi66n9crksz0f6chy2dx2zisrvnwy";
+        sha512 = "ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==";
       };
     };
     "babel-messages-6.23.0" = {
@@ -1549,7 +1549,7 @@ let
       version = "5.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz";
-        sha512 = "1kj4z39mavs3h7wmb3nwrvhjddb1r138q61nisldfzcb52aikgi0hgg7yvql7xlvy7pxygx7wka7gimvcvbdhjwidwcn0qj8l5n3fp4";
+        sha512 = "5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==";
       };
     };
     "babel-plugin-jest-hoist-24.9.0" = {
@@ -1558,7 +1558,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz";
-        sha512 = "1gvgnf01laddy7cnxb2ggd1qg1zlsj3s72azdvib6vi9sqmbc7snzhxy6xw4dsmpypb64ncqxlk1mmasy0sycqhs53bk9qmzzc00hyq";
+        sha512 = "2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==";
       };
     };
     "babel-plugin-syntax-async-functions-6.13.0" = {
@@ -1702,7 +1702,7 @@ let
       version = "6.26.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz";
-        sha512 = "3sy41x9jlzyzy6wzsj60asahzm6hg9gmr6r1cckdqhzmvckl7jbfb5zwr0nslndnhqgjwdmvxsah41h8v8286hjqbfbhxn4w4w52pq9";
+        sha512 = "CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==";
       };
     };
     "babel-plugin-transform-es2015-modules-systemjs-6.24.1" = {
@@ -1828,7 +1828,7 @@ let
       version = "1.7.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz";
-        sha512 = "0g45grnsjds9va8zwb68gpm4ngzmnb351bbvphnmis7bifsh2ny2c00bwah57fn1yv87fs69hriimbysbm15dpsvfbpf3lazdlpdr7l";
+        sha512 = "9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==";
       };
     };
     "babel-preset-jest-24.9.0" = {
@@ -1837,7 +1837,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz";
-        sha512 = "01858ghqwnl2b16rmrwwf6w6z3awwvxm22ld8vnfghf6lil3pkxdjjpfn70iib4plm4ynwrfrsiyr0gf3qxjzgi8k9wfk1q26xd8d4b";
+        sha512 = "izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==";
       };
     };
     "babel-register-6.26.0" = {
@@ -1891,7 +1891,7 @@ let
       version = "6.18.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz";
-        sha512 = "1qk460vyxfs08g8586jdc02wqzyy2y06596qcn1na9bz7yxra6vgh6177qf345xai0virpaz56bkpgmfcrd8yx5l2vjkn49y66h9xdb";
+        sha512 = "q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==";
       };
     };
     "balanced-match-1.0.0" = {
@@ -1909,7 +1909,7 @@ let
       version = "0.11.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/base/-/base-0.11.2.tgz";
-        sha512 = "11dwi4v72034dqafp0qxsg8h6cpn92vv4vf909a9fybd69yfg6gqn4hhav6x59r1wbi8h1qlgfh9np0340mpljv1hc9v9p02giqygp5";
+        sha512 = "5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==";
       };
     };
     "base64-js-1.3.1" = {
@@ -1918,16 +1918,7 @@ let
       version = "1.3.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz";
-        sha512 = "3mbfy80f2q6z8fwzch81hn7z0wjjsz6lwzz4jwrgr62pyql94mwi21k0l28xba2q1pydf8hf0jzzvr8w34rjmk135pjpmqfcj5kid4q";
-      };
-    };
-    "base64url-3.0.1" = {
-      name = "base64url";
-      packageName = "base64url";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz";
-        sha512 = "3hb3l768r5h0x6z47fw1kn6v50cx9xncmm6yzbhvrvgja0j26fwvhpyh8ppwnf1c2j8g62c912l7cq5h755fpdiafqhg4yxplz59gca";
+        sha512 = "mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==";
       };
     };
     "batch-0.6.1" = {
@@ -1954,7 +1945,7 @@ let
       version = "6.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz";
-        sha512 = "0dhyz488lykv8avkn9y738mnlkgkffxwsp5xmh9sffsh1xxdnigsd9a6l01vj0bdzqdmzqq0pbw31qh9x06fll38i7s19z2h9mljq06";
+        sha512 = "BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==";
       };
     };
     "big.js-5.2.2" = {
@@ -1963,7 +1954,7 @@ let
       version = "5.2.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz";
-        sha512 = "2cin34lhbrlligarblnrqnl6f419mkpqd4abjms0y1fk1mxzb6rqvh1sg0zif7bgskirhh6shxnqa444syk4cf87fmndil954xzc8mz";
+        sha512 = "vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==";
       };
     };
     "binary-extensions-1.13.1" = {
@@ -1972,25 +1963,16 @@ let
       version = "1.13.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz";
-        sha512 = "0drjfs8xmgc4rfi8nbbx7adsinnc5m0nc96dw3r3gars8zvg1kzay5a7a5s3islf13wmw7q9v15i7d2gdghs1lp6rh2wl6x80hcqzjj";
-      };
-    };
-    "bindings-1.5.0" = {
-      name = "bindings";
-      packageName = "bindings";
-      version = "1.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz";
-        sha512 = "24xpa35sym31k1x9hs78jbmsh58yx7ldkn03d4g5qhmvm0bi5cwqvpn2s6r8hkwhks5mhm81gz878gbp5g9b2s7zniy7gm1z6vvysm7";
+        sha512 = "Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==";
       };
     };
-    "bluebird-3.7.2" = {
+    "bluebird-3.5.5" = {
       name = "bluebird";
       packageName = "bluebird";
-      version = "3.7.2";
+      version = "3.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz";
-        sha512 = "2v12rs2wvv94hrlyv0nadxn9x11796k9mk7a8vg0bqsry8m2pbyy9dribalwikh34qkk3rp6gnis849y5z9x5mxzbbdgkfhc3l674sy";
+        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz";
+        sha512 = "5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==";
       };
     };
     "bn.js-4.11.8" = {
@@ -1999,7 +1981,7 @@ let
       version = "4.11.8";
       src = fetchurl {
         url = "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz";
-        sha512 = "20bg51v29zygy89w84qb64pkjikxfjdsgjs0ry6pvv8fkwn5kd1izrqn022d838q3rcaq8dmy033g7q8b6960j4f8ipan74y9ydimr2";
+        sha512 = "ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==";
       };
     };
     "body-parser-1.19.0" = {
@@ -2008,7 +1990,7 @@ let
       version = "1.19.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz";
-        sha512 = "2rl5ww96fwgmxdqhqmnknsaafw44vsr2xz7vf7nax8qz9jy8bmmdyawcy6yfny0wm7pi8m2jssakzjc1nin8z8207kv0gclpnrhy4bn";
+        sha512 = "dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==";
       };
     };
     "bonjour-3.5.0" = {
@@ -2026,7 +2008,7 @@ let
       version = "1.1.11";
       src = fetchurl {
         url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz";
-        sha512 = "248cnpbbf0p32h53rd3g8wzpgrkaj4p078ra1g6l16f82i6bzkvmhwqan5rk88apbll9ly1476kngd7f7z27i3b3zxpbb3064f8yaw8";
+        sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
       };
     };
     "braces-2.3.2" = {
@@ -2035,7 +2017,7 @@ let
       version = "2.3.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz";
-        sha512 = "3gxrfbb03jf6nh75n99snhv4a9jni48hfc0gkj5yl1cginpqx3d73dnp8snph1fdkc804iz6zg0aqibifjnscjfbpfziw2g7yg5pmv8";
+        sha512 = "aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==";
       };
     };
     "brorand-1.1.0" = {
@@ -2047,13 +2029,13 @@ let
         sha1 = "12c25efe40a45e3c323eb8675a0a0ce57b22371f";
       };
     };
-    "browser-process-hrtime-1.0.0" = {
+    "browser-process-hrtime-0.1.3" = {
       name = "browser-process-hrtime";
       packageName = "browser-process-hrtime";
-      version = "1.0.0";
+      version = "0.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz";
-        sha512 = "2ijqy6cba233jd04p2sd4a372z807f9rsykxzbf3sn50102h7nv57bid0bldh9is9c4yajgdjwlif9xpnz5xsx06clij6ipq9wm93pn";
+        url = "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz";
+        sha512 = "bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==";
       };
     };
     "browser-resolve-1.11.3" = {
@@ -2062,7 +2044,7 @@ let
       version = "1.11.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz";
-        sha512 = "1slq1pnm0b2903am1rl17iczlsl08sq4rckkr5fgkchgzfac13kiibwdk08yy2m62lgir8dmj9d61vil8q0vrm1d2mzw1qn2vaf443v";
+        sha512 = "exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==";
       };
     };
     "browserify-aes-1.2.0" = {
@@ -2071,7 +2053,7 @@ let
       version = "1.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz";
-        sha512 = "22gkxh9wf4hjxkyvj427k9r76xkz9vs63s1drwcggbpv0r7qdclzdvw167s7iq8936zak241cc5ck3bqkp6hy99zlkrbcmfl5g8gc7v";
+        sha512 = "+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==";
       };
     };
     "browserify-cipher-1.0.1" = {
@@ -2080,7 +2062,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz";
-        sha512 = "3bz6v63l37ndb18236yjdkbxjcvy4x16a8j7vsqxqprvnkcnkq1hg1ffd1c9zk9a3j555ppnpisfyh0x4adlb8lmpwbfa8i837n9y5h";
+        sha512 = "sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==";
       };
     };
     "browserify-des-1.0.2" = {
@@ -2089,7 +2071,7 @@ let
       version = "1.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz";
-        sha512 = "3j1gv3firnsbjppm47ldxbav9rmh3plq026zn728wvhgf19i4r7kxzyyj7hpibhjv61lcm9i4b869yy90c8hfj7w8rmr17p2zbhwah6";
+        sha512 = "BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==";
       };
     };
     "browserify-rsa-4.0.1" = {
@@ -2116,7 +2098,7 @@ let
       version = "0.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz";
-        sha512 = "24488d4s6d901hj9d9jdddapmcvmibbdpjq6nv3bpyjx72546fcqa0vripy0ydsrw1jk6bakfzvynh5i9cz0g59hrmn4ph75d3kdpk7";
+        sha512 = "Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==";
       };
     };
     "browserslist-3.2.8" = {
@@ -2125,7 +2107,7 @@ let
       version = "3.2.8";
       src = fetchurl {
         url = "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz";
-        sha512 = "00i65frm5jkbv8pzc13i02fzd39q0ahh653zzjzhq35pz6p0idajfjqg1b7mnnlvxymihcpmd1cfhwaj51hnqjmh4alrg8sjrq6hxaq";
+        sha512 = "WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==";
       };
     };
     "bs-logger-0.2.6" = {
@@ -2134,25 +2116,25 @@ let
       version = "0.2.6";
       src = fetchurl {
         url = "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz";
-        sha512 = "2i44nrigqkrnr7acqqppsmv9y97b55vma5fwg30jdhy9m4pc13rb3bpfxm8r560fp81605chdi27mx8dpy3mji3hwxhfvk6ih507px5";
+        sha512 = "pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==";
       };
     };
-    "bser-2.1.1" = {
+    "bser-2.1.0" = {
       name = "bser";
       packageName = "bser";
-      version = "2.1.1";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz";
-        sha512 = "30jby01rqjgx78xnzyysjav12c0cj8dcwd40wprcfh1jn3768cdkb834q1zyf3wivhifi47xqa7jai7x16m1jv1mq4g40f69ws56341";
+        url = "https://registry.npmjs.org/bser/-/bser-2.1.0.tgz";
+        sha512 = "8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg==";
       };
     };
-    "buffer-4.9.2" = {
+    "buffer-4.9.1" = {
       name = "buffer";
       packageName = "buffer";
-      version = "4.9.2";
+      version = "4.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz";
-        sha512 = "1d85syv6ashl8f3a6h553d185cg3vq6nhjqnc80vr2z3bak0c9xbm1jawfk9zs43xz34yih6h6j3bhb3njkahdqpji12fsc4kfsmby6";
+        url = "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz";
+        sha1 = "6d1bb601b07a4efced97094132093027c95bc298";
       };
     };
     "buffer-from-1.1.1" = {
@@ -2161,7 +2143,7 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz";
-        sha512 = "3c0m16i3fdv3vlq2zz8dakrnhqvs16gvggj485f91fiaa5v0p7pyhamcdw5fggr7djzd8nshmvz4hgbp7714smqxlld2an28q8if1ri";
+        sha512 = "MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==";
       };
     };
     "buffer-indexof-1.1.1" = {
@@ -2170,7 +2152,7 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz";
-        sha512 = "3bgz1zhq9ng3gypq825f00p9qi9y6z7wvkkf28nhjlyifnb3lk1dkmbya84k0ja79zv8kmmhvalwcnnz92533ip7pnjp3is1w9cxyp3";
+        sha512 = "4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==";
       };
     };
     "buffer-xor-1.0.3" = {
@@ -2191,15 +2173,6 @@ let
         sha1 = "85982878e21b98e1c66425e03d0174788f569ee8";
       };
     };
-    "byline-5.0.0" = {
-      name = "byline";
-      packageName = "byline";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz";
-        sha1 = "741c5216468eadc457b03410118ad77de8c1ddb1";
-      };
-    };
     "bytes-3.0.0" = {
       name = "bytes";
       packageName = "bytes";
@@ -2215,7 +2188,7 @@ let
       version = "3.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz";
-        sha512 = "073ccjmvxf726gcgzy0pksvi8x8r51dq6hyv69sc75ynrin7anwk9q3sqhbbbjhqjjrmq42s5f5gdbcgj2jxai6ldpyq6y2ny78payd";
+        sha512 = "zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==";
       };
     };
     "cacache-10.0.4" = {
@@ -2224,7 +2197,7 @@ let
       version = "10.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz";
-        sha512 = "0f1zwi8bbiia995410m24xljd0ra0vk579q7rk48p7mrq9nbilx3qa2rnp7hjdwnvx28zfad0rfdcwyq3blzkb3rk8b9yl77crp960f";
+        sha512 = "Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==";
       };
     };
     "cacache-12.0.3" = {
@@ -2233,7 +2206,7 @@ let
       version = "12.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz";
-        sha512 = "0zsyrn5azk0hm2mhfsa2wwz1g66wis9f7ifxl2sphms1i91z75mfmky892g7c538slj94fgd8nlbjnw5irki49vn5gfl586f5ynd9wj";
+        sha512 = "kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==";
       };
     };
     "cache-base-1.0.1" = {
@@ -2242,7 +2215,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz";
-        sha512 = "36i943khi87af4gif9r6imjgybqxq9cbd69z2h8p2s2j6scfbhrv7j3n591xl982fmyq29rkwh70a6qdcf3v0piwzfh8n2jf571v9q0";
+        sha512 = "AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==";
       };
     };
     "cache-content-type-1.0.1" = {
@@ -2251,16 +2224,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz";
-        sha512 = "209nv86cqszi98b5mij2w84m5ixnnwxh211nv0zjgfi46l52fp437hqznnc0ckm5nlgr4labfn16wxa7s7lmnaac4vdwliqb9krzar0";
-      };
-    };
-    "cacheable-request-2.1.4" = {
-      name = "cacheable-request";
-      packageName = "cacheable-request";
-      version = "2.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz";
-        sha1 = "0d808801b6342ad33c91df9d0b44dc09b91e5c3d";
+        sha512 = "IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==";
       };
     };
     "callsites-3.1.0" = {
@@ -2269,7 +2233,7 @@ let
       version = "3.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz";
-        sha512 = "1ljrfqkxsjdvl02qlx1xdsw8csg4az6dkwvlk0zmcz7x3b6q3kbggd8i3ai8jcjicabdsqkhvpjy0898xcdf21m42ajyrggql167h1z";
+        sha512 = "P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==";
       };
     };
     "camelcase-1.2.1" = {
@@ -2296,16 +2260,16 @@ let
       version = "5.3.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz";
-        sha512 = "0kg17fpj4c7akmpa9x0a3fi5glrc3y5k3ppjcpb3pd02ylg3fnzfdvz0pixd223crbs5980sjaxsk9q8kcqxm5d9cb7rlkv3m614vrg";
+        sha512 = "L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==";
       };
     };
-    "caniuse-lite-1.0.30001035" = {
+    "caniuse-lite-1.0.30000997" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001035";
+      version = "1.0.30000997";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz";
-        sha512 = "0nv07k5fhwwhak7xbp0kf2z0v2bpjicyrs11c9d14cipzzgcx6has5910iwc7yhh3mja5h52d93x3hrmfam66yk27agdqw09f172mhb";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000997.tgz";
+        sha512 = "BQLFPIdj2ntgBNWp9Q64LGUIEmvhKkzzHhUHR3CD5A9Lb7ZKF20/+sgadhFap69lk5XmK1fTUleDclaRFvgVUA==";
       };
     };
     "capture-exit-2.0.0" = {
@@ -2314,7 +2278,7 @@ let
       version = "2.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz";
-        sha512 = "3m6md2j1rsn26hijf0yfbbfnx6w2jrrqhr2b2xwjc9lyzvypidyz5krczc9wb04z1vq4mgb759ljwn7iggiiigijzhp38lk162zy91y";
+        sha512 = "PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==";
       };
     };
     "caseless-0.12.0" = {
@@ -2350,7 +2314,7 @@ let
       version = "2.4.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz";
-        sha512 = "2wr55z22i274wadq2cvpxga28a8igq9whc4m1q06sz5sn2hc4amradd5vd02wm92vyfg2qrb0bysd5drv7mfmlb2wqdf939v5zvxn1j";
+        sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
       };
     };
     "character-parser-2.2.0" = {
@@ -2368,7 +2332,7 @@ let
       version = "8.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz";
-        sha512 = "30ql79azwkvqg2pfwvc0zp51fbwpijfbxdrnw5v5vsd3j2k6bzi5d78p78b877fzrji6clkw284pdakba5jg7dvmjwnx60lg1k8m5v2";
+        sha512 = "YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==";
       };
     };
     "chokidar-2.1.8" = {
@@ -2377,16 +2341,16 @@ let
       version = "2.1.8";
       src = fetchurl {
         url = "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz";
-        sha512 = "21d2yf3364v025ivy6ak1bh61qvvq9llryh8c1rhvrif1kalx0j996x8m0qs717cgl97q5c40awyv8gi8hbmpgfpl6zvkff6xmm8rk6";
+        sha512 = "ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==";
       };
     };
-    "chownr-1.1.4" = {
+    "chownr-1.1.3" = {
       name = "chownr";
       packageName = "chownr";
-      version = "1.1.4";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz";
-        sha512 = "1b03acmav1awkygrda5h64pn8msd6wda119q553hik728i1j72bfqyq7yzn1x7nmw28hvg9mcyh7krsj8vwsq3karnn55mj6smip7cc";
+        url = "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz";
+        sha512 = "i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==";
       };
     };
     "chrome-trace-event-1.0.2" = {
@@ -2395,7 +2359,7 @@ let
       version = "1.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz";
-        sha512 = "06mh145f12ppkxn7xdzrvh7rrjg9c770rqai08m8r5i31br1ihc96i63dyn0c4arfl1hl0za33kzy5i09x4agz77c11xv7hb33z7vzm";
+        sha512 = "9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==";
       };
     };
     "ci-info-2.0.0" = {
@@ -2404,7 +2368,7 @@ let
       version = "2.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz";
-        sha512 = "04yh5kqsx5akwc3rlcwqrvz3lrb8mak15ysxan17hw9pp00kmf20m8d9dpbnkq612wc1wwvjzcci1wgivd8cbak5j7dzl6rv89bplp6";
+        sha512 = "5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==";
       };
     };
     "cipher-base-1.0.4" = {
@@ -2413,7 +2377,7 @@ let
       version = "1.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz";
-        sha512 = "3cm9kdc1sv7pakzlhrc1pazdvg9lk4hv31lximwbcrgmwfzg6imxrndszgx9yzlizknfh2b73cr7b5mfcv50bldpyq6jr5s4zknsj1a";
+        sha512 = "Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==";
       };
     };
     "class-utils-0.3.6" = {
@@ -2422,25 +2386,16 @@ let
       version = "0.3.6";
       src = fetchurl {
         url = "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz";
-        sha512 = "1xcqwmfmsbrm2ck76brwiqjmcza655khgh5szh6wngk357i37sgwsga1pbarwzaz9hvzkriqhq6j0z5mv0pmz61cf9wxvk3y5mlzs58";
+        sha512 = "qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==";
       };
     };
-    "clean-css-4.2.3" = {
+    "clean-css-4.2.1" = {
       name = "clean-css";
       packageName = "clean-css";
-      version = "4.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz";
-        sha512 = "0ad50l577m99sgpcdd49zspq8h9n9i3hhngapg9y5q76s7zwdz3hmaw2kc2jg30lk4z3wlyp9kgiyg71dvg0fg89g1xyr3qvq61dhsm";
-      };
-    };
-    "clean-stack-1.3.0" = {
-      name = "clean-stack";
-      packageName = "clean-stack";
-      version = "1.3.0";
+      version = "4.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clean-stack/-/clean-stack-1.3.0.tgz";
-        sha1 = "9e821501ae979986c46b1d66d2d432db2fd4ae31";
+        url = "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz";
+        sha512 = "4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==";
       };
     };
     "cli-cursor-2.1.0" = {
@@ -2458,7 +2413,7 @@ let
       version = "2.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz";
-        sha512 = "0lj50waj40l4a51whihhvrjb838jqjkp1znn7dqgw6bsb1z7qwfyaxfggwmy3122rvnz4gxa8fn7qmp94zk03q8265khqikmiy3f1dn";
+        sha512 = "tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==";
       };
     };
     "cliui-2.1.0" = {
@@ -2476,7 +2431,7 @@ let
       version = "4.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz";
-        sha512 = "26knyxdavl3y7kq82vfa094ym3n05vy2h2j5srb9fhhy8l43l0kwlasah5i78jks77zqgc373hbf96xcxv6am042gpbw35x452vwlg0";
+        sha512 = "4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==";
       };
     };
     "cliui-5.0.0" = {
@@ -2485,7 +2440,7 @@ let
       version = "5.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz";
-        sha512 = "1fg1afsij2xwc4gpqbyhrp3s7q19w7bmii0ghmdv6cdx6giz3v0yqn25i3g7fw2lpi388jpvaf6nf9z2c7xp7w7psrww7569548d1rx";
+        sha512 = "PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==";
       };
     };
     "clone-1.0.4" = {
@@ -2497,15 +2452,6 @@ let
         sha1 = "da309cc263df15994c688ca902179ca3c7cd7c7e";
       };
     };
-    "clone-response-1.0.2" = {
-      name = "clone-response";
-      packageName = "clone-response";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz";
-        sha1 = "d1dc973920314df67fbeb94223b4ee350239e96b";
-      };
-    };
     "co-4.6.0" = {
       name = "co";
       packageName = "co";
@@ -2521,7 +2467,7 @@ let
       version = "5.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/co-body/-/co-body-5.2.0.tgz";
-        sha512 = "36nr6zz2qri7lg37azg3n5lq5cwgfi3pf7j35l908qlc0shbbi353k47ama8q7p8c4gb9czdjpr7xy05ar7pnqwdcr1hlpan91wnzxi";
+        sha512 = "sX/LQ7LqUhgyaxzbe7IqwPeTr2yfpfUIQ/dgpKo6ZI4y4lpQA0YxAomWIY+7I7rHWcG02PG+OuPREzMW/5tszQ==";
       };
     };
     "code-point-at-1.1.0" = {
@@ -2548,7 +2494,7 @@ let
       version = "1.9.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz";
-        sha512 = "0d5pmdh1dh0qbpjrzdczwqkh0jwf8gxhq71mknwlxqz80h1q6kdrpghq4qfp0y4v650ia2jdihmzpb2n8hg00h72lnx05dgvysi9w21";
+        sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==";
       };
     };
     "color-name-1.1.3" = {
@@ -2566,7 +2512,7 @@ let
       version = "1.0.8";
       src = fetchurl {
         url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz";
-        sha512 = "1v09nkip7zpn3k3prkkg53w331rhczpfgcqb0q42i97nafra43l2khl5zvhd4ar0qmh145nmw7944jy8p108ny0xpgy29gf2wqph0qm";
+        sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
       };
     };
     "command-line-args-5.1.1" = {
@@ -2575,16 +2521,16 @@ let
       version = "5.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/command-line-args/-/command-line-args-5.1.1.tgz";
-        sha512 = "1dffdcll80c4cs7d9026187ild861bw26qph26frx8hx2dv23wwsw5g68kykqs8g2da57f62s56psxplx3bxcsprd85v5kbr4dxxgw4";
+        sha512 = "hL/eG8lrll1Qy1ezvkant+trihbGnaKaeEjj6Scyr3DN+RC7iQ5Rz84IeLERfAWDGo0HBSNAakczwgCilDXnWg==";
       };
     };
-    "commander-2.20.3" = {
+    "commander-2.20.0" = {
       name = "commander";
       packageName = "commander";
-      version = "2.20.3";
+      version = "2.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz";
-        sha512 = "1qqrwy7z476gqa94kjjyyzyi3x49k28ji7znbc65plrp67yzmpa2yyslh6bl965yl4jqb2fwb2ljzhgcvv2xxj8ab86n5rgryc6958s";
+        url = "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz";
+        sha512 = "7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==";
       };
     };
     "commondir-1.0.1" = {
@@ -2602,16 +2548,16 @@ let
       version = "1.3.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz";
-        sha512 = "136ravx3m3gf0ca84sf21hj47wmpqyjzmx6yvhj0b14mga7xcxfcgdc7yj9z8klcbr4yfqzy88fksmf233qx68a9ysw7yh1lixyrpa5";
+        sha512 = "Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==";
       };
     };
-    "compressible-2.0.18" = {
+    "compressible-2.0.17" = {
       name = "compressible";
       packageName = "compressible";
-      version = "2.0.18";
+      version = "2.0.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz";
-        sha512 = "13341lfj8d36v6gha16xmv92w4875z8irqdbns3jxlkc3a63aswys5sajq97y1sd42l08inw1l0s51r4l9lv20w6gy14nsxzvnfnp80";
+        url = "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz";
+        sha512 = "BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==";
       };
     };
     "compression-1.7.4" = {
@@ -2620,7 +2566,7 @@ let
       version = "1.7.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz";
-        sha512 = "24kqcbwm455isy2yiyfrdrsh011qi09pbgylw1jws2yfmiwmwp2j8pmax52c41z3x1n84v1j5va29dnxwygkl4pw599b9gx6c7qi94d";
+        sha512 = "jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==";
       };
     };
     "concat-map-0.0.1" = {
@@ -2638,7 +2584,7 @@ let
       version = "1.6.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz";
-        sha512 = "05nnf80j9ls12y3cw2dfnc6rmand3ya5sx9cqn9dgg19ljzdnyfjjv8ig79xi73gr2y4rkfzn9wjip2zzwp5n2d49njd3ki2a1c3cfv";
+        sha512 = "27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==";
       };
     };
     "condense-newlines-0.2.1" = {
@@ -2656,7 +2602,7 @@ let
       version = "1.1.12";
       src = fetchurl {
         url = "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz";
-        sha512 = "2hg7rni4gx8l765i8qzkp9dv69c8r06i8rxxkkkrsklbd8iz6ingxnp10r4fqqrm9jxy3gp8yp0lzpybwdf27kq49abkyxwrchqwmvb";
+        sha512 = "a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==";
       };
     };
     "connect-history-api-fallback-1.6.0" = {
@@ -2665,16 +2611,16 @@ let
       version = "1.6.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz";
-        sha512 = "0p9s5aqb76hamj9z64zd53ndh5r1jv76iw97hwrylmwwjprjn1246hrr5nvp5vs1xwwipq6dv7zj4qwywbn3n4cxc3llfdzvbvh37kv";
+        sha512 = "e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==";
       };
     };
-    "console-browserify-1.2.0" = {
+    "console-browserify-1.1.0" = {
       name = "console-browserify";
       packageName = "console-browserify";
-      version = "1.2.0";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz";
-        sha512 = "168x7bp4xr522yw92himv9xv14q336ps1kkg79qcmarg3q4yzpd52pa8x8zgq11b6996f8053799k6365437si3pk85w5z4y8xiijb4";
+        url = "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz";
+        sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10";
       };
     };
     "consolidate-0.15.1" = {
@@ -2683,7 +2629,7 @@ let
       version = "0.15.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz";
-        sha512 = "0rx5m8ygvw7y8rfs0fgpl6ppwk6gm7299qsnm005x88ws9yzb9fcj143f2irjsb94k8x9kdw7pap819dgg3w6x0jayhq9hcpfg3lvhd";
+        sha512 = "DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==";
       };
     };
     "constantinople-3.1.2" = {
@@ -2692,7 +2638,7 @@ let
       version = "3.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/constantinople/-/constantinople-3.1.2.tgz";
-        sha512 = "2xnhrmlbkfpcvckxxrl0hjp6qhhqv1p7c6pwxgqp1g0sa5q5cc514xn48g9x8kqj7g1imzciwgb2msbhvhn0w0v92mb7105l43drqy9";
+        sha512 = "yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw==";
       };
     };
     "constants-browserify-1.0.0" = {
@@ -2710,7 +2656,7 @@ let
       version = "0.5.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz";
-        sha512 = "3976ggkw1lp21a6m3s19blb9a74kq7a0spw47v0m3vvi1k5wiamrsn20slcr9byx80x2la2sppkwjp7x10gc58142dl7412pvpv84qk";
+        sha512 = "ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==";
       };
     };
     "content-type-1.0.4" = {
@@ -2719,16 +2665,16 @@ let
       version = "1.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz";
-        sha512 = "1f4y61wc913jrnga7nny83gzf9l2488q6sl1ry9lbwgh5x5d3va0xcc0xrmjk6gdxl6d4r6rsk800xp5bazhjrx05yx1wpc8c8gg0w4";
+        sha512 = "hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==";
       };
     };
-    "convert-source-map-1.7.0" = {
+    "convert-source-map-1.6.0" = {
       name = "convert-source-map";
       packageName = "convert-source-map";
-      version = "1.7.0";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz";
-        sha512 = "2hgf7brri4yaflx3y24d2cvznsk0km17mq8mp7sb2hhskf45hcamlgf8vzzbimw36lw128bjbf442p2rx96d1bhn9sk044p69gn8lp0";
+        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz";
+        sha512 = "eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==";
       };
     };
     "cookie-0.4.0" = {
@@ -2737,7 +2683,7 @@ let
       version = "0.4.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz";
-        sha512 = "1g7bscknfpc6zgznz77hvll6cy5m9jv7zg9nkpdqzmgi0vhv75kh8iyqf6rdslkml47l3jihsz7hy0i8x5n6bfx9ba0kvvrp9y7qypq";
+        sha512 = "+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==";
       };
     };
     "cookie-signature-1.0.6" = {
@@ -2749,13 +2695,13 @@ let
         sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
       };
     };
-    "cookies-0.8.0" = {
+    "cookies-0.7.3" = {
       name = "cookies";
       packageName = "cookies";
-      version = "0.8.0";
+      version = "0.7.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz";
-        sha512 = "2iqv33i76hmss097a18gkv8v1kawzs5zkgkri3nnrql9160y2vpkasv8dqj7l4c9hh6y6ki6nv072y13jrxzfcgp3kvay8zjh1fr8zi";
+        url = "https://registry.npmjs.org/cookies/-/cookies-0.7.3.tgz";
+        sha512 = "+gixgxYSgQLTaTIilDHAdlNPZDENDQernEMiIcZpYYP14zgHsCt4Ce1FEjFtcp6GefhozebB6orvhAAWx/IS0A==";
       };
     };
     "copy-concurrently-1.0.5" = {
@@ -2764,7 +2710,7 @@ let
       version = "1.0.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz";
-        sha512 = "3c1ggiqqnjgqlwdnimx94gm176c8rjsrih5qw2lbm642l8x7grx07v065k4j89c1p0adkm7v6sz11drb6j6sp51np2m1cazvycnhrvz";
+        sha512 = "f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==";
       };
     };
     "copy-descriptor-0.1.1" = {
@@ -2782,16 +2728,16 @@ let
       version = "4.6.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz";
-        sha512 = "1j7l2xm5blz3ylmq1c0mwlkfbx9faqm09zid0czbyyfr05236pkgvzjzfr7syqb95mgzkzxdag697p4wwsxpcr7my88admlbw491r33";
+        sha512 = "Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==";
       };
     };
-    "core-js-2.6.11" = {
+    "core-js-2.6.9" = {
       name = "core-js";
       packageName = "core-js";
-      version = "2.6.11";
+      version = "2.6.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz";
-        sha512 = "1db6yjq48a8kkrfrxd0miblcf7nk2b4afgpr8dfgjl3jvz3xclvrqmz590hx2h59jh79lgl35r101lw5jqs46qybizdbpgzljjyf277";
+        url = "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz";
+        sha512 = "HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -2809,7 +2755,7 @@ let
       version = "4.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz";
-        sha512 = "1mhn55gf43qsdrp2klyyyxqjsd5mw9l6s51vsfj7wl44pq7ymfw68r8wkd4yd8dd6adg3k6q18sddxfjljr0gbk56lh3cqfyd00gc8r";
+        sha512 = "GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==";
       };
     };
     "create-hash-1.2.0" = {
@@ -2818,7 +2764,7 @@ let
       version = "1.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz";
-        sha512 = "055xaldi3hy1bjxhvznh3470j1kq2xk827mxal79bgqik3lblax6s4inxqby27ymgcghl2hn7wnx9fnacmyq3q93hk6y327cc41nkfg";
+        sha512 = "z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==";
       };
     };
     "create-hmac-1.1.7" = {
@@ -2827,16 +2773,16 @@ let
       version = "1.1.7";
       src = fetchurl {
         url = "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz";
-        sha512 = "0p2jhk94k3as67lhrr1jyljkr0y65snxjzqnix0nifnfcanhilccrzkc47gwlg5wy0m8l1gv12lj78ivgmw5m1ww4f8iylr52bbv49h";
+        sha512 = "MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==";
       };
     };
-    "cron-1.8.2" = {
+    "cron-1.7.1" = {
       name = "cron";
       packageName = "cron";
-      version = "1.8.2";
+      version = "1.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cron/-/cron-1.8.2.tgz";
-        sha512 = "35a9lj0cl50q669jhxl1f68myxinkmbdbl2yn4z3d93swlckjjiganjcn8iphg2867jil7ahkpapx5md94lw5102ny46a5i5virqk8s";
+        url = "https://registry.npmjs.org/cron/-/cron-1.7.1.tgz";
+        sha512 = "gmMB/pJcqUVs/NklR1sCGlNYM7TizEw+1gebz20BMc/8bTm/r7QUp3ZPSPlG8Z5XRlvb7qhjEjq/+bdIfUCL2A==";
       };
     };
     "cross-spawn-6.0.5" = {
@@ -2845,7 +2791,7 @@ let
       version = "6.0.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz";
-        sha512 = "1csj16gwq9riz0pm73dlxhbnsl1r3ldc5v0aincwj71ambi6xf3kc1kgsbwaakd8rj16k4mrli2syrjd57g6cr81zdzivdd2jn4ndbr";
+        sha512 = "eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==";
       };
     };
     "crypto-browserify-3.12.0" = {
@@ -2854,7 +2800,7 @@ let
       version = "3.12.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz";
-        sha512 = "1d3mrhqlay037azmjp2ml5a8yyls9ijdhilv6f0znz0ajgfm972yr9bhm78wqi09p4crc3shgflk50jc63zijsqv777ikkyi2j2qgkz";
+        sha512 = "fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==";
       };
     };
     "cssom-0.3.8" = {
@@ -2863,7 +2809,7 @@ let
       version = "0.3.8";
       src = fetchurl {
         url = "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz";
-        sha512 = "1i0h2rg4hb1j2430jc46n2zjc5gqg26brpl2ypjank206vjwdbk4n1svfk7nrbdsx7czd1a025a9h6ssh9qhscw4r7vi0fynwflcjvg";
+        sha512 = "b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==";
       };
     };
     "cssstyle-1.4.0" = {
@@ -2872,7 +2818,7 @@ let
       version = "1.4.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz";
-        sha512 = "1460djxnz2dn84cx1wln5l004dy95pgik0h5bij3f7gw1i45p3mnsylwdps4r37gckfzqv5zvyh3gx95dr0ca01zmx8qpvqhrjwn6hq";
+        sha512 = "GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==";
       };
     };
     "cyclist-1.0.1" = {
@@ -2890,7 +2836,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/d/-/d-1.0.1.tgz";
-        sha512 = "0abwyrfpd8rm9bwzgcaxcwd92d07c31cxw1fgs7h51ri2igw4vib1a5x69cg14wqisjad1d0fhglca6218qm9dngr17yhwv8f295bcv";
+        sha512 = "m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==";
       };
     };
     "dashdash-1.14.1" = {
@@ -2908,7 +2854,16 @@ let
       version = "1.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz";
-        sha512 = "1wvgs0ccidbr67x52w8wx58knvvy7ir6j05z1sa3f4rdnpr3dvdlf6rwapfb09z0mi9w129llzvhxa0lj8jy84zpdwzxm0yvcirhdb1";
+        sha512 = "YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==";
+      };
+    };
+    "date-now-0.1.4" = {
+      name = "date-now";
+      packageName = "date-now";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz";
+        sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b";
       };
     };
     "debug-2.6.9" = {
@@ -2917,7 +2872,7 @@ let
       version = "2.6.9";
       src = fetchurl {
         url = "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz";
-        sha512 = "0q0fsr8bk1m83z0am0h2xn09vyfcf18adscxms8hclznwks1aihsisd96h8npx0idq5wwnypnqrkyk25m5d9zh3dk7rjs29nybc8bkc";
+        sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==";
       };
     };
     "debug-3.1.0" = {
@@ -2926,7 +2881,7 @@ let
       version = "3.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz";
-        sha512 = "3g1hqsahr1ks2kpvdxrwzr57fj90nnr0hvwwrw8yyyzcv3i11sym8zwibxx67bl1mln0acddrzpkkdjjxnc6n2cm9fazmgzzsl1fzrr";
+        sha512 = "OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==";
       };
     };
     "debug-3.2.6" = {
@@ -2935,7 +2890,7 @@ let
       version = "3.2.6";
       src = fetchurl {
         url = "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz";
-        sha512 = "1cyv14044rfh792n1hhsa44kk8dk95zk14w96i49gwq6g9wi6h9vn90xaragfy7rvggqvj178l5f16c78g47xgrwhjx3bp7zs6pxscr";
+        sha512 = "mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==";
       };
     };
     "debug-4.1.1" = {
@@ -2944,7 +2899,7 @@ let
       version = "4.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz";
-        sha512 = "1kmf9j5pka2rsljg5x6shniwmgs9444ksgdn0d3fjmis7yghxxn2zj526s36ip8rmpfni9zpj8z74w7irax32a67j59xw38wk6hi055";
+        sha512 = "pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==";
       };
     };
     "decamelize-1.2.0" = {
@@ -2965,15 +2920,6 @@ let
         sha1 = "eb3913333458775cb84cd1a1fae062106bb87545";
       };
     };
-    "decompress-response-3.3.0" = {
-      name = "decompress-response";
-      packageName = "decompress-response";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz";
-        sha1 = "80a4dd323748384bfa248083622aedec982adff3";
-      };
-    };
     "deep-equal-1.0.1" = {
       name = "deep-equal";
       packageName = "deep-equal";
@@ -2998,7 +2944,7 @@ let
       version = "4.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz";
-        sha512 = "2067xswfnhdrq76l5wqibx50y8r46q0sdbkax2nxq6gq0ljjrrmmq95k99vnkgcz5xc7r1hhv0w7bw978krjxvdmnawam3ma2nhraw7";
+        sha512 = "h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==";
       };
     };
     "defaults-1.0.3" = {
@@ -3016,7 +2962,7 @@ let
       version = "1.1.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz";
-        sha512 = "1fsa8nx7qgi958fykj36cndsf8ygj3132if6k4a36mkf11bl2j2gn7dn2nz07mfsygkx0415yxrjpzx8j369z1767fvr57nm1h9zjnw";
+        sha512 = "3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==";
       };
     };
     "define-property-0.2.5" = {
@@ -3043,7 +2989,7 @@ let
       version = "2.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz";
-        sha512 = "1hrk3pzr4hyhfnrjy1msrlj2zh769x4l35q9fq0a2cy2glq3h1iwjkpmvz39y9idwy71h9hd98lydi92485bzkff1dzm70wbr8vc0lg";
+        sha512 = "jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==";
       };
     };
     "del-4.1.1" = {
@@ -3052,7 +2998,7 @@ let
       version = "4.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/del/-/del-4.1.1.tgz";
-        sha512 = "1fkk8r4abk9009whl0yqapv13rjzj6mr01ghkxpbjkrvr6a6n6hg492mdr72wf3dc13zp3dmzq6z4bzm31h59q7q4anjgrf988sw0a3";
+        sha512 = "QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==";
       };
     };
     "delayed-stream-1.0.0" = {
@@ -3082,22 +3028,13 @@ let
         sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
       };
     };
-    "depd-2.0.0" = {
-      name = "depd";
-      packageName = "depd";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz";
-        sha512 = "2phijq20j255bs4jjs11j5pa0x7y1084k6ch9xa8wgzp71zzgbpm23wyzbcs0mszvj971l9i5aav40sddm000484sl3ij4xzvlcgfc3";
-      };
-    };
-    "des.js-1.0.1" = {
+    "des.js-1.0.0" = {
       name = "des.js";
       packageName = "des.js";
-      version = "1.0.1";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz";
-        sha512 = "085ljc5q2yk3jabd61p91n821q4prv13qalbfni9ybcb900b4mmcdnndi5b5prfs9wybp13asd13shlxgrbsgvyfx7nbgvby6jkhhj3";
+        url = "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz";
+        sha1 = "c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc";
       };
     };
     "destroy-1.0.4" = {
@@ -3142,7 +3079,7 @@ let
       version = "2.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz";
-        sha512 = "0mncqs8asq6722qr5jcv5bwi1653nd4s61s9mb9iyk3jkv83w9iynwjfd6ynp1jwsmr7qaspk6yd1x8c05qi9pxikikwfkbnajd3334";
+        sha512 = "ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==";
       };
     };
     "diff-sequences-24.9.0" = {
@@ -3151,7 +3088,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz";
-        sha512 = "1xvcq6cya1qr0slk88xxgibba4win89nmmy6945vzi0cqs3f4h72inwbk7wb05v55c23sx69grj872yyk5mnswd2qz33jangf9rcghf";
+        sha512 = "Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==";
       };
     };
     "diffie-hellman-5.0.3" = {
@@ -3160,7 +3097,7 @@ let
       version = "5.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz";
-        sha512 = "37186rz3862gn294acnwnm59jwm62x1rz9ca0y5anvmj0a7abs4rhw974qp1j684qpd4rxb8c2kagv21hapxfddr2q72zvyv7ya19lj";
+        sha512 = "kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==";
       };
     };
     "dir-glob-2.2.2" = {
@@ -3169,7 +3106,7 @@ let
       version = "2.2.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz";
-        sha512 = "2rlgbmwy8bl5xqrwifdqhggx21ac4c8k6vgq7ia2h6cxmaiprrlm1p99cn4hb4dmax9wwk4vx96bc50b7ngxgx74fvqbk0njj5w3lkz";
+        sha512 = "f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==";
       };
     };
     "dns-equal-1.0.0" = {
@@ -3187,7 +3124,7 @@ let
       version = "1.3.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz";
-        sha512 = "19g682cvkba33mwrism28hibd2nv9xd16k5bj807jx3ih1cc7ff9dn8chmfjnqgglzl6lq3m3jarxng9vbarccgchd0aq118d15yk6i";
+        sha512 = "0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==";
       };
     };
     "dns-txt-2.0.2" = {
@@ -3214,7 +3151,7 @@ let
       version = "1.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz";
-        sha512 = "1fcxv8rzfhs99afvhji7bs5ppxwn9mw040ixdgvkm6iabz72q61arly2lr57086rjn4g2vkb3rkih1cyc7z35kzv1jjciwyrs4g4y4f";
+        sha512 = "jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==";
       };
     };
     "domexception-1.0.1" = {
@@ -3223,7 +3160,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz";
-        sha512 = "2x8mi3fy0wghky9i6bmz1d26yz1bbd4zmaqyc45fhrqhw8kdg6a4k4zz6jn9bisnxr8bff7fypz0vncby6sw8d2ld6r627v94ra1a5d";
+        sha512 = "raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==";
       };
     };
     "duplexer-0.1.1" = {
@@ -3235,22 +3172,13 @@ let
         sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1";
       };
     };
-    "duplexer3-0.1.4" = {
-      name = "duplexer3";
-      packageName = "duplexer3";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz";
-        sha1 = "ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2";
-      };
-    };
     "duplexify-3.7.1" = {
       name = "duplexify";
       packageName = "duplexify";
       version = "3.7.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz";
-        sha512 = "3k23dn0v8n7r3ds3v137vmw1vg3ngd6fw3bb4hasa6bm40qasvdaidjwx0wb4gakp8xvdrsckjn0wkmmi90z8a2sswj8cxhznxgrg6k";
+        sha512 = "07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==";
       };
     };
     "ecc-jsbn-0.1.2" = {
@@ -3268,7 +3196,7 @@ let
       version = "0.15.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz";
-        sha512 = "3ggssjvjbrq0q12nr33bfbd8qdmmyapkiivxczlp66gi9y14s7dhaqxdmvbmg6lkzzli17w6v3rx3fyb0d82zl18ysgmskxbhq0ip1k";
+        sha512 = "M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==";
       };
     };
     "ee-first-1.1.1" = {
@@ -3280,31 +3208,31 @@ let
         sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
       };
     };
-    "ejs-2.7.4" = {
+    "ejs-2.7.1" = {
       name = "ejs";
       packageName = "ejs";
-      version = "2.7.4";
+      version = "2.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz";
-        sha512 = "2ad39acbba96hqbgf714pacri515xjn8jd43bkfb1wwp04vflpjj0qhnnmsq074g7d1kycyj1bmf620s43qb3x74hrfb4ky3v5axygf";
+        url = "https://registry.npmjs.org/ejs/-/ejs-2.7.1.tgz";
+        sha512 = "kS/gEPzZs3Y1rRsbGX4UOSjtP/CeJP0CxSNZHYxGfVM/VgLcv0ZqM7C45YyTj2DI2g7+P9Dd24C+IMIg6D0nYQ==";
       };
     };
-    "electron-to-chromium-1.3.376" = {
+    "electron-to-chromium-1.3.267" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.3.376";
+      version = "1.3.267";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.376.tgz";
-        sha512 = "27ngh0x7siic0nydq0xics24lnqfqjb2d6ja2fdfp1z979lisiy52m8cbbvrxp2ksr3nlk4s4yg5v4rll49wxjzry63gczrbihwzzvj";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.267.tgz";
+        sha512 = "9Q2ixAJC+oHjWNtJV0MQ4vJMCWSowIrC6V6vcr+bwPddTDHj2ddv9xxXCzf4jT/fy6HP7maPoW0gifXkRxCttQ==";
       };
     };
-    "elliptic-6.5.2" = {
+    "elliptic-6.5.1" = {
       name = "elliptic";
       packageName = "elliptic";
-      version = "6.5.2";
+      version = "6.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz";
-        sha512 = "33kzl02iwbq3pl33ihcdq9nm48yzhfj96183zzra06hp3z6bacz3d99pl74jziwygys4npxbxwnvszz12wl8lpkjw8b4r9ki797p33z";
+        url = "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz";
+        sha512 = "xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==";
       };
     };
     "emoji-regex-7.0.3" = {
@@ -3313,7 +3241,7 @@ let
       version = "7.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz";
-        sha512 = "2s4i22ccvwa2l4xwl9yz6mkyn2kpf58hp1nqiwmmgqlpyr57345i3ll0l4656ryik6a6wz1lgk4vbl6y0dwj5hx2kcbpv0h8924n00b";
+        sha512 = "CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==";
       };
     };
     "emojis-list-2.1.0" = {
@@ -3325,15 +3253,6 @@ let
         sha1 = "4daa4d9db00f9819880c79fa457ae5b09a1fd389";
       };
     };
-    "emojis-list-3.0.0" = {
-      name = "emojis-list";
-      packageName = "emojis-list";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz";
-        sha512 = "3cib7aw0206bfcb324aqh3fsda46mjxghd08gaasxagv6jfc74r2jvcv78rb8h10m879w42nbrn3q8rjifg9s5rclbpr2hzq7bqqk7y";
-      };
-    };
     "encodeurl-1.0.2" = {
       name = "encodeurl";
       packageName = "encodeurl";
@@ -3349,7 +3268,7 @@ let
       version = "1.4.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz";
-        sha512 = "3jyw0a0c7m1yxglwk7i5jh8zb3vvx7f9l4frbskxkgf9cyf4i8ww26p8bimnsryrh1dx7lwrxq64vbpjwfcv1svd4lg8m07fa53bv7s";
+        sha512 = "+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==";
       };
     };
     "enhanced-resolve-4.1.0" = {
@@ -3358,16 +3277,7 @@ let
       version = "4.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz";
-        sha512 = "2g5bp8yrd5ixqfg81db9ifalcqdyjxmrc4va86ljng9vnhkk2v0gxc7w28q00wnlp0j6sjilzj7dh4mkj2z49z2jkjwzjgd4j9yzzhp";
-      };
-    };
-    "enhanced-resolve-4.1.1" = {
-      name = "enhanced-resolve";
-      packageName = "enhanced-resolve";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz";
-        sha512 = "2w4dww5r1bxbycbb3kq0pdl9v56942678c53j9rwikxf05xd2n5h0b3a6914wxcmzr9wx4m0w56adp3qp21rk1wzkhbybxb9z67djpp";
+        sha512 = "F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==";
       };
     };
     "errno-0.1.7" = {
@@ -3376,7 +3286,7 @@ let
       version = "0.1.7";
       src = fetchurl {
         url = "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz";
-        sha512 = "2bdzcjwgdkg5yrvlw6my57pn77k4j7a2pzppwqrq4va9f5bd4b5mzbhwpklhsy1jl7w9sjvnfs30h42nhz2dbdfhagnh8dk6l2d3yii";
+        sha512 = "MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==";
       };
     };
     "error-ex-1.3.2" = {
@@ -3385,7 +3295,7 @@ let
       version = "1.3.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz";
-        sha512 = "3igrl2amb9mpa9d2z6qghz3ljqd7amjla8ahfs5fdgl0w52pw6gz3y32q5fk229yvfyg3x9kpfygadcm2w0lv4hv4nj25cyd8v4glgd";
+        sha512 = "7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==";
       };
     };
     "error-inject-1.0.0" = {
@@ -3397,31 +3307,31 @@ let
         sha1 = "e2b3d91b54aed672f309d950d154850fa11d4f37";
       };
     };
-    "es-abstract-1.17.4" = {
+    "es-abstract-1.14.2" = {
       name = "es-abstract";
       packageName = "es-abstract";
-      version = "1.17.4";
+      version = "1.14.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz";
-        sha512 = "24sx605c7x5di53nzw0x2brrfvy4nw76ws0gsd1hskdifrcxafn8fwk0n11si002zxhfs9c8nba1acaj2zkrqrgp8k5vw0vz2dyxv81";
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.14.2.tgz";
+        sha512 = "DgoQmbpFNOofkjJtKwr87Ma5EW4Dc8fWhD0R+ndq7Oc456ivUfGOOP6oAZTTKl5/CcNMP+EN+e3/iUzgE0veZg==";
       };
     };
-    "es-to-primitive-1.2.1" = {
+    "es-to-primitive-1.2.0" = {
       name = "es-to-primitive";
       packageName = "es-to-primitive";
-      version = "1.2.1";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz";
-        sha512 = "2y6j97j2f10gc52kw7qin10gm24m5hz1qq7ph6jf89y8a9i8vb268f2q0z78qjmngc765y9v0f1ldc5qb10b638yqlabda90sbaa8s0";
+        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz";
+        sha512 = "qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==";
       };
     };
-    "es5-ext-0.10.53" = {
+    "es5-ext-0.10.51" = {
       name = "es5-ext";
       packageName = "es5-ext";
-      version = "0.10.53";
+      version = "0.10.51";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz";
-        sha512 = "3wl9jgj276xsjcf4gvc9w7gg403rg02s1i24r7scvhwg0mmgbqwsszjk94xnzfd3wj4y2khk6wbz8dm9j6lvlcwrbbd324d1svr5kay";
+        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.51.tgz";
+        sha512 = "oRpWzM2WcLHVKpnrcyB7OW8j/s67Ba04JCm0WnNv3RiABSvs7mrQlutB8DBv793gKcp0XENR8Il8WxGTlZ73gQ==";
       };
     };
     "es6-iterator-2.0.3" = {
@@ -3433,22 +3343,13 @@ let
         sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7";
       };
     };
-    "es6-promise-4.2.8" = {
-      name = "es6-promise";
-      packageName = "es6-promise";
-      version = "4.2.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz";
-        sha512 = "3zz892nih7z36hb24sqg3wgzgzp81zjq7h8bbrpdh80yxp46r9rk2ddhr65zqg9ygi4s8ph9fs3in3gkinvqwfhqlpy5iasjz3wd40w";
-      };
-    };
-    "es6-symbol-3.1.3" = {
+    "es6-symbol-3.1.2" = {
       name = "es6-symbol";
       packageName = "es6-symbol";
-      version = "3.1.3";
+      version = "3.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz";
-        sha512 = "0sgbv9jpq91di424qar8xiw36az4msxqhgpk1ixq5hv4wdbgaxs45q8i671icpg085bh1j7hj93iyszp7x9fmhld30jj3kff6gri7il";
+        url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.2.tgz";
+        sha512 = "/ZypxQsArlv+KHpGvng52/Iz8by3EQPxhmbuz8yFG89N/caTFBSbcXONDw0aMjy827gQg26XAjP4uXFvnfINmQ==";
       };
     };
     "escape-html-1.0.3" = {
@@ -3469,13 +3370,13 @@ let
         sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
       };
     };
-    "escodegen-1.14.1" = {
+    "escodegen-1.12.0" = {
       name = "escodegen";
       packageName = "escodegen";
-      version = "1.14.1";
+      version = "1.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz";
-        sha512 = "14kvh9zgpdp6ci9l9nqwwlhjz8gidkhgsv1yj8i7jbh087fchwwn62440spqk09f3qz13jrdyqdgfhf2yddkm7p6hgx4jbjqhspnsq6";
+        url = "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz";
+        sha512 = "TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==";
       };
     };
     "eslint-scope-4.0.3" = {
@@ -3484,7 +3385,16 @@ let
       version = "4.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz";
-        sha512 = "2p4myi99y1nk5dy7fvmbspjdynigw3dzkhcm7zaiwfyw2wp6j61y0i8mba18ksv9qi2s1wp6w6xhn7471qs631bqwmz8fzmvas6xdd7";
+        sha512 = "p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==";
+      };
+    };
+    "esprima-3.1.3" = {
+      name = "esprima";
+      packageName = "esprima";
+      version = "3.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz";
+        sha1 = "fdca51cee6133895e3c88d535ce49dbff62a4633";
       };
     };
     "esprima-4.0.1" = {
@@ -3493,7 +3403,7 @@ let
       version = "4.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz";
-        sha512 = "3h999di4dnwxb22lxlb7cbz42nalrv8g8sqdvrkkl5c27gnwhp1rva4039hmq6g1i0y4mfjgx6p4i2vwxxl0zlahfzdd9fl1qbqasvq";
+        sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==";
       };
     };
     "esrecurse-4.2.1" = {
@@ -3502,7 +3412,7 @@ let
       version = "4.2.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz";
-        sha512 = "06zyknk70y80n428x20wvjqy5822wgz2yaxzw387njnz3ar6ixzjcxzr2jsl8wrm0m9jpa4ysbcr9znpk6gbkqd7wby084zxw3l317b";
+        sha512 = "64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==";
       };
     };
     "estraverse-4.3.0" = {
@@ -3511,16 +3421,16 @@ let
       version = "4.3.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz";
-        sha512 = "2kh3lczc7smb84ryllqrdvrknxl3h47khh7li6n9m76mj9jfh1ahz2jm8ffpcaac7i4k8zkf3sc3nczzp7djgqmsi6wrkynywlygnfz";
+        sha512 = "39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==";
       };
     };
-    "esutils-2.0.3" = {
+    "esutils-2.0.2" = {
       name = "esutils";
       packageName = "esutils";
-      version = "2.0.3";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz";
-        sha512 = "3m321j8gmjllmmi1zyvbz0lsmkkjq26bvfr8niwr5b8saxh6icixmpxixyspjb40l54vpx3r3zvln190i47cx16y5x2lf1qg6liqnwi";
+        url = "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz";
+        sha1 = "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b";
       };
     };
     "etag-1.8.1" = {
@@ -3538,16 +3448,16 @@ let
       version = "4.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz";
-        sha512 = "05cdww9h7f3kjfmv478p0rcq2ia3lcrvqmsh155hd6wm895i2jn6j68w0ly09c3gjn8hshfdvnh99qchipbclycnb241y993m2d5sm9";
+        sha512 = "qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==";
       };
     };
-    "events-3.1.0" = {
+    "events-3.0.0" = {
       name = "events";
       packageName = "events";
-      version = "3.1.0";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/events/-/events-3.1.0.tgz";
-        sha512 = "1d21craxji58ccc5l8c39mw7pgk0is7gj1sixm8v1va1zc81hrw8426b9rhrv7z2kwqvix5l7cyfc8awwypj19him6ffd67qbqaxzs6";
+        url = "https://registry.npmjs.org/events/-/events-3.0.0.tgz";
+        sha512 = "Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==";
       };
     };
     "eventsource-1.0.7" = {
@@ -3556,7 +3466,7 @@ let
       version = "1.0.7";
       src = fetchurl {
         url = "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz";
-        sha512 = "02zyvvhbzxhb7q9pzn867l80whipj03h4nkzjw1r8kppkmgaw0fcgvnkkv11fkfnlcdhkr9f55xrap5qpvbggkad4y4jkymxgpzbfg0";
+        sha512 = "4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==";
       };
     };
     "evp_bytestokey-1.0.3" = {
@@ -3565,16 +3475,16 @@ let
       version = "1.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz";
-        sha512 = "1wd18zxd7n42asa63aa4k1bdf58warg29c7c8cdzzkd4r1wva7qwzqnn52h8g8hqwj7bxjkk3ryghajrvz4i27h5bzp30p8hjiqdzgx";
+        sha512 = "/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==";
       };
     };
-    "exec-sh-0.3.4" = {
+    "exec-sh-0.3.2" = {
       name = "exec-sh";
       packageName = "exec-sh";
-      version = "0.3.4";
+      version = "0.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz";
-        sha512 = "3a56in0wklcqf6hk0n22z22yg9kzb7y4xj7yfmj2sahbnkjbr5s0sngpzrr60r5rq9b3f0f1m13da5fn9mfz7p3b5nbxgxmrs8lhhdh";
+        url = "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.2.tgz";
+        sha512 = "9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg==";
       };
     };
     "execa-1.0.0" = {
@@ -3583,7 +3493,7 @@ let
       version = "1.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz";
-        sha512 = "0nbazkdhh5zqw7l7y4ml860h6pbn72x5kp2iaknqbdk0ygcrp3yh6bnq0brzzsyk3f72ard3ss3kp9a2ffsglib3yiamqwm4mrz3mk9";
+        sha512 = "adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==";
       };
     };
     "exit-0.1.2" = {
@@ -3619,7 +3529,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz";
-        sha512 = "38r26vw1qwvgj86dijd5hps0b5ijk4qq0zy9dcgc2dpafq6jjx1x4k9lpaqs1mbkg4d9a29qkx914y9waavswvgwvcmv8n8qp3l1xf2";
+        sha512 = "wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==";
       };
     };
     "express-4.17.1" = {
@@ -3628,16 +3538,7 @@ let
       version = "4.17.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/express/-/express-4.17.1.tgz";
-        sha512 = "3i2sxjf2x1r9wbfdyh5ll8ybbnqq6n4xfxdlc4dsqhssljrlih18csqg142lf16lcfcdgsmvf9pff0rzxjw7p0shnlmpajipwxpswlq";
-      };
-    };
-    "ext-1.4.0" = {
-      name = "ext";
-      packageName = "ext";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz";
-        sha512 = "3n50kbfjicn887f19ragi6k288srkjidzvcnphnb2f8bqw4vn10y73p3ryjyqq0xgrdxnwhy2j9favm7pfb3j3vhf5dmi8licsbkv19";
+        sha512 = "mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==";
       };
     };
     "extend-3.0.2" = {
@@ -3646,7 +3547,7 @@ let
       version = "3.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz";
-        sha512 = "3zad2109w3q3gh46s5msrnzfy2nl581sqpy20b52fs7v5pdjh3irpg7szl3xvh4sfy63218jy8ry6qlnir3baxbbfrb03swkw5swfky";
+        sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
       };
     };
     "extend-shallow-2.0.1" = {
@@ -3673,7 +3574,7 @@ let
       version = "2.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz";
-        sha512 = "2klp0045k4wnaspb9khqx90ddv7rjg997mlyp5qz41sl2yqdrpw8g8wji77qq16aawl4yhvg0f993ln48lja0kfmy0wnbh4g50zlrin";
+        sha512 = "Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==";
       };
     };
     "extsprintf-1.3.0" = {
@@ -3685,22 +3586,22 @@ let
         sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
       };
     };
-    "fast-deep-equal-3.1.1" = {
+    "fast-deep-equal-2.0.1" = {
       name = "fast-deep-equal";
       packageName = "fast-deep-equal";
-      version = "3.1.1";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz";
-        sha512 = "1j7wq3vqvfgnpd2sjblnlgryxlic2fsy343fx8w4ywb2mngj1w5afq8fmly8cp9fi66dhz1fhcfpn23g5zasnzs6n1snb83qkkilhgi";
+        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz";
+        sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
       };
     };
-    "fast-json-stable-stringify-2.1.0" = {
+    "fast-json-stable-stringify-2.0.0" = {
       name = "fast-json-stable-stringify";
       packageName = "fast-json-stable-stringify";
-      version = "2.1.0";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
-        sha512 = "0gz06zkjlqc4r59ka14n3vwqjdgn40zd8r115ql3rkwqb7j42frmnsj3axr7p2md8ik52nqjn3myyv8ddavdhl4cq3xz4wbbz07y5wn";
+        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
+        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
       };
     };
     "fast-levenshtein-2.0.6" = {
@@ -3727,16 +3628,16 @@ let
       version = "0.11.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz";
-        sha512 = "0wgmgai5pj0yjcc4gs5b6r94gr8ycsbv1xyjw055cxfy4vm6yrpqp0mpr89ychmzgr5y0mggqrljf9jhb8n5iq63bi3r9yqidpbhv0g";
+        sha512 = "D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==";
       };
     };
-    "fb-watchman-2.0.1" = {
+    "fb-watchman-2.0.0" = {
       name = "fb-watchman";
       packageName = "fb-watchman";
-      version = "2.0.1";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz";
-        sha512 = "1b67x7n9c1irns63lipsffgi0zm9kfms6k87mznvhak81dijqvfy26nqr3j5mw41mqb3vbbhxbbmcdgc787laz3kaq45slq0wlwjhqf";
+        url = "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz";
+        sha1 = "54e9abf7dfa2f26cd9b1636c588c1afc05de5d58";
       };
     };
     "figgy-pudding-3.5.1" = {
@@ -3745,16 +3646,7 @@ let
       version = "3.5.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz";
-        sha512 = "39n5js2y984px4bvwavskv70pazpjnrvy5lnyqif5pdh6pgfinnl3b5zknfkqvlws7gnylmlwryzfpdvh0jgpgsiphx8a64fhjb3lmw";
-      };
-    };
-    "file-uri-to-path-1.0.0" = {
-      name = "file-uri-to-path";
-      packageName = "file-uri-to-path";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz";
-        sha512 = "0px1qliabg53lwfq4izc9vdll68sd08nlczi2ms5nvg7frm3y6zgy07vdvxywazab26jc723qpmh9a6h3bdp685iddzsmgvfarpx6yi";
+        sha512 = "vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==";
       };
     };
     "filesize-3.6.1" = {
@@ -3763,7 +3655,7 @@ let
       version = "3.6.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz";
-        sha512 = "1rfby2136b86m318244b42lrcx9hc28vz71cv9i84cd5z7dd3cwvj1gx8mykbjh937yyi1h4q5kk3vhjcldc8pkd2f7iapszgbd3a7c";
+        sha512 = "7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==";
       };
     };
     "fill-range-4.0.0" = {
@@ -3781,7 +3673,7 @@ let
       version = "1.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz";
-        sha512 = "1cfqk6g78cb12b1cki4pbcspsy40d0yny513myqji716njyhc5hrj7ll539kz96m6vn27168hhyqvd52cr5x1cs85mm7igfkrdrq1b8";
+        sha512 = "aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==";
       };
     };
     "find-cache-dir-1.0.0" = {
@@ -3799,7 +3691,7 @@ let
       version = "2.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz";
-        sha512 = "0wjlwmvadzac6hwmxv6hsc16z3285i2y0nkwpg4366flza0rx30s3ncx93xn8hkkpxr493zi5b0h94jczinr87h2m6gbhrl265qzbjf";
+        sha512 = "Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==";
       };
     };
     "find-replace-3.0.0" = {
@@ -3808,7 +3700,7 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz";
-        sha512 = "04qvcapazb6cj527naq4ycrydqph63gpsq9ly76cvnxy7cm9xwdn2q62rlyvn7iynvm59akggz5jiiygzzbq7wrpwh218124fdzcdp9";
+        sha512 = "6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==";
       };
     };
     "find-up-2.1.0" = {
@@ -3826,16 +3718,16 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz";
-        sha512 = "2bg49lifm64h5jqjc20612wrx7cazw9np9ms02ys94kif4li8cp5in4rvmb1c1ssa8yhbsqkgprykkj4lf3jbz8qrgp1mf8c93gl86p";
+        sha512 = "1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==";
       };
     };
-    "findup-sync-3.0.0" = {
+    "findup-sync-2.0.0" = {
       name = "findup-sync";
       packageName = "findup-sync";
-      version = "3.0.0";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz";
-        sha512 = "1i4px24rzp6x5wczj63r720lxw2rl1yvsk8w36bcmmdsyji2yx59p1nxy3v0hqjfr5s9vzrxh55v83ly3d0mf5r78hw32awp1mdzdv1";
+        url = "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz";
+        sha1 = "9326b1488c22d1a6088650a86901b2d9a90a2cbc";
       };
     };
     "flush-write-stream-1.1.1" = {
@@ -3844,7 +3736,7 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz";
-        sha512 = "3pkp1ymgv73zg0d94la628nagxyngq7zm1jmngx6vjc6vi5d4jkmvfygvgac6w6x929hqljwygaidq2znk3l5xd4apdvxvpas21g7nx";
+        sha512 = "3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==";
       };
     };
     "follow-redirects-1.5.10" = {
@@ -3853,7 +3745,7 @@ let
       version = "1.5.10";
       src = fetchurl {
         url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz";
-        sha512 = "1alfnscb0lnmf1ka8d5jrp48bizkbqrdz616r7q9yv4afqadlli1xmmf7lsvany1kmmnmwpvhbgx70mvcsnjf1ywjnzmkmk53h6apni";
+        sha512 = "0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==";
       };
     };
     "for-in-1.0.2" = {
@@ -3880,7 +3772,7 @@ let
       version = "2.3.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz";
-        sha512 = "0jj3hgqp9pmxmfavx6rvdfl3r4yf98clpsarqadz3hq0dxhjlh2ppd9x8bvmaq3nwjdqpdvqx25pwyin4ipixhgsn7s3p9fcc3wllnn";
+        sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==";
       };
     };
     "form-data-2.5.1" = {
@@ -3889,16 +3781,16 @@ let
       version = "2.5.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz";
-        sha512 = "1aa6m5c13kybvcycjdyhr0qbb7097qs7kah89bbhynjs9r5fl6ibbhscpin31nshzhw5nszw5c6x10krrig90afh88la456cgflsvcv";
+        sha512 = "m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==";
       };
     };
-    "formidable-1.2.2" = {
+    "formidable-1.2.1" = {
       name = "formidable";
       packageName = "formidable";
-      version = "1.2.2";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz";
-        sha512 = "3jm9bdwpbsvpf9f7v9gh2dc01p5pg77g1q6g6jwxyaqykr6q6ljp3gvkbxrxa6wkhlnw52qd130f4nx8f6zwf74h8jgy8rmxsdhpj2p";
+        url = "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz";
+        sha512 = "Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==";
       };
     };
     "forwarded-0.1.2" = {
@@ -3937,6 +3829,15 @@ let
         sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af";
       };
     };
+    "fs-extra-4.0.3" = {
+      name = "fs-extra";
+      packageName = "fs-extra";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz";
+        sha512 = "q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==";
+      };
+    };
     "fs-write-stream-atomic-1.0.10" = {
       name = "fs-write-stream-atomic";
       packageName = "fs-write-stream-atomic";
@@ -3955,13 +3856,13 @@ let
         sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
       };
     };
-    "fsevents-1.2.11" = {
+    "fsevents-1.2.9" = {
       name = "fsevents";
       packageName = "fsevents";
-      version = "1.2.11";
+      version = "1.2.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz";
-        sha512 = "0gh6646md6jag20cv3p6c36gf1k2h417lp8a7pwfdbvnbz9khs69hgs344jf2lk7pfqr8gyh13j56n9qvk2ad7nlq0isym93sbpgv7s";
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz";
+        sha512 = "oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==";
       };
     };
     "function-bind-1.1.1" = {
@@ -3970,16 +3871,7 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz";
-        sha512 = "38chm1mh077ksx6hy2sssfz4q29hf0ncb9k6ila7si54zqcpl5fxd1rh6wi82blqp7jcspf4aynr7jqhbsg2yc9y42xpqqp6c1jz2n8";
-      };
-    };
-    "gensync-1.0.0-beta.1" = {
-      name = "gensync";
-      packageName = "gensync";
-      version = "1.0.0-beta.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz";
-        sha512 = "1r0jph65fg2w5p612lr79rb1k2xyvr3cymg0cbsk8nrncdm82l4k1k8sflk3q32zahpdjfsfs15rdqcj7wgahrpzw3picmmsgl05hdg";
+        sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==";
       };
     };
     "get-caller-file-1.0.3" = {
@@ -3988,7 +3880,7 @@ let
       version = "1.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz";
-        sha512 = "3mw8nv3r73b3lp2pzj116p27flkrv1vq6v0ika46w3xqfinm6gxn38glryibvy834mja8ib4j9cjq27qn164z3793c9g88y79asppny";
+        sha512 = "3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==";
       };
     };
     "get-caller-file-2.0.5" = {
@@ -3997,25 +3889,16 @@ let
       version = "2.0.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz";
-        sha512 = "0b7da6kb3xqk26cw4i6kb1lk911z06z53if2g8l23hmfpbhl6vfbn8iip55j1yplbqnly2abb9d349r6ky2z570839q3p9z2gf4y88g";
+        sha512 = "DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==";
       };
     };
-    "get-paths-0.0.7" = {
+    "get-paths-0.0.4" = {
       name = "get-paths";
       packageName = "get-paths";
-      version = "0.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-paths/-/get-paths-0.0.7.tgz";
-        sha512 = "2sbm9wgxb9lh20hl3rj1zrpvgq14kxvd16hq6p9drh7z26f6nmy4jp0irbaqk1gjal152shl7kwkwk6gskvla18p0qs8p5mn2vlj1yk";
-      };
-    };
-    "get-stream-3.0.0" = {
-      name = "get-stream";
-      packageName = "get-stream";
-      version = "3.0.0";
+      version = "0.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz";
-        sha1 = "8e943d1358dc37555054ecbe2edb05aa174ede14";
+        url = "https://registry.npmjs.org/get-paths/-/get-paths-0.0.4.tgz";
+        sha512 = "+AxlfMGN7FuJr2zhT6aErH08HMKkRwynTTHtWCenIWkIZgx2OlkZKgt7SM4+rh8Dfi32lo6HcvqeTLxph3kjQw==";
       };
     };
     "get-stream-4.1.0" = {
@@ -4024,7 +3907,7 @@ let
       version = "4.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz";
-        sha512 = "3pwlllj9naaqzlc5axbxz4jqg3v533xd9jz945mjd3zmca3hh3pr1dpwc7416kjszw6igk060v6x2dgwpr7m1rd4djavmvr8bhavihq";
+        sha512 = "GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==";
       };
     };
     "get-value-2.0.6" = {
@@ -4045,13 +3928,13 @@ let
         sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
       };
     };
-    "glob-7.1.6" = {
+    "glob-7.1.4" = {
       name = "glob";
       packageName = "glob";
-      version = "7.1.6";
+      version = "7.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz";
-        sha512 = "020qv13jbi1v4y5xavf6fw08h9svy4q9p67m4avkrrhgdjmk0c5k3h19bv7k6yn1vfxljpjw9kg81fbdg9v83cjplxvkn3v4v1v21ig";
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz";
+        sha512 = "hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==";
       };
     };
     "glob-parent-3.1.0" = {
@@ -4069,16 +3952,7 @@ let
       version = "1.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz";
-        sha512 = "1pgpsvm0rm1fnqmblx77xs67gh8c80nf4dsgcgalhh9phmlp8ahn5w7vzx3xkwyxw3fg33h8vhh3plsycw6fd7c2r76mm7m8w9fkb5h";
-      };
-    };
-    "global-modules-2.0.0" = {
-      name = "global-modules";
-      packageName = "global-modules";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz";
-        sha512 = "3q8nyi4i93sc7kfx7mmzmkr3656h7f27f5dkwx0908mz2m4bdih9024qmbss87anjf9d817zbr0mmm2zr9pfli2qw41zxv9j2cdyril";
+        sha512 = "sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==";
       };
     };
     "global-prefix-1.0.2" = {
@@ -4090,22 +3964,13 @@ let
         sha1 = "dbf743c6c14992593c655568cb66ed32c0122ebe";
       };
     };
-    "global-prefix-3.0.0" = {
-      name = "global-prefix";
-      packageName = "global-prefix";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz";
-        sha512 = "1dda0wwyqq1k8qa0cy6ifchm9zfbq0bsrvq68gccp4haqp0hgqs5ax1hrpxkcl9k9j3g1nb0nzi19v8ikcxxc9y6i37a24mjjfah03b";
-      };
-    };
     "globals-11.12.0" = {
       name = "globals";
       packageName = "globals";
       version = "11.12.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz";
-        sha512 = "1ab6f0n8yjl3zkl6dwhvxpxh63b4acc7nj7i21z3dx1fz1jv1c3673qpkwiavmcbbf8jlkxapx0x8ybzz5w2yra4ln24lh687y6kq2q";
+        sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
       };
     };
     "globals-9.18.0" = {
@@ -4114,7 +3979,7 @@ let
       version = "9.18.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz";
-        sha512 = "18psd5ig23apaw07k4mma3z1hi2ndfwsqkm05hxashnf5lf7mpfs6kjiircc0x3x3q15j2x2j4zfzsqacxvfsmw40zjchn44bfccjab";
+        sha512 = "S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==";
       };
     };
     "globby-6.1.0" = {
@@ -4135,22 +4000,13 @@ let
         sha1 = "fb2ccff9401f8600945dfada97440cca972b8680";
       };
     };
-    "got-8.3.2" = {
-      name = "got";
-      packageName = "got";
-      version = "8.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/got/-/got-8.3.2.tgz";
-        sha512 = "05i0zb81f4c0z48y9mjckyajm586ygznh8y8di5g0qrg3vi9hpbw2q3cf548as8zx9b4g1q5zf2cab43yx21wnan1l0qsz19zjhjdda";
-      };
-    };
-    "graceful-fs-4.2.3" = {
+    "graceful-fs-4.1.15" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.3";
+      version = "4.1.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz";
-        sha512 = "12xdl6ai5jdxcpcavw2hk4zpiknz7g7f2cvgawzwlzv7cy7qf7riq8ymkgqdqxjkpl1mg627dxa65zc9b0yqhflsmqlfg5q3481azbb";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz";
+        sha512 = "6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==";
       };
     };
     "growly-1.3.0" = {
@@ -4168,7 +4024,7 @@ let
       version = "5.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz";
-        sha512 = "0y1sp7474a0w8329a3d69dgqdbaj7azkx415kcdrkri95c6gyvpj6c3mp5v0jdwjasq01xw07lr5l551z77ch0nkcszn7m8d7mf5l8l";
+        sha512 = "FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==";
       };
     };
     "handle-thing-2.0.0" = {
@@ -4177,7 +4033,16 @@ let
       version = "2.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz";
-        sha512 = "28zz3rsr08yf5sib0pnnwyk99023ll7bp73z28r1pb6j722bfdhxmzww91cyh713b3a6bqvfxlglancn95pwdnsb5w8w2sda9xk72vp";
+        sha512 = "d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==";
+      };
+    };
+    "handlebars-4.3.3" = {
+      name = "handlebars";
+      packageName = "handlebars";
+      version = "4.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/handlebars/-/handlebars-4.3.3.tgz";
+        sha512 = "VupOxR91xcGojfINrzMqrvlyYbBs39sXIrWa7YdaQWeBudOlvKEGvCczMfJPgnuwHE/zyH1M6J+IUP6cgDVyxg==";
       };
     };
     "har-schema-2.0.0" = {
@@ -4195,7 +4060,7 @@ let
       version = "5.1.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz";
-        sha512 = "3kaldgfsh3lfvgvw31s8b7q345zf7ixjahllncdckcw6qfs3gnbsamdxgs9kfigq7rwmja7v51ghh7y0rsp6q7jmvmbydhh645wxnxh";
+        sha512 = "sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==";
       };
     };
     "has-1.0.3" = {
@@ -4204,7 +4069,7 @@ let
       version = "1.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/has/-/has-1.0.3.tgz";
-        sha512 = "37vh53c11hws66navka0w9xxm6rcr034bxpyvaldiqz1msafqf0jpi1aqxbaygs53arz9y510qg6dl6vrm285hrxniygs2l8lxnyrvz";
+        sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==";
       };
     };
     "has-ansi-2.0.0" = {
@@ -4225,31 +4090,13 @@ let
         sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
       };
     };
-    "has-symbol-support-x-1.4.2" = {
-      name = "has-symbol-support-x";
-      packageName = "has-symbol-support-x";
-      version = "1.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz";
-        sha512 = "0kljkjnsw7jnqm8dpf05rd7a59xjfwlbmp1qxs5kdda78zwwqfpkq5ryc2510iyam6v5vbyy0h7bpkwqadajq1ag2zaa7dymyyhwfnx";
-      };
-    };
-    "has-symbols-1.0.1" = {
+    "has-symbols-1.0.0" = {
       name = "has-symbols";
       packageName = "has-symbols";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz";
-        sha512 = "0mb9d5yqvznqmq073hdc4wl7175niiqpkpb7iqqv8p0q6xgmrhfap9ni6iwrx44w8p9vyg8n3zsllil5pdflzlh462dkydymfi2rdrw";
-      };
-    };
-    "has-to-string-tag-x-1.4.1" = {
-      name = "has-to-string-tag-x";
-      packageName = "has-to-string-tag-x";
-      version = "1.4.1";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz";
-        sha512 = "0bqvhd628h3lrsydbp1xllh7jp23c58j7d4z0x0v9ddffindkk1zfrqmzm28z47ipjp0zxlmzvmlzk98zf9mzjsc47bmp1ydizcmmmx";
+        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz";
+        sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44";
       };
     };
     "has-value-0.3.1" = {
@@ -4303,7 +4150,7 @@ let
       version = "1.1.7";
       src = fetchurl {
         url = "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz";
-        sha512 = "1f5xc15zpy3b7hssv57xnd92ja5r073zvd2pczvncxmy1jnbjcx716riyr2syvah88qk7328a6fz049mziv2k837093xqxd86r9m8xm";
+        sha512 = "taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==";
       };
     };
     "hmac-drbg-1.0.1" = {
@@ -4330,7 +4177,7 @@ let
       version = "1.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz";
-        sha512 = "1qc7ngn9k1w5lcqx2ygqb2x9f03knfbsym25l6qsp6q9qdcxa4fzwwjsh9d9lm5l1569v19rjp7sdnz11087f4b6sv34rav9rcacabr";
+        sha512 = "eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==";
       };
     };
     "hoopy-0.1.4" = {
@@ -4339,16 +4186,16 @@ let
       version = "0.1.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz";
-        sha512 = "1yx4ynb45w5hn214j6xm2357i3hcbhyh21d7040ikmi9ywaqsjycbzp390wp1qixpyjnc8aaacwzqyf1cvlfz7c5fs6brxbd7xjq5qx";
+        sha512 = "HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==";
       };
     };
-    "hosted-git-info-2.8.8" = {
+    "hosted-git-info-2.8.4" = {
       name = "hosted-git-info";
       packageName = "hosted-git-info";
-      version = "2.8.8";
+      version = "2.8.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz";
-        sha512 = "19a25b4xb3hg00d1nsirc3xfcc07rplbh6msa49rgc8xg5rg38y1z8rfrf0dmll8k4jaml8z337bi6y2cgah66jnwxinn0sch5k7z3z";
+        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz";
+        sha512 = "pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==";
       };
     };
     "hpack.js-2.1.6" = {
@@ -4366,7 +4213,7 @@ let
       version = "1.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz";
-        sha512 = "1ir4rhs26z0x26nr1bca94rbgyginfyrdza1a550ish1ssv5cf9j94dgl2j47n65yvjsnmhx8m749bljr3qjn7pdndcp7l35375jngg";
+        sha512 = "71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==";
       };
     };
     "html-entities-1.2.1" = {
@@ -4378,31 +4225,13 @@ let
         sha1 = "0df29351f0721163515dfb9e5543e5f6eed5162f";
       };
     };
-    "html-escaper-2.0.0" = {
-      name = "html-escaper";
-      packageName = "html-escaper";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.0.tgz";
-        sha512 = "0i7fxa00a4a7qdgxkiafdbpwvm5x80fivcnhmwbd8qdyxf18zdxzmriqq48k5a7yr7vn0hhzvvf1nki2105hqn29fznnn0iw42vv2vb";
-      };
-    };
     "http-assert-1.4.1" = {
       name = "http-assert";
       packageName = "http-assert";
       version = "1.4.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz";
-        sha512 = "21ixj6v0igbmy7zx5g4kpqp9fr495ki1jm8qszg1gbwmwcbji51n4zcpm6ll8a927m626rw4vkdamvsi90azmsnapm2d5lkl6mkpp5d";
-      };
-    };
-    "http-cache-semantics-3.8.1" = {
-      name = "http-cache-semantics";
-      packageName = "http-cache-semantics";
-      version = "3.8.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz";
-        sha512 = "3gsj16kpvygynld5ajbvg8ii3n3bka4waamdzx30wwhz72mdr6wvffm20rfnxwzid9fq49d5g333yjq5dz1qqbnk9bwcmrj9f5bda75";
+        sha512 = "rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw==";
       };
     };
     "http-deceiver-1.2.7" = {
@@ -4429,16 +4258,7 @@ let
       version = "1.7.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz";
-        sha512 = "13c4825kzqlxdqfjrlrwh15ira0bjm9m3b8qcrfzaysiky1m3gb6dv6gcjgpnap9mbl0fajqiibzp1w5r8qnyn8glaj4wgzf6vh2i5r";
-      };
-    };
-    "http-errors-1.7.3" = {
-      name = "http-errors";
-      packageName = "http-errors";
-      version = "1.7.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz";
-        sha512 = "1zx0vws4k6lcw8j8pgc2yrwfw56s6n2z4dvhd9lcj9l1ywnl9ssianilmrlzr6ravkqxv0xbdqg4cn0q3l72d8h0achvcdbqp8dfd35";
+        sha512 = "uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==";
       };
     };
     "http-parser-js-0.4.10" = {
@@ -4456,7 +4276,7 @@ let
       version = "1.18.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz";
-        sha512 = "2jhzdgr7gcgj58mf798ak1a638wm4mnp45pk48im1rf03dpw39alpyabd7rqwqgjrilaggnmh6nd3m9pqnyn76q3mw5g7rzjf43d0pk";
+        sha512 = "84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==";
       };
     };
     "http-proxy-middleware-0.19.1" = {
@@ -4465,7 +4285,7 @@ let
       version = "0.19.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz";
-        sha512 = "3fl42r9rpdqm0jrrd2wqws6syv02r8cqgy0j6ddrjvn5p3by8shm0mmbych1g5k9i5agc70x6z2904nrgidkdnlq1pwafqhcf0i6xn8";
+        sha512 = "yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==";
       };
     };
     "http-signature-1.2.0" = {
@@ -4492,7 +4312,7 @@ let
       version = "0.4.24";
       src = fetchurl {
         url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz";
-        sha512 = "2n3ygx6km56rdcd5kq52bs2113xqm3vlw2kb9r7pnmxd2qhxrfahp2ngc4w7x8x76fyfpapnixnbjq1i24nc11mj6q7rghwj2fifwxz";
+        sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==";
       };
     };
     "ieee754-1.1.13" = {
@@ -4501,7 +4321,7 @@ let
       version = "1.1.13";
       src = fetchurl {
         url = "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz";
-        sha512 = "179jm8fhl2advz4j63klrp57sm99wvyb5jcxwfr9rhi730ybcxkyfqrr0pmwvir12zjzpkwwvjjkjclwrss7lpab7dg2myqc8izpxz2";
+        sha512 = "4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==";
       };
     };
     "iferr-0.1.5" = {
@@ -4519,7 +4339,7 @@ let
       version = "3.3.10";
       src = fetchurl {
         url = "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz";
-        sha512 = "2x7za00gs7ipwcq29bslxcdv7j47m28jx14n9ybs5h2icr4024jn5ppmbs6953g2qb3amhs1gg5x0s48ky3mk7ybi36wchsb7kks2ry";
+        sha512 = "Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==";
       };
     };
     "import-local-2.0.0" = {
@@ -4528,7 +4348,7 @@ let
       version = "2.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz";
-        sha512 = "04jd526svpmpgya7i580qcb13s9b6bw4s9hng2fsni2gxsz6h8vqxl8gbm5k575yxm5aqhy001rl7p1iy60rsi6371cvynfdpi39avg";
+        sha512 = "b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==";
       };
     };
     "imurmurhash-0.1.4" = {
@@ -4540,22 +4360,13 @@ let
         sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
       };
     };
-    "indent-string-3.2.0" = {
-      name = "indent-string";
-      packageName = "indent-string";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz";
-        sha1 = "4a5fd6d27cc332f37e5419a504dbb837105c9289";
-      };
-    };
     "infer-owner-1.0.4" = {
       name = "infer-owner";
       packageName = "infer-owner";
       version = "1.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz";
-        sha512 = "3s364ysa3q0sxc852a6rlbx0y8spayvg5csradd7s9vn2fr0ky3xpfhy5kkv6afgji3df7kyiswx296kwfakydii9xygqzxgkwn6a90";
+        sha512 = "IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==";
       };
     };
     "inflation-2.0.0" = {
@@ -4594,22 +4405,13 @@ let
         sha1 = "633c2c83e3da42a502f52466022480f4208261de";
       };
     };
-    "inherits-2.0.4" = {
-      name = "inherits";
-      packageName = "inherits";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz";
-        sha512 = "30rw2i1k63pbf0n5dbwly05h95cdp1kj8c9r15gv1cwha141g61k56fx4qwsvhpm1ksnf7agch1wxirs3s0m31wbfvmcqizgrlwdywk";
-      };
-    };
     "ini-1.3.5" = {
       name = "ini";
       packageName = "ini";
       version = "1.3.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz";
-        sha512 = "1rjbvf1rg5ywhnba08sgagn2qf23lab330qrqmh7d891zap3xpxcyfyj1cblpf0f0rypglcfacybzyrpd4996aa1mbc820awa33k5j5";
+        sha512 = "RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==";
       };
     };
     "internal-ip-4.3.0" = {
@@ -4618,7 +4420,7 @@ let
       version = "4.3.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz";
-        sha512 = "05c6ydjyg8633b07vn5g168r5lxwvl5k1mjm55brfx35c1z18195bh67f7cfk4bjvyapxfhh8q5i7pv75k353rfp0rcpkgsa2iw2p2b";
+        sha512 = "S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==";
       };
     };
     "interpret-1.2.0" = {
@@ -4627,16 +4429,7 @@ let
       version = "1.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz";
-        sha512 = "1pibn9f6dn61lmilqiv8hb4aix4b78xf9sdws3rnl060vvv6l4qrw6gfmncq5n0f0rah2yj1ssfg80chaw9y5aa860wfdcccb4ghgcr";
-      };
-    };
-    "into-stream-3.1.0" = {
-      name = "into-stream";
-      packageName = "into-stream";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz";
-        sha1 = "96fb0a936c12babd6ff1752a17d05616abd094c6";
+        sha512 = "mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==";
       };
     };
     "invariant-2.2.4" = {
@@ -4645,7 +4438,7 @@ let
       version = "2.2.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz";
-        sha512 = "0sa0bflh46zr7zqdifqk3a48bmqlmpikrnmwvgz8nx6979piw2m92qrn1g5xnpjzxn864y2jq3gl84jkws2dad3mlwr6s3fa10my4m6";
+        sha512 = "phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==";
       };
     };
     "invert-kv-2.0.0" = {
@@ -4654,7 +4447,7 @@ let
       version = "2.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz";
-        sha512 = "0lamd4l8hybnh42bg1nav09fj3h7k31vnvsqbqk3mhbhml32042k8hpixhiapqfssi1jyhnw31mdv9zx0fvxzxqi8igahyh5zznzxf0";
+        sha512 = "wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==";
       };
     };
     "ip-1.1.5" = {
@@ -4675,22 +4468,13 @@ let
         sha1 = "fa78bf5d2e6913c911ce9f819ee5146bb6d844e9";
       };
     };
-    "ipaddr.js-1.9.1" = {
+    "ipaddr.js-1.9.0" = {
       name = "ipaddr.js";
       packageName = "ipaddr.js";
-      version = "1.9.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz";
-        sha512 = "3gcwhv1wa2hb1vljlcmzhvzliks9rj7nzsw165vgy69jakw8g55ky474mj4j41vfbid8viy9nhwn9kx8pfqrikyl29i98zi9vmkz8nh";
-      };
-    };
-    "is-absolute-url-3.0.3" = {
-      name = "is-absolute-url";
-      packageName = "is-absolute-url";
-      version = "3.0.3";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz";
-        sha512 = "3ssxj0ds0anzx5qcgn5lcawrsv3br0zbi1qcfpi9sslp4iwzb0hr9aqy3y72rf9c0bwb0h5svy7l341j0arlkyvx2yp85pfgqhqv6d2";
+        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz";
+        sha512 = "M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==";
       };
     };
     "is-accessor-descriptor-0.1.6" = {
@@ -4708,7 +4492,7 @@ let
       version = "1.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz";
-        sha512 = "1qllik6fjwfq17ic0fxwqyll8mrhmcm36xfsq45xc57mq9ah4i4nn4f8fvgb0gx4kpl3jlpkzndp0xlmmf2mh0xmggw6mhw74fng64v";
+        sha512 = "m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==";
       };
     };
     "is-arrayish-0.2.1" = {
@@ -4735,16 +4519,25 @@ let
       version = "1.1.6";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz";
-        sha512 = "3kr8dm9qyklmm2xyiz75s8db90bfilfals4x0g276kncihrrrz0ar4y6dqpvc7pwy7h43jay1bayi1r62x97nzvcswkk4ap18pl1irm";
+        sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==";
+      };
+    };
+    "is-buffer-2.0.3" = {
+      name = "is-buffer";
+      packageName = "is-buffer";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz";
+        sha512 = "U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==";
       };
     };
-    "is-callable-1.1.5" = {
+    "is-callable-1.1.4" = {
       name = "is-callable";
       packageName = "is-callable";
-      version = "1.1.5";
+      version = "1.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz";
-        sha512 = "3wmff73yzck45x5shydqswbww8zkl03i43yhy7mm6av9770yvd2gj7xfrc8f45fw2ncn7mwblxvxlcap5rngmklkjiis902qgkay8hi";
+        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz";
+        sha512 = "r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==";
       };
     };
     "is-ci-2.0.0" = {
@@ -4753,7 +4546,7 @@ let
       version = "2.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz";
-        sha512 = "3inmiidgnyxsaypy9cq2pxcc0n7xcfsy3dlkjhk22y97vwz45b0hg972wj27kc0q5dd7k0zywjl3y5fjsqiq7fvllp1sh19p7p57wk1";
+        sha512 = "YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==";
       };
     };
     "is-data-descriptor-0.1.4" = {
@@ -4771,16 +4564,16 @@ let
       version = "1.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz";
-        sha512 = "0ny6kxc752fg3z6fmj8a7fw2lai2y17d9fx0028nvyv1qj0sa30rfryhv9xd7b7is1yfs0val6amsy2b22rh589il10md36a75mgd4d";
+        sha512 = "jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==";
       };
     };
-    "is-date-object-1.0.2" = {
+    "is-date-object-1.0.1" = {
       name = "is-date-object";
       packageName = "is-date-object";
-      version = "1.0.2";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz";
-        sha512 = "39f971gzwirnxjw4b72c175nbn1hnmrn1wljvbzvxv69hw9vpialhjafh9nkh0g3p26a49zss3rr7pxfww1f6day4s89hmqkm7l6aai";
+        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz";
+        sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16";
       };
     };
     "is-descriptor-0.1.6" = {
@@ -4789,7 +4582,7 @@ let
       version = "0.1.6";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz";
-        sha512 = "0gbflcxmd30gzj91y19fylsfalirl6qg71sxjximc8lc2vxkg5h9scnahvxsczymchlx742i8ai489843ys431vyw73rp418jpxiw3a";
+        sha512 = "avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==";
       };
     };
     "is-descriptor-1.0.2" = {
@@ -4798,7 +4591,7 @@ let
       version = "1.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz";
-        sha512 = "2v1a9mn2rzz52v8vs3i7njk9pv95fh971yc81xr0zkaw3dff4gbv1zv048xyjysfgwpajbyryk2px8hinwwh0wagblmw6chdbjsrs6r";
+        sha512 = "2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==";
       };
     };
     "is-expression-3.0.0" = {
@@ -4825,7 +4618,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz";
-        sha512 = "0w73qlx9ynmv2iznw1kll86yd04z4rsz3788nzgh7amcnpsbyxbrs734im9dibqgps6pjyz61s8kp4lcsbjsdfrlc51m1pm2hrxgfba";
+        sha512 = "arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==";
       };
     };
     "is-extglob-2.1.1" = {
@@ -4837,13 +4630,13 @@ let
         sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
       };
     };
-    "is-finite-1.1.0" = {
+    "is-finite-1.0.2" = {
       name = "is-finite";
       packageName = "is-finite";
-      version = "1.1.0";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz";
-        sha512 = "3gj0k3vlpbc7zg5xkl8yjnilqs2dmk3ks67shchrfmnzkj6r4aad994xwfczx99ccjx6cixdqg4sawk2m92lqhh6jmfl17zlnv8rp3i";
+        url = "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz";
+        sha1 = "cc6677695602be550ef11e8b4aa6305342b6d0aa";
       };
     };
     "is-fullwidth-code-point-1.0.0" = {
@@ -4870,7 +4663,7 @@ let
       version = "2.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz";
-        sha512 = "14qphsynlkivbpi3hhf3wmcjh8f5s9d2z6nr1h98ijygyj2jql330h1w52a4z33plgjma305w3rn3nf28q4n6j1qfmz2byq4gih2cki";
+        sha512 = "cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==";
       };
     };
     "is-generator-function-1.0.7" = {
@@ -4879,7 +4672,7 @@ let
       version = "1.0.7";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.7.tgz";
-        sha512 = "2vr3bz9zc2d62mnsg16ppb5h2v5h9yfyjbijysi34b10vsly1fn1g4hmqwi40fng3i9pmbkc7vapr3yl23yxc96b2jgvqcf1h9kk5v1";
+        sha512 = "YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw==";
       };
     };
     "is-glob-3.1.0" = {
@@ -4897,7 +4690,7 @@ let
       version = "4.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz";
-        sha512 = "19c23n8r8rfbz5rgs5csbjbpwgxvwi7y6kpsvlylgs2v1r1z2zm18qzzz2g8vnnwaldn5c4qalpc6p88rl0gjrrm278j52ks0m2svg4";
+        sha512 = "5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==";
       };
     };
     "is-number-3.0.0" = {
@@ -4909,22 +4702,13 @@ let
         sha1 = "24fd6201a4782cf50561c810276afc7d12d71195";
       };
     };
-    "is-object-1.0.1" = {
-      name = "is-object";
-      packageName = "is-object";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz";
-        sha1 = "8952688c5ec2ffd6b03ecc85e769e02903083470";
-      };
-    };
     "is-path-cwd-2.2.0" = {
       name = "is-path-cwd";
       packageName = "is-path-cwd";
       version = "2.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz";
-        sha512 = "0aws7clcb9cyvvb4430df9fhfnpg9bl1n07ymzp7jdzia0bvjg25gyd39xp2xhgkgpkqazw8csglblifdql0rpj4kfwg1r26xnkdpn3";
+        sha512 = "w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==";
       };
     };
     "is-path-in-cwd-2.1.0" = {
@@ -4933,7 +4717,7 @@ let
       version = "2.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz";
-        sha512 = "12yyg4jlg5mmiy2g0r91hz29v3jh5g2wyhdgs1qrfswx2sp7bfsn5g4632yfxmhrpjcy03bxfj12v93yd6pdykkpsmyz912g1f1rnmc";
+        sha512 = "rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==";
       };
     };
     "is-path-inside-2.1.0" = {
@@ -4942,16 +4726,7 @@ let
       version = "2.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz";
-        sha512 = "0b5h3ls9n24ma1wqpfsv7n034ryz86rfn1vkz5g0sih2abi9wrs0vx6w583s6qhcgqa6rx5w5layfz7hlakhxvf07qcnnn36x7s2b62";
-      };
-    };
-    "is-plain-obj-1.1.0" = {
-      name = "is-plain-obj";
-      packageName = "is-plain-obj";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz";
-        sha1 = "71a50c8429dfca773c92a390a4a03b39fcd51d3e";
+        sha512 = "wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==";
       };
     };
     "is-plain-object-2.0.4" = {
@@ -4960,7 +4735,7 @@ let
       version = "2.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz";
-        sha512 = "0xgsjz9m3kg5pm36lcchblxk53qay59ya7wi5jgdmz0dsl5b0j2j7wcd48yyfaip1m70mj9aqf8kib02fn62k0hy0vxg2hng60yk4w7";
+        sha512 = "h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==";
       };
     };
     "is-promise-2.1.0" = {
@@ -4972,22 +4747,13 @@ let
         sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
       };
     };
-    "is-regex-1.0.5" = {
+    "is-regex-1.0.4" = {
       name = "is-regex";
       packageName = "is-regex";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz";
-        sha512 = "1hqaalcf1yqll2yzm71a1axvid0x87jp41hyicw16rl12rrh6sp6srr9lk7wxm6a1vl3ypw8qyd0imbq8fl2h7yq8l8xawdnkbrclmy";
-      };
-    };
-    "is-retry-allowed-1.2.0" = {
-      name = "is-retry-allowed";
-      packageName = "is-retry-allowed";
-      version = "1.2.0";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz";
-        sha512 = "134jdgzg4p15g5jvwsmb0bmglmymn1pyk6r2w8q1fm728f15l7k12sqmfngn0mg3vs34gzg12v684fp9c99l6jnv737b6rgmiwd8ij5";
+        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz";
+        sha1 = "5517489b547091b0930e095654ced25ee97e9491";
       };
     };
     "is-stream-1.1.0" = {
@@ -4999,13 +4765,13 @@ let
         sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
       };
     };
-    "is-symbol-1.0.3" = {
+    "is-symbol-1.0.2" = {
       name = "is-symbol";
       packageName = "is-symbol";
-      version = "1.0.3";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz";
-        sha512 = "1lmzzy2360gfg5639x8mzi5fpc1bgpdx0ffjlqaz9affd0lvvpi7yjwk15jsm1y1l8rf5jahyapv6rm2w3p86gxkghsp0jjlj2s621v";
+        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz";
+        sha512 = "HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==";
       };
     };
     "is-typedarray-1.0.0" = {
@@ -5032,7 +4798,7 @@ let
       version = "1.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz";
-        sha512 = "0h9a8zw2ddl25yryp7i376iqjdvlsx4gw93sxy4067dw2yi98m3krfwd9xgi9q5w0idw9rqnyhhncr38xsppyi5izkb7ngai58bawkr";
+        sha512 = "eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==";
       };
     };
     "is-wsl-1.1.0" = {
@@ -5095,7 +4861,7 @@ let
       version = "4.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz";
-        sha512 = "3bk7frapznyd2q46p7kbk6w1wby8dfjj14p06j485n3s08nc398ah9d3wlr1q59sj5hv1cycvalkmn1vfzlamkp93d69981ccvny406";
+        sha512 = "BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==";
       };
     };
     "isstream-0.1.2" = {
@@ -5113,7 +4879,7 @@ let
       version = "2.0.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz";
-        sha512 = "2cgkn8swx4450c0m0alr4lb4fvqjyh3v9mg6ivx2sa9vq0hkb7r0yz87srf8263j089kpjmpnsl6d3l5vg7x4f4kk39n20gw6gg79gi";
+        sha512 = "8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==";
       };
     };
     "istanbul-lib-instrument-3.3.0" = {
@@ -5122,7 +4888,7 @@ let
       version = "3.3.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz";
-        sha512 = "1j5bcfrd9sgjpm1mpgxv847jwwcjfpzfkynjcidpf4mwxbn0p6gz622rcrmbliphcbnw0nxipw0d7aw0gva7rym3lci9rz8icvwhyg6";
+        sha512 = "5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==";
       };
     };
     "istanbul-lib-report-2.0.8" = {
@@ -5131,7 +4897,7 @@ let
       version = "2.0.8";
       src = fetchurl {
         url = "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz";
-        sha512 = "2qm8v7vck1yv85lkx7n060wdvrr547mfrc83xyr6sl4p4av7r6c5jh6mdbvxiqz2m6d5spj6v8fksa9dc6c5r86hjhqh47pkqdmww3w";
+        sha512 = "fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==";
       };
     };
     "istanbul-lib-source-maps-3.0.6" = {
@@ -5140,34 +4906,25 @@ let
       version = "3.0.6";
       src = fetchurl {
         url = "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz";
-        sha512 = "1gm71m2lqpb1p2lrwmf9f9g2maz48s133zvk0zzlblgwnjgnn6dx129cbsx8znklhanwwgck6fwnfpsy5sga5pnwfbpw923rg6cm3j7";
+        sha512 = "R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==";
       };
     };
-    "istanbul-reports-2.2.7" = {
+    "istanbul-reports-2.2.6" = {
       name = "istanbul-reports";
       packageName = "istanbul-reports";
-      version = "2.2.7";
+      version = "2.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz";
-        sha512 = "0m8fjnnvxyyd03g22xna4jnypd01jbvdsz5k9jnqlb1v678zikdzidq7p1x4pdlg1dfzfa9g8lzz01srnamalpmrj5qxrb8ppy4bvds";
+        url = "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz";
+        sha512 = "SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==";
       };
     };
-    "isurl-1.0.0" = {
-      name = "isurl";
-      packageName = "isurl";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz";
-        sha512 = "3vs53bpdrwiwwcql2xs20jmd8qha27k4iypdhr0b3isgdaj18vz80nhxwvvqxk6y3x5vj3slchxl0r91gjhz487xmkkp52gridg5zyl";
-      };
-    };
-    "jest-24.9.0" = {
+    "jest-24.8.0" = {
       name = "jest";
       packageName = "jest";
-      version = "24.9.0";
+      version = "24.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz";
-        sha512 = "0dz2j03p5zng926y4l7d5ivp918xscx0rmpavzyh02wy397hc3qr7m8w90zyfizy0gkwcq6xcdw4a3p1rqpqyg8sy0xvvb6aqph3yb2";
+        url = "https://registry.npmjs.org/jest/-/jest-24.8.0.tgz";
+        sha512 = "o0HM90RKFRNWmAWvlyV8i5jGZ97pFwkeVoGvPW1EtLTgJc2+jcuqcbbqcSZLE/3f2S5pt0y2ZBETuhpWNl1Reg==";
       };
     };
     "jest-changed-files-24.9.0" = {
@@ -5176,7 +4933,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz";
-        sha512 = "2m70h82g3b9fhgyvzvg189inyc1zq20jz8nv763k4zcqg05pswzg92kjwkk26ry257qpk1p7cdg5hivchvmmg5xhh1ms756xnjxd979";
+        sha512 = "6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==";
       };
     };
     "jest-cli-24.9.0" = {
@@ -5185,7 +4942,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz";
-        sha512 = "0d2yrlapfahrl57m7nwz7lw04gvx72f61sq0w8mga9c1ly2jqm1jfb7jx4xjwqy4rshz0xxrj1zcpy5s60m14n7l1b70kxd50mx2lpr";
+        sha512 = "+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==";
       };
     };
     "jest-config-24.9.0" = {
@@ -5194,7 +4951,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz";
-        sha512 = "1yjki6v7vm537dmjkfkdbmb9gqw90j3sz1815j1ckx21rb2pshsdpk7qccjn6hfbcn7zy287wb48ynbz6kq7mpvxplhlqamkd0fs124";
+        sha512 = "RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==";
       };
     };
     "jest-diff-24.9.0" = {
@@ -5203,7 +4960,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz";
-        sha512 = "02sb3bshly5aqlan0hxxw54d15jm33d68zhyl9mr86lwy736g3gdvcs18d3jv9zr82vnnnhcdvi7fc7fd4aglxai8v92x00rx7fpix8";
+        sha512 = "qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==";
       };
     };
     "jest-docblock-24.9.0" = {
@@ -5212,7 +4969,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz";
-        sha512 = "009kyd5sgsjr8fa7ayc30pggfywigyh6a49rwk6fs1lcn5r61iy7ffza0zssbbra98yp64qgjinbmk09m0pp1yyf0sw096cj1vf6l0p";
+        sha512 = "F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==";
       };
     };
     "jest-each-24.9.0" = {
@@ -5221,7 +4978,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz";
-        sha512 = "2i6r417rcfrcfm30qy6ahwx0bgnwmj43d9l43vj1fkzj22dp6aygkx8qb6v09iw43q0y2b8pmfdw1k2gjy2wdnbqdf8wnvgh13v9n1q";
+        sha512 = "ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==";
       };
     };
     "jest-environment-jsdom-24.9.0" = {
@@ -5230,7 +4987,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz";
-        sha512 = "2s9xjipxcg6j92q67l7c9xcc6dy8d5nhjw722j501cxha0fabdp0ld1vzdw9y4hnqbvcy2h6kagjv9vlccbvqxm03p34is1sdblbzv6";
+        sha512 = "Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==";
       };
     };
     "jest-environment-node-24.9.0" = {
@@ -5239,7 +4996,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz";
-        sha512 = "2wbp9q6p3l2n5zd9s9788rpbyy4xgf07fgf1q8vgnndzgk87jiillyhsjliznj924bssn8pwadqaimgsdpa7pg9q4rk5ir7zvcibpp9";
+        sha512 = "6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==";
       };
     };
     "jest-get-type-24.9.0" = {
@@ -5248,7 +5005,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz";
-        sha512 = "3qs6d7i3xgiwb787y3d4ymij99fqgrcn6bg0bz27ic0nr58cw49njbhnrb7jpmkq3823mqs1snx7rvz97zlhac7hh5jwyr560riwjwm";
+        sha512 = "lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==";
       };
     };
     "jest-haste-map-24.9.0" = {
@@ -5257,7 +5014,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz";
-        sha512 = "26w4jc0ic0x8j1vza10vnf1aqahg1wknvq9q40kbsv5i9j5h3krvjb8akjgkkpv9gjh9frq04kyml8gg01d8saliy92vflnrfd4bxci";
+        sha512 = "kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==";
       };
     };
     "jest-jasmine2-24.9.0" = {
@@ -5266,7 +5023,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz";
-        sha512 = "37r7lh1ni9sizsffg7zcymwr8v30jhnz5kxmpq06i4c5d2b62nmpnci0w2kfmx0nq21ndp6829ypajdbgrdpzn57rzalq0s128fzbha";
+        sha512 = "Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==";
       };
     };
     "jest-leak-detector-24.9.0" = {
@@ -5275,7 +5032,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz";
-        sha512 = "2n6cx7niz5q8aryz2gahj0kz5s7vvj4xjn5py635kmmrhr7xa0immgd7h6id9zxccrxz8pn8rlp9maz447xfik1dyq32a927ch0b2dm";
+        sha512 = "tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==";
       };
     };
     "jest-matcher-utils-24.9.0" = {
@@ -5284,7 +5041,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz";
-        sha512 = "0fa7wakjy0cpr8scy7i55r1bp13r42n334abwv6p2zfkxa1dgkv0s00qm31437ixxv0rjah1d86vvjg6nvyn7hc62ifds9fgchzd71r";
+        sha512 = "OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==";
       };
     };
     "jest-message-util-24.9.0" = {
@@ -5293,7 +5050,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz";
-        sha512 = "2bq0saksr0nf5i1vj8lkrgwpb1ssyasmmxj0bwhn6ckf921bx3lapbg7wwzp96aa0qd81pv5n6gi0iz7cpvm4l67x9lhlvp4qbgqa50";
+        sha512 = "oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==";
       };
     };
     "jest-mock-24.9.0" = {
@@ -5302,7 +5059,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz";
-        sha512 = "3byaz1py3zmdifhw4743mrj6vq5mkqmkr83ps0w20i3dw2f46sqspx2prn9gyvcqa0i7za0gy6ff0gc28qjrcp4fxqayjlvjlvih4fw";
+        sha512 = "3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==";
       };
     };
     "jest-pnp-resolver-1.2.1" = {
@@ -5311,7 +5068,7 @@ let
       version = "1.2.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz";
-        sha512 = "2fsj6wsh0r9hbal035dfnly528jk85b00z1rnikavh6zprlhwspq8rqjlv4ds0qkr2l62frwq803h6awxx3hgzpcbhgrqdrv7d700d6";
+        sha512 = "pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==";
       };
     };
     "jest-regex-util-24.9.0" = {
@@ -5320,7 +5077,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz";
-        sha512 = "101f428mjhbpli5q63y48lr2j3010x571y5km5mfk2zxx9vrqwnwvprsib89f5nv2lysfr6cin7gxc6ryyqx7yfc8za1idfl1psd46k";
+        sha512 = "05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==";
       };
     };
     "jest-resolve-24.9.0" = {
@@ -5329,7 +5086,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz";
-        sha512 = "0qkydcrqaqslxls0wgkxipas27szpigp62bw03ab640ilj8ym1zfm9x9w0x1ghp14x218dq5jzraf5niwvdybch2lc4z5zma8nxx8jd";
+        sha512 = "TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==";
       };
     };
     "jest-resolve-dependencies-24.9.0" = {
@@ -5338,7 +5095,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz";
-        sha512 = "3xflqrzhsd48ckwqzd4cc5b2qxng8f9946lws7dam37gwd4dxb5spjsswqa624bh36ymv8il4i4gjv9x4ay5whms19qi7an17ldnvhn";
+        sha512 = "Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==";
       };
     };
     "jest-runner-24.9.0" = {
@@ -5347,7 +5104,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz";
-        sha512 = "1d1djjic2c29yjm7lccjh8vpa7imjmr3b4y87v255dvg7cn9p7v78298hzjvl00xkaqn4vrnwd9w6rq8hf9yagvf6hlkzrp491hjjra";
+        sha512 = "KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==";
       };
     };
     "jest-runtime-24.9.0" = {
@@ -5356,7 +5113,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz";
-        sha512 = "2gwrn1nf3fc73wdc0a4gjipld6ahf9iq9k37rdzp5wxish6691xnb4b72j31k2hksr6caijgdgjhgxsbxi36lgmx24zvpl5g616m0zj";
+        sha512 = "8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==";
       };
     };
     "jest-serializer-24.9.0" = {
@@ -5365,7 +5122,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz";
-        sha512 = "1nkvvhcv9qvpdxj7p66qpi46yy4yqvdw6kfdfpq3b00x4i4ypxa1c8m9s7xh672svcibgv3ghwzfh3limg7mjkx53mzffpw7aj245hg";
+        sha512 = "DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==";
       };
     };
     "jest-snapshot-24.9.0" = {
@@ -5374,7 +5131,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz";
-        sha512 = "1xq7ysip1hh99xijwdhk5xmax44mkf7r0ggqdfzdmfnj7h75myfzr39nwi3ljvgwgj7lwkliz9bidivggmgl9fd13qvvcwj66ryp3xq";
+        sha512 = "uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==";
       };
     };
     "jest-util-24.9.0" = {
@@ -5383,7 +5140,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz";
-        sha512 = "0xcvxjx6b045jaki9zg2qjf7j10fv9wmlq2173553l6z11g73id4xgv591r7wdjd81x088fmmv2c53pq60fcjhddiqy562iqm9ikry7";
+        sha512 = "x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==";
       };
     };
     "jest-validate-24.9.0" = {
@@ -5392,7 +5149,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz";
-        sha512 = "12y3aryz98ppjhkz6zs9pix68d6ng43dq40wyvjhdzlf1cyyfs27qk9ra1zir84g2y42smvq7rclxj8sbkzh8ic9am0h2s05vl2vwhw";
+        sha512 = "HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==";
       };
     };
     "jest-watcher-24.9.0" = {
@@ -5401,7 +5158,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz";
-        sha512 = "1kqdbclywg8vhhvh6dhrmzmdfj1ivkwdl639qxam38nxvvv869b7j9shaag8zg7cmc5nlw67yhhc7p1pynv6r491l4pcpcgy8wwpxzv";
+        sha512 = "+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==";
       };
     };
     "jest-worker-24.9.0" = {
@@ -5410,16 +5167,16 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz";
-        sha512 = "1bj47m96z8b7jibrl7ybpmk88l2ic0yzwanlsimc1ca2gz8rhj0zaxaix9baxmyms63lq8dj2yxpafr739k3lhrl83pfjcc2vic8lz7";
+        sha512 = "51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==";
       };
     };
-    "js-beautify-1.10.3" = {
+    "js-beautify-1.10.2" = {
       name = "js-beautify";
       packageName = "js-beautify";
-      version = "1.10.3";
+      version = "1.10.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/js-beautify/-/js-beautify-1.10.3.tgz";
-        sha512 = "2yvdw134756wahvr97k7b7s5d10h3wf454j0vjmwhgbdsmqidlyccrqvjhlm82vdwc3m0074ad79wp4qwmpclhagi9ksvx80lh3zyf1";
+        url = "https://registry.npmjs.org/js-beautify/-/js-beautify-1.10.2.tgz";
+        sha512 = "ZtBYyNUYJIsBWERnQP0rPN9KjkrDfJcMjuVGcvXOUJrD1zmOGwhRwQ4msG+HJ+Ni/FA7+sRQEMYVzdTQDvnzvQ==";
       };
     };
     "js-stringify-1.0.2" = {
@@ -5446,7 +5203,7 @@ let
       version = "4.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz";
-        sha512 = "0lwyvximqkf1q5w94x2747nj2v035is66vzalrbl3f2gdh9k1m3m29p8zw6r65ps5784x2lxwz8akmv085l4ai358rwbp84axz59lj5";
+        sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==";
       };
     };
     "js-yaml-3.13.1" = {
@@ -5455,7 +5212,7 @@ let
       version = "3.13.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz";
-        sha512 = "0kkjjrr0znm2ka89ywc5518c8dw0210z91fm94c7v11l8c96mkjh0ddld5mb7jmmnpzap7vn0fhvr29lma63c9is2ixq3fpp0xxrxk1";
+        sha512 = "YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==";
       };
     };
     "jsbn-0.1.1" = {
@@ -5473,7 +5230,7 @@ let
       version = "11.12.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz";
-        sha512 = "27wagw1v4qv7snvz46q94kvwfzs4p86izsab5rm1bjh4dj18k527msjszrcnvb924sbwk4pj0ncvdqn6jzwydcpvlsi721jgbiz3hyb";
+        sha512 = "y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==";
       };
     };
     "jsesc-0.5.0" = {
@@ -5500,16 +5257,7 @@ let
       version = "2.5.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz";
-        sha512 = "20bfkjw0zjachan7rfv75dn5ky7l12xhyz919mdhh9fjn395ss454ykknjza7fwyx09dj89makcs1xi341dvv4k1cvj94739ifbp2rr";
-      };
-    };
-    "json-buffer-3.0.0" = {
-      name = "json-buffer";
-      packageName = "json-buffer";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz";
-        sha1 = "5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898";
+        sha512 = "OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==";
       };
     };
     "json-parse-better-errors-1.0.2" = {
@@ -5518,7 +5266,7 @@ let
       version = "1.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz";
-        sha512 = "2pv1kaf7gjr0bhr2djaf1i88li7q3v5daz4zm4hz57i4h21jgryihxb5c2h0p0q1vrq1ffyg279hp0vjrg73shvxr5lir6plxjb5fls";
+        sha512 = "mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==";
       };
     };
     "json-schema-0.2.3" = {
@@ -5536,7 +5284,16 @@ let
       version = "0.4.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
-        sha512 = "1bbgxs4777gn3q3yxi0n792cgz9pimf85pypr0w4wzpb22nr8fl9xi98pkcqd3n4fn7lnzffpq7qwpcl4dqc15py19lwqa2jwgw5dn5";
+        sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
+      };
+    };
+    "json-stream-1.0.0" = {
+      name = "json-stream";
+      packageName = "json-stream";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-stream/-/json-stream-1.0.0.tgz";
+        sha1 = "1a3854e28d2bbeeab31cc7ddf683d2ddc5652708";
       };
     };
     "json-stringify-safe-5.0.1" = {
@@ -5554,7 +5311,7 @@ let
       version = "3.3.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz";
-        sha512 = "049m3dzsr3mcgk3g8hw79w9lr296zxs0qmmn45ngfzinyxsvqh6k52i49690bfjlhsv16yrs87vh4nh6lfy80xrdh02haicnnczrgvk";
+        sha512 = "c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==";
       };
     };
     "json5-0.5.1" = {
@@ -5572,16 +5329,25 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz";
-        sha512 = "0xzlb8ipv7y4s06gdr1j09fgp9a8xcjrwy5qq739vgadwzfyslk6xph4f9d8zv7rrc0fg3qn6fpwg3y1mrzf0hbi5qp8yng11cvi938";
+        sha512 = "aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==";
       };
     };
-    "json5-2.1.1" = {
+    "json5-2.1.0" = {
       name = "json5";
       packageName = "json5";
-      version = "2.1.1";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz";
+        sha512 = "8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==";
+      };
+    };
+    "jsonfile-4.0.0" = {
+      name = "jsonfile";
+      packageName = "jsonfile";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz";
-        sha512 = "22wbapqjyyia17kracx58ch53wppglmma2r3k2wzfjixnljynv3s7sscdxffl5v70j77j89wvq0ldmpm8xrxdbap3hqs4067mfcgvcp";
+        url = "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz";
+        sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb";
       };
     };
     "jsonpath-plus-0.19.0" = {
@@ -5590,7 +5356,7 @@ let
       version = "0.19.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-0.19.0.tgz";
-        sha512 = "29bszfdwjp446whcdh9mivbff8xl1v8jyamcwf6bg96mqr0jaghari3nfjqjrq33gv1di54kz17vrlj0bpakv2wwq0bpx6npjr7098r";
+        sha512 = "GSVwsrzW9LsA5lzsqe4CkuZ9wp+kxBb2GwNniaWzI2YFn5Ig42rSW8ZxVpWXaAfakXNrx5pgY5AbQq7kzX29kg==";
       };
     };
     "jsprim-1.4.1" = {
@@ -5611,22 +5377,13 @@ let
         sha1 = "ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3";
       };
     };
-    "keygrip-1.1.0" = {
+    "keygrip-1.0.3" = {
       name = "keygrip";
       packageName = "keygrip";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz";
-        sha512 = "00x227di73g3xvz8pmdhf4ykssibdigbhqw7kr6a22s8w54r7raw71apsc3r2bwda290y3wzsmay0xi59j27lh6icy295ky6a29r149";
-      };
-    };
-    "keyv-3.0.0" = {
-      name = "keyv";
-      packageName = "keyv";
-      version = "3.0.0";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz";
-        sha512 = "32ga97c763vprf4sjbb2f7gbngfppq9n1hy4cpq2h4yb1msrhh2zjimxib7p09mzgynm6askbigxlsqsm11p644avp4sf5nmng8f2vs";
+        url = "https://registry.npmjs.org/keygrip/-/keygrip-1.0.3.tgz";
+        sha512 = "/PpesirAIfaklxUzp4Yb7xBper9MwP6hNRA6BGGUFCgbJ+BM5CKBtsoxinNXkLHAr+GXS1/lSlF2rP7cv5Fl+g==";
       };
     };
     "killable-1.0.1" = {
@@ -5635,7 +5392,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz";
-        sha512 = "272kk46rkfh4wq4mispvvy174y6fj8rlnf1m5z8pszpa2igz586k5f8vzz3q3nckxwvkcyqzf48sndd48krwzr9ag22mhjlm4nasfig";
+        sha512 = "LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==";
       };
     };
     "kind-of-3.2.2" = {
@@ -5662,16 +5419,16 @@ let
       version = "5.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz";
-        sha512 = "0zk87sccrjx6pgf9n74v4msnqwq5siyhrkpaklx7yk85ygy5ypcgmyfhbd5mmcyd53x8zcw0gzvp9bhbglziqbhp7a6n5zsf6p08q9l";
+        sha512 = "NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==";
       };
     };
-    "kind-of-6.0.3" = {
+    "kind-of-6.0.2" = {
       name = "kind-of";
       packageName = "kind-of";
-      version = "6.0.3";
+      version = "6.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz";
-        sha512 = "23pm3j7jjxhl5igjj2mg91b2w2x6j39axjy2y7b1z0dp9jgnhxl885znwwvglzhnb5ssdc4v5vy04ks7xpwgzllyy1ngdmxbyxbbi3m";
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz";
+        sha512 = "s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==";
       };
     };
     "kleur-3.0.3" = {
@@ -5680,25 +5437,25 @@ let
       version = "3.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz";
-        sha512 = "3rh87j32f450qslsmms0br15jzkv6b71n08xsms6wv6qfvdxv1b5cridqb7bmkwmvzffx9asikjs4vh328pmifhqn4iylcjafak6ckr";
+        sha512 = "eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==";
       };
     };
-    "koa-2.11.0" = {
+    "koa-2.7.0" = {
       name = "koa";
       packageName = "koa";
-      version = "2.11.0";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/koa/-/koa-2.11.0.tgz";
-        sha512 = "0q4rl38fvrdnml9ix2ka3nav9zd8ilxh6738b27nvx4r05y0lb17pjw7la9nqgq0q401alrkv1cyyliig40r88c1rd3jk2195s7v50j";
+        url = "https://registry.npmjs.org/koa/-/koa-2.7.0.tgz";
+        sha512 = "7ojD05s2Q+hFudF8tDLZ1CpCdVZw8JQELWSkcfG9bdtoTDzMmkRF6BQBU7JzIzCCOY3xd3tftiy/loHBUYaY2Q==";
       };
     };
-    "koa-body-4.1.1" = {
+    "koa-body-4.1.0" = {
       name = "koa-body";
       packageName = "koa-body";
-      version = "4.1.1";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/koa-body/-/koa-body-4.1.1.tgz";
-        sha512 = "1wfnjmilqj9fhv5dhmhpr5vx38ja1x8599nnqwx2977mhz15ig66fpcyk2rim80l8b77ir6g6w3wz71hppb445gf129kapwa0lzzdmc";
+        url = "https://registry.npmjs.org/koa-body/-/koa-body-4.1.0.tgz";
+        sha512 = "rWkMfMaCjFmIAMohtjlrg4BqDzcotK5BdZhiwJu1ONuR1ceoFUjnH3wp0hEV39HuBlc9tI3eUUFMK4Cp6ccFtA==";
       };
     };
     "koa-compose-3.2.1" = {
@@ -5716,7 +5473,7 @@ let
       version = "4.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz";
-        sha512 = "1grd8vfvlnkpwjj8da79mig7p54842wpxzf2dhkj4dmsjm3yh5afh7kq83pig53xbfg6fbds2iwkypgl7r6naqwblpwdf637bqxdq7h";
+        sha512 = "8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==";
       };
     };
     "koa-convert-1.2.0" = {
@@ -5728,13 +5485,22 @@ let
         sha1 = "da40875df49de0539098d1700b50820cebcd21d0";
       };
     };
+    "koa-is-json-1.0.0" = {
+      name = "koa-is-json";
+      packageName = "koa-is-json";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/koa-is-json/-/koa-is-json-1.0.0.tgz";
+        sha1 = "273c07edcdcb8df6a2c1ab7d59ee76491451ec14";
+      };
+    };
     "koa-router-7.4.0" = {
       name = "koa-router";
       packageName = "koa-router";
       version = "7.4.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/koa-router/-/koa-router-7.4.0.tgz";
-        sha512 = "3x0wdvpg0jxpv26fd4vqhw116nw797i4pzxsgpwm17yll74h8gyxg25zjnwihnm36lhxs9bb1p5m7bm0qcym4lm2b0z17c0fw6mls11";
+        sha512 = "IWhaDXeAnfDBEpWS6hkGdZ1ablgr6Q6pGdXCyK38RbzuH4LkUOpPqPw+3f8l8aTDrQmBQ7xJc0bs2yV4dzcO+g==";
       };
     };
     "koa-send-5.0.0" = {
@@ -5743,7 +5509,7 @@ let
       version = "5.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/koa-send/-/koa-send-5.0.0.tgz";
-        sha512 = "2fimqkgi0mli0fl0zfcylnbi29939cp2s7q8c60mnqiszbyyp4snkq5v87sfwjv04nkzc48l80jpkp3hdnw24fv6zp9vlpdbssnhipp";
+        sha512 = "90ZotV7t0p3uN9sRwW2D484rAaKIsD8tAVtypw/aBU+ryfV+fR2xrcAwhI8Wl6WRkojLUs/cB9SBSCuIb+IanQ==";
       };
     };
     "koa-static-5.0.0" = {
@@ -5752,16 +5518,16 @@ let
       version = "5.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/koa-static/-/koa-static-5.0.0.tgz";
-        sha512 = "1llav1xa767y46f8dhhapgqyyhc4hg7np4d34lbf0r0gg5fa9gi5lypzmn3q346rmym41g4jm0lb0hsnx6z0lpzmn4pc4aqgv49ib2j";
+        sha512 = "UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==";
       };
     };
-    "koa-views-6.2.1" = {
+    "koa-views-6.2.0" = {
       name = "koa-views";
       packageName = "koa-views";
-      version = "6.2.1";
+      version = "6.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/koa-views/-/koa-views-6.2.1.tgz";
-        sha512 = "1xzbplyv8h0gli3blaz4k8s148m29iq39mqk1jpdh6qs14x1y5ayimfscy1rvl1wy0ix6hmd1cd9g8bcsbd8c8d4qdckfhaiz1yskf1";
+        url = "https://registry.npmjs.org/koa-views/-/koa-views-6.2.0.tgz";
+        sha512 = "Y1rCFd4I5uSjZg0r4Zzs4hDjYTSGHhdBM5DuEhccWzknWikwOfc2ph/DkrocKhtQfFbLPHkkz/Ox38AL+p99BA==";
       };
     };
     "lazy-cache-1.0.4" = {
@@ -5779,7 +5545,7 @@ let
       version = "2.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz";
-        sha512 = "1wcm03j1xmwayngclsgc7xk3rfsn8d3lcas6yfxszjpjwa37nwiia213cxkagdfc56anijwb679bg42ak1w59d0bkq6j47wqdpw9wva";
+        sha512 = "avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==";
       };
     };
     "left-pad-1.3.0" = {
@@ -5788,7 +5554,7 @@ let
       version = "1.3.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz";
-        sha512 = "08aih5wmcyaw8f8nxlcf6lhr8synqf7jpvcp0ah2vdkshckvhvw2a8sj2bqkf5dr3fq43rilnq8lj86zhasccqlrb09h0jd6lzlr3jw";
+        sha512 = "XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==";
       };
     };
     "leven-3.1.0" = {
@@ -5797,7 +5563,7 @@ let
       version = "3.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz";
-        sha512 = "3acc4jl6xib9wx3gqgq9wqab262mwjyc8d6aa7igfiyfyami7w4g59b62if7hd8w0zh8k1q3kqkwdxgnqsvyygw6wdaak93gzw5mixa";
+        sha512 = "qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==";
       };
     };
     "levn-0.3.0" = {
@@ -5824,7 +5590,7 @@ let
       version = "2.4.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz";
-        sha512 = "13mmy8rws80fp5mw0b7qwq5zvvlwq8v20hykp1npzsc5i5sw426j6sgi77js3lrqzbc8b7gjxhsrf26bi8xnn7ii8q64p2wskrspj96";
+        sha512 = "Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==";
       };
     };
     "loader-utils-1.2.3" = {
@@ -5833,16 +5599,7 @@ let
       version = "1.2.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz";
-        sha512 = "1j5jpk2rz5n0365vhmgknl49zq4sav613jn87b6khghcfsj3xvm2y0zil8zai7rr7wx0fvx1w78297fyiic1yydvq34776xx3qp6jky";
-      };
-    };
-    "loader-utils-1.4.0" = {
-      name = "loader-utils";
-      packageName = "loader-utils";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz";
-        sha512 = "1sdj0mw1y0adq9fpaafpv91yz2ijx06s6fpzjfs0db47cry0q2xjcahr5aksf6vlxp7ripisvjz21hjkkdzrwh8pc3zm7vdq141czd8";
+        sha512 = "fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==";
       };
     };
     "locate-path-2.0.0" = {
@@ -5860,7 +5617,7 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz";
-        sha512 = "3jbllbkvv54d6k6zss6spzsknz5icscyfclf377jjpndb8mmacq0v9vjr1w07zjn14gaz4d2hfi0yaqk4nvg6hbm16qi70nrkivn0zc";
+        sha512 = "7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==";
       };
     };
     "lodash-4.17.15" = {
@@ -5869,7 +5626,7 @@ let
       version = "4.17.15";
       src = fetchurl {
         url = "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz";
-        sha512 = "3a41cs1932x00vd7h32v6rfkaak3vhkwv4x0bg27ilhlmbpl95r3abc4vja21k42cdfprsy3sdfcp2xs02sfp1fflf7m3n2gd29q4zk";
+        sha512 = "8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==";
       };
     };
     "lodash.camelcase-4.3.0" = {
@@ -5890,15 +5647,6 @@ let
         sha1 = "e23f3f9c4f8fbdde872529c1071857a086e5ccef";
       };
     };
-    "lodash.memoize-4.1.2" = {
-      name = "lodash.memoize";
-      packageName = "lodash.memoize";
-      version = "4.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz";
-        sha1 = "bcc6c49a42a2840ed997f323eada5ecd182e0bfe";
-      };
-    };
     "lodash.sortby-4.7.0" = {
       name = "lodash.sortby";
       packageName = "lodash.sortby";
@@ -5914,16 +5662,16 @@ let
       version = "2.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz";
-        sha512 = "093j1mha2zwbfkb6cvxr94l1dsx44607vvyxadxki3j69s40n2f6x6iqs6f9rzpvvqd8anclsqdlrm3klkwxixm4k2fl8bjr4b01qjm";
+        sha512 = "VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==";
       };
     };
-    "loglevel-1.6.7" = {
+    "loglevel-1.6.4" = {
       name = "loglevel";
       packageName = "loglevel";
-      version = "1.6.7";
+      version = "1.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/loglevel/-/loglevel-1.6.7.tgz";
-        sha512 = "3y57kcbhh98x86dpx7apanxgnkqf5chybr4jnwhzljd3k2n9knm5h7fp9aiv6bzpyvq1xg0qssgg3i47ddiz80h7vahfj6hb8n9x3bi";
+        url = "https://registry.npmjs.org/loglevel/-/loglevel-1.6.4.tgz";
+        sha512 = "p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g==";
       };
     };
     "loglevelnext-1.0.5" = {
@@ -5932,16 +5680,7 @@ let
       version = "1.0.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz";
-        sha512 = "3l63lnbnnsg2dgy8c89m5fxgdnl56a04hyiabic65zj4p9dsbh4jykr9jblvn8v7c7wx1a12mjv9gq69zfdfif00mw6q9pf8fmggzjp";
-      };
-    };
-    "long-4.0.0" = {
-      name = "long";
-      packageName = "long";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/long/-/long-4.0.0.tgz";
-        sha512 = "0q7w59j4asw2i6n4hwbdrcigmaz042y2hsm31brmjfp3fg465mgqjmia2giil8kxbdh5ijdx00lv4a8n8lbj6srbziqczr22hmgxhsy";
+        sha512 = "V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==";
       };
     };
     "longest-1.0.1" = {
@@ -5959,25 +5698,7 @@ let
       version = "1.4.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz";
-        sha512 = "3fhlaj5f55z0d4f45a5vsyz1r5k40qy6mfbxphjgnz8x4jx4d1g4pz4v2793viw0hk04a1a6zbiqxbjsjzhidp9jmmzhngzd8yb2awp";
-      };
-    };
-    "lowercase-keys-1.0.0" = {
-      name = "lowercase-keys";
-      packageName = "lowercase-keys";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz";
-        sha1 = "4e3366b39e7f5457e35f1324bdf6f88d0bfc7306";
-      };
-    };
-    "lowercase-keys-1.0.1" = {
-      name = "lowercase-keys";
-      packageName = "lowercase-keys";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz";
-        sha512 = "1a7qa1zn5zl1nf7i6w3299lc3biabfb0w2c30cl770l2dbldvi72nwvjdlinhx7j0ldip82sj710aprdjbmbg782i2pa3jpbgmy6qhv";
+        sha512 = "lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==";
       };
     };
     "lru-cache-4.1.5" = {
@@ -5986,7 +5707,7 @@ let
       version = "4.1.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz";
-        sha512 = "3k64s8pgffvqc84ar3r2jjvxnrll916m1q6s4m2k8pq2gqvlrzy11hdhvx2662fa4x7h1hcpn9wmy4kk28rgk3sj76w2fpn8dn6armi";
+        sha512 = "sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==";
       };
     };
     "lru-cache-5.1.1" = {
@@ -5995,7 +5716,7 @@ let
       version = "5.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz";
-        sha512 = "3vjhn04mjkxbkfb4fh7xnlghlgmqffqp5i1w2vg1ndgh5izv7nwvr8lq1n1hypfs5pm3bvbk7wf3fjm2pavld1hipz0n8rp012l14ra";
+        sha512 = "KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==";
       };
     };
     "make-dir-1.3.0" = {
@@ -6004,7 +5725,7 @@ let
       version = "1.3.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz";
-        sha512 = "2qkk2yzlzrfwnmw8l80cn4l91rfin7fmqn81j39s32i8gzijilbmc798wy51bs3m5gqa6dgrns95gals771jbbl4s4jgdl9ni3za3fv";
+        sha512 = "2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==";
       };
     };
     "make-dir-2.1.0" = {
@@ -6013,16 +5734,16 @@ let
       version = "2.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz";
-        sha512 = "12asfdw6jlwcqjli9xywj755wznjxadmh7q6abrhldss26wdsik8w39dqww20i3ilr9mjam1r80ickwzlp9w7dz15bvqa1wszwmfbrd";
+        sha512 = "LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==";
       };
     };
-    "make-error-1.3.6" = {
+    "make-error-1.3.5" = {
       name = "make-error";
       packageName = "make-error";
-      version = "1.3.6";
+      version = "1.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz";
-        sha512 = "2glh9fqac2bycfy6gmvv1r03pr484iglvv5ry3pjm6iz43h6qnkkw2l4sz9ydyadq6hip4wyjpj9jllbshxchh8k6lg5g5vsya23idk";
+        url = "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz";
+        sha512 = "c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==";
       };
     };
     "makeerror-1.0.11" = {
@@ -6040,7 +5761,7 @@ let
       version = "0.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz";
-        sha512 = "1670fzjdl58zpljl3vblrzfz0805w0d99kdhf9rz4cgr1f2g01ibb5s5b1n7w7dqfv8lyig9zcqw2f0gsjlzxxwj4zc939fwn3k1hd8";
+        sha512 = "qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==";
       };
     };
     "map-age-cleaner-0.1.3" = {
@@ -6049,7 +5770,7 @@ let
       version = "0.1.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz";
-        sha512 = "3gk1kdfw4z4pjghrxyn53gyb40gbk71ycv5mi2mbidwxg76mbfgkxcn88zkcrjw38mq6vn5kcarw4n5zq79ligh5k1s6gr8fgmg373c";
+        sha512 = "bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==";
       };
     };
     "map-cache-0.2.2" = {
@@ -6076,7 +5797,7 @@ let
       version = "1.3.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz";
-        sha512 = "29ds70y468n42xivsz4vrgy8rp2x4nxz52z1vkd1k49556gvn74pq998s510g3jgz9972m9yxs6yk1kw752blq97b9w8gaddkwlyay6";
+        sha512 = "xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==";
       };
     };
     "media-typer-0.3.0" = {
@@ -6094,7 +5815,7 @@ let
       version = "4.3.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz";
-        sha512 = "3znrz98ggx92y1crm2y017k8lriwz4m9y4w451wm0h1jzsq7jgpafymdvgpznvx07l3xw8inznd78zzwyxdzhb0aq8scki9iwdrnzd9";
+        sha512 = "qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==";
       };
     };
     "memory-fs-0.4.1" = {
@@ -6106,15 +5827,6 @@ let
         sha1 = "3a9a20b8462523e447cfbc7e8bb80ed667bfc552";
       };
     };
-    "memory-fs-0.5.0" = {
-      name = "memory-fs";
-      packageName = "memory-fs";
-      version = "0.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz";
-        sha512 = "0cgni6pl3js3s6ylnj3j9sydf6z5sbnpyi42xdh4437rd6c7xgbapzdq84wn8dzxrcf7sva66z7m6mna61sdagfs41078aa9rsjn3cc";
-      };
-    };
     "merge-descriptors-1.0.1" = {
       name = "merge-descriptors";
       packageName = "merge-descriptors";
@@ -6130,7 +5842,7 @@ let
       version = "2.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz";
-        sha512 = "3gyvijjr3va5jwglqgv7sqxm4a6nhzhj32sl68ffjf8axkzi5z25g0nl2r2mvw1kjs3z49wxjdclljkk4whzpqka4vzjg9fwylgzfv9";
+        sha512 = "abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==";
       };
     };
     "methods-1.1.2" = {
@@ -6148,7 +5860,7 @@ let
       version = "3.1.10";
       src = fetchurl {
         url = "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz";
-        sha512 = "1r9rsac8gdslsplya0cnzyk6q0bh7m0wnxccdisacr5327k5k0v6f48dzp0022z8qqpzpvxw7sv1gzhvrqn6v5sz7qcvx37by1a8s1i";
+        sha512 = "MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==";
       };
     };
     "miller-rabin-4.0.1" = {
@@ -6157,7 +5869,7 @@ let
       version = "4.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz";
-        sha512 = "12277knznlw4myxmgg6vgkrwmrhj9dyniscrlph3s08ndi2q25v3wrv6rwanvz29v5k5x756xa5yif4xllrghpn3jqaamnr3cp5ypnp";
+        sha512 = "115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==";
       };
     };
     "mime-1.6.0" = {
@@ -6166,7 +5878,7 @@ let
       version = "1.6.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz";
-        sha512 = "1x901mk5cdib4xp27v4ivwwr7mhy64r4rk953bzivi5p9lf2bhw88ra2rhkd254xkdx2d3q30zkq239vc4yx4pfsj4hpys8rbr6fif7";
+        sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
       };
     };
     "mime-2.4.4" = {
@@ -6175,25 +5887,25 @@ let
       version = "2.4.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz";
-        sha512 = "0c4qs0w88nqz2v7441rw9bbsgrsh50cifwmqm2i7c96yz2ncdy35cb5g42zhr6z0wmqqcwq5la04nnf1n4y3zncvgyg8b721hvnc71d";
+        sha512 = "LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==";
       };
     };
-    "mime-db-1.43.0" = {
+    "mime-db-1.40.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.43.0";
+      version = "1.40.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz";
-        sha512 = "36x3p6lll5v1g7na92kbba0bpcl36i1argsqn8iy4mgz3zh3llnqhzhfw0l26jqcb0mh9rhhmrx718kvqzchga6y79qdg9884c6r5zv";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz";
+        sha512 = "jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==";
       };
     };
-    "mime-types-2.1.26" = {
+    "mime-types-2.1.24" = {
       name = "mime-types";
       packageName = "mime-types";
-      version = "2.1.26";
+      version = "2.1.24";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz";
-        sha512 = "1cxsgrndjg6jyfqzm74hv6cmy9lil52f1kzkq2niknaiqz20p3yiw0fpgsyld2zrbxr9abpdabz1q6nqa50xr9a0cmbjbi0cqymlnnk";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz";
+        sha512 = "WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==";
       };
     };
     "mimic-fn-1.2.0" = {
@@ -6202,7 +5914,7 @@ let
       version = "1.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz";
-        sha512 = "1clrrqw75rmpkw0x53axy8va2hq2gzynz9zb58m0xv1nh3lg81cv4dfdy7pk9vrlb9ydwmj6klpicwkv2bjx3m8aj4fi2ph3jxkizwd";
+        sha512 = "jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==";
       };
     };
     "mimic-fn-2.1.0" = {
@@ -6211,16 +5923,7 @@ let
       version = "2.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz";
-        sha512 = "1r8csnc32c6rrvy8d5d1g33gba52m1863wdwl7qbancmzn795726im9mrwp20k3d8pl4x4msp7n6wpldvcwkmk5y4cy0h84ka9wx9is";
-      };
-    };
-    "mimic-response-1.0.1" = {
-      name = "mimic-response";
-      packageName = "mimic-response";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz";
-        sha512 = "32nwz24nh1f2nbpk8i638ff8hsg1ajmc6746abkssjr951z28362k5a92dd1cfr7bd1l9f507cn0pbam04ixfgsaygskv87g6v1r4cg";
+        sha512 = "OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==";
       };
     };
     "minimalistic-assert-1.0.1" = {
@@ -6229,7 +5932,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz";
-        sha512 = "3y39pa1xxg7j49vya7xca4p1mg89d0df56hj4yjhpyhmza3g5qvpgp11xs11wkd48zzy7ym970jfbn0ppimmczpijns249j7q05rljj";
+        sha512 = "UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==";
       };
     };
     "minimalistic-crypto-utils-1.0.1" = {
@@ -6247,7 +5950,16 @@ let
       version = "3.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
-        sha512 = "1879a3j85h92ypvb7lpv1dqpcxl49rqnbgs5la18zmj1yqhwl60c2m74254wbr5pp3znckqpkg9dvjyrz6hfz8b9vag5a3j910db4f8";
+        sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
+      };
+    };
+    "minimist-0.0.10" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "0.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz";
+        sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf";
       };
     };
     "minimist-0.0.8" = {
@@ -6259,13 +5971,13 @@ let
         sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
       };
     };
-    "minimist-1.2.5" = {
+    "minimist-1.2.0" = {
       name = "minimist";
       packageName = "minimist";
-      version = "1.2.5";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz";
-        sha512 = "0pif0kjsr0cdm73cyicn9xdx9zkly45w4akmyfa39lkaf6lzysfr8kr145p54wjk26pbsk0w0qfdds3k4bxy4wl5l210i1b8qsngkql";
+        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz";
+        sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
       };
     };
     "mississippi-2.0.0" = {
@@ -6274,7 +5986,7 @@ let
       version = "2.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz";
-        sha512 = "2gnigixsj38hrqchkf6k8wqywihq6l14pg0qb23x3qpjn56vybljv3nz1z7cbzhl952h1xfw28vsqm09pjhpv9zs9sm43rdxazkqync";
+        sha512 = "zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==";
       };
     };
     "mississippi-3.0.0" = {
@@ -6283,7 +5995,7 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz";
-        sha512 = "2895y9fw0xa9bmwbbkv3ziz5gnvr2b9k6kgh1b815ppwhgpcnbzsmn3bjvd2c1852hfakgnxw5hbn8kr8ff1pfbnm8x0lk3qm5gb3n7";
+        sha512 = "x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==";
       };
     };
     "mixin-deep-1.3.2" = {
@@ -6292,7 +6004,7 @@ let
       version = "1.3.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz";
-        sha512 = "08fzp03g97vcq1dm4qs3kfjbazfs8h2m99bzdhn9caddpi4xr9bw9n9adlrv24qwfdw2jphwfhjszdwnykawd3ysj4ihp76zygh66jr";
+        sha512 = "WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==";
       };
     };
     "mkdirp-0.5.1" = {
@@ -6310,16 +6022,16 @@ let
       version = "2.24.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz";
-        sha512 = "111s7ki890wwh47hr44ps1q5vsh23jpp56dlgvyzz7hg71np9xkrc7k683qvfs7zyijb9fdcwzvinjcnbz36lhn0hg2hhknm7xxypkd";
+        sha512 = "bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==";
       };
     };
-    "moment-timezone-0.5.28" = {
+    "moment-timezone-0.5.26" = {
       name = "moment-timezone";
       packageName = "moment-timezone";
-      version = "0.5.28";
+      version = "0.5.26";
       src = fetchurl {
-        url = "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.28.tgz";
-        sha512 = "0zr752vsxhfbfh884hzz8xbqkvs2l5778qwrkl7gxihdasi2ni80w61hvp858xclvgmcqgl2v8z1pjkffj5cbcihdb8aa1jy1k68cjc";
+        url = "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.26.tgz";
+        sha512 = "sFP4cgEKTCymBBKgoxZjYzlSovC20Y6J7y3nanDc5RoBIXKlZhoYwBoZGe3flwU6A372AcRwScH8KiwV6zjy1g==";
       };
     };
     "move-concurrently-1.0.1" = {
@@ -6346,7 +6058,7 @@ let
       version = "2.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz";
-        sha512 = "352z145jr1zx0w6kmlz2jxcaw6j2pwwg9va3x4gk731zw1agka2b213avw12zx6hgn071ibm0f3p80n5cdv896npay4s6jwbrv7w2mn";
+        sha512 = "tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==";
       };
     };
     "ms-2.1.2" = {
@@ -6355,7 +6067,7 @@ let
       version = "2.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz";
-        sha512 = "3dqfiiw6nxvvi24fndbzlccnjcas99bsd1kz5m2r78lzgpp6vx57jzbmxq3k1m7bsw88rwra0n4848l720fxxn5x20djck3wp3hysdh";
+        sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
       };
     };
     "multicast-dns-6.2.3" = {
@@ -6364,7 +6076,7 @@ let
       version = "6.2.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz";
-        sha512 = "3m42kr8y2s1krl4gzb5xsa9v3h01xalvrgdkj99gyfaq7761asmj5m6kzm70mxb22125gia12g7rmarnzmh09403j8j2cyvx7jqjblf";
+        sha512 = "ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==";
       };
     };
     "multicast-dns-service-types-1.1.0" = {
@@ -6382,7 +6094,7 @@ let
       version = "2.7.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz";
-        sha512 = "3cpmwzmngnmxhklvicnsbl5dchvsy0yikzgf705cq1cplyps3waa03xbjp306bjf167wnplibwki0csnavz98dihq2877g7xqs4dkfg";
+        sha512 = "z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==";
       };
     };
     "nan-2.14.0" = {
@@ -6391,7 +6103,7 @@ let
       version = "2.14.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz";
-        sha512 = "115f4m91pjscflwskc29clsspd2z02gdbz0dbj63ja8bf67nraw14gvppl4872y9z2f5vbjlkpg1i4625zvalx3gp04vvn2gs7qblr0";
+        sha512 = "INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==";
       };
     };
     "nanomatch-1.2.13" = {
@@ -6400,7 +6112,7 @@ let
       version = "1.2.13";
       src = fetchurl {
         url = "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz";
-        sha512 = "04al0wvh9hw1p9bblk847c5nbi3lcjz2pg5yzpqdzgllk57firrqinn4yk169iddaagdf9s5l987xh43z87w3hm9h0pqv0i7pcix6ky";
+        sha512 = "fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==";
       };
     };
     "natural-compare-1.4.0" = {
@@ -6418,7 +6130,7 @@ let
       version = "0.6.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz";
-        sha512 = "0xi79rad0khwah5v2k6pvh8ajjgi7hp3zlkg6gk11pv70ydcq7li0kzcv1gnaf13gmblzhvx7hxs2nhypphb0sp4cggiy4ympndr5c5";
+        sha512 = "hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==";
       };
     };
     "neo-async-2.6.1" = {
@@ -6427,7 +6139,7 @@ let
       version = "2.6.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz";
-        sha512 = "1kvffl97cs76iidch6z424p50m0wdryx6h6b1jdgr71bfg035szlxcdl6dz9jy71aj8msvprdq2ilbs9jisbim3g1b4l2bfy3qsc9lb";
+        sha512 = "iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==";
       };
     };
     "next-tick-1.0.0" = {
@@ -6445,25 +6157,16 @@ let
       version = "1.0.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz";
-        sha512 = "0swp764n5mcgqfjbm3hsw9iayqy46490y4lvqyk6www0a02bw130mji8lvsvlr34sc29rai5i4vpwwhh76mzplf6ljrlvwyszjphy6n";
-      };
-    };
-    "node-forge-0.8.5" = {
-      name = "node-forge";
-      packageName = "node-forge";
-      version = "0.8.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-forge/-/node-forge-0.8.5.tgz";
-        sha512 = "3nzl12m7r7d345xjm7a1kq3yjdwfa9x892djy3444h7jaav25zmzh0bcg2f24ympwh7qmyihgpx7b2dgpka52nw5k2zw9vydchi0lxw";
+        sha512 = "1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==";
       };
     };
-    "node-forge-0.9.0" = {
+    "node-forge-0.8.2" = {
       name = "node-forge";
       packageName = "node-forge";
-      version = "0.9.0";
+      version = "0.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz";
-        sha512 = "0lhlm8x38i28zwmjycgdcyzcqlb0x3z8scjx7vm3s4ypj99bfj7pmv18yxjsnz532z7g9li2aa1x54hbv61dmvbvm4yj3z9ml6rl17c";
+        url = "https://registry.npmjs.org/node-forge/-/node-forge-0.8.2.tgz";
+        sha512 = "mXQ9GBq1N3uDCyV1pdSzgIguwgtVpM7f5/5J4ipz12PKWElmPpVWLDuWl8iXmhysr21+WmX/OJ5UKx82wjomgg==";
       };
     };
     "node-int64-0.4.0" = {
@@ -6475,22 +6178,13 @@ let
         sha1 = "87a9065cdb355d3182d8f94ce11188b825c68a3b";
       };
     };
-    "node-jose-1.1.3" = {
-      name = "node-jose";
-      packageName = "node-jose";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-jose/-/node-jose-1.1.3.tgz";
-        sha512 = "3qb1g8mkwn2vfqj84a62sp2dfg52334f3dj7ab240w51qrf2wl2s62qjvjz46jid9r3dmasxs0hp1zbjgnqkbg9kiii8nl6if5mzslj";
-      };
-    };
     "node-libs-browser-2.2.1" = {
       name = "node-libs-browser";
       packageName = "node-libs-browser";
       version = "2.2.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz";
-        sha512 = "3jhlmpgvcnjkg1bh3qp6rqp4a4plsih4bcfqkg0by0acj58r2m1x1jlsgw1k114920vlsvwl563lfjh844mpm02ykcs14gxq47xrz47";
+        sha512 = "h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==";
       };
     };
     "node-modules-regexp-1.0.0" = {
@@ -6508,16 +6202,16 @@ let
       version = "5.4.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz";
-        sha512 = "3qq3cn12n130r2k8aldr2fn3afv21m8ichf87yj7nfp251ypmb5kv9vxs70k93g9nr6164l7crvyzmw4j6b3lr8yj5f739qrcch319k";
+        sha512 = "M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==";
       };
     };
-    "nopt-4.0.3" = {
+    "nopt-4.0.1" = {
       name = "nopt";
       packageName = "nopt";
-      version = "4.0.3";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz";
-        sha512 = "0mb9va0ag1n8v5c2lhza37prcw4iyrmbw5n6yglk1kcg95xwqi9ng5dqwr17h63sl5dba2rnwwrzz7dnfvkx5z75h4j7d9kag0qdxha";
+        url = "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz";
+        sha1 = "d0d4685afd5415193c8c7505602d0d17cd64474d";
       };
     };
     "normalize-package-data-2.5.0" = {
@@ -6526,7 +6220,7 @@ let
       version = "2.5.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz";
-        sha512 = "1wbwhlsm965n61y23wrm50ric9l7rig90wvx7hjdl34np6n1bbqcc67wgm494z303s6y5aj4xjyism3n6kikp40iz9qaizlfhvqr47z";
+        sha512 = "/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==";
       };
     };
     "normalize-path-2.1.1" = {
@@ -6544,16 +6238,7 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz";
-        sha512 = "0n301s7qa4645iyk3zpcgin8r19p0p8h8g50c3mnnrl9n3m9rpyxv79hjl6miix9daq12s69am1sbskhqnzbabmn2id0nippgj6rrp9";
-      };
-    };
-    "normalize-url-2.0.1" = {
-      name = "normalize-url";
-      packageName = "normalize-url";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz";
-        sha512 = "0rykwifg14xfgm9m6md48rkqqxa2cya4xdsv7jjciacis2nz6dzaccpzyldlpvy14rvihpxbdiysfn49a8x8x5jw84klmxzh9di98qg";
+        sha512 = "6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==";
       };
     };
     "npm-run-path-2.0.2" = {
@@ -6574,13 +6259,13 @@ let
         sha1 = "097b602b53422a522c1afb8790318336941a011d";
       };
     };
-    "nwsapi-2.2.0" = {
+    "nwsapi-2.1.4" = {
       name = "nwsapi";
       packageName = "nwsapi";
-      version = "2.2.0";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz";
-        sha512 = "22vnwmwzxgzp9flhivwzrsa2jr754ysi133p4wdqdfgvg1mvhbjh1hv7ahbl7i2m7zv4vs6higga9c1gydywvwsi53y47qqvjsilq47";
+        url = "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz";
+        sha512 = "iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==";
       };
     };
     "oauth-sign-0.9.0" = {
@@ -6589,7 +6274,7 @@ let
       version = "0.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz";
-        sha512 = "1jz644r7ybsq688ifahm64ih3ljqjjskm533bgir20pvc350f9cl0z162scih0r1idx8lpw5f8hxa2pkf0lhbdhr5y6ak2ga5863v3x";
+        sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==";
       };
     };
     "object-assign-4.1.1" = {
@@ -6610,22 +6295,13 @@ let
         sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c";
       };
     };
-    "object-hash-1.3.1" = {
-      name = "object-hash";
-      packageName = "object-hash";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz";
-        sha512 = "06crm6ynp4rxakk4frrb4kjmi758r38fs5h0f6b7giyxhj0dghb6mdx7sbp0nhnk2w8cyb1bli07d9nbm086i34j8yx641qjpzawarr";
-      };
-    };
-    "object-inspect-1.7.0" = {
+    "object-inspect-1.6.0" = {
       name = "object-inspect";
       packageName = "object-inspect";
-      version = "1.7.0";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz";
-        sha512 = "19lmsxagwl8zzqckw6p0bdjwjbq2bshicnw78az9ka40d0gjghmdm0ify1n3857fxadv43c6v0g27rk1dl514iwh40a5i3mv0fl9fkb";
+        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz";
+        sha512 = "GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==";
       };
     };
     "object-keys-1.1.1" = {
@@ -6634,7 +6310,7 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz";
-        sha512 = "0nf2rr25ncya39v7cq274x3w4drfbdrc3iqdwd017s1wndwh9plsjagbvhl6j6l6piipprdsvgfx4vfz8q2piz7bi4bjcll8d4h9q1n";
+        sha512 = "NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==";
       };
     };
     "object-visit-1.0.1" = {
@@ -6652,16 +6328,16 @@ let
       version = "4.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz";
-        sha512 = "3krdp08gvbxvipalq64qy7bm86znxxdb7ap6bjki235qs17i9fsn6hqd22ga31sqyqa6iyy5xjfnnqc7lsck1kaybwsh154mrxcj4bv";
+        sha512 = "exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==";
       };
     };
-    "object.getownpropertydescriptors-2.1.0" = {
+    "object.getownpropertydescriptors-2.0.3" = {
       name = "object.getownpropertydescriptors";
       packageName = "object.getownpropertydescriptors";
-      version = "2.1.0";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz";
-        sha512 = "1b08dy2xs3gqhwviks5245b0m3fa6kkdcqi8wldr5cfvkpgwbvdx474k9y5cjnsf2z075gysifxsc39i59fslxrl55kgpa03xmcx7b7";
+        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz";
+        sha1 = "8758c846f5b407adab0f236e0986f14b051caa16";
       };
     };
     "object.pick-1.3.0" = {
@@ -6679,16 +6355,7 @@ let
       version = "1.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz";
-        sha512 = "0vcjqppr8sr1in2haifxl9q8v6kgn8pddc4ffkjbx5n2fasb3kdrx7mybkfxqdaqfch2hqrwa87rrwllqd5lrmx73md609682xp0z9x";
-      };
-    };
-    "oidc-token-hash-3.0.2" = {
-      name = "oidc-token-hash";
-      packageName = "oidc-token-hash";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-3.0.2.tgz";
-        sha512 = "127wvn9pnb5jjxqhkr54w07z6s0njlqvrv4k8cnn2vf5y4hpbykcl2cyn8yw8zwqhzv6bqikhza5nkhmv1zm8kgpazddzgj9zryjg3m";
+        sha512 = "PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==";
       };
     };
     "on-finished-2.3.0" = {
@@ -6706,7 +6373,7 @@ let
       version = "1.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz";
-        sha512 = "2n6994y8y4b146a5wpzzgw779yc227cqkmwsifc3fbn2kc9dzypjigqf72bpgsqrk7gs93l6fk4iqdk752jnsnpr89j58sbabw09455";
+        sha512 = "pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==";
       };
     };
     "once-1.4.0" = {
@@ -6742,16 +6409,7 @@ let
       version = "1.5.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz";
-        sha512 = "2yg0r89kjihas5gr319kw75b6bjalmhpy6yfabd8g7vnldsddnnwsdbzb3942c9c9zrbz8pwa17an3rkcb8nwdd8lw72l9njz5i51l2";
-      };
-    };
-    "openid-client-2.5.0" = {
-      name = "openid-client";
-      packageName = "openid-client";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/openid-client/-/openid-client-2.5.0.tgz";
-        sha512 = "339via1h7paxj3qwnzzs6p7x4r3p51k55pc6z85dpzk2gslhp84fnwa4scgcaib9xai7smcc5y7vgb88p20awllvda6v8a4ph7lay5p";
+        sha512 = "goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==";
       };
     };
     "opn-5.5.0" = {
@@ -6760,16 +6418,25 @@ let
       version = "5.5.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz";
-        sha512 = "2qa90jg1bw4yx1an6vbx2cp7lpk6xwa94yrbr6mkpl2h95wl4iinlmlzzy2z5ihm79d4ypkjkf3w5m7cjl79775amsbav5x021fk89y";
+        sha512 = "PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==";
       };
     };
-    "optionator-0.8.3" = {
+    "optimist-0.6.1" = {
+      name = "optimist";
+      packageName = "optimist";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz";
+        sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
+      };
+    };
+    "optionator-0.8.2" = {
       name = "optionator";
       packageName = "optionator";
-      version = "0.8.3";
+      version = "0.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz";
-        sha512 = "1n905a6d9xvmaqhy1xvpk4m7amkpx4wmky0w9764biihzkgachffm975qq5yqy4qjri2pbrrck994dsnz4ipmv4kbb7b4wx02jbv1gq";
+        url = "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz";
+        sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64";
       };
     };
     "ora-3.4.0" = {
@@ -6778,7 +6445,7 @@ let
       version = "3.4.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz";
-        sha512 = "1i331n8qj60jz6f51yfczwaspwsj57sykmgj34cwzhvlp761l2rx1iwqd247xys1749hhddfp6mmzznfp32dxqkjkl5ffsvsfwhgp3q";
+        sha512 = "eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==";
       };
     };
     "original-1.0.2" = {
@@ -6787,7 +6454,7 @@ let
       version = "1.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/original/-/original-1.0.2.tgz";
-        sha512 = "038qn5613vi5gjik4pmng7zf2ib4w81hjyzy9dhflj7kw1p1ll09nq63x9rnkyyflkv33lq8bx0fbw1gzlpp4asy24l7adam2bma847";
+        sha512 = "hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==";
       };
     };
     "os-browserify-0.3.0" = {
@@ -6814,7 +6481,7 @@ let
       version = "3.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz";
-        sha512 = "3frcfnhc4914snsnfqyqrz253i5dd31202gbx4dzkp6bvc8f7wnqhfyc89zp662v016gdqa7wb1z2g6p8nzk6cxzwscwn0qii3pgjb7";
+        sha512 = "Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==";
       };
     };
     "os-tmpdir-1.0.2" = {
@@ -6832,25 +6499,7 @@ let
       version = "0.1.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz";
-        sha512 = "3ddw0y41pxv08ls5xhmq1bi81hppjbr45k78cjfx99vznh5znrj5g1b1wab9caj1mqlsvmfms0zm9cfb47ygm0d8wv5fccx8049q9fh";
-      };
-    };
-    "p-any-1.1.0" = {
-      name = "p-any";
-      packageName = "p-any";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-any/-/p-any-1.1.0.tgz";
-        sha512 = "3da1hqkqhwx9xiw283nnq04pvsj1a69k7k0np5126v33dmpgxyhg19s99bz6djzd6sp713yg02h3h636wlgi9v2099rlrq2mrajvz8i";
-      };
-    };
-    "p-cancelable-0.4.1" = {
-      name = "p-cancelable";
-      packageName = "p-cancelable";
-      version = "0.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz";
-        sha512 = "02ipk9sgz2q0msm9h53lxbjvqprh9k6zj8q21dvczv6p6a5d4q5yqcmwj6xm0icmdc94n42plfmwlymnqn4f15pgci5j1zgq81vbmhw";
+        sha512 = "0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==";
       };
     };
     "p-defer-1.0.0" = {
@@ -6880,22 +6529,13 @@ let
         sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
       };
     };
-    "p-is-promise-1.1.0" = {
-      name = "p-is-promise";
-      packageName = "p-is-promise";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz";
-        sha1 = "9c9456989e9f6588017b0434d56097675c3da05e";
-      };
-    };
     "p-is-promise-2.1.0" = {
       name = "p-is-promise";
       packageName = "p-is-promise";
       version = "2.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz";
-        sha512 = "0z3jpi001p4scg2h40kyy7mjvscz8l9mpdp79lhk9b19lyiz140gbwi8963dr5nrysmkrl0hy52v6ikg2wzfsmk8m6ccasgak1b8xb3";
+        sha512 = "Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==";
       };
     };
     "p-limit-1.3.0" = {
@@ -6904,16 +6544,16 @@ let
       version = "1.3.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz";
-        sha512 = "3sh18calqxbww99pxc84hldflmj0i915g8npihlmazw8wjqabihi9475v0ll3fhx44sxn35j014j1k5d2xr73q3mpwkmx09n2q1gxxy";
+        sha512 = "vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==";
       };
     };
-    "p-limit-2.2.2" = {
+    "p-limit-2.2.1" = {
       name = "p-limit";
       packageName = "p-limit";
-      version = "2.2.2";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz";
-        sha512 = "36v4kvifp6msn6gaal1pgwy5qi56fbv8295221a6araml7nzxsnw2jfy7i6k7ybxy3dida9xxnyx447s8i8f15m27xklacwfz27wr2q";
+        url = "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz";
+        sha512 = "85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==";
       };
     };
     "p-locate-2.0.0" = {
@@ -6931,7 +6571,7 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz";
-        sha512 = "14sa2r3zdhvy3sq757d4l21nxrlb7picyigb8zm956bbjadcv22chrfa95wzzrf28z0cyj62b6yihhdc9508q82gs2q3yz8yk1pdvf7";
+        sha512 = "x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==";
       };
     };
     "p-map-2.1.0" = {
@@ -6940,7 +6580,7 @@ let
       version = "2.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz";
-        sha512 = "0bx813aqd3627xffp035h9nimfd19i0l6may47yd0k7x2bngiyp8z31im58ac1nnxy3gdb3yiilagbyqlb7qwc8wdw06f3wjwmgqxnb";
+        sha512 = "y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==";
       };
     };
     "p-reduce-1.0.0" = {
@@ -6958,25 +6598,7 @@ let
       version = "3.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz";
-        sha512 = "3gknqxqyn23vmgcqsvnvspzynkbkfn74f3plq72wj54kcyy5f3mbq3lw8pj2gwpmbkqcv7w0wvk3vv54dlny5j5dgv48khkwviqckjw";
-      };
-    };
-    "p-some-2.0.1" = {
-      name = "p-some";
-      packageName = "p-some";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-some/-/p-some-2.0.1.tgz";
-        sha1 = "65d87c8b154edbcf5221d167778b6d2e150f6f06";
-      };
-    };
-    "p-timeout-2.0.1" = {
-      name = "p-timeout";
-      packageName = "p-timeout";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz";
-        sha512 = "0h1wg3bw3pyf3vlnxxfnrs3h33lwbx5n1lz4cz8ivh7bi8vjd6makxf6p1xz1d70ww3gj2ghryhbg6w1myxacgirk51ym23qzksdizk";
+        sha512 = "XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==";
       };
     };
     "p-try-1.0.0" = {
@@ -6994,16 +6616,16 @@ let
       version = "2.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz";
-        sha512 = "1skmb50xzdk3qzd1f9l5mw8xp29frkizl63bhb9l1amivqybqb23n2824906vx790hjlwyhhrfzpzr5xr6ilzvy1xyl0ly0ah0wz2a7";
+        sha512 = "R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==";
       };
     };
-    "pako-1.0.11" = {
+    "pako-1.0.10" = {
       name = "pako";
       packageName = "pako";
-      version = "1.0.11";
+      version = "1.0.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz";
-        sha512 = "1imm2ygnj1himskq6lblzdh3ngc6p9gkvhrbzivalqf3nwafzfglpmbh8wkaz0rsiaxh67jzxbb16m2ygapfcnfwqg9gkdqzkqc24p2";
+        url = "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz";
+        sha512 = "0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==";
       };
     };
     "parallel-transform-1.2.0" = {
@@ -7012,7 +6634,7 @@ let
       version = "1.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz";
-        sha512 = "35gr4098wc5ibbrpckgva8l9v50z6mcii4y3kv6wc1ymz3aj2i444y3m2qm2ngf0k02ylqkg3gn7g6awkqfs56ppljy5wmpifcd4srz";
+        sha512 = "P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==";
       };
     };
     "parse-asn1-5.1.5" = {
@@ -7021,7 +6643,7 @@ let
       version = "5.1.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz";
-        sha512 = "16n59f599pq8832a6c5wyxnqdf4vrqrdnclzs6vp9m2z2h9qmxamjk6xcrl1aal758jyba0pvyz1bkf7npm7achfxxa29jwaygihhwf";
+        sha512 = "jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==";
       };
     };
     "parse-json-4.0.0" = {
@@ -7048,7 +6670,7 @@ let
       version = "4.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz";
-        sha512 = "0a10cnny1cy9csxrw2736fjbhqp0jqv8hnghr7gz9jrlkclw91f8rzg1173b43b3dbc1qq68g7vy4hq4b45r3bmw5j52kvpwxw7pdjn";
+        sha512 = "VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==";
       };
     };
     "parseurl-1.3.3" = {
@@ -7057,7 +6679,7 @@ let
       version = "1.3.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz";
-        sha512 = "2lzxqjq4zp60k9gbskpqz7pr1yvb0c6nygd42sia7n6km2gc0cc844nlc5d6r9sshrjhjvs284143jzvz9wzd4r6xr9dz2k24xrwb0a";
+        sha512 = "CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==";
       };
     };
     "pascalcase-0.1.1" = {
@@ -7075,7 +6697,7 @@ let
       version = "0.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz";
-        sha512 = "2avzhwqw37c6l7a0f276z7qzchzhwppinxhgg6q7by5bskwb7q7sfhwijb6fx4ingbdzb4i1pw6la5pg0izb5s4z69268278gil1ah5";
+        sha512 = "BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==";
       };
     };
     "path-dirname-1.0.2" = {
@@ -7129,7 +6751,7 @@ let
       version = "1.0.6";
       src = fetchurl {
         url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz";
-        sha512 = "37qw5986wccpwwqckqky509s4nd6zwv200s9r2v6mcf5nsyxgf2x00m4yp918mkkz84sdh4q0kjbg0hhfq4flpz0l6v47hvc57qwa8r";
+        sha512 = "GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==";
       };
     };
     "path-to-regexp-0.1.7" = {
@@ -7141,13 +6763,13 @@ let
         sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
       };
     };
-    "path-to-regexp-1.8.0" = {
+    "path-to-regexp-1.7.0" = {
       name = "path-to-regexp";
       packageName = "path-to-regexp";
-      version = "1.8.0";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz";
-        sha512 = "1a1s16c1sx28yq8nh8sqkj9izaypszmxfk27x5hl1wid9611b5viffw9vbwqw6sik20ksgmh18dqndglbvq82dii4jl0aal353ck3cz";
+        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz";
+        sha1 = "59fde0f435badacba103a84e9d3bc64e96b9937d";
       };
     };
     "path-type-3.0.0" = {
@@ -7156,7 +6778,7 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz";
-        sha512 = "2z1csf4c3fmlwl0ahk533z5zqkjdf36ccfx11kakl9xran9f5asxm4cxjq4lx1kwqdp8gki786cgpldvgrkvfc7pcvh07j5ssqm8rjg";
+        sha512 = "T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==";
       };
     };
     "pbkdf2-3.0.17" = {
@@ -7165,7 +6787,7 @@ let
       version = "3.0.17";
       src = fetchurl {
         url = "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz";
-        sha512 = "2s4nd3yv3kkyywvh5rkrvbr6w2h6a4q786v548w895ralcq9cllqzyxr0jgxf911k3zpmzycimsg3ggww3lkrhd3bk9wribrgjaby2k";
+        sha512 = "U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==";
       };
     };
     "performance-now-2.1.0" = {
@@ -7201,7 +6823,7 @@ let
       version = "4.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz";
-        sha512 = "3d9a1zsv7ca8ffpp7ffl67vp0ahiq78ix1jl21b4nfklinh2ilwh6c45f93syclab0b49p3cfq8d4agpphrbmf6xgfxgzjv268387xq";
+        sha512 = "uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==";
       };
     };
     "pinkie-2.0.4" = {
@@ -7228,7 +6850,7 @@ let
       version = "4.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz";
-        sha512 = "0caxkzsq2j5ypg50bxyjcbyz66cpicl6gay0pzaskr5gwjf6m239v6qmydj5kwr15n1j5mdf8n24q22cnn4rxp7gmk7n8yc6qnnmqss";
+        sha512 = "WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==";
       };
     };
     "pkg-dir-2.0.0" = {
@@ -7246,7 +6868,7 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz";
-        sha512 = "2znan90js3xrk8a8cvzv7vrjma5dgr9hkk4kpcgciyawbjz404a4rpdj6gngx1dc7f1xzmfm3q0an1rq69qyk2cmawhsy98i40pnkpw";
+        sha512 = "/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==";
       };
     };
     "pn-1.1.0" = {
@@ -7255,16 +6877,16 @@ let
       version = "1.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz";
-        sha512 = "2fgy9i99qaapk6lrqsf0i396i0hw5prvpn2wwsccs7j9jz8960r59vjz98kjhfiif2pyf4fiizrwpminc29rdhpld2v8m7n18hxm8fs";
+        sha512 = "2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==";
       };
     };
-    "portfinder-1.0.25" = {
+    "portfinder-1.0.24" = {
       name = "portfinder";
       packageName = "portfinder";
-      version = "1.0.25";
+      version = "1.0.24";
       src = fetchurl {
-        url = "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz";
-        sha512 = "0388smj2gw4cwp6pddy75jr5x6sha60s4w055dpxpag7fi9ql9vxrkidnzc1v5h2zp6ra350y8q4n6lqsg0dq12blsm1iavf2f4jjg8";
+        url = "https://registry.npmjs.org/portfinder/-/portfinder-1.0.24.tgz";
+        sha512 = "ekRl7zD2qxYndYflwiryJwMioBI7LI7rVXg3EnLK3sjkouT5eOuhS3gS255XxBksa30VG8UPZYZCdgfGOfkSUg==";
       };
     };
     "posix-character-classes-0.1.1" = {
@@ -7285,22 +6907,13 @@ let
         sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54";
       };
     };
-    "prepend-http-2.0.0" = {
-      name = "prepend-http";
-      packageName = "prepend-http";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz";
-        sha1 = "e92434bfa5ea8c19f41cdfd401d741a3c819d897";
-      };
-    };
-    "prettier-1.19.1" = {
+    "prettier-1.18.2" = {
       name = "prettier";
       packageName = "prettier";
-      version = "1.19.1";
+      version = "1.18.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz";
-        sha512 = "1xv5n13ms7da26nl80isb703rvq4nwrpqsz4xh8z4bakjh79c631x9pnjrqfhyc77bcjr818yclpxzlq4k9qbh4dr78s87z7g4ficxk";
+        url = "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz";
+        sha512 = "OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==";
       };
     };
     "pretty-2.0.0" = {
@@ -7318,7 +6931,7 @@ let
       version = "24.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz";
-        sha512 = "2f2qn4f43m108j6kw127wvywyyci2c5jdrnfb093ql7f626hwz0qh5z4nwllgpzs4gvdc7l5ljxy2xamzk85xsdgv6rls4791jlqink";
+        sha512 = "00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==";
       };
     };
     "private-0.1.8" = {
@@ -7327,7 +6940,7 @@ let
       version = "0.1.8";
       src = fetchurl {
         url = "https://registry.npmjs.org/private/-/private-0.1.8.tgz";
-        sha512 = "2dgznnpxsgy9bgp4kfby1is72blvca4lhmqb3nlja8yiig1v52c12p5yw0aag8jqazhkqvihpxmqf9gsjlg5dr1jb56jxzgnqrazy2n";
+        sha512 = "VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==";
       };
     };
     "process-0.11.10" = {
@@ -7345,7 +6958,7 @@ let
       version = "2.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
-        sha512 = "1mgan8li4i2l4y7lsr7snks85n6xg5x693cqmzpid3fkk9br7v5xzgvh1zlfs08zkxn6s0n6qhykr64mszjfyxd77dhmdi1jhx992yy";
+        sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
       };
     };
     "promise-7.3.1" = {
@@ -7354,7 +6967,7 @@ let
       version = "7.3.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz";
-        sha512 = "17cn4nns2nxh9r0pdiqsqx3fpvaa82c1mhcr8r84k2a9hkpb0mj4bxzfbg3l9iy74yn9hj6mh2gsddsi3v939a1zp7ycbzqkxfm12cy";
+        sha512 = "nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==";
       };
     };
     "promise-inflight-1.0.1" = {
@@ -7366,13 +6979,13 @@ let
         sha1 = "98472870bf228132fcbdd868129bad12c3c029e3";
       };
     };
-    "prompts-2.3.1" = {
+    "prompts-2.2.1" = {
       name = "prompts";
       packageName = "prompts";
-      version = "2.3.1";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prompts/-/prompts-2.3.1.tgz";
-        sha512 = "0sdg37c3assj1gk6ybvyhzvkp891zqq7xqj34gcl41dnqgxyl5skijyf75pz5mhfi7cz8315id6430wnr4231yarpfqdhc21jazd0x8";
+        url = "https://registry.npmjs.org/prompts/-/prompts-2.2.1.tgz";
+        sha512 = "VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw==";
       };
     };
     "proto-list-1.2.4" = {
@@ -7384,13 +6997,13 @@ let
         sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
       };
     };
-    "proxy-addr-2.0.6" = {
+    "proxy-addr-2.0.5" = {
       name = "proxy-addr";
       packageName = "proxy-addr";
-      version = "2.0.6";
+      version = "2.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz";
-        sha512 = "0xy6dm0910h3nsa0ik45yccdfm6f84nl3h9dpkb22crqhdr3mmiczcbrq9z53gq7l2ijxhxi3pzsfzafrzymw4c1nn68ml1y2pdy7vn";
+        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz";
+        sha512 = "t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==";
       };
     };
     "prr-1.0.1" = {
@@ -7411,13 +7024,13 @@ let
         sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
       };
     };
-    "psl-1.7.0" = {
+    "psl-1.1.32" = {
       name = "psl";
       packageName = "psl";
-      version = "1.7.0";
+      version = "1.1.32";
       src = fetchurl {
-        url = "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz";
-        sha512 = "0whj0m29370fn3imrlj2dw0xmr33j2gn30kn96xpxckz7i1b21pj6vlgsn4ggxl79mz2ckng5mdxbkczcwkjry497s8xkgw7c815nz4";
+        url = "https://registry.npmjs.org/psl/-/psl-1.1.32.tgz";
+        sha512 = "MHACAkHpihU/REGGPLj4sEfc/XKW2bheigvHO1dUqjaKigMp1C8+WLQYRGgeKFMsw5PMfegZcaN8IDXK/cD0+g==";
       };
     };
     "public-encrypt-4.0.3" = {
@@ -7426,7 +7039,7 @@ let
       version = "4.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz";
-        sha512 = "3qnsvs746b98ifyv12qj1g6hl6fq25vip5mswhvn3gnl7r32fids6mw3jb0gdcqrrl5x9ik475sf0vx6mbhmif49idkwjwrhbr5lnnd";
+        sha512 = "zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==";
       };
     };
     "pug-2.0.4" = {
@@ -7435,7 +7048,7 @@ let
       version = "2.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/pug/-/pug-2.0.4.tgz";
-        sha512 = "2zis5am87x72261l3vnqzms2cybdk6bc8kqa6xdjxd337yayy3c4h3s3zm175iv61h3p2pvzpl40qs7g17vnrwg5wrx5s72bc71l6jy";
+        sha512 = "XhoaDlvi6NIzL49nu094R2NA6P37ijtgMDuWE+ofekDChvfKnzFal60bhSdiy8y2PBO6fmz3oMEIcfpBVRUdvw==";
       };
     };
     "pug-attrs-2.0.4" = {
@@ -7444,7 +7057,7 @@ let
       version = "2.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.4.tgz";
-        sha512 = "08vr4ngaa625x9jh03hs5alwzwlbw9wpgsxppr9r1vl28y3f8kyr4xis9li3dxpinrqacz4vnnwqidms56qvw2xf74z0l6ncikpi9jd";
+        sha512 = "TaZ4Z2TWUPDJcV3wjU3RtUXMrd3kM4Wzjbe3EWnSsZPsJ3LDI0F3yCnf2/W7PPFF+edUFQ0HgDL1IoxSz5K8EQ==";
       };
     };
     "pug-code-gen-2.0.2" = {
@@ -7453,7 +7066,7 @@ let
       version = "2.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-2.0.2.tgz";
-        sha512 = "05xmnv15k0jm1wyvk92ih7wlf6w3l17qja8f59gjl101lk1lp5hw34bqb2rzi1l8wlvi1cwnncbhvsaj6biha0q17yiy7y0zxd8a4wi";
+        sha512 = "kROFWv/AHx/9CRgoGJeRSm+4mLWchbgpRzTEn8XCiwwOy6Vh0gAClS8Vh5TEJ9DBjaP8wCjS3J6HKsEsYdvaCw==";
       };
     };
     "pug-error-1.3.3" = {
@@ -7462,7 +7075,7 @@ let
       version = "1.3.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/pug-error/-/pug-error-1.3.3.tgz";
-        sha512 = "24id0x6g1wh6gq1b72ibrp653d0knzzlg0aqsfap9m7cqsx49vvn1ma5ghs67q98wbjfig18irgp42gdnkq0jf1b1069nlg8j2dhkd8";
+        sha512 = "qE3YhESP2mRAWMFJgKdtT5D7ckThRScXRwkfo+Erqga7dyJdY3ZquspprMCj/9sJ2ijm5hXFWQE/A3l4poMWiQ==";
       };
     };
     "pug-filters-3.1.1" = {
@@ -7471,7 +7084,7 @@ let
       version = "3.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/pug-filters/-/pug-filters-3.1.1.tgz";
-        sha512 = "112912ajq0dfvbibdba458952wpd9cyl0na8fn7p40fyx4i5igki4z0f541aj8nvy679i1rj9m8p1cjmxnd25qww215bjc444vy6mwl";
+        sha512 = "lFfjNyGEyVWC4BwX0WyvkoWLapI5xHSM3xZJFUhx4JM4XyyRdO8Aucc6pCygnqV2uSgJFaJWW3Ft1wCWSoQkQg==";
       };
     };
     "pug-lexer-4.1.0" = {
@@ -7480,7 +7093,7 @@ let
       version = "4.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/pug-lexer/-/pug-lexer-4.1.0.tgz";
-        sha512 = "0y1ljrsfpv6jacmhcghkn6s9n46vm0ziwrf55fyqb0g0afwhsx0bbmh5xhq9lz2xg1df3905zfy9bin02xf0mlrjqk6v3kd836757lb";
+        sha512 = "i55yzEBtjm0mlplW4LoANq7k3S8gDdfC6+LThGEvsK4FuobcKfDAwt6V4jKPH9RtiE3a2Akfg5UpafZ1OksaPA==";
       };
     };
     "pug-linker-3.0.6" = {
@@ -7489,7 +7102,7 @@ let
       version = "3.0.6";
       src = fetchurl {
         url = "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.6.tgz";
-        sha512 = "375crip8jzn5kx6lbx19nc12dyxqxc1wq0i3pmbjr8km8kc0p9j1kysysl69djiq0n663yxpqsjdv97in7dbcni02lh6zbdgfw1za3d";
+        sha512 = "bagfuHttfQOpANGy1Y6NJ+0mNb7dD2MswFG2ZKj22s8g0wVsojpRlqveEQHmgXXcfROB2RT6oqbPYr9EN2ZWzg==";
       };
     };
     "pug-load-2.0.12" = {
@@ -7498,7 +7111,7 @@ let
       version = "2.0.12";
       src = fetchurl {
         url = "https://registry.npmjs.org/pug-load/-/pug-load-2.0.12.tgz";
-        sha512 = "2rdg2l72v2hwsiyiz0rvqff2vfd07dlxacs1qf3qhxcl861wgl96jrcjp6733nn53cc36bc83qiy8p90i5ypmyg4qh1cpdjkhd61ajj";
+        sha512 = "UqpgGpyyXRYgJs/X60sE6SIf8UBsmcHYKNaOccyVLEuT6OPBIMo6xMPhoJnqtB3Q3BbO4Z3Bjz5qDsUWh4rXsg==";
       };
     };
     "pug-parser-5.0.1" = {
@@ -7507,7 +7120,7 @@ let
       version = "5.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/pug-parser/-/pug-parser-5.0.1.tgz";
-        sha512 = "30blpbplbbgh6xfirijjqbbfxkp3f70iz7scbspw6z56pw6g4nrkz9swd9bz1wadaij38mazdhybz212cwwpj637rzrxvilxhmylqcw";
+        sha512 = "nGHqK+w07p5/PsPIyzkTQfzlYfuqoiGjaoqHv1LjOv2ZLXmGX1O+4Vcvps+P4LhxZ3drYSljjq4b+Naid126wA==";
       };
     };
     "pug-runtime-2.0.5" = {
@@ -7516,7 +7129,7 @@ let
       version = "2.0.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.5.tgz";
-        sha512 = "2vnj0qdc3rhxbi060mkcss7mwn6avl864vj16shbf9fwf97a2lblkd9g1g6pivqgxszzvrh3ilcaaqp5sbvdw5ycg88g7vfgwmdgsiz";
+        sha512 = "P+rXKn9un4fQY77wtpcuFyvFaBww7/91f3jHa154qU26qFAnOe6SW1CbIDcxiG5lLK9HazYrMCCuDvNgDQNptw==";
       };
     };
     "pug-strip-comments-1.0.4" = {
@@ -7525,7 +7138,7 @@ let
       version = "1.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.4.tgz";
-        sha512 = "2zpmf1c507g195spdxrm7wsfaxrd3kjifxvkfgj7wlbva0vmfydnh8wjsajqph42qzdhmym1y51la62qyiqhybsqi95ij5q4ksgz64b";
+        sha512 = "i5j/9CS4yFhSxHp5iKPHwigaig/VV9g+FgReLJWWHEHbvKsbqL0oP/K5ubuLco6Wu3Kan5p7u7qk8A4oLLh6vw==";
       };
     };
     "pug-walk-1.1.8" = {
@@ -7534,7 +7147,7 @@ let
       version = "1.1.8";
       src = fetchurl {
         url = "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.8.tgz";
-        sha512 = "1a288y26wmpn6f09g6z69xqmqazcvqn36fgrzwjm7wh9ik5pgqn44qvg06ibq2lvp9svz6nly5wni9v35y83plgpgipfbylk4rvgjqq";
+        sha512 = "GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA==";
       };
     };
     "pump-2.0.1" = {
@@ -7543,7 +7156,7 @@ let
       version = "2.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz";
-        sha512 = "288hcmlwdnqda84ylx9cv413ic0r59k0dp71hy7a200jsb7h1y63277jwdp1jdp13c1b3pl6g2gzr5gjv9p72f5sp7w3p0d34swrqxf";
+        sha512 = "ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==";
       };
     };
     "pump-3.0.0" = {
@@ -7552,7 +7165,7 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz";
-        sha512 = "31n24fqakqmhzk2ch644gziskmysmrgiwclsdsr0rwk9spgikqpwickbnayap0rynfjlq72s7iny2p35n3qszypr97ws5njkpx741ig";
+        sha512 = "LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==";
       };
     };
     "pumpify-1.5.1" = {
@@ -7561,7 +7174,7 @@ let
       version = "1.5.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz";
-        sha512 = "1sxm2mh7jmxhjqdrpdqrhc61ipk2cjyyyvsn9hmxlxnlpsasyzjdicl98pm63zv30012qhrxl57vdpdnnq2m2hl4w4ybgn7gqimjad0";
+        sha512 = "oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==";
       };
     };
     "punycode-1.3.2" = {
@@ -7588,7 +7201,7 @@ let
       version = "2.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz";
-        sha512 = "381vqgh5xkqzrr6cxbzfykgnnk83m7qgpx3wjwj1hddn3sg2aibjxyr30rajpgv4js0cqknrbzwbfk5ryhiiyigzfjrk3zysy6i26sx";
+        sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
       };
     };
     "qs-6.5.2" = {
@@ -7597,7 +7210,7 @@ let
       version = "6.5.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz";
-        sha512 = "0c46ws0x9g3mmkgfmvd78bzvnmv2b8ryg4ah6jvyyqgjv9v994z7xdyvsc4vg9sf98gg7phvy3q1ahgaj5fy3dwzf2rki6bixgl15ip";
+        sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==";
       };
     };
     "qs-6.7.0" = {
@@ -7606,16 +7219,7 @@ let
       version = "6.7.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz";
-        sha512 = "34x6fm4dnq8m0kps5ann831k8fvx7jzlrcw8vvri0ki2g2ywdrjr8j5y14bvj9c0fd01ndsyx43y6ji51bfhnxk2gr5fpsks52429sl";
-      };
-    };
-    "query-string-5.1.1" = {
-      name = "query-string";
-      packageName = "query-string";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz";
-        sha512 = "0kkwn38nmjd6n6byiz52gngvyiw46fbibx9c9p1vzn9g7l11f2jpbs39d4aqajk7kk2a6k69wx5bjgavbg1lh275ih6k84jdnr8wdc2";
+        sha512 = "VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==";
       };
     };
     "querystring-0.2.0" = {
@@ -7642,7 +7246,7 @@ let
       version = "2.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz";
-        sha512 = "1yd3j6k7rr39qm5zsh0k86znfksfcz9rbj48vv2dbsicnvvgzvw1vwl17vk2jlxszwqjiqsj9hy88r74wsdxf8by7a3wia2hk2cpdy3";
+        sha512 = "w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==";
       };
     };
     "randombytes-2.1.0" = {
@@ -7651,7 +7255,7 @@ let
       version = "2.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz";
-        sha512 = "2cimbs750ysa2wxsiw9mmc1xqjb8w0c4s22p2mv2n676s8hchvzcl1l5p78jnk62d2jzacpr9zbl9w64kaqnipcbaa25q7ywn47g2dx";
+        sha512 = "vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==";
       };
     };
     "randomfill-1.0.4" = {
@@ -7660,7 +7264,7 @@ let
       version = "1.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz";
-        sha512 = "0pm7c7mw7a3qwjr21f8cvxaa2sq5l4svqs51lppn833x0yvz3yx8x4vbd4rswjynykvlgvn4hrpq327pvbzp428f4b1fciy3xnmrfgk";
+        sha512 = "87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==";
       };
     };
     "range-parser-1.2.1" = {
@@ -7669,7 +7273,7 @@ let
       version = "1.2.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz";
-        sha512 = "15b00vag4wijzsp0lwi9jznpz16n858vq5p1p3dgjrqqil9c6d4x55s1nl1fi4cbq8307bylbvkd9qkhyk6qib8ksh8raibxb3jrf0y";
+        sha512 = "Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==";
       };
     };
     "raw-body-2.4.0" = {
@@ -7678,25 +7282,16 @@ let
       version = "2.4.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz";
-        sha512 = "3flyhj96ayiy8is22lwh9sp1yqq9ksym43x22yri2ikzladqqzxj6z657bc0xb5f2wl7qr2ja4byf57c9f7l2d3wqdglxih886zrv70";
-      };
-    };
-    "raw-body-2.4.1" = {
-      name = "raw-body";
-      packageName = "raw-body";
-      version = "2.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz";
-        sha512 = "1ngfzkci4v3yg989xbriv2giv775w4z9l34hyzfjhyh5ap8wdvc1sggkmqnkz19hgm5r3xyszrs7sppwslxi05r90sg14m6bql8hsgm";
+        sha512 = "4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==";
       };
     };
-    "react-is-16.13.0" = {
+    "react-is-16.9.0" = {
       name = "react-is";
       packageName = "react-is";
-      version = "16.13.0";
+      version = "16.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/react-is/-/react-is-16.13.0.tgz";
-        sha512 = "00g57i5q020lc9cdswy1ba9bqds0a5wbpy88abfcbnjf0v54fmv4qcch3ad3336sdkxy4mjq3zaf142agbc0vkryipj14n79cpjslqq";
+        url = "https://registry.npmjs.org/react-is/-/react-is-16.9.0.tgz";
+        sha512 = "tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw==";
       };
     };
     "read-pkg-3.0.0" = {
@@ -7714,25 +7309,25 @@ let
       version = "4.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz";
-        sha512 = "28400v5dwid6mc9x40s2mwfbkn22vj0dzx0ix8n2bffjx4p2ivb9b60bh743c74kdp0v391rdmladhgvrjgzihns456n977gr451sz9";
+        sha512 = "6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==";
       };
     };
-    "readable-stream-2.3.7" = {
+    "readable-stream-2.3.6" = {
       name = "readable-stream";
       packageName = "readable-stream";
-      version = "2.3.7";
+      version = "2.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz";
-        sha512 = "0zrh6gjjzwwycwydra51xcrgjgzyqv6dq38bfpwzmlqn702mwb4nj4sjjn499rycqndfk6rby0dksnq72x8pcbvqv0b2893mvq6if0i";
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz";
+        sha512 = "tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==";
       };
     };
-    "readable-stream-3.6.0" = {
+    "readable-stream-3.4.0" = {
       name = "readable-stream";
       packageName = "readable-stream";
-      version = "3.6.0";
+      version = "3.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz";
-        sha512 = "1s8hs6ax9jwmmw558j3hyfx5lfn7qf66xg0giplz9jci7d8zp2d8vh96dzlis6xzpxfa5b2zbm8nm4mgsr71r6rl3w3qyfanb5qfn05";
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz";
+        sha512 = "jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==";
       };
     };
     "readdirp-2.2.1" = {
@@ -7741,7 +7336,7 @@ let
       version = "2.2.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz";
-        sha512 = "2yzl88bp25ig1xnrzqmqiwpfxyqkmdw27h3p90a4a58q0964xcijcx4i948msnlvin9f6hn5hmpxj1s90jzkj8aqxr5d04mmzr3z5fl";
+        sha512 = "1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==";
       };
     };
     "realpath-native-1.1.0" = {
@@ -7750,7 +7345,7 @@ let
       version = "1.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz";
-        sha512 = "26fzz602hwidkkqwv7nk72xq07nlymik92psrcs5pifzqypr63pgz0sy8dzda0bpzl7abkz4kiy2z4f1w07xx5ch0yqh802lw1hyn62";
+        sha512 = "wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==";
       };
     };
     "rechoir-0.6.2" = {
@@ -7768,7 +7363,7 @@ let
       version = "1.4.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz";
-        sha512 = "0m5jil0f2yz4js80jxvwilkhq6im5h6h0pa4disk3fsv9lm23lz8ly5219518j47v4fn0h248s9jf5pqhxhcr6z5cmxvbnna0js6vnl";
+        sha512 = "1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==";
       };
     };
     "regenerator-runtime-0.11.1" = {
@@ -7777,7 +7372,7 @@ let
       version = "0.11.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz";
-        sha512 = "03d4l8l8cyywh93wf5vw84lq56jh1b1d7jll4ny4z060j9hvx7w5q3q0b8q227jm93749k1c9h86r2pz0bm2xq5vp14g3r2kbvqc2rj";
+        sha512 = "MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==";
       };
     };
     "regenerator-transform-0.10.1" = {
@@ -7786,7 +7381,7 @@ let
       version = "0.10.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz";
-        sha512 = "3lxj64s9v2jksipiz0pphfy6m12cf7j96w64bqlzjwnasbpqhc5ws5bjzv3x9ld625v1z4f15l30izpv3p6l9w8h1qsvf6vy1pak5rw";
+        sha512 = "PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==";
       };
     };
     "regex-not-1.0.2" = {
@@ -7795,7 +7390,7 @@ let
       version = "1.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz";
-        sha512 = "3cggngaj8m70zdn8kghha4mhvavm7jfy5xm2iqi94w4gi5m5irs3nlrgg975w2231y49jnnw7zhsg648pbkl9zb6vwhii83926q7917";
+        sha512 = "J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==";
       };
     };
     "regexpu-core-2.0.0" = {
@@ -7840,7 +7435,7 @@ let
       version = "1.1.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz";
-        sha512 = "3dbpfrs4yh7dd9572m6dc8cxcgqacnvd24xm9licnw1hygqv51a18a84gm04sjssajbm437rq01raggrzmnzk4jnmbnxrnmk78sl4ba";
+        sha512 = "ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==";
       };
     };
     "repeat-string-1.6.1" = {
@@ -7861,31 +7456,31 @@ let
         sha1 = "5214c53a926d3552707527fbab415dbc08d06dda";
       };
     };
-    "request-2.88.2" = {
+    "request-2.88.0" = {
       name = "request";
       packageName = "request";
-      version = "2.88.2";
+      version = "2.88.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request/-/request-2.88.2.tgz";
-        sha512 = "23hm71jcxrwvp33azx8mx3w6dg21fr4w6lwvkvxyf6ckvhk3hz9dk8lzgkbiyzfl9ylhp4n807xp88ppq4gj5h07cmrgxf6nwxfvjrj";
+        url = "https://registry.npmjs.org/request/-/request-2.88.0.tgz";
+        sha512 = "NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==";
       };
     };
-    "request-promise-core-1.1.3" = {
+    "request-promise-core-1.1.2" = {
       name = "request-promise-core";
       packageName = "request-promise-core";
-      version = "1.1.3";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz";
-        sha512 = "00riv5nw32j70g67b1ll1h599bvdbnkgasnwl1m26pfdgdmgr6zaq500mprx5n77yrnhza27vs3c9icb4z5h6wnwmlha6f81bw3d2s0";
+        url = "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz";
+        sha512 = "UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==";
       };
     };
-    "request-promise-native-1.0.8" = {
+    "request-promise-native-1.0.7" = {
       name = "request-promise-native";
       packageName = "request-promise-native";
-      version = "1.0.8";
+      version = "1.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz";
-        sha512 = "0qx1n06bjj430fidkma2dr90dmrixiza4ymk561v1xxpd5yp7r36lwirgsdn0nvra7s4xs9gs1xhd6fxvlps6q1wh5xq7m4d8n71akm";
+        url = "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz";
+        sha512 = "rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==";
       };
     };
     "require-directory-2.1.1" = {
@@ -7912,7 +7507,7 @@ let
       version = "2.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz";
-        sha512 = "2d0gd2x49nz3hgfwms6326sjw5fx7gqf997dnggc7l084cibgang6wr6ryksky32fvdz1bq72xm73kfxd3lj2qnfyjsp57jq287k8rl";
+        sha512 = "NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==";
       };
     };
     "requires-port-1.0.0" = {
@@ -7933,13 +7528,13 @@ let
         sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
       };
     };
-    "resolve-1.15.1" = {
+    "resolve-1.11.0" = {
       name = "resolve";
       packageName = "resolve";
-      version = "1.15.1";
+      version = "1.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz";
-        sha512 = "3pr5zjp8nh6qfllxnpqx531srx1igzdm28j4zg1y53yzc8qxp16yx01pw8cp7y4frla90gnpv622d6bi6aayi03iqlkb8gdjklji2pk";
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz";
+        sha512 = "WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==";
       };
     };
     "resolve-cwd-2.0.0" = {
@@ -7987,15 +7582,6 @@ let
         sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a";
       };
     };
-    "responselike-1.0.2" = {
-      name = "responselike";
-      packageName = "responselike";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz";
-        sha1 = "918720ef3b631c5642be068f15ade5a46f4ba1e7";
-      };
-    };
     "restore-cursor-2.0.0" = {
       name = "restore-cursor";
       packageName = "restore-cursor";
@@ -8011,7 +7597,7 @@ let
       version = "0.1.15";
       src = fetchurl {
         url = "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz";
-        sha512 = "2d7igpgyzdlpx2ni0sql8gsnqk9qivfsw6bn1aklm19kbhgxjzmlazz8szfsbdpjka4gk6i3zf0jqa0llaf7dni636fnbwfmyjmhfad";
+        sha512 = "TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==";
       };
     };
     "retry-0.12.0" = {
@@ -8038,7 +7624,7 @@ let
       version = "2.7.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz";
-        sha512 = "3ixwnv4h7x38jd12vyzhx6m6adnfhz1zv881allalyqs8sy3q3zgwldngk4cqslnn2d46l0g91yz8wprmzcsvas9573vp8al9ldns5r";
+        sha512 = "uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==";
       };
     };
     "ripemd160-2.0.2" = {
@@ -8047,7 +7633,7 @@ let
       version = "2.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz";
-        sha512 = "0hbd4cqbkycj691cj7gm40x3x5w46xk56xkg6n11wskc3k4xbdz1xxxyy6r27rcwipkzp19y1fmpfmb4lgf10l8asn6prdn11m24bla";
+        sha512 = "ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==";
       };
     };
     "rsvp-4.8.5" = {
@@ -8056,7 +7642,7 @@ let
       version = "4.8.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz";
-        sha512 = "2wdl1qh3bdrji9q0whkrhj7gzryfipskamagkg5dq54phmg5c7ifp8va0b8saxs4xmi6c5mlvkh6gbk6r4nqrld4v8ykx5f0ja0xwwx";
+        sha512 = "nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==";
       };
     };
     "run-queue-1.0.3" = {
@@ -8068,13 +7654,13 @@ let
         sha1 = "e848396f057d223f24386924618e25694161ec47";
       };
     };
-    "rxjs-6.5.4" = {
+    "rxjs-6.5.2" = {
       name = "rxjs";
       packageName = "rxjs";
-      version = "6.5.4";
+      version = "6.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz";
-        sha512 = "3nzzg67sr57cc5n1065xsxjgrwa405bgbgqm9l8w01lnr660cy8zdjk99hm2n0did4kd75nwiz3843mfbrw7bs100n7g8q4r1fi18wx";
+        url = "https://registry.npmjs.org/rxjs/-/rxjs-6.5.2.tgz";
+        sha512 = "HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==";
       };
     };
     "safe-buffer-5.1.2" = {
@@ -8083,16 +7669,7 @@ let
       version = "5.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz";
-        sha512 = "3xbm0dkya4bc3zwfwpdzbl8ngq0aai5ihlp2v3s39y7162c7wyvv9izj3g8hv6dy6vm2lq48lmfzygk0kxwbjb6xic7k4a329j99p8r";
-      };
-    };
-    "safe-buffer-5.2.0" = {
-      name = "safe-buffer";
-      packageName = "safe-buffer";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz";
-        sha512 = "1pb164cfv1ip3s1rp008433rak88mdcch24q84cbfndg0dzky2ij8vjvsiyx2qf3rg4dgs82zk7vnrd9hkqqdcvp4lbk5ymcr8314bx";
+        sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
       };
     };
     "safe-regex-1.1.0" = {
@@ -8110,7 +7687,7 @@ let
       version = "2.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
-        sha512 = "2v99f22kh56y72d3s8wrgdvf5n10ry40dh3fwnsxr4d5rfvxdfxfmc3qyqkscnj4f8799jy9bpg6cm21x2d811dr9ib83wjrlmkg6k1";
+        sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
       };
     };
     "sane-4.1.0" = {
@@ -8119,7 +7696,7 @@ let
       version = "4.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz";
-        sha512 = "1jdy0h2kdi5d2lnxafnbxnqssf306v0pffvw10jspi9v899n7rxknzs78k7nnrgy1mgyfragq91y4ci7z7xksbp92xw6py80h1g65l6";
+        sha512 = "hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==";
       };
     };
     "sax-1.2.4" = {
@@ -8128,7 +7705,7 @@ let
       version = "1.2.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz";
-        sha512 = "1dn291mjsda42w8kldlbmngk6dhjxfbvvd5lckyqmwbjaj6069iq3wx0nvcfglwnpddz2qa93lzf4hv77iz43bd2qixa079sjzl799n";
+        sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==";
       };
     };
     "schema-utils-1.0.0" = {
@@ -8137,7 +7714,7 @@ let
       version = "1.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz";
-        sha512 = "3kgnvyq6cxrlx9xwba75z4wp364mf4y4d66d92zwhjdw8nqg5jxzp1bfl6n5srl0aircw32nmry28a4476cpb3ijqzz78hars4wqvlb";
+        sha512 = "i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==";
       };
     };
     "select-hose-2.0.0" = {
@@ -8149,22 +7726,22 @@ let
         sha1 = "625d8658f865af43ec962bfc376a37359a4994ca";
       };
     };
-    "selfsigned-1.10.7" = {
+    "selfsigned-1.10.6" = {
       name = "selfsigned";
       packageName = "selfsigned";
-      version = "1.10.7";
+      version = "1.10.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz";
-        sha512 = "165gijv79k6g333d52fwfnna4z0myalk0cywvf9b6pysjfwlib4cvldycwx6yiiy099v9s0yhgvhq1sn21dqy7r85kq4n6y5h2g1kgh";
+        url = "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.6.tgz";
+        sha512 = "i3+CeqxL7DpAazgVpAGdKMwHuL63B5nhJMh9NQ7xmChGkA3jNFflq6Jyo1LLJYcr3idWiNOPWHCrm4zMayLG4w==";
       };
     };
-    "semver-5.7.1" = {
+    "semver-5.7.0" = {
       name = "semver";
       packageName = "semver";
-      version = "5.7.1";
+      version = "5.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz";
-        sha512 = "0cl68vp0ymkjpvim4s24v3awyk37d1bfbqrqv4ybwfi8yxga3d8fma2d6bh8dd4i2dsfwca324vaxm5dms61kdlmihdarfgzw6rmaxi";
+        url = "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz";
+        sha512 = "Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==";
       };
     };
     "semver-6.3.0" = {
@@ -8173,7 +7750,7 @@ let
       version = "6.3.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz";
-        sha512 = "17wg4dv63jhss5hwqd135zz67r5c30b7a1xz33kfa7knxr0wfypyb8mj2xmc3l71qkxrz569n89xwp5d77m7adn0sr5wzfjlh2m6zvg";
+        sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
       };
     };
     "send-0.17.1" = {
@@ -8182,7 +7759,7 @@ let
       version = "0.17.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/send/-/send-0.17.1.tgz";
-        sha512 = "016qgvxg1si6vn34p7piyc8mhvmav1zscm294wkcjf221y1l9zk5kwk5z6yn1ixspj12df25bpazb2h3fdclcf59xqc2h4w46r4mi86";
+        sha512 = "BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==";
       };
     };
     "serialize-javascript-1.9.1" = {
@@ -8191,16 +7768,7 @@ let
       version = "1.9.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz";
-        sha512 = "3a0kvzr1rq0l6v4l587sv58i0xgajs9863srkhxxlzq3dk5mj8r5sag4yyxfidzsbwcbygbg7wdm2nja97kg5n4y9plxsl9hpkzymni";
-      };
-    };
-    "serialize-javascript-2.1.2" = {
-      name = "serialize-javascript";
-      packageName = "serialize-javascript";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz";
-        sha512 = "26vhlfjji0jk84cvbcpna4h1nfvdwj19g7rjmvz9mzlm277cpgz7xw9q61yrp3x4amas66fxrz0p2rrndv737j4imw4a5ql0614xkxf";
+        sha512 = "0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==";
       };
     };
     "serve-index-1.9.1" = {
@@ -8218,7 +7786,7 @@ let
       version = "1.14.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz";
-        sha512 = "0551vv6s1vgk5krzdn9cwnybsv6g4cyqpkk1dlkyv1pd8n7m8r7pi12r16bw12dzwl6ghj4qwizjsxc8vl26lv9c61fkq9r059yzji4";
+        sha512 = "JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==";
       };
     };
     "set-blocking-2.0.0" = {
@@ -8236,7 +7804,7 @@ let
       version = "2.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz";
-        sha512 = "15idn47lw67wfq0qfva85xnphqxkzz5apix6gwcnylmqw4ch7bqhq4vzdh53f327agpcg6pdzkbj8m72wm887wd8lqaydw20zbxq497";
+        sha512 = "JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==";
       };
     };
     "setimmediate-1.0.5" = {
@@ -8254,7 +7822,7 @@ let
       version = "1.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz";
-        sha512 = "2jlhhawfqdiga1m6if01ks1q3yx56k5vj6wf372589vkswvdflw7224viivxali56b0jjsckpmjy10rj6fcakhw2dbq2psr197kzw86";
+        sha512 = "BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==";
       };
     };
     "setprototypeof-1.1.1" = {
@@ -8263,7 +7831,7 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz";
-        sha512 = "01qxzb0a6jrcxa6qh776v04ihqrmcy3qfbp9drfsjhfcsmaqd21mppr3ndj970ixfh6bpm8ai45jyqyzjfjw26pcyd82y6pyrcl1xr6";
+        sha512 = "JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==";
       };
     };
     "sha.js-2.4.11" = {
@@ -8272,7 +7840,7 @@ let
       version = "2.4.11";
       src = fetchurl {
         url = "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz";
-        sha512 = "2lihh3p2mrwymrly93ni37b1dvzwbm1jc47iqp66ax4bj41js4mr94wghv3c2agq98bb44nxxddn2n67ab978zk00xx2znw3vj2kha0";
+        sha512 = "QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==";
       };
     };
     "shebang-command-1.2.0" = {
@@ -8299,7 +7867,7 @@ let
       version = "0.8.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz";
-        sha512 = "3ndzzikwq0c0084xy1s0v9q2msc8wc7qrmi0bi1llshsmlhfz4dn1k9i2r666ls7xmq62idmify0ksc1vq3mrjqcrqbm20na0m03kbx";
+        sha512 = "fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==";
       };
     };
     "shellwords-0.1.1" = {
@@ -8308,7 +7876,7 @@ let
       version = "0.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz";
-        sha512 = "31h1mksdbashjfpvj7xh8nqw7siqm5v1yj77pmcsbkzqi4hrpjqmzv2sifjlljjyx87sfqnmcn0yqh1hfgn669c43i2dargyi8i4p5w";
+        sha512 = "vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==";
       };
     };
     "sigmund-1.0.1" = {
@@ -8335,16 +7903,16 @@ let
       version = "1.96.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/simple-git/-/simple-git-1.96.0.tgz";
-        sha512 = "0ywlgw61ydavyi2sw2yvzlha4yaxcasrzzkfkvwhv51qm1pciagcmchampclwjrs40wnn0ydhbh1krn1krsrfr6rjyx46k9j76fw1gs";
+        sha512 = "+gXuzJFpGtK9zCa7rPMMNs8AF2weWMsB0Vlyym5VkFX2VGQ3VBzKhnxPN//PWrGuPFGQ/u0F1yL6rZoPhj/KPQ==";
       };
     };
-    "sisteransi-1.0.4" = {
+    "sisteransi-1.0.3" = {
       name = "sisteransi";
       packageName = "sisteransi";
-      version = "1.0.4";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.4.tgz";
-        sha512 = "25g5in0cfm4qpjw7rw3pnqyln8svln98bh34hiwmmk51wkfyb93sg52x9xc2nahx1lhvg4np6v5dq8vbsm2k7v4pii9y9qdrsh0rsgx";
+        url = "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.3.tgz";
+        sha512 = "SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg==";
       };
     };
     "slash-1.0.0" = {
@@ -8362,7 +7930,7 @@ let
       version = "2.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz";
-        sha512 = "3sbrc1b1qf9m7lhlljmnc51k9bl7jbc9zfmdc4z55iafsck65d9ll77bifknvgvgbc0f0a7cvm1b785ab5d1avm27lm7kvnd3fs30k5";
+        sha512 = "ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==";
       };
     };
     "snapdragon-0.8.2" = {
@@ -8371,7 +7939,7 @@ let
       version = "0.8.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz";
-        sha512 = "2b0sap2q0c6qbfkw6znql845b143frn5gkkz4gpirjhgwa2j3wy3jsvrfg51s5c1w1m4nkgis97x9yvmzsc533kap9j3h3zcffqxp0n";
+        sha512 = "FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==";
       };
     };
     "snapdragon-node-2.1.1" = {
@@ -8380,7 +7948,7 @@ let
       version = "2.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz";
-        sha512 = "2gk18pdld8ij1bpa2mdwl8f7i4rl5d4ys3qw31hipj56wslnsfhp1vxp3q36kj1m4f34wzzlvj0282qx5xlflqf978xyqlc2viyaviv";
+        sha512 = "O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==";
       };
     };
     "snapdragon-util-3.0.1" = {
@@ -8389,7 +7957,7 @@ let
       version = "3.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz";
-        sha512 = "1jsaqma4ycl2iq0761i1w7758z1kq7gbsij4xfb7p5cnw0qa62pszv6pr3j856n3pbxww7wwxs5wvcg2cb6vy020kw3bchashqs9clr";
+        sha512 = "mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==";
       };
     };
     "sockjs-0.3.19" = {
@@ -8398,25 +7966,16 @@ let
       version = "0.3.19";
       src = fetchurl {
         url = "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz";
-        sha512 = "0pn77r3rgi2blxla6ilhf4madx8n0cprzb295mw5knx2hyhiwn60z8n8n8clsb1l0wddcrjj5x4rn24ydf2wnxbrn63xwb5lsa293sp";
+        sha512 = "V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==";
       };
     };
-    "sockjs-client-1.4.0" = {
+    "sockjs-client-1.3.0" = {
       name = "sockjs-client";
       packageName = "sockjs-client";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz";
-        sha512 = "3pa683q7x6az2iwmd2bh0d2zwdkgklkfi4vpkwnxw4b49mgfdjkal83i9lzxlz6f6sqybyvb0mlyw0mmg9mdd76fawvi7izxz48ndp7";
-      };
-    };
-    "sort-keys-2.0.0" = {
-      name = "sort-keys";
-      packageName = "sort-keys";
-      version = "2.0.0";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz";
-        sha1 = "658535584861ec97d730d6cf41822e1f56684128";
+        url = "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz";
+        sha512 = "R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==";
       };
     };
     "source-list-map-2.0.1" = {
@@ -8425,7 +7984,7 @@ let
       version = "2.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz";
-        sha512 = "0izwdwncwz4s14qn5ahkb2mpcdpxq2arn5185dlhljns4nylsw2xfm425zi115ik4kz1vfa97qyix3vf3i149dyi1ndq61iaf0knx5a";
+        sha512 = "qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==";
       };
     };
     "source-map-0.5.7" = {
@@ -8443,16 +8002,16 @@ let
       version = "0.6.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";
-        sha512 = "3p7hw8p69ikj5mwapmqkacsjnbvdfk5ylyamjg9x5izkl717xvzj0vk3fnmx1n4pf54h5rs7r8ig5kk4jv4ycqqj0hv75cnx6k1lf2j";
+        sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
       };
     };
-    "source-map-resolve-0.5.3" = {
+    "source-map-resolve-0.5.2" = {
       name = "source-map-resolve";
       packageName = "source-map-resolve";
-      version = "0.5.3";
+      version = "0.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz";
-        sha512 = "2gq1flmkac2lzw8rs6vpch0sanmv8r9gv6bggwkgxzj3n7gw33lbqzk7nk9vvsckdjjkm132jzbl3nxc69cf9bb7xz4wnhpgd3gxp0y";
+        url = "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz";
+        sha512 = "MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==";
       };
     };
     "source-map-support-0.4.18" = {
@@ -8461,16 +8020,16 @@ let
       version = "0.4.18";
       src = fetchurl {
         url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz";
-        sha512 = "1n37icn5xpsxs2x8szv6ifajjf066fskm04xn6agr79sid57n0yws4n0cis7m9q5hr0hxzr8dv2fnmmpgb4mvz8kiyv2g5ikbyb9g5n";
+        sha512 = "try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==";
       };
     };
-    "source-map-support-0.5.16" = {
+    "source-map-support-0.5.13" = {
       name = "source-map-support";
       packageName = "source-map-support";
-      version = "0.5.16";
+      version = "0.5.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz";
-        sha512 = "1ayqxcigra517ylxbrvri7jlw55cv0m6a8j9j6060c5xsh519ip69jjp4jk6bqcj5ra5y318k6la6lfhpsj0k8hhkyw1szbj128pz3r";
+        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz";
+        sha512 = "SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==";
       };
     };
     "source-map-url-0.4.0" = {
@@ -8488,7 +8047,7 @@ let
       version = "3.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz";
-        sha512 = "3qslnh3c2x2g8lar94rladm2rz692d5ds1bp1cpl223jf67jnazl9ipy4n17n7vqvgwimij36gz740nfqr5pyxq8x6n02rd4xj89gcn";
+        sha512 = "lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==";
       };
     };
     "spdx-exceptions-2.2.0" = {
@@ -8497,7 +8056,7 @@ let
       version = "2.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz";
-        sha512 = "12c442riig2hk7014ahh40chwirmmsl9dr4cnm2dr2bdbv1lnal8xxwsfx403pqkx7ib06gm2hyyd98kn30kxanjm92yai5y44h0x6r";
+        sha512 = "2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==";
       };
     };
     "spdx-expression-parse-3.0.0" = {
@@ -8506,7 +8065,7 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz";
-        sha512 = "351djgqvsgqmfg6h764c2k09dmixczw5073jirm8km6i1yym4xjrzc7g5ckwkidi3gls7s910m4ahl8sh37dsb478j8j3sigbfq63k2";
+        sha512 = "Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==";
       };
     };
     "spdx-license-ids-3.0.5" = {
@@ -8515,7 +8074,7 @@ let
       version = "3.0.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz";
-        sha512 = "3sk6sk6r05ikn5qslbh04h54mv4a34wn4d76s800h94padnjydfvvq73ij6jh81yrigspyr50ay878jjwpj2mcq38br371jkb6mdq97";
+        sha512 = "J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==";
       };
     };
     "spdy-4.0.1" = {
@@ -8524,7 +8083,7 @@ let
       version = "4.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz";
-        sha512 = "2h245q80im9phjaghcl16kb4sv4n7igk0ch8dsqkq32dsfhcqysjx19blvd45whyaqh9r6309wc6pf6885apd1bcnn0yc2xy3f55rhx";
+        sha512 = "HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==";
       };
     };
     "spdy-transport-3.0.0" = {
@@ -8533,7 +8092,7 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz";
-        sha512 = "1rha3zyhardm434kr4h4y44wxpd49hqzzxqk1d9lqg91bkzfbp6qkh9nahdkkmpgbkc5021x8c8cy1aqnaph5ib1a9hx32j9qadbhl6";
+        sha512 = "hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==";
       };
     };
     "split-string-3.1.0" = {
@@ -8542,7 +8101,7 @@ let
       version = "3.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz";
-        sha512 = "25ih1dx2qb3lawqjxj85znd4l3x8nnigrcdlpfw8064gh2mwxic9bgg5ylgxm9gjl3v8dmyc47rycp8xvqz78jqalg0g9yqj225acrp";
+        sha512 = "NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==";
       };
     };
     "sprintf-js-1.0.3" = {
@@ -8560,7 +8119,7 @@ let
       version = "1.16.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz";
-        sha512 = "0i4jnrxh6i17qij2vfki7qxmk435cnacvg363qg0hya5incfj57akgbas8zcx2cl5pds9jfgfyhqm8wlqz6damsg059gymv99aylx8x";
+        sha512 = "HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==";
       };
     };
     "ssri-5.3.0" = {
@@ -8569,7 +8128,7 @@ let
       version = "5.3.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz";
-        sha512 = "00qc3iqsi21cc2az3nz36q88psab4ickpzranndk6vmrb6yhn5xsq3kgp21x3lp0406bdaalpb59xy7zzqnl40ans69v3z2l8z8h52x";
+        sha512 = "XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==";
       };
     };
     "ssri-6.0.1" = {
@@ -8578,7 +8137,7 @@ let
       version = "6.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz";
-        sha512 = "107yg08ib4232ppannc6fw8ml8p1fssnvcf88cpq3s5ybq3r5ppxnmc32rp40i0ppbgxcw9q04d5rc90if0q3xyp953swad93biws6x";
+        sha512 = "3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==";
       };
     };
     "stack-utils-1.0.2" = {
@@ -8587,7 +8146,7 @@ let
       version = "1.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz";
-        sha512 = "300alvgq7a9y0fyilyifhirpj9k0qvs6lx7g8msrs6lilcs8wjgl3jzckcs3mvp5v6bi2g7q6k1ml18zpgqvr5cf5wdylxrw4qzwd9i";
+        sha512 = "MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==";
       };
     };
     "static-extend-0.1.2" = {
@@ -8623,7 +8182,7 @@ let
       version = "2.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz";
-        sha512 = "2mfvadpwj9mzxps4arl1frxlkz96hfp0sc5pvq76s0ijf8fgw26mm3a721zq3iz1f8155w3a41wkixbdlwn1cavv0mzics796da2zlx";
+        sha512 = "nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==";
       };
     };
     "stream-each-1.2.3" = {
@@ -8632,7 +8191,7 @@ let
       version = "1.2.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz";
-        sha512 = "0pxki70s41jg18b738qvcwxlcakp6658ksicxkcgg8wp9q97fwp3mv13c5k38k47vxkyyk951k7gzavs3r7b93ackdyznh8zzch4lxy";
+        sha512 = "vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==";
       };
     };
     "stream-http-2.8.3" = {
@@ -8641,25 +8200,16 @@ let
       version = "2.8.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz";
-        sha512 = "19y2xbs1xzzpjwfdczl21d0d76ahd7013cr3mhfa6a8nbwwv9jpncng8idf0g8hnmnq2mcl3xh912rjlasl06wsz44qw3j7hdya8d7r";
+        sha512 = "+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==";
       };
     };
-    "stream-shift-1.0.1" = {
+    "stream-shift-1.0.0" = {
       name = "stream-shift";
       packageName = "stream-shift";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz";
-        sha512 = "1ai59bc5x8d6a1c37fp2d2gi6q7x6fhza2jsf1sblrdvbza8j14a4xnp20lg65b8lzm0s95m3pqizblbj6ks44qf73gdllhbahaqa02";
-      };
-    };
-    "strict-uri-encode-1.1.0" = {
-      name = "strict-uri-encode";
-      packageName = "strict-uri-encode";
-      version = "1.1.0";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz";
-        sha1 = "279b225df1d582b1f54e65addd4352e18faa0713";
+        url = "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz";
+        sha1 = "d5c752825e5367e786f78e18e445ea223a155952";
       };
     };
     "string-length-2.0.0" = {
@@ -8686,7 +8236,7 @@ let
       version = "2.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz";
-        sha512 = "29s1fqgr4mnhfxwczgdghfmmc1f792m9hysvcjxw2h5lfj8ndf2b6gm02m96qk5m75g4aisijvng4pk618anwbr8i9ay2jyszkqgslw";
+        sha512 = "nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==";
       };
     };
     "string-width-3.1.0" = {
@@ -8695,25 +8245,25 @@ let
       version = "3.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz";
-        sha512 = "3bix3jva53vcp1im3aa1y2v1lywkm7ix81gkwkj4915s2675pmw1c9n5x98q1m985hzgwkk1fnc2q78qz7s0fixhf994md3lazxr9xx";
+        sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==";
       };
     };
-    "string.prototype.trimleft-2.1.1" = {
+    "string.prototype.trimleft-2.1.0" = {
       name = "string.prototype.trimleft";
       packageName = "string.prototype.trimleft";
-      version = "2.1.1";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz";
-        sha512 = "013lf0f398s2xb9jhq9acspdnnk52k7whcga9am4b8a2wrgpc2w7xgkydg4sg4ah9z3i1syimzqs7dc89390xmwlx8zxf6gvlcq1vca";
+        url = "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz";
+        sha512 = "FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==";
       };
     };
-    "string.prototype.trimright-2.1.1" = {
+    "string.prototype.trimright-2.1.0" = {
       name = "string.prototype.trimright";
       packageName = "string.prototype.trimright";
-      version = "2.1.1";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz";
-        sha512 = "3x2qc2fc2fh9sj3vw9w45h246vspjfn88b0k356ldazylhap91vg825bppg73s9n63kwpql3gpw24lv8zx0b2arblcqhh7ygwpxcnx8";
+        url = "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz";
+        sha512 = "fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==";
       };
     };
     "string_decoder-1.1.1" = {
@@ -8722,7 +8272,7 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz";
-        sha512 = "315yd4vzwrwk3vwj1klf46y1cj2jbvf88066y2rnwhksb98phj46jkxixbwsp3h607w7czy7cby522s7sx8mvspdpdm3s72y2ga3x4z";
+        sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==";
       };
     };
     "strip-ansi-3.0.1" = {
@@ -8749,7 +8299,7 @@ let
       version = "5.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz";
-        sha512 = "1cf4mpsr46nik5xxyb9wc4cz6c4yymi2ijpfx1nghnkl39l8pgq1sc7q19jzrjkwpn9i7hwg4q3rs4ny3vssrc6506an1lv0bb6rr0f";
+        sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==";
       };
     };
     "strip-bom-3.0.0" = {
@@ -8785,7 +8335,7 @@ let
       version = "5.5.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz";
-        sha512 = "2ihqi2z38fr1sq2jvwqgjqymncmkhxqz0x3bi97w4b4fn24wsdy71j139p95sb3nfrh3a449n0sqhm1z0jsi04860y8vdy8sp0n6da2";
+        sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==";
       };
     };
     "supports-color-6.1.0" = {
@@ -8794,7 +8344,7 @@ let
       version = "6.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz";
-        sha512 = "30pwyjmww4d54bf2m6lpw20ly4blhb88sy3gn6qcjih2rfq1s5zsl1nszzwgj2j1gqn3c8mw52df0z26rqyk8flzimb70scdmz67vd9";
+        sha512 = "qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==";
       };
     };
     "symbol-tree-3.2.4" = {
@@ -8803,7 +8353,7 @@ let
       version = "3.2.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz";
-        sha512 = "17zjr1mhbpxi4zhrmghix8hw1pi9svlwzjxz51mj2hxx9qpjwn1z9rlyrmdn55hbdiqnl8m9gkci2294swkkwp3rxpy05q3mkj680zm";
+        sha512 = "9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==";
       };
     };
     "tapable-1.1.3" = {
@@ -8812,25 +8362,25 @@ let
       version = "1.1.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz";
-        sha512 = "283f6rp3hhj0lvi5smcvh4mq56mifjchgv6qlnr4qb1xs2fsyb2vy71b308h1285nngcz8q7cbmjp8qqzh0im71mx5wr3v6hrnvyqp1";
+        sha512 = "4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==";
       };
     };
-    "terser-4.6.6" = {
+    "terser-4.3.3" = {
       name = "terser";
       packageName = "terser";
-      version = "4.6.6";
+      version = "4.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terser/-/terser-4.6.6.tgz";
-        sha512 = "3b8jz65d3105j7jw1b5jv6ww4z89nr3zjvwzsv7sk6n6sn469bnwxf1x04n7cixyz2xrnlz24yx8sw30wmzzas4434dick6wg4hymp2";
+        url = "https://registry.npmjs.org/terser/-/terser-4.3.3.tgz";
+        sha512 = "Nzr7dpRjSzMEUS+z2UYQBtzE0LDm5k0Yy8RgLRPy85QUo1TjU5lIOBwzS5/FVAMaVyHZ3WTTU2BuQcMn8KXnNQ==";
       };
     };
-    "terser-webpack-plugin-1.4.3" = {
+    "terser-webpack-plugin-1.4.1" = {
       name = "terser-webpack-plugin";
       packageName = "terser-webpack-plugin";
-      version = "1.4.3";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz";
-        sha512 = "2n44cgqgz070skn207m3l6zg3q444p1db54g0j87fcjxwyhmlfvgg3kak5v1ffhg765cdxah1l99kjdcy74mc75nlq7907zbiq5xk20";
+        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz";
+        sha512 = "ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==";
       };
     };
     "test-exclude-5.2.3" = {
@@ -8839,7 +8389,7 @@ let
       version = "5.2.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz";
-        sha512 = "3dgwbvh6yz24lh2kbdigw3j3kpxmmvlrqdhlc4innvrmyj0wvhs5ayckl00161sdx6a2pik344ggs49w9z1h6nh1v2fs542qyv33sik";
+        sha512 = "M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==";
       };
     };
     "thenify-3.3.0" = {
@@ -8875,25 +8425,16 @@ let
       version = "2.0.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz";
-        sha512 = "14xi6lbly1f37015ny2pzcnf5kaksjmpnhm61gfhwn686w5ac519qb1icxdda974n84f342g0y15kysj1hci2vl40z91aiivyhx2spy";
+        sha512 = "/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==";
       };
     };
-    "thunky-1.1.0" = {
+    "thunky-1.0.3" = {
       name = "thunky";
       packageName = "thunky";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz";
-        sha512 = "2n8ys98dmv1625inb52cdr421ry82ri2sninmss1njzy9hxrlblw3fkvgr3na4d69glygww3g80bj4pgr9ik1zcm10ki0gd2yf3nxkq";
-      };
-    };
-    "timed-out-4.0.1" = {
-      name = "timed-out";
-      packageName = "timed-out";
-      version = "4.0.1";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz";
-        sha1 = "f32eacac5a175bea25d7fab565ab3ed8741ef56f";
+        url = "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz";
+        sha512 = "YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==";
       };
     };
     "timers-browserify-2.0.11" = {
@@ -8902,7 +8443,7 @@ let
       version = "2.0.11";
       src = fetchurl {
         url = "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz";
-        sha512 = "0lrwqck7qvpvxswx5kmydj9nmn2rwckzzfpdf5mf869fqrs9girj45i80hdv99b81m4g8fgwqx2lqk04k7zars7rldq3r89r3m9aipb";
+        sha512 = "60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==";
       };
     };
     "tmpl-1.0.4" = {
@@ -8956,7 +8497,7 @@ let
       version = "3.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz";
-        sha512 = "03lcq1y1ks55lss37m3cx52f8f4wj85rqsxfxrhi3y8rqa0iiny6df8ardg2f742z870v7xw749lcsxh8yplsmbvaig4rrds1w6asqm";
+        sha512 = "FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==";
       };
     };
     "to-regex-range-2.1.1" = {
@@ -8974,7 +8515,7 @@ let
       version = "1.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz";
-        sha512 = "1bip1yxcfy4c0yl2kwmj9jyzfg1ixyj564wd1aaf46rabdiasx62yznb8bwn9cki886f353axgca42zma7q9rb4b50lhm1zz7y8g8y9";
+        sha512 = "yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==";
       };
     };
     "token-stream-0.0.1" = {
@@ -8986,13 +8527,22 @@ let
         sha1 = "ceeefc717a76c4316f126d0b9dbaa55d7e7df01a";
       };
     };
+    "tough-cookie-2.4.3" = {
+      name = "tough-cookie";
+      packageName = "tough-cookie";
+      version = "2.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz";
+        sha512 = "Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==";
+      };
+    };
     "tough-cookie-2.5.0" = {
       name = "tough-cookie";
       packageName = "tough-cookie";
       version = "2.5.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz";
-        sha512 = "3xgcny117pqhfncr4gbmagzlnjiqqgq0lrvmljdfcdy64nc0xjfcbf1r08dmp1v1m3s51kq0yxc18nl3j9lbpr5bp5lgmi6719yqlly";
+        sha512 = "nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==";
       };
     };
     "tr46-1.0.1" = {
@@ -9019,34 +8569,25 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz";
-        sha512 = "0092ym5f8nqn9kwk6wczdd9g9cmyakl54rqrmrmhj1ncm4c5p8iy2sjxkxybnqp4y4bxsabar5kalggrz787665r6lnb49zpz4xlz3k";
+        sha512 = "c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==";
       };
     };
-    "ts-jest-24.3.0" = {
+    "ts-jest-24.0.2" = {
       name = "ts-jest";
       packageName = "ts-jest";
-      version = "24.3.0";
+      version = "24.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ts-jest/-/ts-jest-24.3.0.tgz";
-        sha512 = "1arvrclb8plyklschblbipqilv7gih7yh7my5flmpa6y50x0908x7viisbb5wj93v4r2d12xcbi9rm2n0jwljcraliqhi4hzw5pigqx";
+        url = "https://registry.npmjs.org/ts-jest/-/ts-jest-24.0.2.tgz";
+        sha512 = "h6ZCZiA1EQgjczxq+uGLXQlNgeg02WWJBbeT8j6nyIBRQdglqbvzDoHahTEIiS6Eor6x8mK6PfZ7brQ9Q6tzHw==";
       };
     };
-    "tslib-1.11.1" = {
+    "tslib-1.10.0" = {
       name = "tslib";
       packageName = "tslib";
-      version = "1.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz";
-        sha512 = "0c0k843zya7w9k5snfr3g76wz2vyl99q149safl5g364jjwq839h3qf8c17i8mahdcqc3zj3xgfv0nv9pcxfm8axva0d49w4vqvr5b9";
-      };
-    };
-    "tsscmp-1.0.6" = {
-      name = "tsscmp";
-      packageName = "tsscmp";
-      version = "1.0.6";
+      version = "1.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz";
-        sha512 = "104f0vccp42fba9r2ij7ww4r7mazkmvqgj8is4ipg0jfx190n967qq5b1g0n77kcmm4d2m3l3q3cmh5kqgdmv886514akn38c16s61g";
+        url = "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz";
+        sha512 = "qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==";
       };
     };
     "tty-browserify-0.0.0" = {
@@ -9082,16 +8623,7 @@ let
       version = "1.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/type/-/type-1.2.0.tgz";
-        sha512 = "1z2f06mzr855vwxwr0wkndnkn3fnjcwisd3iajkh6dmzz0dn1a5amq7m798j1ass4kiymz4gn3q0c573l21377dkq1ap2i703jfv6gv";
-      };
-    };
-    "type-2.0.0" = {
-      name = "type";
-      packageName = "type";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type/-/type-2.0.0.tgz";
-        sha512 = "2iyk1bl159vr7i0r24jawi0lwrgns8xvsw72962lvzw6qshm5blls6p7spkpcqpgwb0p7liwdix0ph0j22dip1rg812xbw723rpj6r8";
+        sha512 = "+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==";
       };
     };
     "type-check-0.3.2" = {
@@ -9109,7 +8641,7 @@ let
       version = "1.6.18";
       src = fetchurl {
         url = "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz";
-        sha512 = "3r7402x79nilhdgk4z21yjh5y9vix8lwlll1kzcn8jd2m89vzksdb6wddia77cxv3iwhd6i5hkv6n7diwjbhpy7y03i2kqlvfplli2f";
+        sha512 = "TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==";
       };
     };
     "typedarray-0.0.6" = {
@@ -9127,16 +8659,16 @@ let
       version = "3.1.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz";
-        sha512 = "3cvrfgjsyvnh9fdyixjzx9mwkfcjfyhgsjizzxzmrsvb1pwch0y58crjh7p6b0ml9nl7jr55nx5dyslq3jn15qz555fl3a4qdfbrnyd";
+        sha512 = "zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==";
       };
     };
-    "typescript-3.8.3" = {
+    "typescript-3.5.2" = {
       name = "typescript";
       packageName = "typescript";
-      version = "3.8.3";
+      version = "3.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz";
-        sha512 = "3rwcbg3l3w3l2zr5y9lszqs30s29jzvh1w594rbdljyr582yi6vajzs2fg04s9p79klh3iv0980b91mbr94sl77h9nb7b2mgrz4929i";
+        url = "https://registry.npmjs.org/typescript/-/typescript-3.5.2.tgz";
+        sha512 = "7KxJovlYhTX5RaRbUdkAXN1KUZ8PwWlTzQdHV6xNqvuFOs7+WBo10TQUqT19Q/Jz2hk5v9TQDIhyLhhJY4p5AA==";
       };
     };
     "typical-4.0.0" = {
@@ -9145,7 +8677,7 @@ let
       version = "4.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz";
-        sha512 = "13n01mbvkc5ikjpc69q3ixakq46pp2nbagrwz2a40ff7as9sandwzp51nhh6hy42l9yxq2pjv2y1whds49yq7akh9c3211vyhigh0al";
+        sha512 = "VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==";
       };
     };
     "uglify-js-2.8.29" = {
@@ -9157,6 +8689,15 @@ let
         sha1 = "29c5733148057bb4e1f75df35b7a9cb72e6a59dd";
       };
     };
+    "uglify-js-3.6.0" = {
+      name = "uglify-js";
+      packageName = "uglify-js";
+      version = "3.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz";
+        sha512 = "W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==";
+      };
+    };
     "uglify-to-browserify-1.0.2" = {
       name = "uglify-to-browserify";
       packageName = "uglify-to-browserify";
@@ -9166,13 +8707,13 @@ let
         sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
       };
     };
-    "underscore-1.9.2" = {
+    "underscore-1.9.1" = {
       name = "underscore";
       packageName = "underscore";
-      version = "1.9.2";
+      version = "1.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/underscore/-/underscore-1.9.2.tgz";
-        sha512 = "0fpcm4n2qlycl50j6k3fv7baybnzf1wbsm2ng0vwfsdi40fyvsvvl0k1i427hgpknhj5hbcwff3swckw6wx96kw4dgwvldi56v6lzqg";
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz";
+        sha512 = "5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==";
       };
     };
     "union-value-1.0.1" = {
@@ -9181,7 +8722,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz";
-        sha512 = "1g7i0bs3sa35zpsrr2l3wsz4j6bqpxgm77kg2fdz89irzw6nrk6j93j61wr134mg9rbf039xa4pp1dw0iqfsv15rkf8jn8y2fdxg5xl";
+        sha512 = "tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==";
       };
     };
     "unique-filename-1.1.1" = {
@@ -9190,7 +8731,7 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz";
-        sha512 = "0sp2fs9gsv3l6mc9kdk09z835d54gw04x02dlz9q208mda3f6bmqd4vix4634kv9njvvxcz3iswcj6fwcmszvima7wpv5knia678sjn";
+        sha512 = "Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==";
       };
     };
     "unique-slug-2.0.2" = {
@@ -9199,7 +8740,16 @@ let
       version = "2.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz";
-        sha512 = "3dz3f3rqwqssr86c072j9m8m7l98l20b3i75diqrq5l871d647jmdf7pjjml7l83iqvjnb2frz7h6xbs8rpx3rkvk1h5i6swvsap1ff";
+        sha512 = "zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==";
+      };
+    };
+    "universalify-0.1.2" = {
+      name = "universalify";
+      packageName = "universalify";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz";
+        sha512 = "rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==";
       };
     };
     "unpipe-1.0.0" = {
@@ -9226,7 +8776,7 @@ let
       version = "1.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz";
-        sha512 = "230pbhzxv0jr9n43qhghbsdbsp1rwalc3rclaqscwjaazi35s6vzw9p66s3ypk6yn3jgpmqflda2yh8j2rlypz9vihasfw5m6jhd739";
+        sha512 = "aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==";
       };
     };
     "uri-js-4.2.2" = {
@@ -9235,16 +8785,16 @@ let
       version = "4.2.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz";
-        sha512 = "2fz60s71ghl56ddfiiaws81xpiidlbjk69jyjmahz190d2advy9zdbcwh5if4rgg5hxdbfxhkwiipjrnjy8w834bxsmzambd2p4b3r9";
+        sha512 = "KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==";
       };
     };
-    "urijs-1.19.2" = {
+    "urijs-1.19.1" = {
       name = "urijs";
       packageName = "urijs";
-      version = "1.19.2";
+      version = "1.19.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/urijs/-/urijs-1.19.2.tgz";
-        sha512 = "3mmrbgqk7ihxy43py896gl9cv3q8bapnwfg5vcsd82b5mlkd3qa4i7vfdihpk5c2jxkhz5anm8qxxm31fahfi3xxkcr7q59ssmhixdk";
+        url = "https://registry.npmjs.org/urijs/-/urijs-1.19.1.tgz";
+        sha512 = "xVrGVi94ueCJNrBSTjWqjvtgvl3cyOTThp2zaMaFNGp3F542TR6sM3f2o8RqZl+AwteClSVmoCyt0ka4RjQOQg==";
       };
     };
     "urix-0.1.0" = {
@@ -9271,25 +8821,7 @@ let
       version = "1.4.7";
       src = fetchurl {
         url = "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz";
-        sha512 = "2bdb8rqxq8xd530jx6q8awb1y9idrvd8cfznrlyc1h8j4ra1icxcssfg7qldhssj6dxvibkvx6rnn1ljkjbxi95l58dn1y35ibrlyvp";
-      };
-    };
-    "url-parse-lax-3.0.0" = {
-      name = "url-parse-lax";
-      packageName = "url-parse-lax";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz";
-        sha1 = "16b5cafc07dbe3676c1b1999177823d6503acb0c";
-      };
-    };
-    "url-to-options-1.0.1" = {
-      name = "url-to-options";
-      packageName = "url-to-options";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz";
-        sha1 = "1505a03a289a48cbd7a434efbaeec5055f5633a9";
+        sha512 = "d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==";
       };
     };
     "use-3.1.1" = {
@@ -9298,7 +8830,7 @@ let
       version = "3.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/use/-/use-3.1.1.tgz";
-        sha512 = "2hzzynss1cv7kn1lf40hqk16qmbf38g7a28m27pcg05mg6vpf7sj0gy175fdscz534fxdi14622rmq3sdpib9c5ypjympjfg5ai40bk";
+        sha512 = "cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==";
       };
     };
     "util-0.10.3" = {
@@ -9316,7 +8848,7 @@ let
       version = "0.11.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/util/-/util-0.11.1.tgz";
-        sha512 = "0fpzl6qczbzr5jniy99vgfxz1k4gdfl13lwwhlfysj22rm18ikfici89wpgv34v67ckays1d500fgk2dlzw95zncn9jvkdygjr40a0x";
+        sha512 = "HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==";
       };
     };
     "util-deprecate-1.0.2" = {
@@ -9328,13 +8860,13 @@ let
         sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
       };
     };
-    "util.promisify-1.0.1" = {
+    "util.promisify-1.0.0" = {
       name = "util.promisify";
       packageName = "util.promisify";
-      version = "1.0.1";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz";
-        sha512 = "2n8sxd1qdzc7pn348ayx8jm13kvi9wyjkshzwy1fam3aiy8phv8lbikbli433qvnq3ndnqj8yhcf9dgavm2xv6cvzk7cyy7zl5nkll3";
+        url = "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz";
+        sha512 = "i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==";
       };
     };
     "utils-merge-1.0.1" = {
@@ -9346,22 +8878,22 @@ let
         sha1 = "9f95710f50a267947b2ccc124741c1028427e713";
       };
     };
-    "uuid-3.4.0" = {
+    "uuid-3.3.2" = {
       name = "uuid";
       packageName = "uuid";
-      version = "3.4.0";
+      version = "3.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz";
-        sha512 = "3y9pcli1v8nqryqd2c4pxj9kcv92mjc22z4smg08pdjzrbwda19xmjbzms1dwr04995h4carz9s8mldbiqb8708694lwr501r3q6d0y";
+        url = "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz";
+        sha512 = "yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==";
       };
     };
-    "v8-compile-cache-2.0.3" = {
+    "v8-compile-cache-2.1.0" = {
       name = "v8-compile-cache";
       packageName = "v8-compile-cache";
-      version = "2.0.3";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz";
-        sha512 = "3givf3csckgfmf3aahy2cdnn1wanqnyjhxq52s8mi349v658g9izi20prr2y5m8gxrv69idkvvwp5njwqds49kbyhmkq1hc0iprvn88";
+        url = "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz";
+        sha512 = "usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==";
       };
     };
     "validate-npm-package-license-3.0.4" = {
@@ -9370,7 +8902,7 @@ let
       version = "3.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz";
-        sha512 = "09vn7gn5jp2c07pxplc11lvk7ybfaz0rp3qzflyiyhnahkfgh76bij31ll5rg01ranlmljrky2q25d1f6bbd0h23pzxxi5z93csd4hf";
+        sha512 = "DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==";
       };
     };
     "vary-1.1.2" = {
@@ -9391,13 +8923,13 @@ let
         sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
       };
     };
-    "vm-browserify-1.1.2" = {
+    "vm-browserify-1.1.0" = {
       name = "vm-browserify";
       packageName = "vm-browserify";
-      version = "1.1.2";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz";
-        sha512 = "00japcjqx1df1bgck837ds0xvg5dr7g4j30a38zhbmanqss2kyxs4p7pgmldlnxpa31js50gydy8x9qi89s4x74iidf6k6nfgqsc5ns";
+        url = "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz";
+        sha512 = "iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==";
       };
     };
     "void-elements-2.0.1" = {
@@ -9409,13 +8941,13 @@ let
         sha1 = "c066afb582bb1cb4128d60ea92392e94d5e9dbec";
       };
     };
-    "w3c-hr-time-1.0.2" = {
+    "w3c-hr-time-1.0.1" = {
       name = "w3c-hr-time";
       packageName = "w3c-hr-time";
-      version = "1.0.2";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz";
-        sha512 = "1ykk57cjg94sdr82b43a5q815xrd4yhvpqzdwlpvfi50zv5zw4cincppdbkmizdc4zkmym57s8rqmpj5fpyxjl12kla136dy07gkhyg";
+        url = "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz";
+        sha1 = "82ac2bff63d950ea9e3189a58a65625fedf19045";
       };
     };
     "walker-1.0.7" = {
@@ -9433,7 +8965,7 @@ let
       version = "1.6.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz";
-        sha512 = "34gp4bbaidicl7azgivrrxb9kvdz501gg0xyf88lya75j9wmrbd1rs5rlk2h5g07q5rb453fkjkck54j2qzsdam1qk36bijf5xlg9wb";
+        sha512 = "i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==";
       };
     };
     "wbuf-1.7.3" = {
@@ -9442,7 +8974,7 @@ let
       version = "1.7.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz";
-        sha512 = "066j9njgvk6mkjalv1zf1p8w9m2hrl97vz1iw8q6g9zlplhphz54j5j0ma0x9053zhczbyi3k1nr493vgnx1lk22hdwp2glg8x11kiv";
+        sha512 = "O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==";
       };
     };
     "wcwidth-1.0.1" = {
@@ -9460,52 +8992,52 @@ let
       version = "4.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz";
-        sha512 = "15gwgjh9anvzcissfhxy3gki7jxn1dy9vq5rma1sgwkbbra8wbxnvimwalgmy8anm33x56mfp492akzhs0gidwmbnadx0ck3fdq23v1";
+        sha512 = "YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==";
       };
     };
-    "webpack-4.42.0" = {
+    "webpack-4.35.0" = {
       name = "webpack";
       packageName = "webpack";
-      version = "4.42.0";
+      version = "4.35.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-4.42.0.tgz";
-        sha512 = "3my3qykp4laavc26aad536i8n5h6isv7rnrsv092i7nbyy7dkpi59w3jsxrz7yhbrzwvyiqs78kv8q2plswm8camnc1ij0hzhg52chk";
+        url = "https://registry.npmjs.org/webpack/-/webpack-4.35.0.tgz";
+        sha512 = "M5hL3qpVvtr8d4YaJANbAQBc4uT01G33eDpl/psRTBCfjxFTihdhin1NtAKB1ruDwzeVdcsHHV3NX+QsAgOosw==";
       };
     };
-    "webpack-bundle-analyzer-3.6.1" = {
+    "webpack-bundle-analyzer-3.3.2" = {
       name = "webpack-bundle-analyzer";
       packageName = "webpack-bundle-analyzer";
-      version = "3.6.1";
+      version = "3.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.6.1.tgz";
-        sha512 = "13z3rjpds6nclkfxhf6pdnmp78a485psglljlmzibrlx4anhldzw2rvdwi9hzzjpfpi8d7ihhwc1w8s1k23zgh00xqisjqz7hf7rxrm";
+        url = "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.3.2.tgz";
+        sha512 = "7qvJLPKB4rRWZGjVp5U1KEjwutbDHSKboAl0IfafnrdXMrgC0tOtZbQD6Rw0u4cmpgRN4O02Fc0t8eAT+FgGzA==";
       };
     };
-    "webpack-cli-3.3.11" = {
+    "webpack-cli-3.3.4" = {
       name = "webpack-cli";
       packageName = "webpack-cli";
-      version = "3.3.11";
+      version = "3.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.11.tgz";
-        sha512 = "3i5vq7c9hpjb8z9x68dq56cjmv5hs584vgci6zbc7n0m8y1fk4y1kv4pyrq4q9crlkwirwy6gh5w3q0a2xv43w5q42z1ikvd6x5yybm";
+        url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.4.tgz";
+        sha512 = "ubJGQEKMtBSpT+LiL5hXvn2GIOWiRWItR1DGUqJRhwRBeGhpRXjvF5f0erqdRJLErkfqS5/Ldkkedh4AL5Q1ZQ==";
       };
     };
-    "webpack-dev-middleware-3.7.2" = {
+    "webpack-dev-middleware-3.7.1" = {
       name = "webpack-dev-middleware";
       packageName = "webpack-dev-middleware";
-      version = "3.7.2";
+      version = "3.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz";
-        sha512 = "27qjisacr2wrfj7r3z5hh2x7nrhadc27vg4kcalrdc7rrn8gnnlk64zf1pqmlkffy8klh8r0dr259v1sf6fjm886j5qlqjvpkcbh46p";
+        url = "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.1.tgz";
+        sha512 = "5MWu9SH1z3hY7oHOV6Kbkz5x7hXbxK56mGHNqHTe6d+ewxOwKUxoUJBs7QIaJb33lPjl9bJZ3X0vCoooUzC36A==";
       };
     };
-    "webpack-dev-server-3.10.3" = {
+    "webpack-dev-server-3.7.2" = {
       name = "webpack-dev-server";
       packageName = "webpack-dev-server";
-      version = "3.10.3";
+      version = "3.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.10.3.tgz";
-        sha512 = "1wl6ahwwfvm7620d70by2abmqgvw54mdhr8bxhdnnsvjzincy83rg80vffb1vwm2cvxwdc9qpp7ipq8bqrkf773fi6lbk0qzxxdd2bv";
+        url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.7.2.tgz";
+        sha512 = "mjWtrKJW2T9SsjJ4/dxDC2fkFVUw8jlpemDERqV0ZJIkjjjamR2AbQlr3oz+j4JLhYCHImHnXZK5H06P2wvUew==";
       };
     };
     "webpack-log-1.2.0" = {
@@ -9514,7 +9046,7 @@ let
       version = "1.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz";
-        sha512 = "0f0lcci53li31zhx7vhwaq4di0xvhd0n02rgy54kb4bcq6fzki0lz34s6ldzwf1ppaqw1n6jc3hp64blldhz8ianvbl3rzf54h2gl2k";
+        sha512 = "U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==";
       };
     };
     "webpack-log-2.0.0" = {
@@ -9523,7 +9055,7 @@ let
       version = "2.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz";
-        sha512 = "191qr8nb4rszy53q0ydqfxr1pirimc3k3bi7mhgin5f15cd7vd28maxanyb248kdivmajhji580fv3a1i584icz3cc9bwvzykd0czvi";
+        sha512 = "cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==";
       };
     };
     "webpack-sources-1.4.3" = {
@@ -9532,16 +9064,16 @@ let
       version = "1.4.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz";
-        sha512 = "1wn7ixcv4b15kj3jn4c08n3pgrrd2kgzm2llh9viqx6a6k3j6rqzd5iksxdkalzaz6iic1q4fjj6wr9wfa07llf5a751mkgg3fx414n";
+        sha512 = "lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==";
       };
     };
-    "websocket-1.0.31" = {
+    "websocket-1.0.28" = {
       name = "websocket";
       packageName = "websocket";
-      version = "1.0.31";
+      version = "1.0.28";
       src = fetchurl {
-        url = "https://registry.npmjs.org/websocket/-/websocket-1.0.31.tgz";
-        sha512 = "22yr8a52nsijkqybp8fgzvh69wxrhmcqmcmjvmdwl6m9qix0lxdyakbvznj0wr90nl3mw5j4srhgxp6p8ihipil2j5gha66bfk2w2jl";
+        url = "https://registry.npmjs.org/websocket/-/websocket-1.0.28.tgz";
+        sha512 = "00y/20/80P7H4bCYkzuuvvfDvh+dgtXi5kzDf3UcZwN6boTYaKvsrtZ5lIYm1Gsg48siMErd9M4zjSYfYFHTrA==";
       };
     };
     "websocket-driver-0.7.3" = {
@@ -9550,7 +9082,7 @@ let
       version = "0.7.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz";
-        sha512 = "0b5m603phj37lw5vb70ijc77g29cz7vn1w1bs7rhkx1ax3gil0wys841m14gnm3p95lc630hs370dngh68p7aaq69yqw1yvysb5d73f";
+        sha512 = "bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==";
       };
     };
     "websocket-extensions-0.1.3" = {
@@ -9559,7 +9091,7 @@ let
       version = "0.1.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz";
-        sha512 = "0d1n4yv45ibxf72hj7qka3j7v53dwn58savfiyvsppqhhrgg3g648ykk5v7fpb53hz85kj87m4f45r7d5iazx4yqgs381z6qnfd98cy";
+        sha512 = "nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==";
       };
     };
     "whatwg-encoding-1.0.5" = {
@@ -9568,7 +9100,7 @@ let
       version = "1.0.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz";
-        sha512 = "09x9fa2rb8a6lmwy9hs7z4qn2bsyqw8l2hmfy50z3fa496x3p2xadmlccm8ad17nam5fz77z9mndw2yqp8jpvyw3ryz6f09ksdn56bg";
+        sha512 = "b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==";
       };
     };
     "whatwg-mimetype-2.3.0" = {
@@ -9577,7 +9109,7 @@ let
       version = "2.3.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz";
-        sha512 = "3zaycdfc1hh0i4r1c42vgkzwmlfv8j68d90f6i577735i40hk9p9m790g2z2dlmdkchn2z73yj0zs73fmpjdnx4xwrp80m6pv18r31k";
+        sha512 = "M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==";
       };
     };
     "whatwg-url-6.5.0" = {
@@ -9586,16 +9118,16 @@ let
       version = "6.5.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz";
-        sha512 = "36rzky2jm48j68kfvdhvr0cmbnvr2liaagpnnypc59mlvq4bbcwx9qbdb93hbi4vwx0w287zphiardpmfwyjl2ab58b4k3zmi35j55f";
+        sha512 = "rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==";
       };
     };
-    "whatwg-url-7.1.0" = {
+    "whatwg-url-7.0.0" = {
       name = "whatwg-url";
       packageName = "whatwg-url";
-      version = "7.1.0";
+      version = "7.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz";
-        sha512 = "1xa656b9abn0fnwqaybjm3h5gs9x26cc3zj7jkk5n3865l9d1wqpp461s4l3i2mgbwf90q6psgvbb80lbrmkihbl4xq7bj31m3bnjsr";
+        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz";
+        sha512 = "37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==";
       };
     };
     "which-1.3.1" = {
@@ -9604,7 +9136,7 @@ let
       version = "1.3.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/which/-/which-1.3.1.tgz";
-        sha512 = "0hr4hxkk8yb9fz993bs69pf8z2z2qb6sdpxfxb84sd16lja9fsx444pk1ang1ivmjjv5srnsm6fihdj593w7rwxdh834cdmd9hms4hz";
+        sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==";
       };
     };
     "which-module-2.0.0" = {
@@ -9634,15 +9166,6 @@ let
         sha1 = "fa4daa92daf32c4ea94ed453c81f04686b575dfe";
       };
     };
-    "word-wrap-1.2.3" = {
-      name = "word-wrap";
-      packageName = "word-wrap";
-      version = "1.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz";
-        sha512 = "2ykkqcs7vmimn8dsvs7xl55j0lbbrfj0nij9i7yqnxg9g759vqyrdis8w5n82k6xvas03x0xhgmbzjgsp7v803mzihx9d12vjnfcgqz";
-      };
-    };
     "wordwrap-0.0.2" = {
       name = "wordwrap";
       packageName = "wordwrap";
@@ -9652,13 +9175,22 @@ let
         sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
       };
     };
+    "wordwrap-1.0.0" = {
+      name = "wordwrap";
+      packageName = "wordwrap";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz";
+        sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
+      };
+    };
     "worker-farm-1.7.0" = {
       name = "worker-farm";
       packageName = "worker-farm";
       version = "1.7.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz";
-        sha512 = "37m9wq9rvylb71n9kw3qghinwa3x4sggz82k29aall83izni78ijnh8rd6nhas8advw0lbnhby8z74vjlhp3sjsr4qm1wjw6r0kgz5f";
+        sha512 = "rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==";
       };
     };
     "wrap-ansi-2.1.0" = {
@@ -9676,7 +9208,7 @@ let
       version = "5.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz";
-        sha512 = "3nmsfqfd98a7bgjyhd334y5gzc98nnkipfkmk2z1v4m0acagmpq951d8brmrsxvpnk256fbrp7zkn5n8v02pn4q4zai7zgnvy47yba0";
+        sha512 = "QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==";
       };
     };
     "wrappy-1.0.2" = {
@@ -9694,7 +9226,7 @@ let
       version = "2.4.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz";
-        sha512 = "2zcd4w8bmjv2qg25v2ysnj63r717jb6zmrh2f4c92r0dh0zwj3ybyzg5h619b4adxksn67cg8y5pgn43hq7wl8ih3z7nchrj5wwaqac";
+        sha512 = "TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==";
       };
     };
     "ws-5.2.2" = {
@@ -9703,7 +9235,7 @@ let
       version = "5.2.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz";
-        sha512 = "0f6ay7yn6xslzh3h66d5krqnp48d9g3ikwk0ijiyyxfkwaqxxf3b0qdswy6ych79mj44315qd16snlnk6m6npc5l0habgy5lc7wb8cd";
+        sha512 = "jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==";
       };
     };
     "ws-6.2.1" = {
@@ -9712,7 +9244,7 @@ let
       version = "6.2.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz";
-        sha512 = "2l27cfiaw6syjvy6vbpqf5c2swd37bqviizzck6842xlankppm9j1sg79x3m8jpda8v6khcpnm5ssab1b8vf34qpviv41ww5mf8130q";
+        sha512 = "GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==";
       };
     };
     "xml-name-validator-3.0.0" = {
@@ -9721,7 +9253,7 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz";
-        sha512 = "0zzh3xf5vk49fghwrf83qvq6v98qin1brnwd7yyh7qs05gc1w3xni0w17sj33534jrkm2za7wkm4q5rhgpchds54i5grcj3vjk99403";
+        sha512 = "A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==";
       };
     };
     "xtend-4.0.2" = {
@@ -9730,7 +9262,7 @@ let
       version = "4.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz";
-        sha512 = "08w1d6fg23v422cfwd55306pfs9n9cqpz6hycahq3adm3n29wmhl9bmpn4vk75rlzgwn7hp4n3idqxvw8c53zbr04h7a98p43b199ic";
+        sha512 = "LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==";
       };
     };
     "y18n-4.0.0" = {
@@ -9739,7 +9271,7 @@ let
       version = "4.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz";
-        sha512 = "3zj75gvpcgiphxpci4ji1znykk9n4cs0aw3dd6inwdvkmxyqn2483vya70lssjwq8alspnpw88vgii21fdrcn2vmfyppzgf4mkvzm5g";
+        sha512 = "r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==";
       };
     };
     "yaeti-0.0.6" = {
@@ -9760,13 +9292,13 @@ let
         sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52";
       };
     };
-    "yallist-3.1.1" = {
+    "yallist-3.1.0" = {
       name = "yallist";
       packageName = "yallist";
-      version = "3.1.1";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz";
-        sha512 = "3ig31a6zfbdlrs3l77a8avpp17hajryhyq2xk4h3ayc4dmxch146rdk7q1s1jgx9qvmxq125r0xq2bvnq0rq63m75k9y7wglm0hd1bb";
+        url = "https://registry.npmjs.org/yallist/-/yallist-3.1.0.tgz";
+        sha512 = "6gpP93MR+VOOehKbCPchro3wFZNSNmek8A2kbkOAZLIZAYx1KP/zAqwO0sOHi3xJEb+UBz8NaYt/17UNit1Q9w==";
       };
     };
     "yargs-12.0.5" = {
@@ -9775,25 +9307,16 @@ let
       version = "12.0.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz";
-        sha512 = "1kjmh68p4rb4c04s0gk4ra20crfr32h6v9zhj4clrz61xanslza9g3drbf6471mmvqq3vmxk04grmgillx1rsp6v2zim7wqnr6gq71f";
-      };
-    };
-    "yargs-13.2.4" = {
-      name = "yargs";
-      packageName = "yargs";
-      version = "13.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz";
-        sha512 = "2ba88a0fmf5k7dddcbkyhlmh7pijzczza486f2vq9pyw739r7q4yy2xmv4hk8w4ibrj4sjgf6zw01phb89h4j9z3lkz1m2s09cc6vqw";
+        sha512 = "Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==";
       };
     };
-    "yargs-13.3.2" = {
+    "yargs-13.3.0" = {
       name = "yargs";
       packageName = "yargs";
-      version = "13.3.2";
+      version = "13.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz";
-        sha512 = "19rg5b2rhj2kg44as5vv9jxmpr39lw250885w6nlfwyhvwd5nxnnx7fc35v7h615i65cik7k3wi7ac20c91kcgfi5wy7blgk31xjz81";
+        url = "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz";
+        sha512 = "2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==";
       };
     };
     "yargs-3.10.0" = {
@@ -9811,7 +9334,7 @@ let
       version = "10.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz";
-        sha512 = "1nj7f7y3kyrc1ijsgnaf4mdkxhxy38lnckavl6inh9wwzhx12xfmgq0n45x4fbj0y6rd1zhjv57l49qm07kqfd9a9cl1809bi3k48jl";
+        sha512 = "VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==";
       };
     };
     "yargs-parser-11.1.1" = {
@@ -9820,16 +9343,25 @@ let
       version = "11.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz";
-        sha512 = "14iaywclwncdp3p7878q12cqgdc5rbkl0f6ghi9g7k7f4f1bbqi41dc5ki6hnqmy6jbfk0kx88m47vk3igrql5j6i7ar2a3cbyh3a8b";
+        sha512 = "C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==";
       };
     };
-    "yargs-parser-13.1.2" = {
+    "yargs-parser-13.1.1" = {
       name = "yargs-parser";
       packageName = "yargs-parser";
-      version = "13.1.2";
+      version = "13.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz";
+        sha512 = "oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==";
+      };
+    };
+    "yarn-1.16.0" = {
+      name = "yarn";
+      packageName = "yarn";
+      version = "1.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz";
-        sha512 = "375nan6m28q81h8q9a8vmcxgiq7s81yn1ql7zdikac0c4j2kmxdjzmbq14fcp9jm4ilcfzkd9ym4x7c80s7r6g488wf13zz2wsyqmny";
+        url = "https://registry.npmjs.org/yarn/-/yarn-1.16.0.tgz";
+        sha512 = "cfemyGlnWKA1zopUUgebTPf8C4WkPIZ+TJmklwcEAJ4u6oWPtJeAzrsamaGGh/+b1XWe8W51yzAImC4AWbWR1g==";
       };
     };
     "ylru-1.2.1" = {
@@ -9838,68 +9370,61 @@ let
       version = "1.2.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz";
-        sha512 = "2yw1b7v991krvw6f597i39x9sqp12qxlfnqz8zd75x00m7jp2a08b2zivbx59b5ih7ka14swqmpfk9ni2inkdjh363z0w1ksfl2p93x";
+        sha512 = "faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==";
       };
     };
   };
-in
-{
-  "spacegun-git+https://github.com/dvallin/spacegun.git#v0.3.3" = nodeEnv.buildNodePackage {
+  args = {
     name = "spacegun";
     packageName = "spacegun";
     version = "0.3.3";
-    src = fetchgit {
-      url = "https://github.com/dvallin/spacegun.git";
-      rev = "d32d2df34362f6744e8cff34c2d2bf6ce8b4662a";
-      sha256 = "589bfc9e3e26af38989144e8551547cbeb5ffc9a0b668a7a4cb211a2ebf7a931";
-    };
+    src = ./.;
     dependencies = [
-      sources."@babel/code-frame-7.8.3"
-      (sources."@babel/core-7.8.7" // {
+      sources."@babel/code-frame-7.5.5"
+      (sources."@babel/core-7.6.2" // {
         dependencies = [
           sources."debug-4.1.1"
-          sources."json5-2.1.1"
-          sources."minimist-1.2.5"
+          sources."json5-2.1.0"
+          sources."lodash-4.17.15"
           sources."ms-2.1.2"
           sources."source-map-0.5.7"
         ];
       })
-      (sources."@babel/generator-7.8.8" // {
+      (sources."@babel/generator-7.6.2" // {
         dependencies = [
           sources."jsesc-2.5.2"
+          sources."lodash-4.17.15"
           sources."source-map-0.5.7"
         ];
       })
-      sources."@babel/helper-function-name-7.8.3"
-      sources."@babel/helper-get-function-arity-7.8.3"
-      sources."@babel/helper-plugin-utils-7.8.3"
-      sources."@babel/helper-split-export-declaration-7.8.3"
-      sources."@babel/helpers-7.8.4"
-      (sources."@babel/highlight-7.8.3" // {
+      sources."@babel/helper-function-name-7.1.0"
+      sources."@babel/helper-get-function-arity-7.0.0"
+      sources."@babel/helper-plugin-utils-7.0.0"
+      sources."@babel/helper-split-export-declaration-7.4.4"
+      sources."@babel/helpers-7.6.2"
+      (sources."@babel/highlight-7.5.0" // {
         dependencies = [
           sources."js-tokens-4.0.0"
         ];
       })
-      sources."@babel/parser-7.8.8"
-      sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
-      sources."@babel/template-7.8.6"
-      (sources."@babel/traverse-7.8.6" // {
+      sources."@babel/parser-7.6.2"
+      sources."@babel/plugin-syntax-object-rest-spread-7.2.0"
+      sources."@babel/template-7.6.0"
+      (sources."@babel/traverse-7.6.2" // {
         dependencies = [
           sources."debug-4.1.1"
           sources."globals-11.12.0"
+          sources."lodash-4.17.15"
           sources."ms-2.1.2"
         ];
       })
-      (sources."@babel/types-7.8.7" // {
+      (sources."@babel/types-7.6.1" // {
         dependencies = [
+          sources."lodash-4.17.15"
           sources."to-fast-properties-2.0.0"
         ];
       })
-      (sources."@cnakazawa/watch-1.0.4" // {
-        dependencies = [
-          sources."minimist-1.2.5"
-        ];
-      })
+      sources."@cnakazawa/watch-1.0.3"
       (sources."@jest/console-24.9.0" // {
         dependencies = [
           sources."slash-2.0.0"
@@ -9907,7 +9432,9 @@ in
       })
       (sources."@jest/core-24.9.0" // {
         dependencies = [
+          sources."ansi-regex-4.1.0"
           sources."slash-2.0.0"
+          sources."strip-ansi-5.2.0"
         ];
       })
       sources."@jest/environment-24.9.0"
@@ -9926,65 +9453,62 @@ in
         ];
       })
       sources."@jest/types-24.9.0"
-      (sources."@kubernetes/client-node-0.10.3" // {
+      (sources."@kubernetes/client-node-0.10.1" // {
         dependencies = [
-          sources."@types/node-10.17.17"
+          sources."@types/node-10.14.19"
         ];
       })
-      sources."@sindresorhus/is-0.7.0"
       sources."@types/accepts-1.3.5"
       sources."@types/axios-0.14.0"
       sources."@types/babel-types-7.0.7"
-      sources."@types/babel__core-7.1.6"
-      sources."@types/babel__generator-7.6.1"
+      sources."@types/babel__core-7.1.3"
+      sources."@types/babel__generator-7.6.0"
       sources."@types/babel__template-7.0.2"
-      sources."@types/babel__traverse-7.0.9"
+      sources."@types/babel__traverse-7.0.7"
       sources."@types/babylon-6.16.5"
-      sources."@types/body-parser-1.19.0"
+      sources."@types/body-parser-1.17.1"
       sources."@types/caseless-0.12.2"
       sources."@types/command-line-args-5.0.0"
-      sources."@types/connect-3.4.33"
-      sources."@types/cookies-0.7.4"
-      sources."@types/cron-1.7.2"
+      sources."@types/connect-3.4.32"
+      sources."@types/cookies-0.7.3"
+      sources."@types/cron-1.7.1"
       sources."@types/events-3.0.0"
-      sources."@types/express-4.17.3"
-      sources."@types/express-serve-static-core-4.17.2"
+      sources."@types/express-4.17.1"
+      sources."@types/express-serve-static-core-4.16.9"
+      sources."@types/form-data-2.5.0"
       sources."@types/formidable-1.0.31"
       sources."@types/glob-7.1.1"
       sources."@types/http-assert-1.5.1"
       sources."@types/istanbul-lib-coverage-2.0.1"
-      sources."@types/istanbul-lib-report-3.0.0"
+      sources."@types/istanbul-lib-report-1.1.1"
       sources."@types/istanbul-reports-1.1.1"
-      sources."@types/jest-24.9.1"
-      sources."@types/js-yaml-3.12.2"
-      sources."@types/keygrip-1.0.2"
-      sources."@types/koa-2.11.2"
-      sources."@types/koa-compose-3.2.5"
-      sources."@types/koa-router-7.4.0"
+      sources."@types/jest-24.0.15"
+      sources."@types/jest-diff-20.0.1"
+      sources."@types/js-yaml-3.12.1"
+      sources."@types/keygrip-1.0.1"
+      sources."@types/koa-2.0.48"
+      sources."@types/koa-compose-3.2.4"
+      sources."@types/koa-router-7.0.41"
       sources."@types/koa-send-4.1.2"
       sources."@types/koa-static-4.0.1"
-      sources."@types/koa-views-2.0.4"
-      sources."@types/lodash-4.14.149"
+      sources."@types/koa-views-2.0.3"
+      sources."@types/lodash-4.14.140"
       sources."@types/lodash.clonedeep-4.5.6"
       sources."@types/mime-2.0.1"
       sources."@types/minimatch-3.0.3"
       sources."@types/mkdirp-0.5.2"
-      sources."@types/node-12.12.30"
+      sources."@types/node-12.0.8"
       sources."@types/ora-3.2.0"
       sources."@types/range-parser-1.2.3"
-      (sources."@types/request-2.48.4" // {
-        dependencies = [
-          sources."form-data-2.5.1"
-        ];
-      })
+      sources."@types/request-2.48.1"
       sources."@types/serve-static-1.13.3"
       sources."@types/stack-utils-1.0.1"
-      sources."@types/tough-cookie-2.3.6"
-      sources."@types/underscore-1.9.4"
+      sources."@types/tough-cookie-2.3.5"
+      sources."@types/underscore-1.9.3"
       sources."@types/websocket-0.0.40"
-      sources."@types/ws-6.0.4"
-      sources."@types/yargs-13.0.8"
-      sources."@types/yargs-parser-15.0.0"
+      sources."@types/ws-6.0.3"
+      sources."@types/yargs-13.0.3"
+      sources."@types/yargs-parser-13.1.0"
       sources."@webassemblyjs/ast-1.8.5"
       sources."@webassemblyjs/floating-point-hex-parser-1.8.5"
       sources."@webassemblyjs/helper-api-error-1.8.5"
@@ -10005,25 +9529,25 @@ in
       sources."@webassemblyjs/wast-printer-1.8.5"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."abab-2.0.3"
+      sources."abab-2.0.2"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.7"
-      sources."acorn-3.3.0"
+      sources."acorn-5.7.3"
+      sources."acorn-dynamic-import-4.0.0"
       (sources."acorn-globals-3.1.0" // {
         dependencies = [
           sources."acorn-4.0.13"
         ];
       })
       sources."acorn-walk-6.2.0"
-      sources."aggregate-error-1.0.0"
-      sources."ajv-6.12.0"
+      sources."ajv-6.10.0"
       sources."ajv-errors-1.0.1"
       sources."ajv-keywords-3.4.1"
       sources."align-text-0.1.4"
       sources."ansi-colors-3.2.4"
       sources."ansi-escapes-3.2.0"
       sources."ansi-html-0.0.7"
-      sources."ansi-regex-4.1.0"
+      sources."ansi-regex-2.1.1"
       sources."ansi-styles-3.2.1"
       sources."any-promise-1.3.0"
       sources."anymatch-2.0.0"
@@ -10050,28 +9574,28 @@ in
       sources."assert-plus-1.0.0"
       sources."assign-symbols-1.0.0"
       sources."astral-regex-1.0.0"
-      sources."async-2.6.3"
+      sources."async-1.5.2"
       sources."async-each-1.0.3"
-      sources."async-limiter-1.0.1"
+      sources."async-limiter-1.0.0"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."awesome-typescript-loader-5.2.1"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.9.1"
-      sources."axios-0.19.2"
+      sources."aws4-1.8.0"
+      (sources."axios-0.19.0" // {
+        dependencies = [
+          sources."is-buffer-2.0.3"
+        ];
+      })
       sources."babel-6.23.0"
       (sources."babel-code-frame-6.26.0" // {
         dependencies = [
-          sources."ansi-regex-2.1.1"
           sources."ansi-styles-2.2.1"
           sources."chalk-1.1.3"
-          sources."strip-ansi-3.0.1"
-          sources."supports-color-2.0.0"
         ];
       })
       (sources."babel-core-6.26.3" // {
         dependencies = [
-          sources."debug-2.6.9"
           sources."json5-0.5.1"
           sources."source-map-0.5.7"
         ];
@@ -10093,7 +9617,7 @@ in
       sources."babel-helper-remap-async-to-generator-6.24.1"
       sources."babel-helper-replace-supers-6.24.1"
       sources."babel-helpers-6.24.1"
-      (sources."babel-jest-24.9.0" // {
+      (sources."babel-jest-24.8.0" // {
         dependencies = [
           sources."slash-2.0.0"
         ];
@@ -10141,38 +9665,28 @@ in
       })
       sources."babel-runtime-6.26.0"
       sources."babel-template-6.26.0"
-      (sources."babel-traverse-6.26.0" // {
-        dependencies = [
-          sources."debug-2.6.9"
-        ];
-      })
+      sources."babel-traverse-6.26.0"
       sources."babel-types-6.26.0"
       sources."babylon-6.18.0"
       sources."balanced-match-1.0.0"
       (sources."base-0.11.2" // {
         dependencies = [
           sources."define-property-1.0.0"
+          sources."is-accessor-descriptor-1.0.0"
+          sources."is-data-descriptor-1.0.0"
+          sources."is-descriptor-1.0.2"
+          sources."kind-of-6.0.2"
         ];
       })
       sources."base64-js-1.3.1"
-      sources."base64url-3.0.1"
       sources."batch-0.6.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."bfj-6.1.2"
       sources."big.js-5.2.2"
       sources."binary-extensions-1.13.1"
-      sources."bindings-1.5.0"
-      sources."bluebird-3.7.2"
+      sources."bluebird-3.5.5"
       sources."bn.js-4.11.8"
-      (sources."body-parser-1.19.0" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."http-errors-1.7.2"
-          sources."inherits-2.0.3"
-          sources."qs-6.7.0"
-          sources."raw-body-2.4.0"
-        ];
-      })
+      sources."body-parser-1.19.0"
       (sources."bonjour-3.5.0" // {
         dependencies = [
           sources."array-flatten-2.1.2"
@@ -10181,7 +9695,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."braces-2.3.2"
       sources."brorand-1.1.0"
-      sources."browser-process-hrtime-1.0.0"
+      sources."browser-process-hrtime-0.1.3"
       (sources."browser-resolve-1.11.3" // {
         dependencies = [
           sources."resolve-1.1.7"
@@ -10195,35 +9709,27 @@ in
       sources."browserify-zlib-0.2.0"
       sources."browserslist-3.2.8"
       sources."bs-logger-0.2.6"
-      sources."bser-2.1.1"
-      sources."buffer-4.9.2"
+      sources."bser-2.1.0"
+      sources."buffer-4.9.1"
       sources."buffer-from-1.1.1"
       sources."buffer-indexof-1.1.1"
       sources."buffer-xor-1.0.3"
       sources."builtin-status-codes-3.0.0"
-      sources."byline-5.0.0"
       sources."bytes-3.1.0"
-      (sources."cacache-10.0.4" // {
-        dependencies = [
-          sources."lru-cache-4.1.5"
-          sources."yallist-2.1.2"
-        ];
-      })
+      sources."cacache-10.0.4"
       sources."cache-base-1.0.1"
       sources."cache-content-type-1.0.1"
-      (sources."cacheable-request-2.1.4" // {
-        dependencies = [
-          sources."get-stream-3.0.0"
-          sources."lowercase-keys-1.0.0"
-        ];
-      })
       sources."callsites-3.1.0"
-      sources."camelcase-1.2.1"
-      sources."caniuse-lite-1.0.30001035"
+      sources."camelcase-5.3.1"
+      sources."caniuse-lite-1.0.30000997"
       sources."capture-exit-2.0.0"
       sources."caseless-0.12.0"
       sources."center-align-0.1.3"
-      sources."chalk-2.4.2"
+      (sources."chalk-2.4.2" // {
+        dependencies = [
+          sources."supports-color-5.5.0"
+        ];
+      })
       sources."character-parser-2.2.0"
       sources."check-types-8.0.3"
       (sources."chokidar-2.1.8" // {
@@ -10231,34 +9737,25 @@ in
           sources."normalize-path-3.0.0"
         ];
       })
-      sources."chownr-1.1.4"
+      sources."chownr-1.1.3"
       sources."chrome-trace-event-1.0.2"
       sources."ci-info-2.0.0"
       sources."cipher-base-1.0.4"
       (sources."class-utils-0.3.6" // {
         dependencies = [
           sources."define-property-0.2.5"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
         ];
       })
-      sources."clean-css-4.2.3"
-      sources."clean-stack-1.3.0"
+      sources."clean-css-4.2.1"
       sources."cli-cursor-2.1.0"
       sources."cli-spinners-2.2.0"
-      sources."cliui-2.1.0"
+      (sources."cliui-5.0.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
       sources."clone-1.0.4"
-      sources."clone-response-1.0.2"
       sources."co-4.6.0"
       sources."co-body-5.2.0"
       sources."code-point-at-1.1.0"
@@ -10267,15 +9764,13 @@ in
       sources."color-name-1.1.3"
       sources."combined-stream-1.0.8"
       sources."command-line-args-5.1.1"
-      sources."commander-2.20.3"
+      sources."commander-2.20.0"
       sources."commondir-1.0.1"
       sources."component-emitter-1.3.0"
-      sources."compressible-2.0.18"
+      sources."compressible-2.0.17"
       (sources."compression-1.7.4" // {
         dependencies = [
           sources."bytes-3.0.0"
-          sources."debug-2.6.9"
-          sources."safe-buffer-5.1.2"
         ];
       })
       sources."concat-map-0.0.1"
@@ -10283,28 +9778,16 @@ in
       sources."condense-newlines-0.2.1"
       sources."config-chain-1.1.12"
       sources."connect-history-api-fallback-1.6.0"
-      sources."console-browserify-1.2.0"
+      sources."console-browserify-1.1.0"
       sources."consolidate-0.15.1"
       sources."constantinople-3.1.2"
       sources."constants-browserify-1.0.0"
-      (sources."content-disposition-0.5.3" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
+      sources."content-disposition-0.5.3"
       sources."content-type-1.0.4"
-      (sources."convert-source-map-1.7.0" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
+      sources."convert-source-map-1.6.0"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      (sources."cookies-0.8.0" // {
-        dependencies = [
-          sources."depd-2.0.0"
-        ];
-      })
+      sources."cookies-0.7.3"
       sources."copy-concurrently-1.0.5"
       sources."copy-descriptor-0.1.1"
       (sources."copy-webpack-plugin-4.6.0" // {
@@ -10313,12 +9796,12 @@ in
           sources."p-try-1.0.0"
         ];
       })
-      sources."core-js-2.6.11"
+      sources."core-js-2.6.9"
       sources."core-util-is-1.0.2"
       sources."create-ecdh-4.0.3"
       sources."create-hash-1.2.0"
       sources."create-hmac-1.1.7"
-      sources."cron-1.8.2"
+      sources."cron-1.7.1"
       sources."cross-spawn-6.0.5"
       sources."crypto-browserify-3.12.0"
       sources."cssom-0.3.8"
@@ -10328,19 +9811,26 @@ in
       sources."dashdash-1.14.1"
       (sources."data-urls-1.1.0" // {
         dependencies = [
-          sources."whatwg-url-7.1.0"
+          sources."whatwg-url-7.0.0"
         ];
       })
-      sources."debug-3.1.0"
+      sources."date-now-0.1.4"
+      sources."debug-2.6.9"
       sources."decamelize-1.2.0"
       sources."decode-uri-component-0.2.0"
-      sources."decompress-response-3.3.0"
       sources."deep-equal-1.0.1"
       sources."deep-is-0.1.3"
       sources."default-gateway-4.2.0"
       sources."defaults-1.0.3"
       sources."define-properties-1.1.3"
-      sources."define-property-2.0.2"
+      (sources."define-property-2.0.2" // {
+        dependencies = [
+          sources."is-accessor-descriptor-1.0.0"
+          sources."is-data-descriptor-1.0.0"
+          sources."is-descriptor-1.0.2"
+          sources."kind-of-6.0.2"
+        ];
+      })
       (sources."del-4.1.1" // {
         dependencies = [
           (sources."globby-6.1.0" // {
@@ -10354,7 +9844,7 @@ in
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."depd-1.1.2"
-      sources."des.js-1.0.1"
+      sources."des.js-1.0.0"
       sources."destroy-1.0.4"
       sources."detect-file-1.0.0"
       sources."detect-indent-4.0.0"
@@ -10370,80 +9860,56 @@ in
       sources."domain-browser-1.2.0"
       sources."domexception-1.0.1"
       sources."duplexer-0.1.1"
-      sources."duplexer3-0.1.4"
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
-      (sources."editorconfig-0.15.3" // {
-        dependencies = [
-          sources."lru-cache-4.1.5"
-          sources."yallist-2.1.2"
-        ];
-      })
+      sources."editorconfig-0.15.3"
       sources."ee-first-1.1.1"
-      sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.3.376"
-      sources."elliptic-6.5.2"
+      sources."ejs-2.7.1"
+      sources."electron-to-chromium-1.3.267"
+      sources."elliptic-6.5.1"
       sources."emoji-regex-7.0.3"
-      sources."emojis-list-3.0.0"
+      sources."emojis-list-2.1.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
-      sources."enhanced-resolve-4.1.1"
+      sources."enhanced-resolve-4.1.0"
       sources."errno-0.1.7"
       sources."error-ex-1.3.2"
       sources."error-inject-1.0.0"
-      sources."es-abstract-1.17.4"
-      sources."es-to-primitive-1.2.1"
-      sources."es5-ext-0.10.53"
+      sources."es-abstract-1.14.2"
+      sources."es-to-primitive-1.2.0"
+      sources."es5-ext-0.10.51"
       sources."es6-iterator-2.0.3"
-      sources."es6-promise-4.2.8"
-      sources."es6-symbol-3.1.3"
+      sources."es6-symbol-3.1.2"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
-      sources."escodegen-1.14.1"
+      (sources."escodegen-1.12.0" // {
+        dependencies = [
+          sources."esprima-3.1.3"
+        ];
+      })
       sources."eslint-scope-4.0.3"
       sources."esprima-4.0.1"
       sources."esrecurse-4.2.1"
       sources."estraverse-4.3.0"
-      sources."esutils-2.0.3"
+      sources."esutils-2.0.2"
       sources."etag-1.8.1"
       sources."eventemitter3-4.0.0"
-      sources."events-3.1.0"
+      sources."events-3.0.0"
       sources."eventsource-1.0.7"
       sources."evp_bytestokey-1.0.3"
-      sources."exec-sh-0.3.4"
+      sources."exec-sh-0.3.2"
       sources."execa-1.0.0"
       sources."exit-0.1.2"
       (sources."expand-brackets-2.1.4" // {
         dependencies = [
-          sources."debug-2.6.9"
           sources."define-property-0.2.5"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
         ];
       })
       sources."expand-tilde-2.0.2"
       sources."expect-24.9.0"
       (sources."express-4.17.1" // {
         dependencies = [
-          sources."debug-2.6.9"
           sources."path-to-regexp-0.1.7"
-          sources."qs-6.7.0"
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      (sources."ext-1.4.0" // {
-        dependencies = [
-          sources."type-2.0.0"
         ];
       })
       sources."extend-3.0.2"
@@ -10451,72 +9917,65 @@ in
       (sources."extglob-2.0.4" // {
         dependencies = [
           sources."define-property-1.0.0"
+          sources."is-accessor-descriptor-1.0.0"
+          sources."is-data-descriptor-1.0.0"
+          sources."is-descriptor-1.0.2"
+          sources."kind-of-6.0.2"
         ];
       })
       sources."extsprintf-1.3.0"
-      sources."fast-deep-equal-3.1.1"
-      sources."fast-json-stable-stringify-2.1.0"
+      sources."fast-deep-equal-2.0.1"
+      sources."fast-json-stable-stringify-2.0.0"
       sources."fast-levenshtein-2.0.6"
       sources."faye-websocket-0.10.0"
-      sources."fb-watchman-2.0.1"
+      sources."fb-watchman-2.0.0"
       sources."figgy-pudding-3.5.1"
-      sources."file-uri-to-path-1.0.0"
       sources."filesize-3.6.1"
       sources."fill-range-4.0.0"
-      (sources."finalhandler-1.1.2" // {
-        dependencies = [
-          sources."debug-2.6.9"
-        ];
-      })
+      sources."finalhandler-1.1.2"
       sources."find-cache-dir-1.0.0"
       sources."find-replace-3.0.0"
       sources."find-up-3.0.0"
-      sources."findup-sync-3.0.0"
+      (sources."findup-sync-2.0.0" // {
+        dependencies = [
+          sources."is-glob-3.1.0"
+        ];
+      })
       sources."flush-write-stream-1.1.1"
-      sources."follow-redirects-1.5.10"
+      (sources."follow-redirects-1.5.10" // {
+        dependencies = [
+          sources."debug-3.1.0"
+        ];
+      })
       sources."for-in-1.0.2"
       sources."forever-agent-0.6.1"
-      sources."form-data-2.3.3"
-      sources."formidable-1.2.2"
+      sources."form-data-2.5.1"
+      sources."formidable-1.2.1"
       sources."forwarded-0.1.2"
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
       sources."from2-2.3.0"
+      sources."fs-extra-4.0.3"
       sources."fs-write-stream-atomic-1.0.10"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.11"
+      sources."fsevents-1.2.9"
       sources."function-bind-1.1.1"
-      sources."gensync-1.0.0-beta.1"
       sources."get-caller-file-2.0.5"
-      (sources."get-paths-0.0.7" // {
-        dependencies = [
-          sources."pify-4.0.1"
-        ];
-      })
+      sources."get-paths-0.0.4"
       sources."get-stream-4.1.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
-      sources."glob-7.1.6"
+      sources."glob-7.1.4"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
         ];
       })
-      (sources."global-modules-2.0.0" // {
-        dependencies = [
-          sources."global-prefix-3.0.0"
-          sources."kind-of-6.0.3"
-        ];
-      })
+      sources."global-modules-1.0.0"
       sources."global-prefix-1.0.2"
       sources."globals-9.18.0"
       sources."globby-7.1.1"
-      (sources."got-8.3.2" // {
-        dependencies = [
-          sources."get-stream-3.0.0"
-        ];
-      })
-      sources."graceful-fs-4.2.3"
+      sources."graceful-fs-4.1.15"
       sources."growly-1.3.0"
       (sources."gzip-size-5.1.1" // {
         dependencies = [
@@ -10524,18 +9983,17 @@ in
         ];
       })
       sources."handle-thing-2.0.0"
-      sources."har-schema-2.0.0"
-      sources."har-validator-5.1.3"
-      sources."has-1.0.3"
-      (sources."has-ansi-2.0.0" // {
+      (sources."handlebars-4.3.3" // {
         dependencies = [
-          sources."ansi-regex-2.1.1"
+          sources."uglify-js-3.6.0"
         ];
       })
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.1.3"
+      sources."has-1.0.3"
+      sources."has-ansi-2.0.0"
       sources."has-flag-3.0.0"
-      sources."has-symbol-support-x-1.4.2"
-      sources."has-symbols-1.0.1"
-      sources."has-to-string-tag-x-1.4.1"
+      sources."has-symbols-1.0.0"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -10548,15 +10006,13 @@ in
       sources."home-or-tmp-2.0.0"
       sources."homedir-polyfill-1.0.3"
       sources."hoopy-0.1.4"
-      sources."hosted-git-info-2.8.8"
+      sources."hosted-git-info-2.8.4"
       sources."hpack.js-2.1.6"
       sources."html-encoding-sniffer-1.0.2"
       sources."html-entities-1.2.1"
-      sources."html-escaper-2.0.0"
       sources."http-assert-1.4.1"
-      sources."http-cache-semantics-3.8.1"
       sources."http-deceiver-1.2.7"
-      sources."http-errors-1.7.3"
+      sources."http-errors-1.7.2"
       sources."http-parser-js-0.4.10"
       sources."http-proxy-1.18.0"
       sources."http-proxy-middleware-0.19.1"
@@ -10572,40 +10028,29 @@ in
         ];
       })
       sources."imurmurhash-0.1.4"
-      sources."indent-string-3.2.0"
       sources."infer-owner-1.0.4"
       sources."inflation-2.0.0"
       sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
+      sources."inherits-2.0.3"
       sources."ini-1.3.5"
       sources."internal-ip-4.3.0"
       sources."interpret-1.2.0"
-      sources."into-stream-3.1.0"
       sources."invariant-2.2.4"
       sources."invert-kv-2.0.0"
       sources."ip-1.1.5"
       sources."ip-regex-2.1.0"
-      sources."ipaddr.js-1.9.1"
-      sources."is-absolute-url-3.0.3"
-      (sources."is-accessor-descriptor-1.0.0" // {
-        dependencies = [
-          sources."kind-of-6.0.3"
-        ];
-      })
+      sources."ipaddr.js-1.9.0"
+      sources."is-accessor-descriptor-0.1.6"
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.1.5"
+      sources."is-callable-1.1.4"
       sources."is-ci-2.0.0"
-      (sources."is-data-descriptor-1.0.0" // {
-        dependencies = [
-          sources."kind-of-6.0.3"
-        ];
-      })
-      sources."is-date-object-1.0.2"
-      (sources."is-descriptor-1.0.2" // {
+      sources."is-data-descriptor-0.1.4"
+      sources."is-date-object-1.0.1"
+      (sources."is-descriptor-0.1.6" // {
         dependencies = [
-          sources."kind-of-6.0.3"
+          sources."kind-of-5.1.0"
         ];
       })
       (sources."is-expression-3.0.0" // {
@@ -10615,23 +10060,20 @@ in
       })
       sources."is-extendable-0.1.1"
       sources."is-extglob-2.1.1"
-      sources."is-finite-1.1.0"
+      sources."is-finite-1.0.2"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-generator-fn-2.1.0"
       sources."is-generator-function-1.0.7"
       sources."is-glob-4.0.1"
       sources."is-number-3.0.0"
-      sources."is-object-1.0.1"
       sources."is-path-cwd-2.2.0"
       sources."is-path-in-cwd-2.1.0"
       sources."is-path-inside-2.1.0"
-      sources."is-plain-obj-1.1.0"
       sources."is-plain-object-2.0.4"
       sources."is-promise-2.1.0"
-      sources."is-regex-1.0.5"
-      sources."is-retry-allowed-1.2.0"
+      sources."is-regex-1.0.4"
       sources."is-stream-1.1.0"
-      sources."is-symbol-1.0.3"
+      sources."is-symbol-1.0.2"
       sources."is-typedarray-1.0.0"
       sources."is-whitespace-0.3.0"
       sources."is-windows-1.0.2"
@@ -10662,17 +10104,19 @@ in
           sources."pify-4.0.1"
         ];
       })
-      sources."istanbul-reports-2.2.7"
-      sources."isurl-1.0.0"
-      sources."jest-24.9.0"
+      sources."istanbul-reports-2.2.6"
+      (sources."jest-24.8.0" // {
+        dependencies = [
+          sources."jest-cli-24.9.0"
+        ];
+      })
       sources."jest-changed-files-24.9.0"
-      (sources."jest-cli-24.9.0" // {
+      (sources."jest-config-24.9.0" // {
         dependencies = [
-          sources."cliui-5.0.0"
-          sources."yargs-13.3.2"
+          sources."babel-jest-24.9.0"
+          sources."slash-2.0.0"
         ];
       })
-      sources."jest-config-24.9.0"
       sources."jest-diff-24.9.0"
       sources."jest-docblock-24.9.0"
       sources."jest-each-24.9.0"
@@ -10696,9 +10140,7 @@ in
       sources."jest-runner-24.9.0"
       (sources."jest-runtime-24.9.0" // {
         dependencies = [
-          sources."cliui-5.0.0"
           sources."slash-2.0.0"
-          sources."yargs-13.3.2"
         ];
       })
       sources."jest-serializer-24.9.0"
@@ -10712,69 +10154,77 @@ in
           sources."slash-2.0.0"
         ];
       })
-      (sources."jest-validate-24.9.0" // {
-        dependencies = [
-          sources."camelcase-5.3.1"
-        ];
-      })
+      sources."jest-validate-24.9.0"
       sources."jest-watcher-24.9.0"
       (sources."jest-worker-24.9.0" // {
         dependencies = [
           sources."supports-color-6.1.0"
         ];
       })
-      sources."js-beautify-1.10.3"
+      sources."js-beautify-1.10.2"
       sources."js-stringify-1.0.2"
       sources."js-tokens-3.0.2"
       sources."js-yaml-3.13.1"
       sources."jsbn-0.1.1"
       (sources."jsdom-11.12.0" // {
         dependencies = [
-          sources."acorn-5.7.4"
           (sources."acorn-globals-4.3.4" // {
             dependencies = [
-              sources."acorn-6.4.1"
+              sources."acorn-6.3.0"
             ];
           })
           sources."ws-5.2.2"
         ];
       })
       sources."jsesc-1.3.0"
-      sources."json-buffer-3.0.0"
       sources."json-parse-better-errors-1.0.2"
       sources."json-schema-0.2.3"
       sources."json-schema-traverse-0.4.1"
+      sources."json-stream-1.0.0"
       sources."json-stringify-safe-5.0.1"
       sources."json3-3.3.3"
-      (sources."json5-1.0.1" // {
-        dependencies = [
-          sources."minimist-1.2.5"
-        ];
-      })
+      sources."json5-1.0.1"
+      sources."jsonfile-4.0.0"
       sources."jsonpath-plus-0.19.0"
       sources."jsprim-1.4.1"
       sources."jstransformer-1.0.0"
-      sources."keygrip-1.1.0"
-      sources."keyv-3.0.0"
+      sources."keygrip-1.0.3"
       sources."killable-1.0.1"
       sources."kind-of-3.2.2"
       sources."kleur-3.0.3"
-      sources."koa-2.11.0"
-      sources."koa-body-4.1.1"
+      (sources."koa-2.7.0" // {
+        dependencies = [
+          sources."debug-3.1.0"
+        ];
+      })
+      sources."koa-body-4.1.0"
       sources."koa-compose-4.1.0"
       (sources."koa-convert-1.2.0" // {
         dependencies = [
           sources."koa-compose-3.2.1"
         ];
       })
+      sources."koa-is-json-1.0.0"
       (sources."koa-router-7.4.0" // {
         dependencies = [
+          sources."debug-3.2.6"
           sources."koa-compose-3.2.1"
+          sources."ms-2.1.2"
+        ];
+      })
+      (sources."koa-send-5.0.0" // {
+        dependencies = [
+          sources."debug-3.2.6"
+          sources."ms-2.1.2"
+        ];
+      })
+      (sources."koa-static-5.0.0" // {
+        dependencies = [
+          sources."debug-3.2.6"
+          sources."ms-2.1.2"
         ];
       })
-      sources."koa-send-5.0.0"
-      sources."koa-static-5.0.0"
-      (sources."koa-views-6.2.1" // {
+      (sources."koa-views-6.2.0" // {
         dependencies = [
           sources."debug-4.1.1"
           sources."ms-2.1.2"
@@ -10787,23 +10237,24 @@ in
       sources."levn-0.3.0"
       sources."load-json-file-4.0.0"
       sources."loader-runner-2.4.0"
-      sources."loader-utils-1.4.0"
+      sources."loader-utils-1.2.3"
       sources."locate-path-3.0.0"
       sources."lodash-4.17.15"
       sources."lodash.camelcase-4.3.0"
       sources."lodash.clonedeep-4.5.0"
-      sources."lodash.memoize-4.1.2"
       sources."lodash.sortby-4.7.0"
       sources."log-symbols-2.2.0"
-      sources."loglevel-1.6.7"
+      sources."loglevel-1.6.4"
       sources."loglevelnext-1.0.5"
-      sources."long-4.0.0"
       sources."longest-1.0.1"
       sources."loose-envify-1.4.0"
-      sources."lowercase-keys-1.0.1"
-      sources."lru-cache-5.1.1"
+      (sources."lru-cache-4.1.5" // {
+        dependencies = [
+          sources."yallist-2.1.2"
+        ];
+      })
       sources."make-dir-1.3.0"
-      sources."make-error-1.3.6"
+      sources."make-error-1.3.5"
       sources."makeerror-1.0.11"
       sources."mamacro-0.0.3"
       sources."map-age-cleaner-0.1.3"
@@ -10811,13 +10262,8 @@ in
       sources."map-visit-1.0.0"
       sources."md5.js-1.3.5"
       sources."media-typer-0.3.0"
-      (sources."mem-4.3.0" // {
-        dependencies = [
-          sources."mimic-fn-2.1.0"
-          sources."p-is-promise-2.1.0"
-        ];
-      })
-      sources."memory-fs-0.5.0"
+      sources."mem-4.3.0"
+      sources."memory-fs-0.4.1"
       sources."merge-descriptors-1.0.1"
       sources."merge-stream-2.0.0"
       sources."methods-1.1.2"
@@ -10825,19 +10271,18 @@ in
         dependencies = [
           sources."extend-shallow-3.0.2"
           sources."is-extendable-1.0.1"
-          sources."kind-of-6.0.3"
+          sources."kind-of-6.0.2"
         ];
       })
       sources."miller-rabin-4.0.1"
       sources."mime-1.6.0"
-      sources."mime-db-1.43.0"
-      sources."mime-types-2.1.26"
-      sources."mimic-fn-1.2.0"
-      sources."mimic-response-1.0.1"
+      sources."mime-db-1.40.0"
+      sources."mime-types-2.1.24"
+      sources."mimic-fn-2.1.0"
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.0.4"
-      sources."minimist-0.0.8"
+      sources."minimist-1.2.0"
       (sources."mississippi-2.0.0" // {
         dependencies = [
           sources."pump-2.0.1"
@@ -10848,9 +10293,13 @@ in
           sources."is-extendable-1.0.1"
         ];
       })
-      sources."mkdirp-0.5.1"
+      (sources."mkdirp-0.5.1" // {
+        dependencies = [
+          sources."minimist-0.0.8"
+        ];
+      })
       sources."moment-2.24.0"
-      sources."moment-timezone-0.5.28"
+      sources."moment-timezone-0.5.26"
       sources."move-concurrently-1.0.1"
       sources."ms-2.0.0"
       sources."multicast-dns-6.2.3"
@@ -10861,7 +10310,7 @@ in
         dependencies = [
           sources."extend-shallow-3.0.2"
           sources."is-extendable-1.0.1"
-          sources."kind-of-6.0.3"
+          sources."kind-of-6.0.2"
         ];
       })
       sources."natural-compare-1.4.0"
@@ -10869,9 +10318,8 @@ in
       sources."neo-async-2.6.1"
       sources."next-tick-1.0.0"
       sources."nice-try-1.0.5"
-      sources."node-forge-0.8.5"
+      sources."node-forge-0.8.2"
       sources."node-int64-0.4.0"
-      sources."node-jose-1.1.3"
       (sources."node-libs-browser-2.2.1" // {
         dependencies = [
           sources."punycode-1.4.1"
@@ -10879,67 +10327,70 @@ in
       })
       sources."node-modules-regexp-1.0.0"
       sources."node-notifier-5.4.3"
-      sources."nopt-4.0.3"
+      sources."nopt-4.0.1"
       sources."normalize-package-data-2.5.0"
       sources."normalize-path-2.1.1"
-      sources."normalize-url-2.0.1"
       sources."npm-run-path-2.0.2"
       sources."number-is-nan-1.0.1"
-      sources."nwsapi-2.2.0"
+      sources."nwsapi-2.1.4"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
       (sources."object-copy-0.1.0" // {
         dependencies = [
           sources."define-property-0.2.5"
-          sources."is-accessor-descriptor-0.1.6"
-          sources."is-data-descriptor-0.1.4"
-          (sources."is-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-5.1.0"
-            ];
-          })
         ];
       })
-      sources."object-hash-1.3.1"
-      sources."object-inspect-1.7.0"
+      sources."object-inspect-1.6.0"
       sources."object-keys-1.1.1"
       sources."object-visit-1.0.1"
       sources."object.assign-4.1.0"
-      sources."object.getownpropertydescriptors-2.1.0"
+      sources."object.getownpropertydescriptors-2.0.3"
       sources."object.pick-1.3.0"
       sources."obuf-1.1.2"
-      sources."oidc-token-hash-3.0.2"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
-      sources."onetime-2.0.1"
+      (sources."onetime-2.0.1" // {
+        dependencies = [
+          sources."mimic-fn-1.2.0"
+        ];
+      })
       sources."only-0.0.2"
       sources."opener-1.5.1"
-      sources."openid-client-2.5.0"
       sources."opn-5.5.0"
-      sources."optionator-0.8.3"
-      sources."ora-3.4.0"
+      (sources."optimist-0.6.1" // {
+        dependencies = [
+          sources."minimist-0.0.10"
+        ];
+      })
+      (sources."optionator-0.8.2" // {
+        dependencies = [
+          sources."wordwrap-1.0.0"
+        ];
+      })
+      (sources."ora-3.4.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
       sources."original-1.0.2"
       sources."os-browserify-0.3.0"
       sources."os-homedir-1.0.2"
       sources."os-locale-3.1.0"
       sources."os-tmpdir-1.0.2"
       sources."osenv-0.1.5"
-      sources."p-any-1.1.0"
-      sources."p-cancelable-0.4.1"
       sources."p-defer-1.0.0"
       sources."p-each-series-1.0.0"
       sources."p-finally-1.0.0"
-      sources."p-is-promise-1.1.0"
-      sources."p-limit-2.2.2"
+      sources."p-is-promise-2.1.0"
+      sources."p-limit-2.2.1"
       sources."p-locate-3.0.0"
       sources."p-map-2.1.0"
       sources."p-reduce-1.0.0"
       sources."p-retry-3.0.1"
-      sources."p-some-2.0.1"
-      sources."p-timeout-2.0.1"
       sources."p-try-2.2.0"
-      sources."pako-1.0.11"
+      sources."pako-1.0.10"
       sources."parallel-transform-1.2.0"
       sources."parse-asn1-5.1.5"
       sources."parse-json-4.0.0"
@@ -10954,7 +10405,7 @@ in
       sources."path-is-inside-1.0.2"
       sources."path-key-2.0.1"
       sources."path-parse-1.0.6"
-      (sources."path-to-regexp-1.8.0" // {
+      (sources."path-to-regexp-1.7.0" // {
         dependencies = [
           sources."isarray-0.0.1"
         ];
@@ -10976,29 +10427,27 @@ in
         ];
       })
       sources."pn-1.1.0"
-      (sources."portfinder-1.0.25" // {
-        dependencies = [
-          sources."debug-3.2.6"
-          sources."ms-2.1.2"
-        ];
-      })
+      sources."portfinder-1.0.24"
       sources."posix-character-classes-0.1.1"
       sources."prelude-ls-1.1.2"
-      sources."prepend-http-2.0.0"
-      sources."prettier-1.19.1"
+      sources."prettier-1.18.2"
       sources."pretty-2.0.0"
-      sources."pretty-format-24.9.0"
+      (sources."pretty-format-24.9.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+        ];
+      })
       sources."private-0.1.8"
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
       sources."promise-7.3.1"
       sources."promise-inflight-1.0.1"
-      sources."prompts-2.3.1"
+      sources."prompts-2.2.1"
       sources."proto-list-1.2.4"
-      sources."proxy-addr-2.0.6"
+      sources."proxy-addr-2.0.5"
       sources."prr-1.0.1"
       sources."pseudomap-1.0.2"
-      sources."psl-1.7.0"
+      sources."psl-1.1.32"
       sources."public-encrypt-4.0.3"
       sources."pug-2.0.4"
       sources."pug-attrs-2.0.4"
@@ -11019,23 +10468,18 @@ in
         ];
       })
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
-      sources."query-string-5.1.1"
+      sources."qs-6.7.0"
       sources."querystring-0.2.0"
       sources."querystring-es3-0.2.1"
       sources."querystringify-2.1.1"
       sources."randombytes-2.1.0"
       sources."randomfill-1.0.4"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.1"
-      sources."react-is-16.13.0"
+      sources."raw-body-2.4.0"
+      sources."react-is-16.9.0"
       sources."read-pkg-3.0.0"
       sources."read-pkg-up-4.0.0"
-      (sources."readable-stream-2.3.7" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
+      sources."readable-stream-2.3.6"
       sources."readdirp-2.2.1"
       sources."realpath-native-1.1.0"
       sources."rechoir-0.6.2"
@@ -11059,29 +10503,30 @@ in
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
       sources."repeating-2.0.1"
-      sources."request-2.88.2"
-      sources."request-promise-core-1.1.3"
-      sources."request-promise-native-1.0.8"
+      (sources."request-2.88.0" // {
+        dependencies = [
+          sources."form-data-2.3.3"
+          sources."punycode-1.4.1"
+          sources."qs-6.5.2"
+          sources."tough-cookie-2.4.3"
+        ];
+      })
+      sources."request-promise-core-1.1.2"
+      sources."request-promise-native-1.0.7"
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
       sources."requires-port-1.0.0"
-      sources."resolve-1.15.1"
+      sources."resolve-1.11.0"
       sources."resolve-cwd-2.0.0"
-      (sources."resolve-dir-1.0.1" // {
-        dependencies = [
-          sources."global-modules-1.0.0"
-        ];
-      })
+      sources."resolve-dir-1.0.1"
       sources."resolve-from-3.0.0"
       (sources."resolve-path-1.4.0" // {
         dependencies = [
           sources."http-errors-1.6.3"
-          sources."inherits-2.0.3"
           sources."setprototypeof-1.1.0"
         ];
       })
       sources."resolve-url-0.2.1"
-      sources."responselike-1.0.2"
       sources."restore-cursor-2.0.0"
       sources."ret-0.1.15"
       sources."retry-0.12.0"
@@ -11090,40 +10535,25 @@ in
       sources."ripemd160-2.0.2"
       sources."rsvp-4.8.5"
       sources."run-queue-1.0.3"
-      sources."rxjs-6.5.4"
-      sources."safe-buffer-5.2.0"
+      sources."rxjs-6.5.2"
+      sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
-      (sources."sane-4.1.0" // {
-        dependencies = [
-          sources."minimist-1.2.5"
-        ];
-      })
+      sources."sane-4.1.0"
       sources."sax-1.2.4"
       sources."schema-utils-1.0.0"
       sources."select-hose-2.0.0"
-      (sources."selfsigned-1.10.7" // {
-        dependencies = [
-          sources."node-forge-0.9.0"
-        ];
-      })
-      sources."semver-5.7.1"
+      sources."selfsigned-1.10.6"
+      sources."semver-5.7.0"
       (sources."send-0.17.1" // {
         dependencies = [
-          (sources."debug-2.6.9" // {
-            dependencies = [
-              sources."ms-2.0.0"
-            ];
-          })
           sources."ms-2.1.1"
         ];
       })
       sources."serialize-javascript-1.9.1"
       (sources."serve-index-1.9.1" // {
         dependencies = [
-          sources."debug-2.6.9"
           sources."http-errors-1.6.3"
-          sources."inherits-2.0.3"
           sources."setprototypeof-1.1.0"
         ];
       })
@@ -11139,47 +10569,42 @@ in
       sources."shellwords-0.1.1"
       sources."sigmund-1.0.1"
       sources."signal-exit-3.0.2"
-      sources."simple-git-1.96.0"
-      sources."sisteransi-1.0.4"
+      (sources."simple-git-1.96.0" // {
+        dependencies = [
+          sources."debug-3.2.6"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."sisteransi-1.0.3"
       sources."slash-1.0.0"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
-          sources."debug-2.6.9"
           sources."define-property-0.2.5"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
           sources."source-map-0.5.7"
         ];
       })
       (sources."snapdragon-node-2.1.1" // {
         dependencies = [
           sources."define-property-1.0.0"
+          sources."is-accessor-descriptor-1.0.0"
+          sources."is-data-descriptor-1.0.0"
+          sources."is-descriptor-1.0.2"
+          sources."kind-of-6.0.2"
         ];
       })
       sources."snapdragon-util-3.0.1"
       sources."sockjs-0.3.19"
-      (sources."sockjs-client-1.4.0" // {
+      (sources."sockjs-client-1.3.0" // {
         dependencies = [
           sources."debug-3.2.6"
           sources."faye-websocket-0.11.3"
           sources."ms-2.1.2"
         ];
       })
-      sources."sort-keys-2.0.0"
       sources."source-list-map-2.0.1"
       sources."source-map-0.6.1"
-      sources."source-map-resolve-0.5.3"
-      sources."source-map-support-0.5.16"
+      sources."source-map-resolve-0.5.2"
+      sources."source-map-support-0.5.13"
       sources."source-map-url-0.4.0"
       sources."spdx-correct-3.1.0"
       sources."spdx-exceptions-2.2.0"
@@ -11195,7 +10620,7 @@ in
         dependencies = [
           sources."debug-4.1.1"
           sources."ms-2.1.2"
-          sources."readable-stream-3.6.0"
+          sources."readable-stream-3.4.0"
         ];
       })
       (sources."split-string-3.1.0" // {
@@ -11211,18 +10636,6 @@ in
       (sources."static-extend-0.1.2" // {
         dependencies = [
           sources."define-property-0.2.5"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
         ];
       })
       sources."statuses-1.5.0"
@@ -11230,38 +10643,38 @@ in
       sources."stream-browserify-2.0.2"
       sources."stream-each-1.2.3"
       sources."stream-http-2.8.3"
-      sources."stream-shift-1.0.1"
-      sources."strict-uri-encode-1.1.0"
+      sources."stream-shift-1.0.0"
       (sources."string-length-2.0.0" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
           sources."strip-ansi-4.0.0"
         ];
       })
-      sources."string-width-3.1.0"
-      sources."string.prototype.trimleft-2.1.1"
-      sources."string.prototype.trimright-2.1.1"
-      (sources."string_decoder-1.1.1" // {
+      (sources."string-width-3.1.0" // {
         dependencies = [
-          sources."safe-buffer-5.1.2"
+          sources."ansi-regex-4.1.0"
+          sources."strip-ansi-5.2.0"
         ];
       })
-      sources."strip-ansi-5.2.0"
+      sources."string.prototype.trimleft-2.1.0"
+      sources."string.prototype.trimright-2.1.0"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-3.0.1"
       sources."strip-bom-3.0.0"
       sources."strip-eof-1.0.0"
-      sources."supports-color-5.5.0"
+      sources."supports-color-2.0.0"
       sources."symbol-tree-3.2.4"
       sources."tapable-1.1.3"
-      sources."terser-4.6.6"
-      (sources."terser-webpack-plugin-1.4.3" // {
+      sources."terser-4.3.3"
+      (sources."terser-webpack-plugin-1.4.1" // {
         dependencies = [
           sources."cacache-12.0.3"
           sources."find-cache-dir-2.1.0"
+          sources."lru-cache-5.1.1"
           sources."make-dir-2.1.0"
           sources."mississippi-3.0.0"
           sources."pify-4.0.1"
           sources."pkg-dir-3.0.0"
-          sources."serialize-javascript-2.1.2"
           sources."ssri-6.0.1"
         ];
       })
@@ -11270,8 +10683,7 @@ in
       sources."thenify-all-1.6.0"
       sources."throat-4.1.0"
       sources."through2-2.0.5"
-      sources."thunky-1.1.0"
-      sources."timed-out-4.0.1"
+      sources."thunky-1.0.3"
       sources."timers-browserify-2.0.11"
       sources."tmpl-1.0.4"
       sources."to-arraybuffer-1.0.1"
@@ -11290,16 +10702,14 @@ in
       sources."tr46-1.0.1"
       sources."trim-right-1.0.1"
       sources."tryer-1.0.1"
-      (sources."ts-jest-24.3.0" // {
+      (sources."ts-jest-24.0.2" // {
         dependencies = [
           sources."camelcase-4.1.0"
-          sources."json5-2.1.1"
-          sources."minimist-1.2.5"
+          sources."json5-2.1.0"
           sources."yargs-parser-10.1.0"
         ];
       })
-      sources."tslib-1.11.1"
-      sources."tsscmp-1.0.6"
+      sources."tslib-1.10.0"
       sources."tty-browserify-0.0.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
@@ -11308,18 +10718,22 @@ in
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
-      sources."typescript-3.8.3"
+      sources."typescript-3.5.2"
       sources."typical-4.0.0"
       (sources."uglify-js-2.8.29" // {
         dependencies = [
+          sources."camelcase-1.2.1"
+          sources."cliui-2.1.0"
           sources."source-map-0.5.7"
+          sources."yargs-3.10.0"
         ];
       })
       sources."uglify-to-browserify-1.0.2"
-      sources."underscore-1.9.2"
+      sources."underscore-1.9.1"
       sources."union-value-1.0.1"
       sources."unique-filename-1.1.1"
       sources."unique-slug-2.0.2"
+      sources."universalify-0.1.2"
       sources."unpipe-1.0.0"
       (sources."unset-value-1.0.0" // {
         dependencies = [
@@ -11333,7 +10747,7 @@ in
       })
       sources."upath-1.2.0"
       sources."uri-js-4.2.2"
-      sources."urijs-1.19.2"
+      sources."urijs-1.19.1"
       sources."urix-0.1.0"
       (sources."url-0.11.0" // {
         dependencies = [
@@ -11341,88 +10755,84 @@ in
         ];
       })
       sources."url-parse-1.4.7"
-      sources."url-parse-lax-3.0.0"
-      sources."url-to-options-1.0.1"
       sources."use-3.1.1"
-      (sources."util-0.11.1" // {
-        dependencies = [
-          sources."inherits-2.0.3"
-        ];
-      })
+      sources."util-0.11.1"
       sources."util-deprecate-1.0.2"
-      sources."util.promisify-1.0.1"
+      sources."util.promisify-1.0.0"
       sources."utils-merge-1.0.1"
-      sources."uuid-3.4.0"
-      sources."v8-compile-cache-2.0.3"
+      sources."uuid-3.3.2"
+      sources."v8-compile-cache-2.1.0"
       sources."validate-npm-package-license-3.0.4"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
-      sources."vm-browserify-1.1.2"
+      sources."vm-browserify-1.1.0"
       sources."void-elements-2.0.1"
-      sources."w3c-hr-time-1.0.2"
+      sources."w3c-hr-time-1.0.1"
       sources."walker-1.0.7"
       sources."watchpack-1.6.0"
       sources."wbuf-1.7.3"
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-4.0.2"
-      (sources."webpack-4.42.0" // {
+      (sources."webpack-4.35.0" // {
         dependencies = [
-          sources."acorn-6.4.1"
-          sources."memory-fs-0.4.1"
+          sources."acorn-6.3.0"
         ];
       })
-      (sources."webpack-bundle-analyzer-3.6.1" // {
+      (sources."webpack-bundle-analyzer-3.3.2" // {
         dependencies = [
-          sources."acorn-7.1.1"
-          sources."acorn-walk-7.1.1"
+          sources."acorn-6.3.0"
         ];
       })
-      (sources."webpack-cli-3.3.11" // {
+      (sources."webpack-cli-3.3.4" // {
         dependencies = [
-          sources."cliui-5.0.0"
-          sources."emojis-list-2.1.0"
-          sources."enhanced-resolve-4.1.0"
-          sources."loader-utils-1.2.3"
-          sources."memory-fs-0.4.1"
-          sources."supports-color-6.1.0"
-          sources."yargs-13.2.4"
+          sources."ansi-regex-3.0.0"
+          sources."cliui-4.1.0"
+          sources."get-caller-file-1.0.3"
+          sources."require-main-filename-1.0.1"
+          sources."string-width-2.1.1"
+          sources."strip-ansi-4.0.0"
+          sources."supports-color-5.5.0"
+          (sources."wrap-ansi-2.1.0" // {
+            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."yargs-12.0.5"
+          sources."yargs-parser-11.1.1"
         ];
       })
-      (sources."webpack-dev-middleware-3.7.2" // {
+      (sources."webpack-dev-middleware-3.7.1" // {
         dependencies = [
-          sources."memory-fs-0.4.1"
           sources."mime-2.4.4"
           sources."webpack-log-2.0.0"
         ];
       })
-      (sources."webpack-dev-server-3.10.3" // {
+      (sources."webpack-dev-server-3.7.2" // {
         dependencies = [
-          sources."ansi-regex-2.1.1"
-          sources."camelcase-5.3.1"
+          sources."ansi-regex-3.0.0"
           (sources."cliui-4.1.0" // {
             dependencies = [
-              sources."ansi-regex-3.0.0"
               sources."strip-ansi-4.0.0"
             ];
           })
           sources."debug-4.1.1"
           sources."get-caller-file-1.0.3"
-          sources."is-fullwidth-code-point-1.0.0"
           sources."ms-2.1.2"
           sources."require-main-filename-1.0.1"
           sources."semver-6.3.0"
           (sources."string-width-2.1.1" // {
             dependencies = [
-              sources."ansi-regex-3.0.0"
-              sources."is-fullwidth-code-point-2.0.0"
               sources."strip-ansi-4.0.0"
             ];
           })
-          sources."strip-ansi-3.0.1"
           sources."supports-color-6.1.0"
           sources."webpack-log-2.0.0"
           (sources."wrap-ansi-2.1.0" // {
             dependencies = [
+              sources."is-fullwidth-code-point-1.0.0"
               sources."string-width-1.0.2"
             ];
           })
@@ -11432,11 +10842,7 @@ in
       })
       sources."webpack-log-1.2.0"
       sources."webpack-sources-1.4.3"
-      (sources."websocket-1.0.31" // {
-        dependencies = [
-          sources."debug-2.6.9"
-        ];
-      })
+      sources."websocket-1.0.28"
       sources."websocket-driver-0.7.3"
       sources."websocket-extensions-0.1.3"
       sources."whatwg-encoding-1.0.5"
@@ -11445,11 +10851,19 @@ in
       sources."which-1.3.1"
       sources."which-module-2.0.0"
       sources."window-size-0.1.0"
-      sources."with-5.1.1"
-      sources."word-wrap-1.2.3"
+      (sources."with-5.1.1" // {
+        dependencies = [
+          sources."acorn-3.3.0"
+        ];
+      })
       sources."wordwrap-0.0.2"
       sources."worker-farm-1.7.0"
-      sources."wrap-ansi-5.1.0"
+      (sources."wrap-ansi-5.1.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-2.4.1"
       sources."ws-6.2.1"
@@ -11457,13 +10871,10 @@ in
       sources."xtend-4.0.2"
       sources."y18n-4.0.0"
       sources."yaeti-0.0.6"
-      sources."yallist-3.1.1"
-      sources."yargs-3.10.0"
-      (sources."yargs-parser-13.1.2" // {
-        dependencies = [
-          sources."camelcase-5.3.1"
-        ];
-      })
+      sources."yallist-3.1.0"
+      sources."yargs-13.3.0"
+      sources."yargs-parser-13.1.1"
+      sources."yarn-1.16.0"
       sources."ylru-1.2.1"
     ];
     buildInputs = globalBuildInputs;
@@ -11472,6 +10883,25 @@ in
     };
     production = false;
     bypassCache = true;
-    reconstructLock = true;
+    reconstructLock = false;
   };
+in
+{
+  args = args;
+  sources = sources;
+  tarball = nodeEnv.buildNodeSourceDist args;
+  package = nodeEnv.buildNodePackage args;
+  shell = nodeEnv.buildNodeShell args;
+  nodeDependencies = nodeEnv.buildNodeDependencies (lib.overrideExisting args {
+    src = stdenv.mkDerivation {
+      name = args.name + "-package-json";
+      src = nix-gitignore.gitignoreSourcePure [
+        "*"
+        "!package.json"
+        "!package-lock.json"
+      ] args.src;
+      dontBuild = true;
+      installPhase = "mkdir -p $out; cp -r ./* $out;";
+    };
+  });
 }
diff --git a/pkgs/applications/networking/cluster/spacegun/package.json b/pkgs/applications/networking/cluster/spacegun/package.json
deleted file mode 100644
index 7d419edb74a27..0000000000000
--- a/pkgs/applications/networking/cluster/spacegun/package.json
+++ /dev/null
@@ -1,3 +0,0 @@
-[
-  { "spacegun": "git+https://github.com/dvallin/spacegun.git#v0.3.3" }
-]
diff --git a/pkgs/applications/networking/cluster/spark/default.nix b/pkgs/applications/networking/cluster/spark/default.nix
index 071636ec4431d..76230b8e10033 100644
--- a/pkgs/applications/networking/cluster/spark/default.nix
+++ b/pkgs/applications/networking/cluster/spark/default.nix
@@ -14,7 +14,8 @@ stdenv.mkDerivation rec {
     sha256 = "1a9w5k0207fysgpxx6db3a00fs5hdc2ncx99x4ccy2s0v5ndc66g";
   };
 
-  buildInputs = [ makeWrapper jre pythonPackages.python pythonPackages.numpy ]
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre pythonPackages.python pythonPackages.numpy ]
     ++ optional RSupport R;
 
   untarDir = "${pname}-${version}-bin-without-hadoop";
diff --git a/pkgs/applications/networking/cluster/ssm-agent/default.nix b/pkgs/applications/networking/cluster/ssm-agent/default.nix
index 928fb351c6a0e..b042f8ff15f35 100644
--- a/pkgs/applications/networking/cluster/ssm-agent/default.nix
+++ b/pkgs/applications/networking/cluster/ssm-agent/default.nix
@@ -14,7 +14,7 @@ buildGoPackage rec {
     "agent/cli-main"
   ];
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   src = fetchFromGitHub {
     rev    = version;
diff --git a/pkgs/applications/networking/cluster/starboard/default.nix b/pkgs/applications/networking/cluster/starboard/default.nix
index 0ce692402e1b5..4fdcdf1ea2b14 100644
--- a/pkgs/applications/networking/cluster/starboard/default.nix
+++ b/pkgs/applications/networking/cluster/starboard/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "starboard";
-  version = "0.9.0";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-BzOpP34UumGaAL+vc+lkCKBuK8i0zAWzpMLuPszupQI=";
+    sha256 = "sha256-w+xaZPEMmJYDPQG4MuAlWMhwhEyeVcpaeDwqsnIbIHA=";
   };
 
-  vendorSha256 = "sha256-XOneGFTtoxuHnjGVse15Ypfo7vO3ReeGs46qLG619aM=";
+  vendorSha256 = "sha256-aVKQcRZgxhIph+y28HhR15DUjwiz/4+t1bMrYXjPW7Q=";
 
   subPackages = [ "cmd/starboard" ];
 
diff --git a/pkgs/applications/networking/cluster/stern/default.nix b/pkgs/applications/networking/cluster/stern/default.nix
index 29aa7d41f32a0..9626479934473 100644
--- a/pkgs/applications/networking/cluster/stern/default.nix
+++ b/pkgs/applications/networking/cluster/stern/default.nix
@@ -4,16 +4,16 @@ let isCrossBuild = stdenv.hostPlatform != stdenv.buildPlatform;
 in
 buildGoModule rec {
   pname = "stern";
-  version = "1.13.1";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = "stern";
     repo = "stern";
     rev = "v${version}";
-    sha256 = "0fj6a52wb0jv5bz2j2wq3ljnlxnsj9bg3kbzgkz0vh0b63zyn782";
+    sha256 = "sha256-8l/Tr+IxR3yPmt9hI70XuUQ4YEYzRTMLbo8BsngoU60=";
   };
 
-  vendorSha256 = "14nrdaaby74bjbk777hr82p0ybzk3spc59lbrjn9z0q3hc0p4vaf";
+  vendorSha256 = "sha256-pvFT4A7bDBvBf1odyv3z4inw1/IsvOA+++OPbfNjzxM=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/tanka/default.nix b/pkgs/applications/networking/cluster/tanka/default.nix
index 293cdb6737114..44ad3dfd72c71 100644
--- a/pkgs/applications/networking/cluster/tanka/default.nix
+++ b/pkgs/applications/networking/cluster/tanka/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tanka";
-  version = "0.12.0";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1f67b236njz1qdxjyf2568vkigjmpylqlra29jlgm6vhd5qky7ia";
+    sha256 = "sha256-y2HhtYKgC9Y397dZ14eQoPZxqS1fTOXVD8B4wdLIHzM=";
   };
 
-  vendorSha256 = "1pr265g11lcviqw974lf05q52qrfpwnpn9a64q6088g0nfp4ly06";
+  vendorSha256 = "sha256-vpm2y/CxRNWkz6+AOMmmZH5AjRQWAa6WD5Fnx5lqJYw=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/tektoncd-cli/default.nix b/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
index a2bb9da680548..581af59f0c8f6 100644
--- a/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
+++ b/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
@@ -2,30 +2,37 @@
 
 buildGoModule rec {
   pname = "tektoncd-cli";
-  version = "0.15.0";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "tektoncd";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "0xb2zlpkh9cwinp6zj2jpv4wlws042ad1fa0wkcnnkh0vjm6mnrl";
+    sha256 = "sha256-IY9iJa4HcZ60jDPdP47jjC0FiOJesvf2vEENMAYVd4Q=";
   };
 
   vendorSha256 = null;
 
-  doCheck = false;
+  buildFlagsArray = [
+    "-ldflags="
+    "-s"
+    "-w"
+    "-X github.com/tektoncd/cli/pkg/cmd/version.clientVersion=${version}"
+  ];
 
   nativeBuildInputs = [ installShellFiles ];
 
-  buildPhase = ''
-    make bin/tkn
-  '';
+  # third_party/VENDOR-LICENSE breaks build/check as go files are still included
+  # docs is a tool for generating docs
+  excludedPackages = "\\(third_party\\|cmd/docs\\)";
 
-  installPhase = ''
-    install bin/tkn -Dt $out/bin
+  preCheck = ''
+    # Change the golden files to match our desired version
+    sed -i "s/dev/${version}/" pkg/cmd/version/testdata/TestGetVersions-*.golden
+  '';
 
-    mkdir -p "$out/share/man/man1"
-    cp docs/man/man1/* "$out/share/man/man1"
+  postInstall = ''
+    installManPage docs/man/man1/*
 
     installShellCompletion --cmd tkn \
       --bash <($out/bin/tkn completion bash) \
@@ -34,14 +41,14 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    description = "The Tekton Pipelines cli project provides a CLI for interacting with Tekton";
     homepage = "https://tekton.dev";
+    changelog = "https://github.com/tektoncd/cli/releases/tag/v${version}";
+    description = "Provides a CLI for interacting with Tekton";
     longDescription = ''
       The Tekton Pipelines cli project provides a CLI for interacting with Tekton!
       For your convenience, it is recommended that you install the Tekton CLI, tkn, together with the core component of Tekton, Tekton Pipelines.
     '';
     license = licenses.asl20;
-    maintainers = with maintainers; [ jk mstrangfeld ];
-    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ jk mstrangfeld vdemeester ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/terraform-providers/default.nix b/pkgs/applications/networking/cluster/terraform-providers/default.nix
index 3570191fd84e1..a08a3d336bf53 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/default.nix
+++ b/pkgs/applications/networking/cluster/terraform-providers/default.nix
@@ -56,14 +56,12 @@ let
     # Packages that don't fit the default model
     ansible = callPackage ./ansible {};
     cloudfoundry = callPackage ./cloudfoundry {};
-    elasticsearch = callPackage ./elasticsearch {};
     gandi = callPackage ./gandi {};
     hcloud = callPackage ./hcloud {};
     keycloak = callPackage ./keycloak {};
     libvirt = callPackage ./libvirt {};
     linuxbox = callPackage ./linuxbox {};
     lxd = callPackage ./lxd {};
-    shell = callPackage ./shell {};
     vpsadmin = callPackage ./vpsadmin {};
     vercel = callPackage ./vercel {};
   };
diff --git a/pkgs/applications/networking/cluster/terraform-providers/elasticsearch/default.nix b/pkgs/applications/networking/cluster/terraform-providers/elasticsearch/default.nix
deleted file mode 100644
index 6ae781046df46..0000000000000
--- a/pkgs/applications/networking/cluster/terraform-providers/elasticsearch/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib, fetchFromGitHub, buildGoModule }:
-buildGoModule rec {
-  pname = "terraform-provider-elasticsearch";
-  version = "0.7.0";
-
-  src = fetchFromGitHub {
-    owner = "phillbaker";
-    repo = "terraform-provider-elasticsearch";
-    rev = "v${version}";
-    sha256 = "0ci9gcn9ijdbx25wa99iy0b3sl7akqa7b6gi9wnnl1dawpqznj7v";
-  };
-
-  vendorSha256 = "1rdvyypdl3fk6af66gfjhyl271cnlx5xgrl1w68sc6sbvq00bqkd";
-
-  doCheck = false;
-
-  subPackages = [ "." ];
-
-  # Terraform allow checking the provider versions, but this breaks
-  # if the versions are not provided via file paths.
-  postInstall = "mv $out/bin/terraform-provider-elasticsearch{,_v${version}}";
-
-  meta = with lib; {
-    description = "Terraform provider for elasticsearch";
-    homepage = "https://github.com/phillbaker/terraform-provider-elasticsearch";
-    license = licenses.mpl20;
-    maintainers = with maintainers; [ basvandijk ];
-  };
-}
diff --git a/pkgs/applications/networking/cluster/terraform-providers/lxd/default.nix b/pkgs/applications/networking/cluster/terraform-providers/lxd/default.nix
index 23d41ce7f1fa4..ab3d07a7f47b7 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/lxd/default.nix
+++ b/pkgs/applications/networking/cluster/terraform-providers/lxd/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "terraform-provider-lxd";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "sl1pm4t";
     repo = "terraform-provider-lxd";
     rev = "v${version}";
-    sha256 = "00gj7zj45wm9sf7a7nybjijdrdr00g2yf8h41c6j679a6nfnx0fd";
+    sha256 = "sha256-ikI8LQ6qawdeUSb1Ee03H409DQw2M4QtsIxAESxXNRI=";
   };
 
-  vendorSha256 = "0xq8zgx8h47pc88nkdvy5skpr8vk87b4212mm5msfxk8n7nl4fi2";
+  vendorSha256 = "sha256-IjpC7bFodqdrqVUEQdZBc6N8py5+t2kRYvcQiPr7CHc=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index 406f89decb565..91b900db34779 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -70,10 +70,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/aws",
     "repo": "terraform-provider-aws",
-    "rev": "v3.20.0",
-    "sha256": "18zccjkdxzcprhpv3cn3b9fbp0h81pkj0dsygfz2islclljc3x17",
-    "vendorSha256": "0lalcp3wwjbwhp1rwidpndjmilfsc7cb79diicn02a207y277gji",
-    "version": "3.20.0"
+    "rev": "v3.27.0",
+    "sha256": "0hn55mpg64bibf10m7x7wpfkipvlm8q4avgqcf0rf8rmprwvdlxd",
+    "vendorSha256": "0ph106bqsy988s20adf6gyc5jfvvy9zsj74lkbciwx7mvw5f514s",
+    "version": "3.27.0"
   },
   "azuread": {
     "owner": "terraform-providers",
@@ -287,6 +287,15 @@
     "sha256": "1a3kxmbib2y0nl7gnxknbhsflj5kfknxnm3gjxxrb2h5d2kvqy48",
     "version": "1.2.0"
   },
+  "elasticsearch": {
+    "owner": "phillbaker",
+    "provider-source-address": "registry.terraform.io/phillbaker/elasticsearch",
+    "repo": "terraform-provider-elasticsearch",
+    "rev": "v1.5.2",
+    "sha256": "1yfmlqab2jb679gbns04sdcjfihzsa0dfp7blhfk3v5zhgv1g7ys",
+    "vendorSha256": "15m9aqb2lqjv6g3k46zyha2m118wpbjrh4ap1bfps0fcxn20qvr5",
+    "version": "1.5.2"
+  },
   "exoscale": {
     "owner": "terraform-providers",
     "repo": "terraform-provider-exoscale",
@@ -475,6 +484,15 @@
     "sha256": "04vz0m3z9rfw2hp0h3jhn625r2v37b319krznvhqylqzksv39dzf",
     "version": "1.1.0"
   },
+  "kafka": {
+    "owner": "Mongey",
+    "provider-source-address": "registry.terraform.io/Mongey/kafka",
+    "repo": "terraform-provider-kafka",
+    "rev": "v0.2.12",
+    "sha256": "0jm592chliiph5643rymzpwnlcq7q6bpwg2h86x5qmbzbiyqsi83",
+    "vendorSha256": "08wg16g4mvn6kl8xwn89195a826cb132ijvrgf32c6p7zp4lgmjd",
+    "version": "0.2.12"
+  },
   "ksyun": {
     "owner": "terraform-providers",
     "repo": "terraform-provider-ksyun",
@@ -778,11 +796,13 @@
     "version": "1.1.8"
   },
   "rabbitmq": {
-    "owner": "terraform-providers",
+    "owner": "cyrilgdn",
+    "provider-source-address": "registry.terraform.io/cyrilgdn/rabbitmq",
     "repo": "terraform-provider-rabbitmq",
-    "rev": "v1.3.0",
-    "sha256": "1adkbfm0p7a9i1i53bdmb34g5871rklgqkx7kzmwmk4fvv89n6g8",
-    "version": "1.3.0"
+    "rev": "v1.5.1",
+    "sha256": "1yxvhzrp63wv5zbzj3ma2745g1marpj32b5h41ha27h0i42498ky",
+    "vendorSha256": null,
+    "version": "1.5.1"
   },
   "rancher": {
     "owner": "terraform-providers",
@@ -856,6 +876,15 @@
     "sha256": "1fs96qd2b4glk8hhn5m9r04ap679g0kf3nnhjx1a2idqwrv71gcl",
     "version": "3.3.0"
   },
+  "shell": {
+    "owner": "scottwinkler",
+    "provider-source-address": "registry.terraform.io/scottwinkler/shell",
+    "repo": "terraform-provider-shell",
+    "rev": "v1.6.0",
+    "sha256": "0jxb30vw93ibnwz8nfqapac7p9r2famzvsf2h4nfbmhkm6mpan4l",
+    "vendorSha256": "1p2ja6cw3dl7mx41svri6frjpgb9pxsrl7sq0rk1d3sviw0f88sg",
+    "version": "1.6.0"
+  },
   "signalfx": {
     "owner": "terraform-providers",
     "repo": "terraform-provider-signalfx",
@@ -1024,11 +1053,13 @@
     "version": "1.0.1"
   },
   "vsphere": {
-    "owner": "terraform-providers",
+    "owner": "hashicorp",
+    "provider-source-address": "registry.terraform.io/hashicorp/vsphere",
     "repo": "terraform-provider-vsphere",
-    "rev": "v1.18.3",
-    "sha256": "1cvfmkckigi80cvv826m0d8wzd98qny0r5nqpl7nkzz5kybkb5qp",
-    "version": "1.18.3"
+    "rev": "v1.24.3",
+    "sha256": "1sc60x3r4nb48p8yb7778fpk78acq808jzcd5ijnwxqakccml5kl",
+    "vendorSha256": null,
+    "version": "1.24.3"
   },
   "vthunder": {
     "owner": "terraform-providers",
@@ -1040,9 +1071,9 @@
   "vultr": {
     "owner": "vultr",
     "repo": "terraform-provider-vultr",
-    "rev": "v1.5.0",
-    "sha256": "04qy366ignn53bbdj9s3032qr1x7h84q36qzl5ywydlw2va0qbsd",
-    "version": "1.5.0"
+    "rev": "v2.1.3",
+    "sha256": "sha256-fvqkzg3j2TYAMbPc8Ifh35sBe0D76LYH6Ut5Ugdyexg=",
+    "version": "2.1.3"
   },
   "wavefront": {
     "owner": "terraform-providers",
diff --git a/pkgs/applications/networking/cluster/terraform-providers/shell/default.nix b/pkgs/applications/networking/cluster/terraform-providers/shell/default.nix
deleted file mode 100644
index f2e9b86a64679..0000000000000
--- a/pkgs/applications/networking/cluster/terraform-providers/shell/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib, fetchFromGitHub, buildGoModule }:
-buildGoModule rec {
-  pname = "terraform-provider-shell";
-  version = "1.6.0";
-
-  src = fetchFromGitHub {
-    owner = "scottwinkler";
-    repo   = pname;
-    rev    = "v${version}";
-    sha256 = "0jxb30vw93ibnwz8nfqapac7p9r2famzvsf2h4nfbmhkm6mpan4l";
-  };
-
-  vendorSha256 = "1p2ja6cw3dl7mx41svri6frjpgb9pxsrl7sq0rk1d3sviw0f88sg";
-
-  doCheck = false;
-
-  subPackages = [ "." ];
-
-  # Terraform allows checking the provider versions, but this breaks
-  # if the versions are not provided via file paths.
-  postInstall = "mv $out/bin/${pname}{,_v${version}}";
-
-  passthru.provider-source-address = "registry.terraform.io/scottwinkler/shell";
-
-  meta = with lib; {
-    inherit (src.meta) homepage;
-    description = "Terraform provider for executing shell commands and saving output to state file";
-    changelog = "https://github.com/scottwinkler/terraform-provider-shell/releases/tag/v${version}";
-    license = licenses.mpl20;
-    maintainers = with maintainers; [ mupdt ];
-  };
-}
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 9e01674eab2da..4a6e95057a4d1 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -117,7 +117,7 @@ let
         else
           lib.appendToName "with-plugins" (stdenv.mkDerivation {
             inherit (terraform) name meta;
-            buildInputs = [ makeWrapper ];
+            nativeBuildInputs = [ makeWrapper ];
 
             buildCommand = pluginDir + ''
               mkdir -p $out/bin/
@@ -157,9 +157,9 @@ in rec {
   });
 
   terraform_0_14 = pluggable (generic {
-    version = "0.14.5";
-    sha256 = "0drf049zghpm3ajrn006w621s7bw5r1s8gl77nd1cj2zcw2nzn1r";
-    vendorSha256 = "0z9mkilazrkpbccnkws4hcc49djdwzn0cdbgqkm9bnp9fyg3rfvs";
+    version = "0.14.7";
+    sha256 = "0lnq65ibdxrw2rlyipk469a5hh16vgym1698nmfn62ak8fdrd8la";
+    vendorSha256 = "0pk5mgj19a8by7wbn5xd6kgr1kxrazhvg851fvs8mq3j0ayb32nb";
     patches = [ ./provider-path.patch ];
     passthru = { inherit plugins; };
   });
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
index a81ccc6eb1d81..6bf2e47616306 100644
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "terragrunt";
-  version = "0.27.3";
+  version = "0.28.7";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-J1kwcguBSHTsU/kGviQaj/cX6PpZGs3UI2AJy5+/pCc=";
+    sha256 = "sha256-pM3R85gdP2eVoXx//2tKePNAi14eM8Ut+eXR+vB0Ukk=";
   };
 
-  vendorSha256 = "sha256-AMxBzUHRsq1HOMtvgYqIw22Cky7gQ7/2hI8wQnxaXb0=";
+  vendorSha256 = "sha256-lRJerUYafpkXAGf8MEM8SeG3aB86mlMo7iLpeHFAnd4=";
 
   doCheck = false;
 
@@ -22,9 +22,18 @@ buildGoModule rec {
     "-X main.VERSION=v${version}"
   ];
 
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/terragrunt --help
+    $out/bin/terragrunt --version | grep "v${version}"
+    runHook postInstallCheck
+  '';
+
   meta = with lib; {
+    homepage = "https://terragrunt.gruntwork.io";
+    changelog = "https://github.com/gruntwork-io/terragrunt/releases/tag/v${version}";
     description = "A thin wrapper for Terraform that supports locking for Terraform state and enforces best practices";
-    homepage = "https://github.com/gruntwork-io/terragrunt/";
     license = licenses.mit;
     maintainers = with maintainers; [ peterhoeg jk ];
   };
diff --git a/pkgs/applications/networking/cluster/tilt/default.nix b/pkgs/applications/networking/cluster/tilt/default.nix
index a185c64646f98..ccbe9d9a7ac0f 100644
--- a/pkgs/applications/networking/cluster/tilt/default.nix
+++ b/pkgs/applications/networking/cluster/tilt/default.nix
@@ -5,13 +5,13 @@ buildGoModule rec {
   /* Do not use "dev" as a version. If you do, Tilt will consider itself
     running in development environment and try to serve assets from the
     source tree, which is not there once build completes.  */
-  version = "0.18.5";
+  version = "0.18.10";
 
   src = fetchFromGitHub {
     owner  = "tilt-dev";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "0msfc2cgfq7dz02n2z898iw2bx98qsny3j4pzja767vcdpnzjmr5";
+    sha256 = "sha256-SvvvHGR3UPyV61MaoFB68SaZKUT3ItYOPT1a7AddxlY=";
   };
   vendorSha256 = null;
 
diff --git a/pkgs/applications/networking/cluster/velero/default.nix b/pkgs/applications/networking/cluster/velero/default.nix
index 250d6cfc1a0fa..6b878cec92790 100644
--- a/pkgs/applications/networking/cluster/velero/default.nix
+++ b/pkgs/applications/networking/cluster/velero/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "velero";
-  version = "1.5.2";
+  version = "1.5.3";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "vmware-tanzu";
     repo = "velero";
-    sha256 = "1hfi1iipbval0c0c0nnf6fz5n76za0vwczm5lq86sddqnznbvsrz";
+    sha256 = "sha256-DZ6phJxc8n9LCSsER09K3j+pUJxkYrBZQaI4h+bcV94=";
   };
 
   buildFlagsArray = ''
@@ -19,7 +19,7 @@ buildGoModule rec {
       -X github.com/vmware-tanzu/velero/pkg/buildinfo.GitTreeState=clean
   '';
 
-  vendorSha256 = "1izl7z689jf3i3wax7rfpk0jjly7nsi7vzasy1j9v5cwjy2d5z4v";
+  vendorSha256 = "sha256-m/zShJeclZ1k8Fr9faK2x1Mpwbwun674iMPJhMw/9Mc=";
 
   excludedPackages = [ "issue-template-gen" ];
 
diff --git a/pkgs/applications/networking/cluster/waypoint/default.nix b/pkgs/applications/networking/cluster/waypoint/default.nix
index 32a4aa373a491..f28754005ecba 100644
--- a/pkgs/applications/networking/cluster/waypoint/default.nix
+++ b/pkgs/applications/networking/cluster/waypoint/default.nix
@@ -2,45 +2,59 @@
 
 buildGoModule rec {
   pname = "waypoint";
-  version = "0.2.0";
+  version = "0.2.3";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-iGR2N1ZYA5G9K2cpfrwWRhSEfehRshx157ot1yq15AY=";
+    sha256 = "sha256-FTBBDKFUoyC+Xdm3+2QWXK57fLwitYrFP89OvAyHHVY=";
   };
 
   deleteVendor = true;
-  vendorSha256 = "sha256-ArebHOjP3zvpASVAoaPXpSbrG/jq+Jbx7+EaQ1uHSVY=";
-
-  subPackages = ["."];
+  vendorSha256 = "sha256-ihelAumTRgLALevJdVq3V3SISitiRPCQZUh2h5/eczA=";
 
   nativeBuildInputs = [ go-bindata ];
 
+  # GIT_{COMMIT,DIRTY} filled in blank to prevent trying to run git and ending up blank anyway
   buildPhase = ''
-    CGO_ENABLED=0 go build -ldflags '-s -w -extldflags "-static"' -o ./internal/assets/ceb/ceb ./cmd/waypoint-entrypoint
-    cd internal/assets
-    go-bindata -pkg assets -o prod.go -tags assetsembedded ./ceb
-    cd ../../
-    CGO_ENABLED=0 go build -ldflags '-s -w -X github.com/hashicorp/waypoint/version.GitDescribe=v${version}' -tags assetsembedded -o ./waypoint ./cmd/waypoint
-    CGO_ENABLED=0 go build -ldflags '-s -w' -tags assetsembedded -o ./waypoint-entrypoint ./cmd/waypoint-entrypoint
+    runHook preBuild
+    make bin GIT_DESCRIBE="v${version}" GIT_COMMIT="" GIT_DIRTY=""
+    runHook postBuild
   '';
 
   installPhase = ''
-    mkdir -p $out/bin
-    mv waypoint{,-entrypoint} $out/bin/
+    runHook preInstall
+    install -D waypoint $out/bin/waypoint
+    runHook postInstall
   '';
 
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    # `version` tries to write to ~/.config/waypoint
+    export HOME="$TMPDIR"
+
+    $out/bin/waypoint --help
+    $out/bin/waypoint version # | grep "Waypoint v${version}"
+    runHook postInstallCheck
+  '';
+
+  # Binary is static
+  dontPatchELF = true;
+  dontPatchShebangs = true;
+
   meta = with lib; {
+    homepage = "https://waypointproject.io";
+    changelog = "https://github.com/hashicorp/waypoint/blob/v${version}/CHANGELOG.md";
     description = "A tool to build, deploy, and release any application on any platform";
     longDescription = ''
-      Waypoint allows developers to define their application build, deploy, and release lifecycle as code, reducing the
-      time to deliver deployments through a consistent and repeatable workflow.
+      Waypoint allows developers to define their application build, deploy, and
+      release lifecycle as code, reducing the time to deliver deployments
+      through a consistent and repeatable workflow.
     '';
-    homepage = "https://waypointproject.io";
-    platforms = platforms.linux;
     license = licenses.mpl20;
     maintainers = with maintainers; [ winpat jk ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/dnscontrol/default.nix b/pkgs/applications/networking/dnscontrol/default.nix
index c120ac09642b9..1b8ff4622f228 100644
--- a/pkgs/applications/networking/dnscontrol/default.nix
+++ b/pkgs/applications/networking/dnscontrol/default.nix
@@ -2,19 +2,21 @@
 
 buildGoModule rec {
   pname = "dnscontrol";
-  version = "3.5.0";
+  version = "3.7.0";
 
   src = fetchFromGitHub {
     owner = "StackExchange";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0bnsd1kx0ji2s3w1v7sskc3x82avaqjn2arnax55bmh1yjma6z8p";
+    sha256 = "sha256-el94Iq7/+1FfGpqbhKEO6FGpaCxoueoc/+Se+WfT+G0=";
   };
 
-  vendorSha256 = "0ppcrp6jp23ycn70mcgi5bsa0hr20hk7044ldw304krawy2vjgz8";
+  vendorSha256 = "sha256-MSHg1RWjbXm1pf6HTyJL4FcnLuacL9fO1F6zbouVkWg=";
 
   subPackages = [ "." ];
 
+  buildFlagsArray = [ "-ldflags=-s -w" ];
+
   meta = with lib; {
     description = "Synchronize your DNS to multiple providers from a simple DSL";
     homepage = "https://stackexchange.github.io/dnscontrol/";
diff --git a/pkgs/applications/networking/errbot/default.nix b/pkgs/applications/networking/errbot/default.nix
index 642677a9addc8..f4a44275b693e 100644
--- a/pkgs/applications/networking/errbot/default.nix
+++ b/pkgs/applications/networking/errbot/default.nix
@@ -1,75 +1,90 @@
-{ lib, fetchFromGitHub, python, glibcLocales }:
+{ lib
+, ansi
+, buildPythonApplication
+, colorlog
+, daemonize
+, deepmerge
+, dulwich
+, fetchFromGitHub
+, flask
+, glibcLocales
+, hypchat
+, irc
+, jinja2
+, markdown
+, mock
+, pyasn1
+, pyasn1-modules
+, pygments
+, pygments-markdown-lexer
+, pyopenssl
+, pytestCheckHook
+, requests
+, slackclient
+, sleekxmpp
+, telegram
+, webtest
+}:
 
-let
-  py = python.override {
-    packageOverrides = self: super: {
-      # errbot requires markdown<3, and is not compatible with it either.
-      markdown = super.markdown.overridePythonAttrs (oldAttrs: rec {
-        version = "2.6.11";
-        src = super.fetchPypi {
-          pname = "Markdown";
-          inherit version;
-          sha256 = "108g80ryzykh8bj0i7jfp71510wrcixdi771lf2asyghgyf8cmm8";
-        };
-      });
-
-      # errbot requires slackclient 1.x, see https://github.com/errbotio/errbot/pull/1367
-      # latest 1.x release would be 1.3.2, but it requires an older websocket_client than the one in nixpkgs
-      # so let's just vendor the known-working version until they've migrated to 2.x.
-      slackclient = super.slackclient.overridePythonAttrs (oldAttrs: rec {
-        version = "1.2.1";
-        pname = "slackclient";
-        src = fetchFromGitHub {
-          owner  = "slackapi";
-          repo   = "python-slackclient";
-          rev    = version;
-          sha256 = "073fwf6fm2sqdp5ms3vm1v3ljh0pldi69k048404rp6iy3cfwkp0";
-        };
-
-        propagatedBuildInputs = with self; [ websocket_client requests six ];
-
-        checkInputs = with self; [ pytest codecov coverage mock pytestcov pytest-mock responses flake8 ];
-        # test_server.py fails because it needs connection (I think);
-        checkPhase = ''
-          py.test --cov-report= --cov=slackclient tests --ignore=tests/test_server.py
-        '';
-      });
-    };
-  };
-
-in
-py.pkgs.buildPythonApplication rec {
+buildPythonApplication rec {
   pname = "errbot";
-  version = "6.1.1";
+  version = "6.1.7";
 
   src = fetchFromGitHub {
     owner = "errbotio";
     repo = "errbot";
     rev = version;
-    sha256 = "1s4dl1za5imwsv6j3y7m47dy91hmqd5n221kkqm9ni4mpzgpffz0";
+    sha256 = "02h44qd3d91zy657hyqsw3gskgxg31848pw6zpb8dhd1x84z5y77";
   };
 
   LC_ALL = "en_US.utf8";
 
   buildInputs = [ glibcLocales ];
-  propagatedBuildInputs = with py.pkgs; [
-    webtest requests jinja2 flask dulwich
-    pyopenssl colorlog markdown ansi pygments
-    daemonize pygments-markdown-lexer telegram irc slackclient
-    sleekxmpp pyasn1 pyasn1-modules hypchat
+
+  propagatedBuildInputs = [
+    ansi
+    colorlog
+    daemonize
+    deepmerge
+    dulwich
+    flask
+    hypchat
+    irc
+    jinja2
+    markdown
+    pyasn1
+    pyasn1-modules
+    pygments
+    pygments-markdown-lexer
+    pyopenssl
+    requests
+    slackclient
+    sleekxmpp
+    telegram
+    webtest
+  ];
+
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
+
+  # Slack backend test has an import issue
+  pytestFlagsArray = [ "--ignore=tests/backend_tests/slack_test.py" ];
+
+  disabledTests = [
+    "backup"
+    "broken_plugin"
+    "plugin_cycle"
   ];
 
-  checkInputs = with py.pkgs; [ mock pytest ];
-  # avoid tests that do network calls
-  checkPhase = ''
-    pytest tests -k 'not backup and not broken_plugin and not plugin_cycle'
-  '';
+  pythonImportsCheck = [ "errbot" ];
 
   meta = with lib; {
     description = "Chatbot designed to be simple to extend with plugins written in Python";
     homepage = "http://errbot.io/";
     maintainers = with maintainers; [ fpletz globin ];
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
     # flaky on darwin, "RuntimeError: can't start new thread"
   };
diff --git a/pkgs/applications/networking/feedreaders/feedreader/default.nix b/pkgs/applications/networking/feedreaders/feedreader/default.nix
index d550a12654701..c9339601a4b3a 100644
--- a/pkgs/applications/networking/feedreaders/feedreader/default.nix
+++ b/pkgs/applications/networking/feedreaders/feedreader/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, nix-update-script, meson, ninja, pkg-config, vala, gettext, python3
 , appstream-glib, desktop-file-utils, wrapGAppsHook, gnome-online-accounts
-, gtk3, libgee, libpeas, librest, webkitgtk, gsettings-desktop-schemas, pantheon
+, gtk3, libgee, libpeas, librest, webkitgtk, gsettings-desktop-schemas
 , curl, glib, gnome3, gst_all_1, json-glib, libnotify, libsecret, sqlite, gumbo, libxml2
 }:
 
diff --git a/pkgs/applications/networking/feedreaders/newsflash/default.nix b/pkgs/applications/networking/feedreaders/newsflash/default.nix
index e8a76b3d491ac..6c135439322a1 100644
--- a/pkgs/applications/networking/feedreaders/newsflash/default.nix
+++ b/pkgs/applications/networking/feedreaders/newsflash/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , rustPlatform
 , fetchFromGitLab
 , meson
@@ -17,25 +18,33 @@
 , gst_all_1
 }:
 
-rustPlatform.buildRustPackage rec {
+stdenv.mkDerivation rec {
   pname = "newsflash";
-  version = "1.1.1";
+  version = "1.3.0";
 
   src = fetchFromGitLab {
     owner = "news-flash";
     repo = "news_flash_gtk";
     rev = version;
-    sha256 = "1z47h23g87dqmr9sfjl36fs5xjm2wj7z2bri9g0a4jcpwzl5awsd";
+    hash = "sha256-Vu8PXdnayrglAFVfO+WZTzk4Qrb/3uqzQIwClnRHto8=";
   };
 
-  cargoSha256 = "0rnrdh9ganj63hf9j890yj9pahcgza95z7x020w72mbb4648hq26";
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "${pname}-${version}";
+    hash = "sha256-dWumQi/Bk7w2C8zVVExxguWchZU+K2qTC02otsiK9jA=";
+  };
 
   patches = [
+    # Post install tries to generate an icon cache & update the
+    # desktop database. The gtk setup hook drop-icon-theme-cache.sh
+    # would strip out the icon cache and the desktop database wouldn't
+    # be included in $out. They will generated by xdg.mime.enable &
+    # gtk.iconCache.enable instead.
     ./no-post-install.patch
   ];
 
   postPatch = ''
-    chmod +x build-aux/cargo.sh
     patchShebangs .
   '';
 
@@ -50,7 +59,11 @@ rustPlatform.buildRustPackage rec {
 
     # Provides glib-compile-resources to compile gresources
     glib
-  ];
+  ] ++ (with rustPlatform; [
+    cargoSetupHook
+    rust.cargo
+    rust.rustc
+  ]);
 
   buildInputs = [
     gtk3
@@ -72,13 +85,6 @@ rustPlatform.buildRustPackage rec {
     gst-plugins-bad
   ]);
 
-  # Unset default rust phases to use meson & ninja instead
-  configurePhase = null;
-  buildPhase = null;
-  checkPhase = null;
-  installPhase = null;
-  installCheckPhase = null;
-
   meta = with lib; {
     description = "A modern feed reader designed for the GNOME desktop";
     homepage = "https://gitlab.com/news-flash/news_flash_gtk";
diff --git a/pkgs/applications/networking/feedreaders/rssguard/default.nix b/pkgs/applications/networking/feedreaders/rssguard/default.nix
index 93b7c62ad9620..1438d61f9995a 100644
--- a/pkgs/applications/networking/feedreaders/rssguard/default.nix
+++ b/pkgs/applications/networking/feedreaders/rssguard/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rssguard";
-  version = "3.8.3";
+  version = "3.9.0";
 
   src = fetchFromGitHub {
     owner = "martinrotter";
     repo = pname;
     rev = version;
-    sha256 = "1704nj77h6s88l4by3wxl5l770gaig90mv3ix80r00nh8mhzq44q";
+    sha256 = "sha256-pprWJIYAFYSTPhWVCW4dz3GWeAS53Vo8UXiyQ56Mwjo=";
   };
 
   buildInputs =  [ qtwebengine qttools ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
       for ownCloud/Nextcloud.
     '';
     homepage = "https://github.com/martinrotter/rssguard";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ jluttine ];
   };
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index 2e5713627e4b0..9daa4992da090 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "FlexGet";
-  version = "3.1.98";
+  version = "3.1.103";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "d2d17a5ea821a580c55680294fce9ecf7012ef86c086c742414ec5bcb8468972";
+    sha256 = "da635a01ae7d15ba31b41081ab3e0214b8c5ab5e4662c381246495d7d1eba9be";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index 4c47c316753e5..877cdec4ca8d5 100644
--- a/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -12,7 +12,7 @@
 , sqlite
 , tinyxml
 , wxGTK30-gtk3
-, xdg_utils
+, xdg-utils
 }:
 
 stdenv.mkDerivation rec {
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
     tinyxml
     wxGTK30-gtk3
     wxGTK30-gtk3.gtk
-    xdg_utils
+    xdg-utils
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/networking/gns3/default.nix b/pkgs/applications/networking/gns3/default.nix
index 3d22dca36d956..b3d8a5b3fead1 100644
--- a/pkgs/applications/networking/gns3/default.nix
+++ b/pkgs/applications/networking/gns3/default.nix
@@ -1,7 +1,7 @@
 { callPackage, libsForQt5 }:
 
 let
-  stableVersion = "2.2.17";
+  stableVersion = "2.2.18";
   previewVersion = stableVersion;
   addVersion = args:
     let version = if args.stable then stableVersion else previewVersion;
@@ -26,8 +26,8 @@ let
   };
   mkGui = args: libsForQt5.callPackage (import ./gui.nix (addVersion args // extraArgs)) { };
   mkServer = args: callPackage (import ./server.nix (addVersion args // extraArgs)) { };
-  guiSrcHash = "0dfyxr983w6lmbcvaf32bnm9cz7y7fp9jfaz8zxp1dvr6dr06cmv";
-  serverSrcHash = "0m5ajd2zkafx89hvp202m351h1dygfc3jssl3m7nd7r42csyi2vj";
+  guiSrcHash = "118z6asl6hsv0777rld4plnrwzkbkh3gb9lg9i6bqrjs93p028fw";
+  serverSrcHash = "0gd37zpvibhlvqqpflpwlrgg8g9rpbxwi9w9fsym00mfwf7sdd3b";
 in {
   guiStable = mkGui {
     stable = true;
diff --git a/pkgs/applications/networking/gns3/server.nix b/pkgs/applications/networking/gns3/server.nix
index 62fdfd71f235a..5ba6b57d5bd78 100644
--- a/pkgs/applications/networking/gns3/server.nix
+++ b/pkgs/applications/networking/gns3/server.nix
@@ -34,10 +34,8 @@ in python.pkgs.buildPythonPackage {
   };
 
   postPatch = ''
-    # yarl 1.4+ only requires Python 3.6+
     substituteInPlace requirements.txt \
-      --replace "aiohttp==3.6.2" "aiohttp>=3.6.2" \
-      --replace "yarl==1.3.0" ""
+      --replace "aiohttp==3.6.2" "aiohttp>=3.6.2"
   '';
 
   propagatedBuildInputs = with python.pkgs; [
diff --git a/pkgs/applications/networking/gopher/sacc/default.nix b/pkgs/applications/networking/gopher/sacc/default.nix
index a3ead49c69f30..046ae42ebcb77 100644
--- a/pkgs/applications/networking/gopher/sacc/default.nix
+++ b/pkgs/applications/networking/gopher/sacc/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sacc";
-  version = "1.02";
+  version = "1.03";
 
   src = fetchurl {
     url = "ftp://bitreich.org/releases/sacc/sacc-${version}.tgz";
-    sha512 = "18ja95cscgjaj1xqn70dj0482f76d0561bdcc47flqfsjh4mqckjqr65qv7awnw6rzm03i5cp45j1qx12y0y83skgsar4pplmy8q014";
+    sha512 = "sha512-vOjAGBM2+080JZv4C4b5dNRTTX45evWFEJfK1DRaWCYrHRCAe07QdEIrHhbaIxhSYfrBd3D1y75rmDnuPC4THA==";
   };
 
   inherit patches;
diff --git a/pkgs/applications/networking/ids/snort/default.nix b/pkgs/applications/networking/ids/snort/default.nix
index 17ace3021d870..714ca1c8990f3 100644
--- a/pkgs/applications/networking/ids/snort/default.nix
+++ b/pkgs/applications/networking/ids/snort/default.nix
@@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
     sha256 = "13lzvjli6kbsnkd7lf0rm71l2mnz38pxk76ia9yrjb6clfhlbb73";
   };
 
-  buildInputs = [ makeWrapper pkg-config luajit openssl libpcap pcre libdnet daq zlib flex bison libtirpc ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ pkg-config luajit openssl libpcap pcre libdnet daq zlib flex bison libtirpc ];
 
   NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
 
diff --git a/pkgs/applications/networking/ids/zeek/default.nix b/pkgs/applications/networking/ids/zeek/default.nix
index f7b526f29b558..e5223c35fa35b 100644
--- a/pkgs/applications/networking/ids/zeek/default.nix
+++ b/pkgs/applications/networking/ids/zeek/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
 , cmake
 , flex
@@ -16,25 +17,20 @@
 , fetchpatch
 , coreutils
 }:
-let
-  preConfigure = (import ./script.nix {inherit coreutils;});
-in
+
 stdenv.mkDerivation rec {
   pname = "zeek";
-  version = "3.2.3";
+  version = "3.2.4";
 
   src = fetchurl {
     url = "https://download.zeek.org/zeek-${version}.tar.gz";
-    sha256 = "1in25clpbb2vdhms3iypj6r5sp8d1dxjcfn85c272sh7shnmqagr";
+    sha256 = "11dy4w810jms75nrr3n3dy5anrl5ksb5pmnk31z37k60hg9q9afm";
   };
 
   nativeBuildInputs = [ cmake flex bison file ];
   buildInputs = [ openssl libpcap zlib curl libmaxminddb gperftools python swig ]
     ++ lib.optionals stdenv.isDarwin [ gettext ];
 
-  #see issue https://github.com/zeek/zeek/issues/804 to modify hardlinking duplicate files.
-  inherit preConfigure;
-
   patches = lib.optionals stdenv.cc.isClang [
     # Fix pybind c++17 build with Clang. See: https://github.com/pybind/pybind11/issues/1604
     (fetchpatch {
@@ -51,6 +47,18 @@ stdenv.mkDerivation rec {
     "-DINSTALL_AUX_TOOLS=true"
   ];
 
+  postInstall = ''
+    for file in $out/share/zeek/base/frameworks/notice/actions/pp-alarms.zeek $out/share/zeek/base/frameworks/notice/main.zeek; do
+      substituteInPlace $file \
+         --replace "/bin/rm" "${coreutils}/bin/rm" \
+         --replace "/bin/cat" "${coreutils}/bin/cat"
+    done
+
+    for file in $out/share/zeek/policy/misc/trim-trace-file.zeek $out/share/zeek/base/frameworks/logging/postprocessors/scp.zeek $out/share/zeek/base/frameworks/logging/postprocessors/sftp.zeek; do
+      substituteInPlace $file --replace "/bin/rm" "${coreutils}/bin/rm"
+    done
+  '';
+
   meta = with lib; {
     description = "Powerful network analysis framework much different from a typical IDS";
     homepage = "https://www.zeek.org";
diff --git a/pkgs/applications/networking/ids/zeek/script.nix b/pkgs/applications/networking/ids/zeek/script.nix
deleted file mode 100644
index 4c8bbcf22c032..0000000000000
--- a/pkgs/applications/networking/ids/zeek/script.nix
+++ /dev/null
@@ -1,69 +0,0 @@
-{coreutils}:
-''
-   sed -i 's|/bin/mv|${coreutils}/bin/mv|' scripts/base/frameworks/logging/writers/ascii.zeek
-   sed -i 's|/bin/mv|${coreutils}/bin/mv|' scripts/policy/misc/trim-trace-file.zeek
-   sed -i 's|/bin/cat|${coreutils}/bin/cat|' scripts/base/frameworks/notice/actions/pp-alarms.zeek
-   sed -i 's|/bin/cat|${coreutils}/bin/cat|' scripts/base/frameworks/notice/main.zeek
-
-   sed -i "1i##! test dpd" $PWD/scripts/base/frameworks/dpd/__load__.zeek
-   sed -i "1i##! test x509" $PWD/scripts/base/files/x509/__load__.zeek
-   sed -i "1i##! test files-extract" $PWD/scripts/base/files/extract/__load__.zeek
-   sed -i "1i##! test files-hash" $PWD/scripts/base/files/hash/__load__.zeek
-   sed -i "1i##! test files-pe" $PWD/scripts/base/files/pe/__load__.zeek
-   sed -i "1i##! test analyzer" $PWD/scripts/base/frameworks/analyzer/__load__.zeek
-   sed -i "1i##! test cluster" $PWD/scripts/base/frameworks/cluster/__load__.zeek
-   sed -i "1i##! test config" $PWD/scripts/base/frameworks/config/__load__.zeek
-   sed -i "1i##! test contro" $PWD/scripts/base/frameworks/control/__load__.zeek
-   sed -i "1i##! test files" $PWD/scripts/base/frameworks/files/__load__.zeek
-   sed -i "1i##! test files-magic" $PWD/scripts/base/frameworks/files/magic/__load__.zeek
-   sed -i "1i##! test input" $PWD/scripts/base/frameworks/input/__load__.zeek
-   sed -i "1i##! test intel" $PWD/scripts/base/frameworks/intel/__load__.zeek
-   sed -i "1i##! test logging" $PWD/scripts/base/frameworks/logging/__load__.zeek
-   sed -i "1i##! test logging-postprocessors" $PWD/scripts/base/frameworks/logging/postprocessors/__load__.zeek
-   sed -i "1i##! test netcontrol" $PWD/scripts/base/frameworks/netcontrol/__load__.zeek
-   sed -i "1i##! test netcontrol-plugins" $PWD/scripts/base/frameworks/netcontrol/plugins/__load__.zeek
-   sed -i "1i##! test notice" $PWD/scripts/base/frameworks/notice/__load__.zeek
-   sed -i "1i##! test openflow" $PWD/scripts/base/frameworks/openflow/__load__.zeek
-   sed -i "1i##! test openflow-plugins" $PWD/scripts/base/frameworks/openflow/plugins/__load__.zeek
-   sed -i "1i##! test packet-filter" $PWD/scripts/base/frameworks/packet-filter/__load__.zeek
-   sed -i "1i##! test reporter" $PWD/scripts/base/frameworks/reporter/__load__.zeek
-   sed -i "1i##! test signatures" $PWD/scripts/base/frameworks/signatures/__load__.zeek
-   sed -i "1i##! test software" $PWD/scripts/base/frameworks/software/__load__.zeek
-   sed -i "1i##! test sumstats" $PWD/scripts/base/frameworks/sumstats/__load__.zeek
-   sed -i "1i##! test sumstats-plugins" $PWD/scripts/base/frameworks/sumstats/plugins/__load__.zeek
-   sed -i "1i##! test conn" $PWD/scripts/base/protocols/conn/__load__.zeek
-   sed -i "1i##! test dce-rpc" $PWD/scripts/base/protocols/dce-rpc/__load__.zeek
-   sed -i "1i##! test dhcp" $PWD/scripts/base/protocols/dhcp/__load__.zeek
-   sed -i "1i##! test dnp3" $PWD/scripts/base/protocols/dnp3/__load__.zeek
-   sed -i "1i##! test dns" $PWD/scripts/base/protocols/dns/__load__.zeek
-   sed -i "1i##! test ftp" $PWD/scripts/base/protocols/ftp/__load__.zeek
-   sed -i "1i##! test http" $PWD/scripts/base/protocols/http/__load__.zeek
-   sed -i "1i##! test tunnels" $PWD/scripts/base/protocols/tunnels/__load__.zeek
-   sed -i "1i##! test imap" $PWD/scripts/base/protocols/imap/__load__.zeek
-   sed -i "1i##! test irc" $PWD/scripts/base/protocols/irc/__load__.zeek
-   sed -i "1i##! test krb" $PWD/scripts/base/protocols/krb/__load__.zeek
-   sed -i "1i##! test modbus" $PWD/scripts/base/protocols/modbus/__load__.zeek
-   sed -i "1i##! test mqtt" $PWD/scripts/base/protocols/mqtt/__load__.zeek
-   sed -i "1i##! test mysql" $PWD/scripts/base/protocols/mysql/__load__.zeek
-   sed -i "1i##! test ntlm" $PWD/scripts/base/protocols/ntlm/__load__.zeek
-   sed -i "1i##! test ntp" $PWD/scripts/base/protocols/ntp/__load__.zeek
-   sed -i "1i##! test pop3" $PWD/scripts/base/protocols/pop3/__load__.zeek
-   sed -i "1i##! test radius" $PWD/scripts/base/protocols/radius/__load__.zeek
-   sed -i "1i##! test rdp" $PWD/scripts/base/protocols/rdp/__load__.zeek
-   sed -i "1i##! test rfb" $PWD/scripts/base/protocols/rfb/__load__.zeek
-   sed -i "1i##! test sip" $PWD/scripts/base/protocols/sip/__load__.zeek
-   sed -i "1i##! test smb" $PWD/scripts/base/protocols/smb/__load__.zeek
-   sed -i "1i##! test smtp" $PWD/scripts/base/protocols/smtp/__load__.zeek
-   sed -i "1i##! test snmp" $PWD/scripts/base/protocols/snmp/__load__.zeek
-   sed -i "1i##! test socks" $PWD/scripts/base/protocols/socks/__load__.zeek
-   sed -i "1i##! test ssh" $PWD/scripts/base/protocols/ssh/__load__.zeek
-   sed -i "1i##! test ssl" $PWD/scripts/base/protocols/ssl/__load__.zeek
-   sed -i "1i##! test syslog" $PWD/scripts/base/protocols/syslog/__load__.zeek
-   sed -i "1i##! test xmpp" $PWD/scripts/base/protocols/xmpp/__load__.zeek
-   sed -i "1i##! test unified2" $PWD/scripts/policy/files/unified2/__load__.zeek
-   sed -i "1i##! test intel-seen" $PWD/scripts/policy/frameworks/intel/seen/__load__.zeek
-   sed -i "1i##! test notice" $PWD/scripts/policy/frameworks/notice/__load__.zeek
-   sed -i "1i##! test barnyard2" $PWD/scripts/policy/integration/barnyard2/__load__.zeek
-   sed -i "1i##! test collective-intel" $PWD/scripts/policy/integration/collective-intel/__load__.zeek
-   sed -i "1i##! test detect-traceroute" $PWD/scripts/policy/misc/detect-traceroute/__load__.zeek
-''
diff --git a/pkgs/applications/networking/instant-messengers/bitlbee-facebook/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee-facebook/default.nix
index 8023c70fe5fd0..95bf8c0266275 100644
--- a/pkgs/applications/networking/instant-messengers/bitlbee-facebook/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bitlbee-facebook/default.nix
@@ -1,6 +1,5 @@
-{ lib, fetchFromGitHub, stdenv, bitlbee, autoconf, automake, libtool, pkg-config, glib, json-glib }:
+{ lib, fetchFromGitHub, fetchpatch, stdenv, bitlbee, autoconf, automake, libtool, pkg-config, json-glib }:
 
-with lib;
 stdenv.mkDerivation rec {
   pname = "bitlbee-facebook";
   version = "1.2.1";
@@ -12,6 +11,17 @@ stdenv.mkDerivation rec {
     sha256 = "1yjhjhk3jzjip13lq009vlg84lm2lzwhac5jy0aq3vkcz6rp94rc";
   };
 
+  # TODO: This patch should be included with the next release after v1.2.1
+  #       these lines should be removed when this happens.
+  patches = [
+    (fetchpatch {
+        name = "FB_ORCA_AGENT_version_bump.patch";
+        url = "https://github.com/bitlbee/bitlbee-facebook/commit/49ea312d98b0578b9b2c1ff759e2cfa820a41f4d.patch";
+        sha256 = "0nzyyg8pw4f2jcickcpxq7r2la5wgl7q6iz94lhzybrkhss5753d";
+      }
+    )
+  ];
+
   nativeBuildInputs = [ autoconf automake libtool pkg-config ];
 
   buildInputs = [ bitlbee json-glib ];
@@ -21,11 +31,11 @@ stdenv.mkDerivation rec {
     ./autogen.sh
   '';
 
-  meta = {
+  meta = with lib; {
     description = "The Facebook protocol plugin for bitlbee";
-
     homepage = "https://github.com/bitlbee/bitlbee-facebook";
     license = licenses.gpl2Plus;
-    platforms = lib.platforms.linux;
+    maintainers = with maintainers; [ toonn ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/bluejeans/default.nix b/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
index 2360b2442f549..d80ccf0a8fab5 100644
--- a/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
@@ -120,7 +120,7 @@ stdenv.mkDerivation rec {
     description = "Video, audio, and web conferencing that works together with the collaboration tools you use every day";
     homepage = "https://www.bluejeans.com";
     license = licenses.unfree;
-    maintainers = with maintainers; [ veprbl ];
+    maintainers = with maintainers; [ ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/deltachat-electron/default.nix b/pkgs/applications/networking/instant-messengers/deltachat-electron/default.nix
index e58e73fdc85bb..bb5776b65e341 100644
--- a/pkgs/applications/networking/instant-messengers/deltachat-electron/default.nix
+++ b/pkgs/applications/networking/instant-messengers/deltachat-electron/default.nix
@@ -1,21 +1,26 @@
-{ lib, fetchurl, appimageTools }:
+{ lib, fetchurl, appimageTools, gsettings-desktop-schemas, gtk3 }:
 
 let
   pname = "deltachat-electron";
-  version = "1.3.0";
+  version = "1.15.1";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url =
       "https://download.delta.chat/desktop/v${version}/DeltaChat-${version}.AppImage";
-    sha256 = "1xyp8cg11px8rras12sncjmq85alyvz7ycw1v1py8w8rlz60wkij";
+    sha256 = "sha256-lItI1aIFHYQ3wGRVn4Yw0nA7qgfhyHT/43kKbY/1cgI=";
   };
 
   appimageContents = appimageTools.extract { inherit name src; };
 
-in appimageTools.wrapType2 {
+in
+appimageTools.wrapType2 {
   inherit name src;
 
+  profile = ''
+    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
+  '';
+
   extraInstallCommands = ''
     mv $out/bin/${name} $out/bin/${pname}
     install -m 444 -D \
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index 570fe463c5ae2..c7ddc495546dd 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -27,10 +27,10 @@ in {
     pname = "discord-canary";
     binaryName = "DiscordCanary";
     desktopName = "Discord Canary";
-    version = "0.0.116";
+    version = "0.0.119";
     src = fetchurl {
       url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
-      sha256 = "14kg85gz91f9mvvnl5p1lwz40rm47bca3a8dwv4618zv6vncgmkp";
+      sha256 = "0bzrilag7mjfhr84l956xisbaz8mmkmqizg22f9gabgcv85vwzsi";
     };
   };
 }.${branch}
diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json b/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
index 9f60c014c7679..f5f20202fc20f 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
+++ b/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
@@ -2,7 +2,7 @@
   "name": "element-desktop",
   "productName": "Element",
   "main": "src/electron-main.js",
-  "version": "1.7.18",
+  "version": "1.7.21",
   "description": "A feature-rich client for Matrix.org",
   "author": "Element",
   "repository": {
@@ -30,19 +30,19 @@
     "hak": "node scripts/hak/index.js"
   },
   "dependencies": {
-    "auto-launch": "^5.0.1",
-    "electron-store": "^2.0.0",
-    "electron-window-state": "^4.1.0",
+    "auto-launch": "^5.0.5",
+    "electron-store": "^6.0.1",
+    "electron-window-state": "^5.0.3",
     "minimist": "^1.2.3",
-    "png-to-ico": "^2.1.0",
+    "png-to-ico": "^2.1.1",
     "request": "^2.88.2"
   },
   "devDependencies": {
     "asar": "^2.0.1",
-    "electron-builder": "^22.7.0",
-    "electron-builder-squirrel-windows": "^22.7.0",
-    "electron-devtools-installer": "^2.2.4",
-    "electron-notarize": "^0.2.0",
+    "electron-builder": "22.9.1",
+    "electron-builder-squirrel-windows": "22.9.1",
+    "electron-devtools-installer": "^3.1.1",
+    "electron-notarize": "^1.0.0",
     "eslint": "7.3.1",
     "eslint-config-matrix-org": "^0.1.2",
     "find-npm-prefix": "^1.0.2",
@@ -51,10 +51,10 @@
     "mkdirp": "^1.0.3",
     "needle": "^2.5.0",
     "node-pre-gyp": "^0.15.0",
-    "npm": "^6.14.6",
+    "npm": "^6.14.11",
     "rimraf": "^3.0.2",
-    "semver": "^7.1.3",
-    "tar": "^6.0.1"
+    "semver": "^7.3.4",
+    "tar": "^6.1.0"
   },
   "hakDependencies": {
     "matrix-seshat": "^2.2.3",
diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix b/pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix
index 08c3d2554c9a9..a0fb802ac0427 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix
+++ b/pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix
@@ -10,14 +10,6 @@
       };
     }
     {
-      name = "7zip___7zip_0.0.6.tgz";
-      path = fetchurl {
-        name = "7zip___7zip_0.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/7zip/-/7zip-0.0.6.tgz";
-        sha1 = "9cafb171af82329490353b4816f03347aa150a30";
-      };
-    }
-    {
       name = "_babel_code_frame___code_frame_7.5.5.tgz";
       path = fetchurl {
         name = "_babel_code_frame___code_frame_7.5.5.tgz";
@@ -146,251 +138,251 @@
       };
     }
     {
-      name = "_jimp_bmp___bmp_0.9.8.tgz";
+      name = "_jimp_bmp___bmp_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_bmp___bmp_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/bmp/-/bmp-0.9.8.tgz";
-        sha1 = "5933ab8fb359889bec380b0f7802163374933624";
+        name = "_jimp_bmp___bmp_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/bmp/-/bmp-0.16.1.tgz";
+        sha1 = "6e2da655b2ba22e721df0795423f34e92ef13768";
       };
     }
     {
-      name = "_jimp_core___core_0.9.8.tgz";
+      name = "_jimp_core___core_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_core___core_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/core/-/core-0.9.8.tgz";
-        sha1 = "b2b74263a80559c0ee244e0f2d1052b36a358b85";
+        name = "_jimp_core___core_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/core/-/core-0.16.1.tgz";
+        sha1 = "68c4288f6ef7f31a0f6b859ba3fb28dae930d39d";
       };
     }
     {
-      name = "_jimp_custom___custom_0.9.8.tgz";
+      name = "_jimp_custom___custom_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_custom___custom_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/custom/-/custom-0.9.8.tgz";
-        sha1 = "1e9d904b1b05aa22b00b899baba2be7c0704a5d1";
+        name = "_jimp_custom___custom_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/custom/-/custom-0.16.1.tgz";
+        sha1 = "28b659c59e20a1d75a0c46067bd3f4bd302cf9c5";
       };
     }
     {
-      name = "_jimp_gif___gif_0.9.8.tgz";
+      name = "_jimp_gif___gif_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_gif___gif_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/gif/-/gif-0.9.8.tgz";
-        sha1 = "513aff511634c338d1ab33a7bba1ba3412220b5b";
+        name = "_jimp_gif___gif_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/gif/-/gif-0.16.1.tgz";
+        sha1 = "d1f7c3a58f4666482750933af8b8f4666414f3ca";
       };
     }
     {
-      name = "_jimp_jpeg___jpeg_0.9.8.tgz";
+      name = "_jimp_jpeg___jpeg_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_jpeg___jpeg_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/jpeg/-/jpeg-0.9.8.tgz";
-        sha1 = "8c086f69d0e8c46e43a7db9725576edc30925cb1";
+        name = "_jimp_jpeg___jpeg_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/jpeg/-/jpeg-0.16.1.tgz";
+        sha1 = "3b7bb08a4173f2f6d81f3049b251df3ee2ac8175";
       };
     }
     {
-      name = "_jimp_plugin_blit___plugin_blit_0.9.8.tgz";
+      name = "_jimp_plugin_blit___plugin_blit_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_plugin_blit___plugin_blit_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/plugin-blit/-/plugin-blit-0.9.8.tgz";
-        sha1 = "916bf6f261e6a91dbecca0ca866b8d9cba563753";
+        name = "_jimp_plugin_blit___plugin_blit_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/plugin-blit/-/plugin-blit-0.16.1.tgz";
+        sha1 = "09ea919f9d326de3b9c2826fe4155da37dde8edb";
       };
     }
     {
-      name = "_jimp_plugin_blur___plugin_blur_0.9.8.tgz";
+      name = "_jimp_plugin_blur___plugin_blur_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_plugin_blur___plugin_blur_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/plugin-blur/-/plugin-blur-0.9.8.tgz";
-        sha1 = "00055d54b90532b7951dae377b3e40352c187f07";
+        name = "_jimp_plugin_blur___plugin_blur_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/plugin-blur/-/plugin-blur-0.16.1.tgz";
+        sha1 = "e614fa002797dcd662e705d4cea376e7db968bf5";
       };
     }
     {
-      name = "_jimp_plugin_circle___plugin_circle_0.9.8.tgz";
+      name = "_jimp_plugin_circle___plugin_circle_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_plugin_circle___plugin_circle_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/plugin-circle/-/plugin-circle-0.9.8.tgz";
-        sha1 = "5de8735f32f931d9160d0f5211e9aab6413a1d4b";
+        name = "_jimp_plugin_circle___plugin_circle_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/plugin-circle/-/plugin-circle-0.16.1.tgz";
+        sha1 = "20e3194a67ca29740aba2630fd4d0a89afa27491";
       };
     }
     {
-      name = "_jimp_plugin_color___plugin_color_0.9.8.tgz";
+      name = "_jimp_plugin_color___plugin_color_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_plugin_color___plugin_color_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/plugin-color/-/plugin-color-0.9.8.tgz";
-        sha1 = "3c633f22955a4f5013025e9e9e78a267ac4c3a88";
+        name = "_jimp_plugin_color___plugin_color_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/plugin-color/-/plugin-color-0.16.1.tgz";
+        sha1 = "0f298ba74dee818b663834cd80d53e56f3755233";
       };
     }
     {
-      name = "_jimp_plugin_contain___plugin_contain_0.9.8.tgz";
+      name = "_jimp_plugin_contain___plugin_contain_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_plugin_contain___plugin_contain_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/plugin-contain/-/plugin-contain-0.9.8.tgz";
-        sha1 = "f892fb7fc87134a47b37281f0ff17d608f3e51af";
+        name = "_jimp_plugin_contain___plugin_contain_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/plugin-contain/-/plugin-contain-0.16.1.tgz";
+        sha1 = "3c5f5c495fd9bb08a970739d83694934f58123f2";
       };
     }
     {
-      name = "_jimp_plugin_cover___plugin_cover_0.9.8.tgz";
+      name = "_jimp_plugin_cover___plugin_cover_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_plugin_cover___plugin_cover_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/plugin-cover/-/plugin-cover-0.9.8.tgz";
-        sha1 = "37474b19027ac0155100b71ca17266aab19e50fc";
+        name = "_jimp_plugin_cover___plugin_cover_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/plugin-cover/-/plugin-cover-0.16.1.tgz";
+        sha1 = "0e8caec16a40abe15b1b32e5383a603a3306dc41";
       };
     }
     {
-      name = "_jimp_plugin_crop___plugin_crop_0.9.8.tgz";
+      name = "_jimp_plugin_crop___plugin_crop_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_plugin_crop___plugin_crop_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/plugin-crop/-/plugin-crop-0.9.8.tgz";
-        sha1 = "2308696597a8bcb528d09eeebbbadb22248e7c1c";
+        name = "_jimp_plugin_crop___plugin_crop_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/plugin-crop/-/plugin-crop-0.16.1.tgz";
+        sha1 = "b362497c873043fe47ba881ab08604bf7226f50f";
       };
     }
     {
-      name = "_jimp_plugin_displace___plugin_displace_0.9.8.tgz";
+      name = "_jimp_plugin_displace___plugin_displace_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_plugin_displace___plugin_displace_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/plugin-displace/-/plugin-displace-0.9.8.tgz";
-        sha1 = "00331047039cb2d0d9d5f7c3d8ce542e07eea791";
+        name = "_jimp_plugin_displace___plugin_displace_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/plugin-displace/-/plugin-displace-0.16.1.tgz";
+        sha1 = "4dd9db518c3e78de9d723f86a234bf98922afe8d";
       };
     }
     {
-      name = "_jimp_plugin_dither___plugin_dither_0.9.8.tgz";
+      name = "_jimp_plugin_dither___plugin_dither_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_plugin_dither___plugin_dither_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/plugin-dither/-/plugin-dither-0.9.8.tgz";
-        sha1 = "9cca12997f2917f27d5681275b32affdb3083450";
+        name = "_jimp_plugin_dither___plugin_dither_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/plugin-dither/-/plugin-dither-0.16.1.tgz";
+        sha1 = "b47de2c0bb09608bed228b41c3cd01a85ec2d45b";
       };
     }
     {
-      name = "_jimp_plugin_fisheye___plugin_fisheye_0.9.8.tgz";
+      name = "_jimp_plugin_fisheye___plugin_fisheye_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_plugin_fisheye___plugin_fisheye_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/plugin-fisheye/-/plugin-fisheye-0.9.8.tgz";
-        sha1 = "e3f5f616ec06a9ef99aa268446f0096eac863437";
+        name = "_jimp_plugin_fisheye___plugin_fisheye_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/plugin-fisheye/-/plugin-fisheye-0.16.1.tgz";
+        sha1 = "f625047b6cdbe1b83b89e9030fd025ab19cdb1a4";
       };
     }
     {
-      name = "_jimp_plugin_flip___plugin_flip_0.9.8.tgz";
+      name = "_jimp_plugin_flip___plugin_flip_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_plugin_flip___plugin_flip_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/plugin-flip/-/plugin-flip-0.9.8.tgz";
-        sha1 = "c00559a8543a684c7cff4d1128b7152e598fbb1c";
+        name = "_jimp_plugin_flip___plugin_flip_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/plugin-flip/-/plugin-flip-0.16.1.tgz";
+        sha1 = "7a99ea22bde802641017ed0f2615870c144329bb";
       };
     }
     {
-      name = "_jimp_plugin_gaussian___plugin_gaussian_0.9.8.tgz";
+      name = "_jimp_plugin_gaussian___plugin_gaussian_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_plugin_gaussian___plugin_gaussian_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/plugin-gaussian/-/plugin-gaussian-0.9.8.tgz";
-        sha1 = "d1666167ce1b947b65db5093bb9a00d319bcfe4d";
+        name = "_jimp_plugin_gaussian___plugin_gaussian_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/plugin-gaussian/-/plugin-gaussian-0.16.1.tgz";
+        sha1 = "0845e314085ccd52e34fad9a83949bc0d81a68e8";
       };
     }
     {
-      name = "_jimp_plugin_invert___plugin_invert_0.9.8.tgz";
+      name = "_jimp_plugin_invert___plugin_invert_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_plugin_invert___plugin_invert_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/plugin-invert/-/plugin-invert-0.9.8.tgz";
-        sha1 = "41d6e87faf01a5d8fe7554e322d2aad25f596ab1";
+        name = "_jimp_plugin_invert___plugin_invert_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/plugin-invert/-/plugin-invert-0.16.1.tgz";
+        sha1 = "7e6f5a15707256f3778d06921675bbcf18545c97";
       };
     }
     {
-      name = "_jimp_plugin_mask___plugin_mask_0.9.8.tgz";
+      name = "_jimp_plugin_mask___plugin_mask_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_plugin_mask___plugin_mask_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/plugin-mask/-/plugin-mask-0.9.8.tgz";
-        sha1 = "fe92132db1a2b9f7718226bc3c37794dd148ce36";
+        name = "_jimp_plugin_mask___plugin_mask_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/plugin-mask/-/plugin-mask-0.16.1.tgz";
+        sha1 = "e7f2460e05c3cda7af5e76f33ccb0579f66f90df";
       };
     }
     {
-      name = "_jimp_plugin_normalize___plugin_normalize_0.9.8.tgz";
+      name = "_jimp_plugin_normalize___plugin_normalize_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_plugin_normalize___plugin_normalize_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/plugin-normalize/-/plugin-normalize-0.9.8.tgz";
-        sha1 = "05646aa15b6a789c4ba447edcad77c83c1d51f16";
+        name = "_jimp_plugin_normalize___plugin_normalize_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/plugin-normalize/-/plugin-normalize-0.16.1.tgz";
+        sha1 = "032dfd88eefbc4dedc8b1b2d243832e4f3af30c8";
       };
     }
     {
-      name = "_jimp_plugin_print___plugin_print_0.9.8.tgz";
+      name = "_jimp_plugin_print___plugin_print_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_plugin_print___plugin_print_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/plugin-print/-/plugin-print-0.9.8.tgz";
-        sha1 = "808f723176d0a57186d7558290c7e53a7a8bf812";
+        name = "_jimp_plugin_print___plugin_print_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/plugin-print/-/plugin-print-0.16.1.tgz";
+        sha1 = "66b803563f9d109825970714466e6ab9ae639ff6";
       };
     }
     {
-      name = "_jimp_plugin_resize___plugin_resize_0.9.8.tgz";
+      name = "_jimp_plugin_resize___plugin_resize_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_plugin_resize___plugin_resize_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/plugin-resize/-/plugin-resize-0.9.8.tgz";
-        sha1 = "eef750b77f1cc06e8bcf9b390860c95c489dcc02";
+        name = "_jimp_plugin_resize___plugin_resize_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/plugin-resize/-/plugin-resize-0.16.1.tgz";
+        sha1 = "65e39d848ed13ba2d6c6faf81d5d590396571d10";
       };
     }
     {
-      name = "_jimp_plugin_rotate___plugin_rotate_0.9.8.tgz";
+      name = "_jimp_plugin_rotate___plugin_rotate_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_plugin_rotate___plugin_rotate_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/plugin-rotate/-/plugin-rotate-0.9.8.tgz";
-        sha1 = "5eba01f75a397777c6782b7999c9ac6c7ed8a411";
+        name = "_jimp_plugin_rotate___plugin_rotate_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/plugin-rotate/-/plugin-rotate-0.16.1.tgz";
+        sha1 = "53fb5d51a4b3d05af9c91c2a8fffe5d7a1a47c8c";
       };
     }
     {
-      name = "_jimp_plugin_scale___plugin_scale_0.9.8.tgz";
+      name = "_jimp_plugin_scale___plugin_scale_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_plugin_scale___plugin_scale_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/plugin-scale/-/plugin-scale-0.9.8.tgz";
-        sha1 = "c875d5e0b377b15b8b398ee402f45e3fc43fea40";
+        name = "_jimp_plugin_scale___plugin_scale_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/plugin-scale/-/plugin-scale-0.16.1.tgz";
+        sha1 = "89f6ba59feed3429847ed226aebda33a240cc647";
       };
     }
     {
-      name = "_jimp_plugin_shadow___plugin_shadow_0.9.8.tgz";
+      name = "_jimp_plugin_shadow___plugin_shadow_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_plugin_shadow___plugin_shadow_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/plugin-shadow/-/plugin-shadow-0.9.8.tgz";
-        sha1 = "ca2d18afa29a1027b77b3e1fb2ce7d4e073a7170";
+        name = "_jimp_plugin_shadow___plugin_shadow_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/plugin-shadow/-/plugin-shadow-0.16.1.tgz";
+        sha1 = "a7af892a740febf41211e10a5467c3c5c521a04c";
       };
     }
     {
-      name = "_jimp_plugin_threshold___plugin_threshold_0.9.8.tgz";
+      name = "_jimp_plugin_threshold___plugin_threshold_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_plugin_threshold___plugin_threshold_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/plugin-threshold/-/plugin-threshold-0.9.8.tgz";
-        sha1 = "2d1dde0791f70b2ff2d0b915cab8d40b0e446594";
+        name = "_jimp_plugin_threshold___plugin_threshold_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/plugin-threshold/-/plugin-threshold-0.16.1.tgz";
+        sha1 = "34f3078f9965145b7ae26c53a32ad74b1195bbf5";
       };
     }
     {
-      name = "_jimp_plugins___plugins_0.9.8.tgz";
+      name = "_jimp_plugins___plugins_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_plugins___plugins_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/plugins/-/plugins-0.9.8.tgz";
-        sha1 = "5279dfe22d0d27633f4201ab36103e587b32eb85";
+        name = "_jimp_plugins___plugins_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/plugins/-/plugins-0.16.1.tgz";
+        sha1 = "9f08544c97226d6460a16ced79f57e85bec3257b";
       };
     }
     {
-      name = "_jimp_png___png_0.9.8.tgz";
+      name = "_jimp_png___png_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_png___png_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/png/-/png-0.9.8.tgz";
-        sha1 = "f88dacc9b9da1c2ea8e91026a9530d0fb45c4409";
+        name = "_jimp_png___png_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/png/-/png-0.16.1.tgz";
+        sha1 = "f24cfc31529900b13a2dd9d4fdb4460c1e4d814e";
       };
     }
     {
-      name = "_jimp_tiff___tiff_0.9.8.tgz";
+      name = "_jimp_tiff___tiff_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_tiff___tiff_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/tiff/-/tiff-0.9.8.tgz";
-        sha1 = "91dc3eab2f222e23414f139e917f3407caa73560";
+        name = "_jimp_tiff___tiff_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/tiff/-/tiff-0.16.1.tgz";
+        sha1 = "0e8756695687d7574b6bc73efab0acd4260b7a12";
       };
     }
     {
-      name = "_jimp_types___types_0.9.8.tgz";
+      name = "_jimp_types___types_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_types___types_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/types/-/types-0.9.8.tgz";
-        sha1 = "46980a4a7bfcadf2f0484d187c32b4e7d6d61b8e";
+        name = "_jimp_types___types_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/types/-/types-0.16.1.tgz";
+        sha1 = "0dbab37b3202315c91010f16c31766d35a2322cc";
       };
     }
     {
-      name = "_jimp_utils___utils_0.9.8.tgz";
+      name = "_jimp_utils___utils_0.16.1.tgz";
       path = fetchurl {
-        name = "_jimp_utils___utils_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/@jimp/utils/-/utils-0.9.8.tgz";
-        sha1 = "6a6f47158ec6b424f03df0f55f0baff5b4b5e096";
+        name = "_jimp_utils___utils_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jimp/utils/-/utils-0.16.1.tgz";
+        sha1 = "2f51e6f14ff8307c4aa83d5e1a277da14a9fe3f7";
       };
     }
     {
@@ -466,11 +458,11 @@
       };
     }
     {
-      name = "_types_node___node_13.13.21.tgz";
+      name = "_types_node___node_14.14.21.tgz";
       path = fetchurl {
-        name = "_types_node___node_13.13.21.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-13.13.21.tgz";
-        sha1 = "e48d3c2e266253405cf404c8654d1bcf0d333e5c";
+        name = "_types_node___node_14.14.21.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.14.21.tgz";
+        sha1 = "d934aacc22424fe9622ebf6857370c052eae464e";
       };
     }
     {
@@ -626,6 +618,14 @@
       };
     }
     {
+      name = "ajv___ajv_6.12.6.tgz";
+      path = fetchurl {
+        name = "ajv___ajv_6.12.6.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz";
+        sha1 = "baf5a62e802b07d977034586f8c3baf5adf26df4";
+      };
+    }
+    {
       name = "ajv___ajv_6.12.5.tgz";
       path = fetchurl {
         name = "ajv___ajv_6.12.5.tgz";
@@ -738,19 +738,19 @@
       };
     }
     {
-      name = "app_builder_bin___app_builder_bin_3.5.9.tgz";
+      name = "app_builder_bin___app_builder_bin_3.5.10.tgz";
       path = fetchurl {
-        name = "app_builder_bin___app_builder_bin_3.5.9.tgz";
-        url  = "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.9.tgz";
-        sha1 = "a3ac0c25286bac68357321cb2eaf7128b0bc0a4f";
+        name = "app_builder_bin___app_builder_bin_3.5.10.tgz";
+        url  = "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.10.tgz";
+        sha1 = "4a7f9999fccc0c435b6284ae1366bc76a17c4a7d";
       };
     }
     {
-      name = "app_builder_lib___app_builder_lib_22.7.0.tgz";
+      name = "app_builder_lib___app_builder_lib_22.9.1.tgz";
       path = fetchurl {
-        name = "app_builder_lib___app_builder_lib_22.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.7.0.tgz";
-        sha1 = "ccd3e7ece2d46bc209423a77aa142f74aaf65db0";
+        name = "app_builder_lib___app_builder_lib_22.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.9.1.tgz";
+        sha1 = "ccb8f1a02b628514a5dfab9401fa2a976689415c";
       };
     }
     {
@@ -786,11 +786,11 @@
       };
     }
     {
-      name = "archiver___archiver_4.0.1.tgz";
+      name = "archiver___archiver_5.2.0.tgz";
       path = fetchurl {
-        name = "archiver___archiver_4.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/archiver/-/archiver-4.0.1.tgz";
-        sha1 = "3f722b121777e361ca9fad374ecda38e77e63c7f";
+        name = "archiver___archiver_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/archiver/-/archiver-5.2.0.tgz";
+        sha1 = "25aa1b3d9febf7aec5b0f296e77e69960c26db94";
       };
     }
     {
@@ -898,11 +898,11 @@
       };
     }
     {
-      name = "async___async_2.6.3.tgz";
+      name = "async___async_3.2.0.tgz";
       path = fetchurl {
-        name = "async___async_2.6.3.tgz";
-        url  = "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz";
-        sha1 = "d72625e2344a3656e3a3ad4fa749fa83299d82ff";
+        name = "async___async_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz";
+        sha1 = "b3a2685c5ebb641d3de02d161002c60fc9f85720";
       };
     }
     {
@@ -922,6 +922,14 @@
       };
     }
     {
+      name = "atomically___atomically_1.7.0.tgz";
+      path = fetchurl {
+        name = "atomically___atomically_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/atomically/-/atomically-1.7.0.tgz";
+        sha1 = "c07a0458432ea6dbc9a3506fffa424b48bccaafe";
+      };
+    }
+    {
       name = "auto_launch___auto_launch_5.0.5.tgz";
       path = fetchurl {
         name = "auto_launch___auto_launch_5.0.5.tgz";
@@ -986,6 +994,14 @@
       };
     }
     {
+      name = "bin_links___bin_links_1.1.8.tgz";
+      path = fetchurl {
+        name = "bin_links___bin_links_1.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/bin-links/-/bin-links-1.1.8.tgz";
+        sha1 = "bd39aadab5dc4bdac222a07df5baf1af745b2228";
+      };
+    }
+    {
       name = "bl___bl_4.0.3.tgz";
       path = fetchurl {
         name = "bl___bl_4.0.3.tgz";
@@ -1074,19 +1090,19 @@
       };
     }
     {
-      name = "builder_util_runtime___builder_util_runtime_8.7.1.tgz";
+      name = "builder_util_runtime___builder_util_runtime_8.7.2.tgz";
       path = fetchurl {
-        name = "builder_util_runtime___builder_util_runtime_8.7.1.tgz";
-        url  = "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.1.tgz";
-        sha1 = "23c808cddd650d4376a7a1518ec1e80e85c10f00";
+        name = "builder_util_runtime___builder_util_runtime_8.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.2.tgz";
+        sha1 = "d93afc71428a12789b437e13850e1fa7da956d72";
       };
     }
     {
-      name = "builder_util___builder_util_22.7.0.tgz";
+      name = "builder_util___builder_util_22.9.1.tgz";
       path = fetchurl {
-        name = "builder_util___builder_util_22.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/builder-util/-/builder-util-22.7.0.tgz";
-        sha1 = "0776a66e6d6e408a78bed7f17a7ad22516d9e7f0";
+        name = "builder_util___builder_util_22.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/builder-util/-/builder-util-22.9.1.tgz";
+        sha1 = "b7087a5cde477f90d718ca5d7fafb6ae261b16af";
       };
     }
     {
@@ -1218,11 +1234,11 @@
       };
     }
     {
-      name = "chownr___chownr_1.1.3.tgz";
+      name = "chownr___chownr_2.0.0.tgz";
       path = fetchurl {
-        name = "chownr___chownr_1.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz";
-        sha1 = "42d837d5239688d55f303003a508230fa6727142";
+        name = "chownr___chownr_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz";
+        sha1 = "15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece";
       };
     }
     {
@@ -1314,19 +1330,19 @@
       };
     }
     {
-      name = "cliui___cliui_4.1.0.tgz";
+      name = "cliui___cliui_5.0.0.tgz";
       path = fetchurl {
-        name = "cliui___cliui_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz";
-        sha1 = "348422dbe82d800b3022eef4f6ac10bf2e4d1b49";
+        name = "cliui___cliui_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz";
+        sha1 = "deefcfdb2e800784aa34f46fa08e06851c7bbbc5";
       };
     }
     {
-      name = "cliui___cliui_6.0.0.tgz";
+      name = "cliui___cliui_7.0.4.tgz";
       path = fetchurl {
-        name = "cliui___cliui_6.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz";
-        sha1 = "511d702c0c4e41ca156d7d0e96021f23e13225b1";
+        name = "cliui___cliui_7.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz";
+        sha1 = "a0265ee655476fc807aea9df3df8df7783808b4f";
       };
     }
     {
@@ -1426,11 +1442,11 @@
       };
     }
     {
-      name = "compress_commons___compress_commons_3.0.0.tgz";
+      name = "compress_commons___compress_commons_4.0.2.tgz";
       path = fetchurl {
-        name = "compress_commons___compress_commons_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/compress-commons/-/compress-commons-3.0.0.tgz";
-        sha1 = "833944d84596e537224dd91cf92f5246823d4f1d";
+        name = "compress_commons___compress_commons_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/compress-commons/-/compress-commons-4.0.2.tgz";
+        sha1 = "d6896be386e52f37610cef9e6fa5defc58c31bd7";
       };
     }
     {
@@ -1450,11 +1466,11 @@
       };
     }
     {
-      name = "conf___conf_2.2.0.tgz";
+      name = "conf___conf_7.1.2.tgz";
       path = fetchurl {
-        name = "conf___conf_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/conf/-/conf-2.2.0.tgz";
-        sha1 = "ee282efafc1450b61e205372041ad7d866802d9a";
+        name = "conf___conf_7.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/conf/-/conf-7.1.2.tgz";
+        sha1 = "d9678a9d8f04de8bf5cd475105da8fdae49c2ec4";
       };
     }
     {
@@ -1506,14 +1522,6 @@
       };
     }
     {
-      name = "core_js___core_js_3.6.5.tgz";
-      path = fetchurl {
-        name = "core_js___core_js_3.6.5.tgz";
-        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz";
-        sha1 = "7395dc273af37fb2e50e9bd3d9fe841285231d1a";
-      };
-    }
-    {
       name = "core_util_is___core_util_is_1.0.2.tgz";
       path = fetchurl {
         name = "core_util_is___core_util_is_1.0.2.tgz";
@@ -1522,19 +1530,19 @@
       };
     }
     {
-      name = "crc32_stream___crc32_stream_3.0.1.tgz";
+      name = "crc_32___crc_32_1.2.0.tgz";
       path = fetchurl {
-        name = "crc32_stream___crc32_stream_3.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-3.0.1.tgz";
-        sha1 = "cae6eeed003b0e44d739d279de5ae63b171b4e85";
+        name = "crc_32___crc_32_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz";
+        sha1 = "cb2db6e29b88508e32d9dd0ec1693e7b41a18208";
       };
     }
     {
-      name = "crc___crc_3.8.0.tgz";
+      name = "crc32_stream___crc32_stream_4.0.1.tgz";
       path = fetchurl {
-        name = "crc___crc_3.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz";
-        sha1 = "ad60269c2c856f8c299e2c4cc0de4556914056c6";
+        name = "crc32_stream___crc32_stream_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-4.0.1.tgz";
+        sha1 = "0f047d74041737f8a55e86837a1b826bd8ab0067";
       };
     }
     {
@@ -1570,14 +1578,6 @@
       };
     }
     {
-      name = "cross_unzip___cross_unzip_0.0.2.tgz";
-      path = fetchurl {
-        name = "cross_unzip___cross_unzip_0.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/cross-unzip/-/cross-unzip-0.0.2.tgz";
-        sha1 = "5183bc47a09559befcf98cc4657964999359372f";
-      };
-    }
-    {
       name = "crypto_random_string___crypto_random_string_1.0.0.tgz";
       path = fetchurl {
         name = "crypto_random_string___crypto_random_string_1.0.0.tgz";
@@ -1618,6 +1618,14 @@
       };
     }
     {
+      name = "debounce_fn___debounce_fn_4.0.0.tgz";
+      path = fetchurl {
+        name = "debounce_fn___debounce_fn_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/debounce-fn/-/debounce-fn-4.0.0.tgz";
+        sha1 = "ed76d206d8a50e60de0dd66d494d82835ffe61c7";
+      };
+    }
+    {
       name = "debug___debug_3.1.0.tgz";
       path = fetchurl {
         name = "debug___debug_3.1.0.tgz";
@@ -1650,11 +1658,11 @@
       };
     }
     {
-      name = "debug___debug_4.2.0.tgz";
+      name = "debug___debug_4.3.1.tgz";
       path = fetchurl {
-        name = "debug___debug_4.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz";
-        sha1 = "7f150f93920e94c58f5574c2fd01a3110effe7f1";
+        name = "debug___debug_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz";
+        sha1 = "f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee";
       };
     }
     {
@@ -1690,14 +1698,6 @@
       };
     }
     {
-      name = "deep_equal___deep_equal_1.1.1.tgz";
-      path = fetchurl {
-        name = "deep_equal___deep_equal_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz";
-        sha1 = "b5c98c942ceffaf7cb051e24e1434a25a2e6076a";
-      };
-    }
-    {
       name = "deep_extend___deep_extend_0.6.0.tgz";
       path = fetchurl {
         name = "deep_extend___deep_extend_0.6.0.tgz";
@@ -1786,11 +1786,11 @@
       };
     }
     {
-      name = "dmg_builder___dmg_builder_22.7.0.tgz";
+      name = "dmg_builder___dmg_builder_22.9.1.tgz";
       path = fetchurl {
-        name = "dmg_builder___dmg_builder_22.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.7.0.tgz";
-        sha1 = "ead7e7c046cbdc52d29d302a4455f6668cdf7d45";
+        name = "dmg_builder___dmg_builder_22.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.9.1.tgz";
+        sha1 = "64647224f37ee47fc9bd01947c21cc010a30511f";
       };
     }
     {
@@ -1898,67 +1898,67 @@
       };
     }
     {
-      name = "ejs___ejs_3.1.3.tgz";
+      name = "ejs___ejs_3.1.5.tgz";
       path = fetchurl {
-        name = "ejs___ejs_3.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/ejs/-/ejs-3.1.3.tgz";
-        sha1 = "514d967a8894084d18d3d47bd169a1c0560f093d";
+        name = "ejs___ejs_3.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/ejs/-/ejs-3.1.5.tgz";
+        sha1 = "aed723844dc20acb4b170cd9ab1017e476a0d93b";
       };
     }
     {
-      name = "electron_builder_squirrel_windows___electron_builder_squirrel_windows_22.7.0.tgz";
+      name = "electron_builder_squirrel_windows___electron_builder_squirrel_windows_22.9.1.tgz";
       path = fetchurl {
-        name = "electron_builder_squirrel_windows___electron_builder_squirrel_windows_22.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-22.7.0.tgz";
-        sha1 = "8d6f09d541c039f52202935c66d592c38575ceff";
+        name = "electron_builder_squirrel_windows___electron_builder_squirrel_windows_22.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-22.9.1.tgz";
+        sha1 = "d9ad65a8f5abd1011ac1dbd01492623fb5466a32";
       };
     }
     {
-      name = "electron_builder___electron_builder_22.7.0.tgz";
+      name = "electron_builder___electron_builder_22.9.1.tgz";
       path = fetchurl {
-        name = "electron_builder___electron_builder_22.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.7.0.tgz";
-        sha1 = "a42d08a1654ffc2f7d9e2860829d3cc55d4a0c81";
+        name = "electron_builder___electron_builder_22.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.9.1.tgz";
+        sha1 = "a2962db6f2757bc01d02489f38fafe0809f68f60";
       };
     }
     {
-      name = "electron_devtools_installer___electron_devtools_installer_2.2.4.tgz";
+      name = "electron_devtools_installer___electron_devtools_installer_3.1.1.tgz";
       path = fetchurl {
-        name = "electron_devtools_installer___electron_devtools_installer_2.2.4.tgz";
-        url  = "https://registry.yarnpkg.com/electron-devtools-installer/-/electron-devtools-installer-2.2.4.tgz";
-        sha1 = "261a50337e37121d338b966f07922eb4939a8763";
+        name = "electron_devtools_installer___electron_devtools_installer_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/electron-devtools-installer/-/electron-devtools-installer-3.1.1.tgz";
+        sha1 = "7b56c8c86475c5e4e10de6917d150c53c9ceb55e";
       };
     }
     {
-      name = "electron_notarize___electron_notarize_0.2.1.tgz";
+      name = "electron_notarize___electron_notarize_1.0.0.tgz";
       path = fetchurl {
-        name = "electron_notarize___electron_notarize_0.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/electron-notarize/-/electron-notarize-0.2.1.tgz";
-        sha1 = "759e8006decae19134f82996ed910db26d9192cc";
+        name = "electron_notarize___electron_notarize_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/electron-notarize/-/electron-notarize-1.0.0.tgz";
+        sha1 = "bc925b1ccc3f79e58e029e8c4706572b01a9fd8f";
       };
     }
     {
-      name = "electron_publish___electron_publish_22.7.0.tgz";
+      name = "electron_publish___electron_publish_22.9.1.tgz";
       path = fetchurl {
-        name = "electron_publish___electron_publish_22.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.7.0.tgz";
-        sha1 = "d92ba7c4007c9ac1dd070593e48028184fb2dc19";
+        name = "electron_publish___electron_publish_22.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.9.1.tgz";
+        sha1 = "7cc76ac4cc53efd29ee31c1e5facb9724329068e";
       };
     }
     {
-      name = "electron_store___electron_store_2.0.0.tgz";
+      name = "electron_store___electron_store_6.0.1.tgz";
       path = fetchurl {
-        name = "electron_store___electron_store_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/electron-store/-/electron-store-2.0.0.tgz";
-        sha1 = "1035cca2a95409d1f54c7466606345852450d64a";
+        name = "electron_store___electron_store_6.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/electron-store/-/electron-store-6.0.1.tgz";
+        sha1 = "2178b9dc37aeb749d99cf9d1d1bc090890b922dc";
       };
     }
     {
-      name = "electron_window_state___electron_window_state_4.1.1.tgz";
+      name = "electron_window_state___electron_window_state_5.0.3.tgz";
       path = fetchurl {
-        name = "electron_window_state___electron_window_state_4.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/electron-window-state/-/electron-window-state-4.1.1.tgz";
-        sha1 = "6b34fdc31b38514dfec8b7c8f7b5d4addb67632d";
+        name = "electron_window_state___electron_window_state_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/electron-window-state/-/electron-window-state-5.0.3.tgz";
+        sha1 = "4f36d09e3f953d87aff103bf010f460056050aa8";
       };
     }
     {
@@ -2002,14 +2002,6 @@
       };
     }
     {
-      name = "env_paths___env_paths_1.0.0.tgz";
-      path = fetchurl {
-        name = "env_paths___env_paths_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/env-paths/-/env-paths-1.0.0.tgz";
-        sha1 = "4168133b42bb05c38a35b1ae4397c8298ab369e0";
-      };
-    }
-    {
       name = "env_paths___env_paths_2.2.0.tgz";
       path = fetchurl {
         name = "env_paths___env_paths_2.2.0.tgz";
@@ -2082,6 +2074,14 @@
       };
     }
     {
+      name = "escalade___escalade_3.1.1.tgz";
+      path = fetchurl {
+        name = "escalade___escalade_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz";
+        sha1 = "d8cfdc7000965c5a0174b4a82eaa5c0552742e40";
+      };
+    }
+    {
       name = "escape_goat___escape_goat_2.1.1.tgz";
       path = fetchurl {
         name = "escape_goat___escape_goat_2.1.1.tgz";
@@ -2346,14 +2346,6 @@
       };
     }
     {
-      name = "execa___execa_1.0.0.tgz";
-      path = fetchurl {
-        name = "execa___execa_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz";
-        sha1 = "c6236a5bb4df6d6f15e88e7f017798216749ddd8";
-      };
-    }
-    {
       name = "exif_parser___exif_parser_0.1.12.tgz";
       path = fetchurl {
         name = "exif_parser___exif_parser_0.1.12.tgz";
@@ -2362,6 +2354,14 @@
       };
     }
     {
+      name = "exit_on_epipe___exit_on_epipe_1.0.1.tgz";
+      path = fetchurl {
+        name = "exit_on_epipe___exit_on_epipe_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz";
+        sha1 = "0bdd92e87d5285d267daa8171d0eb06159689692";
+      };
+    }
+    {
       name = "extend___extend_3.0.2.tgz";
       path = fetchurl {
         name = "extend___extend_3.0.2.tgz";
@@ -2490,14 +2490,6 @@
       };
     }
     {
-      name = "find_up___find_up_4.1.0.tgz";
-      path = fetchurl {
-        name = "find_up___find_up_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz";
-        sha1 = "97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19";
-      };
-    }
-    {
       name = "flat_cache___flat_cache_2.0.1.tgz";
       path = fetchurl {
         name = "flat_cache___flat_cache_2.0.1.tgz";
@@ -2658,6 +2650,14 @@
       };
     }
     {
+      name = "gentle_fs___gentle_fs_2.3.1.tgz";
+      path = fetchurl {
+        name = "gentle_fs___gentle_fs_2.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/gentle-fs/-/gentle-fs-2.3.1.tgz";
+        sha1 = "11201bf66c18f930ddca72cf69460bdfa05727b1";
+      };
+    }
+    {
       name = "get_caller_file___get_caller_file_1.0.3.tgz";
       path = fetchurl {
         name = "get_caller_file___get_caller_file_1.0.3.tgz";
@@ -2706,6 +2706,14 @@
       };
     }
     {
+      name = "gifwrap___gifwrap_0.9.2.tgz";
+      path = fetchurl {
+        name = "gifwrap___gifwrap_0.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/gifwrap/-/gifwrap-0.9.2.tgz";
+        sha1 = "348e286e67d7cf57942172e1e6f05a71cee78489";
+      };
+    }
+    {
       name = "glob_parent___glob_parent_5.1.1.tgz";
       path = fetchurl {
         name = "glob_parent___glob_parent_5.1.1.tgz";
@@ -2882,11 +2890,11 @@
       };
     }
     {
-      name = "hosted_git_info___hosted_git_info_3.0.4.tgz";
+      name = "hosted_git_info___hosted_git_info_3.0.7.tgz";
       path = fetchurl {
-        name = "hosted_git_info___hosted_git_info_3.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.4.tgz";
-        sha1 = "be4973eb1fd2737b11c9c7c19380739bb249f60d";
+        name = "hosted_git_info___hosted_git_info_3.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.7.tgz";
+        sha1 = "a30727385ea85acfcee94e0aad9e368c792e036c";
       };
     }
     {
@@ -2946,11 +2954,11 @@
       };
     }
     {
-      name = "iconv_lite___iconv_lite_0.5.1.tgz";
+      name = "iconv_lite___iconv_lite_0.6.2.tgz";
       path = fetchurl {
-        name = "iconv_lite___iconv_lite_0.5.1.tgz";
-        url  = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.5.1.tgz";
-        sha1 = "b2425d3c7b18f7219f2ca663d103bddb91718d64";
+        name = "iconv_lite___iconv_lite_0.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz";
+        sha1 = "ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01";
       };
     }
     {
@@ -2994,6 +3002,22 @@
       };
     }
     {
+      name = "image_q___image_q_1.1.1.tgz";
+      path = fetchurl {
+        name = "image_q___image_q_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/image-q/-/image-q-1.1.1.tgz";
+        sha1 = "fc84099664460b90ca862d9300b6bfbbbfbf8056";
+      };
+    }
+    {
+      name = "immediate___immediate_3.0.6.tgz";
+      path = fetchurl {
+        name = "immediate___immediate_3.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz";
+        sha1 = "9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b";
+      };
+    }
+    {
       name = "import_fresh___import_fresh_3.2.1.tgz";
       path = fetchurl {
         name = "import_fresh___import_fresh_3.2.1.tgz";
@@ -3082,14 +3106,6 @@
       };
     }
     {
-      name = "invert_kv___invert_kv_2.0.0.tgz";
-      path = fetchurl {
-        name = "invert_kv___invert_kv_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz";
-        sha1 = "7393f5afa59ec9ff5f67a27620d11c226e3eec02";
-      };
-    }
-    {
       name = "ip_regex___ip_regex_2.1.0.tgz";
       path = fetchurl {
         name = "ip_regex___ip_regex_2.1.0.tgz";
@@ -3106,14 +3122,6 @@
       };
     }
     {
-      name = "is_arguments___is_arguments_1.0.4.tgz";
-      path = fetchurl {
-        name = "is_arguments___is_arguments_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz";
-        sha1 = "3faf966c7cba0ff437fb31f6250082fcf0448cf3";
-      };
-    }
-    {
       name = "is_arrayish___is_arrayish_0.2.1.tgz";
       path = fetchurl {
         name = "is_arrayish___is_arrayish_0.2.1.tgz";
@@ -3402,19 +3410,19 @@
       };
     }
     {
-      name = "jimp___jimp_0.9.8.tgz";
+      name = "jimp___jimp_0.16.1.tgz";
       path = fetchurl {
-        name = "jimp___jimp_0.9.8.tgz";
-        url  = "https://registry.yarnpkg.com/jimp/-/jimp-0.9.8.tgz";
-        sha1 = "2ee87b81b42e723ad74c73b8012f879c0abe5b04";
+        name = "jimp___jimp_0.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/jimp/-/jimp-0.16.1.tgz";
+        sha1 = "192f851a30e5ca11112a3d0aa53137659a78ca7a";
       };
     }
     {
-      name = "jpeg_js___jpeg_js_0.3.7.tgz";
+      name = "jpeg_js___jpeg_js_0.4.2.tgz";
       path = fetchurl {
-        name = "jpeg_js___jpeg_js_0.3.7.tgz";
-        url  = "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.3.7.tgz";
-        sha1 = "471a89d06011640592d314158608690172b1028d";
+        name = "jpeg_js___jpeg_js_0.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.4.2.tgz";
+        sha1 = "8b345b1ae4abde64c2da2fe67ea216a114ac279d";
       };
     }
     {
@@ -3482,6 +3490,14 @@
       };
     }
     {
+      name = "json_schema_typed___json_schema_typed_7.0.3.tgz";
+      path = fetchurl {
+        name = "json_schema_typed___json_schema_typed_7.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/json-schema-typed/-/json-schema-typed-7.0.3.tgz";
+        sha1 = "23ff481b8b4eebcd2ca123b4fa0409e66469a2d9";
+      };
+    }
+    {
       name = "json_schema___json_schema_0.2.3.tgz";
       path = fetchurl {
         name = "json_schema___json_schema_0.2.3.tgz";
@@ -3522,14 +3538,6 @@
       };
     }
     {
-      name = "jsonfile___jsonfile_2.4.0.tgz";
-      path = fetchurl {
-        name = "jsonfile___jsonfile_2.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz";
-        sha1 = "3736a2b428b87bbda0cc83b53fa3d633a35c2ae8";
-      };
-    }
-    {
       name = "jsonfile___jsonfile_4.0.0.tgz";
       path = fetchurl {
         name = "jsonfile___jsonfile_4.0.0.tgz";
@@ -3570,6 +3578,14 @@
       };
     }
     {
+      name = "jszip___jszip_3.5.0.tgz";
+      path = fetchurl {
+        name = "jszip___jszip_3.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/jszip/-/jszip-3.5.0.tgz";
+        sha1 = "b4fd1f368245346658e781fec9675802489e15f6";
+      };
+    }
+    {
       name = "keyv___keyv_3.1.0.tgz";
       path = fetchurl {
         name = "keyv___keyv_3.1.0.tgz";
@@ -3626,14 +3642,6 @@
       };
     }
     {
-      name = "lcid___lcid_2.0.0.tgz";
-      path = fetchurl {
-        name = "lcid___lcid_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz";
-        sha1 = "6ef5d2df60e52f82eb228a4c373e8d1f397253cf";
-      };
-    }
-    {
       name = "levn___levn_0.3.0.tgz";
       path = fetchurl {
         name = "levn___levn_0.3.0.tgz";
@@ -3650,11 +3658,11 @@
       };
     }
     {
-      name = "libcipm___libcipm_4.0.7.tgz";
+      name = "libcipm___libcipm_4.0.8.tgz";
       path = fetchurl {
-        name = "libcipm___libcipm_4.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/libcipm/-/libcipm-4.0.7.tgz";
-        sha1 = "76cd675c98bdaae64db88b782b01b804b6d02c8a";
+        name = "libcipm___libcipm_4.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/libcipm/-/libcipm-4.0.8.tgz";
+        sha1 = "dcea4919e10dfbce420327e63901613b9141bc89";
       };
     }
     {
@@ -3722,11 +3730,19 @@
       };
     }
     {
-      name = "libnpx___libnpx_10.2.2.tgz";
+      name = "libnpx___libnpx_10.2.4.tgz";
+      path = fetchurl {
+        name = "libnpx___libnpx_10.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/libnpx/-/libnpx-10.2.4.tgz";
+        sha1 = "ef0e3258e29aef2ec7ee3276115e20e67f67d4ee";
+      };
+    }
+    {
+      name = "lie___lie_3.3.0.tgz";
       path = fetchurl {
-        name = "libnpx___libnpx_10.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/libnpx/-/libnpx-10.2.2.tgz";
-        sha1 = "5a4171b9b92dd031463ef66a4af9f5cbd6b09572";
+        name = "lie___lie_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz";
+        sha1 = "dcf82dee545f46074daf200c7c1c5a08e0f40f6a";
       };
     }
     {
@@ -3762,14 +3778,6 @@
       };
     }
     {
-      name = "locate_path___locate_path_5.0.0.tgz";
-      path = fetchurl {
-        name = "locate_path___locate_path_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz";
-        sha1 = "1afba396afd676a6d42504d0a67a3a7eb9f62aa0";
-      };
-    }
-    {
       name = "lock_verify___lock_verify_2.2.0.tgz";
       path = fetchurl {
         name = "lock_verify___lock_verify_2.2.0.tgz";
@@ -3930,6 +3938,14 @@
       };
     }
     {
+      name = "lru_cache___lru_cache_6.0.0.tgz";
+      path = fetchurl {
+        name = "lru_cache___lru_cache_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz";
+        sha1 = "6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94";
+      };
+    }
+    {
       name = "make_dir___make_dir_1.3.0.tgz";
       path = fetchurl {
         name = "make_dir___make_dir_1.3.0.tgz";
@@ -3946,27 +3962,27 @@
       };
     }
     {
-      name = "make_fetch_happen___make_fetch_happen_5.0.2.tgz";
+      name = "make_dir___make_dir_3.1.0.tgz";
       path = fetchurl {
-        name = "make_fetch_happen___make_fetch_happen_5.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz";
-        sha1 = "aa8387104f2687edca01c8687ee45013d02d19bd";
+        name = "make_dir___make_dir_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz";
+        sha1 = "415e967046b3a7f1d185277d84aa58203726a13f";
       };
     }
     {
-      name = "map_age_cleaner___map_age_cleaner_0.1.3.tgz";
+      name = "make_fetch_happen___make_fetch_happen_5.0.2.tgz";
       path = fetchurl {
-        name = "map_age_cleaner___map_age_cleaner_0.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz";
-        sha1 = "7d583a7306434c055fe474b0f45078e6e1b4b92a";
+        name = "make_fetch_happen___make_fetch_happen_5.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz";
+        sha1 = "aa8387104f2687edca01c8687ee45013d02d19bd";
       };
     }
     {
-      name = "meant___meant_1.0.1.tgz";
+      name = "meant___meant_1.0.3.tgz";
       path = fetchurl {
-        name = "meant___meant_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/meant/-/meant-1.0.1.tgz";
-        sha1 = "66044fea2f23230ec806fb515efea29c44d2115d";
+        name = "meant___meant_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/meant/-/meant-1.0.3.tgz";
+        sha1 = "67769af9de1d158773e928ae82c456114903554c";
       };
     }
     {
@@ -3978,14 +3994,6 @@
       };
     }
     {
-      name = "mem___mem_4.3.0.tgz";
-      path = fetchurl {
-        name = "mem___mem_4.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz";
-        sha1 = "461af497bc4ae09608cdb2e60eefb69bff744178";
-      };
-    }
-    {
       name = "mime_db___mime_db_1.42.0.tgz";
       path = fetchurl {
         name = "mime_db___mime_db_1.42.0.tgz";
@@ -4010,11 +4018,11 @@
       };
     }
     {
-      name = "mime___mime_2.4.6.tgz";
+      name = "mime___mime_2.5.0.tgz";
       path = fetchurl {
-        name = "mime___mime_2.4.6.tgz";
-        url  = "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz";
-        sha1 = "e5b407c90db442f2beb5b162373d07b69affa4d1";
+        name = "mime___mime_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime/-/mime-2.5.0.tgz";
+        sha1 = "2b4af934401779806ee98026bb42e8c1ae1876b1";
       };
     }
     {
@@ -4034,6 +4042,14 @@
       };
     }
     {
+      name = "mimic_fn___mimic_fn_3.1.0.tgz";
+      path = fetchurl {
+        name = "mimic_fn___mimic_fn_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz";
+        sha1 = "65755145bbf3e36954b949c16450427451d5ca74";
+      };
+    }
+    {
       name = "mimic_response___mimic_response_1.0.1.tgz";
       path = fetchurl {
         name = "mimic_response___mimic_response_1.0.1.tgz";
@@ -4106,11 +4122,11 @@
       };
     }
     {
-      name = "minizlib___minizlib_2.1.0.tgz";
+      name = "minizlib___minizlib_2.1.2.tgz";
       path = fetchurl {
-        name = "minizlib___minizlib_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.0.tgz";
-        sha1 = "fd52c645301ef09a63a2c209697c294c6ce02cf3";
+        name = "minizlib___minizlib_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz";
+        sha1 = "e90d3466ba209b932451508a11ce3d3632145931";
       };
     }
     {
@@ -4274,11 +4290,11 @@
       };
     }
     {
-      name = "npm_audit_report___npm_audit_report_1.3.2.tgz";
+      name = "npm_audit_report___npm_audit_report_1.3.3.tgz";
       path = fetchurl {
-        name = "npm_audit_report___npm_audit_report_1.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/npm-audit-report/-/npm-audit-report-1.3.2.tgz";
-        sha1 = "303bc78cd9e4c226415076a4f7e528c89fc77018";
+        name = "npm_audit_report___npm_audit_report_1.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/npm-audit-report/-/npm-audit-report-1.3.3.tgz";
+        sha1 = "8226deeb253b55176ed147592a3995442f2179ed";
       };
     }
     {
@@ -4314,6 +4330,14 @@
       };
     }
     {
+      name = "npm_lifecycle___npm_lifecycle_3.1.5.tgz";
+      path = fetchurl {
+        name = "npm_lifecycle___npm_lifecycle_3.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz";
+        sha1 = "9882d3642b8c82c815782a12e6a1bfeed0026309";
+      };
+    }
+    {
       name = "npm_logical_tree___npm_logical_tree_1.2.1.tgz";
       path = fetchurl {
         name = "npm_logical_tree___npm_logical_tree_1.2.1.tgz";
@@ -4378,11 +4402,11 @@
       };
     }
     {
-      name = "npm_registry_fetch___npm_registry_fetch_4.0.5.tgz";
+      name = "npm_registry_fetch___npm_registry_fetch_4.0.7.tgz";
       path = fetchurl {
-        name = "npm_registry_fetch___npm_registry_fetch_4.0.5.tgz";
-        url  = "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.5.tgz";
-        sha1 = "cb87cf7f25bfb048d6c3ee19d115bebf93ea5bfa";
+        name = "npm_registry_fetch___npm_registry_fetch_4.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.7.tgz";
+        sha1 = "57951bf6541e0246b34c9f9a38ab73607c9449d7";
       };
     }
     {
@@ -4402,11 +4426,11 @@
       };
     }
     {
-      name = "npm___npm_6.14.6.tgz";
+      name = "npm___npm_6.14.11.tgz";
       path = fetchurl {
-        name = "npm___npm_6.14.6.tgz";
-        url  = "https://registry.yarnpkg.com/npm/-/npm-6.14.6.tgz";
-        sha1 = "1a81ce1fac2bf5457dbf6342ceed503627ff228f";
+        name = "npm___npm_6.14.11.tgz";
+        url  = "https://registry.yarnpkg.com/npm/-/npm-6.14.11.tgz";
+        sha1 = "e0b5598d7b9a42d275e61d8bd28cd7eee0074a3b";
       };
     }
     {
@@ -4450,14 +4474,6 @@
       };
     }
     {
-      name = "object_is___object_is_1.0.1.tgz";
-      path = fetchurl {
-        name = "object_is___object_is_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz";
-        sha1 = "0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6";
-      };
-    }
-    {
       name = "object_keys___object_keys_1.1.1.tgz";
       path = fetchurl {
         name = "object_keys___object_keys_1.1.1.tgz";
@@ -4530,11 +4546,11 @@
       };
     }
     {
-      name = "opener___opener_1.5.1.tgz";
+      name = "opener___opener_1.5.2.tgz";
       path = fetchurl {
-        name = "opener___opener_1.5.1.tgz";
-        url  = "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz";
-        sha1 = "6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed";
+        name = "opener___opener_1.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz";
+        sha1 = "5d37e1f35077b9dcac4301372271afdeb2a13598";
       };
     }
     {
@@ -4570,14 +4586,6 @@
       };
     }
     {
-      name = "os_locale___os_locale_3.1.0.tgz";
-      path = fetchurl {
-        name = "os_locale___os_locale_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz";
-        sha1 = "a802a6ee17f24c10483ab9935719cef4ed16bf1a";
-      };
-    }
-    {
       name = "os_tmpdir___os_tmpdir_1.0.2.tgz";
       path = fetchurl {
         name = "os_tmpdir___os_tmpdir_1.0.2.tgz";
@@ -4602,14 +4610,6 @@
       };
     }
     {
-      name = "p_defer___p_defer_1.0.0.tgz";
-      path = fetchurl {
-        name = "p_defer___p_defer_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz";
-        sha1 = "9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c";
-      };
-    }
-    {
       name = "p_finally___p_finally_1.0.0.tgz";
       path = fetchurl {
         name = "p_finally___p_finally_1.0.0.tgz";
@@ -4618,14 +4618,6 @@
       };
     }
     {
-      name = "p_is_promise___p_is_promise_2.1.0.tgz";
-      path = fetchurl {
-        name = "p_is_promise___p_is_promise_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz";
-        sha1 = "918cebaea248a62cf7ffab8e3bca8c5f882fc42e";
-      };
-    }
-    {
       name = "p_limit___p_limit_1.3.0.tgz";
       path = fetchurl {
         name = "p_limit___p_limit_1.3.0.tgz";
@@ -4642,14 +4634,6 @@
       };
     }
     {
-      name = "p_limit___p_limit_2.2.2.tgz";
-      path = fetchurl {
-        name = "p_limit___p_limit_2.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.2.tgz";
-        sha1 = "61279b67721f5287aa1c13a9a7fbbc48c9291b1e";
-      };
-    }
-    {
       name = "p_locate___p_locate_2.0.0.tgz";
       path = fetchurl {
         name = "p_locate___p_locate_2.0.0.tgz";
@@ -4666,14 +4650,6 @@
       };
     }
     {
-      name = "p_locate___p_locate_4.1.0.tgz";
-      path = fetchurl {
-        name = "p_locate___p_locate_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz";
-        sha1 = "a3428bb7088b3a60292f66919278b7c297ad4f07";
-      };
-    }
-    {
       name = "p_try___p_try_1.0.0.tgz";
       path = fetchurl {
         name = "p_try___p_try_1.0.0.tgz";
@@ -4786,14 +4762,6 @@
       };
     }
     {
-      name = "path_exists___path_exists_4.0.0.tgz";
-      path = fetchurl {
-        name = "path_exists___path_exists_4.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz";
-        sha1 = "513bdbe2d3b95d7762e8c1137efa195c6c61b5b3";
-      };
-    }
-    {
       name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
       path = fetchurl {
         name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
@@ -4890,19 +4858,19 @@
       };
     }
     {
-      name = "pkg_up___pkg_up_2.0.0.tgz";
+      name = "pkg_up___pkg_up_3.1.0.tgz";
       path = fetchurl {
-        name = "pkg_up___pkg_up_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz";
-        sha1 = "c819ac728059a461cab1c3889a2be3c49a004d7f";
+        name = "pkg_up___pkg_up_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz";
+        sha1 = "100ec235cc150e4fd42519412596a28512a0def5";
       };
     }
     {
-      name = "png_to_ico___png_to_ico_2.1.0.tgz";
+      name = "png_to_ico___png_to_ico_2.1.1.tgz";
       path = fetchurl {
-        name = "png_to_ico___png_to_ico_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/png-to-ico/-/png-to-ico-2.1.0.tgz";
-        sha1 = "b7a59bc7e95093f6dd4dc85f27b9048e12d2fe71";
+        name = "png_to_ico___png_to_ico_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/png-to-ico/-/png-to-ico-2.1.1.tgz";
+        sha1 = "35be46f93c1ac8d77025f6f4b60c1fa567c1d47c";
       };
     }
     {
@@ -4946,6 +4914,14 @@
       };
     }
     {
+      name = "printj___printj_1.1.2.tgz";
+      path = fetchurl {
+        name = "printj___printj_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz";
+        sha1 = "d90deb2975a8b9f600fb3a1c94e3f4c53c78a222";
+      };
+    }
+    {
       name = "process_nextick_args___process_nextick_args_2.0.1.tgz";
       path = fetchurl {
         name = "process_nextick_args___process_nextick_args_2.0.1.tgz";
@@ -5234,6 +5210,14 @@
       };
     }
     {
+      name = "readdir_glob___readdir_glob_1.1.1.tgz";
+      path = fetchurl {
+        name = "readdir_glob___readdir_glob_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/readdir-glob/-/readdir-glob-1.1.1.tgz";
+        sha1 = "f0e10bb7bf7bfa7e0add8baffdc54c3f7dbee6c4";
+      };
+    }
+    {
       name = "readdir_scoped_modules___readdir_scoped_modules_1.1.0.tgz";
       path = fetchurl {
         name = "readdir_scoped_modules___readdir_scoped_modules_1.1.0.tgz";
@@ -5250,14 +5234,6 @@
       };
     }
     {
-      name = "regexp.prototype.flags___regexp.prototype.flags_1.2.0.tgz";
-      path = fetchurl {
-        name = "regexp.prototype.flags___regexp.prototype.flags_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz";
-        sha1 = "6b30724e306a27833eeb171b66ac8890ba37e41c";
-      };
-    }
-    {
       name = "regexp.prototype.flags___regexp.prototype.flags_1.3.0.tgz";
       path = fetchurl {
         name = "regexp.prototype.flags___regexp.prototype.flags_1.3.0.tgz";
@@ -5538,14 +5514,6 @@
       };
     }
     {
-      name = "semver___semver_7.1.3.tgz";
-      path = fetchurl {
-        name = "semver___semver_7.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/semver/-/semver-7.1.3.tgz";
-        sha1 = "e4345ce73071c53f336445cfc19efb1c311df2a6";
-      };
-    }
-    {
       name = "semver___semver_7.3.2.tgz";
       path = fetchurl {
         name = "semver___semver_7.3.2.tgz";
@@ -5554,6 +5522,14 @@
       };
     }
     {
+      name = "semver___semver_7.3.4.tgz";
+      path = fetchurl {
+        name = "semver___semver_7.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz";
+        sha1 = "27aaa7d2e4ca76452f98d3add093a72c943edc97";
+      };
+    }
+    {
       name = "set_blocking___set_blocking_2.0.0.tgz";
       path = fetchurl {
         name = "set_blocking___set_blocking_2.0.0.tgz";
@@ -5562,6 +5538,14 @@
       };
     }
     {
+      name = "set_immediate_shim___set_immediate_shim_1.0.1.tgz";
+      path = fetchurl {
+        name = "set_immediate_shim___set_immediate_shim_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz";
+        sha1 = "4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61";
+      };
+    }
+    {
       name = "sha___sha_3.0.0.tgz";
       path = fetchurl {
         name = "sha___sha_3.0.0.tgz";
@@ -5994,11 +5978,11 @@
       };
     }
     {
-      name = "tar_stream___tar_stream_2.1.2.tgz";
+      name = "tar_stream___tar_stream_2.2.0.tgz";
       path = fetchurl {
-        name = "tar_stream___tar_stream_2.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.2.tgz";
-        sha1 = "6d5ef1a7e5783a95ff70b69b97455a5968dc1325";
+        name = "tar_stream___tar_stream_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz";
+        sha1 = "acad84c284136b060dc3faa64474aa9aebd77287";
       };
     }
     {
@@ -6010,11 +5994,11 @@
       };
     }
     {
-      name = "tar___tar_6.0.1.tgz";
+      name = "tar___tar_6.1.0.tgz";
       path = fetchurl {
-        name = "tar___tar_6.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/tar/-/tar-6.0.1.tgz";
-        sha1 = "7b3bd6c313cb6e0153770108f8d70ac298607efa";
+        name = "tar___tar_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/tar/-/tar-6.1.0.tgz";
+        sha1 = "d1724e9bcc04b977b18d5c573b333a2207229a83";
       };
     }
     {
@@ -6234,6 +6218,14 @@
       };
     }
     {
+      name = "type_fest___type_fest_0.16.0.tgz";
+      path = fetchurl {
+        name = "type_fest___type_fest_0.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz";
+        sha1 = "3240b891a78b0deae910dbeb86553e552a148860";
+      };
+    }
+    {
       name = "type_fest___type_fest_0.8.1.tgz";
       path = fetchurl {
         name = "type_fest___type_fest_0.8.1.tgz";
@@ -6346,6 +6338,14 @@
       };
     }
     {
+      name = "unzip_crx_3___unzip_crx_3_0.2.0.tgz";
+      path = fetchurl {
+        name = "unzip_crx_3___unzip_crx_3_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/unzip-crx-3/-/unzip-crx-3-0.2.0.tgz";
+        sha1 = "d5324147b104a8aed9ae8639c95521f6f7cda292";
+      };
+    }
+    {
       name = "unzip_response___unzip_response_2.0.1.tgz";
       path = fetchurl {
         name = "unzip_response___unzip_response_2.0.1.tgz";
@@ -6362,11 +6362,11 @@
       };
     }
     {
-      name = "update_notifier___update_notifier_4.1.0.tgz";
+      name = "update_notifier___update_notifier_4.1.3.tgz";
       path = fetchurl {
-        name = "update_notifier___update_notifier_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.0.tgz";
-        sha1 = "4866b98c3bc5b5473c020b1250583628f9a328f3";
+        name = "update_notifier___update_notifier_4.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.3.tgz";
+        sha1 = "be86ee13e8ce48fb50043ff72057b5bd598e1ea3";
       };
     }
     {
@@ -6578,11 +6578,19 @@
       };
     }
     {
-      name = "wrap_ansi___wrap_ansi_6.2.0.tgz";
+      name = "wrap_ansi___wrap_ansi_5.1.0.tgz";
       path = fetchurl {
-        name = "wrap_ansi___wrap_ansi_6.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz";
-        sha1 = "e9393ba07102e6c91a3b221478f0257cd2856e53";
+        name = "wrap_ansi___wrap_ansi_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz";
+        sha1 = "1fd1f67235d5b6d0fee781056001bfb694c03b09";
+      };
+    }
+    {
+      name = "wrap_ansi___wrap_ansi_7.0.0.tgz";
+      path = fetchurl {
+        name = "wrap_ansi___wrap_ansi_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz";
+        sha1 = "67e145cff510a6a6984bdf1152911d69d2eb9e43";
       };
     }
     {
@@ -6690,6 +6698,22 @@
       };
     }
     {
+      name = "y18n___y18n_5.0.5.tgz";
+      path = fetchurl {
+        name = "y18n___y18n_5.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz";
+        sha1 = "8769ec08d03b1ea2df2500acef561743bbb9ab18";
+      };
+    }
+    {
+      name = "yaku___yaku_0.16.7.tgz";
+      path = fetchurl {
+        name = "yaku___yaku_0.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/yaku/-/yaku-0.16.7.tgz";
+        sha1 = "1d195c78aa9b5bf8479c895b9504fd4f0847984e";
+      };
+    }
+    {
       name = "yallist___yallist_2.1.2.tgz";
       path = fetchurl {
         name = "yallist___yallist_2.1.2.tgz";
@@ -6714,43 +6738,43 @@
       };
     }
     {
-      name = "yargs_parser___yargs_parser_18.1.3.tgz";
+      name = "yargs_parser___yargs_parser_15.0.1.tgz";
       path = fetchurl {
-        name = "yargs_parser___yargs_parser_18.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz";
-        sha1 = "be68c4975c6b2abf469236b0c870362fab09a7b0";
+        name = "yargs_parser___yargs_parser_15.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.1.tgz";
+        sha1 = "54786af40b820dcb2fb8025b11b4d659d76323b3";
       };
     }
     {
-      name = "yargs_parser___yargs_parser_7.0.0.tgz";
+      name = "yargs_parser___yargs_parser_20.2.4.tgz";
       path = fetchurl {
-        name = "yargs_parser___yargs_parser_7.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz";
-        sha1 = "8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9";
+        name = "yargs_parser___yargs_parser_20.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz";
+        sha1 = "b42890f14566796f85ae8e3a25290d205f154a54";
       };
     }
     {
-      name = "yargs_parser___yargs_parser_9.0.2.tgz";
+      name = "yargs_parser___yargs_parser_7.0.0.tgz";
       path = fetchurl {
-        name = "yargs_parser___yargs_parser_9.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz";
-        sha1 = "9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077";
+        name = "yargs_parser___yargs_parser_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz";
+        sha1 = "8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9";
       };
     }
     {
-      name = "yargs___yargs_11.1.1.tgz";
+      name = "yargs___yargs_14.2.3.tgz";
       path = fetchurl {
-        name = "yargs___yargs_11.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/yargs/-/yargs-11.1.1.tgz";
-        sha1 = "5052efe3446a4df5ed669c995886cc0f13702766";
+        name = "yargs___yargs_14.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-14.2.3.tgz";
+        sha1 = "1a1c3edced1afb2a2fea33604bc6d1d8d688a414";
       };
     }
     {
-      name = "yargs___yargs_15.3.1.tgz";
+      name = "yargs___yargs_16.2.0.tgz";
       path = fetchurl {
-        name = "yargs___yargs_15.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz";
-        sha1 = "9505b472763963e54afe60148ad27a330818e98b";
+        name = "yargs___yargs_16.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz";
+        sha1 = "1c82bf0f6b6a66eafce7ef30e376f49a12477f66";
       };
     }
     {
@@ -6762,11 +6786,11 @@
       };
     }
     {
-      name = "zip_stream___zip_stream_3.0.1.tgz";
+      name = "zip_stream___zip_stream_4.0.4.tgz";
       path = fetchurl {
-        name = "zip_stream___zip_stream_3.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/zip-stream/-/zip-stream-3.0.1.tgz";
-        sha1 = "cb8db9d324a76c09f9b76b31a12a48638b0b9708";
+        name = "zip_stream___zip_stream_4.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/zip-stream/-/zip-stream-4.0.4.tgz";
+        sha1 = "3a8f100b73afaa7d1ae9338d910b321dec77ff3a";
       };
     }
   ];
diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
index 833d1731b7272..f706a4399be54 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
+++ b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
@@ -8,12 +8,12 @@
 
 let
   executableName = "element-desktop";
-  version = "1.7.18";
+  version = "1.7.21";
   src = fetchFromGitHub {
     owner = "vector-im";
     repo = "element-desktop";
     rev = "v${version}";
-    sha256 = "sha256-5k+VVcloFAcFvk683r7njOCuj7OOnHS9QLEHFu0g+5o=";
+    sha256 = "sha256-tpFiKaJB6KN97ipN3OCTyxpiS0b980MQ1Ynxj8CjCuI=";
   };
 in mkYarnPackage rec {
   name = "element-desktop-${version}";
diff --git a/pkgs/applications/networking/instant-messengers/element/element-web.nix b/pkgs/applications/networking/instant-messengers/element/element-web.nix
index a997ea1567691..285e525efbbf5 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-web.nix
+++ b/pkgs/applications/networking/instant-messengers/element/element-web.nix
@@ -12,11 +12,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "element-web";
-  version = "1.7.18";
+  version = "1.7.21";
 
   src = fetchurl {
     url = "https://github.com/vector-im/element-web/releases/download/v${version}/element-v${version}.tar.gz";
-    sha256 = "sha256-fgbdlVTPPZriOoDsBbpmDWEEzHEunaDIl/sT4/6A9LM=";
+    sha256 = "sha256-JJXl+jDlXw8fZ1ZeeAACvilbqG9zanCmBsHy6BEla8M=";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/instant-messengers/franz/generic.nix b/pkgs/applications/networking/instant-messengers/franz/generic.nix
index 96865374bed16..7bbad79823327 100644
--- a/pkgs/applications/networking/instant-messengers/franz/generic.nix
+++ b/pkgs/applications/networking/instant-messengers/franz/generic.nix
@@ -22,7 +22,7 @@
 , expat
 , udev
 , libnotify
-, xdg_utils
+, xdg-utils
 }:
 
 # Helper function for building a derivation for Franz and forks.
@@ -85,7 +85,7 @@ stdenv.mkDerivation rec {
   postFixup = ''
     wrapProgram $out/opt/${name}/${pname} \
       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDependencies}" \
-      --prefix PATH : ${xdg_utils}/bin \
+      --prefix PATH : ${xdg-utils}/bin \
       "''${gappsWrapperArgs[@]}"
   '';
 }
diff --git a/pkgs/applications/networking/instant-messengers/gomuks/default.nix b/pkgs/applications/networking/instant-messengers/gomuks/default.nix
index a2d12124dbf15..0fea57ea9cc7e 100644
--- a/pkgs/applications/networking/instant-messengers/gomuks/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gomuks/default.nix
@@ -13,20 +13,21 @@
 
 buildGoModule rec {
   pname = "gomuks";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchFromGitHub {
     owner = "tulir";
     repo = pname;
     rev = "v${version}";
-    sha256 = "169xyd44jyfh5njwmhsmkah8njfgnp9q9c2b13p0ry5saicwm5h5";
+    sha256 = "0g0aa6h6bm00mdgkb38wm66rcrhqfvs2xj9rl04bwprsa05q5lca";
   };
 
-  vendorSha256 = "1l8qnz0qy90zpywfx7pbkqpxg7rkvc9j622zcmkf38kdc1z6w20a";
+  vendorSha256 = "14ya5advpv4q5il235h5dxy8c2ap2yzrvqs0sjqgw0v1vm6vpwdx";
 
   doCheck = false;
 
-  buildInputs = [ makeWrapper olm ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ olm ];
 
   # Upstream issue: https://github.com/tulir/gomuks/issues/260
   patches = lib.optional stdenv.isLinux (substituteAll {
@@ -54,8 +55,8 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://maunium.net/go/gomuks/";
     description = "A terminal based Matrix client written in Go";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ charvp emily ];
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ chvp emily ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/hipchat/default.nix b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
index 323a2521b0fd6..cbbe74481c236 100644
--- a/pkgs/applications/networking/instant-messengers/hipchat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, xorg, freetype, fontconfig, openssl, glib, nss, nspr, expat
 , alsaLib, dbus, zlib, libxml2, libxslt, makeWrapper, xkeyboard_config, systemd
-, libGL, xcbutilkeysyms, xdg_utils, libtool }:
+, libGL, xcbutilkeysyms, xdg-utils, libtool }:
 
 let
   version = "4.30.5.1682";
 
   rpath = lib.makeLibraryPath [
-    xdg_utils
+    xdg-utils
     xorg.libXext
     xorg.libSM
     xorg.libICE
@@ -47,7 +47,7 @@ in stdenv.mkDerivation {
     sha256 = "03pz8wskafn848yvciq29kwdvqcgjrk6sjnm8nk9acl89xf0sn96";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   buildCommand = ''
     ar x $src
diff --git a/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix b/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
index 7cb614f1d413c..feffbe312d5e8 100644
--- a/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
+++ b/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
@@ -2,19 +2,19 @@
 , fetchurl
 , appimageTools
 , makeWrapper
-, electron_9
+, electron_10
 }:
 
 let
-  electron = electron_9;
+  electron = electron_10;
 in
 stdenv.mkDerivation rec {
   pname = "jitsi-meet-electron";
-  version = "2.3.1";
+  version = "2.4.2";
 
   src = fetchurl {
     url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage";
-    sha256 = "0af87lvqw3sagi2cayripm62q17nfd841xz0ghvbixzfnqkvgf7x";
+    sha256 = "1lv3ca9qlggyb8vcg8zlxv46i8fgx5qrx7i7y71dlqblajalf42p";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/pkgs/applications/networking/instant-messengers/neochat/default.nix b/pkgs/applications/networking/instant-messengers/neochat/default.nix
index cd456b336dd65..c0e0c80b45958 100644
--- a/pkgs/applications/networking/instant-messengers/neochat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/neochat/default.nix
@@ -3,8 +3,6 @@
 , fetchFromGitLab
 , pkg-config
 , cmake
-, qtbase
-, qttools
 , qtquickcontrols2
 , qtmultimedia
 , qtgraphicaleffects
@@ -26,14 +24,14 @@
 
 mkDerivation rec {
   pname = "neochat";
-  version = "1.0.1";
+  version = "1.1.1";
 
   src = fetchFromGitLab {
     domain = "invent.kde.org";
     owner = "network";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xGqGFJHyoZXHLv/n3UGr/KVbgs5Gc9kKKWIuKMr9DtQ=";
+    sha256 = "sha256-HvLPsU+fxlyPDP7i9OSnZ/C1RjouOQCp+4WCl6FlFJo=";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules pkg-config ];
diff --git a/pkgs/applications/networking/instant-messengers/nheko/default.nix b/pkgs/applications/networking/instant-messengers/nheko/default.nix
index 57db6a0750e9e..927f89c94939d 100644
--- a/pkgs/applications/networking/instant-messengers/nheko/default.nix
+++ b/pkgs/applications/networking/instant-messengers/nheko/default.nix
@@ -23,6 +23,9 @@
 , olm
 , pkg-config
 , nlohmann_json
+, voipSupport ? true
+, gst_all_1
+, libnice
 }:
 
 mkDerivation rec {
@@ -59,12 +62,24 @@ mkDerivation rec {
     qtquickcontrols2
     qtgraphicaleffects
     qtkeychain
-  ] ++ lib.optional stdenv.isDarwin qtmacextras;
+  ] ++ lib.optional stdenv.isDarwin qtmacextras
+    ++ lib.optionals voipSupport (with gst_all_1; [
+      gstreamer
+      gst-plugins-base
+      (gst-plugins-good.override { qt5Support = true; })
+      gst-plugins-bad
+      libnice
+    ]);
 
   cmakeFlags = [
     "-DCOMPILE_QML=ON" # see https://github.com/Nheko-Reborn/nheko/issues/389
   ];
 
+  preFixup = lib.optionalString voipSupport ''
+    # add gstreamer plugins path to the wrapper
+    qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0")
+  '';
+
   meta = with lib; {
     description = "Desktop client for the Matrix protocol";
     homepage = "https://github.com/Nheko-Reborn/nheko";
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix
index 2862e4df796a2..9845491f235de 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     "DATA_ROOT_DIR_PURPLE=${placeholder "out"}/share"
   ];
 
-  buildFlags = [ "CC=cc" ]; # fix build on darwin
+  buildFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; # fix build on darwin
 
   meta = with lib; {
     homepage = "https://github.com/matrix-org/purple-matrix";
diff --git a/pkgs/applications/networking/instant-messengers/rambox/pro.nix b/pkgs/applications/networking/instant-messengers/rambox/pro.nix
index 7051799a27751..827cac7c29702 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/pro.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/pro.nix
@@ -4,14 +4,14 @@ let
   mkRambox = opts: callPackage (import ./rambox.nix opts) { };
 in mkRambox rec {
   pname = "rambox-pro";
-  version = "1.4.1";
+  version = "1.5.0";
 
   desktopName = "Rambox Pro";
 
   src = {
     x86_64-linux = fetchurl {
       url = "https://github.com/ramboxapp/download/releases/download/v${version}/RamboxPro-${version}-linux-x64.AppImage";
-      sha256 = "18383v3g26hd1czvw06gmjn8bdw2w9c7zb04zkfl6szgakrv26x4";
+      sha256 = "1g7lrjm8yxklqpc2mp8gy0g61wfilr15dl80r3sh6pa5b4k5spir";
     };
   }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
 
diff --git a/pkgs/applications/networking/instant-messengers/ripcord/default.nix b/pkgs/applications/networking/instant-messengers/ripcord/default.nix
index 9055b51d97565..e5221d861d363 100755
--- a/pkgs/applications/networking/instant-messengers/ripcord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ripcord/default.nix
@@ -5,12 +5,12 @@
 
 mkDerivation rec {
   pname = "ripcord";
-  version = "0.4.26";
+  version = "0.4.28";
 
   src = let
     appimage = fetchurl {
       url = "https://cancel.fm/dl/Ripcord-${version}-x86_64.AppImage";
-      sha256 = "0i9l21gyqga27ainzqp6icn8vbc22v1knq01pglgg1lg3p504ikq";
+      sha256 = "0bczqp4kny7jlp06f4bh1xg0x17g8980dj6pk4waqc7qk88i6sfv";
       name = "${pname}-${version}.AppImage";
     };
   in appimageTools.extract {
diff --git a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
index 93ab78c439a6f..0ef024225f6ff 100644
--- a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, lib, fetchurl, makeWrapper, jre_headless, libmatthew_java, dbus, dbus_java }:
+{ stdenv, lib, fetchurl, makeWrapper, openjdk11_headless, libmatthew_java, dbus, dbus_java }:
 
 stdenv.mkDerivation rec {
   pname = "signal-cli";
-  version = "0.6.12";
+  version = "0.8.0";
 
   # Building from source would be preferred, but is much more involved.
   src = fetchurl {
     url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}.tar.gz";
-    sha256 = "0i1y2p5qi2bwhkm8sv0wkb0lfi2vm26qalnpg6kn0ikcxkqkq5bc";
+    sha256 = "sha256-0YzeGtdsCUG8N7Av/zzHoC9KKu1rqjQDToaOEXzuoJc=";
   };
 
   buildInputs = lib.optionals stdenv.isLinux [ libmatthew_java dbus dbus_java ];
@@ -18,15 +18,15 @@ stdenv.mkDerivation rec {
     cp -r lib $out/lib
     cp bin/signal-cli $out/bin/signal-cli
   '' + (if stdenv.isLinux then ''
-    makeWrapper ${jre_headless}/bin/java $out/bin/signal-cli \
-      --set JAVA_HOME "${jre_headless}" \
+    makeWrapper ${openjdk11_headless}/bin/java $out/bin/signal-cli \
+      --set JAVA_HOME "${openjdk11_headless}" \
       --add-flags "-classpath '$out/lib/*:${libmatthew_java}/lib/jni'" \
       --add-flags "-Djava.library.path=${libmatthew_java}/lib/jni:${dbus_java}/share/java/dbus:$out/lib" \
       --add-flags "org.asamk.signal.Main"
   '' else ''
     wrapProgram $out/bin/signal-cli \
-      --prefix PATH : ${lib.makeBinPath [ jre_headless ]} \
-      --set JAVA_HOME ${jre_headless}
+      --prefix PATH : ${lib.makeBinPath [ openjdk11_headless ]} \
+      --set JAVA_HOME ${openjdk11_headless}
   '');
 
   # Execution in the macOS (10.13) sandbox fails with
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index 19e48bf88d688..e821e182cd40e 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -25,7 +25,7 @@ let
       else "");
 in stdenv.mkDerivation rec {
   pname = "signal-desktop";
-  version = "1.39.6"; # Please backport all updates to the stable channel.
+  version = "1.40.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:
@@ -35,7 +35,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 = "04fd81vc0dxk0b47crm5zacf4x79pdn483xicygnc1z6v7mnrmgk";
+    sha256 = "0k57r1x64w38n0295qdrf3p19d3z8m530h46ps0j2x0krhah47w7";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index 09452aa90b6cb..fe7a2e3ba0f36 100644
--- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
@@ -7,7 +7,7 @@ let
 
   # Please keep the version x.y.0.z and do not update to x.y.76.z because the
   # source of the latter disappears much faster.
-  version = "8.66.0.74";
+  version = "8.68.0.100";
 
   rpath = lib.makeLibraryPath [
     alsaLib
@@ -65,7 +65,7 @@ let
           "https://mirror.cs.uchicago.edu/skype/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
           "https://web.archive.org/web/https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
         ];
-        sha256 = "11bpzr3j6fa5x62xrx2q2sr1wxjrn0a37053j4prxjcvdrc5in8f";
+        sha256 = "gHjgQRdNABO+R+fcDurHDAQtZpckIxLbODM6Txz+LH4=";
       }
     else
       throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index 54c652aab6a81..8f09c37d25c18 100644
--- a/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -31,7 +31,7 @@
 , nss
 , pango
 , systemd
-, xdg_utils
+, xdg-utils
 , xorg
 }:
 
@@ -41,11 +41,11 @@ let
 
   pname = "slack";
 
-  x86_64-darwin-version = "4.12.2";
-  x86_64-darwin-sha256 = "0qflv2glfy7d77zjgqi7qcjr53c9dni26gmqkg9vk2xijmmd3xy7";
+  x86_64-darwin-version = "4.13.0";
+  x86_64-darwin-sha256 = "1f155fgbdmqxy7324lxj3ysx1p332rzpwy06iac90rm6irf5v57f";
 
-  x86_64-linux-version = "4.12.2";
-  x86_64-linux-sha256 = "sha256-G5uQI078N7AbhEJs6a/17Hoi5DSdwvYLM1T/ttrEw4s=";
+  x86_64-linux-version = "4.13.0";
+  x86_64-linux-sha256 = "1hqvynkhbkfwxvfgjqv91x5k7qlzayjr5mmf8rz0ncp4j4d3x9mq";
 
   version = {
     x86_64-darwin = x86_64-darwin-version;
@@ -151,7 +151,7 @@ let
       rm $out/bin/slack
       makeWrapper $out/lib/slack/slack $out/bin/slack \
         --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \
-        --prefix PATH : ${xdg_utils}/bin
+        --prefix PATH : ${xdg-utils}/bin
 
       # Fix the desktop link
       substituteInPlace $out/share/applications/slack.desktop \
diff --git a/pkgs/applications/networking/instant-messengers/ssh-chat/default.nix b/pkgs/applications/networking/instant-messengers/ssh-chat/default.nix
index e964c654c708b..71693485a1b02 100644
--- a/pkgs/applications/networking/instant-messengers/ssh-chat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ssh-chat/default.nix
@@ -1,19 +1,17 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "ssh-chat";
-  version = "1.10";
-
-  goPackagePath = "github.com/shazow/ssh-chat";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     owner = "shazow";
     repo = "ssh-chat";
     rev = "v${version}";
-    sha256 = "e4COAyheY+mE5zltR1Ms2OJ3I8iG/N1CZ6D7I9PDW5U=";
+    sha256 = "LgrqIuM/tLC0JqDai2TLu6G/edZ5Q7WFXjX5bzc0Bcc=";
   };
 
-  goDeps = ./deps.nix;
+  vendorSha256 = "QTUBorUAsWDOpNP3E/Y6ht7ZXZViWBbrMPtLl7lHtgE=";
 
   meta = with lib; {
     description = "Chat over SSH";
diff --git a/pkgs/applications/networking/instant-messengers/ssh-chat/deps.nix b/pkgs/applications/networking/instant-messengers/ssh-chat/deps.nix
deleted file mode 100644
index 4fc4b4b4909bf..0000000000000
--- a/pkgs/applications/networking/instant-messengers/ssh-chat/deps.nix
+++ /dev/null
@@ -1,84 +0,0 @@
-# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
-[
-  {
-    goPackagePath = "github.com/alexcesaro/log";
-    fetch = {
-      type = "git";
-      url = "https://github.com/alexcesaro/log";
-      rev = "61e686294e58";
-      sha256 = "1ckd5crq9rd12wpclahg2q0wprfg0whd6k9zbfzzkr6l1qpmmfam";
-    };
-  }
-  {
-    goPackagePath = "github.com/howeyc/gopass";
-    fetch = {
-      type = "git";
-      url = "https://github.com/howeyc/gopass";
-      rev = "7cb4b85ec19c";
-      sha256 = "1qyhjd6wx409g9cq3xbpbl2xl41nm00mxzcxm5gbqdlwsd0z80rv";
-    };
-  }
-  {
-    goPackagePath = "github.com/jessevdk/go-flags";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jessevdk/go-flags";
-      rev = "v1.4.0";
-      sha256 = "0algnnigph27spgn655zm4723yfjxjjvlf4k14z9drj3682df25a";
-    };
-  }
-  {
-    goPackagePath = "github.com/shazow/rateio";
-    fetch = {
-      type = "git";
-      url = "https://github.com/shazow/rateio";
-      rev = "4461efc8bdc4";
-      sha256 = "1isy75cmm71q18mvs6xaizgdjqnn6pllkj4yvd42brfgfj84qz0w";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "884d27f42877";
-      sha256 = "1ka5kqpw3wr3iawwxq4swmrwbww6v1cmds86z1nm0qb8fvhvpslk";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev = "eb5bcb51f2a3";
-      sha256 = "17k4g8krxbl84gzcs275b7gsh66dzm15fdxivjnx9xz8q84l4kby";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "1957bb5e6d1f";
-      sha256 = "0imqk4l9785rw7ddvywyf8zn7k3ga6f17ky8rmf8wrri7nknr03f";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "v0.3.2";
-      sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/tools";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/tools";
-      rev = "90fa682c2a6e";
-      sha256 = "03ic2xsy51jw9749wl7gszdbz99iijbd2bckgygl6cm9w5m364ak";
-    };
-  }
-]
diff --git a/pkgs/applications/networking/instant-messengers/teams/default.nix b/pkgs/applications/networking/instant-messengers/teams/default.nix
index af3235bbdc7c2..1625878a2d07e 100644
--- a/pkgs/applications/networking/instant-messengers/teams/default.nix
+++ b/pkgs/applications/networking/instant-messengers/teams/default.nix
@@ -10,7 +10,7 @@
 , at-spi2-atk
 , coreutils
 , gawk
-, xdg_utils
+, xdg-utils
 , systemd }:
 
 stdenv.mkDerivation rec {
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   ];
 
   preFixup = ''
-    gappsWrapperArgs+=(--prefix PATH : "${coreutils}/bin:${gawk}/bin:${xdg_utils}/bin")
+    gappsWrapperArgs+=(--prefix PATH : "${coreutils}/bin:${gawk}/bin:${xdg-utils}/bin")
   '';
 
   installPhase = ''
diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix
index 190e051589696..676902d68ef65 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix
@@ -1,5 +1,5 @@
 { mkDerivation, lib, fetchFromGitHub, pkg-config, python3, cmake, ninja
-, qtbase, qtimageformats, libdbusmenu, hunspell, xdg_utils, ffmpeg_3, openalSoft
+, qtbase, qtimageformats, libdbusmenu, hunspell, xdg-utils, ffmpeg_3, openalSoft
 , lzma, lz4, xxHash, zlib, minizip, openssl, libtgvoip, microsoft_gsl, tl-expected
 , range-v3
 }:
@@ -26,7 +26,7 @@ mkDerivation rec {
   ];
 
   qtWrapperArgs = [
-    "--prefix PATH : ${xdg_utils}/bin"
+    "--prefix PATH : ${xdg-utils}/bin"
   ];
 
   cmakeFlags = [
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index 7a3638d94f369..566e62ae7f0dd 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -3,9 +3,10 @@
 , qtbase, qtimageformats, gtk3, libsForQt5, enchant2, lz4, xxHash
 , dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
 , tl-expected, hunspell
-# TODO: Shouldn't be required:
-, pcre, xorg, util-linux, libselinux, libsepol, epoxy, at-spi2-core, libXtst
-, xdg_utils
+# Transitive dependencies:
+, pcre, xorg, util-linux, libselinux, libsepol, epoxy
+, at-spi2-core, libXtst, libthai, libdatrie
+, xdg-utils
 }:
 
 with lib;
@@ -22,12 +23,12 @@ let
 
 in mkDerivation rec {
   pname = "telegram-desktop";
-  version = "2.5.8";
+  version = "2.6.1";
 
   # Telegram-Desktop with submodules
   src = fetchurl {
     url = "https://github.com/telegramdesktop/tdesktop/releases/download/v${version}/tdesktop-${version}-full.tar.gz";
-    sha256 = "0zj1g24fi4m84p6zj9yk55v8sbhn0jdpdhp33y12d2msz0qwp2cw";
+    sha256 = "0wwb18wnh9sbfc6h7m8lj8qmc2n2p0zmp2977ddif6k2gi6qr1y7";
   };
 
   postPatch = ''
@@ -48,8 +49,9 @@ in mkDerivation rec {
     dee ffmpeg openalSoft minizip libopus alsaLib libpulseaudio range-v3
     tl-expected hunspell
     tg_owt
-    # TODO: Shouldn't be required:
-    pcre xorg.libpthreadstubs xorg.libXdmcp util-linux libselinux libsepol epoxy at-spi2-core libXtst
+    # Transitive dependencies:
+    pcre xorg.libpthreadstubs xorg.libXdmcp util-linux libselinux libsepol epoxy
+    at-spi2-core libXtst libthai libdatrie
   ];
 
   cmakeFlags = [
@@ -83,7 +85,7 @@ in mkDerivation rec {
     wrapProgram $out/bin/telegram-desktop \
       "''${gappsWrapperArgs[@]}" \
       "''${qtWrapperArgs[@]}" \
-      --prefix PATH : ${xdg_utils}/bin \
+      --prefix PATH : ${xdg-utils}/bin \
       --set XDG_RUNTIME_DIR "XDG-RUNTIME-DIR"
     sed -i $out/bin/telegram-desktop \
       -e "s,'XDG-RUNTIME-DIR',\"\''${XDG_RUNTIME_DIR:-/run/user/\$(id --user)}\","
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix
index b5a6579db57cf..7efac01c55ad4 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/tg_owt.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, cmake, ninja, yasm
 , libjpeg, openssl, libopus, ffmpeg, alsaLib, libpulseaudio, protobuf
+, xorg, libXtst
 }:
 
 let
-  rev = "be23804afce3bb2e80a1d57a7c1318c71b82b7de";
-  sha256 = "0avdxkig8z1ainzyxkm9vmlvkyqbjalwb4h9s9kcail82mnldnhc";
+  rev = "a19877363082da634a3c851a4698376504d2eaee";
+  sha256 = "03m6fkc3m2wbh821mr3ybsmd7sjllky44mizny96k4b249dkvzx7";
 
 in stdenv.mkDerivation {
   pname = "tg_owt";
@@ -23,6 +24,7 @@ in stdenv.mkDerivation {
 
   buildInputs = [
     libjpeg openssl libopus ffmpeg alsaLib libpulseaudio protobuf
+    xorg.libX11 libXtst
   ];
 
   cmakeFlags = [
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
index bc66d77e2246c..041ec5e7c5bae 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
@@ -9,8 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "1argdzbif1vdmwp5vqbgkadq9ancjmgdm2ncp0qfckni715ss4rh";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ glib telepathy-glib dbus-glib libxslt telepathy-glib.python (lib.getLib dconf) makeWrapper ];
+  nativeBuildInputs = [ pkg-config makeWrapper ];
+  buildInputs = [ glib telepathy-glib dbus-glib libxslt telepathy-glib.python (lib.getLib dconf) ];
 
   preFixup = ''
     wrapProgram "$out/libexec/telepathy-idle" \
diff --git a/pkgs/applications/networking/instant-messengers/toxic/default.nix b/pkgs/applications/networking/instant-messengers/toxic/default.nix
index e59e58644322c..fc6c78a4f673f 100644
--- a/pkgs/applications/networking/instant-messengers/toxic/default.nix
+++ b/pkgs/applications/networking/instant-messengers/toxic/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "toxic";
-  version = "0.10.0";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner  = "Tox";
     repo   = "toxic";
     rev    = "v${version}";
-    sha256 = "1v9cdpy6i3xl70g75zg33sqi4aqp20by0pyjhjg5iz24fxvfaw6c";
+    sha256 = "sha256-EElDi/VEYgYPpoDNatxcKQC1pnCU8kOcj0bAFojD9fU=";
   };
 
   makeFlags = [ "PREFIX=$(out)"];
diff --git a/pkgs/applications/networking/instant-messengers/viber/default.nix b/pkgs/applications/networking/instant-messengers/viber/default.nix
index 4389ee153c560..0224edc652fa7 100644
--- a/pkgs/applications/networking/instant-messengers/viber/default.nix
+++ b/pkgs/applications/networking/instant-messengers/viber/default.nix
@@ -13,7 +13,8 @@ stdenv.mkDerivation {
     sha256 = "0rs26x0lycavybn6k1hbb5kzms0zzcmxlrmi4g8k7vyafj6s8dqh";
   };
 
-  buildInputs = [ dpkg makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ dpkg ];
 
   dontUnpack = true;
 
diff --git a/pkgs/applications/networking/instant-messengers/wavebox/default.nix b/pkgs/applications/networking/instant-messengers/wavebox/default.nix
index f90269fc83e34..ba0f867b2aa1d 100644
--- a/pkgs/applications/networking/instant-messengers/wavebox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/wavebox/default.nix
@@ -1,5 +1,5 @@
 { alsaLib, autoPatchelfHook, fetchurl, gtk3, libnotify
-, makeDesktopItem, makeWrapper, nss, lib, stdenv, udev, xdg_utils
+, makeDesktopItem, makeWrapper, nss, lib, stdenv, udev, xdg-utils
 , xorg
 }:
 
@@ -54,7 +54,7 @@ in stdenv.mkDerivation {
 
   postFixup = ''
     makeWrapper $out/opt/wavebox/Wavebox $out/bin/wavebox \
-      --prefix PATH : ${xdg_utils}/bin
+      --prefix PATH : ${xdg-utils}/bin
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index 089f0b327af3f..c431b5d0ce666 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchurl
-, mkDerivation
 , makeWrapper
 , fetchFromGitHub
 # Dynamic libraries
@@ -32,11 +31,11 @@
 assert pulseaudioSupport -> libpulseaudio != null;
 
 let
-  version = "5.4.57862.0110";
+  version = "5.5.7011.0206";
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz";
-      sha256 = "sha256-ZAwXhbZ3nT6PGkSC1vnX2y/XUOZfped0r3OuedI62gY=";
+      sha256 = "00ahly3kjjznn73vcxgm5wj2pxgw6wdk6vzgd8svfmnl5kqq6c02";
     };
   };
   dontUnpack = true;
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/update.sh b/pkgs/applications/networking/instant-messengers/zoom-us/update.sh
index bda9c5ae0a070..6ef9ec32538ff 100755
--- a/pkgs/applications/networking/instant-messengers/zoom-us/update.sh
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/update.sh
@@ -3,6 +3,8 @@
 
 set -eu -o pipefail
 
-version="$(curl -Ls https://zoom.us/download\?os\=linux | pup '.linux-ver-text text{}' | cut -d' ' -f2)"
+version="$(curl -Ls https://zoom.us/download\?os\=linux | \
+  pup '.linux-ver-text text{}' | \
+  awk -F'[ ().]' '{printf $2"."$3"."$6"."$7"\n"}')"
 
 update-source-version zoom-us "$version"
diff --git a/pkgs/applications/networking/instant-messengers/zulip/default.nix b/pkgs/applications/networking/instant-messengers/zulip/default.nix
index a177499154ee0..6b143abda3b39 100644
--- a/pkgs/applications/networking/instant-messengers/zulip/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zulip/default.nix
@@ -5,12 +5,12 @@
 
 let
   pname = "zulip";
-  version = "5.5.0";
+  version = "5.6.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/zulip/zulip-desktop/releases/download/v${version}/Zulip-${version}-x86_64.AppImage";
-    sha256 = "059zfcvaq8wnsz2lfd4gdb17b6nngqk3vgisy2kb29ifqf3lpzqi";
+    sha256 = "19sdmkxxzaidb89m8k56p94hq2yaxwn9islzrzwb86f50hlrq46w";
     name="${pname}-${version}.AppImage";
   };
 
@@ -34,7 +34,7 @@ in appimageTools.wrapType2 {
     description = "Desktop client for Zulip Chat";
     homepage = "https://zulip.com";
     license = licenses.asl20;
-    maintainers = with maintainers; [ jonafato ];
+    maintainers = with maintainers; [ andersk jonafato ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/networking/insync/default.nix b/pkgs/applications/networking/insync/default.nix
index b52a81932e4f6..380aad6c32914 100644
--- a/pkgs/applications/networking/insync/default.nix
+++ b/pkgs/applications/networking/insync/default.nix
@@ -12,9 +12,7 @@ stdenv.mkDerivation rec {
     else
       throw "${pname}-${version} is not supported on ${stdenv.hostPlatform.system}";
 
-  buildInputs = [ makeWrapper ];
-
-  nativeBuildInputs = [ autoPatchelfHook ];
+  nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
 
   postPatch = ''
     patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" client/insync-portable
diff --git a/pkgs/applications/networking/ipfs-migrator/default.nix b/pkgs/applications/networking/ipfs-migrator/default.nix
index 8d83c27e62082..abc81e213d7dd 100644
--- a/pkgs/applications/networking/ipfs-migrator/default.nix
+++ b/pkgs/applications/networking/ipfs-migrator/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ipfs-migrator";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "ipfs";
     repo = "fs-repo-migrations";
     rev = "v${version}";
-    sha256 = "0s2mmprhhb04i8pa3lfgb61wvlrp44xnb4d08y7vd2i82lmh234b";
+    sha256 = "sha256-MxEKmoveIpuxBkGGGJHp9T11i3Py8a1fLpF0fWk0ftg=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/ipfs/default.nix b/pkgs/applications/networking/ipfs/default.nix
index c54b4428819c9..1b648108e7871 100644
--- a/pkgs/applications/networking/ipfs/default.nix
+++ b/pkgs/applications/networking/ipfs/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ipfs";
-  version = "0.7.0";
+  version = "0.8.0";
   rev = "v${version}";
 
   # go-ipfs makes changes to it's source tarball that don't match the git source.
   src = fetchurl {
     url = "https://github.com/ipfs/go-ipfs/releases/download/${rev}/go-ipfs-source.tar.gz";
-    sha256 = "1fkzwm4qxxpmbjammk6s5qcyjxivfa0ydqz4mpz1w756c4jq0jf3";
+    sha256 = "sha256-uK3+Ekr5AM6mmGmjFSj1Rotm5pbH657BYUlP9B39WEw=";
   };
 
   # tarball contains multiple files/directories
diff --git a/pkgs/applications/networking/irc/communi/default.nix b/pkgs/applications/networking/irc/communi/default.nix
index 030737848a96e..0d0144fbf9156 100644
--- a/pkgs/applications/networking/irc/communi/default.nix
+++ b/pkgs/applications/networking/irc/communi/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  dontWrapQtApps = true;
+
   preConfigure = ''
     export QMAKEFEATURES=${libcommuni}/features
   '';
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index 148665d6b6d4e..58952f28b5588 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -27,12 +27,12 @@ let
   in
     assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins;
     stdenv.mkDerivation rec {
-      version = "3.0";
+      version = "3.0.1";
       pname = "weechat";
 
       src = fetchurl {
         url = "https://weechat.org/files/src/weechat-${version}.tar.bz2";
-        sha256 = "0ciddvyhyp38fnfsi1plj3z8d76f28lbzbxib2857vw7rzyqfcky";
+        sha256 = "0f50kib8l99vlp9wqszq2r2g5panzphsgs7viga8lyc83v229b33";
       };
 
       outputs = [ "out" "man" ] ++ map (p: p.name) enabledPlugins;
diff --git a/pkgs/applications/networking/irc/weechat/scripts/default.nix b/pkgs/applications/networking/irc/weechat/scripts/default.nix
index 07e759035460d..1042c2d1dee31 100644
--- a/pkgs/applications/networking/irc/weechat/scripts/default.nix
+++ b/pkgs/applications/networking/irc/weechat/scripts/default.nix
@@ -1,8 +1,12 @@
-{ callPackage, luaPackages, python3Packages }:
+{ callPackage, luaPackages, perlPackages, python3Packages }:
 
 {
   colorize_nicks = callPackage ./colorize_nicks { };
 
+  multiline = callPackage ./multiline {
+    inherit (perlPackages) PodParser;
+  };
+
   weechat-matrix-bridge = callPackage ./weechat-matrix-bridge {
     inherit (luaPackages) cjson luaffi;
   };
diff --git a/pkgs/applications/networking/irc/weechat/scripts/multiline/default.nix b/pkgs/applications/networking/irc/weechat/scripts/multiline/default.nix
new file mode 100644
index 0000000000000..447d415c163c7
--- /dev/null
+++ b/pkgs/applications/networking/irc/weechat/scripts/multiline/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, lib, fetchurl, substituteAll, PodParser }:
+
+stdenv.mkDerivation {
+  pname = "multiline";
+  version = "0.6.3";
+
+  src = fetchurl {
+    url = "https://raw.githubusercontent.com/weechat/scripts/945315bed4bc2beaf1e47f9b946ffe8f638f77fe/perl/multiline.pl";
+    sha256 = "1smialb21ny7brhij4sbw46xvsmrdv6ig2da0ip63ga2afngwsy4";
+  };
+
+  dontUnpack = true;
+  prePatch = ''
+    cp $src multiline.pl
+  '';
+
+  patches = [
+    # The script requires a special Perl environment.
+    (substituteAll {
+      src = ./libpath.patch;
+      env = PodParser;
+    })
+  ];
+
+  passthru.scripts = [ "multiline.pl" ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D multiline.pl $out/share/multiline.pl
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Multi-line edit box";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ oxzi ];
+  };
+}
diff --git a/pkgs/applications/networking/irc/weechat/scripts/multiline/libpath.patch b/pkgs/applications/networking/irc/weechat/scripts/multiline/libpath.patch
new file mode 100644
index 0000000000000..34299f20d8c29
--- /dev/null
+++ b/pkgs/applications/networking/irc/weechat/scripts/multiline/libpath.patch
@@ -0,0 +1,9 @@
+diff --git a/multiline.pl b/multiline.pl
+index 54474d4..42fbef8 100644
+--- a/multiline.pl
++++ b/multiline.pl
+@@ -1,3 +1,4 @@
++use lib '@env@/lib/perl5/site_perl';
+ use strict; use warnings;
+ $INC{'Encode/ConfigLocal.pm'}=1;
+ require Encode;
diff --git a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/0001-hardcode-json-file-path.patch b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/0001-hardcode-json-file-path.patch
new file mode 100644
index 0000000000000..45e620db258de
--- /dev/null
+++ b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/0001-hardcode-json-file-path.patch
@@ -0,0 +1,35 @@
+From 5dd2593369645b11a9dc03e1930617d2f5dbd039 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
+Date: Wed, 11 Nov 2020 11:48:49 +0100
+Subject: [PATCH] hardcode json file path
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ wee_slack.py | 8 +-------
+ 1 file changed, 1 insertion(+), 7 deletions(-)
+
+diff --git a/wee_slack.py b/wee_slack.py
+index a3d779c..5942289 100644
+--- a/wee_slack.py
++++ b/wee_slack.py
+@@ -5136,13 +5136,7 @@ def create_slack_debug_buffer():
+ 
+ def load_emoji():
+     try:
+-        weechat_dir = w.info_get('weechat_dir', '')
+-        weechat_sharedir = w.info_get('weechat_sharedir', '')
+-        local_weemoji, global_weemoji = ('{}/weemoji.json'.format(path)
+-                for path in (weechat_dir, weechat_sharedir))
+-        path = (global_weemoji if os.path.exists(global_weemoji) and
+-                not os.path.exists(local_weemoji) else local_weemoji)
+-        with open(path, 'r') as ef:
++        with open('@out@/share/wee-slack/weemoji.json', 'r') as ef:
+             emojis = json.loads(ef.read())
+             if 'emoji' in emojis:
+                 print_error('The weemoji.json file is in an old format. Please update it.')
+-- 
+2.29.0
+
diff --git a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix
index 089271812a7a8..679e278c8a09d 100644
--- a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix
+++ b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wee-slack";
-  version = "2.6.0";
+  version = "2.7.0";
 
   src = fetchFromGitHub {
     repo = "wee-slack";
     owner = "wee-slack";
     rev = "v${version}";
-    sha256 = "0s4qd1z40c1bczkvc840jwjmzbv7nyj06xqs1si9v54qmkh4gaq4";
+    sha256 = "sha256-6Z/H15bKe0PKpNe9PCgc5mLOii3CILCAVon7EgzIkx8=";
   };
 
   patches = [
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
         paths = with python3Packages; [ websocket_client six ];
       }}/${python3Packages.python.sitePackages}";
     })
-    ./hardcode-json-file-path.patch
+    ./0001-hardcode-json-file-path.patch
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/hardcode-json-file-path.patch b/pkgs/applications/networking/irc/weechat/scripts/wee-slack/hardcode-json-file-path.patch
deleted file mode 100644
index 7413a9229ce65..0000000000000
--- a/pkgs/applications/networking/irc/weechat/scripts/wee-slack/hardcode-json-file-path.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/wee_slack.py
-+++ b/wee_slack.py
-@@ -4560,8 +4560,7 @@
- 
- def load_emoji():
-     try:
--        DIR = w.info_get('weechat_dir', '')
--        with open('{}/weemoji.json'.format(DIR), 'r') as ef:
-+        with open('@out@/share/wee-slack/weemoji.json', 'r') as ef:
-             emojis = json.loads(ef.read())
-             if 'emoji' in emojis:
-                 print_error('The weemoji.json file is in an old format. Please update it.')
diff --git a/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix b/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
index 07e4dd54e5e5c..20aebebf7da14 100644
--- a/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
+++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
@@ -70,6 +70,10 @@ in buildPythonPackage {
   '';
 
   dontPatchShebangs = true;
+  postFixup = ''
+    addToSearchPath program_PYTHONPATH $out/${python.sitePackages}
+    patchPythonScript $out/share/matrix.py
+  '';
 
   meta = with lib; {
     description = "A Python plugin for Weechat that lets Weechat communicate over the Matrix protocol";
diff --git a/pkgs/applications/networking/jnetmap/default.nix b/pkgs/applications/networking/jnetmap/default.nix
index bac0048cc28d3..e6332832e3ec9 100644
--- a/pkgs/applications/networking/jnetmap/default.nix
+++ b/pkgs/applications/networking/jnetmap/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0nxsfa600jhazwbabxmr9j37mhwysp0fyrvczhv3f1smiy8rjanl";
   };
 
-  buildInputs = [ jre makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre ];
 
   dontUnpack = true;
 
diff --git a/pkgs/applications/networking/maestral-qt/default.nix b/pkgs/applications/networking/maestral-qt/default.nix
index b568775481c14..0929c745b2122 100644
--- a/pkgs/applications/networking/maestral-qt/default.nix
+++ b/pkgs/applications/networking/maestral-qt/default.nix
@@ -6,18 +6,17 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "maestral-qt";
-  version = "1.3.1";
+  version = "1.4.2";
   disabled = python3.pkgs.pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "SamSchott";
     repo = "maestral-qt";
     rev = "v${version}";
-    sha256 = "sha256-2S2sa2/HVt3IRsE98PT2XwpONjaYENBzYW+ezBFrJYI=";
+    sha256 = "sha256-cPH0wD7RL3OifDTD48x58I4qeaLALOMFnfWXjE2/lUQ=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
-    bugsnag
     click
     markdown2
     maestral
diff --git a/pkgs/applications/networking/mailreaders/aerc/default.nix b/pkgs/applications/networking/mailreaders/aerc/default.nix
index b43e6bb093c48..3124239b0d9a5 100644
--- a/pkgs/applications/networking/mailreaders/aerc/default.nix
+++ b/pkgs/applications/networking/mailreaders/aerc/default.nix
@@ -1,7 +1,6 @@
 { lib, buildGoModule, fetchurl
-, go, ncurses, notmuch, scdoc
-, python3, perl, w3m, dante
-, fetchFromGitHub
+, ncurses, notmuch, scdoc
+, python3, w3m, dante
 }:
 
 buildGoModule rec {
diff --git a/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch b/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch
index 91978753ae960..e08161e61eb68 100644
--- a/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch
+++ b/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch
@@ -1,6 +1,6 @@
-From 6cf3c2e42d219b9665a43ca65f321c653b0aa102 Mon Sep 17 00:00:00 2001
+From c715a96c693baa0e6c8ab3c96b6c10e0a40bf7af Mon Sep 17 00:00:00 2001
 From: Tadeo Kondrak <me@tadeo.ca>
-Date: Mon, 28 Oct 2019 08:36:36 -0600
+Date: Thu, 21 Jan 2021 10:40:49 +0100
 Subject: [PATCH] Fix aerc breaking every time the package is rebuilt.
 
 On NixOS, the SHAREDIR changes on every rebuild to the package, but aerc
@@ -8,28 +8,28 @@ fills it in as part of the default config and then installs that config
 to the users home folder. Fix this by not substituting @SHAREDIR@ in the
 default config until runtime.
 ---
- Makefile         | 2 +-
- config/config.go | 8 ++++++++
- 2 files changed, 9 insertions(+), 1 deletion(-)
+ Makefile         |  2 +-
+ config/config.go | 13 +++++++++++++
+ 2 files changed, 14 insertions(+), 1 deletion(-)
 
 diff --git a/Makefile b/Makefile
-index d1c755d..1185a96 100644
+index 77f5e61..98cbc11 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -24,7 +24,7 @@ aerc: $(GOSRC)
+@@ -23,7 +23,7 @@ aerc: $(GOSRC)
  		-o $@
- 
+
  aerc.conf: config/aerc.conf.in
 -	sed -e 's:@SHAREDIR@:$(SHAREDIR):g' > $@ < config/aerc.conf.in
 +	cat config/aerc.conf.in > $@
- 
- DOCS := \
- 	aerc.1 \
+
+ debug: $(GOSRC)
+ 	GOFLAGS="-tags=notmuch" \
 diff --git a/config/config.go b/config/config.go
-index 32d07fc..8ffd3e8 100644
+index 87d183a..cb6611a 100644
 --- a/config/config.go
 +++ b/config/config.go
-@@ -472,6 +472,11 @@ func LoadConfigFromFile(root *string, sharedir string) (*AercConfig, error) {
+@@ -470,6 +470,16 @@ func LoadConfigFromFile(root *string, sharedir string) (*AercConfig, error) {
  			return nil, err
  		}
  	}
@@ -38,11 +38,15 @@ index 32d07fc..8ffd3e8 100644
 +			sec.NewKey("template-dirs", strings.ReplaceAll(key.String(), "@SHAREDIR@", sharedir))
 +		}
 +	}
++	if sec, err := file.GetSection("ui"); err == nil {
++		if key, err := sec.GetKey("stylesets-dirs"); err == nil {
++			sec.NewKey("stylesets-dirs", strings.ReplaceAll(key.String(), "@SHAREDIR@", sharedir))
++		}
++	}
  	file.NameMapper = mapName
  	config := &AercConfig{
  		Bindings: BindingConfig{
-@@ -546,6 +428,9 @@ func LoadConfigFromFile(root *string, sharedir string) (*AercConfig, error) {
- 	if err = config.LoadConfig(file); err != nil {
+@@ -547,6 +557,9 @@ func LoadConfigFromFile(root *string, sharedir string) (*AercConfig, error) {
  		return nil, err
  	}
 
@@ -52,6 +56,5 @@ index 32d07fc..8ffd3e8 100644
  	if ui, err := file.GetSection("general"); err == nil {
  		if err := ui.MapTo(&config.General); err != nil {
  			return nil, err
--- 
-2.23.0
-
+--
+2.30.0
diff --git a/pkgs/applications/networking/mailreaders/claws-mail/default.nix b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
index b745a842b9f4f..a9cea58902a1e 100644
--- a/pkgs/applications/networking/mailreaders/claws-mail/default.nix
+++ b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
@@ -1,52 +1,135 @@
-{ lib, config, fetchurl, stdenv, wrapGAppsHook, autoreconfHook
-, curl, dbus, dbus-glib, enchant, gtk2, gnutls, gnupg, gpgme, gumbo
-, libarchive, libcanberra-gtk2, libetpan, libnotify, libsoup, libxml2, networkmanager
-, openldap, perl, pkg-config, poppler, python, shared-mime-info
-, glib-networking, gsettings-desktop-schemas, libSM, libytnef, libical
-# Build options
-# TODO: A flag to build the manual.
-# TODO: Plugins that complain about their missing dependencies, even when
-#       provided:
-#         gdata requires libgdata
-#         geolocation requires libchamplain
-, enableLdap ? false
-, enableNetworkManager ? config.networking.networkmanager.enable or false
+{ stdenv, lib, fetchgit, wrapGAppsHook, autoreconfHook, bison, flex
+, curl, gtk2, gtk3, pkg-config, python2, python3, shared-mime-info
+, glib-networking, gsettings-desktop-schemas
+
+# Use the experimental gtk3 branch.
+, useGtk3 ? false
+
+# Package compatibility: old parameters whose name were not directly derived
 , enablePgp ? true
-, enablePluginArchive ? false
-, enablePluginLitehtmlViewer ? false
 , enablePluginNotificationDialogs ? true
 , enablePluginNotificationSounds ? true
-, enablePluginPdf ? false
-, enablePluginPython ? false
-, enablePluginRavatar ? false
-, enablePluginRssyl ? false
-, enablePluginSmime ? false
-, enablePluginSpamassassin ? false
-, enablePluginSpamReport ? false
-, enablePluginVcalendar ? false
-, enableSpellcheck ? false
+, enablePluginPdf ? true
+, enablePluginRavatar ? true
+, enableSpellcheck ? true
+
+# Arguments to include external libraries
+, enableLibSM ? true, libSM
+, enableGnuTLS ? true, gnutls
+, enableEnchant ? enableSpellcheck, enchant
+, enableDbus ? true, dbus, dbus-glib
+, enableLdap ? true, openldap
+, enableNetworkManager ? true, networkmanager
+, enableLibetpan ? true, libetpan
+, enableValgrind ? true, valgrind
+, enableSvg ? true, librsvg
+
+# Configure claws-mail's plugins
+, enablePluginAcpiNotifier ? true
+, enablePluginAddressKeeper ? true
+, enablePluginArchive ? true, libarchive
+, enablePluginAttRemover ? true
+, enablePluginAttachWarner ? true
+, enablePluginBogofilter ? true
+, enablePluginBsfilter ? true
+, enablePluginClamd ? true
+, enablePluginDillo ? true
+, enablePluginFetchInfo ? true
+, enablePluginLibravatar ? enablePluginRavatar
+, enablePluginLitehtmlViewer ? true, gumbo
+, enablePluginMailmbox ? true
+, enablePluginManageSieve ? true
+, enablePluginNewMail ? true
+, enablePluginNotification ? (enablePluginNotificationDialogs || enablePluginNotificationSounds), libcanberra-gtk2, libcanberra-gtk3, libnotify
+, enablePluginPdfViewer ? enablePluginPdf, poppler
+, enablePluginPerl ? true, perl
+, enablePluginPython ? true
+, enablePluginPgp ? enablePgp, gnupg, gpgme
+, enablePluginRssyl ? true, libxml2
+, enablePluginSmime ? true
+, enablePluginSpamassassin ? true
+, enablePluginSpamReport ? true
+, enablePluginTnefParse ? true, libytnef
+, enablePluginVcalendar ? true, libical
 }:
 
 with lib;
 
-stdenv.mkDerivation rec {
-  pname = "claws-mail";
-  version = "3.17.7";
+let
+  version = if useGtk3 then "3.99.0" else "3.17.8";
 
-  src = fetchurl {
-    url = "https://www.claws-mail.org/download.php?file=releases/claws-mail-${version}.tar.xz";
-    sha256 = "1j6x09621wng0lavh53nwzh9vqjzpspl8kh5azh7kbihpi4ldfb0";
+  # The official release uses gtk2 and contains the version tag.
+  gtk2src = {
+    sha256 = "0l4f8q11iyj8pi120lrapgq51k5j64xf0jlczkzbm99rym752ch5";
   };
 
-  outputs = [ "out" "dev" ];
+  # The corresponding commit in the gtk3 branch.
+  gtk3src = {
+    sha256 = "176h1swh1zx6dqyzfz470x4a1xicnv0zhy8ir47k7p23g6y17i2k";
+  };
+
+  python = if useGtk3 then python3 else python2;
+  pythonPkgs = if useGtk3
+    then
+      with python.pkgs; [ python wrapPython pygobject3 ]
+    else
+      with python.pkgs; [ python wrapPython pygtk pygobject2 ];
 
-  patches = [
-    ./mime.patch
+  features = [
+    { flags = [ "acpi_notifier-plugin" ]; enabled = enablePluginAcpiNotifier; }
+    { flags = [ "address_keeper-plugin" ]; enabled = enablePluginAddressKeeper; }
+    { flags = [ "archive-plugin" ]; enabled = enablePluginArchive; deps = [ libarchive ]; }
+    { flags = [ "att_remover-plugin" ]; enabled = enablePluginAttRemover; }
+    { flags = [ "attachwarner-plugin" ]; enabled = enablePluginAttachWarner; }
+    { flags = [ "bogofilter-plugin" ]; enabled = enablePluginBogofilter; }
+    { flags = [ "bsfilter-plugin" ]; enabled = enablePluginBsfilter; }
+    { flags = [ "clamd-plugin" ]; enabled = enablePluginClamd; }
+    { flags = [ "dbus" ]; enabled = enableDbus; deps = [ dbus dbus-glib ]; }
+    { flags = [ "dillo-plugin" ]; enabled = enablePluginDillo; }
+    { flags = [ "enchant" ]; enabled = enableEnchant; deps = [ enchant ]; }
+    { flags = [ "fetchinfo-plugin" ]; enabled = enablePluginFetchInfo; }
+    { flags = [ "gnutls" ]; enabled = enableGnuTLS; deps = [ gnutls ]; }
+    { flags = [ "ldap" ]; enabled = enableLdap; deps = [ openldap ]; }
+    { flags = [ "libetpan" ]; enabled = enableLibetpan; deps = [ libetpan ]; }
+    { flags = [ "libravatar-plugin" ]; enabled = enablePluginLibravatar; }
+    { flags = [ "libsm" ]; enabled = enableLibSM; deps = [ libSM ]; }
+    { flags = [ "litehtml_viewer-plugin" ]; enabled = enablePluginLitehtmlViewer; deps = [ gumbo ]; }
+    { flags = [ "mailmbox-plugin" ]; enabled = enablePluginMailmbox; }
+    { flags = [ "managesieve-plugin" ]; enabled = enablePluginManageSieve; }
+    { flags = [ "networkmanager" ]; enabled = enableNetworkManager; deps = [ networkmanager ]; }
+    { flags = [ "newmail-plugin" ]; enabled = enablePluginNewMail; }
+    { flags = [ "notification-plugin" ]; enabled = enablePluginNotification; deps = [ libnotify ] ++ [(if useGtk3 then libcanberra-gtk3 else libcanberra-gtk2)]; }
+    { flags = [ "pdf_viewer-plugin" ]; enabled = enablePluginPdfViewer; deps = [ poppler ]; }
+    { flags = [ "perl-plugin" ]; enabled = enablePluginPerl; deps = [ perl ]; }
+    { flags = [ "pgpcore-plugin" "pgpinline-plugin" "pgpmime-plugin" ]; enabled = enablePluginPgp; deps = [ gnupg gpgme ]; }
+    { flags = [ "python-plugin" ]; enabled = enablePluginPython; }
+    { flags = [ "rssyl-plugin" ]; enabled = enablePluginRssyl; deps = [ libxml2 ]; }
+    { flags = [ "smime-plugin" ]; enabled = enablePluginSmime; }
+    { flags = [ "spam_report-plugin" ]; enabled = enablePluginSpamReport; }
+    { flags = [ "spamassassin-plugin" ]; enabled = enablePluginSpamassassin; }
+    { flags = [ "svg" ]; enabled = enableSvg; deps = [ librsvg ]; }
+    { flags = [ "tnef_parse-plugin" ]; enabled = enablePluginTnefParse; deps = [ libytnef ]; }
+    { flags = [ "valgrind" ]; enabled = enableValgrind; deps = [ valgrind ]; }
+    { flags = [ "vcalendar-plugin" ]; enabled = enablePluginVcalendar; deps = [ libical ]; }
   ];
+in stdenv.mkDerivation rec {
+  pname = "claws-mail";
+  inherit version;
+
+  src = fetchgit ({
+    rev = version;
+    url = "git://git.claws-mail.org/claws.git";
+  } // (if useGtk3 then gtk3src else gtk2src));
+
+  outputs = [ "out" "dev" ];
+
+  patches = [ ./mime.patch ];
 
   preConfigure = ''
     # autotools check tries to dlopen libpython as a requirement for the python plugin
     export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${python}/lib
+    # generate version without .git
+    [ -e version ] || echo "echo ${version}" > version
   '';
 
   postPatch = ''
@@ -54,51 +137,30 @@ stdenv.mkDerivation rec {
         --subst-var-by MIMEROOTDIR ${shared-mime-info}/share
   '';
 
-  nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook python.pkgs.wrapPython ];
-  propagatedBuildInputs = with python.pkgs; [ python ] ++ optionals enablePluginPython [ pygtk pygobject2 ];
+  nativeBuildInputs = [ autoreconfHook pkg-config bison flex wrapGAppsHook ];
+  propagatedBuildInputs = pythonPkgs;
 
   buildInputs =
-    [ curl dbus dbus-glib gtk2 gnutls gsettings-desktop-schemas
-      libetpan perl glib-networking libSM libytnef
-    ]
-    ++ optional enableSpellcheck enchant
-    ++ optionals (enablePgp || enablePluginSmime) [ gnupg gpgme ]
-    ++ optional enablePluginArchive libarchive
-    ++ optional enablePluginNotificationSounds libcanberra-gtk2
-    ++ optional enablePluginNotificationDialogs libnotify
-    ++ optional enablePluginLitehtmlViewer gumbo
-    ++ optional enablePluginRssyl libxml2
-    ++ optional enableNetworkManager networkmanager
-    ++ optional enableLdap openldap
-    ++ optional enablePluginPdf poppler
-    ++ optional enablePluginVcalendar libical;
+    [ curl gsettings-desktop-schemas glib-networking ]
+    ++ [(if useGtk3 then gtk3 else gtk2)]
+    ++ concatMap (f: optionals f.enabled f.deps) (filter (f: f ? deps) features)
+  ;
 
   configureFlags =
-    optional (!enableLdap) "--disable-ldap"
-    ++ optional (!enableNetworkManager) "--disable-networkmanager"
-    ++ optionals (!enablePgp) [
-      "--disable-pgpcore-plugin"
-      "--disable-pgpinline-plugin"
-      "--disable-pgpmime-plugin"
-    ]
-    ++ optional (!enablePluginArchive) "--disable-archive-plugin"
-    ++ optional (!enablePluginLitehtmlViewer) "--disable-litehtml_viewer-plugin"
-    ++ optional (!enablePluginPdf) "--disable-pdf_viewer-plugin"
-    ++ optional (!enablePluginPython) "--disable-python-plugin"
-    ++ optional (!enablePluginRavatar) "--disable-libravatar-plugin"
-    ++ optional (!enablePluginRssyl) "--disable-rssyl-plugin"
-    ++ optional (!enablePluginSmime) "--disable-smime-plugin"
-    ++ optional (!enablePluginSpamassassin) "--disable-spamassassin-plugin"
-    ++ optional (!enablePluginSpamReport) "--disable-spam_report-plugin"
-    ++ optional (!enablePluginVcalendar) "--disable-vcalendar-plugin"
-    ++ optional (!enableSpellcheck) "--disable-enchant";
+    [
+      "--disable-manual"   # Missing docbook-tools, e.g., docbook2html
+      "--disable-compface" # Missing compface library
+      "--disable-jpilot"   # Missing jpilot library
 
-  enableParallelBuilding = true;
+      "--disable-gdata-plugin" # Complains about missing libgdata, even when provided
+      "--disable-fancy-plugin" # Missing libwebkit-1.0 library
+    ] ++
+    (map (feature: map (flag: strings.enableFeature feature.enabled flag) feature.flags) features);
 
-  pythonPath = with python.pkgs; [ pygobject2 pygtk ];
+  enableParallelBuilding = true;
 
   preFixup = ''
-    buildPythonPath "$out $pythonPath"
+    buildPythonPath "$out $pythonPkgs"
     gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share" --prefix PYTHONPATH : "$program_PYTHONPATH")
   '';
 
@@ -112,6 +174,6 @@ stdenv.mkDerivation rec {
     homepage = "https://www.claws-mail.org/";
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ fpletz globin orivej ];
+    maintainers = with maintainers; [ fpletz globin orivej oxzi ajs124 ];
   };
 }
diff --git a/pkgs/applications/networking/mailreaders/claws-mail/gtk3.nix b/pkgs/applications/networking/mailreaders/claws-mail/gtk3.nix
deleted file mode 100644
index d5223092446df..0000000000000
--- a/pkgs/applications/networking/mailreaders/claws-mail/gtk3.nix
+++ /dev/null
@@ -1,121 +0,0 @@
-{ lib, config, fetchgit, stdenv, wrapGAppsHook, autoreconfHook, bison, flex
-, curl, dbus, dbus-glib, enchant, gtk3, gnutls, gnupg, gpgme
-, libarchive, libcanberra-gtk3, libetpan, libnotify, libsoup, libxml2, networkmanager
-, openldap, perl, pkg-config, poppler, python, shared-mime-info, webkitgtk
-, glib-networking, gsettings-desktop-schemas, libSM, libytnef, libical
-# Build options
-# TODO: A flag to build the manual.
-# TODO: Plugins that complain about their missing dependencies, even when
-#       provided:
-#         gdata requires libgdata
-#         geolocation requires libchamplain
-, enableLdap ? false
-, enableNetworkManager ? config.networking.networkmanager.enable or false
-, enablePgp ? true
-, enablePluginArchive ? false
-, enablePluginFancy ? true
-, enablePluginNotificationDialogs ? true
-, enablePluginNotificationSounds ? true
-, enablePluginPdf ? false
-, enablePluginPython ? false
-, enablePluginRavatar ? false
-, enablePluginRssyl ? false
-, enablePluginSmime ? false
-, enablePluginSpamassassin ? false
-, enablePluginSpamReport ? false
-, enablePluginVcalendar ? false
-, enableSpellcheck ? false
-}:
-
-with lib;
-
-stdenv.mkDerivation rec {
-  pname = "claws-mail-gtk3";
-  version = "3.99.0";
-
-  src = fetchgit {
-    url = "git://git.claws-mail.org/claws.git";
-    rev = version;
-    sha256 = "176h1swh1zx6dqyzfz470x4a1xicnv0zhy8ir47k7p23g6y17i2k";
-  };
-
-  outputs = [ "out" "dev" ];
-
-  patches = [ ./mime.patch ];
-
-  preConfigure = ''
-    # autotools check tries to dlopen libpython as a requirement for the python plugin
-    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${python}/lib
-    # generate version without .git
-    [ -e version ] || echo "echo ${version}" > version
-  '';
-
-  postPatch = ''
-    substituteInPlace src/procmime.c \
-        --subst-var-by MIMEROOTDIR ${shared-mime-info}/share
-  '';
-
-  nativeBuildInputs = [ autoreconfHook bison flex pkg-config wrapGAppsHook python.pkgs.wrapPython ];
-  propagatedBuildInputs = with python.pkgs; [ python ] ++ optionals enablePluginPython [ pygtk pygobject2 ];
-
-  buildInputs =
-    [ curl dbus dbus-glib gtk3 gnutls gsettings-desktop-schemas
-      libetpan perl glib-networking libSM libytnef
-    ]
-    ++ optional enableSpellcheck enchant
-    ++ optionals (enablePgp || enablePluginSmime) [ gnupg gpgme ]
-    ++ optional enablePluginArchive libarchive
-    ++ optional enablePluginNotificationSounds libcanberra-gtk3
-    ++ optional enablePluginNotificationDialogs libnotify
-    ++ optional enablePluginFancy libsoup
-    ++ optional enablePluginRssyl libxml2
-    ++ optional enableNetworkManager networkmanager
-    ++ optional enableLdap openldap
-    ++ optional enablePluginPdf poppler
-    ++ optional enablePluginFancy webkitgtk
-    ++ optional enablePluginVcalendar libical;
-
-  configureFlags =
-    optional (!enableLdap) "--disable-ldap"
-    ++ optional (!enableNetworkManager) "--disable-networkmanager"
-    ++ optionals (!enablePgp) [
-      "--disable-pgpcore-plugin"
-      "--disable-pgpinline-plugin"
-      "--disable-pgpmime-plugin"
-    ]
-    ++ optional (!enablePluginArchive) "--disable-archive-plugin"
-    ++ optional (!enablePluginFancy) "--disable-fancy-plugin"
-    ++ optional (!enablePluginPdf) "--disable-pdf_viewer-plugin"
-    ++ optional (!enablePluginPython) "--disable-python-plugin"
-    ++ optional (!enablePluginRavatar) "--disable-libravatar-plugin"
-    ++ optional (!enablePluginRssyl) "--disable-rssyl-plugin"
-    ++ optional (!enablePluginSmime) "--disable-smime-plugin"
-    ++ optional (!enablePluginSpamassassin) "--disable-spamassassin-plugin"
-    ++ optional (!enablePluginSpamReport) "--disable-spam_report-plugin"
-    ++ optional (!enablePluginVcalendar) "--disable-vcalendar-plugin"
-    ++ optional (!enableSpellcheck) "--disable-enchant";
-
-  enableParallelBuilding = true;
-
-  pythonPath = with python.pkgs; [ pygobject2 pygtk ];
-
-  preFixup = ''
-    buildPythonPath "$out $pythonPath"
-    gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share" --prefix PYTHONPATH : "$program_PYTHONPATH")
-  '';
-
-  postInstall = ''
-    mkdir -p $out/share/applications
-    cp claws-mail.desktop $out/share/applications
-  '';
-
-  NIX_CFLAGS_COMPILE = [ "-Wno-deprecated-declarations" ];
-
-  meta = {
-    description = "The user-friendly, lightweight, and fast email client";
-    homepage = "https://www.claws-mail.org/";
-    license = licenses.gpl3;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ fpletz globin orivej ];
-  };
-}
diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix b/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
index 8deb7e84a2c66..3471795b435b2 100644
--- a/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
+++ b/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution-ews";
-  version = "3.36.5";
+  version = "3.38.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0h1wz4hxsasihdvvsaxnmzka4afjw7603gn0qcw8rxpw114ib1bl";
+    sha256 = "1s2jpviliazmhnpkh8dc57ga3c3612f2rnc0nfya5ndbi6lpzxhi";
   };
 
   nativeBuildInputs = [ cmake gettext intltool pkg-config ];
diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
index c9fdbf3a91337..f6bea3c83574f 100644
--- a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
+++ b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
@@ -41,11 +41,11 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution";
-  version = "3.38.2";
+  version = "3.38.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1whjgfhcxpb5yhhvyqb8pv71vprw6fv02czin4k4z6dxrxsq32qx";
+    sha256 = "NB+S0k4rRMJ4mwA38aiU/xZUh9qksAuA+uMTii4Fr9Q=";
   };
 
   nativeBuildInputs = [
@@ -120,7 +120,6 @@ stdenv.mkDerivation rec {
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = "evolution";
-      attrPath = "gnome3.evolution";
     };
   };
 
diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution/wrapper.nix b/pkgs/applications/networking/mailreaders/evolution/evolution/wrapper.nix
index 050082c6f933e..ea3f09b8f4c3d 100644
--- a/pkgs/applications/networking/mailreaders/evolution/evolution/wrapper.nix
+++ b/pkgs/applications/networking/mailreaders/evolution/evolution/wrapper.nix
@@ -4,7 +4,7 @@ symlinkJoin {
   name = "evolution-with-plugins";
   paths = [ gnome3.evolution-data-server ] ++ plugins;
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   postBuild = ''
     for i in $out/bin/* $out/libexec/**; do
diff --git a/pkgs/applications/networking/mailreaders/mailnag/default.nix b/pkgs/applications/networking/mailreaders/mailnag/default.nix
index 1fa9c66c8ff60..9a2bd563fc8d2 100644
--- a/pkgs/applications/networking/mailreaders/mailnag/default.nix
+++ b/pkgs/applications/networking/mailreaders/mailnag/default.nix
@@ -1,5 +1,4 @@
 { lib
-, callPackage
 , fetchFromGitHub
 , gettext
 , xorg # for lndir
@@ -24,13 +23,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "mailnag";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "pulb";
     repo = "mailnag";
     rev = "v${version}";
-    sha256 = "08jqs3v01a9gkjca9xgjidhdgvnlm4541z9bwh9m3k5p2g76sz96";
+    sha256 = "0m1cyzwzm7z4p2v31dx098a1iar7dbilwyjcxiqnjx05nlmiqvgf";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix
index 104e0da9a81e4..0c02f512dad95 100644
--- a/pkgs/applications/networking/mailreaders/neomutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix
@@ -1,19 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which, writeScript
+{ lib, stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which
 , ncurses, perl , cyrus_sasl, gss, gpgme, kerberos, libidn, libxml2, notmuch, openssl
-, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, w3m, mailcap, runtimeShell, sqlite, zlib
-, glibcLocales
-, fetchpatch
+, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, w3m, mailcap, sqlite, zlib
 }:
 
 stdenv.mkDerivation rec {
-  version = "20201127";
+  version = "20210205";
   pname = "neomutt";
 
   src = fetchFromGitHub {
     owner  = "neomutt";
     repo   = "neomutt";
     rev    = version;
-    sha256 = "sha256-BkDGKZmpwahDw1vD67CyWfxD93H83kcpv5JBGVL5F/o=";
+    sha256 = "sha256-ADg/+gmndOiuQHsncOzS5K4chthXeUFz6RRJsrZNeZY=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index ddffe07470624..6919e31342e41 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -12,7 +12,7 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  version = "0.31.3";
+  version = "0.31.4";
   pname = "notmuch";
 
   passthru = {
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   src = fetchgit {
     url = "https://git.notmuchmail.org/git/notmuch";
-    sha256 = "1wm1myzacz1dcg7vdfd3akia3xan7ssfspf1fflrwm18hdalss5v";
+    sha256 = "sha256-M+LEf257OcDlHOCYYxzEVQpop+i2gzO/QJPdajz/CRM=";
     rev = version;
   };
 
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index b1905359cd3c1..f9027285c1375 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -63,12 +63,11 @@ let
   defaultSource = lib.findFirst (sourceMatches "en-US") {} sources;
 
   source = lib.findFirst (sourceMatches systemLocale) defaultSource sources;
-
-  name = "thunderbird-bin-${version}";
 in
 
 stdenv.mkDerivation {
-  inherit name;
+  pname = "thunderbird-bin";
+  inherit version;
 
   src = fetchurl {
     url = "https://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/${source.arch}/${source.locale}/thunderbird-${version}.tar.bz2";
@@ -169,7 +168,8 @@ stdenv.mkDerivation {
     '';
 
   passthru.updateScript = import ./../../browsers/firefox-bin/update.nix {
-    inherit name writeScript xidel coreutils gnused gnugrep curl gnupg runtimeShell;
+    inherit writeScript xidel coreutils gnused gnugrep curl gnupg runtimeShell;
+    name = "thunderbird-bin-${version}";
     baseName = "thunderbird";
     channel = "release";
     basePath = "pkgs/applications/networking/mailreaders/thunderbird-bin";
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
index f78c4457b89a0..5c129803ce67e 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
@@ -1,665 +1,665 @@
 {
-  version = "78.7.0";
+  version = "78.8.0";
   sources = [
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/af/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/af/thunderbird-78.8.0.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "2e5741f536243b84f6014c33b44900a01dcbe8c42e17f3d6acb62a2441708c69";
+      sha256 = "9e4334e885fd43138f32138976e7539ed3e438d18322764aa21df5c30b38d987";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/ar/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/ar/thunderbird-78.8.0.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "bb2126528e1aa170fd0b59914fbcb3df3eba57aa83c995284ceadb40b24e65be";
+      sha256 = "b51e15fcb534d82909cd3578cc02bc9b1f5f79cddab89349009b6edf7292208f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/ast/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/ast/thunderbird-78.8.0.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "93b59d8d66b2d87076f680fd6e284f7f424a7925d82e3fa6e394388278a89a4a";
+      sha256 = "75d944c21a5077fab03dc474bcadb09a21392f25ffe5f5baa1e6ec1b59d319cd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/be/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/be/thunderbird-78.8.0.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "92dd5f24667a1886ab321df2148096ab7530c6fb8306d6d21e158c72dbcd8611";
+      sha256 = "3b28e58054f40d60cdde6cb0789d5f885dd695c459666680aad53a67cefa4ec2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/bg/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/bg/thunderbird-78.8.0.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "03444b4e10bbad0fec4928564d39b30f9e9ff8705adcc20706959eee357ee45c";
+      sha256 = "fd5e34527ff0f33b7c072e34f0e6a8c27963bb4849b3876ef6a4a0243b89b3cd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/br/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/br/thunderbird-78.8.0.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "088b6b2456f475c76527122d503f2d91c274e88cafa9a052029f2f4e00a0609d";
+      sha256 = "de272588fe4ef2f24b9a73952f408ff0e22aa3dc481007cbd8dd64e3552e65be";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/ca/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/ca/thunderbird-78.8.0.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "4be51f350929a907aa20a036c7ea7232d14874ff29c622cb4a6c917634a79019";
+      sha256 = "fda9add048104e2709421add69957c79914dc3ec65b29f2bdf90f345d397ff8d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/cak/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/cak/thunderbird-78.8.0.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "f50880a17573b1eb2bee79c2768eb04eaf2b715b7fbeb134e08634dac3ea7e22";
+      sha256 = "d9c394a8f69ce1442c5444d1f6fd7350922fd9616e1dc696399fbdfd539f99b0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/cs/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/cs/thunderbird-78.8.0.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "e1971a4e5f91a7d6de06fd2121e7cc0169d5c8ec04418540a840c887b5c1a560";
+      sha256 = "c5cea000c58d4f42d54306835fe1c15ca358286e3f4b48862857ae6dc531859b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/cy/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/cy/thunderbird-78.8.0.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "20f7086783ce5ed7bafa9875555008e62e146b080fe6eb1ad3ddf2e5fee9f0c1";
+      sha256 = "9e790ef1f09af98e84bd3246fd4cfa679cca354532472a5323eeb4bafa92f7a2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/da/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/da/thunderbird-78.8.0.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "8ea77a13dd99252ada9a02115457ffd8a73e7422bd633d1f8dff835fef1daedf";
+      sha256 = "62d2af10af31a472a3a2d2b3aa582c96d92466428aac3f1f007003cfcbe0c106";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/de/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/de/thunderbird-78.8.0.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "9ba270c4013c0bee106ea45fc46b79f066daa1e1b90a03000ec93a54c80f65b6";
+      sha256 = "98bdf6c67d230b46014526d756a06dc2897de3f24f027fac3abb8550e5e608bf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/dsb/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/dsb/thunderbird-78.8.0.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "1e4394e4ecd44714abc0756054e751daeee4b2f485bcd3fa2db697dceb756c37";
+      sha256 = "2350e2884af5757ef7d61e37fe2090a5e0f504a2c192c78d66af982f9e4a9d92";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/el/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/el/thunderbird-78.8.0.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "543d9343785f655caa637a2bdbf56a814b280efe206ef5868c855f2b397e0e88";
+      sha256 = "bfc20efee36a77fa124d6980396c2a51e0d59d1480ba32f53b550986ebda61a9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/en-CA/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/en-CA/thunderbird-78.8.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "76e414cf62428874d4e9633fa6ae166ea16f6d295a4ddb4240c5f310557ec928";
+      sha256 = "094cb02d5bb3ae13025005c458befa34428a9338e6bc489fc7cf14d70ec42e00";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/en-GB/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/en-GB/thunderbird-78.8.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "cfbd194b58349fbd5d8dc0ccaeb36ea0fe21b28bf25f176ba8d12bb79ff25501";
+      sha256 = "3ca1112e55371d628b518ce12d4bcef08ff1ae71a0820405e236b2399cf1d6f9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/en-US/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/en-US/thunderbird-78.8.0.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "2e0501823951e4f5239b4c75a05f1d9d882d600a0080fd5cc7bc792990357b2f";
+      sha256 = "074aa418d841d65f8c702cd86046595ce715e3156d8cd7f0da9dba48580b230c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/es-AR/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/es-AR/thunderbird-78.8.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "37c8d43b674558fa7e8bfe9b276762562e9132daf377727ac77cd2869c16a628";
+      sha256 = "4f4552f137958ab583183237322cb48327242e8354689aba9c557e448abed7f9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/es-ES/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/es-ES/thunderbird-78.8.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "b79324ecdf228b24c7c51a1dc9129c39518d6a19c7a083364639bab16cc52214";
+      sha256 = "61787b7e70a6722e5921246bedf1182d7f52b28f1abc218b5bad7544fbe7dc87";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/et/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/et/thunderbird-78.8.0.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "35c30673d027bfc465bb1ff9b5fa2f52487472ef870e6a8c08e0ec2d0ceacae2";
+      sha256 = "b85fd3bcea1284b79d5a8816ff0056060b4bad22ffeb2b2e50f6b8bbc61da8c0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/eu/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/eu/thunderbird-78.8.0.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "3af23e4364bb5a44f38a8931da270269780c0d8d0a115f77d16a15ff84f4c2bb";
+      sha256 = "a80cbc3f5227a6712ae04fa3a6f553c91c8ee757e9f58483ed3db300e7661fc5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/fa/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/fa/thunderbird-78.8.0.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "596877606b66903812ca456332aeb0c80d365255d99c6adc51d8606a5a80e024";
+      sha256 = "fee67058c3b6b6ab5ef10c2bdd9ac9cdc86c1a65177f86b9b39e69435923feb8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/fi/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/fi/thunderbird-78.8.0.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "e9fa8440743a8ff0ba6963e1d595e959791ad814bc3c239f63478ef1fe2fe05c";
+      sha256 = "c3e2b90ec439de73a4afead978bc53e64966dda277d7b40cc0c2080df4180238";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/fr/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/fr/thunderbird-78.8.0.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "5b41d9065654f248b3765c79872d6ab9f4333515f36d6bdd8306e73502100f54";
+      sha256 = "c7dc2fb5a67a5e3d884276c74dbed0d975db2686b7c9e47ee3b8e9cacba248db";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/fy-NL/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/fy-NL/thunderbird-78.8.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "f607c83d05d40ba9bb596819a86cc1c15fedc55ff47916f83650ef8f6e37251c";
+      sha256 = "13a0b3041c1178ea08fd4a65968f3e3a244a1e2a09931a1b9e142bb39db3da2a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/ga-IE/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/ga-IE/thunderbird-78.8.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "b1a244481eef2a8a7796fb17ec6283ab44bce5ec04063a8b84a5fffef8ea70d0";
+      sha256 = "e53725b3e31b9d397a3c92d2cb1bc5cdc206b5fa3310dbce3fcf8b82bdd50af4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/gd/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/gd/thunderbird-78.8.0.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "bf30f3825599bc0168fe533a50481f779acd57432188fd0b90c98fa50ad23eb6";
+      sha256 = "04fc55448d9a12b4dc0995b48e0744868195f633b3489f0c38e4d154f9a2d1f2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/gl/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/gl/thunderbird-78.8.0.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "3184484adade8ee8fd57570103fd3dce2f2ac582e9f4fb5bfc884fd3f0fa6630";
+      sha256 = "18db14f47f958e4eaf8954805df109819124e4f0ea1713781add31105b258c4e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/he/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/he/thunderbird-78.8.0.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "e34713989d1b98d55ea852f23e49353779be449142bdfa5098d68d076d6a9f69";
+      sha256 = "99b47c6caa14ddf6af2d5ebdcad25f2d53300f8599c8b9f0304ab374dd0d2ebb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/hr/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/hr/thunderbird-78.8.0.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "a1833d7bbd438319f4dc37378c1dce49243f148db7f58f8063346bf9a5725653";
+      sha256 = "29ce83e46a61c22c3bd4e4cbacc0fd7ec04a36460bfbeb76b62eaa752a0d10e2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/hsb/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/hsb/thunderbird-78.8.0.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "359117a30c63a85b9d41f0369bb448ba470edd41f705070d9f7b4a805f89cf65";
+      sha256 = "a3f3fae8b4b0eb67dc4ea7f12aff3246effa7e61ee07d626cb05802ce1dbb2d8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/hu/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/hu/thunderbird-78.8.0.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "4d51554390fdab6caa01993697b1490d69504556207e9202d6e59614256dc941";
+      sha256 = "3207c91a73d67f21d809d1508bbd103a453ebe18db85dc099ff7be75b4d0752e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/hy-AM/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/hy-AM/thunderbird-78.8.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "a838b6bfefa9c2852e4316f3665c37c1fcad8e8400fcf8fff769f1e44b4004eb";
+      sha256 = "80a659841237012e80c88530602c0845ddb42ad0d7fea4fb56d8026924cf50c6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/id/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/id/thunderbird-78.8.0.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "b293c67ff239ac6632d9c914ba8c9f6a161c1400bf3dca3295683632d2e4e64b";
+      sha256 = "ab68d00bab6baa18c3ab0f5d77d6c0575e1af687e0473b61c69ba329d8ec392a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/is/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/is/thunderbird-78.8.0.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "f5cce0c2dcaef81da19a2eaf3e294e9c72153d25be48d382ecd06aca430c76c8";
+      sha256 = "69ba962cdd99500b3d65a9dee4a29780e2d2c807ad9ae5260fcae37593f2038d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/it/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/it/thunderbird-78.8.0.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "1ab3587a7ba49e479588fba735571f458f378f4845a686a22bcd6e2483bbc3d7";
+      sha256 = "0ddd769c4cc7a145bfe4f5a03b208e95ecea0219766b1351ce160c3c731eeb3e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/ja/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/ja/thunderbird-78.8.0.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "9ce1c13c539e3e11203ad35ef1f70e71204ceaf548279ac1dd8f39ee07f92013";
+      sha256 = "45d8db5b361aa6c941ffa13651fd7c2a44db52f70ddf67bae9b5a0e3513db05b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/ka/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/ka/thunderbird-78.8.0.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "5174664bb0cd1dcbdc845664ba41c89ea0ae3bbd4c755219e709f1be76d99ef7";
+      sha256 = "66a0cbb3fccda23ac1f6547e69fce19bbf843882baa9d92ba8eb2f325cabe22d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/kab/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/kab/thunderbird-78.8.0.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "de5fc0cbc657d07138f8ba744903909133fe4cfeb5436c13a5c669573b4b5170";
+      sha256 = "e3d03fabe85a31756db1a0ff27e7ac29e4ca127f2f87612aa12c698171b3a610";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/kk/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/kk/thunderbird-78.8.0.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "abbb0e5474a369c230a4faf386dbf6d663020ffbaa0bd75e69305e539006d6f4";
+      sha256 = "2367aa9c3e5e1b94a2661d8bdd56c39f3cbf95058c2c77639fecc01fe674b305";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/ko/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/ko/thunderbird-78.8.0.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "7b66371753ced2b07d136c67c3fc91a562a3fcee6b377fe1d35c550126358b91";
+      sha256 = "1c728ae7c8fc39c38aec45240f9c25879b7fe028d60ad1089e8564d5915eb3ab";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/lt/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/lt/thunderbird-78.8.0.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "99811e5ecd83d827a3fbbe20666da7ea307e105fdf1090f0f61e3853a51bb53f";
+      sha256 = "9f70983576df0e51a508941b0714bb43c3eb7ce494abfc1e3cf5b8a471c42047";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/ms/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/ms/thunderbird-78.8.0.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "d2c11fb20170d2c9eec6b780532ac9aa4e7d8d705802e2b68a8d7c07d3d1e120";
+      sha256 = "19962ca7f30a397f2668e1dcb71ee5a5ffbefc1cf2c66d27978895fb06e2816f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/nb-NO/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/nb-NO/thunderbird-78.8.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "19fb8d0d0f8d80c4ed9c45c861c98c862ae880bcefb365c86fc5bcea1ef19d8c";
+      sha256 = "fa4d681a30cb5d00771614de4ec40b92c5a593262818dd86dca79ca7ac0e7881";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/nl/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/nl/thunderbird-78.8.0.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "42855c4f257cad05b6f9c6c7c48ee9cf02a9159e5dd05619f3af4b473574bd87";
+      sha256 = "ca2f0bbb087020e045c38068aa64b0f562aa9d3b08d76227f0cffaa84258b467";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/nn-NO/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/nn-NO/thunderbird-78.8.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "c16c892b9a515700e328f01f5a92b7c4af199ae29a7c610d4795140c70bb83e5";
+      sha256 = "97777d687d9bae2f495940a59dd513431f5ffa4520ce08a9af35db32783965d4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/pa-IN/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/pa-IN/thunderbird-78.8.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "74c8bbf72b304d81d14fe9c1342c7b8bf17eb42dae52bb3b9ee043f0bdec94ec";
+      sha256 = "c50088c6b911c10fa7ca84ce284ffaa45c4a81a5276277809972c080c5bb3321";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/pl/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/pl/thunderbird-78.8.0.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "cadf3756acf8cbae0c2778edda4656589eb3d339a80736a9223c6add5c6fa99c";
+      sha256 = "1391c90597bb89e9edaaf58dc46894d84619649a2f7aa68a69bef41a167c4cab";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/pt-BR/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/pt-BR/thunderbird-78.8.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "1fe1f6edbd9d38a9db30720413c48ef91e4be77b1c218fddcb3db1fb98017971";
+      sha256 = "11229cb39877d227071809e4a53fdd078813241e736e3cb9b4868fff0329560d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/pt-PT/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/pt-PT/thunderbird-78.8.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "ae5be903d29582feab6402b12034a01bbf338602a8739a1cad9d5d9806e4ed1c";
+      sha256 = "e29d5d58d86af538700f69f6102c5f5dff3102173febfe559c959f15b8d19838";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/rm/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/rm/thunderbird-78.8.0.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "cfc9dba2b3977ac5721559746a1a1e071ff24116db5c52039ce9b40631e43619";
+      sha256 = "53925070690b9cb88e62e73b52ceac7663bcc9af82834a6028a1fc83e8fe954b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/ro/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/ro/thunderbird-78.8.0.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "97bdb9a195a3b8a74d82dd373cd5b25ffb1d61178a9f2b0a3610341e9a207158";
+      sha256 = "ac6e9b71f0008560768dbf3675c3a2d99e1436d810cc35705219d1141cd5657c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/ru/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/ru/thunderbird-78.8.0.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "c16b656259451be87d5e86795bf2ee14322743046a0b6f3542369337494abc90";
+      sha256 = "e70c93d3ac2ab6bd0b618b43ecb34fb5dd756325cc2b524249b6ba47d0abcf47";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/si/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/si/thunderbird-78.8.0.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "34596141553b28a72b743cc7f80edb06549a71816f8caa4c7f9b20148a523fcc";
+      sha256 = "ffebac6b9c87abe040a25a39e9f84c05f8d143afe54bb293828945ccd694b44f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/sk/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/sk/thunderbird-78.8.0.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "71ec684701c5d42521e5e1f39601f0cbf8b9c082555dd593695288f327c1a44e";
+      sha256 = "bb9be9c2427965ef4007bef0e6da049680959ecb47fa120a49a78418def11aee";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/sl/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/sl/thunderbird-78.8.0.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "9c4de92259c02966d8970fa7792d6a1d279d2021ecf78e4cdb5e992f4eae5e8d";
+      sha256 = "3889b8b457cc078dd0c5a3ef0564a285622fb2295ce003322eb76227876397af";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/sq/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/sq/thunderbird-78.8.0.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "e05525980dba6605f4e722a42aa074a014c7a5786d261b3fa6f10570cfd952da";
+      sha256 = "2ba1e13b129c81e2fcf2382481d477ee9209bcbd413b357426659c4c59951fd4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/sr/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/sr/thunderbird-78.8.0.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "e05a147164785faa39ca35728cbc8f5e769267a546bb22cade4411e3cc34cc22";
+      sha256 = "5eb98fb8b36f0ada831306b37eb63ab3b959baf55e0adb0641400eb7cf143e4a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/sv-SE/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/sv-SE/thunderbird-78.8.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "f1349dce69bc95329b7558cd7b87109ccbf201bb6f42040c1b1a034d48d7d62a";
+      sha256 = "20f9c865e9c2ac8c7af880126748e6a7260d310b1c4abd142631a5507d3a7715";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/th/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/th/thunderbird-78.8.0.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "e30b19275cfe460ebdf47c1c9bf8f97342568041ed16e925ddda334532ad1453";
+      sha256 = "da966ee74484fea59f0a431639f9745f600c65e1d50ba625c7dcb04edf8f3b12";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/tr/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/tr/thunderbird-78.8.0.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "13d3264c891b198e4030334ee771919c8fa45ca4cee4a9c30e6776e258a15ed1";
+      sha256 = "15e7953aafcd2476c8f0a5bbde7c5bd4be634dc8ccb6e7c599e49885e653a1c4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/uk/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/uk/thunderbird-78.8.0.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "f3a3c098c71c7632c36da1e1f401db5dcb5fefe8c4658d2e221d429be4d0867d";
+      sha256 = "d5b81175250441ef8850d3d62886223ebb824554180e78537367afc63fe13b6c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/uz/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/uz/thunderbird-78.8.0.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "8c4a4e904eb4ddc131dbec594ccc9e4faef209f746d999c08618ad9757ec300b";
+      sha256 = "7a8ed91075d4d3f884a9fbd750bdd57b51b781cc299bc9648adbcb218524d3c7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/vi/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/vi/thunderbird-78.8.0.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "bad2147d54293ce4b245df01d47ab2555811292ec117a1b74e49aece0a5aa625";
+      sha256 = "38b0e4005a2023191ea237e54328040e2dd9c92f38d6a00b57ab0ef1114b2f60";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/zh-CN/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/zh-CN/thunderbird-78.8.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "000a1143b3f7c09717610459549305c99cedd4a4fc35d1b0bb276ae72b83c44e";
+      sha256 = "196c4f43f93cb3bced090a62d229799a7e5f4f174ed2304ed6013eba4eaa53db";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-x86_64/zh-TW/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-x86_64/zh-TW/thunderbird-78.8.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "bae5923d844f137e38b46519420a6e765fa5457733a60ffa6bda70185993e575";
+      sha256 = "ad26a1b2a35acdc290eb6709b96880b1e72fb66d70443a83b1da9d9f16a4eb2d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/af/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/af/thunderbird-78.8.0.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "94e7737e9e06d84b336b5f69ff3a69220ff6ef12588857b8b8e4596f5f5ca7f3";
+      sha256 = "af7973120feb000127c70c53d84efd256f5758751fe1f1c77fa1daa1cccfdded";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/ar/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/ar/thunderbird-78.8.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "2843aa9cbc0f102aae2abb192590445240568e94e35f4ed558fac446895c9daa";
+      sha256 = "49581a6febcca71de9b67ca92ed0cab6f52863e59754575effe629b6c7d9f627";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/ast/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/ast/thunderbird-78.8.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "01130d2e0bba48de5c9cdb3c0c83081e29ce8964218ab1e7f9d03b61facfb513";
+      sha256 = "a1462259b3157128582889f266ed8b36656de974a64faec39e461fc64de78403";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/be/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/be/thunderbird-78.8.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "d8377688f8760afdea0ff93b37267b117090c311e0636aefe1185ab2ed0e0a05";
+      sha256 = "c677a9d1802e58c9fce12058da7f3c504f4b4f67a727897e0f0e8d8005fe26cb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/bg/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/bg/thunderbird-78.8.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "2eca1032ae4bc73967fab319681a5123ae2681a0128de6efd0d7a58aa97986b3";
+      sha256 = "0424f520fed1d43ac5145d7607b775f7d4f6f880e41e9638085a9a185bf160e4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/br/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/br/thunderbird-78.8.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "3c5b9e1a96be9f706f458480badcd4efb324d59c2e1227c31720c98eef19dac0";
+      sha256 = "1be23d98643548dd40007db54ffcbf6df52e80c74f05d92175bf2109ef4308f3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/ca/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/ca/thunderbird-78.8.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "c31b3d7936726295e2e66a25b554af25fef04d76eeca0f0b2744dc6b38eb25d0";
+      sha256 = "d743f55888ed0d0e4acd31e158fd8db3f7709f534cd570696216c2adcb081c99";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/cak/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/cak/thunderbird-78.8.0.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "8abbf5f08d4b9e606090a976bfc9e5cad794259cf2461c2a4edd028c783440e8";
+      sha256 = "875378354c62fa050d1559539df54e7d5dcf1fecbb4cda733648dc5488121b6e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/cs/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/cs/thunderbird-78.8.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "63a6a2e0eab7f7ab0522d36369b4cd696af3b24e9a00977bf3ba1ae440ec077c";
+      sha256 = "677239766430bd055e83a25a03ad825602b88c5b6e236dbf8c7f36abc3956fa3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/cy/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/cy/thunderbird-78.8.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "5415f68080e95b331146a53d00b312882a8c0b904c91509785bf79139a1accd6";
+      sha256 = "e14dd47506b180b29bd8ed3e70c9d0e66ac264dbbe374bcf82b6849ff1b92c18";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/da/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/da/thunderbird-78.8.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "a43d6445cb39506a898e96432d1730b780bc745344011d230771e4592e34b49d";
+      sha256 = "ea8f4fc8eaf461da09050a03282dfeec7ca1987c5741f875546ad22dc904748a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/de/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/de/thunderbird-78.8.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "b14360cbc698e636b56150bdf3ffd145d3bbb43c9f342eb56d74dca82674c25e";
+      sha256 = "f60f678ee1ee593b99fb95116ac7d157d860c0fabe8b37865fd5b703634e9c78";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/dsb/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/dsb/thunderbird-78.8.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "dc83ee5540b4254cd01f67f72adad857774f23769748550fcf46e7f066a672a3";
+      sha256 = "fbc2d5841e1ab6401d4ff4cf1f03102c4bf59662e4687354f36f15efebdf92f9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/el/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/el/thunderbird-78.8.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "5ca65866f1440ba2161d08005d3229e5f08c9a5696db51f633a8154c93d0ce97";
+      sha256 = "ef9d01738f186aa87e55e41d3ba835fe0d3a616d6ab2c0115849577e98aafb66";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/en-CA/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/en-CA/thunderbird-78.8.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "35afceb267f29985ea068afb0358e3e73d120c7f63162ddd22854b1179a2c409";
+      sha256 = "3ed96eb3b0f4a301ee350cad37b0544391aa937757ac1e6f0be9b20f13207915";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/en-GB/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/en-GB/thunderbird-78.8.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "6f2cb3fe2d4223809ec7e842746bb6453ec741df59fcf63898af9e4c579158c9";
+      sha256 = "eef090aed2c10f3275f1161e34fec1ed46af057c52279765797297eb2b7d7053";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/en-US/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/en-US/thunderbird-78.8.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "dc1dae45f45246c95861ef7a50c2acfd7ad343eb0bf39049094dd999e18338ee";
+      sha256 = "163c1289f515179281c44e1c4eebdcff4a3d641cc91ae8acc57c8e43ab07c07c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/es-AR/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/es-AR/thunderbird-78.8.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "1d25b980227c60cff9db1c052167c82c06f853b0ebafb5144e53a1be6fbf4b49";
+      sha256 = "e84f8d773bc91ccb45b4295b05e2154a831b54ed5156d5979bfa6b54f0a33e70";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/es-ES/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/es-ES/thunderbird-78.8.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "c34971c9a52bb6174254d4bbb67b682e862187b008bd0fa3c07d3d6955da6f6d";
+      sha256 = "c40e97e1d321ada605a4d441452705b24b6968662b118d074780b2f864dfa62f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/et/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/et/thunderbird-78.8.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "da6305745f73ea4469d308c6ada3749b8c09852e57e9af6d00fe470e40092cf2";
+      sha256 = "4a69f41eb0c60a63cc0f4b4580ad12b7ac0328062dd66bbb7d63e276594e3007";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/eu/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/eu/thunderbird-78.8.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "406bb8b9a7c5eace3b84ed29e16dee077ee2e4f1b8ddd49afc9291e368b44ce0";
+      sha256 = "bec059640483556ab03dcf53c966fcf3fb46cf8a1f38b14f0981f0cb75411943";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/fa/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/fa/thunderbird-78.8.0.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "4756eca3217756d540bf4e904bcda9f7259b65ae2062b493a8f05122a730130c";
+      sha256 = "8a186051fb3d7b7e2293d2b591fb0f9708be6985e4ff8b9e1809cd98bf44690b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/fi/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/fi/thunderbird-78.8.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "dbe77298a712a0a64a16fcf618b1e3fb21d1afbea8f7b93a9e6d7e43edbede6a";
+      sha256 = "6c407bc175f75f84ec83386cc8ea7fcdd4b25523326e86755f033f2512446007";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/fr/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/fr/thunderbird-78.8.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "71ce692f4f46e8afe488581670c186c20eccb5bf78306452fd7b82964f6d1087";
+      sha256 = "429fe2900ac9caf79d386f3826898b6fed6302030fa7b7c2e7386cc3d849eab5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/fy-NL/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/fy-NL/thunderbird-78.8.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "2f62f25c74e382cec5a9cccc24429cff5a5c36ab3810b5b43f194beb0a5b7a3a";
+      sha256 = "718807d6cf9af7d205bc273343e60b8f7ddeb531253f738a3275afc65c659916";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/ga-IE/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/ga-IE/thunderbird-78.8.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "4da8e456e0e1f115e4018275c041fa345c02b635fd20ec0b3a5b3d1975dde52f";
+      sha256 = "900ac6c3d62879521ca5a39622994d8d2d352271f088f6e7cc142d533a146800";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/gd/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/gd/thunderbird-78.8.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "8517486ccdf76ac04b8e8c4df11e5bfd79375a8023efb63476232d985b47a8ca";
+      sha256 = "3e5fcc21742434445d3508690d90ff9782bdc4a9568e422899897293333c51e4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/gl/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/gl/thunderbird-78.8.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "928f1721f4ca40f154041bc4ed4aa7b06e3508eba45c7f6ee889fb4e698fb6a6";
+      sha256 = "8c83f977b0ec5ef8b25e0ae0b7735590d1c5a42bebd90ca3f53a6a50ab8e1f12";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/he/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/he/thunderbird-78.8.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "e49d647ee9d414cfd9dfecc4fdaa7931fd4d4a8ffab3fe9bd820023813d0d7b6";
+      sha256 = "7aa66ca6d1c58a1e55c8b76aa0a872af69dec41e403176a95bae7f1b73941eec";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/hr/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/hr/thunderbird-78.8.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "8c804b3288036619e0be76d9129102098f5406a00c6586a7edd1e35ac5ffe1ea";
+      sha256 = "7341f850d220f9e66bf018d27e44cb8906c31fbe7346d850b4b646b517eedf7c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/hsb/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/hsb/thunderbird-78.8.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "846966d7f8dc6619afa7904debeaf3aeac95d040478fb3e29cae5cb116782d88";
+      sha256 = "a4ed28817e4680f53271bf3c24a5479f00bc9c8614c141065462e396bb46be36";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/hu/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/hu/thunderbird-78.8.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "a05a7410d0f8ae016d3aa69152a381173c22f3361c7a940a2f7f1684a42ac0d7";
+      sha256 = "0331825ce5c8595e0270f5c92b3818abd53514a2304b55d41d264175c01c100b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/hy-AM/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/hy-AM/thunderbird-78.8.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "93783417a9c065a4b53566d21bfd34f3a96c9cca7e6cd61c20474c63c28f5f15";
+      sha256 = "aecb16b8b69fbcd65b3ce43595f00a67214616f85f936d9b8f395fda3bec1769";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/id/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/id/thunderbird-78.8.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "3608569802e13a45feb519239f43bed7ee06f8e3198f188ba8f5c815ca9748bb";
+      sha256 = "aea434ed29197b5a6afe21fe5b1fa361bf3ef17bee6cdb7fd3d1f5e76fd8b8ea";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/is/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/is/thunderbird-78.8.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "afbcee0a5c4926dc7ee089e6e11d83844d068bac2ddb71bf7cf29747dc753420";
+      sha256 = "7747d287ce2f13f8b136f9186168cfbcb7e9e9bf65d949dd9291f69afdd63999";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/it/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/it/thunderbird-78.8.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "212d0125796a12ccde71939bf1b62b540a630a965f160ebe6199e8b1d3149043";
+      sha256 = "0c5cbc6a5ccdb940e6e5ed2ec2970f9b252c9106e51d9342b665cc3625283c9f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/ja/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/ja/thunderbird-78.8.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "c450ba455b8e8b846a6dfc6a380c672e6ed9d18553c07caae3cd3d24a9d21744";
+      sha256 = "60b05dbf93b1947fa3fe8b3c85eb700f0e15ec702c0d1ffd1a9b494517482041";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/ka/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/ka/thunderbird-78.8.0.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "349da02164ef984dc22b85b9e4e7a09748cdd1d6325904b32c1e36a8a9f7c4f5";
+      sha256 = "0b80a9e27408e9ab91cbfe1682b5a0679723f22164390ddf6f77992b90bb6ec6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/kab/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/kab/thunderbird-78.8.0.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "0f367818d4a7568e57ad9d06c52c55c2feebac351d164c434f86943a420c283b";
+      sha256 = "d7b61aaca643ad9e0e8a61256e5ff42d855353d93fdcfc40641046385196f7fa";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/kk/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/kk/thunderbird-78.8.0.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "3274d7e4b787e5ed2f26ce11ff26e261e33a90b60bfef644f017215cbdaefc6e";
+      sha256 = "c9140b1223585cb5c95c17cea964c0658875b24e4f126f67e13766cc2880daf1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/ko/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/ko/thunderbird-78.8.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "8aa9eebe4ffeaa3f6d963806a6b5d0d3e6530b08476bf55e9cdc1b25cdc105d5";
+      sha256 = "3486ddea77036a357636235d2839d4e3abb8bb703d6b2aeab4dab7bd510d2975";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/lt/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/lt/thunderbird-78.8.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "2e811db91100b6e3671693fda6776406477ee3f71f4ae9431eb1b94e1aff4a19";
+      sha256 = "07d85f0ad5ae0992076369c5e7082b1846c53122953de8e7cdb947ddbb741bfa";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/ms/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/ms/thunderbird-78.8.0.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "950a316e46a5f6bc127715295e00cf9c742d3bd7ef23a489e3fe4131f7394e2e";
+      sha256 = "d063f14194c3e89a5379a9d9d0edd38f987040269cf69a0e60b1a2fe5e8773a1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/nb-NO/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/nb-NO/thunderbird-78.8.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "c3bcd1740b5288b9d0f486fc9d2f5936e38e869eab5bf84a92bfc50caa11c5cc";
+      sha256 = "129ee98d2f0d899664face9c7e4214b9f120141ffa230f5f195efd013e7bfcb0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/nl/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/nl/thunderbird-78.8.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "f7eb04082ef4ff38e287016ea3b75e795eb7428c8271ae06a21930031de108bf";
+      sha256 = "df58d1e22671e09219719c86580dd605e6def1dc6f65c63306b5d3624382542a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/nn-NO/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/nn-NO/thunderbird-78.8.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "01adbf1a345fa117ac8cf5ae65f11e5ce14dafe3f06d99fede51abaa4eee3f94";
+      sha256 = "12041cf3f1edaa62eafa5b338b890482d85df33ca4b1506a007aa862d31a5c0c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/pa-IN/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/pa-IN/thunderbird-78.8.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "3d8b49a32080315c3726fbc77ff2de4eda453e4919b487af99cbc85a9e8b79fa";
+      sha256 = "479250fc9203ec4895341ea37bda544c47c972ea12b8e2462539533c90a7b384";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/pl/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/pl/thunderbird-78.8.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "32429dee14ba7c405ccab71bc3a8ea24cc4a028ea331254c0b4e227c921da58b";
+      sha256 = "a4563a29cea75560c0de441a1fc311cdefb938bc91feea283b8e18da7252a3fe";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/pt-BR/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/pt-BR/thunderbird-78.8.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "2709ac332c29c0d2dfb3e76c77e3af58cc27a9d23496fa7432fe043ebd486a35";
+      sha256 = "45414f14d31eb81f2b590fb702d5a586069c32a1b854116dd88a4104abd15fce";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/pt-PT/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/pt-PT/thunderbird-78.8.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "eca228d5846b51cbbd64888477e7514669dc1714dc07d1aab86e38ab0f7956b5";
+      sha256 = "f12515b2b18a1cd7040d35e9452a6b2b4f3bd2ebc277815d9f85167fcd61b645";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/rm/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/rm/thunderbird-78.8.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "269e7483c5f1a884fd809dc3ccb5c1627573708c558a5f2acdd9ca6b925312b5";
+      sha256 = "ba4b770ef2ac9663120bd6b7f4f42647e995e6db2ca3bbdcbfeea9734e6ba985";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/ro/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/ro/thunderbird-78.8.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "41d769fb26c99e66708c7c8884c822e863d8066b46512ec20b26c760e7c78916";
+      sha256 = "cae153b7ba51b3c86568bf672fc13edf2029a2b6b5dfe44dc0b493bcb2228855";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/ru/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/ru/thunderbird-78.8.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "06ed87bfb7830607e87ef5f17f553e34275f3c0a56674f1f07e7e30b43c1f9d0";
+      sha256 = "39241b2643770adde562ac748c69456eba9a4fcaef257c47bdc72938ee3119f7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/si/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/si/thunderbird-78.8.0.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "09b96524a7b887ba0cdae931ca368f079d5c3536134f6d9798b0073cfa047332";
+      sha256 = "8df14f85560561334caf28ad280e093fbaa8fa6af32fde417e8f29088a31ccb3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/sk/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/sk/thunderbird-78.8.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "a9025df80c0dd8ebe96dec1503d11820ac7c48ea35ef695e883f1e01dbd0b6dd";
+      sha256 = "42ac111340581dc6f067d26f6aa51fb354e27d38af5b61deb34d6e79ec015011";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/sl/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/sl/thunderbird-78.8.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "8db2dceecad941230113b079bd083d0548cafef3bab0b9698260ce3db28453fd";
+      sha256 = "07c234d2ec1e512a177a2f87713dcb3bd0d9b8a8683e840f767a041f127fe73a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/sq/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/sq/thunderbird-78.8.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "365db0f0872959400b5aaae94866f1a49e0b14db2fd55938c0084e983f06f2bc";
+      sha256 = "da4a269007d5cc4f4077a5f6da98d5d34fceb7a4043598bee4776aaf867a64d3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/sr/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/sr/thunderbird-78.8.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "252587e46e7cf1fbd83f9bc9da6b8273985f26d5ede94aab16a2d2ef1d92faa2";
+      sha256 = "6719dba0153c8f60b4ce6fb0d68b2f52f8b7840f5659a1ad884bf2a4b6455a3a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/sv-SE/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/sv-SE/thunderbird-78.8.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "029d0a70f4c0bf770dc37263639097aed24b6186057cd9d81c50fb4657ce3e04";
+      sha256 = "140c6b0ea0171443714951064d60de5372c85e04e2c3282a86e7b11e682737c1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/th/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/th/thunderbird-78.8.0.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "24b20e9cd1d9a5b863d4dcfd8d62599b52ba9a64126b6bf584d4ff5c3db524d8";
+      sha256 = "99a659426d84ee98f94c9162ce49c1d098529a233ffb7cbfd5a7e26eda23b554";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/tr/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/tr/thunderbird-78.8.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "d7d9878fbcf9b552164f588600ac1704a5e295fe73c333f0e838b5d99fbd5deb";
+      sha256 = "e5bdb857cb059119c1a3de847947125d2caeef7a5c9f75e0e1a4f3bdaa8c168b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/uk/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/uk/thunderbird-78.8.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "3c8eef6d084fec6b0ac57ae6d2fce6dc7e02977ed10c670be30d032e417a50ce";
+      sha256 = "3a6530c8bb8976aec06b71fdb3eb4a4fcf3fef27668f1323b7c934026f9b7429";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/uz/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/uz/thunderbird-78.8.0.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "545de649b406faa1b942020eb418c4e52054efcc8706a2f4881409d253ed5c4a";
+      sha256 = "ce246a13ed9cc8a03212f0b74f24907e75502a8cdf9ebf59f0153882dfa96c28";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/vi/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/vi/thunderbird-78.8.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "86ae5dbef5ec4cdb0e25ce3cbe78b46ed35349d11038ed12a49dc0440dc7111e";
+      sha256 = "bfa8c72c3c2cf08f36bb13b9844574aecb3e69636ede5a60e24a7d816ee7aa0e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/zh-CN/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/zh-CN/thunderbird-78.8.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "ce94974470209d9dc81f676f3e74a6359d4e97c7f8801f644c7ea0fe774ad6bc";
+      sha256 = "68c8f68454806be4cff160621b97c897a752db5498c48dd45889f861d741c0b3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.7.0/linux-i686/zh-TW/thunderbird-78.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.8.0/linux-i686/zh-TW/thunderbird-78.8.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "f013131307e31eed708f8a75e1313b2f94cd401de06e00053f4155aedca33b13";
+      sha256 = "79ad159cb37d2c68a26dba5298cc62eb25a0f46c845bd3f556e198658b62bede";
     }
     ];
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index 8c7d471776d28..78a9ef0dbb3e4 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -73,13 +73,13 @@ assert waylandSupport -> gtk3Support == true;
 
 stdenv.mkDerivation rec {
   pname = "thunderbird";
-  version = "78.7.0";
+  version = "78.8.0";
 
   src = fetchurl {
     url =
       "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
     sha512 =
-      "1fwi9dvh9q8pzwri6hyyg89zxkfpw3zin53nkqgvips43yq6jdmyxnz3y9qnk2f50d0lnkx12vvkzgirjhdz23gkf7y860zmwg85vpy";
+      "18hx7qi4nwfbygh1ykczvs7vyvmcqwj4x838lpillimzwjd7chyrbjz2b2h15ckfgndbrxmwvvd3v50bj04xpqigvz18g46nav1mly7";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/mullvad-vpn/default.nix b/pkgs/applications/networking/mullvad-vpn/default.nix
index 8b78c49a2f573..9267d8d231cd9 100644
--- a/pkgs/applications/networking/mullvad-vpn/default.nix
+++ b/pkgs/applications/networking/mullvad-vpn/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, makeWrapper, fetchurl, dpkg
+{ stdenv, lib, fetchurl, dpkg
 , alsaLib, atk, cairo, cups, dbus, expat, fontconfig, freetype
 , gdk-pixbuf, glib, gnome2, pango, nspr, nss, gtk3
 , xorg, autoPatchelfHook, systemd, libnotify, libappindicator
@@ -41,11 +41,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "mullvad-vpn";
-  version = "2020.7";
+  version = "2021.2";
 
   src = fetchurl {
-    url = "https://www.mullvad.net/media/app/MullvadVPN-${version}_amd64.deb";
-    sha256 = "07vryz1nq8r4m5y9ry0d0v62ykz1cnnsv628x34yvwiyazbav4ri";
+    url = "https://github.com/mullvad/mullvadvpn-app/releases/download/${version}/MullvadVPN-${version}_amd64.deb";
+    sha256 = "sha256-nNZK11MckiQ+z8NDgDc7aJ6yrXWI1hPOvMZkrGwDDgU=";
   };
 
   nativeBuildInputs = [
@@ -84,9 +84,9 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/mullvad/mullvadvpn-app";
     description = "Client for Mullvad VPN";
     changelog = "https://github.com/mullvad/mullvadvpn-app/blob/${version}/CHANGELOG.md";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ Br1ght0ne ];
+    maintainers = with maintainers; [ Br1ght0ne ymarkus ];
   };
 
 }
diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix
index bde8f7c4fedb3..4432d9ddeece7 100644
--- a/pkgs/applications/networking/mumble/default.nix
+++ b/pkgs/applications/networking/mumble/default.nix
@@ -1,22 +1,15 @@
-{ lib, stdenv, fetchurl, fetchFromGitHub, fetchpatch, pkg-config, qt5
+{ lib, stdenv, fetchFromGitHub, pkg-config, qt5
 , avahi, boost, libopus, libsndfile, protobuf, speex, libcap
 , alsaLib, python3
 , rnnoise
-, jackSupport ? false, libjack2 ? null
-, speechdSupport ? false, speechd ? null
-, pulseSupport ? false, libpulseaudio ? null
-, iceSupport ? false, zeroc-ice ? null
-, grpcSupport ? false, grpc ? null, c-ares ? null, abseil-cpp ? null, which ? null
+, jackSupport ? false, libjack2
+, speechdSupport ? false, speechd
+, pulseSupport ? false, libpulseaudio
+, iceSupport ? false, zeroc-ice
+, grpcSupport ? false, grpc, c-ares, abseil-cpp, which
 , nixosTests
 }:
 
-assert jackSupport -> libjack2 != null;
-assert speechdSupport -> speechd != null;
-assert pulseSupport -> libpulseaudio != null;
-assert iceSupport -> zeroc-ice != null;
-assert grpcSupport -> (grpc != null && c-ares != null && abseil-cpp != null && which != null);
-
-with lib;
 let
   generic = overrides: source: qt5.mkDerivation (source // overrides // {
     pname = overrides.type;
@@ -42,8 +35,8 @@ let
       "CONFIG+=no-bundled-opus"
       "CONFIG+=no-bundled-speex"
       "DEFINES+=PLUGIN_PATH=${placeholder "out"}/lib/mumble"
-    ] ++ optional (!speechdSupport) "CONFIG+=no-speechd"
-      ++ optional jackSupport "CONFIG+=no-oss CONFIG+=no-alsa CONFIG+=jackaudio"
+    ] ++ lib.optional (!speechdSupport) "CONFIG+=no-speechd"
+      ++ lib.optional jackSupport "CONFIG+=no-oss CONFIG+=no-alsa CONFIG+=jackaudio"
       ++ (overrides.configureFlags or [ ]);
 
     preConfigure = ''
@@ -64,11 +57,9 @@ let
       runHook postInstall
     '';
 
-    enableParallelBuilding = true;
-
     passthru.tests.connectivity = nixosTests.mumble;
 
-    meta = {
+    meta = with lib; {
       description = "Low-latency, high quality voice chat software";
       homepage = "https://mumble.info";
       license = licenses.bsd3;
@@ -82,16 +73,16 @@ let
 
     nativeBuildInputs = [ qt5.qttools ];
     buildInputs = [ libopus libsndfile speex qt5.qtsvg rnnoise ]
-      ++ optional stdenv.isLinux alsaLib
-      ++ optional jackSupport libjack2
-      ++ optional speechdSupport speechd
-      ++ optional pulseSupport libpulseaudio;
+      ++ lib.optional stdenv.isLinux alsaLib
+      ++ lib.optional jackSupport libjack2
+      ++ lib.optional speechdSupport speechd
+      ++ lib.optional pulseSupport libpulseaudio;
 
     configureFlags = [
       "CONFIG+=no-server"
     ];
 
-    NIX_CFLAGS_COMPILE = optional speechdSupport "-I${speechd}/include/speech-dispatcher";
+    NIX_CFLAGS_COMPILE = lib.optional speechdSupport "-I${speechd}/include/speech-dispatcher";
 
     installPhase = ''
       # bin stuff
@@ -113,18 +104,18 @@ let
   server = source: generic {
     type = "murmur";
 
-    postPatch = optional iceSupport ''
+    postPatch = lib.optional iceSupport ''
       grep -Rl '/usr/share/Ice' . | xargs sed -i 's,/usr/share/Ice/,${zeroc-ice.dev}/share/ice/,g'
     '';
 
     configureFlags = [
       "CONFIG+=no-client"
-    ] ++ optional (!iceSupport) "CONFIG+=no-ice"
-      ++ optional grpcSupport "CONFIG+=grpc";
+    ] ++ lib.optional (!iceSupport) "CONFIG+=no-ice"
+      ++ lib.optional grpcSupport "CONFIG+=grpc";
 
     buildInputs = [ libcap ]
-      ++ optional iceSupport zeroc-ice
-      ++ optionals grpcSupport [ grpc c-ares abseil-cpp which ];
+      ++ lib.optional iceSupport zeroc-ice
+      ++ lib.optionals grpcSupport [ grpc c-ares abseil-cpp which ];
 
     installPhase = ''
       # bin stuff
@@ -133,14 +124,14 @@ let
   } source;
 
   source = rec {
-    version = "1.3.3";
+    version = "1.3.4";
 
     # Needs submodules
     src = fetchFromGitHub {
       owner = "mumble-voip";
       repo = "mumble";
       rev = version;
-      sha256 = "1jaq5bl5gdpzd4pskpcd2j93g2w320znn4s8ck8f4jz5f46da1bj";
+      sha256 = "sha256-njovShQpW0JNeeE8VugdmGzDk3fKG8/fcJoBgdyTZug=";
       fetchSubmodules = true;
     };
   };
diff --git a/pkgs/applications/networking/n8n/node-composition.nix b/pkgs/applications/networking/n8n/node-composition.nix
index f6cfb2cd2e452..64326c6b21602 100644
--- a/pkgs/applications/networking/n8n/node-composition.nix
+++ b/pkgs/applications/networking/n8n/node-composition.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
@@ -6,12 +6,12 @@
 
 let
   nodeEnv = import ./node-env.nix {
-    inherit (pkgs) lib stdenv python2 utillinux runCommand writeTextFile;
-    inherit nodejs;
+    inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
+    inherit pkgs nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
 import ./node-packages.nix {
-  inherit (pkgs) fetchurl fetchgit;
+  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
   inherit nodeEnv;
 }
diff --git a/pkgs/applications/networking/n8n/node-env.nix b/pkgs/applications/networking/n8n/node-env.nix
index 759fa71c5aab0..c2b723195b77e 100644
--- a/pkgs/applications/networking/n8n/node-env.nix
+++ b/pkgs/applications/networking/n8n/node-env.nix
@@ -1,8 +1,11 @@
 # This file originates from node2nix
 
-{lib, stdenv, nodejs, python2, utillinux, libtool, runCommand, writeTextFile}:
+{lib, stdenv, nodejs, python2, pkgs, libtool, runCommand, writeTextFile}:
 
 let
+  # Workaround to cope with utillinux in Nixpkgs 20.09 and util-linux in Nixpkgs master
+  utillinux = if pkgs ? utillinux then pkgs.utillinux else pkgs.util-linux;
+
   python = if nodejs ? python then nodejs.python else python2;
 
   # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
@@ -242,8 +245,8 @@ let
       if(fs.existsSync("./package-lock.json")) {
           var packageLock = JSON.parse(fs.readFileSync("./package-lock.json"));
 
-          if(packageLock.lockfileVersion !== 1) {
-             process.stderr.write("Sorry, I only understand lock file version 1!\n");
+          if(![1, 2].includes(packageLock.lockfileVersion)) {
+             process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n");
              process.exit(1);
           }
 
@@ -445,8 +448,8 @@ let
       '';
     } // extraArgs);
 
-  # Builds a development shell
-  buildNodeShell =
+  # Builds a node environment (a node_modules folder and a set of binaries)
+  buildNodeDependencies =
     { name
     , packageName
     , version
@@ -465,8 +468,8 @@ let
 
     let
       extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
-
-      nodeDependencies = stdenv.mkDerivation ({
+    in
+      stdenv.mkDerivation ({
         name = "node-dependencies-${name}-${version}";
 
         buildInputs = [ tarWrapper python nodejs ]
@@ -512,6 +515,27 @@ let
           ln -s $out/lib/node_modules/.bin $out/bin
         '';
       } // extraArgs);
+
+  # Builds a development shell
+  buildNodeShell =
+    { name
+    , packageName
+    , version
+    , src
+    , dependencies ? []
+    , buildInputs ? []
+    , production ? true
+    , npmFlags ? ""
+    , dontNpmInstall ? false
+    , bypassCache ? false
+    , reconstructLock ? false
+    , dontStrip ? true
+    , unpackPhase ? "true"
+    , buildPhase ? "true"
+    , ... }@args:
+
+    let
+      nodeDependencies = buildNodeDependencies args;
     in
     stdenv.mkDerivation {
       name = "node-shell-${name}-${version}";
@@ -538,5 +562,6 @@ in
 {
   buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist;
   buildNodePackage = lib.makeOverridable buildNodePackage;
+  buildNodeDependencies = lib.makeOverridable buildNodeDependencies;
   buildNodeShell = lib.makeOverridable buildNodeShell;
 }
diff --git a/pkgs/applications/networking/n8n/node-packages.nix b/pkgs/applications/networking/n8n/node-packages.nix
index 09d2fc5ccdf4b..b497190b18872 100644
--- a/pkgs/applications/networking/n8n/node-packages.nix
+++ b/pkgs/applications/networking/n8n/node-packages.nix
@@ -1,6 +1,6 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
 let
   sources = {
@@ -13,13 +13,13 @@ let
         sha512 = "l7z0DPCi2Hp88w12JhDTtx5d0Y3+vhfE7JKJb9O7sEz71Cwp053N8piTtTnnk/tUor9oZHgEKi/p3tQQmLPjvA==";
       };
     };
-    "@azure/ms-rest-js-1.9.0" = {
+    "@azure/ms-rest-js-1.9.1" = {
       name = "_at_azure_slash_ms-rest-js";
       packageName = "@azure/ms-rest-js";
-      version = "1.9.0";
+      version = "1.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/ms-rest-js/-/ms-rest-js-1.9.0.tgz";
-        sha512 = "cB4Z2Mg7eBmet1rfbf0QSO1XbhfknRW7B+mX3IHJq0KGHaGJvCPoVTgdsJdCkazEMK1jtANFNEDDzSQacxyzbA==";
+        url = "https://registry.npmjs.org/@azure/ms-rest-js/-/ms-rest-js-1.9.1.tgz";
+        sha512 = "F1crHKhmsvFLM9fsnDyCGFd2E2KR9GEZm5oBVV5D5k2EBQ7u7idtSJlSF6RDLDIrGWtc4NnFdYwsoiW8NLlBQg==";
       };
     };
     "@azure/ms-rest-nodeauth-2.0.2" = {
@@ -31,6 +31,15 @@ let
         sha512 = "KmNNICOxt3EwViAJI3iu2VH8t8BQg5J2rSAyO4IUYLF9ZwlyYsP419pdvl4NBUhluAP2cgN7dfD2V6E6NOMZlQ==";
       };
     };
+    "@dabh/diagnostics-2.0.2" = {
+      name = "_at_dabh_slash_diagnostics";
+      packageName = "@dabh/diagnostics";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz";
+        sha512 = "+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==";
+      };
+    };
     "@icetee/ftp-0.3.15" = {
       name = "_at_icetee_slash_ftp";
       packageName = "@icetee/ftp";
@@ -40,31 +49,31 @@ let
         sha512 = "RxSa9VjcDWgWCYsaLdZItdCnJj7p4LxggaEk+Y3MP0dHKoxez8ioG07DVekVbZZqccsrL+oPB/N9AzVPxj4blg==";
       };
     };
-    "@nodelib/fs.scandir-2.1.3" = {
+    "@nodelib/fs.scandir-2.1.4" = {
       name = "_at_nodelib_slash_fs.scandir";
       packageName = "@nodelib/fs.scandir";
-      version = "2.1.3";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz";
-        sha512 = "eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==";
+        url = "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz";
+        sha512 = "33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==";
       };
     };
-    "@nodelib/fs.stat-2.0.3" = {
+    "@nodelib/fs.stat-2.0.4" = {
       name = "_at_nodelib_slash_fs.stat";
       packageName = "@nodelib/fs.stat";
-      version = "2.0.3";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz";
-        sha512 = "bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==";
+        url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz";
+        sha512 = "IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==";
       };
     };
-    "@nodelib/fs.walk-1.2.4" = {
+    "@nodelib/fs.walk-1.2.6" = {
       name = "_at_nodelib_slash_fs.walk";
       packageName = "@nodelib/fs.walk";
-      version = "1.2.4";
+      version = "1.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz";
-        sha512 = "1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==";
+        url = "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz";
+        sha512 = "8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==";
       };
     };
     "@oclif/command-1.8.0" = {
@@ -112,13 +121,13 @@ let
         sha512 = "yojzeEfmSxjjkAvMRj0KzspXlMjCfBzNRPkWw8ZwOSoNWoJn+OCS/m/S+yfV6BvAM4u2lTzX9Y5rCbrFIgkJLg==";
       };
     };
-    "@oclif/plugin-help-3.2.0" = {
+    "@oclif/plugin-help-3.2.1" = {
       name = "_at_oclif_slash_plugin-help";
       packageName = "@oclif/plugin-help";
-      version = "3.2.0";
+      version = "3.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-3.2.0.tgz";
-        sha512 = "7jxtpwVWAVbp1r46ZnTK/uF+FeZc6y4p1XcGaIUuPAp7wx6NJhIRN/iMT9UfNFX/Cz7mq+OyJz+E+i0zrik86g==";
+        url = "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-3.2.1.tgz";
+        sha512 = "vq7rn16TrQmjX3Al/k1Z5iBZWZ3HE8fDXs52OmDJmmTqryPSNvURH9WCAsqr0PODYCSR17Hy1VTzS0x7vVVLEQ==";
       };
     };
     "@servie/events-1.0.0" = {
@@ -166,13 +175,13 @@ let
         sha512 = "W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==";
       };
     };
-    "@types/connect-3.4.33" = {
+    "@types/connect-3.4.34" = {
       name = "_at_types_slash_connect";
       packageName = "@types/connect";
-      version = "3.4.33";
+      version = "3.4.34";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz";
-        sha512 = "2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==";
+        url = "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz";
+        sha512 = "ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==";
       };
     };
     "@types/debug-4.1.5" = {
@@ -184,13 +193,13 @@ let
         sha512 = "Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==";
       };
     };
-    "@types/express-4.17.9" = {
+    "@types/express-4.17.11" = {
       name = "_at_types_slash_express";
       packageName = "@types/express";
-      version = "4.17.9";
+      version = "4.17.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express/-/express-4.17.9.tgz";
-        sha512 = "SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw==";
+        url = "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz";
+        sha512 = "no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==";
       };
     };
     "@types/express-jwt-0.0.42" = {
@@ -202,13 +211,13 @@ let
         sha512 = "WszgUddvM1t5dPpJ3LhWNH8kfNN8GPIBrAGxgIYXVCEGx6Bx4A036aAuf/r5WH9DIEdlmp7gHOYvSM6U87B0ag==";
       };
     };
-    "@types/express-serve-static-core-4.17.14" = {
+    "@types/express-serve-static-core-4.17.18" = {
       name = "_at_types_slash_express-serve-static-core";
       packageName = "@types/express-serve-static-core";
-      version = "4.17.14";
+      version = "4.17.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.14.tgz";
-        sha512 = "uFTLwu94TfUFMToXNgRZikwPuZdOtDgs3syBtAIr/OXorL1kJqUJT9qCLnRZ5KBOWfZQikQ2xKgR2tnDj1OgDA==";
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz";
+        sha512 = "m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==";
       };
     };
     "@types/express-unless-0.5.1" = {
@@ -247,13 +256,13 @@ let
         sha512 = "9bVao7LvyorRGZCw0VmH/dr7Og+NdjYSsKAxB43OQoComFbBgsEpoR9JW6+qSq/ogwVBg8GI2MfAlk4SYI4OLg==";
       };
     };
-    "@types/mime-2.0.3" = {
+    "@types/mime-1.3.2" = {
       name = "_at_types_slash_mime";
       packageName = "@types/mime";
-      version = "2.0.3";
+      version = "1.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz";
-        sha512 = "Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==";
+        url = "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz";
+        sha512 = "YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==";
       };
     };
     "@types/minimatch-3.0.3" = {
@@ -265,22 +274,22 @@ let
         sha512 = "tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==";
       };
     };
-    "@types/node-12.19.8" = {
+    "@types/node-12.19.15" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "12.19.8";
+      version = "12.19.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.19.8.tgz";
-        sha512 = "D4k2kNi0URNBxIRCb1khTnkWNHv8KSL1owPmS/K5e5t8B2GzMReY7AsJIY1BnP5KdlgC4rj9jk2IkDMasIE7xg==";
+        url = "https://registry.npmjs.org/@types/node/-/node-12.19.15.tgz";
+        sha512 = "lowukE3GUI+VSYSu6VcBXl14d61Rp5hA1D+61r16qnwC0lYNSqdxcvRh0pswejorHfS+HgwBasM8jLXz0/aOsw==";
       };
     };
-    "@types/node-14.14.10" = {
+    "@types/node-14.14.22" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "14.14.10";
+      version = "14.14.22";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz";
-        sha512 = "J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ==";
+        url = "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz";
+        sha512 = "g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==";
       };
     };
     "@types/node-8.10.66" = {
@@ -337,13 +346,22 @@ let
         sha512 = "sqsgQqFT7HmQz/V5jH1O0fvQQnXAJO46Gg9LRO/JPfjmVmGUlcx831TZZO3Y3HtWhIkzf3kTsNT0Z0kzIhIvZw==";
       };
     };
-    "@types/serve-static-1.13.8" = {
+    "@types/serve-static-1.13.9" = {
       name = "_at_types_slash_serve-static";
       packageName = "@types/serve-static";
-      version = "1.13.8";
+      version = "1.13.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz";
-        sha512 = "MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA==";
+        url = "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz";
+        sha512 = "ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==";
+      };
+    };
+    "@types/snowflake-sdk-1.5.1" = {
+      name = "_at_types_slash_snowflake-sdk";
+      packageName = "@types/snowflake-sdk";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/snowflake-sdk/-/snowflake-sdk-1.5.1.tgz";
+        sha512 = "0RPrY9NZZn3botFzmW+Yo7Qx8J0KbIRfrWOzVFqG9iN6qo9WfpZwoqApC8Y6y9htZBdpfAweeVQdyMOm6B8Z9w==";
       };
     };
     "@types/tough-cookie-2.3.7" = {
@@ -409,6 +427,24 @@ let
         sha1 = "6a3e6bf0a63900ba15652808cb15c6813d1a5f25";
       };
     };
+    "agent-base-2.1.1" = {
+      name = "agent-base";
+      packageName = "agent-base";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz";
+        sha1 = "d6de10d5af6132d5bd692427d46fc538539094c7";
+      };
+    };
+    "agent-base-4.3.0" = {
+      name = "agent-base";
+      packageName = "agent-base";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz";
+        sha512 = "salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==";
+      };
+    };
     "ajv-6.12.6" = {
       name = "ajv";
       packageName = "ajv";
@@ -418,6 +454,15 @@ let
         sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==";
       };
     };
+    "amqplib-0.6.0" = {
+      name = "amqplib";
+      packageName = "amqplib";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/amqplib/-/amqplib-0.6.0.tgz";
+        sha512 = "zXCh4jQ77TBZe1YtvZ1n7sUxnTjnNagpy8MVi2yc1ive239pS3iLwm4e4d5o4XZGx1BdTKQ/U0ZmaDU3c8MxYQ==";
+      };
+    };
     "ansi-escapes-4.3.1" = {
       name = "ansi-escapes";
       packageName = "ansi-escapes";
@@ -445,15 +490,6 @@ let
         sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
       };
     };
-    "ansi-regex-4.1.0" = {
-      name = "ansi-regex";
-      packageName = "ansi-regex";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz";
-        sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==";
-      };
-    };
     "ansi-regex-5.0.0" = {
       name = "ansi-regex";
       packageName = "ansi-regex";
@@ -589,13 +625,67 @@ let
         sha512 = "jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==";
       };
     };
-    "assert-options-0.6.2" = {
+    "asn1.js-4.10.1" = {
+      name = "asn1.js";
+      packageName = "asn1.js";
+      version = "4.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz";
+        sha512 = "p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==";
+      };
+    };
+    "asn1.js-5.4.1" = {
+      name = "asn1.js";
+      packageName = "asn1.js";
+      version = "5.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz";
+        sha512 = "+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==";
+      };
+    };
+    "asn1.js-rfc2560-4.0.6" = {
+      name = "asn1.js-rfc2560";
+      packageName = "asn1.js-rfc2560";
+      version = "4.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asn1.js-rfc2560/-/asn1.js-rfc2560-4.0.6.tgz";
+        sha512 = "ysf48ni+f/efNPilq4+ApbifUPcSW/xbDeQAh055I+grr2gXgNRQqHew7kkO70WSMQ2tEOURVwsK+dJqUNjIIg==";
+      };
+    };
+    "asn1.js-rfc2560-5.0.1" = {
+      name = "asn1.js-rfc2560";
+      packageName = "asn1.js-rfc2560";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asn1.js-rfc2560/-/asn1.js-rfc2560-5.0.1.tgz";
+        sha512 = "1PrVg6kuBziDN3PGFmRk3QrjpKvP9h/Hv5yMrFZvC1kpzP6dQRzf5BpKstANqHBkaOUmTpakJWhicTATOA/SbA==";
+      };
+    };
+    "asn1.js-rfc5280-2.0.1" = {
+      name = "asn1.js-rfc5280";
+      packageName = "asn1.js-rfc5280";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asn1.js-rfc5280/-/asn1.js-rfc5280-2.0.1.tgz";
+        sha512 = "1e2ypnvTbYD/GdxWK77tdLBahvo1fZUHlQJqAVUuZWdYj0rdjGcf2CWYUtbsyRYpYUMwMWLZFUtLxog8ZXTrcg==";
+      };
+    };
+    "asn1.js-rfc5280-3.0.0" = {
+      name = "asn1.js-rfc5280";
+      packageName = "asn1.js-rfc5280";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asn1.js-rfc5280/-/asn1.js-rfc5280-3.0.0.tgz";
+        sha512 = "Y2LZPOWeZ6qehv698ZgOGGCZXBQShObWnGthTrIFlIQjuV1gg2B8QOhWFRExq/MR1VnPpIIe7P9vX2vElxv+Pg==";
+      };
+    };
+    "assert-options-0.7.0" = {
       name = "assert-options";
       packageName = "assert-options";
-      version = "0.6.2";
+      version = "0.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/assert-options/-/assert-options-0.6.2.tgz";
-        sha512 = "KP9S549XptFAPGYmLRnIjQBL4/Ry8Jx5YNLQZ/l+eejqbTidBMnw4uZSAsUrzBq/lgyqDYqxcTF7cOxZb9gyEw==";
+        url = "https://registry.npmjs.org/assert-options/-/assert-options-0.7.0.tgz";
+        sha512 = "7q9uNH/Dh8gFgpIIb9ja8PJEWA5AQy3xnBC8jtKs8K/gNVCr1K6kIvlm59HUyYgvM7oEDoLzGgPcGd9FqhtXEQ==";
       };
     };
     "assert-plus-1.0.0" = {
@@ -607,6 +697,15 @@ let
         sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
       };
     };
+    "async-1.5.2" = {
+      name = "async";
+      packageName = "async";
+      version = "1.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-1.5.2.tgz";
+        sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a";
+      };
+    };
     "async-3.2.0" = {
       name = "async";
       packageName = "async";
@@ -643,22 +742,22 @@ let
         sha512 = "xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==";
       };
     };
-    "axios-0.19.0" = {
+    "axios-0.19.2" = {
       name = "axios";
       packageName = "axios";
-      version = "0.19.0";
+      version = "0.19.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz";
-        sha512 = "1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==";
+        url = "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz";
+        sha512 = "fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==";
       };
     };
-    "axios-0.19.2" = {
+    "axios-0.21.1" = {
       name = "axios";
       packageName = "axios";
-      version = "0.19.2";
+      version = "0.21.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz";
-        sha512 = "fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==";
+        url = "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz";
+        sha512 = "dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==";
       };
     };
     "balanced-match-1.0.0" = {
@@ -706,6 +805,33 @@ let
         sha1 = "9ab5627b93e60621ff7cdac5da9733027df1d0cb";
       };
     };
+    "big-integer-1.6.48" = {
+      name = "big-integer";
+      packageName = "big-integer";
+      version = "1.6.48";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz";
+        sha512 = "j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==";
+      };
+    };
+    "bignumber.js-2.4.0" = {
+      name = "bignumber.js";
+      packageName = "bignumber.js";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bignumber.js/-/bignumber.js-2.4.0.tgz";
+        sha1 = "838a992da9f9d737e0f4b2db0be62bb09dd0c5e8";
+      };
+    };
+    "bitsyntax-0.1.0" = {
+      name = "bitsyntax";
+      packageName = "bitsyntax";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.1.0.tgz";
+        sha512 = "ikAdCnrloKmFOugAfxWws89/fPc+nw0OOG1IzIE72uSOg/A3cYptKCjSUhDTuj7fhsJtzkzlv7l3b8PzRHLN0Q==";
+      };
+    };
     "bl-2.2.1" = {
       name = "bl";
       packageName = "bl";
@@ -742,6 +868,24 @@ let
         sha1 = "534b9033c022c9579c56ba3b3e5a5caafbb650e1";
       };
     };
+    "bluebird-3.7.2" = {
+      name = "bluebird";
+      packageName = "bluebird";
+      version = "3.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz";
+        sha512 = "XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==";
+      };
+    };
+    "bn.js-4.11.9" = {
+      name = "bn.js";
+      packageName = "bn.js";
+      version = "4.11.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz";
+        sha512 = "E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==";
+      };
+    };
     "body-parser-1.19.0" = {
       name = "body-parser";
       packageName = "body-parser";
@@ -787,6 +931,15 @@ let
         sha512 = "b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==";
       };
     };
+    "browser-request-0.3.3" = {
+      name = "browser-request";
+      packageName = "browser-request";
+      version = "0.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browser-request/-/browser-request-0.3.3.tgz";
+        sha1 = "9ece5b5aca89a29932242e18bf933def9876cc17";
+      };
+    };
     "bson-1.1.5" = {
       name = "bson";
       packageName = "bson";
@@ -823,6 +976,15 @@ let
         sha512 = "MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==";
       };
     };
+    "buffer-more-ints-1.0.0" = {
+      name = "buffer-more-ints";
+      packageName = "buffer-more-ints";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-1.0.0.tgz";
+        sha512 = "EMetuGFz5SLsT0QTnXzINh4Ksr+oo4i+UGTXEshiGCQWnsgSs7ZhJ8fzlwQ+OzEMs0MpDAMr1hxnblp5a4vcHg==";
+      };
+    };
     "buffer-writer-2.0.0" = {
       name = "buffer-writer";
       packageName = "buffer-writer";
@@ -859,6 +1021,15 @@ let
         sha512 = "zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==";
       };
     };
+    "cacheable-lookup-5.0.4" = {
+      name = "cacheable-lookup";
+      packageName = "cacheable-lookup";
+      version = "5.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz";
+        sha512 = "2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==";
+      };
+    };
     "callback-stream-1.1.0" = {
       name = "callback-stream";
       packageName = "callback-stream";
@@ -967,13 +1138,22 @@ let
         sha512 = "mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==";
       };
     };
-    "cheerio-1.0.0-rc.3" = {
+    "cheerio-1.0.0-rc.5" = {
       name = "cheerio";
       packageName = "cheerio";
-      version = "1.0.0-rc.3";
+      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-tmp-0.1.1" = {
+      name = "cheerio-select-tmp";
+      packageName = "cheerio-select-tmp";
+      version = "0.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz";
-        sha512 = "0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==";
+        url = "https://registry.npmjs.org/cheerio-select-tmp/-/cheerio-select-tmp-0.1.1.tgz";
+        sha512 = "YYs5JvbpU19VYJyj+F7oYrIE2BOll1/hRU7rEy/5+v9BzkSo3bK81iAeeQEMI92vRIxz677m72UmJUiVwwgjfQ==";
       };
     };
     "chownr-1.1.4" = {
@@ -1003,13 +1183,13 @@ let
         sha512 = "I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==";
       };
     };
-    "cli-highlight-2.1.9" = {
+    "cli-highlight-2.1.10" = {
       name = "cli-highlight";
       packageName = "cli-highlight";
-      version = "2.1.9";
+      version = "2.1.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.9.tgz";
-        sha512 = "t8RNIZgiI24i/mslZ8XT8o660RUj5ZbUJpEZrZa/BNekTzdC2LfMRAnt0Y7sgzNM4FGW5tmWg/YnbTH8o1eIOQ==";
+        url = "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.10.tgz";
+        sha512 = "CcPFD3JwdQ2oSzy+AMG6j3LRTkNjM82kzcSKzoVw6cLanDCJNlsLjeqVTOTfOfucnWv5F0rmBemVf1m9JiIasw==";
       };
     };
     "cli-width-3.0.0" = {
@@ -1030,24 +1210,6 @@ let
         sha512 = "k8AvUYJon0vv75ufoVo4nALYb/qwFFicO3I0+39C6xEdflqVtr+f9cy+0ZxAduoVSTfhP5DX2tY2XICAd5hy6Q==";
       };
     };
-    "cliui-5.0.0" = {
-      name = "cliui";
-      packageName = "cliui";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz";
-        sha512 = "PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==";
-      };
-    };
-    "cliui-6.0.0" = {
-      name = "cliui";
-      packageName = "cliui";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz";
-        sha512 = "t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==";
-      };
-    };
     "cliui-7.0.4" = {
       name = "cliui";
       packageName = "cliui";
@@ -1138,6 +1300,15 @@ let
         sha1 = "f8889030685c7c4ff9e2a559f5077eb76a816f96";
       };
     };
+    "colors-1.4.0" = {
+      name = "colors";
+      packageName = "colors";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz";
+        sha512 = "a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==";
+      };
+    };
     "colorspace-1.1.2" = {
       name = "colorspace";
       packageName = "colorspace";
@@ -1354,22 +1525,22 @@ let
         sha512 = "uTqEnCvWRk042asU6JtapDTcJeeailFy4ydOQS28bj1hcLnYRiqi8SsD2jS412AY1I/4qdOwWZun774iqywf9w==";
       };
     };
-    "css-select-1.2.0" = {
+    "css-select-3.1.2" = {
       name = "css-select";
       packageName = "css-select";
-      version = "1.2.0";
+      version = "3.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz";
-        sha1 = "2b3a110539c5355f1cd8d314623e870b121ec858";
+        url = "https://registry.npmjs.org/css-select/-/css-select-3.1.2.tgz";
+        sha512 = "qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA==";
       };
     };
-    "css-what-2.1.3" = {
+    "css-what-4.0.0" = {
       name = "css-what";
       packageName = "css-what";
-      version = "2.1.3";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz";
-        sha512 = "a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==";
+        url = "https://registry.npmjs.org/css-what/-/css-what-4.0.0.tgz";
+        sha512 = "teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A==";
       };
     };
     "d-1.0.1" = {
@@ -1426,22 +1597,22 @@ let
         sha512 = "CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==";
       };
     };
-    "debug-4.1.1" = {
+    "debug-4.3.1" = {
       name = "debug";
       packageName = "debug";
-      version = "4.1.1";
+      version = "4.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz";
-        sha512 = "pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==";
+        url = "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz";
+        sha512 = "doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==";
       };
     };
-    "debug-4.3.1" = {
+    "debug-4.3.2" = {
       name = "debug";
       packageName = "debug";
-      version = "4.3.1";
+      version = "4.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz";
-        sha512 = "doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==";
+        url = "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz";
+        sha512 = "mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==";
       };
     };
     "decamelize-1.2.0" = {
@@ -1480,13 +1651,13 @@ let
         sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
       };
     };
-    "denque-1.4.1" = {
+    "denque-1.5.0" = {
       name = "denque";
       packageName = "denque";
-      version = "1.4.1";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/denque/-/denque-1.4.1.tgz";
-        sha512 = "OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ==";
+        url = "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz";
+        sha512 = "CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ==";
       };
     };
     "depd-1.1.2" = {
@@ -1543,13 +1714,22 @@ let
         sha512 = "WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==";
       };
     };
-    "dom-serializer-0.1.1" = {
+    "dom-serializer-0.2.2" = {
       name = "dom-serializer";
       packageName = "dom-serializer";
-      version = "0.1.1";
+      version = "0.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz";
-        sha512 = "l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==";
+        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz";
+        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==";
       };
     };
     "domelementtype-1.3.1" = {
@@ -1561,6 +1741,15 @@ let
         sha512 = "BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==";
       };
     };
+    "domelementtype-2.1.0" = {
+      name = "domelementtype";
+      packageName = "domelementtype";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz";
+        sha512 = "LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==";
+      };
+    };
     "domhandler-2.4.2" = {
       name = "domhandler";
       packageName = "domhandler";
@@ -1570,13 +1759,31 @@ let
         sha512 = "JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==";
       };
     };
-    "domutils-1.5.1" = {
+    "domhandler-4.0.0" = {
+      name = "domhandler";
+      packageName = "domhandler";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domhandler/-/domhandler-4.0.0.tgz";
+        sha512 = "KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==";
+      };
+    };
+    "domutils-1.7.0" = {
       name = "domutils";
       packageName = "domutils";
-      version = "1.5.1";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz";
+        sha512 = "Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==";
+      };
+    };
+    "domutils-2.4.4" = {
+      name = "domutils";
+      packageName = "domutils";
+      version = "2.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz";
-        sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf";
+        url = "https://registry.npmjs.org/domutils/-/domutils-2.4.4.tgz";
+        sha512 = "jBC0vOsECI4OMdD0GC9mGn7NXPLb+Qt6KW1YDQzeQYRUFKmNG8lh7mO5HiELfr+lLQE7loDVI4QcAxV80HS+RA==";
       };
     };
     "dot-case-3.0.4" = {
@@ -1642,15 +1849,6 @@ let
         sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
       };
     };
-    "emoji-regex-7.0.3" = {
-      name = "emoji-regex";
-      packageName = "emoji-regex";
-      version = "7.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz";
-        sha512 = "CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==";
-      };
-    };
     "emoji-regex-8.0.0" = {
       name = "emoji-regex";
       packageName = "emoji-regex";
@@ -1669,6 +1867,15 @@ let
         sha1 = "965f6513d2c2d1c5f4652b64a2e3396467fc2f93";
       };
     };
+    "enabled-2.0.0" = {
+      name = "enabled";
+      packageName = "enabled";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz";
+        sha512 = "AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==";
+      };
+    };
     "encodeurl-1.0.2" = {
       name = "encodeurl";
       packageName = "encodeurl";
@@ -1714,6 +1921,15 @@ let
         sha512 = "hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==";
       };
     };
+    "entities-2.2.0" = {
+      name = "entities";
+      packageName = "entities";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz";
+        sha512 = "p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==";
+      };
+    };
     "env-variable-0.0.6" = {
       name = "env-variable";
       packageName = "env-variable";
@@ -1750,6 +1966,24 @@ let
         sha1 = "9136e0503dcc06a301690f0bb14ff4e364e949f0";
       };
     };
+    "es6-promise-4.2.8" = {
+      name = "es6-promise";
+      packageName = "es6-promise";
+      version = "4.2.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz";
+        sha512 = "HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==";
+      };
+    };
+    "es6-promisify-5.0.0" = {
+      name = "es6-promisify";
+      packageName = "es6-promisify";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz";
+        sha1 = "5109d62f3e56ea967c4b63505aef08291c8a5203";
+      };
+    };
     "es6-set-0.1.5" = {
       name = "es6-set";
       packageName = "es6-set";
@@ -1921,13 +2155,13 @@ let
         sha512 = "f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==";
       };
     };
-    "fast-glob-3.2.4" = {
+    "fast-glob-3.2.5" = {
       name = "fast-glob";
       packageName = "fast-glob";
-      version = "3.2.4";
+      version = "3.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz";
-        sha512 = "kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==";
+        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz";
+        sha512 = "2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==";
       };
     };
     "fast-json-stable-stringify-2.1.0" = {
@@ -1939,13 +2173,31 @@ let
         sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==";
       };
     };
-    "fastq-1.9.0" = {
+    "fast-safe-stringify-2.0.7" = {
+      name = "fast-safe-stringify";
+      packageName = "fast-safe-stringify";
+      version = "2.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz";
+        sha512 = "Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==";
+      };
+    };
+    "fastq-1.10.1" = {
       name = "fastq";
       packageName = "fastq";
-      version = "1.9.0";
+      version = "1.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fastq/-/fastq-1.10.1.tgz";
+        sha512 = "AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA==";
+      };
+    };
+    "fecha-4.2.0" = {
+      name = "fecha";
+      packageName = "fecha";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz";
-        sha512 = "i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==";
+        url = "https://registry.npmjs.org/fecha/-/fecha-4.2.0.tgz";
+        sha512 = "aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg==";
       };
     };
     "fflate-0.3.11" = {
@@ -1957,6 +2209,15 @@ let
         sha512 = "Rr5QlUeGN1mbOHlaqcSYMKVpPbgLy0AWT/W0EHxA6NGI12yO1jpoui2zBBvU2G824ltM6Ut8BFgfHSBGfkmS0A==";
       };
     };
+    "fflate-0.4.8" = {
+      name = "fflate";
+      packageName = "fflate";
+      version = "0.4.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz";
+        sha512 = "FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==";
+      };
+    };
     "figlet-1.5.0" = {
       name = "figlet";
       packageName = "figlet";
@@ -2002,24 +2263,6 @@ let
         sha512 = "aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==";
       };
     };
-    "find-up-3.0.0" = {
-      name = "find-up";
-      packageName = "find-up";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz";
-        sha512 = "1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==";
-      };
-    };
-    "find-up-4.1.0" = {
-      name = "find-up";
-      packageName = "find-up";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz";
-        sha512 = "PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==";
-      };
-    };
     "flatted-2.0.2" = {
       name = "flatted";
       packageName = "flatted";
@@ -2029,6 +2272,24 @@ let
         sha512 = "r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==";
       };
     };
+    "fn.name-1.1.0" = {
+      name = "fn.name";
+      packageName = "fn.name";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz";
+        sha512 = "GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==";
+      };
+    };
+    "follow-redirects-1.13.2" = {
+      name = "follow-redirects";
+      packageName = "follow-redirects";
+      version = "1.13.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz";
+        sha512 = "6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==";
+      };
+    };
     "follow-redirects-1.5.10" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
@@ -2209,13 +2470,13 @@ let
         sha1 = "7045c99413b3eb94888d83ab46d0b404cc7bdde4";
       };
     };
-    "globby-11.0.1" = {
+    "globby-11.0.2" = {
       name = "globby";
       packageName = "globby";
-      version = "11.0.1";
+      version = "11.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz";
-        sha512 = "iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==";
+        url = "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz";
+        sha512 = "2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==";
       };
     };
     "gm-1.23.1" = {
@@ -2326,13 +2587,13 @@ let
         sha1 = "8f2d508d0600b4a456da2f086556e7e5c056a3c6";
       };
     };
-    "highlight.js-10.4.1" = {
+    "highlight.js-10.5.0" = {
       name = "highlight.js";
       packageName = "highlight.js";
-      version = "10.4.1";
+      version = "10.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/highlight.js/-/highlight.js-10.4.1.tgz";
-        sha512 = "yR5lWvNz7c85OhVAEAeFhVCc/GV4C30Fjzc/rCP0aCWzc1UUOPUk55dK/qdwTZHBvMZo+eZ2jpk62ndX/xMFlg==";
+        url = "https://registry.npmjs.org/highlight.js/-/highlight.js-10.5.0.tgz";
+        sha512 = "xTmvd9HiIHR6L53TMC7TKolEj65zG1XU+Onr8oi86mYa+nLcIbxTTWkpW7CsEwv/vK7u1zb8alZIMLDqqN6KTw==";
       };
     };
     "html-to-text-5.1.1" = {
@@ -2353,6 +2614,15 @@ let
         sha512 = "IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==";
       };
     };
+    "htmlparser2-6.0.0" = {
+      name = "htmlparser2";
+      packageName = "htmlparser2";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.0.0.tgz";
+        sha512 = "numTQtDZMoh78zJpaNdJ9MXb2cv5G3jwUoe3dMQODubZvLoGvTE/Ofp6sHvH8OGKcN/8A47pGLi/k58xHP/Tfw==";
+      };
+    };
     "http-errors-1.7.2" = {
       name = "http-errors";
       packageName = "http-errors";
@@ -2371,6 +2641,15 @@ let
         sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
       };
     };
+    "https-proxy-agent-3.0.1" = {
+      name = "https-proxy-agent";
+      packageName = "https-proxy-agent";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz";
+        sha512 = "+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==";
+      };
+    };
     "iconv-lite-0.4.24" = {
       name = "iconv-lite";
       packageName = "iconv-lite";
@@ -2488,13 +2767,13 @@ let
         sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==";
       };
     };
-    "ini-1.3.5" = {
+    "ini-1.3.8" = {
       name = "ini";
       packageName = "ini";
-      version = "1.3.5";
+      version = "1.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz";
-        sha512 = "RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==";
+        url = "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz";
+        sha512 = "JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==";
       };
     };
     "inquirer-7.3.3" = {
@@ -2542,15 +2821,6 @@ let
         sha512 = "eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==";
       };
     };
-    "is-buffer-2.0.5" = {
-      name = "is-buffer";
-      packageName = "is-buffer";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz";
-        sha512 = "i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==";
-      };
-    };
     "is-docker-2.1.1" = {
       name = "is-docker";
       packageName = "is-docker";
@@ -2659,6 +2929,15 @@ let
         sha512 = "Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==";
       };
     };
+    "is-stream-2.0.0" = {
+      name = "is-stream";
+      packageName = "is-stream";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz";
+        sha512 = "XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==";
+      };
+    };
     "is-typedarray-1.0.0" = {
       name = "is-typedarray";
       packageName = "is-typedarray";
@@ -2722,13 +3001,13 @@ let
         sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
       };
     };
-    "iso-639-1-2.1.4" = {
+    "iso-639-1-2.1.7" = {
       name = "iso-639-1";
       packageName = "iso-639-1";
-      version = "2.1.4";
+      version = "2.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/iso-639-1/-/iso-639-1-2.1.4.tgz";
-        sha512 = "pwJRHnpz1sCR5saQ+Hm1E2YESw2eLGKP5TzsYKXuQ7SIfvKWMRb9CHhptqunYpCIcRCpq3LgLuhYG5hiLPRbFQ==";
+        url = "https://registry.npmjs.org/iso-639-1/-/iso-639-1-2.1.7.tgz";
+        sha512 = "vPBh9Exxv0c430dRYiKtRt6TgErlsKy22Nkz473HFkzRkWTZeM7RLfX2raDoD7g74kA7HB4S2giwu6ZwiisQtg==";
       };
     };
     "isstream-0.1.2" = {
@@ -2740,13 +3019,13 @@ let
         sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
       };
     };
-    "js-yaml-3.14.0" = {
+    "js-yaml-3.14.1" = {
       name = "js-yaml";
       packageName = "js-yaml";
-      version = "3.14.0";
+      version = "3.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz";
-        sha512 = "/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==";
+        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz";
+        sha512 = "okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==";
       };
     };
     "jsbi-3.1.4" = {
@@ -2884,6 +3163,15 @@ let
         sha512 = "J9nVUucG1p/skKul6DU3PUZrhs0LPulNaeUOox0IyXDi8S4CztTHs1gQphhuZmzXG7VOQSf6NJfKuzteQLv9gQ==";
       };
     };
+    "kuler-2.0.0" = {
+      name = "kuler";
+      packageName = "kuler";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz";
+        sha512 = "Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==";
+      };
+    };
     "leven-2.1.0" = {
       name = "leven";
       packageName = "leven";
@@ -2947,31 +3235,13 @@ let
         sha512 = "gDBO4aHNZS6coiZCKVhSNh43F9ioIL4JwRjLZPkoLIY4yZFwg264Y5lu2x6rb1Js42Gh6Yqm2f6L2AJcnkzinQ==";
       };
     };
-    "localtunnel-2.0.0" = {
+    "localtunnel-2.0.1" = {
       name = "localtunnel";
       packageName = "localtunnel";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.0.tgz";
-        sha512 = "g6E0aLgYYDvQDxIjIXkgJo2+pHj3sGg4Wz/XP3h2KtZnRsWPbOQY+hw1H8Z91jep998fkcVE9l+kghO+97vllg==";
-      };
-    };
-    "locate-path-3.0.0" = {
-      name = "locate-path";
-      packageName = "locate-path";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz";
-        sha512 = "7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==";
-      };
-    };
-    "locate-path-5.0.0" = {
-      name = "locate-path";
-      packageName = "locate-path";
-      version = "5.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz";
-        sha512 = "t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==";
+        url = "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.1.tgz";
+        sha512 = "LiaI5wZdz0xFkIQpXbNI62ZnNn8IMsVhwxHmhA+h4vj8R9JG/07bQHWwQlyy7b95/5fVOCHJfIHv+a5XnkvaJA==";
       };
     };
     "lodash-4.17.20" = {
@@ -3109,6 +3379,15 @@ let
         sha1 = "370d1d3e85b72a7e1b0cdf2d272121306f23e4ed";
       };
     };
+    "logform-2.2.0" = {
+      name = "logform";
+      packageName = "logform";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/logform/-/logform-2.2.0.tgz";
+        sha512 = "N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg==";
+      };
+    };
     "long-4.0.0" = {
       name = "long";
       packageName = "long";
@@ -3163,13 +3442,13 @@ let
         sha512 = "Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==";
       };
     };
-    "lru-memoizer-2.1.2" = {
+    "lru-memoizer-2.1.4" = {
       name = "lru-memoizer";
       packageName = "lru-memoizer";
-      version = "2.1.2";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lru-memoizer/-/lru-memoizer-2.1.2.tgz";
-        sha512 = "N5L5xlnVcbIinNn/TJ17vHBZwBMt9t7aJDz2n97moWubjNl6VO9Ao2XuAGBBddkYdjrwR9HfzXbT6NfMZXAZ/A==";
+        url = "https://registry.npmjs.org/lru-memoizer/-/lru-memoizer-2.1.4.tgz";
+        sha512 = "IXAq50s4qwrOBrXJklY+KhgZF+5y98PDaNo0gi/v2KQBFLyWr+JyFvijZXkGKjQj/h9c0OwoE+JZbwUXce76hQ==";
       };
     };
     "mailparser-2.8.1" = {
@@ -3280,22 +3559,22 @@ let
         sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
       };
     };
-    "mime-db-1.44.0" = {
+    "mime-db-1.45.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.44.0";
+      version = "1.45.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz";
-        sha512 = "/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz";
+        sha512 = "CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==";
       };
     };
-    "mime-types-2.1.27" = {
+    "mime-types-2.1.28" = {
       name = "mime-types";
       packageName = "mime-types";
-      version = "2.1.27";
+      version = "2.1.28";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz";
-        sha512 = "JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz";
+        sha512 = "0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==";
       };
     };
     "mimic-fn-2.1.0" = {
@@ -3307,6 +3586,15 @@ let
         sha512 = "OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==";
       };
     };
+    "minimalistic-assert-1.0.1" = {
+      name = "minimalistic-assert";
+      packageName = "minimalistic-assert";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz";
+        sha512 = "UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==";
+      };
+    };
     "minimatch-3.0.4" = {
       name = "minimatch";
       packageName = "minimatch";
@@ -3406,13 +3694,13 @@ let
         sha512 = "Iv893r+jWlo5GkNcPOfCGwW8M49IixwHiKLFFYTociEymSibUVCORVEjPXWPGzSxhn7BdlUeHicbRmWiv0Crkg==";
       };
     };
-    "mqtt-packet-6.6.0" = {
+    "mqtt-packet-6.7.0" = {
       name = "mqtt-packet";
       packageName = "mqtt-packet";
-      version = "6.6.0";
+      version = "6.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-6.6.0.tgz";
-        sha512 = "LvghnKMFC70hKWMVykmhJarlO5e7lT3t9s9A2qPCUx+lazL3Mq55U+eCV0eLi7/nRRQYvEUWo/2tTo89EjnCJQ==";
+        url = "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-6.7.0.tgz";
+        sha512 = "GzgeeCirQpB59FyhHvf8BLiIYgxctPSxuSyaF2vWnkt7paX7jtuQ8Gpl+DkHCxZmYuv7GQE6zcUAegpafd0MqQ==";
       };
     };
     "ms-2.0.0" = {
@@ -3442,13 +3730,13 @@ let
         sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
       };
     };
-    "mssql-6.2.3" = {
+    "mssql-6.3.1" = {
       name = "mssql";
       packageName = "mssql";
-      version = "6.2.3";
+      version = "6.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mssql/-/mssql-6.2.3.tgz";
-        sha512 = "4TW/fA9UgzmVTNgjl65r6ISr6aL5QHnlptEt1A3jIpdzkNbFPIkRbUNz90324HIdE+5pKc3VqikOImcTrhd4og==";
+        url = "https://registry.npmjs.org/mssql/-/mssql-6.3.1.tgz";
+        sha512 = "ammxrhbdDpcBWhiZLiy6miiU7ELt9qFbGvwmPbiufn+tBHAYUFR/AgwE4/v4jzPzbatowscmhFx1U61L91uVzQ==";
       };
     };
     "mute-stream-0.0.8" = {
@@ -3478,40 +3766,40 @@ let
         sha512 = "z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==";
       };
     };
-    "n8n-core-0.54.0" = {
+    "n8n-core-0.62.0" = {
       name = "n8n-core";
       packageName = "n8n-core";
-      version = "0.54.0";
+      version = "0.62.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.54.0.tgz";
-        sha512 = "07Fts2MSm5acbsFPEVU7RXx38K5ryGVy6OE1g+Nbr8B0LuQiTEhCzC7x+AIfFDQlt/cQQEiPejaBGDZZm0kdpA==";
+        url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.62.0.tgz";
+        sha512 = "07RkPn6V5dCov3yt5zu5ASq2ibflji+dSGrSk7wnVrklGPBieuUjpZQuA7QrfQyjy5JUNDDp/Js+XGO8Vx3tew==";
       };
     };
-    "n8n-editor-ui-0.66.0" = {
+    "n8n-editor-ui-0.75.0" = {
       name = "n8n-editor-ui";
       packageName = "n8n-editor-ui";
-      version = "0.66.0";
+      version = "0.75.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.66.0.tgz";
-        sha512 = "BZTaiYffZ2+dbPOp0JjV+pZ4S7iD7r2oYTylwFbNRpEbIc4a0l8JbU0HRqHESdPR3yYDdUTmVXqk1fWfc8IgYw==";
+        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.75.0.tgz";
+        sha512 = "YWwiqGwTXxpuXjVB5d9qnjxoz55um27zwEfoXS63mNTDfDdIeuxHKQCY2pMWIjwXeYnx0x31NDhoSfjb8YRffA==";
       };
     };
-    "n8n-nodes-base-0.91.0" = {
+    "n8n-nodes-base-0.102.0" = {
       name = "n8n-nodes-base";
       packageName = "n8n-nodes-base";
-      version = "0.91.0";
+      version = "0.102.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.91.0.tgz";
-        sha512 = "75DVfQS/AkZBB6lIAAWHhM4wRkhHXCNf/30Fi0Cc+cihw7GW3O4bdXNhZKFwDTf70DYNATM0kBBEbSHvQusuCw==";
+        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.102.0.tgz";
+        sha512 = "WDUh2c0qCNDf2c8ZwkA/9RrkU/64A364P2t3wE1c66a8E/n/QJyiLnd4BJAu96cdcm+n2A0DwO9+gX1F50EU5A==";
       };
     };
-    "n8n-workflow-0.47.0" = {
+    "n8n-workflow-0.51.0" = {
       name = "n8n-workflow";
       packageName = "n8n-workflow";
-      version = "0.47.0";
+      version = "0.51.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.47.0.tgz";
-        sha512 = "1CbSOvVSf1KNM5izOEVsuMMEkuwiqezVH4hWS1Ts7pSdgSi8TrFCi4CE1J8qA0KBmWq5APh3vEJGFyvkLX6BOg==";
+        url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.51.0.tgz";
+        sha512 = "KLjbJ10QhXc7clzmVRO60mftzZTeYR/MSC/RSobJBCzYGbAtnEp38YDg6a3ekznlwd6eIyTcD68xmv4EbSb2dQ==";
       };
     };
     "named-placeholders-1.1.2" = {
@@ -3541,13 +3829,13 @@ let
         sha1 = "7899078e64bf3c8a3d732601b3d40ff05db58fa0";
       };
     };
-    "needle-2.5.2" = {
+    "needle-2.6.0" = {
       name = "needle";
       packageName = "needle";
-      version = "2.5.2";
+      version = "2.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/needle/-/needle-2.5.2.tgz";
-        sha512 = "LbRIwS9BfkPvNwNHlsA41Q29kL2L/6VaOJ0qisM5lLWsTV3nP15abO5ITL6L81zqFhzjRKDAYjpcBcwM0AVvLQ==";
+        url = "https://registry.npmjs.org/needle/-/needle-2.6.0.tgz";
+        sha512 = "KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg==";
       };
     };
     "negotiator-0.6.2" = {
@@ -3613,13 +3901,13 @@ let
         sha512 = "BVZBDi+aJV4O38rxsUh164Dk1NCqgh6Cm0rQSb9SK/DHGll/DrCMnycVDD7msJgZCnmVa8ASo8EZzR7jsgTukQ==";
       };
     };
-    "nodemailer-6.4.16" = {
+    "nodemailer-6.4.17" = {
       name = "nodemailer";
       packageName = "nodemailer";
-      version = "6.4.16";
+      version = "6.4.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nodemailer/-/nodemailer-6.4.16.tgz";
-        sha512 = "68K0LgZ6hmZ7PVmwL78gzNdjpj5viqBdFqKrTtr9bZbJYj6BRj5W6WGkxXrEnUl3Co3CBXi3CZBUlpV/foGnOQ==";
+        url = "https://registry.npmjs.org/nodemailer/-/nodemailer-6.4.17.tgz";
+        sha512 = "89ps+SBGpo0D4Bi5ZrxcrCiRFaMmkCt+gItMXQGzEtZVR3uAD3QAQIDoxTWnx3ky0Dwwy/dhFrQ+6NNGXpw/qQ==";
       };
     };
     "nopt-4.0.3" = {
@@ -3667,13 +3955,13 @@ let
         sha512 = "2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==";
       };
     };
-    "nth-check-1.0.2" = {
+    "nth-check-2.0.0" = {
       name = "nth-check";
       packageName = "nth-check";
-      version = "1.0.2";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz";
-        sha512 = "WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==";
+        url = "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz";
+        sha512 = "i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==";
       };
     };
     "number-is-nan-1.0.1" = {
@@ -3712,6 +4000,15 @@ let
         sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
       };
     };
+    "ocsp-1.2.0" = {
+      name = "ocsp";
+      packageName = "ocsp";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ocsp/-/ocsp-1.2.0.tgz";
+        sha1 = "469a1776b457dee67eb0201408c1946bac4076cc";
+      };
+    };
     "on-finished-2.3.0" = {
       name = "on-finished";
       packageName = "on-finished";
@@ -3739,6 +4036,15 @@ let
         sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
       };
     };
+    "one-time-1.0.0" = {
+      name = "one-time";
+      packageName = "one-time";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz";
+        sha512 = "5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==";
+      };
+    };
     "onetime-5.1.2" = {
       name = "onetime";
       packageName = "onetime";
@@ -3748,13 +4054,13 @@ let
         sha512 = "kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==";
       };
     };
-    "open-7.3.0" = {
+    "open-7.4.0" = {
       name = "open";
       packageName = "open";
-      version = "7.3.0";
+      version = "7.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/open/-/open-7.3.0.tgz";
-        sha512 = "mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw==";
+        url = "https://registry.npmjs.org/open/-/open-7.4.0.tgz";
+        sha512 = "PGoBCX/lclIWlpS/R2PQuIR4NJoXh6X5AwVzE7WXnWRGvHg7+4TBCgsujUgiPpm0K1y4qvQeWnCWVTpTKZBtvA==";
       };
     };
     "openurl-1.1.1" = {
@@ -3820,42 +4126,6 @@ let
         sha512 = "wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==";
       };
     };
-    "p-limit-2.3.0" = {
-      name = "p-limit";
-      packageName = "p-limit";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz";
-        sha512 = "//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==";
-      };
-    };
-    "p-locate-3.0.0" = {
-      name = "p-locate";
-      packageName = "p-locate";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz";
-        sha512 = "x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==";
-      };
-    };
-    "p-locate-4.1.0" = {
-      name = "p-locate";
-      packageName = "p-locate";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz";
-        sha512 = "R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==";
-      };
-    };
-    "p-try-2.2.0" = {
-      name = "p-try";
-      packageName = "p-try";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz";
-        sha512 = "R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==";
-      };
-    };
     "packet-reader-1.0.0" = {
       name = "packet-reader";
       packageName = "packet-reader";
@@ -3883,15 +4153,6 @@ let
         sha1 = "746a167638083a860b0eef6732cb27ed46c32977";
       };
     };
-    "parse5-3.0.3" = {
-      name = "parse5";
-      packageName = "parse5";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz";
-        sha512 = "rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==";
-      };
-    };
     "parse5-5.1.1" = {
       name = "parse5";
       packageName = "parse5";
@@ -3955,24 +4216,6 @@ let
         sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0";
       };
     };
-    "path-exists-3.0.0" = {
-      name = "path-exists";
-      packageName = "path-exists";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz";
-        sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
-      };
-    };
-    "path-exists-4.0.0" = {
-      name = "path-exists";
-      packageName = "path-exists";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz";
-        sha512 = "ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==";
-      };
-    };
     "path-is-absolute-1.0.1" = {
       name = "path-is-absolute";
       packageName = "path-is-absolute";
@@ -4009,13 +4252,13 @@ let
         sha512 = "v6ZJ/efsBpGrGGknjtq9J/oC8tZWq0KWL5vQrk2GlzLEQPUDB1ex+13Rmidl1neNN358Jn9EHZw5y07FFtaC7A==";
       };
     };
-    "peek-readable-3.1.0" = {
+    "peek-readable-3.1.3" = {
       name = "peek-readable";
       packageName = "peek-readable";
-      version = "3.1.0";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/peek-readable/-/peek-readable-3.1.0.tgz";
-        sha512 = "KGuODSTV6hcgdZvDrIDBUkN0utcAVj1LL7FfGbM0viKTtCHmtZcuEJ+lGqsp0fTFkGqesdtemV2yUSMeyy3ddA==";
+        url = "https://registry.npmjs.org/peek-readable/-/peek-readable-3.1.3.tgz";
+        sha512 = "mpAcysyRJxmICBcBa5IXH7SZPvWkcghm6Fk8RekoS3v+BpbSzlZzuWbMx+GXrlUwESi9qHar4nVEZNMKylIHvg==";
       };
     };
     "performance-now-2.1.0" = {
@@ -4054,13 +4297,13 @@ let
         sha512 = "WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==";
       };
     };
-    "pg-minify-1.6.1" = {
+    "pg-minify-1.6.2" = {
       name = "pg-minify";
       packageName = "pg-minify";
-      version = "1.6.1";
+      version = "1.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg-minify/-/pg-minify-1.6.1.tgz";
-        sha512 = "ujanxJJB9CSDUvlAOshtjdKAywOPR2vY0a7D+vvgk5rbrYcthZA7TjpN+Z+UwZsz/G/bUexYDT6huE33vYVN0g==";
+        url = "https://registry.npmjs.org/pg-minify/-/pg-minify-1.6.2.tgz";
+        sha512 = "1KdmFGGTP6jplJoI8MfvRlfvMiyBivMRP7/ffh4a11RUFJ7kC2J0ZHlipoKiH/1hz+DVgceon9U2qbaHpPeyPg==";
       };
     };
     "pg-pool-3.2.2" = {
@@ -4072,13 +4315,13 @@ let
         sha512 = "ORJoFxAlmmros8igi608iVEbQNNZlp89diFVx6yV5v+ehmpMY9sK6QgpmgoXbmkNaBAx8cOOZh9g80kJv1ooyA==";
       };
     };
-    "pg-promise-10.8.1" = {
+    "pg-promise-10.9.2" = {
       name = "pg-promise";
       packageName = "pg-promise";
-      version = "10.8.1";
+      version = "10.9.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg-promise/-/pg-promise-10.8.1.tgz";
-        sha512 = "xRW3PBopAAPlSmOutfpxwrd0i1wfiVoJjkRC2xYzwk0PwWGLEOVKoDEHX4VoqjfIJ+SEEiILy5B5nUVvXpFFVA==";
+        url = "https://registry.npmjs.org/pg-promise/-/pg-promise-10.9.2.tgz";
+        sha512 = "ewelfzZeSPe5sbgd5ylB6edVXqoD8AH/fqZj4wPLL0242vXtkFY3JuUqt3mfvTruOqZHhoINpoXTfmC9UXbZ7A==";
       };
     };
     "pg-protocol-1.4.0" = {
@@ -4153,13 +4396,13 @@ let
         sha512 = "XCpzVjVk7tty+IJnSdqWevmOr1n8HNDhL86v7mZ6T1JIIf2KGybxUk9mm7ZFOhWMkGB0e8XkacHip7BV8AQWQA==";
       };
     };
-    "popsicle-transport-http-1.0.9" = {
+    "popsicle-transport-http-1.1.1" = {
       name = "popsicle-transport-http";
       packageName = "popsicle-transport-http";
-      version = "1.0.9";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/popsicle-transport-http/-/popsicle-transport-http-1.0.9.tgz";
-        sha512 = "55Os0JdCs35FI8cAsgMoKG6XXKR4Wh8qZIbL3rY5+IZqqjMIo3/3q3wSE98mUhHyLgjg9HQ6ep5wNfhbYCI7GQ==";
+        url = "https://registry.npmjs.org/popsicle-transport-http/-/popsicle-transport-http-1.1.1.tgz";
+        sha512 = "RNbifrl5ckXLk1X6YGhjDb0gL5yAH1nvultmboiVGLTnWDbwaoxhEP8He9epMFOPuSDuNJ//TMRoN+XfpN0KCw==";
       };
     };
     "popsicle-transport-xhr-2.0.0" = {
@@ -4522,6 +4765,15 @@ let
         sha512 = "wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==";
       };
     };
+    "requestretry-4.1.2" = {
+      name = "requestretry";
+      packageName = "requestretry";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/requestretry/-/requestretry-4.1.2.tgz";
+        sha512 = "N1WAp+8eOy8NfsVBChcSxNCKvPY1azOpliQ4Sby4WDe0HFEhdKywlNZeROMBQ+BI3Jpc0eNOT1KVFGREawtahA==";
+      };
+    };
     "require-directory-2.1.1" = {
       name = "require-directory";
       packageName = "require-directory";
@@ -4531,15 +4783,6 @@ let
         sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
       };
     };
-    "require-main-filename-2.0.0" = {
-      name = "require-main-filename";
-      packageName = "require-main-filename";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz";
-        sha512 = "NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==";
-      };
-    };
     "require_optional-1.0.1" = {
       name = "require_optional";
       packageName = "require_optional";
@@ -4639,13 +4882,13 @@ let
         sha1 = "f33fe9cfb52bbfd520aa18323bc65db110a1b76c";
       };
     };
-    "rss-parser-3.9.0" = {
+    "rss-parser-3.10.0" = {
       name = "rss-parser";
       packageName = "rss-parser";
-      version = "3.9.0";
+      version = "3.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rss-parser/-/rss-parser-3.9.0.tgz";
-        sha512 = "wlRSfGrotOXuWo19Dtl2KmQt7o9i5zzCExUrxpechE0O54BAx7JD+xhWyGumPPqiJj771ndflV3sE3bTHen0HQ==";
+        url = "https://registry.npmjs.org/rss-parser/-/rss-parser-3.10.0.tgz";
+        sha512 = "TC6FNvEmdFeaW6r/60MSJT7cp4d95X4M9As+mvNtxRx7YXHxpV95syMnWZthZSeD1BRN7SEKdq6c3nxMLQRopw==";
       };
     };
     "run-async-2.4.1" = {
@@ -4720,6 +4963,15 @@ let
         sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==";
       };
     };
+    "semver-5.0.3" = {
+      name = "semver";
+      packageName = "semver";
+      version = "5.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz";
+        sha1 = "77466de589cd5d3c95f138aa78bc569a3cb5d27a";
+      };
+    };
     "semver-5.3.0" = {
       name = "semver";
       packageName = "semver";
@@ -4837,6 +5089,15 @@ let
         sha512 = "VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==";
       };
     };
+    "simple-lru-cache-0.0.2" = {
+      name = "simple-lru-cache";
+      packageName = "simple-lru-cache";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/simple-lru-cache/-/simple-lru-cache-0.0.2.tgz";
+        sha1 = "d59cc3a193c1a5d0320f84ee732f6e4713e511dd";
+      };
+    };
     "simple-swizzle-0.2.2" = {
       name = "simple-swizzle";
       packageName = "simple-swizzle";
@@ -4864,6 +5125,15 @@ let
         sha512 = "LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==";
       };
     };
+    "snowflake-sdk-1.5.3" = {
+      name = "snowflake-sdk";
+      packageName = "snowflake-sdk";
+      version = "1.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/snowflake-sdk/-/snowflake-sdk-1.5.3.tgz";
+        sha512 = "Env7ebuWyaPWLIsGbFf/AH8IdeSCshAfHg9cH6F9AHAG0uwtJEO4XPdNeOkxyV/xjykx69s1L4mHWwPksgj8VA==";
+      };
+    };
     "sparse-bitfield-3.0.3" = {
       name = "sparse-bitfield";
       packageName = "sparse-bitfield";
@@ -4873,13 +5143,13 @@ let
         sha1 = "ff4ae6e68656056ba4b3e792ab3334d38273ca11";
       };
     };
-    "spex-3.0.2" = {
+    "spex-3.2.0" = {
       name = "spex";
       packageName = "spex";
-      version = "3.0.2";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/spex/-/spex-3.0.2.tgz";
-        sha512 = "ZNCrOso+oNv5P01HCO4wuxV9Og5rS6ms7gGAqugfBPjx1QwfNXJI3T02ldfaap1O0dlT1sB0Rk+mhDqxt3Z27w==";
+        url = "https://registry.npmjs.org/spex/-/spex-3.2.0.tgz";
+        sha512 = "9srjJM7NaymrpwMHvSmpDeIK5GoRMX/Tq0E8aOlDPS54dDnDUIp30DrP9SphMPEETDLzEM9+4qo+KipmbtPecg==";
       };
     };
     "split2-3.2.2" = {
@@ -4981,6 +5251,15 @@ let
         sha512 = "HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==";
       };
     };
+    "stack-trace-0.0.10" = {
+      name = "stack-trace";
+      packageName = "stack-trace";
+      version = "0.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz";
+        sha1 = "547c70b347e8d32b4e108ea1a2a159e5fdde19c0";
+      };
+    };
     "statuses-1.5.0" = {
       name = "statuses";
       packageName = "statuses";
@@ -5035,15 +5314,6 @@ let
         sha512 = "nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==";
       };
     };
-    "string-width-3.1.0" = {
-      name = "string-width";
-      packageName = "string-width";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz";
-        sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==";
-      };
-    };
     "string-width-4.2.0" = {
       name = "string-width";
       packageName = "string-width";
@@ -5071,6 +5341,15 @@ let
         sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==";
       };
     };
+    "string_decoder-1.3.0" = {
+      name = "string_decoder";
+      packageName = "string_decoder";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz";
+        sha512 = "hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==";
+      };
+    };
     "strip-ansi-3.0.1" = {
       name = "strip-ansi";
       packageName = "strip-ansi";
@@ -5089,15 +5368,6 @@ let
         sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
       };
     };
-    "strip-ansi-5.2.0" = {
-      name = "strip-ansi";
-      packageName = "strip-ansi";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz";
-        sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==";
-      };
-    };
     "strip-ansi-6.0.0" = {
       name = "strip-ansi";
       packageName = "strip-ansi";
@@ -5116,13 +5386,13 @@ let
         sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a";
       };
     };
-    "strtok3-6.0.4" = {
+    "strtok3-6.0.8" = {
       name = "strtok3";
       packageName = "strtok3";
-      version = "6.0.4";
+      version = "6.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/strtok3/-/strtok3-6.0.4.tgz";
-        sha512 = "rqWMKwsbN9APU47bQTMEYTPcwdpKDtmf1jVhHzNW2cL1WqAxaM9iBb9t5P2fj+RV2YsErUWgQzHD5JwV0uCTEQ==";
+        url = "https://registry.npmjs.org/strtok3/-/strtok3-6.0.8.tgz";
+        sha512 = "QLgv+oiXwXgCgp2PdPPa+Jpp4D9imK9e/0BsyfeFMr6QL6wMVqoVn9+OXQ9I7MZbmUzN6lmitTJ09uwS2OmGcw==";
       };
     };
     "supports-color-2.0.0" = {
@@ -5305,13 +5575,13 @@ let
         sha512 = "yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==";
       };
     };
-    "token-types-2.0.0" = {
+    "token-types-2.1.1" = {
       name = "token-types";
       packageName = "token-types";
-      version = "2.0.0";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/token-types/-/token-types-2.0.0.tgz";
-        sha512 = "WWvu8sGK8/ZmGusekZJJ5NM6rRVTTDO7/bahz4NGiSDb/XsmdYBn6a1N/bymUHuWYTWeuLUg98wUzvE4jPdCZw==";
+        url = "https://registry.npmjs.org/token-types/-/token-types-2.1.1.tgz";
+        sha512 = "wnQcqlreS6VjthyHO3Y/kpK/emflxDBNhlNUPfh7wE39KnuDdOituXomIbyI79vBtF0Ninpkh72mcuRHo+RG3Q==";
       };
     };
     "tough-cookie-2.5.0" = {
@@ -5332,6 +5602,15 @@ let
         sha512 = "yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==";
       };
     };
+    "triple-beam-1.3.0" = {
+      name = "triple-beam";
+      packageName = "triple-beam";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz";
+        sha512 = "XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==";
+      };
+    };
     "ts-expect-1.1.0" = {
       name = "ts-expect";
       packageName = "ts-expect";
@@ -5359,13 +5638,13 @@ let
         sha512 = "Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==";
       };
     };
-    "tslib-2.0.3" = {
+    "tslib-2.1.0" = {
       name = "tslib";
       packageName = "tslib";
-      version = "2.0.3";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz";
-        sha512 = "uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==";
+        url = "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz";
+        sha512 = "hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==";
       };
     };
     "tsscmp-1.0.6" = {
@@ -5458,13 +5737,13 @@ let
         sha512 = "zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==";
       };
     };
-    "typeorm-0.2.29" = {
+    "typeorm-0.2.30" = {
       name = "typeorm";
       packageName = "typeorm";
-      version = "0.2.29";
+      version = "0.2.30";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typeorm/-/typeorm-0.2.29.tgz";
-        sha512 = "ih1vrTe3gEAGKRcWlcsTRxTL7gNjacQE498wVGuJ3ZRujtMqPZlbAWuC7xDzWCRjQnkZYNwZQeG9UgKfxSHB5g==";
+        url = "https://registry.npmjs.org/typeorm/-/typeorm-0.2.30.tgz";
+        sha512 = "qpr8AO3Phi6ZF7qMHOrRdNisVt8jE1KfmW0ooLFcXscA87aJ12aBPyB9cJfxGNjNwd7B3WIK9ZlBveWiqd74QA==";
       };
     };
     "uc.micro-1.0.6" = {
@@ -5548,13 +5827,13 @@ let
         sha512 = "514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==";
       };
     };
-    "uri-js-4.4.0" = {
+    "uri-js-4.4.1" = {
       name = "uri-js";
       packageName = "uri-js";
-      version = "4.4.0";
+      version = "4.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz";
-        sha512 = "B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==";
+        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz";
+        sha512 = "7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==";
       };
     };
     "url-parse-1.4.7" = {
@@ -5656,6 +5935,15 @@ let
         sha512 = "nzyFmHdy2FMg7mYraRytc2jr4QBaUY3TEGe3q3bK8EgS9WC98wxn2jrPxS/ruWm+JGzrEIIeufKweQzVoQEd+Q==";
       };
     };
+    "when-3.7.8" = {
+      name = "when";
+      packageName = "when";
+      version = "3.7.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/when/-/when-3.7.8.tgz";
+        sha1 = "c7130b6a7ea04693e842cdc9e7a1f2aa39a39f82";
+      };
+    };
     "which-1.3.1" = {
       name = "which";
       packageName = "which";
@@ -5665,15 +5953,6 @@ let
         sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==";
       };
     };
-    "which-module-2.0.0" = {
-      name = "which-module";
-      packageName = "which-module";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz";
-        sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
-      };
-    };
     "wide-align-1.1.3" = {
       name = "wide-align";
       packageName = "wide-align";
@@ -5692,6 +5971,24 @@ let
         sha512 = "NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==";
       };
     };
+    "winston-3.3.3" = {
+      name = "winston";
+      packageName = "winston";
+      version = "3.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz";
+        sha512 = "oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==";
+      };
+    };
+    "winston-transport-4.4.0" = {
+      name = "winston-transport";
+      packageName = "winston-transport";
+      version = "4.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz";
+        sha512 = "Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==";
+      };
+    };
     "wmf-1.0.2" = {
       name = "wmf";
       packageName = "wmf";
@@ -5719,24 +6016,6 @@ let
         sha512 = "uMTsj9rDb0/7kk1PbcbCcwvHUxp60fGDB/NNXpVa0Q+ic/e7y5+BwTxKfQ33VYgDppSwi/FBzpetYzo8s6tfbg==";
       };
     };
-    "wrap-ansi-5.1.0" = {
-      name = "wrap-ansi";
-      packageName = "wrap-ansi";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz";
-        sha512 = "QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==";
-      };
-    };
-    "wrap-ansi-6.2.0" = {
-      name = "wrap-ansi";
-      packageName = "wrap-ansi";
-      version = "6.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz";
-        sha512 = "r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==";
-      };
-    };
     "wrap-ansi-7.0.0" = {
       name = "wrap-ansi";
       packageName = "wrap-ansi";
@@ -5755,13 +6034,13 @@ let
         sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
       };
     };
-    "ws-7.4.1" = {
+    "ws-7.4.2" = {
       name = "ws";
       packageName = "ws";
-      version = "7.4.1";
+      version = "7.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz";
-        sha512 = "pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ==";
+        url = "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz";
+        sha512 = "T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==";
       };
     };
     "xlsx-0.16.9" = {
@@ -5827,15 +6106,6 @@ let
         sha512 = "LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==";
       };
     };
-    "y18n-4.0.1" = {
-      name = "y18n";
-      packageName = "y18n";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz";
-        sha512 = "wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==";
-      };
-    };
     "y18n-5.0.5" = {
       name = "y18n";
       packageName = "y18n";
@@ -5881,31 +6151,13 @@ let
         sha512 = "rHgFmbgXAAzl+1nngqOcwEljqHGG9uUZoPjsdZEs1w5JW9RXYzrSvH/u70C1JE5qFi0qjsdhnUX/dJRpWqitSA==";
       };
     };
-    "yargs-13.3.0" = {
-      name = "yargs";
-      packageName = "yargs";
-      version = "13.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz";
-        sha512 = "2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==";
-      };
-    };
-    "yargs-15.4.1" = {
+    "yargs-16.2.0" = {
       name = "yargs";
       packageName = "yargs";
-      version = "15.4.1";
+      version = "16.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz";
-        sha512 = "aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==";
-      };
-    };
-    "yargs-16.1.1" = {
-      name = "yargs";
-      packageName = "yargs";
-      version = "16.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-16.1.1.tgz";
-        sha512 = "hAD1RcFP/wfgfxgMVswPE+z3tlPFtxG8/yWUrG2i17sTWGCGqWnxKcLTF4cUKDUK8fzokwsmO9H0TDkRbMHy8w==";
+        url = "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz";
+        sha512 = "D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==";
       };
     };
     "yargs-parser-13.0.0" = {
@@ -5917,24 +6169,6 @@ let
         sha512 = "w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==";
       };
     };
-    "yargs-parser-13.1.2" = {
-      name = "yargs-parser";
-      packageName = "yargs-parser";
-      version = "13.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz";
-        sha512 = "3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==";
-      };
-    };
-    "yargs-parser-18.1.3" = {
-      name = "yargs-parser";
-      packageName = "yargs-parser";
-      version = "18.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz";
-        sha512 = "o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==";
-      };
-    };
     "yargs-parser-20.2.4" = {
       name = "yargs-parser";
       packageName = "yargs-parser";
@@ -5950,33 +6184,30 @@ in
   n8n = nodeEnv.buildNodePackage {
     name = "n8n";
     packageName = "n8n";
-    version = "0.96.0";
+    version = "0.105.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/n8n/-/n8n-0.96.0.tgz";
-      sha512 = "HllfTHaD5g98YeGRsGQEeOg1WUUxQr5jnYEWD1qjIWkTVYqVrtEWaEdOxDxnko3Fw7sh2XqtWk1HZHNCRSTQuA==";
+      url = "https://registry.npmjs.org/n8n/-/n8n-0.105.0.tgz";
+      sha512 = "Ry4JODQbj5vLsen5RTAyQdwstYFZ6KaMZhNzsnSQIm2qwzW+HS7hOm8r44WHzNrc5sMFHCPful2waMis8g81pA==";
     };
     dependencies = [
       sources."@azure/ms-rest-azure-env-1.1.2"
-      (sources."@azure/ms-rest-js-1.9.0" // {
+      (sources."@azure/ms-rest-js-1.9.1" // {
         dependencies = [
+          sources."axios-0.21.1"
+          sources."follow-redirects-1.13.2"
           sources."tough-cookie-2.5.0"
         ];
       })
       sources."@azure/ms-rest-nodeauth-2.0.2"
-      (sources."@icetee/ftp-0.3.15" // {
-        dependencies = [
-          sources."isarray-0.0.1"
-          sources."readable-stream-1.1.14"
-          sources."string_decoder-0.10.31"
-        ];
-      })
-      sources."@nodelib/fs.scandir-2.1.3"
-      sources."@nodelib/fs.stat-2.0.3"
-      sources."@nodelib/fs.walk-1.2.4"
+      sources."@dabh/diagnostics-2.0.2"
+      sources."@icetee/ftp-0.3.15"
+      sources."@nodelib/fs.scandir-2.1.4"
+      sources."@nodelib/fs.stat-2.0.4"
+      sources."@nodelib/fs.walk-1.2.6"
       sources."@oclif/command-1.8.0"
       (sources."@oclif/config-1.17.0" // {
         dependencies = [
-          sources."tslib-2.0.3"
+          sources."tslib-2.1.0"
         ];
       })
       (sources."@oclif/errors-1.3.4" // {
@@ -5989,30 +6220,31 @@ in
       })
       sources."@oclif/linewrap-1.0.0"
       sources."@oclif/parser-3.8.5"
-      sources."@oclif/plugin-help-3.2.0"
+      sources."@oclif/plugin-help-3.2.1"
       sources."@servie/events-1.0.0"
       sources."@sqltools/formatter-1.2.2"
       sources."@tokenizer/token-0.1.1"
       sources."@types/bluebird-3.5.33"
       sources."@types/body-parser-1.19.0"
-      sources."@types/connect-3.4.33"
+      sources."@types/connect-3.4.34"
       sources."@types/debug-4.1.5"
-      sources."@types/express-4.17.9"
+      sources."@types/express-4.17.11"
       sources."@types/express-jwt-0.0.42"
-      sources."@types/express-serve-static-core-4.17.14"
+      sources."@types/express-serve-static-core-4.17.18"
       sources."@types/express-unless-0.5.1"
       sources."@types/ftp-0.3.31"
       sources."@types/glob-7.1.3"
       sources."@types/jsonwebtoken-8.5.0"
-      sources."@types/mime-2.0.3"
+      sources."@types/mime-1.3.2"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-14.14.10"
+      sources."@types/node-14.14.22"
       sources."@types/promise-ftp-1.3.4"
       sources."@types/promise-ftp-common-1.1.0"
       sources."@types/qs-6.9.5"
       sources."@types/range-parser-1.2.3"
       sources."@types/readable-stream-2.3.9"
-      sources."@types/serve-static-1.13.8"
+      sources."@types/serve-static-1.13.9"
+      sources."@types/snowflake-sdk-1.5.1"
       sources."@types/tough-cookie-2.3.7"
       sources."@types/tunnel-0.0.0"
       sources."abbrev-1.1.1"
@@ -6024,7 +6256,13 @@ in
         ];
       })
       sources."adler-32-1.2.0"
+      (sources."agent-base-2.1.1" // {
+        dependencies = [
+          sources."semver-5.0.3"
+        ];
+      })
       sources."ajv-6.12.6"
+      sources."amqplib-0.6.0"
       sources."ansi-escapes-4.3.1"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-3.2.1"
@@ -6032,7 +6270,13 @@ in
       sources."any-promise-1.3.0"
       sources."app-root-path-3.0.0"
       sources."aproba-1.2.0"
-      sources."are-we-there-yet-1.1.5"
+      (sources."are-we-there-yet-1.1.5" // {
+        dependencies = [
+          sources."isarray-1.0.0"
+          sources."readable-stream-2.3.7"
+          sources."string_decoder-1.1.1"
+        ];
+      })
       (sources."argparse-1.0.10" // {
         dependencies = [
           sources."sprintf-js-1.0.3"
@@ -6043,7 +6287,10 @@ in
       sources."array-series-0.1.5"
       sources."array-union-2.1.0"
       sources."asn1-0.2.4"
-      sources."assert-options-0.6.2"
+      sources."asn1.js-5.4.1"
+      sources."asn1.js-rfc2560-5.0.1"
+      sources."asn1.js-rfc5280-3.0.0"
+      sources."assert-options-0.7.0"
       sources."assert-plus-1.0.0"
       sources."async-3.2.0"
       sources."asynckit-0.4.0"
@@ -6055,8 +6302,23 @@ in
       sources."basic-auth-2.0.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."bcryptjs-2.4.3"
-      sources."bl-2.2.1"
-      sources."bluebird-2.11.0"
+      sources."big-integer-1.6.48"
+      sources."bignumber.js-2.4.0"
+      (sources."bitsyntax-0.1.0" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."ms-2.0.0"
+        ];
+      })
+      (sources."bl-2.2.1" // {
+        dependencies = [
+          sources."isarray-1.0.0"
+          sources."readable-stream-2.3.7"
+          sources."string_decoder-1.1.1"
+        ];
+      })
+      sources."bluebird-3.7.2"
+      sources."bn.js-4.11.9"
       (sources."body-parser-1.19.0" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -6067,23 +6329,26 @@ in
       sources."boolbase-1.0.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
+      sources."browser-request-0.3.3"
       sources."bson-1.1.5"
       sources."buffer-5.7.1"
       sources."buffer-equal-constant-time-1.0.1"
       sources."buffer-from-1.1.1"
+      sources."buffer-more-ints-1.0.0"
       sources."buffer-writer-2.0.0"
       sources."byte-length-1.0.2"
       sources."bytes-3.1.0"
+      sources."cacheable-lookup-5.0.4"
       sources."callback-stream-1.1.0"
       (sources."camel-case-4.1.2" // {
         dependencies = [
-          sources."tslib-2.0.3"
+          sources."tslib-2.1.0"
         ];
       })
       sources."camelcase-5.3.1"
       (sources."capital-case-1.0.4" // {
         dependencies = [
-          sources."tslib-2.0.3"
+          sources."tslib-2.1.0"
         ];
       })
       sources."cardinal-2.1.1"
@@ -6092,11 +6357,12 @@ in
       sources."chalk-2.4.2"
       (sources."change-case-4.1.2" // {
         dependencies = [
-          sources."tslib-2.0.3"
+          sources."tslib-2.1.0"
         ];
       })
       sources."chardet-0.7.0"
-      sources."cheerio-1.0.0-rc.3"
+      sources."cheerio-1.0.0-rc.5"
+      sources."cheerio-select-tmp-0.1.1"
       sources."chownr-1.1.4"
       (sources."clean-stack-3.0.1" // {
         dependencies = [
@@ -6104,23 +6370,15 @@ in
         ];
       })
       sources."cli-cursor-3.1.0"
-      (sources."cli-highlight-2.1.9" // {
+      (sources."cli-highlight-2.1.10" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.0"
-          sources."cliui-6.0.0"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
-          sources."find-up-4.1.0"
           sources."has-flag-4.0.0"
-          sources."locate-path-5.0.0"
-          sources."p-locate-4.1.0"
           sources."parse5-5.1.1"
-          sources."path-exists-4.0.0"
           sources."supports-color-7.2.0"
-          sources."wrap-ansi-6.2.0"
-          sources."yargs-15.4.1"
-          sources."yargs-parser-18.1.3"
         ];
       })
       sources."cli-width-3.0.0"
@@ -6129,14 +6387,12 @@ in
           sources."safe-buffer-5.2.1"
         ];
       })
-      (sources."cliui-5.0.0" // {
+      (sources."cliui-7.0.4" // {
         dependencies = [
-          sources."ansi-regex-4.1.0"
-          sources."emoji-regex-7.0.3"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."string-width-3.1.0"
-          sources."strip-ansi-5.2.0"
-          sources."wrap-ansi-5.1.0"
+          sources."ansi-styles-4.3.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."wrap-ansi-7.0.0"
         ];
       })
       sources."code-point-at-1.1.0"
@@ -6150,6 +6406,7 @@ in
       sources."color-name-1.1.3"
       sources."color-string-1.5.4"
       sources."colornames-1.1.1"
+      sources."colors-1.4.0"
       sources."colorspace-1.1.2"
       sources."combined-stream-1.0.8"
       sources."commander-2.17.1"
@@ -6163,12 +6420,18 @@ in
         ];
       })
       sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.2"
+      (sources."concat-stream-1.6.2" // {
+        dependencies = [
+          sources."isarray-1.0.0"
+          sources."readable-stream-2.3.7"
+          sources."string_decoder-1.1.1"
+        ];
+      })
       sources."connect-history-api-fallback-1.6.0"
       sources."console-control-strings-1.1.0"
       (sources."constant-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.0.3"
+          sources."tslib-2.1.0"
         ];
       })
       sources."content-disposition-0.5.3"
@@ -6187,47 +6450,60 @@ in
       })
       sources."crypto-js-4.0.0"
       sources."csrf-3.1.0"
-      sources."css-select-1.2.0"
-      sources."css-what-2.1.3"
+      sources."css-select-3.1.2"
+      sources."css-what-4.0.0"
       sources."d-1.0.1"
       sources."dashdash-1.14.1"
       sources."date-utils-1.2.21"
-      sources."debug-4.3.1"
+      sources."debug-4.3.2"
       sources."decamelize-1.2.0"
       sources."deep-extend-0.6.0"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
-      sources."denque-1.4.1"
+      sources."denque-1.5.0"
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
       sources."detect-libc-1.0.3"
-      sources."diagnostics-1.1.1"
+      (sources."diagnostics-1.1.1" // {
+        dependencies = [
+          sources."enabled-1.0.2"
+          sources."kuler-1.0.1"
+        ];
+      })
       sources."dir-glob-3.0.1"
-      sources."dom-serializer-0.1.1"
-      sources."domelementtype-1.3.1"
-      sources."domhandler-2.4.2"
-      sources."domutils-1.5.1"
+      sources."dom-serializer-1.2.0"
+      sources."domelementtype-2.1.0"
+      sources."domhandler-4.0.0"
+      sources."domutils-2.4.4"
       (sources."dot-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.0.3"
+          sources."tslib-2.1.0"
         ];
       })
       sources."dotenv-8.2.0"
       sources."double-ended-queue-2.1.0-0"
-      sources."duplexify-3.7.1"
+      (sources."duplexify-3.7.1" // {
+        dependencies = [
+          sources."isarray-1.0.0"
+          sources."readable-stream-2.3.7"
+          sources."string_decoder-1.1.1"
+        ];
+      })
       sources."ecc-jsbn-0.1.2"
       sources."ecdsa-sig-formatter-1.0.11"
       sources."ee-first-1.1.1"
       sources."emoji-regex-8.0.0"
-      sources."enabled-1.0.2"
+      sources."enabled-2.0.0"
       sources."encodeurl-1.0.2"
       sources."encoding-japanese-1.0.30"
       sources."end-of-stream-1.4.4"
-      sources."entities-1.1.2"
+      sources."entities-2.1.0"
       sources."env-variable-0.0.6"
       sources."es5-ext-0.10.53"
       sources."es6-iterator-2.0.3"
       sources."es6-map-0.1.5"
+      sources."es6-promise-4.2.8"
+      sources."es6-promisify-5.0.0"
       (sources."es6-set-0.1.5" // {
         dependencies = [
           sources."es6-symbol-3.1.1"
@@ -6258,10 +6534,12 @@ in
       sources."external-editor-3.1.0"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.4"
+      sources."fast-glob-3.2.5"
       sources."fast-json-stable-stringify-2.1.0"
-      sources."fastq-1.9.0"
-      sources."fflate-0.3.11"
+      sources."fast-safe-stringify-2.0.7"
+      sources."fastq-1.10.1"
+      sources."fecha-4.2.0"
+      sources."fflate-0.4.8"
       sources."figlet-1.5.0"
       sources."figures-3.2.0"
       sources."file-type-14.7.1"
@@ -6272,8 +6550,8 @@ in
           sources."ms-2.0.0"
         ];
       })
-      sources."find-up-3.0.0"
       sources."flatted-2.0.2"
+      sources."fn.name-1.1.0"
       (sources."follow-redirects-1.5.10" // {
         dependencies = [
           sources."debug-3.1.0"
@@ -6308,9 +6586,12 @@ in
         dependencies = [
           sources."glob-parent-3.1.0"
           sources."is-glob-3.1.0"
+          sources."isarray-1.0.0"
+          sources."readable-stream-2.3.7"
+          sources."string_decoder-1.1.1"
         ];
       })
-      sources."globby-11.0.1"
+      sources."globby-11.0.2"
       (sources."gm-1.23.1" // {
         dependencies = [
           sources."debug-3.2.7"
@@ -6330,35 +6611,48 @@ in
       sources."he-1.2.0"
       (sources."header-case-2.0.4" // {
         dependencies = [
-          sources."tslib-2.0.3"
+          sources."tslib-2.1.0"
         ];
       })
       sources."help-me-1.1.0"
-      sources."highlight.js-10.4.1"
-      sources."html-to-text-5.1.1"
-      (sources."htmlparser2-3.10.1" // {
+      sources."highlight.js-10.5.0"
+      (sources."html-to-text-5.1.1" // {
         dependencies = [
+          (sources."dom-serializer-0.2.2" // {
+            dependencies = [
+              sources."domelementtype-2.1.0"
+              sources."entities-2.2.0"
+            ];
+          })
+          sources."domelementtype-1.3.1"
+          sources."domhandler-2.4.2"
+          sources."domutils-1.7.0"
+          sources."entities-1.1.2"
+          sources."htmlparser2-3.10.1"
           sources."readable-stream-3.6.0"
+          sources."safe-buffer-5.2.1"
+          sources."string_decoder-1.3.0"
         ];
       })
+      sources."htmlparser2-6.0.0"
       sources."http-errors-1.7.2"
       sources."http-signature-1.2.0"
+      (sources."https-proxy-agent-3.0.1" // {
+        dependencies = [
+          sources."agent-base-4.3.0"
+          sources."debug-3.2.7"
+        ];
+      })
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
       sources."ignore-5.1.8"
       sources."ignore-walk-3.0.3"
-      (sources."imap-0.8.19" // {
-        dependencies = [
-          sources."isarray-0.0.1"
-          sources."readable-stream-1.1.14"
-          sources."string_decoder-0.10.31"
-        ];
-      })
+      sources."imap-0.8.19"
       sources."imap-simple-4.3.0"
       sources."indent-string-4.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
-      sources."ini-1.3.5"
+      sources."ini-1.3.8"
       (sources."inquirer-7.3.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -6373,7 +6667,6 @@ in
       sources."ipaddr.js-1.9.1"
       sources."is-absolute-1.0.0"
       sources."is-arrayish-0.3.2"
-      sources."is-buffer-2.0.5"
       sources."is-docker-2.1.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
@@ -6383,15 +6676,16 @@ in
       sources."is-promise-1.0.1"
       sources."is-property-1.0.2"
       sources."is-relative-1.0.0"
+      sources."is-stream-2.0.0"
       sources."is-typedarray-1.0.0"
       sources."is-unc-path-1.0.0"
       sources."is-windows-1.0.2"
       sources."is-wsl-2.2.0"
-      sources."isarray-1.0.0"
+      sources."isarray-0.0.1"
       sources."isexe-2.0.0"
-      sources."iso-639-1-2.1.4"
+      sources."iso-639-1-2.1.7"
       sources."isstream-0.1.2"
-      sources."js-yaml-3.14.0"
+      sources."js-yaml-3.14.1"
       sources."jsbi-3.1.4"
       sources."jsbn-0.1.1"
       sources."json-schema-0.2.3"
@@ -6410,7 +6704,7 @@ in
       sources."jwks-rsa-1.9.0"
       sources."jws-3.2.2"
       sources."kafkajs-1.15.0"
-      sources."kuler-1.0.1"
+      sources."kuler-2.0.0"
       sources."leven-2.1.0"
       sources."libbase64-1.2.1"
       (sources."libmime-5.0.0" // {
@@ -6421,13 +6715,13 @@ in
       sources."libqp-1.1.0"
       sources."limiter-1.1.5"
       sources."linkify-it-3.0.2"
-      (sources."localtunnel-2.0.0" // {
+      (sources."localtunnel-2.0.1" // {
         dependencies = [
-          sources."axios-0.19.0"
-          sources."debug-4.1.1"
+          sources."axios-0.21.1"
+          sources."debug-4.3.1"
+          sources."follow-redirects-1.13.2"
         ];
       })
-      sources."locate-path-3.0.0"
       sources."lodash-4.17.20"
       sources."lodash._reinterpolate-3.0.0"
       sources."lodash.clonedeep-4.5.0"
@@ -6443,14 +6737,15 @@ in
       sources."lodash.template-4.5.0"
       sources."lodash.templatesettings-4.2.0"
       sources."lodash.unset-4.5.2"
+      sources."logform-2.2.0"
       sources."long-4.0.0"
       (sources."lower-case-2.0.2" // {
         dependencies = [
-          sources."tslib-2.0.3"
+          sources."tslib-2.1.0"
         ];
       })
       sources."lru-cache-6.0.0"
-      (sources."lru-memoizer-2.1.2" // {
+      (sources."lru-memoizer-2.1.4" // {
         dependencies = [
           sources."lru-cache-4.0.2"
           sources."yallist-2.1.2"
@@ -6478,9 +6773,10 @@ in
       sources."micromatch-4.0.2"
       sources."millisecond-0.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.44.0"
-      sources."mime-types-2.1.27"
+      sources."mime-db-1.45.0"
+      sources."mime-types-2.1.28"
       sources."mimic-fn-2.1.0"
+      sources."minimalistic-assert-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       (sources."minipass-2.9.0" // {
@@ -6489,20 +6785,28 @@ in
         ];
       })
       sources."minizlib-1.3.3"
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-1.0.4"
       sources."moment-2.24.0"
       sources."moment-timezone-0.5.32"
       sources."mongodb-3.6.3"
-      sources."mqtt-4.2.1"
-      (sources."mqtt-packet-6.6.0" // {
+      (sources."mqtt-4.2.1" // {
+        dependencies = [
+          sources."isarray-1.0.0"
+          sources."readable-stream-2.3.7"
+          sources."string_decoder-1.1.1"
+        ];
+      })
+      (sources."mqtt-packet-6.7.0" // {
         dependencies = [
           sources."bl-4.0.3"
           sources."inherits-2.0.4"
           sources."readable-stream-3.6.0"
+          sources."safe-buffer-5.2.1"
+          sources."string_decoder-1.3.0"
         ];
       })
       sources."ms-2.1.2"
-      sources."mssql-6.2.3"
+      sources."mssql-6.3.1"
       sources."mute-stream-0.0.8"
       (sources."mysql2-2.1.0" // {
         dependencies = [
@@ -6512,14 +6816,14 @@ in
         ];
       })
       sources."mz-2.7.0"
-      sources."n8n-core-0.54.0"
-      sources."n8n-editor-ui-0.66.0"
-      (sources."n8n-nodes-base-0.91.0" // {
+      sources."n8n-core-0.62.0"
+      sources."n8n-editor-ui-0.75.0"
+      (sources."n8n-nodes-base-0.102.0" // {
         dependencies = [
           sources."moment-2.28.0"
         ];
       })
-      sources."n8n-workflow-0.47.0"
+      sources."n8n-workflow-0.51.0"
       (sources."named-placeholders-1.1.2" // {
         dependencies = [
           sources."lru-cache-4.1.5"
@@ -6528,7 +6832,7 @@ in
       })
       sources."nan-2.14.2"
       sources."native-duplexpair-1.0.0"
-      (sources."needle-2.5.2" // {
+      (sources."needle-2.6.0" // {
         dependencies = [
           sources."debug-3.2.7"
         ];
@@ -6537,69 +6841,77 @@ in
       sources."next-tick-1.0.0"
       (sources."no-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.0.3"
+          sources."tslib-2.1.0"
         ];
       })
       sources."node-ensure-0.0.0"
       (sources."node-pre-gyp-0.11.0" // {
         dependencies = [
+          sources."mkdirp-0.5.5"
           sources."rimraf-2.7.1"
           sources."semver-5.7.1"
         ];
       })
       sources."nodeify-1.0.1"
-      sources."nodemailer-6.4.16"
+      sources."nodemailer-6.4.17"
       sources."nopt-4.0.3"
       sources."npm-bundled-1.1.1"
       sources."npm-normalize-package-bin-1.0.1"
       sources."npm-packlist-1.4.8"
       sources."npmlog-4.1.2"
-      sources."nth-check-1.0.2"
+      sources."nth-check-2.0.0"
       sources."number-is-nan-1.0.1"
       sources."oauth-1.0a-2.2.6"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
+      (sources."ocsp-1.2.0" // {
+        dependencies = [
+          sources."asn1.js-4.10.1"
+          sources."asn1.js-rfc2560-4.0.6"
+          sources."asn1.js-rfc5280-2.0.1"
+          sources."async-1.5.2"
+        ];
+      })
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
+      sources."one-time-1.0.0"
       sources."onetime-5.1.2"
-      sources."open-7.3.0"
+      sources."open-7.4.0"
       sources."openurl-1.1.1"
-      sources."ordered-read-streams-1.0.1"
+      (sources."ordered-read-streams-1.0.1" // {
+        dependencies = [
+          sources."isarray-1.0.0"
+          sources."readable-stream-2.3.7"
+          sources."string_decoder-1.1.1"
+        ];
+      })
       sources."original-1.0.2"
       sources."os-homedir-1.0.2"
       sources."os-tmpdir-1.0.2"
       sources."osenv-0.1.5"
       sources."p-cancelable-2.0.0"
-      sources."p-limit-2.3.0"
-      sources."p-locate-3.0.0"
-      sources."p-try-2.2.0"
       sources."packet-reader-1.0.0"
       (sources."param-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.0.3"
+          sources."tslib-2.1.0"
         ];
       })
       sources."parent-require-1.0.0"
-      sources."parse5-3.0.3"
-      (sources."parse5-htmlparser2-tree-adapter-6.0.1" // {
-        dependencies = [
-          sources."parse5-6.0.1"
-        ];
-      })
+      sources."parse5-6.0.1"
+      sources."parse5-htmlparser2-tree-adapter-6.0.1"
       sources."parseurl-1.3.3"
       (sources."pascal-case-3.1.2" // {
         dependencies = [
-          sources."tslib-2.0.3"
+          sources."tslib-2.1.0"
         ];
       })
       (sources."path-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.0.3"
+          sources."tslib-2.1.0"
         ];
       })
       sources."path-dirname-1.0.2"
-      sources."path-exists-3.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-to-regexp-0.1.7"
       sources."path-type-4.0.0"
@@ -6608,14 +6920,14 @@ in
           sources."debug-3.2.7"
         ];
       })
-      sources."peek-readable-3.1.0"
+      sources."peek-readable-3.1.3"
       sources."performance-now-2.1.0"
       sources."pg-8.5.1"
       sources."pg-connection-string-2.4.0"
       sources."pg-int8-1.0.1"
-      sources."pg-minify-1.6.1"
+      sources."pg-minify-1.6.2"
       sources."pg-pool-3.2.2"
-      sources."pg-promise-10.8.1"
+      sources."pg-promise-10.9.2"
       sources."pg-protocol-1.4.0"
       sources."pg-types-2.2.0"
       sources."pgpass-1.0.4"
@@ -6624,7 +6936,7 @@ in
       sources."popsicle-content-encoding-1.0.0"
       sources."popsicle-cookie-jar-1.0.0"
       sources."popsicle-redirects-1.1.0"
-      sources."popsicle-transport-http-1.0.9"
+      sources."popsicle-transport-http-1.1.1"
       sources."popsicle-transport-xhr-2.0.0"
       sources."popsicle-user-agent-1.0.0"
       sources."postgres-array-2.0.0"
@@ -6634,7 +6946,11 @@ in
       sources."printj-1.1.2"
       sources."process-nextick-args-2.0.1"
       sources."promise-1.3.0"
-      sources."promise-ftp-1.3.5"
+      (sources."promise-ftp-1.3.5" // {
+        dependencies = [
+          sources."bluebird-2.11.0"
+        ];
+      })
       sources."promise-ftp-common-1.1.5"
       sources."proxy-addr-2.0.6"
       sources."pseudomap-1.0.2"
@@ -6653,7 +6969,7 @@ in
       sources."range-parser-1.2.1"
       sources."raw-body-2.4.0"
       sources."rc-1.2.8"
-      sources."readable-stream-2.3.7"
+      sources."readable-stream-1.1.14"
       sources."readable-web-to-node-stream-2.0.0"
       sources."redeyed-2.1.1"
       sources."redis-2.8.0"
@@ -6674,8 +6990,8 @@ in
           sources."tough-cookie-2.5.0"
         ];
       })
+      sources."requestretry-4.1.2"
       sources."require-directory-2.1.1"
-      sources."require-main-filename-2.0.0"
       (sources."require_optional-1.0.1" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -6694,11 +7010,7 @@ in
       sources."rimraf-3.0.2"
       sources."riot-tmpl-3.0.8"
       sources."rndm-1.2.0"
-      (sources."rss-parser-3.9.0" // {
-        dependencies = [
-          sources."entities-2.1.0"
-        ];
-      })
+      sources."rss-parser-3.10.0"
       sources."run-async-2.4.1"
       sources."run-parallel-1.1.10"
       sources."rxjs-6.6.3"
@@ -6719,7 +7031,7 @@ in
       })
       (sources."sentence-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.0.3"
+          sources."tslib-2.1.0"
         ];
       })
       sources."seq-queue-0.0.5"
@@ -6730,18 +7042,26 @@ in
       sources."setprototypeof-1.1.1"
       sources."sha.js-2.4.11"
       sources."signal-exit-3.0.3"
+      sources."simple-lru-cache-0.0.2"
       sources."simple-swizzle-0.2.2"
       sources."slash-3.0.0"
       (sources."snake-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.0.3"
+          sources."tslib-2.1.0"
+        ];
+      })
+      (sources."snowflake-sdk-1.5.3" // {
+        dependencies = [
+          sources."debug-3.2.7"
         ];
       })
       sources."sparse-bitfield-3.0.3"
-      sources."spex-3.0.2"
+      sources."spex-3.2.0"
       (sources."split2-3.2.2" // {
         dependencies = [
           sources."readable-stream-3.6.0"
+          sources."safe-buffer-5.2.1"
+          sources."string_decoder-1.3.0"
         ];
       })
       sources."sprintf-js-1.1.2"
@@ -6754,40 +7074,52 @@ in
         dependencies = [
           sources."concat-stream-2.0.0"
           sources."readable-stream-3.6.0"
+          sources."safe-buffer-5.2.1"
+          sources."string_decoder-1.3.0"
         ];
       })
       sources."ssh2-streams-0.4.10"
       sources."sshpk-1.16.1"
+      sources."stack-trace-0.0.10"
       sources."statuses-1.5.0"
       sources."stealthy-require-1.1.1"
       sources."stream-shift-1.0.1"
       sources."streamsearch-0.1.2"
       sources."string-width-4.2.0"
-      sources."string_decoder-1.1.1"
+      sources."string_decoder-0.10.31"
       sources."strip-ansi-6.0.0"
       sources."strip-json-comments-2.0.1"
-      sources."strtok3-6.0.4"
+      sources."strtok3-6.0.8"
       sources."supports-color-5.5.0"
       (sources."tar-4.4.13" // {
         dependencies = [
+          sources."mkdirp-0.5.5"
           sources."yallist-3.1.1"
         ];
       })
       sources."tarn-1.1.5"
       (sources."tedious-6.7.0" // {
         dependencies = [
-          sources."@types/node-12.19.8"
+          sources."@types/node-12.19.15"
           sources."bl-3.0.1"
           sources."depd-2.0.0"
           sources."iconv-lite-0.5.2"
           sources."readable-stream-3.6.0"
+          sources."safe-buffer-5.2.1"
+          sources."string_decoder-1.3.0"
         ];
       })
       sources."text-hex-1.0.0"
       sources."thenify-3.3.1"
       sources."thenify-all-1.6.0"
       sources."through-2.3.8"
-      sources."through2-2.0.5"
+      (sources."through2-2.0.5" // {
+        dependencies = [
+          sources."isarray-1.0.0"
+          sources."readable-stream-2.3.7"
+          sources."string_decoder-1.1.1"
+        ];
+      })
       sources."through2-filter-3.0.0"
       sources."throwback-4.1.0"
       sources."tlds-1.208.0"
@@ -6800,8 +7132,9 @@ in
       sources."to-absolute-glob-2.0.2"
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.0"
-      sources."token-types-2.0.0"
+      sources."token-types-2.1.1"
       sources."tough-cookie-3.0.1"
+      sources."triple-beam-1.3.0"
       sources."ts-expect-1.1.0"
       sources."tslib-1.11.2"
       sources."tsscmp-1.0.6"
@@ -6813,21 +7146,15 @@ in
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
-      (sources."typeorm-0.2.29" // {
+      (sources."typeorm-0.2.30" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.0"
-          sources."cliui-7.0.4"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."has-flag-4.0.0"
-          sources."mkdirp-1.0.4"
           sources."supports-color-7.2.0"
           sources."tslib-1.14.1"
-          sources."wrap-ansi-7.0.0"
-          sources."y18n-5.0.5"
-          sources."yargs-16.1.1"
-          sources."yargs-parser-20.2.4"
         ];
       })
       sources."uc.micro-1.0.6"
@@ -6839,15 +7166,15 @@ in
       sources."unpipe-1.0.0"
       (sources."upper-case-2.0.2" // {
         dependencies = [
-          sources."tslib-2.0.3"
+          sources."tslib-2.1.0"
         ];
       })
       (sources."upper-case-first-2.0.2" // {
         dependencies = [
-          sources."tslib-2.0.3"
+          sources."tslib-2.1.0"
         ];
       })
-      sources."uri-js-4.4.0"
+      sources."uri-js-4.4.1"
       sources."url-parse-1.4.7"
       (sources."utf7-1.0.2" // {
         dependencies = [
@@ -6863,8 +7190,8 @@ in
       sources."vary-1.1.2"
       sources."verror-1.10.0"
       sources."vm2-3.9.2"
+      sources."when-3.7.8"
       sources."which-1.3.1"
-      sources."which-module-2.0.0"
       (sources."wide-align-1.1.3" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
@@ -6874,6 +7201,20 @@ in
         ];
       })
       sources."widest-line-3.1.0"
+      (sources."winston-3.3.3" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+          sources."safe-buffer-5.2.1"
+          sources."string_decoder-1.3.0"
+        ];
+      })
+      (sources."winston-transport-4.4.0" // {
+        dependencies = [
+          sources."isarray-1.0.0"
+          sources."readable-stream-2.3.7"
+          sources."string_decoder-1.1.1"
+        ];
+      })
       sources."wmf-1.0.2"
       sources."word-0.3.0"
       (sources."wrap-ansi-4.0.0" // {
@@ -6885,15 +7226,19 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      sources."ws-7.4.1"
-      sources."xlsx-0.16.9"
+      sources."ws-7.4.2"
+      (sources."xlsx-0.16.9" // {
+        dependencies = [
+          sources."fflate-0.3.11"
+        ];
+      })
       sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
       sources."xmldom-0.4.0"
       sources."xpath.js-1.1.0"
       sources."xregexp-2.0.0"
       sources."xtend-4.0.2"
-      sources."y18n-4.0.1"
+      sources."y18n-5.0.5"
       sources."yallist-4.0.0"
       (sources."yargonaut-1.1.4" // {
         dependencies = [
@@ -6904,14 +7249,9 @@ in
           sources."supports-color-2.0.0"
         ];
       })
-      (sources."yargs-13.3.0" // {
+      (sources."yargs-16.2.0" // {
         dependencies = [
-          sources."ansi-regex-4.1.0"
-          sources."emoji-regex-7.0.3"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."string-width-3.1.0"
-          sources."strip-ansi-5.2.0"
-          sources."yargs-parser-13.1.2"
+          sources."yargs-parser-20.2.4"
         ];
       })
       sources."yargs-parser-13.0.0"
@@ -6919,7 +7259,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "n8n Workflow Automation Tool";
-      homepage = https://n8n.io/;
+      homepage = "https://n8n.io";
       license = "SEE LICENSE IN LICENSE.md";
     };
     production = true;
diff --git a/pkgs/applications/networking/ncgopher/default.nix b/pkgs/applications/networking/ncgopher/default.nix
index 2e5e840d50dc4..69f214cc57114 100644
--- a/pkgs/applications/networking/ncgopher/default.nix
+++ b/pkgs/applications/networking/ncgopher/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ncgopher";
-  version = "0.1.5";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "jansc";
     repo = "ncgopher";
     rev = "v${version}";
-    sha256 = "1mv89sanmr49b9za95jl5slpq960b246j2054r8xfafzqmbp44af";
+    sha256 = "sha256-Yny5zZe5x7/pWda839HcFkHFuL/jl1Q7ykTZzKy871I=";
   };
 
-  cargoSha256 = "12r4vgrg2bkr3p61yxcsg02kppg84vn956l0v1vb08i94rxzc8zk";
+  cargoSha256 = "sha256-IsRaDhnRamMSbtXG1r1j0jZYjFiSjRdwOaUVyqy4ZJw=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [
diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix
index 42486458b2ca4..163faf02af0cb 100644
--- a/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/pkgs/applications/networking/nextcloud-client/default.nix
@@ -12,6 +12,7 @@
 , qtkeychain
 , qttools
 , qtwebengine
+, qtwebsockets
 , qtquickcontrols2
 , qtgraphicaleffects
 , sqlite
@@ -19,16 +20,17 @@
 
 mkDerivation rec {
   pname = "nextcloud-client";
-  version = "3.0.3";
+  version = "3.1.3";
 
   src = fetchFromGitHub {
     owner = "nextcloud";
     repo = "desktop";
     rev = "v${version}";
-    sha256 = "0idh8i71jivdjjs2y62l22yl3qxwgcr0hf53dad587bzgkkkr223";
+    sha256 = "sha256-8Ql6tOvWOjAvMJA87WlT9TbpnbciBsjDxRuYlMVi/m8=";
   };
 
   patches = [
+    # Explicitly move dbus configuration files to the store path rather than `/etc/dbus-1/services`.
     ./0001-Explicitly-copy-dbus-files-into-the-store-dir.patch
   ];
 
@@ -40,6 +42,7 @@ mkDerivation rec {
   buildInputs = [
     inotify-tools
     libcloudproviders
+    libsecret
     openssl
     pcre
     qtbase
@@ -48,13 +51,10 @@ mkDerivation rec {
     qtwebengine
     qtquickcontrols2
     qtgraphicaleffects
+    qtwebsockets
     sqlite
   ];
 
-  qtWrapperArgs = [
-    "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libsecret ]}"
-  ];
-
   cmakeFlags = [
     "-DCMAKE_INSTALL_LIBDIR=lib" # expected to be prefix-relative by build code setting RPATH
     "-DNO_SHIBBOLETH=1" # allows to compile without qtwebkit
@@ -63,7 +63,7 @@ mkDerivation rec {
   meta = with lib; {
     description = "Nextcloud themed desktop client";
     homepage = "https://nextcloud.com";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ caugner ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/networking/onionshare/default.nix b/pkgs/applications/networking/onionshare/default.nix
index 77d08692f625a..124ee9a20eadc 100644
--- a/pkgs/applications/networking/onionshare/default.nix
+++ b/pkgs/applications/networking/onionshare/default.nix
@@ -1,30 +1,33 @@
 {
   lib,
   buildPythonApplication,
-  stdenv,
   substituteAll,
   fetchFromGitHub,
   isPy3k,
   flask,
   flask-httpauth,
+  flask-socketio,
   stem,
+  psutil,
   pyqt5,
   pycrypto,
-  pysocks,
-  pytest,
+  pyside2,
+  pytestCheckHook,
+  qrcode,
   qt5,
   requests,
+  unidecode,
   tor,
   obfs4,
 }:
 
 let
-  version = "2.2";
+  version = "2.3.1";
   src = fetchFromGitHub {
     owner = "micahflee";
     repo = "onionshare";
     rev = "v${version}";
-    sha256 = "0m8ygxcyp3nfzzhxs2dfnpqwh1vx0aws44lszpnnczz4fks3a5j4";
+    sha256 = "sha256-H09x3OF6l1HLHukGPvV2rZUjW9fxeKKMZkKbY9a2m9I=";
   };
   meta = with lib; {
     description = "Securely and anonymously send and receive files";
@@ -51,63 +54,76 @@ let
     maintainers = with maintainers; [ lourkeur ];
   };
 
-  common = buildPythonApplication {
-    pname = "onionshare-common";
-    inherit version meta src;
-
+in rec {
+  onionshare = buildPythonApplication {
+    pname = "onionshare-cli";
+    inherit version meta;
+    src = "${src}/cli";
+    patches = [
+      # hardcode store paths of dependencies
+      (substituteAll {
+        src = ./fix-paths.patch;
+        inherit tor obfs4;
+        inherit (tor) geoip;
+      })
+    ];
     disable = !isPy3k;
     propagatedBuildInputs = [
       flask
       flask-httpauth
+      flask-socketio
       stem
-      pyqt5
+      psutil
       pycrypto
-      pysocks
       requests
+      unidecode
     ];
+
     buildInputs = [
       tor
       obfs4
     ];
 
+    checkInputs = [
+      pytestCheckHook
+    ];
+
+    preCheck = ''
+      # Tests use the home directory
+      export HOME="$(mktemp -d)"
+    '';
+  };
+
+  onionshare-gui = buildPythonApplication {
+    pname = "onionshare";
+    inherit version meta;
+    src = "${src}/desktop/src";
     patches = [
+      # hardcode store paths of dependencies
       (substituteAll {
-        src = ./fix-paths.patch;
+        src = ./fix-paths-gui.patch;
         inherit tor obfs4;
         inherit (tor) geoip;
       })
     ];
-    postPatch = "substituteInPlace onionshare/common.py --subst-var-by common $out";
 
-    doCheck = false;
-  };
-in
-{
-  onionshare = stdenv.mkDerivation {
-    pname = "onionshare";
-    inherit version meta;
+    disable = !isPy3k;
+    propagatedBuildInputs = [
+      onionshare
+      pyqt5
+      pyside2
+      psutil
+      qrcode
+    ];
 
-    dontUnpack = true;
+    nativeBuildInputs = [ qt5.wrapQtAppsHook ];
 
-    inherit common;
-    installPhase = ''
-      mkdir -p $out/bin
-      cp $common/bin/onionshare -t $out/bin
+    preFixup = ''
+      wrapQtApp $out/bin/onionshare
     '';
-  };
-  onionshare-gui = stdenv.mkDerivation {
-    pname = "onionshare-gui";
-    inherit version meta;
 
-    nativeBuildInputs = [ qt5.wrapQtAppsHook ];
-
-    dontUnpack = true;
+    doCheck = false;
 
-    inherit common;
-    installPhase = ''
-      mkdir -p $out/bin
-      cp $common/bin/onionshare-gui -t $out/bin
-      wrapQtApp $out/bin/onionshare-gui
-    '';
+    pythonImportsCheck = [ "onionshare" ];
   };
 }
diff --git a/pkgs/applications/networking/onionshare/fix-paths-gui.patch b/pkgs/applications/networking/onionshare/fix-paths-gui.patch
new file mode 100644
index 0000000000000..cdc2e3d47dd8a
--- /dev/null
+++ b/pkgs/applications/networking/onionshare/fix-paths-gui.patch
@@ -0,0 +1,37 @@
+
+--- a/onionshare/gui_common.py
++++ b/onionshare/gui_common.py
+@@ -376,29 +376,10 @@ class GuiCommon:
+         }
+ 
+     def get_tor_paths(self):
+-        if self.common.platform == "Linux":
+-            tor_path = shutil.which("tor")
+-            obfs4proxy_file_path = shutil.which("obfs4proxy")
+-            prefix = os.path.dirname(os.path.dirname(tor_path))
+-            tor_geo_ip_file_path = os.path.join(prefix, "share/tor/geoip")
+-            tor_geo_ipv6_file_path = os.path.join(prefix, "share/tor/geoip6")
+-        elif self.common.platform == "Windows":
+-            base_path = self.get_resource_path("tor")
+-            tor_path = os.path.join(base_path, "Tor", "tor.exe")
+-            obfs4proxy_file_path = os.path.join(base_path, "Tor", "obfs4proxy.exe")
+-            tor_geo_ip_file_path = os.path.join(base_path, "Data", "Tor", "geoip")
+-            tor_geo_ipv6_file_path = os.path.join(base_path, "Data", "Tor", "geoip6")
+-        elif self.common.platform == "Darwin":
+-            base_path = self.get_resource_path("tor")
+-            tor_path = os.path.join(base_path, "tor")
+-            obfs4proxy_file_path = os.path.join(base_path, "obfs4proxy.exe")
+-            tor_geo_ip_file_path = os.path.join(base_path, "geoip")
+-            tor_geo_ipv6_file_path = os.path.join(base_path, "geoip6")
+-        elif self.common.platform == "BSD":
+-            tor_path = "/usr/local/bin/tor"
+-            tor_geo_ip_file_path = "/usr/local/share/tor/geoip"
+-            tor_geo_ipv6_file_path = "/usr/local/share/tor/geoip6"
+-            obfs4proxy_file_path = "/usr/local/bin/obfs4proxy"
++        tor_path = "@tor@/bin/tor"
++        tor_geo_ip_file_path = "@geoip@/share/tor/geoip"
++        tor_geo_ipv6_file_path = "@geoip@/share/tor/geoip6"
++        obfs4proxy_file_path = "@obfs4@/bin/obfs4proxy"
+ 
+         return (
+             tor_path,
diff --git a/pkgs/applications/networking/onionshare/fix-paths.patch b/pkgs/applications/networking/onionshare/fix-paths.patch
index ddd0c75334bbd..a290dd884104c 100644
--- a/pkgs/applications/networking/onionshare/fix-paths.patch
+++ b/pkgs/applications/networking/onionshare/fix-paths.patch
@@ -1,68 +1,31 @@
-diff --git a/onionshare/common.py b/onionshare/common.py
-index 3373462..7fd245b 100644
---- a/onionshare/common.py
-+++ b/onionshare/common.py
-@@ -87,66 +87,16 @@ class Common(object):
-                 ),
-                 "share",
-             )
--            if not os.path.exists(prefix):
--                # While running tests during stdeb bdist_deb, look 3 directories up for the share folder
--                prefix = os.path.join(
--                    os.path.dirname(
--                        os.path.dirname(os.path.dirname(os.path.dirname(prefix)))
--                    ),
--                    "share",
--                )
--
--        elif self.platform == "BSD" or self.platform == "Linux":
--            # Assume OnionShare is installed systemwide in Linux, since we're not running in dev mode
--            prefix = os.path.join(sys.prefix, "share/onionshare")
--
--        elif getattr(sys, "frozen", False):
--            # Check if app is "frozen"
--            # https://pythonhosted.org/PyInstaller/#run-time-information
--            if self.platform == "Darwin":
--                prefix = os.path.join(sys._MEIPASS, "share")
--            elif self.platform == "Windows":
--                prefix = os.path.join(os.path.dirname(sys.executable), "share")
-+        else:
-+            prefix = "@common@/share/onionshare"
-
-         return os.path.join(prefix, filename)
-
+--- a/onionshare_cli/common.py
++++ b/onionshare_cli/common.py
+@@ -86,33 +86,10 @@ class Common:
+         return path
+ 
      def get_tor_paths(self):
 -        if self.platform == "Linux":
--            tor_path = "/usr/bin/tor"
--            tor_geo_ip_file_path = "/usr/share/tor/geoip"
--            tor_geo_ipv6_file_path = "/usr/share/tor/geoip6"
--            obfs4proxy_file_path = "/usr/bin/obfs4proxy"
+-            tor_path = shutil.which("tor")
+-            if not tor_path:
+-                raise CannotFindTor()
+-            obfs4proxy_file_path = shutil.which("obfs4proxy")
+-            prefix = os.path.dirname(os.path.dirname(tor_path))
+-            tor_geo_ip_file_path = os.path.join(prefix, "share/tor/geoip")
+-            tor_geo_ipv6_file_path = os.path.join(prefix, "share/tor/geoip6")
 -        elif self.platform == "Windows":
--            base_path = os.path.join(
--                os.path.dirname(os.path.dirname(self.get_resource_path(""))), "tor"
--            )
--            tor_path = os.path.join(os.path.join(base_path, "Tor"), "tor.exe")
--            obfs4proxy_file_path = os.path.join(
--                os.path.join(base_path, "Tor"), "obfs4proxy.exe"
--            )
--            tor_geo_ip_file_path = os.path.join(
--                os.path.join(os.path.join(base_path, "Data"), "Tor"), "geoip"
--            )
--            tor_geo_ipv6_file_path = os.path.join(
--                os.path.join(os.path.join(base_path, "Data"), "Tor"), "geoip6"
--            )
+-            base_path = self.get_resource_path("tor")
+-            tor_path = os.path.join(base_path, "Tor", "tor.exe")
+-            obfs4proxy_file_path = os.path.join(base_path, "Tor", "obfs4proxy.exe")
+-            tor_geo_ip_file_path = os.path.join(base_path, "Data", "Tor", "geoip")
+-            tor_geo_ipv6_file_path = os.path.join(base_path, "Data", "Tor", "geoip6")
 -        elif self.platform == "Darwin":
--            base_path = os.path.dirname(
--                os.path.dirname(os.path.dirname(self.get_resource_path("")))
--            )
--            tor_path = os.path.join(base_path, "Resources", "Tor", "tor")
--            tor_geo_ip_file_path = os.path.join(base_path, "Resources", "Tor", "geoip")
--            tor_geo_ipv6_file_path = os.path.join(
--                base_path, "Resources", "Tor", "geoip6"
--            )
--            obfs4proxy_file_path = os.path.join(
--                base_path, "Resources", "Tor", "obfs4proxy"
--            )
+-            tor_path = shutil.which("tor")
+-            if not tor_path:
+-                raise CannotFindTor()
+-            obfs4proxy_file_path = shutil.which("obfs4proxy")
+-            prefix = os.path.dirname(os.path.dirname(tor_path))
+-            tor_geo_ip_file_path = os.path.join(prefix, "share/tor/geoip")
+-            tor_geo_ipv6_file_path = os.path.join(prefix, "share/tor/geoip6")
 -        elif self.platform == "BSD":
 -            tor_path = "/usr/local/bin/tor"
 -            tor_geo_ip_file_path = "/usr/local/share/tor/geoip"
@@ -72,63 +35,6 @@ index 3373462..7fd245b 100644
 +        tor_geo_ip_file_path = "@geoip@/share/tor/geoip"
 +        tor_geo_ipv6_file_path = "@geoip@/share/tor/geoip6"
 +        obfs4proxy_file_path = "@obfs4@/bin/obfs4proxy"
-
+ 
          return (
              tor_path,
-diff --git a/setup.py b/setup.py
-index 9af72fc..53ca47b 100644
---- a/setup.py
-+++ b/setup.py
-@@ -70,41 +70,41 @@ classifiers = [
- ]
- data_files = [
-     (
--        os.path.join(sys.prefix, "share/applications"),
-+        "share/applications",
-         ["install/org.onionshare.OnionShare.desktop"],
-     ),
-     (
--        os.path.join(sys.prefix, "share/icons/hicolor/scalable/apps"),
-+        "share/icons/hicolor/scalable/apps",
-         ["install/org.onionshare.OnionShare.svg"],
-     ),
-     (
--        os.path.join(sys.prefix, "share/metainfo"),
-+        "share/metainfo",
-         ["install/org.onionshare.OnionShare.appdata.xml"],
-     ),
--    (os.path.join(sys.prefix, "share/onionshare"), file_list("share")),
--    (os.path.join(sys.prefix, "share/onionshare/images"), file_list("share/images")),
--    (os.path.join(sys.prefix, "share/onionshare/locale"), file_list("share/locale")),
-+    ( "share/onionshare", file_list("share")),
-+    ( "share/onionshare/images", file_list("share/images")),
-+    ( "share/onionshare/locale", file_list("share/locale")),
-     (
--        os.path.join(sys.prefix, "share/onionshare/templates"),
-+        "share/onionshare/templates",
-         file_list("share/templates"),
-     ),
-     (
--        os.path.join(sys.prefix, "share/onionshare/static/css"),
-+        "share/onionshare/static/css",
-         file_list("share/static/css"),
-     ),
-     (
--        os.path.join(sys.prefix, "share/onionshare/static/img"),
-+        "share/onionshare/static/img",
-         file_list("share/static/img"),
-     ),
-     (
--        os.path.join(sys.prefix, "share/onionshare/static/js"),
-+        "share/onionshare/static/js",
-         file_list("share/static/js"),
-     ),
- ]
- if not platform.system().endswith("BSD") and platform.system() != "DragonFly":
-     data_files.append(
-         (
--            "/usr/share/nautilus-python/extensions/",
-+            "share/nautilus-python/extensions/",
-             ["install/scripts/onionshare-nautilus.py"],
-         )
-     )
diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix
index b4efd89441ee5..af290fc1cc5f7 100644
--- a/pkgs/applications/networking/p2p/gnunet/default.nix
+++ b/pkgs/applications/networking/p2p/gnunet/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnunet";
-  version = "0.13.2";
+  version = "0.14.0";
 
   src = fetchurl {
     url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz";
-    sha256 = "0b4a6bxwhpmj274d281vhny7i5rwydrdmab76xk6ji8vf0p705dn";
+    sha256 = "sha256-2u9gO9Mu0dM1yixcaqOnZcDfGcp69dc5CH5tkl6vRas=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/networking/p2p/tribler/default.nix b/pkgs/applications/networking/p2p/tribler/default.nix
index 36b7451e441b5..6e2533621e6cc 100644
--- a/pkgs/applications/networking/p2p/tribler/default.nix
+++ b/pkgs/applications/networking/p2p/tribler/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, pkgs, python3Packages, makeWrapper
-, enablePlayer ? true, libvlc ? null, qt5, lib }:
+{ stdenv, fetchurl, python3Packages, makeWrapper
+, enablePlayer ? true, libvlc, qt5, lib }:
 
 stdenv.mkDerivation rec {
   pname = "tribler";
diff --git a/pkgs/applications/networking/p2p/vuze/default.nix b/pkgs/applications/networking/p2p/vuze/default.nix
index 557914439a9cc..fe8743ee1cd1b 100644
--- a/pkgs/applications/networking/p2p/vuze/default.nix
+++ b/pkgs/applications/networking/p2p/vuze/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "07w6ipyiy8hi88d6yxbbf3vkv26mj7dcz9yr8141hb2ig03v0h0p";
   };
 
-  buildInputs = [ makeWrapper jdk ant ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jdk ant ];
 
   buildPhase = "ant";
 
diff --git a/pkgs/applications/networking/protonvpn-cli/default.nix b/pkgs/applications/networking/protonvpn-cli/default.nix
index 1c72d4ef88c09..a13f840968632 100644
--- a/pkgs/applications/networking/protonvpn-cli/default.nix
+++ b/pkgs/applications/networking/protonvpn-cli/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "protonvpn-linux-cli";
-  version = "2.2.4";
+  version = "2.2.6";
 
   src = fetchFromGitHub {
     owner = "protonvpn";
     repo = "linux-cli";
     rev = "v${version}";
-    sha256 = "08yca0a0prrnrc7ir7ajd56yxvxpcs4m1k8f5kf273f5whgr7wzw";
+    sha256 = "0y7v9ikrmy5dbjlpbpacp08gy838i8z54m8m4ps7ldk1j6kyia3n";
   };
 
   propagatedBuildInputs = (with python3Packages; [
@@ -29,8 +29,8 @@ python3Packages.buildPythonApplication rec {
   meta = with lib; {
     description = "Linux command-line client for ProtonVPN";
     homepage = "https://github.com/protonvpn/linux-cli";
-    maintainers = with maintainers; [ jtcoolen jefflabonte ];
+    maintainers = with maintainers; [ jtcoolen jefflabonte shamilton ];
     license = licenses.gpl3;
-    platforms = platforms.unix;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/protonvpn-gui/default.nix b/pkgs/applications/networking/protonvpn-gui/default.nix
index c2d7fbd10b15e..8029264fdaa77 100644
--- a/pkgs/applications/networking/protonvpn-gui/default.nix
+++ b/pkgs/applications/networking/protonvpn-gui/default.nix
@@ -76,6 +76,9 @@ in python3Packages.buildPythonApplication rec {
     done
   '';
 
+  # no tests
+  doCheck = false;
+
   meta = with lib; {
     description = "Linux GUI for ProtonVPN, written in Python";
     homepage = "https://github.com/ProtonVPN/linux-gui";
diff --git a/pkgs/applications/networking/remote/anydesk/default.nix b/pkgs/applications/networking/remote/anydesk/default.nix
index a28c68a658310..c742d076f9da6 100644
--- a/pkgs/applications/networking/remote/anydesk/default.nix
+++ b/pkgs/applications/networking/remote/anydesk/default.nix
@@ -4,16 +4,6 @@
 , pulseaudio }:
 
 let
-  sha256 = {
-    x86_64-linux = "19751ygq1ng79aniqx91qawc0cw07cwdjdjd88azc9ww6z6nv0mp";
-    i386-linux   = "0dwc7v4p1dz51444zwn0kds23yi87r4h2d3isfj9xwkn90pxb7in";
-  }.${stdenv.hostPlatform.system} or (throw "system ${stdenv.hostPlatform.system} not supported");
-
-  arch = {
-    x86_64-linux = "amd64";
-    i386-linux   = "i386";
-  }.${stdenv.hostPlatform.system} or (throw "system ${stdenv.hostPlatform.system} not supported");
-
   description = "Desktop sharing application, providing remote support and online meetings";
 
   desktopItem = makeDesktopItem {
@@ -28,14 +18,14 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "anydesk";
-  version = "6.0.1";
+  version = "6.1.0";
 
   src = fetchurl {
     urls = [
-      "https://download.anydesk.com/linux/${pname}-${version}-${arch}.tar.gz"
-      "https://download.anydesk.com/linux/generic-linux/${pname}-${version}-${arch}.tar.gz"
+      "https://download.anydesk.com/linux/${pname}-${version}-amd64.tar.gz"
+      "https://download.anydesk.com/linux/generic-linux/${pname}-${version}-amd64.tar.gz"
     ];
-    inherit sha256;
+    sha256 = "1qbq6r0yanjappsi8yglw8r54bwf32bjb2i63awmr6pk5kmhhy3r";
   };
 
   buildInputs = [
@@ -83,7 +73,7 @@ in stdenv.mkDerivation rec {
     inherit description;
     homepage = "https://www.anydesk.com";
     license = licenses.unfree;
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ shyim ];
   };
 }
diff --git a/pkgs/applications/networking/remote/citrix-workspace/sources.nix b/pkgs/applications/networking/remote/citrix-workspace/sources.nix
index eb59f90e6ddba..75eb4645f4fbe 100644
--- a/pkgs/applications/networking/remote/citrix-workspace/sources.nix
+++ b/pkgs/applications/networking/remote/citrix-workspace/sources.nix
@@ -65,6 +65,17 @@ let
       x86hash   = "0f982d5y9k4hscqfmqpfs277cqw1pvp191ybvg5p8rxk12fh67vf";
       x64suffix = "12";
       x86suffix = "12";
+      homepage  = "https://www.citrix.com/de-de/downloads/workspace-app/legacy-workspace-app-for-linux/workspace-app-for-linux-2012.html";
+    };
+
+    "21.01.0" = {
+      major     = "21";
+      minor     = "1";
+      patch     = "0";
+      x64hash   = "01m9g1bs6iiqbd778gjps2zznvqijlyn3mfw38aa0w1rr6ms326a";
+      x86hash   = "1mmx5r3wi9i6bwh4kdlpw446m8kijkaar8shi0q1n21fv0ygg3r5";
+      x64suffix = "14";
+      x86suffix = "14";
       homepage  = "https://www.citrix.com/de-de/downloads/workspace-app/linux/workspace-app-for-linux-latest.html";
     };
   };
diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix
index 04f2efd5b070a..0835a29fddef1 100644
--- a/pkgs/applications/networking/remote/freerdp/default.nix
+++ b/pkgs/applications/networking/remote/freerdp/default.nix
@@ -18,13 +18,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "freerdp";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "FreeRDP";
     repo = "FreeRDP";
     rev = version;
-    sha256 = "02zlg5r704zbryx09a5rjjf7q137kj16i9qh25dw9q1y69ri619n";
+    sha256 = "sha256-YnrJv2tpG1CT1aaZsn/j3ygPhXhTsfEyB/GcEPCgl/g=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix
index c556ce35b2dec..30bd5346ace6e 100644
--- a/pkgs/applications/networking/remote/teamviewer/default.nix
+++ b/pkgs/applications/networking/remote/teamviewer/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, lib, fetchurl, autoPatchelfHook, makeWrapper, xdg_utils, dbus
+{ mkDerivation, lib, fetchurl, autoPatchelfHook, makeWrapper, xdg-utils, dbus
 , qtbase, qtwebkit, qtx11extras, qtquickcontrols, glibc
 , libXrandr, libX11, libXext, libXdamage, libXtst, libSM, libXfixes
 , wrapQtAppsHook
@@ -36,7 +36,7 @@ mkDerivation rec {
     ln -s $out/share/teamviewer/tv_bin/desktop/com.teamviewer.*.desktop $out/share/applications
     ln -s /var/lib/teamviewer $out/share/teamviewer/config
     ln -s /var/log/teamviewer $out/share/teamviewer/logfiles
-    ln -s ${xdg_utils}/bin $out/share/teamviewer/tv_bin/xdg-utils
+    ln -s ${xdg-utils}/bin $out/share/teamviewer/tv_bin/xdg-utils
 
     for i in 16 20 24 32 48 256; do
       size=$i"x"$i
diff --git a/pkgs/applications/networking/remote/vmware-horizon-client/default.nix b/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
index 7d5b965e60fef..f52373f2624db 100644
--- a/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
+++ b/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
@@ -1,26 +1,58 @@
-{ lib, stdenv, buildFHSUserEnv, fetchurl, makeWrapper, makeDesktopItem, libxslt, atk
-, fontconfig, freetype, gdk-pixbuf, glib, gtk2, libudev0-shim, libxml2
-, pango, pixman, libX11, libXext, libXinerama, libXrandr , libXrender
-, libXtst, libXcursor, libXi, libxkbfile , libXScrnSaver, zlib, liberation_ttf
-, libtiff, dbus, at-spi2-atk, harfbuzz, gtk3-x11, libuuid, pcsclite
+{ stdenv
+, lib
+, at-spi2-atk
+, atk
+, buildFHSUserEnv
+, dbus
+, fetchurl
+, fontconfig
+, freetype
+, gdk-pixbuf
+, glib
+, gsettings-desktop-schemas
+, gtk2
+, gtk3-x11
+, harfbuzz
+, liberation_ttf
+, libjpeg
+, libtiff
+, libudev0-shim
+, libuuid
+, libX11
+, libXcursor
+, libXext
+, libXi
+, libXinerama
+, libxkbfile
+, libxml2
+, libXrandr
+, libXrender
+, libXScrnSaver
+, libxslt
+, libXtst
+, makeDesktopItem
+, makeWrapper
+, pango
+, pcsclite
+, pixman
+, zlib
 }:
-
 let
-  version = "2006";
+  version = "2012";
 
   sysArch =
     if stdenv.hostPlatform.system == "x86_64-linux" then "x64"
     else throw "Unsupported system: ${stdenv.hostPlatform.system}";
-    # The downloaded archive also contains i386 and ARM binaries, but these have not been tested.
+  # The downloaded archive also contains i386 and ARM binaries, but these have not been tested.
 
   vmwareHorizonClientFiles = stdenv.mkDerivation {
     name = "vmwareHorizonClientFiles";
     inherit version;
     src = fetchurl {
-      url = https://download3.vmware.com/software/view/viewclients/CART21FQ2/vmware-view-client-linux-2006-8.0.0-16522670.tar.gz;
-      sha256 = "8c46d49fea42f8c1f7cf32a5f038f5a47d2b304743b1e4f4c68c658621b0e79c";
+      url = "https://download3.vmware.com/software/view/viewclients/CART21FQ4/VMware-Horizon-Client-Linux-2012-8.1.0-17349998.tar.gz";
+      sha256 = "0afda1f3116e75a4e7f89990d8ee60ccea5f3bb8a2360652162fa11c795724ce";
     };
-    buildInputs = [ makeWrapper ];
+    nativeBuildInputs = [ makeWrapper ];
     installPhase = ''
       mkdir ext $out
       find ${sysArch} -type f -print0 | xargs -0n1 tar -Cext --strip-components=1 -xf
@@ -30,12 +62,16 @@ let
       # when it cannot detect a new enough version already present on the system.
       # The checks are distribution-specific and do not function correctly on NixOS.
       # Deleting the bundled library is the simplest way to force it to use our version.
-      rm -f "$out/lib/vmware/gcc/libstdc++.so.6"
+      rm "$out/lib/vmware/gcc/libstdc++.so.6"
+
+      # This libjpeg library interferes with Chromium, so we will be using ours instead.
+      rm $out/lib/vmware/libjpeg.*
 
       # Force the default GTK theme (Adwaita) because Horizon is prone to
       # UI usability issues when using non-default themes, such as Adwaita-dark.
       makeWrapper "$out/bin/vmware-view" "$out/bin/vmware-view_wrapper" \
           --set GTK_THEME Adwaita \
+          --suffix XDG_DATA_DIRS : "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}" \
           --suffix LD_LIBRARY_PATH : "$out/lib/vmware/view/crtbora:$out/lib/vmware"
     '';
   };
@@ -46,10 +82,37 @@ let
     runScript = "${vmwareHorizonClientFiles}/bin/vmware-view_wrapper";
 
     targetPkgs = pkgs: [
-      pcsclite dbus vmwareHorizonClientFiles atk fontconfig freetype gdk-pixbuf glib gtk2
-      libudev0-shim libxml2 pango pixman liberation_ttf libX11 libXext libXinerama
-      libXrandr libXrender libXtst libXcursor libXi libxkbfile at-spi2-atk libXScrnSaver
-      zlib libtiff harfbuzz gtk3-x11 libuuid
+      at-spi2-atk
+      atk
+      dbus
+      fontconfig
+      freetype
+      gdk-pixbuf
+      glib
+      gtk2
+      gtk3-x11
+      harfbuzz
+      liberation_ttf
+      libjpeg
+      libtiff
+      libudev0-shim
+      libuuid
+      libX11
+      libXcursor
+      libXext
+      libXi
+      libXinerama
+      libxkbfile
+      libxml2
+      libXrandr
+      libXrender
+      libXScrnSaver
+      libXtst
+      pango
+      pcsclite
+      pixman
+      vmwareHorizonClientFiles
+      zlib
     ];
   };
 
@@ -61,15 +124,22 @@ let
     mimeType = "x-scheme-handler/vmware-view";
   };
 
-in stdenv.mkDerivation {
+in
+stdenv.mkDerivation {
   name = "vmware-view";
+
   dontUnpack = true;
+
   installPhase = ''
     mkdir -p $out/bin $out/share/applications
     cp "${desktopItem}"/share/applications/* $out/share/applications/
     ln -s "${vmwareFHSUserEnv}/bin/vmware-view" "$out/bin/"
   '';
 
+  unwrapped = vmwareHorizonClientFiles;
+
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
     description = "Allows you to connect to your VMware Horizon virtual desktop";
     homepage = "https://www.vmware.com/go/viewclients";
diff --git a/pkgs/applications/networking/remote/vmware-horizon-client/update.sh b/pkgs/applications/networking/remote/vmware-horizon-client/update.sh
new file mode 100755
index 0000000000000..126cb17a7c284
--- /dev/null
+++ b/pkgs/applications/networking/remote/vmware-horizon-client/update.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -p curl -p jq -p common-updater-scripts -i bash
+set -e
+
+entryPointURL='https://my.vmware.com/channel/public/api/v1.0/products/getRelatedDLGList?locale=en_US&category=desktop_end_user_computing&product=vmware_horizon_clients&version=horizon_8&dlgType=PRODUCT_BINARY'
+
+function getTarballMetaUrl {
+    curl "$entryPointURL" | jq -r '
+        .dlgEditionsLists | .[] | select(.name | contains("Client for Linux")) |
+        .dlgList | .[] | select(.name | contains("tarball version")) |
+        @uri "https://my.vmware.com/channel/public/api/v1.0/dlg/details?locale=en_US&downloadGroup=\(.code)&productId=\(.productId)&rPId=\(.releasePackageId)"
+    '
+}
+
+meta="$( curl "$(getTarballMetaUrl)" | jq ".downloadFiles | .[]" )"
+
+ver="$( echo "$meta" | jq -r .version )"
+url="$( echo "$meta" | jq -r .thirdPartyDownloadUrl )"
+sum="$( echo "$meta" | jq -r .sha256checksum )"
+
+echo
+echo "version: $ver"
+echo "tar url: $url"
+echo " sha256: $sum"
+
+cd "$(dirname "$0")/../../../../.."
+update-source-version vmware-horizon-client.unwrapped "$ver" "$sum" "$url"
diff --git a/pkgs/applications/networking/seaweedfs/default.nix b/pkgs/applications/networking/seaweedfs/default.nix
index e38acf244d9e3..3e5a23a3f38a9 100644
--- a/pkgs/applications/networking/seaweedfs/default.nix
+++ b/pkgs/applications/networking/seaweedfs/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "seaweedfs";
-  version = "2.14";
+  version = "2.27";
 
   src = fetchFromGitHub {
     owner = "chrislusf";
     repo = "seaweedfs";
     rev = version;
-    sha256 = "1sfchh5qiylxxmph0hgjfaj80mv5pnrm1s34g5lx0vj64jxr5nzb";
+    sha256 = "sha256-0KT/5seJs8GkatL4BsZ+r71t6AJrpHB6Q92sCvplKcQ=";
   };
 
-  vendorSha256 = "0g344dj325d35i0myrzhg5chspqnly40qp910ml6zrmp7iszc1mw";
+  vendorSha256 = "sha256-uT/Y/TfpqDyOUElc4M/w/v77bWF3tTJz+Yu0KRMcxk4=";
 
   subPackages = [ "weed" ];
 
diff --git a/pkgs/applications/networking/shellhub-agent/default.nix b/pkgs/applications/networking/shellhub-agent/default.nix
index 7e7206883d9fa..7382e1aba4ac4 100644
--- a/pkgs/applications/networking/shellhub-agent/default.nix
+++ b/pkgs/applications/networking/shellhub-agent/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "shellhub-agent";
-  version = "0.5.1";
+  version = "0.5.2";
 
   src = fetchFromGitHub {
     owner = "shellhub-io";
     repo = "shellhub";
     rev = "v${version}";
-    sha256 = "1vg236vc2v4g47lb68hb1vy3phamhsyb383fdbblh3vc4vf46j8a";
+    sha256 = "1g3sjkc6p9w3mm7lnr513zwjh7y945hx311b6g068q2lywisqf0x";
   };
 
   modRoot = "./agent";
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index 55789401c143c..5c5bb1ff96e15 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -10,7 +10,7 @@ assert withQt  -> qt5  != null;
 with lib;
 
 let
-  version = "3.4.2";
+  version = "3.4.3";
   variant = if withQt then "qt" else "cli";
 
 in stdenv.mkDerivation {
@@ -20,7 +20,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz";
-    sha256 = "1i548w6zv6ni5n22rs90a12aakyq811493dxmadlcsj2krr6i66y";
+    sha256 = "0ar6pxzrcpxdriz437d6ziwlhb8k5wlvrkalp3hgqwzwy1vwqrzl";
   };
 
   cmakeFlags = [
@@ -45,13 +45,7 @@ in stdenv.mkDerivation {
     ++ optionals stdenv.isDarwin [ SystemConfiguration ApplicationServices gmp ]
     ++ optionals (withQt && stdenv.isDarwin) (with qt5; [ qtmacextras ]);
 
-  patches = [ ./wireshark-lookup-dumpcap-in-path.patch ]
-    # https://code.wireshark.org/review/#/c/23728/
-    ++ lib.optional stdenv.hostPlatform.isMusl (fetchpatch {
-      name = "fix-timeout.patch";
-      url = "https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commitdiff_plain;h=8b5b843fcbc3e03e0fc45f3caf8cf5fc477e8613;hp=94af9724d140fd132896b650d10c4d060788e4f0";
-      sha256 = "1g2dm7lwsnanwp68b9xr9swspx7hfj4v3z44sz3yrfmynygk8zlv";
-    });
+  patches = [ ./wireshark-lookup-dumpcap-in-path.patch ];
 
   postPatch = ''
     sed -i -e '1i cmake_policy(SET CMP0025 NEW)' CMakeLists.txt
diff --git a/pkgs/applications/networking/sync/casync/default.nix b/pkgs/applications/networking/sync/casync/default.nix
index 0e82aa2dd85d4..5bc29832c5f3b 100644
--- a/pkgs/applications/networking/sync/casync/default.nix
+++ b/pkgs/applications/networking/sync/casync/default.nix
@@ -1,27 +1,40 @@
-{ lib, stdenv, fetchFromGitHub
-, meson, ninja, pkg-config, python3, sphinx
-, acl, curl, fuse, libselinux, udev, xz, zstd
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, python3
+, sphinx
+, acl
+, curl
+, fuse
+, libselinux
+, udev
+, xz
+, zstd
 , fuseSupport ? true
 , selinuxSupport ? true
 , udevSupport ? true
-, glibcLocales, rsync
+, glibcLocales
+, rsync
 }:
 
 stdenv.mkDerivation {
   pname = "casync";
-  version = "2-219-ga8f6c84";
+  version = "2-226-gbd8898e";
 
   src = fetchFromGitHub {
-    owner  = "systemd";
-    repo   = "casync";
-    rev    = "a8f6c841ccfe59ca8c68aad64df170b64042dce8";
-    sha256 = "1i3c9wmpabpmx2wfbcyabmwfa66vz92iq5dlbm89v5mvgavz7bws";
+    owner = "systemd";
+    repo = "casync";
+    rev = "bd8898ed92685e12022dd33a04c87786b5262344";
+    sha256 = "04ibglizjzyd7ih13q6m7ic78n0mzw9nfmb3zd1fcm9j62qlq11i";
   };
 
   buildInputs = [ acl curl xz zstd ]
-                ++ lib.optionals (fuseSupport) [ fuse ]
-                ++ lib.optionals (selinuxSupport) [ libselinux ]
-                ++ lib.optionals (udevSupport) [ udev ];
+    ++ lib.optionals (fuseSupport) [ fuse ]
+    ++ lib.optionals (selinuxSupport) [ libselinux ]
+    ++ lib.optionals (udevSupport) [ udev ];
   nativeBuildInputs = [ meson ninja pkg-config python3 sphinx ];
   checkInputs = [ glibcLocales rsync ];
 
@@ -34,8 +47,8 @@ stdenv.mkDerivation {
 
   PKG_CONFIG_UDEV_UDEVDIR = "lib/udev";
   mesonFlags = lib.optionals (!fuseSupport) [ "-Dfuse=false" ]
-               ++ lib.optionals (!udevSupport) [ "-Dudev=false" ]
-               ++ lib.optionals (!selinuxSupport) [ "-Dselinux=false" ];
+    ++ lib.optionals (!udevSupport) [ "-Dudev=false" ]
+    ++ lib.optionals (!selinuxSupport) [ "-Dselinux=false" ];
 
   doCheck = true;
   preCheck = ''
@@ -44,9 +57,9 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "Content-Addressable Data Synchronizer";
-    homepage    = "https://github.com/systemd/casync";
-    license     = licenses.lgpl21;
-    platforms   = platforms.linux;
+    homepage = "https://github.com/systemd/casync";
+    license = licenses.lgpl21Plus;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ flokli ];
   };
 }
diff --git a/pkgs/applications/networking/sync/rclone/browser.nix b/pkgs/applications/networking/sync/rclone/browser.nix
index 8dbbc0cf2218d..1917fc40c0eec 100644
--- a/pkgs/applications/networking/sync/rclone/browser.nix
+++ b/pkgs/applications/networking/sync/rclone/browser.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, wrapQtAppsHook, qtbase }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, wrapQtAppsHook, qtbase }:
 
 stdenv.mkDerivation rec {
   pname = "rclone-browser";
@@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "14ckkdypkfyiqpnz0y2b73wh1py554iyc3gnymj4smy0kg70ai33";
   };
 
+  patches = [
+    # patch for Qt 5.15, https://github.com/kapitainsky/RcloneBrowser/pull/126
+    (fetchpatch {
+      url = "https://github.com/kapitainsky/RcloneBrowser/commit/ce9cf52e9c584a2cc85a5fa814b0fd7fa9cf0152.patch";
+      sha256 = "0nm42flmaq7mva9j4dpp18i1xcv8gr08zfyb9apz1zwn79h1w0c8";
+    })
+  ];
+
   nativeBuildInputs = [ cmake wrapQtAppsHook ];
 
   buildInputs = [ qtbase ];
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index ef130d0032956..e2199cfcfb926 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "rclone";
-  version = "1.53.4";
+  version = "1.54.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1w6dsf8hw0wap4090ixl01p64yn53xidfdbpy6rc3xaifypj185d";
+    sha256 = "sha256-A0c5bHP5W/NTwAh1ifGaw4AG37qYXK9P/Fjk68gkUNk=";
   };
 
-  vendorSha256 = "1l4iz31k1pylvf0zrp4nhxna70s1ma4981x6q1s3dhszjxil5c88";
+  vendorSha256 = "sha256-Cpn/dUD9E2BzUlAISC+IDCW59OkEKZTpqdlvF/clV+M=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/applications/networking/sync/unison/default.nix b/pkgs/applications/networking/sync/unison/default.nix
index 86126e861699b..23bbd19b00e8d 100644
--- a/pkgs/applications/networking/sync/unison/default.nix
+++ b/pkgs/applications/networking/sync/unison/default.nix
@@ -14,7 +14,8 @@ stdenv.mkDerivation (rec {
     sha256 = "sha256-42hmdMwOYSWGiDCmhuqtpCWtvtyD2l+kA/bhHD/Qh5Y=";
   };
 
-  buildInputs = [ ocaml makeWrapper ncurses ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ ocaml ncurses ];
 
   preBuild = (if enableX11 then ''
     sed -i "s|\(OCAMLOPT=.*\)$|\1 -I $(echo "${lablgtk}"/lib/ocaml/*/site-lib/lablgtk2)|" src/Makefile.OCaml
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index c6767f2e0ae1d..9d9be8966ca6e 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -3,17 +3,17 @@
 let
   common = { stname, target, postInstall ? "" }:
     buildGoModule rec {
-      version = "1.12.1";
+      version = "1.13.1";
       name = "${stname}-${version}";
 
       src = fetchFromGitHub {
         owner  = "syncthing";
         repo   = "syncthing";
         rev    = "v${version}";
-        sha256 = "1jyqkprb9ps8xc86qnf140wbx5kvshyihxxgym409kfks6dk3cq5";
+        sha256 = "1jvmcpyj4k43s4hv753pr9a1qg930nac90d5c8haqv30v1rw5pws";
       };
 
-      vendorSha256 = "1xlkc47wfhsf6gzq9sgimlzqnrqdsjgc1zzfkjp3xzbbv5ay7wca";
+      vendorSha256 = "140b0wqp5ayyyan7ml12jqd72s00cawhmdf8g699j5sav8j6hppi";
 
       doCheck = false;
 
diff --git a/pkgs/applications/networking/tsung/default.nix b/pkgs/applications/networking/tsung/default.nix
index 41bc6c64da806..346fd17525788 100644
--- a/pkgs/applications/networking/tsung/default.nix
+++ b/pkgs/applications/networking/tsung/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "6394445860ef34faedf8c46da95a3cb206bc17301145bc920151107ffa2ce52a";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
   propagatedBuildInputs = [
     erlang
     gnuplot
diff --git a/pkgs/applications/networking/umurmur/default.nix b/pkgs/applications/networking/umurmur/default.nix
index 05aa66eb39cbb..bf45db92098ad 100644
--- a/pkgs/applications/networking/umurmur/default.nix
+++ b/pkgs/applications/networking/umurmur/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "umurmur";
-  version = "0.2.17";
+  version = "0.2.19";
 
   src = fetchFromGitHub {
     owner = "umurmur";
     repo = "umurmur";
     rev = version;
-    sha256 = "074px4ygmv4ydy2pqwxwnz17f0hfswqkz5kc9qfz0iby3h5i3fyl";
+    sha256 = "sha256-86wveYlM493RIuU8aKac6XTOMPv0JxlZL4qH2N2AqRU=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/applications/networking/websocketd/default.nix b/pkgs/applications/networking/websocketd/default.nix
index c287abb0de241..636443c9b8585 100644
--- a/pkgs/applications/networking/websocketd/default.nix
+++ b/pkgs/applications/networking/websocketd/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "websocketd";
-  version = "0.3.1";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "joewalnes";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1qc4yi4kwy7bfi3fb17w58ff0i95yi6m4syldh8j79930syr5y8q";
+    sha256 = "sha256-cp4iBSQ6Cd0+NPZ2i79Mulg1z17u//OCm3yoArbZEHs=";
   };
 
-  vendorSha256 = "05k31z4h3b327mh940zh52im4xfk7kf5phb8b7xp4l9bgckhz4lb";
+  vendorSha256 = "sha256-i5IPJ3srUXL7WWjBW9w803VSoyjwA5JgPWKsAckPYxY=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/wg-bond/default.nix b/pkgs/applications/networking/wg-bond/default.nix
index 32ffbde400b10..bef44d428627c 100644
--- a/pkgs/applications/networking/wg-bond/default.nix
+++ b/pkgs/applications/networking/wg-bond/default.nix
@@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "1v2az0v6l8mqryvq3898hm7bpvqdd2c4kpv6ck7932jfjyna512k";
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
   postInstall = ''
     wrapProgram $out/bin/wg-bond --set PATH ${
       lib.makeBinPath [ wireguard-tools ]
diff --git a/pkgs/applications/office/bookworm/default.nix b/pkgs/applications/office/bookworm/default.nix
index 8ea277e1af3b9..8bd1d8f974b31 100644
--- a/pkgs/applications/office/bookworm/default.nix
+++ b/pkgs/applications/office/bookworm/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pantheon, vala, python3, python2, pkg-config, libxml2, meson, ninja, gtk3, gnome3, glib, webkitgtk, libgee
+{ lib, stdenv, fetchFromGitHub, pantheon, vala, python3, python2, pkg-config, libxml2, meson, ninja, gtk3, glib, webkitgtk, libgee
 , gobject-introspection, sqlite, poppler, poppler_utils, html2text, curl, gnugrep, coreutils, bash, unzip, unar, wrapGAppsHook
 , appstream, desktop-file-utils }:
 
diff --git a/pkgs/applications/office/cb2bib/default.nix b/pkgs/applications/office/cb2bib/default.nix
index e57d490f05c14..b0a0fded80aeb 100644
--- a/pkgs/applications/office/cb2bib/default.nix
+++ b/pkgs/applications/office/cb2bib/default.nix
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
     runHook postConfigure
   '';
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "Rapidly extract unformatted, or unstandardized bibliographic references from email alerts, journal Web pages and PDF files";
     homepage = "http://www.molspaces.com/d_cb2bib-overview.php";
diff --git a/pkgs/applications/office/docear/default.nix b/pkgs/applications/office/docear/default.nix
index 683e668157316..f8cd25ad78435 100644
--- a/pkgs/applications/office/docear/default.nix
+++ b/pkgs/applications/office/docear/default.nix
@@ -12,7 +12,8 @@ stdenv.mkDerivation {
     sha256 = "1g5n7r2x4gas6dl2fbyh7v9yxdcb6bzml8n3ldmpzv1rncgjcdp4";
   };
 
-  buildInputs = [ oraclejre makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ oraclejre ];
 
   buildPhase = "";
   installPhase = ''
diff --git a/pkgs/applications/office/grisbi/default.nix b/pkgs/applications/office/grisbi/default.nix
index 9fc7a84231b8c..9d085b6c88300 100644
--- a/pkgs/applications/office/grisbi/default.nix
+++ b/pkgs/applications/office/grisbi/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "grisbi";
-  version = "2.0.0";
+  version = "2.0.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/grisbi/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-b3I87tlXhIjM/bFjhsJTNFQvZxIGKsIbsf4zZT5sHXg=";
+    sha256 = "sha256-hFLiVHyEekCP9btO75e5ni70ZcLhjbBGCBjF2gERIqs=";
   };
 
   nativeBuildInputs = [ pkg-config wrapGAppsHook ];
diff --git a/pkgs/applications/office/homebank/default.nix b/pkgs/applications/office/homebank/default.nix
index 03c9445fe2499..17c72e8a33060 100644
--- a/pkgs/applications/office/homebank/default.nix
+++ b/pkgs/applications/office/homebank/default.nix
@@ -2,10 +2,10 @@
 , libsoup, gnome3 }:
 
 stdenv.mkDerivation rec {
-  name = "homebank-5.4.3";
+  name = "homebank-5.5";
   src = fetchurl {
     url = "http://homebank.free.fr/public/${name}.tar.gz";
-    sha256 = "02wd569viwy6ncy0144z9nxr3zmpl4shkqhz7zzwyky4gknxf8lj";
+    sha256 = "sha256-3tqmsCxQXNAsDsLdiyuk4MydH0WgHqsNpgqxvCp+bHU=";
   };
 
   nativeBuildInputs = [ pkg-config wrapGAppsHook ];
diff --git a/pkgs/applications/office/impressive/default.nix b/pkgs/applications/office/impressive/default.nix
index 4614a543694d6..f46d893d89480 100644
--- a/pkgs/applications/office/impressive/default.nix
+++ b/pkgs/applications/office/impressive/default.nix
@@ -16,7 +16,8 @@ in stdenv.mkDerivation {
       sha256 = "1r7ihv41awnlnlry1kymb8fka053wdhzibfwcarn78rr3vs338vl";
     };
 
-    buildInputs = [ makeWrapper pythonEnv ];
+    nativeBuildInputs = [ makeWrapper ];
+    buildInputs = [ pythonEnv ];
 
     configurePhase = ''
       # Let's fail at build time if the library we're substituting in doesn't
diff --git a/pkgs/applications/office/jabref/default.nix b/pkgs/applications/office/jabref/default.nix
index 3974e75a2f730..4eb39f4d1f825 100644
--- a/pkgs/applications/office/jabref/default.nix
+++ b/pkgs/applications/office/jabref/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, makeWrapper, makeDesktopItem, wrapGAppsHook, gtk3, gsettings-desktop-schemas
-, zlib , libX11, libXext, libXi, libXrender, libXtst, libGL, alsaLib, libav, cairo, freetype, pango, gdk-pixbuf, glib }:
+, zlib , libX11, libXext, libXi, libXrender, libXtst, libGL, alsaLib, cairo, freetype, pango, gdk-pixbuf, glib }:
 
 stdenv.mkDerivation rec {
   version = "5.1";
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper wrapGAppsHook ];
   buildInputs = [ gsettings-desktop-schemas ] ++ systemLibs;
 
-  systemLibs = [ gtk3 zlib libX11 libXext libXi libXrender libXtst libGL alsaLib libav cairo freetype pango gdk-pixbuf glib ];
+  systemLibs = [ gtk3 zlib libX11 libXext libXi libXrender libXtst libGL alsaLib cairo freetype pango gdk-pixbuf glib ];
   systemLibPaths = lib.makeLibraryPath systemLibs;
 
   installPhase = ''
diff --git a/pkgs/applications/office/kbibtex/default.nix b/pkgs/applications/office/kbibtex/default.nix
new file mode 100644
index 0000000000000..861ec4d99ef04
--- /dev/null
+++ b/pkgs/applications/office/kbibtex/default.nix
@@ -0,0 +1,74 @@
+{ lib
+, mkDerivation
+, fetchurl
+# build-time
+, extra-cmake-modules
+, shared-mime-info
+# Qt
+, qtxmlpatterns
+, qtwebengine
+, qca-qt5
+# KDE
+, ki18n
+, kxmlgui
+, kio
+, kiconthemes
+, kitemviews
+, kparts
+, kcoreaddons
+, kservice
+, ktexteditor
+, kdoctools
+, kwallet
+, kcrash
+# other
+, poppler
+, bibutils
+}:
+
+mkDerivation rec {
+  pname = "kbibtex";
+  version = "0.9.2";
+
+  src = fetchurl {
+    url = "mirror://kde/stable/KBibTeX/${version}/kbibtex-${version}.tar.xz";
+    sha256 = "09xcdx363z9hps3wbr1kx96a6q6678y8pg8r3apyps4xm7xm31nr";
+  };
+
+  nativeBuildInputs = [
+    extra-cmake-modules
+    shared-mime-info
+  ];
+
+  buildInputs = [
+    qtxmlpatterns
+    qtwebengine
+    qca-qt5
+    # TODO qtoauth
+    ki18n
+    kxmlgui
+    kio
+    kiconthemes
+    kitemviews
+    kparts
+    kcoreaddons
+    kservice
+    ktexteditor
+    kdoctools
+    kwallet
+    kcrash
+    poppler
+  ];
+
+  qtWrapperArgs = [
+    "--prefix" "PATH" ":" "${lib.makeBinPath [ bibutils ]}"
+  ];
+
+  meta = with lib; {
+    description = "Bibliography editor for KDE";
+    homepage = "https://userbase.kde.org/KBibTeX";
+    changelog = "https://invent.kde.org/office/kbibtex/-/raw/v${version}/ChangeLog";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/applications/office/ledger/default.nix b/pkgs/applications/office/ledger/default.nix
index 7f543c9bbcc6c..5478382cbd83d 100644
--- a/pkgs/applications/office/ledger/default.nix
+++ b/pkgs/applications/office/ledger/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, cmake, boost, gmp, mpfr, libedit, python
+{ stdenv, lib, fetchFromGitHub, cmake, boost, gmp, mpfr, libedit, python3
 , texinfo, gnused, usePython ? true }:
 
 stdenv.mkDerivation rec {
@@ -15,8 +15,8 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
 
   buildInputs = [
-    (boost.override { enablePython = usePython; })
-    gmp mpfr libedit python gnused
+    (boost.override { enablePython = usePython; python = python3; })
+    gmp mpfr libedit python3 gnused
   ];
 
   nativeBuildInputs = [ cmake texinfo ];
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   # however, that would write to a different nixstore path, pass our own sitePackages location
   prePatch = lib.optionalString usePython ''
     substituteInPlace src/CMakeLists.txt \
-      --replace 'DESTINATION ''${Python_SITEARCH}' 'DESTINATION "${python.sitePackages}"'
+      --replace 'DESTINATION ''${Python_SITEARCH}' 'DESTINATION "${python3.sitePackages}"'
   '';
 
   installTargets = [ "doc" "install" ];
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index 7b3e630233f69..c9b1099f8b96b 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, lib, pam, python3, libxslt, perl, ArchiveZip, gettext
+{ stdenv, fetchurl, lib, pam, python3, libxslt, perl, ArchiveZip, box2d, gettext
 , IOCompress, zlib, libjpeg, expat, freetype, libwpd
 , libxml2, db, curl, fontconfig, libsndfile, neon
 , bison, flex, zip, unzip, gtk3, libmspack, getopt, file, cairo, which
@@ -58,18 +58,13 @@ in (mkDrv rec {
 
   outputs = [ "out" "dev" ];
 
-  # For some reason librdf_redland sometimes refers to rasqal.h instead
-  # of rasqal/rasqal.h
   NIX_CFLAGS_COMPILE = [
-    "-I${librdf_rasqal}/include/rasqal"
-  ] ++ lib.optionals stdenv.isx86_64 [ "-mno-fma" "-mno-avx" ]
-  # https://bugs.documentfoundation.org/show_bug.cgi?id=78174#c10
-  ++ [ "-fno-visibility-inlines-hidden" ];
-
-  patches = [
-    ./xdg-open-brief.patch
+    "-I${librdf_rasqal}/include/rasqal" # librdf_redland refers to rasqal.h instead of rasqal/rasqal.h
+    "-fno-visibility-inlines-hidden" # https://bugs.documentfoundation.org/show_bug.cgi?id=78174#c10
   ];
 
+  patches = [ ./xdg-open-brief.patch ];
+
   tarballPath = "external/tarballs";
 
   postUnpack = ''
@@ -378,7 +373,7 @@ in (mkDrv rec {
     "--enable-kf5"
     "--enable-qt5"
     "--enable-gtk3-kde5"
-  ] ++ lib.optional (lib.versionOlder version "6.4") "--disable-gtk"; # disables GTK2, GTK3 is still there
+  ];
 
   checkPhase = ''
     make unitcheck
@@ -391,7 +386,7 @@ in (mkDrv rec {
     ++ lib.optional kdeIntegration wrapQtAppsHook;
 
   buildInputs = with xorg;
-    [ ant ArchiveZip boost cairo clucene_core
+    [ ant ArchiveZip boost box2d cairo clucene_core
       IOCompress cppunit cups curl db dbus-glib expat file flex fontconfig
       freetype getopt gperf gtk3
       hunspell icu jdk lcms libcdr libexttextcat unixODBC libjpeg
diff --git a/pkgs/applications/office/libreoffice/src-fresh/download.nix b/pkgs/applications/office/libreoffice/src-fresh/download.nix
index d956a3b08a615..ea6fc1d777e99 100644
--- a/pkgs/applications/office/libreoffice/src-fresh/download.nix
+++ b/pkgs/applications/office/libreoffice/src-fresh/download.nix
@@ -35,6 +35,13 @@
     md5name = "35e06a3bd7cd8f66be822c7d64e80c2b6051a181e9e897006917cb8e7988a543-boost_1_71_0.tar.xz";
   }
   {
+    name = "box2d-2.3.1.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/box2d-2.3.1.tar.gz";
+    sha256 = "58ffc8475a8650aadc351345aef696937747b40501ab78d72c197c5ff5b3035c";
+    md5 = "";
+    md5name = "58ffc8475a8650aadc351345aef696937747b40501ab78d72c197c5ff5b3035c-box2d-2.3.1.tar.gz";
+  }
+  {
     name = "breakpad.zip";
     url = "https://dev-www.libreoffice.org/src/breakpad.zip";
     sha256 = "7060149be16a8789b0ccf596bdeaf63115f03f520acb508f72a14686fb311cb9";
@@ -329,11 +336,11 @@
     md5name = "c5e167c042afd2d7ad642ace6b643863baeb33880781983563e1ab68a30d3e95-glm-0.9.9.7.zip";
   }
   {
-    name = "gpgme-1.9.0.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/gpgme-1.9.0.tar.bz2";
-    sha256 = "1b29fedb8bfad775e70eafac5b0590621683b2d9869db994568e6401f4034ceb";
+    name = "gpgme-1.13.1.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/gpgme-1.13.1.tar.bz2";
+    sha256 = "c4e30b227682374c23cddc7fdb9324a99694d907e79242a25a4deeedb393be46";
     md5 = "";
-    md5name = "1b29fedb8bfad775e70eafac5b0590621683b2d9869db994568e6401f4034ceb-gpgme-1.9.0.tar.bz2";
+    md5name = "c4e30b227682374c23cddc7fdb9324a99694d907e79242a25a4deeedb393be46-gpgme-1.13.1.tar.bz2";
   }
   {
     name = "graphite2-minimal-1.3.14.tgz";
@@ -371,18 +378,18 @@
     md5name = "5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz";
   }
   {
-    name = "icu4c-67_1-src.tgz";
-    url = "https://dev-www.libreoffice.org/src/icu4c-67_1-src.tgz";
-    sha256 = "94a80cd6f251a53bd2a997f6f1b5ac6653fe791dfab66e1eb0227740fb86d5dc";
+    name = "icu4c-68_1-src.tgz";
+    url = "https://dev-www.libreoffice.org/src/icu4c-68_1-src.tgz";
+    sha256 = "a9f2e3d8b4434b8e53878b4308bd1e6ee51c9c7042e2b1a376abefb6fbb29f2d";
     md5 = "";
-    md5name = "94a80cd6f251a53bd2a997f6f1b5ac6653fe791dfab66e1eb0227740fb86d5dc-icu4c-67_1-src.tgz";
+    md5name = "a9f2e3d8b4434b8e53878b4308bd1e6ee51c9c7042e2b1a376abefb6fbb29f2d-icu4c-68_1-src.tgz";
   }
   {
-    name = "icu4c-67_1-data.zip";
-    url = "https://dev-www.libreoffice.org/src/icu4c-67_1-data.zip";
-    sha256 = "7c16a59cc8c06128b7ecc1dc4fc056b36b17349312829b17408b9e67b05c4a7e";
+    name = "icu4c-68_1-data.zip";
+    url = "https://dev-www.libreoffice.org/src/icu4c-68_1-data.zip";
+    sha256 = "03ea8b4694155620548c8c0ba20444f1e7db246cc79e3b9c4fc7a960b160d510";
     md5 = "";
-    md5name = "7c16a59cc8c06128b7ecc1dc4fc056b36b17349312829b17408b9e67b05c4a7e-icu4c-67_1-data.zip";
+    md5name = "03ea8b4694155620548c8c0ba20444f1e7db246cc79e3b9c4fc7a960b160d510-icu4c-68_1-data.zip";
   }
   {
     name = "flow-engine-0.9.4.zip";
@@ -483,18 +490,18 @@
     md5name = "b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2";
   }
   {
-    name = "lcms2-2.9.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/lcms2-2.9.tar.gz";
-    sha256 = "48c6fdf98396fa245ed86e622028caf49b96fa22f3e5734f853f806fbc8e7d20";
+    name = "lcms2-2.11.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/lcms2-2.11.tar.gz";
+    sha256 = "dc49b9c8e4d7cdff376040571a722902b682a795bf92985a85b48854c270772e";
     md5 = "";
-    md5name = "48c6fdf98396fa245ed86e622028caf49b96fa22f3e5734f853f806fbc8e7d20-lcms2-2.9.tar.gz";
+    md5name = "dc49b9c8e4d7cdff376040571a722902b682a795bf92985a85b48854c270772e-lcms2-2.11.tar.gz";
   }
   {
-    name = "libassuan-2.5.1.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/libassuan-2.5.1.tar.bz2";
-    sha256 = "47f96c37b4f2aac289f0bc1bacfa8bd8b4b209a488d3d15e2229cb6cc9b26449";
+    name = "libassuan-2.5.3.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/libassuan-2.5.3.tar.bz2";
+    sha256 = "91bcb0403866b4e7c4bc1cc52ed4c364a9b5414b3994f718c70303f7f765e702";
     md5 = "";
-    md5name = "47f96c37b4f2aac289f0bc1bacfa8bd8b4b209a488d3d15e2229cb6cc9b26449-libassuan-2.5.1.tar.bz2";
+    md5name = "91bcb0403866b4e7c4bc1cc52ed4c364a9b5414b3994f718c70303f7f765e702-libassuan-2.5.3.tar.bz2";
   }
   {
     name = "libatomic_ops-7.6.8.tar.gz";
@@ -525,11 +532,11 @@
     md5name = "72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056-libffi-3.3.tar.gz";
   }
   {
-    name = "libgpg-error-1.27.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/libgpg-error-1.27.tar.bz2";
-    sha256 = "4f93aac6fecb7da2b92871bb9ee33032be6a87b174f54abf8ddf0911a22d29d2";
+    name = "libgpg-error-1.37.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/libgpg-error-1.37.tar.bz2";
+    sha256 = "b32d6ff72a73cf79797f7f2d039e95e9c6f92f0c1450215410840ab62aea9763";
     md5 = "";
-    md5name = "4f93aac6fecb7da2b92871bb9ee33032be6a87b174f54abf8ddf0911a22d29d2-libgpg-error-1.27.tar.bz2";
+    md5name = "b32d6ff72a73cf79797f7f2d039e95e9c6f92f0c1450215410840ab62aea9763-libgpg-error-1.37.tar.bz2";
   }
   {
     name = "liblangtag-0.6.2.tar.bz2";
@@ -595,11 +602,11 @@
     md5name = "431434d3926f4bcce2e5c97240609983f60d7ff50df5a72083934759bb863f7b-mariadb-connector-c-3.1.8-src.tar.gz";
   }
   {
-    name = "mdds-1.6.0.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/mdds-1.6.0.tar.bz2";
-    sha256 = "f1585c9cbd12f83a6d43d395ac1ab6a9d9d5d77f062c7b5f704e24ed72dae07d";
+    name = "mdds-1.7.0.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/mdds-1.7.0.tar.bz2";
+    sha256 = "a66a2a8293a3abc6cd9baff7c236156e2666935cbfb69a15d64d38141638fecf";
     md5 = "";
-    md5name = "f1585c9cbd12f83a6d43d395ac1ab6a9d9d5d77f062c7b5f704e24ed72dae07d-mdds-1.6.0.tar.bz2";
+    md5name = "a66a2a8293a3abc6cd9baff7c236156e2666935cbfb69a15d64d38141638fecf-mdds-1.7.0.tar.bz2";
   }
   {
     name = "mDNSResponder-878.200.35.tar.gz";
@@ -616,11 +623,11 @@
     md5name = "ef36c1a1aabb2ba3b0bedaaafe717bf4480be2ba8de6f3894be5fd3702b013ba-libmspub-0.1.4.tar.xz";
   }
   {
-    name = "libmwaw-0.3.16.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/libmwaw-0.3.16.tar.xz";
-    sha256 = "0c639edba5297bde5575193bf5b5f2f469956beaff5c0206d91ce9df6bde1868";
+    name = "libmwaw-0.3.17.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libmwaw-0.3.17.tar.xz";
+    sha256 = "8e1537eb1de1b4714f4bf0a20478f342c5d71a65bf99307a694b1e9e30bb911c";
     md5 = "";
-    md5name = "0c639edba5297bde5575193bf5b5f2f469956beaff5c0206d91ce9df6bde1868-libmwaw-0.3.16.tar.xz";
+    md5name = "8e1537eb1de1b4714f4bf0a20478f342c5d71a65bf99307a694b1e9e30bb911c-libmwaw-0.3.17.tar.xz";
   }
   {
     name = "mythes-1.2.4.tar.gz";
@@ -630,11 +637,11 @@
     md5name = "a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz";
   }
   {
-    name = "neon-0.30.2.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/neon-0.30.2.tar.gz";
-    sha256 = "db0bd8cdec329b48f53a6f00199c92d5ba40b0f015b153718d1b15d3d967fbca";
+    name = "neon-0.31.1.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/neon-0.31.1.tar.gz";
+    sha256 = "c9dfcee723050df37ce18ba449d7707b78e7ab8230f3a4c59d9112e17dc2718d";
     md5 = "";
-    md5name = "db0bd8cdec329b48f53a6f00199c92d5ba40b0f015b153718d1b15d3d967fbca-neon-0.30.2.tar.gz";
+    md5name = "c9dfcee723050df37ce18ba449d7707b78e7ab8230f3a4c59d9112e17dc2718d-neon-0.31.1.tar.gz";
   }
   {
     name = "nss-3.55-with-nspr-4.27.tar.gz";
@@ -672,18 +679,18 @@
     md5name = "cdd6cffdebcd95161a73305ec13fc7a78e9707b46ca9f84fb897cd5626df3824-openldap-2.4.45.tgz";
   }
   {
-    name = "openssl-1.0.2t.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/openssl-1.0.2t.tar.gz";
-    sha256 = "14cb464efe7ac6b54799b34456bd69558a749a4931ecfd9cf9f71d7881cac7bc";
+    name = "openssl-1.1.1i.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/openssl-1.1.1i.tar.gz";
+    sha256 = "e8be6a35fe41d10603c3cc635e93289ed00bf34b79671a3a4de64fcee00d5242";
     md5 = "";
-    md5name = "14cb464efe7ac6b54799b34456bd69558a749a4931ecfd9cf9f71d7881cac7bc-openssl-1.0.2t.tar.gz";
+    md5name = "e8be6a35fe41d10603c3cc635e93289ed00bf34b79671a3a4de64fcee00d5242-openssl-1.1.1i.tar.gz";
   }
   {
-    name = "liborcus-0.15.4.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/liborcus-0.15.4.tar.bz2";
-    sha256 = "cfb2aa60825f2a78589ed030c07f46a1ee16ef8a2d1bf2279192fbc1ae5a5f61";
+    name = "liborcus-0.16.1.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/liborcus-0.16.1.tar.bz2";
+    sha256 = "c700d1325f744104d9fca0d5a019434901e9d51a16eedfb05792f90a298587a4";
     md5 = "";
-    md5name = "cfb2aa60825f2a78589ed030c07f46a1ee16ef8a2d1bf2279192fbc1ae5a5f61-liborcus-0.15.4.tar.bz2";
+    md5name = "c700d1325f744104d9fca0d5a019434901e9d51a16eedfb05792f90a298587a4-liborcus-0.16.1.tar.bz2";
   }
   {
     name = "owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
@@ -721,11 +728,11 @@
     md5name = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca-libpng-1.6.37.tar.xz";
   }
   {
-    name = "poppler-0.82.0.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/poppler-0.82.0.tar.xz";
-    sha256 = "234f8e573ea57fb6a008e7c1e56bfae1af5d1adf0e65f47555e1ae103874e4df";
+    name = "poppler-21.01.0.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/poppler-21.01.0.tar.xz";
+    sha256 = "016dde34e5f868ea98a32ca99b643325a9682281500942b7113f4ec88d20e2f3";
     md5 = "";
-    md5name = "234f8e573ea57fb6a008e7c1e56bfae1af5d1adf0e65f47555e1ae103874e4df-poppler-0.82.0.tar.xz";
+    md5name = "016dde34e5f868ea98a32ca99b643325a9682281500942b7113f4ec88d20e2f3-poppler-21.01.0.tar.xz";
   }
   {
     name = "postgresql-9.2.24.tar.bz2";
@@ -735,11 +742,11 @@
     md5name = "a754c02f7051c2f21e52f8669a421b50485afcde9a581674d6106326b189d126-postgresql-9.2.24.tar.bz2";
   }
   {
-    name = "Python-3.7.7.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/Python-3.7.7.tar.xz";
-    sha256 = "06a0a9f1bf0d8cd1e4121194d666c4e28ddae4dd54346de6c343206599f02136";
+    name = "Python-3.8.4.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/Python-3.8.4.tar.xz";
+    sha256 = "5f41968a95afe9bc12192d7e6861aab31e80a46c46fa59d3d837def6a4cd4d37";
     md5 = "";
-    md5name = "06a0a9f1bf0d8cd1e4121194d666c4e28ddae4dd54346de6c343206599f02136-Python-3.7.7.tar.xz";
+    md5name = "5f41968a95afe9bc12192d7e6861aab31e80a46c46fa59d3d837def6a4cd4d37-Python-3.8.4.tar.xz";
   }
   {
     name = "QR-Code-generator-1.4.0.tar.gz";
@@ -798,11 +805,11 @@
     md5name = "6988d394b62c3494635b6f0760bc3079f9a0cd380baf0f6b075af1eb9fa5e700-serf-1.2.1.tar.bz2";
   }
   {
-    name = "skia-m85-e684c6daef6bfb774a325a069eda1f76ca6ac26c.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/skia-m85-e684c6daef6bfb774a325a069eda1f76ca6ac26c.tar.xz";
-    sha256 = "3294877fa2b61b220d98a0f7bfc11325429b13edd2cf455444c703ee3a14d760";
+    name = "skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz";
+    sha256 = "f293656a15342a53bb407b932fc907c6894178a162f09728bd383e24d84b1301";
     md5 = "";
-    md5name = "3294877fa2b61b220d98a0f7bfc11325429b13edd2cf455444c703ee3a14d760-skia-m85-e684c6daef6bfb774a325a069eda1f76ca6ac26c.tar.xz";
+    md5name = "f293656a15342a53bb407b932fc907c6894178a162f09728bd383e24d84b1301-skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz";
   }
   {
     name = "libstaroffice-0.0.7.tar.xz";
@@ -854,11 +861,11 @@
     md5name = "99b3f7f8832385748582ab8130fbb9e5607bd5179bebf9751ac1d51a53099d1c-libwpg-0.3.3.tar.xz";
   }
   {
-    name = "libwps-0.4.11.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/libwps-0.4.11.tar.xz";
-    sha256 = "a8fdaabc28654a975fa78c81873ac503ba18f0d1cdbb942f470a21d29284b4d1";
+    name = "libwps-0.4.12.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libwps-0.4.12.tar.xz";
+    sha256 = "e21afb52a06d03b774c5a8c72679687ab64891b91ce0c3bdf2d3e97231534edb";
     md5 = "";
-    md5name = "a8fdaabc28654a975fa78c81873ac503ba18f0d1cdbb942f470a21d29284b4d1-libwps-0.4.11.tar.xz";
+    md5name = "e21afb52a06d03b774c5a8c72679687ab64891b91ce0c3bdf2d3e97231534edb-libwps-0.4.12.tar.xz";
   }
   {
     name = "xsltml_2.1.2.zip";
diff --git a/pkgs/applications/office/libreoffice/src-fresh/primary.nix b/pkgs/applications/office/libreoffice/src-fresh/primary.nix
index c9b1826471145..6fbc8c5cfc605 100644
--- a/pkgs/applications/office/libreoffice/src-fresh/primary.nix
+++ b/pkgs/applications/office/libreoffice/src-fresh/primary.nix
@@ -7,9 +7,9 @@ rec {
   };
 
   major = "7";
-  minor = "0";
-  patch = "4";
-  tweak = "2";
+  minor = "1";
+  patch = "0";
+  tweak = "3";
 
   subdir = "${major}.${minor}.${patch}";
 
@@ -17,13 +17,13 @@ rec {
 
   src = fetchurl {
     url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "1g9akxvm7fh6lnprnc3g184qdy8gbinhb4rb60gjpw82ip6d5acz";
+    sha256 = "1rpk90g1g8m70nrj4lwkg50aiild73d29yjlgyrgg8wx6hzq7l4y";
   };
 
   # FIXME rename
   translations = fetchSrc {
     name = "translations";
-    sha256 = "1v3kpk56fm783d5wihx41jqidpclizkfxrg4n0pq95d79hdiljsl";
+    sha256 = "0m6cxyrxig8akv9183xdn6ialmjddicn676149nm506yc5y0szmi";
   };
 
   # the "dictionaries" archive is not used for LO build because we already build hunspellDicts packages from
@@ -31,6 +31,6 @@ rec {
 
   help = fetchSrc {
     name = "help";
-    sha256 = "1np9f799ww12kggl5az6piv5fi9rf737il5a5r47r4wl2li56qqb";
+    sha256 = "1kvsi28n8x3gxpiszxh84x05aw23i3z4id63pgw2s7mfclby52k9";
   };
 }
diff --git a/pkgs/applications/office/libreoffice/src-still/download.nix b/pkgs/applications/office/libreoffice/src-still/download.nix
index 78482326be236..d956a3b08a615 100644
--- a/pkgs/applications/office/libreoffice/src-still/download.nix
+++ b/pkgs/applications/office/libreoffice/src-still/download.nix
@@ -1,854 +1,882 @@
 [
   {
     name = "libabw-0.1.3.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libabw-0.1.3.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libabw-0.1.3.tar.xz";
     sha256 = "e763a9dc21c3d2667402d66e202e3f8ef4db51b34b79ef41f56cacb86dcd6eed";
     md5 = "";
     md5name = "e763a9dc21c3d2667402d66e202e3f8ef4db51b34b79ef41f56cacb86dcd6eed-libabw-0.1.3.tar.xz";
   }
   {
     name = "commons-logging-1.2-src.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/commons-logging-1.2-src.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/commons-logging-1.2-src.tar.gz";
     sha256 = "49665da5a60d033e6dff40fe0a7f9173e886ae859ce6096c1afe34c48b677c81";
     md5 = "";
     md5name = "49665da5a60d033e6dff40fe0a7f9173e886ae859ce6096c1afe34c48b677c81-commons-logging-1.2-src.tar.gz";
   }
   {
     name = "apr-1.5.2.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/apr-1.5.2.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/apr-1.5.2.tar.gz";
     sha256 = "1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c746d6dbdb";
     md5 = "";
     md5name = "1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c746d6dbdb-apr-1.5.2.tar.gz";
   }
   {
     name = "apr-util-1.5.4.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/apr-util-1.5.4.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/apr-util-1.5.4.tar.gz";
     sha256 = "976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19";
     md5 = "";
     md5name = "976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19-apr-util-1.5.4.tar.gz";
   }
   {
-    name = "boost_1_69_0.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/boost_1_69_0.tar.bz2";
-    sha256 = "8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406";
+    name = "boost_1_71_0.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/boost_1_71_0.tar.xz";
+    sha256 = "35e06a3bd7cd8f66be822c7d64e80c2b6051a181e9e897006917cb8e7988a543";
     md5 = "";
-    md5name = "8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406-boost_1_69_0.tar.bz2";
+    md5name = "35e06a3bd7cd8f66be822c7d64e80c2b6051a181e9e897006917cb8e7988a543-boost_1_71_0.tar.xz";
   }
   {
     name = "breakpad.zip";
-    url = "http://dev-www.libreoffice.org/src/breakpad.zip";
+    url = "https://dev-www.libreoffice.org/src/breakpad.zip";
     sha256 = "7060149be16a8789b0ccf596bdeaf63115f03f520acb508f72a14686fb311cb9";
     md5 = "";
     md5name = "7060149be16a8789b0ccf596bdeaf63115f03f520acb508f72a14686fb311cb9-breakpad.zip";
   }
   {
     name = "bsh-2.0b6-src.zip";
-    url = "http://dev-www.libreoffice.org/src/beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip";
+    url = "https://dev-www.libreoffice.org/src/beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip";
     sha256 = "9e93c73e23aff644b17dfff656444474c14150e7f3b38b19635e622235e01c96";
     md5 = "beeca87be45ec87d241ddd0e1bad80c1";
     md5name = "beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip";
   }
   {
     name = "bzip2-1.0.6.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/00b516f4704d4a7cb50a1d97e6e8e15b-bzip2-1.0.6.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/00b516f4704d4a7cb50a1d97e6e8e15b-bzip2-1.0.6.tar.gz";
     sha256 = "a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd";
     md5 = "00b516f4704d4a7cb50a1d97e6e8e15b";
     md5name = "00b516f4704d4a7cb50a1d97e6e8e15b-bzip2-1.0.6.tar.gz";
   }
   {
     name = "cairo-1.16.0.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/cairo-1.16.0.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/cairo-1.16.0.tar.xz";
     sha256 = "5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331";
     md5 = "";
     md5name = "5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331-cairo-1.16.0.tar.xz";
   }
   {
-    name = "libcdr-0.1.5.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libcdr-0.1.5.tar.xz";
-    sha256 = "6ace5c499a8be34ad871e825442ce388614ae2d8675c4381756a7319429e3a48";
+    name = "libcdr-0.1.6.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libcdr-0.1.6.tar.xz";
+    sha256 = "01cd00b04a030977e544433c2d127c997205332cd9b8e35ec0ee17110da7f861";
     md5 = "";
-    md5name = "6ace5c499a8be34ad871e825442ce388614ae2d8675c4381756a7319429e3a48-libcdr-0.1.5.tar.xz";
+    md5name = "01cd00b04a030977e544433c2d127c997205332cd9b8e35ec0ee17110da7f861-libcdr-0.1.6.tar.xz";
   }
   {
     name = "clucene-core-2.3.3.4.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz";
     sha256 = "ddfdc433dd8ad31b5c5819cc4404a8d2127472a3b720d3e744e8c51d79732eab";
     md5 = "48d647fbd8ef8889e5a7f422c1bfda94";
     md5name = "48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz";
   }
   {
+    name = "dtoa-20180411.tgz";
+    url = "https://dev-www.libreoffice.org/src/dtoa-20180411.tgz";
+    sha256 = "0082d0684f7db6f62361b76c4b7faba19e0c7ce5cb8e36c4b65fea8281e711b4";
+    md5 = "";
+    md5name = "0082d0684f7db6f62361b76c4b7faba19e0c7ce5cb8e36c4b65fea8281e711b4-dtoa-20180411.tgz";
+  }
+  {
     name = "libcmis-0.5.2.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libcmis-0.5.2.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libcmis-0.5.2.tar.xz";
     sha256 = "d7b18d9602190e10d437f8a964a32e983afd57e2db316a07d87477a79f5000a2";
     md5 = "";
     md5name = "d7b18d9602190e10d437f8a964a32e983afd57e2db316a07d87477a79f5000a2-libcmis-0.5.2.tar.xz";
   }
   {
     name = "CoinMP-1.7.6.tgz";
-    url = "http://dev-www.libreoffice.org/src/CoinMP-1.7.6.tgz";
+    url = "https://dev-www.libreoffice.org/src/CoinMP-1.7.6.tgz";
     sha256 = "86c798780b9e1f5921fe4efe651a93cb420623b45aa1fdff57af8c37f116113f";
     md5 = "";
     md5name = "86c798780b9e1f5921fe4efe651a93cb420623b45aa1fdff57af8c37f116113f-CoinMP-1.7.6.tgz";
   }
   {
-    name = "cppunit-1.14.0.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/cppunit-1.14.0.tar.gz";
-    sha256 = "3d569869d27b48860210c758c4f313082103a5e58219a7669b52bfd29d674780";
+    name = "cppunit-1.15.1.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/cppunit-1.15.1.tar.gz";
+    sha256 = "89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7";
     md5 = "";
-    md5name = "3d569869d27b48860210c758c4f313082103a5e58219a7669b52bfd29d674780-cppunit-1.14.0.tar.gz";
+    md5name = "89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7-cppunit-1.15.1.tar.gz";
   }
   {
     name = "converttexttonumber-1-5-0.oxt";
-    url = "http://dev-www.libreoffice.org/src/1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt";
+    url = "https://dev-www.libreoffice.org/src/1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt";
     sha256 = "71b238efd2734be9800af07566daea8d6685aeed28db5eb5fa0e6453f4d85de3";
     md5 = "1f467e5bb703f12cbbb09d5cf67ecf4a";
     md5name = "1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt";
   }
   {
-    name = "curl-7.65.0.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/curl-7.65.0.tar.xz";
-    sha256 = "7766d263929404f693905b5e5222aa0f2bdf8c66ab4b8758f0c0820a42b966cd";
+    name = "curl-7.71.0.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/curl-7.71.0.tar.xz";
+    sha256 = "cdf18794393d8bead915312708a9e5d819c6e9919de14b20d5c8e7987abd9772";
     md5 = "";
-    md5name = "7766d263929404f693905b5e5222aa0f2bdf8c66ab4b8758f0c0820a42b966cd-curl-7.65.0.tar.xz";
+    md5name = "cdf18794393d8bead915312708a9e5d819c6e9919de14b20d5c8e7987abd9772-curl-7.71.0.tar.xz";
   }
   {
     name = "libe-book-0.1.3.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libe-book-0.1.3.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libe-book-0.1.3.tar.xz";
     sha256 = "7e8d8ff34f27831aca3bc6f9cc532c2f90d2057c778963b884ff3d1e34dfe1f9";
     md5 = "";
     md5name = "7e8d8ff34f27831aca3bc6f9cc532c2f90d2057c778963b884ff3d1e34dfe1f9-libe-book-0.1.3.tar.xz";
   }
   {
     name = "libepoxy-1.5.3.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libepoxy-1.5.3.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libepoxy-1.5.3.tar.xz";
     sha256 = "002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d";
     md5 = "";
     md5name = "002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d-libepoxy-1.5.3.tar.xz";
   }
   {
     name = "epm-3.7.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz";
     sha256 = "b3fc4c5445de6c9a801504a3ea3efb2d4ea9d5a622c9427e716736e7713ddb91";
     md5 = "3ade8cfe7e59ca8e65052644fed9fca4";
     md5name = "3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz";
   }
   {
     name = "libepubgen-0.1.1.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libepubgen-0.1.1.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libepubgen-0.1.1.tar.xz";
     sha256 = "03e084b994cbeffc8c3dd13303b2cb805f44d8f2c3b79f7690d7e3fc7f6215ad";
     md5 = "";
     md5name = "03e084b994cbeffc8c3dd13303b2cb805f44d8f2c3b79f7690d7e3fc7f6215ad-libepubgen-0.1.1.tar.xz";
   }
   {
     name = "libetonyek-0.1.9.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libetonyek-0.1.9.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libetonyek-0.1.9.tar.xz";
     sha256 = "e61677e8799ce6e55b25afc11aa5339113f6a49cff031f336e32fa58635b1a4a";
     md5 = "";
     md5name = "e61677e8799ce6e55b25afc11aa5339113f6a49cff031f336e32fa58635b1a4a-libetonyek-0.1.9.tar.xz";
   }
   {
     name = "expat-2.2.8.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/expat-2.2.8.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/expat-2.2.8.tar.bz2";
     sha256 = "9a130948b05a82da34e4171d5f5ae5d321d9630277af02c8fa51e431f6475102";
     md5 = "";
     md5name = "9a130948b05a82da34e4171d5f5ae5d321d9630277af02c8fa51e431f6475102-expat-2.2.8.tar.bz2";
   }
   {
     name = "Firebird-3.0.0.32483-0.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/Firebird-3.0.0.32483-0.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/Firebird-3.0.0.32483-0.tar.bz2";
     sha256 = "6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860";
     md5 = "";
     md5name = "6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860-Firebird-3.0.0.32483-0.tar.bz2";
   }
   {
-    name = "fontconfig-2.12.6.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/fontconfig-2.12.6.tar.bz2";
-    sha256 = "cf0c30807d08f6a28ab46c61b8dbd55c97d2f292cf88f3a07d3384687f31f017";
+    name = "fontconfig-2.13.91.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/fontconfig-2.13.91.tar.gz";
+    sha256 = "19e5b1bc9d013a52063a44e1307629711f0bfef35b9aca16f9c793971e2eb1e5";
     md5 = "";
-    md5name = "cf0c30807d08f6a28ab46c61b8dbd55c97d2f292cf88f3a07d3384687f31f017-fontconfig-2.12.6.tar.bz2";
+    md5name = "19e5b1bc9d013a52063a44e1307629711f0bfef35b9aca16f9c793971e2eb1e5-fontconfig-2.13.91.tar.gz";
   }
   {
     name = "crosextrafonts-20130214.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz";
     sha256 = "c48d1c2fd613c9c06c959c34da7b8388059e2408d2bb19845dc3ed35f76e4d09";
     md5 = "368f114c078f94214a308a74c7e991bc";
     md5name = "368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz";
   }
   {
     name = "crosextrafonts-carlito-20130920.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz";
     sha256 = "4bd12b6cbc321c1cf16da76e2c585c925ce956a08067ae6f6c64eff6ccfdaf5a";
     md5 = "c74b7223abe75949b4af367942d96c7a";
     md5name = "c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz";
   }
   {
     name = "dejavu-fonts-ttf-2.37.zip";
-    url = "http://dev-www.libreoffice.org/src/33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip";
+    url = "https://dev-www.libreoffice.org/src/33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip";
     sha256 = "7576310b219e04159d35ff61dd4a4ec4cdba4f35c00e002a136f00e96a908b0a";
     md5 = "33e1e61fab06a547851ed308b4ffef42";
     md5name = "33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip";
   }
   {
     name = "GentiumBasic_1102.zip";
-    url = "http://dev-www.libreoffice.org/src/1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip";
+    url = "https://dev-www.libreoffice.org/src/1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip";
     sha256 = "2f1a2c5491d7305dffd3520c6375d2f3e14931ee35c6d8ae1e8f098bf1a7b3cc";
     md5 = "1725634df4bb3dcb1b2c91a6175f8789";
     md5name = "1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip";
   }
   {
     name = "liberation-narrow-fonts-ttf-1.07.6.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/liberation-narrow-fonts-ttf-1.07.6.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/liberation-narrow-fonts-ttf-1.07.6.tar.gz";
     sha256 = "8879d89b5ff7b506c9fc28efc31a5c0b954bbe9333e66e5283d27d20a8519ea3";
     md5 = "";
     md5name = "8879d89b5ff7b506c9fc28efc31a5c0b954bbe9333e66e5283d27d20a8519ea3-liberation-narrow-fonts-ttf-1.07.6.tar.gz";
   }
   {
     name = "liberation-fonts-ttf-2.00.4.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/liberation-fonts-ttf-2.00.4.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/liberation-fonts-ttf-2.00.4.tar.gz";
     sha256 = "c40e95fc5e0ecb73d4be565ae2afc1114e2bc7dc5253e00ee92d8fd6cc4adf45";
     md5 = "";
     md5name = "c40e95fc5e0ecb73d4be565ae2afc1114e2bc7dc5253e00ee92d8fd6cc4adf45-liberation-fonts-ttf-2.00.4.tar.gz";
   }
   {
     name = "LinLibertineG-20120116.zip";
-    url = "http://dev-www.libreoffice.org/src/e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip";
+    url = "https://dev-www.libreoffice.org/src/e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip";
     sha256 = "54adcb2bc8cac0927a647fbd9362f45eff48130ce6e2379dc3867643019e08c5";
     md5 = "e7a384790b13c29113e22e596ade9687";
     md5name = "e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip";
   }
   {
     name = "source-code-pro-2.030R-ro-1.050R-it.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz";
     sha256 = "09466dce87653333f189acd8358c60c6736dcd95f042dee0b644bdcf65b6ae2f";
     md5 = "907d6e99f241876695c19ff3db0b8923";
     md5name = "907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz";
   }
   {
     name = "source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
     sha256 = "e7bc9a1fec787a529e49f5a26b93dcdcf41506449dfc70f92cdef6d17eb6fb61";
     md5 = "edc4d741888bc0d38e32dbaa17149596";
     md5name = "edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
   }
   {
     name = "source-serif-pro-3.000R.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/source-serif-pro-3.000R.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/source-serif-pro-3.000R.tar.gz";
     sha256 = "826a2b784d5cdb4c2bbc7830eb62871528360a61a52689c102a101623f1928e3";
     md5 = "";
     md5name = "826a2b784d5cdb4c2bbc7830eb62871528360a61a52689c102a101623f1928e3-source-serif-pro-3.000R.tar.gz";
   }
   {
     name = "EmojiOneColor-SVGinOT-1.3.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/EmojiOneColor-SVGinOT-1.3.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/EmojiOneColor-SVGinOT-1.3.tar.gz";
     sha256 = "d1a08f7c10589f22740231017694af0a7a270760c8dec33d8d1c038e2be0a0c7";
     md5 = "";
     md5name = "d1a08f7c10589f22740231017694af0a7a270760c8dec33d8d1c038e2be0a0c7-EmojiOneColor-SVGinOT-1.3.tar.gz";
   }
   {
     name = "noto-fonts-20171024.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/noto-fonts-20171024.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/noto-fonts-20171024.tar.gz";
     sha256 = "29acc15a4c4d6b51201ba5d60f303dfbc2e5acbfdb70413c9ae1ed34fa259994";
     md5 = "";
     md5name = "29acc15a4c4d6b51201ba5d60f303dfbc2e5acbfdb70413c9ae1ed34fa259994-noto-fonts-20171024.tar.gz";
   }
   {
     name = "culmus-0.131.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/culmus-0.131.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/culmus-0.131.tar.gz";
     sha256 = "dcf112cfcccb76328dcfc095f4d7c7f4d2f7e48d0eed5e78b100d1d77ce2ed1b";
     md5 = "";
     md5name = "dcf112cfcccb76328dcfc095f4d7c7f4d2f7e48d0eed5e78b100d1d77ce2ed1b-culmus-0.131.tar.gz";
   }
   {
     name = "libre-hebrew-1.0.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/libre-hebrew-1.0.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/libre-hebrew-1.0.tar.gz";
     sha256 = "f596257c1db706ce35795b18d7f66a4db99d427725f20e9384914b534142579a";
     md5 = "";
     md5name = "f596257c1db706ce35795b18d7f66a4db99d427725f20e9384914b534142579a-libre-hebrew-1.0.tar.gz";
   }
   {
     name = "alef-1.001.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/alef-1.001.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/alef-1.001.tar.gz";
     sha256 = "b98b67602a2c8880a1770f0b9e37c190f29a7e2ade5616784f0b89fbdb75bf52";
     md5 = "";
     md5name = "b98b67602a2c8880a1770f0b9e37c190f29a7e2ade5616784f0b89fbdb75bf52-alef-1.001.tar.gz";
   }
   {
     name = "Amiri-0.111.zip";
-    url = "http://dev-www.libreoffice.org/src/Amiri-0.111.zip";
+    url = "https://dev-www.libreoffice.org/src/Amiri-0.111.zip";
     sha256 = "1fbfccced6348b5db2c1c21d5b319cd488e14d055702fa817a0f6cb83d882166";
     md5 = "";
     md5name = "1fbfccced6348b5db2c1c21d5b319cd488e14d055702fa817a0f6cb83d882166-Amiri-0.111.zip";
   }
   {
     name = "ttf-kacst_2.01+mry.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/ttf-kacst_2.01+mry.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/ttf-kacst_2.01+mry.tar.gz";
     sha256 = "dca00f5e655f2f217a766faa73a81f542c5c204aa3a47017c3c2be0b31d00a56";
     md5 = "";
     md5name = "dca00f5e655f2f217a766faa73a81f542c5c204aa3a47017c3c2be0b31d00a56-ttf-kacst_2.01+mry.tar.gz";
   }
   {
     name = "ReemKufi-0.7.zip";
-    url = "http://dev-www.libreoffice.org/src/ReemKufi-0.7.zip";
+    url = "https://dev-www.libreoffice.org/src/ReemKufi-0.7.zip";
     sha256 = "f60c6508d209ce4236d2d7324256c2ffddd480be7e3d6023770b93dc391a605f";
     md5 = "";
     md5name = "f60c6508d209ce4236d2d7324256c2ffddd480be7e3d6023770b93dc391a605f-ReemKufi-0.7.zip";
   }
   {
     name = "Scheherazade-2.100.zip";
-    url = "http://dev-www.libreoffice.org/src/Scheherazade-2.100.zip";
+    url = "https://dev-www.libreoffice.org/src/Scheherazade-2.100.zip";
     sha256 = "251c8817ceb87d9b661ce1d5b49e732a0116add10abc046be4b8ba5196e149b5";
     md5 = "";
     md5name = "251c8817ceb87d9b661ce1d5b49e732a0116add10abc046be4b8ba5196e149b5-Scheherazade-2.100.zip";
   }
   {
     name = "libfreehand-0.1.2.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libfreehand-0.1.2.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libfreehand-0.1.2.tar.xz";
     sha256 = "0e422d1564a6dbf22a9af598535425271e583514c0f7ba7d9091676420de34ac";
     md5 = "";
     md5name = "0e422d1564a6dbf22a9af598535425271e583514c0f7ba7d9091676420de34ac-libfreehand-0.1.2.tar.xz";
   }
   {
     name = "freetype-2.9.1.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/freetype-2.9.1.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/freetype-2.9.1.tar.bz2";
     sha256 = "db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d";
     md5 = "";
     md5name = "db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d-freetype-2.9.1.tar.bz2";
   }
   {
-    name = "glm-0.9.4.6-libreoffice.zip";
-    url = "http://dev-www.libreoffice.org/src/bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip";
-    sha256 = "d0312c360efe04dd048b3311fe375ff36f1993b4c2e3cb58c81062990532904a";
-    md5 = "bae83fa5dc7f081768daace6e199adc3";
-    md5name = "bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip";
+    name = "glm-0.9.9.7.zip";
+    url = "https://dev-www.libreoffice.org/src/glm-0.9.9.7.zip";
+    sha256 = "c5e167c042afd2d7ad642ace6b643863baeb33880781983563e1ab68a30d3e95";
+    md5 = "";
+    md5name = "c5e167c042afd2d7ad642ace6b643863baeb33880781983563e1ab68a30d3e95-glm-0.9.9.7.zip";
   }
   {
     name = "gpgme-1.9.0.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/gpgme-1.9.0.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/gpgme-1.9.0.tar.bz2";
     sha256 = "1b29fedb8bfad775e70eafac5b0590621683b2d9869db994568e6401f4034ceb";
     md5 = "";
     md5name = "1b29fedb8bfad775e70eafac5b0590621683b2d9869db994568e6401f4034ceb-gpgme-1.9.0.tar.bz2";
   }
   {
-    name = "graphite2-minimal-1.3.13.tgz";
-    url = "http://dev-www.libreoffice.org/src/graphite2-minimal-1.3.13.tgz";
-    sha256 = "d47d387161db7f7ebade1920aa7cbdc797e79772597d8b55e80b58d1071bcc36";
+    name = "graphite2-minimal-1.3.14.tgz";
+    url = "https://dev-www.libreoffice.org/src/graphite2-minimal-1.3.14.tgz";
+    sha256 = "b8e892d8627c41888ff121e921455b9e2d26836978f2359173d19825da62b8fc";
     md5 = "";
-    md5name = "d47d387161db7f7ebade1920aa7cbdc797e79772597d8b55e80b58d1071bcc36-graphite2-minimal-1.3.13.tgz";
+    md5name = "b8e892d8627c41888ff121e921455b9e2d26836978f2359173d19825da62b8fc-graphite2-minimal-1.3.14.tgz";
   }
   {
-    name = "harfbuzz-2.3.1.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/harfbuzz-2.3.1.tar.bz2";
-    sha256 = "f205699d5b91374008d6f8e36c59e419ae2d9a7bb8c5d9f34041b9a5abcae468";
+    name = "harfbuzz-2.6.0.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/harfbuzz-2.6.0.tar.xz";
+    sha256 = "9cf7d117548265f95ca884e2f4c9fafaf4e17d45a67b11107147b79eed76c966";
     md5 = "";
-    md5name = "f205699d5b91374008d6f8e36c59e419ae2d9a7bb8c5d9f34041b9a5abcae468-harfbuzz-2.3.1.tar.bz2";
+    md5name = "9cf7d117548265f95ca884e2f4c9fafaf4e17d45a67b11107147b79eed76c966-harfbuzz-2.6.0.tar.xz";
   }
   {
     name = "hsqldb_1_8_0.zip";
-    url = "http://dev-www.libreoffice.org/src/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip";
+    url = "https://dev-www.libreoffice.org/src/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip";
     sha256 = "d30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370";
     md5 = "17410483b5b5f267aa18b7e00b65e6e0";
     md5name = "17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip";
   }
   {
     name = "hunspell-1.7.0.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/hunspell-1.7.0.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/hunspell-1.7.0.tar.gz";
     sha256 = "57be4e03ae9dd62c3471f667a0d81a14513e314d4d92081292b90435944ff951";
     md5 = "";
     md5name = "57be4e03ae9dd62c3471f667a0d81a14513e314d4d92081292b90435944ff951-hunspell-1.7.0.tar.gz";
   }
   {
     name = "hyphen-2.8.8.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz";
     sha256 = "304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705";
     md5 = "5ade6ae2a99bc1e9e57031ca88d36dad";
     md5name = "5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz";
   }
   {
-    name = "icu4c-63_1-src.tgz";
-    url = "http://dev-www.libreoffice.org/src/icu4c-63_1-src.tgz";
-    sha256 = "05c490b69454fce5860b7e8e2821231674af0a11d7ef2febea9a32512998cb9d";
+    name = "icu4c-67_1-src.tgz";
+    url = "https://dev-www.libreoffice.org/src/icu4c-67_1-src.tgz";
+    sha256 = "94a80cd6f251a53bd2a997f6f1b5ac6653fe791dfab66e1eb0227740fb86d5dc";
     md5 = "";
-    md5name = "05c490b69454fce5860b7e8e2821231674af0a11d7ef2febea9a32512998cb9d-icu4c-63_1-src.tgz";
+    md5name = "94a80cd6f251a53bd2a997f6f1b5ac6653fe791dfab66e1eb0227740fb86d5dc-icu4c-67_1-src.tgz";
   }
   {
-    name = "icu4c-63_1-data.zip";
-    url = "http://dev-www.libreoffice.org/src/icu4c-63_1-data.zip";
-    sha256 = "9bef2bf28ec4fdc86a3bd88d7ac4d509fef6dfbe9c6798299e55b9d4343e960c";
+    name = "icu4c-67_1-data.zip";
+    url = "https://dev-www.libreoffice.org/src/icu4c-67_1-data.zip";
+    sha256 = "7c16a59cc8c06128b7ecc1dc4fc056b36b17349312829b17408b9e67b05c4a7e";
     md5 = "";
-    md5name = "9bef2bf28ec4fdc86a3bd88d7ac4d509fef6dfbe9c6798299e55b9d4343e960c-icu4c-63_1-data.zip";
+    md5name = "7c16a59cc8c06128b7ecc1dc4fc056b36b17349312829b17408b9e67b05c4a7e-icu4c-67_1-data.zip";
   }
   {
     name = "flow-engine-0.9.4.zip";
-    url = "http://dev-www.libreoffice.org/src/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip";
+    url = "https://dev-www.libreoffice.org/src/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip";
     sha256 = "233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd";
     md5 = "ba2930200c9f019c2d93a8c88c651a0f";
     md5name = "ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip";
   }
   {
     name = "flute-1.1.6.zip";
-    url = "http://dev-www.libreoffice.org/src/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip";
+    url = "https://dev-www.libreoffice.org/src/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip";
     sha256 = "1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133";
     md5 = "d8bd5eed178db6e2b18eeed243f85aa8";
     md5name = "d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip";
   }
   {
     name = "libbase-1.1.6.zip";
-    url = "http://dev-www.libreoffice.org/src/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip";
+    url = "https://dev-www.libreoffice.org/src/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip";
     sha256 = "75c80359c9ce343c20aab8a36a45cb3b9ee7c61cf92c13ae45399d854423a9ba";
     md5 = "eeb2c7ddf0d302fba4bfc6e97eac9624";
     md5name = "eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip";
   }
   {
     name = "libfonts-1.1.6.zip";
-    url = "http://dev-www.libreoffice.org/src/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip";
+    url = "https://dev-www.libreoffice.org/src/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip";
     sha256 = "e0531091787c0f16c83965fdcbc49162c059d7f0c64669e7f119699321549743";
     md5 = "3bdf40c0d199af31923e900d082ca2dd";
     md5name = "3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip";
   }
   {
     name = "libformula-1.1.7.zip";
-    url = "http://dev-www.libreoffice.org/src/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip";
+    url = "https://dev-www.libreoffice.org/src/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip";
     sha256 = "5826d1551bf599b85742545f6e01a0079b93c1b2c8434bf409eddb3a29e4726b";
     md5 = "3404ab6b1792ae5f16bbd603bd1e1d03";
     md5name = "3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip";
   }
   {
     name = "liblayout-0.2.10.zip";
-    url = "http://dev-www.libreoffice.org/src/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip";
+    url = "https://dev-www.libreoffice.org/src/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip";
     sha256 = "e1fb87f3f7b980d33414473279615c4644027e013012d156efa538bc2b031772";
     md5 = "db60e4fde8dd6d6807523deb71ee34dc";
     md5name = "db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip";
   }
   {
     name = "libloader-1.1.6.zip";
-    url = "http://dev-www.libreoffice.org/src/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip";
+    url = "https://dev-www.libreoffice.org/src/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip";
     sha256 = "3d853b19b1d94a6efa69e7af90f7f2b09ecf302913bee3da796c15ecfebcfac8";
     md5 = "97b2d4dba862397f446b217e2b623e71";
     md5name = "97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip";
   }
   {
     name = "librepository-1.1.6.zip";
-    url = "http://dev-www.libreoffice.org/src/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip";
+    url = "https://dev-www.libreoffice.org/src/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip";
     sha256 = "abe2c57ac12ba45d83563b02e240fa95d973376de2f720aab8fe11f2e621c095";
     md5 = "8ce2fcd72becf06c41f7201d15373ed9";
     md5name = "8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip";
   }
   {
     name = "libserializer-1.1.6.zip";
-    url = "http://dev-www.libreoffice.org/src/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip";
+    url = "https://dev-www.libreoffice.org/src/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip";
     sha256 = "05640a1f6805b2b2d7e2cb9c50db9a5cb084e3c52ab1a71ce015239b4a1d4343";
     md5 = "f94d9870737518e3b597f9265f4e9803";
     md5name = "f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip";
   }
   {
     name = "libxml-1.1.7.zip";
-    url = "http://dev-www.libreoffice.org/src/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip";
+    url = "https://dev-www.libreoffice.org/src/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip";
     sha256 = "7d2797fe9f79a77009721e3f14fa4a1dec17a6d706bdc93f85f1f01d124fab66";
     md5 = "ace6ab49184e329db254e454a010f56d";
     md5name = "ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip";
   }
   {
     name = "sacjava-1.3.zip";
-    url = "http://dev-www.libreoffice.org/src/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip";
+    url = "https://dev-www.libreoffice.org/src/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip";
     sha256 = "085f2112c51fa8c1783fac12fbd452650596415121348393bb51f0f7e85a9045";
     md5 = "39bb3fcea1514f1369fcfc87542390fd";
     md5name = "39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip";
   }
   {
     name = "libjpeg-turbo-1.5.3.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/libjpeg-turbo-1.5.3.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/libjpeg-turbo-1.5.3.tar.gz";
     sha256 = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523";
     md5 = "";
     md5name = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523-libjpeg-turbo-1.5.3.tar.gz";
   }
   {
-    name = "language-subtag-registry-2019-09-16.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/language-subtag-registry-2019-09-16.tar.bz2";
-    sha256 = "07b66bc0f2786fde55f6bbcbcb4a455a846eb8e2351c8ce3d0a219a73693736a";
+    name = "language-subtag-registry-2020-09-29.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/language-subtag-registry-2020-09-29.tar.bz2";
+    sha256 = "cbe9fca811a37056560aab73e9fc9d3522b46b6785cb02db165f521bf42c230f";
     md5 = "";
-    md5name = "07b66bc0f2786fde55f6bbcbcb4a455a846eb8e2351c8ce3d0a219a73693736a-language-subtag-registry-2019-09-16.tar.bz2";
+    md5name = "cbe9fca811a37056560aab73e9fc9d3522b46b6785cb02db165f521bf42c230f-language-subtag-registry-2020-09-29.tar.bz2";
   }
   {
     name = "JLanguageTool-1.7.0.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2";
     sha256 = "48c87e41636783bba438b65fd895821e369ed139e1465fac654323ad93c5a82d";
     md5 = "b63e6340a02ff1cacfeadb2c42286161";
     md5name = "b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2";
   }
   {
     name = "lcms2-2.9.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/lcms2-2.9.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/lcms2-2.9.tar.gz";
     sha256 = "48c6fdf98396fa245ed86e622028caf49b96fa22f3e5734f853f806fbc8e7d20";
     md5 = "";
     md5name = "48c6fdf98396fa245ed86e622028caf49b96fa22f3e5734f853f806fbc8e7d20-lcms2-2.9.tar.gz";
   }
   {
     name = "libassuan-2.5.1.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/libassuan-2.5.1.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/libassuan-2.5.1.tar.bz2";
     sha256 = "47f96c37b4f2aac289f0bc1bacfa8bd8b4b209a488d3d15e2229cb6cc9b26449";
     md5 = "";
     md5name = "47f96c37b4f2aac289f0bc1bacfa8bd8b4b209a488d3d15e2229cb6cc9b26449-libassuan-2.5.1.tar.bz2";
   }
   {
     name = "libatomic_ops-7.6.8.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/libatomic_ops-7.6.8.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/libatomic_ops-7.6.8.tar.gz";
     sha256 = "1d6a279edf81767e74d2ad2c9fce09459bc65f12c6525a40b0cb3e53c089f665";
     md5 = "";
     md5name = "1d6a279edf81767e74d2ad2c9fce09459bc65f12c6525a40b0cb3e53c089f665-libatomic_ops-7.6.8.tar.gz";
   }
   {
     name = "libeot-0.01.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/libeot-0.01.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/libeot-0.01.tar.bz2";
     sha256 = "cf5091fa8e7dcdbe667335eb90a2cfdd0a3fe8f8c7c8d1ece44d9d055736a06a";
     md5 = "";
     md5name = "cf5091fa8e7dcdbe667335eb90a2cfdd0a3fe8f8c7c8d1ece44d9d055736a06a-libeot-0.01.tar.bz2";
   }
   {
     name = "libexttextcat-3.4.5.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libexttextcat-3.4.5.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libexttextcat-3.4.5.tar.xz";
     sha256 = "13fdbc9d4c489a4d0519e51933a1aa21fe3fb9eb7da191b87f7a63e82797dac8";
     md5 = "";
     md5name = "13fdbc9d4c489a4d0519e51933a1aa21fe3fb9eb7da191b87f7a63e82797dac8-libexttextcat-3.4.5.tar.xz";
   }
   {
+    name = "libffi-3.3.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/libffi-3.3.tar.gz";
+    sha256 = "72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056";
+    md5 = "";
+    md5name = "72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056-libffi-3.3.tar.gz";
+  }
+  {
     name = "libgpg-error-1.27.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/libgpg-error-1.27.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/libgpg-error-1.27.tar.bz2";
     sha256 = "4f93aac6fecb7da2b92871bb9ee33032be6a87b174f54abf8ddf0911a22d29d2";
     md5 = "";
     md5name = "4f93aac6fecb7da2b92871bb9ee33032be6a87b174f54abf8ddf0911a22d29d2-libgpg-error-1.27.tar.bz2";
   }
   {
     name = "liblangtag-0.6.2.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/liblangtag-0.6.2.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/liblangtag-0.6.2.tar.bz2";
     sha256 = "d6242790324f1432fb0a6fae71b6851f520b2c5a87675497cf8ea14c2924d52e";
     md5 = "";
     md5name = "d6242790324f1432fb0a6fae71b6851f520b2c5a87675497cf8ea14c2924d52e-liblangtag-0.6.2.tar.bz2";
   }
   {
-    name = "libnumbertext-1.0.5.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libnumbertext-1.0.5.tar.xz";
-    sha256 = "e1c9086b4cecb6b25f180316f30740dfabe6a4dbaf70dddc34276fc839e4f4f7";
+    name = "libnumbertext-1.0.6.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libnumbertext-1.0.6.tar.xz";
+    sha256 = "739f220b34bf7cb731c09de2921771d644d37dfd276c45564401e5759f10ae57";
     md5 = "";
-    md5name = "e1c9086b4cecb6b25f180316f30740dfabe6a4dbaf70dddc34276fc839e4f4f7-libnumbertext-1.0.5.tar.xz";
+    md5name = "739f220b34bf7cb731c09de2921771d644d37dfd276c45564401e5759f10ae57-libnumbertext-1.0.6.tar.xz";
   }
   {
     name = "ltm-1.0.zip";
-    url = "http://dev-www.libreoffice.org/src/ltm-1.0.zip";
+    url = "https://dev-www.libreoffice.org/src/ltm-1.0.zip";
     sha256 = "083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483";
     md5 = "";
     md5name = "083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483-ltm-1.0.zip";
   }
   {
-    name = "xmlsec1-1.2.28.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/xmlsec1-1.2.28.tar.gz";
-    sha256 = "13eec4811ea30e3f0e16a734d1dbf7f9d246a71d540b48d143a07b489f6222d4";
+    name = "xmlsec1-1.2.30.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/xmlsec1-1.2.30.tar.gz";
+    sha256 = "2d84360b03042178def1d9ff538acacaed2b3a27411db7b2874f1612ed71abc8";
     md5 = "";
-    md5name = "13eec4811ea30e3f0e16a734d1dbf7f9d246a71d540b48d143a07b489f6222d4-xmlsec1-1.2.28.tar.gz";
+    md5name = "2d84360b03042178def1d9ff538acacaed2b3a27411db7b2874f1612ed71abc8-xmlsec1-1.2.30.tar.gz";
   }
   {
     name = "libxml2-2.9.10.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/libxml2-2.9.10.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/libxml2-2.9.10.tar.gz";
     sha256 = "aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f";
     md5 = "";
     md5name = "aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f-libxml2-2.9.10.tar.gz";
   }
   {
     name = "libxslt-1.1.34.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/libxslt-1.1.34.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/libxslt-1.1.34.tar.gz";
     sha256 = "98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f";
     md5 = "";
     md5name = "98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f-libxslt-1.1.34.tar.gz";
   }
   {
     name = "lp_solve_5.5.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz";
     sha256 = "171816288f14215c69e730f7a4f1c325739873e21f946ff83884b350574e6695";
     md5 = "26b3e95ddf3d9c077c480ea45874b3b8";
     md5name = "26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz";
   }
   {
     name = "lxml-4.1.1.tgz";
-    url = "http://dev-www.libreoffice.org/src/lxml-4.1.1.tgz";
+    url = "https://dev-www.libreoffice.org/src/lxml-4.1.1.tgz";
     sha256 = "940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e";
     md5 = "";
     md5name = "940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a5cfd0f40e-lxml-4.1.1.tgz";
   }
   {
-    name = "mariadb_client-2.0.0-src.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/a233181e03d3c307668b4c722d881661-mariadb_client-2.0.0-src.tar.gz";
-    sha256 = "fd2f751dea049c1907735eb236aeace1d811d6a8218118b00bbaa9b84dc5cd60";
-    md5 = "a233181e03d3c307668b4c722d881661";
-    md5name = "a233181e03d3c307668b4c722d881661-mariadb_client-2.0.0-src.tar.gz";
+    name = "mariadb-connector-c-3.1.8-src.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/mariadb-connector-c-3.1.8-src.tar.gz";
+    sha256 = "431434d3926f4bcce2e5c97240609983f60d7ff50df5a72083934759bb863f7b";
+    md5 = "";
+    md5name = "431434d3926f4bcce2e5c97240609983f60d7ff50df5a72083934759bb863f7b-mariadb-connector-c-3.1.8-src.tar.gz";
   }
   {
-    name = "mdds-1.4.3.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/mdds-1.4.3.tar.bz2";
-    sha256 = "25ce3d5af9f6609e1de05bb22b2316e57b74a72a5b686fbb2da199da72349c81";
+    name = "mdds-1.6.0.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/mdds-1.6.0.tar.bz2";
+    sha256 = "f1585c9cbd12f83a6d43d395ac1ab6a9d9d5d77f062c7b5f704e24ed72dae07d";
     md5 = "";
-    md5name = "25ce3d5af9f6609e1de05bb22b2316e57b74a72a5b686fbb2da199da72349c81-mdds-1.4.3.tar.bz2";
+    md5name = "f1585c9cbd12f83a6d43d395ac1ab6a9d9d5d77f062c7b5f704e24ed72dae07d-mdds-1.6.0.tar.bz2";
   }
   {
     name = "mDNSResponder-878.200.35.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/mDNSResponder-878.200.35.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/mDNSResponder-878.200.35.tar.gz";
     sha256 = "e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0";
     md5 = "";
     md5name = "e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0-mDNSResponder-878.200.35.tar.gz";
   }
   {
     name = "libmspub-0.1.4.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libmspub-0.1.4.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libmspub-0.1.4.tar.xz";
     sha256 = "ef36c1a1aabb2ba3b0bedaaafe717bf4480be2ba8de6f3894be5fd3702b013ba";
     md5 = "";
     md5name = "ef36c1a1aabb2ba3b0bedaaafe717bf4480be2ba8de6f3894be5fd3702b013ba-libmspub-0.1.4.tar.xz";
   }
   {
-    name = "libmwaw-0.3.15.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libmwaw-0.3.15.tar.xz";
-    sha256 = "0440bb09f05e3419423d8dfa36ee847056ebfd837f9cbc091fdb5b057daab0b1";
+    name = "libmwaw-0.3.16.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libmwaw-0.3.16.tar.xz";
+    sha256 = "0c639edba5297bde5575193bf5b5f2f469956beaff5c0206d91ce9df6bde1868";
     md5 = "";
-    md5name = "0440bb09f05e3419423d8dfa36ee847056ebfd837f9cbc091fdb5b057daab0b1-libmwaw-0.3.15.tar.xz";
+    md5name = "0c639edba5297bde5575193bf5b5f2f469956beaff5c0206d91ce9df6bde1868-libmwaw-0.3.16.tar.xz";
   }
   {
     name = "mythes-1.2.4.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz";
     sha256 = "1e81f395d8c851c3e4e75b568e20fa2fa549354e75ab397f9de4b0e0790a305f";
     md5 = "a8c2c5b8f09e7ede322d5c602ff6a4b6";
     md5name = "a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz";
   }
   {
     name = "neon-0.30.2.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/neon-0.30.2.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/neon-0.30.2.tar.gz";
     sha256 = "db0bd8cdec329b48f53a6f00199c92d5ba40b0f015b153718d1b15d3d967fbca";
     md5 = "";
     md5name = "db0bd8cdec329b48f53a6f00199c92d5ba40b0f015b153718d1b15d3d967fbca-neon-0.30.2.tar.gz";
   }
   {
-    name = "nss-3.47.1-with-nspr-4.23.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/nss-3.47.1-with-nspr-4.23.tar.gz";
-    sha256 = "07d4276168f59bb3038c7826dabb5fbfbab8336ddf65e4e6e43bce89ada78c64";
+    name = "nss-3.55-with-nspr-4.27.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/nss-3.55-with-nspr-4.27.tar.gz";
+    sha256 = "ec6032d78663c6ef90b4b83eb552dedf721d2bce208cec3bf527b8f637db7e45";
     md5 = "";
-    md5name = "07d4276168f59bb3038c7826dabb5fbfbab8336ddf65e4e6e43bce89ada78c64-nss-3.47.1-with-nspr-4.23.tar.gz";
+    md5name = "ec6032d78663c6ef90b4b83eb552dedf721d2bce208cec3bf527b8f637db7e45-nss-3.55-with-nspr-4.27.tar.gz";
   }
   {
     name = "libodfgen-0.1.6.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/libodfgen-0.1.6.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/libodfgen-0.1.6.tar.bz2";
     sha256 = "2c7b21892f84a4c67546f84611eccdad6259875c971e98ddb027da66ea0ac9c2";
     md5 = "";
     md5name = "2c7b21892f84a4c67546f84611eccdad6259875c971e98ddb027da66ea0ac9c2-libodfgen-0.1.6.tar.bz2";
   }
   {
-    name = "odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar";
-    url = "http://dev-www.libreoffice.org/src/../extern/odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar";
-    sha256 = "984f2a479df79e27e7b01a5815ac53ae64e07746b882262d8a64566494515504";
+    name = "odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar";
+    url = "https://dev-www.libreoffice.org/src/../extern/odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar";
+    sha256 = "d55495ab3a86544650587de2a72180ddf8bfc6376d14ddfa923992dbc86a06e0";
     md5 = "";
-    md5name = "984f2a479df79e27e7b01a5815ac53ae64e07746b882262d8a64566494515504-odfvalidator-1.2.0-incubating-SNAPSHOT-jar-with-dependencies-971c54fd38a968f5860014b44301872706f9e540.jar";
+    md5name = "d55495ab3a86544650587de2a72180ddf8bfc6376d14ddfa923992dbc86a06e0-odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar";
   }
   {
     name = "officeotron-0.7.4-master.jar";
-    url = "http://dev-www.libreoffice.org/src/../extern/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar";
+    url = "https://dev-www.libreoffice.org/src/../extern/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar";
     sha256 = "f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770";
     md5 = "8249374c274932a21846fa7629c2aa9b";
     md5name = "8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar";
   }
   {
     name = "openldap-2.4.45.tgz";
-    url = "http://dev-www.libreoffice.org/src/openldap-2.4.45.tgz";
+    url = "https://dev-www.libreoffice.org/src/openldap-2.4.45.tgz";
     sha256 = "cdd6cffdebcd95161a73305ec13fc7a78e9707b46ca9f84fb897cd5626df3824";
     md5 = "";
     md5name = "cdd6cffdebcd95161a73305ec13fc7a78e9707b46ca9f84fb897cd5626df3824-openldap-2.4.45.tgz";
   }
   {
     name = "openssl-1.0.2t.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/openssl-1.0.2t.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/openssl-1.0.2t.tar.gz";
     sha256 = "14cb464efe7ac6b54799b34456bd69558a749a4931ecfd9cf9f71d7881cac7bc";
     md5 = "";
     md5name = "14cb464efe7ac6b54799b34456bd69558a749a4931ecfd9cf9f71d7881cac7bc-openssl-1.0.2t.tar.gz";
   }
   {
-    name = "liborcus-0.14.1.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/liborcus-0.14.1.tar.gz";
-    sha256 = "3f48cfbc21ad74787218284939c04d42cb836c73bc393f27f538b668e4d78a5f";
+    name = "liborcus-0.15.4.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/liborcus-0.15.4.tar.bz2";
+    sha256 = "cfb2aa60825f2a78589ed030c07f46a1ee16ef8a2d1bf2279192fbc1ae5a5f61";
     md5 = "";
-    md5name = "3f48cfbc21ad74787218284939c04d42cb836c73bc393f27f538b668e4d78a5f-liborcus-0.14.1.tar.gz";
+    md5name = "cfb2aa60825f2a78589ed030c07f46a1ee16ef8a2d1bf2279192fbc1ae5a5f61-liborcus-0.15.4.tar.bz2";
   }
   {
     name = "owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
     sha256 = "b18b3e3ef7fae6a79b62f2bb43cc47a5346b6330f6a383dc4be34439aca5e9fb";
     md5 = "";
     md5name = "b18b3e3ef7fae6a79b62f2bb43cc47a5346b6330f6a383dc4be34439aca5e9fb-owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
   }
   {
     name = "libpagemaker-0.0.4.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libpagemaker-0.0.4.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libpagemaker-0.0.4.tar.xz";
     sha256 = "66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d";
     md5 = "";
     md5name = "66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d-libpagemaker-0.0.4.tar.xz";
   }
   {
-    name = "pdfium-3794.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/pdfium-3794.tar.bz2";
-    sha256 = "e3faddcf741336c64ca2e6f72b23e9e60979969b2cf67c878c9a5bc38328cfc4";
+    name = "pdfium-4306.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/pdfium-4306.tar.bz2";
+    sha256 = "eca406d47ac7e2a84dcc86f93c08f96e591d409589e881477fa75e488e4851d8";
     md5 = "";
-    md5name = "e3faddcf741336c64ca2e6f72b23e9e60979969b2cf67c878c9a5bc38328cfc4-pdfium-3794.tar.bz2";
+    md5name = "eca406d47ac7e2a84dcc86f93c08f96e591d409589e881477fa75e488e4851d8-pdfium-4306.tar.bz2";
   }
   {
     name = "pixman-0.34.0.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz";
     sha256 = "21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e";
     md5 = "e80ebae4da01e77f68744319f01d52a3";
     md5name = "e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz";
   }
   {
     name = "libpng-1.6.37.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libpng-1.6.37.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libpng-1.6.37.tar.xz";
     sha256 = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca";
     md5 = "";
     md5name = "505e70834d35383537b6491e7ae8641f1a4bed1876dbfe361201fc80868d88ca-libpng-1.6.37.tar.xz";
   }
   {
     name = "poppler-0.82.0.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/poppler-0.82.0.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/poppler-0.82.0.tar.xz";
     sha256 = "234f8e573ea57fb6a008e7c1e56bfae1af5d1adf0e65f47555e1ae103874e4df";
     md5 = "";
     md5name = "234f8e573ea57fb6a008e7c1e56bfae1af5d1adf0e65f47555e1ae103874e4df-poppler-0.82.0.tar.xz";
   }
   {
     name = "postgresql-9.2.24.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/postgresql-9.2.24.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/postgresql-9.2.24.tar.bz2";
     sha256 = "a754c02f7051c2f21e52f8669a421b50485afcde9a581674d6106326b189d126";
     md5 = "";
     md5name = "a754c02f7051c2f21e52f8669a421b50485afcde9a581674d6106326b189d126-postgresql-9.2.24.tar.bz2";
   }
   {
-    name = "Python-3.5.9.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/Python-3.5.9.tar.xz";
-    sha256 = "c24a37c63a67f53bdd09c5f287b5cff8e8b98f857bf348c577d454d3f74db049";
+    name = "Python-3.7.7.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/Python-3.7.7.tar.xz";
+    sha256 = "06a0a9f1bf0d8cd1e4121194d666c4e28ddae4dd54346de6c343206599f02136";
+    md5 = "";
+    md5name = "06a0a9f1bf0d8cd1e4121194d666c4e28ddae4dd54346de6c343206599f02136-Python-3.7.7.tar.xz";
+  }
+  {
+    name = "QR-Code-generator-1.4.0.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/QR-Code-generator-1.4.0.tar.gz";
+    sha256 = "fcdf9fd69fde07ae4dca2351d84271a9de8093002f733b77c70f52f1630f6e4a";
     md5 = "";
-    md5name = "c24a37c63a67f53bdd09c5f287b5cff8e8b98f857bf348c577d454d3f74db049-Python-3.5.9.tar.xz";
+    md5name = "fcdf9fd69fde07ae4dca2351d84271a9de8093002f733b77c70f52f1630f6e4a-QR-Code-generator-1.4.0.tar.gz";
   }
   {
     name = "libqxp-0.0.2.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libqxp-0.0.2.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libqxp-0.0.2.tar.xz";
     sha256 = "e137b6b110120a52c98edd02ebdc4095ee08d0d5295a94316a981750095a945c";
     md5 = "";
     md5name = "e137b6b110120a52c98edd02ebdc4095ee08d0d5295a94316a981750095a945c-libqxp-0.0.2.tar.xz";
   }
   {
     name = "raptor2-2.0.15.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/a39f6c07ddb20d7dd2ff1f95fa21e2cd-raptor2-2.0.15.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/a39f6c07ddb20d7dd2ff1f95fa21e2cd-raptor2-2.0.15.tar.gz";
     sha256 = "ada7f0ba54787b33485d090d3d2680533520cd4426d2f7fb4782dd4a6a1480ed";
     md5 = "a39f6c07ddb20d7dd2ff1f95fa21e2cd";
     md5name = "a39f6c07ddb20d7dd2ff1f95fa21e2cd-raptor2-2.0.15.tar.gz";
   }
   {
     name = "rasqal-0.9.33.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/1f5def51ca0026cd192958ef07228b52-rasqal-0.9.33.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/1f5def51ca0026cd192958ef07228b52-rasqal-0.9.33.tar.gz";
     sha256 = "6924c9ac6570bd241a9669f83b467c728a322470bf34f4b2da4f69492ccfd97c";
     md5 = "1f5def51ca0026cd192958ef07228b52";
     md5name = "1f5def51ca0026cd192958ef07228b52-rasqal-0.9.33.tar.gz";
   }
   {
     name = "redland-1.0.17.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/e5be03eda13ef68aabab6e42aa67715e-redland-1.0.17.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/e5be03eda13ef68aabab6e42aa67715e-redland-1.0.17.tar.gz";
     sha256 = "de1847f7b59021c16bdc72abb4d8e2d9187cd6124d69156f3326dd34ee043681";
     md5 = "e5be03eda13ef68aabab6e42aa67715e";
     md5name = "e5be03eda13ef68aabab6e42aa67715e-redland-1.0.17.tar.gz";
   }
   {
     name = "librevenge-0.0.4.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/librevenge-0.0.4.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/librevenge-0.0.4.tar.bz2";
     sha256 = "c51601cd08320b75702812c64aae0653409164da7825fd0f451ac2c5dbe77cbf";
     md5 = "";
     md5name = "c51601cd08320b75702812c64aae0653409164da7825fd0f451ac2c5dbe77cbf-librevenge-0.0.4.tar.bz2";
   }
   {
     name = "rhino1_5R5.zip";
-    url = "http://dev-www.libreoffice.org/src/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip";
+    url = "https://dev-www.libreoffice.org/src/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip";
     sha256 = "1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753";
     md5 = "798b2ffdc8bcfe7bca2cf92b62caf685";
     md5name = "798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip";
   }
   {
     name = "serf-1.2.1.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/serf-1.2.1.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/serf-1.2.1.tar.bz2";
     sha256 = "6988d394b62c3494635b6f0760bc3079f9a0cd380baf0f6b075af1eb9fa5e700";
     md5 = "";
     md5name = "6988d394b62c3494635b6f0760bc3079f9a0cd380baf0f6b075af1eb9fa5e700-serf-1.2.1.tar.bz2";
   }
   {
-    name = "libstaroffice-0.0.6.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libstaroffice-0.0.6.tar.xz";
-    sha256 = "6b00e1ed8194e6072be4441025d1b888e39365727ed5b23e0e8c92c4009d1ec4";
+    name = "skia-m85-e684c6daef6bfb774a325a069eda1f76ca6ac26c.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/skia-m85-e684c6daef6bfb774a325a069eda1f76ca6ac26c.tar.xz";
+    sha256 = "3294877fa2b61b220d98a0f7bfc11325429b13edd2cf455444c703ee3a14d760";
+    md5 = "";
+    md5name = "3294877fa2b61b220d98a0f7bfc11325429b13edd2cf455444c703ee3a14d760-skia-m85-e684c6daef6bfb774a325a069eda1f76ca6ac26c.tar.xz";
+  }
+  {
+    name = "libstaroffice-0.0.7.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libstaroffice-0.0.7.tar.xz";
+    sha256 = "f94fb0ad8216f97127bedef163a45886b43c62deac5e5b0f5e628e234220c8db";
     md5 = "";
-    md5name = "6b00e1ed8194e6072be4441025d1b888e39365727ed5b23e0e8c92c4009d1ec4-libstaroffice-0.0.6.tar.xz";
+    md5name = "f94fb0ad8216f97127bedef163a45886b43c62deac5e5b0f5e628e234220c8db-libstaroffice-0.0.7.tar.xz";
   }
   {
     name = "swingExSrc.zip";
-    url = "http://dev-www.libreoffice.org/src/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip";
+    url = "https://dev-www.libreoffice.org/src/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip";
     sha256 = "64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1";
     md5 = "35c94d2df8893241173de1d16b6034c0";
     md5name = "35c94d2df8893241173de1d16b6034c0-swingExSrc.zip";
   }
   {
     name = "twaindsm_2.4.1.orig.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/twaindsm_2.4.1.orig.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/twaindsm_2.4.1.orig.tar.gz";
     sha256 = "82c818be771f242388457aa8c807e4b52aa84dc22b21c6c56184a6b4cbb085e6";
     md5 = "";
     md5name = "82c818be771f242388457aa8c807e4b52aa84dc22b21c6c56184a6b4cbb085e6-twaindsm_2.4.1.orig.tar.gz";
   }
   {
     name = "ucpp-1.3.2.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz";
     sha256 = "983941d31ee8d366085cadf28db75eb1f5cb03ba1e5853b98f12f7f51c63b776";
     md5 = "0168229624cfac409e766913506961a8";
     md5name = "0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz";
   }
   {
     name = "libvisio-0.1.7.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libvisio-0.1.7.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libvisio-0.1.7.tar.xz";
     sha256 = "8faf8df870cb27b09a787a1959d6c646faa44d0d8ab151883df408b7166bea4c";
     md5 = "";
     md5name = "8faf8df870cb27b09a787a1959d6c646faa44d0d8ab151883df408b7166bea4c-libvisio-0.1.7.tar.xz";
   }
   {
     name = "libwpd-0.10.3.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libwpd-0.10.3.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libwpd-0.10.3.tar.xz";
     sha256 = "2465b0b662fdc5d4e3bebcdc9a79027713fb629ca2bff04a3c9251fdec42dd09";
     md5 = "";
     md5name = "2465b0b662fdc5d4e3bebcdc9a79027713fb629ca2bff04a3c9251fdec42dd09-libwpd-0.10.3.tar.xz";
   }
   {
     name = "libwpg-0.3.3.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libwpg-0.3.3.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libwpg-0.3.3.tar.xz";
     sha256 = "99b3f7f8832385748582ab8130fbb9e5607bd5179bebf9751ac1d51a53099d1c";
     md5 = "";
     md5name = "99b3f7f8832385748582ab8130fbb9e5607bd5179bebf9751ac1d51a53099d1c-libwpg-0.3.3.tar.xz";
   }
   {
-    name = "libwps-0.4.10.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libwps-0.4.10.tar.xz";
-    sha256 = "1421e034286a9f96d3168a1c54ea570ee7aa008ca07b89de005ad5ce49fb29ca";
+    name = "libwps-0.4.11.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libwps-0.4.11.tar.xz";
+    sha256 = "a8fdaabc28654a975fa78c81873ac503ba18f0d1cdbb942f470a21d29284b4d1";
     md5 = "";
-    md5name = "1421e034286a9f96d3168a1c54ea570ee7aa008ca07b89de005ad5ce49fb29ca-libwps-0.4.10.tar.xz";
+    md5name = "a8fdaabc28654a975fa78c81873ac503ba18f0d1cdbb942f470a21d29284b4d1-libwps-0.4.11.tar.xz";
   }
   {
     name = "xsltml_2.1.2.zip";
-    url = "http://dev-www.libreoffice.org/src/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip";
+    url = "https://dev-www.libreoffice.org/src/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip";
     sha256 = "75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870";
     md5 = "a7983f859eafb2677d7ff386a023bc40";
     md5name = "a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip";
   }
   {
     name = "zlib-1.2.11.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/zlib-1.2.11.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/zlib-1.2.11.tar.xz";
     sha256 = "4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066";
     md5 = "";
     md5name = "4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066-zlib-1.2.11.tar.xz";
   }
   {
     name = "libzmf-0.0.2.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/libzmf-0.0.2.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libzmf-0.0.2.tar.xz";
     sha256 = "27051a30cb057fdb5d5de65a1f165c7153dc76e27fe62251cbb86639eb2caf22";
     md5 = "";
     md5name = "27051a30cb057fdb5d5de65a1f165c7153dc76e27fe62251cbb86639eb2caf22-libzmf-0.0.2.tar.xz";
diff --git a/pkgs/applications/office/libreoffice/src-still/override.nix b/pkgs/applications/office/libreoffice/src-still/override.nix
index 50812d0efb948..0141b74c38903 100644
--- a/pkgs/applications/office/libreoffice/src-still/override.nix
+++ b/pkgs/applications/office/libreoffice/src-still/override.nix
@@ -1,19 +1,10 @@
-{ lib, kdeIntegration, fetchpatch, ... }:
+{ lib, kdeIntegration, ... }:
 attrs:
 {
-  patches = attrs.patches or [ ] ++ [
-    (fetchpatch {
-      url = "https://git.pld-linux.org/gitweb.cgi?p=packages/libreoffice.git;a=blob_plain;f=poppler-0.86.patch;h=76b8356d5f22ef537a83b0f9b0debab591f152fe;hb=a2737a61353e305a9ee69640fb20d4582c218008";
-      name = "poppler-0.86.patch";
-      sha256 = "0q6k4l8imgp8ailcv0qx5l83afyw44hah24fi7gjrm9xgv5sbb8j";
-    })
-  ];
   postConfigure = attrs.postConfigure + ''
-    sed -e '/CPPUNIT_TEST(Import_Export_Import);/d' -i './sw/qa/extras/inc/swmodeltestbase.hxx'
+    sed -e '/CPPUNIT_TEST(Import_Export_Import);/d' -i './sw/qa/inc/swmodeltestbase.hxx'
   '';
-  configureFlags = lib.remove "--without-system-qrcodegen"
-  (attrs.configureFlags ++ [
-    (lib.enableFeature kdeIntegration "kde5")
-  ]);
-  meta = attrs.meta // { description = "Comprehensive, professional-quality productivity suite (Still/Stable release)"; };
+  configureFlags = attrs.configureFlags ++ [
+    (lib.enableFeature kdeIntegration "kf5")
+  ];
 }
diff --git a/pkgs/applications/office/libreoffice/src-still/primary.nix b/pkgs/applications/office/libreoffice/src-still/primary.nix
index 36deae53670a7..c9b1826471145 100644
--- a/pkgs/applications/office/libreoffice/src-still/primary.nix
+++ b/pkgs/applications/office/libreoffice/src-still/primary.nix
@@ -6,9 +6,9 @@ rec {
     inherit sha256;
   };
 
-  major = "6";
-  minor = "3";
-  patch = "5";
+  major = "7";
+  minor = "0";
+  patch = "4";
   tweak = "2";
 
   subdir = "${major}.${minor}.${patch}";
@@ -17,13 +17,13 @@ rec {
 
   src = fetchurl {
     url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "0jnayv1i0iq1gpf3q3z9nfq6jid77d0c76675lkqb3gi07f63nzz";
+    sha256 = "1g9akxvm7fh6lnprnc3g184qdy8gbinhb4rb60gjpw82ip6d5acz";
   };
 
   # FIXME rename
   translations = fetchSrc {
     name = "translations";
-    sha256 = "01g09bbn1ixrsfj4l0x6x8p06dz9hnlrhnr3f3xb42drmi9ipvjv";
+    sha256 = "1v3kpk56fm783d5wihx41jqidpclizkfxrg4n0pq95d79hdiljsl";
   };
 
   # the "dictionaries" archive is not used for LO build because we already build hunspellDicts packages from
@@ -31,6 +31,6 @@ rec {
 
   help = fetchSrc {
     name = "help";
-    sha256 = "1p38wlclv6cbjpkkq7n2mjpxy84pxi4vxc9s5kjp4dm63zzxafd6";
+    sha256 = "1np9f799ww12kggl5az6piv5fi9rf737il5a5r47r4wl2li56qqb";
   };
 }
diff --git a/pkgs/applications/office/mytetra/default.nix b/pkgs/applications/office/mytetra/default.nix
index 384d7fadaf0fe..3e2383fb35651 100644
--- a/pkgs/applications/office/mytetra/default.nix
+++ b/pkgs/applications/office/mytetra/default.nix
@@ -1,4 +1,4 @@
-{ lib, mkDerivation, fetchurl, qmake, qtsvg, makeWrapper, xdg_utils }:
+{ lib, mkDerivation, fetchurl, qmake, qtsvg, makeWrapper, xdg-utils }:
 
 let
   version = "1.44.55";
@@ -26,7 +26,7 @@ in mkDerivation {
 
   postFixup = ''
     wrapProgram $out/bin/mytetra \
-      --prefix PATH : ${xdg_utils}/bin
+      --prefix PATH : ${xdg-utils}/bin
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/office/paperless/default.nix b/pkgs/applications/office/paperless/default.nix
index 499078611fcb3..c2578696c688a 100644
--- a/pkgs/applications/office/paperless/default.nix
+++ b/pkgs/applications/office/paperless/default.nix
@@ -5,7 +5,7 @@
 , callPackage
 
 , python3
-, imagemagick7
+, imagemagick
 , ghostscript
 , optipng
 , tesseract
@@ -65,7 +65,7 @@ let
 
     buildPhase = let
       # Paperless has explicit runtime checks that expect these binaries to be in PATH
-      extraBin = lib.makeBinPath [ imagemagick7 ghostscript optipng tesseract unpaper ];
+      extraBin = lib.makeBinPath [ imagemagick ghostscript optipng tesseract unpaper ];
     in ''
       ${python.interpreter} -m compileall $srcDir
 
diff --git a/pkgs/applications/office/paperless/python-modules/django-crispy-forms.nix b/pkgs/applications/office/paperless/python-modules/django-crispy-forms.nix
index c470a56b8a11f..f8b91a94ccc79 100644
--- a/pkgs/applications/office/paperless/python-modules/django-crispy-forms.nix
+++ b/pkgs/applications/office/paperless/python-modules/django-crispy-forms.nix
@@ -1,15 +1,20 @@
-{ lib, buildPythonPackage, fetchFromGitHub
-, pytest_4, pytest-django, django }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pytest-django
+, django
+}:
 
-buildPythonPackage {
+buildPythonPackage rec {
   pname = "django-crispy-forms";
-  version = "2019.04.21";
+  version = "1.10.0";
 
   src = fetchFromGitHub {
     owner = "django-crispy-forms";
     repo = "django-crispy-forms";
-    rev = "e25a5326697e5b545689b3a914e516404a6911bb";
-    sha256 = "12zqa76q6i7j47aqvhilivpbdplgp9zw2q8zfcjzlgclrqafaj39";
+    rev = version;
+    sha256 = "0y6kskfxgckb9npcgwx4zrs5n9px159zh9zhinhxi3i7wlriqpf5";
   };
 
   # For reasons unknown, the source dir must contain a dash
@@ -19,12 +24,10 @@ buildPythonPackage {
     export sourceRoot=source-
   '';
 
-  checkInputs = [ pytest_4 pytest-django django ];
+  checkInputs = [ django pytest-django pytestCheckHook ];
 
-  checkPhase = ''
-    PYTHONPATH="$(pwd):$PYTHONPATH" \
-    DJANGO_SETTINGS_MODULE=crispy_forms.tests.test_settings \
-      pytest crispy_forms/tests
+  preCheck = ''
+    export DJANGO_SETTINGS_MODULE=crispy_forms.tests.test_settings
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/office/planner/default.nix b/pkgs/applications/office/planner/default.nix
deleted file mode 100644
index f0237c4cecff0..0000000000000
--- a/pkgs/applications/office/planner/default.nix
+++ /dev/null
@@ -1,79 +0,0 @@
-{ lib, stdenv
-, fetchFromGitLab
-, pkg-config
-, intltool
-, automake111x
-, autoconf
-, libtool
-, gnome2
-, libxslt
-, python2
-}:
-
-let version = "unstable-2019-02-13";
-
-in stdenv.mkDerivation {
-  pname = "planner";
-  inherit version;
-
-  src = fetchFromGitLab {
-    domain = "gitlab.gnome.org";
-    owner = "GNOME";
-    repo = "planner";
-    rev = "76d31defae4979aa51dd37e8888f61e9a6a51367";
-    sha256 = "0lbch4drg6005216hgcys93rq92p7zd20968x0gk254kckd9ag5w";
-  };
-
-  nativeBuildInputs = with gnome2; [
-    pkg-config
-    intltool
-    automake111x
-    autoconf
-    libtool
-    gnome-common
-    gtk-doc
-    scrollkeeper
-  ];
-
-  buildInputs = with gnome2; [
-    GConf
-    gtk
-    libgnomecanvas
-    libgnomeui
-    libglade
-    libxslt
-    python2.pkgs.pygtk
-  ];
-
-  # glib-2.62 deprecations
-  NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS";
-
-  preConfigure = "./autogen.sh";
-  configureFlags = [
-    "--enable-python"
-    "--enable-python-plugin"
-    ];
-
-  enableParallelBuilding = true;
-
-  meta = with lib; {
-    homepage = "https://wiki.gnome.org/Apps/Planner";
-    description = "Project management application for GNOME";
-    longDescription = ''
-      Planner is the GNOME project management tool.
-      Its goal is to be an easy-to-use no-nonsense cross-platform
-      project management application.
-
-      Planner is a GTK application written in C and licensed under the
-      GPLv2 or any later version. It can store its data in either xml
-      files or in a postgresql database. Projects can also be printed
-      to PDF or exported to HTML for easy viewing from any web browser.
-
-      Planner was originally created by Richard Hult and Mikael Hallendal
-      at Imendio.
-    '';
-    license = licenses.gpl2Plus;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ rasendubi amiloradovsky ];
-  };
-}
diff --git a/pkgs/applications/office/portfolio/default.nix b/pkgs/applications/office/portfolio/default.nix
index 47cda0518219c..23dd03a1b7af8 100644
--- a/pkgs/applications/office/portfolio/default.nix
+++ b/pkgs/applications/office/portfolio/default.nix
@@ -24,11 +24,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "PortfolioPerformance";
-  version = "0.50.3";
+  version = "0.50.4";
 
   src = fetchurl {
     url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "sha256-8sFBxcs3tnIQQ4S39aF8r9SGm9VOHPpgQYyLkUaOscw=";
+    sha256 = "sha256-ZOw3Zyd6+fT/Z2tndRVqA8tVvgeq/TbdEdoAk9vSM0k=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/pympress/default.nix b/pkgs/applications/office/pympress/default.nix
index b4307eb286e58..ebc93edba6ef0 100644
--- a/pkgs/applications/office/pympress/default.nix
+++ b/pkgs/applications/office/pympress/default.nix
@@ -1,13 +1,10 @@
 { lib
 , python3Packages
 , wrapGAppsHook
-, xvfb_run
 , gtk3
 , gobject-introspection
 , libcanberra-gtk3
-, dbus
 , poppler_gi
-, python3
  }:
 
 python3Packages.buildPythonApplication rec {
diff --git a/pkgs/applications/office/scribus/unstable.nix b/pkgs/applications/office/scribus/unstable.nix
index acf44880452b7..f83ce8b39b1cc 100644
--- a/pkgs/applications/office/scribus/unstable.nix
+++ b/pkgs/applications/office/scribus/unstable.nix
@@ -43,6 +43,13 @@ mkDerivation rec {
     sha256 = "sha256-1CV2lVOc+kDerYq9rwTFHjTU10vK1aLJNNCObp1Dt6s=";
   };
 
+  patches = [
+    (fetchpatch {  # fix build with podofo 0.9.7
+      url = "https://github.com/scribusproject/scribus/commit/c6182ef92820b422d61c904e40e9fed865458eb5.patch";
+      sha256 = "0vp275xfbd4xnj5s55cgzsihgihby5mmjlbmrc7sa6jbrsm8aa2c";
+    })
+  ];
+
   nativeBuildInputs = [
     cmake
     pkg-config
diff --git a/pkgs/applications/office/skanlite/default.nix b/pkgs/applications/office/skanlite/default.nix
index 89cf2add212c2..744240c921384 100644
--- a/pkgs/applications/office/skanlite/default.nix
+++ b/pkgs/applications/office/skanlite/default.nix
@@ -3,13 +3,12 @@
   libksane
 }:
 
-let
-  minorVersion = "2.2";
-in mkDerivation rec {
-  name = "skanlite-2.2.0";
+mkDerivation rec {
+  pname   = "skanlite";
+  version = "2.2.0";
 
   src = fetchurl {
-    url    = "mirror://kde/stable/skanlite/${minorVersion}/${name}.tar.xz";
+    url    = "mirror://kde/stable/skanlite/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "VP7MOZdUe64XIVr3r0aKIl1IPds3vjBTZzOS3N3VhOQ=";
   };
 
@@ -23,8 +22,8 @@ in mkDerivation rec {
 
   meta = with lib; {
     description = "KDE simple image scanning application";
-    homepage    = "http://www.kde.org/applications/graphics/skanlite/";
-    license = licenses.gpl2;
+    homepage    = "https://apps.kde.org/skanlite";
+    license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ pshendry ];
     platforms   = platforms.linux;
   };
diff --git a/pkgs/applications/office/softmaker/freeoffice.nix b/pkgs/applications/office/softmaker/freeoffice.nix
index bdd90fecb8ee0..b1b24c3e6cb56 100644
--- a/pkgs/applications/office/softmaker/freeoffice.nix
+++ b/pkgs/applications/office/softmaker/freeoffice.nix
@@ -5,9 +5,9 @@
   # overridable. This is useful when the upstream archive was replaced
   # and nixpkgs is not in sync yet.
 , officeVersion ? {
-  version = "980";
+  version = "982";
   edition = "2018";
-  sha256 = "19pgil86aagiz6z4kx22gd4cxbbmrx42ix42arkfb6p6hav1plby";
+  hash = "sha256-euoZfAaDDTXzoaNLc/YdTngreTiYOBi7sGU161GP83w=";
 }
 
 , ... } @ args:
@@ -19,7 +19,7 @@ callPackage ./generic.nix (args // rec {
   suiteName = "FreeOffice";
 
   src = fetchurl {
-    inherit (officeVersion) sha256;
+    inherit (officeVersion) hash;
     url = "https://www.softmaker.net/down/softmaker-freeoffice-${version}-amd64.tgz";
   };
 
diff --git a/pkgs/applications/office/softmaker/generic.nix b/pkgs/applications/office/softmaker/generic.nix
index a80eaa459c014..56a951919e360 100644
--- a/pkgs/applications/office/softmaker/generic.nix
+++ b/pkgs/applications/office/softmaker/generic.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, autoPatchelfHook, makeDesktopItem, makeWrapper, copyDesktopItems
+{ lib, stdenv, autoPatchelfHook, makeDesktopItem, makeWrapper, copyDesktopItems
 
   # Dynamic Libraries
 , curl, libGL, libX11, libXext, libXmu, libXrandr, libXrender
diff --git a/pkgs/applications/office/softmaker/softmaker_office.nix b/pkgs/applications/office/softmaker/softmaker_office.nix
index d0eb2ffdc9352..9228037e8bf87 100644
--- a/pkgs/applications/office/softmaker/softmaker_office.nix
+++ b/pkgs/applications/office/softmaker/softmaker_office.nix
@@ -6,9 +6,9 @@
   # Softmaker Office or when the upstream archive was replaced and
   # nixpkgs is not in sync yet.
 , officeVersion ? {
-  version = "1020";
+  version = "1030";
   edition = "2021";
-  sha256 = "1v227pih1p33x7axsw7wz8pz5walpbqnk0iqng711ixk883nqxn5";
+  hash = "sha256-bpnyPyZnJc9RFVrFM2o3M7Gc4PSKFGpaM1Yo8ZKGHrE=";
 }
 
 , ... } @ args:
@@ -20,7 +20,7 @@ callPackage ./generic.nix (args // rec {
   suiteName = "SoftMaker Office";
 
   src = fetchurl {
-    inherit (officeVersion) sha256;
+    inherit (officeVersion) hash;
     url = "https://www.softmaker.net/down/softmaker-office-${edition}-${version}-amd64.tgz";
   };
 
diff --git a/pkgs/applications/office/treesheets/default.nix b/pkgs/applications/office/treesheets/default.nix
index 552d28d1e9507..1f084e182afcf 100644
--- a/pkgs/applications/office/treesheets/default.nix
+++ b/pkgs/applications/office/treesheets/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "0krsj7i5yr76imf83krz2lmlmpbsvpwqg2d4r0jwxiydjfyj4qr4";
   };
 
-  buildInputs = [ wxGTK makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ wxGTK ];
 
   preConfigure = "cd src";
 
diff --git a/pkgs/applications/office/trilium/default.nix b/pkgs/applications/office/trilium/default.nix
index 499aa1e5faf51..cb0781f74e19a 100644
--- a/pkgs/applications/office/trilium/default.nix
+++ b/pkgs/applications/office/trilium/default.nix
@@ -19,16 +19,16 @@ let
     maintainers = with maintainers; [ emmanuelrosa dtzWill ];
   };
 
-  version = "0.43.3";
+  version = "0.43.4";
 
   desktopSource = {
     url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
-    sha256 = "1k9vcs7pwa89bzivqp0gfs45jzqw216fpypg3ja4n2dzn4qkv2as";
+    sha256 = "0kjysam5alsmnj93fcqq1ivawnra42gn7dch99rrfmvbkxp7hhr8";
   };
 
   serverSource = {
     url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
-    sha256 = "1n3v7wdav6mvgcy72mmfhncsa74i0ax1ij5rjczgfjjyiyc5y0rk";
+    sha256 = "128mvmp15mjpb5ipkmr0yn7ahby26shbix3f8q094f4zpxjp83zx";
   };
 
 in {
diff --git a/pkgs/applications/office/wpsoffice/default.nix b/pkgs/applications/office/wpsoffice/default.nix
index e0f156f06c95f..fad87d44912f6 100644
--- a/pkgs/applications/office/wpsoffice/default.nix
+++ b/pkgs/applications/office/wpsoffice/default.nix
@@ -55,13 +55,13 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoPatchelfHook dpkg wrapGAppsHook wrapQtAppsHook ];
 
-  meta = {
-    description = "Office program originally named Kingsoft Office";
-    homepage = "http://wps-community.org/";
+  meta = with lib; {
+    description = "Office suite, formerly Kingsoft Office";
+    homepage = "https://www.wps.com/";
     platforms = [ "x86_64-linux" ];
     hydraPlatforms = [];
-    license = lib.licenses.unfreeRedistributable;
-    maintainers = with lib.maintainers; [ mlatus th0rgal ];
+    license = licenses.unfreeRedistributable;
+    maintainers = with maintainers; [ mlatus th0rgal ];
   };
 
   buildInputs = with xorg; [
diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix
index 739b003bbef6d..91673ed146aae 100644
--- a/pkgs/applications/office/zotero/default.nix
+++ b/pkgs/applications/office/zotero/default.nix
@@ -36,11 +36,11 @@
 
 stdenv.mkDerivation rec {
   pname = "zotero";
-  version = "5.0.89";
+  version = "5.0.95";
 
   src = fetchurl {
     url = "https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2";
-    sha256 = "18p4qnnfx9f2frk7f2nk1d7jr4cjzg9z7lfzrk7vq11qgbjdpqbl";
+    sha256 = "16rahl14clgnl7gzpw7rxx23yxbw1nbrz219q051zkjkkw5ai8lv";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
@@ -86,7 +86,7 @@ stdenv.mkDerivation rec {
       stdenv.cc.cc
     ];
 
-  patchPhase = ''
+  postPatch = ''
     sed -i '/pref("app.update.enabled", true);/c\pref("app.update.enabled", false);' defaults/preferences/prefs.js
   '';
 
@@ -103,33 +103,36 @@ stdenv.mkDerivation rec {
     mimeType = "text/plain";
   };
 
-  installPhase =
-  ''
-     mkdir -p "$prefix/usr/lib/zotero-bin-${version}"
-     cp -r * "$prefix/usr/lib/zotero-bin-${version}"
-     mkdir -p "$out/bin"
-     ln -s "$prefix/usr/lib/zotero-bin-${version}/zotero" "$out/bin/"
+  installPhase = ''
+    runHook preInstall
 
-     # install desktop file and icons.
-     mkdir -p $out/share/applications
-     cp ${desktopItem}/share/applications/* $out/share/applications/
-     for size in 16 32 48 256; do
-       install -Dm444 chrome/icons/default/default$size.png \
-         $out/share/icons/hicolor/''${size}x''${size}/apps/zotero.png
-     done
+    mkdir -p "$prefix/usr/lib/zotero-bin-${version}"
+    cp -r * "$prefix/usr/lib/zotero-bin-${version}"
+    mkdir -p "$out/bin"
+    ln -s "$prefix/usr/lib/zotero-bin-${version}/zotero" "$out/bin/"
 
-     for executable in \
-       zotero-bin plugin-container \
-       updater minidump-analyzer
-     do
-       if [ -e "$out/usr/lib/zotero-bin-${version}/$executable" ]; then
-         patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-           "$out/usr/lib/zotero-bin-${version}/$executable"
-       fi
-     done
-     find . -executable -type f -exec \
-       patchelf --set-rpath "$libPath" \
-         "$out/usr/lib/zotero-bin-${version}/{}" \;
+    # install desktop file and icons.
+    mkdir -p $out/share/applications
+    cp ${desktopItem}/share/applications/* $out/share/applications/
+    for size in 16 32 48 256; do
+      install -Dm444 chrome/icons/default/default$size.png \
+        $out/share/icons/hicolor/''${size}x''${size}/apps/zotero.png
+    done
+
+    for executable in \
+      zotero-bin plugin-container \
+      updater minidump-analyzer
+    do
+      if [ -e "$out/usr/lib/zotero-bin-${version}/$executable" ]; then
+        patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+          "$out/usr/lib/zotero-bin-${version}/$executable"
+      fi
+    done
+    find . -executable -type f -exec \
+      patchelf --set-rpath "$libPath" \
+        "$out/usr/lib/zotero-bin-${version}/{}" \;
+
+    runHook postInstall
   '';
 
   preFixup = ''
@@ -141,7 +144,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://www.zotero.org";
     description = "Collect, organize, cite, and share your research sources";
-    license = licenses.agpl3;
+    license = licenses.agpl3Only;
     platforms = platforms.linux;
+    maintainers = with maintainers; [ i077 ];
   };
 }
diff --git a/pkgs/applications/printing/pappl/default.nix b/pkgs/applications/printing/pappl/default.nix
index 4c7b60c125ccb..de0b9bada53cd 100644
--- a/pkgs/applications/printing/pappl/default.nix
+++ b/pkgs/applications/printing/pappl/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pappl";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "michaelrsweet";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-4evyOrPd8zb5y00L8h2t++ayW1S8WQ5P+6MXe6eju68=";
+    sha256 = "sha256-L4ptgAJAvyTUCVl6YotA8DnlISc9PwZM0WjXyOvxGJg=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/applications/radio/cqrlog/default.nix b/pkgs/applications/radio/cqrlog/default.nix
new file mode 100644
index 0000000000000..d86a08f3a1b07
--- /dev/null
+++ b/pkgs/applications/radio/cqrlog/default.nix
@@ -0,0 +1,101 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fpc
+, lazarus
+, atk
+, cairo
+, gdk-pixbuf
+, glib
+, gtk2-x11
+, libX11
+, pango
+, hamlib
+, mysql57
+, tqsl
+, xdg-utils
+, xplanet
+, autoPatchelfHook
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "cqrlog";
+  version = "2.5.2";
+
+  src = fetchFromGitHub {
+    owner = "ok2cqr";
+    repo = "cqrlog";
+    rev = "v${version}";
+    sha256 = "0zzcg0bl6mq4wfifj998x9x09w8sigbh46synpqx034fpr0swyhb";
+  };
+
+  # Adds the possiblity to change the lazarus directory,
+  # otherwise, we would get error : "directory lcl not found"
+  patches = [ ./fix-makefile-lazarusdir.patch ];
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace @Lazarusdir@ "${lazarus}/share/lazarus" \
+      --replace /usr ""
+    substituteInPlace src/fTRXControl.pas \
+      --replace "/usr/bin/rigctld" "${hamlib}/bin/rigctld"
+    substituteInPlace src/fCallAttachment.pas \
+      --replace "/usr/bin/xdg-open" "${xdg-utils}/bin/xdg-open"
+    substituteInPlace src/fRotControl.pas \
+      --replace "/usr/bin/rotctld" "${hamlib}/bin/rotctld"
+    substituteInPlace src/fPreferences.pas \
+      --replace "/usr/bin/rigctld" "${hamlib}/bin/rigctld" \
+      --replace "/usr/bin/rotctld" "${hamlib}/bin/rotctld" \
+      --replace "/usr/bin/xplanet" "${xplanet}/bin/xplanet"
+    substituteInPlace src/fLoTWExport.pas \
+      --replace "/usr/bin/tqsl" "${tqsl}/bin/tqsl"
+    substituteInPlace src/dUtils.pas \
+      --replace "/usr/bin/xplanet" "${xplanet}/bin/xplanet" \
+      --replace "/usr/bin/rigctld" "${hamlib}/bin/rigctld"
+    # Order is important
+    substituteInPlace src/dData.pas \
+      --replace "/usr/bin/mysqld_safe" "${mysql57}/bin/mysqld_safe" \
+      --replace "/usr/bin/mysqld" "${mysql57}/bin/mysqld"
+
+    # To be fail when I need to patch a new hardcoded binary
+    ! grep -C src -RC0 "/usr"
+  '';
+
+  nativeBuildInputs = [ lazarus fpc autoPatchelfHook wrapGAppsHook ];
+  buildInputs = [
+    atk
+    cairo
+    gdk-pixbuf
+    glib
+    gtk2-x11
+    libX11
+    pango
+  ];
+  propagatedBuildInputs = [
+    hamlib
+    mysql57
+    tqsl
+    xdg-utils
+    xplanet
+  ];
+
+  makeFlags = [
+    "FPC=fpc"
+    "PP=fpc"
+    "DESTDIR=$(out)"
+  ];
+
+  postFixup = ''
+    libmysqlclient=$(find "${mysql57}/lib" -name "libmysqlclient.so.*" | tail -n1)
+    patchelf --add-needed "$libmysqlclient" "$out/bin/.cqrlog-wrapped"
+  '';
+
+  meta = with lib; {
+    description = "Linux logging program for amateur radio operators";
+    homepage = "https://www.cqrlog.com/";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ shamilton ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/radio/cqrlog/fix-makefile-lazarusdir.patch b/pkgs/applications/radio/cqrlog/fix-makefile-lazarusdir.patch
new file mode 100644
index 0000000000000..9170387966acd
--- /dev/null
+++ b/pkgs/applications/radio/cqrlog/fix-makefile-lazarusdir.patch
@@ -0,0 +1,13 @@
+Seulement dans b: logs
+diff --color -ur a/Makefile b/Makefile
+--- a/Makefile	2021-02-15 17:07:14.333810200 +0100
++++ b/Makefile	2021-02-15 17:19:18.599426984 +0100
+@@ -6,7 +6,7 @@
+ tmpdir   = /tmp
+ 
+ cqrlog: src/cqrlog.lpi
+-	$(CC) --ws=gtk2 --pcp=$(tmpdir)/.lazarus src/cqrlog.lpi
++	$(CC) --ws=gtk2 --pcp=$(tmpdir)/.lazarus --lazarusdir=@Lazarusdir@ src/cqrlog.lpi
+ 	$(ST) src/cqrlog
+ 	gzip tools/cqrlog.1 -c > tools/cqrlog.1.gz
+ 
diff --git a/pkgs/applications/radio/fldigi/default.nix b/pkgs/applications/radio/fldigi/default.nix
index 51728bfb403e8..d14e0017f6d38 100644
--- a/pkgs/applications/radio/fldigi/default.nix
+++ b/pkgs/applications/radio/fldigi/default.nix
@@ -2,12 +2,12 @@
   libsamplerate, libpulseaudio, libXinerama, gettext, pkg-config, alsaLib }:
 
 stdenv.mkDerivation rec {
-  version = "4.1.17";
+  version = "4.1.18";
   pname = "fldigi";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "1gzff60sn3h05279f9mdi1rkdws52m28shcil16911lvlq6ki13m";
+    sha256 = "sha256-PH/YSrOoS6RSWyUenVYSDa7mJqODFoSpdP2tR2+QJw0=";
   };
 
   buildInputs = [ libXinerama gettext hamlib fltk14 libjpeg libpng portaudio
diff --git a/pkgs/applications/radio/flrig/default.nix b/pkgs/applications/radio/flrig/default.nix
index 276581d80e526..c927d77bef44b 100644
--- a/pkgs/applications/radio/flrig/default.nix
+++ b/pkgs/applications/radio/flrig/default.nix
@@ -7,12 +7,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.3.53";
+  version = "1.3.54";
   pname = "flrig";
 
   src = fetchurl {
     url = "mirror://sourceforge/fldigi/${pname}-${version}.tar.gz";
-    sha256 = "1m0fa891scpaf719002w9gpg1famx84kpzav1mw1fafmbzyvjw1i";
+    sha256 = "sha256-zw0xi4AVnm8Vi/oWkh13C9BjabOKUtZaVmLN++zKGug=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/radio/gnuradio/ais.nix b/pkgs/applications/radio/gnuradio/ais.nix
index 94556561439dc..8d6e8509772cf 100644
--- a/pkgs/applications/radio/gnuradio/ais.nix
+++ b/pkgs/applications/radio/gnuradio/ais.nix
@@ -1,10 +1,20 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, boost, gnuradio
-, makeWrapper, cppunit, gr-osmosdr, log4cpp
-, pythonSupport ? true, python, swig
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, boost
+, gnuradio
+, makeWrapper
+, cppunit
+, gr-osmosdr
+, log4cpp
+, pythonSupport ? true
+, python
+, swig
+, fetchpatch
 }:
 
-assert pythonSupport -> python != null && swig != null;
-
 stdenv.mkDerivation {
   pname = "gr-ais";
   version = "2015-12-20";
@@ -12,14 +22,20 @@ stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "bistromath";
     repo = "gr-ais";
-    # Upstream PR: https://github.com/bistromath/gr-ais/commit/8502d0252a2a1a9b8d1a71795eaeb5d820684054
-    rev = "8502d0252a2a1a9b8d1a71795eaeb5d820684054";
-    sha256 = "1b9j0kc74cw12a7jv4lii77dgzqzg2s8ndzp4xmisxksgva1qfvh";
+    rev = "cdc1f52745853f9c739c718251830eb69704b26e";
+    sha256 = "1vl3kk8xr2mh5lf31zdld7yzmwywqffffah8iblxdzblgsdwxfl6";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/bistromath/gr-ais/commit/8502d0252a2a1a9b8d1a71795eaeb5d820684054.patch";
+      sha256 = "1cwalphldvf6dbhzwz1gi53z0cb4921qsvlz4138q7m6dxccvssg";
+    })
+  ];
+
   nativeBuildInputs = [ cmake makeWrapper pkg-config ];
   buildInputs = [ boost gnuradio cppunit gr-osmosdr log4cpp ]
-             ++ lib.optionals pythonSupport [ python swig ];
+    ++ lib.optionals pythonSupport [ python swig ];
 
   postInstall = ''
     for prog in "$out"/bin/*; do
diff --git a/pkgs/applications/radio/gnuradio/default.nix b/pkgs/applications/radio/gnuradio/default.nix
index 9223f160db301..9bc1511968be9 100644
--- a/pkgs/applications/radio/gnuradio/default.nix
+++ b/pkgs/applications/radio/gnuradio/default.nix
@@ -218,6 +218,7 @@ let
     passthru
     doCheck
     dontWrapPythonPrograms
+    dontWrapQtApps
     meta
   ;
   cmakeFlags = shared.cmakeFlags
@@ -283,6 +284,7 @@ stdenv.mkDerivation rec {
     passthru
     doCheck
     dontWrapPythonPrograms
+    dontWrapQtApps
     meta
   ;
 }
diff --git a/pkgs/applications/radio/gnuradio/shared.nix b/pkgs/applications/radio/gnuradio/shared.nix
index 1d5d84f46495d..9b354d5b960c2 100644
--- a/pkgs/applications/radio/gnuradio/shared.nix
+++ b/pkgs/applications/radio/gnuradio/shared.nix
@@ -109,6 +109,7 @@ rec {
   };
   # Wrapping is done with an external wrapper
   dontWrapPythonPrograms = true;
+  dontWrapQtApps = true;
   # Tests should succeed, but it's hard to get LD_LIBRARY_PATH right in order
   # for it to happen.
   doCheck = false;
diff --git a/pkgs/applications/radio/multimon-ng/default.nix b/pkgs/applications/radio/multimon-ng/default.nix
index 2524b48c9c27f..aea0944b29b45 100644
--- a/pkgs/applications/radio/multimon-ng/default.nix
+++ b/pkgs/applications/radio/multimon-ng/default.nix
@@ -37,7 +37,8 @@ stdenv.mkDerivation {
       ZVEI3 DZVEI PZVEI EEA EIA CCIR MORSE CW
     '';
     homepage = "https://github.com/EliasOenal/multimon-ng";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     platforms = platforms.linux;
+    maintainers = [ maintainers.markuskowa ];
   };
 }
diff --git a/pkgs/applications/radio/sdrangel/default.nix b/pkgs/applications/radio/sdrangel/default.nix
index b4a6cb775cc3c..6f723971c8e6b 100644
--- a/pkgs/applications/radio/sdrangel/default.nix
+++ b/pkgs/applications/radio/sdrangel/default.nix
@@ -9,7 +9,7 @@ fftwFloat,
 glew,
 hackrf,
 lib,
-libav,
+ffmpeg,
 libiio,
 libopus,
 libpulseaudio,
@@ -44,7 +44,7 @@ mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [
-    glew opencv3 libusb1 boost libopus limesuite libav libiio libpulseaudio
+    glew opencv3 libusb1 boost libopus limesuite ffmpeg libiio libpulseaudio
     qtbase qtwebsockets qtmultimedia rtl-sdr airspy hackrf
     fftwFloat codec2 cm256cc serialdv qtserialport
     libbladeRF uhd soapysdr-with-plugins
diff --git a/pkgs/applications/radio/soapybladerf/default.nix b/pkgs/applications/radio/soapybladerf/default.nix
index 9c0ad38eb5983..dca5b7702c31d 100644
--- a/pkgs/applications/radio/soapybladerf/default.nix
+++ b/pkgs/applications/radio/soapybladerf/default.nix
@@ -25,7 +25,7 @@ in stdenv.mkDerivation {
   meta = with lib; {
     homepage = "https://github.com/pothosware/SoapyBladeRF";
     description = "SoapySDR plugin for BladeRF devices";
-    license = licenses.lgpl21;
+    license = licenses.lgpl21Only;
     maintainers = with maintainers; [ markuskowa ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/radio/unixcw/default.nix b/pkgs/applications/radio/unixcw/default.nix
index 5e299cc598430..cdb84670c616f 100644
--- a/pkgs/applications/radio/unixcw/default.nix
+++ b/pkgs/applications/radio/unixcw/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
   buildInputs = [libpulseaudio alsaLib pkg-config qt5.qtbase];
   CFLAGS   ="-lasound -lpulse-simple";
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "sound characters as Morse code on the soundcard or console speaker";
     longDescription = ''
diff --git a/pkgs/applications/radio/welle-io/default.nix b/pkgs/applications/radio/welle-io/default.nix
index be154d6cee3ac..97bf84a2bf39e 100644
--- a/pkgs/applications/radio/welle-io/default.nix
+++ b/pkgs/applications/radio/welle-io/default.nix
@@ -43,7 +43,7 @@ in mkDerivation {
     description = "A DAB/DAB+ Software Radio";
     homepage = "https://www.welle.io/";
     maintainers = with maintainers; [ ck3d markuskowa ];
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     platforms = with platforms; [ "x86_64-linux" "i686-linux" ] ++ darwin;
   };
 }
diff --git a/pkgs/applications/science/astronomy/gpredict/default.nix b/pkgs/applications/science/astronomy/gpredict/default.nix
index 4cda15e516d4e..3f82ff7b52a87 100644
--- a/pkgs/applications/science/astronomy/gpredict/default.nix
+++ b/pkgs/applications/science/astronomy/gpredict/default.nix
@@ -26,7 +26,7 @@ in stdenv.mkDerivation {
       well. Gpredict uses the SGP4/SDP4 algorithms, which are compatible with the
       NORAD Keplerian elements.
     '';
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     platforms = platforms.linux;
     homepage = "http://gpredict.oz9aec.net/";
     maintainers = [ maintainers.markuskowa maintainers.cmcdragonkai ];
diff --git a/pkgs/applications/science/astronomy/siril/default.nix b/pkgs/applications/science/astronomy/siril/default.nix
index cd78b644eb052..e51d181266a48 100644
--- a/pkgs/applications/science/astronomy/siril/default.nix
+++ b/pkgs/applications/science/astronomy/siril/default.nix
@@ -1,18 +1,18 @@
-{ lib, stdenv, fetchFromGitLab, fetchFromGitHub, pkg-config, meson, ninja,
-  git, criterion, wrapGAppsHook, gtk3, libconfig, gnuplot, opencv,
-  fftwFloat, cfitsio, gsl, exiv2, curl, librtprocess, ffmpeg,
-  libraw, libtiff, libpng, libjpeg, libheif, ffms
+{ lib, stdenv, fetchFromGitLab, pkg-config, meson, ninja, wrapGAppsHook
+, git, criterion, gtk3, libconfig, gnuplot, opencv, json-glib
+, fftwFloat, cfitsio, gsl, exiv2, librtprocess, wcslib, ffmpeg
+, libraw, libtiff, libpng, libjpeg, libheif, ffms
 }:
 
 stdenv.mkDerivation rec {
   pname = "siril";
-  version = "0.99.6";
+  version = "0.99.8.1";
 
   src = fetchFromGitLab {
     owner = "free-astro";
     repo = pname;
     rev = version;
-    sha256 = "06vh8x45gv0gwlnqjwxglf12jmpdaxkiv5sixkqh20420wabx3ha";
+    sha256 = "0h3slgpj6zdc0rwmyr9zb0vgf53283hpwb7h26skdswmggsk90i5";
   };
 
   nativeBuildInputs = [
@@ -20,8 +20,8 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gtk3 cfitsio gsl exiv2 gnuplot curl opencv fftwFloat librtprocess
-    libconfig libraw libtiff libpng libjpeg libheif ffms ffmpeg
+    gtk3 cfitsio gsl exiv2 gnuplot opencv fftwFloat librtprocess wcslib
+    libconfig libraw libtiff libpng libjpeg libheif ffms ffmpeg json-glib
   ];
 
   # Necessary because project uses default build dir for flatpaks/snaps
@@ -37,8 +37,8 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://www.siril.org/";
-    description = "Astronomical image processing tool";
-    license = licenses.gpl3;
+    description = "Astrophotographic image processing tool";
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ hjones2199 ];
     platforms = [ "x86_64-linux" ];
   };
diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix
index 4c773208d5603..235d06a9cd6fd 100644
--- a/pkgs/applications/science/astronomy/stellarium/default.nix
+++ b/pkgs/applications/science/astronomy/stellarium/default.nix
@@ -6,13 +6,13 @@
 
 mkDerivation rec {
   pname = "stellarium";
-  version = "0.20.3";
+  version = "0.20.4";
 
   src = fetchFromGitHub {
     owner = "Stellarium";
     repo = "stellarium";
     rev = "v${version}";
-    sha256 = "08abrshrzhdfcg3b2vzfmnq8fhzrasadg1ajs81kcw96yjc59vak";
+    sha256 = "sha256-EhlcaMxlDyX2RneBrpbmLScc9vd77Tf7RPblbQqAqZ0=";
   };
 
   nativeBuildInputs = [ cmake perl wrapQtAppsHook ];
diff --git a/pkgs/applications/science/biology/bcftools/default.nix b/pkgs/applications/science/biology/bcftools/default.nix
index f4e2db01fbc56..e15cac60295e8 100644
--- a/pkgs/applications/science/biology/bcftools/default.nix
+++ b/pkgs/applications/science/biology/bcftools/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   makeFlags = [
     "HSTDIR=${htslib}"
     "prefix=$(out)"
-    "CC=cc"
+    "CC=${stdenv.cc.targetPrefix}cc"
   ];
 
   preCheck = ''
diff --git a/pkgs/applications/science/biology/blast/default.nix b/pkgs/applications/science/biology/blast/default.nix
index 6fd061f1402d8..877b5b7d34c02 100644
--- a/pkgs/applications/science/biology/blast/default.nix
+++ b/pkgs/applications/science/biology/blast/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, zlib, bzip2, perl, cpio, gawk, coreutils, ApplicationServices }:
+{ lib, stdenv, buildPackages, fetchurl, zlib, bzip2, perl, cpio, gawk, coreutils, ApplicationServices }:
 
 stdenv.mkDerivation rec {
   pname = "blast";
-  version = "2.10.0";
+  version = "2.11.0";
 
   src = fetchurl {
-    url = "ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/${version}/ncbi-blast-${version}+-src.tar.gz";
-    sha256 = "09nry5knj5hhxpn0a5ww1gb1704grd4r1y7adbjl6kqwq37dkk9s";
+    url = "https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/${version}/ncbi-blast-${version}+-src.tar.gz";
+    sha256 = "0m0r9vkw631ky1za1wilsfk9k9spwqh22nkrb9a57rbwmrc1i3nq";
   };
 
   sourceRoot = "ncbi-blast-${version}+-src/c++";
@@ -75,6 +75,7 @@ stdenv.mkDerivation rec {
         --replace /bin/date ${coreutils}/bin/date
   '';
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ perl ];
 
   # perl is necessary in buildInputs so that installed perl scripts get patched
diff --git a/pkgs/applications/science/biology/blast/no_slash_bin.patch b/pkgs/applications/science/biology/blast/no_slash_bin.patch
index 9b78ac5792645..851e37fa905db 100644
--- a/pkgs/applications/science/biology/blast/no_slash_bin.patch
+++ b/pkgs/applications/science/biology/blast/no_slash_bin.patch
@@ -171,14 +171,8 @@ diff -u --recursive ncbi-blast-2.9.0+-src/scripts/common/impl/strip_for_install.
  GREP     = @GREP@
 --- ncbi-blast-2.9.0+-src/src/build-system/configure	2019-03-05 00:49:08.000000000 +0800
 +++ ncbi-blast-2.9.0+-src.patched/src/build-system/configure	2019-05-15 16:55:40.711795042 +0800
-@@ -10417,10 +10417,6 @@
- echo "${ECHO_T}no, using $LN_S" >&6; }
- fi
- 
+@@ -10417,4 +10417,0 @@
 -case "$LN_S" in
 -    /*) ;;
 -    * ) LN_S=/bin/$LN_S ;;
 -esac
- 
- if test -n "$ac_tool_prefix"; then
-   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
diff --git a/pkgs/applications/science/biology/eggnog-mapper/default.nix b/pkgs/applications/science/biology/eggnog-mapper/default.nix
index 7eb3afd437af7..b42fed8da2819 100644
--- a/pkgs/applications/science/biology/eggnog-mapper/default.nix
+++ b/pkgs/applications/science/biology/eggnog-mapper/default.nix
@@ -16,7 +16,7 @@ python27Packages.buildPythonApplication rec {
     sha256 = "0abnmn0bh11jihf5d3cggiild1ykawzv5f5fhb4cyyi8fvy4hcxf";
   });
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
   propagatedBuildInputs = [ python27Packages.biopython wget diamond hmmer ];
 
   # make emapper find diamond & hmmer
diff --git a/pkgs/applications/science/biology/last/default.nix b/pkgs/applications/science/biology/last/default.nix
index 3a36a2194a134..0c5b81452fd5c 100644
--- a/pkgs/applications/science/biology/last/default.nix
+++ b/pkgs/applications/science/biology/last/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "last";
-  version = "1170";
+  version = "1179";
 
   src = fetchurl {
     url = "http://last.cbrc.jp/last-${version}.zip";
-    sha256 = "sha256-hBuG6QGXtBrvNrtaZU+i8gxu2ZQw+srFRkbuWoL5JHc=";
+    sha256 = "sha256-949oiE7ZNkCOJuOK/huPkCN0c4TlVaTskkBe0joc0HU=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/science/biology/picard-tools/default.nix b/pkgs/applications/science/biology/picard-tools/default.nix
index 4a3816c4d4af2..52a17e8d01cdf 100644
--- a/pkgs/applications/science/biology/picard-tools/default.nix
+++ b/pkgs/applications/science/biology/picard-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "picard-tools";
-  version = "2.24.1";
+  version = "2.25.0";
 
   src = fetchurl {
     url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
-    sha256 = "sha256-acCsYHyZ358hYqa2haOxR+g6FQGtK+hstYfLBvHLwR8=";
+    sha256 = "sha256-+vJDTahP4htRbVeBd2eSD97fwZ69wB2cro1tMxT36Jc=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/science/biology/platypus/default.nix b/pkgs/applications/science/biology/platypus/default.nix
index 30bc68fb0e874..d602395b87572 100644
--- a/pkgs/applications/science/biology/platypus/default.nix
+++ b/pkgs/applications/science/biology/platypus/default.nix
@@ -13,7 +13,8 @@ in stdenv.mkDerivation {
     sha256 = "0nah6r54b8xm778gqyb8b7rsd76z8ji4g73sm6rvpw5s96iib1vw";
   };
 
-  buildInputs = [ htslib python zlib makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ htslib python zlib ];
 
   buildPhase = ''
     patchShebangs .
diff --git a/pkgs/applications/science/biology/prodigal/default.nix b/pkgs/applications/science/biology/prodigal/default.nix
index 22883cc522f1a..28a21522c6b81 100644
--- a/pkgs/applications/science/biology/prodigal/default.nix
+++ b/pkgs/applications/science/biology/prodigal/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   makeFlags = [
-    "CC=cc"
+    "CC=${stdenv.cc.targetPrefix}cc"
     "INSTALLDIR=$(out)/bin"
   ];
 
diff --git a/pkgs/applications/science/biology/snpeff/default.nix b/pkgs/applications/science/biology/snpeff/default.nix
index 32701af8392cc..b48e13ecf003d 100644
--- a/pkgs/applications/science/biology/snpeff/default.nix
+++ b/pkgs/applications/science/biology/snpeff/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0i12mv93bfv8xjwc3rs2x73d6hkvi7kgbbbx3ry984l3ly4p6nnm";
   };
 
-  buildInputs = [ unzip jre makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ unzip jre ];
 
   sourceRoot = "snpEff";
 
diff --git a/pkgs/applications/science/biology/star/default.nix b/pkgs/applications/science/biology/star/default.nix
index a7fe948ecfd60..9ad53502cd767 100644
--- a/pkgs/applications/science/biology/star/default.nix
+++ b/pkgs/applications/science/biology/star/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "star";
-  version = "2.7.6a";
+  version = "2.7.8a";
 
   src = fetchFromGitHub {
     repo = "STAR";
     owner = "alexdobin";
     rev = version;
-    sha256 = "1zw9f4jbhz0y51namnmid42pa7pviviy94q9db8w0774nksdf8is";
+    sha256 = "sha256-2qqdCan67bcoUGgr5ro2LGGHDAyS/egTrT8pWX1chX0=";
   };
 
   sourceRoot = "source/source";
diff --git a/pkgs/applications/science/biology/varscan/default.nix b/pkgs/applications/science/biology/varscan/default.nix
index 65a19b83a70ec..2a232d64693d0 100644
--- a/pkgs/applications/science/biology/varscan/default.nix
+++ b/pkgs/applications/science/biology/varscan/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-+yO3KrZ2+1qJvQIJHCtsmv8hC5a+4E2d7mrvTYtygU0=";
   };
 
-  buildInputs = [ jre makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre ];
 
   phases = [ "installPhase" ];
 
diff --git a/pkgs/applications/science/chemistry/chemtool/default.nix b/pkgs/applications/science/chemistry/chemtool/default.nix
new file mode 100644
index 0000000000000..3b5d144ba22ba
--- /dev/null
+++ b/pkgs/applications/science/chemistry/chemtool/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, libX11
+, gtk2
+, fig2dev
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "chemtool";
+  version = "1.6.14";
+
+  src = fetchurl {
+    url = "http://ruby.chemie.uni-freiburg.de/~martin/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "hhYaBGE4azNKX/sXzfCUpJGUGIRngnL0V0mBNRTdr8s=";
+  };
+
+  nativeBuildInputs = [ pkg-config wrapGAppsHook ];
+  buildInputs = [
+    libX11
+    gtk2
+    fig2dev
+  ];
+
+  preFixup = ''
+    gappsWrapperArgs+=(--prefix PATH : "${lib.makeBinPath [ fig2dev ]}")
+  '';
+
+  meta = with lib; {
+    homepage = "http://ruby.chemie.uni-freiburg.de/~martin/chemtool/";
+    description = "Draw chemical structures";
+    longDescription = ''
+      Chemtool is a program for drawing organic molecules. It runs under the X
+      Window System using the GTK widget set.
+
+      Most operations in chemtool can be accomplished using the mouse - the
+      first (usually the left) button is used to select or place things, the
+      middle button modifies properties (e.g. reverses the direction of a bond),
+      and the right button is used to delete objects.
+
+      The program offers essentially unlimited undo/redo, two text fonts plus
+      symbols, seven colors, drawing at several zoom scales, and square and
+      hexagonal backdrop grids for easier alignment.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ AndersonTorres ];
+  };
+}
diff --git a/pkgs/applications/science/chemistry/jmol/default.nix b/pkgs/applications/science/chemistry/jmol/default.nix
index aa52fee0890d6..32e7e7e5d723f 100644
--- a/pkgs/applications/science/chemistry/jmol/default.nix
+++ b/pkgs/applications/science/chemistry/jmol/default.nix
@@ -17,14 +17,14 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  version = "14.31.18";
+  version = "14.31.24";
   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 = "0hkc7c08azbw3k91ygwz6r5y4yw6k8l7h4gcq5p71knd5k1fa5jd";
+    sha256 = "sha256-86nDeKRXSNKrmYeo1rRLfziLVnmEmdIJRfIv6DFIxcs=";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/science/chemistry/marvin/default.nix b/pkgs/applications/science/chemistry/marvin/default.nix
index f6de72205dc4f..23635f8e6c6a1 100644
--- a/pkgs/applications/science/chemistry/marvin/default.nix
+++ b/pkgs/applications/science/chemistry/marvin/default.nix
@@ -4,12 +4,12 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "marvin";
-  version = "21.1.0";
+  version = "21.2.0";
 
   src = fetchurl {
     name = "marvin-${version}.deb";
     url = "http://dl.chemaxon.com/marvin/${version}/marvin_linux_${versions.majorMinor version}.deb";
-    sha256 = "sha256-HlBvtpxm8voLS6E8QQ4Ur211KSUhAkL/sv4odoy8oUo=";
+    sha256 = "sha256-CLvMspk7HqrtNM5TD45mZIz6vsS32eUuxFDJiBDs9VY=";
   };
 
   nativeBuildInputs = [ dpkg makeWrapper ];
diff --git a/pkgs/applications/science/chemistry/molden/default.nix b/pkgs/applications/science/chemistry/molden/default.nix
index 32e8f6ee56e2d..9595639d381e5 100644
--- a/pkgs/applications/science/chemistry/molden/default.nix
+++ b/pkgs/applications/science/chemistry/molden/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   pname = "molden";
 
   src = fetchurl {
-    url = "ftp://ftp.cmbi.ru.nl/pub/molgraph/molden/molden${version}.tar.gz";
+    url = "ftp://ftp.cmbi.umcn.nl/pub/molgraph/molden/molden${version}.tar.gz";
     sha256 = "02qi16pz2wffn3cc47dpjqhfafzwfmb79waw4nnhfyir8a4h3cq1";
   };
 
@@ -31,10 +31,10 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
      description = "Display and manipulate molecular structures";
-     homepage = "http://www.cmbi.ru.nl/molden/";
+     homepage = "http://www3.cmbi.umcn.nl/molden/";
      license = {
        fullName = "Free for academic/non-profit use";
-       url = "http://www.cmbi.ru.nl/molden/CopyRight.html";
+       url = "http://www3.cmbi.umcn.nl/molden/CopyRight.html";
        free = false;
      };
      platforms = platforms.linux;
diff --git a/pkgs/applications/science/chemistry/openmolcas/default.nix b/pkgs/applications/science/chemistry/openmolcas/default.nix
index 4bd88456b8f6e..cc9202493b1d5 100644
--- a/pkgs/applications/science/chemistry/openmolcas/default.nix
+++ b/pkgs/applications/science/chemistry/openmolcas/default.nix
@@ -69,7 +69,7 @@ in stdenv.mkDerivation {
     description = "Advanced quantum chemistry software package";
     homepage = "https://gitlab.com/Molcas/OpenMolcas";
     maintainers = [ maintainers.markuskowa ];
-    license = licenses.lgpl21;
+    license = licenses.lgpl21Only;
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/science/electronics/diylc/default.nix b/pkgs/applications/science/electronics/diylc/default.nix
index 70d07460a7518..dac6713a495c0 100644
--- a/pkgs/applications/science/electronics/diylc/default.nix
+++ b/pkgs/applications/science/electronics/diylc/default.nix
@@ -2,11 +2,11 @@
 
 let
   pname = "diylc";
-  version = "4.15.1";
+  version = "4.17.0";
   files = {
     app = fetchurl {
       url = "https://github.com/bancika/diy-layout-creator/releases/download/v${version}/diylc-${version}.zip";
-      sha256 = "09vzbxas654n8npxljqljf930y5gcjfvv3r4dv97dwk5sy66xvaf";
+      sha256 = "0cysqkrddhbs7rprm8xm21c286mz4apw66fxakhzlg50kjn0nwjv";
     };
     icon16 = fetchurl {
       url = "https://raw.githubusercontent.com/bancika/diy-layout-creator/v${version}/diylc/diylc-core/src/org/diylc/core/images/icon_small.png";
@@ -39,6 +39,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ unzip ];
 
   installPhase = ''
+    runHook preInstall
+
     install -d $out/share/diylc
     ${unzip}/bin/unzip -UU ${files.app} -d $out/share/diylc
     rm $out/share/diylc/diylc.exe
@@ -59,6 +61,8 @@ stdenv.mkDerivation rec {
     ${jre8}/bin/java -Xms512m -Xmx2048m -Dorg.diylc.scriptRun=true -Dfile.encoding=UTF-8 -cp diylc.jar:lib org.diylc.DIYLCStarter
     EOF
     chmod +x $out/bin/diylc
+
+    runHook postInstall
   '';
 
   meta = with lib; {
@@ -67,5 +71,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/bancika/diy-layout-creator/releases";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
+    maintainers = with maintainers; [ eduardosm ];
   };
 }
diff --git a/pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix b/pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix
index 2c5ee674a23da..e84e9b7400e44 100644
--- a/pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix
+++ b/pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix
@@ -1,17 +1,17 @@
 { lib, stdenv, fetchFromGitHub, cmake, ninja, pkg-config, python3Packages
 , boost, rapidjson, qtbase, qtsvg, igraph, spdlog, wrapQtAppsHook
-, fmt, graphviz, llvmPackages ? null
+, fmt, graphviz, llvmPackages, z3
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.1.9";
+  version = "3.2.5";
   pname = "hal-hardware-analyzer";
 
   src = fetchFromGitHub {
     owner = "emsec";
     repo = "hal";
     rev = "v${version}";
-    sha256 = "0yvvlx0hq73x20va4csa8kyx3x4z648s6l6qqirzjpmxa1w91xc6";
+    sha256 = "0hc10wbngh4gfiiy9ndkf1y6dclcgy38x1n9k5wpvmf13vdah3zy";
   };
   # make sure bundled dependencies don't get in the way - install also otherwise
   # copies them in full to the output, bloating the package
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ cmake ninja pkg-config ];
-  buildInputs = [ qtbase qtsvg boost rapidjson igraph spdlog fmt graphviz wrapQtAppsHook ]
+  buildInputs = [ qtbase qtsvg boost rapidjson igraph spdlog fmt graphviz wrapQtAppsHook z3 ]
     ++ (with python3Packages; [ python pybind11 ])
     ++ lib.optional stdenv.cc.isClang llvmPackages.openmp;
 
diff --git a/pkgs/applications/science/electronics/kicad/base.nix b/pkgs/applications/science/electronics/kicad/base.nix
index 3ed6234b4f86f..1a5c0de5fb7f5 100644
--- a/pkgs/applications/science/electronics/kicad/base.nix
+++ b/pkgs/applications/science/electronics/kicad/base.nix
@@ -1,5 +1,5 @@
-{ lib, stdenv
-, fetchFromGitLab
+{ lib
+, stdenv
 , cmake
 , libGLU
 , libGL
@@ -18,9 +18,7 @@
 , pcre
 , libpthreadstubs
 , libXdmcp
-, fetchpatch
 , lndir
-, callPackage
 
 , stable
 , baseName
diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix
index 88bb79788812b..dcf51e657c4a1 100644
--- a/pkgs/applications/science/electronics/kicad/default.nix
+++ b/pkgs/applications/science/electronics/kicad/default.nix
@@ -15,19 +15,15 @@
 , stable ? true
 , oceSupport ? false
 , withOCE ? false
-, opencascade
 , withOCCT ? false
 , withOCC ? true
-, opencascade-occt
 , ngspiceSupport ? false
 , withNgspice ? true
 , libngspice
 , scriptingSupport ? false
 , withScripting ? true
-, swig
 , python3
 , debug ? false
-, valgrind
 , with3d ? true
 , withI18n ? true
 , srcs ? { }
diff --git a/pkgs/applications/science/electronics/ngspice/default.nix b/pkgs/applications/science/electronics/ngspice/default.nix
index f8fbdffc63405..0eed8b1692aa1 100644
--- a/pkgs/applications/science/electronics/ngspice/default.nix
+++ b/pkgs/applications/science/electronics/ngspice/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ngspice";
-  version = "33";
+  version = "34";
 
   src = fetchurl {
     url = "mirror://sourceforge/ngspice/ngspice-${version}.tar.gz";
-    sha256 = "1wa1hmpn13spmxqgbb1m7vgy32mwvjqwrxhymzll8z65q5nbd7dr";
+    sha256 = "sha256-ImP//GaUdUlyr3By7wHP5irHkIANrWUbwpC/yueb17U=";
   };
 
   nativeBuildInputs = [ flex bison ];
diff --git a/pkgs/applications/science/electronics/verilog/default.nix b/pkgs/applications/science/electronics/verilog/default.nix
index dd76e9364c53c..4cb8048df675e 100644
--- a/pkgs/applications/science/electronics/verilog/default.nix
+++ b/pkgs/applications/science/electronics/verilog/default.nix
@@ -38,7 +38,9 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  doCheck = true;
+  # tests try to access /proc/ which does not exist on darwin
+  # Cannot locate IVL modules : couldn't get command path from OS.
+  doCheck = !stdenv.isDarwin;
 
   installCheckInputs = [ perl ];
 
diff --git a/pkgs/applications/science/logic/acgtk/default.nix b/pkgs/applications/science/logic/acgtk/default.nix
index 13364beed5cbb..1cf08741206ca 100644
--- a/pkgs/applications/science/logic/acgtk/default.nix
+++ b/pkgs/applications/science/logic/acgtk/default.nix
@@ -1,20 +1,20 @@
-{ lib, stdenv, fetchurl, dune, ocamlPackages }:
+{ lib, stdenv, fetchurl, dune_2, ocamlPackages }:
 
 stdenv.mkDerivation {
 
   pname = "acgtk";
-  version = "1.5.1";
+  version = "1.5.2";
 
   src = fetchurl {
-    url = "https://acg.loria.fr/software/acg-1.5.1-20191113.tar.gz";
-    sha256 = "17595qfwhzz5q091ak6i6bg5wlppbn8zfn58x3hmmmjvx2yfajn1";
+    url = "https://acg.loria.fr/software/acg-1.5.2-20201204.tar.gz";
+    sha256 = "09yax7dyw8kgwzlb69r9d20y7rrymzwi3bbq2dh0qdq01vjz2xwq";
   };
 
-  buildInputs = [ dune ] ++ (with ocamlPackages; [
+  buildInputs = [ dune_2 ] ++ (with ocamlPackages; [
     ocaml findlib ansiterminal cairo2 cmdliner fmt logs menhir mtime yojson
   ]);
 
-  buildPhase = "dune build";
+  buildPhase = "dune build --profile=release";
 
   installPhase = ''
     dune install --prefix $out --libdir $OCAMLFIND_DESTDIR
diff --git a/pkgs/applications/science/logic/alt-ergo/default.nix b/pkgs/applications/science/logic/alt-ergo/default.nix
index 519b1f98138e5..dd72d148e297c 100644
--- a/pkgs/applications/science/logic/alt-ergo/default.nix
+++ b/pkgs/applications/science/logic/alt-ergo/default.nix
@@ -9,20 +9,22 @@ let
     sha256 = "124k2a4ikk4wdpmvgjpgl97x9skvr9qznk8m68dzsynzpv6yksaj";
   };
 
+  useDune2 = true;
+
   nativeBuildInputs = [ which ];
 
 in
 
 let alt-ergo-lib = ocamlPackages.buildDunePackage rec {
   pname = "alt-ergo-lib";
-  inherit version src nativeBuildInputs;
+  inherit version src useDune2 nativeBuildInputs;
   configureFlags = pname;
   propagatedBuildInputs = with ocamlPackages; [ num ocplib-simplex stdlib-shims zarith ];
 }; in
 
 let alt-ergo-parsers = ocamlPackages.buildDunePackage rec {
   pname = "alt-ergo-parsers";
-  inherit version src nativeBuildInputs;
+  inherit version src useDune2 nativeBuildInputs;
   configureFlags = pname;
   buildInputs = with ocamlPackages; [ menhir ];
   propagatedBuildInputs = [ alt-ergo-lib ] ++ (with ocamlPackages; [ camlzip psmt2-frontend ]);
@@ -30,7 +32,7 @@ let alt-ergo-parsers = ocamlPackages.buildDunePackage rec {
 
 ocamlPackages.buildDunePackage {
 
-  inherit pname version src nativeBuildInputs;
+  inherit pname version src useDune2 nativeBuildInputs;
 
   configureFlags = pname;
 
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index 7a5c1e4da1440..8713abe4bcff4 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -41,7 +41,8 @@ let
    "8.12.0".sha256     = "18dc7k0piv6v064zgdadpw6mkkxk7j663hb3svgj5236fihjr0cz";
    "8.12.1".sha256     = "1rkcyjjrzcqw9xk93hsq0vvji4f8r5iq0f739mghk60bghkpnb7q";
    "8.12.2".sha256     = "18gscfm039pqhq4msq01nraig5dm9ab98bjca94zldf8jvdv0x2n";
-   "8.13+beta1".sha256 = "1v4a6dpj41flspa4ihcr7m5ahqz10kbn62fmrldmv7gzq6jsyfyq";
+   "8.13.0".sha256     = "0sjbqmz6qcvnz0hv87xha80qbhvmmyd675wyc5z4rgr34j2l1ymd";
+   "8.13.1".sha256     = "0xx2ns84mlip9bg2mkahy3pmc5zfcgrjxsviq9yijbzy1r95wf0n";
   };
   releaseRev = v: "V${v}";
   fetched = import ../../../../build-support/coq/meta-fetch/default.nix
diff --git a/pkgs/applications/science/logic/hol/default.nix b/pkgs/applications/science/logic/hol/default.nix
index 6fc7286154aef..569c455e6532c 100644
--- a/pkgs/applications/science/logic/hol/default.nix
+++ b/pkgs/applications/science/logic/hol/default.nix
@@ -3,14 +3,14 @@
 
 let
   pname = "hol4";
-  vnum = "10";
+  vnum = "14";
 in
 
 let
   version = "k.${vnum}";
   longVersion = "kananaskis-${vnum}";
   holsubdir = "hol-${longVersion}";
-  kernelFlag = if experimentalKernel then "-expk" else "-stdknl";
+  kernelFlag = if experimentalKernel then "--expk" else "--stdknl";
 in
 
 let
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/hol/hol/${longVersion}/${holsubdir}.tar.gz";
-    sha256 = "0x2wxksr305h1lrbklf6p42lp09rbhb4rsh74g0l70sgapyiac9b";
+    sha256 = "6Mc/qsEjzxGqzt6yP6x/1Tmqpwc1UDGlwV1Gl+4pMsY=";
   };
 
   buildInputs = [polymlEnableShared graphviz fontconfig liberation_ttf];
@@ -46,8 +46,8 @@ stdenv.mkDerivation {
     cd ${holsubdir}
 
     substituteInPlace tools/Holmake/Holmake_types.sml \
-      --replace "\"/bin/mv\"" "\"mv\"" \
-      --replace "\"/bin/cp\"" "\"cp\""
+      --replace "\"/bin/" "\"" \
+
 
     for f in tools/buildutils.sml help/src-sml/DOT;
     do
@@ -58,7 +58,7 @@ stdenv.mkDerivation {
 
     poly < tools/smart-configure.sml
 
-    bin/build ${kernelFlag} -symlink
+    bin/build ${kernelFlag}
 
     mkdir -p "$out/bin"
     ln -st $out/bin  $out/src/${holsubdir}/bin/*
@@ -81,8 +81,7 @@ stdenv.mkDerivation {
     '';
     homepage = "http://hol.sourceforge.net/";
     license = licenses.bsd3;
+    platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ mudri ];
-    platforms = with platforms; linux;
-    broken = true;
   };
 }
diff --git a/pkgs/applications/science/logic/isabelle/default.nix b/pkgs/applications/science/logic/isabelle/default.nix
index a0f81a543f18e..600ae83ff9126 100644
--- a/pkgs/applications/science/logic/isabelle/default.nix
+++ b/pkgs/applications/science/logic/isabelle/default.nix
@@ -17,7 +17,8 @@ stdenv.mkDerivation rec {
       sha256 = "1bibabhlsvf6qsjjkgxcpq3cvl1z7r8yfcgqbhbvsiv69n3gyfk3";
     };
 
-  buildInputs = [ perl polyml z3 makeWrapper ]
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ perl polyml z3 ]
              ++ lib.optionals (!stdenv.isDarwin) [ nettools java ];
 
   sourceRoot = dirname;
diff --git a/pkgs/applications/science/logic/lean/default.nix b/pkgs/applications/science/logic/lean/default.nix
index 7749f4fd72dd2..d57db0fd0d708 100644
--- a/pkgs/applications/science/logic/lean/default.nix
+++ b/pkgs/applications/science/logic/lean/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lean";
-  version = "3.26.0";
+  version = "3.27.0";
 
   src = fetchFromGitHub {
     owner  = "leanprover-community";
     repo   = "lean";
     rev    = "v${version}";
-    sha256 = "sha256-xCULu6ljfyrA/Idr/BJ+3rLVmQqJZPoo+a7s++u50zU=";
+    sha256 = "sha256-DSIWuMlweu9dsah5EdVCNQ9ADjYoEZongfw/Yh7/N/A=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/science/logic/leo2/default.nix b/pkgs/applications/science/logic/leo2/default.nix
index 520c47d7500bb..fc2c1e5cba4c2 100644
--- a/pkgs/applications/science/logic/leo2/default.nix
+++ b/pkgs/applications/science/logic/leo2/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "1wjpmizb181iygnd18lx7p77fwaci2clgzs5ix5j51cc8f3pazmv";
   };
 
-  buildInputs = [ makeWrapper eprover ocaml perl zlib ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ eprover ocaml perl zlib ];
 
   sourceRoot = "leo2/src";
 
diff --git a/pkgs/applications/science/logic/mcrl2/default.nix b/pkgs/applications/science/logic/mcrl2/default.nix
index 56898f163b99c..da9231efb813e 100644
--- a/pkgs/applications/science/logic/mcrl2/default.nix
+++ b/pkgs/applications/science/logic/mcrl2/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ];
   buildInputs = [ libGLU libGL qt5.qtbase boost ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "A toolset for model-checking concurrent systems and protocols";
     longDescription = ''
diff --git a/pkgs/applications/science/logic/satallax/default.nix b/pkgs/applications/science/logic/satallax/default.nix
index dffb66b2fcf5b..8c88f47327e93 100644
--- a/pkgs/applications/science/logic/satallax/default.nix
+++ b/pkgs/applications/science/logic/satallax/default.nix
@@ -3,7 +3,8 @@ stdenv.mkDerivation rec {
   pname = "satallax";
   version = "2.7";
 
-  buildInputs = [ocaml zlib which eprover makeWrapper coq];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ocaml zlib which eprover coq];
   src = fetchurl {
     url = "https://www.ps.uni-saarland.de/~cebrown/satallax/downloads/${pname}-${version}.tar.gz";
     sha256 = "1kvxn8mc35igk4vigi5cp7w3wpxk2z3bgwllfm4n3h2jfs0vkpib";
diff --git a/pkgs/applications/science/logic/symbiyosys/default.nix b/pkgs/applications/science/logic/symbiyosys/default.nix
index 1f2ad4634de2f..118bb8ecd206c 100644
--- a/pkgs/applications/science/logic/symbiyosys/default.nix
+++ b/pkgs/applications/science/logic/symbiyosys/default.nix
@@ -31,6 +31,9 @@ stdenv.mkDerivation {
 
     substituteInPlace sbysrc/sby_core.py \
       --replace '##yosys-program-prefix##' '"${yosys}/bin/"'
+
+    substituteInPlace sbysrc/sby.py \
+      --replace '/usr/bin/env python3' '${python3}/bin/python'
   '';
 
   buildPhase = "true";
diff --git a/pkgs/applications/science/logic/tlaplus/default.nix b/pkgs/applications/science/logic/tlaplus/default.nix
index c4ba334b85ff4..f002b808e0af1 100644
--- a/pkgs/applications/science/logic/tlaplus/default.nix
+++ b/pkgs/applications/science/logic/tlaplus/default.nix
@@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
     sha256 = "1mm6r9bq79zks50yk0agcpdkw9yy994m38ibmgpb3bi3wkpq9891";
   };
 
-  buildInputs = [ makeWrapper adoptopenjdk-bin ant ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ adoptopenjdk-bin ant ];
 
   buildPhase = "ant -f tlatools/org.lamport.tlatools/customBuild.xml compile dist";
   installPhase = ''
diff --git a/pkgs/applications/science/logic/tlaplus/toolbox.nix b/pkgs/applications/science/logic/tlaplus/toolbox.nix
index 1c33d923289f2..da8985818e7b7 100644
--- a/pkgs/applications/science/logic/tlaplus/toolbox.nix
+++ b/pkgs/applications/science/logic/tlaplus/toolbox.nix
@@ -28,7 +28,7 @@ in stdenv.mkDerivation {
     sha256 = "0v15wscawair5bghr5ixb4i062kmh9by1m0hnz2r1sawlqyafz02";
   };
 
-  buildInputs = [ makeWrapper  ];
+  nativeBuildInputs = [ makeWrapper ];
 
   phases = [ "installPhase" ];
 
diff --git a/pkgs/applications/science/logic/why3/with-provers.nix b/pkgs/applications/science/logic/why3/with-provers.nix
index 3528dbd3a6477..d4fdbfd6937c3 100644
--- a/pkgs/applications/science/logic/why3/with-provers.nix
+++ b/pkgs/applications/science/logic/why3/with-provers.nix
@@ -15,7 +15,8 @@ in stdenv.mkDerivation {
 
   phases = [ "buildPhase" "installPhase" ];
 
-  buildInputs = [ why3 makeWrapper ] ++ provers;
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ why3 ] ++ provers;
 
   buildPhase = ''
       mkdir -p $out/share/why3/
diff --git a/pkgs/applications/science/logic/workcraft/default.nix b/pkgs/applications/science/logic/workcraft/default.nix
index cb0d668f53652..7fb73419c072c 100644
--- a/pkgs/applications/science/logic/workcraft/default.nix
+++ b/pkgs/applications/science/logic/workcraft/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0v71x3fph2j3xrnysvkm7zsgnbxisfbdfgxzvzxxfdg59a6l3xid";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
 
diff --git a/pkgs/applications/science/logic/z3/default.nix b/pkgs/applications/science/logic/z3/default.nix
index cd58740186fec..e482a071bb438 100644
--- a/pkgs/applications/science/logic/z3/default.nix
+++ b/pkgs/applications/science/logic/z3/default.nix
@@ -1,9 +1,15 @@
-{ lib, stdenv, fetchFromGitHub, python, fixDarwinDylibNames
+{ lib
+, stdenv
+, fetchFromGitHub
+, python
+, fixDarwinDylibNames
 , javaBindings ? false
 , ocamlBindings ? false
 , pythonBindings ? true
 , jdk ? null
-, ocaml ? null, findlib ? null, zarith ? null
+, ocaml ? null
+, findlib ? null
+, zarith ? null
 }:
 
 assert javaBindings -> jdk != null;
@@ -13,19 +19,19 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "z3";
-  version = "4.8.9";
+  version = "4.8.10";
 
   src = fetchFromGitHub {
-    owner  = "Z3Prover";
-    repo   = pname;
-    rev    = "z3-${version}";
-    sha256 = "1hnbzq10d23drd7ksm3c1n2611c3kd0q0yxgz8y78zaafwczvwxx";
+    owner = "Z3Prover";
+    repo = pname;
+    rev = "z3-${version}";
+    sha256 = "1w1ym2l0gipvjx322npw7lhclv8rslq58gnj0d9i96masi3gbycf";
   };
 
   nativeBuildInputs = optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
   buildInputs = [ python ]
-  ++ optional javaBindings jdk
-  ++ optionals ocamlBindings [ ocaml findlib zarith ]
+    ++ optional javaBindings jdk
+    ++ optionals ocamlBindings [ ocaml findlib zarith ]
   ;
   propagatedBuildInputs = [ python.pkgs.setuptools ];
   enableParallelBuilding = true;
@@ -35,32 +41,37 @@ stdenv.mkDerivation rec {
     mkdir -p $OCAMLFIND_DESTDIR/stublibs
   '';
 
-  configurePhase = concatStringsSep " " (
-    [ "${python.interpreter} scripts/mk_make.py --prefix=$out" ]
-    ++ optional javaBindings   "--java"
-    ++ optional ocamlBindings  "--ml"
-    ++ optional pythonBindings "--python --pypkgdir=$out/${python.sitePackages}"
-  ) + "\n" + "cd build";
+  configurePhase = concatStringsSep " "
+    (
+      [ "${python.interpreter} scripts/mk_make.py --prefix=$out" ]
+        ++ optional javaBindings "--java"
+        ++ optional ocamlBindings "--ml"
+        ++ optional pythonBindings "--python --pypkgdir=$out/${python.sitePackages}"
+    ) + "\n" + "cd build";
 
   postInstall = ''
     mkdir -p $dev $lib
-    mv $out/lib     $lib/lib
+    mv $out/lib $lib/lib
     mv $out/include $dev/include
   '' + optionalString pythonBindings ''
     mkdir -p $python/lib
     mv $lib/lib/python* $python/lib/
     ln -sf $lib/lib/libz3${stdenv.hostPlatform.extensions.sharedLibrary} $python/${python.sitePackages}/z3/lib/libz3${stdenv.hostPlatform.extensions.sharedLibrary}
+  '' + optionalString javaBindings ''
+    mkdir -p $java/share/java
+    mv com.microsoft.z3.jar $java/share/java
+    moveToOutput "lib/libz3java.${stdenv.hostPlatform.extensions.sharedLibrary}" "$java"
   '';
 
   outputs = [ "out" "lib" "dev" "python" ]
-  ++ optional ocamlBindings "ocaml"
-  ;
+    ++ optional javaBindings "java"
+    ++ optional ocamlBindings "ocaml";
 
-  meta = {
+  meta = with lib; {
     description = "A high-performance theorem prover and SMT solver";
-    homepage    = "https://github.com/Z3Prover/z3";
-    license     = lib.licenses.mit;
-    platforms   = lib.platforms.unix;
-    maintainers = with lib.maintainers; [ thoughtpolice ttuegel ];
+    homepage = "https://github.com/Z3Prover/z3";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ thoughtpolice ttuegel ];
   };
 }
diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix
index 7cbff99bf474c..34ad499ecb93d 100644
--- a/pkgs/applications/science/math/R/default.nix
+++ b/pkgs/applications/science/math/R/default.nix
@@ -12,11 +12,11 @@
 assert (!blas.isILP64) && (!lapack.isILP64);
 
 stdenv.mkDerivation rec {
-  name = "R-4.0.3";
+  name = "R-4.0.4";
 
   src = fetchurl {
     url = "https://cran.r-project.org/src/base/R-4/${name}.tar.gz";
-    sha256 = "03cypg2qf7v9mq9mr9alz9w5y9m5kdgwbc97bp26pyymg253m609";
+    sha256 = "0bl098xcv8v316kqnf43v6gb4kcsv31ydqfm1f7qr824jzb2fgsj";
   };
 
   dontUseImakeConfigure = true;
@@ -33,7 +33,10 @@ stdenv.mkDerivation rec {
   ];
 
   prePatch = lib.optionalString stdenv.isDarwin ''
-    substituteInPlace configure --replace "-install_name libR.dylib" "-install_name $out/lib/R/lib/libR.dylib"
+    substituteInPlace configure \
+      --replace "-install_name libRblas.dylib" "-install_name $out/lib/R/lib/libRblas.dylib" \
+      --replace "-install_name libRlapack.dylib" "-install_name $out/lib/R/lib/libRlapack.dylib" \
+      --replace "-install_name libR.dylib" "-install_name $out/lib/R/lib/libR.dylib"
   '';
 
   dontDisableStatic = static;
diff --git a/pkgs/applications/science/math/calc/default.nix b/pkgs/applications/science/math/calc/default.nix
index e770cff2da9cd..456ce878e49ee 100644
--- a/pkgs/applications/science/math/calc/default.nix
+++ b/pkgs/applications/science/math/calc/default.nix
@@ -3,23 +3,24 @@
 
 stdenv.mkDerivation rec {
   pname = "calc";
-  version = "2.12.7.2";
+  version = "2.12.8.2";
 
   src = fetchurl {
     urls = [
       "https://github.com/lcn2/calc/releases/download/${version}/${pname}-${version}.tar.bz2"
       "http://www.isthe.com/chongo/src/calc/${pname}-${version}.tar.bz2"
     ];
-    sha256 = "147wmbajcxv6wp92j6pizq4plrr1sb7jirifr1477bx33hc49bsp";
+    sha256 = "sha256-yKe4PASm7qWH/nYv8BtYbi9m3xPpA0SZ02Hahj8DJC8=";
   };
 
-  patchPhase = ''
+  postPatch = ''
     substituteInPlace Makefile \
       --replace '-install_name ''${LIBDIR}/libcalc''${LIB_EXT_VERSION}' '-install_name ''${T}''${LIBDIR}/libcalc''${LIB_EXT_VERSION}' \
       --replace '-install_name ''${LIBDIR}/libcustcalc''${LIB_EXT_VERSION}' '-install_name ''${T}''${LIBDIR}/libcustcalc''${LIB_EXT_VERSION}'
   '';
 
-  buildInputs = [ util-linux makeWrapper ]
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ util-linux ]
              ++ lib.optionals enableReadline [ readline ncurses ];
 
   makeFlags = [
@@ -41,7 +42,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "C-style arbitrary precision calculator";
     homepage = "http://www.isthe.com/chongo/tech/comp/calc/";
-    license = licenses.lgpl21;
+    # The licensing situation depends on readline (see section 3 of the LGPL)
+    # If linked against readline then GPLv2 otherwise LGPLv2.1
+    license = with licenses; if enableReadline then gpl2Only else lgpl21Only;
     maintainers = with maintainers; [ matthewbauer ];
     platforms = platforms.all;
   };
diff --git a/pkgs/applications/science/math/cbc/default.nix b/pkgs/applications/science/math/cbc/default.nix
index b75f3d3f78688..1909e4bb1d042 100644
--- a/pkgs/applications/science/math/cbc/default.nix
+++ b/pkgs/applications/science/math/cbc/default.nix
@@ -2,14 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "cbc";
-  version = "2.10.3";
+  version = "2.10.4";
+
+  # Note: Cbc 2.10.5 contains Clp 1.17.5 which hits this bug
+  # that breaks or-tools https://github.com/coin-or/Clp/issues/130
 
   src = fetchurl {
     url = "https://www.coin-or.org/download/source/Cbc/Cbc-${version}.tgz";
-    sha256 = "1zzcg40ky5v96s7br2hqlkqdspwrn43kf3757g6c35wl29bq6f5d";
+    sha256 = "0zq66j1vvpslswhzi9yfgkv6vmg7yry4pdmfgqaqw2vhyqxnsy39";
   };
 
-  configureFlags = [ "-C" ];
+  # or-tools has a hard dependency on Cbc static libraries, so we build both
+  configureFlags = [ "-C" "--enable-static" ];
 
   enableParallelBuilding = true;
 
@@ -24,7 +28,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.epl10;
     maintainers = [ lib.maintainers.eelco ];
     platforms = lib.platforms.linux ++ lib.platforms.darwin;
-    broken = stdenv.isAarch64; # Missing <immintrin.h> after 2.10.0
     description = "A mixed integer programming solver";
   };
 }
diff --git a/pkgs/applications/science/math/dap/default.nix b/pkgs/applications/science/math/dap/default.nix
new file mode 100644
index 0000000000000..ed3290f6c27d8
--- /dev/null
+++ b/pkgs/applications/science/math/dap/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, stdenv
+, fetchurl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "dap";
+  version = "3.10";
+
+  src = fetchurl {
+    url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "Bk5sty/438jLb1PpurMQ5OqMbr6JqUuuQjcg2bejh2Y=";
+  };
+
+  hardeningDisable = [ "format" ];
+
+  meta = with lib; {
+    homepage = "https://www.gnu.org/software/dap";
+    description = "A small statistics and graphics package based on C";
+    longDescription = ''
+      Dap is a small statistics and graphics package based on C. Version 3.0 and
+      later of Dap can read SBS programs (based on the utterly famous, industry
+      standard statistics system with similar initials - you know the one I
+      mean)! The user wishing to perform basic statistical analyses is now freed
+      from learning and using C syntax for straightforward tasks, while
+      retaining access to the C-style graphics and statistics features provided
+      by the original implementation. Dap provides core methods of data
+      management, analysis, and graphics that are commonly used in statistical
+      consulting practice (univariate statistics, correlations and regression,
+      ANOVA, categorical data analysis, logistic regression, and nonparametric
+      analyses).
+    '';
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/science/math/gfan/default.nix b/pkgs/applications/science/math/gfan/default.nix
index 587568f8c297f..1a2835932c663 100644
--- a/pkgs/applications/science/math/gfan/default.nix
+++ b/pkgs/applications/science/math/gfan/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     substituteInPlace Makefile --replace "-fno-guess-branch-probability" ""
   '';
 
-  buildFlags = [ "CC=cc" "CXX=c++" ];
+  buildFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "CXX=${stdenv.cc.targetPrefix}c++" ];
   installFlags = [ "PREFIX=$(out)" ];
   buildInputs = [ gmp mpir cddlib ];
 
diff --git a/pkgs/applications/science/math/msieve/default.nix b/pkgs/applications/science/math/msieve/default.nix
index 679b29cb062bc..588df51554ab9 100644
--- a/pkgs/applications/science/math/msieve/default.nix
+++ b/pkgs/applications/science/math/msieve/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   ECM = if ecm == null then "0" else "1";
 
   # Doesn't hurt Linux but lets clang-based platforms like Darwin work fine too
-  makeFlags = [ "CC=cc" "all" ];
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "all" ];
 
   installPhase = ''
     mkdir -p $out/bin/
diff --git a/pkgs/applications/science/math/nasc/default.nix b/pkgs/applications/science/math/nasc/default.nix
index 931e83defdc92..b55e4047fe472 100644
--- a/pkgs/applications/science/math/nasc/default.nix
+++ b/pkgs/applications/science/math/nasc/default.nix
@@ -9,7 +9,6 @@
 , gtk3
 , glib
 , pantheon
-, libsoup
 , gtksourceview
 , libgee
 , nix-update-script
diff --git a/pkgs/applications/science/math/ratpoints/default.nix b/pkgs/applications/science/math/ratpoints/default.nix
index eed1c8e3fd48f..14330b0f19b3e 100644
--- a/pkgs/applications/science/math/ratpoints/default.nix
+++ b/pkgs/applications/science/math/ratpoints/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ gmp ];
 
-  makeFlags = [ "CC=cc" ];
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
   buildFlags = lib.optional stdenv.isDarwin ["CCFLAGS2=-lgmp -lc -lm" "CCFLAGS=-UUSE_SSE"];
   installFlags = [ "INSTALL_DIR=$(out)" ];
 
diff --git a/pkgs/applications/science/math/rofi-calc/default.nix b/pkgs/applications/science/math/rofi-calc/default.nix
index 9e0c840364663..22d1c92e1ec30 100644
--- a/pkgs/applications/science/math/rofi-calc/default.nix
+++ b/pkgs/applications/science/math/rofi-calc/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rofi-calc";
-  version = "1.9";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "svenstaro";
     repo = pname;
     rev = "v${version}";
-    sha256 = "ZGY4ZtAG/ZnEnC80modZBV4RdRQElbkjeoKCEFVrncE=";
+    sha256 = "NbWXMash0pK7Y9gOEBbL7zXjFytoeZBN9/wIbRTvQ8g=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/math/sage/patches/disable-pexpect-intermittent-failure.patch b/pkgs/applications/science/math/sage/patches/disable-pexpect-intermittent-failure.patch
new file mode 100644
index 0000000000000..374c720791941
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/disable-pexpect-intermittent-failure.patch
@@ -0,0 +1,29 @@
+diff --git a/src/sage/interfaces/singular.py b/src/sage/interfaces/singular.py
+index 88a33b0349..b3321f0bec 100644
+--- a/src/sage/interfaces/singular.py
++++ b/src/sage/interfaces/singular.py
+@@ -495,24 +495,6 @@ class Singular(ExtraTabCompletion, Expect):
+         """
+         Send an interrupt to Singular. If needed, additional
+         semi-colons are sent until we get back at the prompt.
+-
+-        TESTS:
+-
+-        The following works without restarting Singular::
+-
+-            sage: a = singular(1)
+-            sage: _ = singular._expect.sendline('1+')  # unfinished input
+-            sage: try:
+-            ....:     alarm(0.5)
+-            ....:     singular._expect_expr('>')  # interrupt this
+-            ....: except KeyboardInterrupt:
+-            ....:     pass
+-            Control-C pressed.  Interrupting Singular. Please wait a few seconds...
+-
+-        We can still access a::
+-
+-            sage: 2*a
+-            2
+         """
+         # Work around for Singular bug
+         # http://www.singular.uni-kl.de:8002/trac/ticket/727
diff --git a/pkgs/applications/science/math/sage/patches/dont-grep-threejs-version-from-minified-js.patch b/pkgs/applications/science/math/sage/patches/dont-grep-threejs-version-from-minified-js.patch
new file mode 100644
index 0000000000000..88cb66506b1d7
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/dont-grep-threejs-version-from-minified-js.patch
@@ -0,0 +1,16 @@
+diff --git a/src/sage/repl/rich_output/display_manager.py b/src/sage/repl/rich_output/display_manager.py
+index fb21f7a9c9..f39470777d 100644
+--- a/src/sage/repl/rich_output/display_manager.py
++++ b/src/sage/repl/rich_output/display_manager.py
+@@ -749,9 +749,9 @@ class DisplayManager(SageObject):
+             import sage.env
+             import re
+             import os
+-            with open(os.path.join(sage.env.THREEJS_DIR, 'build', 'three.min.js')) as f:
++            with open(os.path.join(sage.env.THREEJS_DIR, 'build', 'three.js')) as f:
+                 text = f.read().replace('\n','')
+-            version = re.search(r'REVISION="(\d+)"', text).group(1)
++            version = re.search(r"REVISION = '(\d+)'", text).group(1)
+             return """
+ <script src="https://cdn.jsdelivr.net/gh/mrdoob/three.js@r{0}/build/three.min.js"></script>
+ <script src="https://cdn.jsdelivr.net/gh/mrdoob/three.js@r{0}/examples/js/controls/OrbitControls.js"></script>
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index b8fb41596607d..ff8e53d4172c0 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -71,6 +71,9 @@ stdenv.mkDerivation rec {
 
     # fix intermittent errors in sagespawn.pyx: https://trac.sagemath.org/ticket/31052
     ./patches/sagespawn-implicit-casting.patch
+
+    # disable pexpect interrupt test (see https://trac.sagemath.org/ticket/30945)
+    ./patches/disable-pexpect-intermittent-failure.patch
   ];
 
   # Patches needed because of package updates. We could just pin the versions of
@@ -106,6 +109,9 @@ stdenv.mkDerivation rec {
 
     # fix test output with sympy 1.7 (https://trac.sagemath.org/ticket/30985)
     ./patches/sympy-1.7-update.patch
+
+    # workaround until we use sage's fork of threejs, which contains a "version" file
+    ./patches/dont-grep-threejs-version-from-minified-js.patch
   ];
 
   patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;
diff --git a/pkgs/applications/science/math/weka/default.nix b/pkgs/applications/science/math/weka/default.nix
index 179801da379fa..05b95140b1bde 100644
--- a/pkgs/applications/science/math/weka/default.nix
+++ b/pkgs/applications/science/math/weka/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0zwmhspmqb0a7cm6k6i0s6q3w19ws1g9dx3cp2v3g3vsif6cdh31";
   };
 
-  buildInputs = [ unzip makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ unzip ];
 
   # The -Xmx1000M comes suggested from their download page:
   # http://www.cs.waikato.ac.nz/ml/weka/downloading.html
diff --git a/pkgs/applications/science/medicine/aliza/default.nix b/pkgs/applications/science/medicine/aliza/default.nix
index c6bfd6361f20d..0d827e2ad1075 100644
--- a/pkgs/applications/science/medicine/aliza/default.nix
+++ b/pkgs/applications/science/medicine/aliza/default.nix
@@ -3,15 +3,16 @@
 with lib;
 stdenv.mkDerivation {
   pname = "aliza";
-  version = "1.98.32";
+  version = "1.98.43";
   src = fetchurl {
     # See https://www.aliza-dicom-viewer.com/download
-    url = "https://drive.google.com/uc?export=download&id=1nggavPhY_633T-AW9PdkcAgbWtzv3QKG";
-    sha256 = "00vbgv8ca9ckgkicyyngrb01yhhcqc8hygg2bls7b44c47hcc8zz";
+    url = "https://drive.google.com/uc?export=download&id=1HiDYUVN30oSWZWt3HBp7gNRBCLLtJM1I";
+    sha256 = "0d70q67j2q0wdn4m2fxljqb97jwmscqgg3rm1rkb77fi2ik206ra";
     name = "aliza.rpm";
   };
 
-  buildInputs = [ rpmextract makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ rpmextract ];
 
   unpackCmd = "rpmextract $curSrc";
 
diff --git a/pkgs/applications/science/misc/cytoscape/default.nix b/pkgs/applications/science/misc/cytoscape/default.nix
index db98e0db34875..3ab7d57f95a34 100644
--- a/pkgs/applications/science/misc/cytoscape/default.nix
+++ b/pkgs/applications/science/misc/cytoscape/default.nix
@@ -18,7 +18,8 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  buildInputs = [jre makeWrapper];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre ];
 
   installPhase = ''
     mkdir -pv $out/{share,bin}
diff --git a/pkgs/applications/science/misc/foldingathome/control.nix b/pkgs/applications/science/misc/foldingathome/control.nix
index 832c631175918..1430881a3f08c 100644
--- a/pkgs/applications/science/misc/foldingathome/control.nix
+++ b/pkgs/applications/science/misc/foldingathome/control.nix
@@ -35,8 +35,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ fahviewer python ];
 
-  doBuild = false;
-
   unpackPhase = ''
     dpkg-deb -x ${src} ./
   '';
diff --git a/pkgs/applications/science/physics/sherpa/default.nix b/pkgs/applications/science/physics/sherpa/default.nix
index 9a3af78240ee5..858064a8d226e 100644
--- a/pkgs/applications/science/physics/sherpa/default.nix
+++ b/pkgs/applications/science/physics/sherpa/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1iwa17s8ipj6a2b8zss5csb1k5y9s5js38syvq932rxcinbyjsl4";
   };
 
-  postPatch = ''
+  postPatch = lib.optional (stdenv.hostPlatform.libc == "glibc") ''
     sed -ie '/sys\/sysctl.h/d' ATOOLS/Org/Run_Parameter.C
   '';
 
diff --git a/pkgs/applications/science/programming/plm/default.nix b/pkgs/applications/science/programming/plm/default.nix
index dd61c3668cc63..e56282b68631b 100644
--- a/pkgs/applications/science/programming/plm/default.nix
+++ b/pkgs/applications/science/programming/plm/default.nix
@@ -14,7 +14,8 @@ stdenv.mkDerivation rec {
     name = "${pname}-${version}.jar";
   };
 
-  buildInputs = [ makeWrapper jre gcc valgrind ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre gcc valgrind ];
 
   phases = [ "installPhase" ];
 
diff --git a/pkgs/applications/science/robotics/apmplanner2/default.nix b/pkgs/applications/science/robotics/apmplanner2/default.nix
index e6d1c544ee4c3..e048b881d33d5 100644
--- a/pkgs/applications/science/robotics/apmplanner2/default.nix
+++ b/pkgs/applications/science/robotics/apmplanner2/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "apmplanner2";
-  version = "2.0.28-rc1";
+  version = "2.0.28";
 
   src = fetchFromGitHub {
     owner = "ArduPilot";
     repo = "apm_planner";
     rev = version;
-    sha256 = "18yn8bdz5hmgb0m5hlk8bibz4cj4g25w75pm1rvc4ds0mr1qgyjd";
+    sha256 = "0wvbfjnnf7sh6fpgw8gimh5hgzywj3nwrgr80r782f5gayd3v2l1";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/science/robotics/mavproxy/default.nix b/pkgs/applications/science/robotics/mavproxy/default.nix
index 22a32f89bded2..51389d20b7d17 100644
--- a/pkgs/applications/science/robotics/mavproxy/default.nix
+++ b/pkgs/applications/science/robotics/mavproxy/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonApplication rec {
   pname = "MAVProxy";
-  version = "1.8.30";
+  version = "1.8.34";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fe046481b793b592334749249620fce8a463f4c46b394ff744645975465d677b";
+    sha256 = "b922c9b6cf4719667e195a02d8364ccebbe7966a9c18666f8ac22eae9d9e7a2c";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/science/robotics/qgroundcontrol/default.nix b/pkgs/applications/science/robotics/qgroundcontrol/default.nix
index 95c8aebd32d07..82959e7f5e35e 100644
--- a/pkgs/applications/science/robotics/qgroundcontrol/default.nix
+++ b/pkgs/applications/science/robotics/qgroundcontrol/default.nix
@@ -6,7 +6,7 @@
 
 mkDerivation rec {
   pname = "qgroundcontrol";
-  version = "4.0.11";
+  version = "4.1.1";
 
   qtInputs = [
     qtbase qtcharts qtlocation qtserialport qtsvg qtquickcontrols2
@@ -27,6 +27,7 @@ mkDerivation rec {
   '';
 
   qmakeFlags = [
+    "CONFIG+=StableBuild"
     # Default install tries to copy Qt files into package
     "CONFIG+=QGC_DISABLE_BUILD_SETUP"
     "../qgroundcontrol.pro"
@@ -42,7 +43,7 @@ mkDerivation rec {
     cp -v deploy/qgroundcontrol.desktop $out/share/applications
 
     mkdir -p $out/bin
-    cp -v build/release/QGroundControl "$out/bin/"
+    cp -v build/staging/QGroundControl "$out/bin/"
 
     mkdir -p $out/share/qgroundcontrol
     cp -rv resources/ $out/share/qgroundcontrol
@@ -62,7 +63,7 @@ mkDerivation rec {
     owner = "mavlink";
     repo = pname;
     rev = "v${version}";
-    sha256 = "14pk1vmcpg2cc5p100chbhnynclcwyqmyb2n2w11vvk0l2c9z1gz";
+    sha256 = "1dji7jmwsrgcgzhra94wrgz67ydsdra7p10fw8gbw54gf6ncjfjm";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/search/xlsxgrep/default.nix b/pkgs/applications/search/xlsxgrep/default.nix
new file mode 100644
index 0000000000000..8c62ae5736daa
--- /dev/null
+++ b/pkgs/applications/search/xlsxgrep/default.nix
@@ -0,0 +1,20 @@
+{ lib, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "xlsxgrep";
+  version = "0.0.23";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "014i1nifx67mxi0k9sch00j6bjykb6krzl2q3ara9s1g75inl4rm";
+  };
+
+  pythonPath = with python3Packages; [ xlrd ];
+
+  meta = with lib; {
+    maintainers = with maintainers; [ felixscheinost ];
+    description = "CLI tool to search text in XLSX and XLS files. It works similarly to Unix/GNU Linux grep";
+    homepage = "https://github.com/zazuum/xlsxgrep";
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/applications/system/glances/default.nix b/pkgs/applications/system/glances/default.nix
index 10a6eb9c6bbf6..e41d9bee5b4b7 100644
--- a/pkgs/applications/system/glances/default.nix
+++ b/pkgs/applications/system/glances/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonApplication, fetchFromGitHub, fetchpatch, isPyPy, lib
+{ stdenv, buildPythonApplication, fetchFromGitHub, isPyPy, lib
 , future, psutil, setuptools
 # Optional dependencies:
 , bottle, pysnmp
@@ -9,14 +9,14 @@
 
 buildPythonApplication rec {
   pname = "glances";
-  version = "3.1.6.1";
+  version = "3.1.6.2";
   disabled = isPyPy;
 
   src = fetchFromGitHub {
     owner = "nicolargo";
     repo = "glances";
     rev = "v${version}";
-    sha256 = "sha256-lYvFNeCuvLIV//fEQDZIj+nLGZmrKHfAQyNpe4vMmfU=";
+    sha256 = "sha256-6vxJKIwMKz8KQn10aOzqXhVBDfBLylw925hR1hWP7/A=";
   };
 
   # Some tests fail in the sandbox (they e.g. require access to /sys/class/power_supply):
diff --git a/pkgs/applications/terminal-emulators/alacritty/default.nix b/pkgs/applications/terminal-emulators/alacritty/default.nix
index 6049b0e45e6aa..a7dcd0959d33a 100644
--- a/pkgs/applications/terminal-emulators/alacritty/default.nix
+++ b/pkgs/applications/terminal-emulators/alacritty/default.nix
@@ -23,7 +23,7 @@
 , libxcb
 , libxkbcommon
 , wayland
-, xdg_utils
+, xdg-utils
 
   # Darwin Frameworks
 , AppKit
@@ -52,16 +52,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "alacritty";
-  version = "0.7.1";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "alacritty";
     repo = pname;
     rev = "v${version}";
-    sha256 = "8alCFtr+3aJsqQ2Ra8u5/SRHfDvMq2kRvRCKo/zwMK0=";
+    sha256 = "sha256-VXV6w4OnhJBmvMKl7CynbhI9LclTKaSr+5DhHXMwSsc=";
   };
 
-  cargoSha256 = "kqRlxieChnhWtYYf67gi+2bncIzO56xpnv2uLjcINVM=";
+  cargoSha256 = "sha256-PWnNTMNZKxsfS1OAXe4G3zjfg5gK1SMTc0JJrW90iSM=";
 
   nativeBuildInputs = [
     cmake
@@ -87,15 +87,10 @@ rustPlatform.buildRustPackage rec {
 
   postPatch = ''
     substituteInPlace alacritty/src/config/mouse.rs \
-      --replace xdg-open ${xdg_utils}/bin/xdg-open
+      --replace xdg-open ${xdg-utils}/bin/xdg-open
   '';
 
-  installPhase = ''
-    runHook preInstall
-
-    install -D $releaseDir/alacritty $out/bin/alacritty
-
-  '' + (
+  postInstall = (
     if stdenv.isDarwin then ''
       mkdir $out/Applications
       cp -r extra/osx/Alacritty.app $out/Applications
@@ -126,8 +121,6 @@ rustPlatform.buildRustPackage rec {
     tic -xe alacritty,alacritty-direct -o "$terminfo/share/terminfo" extra/alacritty.info
     mkdir -p $out/nix-support
     echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
-
-    runHook postInstall
   '';
 
   dontPatchELF = true;
diff --git a/pkgs/applications/terminal-emulators/foot/default.nix b/pkgs/applications/terminal-emulators/foot/default.nix
index b9a8316794abb..63642af708f69 100644
--- a/pkgs/applications/terminal-emulators/foot/default.nix
+++ b/pkgs/applications/terminal-emulators/foot/default.nix
@@ -21,7 +21,7 @@
 }:
 
 let
-  version = "1.6.3";
+  version = "1.6.4";
 
   # build stimuli file for PGO build and the script to generate it
   # independently of the foot's build, so we can cache the result
@@ -87,7 +87,7 @@ stdenv.mkDerivation rec {
 
   src = fetchzip {
     url = "https://codeberg.org/dnkl/${pname}/archive/${version}.tar.gz";
-    sha256 = "0rm7w29wf3gipf69qf7s42qw8857z74gsigrpz9g6vvd1x58f03m";
+    sha256 = "0awv53l3039s1rnkhdkzc0gwawlnd1m8cl4qhaijhxzzq68w0dfb";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix b/pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix
index b03acb99530af..5255d40b9ce27 100644
--- a/pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix
+++ b/pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix
@@ -40,7 +40,7 @@ let
 
         paths = [ rxvt-unicode-unwrapped ] ++ plugins ++ extraDeps;
 
-        buildInputs = [ makeWrapper ];
+        nativeBuildInputs = [ makeWrapper ];
 
         postBuild = ''
           wrapProgram $out/bin/urxvt \
diff --git a/pkgs/applications/terminal-emulators/st/xst.nix b/pkgs/applications/terminal-emulators/st/xst.nix
index 9634a3be6b6df..baa71a09b9ebe 100644
--- a/pkgs/applications/terminal-emulators/st/xst.nix
+++ b/pkgs/applications/terminal-emulators/st/xst.nix
@@ -1,18 +1,14 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, libX11, ncurses, libXext, libXft, fontconfig }:
 
-with lib;
-
-let
-  version = "0.7.2";
-  name = "xst-${version}";
-in stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  pname = "xst";
+  version = "0.8.4.1";
 
   src = fetchFromGitHub {
     owner = "gnotclub";
-    repo = "xst";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "1fplgy30gyrwkjsw3z947327r98i13zd1whwkplpj9fzckhb9vs9";
+    sha256 = "nOJcOghtzFkl7B/4XeXptn2TdrGQ4QTKBo+t+9npxOA=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -22,8 +18,8 @@ in stdenv.mkDerivation {
     TERMINFO=$out/share/terminfo make install PREFIX=$out
   '';
 
-  meta = {
-    homepage = "https://github.com/neeasade/xst";
+  meta = with lib; {
+    homepage = "https://github.com/gnotclub/xst";
     description = "Simple terminal fork that can load config from Xresources";
     license = licenses.mit;
     maintainers = [ maintainers.vyp ];
diff --git a/pkgs/applications/terminal-emulators/terminator/default.nix b/pkgs/applications/terminal-emulators/terminator/default.nix
index 433e5c306180b..82286289fbafa 100644
--- a/pkgs/applications/terminal-emulators/terminator/default.nix
+++ b/pkgs/applications/terminal-emulators/terminator/default.nix
@@ -13,13 +13,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "terminator";
-  version = "1.92";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "gnome-terminator";
     repo = "terminator";
     rev = "v${version}";
-    sha256 = "105f660wzf9cpn24xzwaaa09igg5h3qhchafv190v5nqck6g1ssh";
+    sha256 = "sha256-Rd5XieB7K2BkSzrAr6Kmoa30xuwvsGKpPrsG2wrU1o8=";
   };
 
   nativeBuildInputs = [
@@ -27,6 +27,7 @@ python3.pkgs.buildPythonApplication rec {
     intltool
     gobject-introspection
     wrapGAppsHook
+    python3.pkgs.pytestrunner
   ];
 
   buildInputs = [
@@ -47,19 +48,13 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   postPatch = ''
-    patchShebangs run_tests tests po
+    patchShebangs tests po
     # dbus-python is correctly passed in propagatedBuildInputs, but for some reason setup.py complains.
     # The wrapped terminator has the correct path added, so ignore this.
     substituteInPlace setup.py --replace "'dbus-python'," ""
   '';
 
-  checkPhase = ''
-    runHook preCheck
-
-    ./run_tests
-
-    runHook postCheck
-  '';
+  doCheck = false;
 
   meta = with lib; {
     description = "Terminal emulator with support for tiling and tabs";
diff --git a/pkgs/applications/terminal-emulators/terminus/default.nix b/pkgs/applications/terminal-emulators/terminus/default.nix
index 67c660275f552..87394241ef765 100644
--- a/pkgs/applications/terminal-emulators/terminus/default.nix
+++ b/pkgs/applications/terminal-emulators/terminus/default.nix
@@ -18,7 +18,8 @@ stdenv.mkDerivation rec {
     url = "https://github.com/Eugeny/terminus/releases/download/v${version}/terminus_${version}_amd64.deb";
     sha256 = "1r5n75n71zwahg4rxlnf9qzrb0651gxv0987m6bykqmfpnw91nmb";
   };
-  buildInputs = [ dpkg makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ dpkg ];
   unpackPhase = ''
     mkdir pkg
     dpkg-deb -x $src pkg
diff --git a/pkgs/applications/terminal-emulators/wayst/default.nix b/pkgs/applications/terminal-emulators/wayst/default.nix
index 528e3f50ea066..dc79e48b24fbe 100644
--- a/pkgs/applications/terminal-emulators/wayst/default.nix
+++ b/pkgs/applications/terminal-emulators/wayst/default.nix
@@ -13,7 +13,7 @@
 , wayland
 
 , libnotify
-, xdg_utils
+, xdg-utils
 , makeDesktopItem
 }:
 
@@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     substituteInPlace src/settings.c \
-      --replace xdg-open ${xdg_utils}/bin/xdg-open
+      --replace xdg-open ${xdg-utils}/bin/xdg-open
     substituteInPlace src/main.c \
       --replace notify-send ${libnotify}/bin/notify-send
   '';
diff --git a/pkgs/applications/terminal-emulators/xterm/default.nix b/pkgs/applications/terminal-emulators/xterm/default.nix
index ba6c9bc8fdf84..8983b3d99043f 100644
--- a/pkgs/applications/terminal-emulators/xterm/default.nix
+++ b/pkgs/applications/terminal-emulators/xterm/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, fetchurl, fetchpatch, xorg, ncurses, freetype, fontconfig, pkg-config
-, makeWrapper, nixosTests, writeScript, common-updater-scripts, git, nixfmt, nix
-, gnused, coreutils, enableDecLocator ? true }:
+{ lib, stdenv, fetchurl, fetchpatch, xorg, ncurses, freetype, fontconfig
+, pkg-config, makeWrapper, nixosTests, writeScript, common-updater-scripts, git
+, nixfmt, nix, gnused, coreutils, enableDecLocator ? true }:
 
 stdenv.mkDerivation rec {
   pname = "xterm";
-  version = "363";
+  version = "366";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.invisible-island.net/xterm/${pname}-${version}.tgz"
       "https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz"
     ];
-    sha256 = "2Bo2OeJlUrZ2W9zyi+Hs24rKv5B5VXCOgwrWOX6hC0g=";
+    sha256 = "0vmzffy3hzgcgwx305h07ars5sxsq6nnl1ir4xqpxs9zjs2ji2w5";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/version-management/bcompare/default.nix b/pkgs/applications/version-management/bcompare/default.nix
index 61ea5a9ddd4d6..d90de1a526f46 100644
--- a/pkgs/applications/version-management/bcompare/default.nix
+++ b/pkgs/applications/version-management/bcompare/default.nix
@@ -48,6 +48,7 @@ stdenv.mkDerivation rec {
 
   dontBuild = true;
   dontConfigure = true;
+  dontWrapQtApps = true;
 
   meta = with lib; {
     description = "GUI application that allows to quickly and easily compare files and folders";
diff --git a/pkgs/applications/version-management/cvs2svn/default.nix b/pkgs/applications/version-management/cvs2svn/default.nix
index ae1929565b6ef..af2b5cdc9a3de 100644
--- a/pkgs/applications/version-management/cvs2svn/default.nix
+++ b/pkgs/applications/version-management/cvs2svn/default.nix
@@ -12,7 +12,7 @@ python2Packages.buildPythonApplication  rec {
     sha256 = "1ska0z15sjhyfi860rjazz9ya1gxbf5c0h8dfqwz88h7fccd22b4";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   checkInputs = [ subversion git breezy ];
 
diff --git a/pkgs/applications/version-management/gerrit/default.nix b/pkgs/applications/version-management/gerrit/default.nix
index 2c5ddca5090f0..d23f28470499d 100644
--- a/pkgs/applications/version-management/gerrit/default.nix
+++ b/pkgs/applications/version-management/gerrit/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gerrit";
-  version = "3.3.1";
+  version = "3.3.2";
 
   src = fetchurl {
     url = "https://gerrit-releases.storage.googleapis.com/gerrit-${version}.war";
-    sha256 = "0swj3lmxwh4a0gnkirqrh7znzizsizy3cnlinhhsi319qns2szb1";
+    sha256 = "sha256-tqlJANxJl2r0ZxPb7d8KU9cRMQUFPUIm/zMp4zREGL0=";
   };
 
   buildCommand = ''
diff --git a/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix b/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix
index 1ffc065367507..036eef1c9c36f 100644
--- a/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix
@@ -15,7 +15,8 @@ in
       sha256 = "1kn84rsvms1v5l1j2xgrk7dc7mnsmxkc6sqd94mnim22vnwvl8mz";
     };
 
-    buildInputs = [ jre makeWrapper ];
+    nativeBuildInputs = [ makeWrapper ];
+    buildInputs = [ jre ];
 
     phases = "installPhase";
 
diff --git a/pkgs/applications/version-management/git-and-tools/delta/default.nix b/pkgs/applications/version-management/git-and-tools/delta/default.nix
index 465de2d1d2be8..4b77853746942 100644
--- a/pkgs/applications/version-management/git-and-tools/delta/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/delta/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "delta";
-  version = "0.5.1";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "dandavison";
     repo = pname;
     rev = version;
-    sha256 = "17cmwkha25hwsvnjcp388zd9kwacfq7adjp0sjw59y0vyr1maf22";
+    sha256 = "sha256-cEVYU7vMgVxVIKztL6LHcvQjrNRRMrB5XMP/7gPCr5A=";
   };
 
-  cargoSha256 = "1bji818cmkl0286a4qcnfiwibnqd5q5fvzmzgk5cabrdwaag2ia5";
+  cargoSha256 = "sha256-iD3Cr1vo0FNyWvAN5m6ND+8sGyekgbkYmIxGTJkPEYE=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix b/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
index 42ebe89cd4aaf..a1daf3db44879 100644
--- a/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "diff-so-fancy";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "so-fancy";
     repo = "diff-so-fancy";
     rev = "v${version}";
-    sha256 = "0aavxahzha2mms4vdwysk79pa6wzswpfwgsq2hwaxnaf66maahfl";
+    sha256 = "sha256-//n7kOANVHRSjxclxDcMnpMVzUcd/U6fFsP8acRjVWA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/version-management/git-and-tools/fast-export/default.nix b/pkgs/applications/version-management/git-and-tools/fast-export/default.nix
index 5aea15769c0b0..565fe180ba134 100644
--- a/pkgs/applications/version-management/git-and-tools/fast-export/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/fast-export/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "0hzyh66rlawxip4n2pvz7pbs0cq82clqv1d6c7hf60v1drjxw287";
   };
 
-  buildInputs = [mercurial.python mercurial makeWrapper];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [mercurial.python mercurial];
 
   installPhase = ''
     binPath=$out/bin
diff --git a/pkgs/applications/version-management/git-and-tools/gh/default.nix b/pkgs/applications/version-management/git-and-tools/gh/default.nix
index 38413f990a014..a52b11bff92b0 100644
--- a/pkgs/applications/version-management/git-and-tools/gh/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "1.5.0";
+  version = "1.6.2";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "1f23b8bn867b4zihz8m91xmkclcw1jnqkwi06klhm5576akahigq";
+    sha256 = "1wq8k626w3w2cnqp9gqdk7g4pjnqjjybkjgbfq5cvqsql3jdjg65";
   };
 
-  vendorSha256 = "00adc0xjrkjrjh0gxk55vhpgxb5x0j5ialzrdvhlrvhpnb44qrcq";
+  vendorSha256 = "0nk5axyr3nd9cbk8wswfhqf25dks22mky3rdn6ba9s0fpxhhkr5g";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/ghq/default.nix b/pkgs/applications/version-management/git-and-tools/ghq/default.nix
index f56ce386e42b4..defad82d5a1c1 100644
--- a/pkgs/applications/version-management/git-and-tools/ghq/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/ghq/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "ghq";
-  version = "1.1.5";
+  version = "1.1.7";
 
   src = fetchFromGitHub {
     owner = "x-motemen";
     repo = "ghq";
     rev = "v${version}";
-    sha256 = "098fik155viylq07az7crzbgswcvhpx0hr68xpvyx0rpri792jbq";
+    sha256 = "sha256-kEs844gj1/PW7Kkpn1tvxfruznRIh2pjHCoSWGF1upQ=";
   };
 
-  vendorSha256 = "0gll132g111vn1hdmdjpkha9rbyppz0qj1ld89gwlk2mqd57jxkd";
+  vendorSha256 = "sha256-5Eth9v98z1gxf1Fz5Lbn2roX7dSBmA7GRzg8uvT0hTI=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/version-management/git-and-tools/git-cinnabar/default.nix b/pkgs/applications/version-management/git-and-tools/git-cinnabar/default.nix
index 679e8dbdf5073..e7eea5e43a12b 100644
--- a/pkgs/applications/version-management/git-and-tools/git-cinnabar/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-cinnabar/default.nix
@@ -8,13 +8,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "git-cinnabar";
-  version = "0.5.4";
+  version = "0.5.6";
 
   src = fetchFromGitHub {
     owner = "glandium";
     repo = "git-cinnabar";
     rev = version;
-    sha256 = "1cjn2cc6mj4m736wxab9s6qx83p5n5ha8cr3x84s9ra6rxs8d7pi";
+    sha256 = "1wbp4xqpkaqhhkjw8rbbsagwiciqffacqqbm4j49q41mlk371ai3";
     fetchSubmodules = true;
   };
 
@@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin $out/libexec
     install git-cinnabar-helper $out/bin
     install git-cinnabar git-remote-hg $out/libexec
@@ -38,12 +40,14 @@ stdenv.mkDerivation rec {
             --prefix GIT_CINNABAR_EXPERIMENTS , python3 \
             --set PYTHONPATH ${mercurial}/${python3.sitePackages}
     done
+
+    runHook postInstall
   '';
 
   meta = with lib; {
     homepage = "https://github.com/glandium/git-cinnabar";
     description = "git remote helper to interact with mercurial repositories";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     maintainers = with maintainers; [ qyliss ];
     platforms = platforms.all;
   };
diff --git a/pkgs/applications/version-management/git-and-tools/git-cola/default.nix b/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
index 5e105ad9dd3ab..37c10bf2f982b 100644
--- a/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
@@ -5,13 +5,13 @@ let
 
 in buildPythonApplication rec {
   pname = "git-cola";
-  version = "3.8";
+  version = "3.9";
 
   src = fetchFromGitHub {
     owner = "git-cola";
     repo = "git-cola";
     rev = "v${version}";
-    sha256 = "1qxv2k8lxcxpqx46ka7f042xk90xns5w9lc4009cxmsqvcdba03a";
+    sha256 = "11186pdgaw5p4iv10dqcnynf5pws2v9nhqqqca7z5b7m20fpfjl7";
   };
 
   buildInputs = [ git gettext ];
diff --git a/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix b/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix
index 08875dabd0fe9..f0184c6637771 100644
--- a/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix
@@ -13,9 +13,9 @@ stdenv.mkDerivation rec {
     sha256 = "13m9y0m6gc3mlw3pqv9x4i0him2ycbysizigdvdanhh514kga602";
   };
 
-  nativeBuildInputs = [ libxslt ];
+  nativeBuildInputs = [ libxslt makeWrapper ];
 
-  buildInputs = [ openssl makeWrapper ];
+  buildInputs = [ openssl ];
 
   patchPhase = ''
     substituteInPlace commands.cpp \
diff --git a/pkgs/applications/version-management/git-and-tools/git-delete-merged-branches/default.nix b/pkgs/applications/version-management/git-and-tools/git-delete-merged-branches/default.nix
index d5abd0a59761c..5193cd2531f48 100644
--- a/pkgs/applications/version-management/git-and-tools/git-delete-merged-branches/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-delete-merged-branches/default.nix
@@ -22,7 +22,7 @@ python3Packages.buildPythonApplication rec {
   meta = with lib; {
     description = "Command-line tool to delete merged Git branches";
     homepage = "https://pypi.org/project/git-delete-merged-branches/";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/git-extras/default.nix b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
index 3f6ea7972baca..f2291882b2b84 100644
--- a/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
@@ -1,11 +1,13 @@
-{ lib, stdenv, fetchzip, unixtools, which }:
+{ lib, stdenv, fetchFromGitHub, unixtools, which }:
 
 stdenv.mkDerivation rec {
   pname = "git-extras";
   version = "6.1.0";
 
-  src = fetchzip {
-    url = "https://github.com/tj/git-extras/archive/${version}.tar.gz";
+  src = fetchFromGitHub {
+    owner = "tj";
+    repo = "git-extras";
+    rev = version;
     sha256 = "12ff9rhgqd71xm72r385hx0h8g75hz0ag0adzqcwfa54k0lhrrrz";
   };
 
@@ -29,6 +31,6 @@ stdenv.mkDerivation rec {
     description = "GIT utilities -- repo summary, repl, changelog population, author commit percentages and more";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = [ maintainers.spwhitt maintainers.cko ];
+    maintainers = with maintainers; [ spwhitt cko ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/git-hub/default.nix b/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
index ac3de7cbc9ec5..8c7ecee047684 100644
--- a/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
@@ -1,20 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, gitMinimal, python2Packages }:
+{ lib, stdenv, fetchFromGitHub, gitMinimal, docutils }:
 
 stdenv.mkDerivation rec {
   pname = "git-hub";
-  version = "1.1.0";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "sociomantic-tsunami";
     repo = "git-hub";
     rev = "v${version}";
-    sha256 = "0jkzg7vjvgb952qncndhki7n70714w61flbzf4mdcjc286lqjvwb";
+    sha256 = "1df9l8fpbxjgcgi72fwaqxiay5kpfihyc63f0gj67mns9n9ic1i7";
   };
 
-  buildInputs = [ python2Packages.python ];
   nativeBuildInputs = [
     gitMinimal        # Used during build to generate Bash completion.
-    python2Packages.docutils
+    docutils
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/version-management/git-and-tools/git-interactive-rebase-tool/default.nix b/pkgs/applications/version-management/git-and-tools/git-interactive-rebase-tool/default.nix
index 1d669bfe49c64..f28d49702bce4 100644
--- a/pkgs/applications/version-management/git-and-tools/git-interactive-rebase-tool/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-interactive-rebase-tool/default.nix
@@ -1,27 +1,28 @@
-{ lib, stdenv, ncurses5, fetchFromGitHub, rustPlatform, libiconv, Security }:
+{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "git-interactive-rebase-tool";
-  version = "1.2.1";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "MitMaro";
     repo = pname;
     rev = version;
-    sha256 = "10z3di2qypgsmg2z7xfs9nlrf9vng5i7l8dvqadv1l4lb9zz7i8q";
+    sha256 = "117zwxyq2vc33nbnfpjbdr5vc2l5ymf6ln1dm5551ha3y3gdq3bf";
   };
 
-  cargoSha256 = "0jc6mhszxmwsdjk73wkfi0jjp9vkzzl9kk0dbnry6w7dyr5if8cc";
+  cargoSha256 = "051llwk9swq03xdqwyj0hlyv2ywq2f1cnks95nygyy393q7v930x";
 
-  buildInputs = [ ncurses5 ] ++ lib.optionals stdenv.isDarwin [ libiconv Security ];
+  buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
 
-  cargoParallelTestThreads = false;
+  # external_editor::tests::* tests fail
+  doCheck = false;
 
   meta = with lib; {
     homepage = "https://github.com/MitMaro/git-interactive-rebase-tool";
     description = "Native cross platform full feature terminal based sequence editor for git interactive rebase";
     changelog = "https://github.com/MitMaro/git-interactive-rebase-tool/releases/tag/${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ masaeedu zowoq ];
+    maintainers = with maintainers; [ masaeedu SuperSandro2000 zowoq ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/git-octopus/default.nix b/pkgs/applications/version-management/git-and-tools/git-octopus/default.nix
index 942a12e239b9e..7b8b5fed90f44 100644
--- a/pkgs/applications/version-management/git-and-tools/git-octopus/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-octopus/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   installFlags = [ "prefix=$(out)" ];
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   # perl provides shasum
   postInstall = ''
diff --git a/pkgs/applications/version-management/git-and-tools/git-open/default.nix b/pkgs/applications/version-management/git-and-tools/git-open/default.nix
index 3ba53e837fa89..c67a575172cb9 100644
--- a/pkgs/applications/version-management/git-and-tools/git-open/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-open/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, git, xdg_utils, gnugrep, fetchFromGitHub, makeWrapper}:
+{lib, stdenv, git, xdg-utils, gnugrep, fetchFromGitHub, makeWrapper}:
 
 stdenv.mkDerivation rec {
   pname = "git-open";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "11n46bngvca5wbdbfcxzjhjbfdbad7sgf7h9gf956cb1q8swsdm0";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   buildPhase = null;
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
     cp git-open $out/bin
     wrapProgram $out/bin/git-open \
-      --prefix PATH : "${lib.makeBinPath [ git xdg_utils gnugrep ]}"
+      --prefix PATH : "${lib.makeBinPath [ git xdg-utils gnugrep ]}"
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/version-management/git-and-tools/git-recent/default.nix b/pkgs/applications/version-management/git-and-tools/git-recent/default.nix
index 2ecc5d872b88b..1a1811b2f4384 100644
--- a/pkgs/applications/version-management/git-and-tools/git-recent/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-recent/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     sha256 = "1g8i6vpjnnfh7vc1269c91bap267w4bxdqqwnzb8x18vqgn2fx8i";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   buildPhase = null;
 
diff --git a/pkgs/applications/version-management/git-and-tools/git-reparent/default.nix b/pkgs/applications/version-management/git-and-tools/git-reparent/default.nix
index 037de14658d6d..ec1c44b96134e 100644
--- a/pkgs/applications/version-management/git-and-tools/git-reparent/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-reparent/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0v0yxydpw6r4awy0hb7sbnh520zsk86ibzh1xjf3983yhsvkfk5v";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   dontBuild = true;
 
diff --git a/pkgs/applications/version-management/git-and-tools/git-secret/default.nix b/pkgs/applications/version-management/git-and-tools/git-secret/default.nix
index eea7bed011b05..3143d7ef9c3a9 100644
--- a/pkgs/applications/version-management/git-and-tools/git-secret/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-secret/default.nix
@@ -14,7 +14,7 @@ in stdenv.mkDerivation {
     sha256 = "0hc7yavcp8jmn6b7wngjqhy8kl7f4191sfpik8ycvqghkvvimxj4";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     install -D git-secret $out/bin/git-secret
diff --git a/pkgs/applications/version-management/git-and-tools/git-sync/default.nix b/pkgs/applications/version-management/git-and-tools/git-sync/default.nix
index 87cb7452c75be..add7bfc5526fd 100644
--- a/pkgs/applications/version-management/git-and-tools/git-sync/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-sync/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "01if8y93wa0mwbkzkzx2v1vqh47zlz4k1dysl6yh5rmppd1psknz";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   dontBuild = true;
 
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index 90f6ba5ac5ac8..5d1589446bef0 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -1,5 +1,4 @@
 { fetchurl, lib, stdenv, buildPackages
-, fetchpatch
 , curl, openssl, zlib, expat, perlPackages, python3, gettext, cpio
 , gnugrep, gnused, gawk, coreutils # needed at runtime by git-filter-branch etc
 , openssh, pcre2
@@ -8,6 +7,7 @@
 , svnSupport, subversionClient, perlLibs, smtpPerlLibs
 , perlSupport ? true
 , nlsSupport ? true
+, osxkeychainSupport ? stdenv.isDarwin
 , guiSupport
 , withManual ? true
 , pythonSupport ? true
@@ -19,11 +19,12 @@
 , gzip # needed at runtime by gitweb.cgi
 }:
 
+assert osxkeychainSupport -> stdenv.isDarwin;
 assert sendEmailSupport -> perlSupport;
 assert svnSupport -> perlSupport;
 
 let
-  version = "2.30.0";
+  version = "2.30.1";
   svn = subversionClient.override { perlBindings = perlSupport; };
 
   gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
@@ -35,7 +36,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    sha256 = "06ad6dylgla34k9am7d5z8y3rryc8ln3ibq5z0d74rcm20hm0wsm";
+    sha256 = "0rwlbps9x8kgk2hsm0bvsrkpsk9bnbnz8alknbd7i688jnhai27r";
   };
 
   outputs = [ "out" ] ++ lib.optional withManual "doc";
@@ -65,10 +66,10 @@ stdenv.mkDerivation {
         --subst-var-by gettext ${gettext}
   '';
 
-  nativeBuildInputs = [ gettext perlPackages.perl ]
+  nativeBuildInputs = [ gettext perlPackages.perl makeWrapper ]
     ++ lib.optionals withManual [ asciidoctor texinfo xmlto docbook2x
          docbook_xsl docbook_xsl_ns docbook_xml_dtd_45 libxslt ];
-  buildInputs = [curl openssl zlib expat cpio makeWrapper libiconv]
+  buildInputs = [curl openssl zlib expat cpio libiconv]
     ++ lib.optionals perlSupport [ perlPackages.perl ]
     ++ lib.optionals guiSupport [tcl tk]
     ++ lib.optionals withpcre2 [ pcre2 ]
@@ -115,7 +116,7 @@ stdenv.mkDerivation {
     make -C contrib/subtree
   '' + (lib.optionalString perlSupport ''
     make -C contrib/diff-highlight
-  '') + (lib.optionalString stdenv.isDarwin ''
+  '') + (lib.optionalString osxkeychainSupport ''
     make -C contrib/credential/osxkeychain
   '') + (lib.optionalString withLibsecret ''
     make -C contrib/credential/libsecret
@@ -129,7 +130,7 @@ stdenv.mkDerivation {
 
   installFlags = [ "NO_INSTALL_HARDLINKS=1" ];
 
-  preInstall = (lib.optionalString stdenv.isDarwin ''
+  preInstall = (lib.optionalString osxkeychainSupport ''
     mkdir -p $out/bin
     ln -s $out/share/git/contrib/credential/osxkeychain/git-credential-osxkeychain $out/bin/
     rm -f $PWD/contrib/credential/osxkeychain/git-credential-osxkeychain.o
@@ -248,8 +249,8 @@ stdenv.mkDerivation {
          notSupported "$out/$prog"
        done
      '')
-   + lib.optionalString stdenv.isDarwin ''
-    # enable git-credential-osxkeychain by default if darwin
+   + lib.optionalString osxkeychainSupport ''
+    # enable git-credential-osxkeychain on darwin if desired (default)
     mkdir -p $out/etc
     cat > $out/etc/gitconfig << EOF
     [credential]
diff --git a/pkgs/applications/version-management/git-and-tools/gitflow/default.nix b/pkgs/applications/version-management/git-and-tools/gitflow/default.nix
index 08bf5eb6ba078..6572b9b7fc866 100644
--- a/pkgs/applications/version-management/git-and-tools/gitflow/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gitflow/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-kHirHG/bfsU6tKyQ0khNSTyChhzHfzib+HyA3LOtBI8=";
   };
 
-  buildInputs = [ pkgs.makeWrapper ];
+  nativeBuildInputs = [ pkgs.makeWrapper ];
 
   preBuild = ''
     makeFlagsArray+=(prefix="$out")
diff --git a/pkgs/applications/version-management/git-and-tools/glab/default.nix b/pkgs/applications/version-management/git-and-tools/glab/default.nix
index eae572530c391..7a23ec678a62d 100644
--- a/pkgs/applications/version-management/git-and-tools/glab/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/glab/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "glab";
-  version = "1.14.0";
+  version = "1.15.0";
 
   src = fetchFromGitHub {
     owner = "profclems";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-JvHuOMpt62tw7ewDev7unAgZGV+ZSo6wDuiPhWap2v0=";
+    sha256 = "sha256-wOeWqgN0VYmTXPTU3z5Utau8diW18QKV7w/2y86R8U0=";
   };
 
-  vendorSha256 = "sha256-0nnrH3GJhd4wlRETo9iSlFkXq358m30k7Fsb5haHlpQ=";
+  vendorSha256 = "sha256-Ge3nwI0cY2JxRTn3EZtlal5c6A6TIKfH/CkJnQ1C6PY=";
   runVend = true;
 
   # Tests are trying to access /homeless-shelter
diff --git a/pkgs/applications/version-management/git-and-tools/lab/default.nix b/pkgs/applications/version-management/git-and-tools/lab/default.nix
index 284cbe7583987..a9138fa0c877d 100644
--- a/pkgs/applications/version-management/git-and-tools/lab/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/lab/default.nix
@@ -1,19 +1,19 @@
-{ lib, buildGoModule, fetchFromGitHub, makeWrapper, xdg_utils, installShellFiles, git }:
+{ lib, buildGoModule, fetchFromGitHub, makeWrapper, xdg-utils, installShellFiles, git }:
 
 buildGoModule rec {
   pname = "lab";
-  version = "0.19.0";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "zaquestion";
     repo = "lab";
     rev = "v${version}";
-    sha256 = "1l6xsikd1113qd4y0mvjsl64gbi4327m9v4d593f27fxink39j8s";
+    sha256 = "sha256-EQqbWM/4CInFNndfD+k7embPUFLXgxRT44e/+Ik2TDs=";
   };
 
   subPackages = [ "." ];
 
-  vendorSha256 = "07zl5xhzgrgr5skba6cds5nal58pllf10gak0ap62j1k9gk2ych2";
+  vendorSha256 = "sha256-T6kGhje3K2HnR8xRuio6AsYbSwIdbWvAk3ZSnbm1NsA=";
 
   doCheck = false;
 
@@ -22,7 +22,7 @@ buildGoModule rec {
   buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
 
   postInstall = ''
-    wrapProgram $out/bin/lab --prefix PATH ":" "${lib.makeBinPath [ git xdg_utils ]}";
+    wrapProgram $out/bin/lab --prefix PATH ":" "${lib.makeBinPath [ git xdg-utils ]}";
     for shell in bash fish zsh; do
       $out/bin/lab completion $shell > lab.$shell
       installShellCompletion lab.$shell
@@ -33,6 +33,6 @@ buildGoModule rec {
     description = "Lab wraps Git or Hub, making it simple to clone, fork, and interact with repositories on GitLab";
     homepage = "https://zaquestion.github.io/lab";
     license = licenses.cc0;
-    maintainers = with maintainers; [ marsam dtzWill ];
+    maintainers = with maintainers; [ marsam dtzWill SuperSandro2000 ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/legit/default.nix b/pkgs/applications/version-management/git-and-tools/legit/default.nix
index 7dbdd6071a57e..df2866527115b 100644
--- a/pkgs/applications/version-management/git-and-tools/legit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/legit/default.nix
@@ -16,10 +16,8 @@ python3Packages.buildPythonApplication rec {
     six
   ];
 
-  # Prevent tests from trying to create configuration in /homeless-shelter.
-  preCheck = ''
-    export HOME=$PWD/test-home
-  '';
+  # no tests
+  doCheck = false;
 
   meta = with lib; {
     homepage = "https://github.com/frostming/legit";
diff --git a/pkgs/applications/version-management/git-and-tools/qgit/default.nix b/pkgs/applications/version-management/git-and-tools/qgit/default.nix
index 24743b21a4dd3..8f84c0db558e7 100644
--- a/pkgs/applications/version-management/git-and-tools/qgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/qgit/default.nix
@@ -16,7 +16,7 @@ mkDerivation rec {
   nativeBuildInputs = [ cmake ];
 
   meta = with lib; {
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     homepage = "https://github.com/tibirna/qgit";
     description = "Graphical front-end to Git";
     maintainers = with maintainers; [ peterhoeg markuskowa ];
diff --git a/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix b/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix
index 26f46066531e4..766cb417b7452 100644
--- a/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "radicle-upstream";
-  version = "0.1.6";
+  version = "0.1.11";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://releases.radicle.xyz/radicle-upstream-${version}.AppImage";
-    sha256 =  "1s299rxala6gqj69j5q4d4n5wfdk2zsb4r9qrhml0m79b4f79yar";
+    sha256 =  "1j0xc9ns3andycbrrzkn6ql6739b1dimzlxq17wwpmqhni9nh673";
   };
 
   contents = appimageTools.extractType2 { inherit name src; };
diff --git a/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix b/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix
index 8c73c00f00c28..a40e959a50a41 100644
--- a/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation {
 
   NIX_LDFLAGS = "-lsvn_fs-1";
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     homepage = "https://github.com/svn-all-fast-export/svn2git";
     description = "A fast-import based converter for an svn repo to git repos";
diff --git a/pkgs/applications/version-management/git-and-tools/svn2git/default.nix b/pkgs/applications/version-management/git-and-tools/svn2git/default.nix
index 69742b6d76036..74f10a1428839 100644
--- a/pkgs/applications/version-management/git-and-tools/svn2git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/svn2git/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
     sha256 = "0ly2vrv6q31n0xhciwb7a1ilr5c6ndyi3bg81yfp4axiypps7l41";
   };
 
-  buildInputs = [ ruby makeWrapper ];
+  nativeBuildInputs = [ ruby makeWrapper ];
 
   dontBuild = true;
 
diff --git a/pkgs/applications/version-management/git-and-tools/thicket/default.nix b/pkgs/applications/version-management/git-and-tools/thicket/default.nix
index 3abfd3a31392b..3129bd2e2083f 100644
--- a/pkgs/applications/version-management/git-and-tools/thicket/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/thicket/default.nix
@@ -8,13 +8,13 @@ let
 
 in crystal.buildCrystalPackage rec {
   pname = "thicket";
-  version = "0.1.3";
+  version = "0.1.4";
 
   src = fetchFromGitHub {
     owner = "taylorthurlow";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0hkmmssiwipx373d0zw9a2yn72gqzqzcvwkqbs522m5adz6qmkzw";
+    sha256 = "sha256-A89E0CbV7VFB7W4ycFcZloP0J/d42agEuD+hs9a6a6E=";
   };
 
   format = "shards";
diff --git a/pkgs/applications/version-management/git-and-tools/tig/default.nix b/pkgs/applications/version-management/git-and-tools/tig/default.nix
index 6ac6cde44a87a..1f2a77d20199e 100644
--- a/pkgs/applications/version-management/git-and-tools/tig/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/tig/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tig";
-  version = "2.5.1";
+  version = "2.5.2";
 
   src = fetchFromGitHub {
     owner = "jonas";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "0wxcbfqsk8p84zizy6lf3gp5j122wrf8c7xlipki6nhcfhksn33b";
+    sha256 = "sha256-kkH4px34VpnO/S1VjgQGU9Mm4/VpmiOtvlz2ubtStAk=";
   };
 
   nativeBuildInputs = [ makeWrapper autoreconfHook asciidoc xmlto docbook_xsl docbook_xml_dtd_45 findXMLCatalogs pkg-config ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   # those files are inherently impure, we'll handle the corresponding dependencies.
   postPatch = ''
-      rm -f contrib/config.make-*
+      rm contrib/config.make-*
   '';
 
   enableParallelBuilding = true;
@@ -49,8 +49,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://jonas.github.io/tig/";
     description = "Text-mode interface for git";
-    maintainers = with maintainers; [ bjornfor domenkozar qknight globin ];
-    license = licenses.gpl2;
+    maintainers = with maintainers; [ bjornfor domenkozar qknight globin ma27 ];
+    license = licenses.gpl2Plus;
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix b/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix
index aebd488fe305f..3225744abc57c 100644
--- a/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/transcrypt/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "1dkr69plk16wllk5bzlkchrzw63pk239dgbjhrb3mb61i065jdam";
   };
 
-  buildInputs = [ makeWrapper git openssl coreutils util-linux gnugrep gnused gawk ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ git openssl coreutils util-linux gnugrep gnused gawk ];
 
   patches = [ ./helper-scripts_depspathprefix.patch ];
 
diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix
index ea9e195cd0ddb..f0d4ef664c0a4 100644
--- a/pkgs/applications/version-management/git-repo/default.nix
+++ b/pkgs/applications/version-management/git-repo/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-repo";
-  version = "2.12";
+  version = "2.13.1";
 
   src = fetchFromGitHub {
     owner = "android";
     repo = "tools_repo";
     rev = "v${version}";
-    sha256 = "sha256-k9G0lN7qKQhWiXibzhC9Ma9h+44LQJ966MIakWk5nJM=";
+    sha256 = "sha256-D6gh14XOZ6Fjypfhg9l5ozPhyf6u6M0Wc8HdagdPM/Q=";
   };
 
   patches = [ ./import-ssl-module.patch ];
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index f2d258ea1aff5..566459afa18da 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -9,11 +9,11 @@ with lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.13.1";
+  version = "1.13.2";
 
   src = fetchurl {
     url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
-    sha256 = "sha256-tah7ciq+jkkROJq/V+yPRtWPuWaSnf5hKndjnifsQYc=";
+    sha256 = "sha256-uezg8GdNqgKVHgJj9rTqHFLWuLdyDp63fzr7DMslOII=";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/version-management/gitkraken/default.nix b/pkgs/applications/version-management/gitkraken/default.nix
index 7dd8ff43974db..3c66456433ac8 100644
--- a/pkgs/applications/version-management/gitkraken/default.nix
+++ b/pkgs/applications/version-management/gitkraken/default.nix
@@ -13,11 +13,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gitkraken";
-  version = "7.5.0";
+  version = "7.5.1";
 
   src = fetchzip {
     url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz";
-    sha256 = "1v89aza7iwph7k5phyld5m5856c5wbh8ncgg6lh7558v4xna0x57";
+    sha256 = "sha256-7baWXv+SV1LX5p+eH6egp4QfTm1SXK8ITcOEj8yFAXg=";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index 9ea6d241060f6..e0312cddd40d1 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,13 +1,13 @@
 {
-  "version": "13.7.4",
-  "repo_hash": "1ggx76k6941rhccsd585p4h5k4zb87yvg0pmpzhwhh2q4ma2sywm",
+  "version": "13.8.4",
+  "repo_hash": "1q8q5v7c6g7yss26d6wg29h28fq1azy1smai97yk80cr0kirab8v",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v13.7.4-ee",
+  "rev": "v13.8.4-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "13.7.4",
+    "GITALY_SERVER_VERSION": "13.8.4",
     "GITLAB_PAGES_VERSION": "1.34.0",
-    "GITLAB_SHELL_VERSION": "13.14.0",
-    "GITLAB_WORKHORSE_VERSION": "8.58.2"
+    "GITLAB_SHELL_VERSION": "13.15.1",
+    "GITLAB_WORKHORSE_VERSION": "8.59.0"
   }
 }
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index ee6c8201fa3ff..b9c352a4eac44 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -137,6 +137,7 @@ stdenv.mkDerivation {
     sed -i '/ask_to_continue/d' lib/tasks/gitlab/two_factor.rake
     sed -ri -e '/log_level/a config.logger = Logger.new(STDERR)' config/environments/production.rb
 
+    mv config/puma.rb.example config/puma.rb
     # Always require lib-files and application.rb through their store
     # path, not their relative state directory path. This gets rid of
     # warnings and means we don't have to link back to lib from the
diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile b/pkgs/applications/version-management/gitlab/gitaly/Gemfile
index 0a7fcd7c260d7..1a9f3ea8fd6b0 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile
@@ -3,7 +3,7 @@ source 'https://rubygems.org'
 gem 'rugged', '~> 0.28'
 gem 'github-linguist', '~> 7.12', require: 'linguist'
 gem 'gitlab-markup', '~> 1.7.1'
-gem 'activesupport', '~> 6.0.3.3'
+gem 'activesupport', '~> 6.0.3.4'
 gem 'rdoc', '~> 6.0'
 gem 'gitlab-gollum-lib', '~> 4.2.7.9', require: false
 gem 'gitlab-gollum-rugged_adapter', '~> 0.4.4.2', require: false
diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
index eb5c86946d7a7..acfc05c8747bb 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
@@ -2,20 +2,20 @@ GEM
   remote: https://rubygems.org/
   specs:
     abstract_type (0.0.7)
-    actionpack (6.0.3.3)
-      actionview (= 6.0.3.3)
-      activesupport (= 6.0.3.3)
+    actionpack (6.0.3.4)
+      actionview (= 6.0.3.4)
+      activesupport (= 6.0.3.4)
       rack (~> 2.0, >= 2.0.8)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.2.0)
-    actionview (6.0.3.3)
-      activesupport (= 6.0.3.3)
+    actionview (6.0.3.4)
+      activesupport (= 6.0.3.4)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.1, >= 1.2.0)
-    activesupport (6.0.3.3)
+    activesupport (6.0.3.4)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
@@ -86,7 +86,7 @@ GEM
     json (2.3.1)
     licensee (8.9.2)
       rugged (~> 0.24)
-    loofah (2.7.0)
+    loofah (2.8.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     memoizable (0.4.2)
@@ -96,12 +96,13 @@ GEM
       mime-types-data (~> 3.2015)
     mime-types-data (3.2020.0512)
     mini_mime (1.0.2)
-    mini_portile2 (2.4.0)
+    mini_portile2 (2.5.0)
     minitest (5.14.2)
     msgpack (1.3.3)
     multipart-post (2.1.1)
-    nokogiri (1.10.10)
-      mini_portile2 (~> 2.4.0)
+    nokogiri (1.11.1)
+      mini_portile2 (~> 2.5.0)
+      racc (~> 1.4)
     nokogumbo (1.5.0)
       nokogiri
     opentracing (0.5.0)
@@ -117,6 +118,7 @@ GEM
     pry (0.12.2)
       coderay (~> 1.1.0)
       method_source (~> 0.9.0)
+    racc (1.5.2)
     rack (2.2.3)
     rack-test (1.1.0)
       rack (>= 1.0, < 3)
@@ -177,7 +179,7 @@ GEM
     thread_safe (0.3.6)
     thrift (0.11.0.0)
     timecop (0.9.1)
-    tzinfo (1.2.7)
+    tzinfo (1.2.9)
       thread_safe (~> 0.1)
     unicode-display_width (1.7.0)
     unparser (0.4.7)
@@ -188,13 +190,13 @@ GEM
       equalizer (~> 0.0.9)
       parser (>= 2.6.5)
       procto (~> 0.0.2)
-    zeitwerk (2.4.0)
+    zeitwerk (2.4.2)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  activesupport (~> 6.0.3.3)
+  activesupport (~> 6.0.3.4)
   factory_bot
   faraday (~> 1.0)
   github-linguist (~> 7.12)
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index 1b96307457c22..af879bc127e4d 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -33,17 +33,17 @@ let
       };
   };
 in buildGoModule rec {
-  version = "13.7.4";
+  version = "13.8.4";
   pname = "gitaly";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "1inb7xlv8admzy9q1bgxccbrhks0mmc8lng356h39crj5sgaqkmg";
+    sha256 = "sha256-y8uy70ccQPba+JJmWace4LgLJkJNzVdFhrvq0AB8G5w=";
   };
 
-  vendorSha256 = "15i1ajvrff1bfpv3kmb1wm1mmriswwfw2v4cml0nv0zp6a5n5187";
+  vendorSha256 = "sha256-oVw6vXI3CyOn4l02PkYx3HVpZfzQPi3yBuf9tRvoWoM=";
 
   passthru = {
     inherit rubyEnv;
diff --git a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
index b4a6b0e78eb9e..9159b62c8df71 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
@@ -13,10 +13,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p873nqwmpsvmkb5n86d70wndx1qhy15pc9mbcd1mc8sj174578b";
+      sha256 = "0fbjpnh5hrihc9l35q9why6ip0hcdj42axzbp6b4j1xcy1v1bicj";
       type = "gem";
     };
-    version = "6.0.3.3";
+    version = "6.0.3.4";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -24,10 +24,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08pvmjddlw01q5r9zdfgddwp4csndpf5i2w47677z5r36jznz36q";
+      sha256 = "0gdz31cq08nrqq6bxqim2qcbzv0fr34z6ycl73dmawpafj33wdkj";
       type = "gem";
     };
-    version = "6.0.3.3";
+    version = "6.0.3.4";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@@ -35,10 +35,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dmkqbvndbz011a1byg6f990936vfadbnwjwjw9vjzr4kd8bxk96";
+      sha256 = "1axidc4mikgi4yxs0ynw2c54jyrs5lxprxmzv6m3aayi9rg6rk5j";
       type = "gem";
     };
-    version = "6.0.3.3";
+    version = "6.0.3.4";
   };
   adamantium = {
     dependencies = ["ice_nine" "memoizable"];
@@ -360,10 +360,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1alz1x6rkhbw10qpszr384299rf52rcyasn0619a9p50vzs8vczq";
+      sha256 = "0ndimir6k3kfrh8qrb7ir1j836l4r3qlwyclwjh88b86clblhszh";
       type = "gem";
     };
-    version = "2.7.0";
+    version = "2.8.0";
   };
   memoizable = {
     dependencies = ["thread_safe"];
@@ -414,12 +414,14 @@
     version = "1.0.2";
   };
   mini_portile2 = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy";
+      sha256 = "1hdbpmamx8js53yk3h8cqy12kgv6ca06k0c9n3pxh6b6cjfs19x7";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "2.5.0";
   };
   minitest = {
     groups = ["default" "development" "test"];
@@ -452,15 +454,15 @@
     version = "2.1.1";
   };
   nokogiri = {
-    dependencies = ["mini_portile2"];
+    dependencies = ["mini_portile2" "racc"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xmf60nj5kg9vaj5bysy308687sgmkasgx06vbbnf94p52ih7si2";
+      sha256 = "1ajwkqr28hwqbyl1l3czx4a34c88acxywyqp8cjyy0zgsd6sbhj2";
       type = "gem";
     };
-    version = "1.10.10";
+    version = "1.11.1";
   };
   nokogumbo = {
     dependencies = ["nokogiri"];
@@ -538,6 +540,16 @@
     };
     version = "0.12.2";
   };
+  racc = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "178k7r0xn689spviqzhvazzvxfq6fyjldxb3ywjbgipbfi4s8j1g";
+      type = "gem";
+    };
+    version = "1.5.2";
+  };
   rack = {
     groups = ["default"];
     platforms = [];
@@ -819,10 +831,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i3jh086w1kbdj3k5l60lc3nwbanmzdf8yjj3mlrx9b2gjjxhi9r";
+      sha256 = "0zwqqh6138s8b321fwvfbywxy00lw1azw4ql3zr0xh1aqxf8cnvj";
       type = "gem";
     };
-    version = "1.2.7";
+    version = "1.2.9";
   };
   unicode-display_width = {
     groups = ["default" "development" "test"];
@@ -850,9 +862,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jvn50k76kl14fpymk4hdsf9sk00jl84yxzl783xhnw4dicp0m0k";
+      sha256 = "1746czsjarixq0x05f7p3hpzi38ldg6wxnxxw74kbjzh1sdjgmpl";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "2.4.2";
   };
 }
diff --git a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
index a1a9df57f044c..dcd24bab3cf6f 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
@@ -2,12 +2,12 @@
 
 buildGoModule rec {
   pname = "gitlab-shell";
-  version = "13.14.0";
+  version = "13.15.1";
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-shell";
     rev = "v${version}";
-    sha256 = "171c4rfffb73198fhlwk8rq7xy4b4zrnssi8c1wd0x82kqv6csb0";
+    sha256 = "sha256-wDZLcCBbWjG6wIcEj02eqwWVfAYy1TuAo/xvJB8tt+0=";
   };
 
   buildInputs = [ ruby ];
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index 3e292632d4c4a..8f0043414403b 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -3,13 +3,13 @@
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "8.58.2";
+  version = "8.59.0";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-workhorse";
     rev = "v${version}";
-    sha256 = "1ks8rla6hm618dxhr41x1ckzk3jxv0f7vl2547f7f1fl3zqna1zp";
+    sha256 = "sha256-6JVt5hNWvnUm64SFqns1f1+xMP/KyPQ8H93jqXNT8n8=";
   };
 
   vendorSha256 = "0vkw12w7vr0g4hf4f0im79y7l36d3ah01n1vl7siy94si47g8ir5";
diff --git a/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch b/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
index fcb954e388437..83e3d7fe1414c 100644
--- a/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
+++ b/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
@@ -1,8 +1,8 @@
 diff --git a/config/environments/production.rb b/config/environments/production.rb
-index c5cbfcf64c..4d01f6fab8 100644
+index d9b3ee354b0..1eb0507488b 100644
 --- a/config/environments/production.rb
 +++ b/config/environments/production.rb
-@@ -70,10 +70,10 @@ Rails.application.configure do
+@@ -69,10 +69,10 @@
  
    config.action_mailer.delivery_method = :sendmail
    # Defaults to:
@@ -11,17 +11,17 @@ index c5cbfcf64c..4d01f6fab8 100644
 -  # #   arguments: '-i -t'
 -  # # }
 +  config.action_mailer.sendmail_settings = {
-+    location: '/usr/sbin/sendmail',
++    location: '/run/wrappers/bin/sendmail',
 +    arguments: '-i -t'
 +  }
    config.action_mailer.perform_deliveries = true
    config.action_mailer.raise_delivery_errors = true
  
 diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
-index bd696a7f2c..44e3863736 100644
+index 92e7501d49d..4ee5a1127df 100644
 --- a/config/gitlab.yml.example
 +++ b/config/gitlab.yml.example
-@@ -590,7 +590,7 @@ production: &base
+@@ -1168,7 +1168,7 @@ production: &base
    # CAUTION!
    # Use the default values unless you really know what you are doing
    git:
@@ -31,10 +31,10 @@ index bd696a7f2c..44e3863736 100644
    ## Webpack settings
    # If enabled, this will tell rails to serve frontend assets from the webpack-dev-server running
 diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
-index 0bea8a4f4b..290248547b 100644
+index bbed08f5044..2906e5c44af 100644
 --- a/config/initializers/1_settings.rb
 +++ b/config/initializers/1_settings.rb
-@@ -177,7 +177,7 @@ Settings.gitlab['ssh_user'] ||= Settings.gitlab['user']
+@@ -183,7 +183,7 @@
  Settings.gitlab['user_home'] ||= begin
    Etc.getpwnam(Settings.gitlab['user']).dir
                                   rescue ArgumentError # no user configured
@@ -43,7 +43,7 @@ index 0bea8a4f4b..290248547b 100644
  end
  Settings.gitlab['time_zone'] ||= nil
  Settings.gitlab['signup_enabled'] ||= true if Settings.gitlab['signup_enabled'].nil?
-@@ -507,7 +507,7 @@ Settings.backup['upload']['storage_class'] ||= nil
+@@ -751,7 +751,7 @@
  # Git
  #
  Settings['git'] ||= Settingslogic.new({})
@@ -52,37 +52,94 @@ index 0bea8a4f4b..290248547b 100644
  
  # Important: keep the satellites.path setting until GitLab 9.0 at
  # least. This setting is fed to 'rm -rf' in
+diff --git a/config/puma.rb.example b/config/puma.rb.example
+index 9fc354a8fe8..2352ca9b58c 100644
+--- a/config/puma.rb.example
++++ b/config/puma.rb.example
+@@ -5,12 +5,8 @@
+ # The default is "config.ru".
+ #
+ rackup 'config.ru'
+-pidfile '/home/git/gitlab/tmp/pids/puma.pid'
+-state_path '/home/git/gitlab/tmp/pids/puma.state'
+-
+-stdout_redirect '/home/git/gitlab/log/puma.stdout.log',
+-  '/home/git/gitlab/log/puma.stderr.log',
+-  true
++pidfile ENV['PUMA_PATH'] + '/tmp/pids/puma.pid'
++state_path ENV['PUMA_PATH'] + '/tmp/pids/puma.state'
+ 
+ # Configure "min" to be the minimum number of threads to use to answer
+ # requests and "max" the maximum.
+@@ -31,12 +27,12 @@ queue_requests false
+ 
+ # Bind the server to "url". "tcp://", "unix://" and "ssl://" are the only
+ # accepted protocols.
+-bind 'unix:///home/git/gitlab/tmp/sockets/gitlab.socket'
++bind "unix://#{ENV['PUMA_PATH']}/tmp/sockets/gitlab.socket"
+ 
+ workers 3
+ 
+-require_relative "/home/git/gitlab/lib/gitlab/cluster/lifecycle_events"
+-require_relative "/home/git/gitlab/lib/gitlab/cluster/puma_worker_killer_initializer"
++require_relative ENV['GITLAB_PATH'] + "lib/gitlab/cluster/lifecycle_events"
++require_relative ENV['GITLAB_PATH'] + "lib/gitlab/cluster/puma_worker_killer_initializer"
+ 
+ on_restart do
+   # Signal application hooks that we're about to restart
+@@ -80,7 +76,7 @@ if defined?(nakayoshi_fork)
+ end
+ 
+ # Use json formatter
+-require_relative "/home/git/gitlab/lib/gitlab/puma_logging/json_formatter"
++require_relative ENV['GITLAB_PATH'] + "lib/gitlab/puma_logging/json_formatter"
+ 
+ json_formatter = Gitlab::PumaLogging::JSONFormatter.new
+ log_formatter do |str|
 diff --git a/lib/api/api.rb b/lib/api/api.rb
-index e953f3d2ec..3a8d9f076b 100644
+index ada0da28749..8a3f5824008 100644
 --- a/lib/api/api.rb
 +++ b/lib/api/api.rb
-@@ -2,7 +2,7 @@ module API
-   class API < Grape::API
+@@ -4,7 +4,7 @@ module API
+   class API < ::API::Base
      include APIGuard
  
 -    LOG_FILENAME = Rails.root.join("log", "api_json.log")
 +    LOG_FILENAME = File.join(ENV["GITLAB_LOG_PATH"], "api_json.log")
  
-     NO_SLASH_URL_PART_REGEX = %r{[^/]+}
-     PROJECT_ENDPOINT_REQUIREMENTS = { id: NO_SLASH_URL_PART_REGEX }.freeze
+     NO_SLASH_URL_PART_REGEX = %r{[^/]+}.freeze
+     NAMESPACE_OR_PROJECT_REQUIREMENTS = { id: NO_SLASH_URL_PART_REGEX }.freeze
+diff --git a/lib/gitlab/authorized_keys.rb b/lib/gitlab/authorized_keys.rb
+index 50cd15b7a10..3ac89e5b8e9 100644
+--- a/lib/gitlab/authorized_keys.rb
++++ b/lib/gitlab/authorized_keys.rb
+@@ -157,7 +157,7 @@ def command(id)
+         raise KeyError, "Invalid ID: #{id.inspect}"
+       end
+ 
+-      "#{File.join(Gitlab.config.gitlab_shell.path, 'bin', 'gitlab-shell')} #{id}"
++      "#{File.join('/run/current-system/sw/bin', 'gitlab-shell')} #{id}"
+     end
+ 
+     def strip(key)
 diff --git a/lib/gitlab/logger.rb b/lib/gitlab/logger.rb
-index a42e312b5d..ccaab9229e 100644
+index 89a4e36a232..ae379ffb27a 100644
 --- a/lib/gitlab/logger.rb
 +++ b/lib/gitlab/logger.rb
-@@ -26,7 +26,7 @@ module Gitlab
+@@ -37,7 +37,7 @@ def self.build
      end
  
      def self.full_log_path
 -      Rails.root.join("log", file_name)
-+        File.join(ENV["GITLAB_LOG_PATH"], file_name)
++      File.join(ENV["GITLAB_LOG_PATH"], file_name)
      end
  
      def self.cache_key
 diff --git a/lib/gitlab/uploads_transfer.rb b/lib/gitlab/uploads_transfer.rb
-index 7d7400bdab..cb25211d44 100644
+index e0e7084e27e..19fab855b90 100644
 --- a/lib/gitlab/uploads_transfer.rb
 +++ b/lib/gitlab/uploads_transfer.rb
-@@ -1,7 +1,7 @@
+@@ -3,7 +3,7 @@
  module Gitlab
    class UploadsTransfer < ProjectTransfer
      def root_dir
@@ -92,10 +149,10 @@ index 7d7400bdab..cb25211d44 100644
    end
  end
 diff --git a/lib/system_check/app/log_writable_check.rb b/lib/system_check/app/log_writable_check.rb
-index 3e0c436d6e..28cefc5514 100644
+index 2c108f0c18d..3a16ff52d01 100644
 --- a/lib/system_check/app/log_writable_check.rb
 +++ b/lib/system_check/app/log_writable_check.rb
-@@ -21,7 +21,7 @@ module SystemCheck
+@@ -23,7 +23,7 @@ def show_error
        private
  
        def log_path
@@ -105,10 +162,10 @@ index 3e0c436d6e..28cefc5514 100644
      end
    end
 diff --git a/lib/system_check/app/uploads_directory_exists_check.rb b/lib/system_check/app/uploads_directory_exists_check.rb
-index 7026d0ba07..c56e1f7ed9 100644
+index 54dff63ab61..882da702f29 100644
 --- a/lib/system_check/app/uploads_directory_exists_check.rb
 +++ b/lib/system_check/app/uploads_directory_exists_check.rb
-@@ -4,12 +4,13 @@ module SystemCheck
+@@ -6,12 +6,13 @@ class UploadsDirectoryExistsCheck < SystemCheck::BaseCheck
        set_name 'Uploads directory exists?'
  
        def check?
@@ -120,15 +177,15 @@ index 7026d0ba07..c56e1f7ed9 100644
 +        uploads_dir = ENV['GITLAB_UPLOADS_PATH'] || Rails.root.join('public/uploads')
          try_fixing_it(
 -          "sudo -u #{gitlab_user} mkdir #{Rails.root}/public/uploads"
-+            "sudo -u #{gitlab_user} mkdir #{uploads_dir}"
++          "sudo -u #{gitlab_user} mkdir #{uploads_dir}"
          )
          for_more_information(
-           see_installation_guide_section 'GitLab'
+           see_installation_guide_section('GitLab')
 diff --git a/lib/system_check/app/uploads_path_permission_check.rb b/lib/system_check/app/uploads_path_permission_check.rb
-index 7df6c06025..bb447c16b2 100644
+index 2e1cc687c43..ca69d63bcf6 100644
 --- a/lib/system_check/app/uploads_path_permission_check.rb
 +++ b/lib/system_check/app/uploads_path_permission_check.rb
-@@ -25,7 +25,7 @@ module SystemCheck
+@@ -27,7 +27,7 @@ def show_error
        private
  
        def rails_uploads_path
@@ -138,10 +195,10 @@ index 7df6c06025..bb447c16b2 100644
  
        def uploads_fullpath
 diff --git a/lib/system_check/app/uploads_path_tmp_permission_check.rb b/lib/system_check/app/uploads_path_tmp_permission_check.rb
-index b276a81eac..070e3ebd81 100644
+index 567c7540777..29906b1c132 100644
 --- a/lib/system_check/app/uploads_path_tmp_permission_check.rb
 +++ b/lib/system_check/app/uploads_path_tmp_permission_check.rb
-@@ -33,7 +33,7 @@ module SystemCheck
+@@ -35,7 +35,7 @@ def upload_path_tmp
        end
  
        def uploads_fullpath
@@ -150,14 +207,3 @@ index b276a81eac..070e3ebd81 100644
        end
      end
    end
---- a/lib/gitlab/authorized_keys.rb
-+++ b/lib/gitlab/authorized_keys.rb
-@@ -157,7 +157,7 @@
-         raise KeyError, "Invalid ID: #{id.inspect}"
-       end
- 
--      "#{File.join(Gitlab.config.gitlab_shell.path, 'bin', 'gitlab-shell')} #{id}"
-+      "#{File.join('/run/current-system/sw/bin', 'gitlab-shell')} #{id}"
-     end
- 
-     def strip(key)
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
index 49d0841be3cd8..c7ed1cd4d71e2 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
@@ -4,9 +4,6 @@ gem 'rails', '~> 6.0.3.1'
 
 gem 'bootsnap', '~> 1.4.6'
 
-# Improves copy-on-write performance for MRI
-gem 'nakayoshi_fork', '~> 0.0.4'
-
 # Responders respond_to and respond_with
 gem 'responders', '~> 3.0'
 
@@ -19,10 +16,10 @@ gem 'default_value_for', '~> 3.3.0'
 gem 'pg', '~> 1.1'
 
 gem 'rugged', '~> 0.28'
-gem 'grape-path-helpers', '~> 1.5'
+gem 'grape-path-helpers', '~> 1.6.1'
 
 gem 'faraday', '~> 1.0'
-gem 'marginalia', '~> 1.9.0'
+gem 'marginalia', '~> 1.10.0'
 
 # Authentication libraries
 gem 'devise', '~> 4.7.2'
@@ -57,7 +54,7 @@ gem 'gssapi', group: :kerberos
 # Spam and anti-bot protection
 gem 'recaptcha', '~> 4.11', require: 'recaptcha/rails'
 gem 'akismet', '~> 3.0'
-gem 'invisible_captcha', '~> 0.12.1'
+gem 'invisible_captcha', '~> 1.1.0'
 
 # Two-factor authentication
 gem 'devise-two-factor', '~> 3.1.0'
@@ -81,12 +78,10 @@ gem 'gpgme', '~> 2.0.19'
 # GitLab fork with several improvements to original library. For full list of changes
 # see https://github.com/intridea/omniauth-ldap/compare/master...gitlabhq:master
 gem 'gitlab_omniauth-ldap', '~> 2.1.1', require: 'omniauth-ldap'
-gem 'net-ldap'
+gem 'net-ldap', '~> 0.16.3'
 
 # API
-# Locked at Grape v1.4.0 until https://github.com/ruby-grape/grape/pull/2088 is merged
-# Remove config/initializers/grape_patch.rb
-gem 'grape', '= 1.4.0'
+gem 'grape', '~> 1.5.1'
 gem 'grape-entity', '~> 0.7.1'
 gem 'rack-cors', '~> 1.0.6', require: 'rack/cors'
 
@@ -115,7 +110,7 @@ gem 'carrierwave', '~> 1.3'
 gem 'mini_magick', '~> 4.10.1'
 
 # for backups
-gem 'fog-aws', '~> 3.7'
+gem 'fog-aws', '~> 3.8'
 # Locked until fog-google resolves https://github.com/fog/fog-google/issues/421.
 # Also see config/initializers/fog_core_patch.rb.
 gem 'fog-core', '= 2.1.0'
@@ -145,7 +140,7 @@ gem 'aws-sdk-s3', '~> 1'
 gem 'faraday_middleware-aws-sigv4', '~>0.3.0'
 
 # Markdown and HTML processing
-gem 'html-pipeline', '~> 2.12'
+gem 'html-pipeline', '~> 2.13.2'
 gem 'deckar01-task_list', '2.3.1'
 gem 'gitlab-markup', '~> 1.7.1'
 gem 'github-markup', '~> 1.7.0', require: 'github/markup'
@@ -163,7 +158,7 @@ gem 'asciidoctor-kroki', '~> 0.2.2', require: false
 gem 'rouge', '~> 3.26.0'
 gem 'truncato', '~> 0.7.11'
 gem 'bootstrap_form', '~> 4.2.0'
-gem 'nokogiri', '~> 1.10.9'
+gem 'nokogiri', '~> 1.11.1'
 gem 'escape_utils', '~> 1.1'
 
 # Calendar rendering
@@ -184,15 +179,15 @@ group :unicorn do
 end
 
 group :puma do
-  gem 'gitlab-puma', '~> 4.3.3.gitlab.2', require: false
-  gem 'gitlab-puma_worker_killer', '~> 0.1.1.gitlab.1', require: false
+  gem 'puma', '~> 5.1.1', require: false
+  gem 'puma_worker_killer', '~> 0.3.1', require: false
 end
 
 # State machine
-gem 'state_machines-activerecord', '~> 0.6.0'
+gem 'state_machines-activerecord', '~> 0.8.0'
 
 # Issue tags
-gem 'acts-as-taggable-on', '~> 6.0'
+gem 'acts-as-taggable-on', '~> 7.0'
 
 # Background jobs
 gem 'sidekiq', '~> 5.2.7'
@@ -242,7 +237,7 @@ gem 'discordrb-webhooks-blackst0ne', '~> 3.3', require: false
 gem 'hipchat', '~> 1.5.0'
 
 # Jira integration
-gem 'jira-ruby', '~> 2.0.0'
+gem 'jira-ruby', '~> 2.1.4'
 gem 'atlassian-jwt', '~> 0.2.0'
 
 # Flowdock integration
@@ -255,7 +250,7 @@ gem 'slack-messenger', '~> 2.3.4'
 gem 'hangouts-chat', '~> 0.0.5'
 
 # Asana integration
-gem 'asana', '0.10.2'
+gem 'asana', '~> 0.10.3'
 
 # FogBugz integration
 gem 'ruby-fogbugz', '~> 0.2.1'
@@ -306,12 +301,12 @@ gem 'rack-attack', '~> 6.3.0'
 gem 'sentry-raven', '~> 3.0'
 
 # PostgreSQL query parsing
-gem 'gitlab-pg_query', '~> 1.3', require: 'pg_query'
+gem 'pg_query', '~> 1.3.0'
 
 gem 'premailer-rails', '~> 1.10.3'
 
 # LabKit: Tracing and Correlation
-gem 'gitlab-labkit', '0.13.3'
+gem 'gitlab-labkit', '0.14.0'
 
 # I18n
 gem 'ruby_parser', '~> 3.15', require: false
@@ -331,6 +326,7 @@ gem 'snowplow-tracker', '~> 0.6.1'
 # Metrics
 group :metrics do
   gem 'method_source', '~> 1.0', require: false
+  gem 'webrick', '~> 1.6.1', require: false
 
   # Prometheus
   gem 'prometheus-client-mmap', '~> 0.12.0'
@@ -353,14 +349,15 @@ end
 group :development, :test do
   gem 'deprecation_toolkit', '~> 1.5.1', require: false
   gem 'bullet', '~> 6.1.0'
-  gem 'pry-byebug', '~> 3.9.0', platform: :mri
+  gem 'gitlab-pry-byebug', platform: :mri, require: ['pry-byebug', 'pry-byebug/pry_remote_ext']
   gem 'pry-rails', '~> 0.3.9'
+  gem 'pry-remote'
 
   gem 'awesome_print', require: false
 
   gem 'database_cleaner', '~> 1.7.0'
-  gem 'factory_bot_rails', '~> 5.1.0'
-  gem 'rspec-rails', '~> 4.0.0'
+  gem 'factory_bot_rails', '~> 6.1.0'
+  gem 'rspec-rails', '~> 4.0.1'
 
   # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
   gem 'minitest', '~> 5.11.0'
@@ -371,7 +368,7 @@ group :development, :test do
   gem 'spring', '~> 2.1.0'
   gem 'spring-commands-rspec', '~> 1.0.4'
 
-  gem 'gitlab-styles', '~> 5.3.0', require: false
+  gem 'gitlab-styles', '~> 6.0.0', require: false
 
   gem 'scss_lint', '~> 0.59.0', require: false
   gem 'haml_lint', '~> 0.36.0', require: false
@@ -409,7 +406,7 @@ group :test do
   gem 'rspec_profiling', '~> 0.0.6'
   gem 'rspec-parameterized', require: false
 
-  gem 'capybara', '~> 3.33.0'
+  gem 'capybara', '~> 3.34.0'
   gem 'capybara-screenshot', '~> 1.0.22'
   gem 'selenium-webdriver', '~> 3.142'
 
@@ -465,7 +462,7 @@ group :ed25519 do
 end
 
 # Gitaly GRPC protocol definitions
-gem 'gitaly', '~> 13.7.0.pre.rc1'
+gem 'gitaly', '~> 13.8.0.pre.rc2'
 
 gem 'grpc', '~> 1.30.2'
 
@@ -478,7 +475,7 @@ gem 'flipper', '~> 0.17.1'
 gem 'flipper-active_record', '~> 0.17.1'
 gem 'flipper-active_support_cache_store', '~> 0.17.1'
 gem 'unleash', '~> 0.1.5'
-gem 'gitlab-experiment', '~> 0.4.4'
+gem 'gitlab-experiment', '~> 0.4.5'
 
 # Structured logging
 gem 'lograge', '~> 0.5'
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
index 1cd90080fd878..b370024b95b0b 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
@@ -5,66 +5,66 @@ GEM
     abstract_type (0.0.7)
     acme-client (2.0.6)
       faraday (>= 0.17, < 2.0.0)
-    actioncable (6.0.3.3)
-      actionpack (= 6.0.3.3)
+    actioncable (6.0.3.4)
+      actionpack (= 6.0.3.4)
       nio4r (~> 2.0)
       websocket-driver (>= 0.6.1)
-    actionmailbox (6.0.3.3)
-      actionpack (= 6.0.3.3)
-      activejob (= 6.0.3.3)
-      activerecord (= 6.0.3.3)
-      activestorage (= 6.0.3.3)
-      activesupport (= 6.0.3.3)
+    actionmailbox (6.0.3.4)
+      actionpack (= 6.0.3.4)
+      activejob (= 6.0.3.4)
+      activerecord (= 6.0.3.4)
+      activestorage (= 6.0.3.4)
+      activesupport (= 6.0.3.4)
       mail (>= 2.7.1)
-    actionmailer (6.0.3.3)
-      actionpack (= 6.0.3.3)
-      actionview (= 6.0.3.3)
-      activejob (= 6.0.3.3)
+    actionmailer (6.0.3.4)
+      actionpack (= 6.0.3.4)
+      actionview (= 6.0.3.4)
+      activejob (= 6.0.3.4)
       mail (~> 2.5, >= 2.5.4)
       rails-dom-testing (~> 2.0)
-    actionpack (6.0.3.3)
-      actionview (= 6.0.3.3)
-      activesupport (= 6.0.3.3)
+    actionpack (6.0.3.4)
+      actionview (= 6.0.3.4)
+      activesupport (= 6.0.3.4)
       rack (~> 2.0, >= 2.0.8)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.2.0)
-    actiontext (6.0.3.3)
-      actionpack (= 6.0.3.3)
-      activerecord (= 6.0.3.3)
-      activestorage (= 6.0.3.3)
-      activesupport (= 6.0.3.3)
+    actiontext (6.0.3.4)
+      actionpack (= 6.0.3.4)
+      activerecord (= 6.0.3.4)
+      activestorage (= 6.0.3.4)
+      activesupport (= 6.0.3.4)
       nokogiri (>= 1.8.5)
-    actionview (6.0.3.3)
-      activesupport (= 6.0.3.3)
+    actionview (6.0.3.4)
+      activesupport (= 6.0.3.4)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.1, >= 1.2.0)
-    activejob (6.0.3.3)
-      activesupport (= 6.0.3.3)
+    activejob (6.0.3.4)
+      activesupport (= 6.0.3.4)
       globalid (>= 0.3.6)
-    activemodel (6.0.3.3)
-      activesupport (= 6.0.3.3)
-    activerecord (6.0.3.3)
-      activemodel (= 6.0.3.3)
-      activesupport (= 6.0.3.3)
+    activemodel (6.0.3.4)
+      activesupport (= 6.0.3.4)
+    activerecord (6.0.3.4)
+      activemodel (= 6.0.3.4)
+      activesupport (= 6.0.3.4)
     activerecord-explain-analyze (0.1.0)
       activerecord (>= 4)
       pg
-    activestorage (6.0.3.3)
-      actionpack (= 6.0.3.3)
-      activejob (= 6.0.3.3)
-      activerecord (= 6.0.3.3)
+    activestorage (6.0.3.4)
+      actionpack (= 6.0.3.4)
+      activejob (= 6.0.3.4)
+      activerecord (= 6.0.3.4)
       marcel (~> 0.3.1)
-    activesupport (6.0.3.3)
+    activesupport (6.0.3.4)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
       tzinfo (~> 1.1)
       zeitwerk (~> 2.2, >= 2.2.2)
-    acts-as-taggable-on (6.5.0)
-      activerecord (>= 5.0, < 6.1)
+    acts-as-taggable-on (7.0.0)
+      activerecord (>= 5.0, < 6.2)
     adamantium (0.2.0)
       ice_nine (~> 0.11.0)
       memoizable (~> 0.4.0)
@@ -76,7 +76,7 @@ GEM
     apollo_upload_server (2.0.2)
       graphql (>= 1.8)
       rails (>= 4.2)
-    asana (0.10.2)
+    asana (0.10.3)
       faraday (~> 1.0)
       faraday_middleware (~> 1.0)
       faraday_middleware-multi_json (~> 0.0)
@@ -115,13 +115,14 @@ GEM
       aws-sigv4 (~> 1.1)
     aws-sigv4 (1.2.1)
       aws-eventstream (~> 1, >= 1.0.2)
-    azure-storage-blob (2.0.0)
+    azure-storage-blob (2.0.1)
       azure-storage-common (~> 2.0)
-      nokogiri (~> 1.10.4)
-    azure-storage-common (2.0.1)
+      nokogiri (~> 1.11.0.rc2)
+    azure-storage-common (2.0.2)
       faraday (~> 1.0)
       faraday_middleware (~> 1.0.0.rc1)
-      nokogiri (~> 1.10.4)
+      net-http-persistent (~> 4.0)
+      nokogiri (~> 1.11.0.rc2)
     babosa (1.0.2)
     base32 (0.3.2)
     batch-loader (1.4.0)
@@ -151,7 +152,7 @@ GEM
       bundler (>= 1.2.0, < 3)
       thor (~> 0.18)
     byebug (11.1.3)
-    capybara (3.33.0)
+    capybara (3.34.0)
       addressable
       mini_mime (>= 0.1.3)
       nokogiri (~> 1.8)
@@ -228,17 +229,16 @@ GEM
       activerecord (>= 3.2.0, < 6.1)
     deprecation_toolkit (1.5.1)
       activesupport (>= 4.2)
-    derailed_benchmarks (1.7.0)
+    derailed_benchmarks (1.8.1)
       benchmark-ips (~> 2)
       get_process_mem (~> 0)
       heapy (~> 0)
       memory_profiler (~> 0)
-      mini_histogram (~> 0)
+      mini_histogram (>= 0.2.1)
       rack (>= 1)
       rake (> 10, < 14)
       ruby-statistics (>= 2.1)
       thor (>= 0.19, < 2)
-      unicode_plot (>= 0.0.4, < 1.0.0)
     device_detector (1.0.0)
     devise (4.7.3)
       bcrypt (~> 3.0)
@@ -252,7 +252,7 @@ GEM
       devise (~> 4.0)
       railties (< 6.1)
       rotp (~> 2.0)
-    diff-lcs (1.3)
+    diff-lcs (1.4.4)
     diff_match_patch (0.1.0)
     diffy (3.3.0)
     discordrb-webhooks-blackst0ne (3.3.0)
@@ -265,21 +265,19 @@ GEM
     doorkeeper-openid_connect (1.7.4)
       doorkeeper (>= 5.2, < 5.5)
       json-jwt (>= 1.11.0)
-    dry-configurable (0.11.5)
+    dry-configurable (0.12.0)
       concurrent-ruby (~> 1.0)
-      dry-core (~> 0.4, >= 0.4.7)
-      dry-equalizer (~> 0.2)
+      dry-core (~> 0.5, >= 0.5.0)
     dry-container (0.7.2)
       concurrent-ruby (~> 1.0)
       dry-configurable (~> 0.1, >= 0.1.3)
-    dry-core (0.4.9)
+    dry-core (0.5.0)
       concurrent-ruby (~> 1.0)
     dry-equalizer (0.3.0)
     dry-inflector (0.2.0)
-    dry-logic (1.0.6)
+    dry-logic (1.1.0)
       concurrent-ruby (~> 1.0)
-      dry-core (~> 0.2)
-      dry-equalizer (~> 0.2)
+      dry-core (~> 0.5, >= 0.5)
     dry-types (1.4.0)
       concurrent-ruby (~> 1.0)
       dry-container (~> 0.3)
@@ -309,7 +307,6 @@ GEM
       launchy (~> 2.1)
       mail (~> 2.7)
     encryptor (3.0.0)
-    enumerable-statistics (2.0.1)
     equalizer (0.0.11)
     erubi (1.9.0)
     escape_utils (1.2.1)
@@ -321,11 +318,11 @@ GEM
     expression_parser (0.9.0)
     extended-markdown-filter (0.6.0)
       html-pipeline (~> 2.0)
-    factory_bot (5.1.0)
-      activesupport (>= 4.2.0)
-    factory_bot_rails (5.1.0)
-      factory_bot (~> 5.1.0)
-      railties (>= 4.2.0)
+    factory_bot (6.1.0)
+      activesupport (>= 5.0.0)
+    factory_bot_rails (6.1.0)
+      factory_bot (~> 6.1.0)
+      railties (>= 5.0.0)
     faraday (1.0.1)
       multipart-post (>= 1.2, < 3)
     faraday-cookie_jar (0.0.7)
@@ -363,7 +360,7 @@ GEM
       fog-json
       ipaddress (~> 0.8)
       xml-simple (~> 1.1)
-    fog-aws (3.7.0)
+    fog-aws (3.8.0)
       fog-core (~> 2.1)
       fog-json (~> 1.1)
       fog-xml (~> 0.1)
@@ -420,12 +417,12 @@ GEM
       rails (>= 3.2.0)
     git (1.7.0)
       rchardet (~> 1.8)
-    gitaly (13.7.0.pre.rc1)
+    gitaly (13.8.0.pre.rc2)
       grpc (~> 1.0)
     github-markup (1.7.0)
     gitlab-chronic (0.10.5)
       numerizer (~> 0.2)
-    gitlab-experiment (0.4.4)
+    gitlab-experiment (0.4.5)
       activesupport (>= 3.0)
       scientist (~> 1.5, >= 1.5.0)
     gitlab-fog-azure-rm (1.0.0)
@@ -435,9 +432,9 @@ GEM
       fog-json (~> 1.2.0)
       mime-types
       ms_rest_azure (~> 0.12.0)
-    gitlab-labkit (0.13.3)
-      actionpack (>= 5.0.0, < 6.1.0)
-      activesupport (>= 5.0.0, < 6.1.0)
+    gitlab-labkit (0.14.0)
+      actionpack (>= 5.0.0, < 7.0.0)
+      activesupport (>= 5.0.0, < 7.0.0)
       gitlab-pg_query (~> 1.3)
       grpc (~> 1.19)
       jaeger-client (~> 1.1)
@@ -447,19 +444,17 @@ GEM
     gitlab-mail_room (0.0.8)
     gitlab-markup (1.7.1)
     gitlab-net-dns (0.9.1)
-    gitlab-pg_query (1.3.0)
-    gitlab-puma (4.3.5.gitlab.3)
-      nio4r (~> 2.0)
-    gitlab-puma_worker_killer (0.1.1.gitlab.1)
-      get_process_mem (~> 0.2)
-      gitlab-puma (>= 2.7, < 5)
+    gitlab-pg_query (1.3.1)
+    gitlab-pry-byebug (3.9.0)
+      byebug (~> 11.0)
+      pry (~> 0.13.0)
     gitlab-sidekiq-fetcher (0.5.2)
       sidekiq (~> 5)
-    gitlab-styles (5.3.0)
-      rubocop (~> 0.89.1)
-      rubocop-gitlab-security (~> 0.1.0)
-      rubocop-performance (~> 1.8.1)
-      rubocop-rails (~> 2.8)
+    gitlab-styles (6.0.0)
+      rubocop (~> 0.91.1)
+      rubocop-gitlab-security (~> 0.1.1)
+      rubocop-performance (~> 1.9.2)
+      rubocop-rails (~> 2.9)
       rubocop-rspec (~> 1.44)
     gitlab_chronic_duration (0.10.6.2)
       numerizer (~> 0.2)
@@ -497,7 +492,7 @@ GEM
       signet (~> 0.14)
     gpgme (2.0.20)
       mini_portile2 (~> 2.3)
-    grape (1.4.0)
+    grape (1.5.1)
       activesupport
       builder
       dry-types (>= 1.1)
@@ -507,10 +502,11 @@ GEM
     grape-entity (0.7.1)
       activesupport (>= 4.0)
       multi_json (>= 1.3.2)
-    grape-path-helpers (1.5.0)
+    grape-path-helpers (1.6.1)
       activesupport
       grape (~> 1.3)
       rake (> 12)
+      ruby2_keywords (~> 0.0.2)
     grape_logging (1.8.3)
       grape
       rack
@@ -573,11 +569,12 @@ GEM
       hashie (>= 3.0)
     health_check (3.0.0)
       railties (>= 5.0)
-    heapy (0.1.4)
+    heapy (0.2.0)
+      thor
     hipchat (1.5.2)
       httparty
       mimemagic
-    html-pipeline (2.12.2)
+    html-pipeline (2.13.2)
       activesupport (>= 2)
       nokogiri (>= 1.4)
     html2text (0.2.0)
@@ -598,18 +595,18 @@ GEM
       mime-types (~> 3.0)
       multi_xml (>= 0.5.2)
     httpclient (2.8.3)
-    i18n (1.8.5)
+    i18n (1.8.7)
       concurrent-ruby (~> 1.0)
     i18n_data (0.8.0)
     icalendar (2.4.1)
     ice_nine (0.11.2)
-    invisible_captcha (0.12.1)
-      rails (>= 3.2.0)
+    invisible_captcha (1.1.0)
+      rails (>= 4.2)
     ipaddress (0.8.3)
     jaeger-client (1.1.0)
       opentracing (~> 0.3)
       thrift
-    jira-ruby (2.0.0)
+    jira-ruby (2.1.4)
       activesupport
       atlassian-jwt
       multipart-post
@@ -686,7 +683,7 @@ GEM
       activesupport (>= 4)
       railties (>= 4)
       request_store (~> 1.0)
-    loofah (2.7.0)
+    loofah (2.8.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     lru_redux (1.1.0)
@@ -695,7 +692,7 @@ GEM
       mini_mime (>= 0.1.1)
     marcel (0.3.3)
       mimemagic (~> 0.3.2)
-    marginalia (1.9.0)
+    marginalia (1.10.0)
       actionpack (>= 2.3)
       activerecord (>= 2.3)
     memoist (0.16.2)
@@ -707,10 +704,10 @@ GEM
       mime-types-data (~> 3.2015)
     mime-types-data (3.2020.0512)
     mimemagic (0.3.5)
-    mini_histogram (0.1.3)
+    mini_histogram (0.3.1)
     mini_magick (4.10.1)
     mini_mime (1.0.2)
-    mini_portile2 (2.4.0)
+    mini_portile2 (2.5.0)
     minitest (5.11.3)
     ms_rest (0.7.6)
       concurrent-ruby (~> 1.0)
@@ -730,17 +727,19 @@ GEM
       ruby2_keywords (~> 0.0.1)
     mustermann-grape (1.0.1)
       mustermann (>= 1.0.0)
-    nakayoshi_fork (0.0.4)
     nap (1.1.0)
     nenv (0.3.0)
-    net-ldap (0.16.2)
+    net-http-persistent (4.0.0)
+      connection_pool (~> 2.2)
+    net-ldap (0.16.3)
     net-ntp (2.1.3)
     net-ssh (6.0.0)
     netrc (0.11.0)
     nio4r (2.5.4)
     no_proxy_fix (0.1.2)
-    nokogiri (1.10.10)
-      mini_portile2 (~> 2.4.0)
+    nokogiri (1.11.1)
+      mini_portile2 (~> 2.5.0)
+      racc (~> 1.4)
     nokogumbo (2.0.2)
       nokogiri (~> 1.8, >= 1.8.4)
     notiffany (0.1.3)
@@ -840,13 +839,14 @@ GEM
       rubypants (~> 0.2)
     orm_adapter (0.5.0)
     os (1.1.1)
-    parallel (1.19.2)
-    parser (2.7.2.0)
+    parallel (1.20.1)
+    parser (3.0.0.0)
       ast (~> 2.4.1)
     parslet (1.8.2)
     peek (1.1.0)
       railties (>= 4.0.0)
     pg (1.2.3)
+    pg_query (1.3.0)
     png_quantizator (0.2.1)
     po_to_json (1.0.1)
       json (>= 1.6.0)
@@ -866,14 +866,20 @@ GEM
     pry (0.13.1)
       coderay (~> 1.1)
       method_source (~> 1.0)
-    pry-byebug (3.9.0)
-      byebug (~> 11.0)
-      pry (~> 0.13.0)
     pry-rails (0.3.9)
       pry (>= 0.10.4)
+    pry-remote (0.1.8)
+      pry (~> 0.9)
+      slop (~> 3.0)
     public_suffix (4.0.6)
+    puma (5.1.1)
+      nio4r (~> 2.0)
+    puma_worker_killer (0.3.1)
+      get_process_mem (~> 0.2)
+      puma (>= 2.7)
     pyu-ruby-sasl (0.0.3.3)
     raabro (1.1.6)
+    racc (1.5.2)
     rack (2.2.3)
     rack-accept (0.4.5)
       rack (>= 0.4)
@@ -894,20 +900,20 @@ GEM
     rack-test (1.1.0)
       rack (>= 1.0, < 3)
     rack-timeout (0.5.2)
-    rails (6.0.3.3)
-      actioncable (= 6.0.3.3)
-      actionmailbox (= 6.0.3.3)
-      actionmailer (= 6.0.3.3)
-      actionpack (= 6.0.3.3)
-      actiontext (= 6.0.3.3)
-      actionview (= 6.0.3.3)
-      activejob (= 6.0.3.3)
-      activemodel (= 6.0.3.3)
-      activerecord (= 6.0.3.3)
-      activestorage (= 6.0.3.3)
-      activesupport (= 6.0.3.3)
+    rails (6.0.3.4)
+      actioncable (= 6.0.3.4)
+      actionmailbox (= 6.0.3.4)
+      actionmailer (= 6.0.3.4)
+      actionpack (= 6.0.3.4)
+      actiontext (= 6.0.3.4)
+      actionview (= 6.0.3.4)
+      activejob (= 6.0.3.4)
+      activemodel (= 6.0.3.4)
+      activerecord (= 6.0.3.4)
+      activestorage (= 6.0.3.4)
+      activesupport (= 6.0.3.4)
       bundler (>= 1.3.0)
-      railties (= 6.0.3.3)
+      railties (= 6.0.3.4)
       sprockets-rails (>= 2.0.0)
     rails-controller-testing (1.0.5)
       actionpack (>= 5.0.1.rc1)
@@ -921,15 +927,15 @@ GEM
     rails-i18n (6.0.0)
       i18n (>= 0.7, < 2)
       railties (>= 6.0.0, < 7)
-    railties (6.0.3.3)
-      actionpack (= 6.0.3.3)
-      activesupport (= 6.0.3.3)
+    railties (6.0.3.4)
+      actionpack (= 6.0.3.4)
+      activesupport (= 6.0.3.4)
       method_source
       rake (>= 0.8.7)
       thor (>= 0.20.3, < 2.0)
     rainbow (3.0.0)
     raindrops (0.19.1)
-    rake (13.0.1)
+    rake (13.0.3)
     rb-fsevent (0.10.4)
     rb-inotify (0.10.1)
       ffi (~> 1.0)
@@ -989,25 +995,25 @@ GEM
       chunky_png
     rqrcode-rails3 (0.1.7)
       rqrcode (>= 0.4.2)
-    rspec (3.9.0)
-      rspec-core (~> 3.9.0)
-      rspec-expectations (~> 3.9.0)
-      rspec-mocks (~> 3.9.0)
-    rspec-core (3.9.1)
-      rspec-support (~> 3.9.1)
-    rspec-expectations (3.9.1)
+    rspec (3.10.0)
+      rspec-core (~> 3.10.0)
+      rspec-expectations (~> 3.10.0)
+      rspec-mocks (~> 3.10.0)
+    rspec-core (3.10.0)
+      rspec-support (~> 3.10.0)
+    rspec-expectations (3.10.0)
       diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.9.0)
-    rspec-mocks (3.9.1)
+      rspec-support (~> 3.10.0)
+    rspec-mocks (3.10.0)
       diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.9.0)
+      rspec-support (~> 3.10.0)
     rspec-parameterized (0.4.2)
       binding_ninja (>= 0.2.3)
       parser
       proc_to_ast
       rspec (>= 2.13, < 4)
       unparser
-    rspec-rails (4.0.0)
+    rspec-rails (4.0.1)
       actionpack (>= 4.2)
       activesupport (>= 4.2)
       railties (>= 4.2)
@@ -1017,7 +1023,7 @@ GEM
       rspec-support (~> 3.9)
     rspec-retry (0.6.1)
       rspec-core (> 3.3)
-    rspec-support (3.9.2)
+    rspec-support (3.10.0)
     rspec_junit_formatter (0.4.1)
       rspec-core (>= 2, < 4, != 2.12.0)
     rspec_profiling (0.0.6)
@@ -1025,26 +1031,26 @@ GEM
       pg
       rails
       sqlite3
-    rubocop (0.89.1)
+    rubocop (0.91.1)
       parallel (~> 1.10)
       parser (>= 2.7.1.1)
       rainbow (>= 2.2.2, < 4.0)
       regexp_parser (>= 1.7)
       rexml
-      rubocop-ast (>= 0.3.0, < 1.0)
+      rubocop-ast (>= 0.4.0, < 1.0)
       ruby-progressbar (~> 1.7)
       unicode-display_width (>= 1.4.0, < 2.0)
     rubocop-ast (0.8.0)
       parser (>= 2.7.1.5)
     rubocop-gitlab-security (0.1.1)
       rubocop (>= 0.51)
-    rubocop-performance (1.8.1)
-      rubocop (>= 0.87.0)
+    rubocop-performance (1.9.2)
+      rubocop (>= 0.90.0, < 2.0)
       rubocop-ast (>= 0.4.0)
-    rubocop-rails (2.8.1)
+    rubocop-rails (2.9.1)
       activesupport (>= 4.2.0)
       rack (>= 1.1)
-      rubocop (>= 0.87.0)
+      rubocop (>= 0.90.0, < 2.0)
     rubocop-rspec (1.44.1)
       rubocop (~> 0.87)
       rubocop-ast (>= 0.7.1)
@@ -1053,7 +1059,7 @@ GEM
     ruby-fogbugz (0.2.1)
       crack (~> 0.4)
     ruby-prof (1.3.1)
-    ruby-progressbar (1.10.1)
+    ruby-progressbar (1.11.0)
     ruby-saml (1.7.2)
       nokogiri (>= 1.5.10)
     ruby-statistics (2.1.2)
@@ -1127,6 +1133,7 @@ GEM
     simplecov-html (0.12.2)
     sixarm_ruby_unaccent (1.2.0)
     slack-messenger (2.3.4)
+    slop (3.6.0)
     snowplow-tracker (0.6.1)
       contracts (~> 0.7, <= 0.11)
     spring (2.1.1)
@@ -1143,12 +1150,12 @@ GEM
     sshkey (2.0.0)
     stackprof (0.2.15)
     state_machines (0.5.0)
-    state_machines-activemodel (0.7.1)
-      activemodel (>= 4.1)
+    state_machines-activemodel (0.8.0)
+      activemodel (>= 5.1)
       state_machines (>= 0.5.0)
-    state_machines-activerecord (0.6.0)
-      activerecord (>= 4.1)
-      state_machines-activemodel (>= 0.5.0)
+    state_machines-activerecord (0.8.0)
+      activerecord (>= 5.1)
+      state_machines-activemodel (>= 0.8.0)
     swd (1.1.2)
       activesupport (>= 3)
       attr_required (>= 0.0.5)
@@ -1185,7 +1192,7 @@ GEM
     truncato (0.7.11)
       htmlentities (~> 4.3.1)
       nokogiri (>= 1.7.0, <= 2.0)
-    tzinfo (1.2.8)
+    tzinfo (1.2.9)
       thread_safe (~> 0.1)
     u2f (0.2.1)
     uber (0.1.0)
@@ -1193,8 +1200,6 @@ GEM
       unf_ext
     unf_ext (0.0.7.7)
     unicode-display_width (1.7.0)
-    unicode_plot (0.0.4)
-      enumerable-statistics (>= 2.0.1)
     unicode_utils (1.4.0)
     unicorn (5.5.5)
       kgio (~> 2.6)
@@ -1247,6 +1252,7 @@ GEM
       addressable (>= 2.3.6)
       crack (>= 0.3.2)
       hashdiff (>= 0.4.0, < 2.0.0)
+    webrick (1.6.1)
     websocket-driver (0.7.3)
       websocket-extensions (>= 0.1.0)
     websocket-extensions (0.1.5)
@@ -1259,7 +1265,7 @@ GEM
     xpath (3.2.0)
       nokogiri (~> 1.8)
     yajl-ruby (1.4.1)
-    zeitwerk (2.4.1)
+    zeitwerk (2.4.2)
 
 PLATFORMS
   ruby
@@ -1268,11 +1274,11 @@ DEPENDENCIES
   RedCloth (~> 4.3.2)
   acme-client (~> 2.0, >= 2.0.6)
   activerecord-explain-analyze (~> 0.1)
-  acts-as-taggable-on (~> 6.0)
+  acts-as-taggable-on (~> 7.0)
   addressable (~> 2.7)
   akismet (~> 3.0)
   apollo_upload_server (~> 2.0.2)
-  asana (= 0.10.2)
+  asana (~> 0.10.3)
   asciidoctor (~> 2.0.10)
   asciidoctor-include-ext (~> 0.3.1)
   asciidoctor-kroki (~> 0.2.2)
@@ -1297,7 +1303,7 @@ DEPENDENCIES
   browser (~> 4.2)
   bullet (~> 6.1.0)
   bundler-audit (~> 0.6.1)
-  capybara (~> 3.33.0)
+  capybara (~> 3.34.0)
   capybara-screenshot (~> 1.0.22)
   carrierwave (~> 1.3)
   charlock_holmes (~> 0.7.7)
@@ -1329,7 +1335,7 @@ DEPENDENCIES
   email_spec (~> 2.2.0)
   erubi (~> 1.9.0)
   escape_utils (~> 1.1)
-  factory_bot_rails (~> 5.1.0)
+  factory_bot_rails (~> 6.1.0)
   faraday (~> 1.0)
   faraday_middleware-aws-sigv4 (~> 0.3.0)
   fast_blank
@@ -1339,7 +1345,7 @@ DEPENDENCIES
   flipper-active_support_cache_store (~> 0.17.1)
   flowdock (~> 0.7)
   fog-aliyun (~> 0.3)
-  fog-aws (~> 3.7)
+  fog-aws (~> 3.8)
   fog-core (= 2.1.0)
   fog-google (~> 1.12)
   fog-local (~> 0.6)
@@ -1351,30 +1357,28 @@ DEPENDENCIES
   gettext (~> 3.3)
   gettext_i18n_rails (~> 1.8.0)
   gettext_i18n_rails_js (~> 1.3)
-  gitaly (~> 13.7.0.pre.rc1)
+  gitaly (~> 13.8.0.pre.rc2)
   github-markup (~> 1.7.0)
   gitlab-chronic (~> 0.10.5)
-  gitlab-experiment (~> 0.4.4)
+  gitlab-experiment (~> 0.4.5)
   gitlab-fog-azure-rm (~> 1.0)
-  gitlab-labkit (= 0.13.3)
+  gitlab-labkit (= 0.14.0)
   gitlab-license (~> 1.0)
   gitlab-mail_room (~> 0.0.8)
   gitlab-markup (~> 1.7.1)
   gitlab-net-dns (~> 0.9.1)
-  gitlab-pg_query (~> 1.3)
-  gitlab-puma (~> 4.3.3.gitlab.2)
-  gitlab-puma_worker_killer (~> 0.1.1.gitlab.1)
+  gitlab-pry-byebug
   gitlab-sidekiq-fetcher (= 0.5.2)
-  gitlab-styles (~> 5.3.0)
+  gitlab-styles (~> 6.0.0)
   gitlab_chronic_duration (~> 0.10.6.2)
   gitlab_omniauth-ldap (~> 2.1.1)
   gon (~> 6.2)
   google-api-client (~> 0.33)
   google-protobuf (~> 3.12)
   gpgme (~> 2.0.19)
-  grape (= 1.4.0)
+  grape (~> 1.5.1)
   grape-entity (~> 0.7.1)
-  grape-path-helpers (~> 1.5)
+  grape-path-helpers (~> 1.6.1)
   grape_logging (~> 1.7)
   graphiql-rails (~> 1.4.10)
   graphlient (~> 0.4.0)
@@ -1390,13 +1394,13 @@ DEPENDENCIES
   hashie-forbidden_attributes
   health_check (~> 3.0)
   hipchat (~> 1.5.0)
-  html-pipeline (~> 2.12)
+  html-pipeline (~> 2.13.2)
   html2text
   httparty (~> 0.16.4)
   icalendar
-  invisible_captcha (~> 0.12.1)
+  invisible_captcha (~> 1.1.0)
   ipaddress (~> 0.8.3)
-  jira-ruby (~> 2.0.0)
+  jira-ruby (~> 2.1.4)
   js_regex (~> 3.4)
   json (~> 2.3.0)
   json-schema (~> 2.8.0)
@@ -1414,18 +1418,17 @@ DEPENDENCIES
   loofah (~> 2.2)
   lru_redux
   mail (= 2.7.1)
-  marginalia (~> 1.9.0)
+  marginalia (~> 1.10.0)
   memory_profiler (~> 0.9)
   method_source (~> 1.0)
   mimemagic (~> 0.3.2)
   mini_magick (~> 4.10.1)
   minitest (~> 5.11.0)
   multi_json (~> 1.14.1)
-  nakayoshi_fork (~> 0.0.4)
-  net-ldap
+  net-ldap (~> 0.16.3)
   net-ntp
   net-ssh (~> 6.0)
-  nokogiri (~> 1.10.9)
+  nokogiri (~> 1.11.1)
   oauth2 (~> 1.4)
   octokit (~> 4.15)
   oj (~> 3.10.6)
@@ -1451,11 +1454,14 @@ DEPENDENCIES
   parallel (~> 1.19)
   peek (~> 1.1)
   pg (~> 1.1)
+  pg_query (~> 1.3.0)
   png_quantizator (~> 0.2.1)
   premailer-rails (~> 1.10.3)
   prometheus-client-mmap (~> 0.12.0)
-  pry-byebug (~> 3.9.0)
   pry-rails (~> 0.3.9)
+  pry-remote
+  puma (~> 5.1.1)
+  puma_worker_killer (~> 0.3.1)
   rack (~> 2.2.3)
   rack-attack (~> 6.3.0)
   rack-cors (~> 1.0.6)
@@ -1481,7 +1487,7 @@ DEPENDENCIES
   rouge (~> 3.26.0)
   rqrcode-rails3 (~> 0.1.7)
   rspec-parameterized
-  rspec-rails (~> 4.0.0)
+  rspec-rails (~> 4.0.1)
   rspec-retry (~> 0.6.1)
   rspec_junit_formatter
   rspec_profiling (~> 0.0.6)
@@ -1511,7 +1517,7 @@ DEPENDENCIES
   sprockets (~> 3.7.0)
   sshkey (~> 2.0)
   stackprof (~> 0.2.15)
-  state_machines-activerecord (~> 0.6.0)
+  state_machines-activerecord (~> 0.8.0)
   sys-filesystem (~> 1.1.6)
   terser (= 1.0.2)
   test-prof (~> 0.12.0)
@@ -1530,6 +1536,7 @@ DEPENDENCIES
   vmstat (~> 2.3.0)
   webauthn (~> 2.3)
   webmock (~> 3.9.1)
+  webrick (~> 1.6.1)
   wikicloth (= 0.8.1)
   yajl-ruby (~> 1.4.1)
 
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
index a4758f7418ed8..20857db26660d 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
@@ -26,10 +26,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wpmxbprsqclna9xpa6b7sspjb89p6jqfxalasa9f984hx77dx27";
+      sha256 = "0y3aa0965cdsqamxk8ac6brcvijl1zv4pvqils6xy3pbcrv0ljid";
       type = "gem";
     };
-    version = "6.0.3.3";
+    version = "6.0.3.4";
   };
   actionmailbox = {
     dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"];
@@ -37,10 +37,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0smcxpn3glnmid3v2pk04sb3bdifbw7ad1c7fq6wfijkrpih8jiw";
+      sha256 = "10vb9s4frq22h5j6gyw2598k1jc29lg2czm95hf284l3mi4qly6a";
       type = "gem";
     };
-    version = "6.0.3.3";
+    version = "6.0.3.4";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
@@ -48,10 +48,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1spq0dbfn0qkqg9sq0rsjn360b4j36zly8hawaivkrwr3rsvyz75";
+      sha256 = "1ykn5qkwdlcv5aa1gjhhmrxpjccwa7df6n4amvkmvxv5lggyma52";
       type = "gem";
     };
-    version = "6.0.3.3";
+    version = "6.0.3.4";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -59,10 +59,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p873nqwmpsvmkb5n86d70wndx1qhy15pc9mbcd1mc8sj174578b";
+      sha256 = "0fbjpnh5hrihc9l35q9why6ip0hcdj42axzbp6b4j1xcy1v1bicj";
       type = "gem";
     };
-    version = "6.0.3.3";
+    version = "6.0.3.4";
   };
   actiontext = {
     dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"];
@@ -70,10 +70,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05ysfz9dwnncdx0g452by7jdr35yryz6lmcrbb4r5wgjm57b4n25";
+      sha256 = "0r0j0m76ynjspmvj5qbzl06kl9i920v269iz62y62009xydv6rqz";
       type = "gem";
     };
-    version = "6.0.3.3";
+    version = "6.0.3.4";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -81,10 +81,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08pvmjddlw01q5r9zdfgddwp4csndpf5i2w47677z5r36jznz36q";
+      sha256 = "0gdz31cq08nrqq6bxqim2qcbzv0fr34z6ycl73dmawpafj33wdkj";
       type = "gem";
     };
-    version = "6.0.3.3";
+    version = "6.0.3.4";
   };
   activejob = {
     dependencies = ["activesupport" "globalid"];
@@ -92,10 +92,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0w54ckvc229iaax879hkhyc93j7z8p0v7acp6mk3h8xjfvmwy5jp";
+      sha256 = "0d0p8gjplrgym38dmchyzhv7lrrxngz0yrxl6xyvwxfxm1hgdk2k";
       type = "gem";
     };
-    version = "6.0.3.3";
+    version = "6.0.3.4";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -103,10 +103,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "166jlx6kbby01vr37srh081a9fykgsz873yg5i9gl2ar3vw9gs56";
+      sha256 = "00jj8namy5niq7grl5lrsr4y351rxpj1b69k1i9gvb1hnpghl099";
       type = "gem";
     };
-    version = "6.0.3.3";
+    version = "6.0.3.4";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport"];
@@ -114,10 +114,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0y2a4ss6ld6yrhpcbcb3kjn5gj6zk9qklp2aq5rl1awl8vbdbdb7";
+      sha256 = "06qvvp73z8kq9sd2mhw6p9124q5pfkswjga2fidz4c73zbr79r3g";
       type = "gem";
     };
-    version = "6.0.3.3";
+    version = "6.0.3.4";
   };
   activerecord-explain-analyze = {
     dependencies = ["activerecord" "pg"];
@@ -136,10 +136,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nvfjkq979m1h4mk1ys7m4irwpswn4l9arb9yi06ffqpi1lpfl31";
+      sha256 = "0q734331wb7cfsh4jahj3lphpxvglzb17yvibwss1ml4g01xxm52";
       type = "gem";
     };
-    version = "6.0.3.3";
+    version = "6.0.3.4";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@@ -147,10 +147,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dmkqbvndbz011a1byg6f990936vfadbnwjwjw9vjzr4kd8bxk96";
+      sha256 = "1axidc4mikgi4yxs0ynw2c54jyrs5lxprxmzv6m3aayi9rg6rk5j";
       type = "gem";
     };
-    version = "6.0.3.3";
+    version = "6.0.3.4";
   };
   acts-as-taggable-on = {
     dependencies = ["activerecord"];
@@ -158,10 +158,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nvhd986xa6llyjnhikq4h1nrcf5b9r9s11if25qsj8358inrpga";
+      sha256 = "09m7lvm6id8mm8y9qycjr54l9gyqfb43x6yjz23cggisjg0px1fv";
       type = "gem";
     };
-    version = "6.5.0";
+    version = "7.0.0";
   };
   adamantium = {
     dependencies = ["ice_nine" "memoizable"];
@@ -232,10 +232,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0c8n8i3jb2q09l6rgcw0lb4sq85jzz6vywqlrd0ivq989zh3sq2l";
+      sha256 = "14cs2k802hlvlmn0nwnx4k3g44944x0a8dsj3k14mjnbvcw1fkxh";
       type = "gem";
     };
-    version = "0.10.2";
+    version = "0.10.3";
   };
   asciidoctor = {
     groups = ["default"];
@@ -423,21 +423,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qpvjyaq8478hw4cxcf8lr303wn8g9mhrfmvihyzn3zn9hll4zvd";
+      sha256 = "01psx005lkrfk3zm816z76fa2pv4hd8jk7hxrjyy4hbvgcqi6rfy";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "2.0.1";
   };
   azure-storage-common = {
-    dependencies = ["faraday" "faraday_middleware" "nokogiri"];
+    dependencies = ["faraday" "faraday_middleware" "net-http-persistent" "nokogiri"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nhjw77r65xrkdn2h6cd76mglgx676hyr58igyfb9f7zbgvjp69s";
+      sha256 = "0h5bwswc5768hblcxsschjz3y0lf9kvz3k7qqwypdhy8sr1lfxg8";
       type = "gem";
     };
-    version = "2.0.1";
+    version = "2.0.2";
   };
   babosa = {
     groups = ["default"];
@@ -635,10 +635,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ji9kyb01dpnjbvpyb0c481cpnisd6wx6div6rywi9fihk66627w";
+      sha256 = "1i1bm7r8n67cafd9p3ck7vdmng921b41n9znvlfaz7cy8a3gsrgm";
       type = "gem";
     };
-    version = "3.33.0";
+    version = "3.34.0";
   };
   capybara-screenshot = {
     dependencies = ["capybara" "launchy"];
@@ -1004,15 +1004,15 @@
     version = "1.5.1";
   };
   derailed_benchmarks = {
-    dependencies = ["benchmark-ips" "get_process_mem" "heapy" "memory_profiler" "mini_histogram" "rack" "rake" "ruby-statistics" "thor" "unicode_plot"];
-    groups = ["default"];
+    dependencies = ["benchmark-ips" "get_process_mem" "heapy" "memory_profiler" "mini_histogram" "rack" "rake" "ruby-statistics" "thor"];
+    groups = ["test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03lrvzvdjy6wyrnb3nw7nqn9jbhn6lncach58pj6m4l76b2n6jpr";
+      sha256 = "05nryqr18w61dyk9amajh7chn07zxardxnywayyis72kmd8f9q29";
       type = "gem";
     };
-    version = "1.7.0";
+    version = "1.8.1";
   };
   device_detector = {
     groups = ["default"];
@@ -1051,10 +1051,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza";
+      sha256 = "0m925b8xc6kbpnif9dldna24q1szg4mk0fvszrki837pfn46afmz";
       type = "gem";
     };
-    version = "1.3";
+    version = "1.4.4";
   };
   diff_match_patch = {
     groups = ["default"];
@@ -1131,15 +1131,15 @@
     version = "1.7.4";
   };
   dry-configurable = {
-    dependencies = ["concurrent-ruby" "dry-core" "dry-equalizer"];
+    dependencies = ["concurrent-ruby" "dry-core"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "033x4gvynfm33pchmpd5iw9n4c9q46j8vbwbcdmvb8b2r0gpzfdn";
+      sha256 = "0rvwvxrvcygvgfc3xjrihvdvnr0dh2144s8x80zfgfnz0jd5gac7";
       type = "gem";
     };
-    version = "0.11.5";
+    version = "0.12.0";
   };
   dry-container = {
     dependencies = ["concurrent-ruby" "dry-configurable"];
@@ -1158,10 +1158,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k9ff2sr4ymiwzg4mchzv66mn6rdsgjlinm6s4x5x91yhd0h4vpk";
+      sha256 = "14s45hxcqpp2mbvwlwzn018i8qhcjzgkirigdrv31jd741rpgy9s";
       type = "gem";
     };
-    version = "0.4.9";
+    version = "0.5.0";
   };
   dry-equalizer = {
     groups = ["default"];
@@ -1184,15 +1184,15 @@
     version = "0.2.0";
   };
   dry-logic = {
-    dependencies = ["concurrent-ruby" "dry-core" "dry-equalizer"];
+    dependencies = ["concurrent-ruby" "dry-core"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cqvylwv71sm9zrb0lpxmghn20zxnjswxwyhaj8y2wfniffyjgkc";
+      sha256 = "17dnc3g9y2nj42rdx2bdvsvvms10vgw4qzjb2iw2gln9hj8b797c";
       type = "gem";
     };
-    version = "1.0.6";
+    version = "1.1.0";
   };
   dry-types = {
     dependencies = ["concurrent-ruby" "dry-container" "dry-core" "dry-equalizer" "dry-inflector" "dry-logic"];
@@ -1311,16 +1311,6 @@
     };
     version = "3.0.0";
   };
-  enumerable-statistics = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0ac2f5g4m58l6bmap1ak6vgqykz2hy9n3c8r6dmlr2xjybdryc1f";
-      type = "gem";
-    };
-    version = "2.0.1";
-  };
   equalizer = {
     groups = ["default" "development" "test"];
     platforms = [];
@@ -1419,10 +1409,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04mvwcdh1056r79vq969vlncrcy53fkhw0iixpqvp8gnx5ajbsv6";
+      sha256 = "11ij9s4hasy963qjqbrrf0m8lm9m9pxkh2vf4wrnafa6gw6r9qk8";
       type = "gem";
     };
-    version = "5.1.0";
+    version = "6.1.0";
   };
   factory_bot_rails = {
     dependencies = ["factory_bot" "railties"];
@@ -1430,10 +1420,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02q7lwfdilwahza2jz0p0kc2rragv617q9r2yy72syv6lfy923sx";
+      sha256 = "0hfxkq6rarg0b8xfzqg200xyj176sn1xplqqqcrz5drhkqp30m14";
       type = "gem";
     };
-    version = "5.1.0";
+    version = "6.1.0";
   };
   faraday = {
     dependencies = ["multipart-post"];
@@ -1612,10 +1602,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1764kvyzigaxwmxgfggpqq15qpplm77j2nmvhf8f0gybsm3vbrbn";
+      sha256 = "1q7n8r03akjbdz3r2bgsl6wcjvdlf0k508z8bsd9zgs43qg14vc9";
       type = "gem";
     };
-    version = "3.7.0";
+    version = "3.8.0";
   };
   fog-core = {
     dependencies = ["builder" "excon" "formatador" "mime-types"];
@@ -1808,10 +1798,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1al29diaj9zrkj1rxwrqd644f2winv81dmnjycvm0gsim0vvw2hq";
+      sha256 = "0kns9lw8gdxm61vyvf3jin448zrl2h3qdx2ggilzxig28hdi0vha";
       type = "gem";
     };
-    version = "13.7.0.pre.rc1";
+    version = "13.8.0.pre.rc2";
   };
   github-markup = {
     groups = ["default"];
@@ -1840,10 +1830,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12ng0q49vl4k80m3hyx6bz915x1gmfmxjvgzdp3w0q77j4qv6nwi";
+      sha256 = "1v8ygrc2c98rz72za59g313n1mmr18jdbzr965lkp2zv2rw7cs9n";
       type = "gem";
     };
-    version = "0.4.4";
+    version = "0.4.5";
   };
   gitlab-fog-azure-rm = {
     dependencies = ["azure-storage-blob" "azure-storage-common" "fog-core" "fog-json" "mime-types" "ms_rest_azure"];
@@ -1862,10 +1852,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0x4d5dl60cfvvqj89b8blpsxa7lbbblqwdqy8kc1z51gira7i803";
+      sha256 = "0l4sbvlk6qc0x8372rp1gc2ihmx3vp0afrm5cy55xhflq16y7sl1";
       type = "gem";
     };
-    version = "0.13.3";
+    version = "0.14.0";
   };
   gitlab-license = {
     groups = ["default"];
@@ -1912,32 +1902,25 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xvzs8gy6vbddzf9kin92lqb99vzwljikfgqvxbxqm7hzl16dilq";
+      sha256 = "1rybirjyclavp641qdx27483xx0zpmc577wdzfgdnjd7753bya7g";
       type = "gem";
     };
-    version = "1.3.0";
-  };
-  gitlab-puma = {
-    dependencies = ["nio4r"];
-    groups = ["puma"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "05hazn3cq079zynj0viagly6bgh4x7pb2vqki9rgf2k39ljwrmld";
-      type = "gem";
-    };
-    version = "4.3.5.gitlab.3";
+    version = "1.3.1";
   };
-  gitlab-puma_worker_killer = {
-    dependencies = ["get_process_mem" "gitlab-puma"];
-    groups = ["puma"];
-    platforms = [];
+  gitlab-pry-byebug = {
+    dependencies = ["byebug" "pry"];
+    groups = ["development" "test"];
+    platforms = [{
+      engine = "maglev";
+    } {
+      engine = "ruby";
+    }];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0iagbqh4djbxfd18srvfg9qcxn845ibs3kf0q1sd57k27lxj0har";
+      sha256 = "0sp33vzzw8b7q9d8kb4pw8cl5fzlbffdpwz125x1g3kdiwz8xp3j";
       type = "gem";
     };
-    version = "0.1.1.gitlab.1";
+    version = "3.9.0";
   };
   gitlab-sidekiq-fetcher = {
     dependencies = ["sidekiq"];
@@ -1956,10 +1939,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14zg4mxj780ssk6lg8mvy4br3327cdlq17k5sds8zk2glng9vmsh";
+      sha256 = "17d238cy031gnjmrk6wl3qyk5kqhqjxrb68813n4y9ia817xmwyp";
       type = "gem";
     };
-    version = "5.3.0";
+    version = "6.0.0";
   };
   gitlab_chronic_duration = {
     dependencies = ["numerizer"];
@@ -2076,10 +2059,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03ylzpn9mng9kwk472xbsfnqcbnm0qcjjlscp17hijvpvafd8a09";
+      sha256 = "0lizcma35sygkd3q7zjv13mrr905ncn80f1ym6n305s75kc0pk9n";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.5.1";
   };
   grape-entity = {
     dependencies = ["activesupport" "multi_json"];
@@ -2093,15 +2076,15 @@
     version = "0.7.1";
   };
   grape-path-helpers = {
-    dependencies = ["activesupport" "grape" "rake"];
+    dependencies = ["activesupport" "grape" "rake" "ruby2_keywords"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "131s6a0xa0fj7w5d6xb2p2z3404w6rxbc33v7fcg50jrjgqphrjz";
+      sha256 = "1xdp7b5fnvm89szy8ghpl6wm125iq7f0qnhibj5bxqrvg3xyhc2m";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "1.6.1";
   };
   grape_logging = {
     dependencies = ["grape" "rack"];
@@ -2318,14 +2301,15 @@
     version = "3.0.0";
   };
   heapy = {
-    groups = ["default"];
+    dependencies = ["thor"];
+    groups = ["default" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1r9f38fpgjgaxskkwvsliijj6vfmgsff9pnranvvvzkdl67hk1hw";
+      sha256 = "1sl56ma851i82g3ax08igbn48igriiy152xzx30wgzv1bn21w53l";
       type = "gem";
     };
-    version = "0.1.4";
+    version = "0.2.0";
   };
   hipchat = {
     dependencies = ["httparty" "mimemagic"];
@@ -2344,10 +2328,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19hc7njr029pzqljpfhzhdi0p2rgn8ihn3bdnai2apy6nj1g1sg2";
+      sha256 = "00xqmlny1b4ixff8sk0rkl4wcgwqc6v93qv8l3rn8d1dppvq7pm1";
       type = "gem";
     };
-    version = "2.12.2";
+    version = "2.13.2";
   };
   html2text = {
     dependencies = ["nokogiri"];
@@ -2450,10 +2434,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "153sx77p16vawrs4qpkv7qlzf9v5fks4g7xqcj1dwk40i6g7rfzk";
+      sha256 = "1kr0bx9323fv5ys6nlhsy05kmwcbs94h6ac7ka9qqywy0vbdvrrv";
       type = "gem";
     };
-    version = "1.8.5";
+    version = "1.8.7";
   };
   i18n_data = {
     groups = ["default"];
@@ -2491,10 +2475,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15510dh1vh7l2xs2a4956nhxpnf10168r62i497nmcbyqpp1df88";
+      sha256 = "1lmlx3g4z894vwsgbpxhpmkn63n74mynklbwy07l7ccak552jw1n";
       type = "gem";
     };
-    version = "0.12.1";
+    version = "1.1.0";
   };
   ipaddress = {
     groups = ["default"];
@@ -2523,10 +2507,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bfqb5qkgbcjrspspa2lha2is0anjnby20x9gp7bfjr5j5j9my32";
+      sha256 = "17nv98nz3jp7q5hbnniscavqh4xv53mnda1vxyg3ncn8raaw0rs2";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "2.1.4";
   };
   jmespath = {
     groups = ["default"];
@@ -2813,10 +2797,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1alz1x6rkhbw10qpszr384299rf52rcyasn0619a9p50vzs8vczq";
+      sha256 = "0ndimir6k3kfrh8qrb7ir1j836l4r3qlwyclwjh88b86clblhszh";
       type = "gem";
     };
-    version = "2.7.0";
+    version = "2.8.0";
   };
   lru_redux = {
     groups = ["default"];
@@ -2866,10 +2850,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0n870r50z859dkcjz6dqvbvm895rpzw047basvbbfv9gi22rlxlv";
+      sha256 = "1003hf828anbd3pxwzs9ir9sclh64mgj971n4a7ilgj9xs8r0a38";
       type = "gem";
     };
-    version = "1.9.0";
+    version = "1.10.0";
   };
   memoist = {
     groups = ["default"];
@@ -2948,14 +2932,14 @@
     version = "0.3.5";
   };
   mini_histogram = {
-    groups = ["default"];
+    groups = ["default" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "127vmd85kwi85qjbb1431bi4j5gdy0pp6wrq1f88ja1pf3mlb50y";
+      sha256 = "156xs8k7fqqcbk1fbf0ndz6gfw380fb2jrycfvhb06269r84n4ba";
       type = "gem";
     };
-    version = "0.1.3";
+    version = "0.3.1";
   };
   mini_magick = {
     groups = ["default"];
@@ -2982,10 +2966,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy";
+      sha256 = "1hdbpmamx8js53yk3h8cqy12kgv6ca06k0c9n3pxh6b6cjfs19x7";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "2.5.0";
   };
   minitest = {
     groups = ["development" "test"];
@@ -3091,16 +3075,6 @@
     };
     version = "1.0.1";
   };
-  nakayoshi_fork = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1mj5czi7rxxmfq4v9qjz74lcqypvnjxhxqfs71zhb2rsfa97a6jg";
-      type = "gem";
-    };
-    version = "0.0.4";
-  };
   nap = {
     groups = ["default" "development"];
     platforms = [];
@@ -3121,15 +3095,26 @@
     };
     version = "0.3.0";
   };
+  net-http-persistent = {
+    dependencies = ["connection_pool"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sbdvkn7mzl883iykz74hgp14qj041gldf2vdk9g3gyqc843l2vr";
+      type = "gem";
+    };
+    version = "4.0.0";
+  };
   net-ldap = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vzfhivjfr9q65hkln7xig3qcba6fw9y4kb4384fpm7d7ww0b7xg";
+      sha256 = "13lh6qizxi8fza8py73b2dvjp9p010dvbaq7diagir9nh8plsinv";
       type = "gem";
     };
-    version = "0.16.2";
+    version = "0.16.3";
   };
   net-ntp = {
     groups = ["default"];
@@ -3182,15 +3167,15 @@
     version = "0.1.2";
   };
   nokogiri = {
-    dependencies = ["mini_portile2"];
+    dependencies = ["mini_portile2" "racc"];
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xmf60nj5kg9vaj5bysy308687sgmkasgx06vbbnf94p52ih7si2";
+      sha256 = "1ajwkqr28hwqbyl1l3czx4a34c88acxywyqp8cjyy0zgsd6sbhj2";
       type = "gem";
     };
-    version = "1.10.10";
+    version = "1.11.1";
   };
   nokogumbo = {
     dependencies = ["nokogiri"];
@@ -3594,10 +3579,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17b127xxmm2yqdz146qwbs57046kn0js1h8synv01dwqz2z1kp2l";
+      sha256 = "0055br0mibnqz0j8wvy20zry548dhkakws681bhj3ycb972awkzd";
       type = "gem";
     };
-    version = "1.19.2";
+    version = "1.20.1";
   };
   parser = {
     dependencies = ["ast"];
@@ -3605,10 +3590,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f7gmm60yla325wlnd3qkxs59qm2y0aan8ljpg6k18rwzrrfil6z";
+      sha256 = "1jixakyzmy0j5c1rb0fjrrdhgnyryvrr6vgcybs14jfw09akv5ml";
       type = "gem";
     };
-    version = "2.7.2.0";
+    version = "3.0.0.0";
   };
   parslet = {
     groups = ["default" "development" "test"];
@@ -3641,6 +3626,16 @@
     };
     version = "1.2.3";
   };
+  pg_query = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1i9l3y502ddm2lq3ajhxhqq17vs9hgxkxm443yw221ccibcfh6qf";
+      type = "gem";
+    };
+    version = "1.3.0";
+  };
   png_quantizator = {
     groups = ["development" "test"];
     platforms = [];
@@ -3730,31 +3725,27 @@
     };
     version = "0.13.1";
   };
-  pry-byebug = {
-    dependencies = ["byebug" "pry"];
+  pry-rails = {
+    dependencies = ["pry"];
     groups = ["development" "test"];
-    platforms = [{
-      engine = "maglev";
-    } {
-      engine = "ruby";
-    }];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "096y5vmzpyy4x9h4ky4cs4y7d19vdq9vbwwrqafbh5gagzwhifiv";
+      sha256 = "1cf4ii53w2hdh7fn8vhqpzkymmchjbwij4l3m7s6fsxvb9bn51j6";
       type = "gem";
     };
-    version = "3.9.0";
+    version = "0.3.9";
   };
-  pry-rails = {
-    dependencies = ["pry"];
+  pry-remote = {
+    dependencies = ["pry" "slop"];
     groups = ["development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cf4ii53w2hdh7fn8vhqpzkymmchjbwij4l3m7s6fsxvb9bn51j6";
+      sha256 = "10g1wrkcy5v5qyg9fpw1cag6g5rlcl1i66kn00r7kwqkzrdhd7nm";
       type = "gem";
     };
-    version = "0.3.9";
+    version = "0.1.8";
   };
   public_suffix = {
     groups = ["default" "development" "test"];
@@ -3766,6 +3757,28 @@
     };
     version = "4.0.6";
   };
+  puma = {
+    dependencies = ["nio4r"];
+    groups = ["puma"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13640p5fk19705ygp8j6p07lccag3d80bx8bmjgpd5zsxxsdc50b";
+      type = "gem";
+    };
+    version = "5.1.1";
+  };
+  puma_worker_killer = {
+    dependencies = ["get_process_mem" "puma"];
+    groups = ["puma"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jk1bhmx5px8y1ip4ky80cq5cwdaybdg4y55shd2vsdmjv938mcw";
+      type = "gem";
+    };
+    version = "0.3.1";
+  };
   pyu-ruby-sasl = {
     groups = ["default"];
     platforms = [];
@@ -3786,6 +3799,16 @@
     };
     version = "1.1.6";
   };
+  racc = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "178k7r0xn689spviqzhvazzvxfq6fyjldxb3ywjbgipbfi4s8j1g";
+      type = "gem";
+    };
+    version = "1.5.2";
+  };
   rack = {
     groups = ["default" "development" "kerberos" "test"];
     platforms = [];
@@ -3889,10 +3912,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qqsiwsb13sxkvxj54aybjhbxqi45fyiykaz5isc1y9frm2yyw64";
+      sha256 = "0vs4kfgp5pr5032nnhdapq60ga6karann06ilq1yjx8qck87cfxg";
       type = "gem";
     };
-    version = "6.0.3.3";
+    version = "6.0.3.4";
   };
   rails-controller-testing = {
     dependencies = ["actionpack" "actionview" "activesupport"];
@@ -3944,10 +3967,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05b79r0ms8jrs91zml1190qfxmnmks90g0sd820ks9msyr8xdp7j";
+      sha256 = "0x28620cvfja8r06lk6f90pw5lvijz9qi4bjsa4z1d1rkr3v4r3w";
       type = "gem";
     };
-    version = "6.0.3.3";
+    version = "6.0.3.4";
   };
   rainbow = {
     groups = ["default" "development" "test"];
@@ -3974,10 +3997,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0w6qza25bq1s825faaglkx1k6d59aiyjjk3yw3ip5sb463mhhai9";
+      sha256 = "1iik52mf9ky4cgs38fp2m8r6skdkq1yz23vh18lk95fhbcxb6a67";
       type = "gem";
     };
-    version = "13.0.1";
+    version = "13.0.3";
   };
   rb-fsevent = {
     groups = ["default" "development" "test"];
@@ -4305,10 +4328,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hzsig4pi9ybr0xl5540m1swiyxa74c8h09225y5sdh2rjkkg84h";
+      sha256 = "1dwai7jnwmdmd7ajbi2q0k0lx1dh88knv5wl7c34wjmf94yv8w5q";
       type = "gem";
     };
-    version = "3.9.0";
+    version = "3.10.0";
   };
   rspec-core = {
     dependencies = ["rspec-support"];
@@ -4316,10 +4339,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qzc1wdjb1qnbimjl8i1q1r1z5hdv2lmcw7ysz7jawj4d1cvpqvd";
+      sha256 = "0n2rdv8f26yw8c6asymc0mgddyr5d2b5n6mfvpd3n6lnpf1jdyv2";
       type = "gem";
     };
-    version = "3.9.1";
+    version = "3.10.0";
   };
   rspec-expectations = {
     dependencies = ["diff-lcs" "rspec-support"];
@@ -4327,10 +4350,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fjbwvq7qaz6h3sh1bs9q2qiy4zwcrc8f7xwv82dx2bc09dmqzhd";
+      sha256 = "0j37dvnvfbjwj8dqx27yfvz0frl7f2jc1abqg99h0ppriz9za6dc";
       type = "gem";
     };
-    version = "3.9.1";
+    version = "3.10.0";
   };
   rspec-mocks = {
     dependencies = ["diff-lcs" "rspec-support"];
@@ -4338,10 +4361,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19vmdqym1v2g1zbdnq37zwmyj87y9yc9ijwc8js55igvbb9hx0mr";
+      sha256 = "1pz89y1522i6f8wzrg72ykmch3318ih87nlpl0y1ghsrs5hqymw3";
       type = "gem";
     };
-    version = "3.9.1";
+    version = "3.10.0";
   };
   rspec-parameterized = {
     dependencies = ["binding_ninja" "parser" "proc_to_ast" "rspec" "unparser"];
@@ -4360,10 +4383,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01cyd449g4lsgrlck7nn3ynn8c8vwfhjb913y05wil56y77wsfkl";
+      sha256 = "0lzik01ziaskgpdpy8knffpw0fsy9151f5lfigyhb89wq4q45hfs";
       type = "gem";
     };
-    version = "4.0.0";
+    version = "4.0.1";
   };
   rspec-retry = {
     dependencies = ["rspec-core"];
@@ -4381,10 +4404,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zwpyq1na23pvgacpxs2v9nwfbjbw6x3arca5j3l1xagigqmzhc3";
+      sha256 = "0j0n28i6zci5j7gg370bdy87dy43hlwx6dw428d9kamf5a0i2klz";
       type = "gem";
     };
-    version = "3.9.2";
+    version = "3.10.0";
   };
   rspec_junit_formatter = {
     dependencies = ["rspec-core"];
@@ -4414,10 +4437,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yh71v5d7aw6jz7505d2sv0n0ldf3wh0ly3lphdanjl0n8b42y9h";
+      sha256 = "19nmdwz6mc5ah0xqlj1j58ylcp9zsckb1xm7p1z51abnqhcq5c06";
       type = "gem";
     };
-    version = "0.89.1";
+    version = "0.91.1";
   };
   rubocop-ast = {
     dependencies = ["parser"];
@@ -4447,10 +4470,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13v66wi5l56bvp97nlmyxscq8ipkzfha1g7nlhcrbikvmrm3h5kf";
+      sha256 = "01aahh54r9mwhdj7v2s6kmkdm1k1n1z27dlknlbgm281ny1aswrk";
       type = "gem";
     };
-    version = "1.8.1";
+    version = "1.9.2";
   };
   rubocop-rails = {
     dependencies = ["activesupport" "rack" "rubocop"];
@@ -4458,10 +4481,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14g703lv0cbqw504cdjsv0yydrsnm61rwg0n0mql4zl5hw1n7lfh";
+      sha256 = "0h656la1g644g54g3gidz45p6v8i1156nw6bi66cfx7078y1339d";
       type = "gem";
     };
-    version = "2.8.1";
+    version = "2.9.1";
   };
   rubocop-rspec = {
     dependencies = ["rubocop" "rubocop-ast"];
@@ -4511,10 +4534,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1k77i0d4wsn23ggdd2msrcwfy0i376cglfqypkk2q77r2l3408zf";
+      sha256 = "02nmaw7yx9kl7rbaan5pl8x5nn0y4j5954mzrkzi9i3dhsrps4nc";
       type = "gem";
     };
-    version = "1.10.1";
+    version = "1.11.0";
   };
   ruby-saml = {
     dependencies = ["nokogiri"];
@@ -4885,6 +4908,16 @@
     };
     version = "2.3.4";
   };
+  slop = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n";
+      type = "gem";
+    };
+    version = "3.6.0";
+  };
   snowplow-tracker = {
     dependencies = ["contracts"];
     groups = ["default"];
@@ -4985,10 +5018,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05c2dw3115zj3pmyyqh2iypc7afj8ibhrghisg0d61z7gzmir1rd";
+      sha256 = "0b4dffzlj38adin6gm0ky72r5c507qdb1jprnm7h9gnlj2qxlcp9";
       type = "gem";
     };
-    version = "0.7.1";
+    version = "0.8.0";
   };
   state_machines-activerecord = {
     dependencies = ["activerecord" "state_machines-activemodel"];
@@ -4996,10 +5029,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12g7yqy11fpfiprzc86pwa9jjky1h3haxj37kg47467fgg43p511";
+      sha256 = "1dmaf4f4cg3gamzgga3gamp0kv9lvianqzr9103dw0xbp00vfbq7";
       type = "gem";
     };
-    version = "0.6.0";
+    version = "0.8.0";
   };
   swd = {
     dependencies = ["activesupport" "attr_required" "httpclient"];
@@ -5226,10 +5259,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0skr6ih9cr3pwp8l84f0z7fy3q9kiq8hw0sg3zqw0hpbbyj05743";
+      sha256 = "0zwqqh6138s8b321fwvfbywxy00lw1azw4ql3zr0xh1aqxf8cnvj";
       type = "gem";
     };
-    version = "1.2.8";
+    version = "1.2.9";
   };
   u2f = {
     groups = ["default"];
@@ -5282,17 +5315,6 @@
     };
     version = "1.7.0";
   };
-  unicode_plot = {
-    dependencies = ["enumerable-statistics"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "09cv90pi414ns1knbi0zjbn59071qjgym974jpsgj7yjh70dpj0g";
-      type = "gem";
-    };
-    version = "0.0.4";
-  };
   unicode_utils = {
     groups = ["default"];
     platforms = [];
@@ -5475,6 +5497,16 @@
     };
     version = "3.9.1";
   };
+  webrick = {
+    groups = ["metrics"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0z6nv626lzfl7wx407l5x5688layh9qd82k97hrm6pwgj6miwk8b";
+      type = "gem";
+    };
+    version = "1.6.1";
+  };
   websocket-driver = {
     dependencies = ["websocket-extensions"];
     groups = ["default" "test"];
@@ -5553,9 +5585,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12n0hiawqayzchi0yga5n19hi63b2snd49fv3n23n2i4pp05jzrp";
+      sha256 = "1746czsjarixq0x05f7p3hpzi38ldg6wxnxxw74kbjzh1sdjgmpl";
       type = "gem";
     };
-    version = "2.4.1";
+    version = "2.4.2";
   };
 }
diff --git a/pkgs/applications/version-management/gitlab/yarnPkgs.nix b/pkgs/applications/version-management/gitlab/yarnPkgs.nix
index ba24888d9522b..74d4020f22de8 100644
--- a/pkgs/applications/version-management/gitlab/yarnPkgs.nix
+++ b/pkgs/applications/version-management/gitlab/yarnPkgs.nix
@@ -778,19 +778,27 @@
       };
     }
     {
-      name = "_gitlab_eslint_plugin___eslint_plugin_5.0.0.tgz";
+      name = "_gitlab_eslint_plugin___eslint_plugin_6.0.0.tgz";
       path = fetchurl {
-        name = "_gitlab_eslint_plugin___eslint_plugin_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/@gitlab/eslint-plugin/-/eslint-plugin-5.0.0.tgz";
-        sha1 = "502eb2bccb55d65d6310ce9ef2da76035b6fc319";
+        name = "_gitlab_eslint_plugin___eslint_plugin_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/eslint-plugin/-/eslint-plugin-6.0.0.tgz";
+        sha1 = "deb18f63808af1cb1cc117a92558f07edb1e2256";
       };
     }
     {
-      name = "_gitlab_svgs___svgs_1.177.0.tgz";
+      name = "_gitlab_favicon_overlay___favicon_overlay_2.0.0.tgz";
       path = fetchurl {
-        name = "_gitlab_svgs___svgs_1.177.0.tgz";
-        url  = "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-1.177.0.tgz";
-        sha1 = "e481ed327a11d3834c8b1668d7485b9eefef97f5";
+        name = "_gitlab_favicon_overlay___favicon_overlay_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/favicon-overlay/-/favicon-overlay-2.0.0.tgz";
+        sha1 = "2f32d0b6a4d5b8ac44e2927083d9ab478a78c984";
+      };
+    }
+    {
+      name = "_gitlab_svgs___svgs_1.178.0.tgz";
+      path = fetchurl {
+        name = "_gitlab_svgs___svgs_1.178.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-1.178.0.tgz";
+        sha1 = "069edb8abb4c7137d48f527592476655f066538b";
       };
     }
     {
@@ -802,11 +810,11 @@
       };
     }
     {
-      name = "_gitlab_ui___ui_24.8.1.tgz";
+      name = "_gitlab_ui___ui_25.11.3.tgz";
       path = fetchurl {
-        name = "_gitlab_ui___ui_24.8.1.tgz";
-        url  = "https://registry.yarnpkg.com/@gitlab/ui/-/ui-24.8.1.tgz";
-        sha1 = "eb674d19aedf9c91b9a14aa7a66397d54b199fb7";
+        name = "_gitlab_ui___ui_25.11.3.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/ui/-/ui-25.11.3.tgz";
+        sha1 = "54719d1276f417e66904f9f951671633f1647006";
       };
     }
     {
@@ -970,19 +978,19 @@
       };
     }
     {
-      name = "_rails_actioncable___actioncable_6.0.3_3.tgz";
+      name = "_rails_actioncable___actioncable_6.1.0.tgz";
       path = fetchurl {
-        name = "_rails_actioncable___actioncable_6.0.3_3.tgz";
-        url  = "https://registry.yarnpkg.com/@rails/actioncable/-/actioncable-6.0.3-3.tgz";
-        sha1 = "fb1a46d3d353512764d5fa3cea2f492391601b7a";
+        name = "_rails_actioncable___actioncable_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@rails/actioncable/-/actioncable-6.1.0.tgz";
+        sha1 = "f336f25450b1bc43b99bc60557a70b6e6bb1d3d2";
       };
     }
     {
-      name = "_rails_ujs___ujs_6.0.3_2.tgz";
+      name = "_rails_ujs___ujs_6.1.0.tgz";
       path = fetchurl {
-        name = "_rails_ujs___ujs_6.0.3_2.tgz";
-        url  = "https://registry.yarnpkg.com/@rails/ujs/-/ujs-6.0.3-2.tgz";
-        sha1 = "e14c1f29086858215ce7ccd9ad6d8888c458b4a3";
+        name = "_rails_ujs___ujs_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@rails/ujs/-/ujs-6.1.0.tgz";
+        sha1 = "9a48df6511cb2b472c9f596c1f37dc0af022e751";
       };
     }
     {
@@ -1178,11 +1186,11 @@
       };
     }
     {
-      name = "_types_json_schema___json_schema_7.0.4.tgz";
+      name = "_types_json_schema___json_schema_7.0.6.tgz";
       path = fetchurl {
-        name = "_types_json_schema___json_schema_7.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz";
-        sha1 = "38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339";
+        name = "_types_json_schema___json_schema_7.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz";
+        sha1 = "f4c7ec43e81b319a9815115031709f26987891f0";
       };
     }
     {
@@ -1314,11 +1322,11 @@
       };
     }
     {
-      name = "_vue_test_utils___test_utils_1.0.0_beta.30.tgz";
+      name = "_vue_test_utils___test_utils_1.1.2.tgz";
       path = fetchurl {
-        name = "_vue_test_utils___test_utils_1.0.0_beta.30.tgz";
-        url  = "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-1.0.0-beta.30.tgz";
-        sha1 = "d5f26d1e2411fdb7fa7fdedb61b4b4ea4194c49d";
+        name = "_vue_test_utils___test_utils_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-1.1.2.tgz";
+        sha1 = "fdb487448dceefeaf3d01d465f7c836a3d666dbc";
       };
     }
     {
@@ -1538,11 +1546,11 @@
       };
     }
     {
-      name = "acorn_jsx___acorn_jsx_5.1.0.tgz";
+      name = "acorn_jsx___acorn_jsx_5.3.1.tgz";
       path = fetchurl {
-        name = "acorn_jsx___acorn_jsx_5.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz";
-        sha1 = "294adb71b57398b0680015f0a38c563ee1db5384";
+        name = "acorn_jsx___acorn_jsx_5.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz";
+        sha1 = "fc8661e11b7ac1539c47dbfea2e72b3af34d267b";
       };
     }
     {
@@ -1610,19 +1618,19 @@
       };
     }
     {
-      name = "ajv_keywords___ajv_keywords_3.4.1.tgz";
+      name = "ajv_keywords___ajv_keywords_3.5.2.tgz";
       path = fetchurl {
-        name = "ajv_keywords___ajv_keywords_3.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz";
-        sha1 = "ef916e271c64ac12171fd8384eaae6b2345854da";
+        name = "ajv_keywords___ajv_keywords_3.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz";
+        sha1 = "31f29da5ab6e00d1c2d329acf7b5929614d5014d";
       };
     }
     {
-      name = "ajv___ajv_6.12.5.tgz";
+      name = "ajv___ajv_6.12.6.tgz";
       path = fetchurl {
-        name = "ajv___ajv_6.12.5.tgz";
-        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.5.tgz";
-        sha1 = "19b0e8bae8f476e5ba666300387775fb1a00a4da";
+        name = "ajv___ajv_6.12.6.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz";
+        sha1 = "baf5a62e802b07d977034586f8c3baf5adf26df4";
       };
     }
     {
@@ -4402,11 +4410,11 @@
       };
     }
     {
-      name = "dompurify___dompurify_2.2.4.tgz";
+      name = "dompurify___dompurify_2.2.6.tgz";
       path = fetchurl {
-        name = "dompurify___dompurify_2.2.4.tgz";
-        url  = "https://registry.yarnpkg.com/dompurify/-/dompurify-2.2.4.tgz";
-        sha1 = "a98cd182b729bdd8715c3eb7a8bf8eafb2ff7410";
+        name = "dompurify___dompurify_2.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/dompurify/-/dompurify-2.2.6.tgz";
+        sha1 = "54945dc5c0b45ce5ae228705777e8e59d7b2edc4";
       };
     }
     {
@@ -4874,11 +4882,11 @@
       };
     }
     {
-      name = "eslint_plugin_vue___eslint_plugin_vue_6.2.2.tgz";
+      name = "eslint_plugin_vue___eslint_plugin_vue_7.4.1.tgz";
       path = fetchurl {
-        name = "eslint_plugin_vue___eslint_plugin_vue_6.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-6.2.2.tgz";
-        sha1 = "27fecd9a3a24789b0f111ecdd540a9e56198e0fe";
+        name = "eslint_plugin_vue___eslint_plugin_vue_7.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-7.4.1.tgz";
+        sha1 = "2526ef0c010c218824a89423dbe6ddbe76f04fd6";
       };
     }
     {
@@ -4914,11 +4922,11 @@
       };
     }
     {
-      name = "eslint_utils___eslint_utils_2.0.0.tgz";
+      name = "eslint_utils___eslint_utils_2.1.0.tgz";
       path = fetchurl {
-        name = "eslint_utils___eslint_utils_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.0.0.tgz";
-        sha1 = "7be1cc70f27a72a76cd14aa698bcabed6890e1cd";
+        name = "eslint_utils___eslint_utils_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz";
+        sha1 = "d2de5e03424e707dc10c74068ddedae708741b27";
       };
     }
     {
@@ -4938,11 +4946,11 @@
       };
     }
     {
-      name = "espree___espree_6.1.2.tgz";
+      name = "espree___espree_6.2.1.tgz";
       path = fetchurl {
-        name = "espree___espree_6.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/espree/-/espree-6.1.2.tgz";
-        sha1 = "6c272650932b4f91c3714e5e7b5f5e2ecf47262d";
+        name = "espree___espree_6.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz";
+        sha1 = "77fc72e1fd744a2052c20f38a5b575832e82734a";
       };
     }
     {
@@ -5226,6 +5234,14 @@
       };
     }
     {
+      name = "fast_mersenne_twister___fast_mersenne_twister_1.0.2.tgz";
+      path = fetchurl {
+        name = "fast_mersenne_twister___fast_mersenne_twister_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/fast-mersenne-twister/-/fast-mersenne-twister-1.0.2.tgz";
+        sha1 = "5ead7caf3ace592a5789d11767732bd81cbaaa56";
+      };
+    }
+    {
       name = "fault___fault_1.0.2.tgz";
       path = fetchurl {
         name = "fault___fault_1.0.2.tgz";
@@ -7874,11 +7890,11 @@
       };
     }
     {
-      name = "katex___katex_0.10.0.tgz";
+      name = "katex___katex_0.10.2.tgz";
       path = fetchurl {
-        name = "katex___katex_0.10.0.tgz";
-        url  = "https://registry.yarnpkg.com/katex/-/katex-0.10.0.tgz";
-        sha1 = "da562e5d0d5cc3aa602e27af8a9b8710bfbce765";
+        name = "katex___katex_0.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/katex/-/katex-0.10.2.tgz";
+        sha1 = "39973edbb65eda5b6f9e7f41648781e557dd4932";
       };
     }
     {
@@ -8082,6 +8098,14 @@
       };
     }
     {
+      name = "loader_utils___loader_utils_2.0.0.tgz";
+      path = fetchurl {
+        name = "loader_utils___loader_utils_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz";
+        sha1 = "e4cace5b816d425a166b5f097e10cd12b36064b0";
+      };
+    }
+    {
       name = "locate_path___locate_path_2.0.0.tgz";
       path = fetchurl {
         name = "locate_path___locate_path_2.0.0.tgz";
@@ -8594,6 +8618,14 @@
       };
     }
     {
+      name = "mathjax___mathjax_3.1.2.tgz";
+      path = fetchurl {
+        name = "mathjax___mathjax_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/mathjax/-/mathjax-3.1.2.tgz";
+        sha1 = "95c0d45ce2330ef7b6a815cebe7d61ecc26bbabd";
+      };
+    }
+    {
       name = "mathml_tag_names___mathml_tag_names_2.1.1.tgz";
       path = fetchurl {
         name = "mathml_tag_names___mathml_tag_names_2.1.1.tgz";
@@ -8722,14 +8754,6 @@
       };
     }
     {
-      name = "mersenne_twister___mersenne_twister_1.1.0.tgz";
-      path = fetchurl {
-        name = "mersenne_twister___mersenne_twister_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/mersenne-twister/-/mersenne-twister-1.1.0.tgz";
-        sha1 = "f916618ee43d7179efcf641bec4531eb9670978a";
-      };
-    }
-    {
       name = "methods___methods_1.1.2.tgz";
       path = fetchurl {
         name = "methods___methods_1.1.2.tgz";
@@ -10266,14 +10290,6 @@
       };
     }
     {
-      name = "prettier___prettier_1.18.2.tgz";
-      path = fetchurl {
-        name = "prettier___prettier_1.18.2.tgz";
-        url  = "https://registry.yarnpkg.com/prettier/-/prettier-1.18.2.tgz";
-        sha1 = "6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea";
-      };
-    }
-    {
       name = "prettier___prettier_2.0.5.tgz";
       path = fetchurl {
         name = "prettier___prettier_2.0.5.tgz";
@@ -10282,6 +10298,22 @@
       };
     }
     {
+      name = "prettier___prettier_2.2.1.tgz";
+      path = fetchurl {
+        name = "prettier___prettier_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz";
+        sha1 = "795a1a78dd52f073da0cd42b21f9c91381923ff5";
+      };
+    }
+    {
+      name = "prettier___prettier_1.18.2.tgz";
+      path = fetchurl {
+        name = "prettier___prettier_1.18.2.tgz";
+        url  = "https://registry.yarnpkg.com/prettier/-/prettier-1.18.2.tgz";
+        sha1 = "6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea";
+      };
+    }
+    {
       name = "pretty_format___pretty_format_25.5.0.tgz";
       path = fetchurl {
         name = "pretty_format___pretty_format_25.5.0.tgz";
@@ -11338,11 +11370,11 @@
       };
     }
     {
-      name = "schema_utils___schema_utils_2.6.4.tgz";
+      name = "schema_utils___schema_utils_2.7.1.tgz";
       path = fetchurl {
-        name = "schema_utils___schema_utils_2.6.4.tgz";
-        url  = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.4.tgz";
-        sha1 = "a27efbf6e4e78689d91872ee3ccfa57d7bdd0f53";
+        name = "schema_utils___schema_utils_2.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz";
+        sha1 = "1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7";
       };
     }
     {
@@ -12202,11 +12234,11 @@
       };
     }
     {
-      name = "style_loader___style_loader_1.1.3.tgz";
+      name = "style_loader___style_loader_1.3.0.tgz";
       path = fetchurl {
-        name = "style_loader___style_loader_1.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/style-loader/-/style-loader-1.1.3.tgz";
-        sha1 = "9e826e69c683c4d9bf9db924f85e9abb30d5e200";
+        name = "style_loader___style_loader_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/style-loader/-/style-loader-1.3.0.tgz";
+        sha1 = "828b4a3b3b7e7aa5847ce7bae9e874512114249e";
       };
     }
     {
@@ -13442,11 +13474,11 @@
       };
     }
     {
-      name = "vue_eslint_parser___vue_eslint_parser_7.0.0.tgz";
+      name = "vue_eslint_parser___vue_eslint_parser_7.3.0.tgz";
       path = fetchurl {
-        name = "vue_eslint_parser___vue_eslint_parser_7.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.0.0.tgz";
-        sha1 = "a4ed2669f87179dedd06afdd8736acbb3a3864d6";
+        name = "vue_eslint_parser___vue_eslint_parser_7.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.3.0.tgz";
+        sha1 = "894085839d99d81296fa081d19643733f23d7559";
       };
     }
     {
@@ -13474,11 +13506,11 @@
       };
     }
     {
-      name = "vue_loader___vue_loader_15.9.5.tgz";
+      name = "vue_loader___vue_loader_15.9.6.tgz";
       path = fetchurl {
-        name = "vue_loader___vue_loader_15.9.5.tgz";
-        url  = "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.9.5.tgz";
-        sha1 = "7a960dc420a3439deaacdda038fdcdbf7c432706";
+        name = "vue_loader___vue_loader_15.9.6.tgz";
+        url  = "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.9.6.tgz";
+        sha1 = "f4bb9ae20c3a8370af3ecf09b8126d38ffdb6b8b";
       };
     }
     {
diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix
index 268098b2d2d0c..89e3a5ea0b53c 100644
--- a/pkgs/applications/version-management/meld/default.nix
+++ b/pkgs/applications/version-management/meld/default.nix
@@ -45,7 +45,6 @@ python3.pkgs.buildPythonApplication rec {
     gtksourceview4
     gsettings-desktop-schemas
     gnome3.adwaita-icon-theme
-    gobject-introspection # fixes https://github.com/NixOS/nixpkgs/issues/56943 for now
   ];
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -53,6 +52,10 @@ python3.pkgs.buildPythonApplication rec {
     pycairo
   ];
 
+  # gobject-introspection and some other similar setup hooks do not currently work with strictDeps.
+  # https://github.com/NixOS/nixpkgs/issues/56943
+  strictDeps = false;
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
diff --git a/pkgs/applications/version-management/mercurial/4.9.nix b/pkgs/applications/version-management/mercurial/4.9.nix
index 29440724274a0..f499be17f7c80 100644
--- a/pkgs/applications/version-management/mercurial/4.9.nix
+++ b/pkgs/applications/version-management/mercurial/4.9.nix
@@ -21,7 +21,8 @@ in python2Packages.buildPythonApplication {
 
   inherit python; # pass it so that the same version can be used in hg2git
 
-  buildInputs = [ makeWrapper docutils unzip ]
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ docutils unzip ]
     ++ lib.optionals stdenv.isDarwin [ ApplicationServices ];
 
   propagatedBuildInputs = [ hg-git dulwich ];
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index c841482126a13..7c0a96583e702 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -19,7 +19,8 @@ in python3Packages.buildPythonApplication rec {
 
   passthru = { inherit python; }; # pass it so that the same version can be used in hg2git
 
-  buildInputs = [ makeWrapper docutils unzip ]
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ docutils unzip ]
     ++ lib.optionals stdenv.isDarwin [ ApplicationServices ];
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/applications/version-management/monotone-viz/default.nix b/pkgs/applications/version-management/monotone-viz/default.nix
index d6d55eaa4eb64..56cc2a4ea5a57 100644
--- a/pkgs/applications/version-management/monotone-viz/default.nix
+++ b/pkgs/applications/version-management/monotone-viz/default.nix
@@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
   version = "1.0.2";
   pname = "monotone-viz";
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ocaml lablgtk libgnomecanvas glib graphviz_2_0 makeWrapper camlp4];
+  nativeBuildInputs = [ pkg-config makeWrapper ];
+  buildInputs = [ocaml lablgtk libgnomecanvas glib graphviz_2_0 camlp4];
   src = fetchurl {
     url = "http://oandrieu.nerim.net/monotone-viz/${pname}-${version}-nolablgtk.tar.gz";
     sha256 = "1l5x4xqz5g1aaqbc1x80mg0yzkiah9ma9k9mivmn08alkjlakkdk";
diff --git a/pkgs/applications/version-management/pijul/default.nix b/pkgs/applications/version-management/pijul/default.nix
index 993db7c2ebdb8..eaad772f73496 100644
--- a/pkgs/applications/version-management/pijul/default.nix
+++ b/pkgs/applications/version-management/pijul/default.nix
@@ -13,14 +13,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pijul";
-  version = "1.0.0-alpha.37";
+  version = "1.0.0-alpha.38";
 
   src = fetchCrate {
     inherit version pname;
-    sha256 = "02hdnfpy0hlgwhahrd5ddjmq8r05pyny0r91q3avirli1i7rkvs6";
+    sha256 = "0f14jkr1yswwyqz0l47b0287vpyz0g1qmksr3hkskhbmwlkf1q2b";
   };
 
-  cargoSha256 = "16v9nqrfdmrmll72yj6a6wl4rv28n838myjyw2n68kjmijakvnk4";
+  cargoSha256 = "08p2dq48d1islk02xz1j39402fqxfh4isf8qi219aivl0yciwjn3";
 
   cargoBuildFlags = lib.optional gitImportSupport "--features=git";
 
diff --git a/pkgs/applications/version-management/rabbitvcs/default.nix b/pkgs/applications/version-management/rabbitvcs/default.nix
index 0384f9723d56e..e274f0b0335e2 100644
--- a/pkgs/applications/version-management/rabbitvcs/default.nix
+++ b/pkgs/applications/version-management/rabbitvcs/default.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, lib, python3Packages, meld, subversion, gvfs, xdg_utils, gtk3 }:
+{ fetchFromGitHub, lib, python3Packages, meld, subversion, gvfs, xdg-utils, gtk3 }:
 
 python3Packages.buildPythonApplication rec {
   pname = "rabbitvcs";
@@ -13,7 +13,7 @@ python3Packages.buildPythonApplication rec {
   };
 
   buildInputs = [ gtk3 ];
-  pythonPath = with python3Packages; [ configobj pygobject3 pysvn dulwich tkinter gvfs xdg_utils ];
+  pythonPath = with python3Packages; [ configobj pygobject3 pysvn dulwich tkinter gvfs xdg-utils ];
 
   prePatch = ''
       sed -ie 's|if sys\.argv\[1\] == "install":|if False:|' ./setup.py
diff --git a/pkgs/applications/version-management/sourcehut/builds.nix b/pkgs/applications/version-management/sourcehut/builds.nix
index 3e89fe0a4dc2e..7fb26476d8ae6 100644
--- a/pkgs/applications/version-management/sourcehut/builds.nix
+++ b/pkgs/applications/version-management/sourcehut/builds.nix
@@ -1,5 +1,4 @@
 { lib, fetchgit, buildPythonPackage
-, python
 , buildGoModule
 , srht, redis, celery, pyyaml, markdown }:
 
diff --git a/pkgs/applications/version-management/sourcehut/dispatch.nix b/pkgs/applications/version-management/sourcehut/dispatch.nix
index ea3f58e38906d..5ce140273ebd1 100644
--- a/pkgs/applications/version-management/sourcehut/dispatch.nix
+++ b/pkgs/applications/version-management/sourcehut/dispatch.nix
@@ -1,5 +1,4 @@
 { lib, fetchgit, buildPythonPackage
-, python
 , srht, pyyaml, PyGithub }:
 
 buildPythonPackage rec {
diff --git a/pkgs/applications/version-management/sourcehut/git.nix b/pkgs/applications/version-management/sourcehut/git.nix
index 8966cbe080018..a25a14f610c17 100644
--- a/pkgs/applications/version-management/sourcehut/git.nix
+++ b/pkgs/applications/version-management/sourcehut/git.nix
@@ -1,5 +1,4 @@
 { lib, fetchgit, buildPythonPackage
-, python
 , buildGoModule
 , srht, minio, pygit2, scmsrht }:
 
diff --git a/pkgs/applications/version-management/sourcehut/hg.nix b/pkgs/applications/version-management/sourcehut/hg.nix
index fae311831f2fc..c8fa64c8b4d93 100644
--- a/pkgs/applications/version-management/sourcehut/hg.nix
+++ b/pkgs/applications/version-management/sourcehut/hg.nix
@@ -1,5 +1,4 @@
 { lib, fetchhg, buildPythonPackage
-, python
 , srht, hglib, scmsrht, unidiff }:
 
 buildPythonPackage rec {
diff --git a/pkgs/applications/version-management/sourcehut/hub.nix b/pkgs/applications/version-management/sourcehut/hub.nix
index 99b5663a9b89a..8b6d92019976f 100644
--- a/pkgs/applications/version-management/sourcehut/hub.nix
+++ b/pkgs/applications/version-management/sourcehut/hub.nix
@@ -1,5 +1,4 @@
 { lib, fetchgit, buildPythonPackage
-, python
 , srht }:
 
 buildPythonPackage rec {
diff --git a/pkgs/applications/version-management/sourcehut/lists.nix b/pkgs/applications/version-management/sourcehut/lists.nix
index 25d22dede3595..98191f564e962 100644
--- a/pkgs/applications/version-management/sourcehut/lists.nix
+++ b/pkgs/applications/version-management/sourcehut/lists.nix
@@ -1,5 +1,4 @@
 { lib, fetchgit, buildPythonPackage
-, python
 , srht, asyncpg, aiosmtpd, pygit2, emailthreads }:
 
 buildPythonPackage rec {
diff --git a/pkgs/applications/version-management/sourcehut/man.nix b/pkgs/applications/version-management/sourcehut/man.nix
index 24a31a3ef17fd..e3751a6d5c8b4 100644
--- a/pkgs/applications/version-management/sourcehut/man.nix
+++ b/pkgs/applications/version-management/sourcehut/man.nix
@@ -1,5 +1,4 @@
 { lib, fetchgit, buildPythonPackage
-, python
 , srht, pygit2 }:
 
 buildPythonPackage rec {
diff --git a/pkgs/applications/version-management/sourcehut/meta.nix b/pkgs/applications/version-management/sourcehut/meta.nix
index d07bd29357acf..b5b15520d2535 100644
--- a/pkgs/applications/version-management/sourcehut/meta.nix
+++ b/pkgs/applications/version-management/sourcehut/meta.nix
@@ -1,5 +1,4 @@
 { lib, fetchgit, buildPythonPackage
-, python
 , buildGoModule
 , pgpy, srht, redis, bcrypt, qrcode, stripe, zxcvbn, alembic, pystache
 , sshpubkeys, weasyprint }:
diff --git a/pkgs/applications/version-management/sourcehut/paste.nix b/pkgs/applications/version-management/sourcehut/paste.nix
index 12747f981032b..dab518e70aee6 100644
--- a/pkgs/applications/version-management/sourcehut/paste.nix
+++ b/pkgs/applications/version-management/sourcehut/paste.nix
@@ -1,5 +1,4 @@
 { lib, fetchgit, buildPythonPackage
-, python
 , srht, pyyaml }:
 
 buildPythonPackage rec {
diff --git a/pkgs/applications/version-management/sourcehut/todo.nix b/pkgs/applications/version-management/sourcehut/todo.nix
index 85ae3b2cf1461..5e75efb088647 100644
--- a/pkgs/applications/version-management/sourcehut/todo.nix
+++ b/pkgs/applications/version-management/sourcehut/todo.nix
@@ -1,7 +1,6 @@
 { lib, fetchgit, buildPythonPackage
-, python
 , srht, redis, alembic, pystache
-, pytest, factory_boy, writeText }:
+, pytest, factory_boy }:
 
 buildPythonPackage rec {
   pname = "todosrht";
diff --git a/pkgs/applications/version-management/sparkleshare/default.nix b/pkgs/applications/version-management/sparkleshare/default.nix
index a7d1f86652c10..da6bb386535c4 100644
--- a/pkgs/applications/version-management/sparkleshare/default.nix
+++ b/pkgs/applications/version-management/sparkleshare/default.nix
@@ -19,7 +19,7 @@
   stdenv,
   symlinkJoin,
   webkit2-sharp,
-  xdg_utils,
+  xdg-utils,
 }:
 
 stdenv.mkDerivation rec {
@@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
             mono
             openssh
             openssl
-            xdg_utils
+            xdg-utils
           ];
         }}/bin \
         --set MONO_GAC_PREFIX ${lib.concatStringsSep ":" [
diff --git a/pkgs/applications/version-management/sublime-merge/default.nix b/pkgs/applications/version-management/sublime-merge/default.nix
index 7b01ab21f4959..1ca04a1634a27 100644
--- a/pkgs/applications/version-management/sublime-merge/default.nix
+++ b/pkgs/applications/version-management/sublime-merge/default.nix
@@ -4,13 +4,13 @@ let
   common = opts: callPackage (import ./common.nix opts);
 in {
   sublime-merge = common {
-    buildVersion = "2039";
-    sha256 = "0l82408jli7g6nc267bnnnz0zz015lvpwva5fxj53mval32ii4i8";
+    buildVersion = "2047";
+    sha256 = "03a0whifhx9py25l96xpqhb4p6hi9qmnrk2bxz6gh02sinsp3mia";
   } {};
 
   sublime-merge-dev = common {
-    buildVersion = "2037";
-    sha256 = "1s0g18l2msmnn6w7f126andh2dygm9l94fxxhsi64v74mkawqg82";
+    buildVersion = "2046";
+    sha256 = "04laygxr4vm6mawlfmdn2vj0dwj1swab39znsgb1d6rhysz62kjd";
     dev = true;
   } {};
 }
diff --git a/pkgs/applications/video/catt/default.nix b/pkgs/applications/video/catt/default.nix
index d22657d651cbc..e60acf87da6f9 100644
--- a/pkgs/applications/video/catt/default.nix
+++ b/pkgs/applications/video/catt/default.nix
@@ -1,32 +1,26 @@
 { lib, python3 }:
 
-let
-  py = python3.override {
-    packageOverrides = self: super: {
-      PyChromecast = super.PyChromecast.overridePythonAttrs (oldAttrs: rec {
-        version = "6.0.0";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "05f8r3b2pdqbl76hwi5sv2xdi1r7g9lgm69x8ja5g22mn7ysmghm";
-        };
-      });
-    };
-  };
+with python3.pkgs;
 
-in with py.pkgs; buildPythonApplication rec {
+buildPythonApplication rec {
   pname = "catt";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1vq1wg79b7855za6v6bsfgypm0v3b4wakap4rash45mhzbgjj0kq";
+    sha256 = "sha256-6RUeinHhAvvSz38hHQP5/MXNiY00rCM8k2ONaFYbwPc=";
   };
 
   propagatedBuildInputs = [
-    youtube-dl PyChromecast click ifaddr requests
+    click
+    ifaddr
+    PyChromecast
+    requests
+    youtube-dl
   ];
 
   doCheck = false; # attempts to access various URLs
+  pythonImportsCheck = [ "catt" ];
 
   meta = with lib; {
     description = "Cast All The Things allows you to send videos from many, many online sources to your Chromecast";
diff --git a/pkgs/applications/video/cinelerra/default.nix b/pkgs/applications/video/cinelerra/default.nix
index bfc577e51a206..c81811ea93793 100644
--- a/pkgs/applications/video/cinelerra/default.nix
+++ b/pkgs/applications/video/cinelerra/default.nix
@@ -7,13 +7,13 @@
 , fontconfig, intltool }:
 
 stdenv.mkDerivation {
-  name = "cinelerra-cv-2018-05-16";
+  name = "cinelerra-cv-2021-02-14";
 
   src = fetchFromGitHub {
-    owner = "ratopi";
-    repo = "CinelerraCV";
-    rev = "d9c0dbf4393717f0a42f4b91c3e1ed5b16f955dc";
-    sha256 = "0a8kfm1v96sv6jh4568crg6nkr6n3579i9xksfj8w199s6yxzsbk";
+    owner = "cinelerra-cv-team";
+    repo = "cinelerra-cv";
+    rev = "7d0e8ede557d0cdf3606e0a8d97166a22f88d89e";
+    sha256 = "0n84y2wp47y89drc48cm1609gads5c6saw6c6bqcf5c5wcg1yfbj";
   };
 
   preConfigure = ''
@@ -28,10 +28,9 @@ stdenv.mkDerivation {
   '';
   enableParallelBuilding = true;
 
+  nativeBuildInputs = [ automake autoconf libtool pkg-config file intltool ];
   buildInputs =
-    [ automake
-      autoconf libtool pkg-config file
-      faad2 faac
+    [ faad2 faac
       a52dec alsaLib   fftw lame libavc1394 libiec61883
       libraw1394 libsndfile libvorbis libogg libjpeg libtiff freetype
       mjpegtools x264 gettext openexr
@@ -39,13 +38,13 @@ stdenv.mkDerivation {
       libtheora libpng libdv libuuid
       nasm
       perl
-      fontconfig intltool
+      fontconfig
     ];
 
-  meta = {
-    description = "Video Editor";
-    homepage = "http://www.cinelerra.org";
-    maintainers = [ lib.maintainers.marcweber ];
-    license = lib.licenses.gpl2;
+  meta = with lib; {
+    description = "Professional video editing and compositing environment (community version)";
+    homepage = "http://cinelerra-cv.wikidot.com/";
+    maintainers = with maintainers; [ marcweber ];
+    license = licenses.gpl2Only;
   };
 }
diff --git a/pkgs/applications/video/filebot/default.nix b/pkgs/applications/video/filebot/default.nix
index 0e7cce4fee7fe..a9d56cc910853 100644
--- a/pkgs/applications/video/filebot/default.nix
+++ b/pkgs/applications/video/filebot/default.nix
@@ -10,11 +10,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "filebot";
-  version = "4.9.2";
+  version = "4.9.3";
 
   src = fetchurl {
     url = "https://get.filebot.net/filebot/FileBot_${version}/FileBot_${version}-portable.tar.xz";
-    sha256 = "0hcyam8l0fzc9fnp1dpawk0s3rwhfph78w99y7zlcv5l4l4h04lz";
+    sha256 = "sha256-xgdCjo2RLp+EtUTfSiys7PURhnC00R9IOLPtz3427pA=";
   };
 
   unpackPhase = "tar xvf $src";
diff --git a/pkgs/applications/video/gnomecast/default.nix b/pkgs/applications/video/gnomecast/default.nix
index bc045deb9ecbb..65865c31dfc81 100644
--- a/pkgs/applications/video/gnomecast/default.nix
+++ b/pkgs/applications/video/gnomecast/default.nix
@@ -16,6 +16,10 @@ buildPythonApplication rec {
     gtk3 gobject-introspection
   ];
 
+  # NOTE: gdk-pixbuf setup hook does not run with strictDeps
+  # https://nixos.org/manual/nixpkgs/stable/#ssec-gnome-hooks-gobject-introspection
+  strictDeps = false;
+
   preFixup = ''
     gappsWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ ffmpeg_3 ]})
   '';
diff --git a/pkgs/applications/video/go-chromecast/default.nix b/pkgs/applications/video/go-chromecast/default.nix
index 10047b2148b3e..2e3d0221709f8 100644
--- a/pkgs/applications/video/go-chromecast/default.nix
+++ b/pkgs/applications/video/go-chromecast/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "go-chromecast";
-  version = "0.2.8";
+  version = "0.2.9";
 
   src = fetchFromGitHub {
     owner = "vishen";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ehIhFqZeVidhYTgqOLlf0aMHKG0cOe6245UyOVM/nOg=";
+    sha256 = "sha256-KhJMgr57pDnuFLhsbf0/4n9w0EfjuuKA46ENPLXox3A=";
   };
 
   vendorSha256 = "sha256-idxElk4Sy7SE9G1OMRw8YH4o8orBa80qhBXPA+ar620=";
diff --git a/pkgs/applications/video/kodi/default.nix b/pkgs/applications/video/kodi/default.nix
index 3aaa465a3ccb8..2de5899aa3e5f 100644
--- a/pkgs/applications/video/kodi/default.nix
+++ b/pkgs/applications/video/kodi/default.nix
@@ -1,11 +1,12 @@
-{ stdenv, lib, fetchpatch, fetchurl, fetchFromGitHub, autoconf, automake, libtool, makeWrapper, linuxHeaders
-, pkg-config, cmake, gnumake, yasm, python2Packages
+{ stdenv, lib, fetchurl, fetchFromGitHub, autoconf, automake, libtool, makeWrapper, linuxHeaders
+, pkg-config, cmake, gnumake, yasm, python3Packages
 , libgcrypt, libgpgerror, libunistring
-, boost, avahi, lame, autoreconfHook
+, boost, avahi, lame
 , gettext, pcre-cpp, yajl, fribidi, which
 , openssl, gperf, tinyxml2, taglib, libssh, swig, jre_headless
+, gtest, ncurses, spdlog
 , libxml2, systemd
-, alsaLib, libGLU, libGL, glew, fontconfig, freetype, ftgl
+, alsaLib, libGLU, libGL, fontconfig, freetype, ftgl
 , libjpeg, libpng, libtiff
 , libmpeg2, libsamplerate, libmad
 , libogg, libvorbis, flac, libxslt
@@ -42,17 +43,18 @@ assert udevSupport  -> udev != null;
 assert usbSupport   -> libusb-compat-0_1 != null && ! udevSupport; # libusb-compat-0_1 won't be used if udev is avaliable
 assert vdpauSupport -> libvdpau != null;
 assert useWayland -> wayland != null && wayland-protocols != null && waylandpp != null && libxkbcommon != null;
+assert useGbm || useWayland || x11Support;
 
 let
-  kodiReleaseDate = "20200728";
-  kodiVersion = "18.9";
-  rel = "Leia";
+  kodiReleaseDate = "20210219";
+  kodiVersion = "19.0";
+  rel = "Matrix";
 
   kodi_src = fetchFromGitHub {
     owner  = "xbmc";
     repo   = "xbmc";
     rev    = "${kodiVersion}-${rel}";
-    sha256 = "0nnf7823pixj6n2fkjc8rbdjwayvhlbglij2by4rnjzzfgmqmw20";
+    sha256 = "097dg6a7v4ia85jx1pmlpwzdpqcqxlrmniqd005q73zvgj67zc2p";
   };
 
   cmakeProto = fetchurl {
@@ -87,9 +89,9 @@ let
 
   ffmpeg = kodiDependency rec {
     name    = "FFmpeg";
-    version = "4.0.3";
-    rev     = "${version}-${rel}-18.2";
-    sha256  = "1krsjlr949iy5l6ljxancza1yi6w1annxc5s6k283i9mb15qy8cy";
+    version = "4.3.1";
+    rev     = "${version}-${rel}-Beta1";
+    sha256  = "1c5rwlxn6xj501iw7masdv2p6wb9rkmd299lmlkx97sw1kvxvg2w";
     preConfigure = ''
       cp ${kodi_src}/tools/depends/target/ffmpeg/{CMakeLists.txt,*.cmake} .
       sed -i 's/ --cpu=''${CPU}//' CMakeLists.txt
@@ -151,6 +153,12 @@ let
     postPatch         = cmakeProtoPatch;
   };
 
+  kodi_platforms =
+    lib.optional useGbm "gbm" ++
+    lib.optional useWayland "wayland" ++
+    lib.optional x11Support "x11"
+  ;
+
 in stdenv.mkDerivation {
     name = "kodi-${lib.optionalString useWayland "wayland-"}${kodiVersion}";
 
@@ -158,10 +166,11 @@ in stdenv.mkDerivation {
 
     buildInputs = [
       gnutls libidn libtasn1 nasm p11-kit
-      libxml2 python2Packages.python
+      libxml2 python3Packages.python
       boost libmicrohttpd
       gettext pcre-cpp yajl fribidi libva libdrm
       openssl gperf tinyxml2 taglib libssh
+      gtest ncurses spdlog
       alsaLib libGL libGLU fontconfig freetype ftgl
       libjpeg libpng libtiff
       libmpeg2 libsamplerate libmad
@@ -210,7 +219,7 @@ in stdenv.mkDerivation {
       which
       pkg-config gnumake
       autoconf automake libtool # still needed for some components. Check if that is the case with 19.0
-      jre_headless yasm gettext python2Packages.python flatbuffers
+      jre_headless yasm gettext python3Packages.python flatbuffers
 
       # for TexturePacker
       giflib zlib libpng libjpeg lzo
@@ -221,6 +230,8 @@ in stdenv.mkDerivation {
     ];
 
     cmakeFlags = [
+      "-DAPP_RENDER_SYSTEM=${if useGbm then "gles" else "gl"}"
+      "-DCORE_PLATFORM_NAME=${lib.concatStringsSep " " kodi_platforms}"
       "-Dlibdvdcss_URL=${libdvdcss.src}"
       "-Dlibdvdnav_URL=${libdvdnav.src}"
       "-Dlibdvdread_URL=${libdvdread.src}"
@@ -231,14 +242,9 @@ in stdenv.mkDerivation {
       "-DLIRC_DEVICE=/run/lirc/lircd"
       "-DSWIG_EXECUTABLE=${buildPackages.swig}/bin/swig"
       "-DFLATBUFFERS_FLATC_EXECUTABLE=${buildPackages.flatbuffers}/bin/flatc"
-      "-DPYTHON_EXECUTABLE=${buildPackages.python2Packages.python}/bin/python"
+      "-DPYTHON_EXECUTABLE=${buildPackages.python3Packages.python}/bin/python"
     ] ++ lib.optional useWayland [
-      "-DCORE_PLATFORM_NAME=wayland"
-      "-DWAYLAND_RENDER_SYSTEM=gl"
       "-DWAYLANDPP_SCANNER=${buildPackages.waylandpp}/bin/wayland-scanner++"
-    ] ++ lib.optional useGbm [
-      "-DCORE_PLATFORM_NAME=gbm"
-      "-DGBM_RENDER_SYSTEM=gles"
     ];
 
     # 14 tests fail but the biggest issue is that every test takes 30 seconds -
@@ -248,22 +254,22 @@ in stdenv.mkDerivation {
     # Need these tools on the build system when cross compiling,
     # hacky, but have found no other way.
     preConfigure = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
-      CXX=c++ LD=ld make -C tools/depends/native/JsonSchemaBuilder
+      CXX=${stdenv.cc.targetPrefix}c++ LD=ld make -C tools/depends/native/JsonSchemaBuilder
       cmakeFlags+=" -DWITH_JSONSCHEMABUILDER=$PWD/tools/depends/native/JsonSchemaBuilder/bin"
 
-      CXX=c++ LD=ld make EXTRA_CONFIGURE= -C tools/depends/native/TexturePacker
+      CXX=${stdenv.cc.targetPrefix}c++ LD=ld make EXTRA_CONFIGURE= -C tools/depends/native/TexturePacker
       cmakeFlags+=" -DWITH_TEXTUREPACKER=$PWD/tools/depends/native/TexturePacker/bin"
     '';
 
     postPatch = ''
-      substituteInPlace xbmc/platform/linux/LinuxTimezone.cpp \
+      substituteInPlace xbmc/platform/posix/PosixTimezone.cpp \
         --replace 'usr/share/zoneinfo' 'etc/zoneinfo'
     '';
 
     postInstall = ''
       for p in $(ls $out/bin/) ; do
         wrapProgram $out/bin/$p \
-          --prefix PATH            ":" "${lib.makeBinPath ([ python2Packages.python glxinfo ] ++ lib.optional x11Support xdpyinfo)}" \
+          --prefix PATH            ":" "${lib.makeBinPath ([ python3Packages.python glxinfo ] ++ lib.optional x11Support xdpyinfo)}" \
           --prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath
               ([ curl systemd libmad libvdpau libcec libcec_platform libass ]
                  ++ lib.optional nfsSupport libnfs
@@ -279,7 +285,7 @@ in stdenv.mkDerivation {
     installCheckPhase = "$out/bin/kodi --version";
 
     passthru = {
-      pythonPackages = python2Packages;
+      pythonPackages = python3Packages;
     };
 
     meta = with lib; {
diff --git a/pkgs/applications/video/kodi/plugins.nix b/pkgs/applications/video/kodi/plugins.nix
index 7d9fdcc3d000c..44e5dec6b77fc 100644
--- a/pkgs/applications/video/kodi/plugins.nix
+++ b/pkgs/applications/video/kodi/plugins.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, callPackage, fetchFromGitHub
-, cmake, kodiPlain, libcec_platform, tinyxml, rapidxml
+, cmake, kodiPlain, libcec_platform, tinyxml, pugixml
 , steam, udev, libusb1, jsoncpp, libhdhomerun, zlib
-, python2Packages, expat, glib, nspr, nss, openssl
+, python3Packages, expat, glib, nspr, nss, openssl
 , libssh, libarchive, lzma, bzip2, lz4, lzo }:
 
 with lib;
@@ -9,7 +9,7 @@ with lib;
 let self = rec {
 
   pluginDir = "/share/kodi/addons";
-  rel = "Leia";
+  rel = "Matrix";
 
   kodi = kodiPlain;
 
@@ -122,6 +122,7 @@ let self = rec {
       '';
       platforms = platforms.all;
       maintainers = with maintainers; [ edwtjo ];
+      broken = true; # requires port to python3
     };
 
   };
@@ -151,6 +152,7 @@ let self = rec {
       '';
       platforms = platforms.all;
       maintainers = with maintainers; [ edwtjo ];
+      broken = true; # requires port to python3
     };
 
   };
@@ -204,6 +206,7 @@ let self = rec {
       homepage = "https://forum.kodi.tv/showthread.php?tid=258159";
       description = "A ROM launcher for Kodi that uses HyperSpin assets.";
       maintainers = with maintainers; [ edwtjo ];
+      broken = true; # requires port to python3
     };
   in {
     service = mkKodiPlugin {
@@ -221,14 +224,14 @@ let self = rec {
 
   joystick = mkKodiABIPlugin rec {
     namespace = "peripheral.joystick";
-    version = "1.4.7";
+    version = "1.7.1";
     plugin = namespace;
 
     src = fetchFromGitHub {
       owner = "xbmc";
       repo = namespace;
-      rev = "v${version}";
-      sha256 = "03gsp4kg41s3n4ib4wsv7m3krfipgwc2z07i4mnd5zvg0c4xrmap";
+      rev = "${version}-${rel}";
+      sha256 = "1dhj4afr9kj938xx70fq5r409mz6lbw4n581ljvdjj9lq7akc914";
     };
 
     meta = {
@@ -237,7 +240,7 @@ let self = rec {
       maintainers = with maintainers; [ edwtjo ];
     };
 
-    extraBuildInputs = [ udev ];
+    extraBuildInputs = [ tinyxml udev ];
   };
 
   simpleplugin = mkKodiPlugin rec {
@@ -256,6 +259,7 @@ let self = rec {
       homepage = src.meta.homepage;
       description = "Simpleplugin API";
       license = licenses.gpl3;
+      broken = true; # requires port to python3
     };
   };
 
@@ -263,14 +267,14 @@ let self = rec {
 
     plugin = "svtplay";
     namespace = "plugin.video.svtplay";
-    version = "4.0.48";
+    version = "5.1.12";
 
     src = fetchFromGitHub {
       name = plugin + "-" + version + ".tar.gz";
       owner = "nilzen";
       repo = "xbmc-" + plugin;
-      rev = "dc18ad002cd69257611d0032fba91f57bb199165";
-      sha256 = "0klk1jpjc243ak306k94mag4b4s17w68v69yb8lzzydszqkaqa7x";
+      rev = "v${version}";
+      sha256 = "04j1nhm7mh9chs995lz6bv1vsq5xzk7a7c0lmk4bnfv8jrfpj0w6";
     };
 
     meta = {
@@ -290,14 +294,14 @@ let self = rec {
 
   steam-controller = mkKodiABIPlugin rec {
     namespace = "peripheral.steamcontroller";
-    version = "0.10.0";
+    version = "0.11.0";
     plugin = namespace;
 
     src = fetchFromGitHub {
       owner = "kodi-game";
       repo = namespace;
-      rev = "ea345392ab5aa4485f3a48d2037fa8a8e8ab82de";
-      sha256 = "1hbd8fdvn7xkr9csz1g9wah78nhnq1rkazl4zwa31y70830k3279";
+      rev = "f68140ca44f163a03d3a625d1f2005a6edef96cb";
+      sha256 = "09lm8i119xlsxxk0c64rnp8iw0crr90v7m8iwi9r31qdmxrdxpmg";
     };
 
     extraBuildInputs = [ libusb1 ];
@@ -314,13 +318,13 @@ let self = rec {
 
     plugin = "steam-launcher";
     namespace = "script.steam.launcher";
-    version = "3.1.4";
+    version = "3.5.1";
 
     src = fetchFromGitHub rec {
       owner = "teeedubb";
       repo = owner + "-xbmc-repo";
-      rev = "db67704c3e16bdcdd3bdfe2926c609f1f6bdc4fb";
-      sha256 = "001a7zs3a4jfzj8ylxv2klc33mipmqsd5aqax7q81fbgwdlndvbm";
+      rev = "8260bf9b464846a1f1965da495d2f2b7ceb81d55";
+      sha256 = "1fj3ry5s44nf1jzxk4bmnpa4b9p23nrpmpj2a4i6xf94h7jl7p5k";
     };
 
     propagatedBuildInputs = [ steam ];
@@ -356,6 +360,7 @@ let self = rec {
       homepage = "https://forum.kodi.tv/showthread.php?tid=187421";
       description = "A comic book reader";
       maintainers = with maintainers; [ edwtjo ];
+      broken = true; # requires port to python3
     };
   };
 
@@ -363,13 +368,13 @@ let self = rec {
 
     plugin = "pvr-hts";
     namespace = "pvr.hts";
-    version = "4.4.14";
+    version = "8.2.2";
 
     src = fetchFromGitHub {
       owner = "kodi-pvr";
       repo = "pvr.hts";
       rev = "${version}-${rel}";
-      sha256 = "1bcwcwd2yjhw85yk6lyhf0iqiclrsz7r7vpbxgc650fwqbb146gr";
+      sha256 = "0jnn9gfjl556acqjf92wzzn371gxymhbbi665nqgg2gjcan0a49q";
     };
 
     meta = {
@@ -385,13 +390,13 @@ let self = rec {
 
     plugin = "pvr-hdhomerun";
     namespace = "pvr.hdhomerun";
-    version = "3.5.0";
+    version = "7.1.0";
 
     src = fetchFromGitHub {
       owner = "kodi-pvr";
       repo = "pvr.hdhomerun";
       rev = "${version}-${rel}";
-      sha256 = "1zrkvfn0im2qmvqm93pa3cg8xkxv61sxlj8nsz4r5z9v9nhqadf6";
+      sha256 = "0gbwjssnd319csq2kwlyjj1rskg19m1dxac5dl2dymvx5hn3zrgm";
     };
 
     meta = {
@@ -409,13 +414,13 @@ let self = rec {
 
     plugin = "pvr-iptvsimple";
     namespace = "pvr.iptvsimple";
-    version = "3.5.7";
+    version = "7.4.2";
 
     src = fetchFromGitHub {
       owner = "kodi-pvr";
       repo = "pvr.iptvsimple";
       rev = "${version}-${rel}";
-      sha256 = "17znib7c491h2ii4gagxradh0jyvgga0d548gbk4yjj2nc9qqc6d";
+      sha256 = "062i922qi0izkvn7v47yhyy2cf3fa7xc3k95b1gm9abfdwkk8ywr";
     };
 
     meta = {
@@ -426,7 +431,7 @@ let self = rec {
       license = licenses.gpl2Plus;
     };
 
-    extraBuildInputs = [ zlib rapidxml ];
+    extraBuildInputs = [ zlib pugixml ];
   };
 
   osmc-skin = mkKodiPlugin rec {
@@ -451,7 +456,7 @@ let self = rec {
     };
   };
 
-  yatp = python2Packages.toPythonModule (mkKodiPlugin rec {
+  yatp = python3Packages.toPythonModule (mkKodiPlugin rec {
     plugin = "yatp";
     namespace = "plugin.video.yatp";
     version = "3.3.2";
@@ -467,14 +472,15 @@ let self = rec {
 
     propagatedBuildInputs = [
       simpleplugin
-      python2Packages.requests
-      python2Packages.libtorrent-rasterbar
+      python3Packages.requests
+      python3Packages.libtorrent-rasterbar
     ];
 
     meta = {
       homepage = src.meta.homepage;
       description = "Yet Another Torrent Player: libtorrent-based torrent streaming for Kodi";
       license = licenses.gpl3;
+      broken = true; # requires port to python3
     };
   });
 
@@ -482,13 +488,13 @@ let self = rec {
 
     plugin = "inputstream-adaptive";
     namespace = "inputstream.adaptive";
-    version = "2.4.6";
+    version = "2.6.7";
 
     src = fetchFromGitHub {
       owner = "peak3d";
       repo = "inputstream.adaptive";
       rev = "${version}-${rel}";
-      sha256 = "09d9b35mpaf3g5m51viyan9hv7d2i8ndvb9wm0j7rs5gwsf0k71z";
+      sha256 = "1pwqmbr78wp12jn6rwv63npdfc456adwz0amlxf6gvgg43li6p7s";
     };
 
     extraBuildInputs = [ expat ];
@@ -509,14 +515,14 @@ let self = rec {
 
   vfs-sftp = mkKodiABIPlugin rec {
     namespace = "vfs.sftp";
-    version = "1.0.6";
+    version = "2.0.0";
     plugin = namespace;
 
     src = fetchFromGitHub {
       owner = "xbmc";
       repo = namespace;
       rev = "${version}-${rel}";
-      sha256 = "044kkzcpzvbyih4vys33r4hqw38xa82snmvl4qj1r80wnszc8af1";
+      sha256 = "06w74sh8yagrrp7a7rjaz3xrh1j3wdqald9c4b72c33gpk5997dk";
     };
 
     meta = with lib; {
@@ -531,14 +537,14 @@ let self = rec {
 
   vfs-libarchive = mkKodiABIPlugin rec {
     namespace = "vfs.libarchive";
-    version = "1.0.7";
+    version = "2.0.0";
     plugin = namespace;
 
     src = fetchFromGitHub {
       owner = "xbmc";
       repo = namespace;
       rev = "${version}-${rel}";
-      sha256 = "01qhv095h5j67ispm4iw18pd3kl7a0mnjkgm92al9qqiyif8lzgh";
+      sha256 = "1q62p1i6rvqk2zv6f1cpffkh95lgclys2xl4dwyhj3acmqdxd9i5";
     };
 
     meta = with lib; {
diff --git a/pkgs/applications/video/lightworks/default.nix b/pkgs/applications/video/lightworks/default.nix
index 1776aab00336d..0312c34bf7027 100644
--- a/pkgs/applications/video/lightworks/default.nix
+++ b/pkgs/applications/video/lightworks/default.nix
@@ -30,7 +30,8 @@ let
         }
       else throw "${pname}-${version} is not supported on ${stdenv.hostPlatform.system}";
 
-    buildInputs = [ dpkg makeWrapper ];
+    nativeBuildInputs = [ makeWrapper ];
+    buildInputs = [ dpkg ];
 
     phases = [ "unpackPhase" "installPhase" ];
     unpackPhase = "dpkg-deb -x ${src} ./";
diff --git a/pkgs/applications/video/manim/default.nix b/pkgs/applications/video/manim/default.nix
index 667b2bb2b885e..f2d33506ffcdd 100644
--- a/pkgs/applications/video/manim/default.nix
+++ b/pkgs/applications/video/manim/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonApplication, fetchFromGitHub, pythonOlder, file, fetchpatch
-, cairo, ffmpeg_3, sox, xdg_utils, texlive
+, cairo, ffmpeg_3, sox, xdg-utils, texlive
 , colour, numpy, pillow, progressbar, scipy, tqdm, opencv , pycairo, pydub
 , pbr, fetchPypi
 }:
@@ -28,14 +28,14 @@ buildPythonApplication rec {
     pycairo
     pydub
 
-    cairo sox ffmpeg_3 xdg_utils
+    cairo sox ffmpeg_3 xdg-utils
   ];
 
   # Test with texlive to see whether it works but don't propagate
   # because it's huge and optional
   # TODO: Use smaller TexLive distribution
   #       Doesn't need everything but it's hard to figure out what it needs
-  checkInputs = [ cairo sox ffmpeg_3 xdg_utils texlive.combined.scheme-full ];
+  checkInputs = [ cairo sox ffmpeg_3 xdg-utils texlive.combined.scheme-full ];
 
   # Simple test and complex test with LaTeX
   checkPhase = ''
diff --git a/pkgs/applications/video/mediathekview/default.nix b/pkgs/applications/video/mediathekview/default.nix
index 1e4f47852651a..2005a949a5c40 100644
--- a/pkgs/applications/video/mediathekview/default.nix
+++ b/pkgs/applications/video/mediathekview/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  version = "13.7.0";
+  version = "13.7.1";
   pname = "mediathekview";
   src = fetchurl {
     url = "https://download.mediathekview.de/stabil/MediathekView-${version}-linux.tar.gz";
-    sha256 = "sha256-9SQUsxs/Zt7YaZo6FdeEF3MOUO3IbkDGwV5i72/X4bk=";
+    sha256 = "sha256-yFPyj1Mbgj2eJv4DpvfOtPyTbL9gMAXC5TzSx8AV27o=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index 5735771b5d3b5..39d2f1e21cee5 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitLab, pkg-config, autoconf, automake, libiconv, drake
-, ruby, docbook_xsl, file, xdg_utils, gettext, expat, boost, libebml, zlib
+, ruby, docbook_xsl, file, xdg-utils, gettext, expat, boost, libebml, zlib
 , fmt, libmatroska, libogg, libvorbis, flac, libxslt, cmark, pcre2
 , withGUI ? true
   , qtbase ? null
@@ -13,13 +13,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "mkvtoolnix";
-  version = "51.0.0";
+  version = "53.0.0";
 
   src = fetchFromGitLab {
     owner  = "mbunkus";
     repo   = "mkvtoolnix";
     rev    = "release-${version}";
-    sha256 = "06k2slgac0fhgypmdriwdc5s09mry22vxk316ixfj5sv3irwn7wc";
+    sha256 = "04wjs3sgb3gn85gl8y1svx177d1213hswx37zdsj80giw1k5df79";
   };
 
   nativeBuildInputs = [
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    expat file xdg_utils boost libebml zlib fmt
+    expat file xdg-utils boost libebml zlib fmt
     libmatroska libogg libvorbis flac cmark pcre2
   ] ++ optional  stdenv.isDarwin libiconv
     ++ optionals withGUI [ qtbase qtmultimedia wrapQtAppsHook ];
diff --git a/pkgs/applications/video/obs-studio/obs-ndi.nix b/pkgs/applications/video/obs-studio/obs-ndi.nix
index d9867b1bb2d25..b35398d65b5ca 100644
--- a/pkgs/applications/video/obs-studio/obs-ndi.nix
+++ b/pkgs/applications/video/obs-studio/obs-ndi.nix
@@ -31,6 +31,8 @@ stdenv.mkDerivation rec {
     "-DCMAKE_CXX_FLAGS=-I${obs-studio.src}/UI/obs-frontend-api"
   ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "Network A/V plugin for OBS Studio";
     homepage = "https://github.com/Palakis/obs-ndi";
diff --git a/pkgs/applications/video/obs-studio/v4l2sink.nix b/pkgs/applications/video/obs-studio/v4l2sink.nix
index eb8e41868822d..2716120682ea8 100644
--- a/pkgs/applications/video/obs-studio/v4l2sink.nix
+++ b/pkgs/applications/video/obs-studio/v4l2sink.nix
@@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ];
   buildInputs = [ qtbase obs-studio ];
 
+  dontWrapQtApps = true;
+
   patches = [
     # Fixes the segfault when stopping the plugin
     (fetchpatch {
diff --git a/pkgs/applications/video/openshot-qt/libopenshot.nix b/pkgs/applications/video/openshot-qt/libopenshot.nix
index 2070d05d9806a..169bd33b70952 100644
--- a/pkgs/applications/video/openshot-qt/libopenshot.nix
+++ b/pkgs/applications/video/openshot-qt/libopenshot.nix
@@ -41,6 +41,8 @@ stdenv.mkDerivation rec {
     ++ optional stdenv.isDarwin llvmPackages.openmp
   ;
 
+  dontWrapQtApps = true;
+
   LIBOPENSHOT_AUDIO_DIR = libopenshot-audio;
   "UNITTEST++_INCLUDE_DIR" = "${unittest-cpp}/include/UnitTest++";
 
diff --git a/pkgs/applications/video/pitivi/default.nix b/pkgs/applications/video/pitivi/default.nix
index e388d5a67fe62..45c96fb180d3b 100644
--- a/pkgs/applications/video/pitivi/default.nix
+++ b/pkgs/applications/video/pitivi/default.nix
@@ -1,5 +1,4 @@
 { lib
-, fetchFromGitHub
 , fetchurl
 , pkg-config
 , gettext
diff --git a/pkgs/applications/video/quvi/tool.nix b/pkgs/applications/video/quvi/tool.nix
index 6718fc1dc36d4..87c8066a976c5 100644
--- a/pkgs/applications/video/quvi/tool.nix
+++ b/pkgs/applications/video/quvi/tool.nix
@@ -9,8 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "1h52s265rp3af16dvq1xlscp2926jqap2l4ah94vrfchv6m1hffb";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ lua5 curl quvi_scripts libquvi glib makeWrapper ];
+  nativeBuildInputs = [ pkg-config makeWrapper ];
+  buildInputs = [ lua5 curl quvi_scripts libquvi glib ];
   postInstall = ''
       wrapProgram $out/bin/quvi --set LUA_PATH "${lua5_sockets}/share/lua/${lua5.luaversion}/?.lua"
   '';
diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix
index d580d98a6c1d1..b8e07e9c3ef0b 100644
--- a/pkgs/applications/video/shotcut/default.nix
+++ b/pkgs/applications/video/shotcut/default.nix
@@ -21,17 +21,17 @@
 , common-updater-scripts
 }:
 
-assert lib.versionAtLeast mlt.version "6.22.1";
+assert lib.versionAtLeast mlt.version "6.24.0";
 
 mkDerivation rec {
   pname = "shotcut";
-  version = "20.11.28";
+  version = "21.01.29";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "shotcut";
     rev = "v${version}";
-    sha256 = "1yr71ihml9wnm7y5pv0gz41l1k6ybd16dk78zxf96kn9b838mzhq";
+    sha256 = "0Q+63IRY4UbiYS+IMnn7hlr6w3IYtWynjBfTBvtWBMo=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/video/subtitleeditor/default.nix b/pkgs/applications/video/subtitleeditor/default.nix
index 3dfd9d4b09ba3..cc3d518ff884a 100644
--- a/pkgs/applications/video/subtitleeditor/default.nix
+++ b/pkgs/applications/video/subtitleeditor/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, intltool, file,
   desktop-file-utils, enchant, gtk3, gtkmm3, gst_all_1, hicolor-icon-theme,
-  libsigcxx, libxmlxx, xdg_utils, isocodes, wrapGAppsHook
+  libsigcxx, libxmlxx, xdg-utils, isocodes, wrapGAppsHook
 }:
 
 let
@@ -41,7 +41,7 @@ stdenv.mkDerivation {
     hicolor-icon-theme
     libsigcxx
     libxmlxx
-    xdg_utils
+    xdg-utils
     isocodes
   ];
 
diff --git a/pkgs/applications/video/tartube/default.nix b/pkgs/applications/video/tartube/default.nix
index 12525da35c405..69f777541a46f 100644
--- a/pkgs/applications/video/tartube/default.nix
+++ b/pkgs/applications/video/tartube/default.nix
@@ -10,17 +10,18 @@
 , youtube-dl
 , glib
 , ffmpeg
+, aria
 }:
 
 python3Packages.buildPythonApplication rec {
   pname = "tartube";
-  version = "2.3.042";
+  version = "2.3.110";
 
   src = fetchFromGitHub {
     owner = "axcore";
     repo = "tartube";
     rev = "v${version}";
-    sha256 = "117q4s2b2js3204506qv3kjcsy3amcf0mpwj6q0ixs1256ilkxwj";
+    sha256 = "0sdbd2lsc4bvgkwi55arjwbzwmq05abfmv6vsrvz4gsdv8s8wha5";
   };
 
   nativeBuildInputs = [
@@ -38,6 +39,8 @@ python3Packages.buildPythonApplication rec {
     feedparser
     playsound
     ffmpeg
+    matplotlib
+    aria
   ];
 
   buildInputs = [
@@ -49,7 +52,7 @@ python3Packages.buildPythonApplication rec {
   ];
 
   postPatch = ''
-    sed -i "/^\s*install_requires/s/, 'pgi'\|'pgi', \|'pgi'//" setup.py
+    sed -i "/^\s*'pgi',$/d" setup.py
   '';
 
   postInstall = ''
diff --git a/pkgs/applications/video/vcs/default.nix b/pkgs/applications/video/vcs/default.nix
index 83b49c0757846..4998797fcf3a1 100644
--- a/pkgs/applications/video/vcs/default.nix
+++ b/pkgs/applications/video/vcs/default.nix
@@ -18,7 +18,6 @@ stdenv.mkDerivation {
   unpackCmd = "mkdir src; cp $curSrc src/vcs";
   patches = [ ./fonts.patch ];
   nativeBuildInputs = [ makeWrapper ];
-  doBuild = false;
 
   inherit dejavu_fonts;
   installPhase = ''
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index c925eca302a87..f79899259602a 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, autoreconfHook
 , libarchive, perl, xorg, libdvdnav, libbluray
-, zlib, a52dec, libmad, faad2, ffmpeg_3, alsaLib
+, zlib, a52dec, libmad, faad2, ffmpeg, alsaLib
 , pkg-config, dbus, fribidi, freefont_ttf, libebml, libmatroska
 , libvorbis, libtheora, speex, lua5, libgcrypt, libgpgerror, libupnp
 , libcaca, libpulseaudio, flac, schroedinger, libxml2, librsvg
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   # which are not included here for no other reason that nobody has mentioned
   # needing them
   buildInputs = [
-    zlib a52dec libmad faad2 ffmpeg_3 alsaLib libdvdnav libdvdnav.libdvdread
+    zlib a52dec libmad faad2 ffmpeg alsaLib libdvdnav libdvdnav.libdvdread
     libbluray dbus fribidi libvorbis libtheora speex lua5 libgcrypt libgpgerror
     libupnp libcaca libpulseaudio flac schroedinger libxml2 librsvg mpeg2dec
     systemd gnutls avahi libcddb SDL SDL_image libmtp unzip taglib libarchive
diff --git a/pkgs/applications/video/vokoscreen-ng/default.nix b/pkgs/applications/video/vokoscreen-ng/default.nix
index 600bc715ffb41..1e042461ebd2c 100644
--- a/pkgs/applications/video/vokoscreen-ng/default.nix
+++ b/pkgs/applications/video/vokoscreen-ng/default.nix
@@ -1,12 +1,12 @@
 { lib
 , mkDerivation
 , fetchFromGitHub
-, fetchpatch
 , pkg-config
 , qmake
 , qttools
 , gstreamer
 , libX11
+, pulseaudio
 , qtbase
 , qtmultimedia
 , qtx11extras
@@ -19,21 +19,19 @@
 mkDerivation rec {
 
   pname = "vokoscreen-ng";
-  version = "3.0.5";
+  version = "3.0.8";
 
   src = fetchFromGitHub {
     owner = "vkohaupt";
     repo = "vokoscreenNG";
     rev = version;
-    sha256 = "1spyqw8h8bkc1prdb9aixiw5h3hk3gp2p0nj934bnwq04kmfp660";
+    sha256 = "1302663hyp2xxhaavhfky24a2p9gz23i3rykmrc6c1n23h24snri";
   };
 
   patches = [
-    # Better linux integration
-    (fetchpatch {
-      url = "https://github.com/vkohaupt/vokoscreenNG/commit/0a3784095ecca582f7eb09551ceb34c309d83637.patch";
-      sha256 = "1iibimv8xfxxfk44kkbrkay37ibdndjvs9g53mxr8x8vrsp917bz";
-    })
+    # Adaptation of previously used https://github.com/City-busz/vokoscreenNG/commit/0a3784095ecca582f7eb09551ceb34c309d83637 patch
+    # used for 3.0.5 but incompatible at least since 3.0.8. The issue is addressed here https://github.com/vkohaupt/vokoscreenNG/issues/139
+    ./linux-support-installation-target.patch
   ];
 
   qmakeFlags = [ "src/vokoscreenNG.pro" ];
@@ -42,6 +40,7 @@ mkDerivation rec {
   buildInputs = [
     gstreamer
     libX11
+    pulseaudio
     qtbase
     qtmultimedia
     qtx11extras
diff --git a/pkgs/applications/video/vokoscreen-ng/linux-support-installation-target.patch b/pkgs/applications/video/vokoscreen-ng/linux-support-installation-target.patch
new file mode 100644
index 0000000000000..4f1b63c342d85
--- /dev/null
+++ b/pkgs/applications/video/vokoscreen-ng/linux-support-installation-target.patch
@@ -0,0 +1,40 @@
+Seulement dans b: patch.patch
+Seulement dans b: ..rej
+diff --color -ur a/src/vokoscreenNG.pro b/src/vokoscreenNG.pro
+--- a/src/vokoscreenNG.pro	2021-02-03 15:00:57.377401016 +0100
++++ b/src/vokoscreenNG.pro	2021-02-03 15:09:18.141905863 +0100
+@@ -160,7 +160,32 @@
+ # systrayAlternative
+ include(systrayAlternative/systrayAlternative.pri)
+ 
++unix:!macx {
++  isEmpty(PREFIX) {
++    PREFIX = /usr/local
++  }
++  isEmpty(BINDIR) {
++    BINDIR = $$PREFIX/bin
++  }
++  isEmpty(DATADIR) {
++    DATADIR = $$PREFIX/share
++  }
++
++  target.path = $$BINDIR
++
++  icon.files = applications/vokoscreenNG.png
++  icon.path = $$DATADIR/icons/hicolor/256x256/apps/
++
++  desktop.files = applications/vokoscreenNG.desktop
++  desktop.path = $$DATADIR/applications/
++
++  appdata.files = applications/vokoscreenNG.appdata.xml
++  appdata.path = $$DATADIR/metainfo/
++
++  INSTALLS += target icon desktop appdata
++}
+ # ciscoOpenh264
+ win32:include(ciscoOpenh264/ciscoOpenh264.pri)
+ 
+-unix:include(wayland/wayland.pri)
+\ Pas de fin de ligne à la fin du fichier
++unix:include(wayland/wayland.pri)
++
diff --git a/pkgs/applications/video/xplayer/default.nix b/pkgs/applications/video/xplayer/default.nix
new file mode 100644
index 0000000000000..d3f87f879c593
--- /dev/null
+++ b/pkgs/applications/video/xplayer/default.nix
@@ -0,0 +1,103 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, autoreconfHook
+, autoconf-archive
+, clutter-gst
+, clutter-gtk
+, gettext
+, glib
+, gobject-introspection
+, gst-plugins-bad
+, gst-plugins-base
+, gst-plugins-good
+, gstreamer
+, gtk-doc
+, gtk3
+, intltool
+, itstool
+, libpeas
+, libxml2
+, libxplayer-plparser
+, pkg-config
+, python3
+, wrapGAppsHook
+, xapps
+, yelp-tools }:
+
+let
+  pythonenv = python3.withPackages (ps: [
+    ps.pygobject3
+    ps.dbus-python # For one plugin
+  ]);
+in
+
+stdenv.mkDerivation rec {
+  pname = "xplayer";
+  version = "2.4.0";
+
+  src = fetchFromGitHub {
+    owner = "linuxmint";
+    repo = pname;
+    rev = version;
+    sha256 = "1xcv6nr2gc0vji5afwy283v7bgx46kzgrq79hl8q9pz995qq2kbp";
+  };
+
+  # configure wants to find gst-inspect-1.0 via pkgconfig but
+  # the gstreamer toolsdir points to the wrong derivation output
+  postPatch = ''
+    substituteInPlace configure.ac \
+                      --replace '$gst10_toolsdir/gst-inspect-1.0' '${gstreamer.dev}/bin/gst-inspect-1.0' \
+  '';
+
+  preBuild = ''
+    makeFlagsArray+=(
+      "INCLUDES=-I${glib.dev}/include/gio-unix-2.0"
+      "CFLAGS=-Wno-error" # Otherwise a lot of deprecated warnings are treated as error
+    )
+  '';
+
+  nativeBuildInputs = [
+    autoreconfHook
+    wrapGAppsHook
+    autoconf-archive
+    gettext
+    gtk-doc
+    intltool
+    itstool
+    pkg-config
+    yelp-tools
+  ];
+
+  buildInputs = [
+    clutter-gst
+    clutter-gtk
+    glib
+    gobject-introspection
+    gst-plugins-bad
+    gst-plugins-base
+    gst-plugins-good
+    gstreamer
+    gtk3
+    libpeas
+    libxml2
+    libxplayer-plparser
+    pythonenv
+    xapps
+    # to satisfy configure script
+    pythonenv.pkgs.pygobject3
+  ];
+
+  postInstall = ''
+    wrapProgram $out/bin/xplayer \
+                --prefix PATH : ${lib.makeBinPath [ pythonenv ]}
+  '';
+
+  meta = with lib; {
+    description = "A generic media player from Linux Mint";
+    license = with licenses; [ gpl2Plus lgpl21Plus ];
+    homepage = "https://github.com/linuxmint/xplayer";
+    maintainers = with maintainers; [ tu-maurice ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/video/xplayer/plparser.nix b/pkgs/applications/video/xplayer/plparser.nix
new file mode 100644
index 0000000000000..da3daa445f6a3
--- /dev/null
+++ b/pkgs/applications/video/xplayer/plparser.nix
@@ -0,0 +1,42 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, intltool
+, gobject-introspection
+, gmime
+, libxml2
+, libsoup
+, pkg-config
+}:
+
+stdenv.mkDerivation rec {
+  pname = "xplayer-plparser";
+  version = "1.0.2";
+
+  src = fetchFromGitHub {
+    owner = "linuxmint";
+    repo = pname;
+    rev = version;
+    sha256 = "1i7sld8am6b1wwbpfb18v7qp17vk2a5p8xcfds50yznr30lddsb2";
+  };
+
+  nativeBuildInputs = [
+    intltool
+    pkg-config
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    gmime
+    libxml2
+    libsoup
+  ];
+
+  meta = with lib; {
+    description = "Playlist parsing library for xplayer";
+    homepage = "https://github.com/linuxmint/xplayer-plparser";
+    maintainers = with maintainers; [ tu-maurice ];
+    license = licenses.lgpl2Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/video/xscast/default.nix b/pkgs/applications/video/xscast/default.nix
index 49f5b43bb734c..6501a3990885c 100644
--- a/pkgs/applications/video/xscast/default.nix
+++ b/pkgs/applications/video/xscast/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
     sha256 = "0br27bq9bpglfdpv63h827bipgvhlh10liyhmhcxls4227kagz72";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix
index 14d8d0c13fe66..aed59e05a980d 100644
--- a/pkgs/applications/virtualization/OVMF/default.nix
+++ b/pkgs/applications/virtualization/OVMF/default.nix
@@ -1,6 +1,7 @@
 { stdenv, lib, edk2, util-linux, nasm, iasl
 , csmSupport ? false, seabios ? null
 , secureBoot ? false
+, httpSupport ? false
 }:
 
 assert csmSupport -> seabios != null;
@@ -30,7 +31,8 @@ edk2.mkDerivation projectDscPath {
 
   buildFlags =
     lib.optional secureBoot "-DSECURE_BOOT_ENABLE=TRUE"
-    ++ lib.optionals csmSupport [ "-D CSM_ENABLE" "-D FD_SIZE_2MB" ];
+    ++ lib.optionals csmSupport [ "-D CSM_ENABLE" "-D FD_SIZE_2MB" ]
+    ++ lib.optionals httpSupport [ "-DNETWORK_HTTP_ENABLE=TRUE" "-DNETWORK_HTTP_BOOT_ENABLE=TRUE" ];
 
   postPatch = lib.optionalString csmSupport ''
     cp ${seabios}/Csm16.bin OvmfPkg/Csm/Csm16/Csm16.bin
diff --git a/pkgs/applications/virtualization/conmon/default.nix b/pkgs/applications/virtualization/conmon/default.nix
index cef69cb0c6ca7..e5df1c655d88f 100644
--- a/pkgs/applications/virtualization/conmon/default.nix
+++ b/pkgs/applications/virtualization/conmon/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "conmon";
-  version = "2.0.25";
+  version = "2.0.26";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-u22irZ9AC1W2AVJ1OD1gLzTH4NOgRkZekZ78rNKXnps=";
+    sha256 = "sha256-q2lh02iZ7FDBPjtoKY5p3c6Vcn9Ey8DCMn/Oe7/74ug=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix
index 695109fd8a403..1d84da72c94f4 100644
--- a/pkgs/applications/virtualization/containerd/default.nix
+++ b/pkgs/applications/virtualization/containerd/default.nix
@@ -40,13 +40,8 @@ buildGoPackage rec {
   installPhase = ''
     install -Dm555 bin/* -t $out/bin
     installManPage man/*.[1-9]
-  '';
-
-  # completion installed separately so it can be overridden in docker
-  # can be moved to installPhase when docker uses containerd >= 1.4
-  postInstall = ''
-    installShellFiles --bash contrib/autocomplete/ctr
-    installShellFiles --zsh --name _ctr contrib/autocomplete/zsh_autocomplete
+    installShellCompletion --bash contrib/autocomplete/ctr
+    installShellCompletion --zsh --name _ctr contrib/autocomplete/zsh_autocomplete
   '';
 
   passthru.tests = { inherit (nixosTests) docker; };
diff --git a/pkgs/applications/virtualization/cri-o/default.nix b/pkgs/applications/virtualization/cri-o/default.nix
index 9950537150723..8a7399cf66c04 100644
--- a/pkgs/applications/virtualization/cri-o/default.nix
+++ b/pkgs/applications/virtualization/cri-o/default.nix
@@ -15,13 +15,13 @@
 
 buildGoModule rec {
   pname = "cri-o";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchFromGitHub {
     owner = "cri-o";
     repo = "cri-o";
     rev = "v${version}";
-    sha256 = "sha256-3rougAl0vVH01ulbnfIO2x8OCyofWlvVsvlKjoAD2NE=";
+    sha256 = "sha256-cli/ipWxZgAeDMBUMuOU3l2mKv4POvOhi7ctbVdU6jc=";
   };
   vendorSha256 = null;
 
diff --git a/pkgs/applications/virtualization/cri-o/wrapper.nix b/pkgs/applications/virtualization/cri-o/wrapper.nix
index 5aca291a60182..a0a39beeda20d 100644
--- a/pkgs/applications/virtualization/cri-o/wrapper.nix
+++ b/pkgs/applications/virtualization/cri-o/wrapper.nix
@@ -27,6 +27,8 @@ in runCommand cri-o.name {
   name = "${cri-o.pname}-wrapper-${cri-o.version}";
   inherit (cri-o) pname version passthru;
 
+  preferLocalBuild = true;
+
   meta = builtins.removeAttrs cri-o.meta [ "outputsToInstall" ];
 
   outputs = [
diff --git a/pkgs/applications/virtualization/crun/default.nix b/pkgs/applications/virtualization/crun/default.nix
index 143d2fdcea3ea..59e07530fbc0c 100644
--- a/pkgs/applications/virtualization/crun/default.nix
+++ b/pkgs/applications/virtualization/crun/default.nix
@@ -10,6 +10,8 @@
 , systemd
 , yajl
 , nixosTests
+, criu
+, system
 }:
 
 let
@@ -47,7 +49,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook go-md2man pkg-config python3 ];
 
-  buildInputs = [ libcap libseccomp systemd yajl ];
+  buildInputs = [ libcap libseccomp systemd yajl ]
+    # Criu currently only builds on x86_64-linux
+    ++ lib.optional (lib.elem system criu.meta.platforms) criu;
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/virtualization/docker-compose/default.nix b/pkgs/applications/virtualization/docker-compose/default.nix
index 93f5f56ac55af..885a48fd7c51b 100644
--- a/pkgs/applications/virtualization/docker-compose/default.nix
+++ b/pkgs/applications/virtualization/docker-compose/default.nix
@@ -8,12 +8,12 @@
 }:
 
 buildPythonApplication rec {
-  version = "1.28.2";
+  version = "1.28.3";
   pname = "docker-compose";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2f148b590414915d029dad7551f4cdf0b03a774dc9baa674480217236d260cc1";
+    sha256 = "78a48ef8ff4fed092261ecb1a60d9b28b7776e72ed6df591a900008039308b0f";
   };
 
   # lots of networking and other fails
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index e9496247f06d4..207ebdf2211f8 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -1,12 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, buildGoPackage
-, makeWrapper, installShellFiles, pkg-config
-, go-md2man, go, containerd, runc, docker-proxy, tini, libtool
-, sqlite, iproute, lvm2, systemd, docker-buildx
-, btrfs-progs, iptables, e2fsprogs, xz, util-linux, xfsprogs, git
-, procps, libseccomp
-, nixosTests
-, buildxSupport ? false
-}:
+{ lib, callPackage }:
 
 with lib;
 
@@ -16,8 +8,16 @@ rec {
       , mobyRev, mobySha256
       , runcRev, runcSha256
       , containerdRev, containerdSha256
-      , tiniRev, tiniSha256, buildxSupport
-    } :
+      , tiniRev, tiniSha256, buildxSupport ? false
+      # package dependencies
+      , stdenv, fetchFromGitHub, fetchpatch, buildGoPackage
+      , makeWrapper, installShellFiles, pkg-config
+      , go-md2man, go, containerd, runc, docker-proxy, tini, libtool
+      , sqlite, iproute, lvm2, systemd, docker-buildx
+      , btrfs-progs, iptables, e2fsprogs, xz, util-linux, xfsprogs, git
+      , procps, libseccomp
+      , nixosTests
+    }:
   let
     docker-runc = runc.overrideAttrs (oldAttrs: {
       name = "docker-runc-${version}";
@@ -215,7 +215,7 @@ rec {
 
   # Get revisions from
   # https://github.com/moby/moby/tree/${version}/hack/dockerfile/install/*
-  docker_20_10 = makeOverridable dockerGen rec {
+  docker_20_10 = callPackage dockerGen rec {
     version = "20.10.2";
     rev = "v${version}";
     sha256 = "0z0hpm5hrqh7p8my8lmiwpym2shs48my6p0zv2cc34wym0hcly51";
@@ -227,6 +227,5 @@ rec {
     containerdSha256 = "09xvhjg5f8h90w1y94kqqnqzhbhd62dcdd9wb9sdqakisjk6zrl0";
     tiniRev = "de40ad007797e0dcd8b7126f27bb87401d224240"; # v0.19.0
     tiniSha256 = "1h20i3wwlbd8x4jr2gz68hgklh0lb0jj7y5xk1wvr8y58fip1rdn";
-    inherit buildxSupport;
   };
 }
diff --git a/pkgs/applications/virtualization/docker/gc.nix b/pkgs/applications/virtualization/docker/gc.nix
index f7bd5a4b06964..52ca54501d75d 100644
--- a/pkgs/applications/virtualization/docker/gc.nix
+++ b/pkgs/applications/virtualization/docker/gc.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "07wf9yn0f771xkm3x12946x5rp83hxjkd70xgfgy35zvj27wskzm";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/applications/virtualization/gvisor/default.nix b/pkgs/applications/virtualization/gvisor/default.nix
index fd001d598ad48..56760c293eb11 100644
--- a/pkgs/applications/virtualization/gvisor/default.nix
+++ b/pkgs/applications/virtualization/gvisor/default.nix
@@ -76,7 +76,7 @@ in buildBazelPackage rec {
       rm -f "$bazelOut"/java.log "$bazelOut"/java.log.*
     '';
 
-    sha256 = "0myffqywbvqhax995z55jymwnwyxmp13r27kpbc7wb5fk9s4skvr";
+    sha256 = "0fhmlq0d2317gwhma2mz1anb69j4chybk90j71j88wpgw1hxbk34";
   };
 
   buildAttrs = {
diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix
index 5c03951e17eb2..32160616c830d 100644
--- a/pkgs/applications/virtualization/podman/default.nix
+++ b/pkgs/applications/virtualization/podman/default.nix
@@ -16,15 +16,19 @@
 
 buildGoModule rec {
   pname = "podman";
-  version = "2.2.1";
+  version = "3.0.1";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "podman";
     rev = "v${version}";
-    sha256 = "166ch73pqx76ppfkhfg3zqxr71jf5pk5asl5bb5rwhyzf7f057q5";
+    sha256 = "sha256-+z28Z0KvaJa32+eTGFsNX8g/WVd3BohKoBnNPU/kpWM=";
   };
 
+  patches = [
+    ./remove-unconfigured-runtime-warn.patch
+  ];
+
   vendorSha256 = null;
 
   doCheck = false;
@@ -55,9 +59,13 @@ buildGoModule rec {
     mv bin/{podman-remote,podman}
   '' + ''
     install -Dm555 bin/podman $out/bin/podman
-    installShellCompletion --bash completions/bash/podman
-    installShellCompletion --zsh completions/zsh/_podman
+    installShellCompletion --bash completions/bash/*
+    installShellCompletion --fish completions/fish/*
+    installShellCompletion --zsh completions/zsh/*
     MANDIR=$man/share/man make install.man-nobuild
+  '' + lib.optionalString stdenv.isLinux ''
+    install -Dm644 contrib/tmpfile/podman.conf -t $out/lib/tmpfiles.d
+    install -Dm644 contrib/systemd/system/podman.{socket,service} -t $out/lib/systemd/system
   '';
 
   passthru.tests = { inherit (nixosTests) podman; };
@@ -65,6 +73,7 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://podman.io/";
     description = "A program for managing pods, containers and container images";
+    changelog = "https://github.com/containers/podman/blob/v${version}/changelog.txt";
     license = licenses.asl20;
     maintainers = with maintainers; [ marsam ] ++ teams.podman.members;
     platforms = platforms.unix;
diff --git a/pkgs/applications/virtualization/podman/remove-unconfigured-runtime-warn.patch b/pkgs/applications/virtualization/podman/remove-unconfigured-runtime-warn.patch
new file mode 100644
index 0000000000000..8530cd93cdf3a
--- /dev/null
+++ b/pkgs/applications/virtualization/podman/remove-unconfigured-runtime-warn.patch
@@ -0,0 +1,23 @@
+Remove warning "WARN[0000] Found default OCIruntime /nix/store/.../bin/crun path which is missing from [engine.runtimes] in containers.conf
+
+It doesn't make sense as we promote using the podman wrapper where runtime paths will vary because they are nix store paths.
+---
+ vendor/github.com/containers/common/pkg/config/config.go | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/vendor/github.com/containers/common/pkg/config/config.go b/vendor/github.com/containers/common/pkg/config/config.go
+index 4a98c7e92..4a95a2a49 100644
+--- a/vendor/github.com/containers/common/pkg/config/config.go
++++ b/vendor/github.com/containers/common/pkg/config/config.go
+@@ -605,8 +605,7 @@ func (c *EngineConfig) findRuntime() string {
+ 				return name
+ 			}
+ 		}
+-		if path, err := exec.LookPath(name); err == nil {
+-			logrus.Warningf("Found default OCIruntime %s path which is missing from [engine.runtimes] in containers.conf", path)
++		if _, err := exec.LookPath(name); err == nil {
+ 			return name
+ 		}
+ 	}
+--
+2.30.0
diff --git a/pkgs/applications/virtualization/podman/wrapper.nix b/pkgs/applications/virtualization/podman/wrapper.nix
index 863888227b37d..ae163583e6997 100644
--- a/pkgs/applications/virtualization/podman/wrapper.nix
+++ b/pkgs/applications/virtualization/podman/wrapper.nix
@@ -31,6 +31,8 @@ in runCommand podman.name {
   name = "${podman.pname}-wrapper-${podman.version}";
   inherit (podman) pname version passthru;
 
+  preferLocalBuild = true;
+
   meta = builtins.removeAttrs podman.meta [ "outputsToInstall" ];
 
   outputs = [
@@ -46,6 +48,7 @@ in runCommand podman.name {
   ln -s ${podman.man} $man
 
   mkdir -p $out/bin
+  ln -s ${podman-unwrapped}/lib $out/lib
   ln -s ${podman-unwrapped}/share $out/share
   makeWrapper ${podman-unwrapped}/bin/podman $out/bin/podman \
     --prefix PATH : ${binPath}
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index d83c6d350e2e0..dd1a2da017110 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -50,8 +50,9 @@ stdenv.mkDerivation rec {
     sha256 = "1g0pvx4qbirpcn9mni704y03n3lvkmw2c0rbcwvydyr8ns4xh66b";
   };
 
-  nativeBuildInputs = [ python python.pkgs.sphinx pkg-config flex bison meson ninja autoPatchelfHook ]
-    ++ optionals gtkSupport [ wrapGAppsHook ];
+  nativeBuildInputs = [ python python.pkgs.sphinx pkg-config flex bison meson ninja ]
+    ++ optionals gtkSupport [ wrapGAppsHook ]
+    ++ optionals stdenv.isLinux [ autoPatchelfHook ];
   buildInputs =
     [ zlib glib perl pixman
       vde2 texinfo makeWrapper lzo snappy
@@ -108,6 +109,10 @@ stdenv.mkDerivation rec {
     # this script isn't marked as executable b/c it's indirectly used by meson. Needed to patch its shebang
     chmod +x ./scripts/shaderinclude.pl
     patchShebangs .
+    # avoid conflicts with libc++ include for <version>
+    mv VERSION QEMU_VERSION
+    substituteInPlace meson.build \
+      --replace "'VERSION'" "'QEMU_VERSION'"
   '' + optionalString stdenv.hostPlatform.isMusl ''
     NIX_CFLAGS_COMPILE+=" -D_LINUX_SYSINFO_H"
   '';
@@ -117,9 +122,8 @@ stdenv.mkDerivation rec {
       "--enable-docs"
       "--enable-tools"
       "--enable-guest-agent"
+      "--sysconfdir=/etc"
     ]
-    # disable sysctl check on darwin.
-    ++ optional stdenv.isDarwin "--cpu=x86_64"
     ++ optional numaSupport "--enable-numa"
     ++ optional seccompSupport "--enable-seccomp"
     ++ optional smartcardSupport "--enable-smartcard"
@@ -143,7 +147,7 @@ stdenv.mkDerivation rec {
 
   postFixup = ''
     # the .desktop is both invalid and pointless
-    rm -f $out/share/applications/qemu.desktop
+    test -e $out/share/applications/qemu.desktop && rm -f $out/share/applications/qemu.desktop
 
     # copy qemu-ga (guest agent) to separate output
     mkdir -p $ga/bin
diff --git a/pkgs/applications/virtualization/runc/default.nix b/pkgs/applications/virtualization/runc/default.nix
index c3882ae9472ef..f9fbec9f4bac0 100644
--- a/pkgs/applications/virtualization/runc/default.nix
+++ b/pkgs/applications/virtualization/runc/default.nix
@@ -16,13 +16,13 @@
 
 buildGoPackage rec {
   pname = "runc";
-  version = "1.0.0-rc92";
+  version = "1.0.0-rc93";
 
   src = fetchFromGitHub {
     owner = "opencontainers";
     repo = "runc";
     rev = "v${version}";
-    sha256 = "0r4zbxbs03xr639r7848282j1ybhibfdhnxyap9p76j5w8ixms94";
+    sha256 = "008d5wkznic80n5q1vwx727qn5ifalc7cydq68hc1gk9wrhna4v4";
   };
 
   goPackagePath = "github.com/opencontainers/runc";
@@ -30,15 +30,13 @@ buildGoPackage rec {
 
   nativeBuildInputs = [ go-md2man installShellFiles makeWrapper pkg-config which ];
 
-  buildInputs = [ libselinux libseccomp libapparmor apparmor-parser ];
+  buildInputs = [ libselinux libseccomp libapparmor ];
 
-  makeFlags = [ "BUILDTAGS+=seccomp" "BUILDTAGS+=apparmor" "BUILDTAGS+=selinux" ];
+  makeFlags = [ "BUILDTAGS+=seccomp" ];
 
   buildPhase = ''
     cd go/src/${goPackagePath}
     patchShebangs .
-    substituteInPlace libcontainer/apparmor/apparmor.go \
-      --replace /sbin/apparmor_parser ${apparmor-parser}/bin/apparmor_parser
     make ${toString makeFlags} runc man
   '';
 
diff --git a/pkgs/applications/virtualization/singularity/default.nix b/pkgs/applications/virtualization/singularity/default.nix
index 24b71b4616533..3bc2df19d1de2 100644
--- a/pkgs/applications/virtualization/singularity/default.nix
+++ b/pkgs/applications/virtualization/singularity/default.nix
@@ -16,11 +16,11 @@ with lib;
 
 buildGoPackage rec {
   pname = "singularity";
-  version = "3.7.0";
+  version = "3.7.1";
 
   src = fetchurl {
     url = "https://github.com/hpcng/singularity/releases/download/v${version}/singularity-${version}.tar.gz";
-    sha256 = "0y6lm23g6a2ljm78w8iyak7yivxvpj3i55fjbd56m9b2ykssm5pv";
+    sha256 = "sha256-gtLGUGNWAZXsNFUZMb48MluV6OIAnpJ1X9farTRuCDw=";
   };
 
   goPackagePath = "github.com/sylabs/singularity";
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index 360e6e36c1af0..6dd7fd0f953b3 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -2,7 +2,7 @@
 , libX11, xorgproto, libXext, libXcursor, libXmu, libIDL, SDL, libcap, libGL
 , libpng, glib, lvm2, libXrandr, libXinerama, libopus, qtbase, qtx11extras
 , qttools, qtsvg, qtwayland, pkg-config, which, docbook_xsl, docbook_xml_dtd_43
-, alsaLib, curl, libvpx, nettools, dbus, substituteAll, fetchpatch
+, alsaLib, curl, libvpx, nettools, dbus, substituteAll
 # If open-watcom-bin is not passed, VirtualBox will fall back to use
 # the shipped alternative sources (assembly).
 , open-watcom-bin ? null
diff --git a/pkgs/applications/virtualization/x11docker/default.nix b/pkgs/applications/virtualization/x11docker/default.nix
index b671c1f6fa4dc..b90033e438db7 100644
--- a/pkgs/applications/virtualization/x11docker/default.nix
+++ b/pkgs/applications/virtualization/x11docker/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     description = "Run graphical applications with Docker";
     homepage = "https://github.com/mviereck/x11docker";
     license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ jD91mZM2 ];
+    maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/window-managers/bspwm/unstable.nix b/pkgs/applications/window-managers/bspwm/unstable.nix
deleted file mode 100644
index 9371844834058..0000000000000
--- a/pkgs/applications/window-managers/bspwm/unstable.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchFromGitHub, libxcb, libXinerama, xcbutil, xcbutilkeysyms, xcbutilwm }:
-
-stdenv.mkDerivation {
-  name = "bspwm-unstable-2016-09-30";
-
-
-  src = fetchFromGitHub {
-    owner   = "baskerville";
-    repo    = "bspwm";
-    rev     = "8664c007e44de162c1597fd7e163635b274fb747";
-    sha256  = "0clvpz32z38i8kr10hqlifa661szpfn93c63m2aq2h4dwmr44slz";
-  };
-
-  buildInputs = [ libxcb libXinerama xcbutil xcbutilkeysyms xcbutilwm ];
-
-  buildPhase = ''
-    make PREFIX=$out
-  '';
-
-  installPhase = ''
-    make PREFIX=$out install
-  '';
-
-  meta = {
-    description = "A tiling window manager based on binary space partitioning (git version)";
-    homepage = "https://github.com/baskerville/bspwm";
-    maintainers = [ lib.maintainers.meisternu lib.maintainers.epitrochoid ];
-    license = lib.licenses.bsd2;
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/pkgs/applications/window-managers/dwl/default.nix b/pkgs/applications/window-managers/dwl/default.nix
new file mode 100644
index 0000000000000..52c0a6ae04d1e
--- /dev/null
+++ b/pkgs/applications/window-managers/dwl/default.nix
@@ -0,0 +1,85 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, pkg-config
+, libinput
+, libxcb
+, libxkbcommon
+, wayland
+, wayland-protocols
+, wlroots
+, enable-xwayland ? true, xwayland, libX11
+, patches ? [ ]
+, conf ? null
+, writeText
+}:
+
+stdenv.mkDerivation rec {
+  pname = "dwl";
+  version = "0.2";
+
+  src = fetchFromGitHub {
+    owner = "djpohly";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "gUaFTkpIQDswEubllMgvxPfCaEYFO7mODzjPyW7XsGQ=";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [
+    libinput
+    libxcb
+    libxkbcommon
+    wayland
+    wayland-protocols
+    wlroots
+  ] ++ lib.optionals enable-xwayland [
+    libX11
+    xwayland
+  ];
+
+  # Allow users to set their own list of patches
+  inherit patches;
+
+  # Last line of config.mk enables XWayland
+  prePatch = lib.optionalString enable-xwayland ''
+    sed -i -e '$ s|^#||' config.mk
+  '';
+
+  # Allow users to set an alternative config.def.h
+  postPatch = let
+    configFile = if lib.isDerivation conf || builtins.isPath conf
+                 then conf
+                 else writeText "config.def.h" conf;
+  in lib.optionalString (conf != null) "cp ${configFile} config.def.h";
+
+  dontConfigure = true;
+
+  installPhase = ''
+    runHook preInstall
+    install -d $out/bin
+    install -m755 dwl $out/bin
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/djpohly/dwl/";
+    description = "Dynamic window manager for Wayland";
+    longDescription = ''
+      dwl is a compact, hackable compositor for Wayland based on wlroots. It is
+      intended to fill the same space in the Wayland world that dwm does in X11,
+      primarily in terms of philosophy, and secondarily in terms of
+      functionality. Like dwm, dwl is:
+
+      - Easy to understand, hack on, and extend with patches
+      - One C source file (or a very small number) configurable via config.h
+      - Limited to 2000 SLOC to promote hackability
+      - Tied to as few external dependencies as possible
+    '';
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = with platforms; linux;
+  };
+}
+# TODO: custom patches from upstream website
+# TODO: investigate the modifications in the upstream unstable version
diff --git a/pkgs/applications/window-managers/dwm/default.nix b/pkgs/applications/window-managers/dwm/default.nix
index eb349e6f3b176..2c3ed2e47e884 100644
--- a/pkgs/applications/window-managers/dwm/default.nix
+++ b/pkgs/applications/window-managers/dwm/default.nix
@@ -1,34 +1,46 @@
-{lib, stdenv, fetchurl, libX11, libXinerama, libXft, writeText, patches ? [], conf ? null}:
+{ lib, stdenv, fetchurl, libX11, libXinerama, libXft, writeText, patches ? [ ], conf ? null}:
 
-with lib;
-
-let
-  name = "dwm-6.2";
-in
-stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  pname = "dwm";
+  version = "6.2";
 
   src = fetchurl {
-    url = "https://dl.suckless.org/dwm/${name}.tar.gz";
+    url = "https://dl.suckless.org/dwm/${pname}-${version}.tar.gz";
     sha256 = "03hirnj8saxnsfqiszwl2ds7p0avg20izv9vdqyambks00p2x44p";
   };
 
   buildInputs = [ libX11 libXinerama libXft ];
 
-  prePatch = ''sed -i "s@/usr/local@$out@" config.mk'';
+  prePatch = ''
+    sed -i "s@/usr/local@$out@" config.mk
+  '';
 
   # Allow users set their own list of patches
   inherit patches;
 
   # Allow users to set the config.def.h file containing the configuration
-  postPatch = let configFile = if isDerivation conf || builtins.isPath conf then conf else writeText "config.def.h" conf;
-  in optionalString (conf!=null) "cp ${configFile} config.def.h";
-
-  meta = {
-    homepage = "https://suckless.org/";
-    description = "Dynamic window manager for X";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [viric];
-    platforms = with lib.platforms; all;
+  postPatch =
+    let
+      configFile =
+        if lib.isDerivation conf || builtins.isPath conf
+        then conf else writeText "config.def.h" conf;
+    in
+    lib.optionalString (conf != null) "cp ${configFile} config.def.h";
+
+  meta = with lib; {
+    homepage = "https://dwm.suckless.org/";
+    description = "An extremely fast, small, and dynamic window manager for X";
+    longDescription = ''
+      dwm is a dynamic window manager for X. It manages windows in tiled,
+      monocle and floating layouts. All of the layouts can be applied
+      dynamically, optimising the environment for the application in use and the
+      task performed.
+      Windows are grouped by tags. Each window can be tagged with one or
+      multiple tags. Selecting certain tags displays all windows with these
+      tags.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ viric ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/window-managers/dwm/git.nix b/pkgs/applications/window-managers/dwm/git.nix
deleted file mode 100644
index 71e91b6093b3c..0000000000000
--- a/pkgs/applications/window-managers/dwm/git.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib, stdenv, fetchgit, libX11, libXinerama, libXft, patches ? [], conf ? null }:
-
-let
-  name = "dwm-git-20180602";
-in
-
-stdenv.mkDerivation {
-  inherit name;
-
-  src = fetchgit {
-    url = "git://git.suckless.org/dwm";
-    rev = "b69c870a3076d78ab595ed1cd4b41cf6b03b2610";
-    sha256 = "10i079h79l4gdch1qy2vrrb2xxxkgkjmgphr5r9a75jbbagwvz0k";
-  };
-
-  buildInputs = [ libX11 libXinerama libXft ];
-
-  prePatch = ''sed -i "s@/usr/local@$out@" config.mk'';
-
-  # Allow users set their own list of patches
-  inherit patches;
-
-  # Allow users to override the entire config file AFTER appying the patches
-  postPatch = lib.optionalString (conf!=null) ''
-    echo -n '${conf}' > config.def.h
-  '';
-
-  buildPhase = "make";
-
-  meta = with lib; {
-    homepage = "https://suckless.org/";
-    description = "Dynamic window manager for X, development version";
-    license = licenses.mit;
-    maintainers = with maintainers; [xeji];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/applications/window-managers/herbstluftwm/default.nix b/pkgs/applications/window-managers/herbstluftwm/default.nix
index ad45f01915da4..a1151dcf82e65 100644
--- a/pkgs/applications/window-managers/herbstluftwm/default.nix
+++ b/pkgs/applications/window-managers/herbstluftwm/default.nix
@@ -1,44 +1,42 @@
-{ lib, stdenv, fetchurl, cmake, pkg-config, python3, libX11, libXext, libXinerama, libXrandr, asciidoc
+{ lib, stdenv, fetchurl, cmake, pkg-config, python3, libX11, libXext, libXinerama, libXrandr, libXft, freetype, asciidoc-full
 , xdotool, xorgserver, xsetroot, xterm, runtimeShell
 , nixosTests }:
 
-# Doc generation is disabled by default when cross compiling because asciidoc
-# dependency is broken when cross compiling for now
-
-let
-  cross = stdenv.buildPlatform != stdenv.targetPlatform;
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "herbstluftwm";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchurl {
     url = "https://herbstluftwm.org/tarballs/herbstluftwm-${version}.tar.gz";
-    sha256 = "0r4qaklv97qcq8p0pnz4f2zqg69vfai6c2qi1ydi2kz24xqjf5hy";
+    sha256 = "0avfhr68f6fjnafjdcyxcx7dkg38f2nadmhpj971qyqzfq2f6i38";
   };
 
   outputs = [
     "out"
-    "doc" # share/doc exists with examples even without generated html documentation
-  ] ++ lib.optionals (!cross) [
+    "doc"
     "man"
   ];
 
   cmakeFlags = [
     "-DCMAKE_INSTALL_SYSCONF_PREFIX=${placeholder "out"}/etc"
-  ] ++ lib.optional cross "-DWITH_DOCUMENTATION=OFF";
+  ];
 
   nativeBuildInputs = [
     cmake
     pkg-config
-    python3
-  ] ++ lib.optional (!cross) asciidoc;
+  ];
+
+  depsBuildBuild = [
+    asciidoc-full
+  ];
 
   buildInputs = [
     libX11
     libXext
     libXinerama
     libXrandr
+    libXft
+    freetype
   ];
 
   patches = [
@@ -75,6 +73,9 @@ in stdenv.mkDerivation rec {
   '';
 
   pytestFlagsArray = [ "../tests" ];
+  disabledTests = [
+    "test_title_different_letters_are_drawn"
+  ];
 
   passthru = {
     tests.herbstluftwm = nixosTests.herbstluftwm;
diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix
index d05b187ca78af..c918a3b5d8c62 100644
--- a/pkgs/applications/window-managers/i3/default.nix
+++ b/pkgs/applications/window-managers/i3/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "i3";
-  version = "4.19";
+  version = "4.19.1";
 
   src = fetchurl {
     url = "https://i3wm.org/downloads/${pname}-${version}.tar.xz";
-    sha256 = "0wjq6lkidg0g474xsln1fhbxci7zclq3748sda10f1n7q01qp95c";
+    sha256 = "sha256-IoTIEvxongM42P6b4LjRVS5Uj8Fo0WX3lbJr9JfCK0c=";
   };
 
   nativeBuildInputs = [ pkg-config makeWrapper meson ninja installShellFiles ];
diff --git a/pkgs/applications/window-managers/i3/gaps.nix b/pkgs/applications/window-managers/i3/gaps.nix
index 1a11d40e3df77..d158aea83f3fc 100644
--- a/pkgs/applications/window-managers/i3/gaps.nix
+++ b/pkgs/applications/window-managers/i3/gaps.nix
@@ -3,11 +3,11 @@
 i3.overrideAttrs (oldAttrs : rec {
 
   name = "i3-gaps-${version}";
-  version = "4.19";
+  version = "4.19.1";
 
   src = fetchurl {
     url = "https://github.com/Airblader/i3/releases/download/${version}/i3-${version}.tar.xz";
-    sha256 = "0j19kj05fpjfnj50vyykk6jsr07hq9l26y8na55bb7yfrra8yp4h";
+    sha256 = "sha256-+yZ4Pc7zPZfwgBKbjQsrlXxIaxJBmIdE47lljx8FZG0=";
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/window-managers/i3/status-rust.nix b/pkgs/applications/window-managers/i3/status-rust.nix
index be7e88a250199..88d035bce6619 100644
--- a/pkgs/applications/window-managers/i3/status-rust.nix
+++ b/pkgs/applications/window-managers/i3/status-rust.nix
@@ -6,25 +6,26 @@
 , dbus
 , libpulseaudio
 , notmuch
+, openssl
 , ethtool
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "i3status-rust";
-  version = "0.14.3";
+  version = "0.14.7";
 
   src = fetchFromGitHub {
     owner = "greshake";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1k9dgmd4wz9950kr35da31rhph43gmvg8dif7hg1xw41xch6bi60";
+    sha256 = "1ndqh4bzwim32n8psgsgdd47xmlb45rhvcwla1wm506byb21nk4c";
   };
 
-  cargoSha256 = "0qqkcgl9iz4kxl1a2vv2p7vy7wxn970y28jynf3n7hfp16i3liy2";
+  cargoSha256 = "098dzwqwbhcyswm73m880z0w03i7xrq56x79vfyvacw4k27q2zm9";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
-  buildInputs = [ dbus libpulseaudio notmuch ];
+  buildInputs = [ dbus libpulseaudio notmuch openssl ];
 
   cargoBuildFlags = [
     "--features=notmuch"
diff --git a/pkgs/applications/window-managers/icewm/default.nix b/pkgs/applications/window-managers/icewm/default.nix
index 425f562dfd52f..571c13e946194 100644
--- a/pkgs/applications/window-managers/icewm/default.nix
+++ b/pkgs/applications/window-managers/icewm/default.nix
@@ -38,13 +38,13 @@
 
 stdenv.mkDerivation rec {
   pname = "icewm";
-  version = "2.0.0";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
     owner  = "bbidulock";
     repo = pname;
     rev = version;
-    sha256 = "sha256-WdRAWAQEf9c66MVrLAs5VgBDK5r4JKM2GrjAV4cuGfA=";
+    sha256 = "sha256-n9mLD1WrHsO9W1rxopFQENxQEHp/sxuixV3PxLp2vOY=";
   };
 
   nativeBuildInputs = [ cmake pkg-config perl asciidoc ];
diff --git a/pkgs/applications/window-managers/labwc/default.nix b/pkgs/applications/window-managers/labwc/default.nix
new file mode 100644
index 0000000000000..9d39bd537fdee
--- /dev/null
+++ b/pkgs/applications/window-managers/labwc/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, meson
+, ninja
+, cairo
+, glib
+, libinput
+, libxml2
+, pandoc
+, pango
+, wayland
+, wayland-protocols
+, wlroots
+, libxcb
+, libxkbcommon
+, xwayland
+}:
+
+stdenv.mkDerivation rec {
+  pname = "labwc";
+  version = "unstable-2021-02-06";
+
+  src = fetchFromGitHub {
+    owner = "johanmalm";
+    repo = pname;
+    rev = "4a8fcf5c6d0b730b1e2e17e544ce7d7d3c72cd13";
+    sha256 = "g1ba8dchUN393eis0VAu1bIjQfthDGLaSijSavz4lfU=";
+  };
+
+  nativeBuildInputs = [ pkg-config meson ninja pandoc ];
+  buildInputs = [
+    cairo
+    glib
+    libinput
+    libxml2
+    pango
+    wayland
+    wayland-protocols
+    wlroots
+    libxcb
+    libxkbcommon
+    xwayland
+  ];
+
+  mesonFlags = [ "-Dxwayland=enabled" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/johanmalm/labwc";
+    description = "Openbox alternative for Wayland";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/window-managers/leftwm/default.nix b/pkgs/applications/window-managers/leftwm/default.nix
index cdef71c965e93..04c232a3e89eb 100644
--- a/pkgs/applications/window-managers/leftwm/default.nix
+++ b/pkgs/applications/window-managers/leftwm/default.nix
@@ -6,18 +6,19 @@ in
 
 rustPlatform.buildRustPackage rec {
   pname = "leftwm";
-  version = "0.2.5";
+  version = "0.2.6";
 
   src = fetchFromGitHub {
     owner = "leftwm";
     repo = "leftwm";
     rev = version;
-    sha256 = "03kk3vg0r88317zv8j2bj44wq2fwxi25rv1aasvayrh1i5j6zr10";
+    sha256 = "sha256-hirT0gScC2LFPvygywgPiSVDUE/Zd++62wc26HlufYU=";
   };
 
-  cargoSha256 = "0m4sv4chxzk60njixlyja44rpn04apf3bm04fgd3v7abpr169f2s";
+  cargoSha256 = "sha256-j57LHPU3U3ipUGQDrZ8KCuELOVJ3BxhLXsJePOO6rTM=";
 
-  buildInputs = [ makeWrapper libX11 libXinerama ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ libX11 libXinerama ];
 
   postInstall = ''
     wrapProgram $out/bin/leftwm --prefix LD_LIBRARY_PATH : "${rpath}"
diff --git a/pkgs/applications/window-managers/waybox/default.nix b/pkgs/applications/window-managers/waybox/default.nix
new file mode 100644
index 0000000000000..666b2406d5f43
--- /dev/null
+++ b/pkgs/applications/window-managers/waybox/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, meson
+, ninja
+, libxkbcommon
+, wayland
+, wayland-protocols
+, wlroots
+, pixman
+, udev
+, libGL
+}:
+
+stdenv.mkDerivation rec {
+  pname = "waybox";
+  version = "unstable-2020-05-01";
+
+  src = fetchFromGitHub {
+    owner = "wizbright";
+    repo = pname;
+    rev = "93811898f0eea3035145f593938d49d5af759b46";
+    sha256 = "IOdKOqAQD87Rs3td8NVEgMnRF6kQSuQ64UVqeVqMBSM=";
+  };
+
+  nativeBuildInputs = [ pkg-config meson ninja ];
+  buildInputs = [
+    libxkbcommon
+    wayland
+    wayland-protocols
+    wlroots
+    pixman
+    udev
+    libGL
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/wizbright/waybox";
+    description = "An openbox clone on Wayland";
+    license = licenses.mit;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/wayfire/default.nix b/pkgs/applications/window-managers/wayfire/default.nix
index 513784b8b52b0..cb9f2fe85a7e5 100644
--- a/pkgs/applications/window-managers/wayfire/default.nix
+++ b/pkgs/applications/window-managers/wayfire/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wayfire";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchurl {
-    url = "https://github.com/WayfireWM/wayfire/releases/download/${version}/wayfire-${version}.tar.xz";
-    sha256 = "0wc5szslgf8d4r4dlbfgc5v49j2ziaa8fycmknq4p0vl67mh7acq";
+    url = "https://github.com/WayfireWM/wayfire/releases/download/v${version}/wayfire-${version}.tar.xz";
+    sha256 = "19k9nk5whql03ik66i06r4xgxk5v7mpdphjpv13hdw8ba48w73hd";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config wayland ];
diff --git a/pkgs/applications/window-managers/wayfire/wcm.nix b/pkgs/applications/window-managers/wayfire/wcm.nix
index 7c4b546c68efc..d6ac6aeb84e79 100644
--- a/pkgs/applications/window-managers/wayfire/wcm.nix
+++ b/pkgs/applications/window-managers/wayfire/wcm.nix
@@ -1,16 +1,14 @@
-{ stdenv, lib, fetchFromGitHub, meson, ninja, pkg-config, wayland, wrapGAppsHook
+{ stdenv, lib, fetchurl, meson, ninja, pkg-config, wayland, wrapGAppsHook
 , gnome3, libevdev, libxml2, wayfire, wayland-protocols, wf-config, wf-shell
 }:
 
 stdenv.mkDerivation rec {
   pname = "wcm";
-  version = "0.6.0";
+  version = "0.7.0";
 
-  src = fetchFromGitHub {
-    owner = "WayfireWM";
-    repo = "wcm";
-    rev = "v${version}";
-    sha256 = "1b22gymqfn0c49nf39676q5bj25rxab874iayiq31cmn14r30dyg";
+  src = fetchurl {
+    url = "https://github.com/WayfireWM/wcm/releases/download/v${version}/wcm-${version}.tar.xz";
+    sha256 = "19za1fnlf5hz4n4mxxwqcr5yxp6mga9ah539ifnjnqrgvj19cjlj";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config wayland wrapGAppsHook ];
diff --git a/pkgs/applications/window-managers/wayfire/wf-config.nix b/pkgs/applications/window-managers/wayfire/wf-config.nix
index 00a4404c1d4e5..b8e4c6aa7701a 100644
--- a/pkgs/applications/window-managers/wayfire/wf-config.nix
+++ b/pkgs/applications/window-managers/wayfire/wf-config.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wf-config";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchurl {
-    url = "https://github.com/WayfireWM/wf-config/releases/download/${version}/wf-config-${version}.tar.xz";
-    sha256 = "1a5aqybhbp9dp4jygrm3gbkdap5qbd52y6ihfr4rm1cj37sckcn0";
+    url = "https://github.com/WayfireWM/wf-config/releases/download/v${version}/wf-config-${version}.tar.xz";
+    sha256 = "1bas5gsbnf8jxkkxd95992chz8yk5ckgg7r09gfnmm7xi8w0pyy7";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config ];
diff --git a/pkgs/applications/window-managers/wayfire/wf-shell.nix b/pkgs/applications/window-managers/wayfire/wf-shell.nix
index 6e5f189275b63..3948e9a32abc1 100644
--- a/pkgs/applications/window-managers/wayfire/wf-shell.nix
+++ b/pkgs/applications/window-managers/wayfire/wf-shell.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wf-shell";
-  version = "0.6.1";
+  version = "0.7.0";
 
   # > Note to packagers: do not use the autogenerated "Source code"
   # > archives from GitHub, but the wf-shell-0.4.0.tar.xz file.
   src = fetchurl {
     url = "https://github.com/WayfireWM/wf-shell/releases/download/v${version}/wf-shell-${version}.tar.xz";
-    sha256 = "0jl8gj185k2ff754lcj5b5nldhkvrhmlaj8lsik4kx78vlb5m3ns";
+    sha256 = "1isybm9lcpxwyf6zh2vzkwrcnw3q7qxm21535g4f08f0l68cd5bl";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config wayland ];
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix
index e427a85d0386c..c201c55dcea54 100644
--- a/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
       --replace "/usr/bin/install" "install"
   '';
 
-  makeFlags = [ "CC=cc" ];
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
   preInstall = ''
     runHook preInstall
diff --git a/pkgs/build-support/agda/default.nix b/pkgs/build-support/agda/default.nix
index 3c973e8cc0acb..d610a8f9a6117 100644
--- a/pkgs/build-support/agda/default.nix
+++ b/pkgs/build-support/agda/default.nix
@@ -7,7 +7,7 @@ with lib.strings;
 let
   withPackages' = {
     pkgs,
-    ghc ? ghcWithPackages (p: with p; [ ieee ])
+    ghc ? ghcWithPackages (p: with p; [ ieee754 ])
   }: let
     pkgs' = if builtins.isList pkgs then pkgs else pkgs self;
     library-file = writeText "libraries" ''
@@ -70,7 +70,7 @@ let
         installPhase = if installPhase != null then installPhase else ''
           runHook preInstall
           mkdir -p $out
-          find \( ${concatMapStringsSep " -or " (p: "-name '*.${p}'") (extensions ++ extraExtensions)} \) -exec cp -p --parents -t "$out" {} +
+          find -not \( -path ${everythingFile} -or -path ${lib.interfaceFile everythingFile} \) -and \( ${concatMapStringsSep " -or " (p: "-name '*.${p}'") (extensions ++ extraExtensions)} \) -exec cp -p --parents -t "$out" {} +
           runHook postInstall
         '';
       };
diff --git a/pkgs/build-support/agda/lib.nix b/pkgs/build-support/agda/lib.nix
new file mode 100644
index 0000000000000..976151a8283c6
--- /dev/null
+++ b/pkgs/build-support/agda/lib.nix
@@ -0,0 +1,10 @@
+{ lib }:
+{
+  /* Returns the Agda interface file to a given Agda file.
+  *
+  * Examples:
+  * interfaceFile "Everything.agda" == "Everything.agdai"
+  * interfaceFile "src/Everything.lagda.tex" == "src/Everything.agdai"
+  */
+  interfaceFile = agdaFile: lib.head (builtins.match ''(.*\.)l?agda(\.(md|org|rst|tex))?'' agdaFile) + "agdai";
+}
diff --git a/pkgs/build-support/appimage/default.nix b/pkgs/build-support/appimage/default.nix
index 1613e9dea24bc..2a13d107bd0f5 100644
--- a/pkgs/build-support/appimage/default.nix
+++ b/pkgs/build-support/appimage/default.nix
@@ -66,7 +66,7 @@ rec {
       xorg.xrandr
       which
       perl
-      xdg_utils
+      xdg-utils
       iana-etc
       krb5
     ];
@@ -121,7 +121,6 @@ rec {
       libusb1
       udev
       dbus-glib
-      libav
       atk
       at-spi2-atk
       libudev0-shim
diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix
index 48a3ebb32dfe3..8fef2ca6624c1 100644
--- a/pkgs/build-support/bintools-wrapper/default.nix
+++ b/pkgs/build-support/bintools-wrapper/default.nix
@@ -64,6 +64,7 @@ let
     else if targetPlatform.system == "powerpc-linux"  then "${libc_lib}/lib/ld.so.1"
     else if targetPlatform.isMips                     then "${libc_lib}/lib/ld.so.1"
     else if targetPlatform.isDarwin                   then "/usr/lib/dyld"
+    else if targetPlatform.isFreeBSD                  then "/libexec/ld-elf.so.1"
     else if lib.hasSuffix "pc-gnu" targetPlatform.config then "ld.so.1"
     else null;
 
diff --git a/pkgs/build-support/build-fhs-userenv-bubblewrap/default.nix b/pkgs/build-support/build-fhs-userenv-bubblewrap/default.nix
index 9a9e5a9ce10a4..3985eca424332 100644
--- a/pkgs/build-support/build-fhs-userenv-bubblewrap/default.nix
+++ b/pkgs/build-support/build-fhs-userenv-bubblewrap/default.nix
@@ -1,4 +1,6 @@
-{ lib, callPackage, runCommandLocal, writeShellScriptBin, coreutils, bubblewrap }:
+{ lib, callPackage, runCommandLocal, writeShellScriptBin, glibc, pkgsi686Linux, coreutils, bubblewrap }:
+
+let buildFHSEnv = callPackage ./env.nix { }; in
 
 args @ {
   name
@@ -24,8 +26,6 @@ let
     "unshareUser" "unshareCgroup" "unshareUts" "unshareNet" "unsharePid" "unshareIpc"
   ]);
 
-  chrootenv = callPackage ./chrootenv {};
-
   etcBindFlags = let
     files = [
       # NixOS Compatibility
@@ -37,6 +37,8 @@ let
       "hosts"
       "resolv.conf"
       "nsswitch.conf"
+      # User profiles
+      "profiles"
       # Sudo & Su
       "login.defs"
       "sudoers"
@@ -60,26 +62,55 @@ let
   in concatStringsSep "\n  "
   (map (file: "--ro-bind-try /etc/${file} /etc/${file}") files);
 
+  # Create this on the fly instead of linking from /nix
+  # The container might have to modify it and re-run ldconfig if there are
+  # issues running some binary with LD_LIBRARY_PATH
+  createLdConfCache = ''
+    cat > /etc/ld.so.conf <<EOF
+    /lib
+    /lib/x86_64-linux-gnu
+    /lib64
+    /usr/lib
+    /usr/lib/x86_64-linux-gnu
+    /usr/lib64
+    /lib/i386-linux-gnu
+    /lib32
+    /usr/lib/i386-linux-gnu
+    /usr/lib32
+    EOF
+    ldconfig &> /dev/null
+  '';
   init = run: writeShellScriptBin "${name}-init" ''
     source /etc/profile
+    ${createLdConfCache}
     exec ${run} "$@"
   '';
 
   bwrapCmd = { initArgs ? "" }: ''
     blacklist=(/nix /dev /proc /etc)
     ro_mounts=()
+    symlinks=()
     for i in ${env}/*; do
       path="/''${i##*/}"
       if [[ $path == '/etc' ]]; then
-        continue
+        :
+      elif [[ -L $i ]]; then
+        symlinks+=(--symlink "$(readlink "$i")" "$path")
+        blacklist+=("$path")
+      else
+        ro_mounts+=(--ro-bind "$i" "$path")
+        blacklist+=("$path")
       fi
-      ro_mounts+=(--ro-bind "$i" "$path")
-      blacklist+=("$path")
     done
 
     if [[ -d ${env}/etc ]]; then
       for i in ${env}/etc/*; do
         path="/''${i##*/}"
+        # NOTE: we're binding /etc/fonts and /etc/ssl/certs from the host so we
+        # don't want to override it with a path from the FHS environment.
+        if [[ $path == '/fonts' || $path == '/ssl' ]]; then
+          continue
+        fi
         ro_mounts+=(--ro-bind "$i" "/etc$path")
       done
     fi
@@ -107,8 +138,26 @@ let
       ${lib.optionalString unshareCgroup "--unshare-cgroup"}
       --die-with-parent
       --ro-bind /nix /nix
+      # Our glibc will look for the cache in its own path in `/nix/store`.
+      # As such, we need a cache to exist there, because pressure-vessel
+      # depends on the existence of an ld cache. However, adding one
+      # globally proved to be a bad idea (see #100655), the solution we
+      # settled on being mounting one via bwrap.
+      # Also, the cache needs to go to both 32 and 64 bit glibcs, for games
+      # of both architectures to work.
+      --tmpfs ${glibc}/etc \
+      --symlink /etc/ld.so.conf ${glibc}/etc/ld.so.conf \
+      --symlink /etc/ld.so.cache ${glibc}/etc/ld.so.cache \
+      --ro-bind ${glibc}/etc/rpc ${glibc}/etc/rpc \
+      --remount-ro ${glibc}/etc \
+      --tmpfs ${pkgsi686Linux.glibc}/etc \
+      --symlink /etc/ld.so.conf ${pkgsi686Linux.glibc}/etc/ld.so.conf \
+      --symlink /etc/ld.so.cache ${pkgsi686Linux.glibc}/etc/ld.so.cache \
+      --ro-bind ${pkgsi686Linux.glibc}/etc/rpc ${pkgsi686Linux.glibc}/etc/rpc \
+      --remount-ro ${pkgsi686Linux.glibc}/etc \
       ${etcBindFlags}
       "''${ro_mounts[@]}"
+      "''${symlinks[@]}"
       "''${auto_mounts[@]}"
       ${init runScript}/bin/${name}-init ${initArgs}
     )
diff --git a/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix b/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix
index 8b2d46c4ae98e..b9c719a4c78b6 100644
--- a/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix
+++ b/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildEnv, writeText, pkgs, pkgsi686Linux }:
+{ stdenv, lib, buildEnv, writeText, writeShellScriptBin, pkgs, pkgsi686Linux }:
 
 { name, profile ? ""
 , targetPkgs ? pkgs: [], multiPkgs ? pkgs: []
@@ -49,6 +49,9 @@ let
     [ (toString gcc.cc.lib)
     ];
 
+  ldconfig = writeShellScriptBin "ldconfig" ''
+    exec ${pkgs.glibc.bin}/bin/ldconfig -f /etc/ld.so.conf -C /etc/ld.so.cache "$@"
+  '';
   etcProfile = writeText "profile" ''
     export PS1='${name}-chrootenv:\u@\h:\w\$ '
     export LOCALE_ARCHIVE='/usr/lib/locale/locale-archive'
@@ -86,7 +89,8 @@ let
   # Composes a /usr-like directory structure
   staticUsrProfileTarget = buildEnv {
     name = "${name}-usr-target";
-    paths = [ etcPkg ] ++ basePkgs ++ targetPaths;
+    # ldconfig wrapper must come first so it overrides the original ldconfig
+    paths = [ etcPkg ldconfig ] ++ basePkgs ++ targetPaths;
     extraOutputsToInstall = [ "out" "lib" "bin" ] ++ extraOutputsToInstall;
     ignoreCollisions = true;
   };
@@ -132,7 +136,20 @@ let
     mkdir -m0755 usr
     cd usr
     ${setupLibDirs}
-    for i in bin sbin share include; do
+    ${lib.optionalString isMultiBuild ''
+    if [ -d "${staticUsrProfileMulti}/share" ]; then
+      cp -rLf ${staticUsrProfileMulti}/share share
+    fi
+    ''}
+    if [ -d "${staticUsrProfileTarget}/share" ]; then
+      if [ -d share ]; then
+        chmod -R 755 share
+        cp -rLTf ${staticUsrProfileTarget}/share share
+      else
+        cp -rLf ${staticUsrProfileTarget}/share share
+      fi
+    fi
+    for i in bin sbin include; do
       if [ -d "${staticUsrProfileTarget}/$i" ]; then
         cp -rsHf "${staticUsrProfileTarget}/$i" "$i"
       fi
diff --git a/pkgs/build-support/build-fhs-userenv/env.nix b/pkgs/build-support/build-fhs-userenv/env.nix
index 083e7617b5029..89b567a249f66 100644
--- a/pkgs/build-support/build-fhs-userenv/env.nix
+++ b/pkgs/build-support/build-fhs-userenv/env.nix
@@ -89,6 +89,9 @@ let
       ln -s /host/etc/resolv.conf resolv.conf
       ln -s /host/etc/nsswitch.conf nsswitch.conf
 
+      # symlink user profiles
+      ln -s /host/etc/profiles profiles
+
       # symlink sudo and su stuff
       ln -s /host/etc/login.defs login.defs
       ln -s /host/etc/sudoers sudoers
diff --git a/pkgs/build-support/build-pecl.nix b/pkgs/build-support/build-pecl.nix
index d75d3cf943a0a..bc905ee84a06a 100644
--- a/pkgs/build-support/build-pecl.nix
+++ b/pkgs/build-support/build-pecl.nix
@@ -16,10 +16,10 @@
 }@args:
 
 stdenv.mkDerivation (args // {
-  name = "php-${pname}-${version}";
+  pname = "php-${php.version}-${pname}";
   extensionName = pname;
 
-  inherit src;
+  inherit version src;
 
   nativeBuildInputs = [ autoreconfHook re2c ] ++ nativeBuildInputs;
   buildInputs = [ php ] ++ peclDeps ++ buildInputs;
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index 341e2850437c1..c8af8789fccf3 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -451,6 +451,8 @@ stdenv.mkDerivation {
       hardening_unsupported_flags+=" stackprotector pic"
     '' + optionalString (targetPlatform.libc == "newlib") ''
       hardening_unsupported_flags+=" stackprotector fortify pie pic"
+    '' + optionalString (targetPlatform.libc == "musl" && targetPlatform.isx86_32) ''
+      hardening_unsupported_flags+=" stackprotector"
     '' + optionalString targetPlatform.isNetBSD ''
       hardening_unsupported_flags+=" stackprotector fortify"
     '' + optionalString cc.langAda or false ''
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index 0c9d4f110ada9..c4e266d6c5d13 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -770,6 +770,7 @@ rec {
           mkdir $out
 
           tar \
+            --sort name \
             --owner 0 --group 0 --mtime "@$SOURCE_DATE_EPOCH" \
             --hard-dereference \
             -C old_out \
diff --git a/pkgs/build-support/emacs/elpa.nix b/pkgs/build-support/emacs/elpa.nix
index 214aed9c3f9c2..41a0670d0c847 100644
--- a/pkgs/build-support/emacs/elpa.nix
+++ b/pkgs/build-support/emacs/elpa.nix
@@ -1,6 +1,6 @@
 # builder for Emacs packages built for packages.el
 
-{ lib, stdenv, emacs, texinfo }:
+{ lib, stdenv, emacs, texinfo, writeText }:
 
 with lib;
 
@@ -19,7 +19,7 @@ let
 
 in
 
-import ./generic.nix { inherit lib stdenv emacs texinfo; } ({
+import ./generic.nix { inherit lib stdenv emacs texinfo writeText; } ({
 
   phases = "installPhase fixupPhase distPhase";
 
diff --git a/pkgs/build-support/emacs/setup-hook.sh b/pkgs/build-support/emacs/emacs-funcs.sh
index f6f2331b8e023..e1e6a3b622087 100644
--- a/pkgs/build-support/emacs/setup-hook.sh
+++ b/pkgs/build-support/emacs/emacs-funcs.sh
@@ -32,13 +32,3 @@ addEmacsVars () {
     fi
   done
 }
-
-if [[ ! -v emacsHookDone ]]; then
-  emacsHookDone=1
-
-  # If this is for a wrapper derivation, emacs and the dependencies are all
-  # run-time dependencies. If this is for precompiling packages into bytecode,
-  # emacs is a compile-time dependency of the package.
-  addEnvHooks "$hostOffset" addEmacsVars
-  addEnvHooks "$targetOffset" addEmacsVars
-fi
diff --git a/pkgs/build-support/emacs/generic.nix b/pkgs/build-support/emacs/generic.nix
index d84fa24923df7..1456d9e423d8f 100644
--- a/pkgs/build-support/emacs/generic.nix
+++ b/pkgs/build-support/emacs/generic.nix
@@ -1,6 +1,6 @@
 # generic builder for Emacs packages
 
-{ lib, stdenv, emacs, texinfo, ... }:
+{ lib, stdenv, emacs, texinfo, writeText, ... }:
 
 with lib;
 
@@ -49,7 +49,19 @@ stdenv.mkDerivation ({
   propagatedBuildInputs = packageRequires;
   propagatedUserEnvPkgs = packageRequires;
 
-  setupHook = ./setup-hook.sh;
+  setupHook = writeText "setup-hook.sh" ''
+    source ${./emacs-funcs.sh}
+
+    if [[ ! -v emacsHookDone ]]; then
+      emacsHookDone=1
+
+      # If this is for a wrapper derivation, emacs and the dependencies are all
+      # run-time dependencies. If this is for precompiling packages into bytecode,
+      # emacs is a compile-time dependency of the package.
+      addEnvHooks "$hostOffset" addEmacsVars
+      addEnvHooks "$targetOffset" addEmacsVars
+    fi
+  '';
 
   doCheck = false;
 
@@ -63,9 +75,16 @@ stdenv.mkDerivation ({
   addEmacsNativeLoadPath = true;
 
   postInstall = ''
+    # Besides adding the output directory to the native load path, make sure
+    # the current package's elisp files are in the load path, otherwise
+    # (require 'file-b) from file-a.el in the same package will fail.
+    mkdir -p $out/share/emacs/native-lisp
+    source ${./emacs-funcs.sh}
+    addEmacsVars "$out"
+
     find $out/share/emacs -type f -name '*.el' -print0 \
       | xargs -0 -n 1 -I {} -P $NIX_BUILD_CORES sh -c \
-          "emacs --batch --eval=\"(add-to-list 'comp-eln-load-path \\\"$out/share/emacs/native-lisp/\\\")\" -f batch-native-compile {} || true"
+          "emacs --batch -f batch-native-compile {} || true"
   '';
 }
 
diff --git a/pkgs/build-support/emacs/melpa.nix b/pkgs/build-support/emacs/melpa.nix
index d6fe3085837ee..824611b20c8a8 100644
--- a/pkgs/build-support/emacs/melpa.nix
+++ b/pkgs/build-support/emacs/melpa.nix
@@ -1,7 +1,7 @@
 # builder for Emacs packages built for packages.el
 # using MELPA package-build.el
 
-{ lib, stdenv, fetchFromGitHub, emacs, texinfo }:
+{ lib, stdenv, fetchFromGitHub, emacs, texinfo, writeText }:
 
 with lib;
 
@@ -28,7 +28,7 @@ let
 
 in
 
-import ./generic.nix { inherit lib stdenv emacs texinfo; } ({
+import ./generic.nix { inherit lib stdenv emacs texinfo writeText; } ({
 
   ename =
     if ename == null
diff --git a/pkgs/build-support/emacs/wrapper.nix b/pkgs/build-support/emacs/wrapper.nix
index f34835eaf096b..fcbf5bcabe6d0 100644
--- a/pkgs/build-support/emacs/wrapper.nix
+++ b/pkgs/build-support/emacs/wrapper.nix
@@ -147,9 +147,15 @@ runCommand
         # Begin the new site-start.el by loading the original, which sets some
         # NixOS-specific paths. Paths are searched in the reverse of the order
         # they are specified in, so user and system profile paths are searched last.
+        #
+        # NOTE: Avoid displaying messages early at startup by binding
+        # inhibit-message to t. This would prevent the Emacs GUI from showing up
+        # prematurely. The messages would still be logged to the *Messages*
+        # buffer.
         rm -f $siteStart $siteStartByteCompiled $subdirs $subdirsByteCompiled
         cat >"$siteStart" <<EOF
-        (load-file "$emacs/share/emacs/site-lisp/site-start.el")
+        (let ((inhibit-message t))
+          (load-file "$emacs/share/emacs/site-lisp/site-start.el"))
         (add-to-list 'load-path "$out/share/emacs/site-lisp")
         (add-to-list 'exec-path "$out/bin")
         ${optionalString nativeComp ''
diff --git a/pkgs/build-support/fetchcvs/builder.sh b/pkgs/build-support/fetchcvs/builder.sh
index 0975c34788208..fe1019aafc2f5 100644
--- a/pkgs/build-support/fetchcvs/builder.sh
+++ b/pkgs/build-support/fetchcvs/builder.sh
@@ -1,6 +1,6 @@
 source $stdenv/setup
 
-(echo '#!/usr/bin/env sh'; \
+(echo "#!$SHELL"; \
  echo 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no "$@"') > ssh
 chmod +x ssh
 export CVS_RSH=$PWD/ssh
diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git
index 3cb115c5e6e6e..f2df9d9a86932 100755
--- a/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -105,7 +105,7 @@ fi
 
 init_remote(){
     local url=$1
-    clean_git init
+    clean_git init --initial-branch=master
     clean_git remote add origin "$url"
     ( [ -n "$http_proxy" ] && clean_git config http.proxy "$http_proxy" ) || true
 }
@@ -149,7 +149,19 @@ checkout_hash(){
     fi
 
     clean_git fetch -t ${builder:+--progress} origin || return 1
-    clean_git checkout -b "$branchName" "$hash" || return 1
+
+    local object_type=$(git cat-file -t "$hash")
+    if [[ "$object_type" == "commit" ]]; then
+        clean_git checkout -b "$branchName" "$hash" || return 1
+    elif [[ "$object_type" == "tree" ]]; then
+        clean_git config user.email "nix-prefetch-git@localhost"
+        clean_git config user.name "nix-prefetch-git"
+        local commit_id=$(git commit-tree "$hash" -m "Commit created from tree hash $hash")
+        clean_git checkout -b "$branchName" "$commit_id" || return 1
+    else
+        echo "Unrecognized git object type: $object_type"
+        return 1
+    fi
 }
 
 # Fetch only a branch/tag and checkout it.
diff --git a/pkgs/build-support/fetchgithub/default.nix b/pkgs/build-support/fetchgithub/default.nix
index 66671dd0a6ae2..3f355d10f8a1b 100644
--- a/pkgs/build-support/fetchgithub/default.nix
+++ b/pkgs/build-support/fetchgithub/default.nix
@@ -1,17 +1,19 @@
 { lib, fetchgit, fetchzip }:
 
 { owner, repo, rev, name ? "source"
-, fetchSubmodules ? false, private ? false
+, fetchSubmodules ? false, leaveDotGit ? null
+, deepClone ? false, private ? false
 , githubBase ? "github.com", varPrefix ? null
 , ... # For hash agility
-}@args: assert private -> !fetchSubmodules;
+}@args:
 let
   baseUrl = "https://${githubBase}/${owner}/${repo}";
   passthruAttrs = removeAttrs args [ "owner" "repo" "rev" "fetchSubmodules" "private" "githubBase" "varPrefix" ];
   varBase = "NIX${if varPrefix == null then "" else "_${varPrefix}"}_GITHUB_PRIVATE_";
+  useFetchGit = fetchSubmodules || (leaveDotGit == true) || deepClone;
   # We prefer fetchzip in cases we don't need submodules as the hash
   # is more stable in that case.
-  fetcher = if fetchSubmodules then fetchgit else fetchzip;
+  fetcher = if useFetchGit then fetchgit else fetchzip;
   privateAttrs = lib.optionalAttrs private {
     netrcPhase = ''
       if [ -z "''$${varBase}USERNAME" -o -z "''$${varBase}PASSWORD" ]; then
@@ -26,8 +28,14 @@ let
     '';
     netrcImpureEnvVars = [ "${varBase}USERNAME" "${varBase}PASSWORD" ];
   };
-  fetcherArgs = (if fetchSubmodules
-    then { inherit rev fetchSubmodules; url = "${baseUrl}.git"; }
+  fetcherArgs = (if useFetchGit
+    then {
+      inherit rev deepClone fetchSubmodules; url = "${baseUrl}.git";
+    } // lib.optionalAttrs (leaveDotGit != null) { inherit leaveDotGit; }
     else ({ url = "${baseUrl}/archive/${rev}.tar.gz"; } // privateAttrs)
   ) // passthruAttrs // { inherit name; };
-in fetcher fetcherArgs // { meta.homepage = baseUrl; inherit rev; }
+in
+
+assert private -> !useFetchGit;
+
+fetcher fetcherArgs // { meta.homepage = baseUrl; inherit rev; }
diff --git a/pkgs/build-support/fetchzip/default.nix b/pkgs/build-support/fetchzip/default.nix
index a1744b48deb9f..b00983772e4ba 100644
--- a/pkgs/build-support/fetchzip/default.nix
+++ b/pkgs/build-support/fetchzip/default.nix
@@ -45,18 +45,13 @@
     '' else ''
       mv "$unpackDir" "$out"
     '')
-    + extraPostFetch
-    # Remove write permissions for files unpacked with write bits set
+    + ''
+      ${extraPostFetch}
+    ''
+    # Remove non-owner write permissions
     # Fixes https://github.com/NixOS/nixpkgs/issues/38649
-    #
-    # However, we should (for the moment) retain write permission on the directory
-    # itself, to avoid tickling https://github.com/NixOS/nix/issues/4295 in
-    # single-user Nix installations. This is because in sandbox mode we'll try to
-    # move the path, and if we don't have write permissions on the directory,
-    # then we can't update the ".." entry.
     + ''
-      chmod -R a-w "$out"
-      chmod u+w "$out"
+      chmod 755 "$out"
     '';
 } // removeAttrs args [ "stripRoot" "extraPostFetch" ])).overrideAttrs (x: {
   # Hackety-hack: we actually need unzip hooks, too
diff --git a/pkgs/build-support/go/garble.nix b/pkgs/build-support/go/garble.nix
new file mode 100644
index 0000000000000..da1e3152ba4cb
--- /dev/null
+++ b/pkgs/build-support/go/garble.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, buildGoModule
+, fetchFromGitHub
+, lib
+}:
+buildGoModule rec {
+  pname = "garble";
+  version = "20200107";
+
+  src = fetchFromGitHub {
+    owner = "burrowers";
+    repo = pname;
+    rev = "835f4aadf321521acf06aac4d5068473dc4b2ac1";
+    sha256 = "sha256-NodsVHRll2YZoxrhmniJvelQOStG82u3kJyc0t8OXD8=";
+  };
+
+  vendorSha256 = "sha256-x2fk2QmZDK2yjyfYdK7x+sQjvt7tuggmm8ieVjsNKek=";
+
+  preBuild = ''
+    # https://github.com/burrowers/garble/issues/184
+    substituteInPlace testdata/scripts/tiny.txt \
+      --replace "{6,8}" "{4,8}"
+  '' + lib.optionalString (!stdenv.isx86_64) ''
+    # The test assumex amd64 assembly
+    rm testdata/scripts/asm.txt
+  '';
+
+  meta = {
+    description = "Obfuscate Go code by wrapping the Go toolchain";
+    homepage = "https://github.com/burrowers/garble/";
+    maintainers = with lib.maintainers; [ davhau ];
+    license = lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/build-support/release/debian-build.nix b/pkgs/build-support/release/debian-build.nix
index 2544d5c740c25..4c2d82ce630ba 100644
--- a/pkgs/build-support/release/debian-build.nix
+++ b/pkgs/build-support/release/debian-build.nix
@@ -2,7 +2,6 @@
 # that contains a Debian-like (i.e. dpkg-based) OS.
 
 { name ? "debian-build"
-, lib
 , diskImage
 , src, lib, stdenv, vmTools, checkinstall
 , fsTranslation ? false
diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix
index dc86a7dc581fe..bfa6c0d17cd60 100644
--- a/pkgs/build-support/rust/default.nix
+++ b/pkgs/build-support/rust/default.nix
@@ -2,8 +2,10 @@
 , lib
 , buildPackages
 , cacert
-, cargo
-, diffutils
+, cargoBuildHook
+, cargoCheckHook
+, cargoInstallHook
+, cargoSetupHook
 , fetchCargoTarball
 , runCommandNoCC
 , rustPlatform
@@ -23,6 +25,9 @@
   # Legacy hash
 , cargoSha256 ? ""
 
+  # Name for the vendored dependencies tarball
+, cargoDepsName ? name
+
 , src ? null
 , srcs ? null
 , unpackPhase ? null
@@ -34,14 +39,11 @@
 , nativeBuildInputs ? []
 , cargoUpdateHook ? ""
 , cargoDepsHook ? ""
-, cargoBuildFlags ? []
 , buildType ? "release"
 , meta ? {}
-, target ? rust.toRustTargetSpec stdenv.hostPlatform
 , cargoVendorDir ? null
 , checkType ? buildType
 , depsExtraArgs ? {}
-, cargoParallelTestThreads ? true
 
 # Toggles whether a custom sysroot is created when the target is a .json file.
 , __internal_dontAddSysroot ? false
@@ -60,7 +62,8 @@ let
 
   cargoDeps = if cargoVendorDir == null
     then fetchCargoTarball ({
-        inherit name src srcs sourceRoot unpackPhase cargoUpdateHook;
+        inherit src srcs sourceRoot unpackPhase cargoUpdateHook;
+        name = cargoDepsName;
         hash = cargoHash;
         patches = cargoPatches;
         sha256 = cargoSha256;
@@ -71,19 +74,7 @@ let
   # against the src fixed-output derivation to check consistency.
   validateCargoDeps = !(cargoHash == "" && cargoSha256 == "");
 
-  # Some cargo builds include build hooks that modify their own vendor
-  # dependencies. This copies the vendor directory into the build tree and makes
-  # it writable. If we're using a tarball, the unpackFile hook already handles
-  # this for us automatically.
-  setupVendorDir = if cargoVendorDir == null
-    then (''
-      unpackFile "$cargoDeps"
-      cargoDepsCopy=$(stripHash $cargoDeps)
-    '')
-    else ''
-      cargoDepsCopy="$sourceRoot/${cargoVendorDir}"
-    '';
-
+  target = rust.toRustTargetSpec stdenv.hostPlatform;
   targetIsJSON = lib.hasSuffix ".json" target;
   useSysroot = targetIsJSON && !__internal_dontAddSysroot;
 
@@ -99,18 +90,6 @@ let
     originalCargoToml = src + /Cargo.toml; # profile info is later extracted
   };
 
-  ccForBuild="${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc";
-  cxxForBuild="${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}c++";
-  ccForHost="${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc";
-  cxxForHost="${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++";
-  releaseDir = "target/${shortTarget}/${buildType}";
-  tmpDir = "${releaseDir}-tmp";
-
-  # Specify the stdenv's `diff` by abspath to ensure that the user's build
-  # inputs do not cause us to find the wrong `diff`.
-  # The `.nativeDrv` stanza works like nativeBuildInputs and ensures cross-compiling has the right version available.
-  diff = "${diffutils.nativeDrv or diffutils}/bin/diff";
-
 in
 
 # Tests don't currently work for `no_std`, and all custom sysroots are currently built without `std`.
@@ -120,11 +99,22 @@ assert useSysroot -> !(args.doCheck or true);
 stdenv.mkDerivation ((removeAttrs args ["depsExtraArgs"]) // lib.optionalAttrs useSysroot {
   RUSTFLAGS = "--sysroot ${sysroot} " + (args.RUSTFLAGS or "");
 } // {
-  inherit cargoDeps;
+  inherit buildAndTestSubdir cargoDeps;
+
+  cargoBuildType = buildType;
 
   patchRegistryDeps = ./patch-registry-deps;
 
-  nativeBuildInputs = nativeBuildInputs ++ [ cacert git cargo rustc ];
+  nativeBuildInputs = nativeBuildInputs ++ [
+    cacert
+    git
+    cargoBuildHook
+    cargoCheckHook
+    cargoInstallHook
+    cargoSetupHook
+    rustc
+  ];
+
   buildInputs = buildInputs ++ lib.optional stdenv.hostPlatform.isMinGW windows.pthreads;
 
   patches = cargoPatches ++ patches;
@@ -135,147 +125,18 @@ stdenv.mkDerivation ((removeAttrs args ["depsExtraArgs"]) // lib.optionalAttrs u
   postUnpack = ''
     eval "$cargoDepsHook"
 
-    ${setupVendorDir}
-
-    mkdir .cargo
-    config="$(pwd)/$cargoDepsCopy/.cargo/config";
-    if [[ ! -e $config ]]; then
-      config=${./fetchcargo-default-config.toml};
-    fi;
-    substitute $config .cargo/config \
-      --subst-var-by vendor "$(pwd)/$cargoDepsCopy"
-
-    cat >> .cargo/config <<'EOF'
-    [target."${rust.toRustTarget stdenv.buildPlatform}"]
-    "linker" = "${ccForBuild}"
-    ${lib.optionalString (stdenv.buildPlatform.config != stdenv.hostPlatform.config) ''
-    [target."${shortTarget}"]
-    "linker" = "${ccForHost}"
-    ${# https://github.com/rust-lang/rust/issues/46651#issuecomment-433611633
-      lib.optionalString (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isAarch64) ''
-    "rustflags" = [ "-C", "target-feature=+crt-static", "-C", "link-arg=-lgcc" ]
-    ''}
-    ''}
-    EOF
-
     export RUST_LOG=${logLevel}
   '' + (args.postUnpack or "");
 
-  # After unpacking and applying patches, check that the Cargo.lock matches our
-  # src package. Note that we do this after the patchPhase, because the
-  # patchPhase may create the Cargo.lock if upstream has not shipped one.
-  postPatch = (args.postPatch or "") + lib.optionalString validateCargoDeps ''
-    cargoDepsLockfile=$NIX_BUILD_TOP/$cargoDepsCopy/Cargo.lock
-    srcLockfile=$NIX_BUILD_TOP/$sourceRoot/Cargo.lock
-
-    echo "Validating consistency between $srcLockfile and $cargoDepsLockfile"
-    if ! ${diff} $srcLockfile $cargoDepsLockfile; then
-
-      # If the diff failed, first double-check that the file exists, so we can
-      # give a friendlier error msg.
-      if ! [ -e $srcLockfile ]; then
-        echo "ERROR: Missing Cargo.lock from src. Expected to find it at: $srcLockfile"
-        echo "Hint: You can use the cargoPatches attribute to add a Cargo.lock manually to the build."
-        exit 1
-      fi
-
-      if ! [ -e $cargoDepsLockfile ]; then
-        echo "ERROR: Missing lockfile from cargo vendor. Expected to find it at: $cargoDepsLockfile"
-        exit 1
-      fi
-
-      echo
-      echo "ERROR: cargoSha256 is out of date"
-      echo
-      echo "Cargo.lock is not the same in $cargoDepsCopy"
-      echo
-      echo "To fix the issue:"
-      echo '1. Use "0000000000000000000000000000000000000000000000000000" as the cargoSha256 value'
-      echo "2. Build the derivation and wait for it to fail with a hash mismatch"
-      echo "3. Copy the 'got: sha256:' value back into the cargoSha256 field"
-      echo
-
-      exit 1
-    fi
-  '' + ''
-    unset cargoDepsCopy
-  '';
-
   configurePhase = args.configurePhase or ''
     runHook preConfigure
     runHook postConfigure
   '';
 
-  buildPhase = with builtins; args.buildPhase or ''
-    ${lib.optionalString (buildAndTestSubdir != null) "pushd ${buildAndTestSubdir}"}
-    runHook preBuild
-
-    (
-    set -x
-    env \
-      "CC_${rust.toRustTarget stdenv.buildPlatform}"="${ccForBuild}" \
-      "CXX_${rust.toRustTarget stdenv.buildPlatform}"="${cxxForBuild}" \
-      "CC_${rust.toRustTarget stdenv.hostPlatform}"="${ccForHost}" \
-      "CXX_${rust.toRustTarget stdenv.hostPlatform}"="${cxxForHost}" \
-      cargo build -j $NIX_BUILD_CORES \
-        ${lib.optionalString (buildType == "release") "--release"} \
-        --target ${target} \
-        --frozen ${concatStringsSep " " cargoBuildFlags}
-    )
-
-    runHook postBuild
-
-    ${lib.optionalString (buildAndTestSubdir != null) "popd"}
-
-    # This needs to be done after postBuild: packages like `cargo` do a pushd/popd in
-    # the pre/postBuild-hooks that need to be taken into account before gathering
-    # all binaries to install.
-    mkdir -p $tmpDir
-    cp -r $releaseDir/* $tmpDir/
-    bins=$(find $tmpDir \
-      -maxdepth 1 \
-      -type f \
-      -executable ! \( -regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" \))
-  '';
-
-  checkPhase = args.checkPhase or (let
-    argstr = "${lib.optionalString (checkType == "release") "--release"} --target ${target} --frozen";
-    threads = if cargoParallelTestThreads then "$NIX_BUILD_CORES" else "1";
-  in ''
-    ${lib.optionalString (buildAndTestSubdir != null) "pushd ${buildAndTestSubdir}"}
-    runHook preCheck
-    echo "Running cargo test ${argstr} -- ''${checkFlags} ''${checkFlagsArray+''${checkFlagsArray[@]}}"
-    cargo test -j $NIX_BUILD_CORES ${argstr} -- --test-threads=${threads} ''${checkFlags} ''${checkFlagsArray+"''${checkFlagsArray[@]}"}
-    runHook postCheck
-    ${lib.optionalString (buildAndTestSubdir != null) "popd"}
-  '');
-
   doCheck = args.doCheck or true;
 
   strictDeps = true;
 
-  inherit releaseDir tmpDir;
-
-  installPhase = args.installPhase or ''
-    runHook preInstall
-
-    # rename the output dir to a architecture independent one
-    mapfile -t targets < <(find "$NIX_BUILD_TOP" -type d | grep '${tmpDir}$')
-    for target in "''${targets[@]}"; do
-      rm -rf "$target/../../${buildType}"
-      ln -srf "$target" "$target/../../"
-    done
-    mkdir -p $out/bin $out/lib
-
-    xargs -r cp -t $out/bin <<< $bins
-    find $tmpDir \
-      -maxdepth 1 \
-      -regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" \
-      -print0 | xargs -r -0 cp -t $out/lib
-    rmdir --ignore-fail-on-non-empty $out/lib $out/bin
-    runHook postInstall
-  '';
-
   passthru = { inherit cargoDeps; } // (args.passthru or {});
 
   meta = {
diff --git a/pkgs/build-support/rust/fetchCargoTarball.nix b/pkgs/build-support/rust/fetchCargoTarball.nix
index c30e88d99b833..3b36554e70752 100644
--- a/pkgs/build-support/rust/fetchCargoTarball.nix
+++ b/pkgs/build-support/rust/fetchCargoTarball.nix
@@ -21,7 +21,7 @@ in
 , src ? null
 , srcs ? []
 , patches ? []
-, sourceRoot
+, sourceRoot ? ""
 , hash ? ""
 , sha256 ? ""
 , cargoUpdateHook ? ""
diff --git a/pkgs/build-support/rust/hooks/cargo-build-hook.sh b/pkgs/build-support/rust/hooks/cargo-build-hook.sh
new file mode 100644
index 0000000000000..54f4512d67ca5
--- /dev/null
+++ b/pkgs/build-support/rust/hooks/cargo-build-hook.sh
@@ -0,0 +1,35 @@
+declare -a cargoBuildFlags
+
+cargoBuildHook() {
+    echo "Executing cargoBuildHook"
+
+    runHook preBuild
+
+    if [ ! -z "${buildAndTestSubdir-}" ]; then
+        pushd "${buildAndTestSubdir}"
+    fi
+
+    (
+    set -x
+    env \
+      "CC_@rustBuildPlatform@=@ccForBuild@" \
+      "CXX_@rustBuildPlatform@=@cxxForBuild@" \
+      "CC_@rustTargetPlatform@=@ccForHost@" \
+      "CXX_@rustTargetPlatform@=@cxxForHost@" \
+      cargo build -j $NIX_BUILD_CORES \
+        --target @rustTargetPlatformSpec@ \
+        --frozen \
+        --${cargoBuildType} \
+        ${cargoBuildFlags}
+    )
+
+    if [ ! -z "${buildAndTestSubdir-}" ]; then
+        popd
+    fi
+
+    runHook postBuild
+
+    echo "Finished cargoBuildHook"
+}
+
+buildPhase=cargoBuildHook
diff --git a/pkgs/build-support/rust/hooks/cargo-check-hook.sh b/pkgs/build-support/rust/hooks/cargo-check-hook.sh
new file mode 100644
index 0000000000000..8c5b1a13219a3
--- /dev/null
+++ b/pkgs/build-support/rust/hooks/cargo-check-hook.sh
@@ -0,0 +1,41 @@
+declare -a checkFlags
+
+cargoCheckHook() {
+    echo "Executing cargoCheckHook"
+
+    runHook preCheck
+
+    if [[ -n "${buildAndTestSubdir-}" ]]; then
+        pushd "${buildAndTestSubdir}"
+    fi
+
+    if [[ -z ${dontUseCargoParallelTests-} ]]; then
+        threads=$NIX_BUILD_CORES
+    else
+        threads=1
+    fi
+
+    argstr="--${cargoBuildType} --target @rustTargetPlatformSpec@ --frozen";
+
+    (
+        set -x
+        cargo test \
+              -j $NIX_BUILD_CORES \
+              ${argstr} -- \
+              --test-threads=${threads} \
+              ${checkFlags} \
+              ${checkFlagsArray+"${checkFlagsArray[@]}"}
+    )
+
+    if [[ -n "${buildAndTestSubdir-}" ]]; then
+        popd
+    fi
+
+    echo "Finished cargoCheckHook"
+
+    runHook postCheck
+}
+
+if [ -z "${checkPhase-}" ]; then
+  checkPhase=cargoCheckHook
+fi
diff --git a/pkgs/build-support/rust/hooks/cargo-install-hook.sh b/pkgs/build-support/rust/hooks/cargo-install-hook.sh
new file mode 100644
index 0000000000000..e6ffa30070632
--- /dev/null
+++ b/pkgs/build-support/rust/hooks/cargo-install-hook.sh
@@ -0,0 +1,49 @@
+cargoInstallPostBuildHook() {
+    echo "Executing cargoInstallPostBuildHook"
+
+    releaseDir=target/@shortTarget@/$cargoBuildType
+    tmpDir="${releaseDir}-tmp";
+
+    mkdir -p $tmpDir
+    cp -r ${releaseDir}/* $tmpDir/
+    bins=$(find $tmpDir \
+      -maxdepth 1 \
+      -type f \
+      -executable ! \( -regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" \))
+
+    echo "Finished cargoInstallPostBuildHook"
+}
+
+cargoInstallHook() {
+    echo "Executing cargoInstallHook"
+
+    runHook preInstall
+
+    # rename the output dir to a architecture independent one
+
+    releaseDir=target/@shortTarget@/$cargoBuildType
+    tmpDir="${releaseDir}-tmp";
+
+    mapfile -t targets < <(find "$NIX_BUILD_TOP" -type d | grep "${tmpDir}$")
+    for target in "${targets[@]}"; do
+      rm -rf "$target/../../${cargoBuildType}"
+      ln -srf "$target" "$target/../../"
+    done
+    mkdir -p $out/bin $out/lib
+
+    xargs -r cp -t $out/bin <<< $bins
+    find $tmpDir \
+      -maxdepth 1 \
+      -regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" \
+      -print0 | xargs -r -0 cp -t $out/lib
+    rmdir --ignore-fail-on-non-empty $out/lib $out/bin
+    runHook postInstall
+
+    echo "Finished cargoInstallHook"
+}
+
+
+if [ -z "${installPhase-}" ]; then
+  installPhase=cargoInstallHook
+  postBuildHooks+=(cargoInstallPostBuildHook)
+fi
diff --git a/pkgs/build-support/rust/hooks/cargo-setup-hook.sh b/pkgs/build-support/rust/hooks/cargo-setup-hook.sh
new file mode 100644
index 0000000000000..0fddd30582a14
--- /dev/null
+++ b/pkgs/build-support/rust/hooks/cargo-setup-hook.sh
@@ -0,0 +1,84 @@
+cargoSetupPostUnpackHook() {
+    echo "Executing cargoSetupPostUnpackHook"
+
+    # Some cargo builds include build hooks that modify their own vendor
+    # dependencies. This copies the vendor directory into the build tree and makes
+    # it writable. If we're using a tarball, the unpackFile hook already handles
+    # this for us automatically.
+    if [ -z $cargoVendorDir ]; then
+        unpackFile "$cargoDeps"
+        export cargoDepsCopy=$(stripHash $cargoDeps)
+    else
+      cargoDepsCopy="$sourceRoot/${cargoRoot:+$cargoRoot/}${cargoVendorDir}"
+    fi
+
+    if [ ! -d .cargo ]; then
+        mkdir .cargo
+    fi
+
+    config="$(pwd)/$cargoDepsCopy/.cargo/config";
+    if [[ ! -e $config ]]; then
+      config=@defaultConfig@
+    fi;
+
+    tmp_config=$(mktemp)
+    substitute $config $tmp_config \
+      --subst-var-by vendor "$(pwd)/$cargoDepsCopy"
+    cat ${tmp_config} >> .cargo/config
+
+    cat >> .cargo/config <<'EOF'
+    @rustTarget@
+EOF
+
+    echo "Finished cargoSetupPostUnpackHook"
+}
+
+# After unpacking and applying patches, check that the Cargo.lock matches our
+# src package. Note that we do this after the patchPhase, because the
+# patchPhase may create the Cargo.lock if upstream has not shipped one.
+cargoSetupPostPatchHook() {
+    echo "Executing cargoSetupPostPatchHook"
+
+    cargoDepsLockfile="$NIX_BUILD_TOP/$cargoDepsCopy/Cargo.lock"
+    srcLockfile="$NIX_BUILD_TOP/$sourceRoot/${cargoRoot:+$cargoRoot/}/Cargo.lock"
+
+    echo "Validating consistency between $srcLockfile and $cargoDepsLockfile"
+    if ! @diff@ $srcLockfile $cargoDepsLockfile; then
+
+      # If the diff failed, first double-check that the file exists, so we can
+      # give a friendlier error msg.
+      if ! [ -e $srcLockfile ]; then
+        echo "ERROR: Missing Cargo.lock from src. Expected to find it at: $srcLockfile"
+        echo "Hint: You can use the cargoPatches attribute to add a Cargo.lock manually to the build."
+        exit 1
+      fi
+
+      if ! [ -e $cargoDepsLockfile ]; then
+        echo "ERROR: Missing lockfile from cargo vendor. Expected to find it at: $cargoDepsLockfile"
+        exit 1
+      fi
+
+      echo
+      echo "ERROR: cargoSha256 is out of date"
+      echo
+      echo "Cargo.lock is not the same in $cargoDepsCopy"
+      echo
+      echo "To fix the issue:"
+      echo '1. Use "0000000000000000000000000000000000000000000000000000" as the cargoSha256 value'
+      echo "2. Build the derivation and wait for it to fail with a hash mismatch"
+      echo "3. Copy the 'got: sha256:' value back into the cargoSha256 field"
+      echo
+
+      exit 1
+    fi
+
+    unset cargoDepsCopy
+
+    echo "Finished cargoSetupPostPatchHook"
+}
+
+postUnpackHooks+=(cargoSetupPostUnpackHook)
+
+if [ -z ${cargoVendorDir-} ]; then
+  postPatchHooks+=(cargoSetupPostPatchHook)
+fi
diff --git a/pkgs/build-support/rust/hooks/default.nix b/pkgs/build-support/rust/hooks/default.nix
new file mode 100644
index 0000000000000..e8927e2b542f3
--- /dev/null
+++ b/pkgs/build-support/rust/hooks/default.nix
@@ -0,0 +1,94 @@
+{ buildPackages
+, callPackage
+, cargo
+, diffutils
+, lib
+, makeSetupHook
+, maturin
+, rust
+, stdenv
+, target ? rust.toRustTargetSpec stdenv.hostPlatform
+}:
+
+let
+  targetIsJSON = lib.hasSuffix ".json" target;
+
+  # see https://github.com/rust-lang/cargo/blob/964a16a28e234a3d397b2a7031d4ab4a428b1391/src/cargo/core/compiler/compile_kind.rs#L151-L168
+  # the "${}" is needed to transform the path into a /nix/store path before baseNameOf
+  shortTarget = if targetIsJSON then
+      (lib.removeSuffix ".json" (builtins.baseNameOf "${target}"))
+    else target;
+  ccForBuild = "${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc";
+  cxxForBuild = "${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}c++";
+  ccForHost = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc";
+  cxxForHost = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++";
+  rustBuildPlatform = rust.toRustTarget stdenv.buildPlatform;
+  rustTargetPlatform = rust.toRustTarget stdenv.hostPlatform;
+  rustTargetPlatformSpec = rust.toRustTargetSpec stdenv.hostPlatform;
+in {
+  cargoBuildHook = callPackage ({ }:
+    makeSetupHook {
+      name = "cargo-build-hook.sh";
+      deps = [ cargo ];
+      substitutions = {
+        inherit ccForBuild ccForHost cxxForBuild cxxForHost
+          rustBuildPlatform rustTargetPlatform rustTargetPlatformSpec;
+      };
+    } ./cargo-build-hook.sh) {};
+
+  cargoCheckHook = callPackage ({ }:
+    makeSetupHook {
+      name = "cargo-check-hook.sh";
+      deps = [ cargo ];
+      substitutions = {
+        inherit rustTargetPlatformSpec;
+      };
+    } ./cargo-check-hook.sh) {};
+
+  cargoInstallHook = callPackage ({ }:
+    makeSetupHook {
+      name = "cargo-install-hook.sh";
+      deps = [ ];
+      substitutions = {
+        inherit shortTarget;
+      };
+    } ./cargo-install-hook.sh) {};
+
+  cargoSetupHook = callPackage ({ }:
+    makeSetupHook {
+      name = "cargo-setup-hook.sh";
+      deps = [ ];
+      substitutions = {
+        defaultConfig = ../fetchcargo-default-config.toml;
+
+        # Specify the stdenv's `diff` by abspath to ensure that the user's build
+        # inputs do not cause us to find the wrong `diff`.
+        # The `.nativeDrv` stanza works like nativeBuildInputs and ensures cross-compiling has the right version available.
+        diff = "${diffutils.nativeDrv or diffutils}/bin/diff";
+
+        # Target platform
+        rustTarget = ''
+          [target."${rust.toRustTarget stdenv.buildPlatform}"]
+          "linker" = "${ccForBuild}"
+          ${lib.optionalString (stdenv.buildPlatform.config != stdenv.hostPlatform.config) ''
+            [target."${shortTarget}"]
+            "linker" = "${ccForHost}"
+            ${# https://github.com/rust-lang/rust/issues/46651#issuecomment-433611633
+            lib.optionalString (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isAarch64) ''
+              "rustflags" = [ "-C", "target-feature=+crt-static", "-C", "link-arg=-lgcc" ]
+            ''}
+          ''}
+        '';
+      };
+    } ./cargo-setup-hook.sh) {};
+
+  maturinBuildHook = callPackage ({ }:
+    makeSetupHook {
+      name = "maturin-build-hook.sh";
+      deps = [ cargo maturin ];
+      substitutions = {
+        inherit ccForBuild ccForHost cxxForBuild cxxForHost
+          rustBuildPlatform rustTargetPlatform rustTargetPlatformSpec;
+      };
+    } ./maturin-build-hook.sh) {};
+}
diff --git a/pkgs/build-support/rust/hooks/maturin-build-hook.sh b/pkgs/build-support/rust/hooks/maturin-build-hook.sh
new file mode 100644
index 0000000000000..7e2599d922405
--- /dev/null
+++ b/pkgs/build-support/rust/hooks/maturin-build-hook.sh
@@ -0,0 +1,39 @@
+maturinBuildHook() {
+    echo "Executing maturinBuildHook"
+
+    runHook preBuild
+
+    if [ ! -z "${buildAndTestSubdir-}" ]; then
+        pushd "${buildAndTestSubdir}"
+    fi
+
+    (
+    set -x
+    env \
+      "CC_@rustBuildPlatform@=@ccForBuild@" \
+      "CXX_@rustBuildPlatform@=@cxxForBuild@" \
+      "CC_@rustTargetPlatform@=@ccForHost@" \
+      "CXX_@rustTargetPlatform@=@cxxForHost@" \
+      maturin build \
+        --cargo-extra-args="-j $NIX_BUILD_CORES --frozen" \
+        --target @rustTargetPlatformSpec@ \
+        --manylinux off \
+        --strip \
+        --release \
+        ${maturinBuildFlags-}
+    )
+
+    runHook postBuild
+
+    if [ ! -z "${buildAndTestSubdir-}" ]; then
+        popd
+    fi
+
+    # Move the wheel to dist/ so that regular Python tooling can find it.
+    mkdir -p dist
+    mv target/wheels/*.whl dist/
+
+    echo "Finished maturinBuildHook"
+}
+
+buildPhase=maturinBuildHook
diff --git a/pkgs/build-support/setup-hooks/patch-shebangs.sh b/pkgs/build-support/setup-hooks/patch-shebangs.sh
index b48b0c50f577b..04ebcd2cc64ec 100644
--- a/pkgs/build-support/setup-hooks/patch-shebangs.sh
+++ b/pkgs/build-support/setup-hooks/patch-shebangs.sh
@@ -24,10 +24,10 @@ fixupOutputHooks+=(patchShebangsAuto)
 patchShebangs() {
     local pathName
 
-    if [ "$1" = "--host" ]; then
+    if [[ "$1" == "--host" ]]; then
         pathName=HOST_PATH
         shift
-    elif [ "$1" = "--build" ]; then
+    elif [[ "$1" == "--build" ]]; then
         pathName=PATH
         shift
     fi
@@ -41,7 +41,7 @@ patchShebangs() {
     local oldInterpreterLine
     local newInterpreterLine
 
-    if [ $# -eq 0 ]; then
+    if [[ $# -eq 0 ]]; then
         echo "No arguments supplied to patchShebangs" >&2
         return 0
     fi
@@ -50,29 +50,29 @@ patchShebangs() {
     while IFS= read -r -d $'\0' f; do
         isScript "$f" || continue
 
-        oldInterpreterLine=$(head -1 "$f" | tail -c+3)
-        read -r oldPath arg0 args <<< "$oldInterpreterLine"
+        read -r oldInterpreterLine < "$f"
+        read -r oldPath arg0 args <<< "${oldInterpreterLine:2}"
 
-        if [ -z "$pathName" ]; then
-            if [ -n "$strictDeps" ] && [[ "$f" = "$NIX_STORE"* ]]; then
+        if [[ -z "$pathName" ]]; then
+            if [[ -n $strictDeps && $f == "$NIX_STORE"* ]]; then
                 pathName=HOST_PATH
             else
                 pathName=PATH
             fi
         fi
 
-        if $(echo "$oldPath" | grep -q "/bin/env$"); then
+        if [[ "$oldPath" == *"/bin/env" ]]; then
             # Check for unsupported 'env' functionality:
             # - options: something starting with a '-'
             # - environment variables: foo=bar
-            if $(echo "$arg0" | grep -q -- "^-.*\|.*=.*"); then
+            if [[ $arg0 == "-"* || $arg0 == *"="* ]]; then
                 echo "$f: unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)" >&2
                 exit 1
             fi
 
             newPath="$(PATH="${!pathName}" command -v "$arg0" || true)"
         else
-            if [ "$oldPath" = "" ]; then
+            if [[ -z $oldPath ]]; then
                 # If no interpreter is specified linux will use /bin/sh. Set
                 # oldpath="/bin/sh" so that we get /nix/store/.../sh.
                 oldPath="/bin/sh"
@@ -84,19 +84,19 @@ patchShebangs() {
         fi
 
         # Strip trailing whitespace introduced when no arguments are present
-        newInterpreterLine="$(echo "$newPath $args" | sed 's/[[:space:]]*$//')"
+        newInterpreterLine="$newPath $args"
+        newInterpreterLine=${newInterpreterLine%${newInterpreterLine##*[![:space:]]}}
 
-        if [ -n "$oldPath" -a "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ]; then
-            if [ -n "$newPath" -a "$newPath" != "$oldPath" ]; then
+        if [[ -n "$oldPath" && "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ]]; then
+            if [[ -n "$newPath" && "$newPath" != "$oldPath" ]]; then
                 echo "$f: interpreter directive changed from \"$oldInterpreterLine\" to \"$newInterpreterLine\""
                 # escape the escape chars so that sed doesn't interpret them
-                escapedInterpreterLine=$(echo "$newInterpreterLine" | sed 's|\\|\\\\|g')
+                escapedInterpreterLine=${newInterpreterLine//\\/\\\\}
+
                 # Preserve times, see: https://github.com/NixOS/nixpkgs/pull/33281
-                timestamp=$(mktemp)
-                touch -r "$f" "$timestamp"
+                timestamp=$(stat --printf "%y" "$f")
                 sed -i -e "1 s|.*|#\!$escapedInterpreterLine|" "$f"
-                touch -r "$timestamp" "$f"
-                rm "$timestamp"
+                touch --date "$timestamp" "$f"
             fi
         fi
     done < <(find "$@" -type f -perm -0100 -print0)
@@ -105,12 +105,12 @@ patchShebangs() {
 }
 
 patchShebangsAuto () {
-    if [ -z "${dontPatchShebangs-}" -a -e "$prefix" ]; then
+    if [[ -z "${dontPatchShebangs-}" && -e "$prefix" ]]; then
 
         # Dev output will end up being run on the build platform. An
         # example case of this is sdl2-config. Otherwise, we can just
         # use the runtime path (--host).
-        if [ "$output" != out ] && [ "$output" = "$outputDev" ]; then
+        if [[ "$output" != out && "$output" = "$outputDev" ]]; then
             patchShebangs --build "$prefix"
         else
             patchShebangs --host "$prefix"
diff --git a/pkgs/build-support/setup-systemd-units.nix b/pkgs/build-support/setup-systemd-units.nix
index 4fa2f42c39dc8..4c7ee86669f58 100644
--- a/pkgs/build-support/setup-systemd-units.nix
+++ b/pkgs/build-support/setup-systemd-units.nix
@@ -58,7 +58,7 @@
 
           unitDir=/etc/systemd/system
           if [ ! -w "$unitDir" ]; then
-            unitDir=/etc/systemd-mutable/system
+            unitDir=/nix/var/nix/profiles/default/lib/systemd/system
             mkdir -p "$unitDir"
           fi
           declare -a unitsToStop unitsToStart
diff --git a/pkgs/build-support/templaterpm/default.nix b/pkgs/build-support/templaterpm/default.nix
index ffe5b0b45816a..efe70efe6c44f 100644
--- a/pkgs/build-support/templaterpm/default.nix
+++ b/pkgs/build-support/templaterpm/default.nix
@@ -4,7 +4,8 @@ stdenv.mkDerivation {
   pname = "nix-template-rpm";
   version = "0.1";
 
-  buildInputs = [ makeWrapper python toposort rpm ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ python toposort rpm ];
 
   phases = [ "installPhase" "fixupPhase" ];
 
diff --git a/pkgs/common-updater/scripts.nix b/pkgs/common-updater/scripts.nix
index 351db6198846a..26c77e8763622 100644
--- a/pkgs/common-updater/scripts.nix
+++ b/pkgs/common-updater/scripts.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation {
   name = "common-updater-scripts";
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   dontUnpack = true;
 
diff --git a/pkgs/data/documentation/anarchism/default.nix b/pkgs/data/documentation/anarchism/default.nix
index 8f95a371ae227..d0cda3da544c8 100644
--- a/pkgs/data/documentation/anarchism/default.nix
+++ b/pkgs/data/documentation/anarchism/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitLab, xdg_utils }:
+{ lib, stdenv, fetchFromGitLab, xdg-utils }:
 
 stdenv.mkDerivation rec {
   pname = "anarchism";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     substituteInPlace debian/anarchism.desktop \
-      --replace "/usr/bin/xdg-open" "${xdg_utils}/bin/xdg-open"
+      --replace "/usr/bin/xdg-open" "${xdg-utils}/bin/xdg-open"
     substituteInPlace debian/anarchism.desktop \
       --replace "file:///usr" "file://$out"
   '';
diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix
index a8f38b1a6c6a0..f54df83219166 100644
--- a/pkgs/data/documentation/man-pages/default.nix
+++ b/pkgs/data/documentation/man-pages/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "man-pages";
-  version = "5.09";
+  version = "5.10";
 
   src = fetchurl {
     url = "mirror://kernel/linux/docs/man-pages/${pname}-${version}.tar.xz";
-    sha256 = "1whbxim4diyan97y9pz9k4ck16rmjalw5i1m0dg6ycv3pxv386nz";
+    sha256 = "sha256-dRAlNboRny8iP2dNhOHc2uvwpf/WObPC5ssKDjR2h2I=";
   };
 
   makeFlags = [ "MANDIR=$(out)/share/man" ];
diff --git a/pkgs/data/fonts/cascadia-code/default.nix b/pkgs/data/fonts/cascadia-code/default.nix
index 7f934658479aa..a2b67a22e2d5c 100644
--- a/pkgs/data/fonts/cascadia-code/default.nix
+++ b/pkgs/data/fonts/cascadia-code/default.nix
@@ -1,13 +1,13 @@
 { lib, fetchzip }:
 let
-  version = "2009.22";
+  version = "2102.03";
 in
 fetchzip {
   name = "cascadia-code-${version}";
 
   url = "https://github.com/microsoft/cascadia-code/releases/download/v${version}/CascadiaCode-${version}.zip";
 
-  sha256 = "0wdkjzaf5a14yfiqqqn6wvi6db6r7g1m5r07cg9730b0mkzhfyhl";
+  sha256 = "076l44cyyp3cf15qyn2hzx34kzqm73d218fgwf8n69m8a1v34hs2";
 
   postFetch = ''
     mkdir -p $out/share/fonts/
diff --git a/pkgs/data/fonts/inconsolata/default.nix b/pkgs/data/fonts/inconsolata/default.nix
index f064b4f619231..530bb0380d23f 100644
--- a/pkgs/data/fonts/inconsolata/default.nix
+++ b/pkgs/data/fonts/inconsolata/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
   inherit (google-fonts) src version;
 
   installPhase = ''
-    install -m644 --target $out/share/fonts/truetype/inconsolata -D $src/ofl/inconsolata/*.ttf
+    install -m644 --target $out/share/fonts/truetype/inconsolata -D $src/ofl/inconsolata/static/*.ttf
   '';
 
   meta = with lib; {
diff --git a/pkgs/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix
index f3bd8dab013c1..ee10c5bd18b7a 100644
--- a/pkgs/data/fonts/iosevka/bin.nix
+++ b/pkgs/data/fonts/iosevka/bin.nix
@@ -10,7 +10,7 @@ let
     (builtins.attrNames (builtins.removeAttrs variantHashes [ "iosevka" ]));
 in stdenv.mkDerivation rec {
   pname = "${name}-bin";
-  version = "4.4.0";
+  version = "5.0.4";
 
   src = fetchurl {
     url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/ttc-${name}-${version}.zip";
diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix
index 0d998a4863ab8..04e5b48bd0bd9 100644
--- a/pkgs/data/fonts/iosevka/default.nix
+++ b/pkgs/data/fonts/iosevka/default.nix
@@ -1,31 +1,51 @@
-{ stdenv, lib, pkgs, fetchFromGitHub, nodejs, nodePackages, remarshal
+{ stdenv, lib, nodejs, nodePackages, remarshal
 , ttfautohint-nox
+  # Custom font set options.
+  # See https://typeof.net/Iosevka/customizer
+  # Can be a raw TOML string, or a Nix attrset.
 
-# Custom font set options.
-# See https://github.com/be5invis/Iosevka#build-your-own-style
-# Ex:
-# privateBuildPlan = {
-#   family = "Iosevka Expanded";
-#
-#   design = [
-#     "sans"
-#     "expanded"
-#   ];
-# };
+  # Ex:
+  # privateBuildPlan = ''
+  #   [buildPlans.iosevka-custom]
+  #   family = "Iosevka Custom"
+  #   spacing = "normal"
+  #   serifs = "sans"
+  #
+  #   [buildPlans.iosevka-custom.variants.design]
+  #   capital-j = "serifless"
+  #
+  #   [buildPlans.iosevka-custom.variants.italic]
+  #   i = "tailed"
+  # '';
+
+  # Or:
+  # privateBuildPlan = {
+  #   family = "Iosevka Custom";
+  #   spacing = "normal";
+  #   serifs = "sans";
+  #
+  #   variants = {
+  #     design.capital-j = "serifless";
+  #     italic.i = "tailed";
+  #   };
+  # }
 , privateBuildPlan ? null
   # Extra parameters. Can be used for ligature mapping.
-  # It must be a raw toml string.
-  #
+  # It must be a raw TOML string.
+
   # Ex:
-  # [[iosevka.compLig]]
-  # unicode = 57808 # 0xe1d0
-  # featureTag = 'XHS0'
-  # sequence = "+>"
+  # extraParameters = ''
+  #   [[iosevka.compLig]]
+  #   unicode = 57808 # 0xe1d0
+  #   featureTag = 'XHS0'
+  #   sequence = "+>"
+  # '';
 , extraParameters ? null
   # Custom font set name. Required if any custom settings above.
 , set ? null }:
 
 assert (privateBuildPlan != null) -> set != null;
+assert (extraParameters != null) -> set != null;
 
 let
   # We don't know the attribute name for the Iosevka package as it
@@ -54,15 +74,21 @@ stdenv.mkDerivation rec {
     ttfautohint-nox
   ];
 
-  privateBuildPlanJSON =
-    builtins.toJSON { buildPlans.${pname} = privateBuildPlan; };
+  buildPlan =
+    if builtins.isAttrs privateBuildPlan
+      then builtins.toJSON { buildPlans.${pname} = privateBuildPlan; }
+    else privateBuildPlan;
+
   inherit extraParameters;
-  passAsFile = [ "privateBuildPlanJSON" "extraParameters" ];
+  passAsFile = [ "buildPlan" "extraParameters" ];
 
   configurePhase = ''
     runHook preConfigure
-    ${lib.optionalString (privateBuildPlan != null) ''
-      remarshal -i "$privateBuildPlanJSONPath" -o private-build-plans.toml -if json -of toml
+    ${lib.optionalString (builtins.isAttrs privateBuildPlan) ''
+      remarshal -i "$buildPlanPath" -o private-build-plans.toml -if json -of toml
+    ''}
+    ${lib.optionalString (builtins.isString privateBuildPlan) ''
+      cp "$buildPlanPath" private-build-plans.toml
     ''}
     ${lib.optionalString (extraParameters != null) ''
       echo -e "\n" >> params/parameters.toml
diff --git a/pkgs/data/fonts/iosevka/variants.nix b/pkgs/data/fonts/iosevka/variants.nix
index 6b6cd00f49ab8..10f8cc67c7e9e 100644
--- a/pkgs/data/fonts/iosevka/variants.nix
+++ b/pkgs/data/fonts/iosevka/variants.nix
@@ -1,24 +1,26 @@
 # This file was autogenerated. DO NOT EDIT!
 {
-  iosevka = "0qkxqdx3vs53djiibc4ib3qj61fygxvxfcvs7yi08vdhd9qbxhjg";
-  iosevka-aile = "053f6b1z0w1089y608k4wmspgljn9lyzyggq168k0110z9vlfjhf";
-  iosevka-curly = "04kc7f6gqqxbdkdh1k4z4b28f8pj09npb87fx4zr41wkzkxmavcf";
-  iosevka-curly-slab = "1pdm2g3a1nfc8w53r3sdifwypj3diil16jy6sgvgpmk7klf804vf";
-  iosevka-etoile = "10vw53cd317qxhvws11zf98756vfn836assw3rbns6zpfrj7a2xg";
-  iosevka-slab = "01ynv6b7fqdd98imfr14xcgrhp20yffa3n738iz5qnr75vqpnfdc";
-  iosevka-sparkle = "1nw63dd1ccj8cp1x06alfxdvdlw9ibin41llmc0jla0nz7n8vsp3";
-  iosevka-ss01 = "0g54rghx6z0a9azckvgh7njq12rsr1zzskgrm3f29rin8fdwvvd9";
-  iosevka-ss02 = "0jhl75bwd76vp9hpvqgj7awpvibv4pk5vjab97n53b4bdxdxh1rf";
-  iosevka-ss03 = "1ki5q7gafgm2iayjn82wrnwkfb3nbcr2xsrgs2vsw5lm9plawbmd";
-  iosevka-ss04 = "03933skk5zqxrkj5m0j90cxrv4fmjfbp7ai5fywmhjzq92xbcr97";
-  iosevka-ss05 = "014dglqr17adyj2229vvzhz61jpkgj33ngkav5sh2dj5wcx6b137";
-  iosevka-ss06 = "07z87rm0rb9n6d7h0kmp51dnnglmr0wbwmplc5mlv036fcrdibaj";
-  iosevka-ss07 = "1672n5ynd5fv8dwnwg8aa50ny74ad9gbx2xlk2ixih7ajv15p19d";
-  iosevka-ss08 = "1jqdqg6dzrnq6y0g7ls2ya3dh0j00xj2k41aajvdqw342n08h27k";
-  iosevka-ss09 = "1p1v0byb2nh11k362zxjrbvzbbryh2wk76dsd1zwyjrlgqq6qa81";
-  iosevka-ss10 = "12c940w8vy1hjhi7cxgqsb23ip60xw1ydzhx5cv4ycxmi5745wqq";
-  iosevka-ss11 = "0s6fvh5pw119w872w4rvamiwssryx4a98c7fhr737nzgiqy4iyz5";
-  iosevka-ss12 = "14gjqmn807cv3dbvkm2i6dz6if46fbrkr8ls5shwalnl8qj3d06c";
-  iosevka-ss13 = "1qd04cani9jzp1hjs8g6b42bmxvjyyxdha122816s0rg9i46mpcc";
-  iosevka-ss14 = "0q109ahk7ww66brxgldgmr61m2qzpyhi1q21591wg1br5cn2d52w";
+  iosevka = "0g32pzxij72fjy0ycwzy23dg06ypmxcg24dk4scvhjp9b5ajx79k";
+  iosevka-aile = "0yynkwhanza4y593ajn8hkshk46dl9g84qf1shmy21wd3lqr7psx";
+  iosevka-curly = "0zd5hh0hr6prn32yd7fibl2wighv9f6p7jwgfrwcizljai44adnx";
+  iosevka-curly-slab = "147bzw9lr8f54yh0hv8887sxy4571563mxjcag0dfw8z3rfffw8c";
+  iosevka-etoile = "04jjg4vp0fag7xgiqxnql60gyvlpjmgqqj5q4j3rys9nyw3pl0gi";
+  iosevka-slab = "10qwardvknnw6l3yiyji9v02450vfj76lvnlszijv78lfm1xp1qk";
+  iosevka-ss01 = "12z1yjspzcbzgs224n1dxis4ghybfkzpw4dwr1wzza553kplwz6w";
+  iosevka-ss02 = "08vrlzcyqa83mn2155p4h6hsk20jx3sv0yqimxfsyrwcalc63dcq";
+  iosevka-ss03 = "0rhp4rdza36hazs20h4bk524xsgx54pxbw69k235km71m9x6ba59";
+  iosevka-ss04 = "1ijjcy8z0fbfrw2fjqnmxbi9l6r41sixk72h3vp75gzrkq7dbh86";
+  iosevka-ss05 = "06q9wxkyp7iv9pz3xj6d3v8ay82425wcgl9dybr3dfp4mcsdn7zz";
+  iosevka-ss06 = "10pdw28dgdk5343rzbbj5mgmagv4ndl2gg4f02kzq0vlv5xh8vj6";
+  iosevka-ss07 = "16xym710sq398zi223cjzxpcblc851ypl7v2dzhvskgsasvj4ypr";
+  iosevka-ss08 = "14mqs6gi71p544asr1sz48g6q9zl6zj6sadhhcf8gdsnwa475ds2";
+  iosevka-ss09 = "049va8vpzjczslirsxklwcpcsiaqrpc2zm9rmnf5qfyf7f1rn4yd";
+  iosevka-ss10 = "1g8s9d7vlb2yx5d8cgsxcl5hb38g1f80d3l04lj2gr22lzk0y271";
+  iosevka-ss11 = "15j3wfz8ybszp702c8ycv8kwnbdpa07w8kw9njhsfzvb5iw1xx0i";
+  iosevka-ss12 = "1k5250sik2yfa5s5dxaqp0s45wfbxh1s1xn06qjj81ywmw9hy6yg";
+  iosevka-ss13 = "1ym8mn2qqwys01wrkplx11kajkfi0x5vzn8m234cbzn8drlgh0l5";
+  iosevka-ss14 = "0wkc7kwz6bzxxijycm4d4samy83zsghd8lyq0yn6g48rb6kj9fgw";
+  iosevka-ss15 = "0j46sr85vcq25n8ia7nk8rgr3rmgr69wwf7pgllllscablacw73k";
+  iosevka-ss16 = "017vipi1cmcjglx0x6da6ans1bsr3xlr43n4mv5qj7h50j1dv3l6";
+  iosevka-ss17 = "0kbvy54v543znrzb9584mv6h96hfp9fndxb6wg32clqhzm2yh7fw";
 }
diff --git a/pkgs/data/fonts/julia-mono/default.nix b/pkgs/data/fonts/julia-mono/default.nix
index 8774913c83ccc..bf2fbe256fa7b 100644
--- a/pkgs/data/fonts/julia-mono/default.nix
+++ b/pkgs/data/fonts/julia-mono/default.nix
@@ -1,11 +1,12 @@
 { lib, fetchzip }:
 
 let
-  version = "0.022";
+  version = "0.034";
+
 in fetchzip {
   name = "JuliaMono-${version}";
   url = "https://github.com/cormullion/juliamono/releases/download/v${version}/JuliaMono.zip";
-  sha256 = "sha256-/MVT6n842sSiuPZNYxN3q1vn6yvMvmcTEDyvAd2GikA=";
+  sha256 = "sha256:0xx3mhzs17baaich67kvwyzqg8h9ga11jrja2i8sxx4861dp1z85";
 
   postFetch = ''
     mkdir -p $out/share/fonts/truetype
@@ -14,9 +15,12 @@ in fetchzip {
 
   meta = {
     description = "A monospaced font for scientific and technical computing";
+    longDescription = ''
+      JuliaMono is a monospaced typeface designed for use in text editing environments that require a wide range of specialist and technical Unicode characters. It was intended as a fun experiment to be presented at the 2020 JuliaCon conference in Lisbon, Portugal (which of course didn’t physically happen in Lisbon, but online).
+    '';
     maintainers = with lib.maintainers; [ suhr ];
     platforms = with lib.platforms; all;
-    homepage = "https://juliamono.netlify.app/";
+    homepage = "https://cormullion.github.io/pages/2020-07-26-JuliaMono/";
     license = lib.licenses.ofl;
   };
 }
diff --git a/pkgs/data/fonts/montserrat/default.nix b/pkgs/data/fonts/montserrat/default.nix
index de8ea80b01754..41135122f0540 100644
--- a/pkgs/data/fonts/montserrat/default.nix
+++ b/pkgs/data/fonts/montserrat/default.nix
@@ -1,29 +1,28 @@
-# Originally packaged for ArchLinux.
-#
-# https://aur.archlinux.org/packages/ttf-montserrat/
-
-{ lib, fetchzip }:
+{ lib, fetchFromGitHub }:
 
 let
-  version = "1.0";
-in fetchzip {
-  name = "montserrat-${version}";
-
-  url = "https://marvid.fr/~eeva/mirror/Montserrat.tar.gz";
+  pname = "montserrat";
+  version = "7.210";
+in fetchFromGitHub {
+  name = "${pname}-${version}";
+  owner = "JulietaUla";
+  repo = pname;
+  rev = "v${version}";
+  sha256 = "sha256-C6T0Iz1rFC+EsKFJRil2jGTMQ4X7wR80E3eORL5qi0U=";
 
   postFetch = ''
-    tar -xzf $downloadedFile --strip-components=1
-    mkdir -p $out/share/fonts/montserrat
-    cp *.ttf $out/share/fonts/montserrat
+    tar xf $downloadedFile --strip 1
+    install -Dm 444 fonts/otf/*.otf -t $out/share/fonts/otf
+    install -Dm 444 fonts/ttf/*.ttf -t $out/share/fonts/ttf
+    install -Dm 444 fonts/webfonts/*.woff -t $out/share/fonts/woff
+    install -Dm 444 fonts/webfonts/*.woff2 -t $out/share/fonts/woff2
   '';
 
-  sha256 = "11sdgvhaqg59mq71aqwqp2mb428984hjxy7hd1vasia9kgk8259w";
-
   meta = with lib; {
     description = "A geometric sans serif font with extended latin support (Regular, Alternates, Subrayada)";
-    homepage    = "https://www.fontspace.com/julieta-ulanovsky/montserrat";
-    license     = licenses.ofl;
-    platforms   = platforms.all;
-    maintainers = with maintainers; [ scolobb ];
+    homepage = "https://www.fontspace.com/julieta-ulanovsky/montserrat";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ scolobb jk ];
   };
 }
diff --git a/pkgs/data/fonts/myrica/default.nix b/pkgs/data/fonts/myrica/default.nix
index aa5ee0ff1c380..c36292eb00141 100644
--- a/pkgs/data/fonts/myrica/default.nix
+++ b/pkgs/data/fonts/myrica/default.nix
@@ -5,6 +5,7 @@ fetchFromGitHub {
 
   owner = "tomokuni";
   repo = "Myrica";
+  # commit does not exist on any branch on the target repository
   rev = "b737107723bfddd917210f979ccc32ab3eb6dc20";
   sha256 = "187rklcibbkai6m08173ca99qn8v7xpdfdv0izpymmavj85axm12";
 
diff --git a/pkgs/data/fonts/scientifica/default.nix b/pkgs/data/fonts/scientifica/default.nix
new file mode 100644
index 0000000000000..2a2b237d5275e
--- /dev/null
+++ b/pkgs/data/fonts/scientifica/default.nix
@@ -0,0 +1,32 @@
+{ lib, fetchurl }:
+
+let
+  version = "2.1";
+in fetchurl rec {
+  name = "scientifica-${version}";
+
+  url = "https://github.com/NerdyPepper/scientifica/releases/download/v${version}/scientifica-v${version}.tar";
+
+  downloadToTemp = true;
+
+  recursiveHash = true;
+
+  sha256 = "081faa48d6g86pacmgjqa96in72rjldavnwxq6bdq2br33h3qwrz";
+
+  postFetch = ''
+    tar xvf $downloadedFile
+    mkdir -p $out/share/fonts/truetype
+    mkdir -p $out/share/fonts/misc
+    cp scientifica/ttf/*.ttf $out/share/fonts/truetype
+    cp scientifica/otb/*.otb $out/share/fonts/misc
+    cp scientifica/bdf/*.bdf $out/share/fonts/misc
+  '';
+
+  meta = with lib; {
+    description = "Tall and condensed bitmap font for geeks";
+    homepage = "https://github.com/NerdyPepper/scientifica";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ fortuneteller2k ];
+  };
+}
diff --git a/pkgs/data/fonts/siji/default.nix b/pkgs/data/fonts/siji/default.nix
index ea2d2b687d53b..adc6a79f10f49 100644
--- a/pkgs/data/fonts/siji/default.nix
+++ b/pkgs/data/fonts/siji/default.nix
@@ -1,11 +1,13 @@
-{ lib, stdenv, fetchzip, libfaketime, fonttosfnt, mkfontscale }:
+{ lib, stdenv, fetchFromGitHub, libfaketime, fonttosfnt, mkfontscale }:
 
 stdenv.mkDerivation rec {
   name = "siji-${version}";
   version = "2016-05-13";
 
-  src = fetchzip {
-    url = "https://github.com/stark/siji/archive/95369afac3e661cb6d3329ade5219992c88688c1.zip";
+  src = fetchFromGitHub {
+    owner = "stark";
+    repo = "siji";
+    rev = "3cbb7fe938c33aaadbb657803ea5946e5157d6e2";
     sha256 = "1408g4nxwdd682vjqpmgv0cp0bfnzzzwls62cjs9zrds16xa9dpf";
   };
 
diff --git a/pkgs/data/fonts/twemoji-color-font/default.nix b/pkgs/data/fonts/twemoji-color-font/default.nix
index 5e690e7fd6f26..a2fde6813b783 100644
--- a/pkgs/data/fonts/twemoji-color-font/default.nix
+++ b/pkgs/data/fonts/twemoji-color-font/default.nix
@@ -1,37 +1,24 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, inkscape, imagemagick, potrace, svgo, scfbuild }:
+{ lib
+, stdenv
+, fetchurl
+}:
 
 stdenv.mkDerivation rec {
   pname = "twemoji-color-font";
-  version = "12.0.1";
-  src = fetchFromGitHub {
-    owner = "eosrei";
-    repo = "twemoji-color-font";
-    rev = "v${version}";
-    sha256 = "00pbgqpkq21wl8fs0q1xp49xb10m48b9sz8cdc58flkd2vqfssw2";
-  };
+  version = "13.0.1";
 
-  patches = [
-    # Fix build with Inkscape 1.0
-    # https://github.com/eosrei/twemoji-color-font/pull/82
-    (fetchpatch {
-      url = "https://github.com/eosrei/twemoji-color-font/commit/208ad63c2ceb38c528b5237abeb2b85ceedc1d37.patch";
-      sha256 = "TV8I++BEnVUQg7FNbnrEQ/MLV9n3drmspqjmDZgTGFI=";
-      postFetch = ''
-        substituteInPlace $out \
-          --replace "inkscape --without-gui" "inkscape --export-png"
-      '';
-    })
-  ];
+  # We fetch the prebuilt font because building it takes 1.5 hours on hydra.
+  # Relevant issue: https://github.com/NixOS/nixpkgs/issues/97871
+  src = fetchurl {
+    url = "https://github.com/eosrei/twemoji-color-font/releases/download/v${version}/TwitterColorEmoji-SVGinOT-Linux-${version}.tar.gz";
+    sha256 = "1mn2cb6a3v0q8i81s9a8bk49nbwxq91n6ki7827i7rhjkncb0mbn";
+  };
 
-  nativeBuildInputs = [ inkscape imagemagick potrace svgo scfbuild ];
-  # silence inkscape errors about non-writable home
-  preBuild = "export HOME=\"$NIX_BUILD_ROOT\"";
-  makeFlags = [ "SCFBUILD=${scfbuild}/bin/scfbuild" ];
-  enableParallelBuilding = true;
+  dontBuild = true;
 
   installPhase = ''
-    install -Dm755 build/TwitterColorEmoji-SVGinOT.ttf $out/share/fonts/truetype/TwitterColorEmoji-SVGinOT.ttf
-    install -Dm644 linux/fontconfig/56-twemoji-color.conf $out/etc/fonts/conf.d/56-twemoji-color.conf
+    install -Dm755 TwitterColorEmoji-SVGinOT.ttf $out/share/fonts/truetype/TwitterColorEmoji-SVGinOT.ttf
+    install -Dm644 fontconfig/56-twemoji-color.conf $out/etc/fonts/conf.d/56-twemoji-color.conf
   '';
 
   meta = with lib; {
diff --git a/pkgs/data/icons/gruvbox-dark-icons-gtk/default.nix b/pkgs/data/icons/gruvbox-dark-icons-gtk/default.nix
new file mode 100644
index 0000000000000..7b779191b6b21
--- /dev/null
+++ b/pkgs/data/icons/gruvbox-dark-icons-gtk/default.nix
@@ -0,0 +1,34 @@
+{ lib, stdenv, fetchFromGitHub, gtk3, breeze-icons, gnome-icon-theme, hicolor-icon-theme }:
+
+stdenv.mkDerivation rec {
+  pname = "gruvbox-dark-icons-gtk";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "jmattheis";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1fks2rrrb62ybzn8gqan5swcgksrb579vk37bx4xpwkc552dz2z2";
+  };
+
+  nativeBuildInputs = [ gtk3 ];
+
+  propagatedBuildInputs = [ breeze-icons gnome-icon-theme hicolor-icon-theme ];
+
+  installPhase = ''
+    mkdir -p $out/share/icons/oomox-gruvbox-dark
+    rm README.md
+    cp -r * $out/share/icons/oomox-gruvbox-dark
+    gtk-update-icon-cache $out/share/icons/oomox-gruvbox-dark
+  '';
+
+  dontDropIconThemeCache = true;
+
+  meta = with lib; {
+    description = "Gruvbox icons for GTK based desktop environments";
+    homepage = "https://github.com/jmattheis/gruvbox-dark-gtk";
+    license = licenses.gpl3Only;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.nomisiv ];
+  };
+}
diff --git a/pkgs/data/icons/iconpack-jade/default.nix b/pkgs/data/icons/iconpack-jade/default.nix
index 7d13476d73ecb..3a5fe541985ae 100644
--- a/pkgs/data/icons/iconpack-jade/default.nix
+++ b/pkgs/data/icons/iconpack-jade/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "iconpack-jade";
-  version = "1.24";
+  version = "1.25";
 
   src = fetchFromGitHub {
     owner = "madmaxms";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1bns1f3vv7d7ps08plnhl3432cy2l2mhv85h7n4fifjqqi8bll9x";
+    sha256 = "0pwz3l5i93s84iwkn1jq8a150ma96788a0n41xq2cgy00j8h8xh0";
   };
 
   nativeBuildInputs = [ gtk3 ];
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Icon pack based upon Faenza and Mint-X";
     homepage = "https://github.com/madmaxms/iconpack-jade";
-    license = licenses.lgpl3;
+    license = licenses.gpl3Only;
     platforms = platforms.linux;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/pkgs/data/icons/iconpack-obsidian/default.nix b/pkgs/data/icons/iconpack-obsidian/default.nix
index ae3bf79d79aae..13b314e1ae059 100644
--- a/pkgs/data/icons/iconpack-obsidian/default.nix
+++ b/pkgs/data/icons/iconpack-obsidian/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "iconpack-obsidian";
-  version = "4.14";
+  version = "4.15";
 
   src = fetchFromGitHub {
     owner = "madmaxms";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1rhs8k88gh6673flr22cb3gbbw37wyzhd6jyysx6qgjjsnjvl2h8";
+    sha256 = "1f32isq1xyn9b6p1nx5rssqgg9gw0jp9ld19860xk29fspmlfb8n";
   };
 
   nativeBuildInputs = [ gtk3 ];
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Gnome icon pack based upon Faenza";
     homepage = "https://github.com/madmaxms/iconpack-obsidian";
-    license = licenses.lgpl3;
+    license = licenses.gpl3Only;
     # darwin cannot deal with file names differing only in case
     platforms = platforms.linux;
     maintainers = [ maintainers.romildo ];
diff --git a/pkgs/data/icons/iso-flags/default.nix b/pkgs/data/icons/iso-flags/default.nix
index 4252853b898ca..57cc1752f1873 100644
--- a/pkgs/data/icons/iso-flags/default.nix
+++ b/pkgs/data/icons/iso-flags/default.nix
@@ -1,9 +1,7 @@
 { lib, stdenv
 , fetchFromGitHub
 , perl
-, perlPackages
 , inkscape
-, pngcrush
 , librsvg
 , targets ? [ "all" ]
 }:
diff --git a/pkgs/data/icons/luna-icons/default.nix b/pkgs/data/icons/luna-icons/default.nix
index b3513818df87f..5c44619e02dd6 100644
--- a/pkgs/data/icons/luna-icons/default.nix
+++ b/pkgs/data/icons/luna-icons/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "luna-icons";
-  version = "0.9.2";
+  version = "1.0";
 
   src = fetchFromGitHub {
     owner = "darkomarko42";
     repo = pname;
     rev = version;
-    sha256 = "0ajx7yjkgj5ynbjmd6k3cldjn0qr51h6k80hjgr7vqd0ybyylh5p";
+    sha256 = "1gggsd7scf15vrpgzvskx4p3jifnjdx0aqndqhvpc6ksdbh3nzqd";
   };
 
   nativeBuildInputs = [
@@ -35,12 +35,6 @@ stdenv.mkDerivation rec {
     mkdir -p $out/share/icons
     cp -a Luna* $out/share/icons
 
-    # remove files with spaces in the name, otherwise
-    # gtk-update-icon-cache fails with the message "The generated cache
-    # was invalid"
-    # https://github.com/darkomarko42/Luna-Icons/issues/2
-    rm "$out/share/icons/Luna/scalable/apps/yast-checkmedia (copia).svg"
-
     for theme in $out/share/icons/*; do
       gtk-update-icon-cache "$theme"
     done
diff --git a/pkgs/data/icons/maia-icon-theme/default.nix b/pkgs/data/icons/maia-icon-theme/default.nix
index 75c7cd58007a0..32365b70184be 100644
--- a/pkgs/data/icons/maia-icon-theme/default.nix
+++ b/pkgs/data/icons/maia-icon-theme/default.nix
@@ -35,6 +35,8 @@ stdenv.mkDerivation {
 
   dontDropIconThemeCache = true;
 
+  dontWrapQtApps = true;
+
   postInstall = ''
     for theme in $out/share/icons/*; do
       gtk-update-icon-cache $theme
diff --git a/pkgs/data/icons/papirus-icon-theme/default.nix b/pkgs/data/icons/papirus-icon-theme/default.nix
index ed5f8e7c4c2ad..b18354910e444 100644
--- a/pkgs/data/icons/papirus-icon-theme/default.nix
+++ b/pkgs/data/icons/papirus-icon-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "papirus-icon-theme";
-  version = "20210101";
+  version = "20210201";
 
   src = fetchFromGitHub {
     owner = "PapirusDevelopmentTeam";
     repo = pname;
     rev = version;
-    sha256 = "sha256-RHuT+zJQyhiApeLuh821PMI9dmD20OoRVxezF/uCWoE=";
+    sha256 = "sha256-TQEpNFmsloq1jIg6QsuY8kllINpmwJCY+Anwker6Z5M=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/data/misc/ddccontrol-db/default.nix b/pkgs/data/misc/ddccontrol-db/default.nix
index 38f72b5a2efe7..2212b158c8ad4 100644
--- a/pkgs/data/misc/ddccontrol-db/default.nix
+++ b/pkgs/data/misc/ddccontrol-db/default.nix
@@ -6,13 +6,15 @@
 , fetchFromGitHub
 }:
 
-stdenv.mkDerivation {
-  name = "ddccontrol-db-20180908";
+stdenv.mkDerivation rec {
+  pname = "ddccontrol-db";
+  version = "20201221";
+
   src = fetchFromGitHub {
     owner = "ddccontrol";
     repo = "ddccontrol-db";
-    rev = "5f211be363f77dc43e39f911b30f4fb19a2d7a84";
-    sha256 = "0vi3bzxpjdkn791vri68k7dah4v2liscniz7hxrarhl4fxlicc0w";
+    rev = version;
+    sha256 = "1sryyjjad835mwc7a2avbij6myln8b824kjdr78gc9hh3p16929b";
   };
 
   preConfigure = ''
diff --git a/pkgs/data/misc/hackage/default.nix b/pkgs/data/misc/hackage/default.nix
index 581d897702f51..d1d8b91bdacb4 100644
--- a/pkgs/data/misc/hackage/default.nix
+++ b/pkgs/data/misc/hackage/default.nix
@@ -1,6 +1,6 @@
 { fetchurl }:
 
 fetchurl {
-  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/f8773aba1736a7929a7262fdd6217be67f679c98.tar.gz";
-  sha256 = "1flmp0r1isgp8mf85iwiwps6sa3wczb6k0zphprhnvbi2dzg9x87";
+  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/c0fe8e827d5ec71141700f5d5a90a6f6616ecbc5.tar.gz";
+  sha256 = "16is1cipkfiabbh01i247vqfviwzjpfhgf6pkli61wwlhnk0q95s";
 }
diff --git a/pkgs/data/misc/nixos-artwork/icons.nix b/pkgs/data/misc/nixos-artwork/icons.nix
index caab674393a18..af8a157d491ca 100644
--- a/pkgs/data/misc/nixos-artwork/icons.nix
+++ b/pkgs/data/misc/nixos-artwork/icons.nix
@@ -1,13 +1,25 @@
-{ stdenv, fetchFromGitHub, imagemagick }:
+{ stdenv
+, fetchFromGitHub
+, imagemagick
+}:
 
 stdenv.mkDerivation {
-  name = "nixos-icons-2017-03-16";
-  srcs = fetchFromGitHub {
+  pname = "nixos-icons";
+  version = "2021-02-24";
+
+  src = fetchFromGitHub {
     owner = "NixOS";
     repo = "nixos-artwork";
-    rev = "783ca1249fc4cfe523ad4e541f37e2229891bc8b";
-    sha256 = "0wp08b1gh2chs1xri43wziznyjcplx0clpsrb13wzyscv290ay5a";
+    rev = "488c22aad523c709c44169d3e88d34b4691c20dc";
+    sha256 = "ZoanCzn4pqGB1fyMzMyGQVT0eIhNdL7ZHJSn1VZWVRs=";
   };
-  makeFlags = [ "DESTDIR=$(out)" "prefix=" ];
-  nativeBuildInputs = [ imagemagick ];
+
+  nativeBuildInputs = [
+    imagemagick
+  ];
+
+  makeFlags = [
+    "DESTDIR=${placeholder "out"}"
+    "prefix="
+  ];
 }
diff --git a/pkgs/data/misc/osinfo-db/default.nix b/pkgs/data/misc/osinfo-db/default.nix
index 70224aaa83632..a75b2c1b65dad 100644
--- a/pkgs/data/misc/osinfo-db/default.nix
+++ b/pkgs/data/misc/osinfo-db/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "osinfo-db";
-  version = "20201218";
+  version = "20210202";
 
   src = fetchurl {
     url = "https://releases.pagure.org/libosinfo/${pname}-${version}.tar.xz";
-    sha256 = "sha256-APKuXWtnpF1r/q2MXddaDeBnBigx4hwMevPwx5uNq3k=";
+    sha256 = "sha256-C7Vq7d+Uos9IhTwOgsrK64c9mMGVkNgfvOrbBqORsRs=";
   };
 
   nativeBuildInputs = [ osinfo-db-tools gettext libxml2 ];
diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix
index 98a6b9877d15f..7ab25da3cc431 100644
--- a/pkgs/data/misc/tzdata/default.nix
+++ b/pkgs/data/misc/tzdata/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
   preInstall = ''
      mv zic.o zic.o.orig
      mv zic zic.orig
-     make $makeFlags cc=cc AR=ar zic
+     make $makeFlags cc=${stdenv.cc.nativePrefix}cc AR=${stdenv.cc.nativePrefix}ar zic
      mv zic zic-native
      mv zic.o.orig zic.o
      mv zic.orig zic
diff --git a/pkgs/data/themes/gruvbox-dark-gtk/default.nix b/pkgs/data/themes/gruvbox-dark-gtk/default.nix
new file mode 100644
index 0000000000000..3b6f68ab4754c
--- /dev/null
+++ b/pkgs/data/themes/gruvbox-dark-gtk/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "gruvbox-dark-gtk";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "jmattheis";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1wf4ybnjdp2kbbvz7pmqdnzk94axaqx5ws18f34hrg4y267n0w4g";
+  };
+
+  installPhase = ''
+    mkdir -p $out/share/themes/gruvbox-dark
+    rm -rf README.md LICENSE .github
+    cp -r * $out/share/themes/gruvbox-dark
+  '';
+
+  meta = with lib; {
+    description = "Gruvbox theme for GTK based desktop environments";
+    homepage = "https://github.com/jmattheis/gruvbox-dark-gtk";
+    license = licenses.gpl3Only;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.nomisiv ];
+  };
+}
diff --git a/pkgs/data/themes/matcha/default.nix b/pkgs/data/themes/matcha/default.nix
index f7f139a9ea97d..5297fe056837e 100644
--- a/pkgs/data/themes/matcha/default.nix
+++ b/pkgs/data/themes/matcha/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "matcha-gtk-theme";
-  version = "2021-01-12";
+  version = "2021-02-04";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    sha256 = "1h6y89aajygbp1rc3d5dw2vgb64a3hiajlifb4xnzhycc77vjskr";
+    sha256 = "sha256-CDym+yqLu7QpqmdUpXAbJTCjQf/r9D1sl7ZdpaWaXFE=";
   };
 
   buildInputs = [ gdk-pixbuf librsvg ];
diff --git a/pkgs/data/themes/orchis/default.nix b/pkgs/data/themes/orchis/default.nix
new file mode 100644
index 0000000000000..ee315427e230b
--- /dev/null
+++ b/pkgs/data/themes/orchis/default.nix
@@ -0,0 +1,42 @@
+{ lib, stdenv, fetchFromGitHub, gtk3, gnome-themes-extra, gtk-engine-murrine
+, accentColor ? "default" }:
+
+stdenv.mkDerivation rec {
+  pname = "orchis";
+  version = "2021-01-22";
+
+  src = fetchFromGitHub {
+    repo = "Orchis-theme";
+    owner = "vinceliuice";
+    rev = version;
+    sha256 = "1m0wilvrscg2xnkp6a90j0iccxd8ywvfpza1345sc6xmml9gvjzc";
+  };
+
+  nativeBuildInputs = [ gtk3 ];
+
+  buildInputs = [ gnome-themes-extra ];
+
+  propagatedUserEnvPkgs = [ gtk-engine-murrine ];
+
+  dontPatch = true;
+  dontConfigure = true;
+  dontBuild = true;
+
+  preInstall = ''
+    mkdir -p $out/share/themes
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    bash install.sh -d $out/share/themes -t ${accentColor}
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A Material Design theme for GNOME/GTK based desktop environments.";
+    homepage = "https://github.com/vinceliuice/Orchis-theme";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.fufexan ];
+  };
+}
diff --git a/pkgs/data/themes/qogir/default.nix b/pkgs/data/themes/qogir/default.nix
index d4ffdca3ae331..3f87473a4a15c 100644
--- a/pkgs/data/themes/qogir/default.nix
+++ b/pkgs/data/themes/qogir/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qogir-theme";
-  version = "2020-11-16";
+  version = "2021-02-09";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    sha256 = "0qp65py1p93f5bxbf0jgc1d2lwrjhb7d0vzkivm73haji197l9p5";
+    sha256 = "1pilq939bqzxysw4ixd279c49bp7l74bykpprrhgc5f2klpjg1zn";
   };
 
   buildInputs = [ gdk-pixbuf librsvg ];
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Flat Design theme for GTK based desktop environments";
     homepage = "https://vinceliuice.github.io/Qogir-theme";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/pkgs/data/themes/yaru/default.nix b/pkgs/data/themes/yaru/default.nix
index 7121aed9b1e48..29176c664cadf 100644
--- a/pkgs/data/themes/yaru/default.nix
+++ b/pkgs/data/themes/yaru/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "yaru";
-  version = "20.10.2";
+  version = "20.10.6.1";
 
   src = fetchFromGitHub {
     owner = "ubuntu";
     repo = "yaru";
     rev = version;
-    sha256 = "0vxs17nbahrdix1q9xj06nflm344lfgj2mrafsvyfcr2isn61iv6";
+    sha256 = "0kcmxfz2rfav7aj5v1vv335vqzyj0n53lbhwx0g6gxxfi0x3vv6v";
   };
 
   nativeBuildInputs = [ meson sassc pkg-config glib ninja python3 ];
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Ubuntu community theme 'yaru' - default Ubuntu theme since 18.10";
     homepage = "https://github.com/ubuntu/yaru";
-    license = with licenses; [ cc-by-sa-40 gpl3 ];
+    license = with licenses; [ cc-by-sa-40 gpl3Plus lgpl21Only lgpl3Only ];
     platforms = platforms.linux;
     maintainers = [ maintainers.jD91mZM2 ];
   };
diff --git a/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix b/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
index 198cfe40a6de8..4e951bfcc5865 100644
--- a/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
@@ -8,18 +8,11 @@
 , intltool
 , gtk3
 , libnotify
-, gnome-menus
 , libxml2
-, systemd
-, upower
 , gnome-online-accounts
 , cinnamon-settings-daemon
 , colord
 , polkit
-, ibus
-, libpulseaudio
-, isocodes
-, kerberos
 , libxkbfile
 , cinnamon-menus
 , dbus-glib
@@ -27,7 +20,6 @@
 , libxklavier
 , networkmanager
 , libwacom
-, gnome3
 , libtool
 , wrapGAppsHook
 , tzdata
diff --git a/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix b/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
index 80a026e88361b..0e8f6dbf8c3d9 100644
--- a/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
@@ -11,18 +11,10 @@
 , intltool
 , libxslt
 , gtk3
-, libnotify
-, libxkbfile
-, cinnamon-menus
 , libgnomekbd
-, libxklavier
-, networkmanager
-, libwacom
 , gnome3
 , libtool
 , wrapGAppsHook
-, tzdata
-, glibc
 , gobject-introspection
 , python3
 , pam
diff --git a/pkgs/desktops/cinnamon/default.nix b/pkgs/desktops/cinnamon/default.nix
index 68ccd76211d25..2a52b83f04657 100644
--- a/pkgs/desktops/cinnamon/default.nix
+++ b/pkgs/desktops/cinnamon/default.nix
@@ -31,4 +31,5 @@ lib.makeScope pkgs.newScope (self: with self; {
   muffin = callPackage ./muffin { };
   xapps = callPackage ./xapps { };
   warpinator = callPackage ./warpinator { };
+  xviewer = callPackage ./xviewer { };
 })
diff --git a/pkgs/desktops/cinnamon/xviewer/default.nix b/pkgs/desktops/cinnamon/xviewer/default.nix
new file mode 100644
index 0000000000000..53e88ddb947d1
--- /dev/null
+++ b/pkgs/desktops/cinnamon/xviewer/default.nix
@@ -0,0 +1,70 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, autoreconfHook
+, cinnamon-desktop
+, file
+, gdk-pixbuf
+, glib
+, gobject-introspection
+, gtk-doc
+, gtk3
+, intltool
+, itstool
+, lcms2
+, libexif
+, libjpeg
+, libpeas
+, libtool
+, libxml2
+, pkg-config
+, shared-mime-info
+, wrapGAppsHook
+, xapps
+, yelp-tools }:
+
+stdenv.mkDerivation rec {
+  pname = "xviewer";
+  version = "2.8.3";
+
+  src = fetchFromGitHub {
+    owner = "linuxmint";
+    repo = pname;
+    rev = version;
+    sha256 = "0h3qgqaiz5swy09fr6z3ag2952hgzsk5d2fpwmwb78yjrzrhnzpy";
+  };
+
+  nativeBuildInputs = [
+    wrapGAppsHook
+    autoreconfHook
+    cinnamon-desktop
+    gdk-pixbuf
+    gobject-introspection
+    gtk-doc
+    intltool
+    itstool
+    libtool
+    pkg-config
+    yelp-tools
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+    libexif
+    libjpeg
+    libpeas
+    libxml2
+    shared-mime-info
+    xapps
+    lcms2
+  ];
+
+  meta = with lib; {
+    description = "A generic image viewer from Linux Mint";
+    homepage = "https://github.com/linuxmint/xviewer";
+    license = licenses.gpl2Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ tu-maurice ];
+  };
+}
diff --git a/pkgs/desktops/enlightenment/evisum/default.nix b/pkgs/desktops/enlightenment/evisum/default.nix
index 8222c6ed843ec..0c2ff79ddbd3b 100644
--- a/pkgs/desktops/enlightenment/evisum/default.nix
+++ b/pkgs/desktops/enlightenment/evisum/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "evisum";
-  version = "0.5.9";
+  version = "0.5.11";
 
   src = fetchurl {
     url = "https://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-ao5b4Mhr+fhY19X1g0gupcU8LayR55/kgHSwhGUAfys=";
+    sha256 = "sha256-jCOYnG/+xz9qK6npOPT+tw1tp/K0QaFCmsBRO9J4bjE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix b/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix
index 93a036228c3ea..82c40fc429d55 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-getting-started-docs/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-getting-started-docs";
-  version = "3.38.0";
+  version = "3.38.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-getting-started-docs/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0ficf4i4njqrx3dn5rdkvpvcys5mwfma4zkgfmfkq964jxpwzqvw";
+    sha256 = "EPviPyw85CdTmk4wekYWlNOHCyMgBGT3BbfYGvmTyFk=";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix b/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix
index f5ca1ba0ea618..6cc5c2ab78330 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix
@@ -19,11 +19,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-sound-recorder";
-  version = "3.38.0";
+  version = "3.38.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "I5A/c2G+QQhw+6lHIJFnuW9JB2MGQdM8y6qOQvV0tpk=";
+    sha256 = "2Z6k+WPsEInpzVl6fUQ5ihHs7xMeQUInGhyQwVuqRSE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/apps/seahorse/default.nix b/pkgs/desktops/gnome-3/apps/seahorse/default.nix
index f0972f8d6f183..60ec6792e5dd7 100644
--- a/pkgs/desktops/gnome-3/apps/seahorse/default.nix
+++ b/pkgs/desktops/gnome-3/apps/seahorse/default.nix
@@ -1,6 +1,5 @@
 { lib, stdenv
 , fetchurl
-, fetchpatch
 , vala
 , meson
 , ninja
diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix
index 4a1a305d127e3..31828bad0af11 100644
--- a/pkgs/desktops/gnome-3/core/evince/default.nix
+++ b/pkgs/desktops/gnome-3/core/evince/default.nix
@@ -43,13 +43,13 @@
 
 stdenv.mkDerivation rec {
   pname = "evince";
-  version = "3.38.1";
+  version = "3.38.2";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/evince/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "APbWaJzCLePABb2H1MLr9yAGTLjcahiHgW+LfggrLmM=";
+    sha256 = "J9QZ1f7WMF4HRijtz94MtzT//aIF1jysMjORwEkDvZQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
index def25f62f3c1c..cfe8197a90bf1 100644
--- a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution-data-server";
-  version = "3.38.2";
+  version = "3.38.4";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0mflr8a3f2q55rirvqhizji0zinic75jk8mksflszqzgcdcph85z";
+    sha256 = "rFPxay1R8+f/gCX5yhn0otTOOEHXKun+K7iX3ICZ1wU=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/core/gdm/default.nix
index c88c1e0f525fa..324ab865b11e5 100644
--- a/pkgs/desktops/gnome-3/core/gdm/default.nix
+++ b/pkgs/desktops/gnome-3/core/gdm/default.nix
@@ -33,14 +33,9 @@
 
 let
 
-  icon = fetchurl {
-    url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/4f041870efa1a6f0799ef4b32bb7be2cafee7a74/logo/nixos.svg";
-    sha256 = "0b0dj408c1wxmzy6k0pjwc4bzwq286f1334s3cqqwdwjshxskshk";
-  };
-
   override = substituteAll {
     src = ./org.gnome.login-screen.gschema.override;
-    inherit icon;
+    icon = "${nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake-white.svg";
   };
 
 in
diff --git a/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix b/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix
index 3a7e21c65f54f..ef5e564beb957 100644
--- a/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix
@@ -2,7 +2,6 @@
 , gettext
 , fetchurl
 , evolution-data-server
-, fetchpatch
 , pkg-config
 , libxslt
 , docbook_xsl
diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
index 5a78f412dc7ac..603aaf1744b72 100644
--- a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
@@ -22,7 +22,6 @@
 , gnome-color-manager
 , gnome-desktop
 , gnome-online-accounts
-, gnome-session
 , gnome-settings-daemon
 , gnome3
 , grilo
@@ -59,6 +58,7 @@
 , shared-mime-info
 , sound-theme-freedesktop
 , tracker
+, tracker-miners
 , tzdata
 , udisks2
 , upower
@@ -76,6 +76,7 @@ stdenv.mkDerivation rec {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "09i011hf23s2i4wim43vjys7y4y43cxl3kyvrnrwqvqgc5n0144d";
   };
+
   # See https://mail.gnome.org/archives/distributor-list/2020-September/msg00001.html
   prePatch = (import ../gvc-with-ucm-prePatch.nix {
     inherit fetchFromGitLab;
@@ -101,6 +102,7 @@ stdenv.mkDerivation rec {
     clutter-gtk
     colord
     colord-gtk
+    epoxy
     fontconfig
     gdk-pixbuf
     glib
@@ -122,6 +124,7 @@ stdenv.mkDerivation rec {
     libgudev
     libhandy
     libkrb5
+    libnma
     libpulseaudio
     libpwquality
     librsvg
@@ -132,13 +135,12 @@ stdenv.mkDerivation rec {
     modemmanager
     mutter # schemas for the keybindings
     networkmanager
-    libnma
     polkit
     samba
     tracker
+    tracker-miners # for search locations dialog
     udisks2
     upower
-    epoxy
   ];
 
   patches = [
@@ -160,6 +162,11 @@ stdenv.mkDerivation rec {
       url = "https://gitlab.gnome.org/GNOME/gnome-control-center/commit/64686cfee330849945f6ff4dcc43393eb1a6e59c.patch";
       sha256 = "4VJU0q6qOtGzd/hmDncckInfEjCkC8+lXmDgxwc4VJU=";
     })
+    # https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1173
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-control-center/-/commit/27e1140c9d4ad852b4dc6a132a14cd5532d52997.patch";
+      sha256 = "nU3szjKfXpRek8hhsxiCJNgMeDeIRK3QVo82D9R+kL4=";
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix b/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix
index 002ae9197b747..d2909c449d4ae 100644
--- a/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix
@@ -30,7 +30,6 @@
 , systemd
 , libnma
 , tzdata
-, yelp
 , libgnomekbd
 , gsettings-desktop-schemas
 , gnome-tour
diff --git a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
index cea158205574d..93453cc72e949 100644
--- a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, dbus, libgcrypt, pam, python2, glib, libxslt
+{ lib, stdenv, fetchurl, fetchpatch, pkg-config, dbus, libgcrypt, pam, python2, glib, libxslt
 , gettext, gcr, libcap_ng, libselinux, p11-kit, openssh, wrapGAppsHook
 , docbook_xsl, docbook_xml_dtd_43, gnome3 }:
 
@@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "11sgffrrpss5cmv3b717pqlbhgq17l1xd33fsvqgsw8simxbar52";
   };
 
+  patches = [
+    # version 3.36.0 is incompatible with libncap_ng >= 0.8.1. remove patch after update.
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-keyring/-/commit/ebc7bc9efacc17049e54da8d96a4a29943621113.diff";
+      sha256 = "07bx7zmdswqsa3dj37m729g35n1prhylkw7ya8a7h64i10la12cs";
+    })
+  ];
+
   outputs = [ "out" "dev" ];
 
   buildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/core/gnome-session/default.nix
index d2dca54b5ca46..1fa0a0b0fc64d 100644
--- a/pkgs/desktops/gnome-3/core/gnome-session/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-session/default.nix
@@ -1,6 +1,7 @@
 { fetchurl, lib, stdenv, substituteAll, meson, ninja, pkg-config, gnome3, glib, gtk3, gsettings-desktop-schemas
 , gnome-desktop, dbus, json-glib, libICE, xmlto, docbook_xsl, docbook_xml_dtd_412, python3
-, libxslt, gettext, makeWrapper, systemd, xorg, epoxy, gnugrep, bash, gnome-session-ctl }:
+, libxslt, gettext, makeWrapper, systemd, xorg, epoxy, gnugrep, bash, gnome-session-ctl
+, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-session";
@@ -21,6 +22,12 @@ stdenv.mkDerivation rec {
       grep = "${gnugrep}/bin/grep";
       bash = "${bash}/bin/bash";
     })
+    # Fixes 2 minute delay at poweroff.
+    # https://gitlab.gnome.org/GNOME/gnome-session/issues/74
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-session/-/commit/9de6e40f12e8878f524f8d429d85724c156a0517.diff";
+      sha256 = "19vrjdf7d6dfl7sqxvbc5h5lcgk1krgzg5rkssrdzd1h4ma6y8fz";
+    })
   ];
 
   mesonFlags = [ "-Dsystemd=true" "-Dsystemd_session=default" ];
diff --git a/pkgs/desktops/gnome-3/core/gnome-software/default.nix b/pkgs/desktops/gnome-3/core/gnome-software/default.nix
index 215e95d9ad2d1..ff80efaa4de4d 100644
--- a/pkgs/desktops/gnome-3/core/gnome-software/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-software/default.nix
@@ -1,13 +1,43 @@
-{ lib, stdenv, fetchurl, substituteAll, pkg-config, meson, ninja, gettext, gnome3, wrapGAppsHook, packagekit, ostree
-, glib, appstream-glib, libsoup, polkit, isocodes, gspell, libxslt, gobject-introspection, flatpak, fwupd
-, gtk3, gsettings-desktop-schemas, gnome-desktop, libxmlb, gnome-online-accounts
-, json-glib, libsecret, valgrind-light, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_43, gtk-doc, desktop-file-utils
-, libsysprof-capture }:
+{ lib
+, stdenv
+, fetchurl
+, substituteAll
+, pkg-config
+, meson
+, ninja
+, gettext
+, gnome3
+, wrapGAppsHook
+, packagekit
+, ostree
+, glib
+, appstream-glib
+, libsoup
+, polkit
+, isocodes
+, gspell
+, libxslt
+, gobject-introspection
+, flatpak
+, fwupd
+, gtk3
+, gsettings-desktop-schemas
+, gnome-desktop
+, libxmlb
+, gnome-online-accounts
+, json-glib
+, libsecret
+, valgrind-light
+, docbook-xsl-nons
+, docbook_xml_dtd_42
+, docbook_xml_dtd_43
+, gtk-doc
+, desktop-file-utils
+, libsysprof-capture
+}:
 
 let
-
   withFwupd = stdenv.isx86_64 || stdenv.isi686;
-
 in
 
 stdenv.mkDerivation rec {
@@ -27,15 +57,38 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    meson ninja pkg-config gettext wrapGAppsHook libxslt docbook_xml_dtd_42 docbook_xml_dtd_43
-    valgrind-light docbook_xsl gtk-doc desktop-file-utils gobject-introspection
+    meson
+    ninja
+    pkg-config
+    gettext
+    wrapGAppsHook
+    libxslt
+    docbook_xml_dtd_42
+    docbook_xml_dtd_43
+    valgrind-light
+    docbook-xsl-nons
+    gtk-doc
+    desktop-file-utils
+    gobject-introspection
   ];
 
   buildInputs = [
-    gtk3 glib packagekit appstream-glib libsoup
-    gsettings-desktop-schemas gnome-desktop
-    gspell json-glib libsecret ostree
-    polkit flatpak libxmlb gnome-online-accounts libsysprof-capture
+    gtk3
+    glib
+    packagekit
+    appstream-glib
+    libsoup
+    gsettings-desktop-schemas
+    gnome-desktop
+    gspell
+    json-glib
+    libsecret
+    ostree
+    polkit
+    flatpak
+    libxmlb
+    gnome-online-accounts
+    libsysprof-capture
   ] ++ lib.optionals withFwupd [
     fwupd
   ];
@@ -51,7 +104,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = gnome3.updateScript {
-      packageName = "gnome-software";
+      packageName = pname;
       attrPath = "gnome3.gnome-software";
     };
   };
@@ -59,7 +112,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Software store that lets you install and update applications and system extensions";
     homepage = "https://wiki.gnome.org/Apps/Software";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = teams.gnome.members;
     platforms = platforms.linux;
   };
diff --git a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
index 087aa7f5ce0cf..52aee2a004a7e 100644
--- a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
@@ -1,15 +1,15 @@
 { lib, stdenv, fetchurl, pkg-config, libxml2, gnome3, dconf, nautilus
 , gtk3, gsettings-desktop-schemas, vte, gettext, which, libuuid, vala
-, desktop-file-utils, itstool, wrapGAppsHook, glib, pcre2
+, desktop-file-utils, itstool, wrapGAppsHook, pcre2
 , libxslt, docbook-xsl-nons }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-terminal";
-  version = "3.38.2";
+  version = "3.38.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-terminal/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "J73cnQumFMhuXstPVMdevDQV4oh6zZFEIFdUj9MgZhg=";
+    sha256 = "EaWw1jXxX9znUINRpRD79OkqpTMVKlD/DHhF4xAuR2Q=";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/gnome-tour/default.nix b/pkgs/desktops/gnome-3/core/gnome-tour/default.nix
index 2b84442620db1..61f8761ce8175 100644
--- a/pkgs/desktops/gnome-3/core/gnome-tour/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-tour/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , rustPlatform
 , gettext
 , meson
@@ -15,9 +16,11 @@
 , gnome3
 , libhandy
 , librsvg
+, rustc
+, cargo
 }:
 
-rustPlatform.buildRustPackage rec {
+stdenv.mkDerivation rec {
   pname = "gnome-tour";
   version = "3.38.0";
 
@@ -30,6 +33,7 @@ rustPlatform.buildRustPackage rec {
 
   nativeBuildInputs = [
     appstream-glib
+    cargo
     desktop-file-utils
     gettext
     glib # glib-compile-resources
@@ -37,6 +41,8 @@ rustPlatform.buildRustPackage rec {
     ninja
     pkg-config
     python3
+    rustPlatform.cargoSetupHook
+    rustc
     wrapGAppsHook
   ];
 
@@ -48,12 +54,6 @@ rustPlatform.buildRustPackage rec {
     librsvg
   ];
 
-  # Don't use buildRustPackage phases, only use it for rust deps setup
-  configurePhase = null;
-  buildPhase = null;
-  checkPhase = null;
-  installPhase = null;
-
   postPatch = ''
     chmod +x build-aux/meson_post_install.py
     patchShebangs build-aux/meson_post_install.py
diff --git a/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix b/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
index b02c7039e51d7..d4b6561c0ded9 100644
--- a/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
+++ b/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
@@ -38,7 +38,15 @@ stdenv.mkDerivation rec {
     homepage = "https://wiki.gnome.org/Apps/Yelp";
     description = "Yelp's universal stylesheets for Mallard and DocBook";
     maintainers = teams.gnome.members;
-    license = [licenses.gpl2 licenses.lgpl2];
-    platforms = platforms.linux;
+    license = with licenses; [
+      # See https://gitlab.gnome.org/GNOME/yelp-xsl/blob/master/COPYING
+      # Stylesheets
+      lgpl2Plus
+      # Icons, unclear: https://gitlab.gnome.org/GNOME/yelp-xsl/issues/25
+      gpl2
+      # highlight.js
+      bsd3
+    ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/desktops/gnome-3/extensions/arc-menu/default.nix b/pkgs/desktops/gnome-3/extensions/arcmenu/default.nix
index 58f1836a132a6..851a816c61c73 100644
--- a/pkgs/desktops/gnome-3/extensions/arc-menu/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/arcmenu/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitLab, glib, gettext, substituteAll, gnome-menus }:
 
 stdenv.mkDerivation rec {
-  pname = "gnome-shell-arc-menu";
-  version = "47";
+  pname = "gnome-shell-arcmenu";
+  version = "5";
 
   src = fetchFromGitLab {
-    owner = "arcmenu-team";
-    repo = "Arc-Menu";
-    rev = "v${version}-Stable";
-    sha256 = "1hhjxdm1sm9pddhkkxx532hqqiv9ghvqgn9xszg1jwhj29380fv6";
+    owner = "arcmenu";
+    repo = "ArcMenu";
+    rev = "v${version}";
+    sha256 = "1w4avvnp08l7lkf76vc7wvfn1cd81l4r4dhz8qnai49rvrjgqcg3";
   };
 
   patches = [
@@ -24,12 +24,12 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions" ];
 
-  uuid = "arc-menu@linxgem33.com";
+  uuid = "arcmenu@arcmenu.com";
 
   meta = with lib; {
-    description = "Gnome shell extension designed to replace the standard menu found in Gnome 3";
+    description = "Application menu for GNOME Shell, designed to provide a more traditional user experience and workflow";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ dkabot ];
-    homepage = "https://gitlab.com/LinxGem33/Arc-Menu";
+    homepage = "https://gitlab.com/arcmenu/ArcMenu";
   };
 }
diff --git a/pkgs/desktops/gnome-3/extensions/arc-menu/fix_gmenu.patch b/pkgs/desktops/gnome-3/extensions/arcmenu/fix_gmenu.patch
index 5d8584f52a6aa..5d8584f52a6aa 100644
--- a/pkgs/desktops/gnome-3/extensions/arc-menu/fix_gmenu.patch
+++ b/pkgs/desktops/gnome-3/extensions/arcmenu/fix_gmenu.patch
diff --git a/pkgs/desktops/gnome-3/extensions/fuzzy-app-search/default.nix b/pkgs/desktops/gnome-3/extensions/fuzzy-app-search/default.nix
new file mode 100755
index 0000000000000..f8a8803435baa
--- /dev/null
+++ b/pkgs/desktops/gnome-3/extensions/fuzzy-app-search/default.nix
@@ -0,0 +1,29 @@
+{ lib, stdenv, fetchFromGitLab, gnome3, glib }:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-shell-extension-fuzzy-app-search";
+  version = "4";
+
+  src = fetchFromGitLab {
+    owner = "Czarlie";
+    repo = "gnome-fuzzy-app-search";
+    rev = "da9c15d39958d9c3b38df3b616fd40b85aed24e5";
+    sha256 = "1r3qha530s97x818znn1wi76f4x9bhlgi7jlxfwjnrwys62cv5fn";
+  };
+
+  uuid = "gnome-fuzzy-app-search@gnome-shell-extensions.Czarlie.gitlab.com";
+
+  nativeBuildInputs = [ glib ];
+
+  patches = [ ./fix-desktop-file-paths.patch ];
+
+  makeFlags = [ "INSTALL_PATH=$(out)/share/gnome-shell/extensions" ];
+
+  meta = with lib; {
+    description = "Fuzzy application search results for Gnome Search";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ rhoriguchi ];
+    homepage = "https://gitlab.com/Czarlie/gnome-fuzzy-app-search";
+    broken = versionOlder gnome3.gnome-shell.version "3.18";
+  };
+}
diff --git a/pkgs/desktops/gnome-3/extensions/fuzzy-app-search/fix-desktop-file-paths.patch b/pkgs/desktops/gnome-3/extensions/fuzzy-app-search/fix-desktop-file-paths.patch
new file mode 100755
index 0000000000000..1795f998c9bde
--- /dev/null
+++ b/pkgs/desktops/gnome-3/extensions/fuzzy-app-search/fix-desktop-file-paths.patch
@@ -0,0 +1,50 @@
+diff --git a/applicationsUtils.js b/applicationsUtils.js
+index 728223b..aa9f291 100644
+--- a/applicationsUtils.js
++++ b/applicationsUtils.js
+@@ -44,27 +44,24 @@ var Search = new Lang.Class({
+      * @return {Void}
+      */
+     _init: function () {
+-        let dir = [
+-            "/usr/share/applications",
+-            GLib.get_home_dir() + "/.local/share/applications",
+-        ];
+-
+-        // listen object - file/monitor list
+-        this._listen = dir.map((path) => {
+-            let file = Gio.File.new_for_path(path);
+-            let monitor = file.monitor(Gio.FileMonitorFlags.NONE, null);
+-
+-            // refresh on each directory change
+-            monitor.connect(
+-                "changed",
+-                Lang.bind(this, this._handleMonitorChanged)
+-            );
+-
+-            return {
+-                file: file,
+-                monitor: monitor,
+-            };
+-        });
++        this._listen = [...new Set(GLib.get_system_data_dirs())]
++            .filter((path) => path.endsWith("/share"))
++            .map((path) => Gio.File.new_for_path(path + "/applications"))
++            .filter((file) => file.query_exists(null))
++            .map((file) => {
++                let monitor = file.monitor(Gio.FileMonitorFlags.NONE, null);
++
++                // refresh on each directory change
++                monitor.connect(
++                    "changed",
++                    Lang.bind(this, this._handleMonitorChanged)
++                );
++
++                return {
++                    file: file,
++                    monitor: monitor,
++                };
++            });
+         this._interval = null;
+         this._data = {};
+ 
\ No newline at end of file
diff --git a/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix b/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix
index 0bdc3974d97c9..cb8ece571e71b 100644
--- a/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix
@@ -15,7 +15,6 @@
 , gnome3
 , gjs
 , nixosTests
-, gsettings-desktop-schemas
 }:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/desktops/gnome-3/extensions/no-title-bar/default.nix b/pkgs/desktops/gnome-3/extensions/no-title-bar/default.nix
index 7d143a061f68c..ad588be18ce9e 100644
--- a/pkgs/desktops/gnome-3/extensions/no-title-bar/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/no-title-bar/default.nix
@@ -2,18 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-no-title-bar";
-  version = "9";
+  version = "11";
 
   src = fetchFromGitHub {
-    owner = "franglais125";
+    owner = "poehlerj";
     repo = "no-title-bar";
-    rev = "v${version}";
-    sha256 = "02zm61fg40r005fn2rvgrbsz2hbcsmp2hkhyilqbmpilw35y0nbq";
+    rev = "V_${version}";
+    sha256 = "07ddw47binlsbyvgy4xkdjvd40zyp7nwd17r6k7w54d50vmnwhvb";
   };
 
-  nativeBuildInputs = [
-    glib gettext
-  ];
+  nativeBuildInputs = [ glib gettext ];
 
   patches = [
     (substituteAll {
@@ -25,14 +23,13 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ];
 
-  uuid = "no-title-bar@franglais125.gmail.com";
+  uuid = "no-title-bar@jonaspoehler.de";
 
   meta = with lib; {
     description = "Integrates maximized windows with the top panel";
-    homepage = "https://github.com/franglais125/no-title-bar";
+    homepage = "https://github.com/poehlerj/no-title-bar";
     license = licenses.gpl2;
-    broken = true; # https://github.com/franglais125/no-title-bar/issues/114
-    maintainers = with maintainers; [ jonafato svsdep ];
+    maintainers = with maintainers; [ jonafato svsdep maxeaubrey ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome-3/extensions/no-title-bar/fix-paths.patch b/pkgs/desktops/gnome-3/extensions/no-title-bar/fix-paths.patch
index 9a53d63860da9..fb2d3d57e51d3 100644
--- a/pkgs/desktops/gnome-3/extensions/no-title-bar/fix-paths.patch
+++ b/pkgs/desktops/gnome-3/extensions/no-title-bar/fix-paths.patch
@@ -1,24 +1,44 @@
+diff --git a/decoration.js b/decoration.js
+index d1ff3dd..ff4193f 100644
 --- a/decoration.js
 +++ b/decoration.js
-@@ -181,7 +181,7 @@
+@@ -223,7 +223,7 @@ var Decoration = class {
+ 
+         let winId = this._guessWindowXID(win);
+ 
+-        let xprops = GLib.spawn_command_line_sync(`xprop -id ${winId}`);
++        let xprops = GLib.spawn_command_line_sync(`@xprop@ -id ${winId}`);
+         if (!xprops[0]) {
+             Utils.log_debug(`Unable to determine windows '${win.get_title()}' original state`);
+             return win._noTitleBarOriginalState = WindowState.UNKNOWN;
+@@ -237,7 +237,7 @@ var Decoration = class {
+         let prop = '_MOTIF_WM_HINTS';
+         let value = '0x2, 0x0, %s, 0x0, 0x0'.format(hide ? '0x2' : '0x1');
+ 
+-        GLib.spawn_command_line_sync(`xprop -id ${windId} -f ${prop} 32c -set ${prop} "${value}"`);
++        GLib.spawn_command_line_sync(`@xprop@ -id ${windId} -f ${prop} 32c -set ${prop} "${value}"`);
+         if (!hide && !win.titlebar_is_onscreen()) {
+             Utils.log_debug(`Shoving titlebar onscreen for window '${win.get_title()}'`);
+             win.shove_titlebar_onscreen();
+@@ -354,7 +354,7 @@ var Decoration = class {
          let act = win.get_compositor_private();
          let xwindow = act && act['x-window'];
          if (xwindow) {
 -            let xwininfo = GLib.spawn_command_line_sync('xwininfo -children -id 0x%x'.format(xwindow));
 +            let xwininfo = GLib.spawn_command_line_sync('@xwininfo@ -children -id 0x%x'.format(xwindow));
              if (xwininfo[0]) {
-                 let str = xwininfo[1].toString();
+                 let str = ByteArray.toString(xwininfo[1]);
  
-@@ -207,7 +207,7 @@
+@@ -384,7 +384,7 @@ var Decoration = class {
          // Try enumerating all available windows and match the title. Note that this
          // may be necessary if the title contains special characters and `x-window`
          // is not available.
 -        let result = GLib.spawn_command_line_sync('xprop -root _NET_CLIENT_LIST');
 +        let result = GLib.spawn_command_line_sync('@xprop@ -root _NET_CLIENT_LIST');
          if (result[0]) {
-             let str = result[1].toString();
+             let str = ByteArray.toString(result[1]);
  
-@@ -218,7 +218,7 @@
+@@ -395,7 +395,7 @@ var Decoration = class {
  
              // For each window ID, check if the title matches the desired title.
              for (var i = 0; i < windowList.length; ++i) {
@@ -27,30 +47,10 @@
                  let result = GLib.spawn_command_line_sync(cmd);
  
                  if (result[0]) {
-@@ -258,7 +258,7 @@
-         }
- 
-         let id = this._guessWindowXID(win);
--        let cmd = 'xprop -id ' + id;
-+        let cmd = '@xprop@ -id ' + id;
- 
-         let xprops = GLib.spawn_command_line_sync(cmd);
-         if (!xprops[0]) {
-@@ -277,7 +277,7 @@
-         m = str.match(/^_GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED(\(CARDINAL\))? = ([0-9]+)$/m);
-         if (m) {
-             let state = !!parseInt(m[2]);
--            cmd = ['xprop', '-id', id,
-+            cmd = ['@xprop@', '-id', id,
-                   '-f', '_NO_TITLE_BAR_ORIGINAL_STATE', '32c',
-                   '-set', '_NO_TITLE_BAR_ORIGINAL_STATE',
-                   (state ? '0x1' : '0x0')];
-@@ -358,7 +358,7 @@
-         let winXID = this._guessWindowXID(win);
-         if (winXID == null)
-             return;
--        let cmd = ['xprop', '-id', winXID,
-+        let cmd = ['@xprop@', '-id', winXID,
-                    '-f', '_GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED', '32c',
-                    '-set', '_GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED',
-                    (hide ? '0x1' : '0x0')];
+@@ -455,4 +455,4 @@ var Decoration = class {
+         let styleContent = this._updateUserStyles();
+         GLib.file_set_contents(this._userStylesPath, styleContent);
+     }
+-}
+\ No newline at end of file
++}
diff --git a/pkgs/desktops/gnome-3/extensions/unite/default.nix b/pkgs/desktops/gnome-3/extensions/unite/default.nix
index 9d58a923740e5..1949b97fafb08 100644
--- a/pkgs/desktops/gnome-3/extensions/unite/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/unite/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, gnome3, fetchFromGitHub, xprop, glib, coreutils }:
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-unite";
-  version = "44";
+  version = "45";
 
   src = fetchFromGitHub {
     owner = "hardpixel";
     repo = "unite-shell";
     rev = "v${version}";
-    sha256 = "0nqc1q2yz4xa3fdfx45w6da1wijmdwzhdrch0mqwblgbpjr4fs9g";
+    sha256 = "sha256-ghmCnzlPvxHEy2ro1AL+T2yiavJVrPhRfIKbMBwMjac=";
   };
 
   uuid = "unite@hardpixel.eu";
diff --git a/pkgs/desktops/gnome-3/misc/geary/default.nix b/pkgs/desktops/gnome-3/misc/geary/default.nix
index 3ca257db49bf2..a209f2d2d9c2c 100644
--- a/pkgs/desktops/gnome-3/misc/geary/default.nix
+++ b/pkgs/desktops/gnome-3/misc/geary/default.nix
@@ -1,6 +1,5 @@
 { lib, stdenv
 , fetchurl
-, fetchpatch
 , pkg-config
 , gtk3
 , vala
diff --git a/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix b/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix
index 1f9b1ba871ddc..1947179028bf2 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix
@@ -16,7 +16,6 @@
 , adwaita-icon-theme
 , libgweather
 , gucharmap
-, tracker
 , polkit
 , gnome3
 }:
diff --git a/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix b/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix
index db7a6ba09205b..0ea59c3fc425c 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-autoar";
-  version = "0.2.4";
+  version = "0.3.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-autoar/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0yk56ch46n3wfy633mq31kif9n7v06rlij4vqbsbn6l4z1vw6d0a";
+    sha256 = "0ssqckfkyldwld88zizy446y2359rg40lnrcm3sjpjhc2b015hgj";
   };
 
   passthru = {
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     platforms = platforms.linux;
     maintainers = teams.gnome.members;
-    license = licenses.lgpl21;
+    license = licenses.lgpl21Plus;
     description = "Library to integrate compressed files management with GNOME";
   };
 }
diff --git a/pkgs/desktops/gnome-3/misc/gpaste/default.nix b/pkgs/desktops/gnome-3/misc/gpaste/default.nix
index 89d01c166b7a0..894197ae6d5f2 100644
--- a/pkgs/desktops/gnome-3/misc/gpaste/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gpaste/default.nix
@@ -17,14 +17,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.38.4";
+  version = "3.38.5";
   pname = "gpaste";
 
   src = fetchFromGitHub {
     owner = "Keruspe";
     repo = "GPaste";
     rev = "v${version}";
-    sha256 = "sha256-CvrwVyx5QP9CeEraJsUInV2pG5puSJebpXQiLwnrFSs=";
+    sha256 = "sha256-hUqFijqUQ1W8OThpbioqcxkOgYvScKUBmXN84MbMPGE=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnustep/base/default.nix b/pkgs/desktops/gnustep/base/default.nix
index 8cc68b7556935..8fe232dff7b48 100644
--- a/pkgs/desktops/gnustep/base/default.nix
+++ b/pkgs/desktops/gnustep/base/default.nix
@@ -1,7 +1,7 @@
 { aspell, audiofile
 , gsmakeDerivation
 , cups
-, fetchurl
+, fetchurl, fetchpatch
 , gmp, gnutls
 , libffi, binutils-unwrapped
 , libjpeg, libtiff, libpng, giflib, libungif
@@ -33,7 +33,13 @@ gsmakeDerivation {
     portaudio
     libiberty
   ];
-  patches = [ ./fixup-paths.patch ];
+  patches = [
+    ./fixup-paths.patch
+    (fetchpatch {  # for icu68 compatibility, remove with next update(?)
+      url = "https://github.com/gnustep/libs-base/commit/06fa7792a51cb970e5d010a393cb88eb127830d7.patch";
+      sha256 = "150n1sa34av9ywc04j36jvj7ic9x6pgr123rbn2mx5fj76q23852";
+    })
+  ];
 
   meta = {
     description = "An implementation of AppKit and Foundation libraries of OPENSTEP and Cocoa";
diff --git a/pkgs/desktops/gnustep/gui/default.nix b/pkgs/desktops/gnustep/gui/default.nix
index e945af64d90ca..8356a608c8339 100644
--- a/pkgs/desktops/gnustep/gui/default.nix
+++ b/pkgs/desktops/gnustep/gui/default.nix
@@ -1,4 +1,4 @@
-{ gsmakeDerivation, fetchurl, base }:
+{ gsmakeDerivation, fetchurl, fetchpatch, base }:
 let
   version = "0.28.0";
 in
@@ -9,7 +9,13 @@ gsmakeDerivation {
     sha256 = "05wk8kbl75qj0jgawgyv9sp98wsgz5vl1s0d51sads0p0kk2sv8z";
   };
   buildInputs = [ base ];
-  patches = [ ./fixup-all.patch ];
+  patches = [
+    ./fixup-all.patch
+    (fetchpatch {  # for icu68 compatibility, remove with next update(?)
+      url = "https://github.com/gnustep/libs-gui/commit/05572b2d01713f5caf07f334f17ab639be8a1cff.patch";
+      sha256 = "04z287dk8jf3hdwzk8bpnv49qai2dcdlh824yc9bczq291pjy2xc";
+    })
+  ];
   meta = {
     description = "A GUI class library of GNUstep";
   };
diff --git a/pkgs/desktops/lxde/core/lxappearance/default.nix b/pkgs/desktops/lxde/core/lxappearance/default.nix
index 8ff71e0a545fe..21d8245533371 100644
--- a/pkgs/desktops/lxde/core/lxappearance/default.nix
+++ b/pkgs/desktops/lxde/core/lxappearance/default.nix
@@ -9,10 +9,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "lxappearance-0.6.3";
+  pname = "lxappearance";
+  version = "0.6.3";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/lxde/LXAppearance/${name}.tar.xz";
+    url = "mirror://sourceforge/project/lxde/LXAppearance/${pname}-${version}.tar.xz";
     sha256 = "0f4bjaamfxxdr9civvy55pa6vv9dx1hjs522gjbbgx7yp1cdh8kj";
   };
 
@@ -35,7 +36,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Lightweight program for configuring the theme and fonts of gtk applications";
     homepage = "https://lxde.org/";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ hinton romildo ];
   };
diff --git a/pkgs/desktops/lxde/core/lxpanel/default.nix b/pkgs/desktops/lxde/core/lxpanel/default.nix
index 8cb8d2f580cd3..15a3d918b95a8 100644
--- a/pkgs/desktops/lxde/core/lxpanel/default.nix
+++ b/pkgs/desktops/lxde/core/lxpanel/default.nix
@@ -1,21 +1,54 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, m4, intltool, libxmlxx, keybinder
-, gtk2, libX11, libfm, libwnck, libXmu, libXpm, cairo, gdk-pixbuf, gdk-pixbuf-xlib
-, menu-cache, lxmenu-data, wirelesstools, curl
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, gettext
+, m4
+, intltool
+, libxmlxx
+, keybinder
+, gtk2
+, libX11
+, libfm
+, libwnck
+, libXmu
+, libXpm
+, cairo
+, gdk-pixbuf
+, gdk-pixbuf-xlib
+, menu-cache
+, lxmenu-data
+, wirelesstools
+, curl
 , supportAlsa ? false, alsaLib
 }:
 
 stdenv.mkDerivation rec {
-  name = "lxpanel-0.10.0";
+  pname = "lxpanel";
+  version = "0.10.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/lxde/${name}.tar.xz";
-    sha256 = "0zis3b815p375s6mymhf5sn1a0c1xv0ixxzb0mh3fqhrby6cqy26";
+    url = "mirror://sourceforge/lxde/${pname}-${version}.tar.xz";
+    sha256 = "sha256-HjGPV9fja2HCOlBNA9JDDHja0ULBgERRBh8bPqVEHug=";
   };
 
   nativeBuildInputs = [ pkg-config gettext m4 intltool libxmlxx ];
   buildInputs = [
-    keybinder gtk2 libX11 libfm libwnck libXmu libXpm cairo gdk-pixbuf gdk-pixbuf-xlib.dev
-    menu-cache lxmenu-data m4 wirelesstools curl
+    keybinder
+    gtk2
+    libX11
+    libfm
+    libwnck
+    libXmu
+    libXpm
+    cairo
+    gdk-pixbuf
+    gdk-pixbuf-xlib.dev
+    menu-cache
+    lxmenu-data
+    m4
+    wirelesstools
+    curl
   ] ++ lib.optional supportAlsa alsaLib;
 
   postPatch = ''
@@ -25,11 +58,11 @@ stdenv.mkDerivation rec {
       --replace "@PACKAGE_CFLAGS@" "@PACKAGE_CFLAGS@ -I${gdk-pixbuf-xlib.dev}/include/gdk-pixbuf-2.0"
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Lightweight X11 desktop panel for LXDE";
     homepage = "https://lxde.org/";
-    license = lib.licenses.gpl2;
-    maintainers = [ lib.maintainers.ryneeverett ];
-    platforms = lib.platforms.linux;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.ryneeverett ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/lxde/core/lxrandr/default.nix b/pkgs/desktops/lxde/core/lxrandr/default.nix
index 7de2886eeb402..b6358cadeadde 100644
--- a/pkgs/desktops/lxde/core/lxrandr/default.nix
+++ b/pkgs/desktops/lxde/core/lxrandr/default.nix
@@ -1,23 +1,37 @@
-{ lib, stdenv, fetchurl, pkg-config, intltool, gtk2, libX11, xrandr, withGtk3 ? false, gtk3 }:
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, intltool
+, gtk2
+, libX11
+, xrandr
+, withGtk3 ? false, gtk3
+}:
 
 stdenv.mkDerivation rec {
-  name = "lxrandr-0.3.2";
+  pname = "lxrandr";
+  version = "0.3.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/lxde/${name}.tar.xz";
+    url = "mirror://sourceforge/lxde/${pname}-${version}.tar.xz";
     sha256 = "04n3vgh3ix12p8jfs4w0dyfq3anbjy33h7g53wbbqqc0f74xyplb";
   };
 
   configureFlags = lib.optional withGtk3 "--enable-gtk3";
 
   nativeBuildInputs = [ pkg-config intltool ];
-  buildInputs = [ libX11 (if withGtk3 then gtk3 else gtk2) xrandr ];
+  buildInputs = [
+    libX11
+    xrandr
+    (if withGtk3 then gtk3 else gtk2)
+  ];
 
   meta = with lib; {
     description = "Standard screen manager of LXDE";
     homepage = "https://lxde.org/";
-    license = lib.licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ rawkode ];
-    platforms = lib.platforms.linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/lxde/core/lxsession/default.nix b/pkgs/desktops/lxde/core/lxsession/default.nix
index 16264522f28f9..b30c195f636a2 100644
--- a/pkgs/desktops/lxde/core/lxsession/default.nix
+++ b/pkgs/desktops/lxde/core/lxsession/default.nix
@@ -58,9 +58,9 @@ stdenv.mkDerivation rec {
   preConfigure = "./autogen.sh";
 
   meta = with lib; {
+    homepage = "https://wiki.lxde.org/en/LXSession";
     description = "Classic LXDE session manager";
     license = licenses.gpl2Plus;
-    homepage = "https://wiki.lxde.org/en/LXSession";
     maintainers = [ maintainers.shamilton ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/desktops/lxde/core/lxtask/default.nix b/pkgs/desktops/lxde/core/lxtask/default.nix
index 27066ba9952c4..d2a560afd0654 100644
--- a/pkgs/desktops/lxde/core/lxtask/default.nix
+++ b/pkgs/desktops/lxde/core/lxtask/default.nix
@@ -1,4 +1,11 @@
-{ lib, stdenv, fetchurl, pkg-config, intltool, gtk3, libintl }:
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, intltool
+, gtk3
+, libintl
+}:
 
 stdenv.mkDerivation rec {
   pname = "lxtask";
@@ -15,7 +22,8 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--enable-gtk3" ];
 
-  meta = {
+  meta = with lib; {
+    homepage = "https://wiki.lxde.org/en/LXTask";
     description = "Lightweight and desktop independent task manager";
     longDescription = ''
       LXTask is a lightweight task manager derived from xfce4 task manager
@@ -24,9 +32,8 @@ stdenv.mkDerivation rec {
       Desktop Environment, it's totally desktop independent and only
       requires pure GTK.
     '';
-    homepage = "https://wiki.lxde.org/en/LXTask";
-    license = lib.licenses.gpl2Plus;
-    platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.romildo ];
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.romildo ];
   };
 }
diff --git a/pkgs/desktops/lxqt/compton-conf/default.nix b/pkgs/desktops/lxqt/compton-conf/default.nix
index 0ffdc5199aaa6..111f7f175da4b 100644
--- a/pkgs/desktops/lxqt/compton-conf/default.nix
+++ b/pkgs/desktops/lxqt/compton-conf/default.nix
@@ -40,9 +40,9 @@ mkDerivation rec {
   passthru.updateScript = lxqt.lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "GUI configuration tool for compton X composite manager";
     homepage = "https://github.com/lxqt/compton-conf";
-    license = licenses.lgpl21;
+    description = "GUI configuration tool for compton X composite manager";
+    license = licenses.lgpl21Plus;
     platforms = with platforms; unix;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/libfm-qt/default.nix b/pkgs/desktops/lxqt/libfm-qt/default.nix
index 4bb3cd52d8269..be1f8a80e78f2 100644
--- a/pkgs/desktops/lxqt/libfm-qt/default.nix
+++ b/pkgs/desktops/lxqt/libfm-qt/default.nix
@@ -46,9 +46,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "Core library of PCManFM-Qt (Qt binding for libfm)";
     homepage = "https://github.com/lxqt/libfm-qt";
-    license = licenses.lgpl21;
+    description = "Core library of PCManFM-Qt (Qt binding for libfm)";
+    license = licenses.lgpl21Plus;
     platforms = with platforms; unix;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/libqtxdg/default.nix b/pkgs/desktops/lxqt/libqtxdg/default.nix
index f2d00a5869e4c..adb8b8a11610f 100644
--- a/pkgs/desktops/lxqt/libqtxdg/default.nix
+++ b/pkgs/desktops/lxqt/libqtxdg/default.nix
@@ -40,9 +40,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "Qt implementation of freedesktop.org xdg specs";
     homepage = "https://github.com/lxqt/libqtxdg";
-    license = licenses.lgpl21;
+    description = "Qt implementation of freedesktop.org xdg specs";
+    license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/lximage-qt/default.nix b/pkgs/desktops/lxqt/lximage-qt/default.nix
index 217a6fe792228..b7e30096b7609 100644
--- a/pkgs/desktops/lxqt/lximage-qt/default.nix
+++ b/pkgs/desktops/lxqt/lximage-qt/default.nix
@@ -45,9 +45,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "The image viewer and screenshot tool for lxqt";
     homepage = "https://github.com/lxqt/lximage-qt";
-    license = licenses.gpl2;
+    description = "The image viewer and screenshot tool for lxqt";
+    license = licenses.gpl2Plus;
     platforms = with platforms; unix;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/lxqt-about/default.nix b/pkgs/desktops/lxqt/lxqt-about/default.nix
index 0070d31af9a89..523092d178247 100644
--- a/pkgs/desktops/lxqt/lxqt-about/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-about/default.nix
@@ -40,9 +40,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "Dialogue window providing information about LXQt and the system it's running on";
     homepage = "https://github.com/lxqt/lxqt-about";
-    license = licenses.lgpl21;
+    description = "Dialogue window providing information about LXQt and the system it's running on";
+    license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/lxqt-admin/default.nix b/pkgs/desktops/lxqt/lxqt-admin/default.nix
index b3b74b92f6a9d..8406b90949386 100644
--- a/pkgs/desktops/lxqt/lxqt-admin/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-admin/default.nix
@@ -47,9 +47,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "LXQt system administration tool";
     homepage = "https://github.com/lxqt/lxqt-admin";
-    license = licenses.lgpl21;
+    description = "LXQt system administration tool";
+    license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/lxqt-archiver/default.nix b/pkgs/desktops/lxqt/lxqt-archiver/default.nix
index 3d2ce3c0f57e6..43896c2d6c4f5 100644
--- a/pkgs/desktops/lxqt/lxqt-archiver/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-archiver/default.nix
@@ -42,9 +42,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "Archive tool for the LXQt desktop environment";
     homepage = "https://github.com/lxqt/lxqt-archiver/";
-    license = licenses.gpl2;
+    description = "Archive tool for the LXQt desktop environment";
+    license = licenses.gpl2Plus;
     platforms = with platforms; unix;
     maintainers = with maintainers; [ jchw ];
   };
diff --git a/pkgs/desktops/lxqt/lxqt-build-tools/default.nix b/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
index 249d166488486..f45f8c729556b 100644
--- a/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
@@ -44,9 +44,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "Various packaging tools and scripts for LXQt applications";
     homepage = "https://github.com/lxqt/lxqt-build-tools";
-    license = licenses.lgpl21;
+    description = "Various packaging tools and scripts for LXQt applications";
+    license = licenses.lgpl21Plus;
     platforms = with platforms; unix;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/lxqt-config/default.nix b/pkgs/desktops/lxqt/lxqt-config/default.nix
index 407e45655ae04..c273a7bd859b8 100644
--- a/pkgs/desktops/lxqt/lxqt-config/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-config/default.nix
@@ -58,9 +58,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "Tools to configure LXQt and the underlying operating system";
     homepage = "https://github.com/lxqt/lxqt-config";
-    license = licenses.lgpl21;
+    description = "Tools to configure LXQt and the underlying operating system";
+    license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix b/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
index 62bb75e787699..a54564e062b0c 100644
--- a/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
@@ -42,9 +42,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "LXQt service for global keyboard shortcuts registration";
     homepage = "https://github.com/lxqt/lxqt-globalkeys";
-    license = licenses.lgpl21;
+    description = "LXQt service for global keyboard shortcuts registration";
+    license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/lxqt-notificationd/default.nix b/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
index 520c0322eaa46..c02b768d6b7e1 100644
--- a/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
@@ -42,9 +42,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "The LXQt notification daemon";
     homepage = "https://github.com/lxqt/lxqt-notificationd";
-    license = licenses.lgpl21;
+    description = "The LXQt notification daemon";
+    license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix b/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
index cdfb51a472d53..3aac000fb6795 100644
--- a/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
@@ -42,9 +42,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "GUI to query passwords on behalf of SSH agents";
     homepage = "https://github.com/lxqt/lxqt-openssh-askpass";
-    license = licenses.lgpl21;
+    description = "GUI to query passwords on behalf of SSH agents";
+    license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/lxqt-panel/default.nix b/pkgs/desktops/lxqt/lxqt-panel/default.nix
index 5da0ab2499e12..bb6ed85489121 100644
--- a/pkgs/desktops/lxqt/lxqt-panel/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-panel/default.nix
@@ -73,9 +73,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "The LXQt desktop panel";
     homepage = "https://github.com/lxqt/lxqt-panel";
-    license = licenses.lgpl21;
+    description = "The LXQt desktop panel";
+    license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/lxqt-policykit/default.nix b/pkgs/desktops/lxqt/lxqt-policykit/default.nix
index 762e7ac0462ad..fc4378d861cc2 100644
--- a/pkgs/desktops/lxqt/lxqt-policykit/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-policykit/default.nix
@@ -48,9 +48,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "The LXQt PolicyKit agent";
     homepage = "https://github.com/lxqt/lxqt-policykit";
-    license = licenses.lgpl21;
+    description = "The LXQt PolicyKit agent";
+    license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix b/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
index 22eb060dfd50b..3c1350753cf38 100644
--- a/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
@@ -48,9 +48,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "Power management module for LXQt";
     homepage = "https://github.com/lxqt/lxqt-powermanagement";
-    license = licenses.lgpl21;
+    description = "Power management module for LXQt";
+    license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix b/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix
index 5fbf9f8f56841..d19abcfe952e2 100644
--- a/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix
@@ -47,9 +47,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "LXQt Qt platform integration plugin";
     homepage = "https://github.com/lxqt/lxqt-qtplugin";
-    license = licenses.lgpl21;
+    description = "LXQt Qt platform integration plugin";
+    license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/lxqt-runner/default.nix b/pkgs/desktops/lxqt/lxqt-runner/default.nix
index 41a673fc3450d..3f80800310f6f 100644
--- a/pkgs/desktops/lxqt/lxqt-runner/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-runner/default.nix
@@ -52,9 +52,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "Tool used to launch programs quickly by typing their names";
     homepage = "https://github.com/lxqt/lxqt-runner";
-    license = licenses.lgpl21;
+    description = "Tool used to launch programs quickly by typing their names";
+    license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/lxqt-session/default.nix b/pkgs/desktops/lxqt/lxqt-session/default.nix
index 4be5eab5d943b..4c29a249dde8d 100644
--- a/pkgs/desktops/lxqt/lxqt-session/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-session/default.nix
@@ -49,9 +49,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "An alternative session manager ported from the original razor-session";
     homepage = "https://github.com/lxqt/lxqt-session";
-    license = licenses.lgpl21;
+    description = "An alternative session manager ported from the original razor-session";
+    license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/lxqt-sudo/default.nix b/pkgs/desktops/lxqt/lxqt-sudo/default.nix
index a6fef7479abf6..79168795c60ec 100644
--- a/pkgs/desktops/lxqt/lxqt-sudo/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-sudo/default.nix
@@ -44,9 +44,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "GUI frontend for sudo/su";
     homepage = "https://github.com/lxqt/lxqt-sudo";
-    license = licenses.lgpl21;
+    description = "GUI frontend for sudo/su";
+    license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/lxqt-themes/default.nix b/pkgs/desktops/lxqt/lxqt-themes/default.nix
index 5ab100bd1011a..08ba99c960648 100644
--- a/pkgs/desktops/lxqt/lxqt-themes/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-themes/default.nix
@@ -25,9 +25,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "Themes, graphics and icons for LXQt";
     homepage = "https://github.com/lxqt/lxqt-themes";
-    license = licenses.lgpl21;
+    description = "Themes, graphics and icons for LXQt";
+    license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/obconf-qt/default.nix b/pkgs/desktops/lxqt/obconf-qt/default.nix
index 5772dfcf9e7f6..442c4c940b029 100644
--- a/pkgs/desktops/lxqt/obconf-qt/default.nix
+++ b/pkgs/desktops/lxqt/obconf-qt/default.nix
@@ -44,9 +44,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "The Qt port of obconf, the Openbox configuration tool";
     homepage = "https://github.com/lxqt/obconf-qt";
-    license = licenses.gpl2;
+    description = "The Qt port of obconf, the Openbox configuration tool";
+    license = licenses.gpl2Plus;
     platforms = with platforms; unix;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/pavucontrol-qt/default.nix b/pkgs/desktops/lxqt/pavucontrol-qt/default.nix
index cd6d177b2ef09..e996eefc9039f 100644
--- a/pkgs/desktops/lxqt/pavucontrol-qt/default.nix
+++ b/pkgs/desktops/lxqt/pavucontrol-qt/default.nix
@@ -39,9 +39,9 @@ mkDerivation rec {
   passthru.updateScript = lxqt.lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "A Pulseaudio mixer in Qt (port of pavucontrol)";
     homepage = "https://github.com/lxqt/pavucontrol-qt";
-    license = licenses.gpl2;
+    description = "A Pulseaudio mixer in Qt (port of pavucontrol)";
+    license = licenses.gpl2Plus;
     platforms = with platforms; linux;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/pcmanfm-qt/default.nix b/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
index a2378fafd558a..2fa7879d58e71 100644
--- a/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
+++ b/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
@@ -47,9 +47,9 @@ mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "File manager and desktop icon manager (Qt port of PCManFM and libfm)";
     homepage = "https://github.com/lxqt/pcmanfm-qt";
-    license = licenses.gpl2;
+    description = "File manager and desktop icon manager (Qt port of PCManFM and libfm)";
+    license = licenses.gpl2Plus;
     platforms = with platforms; unix;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/qps/default.nix b/pkgs/desktops/lxqt/qps/default.nix
index fea3db315cf0d..be28b589ca1cf 100644
--- a/pkgs/desktops/lxqt/qps/default.nix
+++ b/pkgs/desktops/lxqt/qps/default.nix
@@ -40,9 +40,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "Qt based process manager";
     homepage = "https://github.com/lxqt/qps";
-    license = licenses.gpl2;
+    description = "Qt based process manager";
+    license = licenses.gpl2Plus;
     platforms = with platforms; linux; # does not build on darwin
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/qterminal/default.nix b/pkgs/desktops/lxqt/qterminal/default.nix
index 47a621d21983e..740cc09fca5fd 100644
--- a/pkgs/desktops/lxqt/qterminal/default.nix
+++ b/pkgs/desktops/lxqt/qterminal/default.nix
@@ -36,9 +36,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "A lightweight Qt-based terminal emulator";
     homepage = "https://github.com/lxqt/qterminal";
-    license = licenses.gpl2;
+    description = "A lightweight Qt-based terminal emulator";
+    license = licenses.gpl2Plus;
     platforms = with platforms; unix;
     maintainers = with maintainers; [ romildo globin ];
   };
diff --git a/pkgs/desktops/lxqt/qtermwidget/default.nix b/pkgs/desktops/lxqt/qtermwidget/default.nix
index 2517b7a444775..5970827f458c0 100644
--- a/pkgs/desktops/lxqt/qtermwidget/default.nix
+++ b/pkgs/desktops/lxqt/qtermwidget/default.nix
@@ -32,9 +32,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "A terminal emulator widget for Qt 5";
     homepage = "https://github.com/lxqt/qtermwidget";
-    license = licenses.gpl2;
+    description = "A terminal emulator widget for Qt 5";
+    license = licenses.gpl2Plus;
     platforms = with platforms; unix;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/lxqt/screengrab/default.nix b/pkgs/desktops/lxqt/screengrab/default.nix
index bc4f0f0de9f3d..36174c870dfc5 100644
--- a/pkgs/desktops/lxqt/screengrab/default.nix
+++ b/pkgs/desktops/lxqt/screengrab/default.nix
@@ -45,9 +45,9 @@ mkDerivation rec {
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
 
   meta = with lib; {
-    description = "Crossplatform tool for fast making screenshots";
     homepage = "https://github.com/lxqt/screengrab";
-    license = licenses.gpl2;
+    description = "Crossplatform tool for fast making screenshots";
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
   };
diff --git a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
index 27a379f4738d1..e45d25cfa3421 100644
--- a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
+++ b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix
@@ -11,7 +11,6 @@
 , wingpanel
 , orca
 , onboard
-, at-spi2-core
 , elementary-default-settings
 , elementary-settings-daemon
 , runtimeShell
diff --git a/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/parachute.nix b/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/parachute.nix
new file mode 100644
index 0000000000000..d7816de30422b
--- /dev/null
+++ b/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/parachute.nix
@@ -0,0 +1,37 @@
+{ lib, mkDerivation, fetchFromGitHub
+, kcoreaddons, kwindowsystem, plasma-framework, systemsettings }:
+
+mkDerivation rec {
+  pname = "parachute";
+  version = "0.9.1";
+
+  src = fetchFromGitHub {
+    owner = "tcorreabr";
+    repo = "parachute";
+    rev = "v${version}";
+    sha256 = "QIWb1zIGfkS+Bef7LK+JA6XpwGUW+79XZY47j75nlCE=";
+  };
+
+  buildInputs = [
+    kcoreaddons kwindowsystem plasma-framework systemsettings
+  ];
+
+  dontBuild = true;
+
+  # 1. --global still installs to $HOME/.local/share so we use --packageroot
+  # 2. plasmapkg2 doesn't copy metadata.desktop into place, so we do that manually
+  installPhase = ''
+    runHook preInstall
+    plasmapkg2 --type kwinscript --install ${src} --packageroot $out/share/kwin/scripts
+    install -Dm644 ${src}/metadata.desktop $out/share/kservices5/Parachute.desktop
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Look at your windows and desktops from above.";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ mjlbach ];
+    inherit (src.meta) homepage;
+    inherit (kwindowsystem.meta) platforms;
+  };
+}
diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix
index 014f794b5e83d..c4cbc44b3757b 100644
--- a/pkgs/desktops/plasma-5/default.nix
+++ b/pkgs/desktops/plasma-5/default.nix
@@ -146,6 +146,7 @@ let
         kwin-dynamic-workspaces = callPackage ./3rdparty/kwin/scripts/dynamic-workspaces.nix { };
         kwin-tiling = callPackage ./3rdparty/kwin/scripts/tiling.nix { };
         krohnkite = callPackage ./3rdparty/kwin/scripts/krohnkite.nix { };
+        parachute = callPackage ./3rdparty/kwin/scripts/parachute.nix { };
       };
 
     };
diff --git a/pkgs/desktops/plasma-5/kinfocenter.nix b/pkgs/desktops/plasma-5/kinfocenter.nix
index c8213482d79d3..23e225bd7440e 100644
--- a/pkgs/desktops/plasma-5/kinfocenter.nix
+++ b/pkgs/desktops/plasma-5/kinfocenter.nix
@@ -5,7 +5,7 @@
   kcmutils, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons,
   kdeclarative, kdelibs4support, ki18n, kiconthemes, kio, kirigami2, kpackage,
   kservice, kwayland, kwidgetsaddons, kxmlgui, libraw1394, libGLU, pciutils,
-  solid
+  solid, systemsettings
 }:
 
 mkDerivation {
@@ -15,6 +15,11 @@ mkDerivation {
   buildInputs = [
     kcmutils kcompletion kconfig kconfigwidgets kcoreaddons kdbusaddons
     kdeclarative kdelibs4support ki18n kiconthemes kio kirigami2 kpackage
-    kservice kwayland kwidgetsaddons kxmlgui libraw1394 libGLU pciutils solid
+    kservice kwayland kwidgetsaddons kxmlgui libraw1394 libGLU pciutils solid systemsettings
   ];
+  preFixup = ''
+    # fix wrong symlink of infocenter pointing to a 'systemsettings5' binary in the same directory,
+    # while it is actually located in a completely different store path
+    ln -sf ${lib.getBin systemsettings}/bin/systemsettings5 $out/bin/kinfocenter
+  '';
 }
diff --git a/pkgs/desktops/xfce/applications/catfish/default.nix b/pkgs/desktops/xfce/applications/catfish/default.nix
index e47f1dea3f636..e76ffa7204a11 100644
--- a/pkgs/desktops/xfce/applications/catfish/default.nix
+++ b/pkgs/desktops/xfce/applications/catfish/default.nix
@@ -1,5 +1,5 @@
 { lib, fetchurl, file, which, intltool, gobject-introspection,
-  findutils, xdg_utils, dconf, gtk3, python3Packages,
+  findutils, xdg-utils, dconf, gtk3, python3Packages,
   wrapGAppsHook
 }:
 
@@ -34,7 +34,7 @@ python3Packages.buildPythonApplication rec {
     python3Packages.dbus-python
     python3Packages.pygobject3
     python3Packages.pexpect
-    xdg_utils
+    xdg-utils
     findutils
   ];
 
diff --git a/pkgs/desktops/xfce/core/thunar/wrapper.nix b/pkgs/desktops/xfce/core/thunar/wrapper.nix
index b0b4268db6ec6..4e9732ce1c4a6 100644
--- a/pkgs/desktops/xfce/core/thunar/wrapper.nix
+++ b/pkgs/desktops/xfce/core/thunar/wrapper.nix
@@ -5,7 +5,7 @@ symlinkJoin {
 
   paths = [ thunar ] ++ thunarPlugins;
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   postBuild = ''
     wrapProgram "$out/bin/thunar" \
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index de8ae12b8952b..12f487f1784c7 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -102,8 +102,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   #### PANEL PLUGINS
 
-  xfce4-vala-panel-appmenu-plugin = callPackage ./panel-plugins/xfce4-vala-panel-appmenu-plugin { };
-
   xfce4-battery-plugin = callPackage ./panel-plugins/xfce4-battery-plugin { };
 
   xfce4-clipman-plugin = callPackage ./panel-plugins/xfce4-clipman-plugin { };
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/appmenu-gtk-module.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/appmenu-gtk-module.nix
deleted file mode 100644
index e35dc5922d930..0000000000000
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/appmenu-gtk-module.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, cmake, vala, glib, gtk2, gtk3 }:
-stdenv.mkDerivation rec {
-  pname = "vala-panel-appmenu-xfce";
-  version = "0.6.94";
-
-  src = "${fetchFromGitHub {
-    owner = "rilian-la-te";
-    repo = "vala-panel-appmenu";
-    rev = version;
-    fetchSubmodules = true;
-
-    sha256 = "0xxn3zs60a9nfix8wrdp056wviq281cm1031hznzf1l38lp3wr5p";
-  }}/subprojects/appmenu-gtk-module";
-
-  nativeBuildInputs = [ cmake vala ];
-  buildInputs = [ glib gtk2 gtk3 ];
-
-  configurePhase = ''
-    cmake . -DGTK3_INCLUDE_GDK=
-  '';
-  installPhase = ''
-    make DESTDIR=output install
-    cp -r output/var/empty/* "$out"
-  '';
-
-  meta = with lib; {
-    description = "Port of the Unity GTK Module";
-    license = licenses.lgpl3;
-    maintainers = with maintainers; [ jD91mZM2 ];
-  };
-}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/default.nix
deleted file mode 100644
index d8946c98a385a..0000000000000
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, substituteAll, callPackage, pkg-config, cmake, vala, libxml2,
-  glib, pcre, gtk2, gtk3, xorg, libxkbcommon, epoxy, at-spi2-core, dbus-glib, bamf,
-  xfce, libwnck3, libdbusmenu, gobject-introspection }:
-
-stdenv.mkDerivation rec {
-  pname = "xfce4-vala-panel-appmenu-plugin";
-  version = "0.7.3";
-
-  src = fetchFromGitHub {
-    owner = "rilian-la-te";
-    repo = "vala-panel-appmenu";
-    rev = version;
-    fetchSubmodules = true;
-
-    sha256 = "06rykdr2c9rnzxwinwdynd73v9wf0gjkx6qfva7sx2n94ajsdnaw";
-  };
-
-  nativeBuildInputs = [ pkg-config cmake vala libxml2.bin ];
-  buildInputs = [ (callPackage ./appmenu-gtk-module.nix {})
-                  glib pcre gtk2 gtk3 xorg.libpthreadstubs xorg.libXdmcp libxkbcommon epoxy
-                  at-spi2-core dbus-glib bamf xfce.xfce4panel_gtk3 xfce.libxfce4util xfce.xfconf
-                  libwnck3 libdbusmenu gobject-introspection ];
-
-  patches = [
-    (substituteAll {
-      src = ./fix-bamf-dependency.patch;
-      bamf = bamf;
-    })
-  ];
-
-  cmakeFlags = [
-      "-DENABLE_XFCE=ON"
-      "-DENABLE_BUDGIE=OFF"
-      "-DENABLE_VALAPANEL=OFF"
-      "-DENABLE_MATE=OFF"
-      "-DENABLE_JAYATANA=OFF"
-      "-DENABLE_APPMENU_GTK_MODULE=OFF"
-  ];
-
-  preConfigure = ''
-    mv cmake/FallbackVersion.cmake.in cmake/FallbackVersion.cmake
-  '';
-
-  passthru.updateScript = xfce.updateScript {
-    inherit pname version;
-    attrPath = "xfce.${pname}";
-    versionLister = xfce.gitLister src.meta.homepage;
-  };
-
-  meta = with lib; {
-    description = "Global Menu applet for XFCE4";
-    license = licenses.lgpl3;
-    maintainers = with maintainers; [ jD91mZM2 ];
-    broken = true;
-  };
-}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/fix-bamf-dependency.patch b/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/fix-bamf-dependency.patch
deleted file mode 100644
index 1ed86a67f727f..0000000000000
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/fix-bamf-dependency.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-+++ source/cmake/FindBAMF.cmake	2018-05-11 17:03:44.385917811 +0200
-@@ -80,9 +80,7 @@
- 
- find_program(BAMF_DAEMON_EXECUTABLE
- 	bamfdaemon
--	HINTS ${CMAKE_INSTALL_FULL_LIBDIR}
--		  ${CMAKE_INSTALL_FULL_LIBEXECDIR}
--		  ${BAMF_LIBDIR}
-+	HINTS "@bamf@/libexec/bamf/"
- 	PATH_SUFFIXES bamf
- )
- 
diff --git a/pkgs/development/arduino/arduino-core/default.nix b/pkgs/development/arduino/arduino-core/default.nix
index 4c440ab97dbb6..2eff5e553ea75 100644
--- a/pkgs/development/arduino/arduino-core/default.nix
+++ b/pkgs/development/arduino/arduino-core/default.nix
@@ -23,6 +23,7 @@
 , glib
 , pango
 , gdk-pixbuf
+, gtk2
 , libpng12
 , expat
 , freetype
@@ -56,7 +57,7 @@ let
     gcc.cc.lib
     gdk-pixbuf
     glib
-    gtk3
+    gtk2
     libpng12
     libusb-compat-0_1
     pango
@@ -240,7 +241,7 @@ stdenv.mkDerivation rec {
       patchelf --debug \
           --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
           --set-rpath "${teensy_libpath}" \
-          $out/share/arduino/hardware/tools/teensy
+          $out/share/arduino/hardware/tools/teensy{,_ports,_reboot,_restart,_serialmon}
     ''}
   '';
 
diff --git a/pkgs/development/beam-modules/default.nix b/pkgs/development/beam-modules/default.nix
index 570155e4d1a83..02877a954117a 100644
--- a/pkgs/development/beam-modules/default.nix
+++ b/pkgs/development/beam-modules/default.nix
@@ -33,6 +33,7 @@ let
         buildRebar3 = callPackage ./build-rebar3.nix {};
         buildHex = callPackage ./build-hex.nix {};
         buildErlangMk = callPackage ./build-erlang-mk.nix {};
+        fetchMixDeps = callPackage ./fetch-mix-deps.nix { };
         buildMix = callPackage ./build-mix.nix {};
 
         # BEAM-based languages.
diff --git a/pkgs/development/beam-modules/fetch-mix-deps.nix b/pkgs/development/beam-modules/fetch-mix-deps.nix
new file mode 100644
index 0000000000000..020a82ad70b74
--- /dev/null
+++ b/pkgs/development/beam-modules/fetch-mix-deps.nix
@@ -0,0 +1,40 @@
+{ stdenvNoCC, lib, elixir, hex, rebar, rebar3, cacert, git }:
+
+{ name, version, sha256, src, mixEnv ? "prod", debug ? false, meta ? { } }:
+
+stdenvNoCC.mkDerivation ({
+  name = "mix-deps-${name}-${version}";
+
+  nativeBuildInputs = [ elixir hex cacert git ];
+
+  inherit src;
+
+  MIX_ENV = mixEnv;
+  MIX_DEBUG = if debug then 1 else 0;
+  DEBUG = if debug then 1 else 0; # for rebar3
+
+  configurePhase = ''
+    export HEX_HOME="$TEMPDIR/.hex";
+    export MIX_HOME="$TEMPDIR/.mix";
+    export MIX_DEPS_PATH="$out";
+
+    # Rebar
+    mix local.rebar rebar "${rebar}/bin/rebar"
+    mix local.rebar rebar3 "${rebar3}/bin/rebar3"
+    export REBAR_GLOBAL_CONFIG_DIR="$TMPDIR/rebar3"
+    export REBAR_CACHE_DIR="$TMPDIR/rebar3.cache"
+  '';
+
+  dontBuild = true;
+
+  installPhase = ''
+    mix deps.get --only ${mixEnv}
+  '';
+
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = sha256;
+
+  impureEnvVars = lib.fetchers.proxyImpureEnvVars;
+  inherit meta;
+})
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
index 0fcad6c333f88..ed8935b00421e 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
@@ -4,16 +4,31 @@ sourcePerArch:
 , lib
 , fetchurl
 , autoPatchelfHook
+, makeWrapper
+# minimum dependencies
 , alsaLib
-, freetype
 , fontconfig
-, zlib
-, xorg
+, freetype
 , libffi
+, xorg
+, zlib
+# runtime dependencies
+, cups
+# runtime dependencies for GTK+ Look and Feel
+, gtkSupport ? true
+, cairo
+, glib
+, gtk3
 }:
 
 let
   cpuName = stdenv.hostPlatform.parsed.cpu.name;
+  runtimeDependencies = [
+    cups
+  ] ++ lib.optionals gtkSupport [
+    cairo glib gtk3
+  ];
+  runtimeLibraryPath = lib.makeLibraryPath runtimeDependencies;
 in
 
 let result = stdenv.mkDerivation rec {
@@ -28,11 +43,19 @@ let result = stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    alsaLib freetype fontconfig zlib xorg.libX11 xorg.libXext xorg.libXtst
-    xorg.libXi xorg.libXrender stdenv.cc.cc.lib
+    alsaLib # libasound.so wanted by lib/libjsound.so
+    fontconfig
+    freetype
+    stdenv.cc.cc.lib # libstdc++.so.6
+    xorg.libX11
+    xorg.libXext
+    xorg.libXi
+    xorg.libXrender
+    xorg.libXtst
+    zlib
   ] ++ lib.optional stdenv.isAarch32 libffi;
 
-  nativeBuildInputs = [ autoPatchelfHook ];
+  nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
 
   # See: https://github.com/NixOS/patchelf/issues/10
   dontStrip = 1;
@@ -57,6 +80,16 @@ let result = stdenv.mkDerivation rec {
     cat <<EOF >> "$out/nix-support/setup-hook"
     if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
     EOF
+
+    # We cannot use -exec since wrapProgram is a function but not a command.
+    #
+    # jspawnhelper is executed from JVM, so it doesn't need to wrap it, and it
+    # breaks building OpenJDK (#114495).
+    for bin in $( find "$out" -executable -type f -not -name jspawnhelper ); do
+      if patchelf --print-interpreter "$bin" &> /dev/null; then
+        wrapProgram "$bin" --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}"
+      fi
+    done
   '';
 
   preFixup = ''
diff --git a/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix b/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix
index e20983380a43a..d062c8605b66b 100644
--- a/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix
+++ b/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   pname = "adoptopenjdk-icedtea-web";
 
-  version = "1.8.4";
+  version = "1.8.6";
 
   src = fetchFromGitHub {
     owner = "AdoptOpenJDK";
     repo = "IcedTea-Web";
     rev = "icedtea-web-${version}";
-    sha256 = "0pxijw9v5k4j840jczglx9qyfd57df390g5jdaz3qafblfg0k10n";
+    sha256 = "sha256-meqbFLGwCMpFoOVAfvtriRAS8ZWr374eSN3m0CdC2aM=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config bc ];
diff --git a/pkgs/development/compilers/aldor/default.nix b/pkgs/development/compilers/aldor/default.nix
index 2654cc467fe26..3799f2c921271 100644
--- a/pkgs/development/compilers/aldor/default.nix
+++ b/pkgs/development/compilers/aldor/default.nix
@@ -10,8 +10,8 @@ stdenv.mkDerivation {
     rev = "15471e75f3d65b93150f414ebcaf59a03054b68d";
   };
 
-  buildInputs = [ gmp which flex bison makeWrapper autoconf automake libtool
-                  jdk perl ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ gmp which flex bison autoconf automake libtool jdk perl ];
 
   preConfigure = ''
     cd aldor ;
diff --git a/pkgs/development/compilers/bluespec/default.nix b/pkgs/development/compilers/bluespec/default.nix
index defe78d7c318e..cfbec681e8a1c 100644
--- a/pkgs/development/compilers/bluespec/default.nix
+++ b/pkgs/development/compilers/bluespec/default.nix
@@ -27,13 +27,13 @@ let
   ghcWithPackages = ghc.withPackages (g: (with g; [old-time regex-compat syb split ]));
 in stdenv.mkDerivation rec {
   pname = "bluespec";
-  version = "unstable-2020.11.04";
+  version = "unstable-2021.02.14";
 
   src = fetchFromGitHub {
       owner  = "B-Lang-org";
       repo   = "bsc";
-      rev    = "103357f32cf63f2ca2b16ebc8e2c675ec5562464";
-      sha256 = "0iikzx0fxky0fmc31lyxfldy1wixr2mayzcn24b8d76wd4ix1vk3";
+      rev    = "c085ecd807d85f31d102d8bec71f5c28dc96b31d";
+      sha256 = "0c86gwhrarw78cr9c9slb9vij6kcwx3x281kbqji96qqzs0dfb32";
     };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/carp/default.nix b/pkgs/development/compilers/carp/default.nix
index b0a14534b082f..d83e70a703aa2 100644
--- a/pkgs/development/compilers/carp/default.nix
+++ b/pkgs/development/compilers/carp/default.nix
@@ -3,20 +3,20 @@
 haskellPackages.mkDerivation rec {
 
   pname = "carp";
-  version = "0.3.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "carp-lang";
     repo = "Carp";
     rev = "v${version}";
-    sha256 = "07yk3gy4l6h3k7sh8al7lgwk75a13zxwfp7siqpb5gnnqr1z3brc";
+    sha256 = "sha256-nTSMY8bq0b/JvE/XQGDC4St2sqdni12E5WQU5FXnuCg=";
   };
 
-  buildDepends = [ makeWrapper ];
+  buildTools = [ makeWrapper ];
 
   executableHaskellDepends = with haskellPackages; [
-    HUnit blaze-markup blaze-html split cmdargs ansi-terminal cmark
-    edit-distance
+    HUnit blaze-markup blaze-html split ansi-terminal cmark
+    edit-distance hashable open-browser optparse-applicative
   ];
 
   isExecutable = true;
diff --git a/pkgs/development/compilers/chicken/4/eggDerivation.nix b/pkgs/development/compilers/chicken/4/eggDerivation.nix
index 4c84ef8c42b00..10cf91579a404 100644
--- a/pkgs/development/compilers/chicken/4/eggDerivation.nix
+++ b/pkgs/development/compilers/chicken/4/eggDerivation.nix
@@ -18,7 +18,8 @@ in
 stdenv.mkDerivation ({
   name = "chicken-${name}";
   propagatedBuildInputs = buildInputs;
-  buildInputs = [ makeWrapper chicken ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ chicken ];
 
   CSC_OPTIONS = lib.concatStringsSep " " cscOptions;
 
diff --git a/pkgs/development/compilers/chicken/5/eggDerivation.nix b/pkgs/development/compilers/chicken/5/eggDerivation.nix
index 7102126206ae4..a6d19eaeb137a 100644
--- a/pkgs/development/compilers/chicken/5/eggDerivation.nix
+++ b/pkgs/development/compilers/chicken/5/eggDerivation.nix
@@ -17,7 +17,8 @@ in
 stdenv.mkDerivation ({
   name = "chicken-${name}";
   propagatedBuildInputs = buildInputs;
-  buildInputs = [ makeWrapper chicken ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ chicken ];
 
   CSC_OPTIONS = lib.concatStringsSep " " cscOptions;
 
diff --git a/pkgs/development/compilers/crystal/default.nix b/pkgs/development/compilers/crystal/default.nix
index e887bc2208952..b3be2bb220ca2 100644
--- a/pkgs/development/compilers/crystal/default.nix
+++ b/pkgs/development/compilers/crystal/default.nix
@@ -3,7 +3,7 @@
 , fetchFromGitHub
 , fetchurl
 , lib
-# Dependencies
+  # Dependencies
 , boehmgc
 , coreutils
 , git
@@ -32,11 +32,10 @@
 #
 # We need to keep around at least the latest version released with a stable
 # NixOS
-
 let
   archs = {
-    x86_64-linux  = "linux-x86_64";
-    i686-linux    = "linux-i686";
+    x86_64-linux = "linux-x86_64";
+    i686-linux = "linux-i686";
     x86_64-darwin = "darwin-x86_64";
   };
 
@@ -45,223 +44,231 @@ let
   checkInputs = [ git gmp openssl readline libxml2 libyaml ];
 
   genericBinary = { version, sha256s, rel ? 1 }:
-  stdenv.mkDerivation rec {
-    pname = "crystal-binary";
-    inherit version;
-
-    src = fetchurl {
-      url = "https://github.com/crystal-lang/crystal/releases/download/${version}/crystal-${version}-${toString rel}-${arch}.tar.gz";
-      sha256 = sha256s.${stdenv.system};
+    stdenv.mkDerivation rec {
+      pname = "crystal-binary";
+      inherit version;
+
+      src = fetchurl {
+        url = "https://github.com/crystal-lang/crystal/releases/download/${version}/crystal-${version}-${toString rel}-${arch}.tar.gz";
+        sha256 = sha256s.${stdenv.system};
+      };
+
+      buildCommand = ''
+        mkdir -p $out
+        tar --strip-components=1 -C $out -xf ${src}
+      '';
     };
 
-    buildCommand = ''
-      mkdir -p $out
-      tar --strip-components=1 -C $out -xf ${src}
-    '';
-  };
-
   commonBuildInputs = extraBuildInputs: [
-    boehmgc libatomic_ops pcre libevent libyaml zlib libxml2 openssl
+    boehmgc
+    libatomic_ops
+    pcre
+    libevent
+    libyaml
+    zlib
+    libxml2
+    openssl
   ] ++ extraBuildInputs
-    ++ lib.optionals stdenv.isDarwin [ libiconv ];
+  ++ lib.optionals stdenv.isDarwin [ libiconv ];
 
   generic = (
     { version
     , sha256
     , binary
     , doCheck ? true
-    , extraBuildInputs ? []
-    , buildFlags ? ["all" "docs"]
+    , extraBuildInputs ? [ ]
+    , buildFlags ? [ "all" "docs" ]
     }:
-      lib.fix (compiler: stdenv.mkDerivation {
-        pname = "crystal";
-        inherit buildFlags doCheck version;
+    lib.fix (compiler: stdenv.mkDerivation {
+      pname = "crystal";
+      inherit buildFlags doCheck version;
 
-        src = fetchFromGitHub {
-          owner = "crystal-lang";
-          repo  = "crystal";
-          rev   = version;
-          inherit sha256;
-        };
+      src = fetchFromGitHub {
+        owner = "crystal-lang";
+        repo = "crystal";
+        rev = version;
+        inherit sha256;
+      };
 
-        outputs = [ "out" "lib" "bin" ];
+      outputs = [ "out" "lib" "bin" ];
 
-        postPatch = ''
-          # Add dependency of crystal to docs to avoid issue on flag changes between releases
-          # https://github.com/crystal-lang/crystal/pull/8792#issuecomment-614004782
-          substituteInPlace Makefile \
-            --replace 'docs: ## Generate standard library documentation' 'docs: crystal ## Generate standard library documentation'
+      postPatch = ''
+        # Add dependency of crystal to docs to avoid issue on flag changes between releases
+        # https://github.com/crystal-lang/crystal/pull/8792#issuecomment-614004782
+        substituteInPlace Makefile \
+          --replace 'docs: ## Generate standard library documentation' 'docs: crystal ## Generate standard library documentation'
 
-          substituteInPlace src/crystal/system/unix/time.cr \
-            --replace /usr/share/zoneinfo ${tzdata}/share/zoneinfo
+        substituteInPlace src/crystal/system/unix/time.cr \
+          --replace /usr/share/zoneinfo ${tzdata}/share/zoneinfo
 
-          ln -sf spec/compiler spec/std
+        ln -sf spec/compiler spec/std
 
-          # Dirty fix for when no sandboxing is enabled
-          rm -rf /tmp/crystal
-          mkdir -p /tmp/crystal
+        # Dirty fix for when no sandboxing is enabled
+        rm -rf /tmp/crystal
+        mkdir -p /tmp/crystal
 
-          substituteInPlace spec/std/file_spec.cr \
-            --replace '/bin/ls' '${coreutils}/bin/ls' \
-            --replace '/usr/share' '/tmp/crystal' \
-            --replace '/usr' '/tmp'
+        substituteInPlace spec/std/file_spec.cr \
+          --replace '/bin/ls' '${coreutils}/bin/ls' \
+          --replace '/usr/share' '/tmp/crystal' \
+          --replace '/usr' '/tmp'
 
-          substituteInPlace spec/std/process_spec.cr \
-            --replace '/bin/cat' '${coreutils}/bin/cat' \
-            --replace '/bin/ls' '${coreutils}/bin/ls' \
-            --replace '/usr/bin/env' '${coreutils}/bin/env' \
-            --replace '"env"' '"${coreutils}/bin/env"' \
-            --replace '"/usr"' '"/tmp"'
+        substituteInPlace spec/std/process_spec.cr \
+          --replace '/bin/cat' '${coreutils}/bin/cat' \
+          --replace '/bin/ls' '${coreutils}/bin/ls' \
+          --replace '/usr/bin/env' '${coreutils}/bin/env' \
+          --replace '"env"' '"${coreutils}/bin/env"' \
+          --replace '"/usr"' '"/tmp"'
 
-          substituteInPlace spec/std/socket/tcp_server_spec.cr \
-            --replace '{% if flag?(:gnu) %}"listen: "{% else %}"bind: "{% end %}' '"bind: "'
+        substituteInPlace spec/std/socket/tcp_server_spec.cr \
+          --replace '{% if flag?(:gnu) %}"listen: "{% else %}"bind: "{% end %}' '"bind: "'
 
-          substituteInPlace spec/std/system_spec.cr \
-            --replace '`hostname`' '`${hostname}/bin/hostname`'
+        substituteInPlace spec/std/system_spec.cr \
+          --replace '`hostname`' '`${hostname}/bin/hostname`'
 
-          # See https://github.com/crystal-lang/crystal/pull/8640
-          substituteInPlace spec/std/http/cookie_spec.cr \
-            --replace '01 Jan 2020' '01 Jan #{Time.utc.year + 2}'
+        # See https://github.com/crystal-lang/crystal/pull/8640
+        substituteInPlace spec/std/http/cookie_spec.cr \
+          --replace '01 Jan 2020' '01 Jan #{Time.utc.year + 2}'
 
-          # See https://github.com/crystal-lang/crystal/issues/8629
-          substituteInPlace spec/std/socket/udp_socket_spec.cr \
-            --replace 'it "joins and transmits to multicast groups"' 'pending "joins and transmits to multicast groups"'
+        # See https://github.com/crystal-lang/crystal/issues/8629
+        substituteInPlace spec/std/socket/udp_socket_spec.cr \
+          --replace 'it "joins and transmits to multicast groups"' 'pending "joins and transmits to multicast groups"'
 
-          # See https://github.com/crystal-lang/crystal/pull/8699
-          substituteInPlace spec/std/xml/xml_spec.cr \
-            --replace 'it "handles errors"' 'pending "handles errors"'
-        '';
+        # See https://github.com/crystal-lang/crystal/pull/8699
+        substituteInPlace spec/std/xml/xml_spec.cr \
+          --replace 'it "handles errors"' 'pending "handles errors"'
+      '';
 
-        buildInputs = commonBuildInputs extraBuildInputs;
+      buildInputs = commonBuildInputs extraBuildInputs;
 
-        nativeBuildInputs = [ binary makeWrapper which pkg-config llvmPackages.llvm ];
+      nativeBuildInputs = [ binary makeWrapper which pkg-config llvmPackages.llvm ];
 
-        makeFlags = [
-          "CRYSTAL_CONFIG_VERSION=${version}"
-        ];
+      makeFlags = [
+        "CRYSTAL_CONFIG_VERSION=${version}"
+      ];
 
-        LLVM_CONFIG = "${llvmPackages.llvm}/bin/llvm-config";
+      LLVM_CONFIG = "${llvmPackages.llvm}/bin/llvm-config";
 
-        FLAGS = [
-          "--release"
-          "--single-module" # needed for deterministic builds
-        ];
+      FLAGS = [
+        "--release"
+        "--single-module" # needed for deterministic builds
+      ];
 
-        # This makes sure we don't keep depending on the previous version of
-        # crystal used to build this one.
-        CRYSTAL_LIBRARY_PATH = "${placeholder "lib"}/crystal";
+      # This makes sure we don't keep depending on the previous version of
+      # crystal used to build this one.
+      CRYSTAL_LIBRARY_PATH = "${placeholder "lib"}/crystal";
 
-        # We *have* to add `which` to the PATH or crystal is unable to build
-        # stuff later if which is not available.
-        installPhase = ''
-          runHook preInstall
+      # We *have* to add `which` to the PATH or crystal is unable to build
+      # stuff later if which is not available.
+      installPhase = ''
+        runHook preInstall
 
-          install -Dm755 .build/crystal $bin/bin/crystal
-          wrapProgram $bin/bin/crystal \
-            --suffix PATH : ${lib.makeBinPath [ pkg-config llvmPackages.clang which ]} \
-            --suffix CRYSTAL_PATH : lib:$lib/crystal \
-            --suffix CRYSTAL_LIBRARY_PATH : ${
-              lib.makeLibraryPath (commonBuildInputs extraBuildInputs)
-            }
-          install -dm755 $lib/crystal
-          cp -r src/* $lib/crystal/
+        install -Dm755 .build/crystal $bin/bin/crystal
+        wrapProgram $bin/bin/crystal \
+          --suffix PATH : ${lib.makeBinPath [ pkg-config llvmPackages.clang which ]} \
+          --suffix CRYSTAL_PATH : lib:$lib/crystal \
+          --suffix CRYSTAL_LIBRARY_PATH : ${
+            lib.makeLibraryPath (commonBuildInputs extraBuildInputs)
+          }
+        install -dm755 $lib/crystal
+        cp -r src/* $lib/crystal/
 
-          install -dm755 $out/share/doc/crystal/api
-          cp -r docs/* $out/share/doc/crystal/api/
-          cp -r samples $out/share/doc/crystal/
+        install -dm755 $out/share/doc/crystal/api
+        cp -r docs/* $out/share/doc/crystal/api/
+        cp -r samples $out/share/doc/crystal/
 
-          install -Dm644 etc/completion.bash $out/share/bash-completion/completions/crystal
-          install -Dm644 etc/completion.zsh $out/share/zsh/site-functions/_crystal
+        install -Dm644 etc/completion.bash $out/share/bash-completion/completions/crystal
+        install -Dm644 etc/completion.zsh $out/share/zsh/site-functions/_crystal
 
-          install -Dm644 man/crystal.1 $out/share/man/man1/crystal.1
+        install -Dm644 man/crystal.1 $out/share/man/man1/crystal.1
 
-          install -Dm644 -t $out/share/licenses/crystal LICENSE README.md
+        install -Dm644 -t $out/share/licenses/crystal LICENSE README.md
 
-          mkdir -p $out
-          ln -s $bin/bin $out/bin
-          ln -s $lib $out/lib
+        mkdir -p $out
+        ln -s $bin/bin $out/bin
+        ln -s $lib $out/lib
 
-          runHook postInstall
-        '';
+        runHook postInstall
+      '';
 
-        enableParallelBuilding = true;
+      enableParallelBuilding = true;
 
-        dontStrip = true;
+      dontStrip = true;
 
-        checkTarget = "compiler_spec";
+      checkTarget = "compiler_spec";
 
-        preCheck = ''
-          export HOME=/tmp
-          mkdir -p $HOME/test
+      preCheck = ''
+        export HOME=/tmp
+        mkdir -p $HOME/test
 
-          export LIBRARY_PATH=${lib.makeLibraryPath checkInputs}:$LIBRARY_PATH
-          export PATH=${lib.makeBinPath checkInputs}:$PATH
-        '';
+        export LIBRARY_PATH=${lib.makeLibraryPath checkInputs}:$LIBRARY_PATH
+        export PATH=${lib.makeBinPath checkInputs}:$PATH
+      '';
 
-        passthru.buildCrystalPackage = callPackage ./build-package.nix {
-          crystal = compiler;
-        };
+      passthru.buildCrystalPackage = callPackage ./build-package.nix {
+        crystal = compiler;
+      };
 
-        meta = with lib; {
-          description = "A compiled language with Ruby like syntax and type inference";
-          homepage = "https://crystal-lang.org/";
-          license = licenses.asl20;
-          maintainers = with maintainers; [ david50407 fabianhjr manveru peterhoeg ];
-          platforms = builtins.attrNames archs;
-        };
-      })
+      meta = with lib; {
+        description = "A compiled language with Ruby like syntax and type inference";
+        homepage = "https://crystal-lang.org/";
+        license = licenses.asl20;
+        maintainers = with maintainers; [ david50407 fabianhjr manveru peterhoeg ];
+        platforms = builtins.attrNames archs;
+      };
+    })
   );
 
-in rec {
+in
+rec {
   binaryCrystal_0_31 = genericBinary {
     version = "0.31.1";
     sha256s = {
-      x86_64-linux  = "0r8salf572xrnr4m6ll9q5hz6jj8q7ff1rljlhmqb1r26a8mi2ih";
-      i686-linux    = "0hridnis5vvrswflx0q67xfg5hryhz6ivlwrb9n4pryj5d1gwjrr";
+      x86_64-linux = "0r8salf572xrnr4m6ll9q5hz6jj8q7ff1rljlhmqb1r26a8mi2ih";
+      i686-linux = "0hridnis5vvrswflx0q67xfg5hryhz6ivlwrb9n4pryj5d1gwjrr";
       x86_64-darwin = "1dgxgv0s3swkc5cwawzgpbc6bcd2nx4hjxc7iw2h907y1vgmbipz";
     };
   };
 
   crystal_0_31 = generic {
     version = "0.31.1";
-    sha256  = "1dswxa32w16gnc6yjym12xj7ibg0g6zk3ngvl76lwdjqb1h6lwz8";
+    sha256 = "1dswxa32w16gnc6yjym12xj7ibg0g6zk3ngvl76lwdjqb1h6lwz8";
     doCheck = false; # 5 checks are failing now
     binary = binaryCrystal_0_31;
   };
 
   crystal_0_32 = generic {
     version = "0.32.1";
-    sha256  = "120ndi3nhh2r52hjvhwfb49cdggr1bzdq6b8xg7irzavhjinfza6";
+    sha256 = "120ndi3nhh2r52hjvhwfb49cdggr1bzdq6b8xg7irzavhjinfza6";
     binary = crystal_0_31;
   };
 
   crystal_0_33 = generic {
     version = "0.33.0";
-    sha256  = "1zg0qixcws81s083wrh54hp83ng2pa8iyyafaha55mzrh8293jbi";
+    sha256 = "1zg0qixcws81s083wrh54hp83ng2pa8iyyafaha55mzrh8293jbi";
     binary = crystal_0_32;
   };
 
   crystal_0_34 = generic {
     version = "0.34.0";
-    sha256  = "110lfpxk9jnqyznbfnilys65ixj5sdmy8pvvnlhqhc3ccvrlnmq4";
+    sha256 = "110lfpxk9jnqyznbfnilys65ixj5sdmy8pvvnlhqhc3ccvrlnmq4";
     binary = crystal_0_33;
   };
 
   crystal_0_35 = generic {
     version = "0.35.1";
-    sha256  = "0p51bjl1nsvwsm64lqq421dcsxa201w7wwq8plw4r8wqarpq0g69";
+    sha256 = "0p51bjl1nsvwsm64lqq421dcsxa201w7wwq8plw4r8wqarpq0g69";
     binary = crystal_0_34;
     # Needs git to build as per https://github.com/crystal-lang/crystal/issues/9789
     extraBuildInputs = [ git ];
   };
 
   crystal_0_36 = generic {
-    version = "0.36.0";
-    sha256  = "0s7g13mrh2jrxxrrrg4hy3gi49rp7fmpn9zg9kj4nbc8w8yir20r";
+    version = "0.36.1";
+    sha256 = "sha256-5rjrvwZKM4lHpmxLyUVbi0Zw98xT+iJKonxwfUwS/Wk=";
     binary = crystal_0_35;
   };
 
   crystal = crystal_0_36;
 
-  crystal2nix = callPackage ./crystal2nix.nix {};
+  crystal2nix = callPackage ./crystal2nix.nix { };
 }
diff --git a/pkgs/development/compilers/cudatoolkit/default.nix b/pkgs/development/compilers/cudatoolkit/default.nix
index b3b7b305fba6b..5685f17887643 100644
--- a/pkgs/development/compilers/cudatoolkit/default.nix
+++ b/pkgs/development/compilers/cudatoolkit/default.nix
@@ -10,47 +10,6 @@
 let
   common = callPackage ./common.nix;
 in rec {
-  cudatoolkit_6 = common {
-    version = "6.0.37";
-    url = "http://developer.download.nvidia.com/compute/cuda/6_0/rel/installers/cuda_6.0.37_linux_64.run";
-    sha256 = "991e436c7a6c94ec67cf44204d136adfef87baa3ded270544fa211179779bc40";
-    gcc = gcc48;
-  };
-
-  cudatoolkit_6_5 = common {
-    version = "6.5.19";
-    url = "http://developer.download.nvidia.com/compute/cuda/6_5/rel/installers/cuda_6.5.19_linux_64.run";
-    sha256 = "1x9zdmk8z784d3d35vr2ak1l4h5v4jfjhpxfi9fl9dvjkcavqyaj";
-    gcc = gcc48;
-  };
-
-  cudatoolkit_7 = common {
-    version = "7.0.28";
-    url = "http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/cuda_7.0.28_linux.run";
-    sha256 = "1km5hpiimx11jcazg0h3mjzk220klwahs2vfqhjavpds5ff2wafi";
-    gcc = gcc6;
-  };
-
-  cudatoolkit_7_5 = common {
-    version = "7.5.18";
-    url = "http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda_7.5.18_linux.run";
-    sha256 = "1v2ylzp34ijyhcxyh5p6i0cwawwbbdhni2l5l4qm21s1cx9ish88";
-    gcc = gcc6;
-  };
-
-  cudatoolkit_8 = common {
-    version = "8.0.61.2";
-    url = "https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run";
-    sha256 = "1i4xrsqbad283qffvysn88w2pmxzxbbby41lw0j1113z771akv4w";
-    runPatches = [
-      (fetchurl {
-        url = "https://developer.nvidia.com/compute/cuda/8.0/Prod2/patches/2/cuda_8.0.61.2_linux-run";
-        sha256 = "1iaz5rrsnsb1p99qiqvxn6j3ksc7ry8xlr397kqcjzxqbljbqn9d";
-      })
-    ];
-    gcc = gcc6;
-  };
-
   cudatoolkit_9_0 = common {
     version = "9.0.176.1";
     url = "https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run";
@@ -153,5 +112,12 @@ in rec {
     gcc = gcc9;
   };
 
-  cudatoolkit_11 = cudatoolkit_11_1;
+  cudatoolkit_11_2 = common {
+    version = "11.2.1";
+    url = "https://developer.download.nvidia.com/compute/cuda/11.2.1/local_installers/cuda_11.2.1_460.32.03_linux.run";
+    sha256 = "sha256-HamMuJfMX1inRFpKZspPaSaGdwbLOvWKZpzc2Nw9F8g=";
+    gcc = gcc9;
+  };
+
+  cudatoolkit_11 = cudatoolkit_11_2;
 }
diff --git a/pkgs/development/compilers/ecl/default.nix b/pkgs/development/compilers/ecl/default.nix
index 0b4ea9b83890b..79a290a6c1c05 100644
--- a/pkgs/development/compilers/ecl/default.nix
+++ b/pkgs/development/compilers/ecl/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchurl
+{lib, stdenv, fetchurl, fetchpatch
 , libtool, autoconf, automake
 , texinfo
 , gmp, mpfr, libffi, makeWrapper
@@ -11,10 +11,10 @@ let
   s = # Generated upstream information
   rec {
     baseName="ecl";
-    version="20.4.24";
+    version="21.2.1";
     name="${baseName}-${version}";
     url="https://common-lisp.net/project/ecl/static/files/release/${name}.tgz";
-    sha256="01qgdmr54wkj854f69qdm9sybrvd6gd21dpx4askdaaqybnkh237";
+    sha256="000906nnq25177bgsfndiw3iqqgrjc9spk10hzk653sbz3f7anmi";
   };
   buildInputs = [
     libtool autoconf automake texinfo makeWrapper
@@ -36,37 +36,10 @@ stdenv.mkDerivation {
   };
 
   patches = [
-    # https://trac.sagemath.org/ticket/22191#comment:237
-    (fetchurl {
-      name = "ECL_WITH_LISP_FPE.patch";
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/ecl/patches/ECL_WITH_LISP_FPE.patch?h=9.2";
-      sha256 = "0b194613avcmzr1k9gq725z41wdkg5rsa0q21kdw050iqpprcj1c";
-    })
-
     # https://gitlab.com/embeddable-common-lisp/ecl/-/merge_requests/1
-    (fetchurl {
-      name = "write_error.patch";
+    (fetchpatch {
       url = "https://git.sagemath.org/sage.git/plain/build/pkgs/ecl/patches/write_error.patch?h=9.2";
-      sha256 = "1lvdvh77blnxp0zbd27dsbq1ljkb5qblabf1illszn4j7qgq88fh";
-    })
-
-    # Three patches to fix ecl's unicode handling (https://trac.sagemath.org/ticket/30122)
-    (fetchurl {
-      name = "0001-unicode-fix-ecl_string_case-for-non-ascii-characters.patch";
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/ecl/patches/0001-unicode-fix-ecl_string_case-for-non-ascii-characters.patch?h=9.2";
-      sha256 = "0z8pnhawivrrbg4vz144nr2sz64jxp7764hn6df13bgkz84iqbmk";
-    })
-
-    (fetchurl {
-      name = "0002-cosmetic-fix-some-compiler-warnings.patch";
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/ecl/patches/0002-cosmetic-fix-some-compiler-warnings.patch?h=9.2";
-      sha256 = "0msx3say9igwr9z5ywnr3gs6vsndnzlx47fmzwzh4l0m274cnia8";
-    })
-
-    (fetchurl {
-      name = "0003-printer-fix-printing-of-symbols-with-non-ascii-names.patch";
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/ecl/patches/0003-printer-fix-printing-of-symbols-with-non-ascii-names.patch?h=9.2";
-      sha256 = "0ln5dsx6p265fkph3bl5wblgfi3f7frb4jl6v473wz3ibvcx1x9a";
+      sha256 = "0hfxacpgn4919hg0mn4wf4m8r7y592r4gw7aqfnva7sckxi6w089";
     })
   ];
 
@@ -96,6 +69,6 @@ stdenv.mkDerivation {
     homepage = "https://common-lisp.net/project/ecl/";
     license = lib.licenses.mit ;
     maintainers = [lib.maintainers.raskin];
-    platforms = lib.platforms.linux;
+    platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix
index 7ee9e6e5d6179..333c8c2027059 100644
--- a/pkgs/development/compilers/elm/default.nix
+++ b/pkgs/development/compilers/elm/default.nix
@@ -7,7 +7,7 @@
 let
   fetchElmDeps = import ./fetchElmDeps.nix { inherit stdenv lib fetchurl; };
 
-  hsPkgs = haskell.packages.ghc883.override {
+  hsPkgs = haskell.packages.ghc8103.override {
     overrides = self: super: with haskell.lib; with lib;
       let elmPkgs = rec {
             elm = overrideCabal (self.callPackage ./packages/elm.nix { }) (drv: {
@@ -41,7 +41,7 @@ let
               description = "Formats Elm source code according to a standard set of rules based on the official Elm Style Guide";
               homepage = "https://github.com/avh4/elm-format";
               license = licenses.bsd3;
-              maintainers = with maintainers; [ turbomack ];
+              maintainers = with maintainers; [ avh4 turbomack ];
             }));
 
             elmi-to-json = justStaticExecutables (overrideCabal (self.callPackage ./packages/elmi-to-json.nix {}) (drv: {
@@ -79,6 +79,11 @@ let
 
         # Needed for elm-format
         indents = self.callPackage ./packages/indents.nix {};
+        bimap = self.callPackage ./packages/bimap.nix {};
+        avh4-lib = self.callPackage ./packages/avh4-lib.nix {};
+        elm-format-lib = self.callPackage ./packages/elm-format-lib.nix {};
+        elm-format-test-lib = self.callPackage ./packages/elm-format-test-lib.nix {};
+        elm-format-markdown = self.callPackage ./packages/elm-format-markdown.nix {};
       };
   };
 
@@ -104,7 +109,6 @@ let
         homepage = "https://github.com/zwilias/elm-json";
         license = licenses.mit;
         maintainers = [ maintainers.turbomack ];
-        platforms = platforms.linux;
       };
     };
   };
@@ -117,7 +121,7 @@ let
         };
     in with hsPkgs.elmPkgs; {
 
-      elm-test = patchBinwrap [elmi-to-json]
+      elm-test =
         nodePkgs.elm-test // {
           meta = with lib; {
             description = "Runs elm-test suites from Node.js";
@@ -162,8 +166,8 @@ let
           };
         });
 
-      create-elm-app = patchNpmElm (patchBinwrap [elmi-to-json]
-        nodePkgs.create-elm-app) // {
+      create-elm-app = patchNpmElm
+        nodePkgs.create-elm-app // {
           meta = with lib; {
             description = "Create Elm apps with no build configuration";
             homepage = "https://github.com/halfzebra/create-elm-app";
@@ -172,7 +176,7 @@ let
           };
         };
 
-      elm-review = patchBinwrap [elmRustPackages.elm-json]
+      elm-review =
         nodePkgs.elm-review // {
           meta = with lib; {
             description = "Analyzes Elm projects, to help find mistakes before your users find them";
diff --git a/pkgs/development/compilers/elm/packages/avh4-lib.nix b/pkgs/development/compilers/elm/packages/avh4-lib.nix
new file mode 100644
index 0000000000000..cd3df7d67a961
--- /dev/null
+++ b/pkgs/development/compilers/elm/packages/avh4-lib.nix
@@ -0,0 +1,29 @@
+{ mkDerivation, ansi-terminal, ansi-wl-pprint, array, base, bimap
+, binary, bytestring, containers, directory, fetchgit, filepath
+, lib, mtl, process, relude, tasty, tasty-discover, tasty-hspec
+, tasty-hunit, text
+}:
+mkDerivation {
+  pname = "avh4-lib";
+  version = "0.0.0.1";
+  src = fetchgit {
+    url = "https://github.com/avh4/elm-format";
+    sha256 = "0bcjkcs1dy1csz0mpk7d4b5wf93fsj9p86x8fp42mb0pipdd0bh6";
+    rev = "80f15d85ee71e1663c9b53903f2b5b2aa444a3be";
+    fetchSubmodules = true;
+  };
+  postUnpack = "sourceRoot+=/avh4-lib; echo source root reset to $sourceRoot";
+  libraryHaskellDepends = [
+    ansi-terminal ansi-wl-pprint array base bimap binary bytestring
+    containers directory filepath mtl process relude text
+  ];
+  testHaskellDepends = [
+    ansi-terminal ansi-wl-pprint array base bimap binary bytestring
+    containers directory filepath mtl process relude tasty tasty-hspec
+    tasty-hunit text
+  ];
+  testToolDepends = [ tasty-discover ];
+  doHaddock = false;
+  description = "Common code for haskell projects";
+  license = lib.licenses.bsd3;
+}
diff --git a/pkgs/development/compilers/elm/packages/bimap.nix b/pkgs/development/compilers/elm/packages/bimap.nix
new file mode 100644
index 0000000000000..41412d1639c7f
--- /dev/null
+++ b/pkgs/development/compilers/elm/packages/bimap.nix
@@ -0,0 +1,15 @@
+{ mkDerivation, base, containers, exceptions, lib, QuickCheck
+, template-haskell
+}:
+mkDerivation {
+  pname = "bimap";
+  version = "0.3.3";
+  sha256 = "73829355c7bcbd3eedba22a382a04a3ab641702b00828790ec082ec2db3a8ad1";
+  libraryHaskellDepends = [ base containers exceptions ];
+  testHaskellDepends = [
+    base containers exceptions QuickCheck template-haskell
+  ];
+  homepage = "https://github.com/joelwilliamson/bimap";
+  description = "Bidirectional mapping between two key types";
+  license = lib.licenses.bsd3;
+}
diff --git a/pkgs/development/compilers/elm/packages/elm-format-lib.nix b/pkgs/development/compilers/elm/packages/elm-format-lib.nix
new file mode 100644
index 0000000000000..7beb52e8006ed
--- /dev/null
+++ b/pkgs/development/compilers/elm/packages/elm-format-lib.nix
@@ -0,0 +1,33 @@
+{ mkDerivation, ansi-terminal, ansi-wl-pprint, array, avh4-lib
+, base, bimap, binary, bytestring, containers, directory
+, elm-format-markdown, elm-format-test-lib, fetchgit, filepath
+, indents, json, lib, mtl, optparse-applicative, parsec, process
+, relude, split, tasty, tasty-discover, tasty-hspec, tasty-hunit
+, text
+}:
+mkDerivation {
+  pname = "elm-format-lib";
+  version = "0.0.0.1";
+  src = fetchgit {
+    url = "https://github.com/avh4/elm-format";
+    sha256 = "0bcjkcs1dy1csz0mpk7d4b5wf93fsj9p86x8fp42mb0pipdd0bh6";
+    rev = "80f15d85ee71e1663c9b53903f2b5b2aa444a3be";
+    fetchSubmodules = true;
+  };
+  postUnpack = "sourceRoot+=/elm-format-lib; echo source root reset to $sourceRoot";
+  libraryHaskellDepends = [
+    ansi-terminal ansi-wl-pprint array avh4-lib base bimap binary
+    bytestring containers directory elm-format-markdown filepath
+    indents json mtl optparse-applicative parsec process relude text
+  ];
+  testHaskellDepends = [
+    ansi-terminal ansi-wl-pprint array avh4-lib base bimap binary
+    bytestring containers directory elm-format-markdown
+    elm-format-test-lib filepath indents json mtl optparse-applicative
+    parsec process relude split tasty tasty-hspec tasty-hunit text
+  ];
+  testToolDepends = [ tasty-discover ];
+  doHaddock = false;
+  description = "Common code used by elm-format and elm-refactor";
+  license = lib.licenses.bsd3;
+}
diff --git a/pkgs/development/compilers/elm/packages/elm-format-markdown.nix b/pkgs/development/compilers/elm/packages/elm-format-markdown.nix
new file mode 100644
index 0000000000000..ae3b40347dbb9
--- /dev/null
+++ b/pkgs/development/compilers/elm/packages/elm-format-markdown.nix
@@ -0,0 +1,16 @@
+{ mkDerivation, base, containers, fetchgit, lib, mtl, text }:
+mkDerivation {
+  pname = "elm-format-markdown";
+  version = "0.0.0.1";
+  src = fetchgit {
+    url = "https://github.com/avh4/elm-format";
+    sha256 = "0bcjkcs1dy1csz0mpk7d4b5wf93fsj9p86x8fp42mb0pipdd0bh6";
+    rev = "80f15d85ee71e1663c9b53903f2b5b2aa444a3be";
+    fetchSubmodules = true;
+  };
+  postUnpack = "sourceRoot+=/elm-format-markdown; echo source root reset to $sourceRoot";
+  libraryHaskellDepends = [ base containers mtl text ];
+  doHaddock = false;
+  description = "Markdown parsing for Elm documentation comments";
+  license = lib.licenses.bsd3;
+}
diff --git a/pkgs/development/compilers/elm/packages/elm-format-test-lib.nix b/pkgs/development/compilers/elm/packages/elm-format-test-lib.nix
new file mode 100644
index 0000000000000..729c2d678fce6
--- /dev/null
+++ b/pkgs/development/compilers/elm/packages/elm-format-test-lib.nix
@@ -0,0 +1,27 @@
+{ mkDerivation, avh4-lib, base, containers, fetchgit, filepath
+, hspec-core, hspec-golden, lib, mtl, split, tasty, tasty-discover
+, tasty-hspec, tasty-hunit, text
+}:
+mkDerivation {
+  pname = "elm-format-test-lib";
+  version = "0.0.0.1";
+  src = fetchgit {
+    url = "https://github.com/avh4/elm-format";
+    sha256 = "0bcjkcs1dy1csz0mpk7d4b5wf93fsj9p86x8fp42mb0pipdd0bh6";
+    rev = "80f15d85ee71e1663c9b53903f2b5b2aa444a3be";
+    fetchSubmodules = true;
+  };
+  postUnpack = "sourceRoot+=/elm-format-test-lib; echo source root reset to $sourceRoot";
+  libraryHaskellDepends = [
+    avh4-lib base containers filepath hspec-core hspec-golden mtl split
+    tasty tasty-hspec tasty-hunit text
+  ];
+  testHaskellDepends = [
+    avh4-lib base containers filepath hspec-core hspec-golden mtl split
+    tasty tasty-hspec tasty-hunit text
+  ];
+  testToolDepends = [ tasty-discover ];
+  doHaddock = false;
+  description = "Test helpers used by elm-format-tests and elm-refactor-tests";
+  license = lib.licenses.bsd3;
+}
diff --git a/pkgs/development/compilers/elm/packages/elm-format.nix b/pkgs/development/compilers/elm/packages/elm-format.nix
index b2f655d4f1c57..6b583a6edde2f 100644
--- a/pkgs/development/compilers/elm/packages/elm-format.nix
+++ b/pkgs/development/compilers/elm/packages/elm-format.nix
@@ -1,40 +1,40 @@
-{ mkDerivation, fetchgit, ansi-terminal, ansi-wl-pprint, array, base, binary
-, bytestring, cmark, containers, directory, filepath, free, HUnit
-, indents, json, mtl, optparse-applicative, parsec, process
-, QuickCheck, quickcheck-io, split, lib, tasty, tasty-golden
-, tasty-hunit, tasty-quickcheck, text
+{ mkDerivation, ansi-wl-pprint, avh4-lib, base, bimap, cmark
+, containers, elm-format-lib, elm-format-test-lib, fetchgit, json
+, lib, mtl, optparse-applicative, parsec, QuickCheck, quickcheck-io
+, relude, tasty, tasty-hspec, tasty-hunit, tasty-quickcheck, text
 }:
-mkDerivation {
+mkDerivation rec {
   pname = "elm-format";
-  version = "0.8.4";
+  version = "0.8.5";
   src = fetchgit {
     url = "https://github.com/avh4/elm-format";
-    sha256 = "0cxlhhdjx4h9g03z83pxv91qrysbi0ab92rl52jb0yvkaix989ai";
-    rev = "5bd4fbe591fe8b456160c180cb875ef60bc57890";
+    sha256 = "0bcjkcs1dy1csz0mpk7d4b5wf93fsj9p86x8fp42mb0pipdd0bh6";
+    rev = "80f15d85ee71e1663c9b53903f2b5b2aa444a3be";
+    fetchSubmodules = true;
   };
-  postPatch = ''
-    mkdir -p ./generated
-    cat <<EOHS > ./generated/Build_elm_format.hs
-    module Build_elm_format where
-
-    gitDescribe :: String
-    gitDescribe = "0.8.4"
-    EOHS
-  '';
   isLibrary = false;
   isExecutable = true;
-  libraryHaskellDepends = [
-    ansi-terminal ansi-wl-pprint array base binary bytestring
-    containers directory filepath free indents json mtl
-    optparse-applicative parsec process split text
+  executableHaskellDepends = [
+    ansi-wl-pprint avh4-lib base containers elm-format-lib json
+    optparse-applicative relude text
   ];
-  executableHaskellDepends = [ base ];
   testHaskellDepends = [
-    base cmark containers HUnit mtl parsec QuickCheck quickcheck-io
-    split tasty tasty-golden tasty-hunit tasty-quickcheck text
+    ansi-wl-pprint avh4-lib base bimap cmark containers elm-format-lib
+    elm-format-test-lib json mtl optparse-applicative parsec QuickCheck
+    quickcheck-io relude tasty tasty-hspec tasty-hunit tasty-quickcheck
+    text
   ];
   doHaddock = false;
   homepage = "https://elm-lang.org";
   description = "A source code formatter for Elm";
   license = lib.licenses.bsd3;
+  postPatch = ''
+    mkdir -p ./generated
+    cat <<EOHS > ./generated/Build_elm_format.hs
+    module Build_elm_format where
+
+    gitDescribe :: String
+    gitDescribe = "${version}"
+    EOHS
+  '';
 }
diff --git a/pkgs/development/compilers/elm/packages/generate-node-packages.sh b/pkgs/development/compilers/elm/packages/generate-node-packages.sh
index d805fe3827dd4..0ffa56eae90a6 100755
--- a/pkgs/development/compilers/elm/packages/generate-node-packages.sh
+++ b/pkgs/development/compilers/elm/packages/generate-node-packages.sh
@@ -10,6 +10,4 @@ $(nix-build $ROOT -A nodePackages.node2nix --no-out-link)/bin/node2nix \
     -i node-packages.json \
     -o node-packages.nix \
     -c node-composition.nix \
-    # TODO: Switch to the commented out version once nodejs package set gets updated to new node2nix
-    -e node-env.nix
-    # --no-copy-node-env -e ../../../node-packages/node-env.nix
+    --no-copy-node-env -e ../../../node-packages/node-env.nix
diff --git a/pkgs/development/compilers/elm/packages/indents.nix b/pkgs/development/compilers/elm/packages/indents.nix
index d196e8d0fbf64..85e765db3e50b 100644
--- a/pkgs/development/compilers/elm/packages/indents.nix
+++ b/pkgs/development/compilers/elm/packages/indents.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, base, concatenative, mtl, parsec, lib }:
+{ mkDerivation, base, concatenative, lib, mtl, parsec }:
 mkDerivation {
   pname = "indents";
   version = "0.3.3";
diff --git a/pkgs/development/compilers/elm/packages/node-composition.nix b/pkgs/development/compilers/elm/packages/node-composition.nix
index f6cfb2cd2e452..4b662bd072b4f 100644
--- a/pkgs/development/compilers/elm/packages/node-composition.nix
+++ b/pkgs/development/compilers/elm/packages/node-composition.nix
@@ -1,17 +1,17 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
   }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
 
 let
-  nodeEnv = import ./node-env.nix {
-    inherit (pkgs) lib stdenv python2 utillinux runCommand writeTextFile;
-    inherit nodejs;
+  nodeEnv = import ../../../node-packages/node-env.nix {
+    inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
+    inherit pkgs nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
 import ./node-packages.nix {
-  inherit (pkgs) fetchurl fetchgit;
+  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
   inherit nodeEnv;
 }
diff --git a/pkgs/development/compilers/elm/packages/node-packages.nix b/pkgs/development/compilers/elm/packages/node-packages.nix
index 015958d1239e3..7698d5307327d 100644
--- a/pkgs/development/compilers/elm/packages/node-packages.nix
+++ b/pkgs/development/compilers/elm/packages/node-packages.nix
@@ -1,16 +1,16 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
 let
   sources = {
-    "@babel/cli-7.12.8" = {
+    "@babel/cli-7.12.10" = {
       name = "_at_babel_slash_cli";
       packageName = "@babel/cli";
-      version = "7.12.8";
+      version = "7.12.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/cli/-/cli-7.12.8.tgz";
-        sha512 = "/6nQj11oaGhLmZiuRUfxsujiPDc9BBReemiXgIbxc+M5W+MIiFKYwvNDJvBfnGKNsJTKbUfEheKc9cwoPHAVQA==";
+        url = "https://registry.npmjs.org/@babel/cli/-/cli-7.12.10.tgz";
+        sha512 = "+y4ZnePpvWs1fc/LhZRTHkTesbXkyBYuOB+5CyodZqrEuETXi3zOVfpAQIdgC3lXbHLTDG9dQosxR9BhvLKDLQ==";
       };
     };
     "@babel/code-frame-7.0.0" = {
@@ -22,202 +22,193 @@ let
         sha512 = "OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==";
       };
     };
-    "@babel/code-frame-7.10.4" = {
+    "@babel/code-frame-7.12.13" = {
       name = "_at_babel_slash_code-frame";
       packageName = "@babel/code-frame";
-      version = "7.10.4";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz";
-        sha512 = "vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==";
+        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz";
+        sha512 = "HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==";
       };
     };
-    "@babel/compat-data-7.12.7" = {
+    "@babel/compat-data-7.12.13" = {
       name = "_at_babel_slash_compat-data";
       packageName = "@babel/compat-data";
-      version = "7.12.7";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz";
-        sha512 = "YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==";
+        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.13.tgz";
+        sha512 = "U/hshG5R+SIoW7HVWIdmy1cB7s3ki+r3FpyEZiCgpi4tFgPnX/vynY80ZGSASOIrUM6O7VxOgCZgdt7h97bUGg==";
       };
     };
-    "@babel/core-7.12.9" = {
+    "@babel/core-7.12.10" = {
       name = "_at_babel_slash_core";
       packageName = "@babel/core";
-      version = "7.12.9";
+      version = "7.12.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz";
-        sha512 = "gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==";
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz";
+        sha512 = "eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==";
       };
     };
-    "@babel/generator-7.12.5" = {
+    "@babel/generator-7.12.15" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.12.5";
+      version = "7.12.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz";
-        sha512 = "m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==";
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz";
+        sha512 = "6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==";
       };
     };
-    "@babel/helper-annotate-as-pure-7.10.4" = {
+    "@babel/helper-annotate-as-pure-7.12.13" = {
       name = "_at_babel_slash_helper-annotate-as-pure";
       packageName = "@babel/helper-annotate-as-pure";
-      version = "7.10.4";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz";
-        sha512 = "XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==";
+        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz";
+        sha512 = "7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==";
       };
     };
-    "@babel/helper-builder-binary-assignment-operator-visitor-7.10.4" = {
+    "@babel/helper-builder-binary-assignment-operator-visitor-7.12.13" = {
       name = "_at_babel_slash_helper-builder-binary-assignment-operator-visitor";
       packageName = "@babel/helper-builder-binary-assignment-operator-visitor";
-      version = "7.10.4";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz";
-        sha512 = "L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==";
+        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz";
+        sha512 = "CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==";
       };
     };
-    "@babel/helper-compilation-targets-7.12.5" = {
+    "@babel/helper-compilation-targets-7.12.13" = {
       name = "_at_babel_slash_helper-compilation-targets";
       packageName = "@babel/helper-compilation-targets";
-      version = "7.12.5";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz";
-        sha512 = "+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==";
+        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.13.tgz";
+        sha512 = "dXof20y/6wB5HnLOGyLh/gobsMvDNoekcC+8MCV2iaTd5JemhFkPD73QB+tK3iFC9P0xJC73B6MvKkyUfS9cCw==";
       };
     };
-    "@babel/helper-create-class-features-plugin-7.12.1" = {
+    "@babel/helper-create-class-features-plugin-7.12.13" = {
       name = "_at_babel_slash_helper-create-class-features-plugin";
       packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz";
-        sha512 = "hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==";
+        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.13.tgz";
+        sha512 = "Vs/e9wv7rakKYeywsmEBSRC9KtmE7Px+YBlESekLeJOF0zbGUicGfXSNi3o+tfXSNS48U/7K9mIOOCR79Cl3+Q==";
       };
     };
-    "@babel/helper-create-regexp-features-plugin-7.12.7" = {
+    "@babel/helper-create-regexp-features-plugin-7.12.13" = {
       name = "_at_babel_slash_helper-create-regexp-features-plugin";
       packageName = "@babel/helper-create-regexp-features-plugin";
-      version = "7.12.7";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz";
-        sha512 = "idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==";
+        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.13.tgz";
+        sha512 = "XC+kiA0J3at6E85dL5UnCYfVOcIZ834QcAY0TIpgUVnz0zDzg+0TtvZTnJ4g9L1dPRGe30Qi03XCIS4tYCLtqw==";
       };
     };
-    "@babel/helper-define-map-7.10.5" = {
-      name = "_at_babel_slash_helper-define-map";
-      packageName = "@babel/helper-define-map";
-      version = "7.10.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz";
-        sha512 = "fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==";
-      };
-    };
-    "@babel/helper-explode-assignable-expression-7.12.1" = {
+    "@babel/helper-explode-assignable-expression-7.12.13" = {
       name = "_at_babel_slash_helper-explode-assignable-expression";
       packageName = "@babel/helper-explode-assignable-expression";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz";
-        sha512 = "dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==";
+        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.13.tgz";
+        sha512 = "5loeRNvMo9mx1dA/d6yNi+YiKziJZFylZnCo1nmFF4qPU4yJ14abhWESuSMQSlQxWdxdOFzxXjk/PpfudTtYyw==";
       };
     };
-    "@babel/helper-function-name-7.10.4" = {
+    "@babel/helper-function-name-7.12.13" = {
       name = "_at_babel_slash_helper-function-name";
       packageName = "@babel/helper-function-name";
-      version = "7.10.4";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz";
-        sha512 = "YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==";
+        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz";
+        sha512 = "TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==";
       };
     };
-    "@babel/helper-get-function-arity-7.10.4" = {
+    "@babel/helper-get-function-arity-7.12.13" = {
       name = "_at_babel_slash_helper-get-function-arity";
       packageName = "@babel/helper-get-function-arity";
-      version = "7.10.4";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz";
-        sha512 = "EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==";
+        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz";
+        sha512 = "DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==";
       };
     };
-    "@babel/helper-hoist-variables-7.10.4" = {
+    "@babel/helper-hoist-variables-7.12.13" = {
       name = "_at_babel_slash_helper-hoist-variables";
       packageName = "@babel/helper-hoist-variables";
-      version = "7.10.4";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz";
-        sha512 = "wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==";
+        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.12.13.tgz";
+        sha512 = "KSC5XSj5HreRhYQtZ3cnSnQwDzgnbdUDEFsxkN0m6Q3WrCRt72xrnZ8+h+pX7YxM7hr87zIO3a/v5p/H3TrnVw==";
       };
     };
-    "@babel/helper-member-expression-to-functions-7.12.7" = {
+    "@babel/helper-member-expression-to-functions-7.12.13" = {
       name = "_at_babel_slash_helper-member-expression-to-functions";
       packageName = "@babel/helper-member-expression-to-functions";
-      version = "7.12.7";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz";
-        sha512 = "DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==";
+        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.13.tgz";
+        sha512 = "B+7nN0gIL8FZ8SvMcF+EPyB21KnCcZHQZFczCxbiNGV/O0rsrSBlWGLzmtBJ3GMjSVMIm4lpFhR+VdVBuIsUcQ==";
       };
     };
-    "@babel/helper-module-imports-7.12.5" = {
+    "@babel/helper-module-imports-7.12.13" = {
       name = "_at_babel_slash_helper-module-imports";
       packageName = "@babel/helper-module-imports";
-      version = "7.12.5";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz";
-        sha512 = "SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==";
+        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz";
+        sha512 = "NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==";
       };
     };
-    "@babel/helper-module-transforms-7.12.1" = {
+    "@babel/helper-module-transforms-7.12.13" = {
       name = "_at_babel_slash_helper-module-transforms";
       packageName = "@babel/helper-module-transforms";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz";
-        sha512 = "QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==";
+        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz";
+        sha512 = "acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA==";
       };
     };
-    "@babel/helper-optimise-call-expression-7.12.7" = {
+    "@babel/helper-optimise-call-expression-7.12.13" = {
       name = "_at_babel_slash_helper-optimise-call-expression";
       packageName = "@babel/helper-optimise-call-expression";
-      version = "7.12.7";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.7.tgz";
-        sha512 = "I5xc9oSJ2h59OwyUqjv95HRyzxj53DAubUERgQMrpcCEYQyToeHA+NEcUEsVWB4j53RDeskeBJ0SgRAYHDBckw==";
+        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz";
+        sha512 = "BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==";
       };
     };
-    "@babel/helper-plugin-utils-7.10.4" = {
+    "@babel/helper-plugin-utils-7.12.13" = {
       name = "_at_babel_slash_helper-plugin-utils";
       packageName = "@babel/helper-plugin-utils";
-      version = "7.10.4";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz";
-        sha512 = "O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==";
+        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz";
+        sha512 = "C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==";
       };
     };
-    "@babel/helper-remap-async-to-generator-7.12.1" = {
+    "@babel/helper-remap-async-to-generator-7.12.13" = {
       name = "_at_babel_slash_helper-remap-async-to-generator";
       packageName = "@babel/helper-remap-async-to-generator";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz";
-        sha512 = "9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==";
+        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.13.tgz";
+        sha512 = "Qa6PU9vNcj1NZacZZI1Mvwt+gXDH6CTfgAkSjeRMLE8HxtDK76+YDId6NQR+z7Rgd5arhD2cIbS74r0SxD6PDA==";
       };
     };
-    "@babel/helper-replace-supers-7.12.5" = {
+    "@babel/helper-replace-supers-7.12.13" = {
       name = "_at_babel_slash_helper-replace-supers";
       packageName = "@babel/helper-replace-supers";
-      version = "7.12.5";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz";
-        sha512 = "5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==";
+        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz";
+        sha512 = "pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==";
       };
     };
-    "@babel/helper-simple-access-7.12.1" = {
+    "@babel/helper-simple-access-7.12.13" = {
       name = "_at_babel_slash_helper-simple-access";
       packageName = "@babel/helper-simple-access";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz";
-        sha512 = "OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==";
+        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz";
+        sha512 = "0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==";
       };
     };
     "@babel/helper-skip-transparent-expression-wrappers-7.12.1" = {
@@ -229,85 +220,85 @@ let
         sha512 = "Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==";
       };
     };
-    "@babel/helper-split-export-declaration-7.11.0" = {
+    "@babel/helper-split-export-declaration-7.12.13" = {
       name = "_at_babel_slash_helper-split-export-declaration";
       packageName = "@babel/helper-split-export-declaration";
-      version = "7.11.0";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz";
-        sha512 = "74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==";
+        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz";
+        sha512 = "tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==";
       };
     };
-    "@babel/helper-validator-identifier-7.10.4" = {
+    "@babel/helper-validator-identifier-7.12.11" = {
       name = "_at_babel_slash_helper-validator-identifier";
       packageName = "@babel/helper-validator-identifier";
-      version = "7.10.4";
+      version = "7.12.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz";
-        sha512 = "3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==";
+        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz";
+        sha512 = "np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==";
       };
     };
-    "@babel/helper-validator-option-7.12.1" = {
+    "@babel/helper-validator-option-7.12.11" = {
       name = "_at_babel_slash_helper-validator-option";
       packageName = "@babel/helper-validator-option";
-      version = "7.12.1";
+      version = "7.12.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz";
-        sha512 = "YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A==";
+        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz";
+        sha512 = "TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==";
       };
     };
-    "@babel/helper-wrap-function-7.12.3" = {
+    "@babel/helper-wrap-function-7.12.13" = {
       name = "_at_babel_slash_helper-wrap-function";
       packageName = "@babel/helper-wrap-function";
-      version = "7.12.3";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz";
-        sha512 = "Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==";
+        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.13.tgz";
+        sha512 = "t0aZFEmBJ1LojdtJnhOaQEVejnzYhyjWHSsNSNo8vOYRbAJNh6r6GQF7pd36SqG7OKGbn+AewVQ/0IfYfIuGdw==";
       };
     };
-    "@babel/helpers-7.12.5" = {
+    "@babel/helpers-7.12.13" = {
       name = "_at_babel_slash_helpers";
       packageName = "@babel/helpers";
-      version = "7.12.5";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz";
-        sha512 = "lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==";
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.13.tgz";
+        sha512 = "oohVzLRZ3GQEk4Cjhfs9YkJA4TdIDTObdBEZGrd6F/T0GPSnuV6l22eMcxlvcvzVIPH3VTtxbseudM1zIE+rPQ==";
       };
     };
-    "@babel/highlight-7.10.4" = {
+    "@babel/highlight-7.12.13" = {
       name = "_at_babel_slash_highlight";
       packageName = "@babel/highlight";
-      version = "7.10.4";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz";
-        sha512 = "i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==";
+        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz";
+        sha512 = "kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==";
       };
     };
-    "@babel/parser-7.12.7" = {
+    "@babel/parser-7.12.15" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.12.7";
+      version = "7.12.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.12.7.tgz";
-        sha512 = "oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.12.15.tgz";
+        sha512 = "AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA==";
       };
     };
-    "@babel/plugin-proposal-async-generator-functions-7.12.1" = {
+    "@babel/plugin-proposal-async-generator-functions-7.12.13" = {
       name = "_at_babel_slash_plugin-proposal-async-generator-functions";
       packageName = "@babel/plugin-proposal-async-generator-functions";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz";
-        sha512 = "d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.13.tgz";
+        sha512 = "1KH46Hx4WqP77f978+5Ye/VUbuwQld2hph70yaw2hXS2v7ER2f3nlpNMu909HO2rbvP0NKLlMVDPh9KXklVMhA==";
       };
     };
-    "@babel/plugin-proposal-class-properties-7.12.1" = {
+    "@babel/plugin-proposal-class-properties-7.12.13" = {
       name = "_at_babel_slash_plugin-proposal-class-properties";
       packageName = "@babel/plugin-proposal-class-properties";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz";
-        sha512 = "cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.13.tgz";
+        sha512 = "8SCJ0Ddrpwv4T7Gwb33EmW1V9PY5lggTO+A8WjyIwxrSHDUyBw4MtF96ifn1n8H806YlxbVCoKXbbmzD6RD+cA==";
       };
     };
     "@babel/plugin-proposal-dynamic-import-7.12.1" = {
@@ -319,94 +310,94 @@ let
         sha512 = "a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==";
       };
     };
-    "@babel/plugin-proposal-export-namespace-from-7.12.1" = {
+    "@babel/plugin-proposal-export-namespace-from-7.12.13" = {
       name = "_at_babel_slash_plugin-proposal-export-namespace-from";
       packageName = "@babel/plugin-proposal-export-namespace-from";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz";
-        sha512 = "6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz";
+        sha512 = "INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==";
       };
     };
-    "@babel/plugin-proposal-json-strings-7.12.1" = {
+    "@babel/plugin-proposal-json-strings-7.12.13" = {
       name = "_at_babel_slash_plugin-proposal-json-strings";
       packageName = "@babel/plugin-proposal-json-strings";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz";
-        sha512 = "GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.13.tgz";
+        sha512 = "v9eEi4GiORDg8x+Dmi5r8ibOe0VXoKDeNPYcTTxdGN4eOWikrJfDJCJrr1l5gKGvsNyGJbrfMftC2dTL6oz7pg==";
       };
     };
-    "@babel/plugin-proposal-logical-assignment-operators-7.12.1" = {
+    "@babel/plugin-proposal-logical-assignment-operators-7.12.13" = {
       name = "_at_babel_slash_plugin-proposal-logical-assignment-operators";
       packageName = "@babel/plugin-proposal-logical-assignment-operators";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz";
-        sha512 = "k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.13.tgz";
+        sha512 = "fqmiD3Lz7jVdK6kabeSr1PZlWSUVqSitmHEe3Z00dtGTKieWnX9beafvavc32kjORa5Bai4QNHgFDwWJP+WtSQ==";
       };
     };
-    "@babel/plugin-proposal-nullish-coalescing-operator-7.12.1" = {
+    "@babel/plugin-proposal-nullish-coalescing-operator-7.12.13" = {
       name = "_at_babel_slash_plugin-proposal-nullish-coalescing-operator";
       packageName = "@babel/plugin-proposal-nullish-coalescing-operator";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz";
-        sha512 = "nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.13.tgz";
+        sha512 = "Qoxpy+OxhDBI5kRqliJFAl4uWXk3Bn24WeFstPH0iLymFehSAUR8MHpqU7njyXv/qbo7oN6yTy5bfCmXdKpo1Q==";
       };
     };
-    "@babel/plugin-proposal-numeric-separator-7.12.7" = {
+    "@babel/plugin-proposal-numeric-separator-7.12.13" = {
       name = "_at_babel_slash_plugin-proposal-numeric-separator";
       packageName = "@babel/plugin-proposal-numeric-separator";
-      version = "7.12.7";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz";
-        sha512 = "8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz";
+        sha512 = "O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==";
       };
     };
-    "@babel/plugin-proposal-object-rest-spread-7.12.1" = {
+    "@babel/plugin-proposal-object-rest-spread-7.12.13" = {
       name = "_at_babel_slash_plugin-proposal-object-rest-spread";
       packageName = "@babel/plugin-proposal-object-rest-spread";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz";
-        sha512 = "s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.13.tgz";
+        sha512 = "WvA1okB/0OS/N3Ldb3sziSrXg6sRphsBgqiccfcQq7woEn5wQLNX82Oc4PlaFcdwcWHuQXAtb8ftbS8Fbsg/sg==";
       };
     };
-    "@babel/plugin-proposal-optional-catch-binding-7.12.1" = {
+    "@babel/plugin-proposal-optional-catch-binding-7.12.13" = {
       name = "_at_babel_slash_plugin-proposal-optional-catch-binding";
       packageName = "@babel/plugin-proposal-optional-catch-binding";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz";
-        sha512 = "hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.13.tgz";
+        sha512 = "9+MIm6msl9sHWg58NvqpNpLtuFbmpFYk37x8kgnGzAHvX35E1FyAwSUt5hIkSoWJFSAH+iwU8bJ4fcD1zKXOzg==";
       };
     };
-    "@babel/plugin-proposal-optional-chaining-7.12.7" = {
+    "@babel/plugin-proposal-optional-chaining-7.12.13" = {
       name = "_at_babel_slash_plugin-proposal-optional-chaining";
       packageName = "@babel/plugin-proposal-optional-chaining";
-      version = "7.12.7";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz";
-        sha512 = "4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.13.tgz";
+        sha512 = "0ZwjGfTcnZqyV3y9DSD1Yk3ebp+sIUpT2YDqP8hovzaNZnQq2Kd7PEqa6iOIUDBXBt7Jl3P7YAcEIL5Pz8u09Q==";
       };
     };
-    "@babel/plugin-proposal-private-methods-7.12.1" = {
+    "@babel/plugin-proposal-private-methods-7.12.13" = {
       name = "_at_babel_slash_plugin-proposal-private-methods";
       packageName = "@babel/plugin-proposal-private-methods";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz";
-        sha512 = "mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.13.tgz";
+        sha512 = "sV0V57uUwpauixvR7s2o75LmwJI6JECwm5oPUY5beZB1nBl2i37hc7CJGqB5G+58fur5Y6ugvl3LRONk5x34rg==";
       };
     };
-    "@babel/plugin-proposal-unicode-property-regex-7.12.1" = {
+    "@babel/plugin-proposal-unicode-property-regex-7.12.13" = {
       name = "_at_babel_slash_plugin-proposal-unicode-property-regex";
       packageName = "@babel/plugin-proposal-unicode-property-regex";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz";
-        sha512 = "MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz";
+        sha512 = "XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==";
       };
     };
     "@babel/plugin-syntax-async-generators-7.8.4" = {
@@ -418,13 +409,13 @@ let
         sha512 = "tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==";
       };
     };
-    "@babel/plugin-syntax-class-properties-7.12.1" = {
+    "@babel/plugin-syntax-class-properties-7.12.13" = {
       name = "_at_babel_slash_plugin-syntax-class-properties";
       packageName = "@babel/plugin-syntax-class-properties";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz";
-        sha512 = "U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz";
+        sha512 = "fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==";
       };
     };
     "@babel/plugin-syntax-dynamic-import-7.8.3" = {
@@ -508,319 +499,319 @@ let
         sha512 = "KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==";
       };
     };
-    "@babel/plugin-syntax-top-level-await-7.12.1" = {
+    "@babel/plugin-syntax-top-level-await-7.12.13" = {
       name = "_at_babel_slash_plugin-syntax-top-level-await";
       packageName = "@babel/plugin-syntax-top-level-await";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz";
-        sha512 = "i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz";
+        sha512 = "A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==";
       };
     };
-    "@babel/plugin-transform-arrow-functions-7.12.1" = {
+    "@babel/plugin-transform-arrow-functions-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-arrow-functions";
       packageName = "@babel/plugin-transform-arrow-functions";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz";
-        sha512 = "5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.13.tgz";
+        sha512 = "tBtuN6qtCTd+iHzVZVOMNp+L04iIJBpqkdY42tWbmjIT5wvR2kx7gxMBsyhQtFzHwBbyGi9h8J8r9HgnOpQHxg==";
       };
     };
-    "@babel/plugin-transform-async-to-generator-7.12.1" = {
+    "@babel/plugin-transform-async-to-generator-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-async-to-generator";
       packageName = "@babel/plugin-transform-async-to-generator";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz";
-        sha512 = "SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.13.tgz";
+        sha512 = "psM9QHcHaDr+HZpRuJcE1PXESuGWSCcbiGFFhhwfzdbTxaGDVzuVtdNYliAwcRo3GFg0Bc8MmI+AvIGYIJG04A==";
       };
     };
-    "@babel/plugin-transform-block-scoped-functions-7.12.1" = {
+    "@babel/plugin-transform-block-scoped-functions-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-block-scoped-functions";
       packageName = "@babel/plugin-transform-block-scoped-functions";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz";
-        sha512 = "5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz";
+        sha512 = "zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==";
       };
     };
-    "@babel/plugin-transform-block-scoping-7.12.1" = {
+    "@babel/plugin-transform-block-scoping-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-block-scoping";
       packageName = "@babel/plugin-transform-block-scoping";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz";
-        sha512 = "zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz";
+        sha512 = "Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==";
       };
     };
-    "@babel/plugin-transform-classes-7.12.1" = {
+    "@babel/plugin-transform-classes-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-classes";
       packageName = "@babel/plugin-transform-classes";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz";
-        sha512 = "/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.13.tgz";
+        sha512 = "cqZlMlhCC1rVnxE5ZGMtIb896ijL90xppMiuWXcwcOAuFczynpd3KYemb91XFFPi3wJSe/OcrX9lXoowatkkxA==";
       };
     };
-    "@babel/plugin-transform-computed-properties-7.12.1" = {
+    "@babel/plugin-transform-computed-properties-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-computed-properties";
       packageName = "@babel/plugin-transform-computed-properties";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz";
-        sha512 = "vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.13.tgz";
+        sha512 = "dDfuROUPGK1mTtLKyDPUavmj2b6kFu82SmgpztBFEO974KMjJT+Ytj3/oWsTUMBmgPcp9J5Pc1SlcAYRpJ2hRA==";
       };
     };
-    "@babel/plugin-transform-destructuring-7.12.1" = {
+    "@babel/plugin-transform-destructuring-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-destructuring";
       packageName = "@babel/plugin-transform-destructuring";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz";
-        sha512 = "fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.13.tgz";
+        sha512 = "Dn83KykIFzjhA3FDPA1z4N+yfF3btDGhjnJwxIj0T43tP0flCujnU8fKgEkf0C1biIpSv9NZegPBQ1J6jYkwvQ==";
       };
     };
-    "@babel/plugin-transform-dotall-regex-7.12.1" = {
+    "@babel/plugin-transform-dotall-regex-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-dotall-regex";
       packageName = "@babel/plugin-transform-dotall-regex";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz";
-        sha512 = "B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz";
+        sha512 = "foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==";
       };
     };
-    "@babel/plugin-transform-duplicate-keys-7.12.1" = {
+    "@babel/plugin-transform-duplicate-keys-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-duplicate-keys";
       packageName = "@babel/plugin-transform-duplicate-keys";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz";
-        sha512 = "iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz";
+        sha512 = "NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==";
       };
     };
-    "@babel/plugin-transform-exponentiation-operator-7.12.1" = {
+    "@babel/plugin-transform-exponentiation-operator-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-exponentiation-operator";
       packageName = "@babel/plugin-transform-exponentiation-operator";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz";
-        sha512 = "7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz";
+        sha512 = "fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==";
       };
     };
-    "@babel/plugin-transform-for-of-7.12.1" = {
+    "@babel/plugin-transform-for-of-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-for-of";
       packageName = "@babel/plugin-transform-for-of";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz";
-        sha512 = "Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.13.tgz";
+        sha512 = "xCbdgSzXYmHGyVX3+BsQjcd4hv4vA/FDy7Kc8eOpzKmBBPEOTurt0w5fCRQaGl+GSBORKgJdstQ1rHl4jbNseQ==";
       };
     };
-    "@babel/plugin-transform-function-name-7.12.1" = {
+    "@babel/plugin-transform-function-name-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-function-name";
       packageName = "@babel/plugin-transform-function-name";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz";
-        sha512 = "JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz";
+        sha512 = "6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==";
       };
     };
-    "@babel/plugin-transform-literals-7.12.1" = {
+    "@babel/plugin-transform-literals-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-literals";
       packageName = "@babel/plugin-transform-literals";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz";
-        sha512 = "+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz";
+        sha512 = "FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==";
       };
     };
-    "@babel/plugin-transform-member-expression-literals-7.12.1" = {
+    "@babel/plugin-transform-member-expression-literals-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-member-expression-literals";
       packageName = "@babel/plugin-transform-member-expression-literals";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz";
-        sha512 = "1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz";
+        sha512 = "kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==";
       };
     };
-    "@babel/plugin-transform-modules-amd-7.12.1" = {
+    "@babel/plugin-transform-modules-amd-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-modules-amd";
       packageName = "@babel/plugin-transform-modules-amd";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz";
-        sha512 = "tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.13.tgz";
+        sha512 = "JHLOU0o81m5UqG0Ulz/fPC68/v+UTuGTWaZBUwpEk1fYQ1D9LfKV6MPn4ttJKqRo5Lm460fkzjLTL4EHvCprvA==";
       };
     };
-    "@babel/plugin-transform-modules-commonjs-7.12.1" = {
+    "@babel/plugin-transform-modules-commonjs-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-modules-commonjs";
       packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz";
-        sha512 = "dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.13.tgz";
+        sha512 = "OGQoeVXVi1259HjuoDnsQMlMkT9UkZT9TpXAsqWplS/M0N1g3TJAn/ByOCeQu7mfjc5WpSsRU+jV1Hd89ts0kQ==";
       };
     };
-    "@babel/plugin-transform-modules-systemjs-7.12.1" = {
+    "@babel/plugin-transform-modules-systemjs-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-modules-systemjs";
       packageName = "@babel/plugin-transform-modules-systemjs";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz";
-        sha512 = "Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.13.tgz";
+        sha512 = "aHfVjhZ8QekaNF/5aNdStCGzwTbU7SI5hUybBKlMzqIMC7w7Ho8hx5a4R/DkTHfRfLwHGGxSpFt9BfxKCoXKoA==";
       };
     };
-    "@babel/plugin-transform-modules-umd-7.12.1" = {
+    "@babel/plugin-transform-modules-umd-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-modules-umd";
       packageName = "@babel/plugin-transform-modules-umd";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz";
-        sha512 = "aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.13.tgz";
+        sha512 = "BgZndyABRML4z6ibpi7Z98m4EVLFI9tVsZDADC14AElFaNHHBcJIovflJ6wtCqFxwy2YJ1tJhGRsr0yLPKoN+w==";
       };
     };
-    "@babel/plugin-transform-named-capturing-groups-regex-7.12.1" = {
+    "@babel/plugin-transform-named-capturing-groups-regex-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex";
       packageName = "@babel/plugin-transform-named-capturing-groups-regex";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz";
-        sha512 = "tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz";
+        sha512 = "Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==";
       };
     };
-    "@babel/plugin-transform-new-target-7.12.1" = {
+    "@babel/plugin-transform-new-target-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-new-target";
       packageName = "@babel/plugin-transform-new-target";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz";
-        sha512 = "+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz";
+        sha512 = "/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==";
       };
     };
-    "@babel/plugin-transform-object-super-7.12.1" = {
+    "@babel/plugin-transform-object-super-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-object-super";
       packageName = "@babel/plugin-transform-object-super";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz";
-        sha512 = "AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz";
+        sha512 = "JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==";
       };
     };
-    "@babel/plugin-transform-parameters-7.12.1" = {
+    "@babel/plugin-transform-parameters-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-parameters";
       packageName = "@babel/plugin-transform-parameters";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz";
-        sha512 = "xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.13.tgz";
+        sha512 = "e7QqwZalNiBRHCpJg/P8s/VJeSRYgmtWySs1JwvfwPqhBbiWfOcHDKdeAi6oAyIimoKWBlwc8oTgbZHdhCoVZA==";
       };
     };
-    "@babel/plugin-transform-property-literals-7.12.1" = {
+    "@babel/plugin-transform-property-literals-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-property-literals";
       packageName = "@babel/plugin-transform-property-literals";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz";
-        sha512 = "6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz";
+        sha512 = "nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==";
       };
     };
-    "@babel/plugin-transform-regenerator-7.12.1" = {
+    "@babel/plugin-transform-regenerator-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-regenerator";
       packageName = "@babel/plugin-transform-regenerator";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz";
-        sha512 = "gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz";
+        sha512 = "lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA==";
       };
     };
-    "@babel/plugin-transform-reserved-words-7.12.1" = {
+    "@babel/plugin-transform-reserved-words-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-reserved-words";
       packageName = "@babel/plugin-transform-reserved-words";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz";
-        sha512 = "pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz";
+        sha512 = "xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==";
       };
     };
-    "@babel/plugin-transform-runtime-7.12.1" = {
+    "@babel/plugin-transform-runtime-7.12.10" = {
       name = "_at_babel_slash_plugin-transform-runtime";
       packageName = "@babel/plugin-transform-runtime";
-      version = "7.12.1";
+      version = "7.12.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.1.tgz";
-        sha512 = "Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz";
+        sha512 = "xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==";
       };
     };
-    "@babel/plugin-transform-shorthand-properties-7.12.1" = {
+    "@babel/plugin-transform-shorthand-properties-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-shorthand-properties";
       packageName = "@babel/plugin-transform-shorthand-properties";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz";
-        sha512 = "GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz";
+        sha512 = "xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==";
       };
     };
-    "@babel/plugin-transform-spread-7.12.1" = {
+    "@babel/plugin-transform-spread-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-spread";
       packageName = "@babel/plugin-transform-spread";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz";
-        sha512 = "vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.13.tgz";
+        sha512 = "dUCrqPIowjqk5pXsx1zPftSq4sT0aCeZVAxhdgs3AMgyaDmoUT0G+5h3Dzja27t76aUEIJWlFgPJqJ/d4dbTtg==";
       };
     };
-    "@babel/plugin-transform-sticky-regex-7.12.7" = {
+    "@babel/plugin-transform-sticky-regex-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-sticky-regex";
       packageName = "@babel/plugin-transform-sticky-regex";
-      version = "7.12.7";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz";
-        sha512 = "VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz";
+        sha512 = "Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==";
       };
     };
-    "@babel/plugin-transform-template-literals-7.12.1" = {
+    "@babel/plugin-transform-template-literals-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-template-literals";
       packageName = "@babel/plugin-transform-template-literals";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz";
-        sha512 = "b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.13.tgz";
+        sha512 = "arIKlWYUgmNsF28EyfmiQHJLJFlAJNYkuQO10jL46ggjBpeb2re1P9K9YGxNJB45BqTbaslVysXDYm/g3sN/Qg==";
       };
     };
-    "@babel/plugin-transform-typeof-symbol-7.12.1" = {
+    "@babel/plugin-transform-typeof-symbol-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-typeof-symbol";
       packageName = "@babel/plugin-transform-typeof-symbol";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz";
-        sha512 = "EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz";
+        sha512 = "eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==";
       };
     };
-    "@babel/plugin-transform-unicode-escapes-7.12.1" = {
+    "@babel/plugin-transform-unicode-escapes-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-unicode-escapes";
       packageName = "@babel/plugin-transform-unicode-escapes";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz";
-        sha512 = "I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz";
+        sha512 = "0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==";
       };
     };
-    "@babel/plugin-transform-unicode-regex-7.12.1" = {
+    "@babel/plugin-transform-unicode-regex-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-unicode-regex";
       packageName = "@babel/plugin-transform-unicode-regex";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz";
-        sha512 = "SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz";
+        sha512 = "mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==";
       };
     };
-    "@babel/preset-env-7.12.7" = {
+    "@babel/preset-env-7.12.10" = {
       name = "_at_babel_slash_preset-env";
       packageName = "@babel/preset-env";
-      version = "7.12.7";
+      version = "7.12.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.7.tgz";
-        sha512 = "OnNdfAr1FUQg7ksb7bmbKoby4qFOHw6DKWWUNB9KqnnCldxhxJlP+21dpyaWFmf2h0rTbOkXJtAGevY3XW1eew==";
+        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.10.tgz";
+        sha512 = "Gz9hnBT/tGeTE2DBNDkD7BiWRELZt+8lSysHuDwmYXUIvtwZl0zI+D6mZgXZX0u8YBlLS4tmai9ONNY9tjRgRA==";
       };
     };
     "@babel/preset-modules-0.1.4" = {
@@ -841,31 +832,31 @@ let
         sha512 = "plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==";
       };
     };
-    "@babel/template-7.12.7" = {
+    "@babel/template-7.12.13" = {
       name = "_at_babel_slash_template";
       packageName = "@babel/template";
-      version = "7.12.7";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz";
-        sha512 = "GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==";
+        url = "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz";
+        sha512 = "/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==";
       };
     };
-    "@babel/traverse-7.12.9" = {
+    "@babel/traverse-7.12.13" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.12.9";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.9.tgz";
-        sha512 = "iX9ajqnLdoU1s1nHt36JDI9KG4k+vmI8WgjK5d+aDTwQbL2fUnzedNedssA645Ede3PM2ma1n8Q4h2ohwXgMXw==";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz";
+        sha512 = "3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==";
       };
     };
-    "@babel/types-7.12.7" = {
+    "@babel/types-7.12.13" = {
       name = "_at_babel_slash_types";
       packageName = "@babel/types";
-      version = "7.12.7";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.12.7.tgz";
-        sha512 = "MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ==";
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz";
+        sha512 = "oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==";
       };
     };
     "@hapi/address-2.1.4" = {
@@ -922,13 +913,13 @@ let
         sha512 = "bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==";
       };
     };
-    "@nodelib/fs.scandir-2.1.3" = {
+    "@nodelib/fs.scandir-2.1.4" = {
       name = "_at_nodelib_slash_fs.scandir";
       packageName = "@nodelib/fs.scandir";
-      version = "2.1.3";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz";
-        sha512 = "eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==";
+        url = "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz";
+        sha512 = "33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==";
       };
     };
     "@nodelib/fs.stat-1.1.3" = {
@@ -940,22 +931,22 @@ let
         sha512 = "shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==";
       };
     };
-    "@nodelib/fs.stat-2.0.3" = {
+    "@nodelib/fs.stat-2.0.4" = {
       name = "_at_nodelib_slash_fs.stat";
       packageName = "@nodelib/fs.stat";
-      version = "2.0.3";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz";
-        sha512 = "bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==";
+        url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz";
+        sha512 = "IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==";
       };
     };
-    "@nodelib/fs.walk-1.2.4" = {
+    "@nodelib/fs.walk-1.2.6" = {
       name = "_at_nodelib_slash_fs.walk";
       packageName = "@nodelib/fs.walk";
-      version = "1.2.4";
+      version = "1.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz";
-        sha512 = "1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==";
+        url = "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz";
+        sha512 = "8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==";
       };
     };
     "@sindresorhus/is-0.14.0" = {
@@ -1039,22 +1030,22 @@ let
         sha512 = "c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A==";
       };
     };
-    "@types/http-proxy-1.17.4" = {
+    "@types/http-proxy-1.17.5" = {
       name = "_at_types_slash_http-proxy";
       packageName = "@types/http-proxy";
-      version = "1.17.4";
+      version = "1.17.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.4.tgz";
-        sha512 = "IrSHl2u6AWXduUaDLqYpt45tLVCtYv7o4Z0s1KghBCDgIIS9oW5K1H8mZG/A2CfeLdEa7rTd1ACOiHBc1EMT2Q==";
+        url = "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.5.tgz";
+        sha512 = "GNkDE7bTv6Sf8JbV2GksknKOsk7OznNYHSdrtvPJXO0qJ9odZig6IZKUi5RFGi6d1bf6dgIAe4uXi3DBc7069Q==";
       };
     };
-    "@types/json-schema-7.0.6" = {
+    "@types/json-schema-7.0.7" = {
       name = "_at_types_slash_json-schema";
       packageName = "@types/json-schema";
-      version = "7.0.6";
+      version = "7.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz";
-        sha512 = "3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==";
+        url = "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz";
+        sha512 = "cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==";
       };
     };
     "@types/keyv-3.1.1" = {
@@ -1075,13 +1066,13 @@ let
         sha512 = "tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==";
       };
     };
-    "@types/node-14.14.10" = {
+    "@types/node-14.14.25" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "14.14.10";
+      version = "14.14.25";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz";
-        sha512 = "J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ==";
+        url = "https://registry.npmjs.org/@types/node/-/node-14.14.25.tgz";
+        sha512 = "EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ==";
       };
     };
     "@types/parse-json-4.0.0" = {
@@ -1138,22 +1129,22 @@ let
         sha512 = "7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q==";
       };
     };
-    "@types/webpack-4.41.25" = {
+    "@types/webpack-4.41.26" = {
       name = "_at_types_slash_webpack";
       packageName = "@types/webpack";
-      version = "4.41.25";
+      version = "4.41.26";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.25.tgz";
-        sha512 = "cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ==";
+        url = "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.26.tgz";
+        sha512 = "7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA==";
       };
     };
-    "@types/webpack-sources-2.0.0" = {
+    "@types/webpack-sources-2.1.0" = {
       name = "_at_types_slash_webpack-sources";
       packageName = "@types/webpack-sources";
-      version = "2.0.0";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.0.0.tgz";
-        sha512 = "a5kPx98CNFRKQ+wqawroFunvFqv7GHm/3KOI52NY9xWADgc8smu4R6prt4EU/M4QfVjvgBkMqU4fBhw3QfMVkg==";
+        url = "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz";
+        sha512 = "LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==";
       };
     };
     "@webassemblyjs/ast-1.9.0" = {
@@ -1795,13 +1786,13 @@ let
         sha512 = "Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==";
       };
     };
-    "autoprefixer-10.0.4" = {
+    "autoprefixer-10.1.0" = {
       name = "autoprefixer";
       packageName = "autoprefixer";
-      version = "10.0.4";
+      version = "10.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.0.4.tgz";
-        sha512 = "hmjYejN/WTyPP9cdNmiwtwqM8/ACVJPD5ExtwoOceQohNbgnFNiwpL2+U4bXS8aXozBL00WvH6WhqbuHf0Fgfg==";
+        url = "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.1.0.tgz";
+        sha512 = "0/lBNwN+ZUnb5su18NZo5MBIjDaq6boQKZcxwy86Gip/CmXA2zZqUoFQLCNAGI5P25ZWSP2RWdhDJ8osfKEjoQ==";
       };
     };
     "aws-sign2-0.7.0" = {
@@ -1975,13 +1966,13 @@ let
         sha512 = "Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==";
       };
     };
-    "binary-extensions-2.1.0" = {
+    "binary-extensions-2.2.0" = {
       name = "binary-extensions";
       packageName = "binary-extensions";
-      version = "2.1.0";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz";
-        sha512 = "1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==";
+        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz";
+        sha512 = "jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==";
       };
     };
     "bindings-1.5.0" = {
@@ -2002,6 +1993,15 @@ let
         sha512 = "Y+Wvypk3JhH5GPZAvlwJAWOVH/OsOhQMSj37vySuWHwQivoALplPxfBA8b973rFJI7OS+O+1YmmYXIiEXVMAcw==";
       };
     };
+    "binwrap-0.2.3" = {
+      name = "binwrap";
+      packageName = "binwrap";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/binwrap/-/binwrap-0.2.3.tgz";
+        sha512 = "N4Pm7iyDEv0BrAMs+dny8WQa+e0nNTdzn2ODkf/MM6XBtKSCxCSUA1ZOQGoc1n7mUqdgOS5pwjsW91rmXVxy2Q==";
+      };
+    };
     "bluebird-3.7.2" = {
       name = "bluebird";
       packageName = "bluebird";
@@ -2164,13 +2164,13 @@ let
         sha512 = "VBorw+tgpOtZ1BYhrVSVTzTt/3+vSE3eFUh0N2GCFK1HffceOaf32YS/bs6WiFhjDAblAFrx85jMy3BG9fBK2Q==";
       };
     };
-    "browserslist-4.14.7" = {
+    "browserslist-4.16.3" = {
       name = "browserslist";
       packageName = "browserslist";
-      version = "4.14.7";
+      version = "4.16.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.14.7.tgz";
-        sha512 = "BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ==";
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz";
+        sha512 = "vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==";
       };
     };
     "buffer-4.9.2" = {
@@ -2299,13 +2299,13 @@ let
         sha512 = "lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw==";
       };
     };
-    "call-bind-1.0.0" = {
+    "call-bind-1.0.2" = {
       name = "call-bind";
       packageName = "call-bind";
-      version = "1.0.0";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz";
-        sha512 = "AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==";
+        url = "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz";
+        sha512 = "7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==";
       };
     };
     "call-me-maybe-1.0.1" = {
@@ -2353,13 +2353,13 @@ let
         sha512 = "P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==";
       };
     };
-    "camel-case-4.1.1" = {
+    "camel-case-4.1.2" = {
       name = "camel-case";
       packageName = "camel-case";
-      version = "4.1.1";
+      version = "4.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/camel-case/-/camel-case-4.1.1.tgz";
-        sha512 = "7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q==";
+        url = "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz";
+        sha512 = "gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==";
       };
     };
     "camelcase-3.0.0" = {
@@ -2398,13 +2398,13 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30001161" = {
+    "caniuse-lite-1.0.30001185" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001161";
+      version = "1.0.30001185";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001161.tgz";
-        sha512 = "JharrCDxOqPLBULF9/SPa6yMcBRTjZARJ6sc3cuKrPfyIk64JN6kuMINWqA99Xc8uElMFcROliwtz0n9pYej+g==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001185.tgz";
+        sha512 = "Fpi4kVNtNvJ15H0F6vwmXtb3tukv3Zg3qhKkOGUq7KJ1J6b9kf4dnNgtEAFXhRsJo0gNj9W60+wBvn0JcTvdTg==";
       };
     };
     "case-sensitive-paths-webpack-plugin-2.3.0" = {
@@ -2533,13 +2533,13 @@ let
         sha512 = "/j5PPkb5Feyps9e+jo07jUZGvkB5Aj953NrI4s8xSVScrAo/RHeILrtdb4uzR7N6aaFFxxJ+gt8mA8HfNpw76w==";
       };
     };
-    "chokidar-3.4.3" = {
+    "chokidar-3.5.1" = {
       name = "chokidar";
       packageName = "chokidar";
-      version = "3.4.3";
+      version = "3.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz";
-        sha512 = "DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==";
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz";
+        sha512 = "9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==";
       };
     };
     "chownr-1.1.4" = {
@@ -2551,6 +2551,15 @@ let
         sha512 = "jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==";
       };
     };
+    "chownr-2.0.0" = {
+      name = "chownr";
+      packageName = "chownr";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz";
+        sha512 = "bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==";
+      };
+    };
     "chrome-trace-event-1.0.2" = {
       name = "chrome-trace-event";
       packageName = "chrome-trace-event";
@@ -2614,13 +2623,13 @@ let
         sha512 = "PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ==";
       };
     };
-    "cli-table-0.3.1" = {
+    "cli-table-0.3.4" = {
       name = "cli-table";
       packageName = "cli-table";
-      version = "0.3.1";
+      version = "0.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz";
-        sha1 = "f53b05266a8b1a0b934b3d0821e6e2dc5914ae23";
+        url = "https://registry.npmjs.org/cli-table/-/cli-table-0.3.4.tgz";
+        sha512 = "1vinpnX/ZERcmE443i3SZTmU5DF0rPO9DrL4I2iVAllhxzCM9SzPlHnz19fsZB78htkKZvYBvj6SZ6vXnaxmTA==";
       };
     };
     "cli-width-2.2.1" = {
@@ -2839,13 +2848,22 @@ let
         sha512 = "P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==";
       };
     };
-    "commander-6.2.0" = {
+    "commander-6.2.1" = {
       name = "commander";
       packageName = "commander";
-      version = "6.2.0";
+      version = "6.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz";
+        sha512 = "U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==";
+      };
+    };
+    "commander-7.0.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "7.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz";
-        sha512 = "zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==";
+        url = "https://registry.npmjs.org/commander/-/commander-7.0.0.tgz";
+        sha512 = "ovx/7NkTrnPuIV8sqk/GjUIIM1+iUQeqA3ye2VNpq9sVoiZsooObWlQy+OPWGI17GDaEoybuAGJm6U8yC077BA==";
       };
     };
     "common-tags-1.8.0" = {
@@ -3064,13 +3082,13 @@ let
         sha512 = "Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==";
       };
     };
-    "core-js-compat-3.8.0" = {
+    "core-js-compat-3.8.3" = {
       name = "core-js-compat";
       packageName = "core-js-compat";
-      version = "3.8.0";
+      version = "3.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.0.tgz";
-        sha512 = "o9QKelQSxQMYWHXc/Gc4L8bx/4F7TTraE5rhuN8I7mKBt5dBIUpXpIR3omv70ebr8ST5R3PqbDQr+ZI3+Tt1FQ==";
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.3.tgz";
+        sha512 = "1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -3181,15 +3199,6 @@ let
         sha512 = "iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==";
       };
     };
-    "cross-spawn-promise-0.10.2" = {
-      name = "cross-spawn-promise";
-      packageName = "cross-spawn-promise";
-      version = "0.10.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cross-spawn-promise/-/cross-spawn-promise-0.10.2.tgz";
-        sha512 = "74PXJf6DYaab2klRS+D+9qxKJL1Weo3/ao9OPoH6NFzxtINSa/HE2mcyAPu1fpEmRTPD4Gdmpg3xEXQSgI8lpg==";
-      };
-    };
     "crypt-0.0.2" = {
       name = "crypt";
       packageName = "crypt";
@@ -3235,15 +3244,6 @@ let
         sha512 = "rdezjCjScIrsL8BSYszgT4s476IcNKt6yX69t0pHjJVnPUTDpn4WfIpDQTN3wCJvUvfsz/mFjuGOekf3PY3NUg==";
       };
     };
-    "css-select-1.2.0" = {
-      name = "css-select";
-      packageName = "css-select";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz";
-        sha1 = "2b3a110539c5355f1cd8d314623e870b121ec858";
-      };
-    };
     "css-select-2.1.0" = {
       name = "css-select";
       packageName = "css-select";
@@ -3280,15 +3280,6 @@ let
         sha512 = "wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==";
       };
     };
-    "css-what-2.1.3" = {
-      name = "css-what";
-      packageName = "css-what";
-      version = "2.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz";
-        sha512 = "a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==";
-      };
-    };
     "css-what-3.4.2" = {
       name = "css-what";
       packageName = "css-what";
@@ -3415,13 +3406,13 @@ let
         sha512 = "CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==";
       };
     };
-    "debug-4.3.1" = {
+    "debug-4.3.2" = {
       name = "debug";
       packageName = "debug";
-      version = "4.3.1";
+      version = "4.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz";
-        sha512 = "doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==";
+        url = "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz";
+        sha512 = "mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==";
       };
     };
     "decamelize-1.2.0" = {
@@ -3721,13 +3712,13 @@ let
         sha512 = "BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==";
       };
     };
-    "domelementtype-2.0.2" = {
+    "domelementtype-2.1.0" = {
       name = "domelementtype";
       packageName = "domelementtype";
-      version = "2.0.2";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz";
-        sha512 = "wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==";
+        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz";
+        sha512 = "LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==";
       };
     };
     "domhandler-2.4.2" = {
@@ -3739,15 +3730,6 @@ let
         sha512 = "JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==";
       };
     };
-    "domutils-1.5.1" = {
-      name = "domutils";
-      packageName = "domutils";
-      version = "1.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz";
-        sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf";
-      };
-    };
     "domutils-1.7.0" = {
       name = "domutils";
       packageName = "domutils";
@@ -3757,13 +3739,13 @@ let
         sha512 = "Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==";
       };
     };
-    "dot-case-3.0.3" = {
+    "dot-case-3.0.4" = {
       name = "dot-case";
       packageName = "dot-case";
-      version = "3.0.3";
+      version = "3.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dot-case/-/dot-case-3.0.3.tgz";
-        sha512 = "7hwEmg6RiSQfm/GwPL4AAWXKy3YNNZA3oFv2Pdiey0mwkRCPZ9x6SZbkLcn8Ma5PYeVokzoD4Twv2n7LKp5WeA==";
+        url = "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz";
+        sha512 = "Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==";
       };
     };
     "dot-prop-5.3.0" = {
@@ -3829,22 +3811,22 @@ let
         sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
       };
     };
-    "electron-to-chromium-1.3.610" = {
+    "electron-to-chromium-1.3.657" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.3.610";
+      version = "1.3.657";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.610.tgz";
-        sha512 = "eFDC+yVQpEhtlapk4CYDPfV9ajF9cEof5TBcO49L1ETO+aYogrKWDmYpZyxBScMNe8Bo/gJamH4amQ4yyvXg4g==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.657.tgz";
+        sha512 = "/9ROOyvEflEbaZFUeGofD+Tqs/WynbSTbNgNF+/TJJxH1ePD/e6VjZlDJpW3FFFd3nj5l3Hd8ki2vRwy+gyRFw==";
       };
     };
-    "elliptic-6.5.3" = {
+    "elliptic-6.5.4" = {
       name = "elliptic";
       packageName = "elliptic";
-      version = "6.5.3";
+      version = "6.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz";
-        sha512 = "IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==";
+        url = "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz";
+        sha512 = "iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==";
       };
     };
     "elm-0.19.1" = {
@@ -3856,23 +3838,13 @@ let
         sha512 = "rehOtJKZvoYDddlrd7AX5NAf0H+LUllnBg3AHaeaIOKWzw4W316d7Bkhlbo7aSG+hVUVWP2ihKwyYkDi589TfA==";
       };
     };
-    "elm-0.19.1-3" = {
+    "elm-0.19.1-5" = {
       name = "elm";
       packageName = "elm";
-      version = "0.19.1-3";
+      version = "0.19.1-5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/elm/-/elm-0.19.1-3.tgz";
-        sha512 = "6y36ewCcVmTOx8lj7cKJs3bhI5qMfoVEigePZ9PhEUNKpwjjML/pU2u2YSpHVAznuCcojoF6KIsrS1Ci7GtVaQ==";
-      };
-    };
-    "elm-analyse-git://github.com/elm-tooling/elm-analyse#7f4000cce5ef024fe5e82c7ee1725feef95a9daf" = {
-      name = "elm-analyse";
-      packageName = "elm-analyse";
-      version = "0.16.6-alpha";
-      src = fetchgit {
-        url = "git://github.com/elm-tooling/elm-analyse";
-        rev = "7f4000cce5ef024fe5e82c7ee1725feef95a9daf";
-        sha256 = "270cb1adfdeb368dde2b780938f653e9aa46cc97afbe4de828813fef7c30e556";
+        url = "https://registry.npmjs.org/elm/-/elm-0.19.1-5.tgz";
+        sha512 = "dyBoPvFiNLvxOStQJdyq28gZEjS/enZXdZ5yyCtNtDEMbFJJVQq4pYNRKvhrKKdlxNot6d96iQe1uczoqO5yvA==";
       };
     };
     "elm-asset-webpack-loader-1.1.2" = {
@@ -3893,13 +3865,13 @@ let
         sha512 = "qPDP/o/Fkifriaxaf3E7hHFB5L6Ijihyg8is4A6xna6/h/zebUiNssbQrxywI2oxNUkr6W/leEu/WlIC1tmVnw==";
       };
     };
-    "elm-hot-1.1.5" = {
+    "elm-hot-1.1.6" = {
       name = "elm-hot";
       packageName = "elm-hot";
-      version = "1.1.5";
+      version = "1.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/elm-hot/-/elm-hot-1.1.5.tgz";
-        sha512 = "HSMlAr6INTV82wkpPNG0zsHoJXo/04GwG7bnhFX8s4zyIbbzuJAovsdo27FAT6/NKx5IVTXGI+IFcK9Z7oN1Tw==";
+        url = "https://registry.npmjs.org/elm-hot/-/elm-hot-1.1.6.tgz";
+        sha512 = "zYZJlfs7Gt4BdjA+D+857K+XAWzwwySJmXCgFpHW1dIEfaHSZCIPYPf7/jinZBLfKRkOAlKzI32AA84DY50g7Q==";
       };
     };
     "elm-hot-webpack-loader-1.1.7" = {
@@ -3911,15 +3883,6 @@ let
         sha512 = "FcRN8UlTl52EigvGjTaG9rnfdUJYh88eWRrruUmZLNVb/71maM92l3HNDAcyztOj4pEYGhoo9DEHEquZm6B08A==";
       };
     };
-    "elm-json-0.2.8" = {
-      name = "elm-json";
-      packageName = "elm-json";
-      version = "0.2.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/elm-json/-/elm-json-0.2.8.tgz";
-        sha512 = "YfK39CNrHjB4LMnas6aAb2LP37YgqAnh69bWD7ojAs7lBNNkWIeBifeszAfmapylQt1MVuwj6zPPYwrqRQXEBA==";
-      };
-    };
     "elm-test-0.19.1" = {
       name = "elm-test";
       packageName = "elm-test";
@@ -3929,13 +3892,22 @@ let
         sha512 = "SyZgZ/hxq62budS3k0M1Qj1E8fIRvldSxFSm4XfzE6qRRuHAT2a82fxprZRZl1yG2GwnImGmhuKH5hSyjPpzjA==";
       };
     };
-    "elm-test-0.19.1-revision4" = {
+    "elm-test-0.19.1-revision6" = {
       name = "elm-test";
       packageName = "elm-test";
-      version = "0.19.1-revision4";
+      version = "0.19.1-revision6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/elm-test/-/elm-test-0.19.1-revision4.tgz";
-        sha512 = "DUzKPNzJb/2ZsPbtHttT5JIKGY1KtT7d9cexSNQI7DppvoEHxZ4nCd5EObv5kjskmC0JkQ5PHmCkIruQsbOdkQ==";
+        url = "https://registry.npmjs.org/elm-test/-/elm-test-0.19.1-revision6.tgz";
+        sha512 = "4VbIyCRlCUm/py0E0AjMT3/mwd6DR4Y5Z5gEox6z5JII6ZdKIJmcQzjgWRI5qo5ERJiw9M/Nxhk7SGXFUbZsxQ==";
+      };
+    };
+    "elm-tooling-1.1.0" = {
+      name = "elm-tooling";
+      packageName = "elm-tooling";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/elm-tooling/-/elm-tooling-1.1.0.tgz";
+        sha512 = "wziiwTbqBkK/905a6stCpTWJhYEKNb4CCYt36VEd5XWmaLSelMOR+SxKcEPpxsiK/tFZ4o0PbW+h1QC5tWfYUQ==";
       };
     };
     "elm-webpack-loader-6.0.1" = {
@@ -3956,15 +3928,6 @@ let
         sha512 = "zNinzt6/YMr11HgeBlC9Z0UM3qHkYrGsWJTjrCmgBkKnaOLUzTP5K9N3z1RltyunItXtHAxb8DFPvMxlYRPv/Q==";
       };
     };
-    "elmi-to-json-1.3.0" = {
-      name = "elmi-to-json";
-      packageName = "elmi-to-json";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/elmi-to-json/-/elmi-to-json-1.3.0.tgz";
-        sha512 = "6m1D5/Pb5pUrSOOBgRG3fE2mK19nhmLgZ16jj2KWTVIhT+0GIBuDI1iV0Fee27CZH790J7uMcdGWJ7fnVvpsKg==";
-      };
-    };
     "emoji-regex-7.0.3" = {
       name = "emoji-regex";
       packageName = "emoji-regex";
@@ -4019,13 +3982,13 @@ let
         sha512 = "+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==";
       };
     };
-    "enhanced-resolve-4.3.0" = {
+    "enhanced-resolve-4.5.0" = {
       name = "enhanced-resolve";
       packageName = "enhanced-resolve";
-      version = "4.3.0";
+      version = "4.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz";
-        sha512 = "3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==";
+        url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz";
+        sha512 = "Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==";
       };
     };
     "entities-1.1.2" = {
@@ -4037,22 +4000,22 @@ let
         sha512 = "f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==";
       };
     };
-    "entities-2.1.0" = {
+    "entities-2.2.0" = {
       name = "entities";
       packageName = "entities";
-      version = "2.1.0";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz";
-        sha512 = "hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==";
+        url = "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz";
+        sha512 = "p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==";
       };
     };
-    "errno-0.1.7" = {
+    "errno-0.1.8" = {
       name = "errno";
       packageName = "errno";
-      version = "0.1.7";
+      version = "0.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz";
-        sha512 = "MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==";
+        url = "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz";
+        sha512 = "dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==";
       };
     };
     "error-ex-1.3.2" = {
@@ -4064,22 +4027,13 @@ let
         sha512 = "7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==";
       };
     };
-    "es-abstract-1.17.7" = {
+    "es-abstract-1.18.0-next.2" = {
       name = "es-abstract";
       packageName = "es-abstract";
-      version = "1.17.7";
+      version = "1.18.0-next.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz";
-        sha512 = "VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==";
-      };
-    };
-    "es-abstract-1.18.0-next.1" = {
-      name = "es-abstract";
-      packageName = "es-abstract";
-      version = "1.18.0-next.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz";
-        sha512 = "I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==";
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz";
+        sha512 = "Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==";
       };
     };
     "es-to-primitive-1.2.1" = {
@@ -4271,13 +4225,13 @@ let
         sha512 = "adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==";
       };
     };
-    "execa-4.1.0" = {
+    "execa-5.0.0" = {
       name = "execa";
       packageName = "execa";
-      version = "4.1.0";
+      version = "5.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz";
-        sha512 = "j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==";
+        url = "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz";
+        sha512 = "ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==";
       };
     };
     "expand-brackets-2.1.4" = {
@@ -4424,13 +4378,13 @@ let
         sha512 = "g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==";
       };
     };
-    "fast-glob-3.2.4" = {
+    "fast-glob-3.2.5" = {
       name = "fast-glob";
       packageName = "fast-glob";
-      version = "3.2.4";
+      version = "3.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz";
-        sha512 = "kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==";
+        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz";
+        sha512 = "2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==";
       };
     };
     "fast-json-stable-stringify-2.1.0" = {
@@ -4442,13 +4396,13 @@ let
         sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==";
       };
     };
-    "fastq-1.9.0" = {
+    "fastq-1.10.1" = {
       name = "fastq";
       packageName = "fastq";
-      version = "1.9.0";
+      version = "1.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz";
-        sha512 = "i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==";
+        url = "https://registry.npmjs.org/fastq/-/fastq-1.10.1.tgz";
+        sha512 = "AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA==";
       };
     };
     "faye-websocket-0.10.0" = {
@@ -4703,13 +4657,13 @@ let
         sha512 = "SDgHBgV+RCjrYs8aUwCb9rTgbTVuSdzvFmLaChsLre1yf+D64khCW++VYciaByZ8Rm0uKF8R/XEpXuTRSGUM1A==";
       };
     };
-    "follow-redirects-1.13.0" = {
+    "follow-redirects-1.13.2" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
-      version = "1.13.0";
+      version = "1.13.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz";
-        sha512 = "aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==";
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz";
+        sha512 = "6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==";
       };
     };
     "for-in-1.0.2" = {
@@ -4748,6 +4702,15 @@ let
         sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84";
       };
     };
+    "fraction.js-4.0.13" = {
+      name = "fraction.js";
+      packageName = "fraction.js";
+      version = "4.0.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fraction.js/-/fraction.js-4.0.13.tgz";
+        sha512 = "E1fz2Xs9ltlUp+qbiyx9wmt2n9dRzPsS11Jtdb8D2o+cC7wr9xkkKsVKJuBX0ST+LVS+LhLO+SbLJNtfWcJvXA==";
+      };
+    };
     "fragment-cache-0.2.1" = {
       name = "fragment-cache";
       packageName = "fragment-cache";
@@ -4775,6 +4738,15 @@ let
         sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af";
       };
     };
+    "fromentries-1.3.2" = {
+      name = "fromentries";
+      packageName = "fromentries";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz";
+        sha512 = "cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==";
+      };
+    };
     "fs-extra-2.0.0" = {
       name = "fs-extra";
       packageName = "fs-extra";
@@ -4829,13 +4801,13 @@ let
         sha512 = "yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==";
       };
     };
-    "fs-extra-9.0.1" = {
+    "fs-extra-9.1.0" = {
       name = "fs-extra";
       packageName = "fs-extra";
-      version = "9.0.1";
+      version = "9.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz";
-        sha512 = "h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==";
+        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz";
+        sha512 = "hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==";
       };
     };
     "fs-minipass-1.2.7" = {
@@ -4847,6 +4819,15 @@ let
         sha512 = "GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==";
       };
     };
+    "fs-minipass-2.1.0" = {
+      name = "fs-minipass";
+      packageName = "fs-minipass";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz";
+        sha512 = "V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==";
+      };
+    };
     "fs-readdir-recursive-1.1.0" = {
       name = "fs-readdir-recursive";
       packageName = "fs-readdir-recursive";
@@ -4892,13 +4873,13 @@ let
         sha512 = "Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==";
       };
     };
-    "fsevents-2.2.1" = {
+    "fsevents-2.3.2" = {
       name = "fsevents";
       packageName = "fsevents";
-      version = "2.2.1";
+      version = "2.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.2.1.tgz";
-        sha512 = "bTLYHSeC0UH/EFXS9KqWnXuOl/wHK5Z/d+ghd5AsFMYN7wIGkUCOJyzy88+wJKkZPGON8u4Z9f6U4FdgURE9qA==";
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz";
+        sha512 = "xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==";
       };
     };
     "function-bind-1.1.1" = {
@@ -4937,13 +4918,13 @@ let
         sha512 = "DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==";
       };
     };
-    "get-intrinsic-1.0.1" = {
+    "get-intrinsic-1.1.1" = {
       name = "get-intrinsic";
       packageName = "get-intrinsic";
-      version = "1.0.1";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz";
-        sha512 = "ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==";
+        url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz";
+        sha512 = "kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==";
       };
     };
     "get-own-enumerable-property-symbols-3.0.2" = {
@@ -4982,6 +4963,15 @@ let
         sha512 = "nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==";
       };
     };
+    "get-stream-6.0.0" = {
+      name = "get-stream";
+      packageName = "get-stream";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz";
+        sha512 = "A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==";
+      };
+    };
     "get-value-2.0.6" = {
       name = "get-value";
       packageName = "get-value";
@@ -5072,13 +5062,13 @@ let
         sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
       };
     };
-    "globby-11.0.1" = {
+    "globby-11.0.2" = {
       name = "globby";
       packageName = "globby";
-      version = "11.0.1";
+      version = "11.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz";
-        sha512 = "iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==";
+        url = "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz";
+        sha512 = "2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==";
       };
     };
     "globby-6.1.0" = {
@@ -5126,13 +5116,13 @@ let
         sha512 = "R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==";
       };
     };
-    "graceful-fs-4.2.4" = {
+    "graceful-fs-4.2.5" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.4";
+      version = "4.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz";
-        sha512 = "WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.5.tgz";
+        sha512 = "kBBSQbz2K0Nyn+31j/w36fUfxkBW9/gfwRWdUY1ULReH3iokVJgddZAFcD1D0xlgTmFxJCbUkUclAlc6/IDJkw==";
       };
     };
     "gzip-size-5.0.0" = {
@@ -5369,13 +5359,13 @@ let
         sha512 = "P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==";
       };
     };
-    "html-entities-1.3.1" = {
+    "html-entities-1.4.0" = {
       name = "html-entities";
       packageName = "html-entities";
-      version = "1.3.1";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz";
-        sha512 = "rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==";
+        url = "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz";
+        sha512 = "8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==";
       };
     };
     "html-minifier-terser-5.1.1" = {
@@ -5459,13 +5449,13 @@ let
         sha512 = "ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==";
       };
     };
-    "http-parser-js-0.5.2" = {
+    "http-parser-js-0.5.3" = {
       name = "http-parser-js";
       packageName = "http-parser-js";
-      version = "0.5.2";
+      version = "0.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz";
-        sha512 = "opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==";
+        url = "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz";
+        sha512 = "t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==";
       };
     };
     "http-proxy-1.17.0" = {
@@ -5522,13 +5512,13 @@ let
         sha1 = "ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73";
       };
     };
-    "human-signals-1.1.1" = {
+    "human-signals-2.1.0" = {
       name = "human-signals";
       packageName = "human-signals";
-      version = "1.1.1";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz";
-        sha512 = "SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==";
+        url = "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz";
+        sha512 = "B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==";
       };
     };
     "i-0.3.6" = {
@@ -5621,13 +5611,13 @@ let
         sha1 = "d81355c15612d386c61f9ddd3922d4304822a546";
       };
     };
-    "import-fresh-3.2.2" = {
+    "import-fresh-3.3.0" = {
       name = "import-fresh";
       packageName = "import-fresh";
-      version = "3.2.2";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz";
-        sha512 = "cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==";
+        url = "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz";
+        sha512 = "veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==";
       };
     };
     "import-local-2.0.0" = {
@@ -5702,13 +5692,13 @@ let
         sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==";
       };
     };
-    "ini-1.3.5" = {
+    "ini-1.3.8" = {
       name = "ini";
       packageName = "ini";
-      version = "1.3.5";
+      version = "1.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz";
-        sha512 = "RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==";
+        url = "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz";
+        sha512 = "JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==";
       };
     };
     "inquirer-6.2.0" = {
@@ -5801,13 +5791,13 @@ let
         sha512 = "m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==";
       };
     };
-    "is-arguments-1.0.4" = {
+    "is-arguments-1.1.0" = {
       name = "is-arguments";
       packageName = "is-arguments";
-      version = "1.0.4";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz";
-        sha512 = "xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==";
+        url = "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz";
+        sha512 = "1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==";
       };
     };
     "is-arrayish-0.2.1" = {
@@ -5855,13 +5845,13 @@ let
         sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==";
       };
     };
-    "is-callable-1.2.2" = {
+    "is-callable-1.2.3" = {
       name = "is-callable";
       packageName = "is-callable";
-      version = "1.2.2";
+      version = "1.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz";
-        sha512 = "dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==";
+        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz";
+        sha512 = "J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==";
       };
     };
     "is-color-stop-1.1.0" = {
@@ -6026,13 +6016,13 @@ let
         sha512 = "2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==";
       };
     };
-    "is-negative-zero-2.0.0" = {
+    "is-negative-zero-2.0.1" = {
       name = "is-negative-zero";
       packageName = "is-negative-zero";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz";
-        sha1 = "9553b121b0fac28869da9ed459e20c7543788461";
+        url = "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz";
+        sha512 = "2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==";
       };
     };
     "is-number-3.0.0" = {
@@ -6071,13 +6061,13 @@ let
         sha512 = "drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==";
       };
     };
-    "is-object-1.0.1" = {
+    "is-object-1.0.2" = {
       name = "is-object";
       packageName = "is-object";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz";
-        sha1 = "8952688c5ec2ffd6b03ecc85e769e02903083470";
+        url = "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz";
+        sha512 = "2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==";
       };
     };
     "is-path-cwd-2.2.0" = {
@@ -6125,13 +6115,13 @@ let
         sha512 = "h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==";
       };
     };
-    "is-regex-1.1.1" = {
+    "is-regex-1.1.2" = {
       name = "is-regex";
       packageName = "is-regex";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz";
-        sha512 = "1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==";
+        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz";
+        sha512 = "axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==";
       };
     };
     "is-regexp-1.0.0" = {
@@ -6305,13 +6295,13 @@ let
         sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==";
       };
     };
-    "js-yaml-3.14.0" = {
+    "js-yaml-3.14.1" = {
       name = "js-yaml";
       packageName = "js-yaml";
-      version = "3.14.0";
+      version = "3.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz";
-        sha512 = "/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==";
+        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz";
+        sha512 = "okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==";
       };
     };
     "jsbn-0.1.1" = {
@@ -6440,13 +6430,13 @@ let
         sha512 = "aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==";
       };
     };
-    "json5-2.1.3" = {
+    "json5-2.2.0" = {
       name = "json5";
       packageName = "json5";
-      version = "2.1.3";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz";
-        sha512 = "KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==";
+        url = "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz";
+        sha512 = "f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==";
       };
     };
     "jsonfile-2.4.0" = {
@@ -6773,13 +6763,13 @@ let
         sha512 = "Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==";
       };
     };
-    "lower-case-2.0.1" = {
+    "lower-case-2.0.2" = {
       name = "lower-case";
       packageName = "lower-case";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lower-case/-/lower-case-2.0.1.tgz";
-        sha512 = "LiWgfDLLb1dwbFQZsSglpRj+1ctGnayXz3Uv0/WO8n558JycT5fg6zkNcnW0G68Nn0aEldTFeEfmjCfmqry/rQ==";
+        url = "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz";
+        sha512 = "7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==";
       };
     };
     "lowercase-keys-1.0.1" = {
@@ -6818,6 +6808,15 @@ let
         sha512 = "KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==";
       };
     };
+    "lru-cache-6.0.0" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz";
+        sha512 = "Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==";
+      };
+    };
     "make-dir-1.3.0" = {
       name = "make-dir";
       packageName = "make-dir";
@@ -7016,31 +7015,31 @@ let
         sha512 = "QgrPRJfE+riq5TPZMcHZOtm8c6K/yYrMbKIoRfapfiGLxS8OTeIfRhUGW5LU7MlRa52KOAGCfUNruqLrIBvWZw==";
       };
     };
-    "mime-2.4.6" = {
+    "mime-2.5.0" = {
       name = "mime";
       packageName = "mime";
-      version = "2.4.6";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz";
-        sha512 = "RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==";
+        url = "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz";
+        sha512 = "ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==";
       };
     };
-    "mime-db-1.44.0" = {
+    "mime-db-1.45.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.44.0";
+      version = "1.45.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz";
-        sha512 = "/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz";
+        sha512 = "CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==";
       };
     };
-    "mime-types-2.1.27" = {
+    "mime-types-2.1.28" = {
       name = "mime-types";
       packageName = "mime-types";
-      version = "2.1.27";
+      version = "2.1.28";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz";
-        sha512 = "JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz";
+        sha512 = "0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==";
       };
     };
     "mimic-fn-1.2.0" = {
@@ -7142,6 +7141,15 @@ let
         sha512 = "wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==";
       };
     };
+    "minipass-3.1.3" = {
+      name = "minipass";
+      packageName = "minipass";
+      version = "3.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz";
+        sha512 = "Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==";
+      };
+    };
     "minizlib-1.3.3" = {
       name = "minizlib";
       packageName = "minizlib";
@@ -7151,6 +7159,15 @@ let
         sha512 = "6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==";
       };
     };
+    "minizlib-2.1.2" = {
+      name = "minizlib";
+      packageName = "minizlib";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz";
+        sha512 = "bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==";
+      };
+    };
     "mississippi-2.0.0" = {
       name = "mississippi";
       packageName = "mississippi";
@@ -7196,6 +7213,15 @@ let
         sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==";
       };
     };
+    "mkdirp-1.0.4" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz";
+        sha512 = "vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==";
+      };
+    };
     "moment-2.29.1" = {
       name = "moment";
       packageName = "moment";
@@ -7304,13 +7330,13 @@ let
         sha512 = "M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==";
       };
     };
-    "nanoid-3.1.18" = {
+    "nanoid-3.1.20" = {
       name = "nanoid";
       packageName = "nanoid";
-      version = "3.1.18";
+      version = "3.1.20";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.1.18.tgz";
-        sha512 = "rndlDjbbHbcV3xi+R2fpJ+PbGMdfBxz5v1fATIQFq0DP64FsicQdwnKLy47K4kZHdRpmQXtz24eGsxQqamzYTA==";
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz";
+        sha512 = "a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==";
       };
     };
     "nanomatch-1.2.13" = {
@@ -7358,13 +7384,13 @@ let
         sha512 = "1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==";
       };
     };
-    "no-case-3.0.3" = {
+    "no-case-3.0.4" = {
       name = "no-case";
       packageName = "no-case";
-      version = "3.0.3";
+      version = "3.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/no-case/-/no-case-3.0.3.tgz";
-        sha512 = "ehY/mVQCf9BL0gKfsJBvFJen+1V//U+0HQMPrWct40ixE4jnv0bfvxDbWtAHL9EcaPEOJHVVYKoQn1TlZUB8Tw==";
+        url = "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz";
+        sha512 = "fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==";
       };
     };
     "node-elm-compiler-5.0.4" = {
@@ -7403,13 +7429,13 @@ let
         sha512 = "h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==";
       };
     };
-    "node-releases-1.1.67" = {
+    "node-releases-1.1.70" = {
       name = "node-releases";
       packageName = "node-releases";
-      version = "1.1.67";
+      version = "1.1.70";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz";
-        sha512 = "V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==";
+        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz";
+        sha512 = "Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==";
       };
     };
     "node-watch-0.5.5" = {
@@ -7529,15 +7555,6 @@ let
         sha512 = "WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==";
       };
     };
-    "num2fraction-1.2.2" = {
-      name = "num2fraction";
-      packageName = "num2fraction";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz";
-        sha1 = "6f682b6a027a4e9ddfa4564cd2589d1d4e669ede";
-      };
-    };
     "number-is-nan-1.0.1" = {
       name = "number-is-nan";
       packageName = "number-is-nan";
@@ -7574,13 +7591,13 @@ let
         sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c";
       };
     };
-    "object-inspect-1.8.0" = {
+    "object-inspect-1.9.0" = {
       name = "object-inspect";
       packageName = "object-inspect";
-      version = "1.8.0";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz";
-        sha512 = "jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==";
+        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz";
+        sha512 = "i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==";
       };
     };
     "object-is-1.1.4" = {
@@ -7718,13 +7735,13 @@ let
         sha512 = "IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==";
       };
     };
-    "open-7.3.0" = {
+    "open-7.4.0" = {
       name = "open";
       packageName = "open";
-      version = "7.3.0";
+      version = "7.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/open/-/open-7.3.0.tgz";
-        sha512 = "mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw==";
+        url = "https://registry.npmjs.org/open/-/open-7.4.0.tgz";
+        sha512 = "PGoBCX/lclIWlpS/R2PQuIR4NJoXh6X5AwVzE7WXnWRGvHg7+4TBCgsujUgiPpm0K1y4qvQeWnCWVTpTKZBtvA==";
       };
     };
     "opn-5.4.0" = {
@@ -7745,15 +7762,6 @@ let
         sha512 = "PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==";
       };
     };
-    "opn-6.0.0" = {
-      name = "opn";
-      packageName = "opn";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/opn/-/opn-6.0.0.tgz";
-        sha512 = "I9PKfIZC+e4RXZ/qr1RhgyCnGgYX0UEIlXgWnCOVACIvFgaC9rz6Won7xbdhoHrd8IIhV7YEpHjreNUNkqCGkQ==";
-      };
-    };
     "optimize-css-assets-webpack-plugin-5.0.3" = {
       name = "optimize-css-assets-webpack-plugin";
       packageName = "optimize-css-assets-webpack-plugin";
@@ -7979,13 +7987,13 @@ let
         sha512 = "P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==";
       };
     };
-    "param-case-3.0.3" = {
+    "param-case-3.0.4" = {
       name = "param-case";
       packageName = "param-case";
-      version = "3.0.3";
+      version = "3.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/param-case/-/param-case-3.0.3.tgz";
-        sha512 = "VWBVyimc1+QrzappRs7waeN2YmoZFCGXWASRYX1/rGHtXqEcrGEIDm+jqIwFa2fRXNgQEwrxaYuIrX0WcAguTA==";
+        url = "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz";
+        sha512 = "RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==";
       };
     };
     "parent-module-1.0.1" = {
@@ -8024,13 +8032,13 @@ let
         sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0";
       };
     };
-    "parse-json-5.1.0" = {
+    "parse-json-5.2.0" = {
       name = "parse-json";
       packageName = "parse-json";
-      version = "5.1.0";
+      version = "5.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz";
-        sha512 = "+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==";
+        url = "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz";
+        sha512 = "ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==";
       };
     };
     "parse-passwd-1.0.0" = {
@@ -8051,13 +8059,13 @@ let
         sha512 = "CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==";
       };
     };
-    "pascal-case-3.1.1" = {
+    "pascal-case-3.1.2" = {
       name = "pascal-case";
       packageName = "pascal-case";
-      version = "3.1.1";
+      version = "3.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.1.tgz";
-        sha512 = "XIeHKqIrsquVTQL2crjq3NfJUxmdLasn3TYOU0VBM+UX2a6ztAWBlJQBePLGY7VHW8+2dRadeIPK5+KImwTxQA==";
+        url = "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz";
+        sha512 = "uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==";
       };
     };
     "pascalcase-0.1.1" = {
@@ -8366,13 +8374,13 @@ let
         sha512 = "3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==";
       };
     };
-    "postcss-8.1.10" = {
+    "postcss-8.2.4" = {
       name = "postcss";
       packageName = "postcss";
-      version = "8.1.10";
+      version = "8.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-8.1.10.tgz";
-        sha512 = "iBXEV5VTTYaRRdxiFYzTtuv2lGMQBExqkZKSzkJe+Fl6rvQrA/49UVGKqB+LG54hpW/TtDBMGds8j33GFNW7pg==";
+        url = "https://registry.npmjs.org/postcss/-/postcss-8.2.4.tgz";
+        sha512 = "kRFftRoExRVXZlwUuay9iC824qmXPcQQVzAjbCCgjpXnkdMCJYBu2gTwAaFBzv8ewND6O8xFb3aELmEkh9zTzg==";
       };
     };
     "postcss-calc-7.0.5" = {
@@ -8735,13 +8743,13 @@ let
         sha1 = "e92434bfa5ea8c19f41cdfd401d741a3c819d897";
       };
     };
-    "pretty-bytes-5.4.1" = {
+    "pretty-bytes-5.5.0" = {
       name = "pretty-bytes";
       packageName = "pretty-bytes";
-      version = "5.4.1";
+      version = "5.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.4.1.tgz";
-        sha512 = "s1Iam6Gwz3JI5Hweaz4GoCD1WUNUIyzePFy5+Js2hjwGVt2Z79wNN+ZKOZ2vB6C+Xs6njyB84Z1IthQg8d9LxA==";
+        url = "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.5.0.tgz";
+        sha512 = "p+T744ZyjjiaFlMUZZv6YPC5JrkNj8maRmPaQCWFJFplUAzpIUTRaTcS+7wmZtUoFXHtESJb23ISliaWyz3SHA==";
       };
     };
     "pretty-error-2.1.2" = {
@@ -9239,13 +9247,13 @@ let
         sha512 = "J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==";
       };
     };
-    "regexp.prototype.flags-1.3.0" = {
+    "regexp.prototype.flags-1.3.1" = {
       name = "regexp.prototype.flags";
       packageName = "regexp.prototype.flags";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz";
-        sha512 = "2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==";
+        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz";
+        sha512 = "JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==";
       };
     };
     "regexpu-core-4.7.1" = {
@@ -9284,13 +9292,13 @@ let
         sha512 = "OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==";
       };
     };
-    "regjsparser-0.6.4" = {
+    "regjsparser-0.6.7" = {
       name = "regjsparser";
       packageName = "regjsparser";
-      version = "0.6.4";
+      version = "0.6.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz";
-        sha512 = "64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==";
+        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.7.tgz";
+        sha512 = "ib77G0uxsA2ovgiYbCVGx4Pv3PSttAx2vIwidqQzbL2U5S4Q+j00HdSAneSBuyVcMvEnTXMjiGgB+DlXozVhpQ==";
       };
     };
     "relateurl-0.2.7" = {
@@ -9311,13 +9319,13 @@ let
         sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef";
       };
     };
-    "renderkid-2.0.4" = {
+    "renderkid-2.0.5" = {
       name = "renderkid";
       packageName = "renderkid";
-      version = "2.0.4";
+      version = "2.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/renderkid/-/renderkid-2.0.4.tgz";
-        sha512 = "K2eXrSOJdq+HuKzlcjOlGoOarUu5SDguDEhE7+Ah4zuOWL40j8A/oHvLlLob9PSTNvVnBd+/q0Er1QfpEuem5g==";
+        url = "https://registry.npmjs.org/renderkid/-/renderkid-2.0.5.tgz";
+        sha512 = "ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==";
       };
     };
     "repeat-element-1.1.3" = {
@@ -9572,6 +9580,15 @@ let
         sha512 = "uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==";
       };
     };
+    "rimraf-3.0.2" = {
+      name = "rimraf";
+      packageName = "rimraf";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz";
+        sha512 = "JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==";
+      };
+    };
     "ripemd160-2.0.2" = {
       name = "ripemd160";
       packageName = "ripemd160";
@@ -9761,13 +9778,13 @@ let
         sha512 = "+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==";
       };
     };
-    "semver-7.3.2" = {
+    "semver-7.3.4" = {
       name = "semver";
       packageName = "semver";
-      version = "7.3.2";
+      version = "7.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz";
-        sha512 = "OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==";
+        url = "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz";
+        sha512 = "tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==";
       };
     };
     "semver-regex-1.0.0" = {
@@ -10139,13 +10156,13 @@ let
         sha512 = "Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==";
       };
     };
-    "source-map-url-0.4.0" = {
+    "source-map-url-0.4.1" = {
       name = "source-map-url";
       packageName = "source-map-url";
-      version = "0.4.0";
+      version = "0.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz";
-        sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3";
+        url = "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz";
+        sha512 = "cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==";
       };
     };
     "spdx-correct-3.1.1" = {
@@ -10643,6 +10660,15 @@ let
         sha512 = "w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==";
       };
     };
+    "tar-6.1.0" = {
+      name = "tar";
+      packageName = "tar";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz";
+        sha512 = "DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==";
+      };
+    };
     "temp-0.9.0" = {
       name = "temp";
       packageName = "temp";
@@ -10904,13 +10930,13 @@ let
         sha1 = "61dbc2d53b69ff6091a12a168fd7d433107e40f1";
       };
     };
-    "ts-debounce-2.1.0" = {
+    "ts-debounce-2.3.0" = {
       name = "ts-debounce";
       packageName = "ts-debounce";
-      version = "2.1.0";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ts-debounce/-/ts-debounce-2.1.0.tgz";
-        sha512 = "jlrN8iK/Iif5pQd+pIsH8uEexj3vvUT+BwqNrJt5xgZB+ucwVfQVAUMC8Dnx0vlk7AktHxoD9ZDYYVYUtxd5wA==";
+        url = "https://registry.npmjs.org/ts-debounce/-/ts-debounce-2.3.0.tgz";
+        sha512 = "j63IP7/unAzovrhVHE7U+fNkvDKwIaLH11dCO9TcRbYOZw1chPL054poqq3ZloyRJ5KwJMeB8csN/vGPPpQJjw==";
       };
     };
     "ts-union-2.3.0" = {
@@ -10931,6 +10957,15 @@ let
         sha512 = "Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==";
       };
     };
+    "tslib-2.1.0" = {
+      name = "tslib";
+      packageName = "tslib";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz";
+        sha512 = "hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==";
+      };
+    };
     "tsyringe-4.4.0" = {
       name = "tsyringe";
       packageName = "tsyringe";
@@ -11138,15 +11173,6 @@ let
         sha512 = "rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==";
       };
     };
-    "universalify-1.0.0" = {
-      name = "universalify";
-      packageName = "universalify";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz";
-        sha512 = "rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==";
-      };
-    };
     "universalify-2.0.0" = {
       name = "universalify";
       packageName = "universalify";
@@ -11210,13 +11236,13 @@ let
         sha1 = "4a50875ec5c715d19379799f0590a0e796958f61";
       };
     };
-    "uri-js-4.4.0" = {
+    "uri-js-4.4.1" = {
       name = "uri-js";
       packageName = "uri-js";
-      version = "4.4.0";
+      version = "4.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz";
-        sha512 = "B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==";
+        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz";
+        sha512 = "7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==";
       };
     };
     "urix-0.1.0" = {
@@ -11390,15 +11416,6 @@ let
         sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
       };
     };
-    "vfile-location-3.2.0" = {
-      name = "vfile-location";
-      packageName = "vfile-location";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz";
-        sha512 = "aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==";
-      };
-    };
     "vm-browserify-1.1.2" = {
       name = "vm-browserify";
       packageName = "vm-browserify";
@@ -11408,31 +11425,31 @@ let
         sha512 = "2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==";
       };
     };
-    "vscode-jsonrpc-5.0.1" = {
+    "vscode-jsonrpc-6.0.0" = {
       name = "vscode-jsonrpc";
       packageName = "vscode-jsonrpc";
-      version = "5.0.1";
+      version = "6.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-5.0.1.tgz";
-        sha512 = "JvONPptw3GAQGXlVV2utDcHx0BiY34FupW/kI6mZ5x06ER5DdPG/tXWMVHjTNULF5uKPOUUD0SaXg5QaubJL0A==";
+        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz";
+        sha512 = "wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==";
       };
     };
-    "vscode-languageserver-6.1.1" = {
+    "vscode-languageserver-7.0.0" = {
       name = "vscode-languageserver";
       packageName = "vscode-languageserver";
-      version = "6.1.1";
+      version = "7.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-6.1.1.tgz";
-        sha512 = "DueEpkUAkD5XTR4MLYNr6bQIp/UFR0/IPApgXU3YfCBCB08u2sm9hRCs6DxYZELkk++STPjpcjksR2H8qI3cDQ==";
+        url = "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-7.0.0.tgz";
+        sha512 = "60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==";
       };
     };
-    "vscode-languageserver-protocol-3.15.3" = {
+    "vscode-languageserver-protocol-3.16.0" = {
       name = "vscode-languageserver-protocol";
       packageName = "vscode-languageserver-protocol";
-      version = "3.15.3";
+      version = "3.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.15.3.tgz";
-        sha512 = "zrMuwHOAQRhjDSnflWdJG+O2ztMWss8GqUUB8dXLR/FPenwkiBNkMIJJYfSN6sgskvsF0rHAoBowNQfbyZnnvw==";
+        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0.tgz";
+        sha512 = "sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==";
       };
     };
     "vscode-languageserver-textdocument-1.0.1" = {
@@ -11444,22 +11461,22 @@ let
         sha512 = "UIcJDjX7IFkck7cSkNNyzIz5FyvpQfY7sdzVy+wkKN/BLaD4DQ0ppXQrKePomCxTS7RrolK1I0pey0bG9eh8dA==";
       };
     };
-    "vscode-languageserver-types-3.15.1" = {
+    "vscode-languageserver-types-3.16.0" = {
       name = "vscode-languageserver-types";
       packageName = "vscode-languageserver-types";
-      version = "3.15.1";
+      version = "3.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz";
-        sha512 = "+a9MPUQrNGRrGU630OGbYVQ+11iOIovjCkqxajPa9w57Sd5ruK8WQNsslzpa0x/QJqC8kRc2DUxWjIFwoNm4ZQ==";
+        url = "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz";
+        sha512 = "k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==";
       };
     };
-    "vscode-uri-2.1.2" = {
+    "vscode-uri-3.0.2" = {
       name = "vscode-uri";
       packageName = "vscode-uri";
-      version = "2.1.2";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz";
-        sha512 = "8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==";
+        url = "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.2.tgz";
+        sha512 = "jkjy6pjU1fxUvI51P+gCsxg1u2n8LSt0W6KrCNQceaziKzff74GoWmjVG46KieVzybO1sttPQmYfrwSHey7GUA==";
       };
     };
     "watchpack-1.7.5" = {
@@ -11516,13 +11533,13 @@ let
         sha512 = "6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==";
       };
     };
-    "webpack-dev-middleware-3.7.2" = {
+    "webpack-dev-middleware-3.7.3" = {
       name = "webpack-dev-middleware";
       packageName = "webpack-dev-middleware";
-      version = "3.7.2";
+      version = "3.7.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz";
-        sha512 = "1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==";
+        url = "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz";
+        sha512 = "djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==";
       };
     };
     "webpack-dev-server-3.11.0" = {
@@ -11885,13 +11902,13 @@ let
         sha512 = "o41D/WmDeca0BqYhsr3nJzQyg9NF5X8l/UdnFNux9cS3lwB+swm8qGWX5rn+aD6xfBU3rGmtHij7g7x6LxFU3A==";
       };
     };
-    "ws-7.4.0" = {
+    "ws-7.4.3" = {
       name = "ws";
       packageName = "ws";
-      version = "7.4.0";
+      version = "7.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.4.0.tgz";
-        sha512 = "kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ==";
+        url = "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz";
+        sha512 = "hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==";
       };
     };
     "xmlbuilder-13.0.2" = {
@@ -11921,22 +11938,22 @@ let
         sha512 = "LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==";
       };
     };
-    "y18n-3.2.1" = {
+    "y18n-3.2.2" = {
       name = "y18n";
       packageName = "y18n";
-      version = "3.2.1";
+      version = "3.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz";
-        sha1 = "6d15fba884c08679c0d77e88e7759e811e07fa41";
+        url = "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz";
+        sha512 = "uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==";
       };
     };
-    "y18n-4.0.0" = {
+    "y18n-4.0.1" = {
       name = "y18n";
       packageName = "y18n";
-      version = "4.0.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz";
-        sha512 = "r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==";
+        url = "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz";
+        sha512 = "wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==";
       };
     };
     "yallist-2.1.2" = {
@@ -11957,6 +11974,15 @@ let
         sha512 = "a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==";
       };
     };
+    "yallist-4.0.0" = {
+      name = "yallist";
+      packageName = "yallist";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz";
+        sha512 = "3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==";
+      };
+    };
     "yaml-1.10.0" = {
       name = "yaml";
       packageName = "yaml";
@@ -12112,7 +12138,7 @@ in
       sources."fresh-0.5.2"
       sources."fs-extra-2.0.0"
       sources."getpass-0.1.7"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.5"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."http-errors-1.7.2"
@@ -12136,8 +12162,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.4.1"
-      sources."mime-db-1.44.0"
-      sources."mime-types-2.1.27"
+      sources."mime-db-1.45.0"
+      sources."mime-types-2.1.28"
       sources."minimist-1.2.0"
       sources."ms-2.0.0"
       sources."negotiator-0.6.2"
@@ -12196,7 +12222,7 @@ in
       sources."typedarray-0.0.6"
       sources."ultron-1.0.2"
       sources."unpipe-1.0.0"
-      sources."uri-js-4.4.0"
+      sources."uri-js-4.4.1"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
       sources."uuid-3.4.0"
@@ -12241,8 +12267,8 @@ in
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-0.3.0"
-      sources."binary-extensions-2.1.0"
-      sources."binwrap-0.2.2"
+      sources."binary-extensions-2.2.0"
+      sources."binwrap-0.2.3"
       sources."bluebird-3.7.2"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
@@ -12256,7 +12282,7 @@ in
         ];
       })
       sources."chokidar-3.2.1"
-      sources."chownr-1.1.4"
+      sources."chownr-2.0.0"
       (sources."cliui-6.0.0" // {
         dependencies = [
           sources."ansi-regex-5.0.0"
@@ -12289,7 +12315,18 @@ in
           sources."which-2.0.1"
         ];
       })
-      sources."elmi-to-json-1.2.0"
+      (sources."elmi-to-json-1.2.0" // {
+        dependencies = [
+          sources."binwrap-0.2.2"
+          sources."chownr-1.1.4"
+          sources."fs-minipass-1.2.7"
+          sources."minipass-2.9.0"
+          sources."minizlib-1.3.3"
+          sources."mkdirp-0.5.5"
+          sources."tar-4.4.13"
+          sources."yallist-3.1.1"
+        ];
+      })
       sources."emoji-regex-7.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."extend-3.0.2"
@@ -12310,14 +12347,14 @@ in
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."fs-extra-4.0.3"
-      sources."fs-minipass-1.2.7"
+      sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.1.3"
       sources."get-caller-file-2.0.5"
       sources."getpass-0.1.7"
       sources."glob-7.1.4"
       sources."glob-parent-5.1.1"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.5"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-flag-3.0.0"
@@ -12346,13 +12383,13 @@ in
           sources."yallist-2.1.2"
         ];
       })
-      sources."mime-db-1.44.0"
-      sources."mime-types-2.1.27"
+      sources."mime-db-1.45.0"
+      sources."mime-types-2.1.28"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
-      sources."minipass-2.9.0"
-      sources."minizlib-1.3.3"
-      sources."mkdirp-0.5.5"
+      sources."minipass-3.1.3"
+      sources."minizlib-2.1.2"
+      sources."mkdirp-1.0.4"
       sources."moment-2.29.1"
       sources."murmur-hash-js-1.0.0"
       sources."mustache-3.2.1"
@@ -12407,7 +12444,7 @@ in
         ];
       })
       sources."table-5.4.6"
-      sources."tar-4.4.13"
+      sources."tar-6.1.0"
       sources."temp-0.9.0"
       sources."through-2.3.8"
       sources."tmp-0.0.33"
@@ -12419,9 +12456,13 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."universalify-0.1.2"
-      sources."unzip-stream-0.3.1"
+      (sources."unzip-stream-0.3.1" // {
+        dependencies = [
+          sources."mkdirp-0.5.5"
+        ];
+      })
       sources."upgrade-1.1.0"
-      sources."uri-js-4.4.0"
+      sources."uri-js-4.4.1"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
       sources."which-1.3.1"
@@ -12440,8 +12481,8 @@ in
       })
       sources."wrappy-1.0.2"
       sources."xmlbuilder-13.0.2"
-      sources."y18n-4.0.0"
-      sources."yallist-3.1.1"
+      sources."y18n-4.0.1"
+      sources."yallist-4.0.0"
       (sources."yargs-15.4.1" // {
         dependencies = [
           sources."ansi-regex-5.0.0"
@@ -12466,10 +12507,10 @@ in
   elm-doc-preview = nodeEnv.buildNodePackage {
     name = "elm-doc-preview";
     packageName = "elm-doc-preview";
-    version = "5.0.3";
+    version = "5.0.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-doc-preview/-/elm-doc-preview-5.0.3.tgz";
-      sha512 = "j9wli2wOHYiSMARDCRgAZGZ8JkcJqG4rh5+6rSgy5nVGqyXDEN6HCBX/8AhqtKMFKcuCp9ejx04heCaROlb/Eg==";
+      url = "https://registry.npmjs.org/elm-doc-preview/-/elm-doc-preview-5.0.5.tgz";
+      sha512 = "GlWnbw2Bl+pA7QzRlqSYNGEQ3r3oNxMr2Nu0uiCM6AWzQ6Sk3BwtqSiUZvXLLlzWBV9pAQnY9U8xpDpPuh5rOQ==";
     };
     dependencies = [
       sources."@sindresorhus/is-0.14.0"
@@ -12481,7 +12522,7 @@ in
       sources."async-limiter-1.0.1"
       sources."balanced-match-1.0.0"
       sources."batch-0.6.1"
-      sources."binary-extensions-2.1.0"
+      sources."binary-extensions-2.2.0"
       sources."body-parser-1.19.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
@@ -12493,7 +12534,7 @@ in
         ];
       })
       sources."chalk-3.0.0"
-      sources."chokidar-3.4.3"
+      sources."chokidar-3.5.1"
       sources."clone-response-1.0.2"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
@@ -12527,7 +12568,7 @@ in
       sources."forwarded-0.1.2"
       sources."fresh-0.5.2"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.1.3"
+      sources."fsevents-2.3.2"
       sources."get-stream-4.1.0"
       sources."glob-7.1.6"
       sources."glob-parent-5.1.1"
@@ -12538,7 +12579,7 @@ in
       sources."iconv-lite-0.4.24"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
-      sources."ini-1.3.5"
+      sources."ini-1.3.8"
       sources."ipaddr.js-1.9.1"
       sources."is-binary-path-2.1.0"
       sources."is-docker-2.1.1"
@@ -12555,8 +12596,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.44.0"
-      sources."mime-types-2.1.27"
+      sources."mime-db-1.45.0"
+      sources."mime-types-2.1.28"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
@@ -12566,7 +12607,7 @@ in
       sources."normalize-url-4.5.0"
       sources."on-finished-2.3.0"
       sources."once-1.4.0"
-      sources."open-7.3.0"
+      sources."open-7.4.0"
       sources."p-cancelable-1.1.0"
       sources."package-json-6.5.0"
       sources."parseurl-1.3.3"
@@ -12618,7 +12659,7 @@ in
       sources."vary-1.1.2"
       sources."which-2.0.2"
       sources."wrappy-1.0.2"
-      sources."ws-7.4.0"
+      sources."ws-7.4.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -12633,212 +12674,73 @@ in
   "@elm-tooling/elm-language-server" = nodeEnv.buildNodePackage {
     name = "_at_elm-tooling_slash_elm-language-server";
     packageName = "@elm-tooling/elm-language-server";
-    version = "1.13.2";
+    version = "2.0.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@elm-tooling/elm-language-server/-/elm-language-server-1.13.2.tgz";
-      sha512 = "3bRD+Hut+XPLDY4r0t25tHhfWsXH2UPeruwDfsp/b991AjGpd3HlMNKVAnyu4DD2brUqo6xoHhpp3qTdHPJ2Pw==";
+      url = "https://registry.npmjs.org/@elm-tooling/elm-language-server/-/elm-language-server-2.0.2.tgz";
+      sha512 = "9G+n4pGWv/dpV6y7Wvf+J1FbJxQW6jtbtiF/20LYJVYP8LxjlrdMG5uzfZqBCFPNfn8aaIJL/ndkSvtSuFe/JA==";
     };
     dependencies = [
-      sources."@nodelib/fs.scandir-2.1.3"
-      sources."@nodelib/fs.stat-2.0.3"
-      sources."@nodelib/fs.walk-1.2.4"
-      sources."accepts-1.3.7"
-      sources."ajv-6.12.6"
-      sources."array-flatten-1.1.1"
+      sources."@nodelib/fs.scandir-2.1.4"
+      sources."@nodelib/fs.stat-2.0.4"
+      sources."@nodelib/fs.walk-1.2.6"
+      sources."anymatch-3.1.1"
       sources."array-union-2.1.0"
-      sources."asn1-0.2.4"
-      sources."assert-plus-1.0.0"
-      sources."async-limiter-1.0.1"
-      sources."asynckit-0.4.0"
-      sources."aws-sign2-0.7.0"
-      sources."aws4-1.11.0"
-      sources."babel-runtime-6.18.0"
-      sources."bcrypt-pbkdf-1.0.2"
-      sources."body-parser-1.19.0"
+      sources."binary-extensions-2.2.0"
       sources."braces-3.0.2"
-      sources."bytes-3.1.0"
-      sources."caseless-0.12.0"
-      sources."combined-stream-1.0.8"
-      sources."concat-stream-1.5.2"
-      sources."content-disposition-0.5.3"
-      sources."content-type-1.0.4"
-      sources."cookie-0.4.0"
-      sources."cookie-signature-1.0.6"
-      sources."core-js-2.6.12"
-      sources."core-util-is-1.0.2"
+      sources."chokidar-3.5.1"
       sources."cross-spawn-7.0.3"
-      sources."dashdash-1.14.1"
-      sources."debug-2.6.9"
-      sources."delayed-stream-1.0.0"
-      sources."depd-1.1.2"
-      sources."destroy-1.0.4"
       sources."dir-glob-3.0.1"
-      sources."ecc-jsbn-0.1.2"
-      sources."ee-first-1.1.1"
-      sources."elm-analyse-git://github.com/elm-tooling/elm-analyse#7f4000cce5ef024fe5e82c7ee1725feef95a9daf"
-      sources."encodeurl-1.0.2"
-      sources."end-of-stream-1.4.4"
-      sources."escape-html-1.0.3"
       sources."escape-string-regexp-4.0.0"
-      sources."etag-1.8.1"
-      (sources."execa-4.1.0" // {
-        dependencies = [
-          sources."is-stream-2.0.0"
-        ];
-      })
-      sources."express-4.17.1"
-      (sources."express-ws-2.0.0" // {
-        dependencies = [
-          sources."ws-1.1.5"
-        ];
-      })
-      sources."extend-3.0.2"
-      sources."extsprintf-1.3.0"
-      sources."fast-deep-equal-3.1.3"
+      sources."execa-5.0.0"
       sources."fast-diff-1.2.0"
-      sources."fast-glob-3.2.4"
-      sources."fast-json-stable-stringify-2.1.0"
-      sources."fastq-1.9.0"
+      sources."fast-glob-3.2.5"
+      sources."fastq-1.10.1"
       sources."fill-range-7.0.1"
-      sources."finalhandler-1.1.2"
-      sources."find-0.2.7"
-      sources."forever-agent-0.6.1"
-      sources."form-data-2.3.3"
-      sources."forwarded-0.1.2"
-      sources."fresh-0.5.2"
-      sources."fs-extra-2.0.0"
-      sources."get-stream-5.2.0"
-      sources."getpass-0.1.7"
+      sources."fromentries-1.3.2"
+      sources."fsevents-2.3.2"
+      sources."get-stream-6.0.0"
       sources."glob-parent-5.1.1"
-      sources."globby-11.0.1"
-      sources."graceful-fs-4.2.4"
-      sources."har-schema-2.0.0"
-      sources."har-validator-5.1.5"
-      sources."http-errors-1.7.2"
-      sources."http-signature-1.2.0"
-      sources."human-signals-1.1.1"
-      sources."iconv-lite-0.4.24"
+      sources."globby-11.0.2"
+      sources."human-signals-2.1.0"
       sources."ignore-5.1.8"
-      sources."inherits-2.0.3"
-      sources."ipaddr.js-1.9.1"
+      sources."is-binary-path-2.1.0"
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.1"
       sources."is-number-7.0.0"
-      sources."is-stream-1.1.0"
-      sources."is-typedarray-1.0.0"
-      sources."is-wsl-1.1.0"
-      sources."isarray-1.0.0"
+      sources."is-stream-2.0.0"
       sources."isexe-2.0.0"
-      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."jsonfile-2.4.0"
-      sources."jsprim-1.4.1"
-      sources."lodash-4.17.20"
-      sources."media-typer-0.3.0"
-      sources."merge-descriptors-1.0.1"
       sources."merge-stream-2.0.0"
       sources."merge2-1.4.1"
-      sources."methods-1.1.2"
       sources."micromatch-4.0.2"
-      sources."mime-1.6.0"
-      sources."mime-db-1.44.0"
-      sources."mime-types-2.1.27"
       sources."mimic-fn-2.1.0"
-      sources."minimist-1.2.5"
-      sources."ms-2.0.0"
-      sources."negotiator-0.6.2"
-      sources."node-watch-0.5.5"
+      sources."normalize-path-3.0.0"
       sources."npm-run-path-4.0.1"
-      sources."oauth-sign-0.9.0"
-      sources."on-finished-2.3.0"
-      sources."once-1.4.0"
       sources."onetime-5.1.2"
-      sources."opn-6.0.0"
-      sources."options-0.0.6"
-      sources."os-homedir-1.0.2"
-      sources."os-tmpdir-1.0.2"
-      sources."parseurl-1.3.3"
       sources."path-key-3.1.1"
-      sources."path-to-regexp-0.1.7"
       sources."path-type-4.0.0"
-      sources."performance-now-2.1.0"
       sources."picomatch-2.2.2"
       sources."pjson-1.0.9"
-      sources."process-nextick-args-1.0.7"
-      sources."proxy-addr-2.0.6"
-      sources."psl-1.8.0"
-      sources."pump-3.0.0"
-      sources."punycode-2.1.1"
-      sources."qs-6.7.0"
-      sources."range-parser-1.2.1"
-      sources."raw-body-2.4.0"
-      sources."readable-stream-2.0.6"
+      sources."readdirp-3.5.0"
       sources."reflect-metadata-0.1.13"
-      sources."regenerator-runtime-0.9.6"
-      (sources."request-2.88.2" // {
-        dependencies = [
-          sources."qs-6.5.2"
-        ];
-      })
       sources."reusify-1.0.4"
       sources."run-parallel-1.1.10"
-      sources."safe-buffer-5.1.2"
-      sources."safer-buffer-2.1.2"
-      (sources."send-0.17.1" // {
-        dependencies = [
-          sources."ms-2.1.1"
-        ];
-      })
-      sources."serve-static-1.14.1"
-      sources."setprototypeof-1.1.1"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."signal-exit-3.0.3"
       sources."slash-3.0.0"
-      sources."sshpk-1.16.1"
-      sources."statuses-1.5.0"
-      sources."string_decoder-0.10.31"
       sources."strip-final-newline-2.0.0"
-      sources."sums-0.2.4"
-      sources."through2-2.0.1"
-      sources."tmp-0.0.31"
       sources."to-regex-range-5.0.1"
-      sources."toidentifier-1.0.0"
-      sources."tough-cookie-2.5.0"
-      sources."traverse-chain-0.1.0"
-      sources."ts-debounce-2.1.0"
+      sources."ts-debounce-2.3.0"
       sources."tslib-1.14.1"
       sources."tsyringe-4.4.0"
-      sources."tunnel-agent-0.6.0"
-      sources."tweetnacl-0.14.5"
-      sources."type-is-1.6.18"
-      sources."typedarray-0.0.6"
-      sources."ultron-1.0.2"
-      sources."unpipe-1.0.0"
-      sources."uri-js-4.4.0"
-      sources."util-deprecate-1.0.2"
-      sources."utils-merge-1.0.1"
-      sources."uuid-3.4.0"
-      sources."vary-1.1.2"
-      sources."verror-1.10.0"
-      sources."vscode-jsonrpc-5.0.1"
-      sources."vscode-languageserver-6.1.1"
-      sources."vscode-languageserver-protocol-3.15.3"
+      sources."vscode-jsonrpc-6.0.0"
+      sources."vscode-languageserver-7.0.0"
+      sources."vscode-languageserver-protocol-3.16.0"
       sources."vscode-languageserver-textdocument-1.0.1"
-      sources."vscode-languageserver-types-3.15.1"
-      sources."vscode-uri-2.1.2"
+      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-uri-3.0.2"
       sources."web-tree-sitter-0.17.1"
       sources."which-2.0.2"
-      sources."wrappy-1.0.2"
-      (sources."ws-3.3.1" // {
-        dependencies = [
-          sources."ultron-1.1.1"
-        ];
-      })
-      sources."xtend-4.0.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -12863,7 +12765,7 @@ in
       sources."ansi-styles-2.2.1"
       sources."anymatch-3.1.1"
       sources."async-limiter-1.0.1"
-      sources."binary-extensions-2.1.0"
+      sources."binary-extensions-2.2.0"
       sources."braces-3.0.2"
       sources."chalk-1.1.3"
       sources."charenc-0.0.2"
@@ -12892,9 +12794,9 @@ in
       })
       sources."fill-range-7.0.1"
       sources."finalhandler-1.1.2"
-      sources."follow-redirects-1.13.0"
+      sources."follow-redirects-1.13.2"
       sources."fresh-0.5.2"
-      sources."fsevents-2.2.1"
+      sources."fsevents-2.3.2"
       sources."get-stream-4.1.0"
       sources."glob-parent-5.1.1"
       sources."has-ansi-2.0.0"
@@ -12970,128 +12872,57 @@ in
   elm-test = nodeEnv.buildNodePackage {
     name = "elm-test";
     packageName = "elm-test";
-    version = "0.19.1-revision4";
+    version = "0.19.1-revision6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-test/-/elm-test-0.19.1-revision4.tgz";
-      sha512 = "DUzKPNzJb/2ZsPbtHttT5JIKGY1KtT7d9cexSNQI7DppvoEHxZ4nCd5EObv5kjskmC0JkQ5PHmCkIruQsbOdkQ==";
+      url = "https://registry.npmjs.org/elm-test/-/elm-test-0.19.1-revision6.tgz";
+      sha512 = "4VbIyCRlCUm/py0E0AjMT3/mwd6DR4Y5Z5gEox6z5JII6ZdKIJmcQzjgWRI5qo5ERJiw9M/Nxhk7SGXFUbZsxQ==";
     };
     dependencies = [
-      sources."ajv-6.12.6"
       sources."ansi-styles-4.3.0"
       sources."anymatch-3.1.1"
-      sources."asn1-0.2.4"
-      sources."assert-plus-1.0.0"
-      sources."asynckit-0.4.0"
-      sources."aws-sign2-0.7.0"
-      sources."aws4-1.11.0"
       sources."balanced-match-1.0.0"
-      sources."bcrypt-pbkdf-1.0.2"
-      sources."binary-0.3.0"
-      sources."binary-extensions-2.1.0"
-      sources."binwrap-0.2.2"
-      sources."bluebird-3.7.2"
+      sources."binary-extensions-2.2.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."buffers-0.1.1"
-      sources."caseless-0.12.0"
-      sources."chainsaw-0.1.0"
-      sources."chalk-3.0.0"
-      sources."chokidar-3.4.3"
-      sources."chownr-1.1.4"
+      sources."chalk-4.1.0"
+      sources."chokidar-3.5.1"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."combined-stream-1.0.8"
+      sources."commander-7.0.0"
       sources."concat-map-0.0.1"
-      sources."core-util-is-1.0.2"
       sources."cross-spawn-7.0.3"
-      sources."dashdash-1.14.1"
-      sources."delayed-stream-1.0.0"
-      sources."ecc-jsbn-0.1.2"
-      sources."elmi-to-json-1.3.0"
-      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."elm-tooling-1.1.0"
       sources."fill-range-7.0.1"
-      sources."forever-agent-0.6.1"
-      sources."form-data-2.3.3"
-      sources."fs-extra-8.1.0"
-      sources."fs-minipass-1.2.7"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.1.3"
-      sources."getpass-0.1.7"
+      sources."fsevents-2.3.2"
       sources."glob-7.1.6"
       sources."glob-parent-5.1.1"
-      sources."graceful-fs-4.2.4"
-      sources."har-schema-2.0.0"
-      sources."har-validator-5.1.5"
+      sources."graceful-fs-4.2.5"
       sources."has-flag-4.0.0"
-      sources."http-signature-1.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."is-binary-path-2.1.0"
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.1"
       sources."is-number-7.0.0"
-      sources."is-typedarray-1.0.0"
       sources."isexe-2.0.0"
-      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."jsonfile-4.0.0"
-      sources."jsprim-1.4.1"
-      sources."lodash-4.17.20"
-      sources."mime-db-1.44.0"
-      sources."mime-types-2.1.27"
       sources."minimatch-3.0.4"
-      sources."minimist-1.2.5"
-      sources."minipass-2.9.0"
-      sources."minizlib-1.3.3"
-      sources."mkdirp-0.5.5"
-      sources."murmur-hash-js-1.0.0"
-      sources."mustache-3.2.1"
       sources."normalize-path-3.0.0"
-      sources."oauth-sign-0.9.0"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-3.1.1"
-      sources."performance-now-2.1.0"
       sources."picomatch-2.2.2"
-      sources."psl-1.8.0"
-      sources."punycode-2.1.1"
-      sources."qs-6.5.2"
       sources."readdirp-3.5.0"
-      sources."request-2.88.2"
-      sources."request-promise-4.2.6"
-      sources."request-promise-core-1.1.4"
-      sources."rimraf-2.6.3"
-      sources."safe-buffer-5.2.1"
-      sources."safer-buffer-2.1.2"
+      sources."rimraf-3.0.2"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."split-1.0.1"
-      sources."sshpk-1.16.1"
-      sources."stealthy-require-1.1.1"
       sources."supports-color-7.2.0"
-      sources."tar-4.4.13"
-      sources."temp-0.9.4"
       sources."through-2.3.8"
       sources."to-regex-range-5.0.1"
-      sources."tough-cookie-2.5.0"
-      sources."traverse-0.3.9"
-      sources."tunnel-agent-0.6.0"
-      sources."tweetnacl-0.14.5"
-      sources."universalify-0.1.2"
-      sources."unzip-stream-0.3.1"
-      sources."uri-js-4.4.0"
-      sources."uuid-3.4.0"
-      sources."verror-1.10.0"
       sources."which-2.0.2"
       sources."wrappy-1.0.2"
       sources."xmlbuilder-15.1.1"
-      sources."yallist-3.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -13117,7 +12948,7 @@ in
       sources."@types/cacheable-request-6.0.1"
       sources."@types/http-cache-semantics-4.0.0"
       sources."@types/keyv-3.1.1"
-      sources."@types/node-14.14.10"
+      sources."@types/node-14.14.25"
       sources."@types/responselike-1.0.0"
       sources."cacheable-lookup-2.0.1"
       sources."cacheable-request-7.0.1"
@@ -13136,18 +12967,19 @@ in
       sources."get-proxy-2.1.0"
       sources."get-stream-5.2.0"
       sources."got-10.7.0"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.5"
       sources."has-symbol-support-x-1.4.2"
       sources."has-to-string-tag-x-1.4.1"
       sources."http-cache-semantics-4.1.0"
-      sources."ini-1.3.5"
-      sources."is-object-1.0.1"
+      sources."ini-1.3.8"
+      sources."is-object-1.0.2"
       sources."isexe-2.0.0"
       sources."isurl-1.0.0"
       sources."json-buffer-3.0.1"
       sources."jsonfile-4.0.0"
       sources."keyv-4.0.3"
       sources."lowercase-keys-2.0.0"
+      sources."lru-cache-6.0.0"
       sources."mimic-response-2.1.0"
       sources."normalize-url-4.5.0"
       sources."npm-conf-1.1.3"
@@ -13162,7 +12994,7 @@ in
       sources."responselike-2.0.0"
       sources."safe-buffer-5.2.1"
       sources."safename-1.0.2"
-      sources."semver-7.3.2"
+      sources."semver-7.3.4"
       sources."to-readable-stream-2.1.0"
       sources."tunnel-agent-0.6.0"
       sources."type-fest-0.10.0"
@@ -13170,6 +13002,7 @@ in
       sources."url-to-options-1.0.1"
       sources."which-2.0.2"
       sources."wrappy-1.0.2"
+      sources."yallist-4.0.0"
       sources."yn-4.0.0"
     ];
     buildInputs = globalBuildInputs;
@@ -13203,7 +13036,7 @@ in
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-0.3.0"
-      sources."binary-extensions-2.1.0"
+      sources."binary-extensions-2.2.0"
       sources."binwrap-0.2.2"
       sources."bluebird-3.7.2"
       sources."brace-expansion-1.1.11"
@@ -13263,7 +13096,7 @@ in
       sources."getpass-0.1.7"
       sources."glob-7.1.4"
       sources."glob-parent-5.1.1"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.5"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-flag-3.0.0"
@@ -13286,8 +13119,8 @@ in
       sources."jsprim-1.4.1"
       sources."locate-path-3.0.0"
       sources."lodash-4.17.15"
-      sources."mime-db-1.44.0"
-      sources."mime-types-2.1.27"
+      sources."mime-db-1.45.0"
+      sources."mime-types-2.1.28"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."minipass-2.9.0"
@@ -13354,7 +13187,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."universalify-0.1.2"
       sources."unzip-stream-0.3.1"
-      sources."uri-js-4.4.0"
+      sources."uri-js-4.4.1"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
       sources."which-2.0.1"
@@ -13362,7 +13195,7 @@ in
       sources."wrap-ansi-5.1.0"
       sources."wrappy-1.0.2"
       sources."xmlbuilder-13.0.2"
-      sources."y18n-4.0.0"
+      sources."y18n-4.0.1"
       sources."yallist-3.1.1"
       sources."yargs-13.3.2"
       sources."yargs-parser-13.1.2"
@@ -13389,7 +13222,7 @@ in
       sources."compare-versions-3.6.0"
       sources."core-util-is-1.0.2"
       sources."fs-extra-6.0.1"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.5"
       sources."inherits-2.0.4"
       sources."isarray-1.0.0"
       sources."jsonfile-4.0.0"
@@ -13424,58 +13257,57 @@ in
   create-elm-app = nodeEnv.buildNodePackage {
     name = "create-elm-app";
     packageName = "create-elm-app";
-    version = "5.21.0";
+    version = "5.22.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/create-elm-app/-/create-elm-app-5.21.0.tgz";
-      sha512 = "yW7kMk/WyIUZc+OksH+GH8lhOWl129RiJGclJtpnLlmW3IDZYh23bP/e65MxX7BB+7lwi3KSObdbPYfCJf7CuA==";
+      url = "https://registry.npmjs.org/create-elm-app/-/create-elm-app-5.22.0.tgz";
+      sha512 = "XmYWohoM/xHxFJBPA61MJMqlMcEycBO4gUdtp4mVA6KbIgEV7PTv1UXVFYjTntUNOr5DIxvE1RcqB84rR767Uw==";
     };
     dependencies = [
-      sources."@babel/cli-7.12.8"
-      sources."@babel/code-frame-7.10.4"
-      sources."@babel/compat-data-7.12.7"
-      sources."@babel/core-7.12.9"
-      sources."@babel/generator-7.12.5"
-      sources."@babel/helper-annotate-as-pure-7.10.4"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.10.4"
-      sources."@babel/helper-compilation-targets-7.12.5"
-      sources."@babel/helper-create-class-features-plugin-7.12.1"
-      sources."@babel/helper-create-regexp-features-plugin-7.12.7"
-      sources."@babel/helper-define-map-7.10.5"
-      sources."@babel/helper-explode-assignable-expression-7.12.1"
-      sources."@babel/helper-function-name-7.10.4"
-      sources."@babel/helper-get-function-arity-7.10.4"
-      sources."@babel/helper-hoist-variables-7.10.4"
-      sources."@babel/helper-member-expression-to-functions-7.12.7"
-      sources."@babel/helper-module-imports-7.12.5"
-      sources."@babel/helper-module-transforms-7.12.1"
-      sources."@babel/helper-optimise-call-expression-7.12.7"
-      sources."@babel/helper-plugin-utils-7.10.4"
-      sources."@babel/helper-remap-async-to-generator-7.12.1"
-      sources."@babel/helper-replace-supers-7.12.5"
-      sources."@babel/helper-simple-access-7.12.1"
+      sources."@babel/cli-7.12.10"
+      sources."@babel/code-frame-7.12.13"
+      sources."@babel/compat-data-7.12.13"
+      sources."@babel/core-7.12.10"
+      sources."@babel/generator-7.12.15"
+      sources."@babel/helper-annotate-as-pure-7.12.13"
+      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.12.13"
+      sources."@babel/helper-compilation-targets-7.12.13"
+      sources."@babel/helper-create-class-features-plugin-7.12.13"
+      sources."@babel/helper-create-regexp-features-plugin-7.12.13"
+      sources."@babel/helper-explode-assignable-expression-7.12.13"
+      sources."@babel/helper-function-name-7.12.13"
+      sources."@babel/helper-get-function-arity-7.12.13"
+      sources."@babel/helper-hoist-variables-7.12.13"
+      sources."@babel/helper-member-expression-to-functions-7.12.13"
+      sources."@babel/helper-module-imports-7.12.13"
+      sources."@babel/helper-module-transforms-7.12.13"
+      sources."@babel/helper-optimise-call-expression-7.12.13"
+      sources."@babel/helper-plugin-utils-7.12.13"
+      sources."@babel/helper-remap-async-to-generator-7.12.13"
+      sources."@babel/helper-replace-supers-7.12.13"
+      sources."@babel/helper-simple-access-7.12.13"
       sources."@babel/helper-skip-transparent-expression-wrappers-7.12.1"
-      sources."@babel/helper-split-export-declaration-7.11.0"
-      sources."@babel/helper-validator-identifier-7.10.4"
-      sources."@babel/helper-validator-option-7.12.1"
-      sources."@babel/helper-wrap-function-7.12.3"
-      sources."@babel/helpers-7.12.5"
-      sources."@babel/highlight-7.10.4"
-      sources."@babel/parser-7.12.7"
-      sources."@babel/plugin-proposal-async-generator-functions-7.12.1"
-      sources."@babel/plugin-proposal-class-properties-7.12.1"
+      sources."@babel/helper-split-export-declaration-7.12.13"
+      sources."@babel/helper-validator-identifier-7.12.11"
+      sources."@babel/helper-validator-option-7.12.11"
+      sources."@babel/helper-wrap-function-7.12.13"
+      sources."@babel/helpers-7.12.13"
+      sources."@babel/highlight-7.12.13"
+      sources."@babel/parser-7.12.15"
+      sources."@babel/plugin-proposal-async-generator-functions-7.12.13"
+      sources."@babel/plugin-proposal-class-properties-7.12.13"
       sources."@babel/plugin-proposal-dynamic-import-7.12.1"
-      sources."@babel/plugin-proposal-export-namespace-from-7.12.1"
-      sources."@babel/plugin-proposal-json-strings-7.12.1"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.12.1"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.12.1"
-      sources."@babel/plugin-proposal-numeric-separator-7.12.7"
-      sources."@babel/plugin-proposal-object-rest-spread-7.12.1"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.12.1"
-      sources."@babel/plugin-proposal-optional-chaining-7.12.7"
-      sources."@babel/plugin-proposal-private-methods-7.12.1"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.12.1"
+      sources."@babel/plugin-proposal-export-namespace-from-7.12.13"
+      sources."@babel/plugin-proposal-json-strings-7.12.13"
+      sources."@babel/plugin-proposal-logical-assignment-operators-7.12.13"
+      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.12.13"
+      sources."@babel/plugin-proposal-numeric-separator-7.12.13"
+      sources."@babel/plugin-proposal-object-rest-spread-7.12.13"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.12.13"
+      sources."@babel/plugin-proposal-optional-chaining-7.12.13"
+      sources."@babel/plugin-proposal-private-methods-7.12.13"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.12.13"
       sources."@babel/plugin-syntax-async-generators-7.8.4"
-      sources."@babel/plugin-syntax-class-properties-7.12.1"
+      sources."@babel/plugin-syntax-class-properties-7.12.13"
       sources."@babel/plugin-syntax-dynamic-import-7.8.3"
       sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
       sources."@babel/plugin-syntax-json-strings-7.8.3"
@@ -13485,46 +13317,46 @@ in
       sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
       sources."@babel/plugin-syntax-optional-catch-binding-7.8.3"
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
-      sources."@babel/plugin-syntax-top-level-await-7.12.1"
-      sources."@babel/plugin-transform-arrow-functions-7.12.1"
-      sources."@babel/plugin-transform-async-to-generator-7.12.1"
-      sources."@babel/plugin-transform-block-scoped-functions-7.12.1"
-      sources."@babel/plugin-transform-block-scoping-7.12.1"
-      sources."@babel/plugin-transform-classes-7.12.1"
-      sources."@babel/plugin-transform-computed-properties-7.12.1"
-      sources."@babel/plugin-transform-destructuring-7.12.1"
-      sources."@babel/plugin-transform-dotall-regex-7.12.1"
-      sources."@babel/plugin-transform-duplicate-keys-7.12.1"
-      sources."@babel/plugin-transform-exponentiation-operator-7.12.1"
-      sources."@babel/plugin-transform-for-of-7.12.1"
-      sources."@babel/plugin-transform-function-name-7.12.1"
-      sources."@babel/plugin-transform-literals-7.12.1"
-      sources."@babel/plugin-transform-member-expression-literals-7.12.1"
-      sources."@babel/plugin-transform-modules-amd-7.12.1"
-      sources."@babel/plugin-transform-modules-commonjs-7.12.1"
-      sources."@babel/plugin-transform-modules-systemjs-7.12.1"
-      sources."@babel/plugin-transform-modules-umd-7.12.1"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.12.1"
-      sources."@babel/plugin-transform-new-target-7.12.1"
-      sources."@babel/plugin-transform-object-super-7.12.1"
-      sources."@babel/plugin-transform-parameters-7.12.1"
-      sources."@babel/plugin-transform-property-literals-7.12.1"
-      sources."@babel/plugin-transform-regenerator-7.12.1"
-      sources."@babel/plugin-transform-reserved-words-7.12.1"
-      sources."@babel/plugin-transform-runtime-7.12.1"
-      sources."@babel/plugin-transform-shorthand-properties-7.12.1"
-      sources."@babel/plugin-transform-spread-7.12.1"
-      sources."@babel/plugin-transform-sticky-regex-7.12.7"
-      sources."@babel/plugin-transform-template-literals-7.12.1"
-      sources."@babel/plugin-transform-typeof-symbol-7.12.1"
-      sources."@babel/plugin-transform-unicode-escapes-7.12.1"
-      sources."@babel/plugin-transform-unicode-regex-7.12.1"
-      sources."@babel/preset-env-7.12.7"
+      sources."@babel/plugin-syntax-top-level-await-7.12.13"
+      sources."@babel/plugin-transform-arrow-functions-7.12.13"
+      sources."@babel/plugin-transform-async-to-generator-7.12.13"
+      sources."@babel/plugin-transform-block-scoped-functions-7.12.13"
+      sources."@babel/plugin-transform-block-scoping-7.12.13"
+      sources."@babel/plugin-transform-classes-7.12.13"
+      sources."@babel/plugin-transform-computed-properties-7.12.13"
+      sources."@babel/plugin-transform-destructuring-7.12.13"
+      sources."@babel/plugin-transform-dotall-regex-7.12.13"
+      sources."@babel/plugin-transform-duplicate-keys-7.12.13"
+      sources."@babel/plugin-transform-exponentiation-operator-7.12.13"
+      sources."@babel/plugin-transform-for-of-7.12.13"
+      sources."@babel/plugin-transform-function-name-7.12.13"
+      sources."@babel/plugin-transform-literals-7.12.13"
+      sources."@babel/plugin-transform-member-expression-literals-7.12.13"
+      sources."@babel/plugin-transform-modules-amd-7.12.13"
+      sources."@babel/plugin-transform-modules-commonjs-7.12.13"
+      sources."@babel/plugin-transform-modules-systemjs-7.12.13"
+      sources."@babel/plugin-transform-modules-umd-7.12.13"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.12.13"
+      sources."@babel/plugin-transform-new-target-7.12.13"
+      sources."@babel/plugin-transform-object-super-7.12.13"
+      sources."@babel/plugin-transform-parameters-7.12.13"
+      sources."@babel/plugin-transform-property-literals-7.12.13"
+      sources."@babel/plugin-transform-regenerator-7.12.13"
+      sources."@babel/plugin-transform-reserved-words-7.12.13"
+      sources."@babel/plugin-transform-runtime-7.12.10"
+      sources."@babel/plugin-transform-shorthand-properties-7.12.13"
+      sources."@babel/plugin-transform-spread-7.12.13"
+      sources."@babel/plugin-transform-sticky-regex-7.12.13"
+      sources."@babel/plugin-transform-template-literals-7.12.13"
+      sources."@babel/plugin-transform-typeof-symbol-7.12.13"
+      sources."@babel/plugin-transform-unicode-escapes-7.12.13"
+      sources."@babel/plugin-transform-unicode-regex-7.12.13"
+      sources."@babel/preset-env-7.12.10"
       sources."@babel/preset-modules-0.1.4"
       sources."@babel/runtime-7.12.5"
-      sources."@babel/template-7.12.7"
-      sources."@babel/traverse-7.12.9"
-      sources."@babel/types-7.12.7"
+      sources."@babel/template-7.12.13"
+      sources."@babel/traverse-7.12.13"
+      sources."@babel/types-7.12.13"
       sources."@hapi/address-2.1.4"
       sources."@hapi/bourne-1.3.2"
       sources."@hapi/hoek-8.5.1"
@@ -13535,10 +13367,10 @@ in
       sources."@types/anymatch-1.3.1"
       sources."@types/glob-7.1.3"
       sources."@types/html-minifier-terser-5.1.1"
-      sources."@types/http-proxy-1.17.4"
-      sources."@types/json-schema-7.0.6"
+      sources."@types/http-proxy-1.17.5"
+      sources."@types/json-schema-7.0.7"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-14.14.10"
+      sources."@types/node-14.14.25"
       sources."@types/parse-json-4.0.0"
       sources."@types/q-1.5.4"
       sources."@types/source-list-map-0.1.2"
@@ -13548,12 +13380,12 @@ in
           sources."source-map-0.6.1"
         ];
       })
-      (sources."@types/webpack-4.41.25" // {
+      (sources."@types/webpack-4.41.26" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
       })
-      (sources."@types/webpack-sources-2.0.0" // {
+      (sources."@types/webpack-sources-2.1.0" // {
         dependencies = [
           sources."source-map-0.7.3"
         ];
@@ -13628,7 +13460,7 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      sources."autoprefixer-10.0.4"
+      sources."autoprefixer-10.1.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
       sources."babel-extract-comments-1.0.0"
@@ -13657,10 +13489,8 @@ in
       sources."batch-0.6.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."big.js-5.2.2"
-      sources."binary-0.3.0"
-      sources."binary-extensions-2.1.0"
+      sources."binary-extensions-2.2.0"
       sources."bindings-1.5.0"
-      sources."binwrap-0.2.2"
       sources."bluebird-3.7.2"
       sources."bn.js-5.1.3"
       (sources."body-parser-1.19.0" // {
@@ -13691,41 +13521,43 @@ in
         ];
       })
       sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.14.7"
+      sources."browserslist-4.16.3"
       sources."buffer-4.9.2"
       sources."buffer-from-1.1.1"
       sources."buffer-indexof-1.1.1"
       sources."buffer-xor-1.0.3"
-      sources."buffers-0.1.1"
       sources."builtin-status-codes-3.0.0"
       sources."bytes-3.0.0"
       sources."cacache-12.0.4"
       sources."cache-base-1.0.1"
-      sources."call-bind-1.0.0"
+      sources."call-bind-1.0.2"
       sources."call-me-maybe-1.0.1"
       sources."caller-callsite-2.0.0"
       sources."caller-path-2.0.0"
       sources."callsites-2.0.0"
-      sources."camel-case-4.1.1"
+      sources."camel-case-4.1.2"
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001161"
+      sources."caniuse-lite-1.0.30001185"
       sources."case-sensitive-paths-webpack-plugin-2.3.0"
       sources."caseless-0.12.0"
-      sources."chainsaw-0.1.0"
       (sources."chalk-2.4.2" // {
         dependencies = [
           sources."escape-string-regexp-1.0.5"
         ];
       })
       sources."chardet-0.7.0"
-      (sources."chokidar-3.4.3" // {
+      (sources."chokidar-3.5.1" // {
         dependencies = [
           sources."glob-parent-5.1.1"
         ];
       })
       sources."chownr-1.1.4"
-      sources."chrome-trace-event-1.0.2"
+      (sources."chrome-trace-event-1.0.2" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
       sources."cipher-base-1.0.4"
       (sources."class-utils-0.3.6" // {
         dependencies = [
@@ -13750,10 +13582,12 @@ in
         ];
       })
       sources."cli-cursor-2.1.0"
-      sources."cli-table-0.3.1"
+      sources."cli-table-0.3.4"
       sources."cli-width-2.2.1"
       (sources."cliui-3.2.0" // {
         dependencies = [
+          sources."is-fullwidth-code-point-1.0.0"
+          sources."string-width-1.0.2"
           sources."strip-ansi-3.0.1"
         ];
       })
@@ -13765,7 +13599,7 @@ in
       sources."color-name-1.1.3"
       sources."color-string-1.5.4"
       sources."colorette-1.2.1"
-      sources."colors-1.0.3"
+      sources."colors-1.4.0"
       sources."combined-stream-1.0.8"
       sources."commander-4.1.1"
       sources."common-tags-1.8.0"
@@ -13802,7 +13636,7 @@ in
         ];
       })
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.8.0" // {
+      (sources."core-js-compat-3.8.3" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -13824,17 +13658,19 @@ in
         dependencies = [
           sources."camelcase-6.2.0"
           sources."loader-utils-2.0.0"
-          sources."semver-7.3.2"
+          sources."lru-cache-6.0.0"
+          sources."semver-7.3.4"
+          sources."yallist-4.0.0"
         ];
       })
-      sources."css-select-1.2.0"
+      sources."css-select-2.1.0"
       sources."css-select-base-adapter-0.1.1"
       (sources."css-tree-1.0.0-alpha.37" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
       })
-      sources."css-what-2.1.3"
+      sources."css-what-3.4.2"
       sources."cssesc-3.0.0"
       sources."cssnano-4.1.10"
       sources."cssnano-preset-default-4.0.7"
@@ -13852,7 +13688,7 @@ in
       sources."cycle-1.0.3"
       sources."cyclist-1.0.1"
       sources."dashdash-1.14.1"
-      sources."debug-4.3.1"
+      sources."debug-4.3.2"
       sources."decamelize-1.2.0"
       sources."decode-uri-component-0.2.0"
       sources."deep-equal-0.2.2"
@@ -13891,56 +13727,57 @@ in
       sources."dom-converter-0.2.0"
       (sources."dom-serializer-0.2.2" // {
         dependencies = [
-          sources."domelementtype-2.0.2"
+          sources."domelementtype-2.1.0"
         ];
       })
       sources."domain-browser-1.2.0"
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
-      sources."domutils-1.5.1"
-      sources."dot-case-3.0.3"
+      sources."domutils-1.7.0"
+      sources."dot-case-3.0.4"
       sources."dot-prop-5.3.0"
       sources."dotenv-8.2.0"
       sources."duplexer-0.1.2"
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.610"
-      (sources."elliptic-6.5.3" // {
+      sources."electron-to-chromium-1.3.657"
+      (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.11.9"
         ];
       })
-      sources."elm-0.19.1-3"
+      sources."elm-0.19.1-5"
       sources."elm-asset-webpack-loader-1.1.2"
-      sources."elm-hot-1.1.5"
+      sources."elm-hot-1.1.6"
       sources."elm-hot-webpack-loader-1.1.7"
-      (sources."elm-test-0.19.1-revision4" // {
+      (sources."elm-test-0.19.1-revision6" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
-          sources."chalk-3.0.0"
+          sources."chalk-4.1.0"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
-          sources."fs-extra-8.1.0"
+          sources."commander-7.0.0"
           sources."has-flag-4.0.0"
+          sources."rimraf-3.0.2"
           sources."supports-color-7.2.0"
         ];
       })
+      sources."elm-tooling-1.1.0"
       sources."elm-webpack-loader-6.0.1"
-      sources."elmi-to-json-1.3.0"
-      sources."emoji-regex-7.0.3"
+      sources."emoji-regex-8.0.0"
       sources."emojis-list-3.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
-      (sources."enhanced-resolve-4.3.0" // {
+      (sources."enhanced-resolve-4.5.0" // {
         dependencies = [
           sources."memory-fs-0.5.0"
         ];
       })
-      sources."entities-2.1.0"
-      sources."errno-0.1.7"
+      sources."entities-2.2.0"
+      sources."errno-0.1.8"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.18.0-next.1"
+      sources."es-abstract-1.18.0-next.2"
       sources."es-to-primitive-1.2.1"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
@@ -14067,24 +13904,24 @@ in
       sources."find-up-4.1.0"
       sources."firstline-1.3.1"
       sources."flush-write-stream-1.1.1"
-      sources."follow-redirects-1.13.0"
+      sources."follow-redirects-1.13.2"
       sources."for-in-1.0.2"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."forwarded-0.1.2"
+      sources."fraction.js-4.0.13"
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
       sources."from2-2.3.0"
       sources."fs-extra-6.0.1"
-      sources."fs-minipass-1.2.7"
       sources."fs-readdir-recursive-1.1.0"
       sources."fs-write-stream-atomic-1.0.10"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.1.3"
+      sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-1.0.3"
-      sources."get-intrinsic-1.0.1"
+      sources."get-intrinsic-1.1.1"
       sources."get-own-enumerable-property-symbols-3.0.2"
       sources."get-stream-4.1.0"
       sources."get-value-2.0.6"
@@ -14109,7 +13946,7 @@ in
           sources."slash-1.0.0"
         ];
       })
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.5"
       (sources."gzip-size-5.0.0" // {
         dependencies = [
           sources."pify-3.0.0"
@@ -14148,7 +13985,7 @@ in
       sources."hsl-regex-1.0.0"
       sources."hsla-regex-1.0.0"
       sources."html-comment-regex-1.1.2"
-      sources."html-entities-1.3.1"
+      sources."html-entities-1.4.0"
       sources."html-minifier-terser-5.1.1"
       sources."html-webpack-plugin-4.5.0"
       (sources."htmlparser2-3.10.1" // {
@@ -14163,7 +14000,7 @@ in
           sources."inherits-2.0.3"
         ];
       })
-      sources."http-parser-js-0.5.2"
+      sources."http-parser-js-0.5.3"
       sources."http-proxy-1.18.1"
       sources."http-proxy-middleware-0.21.0"
       sources."http-signature-1.2.0"
@@ -14190,7 +14027,7 @@ in
       sources."infer-owner-1.0.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."ini-1.3.5"
+      sources."ini-1.3.8"
       (sources."inquirer-6.2.0" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
@@ -14207,11 +14044,11 @@ in
       sources."ipaddr.js-1.9.1"
       sources."is-absolute-url-2.1.0"
       sources."is-accessor-descriptor-1.0.0"
-      sources."is-arguments-1.0.4"
+      sources."is-arguments-1.1.0"
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-2.1.0"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.2.2"
+      sources."is-callable-1.2.3"
       sources."is-color-stop-1.1.0"
       sources."is-core-module-2.2.0"
       sources."is-data-descriptor-1.0.0"
@@ -14220,9 +14057,9 @@ in
       sources."is-directory-0.3.1"
       sources."is-extendable-0.1.1"
       sources."is-extglob-2.1.1"
-      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.1"
-      sources."is-negative-zero-2.0.0"
+      sources."is-negative-zero-2.0.1"
       sources."is-number-7.0.0"
       sources."is-obj-2.0.0"
       sources."is-path-cwd-2.2.0"
@@ -14230,7 +14067,7 @@ in
       sources."is-path-inside-2.1.0"
       sources."is-plain-obj-1.1.0"
       sources."is-plain-object-2.0.4"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-regexp-1.0.0"
       sources."is-resolvable-1.1.0"
       sources."is-root-2.0.0"
@@ -14246,7 +14083,7 @@ in
       sources."isobject-3.0.1"
       sources."isstream-0.1.2"
       sources."js-tokens-4.0.0"
-      sources."js-yaml-3.14.0"
+      sources."js-yaml-3.14.1"
       sources."jsbn-0.1.1"
       sources."jsesc-2.5.2"
       sources."json-parse-better-errors-1.0.2"
@@ -14256,7 +14093,7 @@ in
       sources."json-stable-stringify-1.0.1"
       sources."json-stringify-safe-5.0.1"
       sources."json3-3.3.3"
-      sources."json5-2.1.3"
+      sources."json5-2.2.0"
       sources."jsonfile-4.0.0"
       sources."jsonify-0.0.0"
       sources."jsprim-1.4.1"
@@ -14286,7 +14123,7 @@ in
       sources."lodash.templatesettings-4.2.0"
       sources."lodash.uniq-4.5.0"
       sources."loglevel-1.7.1"
-      sources."lower-case-2.0.1"
+      sources."lower-case-2.0.2"
       sources."lru-cache-5.1.1"
       sources."make-dir-2.1.0"
       sources."map-cache-0.2.2"
@@ -14305,8 +14142,8 @@ in
         ];
       })
       sources."mime-1.6.0"
-      sources."mime-db-1.44.0"
-      sources."mime-types-2.1.27"
+      sources."mime-db-1.45.0"
+      sources."mime-types-2.1.28"
       sources."mimic-fn-1.2.0"
       (sources."mini-css-extract-plugin-0.12.0" // {
         dependencies = [
@@ -14317,8 +14154,6 @@ in
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
-      sources."minipass-2.9.0"
-      sources."minizlib-1.3.3"
       sources."mississippi-3.0.0"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
@@ -14330,17 +14165,15 @@ in
       sources."ms-2.1.2"
       sources."multicast-dns-6.2.3"
       sources."multicast-dns-service-types-1.1.0"
-      sources."murmur-hash-js-1.0.0"
-      sources."mustache-3.2.1"
       sources."mute-stream-0.0.8"
       sources."nan-2.14.2"
-      sources."nanoid-3.1.18"
+      sources."nanoid-3.1.20"
       sources."nanomatch-1.2.13"
       sources."ncp-1.0.1"
       sources."negotiator-0.6.2"
       sources."neo-async-2.6.2"
       sources."nice-try-1.0.5"
-      sources."no-case-3.0.3"
+      sources."no-case-3.0.4"
       (sources."node-elm-compiler-5.0.5" // {
         dependencies = [
           sources."cross-spawn-6.0.5"
@@ -14356,7 +14189,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-1.1.67"
+      sources."node-releases-1.1.70"
       sources."normalize-package-data-2.5.0"
       sources."normalize-path-3.0.0"
       sources."normalize-range-0.1.2"
@@ -14367,7 +14200,6 @@ in
         ];
       })
       sources."nth-check-1.0.2"
-      sources."num2fraction-1.2.2"
       sources."number-is-nan-1.0.1"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
@@ -14384,7 +14216,7 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."object-inspect-1.8.0"
+      sources."object-inspect-1.9.0"
       sources."object-is-1.1.4"
       sources."object-keys-1.1.1"
       sources."object-visit-1.0.1"
@@ -14412,7 +14244,7 @@ in
       sources."p-try-2.2.0"
       sources."pako-1.0.11"
       sources."parallel-transform-1.2.0"
-      sources."param-case-3.0.3"
+      sources."param-case-3.0.4"
       (sources."parent-module-1.0.1" // {
         dependencies = [
           sources."callsites-3.1.0"
@@ -14422,7 +14254,7 @@ in
       sources."parse-json-4.0.0"
       sources."parse-passwd-1.0.0"
       sources."parseurl-1.3.3"
-      sources."pascal-case-3.1.1"
+      sources."pascal-case-3.1.2"
       sources."pascalcase-0.1.1"
       sources."path-browserify-0.0.1"
       sources."path-dirname-1.0.2"
@@ -14488,13 +14320,15 @@ in
       (sources."postcss-loader-4.1.0" // {
         dependencies = [
           sources."cosmiconfig-7.0.0"
-          sources."import-fresh-3.2.2"
+          sources."import-fresh-3.3.0"
           sources."loader-utils-2.0.0"
-          sources."parse-json-5.1.0"
+          sources."lru-cache-6.0.0"
+          sources."parse-json-5.2.0"
           sources."path-type-4.0.0"
           sources."resolve-from-4.0.0"
           sources."schema-utils-3.0.0"
-          sources."semver-7.3.2"
+          sources."semver-7.3.4"
+          sources."yallist-4.0.0"
         ];
       })
       (sources."postcss-merge-longhand-4.0.11" // {
@@ -14586,7 +14420,7 @@ in
       })
       (sources."postcss-safe-parser-5.0.2" // {
         dependencies = [
-          sources."postcss-8.1.10"
+          sources."postcss-8.2.4"
           sources."source-map-0.6.1"
         ];
       })
@@ -14599,17 +14433,13 @@ in
       sources."postcss-unique-selectors-4.0.1"
       sources."postcss-value-parser-4.1.0"
       sources."prepend-http-1.0.4"
-      sources."pretty-bytes-5.4.1"
+      sources."pretty-bytes-5.5.0"
       sources."pretty-error-2.1.2"
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
       sources."promise-8.1.0"
       sources."promise-inflight-1.0.1"
-      (sources."prompt-1.0.0" // {
-        dependencies = [
-          sources."colors-1.4.0"
-        ];
-      })
+      sources."prompt-1.0.0"
       sources."proxy-addr-2.0.6"
       sources."prr-1.0.1"
       sources."pseudomap-1.0.2"
@@ -14692,21 +14522,17 @@ in
       sources."regenerator-runtime-0.13.7"
       sources."regenerator-transform-0.14.5"
       sources."regex-not-1.0.2"
-      (sources."regexp.prototype.flags-1.3.0" // {
-        dependencies = [
-          sources."es-abstract-1.17.7"
-        ];
-      })
+      sources."regexp.prototype.flags-1.3.1"
       sources."regexpu-core-4.7.1"
       sources."regjsgen-0.5.2"
-      (sources."regjsparser-0.6.4" // {
+      (sources."regjsparser-0.6.7" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
       })
       sources."relateurl-0.2.7"
       sources."remove-trailing-separator-1.1.0"
-      (sources."renderkid-2.0.4" // {
+      (sources."renderkid-2.0.5" // {
         dependencies = [
           sources."strip-ansi-3.0.1"
         ];
@@ -14714,8 +14540,6 @@ in
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
       sources."request-2.88.2"
-      sources."request-promise-4.2.6"
-      sources."request-promise-core-1.1.4"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
       sources."requires-port-1.0.0"
@@ -14734,7 +14558,11 @@ in
       sources."ripemd160-2.0.2"
       sources."run-async-2.4.1"
       sources."run-queue-1.0.3"
-      sources."rxjs-6.6.3"
+      (sources."rxjs-6.6.3" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
@@ -14834,7 +14662,7 @@ in
           sources."source-map-0.6.1"
         ];
       })
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
@@ -14870,18 +14698,13 @@ in
         ];
       })
       sources."statuses-1.5.0"
-      sources."stealthy-require-1.1.1"
       sources."stream-browserify-2.0.2"
       sources."stream-each-1.2.3"
       sources."stream-http-2.8.3"
       sources."stream-shift-1.0.1"
       sources."strict-uri-encode-1.1.0"
       sources."string-replace-loader-2.3.0"
-      (sources."string-width-1.0.2" // {
-        dependencies = [
-          sources."strip-ansi-3.0.1"
-        ];
-      })
+      sources."string-width-4.2.0"
       sources."string.prototype.trimend-1.0.3"
       sources."string.prototype.trimstart-1.0.3"
       sources."string_decoder-1.1.1"
@@ -14909,15 +14732,8 @@ in
         ];
       })
       sources."supports-color-5.5.0"
-      (sources."svgo-1.3.2" // {
-        dependencies = [
-          sources."css-select-2.1.0"
-          sources."css-what-3.4.2"
-          sources."domutils-1.7.0"
-        ];
-      })
+      sources."svgo-1.3.2"
       sources."tapable-1.1.3"
-      sources."tar-4.4.13"
       (sources."temp-0.9.4" // {
         dependencies = [
           sources."rimraf-2.6.3"
@@ -14959,8 +14775,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.0"
       sources."tough-cookie-2.5.0"
-      sources."traverse-0.3.9"
-      sources."tslib-1.14.1"
+      sources."tslib-2.1.0"
       sources."tty-browserify-0.0.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
@@ -15017,9 +14832,8 @@ in
           sources."has-values-0.1.4"
         ];
       })
-      sources."unzip-stream-0.3.1"
       sources."upath-1.2.0"
-      sources."uri-js-4.4.0"
+      sources."uri-js-4.4.1"
       sources."urix-0.1.0"
       (sources."url-0.11.0" // {
         dependencies = [
@@ -15049,7 +14863,6 @@ in
       sources."vary-1.1.2"
       sources."vendors-1.0.4"
       sources."verror-1.10.0"
-      sources."vfile-location-3.2.0"
       sources."vm-browserify-1.1.2"
       sources."watchpack-1.7.5"
       (sources."watchpack-chokidar2-2.0.1" // {
@@ -15083,9 +14896,9 @@ in
           sources."to-regex-range-2.1.1"
         ];
       })
-      (sources."webpack-dev-middleware-3.7.2" // {
+      (sources."webpack-dev-middleware-3.7.3" // {
         dependencies = [
-          sources."mime-2.4.6"
+          sources."mime-2.5.0"
         ];
       })
       (sources."webpack-dev-server-3.11.0" // {
@@ -15100,6 +14913,7 @@ in
               sources."strip-ansi-5.2.0"
             ];
           })
+          sources."emoji-regex-7.0.3"
           sources."extend-shallow-2.0.1"
           sources."fill-range-4.0.0"
           sources."find-up-3.0.0"
@@ -15158,6 +14972,7 @@ in
       (sources."winston-2.1.1" // {
         dependencies = [
           sources."async-1.0.0"
+          sources."colors-1.0.3"
           sources."pkginfo-0.3.1"
         ];
       })
@@ -15184,6 +14999,8 @@ in
       sources."worker-farm-1.7.0"
       (sources."wrap-ansi-2.1.0" // {
         dependencies = [
+          sources."is-fullwidth-code-point-1.0.0"
+          sources."string-width-1.0.2"
           sources."strip-ansi-3.0.1"
         ];
       })
@@ -15191,13 +15008,16 @@ in
       sources."ws-6.2.1"
       sources."xmlbuilder-15.1.1"
       sources."xtend-4.0.2"
-      sources."y18n-4.0.0"
+      sources."y18n-4.0.1"
       sources."yallist-3.1.1"
       sources."yaml-1.10.0"
       (sources."yargs-6.6.0" // {
         dependencies = [
           sources."camelcase-3.0.0"
-          sources."y18n-3.2.1"
+          sources."is-fullwidth-code-point-1.0.0"
+          sources."string-width-1.0.2"
+          sources."strip-ansi-3.0.1"
+          sources."y18n-3.2.2"
         ];
       })
       (sources."yargs-parser-4.2.1" // {
@@ -15231,7 +15051,7 @@ in
       sources."chalk-4.1.0"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."commander-6.2.0"
+      sources."commander-6.2.1"
       sources."concat-map-0.0.1"
       sources."cross-spawn-6.0.5"
       sources."find-elm-dependencies-2.0.4"
@@ -15275,10 +15095,10 @@ in
   elm-review = nodeEnv.buildNodePackage {
     name = "elm-review";
     packageName = "elm-review";
-    version = "2.3.3";
+    version = "2.4.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-review/-/elm-review-2.3.3.tgz";
-      sha512 = "1TiTnEXzpzACrc/JdB3tvmgNf5Qd0RyX8wbBqPPuc1aWvHHvPf6wi/ncz1gcILFAObr1zquCePkJkoW0uoZiBA==";
+      url = "https://registry.npmjs.org/elm-review/-/elm-review-2.4.1.tgz";
+      sha512 = "2nirbEpOvOCgVylf5l6mtu+IqM//8kBeuj6zELPHmzWtn7heZTC0AS7fUtLVtnkgw9Cws8oh4tFLmHgVALE+dw==";
     };
     dependencies = [
       sources."@sindresorhus/is-2.1.1"
@@ -15286,9 +15106,8 @@ in
       sources."@types/cacheable-request-6.0.1"
       sources."@types/http-cache-semantics-4.0.0"
       sources."@types/keyv-3.1.1"
-      sources."@types/node-14.14.10"
+      sources."@types/node-14.14.25"
       sources."@types/responselike-1.0.0"
-      sources."ajv-6.12.6"
       (sources."ansi-escapes-4.3.1" // {
         dependencies = [
           sources."type-fest-0.11.0"
@@ -15297,28 +15116,15 @@ in
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-4.3.0"
       sources."anymatch-3.1.1"
-      sources."asn1-0.2.4"
-      sources."assert-plus-1.0.0"
-      sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
-      sources."aws-sign2-0.7.0"
-      sources."aws4-1.11.0"
       sources."balanced-match-1.0.0"
-      sources."bcrypt-pbkdf-1.0.2"
-      sources."binary-0.3.0"
-      sources."binary-extensions-2.1.0"
-      sources."binwrap-0.2.2"
-      sources."bluebird-3.7.2"
+      sources."binary-extensions-2.2.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."buffers-0.1.1"
       sources."cacheable-lookup-2.0.1"
       sources."cacheable-request-7.0.1"
-      sources."caseless-0.12.0"
-      sources."chainsaw-0.1.0"
       sources."chalk-4.1.0"
-      sources."chokidar-3.4.3"
-      sources."chownr-1.1.4"
+      sources."chokidar-3.5.1"
       sources."cli-cursor-3.1.0"
       sources."cli-spinners-2.5.0"
       sources."clone-1.0.4"
@@ -15329,54 +15135,30 @@ in
       })
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."combined-stream-1.0.8"
       sources."concat-map-0.0.1"
-      sources."core-util-is-1.0.2"
       sources."cross-spawn-7.0.3"
-      (sources."cross-spawn-promise-0.10.2" // {
-        dependencies = [
-          sources."cross-spawn-5.1.0"
-          sources."shebang-command-1.2.0"
-          sources."shebang-regex-1.0.0"
-          sources."which-1.3.1"
-        ];
-      })
-      sources."dashdash-1.14.1"
-      sources."debug-4.3.1"
+      sources."debug-4.3.2"
       sources."decompress-response-5.0.0"
       sources."defaults-1.0.3"
       sources."defer-to-connect-2.0.0"
-      sources."delayed-stream-1.0.0"
       sources."duplexer3-0.1.4"
-      sources."ecc-jsbn-0.1.2"
-      sources."elm-json-0.2.8"
+      sources."elm-tooling-1.1.0"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."escape-string-regexp-1.0.5"
-      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."fill-range-7.0.1"
       sources."find-up-4.1.0"
       sources."folder-hash-3.3.3"
-      sources."forever-agent-0.6.1"
-      sources."form-data-2.3.3"
-      sources."fs-extra-9.0.1"
-      sources."fs-minipass-1.2.7"
+      sources."fs-extra-9.1.0"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.1.3"
+      sources."fsevents-2.3.2"
       sources."get-stream-5.2.0"
-      sources."getpass-0.1.7"
       sources."glob-7.1.6"
       sources."glob-parent-5.1.1"
       sources."got-10.7.0"
-      sources."graceful-fs-4.2.4"
-      sources."har-schema-2.0.0"
-      sources."har-validator-5.1.5"
+      sources."graceful-fs-4.2.5"
       sources."has-flag-4.0.0"
       sources."http-cache-semantics-4.1.0"
-      sources."http-signature-1.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."is-binary-path-2.1.0"
@@ -15385,24 +15167,12 @@ in
       sources."is-glob-4.0.1"
       sources."is-interactive-1.0.0"
       sources."is-number-7.0.0"
-      sources."is-typedarray-1.0.0"
       sources."isexe-2.0.0"
-      sources."isstream-0.1.2"
-      sources."jsbn-0.1.1"
       sources."json-buffer-3.0.1"
-      sources."json-schema-0.2.3"
-      sources."json-schema-traverse-0.4.1"
-      sources."json-stringify-safe-5.0.1"
-      (sources."jsonfile-6.1.0" // {
-        dependencies = [
-          sources."universalify-2.0.0"
-        ];
-      })
-      sources."jsprim-1.4.1"
+      sources."jsonfile-6.1.0"
       sources."keyv-4.0.3"
       sources."kleur-3.0.3"
       sources."locate-path-5.0.0"
-      sources."lodash-4.17.20"
       (sources."log-symbols-3.0.0" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -15414,26 +15184,15 @@ in
         ];
       })
       sources."lowercase-keys-2.0.0"
-      sources."lru-cache-4.1.5"
-      sources."mime-db-1.44.0"
-      sources."mime-types-2.1.27"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-2.1.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
-      (sources."minipass-2.9.0" // {
-        dependencies = [
-          sources."yallist-3.1.1"
-        ];
-      })
-      sources."minizlib-1.3.3"
       sources."mkdirp-0.5.5"
       sources."ms-2.1.2"
-      sources."mustache-3.2.1"
       sources."mute-stream-0.0.8"
       sources."normalize-path-3.0.0"
       sources."normalize-url-4.5.0"
-      sources."oauth-sign-0.9.0"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
       (sources."ora-4.1.1" // {
@@ -15451,57 +15210,31 @@ in
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-3.1.1"
-      sources."performance-now-2.1.0"
       sources."picomatch-2.2.2"
       sources."prompts-2.4.0"
-      sources."pseudomap-1.0.2"
-      sources."psl-1.8.0"
       sources."pump-3.0.0"
-      sources."punycode-2.1.1"
-      sources."qs-6.5.2"
       sources."readdirp-3.5.0"
-      sources."request-2.88.2"
-      sources."request-promise-4.2.6"
-      sources."request-promise-core-1.1.4"
       sources."responselike-2.0.0"
       sources."restore-cursor-3.1.0"
       sources."rimraf-2.6.3"
-      sources."safe-buffer-5.2.1"
-      sources."safer-buffer-2.1.2"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."signal-exit-3.0.3"
       sources."sisteransi-1.0.5"
-      sources."sshpk-1.16.1"
-      sources."stealthy-require-1.1.1"
       sources."string-width-4.2.0"
       sources."strip-ansi-6.0.0"
       sources."supports-color-7.2.0"
       sources."supports-hyperlinks-2.1.0"
-      (sources."tar-4.4.13" // {
-        dependencies = [
-          sources."yallist-3.1.1"
-        ];
-      })
       sources."temp-0.9.4"
       sources."terminal-link-2.1.1"
       sources."to-readable-stream-2.1.0"
       sources."to-regex-range-5.0.1"
-      sources."tough-cookie-2.5.0"
-      sources."traverse-0.3.9"
-      sources."tunnel-agent-0.6.0"
-      sources."tweetnacl-0.14.5"
       sources."type-fest-0.10.0"
-      sources."universalify-1.0.0"
-      sources."unzip-stream-0.3.1"
-      sources."uri-js-4.4.0"
-      sources."uuid-3.4.0"
-      sources."verror-1.10.0"
+      sources."universalify-2.0.0"
       sources."wcwidth-1.0.1"
       sources."which-2.0.2"
       sources."wrap-ansi-6.2.0"
       sources."wrappy-1.0.2"
-      sources."yallist-2.1.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
diff --git a/pkgs/development/compilers/factor-lang/default.nix b/pkgs/development/compilers/factor-lang/default.nix
index fc5f478177cb4..2c9999ccdb490 100644
--- a/pkgs/development/compilers/factor-lang/default.nix
+++ b/pkgs/development/compilers/factor-lang/default.nix
@@ -19,7 +19,8 @@ stdenv.mkDerivation rec {
     ./fuel-dir.patch
   ];
 
-  buildInputs = with xorg; [ git rlwrap curl pkg-config perl makeWrapper
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = with xorg; [ git rlwrap curl pkg-config perl
     libX11 pango cairo gtk2 gdk-pixbuf gtkglext
     mesa libXmu libXt libICE libSM openssl unzip ];
 
diff --git a/pkgs/development/compilers/fasm/bin.nix b/pkgs/development/compilers/fasm/bin.nix
index 8013b443162c8..daadebf4c4dcc 100644
--- a/pkgs/development/compilers/fasm/bin.nix
+++ b/pkgs/development/compilers/fasm/bin.nix
@@ -3,11 +3,11 @@
 stdenvNoCC.mkDerivation rec {
   pname = "fasm-bin";
 
-  version = "1.73.25";
+  version = "1.73.27";
 
   src = fetchurl {
     url = "https://flatassembler.net/fasm-${version}.tgz";
-    sha256 = "0k3h61mfwslyb34kf4dnapfwl8jxlmrp4dv666wc057hkj047knn";
+    sha256 = "sha256-aAFIN3+207ZmOFKID6oDUU1zJrWZV0LTOofiRPSM8LE=";
   };
 
   installPhase = ''
diff --git a/pkgs/development/compilers/flasm/default.nix b/pkgs/development/compilers/flasm/default.nix
index 4257feb87b992..9423f5e15df9c 100644
--- a/pkgs/development/compilers/flasm/default.nix
+++ b/pkgs/development/compilers/flasm/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     stripRoot = false;
   };
 
-  makeFlags = [ "CC=cc" ];
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
   nativeBuildInputs = [ unzip bison flex gperf ];
 
diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix
index 8cac4a18fbeaa..4a7aa0d01463a 100644
--- a/pkgs/development/compilers/flutter/flutter.nix
+++ b/pkgs/development/compilers/flutter/flutter.nix
@@ -25,6 +25,10 @@
 , libXcursor
 , libXdamage
 , libXfixes
+, libXrender
+, libXtst
+, libXi
+, libXext
 , libGL
 , nspr
 , nss
@@ -114,7 +118,11 @@ let
         libXcomposite
         libXcursor
         libXdamage
+        libXext
         libXfixes
+        libXi
+        libXrender
+        libXtst
         libGL
         nspr
         nss
diff --git a/pkgs/development/compilers/fpc/lazarus.nix b/pkgs/development/compilers/fpc/lazarus.nix
index 0b7ac647529dd..5cd0609960dfd 100644
--- a/pkgs/development/compilers/fpc/lazarus.nix
+++ b/pkgs/development/compilers/fpc/lazarus.nix
@@ -9,7 +9,7 @@
 #  1. the build date is embedded in the binary through `$I %DATE%` - we should dump that
 
 let
-  version = "2.0.10-2";
+  version = "2.0.12";
 
   # as of 2.0.10 a suffix is being added. That may or may not disappear and then
   # come back, so just leave this here.
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/lazarus/Lazarus%20Zip%20_%20GZip/Lazarus%20${majorMinorPatch version}/lazarus-${version}.tar.gz";
-    sha256 = "sha256-ZNViZGjdJKMzKyBfOr0KWBq33hsGCi1X4hhkBmz9Q7c=";
+    sha256 = "sha256-umzvf4I6LSgWYimYLvySYDnUIxPEDiL+DGd2wT0AFbI=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/compilers/gcc/10/default.nix b/pkgs/development/compilers/gcc/10/default.nix
index 07b0921ec1841..1502b09cca6a8 100644
--- a/pkgs/development/compilers/gcc/10/default.nix
+++ b/pkgs/development/compilers/gcc/10/default.nix
@@ -181,7 +181,7 @@ stdenv.mkDerivation ({
 
   preConfigure = import ../common/pre-configure.nix {
     inherit lib;
-    inherit version hostPlatform gnatboot langAda langGo;
+    inherit version hostPlatform gnatboot langAda langGo langJit;
   };
 
   dontDisableStatic = true;
diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix
index fa7881e398a87..93c9dde61fc34 100644
--- a/pkgs/development/compilers/gcc/6/default.nix
+++ b/pkgs/development/compilers/gcc/6/default.nix
@@ -78,7 +78,11 @@ let majorVersion = "6";
       ++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch
 
       # Obtain latest patch with ../update-mcfgthread-patches.sh
-      ++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch;
+      ++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch
+      ++ optional (targetPlatform.libc == "musl" && targetPlatform.isx86_32) (fetchpatch {
+        url = "https://git.alpinelinux.org/aports/plain/main/gcc/gcc-6.1-musl-libssp.patch?id=5e4b96e23871ee28ef593b439f8c07ca7c7eb5bb";
+        sha256 = "1jf1ciz4gr49lwyh8knfhw6l5gvfkwzjy90m7qiwkcbsf4a3fqn2";
+      });
 
     javaEcj = fetchurl {
       # The `$(top_srcdir)/ecj.jar' file is automatically picked up at
diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix
index 2ea9033ba63ae..d9b4c639b5abc 100644
--- a/pkgs/development/compilers/gcc/7/default.nix
+++ b/pkgs/development/compilers/gcc/7/default.nix
@@ -72,6 +72,10 @@ let majorVersion = "7";
       })
       ++ optional langFortran ../gfortran-driving.patch
       ++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch
+      ++ optional (targetPlatform.libc == "musl" && targetPlatform.isx86_32) (fetchpatch {
+        url = "https://git.alpinelinux.org/aports/plain/main/gcc/gcc-6.1-musl-libssp.patch?id=5e4b96e23871ee28ef593b439f8c07ca7c7eb5bb";
+        sha256 = "1jf1ciz4gr49lwyh8knfhw6l5gvfkwzjy90m7qiwkcbsf4a3fqn2";
+      })
       ++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch
 
       # Obtain latest patch with ../update-mcfgthread-patches.sh
diff --git a/pkgs/development/compilers/gcc/common/configure-flags.nix b/pkgs/development/compilers/gcc/common/configure-flags.nix
index 4bdec26fd993f..f7ec7b6ee2d9c 100644
--- a/pkgs/development/compilers/gcc/common/configure-flags.nix
+++ b/pkgs/development/compilers/gcc/common/configure-flags.nix
@@ -94,9 +94,6 @@ let
       # In uclibc cases, libgomp needs an additional '-ldl'
       # and as I don't know how to pass it, I disable libgomp.
       "--disable-libgomp"
-    ] ++ lib.optionals (targetPlatform.libc == "musl") [
-      # musl at least, disable: https://git.buildroot.net/buildroot/commit/?id=873d4019f7fb00f6a80592224236b3ba7d657865
-      "--disable-libmpx"
     ] ++ lib.optional (targetPlatform.libc == "newlib") "--with-newlib"
       ++ lib.optional (targetPlatform.libc == "avrlibc") "--with-avrlibc"
     );
@@ -147,6 +144,10 @@ let
       (lib.enableFeature enablePlugin "plugin")
     ]
 
+    # Support -m32 on powerpc64le
+    ++ lib.optional (targetPlatform.system == "powerpc64le-linux")
+      "--enable-targets=powerpcle-linux"
+
     # Optional features
     ++ lib.optional (isl != null) "--with-isl=${isl}"
     ++ lib.optionals (cloog != null) [
@@ -181,6 +182,9 @@ let
       # On Illumos/Solaris GNU as is preferred
       "--with-gnu-as" "--without-gnu-ld"
     ]
+    ++ lib.optional (targetPlatform.libc == "musl")
+      # musl at least, disable: https://git.buildroot.net/buildroot/commit/?id=873d4019f7fb00f6a80592224236b3ba7d657865
+      "--disable-libmpx"
     ++ lib.optionals (targetPlatform == hostPlatform && targetPlatform.libc == "musl") [
       "--disable-libsanitizer"
       "--disable-symvers"
diff --git a/pkgs/development/compilers/ghc/8.10.1.nix b/pkgs/development/compilers/ghc/8.10.1.nix
index 661dd5cb0026e..83604630545e3 100644
--- a/pkgs/development/compilers/ghc/8.10.1.nix
+++ b/pkgs/development/compilers/ghc/8.10.1.nix
@@ -116,6 +116,16 @@ stdenv.mkDerivation (rec {
 
   outputs = [ "out" "doc" ];
 
+  patches = [
+    # See upstream patch at
+    # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
+    # from source distributions, the auto-generated configure script needs to be
+    # patched as well, therefore we use an in-tree patch instead of pulling the
+    # upstream patch. Don't forget to check backport status of the upstream patch
+    # when adding new GHC releases in nixpkgs.
+    ./respect-ar-path.patch
+  ];
+
   postPatch = "patchShebangs .";
 
   # GHC is a bit confused on its cross terminology.
diff --git a/pkgs/development/compilers/ghc/8.10.2.nix b/pkgs/development/compilers/ghc/8.10.2.nix
index 6e194b68faa26..a42dfce6468af 100644
--- a/pkgs/development/compilers/ghc/8.10.2.nix
+++ b/pkgs/development/compilers/ghc/8.10.2.nix
@@ -107,8 +107,16 @@ stdenv.mkDerivation (rec {
 
   outputs = [ "out" "doc" ];
 
-  # https://gitlab.haskell.org/ghc/ghc/-/issues/18549
   patches = [
+    # See upstream patch at
+    # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
+    # from source distributions, the auto-generated configure script needs to be
+    # patched as well, therefore we use an in-tree patch instead of pulling the
+    # upstream patch. Don't forget to check backport status of the upstream patch
+    # when adding new GHC releases in nixpkgs.
+    ./respect-ar-path.patch
+
+    # https://gitlab.haskell.org/ghc/ghc/-/issues/18549
     ./issue-18549.patch
   ] ++ lib.optionals stdenv.isDarwin [
     # Make Block.h compile with c++ compilers. Remove with the next release
diff --git a/pkgs/development/compilers/ghc/8.10.3.nix b/pkgs/development/compilers/ghc/8.10.3.nix
index 582817cca070b..fe160259f2b31 100644
--- a/pkgs/development/compilers/ghc/8.10.3.nix
+++ b/pkgs/development/compilers/ghc/8.10.3.nix
@@ -107,7 +107,15 @@ stdenv.mkDerivation (rec {
 
   outputs = [ "out" "doc" ];
 
-  patches = lib.optionals stdenv.isDarwin [
+  patches = [
+    # See upstream patch at
+    # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
+    # from source distributions, the auto-generated configure script needs to be
+    # patched as well, therefore we use an in-tree patch instead of pulling the
+    # upstream patch. Don't forget to check backport status of the upstream patch
+    # when adding new GHC releases in nixpkgs.
+    ./respect-ar-path.patch
+  ] ++ lib.optionals stdenv.isDarwin [
     # Make Block.h compile with c++ compilers. Remove with the next release
     (fetchpatch {
       url = "https://gitlab.haskell.org/ghc/ghc/-/commit/97d0b0a367e4c6a52a17c3299439ac7de129da24.patch";
diff --git a/pkgs/development/compilers/ghc/8.10.4.nix b/pkgs/development/compilers/ghc/8.10.4.nix
new file mode 100644
index 0000000000000..075e9bf9d5480
--- /dev/null
+++ b/pkgs/development/compilers/ghc/8.10.4.nix
@@ -0,0 +1,264 @@
+{ lib, stdenv, pkgsBuildTarget, targetPackages
+
+# build-tools
+, bootPkgs
+, autoconf, automake, coreutils, fetchpatch, fetchurl, perl, python3, m4, sphinx
+, bash
+
+, libiconv ? null, ncurses
+
+, # GHC can be built with system libffi or a bundled one.
+  libffi ? null
+
+, useLLVM ? !stdenv.targetPlatform.isx86
+, # LLVM is conceptually a run-time-only depedendency, but for
+  # non-x86, we need LLVM to bootstrap later stages, so it becomes a
+  # build-time dependency too.
+  buildLlvmPackages, llvmPackages
+
+, # If enabled, GHC will be built with the GPL-free but slower integer-simple
+  # library instead of the faster but GPLed integer-gmp library.
+  enableIntegerSimple ? !(lib.any (lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
+
+, # If enabled, use -fPIC when compiling static libs.
+  enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
+
+  # aarch64 outputs otherwise exceed 2GB limit
+, enableProfiledLibs ? !stdenv.targetPlatform.isAarch64
+
+, # Whether to build dynamic libs for the standard library (on the target
+  # platform). Static libs are always built.
+  enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
+
+, # Whether to build terminfo.
+  enableTerminfo ? !stdenv.targetPlatform.isWindows
+
+, # What flavour to build. An empty string indicates no
+  # specific flavour and falls back to ghc default values.
+  ghcFlavour ? lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
+    (if useLLVM then "perf-cross" else "perf-cross-ncg")
+
+, # Whether to disable the large address space allocator
+  # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
+  disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
+}:
+
+assert !enableIntegerSimple -> gmp != null;
+
+let
+  inherit (stdenv) buildPlatform hostPlatform targetPlatform;
+
+  inherit (bootPkgs) ghc;
+
+  # TODO(@Ericson2314) Make unconditional
+  targetPrefix = lib.optionalString
+    (targetPlatform != hostPlatform)
+    "${targetPlatform.config}-";
+
+  buildMK = ''
+    BuildFlavour = ${ghcFlavour}
+    ifneq \"\$(BuildFlavour)\" \"\"
+    include mk/flavours/\$(BuildFlavour).mk
+    endif
+    DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
+    INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
+  '' + lib.optionalString (targetPlatform != hostPlatform) ''
+    Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
+    CrossCompilePrefix = ${targetPrefix}
+    HADDOCK_DOCS = NO
+    BUILD_SPHINX_HTML = NO
+    BUILD_SPHINX_PDF = NO
+  '' + lib.optionalString (!enableProfiledLibs) ''
+    GhcLibWays = "v dyn"
+  '' + lib.optionalString enableRelocatedStaticLibs ''
+    GhcLibHcOpts += -fPIC
+    GhcRtsHcOpts += -fPIC
+  '' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
+    EXTRA_CC_OPTS += -std=gnu99
+  '';
+
+  # Splicer will pull out correct variations
+  libDeps = platform: lib.optional enableTerminfo ncurses
+    ++ [libffi]
+    ++ lib.optional (!enableIntegerSimple) gmp
+    ++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
+
+  toolsForTarget = [
+    pkgsBuildTarget.targetPackages.stdenv.cc
+  ] ++ lib.optional useLLVM buildLlvmPackages.llvm;
+
+  targetCC = builtins.head toolsForTarget;
+
+  # ld.gold is disabled for musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
+  # see #84670 and #49071 for more background.
+  useLdGold = targetPlatform.isLinux && !(targetPlatform.useLLVM or false) && !targetPlatform.isMusl;
+
+in
+stdenv.mkDerivation (rec {
+  version = "8.10.4";
+  name = "${targetPrefix}ghc-${version}";
+
+  src = fetchurl {
+    url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
+    sha256 = "03li4k10hxgyxcdyyz2092wx09spr1599hi0sxbh4m889qdqgbsj";
+  };
+
+  enableParallelBuilding = true;
+
+  outputs = [ "out" "doc" ];
+
+  patches = [
+    # See upstream patch at
+    # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
+    # from source distributions, the auto-generated configure script needs to be
+    # patched as well, therefore we use an in-tree patch instead of pulling the
+    # upstream patch. Don't forget to check backport status of the upstream patch
+    # when adding new GHC releases in nixpkgs.
+    ./respect-ar-path.patch
+  ] ++ lib.optionals stdenv.isDarwin [
+    # Make Block.h compile with c++ compilers. Remove with the next release
+    (fetchpatch {
+      url = "https://gitlab.haskell.org/ghc/ghc/-/commit/97d0b0a367e4c6a52a17c3299439ac7de129da24.patch";
+      sha256 = "0r4zjj0bv1x1m2dgxp3adsf2xkr94fjnyj1igsivd9ilbs5ja0b5";
+    })
+  ];
+
+  postPatch = "patchShebangs .";
+
+  # GHC is a bit confused on its cross terminology.
+  preConfigure = ''
+    for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
+      export "''${env#TARGET_}=''${!env}"
+    done
+    # GHC is a bit confused on its cross terminology, as these would normally be
+    # the *host* tools.
+    export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
+    export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
+    # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}"
+    export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
+    export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
+    export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
+    export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
+    export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
+    export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
+
+    echo -n "${buildMK}" > mk/build.mk
+    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
+  '' + lib.optionalString (!stdenv.isDarwin) ''
+    export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
+  '' + lib.optionalString stdenv.isDarwin ''
+    export NIX_LDFLAGS+=" -no_dtrace_dof"
+  '' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
+    sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
+  '' + lib.optionalString targetPlatform.isMusl ''
+      echo "patching llvm-targets for musl targets..."
+      echo "Cloning these existing '*-linux-gnu*' targets:"
+      grep linux-gnu llvm-targets | sed 's/^/  /'
+      echo "(go go gadget sed)"
+      sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
+      echo "llvm-targets now contains these '*-linux-musl*' targets:"
+      grep linux-musl llvm-targets | sed 's/^/  /'
+
+      echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
+      # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
+      for x in configure aclocal.m4; do
+        substituteInPlace $x \
+          --replace '*-android*|*-gnueabi*)' \
+                    '*-android*|*-gnueabi*|*-musleabi*)'
+      done
+  '';
+
+  # TODO(@Ericson2314): Always pass "--target" and always prefix.
+  configurePlatforms = [ "build" "host" ]
+    ++ lib.optional (targetPlatform != hostPlatform) "target";
+
+  # `--with` flags for libraries needed for RTS linker
+  configureFlags = [
+    "--datadir=$doc/share/doc/ghc"
+    "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
+  ] ++ lib.optionals (libffi != null) [
+    "--with-system-libffi"
+    "--with-ffi-includes=${targetPackages.libffi.dev}/include"
+    "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
+  ] ++ lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
+    "--with-gmp-includes=${targetPackages.gmp.dev}/include"
+    "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
+  ] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
+    "--with-iconv-includes=${libiconv}/include"
+    "--with-iconv-libraries=${libiconv}/lib"
+  ] ++ lib.optionals (targetPlatform != hostPlatform) [
+    "--enable-bootstrap-with-devel-snapshot"
+  ] ++ lib.optionals useLdGold [
+    "CFLAGS=-fuse-ld=gold"
+    "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
+    "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
+  ] ++ lib.optionals (disableLargeAddressSpace) [
+    "--disable-large-address-space"
+  ];
+
+  # Make sure we never relax`$PATH` and hooks support for compatibility.
+  strictDeps = true;
+
+  # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
+  dontAddExtraLibs = true;
+
+  nativeBuildInputs = [
+    perl autoconf automake m4 python3 sphinx
+    ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
+  ];
+
+  # For building runtime libs
+  depsBuildTarget = toolsForTarget;
+
+  buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
+
+  propagatedBuildInputs = [ targetPackages.stdenv.cc ]
+    ++ lib.optional useLLVM llvmPackages.llvm;
+
+  depsTargetTarget = map lib.getDev (libDeps targetPlatform);
+  depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
+
+  # required, because otherwise all symbols from HSffi.o are stripped, and
+  # that in turn causes GHCi to abort
+  stripDebugFlags = [ "-S" ] ++ lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
+
+  checkTarget = "test";
+
+  hardeningDisable = [ "format" ] ++ lib.optional stdenv.targetPlatform.isMusl "pie";
+
+  postInstall = ''
+    # Install the bash completion file.
+    install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
+
+    # Patch scripts to include "readelf" and "cat" in $PATH.
+    for i in "$out/bin/"*; do
+      test ! -h $i || continue
+      egrep --quiet '^#!' <(head -n 1 $i) || continue
+      sed -i -e '2i export PATH="$PATH:${lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
+    done
+  '';
+
+  passthru = {
+    inherit bootPkgs targetPrefix;
+
+    inherit llvmPackages;
+    inherit enableShared;
+
+    # Our Cabal compiler name
+    haskellCompilerName = "ghc-${version}";
+  };
+
+  meta = {
+    homepage = "http://haskell.org/ghc";
+    description = "The Glasgow Haskell Compiler";
+    maintainers = with lib.maintainers; [ marcweber andres peti ];
+    timeout = 24 * 3600;
+    inherit (ghc.meta) license platforms;
+  };
+
+} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
+  dontStrip = true;
+  dontPatchELF = true;
+  noAuditTmpdir = true;
+})
diff --git a/pkgs/development/compilers/ghc/8.6.5.nix b/pkgs/development/compilers/ghc/8.6.5.nix
index 219ace5a91640..8237f27241e70 100644
--- a/pkgs/development/compilers/ghc/8.6.5.nix
+++ b/pkgs/development/compilers/ghc/8.6.5.nix
@@ -110,6 +110,14 @@ stdenv.mkDerivation (rec {
   outputs = [ "out" "doc" ];
 
   patches = [
+    # See upstream patch at
+    # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
+    # from source distributions, the auto-generated configure script needs to be
+    # patched as well, therefore we use an in-tree patch instead of pulling the
+    # upstream patch. Don't forget to check backport status of the upstream patch
+    # when adding new GHC releases in nixpkgs.
+    ./respect-ar-path.patch
+
     (fetchpatch { # https://phabricator.haskell.org/D5123
      url = "https://gitlab.haskell.org/ghc/ghc/-/commit/13ff0b7ced097286e0d7b054f050871effe07f86.diff";
      name = "D5123.diff";
diff --git a/pkgs/development/compilers/ghc/8.8.2.nix b/pkgs/development/compilers/ghc/8.8.2.nix
index 94553e56a8113..144e46459759e 100644
--- a/pkgs/development/compilers/ghc/8.8.2.nix
+++ b/pkgs/development/compilers/ghc/8.8.2.nix
@@ -111,6 +111,16 @@ stdenv.mkDerivation (rec {
 
   outputs = [ "out" "doc" ];
 
+  patches = [
+    # See upstream patch at
+    # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
+    # from source distributions, the auto-generated configure script needs to be
+    # patched as well, therefore we use an in-tree patch instead of pulling the
+    # upstream patch. Don't forget to check backport status of the upstream patch
+    # when adding new GHC releases in nixpkgs.
+    ./respect-ar-path.patch
+  ];
+
   postPatch = "patchShebangs .";
 
   # GHC is a bit confused on its cross terminology.
diff --git a/pkgs/development/compilers/ghc/8.8.3.nix b/pkgs/development/compilers/ghc/8.8.3.nix
index ca4dc35ccdc47..9e99207d9aaa7 100644
--- a/pkgs/development/compilers/ghc/8.8.3.nix
+++ b/pkgs/development/compilers/ghc/8.8.3.nix
@@ -116,6 +116,16 @@ stdenv.mkDerivation (rec {
 
   outputs = [ "out" "doc" ];
 
+  patches = [
+    # See upstream patch at
+    # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
+    # from source distributions, the auto-generated configure script needs to be
+    # patched as well, therefore we use an in-tree patch instead of pulling the
+    # upstream patch. Don't forget to check backport status of the upstream patch
+    # when adding new GHC releases in nixpkgs.
+    ./respect-ar-path.patch
+  ];
+
   postPatch = "patchShebangs .";
 
   # GHC is a bit confused on its cross terminology.
diff --git a/pkgs/development/compilers/ghc/8.8.4.nix b/pkgs/development/compilers/ghc/8.8.4.nix
index ab5f2c12e230a..9bef190ad1c38 100644
--- a/pkgs/development/compilers/ghc/8.8.4.nix
+++ b/pkgs/development/compilers/ghc/8.8.4.nix
@@ -116,6 +116,16 @@ stdenv.mkDerivation (rec {
 
   outputs = [ "out" "doc" ];
 
+  patches = [
+    # See upstream patch at
+    # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
+    # from source distributions, the auto-generated configure script needs to be
+    # patched as well, therefore we use an in-tree patch instead of pulling the
+    # upstream patch. Don't forget to check backport status of the upstream patch
+    # when adding new GHC releases in nixpkgs.
+    ./respect-ar-path.patch
+  ];
+
   postPatch = "patchShebangs .";
 
   # GHC is a bit confused on its cross terminology.
diff --git a/pkgs/development/compilers/ghc/9.0.1.nix b/pkgs/development/compilers/ghc/9.0.1.nix
index 39abe9c760e38..83f3534d3e4a6 100644
--- a/pkgs/development/compilers/ghc/9.0.1.nix
+++ b/pkgs/development/compilers/ghc/9.0.1.nix
@@ -96,12 +96,12 @@ let
 
 in
 stdenv.mkDerivation (rec {
-  version = "9.0.0.20201227";
+  version = "9.0.1";
   name = "${targetPrefix}ghc-${version}";
 
   src = fetchurl {
-    url = "https://downloads.haskell.org/ghc/9.0.1-rc1/ghc-${version}-src.tar.xz";
-    sha256 = "1kg227fzg9qq2p7r8xqr99vvnx7ind4clxkydikyzf3vqvaacjfy";
+    url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
+    sha256 = "1y9mi9bq76z04hmggavrn8jwi1gx92bm3zhx6z69ypq6wha068x5";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/ghc/respect-ar-path.patch b/pkgs/development/compilers/ghc/respect-ar-path.patch
new file mode 100644
index 0000000000000..a08a802c18a0a
--- /dev/null
+++ b/pkgs/development/compilers/ghc/respect-ar-path.patch
@@ -0,0 +1,25 @@
+diff -urd a/aclocal.m4 b/aclocal.m4
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -1199,7 +1199,8 @@
+ # thinks that target == host so it never checks the unqualified
+ # tools for Windows. See #14274.
+ AC_DEFUN([FP_PROG_AR],
+-[if test -z "$fp_prog_ar"; then
++[AC_SUBST(fp_prog_ar,$AR)
++if test -z "$fp_prog_ar"; then
+   if test "$HostOS" = "mingw32"
+   then
+     AC_PATH_PROG([fp_prog_ar], [ar])
+diff -urd a/configure b/configure
+--- a/configure
++++ b/configure
+@@ -10744,6 +10744,8 @@
+ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+ 
+ 
++fp_prog_ar=$AR
++
+ if test -z "$fp_prog_ar"; then
+   if test "$HostOS" = "mingw32"
+   then
diff --git a/pkgs/development/compilers/ghdl/default.nix b/pkgs/development/compilers/ghdl/default.nix
index 6181486f50c7b..e733243943943 100644
--- a/pkgs/development/compilers/ghdl/default.nix
+++ b/pkgs/development/compilers/ghdl/default.nix
@@ -5,24 +5,22 @@ assert backend == "mcode" || backend == "llvm";
 
 stdenv.mkDerivation rec {
   pname = "ghdl-${backend}";
-  # NOTE(aseipp): move to 0.38 when it comes out, since it should support a stable
-  # version of the yosys plugin
-  version = "unstable-2021.01.14";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner  = "ghdl";
     repo   = "ghdl";
-    rev    = "4868294436574660552ccef50a5b0849559393de";
-    sha256 = "1wqjf0qc66dam1n2mskmlvj53bcsdwwk5rq9gimq6ah1vcwi222p";
+    rev    = "v${version}";
+    sha256 = "1gyh0xckwbzgslbpw9yrpj4gqs9fm1a2qpbzl0sh143fk1kwjlly";
   };
 
   LIBRARY_PATH = "${stdenv.cc.libc}/lib";
 
-  buildInputs = [ gnat zlib ];
+  buildInputs = [ gnat zlib ] ++ lib.optional (backend == "llvm") [ llvm ];
 
   preConfigure = ''
     # If llvm 7.0 works, 7.x releases should work too.
-    sed -i 's/check_version 7.0/check_version 7/g' configure
+    sed -i 's/check_version  7.0/check_version  7/g' configure
   '';
 
   configureFlags = [ "--enable-synth" ] ++ lib.optional (backend == "llvm")
diff --git a/pkgs/development/compilers/gleam/default.nix b/pkgs/development/compilers/gleam/default.nix
index b9c7e7e1e3d2e..5e6621dbe7171 100644
--- a/pkgs/development/compilers/gleam/default.nix
+++ b/pkgs/development/compilers/gleam/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gleam";
-  version = "0.13.2";
+  version = "0.14.1";
 
   src = fetchFromGitHub {
     owner = "gleam-lang";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ka1GxukX3HR40fMeiiXHguyPKrpGngG2tXDColR7eQA=";
+    sha256 = "sha256-KAcb+YNfdNc5LJIApuzjXKnPTFOK0C5Jui32nij4O4U=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -16,12 +16,12 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ] ++
     lib.optionals stdenv.isDarwin [ Security ];
 
-  cargoSha256 = "sha256-/l54ezS68loljKNh7AdYMIuCiyIbsMI3jqD9ktjZLfc=";
+  cargoSha256 = "sha256-Hxat6UZziIxHGLPydnnmgzdwtvjaeeqOgD+ZC823uJU=";
 
   meta = with lib; {
     description = "A statically typed language for the Erlang VM";
     homepage = "https://gleam.run/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ Br1ght0ne ];
+    maintainers = teams.beam.members;
   };
 }
diff --git a/pkgs/development/compilers/go/1.14.nix b/pkgs/development/compilers/go/1.14.nix
index 174c299b15b79..92c1cbdfc18bb 100644
--- a/pkgs/development/compilers/go/1.14.nix
+++ b/pkgs/development/compilers/go/1.14.nix
@@ -4,15 +4,20 @@
 , buildPackages
 , pkgsBuildTarget
 , fetchpatch
+, callPackage
 }:
 
 let
 
   inherit (lib) optionals optionalString;
 
+  version = "1.14.15";
+
+  go_bootstrap = buildPackages.callPackage ./bootstrap.nix { };
+
   goBootstrap = runCommand "go-bootstrap" {} ''
     mkdir $out
-    cp -rf ${buildPackages.go_bootstrap}/* $out/
+    cp -rf ${go_bootstrap}/* $out/
     chmod -R u+w $out
     find $out -name "*.c" -delete
     cp -rf $out/bin/* $out/share/go/bin/
@@ -36,11 +41,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.14.14";
+  inherit version;
 
   src = fetchurl {
     url = "https://dl.google.com/go/go${version}.src.tar.gz";
-    sha256 = "0vx7r0bb1a500znnnh7v3wgw22ly3p2x06vzyi9hiblgylrby132";
+    sha256 = "0jci03f5z09xibbdqg4lnv2k3crhal1phzwr6lc4ajp514i3plby";
   };
 
   # perl is used for testing go vet
@@ -145,6 +150,13 @@ stdenv.mkDerivation rec {
     ./skip-nohup-tests.patch
     ./go_no_vendor_checks-1_14.patch
 
+    # support TZ environment variable starting with colon
+    (fetchpatch {
+      name = "tz-support-colon.patch";
+      url = "https://github.com/golang/go/commit/58fe2cd4022c77946ce4b598cf3e30ccc8367143.patch";
+      sha256 = "0vphwiqrm0qykfj3rfayr65qzk22fksg7qkamvaz0lmf6fqvbd2f";
+    })
+
     # fix rare TestDontCacheBrokenHTTP2Conn failure
     (fetchpatch {
       url = "https://github.com/golang/go/commit/ea1437a8cdf6bb3c2d2447833a5d06dbd75f7ae4.patch";
@@ -253,5 +265,8 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     maintainers = teams.golang.members;
     platforms = platforms.linux ++ platforms.darwin;
+    knownVulnerabilities = [
+      "Support for Go 1.14 ended with the release of Go 1.16: https://golang.org/doc/devel/release.html#policy"
+    ];
   };
 }
diff --git a/pkgs/development/compilers/go/1.15.nix b/pkgs/development/compilers/go/1.15.nix
index c3aef549e680a..4432b1fe895d4 100644
--- a/pkgs/development/compilers/go/1.15.nix
+++ b/pkgs/development/compilers/go/1.15.nix
@@ -4,15 +4,20 @@
 , buildPackages
 , pkgsBuildTarget
 , fetchpatch
+, callPackage
 }:
 
 let
 
   inherit (lib) optionals optionalString;
 
+  version = "1.15.8";
+
+  go_bootstrap = buildPackages.callPackage ./bootstrap.nix { };
+
   goBootstrap = runCommand "go-bootstrap" {} ''
     mkdir $out
-    cp -rf ${buildPackages.go_bootstrap}/* $out/
+    cp -rf ${go_bootstrap}/* $out/
     chmod -R u+w $out
     find $out -name "*.c" -delete
     cp -rf $out/bin/* $out/share/go/bin/
@@ -36,11 +41,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.15.7";
+  inherit version;
 
   src = fetchurl {
     url = "https://dl.google.com/go/go${version}.src.tar.gz";
-    sha256 = "1g1a39y1cnvw3y0bjwjms55cz0s9icm8myrgxi295jwfznmb6cc6";
+    sha256 = "1hlphkrsvb5nza5ajm24x4nrhyg4b0afs88kk4jd310hg2vhl32l";
   };
 
   # perl is used for testing go vet
@@ -153,6 +158,13 @@ stdenv.mkDerivation rec {
     ./skip-nohup-tests.patch
     ./skip-cgo-tests-1.15.patch
     ./go_no_vendor_checks.patch
+
+    # support TZ environment variable starting with colon
+    (fetchpatch {
+      name = "tz-support-colon.patch";
+      url = "https://github.com/golang/go/commit/58fe2cd4022c77946ce4b598cf3e30ccc8367143.patch";
+      sha256 = "0vphwiqrm0qykfj3rfayr65qzk22fksg7qkamvaz0lmf6fqvbd2f";
+    })
   ] ++ [
     # breaks under load: https://github.com/golang/go/issues/25628
     (if stdenv.isAarch32
diff --git a/pkgs/development/compilers/go/1.16.nix b/pkgs/development/compilers/go/1.16.nix
new file mode 100644
index 0000000000000..8267e9745dc13
--- /dev/null
+++ b/pkgs/development/compilers/go/1.16.nix
@@ -0,0 +1,267 @@
+{ lib, stdenv, fetchurl, tzdata, iana-etc, runCommand
+, perl, which, pkg-config, patch, procps, pcre, cacert, Security, Foundation, xcbuild
+, mailcap, runtimeShell
+, buildPackages
+, pkgsBuildTarget
+, fetchpatch
+, callPackage
+}:
+
+let
+
+  inherit (lib) optionals optionalString;
+
+  version = "1.16";
+
+  go_bootstrap = buildPackages.callPackage ./bootstrap.nix { };
+
+  goBootstrap = runCommand "go-bootstrap" {} ''
+    mkdir $out
+    cp -rf ${go_bootstrap}/* $out/
+    chmod -R u+w $out
+    find $out -name "*.c" -delete
+    cp -rf $out/bin/* $out/share/go/bin/
+  '';
+
+  goarch = platform: {
+    "i686" = "386";
+    "x86_64" = "amd64";
+    "aarch64" = "arm64";
+    "arm" = "arm";
+    "armv5tel" = "arm";
+    "armv6l" = "arm";
+    "armv7l" = "arm";
+    "powerpc64le" = "ppc64le";
+  }.${platform.parsed.cpu.name} or (throw "Unsupported system");
+
+  # We need a target compiler which is still runnable at build time,
+  # to handle the cross-building case where build != host == target
+  targetCC = pkgsBuildTarget.targetPackages.stdenv.cc;
+in
+
+stdenv.mkDerivation rec {
+  pname = "go";
+  inherit version;
+
+  src = fetchurl {
+    url = "https://dl.google.com/go/go${version}.src.tar.gz";
+    sha256 = "0nn98xiw8zrvxf9f36p8dzc7ihrrkakr0g9jiy4haqb5alyhd23n";
+  };
+
+  # perl is used for testing go vet
+  nativeBuildInputs = [ perl which pkg-config patch procps ];
+  buildInputs = [ cacert pcre ]
+    ++ optionals stdenv.isLinux [ stdenv.cc.libc.out ]
+    ++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
+
+  propagatedBuildInputs = optionals stdenv.isDarwin [ xcbuild ];
+
+  depsTargetTargetPropagated = optionals stdenv.isDarwin [ Security Foundation ];
+
+  hardeningDisable = [ "all" ];
+
+  prePatch = ''
+    patchShebangs ./ # replace /bin/bash
+
+    # This source produces shell script at run time,
+    # and thus it is not corrected by patchShebangs.
+    substituteInPlace misc/cgo/testcarchive/carchive_test.go \
+      --replace '#!/usr/bin/env bash' '#!${runtimeShell}'
+
+    # Patch the mimetype database location which is missing on NixOS.
+    # but also allow static binaries built with NixOS to run outside nix
+    sed -i 's,\"/etc/mime.types,"${mailcap}/etc/mime.types\"\,\n\t&,' src/mime/type_unix.go
+
+    # Disabling the 'os/http/net' tests (they want files not available in
+    # chroot builds)
+    rm src/net/{listen,parse}_test.go
+    rm src/syscall/exec_linux_test.go
+
+    # !!! substituteInPlace does not seems to be effective.
+    # The os test wants to read files in an existing path. Just don't let it be /usr/bin.
+    sed -i 's,/usr/bin,'"`pwd`", src/os/os_test.go
+    sed -i 's,/bin/pwd,'"`type -P pwd`", src/os/os_test.go
+    # Fails on aarch64
+    sed -i '/TestFallocate/aif true \{ return\; \}' src/cmd/link/internal/ld/fallocate_test.go
+    # Skip this test since ssl patches mess it up.
+    sed -i '/TestLoadSystemCertsLoadColonSeparatedDirs/aif true \{ return\; \}' src/crypto/x509/root_unix_test.go
+    # Disable another PIE test which breaks.
+    sed -i '/TestTrivialPIE/aif true \{ return\; \}' misc/cgo/testshared/shared_test.go
+    # Disable the BuildModePie test
+    sed -i '/TestBuildmodePIE/aif true \{ return\; \}' src/cmd/go/go_test.go
+    # Disable the unix socket test
+    sed -i '/TestShutdownUnix/aif true \{ return\; \}' src/net/net_test.go
+    # Disable the hostname test
+    sed -i '/TestHostname/aif true \{ return\; \}' src/os/os_test.go
+    # ParseInLocation fails the test
+    sed -i '/TestParseInSydney/aif true \{ return\; \}' src/time/format_test.go
+    # Remove the api check as it never worked
+    sed -i '/src\/cmd\/api\/run.go/ireturn nil' src/cmd/dist/test.go
+    # Remove the coverage test as we have removed this utility
+    sed -i '/TestCoverageWithCgo/aif true \{ return\; \}' src/cmd/go/go_test.go
+    # Remove the timezone naming test
+    sed -i '/TestLoadFixed/aif true \{ return\; \}' src/time/time_test.go
+    # Remove disable setgid test
+    sed -i '/TestRespectSetgidDir/aif true \{ return\; \}' src/cmd/go/internal/work/build_test.go
+    # Remove cert tests that conflict with NixOS's cert resolution
+    sed -i '/TestEnvVars/aif true \{ return\; \}' src/crypto/x509/root_unix_test.go
+    # TestWritevError hangs sometimes
+    sed -i '/TestWritevError/aif true \{ return\; \}' src/net/writev_test.go
+    # TestVariousDeadlines fails sometimes
+    sed -i '/TestVariousDeadlines/aif true \{ return\; \}' src/net/timeout_test.go
+
+    sed -i 's,/etc/protocols,${iana-etc}/etc/protocols,' src/net/lookup_unix.go
+    sed -i 's,/etc/services,${iana-etc}/etc/services,' src/net/port_unix.go
+
+    # Disable cgo lookup tests not works, they depend on resolver
+    rm src/net/cgo_unix_test.go
+
+  '' + optionalString stdenv.isLinux ''
+    # prepend the nix path to the zoneinfo files but also leave the original value for static binaries
+    # that run outside a nix server
+    sed -i 's,\"/usr/share/zoneinfo/,"${tzdata}/share/zoneinfo/\"\,\n\t&,' src/time/zoneinfo_unix.go
+
+  '' + optionalString stdenv.isAarch32 ''
+    echo '#!${runtimeShell}' > misc/cgo/testplugin/test.bash
+  '' + optionalString stdenv.isDarwin ''
+    substituteInPlace src/race.bash --replace \
+      "sysctl machdep.cpu.extfeatures | grep -qv EM64T" true
+    sed -i 's,strings.Contains(.*sysctl.*,true {,' src/cmd/dist/util.go
+    sed -i 's,"/etc","'"$TMPDIR"'",' src/os/os_test.go
+    sed -i 's,/_go_os_test,'"$TMPDIR"'/_go_os_test,' src/os/path_test.go
+
+    sed -i '/TestChdirAndGetwd/aif true \{ return\; \}' src/os/os_test.go
+    sed -i '/TestCredentialNoSetGroups/aif true \{ return\; \}' src/os/exec/exec_posix_test.go
+    sed -i '/TestRead0/aif true \{ return\; \}' src/os/os_test.go
+    sed -i '/TestSystemRoots/aif true \{ return\; \}' src/crypto/x509/root_darwin_test.go
+
+    sed -i '/TestGoInstallRebuildsStalePackagesInOtherGOPATH/aif true \{ return\; \}' src/cmd/go/go_test.go
+    sed -i '/TestBuildDashIInstallsDependencies/aif true \{ return\; \}' src/cmd/go/go_test.go
+
+    sed -i '/TestDisasmExtld/aif true \{ return\; \}' src/cmd/objdump/objdump_test.go
+
+    sed -i 's/unrecognized/unknown/' src/cmd/link/internal/ld/lib.go
+
+    # TestCurrent fails because Current is not implemented on Darwin
+    sed -i 's/TestCurrent/testCurrent/g' src/os/user/user_test.go
+    sed -i 's/TestLookup/testLookup/g' src/os/user/user_test.go
+
+    touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd
+  '';
+
+  patches = [
+    ./remove-tools-1.11.patch
+    ./ssl-cert-file-1.16.patch
+    ./remove-test-pie-1.15.patch
+    ./creds-test.patch
+    ./go-1.9-skip-flaky-19608.patch
+    ./go-1.9-skip-flaky-20072.patch
+    ./skip-external-network-tests-1.16.patch
+    ./skip-nohup-tests.patch
+    ./skip-cgo-tests-1.15.patch
+    ./go_no_vendor_checks-1.16.patch
+  ] ++ [
+    # breaks under load: https://github.com/golang/go/issues/25628
+    (if stdenv.isAarch32
+    then ./skip-test-extra-files-on-aarch32-1.14.patch
+    else ./skip-test-extra-files-on-386-1.14.patch)
+  ];
+
+  postPatch = ''
+    find . -name '*.orig' -exec rm {} ';'
+  '';
+
+  GOOS = stdenv.targetPlatform.parsed.kernel.name;
+  GOARCH = goarch stdenv.targetPlatform;
+  # GOHOSTOS/GOHOSTARCH must match the building system, not the host system.
+  # Go will nevertheless build a for host system that we will copy over in
+  # the install phase.
+  GOHOSTOS = stdenv.buildPlatform.parsed.kernel.name;
+  GOHOSTARCH = goarch stdenv.buildPlatform;
+
+  # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those
+  # to be different from CC/CXX
+  CC_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then
+      "${targetCC}/bin/${targetCC.targetPrefix}cc"
+    else
+      null;
+  CXX_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then
+      "${targetCC}/bin/${targetCC.targetPrefix}c++"
+    else
+      null;
+
+  GOARM = toString (lib.intersectLists [(stdenv.hostPlatform.parsed.cpu.version or "")] ["5" "6" "7"]);
+  GO386 = "softfloat"; # from Arch: don't assume sse2 on i686
+  CGO_ENABLED = 1;
+  # Hopefully avoids test timeouts on Hydra
+  GO_TEST_TIMEOUT_SCALE = 3;
+
+  # Indicate that we are running on build infrastructure
+  # Some tests assume things like home directories and users exists
+  GO_BUILDER_NAME = "nix";
+
+  GOROOT_BOOTSTRAP="${goBootstrap}/share/go";
+
+  postConfigure = ''
+    export GOCACHE=$TMPDIR/go-cache
+    # this is compiled into the binary
+    export GOROOT_FINAL=$out/share/go
+
+    export PATH=$(pwd)/bin:$PATH
+
+    ${optionalString (stdenv.buildPlatform != stdenv.targetPlatform) ''
+    # Independent from host/target, CC should produce code for the building system.
+    # We only set it when cross-compiling.
+    export CC=${buildPackages.stdenv.cc}/bin/cc
+    ''}
+    ulimit -a
+  '';
+
+  postBuild = ''
+    (cd src && ./make.bash)
+  '';
+
+  doCheck = stdenv.hostPlatform == stdenv.targetPlatform && !stdenv.isDarwin;
+
+  checkPhase = ''
+    runHook preCheck
+    (cd src && HOME=$TMPDIR GOCACHE=$TMPDIR/go-cache ./run.bash --no-rebuild)
+    runHook postCheck
+  '';
+
+  preInstall = ''
+    rm -r pkg/obj
+    # Contains the wrong perl shebang when cross compiling,
+    # since it is not used for anything we can deleted as well.
+    rm src/regexp/syntax/make_perl_groups.pl
+  '' + (if (stdenv.buildPlatform != stdenv.hostPlatform) then ''
+    mv bin/*_*/* bin
+    rmdir bin/*_*
+    ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
+      rm -rf pkg/${GOHOSTOS}_${GOHOSTARCH} pkg/tool/${GOHOSTOS}_${GOHOSTARCH}
+    ''}
+  '' else if (stdenv.hostPlatform != stdenv.targetPlatform) then ''
+    rm -rf bin/*_*
+    ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
+      rm -rf pkg/${GOOS}_${GOARCH} pkg/tool/${GOOS}_${GOARCH}
+    ''}
+  '' else "");
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $GOROOT_FINAL
+    cp -a bin pkg src lib misc api doc $GOROOT_FINAL
+    ln -s $GOROOT_FINAL/bin $out/bin
+    runHook postInstall
+  '';
+
+  disallowedReferences = [ goBootstrap ];
+
+  meta = with lib; {
+    homepage = "http://golang.org/";
+    description = "The Go Programming language";
+    license = licenses.bsd3;
+    maintainers = teams.golang.members;
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/development/compilers/go/1.4.nix b/pkgs/development/compilers/go/1.4.nix
deleted file mode 100644
index ec3fd97da9b9e..0000000000000
--- a/pkgs/development/compilers/go/1.4.nix
+++ /dev/null
@@ -1,93 +0,0 @@
-{ stdenv, lib, fetchurl, fetchpatch, tzdata, iana-etc, libcCross
-, pkg-config
-, pcre
-, Security }:
-
-let
-  libc = if stdenv ? cross then libcCross else stdenv.cc.libc;
-in
-
-stdenv.mkDerivation rec {
-  pname = "go";
-  version = "1.4-bootstrap-${builtins.substring 0 7 revision}";
-  revision = "bdd4b9503e47c2c38a9d0a9bb2f5d95ec5ff8ef6";
-
-  src = fetchurl {
-    url = "https://github.com/golang/go/archive/${revision}.tar.gz";
-    sha256 = "1zdyf883awaqdzm4r3fs76nbpiqx3iswl2p4qxclw2sl5vvynas5";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ pcre ];
-  depsTargetTargetPropagated = lib.optional stdenv.isDarwin Security;
-
-  hardeningDisable = [ "all" ];
-
-  # The tests try to do stuff with 127.0.0.1 and localhost
-  __darwinAllowLocalNetworking = true;
-
-  # I'm not sure what go wants from its 'src', but the go installation manual
-  # describes an installation keeping the src.
-  preUnpack = ''
-    mkdir -p $out/share
-    cd $out/share
-  '';
-
-  prePatch = ''
-    # Ensure that the source directory is named go
-    cd ..
-    if [ ! -d go ]; then
-      mv * go
-    fi
-
-    cd go
-    patchShebangs ./ # replace /bin/bash
-
-    sed -i 's,/etc/protocols,${iana-etc}/etc/protocols,' src/net/lookup_unix.go
-  '' + lib.optionalString stdenv.isLinux ''
-    # prepend the nix path to the zoneinfo files but also leave the original value for static binaries
-    # that run outside a nix server
-    sed -i 's,\"/usr/share/zoneinfo/,"${tzdata}/share/zoneinfo/\"\,\n\t&,' src/time/zoneinfo_unix.go
-
-    # Find the loader dynamically
-    LOADER="$(find ${lib.getLib libc}/lib -name ld-linux\* | head -n 1)"
-
-    # Replace references to the loader
-    find src/cmd -name asm.c -exec sed -i "s,/lib/ld-linux.*\.so\.[0-9],$LOADER," {} \;
-  '';
-
-  patches = [
-    ./remove-tools-1.4.patch
-  ];
-
-  GOOS = if stdenv.isDarwin then "darwin" else "linux";
-  GOARCH = if stdenv.isDarwin then "amd64"
-           else if stdenv.hostPlatform.system == "i686-linux" then "386"
-           else if stdenv.hostPlatform.system == "x86_64-linux" then "amd64"
-           else if stdenv.isAarch32 then "arm"
-           else throw "Unsupported system";
-  GOARM = lib.optionalString (stdenv.hostPlatform.system == "armv5tel-linux") "5";
-  GO386 = 387; # from Arch: don't assume sse2 on i686
-  CGO_ENABLED = 0;
-
-  # The go build actually checks for CC=*/clang and does something different, so we don't
-  # just want the generic `cc` here.
-  CC = if stdenv.isDarwin then "clang" else "cc";
-
-  installPhase = ''
-    mkdir -p "$out/bin"
-    export GOROOT="$(pwd)/"
-    export GOBIN="$out/bin"
-    export PATH="$GOBIN:$PATH"
-    cd ./src
-    ./all.bash
-  '';
-
-  meta = with lib; {
-    homepage = "http://golang.org/";
-    description = "The Go Programming language";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ cstrahan ];
-    platforms = platforms.linux ++ platforms.darwin;
-  };
-}
diff --git a/pkgs/development/compilers/go/2-dev.nix b/pkgs/development/compilers/go/2-dev.nix
index 3e09f7c0fad23..2bdf6a4950ccd 100644
--- a/pkgs/development/compilers/go/2-dev.nix
+++ b/pkgs/development/compilers/go/2-dev.nix
@@ -4,15 +4,18 @@
 , buildPackages
 , pkgsBuildTarget
 , fetchpatch
+, callPackage
 }:
 
 let
 
   inherit (lib) optionals optionalString;
 
+  go_bootstrap = buildPackages.callPackage ./bootstrap.nix { };
+
   goBootstrap = runCommand "go-bootstrap" {} ''
     mkdir $out
-    cp -rf ${buildPackages.go_bootstrap}/* $out/
+    cp -rf ${go_bootstrap}/* $out/
     chmod -R u+w $out
     find $out -name "*.c" -delete
     cp -rf $out/bin/* $out/share/go/bin/
diff --git a/pkgs/development/compilers/go/binary.nix b/pkgs/development/compilers/go/binary.nix
new file mode 100644
index 0000000000000..9a0dc34354622
--- /dev/null
+++ b/pkgs/development/compilers/go/binary.nix
@@ -0,0 +1,41 @@
+{ lib, stdenv, fetchurl, version, hashes }:
+let
+  toGoKernel = platform:
+    if platform.isDarwin then "darwin"
+    else platform.parsed.kernel.name;
+
+  toGoCPU = platform: {
+    "i686" = "386";
+    "x86_64" = "amd64";
+    "aarch64" = "arm64";
+    "armv6l" = "arm";
+    "armv7l" = "arm";
+    "powerpc64le" = "ppc64le";
+  }.${platform.parsed.cpu.name} or (throw "Unsupported CPU ${platform.parsed.cpu.name}");
+
+  toGoPlatform = platform: "${toGoKernel platform}-${toGoCPU platform}";
+
+  platform = toGoPlatform stdenv.hostPlatform;
+in
+stdenv.mkDerivation rec {
+  name = "go-${version}-${platform}-bootstrap";
+
+  src = fetchurl {
+    url = "https://golang.org/dl/go${version}.${platform}.tar.gz";
+    sha256 = hashes.${platform} or (throw "Missing Go bootstrap hash for platform ${platform}");
+  };
+
+  # We must preserve the signature on Darwin
+  dontStrip = stdenv.hostPlatform.isDarwin;
+
+  installPhase = ''
+    mkdir -p $out/share/go $out/bin
+    mv bin/* $out/bin
+    cp -r . $out/share/go
+    ${lib.optionalString stdenv.isLinux (''
+    patchelf \
+      --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+      $out/bin/go
+    '')}
+  '' ;
+}
diff --git a/pkgs/development/compilers/go/bootstrap.nix b/pkgs/development/compilers/go/bootstrap.nix
new file mode 100644
index 0000000000000..71573b0bdd228
--- /dev/null
+++ b/pkgs/development/compilers/go/bootstrap.nix
@@ -0,0 +1,15 @@
+{ callPackage }:
+callPackage ./binary.nix {
+  version = "1.16";
+  hashes = {
+    # Use `print-hashes.sh ${version}` to generate the list below
+    darwin-amd64 = "6000a9522975d116bf76044967d7e69e04e982e9625330d9a539a8b45395f9a8";
+    darwin-arm64 = "4dac57c00168d30bbd02d95131d5de9ca88e04f2c5a29a404576f30ae9b54810";
+    linux-386 = "ea435a1ac6d497b03e367fdfb74b33e961d813883468080f6e239b3b03bea6aa";
+    linux-amd64 = "013a489ebb3e24ef3d915abe5b94c3286c070dfe0818d5bca8108f1d6e8440d2";
+    linux-arm64 = "3770f7eb22d05e25fbee8fb53c2a4e897da043eb83c69b9a14f8d98562cd8098";
+    linux-armv6l = "d1d9404b1dbd77afa2bdc70934e10fbfcf7d785c372efc29462bb7d83d0a32fd";
+    linux-ppc64le = "27a1aaa988e930b7932ce459c8a63ad5b3333b3a06b016d87ff289f2a11aacd6";
+    linux-s390x = "be4c9e4e2cf058efc4e3eb013a760cb989ddc4362f111950c990d1c63b27ccbe";
+  };
+}
diff --git a/pkgs/development/compilers/go/go_no_vendor_checks-1.16.patch b/pkgs/development/compilers/go/go_no_vendor_checks-1.16.patch
new file mode 100644
index 0000000000000..9edf6efa85176
--- /dev/null
+++ b/pkgs/development/compilers/go/go_no_vendor_checks-1.16.patch
@@ -0,0 +1,23 @@
+Starting from go1.14, go verifes that vendor/modules.txt matches the requirements
+and replacements listed in the main module go.mod file, and it is a hard failure if
+vendor/modules.txt is missing.
+
+Relax module consistency checks and switch back to pre go1.14 behaviour if
+vendor/modules.txt is missing regardless of go version requirement in go.mod.
+
+This has been ported from FreeBSD: https://reviews.freebsd.org/D24122
+See https://github.com/golang/go/issues/37948 for discussion.
+
+diff --git a/src/cmd/go/internal/modload/vendor.go b/src/cmd/go/internal/modload/vendor.go
+index d8fd91f1fe..8bc08e6fed 100644
+--- a/src/cmd/go/internal/modload/vendor.go
++++ b/src/cmd/go/internal/modload/vendor.go
+@@ -133,7 +133,7 @@ func checkVendorConsistency() {
+ 	readVendorList()
+
+ 	pre114 := false
+-	if semver.Compare(index.goVersionV, "v1.14") < 0 {
++	if semver.Compare(index.goVersionV, "v1.14") < 0 || (os.Getenv("GO_NO_VENDOR_CHECKS") == "1" && len(vendorMeta) == 0) {
+ 		// Go versions before 1.14 did not include enough information in
+ 		// vendor/modules.txt to check for consistency.
+ 		// If we know that we're on an earlier version, relax the consistency check.
diff --git a/pkgs/development/compilers/go/print-hashes.sh b/pkgs/development/compilers/go/print-hashes.sh
new file mode 100755
index 0000000000000..97be7d189ad8a
--- /dev/null
+++ b/pkgs/development/compilers/go/print-hashes.sh
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+BASEURL=https://golang.org/dl/
+VERSION=${1:-}
+
+if [[ -z $VERSION ]]
+then
+    echo "No version supplied"
+    exit -1
+fi
+
+curl -s "${BASEURL}?mode=json&include=all" | \
+    jq '.[] | select(.version == "go'${VERSION}'")' | \
+    jq -r '.files[] | select(.kind == "archive" and (.os == "linux" or .os == "darwin")) | (.os + "-" + .arch + " = \"" + .sha256 + "\";")'
diff --git a/pkgs/development/compilers/go/remove-tools-1.4.patch b/pkgs/development/compilers/go/remove-tools-1.4.patch
deleted file mode 100644
index 807ab8e089c17..0000000000000
--- a/pkgs/development/compilers/go/remove-tools-1.4.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-diff --git a/misc/makerelease/makerelease.go b/misc/makerelease/makerelease.go
-index 3b511b1..a46ebd8 100644
---- a/misc/makerelease/makerelease.go
-+++ b/misc/makerelease/makerelease.go
-@@ -65,9 +65,6 @@ const (
- // These must be the command that cmd/go knows to install to $GOROOT/bin
- // or $GOROOT/pkg/tool.
- var toolPaths = []string{
--	"golang.org/x/tools/cmd/cover",
--	"golang.org/x/tools/cmd/godoc",
--	"golang.org/x/tools/cmd/vet",
- }
- 
- var preBuildCleanFiles = []string{
-diff --git a/src/cmd/dist/build.c b/src/cmd/dist/build.c
-index b6c61b4..2006bc2 100644
---- a/src/cmd/dist/build.c
-+++ b/src/cmd/dist/build.c
-@@ -210,7 +210,9 @@ init(void)
- 	workdir = xworkdir();
- 	xatexit(rmworkdir);
- 
--	bpathf(&b, "%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch);
-+	xgetenv(&b, "GOTOOLDIR");
-+	if (b.len == 0)
-+		bpathf(&b, "%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch);
- 	tooldir = btake(&b);
- 
- 	bfree(&b);
-diff --git a/src/cmd/go/pkg.go b/src/cmd/go/pkg.go
-index b71feb7..8468ea8 100644
---- a/src/cmd/go/pkg.go
-+++ b/src/cmd/go/pkg.go
-@@ -401,9 +401,9 @@ var goTools = map[string]targetDir{
- 	"cmd/pack":                             toTool,
- 	"cmd/pprof":                            toTool,
- 	"cmd/yacc":                             toTool,
--	"golang.org/x/tools/cmd/cover":         toTool,
--	"golang.org/x/tools/cmd/godoc":         toBin,
--	"golang.org/x/tools/cmd/vet":           toTool,
-+	"nixos.org/x/tools/cmd/cover":          toTool,
-+	"nixos.org/x/tools/cmd/godoc":          toBin,
-+	"nixos.org/x/tools/cmd/vet":            toTool,
- 	"code.google.com/p/go.tools/cmd/cover": stalePath,
- 	"code.google.com/p/go.tools/cmd/godoc": stalePath,
- 	"code.google.com/p/go.tools/cmd/vet":   stalePath,
-diff --git a/src/go/build/build.go b/src/go/build/build.go
-index 311ecb0..f151d8f 100644
---- a/src/go/build/build.go
-+++ b/src/go/build/build.go
-@@ -1367,7 +1367,7 @@ func init() {
- }
- 
- // ToolDir is the directory containing build tools.
--var ToolDir = filepath.Join(runtime.GOROOT(), "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
-+var ToolDir = runtime.GOTOOLDIR()
- 
- // IsLocalImport reports whether the import path is
- // a local import path, like ".", "..", "./foo", or "../foo".
-diff --git a/src/runtime/extern.go b/src/runtime/extern.go
-index 6cc5df8..9a9a964 100644
---- a/src/runtime/extern.go
-+++ b/src/runtime/extern.go
-@@ -152,6 +152,17 @@ func GOROOT() string {
- 	return defaultGoroot
- }
- 
-+// GOTOOLDIR returns the root of the Go tree.
-+// It uses the GOTOOLDIR environment variable, if set,
-+// or else the root used during the Go build.
-+func GOTOOLDIR() string {
-+	s := gogetenv("GOTOOLDIR")
-+	if s != "" {
-+		return s
-+	}
-+	return GOROOT() + "/pkg/tool/" + GOOS + "_" + GOARCH
-+}
-+
- // Version returns the Go tree's version string.
- // It is either the commit hash and date at the time of the build or,
- // when possible, a release tag like "go1.3".
diff --git a/pkgs/development/compilers/go/skip-external-network-tests-1.16.patch b/pkgs/development/compilers/go/skip-external-network-tests-1.16.patch
new file mode 100644
index 0000000000000..8f1eb6be7bb8e
--- /dev/null
+++ b/pkgs/development/compilers/go/skip-external-network-tests-1.16.patch
@@ -0,0 +1,33 @@
+diff --git a/src/internal/testenv/testenv.go b/src/internal/testenv/testenv.go
+index c902b1404f..66016088a2 100644
+--- a/src/internal/testenv/testenv.go
++++ b/src/internal/testenv/testenv.go
+@@ -163,13 +163,15 @@ func MustHaveExecPath(t testing.TB, path string) {
+ // HasExternalNetwork reports whether the current system can use
+ // external (non-localhost) networks.
+ func HasExternalNetwork() bool {
+-	return !testing.Short() && runtime.GOOS != "js"
++	// Nix sandbox does not external network in sandbox
++	return false
+ }
+ 
+ // MustHaveExternalNetwork checks that the current system can use
+ // external (non-localhost) networks.
+ // If not, MustHaveExternalNetwork calls t.Skip with an explanation.
+ func MustHaveExternalNetwork(t testing.TB) {
++	t.Skipf("Nix sandbox does not have networking")
+ 	if runtime.GOOS == "js" {
+ 		t.Skipf("skipping test: no external network on %s", runtime.GOOS)
+ 	}
+diff --git a/src/net/dial_test.go b/src/net/dial_test.go
+index 57cf5554ad..d00be53b2c 100644
+--- a/src/net/dial_test.go
++++ b/src/net/dial_test.go
+@@ -990,6 +990,7 @@ func TestDialerControl(t *testing.T) {
+ // except that it won't skip testing on non-mobile builders.
+ func mustHaveExternalNetwork(t *testing.T) {
+ 	t.Helper()
++	t.Skipf("Nix sandbox does not have networking")
+ 	mobile := runtime.GOOS == "android" || runtime.GOOS == "ios"
+ 	if testenv.Builder() == "" || mobile {
+ 		testenv.MustHaveExternalNetwork(t)
diff --git a/pkgs/development/compilers/go/ssl-cert-file-1.16.patch b/pkgs/development/compilers/go/ssl-cert-file-1.16.patch
new file mode 100644
index 0000000000000..f4bc16e5b8cbb
--- /dev/null
+++ b/pkgs/development/compilers/go/ssl-cert-file-1.16.patch
@@ -0,0 +1,34 @@
+diff --git a/src/crypto/x509/root.go b/src/crypto/x509/root.go
+index ac92915128..fb1d70c735 100644
+--- a/src/crypto/x509/root.go
++++ b/src/crypto/x509/root.go
+@@ -6,7 +6,11 @@ package x509
+ 
+ //go:generate go run root_ios_gen.go -version 55161.140.3
+ 
+-import "sync"
++import (
++	"io/ioutil"
++	"os"
++	"sync"
++)
+ 
+ var (
+ 	once           sync.Once
+@@ -20,6 +24,16 @@ func systemRootsPool() *CertPool {
+ }
+ 
+ func initSystemRoots() {
++	if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
++		data, err := ioutil.ReadFile(file)
++		if err == nil {
++			roots := NewCertPool()
++			roots.AppendCertsFromPEM(data)
++			systemRoots = roots
++			return
++		}
++	}
++
+ 	systemRoots, systemRootsErr = loadSystemRoots()
+ 	if systemRootsErr != nil {
+ 		systemRoots = nil
diff --git a/pkgs/development/compilers/graalvm/community-edition.nix b/pkgs/development/compilers/graalvm/community-edition.nix
index 76245a4408170..3a8fca2c1a05b 100644
--- a/pkgs/development/compilers/graalvm/community-edition.nix
+++ b/pkgs/development/compilers/graalvm/community-edition.nix
@@ -1,48 +1,110 @@
-{ lib, stdenv, fetchurl, perl, unzip, glibc, zlib, setJavaClassPath }:
+{ stdenv
+, lib
+, fetchurl
+, autoPatchelfHook
+, setJavaClassPath
+, makeWrapper
+# minimum dependencies
+, Foundation
+, alsaLib
+, fontconfig
+, freetype
+, glibc
+, openssl
+, perl
+, unzip
+, xorg
+, zlib
+# runtime dependencies
+, cups
+# runtime dependencies for GTK+ Look and Feel
+, gtkSupport ? true
+, cairo
+, glib
+, gtk3
+}:
 
 let
+  platform = if stdenv.isDarwin then "darwin-amd64" else "linux-amd64";
+  runtimeDependencies = [
+    cups
+  ] ++ lib.optionals gtkSupport [
+    cairo glib gtk3
+  ];
+  runtimeLibraryPath = lib.makeLibraryPath runtimeDependencies;
   common = javaVersion:
     let
+      javaVersionPlatform = "${javaVersion}-${platform}";
       graalvmXXX-ce = stdenv.mkDerivation rec {
         pname = "graalvm${javaVersion}-ce";
-        version = "20.2.0";
+        version = "21.0.0";
         srcs = [
           (fetchurl {
-             sha256 = {  "8" = "1s64zkkrns1ykh6dwpjrqy0hs9m1bb08cf7ss7msx33h9ivir5b0";
-                        "11" = "0aaf0sjsnlckhgsh3j4lph0shahw6slf4yndqcm2swc8i1dlpdsx";
-                      }.${javaVersion};
-             url    = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${version}/graalvm-ce-java${javaVersion}-linux-amd64-${version}.tar.gz";
+             sha256 = {  "8-linux-amd64"  = "18q1plrpclp02rlwn3vvv2fcyspvqv2gkzn14f0b59pnladmlv1j";
+                        "11-linux-amd64"  = "1g1xjbr693rimdy2cy6jvz4vgnbnw76wa87xcmaszka206fmpnsc";
+                         "8-darwin-amd64" = "0giv8f7ybdykadzmxjy91i6njbdx6dclyx7g6vyhwk2l1cvxi4li";
+                        "11-darwin-amd64" = "1a8gjp6fp11ms05pd62h1x1ifkkr3wv0hrxic670v90bbps9lsqf";
+                      }.${javaVersionPlatform};
+             url    = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${version}/graalvm-ce-java${javaVersionPlatform}-${version}.tar.gz";
           })
           (fetchurl {
-             sha256 = {  "8" = "1cisyyzab4pdvzavnivhy9w6dwn36ybaxw40w767m142fbi06m3b";
-                        "11" = "0p4j6mxajmb0xl41c79154pk4vb8bffgg1nmwislahqjky9jkd4j";
-                      }.${javaVersion};
-             url    = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${version}/native-image-installable-svm-java${javaVersion}-linux-amd64-${version}.jar";
+             sha256 = {  "8-linux-amd64"  = "0hpq2g9hc8b7j4d8a08kq1mnl6pl7a4kwaj0a3gka3d4m6r7cscg";
+                        "11-linux-amd64"  = "0z3hb2bf0lqzw760civ3h1wvx22a75n7baxc0l2i9h5wxas002y7";
+                         "8-darwin-amd64" = "1izbgl4hjg5jyi422xnkx006qnw163r1i1djf76q1plms40y01ph";
+                        "11-darwin-amd64" = "1d9z75gil0if74ndla9yw3xx9i2bfbcs32qa0z6wi5if66cmknb8";
+                      }.${javaVersionPlatform};
+             url    = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${version}/native-image-installable-svm-java${javaVersionPlatform}-${version}.jar";
           })
           (fetchurl {
-             sha256 = {  "8" = "0rwwvk1mkfnl0b50xg7kh6015kjmsw2ra0ckrzmabl88z4bnzh2y";
-                        "11" = "0lc9as2a00j74lp7jby4p10vn5bbkiydzvzk28zfcbsp28p4wvwn";
-                      }.${javaVersion};
-             url    = "https://github.com/oracle/truffleruby/releases/download/vm-${version}/ruby-installable-svm-java${javaVersion}-linux-amd64-${version}.jar";
+             sha256 = {  "8-linux-amd64"  = "122p8psgmzhqnjb2fy1lwghg0kw5qa8xkzgyjp682lwg4j8brz43";
+                        "11-linux-amd64"  = "1vdc90m6s013cbhmj58nb4vyxllbxirw0idlgv0iv9cyhx90hzgz";
+                         "8-darwin-amd64" = "04q0s9xsaskqn9kbhz0mgdk28j2qnxrzqfmw6jn2znr8s8jsc6yp";
+                        "11-darwin-amd64" = "1pw4xd8g5cc9bm52awmm1zxs96ijws43vws7y10wxa6a0nhv7z5f";
+                      }.${javaVersionPlatform};
+             url    = "https://github.com/oracle/truffleruby/releases/download/vm-${version}/ruby-installable-svm-java${javaVersionPlatform}-${version}.jar";
           })
           (fetchurl {
-             sha256 = {  "8" = "0mj8p72qgvvrwpsbk0bsqldynlz1wq07icf951wq5xdbr0whj1gz";
-                        "11" = "1lkszqn4islsza011iabayv6riym0dwnkv83pkmk06b230qjfhzb";
-                      }.${javaVersion};
-             url    = "https://github.com/graalvm/graalpython/releases/download/vm-${version}/python-installable-svm-java${javaVersion}-linux-amd64-${version}.jar";
+             sha256 = {  "8-linux-amd64"  = "19m7n4f5jrmsfvgv903sarkcjh55l0nlnw99lvjlcafw5hqzyb91";
+                        "11-linux-amd64"  = "18ibb7l7b4hmbnvyr8j7mrs11mvlsf2j0c8rdd2s93x2114f26ba";
+                         "8-darwin-amd64" = "1zlzi00339kvg4ym2j75ypfkzn8zbwdpriqmkaz4fh28qjmc1dwq";
+                        "11-darwin-amd64" = "0x301i1fimakhi2x29ldr0fsqkb3qs0g9jsmjv27d62dpqx8kgc8";
+                      }.${javaVersionPlatform};
+             url    = "https://github.com/graalvm/graalpython/releases/download/vm-${version}/python-installable-svm-java${javaVersionPlatform}-${version}.jar";
           })
           (fetchurl {
-             sha256 = {  "8" = "1br7camk7y8ych43ws57096100f9kzjvqznh2flmws78ipcrrb66";
-                        "11" = "10swxspjvzh0j82lbpy38dckk69lw1pawqkhnj1hxd05ls36fwq5";
-                      }.${javaVersion};
-             url    = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${version}/wasm-installable-svm-java${javaVersion}-linux-amd64-${version}.jar";
+             sha256 = {  "8-linux-amd64"  = "0dlgbg6kri89r9zbk6n0ch3g8356j1g35bwjng87c2y5y0vcw0b5";
+                        "11-linux-amd64"  = "1yby65hww6zmd2g5pjwbq5pv3iv4gfv060b8fq75fjhwrisyj5gd";
+                         "8-darwin-amd64" = "1smdj491g23i3z7p5rybid18nnz8bphrqjkv0lg2ffyrpn8k6g93";
+                        "11-darwin-amd64" = "056zyn0lpd7741k1szzjwwacka0g7rn0j4ypfmav4h1245mjg8lx";
+                      }.${javaVersionPlatform};
+             url    = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${version}/wasm-installable-svm-java${javaVersionPlatform}-${version}.jar";
           })
         ];
-        nativeBuildInputs = [ unzip perl ];
+
+        buildInputs = lib.optionals stdenv.isLinux [
+          alsaLib # libasound.so wanted by lib/libjsound.so
+          fontconfig
+          freetype
+          openssl # libssl.so wanted by languages/ruby/lib/mri/openssl.so
+          stdenv.cc.cc.lib # libstdc++.so.6
+          xorg.libX11
+          xorg.libXext
+          xorg.libXi
+          xorg.libXrender
+          xorg.libXtst
+          zlib
+        ];
+
+        # Workaround for libssl.so.10 wanted by TruffleRuby
+        # Resulting TruffleRuby cannot use `openssl` library.
+        autoPatchelfIgnoreMissingDeps = true;
+
+        nativeBuildInputs = [ unzip perl autoPatchelfHook makeWrapper ];
+
         unpackPhase = ''
            unpack_jar() {
              jar=$1
-             unzip -o $jar -d $out
+             unzip -q -o $jar -d $out
              perl -ne 'use File::Path qw(make_path);
                        use File::Basename qw(dirname);
                        if (/^(.+) = (.+)$/) {
@@ -60,7 +122,27 @@ let
 
            mkdir -p $out
            arr=($srcs)
-           tar xf ''${arr[0]} -C $out --strip-components=1
+
+           # The tarball on Linux has the following directory structure:
+           #
+           #   graalvm-ce-java11-20.3.0/*
+           #
+           # while on Darwin it looks like this:
+           #
+           #   graalvm-ce-java11-20.3.0/Contents/Home/*
+           #
+           # We therefor use --strip-components=1 vs 3 depending on the platform.
+           tar xf ''${arr[0]} -C $out --strip-components=${if stdenv.isLinux then "1" else "3"}
+
+           # Sanity check
+           if [ ! -d $out/bin ]; then
+              echo "The `bin` is directory missing after extracting the graalvm"
+              echo "tarball, please compare the directory structure of the"
+              echo "tarball with what happens in the unpackPhase (in particular"
+              echo "with regards to the `--strip-components` flag)."
+              exit 1
+           fi
+
            unpack_jar ''${arr[1]}
            unpack_jar ''${arr[2]}
            unpack_jar ''${arr[3]}
@@ -68,7 +150,7 @@ let
         '';
 
         installPhase = {
-          "8" = ''
+          "8-linux-amd64" = ''
             # BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html
             substituteInPlace $out/jre/lib/security/java.security \
               --replace file:/dev/random    file:/dev/./urandom \
@@ -76,13 +158,13 @@ let
 
             # provide libraries needed for static compilation
             for f in ${glibc}/lib/* ${glibc.static}/lib/* ${zlib.static}/lib/*; do
-              ln -s $f $out/jre/lib/svm/clibraries/linux-amd64/$(basename $f)
+              ln -s $f $out/jre/lib/svm/clibraries/${platform}/$(basename $f)
             done
 
             # allow using external truffle-api.jar and languages not included in the distrubution
             rm $out/jre/lib/jvmci/parentClassLoader.classpath
           '';
-          "11" = ''
+          "11-linux-amd64" = ''
             # BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html
             substituteInPlace $out/conf/security/java.security \
               --replace file:/dev/random    file:/dev/./urandom \
@@ -90,41 +172,51 @@ let
 
             # provide libraries needed for static compilation
             for f in ${glibc}/lib/* ${glibc.static}/lib/* ${zlib.static}/lib/*; do
-              ln -s $f $out/lib/svm/clibraries/linux-amd64/$(basename $f)
+              ln -s $f $out/lib/svm/clibraries/${platform}/$(basename $f)
             done
-           '';
-        }.${javaVersion};
+          '';
+          "8-darwin-amd64" = ''
+            # allow using external truffle-api.jar and languages not included in the distrubution
+            rm $out/jre/lib/jvmci/parentClassLoader.classpath
+          '';
+          "11-darwin-amd64" = ''
+            echo ""
+          '';
+        }.${javaVersionPlatform};
 
         dontStrip = true;
 
-        # copy-paste openjdk's preFixup
         preFixup = ''
+          # We cannot use -exec since wrapProgram is a function but not a
+          # command.
+          #
+          # jspawnhelper is executed from JVM, so it doesn't need to wrap it,
+          # and it breaks building OpenJDK (#114495).
+          for bin in $( find "$out" -executable -type f -not -path '*/languages/ruby/lib/gems/*' -not -name jspawnhelper ); do
+            if patchelf --print-interpreter "$bin" &> /dev/null || head -n 1 "$bin" | grep '^#!' -q; then
+              wrapProgram "$bin" \
+                --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}"
+            fi
+          done
+
+          # copy-paste openjdk's preFixup
           # Set JAVA_HOME automatically.
           mkdir -p $out/nix-support
           cat <<EOF > $out/nix-support/setup-hook
             if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
           EOF
-        '';
 
-        postFixup = ''
-          rpath="${ {  "8" = "$out/jre/lib/amd64/jli:$out/jre/lib/amd64/server:$out/jre/lib/amd64";
-                      "11" = "$out/lib/jli:$out/lib/server:$out/lib";
-                    }.${javaVersion}
-                 }:${
-            lib.makeLibraryPath [
-              stdenv.cc.cc.lib # libstdc++.so.6
-              zlib             # libz.so.1
-            ]}"
-
-          for f in $(find $out -type f -perm -0100); do
-            patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$f" || true
-            patchelf --set-rpath   "$rpath"                                    "$f" || true
-
-            if ldd "$f" | fgrep 'not found'; then echo "in file $f"; fi
-          done
+          find "$out" -name libfontmanager.so -exec \
+            patchelf --add-needed libfontconfig.so {} \;
         '';
 
-        propagatedBuildInputs = [ setJavaClassPath zlib ]; # $out/bin/native-image needs zlib to build native executables
+        # $out/bin/native-image needs zlib to build native executables.
+        propagatedBuildInputs = [ setJavaClassPath zlib ] ++
+          # On Darwin native-image calls clang and it
+          # tries to include <Foundation/Foundation.h>,
+          # and Interactive Ruby (irb) requires OpenSSL
+          # headers.
+          lib.optionals stdenv.hostPlatform.isDarwin [ Foundation openssl ];
 
         doInstallCheck = true;
         installCheckPhase = ''
@@ -141,13 +233,35 @@ let
           $out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld | fgrep 'Hello World'
 
           # Ahead-Of-Time compilation
-          $out/bin/native-image --no-server HelloWorld
+          $out/bin/native-image -H:-CheckToolchain -H:+ReportExceptionStackTraces --no-server HelloWorld
           ./helloworld | fgrep 'Hello World'
 
-          # Ahead-Of-Time compilation with --static
-          $out/bin/native-image --no-server --static HelloWorld
-          ./helloworld | fgrep 'Hello World'
-        '';
+          ${lib.optionalString stdenv.isLinux ''
+            # Ahead-Of-Time compilation with --static
+            # --static flag doesn't work for darwin
+            $out/bin/native-image --no-server --static HelloWorld
+            ./helloworld | fgrep 'Hello World'
+          ''}
+
+          echo "Testing interpreted languages"
+          $out/bin/graalpython -c 'print(1 + 1)'
+          $out/bin/ruby -e 'puts(1 + 1)'
+          $out/bin/node -e 'console.log(1 + 1)'
+
+          echo '1 + 1' | $out/bin/graalpython
+
+          ${lib.optionalString stdenv.isLinux ''
+            # TODO: `irb` on MacOS gives an error saying "Could not find OpenSSL
+            # headers, install via Homebrew or MacPorts or set OPENSSL_PREFIX", even
+            # though `openssl` is in `propagatedBuildInputs`. For more details see:
+            # https://github.com/NixOS/nixpkgs/pull/105815
+            echo '1 + 1' | $out/bin/irb
+          ''}
+
+          echo '1 + 1' | $out/bin/node -i
+        ${lib.optionalString (javaVersion == "11") ''
+          echo '1 + 1' | $out/bin/jshell
+        ''}'';
 
         passthru.home = graalvmXXX-ce;
 
@@ -156,7 +270,7 @@ let
           description = "High-Performance Polyglot VM";
           license = with licenses; [ upl gpl2Classpath bsd3 ];
           maintainers = with maintainers; [ bandresen volth hlolli glittershark ];
-          platforms = [ "x86_64-linux" ];
+          platforms = [ "x86_64-linux" "x86_64-darwin" ];
         };
       };
     in
diff --git a/pkgs/development/compilers/graalvm/enterprise-edition.nix b/pkgs/development/compilers/graalvm/enterprise-edition.nix
index c9c5206f6da3a..eb3045d52ad6a 100644
--- a/pkgs/development/compilers/graalvm/enterprise-edition.nix
+++ b/pkgs/development/compilers/graalvm/enterprise-edition.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, requireFile, perl, unzip, glibc, zlib, bzip2, gdk-pixbuf, xorg, glib, fontconfig, freetype, cairo, pango, gtk3, gtk2, ffmpeg, libGL, atk, alsaLib, libav_0_8, setJavaClassPath }:
+{ lib, stdenv, requireFile, perl, unzip, glibc, zlib, bzip2, gdk-pixbuf, xorg, glib, fontconfig, freetype, cairo, pango, gtk3, gtk2, ffmpeg, libGL, atk, alsaLib, setJavaClassPath }:
 
 let
   common = javaVersion:
diff --git a/pkgs/development/compilers/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix
index cd613c1b33be5..2ddc5b3d3a891 100644
--- a/pkgs/development/compilers/kotlin/default.nix
+++ b/pkgs/development/compilers/kotlin/default.nix
@@ -12,7 +12,8 @@ in stdenv.mkDerivation {
   };
 
   propagatedBuildInputs = [ jre ] ;
-  buildInputs = [ makeWrapper unzip ] ;
+  buildInputs = [ unzip ] ;
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out
diff --git a/pkgs/development/compilers/llvm/11/clang/default.nix b/pkgs/development/compilers/llvm/11/clang/default.nix
index 3a3e384ad9827..2e03112d827d4 100644
--- a/pkgs/development/compilers/llvm/11/clang/default.nix
+++ b/pkgs/development/compilers/llvm/11/clang/default.nix
@@ -8,7 +8,7 @@ let
     pname = "clang";
     inherit version;
 
-    src = fetch "clang" "0kab4zmkxffg98a3rx95756jlwhxflalin5w05g1anpwxv175xbk";
+    src = fetch "clang" "12sm91qx2m79cvj75a9aazf2x8xybjbd593dv6v7rxficpq8i0ha";
     inherit clang-tools-extra_src;
 
     unpackPhase = ''
diff --git a/pkgs/development/compilers/llvm/11/compiler-rt.nix b/pkgs/development/compilers/llvm/11/compiler-rt.nix
index 091f327550b88..5e9e436768511 100644
--- a/pkgs/development/compilers/llvm/11/compiler-rt.nix
+++ b/pkgs/development/compilers/llvm/11/compiler-rt.nix
@@ -11,7 +11,7 @@ in
 stdenv.mkDerivation rec {
   pname = "compiler-rt";
   inherit version;
-  src = fetch pname "1z470r8c5aahdwkmflglx998n0i77j8b1c69d7cir1kf27qy6yq8";
+  src = fetch pname "0x1j8ngf1zj63wlnns9vlibafq48qcm72p4jpaxkmkb4qw0grwfy";
 
   nativeBuildInputs = [ cmake python3 llvm ];
   buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
diff --git a/pkgs/development/compilers/llvm/11/default.nix b/pkgs/development/compilers/llvm/11/default.nix
index ca9ef4382b4b5..e4d9f45c955eb 100644
--- a/pkgs/development/compilers/llvm/11/default.nix
+++ b/pkgs/development/compilers/llvm/11/default.nix
@@ -6,7 +6,7 @@
 }:
 
 let
-  release_version = "11.0.1";
+  release_version = "11.1.0";
   candidate = ""; # empty or "rcN"
   dash-candidate = lib.optionalString (candidate != "") "-${candidate}";
   version = "${release_version}${dash-candidate}"; # differentiating these (variables) is important for RCs
@@ -17,7 +17,7 @@ let
     inherit sha256;
   };
 
-  clang-tools-extra_src = fetch "clang-tools-extra" "1j8n6n4l54k2lrdxh266y1fl4z8vy5dc76wsf0csk5n3ikfi38ic";
+  clang-tools-extra_src = fetch "clang-tools-extra" "18n1w1hkv931xzq02b34wglbv6zd6sd0r5kb8piwvag7klj7qw3n";
 
   tools = lib.makeExtensible (tools: let
     callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; });
diff --git a/pkgs/development/compilers/llvm/11/libc++/default.nix b/pkgs/development/compilers/llvm/11/libc++/default.nix
index 7a34977afe242..0bb1ae33acd96 100644
--- a/pkgs/development/compilers/llvm/11/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/11/libc++/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
   pname = "libc++";
   inherit version;
 
-  src = fetch "libcxx" "0gaybwkn76vhakvipxslp7pmv2wm7agxkqwk5f5aizhzc9lzdmcz";
+  src = fetch "libcxx" "1rgqsqpgi0vkga5d7hy0iyfsqgzfz7q1xy7afdfa1snp1qjks8xv";
 
   postUnpack = ''
     unpackFile ${libcxxabi.src}
diff --git a/pkgs/development/compilers/llvm/11/libc++abi.nix b/pkgs/development/compilers/llvm/11/libc++abi.nix
index 22e4ac4abe4ca..d941044ca6058 100644
--- a/pkgs/development/compilers/llvm/11/libc++abi.nix
+++ b/pkgs/development/compilers/llvm/11/libc++abi.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
   pname = "libc++abi";
   inherit version;
 
-  src = fetch "libcxxabi" "0gv8pxq95gvsybldj21hdfkmm0r5cn1z7jhd72l231n0lmb70saa";
+  src = fetch "libcxxabi" "1azcf31mxw59hb1x17xncnm3dyw90ylh8rqx462lvypqh3nr6c8l";
 
   nativeBuildInputs = [ cmake ];
   buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind;
diff --git a/pkgs/development/compilers/llvm/11/libunwind.nix b/pkgs/development/compilers/llvm/11/libunwind.nix
index 1b5fe0f578805..0c635cabc0a97 100644
--- a/pkgs/development/compilers/llvm/11/libunwind.nix
+++ b/pkgs/development/compilers/llvm/11/libunwind.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   pname = "libunwind";
   inherit version;
 
-  src = fetch pname "0zsixkaiwp007afxlpsf5dc7wfrv8sj9wxzjw6f1r4bjv1rv3cvd";
+  src = fetch pname "1vpqs2c358v8fbr1r8jmzkfqk12jllimjcfmgxga127ksq9b37nj";
 
   nativeBuildInputs = [ cmake ];
 
diff --git a/pkgs/development/compilers/llvm/11/lld.nix b/pkgs/development/compilers/llvm/11/lld.nix
index cead886f49b7a..1a16184a6e71a 100644
--- a/pkgs/development/compilers/llvm/11/lld.nix
+++ b/pkgs/development/compilers/llvm/11/lld.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   pname = "lld";
   inherit version;
 
-  src = fetch pname "1dq82dkam8x2niha18v7ckh30zmzyclydzipqkf7h41r3ah0vfk0";
+  src = fetch pname "1kk61i7z5bi9i11rzsd2b388d42if1c7a45zkaa4mk0yps67hyh1";
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ llvm libxml2 ];
diff --git a/pkgs/development/compilers/llvm/11/lldb.nix b/pkgs/development/compilers/llvm/11/lldb.nix
index fcc73cfdeb6dd..2f54305736ac0 100644
--- a/pkgs/development/compilers/llvm/11/lldb.nix
+++ b/pkgs/development/compilers/llvm/11/lldb.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation (rec {
   pname = "lldb";
   inherit version;
 
-  src = fetch pname "1yzjbsn81l2r3v9js2fxrglkwvz1f2rxyxh6430nydbrs0bqklz8";
+  src = fetch pname "1vlyg015dyng43xqb8cg2l6r9ix8klibxsajazbfnckdnh54hwxj";
 
   patches = [ ./lldb-procfs.patch ];
 
diff --git a/pkgs/development/compilers/llvm/11/llvm.nix b/pkgs/development/compilers/llvm/11/llvm.nix
index 868da1a5b2078..cb44643ff78f2 100644
--- a/pkgs/development/compilers/llvm/11/llvm.nix
+++ b/pkgs/development/compilers/llvm/11/llvm.nix
@@ -32,8 +32,8 @@ in stdenv.mkDerivation (rec {
   pname = "llvm";
   inherit version;
 
-  src = fetch pname "0a5mb65xa5bal8q6cb37xgkqis2bip87fsafgq3wbsva9cjprn6c";
-  polly_src = fetch "polly" "1smrqm9s0r2g9h0v0nil6y9wn2ih4l5bddk4dhgn538ngc7cxpq8";
+  src = fetch pname "199yq3a214avcbi4kk2q0ajriifkvsr0l2dkx3a666m033ihi1ff";
+  polly_src = fetch "polly" "031r23ijhx7v93a5n33m2nc0x9xyqmx0d8xg80z7q971p6qd63sq";
 
   unpackPhase = ''
     unpackFile $src
diff --git a/pkgs/development/compilers/llvm/11/openmp.nix b/pkgs/development/compilers/llvm/11/openmp.nix
index 5503a98ae5f64..c99358cd28780 100644
--- a/pkgs/development/compilers/llvm/11/openmp.nix
+++ b/pkgs/development/compilers/llvm/11/openmp.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetch
+, fetchpatch
 , cmake
 , llvm
 , perl
@@ -11,7 +12,16 @@ stdenv.mkDerivation rec {
   pname = "openmp";
   inherit version;
 
-  src = fetch pname "19rcv25y41ww3zlfg0lwprzijl3cn7jgc0v5540jzpp7j0ds45ad";
+  src = fetch pname "0bh5cswgpc79awlq8j5i7hp355adaac7s6zaz0zwp6mkflxli1yi";
+
+  patches = [
+    # Fix compilation on aarch64-darwin, remove after the next release.
+    (fetchpatch {
+      url = "https://github.com/llvm/llvm-project/commit/7b5254223acbf2ef9cd278070c5a84ab278d7e5f.patch";
+      sha256 = "sha256-A+9/IVIoazu68FK5H5CiXcOEYe1Hpp4xTx2mIw7m8Es=";
+      stripLen = 1;
+    })
+  ];
 
   nativeBuildInputs = [ cmake perl ];
   buildInputs = [ llvm ];
diff --git a/pkgs/development/compilers/llvm/rocm/default.nix b/pkgs/development/compilers/llvm/rocm/default.nix
index 94b6ee71032a6..54a7733f4baef 100644
--- a/pkgs/development/compilers/llvm/rocm/default.nix
+++ b/pkgs/development/compilers/llvm/rocm/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchFromGitHub, callPackage, wrapCCWith }:
 
 let
-  version = "4.0.0";
+  version = "4.0.1";
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "llvm-project";
     rev = "rocm-${version}";
-    hash = "sha256-nIvqEk18NLtY8Hec2Iq6ufWMblzYJ8SOIXgqomtqa0s=";
+    hash = "sha256-5mQ8tN7A045JCF7tHKgAZAbyVmXOd6Wf0CVUiPA80YM=";
   };
 in rec {
   clang = wrapCCWith rec {
diff --git a/pkgs/development/compilers/lobster/default.nix b/pkgs/development/compilers/lobster/default.nix
index b65d640b4751f..59e853f4c7e90 100644
--- a/pkgs/development/compilers/lobster/default.nix
+++ b/pkgs/development/compilers/lobster/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lobster";
-  version = "unstable-2020-10-04";
+  version = "unstable-2020-12-25";
 
   src = fetchFromGitHub {
     owner = "aardappel";
     repo = pname;
-    rev = "4c5e78f021ce9d06592fb3a66388e5e31fac1adb";
-    sha256 = "1wnbc8kr1dyfs53nlcxah22ghphmazzrlcj9z47cgkdsj1qfy84x";
+    rev = "70e44d475995b03363dedf9c2bcb817b0db8fdcf";
+    sha256 = "0azhminzrkbpvkapass1kccd6123bg7qmcbnzr5774n6bz5365g3";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -48,7 +48,9 @@ stdenv.mkDerivation rec {
 
   passthru = {
     tests.can-run-hello-world = callPackage ./test-can-run-hello-world.nix {};
-    updateScript = unstableGitUpdater { };
+    updateScript = unstableGitUpdater {
+      url = "https://github.com/aardappel/lobster";
+    };
   };
 
   meta = with lib; {
diff --git a/pkgs/development/compilers/mercury/default.nix b/pkgs/development/compilers/mercury/default.nix
index e063c4c09217c..c5e767a46cde4 100644
--- a/pkgs/development/compilers/mercury/default.nix
+++ b/pkgs/development/compilers/mercury/default.nix
@@ -10,8 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "ef093ae81424c4f3fe696eff9aefb5fb66899e11bb17ae0326adfb70d09c1c1f";
   };
 
-  buildInputs = [ gcc flex bison texinfo jdk erlang makeWrapper
-                  readline ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ gcc flex bison texinfo jdk erlang readline ];
 
   patchPhase = ''
     # Fix calls to programs in /bin
diff --git a/pkgs/development/compilers/microscheme/default.nix b/pkgs/development/compilers/microscheme/default.nix
index ee2de8518f361..1f3a98de821eb 100644
--- a/pkgs/development/compilers/microscheme/default.nix
+++ b/pkgs/development/compilers/microscheme/default.nix
@@ -1,21 +1,24 @@
-{ lib, stdenv, fetchzip, vim, makeWrapper }:
+{ lib, stdenv, fetchFromGitHub, makeWrapper, unixtools }:
 
 stdenv.mkDerivation rec {
   pname = "microscheme";
   version = "0.9.3";
 
-  src = fetchzip {
-    name = "${pname}-${version}-src";
-    url = "https://github.com/ryansuchocki/microscheme/archive/v${version}.tar.gz";
-    sha256 = "1r3ng4pw1s9yy1h5rafra1rq19d3vmb5pzbpcz1913wz22qdd976";
+  src = fetchFromGitHub {
+    owner = "ryansuchocki";
+    repo = "microscheme";
+    rev = "v${version}";
+    sha256 = "5qTWsBCfj5DCZ3f9W1bdo6WAc1DZqVxg8D7pwC95duQ=";
   };
 
-  buildInputs = [ makeWrapper vim ];
-
-  installPhase = ''
-    make install PREFIX=$out
+  postPatch = ''
+    substituteInPlace makefile --replace gcc ${stdenv.cc.targetPrefix}cc
   '';
 
+  nativeBuildInputs = [ makeWrapper unixtools.xxd ];
+
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
   meta = with lib; {
     homepage = "http://microscheme.org";
     description = "A Scheme subset for Atmel microcontrollers";
@@ -24,7 +27,7 @@ stdenv.mkDerivation rec {
       microcontrollers, especially as found on Arduino boards.
     '';
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.all;
     maintainers = with maintainers; [ ardumont ];
   };
 }
diff --git a/pkgs/development/compilers/miranda/default.nix b/pkgs/development/compilers/miranda/default.nix
index 298cb5e21ead7..ab34f833d75ed 100644
--- a/pkgs/development/compilers/miranda/default.nix
+++ b/pkgs/development/compilers/miranda/default.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
   ];
 
   makeFlags = [
-    "CC=cc"
+    "CC=${stdenv.cc.targetPrefix}cc"
     "CFLAGS=-O2"
     "PREFIX=${placeholder "out"}"
   ];
@@ -62,6 +62,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     patchShebangs quotehostinfo
+    substituteInPlace Makefile --replace strip '${stdenv.cc.targetPrefix}strip'
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/compilers/mlkit/default.nix b/pkgs/development/compilers/mlkit/default.nix
index 5fc134f5ab264..1769b31b5a5cd 100644
--- a/pkgs/development/compilers/mlkit/default.nix
+++ b/pkgs/development/compilers/mlkit/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mlkit";
-  version = "4.5.6";
+  version = "4.5.7";
 
   src = fetchFromGitHub {
     owner = "melsman";
     repo = "mlkit";
     rev = "v${version}";
-    sha256 = "sha256-aa6dRcGTXGakJsHCvHXRKs5BHtIZi6V2r8348epzpVc=";
+    sha256 = "sha256-Wq+Os7nzRA5Pxz6Ba7DudcDQs3KA0eYVLy1nO/A16EE=";
   };
 
   nativeBuildInputs = [ autoreconfHook mlton ];
diff --git a/pkgs/development/compilers/mosml/default.nix b/pkgs/development/compilers/mosml/default.nix
index ec8fa793cfd48..f6d2053f315c9 100644
--- a/pkgs/development/compilers/mosml/default.nix
+++ b/pkgs/development/compilers/mosml/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ gmp perl ];
 
-  makeFlags = [ "PREFIX=$(out)" ] ++ lib.optionals stdenv.isDarwin [ "CC=cc" ];
+  makeFlags = [ "PREFIX=$(out)" "CC=${stdenv.cc.targetPrefix}cc" ];
 
   src = fetchurl {
     url = "https://github.com/kfl/mosml/archive/ver-${version}.tar.gz";
diff --git a/pkgs/development/compilers/mozart/binary.nix b/pkgs/development/compilers/mozart/binary.nix
index 8366fd77a47af..b043187e6c1ee 100644
--- a/pkgs/development/compilers/mozart/binary.nix
+++ b/pkgs/development/compilers/mozart/binary.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
 
   TK_LIBRARY = "${tk-8_5}/lib/tk8.5";
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   buildCommand = ''
     mkdir $out
diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix
index 27427e75d0039..75b1a0f002039 100644
--- a/pkgs/development/compilers/nim/default.nix
+++ b/pkgs/development/compilers/nim/default.nix
@@ -4,10 +4,10 @@
 , pcre, readline, boehmgc, sqlite, nim-unwrapped, nimble-unwrapped }:
 
 let
-  version = "1.4.2";
+  version = "1.4.4";
   src = fetchurl {
     url = "https://nim-lang.org/download/nim-${version}.tar.xz";
-    sha256 = "0q8i56343b69f1bh48a8vxkqman9i2kscyj0lf017n3xfy1pb903";
+    sha256 = "03k642nnjca0s6jlbn1v4jld51mbkix97jli4ky74gqlxyfp4wvd";
   };
 
   meta = with lib; {
@@ -156,13 +156,13 @@ let
 
     nimble-unwrapped = stdenv.mkDerivation rec {
       pname = "nimble-unwrapped";
-      version = "0.12.0";
+      version = "0.13.1";
 
       src = fetchFromGitHub {
         owner = "nim-lang";
         repo = "nimble";
         rev = "v" + version;
-        sha256 = "0vx0mdk31n00dr2rhiip6f4x7aa3z3mnblnmwk7f65ixd5hayq6y";
+        sha256 = "1idb4r0kjbqv16r6bgmxlr13w2vgq5332hmnc8pjbxiyfwm075x8";
       };
 
       nativeBuildInputs = [ nim-unwrapped ];
diff --git a/pkgs/development/compilers/ocaml/4.12.nix b/pkgs/development/compilers/ocaml/4.12.nix
index c422d2a15a3f3..0662e66e0b6ab 100644
--- a/pkgs/development/compilers/ocaml/4.12.nix
+++ b/pkgs/development/compilers/ocaml/4.12.nix
@@ -1,9 +1,6 @@
 import ./generic.nix {
   major_version = "4";
   minor_version = "12";
-  patch_version = "0-beta1";
-  src = fetchTarball {
-    url = "http://caml.inria.fr/pub/distrib/ocaml-4.12/ocaml-4.12.0~beta1.tar.xz";
-    sha256 = "1rny74mi0knl8byqg2naw1mgvn22c2zihlwvzbkd56j97flqsxsm";
-  };
+  patch_version = "0";
+  sha256 = "1hxy349jfa2vkfgmxf6pvd9w4z5bmcgsg0fxfdabcghyvjw9vvir";
 }
diff --git a/pkgs/development/compilers/openjdk/11.nix b/pkgs/development/compilers/openjdk/11.nix
index 18440a718d19d..a24dca373f1ee 100644
--- a/pkgs/development/compilers/openjdk/11.nix
+++ b/pkgs/development/compilers/openjdk/11.nix
@@ -11,8 +11,8 @@
 let
   major = "11";
   minor = "0";
-  update = "9";
-  build = "11";
+  update = "10";
+  build = "9";
 
   openjdk = stdenv.mkDerivation rec {
     pname = "openjdk" + lib.optionalString headless "-headless";
@@ -22,7 +22,7 @@ let
       owner = "openjdk";
       repo = "jdk${major}u";
       rev = "jdk-${version}";
-      sha256 = "11j2rqz9nag5y562g99py4p72f2kv4wwwyrnaspmrzax00wynyx7";
+      sha256 = "06pm3hpz4ggiqwvkgzxr39y9kga7vk4flakfznz5979bvgb926vw";
     };
 
     nativeBuildInputs = [ pkg-config autoconf ];
diff --git a/pkgs/development/compilers/openjdk/darwin/11.nix b/pkgs/development/compilers/openjdk/darwin/11.nix
index 64654351886f5..069380802ac5f 100644
--- a/pkgs/development/compilers/openjdk/darwin/11.nix
+++ b/pkgs/development/compilers/openjdk/darwin/11.nix
@@ -7,11 +7,11 @@ let
   };
 
   jdk = stdenv.mkDerivation rec {
-    name = "zulu11.2.3-jdk11.0.1";
+    name = "zulu11.43.21-ca-jdk11.0.9";
 
     src = fetchurl {
       url = "https://cdn.azul.com/zulu/bin/${name}-macosx_x64.tar.gz";
-      sha256 = "1jxnxmy79inwf3146ygry1mzv3dj6yrzqll16j7dpr91x1p3dpqy";
+      sha256 = "1j19fb5mwdkfn6y8wfsnvxsz6wfpcab4xv439fqssxy520n6q4zs";
       curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/zulu-mac/";
     };
 
diff --git a/pkgs/development/compilers/ophis/default.nix b/pkgs/development/compilers/ophis/default.nix
new file mode 100644
index 0000000000000..f28513a9bb269
--- /dev/null
+++ b/pkgs/development/compilers/ophis/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildPythonApplication, fetchFromGitHub }:
+
+buildPythonApplication rec {
+  pname = "ophis";
+  version = "unstable-2019-04-13";
+
+  src = fetchFromGitHub {
+    owner = "michaelcmartin";
+    repo = "Ophis";
+    rev = "99f074da278d4ec80689c0e22e20c5552ea12512";
+    sha256 = "2x8vwLTSngqQqmVrVh/mM4peATgaRqOSwrfm5XCkg/g=";
+  };
+
+  sourceRoot = "./src";
+
+  meta = with lib; {
+    homepage = "http://michaelcmartin.github.io/Ophis/";
+    description = "A cross-assembler for the 6502 series of microprocessors";
+    longDescription = ''
+      Ophis is an assembler for the 6502 microprocessor - the famous chip used
+      in the vast majority of the classic 8-bit computers and consoles. Its
+      primary design goals are code readability and output flexibility - Ophis
+      has successfully been used to create programs for the Nintendo
+      Entertainment System, the Atari 2600, and the Commodore 64.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ AndersonTorres ];
+  };
+}
diff --git a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
index c44d7fc116fe1..41f4befe469fb 100644
--- a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
@@ -18,7 +18,6 @@
 , config
 , glib
 , libxml2
-, libav_0_8
 , ffmpeg_3
 , libxslt
 , libGL
@@ -84,11 +83,9 @@ let result = stdenv.mkDerivation rec {
       sha256 = sha256.${stdenv.hostPlatform.system};
     };
 
-  nativeBuildInputs = [ file ]
+  nativeBuildInputs = [ file makeWrapper ]
     ++ lib.optional installjce unzip;
 
-  buildInputs = [ makeWrapper ];
-
   # See: https://github.com/NixOS/patchelf/issues/10
   dontStrip = 1;
 
@@ -171,8 +168,8 @@ let result = stdenv.mkDerivation rec {
    * libXt is only needed on amd64
    */
   libraries =
-    [stdenv.cc.libc glib libxml2 libav_0_8 ffmpeg_3 libxslt libGL xorg.libXxf86vm alsaLib fontconfig freetype pango gtk2 cairo gdk-pixbuf atk] ++
-    (if swingSupport then [xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp xorg.libXt xorg.libXrender stdenv.cc.cc] else []);
+    [stdenv.cc.libc glib libxml2 ffmpeg_3 libxslt libGL xorg.libXxf86vm alsaLib fontconfig freetype pango gtk2 cairo gdk-pixbuf atk] ++
+    lib.optionals swingSupport [xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp xorg.libXt xorg.libXrender stdenv.cc.cc];
 
   rpath = lib.strings.makeLibraryPath libraries;
 
diff --git a/pkgs/development/compilers/oraclejdk/jdk11-linux.nix b/pkgs/development/compilers/oraclejdk/jdk11-linux.nix
index 7e0e5cae7ca5a..eafe23c8e76df 100644
--- a/pkgs/development/compilers/oraclejdk/jdk11-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk11-linux.nix
@@ -9,12 +9,12 @@
 
 let result = stdenv.mkDerivation rec {
   pname = "oraclejdk";
-  version = "11.0.8";
+  version = "11.0.10";
 
   src = requireFile {
     name = "jdk-${version}_linux-x64_bin.tar.gz";
     url = "https://www.oracle.com/java/technologies/javase-jdk11-downloads.html";
-    sha256 = "6390878c91e29bad7b2483eb0b470620bd145269600f3b6a9d65724e6f83b6fd";
+    sha256 = "94bd34f85ee38d3ef59e5289ec7450b9443b924c55625661fffe66b03f2c8de2";
   };
 
   installPhase = ''
diff --git a/pkgs/development/compilers/owl-lisp/default.nix b/pkgs/development/compilers/owl-lisp/default.nix
index 1d8ba03e72fc5..2471910fdb5b0 100644
--- a/pkgs/development/compilers/owl-lisp/default.nix
+++ b/pkgs/development/compilers/owl-lisp/default.nix
@@ -1,22 +1,19 @@
-{ lib, stdenv, fetchFromGitLab, coreutils, which }:
+{ lib, stdenv, fetchFromGitLab, which }:
 
 stdenv.mkDerivation rec {
   pname = "owl-lisp";
-  version = "0.1.23";
+  version = "0.2";
 
   src = fetchFromGitLab {
     owner  = "owl-lisp";
     repo   = "owl";
     rev    = "v${version}";
-    sha256 = "1indcbicqcdlk9sinkdyhk50fi1b4cb7yrr14vr874gjzmwr2l3i";
+    sha256 = "sha256-G12yZxlq6Hss5j4Seq1hcPQWXMIeL2Z8VkBdmIGESX8=";
   };
 
   nativeBuildInputs = [ which ];
 
-  prePatch = ''
-    substituteInPlace Makefile \
-      --replace /usr $out
-  '';
+  makeFlags = [ "PREFIX=${placeholder "out"}" "CC=${stdenv.cc.targetPrefix}cc" ];
 
   # tests are run as part of the compilation process
   doCheck = false;
@@ -26,6 +23,6 @@ stdenv.mkDerivation rec {
     homepage    = "https://gitlab.com/owl-lisp/owl";
     license     = licenses.mit;
     maintainers = with maintainers; [ peterhoeg ];
-    platforms   = platforms.linux;
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix
index 3a2e3c4b944c9..9fc8188daa101 100644
--- a/pkgs/development/compilers/ponyc/default.nix
+++ b/pkgs/development/compilers/ponyc/default.nix
@@ -1,15 +1,15 @@
-{ lib, stdenv, fetchFromGitHub, fetchurl, makeWrapper, pcre2, coreutils, which, libressl, libxml2, cmake, z3, substituteAll,
+{ lib, stdenv, fetchFromGitHub, fetchurl, makeWrapper, pcre2, coreutils, which, openssl, libxml2, cmake, z3, substituteAll,
   cc ? stdenv.cc, lto ? !stdenv.isDarwin }:
 
 stdenv.mkDerivation (rec {
   pname = "ponyc";
-  version = "0.38.1";
+  version = "0.38.3";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = pname;
     rev = version;
-    sha256 = "1hk810k9h3bl641pgw91y4x2qw67rvbapx6p2pk9qz5p7nfcn7qh";
+    sha256 = "14kivmyphi7gbd7mgd4cnsiwl4cl7wih8kwzh7n79s2s4c5hj4ak";
 
 # Due to a bug in LLVM 9.x, ponyc has to include its own vendored patched
 # LLVM.  (The submodule is a specific tag in the LLVM source tree).
@@ -24,7 +24,7 @@ stdenv.mkDerivation (rec {
   };
 
   ponygbenchmark = fetchurl {
-    url = https://github.com/google/benchmark/archive/v1.5.0.tar.gz;
+    url = "https://github.com/google/benchmark/archive/v1.5.0.tar.gz";
     sha256 = "06i2cr4rj126m1zfz0x1rbxv1mw1l7a11mzal5kqk56cdrdicsiw";
     name = "v1.5.0.tar.gz";
   };
@@ -39,7 +39,7 @@ stdenv.mkDerivation (rec {
     (substituteAll {
       src = ./make-safe-for-sandbox.patch;
       googletest = fetchurl {
-        url = https://github.com/google/googletest/archive/release-1.8.1.tar.gz;
+        url = "https://github.com/google/googletest/archive/release-1.8.1.tar.gz";
         sha256 = "17147961i01fl099ygxjx4asvjanwdd446nwbq9v8156h98zxwcv";
         name = "release-1.8.1.tar.gz";
       };
@@ -95,7 +95,7 @@ stdenv.mkDerivation (rec {
     wrapProgram $out/bin/ponyc \
       --prefix PATH ":" "${stdenv.cc}/bin" \
       --set-default CC "$CC" \
-      --prefix PONYPATH : "${lib.makeLibraryPath [ pcre2 libressl (placeholder "out") ]}"
+      --prefix PONYPATH : "${lib.makeLibraryPath [ pcre2 openssl (placeholder "out") ]}"
   '';
 
   # Stripping breaks linking for ponyc
diff --git a/pkgs/development/compilers/purescript/purescript/default.nix b/pkgs/development/compilers/purescript/purescript/default.nix
index 741d0ec7d1c35..6d7f05ebdae7e 100644
--- a/pkgs/development/compilers/purescript/purescript/default.nix
+++ b/pkgs/development/compilers/purescript/purescript/default.nix
@@ -18,19 +18,19 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "purescript";
-  version = "0.13.8";
+  version = "0.14.0";
 
   src =
     if stdenv.isDarwin
     then
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
-      sha256 = "058w8w24g7xbdkn5l97jfj9dcg81vkfh3w8112anj982lynk6391";
+      sha256 = "0dfnn5ar7zgvgvxcvw5f6vwpkgkwa017y07s7mvdv44zf4hzsj3s";
     }
     else
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz";
-      sha256 = "01xb9sl6rmg02ypdrv4n0mkzmdr5y9rajcdmg9c3j46q7z6q9mxy";
+      sha256 = "1l3i7mxlzb2dkq6ff37rvnaarikxzxj0fg9i2kk26s8pz7vpqgjh";
     };
 
 
diff --git a/pkgs/development/compilers/qbe/default.nix b/pkgs/development/compilers/qbe/default.nix
index 9ebcb2242ddb7..b4bc2a35a55dc 100644
--- a/pkgs/development/compilers/qbe/default.nix
+++ b/pkgs/development/compilers/qbe/default.nix
@@ -5,12 +5,12 @@
 
 stdenv.mkDerivation rec {
   pname = "qbe";
-  version = "unstable-2019-07-11";
+  version = "unstable-2020-10-05";
 
   src = fetchgit {
     url = "git://c9x.me/qbe.git";
-    rev = "7bf08ff50729037c8820b26d085905175b5593c8";
-    sha256 = "0w1yack5ky6x6lbw8vn6swsy8s90n6ny0jpkw0866ja677z7qz34";
+    rev = "496c069405cd79aed968f59dd5a5f92d1f96809f";
+    sha256 = "1vpszl77j9mnw8r0p9l23k8nxbnz31lgii7v3mai130nbpjsjsdf";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/development/compilers/rust/binary.nix b/pkgs/development/compilers/rust/binary.nix
index 770cc3415f2c0..ce4250f675e9a 100644
--- a/pkgs/development/compilers/rust/binary.nix
+++ b/pkgs/development/compilers/rust/binary.nix
@@ -83,8 +83,8 @@ rec {
       license = [ licenses.mit licenses.asl20 ];
     };
 
-    buildInputs = [ makeWrapper bash ]
-      ++ lib.optional stdenv.isDarwin Security;
+    nativeBuildInputs = [ makeWrapper ];
+    buildInputs = [ bash ] ++ lib.optional stdenv.isDarwin Security;
 
     postPatch = ''
       patchShebangs .
diff --git a/pkgs/development/compilers/rust/make-rust-platform.nix b/pkgs/development/compilers/rust/make-rust-platform.nix
index 4b1f572bebb88..584b1fdbe438e 100644
--- a/pkgs/development/compilers/rust/make-rust-platform.nix
+++ b/pkgs/development/compilers/rust/make-rust-platform.nix
@@ -12,7 +12,8 @@ rec {
   };
 
   buildRustPackage = callPackage ../../../build-support/rust {
-    inherit rustc cargo fetchCargoTarball;
+    inherit cargoBuildHook cargoCheckHook cargoInstallHook cargoSetupHook
+      fetchCargoTarball rustc;
   };
 
   rustcSrc = callPackage ./rust-src.nix {
@@ -22,4 +23,9 @@ rec {
   rustLibSrc = callPackage ./rust-lib-src.nix {
     inherit rustc;
   };
+
+  # Hooks
+  inherit (callPackage ../../../build-support/rust/hooks {
+    inherit cargo;
+  }) cargoBuildHook cargoCheckHook cargoInstallHook cargoSetupHook maturinBuildHook;
 }
diff --git a/pkgs/development/compilers/rust/rls/default.nix b/pkgs/development/compilers/rust/rls/default.nix
index ee860d782580c..aa55866def515 100644
--- a/pkgs/development/compilers/rust/rls/default.nix
+++ b/pkgs/development/compilers/rust/rls/default.nix
@@ -2,7 +2,7 @@
 , openssh, openssl, pkg-config, cmake, zlib, curl, libiconv
 , CoreFoundation, Security }:
 
-rustPlatform.buildRustPackage {
+rustPlatform.buildRustPackage rec {
   pname = "rls";
   inherit (rustPlatform.rust.rustc) src version;
 
@@ -14,7 +14,7 @@ rustPlatform.buildRustPackage {
 
   preBuild = ''
     # client tests are flaky
-    rm tests/client.rs
+    rm ${buildAndTestSubdir}/tests/client.rs
   '';
 
   # a nightly compiler is required unless we use this cheat code.
@@ -28,8 +28,8 @@ rustPlatform.buildRustPackage {
   # rls-rustc links to rustc_private crates
   CARGO_BUILD_RUSTFLAGS = if stdenv.isDarwin then "-C rpath" else null;
 
-  nativeBuildInputs = [ pkg-config cmake ];
-  buildInputs = [ openssh openssl curl zlib libiconv makeWrapper rustPlatform.rust.rustc.llvm ]
+  nativeBuildInputs = [ pkg-config cmake makeWrapper ];
+  buildInputs = [ openssh openssl curl zlib libiconv rustPlatform.rust.rustc.llvm ]
     ++ (lib.optionals stdenv.isDarwin [ CoreFoundation Security ]);
 
   doCheck = true;
diff --git a/pkgs/development/compilers/sbcl/2.0.9.nix b/pkgs/development/compilers/sbcl/2.0.9.nix
index ada098ec1829c..80b30ec87f487 100644
--- a/pkgs/development/compilers/sbcl/2.0.9.nix
+++ b/pkgs/development/compilers/sbcl/2.0.9.nix
@@ -1,114 +1,4 @@
-{ lib, stdenv, fetchurl, writeText, sbclBootstrap
-, sbclBootstrapHost ? "${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit"
-, threadSupport ? (stdenv.isi686 || stdenv.isx86_64 || "aarch64-linux" == stdenv.hostPlatform.system)
-, disableImmobileSpace ? false
-  # Meant for sbcl used for creating binaries portable to non-NixOS via save-lisp-and-die.
-  # Note that the created binaries still need `patchelf --set-interpreter ...`
-  # to get rid of ${glibc} dependency.
-, purgeNixReferences ? false
-, texinfo
-}:
-
-stdenv.mkDerivation rec {
-  pname = "sbcl";
+import ./common.nix {
   version = "2.0.9";
-
-  src = fetchurl {
-    url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${pname}-${version}-source.tar.bz2";
-    sha256 = "sha256:17wvrcwgp45z9b6arik31fjnz7908qhr5ackxq1y0gqi1hsh1xy4";
-  };
-
-  buildInputs = [texinfo];
-
-  patchPhase = ''
-    echo '"${version}.nixos"' > version.lisp-expr
-
-    pwd
-
-    # SBCL checks whether files are up-to-date in many places..
-    # Unfortunately, same timestamp is not good enough
-    sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp
-    #sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp
-    sed -i src/cold/slam.lisp -e \
-      '/file-write-date input/a)'
-    sed -i src/cold/slam.lisp -e \
-      '/file-write-date output/i(or (and (= 2208988801 (file-write-date output)) (= 2208988801 (file-write-date input)))'
-    sed -i src/code/target-load.lisp -e \
-      '/date defaulted-fasl/a)'
-    sed -i src/code/target-load.lisp -e \
-      '/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
-
-    # Fix the tests
-    sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
-    sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
-
-    # Use whatever `cc` the stdenv provides
-    substituteInPlace src/runtime/Config.x86-64-darwin --replace gcc cc
-
-    substituteInPlace src/runtime/Config.x86-64-darwin \
-      --replace mmacosx-version-min=10.4 mmacosx-version-min=10.5
-  ''
-  + (if purgeNixReferences
-    then
-      # This is the default location to look for the core; by default in $out/lib/sbcl
-      ''
-        sed 's@^\(#define SBCL_HOME\) .*$@\1 "/no-such-path"@' \
-          -i src/runtime/runtime.c
-      ''
-    else
-      # Fix software version retrieval
-      ''
-        sed -e "s@/bin/uname@$(command -v uname)@g" -i src/code/*-os.lisp \
-          src/code/run-program.lisp
-      ''
-    );
-
-
-  preBuild = ''
-    export INSTALL_ROOT=$out
-    mkdir -p test-home
-    export HOME=$PWD/test-home
-  '';
-
-  enableFeatures = with lib;
-    optional threadSupport "sb-thread" ++
-    optional stdenv.isAarch32 "arm";
-
-  disableFeatures = with lib;
-    optional (!threadSupport) "sb-thread" ++
-    optionals disableImmobileSpace [ "immobile-space" "immobile-code" "compact-instance-header" ];
-
-  buildPhase = ''
-    sh make.sh --prefix=$out --xc-host="${sbclBootstrapHost}" ${
-                  lib.concatStringsSep " "
-                    (builtins.map (x: "--with-${x}") enableFeatures ++
-                     builtins.map (x: "--without-${x}") disableFeatures)
-                }
-    (cd doc/manual ; make info)
-  '';
-
-  installPhase = ''
-    INSTALL_ROOT=$out sh install.sh
-  ''
-  + lib.optionalString (!purgeNixReferences) ''
-    cp -r src $out/lib/sbcl
-    cp -r contrib $out/lib/sbcl
-    cat >$out/lib/sbcl/sbclrc <<EOF
-     (setf (logical-pathname-translations "SYS")
-       '(("SYS:SRC;**;*.*.*" #P"$out/lib/sbcl/src/**/*.*")
-         ("SYS:CONTRIB;**;*.*.*" #P"$out/lib/sbcl/contrib/**/*.*")))
-    EOF
-  '';
-
-  setupHook = lib.optional purgeNixReferences (writeText "setupHook.sh" ''
-    addEnvHooks "$targetOffset" _setSbclHome
-    _setSbclHome() {
-      export SBCL_HOME='@out@/lib/sbcl/'
-    }
-  '');
-
-  meta = sbclBootstrap.meta // {
-    inherit version;
-    updateWalker = true;
-  };
+  sha256 = "17wvrcwgp45z9b6arik31fjnz7908qhr5ackxq1y0gqi1hsh1xy4";
 }
diff --git a/pkgs/development/compilers/sbcl/2.1.1.nix b/pkgs/development/compilers/sbcl/2.1.1.nix
new file mode 100644
index 0000000000000..a32f8a4a28b38
--- /dev/null
+++ b/pkgs/development/compilers/sbcl/2.1.1.nix
@@ -0,0 +1,4 @@
+import ./common.nix {
+  version = "2.1.1";
+  sha256 = "15wa66sachhzgvg5n35vihmkpasg100lh561c1d1bdrql0p8kbd9";
+}
diff --git a/pkgs/development/compilers/sbcl/bootstrap.nix b/pkgs/development/compilers/sbcl/bootstrap.nix
index cb42235bc8e2a..8bdbbadc9d60d 100644
--- a/pkgs/development/compilers/sbcl/bootstrap.nix
+++ b/pkgs/development/compilers/sbcl/bootstrap.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
     sha256 = cfg.sha256;
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/development/compilers/sbcl/common.nix b/pkgs/development/compilers/sbcl/common.nix
new file mode 100644
index 0000000000000..11ae960a53171
--- /dev/null
+++ b/pkgs/development/compilers/sbcl/common.nix
@@ -0,0 +1,116 @@
+{ version, sha256 }:
+
+{ lib, stdenv, fetchurl, writeText, sbclBootstrap
+, sbclBootstrapHost ? "${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit"
+, threadSupport ? (stdenv.isi686 || stdenv.isx86_64 || "aarch64-linux" == stdenv.hostPlatform.system)
+, disableImmobileSpace ? false
+  # Meant for sbcl used for creating binaries portable to non-NixOS via save-lisp-and-die.
+  # Note that the created binaries still need `patchelf --set-interpreter ...`
+  # to get rid of ${glibc} dependency.
+, purgeNixReferences ? false
+, texinfo
+}:
+
+stdenv.mkDerivation rec {
+  pname = "sbcl";
+  inherit version;
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${pname}-${version}-source.tar.bz2";
+    inherit sha256;
+  };
+
+  buildInputs = [texinfo];
+
+  postPatch = ''
+    echo '"${version}.nixos"' > version.lisp-expr
+
+    # SBCL checks whether files are up-to-date in many places..
+    # Unfortunately, same timestamp is not good enough
+    sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp
+    #sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp
+    sed -i src/cold/slam.lisp -e \
+      '/file-write-date input/a)'
+    sed -i src/cold/slam.lisp -e \
+      '/file-write-date output/i(or (and (= 2208988801 (file-write-date output)) (= 2208988801 (file-write-date input)))'
+    sed -i src/code/target-load.lisp -e \
+      '/date defaulted-fasl/a)'
+    sed -i src/code/target-load.lisp -e \
+      '/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
+
+    # Fix the tests
+    sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
+    sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
+  ''
+  + (if purgeNixReferences
+    then
+      # This is the default location to look for the core; by default in $out/lib/sbcl
+      ''
+        sed 's@^\(#define SBCL_HOME\) .*$@\1 "/no-such-path"@' \
+          -i src/runtime/runtime.c
+      ''
+    else
+      # Fix software version retrieval
+      ''
+        sed -e "s@/bin/uname@$(command -v uname)@g" -i src/code/*-os.lisp \
+          src/code/run-program.lisp
+      ''
+    );
+
+
+  preBuild = ''
+    export INSTALL_ROOT=$out
+    mkdir -p test-home
+    export HOME=$PWD/test-home
+  '';
+
+  enableFeatures = with lib;
+    optional threadSupport "sb-thread" ++
+    optional stdenv.isAarch32 "arm";
+
+  disableFeatures = with lib;
+    optional (!threadSupport) "sb-thread" ++
+    optionals disableImmobileSpace [ "immobile-space" "immobile-code" "compact-instance-header" ];
+
+  buildPhase = ''
+    runHook preBuild
+
+    sh make.sh --prefix=$out --xc-host="${sbclBootstrapHost}" ${
+                  lib.concatStringsSep " "
+                    (builtins.map (x: "--with-${x}") enableFeatures ++
+                     builtins.map (x: "--without-${x}") disableFeatures)
+                }
+    (cd doc/manual ; make info)
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    INSTALL_ROOT=$out sh install.sh
+
+    runHook postInstall
+  ''
+  + lib.optionalString (!purgeNixReferences) ''
+    cp -r src $out/lib/sbcl
+    cp -r contrib $out/lib/sbcl
+    cat >$out/lib/sbcl/sbclrc <<EOF
+     (setf (logical-pathname-translations "SYS")
+       '(("SYS:SRC;**;*.*.*" #P"$out/lib/sbcl/src/**/*.*")
+         ("SYS:CONTRIB;**;*.*.*" #P"$out/lib/sbcl/contrib/**/*.*")))
+    EOF
+  '';
+
+  setupHook = lib.optional purgeNixReferences (writeText "setupHook.sh" ''
+    addEnvHooks "$targetOffset" _setSbclHome
+    _setSbclHome() {
+      export SBCL_HOME='@out@/lib/sbcl/'
+    }
+  '');
+
+  meta = sbclBootstrap.meta // {
+    inherit version;
+    updateWalker = true;
+  };
+}
diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix
index df80bb8af1d71..bbc171a8d9863 100644
--- a/pkgs/development/compilers/sbcl/default.nix
+++ b/pkgs/development/compilers/sbcl/default.nix
@@ -1,114 +1,4 @@
-{ lib, stdenv, fetchurl, writeText, sbclBootstrap
-, sbclBootstrapHost ? "${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit"
-, threadSupport ? (stdenv.isi686 || stdenv.isx86_64 || "aarch64-linux" == stdenv.hostPlatform.system)
-, disableImmobileSpace ? false
-  # Meant for sbcl used for creating binaries portable to non-NixOS via save-lisp-and-die.
-  # Note that the created binaries still need `patchelf --set-interpreter ...`
-  # to get rid of ${glibc} dependency.
-, purgeNixReferences ? false
-, texinfo
-}:
-
-stdenv.mkDerivation rec {
-  pname = "sbcl";
+import ./common.nix {
   version = "2.0.8";
-
-  src = fetchurl {
-    url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${pname}-${version}-source.tar.bz2";
-    sha256 = "sha256:1xwrwvps7drrpyw3wg5h3g2qajmkwqs9gz0fdw1ns9adp7vld390";
-  };
-
-  buildInputs = [texinfo];
-
-  patchPhase = ''
-    echo '"${version}.nixos"' > version.lisp-expr
-
-    pwd
-
-    # SBCL checks whether files are up-to-date in many places..
-    # Unfortunately, same timestamp is not good enough
-    sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp
-    #sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp
-    sed -i src/cold/slam.lisp -e \
-      '/file-write-date input/a)'
-    sed -i src/cold/slam.lisp -e \
-      '/file-write-date output/i(or (and (= 2208988801 (file-write-date output)) (= 2208988801 (file-write-date input)))'
-    sed -i src/code/target-load.lisp -e \
-      '/date defaulted-fasl/a)'
-    sed -i src/code/target-load.lisp -e \
-      '/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
-
-    # Fix the tests
-    sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
-    sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
-
-    # Use whatever `cc` the stdenv provides
-    substituteInPlace src/runtime/Config.x86-64-darwin --replace gcc cc
-
-    substituteInPlace src/runtime/Config.x86-64-darwin \
-      --replace mmacosx-version-min=10.4 mmacosx-version-min=10.5
-  ''
-  + (if purgeNixReferences
-    then
-      # This is the default location to look for the core; by default in $out/lib/sbcl
-      ''
-        sed 's@^\(#define SBCL_HOME\) .*$@\1 "/no-such-path"@' \
-          -i src/runtime/runtime.c
-      ''
-    else
-      # Fix software version retrieval
-      ''
-        sed -e "s@/bin/uname@$(command -v uname)@g" -i src/code/*-os.lisp \
-          src/code/run-program.lisp
-      ''
-    );
-
-
-  preBuild = ''
-    export INSTALL_ROOT=$out
-    mkdir -p test-home
-    export HOME=$PWD/test-home
-  '';
-
-  enableFeatures = with lib;
-    optional threadSupport "sb-thread" ++
-    optional stdenv.isAarch32 "arm";
-
-  disableFeatures = with lib;
-    optional (!threadSupport) "sb-thread" ++
-    optionals disableImmobileSpace [ "immobile-space" "immobile-code" "compact-instance-header" ];
-
-  buildPhase = ''
-    sh make.sh --prefix=$out --xc-host="${sbclBootstrapHost}" ${
-                  lib.concatStringsSep " "
-                    (builtins.map (x: "--with-${x}") enableFeatures ++
-                     builtins.map (x: "--without-${x}") disableFeatures)
-                }
-    (cd doc/manual ; make info)
-  '';
-
-  installPhase = ''
-    INSTALL_ROOT=$out sh install.sh
-  ''
-  + lib.optionalString (!purgeNixReferences) ''
-    cp -r src $out/lib/sbcl
-    cp -r contrib $out/lib/sbcl
-    cat >$out/lib/sbcl/sbclrc <<EOF
-     (setf (logical-pathname-translations "SYS")
-       '(("SYS:SRC;**;*.*.*" #P"$out/lib/sbcl/src/**/*.*")
-         ("SYS:CONTRIB;**;*.*.*" #P"$out/lib/sbcl/contrib/**/*.*")))
-    EOF
-  '';
-
-  setupHook = lib.optional purgeNixReferences (writeText "setupHook.sh" ''
-    addEnvHooks "$targetOffset" _setSbclHome
-    _setSbclHome() {
-      export SBCL_HOME='@out@/lib/sbcl/'
-    }
-  '');
-
-  meta = sbclBootstrap.meta // {
-    inherit version;
-    updateWalker = true;
-  };
+  sha256 = "1xwrwvps7drrpyw3wg5h3g2qajmkwqs9gz0fdw1ns9adp7vld390";
 }
diff --git a/pkgs/development/compilers/scala/2.x.nix b/pkgs/development/compilers/scala/2.x.nix
index a747206dff8d2..a0a5f1a2b22c5 100644
--- a/pkgs/development/compilers/scala/2.x.nix
+++ b/pkgs/development/compilers/scala/2.x.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, makeWrapper, jre, gnugrep, coreutils, nixosTests
+{ stdenv, lib, fetchurl, makeWrapper, jre, gnugrep, coreutils
 , writeScript, common-updater-scripts, git, gnused, nix, nixfmt, majorVersion }:
 
 with lib;
@@ -10,28 +10,24 @@ let
     "2.10" = {
       version = "2.10.7";
       sha256 = "koMRmRb2u3cU4HaihAzPItWIGbNVIo7RWRrm92kp8RE=";
-      tests = [ nixosTests.scala.scala_2_10 ];
       pname = "scala_2_10";
     };
 
     "2.11" = {
       version = "2.11.12";
       sha256 = "sR19M2mcpPYLw7K2hY/ZU+PeK4UiyUP0zaS2dDFhlqg=";
-      tests = [ nixosTests.scala.scala_2_11 ];
       pname = "scala_2_11";
     };
 
     "2.12" = {
       version = "2.12.13";
       sha256 = "17548sx7liskkadqiqaajmwp2w7bh9m2d8hp2mwyg8yslmjx4pcc";
-      tests = [ nixosTests.scala.scala_2_12 ];
       pname = "scala_2_12";
     };
 
     "2.13" = {
-      version = "2.13.4";
-      sha256 = "1alcnzmxga00nsvgy8yky91zw5b4q0xg2697vrrdgjlglpxiqwdw";
-      tests = [ nixosTests.scala.scala_2_13 ];
+      version = "2.13.5";
+      sha256 = "1ah5rw6xqksiayi5i95r3pcff961q71ilishzn2kmg673z0j2b7d";
       pname = "scala_2_13";
     };
   };
@@ -50,27 +46,35 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ jre ];
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
-      mkdir -p $out
-      rm bin/*.bat
-      mv * $out
-      # put docs in correct subdirectory
-      mkdir -p $out/share/doc
-      mv $out/doc $out/share/doc/${name}
-      mv $out/man $out/share/man
+    runHook preInstall
+    mkdir -p $out
+    rm bin/*.bat
+    mv * $out
+    # put docs in correct subdirectory
+    mkdir -p $out/share/doc
+    mv $out/doc $out/share/doc/${name}
+    mv $out/man $out/share/man
     for p in $(ls $out/bin/) ; do
         wrapProgram $out/bin/$p \
           --prefix PATH ":" ${coreutils}/bin \
           --prefix PATH ":" ${gnugrep}/bin \
           --prefix PATH ":" ${jre}/bin \
           --set JAVA_HOME ${jre}
-      done
+    done
+    runHook postInstall
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/scalac -version 2>&1 | grep '^Scala compiler version ${version}'
+
+    echo 'println("foo"*3)' | $out/bin/scala 2>/dev/null | grep "foofoofoo"
   '';
 
   passthru = {
-    inherit tests;
     updateScript = writeScript "update.sh" ''
       #!${stdenv.shell}
       set -o errexit
diff --git a/pkgs/development/compilers/scala/dotty-bare.nix b/pkgs/development/compilers/scala/dotty-bare.nix
index b173de58049bc..66a634914dfba 100644
--- a/pkgs/development/compilers/scala/dotty-bare.nix
+++ b/pkgs/development/compilers/scala/dotty-bare.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   propagatedBuildInputs = [ jre ncurses.dev ] ;
-  buildInputs = [ makeWrapper ] ;
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out
diff --git a/pkgs/development/compilers/smlnj/bootstrap.nix b/pkgs/development/compilers/smlnj/bootstrap.nix
index 113b22768d9f9..91eb9fc84172d 100644
--- a/pkgs/development/compilers/smlnj/bootstrap.nix
+++ b/pkgs/development/compilers/smlnj/bootstrap.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "12jn50h5jz0ac1vzld2mb94p1dyc8h0mk0hip2wj5xqk1dbzwxl4";
   };
 
-  buildInputs = [ cpio rsync makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ cpio rsync ];
 
   unpackPhase = ''
     ${xar}/bin/xar -xf $src
diff --git a/pkgs/development/compilers/tinygo/default.nix b/pkgs/development/compilers/tinygo/default.nix
index 0aee1ca1f3943..218b207f24355 100644
--- a/pkgs/development/compilers/tinygo/default.nix
+++ b/pkgs/development/compilers/tinygo/default.nix
@@ -40,7 +40,8 @@ buildGoModule rec {
   '';
 
   subPackages = [ "." ];
-  buildInputs = [ llvm clang-unwrapped makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ llvm clang-unwrapped ];
   propagatedBuildInputs = [ lld avrgcc avrdude openocd gcc-arm-embedded ];
 
   postInstall = ''
diff --git a/pkgs/development/compilers/urn/default.nix b/pkgs/development/compilers/urn/default.nix
index f7e338cf43ff4..8b74f46fd0409 100644
--- a/pkgs/development/compilers/urn/default.nix
+++ b/pkgs/development/compilers/urn/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
     sha256 = "0nclr3d8ap0y5cg36i7g4ggdqci6m5q27y9f26b57km8p266kcpy";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
   # Any packages that depend on the compiler have a transitive
   # dependency on the Urn runtime support.
   propagatedBuildInputs = [ urn-rt ];
diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix
index 7d2191f8f4567..2356f3cea6501 100644
--- a/pkgs/development/compilers/yosys/default.nix
+++ b/pkgs/development/compilers/yosys/default.nix
@@ -33,13 +33,13 @@
 
 stdenv.mkDerivation rec {
   pname   = "yosys";
-  version = "0.9+3830";
+  version = "0.9+3962";
 
   src = fetchFromGitHub {
     owner  = "YosysHQ";
     repo   = "yosys";
-    rev    = "b72c29465392c8d260ddf55def169438f7fb64b2";
-    sha256 = "12h3pgj8bjb254q2qaafc3qxwhqdqrx0sxjhgjrfy8cmkdm92dvy";
+    rev    = "5d0cc54f5c36dea1d989438426a321b4554257c8";
+    sha256 = "1c85kga95lin6rcpr7cf80wr9f1a6irdrld9g23zmqdrxhick8y7";
   };
 
   enableParallelBuilding = true;
@@ -103,5 +103,12 @@ stdenv.mkDerivation rec {
     license     = licenses.isc;
     platforms   = platforms.all;
     maintainers = with maintainers; [ shell thoughtpolice emily ];
+    #In file included from kernel/driver.cc:20:
+    #./kernel/yosys.h:42:10: fatal error: 'map' file not found
+    ##include <map>
+
+    #https://github.com/YosysHQ/yosys/issues/681
+    #https://github.com/YosysHQ/yosys/issues/2011
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/compilers/yosys/plugins/ghdl.nix b/pkgs/development/compilers/yosys/plugins/ghdl.nix
index ccf8efc7c805c..35f3ef2bcc88c 100644
--- a/pkgs/development/compilers/yosys/plugins/ghdl.nix
+++ b/pkgs/development/compilers/yosys/plugins/ghdl.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation {
   pname = "yosys-ghdl";
-  version = "2021.01.01";
+  version = "2021.01.25";
 
   src = fetchFromGitHub {
     owner  = "ghdl";
     repo   = "ghdl-yosys-plugin";
-    rev    = "8b3e740fef9a653a20a838f1ade475960e1d379b";
-    sha256 = "13kpcp37r11xgqd8aksddi40a5vpzqi7p8qgyjbs99lyscyli75x";
+    rev    = "cba859cacf8c6631146dbdaa0f297c060b5a68cd";
+    sha256 = "01d9wb7sqkmkf2y9bnn3pmhy08khzs5m1d06whxsiwgwnjzfk9mx";
   };
 
   buildInputs = [ yosys readline zlib ghdl ];
diff --git a/pkgs/development/compilers/zulu/8.nix b/pkgs/development/compilers/zulu/8.nix
index e81cc4124287a..dd1660d9fec77 100644
--- a/pkgs/development/compilers/zulu/8.nix
+++ b/pkgs/development/compilers/zulu/8.nix
@@ -1,7 +1,24 @@
-{ stdenv, lib, fetchurl, unzip, makeWrapper, setJavaClassPath
-, zulu, glib, libxml2, libav_0_8, ffmpeg_3, libxslt, libGL, alsaLib
-, fontconfig, freetype, pango, gtk2, cairo, gdk-pixbuf, atk, xorg
-, swingSupport ? true }:
+{ stdenv
+, lib
+, fetchurl
+, autoPatchelfHook
+, unzip
+, makeWrapper
+, setJavaClassPath
+, zulu
+# minimum dependencies
+, alsaLib
+, fontconfig
+, freetype
+, xorg
+# runtime dependencies
+, cups
+# runtime dependencies for GTK+ Look and Feel
+, gtkSupport ? stdenv.isLinux
+, cairo
+, glib
+, gtk3
+}:
 
 let
   version = "8.48.0.53";
@@ -14,14 +31,12 @@ let
   hash = if stdenv.isDarwin then sha256_darwin else sha256_linux;
   extension = if stdenv.isDarwin then "zip" else "tar.gz";
 
-  libraries = [
-    stdenv.cc.libc glib libxml2 libav_0_8 ffmpeg_3 libxslt libGL
-    xorg.libXxf86vm alsaLib fontconfig freetype pango
-    gtk2 cairo gdk-pixbuf atk
-  ] ++ (lib.optionals swingSupport (with xorg; [
-    xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp
-    xorg.libXt xorg.libXrender stdenv.cc.cc
-  ]));
+  runtimeDependencies = [
+    cups
+  ] ++ lib.optionals gtkSupport [
+    cairo glib gtk3
+  ];
+  runtimeLibraryPath = lib.makeLibraryPath runtimeDependencies;
 
 in stdenv.mkDerivation {
   inherit version openjdk platform hash extension;
@@ -33,26 +48,28 @@ in stdenv.mkDerivation {
     sha256 = hash;
   };
 
-  buildInputs = [ makeWrapper ] ++ lib.optional stdenv.isDarwin unzip;
+  buildInputs = lib.optionals stdenv.isLinux [
+    alsaLib # libasound.so wanted by lib/libjsound.so
+    fontconfig
+    freetype
+    stdenv.cc.cc # libstdc++.so.6
+    xorg.libX11
+    xorg.libXext
+    xorg.libXi
+    xorg.libXrender
+    xorg.libXtst
+  ];
+
+  nativeBuildInputs = [
+    autoPatchelfHook makeWrapper
+  ] ++ lib.optionals stdenv.isDarwin [
+    unzip
+  ];
 
   installPhase = ''
     mkdir -p $out
     cp -r ./* "$out/"
 
-    jrePath="$out/jre"
-
-    rpath=$rpath''${rpath:+:}$jrePath/lib/amd64/jli
-    rpath=$rpath''${rpath:+:}$jrePath/lib/amd64/server
-    rpath=$rpath''${rpath:+:}$jrePath/lib/amd64/xawt
-    rpath=$rpath''${rpath:+:}$jrePath/lib/amd64
-
-    # set all the dynamic linkers
-    find $out -type f -perm -0100 \
-        -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-        --set-rpath "$rpath" {} \;
-
-    find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \;
-
     mkdir -p $out/nix-support
     printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
 
@@ -60,9 +77,19 @@ in stdenv.mkDerivation {
     cat <<EOF >> $out/nix-support/setup-hook
     if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
     EOF
+  '' + lib.optionalString stdenv.isLinux ''
+    # We cannot use -exec since wrapProgram is a function but not a command.
+    for bin in $( find "$out" -executable -type f ); do
+      if patchelf --print-interpreter "$bin" &> /dev/null; then
+        wrapProgram "$bin" --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}"
+      fi
+    done
   '';
 
-  rpath = lib.strings.makeLibraryPath libraries;
+  preFixup = ''
+    find "$out" -name libfontmanager.so -exec \
+      patchelf --add-needed libfontconfig.so {} \;
+  '';
 
   passthru = {
     home = zulu;
diff --git a/pkgs/development/compilers/zulu/default.nix b/pkgs/development/compilers/zulu/default.nix
index 63b95465c2738..c7b01877ad54a 100644
--- a/pkgs/development/compilers/zulu/default.nix
+++ b/pkgs/development/compilers/zulu/default.nix
@@ -1,7 +1,25 @@
-{ stdenv, lib, fetchurl, unzip, makeWrapper, setJavaClassPath
-, zulu, glib, libxml2, libav_0_8, ffmpeg_3, libxslt, libGL, alsaLib
-, fontconfig, freetype, pango, gtk2, cairo, gdk-pixbuf, atk, xorg, zlib
-, swingSupport ? true }:
+{ stdenv
+, lib
+, fetchurl
+, autoPatchelfHook
+, unzip
+, makeWrapper
+, setJavaClassPath
+, zulu
+# minimum dependencies
+, alsaLib
+, fontconfig
+, freetype
+, zlib
+, xorg
+# runtime dependencies
+, cups
+# runtime dependencies for GTK+ Look and Feel
+, gtkSupport ? stdenv.isLinux
+, cairo
+, glib
+, gtk3
+}:
 
 let
   version = "11.41.23";
@@ -14,14 +32,12 @@ let
   hash = if stdenv.isDarwin then sha256_darwin else sha256_linux;
   extension = if stdenv.isDarwin then "zip" else "tar.gz";
 
-  libraries = [
-    stdenv.cc.libc glib libxml2 libav_0_8 ffmpeg_3 libxslt libGL
-    xorg.libXxf86vm alsaLib fontconfig freetype pango
-    gtk2 cairo gdk-pixbuf atk zlib
-  ] ++ (lib.optionals swingSupport (with xorg; [
-    xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp
-    xorg.libXt xorg.libXrender stdenv.cc.cc
-  ]));
+  runtimeDependencies = [
+    cups
+  ] ++ lib.optionals gtkSupport [
+    cairo glib gtk3
+  ];
+  runtimeLibraryPath = lib.makeLibraryPath runtimeDependencies;
 
 in stdenv.mkDerivation {
   inherit version openjdk platform hash extension;
@@ -33,23 +49,29 @@ in stdenv.mkDerivation {
     sha256 = hash;
   };
 
-  buildInputs = [ makeWrapper ] ++ lib.optional stdenv.isDarwin unzip;
+  buildInputs = lib.optionals stdenv.isLinux [
+    alsaLib # libasound.so wanted by lib/libjsound.so
+    fontconfig
+    freetype
+    stdenv.cc.cc # libstdc++.so.6
+    xorg.libX11
+    xorg.libXext
+    xorg.libXi
+    xorg.libXrender
+    xorg.libXtst
+    zlib
+  ];
+
+  nativeBuildInputs = [
+    autoPatchelfHook makeWrapper
+  ] ++ lib.optionals stdenv.isDarwin [
+    unzip
+  ];
 
   installPhase = ''
     mkdir -p $out
     cp -r ./* "$out/"
 
-    rpath=$rpath''${rpath:+:}$out/lib/jli
-    rpath=$rpath''${rpath:+:}$out/lib/server
-    rpath=$rpath''${rpath:+:}$out/lib
-
-    # set all the dynamic linkers
-    find $out -type f -perm -0100 \
-        -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-        --set-rpath "$rpath" {} \;
-
-    find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \;
-
     mkdir -p $out/nix-support
     printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
 
@@ -57,9 +79,20 @@ in stdenv.mkDerivation {
     cat <<EOF >> $out/nix-support/setup-hook
     if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
     EOF
+  '' + lib.optionalString stdenv.isLinux ''
+    # We cannot use -exec since wrapProgram is a function but not a command.
+    #
+    # jspawnhelper is executed from JVM, so it doesn't need to wrap it, and it
+    # breaks building OpenJDK (#114495).
+    for bin in $( find "$out" -executable -type f -not -name jspawnhelper ); do
+      wrapProgram "$bin" --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}"
+    done
   '';
 
-  rpath = lib.strings.makeLibraryPath libraries;
+  preFixup = ''
+    find "$out" -name libfontmanager.so -exec \
+      patchelf --add-needed libfontconfig.so {} \;
+  '';
 
   passthru = {
     home = zulu;
diff --git a/pkgs/development/coq-modules/coq-elpi/default.nix b/pkgs/development/coq-modules/coq-elpi/default.nix
index 18dbeaea201d0..b57671d8637b2 100644
--- a/pkgs/development/coq-modules/coq-elpi/default.nix
+++ b/pkgs/development/coq-modules/coq-elpi/default.nix
@@ -1,19 +1,23 @@
 { lib, mkCoqDerivation, which, coq, version ? null }:
 
 with builtins; with lib; let
-  elpi = coq.ocamlPackages.elpi.override (
-    optionalAttrs (coq.coq-version == "8.11") { version = "1.11.4"; }
-  );
+  elpi = coq.ocamlPackages.elpi.override (lib.switch coq.coq-version [
+    { case = "8.11"; out = { version = "1.11.4"; };}
+    { case = "8.12"; out = { version = "1.12.0"; };}
+    { case = "8.13"; out = { version = "1.13.0"; };}
+  ] {});
 in mkCoqDerivation {
   pname = "elpi";
   repo  = "coq-elpi";
   owner = "LPCIC";
   inherit version;
   defaultVersion = lib.switch coq.coq-version [
-    { case = "8.13"; out = "1.8.1"; }
+    { case = "8.13"; out = "1.9.3"; }
     { case = "8.12"; out = "1.8.0"; }
     { case = "8.11"; out = "1.6.0_8.11"; }
   ] null;
+  release."1.9.3".sha256      = "198irm800fx3n8n56vx1c6f626cizp1d7jfkrc6ba4iqhb62ma0z";
+  release."1.9.2".sha256      = "1rr2fr8vjkc0is7vh1461aidz2iwkigdkp6bqss4hhv0c3ijnn07";
   release."1.8.1".sha256      = "1fbbdccdmr8g4wwpihzp4r2xacynjznf817lhijw6kqfav75zd0r";
   release."1.8.0".sha256      = "13ywjg94zkbki22hx7s4gfm9rr87r4ghsgan23xyl3l9z8q0idd1";
   release."1.7.0".sha256      = "1ws5cqr0xawv69prgygbl3q6dgglbaw0vc397h9flh90kxaqgyh8";
diff --git a/pkgs/development/coq-modules/dpdgraph/default.nix b/pkgs/development/coq-modules/dpdgraph/default.nix
index c6cc0d34ed1cd..203b8bb1b2bae 100644
--- a/pkgs/development/coq-modules/dpdgraph/default.nix
+++ b/pkgs/development/coq-modules/dpdgraph/default.nix
@@ -9,6 +9,7 @@ mkCoqDerivation {
   repo = "coq-dpdgraph";
   inherit version;
   defaultVersion = switch coq.coq-version [
+    { case = "8.13"; out = "0.6.9"; }
     { case = "8.12"; out = "0.6.8"; }
     { case = "8.11"; out = "0.6.7"; }
     { case = "8.10"; out = "0.6.6"; }
@@ -19,6 +20,7 @@ mkCoqDerivation {
     { case = "8.5";  out = "0.6"; }
   ] null;
 
+  release."0.6.9".sha256 = "11mbydpcgk7y8pqzickbzx0ig7g9k9al71i9yfrcscd2xj8fwj8z";
   release."0.6.8".sha256 = "1mj6sknsd53xfb387sp3kdwvl4wn80ck24bfzf3s6mgw1a12vyps";
   release."0.6.7".sha256 = "01vpi7scvkl4ls1z2k2x9zd65wflzb667idj759859hlz3ps9z09";
   release."0.6.6".sha256 = "1gjrm5zjzw4cisiwdr5b3iqa7s4cssa220xr0k96rwgk61rcjd8w";
diff --git a/pkgs/development/coq-modules/hierarchy-builder/default.nix b/pkgs/development/coq-modules/hierarchy-builder/default.nix
index 530763c9439d7..dabcc44261b56 100644
--- a/pkgs/development/coq-modules/hierarchy-builder/default.nix
+++ b/pkgs/development/coq-modules/hierarchy-builder/default.nix
@@ -12,6 +12,8 @@ with lib; mkCoqDerivation {
   release."0.10.0".sha256 = "1a3vry9nzavrlrdlq3cys3f8kpq3bz447q8c4c7lh2qal61wb32h";
   releaseRev = v: "v${v}";
 
+  nativeBuildInputs = [ which ];
+
   propagatedBuildInputs = [ coq-elpi ];
 
   extraInstallFlags = [ "VFILES=structures.v" ];
diff --git a/pkgs/development/dhall-modules/Prelude.nix b/pkgs/development/dhall-modules/Prelude.nix
index 512c8f8bf5513..320022abc0ed8 100644
--- a/pkgs/development/dhall-modules/Prelude.nix
+++ b/pkgs/development/dhall-modules/Prelude.nix
@@ -1,11 +1,11 @@
 { buildDhallGitHubPackage }:
 
 buildDhallGitHubPackage {
-  name      = "Prelude-20.0.0";
+  name      = "Prelude";
   owner     = "dhall-lang";
   repo      = "dhall-lang";
   directory = "Prelude";
   file      = "package.dhall";
-  rev       = "v20.0.0";
-  sha256    = "1smk57xki1cj24xpp0s3gv85radl6ry76ybsjkqak8h13s79lwla";
+  rev       = "v20.1.0";
+  sha256    = "04r1w7wqydmwm9mh3lz4y96a87k5kkvzsmrhbdrf0izcy5bqqv5y";
 }
diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix
index c0f10ab5d8f04..8246eaefed4c3 100644
--- a/pkgs/development/go-modules/generic/default.nix
+++ b/pkgs/development/go-modules/generic/default.nix
@@ -34,14 +34,16 @@
 , meta ? {}
 
 # Not needed with buildGoModule
-, goPackagePath ? null
+, goPackagePath ? ""
 
 , ... }@args':
 
 with builtins;
 
+assert goPackagePath != "" -> throw "`goPackagePath` is not needed with `buildGoModule`";
+
 let
-  args = removeAttrs args' [ "overrideModAttrs" "vendorSha256" "disabled" ];
+  args = removeAttrs args' [ "overrideModAttrs" "vendorSha256" ];
 
   go-modules = if vendorSha256 != null then stdenv.mkDerivation (let modArgs = {
 
@@ -240,7 +242,5 @@ let
                     [ lib.maintainers.kalbasit ];
     };
   });
-in if (goPackagePath != null) then
-  throw "`goPackagePath` not needed with `buildGoModule`"
-else
+in
   package
diff --git a/pkgs/development/go-packages/generic/default.nix b/pkgs/development/go-packages/generic/default.nix
index 0a1b3a9a29481..8a093a03d1c1d 100644
--- a/pkgs/development/go-packages/generic/default.nix
+++ b/pkgs/development/go-packages/generic/default.nix
@@ -35,6 +35,8 @@
 # IE: programs coupled with the compiler
 , allowGoReference ? false
 
+, CGO_ENABLED ? go.CGO_ENABLED
+
 , meta ? {}, ... } @ args:
 
 
@@ -75,11 +77,13 @@ let
       ++ (lib.optional (!dontRenameImports) govers) ++ nativeBuildInputs;
     buildInputs = buildInputs;
 
-    inherit (go) GOOS GOARCH GO386 CGO_ENABLED;
+    inherit (go) GOOS GOARCH GO386;
 
     GOHOSTARCH = go.GOHOSTARCH or null;
     GOHOSTOS = go.GOHOSTOS or null;
 
+    inherit CGO_ENABLED;
+
     GO111MODULE = "off";
     GOFLAGS = lib.optionals (!allowGoReference) [ "-trimpath" ];
 
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 1144ee0f82349..4b63f03873b88 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -64,7 +64,7 @@ self: super: {
       name = "git-annex-${super.git-annex.version}-src";
       url = "git://git-annex.branchable.com/";
       rev = "refs/tags/" + super.git-annex.version;
-      sha256 = "1m9jfr5b0qwajwwmvcq02263bmnqgcqvpdr06sdwlfz3sxsjfp8r";
+      sha256 = "1lvl6i3ym7dyg215fkmslf3rnk29hz7f21jn91y1mghrhch7hvhl";
     };
   }).override {
     dbus = if pkgs.stdenv.isLinux then self.dbus else null;
@@ -212,31 +212,11 @@ self: super: {
   # base bound
   digit = doJailbreak super.digit;
 
-  # 2020-06-05: HACK: does not pass own build suite - `dontCheck` We should
-  # generate optparse-applicative completions for the hnix executable.  Sadly
-  # building of the executable has been disabled for ghc < 8.10 in hnix.
-  # Generating the completions should be activated again, once we default to
-  # ghc 8.10.
-  hnix = dontCheck (super.hnix.override {
-
-    #  2021-01-07: NOTE: hnix-store-core pinned at ==0.2 in Stackage Nightly.
-    # https://github.com/haskell-nix/hnix-store/issues/104
-    # Until unpin, which may hold off in time due to Stackage maintenence bottleneck
-    # the 0_4_0_0 is used
-    hnix-store-core = self.hnix-store-core_0_4_1_0; # at least 1.7
-
-  });
-
-  #  2021-01-07: NOTE: hnix-store-core pinned at ==0.2 in Stackage Nightly.
-  # https://github.com/haskell-nix/hnix-store/issues/104
-  # Until unpin, which may hold off in time due to Stackage maintenence bottleneck
-  # the 0_4_0_0 is used
-  hnix-store-remote = (super.hnix-store-remote.override {
-    hnix-store-core = self.hnix-store-core_0_4_1_0; # at least 1.7
-  });
+  # 2020-06-05: HACK: does not pass own build suite - `dontCheck`
+  hnix = generateOptparseApplicativeCompletion "hnix" (dontCheck super.hnix);
 
   # https://github.com/haskell-nix/hnix-store/issues/127
-  hnix-store-core_0_4_1_0 = addTestToolDepend super.hnix-store-core_0_4_1_0 self.tasty-discover;
+  hnix-store-core = addTestToolDepend super.hnix-store-core self.tasty-discover;
 
   # Fails for non-obvious reasons while attempting to use doctest.
   search = dontCheck super.search;
@@ -684,8 +664,26 @@ self: super: {
     '';
   });
 
-  # The standard libraries are compiled separately.
-  idris = generateOptparseApplicativeCompletion "idris" (dontCheck super.idris);
+  # * The standard libraries are compiled separately.
+  # * We need multiple patches from master to fix compilation with
+  #   updated dependencies (haskeline and megaparsec) which can be
+  #   removed when the next idris release (1.3.4 probably) comes
+  #   around.
+  idris = generateOptparseApplicativeCompletion "idris"
+    (doJailbreak (dontCheck
+      (appendPatches super.idris [
+        # compatibility with haskeline >= 0.8
+        (pkgs.fetchpatch {
+          url = "https://github.com/idris-lang/Idris-dev/commit/89a87cf666eb8b27190c779e72d0d76eadc1bc14.patch";
+          sha256 = "0fv493zlpgjsf57w0sncd4vqfkabfczp3xazjjmqw54m9rsfix35";
+        })
+        # compatibility with megaparsec >= 0.9
+        (pkgs.fetchpatch {
+          url = "https://github.com/idris-lang/Idris-dev/commit/6ea9bc913877d765048d7cdb7fc5aec60b196fac.patch";
+          sha256 = "0yms74d1xdxd1c08dnp45nb1ddzq54n6hqgzxx0r494wy614ir8q";
+        })
+      ])
+    ));
 
   # https://github.com/pontarius/pontarius-xmpp/issues/105
   pontarius-xmpp = dontCheck super.pontarius-xmpp;
@@ -845,8 +843,11 @@ self: super: {
   # https://github.com/alphaHeavy/protobuf/issues/34
   protobuf = dontCheck super.protobuf;
 
-  # https://github.com/bos/text-icu/issues/32
-  text-icu = dontCheck super.text-icu;
+  # Is this package still maintained? https://github.com/haskell/text-icu/issues/30
+  text-icu = overrideCabal super.text-icu (drv: {
+    doCheck = false;                                               # https://github.com/bos/text-icu/issues/32
+    configureFlags = ["--ghc-option=-DU_DEFINE_FALSE_AND_TRUE=1"]; # https://github.com/haskell/text-icu/issues/49
+  });
 
   # aarch64 and armv7l fixes.
   happy = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.happy else super.happy; # Similar to https://ghc.haskell.org/trac/ghc/ticket/13062
@@ -968,8 +969,10 @@ self: super: {
   # musl fixes
   # dontCheck: use of non-standard strptime "%s" which musl doesn't support; only used in test
   unix-time = if pkgs.stdenv.hostPlatform.isMusl then dontCheck super.unix-time else super.unix-time;
-  # dontCheck: printf double rounding behavior
-  prettyprinter = if pkgs.stdenv.hostPlatform.isMusl then dontCheck super.prettyprinter else super.prettyprinter;
+
+  # The test suite runs for 20+ minutes on a very fast machine, which feels kinda disproportionate.
+  prettyprinter = dontCheck super.prettyprinter;
+  brittany = doJailbreak (dontCheck super.brittany);  # Outdated upperbound on ghc-exactprint: https://github.com/lspitzner/brittany/issues/342
 
   # Fix with Cabal 2.2, https://github.com/guillaume-nargeot/hpc-coveralls/pull/73
   hpc-coveralls = appendPatch super.hpc-coveralls (pkgs.fetchpatch {
@@ -1405,28 +1408,23 @@ self: super: {
   # quickcheck-instances is only used in the tests of binary-instances.
   binary-instances = dontCheck super.binary-instances;
 
-  # tons of overrides for bleeding edge versions for ghcide and hls
-  # overriding aeson on all of them to prevent double compilations
-  # this shouldn‘t break anything because nearly all their reverse deps are
-  # in this list or marked as broken anyways
   # 2020-11-19: Checks nearly fixed, but still disabled because of flaky tests:
   # https://github.com/haskell/haskell-language-server/issues/610
   # https://github.com/haskell/haskell-language-server/issues/611
-  haskell-language-server = dontCheck (super.haskell-language-server.override {
-    lsp-test = dontCheck self.lsp-test;
-    fourmolu = self.fourmolu_0_3_0_0;
-  });
-  # 2021-01-20
-  # apply-refact 0.9.0.0 get's a build error with hls-hlint-plugin 0.8.0
-  # https://github.com/haskell/haskell-language-server/issues/1240
-  apply-refact = super.apply-refact_0_8_2_1;
+  haskell-language-server = dontCheck super.haskell-language-server;
 
-  fourmolu = dontCheck super.fourmolu;
+  # 2021-02-11: Jailbreaking because of syntax error on bound revision
+  hls-explicit-imports-plugin = doJailbreak super.hls-explicit-imports-plugin;
+
+  # 2021-02-08: Overrides because nightly is to old for hls 0.9.0
+  lsp-test = doDistribute (dontCheck self.lsp-test_0_11_0_7);
+  haskell-lsp = doDistribute self.haskell-lsp_0_23_0_0;
+  haskell-lsp-types = doDistribute self.haskell-lsp-types_0_23_0_0;
 
   # 1. test requires internet
   # 2. dependency shake-bench hasn't been published yet so we also need unmarkBroken and doDistribute
-  ghcide = doDistribute (unmarkBroken (dontCheck (super.ghcide_0_7_0_0.override { lsp-test = dontCheck self.lsp-test; })));
-  refinery = doDistribute super.refinery_0_3_0_0;
+  ghcide = doDistribute (unmarkBroken (dontCheck super.ghcide));
+
   data-tree-print = doJailbreak super.data-tree-print;
 
   # 2020-11-15: aeson 1.5.4.1 needs to new quickcheck-instances for testing
@@ -1504,6 +1502,8 @@ self: super: {
   # 2020-11-19: Jailbreaking until: https://github.com/snapframework/heist/pull/124
   heist = doJailbreak super.heist;
 
+  hinit = generateOptparseApplicativeCompletion "hi" (super.hinit.override { haskeline = self.haskeline_0_8_1_1; });
+
   # 2020-11-19: Jailbreaking until: https://github.com/snapframework/snap/pull/219
   snap = doJailbreak super.snap;
 
@@ -1527,7 +1527,7 @@ self: super: {
 
   # 2020-12-05: http-client is fixed on too old version
   essence-of-live-coding-warp = super.essence-of-live-coding-warp.override {
-    http-client = self.http-client_0_7_4;
+    http-client = self.http-client_0_7_6;
   };
 
   # 2020-12-06: Restrictive upper bounds w.r.t. pandoc-types (https://github.com/owickstrom/pandoc-include-code/issues/27)
@@ -1575,4 +1575,38 @@ self: super: {
   # Allow building with older versions of http-client.
   http-client-restricted = doJailbreak super.http-client-restricted;
 
+  # 2020-02-11: https://github.com/ekmett/lens/issues/969
+  # A change in vector 0.2.12 broke the lens doctests.
+  # This is fixed on lens master. Remove this override on assert fail.
+  lens = assert super.lens.version == "4.19.2"; doJailbreak (dontCheck super.lens);
+
+  # Test suite fails, upstream not reachable for simple fix (not responsive on github)
+  vivid-osc = dontCheck super.vivid-osc;
+  vivid-supercollider = dontCheck super.vivid-supercollider;
+
+  # Overly strict version bounds: https://github.com/Profpatsch/yarn-lock/issues/8
+  yarn-lock = doJailbreak super.yarn-lock;
+
+  # Dependency to regex-tdfa-text can be removed for later regex-tdfa versions.
+  # Fix protolude compilation error by applying patch from pull-request.
+  # Override can be removed for the next release > 0.8.0.
+  yarn2nix = overrideCabal (super.yarn2nix.override {
+    regex-tdfa-text = null;
+  }) (attrs: {
+    jailbreak = true;
+    # remove dependency on regex-tdfa-text
+    # which has been merged into regex-tdfa
+    postPatch = ''
+      sed -i '/regex-tdfa-text/d' yarn2nix.cabal
+    '';
+    patches = (attrs.patches or []) ++ [
+      # fix a compilation error related to protolude 0.3
+      (pkgs.fetchpatch {
+        url = "https://github.com/Profpatsch/yarn2nix/commit/ca78cf06226819b2e78cb6cdbc157d27afb41532.patch";
+        sha256 = "1vkczwzhxilnp87apyb18nycn834y5nbw4yr1kpwlwhrhalvzw61";
+        includes = [ "*/ResolveLockfile.hs" ];
+      })
+    ];
+  });
+
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
index c162740b8d789..5e39a8047bd84 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
@@ -42,20 +42,13 @@ self: super: {
   unix = null;
   xhtml = null;
 
-  # The proper 3.2.0.0 release does not compile with ghc-8.10.1, so we take the
-  # hitherto unreleased next version from the '3.2' branch of the upstream git
-  # repository for the time being.
-  cabal-install = assert super.cabal-install.version == "3.2.0.0";
-                  overrideCabal super.cabal-install (drv: {
-    postUnpack = "sourceRoot+=/cabal-install; echo source root reset to $sourceRoot";
-    version = "3.2.0.0-git";
-    editedCabalFile = null;
-    src = pkgs.fetchgit {
-      url = "git://github.com/haskell/cabal.git";
-      rev = "9bd4cc0591616aeae78e17167338371a2542a475";
-      sha256 = "005q1shh7vqgykkp72hhmswmrfpz761x0q0jqfnl3wqim4xd9dg0";
-    };
-  });
+  cabal-install = super.cabal-install.override {
+    Cabal = super.Cabal_3_4_0_0;
+    hackage-security = super.hackage-security.override { Cabal = super.Cabal_3_4_0_0; };
+    # Usung dontCheck to break test dependency cycles
+    edit-distance = dontCheck (super.edit-distance.override { random = super.random_1_2_0; });
+    random = super.random_1_2_0;
+  };
 
   # Jailbreak to fix the build.
   base-noprelude = doJailbreak super.base-noprelude;
@@ -92,11 +85,4 @@ self: super: {
 
   # Break out of "Cabal < 3.2" constraint.
   stylish-haskell = doJailbreak super.stylish-haskell;
-
-  # Agda 2.6.1.2 only declares a transformers dependency for ghc < 8.10.3.
-  # https://github.com/agda/agda/issues/5109
-  Agda = appendPatch super.Agda (pkgs.fetchpatch {
-    url = "https://github.com/agda/agda/commit/76278c23d447b49f59fac581ca4ac605792aabbc.patch";
-    sha256 = "1g34g8a09j73h89pk4cdmri0nb0qg664hkff45amcr9kyz14a9f3";
-  });
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
index 27bf04b914e79..6831c7c327d76 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
@@ -88,5 +88,6 @@ self: super: {
 
   # ghc versions prior to 8.8.x needs additional dependency to compile successfully.
   ghc-lib-parser-ex = addBuildDepend super.ghc-lib-parser-ex self.ghc-lib-parser;
+  hls-hlint-plugin = addBuildDepend super.hls-hlint-plugin self.ghc-lib;
 
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
index 2a0a7810f72a2..b695c448be467 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
@@ -94,4 +94,12 @@ self: super: {
 
   # This became a core library in ghc 8.10., so we don‘t have an "exception" attribute anymore.
   exceptions = super.exceptions_0_10_4;
+
+  # Older compilers need the latest ghc-lib to build this package.
+  hls-hlint-plugin = addBuildDepend super.hls-hlint-plugin self.ghc-lib;
+
+  # vector 0.12.2 indroduced doctest checks that don‘t work on older compilers
+  vector = dontCheck super.vector;
+
+  mmorph = super.mmorph_1_1_3;
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
index d1099c56b2c84..e6e0f690fe79f 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
@@ -123,4 +123,10 @@ self: super: {
   # ghc versions which don‘t match the ghc-lib-parser-ex version need the
   # additional dependency to compile successfully.
   ghc-lib-parser-ex = addBuildDepend super.ghc-lib-parser-ex self.ghc-lib-parser;
+
+  # Older compilers need the latest ghc-lib to build this package.
+  hls-hlint-plugin = addBuildDepend super.hls-hlint-plugin self.ghc-lib;
+
+  # vector 0.12.2 indroduced doctest checks that don‘t work on older compilers
+  vector = dontCheck super.vector;
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
index d9efb1ab9c32a..932441f781082 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
@@ -43,18 +43,12 @@ self: super: {
   unix = null;
   xhtml = null;
 
-  # Take the 3.4.x release candidate.
-  cabal-install = assert super.cabal-install.version == "3.2.0.0";
-                  overrideCabal super.cabal-install (drv: {
-    postUnpack = "sourceRoot+=/cabal-install; echo source root reset to $sourceRoot";
-    version = "cabal-install-3.4.0.0-rc4";
-    editedCabalFile = null;
-    src = pkgs.fetchgit {
-      url = "git://github.com/haskell/cabal.git";
-      rev = "cabal-install-3.4.0.0-rc4";
-      sha256 = "049hllk1d8jid9yg70hmcsdgb0n7hm24p39vavllaahfb0qfimrk";
-    };
-  });
+  # Build cabal-install with the compiler's native Cabal.
+  cabal-install = (doJailbreak super.cabal-install).override {
+    # Use dontCheck to break test dependency cycles
+    edit-distance = dontCheck (super.edit-distance.override { random = super.random_1_2_0; });
+    random = super.random_1_2_0;
+  };
 
   # Jailbreaks & Version Updates
   async = doJailbreak super.async;
@@ -62,8 +56,10 @@ self: super: {
   data-fix = doJailbreak super.data-fix;
   dec = doJailbreak super.dec;
   ed25519 = doJailbreak super.ed25519;
+  hackage-security = doJailbreak super.hackage-security;
   hashable = overrideCabal (doJailbreak (dontCheck super.hashable)) (drv: { postPatch = "sed -i -e 's,integer-gmp .*<1.1,integer-gmp < 2,' hashable.cabal"; });
   hashable-time = doJailbreak super.hashable-time;
+  HTTP = overrideCabal (doJailbreak super.HTTP) (drv: { postPatch = "sed -i -e 's,! Socket,!Socket,' Network/TCP.hs"; });
   integer-logarithms = overrideCabal (doJailbreak super.integer-logarithms) (drv: { postPatch = "sed -i -e 's,integer-gmp <1.1,integer-gmp < 2,' integer-logarithms.cabal"; });
   lukko = doJailbreak super.lukko;
   parallel = doJailbreak super.parallel;
@@ -84,7 +80,7 @@ self: super: {
     url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/alex-3.2.5.patch";
     sha256 = "0q8x49k3jjwyspcmidwr6b84s4y43jbf4wqfxfm6wz8x2dxx6nwh";
   });
-  doctest = appendPatch (dontCheck (doJailbreak super.doctest_0_17)) (pkgs.fetchpatch {
+  doctest = appendPatch (dontCheck (doJailbreak super.doctest_0_18)) (pkgs.fetchpatch {
     url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/doctest-0.17.patch";
     sha256 = "16s2jcbk9hsww38i2wzxghbf0zpp5dc35hp6rd2n7d4z5xfavp62";
   });
@@ -96,14 +92,6 @@ self: super: {
     url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/language-haskell-extract-0.2.4.patch";
     sha256 = "0rgzrq0513nlc1vw7nw4km4bcwn4ivxcgi33jly4a7n3c1r32v1f";
   });
-  regex-base = appendPatch (doJailbreak super.regex-base) (pkgs.fetchpatch {
-    url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/regex-base-0.94.0.0.patch";
-    sha256 = "0k5fglbl7nnhn8400c4cpnflxcbj9p3xi5prl9jfmszr31jwdy5d";
-  });
-  syb = appendPatch (dontCheck super.syb) (pkgs.fetchpatch {
-    url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/syb-0.7.1.patch";
-    sha256 = "1407r8xv6bfnmpbw7glfh4smi76a2fc9pkq300c3d9f575708zqr";
-  });
 
   # The test suite depends on ChasingBottoms, which is broken with ghc-9.0.x.
   unordered-containers = dontCheck super.unordered-containers;
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index fa18d7507db1a..05454bd0b8922 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -1,6 +1,6 @@
 # pkgs/development/haskell-modules/configuration-hackage2nix.yaml
 
-compiler: ghc-8.10.3
+compiler: ghc-8.10.4
 
 core-packages:
   - array-0.5.4.0
@@ -13,17 +13,17 @@ core-packages:
   - directory-1.3.6.0
   - exceptions-0.10.4
   - filepath-1.4.2.1
-  - ghc-8.10.3
-  - ghc-boot-8.10.3
-  - ghc-boot-th-8.10.3
+  - ghc-8.10.4
+  - ghc-boot-8.10.4
+  - ghc-boot-th-8.10.4
   - ghc-compact-0.1.0.0
-  - ghc-heap-8.10.3
+  - ghc-heap-8.10.4
   - ghc-prim-0.6.1
-  - ghci-8.10.3
+  - ghci-8.10.4
   - haskeline-0.8.0.1
   - hpc-0.6.1.0
   - integer-gmp-1.0.3.0
-  - libiserv-8.10.3
+  - libiserv-8.10.4
   - mtl-2.2.2
   - parsec-3.1.14.0
   - pretty-1.1.3.6
@@ -73,10 +73,12 @@ default-package-overrides:
   # gi-gdkx11-4.x requires gtk-4.x, which is still under development and
   # not yet available in Nixpkgs
   - gi-gdkx11 < 4
-  # haskell-language-server 0.5.0.0 doesn't accept newer versions
-  - fourmolu ==0.2.*
-  - refinery ==0.2.*
-  # Stackage Nightly 2021-01-29
+  - ghcide < 0.7.4 # for hls 0.9.0
+  - hls-explicit-imports-plugin < 0.1.0.1 # for hls 0.9.0
+  - hls-plugin-api < 0.7.1.0 # for hls 0.9.0
+  - hls-retrie-plugin < 0.1.1.1 # for hls 0.9.0
+
+  # Stackage Nightly 2021-02-25
   - abstract-deque ==0.3
   - abstract-par ==0.3.3
   - AC-Angle ==1.0
@@ -86,11 +88,11 @@ default-package-overrides:
   - ad ==4.4.1
   - adjunctions ==4.4
   - adler32 ==0.1.2.0
-  - aeson ==1.5.5.1
+  - aeson ==1.5.6.0
   - aeson-attoparsec ==0.0.0
   - aeson-better-errors ==0.9.1.0
   - aeson-casing ==0.2.0.0
-  - aeson-combinators ==0.0.4.0
+  - aeson-combinators ==0.0.4.1
   - aeson-commit ==1.3
   - aeson-compat ==0.3.9
   - aeson-default ==0.9.1.0
@@ -101,10 +103,11 @@ default-package-overrides:
   - aeson-picker ==0.1.0.5
   - aeson-pretty ==0.8.8
   - aeson-qq ==0.8.3
-  - aeson-schemas ==1.3.2
+  - aeson-schemas ==1.3.3
   - aeson-with ==0.1.2.0
   - aeson-yak ==0.1.1.3
   - aeson-yaml ==1.1.0.0
+  - Agda ==2.6.1.3
   - agda2lagda ==0.2020.11.1
   - al ==0.1.4.2
   - alarmclock ==0.7.0.5
@@ -210,38 +213,38 @@ default-package-overrides:
   - amazonka-workspaces ==1.6.1
   - amazonka-xray ==1.6.1
   - amqp ==0.20.0.1
-  - amqp-utils ==0.4.4.1
+  - amqp-utils ==0.4.5.1
   - annotated-wl-pprint ==0.7.0
   - ansi-terminal ==0.10.3
   - ansi-wl-pprint ==0.6.9
   - ANum ==0.2.0.2
-  - ap-normalize ==0.1.0.0
   - apecs ==0.9.2
   - apecs-gloss ==0.2.4
   - apecs-physics ==0.4.5
   - api-field-json-th ==0.1.0.2
   - api-maker ==0.1.0.0
-  - app-settings ==0.2.0.12
+  - ap-normalize ==0.1.0.0
   - appar ==0.1.8
   - appendmap ==0.1.5
-  - apply-refact ==0.9.0.0
+  - apply-refact ==0.9.1.0
   - apportionment ==0.0.0.3
-  - approximate ==0.3.2
+  - approximate ==0.3.4
   - approximate-equality ==1.1.0.2
+  - app-settings ==0.2.0.12
   - arbor-lru-cache ==0.1.1.1
   - arbor-postgres ==0.0.5
   - arithmoi ==0.11.0.1
   - array-memoize ==0.6.0
   - arrow-extras ==0.1.0.1
-  - ascii ==1.0.1.0
-  - ascii-case ==1.0.0.2
-  - ascii-char ==1.0.0.6
-  - ascii-group ==1.0.0.2
-  - ascii-predicates ==1.0.0.2
-  - ascii-progress ==0.3.3.0
-  - ascii-superset ==1.0.1.0
-  - ascii-th ==1.0.0.2
+  - ascii ==1.0.1.4
+  - ascii-case ==1.0.0.4
+  - ascii-char ==1.0.0.8
   - asciidiagram ==1.3.3.3
+  - ascii-group ==1.0.0.4
+  - ascii-predicates ==1.0.0.4
+  - ascii-progress ==0.3.3.0
+  - ascii-superset ==1.0.1.4
+  - ascii-th ==1.0.0.4
   - asif ==6.0.4
   - asn1-encoding ==0.9.6
   - asn1-parse ==0.9.5
@@ -249,7 +252,7 @@ default-package-overrides:
   - assert-failure ==0.1.2.5
   - assoc ==1.0.2
   - astro ==0.4.2.1
-  - async ==2.2.2
+  - async ==2.2.3
   - async-extra ==0.2.0.0
   - async-pool ==0.9.1
   - async-refresh ==0.3.0.0
@@ -257,7 +260,7 @@ default-package-overrides:
   - atom-basic ==0.2.5
   - atomic-primops ==0.8.4
   - atomic-write ==0.2.0.7
-  - attoparsec ==0.13.2.4
+  - attoparsec ==0.13.2.5
   - attoparsec-base64 ==0.0.0
   - attoparsec-binary ==0.2
   - attoparsec-expr ==0.1.1.2
@@ -269,8 +272,8 @@ default-package-overrides:
   - authenticate ==1.3.5
   - authenticate-oauth ==1.6.0.1
   - auto ==0.4.3.1
+  - autoexporter ==1.1.20
   - auto-update ==0.1.6
-  - autoexporter ==1.1.19
   - avers ==0.0.17.1
   - avro ==0.5.2.0
   - aws-cloudfront-signed-cookies ==0.2.0.6
@@ -278,25 +281,25 @@ default-package-overrides:
   - backtracking ==0.1.0
   - bank-holidays-england ==0.2.0.6
   - barbies ==2.0.2.0
-  - base-compat ==0.11.2
-  - base-compat-batteries ==0.11.2
-  - base-orphans ==0.8.4
-  - base-prelude ==1.4
-  - base-unicode-symbols ==0.2.4.2
   - base16 ==0.3.0.1
   - base16-bytestring ==0.1.1.7
-  - base16-lens ==0.1.3.0
+  - base16-lens ==0.1.3.2
   - base32 ==0.2.0.0
-  - base32-lens ==0.1.0.0
+  - base32-lens ==0.1.1.1
   - base32string ==0.9.1
   - base58-bytestring ==0.1.0
   - base58string ==0.10.0
   - base64 ==0.4.2.3
   - base64-bytestring ==1.1.0.0
   - base64-bytestring-type ==1.0.1
-  - base64-lens ==0.3.0
+  - base64-lens ==0.3.1
   - base64-string ==0.2
+  - base-compat ==0.11.2
+  - base-compat-batteries ==0.11.2
   - basement ==0.0.11
+  - base-orphans ==0.8.4
+  - base-prelude ==1.4
+  - base-unicode-symbols ==0.2.4.2
   - basic-prelude ==0.7.0
   - bazel-runfiles ==0.12
   - bbdb ==0.8
@@ -309,8 +312,8 @@ default-package-overrides:
   - bibtex ==0.1.0.6
   - bifunctors ==5.5.10
   - bimap ==0.4.0
-  - bimap-server ==0.1.0.1
   - bimaps ==0.1.0.2
+  - bimap-server ==0.1.0.1
   - bin ==0.1
   - binary-conduit ==1.3.1
   - binary-ext ==2.0.4
@@ -320,7 +323,7 @@ default-package-overrides:
   - binary-orphans ==1.0.1
   - binary-parser ==0.5.6
   - binary-parsers ==0.2.4.0
-  - binary-search ==1.0.0.3
+  - binary-search ==2.0.0
   - binary-shared ==0.8.3
   - binary-tagged ==0.3
   - bindings-DSL ==1.0.25
@@ -329,10 +332,10 @@ default-package-overrides:
   - bindings-uname ==0.1
   - bins ==0.1.2.0
   - bitarray ==0.0.1.1
-  - bits ==0.5.2
-  - bits-extra ==0.0.2.0
+  - bits ==0.5.3
   - bitset-word8 ==0.1.1.2
-  - bitvec ==1.0.3.0
+  - bits-extra ==0.0.2.0
+  - bitvec ==1.1.1.0
   - bitwise-enum ==1.0.0.3
   - blake2 ==0.3.0
   - blanks ==0.5.0
@@ -356,13 +359,13 @@ default-package-overrides:
   - bordacount ==0.1.0.0
   - boring ==0.1.3
   - both ==0.1.1.1
-  - bound ==2.0.2
-  - bounded-queue ==1.0.0
+  - bound ==2.0.3
   - BoundedChan ==1.0.3.0
+  - bounded-queue ==1.0.0
   - boundingboxes ==0.2.3
   - bower-json ==1.0.0.1
   - boxes ==0.1.5
-  - brick ==0.59
+  - brick ==0.60.2
   - broadcast-chan ==0.2.1.1
   - bsb-http-chunked ==0.0.0.4
   - bson ==0.4.0.1
@@ -371,17 +374,17 @@ default-package-overrides:
   - buffer-pipe ==0.0
   - bugsnag-haskell ==0.0.4.1
   - bugsnag-hs ==0.2.0.3
-  - bugzilla-redhat ==0.3.0
-  - burrito ==1.2.0.0
+  - bugzilla-redhat ==0.3.1
+  - burrito ==1.2.0.1
   - butcher ==1.3.3.2
   - bv ==0.5
   - bv-little ==1.1.1
-  - byte-count-reader ==0.10.1.2
-  - byte-order ==0.1.2.0
   - byteable ==0.1.1
+  - byte-count-reader ==0.10.1.2
   - bytedump ==1.0
+  - byte-order ==0.1.2.0
   - byteorder ==1.0.4
-  - bytes ==0.17
+  - bytes ==0.17.1
   - byteset ==0.1.1.0
   - bytestring-builder ==0.10.8.2.0
   - bytestring-conversion ==0.3.1
@@ -395,7 +398,7 @@ default-package-overrides:
   - bzlib-conduit ==0.3.0.2
   - c14n ==0.1.0.1
   - c2hs ==0.28.7
-  - ca-province-codes ==1.0.0.0
+  - cabal-appimage ==0.3.0.2
   - cabal-debian ==5.1
   - cabal-doctest ==1.0.8
   - cabal-file ==0.1.1
@@ -407,12 +410,13 @@ default-package-overrides:
   - calendar-recycling ==0.0.0.1
   - call-stack ==0.2.0
   - can-i-haz ==0.3.1.0
+  - ca-province-codes ==1.0.0.0
   - cardano-coin-selection ==1.0.1
   - carray ==0.1.6.8
   - casa-client ==0.0.1
   - casa-types ==0.0.1
-  - case-insensitive ==1.2.1.0
   - cased ==0.1.0.0
+  - case-insensitive ==1.2.1.0
   - cases ==0.1.4
   - casing ==0.1.4.1
   - cassava ==0.5.2.0
@@ -432,7 +436,7 @@ default-package-overrides:
   - chan ==0.0.4.1
   - ChannelT ==0.0.0.7
   - character-cases ==0.1.0.6
-  - charset ==0.3.7.1
+  - charset ==0.3.8
   - charsetdetect-ae ==1.1.0.4
   - Chart ==1.9.3
   - chaselev-deque ==0.5.0.5
@@ -455,6 +459,7 @@ default-package-overrides:
   - cipher-rc4 ==0.1.4
   - circle-packing ==0.1.0.6
   - circular ==0.3.1.1
+  - citeproc ==0.3.0.7
   - clash-ghc ==1.2.5
   - clash-lib ==1.2.5
   - clash-prelude ==1.2.5
@@ -472,13 +477,13 @@ default-package-overrides:
   - cmark ==0.6
   - cmark-gfm ==0.2.2
   - cmark-lucid ==0.1.0.0
-  - cmdargs ==0.10.20
+  - cmdargs ==0.10.21
+  - codec-beam ==0.2.0
+  - codec-rpm ==0.2.2
+  - code-page ==0.2.1
   - co-log ==0.4.0.1
   - co-log-concurrent ==0.5.0.0
   - co-log-core ==0.2.1.1
-  - code-page ==0.2
-  - codec-beam ==0.2.0
-  - codec-rpm ==0.2.2
   - Color ==0.3.0
   - colorful-monoids ==0.2.1.3
   - colorize-haskell ==1.0.1
@@ -487,11 +492,15 @@ default-package-overrides:
   - combinatorial ==0.1.0.1
   - comfort-array ==0.4
   - comfort-graph ==0.0.3.1
+  - commonmark ==0.1.1.4
+  - commonmark-extensions ==0.2.0.4
+  - commonmark-pandoc ==0.2.0.1
   - commutative ==0.0.2
   - comonad ==5.0.8
   - comonad-extras ==4.0.1
   - compactmap ==0.1.4.2.1
-  - compensated ==0.8.1
+  - compdata ==0.12.1
+  - compensated ==0.8.3
   - compiler-warnings ==0.1.0
   - composable-associations ==0.1.0.0
   - composable-associations-aeson ==0.1.0.0
@@ -524,8 +533,8 @@ default-package-overrides:
   - conferer-aeson ==1.0.0.0
   - conferer-hspec ==1.0.0.0
   - conferer-warp ==1.0.0.0
-  - config-ini ==0.2.4.0
   - ConfigFile ==1.1.4
+  - config-ini ==0.2.4.0
   - configurator ==0.3.0.0
   - configurator-export ==0.1.0.1
   - configurator-pg ==0.2.5
@@ -533,8 +542,8 @@ default-package-overrides:
   - connection-pool ==0.2.2
   - console-style ==0.0.2.1
   - constraint ==0.1.4.0
-  - constraint-tuples ==0.1.2
   - constraints ==0.12
+  - constraint-tuples ==0.1.2
   - construct ==0.3
   - contravariant ==1.5.3
   - contravariant-extras ==0.3.5.2
@@ -562,21 +571,22 @@ default-package-overrides:
   - cron ==0.7.0
   - crypto-api ==0.13.3
   - crypto-cipher-types ==0.0.9
-  - crypto-enigma ==0.1.1.6
-  - crypto-numbers ==0.2.7
-  - crypto-pubkey ==0.2.8
-  - crypto-pubkey-types ==0.4.3
-  - crypto-random ==0.0.9
-  - crypto-random-api ==0.2.0
   - cryptocompare ==0.1.2
+  - crypto-enigma ==0.1.1.6
   - cryptohash ==0.11.9
   - cryptohash-cryptoapi ==0.1.4
   - cryptohash-md5 ==0.11.100.1
   - cryptohash-sha1 ==0.11.100.1
   - cryptohash-sha256 ==0.11.102.0
+  - cryptohash-sha512 ==0.11.100.1
   - cryptonite ==0.27
   - cryptonite-conduit ==0.2.2
   - cryptonite-openssl ==0.7
+  - crypto-numbers ==0.2.7
+  - crypto-pubkey ==0.2.8
+  - crypto-pubkey-types ==0.4.3
+  - crypto-random ==0.0.9
+  - crypto-random-api ==0.2.0
   - csp ==1.4.0
   - css-syntax ==0.1.0.0
   - css-text ==0.1.3.0
@@ -601,7 +611,7 @@ default-package-overrides:
   - data-accessor-mtl ==0.2.0.4
   - data-accessor-template ==0.2.1.16
   - data-accessor-transformers ==0.2.1.7
-  - data-ascii ==1.0.0.2
+  - data-ascii ==1.0.0.6
   - data-binary-ieee754 ==0.4.4
   - data-bword ==0.1.0.1
   - data-checked ==0.3
@@ -613,9 +623,10 @@ default-package-overrides:
   - data-default-instances-dlist ==0.0.1
   - data-default-instances-old-locale ==0.0.1
   - data-diverse ==4.7.0.0
+  - datadog ==0.2.5.0
   - data-dword ==0.3.2
   - data-endian ==0.1.1
-  - data-fix ==0.3.0
+  - data-fix ==0.3.1
   - data-forest ==0.1.0.8
   - data-has ==0.4.0.0
   - data-hash ==0.2.0.1
@@ -631,7 +642,6 @@ default-package-overrides:
   - data-reify ==0.6.3
   - data-serializer ==0.3.4.1
   - data-textual ==0.3.0.3
-  - datadog ==0.2.5.0
   - dataurl ==0.1.0.0
   - DAV ==1.3.4
   - DBFunctor ==0.1.1.1
@@ -640,37 +650,37 @@ default-package-overrides:
   - debian ==4.0.2
   - debian-build ==0.10.2.0
   - debug-trace-var ==0.2.0
-  - dec ==0.0.3
+  - dec ==0.0.4
   - Decimal ==0.5.1
-  - declarative ==0.5.3
+  - declarative ==0.5.4
   - deepseq-generics ==0.2.0.0
   - deepseq-instances ==0.1.0.1
-  - deferred-folds ==0.9.15
+  - deferred-folds ==0.9.16
   - dejafu ==2.4.0.1
   - dense-linear-algebra ==0.1.0.0
   - depq ==0.4.1.0
   - deque ==0.4.3
-  - derive-topdown ==0.0.2.2
   - deriveJsonNoPrefix ==0.1.0.1
-  - deriving-aeson ==0.2.6
+  - derive-topdown ==0.0.2.2
+  - deriving-aeson ==0.2.6.1
   - deriving-compat ==0.5.10
-  - derulo ==1.0.9
+  - derulo ==1.0.10
   - dhall ==1.38.0
   - dhall-bash ==1.0.36
   - dhall-json ==1.7.5
   - dhall-lsp-server ==1.0.13
   - dhall-yaml ==1.2.5
-  - di-core ==1.0.4
-  - di-monad ==1.3.1
-  - diagrams-solve ==0.1.2
+  - diagrams-solve ==0.1.3
   - dialogflow-fulfillment ==0.1.1.3
+  - di-core ==1.0.4
   - dictionary-sharing ==0.1.0.0
   - Diff ==0.4.0
   - digest ==0.0.1.2
   - digits ==0.3.1
   - dimensional ==1.3
-  - direct-sqlite ==2.3.26
+  - di-monad ==1.3.1
   - directory-tree ==0.12.1
+  - direct-sqlite ==2.3.26
   - dirichlet ==0.1.0.2
   - discount ==0.1.1
   - disk-free-space ==0.1.0.1
@@ -682,8 +692,6 @@ default-package-overrides:
   - dlist-instances ==0.1.1.1
   - dlist-nonempty ==0.1.1
   - dns ==4.0.1
-  - do-list ==1.0.1
-  - do-notation ==0.1.0.2
   - dockerfile ==0.2.0
   - doclayout ==0.3
   - doctemplates ==0.9
@@ -692,6 +700,8 @@ default-package-overrides:
   - doctest-exitcode-stdio ==0.0
   - doctest-lib ==0.1
   - doldol ==0.4.1.2
+  - do-list ==1.0.1
+  - do-notation ==0.1.0.2
   - dot ==0.3
   - dotenv ==0.8.0.7
   - dotgen ==0.4.3
@@ -712,7 +722,7 @@ default-package-overrides:
   - Earley ==0.13.0.1
   - easy-file ==0.2.2
   - Ebnf2ps ==1.0.15
-  - echo ==0.1.3
+  - echo ==0.1.4
   - ecstasy ==0.2.1.0
   - ed25519 ==0.0.5.0
   - edit-distance ==0.2.2.1
@@ -731,24 +741,24 @@ default-package-overrides:
   - elerea ==2.9.0
   - elf ==0.30
   - eliminators ==0.7
+  - elm2nix ==0.2.1
   - elm-bridge ==0.6.1
   - elm-core-sources ==1.0.0
   - elm-export ==0.6.0.1
-  - elm2nix ==0.2.1
-  - elynx ==0.5.0.1
-  - elynx-markov ==0.5.0.1
-  - elynx-nexus ==0.5.0.1
-  - elynx-seq ==0.5.0.1
-  - elynx-tools ==0.5.0.1
-  - elynx-tree ==0.5.0.1
+  - elynx ==0.5.0.2
+  - elynx-markov ==0.5.0.2
+  - elynx-nexus ==0.5.0.2
+  - elynx-seq ==0.5.0.2
+  - elynx-tools ==0.5.0.2
+  - elynx-tree ==0.5.0.2
   - email-validate ==2.3.2.13
   - emojis ==0.1
   - enclosed-exceptions ==1.0.3
   - ENIG ==0.0.1.0
   - entropy ==0.4.1.6
-  - enum-subset-generate ==0.1.0.0
   - enummapset ==0.6.0.3
   - enumset ==0.0.5
+  - enum-subset-generate ==0.1.0.0
   - envelope ==0.2.2.0
   - envparse ==0.4.1
   - envy ==2.1.0.0
@@ -762,33 +772,33 @@ default-package-overrides:
   - error-or-utils ==0.1.1
   - errors ==2.3.0
   - errors-ext ==0.4.2
-  - ersatz ==0.4.8
-  - esqueleto ==3.4.0.1
+  - ersatz ==0.4.9
+  - esqueleto ==3.4.1.0
   - essence-of-live-coding ==0.2.4
   - essence-of-live-coding-gloss ==0.2.4
   - essence-of-live-coding-pulse ==0.2.4
   - essence-of-live-coding-quickcheck ==0.2.4
   - etc ==0.4.1.0
   - eve ==0.1.9.0
-  - event-list ==0.1.2
   - eventful-core ==0.2.0
   - eventful-test-helpers ==0.2.0
+  - event-list ==0.1.2
   - eventstore ==1.4.1
   - every ==0.0.1
   - exact-combinatorics ==0.2.0.9
   - exact-pi ==0.5.0.1
   - exception-hierarchy ==0.1.0.4
   - exception-mtl ==0.4.0.1
+  - exceptions ==0.10.4
   - exception-transformers ==0.4.0.9
   - exception-via ==0.1.0.0
-  - exceptions ==0.10.4
   - executable-path ==0.0.3.1
   - exit-codes ==1.0.0
   - exomizer ==1.0.0
-  - exp-pairs ==0.2.1.0
   - experimenter ==0.1.0.4
   - expiring-cache-map ==0.0.6.1
   - explicit-exception ==0.1.10
+  - exp-pairs ==0.2.1.0
   - express ==0.1.3
   - extended-reals ==0.2.4.0
   - extensible-effects ==5.0.0.1
@@ -803,7 +813,7 @@ default-package-overrides:
   - fakefs ==0.3.0.2
   - fakepull ==0.3.0.2
   - fast-digits ==0.3.0.0
-  - fast-logger ==3.0.2
+  - fast-logger ==3.0.3
   - fast-math ==1.0.2
   - fb ==2.1.1
   - feature-flags ==0.1.0.1
@@ -815,10 +825,10 @@ default-package-overrides:
   - fgl ==5.7.0.3
   - file-embed ==0.0.13.0
   - file-embed-lzma ==0
-  - file-modules ==0.1.2.4
-  - file-path-th ==0.1.0.0
   - filelock ==0.1.1.5
   - filemanip ==0.3.6.3
+  - file-modules ==0.1.2.4
+  - file-path-th ==0.1.0.0
   - filepattern ==0.1.2
   - fileplow ==0.1.0.0
   - filtrable ==0.1.4.0
@@ -841,18 +851,18 @@ default-package-overrides:
   - flexible-defaults ==0.0.3
   - FloatingHex ==0.5
   - floatshow ==0.2.4
-  - flow ==1.0.21
+  - flow ==1.0.22
   - flush-queue ==1.0.0
   - fmlist ==0.9.4
   - fmt ==0.6.1.2
   - fn ==0.3.0.2
   - focus ==1.0.2
   - focuslist ==0.1.0.2
+  - foldable1 ==0.1.0.0
   - fold-debounce ==0.2.0.9
   - fold-debounce-conduit ==0.2.0.5
-  - foldable1 ==0.1.0.0
   - foldl ==1.4.10
-  - folds ==0.7.5
+  - folds ==0.7.6
   - follow-file ==0.0.3
   - FontyFruity ==0.5.3.5
   - foreign-store ==0.2
@@ -864,10 +874,10 @@ default-package-overrides:
   - foundation ==0.0.25
   - free ==5.1.5
   - free-categories ==0.2.0.2
-  - free-vl ==0.1.4
   - freenect ==1.2.1
   - freer-simple ==1.2.1.1
   - freetype2 ==0.2.0
+  - free-vl ==0.1.4
   - friendly-time ==0.4.1
   - from-sum ==0.2.3.0
   - frontmatter ==0.1.0.2
@@ -877,14 +887,14 @@ default-package-overrides:
   - ftp-client-conduit ==0.5.0.5
   - funcmp ==1.9
   - function-builder ==0.3.0.1
-  - functor-classes-compat ==1
+  - functor-classes-compat ==1.0.1
   - fusion-plugin ==0.2.2
   - fusion-plugin-types ==0.1.0
   - fuzzcheck ==0.1.1
   - fuzzy ==0.1.0.0
   - fuzzy-dates ==0.1.1.2
-  - fuzzy-time ==0.1.0.0
   - fuzzyset ==0.2.0
+  - fuzzy-time ==0.1.0.0
   - gauge ==0.2.5
   - gd ==3000.7.3
   - gdp ==0.0.3.0
@@ -895,13 +905,14 @@ default-package-overrides:
   - generic-data ==0.9.2.0
   - generic-data-surgery ==0.3.0.0
   - generic-deriving ==1.13.1
+  - generic-functor ==0.2.0.0
   - generic-lens ==2.0.0.0
   - generic-lens-core ==2.0.0.0
   - generic-monoid ==0.1.0.1
   - generic-optics ==2.0.0.0
-  - generic-random ==1.3.0.1
   - GenericPretty ==1.2.2
-  - generics-sop ==0.5.1.0
+  - generic-random ==1.3.0.1
+  - generics-sop ==0.5.1.1
   - generics-sop-lens ==0.2.0.1
   - geniplate-mirror ==0.7.7
   - genvalidity ==0.11.0.0
@@ -933,24 +944,24 @@ default-package-overrides:
   - ghc-check ==0.5.0.3
   - ghc-core ==0.5.6
   - ghc-events ==0.15.1
-  - ghc-exactprint ==0.6.3.3
-  - ghc-lib ==8.10.3.20201220
-  - ghc-lib-parser ==8.10.3.20201220
-  - ghc-lib-parser-ex ==8.10.0.17
+  - ghc-exactprint ==0.6.4
+  - ghcid ==0.8.7
+  - ghci-hexcalc ==0.1.1.0
+  - ghcjs-codemirror ==0.0.0.2
+  - ghc-lib ==8.10.4.20210206
+  - ghc-lib-parser ==8.10.4.20210206
+  - ghc-lib-parser-ex ==8.10.0.19
   - ghc-parser ==0.2.2.0
   - ghc-paths ==0.1.0.12
-  - ghc-prof ==1.4.1.7
+  - ghc-prof ==1.4.1.8
   - ghc-source-gen ==0.4.0.0
   - ghc-syntax-highlighter ==0.0.6.0
   - ghc-tcplugins-extra ==0.4.1
   - ghc-trace-events ==0.1.2.1
   - ghc-typelits-extra ==0.4.2
-  - ghc-typelits-knownnat ==0.7.4
-  - ghc-typelits-natnormalise ==0.7.3
+  - ghc-typelits-knownnat ==0.7.5
+  - ghc-typelits-natnormalise ==0.7.4
   - ghc-typelits-presburger ==0.5.2.0
-  - ghci-hexcalc ==0.1.1.0
-  - ghcid ==0.8.7
-  - ghcjs-codemirror ==0.0.0.2
   - ghost-buster ==0.1.1.0
   - gi-atk ==2.0.22
   - gi-cairo ==1.0.24
@@ -968,18 +979,18 @@ default-package-overrides:
   - gi-gtk ==3.0.36
   - gi-gtk-hs ==0.3.9
   - gi-harfbuzz ==0.0.3
-  - gi-pango ==1.0.23
-  - gi-xlib ==2.0.9
   - ginger ==0.10.1.0
   - gingersnap ==0.3.1.0
+  - gi-pango ==1.0.23
   - githash ==0.1.5.0
   - github ==0.26
-  - github-release ==1.3.5
+  - github-release ==1.3.6
   - github-rest ==1.0.3
   - github-types ==0.2.1
   - github-webhooks ==0.15.0
   - gitlab-haskell ==0.2.5
   - gitrev ==1.3.1
+  - gi-xlib ==2.0.9
   - gl ==0.9
   - glabrous ==2.0.2
   - GLFW-b ==3.3.0.0
@@ -994,14 +1005,14 @@ default-package-overrides:
   - gothic ==0.1.5
   - gpolyline ==0.1.0.1
   - graph-core ==0.3.0.0
-  - graph-wrapper ==0.2.6.0
   - graphite ==0.10.0.1
   - graphql-client ==1.1.0
   - graphs ==0.7.1
   - graphviz ==2999.20.1.0
+  - graph-wrapper ==0.2.6.0
   - gravatar ==0.8.0
-  - greskell ==1.2.0.0
-  - greskell-core ==0.1.3.5
+  - greskell ==1.2.0.1
+  - greskell-core ==0.1.3.6
   - greskell-websocket ==0.1.2.5
   - groom ==0.1.2.1
   - group-by-date ==0.1.0.4
@@ -1013,7 +1024,7 @@ default-package-overrides:
   - hackage-db ==2.1.0
   - hackage-security ==0.6.0.1
   - haddock-library ==1.9.0
-  - hadolint ==1.20.0
+  - hadolint ==1.22.1
   - hadoop-streaming ==0.2.0.3
   - hakyll-convert ==0.3.0.3
   - half ==0.3.1
@@ -1026,7 +1037,7 @@ default-package-overrides:
   - HasBigDecimal ==0.1.1
   - hasbolt ==0.1.4.4
   - hashable ==1.3.0.0
-  - hashable-time ==0.2.0.2
+  - hashable-time ==0.2.1
   - hashids ==1.0.2.4
   - hashing ==0.1.0.1
   - hashmap ==1.3.3
@@ -1051,7 +1062,7 @@ default-package-overrides:
   - hasql-pool ==0.5.2
   - hasql-queue ==1.2.0.2
   - hasql-transaction ==1.0.0.1
-  - hasty-hamiltonian ==1.3.3
+  - hasty-hamiltonian ==1.3.4
   - HaTeX ==3.22.3.0
   - HaXml ==1.25.5
   - haxr ==3000.11.4.1
@@ -1065,10 +1076,10 @@ default-package-overrides:
   - hebrew-time ==0.1.2
   - hedgehog ==1.0.4
   - hedgehog-corpus ==0.2.0
-  - hedgehog-fakedata ==0.0.1.3
+  - hedgehog-fakedata ==0.0.1.4
   - hedgehog-fn ==1.0
   - hedgehog-quickcheck ==0.1.1
-  - hedis ==0.14.1
+  - hedis ==0.14.2
   - hedn ==0.3.0.2
   - here ==1.2.13
   - heredoc ==0.2.0.0
@@ -1082,9 +1093,9 @@ default-package-overrides:
   - hgeometry ==0.11.0.0
   - hgeometry-combinatorial ==0.11.0.0
   - hgrev ==0.2.6
-  - hi-file-parser ==0.1.0.0
   - hidapi ==0.1.5
-  - hie-bios ==0.7.2
+  - hie-bios ==0.7.4
+  - hi-file-parser ==0.1.0.0
   - higher-leveldb ==0.6.0.0
   - highlighting-kate ==0.6.4
   - hinfo ==0.0.3.0
@@ -1104,7 +1115,6 @@ default-package-overrides:
   - hmatrix-vector-sized ==0.1.3.0
   - hmm-lapack ==0.4
   - hmpfr ==0.4.4
-  - hnix-store-core ==0.2.0.0
   - hnock ==0.4.0
   - hoauth2 ==1.16.0
   - hocon ==0.1.0.4
@@ -1116,23 +1126,22 @@ default-package-overrides:
   - hostname-validate ==1.0.0
   - hourglass ==0.2.12
   - hourglass-orphans ==0.1.0.0
-  - hp2pretty ==0.9
-  - hpack ==0.34.3
+  - hp2pretty ==0.10
+  - hpack ==0.34.4
   - hpack-dhall ==0.5.2
   - hpc-codecov ==0.2.0.1
   - hpc-lcov ==1.0.1
   - hprotoc ==2.4.17
   - hruby ==0.3.8
-  - hs-bibutils ==6.10.0.0
-  - hs-functors ==0.1.7.1
-  - hs-GeoIP ==0.3
-  - hs-php-session ==0.0.9.3
   - hsass ==0.8.0
+  - hs-bibutils ==6.10.0.0
   - hsc2hs ==0.68.7
   - hscolour ==1.24.4
   - hsdns ==1.8
   - hsebaysdk ==0.4.1.0
   - hsemail ==2.2.1
+  - hs-functors ==0.1.7.1
+  - hs-GeoIP ==0.3
   - hsini ==0.5.1.2
   - hsinstall ==2.6
   - HSlippyMap ==3.0.1
@@ -1160,12 +1169,13 @@ default-package-overrides:
   - hspec-leancheck ==0.0.4
   - hspec-megaparsec ==2.2.0
   - hspec-meta ==2.7.8
-  - hspec-need-env ==0.1.0.5
+  - hspec-need-env ==0.1.0.6
   - hspec-parsec ==0
   - hspec-smallcheck ==0.5.2
   - hspec-tables ==0.0.1
   - hspec-wai ==0.10.1
   - hspec-wai-json ==0.10.1
+  - hs-php-session ==0.0.9.3
   - hsshellscript ==3.4.5
   - HStringTemplate ==0.8.7
   - HSvm ==0.1.1.3.22
@@ -1173,12 +1183,13 @@ default-package-overrides:
   - HsYAML-aeson ==0.2.0.0
   - hsyslog ==5.0.2
   - htaglib ==1.2.0
-  - HTF ==0.14.0.5
+  - HTF ==0.14.0.6
   - html ==1.0.1.2
   - html-conduit ==1.3.2.1
   - html-entities ==1.1.4.3
   - html-entity-map ==0.1.0.0
   - htoml ==1.0.0.3
+  - http2 ==2.0.5
   - HTTP ==4000.3.15
   - http-api-data ==0.4.1.1
   - http-client ==0.6.4.1
@@ -1186,18 +1197,17 @@ default-package-overrides:
   - http-client-overrides ==0.1.1.0
   - http-client-tls ==0.3.5.3
   - http-common ==0.8.2.1
-  - http-conduit ==2.3.7.4
-  - http-date ==0.0.10
+  - http-conduit ==2.3.8
+  - http-date ==0.0.11
   - http-directory ==0.1.8
   - http-download ==0.2.0.0
+  - httpd-shed ==0.4.1.1
   - http-link-header ==1.0.3.1
   - http-media ==0.8.0.0
   - http-query ==0.1.0
   - http-reverse-proxy ==0.6.0
   - http-streams ==0.8.7.2
   - http-types ==0.12.3
-  - http2 ==2.0.5
-  - httpd-shed ==0.4.1.1
   - human-readable-duration ==0.2.1.4
   - HUnit ==1.6.1.0
   - HUnit-approx ==1.1.1.1
@@ -1210,6 +1220,7 @@ default-package-overrides:
   - hw-conduit-merges ==0.2.1.0
   - hw-diagnostics ==0.0.1.0
   - hw-dsv ==0.4.1.0
+  - hweblib ==0.6.3
   - hw-eliasfano ==0.1.2.0
   - hw-excess ==0.2.3.0
   - hw-fingertree ==0.1.2.0
@@ -1222,7 +1233,7 @@ default-package-overrides:
   - hw-json-simd ==0.1.1.0
   - hw-json-simple-cursor ==0.1.1.0
   - hw-json-standard-cursor ==0.2.3.1
-  - hw-kafka-client ==4.0.2
+  - hw-kafka-client ==4.0.3
   - hw-mquery ==0.2.1.0
   - hw-packed-vector ==0.2.1.0
   - hw-parser ==0.1.1.0
@@ -1234,20 +1245,19 @@ default-package-overrides:
   - hw-string-parse ==0.0.0.4
   - hw-succinct ==0.1.0.1
   - hw-xml ==0.5.1.0
-  - hweblib ==0.6.3
-  - hxt ==9.3.1.18
-  - hxt-charproperties ==9.4.0.0
+  - hxt ==9.3.1.21
+  - hxt-charproperties ==9.5.0.0
   - hxt-css ==0.1.0.3
   - hxt-curl ==9.1.1.1
   - hxt-expat ==9.1.1
   - hxt-http ==9.1.5.2
-  - hxt-regex-xmlschema ==9.2.0.3
+  - hxt-regex-xmlschema ==9.2.0.7
   - hxt-tagsoup ==9.1.4
   - hxt-unicode ==9.0.2.4
   - hybrid-vectors ==0.2.2
   - hyper ==0.2.1.0
-  - hyperloglog ==0.4.3
-  - hyphenation ==0.8
+  - hyperloglog ==0.4.4
+  - hyphenation ==0.8.1
   - iconv ==0.4.1.3
   - identicon ==0.2.2
   - ieee754 ==0.8.0
@@ -1271,7 +1281,7 @@ default-package-overrides:
   - indexed-traversable ==0.1.1
   - infer-license ==0.2.0
   - inflections ==0.4.0.6
-  - influxdb ==1.9.0
+  - influxdb ==1.9.1
   - ini ==0.4.1
   - inj ==1.0
   - inline-c ==0.9.1.4
@@ -1279,19 +1289,19 @@ default-package-overrides:
   - inline-r ==0.10.4
   - inliterate ==0.1.0
   - input-parsers ==0.1.0.1
-  - insert-ordered-containers ==0.2.3.1
-  - inspection-testing ==0.4.2.4
+  - insert-ordered-containers ==0.2.4
+  - inspection-testing ==0.4.3.0
   - instance-control ==0.1.2.0
   - integer-logarithms ==1.0.3.1
   - integer-roots ==1.0
   - integration ==0.2.1
-  - intern ==0.9.3
+  - intern ==0.9.4
   - interpolate ==0.2.1
   - interpolatedstring-perl6 ==1.0.2
   - interpolation ==0.1.1.1
   - interpolator ==1.1.0.2
   - IntervalMap ==0.6.1.2
-  - intervals ==0.9.1
+  - intervals ==0.9.2
   - intro ==0.9.0.0
   - intset-imperative ==0.1.0.0
   - invariant ==0.5.4
@@ -1318,26 +1328,26 @@ default-package-overrides:
   - iso3166-country-codes ==0.20140203.8
   - iso639 ==0.1.0.3
   - iso8601-time ==0.1.5
-  - it-has ==0.2.0.0
   - iterable ==3.0
-  - ix-shapable ==0.1.0
+  - it-has ==0.2.0.0
   - ixset-typed ==0.5
   - ixset-typed-binary-instance ==0.1.0.2
   - ixset-typed-conversions ==0.1.2.0
   - ixset-typed-hashable-instance ==0.1.0.2
+  - ix-shapable ==0.1.0
   - jack ==0.7.1.4
   - jalaali ==1.0.0.0
-  - jira-wiki-markup ==1.3.2
+  - jira-wiki-markup ==1.3.3
   - jose ==0.8.4
   - jose-jwt ==0.9.0
   - js-chart ==2.9.4.1
   - js-dgtable ==0.5.2
   - js-flot ==0.8.3
   - js-jquery ==3.3.1
-  - json-feed ==1.0.11
+  - json-feed ==1.0.12
+  - jsonpath ==0.2.0.0
   - json-rpc ==1.0.3
   - json-rpc-generic ==0.2.1.5
-  - jsonpath ==0.2.0.0
   - JuicyPixels ==3.3.5
   - JuicyPixels-blurhash ==0.1.0.3
   - JuicyPixels-extra ==0.4.1
@@ -1345,7 +1355,7 @@ default-package-overrides:
   - junit-xml ==0.1.0.2
   - justified-containers ==0.3.0.0
   - jwt ==0.10.0
-  - kan-extensions ==5.2.1
+  - kan-extensions ==5.2.2
   - kanji ==3.4.1
   - katip ==0.8.5.0
   - katip-logstash ==0.1.0.0
@@ -1370,7 +1380,7 @@ default-package-overrides:
   - language-bash ==0.9.2
   - language-c ==0.8.3
   - language-c-quote ==0.12.2.1
-  - language-docker ==9.1.2
+  - language-docker ==9.1.3
   - language-java ==0.2.9
   - language-javascript ==0.7.1.0
   - language-protobuf ==1.0.1
@@ -1387,23 +1397,23 @@ default-package-overrides:
   - lawful ==0.1.0.0
   - lazy-csv ==0.5.1
   - lazyio ==0.1.0.4
-  - lca ==0.3.1
+  - lca ==0.4
   - leancheck ==0.9.3
   - leancheck-instances ==0.0.4
   - leapseconds-announced ==2017.1.0.1
   - learn-physics ==0.6.5
   - lens ==4.19.2
-  - lens-action ==0.2.4
-  - lens-aeson ==1.1
+  - lens-action ==0.2.5
+  - lens-aeson ==1.1.1
   - lens-csv ==0.1.1.0
   - lens-datetime ==0.3
   - lens-family ==2.0.0
   - lens-family-core ==2.0.0
   - lens-family-th ==0.5.1.0
   - lens-misc ==0.0.2.0
-  - lens-process ==0.3.0.2
+  - lens-process ==0.4.0.0
   - lens-properties ==4.11.1
-  - lens-regex ==0.1.1
+  - lens-regex ==0.1.3
   - lens-regex-pcre ==1.1.0.0
   - lenz ==0.4.2.0
   - leveldb-haskell ==0.6.5
@@ -1416,22 +1426,22 @@ default-package-overrides:
   - libyaml ==0.1.2
   - LibZip ==1.0.1
   - life-sync ==1.1.1.0
-  - lift-generics ==0.2
   - lifted-async ==0.10.1.2
   - lifted-base ==0.2.3.12
+  - lift-generics ==0.2
   - line ==4.0.1
-  - linear ==1.21.3
+  - linear ==1.21.5
   - linear-circuit ==0.1.0.2
   - linenoise ==0.3.2
   - linux-file-extents ==0.2.0.0
   - linux-namespaces ==0.1.3.0
   - liquid-fixpoint ==0.8.10.2
   - List ==0.6.2
-  - list-predicate ==0.1.0.1
-  - list-singleton ==1.0.0.4
-  - list-t ==1.0.4
   - ListLike ==4.7.4
+  - list-predicate ==0.1.0.1
   - listsafe ==0.1.0.1
+  - list-singleton ==1.0.0.5
+  - list-t ==1.0.4
   - ListTree ==0.2.3
   - little-logger ==0.3.1
   - little-rio ==0.2.2
@@ -1443,7 +1453,7 @@ default-package-overrides:
   - locators ==0.3.0.3
   - loch-th ==0.2.2
   - lockfree-queue ==0.2.3.1
-  - log-domain ==0.13
+  - log-domain ==0.13.1
   - logfloat ==0.13.3.3
   - logging ==3.0.5
   - logging-facade ==0.3.0
@@ -1461,11 +1471,11 @@ default-package-overrides:
   - lz4-frame-conduit ==0.1.0.1
   - lzma ==0.0.0.3
   - lzma-conduit ==1.2.1
-  - machines ==0.7.1
+  - machines ==0.7.2
   - magic ==1.1
   - magico ==0.0.2.1
-  - main-tester ==0.2.0.1
   - mainland-pretty ==0.7.0.1
+  - main-tester ==0.2.0.1
   - makefile ==1.1.0.0
   - managed ==1.0.8
   - MapWith ==0.2.0.0
@@ -1477,9 +1487,9 @@ default-package-overrides:
   - massiv-persist ==0.1.0.0
   - massiv-serialise ==0.1.0.0
   - massiv-test ==0.1.6.1
+  - mathexpr ==0.3.0.0
   - math-extras ==0.1.1.0
   - math-functions ==0.3.4.1
-  - mathexpr ==0.3.0.0
   - matplotlib ==0.7.5
   - matrices ==0.5.0
   - matrix ==0.3.6.1
@@ -1491,9 +1501,9 @@ default-package-overrides:
   - mbox-utility ==0.0.3.1
   - mcmc ==0.4.0.0
   - mcmc-types ==1.0.3
-  - med-module ==0.1.2.1
   - medea ==1.2.0
   - median-stream ==0.7.0.0
+  - med-module ==0.1.2.1
   - megaparsec ==9.0.1
   - megaparsec-tests ==9.0.1
   - membrain ==0.0.0.2
@@ -1519,15 +1529,15 @@ default-package-overrides:
   - midair ==0.2.0.1
   - midi ==0.2.2.2
   - mighty-metropolis ==2.0.0
-  - mime-mail ==0.5.0
+  - mime-mail ==0.5.1
   - mime-mail-ses ==0.4.3
   - mime-types ==0.1.0.9
-  - min-max-pqueue ==0.1.0.2
   - mini-egison ==1.0.0
   - minimal-configuration ==0.1.4
   - minimorph ==0.3.0.0
   - minio-hs ==1.5.3
   - miniutter ==0.5.1.1
+  - min-max-pqueue ==0.1.0.2
   - mintty ==0.1.2
   - missing-foreign ==0.1.1
   - MissingH ==1.4.3.0
@@ -1537,20 +1547,22 @@ default-package-overrides:
   - mmark ==0.0.7.2
   - mmark-cli ==0.0.5.0
   - mmark-ext ==0.2.1.2
-  - mmorph ==1.1.3
+  - mmorph ==1.1.5
   - mnist-idx ==0.1.2.8
-  - mock-time ==0.1.0
   - mockery ==0.3.5
+  - mock-time ==0.1.0
   - mod ==0.1.2.1
   - model ==0.5
-  - modern-uri ==0.3.3.0
+  - modern-uri ==0.3.4.0
   - modular ==0.1.0.8
   - monad-chronicle ==1.0.0.1
   - monad-control ==1.0.2.3
   - monad-control-aligned ==0.0.1.1
   - monad-coroutine ==0.9.0.4
   - monad-extras ==0.6.0
+  - monadic-arrays ==0.2.2
   - monad-journal ==0.8.1
+  - monadlist ==0.0.2
   - monad-logger ==0.3.36
   - monad-logger-json ==0.1.0.0
   - monad-logger-logstash ==0.1.0.0
@@ -1559,28 +1571,26 @@ default-package-overrides:
   - monad-memo ==0.5.3
   - monad-metrics ==0.2.2.0
   - monad-par ==0.3.5
-  - monad-par-extras ==0.3.3
   - monad-parallel ==0.7.2.3
+  - monad-par-extras ==0.3.3
   - monad-peel ==0.2.1.2
   - monad-primitive ==0.1
   - monad-products ==4.0.1
+  - MonadPrompt ==1.0.0.5
+  - MonadRandom ==0.5.2
   - monad-resumption ==0.1.4.0
   - monad-skeleton ==0.1.5
   - monad-st ==0.2.4.1
+  - monads-tf ==0.1.0.3
   - monad-time ==0.3.1.0
   - monad-unlift ==0.2.0
   - monad-unlift-ref ==0.2.1
-  - monadic-arrays ==0.2.2
-  - monadlist ==0.0.2
-  - MonadPrompt ==1.0.0.5
-  - MonadRandom ==0.5.2
-  - monads-tf ==0.1.0.3
   - mongoDB ==2.7.0.0
+  - monoid-subclasses ==1.0.1
+  - monoid-transformer ==0.0.4
   - mono-traversable ==1.0.15.1
   - mono-traversable-instances ==0.1.1.0
   - mono-traversable-keys ==0.1.0
-  - monoid-subclasses ==1.0.1
-  - monoid-transformer ==0.0.4
   - more-containers ==0.2.2.0
   - morpheus-graphql ==0.16.0
   - morpheus-graphql-client ==0.16.0
@@ -1593,14 +1603,14 @@ default-package-overrides:
   - mpi-hs-cereal ==0.1.0.0
   - mtl-compat ==0.2.2
   - mtl-prelude ==2.0.3.1
-  - multi-containers ==0.1.1
   - multiarg ==0.30.0.10
+  - multi-containers ==0.1.1
   - multimap ==1.2.1
   - multipart ==0.2.1
   - multiset ==0.3.4.3
   - multistate ==0.8.0.3
-  - murmur-hash ==0.1.0.9
   - murmur3 ==1.0.4
+  - murmur-hash ==0.1.0.9
   - MusicBrainz ==0.4.1
   - mustache ==2.3.1
   - mutable-containers ==0.3.4
@@ -1608,7 +1618,7 @@ default-package-overrides:
   - mwc-random ==0.14.0.0
   - mwc-random-monad ==0.7.3.1
   - mx-state-codes ==1.0.0.0
-  - mysql ==0.1.7.2
+  - mysql ==0.1.7.3
   - mysql-simple ==0.4.5
   - n2o ==0.11.1
   - nagios-check ==0.3.2
@@ -1642,26 +1652,27 @@ default-package-overrides:
   - network-simple-tls ==0.4
   - network-transport ==0.5.4
   - network-transport-composed ==0.2.1
-  - network-uri ==2.6.3.0
+  - network-uri ==2.6.4.1
   - newtype ==0.2.2.0
-  - newtype-generics ==0.5.4
+  - newtype-generics ==0.6
   - nicify-lib ==1.0.1
   - NineP ==0.0.2.1
+  - nix-derivation ==1.1.1
   - nix-paths ==1.0.1
-  - no-value ==1.0.0.0
-  - non-empty ==0.3.2
-  - non-empty-sequence ==0.2.0.4
-  - non-negative ==0.1.2
   - nonce ==1.0.7
   - nondeterminism ==1.4
+  - non-empty ==0.3.2
   - nonempty-containers ==0.3.4.1
-  - nonempty-vector ==0.2.1.0
   - nonemptymap ==0.0.6.0
+  - non-empty-sequence ==0.2.0.4
+  - nonempty-vector ==0.2.1.0
+  - non-negative ==0.1.2
   - not-gloss ==0.7.7.0
+  - no-value ==1.0.0.0
   - nowdoc ==0.1.1.0
   - nqe ==0.6.3
-  - nri-env-parser ==0.1.0.3
-  - nri-prelude ==0.3.0.0
+  - nri-env-parser ==0.1.0.4
+  - nri-prelude ==0.4.0.0
   - nsis ==0.3.3
   - numbers ==3000.2.0.2
   - numeric-extras ==0.1
@@ -1673,9 +1684,9 @@ default-package-overrides:
   - nvim-hs ==2.1.0.4
   - nvim-hs-contrib ==2.0.0.0
   - nvim-hs-ghcid ==2.0.0.0
-  - o-clock ==1.2.0.1
   - oauthenticated ==0.2.1.0
   - ObjectName ==1.1.0.1
+  - o-clock ==1.2.0.1
   - odbc ==0.2.2
   - oeis2 ==1.0.4
   - ofx ==0.4.4.0
@@ -1688,9 +1699,9 @@ default-package-overrides:
   - Only ==0.1
   - oo-prototypes ==0.1.0.0
   - opaleye ==0.7.1.0
-  - open-browser ==0.2.1.0
   - OpenAL ==1.7.0.5
   - openapi3 ==3.0.1.0
+  - open-browser ==0.2.1.0
   - openexr-write ==0.1.0.2
   - OpenGL ==3.0.3.0
   - OpenGLRaw ==3.3.4.0
@@ -1722,6 +1733,8 @@ default-package-overrides:
   - pager ==0.1.1.0
   - pagination ==0.2.1
   - pagure-cli ==0.2
+  - pandoc ==2.11.4
+  - pandoc-plot ==1.0.2.1
   - pandoc-types ==1.22
   - pantry ==0.5.1.4
   - parallel ==3.2.2.0
@@ -1739,8 +1752,8 @@ default-package-overrides:
   - partial-handler ==1.0.3
   - partial-isomorphisms ==0.2.2.1
   - partial-semigroup ==0.5.1.8
-  - password ==2.1.0.0
-  - password-instances ==2.0.0.1
+  - password ==2.1.1.0
+  - password-instances ==2.0.0.2
   - path ==0.7.0
   - path-binary-instance ==0.1.0.1
   - path-extensions ==0.1.1.0
@@ -1754,14 +1767,15 @@ default-package-overrides:
   - pattern-arrows ==0.0.2
   - pava ==0.1.1.0
   - pcg-random ==0.1.3.7
+  - pcre2 ==1.1.4
   - pcre-heavy ==1.0.0.2
   - pcre-light ==0.4.1.0
   - pcre-utils ==0.1.8.1.1
-  - pcre2 ==1.1.4
   - pdfinfo ==1.5.4
   - peano ==0.1.0.1
   - pem ==0.2.4
   - percent-format ==0.0.1
+  - peregrin ==0.3.1
   - perfect-hash-generator ==0.2.0.6
   - perfect-vector-shuffle ==0.1.1.1
   - persist ==0.1.1.5
@@ -1774,21 +1788,21 @@ default-package-overrides:
   - persistent-pagination ==0.1.1.2
   - persistent-postgresql ==2.11.0.1
   - persistent-qq ==2.9.2.1
-  - persistent-sqlite ==2.11.0.0
+  - persistent-sqlite ==2.11.1.0
   - persistent-template ==2.9.1.0
   - persistent-test ==2.0.3.5
   - persistent-typed-db ==0.1.0.2
   - pg-harness-client ==0.6.0
-  - pg-transact ==0.3.1.1
   - pgp-wordlist ==0.1.0.3
+  - pg-transact ==0.3.1.1
   - phantom-state ==0.2.1.2
   - pid1 ==0.1.2.0
   - pinboard ==0.10.2.0
-  - pipes ==4.3.14
+  - pipes ==4.3.15
   - pipes-aeson ==0.4.1.8
   - pipes-attoparsec ==0.5.1.5
   - pipes-binary ==0.4.2
-  - pipes-bytestring ==2.1.6
+  - pipes-bytestring ==2.1.7
   - pipes-concurrency ==2.0.12
   - pipes-csv ==1.4.3
   - pipes-extras ==1.0.15
@@ -1798,9 +1812,9 @@ default-package-overrides:
   - pipes-network ==0.6.5
   - pipes-network-tls ==0.4
   - pipes-ordered-zip ==1.1.0
-  - pipes-parse ==3.0.8
+  - pipes-parse ==3.0.9
   - pipes-random ==1.0.0.5
-  - pipes-safe ==2.3.2
+  - pipes-safe ==2.3.3
   - pipes-wai ==3.2.0
   - pkcs10 ==0.2.0.0
   - pkgtreediff ==0.4
@@ -1819,7 +1833,6 @@ default-package-overrides:
   - port-utils ==0.2.1.0
   - posix-paths ==0.2.1.6
   - possibly ==1.0.0.0
-  - post-mess-age ==0.2.1.0
   - postgres-options ==0.2.0.0
   - postgresql-binary ==0.12.3.3
   - postgresql-libpq ==0.9.4.3
@@ -1828,54 +1841,49 @@ default-package-overrides:
   - postgresql-simple ==0.6.4
   - postgresql-typed ==0.6.1.2
   - postgrest ==7.0.1
+  - post-mess-age ==0.2.1.0
   - pptable ==0.3.0.0
   - pqueue ==1.4.1.3
   - prairie ==0.0.1.0
   - prefix-units ==0.2.0
   - prelude-compat ==0.0.0.2
   - prelude-safeenum ==0.1.1.2
+  - prettyclass ==1.0.0.0
   - pretty-class ==1.0.1.1
-  - pretty-diff ==0.2.0.3
+  - pretty-diff ==0.4.0.2
   - pretty-hex ==1.1
-  - pretty-relative-time ==0.2.0.0
-  - pretty-show ==1.10
-  - pretty-simple ==4.0.0.0
-  - pretty-sop ==0.2.0.3
-  - pretty-terminal ==0.1.0.0
-  - prettyclass ==1.0.0.0
   - prettyprinter ==1.7.0
   - prettyprinter-ansi-terminal ==1.1.2
   - prettyprinter-compat-annotated-wl-pprint ==1.1
   - prettyprinter-compat-ansi-wl-pprint ==1.0.1
   - prettyprinter-compat-wl-pprint ==1.0.0.1
   - prettyprinter-convert-ansi-wl-pprint ==1.1.1
+  - pretty-relative-time ==0.2.0.0
+  - pretty-show ==1.10
+  - pretty-simple ==4.0.0.0
+  - pretty-sop ==0.2.0.3
+  - pretty-terminal ==0.1.0.0
   - primes ==0.2.1.0
   - primitive ==0.7.1.0
   - primitive-addr ==0.1.0.2
-  - primitive-extras ==0.8
+  - primitive-extras ==0.10.1
   - primitive-unaligned ==0.1.1.1
   - primitive-unlifted ==0.1.3.0
   - print-console-colors ==0.1.0.0
   - probability ==0.2.7
   - process-extras ==0.7.4
   - product-isomorphic ==0.0.3.3
-  - product-profunctors ==0.11.0.1
+  - product-profunctors ==0.11.0.2
   - profiterole ==0.1
   - profunctors ==5.5.2
-  - project-template ==0.2.1.0
   - projectroot ==0.2.0.1
+  - project-template ==0.2.1.0
   - prometheus ==2.2.2
   - prometheus-client ==1.0.1
   - prometheus-wai-middleware ==1.0.1.0
   - promises ==0.3
   - prompt ==0.1.1.2
   - prospect ==0.1.0.0
-  - proto-lens ==0.7.0.0
-  - proto-lens-optparse ==0.1.1.7
-  - proto-lens-protobuf-types ==0.7.0.0
-  - proto-lens-protoc ==0.7.0.0
-  - proto-lens-runtime ==0.7.0.0
-  - proto-lens-setup ==0.4.0.4
   - proto3-wire ==1.1.0
   - protobuf ==0.2.1.3
   - protobuf-simple ==0.1.1.0
@@ -1883,6 +1891,12 @@ default-package-overrides:
   - protocol-buffers-descriptor ==2.4.17
   - protocol-radius ==0.0.1.1
   - protocol-radius-test ==0.1.0.1
+  - proto-lens ==0.7.0.0
+  - proto-lens-optparse ==0.1.1.7
+  - proto-lens-protobuf-types ==0.7.0.0
+  - proto-lens-protoc ==0.7.0.0
+  - proto-lens-runtime ==0.7.0.0
+  - proto-lens-setup ==0.4.0.4
   - protolude ==0.3.0
   - proxied ==0.3.1
   - psqueues ==0.2.7.2
@@ -1893,7 +1907,7 @@ default-package-overrides:
   - pushbullet-types ==0.4.1.0
   - pusher-http-haskell ==2.0.0.3
   - pvar ==1.0.0.0
-  - PyF ==0.9.0.2
+  - PyF ==0.9.0.3
   - qchas ==1.1.0.1
   - qm-interpolated-string ==0.3.0.0
   - qrcode-core ==0.9.4
@@ -1914,65 +1928,67 @@ default-package-overrides:
   - quickcheck-transformer ==0.3.1.1
   - quickcheck-unicode ==1.0.1.0
   - quiet ==0.2
-  - quote-quot ==0.1.0.0
+  - quote-quot ==0.2.0.0
   - radius ==0.7.1.0
   - rainbow ==0.34.2.2
   - rainbox ==0.26.0.0
   - ral ==0.1
-  - rampart ==1.1.0.1
+  - rampart ==1.1.0.2
   - ramus ==0.1.2
   - rando ==0.0.0.4
   - random ==1.1
-  - random-bytestring ==0.1.3.2
+  - random-bytestring ==0.1.4
   - random-fu ==0.2.7.4
   - random-shuffle ==0.0.4
   - random-source ==0.3.0.8
   - random-tree ==0.6.0.5
   - range ==0.3.0.2
-  - range-set-list ==0.1.3.1
+  - ranged-list ==0.1.0.0
   - Ranged-sets ==0.4.0
+  - range-set-list ==0.1.3.1
   - rank1dynamic ==0.4.1
   - rank2classes ==1.4.1
   - Rasterific ==0.7.5.3
   - rasterific-svg ==0.3.3.2
+  - ratel ==1.0.13
   - rate-limit ==1.4.2
-  - ratel ==1.0.12
-  - ratel-wai ==1.1.3
+  - ratel-wai ==1.1.4
   - rattle ==0.2
-  - raw-strings-qq ==1.1
+  - Rattus ==0.5
   - rawfilepath ==0.2.4
   - rawstring-qm ==0.2.3.0
-  - rcu ==0.2.4
+  - raw-strings-qq ==1.1
+  - rcu ==0.2.5
   - rdf ==0.1.0.4
   - rdtsc ==1.3.0.1
   - re2 ==0.3
+  - readable ==0.3.1
   - read-editor ==0.1.0.2
   - read-env-var ==1.0.0.0
-  - readable ==0.3.1
-  - reanimate ==1.1.3.2
-  - reanimate-svg ==0.13.0.0
+  - reanimate ==1.1.3.3
+  - reanimate-svg ==0.13.0.1
   - rebase ==1.6.1
-  - record-dot-preprocessor ==0.2.7
+  - record-dot-preprocessor ==0.2.8
   - record-hasfield ==1.0
-  - record-wrangler ==0.1.1.0
   - records-sop ==0.1.0.3
-  - recursion-schemes ==5.2.1
+  - record-wrangler ==0.1.1.0
+  - recursion-schemes ==5.2.2
   - reducers ==3.12.3
-  - ref-fd ==0.4.0.2
-  - ref-tf ==0.4.0.2
   - refact ==0.3.0.2
-  - refined ==0.6.1
+  - ref-fd ==0.4.0.2
+  - refined ==0.6.2
   - reflection ==2.1.6
   - reform ==0.2.7.4
   - reform-blaze ==0.2.4.3
   - reform-hamlet ==0.0.5.3
   - reform-happstack ==0.2.5.4
   - RefSerialize ==0.4.0
+  - ref-tf ==0.4.0.2
   - regex ==1.1.0.0
   - regex-applicative ==0.3.4
   - regex-applicative-text ==0.1.0.1
-  - regex-base ==0.94.0.0
-  - regex-compat ==0.95.2.0
+  - regex-base ==0.94.0.1
+  - regex-compat ==0.95.2.1
   - regex-compat-tdfa ==0.95.1.4
   - regex-pcre ==0.95.0.0
   - regex-pcre-builtin ==0.95.1.3.8.43
@@ -2006,6 +2022,7 @@ default-package-overrides:
   - rev-state ==0.1.2
   - rfc1751 ==0.1.3
   - rfc5051 ==0.2
+  - rhbzquery ==0.4.3
   - rhine ==0.7.0
   - rhine-gloss ==0.7.0
   - rigel-viz ==0.2.0.0
@@ -2017,27 +2034,27 @@ default-package-overrides:
   - rocksdb-haskell-jprupp ==2.1.3
   - rocksdb-query ==0.4.2
   - roles ==0.2.0.0
-  - rope-utf16-splay ==0.3.1.0
+  - rope-utf16-splay ==0.3.2.0
   - rosezipper ==0.2
   - rot13 ==0.2.0.1
-  - rpmbuild-order ==0.4.3.1
+  - rpmbuild-order ==0.4.3.2
   - RSA ==2.4.1
   - runmemo ==1.0.0.1
   - rvar ==0.2.0.6
   - safe ==0.3.19
+  - safecopy ==0.10.4.1
   - safe-decimal ==0.2.0.0
   - safe-exceptions ==0.1.7.1
   - safe-foldable ==0.1.0.0
+  - safeio ==0.0.5.0
   - safe-json ==1.1.1.1
   - safe-money ==0.9
-  - safe-tensor ==0.2.1.0
-  - safecopy ==0.10.3.1
-  - safeio ==0.0.5.0
   - SafeSemaphore ==0.10.1
+  - safe-tensor ==0.2.1.0
   - salak ==0.3.6
   - salak-yaml ==0.3.5.3
   - saltine ==0.1.1.1
-  - salve ==1.0.10
+  - salve ==1.0.11
   - sample-frame ==0.0.3
   - sample-frame-np ==0.0.4.1
   - sampling ==0.3.5
@@ -2055,7 +2072,7 @@ default-package-overrides:
   - sdl2-gfx ==0.2
   - sdl2-image ==2.0.0
   - sdl2-mixer ==1.1.0
-  - sdl2-ttf ==2.1.1
+  - sdl2-ttf ==2.1.2
   - search-algorithms ==0.3.1
   - secp256k1-haskell ==0.5.0
   - securemem ==0.1.10
@@ -2071,8 +2088,8 @@ default-package-overrides:
   - semigroupoid-extras ==5
   - semigroupoids ==5.3.5
   - semigroups ==0.19.1
-  - semiring-simple ==1.0.0.1
   - semirings ==0.6
+  - semiring-simple ==1.0.0.1
   - semver ==0.4.0.1
   - sendfile ==0.7.11.1
   - seqalign ==0.2.0.4
@@ -2104,7 +2121,7 @@ default-package-overrides:
   - servant-swagger-ui ==0.3.4.3.37.2
   - servant-swagger-ui-core ==0.3.4
   - serverless-haskell ==0.12.5
-  - serversession ==1.0.1
+  - serversession ==1.0.2
   - serversession-frontend-wai ==1.0
   - ses-html ==0.4.0.0
   - set-cover ==0.1.1
@@ -2118,9 +2135,9 @@ default-package-overrides:
   - shared-memory ==0.2.0.0
   - shell-conduit ==5.0.0
   - shell-escape ==0.2.0
-  - shell-utility ==0.1
   - shellmet ==0.0.3.1
   - shelltestrunner ==1.9
+  - shell-utility ==0.1
   - shelly ==1.9.0
   - shikensu ==0.3.11
   - shortcut-links ==0.5.1.1
@@ -2150,12 +2167,12 @@ default-package-overrides:
   - skein ==1.0.9.4
   - skews ==0.1.0.3
   - skip-var ==0.1.1.0
-  - skylighting ==0.10.2
-  - skylighting-core ==0.10.2
+  - skylighting ==0.10.3
+  - skylighting-core ==0.10.3
   - slack-api ==0.12
   - slack-progressbar ==0.1.0.1
   - slist ==0.1.1.0
-  - slynx ==0.5.0.1
+  - slynx ==0.5.0.2
   - smallcheck ==1.2.1
   - smash ==0.1.1.0
   - smash-aeson ==0.1.0.0
@@ -2183,24 +2200,24 @@ default-package-overrides:
   - spatial-math ==0.5.0.1
   - special-values ==0.1.0.0
   - speculate ==0.4.2
-  - speedy-slice ==0.3.1
+  - speedy-slice ==0.3.2
   - Spintax ==0.3.5
   - splice ==0.6.1.1
-  - splint ==1.0.1.2
+  - splint ==1.0.1.3
   - split ==0.2.3.4
   - splitmix ==0.1.0.3
   - spoon ==0.3.1
   - spreadsheet ==0.1.3.8
-  - sql-words ==0.1.6.4
   - sqlcli ==0.2.2.0
   - sqlcli-odbc ==0.2.0.1
   - sqlite-simple ==0.4.18.0
+  - sql-words ==0.1.6.4
   - squeal-postgresql ==0.7.0.1
   - squeather ==0.6.0.0
   - srcloc ==0.5.1.2
   - stache ==2.2.0
-  - stack-templatizer ==0.1.0.2
   - stackcollapse-ghc ==0.0.1.3
+  - stack-templatizer ==0.1.0.2
   - stateref ==0.3
   - StateVar ==1.2.1
   - static-text ==0.2.0.6
@@ -2213,10 +2230,10 @@ default-package-overrides:
   - stm-containers ==1.2
   - stm-delay ==0.1.1.1
   - stm-extras ==0.1.0.3
-  - stm-hamt ==1.2.0.4
+  - stm-hamt ==1.2.0.6
   - stm-lifted ==2.5.0.0
-  - stm-split ==0.0.2.1
   - STMonadTrans ==0.4.5
+  - stm-split ==0.0.2.1
   - stopwatch ==0.1.0.6
   - storable-complex ==0.2.3.0
   - storable-endian ==0.2.6
@@ -2237,23 +2254,23 @@ default-package-overrides:
   - strict-list ==0.1.5
   - strict-tuple ==0.1.4
   - strict-tuple-lens ==0.1.0.1
+  - stringbuilder ==0.5.1
   - string-class ==0.1.7.0
   - string-combinators ==0.6.0.5
   - string-conv ==0.1.2
   - string-conversions ==0.4.0.1
-  - string-interpolate ==0.3.0.2
+  - string-interpolate ==0.3.1.0
   - string-qq ==0.0.4
   - string-random ==0.1.4.0
-  - string-transform ==1.1.1
-  - stringbuilder ==0.5.1
   - stringsearch ==0.3.6.6
+  - string-transform ==1.1.1
   - stripe-concepts ==1.0.2.4
   - stripe-core ==2.6.2
   - stripe-haskell ==2.6.2
   - stripe-http-client ==2.6.2
   - stripe-tests ==2.6.2
-  - strive ==5.0.12
-  - structs ==0.1.4
+  - strive ==5.0.13
+  - structs ==0.1.5
   - structured ==0.1
   - structured-cli ==2.6.0.0
   - subcategories ==0.1.0.0
@@ -2271,10 +2288,10 @@ default-package-overrides:
   - symmetry-operations-symbols ==0.0.2.1
   - sysinfo ==0.1.1
   - system-argv0 ==0.1.1
+  - systemd ==2.3.0
   - system-fileio ==0.3.16.4
   - system-filepath ==0.4.14
   - system-info ==0.5.1
-  - systemd ==2.3.0
   - tabular ==0.2.2.8
   - taffybar ==3.2.3
   - tagchup ==0.4.1.1
@@ -2288,12 +2305,13 @@ default-package-overrides:
   - tao-example ==1.0.0
   - tar ==0.5.1.1
   - tar-conduit ==0.3.2
-  - tardis ==0.4.1.0
+  - tardis ==0.4.3.0
   - tasty ==1.2.3
   - tasty-ant-xml ==1.1.7
+  - tasty-bench ==0.2.1
   - tasty-dejafu ==2.0.0.7
   - tasty-discover ==4.2.2
-  - tasty-expected-failure ==0.12.2
+  - tasty-expected-failure ==0.12.3
   - tasty-focus ==1.0.1
   - tasty-golden ==2.3.3.2
   - tasty-hedgehog ==1.0.1.0
@@ -2331,7 +2349,7 @@ default-package-overrides:
   - test-framework-smallcheck ==0.2
   - test-fun ==0.1.0.0
   - testing-type-modifiers ==0.1.0.1
-  - texmath ==0.12.1
+  - texmath ==0.12.1.1
   - text-ansi ==0.1.1
   - text-binary ==0.2.1.1
   - text-builder ==0.6.6.1
@@ -2340,6 +2358,7 @@ default-package-overrides:
   - text-icu ==0.7.0.1
   - text-latin1 ==0.3.1
   - text-ldap ==0.1.1.13
+  - textlocal ==0.1.0.5
   - text-manipulate ==0.2.0.1
   - text-metrics ==0.3.0
   - text-postgresql ==0.0.3.1
@@ -2350,16 +2369,19 @@ default-package-overrides:
   - text-show ==3.9
   - text-show-instances ==3.8.4
   - text-zipper ==0.11
-  - textlocal ==0.1.0.5
-  - tf-random ==0.5
   - tfp ==1.0.1.1
+  - tf-random ==0.5
   - th-abstraction ==0.4.2.0
   - th-bang-compat ==0.0.1.0
-  - th-compat ==0.1
+  - th-compat ==0.1.1
   - th-constraint-compat ==0.0.1.0
   - th-data-compat ==0.1.0.0
   - th-desugar ==1.11
   - th-env ==0.1.0.2
+  - these ==1.1.1.1
+  - these-lens ==1.0.1.1
+  - these-optics ==1.0.1.1
+  - these-skinny ==0.7.4
   - th-expand-syns ==0.4.6.0
   - th-extras ==0.0.0.4
   - th-lift ==0.8.2
@@ -2367,50 +2389,46 @@ default-package-overrides:
   - th-nowq ==0.1.0.5
   - th-orphans ==0.13.11
   - th-printf ==0.7
-  - th-reify-compat ==0.0.1.5
-  - th-reify-many ==0.1.9
-  - th-strict-compat ==0.1.0.1
-  - th-test-utils ==1.1.0
-  - th-utilities ==0.2.4.1
-  - these ==1.1.1.1
-  - these-lens ==1.0.1.1
-  - these-optics ==1.0.1.1
-  - these-skinny ==0.7.4
   - thread-hierarchy ==0.3.0.2
   - thread-local-storage ==0.2
-  - thread-supervisor ==0.2.0.0
   - threads ==0.5.1.6
+  - thread-supervisor ==0.2.0.0
   - threepenny-gui ==0.9.0.0
+  - th-reify-compat ==0.0.1.5
+  - th-reify-many ==0.1.9
   - throttle-io-stream ==0.2.0.1
   - through-text ==0.1.0.0
   - throwable-exceptions ==0.1.0.9
+  - th-strict-compat ==0.1.0.1
+  - th-test-utils ==1.1.0
+  - th-utilities ==0.2.4.1
   - thyme ==0.3.5.5
-  - tidal ==1.6.1
+  - tidal ==1.7.1
   - tile ==0.3.0.0
   - time-compat ==1.9.5
+  - timeit ==2.0
+  - timelens ==0.2.0.2
   - time-lens ==0.4.0.2
   - time-locale-compat ==0.1.1.5
   - time-locale-vietnamese ==1.0.0.0
   - time-manager ==0.0.0
   - time-parsers ==0.1.2.1
-  - time-units ==1.0.0
-  - timeit ==2.0
-  - timelens ==0.2.0.2
-  - timer-wheel ==0.3.0
   - timerep ==2.0.1.0
+  - timer-wheel ==0.3.0
+  - time-units ==1.0.0
   - timezone-olson ==0.2.0
   - timezone-series ==0.1.9
   - tinylog ==0.15.0
   - titlecase ==1.0.1
   - tldr ==0.9.0
-  - tls ==1.5.4
+  - tls ==1.5.5
   - tls-debug ==0.4.8
   - tls-session-manager ==0.0.4
-  - tlynx ==0.5.0.1
+  - tlynx ==0.5.0.2
   - tmapchan ==0.0.3
   - tmapmvar ==0.0.4
   - tmp-postgres ==1.34.1.0
-  - tomland ==1.3.1.0
+  - tomland ==1.3.2.0
   - tonalude ==0.1.1.1
   - topograph ==1.0.0.1
   - torsor ==0.1
@@ -2425,17 +2443,22 @@ default-package-overrides:
   - traverse-with-class ==1.0.1.0
   - tree-diff ==0.1
   - tree-fun ==0.8.1.0
-  - trifecta ==2.1
+  - tree-view ==0.5.1
+  - trifecta ==2.1.1
   - triplesec ==0.2.2.1
   - tsv2csv ==0.1.0.2
   - ttc ==0.3.0.0
   - ttl-hashtables ==1.4.1.0
   - ttrie ==0.1.2.1
   - tuple ==0.3.0.2
+  - tuples-homogenous-h98 ==0.1.1.0
   - tuple-sop ==0.3.1.0
   - tuple-th ==0.2.5
-  - tuples-homogenous-h98 ==0.1.1.0
   - turtle ==1.5.20
+  - typecheck-plugin-nat-simple ==0.1.0.2
+  - TypeCompose ==0.9.14
+  - typed-process ==0.2.6.0
+  - typed-uuid ==0.0.0.2
   - type-equality ==1
   - type-errors ==0.2.0.0
   - type-errors-pretty ==0.0.1.1
@@ -2445,18 +2468,14 @@ default-package-overrides:
   - type-level-natural-number ==2.0
   - type-level-numbers ==0.1.1.1
   - type-map ==0.1.6.0
-  - type-natural ==1.0.0.0
-  - type-of-html ==1.6.1.2
+  - type-natural ==1.1.0.0
+  - type-of-html ==1.6.2.0
   - type-of-html-static ==0.1.0.2
   - type-operators ==0.2.0.0
-  - type-spec ==0.4.0.0
-  - typecheck-plugin-nat-simple ==0.1.0.2
-  - TypeCompose ==0.9.14
-  - typed-process ==0.2.6.0
-  - typed-uuid ==0.0.0.2
   - typerep-map ==0.3.3.0
+  - type-spec ==0.4.0.0
   - tzdata ==0.2.20201021.0
-  - ua-parser ==0.7.5.1
+  - ua-parser ==0.7.6.0
   - uglymemo ==0.1.0.1
   - ulid ==0.3.0.0
   - unagi-chan ==0.4.1.3
@@ -2494,6 +2513,7 @@ default-package-overrides:
   - unliftio ==0.2.14
   - unliftio-core ==0.2.0.1
   - unliftio-pool ==0.2.1.1
+  - unliftio-streams ==0.1.1.1
   - unlit ==0.4.0.0
   - unordered-containers ==0.2.13.0
   - unsafe ==0.0
@@ -2508,8 +2528,8 @@ default-package-overrides:
   - utf8-string ==1.0.2
   - util ==0.1.17.1
   - utility-ht ==0.0.15
-  - uuid ==1.3.13
-  - uuid-types ==1.0.3
+  - uuid ==1.3.14
+  - uuid-types ==1.0.4
   - validation ==1.1
   - validation-selective ==0.1.0.0
   - validity ==0.11.0.0
@@ -2525,30 +2545,31 @@ default-package-overrides:
   - validity-uuid ==0.1.0.3
   - validity-vector ==0.2.0.3
   - valor ==0.1.0.0
-  - vault ==0.3.1.4
+  - vault ==0.3.1.5
   - vec ==0.3
-  - vector ==0.12.1.2
+  - vector ==0.12.2.0
   - vector-algorithms ==0.8.0.4
   - vector-binary-instances ==0.2.5.1
   - vector-buffer ==0.4.1
   - vector-builder ==0.3.8
   - vector-bytes-instances ==0.1.1
+  - vector-circular ==0.1.3
   - vector-instances ==3.4
   - vector-mmap ==0.0.3
   - vector-rotcev ==0.1.0.0
   - vector-sized ==1.4.3.1
   - vector-space ==0.16
   - vector-split ==1.0.0.2
-  - vector-th-unbox ==0.2.1.7
+  - vector-th-unbox ==0.2.1.9
   - verbosity ==0.4.0.0
-  - versions ==4.0.2
+  - versions ==4.0.3
   - vformat ==0.14.1.0
   - vformat-aeson ==0.1.0.1
   - vformat-time ==0.1.0.0
   - ViennaRNAParser ==1.3.3
   - vinyl ==0.13.0
   - void ==0.7.3
-  - vty ==5.32
+  - vty ==5.33
   - wai ==3.2.3
   - wai-app-static ==3.1.7.2
   - wai-conduit ==3.0.0.4
@@ -2570,7 +2591,7 @@ default-package-overrides:
   - wai-slack-middleware ==0.2.0
   - wai-websockets ==3.0.1.2
   - wakame ==0.1.0.0
-  - warp ==3.3.13
+  - warp ==3.3.14
   - warp-tls ==3.3.0
   - warp-tls-uid ==0.2.0.6
   - wave ==0.2.0
@@ -2592,27 +2613,27 @@ default-package-overrides:
   - Win32 ==2.6.1.0
   - Win32-notify ==0.3.0.3
   - windns ==0.1.0.1
-  - witch ==0.0.0.4
-  - with-location ==0.1.0
-  - with-utf8 ==1.0.2.1
+  - witch ==0.0.0.5
   - witherable-class ==0
   - within ==0.2.0.1
+  - with-location ==0.1.0
+  - with-utf8 ==1.0.2.2
   - wizards ==1.0.3
   - wl-pprint-annotated ==0.1.0.1
   - wl-pprint-console ==0.1.0.2
   - wl-pprint-text ==1.2.0.1
-  - word-trie ==0.3.0
-  - word-wrap ==0.4.1
   - word24 ==2.0.1
   - word8 ==0.1.3
+  - word-trie ==0.3.0
+  - word-wrap ==0.4.1
   - world-peace ==1.0.2.0
   - wrap ==0.0.0
-  - wreq ==0.5.3.2
+  - wreq ==0.5.3.3
   - writer-cps-exceptions ==0.1.0.1
   - writer-cps-mtl ==0.1.1.6
   - writer-cps-transformers ==0.5.6.1
   - wss-client ==0.3.0.0
-  - wuss ==1.1.17
+  - wuss ==1.1.18
   - X11 ==1.9.2
   - X11-xft ==0.3.1
   - x11-xim ==0.0.9.0
@@ -2631,6 +2652,7 @@ default-package-overrides:
   - xml-basic ==0.1.3.1
   - xml-conduit ==1.9.0.0
   - xml-conduit-writer ==0.1.1.2
+  - xmlgen ==0.6.2.2
   - xml-hamlet ==0.5.0.1
   - xml-helpers ==1.0.0
   - xml-html-qq ==0.1.0.1
@@ -2640,7 +2662,6 @@ default-package-overrides:
   - xml-to-json ==2.0.1
   - xml-to-json-fast ==2.0.0
   - xml-types ==0.3.8
-  - xmlgen ==0.6.2.2
   - xmonad ==0.15
   - xmonad-contrib ==0.16
   - xmonad-extras ==0.15.3
@@ -2648,24 +2669,24 @@ default-package-overrides:
   - xxhash-ffi ==0.2.0.0
   - yaml ==0.11.5.0
   - yamlparse-applicative ==0.1.0.2
-  - yes-precure5-command ==5.5.3
   - yesod ==1.6.1.0
   - yesod-auth ==1.6.10.1
   - yesod-auth-hashdb ==1.7.1.5
   - yesod-auth-oauth2 ==0.6.1.7
-  - yesod-bin ==1.6.0.6
+  - yesod-bin ==1.6.1
   - yesod-core ==1.6.18.8
   - yesod-fb ==0.6.1
   - yesod-form ==1.6.7
   - yesod-gitrev ==0.2.1
   - yesod-newsfeed ==1.7.0.0
-  - yesod-page-cursor ==2.0.0.2
+  - yesod-page-cursor ==2.0.0.3
   - yesod-paginator ==1.1.1.0
   - yesod-persistent ==1.6.0.5
   - yesod-sitemap ==1.6.0
   - yesod-static ==1.6.1.0
   - yesod-test ==1.6.12
   - yesod-websockets ==0.3.0.2
+  - yes-precure5-command ==5.5.3
   - yi-rope ==0.11
   - yjsvg ==0.2.0.1
   - yjtools ==0.9.18
@@ -2680,10 +2701,10 @@ default-package-overrides:
   - zio ==0.1.0.2
   - zip ==1.7.0
   - zip-archive ==0.4.1
-  - zip-stream ==0.2.0.1
   - zipper-extra ==0.1.3.2
-  - zippers ==0.3
-  - zlib ==0.6.2.2
+  - zippers ==0.3.1
+  - zip-stream ==0.2.0.1
+  - zlib ==0.6.2.3
   - zlib-bindings ==0.1.1.5
   - zlib-lens ==0.1.2.1
   - zot ==0.0.3
@@ -2694,7 +2715,9 @@ default-package-overrides:
 extra-packages:
   - Cabal == 2.2.*                      # required for jailbreak-cabal etc.
   - Cabal == 2.4.*                      # required for cabal-install etc.
-  - dhall == 1.29.0                     # required for spago 0.14.0.
+  - Cabal == 3.2.*                      # required for cabal-install etc.
+  - dhall == 1.29.0                     # required for ats-pkg
+  - dhall == 1.37.1                     # required for spago 0.19.0.
   - Diff < 0.4                          # required by liquidhaskell-0.8.10.2: https://github.com/ucsd-progsys/liquidhaskell/issues/1729
   - ghc-tcplugins-extra ==0.3.2         # required for polysemy-plugin 0.2.5.0
   - haddock == 2.23.*                   # required on GHC < 8.10.x
@@ -2707,8 +2730,10 @@ extra-packages:
   - dependent-map == 0.2.4.0            # required by Hasura 1.3.1, 2020-08-20
   - dependent-sum == 0.4                # required by Hasura 1.3.1, 2020-08-20
   - network == 2.6.3.1                  # required by pkgs/games/hedgewars/default.nix, 2020-11-15
-  - ghcide == 0.7.0.0                   # Needed for hls 0.8.0
-  - apply-refact == 0.8.2.1             # Needed for hls 0.8.0
+  - mmorph == 1.1.3                     # Newest working version of mmorph on ghc 8.6.5. needed for hls
+  - haskell-lsp == 0.23.0.0             # required by hls-plugin-api 0.7.0.0, 2021-02-08
+  - haskell-lsp-types == 0.23.0.0       # required by hls-plugin-api 0.7.0.0, 2021-02-08
+  - lsp-test == 0.11.0.7                # required by hls-plugin-api 0.7.0.0, 2021-02-08
 
 package-maintainers:
   peti:
@@ -2775,14 +2800,12 @@ package-maintainers:
     - nix-diff
   maralorn:
     - reflex-dom
-    - ghcide
     - cabal-fmt
     - shh
-    - brittany
-    - hlint
     - neuron
     - releaser
     - taskwarrior
+    - haskell-language-server
   sorki:
     - cayene-lpp
     - data-stm32
@@ -2795,6 +2818,33 @@ package-maintainers:
     - zre
   utdemir:
     - nix-tree
+  turion:
+    - rhine
+    - rhine-gloss
+    - essence-of-live-coding
+    - essence-of-live-coding-gloss
+    - essence-of-live-coding-pulse
+    - essence-of-live-coding-quickcheck
+    - Agda
+    - dunai
+    - finite-typelits
+    - pulse-simple
+    - simple-affine-space
+  sternenseemann:
+    # also maintain upstream package
+    - spacecookie
+    - gopher-proxy
+    # other packages I can help out for
+    - systemd
+    - fast-logger
+    - Euterpea2
+    - utc
+    - socket
+    - gitit
+    - yarn-lock
+    - yarn2nix
+  poscat:
+    - hinit
 
 unsupported-platforms:
   alsa-mixer:                                   [ x86_64-darwin ]
@@ -5123,6 +5173,7 @@ broken-packages:
   - fay-websockets
   - fb-persistent
   - fbmessenger-api
+  - fbrnch
   - fca
   - fcache
   - fcd
@@ -6036,7 +6087,6 @@ broken-packages:
   - haskell-igraph
   - haskell-in-space
   - haskell-kubernetes
-  - haskell-language-server
   - haskell-lsp-client
   - haskell-ml
   - haskell-mpfr
@@ -6405,7 +6455,6 @@ broken-packages:
   - hinduce-classifier
   - hinduce-classifier-decisiontree
   - hinduce-examples
-  - hinit
   - hinquire
   - hinstaller
   - hint-server
@@ -6466,9 +6515,6 @@ broken-packages:
   - hlrdb
   - hlrdb-core
   - hls
-  - hls-explicit-imports-plugin
-  - hls-hlint-plugin
-  - hls-retrie-plugin
   - hlwm
   - hly
   - hmark
@@ -6854,7 +6900,6 @@ broken-packages:
   - hugs2yc
   - hulk
   - HulkImport
-  - hum
   - human-parse
   - human-text
   - humble-prelude
@@ -6878,6 +6923,7 @@ broken-packages:
   - huzzy
   - hVOIDP
   - hw-all
+  - hw-aws-sqs-conduit
   - hw-ci-assist
   - hw-dsv
   - hw-json
@@ -6945,6 +6991,7 @@ broken-packages:
   - iban
   - ical
   - iCalendar
+  - ice40-prim
   - IcoGrid
   - iconv-typed
   - ide-backend
@@ -6958,7 +7005,6 @@ broken-packages:
   - identifiers
   - idiii
   - idna2008
-  - idris
   - IDynamic
   - ieee-utils
   - iexcloud
@@ -7320,7 +7366,6 @@ broken-packages:
   - keyvaluehash
   - keyword-args
   - khph
-  - ki
   - kicad-data
   - kickass-torrents-dump-parser
   - kickchan
@@ -7563,6 +7608,7 @@ broken-packages:
   - libxml-enumerator
   - libxslt
   - lie
+  - lifetimes
   - lifted-base-tf
   - lifted-protolude
   - lifter
@@ -8286,9 +8332,6 @@ broken-packages:
   - nested-sequence
   - NestedFunctor
   - nestedmap
-  - net-mqtt
-  - net-mqtt-lens
-  - net-mqtt-rpc
   - net-spider
   - net-spider-cli
   - net-spider-pangraph
@@ -8963,7 +9006,6 @@ broken-packages:
   - postgresql-tx-squeal
   - postgresql-tx-squeal-compat-simple
   - postgresql-typed-lifted
-  - postgrest
   - postgrest-ws
   - postie
   - postmark
@@ -9394,7 +9436,6 @@ broken-packages:
   - regex-tdfa-pipes
   - regex-tdfa-quasiquoter
   - regex-tdfa-rc
-  - regex-tdfa-text
   - regex-tdfa-unittest
   - regex-tdfa-utf8
   - regex-tre
@@ -9868,9 +9909,12 @@ broken-packages:
   - servant-zeppelin-server
   - servant-zeppelin-swagger
   - server-generic
+  - serversession
   - serversession-backend-acid-state
   - serversession-backend-persistent
   - serversession-backend-redis
+  - serversession-frontend-snap
+  - serversession-frontend-wai
   - serversession-frontend-yesod
   - services
   - ses-html-snaplet
@@ -11032,6 +11076,7 @@ broken-packages:
   - unix-fcntl
   - unix-handle
   - unix-process-conduit
+  - unix-simple
   - unlifted-list
   - unliftio-streams
   - unm-hip
@@ -11202,9 +11247,6 @@ broken-packages:
   - visual-prof
   - visualize-cbn
   - vitrea
-  - vivid
-  - vivid-osc
-  - vivid-supercollider
   - vk-aws-route53
   - VKHS
   - voicebase
@@ -11456,7 +11498,6 @@ broken-packages:
   - xml-conduit-stylist
   - xml-enumerator
   - xml-enumerator-combinators
-  - xml-extractors
   - xml-html-conduit-lens
   - xml-monad
   - xml-parsec
@@ -11535,8 +11576,6 @@ broken-packages:
   - yandex-translate
   - yaop
   - yap
-  - yarn-lock
-  - yarn2nix
   - yarr
   - yarr-image-io
   - yavie
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 06578f5653507..21aa86ee5a4f6 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -207,6 +207,7 @@ self: super: builtins.intersectAttrs super {
   network-transport-tcp = dontCheck super.network-transport-tcp;
   network-transport-zeromq = dontCheck super.network-transport-zeromq; # https://github.com/tweag/network-transport-zeromq/issues/30
   pipes-mongodb = dontCheck super.pipes-mongodb;        # http://hydra.cryp.to/build/926195/log/raw
+  pixiv = dontCheck super.pixiv;
   raven-haskell = dontCheck super.raven-haskell;        # http://hydra.cryp.to/build/502053/log/raw
   riak = dontCheck super.riak;                          # http://hydra.cryp.to/build/498763/log/raw
   scotty-binding-play = dontCheck super.scotty-binding-play;
@@ -226,6 +227,7 @@ self: super: builtins.intersectAttrs super {
   http-client-tls = dontCheck super.http-client-tls;
   http-conduit = dontCheck super.http-conduit;
   transient-universe = dontCheck super.transient-universe;
+  telegraph = dontCheck super.telegraph;
   typed-process = dontCheck super.typed-process;
   js-jquery = dontCheck super.js-jquery;
   hPDB-examples = dontCheck super.hPDB-examples;
@@ -659,7 +661,9 @@ self: super: builtins.intersectAttrs super {
     let
       # spago requires an older version of megaparsec, but it appears to work
       # fine with newer versions.
-      spagoWithOverrides = doJailbreak super.spago;
+      spagoWithOverrides = doJailbreak (super.spago.override {
+        dhall = self.dhall_1_37_1;
+      });
 
       # This defines the version of the purescript-docs-search release we are using.
       # This is defined in the src/Spago/Prelude.hs file in the spago source.
@@ -785,7 +789,7 @@ self: super: builtins.intersectAttrs super {
     testTarget = "unit-tests";
   };
 
-  haskell-language-server = overrideCabal super.haskell-language-server (drv: {
+  haskell-language-server = enableCabalFlag (enableCabalFlag (overrideCabal super.haskell-language-server (drv: {
     postInstall = let
       inherit (pkgs.lib) concatStringsSep take splitString;
       ghc_version = self.ghc.version;
@@ -800,8 +804,12 @@ self: super: builtins.intersectAttrs super {
       export PATH=$PATH:$PWD/dist/build/haskell-language-server:$PWD/dist/build/haskell-language-server-wrapper
       export HOME=$TMPDIR
     '';
-  });
+  })) "all-plugins") "all-formatters";
 
   # tests depend on a specific version of solc
   hevm = dontCheck (doJailbreak super.hevm);
+
+  # hadolint enables static linking by default in the cabal file, so we have to explicitly disable it.
+  # https://github.com/hadolint/hadolint/commit/e1305042c62d52c2af4d77cdce5d62f6a0a3ce7b
+  hadolint = disableCabalFlag super.hadolint "static";
 }
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index cfd4a5eac642c..4ebf5522bd673 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -800,12 +800,12 @@ self: {
      , filepath, geniplate-mirror, ghc-compact, gitrev, happy, hashable
      , hashtables, haskeline, ieee754, mtl, murmur-hash, pretty, process
      , regex-tdfa, split, stm, strict, template-haskell, text, time
-     , unordered-containers, uri-encode, zlib
+     , transformers, unordered-containers, uri-encode, zlib
      }:
      mkDerivation {
        pname = "Agda";
-       version = "2.6.1.2";
-       sha256 = "0b872fi12j316zcbwnablkg45p252a4sqca9lsgfig55qirk0w08";
+       version = "2.6.1.3";
+       sha256 = "1rx1r21kpgz27g2qn6fqgdpkl5b07c2fl86j3clylpp9rr0ch6xv";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -815,7 +815,7 @@ self: {
          containers data-hash deepseq directory edit-distance equivalence
          exceptions filepath geniplate-mirror ghc-compact gitrev hashable
          hashtables haskeline ieee754 mtl murmur-hash pretty process
-         regex-tdfa split stm strict template-haskell text time
+         regex-tdfa split stm strict template-haskell text time transformers
          unordered-containers uri-encode zlib
        ];
        libraryToolDepends = [ alex happy ];
@@ -824,7 +824,7 @@ self: {
        description = "A dependently typed functional programming language and proof assistant";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       maintainers = with lib.maintainers; [ abbradar ];
+       maintainers = with lib.maintainers; [ abbradar turion ];
      }) {inherit (pkgs) emacs;};
 
   "Agda-executable" = callPackage
@@ -2777,6 +2777,36 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "Cabal_3_4_0_0" = callPackage
+    ({ mkDerivation, array, async, base, base-compat, base-orphans
+     , binary, bytestring, clock, containers, deepseq, Diff, directory
+     , filepath, integer-logarithms, mtl, optparse-applicative, parsec
+     , pretty, process, QuickCheck, rere, stm, tagged, tar, tasty
+     , tasty-golden, tasty-hunit, tasty-quickcheck, temporary, text
+     , time, transformers, tree-diff, unix
+     }:
+     mkDerivation {
+       pname = "Cabal";
+       version = "3.4.0.0";
+       sha256 = "1za1cl14fkw8y89hhw6sqirzmkixjaa4wpqsibyk0fvnjs59jydq";
+       setupHaskellDepends = [ mtl parsec ];
+       libraryHaskellDepends = [
+         array base binary bytestring containers deepseq directory filepath
+         mtl parsec pretty process text time transformers unix
+       ];
+       testHaskellDepends = [
+         array async base base-compat base-orphans binary bytestring clock
+         containers deepseq Diff directory filepath integer-logarithms
+         optparse-applicative pretty process QuickCheck rere stm tagged tar
+         tasty tasty-golden tasty-hunit tasty-quickcheck temporary text
+         transformers tree-diff
+       ];
+       doCheck = false;
+       description = "A framework for packaging Haskell software";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "Cabal-ide-backend" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, Cabal, containers
      , deepseq, directory, extensible-exceptions, filepath, HUnit
@@ -8012,8 +8042,8 @@ self: {
      }:
      mkDerivation {
        pname = "HDBC-postgresql";
-       version = "2.4.0.0";
-       sha256 = "1zmilqvlp170nb7zakbhdpihykkq95s7nb7la2sdas1fv69mhnx3";
+       version = "2.5.0.0";
+       sha256 = "1awwrq7hivk1hp709iz624hm2wjbk18hspld91pixv5x34fcn7s9";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal ];
@@ -9363,8 +9393,8 @@ self: {
      }:
      mkDerivation {
        pname = "HTF";
-       version = "0.14.0.5";
-       sha256 = "1hgkymgb8v3f5s7i8nn01iml8mqvah4iyqiqcflj3ffbjb93v1zd";
+       version = "0.14.0.6";
+       sha256 = "0lm4va3nnb9yli56vfkj7h816k0cnrdjnd3d9x44m706bh3avksq";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal process ];
@@ -9747,8 +9777,8 @@ self: {
        pname = "HaXml";
        version = "1.25.5";
        sha256 = "0d8jbiv53r3ndg76r3937idqdg34nhmb99vj087i73hjnv21mifb";
-       revision = "2";
-       editedCabalFile = "0vlczcac2is5dbvkcwbsry1i10pbh1r316n1sq2py35alw7kzp1j";
+       revision = "3";
+       editedCabalFile = "0n98cigikjiqg2ckgihjw4if35n1jhv0zcqi3qw56b9j02yxdvvz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -14986,6 +15016,8 @@ self: {
        pname = "OneTuple";
        version = "0.2.2.1";
        sha256 = "15ls6kkf953288q7rsc49bvw467ll4nq28hvsgbaazdn7hf75ixc";
+       revision = "1";
+       editedCabalFile = "03mygfz7lv6h0i30bq2grvmahbg9j7a36mc0wls2nr81dv9p19s7";
        libraryHaskellDepends = [ base ];
        description = "Singleton Tuple";
        license = lib.licenses.bsd3;
@@ -16316,8 +16348,8 @@ self: {
      }:
      mkDerivation {
        pname = "PyF";
-       version = "0.9.0.2";
-       sha256 = "186kxid40nsxhc4yas6a1jk6ndsycsfrc5k9pfvyhgw720rx2p2c";
+       version = "0.9.0.3";
+       sha256 = "1x1zryq3di5z3mc1wind6ma1b7cpsvf90y7k5dyvwkn1kisz3jf8";
        libraryHaskellDepends = [
          base containers haskell-src-exts haskell-src-meta megaparsec mtl
          template-haskell text
@@ -17022,15 +17054,15 @@ self: {
 
   "Rattus" = callPackage
     ({ mkDerivation, base, Cabal, containers, ghc, ghc-prim
-     , simple-affine-space
+     , simple-affine-space, transformers
      }:
      mkDerivation {
        pname = "Rattus";
-       version = "0.4";
-       sha256 = "1sgr33yq5l43k3b8nwx7m6wrygv5k8d8yigzms3p6pq5pk3g5sq1";
+       version = "0.5";
+       sha256 = "1dh6ln8awqhgnk7hqh4zdkv4pqy3wmsqbmqrd016raf8vjbc1i3m";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
-         base containers ghc ghc-prim simple-affine-space
+         base containers ghc ghc-prim simple-affine-space transformers
        ];
        testHaskellDepends = [ base containers ];
        description = "A modal FRP language";
@@ -20775,8 +20807,8 @@ self: {
     ({ mkDerivation, base, bytestring, transformers, vector, vulkan }:
      mkDerivation {
        pname = "VulkanMemoryAllocator";
-       version = "0.3.12";
-       sha256 = "0j46hhwfqbry6w8l8wj0p486rsyvxkk6dbvhd1sjkha6cy5cvar4";
+       version = "0.4";
+       sha256 = "1v4m9b13p0sf3gs8qvdgkai4r9kb6sszw2qdyxrn6i4nq62f19zq";
        libraryHaskellDepends = [
          base bytestring transformers vector vulkan
        ];
@@ -21147,12 +21179,12 @@ self: {
        platforms = lib.platforms.none;
      }) {};
 
-  "Win32_2_11_0_0" = callPackage
+  "Win32_2_11_1_0" = callPackage
     ({ mkDerivation }:
      mkDerivation {
        pname = "Win32";
-       version = "2.11.0.0";
-       sha256 = "179v0jypafjnh98gl8wr6z6pq1r5h740xzm2b6axd2d33zlnacfm";
+       version = "2.11.1.0";
+       sha256 = "18rsfx3ca8r7y4ifxn1mggn8j6ppgkn698wsq0pwqb63riva09rk";
        description = "A binding to Windows Win32 API";
        license = lib.licenses.bsd3;
        platforms = lib.platforms.none;
@@ -21931,8 +21963,8 @@ self: {
      }:
      mkDerivation {
        pname = "Z-Data";
-       version = "0.5.0.0";
-       sha256 = "07yx0mh1h0p5qsw0sn20mcz542h5dh3p6l3nbzqrjvdpp22s27h0";
+       version = "0.6.1.0";
+       sha256 = "096zzi2fb6pj310bkihsidwaail9hi78mpfplg4c8skq4157ps6s";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          base bytestring case-insensitive containers deepseq ghc-prim
@@ -21959,8 +21991,10 @@ self: {
      }:
      mkDerivation {
        pname = "Z-IO";
-       version = "0.4.0.0";
-       sha256 = "0jyx2mghm40llcvilg6m9120wfngvpmsggy7xy6zdf29lz3v9bd5";
+       version = "0.6.4.0";
+       sha256 = "1d651q0xda38652n249swh84kkn2jgw63db01aia00304h9cbcgf";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
          base containers exceptions primitive stm time unix-time
          unordered-containers Z-Data
@@ -21985,10 +22019,8 @@ self: {
      }:
      mkDerivation {
        pname = "Z-MessagePack";
-       version = "0.1.0.0";
-       sha256 = "0ck21z1yqjx4w86h7z4ndj0fkpx7bfxfr9p5ls8687b71wxyzn6z";
-       revision = "2";
-       editedCabalFile = "14p2w38wrc8m66421wdl7q7fn21vk4b5m2mi2sa79wnaibv43d1n";
+       version = "0.3.0.1";
+       sha256 = "1xn3by0fkn8w9akldfk2rrfk8ns2r64zxqadrcsgga7nv88q49am";
        libraryHaskellDepends = [
          base containers deepseq hashable integer-gmp primitive QuickCheck
          scientific tagged time unordered-containers Z-Data Z-IO
@@ -22006,17 +22038,18 @@ self: {
      }) {};
 
   "Z-YAML" = callPackage
-    ({ mkDerivation, base, primitive, scientific, transformers
+    ({ mkDerivation, base, hspec, primitive, scientific, transformers
      , unordered-containers, Z-Data, Z-IO
      }:
      mkDerivation {
        pname = "Z-YAML";
-       version = "0.3.0.0";
-       sha256 = "1z5k6qd9hsbwlvxcmy442g8fk7707fccwa9l8b518psp29nd7kzm";
+       version = "0.3.2.0";
+       sha256 = "01v0vza54lpxijg4znp2pcnjw2z6ybvx453xqy7ljwf9289csfq8";
        libraryHaskellDepends = [
          base primitive scientific transformers unordered-containers Z-Data
          Z-IO
        ];
+       testHaskellDepends = [ base hspec Z-Data ];
        description = "YAML tools";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -23930,6 +23963,8 @@ self: {
        pname = "acts";
        version = "0.3.1.0";
        sha256 = "06bpayfa8vwj8dqlqp71nw2s9iwbffdknkk4hpazd4r1wvhnrg37";
+       revision = "3";
+       editedCabalFile = "01vjb8mp9ifbfknnibzc1yhimn5yli2vafpxs6adk0cdjna99g4w";
        libraryHaskellDepends = [
          base deepseq finitary finite-typelits groups
        ];
@@ -23949,6 +23984,8 @@ self: {
        pname = "ad";
        version = "4.4.1";
        sha256 = "1afpqk0my4n50xvq9f0rhcs8kzy3w1xxjql462xc0mvvhsgp6s6g";
+       revision = "1";
+       editedCabalFile = "1sprgwc6niixmc3p073al3bm3ff873h6zjgizdz2wpqm0b6rfmka";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          array base comonad containers data-reify erf free nats reflection
@@ -24344,8 +24381,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson";
-       version = "1.5.5.1";
-       sha256 = "0iqnzh9xh2vx9viqvs528i24zm9sdpvh8kjbpfxgrca38v6ds5m2";
+       version = "1.5.6.0";
+       sha256 = "1s5z4bgb5150h6a4cjf5vh8dmyrn6ilh29gh05999v6jwd5w6q83";
        libraryHaskellDepends = [
          attoparsec base base-compat-batteries bytestring containers
          data-fix deepseq dlist ghc-prim hashable primitive scientific
@@ -24451,14 +24488,15 @@ self: {
      }) {};
 
   "aeson-combinators" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, doctest, fail
-     , hspec, scientific, text, time, time-compat, unordered-containers
-     , utf8-string, uuid-types, vector, void
+    ({ mkDerivation, aeson, base, bytestring, containers, criterion
+     , deepseq, doctest, fail, hspec, scientific, text, time
+     , time-compat, unordered-containers, utf8-string, uuid-types
+     , vector, void
      }:
      mkDerivation {
        pname = "aeson-combinators";
-       version = "0.0.4.0";
-       sha256 = "01gsrm6glr2axcls4hxs740z8lxf39cvdhvidf360mnijai4sgl6";
+       version = "0.0.4.1";
+       sha256 = "1nvw5n7kfqrrci76350zd3mqvssb775ka4044kxgw0bhdzy3gcpg";
        libraryHaskellDepends = [
          aeson base bytestring containers fail scientific text time
          time-compat unordered-containers uuid-types vector void
@@ -24466,6 +24504,9 @@ self: {
        testHaskellDepends = [
          aeson base bytestring doctest hspec text utf8-string
        ];
+       benchmarkHaskellDepends = [
+         aeson base bytestring criterion deepseq text
+       ];
        description = "Aeson combinators for dead simple JSON decoding";
        license = lib.licenses.bsd3;
      }) {};
@@ -24882,8 +24923,8 @@ self: {
        pname = "aeson-optics";
        version = "1.1.0.1";
        sha256 = "1pfi84cl7w5bp7dwdhcyi8kchvbfjybqcp0sifqrn70dj2b50mf7";
-       revision = "3";
-       editedCabalFile = "1hxkahjf6znybqiv622n3syn5pp1a6jdpzq8ryrq9y45yczg82pi";
+       revision = "4";
+       editedCabalFile = "02g4438a6h2l0brvj1izagrsx9mgs1gqfds98vjzdsmamaqsm8fl";
        libraryHaskellDepends = [
          aeson attoparsec base base-compat bytestring optics-core
          optics-extra scientific text unordered-containers vector
@@ -25065,8 +25106,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-schemas";
-       version = "1.3.2";
-       sha256 = "1mchqhpnv7rnhi1lbcsg1pwr5ml2444h3l2yak353s8lr204pg1p";
+       version = "1.3.3";
+       sha256 = "1dhi4pf8ariqr5g79cnr52rxfi1ywp2sv9sazw51rgv1k4gb3492";
        libraryHaskellDepends = [
          aeson base first-class-families hashable megaparsec
          template-haskell text unordered-containers
@@ -25298,6 +25339,8 @@ self: {
        pname = "aeson-yaml";
        version = "1.1.0.0";
        sha256 = "1kyrh2w3qpzwm7kpb4rkrzi22kqqz1vcjw1f59wdkl8a5hffkv6y";
+       revision = "1";
+       editedCabalFile = "167gfgmy1pq50rh3rszj01ch4qy3jl4lpl3g8yq300kffrfs882a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -26424,6 +26467,68 @@ self: {
        broken = true;
      }) {};
 
+  "algorithmic-composition-basic" = callPackage
+    ({ mkDerivation, base, bytestring, directory, foldable-ix
+     , mmsyn2-array, mmsyn3, mmsyn7l, mmsyn7ukr-common
+     , phonetic-languages-simplified-base, process
+     , ukrainian-phonetics-basic-array
+     }:
+     mkDerivation {
+       pname = "algorithmic-composition-basic";
+       version = "0.1.1.0";
+       sha256 = "0sxgysi596j77j3bfadvk6gcq9k70g0wqrq1mgxh4ypmc145psc1";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring directory foldable-ix mmsyn2-array mmsyn3 mmsyn7l
+         mmsyn7ukr-common phonetic-languages-simplified-base process
+         ukrainian-phonetics-basic-array
+       ];
+       executableHaskellDepends = [
+         base bytestring directory foldable-ix mmsyn2-array mmsyn3 mmsyn7l
+         mmsyn7ukr-common phonetic-languages-simplified-base process
+         ukrainian-phonetics-basic-array
+       ];
+       description = "Helps to create experimental music from a file (or its part) and a Ukrainian text";
+       license = lib.licenses.mit;
+     }) {};
+
+  "algorithmic-composition-complex" = callPackage
+    ({ mkDerivation, algorithmic-composition-basic, base, bytestring
+     , directory, foldable-ix, mmsyn2-array, mmsyn3, mmsyn7l
+     , mmsyn7ukr-common, phonetic-languages-simplified-base, process
+     , ukrainian-phonetics-basic-array
+     }:
+     mkDerivation {
+       pname = "algorithmic-composition-complex";
+       version = "0.1.0.0";
+       sha256 = "12spldkdcjidaa95w46z5rvy1nsxn9blzhic8klkgx8jwvynixbl";
+       libraryHaskellDepends = [
+         algorithmic-composition-basic base bytestring directory foldable-ix
+         mmsyn2-array mmsyn3 mmsyn7l mmsyn7ukr-common
+         phonetic-languages-simplified-base process
+         ukrainian-phonetics-basic-array
+       ];
+       description = "Helps to create more complex experimental music from a file (especially timbre)";
+       license = lib.licenses.mit;
+     }) {};
+
+  "algorithmic-composition-frequency-shift" = callPackage
+    ({ mkDerivation, algorithmic-composition-basic, base, directory
+     , doublezip, mmsyn3, mmsyn7l, process
+     }:
+     mkDerivation {
+       pname = "algorithmic-composition-frequency-shift";
+       version = "0.1.0.0";
+       sha256 = "0m7pjxczi3w7r3srq76b30xjiqv9w6238xl2hm7s8gwnam8ha7r5";
+       libraryHaskellDepends = [
+         algorithmic-composition-basic base directory doublezip mmsyn3
+         mmsyn7l process
+       ];
+       description = "Helps to create experimental music. Uses SoX inside.";
+       license = lib.licenses.mit;
+     }) {};
+
   "align" = callPackage
     ({ mkDerivation, base, containers, transformers, vector }:
      mkDerivation {
@@ -29565,8 +29670,8 @@ self: {
      }:
      mkDerivation {
        pname = "amqp-utils";
-       version = "0.4.4.1";
-       sha256 = "1vs0p7pc6z9mfjd2vns66wnhl8v1n9rbgabyjw0v832m2pwizzmj";
+       version = "0.4.5.1";
+       sha256 = "15bsp34wqblmds51gvrliqfm4jax3swk7i58ichaliq454cn16ap";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -30182,24 +30287,23 @@ self: {
   "ansi-terminal-game" = callPackage
     ({ mkDerivation, ansi-terminal, array, base, bytestring, cereal
      , clock, exceptions, hspec, linebreak, mintty, mtl, QuickCheck
-     , random, split, terminal-size, timers-tick
+     , random, split, terminal-size, timers-tick, unidecode
      }:
      mkDerivation {
        pname = "ansi-terminal-game";
-       version = "1.0.0.0";
-       sha256 = "0h33ih7sxzyp1a6r6ivk73lrfx6haxxzmgh56n75sa7p8vhr8f1i";
-       revision = "1";
-       editedCabalFile = "1x601p97ragf9k56qy1ndmn7g3brs8fvvmf1wcrxz1ynhndqqpjw";
+       version = "1.1.0.0";
+       sha256 = "08sy50yicjgcxmnpq2828xggmvxc5yjp3xp03nd0bq4ykyr4za80";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          ansi-terminal array base bytestring cereal clock exceptions
          linebreak mintty mtl QuickCheck random split terminal-size
-         timers-tick
+         timers-tick unidecode
        ];
        testHaskellDepends = [
          ansi-terminal array base bytestring cereal clock exceptions hspec
          linebreak mtl QuickCheck random split terminal-size timers-tick
+         unidecode
        ];
        description = "sdl-like functions for terminal applications, based on ansi-terminal";
        license = lib.licenses.gpl3;
@@ -31740,37 +31844,6 @@ self: {
        broken = true;
      }) {};
 
-  "apply-refact_0_8_2_1" = callPackage
-    ({ mkDerivation, base, containers, directory, extra, filemanip
-     , filepath, ghc, ghc-boot-th, ghc-exactprint, optparse-applicative
-     , process, refact, silently, syb, tasty, tasty-expected-failure
-     , tasty-golden, transformers, unix-compat
-     }:
-     mkDerivation {
-       pname = "apply-refact";
-       version = "0.8.2.1";
-       sha256 = "12dnwsv37bhla7cnqa3h24mnvdk5199lwd5mf845n1r6xqrh2vvp";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base containers directory extra filemanip ghc ghc-exactprint
-         process refact syb transformers unix-compat
-       ];
-       executableHaskellDepends = [
-         base containers directory extra filemanip filepath ghc ghc-boot-th
-         ghc-exactprint optparse-applicative process refact syb transformers
-         unix-compat
-       ];
-       testHaskellDepends = [
-         base containers directory extra filemanip filepath ghc ghc-boot-th
-         ghc-exactprint optparse-applicative process refact silently syb
-         tasty tasty-expected-failure tasty-golden transformers unix-compat
-       ];
-       description = "Perform refactorings specified by the refact library";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
   "apply-refact" = callPackage
     ({ mkDerivation, base, containers, directory, extra, filemanip
      , filepath, ghc, ghc-boot-th, ghc-exactprint, optparse-applicative
@@ -31779,8 +31852,8 @@ self: {
      }:
      mkDerivation {
        pname = "apply-refact";
-       version = "0.9.0.0";
-       sha256 = "1w6andxlap50vi2cwdy7x5xp2q1qyd67g4vs860gddcv8nir69qc";
+       version = "0.9.1.0";
+       sha256 = "1b9ib5ix643aagzsw5vk8d789a784pggsm6qv36bxkcsx89s2bjm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -31848,10 +31921,10 @@ self: {
      }:
      mkDerivation {
        pname = "approx";
-       version = "0.1.0.0";
-       sha256 = "1vc6k0w4zr355gfvprb5syh5jpmkdvp6wjibi4l95q9zwwdwhjn2";
+       version = "0.1.0.1";
+       sha256 = "0vzi0ai7lf7ji2lbf9v412fvrins7acy0dqs4j8ylfd1chck1w99";
        revision = "1";
-       editedCabalFile = "0k34bjsazp4wbv7zzmvh5vnqv7yzyq20h99q30mcrn4g2bvpc0q1";
+       editedCabalFile = "0kj9qqfv8fzg5b6l33avflxjlmd52wjsjridff1d5n071dnif37y";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -31864,7 +31937,7 @@ self: {
          base containers hashable QuickCheck text time unordered-containers
          vector
        ];
-       description = "Easy-to-use reasonable way of emulating approximate in Haskell";
+       description = "Easy-to-use emulation of approximate, ranges and tolerances in Haskell";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
        broken = true;
@@ -31902,23 +31975,18 @@ self: {
      }) {};
 
   "approximate" = callPackage
-    ({ mkDerivation, base, binary, bytes, Cabal, cabal-doctest, cereal
-     , comonad, deepseq, directory, doctest, filepath, ghc-prim
-     , hashable, lens, log-domain, pointed, safecopy, semigroupoids
-     , semigroups, simple-reflect, vector
+    ({ mkDerivation, base, binary, bytes, cereal, comonad, deepseq
+     , ghc-prim, hashable, lens, log-domain, pointed, safecopy
+     , semigroupoids, semigroups, vector
      }:
      mkDerivation {
        pname = "approximate";
-       version = "0.3.2";
-       sha256 = "016i37c5imb0n8gsk7gzyiq8dhkjv0xnn5315kmn6lnrhpfm7yyk";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "0.3.4";
+       sha256 = "06akbrmy66nkgnnk3x87jss9qgv5y9m638rvxy57mfzibf925kbd";
        libraryHaskellDepends = [
          base binary bytes cereal comonad deepseq ghc-prim hashable lens
          log-domain pointed safecopy semigroupoids semigroups vector
        ];
-       testHaskellDepends = [
-         base directory doctest filepath semigroups simple-reflect
-       ];
        description = "Approximate discrete values and numbers";
        license = lib.licenses.bsd3;
      }) {};
@@ -32932,8 +33000,8 @@ self: {
      }:
      mkDerivation {
        pname = "array-chunks";
-       version = "0.1.2.0";
-       sha256 = "0x2hkc587ki4ncpsdrhby04dr4gxvf0v5qj5kda7kfl2814srixi";
+       version = "0.1.3.0";
+       sha256 = "0alf0d4ifla7i47pl7xqmrhcwsky56rp4b76qgmh19kji8mfcq5z";
        libraryHaskellDepends = [ base primitive run-st ];
        testHaskellDepends = [
          base primitive QuickCheck quickcheck-classes tasty tasty-hunit
@@ -33275,8 +33343,8 @@ self: {
      }:
      mkDerivation {
        pname = "ascii";
-       version = "1.0.1.0";
-       sha256 = "0px41v49i3czchlv09dnbivlrk1zci4b2mg0xkrp6nwyzb9z4xyr";
+       version = "1.0.1.4";
+       sha256 = "0j0cx91q4kmljv2fnfa1cllmyyk2wr6vg373bdfq0cx79d6542hw";
        libraryHaskellDepends = [
          ascii-case ascii-char ascii-group ascii-predicates ascii-superset
          ascii-th base bytestring data-ascii text
@@ -33304,8 +33372,8 @@ self: {
     ({ mkDerivation, ascii-char, base, hashable }:
      mkDerivation {
        pname = "ascii-case";
-       version = "1.0.0.2";
-       sha256 = "1qs1rccslixsg4szgp7y98sqhhn0asp9qmk9vfrwdjfipmf3z72p";
+       version = "1.0.0.4";
+       sha256 = "1485y33as83f1iprdq7hl6ar7gha85678ajq80jld06wsmi9k0xa";
        libraryHaskellDepends = [ ascii-char base hashable ];
        description = "ASCII letter case";
        license = lib.licenses.asl20;
@@ -33315,8 +33383,8 @@ self: {
     ({ mkDerivation, base, hashable }:
      mkDerivation {
        pname = "ascii-char";
-       version = "1.0.0.6";
-       sha256 = "049xccazgjb1zzqbzpgcw77hsl5j3j8l7f0268wxjy87il3wfnx3";
+       version = "1.0.0.8";
+       sha256 = "1ajpkzq1d04ww5yif7dl4np5zhhm5ks8wxhmfdl8ygy8r7akg50d";
        libraryHaskellDepends = [ base hashable ];
        description = "A Char type representing an ASCII character";
        license = lib.licenses.asl20;
@@ -33353,8 +33421,8 @@ self: {
     ({ mkDerivation, ascii-char, base, hashable }:
      mkDerivation {
        pname = "ascii-group";
-       version = "1.0.0.2";
-       sha256 = "19l50ksqa7jdsl0pmrmy8q8jbgmb1j3hr63jjzys220f0agsgcwr";
+       version = "1.0.0.4";
+       sha256 = "0h1y0dmly3yammmqwa197nf3g83x03r5jlnsv9z9zxm9bin38ac5";
        libraryHaskellDepends = [ ascii-char base hashable ];
        description = "ASCII character groups";
        license = lib.licenses.asl20;
@@ -33379,8 +33447,8 @@ self: {
     ({ mkDerivation, ascii-char, base }:
      mkDerivation {
        pname = "ascii-predicates";
-       version = "1.0.0.2";
-       sha256 = "0dzrxqhq7vqplg4aanc4kindwpizv3d777ri81sj1m1zn3vzvrrq";
+       version = "1.0.0.4";
+       sha256 = "0c2331y1izxw7n33pfxfb7krz4lgdf87244xlnf03x8npckb7kgq";
        libraryHaskellDepends = [ ascii-char base ];
        description = "Various categorizations of ASCII characters";
        license = lib.licenses.asl20;
@@ -33434,8 +33502,8 @@ self: {
     ({ mkDerivation, ascii-char, base, bytestring, hashable, text }:
      mkDerivation {
        pname = "ascii-superset";
-       version = "1.0.1.0";
-       sha256 = "1d4yfcy8yr6zimpv8mq8lsf8sd85rg4m8x7l81lr6wan2wx54gh6";
+       version = "1.0.1.4";
+       sha256 = "1bjkinz2p8lq4grnj5d9q1z9jsn4b8cgkqsnxjhzb3plz94i5mxk";
        libraryHaskellDepends = [
          ascii-char base bytestring hashable text
        ];
@@ -33466,8 +33534,8 @@ self: {
      }:
      mkDerivation {
        pname = "ascii-th";
-       version = "1.0.0.2";
-       sha256 = "1dmr2g4kx14qad62awk4pv3izx5gm8bmzvs03gn3xrbzssjb8pvc";
+       version = "1.0.0.4";
+       sha256 = "08vfy2gp0ppa3l95gjqrbqca3gn2aln7zvw7qpp6x7jnzjkl8dn1";
        libraryHaskellDepends = [
          ascii-char ascii-superset base template-haskell
        ];
@@ -33695,8 +33763,8 @@ self: {
        pname = "asn1-encoding";
        version = "0.9.6";
        sha256 = "02nsr30h5yic1mk7znf0q4z3n560ip017n60hg7ya25rsfmxxy6r";
-       revision = "1";
-       editedCabalFile = "19nq8g1v323p47cqlc4m9r6li35dd3cmcd7k486jw24cijkdjm9n";
+       revision = "2";
+       editedCabalFile = "16503ryhq15f2rfdav2qnkq11dg2r3vk3f9v64q9dmxf8dh8zv97";
        libraryHaskellDepends = [ asn1-types base bytestring hourglass ];
        testHaskellDepends = [
          asn1-types base bytestring hourglass mtl tasty tasty-quickcheck
@@ -33871,6 +33939,8 @@ self: {
        pname = "assoc";
        version = "1.0.2";
        sha256 = "0kqlizznjy94fm8zr1ng633yxbinjff7cnsiaqs7m33ix338v66q";
+       revision = "1";
+       editedCabalFile = "17ycclzwnysca80frsyyb6sdd2r5p83lkgwxjjnjg6j62pvf8958";
        libraryHaskellDepends = [ base bifunctors tagged ];
        description = "swap and assoc: Symmetric and Semigroupy Bifunctors";
        license = lib.licenses.bsd3;
@@ -34087,10 +34157,8 @@ self: {
      }:
      mkDerivation {
        pname = "async";
-       version = "2.2.2";
-       sha256 = "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb";
-       revision = "1";
-       editedCabalFile = "1kg9xmby0wkx31998h2r43yr8bl1aixk6025zqigz9vdhmkc2y51";
+       version = "2.2.3";
+       sha256 = "0p4k6872pj0aykbnc19ilam1h8fgskxlwpyg5qisaivr0fhg6yj6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base hashable stm ];
@@ -34883,12 +34951,10 @@ self: {
      }:
      mkDerivation {
        pname = "attoparsec";
-       version = "0.13.2.4";
-       sha256 = "1cpgxc17lh4lnpblb3cimpq4ka23bf89q6yvd0jwk7klw5nwsrms";
-       revision = "1";
-       editedCabalFile = "0jlipzz2b1jb8yw22rvnhvbnadzcdf3wkwn4svl3j4m6858s0har";
+       version = "0.13.2.5";
+       sha256 = "0vv88m5m7ynjrg114psp4j4s69f1a5va3bvn293vymqrma7g7q11";
        libraryHaskellDepends = [
-         array base bytestring containers deepseq scientific text
+         array base bytestring containers deepseq ghc-prim scientific text
          transformers
        ];
        testHaskellDepends = [
@@ -35520,8 +35586,8 @@ self: {
     ({ mkDerivation, base, Cabal, directory, filepath }:
      mkDerivation {
        pname = "autoexporter";
-       version = "1.1.19";
-       sha256 = "0hgxfd5pykl6y1v3asnh46abfmi5fsdp0hs1kf6a2acqsnx9vad7";
+       version = "1.1.20";
+       sha256 = "1aciwnsxb76hl2yx1n8mbmd6rhl41f1axq3c2djdc6mkkiyh9qc1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base Cabal directory filepath ];
@@ -36491,6 +36557,8 @@ self: {
        pname = "aws-larpi";
        version = "0.1.0.0";
        sha256 = "04z5wcvkcvq961zc9pg79k6340vgm6rdws6lfjysl5jrwr5sfxg9";
+       revision = "1";
+       editedCabalFile = "00singwkjvv2g92i16bsaqdq2rwg2l4v39vmy1vdi6dbpalkka4n";
        libraryHaskellDepends = [
          aeson base bytestring modern-uri req text
        ];
@@ -37890,8 +37958,8 @@ self: {
        pname = "base16";
        version = "0.3.0.1";
        sha256 = "10id9h9mas4kb4kfiz7hhp2hhwnb9mh92pr327c53jqxi4hazgnd";
-       revision = "3";
-       editedCabalFile = "15r912hb0l92f2cajpq2b6ky4g5qwfmb502nfv1vrg02a1h25xb6";
+       revision = "4";
+       editedCabalFile = "05fpdw8qkdg7cfyfsnk5npcxqgjgasd8hi096nh6czj96xn4s1b6";
        libraryHaskellDepends = [
          base bytestring deepseq primitive text text-short
        ];
@@ -37942,18 +38010,15 @@ self: {
      }) {};
 
   "base16-lens" = callPackage
-    ({ mkDerivation, base, base16, bytestring, Cabal, cabal-doctest
-     , doctest, lens, text, text-short
+    ({ mkDerivation, base, base16, bytestring, lens, text, text-short
      }:
      mkDerivation {
        pname = "base16-lens";
-       version = "0.1.3.0";
-       sha256 = "1612v5lj99szshz7vm3mr5p4xxcrga1xxcfm9q9zzpnyd5z5vkn2";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "0.1.3.2";
+       sha256 = "04qz8gm969vlaxsk1j3rlpqph74qjkfr3rkpfkkxrfmxih6cm2fj";
        libraryHaskellDepends = [
          base base16 bytestring lens text text-short
        ];
-       testHaskellDepends = [ base doctest lens ];
        description = "Optics for the Base16 library";
        license = lib.licenses.bsd3;
      }) {};
@@ -37967,8 +38032,8 @@ self: {
        pname = "base32";
        version = "0.2.0.0";
        sha256 = "0xvilxcdcvz07f3qpad35whjd35c9ykicip2cdsd54ysxg71mwzm";
-       revision = "1";
-       editedCabalFile = "0vsc0fq4rihhx4hicfgy1xpfm1bbq4rnwgfs9qzgmwhslffqy2x5";
+       revision = "2";
+       editedCabalFile = "0chbgkq65mh6nc48a3hywcv7idfqgb3acv4b7gmz8m6szqq4mx95";
        libraryHaskellDepends = [
          base bytestring deepseq ghc-byteorder text text-short
        ];
@@ -38001,18 +38066,15 @@ self: {
      }) {};
 
   "base32-lens" = callPackage
-    ({ mkDerivation, base, base32, bytestring, Cabal, cabal-doctest
-     , doctest, lens, text
+    ({ mkDerivation, base, base32, bytestring, lens, text, text-short
      }:
      mkDerivation {
        pname = "base32-lens";
-       version = "0.1.0.0";
-       sha256 = "0yhaaz5y8cwyjcclmjw0hk31388z233041ycfpwm2a3f0vgpilvn";
-       revision = "1";
-       editedCabalFile = "1sj9dc2prfhbc3b7bvxmw6wfq0iql6dwvdx928z13rdc4vwj0nv0";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [ base base32 bytestring lens text ];
-       testHaskellDepends = [ base doctest lens ];
+       version = "0.1.1.1";
+       sha256 = "0wam29m7vz5srrj135wmsbmg9qqhsidnwfhbicy0vmx342ai8bs6";
+       libraryHaskellDepends = [
+         base base32 bytestring lens text text-short
+       ];
        description = "Optics for the Base32 library";
        license = lib.licenses.bsd3;
      }) {};
@@ -38134,6 +38196,8 @@ self: {
        pname = "base64";
        version = "0.4.2.3";
        sha256 = "1hdqswxhgjrg8akl5v99hbm02gkpagsbx4i7fxbzdys1k0bj3gxw";
+       revision = "1";
+       editedCabalFile = "10s7nw79q385f74x76rh8cy0dxfj7idzrj77ng9x32bf8h7jpa6q";
        libraryHaskellDepends = [
          base bytestring deepseq ghc-byteorder text text-short
        ];
@@ -38225,8 +38289,8 @@ self: {
        pname = "base64-bytestring-type";
        version = "1.0.1";
        sha256 = "03kq4rjj6by02rf3hg815jfdqpdk0xygm5f46r2pn8mb99yd01zn";
-       revision = "7";
-       editedCabalFile = "1vry5qh9w1adwyfrlx8x2772knwmdvxgq2nfzng7vybll2cqph4c";
+       revision = "8";
+       editedCabalFile = "196m1ylkl9d03iymld08fhfnfcdydzd824v7ffl67ijmfxcvzcyn";
        libraryHaskellDepends = [
          aeson base base-compat base64-bytestring binary bytestring cereal
          deepseq hashable http-api-data QuickCheck serialise text
@@ -38261,16 +38325,15 @@ self: {
      }) {};
 
   "base64-lens" = callPackage
-    ({ mkDerivation, base, base64, bytestring, Cabal, cabal-doctest
-     , doctest, lens, text
+    ({ mkDerivation, base, base64, bytestring, lens, text, text-short
      }:
      mkDerivation {
        pname = "base64-lens";
-       version = "0.3.0";
-       sha256 = "0gs3cxmglz0hshi4m94zrlc6fix90cvbdmcv2v4j01zwsdg8gv81";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [ base base64 bytestring lens text ];
-       testHaskellDepends = [ base doctest lens ];
+       version = "0.3.1";
+       sha256 = "1iszvlc22h7crwqhcafy974l0l1rgxbcjf6lb5yxsvp6q66gzhrn";
+       libraryHaskellDepends = [
+         base base64 bytestring lens text text-short
+       ];
        description = "Optics for the Base64 library";
        license = lib.licenses.bsd3;
      }) {};
@@ -38776,8 +38839,8 @@ self: {
      }:
      mkDerivation {
        pname = "bcp47";
-       version = "0.2.0.0";
-       sha256 = "0dbbpxjhsm17xhqp2a4vvwb0rq3v33wmb84rqdcjr6j8d54wnq5f";
+       version = "0.2.0.3";
+       sha256 = "07gz8bflc3klw0370albaff8v9vlgyqgrc5lifl35vs2ia891fhn";
        libraryHaskellDepends = [
          aeson base containers country generic-arbitrary iso639 megaparsec
          QuickCheck text
@@ -38797,8 +38860,8 @@ self: {
      }:
      mkDerivation {
        pname = "bcp47-orphans";
-       version = "0.1.0.1";
-       sha256 = "0phw6hsrhya93w7zlrl7866zgpa62pscicjdb5lllpdqfcwl4jl2";
+       version = "0.1.0.2";
+       sha256 = "0rgr1p8dn54j432hfwg361dhsd4ngwvy3h8wx094m0kb6vjix9l6";
        libraryHaskellDepends = [
          base bcp47 cassava errors esqueleto hashable http-api-data
          path-pieces persistent text
@@ -40356,6 +40419,8 @@ self: {
        pname = "binary-instances";
        version = "1.0.1";
        sha256 = "0whqjziwqrqslf6byliry84pg47z7vc6yjligpzb8gb5db2gw1h0";
+       revision = "1";
+       editedCabalFile = "1xw2rl5mk626i54c0azrw5as3avd2cvzxn8l6sg5ymc14c240iwp";
        libraryHaskellDepends = [
          aeson base binary binary-orphans case-insensitive hashable
          scientific tagged text text-binary time-compat unordered-containers
@@ -40426,8 +40491,8 @@ self: {
        pname = "binary-orphans";
        version = "1.0.1";
        sha256 = "0gbmn5rpvyxhw5bxjmxwld6918lslv03b2f6hshssaw1il5x86j3";
-       revision = "4";
-       editedCabalFile = "07jwyndphnfr20ihagncpl8rr7i62hxf0b9m2bdahyzvz0yzdsl2";
+       revision = "5";
+       editedCabalFile = "1h2d37szfrcwn9rphnijn4q9l947b0wwqjs1aqmm62xkhbad7jf6";
        libraryHaskellDepends = [ base binary transformers ];
        testHaskellDepends = [
          base binary QuickCheck quickcheck-instances tagged tasty
@@ -40520,8 +40585,8 @@ self: {
      }:
      mkDerivation {
        pname = "binary-search";
-       version = "1.0.0.3";
-       sha256 = "1ypn2i2c3mxd1zhpj515zf15y9sgz10akbyngg2ymp7ddbs2vqxh";
+       version = "2.0.0";
+       sha256 = "13dp9wbf58k4rbr9ychf7p0zkrpzykxhh4fws741sk9mcjmrkgv7";
        libraryHaskellDepends = [ base containers transformers ];
        testHaskellDepends = [
          base directory doctest filepath hspec QuickCheck
@@ -42614,18 +42679,12 @@ self: {
      }) {};
 
   "bits" = callPackage
-    ({ mkDerivation, base, bytes, Cabal, cabal-doctest, doctest, mtl
-     , transformers
-     }:
+    ({ mkDerivation, base, bytes, mtl, transformers }:
      mkDerivation {
        pname = "bits";
-       version = "0.5.2";
-       sha256 = "1q5grjma421qiwjkwvnsakd4hxnf02bavfinky2skfhqvg63hkav";
-       revision = "1";
-       editedCabalFile = "0yjx0rixg51bhhddhb7m4g2ryp1qqj70j4bj6ggj0wpzmzazq5aa";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "0.5.3";
+       sha256 = "0avcm2635nvgghr7nbci66s4l5q4k6ag81hla1xai58b159anyq0";
        libraryHaskellDepends = [ base bytes mtl transformers ];
-       testHaskellDepends = [ base doctest ];
        description = "Various bit twiddling and bitwise serialization primitives";
        license = lib.licenses.bsd3;
      }) {};
@@ -42884,38 +42943,14 @@ self: {
      }) {};
 
   "bitvec" = callPackage
-    ({ mkDerivation, base, containers, deepseq, gauge, ghc-prim, gmp
+    ({ mkDerivation, base, bytestring, containers, deepseq, ghc-prim
      , integer-gmp, primitive, quickcheck-classes, random, tasty
-     , tasty-hunit, tasty-quickcheck, vector
-     }:
-     mkDerivation {
-       pname = "bitvec";
-       version = "1.0.3.0";
-       sha256 = "0s3gdh2rgz9wdnin5h2yhvnr8gy3sgcl9sbb1k4069ap4svrg8hd";
-       libraryHaskellDepends = [
-         base deepseq ghc-prim integer-gmp primitive vector
-       ];
-       librarySystemDepends = [ gmp ];
-       testHaskellDepends = [
-         base integer-gmp primitive quickcheck-classes tasty tasty-hunit
-         tasty-quickcheck vector
-       ];
-       benchmarkHaskellDepends = [
-         base containers gauge integer-gmp random vector
-       ];
-       description = "Space-efficient bit vectors";
-       license = lib.licenses.bsd3;
-     }) {inherit (pkgs) gmp;};
-
-  "bitvec_1_1_0_0" = callPackage
-    ({ mkDerivation, base, bytestring, containers, deepseq, gauge
-     , ghc-prim, integer-gmp, primitive, quickcheck-classes, random
-     , tasty, tasty-hunit, tasty-quickcheck, vector
+     , tasty-bench, tasty-hunit, tasty-quickcheck, vector
      }:
      mkDerivation {
        pname = "bitvec";
-       version = "1.1.0.0";
-       sha256 = "1blfi62immsx7hvg9krdbcp9n1p2a9qyhm9j30lc0g2jcl1n11mz";
+       version = "1.1.1.0";
+       sha256 = "0652dxx19g26jlx945qas09jhbcy17yw4visk9qhi9fbjl53v3yv";
        libraryHaskellDepends = [
          base bytestring deepseq ghc-prim integer-gmp primitive vector
        ];
@@ -42924,11 +42959,10 @@ self: {
          tasty-quickcheck vector
        ];
        benchmarkHaskellDepends = [
-         base containers gauge integer-gmp random vector
+         base containers integer-gmp random tasty-bench vector
        ];
        description = "Space-efficient bit vectors";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "bitwise" = callPackage
@@ -42955,6 +42989,33 @@ self: {
        pname = "bitwise-enum";
        version = "1.0.0.3";
        sha256 = "0ykrr8x1hc1lsj8cn19jcypvww4598g1v0vrn3z3b7n6hp6wfyis";
+       revision = "3";
+       editedCabalFile = "19d5xwigd482z47s8gpbd2jmm4pmx5bxg2fxkzjl8dias4yb431x";
+       libraryHaskellDepends = [
+         aeson array base deepseq mono-traversable vector
+       ];
+       testHaskellDepends = [
+         aeson array base deepseq mono-traversable QuickCheck test-framework
+         test-framework-quickcheck2 vector
+       ];
+       benchmarkHaskellDepends = [
+         aeson array base deepseq gauge mono-traversable vector wide-word
+       ];
+       description = "Bitwise operations on bounded enumerations";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "bitwise-enum_1_0_1_0" = callPackage
+    ({ mkDerivation, aeson, array, base, deepseq, gauge
+     , mono-traversable, QuickCheck, test-framework
+     , test-framework-quickcheck2, vector, wide-word
+     }:
+     mkDerivation {
+       pname = "bitwise-enum";
+       version = "1.0.1.0";
+       sha256 = "0vmdr8csmxwab7s4nmqdfpqdssivh90fddk94i8wkwj1la867y1z";
        libraryHaskellDepends = [
          aeson array base deepseq mono-traversable vector
        ];
@@ -44968,24 +45029,22 @@ self: {
      }) {};
 
   "bound" = callPackage
-    ({ mkDerivation, base, bifunctors, binary, bytes, Cabal
-     , cabal-doctest, cereal, comonad, deepseq, deriving-compat, doctest
-     , functor-classes-compat, hashable, mmorph, profunctors
-     , template-haskell, th-abstraction, transformers
-     , transformers-compat, vector, void
+    ({ mkDerivation, base, bifunctors, binary, bytes, cereal, comonad
+     , deepseq, deriving-compat, functor-classes-compat, hashable
+     , mmorph, profunctors, template-haskell, th-abstraction
+     , transformers, transformers-compat, vector, void
      }:
      mkDerivation {
        pname = "bound";
-       version = "2.0.2";
-       sha256 = "14kl0aak48m1sbvi0g772hfmn6w984yc4j9p4ljxq6bfb2q4gqax";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "2.0.3";
+       sha256 = "0rhpcz99sax81zh2k1ww7g2xgfcna56ppj9xc1l4gfnsrrlb27yg";
        libraryHaskellDepends = [
          base bifunctors binary bytes cereal comonad deepseq hashable mmorph
          profunctors template-haskell th-abstraction transformers
          transformers-compat
        ];
        testHaskellDepends = [
-         base deriving-compat doctest functor-classes-compat transformers
+         base deriving-compat functor-classes-compat transformers
          transformers-compat vector void
        ];
        description = "Making de Bruijn Succ Less";
@@ -45185,8 +45244,8 @@ self: {
     ({ mkDerivation, base, ghc-prim }:
      mkDerivation {
        pname = "box-tuples";
-       version = "0.2.0.3";
-       sha256 = "12a3jj3z1gni8925n16ipqyah8vg244lx88v289f2rldiyvh3bvf";
+       version = "0.2.0.4";
+       sha256 = "02f3ll6qghs36sill1pznj2354cliq5kh5rbg19lsnykvqimca0i";
        libraryHaskellDepends = [ base ghc-prim ];
        description = "A hack to use GHC.Prim primitives in GHCi";
        license = lib.licenses.mit;
@@ -45404,8 +45463,8 @@ self: {
      }:
      mkDerivation {
        pname = "brick";
-       version = "0.59";
-       sha256 = "1nkx7b6688ba0h8kw8xzqamj9zpdjyrdpmg8h18v3l03hw5jcszf";
+       version = "0.60.2";
+       sha256 = "1fcpbm58fikqv94cl97p6bzhyq07kkp3zppylqwpil2qzfhvzb3i";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -45657,7 +45716,6 @@ self: {
        ];
        description = "Haskell source code formatter";
        license = lib.licenses.agpl3;
-       maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
   "broadcast-chan" = callPackage
@@ -46401,10 +46459,8 @@ self: {
      }:
      mkDerivation {
        pname = "bugzilla-redhat";
-       version = "0.3.0";
-       sha256 = "1d751f1219ivx9bfdl7xb89w2vns07ciqp4cqcykixnllx2jx18y";
-       revision = "1";
-       editedCabalFile = "145sdnk28sxwz4s1gh0qq6vzm9q6s5433q6w1199cv9585b53kcx";
+       version = "0.3.1";
+       sha256 = "088ya35lwxnvg0x996agy2ky8kp4r3j2i1ja15fy3afcqfpvbqiv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -46679,8 +46735,8 @@ self: {
      }:
      mkDerivation {
        pname = "burrito";
-       version = "1.2.0.0";
-       sha256 = "1nrb08czlnfcgb7v59vzkffik2w5yp833la4mq6sp6sgnm0ylgya";
+       version = "1.2.0.1";
+       sha256 = "0swxc78vz1rj3q994cdnadgkanzcpm8rshvs2q49534rc2s6gq4g";
        libraryHaskellDepends = [
          base bytestring containers parsec template-haskell text
          transformers
@@ -47141,24 +47197,19 @@ self: {
      }) {};
 
   "bytes" = callPackage
-    ({ mkDerivation, base, binary, binary-orphans, bytestring, Cabal
-     , cabal-doctest, cereal, containers, directory, doctest, filepath
-     , hashable, mtl, scientific, text, time, transformers
+    ({ mkDerivation, base, binary, binary-orphans, bytestring, cereal
+     , containers, hashable, mtl, scientific, text, time, transformers
      , transformers-compat, unordered-containers, void
      }:
      mkDerivation {
        pname = "bytes";
-       version = "0.17";
-       sha256 = "11gacfxcn9f3v5a1phlgi7mwwrnyh51sfsym573g6i4v2zqfrwi3";
-       revision = "4";
-       editedCabalFile = "0vxmahjxskyddq3gmr2b2ix5h33ywk6fmv17vqfbh8mhfbb26113";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "0.17.1";
+       sha256 = "1qmps8vvg98wfm9xm734hwzi56bsk8r1zc6vx20rlhc79krv5s9s";
        libraryHaskellDepends = [
          base binary binary-orphans bytestring cereal containers hashable
          mtl scientific text time transformers transformers-compat
          unordered-containers void
        ];
-       testHaskellDepends = [ base directory doctest filepath ];
        description = "Sharing code for serialization between binary and cereal";
        license = lib.licenses.bsd3;
      }) {};
@@ -47183,8 +47234,8 @@ self: {
      }:
      mkDerivation {
        pname = "byteslice";
-       version = "0.2.5.0";
-       sha256 = "0sl5jbfni6sx6srlfdpj0cb0pjw38cf3fyxsnaldbap2wfd3ncyr";
+       version = "0.2.5.2";
+       sha256 = "0nva9w086g6d7g6bjwk4ad14jz8z17m0m9fvzfxv90cx6wkmvph3";
        libraryHaskellDepends = [
          base bytestring primitive primitive-addr primitive-unlifted run-st
          tuples vector
@@ -47226,15 +47277,23 @@ self: {
        broken = true;
      }) {};
 
-  "bytestring_0_11_0_0" = callPackage
-    ({ mkDerivation, base, deepseq, ghc-prim, integer-gmp }:
+  "bytestring_0_11_1_0" = callPackage
+    ({ mkDerivation, base, deepseq, dlist, ghc-prim, integer-gmp
+     , random, tasty, tasty-bench, tasty-hunit, tasty-quickcheck
+     , transformers
+     }:
      mkDerivation {
        pname = "bytestring";
-       version = "0.11.0.0";
-       sha256 = "03fwkbn52946y2l1ddrqq1jp8l9bhgi0gwxpz1wqqsn6n2vz5rrj";
-       revision = "1";
-       editedCabalFile = "0qhx61v75cqpgrb88h5gpc4a6vg17dgrw555q2kgi2hvip61z5lr";
+       version = "0.11.1.0";
+       sha256 = "1a29kwczd1hcpir691x936i9c5ys9d7m1lyby48djs9w54ksy1jw";
        libraryHaskellDepends = [ base deepseq ghc-prim integer-gmp ];
+       testHaskellDepends = [
+         base deepseq dlist ghc-prim tasty tasty-hunit tasty-quickcheck
+         transformers
+       ];
+       benchmarkHaskellDepends = [
+         base deepseq dlist random tasty-bench
+       ];
        description = "Fast, compact, strict and lazy byte strings with a list interface";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -48092,8 +48151,8 @@ self: {
     ({ mkDerivation, base, Cabal, filepath }:
      mkDerivation {
        pname = "cabal-appimage";
-       version = "0.3.0.0";
-       sha256 = "0m3xq3k4s6rn90vd2sp115jyb722vi9wgih3lz05fnc2bypyg6zi";
+       version = "0.3.0.2";
+       sha256 = "0hyjb8y4zf7qccyzsms98sd0kgz83q1aqfhgx2f3dq1nprhbg9ld";
        libraryHaskellDepends = [ base Cabal filepath ];
        description = "Cabal support for creating AppImage applications";
        license = lib.licenses.agpl3;
@@ -48595,23 +48654,22 @@ self: {
     ({ mkDerivation, array, async, base, base16-bytestring, binary
      , bytestring, Cabal, containers, cryptohash-sha256, deepseq
      , directory, echo, edit-distance, filepath, hackage-security
-     , hashable, HTTP, lukko, mtl, network, network-uri, parsec, pretty
-     , process, random, resolv, stm, tar, text, time, transformers, unix
-     , zlib
+     , hashable, HTTP, lukko, mtl, network-uri, parsec, pretty, process
+     , random, regex-base, regex-posix, resolv, stm, tar, text, time
+     , transformers, unix, zlib
      }:
      mkDerivation {
        pname = "cabal-install";
-       version = "3.2.0.0";
-       sha256 = "1c0cc256bha97aj7l0lf76l5swlnmwcqppiz8l4cl5xgba4mwmd0";
+       version = "3.4.0.0";
+       sha256 = "15rylx5pa03jdiwcg1x7zvs6aq3g6phwmi1hz26cl080nczyz00r";
        isLibrary = false;
        isExecutable = true;
-       setupHaskellDepends = [ base Cabal filepath process ];
        executableHaskellDepends = [
          array async base base16-bytestring binary bytestring Cabal
          containers cryptohash-sha256 deepseq directory echo edit-distance
-         filepath hackage-security hashable HTTP lukko mtl network
-         network-uri parsec pretty process random resolv stm tar text time
-         transformers unix zlib
+         filepath hackage-security hashable HTTP lukko mtl network-uri
+         parsec pretty process random regex-base regex-posix resolv stm tar
+         text time transformers unix zlib
        ];
        doCheck = false;
        postInstall = ''
@@ -48695,8 +48753,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-install-parsers";
-       version = "0.4";
-       sha256 = "12z9gz1afra0fqd79j1r9fsdc7k8r6v1saw14l42kd2dqxdjqwcf";
+       version = "0.4.1";
+       sha256 = "1djw4l0z8nsaby2qcm08kvn2p1c35ynzdg25vc815dx2wpw38bh3";
        libraryHaskellDepends = [
          aeson base base16-bytestring binary binary-instances bytestring
          Cabal containers cryptohash-sha256 deepseq directory filepath lukko
@@ -49612,8 +49670,8 @@ self: {
      }:
      mkDerivation {
        pname = "caerbannog";
-       version = "0.6.0.3";
-       sha256 = "0mv10cc50365kz2ad36wivvhcyl43bwxjp71f0n9vq2ndrmb4dna";
+       version = "0.6.0.4";
+       sha256 = "0zm6vdbsb947nd3wcniyk8mjs52r6hwyyp64w1abnazajraqask8";
        libraryHaskellDepends = [ base binary bytestring ];
        testHaskellDepends = [
          base binary bytestring hspec QuickCheck random
@@ -49880,8 +49938,8 @@ self: {
      }:
      mkDerivation {
        pname = "calamity";
-       version = "0.1.24.1";
-       sha256 = "14q0s17an5vk2gq9vcy0ghd30zg1dj3q5vdln86mnd4v34wkpfr2";
+       version = "0.1.25.1";
+       sha256 = "17i8l2p314bifa5cfqvpy89m0yh9m1m4120cjc71ir2lb35wj9lf";
        libraryHaskellDepends = [
          aeson async base bytestring colour concurrent-extra connection
          containers data-default-class data-flags deepseq deque df1 di-core
@@ -50509,8 +50567,8 @@ self: {
      }:
      mkDerivation {
        pname = "capnp";
-       version = "0.10.0.0";
-       sha256 = "054cy2rr2hg0brrbxff4my3q2fzr1qk7ik2xyip65dq54958ibqk";
+       version = "0.10.0.1";
+       sha256 = "1p5vx7gcswz08f790swb8pi2ckbphqr76j8gav4rvrbalscd3zvf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -51417,8 +51475,8 @@ self: {
        pname = "cassava";
        version = "0.5.2.0";
        sha256 = "01h1zrdqb313cjd4rqm1107azzx4czqi018c2djf66a5i7ajl3dk";
-       revision = "1";
-       editedCabalFile = "1ph8rf91z4nf1ryrh9s4gd1kq98jlgk2manwddkpch8k0n9xvfk4";
+       revision = "2";
+       editedCabalFile = "1y08lhkh6c6421g3nwwkrrv3r36l75x9j2hnm5khagjpm5njjzma";
        configureFlags = [ "-f-bytestring--lt-0_10_4" ];
        libraryHaskellDepends = [
          array attoparsec base bytestring containers deepseq hashable Only
@@ -52994,17 +53052,15 @@ self: {
      }) {};
 
   "charset" = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, semigroups
+    ({ mkDerivation, array, base, bytestring, containers
      , unordered-containers
      }:
      mkDerivation {
        pname = "charset";
-       version = "0.3.7.1";
-       sha256 = "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x";
-       revision = "2";
-       editedCabalFile = "002x3yan7632nqgwk0a7f3wvchgm95pdwqh225va8dnn1lr9pi1z";
+       version = "0.3.8";
+       sha256 = "1rw6y2insgljbi5l1nwqwv9v865sswjly9rvwipd8zajkgks7aks";
        libraryHaskellDepends = [
-         array base bytestring containers semigroups unordered-containers
+         array base bytestring containers unordered-containers
        ];
        description = "Fast unicode character sets based on complemented PATRICIA tries";
        license = lib.licenses.bsd3;
@@ -53068,23 +53124,22 @@ self: {
 
   "chart-svg" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, Color, concurrency
-     , cubicbezier, doctest, foldl, generic-lens, JuicyPixels, lens
-     , linear, lucid, numhask, numhask-space, reanimate, reanimate-svg
-     , scientific, tagsoup, text, time, transformers
-     , unordered-containers, vector
+     , containers, cubicbezier, doctest, foldl, generic-lens
+     , JuicyPixels, lens, linear, lucid, numhask, numhask-space
+     , reanimate, reanimate-svg, scientific, tagsoup, text, time
+     , transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "chart-svg";
-       version = "0.2.0";
-       sha256 = "1w7381r9zfj02c5r6fbza1x2qdxyqpgb3dj2wld73pzcladszp34";
-       revision = "1";
-       editedCabalFile = "18ilaajn42jni3pgzyc9f7z6ph3jyf0wrjfv9jnsp3ypyjj7yjn3";
+       version = "0.2.2";
+       sha256 = "184hpqkc9fvn64bg550clwxvjg2ii8igcl7nq3895pgi0cxxr0p1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         attoparsec base Color cubicbezier foldl generic-lens JuicyPixels
-         lens linear lucid numhask numhask-space reanimate reanimate-svg
-         scientific tagsoup text time transformers unordered-containers
+         attoparsec base Color containers cubicbezier foldl generic-lens
+         JuicyPixels lens linear lucid numhask numhask-space reanimate
+         reanimate-svg scientific tagsoup text time transformers
+         unordered-containers
        ];
        executableHaskellDepends = [
          attoparsec base bytestring concurrency foldl JuicyPixels lens
@@ -54076,6 +54131,34 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "chronos_1_1_2" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, criterion
+     , deepseq, doctest, hashable, HUnit, old-locale, primitive
+     , QuickCheck, semigroups, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, thyme, time, torsor, vector
+     }:
+     mkDerivation {
+       pname = "chronos";
+       version = "1.1.2";
+       sha256 = "0izzg5cnnw53m3pfxglpj96i88h1qx75w04n6a67855xly4dfyxa";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring deepseq hashable primitive
+         semigroups text torsor vector
+       ];
+       testHaskellDepends = [
+         aeson attoparsec base bytestring deepseq doctest HUnit QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+         torsor
+       ];
+       benchmarkHaskellDepends = [
+         attoparsec base bytestring criterion deepseq old-locale QuickCheck
+         text thyme time vector
+       ];
+       description = "A high-performance time library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "chronos-bench" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, chronos
      , containers, deepseq, optparse-applicative, process, terminal-size
@@ -54104,8 +54187,8 @@ self: {
        pname = "chs-cabal";
        version = "0.1.1.0";
        sha256 = "0zan47md9zivzc1gd1j1g0200n8d0ffx4dcmkd9vriqjsdwhqvl5";
-       revision = "1";
-       editedCabalFile = "04fh1g2wfm69hz1hjg4ds2c3npdx6z2mgwddlkqr2sdbnngnmv10";
+       revision = "2";
+       editedCabalFile = "1axn8xmnrk42j1b8bxykbrqjy1ia0ajg27jirjb2gix1vvvpxb1d";
        libraryHaskellDepends = [ base Cabal chs-deps ];
        description = "Cabal with c2hs dependencies";
        license = lib.licenses.bsd3;
@@ -54705,8 +54788,8 @@ self: {
      }:
      mkDerivation {
        pname = "citeproc";
-       version = "0.3.0.5";
-       sha256 = "18ybi21fmw9rkd4m74dgy1cf3i9l79bpalm79427kass8mv4wpia";
+       version = "0.3.0.7";
+       sha256 = "03cc3d7a1rf3k23150b19y4mx1c6vk53l9c59vv9npf39id33g7s";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -55975,8 +56058,8 @@ self: {
      }:
      mkDerivation {
        pname = "clickhouse-haskell";
-       version = "0.1.2.3";
-       sha256 = "1sa9jbiw8j04plk26p7n25plq0ymzsw7vqln0y6kbn3k30panyqg";
+       version = "0.1.2.4";
+       sha256 = "0c9847024crxiql09l55cx4881sv6lpzhhrwvhvb6f5548403iqg";
        libraryHaskellDepends = [
          aeson array async attoparsec base binary bytestring
          bytestring-to-vector call-stack containers data-default-class
@@ -56917,8 +57000,8 @@ self: {
      }:
      mkDerivation {
        pname = "cmdargs";
-       version = "0.10.20";
-       sha256 = "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf";
+       version = "0.10.21";
+       sha256 = "0xfabq187n1vqrnnm4ciprpl0dcjq97rksyjnpcniwva9rffmn7p";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -57348,8 +57431,8 @@ self: {
      }:
      mkDerivation {
        pname = "cobot-io";
-       version = "0.1.3.13";
-       sha256 = "0qi07canqwnwfvmbsp1j9lyklnn8h909r6js94xlpin1qa7dpjda";
+       version = "0.1.3.17";
+       sha256 = "1x289bmzrj1yrr934b51v3amldhjdanjv4kxnay89n8avix899yw";
        libraryHaskellDepends = [
          array attoparsec base binary bytestring containers data-msgpack
          deepseq http-conduit hyraxAbif lens linear mtl split text vector
@@ -57407,8 +57490,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "code-page";
-       version = "0.2";
-       sha256 = "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz";
+       version = "0.2.1";
+       sha256 = "1aiavczjk6f2kc1cdwjc1mwkr4d9shiz3xwmfbzsdn0yqqchxydj";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        description = "Windows code page library for Haskell";
@@ -57862,8 +57945,8 @@ self: {
      }:
      mkDerivation {
        pname = "coinbase-pro";
-       version = "0.8.0.0";
-       sha256 = "021c05qkrvgxlylvrrlb81bjxl49v5varn0fi5wqs5sda15766n3";
+       version = "0.9.0.0";
+       sha256 = "1wnjpm49gy75nl3m01bablchbk7clsgf4x53xqx5k2bsvn1xd1n1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -58794,8 +58877,8 @@ self: {
      }:
      mkDerivation {
        pname = "commonmark";
-       version = "0.1.1.3";
-       sha256 = "1hwbii1d56979l0svvjayzhmwa25s66l36bb08hjq6p36lkv2a1v";
+       version = "0.1.1.4";
+       sha256 = "0dpm110svgdf21lf5sfbzjcfryn0v6hhjcs8kkyf167kng2sclfn";
        libraryHaskellDepends = [
          base bytestring containers parsec text transformers
        ];
@@ -59192,8 +59275,8 @@ self: {
      }:
      mkDerivation {
        pname = "compdata";
-       version = "0.12";
-       sha256 = "0b08mmj04bbi735hvvdbg1nmg66qg1c11r0kvq7m569r91bmy54v";
+       version = "0.12.1";
+       sha256 = "0ksa3bgqjvshkrpd74420z9kkb3asq4flszzwrqswd4qw1yn9f05";
        libraryHaskellDepends = [
          base containers deepseq mtl QuickCheck template-haskell
          th-expand-syns transformers tree-view
@@ -59344,23 +59427,18 @@ self: {
      }) {};
 
   "compensated" = callPackage
-    ({ mkDerivation, base, bifunctors, binary, bytes, Cabal
-     , cabal-doctest, cereal, comonad, criterion, deepseq, distributive
-     , doctest, generic-deriving, hashable, lens, log-domain, safecopy
-     , semigroupoids, semigroups, simple-reflect, vector
+    ({ mkDerivation, base, bifunctors, binary, bytes, cereal, comonad
+     , criterion, deepseq, distributive, hashable, lens, log-domain
+     , safecopy, semigroupoids, semigroups, vector
      }:
      mkDerivation {
        pname = "compensated";
-       version = "0.8.1";
-       sha256 = "1qr5nsg6fb6ib2wp29c1y05zdbydsng0sfg2k75qsh0avb2cgw7z";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "0.8.3";
+       sha256 = "0xigi4pcw581d8kjbhdjkksyz9bgcgvq0j17br9z1x6a3hw1m39a";
        libraryHaskellDepends = [
          base bifunctors binary bytes cereal comonad deepseq distributive
          hashable lens log-domain safecopy semigroupoids semigroups vector
        ];
-       testHaskellDepends = [
-         base doctest generic-deriving semigroups simple-reflect
-       ];
        benchmarkHaskellDepends = [ base criterion ];
        description = "Compensated floating-point arithmetic";
        license = lib.licenses.bsd3;
@@ -61583,6 +61661,8 @@ self: {
        pname = "config-schema";
        version = "1.2.1.0";
        sha256 = "1p5nhvhq7q5s67l4h4zb19ali5jbxrz9mb5cwzhykqmqji56n5vf";
+       revision = "1";
+       editedCabalFile = "056iks8k9lhbv34pqk8nisqc7vwzqq0shknixbpkd3vgbd3yksyf";
        libraryHaskellDepends = [
          base config-value containers free kan-extensions pretty
          semigroupoids text transformers
@@ -61617,6 +61697,8 @@ self: {
        pname = "config-value";
        version = "0.8.1";
        sha256 = "086jv01a737547w6x9w1951vq0p7mx6vqw9ifw5kcs5nvhj5rx2q";
+       revision = "1";
+       editedCabalFile = "0wa3grq566fpkq5g9bcszwjv96drq6b3qg2w32rv8m00pd1j0n27";
        libraryHaskellDepends = [ array base containers pretty text ];
        libraryToolDepends = [ alex happy ];
        testHaskellDepends = [ base text ];
@@ -61688,14 +61770,15 @@ self: {
      , base-unicode-symbols, bytestring, Cabal, case-insensitive
      , deepseq, directory, dlist, filepath, mtl, network-uri
      , optparse-applicative, process, profunctors, semigroupoids
-     , semigroups, text, transformers, unordered-containers, yaml
+     , semigroups, text, transformers, unordered-containers, vector
+     , yaml
      }:
      mkDerivation {
        pname = "configuration-tools";
-       version = "0.5.0";
-       sha256 = "0pgx2wzzqxgafgf3qjys05hp89lz4fwczsx0i581n8ngs3p4i0wh";
-       revision = "1";
-       editedCabalFile = "0srscnmj5dhaq0djx0lhcggl53ipn6pw8vgsvgzhhjrbmnn2zb2p";
+       version = "0.6.0";
+       sha256 = "1lncsh3dfl8iz1yr2b0mmpcdyww3cbr3jglp85iqmpvzv66m2kbg";
+       isLibrary = true;
+       isExecutable = true;
        setupHaskellDepends = [
          base bytestring Cabal directory filepath process
        ];
@@ -61704,8 +61787,9 @@ self: {
          bytestring Cabal case-insensitive deepseq directory dlist filepath
          mtl network-uri optparse-applicative process profunctors
          semigroupoids semigroups text transformers unordered-containers
-         yaml
+         vector yaml
        ];
+       executableHaskellDepends = [ base base-unicode-symbols Cabal mtl ];
        testHaskellDepends = [
          base base-unicode-symbols bytestring Cabal mtl text transformers
          unordered-containers yaml
@@ -61954,16 +62038,15 @@ self: {
      }) {};
 
   "connections" = callPackage
-    ({ mkDerivation, base, containers, finite-typelits, hedgehog
-     , transformers, universe-base
-     }:
+    ({ mkDerivation, base, containers, doctest, hedgehog }:
      mkDerivation {
        pname = "connections";
-       version = "0.1.0";
-       sha256 = "0lnskpdfgxjbkqlg82i1gxz8dsns36szyw1mv45nlq7jqspfspgp";
-       libraryHaskellDepends = [
-         base containers finite-typelits transformers universe-base
-       ];
+       version = "0.2.0";
+       sha256 = "1hvfqdjcj4mp2iyx0596710z4f8fm0jlgp819xf2s90rz1b360ya";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base containers ];
+       executableHaskellDepends = [ base doctest ];
        testHaskellDepends = [ base hedgehog ];
        description = "Orders, Galois connections, and lattices";
        license = lib.licenses.bsd3;
@@ -62261,6 +62344,26 @@ self: {
        license = lib.licenses.bsd2;
      }) {};
 
+  "constraints_0_13" = callPackage
+    ({ mkDerivation, base, binary, deepseq, ghc-prim, hashable, hspec
+     , hspec-discover, mtl, transformers, transformers-compat
+     , type-equality
+     }:
+     mkDerivation {
+       pname = "constraints";
+       version = "0.13";
+       sha256 = "143558jykvya7y8134dx30g6nh27q5s61nbq369p69igd1aayncj";
+       libraryHaskellDepends = [
+         base binary deepseq ghc-prim hashable mtl transformers
+         transformers-compat type-equality
+       ];
+       testHaskellDepends = [ base hspec ];
+       testToolDepends = [ hspec-discover ];
+       description = "Constraint manipulation";
+       license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "constraints-deriving" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, filepath, ghc, ghc-paths
      , path, path-io
@@ -62851,6 +62954,8 @@ self: {
        pname = "contra-tracer";
        version = "0.1.0.0";
        sha256 = "146g43sqa23n1qg100jvz5m1jcjfxx4rxzmc8559b6apys9ys4br";
+       revision = "1";
+       editedCabalFile = "1r3rnxlbvfirj4n2vwysh7zkfdwlx3x4p9yjd32hpr3vdikgpvds";
        libraryHaskellDepends = [ base ];
        description = "Arrow and contravariant tracers";
        license = lib.licenses.bsd3;
@@ -64860,8 +64965,8 @@ self: {
      }:
      mkDerivation {
        pname = "crdt";
-       version = "10.6";
-       sha256 = "0c86gf70iv59dwmm0yv8isyyd6zy497vqgf6ml9s6rz4hhg1rwl0";
+       version = "10.7";
+       sha256 = "0745aa7zs5niwi55kdkfnyii9vdg9jfqr2872w068r8p33njcbdk";
        libraryHaskellDepends = [
          base binary bytestring containers Diff hashable mtl network-info
          safe stm time vector
@@ -65109,6 +65214,8 @@ self: {
        pname = "criterion";
        version = "1.5.9.0";
        sha256 = "0qhlylhra1d3vzk6miqv0gdrn10gw03bdwv8b4bfmdzgpf0zgqr1";
+       revision = "1";
+       editedCabalFile = "140444pqw65vsqpa168c13cljb66rdgvq41mxnvds296wxq2yz7i";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -65132,6 +65239,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "criterion-cmp" = callPackage
+    ({ mkDerivation, ansi-terminal, base, boxes, bytestring, cassava
+     , containers, filepath, optparse-applicative, vector
+     }:
+     mkDerivation {
+       pname = "criterion-cmp";
+       version = "0.1.0.0";
+       sha256 = "0p9l9c89bg1n7xjdq3npvknlfb36gkvpgwhq7i0qd2g20ysdxppd";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         ansi-terminal base boxes bytestring cassava containers filepath
+         optparse-applicative vector
+       ];
+       description = "A simple tool for comparing in Criterion benchmark results";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "criterion-compare" = callPackage
     ({ mkDerivation, base, bytestring, cassava, Chart, Chart-diagrams
      , clay, colour, containers, data-default, filepath, lens, lucid
@@ -67153,28 +67278,28 @@ self: {
      }) {};
 
   "curry-frontend" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, curry-base
-     , directory, extra, file-embed, filepath, mtl, network-uri, pretty
-     , process, set-extra, template-haskell, transformers
+    ({ mkDerivation, base, binary, bytestring, Cabal, containers
+     , directory, extra, file-embed, filepath, mtl, network-uri, parsec
+     , pretty, process, set-extra, template-haskell, time, transformers
      }:
      mkDerivation {
        pname = "curry-frontend";
-       version = "1.0.4";
-       sha256 = "1dfljqyrp9w0sw3zmyy9rglpnjv14qj8ky1yjslmiaanjnl0m07b";
+       version = "2.0.0";
+       sha256 = "0bfqb922drarbjig3a35frf29cc4qa9mw789p5m0d88iwgkhvqnr";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base bytestring containers curry-base directory extra file-embed
-         filepath mtl network-uri pretty process set-extra template-haskell
-         transformers
+         base binary bytestring containers directory extra file-embed
+         filepath mtl network-uri parsec pretty process set-extra
+         template-haskell time transformers
        ];
-       executableHaskellDepends = [
-         base bytestring containers curry-base directory extra file-embed
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base bytestring Cabal containers directory extra file-embed
          filepath mtl network-uri pretty process set-extra template-haskell
          transformers
        ];
-       testHaskellDepends = [ base Cabal curry-base filepath ];
        description = "Compile the functional logic language Curry to several intermediate formats";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -68333,8 +68458,8 @@ self: {
      }:
      mkDerivation {
        pname = "data-ascii";
-       version = "1.0.0.2";
-       sha256 = "03lxcybzamd1d5lrd1i9ygr5s094cr9ch2jdk5fx5hjg4bkigdds";
+       version = "1.0.0.6";
+       sha256 = "0j8mk1gdxcczhwcs75rx50zh6vxv2vkd1rf5n6q4ryn8wm5r3gcr";
        libraryHaskellDepends = [
          base blaze-builder bytestring case-insensitive hashable semigroups
          text
@@ -69034,8 +69159,8 @@ self: {
     ({ mkDerivation, base, deepseq, hashable }:
      mkDerivation {
        pname = "data-fix";
-       version = "0.3.0";
-       sha256 = "184rz8ypgrb3sxy9wiaq321d82p689w7dcwkc0qkjlabd7nv6ncy";
+       version = "0.3.1";
+       sha256 = "0yfciggx8l82nfpv40w2673glnl9nnbh269kpfbw28i98x0c0icv";
        libraryHaskellDepends = [ base deepseq hashable ];
        description = "Fixpoint data types";
        license = lib.licenses.bsd3;
@@ -69984,8 +70109,8 @@ self: {
      }:
      mkDerivation {
        pname = "data-validation";
-       version = "0.1.2.4";
-       sha256 = "1ck7grirqv0hbi973fgbgwzflsmz8diwi1rmjmfxz1f3915vi1yz";
+       version = "0.1.2.5";
+       sha256 = "0xma425fsnqczw2csknms75zx9i5nfnjc3nqcxlqi9xbxv2fksi6";
        libraryHaskellDepends = [ base containers template-haskell ];
        testHaskellDepends = [
          base containers hspec regex-tdfa template-haskell
@@ -70680,7 +70805,7 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
-  "dbus_1_2_18" = callPackage
+  "dbus_1_2_19" = callPackage
     ({ mkDerivation, base, bytestring, cereal, conduit, containers
      , criterion, deepseq, directory, exceptions, extra, filepath, lens
      , network, parsec, process, QuickCheck, random, resourcet, split
@@ -70689,8 +70814,8 @@ self: {
      }:
      mkDerivation {
        pname = "dbus";
-       version = "1.2.18";
-       sha256 = "15ggmggzgzf0xmj80rj14dyk83vra6yzm5pm92psnc4spn213p73";
+       version = "1.2.19";
+       sha256 = "1wcwh8c27v8vs7jaqzp3032wzx14v4mn7r2qhxhb77cppimrjqpg";
        libraryHaskellDepends = [
          base bytestring cereal conduit containers deepseq exceptions
          filepath lens network parsec random split template-haskell text
@@ -71478,10 +71603,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "dec";
-       version = "0.0.3";
-       sha256 = "1y8bvlm2371dq2v0jv1srki98nbhbz091wh0g2x58wz78h971f6r";
-       revision = "2";
-       editedCabalFile = "1v5f5yby0cld1ziqqgkcx8b50qkpviplspm82a6wl7lw28cjm0hs";
+       version = "0.0.4";
+       sha256 = "0yslffafmqfkvhcw2arpc53hfmn1788z85ss9lxnbclr29lbvzgc";
        libraryHaskellDepends = [ base ];
        description = "Decidable propositions";
        license = lib.licenses.bsd3;
@@ -71556,8 +71679,8 @@ self: {
      }:
      mkDerivation {
        pname = "declarative";
-       version = "0.5.3";
-       sha256 = "021rhdhj2sji316mkm1fw679w7xb9n51x9pslmj21427q127ycw3";
+       version = "0.5.4";
+       sha256 = "10dwdzl4gbxwvb068kz8kiprk18bwl79pkyhyyrmfzawf8zp3pha";
        libraryHaskellDepends = [
          base hasty-hamiltonian kan-extensions lens mcmc-types
          mighty-metropolis mwc-probability pipes primitive speedy-slice
@@ -71688,16 +71811,14 @@ self: {
        broken = true;
      }) {};
 
-  "deepseq_1_4_4_0" = callPackage
+  "deepseq_1_4_5_0" = callPackage
     ({ mkDerivation, array, base, ghc-prim, HUnit, test-framework
      , test-framework-hunit
      }:
      mkDerivation {
        pname = "deepseq";
-       version = "1.4.4.0";
-       sha256 = "09kfpmgl679l74b6dadia11pvhya9ik4wrd8x76cgkxk7gwcbkrc";
-       revision = "1";
-       editedCabalFile = "0mbby1hig605jyiyy4m2y2nnjjf5i2adzc6x269hbz4pxscjp43n";
+       version = "1.4.5.0";
+       sha256 = "0d3yw95xkyx7wwx3anfj1fqb10080xykqic483xpl7rvi1mik6js";
        libraryHaskellDepends = [ array base ];
        testHaskellDepends = [
          array base ghc-prim HUnit test-framework test-framework-hunit
@@ -71822,8 +71943,8 @@ self: {
      }:
      mkDerivation {
        pname = "deferred-folds";
-       version = "0.9.15";
-       sha256 = "0jijnjy6x6f86dmlhiaj9gl13zbwzaz4gpb8svzdwwws48bwwyqr";
+       version = "0.9.16";
+       sha256 = "0727pknxn5vib9ri7h39d6gbqxgczqcfdmqaqj9i0lv6wbwn5ar1";
        libraryHaskellDepends = [
          base bytestring containers foldl hashable primitive text
          transformers unordered-containers vector
@@ -72261,34 +72382,39 @@ self: {
      }) {};
 
   "dep-t" = callPackage
-    ({ mkDerivation, base, mtl, rank2classes, tasty, tasty-hunit
-     , template-haskell, transformers, unliftio-core
+    ({ mkDerivation, base, doctest, mtl, rank2classes, sop-core, tasty
+     , tasty-hunit, template-haskell, transformers, unliftio-core
      }:
      mkDerivation {
        pname = "dep-t";
-       version = "0.1.3.0";
-       sha256 = "1bzf2czbml949an6gffc7jh898ba2axfh87phnrla0595x7nrx21";
+       version = "0.4.4.0";
+       sha256 = "1qknqh9j7nvyy15zfi3prx6bifp2nd72kgfd085p478z887i71r4";
        libraryHaskellDepends = [ base mtl transformers unliftio-core ];
        testHaskellDepends = [
-         base mtl rank2classes tasty tasty-hunit template-haskell
-         transformers unliftio-core
+         base doctest mtl rank2classes sop-core tasty tasty-hunit
+         template-haskell transformers unliftio-core
        ];
        description = "Reader-like monad transformer for dependency injection";
        license = lib.licenses.bsd3;
      }) {};
 
   "dep-t-advice" = callPackage
-    ({ mkDerivation, base, dep-t, doctest, mtl, rank2classes, sop-core
-     , tasty, tasty-hunit, template-haskell, transformers
+    ({ mkDerivation, barbies, base, criterion, dep-t, doctest, mtl
+     , rank2classes, sop-core, tasty, tasty-hunit, template-haskell
+     , transformers
      }:
      mkDerivation {
        pname = "dep-t-advice";
-       version = "0.3.0.0";
-       sha256 = "00nqf37x877s5arkwv55cki068gpgq64yns4qhp039az2mfr4g9q";
-       libraryHaskellDepends = [ base dep-t sop-core ];
+       version = "0.4.6.0";
+       sha256 = "1v1nn0qbr3l7hh3f5aw6ril8ifzg6r8im7gpyj5plfbp272v4gs9";
+       libraryHaskellDepends = [ base dep-t sop-core transformers ];
        testHaskellDepends = [
-         base dep-t doctest mtl rank2classes sop-core tasty tasty-hunit
-         template-haskell transformers
+         barbies base dep-t doctest mtl rank2classes sop-core tasty
+         tasty-hunit template-haskell transformers
+       ];
+       benchmarkHaskellDepends = [
+         base criterion dep-t mtl rank2classes sop-core template-haskell
+         transformers
        ];
        description = "Giving good advice to functions in a DepT environment";
        license = lib.licenses.bsd3;
@@ -72797,8 +72923,8 @@ self: {
     ({ mkDerivation, aeson, base, bytestring }:
      mkDerivation {
        pname = "deriving-aeson";
-       version = "0.2.6";
-       sha256 = "0x9sv8r0ziy14zk6lcgzgxbmx9mrlngc0r1bqg6gkgxhswmjc2jq";
+       version = "0.2.6.1";
+       sha256 = "014f3jsaiwqkz2l0jap8shwq3rdn1hq14ahmq0hm3l4c98vznjra";
        libraryHaskellDepends = [ aeson base ];
        testHaskellDepends = [ aeson base bytestring ];
        description = "Type driven generic aeson instance customisation";
@@ -72868,8 +72994,8 @@ self: {
     ({ mkDerivation, base, HUnit }:
      mkDerivation {
        pname = "derulo";
-       version = "1.0.9";
-       sha256 = "1rpxbg0g44813b0mlkifiav2w04wy56n1zlnqk5jcibdbmi6yagi";
+       version = "1.0.10";
+       sha256 = "0mdmrzypl0hjbnwn9ij1bjfk4j07r0c9gw7h3wdhl82a8zcxggpc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ];
@@ -73336,6 +73462,63 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "dhall_1_37_1" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, atomic-write
+     , base, bytestring, case-insensitive, cborg, cborg-json, containers
+     , contravariant, cryptonite, data-fix, deepseq, Diff, directory
+     , doctest, dotgen, either, exceptions, filepath, foldl, gauge
+     , generic-random, half, hashable, haskeline, http-client
+     , http-client-tls, http-types, lens-family-core, megaparsec, memory
+     , mmorph, mockery, mtl, network-uri, optparse-applicative
+     , parser-combinators, parsers, pretty-simple, prettyprinter
+     , prettyprinter-ansi-terminal, profunctors, QuickCheck
+     , quickcheck-instances, repline, scientific, serialise
+     , special-values, spoon, tasty, tasty-expected-failure, tasty-hunit
+     , tasty-quickcheck, tasty-silver, template-haskell, text
+     , text-manipulate, th-lift-instances, transformers
+     , transformers-compat, turtle, unordered-containers, uri-encode
+     , vector
+     }:
+     mkDerivation {
+       pname = "dhall";
+       version = "1.37.1";
+       sha256 = "16qpasw41wcgbi9ljrs43dn2ajw25yipm8kxri6v5fwj3gyzj24d";
+       revision = "1";
+       editedCabalFile = "11sjra0k7sdy0xcbhlxvjjpd4h7ki9dcrndcpaq71qlgdql32w24";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty ansi-terminal atomic-write base bytestring
+         case-insensitive cborg cborg-json containers contravariant
+         cryptonite data-fix deepseq Diff directory dotgen either exceptions
+         filepath half hashable haskeline http-client http-client-tls
+         http-types lens-family-core megaparsec memory mmorph mtl
+         network-uri optparse-applicative parser-combinators parsers
+         pretty-simple prettyprinter prettyprinter-ansi-terminal profunctors
+         repline scientific serialise template-haskell text text-manipulate
+         th-lift-instances transformers transformers-compat
+         unordered-containers uri-encode vector
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base bytestring cborg containers data-fix deepseq directory doctest
+         either filepath foldl generic-random http-client http-client-tls
+         lens-family-core megaparsec mockery prettyprinter QuickCheck
+         quickcheck-instances scientific serialise special-values spoon
+         tasty tasty-expected-failure tasty-hunit tasty-quickcheck
+         tasty-silver template-haskell text transformers turtle
+         unordered-containers vector
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring containers directory gauge text
+       ];
+       doCheck = false;
+       description = "A configuration language guaranteed to terminate";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "dhall" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, atomic-write
      , base, bytestring, case-insensitive, cborg, cborg-json, containers
@@ -73357,8 +73540,8 @@ self: {
        pname = "dhall";
        version = "1.38.0";
        sha256 = "0ifxi9i7ply640s2cgljjczvmblgz0ryp2p9yxgng3qm5ai58229";
-       revision = "1";
-       editedCabalFile = "067hh41cnmjskf3y3kzlwsisw6v5bh9mbmhg5jfapm1y5xp6gw9r";
+       revision = "2";
+       editedCabalFile = "13ppbn4kcrfls9fm9sqjwa4hb4nj8q6fqfxj3a62vck7qc1rbvn0";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -73400,6 +73583,8 @@ self: {
        pname = "dhall-bash";
        version = "1.0.36";
        sha256 = "0hg45xjl1pcla9xbds40qrxcx2h6b4ysw8kbx8hpnaqaazr2jrw0";
+       revision = "1";
+       editedCabalFile = "1jc74gydr3yx01xp1a69a3g9mbfqyzsmv1053xm51bcxxv6p6z9d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -73443,6 +73628,8 @@ self: {
        pname = "dhall-docs";
        version = "1.0.4";
        sha256 = "0x6x5b9kh0in35jsgj2dghyxsqjdjrw7s9kngyjcn7v2ycklcifl";
+       revision = "3";
+       editedCabalFile = "116m74khdfx57ghrid1myqyj8acrhzhnjzjmxnsn3yghdan29797";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -73508,6 +73695,8 @@ self: {
        pname = "dhall-json";
        version = "1.7.5";
        sha256 = "1fpkp8xkcw2abcigypyl0ji6910jyshlqwhf48yfwn6dsgbyw6iy";
+       revision = "2";
+       editedCabalFile = "0181ma0qzkcfg4g5fcyivmjfn542m9cmq74r6hxilfjvfzhk7fqw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -73557,6 +73746,8 @@ self: {
        pname = "dhall-lsp-server";
        version = "1.0.13";
        sha256 = "0cj51xdmpp0w7ndzbz4yn882agvhbnsss3myqlhfi4y91lb8f1ak";
+       revision = "4";
+       editedCabalFile = "04m040956j49qr8hzlj2jj101pjj6n0f5g5hhf5m73y1bww43ahf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -73582,6 +73773,8 @@ self: {
        pname = "dhall-nix";
        version = "1.1.20";
        sha256 = "14d9icvgmrphnbjjwlskh88p7vgphgb0xqd91p217bf2xhl9k2xd";
+       revision = "1";
+       editedCabalFile = "16hz1i0vkp1qsqf9dm0d9pc1kap02nzdalzjpiw2r8p3qbykaann";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -73697,6 +73890,8 @@ self: {
        pname = "dhall-yaml";
        version = "1.2.5";
        sha256 = "0fax4p85344yrzk1l21j042mm02p0idp396vkq71x3dpiniq0mwf";
+       revision = "1";
+       editedCabalFile = "034rykrnmsnc9v9hsblkzjp26b8wv265sd31gwhqxy2358y4s33h";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -74391,8 +74586,8 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-solve";
-       version = "0.1.2";
-       sha256 = "1qzycw3aj4107dqpgir3ak7pnja3a6i4ax15gd2q2fjzmp4p3z24";
+       version = "0.1.3";
+       sha256 = "09qqwcvbvd3a0j5fnp40dbzw0i3py9c7kgizj2aawajwbyjvpd17";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
          base deepseq tasty tasty-hunit tasty-quickcheck
@@ -74797,8 +74992,8 @@ self: {
      }:
      mkDerivation {
        pname = "differential";
-       version = "0.2.0.0";
-       sha256 = "1dzxqva176dw22bb4hlv8dfizkzqsj5z9qdv7piwdh171nd9bwqd";
+       version = "0.2.0.1";
+       sha256 = "0xmsrc92jxd78b3vri3sf37w1w7c8nl7wc36gsqamd00laia95xv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -75589,6 +75784,8 @@ self: {
        pname = "directory";
        version = "1.3.6.1";
        sha256 = "00cr2sshzjmn57rpvjj8wvgr60x2mk8c7w1nd40wxqs8s9xaa1bi";
+       revision = "1";
+       editedCabalFile = "1rf2w9gx0vy74mgsf5q1y82bhm5ngb9mi0i2v2h6ss9gscyvgb7j";
        libraryHaskellDepends = [ base filepath time unix ];
        testHaskellDepends = [ base filepath time unix ];
        description = "Platform-agnostic library for filesystem operations";
@@ -75828,8 +76025,8 @@ self: {
      }:
      mkDerivation {
        pname = "discord-haskell";
-       version = "1.8.1";
-       sha256 = "07rhg7r4v05q1y6rin4b5v49231r2w35jfwnrbg7b7s1skdld9g3";
+       version = "1.8.3";
+       sha256 = "0adpb7wzij9n5f2xxqy9j8n3rx0bjg7z1lk0p212zkygabw297mi";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -77130,8 +77327,8 @@ self: {
        pname = "dlist-nonempty";
        version = "0.1.1";
        sha256 = "0csbspdy43pzvasb5mhs5pz2f49ws78pi253cx7pp84wjx6ads20";
-       revision = "9";
-       editedCabalFile = "09qgsqzjnkr5d2lwdz86q3zrikd5hacd62hvvfdqy39kh5wrqn4y";
+       revision = "10";
+       editedCabalFile = "0k9h3d93ivjykdpblkdcxyv1aybbjq6m5laqjh7bdv6nrdr5va2c";
        libraryHaskellDepends = [
          base base-compat deepseq dlist semigroupoids
        ];
@@ -77846,7 +78043,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "doctest_0_17" = callPackage
+  "doctest_0_18" = callPackage
     ({ mkDerivation, base, base-compat, code-page, deepseq, directory
      , filepath, ghc, ghc-paths, hspec, hspec-core, HUnit, mockery
      , process, QuickCheck, setenv, silently, stringbuilder, syb
@@ -77854,8 +78051,8 @@ self: {
      }:
      mkDerivation {
        pname = "doctest";
-       version = "0.17";
-       sha256 = "0f0knggq6yjcznyri35fll619q5jr8vcsbiyvdiz4prkawhaa4pz";
+       version = "0.18";
+       sha256 = "1yqrmjg3rn1vy0p6a6j78gnnl8lx4hzi0rwhpl5ljb4q6kzyc3x4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -78329,6 +78526,59 @@ self: {
        broken = true;
      }) {};
 
+  "dormouse-client" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring
+     , case-insensitive, containers, dormouse-uri, hedgehog, hspec
+     , hspec-discover, hspec-hedgehog, http-api-data, http-client
+     , http-client-tls, http-types, mtl, safe-exceptions, scientific
+     , streamly, streamly-bytestring, template-haskell, text, vector
+     }:
+     mkDerivation {
+       pname = "dormouse-client";
+       version = "0.1.0.1";
+       sha256 = "033299c0rc6hsg51pg7igb5fnf8w200ckazmyjk23d1h48mz7gcg";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring case-insensitive containers
+         dormouse-uri http-api-data http-client http-client-tls http-types
+         mtl safe-exceptions streamly streamly-bytestring template-haskell
+         text
+       ];
+       testHaskellDepends = [
+         aeson attoparsec base bytestring case-insensitive containers
+         dormouse-uri hedgehog hspec hspec-discover hspec-hedgehog
+         http-api-data http-client http-client-tls http-types mtl
+         safe-exceptions scientific streamly streamly-bytestring
+         template-haskell text vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Simple, type-safe and testable HTTP client";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "dormouse-uri" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, case-insensitive
+     , containers, hedgehog, hspec, hspec-discover, hspec-hedgehog
+     , http-types, safe-exceptions, scientific, template-haskell, text
+     , vector
+     }:
+     mkDerivation {
+       pname = "dormouse-uri";
+       version = "0.1.0.1";
+       sha256 = "04ps9k4dhg9xk7al12y757lxl45dfa0aczirdkyks28cavlpr07b";
+       libraryHaskellDepends = [
+         attoparsec base bytestring case-insensitive containers http-types
+         safe-exceptions template-haskell text
+       ];
+       testHaskellDepends = [
+         attoparsec base bytestring case-insensitive containers hedgehog
+         hspec hspec-discover hspec-hedgehog http-types safe-exceptions
+         scientific template-haskell text vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Library for type-safe representations of Uri/Urls";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "dot" = callPackage
     ({ mkDerivation, base, text }:
      mkDerivation {
@@ -78512,6 +78762,17 @@ self: {
        license = "GPL";
      }) {};
 
+  "doublezip" = callPackage
+    ({ mkDerivation, base, foldable-ix }:
+     mkDerivation {
+       pname = "doublezip";
+       version = "0.1.0.0";
+       sha256 = "0bf9jb688kj5f0cjb2ma6744aj2hkslkpc96frljm73h6pyqvwz6";
+       libraryHaskellDepends = [ base foldable-ix ];
+       description = "Some special functions to work with lists (with zip)";
+       license = lib.licenses.mit;
+     }) {};
+
   "doublify-toolkit" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -78876,22 +79137,24 @@ self: {
 
   "dprox" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, containers, dns
-     , hspec, iproute, network, optparse-applicative, streaming-commons
-     , unix, unordered-containers
+     , hashable, hspec, iproute, network, optparse-applicative, psqueues
+     , streaming-commons, time, unix, unordered-containers
      }:
      mkDerivation {
        pname = "dprox";
-       version = "0.1.2.1";
-       sha256 = "16z7qx76qy2gjz2j630maa2jgiqhphi8vpphbdywgk1abg7iwhrz";
+       version = "0.2.0";
+       sha256 = "0hylymdpvnh353rg9gh8d9m9ag8hfxjh2ndrdxvhapbpddbbz3qm";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         attoparsec base bytestring containers dns iproute network
-         optparse-applicative streaming-commons unix unordered-containers
+         attoparsec base bytestring containers dns hashable iproute network
+         optparse-applicative psqueues streaming-commons time unix
+         unordered-containers
        ];
        testHaskellDepends = [
-         attoparsec base bytestring containers dns hspec iproute network
-         optparse-applicative streaming-commons unix unordered-containers
+         attoparsec base bytestring containers dns hashable hspec iproute
+         network optparse-applicative psqueues streaming-commons time unix
+         unordered-containers
        ];
        description = "a lightweight DNS proxy server";
        license = lib.licenses.bsd3;
@@ -78932,6 +79195,20 @@ self: {
        broken = true;
      }) {};
 
+  "drama" = callPackage
+    ({ mkDerivation, base, ki, transformers, unagi-chan }:
+     mkDerivation {
+       pname = "drama";
+       version = "0.3.0.0";
+       sha256 = "17smzrvpaah2lcc2467dd61lns53q4n0bf0pl9glsv04j9kv2nl9";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base ki transformers unagi-chan ];
+       executableHaskellDepends = [ base ];
+       description = "Actor library for Haskell";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "draw-poker" = callPackage
     ({ mkDerivation, base, random-shuffle, safe }:
      mkDerivation {
@@ -79371,8 +79648,8 @@ self: {
      }:
      mkDerivation {
        pname = "dtab";
-       version = "1.1.1.1";
-       sha256 = "1pxhvnm5vvgfxwm42s3w3i5nk0lx75xgsr1c487hkswip48fiyd6";
+       version = "1.2";
+       sha256 = "1mkk1jdw04294hljz3jxiz8403jq7srx6nalyjn1kj09yvws3d05";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -79693,6 +79970,7 @@ self: {
        testHaskellDepends = [ base tasty tasty-hunit transformers ];
        description = "Generalised reactive framework supporting classic, arrowized and monadic FRP";
        license = lib.licenses.bsd3;
+       maintainers = with lib.maintainers; [ turion ];
      }) {};
 
   "dunai-core" = callPackage
@@ -80787,10 +81065,8 @@ self: {
     ({ mkDerivation, base, process }:
      mkDerivation {
        pname = "echo";
-       version = "0.1.3";
-       sha256 = "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh";
-       revision = "1";
-       editedCabalFile = "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l";
+       version = "0.1.4";
+       sha256 = "0hqfdd4kvpp59cjjv790bkf72yqr9xjfqlbjcrdsc9a8j3r1pzn9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base process ];
@@ -81642,8 +81918,8 @@ self: {
     ({ mkDerivation, base, containers, doctest }:
      mkDerivation {
        pname = "either-list-functions";
-       version = "0.0.4.2";
-       sha256 = "1cagf93vaz41hl5vm1xqvzdds82h2cck294apr5b082nscv6r9bc";
+       version = "0.0.4.4";
+       sha256 = "1kh10iykk6gqzl78smrwv1zl8dcy0ns2raisx5qchcvrdgshzdiy";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [ base doctest ];
        description = "Functions involving lists of Either";
@@ -81660,10 +81936,12 @@ self: {
        pname = "either-result";
        version = "0.3.1.0";
        sha256 = "1l4539j0ynn5jl0rh9bhjxlgvr0sn3bf8ws1zrlbfk15524znqhm";
+       revision = "1";
+       editedCabalFile = "1bmcvhjw53nhkzm99dzjq1mvj8s7b27ji2h8av5zy2wsniknrzbm";
        libraryHaskellDepends = [ base mtl transformers ];
        testHaskellDepends = [ base doctest hspec transformers ];
        testToolDepends = [ doctest-discover hspec-discover ];
-       description = "‘MonadFail’ instance for a wrapper of ‘ExceptT String m a’";
+       description = "The simplest ‘MonadFail’ instance";
        license = lib.licenses.asl20;
      }) {};
 
@@ -82653,8 +82931,8 @@ self: {
      }:
      mkDerivation {
        pname = "elynx";
-       version = "0.5.0.1";
-       sha256 = "1rglf080hx4c8nai07ghh2wf6j79x9hfx2mjzbqc588y0rpj7kmj";
+       version = "0.5.0.2";
+       sha256 = "1hky4amw78ciblr6alcxp79dshsc5wqswp16hbqdry132xps9dw3";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -82669,21 +82947,20 @@ self: {
   "elynx-markov" = callPackage
     ({ mkDerivation, async, attoparsec, base, bytestring, containers
      , elynx-seq, elynx-tools, hmatrix, hspec, integration
-     , math-functions, mwc-random, parallel, primitive, statistics
-     , vector
+     , math-functions, mwc-random, primitive, statistics, vector
      }:
      mkDerivation {
        pname = "elynx-markov";
-       version = "0.5.0.1";
-       sha256 = "0m24kzayvhc2mhhk2glpw82kmdbgk38vl2d0xdkkdnnbqag8mbqa";
+       version = "0.5.0.2";
+       sha256 = "0wlcq3q26lgwixhsq1afz9i3phr2sncwc0r6m4adminh9m1zdr5z";
        libraryHaskellDepends = [
          async attoparsec base bytestring containers elynx-seq hmatrix
-         integration math-functions mwc-random parallel primitive statistics
-         vector
+         integration math-functions mwc-random primitive statistics vector
        ];
        testHaskellDepends = [
          base containers elynx-tools hmatrix hspec mwc-random vector
        ];
+       benchmarkHaskellDepends = [ base ];
        description = "Simulate molecular sequences along trees";
        license = lib.licenses.gpl3Plus;
      }) {};
@@ -82692,8 +82969,8 @@ self: {
     ({ mkDerivation, attoparsec, base, bytestring, hspec }:
      mkDerivation {
        pname = "elynx-nexus";
-       version = "0.5.0.1";
-       sha256 = "0jh5j4f8awallrjbgrgdjl6jdzk2lswr28xjryqdapwf4licfkk2";
+       version = "0.5.0.2";
+       sha256 = "1y7ndj216w58s85bfgp4vg7zi1asj6br68k000hy4a8cchjprlp9";
        libraryHaskellDepends = [ attoparsec base bytestring ];
        testHaskellDepends = [ base hspec ];
        description = "Import and export Nexus files";
@@ -82707,8 +82984,8 @@ self: {
      }:
      mkDerivation {
        pname = "elynx-seq";
-       version = "0.5.0.1";
-       sha256 = "0b5jih0jgcf0rbcbwj18l269wbgf31i9125gx3rz6w7ydapmr7wr";
+       version = "0.5.0.2";
+       sha256 = "11nl8gw05gvd6j7dflqzi21kixmm0jalpqv9x9f6bb7qwdv1xak2";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring containers matrices mwc-random
          parallel primitive vector vector-th-unbox word8
@@ -82729,8 +83006,8 @@ self: {
      }:
      mkDerivation {
        pname = "elynx-tools";
-       version = "0.5.0.1";
-       sha256 = "0lq5jv9dwyi0plkx1n270dan8nfxac9q7rhcdq95mzhgar8daink";
+       version = "0.5.0.2";
+       sha256 = "1q62f0b0fk6g2a4w5bbbpldv0awk7cn2q544xcxplanpr3fmaj8v";
        libraryHaskellDepends = [
          aeson attoparsec base base16-bytestring bytestring
          cryptohash-sha256 deepseq directory fast-logger hmatrix
@@ -82750,8 +83027,8 @@ self: {
      }:
      mkDerivation {
        pname = "elynx-tree";
-       version = "0.5.0.1";
-       sha256 = "1pzam7qg7qihim50iyxw2fsy58xakzjvzskaa4vhzg9cghmjjva8";
+       version = "0.5.0.2";
+       sha256 = "1ywqbc80hq4dprzrrq9gyi7h2624i2mgpd43pv045dldh7dqhygn";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring comonad containers deepseq
          double-conversion elynx-nexus math-functions mwc-random parallel
@@ -84548,19 +84825,17 @@ self: {
      }) {};
 
   "ersatz" = callPackage
-    ({ mkDerivation, array, attoparsec, base, bytestring, Cabal
-     , cabal-doctest, containers, data-default, directory, doctest, fail
-     , filepath, lens, mtl, parsec, process, semigroups, temporary
-     , transformers, unordered-containers
+    ({ mkDerivation, array, attoparsec, base, bytestring, containers
+     , data-default, fail, lens, mtl, parsec, process, semigroups
+     , temporary, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "ersatz";
-       version = "0.4.8";
-       sha256 = "1gddf8zhavxri80f3nnd29ff6k7n03ggcah4qglknci7h94z7v8c";
+       version = "0.4.9";
+       sha256 = "1pnqz7zvkfw70pjhhs5lm965iydrj8cgbj685fh50fpm0wapnmfd";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          array attoparsec base bytestring containers data-default lens mtl
          process semigroups temporary transformers unordered-containers
@@ -84568,7 +84843,7 @@ self: {
        executableHaskellDepends = [
          array base containers fail lens mtl parsec semigroups
        ];
-       testHaskellDepends = [ array base directory doctest filepath ];
+       testHaskellDepends = [ array base ];
        description = "A monad for expressing SAT or QSAT problems using observable sharing";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -84786,8 +85061,8 @@ self: {
      }:
      mkDerivation {
        pname = "esqueleto";
-       version = "3.4.0.1";
-       sha256 = "1vq8yfrixgqps8g6wvfgr9n42zmwj1jybiq3sbrgfj318n6dm5mc";
+       version = "3.4.1.0";
+       sha256 = "1nm2xdl6an140gl5cw6ij7s6i6v2xfp98m8dwbwzns75nrgmsb73";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-html bytestring conduit containers
          monad-logger persistent resourcet tagged text time transformers
@@ -84838,6 +85113,7 @@ self: {
        ];
        description = "General purpose live coding framework";
        license = lib.licenses.bsd3;
+       maintainers = with lib.maintainers; [ turion ];
      }) {};
 
   "essence-of-live-coding-gloss" = callPackage
@@ -84853,6 +85129,7 @@ self: {
        ];
        description = "General purpose live coding framework - Gloss backend";
        license = lib.licenses.bsd3;
+       maintainers = with lib.maintainers; [ turion ];
      }) {};
 
   "essence-of-live-coding-gloss-example" = callPackage
@@ -84886,6 +85163,7 @@ self: {
        ];
        description = "General purpose live coding framework - pulse backend";
        license = lib.licenses.bsd3;
+       maintainers = with lib.maintainers; [ turion ];
      }) {};
 
   "essence-of-live-coding-pulse-example" = callPackage
@@ -84920,6 +85198,7 @@ self: {
        ];
        description = "General purpose live coding framework - QuickCheck integration";
        license = lib.licenses.bsd3;
+       maintainers = with lib.maintainers; [ turion ];
      }) {};
 
   "essence-of-live-coding-warp" = callPackage
@@ -85407,17 +85686,23 @@ self: {
 
   "evdev" = callPackage
     ({ mkDerivation, base, bytestring, c2hs, containers, extra
-     , libevdev, monad-loops, time, unix
+     , filepath-bytestring, libevdev, monad-loops, rawfilepath, tasty
+     , tasty-hunit, tasty-quickcheck, time, unix
      }:
      mkDerivation {
        pname = "evdev";
-       version = "2.0.0.1";
-       sha256 = "0ryq50g7z70rnv07pnvwssl0qrvhbljkq9yk1z8gj9kvqdsw9cmg";
+       version = "2.1.0";
+       sha256 = "1gzf9hpsi2dmcgsifq5z91ing9b5k56mm2hx9wbsa180pmq30lj3";
        libraryHaskellDepends = [
-         base bytestring containers extra monad-loops time unix
+         base bytestring containers extra filepath-bytestring monad-loops
+         rawfilepath time unix
        ];
        libraryPkgconfigDepends = [ libevdev ];
        libraryToolDepends = [ c2hs ];
+       testHaskellDepends = [
+         base bytestring containers extra filepath-bytestring monad-loops
+         rawfilepath tasty tasty-hunit tasty-quickcheck time unix
+       ];
        description = "Bindings to libevdev";
        license = lib.licenses.bsd3;
      }) {inherit (pkgs) libevdev;};
@@ -85430,6 +85715,8 @@ self: {
        pname = "evdev-streamly";
        version = "0.0.1.0";
        sha256 = "1bzmxkg5y7w6v5l6q5vzhr19j5vwbx4p4qxdq72f7f714ihn8nyp";
+       revision = "1";
+       editedCabalFile = "02xnb49zwr39ziq2xrwnnddzxr1ppwig441i3074g1w0ng5cf2gj";
        libraryHaskellDepends = [
          base bytestring containers evdev extra posix-paths rawfilepath
          streamly streamly-fsnotify unix
@@ -86397,8 +86684,8 @@ self: {
      }:
      mkDerivation {
        pname = "exh";
-       version = "1.0.0";
-       sha256 = "0s5br96spx4v67mvl09w4kpcwvps65zp6qx5qpvrq63a0ncclp7l";
+       version = "1.0.2";
+       sha256 = "10pvr8ya2f7arp8cqi4g97dpqin1h8n0xmnihqszchcils0v2ayn";
        libraryHaskellDepends = [
          aeson base bytestring conduit containers html-conduit http-client
          in-other-words language-javascript megaparsec optics-core optics-th
@@ -87300,8 +87587,8 @@ self: {
      }:
      mkDerivation {
        pname = "extensible";
-       version = "0.8.1";
-       sha256 = "189svxwh54zzczrrirlnfyqmv2f12h8qxw9rqq47mn55ch40xnw3";
+       version = "0.8.2";
+       sha256 = "133yid7snb48n4rn15p6nsk2h1shbiw647d5fvapn3lnsb4ymqgv";
        libraryHaskellDepends = [
          aeson base bytestring cassava comonad constraints deepseq ghc-prim
          hashable incremental membership monad-skeleton prettyprinter
@@ -88048,8 +88335,8 @@ self: {
      }:
      mkDerivation {
        pname = "faktory";
-       version = "1.0.1.4";
-       sha256 = "151jlcrp80f8riyf8rxzvggyxq3k2mg2fi81r7wnc4in6gzsc0qj";
+       version = "1.0.1.6";
+       sha256 = "1yqld2b6lbxl9sw9yp3dy184189nhfs7q4shnyrzc0m000hxgwkj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -88261,8 +88548,8 @@ self: {
      }:
      mkDerivation {
        pname = "fast-logger";
-       version = "3.0.2";
-       sha256 = "0ilbjz09vw35jzfvkiqjy6zjbci2l60wcyjzfysrbxzk24qxmb5z";
+       version = "3.0.3";
+       sha256 = "0s7hsbii1km7dqkxa27v2fw553wqx6x00204s6iapv2k20ra0qsp";
        libraryHaskellDepends = [
          array auto-update base bytestring directory easy-file filepath text
          unix-compat unix-time
@@ -88271,6 +88558,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A fast logging system";
        license = lib.licenses.bsd3;
+       maintainers = with lib.maintainers; [ sternenseemann ];
      }) {};
 
   "fast-math" = callPackage
@@ -88317,6 +88605,8 @@ self: {
        pname = "fast-tags";
        version = "2.0.0";
        sha256 = "0q2ijh1pdxzm57557vln195mmxs15wra9159vpsjvjda4gnd7bs6";
+       revision = "1";
+       editedCabalFile = "18q3hzl178a3hzxmvb79y1g9r29b6dxfq9nczwk2g3pqmi9qnbmr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -88818,6 +89108,38 @@ self: {
        broken = true;
      }) {};
 
+  "fbrnch" = callPackage
+    ({ mkDerivation, aeson, async, base, bugzilla-redhat, bytestring
+     , config-ini, directory, email-validate, extra, filepath, haxr
+     , http-conduit, http-directory, http-query, lens, lens-aeson, mtl
+     , network-uri, optparse-applicative, pretty-terminal, process
+     , rpmbuild-order, simple-cmd, simple-cmd-args, text, time
+     , typed-process, unordered-containers, utf8-string, xdg-basedir
+     }:
+     mkDerivation {
+       pname = "fbrnch";
+       version = "0.7.1";
+       sha256 = "05gs3r9c67xvpkpg968aj0ym39qakazbycjlb8wnys5ijc0iwa7w";
+       isLibrary = false;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring directory filepath haxr http-query lens
+         lens-aeson mtl text time unordered-containers
+       ];
+       executableHaskellDepends = [
+         aeson async base bugzilla-redhat bytestring config-ini directory
+         email-validate extra filepath http-conduit http-directory
+         http-query network-uri optparse-applicative pretty-terminal process
+         rpmbuild-order simple-cmd simple-cmd-args text time typed-process
+         utf8-string xdg-basedir
+       ];
+       doHaddock = false;
+       description = "Build and create Fedora package repos and branches";
+       license = lib.licenses.gpl2;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "fca" = callPackage
     ({ mkDerivation, base, bytestring, containers, cryptohash, hashable
      , text, unordered-containers
@@ -88879,8 +89201,8 @@ self: {
     ({ mkDerivation, base, doctest, first-class-families, Glob }:
      mkDerivation {
        pname = "fcf-containers";
-       version = "0.5.0";
-       sha256 = "0j4ij4iw5axjp56zhxb3kn6ls1l8m2ckqx6620y1yjhz3ja608f2";
+       version = "0.6.0";
+       sha256 = "09sr1xqdjzfk5gysd7hi66xadwcfrjq4q3vakmdilc14lw833wgp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base first-class-families ];
@@ -90789,8 +91111,8 @@ self: {
      }:
      mkDerivation {
        pname = "finitary";
-       version = "2.0.0.0";
-       sha256 = "19b0sm9lb5k459bhq51srx5rcdgk9rjhfha34a3kcsmlqam9fak7";
+       version = "2.1.1.0";
+       sha256 = "1ip1l809d7wnhiyz522g34kzsvv2r9hz1l065jqlrwf1pnhgsv0c";
        libraryHaskellDepends = [
          base bitvec finite-typelits ghc-typelits-knownnat
          ghc-typelits-natnormalise primitive template-haskell
@@ -90809,20 +91131,21 @@ self: {
     ({ mkDerivation, base, binary, bitvec, coercible-utils, deepseq
      , finitary, finite-typelits, ghc-typelits-extra
      , ghc-typelits-knownnat, hashable, hedgehog, hedgehog-classes
-     , transformers, vector, vector-binary-instances, vector-instances
+     , integer-gmp, primitive, vector, vector-binary-instances
+     , vector-instances
      }:
      mkDerivation {
        pname = "finitary-derive";
-       version = "2.2.0.0";
-       sha256 = "11nkryzbhkbz4v2i4kwaggw67nlhs5jljqczmvliyz1df75f5kh3";
+       version = "3.0.0.1";
+       sha256 = "1l8xh7azssfgwvr78jaklj6dagmjpbx5ad4j6kzx104khj0skpqy";
        libraryHaskellDepends = [
          base binary bitvec coercible-utils deepseq finitary finite-typelits
-         ghc-typelits-extra ghc-typelits-knownnat hashable transformers
-         vector vector-binary-instances vector-instances
+         ghc-typelits-extra ghc-typelits-knownnat hashable integer-gmp
+         primitive vector vector-binary-instances vector-instances
        ];
        testHaskellDepends = [
          base binary deepseq finitary finite-typelits hashable hedgehog
-         hedgehog-classes
+         hedgehog-classes vector
        ];
        description = "Flexible and easy deriving of type classes for finitary types";
        license = lib.licenses.gpl3Plus;
@@ -90838,6 +91161,8 @@ self: {
        pname = "finitary-optics";
        version = "1.0.0.0";
        sha256 = "0is930yhcd1iqgbxn42ldzbh408inpsprw9psvnx61j6qm6p4cd7";
+       revision = "2";
+       editedCabalFile = "17qm24b8v61h9m0vjxcx6c89qm93c5lc5y3nb79b7xzfzx3y4zv4";
        libraryHaskellDepends = [
          base finitary finite-typelits optics-core
        ];
@@ -90893,6 +91218,7 @@ self: {
        libraryHaskellDepends = [ base deepseq ];
        description = "A type inhabited by finitely many values, indexed by type-level naturals";
        license = lib.licenses.bsd3;
+       maintainers = with lib.maintainers; [ turion ];
      }) {};
 
   "finito" = callPackage
@@ -92249,8 +92575,8 @@ self: {
     ({ mkDerivation, base, HUnit }:
      mkDerivation {
        pname = "flow";
-       version = "1.0.21";
-       sha256 = "1zig5jwqflcs6akhxqkn9h7iwq7ypaz4cx7zwbqfy7sap6sdq2il";
+       version = "1.0.22";
+       sha256 = "1xsifahlma8x130d8hc1k5hzcf1kr8qg8xxh67lshbvarrg19air";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base HUnit ];
        description = "Write more understandable Haskell";
@@ -92774,6 +93100,17 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "fmr" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fmr";
+       version = "0.1";
+       sha256 = "1hwi4f027pv1sy6pmanc0488xdy398iv50yapivyk2l9kipfnq3q";
+       libraryHaskellDepends = [ base ];
+       description = "Fake monadic records library";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "fmt" = callPackage
     ({ mkDerivation, base, base64-bytestring, bytestring, call-stack
      , containers, criterion, deepseq, doctest, doctest-discover
@@ -92950,8 +93287,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "foldable-ix";
-       version = "0.1.0.0";
-       sha256 = "1lvf1n8mnv3imlry4nqdv8c2c930yic0raqs2awnbmyyy1c6fc79";
+       version = "0.2.0.0";
+       sha256 = "1xbdwnvbg4phkqrcb9izabff85dhdj004nnbgk53f50if9sv4463";
        libraryHaskellDepends = [ base ];
        description = "Functions to find out the indices of the elements in the Foldable structures";
        license = lib.licenses.mit;
@@ -92991,6 +93328,28 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "foldl_1_4_11" = callPackage
+    ({ mkDerivation, base, bytestring, comonad, containers
+     , contravariant, criterion, doctest, hashable, mwc-random
+     , primitive, profunctors, semigroupoids, text, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "foldl";
+       version = "1.4.11";
+       sha256 = "05i87pqldk1xfpx66nh1lhn75x3g7s8kvhf9k9yll33a6ggawwxl";
+       libraryHaskellDepends = [
+         base bytestring comonad containers contravariant hashable
+         mwc-random primitive profunctors semigroupoids text transformers
+         unordered-containers vector
+       ];
+       testHaskellDepends = [ base doctest ];
+       benchmarkHaskellDepends = [ base criterion ];
+       description = "Composable, streaming, and efficient left folds";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "foldl-exceptions" = callPackage
     ({ mkDerivation, base, doctest, foldl, safe-exceptions }:
      mkDerivation {
@@ -93106,26 +93465,21 @@ self: {
      }) {};
 
   "folds" = callPackage
-    ({ mkDerivation, adjunctions, base, bifunctors, bytestring, Cabal
-     , cabal-doctest, comonad, constraints, contravariant, data-reify
-     , deepseq, directory, distributive, doctest, filepath, lens, mtl
-     , pointed, profunctors, reflection, semigroupoids, semigroups
-     , transformers, unordered-containers, vector
+    ({ mkDerivation, adjunctions, base, bifunctors, comonad
+     , constraints, contravariant, data-reify, distributive, lens, mtl
+     , pointed, profunctors, reflection, semigroupoids, transformers
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "folds";
-       version = "0.7.5";
-       sha256 = "17a8xggx17m59hiwd2lxd2379sw4xblgyv1pk9g5h93w3m8wgq1r";
+       version = "0.7.6";
+       sha256 = "06sy3arl37k7qz6zm2rscpvzl9za165214f5bgjppj7zdv0qkc3v";
        configureFlags = [ "-f-test-hlint" ];
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          adjunctions base bifunctors comonad constraints contravariant
          data-reify distributive lens mtl pointed profunctors reflection
          semigroupoids transformers unordered-containers vector
        ];
-       testHaskellDepends = [
-         base bytestring deepseq directory doctest filepath mtl semigroups
-       ];
        description = "Beautiful Folding";
        license = lib.licenses.bsd3;
      }) {};
@@ -93787,8 +94141,8 @@ self: {
      }:
      mkDerivation {
        pname = "forsyde-shallow";
-       version = "3.4.0.0";
-       sha256 = "0czrgfx22j94xp56mf4cwrz2rdw2id77va89xpjxxrhdzwzfsvcn";
+       version = "3.4.0.1";
+       sha256 = "0im5xf8dcalsjk85fyvih042apv3wl54k3jlmdjg7fnm3mgxj1yj";
        libraryHaskellDepends = [ base directory old-time process random ];
        testHaskellDepends = [
          base directory doctest hspec old-time process QuickCheck random
@@ -93982,36 +94336,10 @@ self: {
      }:
      mkDerivation {
        pname = "fourmolu";
-       version = "0.2.0.0";
-       sha256 = "1jak0xgd6gcbw7icyrblvqnvzjyyakpw2zfnqj1z958qyg763v52";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson base bytestring containers directory dlist exceptions
-         filepath ghc-lib-parser HsYAML HsYAML-aeson mtl syb text
-       ];
-       executableHaskellDepends = [
-         base directory ghc-lib-parser gitrev optparse-applicative text
-       ];
-       testHaskellDepends = [
-         base containers filepath hspec path path-io text
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "A formatter for Haskell source code";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "fourmolu_0_3_0_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, directory
-     , dlist, exceptions, filepath, ghc-lib-parser, gitrev, hspec
-     , hspec-discover, HsYAML, HsYAML-aeson, mtl, optparse-applicative
-     , path, path-io, syb, text
-     }:
-     mkDerivation {
-       pname = "fourmolu";
        version = "0.3.0.0";
        sha256 = "0v89dvcr8l0swj23kkakc39q6lyxjz90rqgwy7m6a5p6iv3h2wms";
+       revision = "1";
+       editedCabalFile = "1n3avdmjqkd2910lhb5spxvjgzb7icln82pcrz3cmkfmjwxnirsc";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -94028,7 +94356,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A formatter for Haskell source code";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fp-ieee" = callPackage
@@ -95614,8 +95941,8 @@ self: {
      }:
      mkDerivation {
        pname = "fswatcher";
-       version = "0.2.2";
-       sha256 = "0rdvh9310qbnp6vh3janr60nla33kyfy23yfzbzsca8ridr7ab7w";
+       version = "0.3.0";
+       sha256 = "0bn3pnk7jra4p20hm4ydvnqibfh3h9kc5lswvs8s02wlzf5z5a9f";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -96116,10 +96443,8 @@ self: {
      }:
      mkDerivation {
        pname = "functor-classes-compat";
-       version = "1";
-       sha256 = "0vrnl5crr7d2wsm4ryx26g98j23dpk7x5p31xrbnckd78i7zj4gg";
-       revision = "6";
-       editedCabalFile = "0r0h3hp182w9ndhr5lrvhzl1vyj2f3vvh32fpdnbxb8xkkhx55sa";
+       version = "1.0.1";
+       sha256 = "0p6kwj1yimis0rg2gihwkgxkjj1psxy38hxa94gz5pd638314hi3";
        libraryHaskellDepends = [
          base containers hashable unordered-containers vector
        ];
@@ -97890,33 +98215,33 @@ self: {
      }) {};
 
   "gemini-router" = callPackage
-    ({ mkDerivation, base, gemini-server, network-uri, transformers }:
+    ({ mkDerivation, base, gemini-server, HsOpenSSL, network-uri
+     , transformers
+     }:
      mkDerivation {
        pname = "gemini-router";
-       version = "0.1.0.0";
-       sha256 = "1k1fa4vi93ijj8yf1sfjgmy5kibs0z77z994pvzs1bm8sx73h8kr";
-       revision = "1";
-       editedCabalFile = "1pb52h8md6g422y5rj7nyy1mkgxccggfal27i42c3qsn8x9frrpz";
+       version = "0.1.1.0";
+       sha256 = "19aq9ri0ixkg0d5g4ickda75dvpq340lwkdxn0ndcbkis9xrvkv9";
        libraryHaskellDepends = [
-         base gemini-server network-uri transformers
+         base gemini-server HsOpenSSL network-uri transformers
        ];
        description = "A simple Happstack-style Gemini router";
        license = lib.licenses.bsd3;
      }) {};
 
   "gemini-server" = callPackage
-    ({ mkDerivation, base, bytestring, hslogger, network, network-run
-     , network-uri, text, utf8-string
+    ({ mkDerivation, base, bytestring, hslogger, HsOpenSSL, network
+     , network-run, network-uri, text, utf8-string
      }:
      mkDerivation {
        pname = "gemini-server";
-       version = "0.1.0.0";
-       sha256 = "0m98dc66469gbnsra8sp0clrlbyzn817vnd7aini576g5gv4sxr5";
+       version = "0.2.0.0";
+       sha256 = "06sqy3c04s3cjx6p9rzfi23cq34bjs1wbigczcc66i6ahf4x1hz2";
        revision = "1";
-       editedCabalFile = "091wv6ar78dhhz1y6rknslxc2wh020b50n38928abl0a939gwvh9";
+       editedCabalFile = "0zw9svhk5wmi56vqmw7630nqhp816xph9ldgc8l3jzspziz350fx";
        libraryHaskellDepends = [
-         base bytestring hslogger network network-run network-uri text
-         utf8-string
+         base bytestring hslogger HsOpenSSL network network-run network-uri
+         text utf8-string
        ];
        description = "A lightweight server for the Gemini protocol";
        license = lib.licenses.bsd3;
@@ -98355,6 +98680,21 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "generic-labels" = callPackage
+    ({ mkDerivation, base, Cabal, generic-lens-core, inspection-testing
+     }:
+     mkDerivation {
+       pname = "generic-labels";
+       version = "0.1.0.1";
+       sha256 = "0wv4wsg53zrj01d6ddz6vpdjy427ag76snm1m14775vqq4n00v3z";
+       revision = "1";
+       editedCabalFile = "0kdxjh0sa16l1gcgdw9mnpd1zs0w1al47mvy912bzmm2m1dmbjdk";
+       libraryHaskellDepends = [ base generic-lens-core ];
+       testHaskellDepends = [ base Cabal inspection-testing ];
+       description = "Generically extract and replace collections of record fields";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "generic-lens" = callPackage
     ({ mkDerivation, base, doctest, generic-lens-core, HUnit
      , inspection-testing, lens, profunctors, text
@@ -98761,10 +99101,8 @@ self: {
      }:
      mkDerivation {
        pname = "generics-sop";
-       version = "0.5.1.0";
-       sha256 = "0g0z0k5bnw3whfj3qswzhadrhg85jfn491s30cgai0ijfjm5gipa";
-       revision = "1";
-       editedCabalFile = "1m61bb6k96ybsrc3hpxn0fdspq9mbkyfklx7vfnd55mava4ahzp2";
+       version = "0.5.1.1";
+       sha256 = "1n65wjdbb9fswa43ys5k6c746c905877lw5ij33y66iabj5w7dw1";
        libraryHaskellDepends = [
          base ghc-prim sop-core template-haskell th-abstraction
        ];
@@ -98782,6 +99120,8 @@ self: {
        pname = "generics-sop-lens";
        version = "0.2.0.1";
        sha256 = "1yl74pz6r2zf9sspzbqg6xvr6k9b5irq3c3pjrf5ih6hfrz4k1ks";
+       revision = "1";
+       editedCabalFile = "1y9v2imcrm8wyagv2d91x7zvdf358iz7460gqakhg9bgifjaylh1";
        libraryHaskellDepends = [ base generics-sop lens ];
        description = "Lenses for types in generics-sop";
        license = lib.licenses.bsd3;
@@ -99635,8 +99975,8 @@ self: {
      }:
      mkDerivation {
        pname = "geoip2";
-       version = "0.4.0.1";
-       sha256 = "0q0clfmq7spfplxr6dxhq0d39f5l95yfr87ixnv2cn0ahcx7fpi7";
+       version = "0.4.1.0";
+       sha256 = "06sbiyqy63ymqafdw14yz6aww412v3g6vsqq0v99vph3yzhn8xxp";
        libraryHaskellDepends = [
          base bytestring cereal containers iproute lens mmap
          reinterpret-cast text
@@ -99955,6 +100295,8 @@ self: {
        pname = "ghc-byteorder";
        version = "4.11.0.0.10";
        sha256 = "1dhzd7ygwm7b3hsrlm48iq4p634laby4hf7c8i7xp0c1g64hmrc6";
+       revision = "1";
+       editedCabalFile = "1qwx6569079a8viq2plkpc1wlqdz8syys6hvx68m051a7zvdwzyl";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        doHaddock = false;
@@ -100243,8 +100585,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-exactprint";
-       version = "0.6.3.3";
-       sha256 = "1psrr6iaa7k5f3zz7j82crg052n3x1h2dljyb16qzbv98bqny6nb";
+       version = "0.6.4";
+       sha256 = "0a6baza962d4pz2m02hxmh8234i47zkizmwhsy68namr05dmlgpw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -100398,8 +100740,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-lib";
-       version = "8.10.3.20201220";
-       sha256 = "04df1j997m48vjxkfcp07d9vsxgpqi315zvfri1y1qxdg5g4vlmb";
+       version = "8.10.4.20210206";
+       sha256 = "1zzglnpbnj9ijna6g3rmykqir3iqcg2afmjg9q0ng3imbv40slhs";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
@@ -100410,6 +100752,27 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "ghc-lib_9_0_1_20210207" = callPackage
+    ({ mkDerivation, alex, array, base, binary, bytestring, containers
+     , deepseq, directory, exceptions, filepath, ghc-lib-parser
+     , ghc-prim, happy, hpc, pretty, process, time, transformers, unix
+     }:
+     mkDerivation {
+       pname = "ghc-lib";
+       version = "9.0.1.20210207";
+       sha256 = "1fi62pq18s63w4y6xrjq9zlcra8dk5xqjax8kyyvfrjaaxqci8qk";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         array base binary bytestring containers deepseq directory
+         exceptions filepath ghc-lib-parser ghc-prim hpc pretty process time
+         transformers unix
+       ];
+       libraryToolDepends = [ alex happy ];
+       description = "The GHC API, decoupled from GHC versions";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ghc-lib-parser" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, filepath, ghc-prim, happy, hpc, pretty
@@ -100417,8 +100780,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-lib-parser";
-       version = "8.10.3.20201220";
-       sha256 = "0k68w2v5x68sxqcd7xm94khmr4gqxbj4jdsaac3m1wcy66bjriir";
+       version = "8.10.4.20210206";
+       sha256 = "07j3j67hxz43l1kkdfanghd935wiccvmw7sgk47fjymw6fdx92p2";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
@@ -100429,6 +100792,27 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "ghc-lib-parser_9_0_1_20210207" = callPackage
+    ({ mkDerivation, alex, array, base, binary, bytestring, containers
+     , deepseq, directory, exceptions, filepath, ghc-prim, happy, hpc
+     , pretty, process, time, transformers, unix
+     }:
+     mkDerivation {
+       pname = "ghc-lib-parser";
+       version = "9.0.1.20210207";
+       sha256 = "1gikdcgcgw1paxs5igxgxdfvpjp23963f6vn83m0a6vr88n2haah";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         array base binary bytestring containers deepseq directory
+         exceptions filepath ghc-prim hpc pretty process time transformers
+         unix
+       ];
+       libraryToolDepends = [ alex happy ];
+       description = "The GHC API, decoupled from GHC versions";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ghc-lib-parser-ex" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, extra
      , filepath, ghc, ghc-boot, ghc-boot-th, tasty, tasty-hunit
@@ -100436,8 +100820,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-lib-parser-ex";
-       version = "8.10.0.17";
-       sha256 = "16qbyvczncdb25g7mjdvxsn7m3j98649jy1pnv90vmyrn8l4m897";
+       version = "8.10.0.19";
+       sha256 = "0qdkqv7ss9b2mnf39gpbq7i50ypccnl3wdmxiq148zrxbglzfqw9";
        libraryHaskellDepends = [
          base bytestring containers ghc ghc-boot ghc-boot-th uniplate
        ];
@@ -100449,6 +100833,26 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "ghc-lib-parser-ex_9_0_0_3" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, extra
+     , filepath, ghc-lib-parser, tasty, tasty-hunit, uniplate
+     }:
+     mkDerivation {
+       pname = "ghc-lib-parser-ex";
+       version = "9.0.0.3";
+       sha256 = "1kc6p5ciymq8rbgk4jj1hawmjhkj1yjzkxj9jjyqlgzs09i3dsw3";
+       libraryHaskellDepends = [
+         base bytestring containers ghc-lib-parser uniplate
+       ];
+       testHaskellDepends = [
+         base directory extra filepath ghc-lib-parser tasty tasty-hunit
+         uniplate
+       ];
+       description = "Algorithms on GHC parse trees";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ghc-make" = callPackage
     ({ mkDerivation, base, process, shake, unordered-containers }:
      mkDerivation {
@@ -100610,8 +101014,8 @@ self: {
        pname = "ghc-paths";
        version = "0.1.0.12";
        sha256 = "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf";
-       revision = "1";
-       editedCabalFile = "1gb4hn87a78j1c2y1adi81y03irzkaxywscjkphfajsxc7f0ydw5";
+       revision = "2";
+       editedCabalFile = "07f81larq1ddxq2m2vyq05sdhfmz0whf2c3i5cdq57pkhijxppxg";
        setupHaskellDepends = [ base Cabal directory ];
        libraryHaskellDepends = [ base ];
        description = "Knowledge of GHC's installation directories";
@@ -100688,8 +101092,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-prof";
-       version = "1.4.1.7";
-       sha256 = "0js799sf957xlki8f7jgwj803iygi35j4bp4p4hh8gzj4icvcqfz";
+       version = "1.4.1.8";
+       sha256 = "02k6il0a6cdr5dvf5x6gpjyn9vzn43kahqdsq5lzjvw5c6l0462p";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -101003,6 +101407,19 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "ghc-trace-events_0_1_2_2" = callPackage
+    ({ mkDerivation, base, bytestring, tasty-bench, text }:
+     mkDerivation {
+       pname = "ghc-trace-events";
+       version = "0.1.2.2";
+       sha256 = "18vhv99lrfjx6bxww77qxg7gwqmvpylvlrq1bji0hd6mcxxdjn69";
+       libraryHaskellDepends = [ base bytestring text ];
+       benchmarkHaskellDepends = [ base bytestring tasty-bench ];
+       description = "Faster traceEvent and traceMarker, and binary object logging for eventlog";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ghc-typelits-extra" = callPackage
     ({ mkDerivation, base, containers, ghc, ghc-prim
      , ghc-tcplugins-extra, ghc-typelits-knownnat
@@ -101033,8 +101450,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-typelits-knownnat";
-       version = "0.7.4";
-       sha256 = "1i3kwq8i3p4i2jmmq8irycs0z3g69qy4i5smh14kbcz3pl35x71l";
+       version = "0.7.5";
+       sha256 = "1xraiil3nq02jdb4blkmsrdp36qhykv2xvwg3kaiyw5bgfl15gl3";
        libraryHaskellDepends = [
          base ghc ghc-prim ghc-tcplugins-extra ghc-typelits-natnormalise
          template-haskell transformers
@@ -101052,8 +101469,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-typelits-natnormalise";
-       version = "0.7.3";
-       sha256 = "14lynjsmiml19wma9fk2bbhfz43wzbbyvrxp8xpch2lkh5zkfkny";
+       version = "0.7.4";
+       sha256 = "0d8wwb1i6jj11cylf2n42r08hfygv9gwy89xyxp4kdclyw9mfwrp";
        libraryHaskellDepends = [
          base containers ghc ghc-tcplugins-extra integer-gmp transformers
        ];
@@ -101104,15 +101521,16 @@ self: {
      }) {};
 
   "ghc-vis" = callPackage
-    ({ mkDerivation, base, cairo, containers, deepseq, fgl
-     , ghc-heap-view, graphviz, gtk3, mtl, svgcairo, text, transformers
-     , xdot
+    ({ mkDerivation, base, Cabal, cairo, containers, deepseq, fgl
+     , filepath, ghc-heap-view, graphviz, gtk3, mtl, svgcairo, text
+     , transformers, xdot
      }:
      mkDerivation {
        pname = "ghc-vis";
-       version = "0.9";
-       sha256 = "134m5hzpbggifvigw2f4q6ci1lm5r2457va8lb0j7daiadq7xhcw";
+       version = "0.9.2";
+       sha256 = "1i7sx0ffbgfskhj27wnh9f8qldf4fqxmshlmqvajsrg9n5v5i772";
        enableSeparateDataOutput = true;
+       setupHaskellDepends = [ base Cabal filepath ];
        libraryHaskellDepends = [
          base cairo containers deepseq fgl ghc-heap-view graphviz gtk3 mtl
          svgcairo text transformers xdot
@@ -101154,24 +101572,25 @@ self: {
 
   "ghci-dap" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, deepseq
-     , directory, filepath, ghc, ghc-boot, ghc-paths, ghc-prim, ghci
-     , haskeline, haskell-dap, process, text, time, transformers, unix
+     , directory, exceptions, filepath, ghc, ghc-boot, ghc-paths
+     , ghc-prim, ghci, haskeline, haskell-dap, process, text, time
+     , transformers, unix
      }:
      mkDerivation {
        pname = "ghci-dap";
-       version = "0.0.14.0";
-       sha256 = "0gnawjk1bzrcinazygwal4kfnqq780v7q4lm0xrvjb50cvixkjpf";
+       version = "0.0.15.0";
+       sha256 = "1m4ypd2d9bjdkdqrnqijc1na5g14mmjrcr5msgr7spsnskhzi4yg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         array base bytestring containers deepseq directory filepath ghc
-         ghc-boot ghc-paths ghc-prim ghci haskeline haskell-dap process text
-         time transformers
+         array base bytestring containers deepseq directory exceptions
+         filepath ghc ghc-boot ghc-paths ghc-prim ghci haskeline haskell-dap
+         process text time transformers
        ];
        executableHaskellDepends = [
-         array base bytestring containers deepseq directory filepath ghc
-         ghc-boot ghc-paths ghc-prim ghci haskeline haskell-dap process text
-         time transformers unix
+         array base bytestring containers deepseq directory exceptions
+         filepath ghc ghc-boot ghc-paths ghc-prim ghci haskeline haskell-dap
+         process text time transformers unix
        ];
        description = "ghci-dap is a GHCi having DAP interface";
        license = lib.licenses.bsd3;
@@ -101329,38 +101748,41 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "ghcide_0_7_0_0" = callPackage
+  "ghcide" = callPackage
     ({ mkDerivation, aeson, array, async, base, base16-bytestring
      , binary, bytestring, case-insensitive, containers, cryptohash-sha1
-     , data-default, deepseq, directory, extra, filepath, fingertree
-     , fuzzy, ghc, ghc-boot, ghc-boot-th, ghc-check, ghc-paths
-     , ghc-typelits-knownnat, gitrev, Glob, haddock-library, hashable
-     , haskell-lsp, haskell-lsp-types, heapsize, hie-bios, hie-compat
-     , hls-plugin-api, hslogger, implicit-hie-cradle, lens, lsp-test
-     , mtl, network-uri, opentelemetry, optparse-applicative, parallel
-     , prettyprinter, prettyprinter-ansi-terminal, process, QuickCheck
+     , data-default, deepseq, directory, dlist, extra, filepath
+     , fingertree, fuzzy, ghc, ghc-boot, ghc-boot-th, ghc-check
+     , ghc-exactprint, ghc-paths, ghc-typelits-knownnat, gitrev, Glob
+     , haddock-library, hashable, haskell-lsp, haskell-lsp-types
+     , heapsize, hie-bios, hie-compat, hls-plugin-api, hp2pretty
+     , hslogger, implicit-hie-cradle, lens, lsp-test, mtl, network-uri
+     , opentelemetry, optparse-applicative, parallel, prettyprinter
+     , prettyprinter-ansi-terminal, process, QuickCheck
      , quickcheck-instances, record-dot-preprocessor, record-hasfield
-     , regex-tdfa, rope-utf16-splay, safe, safe-exceptions, shake
-     , shake-bench, sorted-list, stm, syb, tasty, tasty-expected-failure
-     , tasty-hunit, tasty-quickcheck, tasty-rerun, text, time
-     , transformers, unix, unordered-containers, utf8-string, yaml
+     , regex-tdfa, retrie, rope-utf16-splay, safe, safe-exceptions
+     , shake, shake-bench, sorted-list, stm, syb, tasty
+     , tasty-expected-failure, tasty-hunit, tasty-quickcheck
+     , tasty-rerun, text, time, transformers, unix, unordered-containers
+     , utf8-string, vector, yaml
      }:
      mkDerivation {
        pname = "ghcide";
-       version = "0.7.0.0";
-       sha256 = "165dbwbcpl2r7jqsjk859c42yas8h877mx37d0jnx8vm47fdy484";
+       version = "0.7.3.0";
+       sha256 = "0iak2bwkp0x66cl9axcxq00vmf4yn6y0h8ih4wq6mnavmplbyi3b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson array async base base16-bytestring binary bytestring
          case-insensitive containers cryptohash-sha1 data-default deepseq
-         directory extra filepath fingertree fuzzy ghc ghc-boot ghc-boot-th
-         ghc-check ghc-paths Glob haddock-library hashable haskell-lsp
-         haskell-lsp-types heapsize hie-bios hie-compat hls-plugin-api
-         hslogger implicit-hie-cradle lens mtl network-uri opentelemetry
-         parallel prettyprinter prettyprinter-ansi-terminal regex-tdfa
-         rope-utf16-splay safe safe-exceptions shake sorted-list stm syb
-         text time transformers unix unordered-containers utf8-string
+         directory dlist extra filepath fingertree fuzzy ghc ghc-boot
+         ghc-boot-th ghc-check ghc-exactprint ghc-paths Glob haddock-library
+         hashable haskell-lsp haskell-lsp-types heapsize hie-bios hie-compat
+         hls-plugin-api hslogger implicit-hie-cradle lens mtl network-uri
+         opentelemetry parallel prettyprinter prettyprinter-ansi-terminal
+         regex-tdfa retrie rope-utf16-splay safe safe-exceptions shake
+         sorted-list stm syb text time transformers unix
+         unordered-containers utf8-string vector
        ];
        executableHaskellDepends = [
          aeson base bytestring containers data-default directory extra
@@ -101381,72 +101803,75 @@ self: {
        benchmarkHaskellDepends = [
          aeson base directory filepath shake shake-bench text yaml
        ];
+       benchmarkToolDepends = [ hp2pretty ];
        description = "The core of an IDE";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
-       maintainers = with lib.maintainers; [ maralorn ];
        broken = true;
      }) {shake-bench = null;};
 
-  "ghcide" = callPackage
+  "ghcide_0_7_5_0" = callPackage
     ({ mkDerivation, aeson, array, async, base, base16-bytestring
-     , binary, bytestring, case-insensitive, containers, cryptohash-sha1
-     , data-default, deepseq, directory, dlist, extra, filepath
+     , binary, bytestring, bytestring-encoding, case-insensitive
+     , containers, cryptohash-sha1, data-default, deepseq, dependent-map
+     , dependent-sum, Diff, directory, dlist, extra, filepath
      , fingertree, fuzzy, ghc, ghc-boot, ghc-boot-th, ghc-check
      , ghc-exactprint, ghc-paths, ghc-typelits-knownnat, gitrev, Glob
-     , haddock-library, hashable, haskell-lsp, haskell-lsp-types
-     , heapsize, hie-bios, hie-compat, hls-plugin-api, hslogger
-     , implicit-hie-cradle, lens, lsp-test, mtl, network-uri
-     , opentelemetry, optparse-applicative, parallel, prettyprinter
-     , prettyprinter-ansi-terminal, process, QuickCheck
+     , haddock-library, hashable, heapsize, hie-bios, hie-compat, hiedb
+     , hls-plugin-api, hp2pretty, hslogger, implicit-hie
+     , implicit-hie-cradle, lens, lsp, lsp-test, lsp-types, mtl
+     , network-uri, opentelemetry, optparse-applicative, parallel
+     , prettyprinter, prettyprinter-ansi-terminal, process, QuickCheck
      , quickcheck-instances, record-dot-preprocessor, record-hasfield
      , regex-tdfa, retrie, rope-utf16-splay, safe, safe-exceptions
-     , shake, shake-bench, sorted-list, stm, syb, tasty
+     , shake, shake-bench, sorted-list, sqlite-simple, stm, syb, tasty
      , tasty-expected-failure, tasty-hunit, tasty-quickcheck
-     , tasty-rerun, text, time, transformers, unix, unordered-containers
-     , utf8-string, vector, yaml
+     , tasty-rerun, text, time, transformers, unix, unliftio
+     , unliftio-core, unordered-containers, utf8-string, vector, yaml
      }:
      mkDerivation {
        pname = "ghcide";
-       version = "0.7.2.0";
-       sha256 = "1d35vfwg906djfr2klrql7crgcyabfad12akalx25jc6c7pacv1d";
+       version = "0.7.5.0";
+       sha256 = "157h7jliwf25yjip9hfc5lghifqgqz3ckj894fnmx7pw4jfwyc2s";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson array async base base16-bytestring binary bytestring
-         case-insensitive containers cryptohash-sha1 data-default deepseq
-         directory dlist extra filepath fingertree fuzzy ghc ghc-boot
-         ghc-boot-th ghc-check ghc-exactprint ghc-paths Glob haddock-library
-         hashable haskell-lsp haskell-lsp-types heapsize hie-bios hie-compat
-         hls-plugin-api hslogger implicit-hie-cradle lens mtl network-uri
+         bytestring-encoding case-insensitive containers cryptohash-sha1
+         data-default deepseq dependent-map dependent-sum Diff directory
+         dlist extra filepath fingertree fuzzy ghc ghc-boot ghc-boot-th
+         ghc-check ghc-exactprint ghc-paths Glob haddock-library hashable
+         heapsize hie-bios hie-compat hiedb hls-plugin-api hslogger
+         implicit-hie-cradle lens lsp lsp-types mtl network-uri
          opentelemetry parallel prettyprinter prettyprinter-ansi-terminal
          regex-tdfa retrie rope-utf16-splay safe safe-exceptions shake
-         sorted-list stm syb text time transformers unix
-         unordered-containers utf8-string vector
+         sorted-list sqlite-simple stm syb text time transformers unix
+         unliftio unliftio-core unordered-containers utf8-string vector
        ];
        executableHaskellDepends = [
          aeson base bytestring containers data-default directory extra
-         filepath gitrev hashable haskell-lsp haskell-lsp-types heapsize
-         hie-bios hls-plugin-api lens lsp-test optparse-applicative process
+         filepath ghc gitrev hashable heapsize hie-bios hiedb hls-plugin-api
+         lens lsp lsp-test lsp-types optparse-applicative process
          safe-exceptions shake text unordered-containers
        ];
        testHaskellDepends = [
          aeson base binary bytestring containers data-default directory
          extra filepath ghc ghc-typelits-knownnat haddock-library
-         haskell-lsp haskell-lsp-types hls-plugin-api lens lsp-test
-         network-uri optparse-applicative process QuickCheck
-         quickcheck-instances record-dot-preprocessor record-hasfield
-         rope-utf16-splay safe safe-exceptions shake tasty
-         tasty-expected-failure tasty-hunit tasty-quickcheck tasty-rerun
-         text
+         hls-plugin-api lens lsp lsp-test lsp-types network-uri
+         optparse-applicative process QuickCheck quickcheck-instances
+         record-dot-preprocessor record-hasfield rope-utf16-splay safe
+         safe-exceptions shake tasty tasty-expected-failure tasty-hunit
+         tasty-quickcheck tasty-rerun text
        ];
+       testToolDepends = [ implicit-hie ];
        benchmarkHaskellDepends = [
-         aeson base directory filepath shake shake-bench text yaml
+         aeson base directory extra filepath optparse-applicative shake
+         shake-bench text yaml
        ];
+       benchmarkToolDepends = [ hp2pretty implicit-hie ];
        description = "The core of an IDE";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
-       maintainers = with lib.maintainers; [ maralorn ];
        broken = true;
      }) {shake-bench = null;};
 
@@ -101735,17 +102160,17 @@ self: {
 
   "ghcprofview" = callPackage
     ({ mkDerivation, aeson, base, containers, ghc-prof, gi-gtk
-     , haskell-gi-base, regex-tdfa, regex-tdfa-text, scientific, text
+     , haskell-gi-base, mtl, regex-tdfa, scientific, text
      }:
      mkDerivation {
        pname = "ghcprofview";
-       version = "0.1.0.0";
-       sha256 = "103186dik439sdzz1w6dr98s1sfghjxdkp51mh18wrcwdbdb9r3a";
+       version = "0.1.0.1";
+       sha256 = "0lk5ky0vrymzhdzfrdvq25kpphg69f1m6524jhr57dnss5syz1iv";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         aeson base containers ghc-prof gi-gtk haskell-gi-base regex-tdfa
-         regex-tdfa-text scientific text
+         aeson base containers ghc-prof gi-gtk haskell-gi-base mtl
+         regex-tdfa scientific text
        ];
        description = "GHC .prof files viewer";
        license = lib.licenses.bsd3;
@@ -101984,7 +102409,7 @@ self: {
        description = "Gdk bindings";
        license = lib.licenses.lgpl21;
        hydraPlatforms = lib.platforms.none;
-     }) {gtk4 = null;};
+     }) {inherit (pkgs) gtk4;};
 
   "gi-gdkpixbuf" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gdk-pixbuf
@@ -102194,7 +102619,7 @@ self: {
        license = lib.licenses.lgpl21;
        hydraPlatforms = lib.platforms.none;
        broken = true;
-     }) {gtk4 = null;};
+     }) {inherit (pkgs) gtk4;};
 
   "gi-gst" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
@@ -102376,7 +102801,7 @@ self: {
        description = "Gtk bindings";
        license = lib.licenses.lgpl21;
        hydraPlatforms = lib.platforms.none;
-     }) {gtk4 = null;};
+     }) {inherit (pkgs) gtk4;};
 
   "gi-gtk-declarative" = callPackage
     ({ mkDerivation, async, base, containers, data-default-class
@@ -102386,8 +102811,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gtk-declarative";
-       version = "0.6.3";
-       sha256 = "1cxh1r7ylj6d13nyjxdkvgp7h6fqzbi4zndl95lykki129jhfwkk";
+       version = "0.7.0";
+       sha256 = "0j6yk2qr88yrxs8vdwcqv6jzisjl0x1j932ssim8ay98z4r6y8gg";
        libraryHaskellDepends = [
          base containers data-default-class gi-glib gi-gobject gi-gtk
          haskell-gi haskell-gi-base haskell-gi-overloading mtl text
@@ -102407,17 +102832,20 @@ self: {
   "gi-gtk-declarative-app-simple" = callPackage
     ({ mkDerivation, async, base, gi-gdk, gi-glib, gi-gobject, gi-gtk
      , gi-gtk-declarative, haskell-gi, haskell-gi-base
-     , haskell-gi-overloading, pipes, pipes-concurrency, text
+     , haskell-gi-overloading, hspec, pipes, pipes-concurrency, text
      }:
      mkDerivation {
        pname = "gi-gtk-declarative-app-simple";
-       version = "0.6.3";
-       sha256 = "1dyz6sfj352lacs3bk4lxbv9dmlpqp27kzl9vz8bq4321d5nfav9";
+       version = "0.7.0";
+       sha256 = "0ygp70yfj530czfw6an3yp9y883q4lwky45rxdslyf1ifk8dn6rf";
        libraryHaskellDepends = [
          async base gi-gdk gi-glib gi-gobject gi-gtk gi-gtk-declarative
          haskell-gi haskell-gi-base haskell-gi-overloading pipes
          pipes-concurrency text
        ];
+       testHaskellDepends = [
+         async base gi-gtk gi-gtk-declarative hspec pipes
+       ];
        description = "Declarative GTK+ programming in Haskell in the style of Pux";
        license = lib.licenses.mpl20;
        hydraPlatforms = lib.platforms.none;
@@ -103168,8 +103596,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "8.20210127";
-       sha256 = "1hsmaw70lfza1g5j6b9zbwqkkr374m18p7qb4nl952pj42a46vv3";
+       version = "8.20210223";
+       sha256 = "07wxf44pdh9d1pxqympgyfbkk8vk0pqbgxma0mkadlkdr6c9z832";
        configureFlags = [
          "-fassistant" "-f-benchmark" "-fdbus" "-f-debuglocks" "-fmagicmime"
          "-fnetworkbsd" "-fpairing" "-fproduction" "-fs3" "-ftorrentparser"
@@ -103800,8 +104228,8 @@ self: {
      }:
      mkDerivation {
        pname = "github-release";
-       version = "1.3.5";
-       sha256 = "0z2sb9avhkq2mgj0pwlji5c2sjxd71628q1i3nhlbajfyms1bsqz";
+       version = "1.3.6";
+       sha256 = "07cxai2h6alyka0bsfch7vfjsvp3s9d48jw4n6z74kmxq3zdrgxh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -104028,6 +104456,7 @@ self: {
        ];
        description = "Wiki using happstack, git or darcs, and pandoc";
        license = "GPL";
+       maintainers = with lib.maintainers; [ sternenseemann ];
      }) {};
 
   "gitlab-api" = callPackage
@@ -105112,8 +105541,8 @@ self: {
      }:
      mkDerivation {
        pname = "gltf-codec";
-       version = "0.1.0.2";
-       sha256 = "07zf9lzin22clixmvgvam6h995jfq2wzqz4498qv60jlcj88zzmh";
+       version = "0.1.0.3";
+       sha256 = "0kgkzskn2k9zgihrb1v9xy5yfjlggmpj15g1bdgx7faipksaa3fb";
        libraryHaskellDepends = [
          aeson base base64-bytestring binary bytestring scientific text
          unordered-containers vector
@@ -107932,8 +108361,8 @@ self: {
      }:
      mkDerivation {
        pname = "goldplate";
-       version = "0.1.2";
-       sha256 = "1qbh23sqx0jvwrmhb88683z3rx31jy99xh8h24iqv1ykmjvmqwvf";
+       version = "0.1.3";
+       sha256 = "109qhyq0n4w1jdz7y2hd8cjf44pikavv6mfnmf65vyfjangjq610";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -108298,6 +108727,7 @@ self: {
        ];
        description = "proxy gopher over http";
        license = lib.licenses.gpl3;
+       maintainers = with lib.maintainers; [ sternenseemann ];
      }) {};
 
   "gopherbot" = callPackage
@@ -109471,8 +109901,8 @@ self: {
      }:
      mkDerivation {
        pname = "graphql";
-       version = "0.11.0.0";
-       sha256 = "1jg0cdyq0z1r752cx9mnbxj2rxd5s723zfvpk3mwcsvx5ygkhm0p";
+       version = "0.11.1.0";
+       sha256 = "093gk2w2qrvarcv7xn0d0saa1j35cy0isw5vz04h08gy37s2nspc";
        libraryHaskellDepends = [
          aeson base conduit containers exceptions hspec-expectations
          megaparsec parser-combinators scientific text transformers
@@ -109640,8 +110070,8 @@ self: {
      }:
      mkDerivation {
        pname = "graphula";
-       version = "2.0.0.2";
-       sha256 = "1fqrjfr9pl9619fhrkl3khpb2lg3svzp644hvzn0bpcnxqj5p41z";
+       version = "2.0.0.3";
+       sha256 = "1hmay1g8j1b8pq98blq1sizc61h7lj782sajlwrllgvxc826rjm2";
        libraryHaskellDepends = [
          base containers directory generics-eot HUnit mtl persistent
          QuickCheck random semigroups temporary text transformers unliftio
@@ -109970,8 +110400,8 @@ self: {
      }:
      mkDerivation {
        pname = "greskell";
-       version = "1.2.0.0";
-       sha256 = "0rljpnq690jxqlkbp7ksx5i91r2hrmqvppp5s6sgp373sw9kzkwb";
+       version = "1.2.0.1";
+       sha256 = "13hshwnhl0wdnnkqamgdgw2awsh1pynwfg35c34m5fcphbmxwmms";
        libraryHaskellDepends = [
          aeson base exceptions greskell-core hashable semigroups text
          transformers unordered-containers vector
@@ -109986,13 +110416,13 @@ self: {
 
   "greskell-core" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, doctest
-     , doctest-discover, hashable, hspec, QuickCheck, scientific
-     , semigroups, text, unordered-containers, uuid, vector
+     , doctest-discover, hashable, hspec, hspec-discover, QuickCheck
+     , scientific, semigroups, text, unordered-containers, uuid, vector
      }:
      mkDerivation {
        pname = "greskell-core";
-       version = "0.1.3.5";
-       sha256 = "08jpgnsnmh9zbm1pw768ik28vhl3m4jz75l8cbxb3whfgwk5vyy4";
+       version = "0.1.3.6";
+       sha256 = "1mfdi9sr0ic15bck6dv1k70cd0lnvimap9lqyhim2piz0f8jr53k";
        libraryHaskellDepends = [
          aeson base containers hashable scientific semigroups text
          unordered-containers uuid vector
@@ -110001,6 +110431,7 @@ self: {
          aeson base bytestring doctest doctest-discover hspec QuickCheck
          text unordered-containers vector
        ];
+       testToolDepends = [ doctest doctest-discover hspec-discover ];
        description = "Haskell binding for Gremlin graph query language - core data types and tools";
        license = lib.licenses.bsd3;
      }) {};
@@ -110510,8 +110941,8 @@ self: {
     ({ mkDerivation, base, generic-data, groups }:
      mkDerivation {
        pname = "groups-generic";
-       version = "0.1.0.0";
-       sha256 = "1rnil9qashpvrjxmziymf447pnqpqpnga0lxlk7413y4dprn2rad";
+       version = "0.2.0.0";
+       sha256 = "0a13x4dc114qz5r97cpg2bbdch1kn6gfmndf9glqx2nbhx6qg654";
        libraryHaskellDepends = [ base generic-data groups ];
        description = "Generically derive Group instances";
        license = lib.licenses.bsd3;
@@ -113329,19 +113760,20 @@ self: {
 
   "hadolint" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, containers
-     , directory, filepath, gitrev, hspec, HsYAML, HUnit
+     , cryptonite, directory, filepath, gitrev, hspec, HsYAML, HUnit
      , language-docker, megaparsec, mtl, optparse-applicative, parallel
      , ShellCheck, split, text, void
      }:
      mkDerivation {
        pname = "hadolint";
-       version = "1.20.0";
-       sha256 = "1wb2q26najfmmgvj35wvinvip4l1d3k5mazrang4cr3ch8v1nv6w";
+       version = "1.22.1";
+       sha256 = "0138hn6c7lrq9xjsmngdj1h2m2ayxx6wqqgjw66pv7sgxsfy0zji";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson async base bytestring containers directory filepath HsYAML
-         language-docker megaparsec mtl parallel ShellCheck split text void
+         aeson async base bytestring containers cryptonite directory
+         filepath HsYAML language-docker megaparsec mtl parallel ShellCheck
+         split text void
        ];
        executableHaskellDepends = [
          base containers gitrev language-docker megaparsec
@@ -114791,8 +115223,8 @@ self: {
     ({ mkDerivation, base, containers, random }:
      mkDerivation {
        pname = "hanabi-dealer";
-       version = "0.11.0.1";
-       sha256 = "1w4zxjs6253rxkfhhsvcvpfzzslaxyb3m2c6nbh22l6a1li9bcm9";
+       version = "0.11.0.2";
+       sha256 = "1ndg8zmcc5a9z9qcc5z5nwssywxighnqxa4pzc5iy7kw4x9bm3kn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base containers random ];
@@ -115033,8 +115465,8 @@ self: {
      }:
      mkDerivation {
        pname = "hanspell";
-       version = "0.2.2.0";
-       sha256 = "06351wg5y9840nj1ysraa78bixk25vjn64g6fnj3d0zs2qyxd6ca";
+       version = "0.2.3.0";
+       sha256 = "1n692i4d92g25j31v7iyp7w3135hxcdm5p18zki8mmx6x1pg244a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -115309,8 +115741,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-authenticate";
-       version = "2.4.1";
-       sha256 = "1166ccqpjwr331chf7hi4n42m2frahpf93ardfjgv8x6d0p5pfss";
+       version = "2.4.1.1";
+       sha256 = "164pjybk054a3h3ydfakzibngpmp8a4cbzg0sip9slfb739nz25j";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          acid-state aeson authenticate base base64-bytestring boomerang
@@ -116364,8 +116796,8 @@ self: {
      }:
      mkDerivation {
        pname = "hascard";
-       version = "0.5.0.0";
-       sha256 = "1lic3s5z3rq2m3hpf9626k8k3a8vrx267afavzvzcngkfdl3bfap";
+       version = "0.5.0.1";
+       sha256 = "08j3bi6a04pkkf99ghw2h7z1bdisby0d3hyqv559a1pxwpbi7k22";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -116572,6 +117004,27 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "hashable_1_3_1_0" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, ghc-prim, HUnit
+     , integer-gmp, QuickCheck, random, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text, unix
+     }:
+     mkDerivation {
+       pname = "hashable";
+       version = "1.3.1.0";
+       sha256 = "1i57iibad5gjk88yq1svi35mjcbgjmms7jzd28wva8f598x84qc0";
+       libraryHaskellDepends = [
+         base bytestring deepseq ghc-prim integer-gmp text
+       ];
+       testHaskellDepends = [
+         base bytestring ghc-prim HUnit QuickCheck random test-framework
+         test-framework-hunit test-framework-quickcheck2 text unix
+       ];
+       description = "A class for types that can be converted to a hash value";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hashable-accelerate" = callPackage
     ({ mkDerivation, accelerate, base, template-haskell }:
      mkDerivation {
@@ -116641,14 +117094,12 @@ self: {
      }) {};
 
   "hashable-time" = callPackage
-    ({ mkDerivation, base, hashable, time }:
+    ({ mkDerivation, base, hashable, time, time-compat }:
      mkDerivation {
        pname = "hashable-time";
-       version = "0.2.0.2";
-       sha256 = "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs";
-       revision = "3";
-       editedCabalFile = "1dr7ak803ngrhpv43dy25jm18gfzn02gzd3hm31dzcjv3mxsmbrk";
-       libraryHaskellDepends = [ base hashable time ];
+       version = "0.2.1";
+       sha256 = "1zw2gqagpbwq1hgx5rlvy6mhsnb15cxg3pmhawwv0ylfihmx2yxh";
+       libraryHaskellDepends = [ base hashable time time-compat ];
        description = "Hashable instances for Data.Time";
        license = lib.licenses.bsd3;
      }) {};
@@ -117437,15 +117888,12 @@ self: {
      }) {};
 
   "haskell-dap" = callPackage
-    ({ mkDerivation, base, containers, unix }:
+    ({ mkDerivation, base, containers }:
      mkDerivation {
        pname = "haskell-dap";
-       version = "0.0.14.0";
-       sha256 = "1n4w7kvsy7dri07840i6rm6b7fl425f8r3fglbcss42g674k35di";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.0.15.0";
+       sha256 = "1wk6813pwwnph7w1waci9q6r0glsjpayk27kr43zddwd2v0abcld";
        libraryHaskellDepends = [ base containers ];
-       executableHaskellDepends = [ base unix ];
        description = "Haskell implementation of the DAP interface data";
        license = lib.licenses.bsd3;
      }) {};
@@ -117459,8 +117907,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-debug-adapter";
-       version = "0.0.33.0";
-       sha256 = "1v4dzjv1w0jdp5dyq3qrbdw34433b5xg6wk5hg87agzc3mllbkqa";
+       version = "0.0.34.0";
+       sha256 = "00z9yhs2c34rdki404gcwf938a2lshr0a7mrvzpknk70n1a0gall";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -117837,12 +118285,13 @@ self: {
   "haskell-language-server" = callPackage
     ({ mkDerivation, aeson, base, binary, blaze-markup, brittany
      , bytestring, containers, data-default, deepseq, directory, extra
-     , filepath, floskell, fourmolu, ghc, ghc-boot-th, ghc-paths, ghcide
-     , gitrev, hashable, haskell-lsp, hie-bios, hls-class-plugin
-     , hls-eval-plugin, hls-explicit-imports-plugin, hls-hlint-plugin
-     , hls-plugin-api, hls-retrie-plugin, hls-tactics-plugin, hslogger
-     , hspec, hspec-core, hspec-expectations, lens, lsp-test, mtl
-     , optparse-applicative, optparse-simple, ormolu, process
+     , filepath, floskell, fourmolu, fuzzy, ghc, ghc-boot-th, ghc-paths
+     , ghcide, gitrev, hashable, haskell-lsp, hie-bios, hls-class-plugin
+     , hls-eval-plugin, hls-explicit-imports-plugin
+     , hls-haddock-comments-plugin, hls-hlint-plugin, hls-plugin-api
+     , hls-retrie-plugin, hls-splice-plugin, hls-tactics-plugin
+     , hslogger, hspec, hspec-core, hspec-expectations, lens, lsp-test
+     , mtl, optparse-applicative, optparse-simple, ormolu, process
      , regex-tdfa, safe-exceptions, shake, stm, stylish-haskell, tasty
      , tasty-ant-xml, tasty-expected-failure, tasty-golden, tasty-hunit
      , tasty-rerun, temporary, text, transformers, unordered-containers
@@ -117850,8 +118299,10 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-language-server";
-       version = "0.8.0.0";
-       sha256 = "0s02llij5qb1z3na43zg51p5r80jpgwxkdv4mzi6m5xb7pppax42";
+       version = "0.9.0.0";
+       sha256 = "0wzwadmrw57dqp9mszr4nmcnrwa01kav70z0wqkh8g2ag0kv3nfm";
+       revision = "7";
+       editedCabalFile = "11dfc9887aq521ywm0m5gpmihvvkypkr3y1cfk6afg210ij6ka40";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -117861,17 +118312,18 @@ self: {
        ];
        executableHaskellDepends = [
          aeson base binary brittany bytestring containers deepseq directory
-         extra filepath floskell fourmolu ghc ghc-boot-th ghc-paths ghcide
-         gitrev hashable haskell-lsp hie-bios hls-class-plugin
-         hls-eval-plugin hls-explicit-imports-plugin hls-hlint-plugin
-         hls-plugin-api hls-retrie-plugin hls-tactics-plugin hslogger lens
-         mtl optparse-applicative optparse-simple ormolu process regex-tdfa
-         safe-exceptions shake stylish-haskell temporary text transformers
-         unordered-containers with-utf8
+         extra filepath floskell fourmolu fuzzy ghc ghc-boot-th ghc-paths
+         ghcide gitrev hashable haskell-lsp hie-bios hls-class-plugin
+         hls-eval-plugin hls-explicit-imports-plugin
+         hls-haddock-comments-plugin hls-hlint-plugin hls-plugin-api
+         hls-retrie-plugin hls-splice-plugin hls-tactics-plugin hslogger
+         lens mtl optparse-applicative optparse-simple ormolu process
+         regex-tdfa safe-exceptions shake stylish-haskell temporary text
+         transformers unordered-containers with-utf8
        ];
        testHaskellDepends = [
          aeson base blaze-markup bytestring containers data-default
-         directory extra filepath haskell-lsp hie-bios hls-plugin-api
+         directory extra filepath ghcide haskell-lsp hie-bios hls-plugin-api
          hslogger hspec hspec-core hspec-expectations lens lsp-test process
          stm tasty tasty-ant-xml tasty-expected-failure tasty-golden
          tasty-hunit tasty-rerun temporary text transformers
@@ -117880,8 +118332,7 @@ self: {
        testToolDepends = [ ghcide ];
        description = "LSP server for GHC";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+       maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
   "haskell-lexer" = callPackage
@@ -117924,6 +118375,36 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "haskell-lsp_0_23_0_0" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec, base, bytestring
+     , containers, data-default, directory, filepath, hashable
+     , haskell-lsp-types, hslogger, hspec, hspec-discover, lens, mtl
+     , network-uri, QuickCheck, quickcheck-instances, rope-utf16-splay
+     , sorted-list, stm, temporary, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "haskell-lsp";
+       version = "0.23.0.0";
+       sha256 = "07vyfqqvgaxg06yrawiwfffv511jlamhh4p7i0hwx60xdgpg11xh";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson async attoparsec base bytestring containers data-default
+         directory filepath hashable haskell-lsp-types hslogger lens mtl
+         network-uri rope-utf16-splay sorted-list stm temporary text time
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers data-default directory filepath
+         hashable hspec lens network-uri QuickCheck quickcheck-instances
+         rope-utf16-splay sorted-list stm text unordered-containers
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Haskell library for the Microsoft Language Server Protocol";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "haskell-lsp_0_24_0_0" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, base, bytestring
      , containers, data-default, directory, filepath, hashable
@@ -117993,6 +118474,24 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "haskell-lsp-types_0_23_0_0" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, data-default
+     , deepseq, filepath, hashable, lens, network-uri, scientific, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "haskell-lsp-types";
+       version = "0.23.0.0";
+       sha256 = "0dz0980681khfn229aky3bsclj86xkril2y0ln3wr7g9v77ypbq7";
+       libraryHaskellDepends = [
+         aeson base binary bytestring data-default deepseq filepath hashable
+         lens network-uri scientific text unordered-containers
+       ];
+       description = "Haskell library for the Microsoft Language Server Protocol, data types";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "haskell-lsp-types_0_24_0_0" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, data-default
      , deepseq, filepath, hashable, lens, network-uri, scientific, text
@@ -118467,8 +118966,8 @@ self: {
        pname = "haskell-src";
        version = "1.0.3.1";
        sha256 = "0cjigvshk4b8wqdk0v0hz9ag1kyjjsmqsy4a1m3n28ac008cg746";
-       revision = "2";
-       editedCabalFile = "1qrhcyr0y7j8la3970pg80w3h3pprsp3nisgg1l41wfsr2m7smnf";
+       revision = "3";
+       editedCabalFile = "0hjridmgm95lrb9qs972zicipsqcfwpr35gwkzxncpgwcm0vn0b6";
        libraryHaskellDepends = [ array base pretty syb ];
        libraryToolDepends = [ happy ];
        description = "Support for manipulating Haskell source code";
@@ -119647,14 +120146,14 @@ self: {
 
   "haskellish" = callPackage
     ({ mkDerivation, base, containers, haskell-src-exts, mtl
-     , template-haskell
+     , template-haskell, text
      }:
      mkDerivation {
        pname = "haskellish";
-       version = "0.2.3.1";
-       sha256 = "0285mk3s1gl0xxwcqd22v800pcg75ml676nzs5pb96ybfniqksl0";
+       version = "0.2.4.3";
+       sha256 = "09hxl72ivd7dc1fcwdd5w081crc4b8yinxddxcydb9ak0dg7hj26";
        libraryHaskellDepends = [
-         base containers haskell-src-exts mtl template-haskell
+         base containers haskell-src-exts mtl template-haskell text
        ];
        description = "For parsing Haskell-ish languages";
        license = lib.licenses.bsd3;
@@ -119983,26 +120482,26 @@ self: {
      }) {};
 
   "haskoin-core" = callPackage
-    ({ mkDerivation, aeson, array, base, base16-bytestring, bytestring
-     , cereal, conduit, containers, cryptonite, deepseq, entropy
-     , hashable, hspec, hspec-discover, HUnit, lens, lens-aeson, memory
-     , mtl, murmur3, network, QuickCheck, safe, scientific
+    ({ mkDerivation, aeson, array, base, base16, binary, bytes
+     , bytestring, cereal, conduit, containers, cryptonite, deepseq
+     , entropy, hashable, hspec, hspec-discover, HUnit, lens, lens-aeson
+     , memory, mtl, murmur3, network, QuickCheck, safe, scientific
      , secp256k1-haskell, split, string-conversions, text, time
      , transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "haskoin-core";
-       version = "0.18.0";
-       sha256 = "13j8hsyj7x30s6rl8pigvkcwn9ahrwd85y4i8z6728rsjj2ygih3";
+       version = "0.20.0";
+       sha256 = "10pdpg75r2gch32p3mkiz82qip9rwkc5lrq0zxy13pqrmxdy162k";
        libraryHaskellDepends = [
-         aeson array base base16-bytestring bytestring cereal conduit
+         aeson array base base16 binary bytes bytestring cereal conduit
          containers cryptonite deepseq entropy hashable hspec memory mtl
          murmur3 network QuickCheck safe scientific secp256k1-haskell split
          string-conversions text time transformers unordered-containers
          vector
        ];
        testHaskellDepends = [
-         aeson array base base16-bytestring bytestring cereal conduit
+         aeson array base base16 binary bytes bytestring cereal conduit
          containers cryptonite deepseq entropy hashable hspec HUnit lens
          lens-aeson memory mtl murmur3 network QuickCheck safe scientific
          secp256k1-haskell split string-conversions text time transformers
@@ -120123,44 +120622,46 @@ self: {
      }) {};
 
   "haskoin-store" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, base64, bytestring
-     , cereal, conduit, containers, data-default, deepseq, filepath
-     , hashable, haskoin-core, haskoin-node, haskoin-store-data, hedis
-     , hspec, hspec-discover, http-types, monad-logger, mtl, network
-     , nqe, optparse-applicative, QuickCheck, random
-     , rocksdb-haskell-jprupp, rocksdb-query, scotty, string-conversions
-     , text, time, transformers, unliftio, unordered-containers, wai
-     , warp
+    ({ mkDerivation, aeson, aeson-pretty, base, base16, base64, bytes
+     , bytestring, cereal, conduit, containers, data-default, deepseq
+     , ekg-core, ekg-statsd, filepath, foldl, hashable, haskoin-core
+     , haskoin-node, haskoin-store-data, hedis, hspec, hspec-discover
+     , http-types, lens, monad-control, monad-logger, mtl, network, nqe
+     , optparse-applicative, QuickCheck, random, rocksdb-haskell-jprupp
+     , rocksdb-query, scotty, stm, string-conversions, text, time
+     , transformers, unliftio, unordered-containers, wai, warp, wreq
      }:
      mkDerivation {
        pname = "haskoin-store";
-       version = "0.39.0";
-       sha256 = "1a1bhsjxb1nj49b5xjv78h89xsc5ffrf9qq1n12ak54ckvw0rgmv";
+       version = "0.47.3";
+       sha256 = "0z3rhxfnk1985lmfzajipkzajya2vrfh0p5c66kk03vysvssjzpi";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson aeson-pretty base bytestring cereal conduit containers
-         data-default deepseq hashable haskoin-core haskoin-node
-         haskoin-store-data hedis http-types monad-logger mtl network nqe
-         random rocksdb-haskell-jprupp rocksdb-query scotty
-         string-conversions text time transformers unliftio
-         unordered-containers wai warp
+         aeson aeson-pretty base base16 bytes bytestring cereal conduit
+         containers data-default deepseq ekg-core ekg-statsd foldl hashable
+         haskoin-core haskoin-node haskoin-store-data hedis http-types lens
+         monad-control monad-logger mtl network nqe random
+         rocksdb-haskell-jprupp rocksdb-query scotty stm string-conversions
+         text time transformers unliftio unordered-containers wai warp wreq
        ];
        executableHaskellDepends = [
-         aeson aeson-pretty base bytestring cereal conduit containers
-         data-default deepseq filepath hashable haskoin-core haskoin-node
-         haskoin-store-data hedis http-types monad-logger mtl network nqe
+         aeson aeson-pretty base base16 bytes bytestring cereal conduit
+         containers data-default deepseq ekg-core ekg-statsd filepath foldl
+         hashable haskoin-core haskoin-node haskoin-store-data hedis
+         http-types lens monad-control monad-logger mtl network nqe
          optparse-applicative random rocksdb-haskell-jprupp rocksdb-query
-         scotty string-conversions text time transformers unliftio
-         unordered-containers wai warp
+         scotty stm string-conversions text time transformers unliftio
+         unordered-containers wai warp wreq
        ];
        testHaskellDepends = [
-         aeson aeson-pretty base base64 bytestring cereal conduit containers
-         data-default deepseq hashable haskoin-core haskoin-node
-         haskoin-store-data hedis hspec http-types monad-logger mtl network
-         nqe QuickCheck random rocksdb-haskell-jprupp rocksdb-query scotty
+         aeson aeson-pretty base base16 base64 bytes bytestring cereal
+         conduit containers data-default deepseq ekg-core ekg-statsd foldl
+         hashable haskoin-core haskoin-node haskoin-store-data hedis hspec
+         http-types lens monad-control monad-logger mtl network nqe
+         QuickCheck random rocksdb-haskell-jprupp rocksdb-query scotty stm
          string-conversions text time transformers unliftio
-         unordered-containers wai warp
+         unordered-containers wai warp wreq
        ];
        testToolDepends = [ hspec-discover ];
        description = "Storage and index for Bitcoin and Bitcoin Cash";
@@ -120170,24 +120671,26 @@ self: {
      }) {};
 
   "haskoin-store-data" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, cereal, containers
-     , data-default, deepseq, hashable, haskoin-core, hspec
+    ({ mkDerivation, aeson, base, binary, bytes, bytestring, cereal
+     , containers, data-default, deepseq, hashable, haskoin-core, hspec
      , hspec-discover, http-client, http-types, lens, mtl, network
-     , QuickCheck, scotty, string-conversions, text, wreq
+     , QuickCheck, scotty, string-conversions, text
+     , unordered-containers, wreq
      }:
      mkDerivation {
        pname = "haskoin-store-data";
-       version = "0.38.1";
-       sha256 = "0x3p0fylfc8llv94nmjaz9537qp2jwm5zlbs8mw7b4lh9z69f3ba";
+       version = "0.47.3";
+       sha256 = "0i7jf832q2lv8h82sf4y3a81j8y4ipw653q32jfnxhjjbnfxccly";
        libraryHaskellDepends = [
-         aeson base bytestring cereal containers data-default deepseq
-         hashable haskoin-core http-client http-types lens mtl network
-         scotty string-conversions text wreq
+         aeson base binary bytes bytestring cereal containers data-default
+         deepseq hashable haskoin-core http-client http-types lens mtl
+         network scotty string-conversions text unordered-containers wreq
        ];
        testHaskellDepends = [
-         aeson base bytestring cereal containers data-default deepseq
-         hashable haskoin-core hspec http-client http-types lens mtl network
-         QuickCheck scotty string-conversions text wreq
+         aeson base binary bytes bytestring cereal containers data-default
+         deepseq hashable haskoin-core hspec http-client http-types lens mtl
+         network QuickCheck scotty string-conversions text
+         unordered-containers wreq
        ];
        testToolDepends = [ hspec-discover ];
        description = "Data for Haskoin Store";
@@ -120860,10 +121363,8 @@ self: {
     ({ mkDerivation, base, doctest }:
      mkDerivation {
        pname = "haskus-utils-types";
-       version = "1.5";
-       sha256 = "1mbgnx4i82g9bq1qpvjjs9yb683gfja5bws8y26mzjl4igk6izsy";
-       revision = "1";
-       editedCabalFile = "1mjwmk5prbrb91dbhxg9pp47zf5cfnnm07h3f2m902af3l0yjiih";
+       version = "1.5.1";
+       sha256 = "1nm5nn45r2c9f20j7v0v3abkbglyi45wmyrigy1v65c5lk4g57r5";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest ];
        description = "Haskus types utility modules";
@@ -121691,8 +122192,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasty-hamiltonian";
-       version = "1.3.3";
-       sha256 = "11x0daijylcxg0zf55bcwac6dy6lmmz9f4zf7a44qp9dsgfv753a";
+       version = "1.3.4";
+       sha256 = "0qvqh5d213lq02qq25s1a6z783836h5gi5zra99pprblpdffaazq";
        libraryHaskellDepends = [
          base kan-extensions lens mcmc-types mwc-probability pipes primitive
          transformers
@@ -123329,6 +123830,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "heaps_0_4" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "heaps";
+       version = "0.4";
+       sha256 = "1zbw0qrlnhb42v04phzwmizbpwg21wnpl7p4fbr9xsasp7w9scl9";
+       libraryHaskellDepends = [ base ];
+       description = "Asymptotically optimal Brodal/Okasaki heaps";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "heapsize" = callPackage
     ({ mkDerivation, base, criterion, deepseq, exceptions, ghc-heap
      , hashable, hashtables, primitive, transformers
@@ -123404,8 +123917,8 @@ self: {
     ({ mkDerivation, async, base, io-streams, time }:
      mkDerivation {
        pname = "heartbeat-streams";
-       version = "0.1.0.2";
-       sha256 = "059dx7paaniwmxgyzapv0542jf8yb4vzbg8501d2j779ixvzm80d";
+       version = "0.1.0.3";
+       sha256 = "004dkld0friilhb9j1fhibzndchkljxzqm6k99zli4h83q787wlf";
        libraryHaskellDepends = [ async base io-streams time ];
        description = "Heartbeats for io-streams";
        license = lib.licenses.bsd3;
@@ -123716,8 +124229,8 @@ self: {
     ({ mkDerivation, base, containers, fakedata, hedgehog, random }:
      mkDerivation {
        pname = "hedgehog-fakedata";
-       version = "0.0.1.3";
-       sha256 = "0h0cf4y25453n52d4y1ximzdc9l04b17byd9kgjvc3c279866f1i";
+       version = "0.0.1.4";
+       sha256 = "1pa8kf6pxsvmfy8r29xk486cdi38881blqj1lcnjya98ilb6ldx3";
        libraryHaskellDepends = [ base fakedata hedgehog random ];
        testHaskellDepends = [ base containers fakedata hedgehog ];
        description = "Use 'fakedata' with 'hedgehog'";
@@ -123859,8 +124372,8 @@ self: {
      }:
      mkDerivation {
        pname = "hedis";
-       version = "0.14.1";
-       sha256 = "0n7hwg8mp4v512g7s8cblmai0j00l1149bbdacm6s7d0plnk0qqd";
+       version = "0.14.2";
+       sha256 = "1zm8llpbbvr5f5s0i4qsn025734s1mamfvm1dgxw4p87m9zhprlm";
        libraryHaskellDepends = [
          async base bytestring bytestring-lexing containers deepseq errors
          exceptions HTTP mtl network network-uri resource-pool scanner stm
@@ -125106,31 +125619,31 @@ self: {
   "hevm" = callPackage
     ({ mkDerivation, abstract-par, aeson, ansi-wl-pprint, async, base
      , base16-bytestring, binary, brick, bytestring, cereal, containers
-     , cryptonite, data-dword, deepseq, directory, fgl, filepath, free
-     , haskeline, here, HUnit, lens, lens-aeson, libff, megaparsec
-     , memory, monad-par, mtl, multiset, operational, optparse-generic
-     , process, QuickCheck, quickcheck-text, regex-tdfa, restless-git
-     , rosezipper, s-cargot, sbv, scientific, secp256k1, semver-range
-     , tasty, tasty-hunit, tasty-quickcheck, temporary, text
-     , text-format, time, transformers, tree-view, unordered-containers
-     , vector, vty, witherable, wreq
+     , cryptonite, data-dword, Decimal, deepseq, directory, fgl
+     , filepath, free, haskeline, here, HUnit, lens, lens-aeson, libff
+     , megaparsec, memory, monad-par, mtl, multiset, operational
+     , optparse-generic, process, QuickCheck, quickcheck-text
+     , regex-tdfa, restless-git, rosezipper, s-cargot, sbv, scientific
+     , secp256k1, semver-range, tasty, tasty-hunit, tasty-quickcheck
+     , temporary, text, text-format, time, transformers, tree-view
+     , unordered-containers, vector, vty, witherable, wreq
      }:
      mkDerivation {
        pname = "hevm";
-       version = "0.42.0";
-       sha256 = "0p736bxsg91l7n82xad52j5gqvyx6ik7hbmlnnz5bsrnsm05maxz";
+       version = "0.44.1";
+       sha256 = "1ygrksnqav1cw9pq1x2xi0na5fxy0phyc0v48nkzpis868gy0b97";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          abstract-par aeson ansi-wl-pprint base base16-bytestring binary
-         brick bytestring cereal containers cryptonite data-dword deepseq
-         directory fgl filepath free haskeline lens lens-aeson megaparsec
-         memory monad-par mtl multiset operational optparse-generic process
-         QuickCheck quickcheck-text regex-tdfa restless-git rosezipper
-         s-cargot sbv scientific semver-range temporary text text-format
-         time transformers tree-view unordered-containers vector vty
-         witherable wreq
+         brick bytestring cereal containers cryptonite data-dword Decimal
+         deepseq directory fgl filepath free haskeline lens lens-aeson
+         megaparsec memory monad-par mtl multiset operational
+         optparse-generic process QuickCheck quickcheck-text regex-tdfa
+         restless-git rosezipper s-cargot sbv scientific semver-range
+         temporary text text-format time transformers tree-view
+         unordered-containers vector vty witherable wreq
        ];
        librarySystemDepends = [ libff secp256k1 ];
        executableHaskellDepends = [
@@ -125398,8 +125911,8 @@ self: {
      }:
      mkDerivation {
        pname = "hexpat-streamparser";
-       version = "0.0.1";
-       sha256 = "09klv9if55rlhjrh7cw68kk9z3mrwm1p2agb7a23j8a68iga5gvi";
+       version = "0.0.2";
+       sha256 = "11g78dkr9dp4kgz8zmckgq66587qahdhxyhcn03ajr0b07ab27z3";
        libraryHaskellDepends = [
          base bytestring hexpat List mtl parser-combinators text
          transformers
@@ -126475,14 +126988,14 @@ self: {
     ({ mkDerivation, aeson, base, base16-bytestring, bytestring
      , conduit, conduit-extra, containers, cryptohash-sha1, deepseq
      , directory, extra, file-embed, filepath, ghc, hslogger
-     , hspec-expectations, process, tasty, tasty-expected-failure
-     , tasty-hunit, temporary, text, time, transformers, unix-compat
-     , unordered-containers, vector, yaml
+     , hspec-expectations, optparse-applicative, process, tasty
+     , tasty-expected-failure, tasty-hunit, temporary, text, time
+     , transformers, unix-compat, unordered-containers, vector, yaml
      }:
      mkDerivation {
        pname = "hie-bios";
-       version = "0.7.2";
-       sha256 = "0cff9kf4qnfkfzvxhxi0hh54x013g5sg0xcw0vpsarc3a91p7da8";
+       version = "0.7.4";
+       sha256 = "05ad47ll6vxi7say4f7zf13npcjpqbwb42pqs2bmxslif6rl9sdh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -126491,7 +127004,9 @@ self: {
          filepath ghc hslogger process temporary text time transformers
          unix-compat unordered-containers vector yaml
        ];
-       executableHaskellDepends = [ base directory filepath ghc ];
+       executableHaskellDepends = [
+         base directory filepath ghc optparse-applicative
+       ];
        testHaskellDepends = [
          base directory extra filepath ghc hspec-expectations tasty
          tasty-expected-failure tasty-hunit temporary text
@@ -127071,8 +127586,8 @@ self: {
      }:
      mkDerivation {
        pname = "hindent";
-       version = "5.3.1";
-       sha256 = "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l";
+       version = "5.3.2";
+       sha256 = "129gkn8qg68wsd60mq8yk7hrqsc8sd8v56xn41m5ii3hriq1mmv7";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -127217,23 +127732,23 @@ self: {
 
   "hinit" = callPackage
     ({ mkDerivation, base, Cabal, containers, directory, exceptions
-     , fused-effects, generic-lens, Glob, haskeline, lens, megaparsec
-     , mustache, optparse-applicative, parser-combinators, path, path-io
+     , fused-effects, Glob, haskeline, megaparsec, mustache, optics-core
+     , optparse-applicative, parser-combinators, path, path-io
      , prettyprinter, prettyprinter-ansi-terminal, process
      , quickcheck-text, spdx-license, string-interpolate, text, time
      , tomland
      }:
      mkDerivation {
        pname = "hinit";
-       version = "0.2.0";
-       sha256 = "1iklwj1kzv7nbb4bnrj0idfb0k26jjpw51mkbib73j4jpciah01v";
+       version = "0.2.1";
+       sha256 = "10lhx18g50f24l867kjqgb2qpky3vvx7w7s4sc3pidr3hc0ams3g";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base Cabal containers directory exceptions fused-effects
-         generic-lens Glob haskeline lens megaparsec mustache
-         optparse-applicative parser-combinators path path-io prettyprinter
+         base Cabal containers directory exceptions fused-effects Glob
+         haskeline megaparsec mustache optics-core optparse-applicative
+         parser-combinators path path-io prettyprinter
          prettyprinter-ansi-terminal process spdx-license string-interpolate
          text time tomland
        ];
@@ -127243,8 +127758,7 @@ self: {
        ];
        description = "Generic project initialization tool";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+       maintainers = with lib.maintainers; [ poscat ];
      }) {};
 
   "hinotify_0_3_9" = callPackage
@@ -127763,6 +128277,17 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "histogram-simple" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "histogram-simple";
+       version = "1.0";
+       sha256 = "11x8v0svvsc0impf59vixbsaxh5nwvyc9wmw9xkshd4k4a30bdb8";
+       libraryHaskellDepends = [ base containers ];
+       description = "Simple Data.Map-based histogram";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "historian" = callPackage
     ({ mkDerivation, base, containers, directory, filepath, process
      , regex-compat, regex-posix
@@ -128077,8 +128602,8 @@ self: {
        pname = "hkd";
        version = "0.1";
        sha256 = "1xz0i8lkh0rp55b0s7npkzqgyz9pf1bwq9b66cwbg073r9sz41wa";
-       revision = "1";
-       editedCabalFile = "09inakgqdwqifha2whvjfx6imx642zfinw8faxgjiv55ncm04zhr";
+       revision = "2";
+       editedCabalFile = "19z00b29z095fp9jxp0n7k1dgm980j9i94aysqd0mm1yjvxvn1k5";
        libraryHaskellDepends = [ base some ];
        testHaskellDepends = [ base some ];
        description = "\"higher-kinded data\"";
@@ -128266,8 +128791,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger";
-       version = "1.20.3";
-       sha256 = "1wy45ppcakml2wk021yr8kqv0q0x85vms8kx0npjawzbs498qqx9";
+       version = "1.20.4";
+       sha256 = "1fsdh4k0lrlx3n81hns8h2dh917i0cmh1iax55d9q7jlxvy5bq95";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -128359,17 +128884,19 @@ self: {
      }) {};
 
   "hledger-flow" = callPackage
-    ({ mkDerivation, base, containers, exceptions, foldl, HUnit
-     , optparse-applicative, path, path-io, stm, text, time, turtle
+    ({ mkDerivation, base, containers, exceptions, filepath, foldl
+     , gitrev, HUnit, optparse-applicative, path, path-io, stm, text
+     , time, turtle
      }:
      mkDerivation {
        pname = "hledger-flow";
-       version = "0.14.2.0";
-       sha256 = "17a21rf2gj9hp7q0q7gg4znwa2j8xgrlxaq15akjn20sqp8l23ni";
+       version = "0.14.3.0";
+       sha256 = "113lr6b47fs3900wrn8fg1kxcbvfh91gla7585h13miz3wyjbdyf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base containers exceptions foldl path path-io stm text time turtle
+         base containers exceptions filepath foldl gitrev path path-io stm
+         text time turtle
        ];
        executableHaskellDepends = [
          base optparse-applicative path text turtle
@@ -128467,8 +128994,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-lib";
-       version = "1.20.3";
-       sha256 = "0pm6ckim1krkg4x7azspsnc1alwynqnjdhxrda764xyrz9s0r8cp";
+       version = "1.20.4";
+       sha256 = "17fs3jh3wx1hgzijqpw0s57hq6hq43fadplmqkcjw1ikgm8h0zyw";
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal array base base-compat-batteries
          blaze-markup bytestring call-stack cassava cassava-megaparsec
@@ -128544,8 +129071,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-ui";
-       version = "1.20.3";
-       sha256 = "02g6xdxif67fjj6rjskw69cxhx2irwv7sk0b1slr20nch122pzl1";
+       version = "1.20.4";
+       sha256 = "0y9jyv4mphzyla70z365l5dwg50chsng011bazzpfwr6w889803i";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -128591,8 +129118,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-web";
-       version = "1.20.3";
-       sha256 = "1dz3lwp86dlmdrnj5hda12219x03xw8csxk0bjysn43rjzxag4q4";
+       version = "1.20.4";
+       sha256 = "06psp5r6blj3s1z8zg515jgw58pyxy43qinh5cl161fxcl8ldfn4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -128725,7 +129252,6 @@ self: {
        executableHaskellDepends = [ base ];
        description = "Source code suggestions";
        license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
   "hlint-test" = callPackage
@@ -128879,21 +129405,22 @@ self: {
 
   "hls-eval-plugin" = callPackage
     ({ mkDerivation, aeson, base, containers, deepseq, Diff, directory
-     , extra, filepath, ghc, ghc-boot-th, ghc-paths, ghcide, hashable
-     , haskell-lsp, haskell-lsp-types, hls-plugin-api
-     , parser-combinators, pretty-simple, QuickCheck, safe-exceptions
-     , shake, temporary, text, time, transformers, unordered-containers
+     , dlist, extra, filepath, ghc, ghc-boot-th, ghc-paths, ghcide
+     , hashable, haskell-lsp, haskell-lsp-types, hls-plugin-api, lens
+     , megaparsec, mtl, parser-combinators, pretty-simple, QuickCheck
+     , safe-exceptions, shake, temporary, text, time, transformers
+     , unordered-containers
      }:
      mkDerivation {
        pname = "hls-eval-plugin";
-       version = "0.1.0.5";
-       sha256 = "1vfsvhn7b5w537hsri6bz36c547pxv13jyjvj1a5934jzyzvv9qn";
+       version = "0.2.0.0";
+       sha256 = "0l85qia3gsdafxmkidr26sxgajvp46hcphkb1l8vm6q7h6jgj0d5";
        libraryHaskellDepends = [
-         aeson base containers deepseq Diff directory extra filepath ghc
-         ghc-boot-th ghc-paths ghcide hashable haskell-lsp haskell-lsp-types
-         hls-plugin-api parser-combinators pretty-simple QuickCheck
-         safe-exceptions shake temporary text time transformers
-         unordered-containers
+         aeson base containers deepseq Diff directory dlist extra filepath
+         ghc ghc-boot-th ghc-paths ghcide hashable haskell-lsp
+         haskell-lsp-types hls-plugin-api lens megaparsec mtl
+         parser-combinators pretty-simple QuickCheck safe-exceptions shake
+         temporary text time transformers unordered-containers
        ];
        description = "Eval plugin for Haskell Language Server";
        license = lib.licenses.asl20;
@@ -128925,14 +129452,31 @@ self: {
        pname = "hls-explicit-imports-plugin";
        version = "0.1.0.0";
        sha256 = "0il51ndiw16h5kgclwzx8p1pwv6ph808406bh52nq1bjyadlwkk2";
+       revision = "1";
+       editedCabalFile = "1mmsgs0n0x0q8zdzc617pi24wadgjr7hxrwqw6ihv004ahzdmjms";
        libraryHaskellDepends = [
          aeson base containers deepseq ghc ghcide haskell-lsp-types
          hls-plugin-api shake text unordered-containers
        ];
        description = "Explicit imports plugin for Haskell Language Server";
        license = lib.licenses.asl20;
+     }) {};
+
+  "hls-explicit-imports-plugin_0_1_0_2" = callPackage
+    ({ mkDerivation, aeson, base, containers, deepseq, ghc, ghcide
+     , hls-plugin-api, lsp, lsp-types, shake, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "hls-explicit-imports-plugin";
+       version = "0.1.0.2";
+       sha256 = "0cfkb7ph6ryakybjxmyf6cc615p57wzv6ys2zy4fak1iib8bzwyx";
+       libraryHaskellDepends = [
+         aeson base containers deepseq ghc ghcide hls-plugin-api lsp
+         lsp-types shake text unordered-containers
+       ];
+       description = "Explicit imports plugin for Haskell Language Server";
+       license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hls-haddock-comments-plugin" = callPackage
@@ -128941,10 +129485,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-haddock-comments-plugin";
-       version = "0.1.0.0";
-       sha256 = "12zs6yq39jpg3x6w9y5a5jri5rfh8qpxawdhmhiqm067zjnj9xi4";
-       revision = "1";
-       editedCabalFile = "0kddmrlmcsa1d22mqzw1wsh82x4nn0ff4xbwci7585i9z61mzhg2";
+       version = "0.1.1.0";
+       sha256 = "1kqkdbwx34k109dk3bl57hk2mcqw1cjj7l5382qfwy5bky4zjihn";
        libraryHaskellDepends = [
          base containers ghc ghc-exactprint ghcide haskell-lsp-types
          hls-plugin-api text unordered-containers
@@ -128956,26 +129498,22 @@ self: {
   "hls-hlint-plugin" = callPackage
     ({ mkDerivation, aeson, apply-refact, base, binary, bytestring
      , containers, data-default, deepseq, Diff, directory, extra
-     , filepath, ghc, ghcide, hashable, haskell-lsp, hlint
-     , hls-plugin-api, hslogger, lens, regex-tdfa, shake, temporary
-     , text, transformers, unordered-containers
+     , filepath, ghc, ghc-exactprint, ghcide, hashable, haskell-lsp
+     , hlint, hls-plugin-api, hslogger, lens, regex-tdfa, shake
+     , temporary, text, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "hls-hlint-plugin";
-       version = "0.1.0.0";
-       sha256 = "1sjbdzdrl4r0ar75z5znrv5iyim2hmf52c6r5hgmyn7wmhzbpvnq";
-       revision = "1";
-       editedCabalFile = "1al6a1kzhymxrpq5mvz1nlyhfcnjsz3ygqkafa8llb6hzsff6m7s";
+       version = "0.2.0.0";
+       sha256 = "0v822s8m6iy7s0sld06gwh3ly20na0624s5g4642kkb2facbhm7d";
        libraryHaskellDepends = [
          aeson apply-refact base binary bytestring containers data-default
-         deepseq Diff directory extra filepath ghc ghcide hashable
-         haskell-lsp hlint hls-plugin-api hslogger lens regex-tdfa shake
-         temporary text transformers unordered-containers
+         deepseq Diff directory extra filepath ghc ghc-exactprint ghcide
+         hashable haskell-lsp hlint hls-plugin-api hslogger lens regex-tdfa
+         shake temporary text transformers unordered-containers
        ];
        description = "Hlint integration plugin with Haskell Language Server";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hls-plugin-api" = callPackage
@@ -128985,10 +129523,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-plugin-api";
-       version = "0.6.0.0";
-       sha256 = "0dnd20mb0id0l2dz6j3ckfrjyfm3mjys0kf11z3a684i4bc0w1pi";
-       revision = "2";
-       editedCabalFile = "0726nm80c7xfg6bxac32bg8yjszw5b0fq27jsg0w7dg2rg4zy1ji";
+       version = "0.7.0.0";
+       sha256 = "1cpl65ay55k3lvwsvqzwbg0c6lkzmiki2qvk6lj2dn6rcry9gk55";
        libraryHaskellDepends = [
          aeson base containers data-default Diff hashable haskell-lsp
          hslogger lens process regex-tdfa shake text unix
@@ -128998,6 +129534,26 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "hls-plugin-api_0_7_1_0" = callPackage
+    ({ mkDerivation, aeson, base, containers, data-default
+     , dependent-map, dependent-sum, Diff, dlist, hashable, hslogger
+     , lens, lsp, opentelemetry, process, regex-tdfa, shake, text, unix
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "hls-plugin-api";
+       version = "0.7.1.0";
+       sha256 = "036lrij56fzd3rbrxrxpvmq2ng0yp4qrnrl8k6g60p5sf9abqzc2";
+       libraryHaskellDepends = [
+         aeson base containers data-default dependent-map dependent-sum Diff
+         dlist hashable hslogger lens lsp opentelemetry process regex-tdfa
+         shake text unix unordered-containers
+       ];
+       description = "Haskell Language Server API for plugin communication";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hls-retrie-plugin" = callPackage
     ({ mkDerivation, aeson, base, containers, deepseq, directory, extra
      , ghc, ghcide, hashable, haskell-lsp, haskell-lsp-types
@@ -129006,8 +129562,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-retrie-plugin";
-       version = "0.1.0.0";
-       sha256 = "1h928dvycyj4lxhn73zv58hgvc4yccr5dv7bbc6nsq62762f75j4";
+       version = "0.1.1.0";
+       sha256 = "0wlrqqx2230xxvc1bl5gyx3cavs74c74bl4v3ib4v48wffgswbbj";
        libraryHaskellDepends = [
          aeson base containers deepseq directory extra ghc ghcide hashable
          haskell-lsp haskell-lsp-types hls-plugin-api retrie safe-exceptions
@@ -129015,24 +129571,40 @@ self: {
        ];
        description = "Retrie integration plugin for Haskell Language Server";
        license = lib.licenses.asl20;
+     }) {};
+
+  "hls-retrie-plugin_0_1_1_1" = callPackage
+    ({ mkDerivation, aeson, base, containers, deepseq, directory, extra
+     , ghc, ghcide, hashable, hls-plugin-api, lsp, lsp-types, retrie
+     , safe-exceptions, shake, text, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "hls-retrie-plugin";
+       version = "0.1.1.1";
+       sha256 = "1k85wgnd5f1jqjd09y9gacc5w8kypy84qaly32411xsw4hfsil8a";
+       libraryHaskellDepends = [
+         aeson base containers deepseq directory extra ghc ghcide hashable
+         hls-plugin-api lsp lsp-types retrie safe-exceptions shake text
+         transformers unordered-containers
+       ];
+       description = "Retrie integration plugin for Haskell Language Server";
+       license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hls-splice-plugin" = callPackage
     ({ mkDerivation, aeson, base, containers, dlist, foldl, ghc
-     , ghc-exactprint, ghcide, haskell-lsp, hls-exactprint-utils
-     , hls-plugin-api, lens, retrie, shake, syb, text, transformers
-     , unordered-containers
+     , ghc-exactprint, ghcide, haskell-lsp, hls-plugin-api, lens, retrie
+     , shake, syb, text, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "hls-splice-plugin";
-       version = "0.1.0.0";
-       sha256 = "10zqgczp1mx81ac8fh59dp1hipfh09w4hnxylqjhj6c6wzgwa4cj";
+       version = "0.3.0.0";
+       sha256 = "1mi9951hgq7mcwry5mdi4ywxk3jkzs47x7q4nvm2svkpvgnbfhdv";
        libraryHaskellDepends = [
          aeson base containers dlist foldl ghc ghc-exactprint ghcide
-         haskell-lsp hls-exactprint-utils hls-plugin-api lens retrie shake
-         syb text transformers unordered-containers
+         haskell-lsp hls-plugin-api lens retrie shake syb text transformers
+         unordered-containers
        ];
        description = "HLS Plugin to expand TemplateHaskell Splices and QuasiQuotes";
        license = lib.licenses.asl20;
@@ -129049,6 +129621,8 @@ self: {
        pname = "hls-tactics-plugin";
        version = "0.5.1.0";
        sha256 = "150hbhdj0rxiyslqfvwzqiyyc0pdvkbfjizv33ldbq8gmwn6lf52";
+       revision = "1";
+       editedCabalFile = "03g175y8hg962w7npphw9laaq9j0xf6nw6p04jd4y6d20pnjn1dl";
        libraryHaskellDepends = [
          aeson base containers deepseq directory extra filepath fingertree
          generic-lens ghc ghc-boot-th ghc-exactprint ghc-source-gen ghcide
@@ -129813,6 +130387,8 @@ self: {
        pname = "hnix";
        version = "0.12.0.1";
        sha256 = "013jlmzzr5fcvl0w9rrvhsg8jikg0hbc8z57yzxgz109x7hrnjzc";
+       revision = "1";
+       editedCabalFile = "136lwfb5hjwdbfik5c5dw1nhsmy8v410czmjn4i242s8jv5wm9yb";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -129851,34 +130427,6 @@ self: {
      }) {};
 
   "hnix-store-core" = callPackage
-    ({ mkDerivation, base, base16-bytestring, base64-bytestring, binary
-     , bytestring, containers, cryptohash-md5, cryptohash-sha1
-     , cryptohash-sha256, directory, filepath, hashable, mtl, process
-     , regex-base, regex-tdfa, saltine, tasty, tasty-discover
-     , tasty-hspec, tasty-hunit, tasty-quickcheck, temporary, text, time
-     , unix, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "hnix-store-core";
-       version = "0.2.0.0";
-       sha256 = "1gy808dzaq2jjy1xdhf3vjxzprlzn9mmbxc554sa03v8f9hc0r7h";
-       libraryHaskellDepends = [
-         base base16-bytestring binary bytestring containers cryptohash-md5
-         cryptohash-sha1 cryptohash-sha256 directory filepath hashable mtl
-         regex-base regex-tdfa saltine text time unix unordered-containers
-         vector
-       ];
-       testHaskellDepends = [
-         base base64-bytestring binary bytestring containers directory
-         process tasty tasty-discover tasty-hspec tasty-hunit
-         tasty-quickcheck temporary text
-       ];
-       testToolDepends = [ tasty-discover ];
-       description = "Core effects for interacting with the Nix store";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "hnix-store-core_0_4_1_0" = callPackage
     ({ mkDerivation, algebraic-graphs, attoparsec, base
      , base16-bytestring, base64-bytestring, binary, bytestring, cereal
      , containers, cryptohash-md5, cryptohash-sha1, cryptohash-sha256
@@ -129905,7 +130453,6 @@ self: {
        ];
        description = "Core effects for interacting with the Nix store";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hnix-store-remote" = callPackage
@@ -131248,8 +131795,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoppy-docs";
-       version = "0.7.0";
-       sha256 = "1kj72jn0sfvf68lf9n2v7v2qqw1g3kjyr6s6zlyvs6p2k3fw4ync";
+       version = "0.8.0";
+       sha256 = "122caz296w8sfc0ma4zigssha8vbr8abgj9ajsr83jh9k68jy3d9";
        libraryHaskellDepends = [
          base haskell-src hoppy-generator hoppy-runtime
        ];
@@ -131265,8 +131812,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoppy-generator";
-       version = "0.7.1";
-       sha256 = "1fhqlckfznmd5dhzsxgm40lynm790j8g4srf6y3g632dv7lccjwn";
+       version = "0.8.0";
+       sha256 = "0vkf5ajmdy7h88vfz2aq5zzq4mrnl4wi0dqn0rzzbr3rjpip42j6";
        libraryHaskellDepends = [
          base bytestring containers directory filepath haskell-src mtl
          process temporary text
@@ -131278,13 +131825,15 @@ self: {
      }) {};
 
   "hoppy-runtime" = callPackage
-    ({ mkDerivation, base, Cabal, containers, directory, filepath }:
+    ({ mkDerivation, base, Cabal, containers, directory, filepath
+     , hoppy-generator
+     }:
      mkDerivation {
        pname = "hoppy-runtime";
-       version = "0.7.0";
-       sha256 = "0rkyili7kbxj22rvs4056vhcgwpjzgigmwcrj6iph5pfzxnnl40q";
+       version = "0.8.0";
+       sha256 = "123mn1sfwy01jyb803r4rhdqpdafmbkyip149ga1pvlaj272mlqy";
        libraryHaskellDepends = [
-         base Cabal containers directory filepath
+         base Cabal containers directory filepath hoppy-generator
        ];
        description = "C++ FFI generator - Runtime support";
        license = lib.licenses.asl20;
@@ -131296,8 +131845,8 @@ self: {
     ({ mkDerivation, base, filepath, haskell-src, hoppy-generator }:
      mkDerivation {
        pname = "hoppy-std";
-       version = "0.7.1";
-       sha256 = "1y7xi347xq60p66avxgjyzxn9q7amjg1s43b9fln4v8f9ca0pwn7";
+       version = "0.8.0";
+       sha256 = "0ysbnhabnrr0jb8f9a06fqqxv2sy7ahj92jhw2bifnvjffk1pnqd";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base filepath haskell-src hoppy-generator
@@ -131739,8 +132288,8 @@ self: {
      }:
      mkDerivation {
        pname = "hp2pretty";
-       version = "0.9";
-       sha256 = "0libwl8kl6yhingvbrmw1b8l5yiq6wn07asvkwbnh9l6mnh8pz2n";
+       version = "0.10";
+       sha256 = "1irm8mvcib39r8imdx7y7jisp162i0rwk8w3irs2j746c8vhyv12";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -131761,8 +132310,8 @@ self: {
      }:
      mkDerivation {
        pname = "hpack";
-       version = "0.34.3";
-       sha256 = "0gwqmv3p3g9551n405bxrwm7a5ysx3q72q04k5qmicb3mxwwxnff";
+       version = "0.34.4";
+       sha256 = "1xszy00al5zzga64gh7nvgqc93242f61kqy8lb09jkm98a8fs4bl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -132371,25 +132920,25 @@ self: {
 
   "hpqtypes-extras" = callPackage
     ({ mkDerivation, base, base16-bytestring, bytestring, containers
-     , cryptohash, exceptions, fields-json, hpqtypes, lifted-base
-     , log-base, monad-control, mtl, safe, semigroups, tasty
-     , tasty-hunit, text, text-show, transformers, uuid-types
+     , cryptohash, deepseq, exceptions, extra, fields-json, hpqtypes
+     , lifted-base, log-base, monad-control, mtl, QuickCheck, safe
+     , semigroups, tasty, tasty-bench, tasty-hunit, text, text-show
+     , time, transformers, uuid-types
      }:
      mkDerivation {
        pname = "hpqtypes-extras";
-       version = "1.10.3.0";
-       sha256 = "1ifr6z89ki541b9x3kpyf10vbn3anhfcq8ppqwyp5zvmkx0q3wqs";
-       revision = "1";
-       editedCabalFile = "0pa13k78w0xm59pvlsd9rmg9ddi3jkc918j5i0hb4vlxcaivq34y";
+       version = "1.10.4.0";
+       sha256 = "0qlxhq4vkr0qq1ckazb0lng9mbnljh32xsmcpbp5qm01bngadz56";
        libraryHaskellDepends = [
          base base16-bytestring bytestring containers cryptohash exceptions
-         fields-json hpqtypes lifted-base log-base monad-control mtl safe
-         semigroups text text-show
+         extra fields-json hpqtypes lifted-base log-base monad-control mtl
+         safe semigroups text text-show
        ];
        testHaskellDepends = [
-         base exceptions hpqtypes lifted-base log-base monad-control tasty
-         tasty-hunit text transformers uuid-types
+         base exceptions hpqtypes lifted-base log-base monad-control
+         QuickCheck tasty tasty-hunit text time transformers uuid-types
        ];
+       benchmarkHaskellDepends = [ base deepseq tasty-bench ];
        description = "Extra utilities for hpqtypes library";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -132898,6 +133447,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {GeoIP = null;};
 
+  "hs-aws-lambda" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive
+     , containers, deepseq, http-client, http-types, safe-exceptions
+     , text, unliftio
+     }:
+     mkDerivation {
+       pname = "hs-aws-lambda";
+       version = "0.1.0.2";
+       sha256 = "078qkvxbjdsqgjmfq4fcpndb8c8cyz4g8s1q0ankpy359dvgxkv8";
+       libraryHaskellDepends = [
+         aeson base bytestring case-insensitive containers deepseq
+         http-client http-types safe-exceptions text unliftio
+       ];
+       testHaskellDepends = [ base ];
+       description = "A modern and easy-to-use wrapper for Docker-based Lambda implementations";
+       license = lib.licenses.publicDomain;
+     }) {};
+
   "hs-bibutils" = callPackage
     ({ mkDerivation, base, syb }:
      mkDerivation {
@@ -133617,6 +134184,18 @@ self: {
        broken = true;
      }) {};
 
+  "hs-swisstable-hashtables-class" = callPackage
+    ({ mkDerivation, base, hashtables, swisstable }:
+     mkDerivation {
+       pname = "hs-swisstable-hashtables-class";
+       version = "0.1.0.0";
+       sha256 = "15zc24ai13x11ksyhsrs05v9vh93mdlmx9p3rg3lkllqjqy6b35m";
+       libraryHaskellDepends = [ base hashtables swisstable ];
+       testHaskellDepends = [ base hashtables swisstable ];
+       description = "Data.HashTable.Class instance definition for Data.HashTable.ST.Swiss";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "hs-twitter" = callPackage
     ({ mkDerivation, base, HTTP, json, mime, network, old-locale
      , old-time, random, utf8-string
@@ -134124,6 +134703,8 @@ self: {
        pname = "hsc2hs";
        version = "0.68.7";
        sha256 = "0jl94cr2jhjmvz7l9idpr352vwxlsanyiq7ya1vvrlry3vj1aygx";
+       revision = "1";
+       editedCabalFile = "0nzmlx0kdsq5231m6dbvdb5zssj1h4lkqplp8rb28z3yl5h6h3sa";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -134955,8 +135536,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsendxmpp";
-       version = "0.1.2.2";
-       sha256 = "1zw26rp206w5wq3qb2y35wjis2a3qvyip7k35f3ls4y530gw39bq";
+       version = "0.1.2.4";
+       sha256 = "17dhhjbynr7afjibv6fys45m2al422b6q3z7ncfycpwp6541qifm";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -135402,8 +135983,8 @@ self: {
        pname = "hslogger";
        version = "1.3.1.0";
        sha256 = "0nyar9xcblx5jwks85y8f4jfy9k1h4ss6rvj4mdbiidrq3v688vz";
-       revision = "1";
-       editedCabalFile = "1g58f8lxcrmv4wh0k48car5lcl5j0k9lwfq5nfkjj9f5gim5yrc8";
+       revision = "2";
+       editedCabalFile = "1bkv1rbbx0bhyvrmnsyspm30q48820a6rym0msxjdzp8r56rbm9w";
        libraryHaskellDepends = [
          base bytestring containers deepseq network network-bsd old-locale
          time unix
@@ -135508,15 +136089,15 @@ self: {
        license = lib.licenses.mit;
      }) {inherit (pkgs) lua5_3;};
 
-  "hslua_1_3_0" = callPackage
+  "hslua_1_3_0_1" = callPackage
     ({ mkDerivation, base, bytestring, containers, exceptions, lua5_3
      , mtl, QuickCheck, quickcheck-instances, tasty, tasty-hunit
      , tasty-quickcheck, text
      }:
      mkDerivation {
        pname = "hslua";
-       version = "1.3.0";
-       sha256 = "1dfh1jax6yrk5sf9q8qnq1qgr541xkwwnz9y3q6r8wflvwlj7cal";
+       version = "1.3.0.1";
+       sha256 = "1mz8zk13dhgaf24hmmjqnn5hcln96iw73mcjwjilag8388wq72k7";
        configureFlags = [ "-fsystem-lua" "-f-use-pkgconfig" ];
        libraryHaskellDepends = [
          base bytestring containers exceptions mtl text
@@ -135568,6 +136149,22 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "hslua-module-path" = callPackage
+    ({ mkDerivation, base, filepath, hslua, tasty, tasty-hunit
+     , tasty-lua, text
+     }:
+     mkDerivation {
+       pname = "hslua-module-path";
+       version = "0.1.0.1";
+       sha256 = "1zxfljcn74rky26ijqmba6grpj0h9plgr47wxdaf7gcz1y8dhn68";
+       libraryHaskellDepends = [ base filepath hslua text ];
+       testHaskellDepends = [
+         base filepath hslua tasty tasty-hunit tasty-lua text
+       ];
+       description = "Lua module to work with file paths";
+       license = lib.licenses.mit;
+     }) {};
+
   "hslua-module-system" = callPackage
     ({ mkDerivation, base, containers, directory, exceptions, hslua
      , tasty, tasty-hunit, tasty-lua, temporary, text
@@ -136060,8 +136657,8 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-dirstream";
-       version = "1.0.0.2";
-       sha256 = "1df6rjgwj6rw78dh1ihswk7sgh72c8aqnaaj4r9k0gjq30hkdlfr";
+       version = "1.0.0.3";
+       sha256 = "1wzz718rw3nfzjgkigy5si7n6igjs5h8z8xsj1vhcivly4adzrrw";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base dirstream filepath hspec hspec-core pipes pipes-safe
@@ -136401,15 +136998,16 @@ self: {
      }) {};
 
   "hspec-need-env" = callPackage
-    ({ mkDerivation, base, hspec, hspec-core, hspec-expectations
-     , setenv, transformers
+    ({ mkDerivation, base, hspec, hspec-core, hspec-discover
+     , hspec-expectations, setenv, transformers
      }:
      mkDerivation {
        pname = "hspec-need-env";
-       version = "0.1.0.5";
-       sha256 = "0bgjhzc4m24sbmfyczq1r61gbgm5i1lsgyql88ki4flllscg4hsh";
+       version = "0.1.0.6";
+       sha256 = "0drbjdm6wld2bnfmv2jqhw4ija9v85pa4p5aq9qgh1gs6c5d50bq";
        libraryHaskellDepends = [ base hspec-core hspec-expectations ];
        testHaskellDepends = [ base hspec hspec-core setenv transformers ];
+       testToolDepends = [ hspec-discover ];
        description = "Read environment variables for hspec tests";
        license = lib.licenses.bsd3;
      }) {};
@@ -138200,10 +138798,8 @@ self: {
      }:
      mkDerivation {
        pname = "htoml-megaparsec";
-       version = "2.1.0.3";
-       sha256 = "1fpvfrib4igcmwhfms1spxr2b78srhrh4hrflrlgdgdn9x1m5w1x";
-       revision = "3";
-       editedCabalFile = "074r8wr9xar40ybm6wqg2s0k32kiapbjm8k3djp4lz6gjxyw7nc8";
+       version = "2.1.0.4";
+       sha256 = "08pka0z97b461bf45nvh9gymbvbwhn2dh70dy7x22xmzrigxnxw1";
        libraryHaskellDepends = [
          base composition-prelude containers deepseq megaparsec mtl text
          time unordered-containers vector
@@ -138374,6 +138970,8 @@ self: {
        pname = "http-api-data";
        version = "0.4.3";
        sha256 = "171bw2a44pg50d3y77gw2y9vmx72laky7hnn5hw6r93pnjmlf9yz";
+       revision = "1";
+       editedCabalFile = "0vy4glhjc036m2lmkc1ls0s48pcxga2qqc1jbpj4139v9j8h158m";
        libraryHaskellDepends = [
          attoparsec attoparsec-iso8601 base base-compat bytestring
          containers cookie hashable http-types tagged text time-compat
@@ -138430,7 +139028,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "http-client_0_7_4" = callPackage
+  "http-client_0_7_6" = callPackage
     ({ mkDerivation, array, async, base, base64-bytestring
      , blaze-builder, bytestring, case-insensitive, containers, cookie
      , deepseq, directory, exceptions, filepath, ghc-prim, hspec
@@ -138439,8 +139037,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-client";
-       version = "0.7.4";
-       sha256 = "1a4vhhn8y5qcqd4i2q7pl9jqfrsh65nkv32qcsc80cjy2bcqivjs";
+       version = "0.7.6";
+       sha256 = "1458mq5kh5fjlkhk9cgaz6sc6533l2nm4r2jz80diy8qc6bpiwrk";
        libraryHaskellDepends = [
          array base base64-bytestring blaze-builder bytestring
          case-insensitive containers cookie deepseq exceptions filepath
@@ -138741,8 +139339,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-conduit";
-       version = "2.3.7.4";
-       sha256 = "1mbaasmxx90gzfirwn8lmjpwj34gf1dk9y3m9mm88rzmy3s6czbb";
+       version = "2.3.8";
+       sha256 = "1bj24phbcb7s3k6v48l5gk82m3m23j8zy9l7c5ccxp3ghn9z5gng";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring conduit conduit-extra http-client
          http-client-tls http-types mtl resourcet transformers unliftio-core
@@ -138812,8 +139410,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-date";
-       version = "0.0.10";
-       sha256 = "1g3b895894mrscnm32x3a2nax3xvsp8aji11f0qd44xh7kz249zs";
+       version = "0.0.11";
+       sha256 = "1lzlrj2flcnz3k5kfhf11nk5n8m6kcya0lkwrsnzxgfr3an27y9j";
        libraryHaskellDepends = [ array attoparsec base bytestring time ];
        testHaskellDepends = [
          base bytestring doctest hspec old-locale time
@@ -139485,6 +140083,39 @@ self: {
        pname = "http2";
        version = "2.0.5";
        sha256 = "1rg6dnkx2yxcdp87r1vdpyxacqv7jgxiq3bb1hjz45v5jk1xj676";
+       revision = "1";
+       editedCabalFile = "0xxi7gcldh3fvnh98khw9f2vm5w85sakbb6165s779nkvq7p8ak2";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base bytestring case-insensitive containers http-types
+         network network-byte-order psqueues stm time-manager
+       ];
+       testHaskellDepends = [
+         aeson aeson-pretty array base base16-bytestring bytestring
+         case-insensitive containers directory doctest filepath Glob hspec
+         http-types network network-byte-order psqueues stm text
+         time-manager unordered-containers vector
+       ];
+       benchmarkHaskellDepends = [
+         array base bytestring case-insensitive containers gauge heaps
+         mwc-random network-byte-order psqueues stm
+       ];
+       description = "HTTP/2 library";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "http2_2_0_6" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, array, base
+     , base16-bytestring, bytestring, case-insensitive, containers
+     , directory, doctest, filepath, gauge, Glob, heaps, hspec
+     , http-types, mwc-random, network, network-byte-order, psqueues
+     , stm, text, time-manager, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "http2";
+       version = "2.0.6";
+       sha256 = "17m1avrppiz8i6qwjlgg77ha88sx8f8vvfa57z369aszhld6nx9a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -139503,6 +140134,7 @@ self: {
        ];
        description = "HTTP/2 library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "http2-client" = callPackage
@@ -139924,8 +140556,8 @@ self: {
        pname = "hum";
        version = "0.2.0.0";
        sha256 = "144b1161rvlmayklvgm7cajs0jz5bhlbcgrq288pvymlyl4f962b";
-       revision = "1";
-       editedCabalFile = "07d19lqi5djdsda976qr1w8ps535dxxjsp0lr43b62cinw2ssnki";
+       revision = "2";
+       editedCabalFile = "03hh7nyqchskkp4iqcq335mnpdsvgdw8d1pf3dp7p4wmsk20kwmk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -139945,8 +140577,6 @@ self: {
        ];
        description = "A TUI MPD client, inspired by ncmpcpp";
        license = lib.licenses.gpl2Plus;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "human-parse" = callPackage
@@ -140323,8 +140953,8 @@ self: {
      }:
      mkDerivation {
        pname = "husk-scheme";
-       version = "3.19.3";
-       sha256 = "0bb4iph3pp26rm9sdsjsshbig3misd1yr4waqblj8vr9fmrpx084";
+       version = "3.20";
+       sha256 = "11pghca4msm5nw1zdw3qlxzhmcwl9xg5hyvjd9z7869a3qahid5q";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -140518,6 +141148,24 @@ self: {
        broken = true;
      }) {};
 
+  "hw-aws-sqs-conduit" = callPackage
+    ({ mkDerivation, amazonka, amazonka-sqs, base, conduit, lens, mtl
+     , text
+     }:
+     mkDerivation {
+       pname = "hw-aws-sqs-conduit";
+       version = "0.1.0.0";
+       sha256 = "112nf8yqpb0cl4vb7h21r0nf13hz5419vkk2z5235db75ap6bbcc";
+       libraryHaskellDepends = [
+         amazonka amazonka-sqs base conduit lens mtl text
+       ];
+       testHaskellDepends = [ base ];
+       description = "AWS SQS conduit";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hw-balancedparens" = callPackage
     ({ mkDerivation, base, bytestring, criterion, deepseq, directory
      , doctest, doctest-discover, generic-lens, hedgehog, hspec
@@ -140563,6 +141211,8 @@ self: {
        pname = "hw-bits";
        version = "0.7.2.1";
        sha256 = "18l9r0yhddkzgbc2vvk0qr9brb5ih25zjfga3bddb5j8gpaaq65q";
+       revision = "1";
+       editedCabalFile = "14y67p3rsj97rzlh2cw7iy04gb6cfa977bjbr35vgkav0skbigbn";
        libraryHaskellDepends = [
          base bitvec bytestring deepseq hw-int hw-prim hw-string-parse
          vector
@@ -141135,8 +141785,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-kafka-client";
-       version = "4.0.2";
-       sha256 = "166gi8mj2ljv4xcjrhi2pgjmnj112998fzbzjfpf5ckj54d20ch9";
+       version = "4.0.3";
+       sha256 = "1s3wj5ih9mc7vp0w9rymw22w1yxp8z3qi7qmza9qw00aail8c5dg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -141252,6 +141902,21 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "hw-playground-linear" = callPackage
+    ({ mkDerivation, base, hedgehog, hmatrix, hmatrix-csv, hspec
+     , hspec-discover, hw-hspec-hedgehog, text
+     }:
+     mkDerivation {
+       pname = "hw-playground-linear";
+       version = "0.1.0.0";
+       sha256 = "039bkjgwa14v9qjmblipv4qd19lg3y2qn78khv0rbqka1haxnhn9";
+       libraryHaskellDepends = [ base hmatrix hmatrix-csv text ];
+       testHaskellDepends = [ base hedgehog hspec hw-hspec-hedgehog ];
+       testToolDepends = [ hspec-discover ];
+       description = "Primitive functions and data types";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "hw-prim" = callPackage
     ({ mkDerivation, base, bytestring, criterion, deepseq, directory
      , doctest, doctest-discover, exceptions, ghc-prim, hedgehog, hspec
@@ -141350,6 +142015,8 @@ self: {
        pname = "hw-rankselect-base";
        version = "0.3.4.1";
        sha256 = "1s0lqwq0rjmjca6lshfnxqi0c7bzlyflhm45xw1xa9pvqci8439h";
+       revision = "1";
+       editedCabalFile = "0flhrgqgwgxwk6ik3k7322dn8ybyjzh6g1csg2d9bafldj7akcwv";
        libraryHaskellDepends = [
          base bits-extra bitvec hw-bits hw-int hw-prim hw-string-parse
          vector
@@ -141848,8 +142515,8 @@ self: {
      }:
      mkDerivation {
        pname = "hxt";
-       version = "9.3.1.18";
-       sha256 = "0836k65px3w9c5h1h2bmzq5a7mp6ajxwvfg3pfr2kbxwkgc0j63j";
+       version = "9.3.1.21";
+       sha256 = "1y2kyb7hyhx0vpkfyd0f11v2v7khk57qyfgqzk442x8qcibm3d9a";
        libraryHaskellDepends = [
          base binary bytestring containers deepseq directory filepath
          hxt-charproperties hxt-regex-xmlschema hxt-unicode mtl network-uri
@@ -141896,8 +142563,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "hxt-charproperties";
-       version = "9.4.0.0";
-       sha256 = "1bk88hj2pqlvcnyfncqyb9j7w9vvdxcq3cgr0w2l09c0abas23pm";
+       version = "9.5.0.0";
+       sha256 = "0jm98jddbsd60jc2bz8wa71rslagbaqf00ia7fvfsaiaa54nk0r8";
        libraryHaskellDepends = [ base ];
        description = "Character properties and classes for XML and Unicode";
        license = lib.licenses.mit;
@@ -142004,10 +142671,8 @@ self: {
      }:
      mkDerivation {
        pname = "hxt-regex-xmlschema";
-       version = "9.2.0.3";
-       sha256 = "1c4jr0439f5yc05h7iz53fa47g6l2wrvqp6gvwf01mlqajk3nx7l";
-       revision = "1";
-       editedCabalFile = "0vg9vnfjmq1ma6zwwv4yvfih6wbslksvsvy9b41i4f81l0hh7ia8";
+       version = "9.2.0.7";
+       sha256 = "0ynrf65m7abq2fjnarlwq6i1r99pl89npibxx05rlplcgpybrdmr";
        libraryHaskellDepends = [
          base bytestring hxt-charproperties parsec text
        ];
@@ -142634,26 +143299,19 @@ self: {
      }) {};
 
   "hyperloglog" = callPackage
-    ({ mkDerivation, approximate, base, binary, bits, bytes, Cabal
-     , cabal-doctest, cereal, cereal-vector, comonad, deepseq, directory
-     , distributive, doctest, filepath, generic-deriving, hashable, lens
-     , reflection, semigroupoids, semigroups, simple-reflect, siphash
-     , tagged, vector
+    ({ mkDerivation, approximate, base, binary, bits, bytes, cereal
+     , cereal-vector, comonad, deepseq, distributive, hashable, lens
+     , reflection, semigroupoids, semigroups, siphash, tagged, vector
      }:
      mkDerivation {
        pname = "hyperloglog";
-       version = "0.4.3";
-       sha256 = "0r1zrhl81hm0sb9my32xyng0xdl2yzh1pdw2bqabzccrhyjk1fwd";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "0.4.4";
+       sha256 = "0iwjxv934vid7bzaxyqq4v7r52vdcqjxmw043dmxykwyzim59l3v";
        libraryHaskellDepends = [
          approximate base binary bits bytes cereal cereal-vector comonad
          deepseq distributive hashable lens reflection semigroupoids
          semigroups siphash tagged vector
        ];
-       testHaskellDepends = [
-         base directory doctest filepath generic-deriving semigroups
-         simple-reflect
-       ];
        description = "An approximate streaming (constant space) unique object counter";
        license = lib.licenses.bsd3;
      }) {};
@@ -142705,23 +143363,17 @@ self: {
      }) {};
 
   "hyphenation" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, cabal-doctest, containers
-     , doctest, text, unordered-containers, zlib
+    ({ mkDerivation, base, bytestring, containers, text
+     , unordered-containers, zlib
      }:
      mkDerivation {
        pname = "hyphenation";
-       version = "0.8";
-       sha256 = "09c9xpygjnq7kqcaybls91s7g1cv40rg54dn9w1svk973h0lgyii";
-       revision = "2";
-       editedCabalFile = "0y10glmsgnc67f2y8d6irgwyz9fahg9dv2sidqx1r6rfbs02416i";
+       version = "0.8.1";
+       sha256 = "0pzm9sfn1bw7yvwhby9a6d9z2ghcn91rcbj08x380gff31kn8lbx";
        enableSeparateDataOutput = true;
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base bytestring containers text unordered-containers zlib
        ];
-       testHaskellDepends = [
-         base containers doctest unordered-containers
-       ];
        description = "Configurable Knuth-Liang hyphenation";
        license = lib.licenses.bsd2;
      }) {};
@@ -143071,6 +143723,24 @@ self: {
        broken = true;
      }) {};
 
+  "ice40-prim" = callPackage
+    ({ mkDerivation, base, Cabal, clash-prelude, ghc-typelits-extra
+     , ghc-typelits-knownnat, ghc-typelits-natnormalise, interpolate
+     }:
+     mkDerivation {
+       pname = "ice40-prim";
+       version = "0.1.0.0";
+       sha256 = "00l0kwwayf0bark2yqjrx8imr8997d5mrnhjf3zsayxk9a521j99";
+       libraryHaskellDepends = [
+         base Cabal clash-prelude ghc-typelits-extra ghc-typelits-knownnat
+         ghc-typelits-natnormalise interpolate
+       ];
+       description = "Lattice iCE40 Primitive IP";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "icepeak" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, containers
      , directory, hashable, hspec, hspec-core, hspec-expectations
@@ -143545,8 +144215,6 @@ self: {
        ];
        description = "Functional Programming Language with Dependent Types";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) gmp;};
 
   "ieee" = callPackage
@@ -144600,8 +145268,8 @@ self: {
      }:
      mkDerivation {
        pname = "imperative-edsl";
-       version = "0.8";
-       sha256 = "0mz6yy472wvcg4ywjhaaqi0cxyy9l437pw4rkwd2j392n6hlfbar";
+       version = "0.8.1";
+       sha256 = "1z1a7b7m69m9xagvfa6xx3l1j0s7lrlvp4n09lra1x3q7lpfgnra";
        libraryHaskellDepends = [
          array base BoundedChan containers data-default-class deepseq
          directory exception-transformers ghc-prim language-c-quote
@@ -144915,8 +145583,8 @@ self: {
      }:
      mkDerivation {
        pname = "in-other-words";
-       version = "0.1.1.0";
-       sha256 = "0f11si2bnxw2bm5mfnnqh9cfwhlzdcqkw5dfjql1y618db808am9";
+       version = "0.2.0.0";
+       sha256 = "0adl539jilc3rnwx9ir39y97f6h60xavzhhc8pa9vc6gqp1v4g20";
        libraryHaskellDepends = [
          async base exceptions monad-control mtl stm transformers
          transformers-base
@@ -144930,6 +145598,27 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "in-other-words-plugin" = callPackage
+    ({ mkDerivation, base, containers, ghc, ghc-tcplugins-extra, hspec
+     , hspec-discover, in-other-words, syb, transformers
+     }:
+     mkDerivation {
+       pname = "in-other-words-plugin";
+       version = "0.1.0.0";
+       sha256 = "02c6qprny0x1qs5zpcma07vr3ikrksr18gqxpvf9hx55w3pnni0w";
+       libraryHaskellDepends = [
+         base containers ghc ghc-tcplugins-extra in-other-words syb
+         transformers
+       ];
+       testHaskellDepends = [
+         base containers ghc ghc-tcplugins-extra hspec in-other-words syb
+         transformers
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Disambiguate obvious uses of effects when using in-other-words";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "inbox" = callPackage
     ({ mkDerivation, async, base, error-or, text, time }:
      mkDerivation {
@@ -145669,8 +146358,8 @@ self: {
      }:
      mkDerivation {
        pname = "influxdb";
-       version = "1.9.0";
-       sha256 = "1d580f2j71x0iww0q2mg47jbhjsd83yarrnnmcp9f2bx7cix174v";
+       version = "1.9.1";
+       sha256 = "1g8lj56xi61g0vfindiz4lmnypjh2bzp2nm92dmh2d4mlfhrh78y";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -145683,7 +146372,7 @@ self: {
          base containers doctest lens raw-strings-qq tasty tasty-hunit
          template-haskell time vector
        ];
-       description = "Haskell client library for InfluxDB";
+       description = "InfluxDB client library for Haskell";
        license = lib.licenses.bsd3;
      }) {};
 
@@ -145843,8 +146532,8 @@ self: {
      }:
      mkDerivation {
        pname = "inline-asm";
-       version = "0.4.0.1";
-       sha256 = "19djbqfidl8spii2y5a4qi5a6k2dhh9kg4lafxx58w60118rsv6z";
+       version = "0.4.0.2";
+       sha256 = "01npi02i8wf9b0pa18cgl78ma6r9xqz0i7dc3khkj1725w5wkhvp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -146039,19 +146728,19 @@ self: {
      }) {aether = null;};
 
   "insert-ordered-containers" = callPackage
-    ({ mkDerivation, aeson, base, base-compat, hashable, lens
-     , optics-core, optics-extra, QuickCheck, semigroupoids, semigroups
-     , tasty, tasty-quickcheck, text, transformers, unordered-containers
+    ({ mkDerivation, aeson, base, base-compat, hashable
+     , indexed-traversable, lens, optics-core, optics-extra, QuickCheck
+     , semigroupoids, semigroups, tasty, tasty-quickcheck, text
+     , transformers, unordered-containers
      }:
      mkDerivation {
        pname = "insert-ordered-containers";
-       version = "0.2.3.1";
-       sha256 = "020a56280mxjk9k97q2m1424m73m1sf1ccl0wm0ci9msyw2g51za";
-       revision = "1";
-       editedCabalFile = "1s90flzj3039s50r6hx7mqihf8lvarcqb6zps7m12x543gahfcq0";
+       version = "0.2.4";
+       sha256 = "174maygil2mffjz2ssqawlmv36413m65zp3ng67hzij4dh8piz7x";
        libraryHaskellDepends = [
-         aeson base base-compat hashable lens optics-core optics-extra
-         semigroupoids semigroups text transformers unordered-containers
+         aeson base base-compat hashable indexed-traversable lens
+         optics-core optics-extra semigroupoids semigroups text transformers
+         unordered-containers
        ];
        testHaskellDepends = [
          aeson base base-compat hashable lens QuickCheck semigroupoids
@@ -146098,8 +146787,8 @@ self: {
      }:
      mkDerivation {
        pname = "inspection-testing";
-       version = "0.4.2.4";
-       sha256 = "11nz8j56l3h7sn927mcsms9af9rpqkmxc0c0vf9mln567wpb75h3";
+       version = "0.4.3.0";
+       sha256 = "1pba3br5vd11svk9fpg5s977q55qlvhlf95nd5ay79bwdjm10hj3";
        libraryHaskellDepends = [
          base containers ghc mtl template-haskell transformers
        ];
@@ -146136,21 +146825,21 @@ self: {
     ({ mkDerivation, aeson, aeson-extra, base, binary, bytestring
      , containers, directory, ekg-core, exceptions, hslogger
      , http-client, http-client-tls, http-types, HUnit, network, process
-     , random, regex-base, regex-tdfa, retry, scientific, servant
-     , servant-server, stm, sysinfo, text, time, transformers, unix
-     , unordered-containers, wai, warp
+     , random, regex-base, regex-compat, regex-pcre, regex-tdfa, retry
+     , scientific, servant, servant-server, stm, sysinfo, text, time
+     , transformers, unix, unordered-containers, wai, warp
      }:
      mkDerivation {
        pname = "instana-haskell-trace-sdk";
-       version = "0.4.0.0";
-       sha256 = "0cg1i7whiwg07zsby5zr3q3pqg24js3zvrd2rwlpfvqx1pkf3qxh";
+       version = "0.5.0.1";
+       sha256 = "1414c9jahmkszpag40iyzrr0g346dp9l1ssz60693ivcm0q16pii";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-extra base bytestring containers directory ekg-core
          exceptions hslogger http-client http-client-tls http-types network
-         process random regex-base regex-tdfa retry scientific stm sysinfo
-         text time unix unordered-containers wai
+         process random regex-base regex-compat regex-pcre regex-tdfa retry
+         scientific stm sysinfo text time unix unordered-containers wai
        ];
        executableHaskellDepends = [
          aeson base binary bytestring hslogger http-client http-types
@@ -146160,7 +146849,8 @@ self: {
        testHaskellDepends = [
          aeson aeson-extra base bytestring directory ekg-core exceptions
          hslogger http-client http-types HUnit process random regex-base
-         regex-tdfa retry scientific text unix unordered-containers
+         regex-compat regex-pcre regex-tdfa retry scientific text unix
+         unordered-containers
        ];
        description = "SDK for adding custom Instana tracing support to Haskell applications";
        license = lib.licenses.mit;
@@ -146663,10 +147353,8 @@ self: {
      }:
      mkDerivation {
        pname = "intern";
-       version = "0.9.3";
-       sha256 = "1pbk804kq5p25ixrihhpfgy0fwj8i6cybxlhk42krzni7ad7gx4k";
-       revision = "1";
-       editedCabalFile = "1cjlmvg55nn9fd1f0jfmgy1rjys7gna3x3qknnpcmndq6vzg1mrl";
+       version = "0.9.4";
+       sha256 = "00c74apc2ap1pjxmzk1c975zzqrc94p69l7v1fvfakv87mbrg8j0";
        libraryHaskellDepends = [
          array base bytestring hashable text unordered-containers
        ];
@@ -146989,21 +147677,13 @@ self: {
      }) {};
 
   "intervals" = callPackage
-    ({ mkDerivation, array, base, Cabal, cabal-doctest, directory
-     , distributive, doctest, filepath, ghc-prim, QuickCheck
-     , template-haskell
-     }:
+    ({ mkDerivation, array, base, distributive, ghc-prim, QuickCheck }:
      mkDerivation {
        pname = "intervals";
-       version = "0.9.1";
-       sha256 = "1s9pj2dah94smq769q4annxv2grdx376wvhzl4rsq85kjppf5a6z";
-       revision = "1";
-       editedCabalFile = "0fz1g5nlh87qznpm5cnj6rn65wi9nw8k7daw43jng1f2v0svvxng";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "0.9.2";
+       sha256 = "1qibvgys8lw61x9na3iy3dcglyj9qyhcbfc00glnagl7cbk1shlv";
        libraryHaskellDepends = [ array base distributive ghc-prim ];
-       testHaskellDepends = [
-         base directory doctest filepath QuickCheck template-haskell
-       ];
+       testHaskellDepends = [ base QuickCheck ];
        description = "Interval Arithmetic";
        license = lib.licenses.bsd3;
      }) {};
@@ -147193,6 +147873,52 @@ self: {
        license = lib.licenses.bsd2;
      }) {};
 
+  "inventory" = callPackage
+    ({ mkDerivation, appendmap, base, bytestring, containers, directory
+     , filepath, ghc, ghc-paths, mtl, tasty, tasty-hunit
+     }:
+     mkDerivation {
+       pname = "inventory";
+       version = "0.1.0.0";
+       sha256 = "0nflfrs9qb2bfkpi07r2a5k6lkyyspvfqz18pfvqa2rkpfcqw9bd";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         appendmap base bytestring containers directory filepath ghc
+         ghc-paths mtl
+       ];
+       executableHaskellDepends = [
+         appendmap base bytestring containers directory filepath ghc
+         ghc-paths mtl
+       ];
+       testHaskellDepends = [
+         appendmap base bytestring containers directory filepath ghc
+         ghc-paths mtl tasty tasty-hunit
+       ];
+       description = "Project statistics and definition analysis";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "invert" = callPackage
+    ({ mkDerivation, base, containers, criterion, generic-deriving
+     , hashable, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "invert";
+       version = "1.0";
+       sha256 = "18q070bawfnyi4wl6rxb6l5ihda0xzmlb8g1z0sg46vghvbs985v";
+       revision = "2";
+       editedCabalFile = "1829iy3jg0zwms16cqd4rdg5khl348ih44b3mz7l7cy9wlci3cli";
+       libraryHaskellDepends = [
+         base containers generic-deriving hashable unordered-containers
+         vector
+       ];
+       testHaskellDepends = [ base ];
+       benchmarkHaskellDepends = [ base criterion ];
+       description = "Automatically generate a function's inverse";
+       license = lib.licenses.asl20;
+     }) {};
+
   "invertible" = callPackage
     ({ mkDerivation, base, haskell-src-meta, invariant, lens
      , partial-isomorphisms, QuickCheck, semigroupoids, template-haskell
@@ -147202,6 +147928,8 @@ self: {
        pname = "invertible";
        version = "0.2.0.7";
        sha256 = "1ngcmy59cyrg5idcn8a4gxg6ipq88rhhwhdb09gra8jcraq9n7ii";
+       revision = "1";
+       editedCabalFile = "19xcczz26ji5xaws4ikvacqz991qgislj32hs8rlks07qw3qmnbn";
        libraryHaskellDepends = [
          base haskell-src-meta invariant lens partial-isomorphisms
          semigroupoids template-haskell transformers
@@ -147408,6 +148136,8 @@ self: {
        pname = "io-streams";
        version = "1.5.2.0";
        sha256 = "1hbabrk5145d77qi23688piaf1wc93n8vaj846n0s3zk953z1lk3";
+       revision = "1";
+       editedCabalFile = "1dcadj5gv1m2yy97zsbq5x67vsblp8gy58a0kl5di9vkbgrcw46n";
        configureFlags = [ "-fnointeractivetests" ];
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-builder network primitive
@@ -149364,12 +150094,13 @@ self: {
 
   "j" = callPackage
     ({ mkDerivation, base, bytestring, repa, tasty, tasty-hunit, unix
+     , vector
      }:
      mkDerivation {
        pname = "j";
-       version = "0.2.1.1";
-       sha256 = "14mmqdkh73idqsxsvgvz5nfv7n0ashj35amawzy63zs80hfmqcf2";
-       libraryHaskellDepends = [ base bytestring repa unix ];
+       version = "0.2.2.0";
+       sha256 = "1lmk6zw5w51d6aglykiyp9qpa656qs9imf99nalzn7qldsz81aqd";
+       libraryHaskellDepends = [ base bytestring repa unix vector ];
        testHaskellDepends = [ base bytestring repa tasty tasty-hunit ];
        description = "J in Haskell";
        license = lib.licenses.bsd3;
@@ -150043,8 +150774,8 @@ self: {
     ({ mkDerivation, base, mtl, parsec, tasty, tasty-hunit, text }:
      mkDerivation {
        pname = "jira-wiki-markup";
-       version = "1.3.2";
-       sha256 = "16vcy9gn6qrzvr99l26az4yi2dy9xngcb1wmj86yl7bmk1hcq3wc";
+       version = "1.3.3";
+       sha256 = "0sgm9x2bdwazhj598aix2xyshjy6cvai4sgq5zz8gxv2l6prfbr7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base mtl parsec text ];
@@ -151017,8 +151748,8 @@ self: {
      }:
      mkDerivation {
        pname = "json-feed";
-       version = "1.0.11";
-       sha256 = "1h9v71pvzi761ml0dpkmhd7w2l36s1v3rsq9zbshw87762710fy1";
+       version = "1.0.12";
+       sha256 = "0baav0mvprja5jdmndan6psxqm37173yvrjrr04kfxs9568dvzyf";
        libraryHaskellDepends = [
          aeson base bytestring mime-types network-uri tagsoup text time
        ];
@@ -151648,8 +152379,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsonifier";
-       version = "0.1.0.6";
-       sha256 = "0yhczdq3m79xbg04hcahl2c75kipm5szahr7bmj8xjml4zxzd3bk";
+       version = "0.1.1";
+       sha256 = "09w92adnjskx7cxyki415nqxdzqfz78rcqisk1g862r92907ibwf";
        libraryHaskellDepends = [
          base bytestring ptr-poker scientific text
        ];
@@ -152494,8 +153225,8 @@ self: {
      }:
      mkDerivation {
        pname = "kan-extensions";
-       version = "5.2.1";
-       sha256 = "114zs8j81ich4178qvvlnpch09dvbv1mm1g7xf2g78f77gh9ia7a";
+       version = "5.2.2";
+       sha256 = "184qhhjd24i15mcs4lq8fdb86pdg3g5nxhx1x41prigrmi6cxwrv";
        libraryHaskellDepends = [
          adjunctions array base comonad containers contravariant
          distributive free invariant mtl profunctors semigroupoids tagged
@@ -154043,8 +154774,6 @@ self: {
        testHaskellDepends = [ base stm ];
        description = "A lightweight, structured-concurrency library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "kibro" = callPackage
@@ -154564,15 +155293,29 @@ self: {
        broken = true;
      }) {};
 
+  "kparams" = callPackage
+    ({ mkDerivation, base, HUnit }:
+     mkDerivation {
+       pname = "kparams";
+       version = "0.1.0.0";
+       sha256 = "0q1ma3qm2anpr6w4xa78wh97b7pzy85ggjiiwbd0gb7b0vwbglx0";
+       isLibrary = false;
+       isExecutable = true;
+       libraryHaskellDepends = [ base ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base HUnit ];
+       doHaddock = false;
+       description = "Extracts values from /proc/cmdline";
+       license = lib.licenses.mit;
+     }) {};
+
   "kqueue" = callPackage
     ({ mkDerivation, base, c2hs, directory, filepath, mtl, time, unix
      }:
      mkDerivation {
        pname = "kqueue";
-       version = "0.2";
-       sha256 = "0sbkyq17i41kln7scrfc9kdzsbyb787z33kzpkdz2vrziapns33h";
-       revision = "3";
-       editedCabalFile = "17wanwn4pmh6z6v7ncg50q4sgg87lllld50wa5j5mmb07q4c3mj7";
+       version = "0.2.1";
+       sha256 = "0svrswcglipmm47lnqi41hcsn1gvkcniva6qajwqxrdr0wvvhgdi";
        libraryHaskellDepends = [ base directory filepath mtl time unix ];
        libraryToolDepends = [ c2hs ];
        description = "A binding to the kqueue event library";
@@ -155086,8 +155829,8 @@ self: {
     ({ mkDerivation, base, hspec, servant, servant-foreign, text }:
      mkDerivation {
        pname = "lackey";
-       version = "1.0.13";
-       sha256 = "1a3gpr0gf1dhvy6lcqbgkf0iznjg62yav2xfnzps48wba5585dj0";
+       version = "1.0.14";
+       sha256 = "01yi2si0gakmjk66jmm93hz50nl7xa1zhmhcrhqn8ip0mkpncnqk";
        libraryHaskellDepends = [ base servant servant-foreign text ];
        testHaskellDepends = [ base hspec servant servant-foreign text ];
        description = "Generate Ruby clients from Servant APIs";
@@ -156415,8 +157158,8 @@ self: {
      }:
      mkDerivation {
        pname = "language-docker";
-       version = "9.1.2";
-       sha256 = "014rb5jf650fhsmc02v4xc60w7v1261ri1w9ig6dw0xjdgxalvbs";
+       version = "9.1.3";
+       sha256 = "00nr8fb981rkjzy2xhppvg9avsi377ww28d50rldm5wh7ax9s3w2";
        libraryHaskellDepends = [
          base bytestring containers data-default-class megaparsec
          prettyprinter split text time
@@ -157782,8 +158525,8 @@ self: {
        pname = "lattices";
        version = "2.0.2";
        sha256 = "108rhpax72j6xdl0yqdmg7n32l1j805861f3q9wd3jh8nc67avix";
-       revision = "2";
-       editedCabalFile = "122mrj3b15jv1bjmzc8k37dkc2gy05hg550gia09n7j7n76v0h7i";
+       revision = "3";
+       editedCabalFile = "1n1sv7477v88ibcwb5rh4p1r9r4hj0jj7s0vh6r0y2w4hbhpslvr";
        libraryHaskellDepends = [
          base base-compat containers deepseq hashable integer-logarithms
          QuickCheck semigroupoids tagged transformers universe-base
@@ -157810,8 +158553,8 @@ self: {
      }:
      mkDerivation {
        pname = "launchdarkly-server-sdk";
-       version = "2.0.2";
-       sha256 = "01c42wyjvnd1wp665p2khjsm1apc9kw3gw6mnlwbdgsimhj8v4z0";
+       version = "2.1.0";
+       sha256 = "1nj6jcmara4x8y292q5qacli6hmfhahw856a0nyngca2c8m5mwr1";
        libraryHaskellDepends = [
          aeson attoparsec base base16-bytestring bytestring
          bytestring-conversion clock containers cryptohash exceptions extra
@@ -158107,8 +158850,8 @@ self: {
        pname = "lazy-io-streams";
        version = "0.1.0.0";
        sha256 = "022x0sikvdsvpp0gh7q82sdpd5kxd2zmprdpmf7z4c3hf4xk9vxy";
-       revision = "1";
-       editedCabalFile = "0pn446g45naqh92g9mib98fw5xznbp6r4x27acmnqrmlcqjz9jsm";
+       revision = "2";
+       editedCabalFile = "01r6i81rxm6rng50yhfj84z3dvhcbap10sfqigg01mfmy4zn9pnl";
        libraryHaskellDepends = [ base bytestring io-streams ];
        description = "Get lazy with your io-streams";
        license = lib.licenses.bsd3;
@@ -158120,8 +158863,8 @@ self: {
     ({ mkDerivation, base, containers, doctest, lens, markdown-unlit }:
      mkDerivation {
        pname = "lazy-priority-queue";
-       version = "0.1.0.1";
-       sha256 = "1v0jxf56wxlncw0nppmnm89j14hn8a81swr1y2sbk7gsqf73qd8v";
+       version = "0.1.1";
+       sha256 = "1b853cqc1wybwmnywh9jhcv382v43mfyqxskffizp1m10gii9ss5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ];
@@ -158129,7 +158872,7 @@ self: {
        testHaskellDepends = [ base doctest lens ];
        testToolDepends = [ markdown-unlit ];
        description = "Lazy-Spined Monadic Priority Queues";
-       license = lib.licenses.bsd3;
+       license = lib.licenses.gpl3;
        hydraPlatforms = lib.platforms.none;
        broken = true;
      }) {};
@@ -158248,14 +158991,12 @@ self: {
      }) {};
 
   "lca" = callPackage
-    ({ mkDerivation, base, Cabal, cabal-doctest, doctest }:
+    ({ mkDerivation, base }:
      mkDerivation {
        pname = "lca";
-       version = "0.3.1";
-       sha256 = "0kj3zsmzckczp51w70x1aqayk2fay4vcqwz8j6sdv0hdw1d093ca";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "0.4";
+       sha256 = "0miji532qc725vprhnc5p3k4i6515i1fn1g0f7hm0gmq0hvvh51f";
        libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base doctest ];
        description = "O(log n) persistent online lowest common ancestor search without preprocessing";
        license = lib.licenses.bsd3;
      }) {};
@@ -158887,8 +159628,8 @@ self: {
        pname = "lens";
        version = "4.19.2";
        sha256 = "0fy2vr5r11cc6ana8m2swqgs3zals4kims55vd6119bi76p5iy2j";
-       revision = "3";
-       editedCabalFile = "1anqghjbi0wyvqpg7qcbph5rfq78sjpdavrajh4z6f20kzy4mn45";
+       revision = "5";
+       editedCabalFile = "1r9rhblsw1g2y2lyf8vhps05hvx6jxs5r6y1rf868hxz0z242i7q";
        setupHaskellDepends = [ base Cabal cabal-doctest filepath ];
        libraryHaskellDepends = [
          array base base-orphans bifunctors bytestring call-stack comonad
@@ -158913,6 +159654,45 @@ self: {
        license = lib.licenses.bsd2;
      }) {};
 
+  "lens_5_0_1" = callPackage
+    ({ mkDerivation, array, assoc, base, base-compat, base-orphans
+     , bifunctors, bytestring, call-stack, comonad, containers
+     , contravariant, criterion, deepseq, distributive, exceptions
+     , filepath, free, generic-deriving, ghc-prim, hashable, HUnit
+     , indexed-traversable, indexed-traversable-instances
+     , kan-extensions, mtl, parallel, profunctors, QuickCheck
+     , reflection, semigroupoids, simple-reflect, strict, tagged
+     , template-haskell, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, th-abstraction, these
+     , transformers, transformers-compat, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "lens";
+       version = "5.0.1";
+       sha256 = "0gzwx4b758phm51hz5i4bbkbvjw1ka7qj04zd9l9sh9n6s9ksm7c";
+       libraryHaskellDepends = [
+         array assoc base base-orphans bifunctors bytestring call-stack
+         comonad containers contravariant distributive exceptions filepath
+         free ghc-prim hashable indexed-traversable
+         indexed-traversable-instances kan-extensions mtl parallel
+         profunctors reflection semigroupoids strict tagged template-haskell
+         text th-abstraction these transformers transformers-compat
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         base containers deepseq HUnit mtl QuickCheck simple-reflect
+         test-framework test-framework-hunit test-framework-quickcheck2
+         transformers
+       ];
+       benchmarkHaskellDepends = [
+         base base-compat bytestring comonad containers criterion deepseq
+         generic-deriving transformers unordered-containers vector
+       ];
+       description = "Lenses, Folds and Traversals";
+       license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "lens-accelerate" = callPackage
     ({ mkDerivation, accelerate, base, lens }:
      mkDerivation {
@@ -158925,43 +159705,33 @@ self: {
      }) {};
 
   "lens-action" = callPackage
-    ({ mkDerivation, base, Cabal, cabal-doctest, comonad, contravariant
-     , directory, doctest, filepath, lens, mtl, profunctors
-     , semigroupoids, semigroups, transformers
+    ({ mkDerivation, base, comonad, contravariant, lens, mtl
+     , profunctors, semigroupoids, transformers
      }:
      mkDerivation {
        pname = "lens-action";
-       version = "0.2.4";
-       sha256 = "06yg4ds0d4cfs3zl1fhc8865i5w6pwqhx9bxngfa8f9974mdiid3";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "0.2.5";
+       sha256 = "02sv76far3y57p2pgcjsx5ffaai8rm4669qkp82l06vv964f0v2r";
        libraryHaskellDepends = [
          base comonad contravariant lens mtl profunctors semigroupoids
-         semigroups transformers
+         transformers
        ];
-       testHaskellDepends = [ base directory doctest filepath ];
        description = "Monadic Getters and Folds";
        license = lib.licenses.bsd3;
      }) {};
 
   "lens-aeson" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, Cabal
-     , cabal-doctest, doctest, generic-deriving, lens, scientific
-     , semigroups, simple-reflect, text, unordered-containers, vector
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, lens
+     , scientific, text, unordered-containers, vector
      }:
      mkDerivation {
        pname = "lens-aeson";
-       version = "1.1";
-       sha256 = "03n9dkdyqkkf15h8k4c4bjwgjcbbs2an2cf6z8x54nvkjmprrg7p";
-       revision = "3";
-       editedCabalFile = "10zm8r29c3hb5saxv3ryr67nsg8rf4dk67yjwysasd3jpkxghj5p";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "1.1.1";
+       sha256 = "1g37c8p25by3hvy5lmq4rqyl9wxmxmci2h16rj4i5jcp7slf3mvg";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring lens scientific text
          unordered-containers vector
        ];
-       testHaskellDepends = [
-         base doctest generic-deriving semigroups simple-reflect
-       ];
        description = "Law-abiding lenses for aeson";
        license = lib.licenses.mit;
      }) {};
@@ -159152,19 +159922,15 @@ self: {
      }) {};
 
   "lens-process" = callPackage
-    ({ mkDerivation, base, Cabal, cabal-doctest, doctest, filepath
-     , lens, process, tasty, tasty-hunit
+    ({ mkDerivation, base, filepath, lens, process, tasty, tasty-hunit
      }:
      mkDerivation {
        pname = "lens-process";
-       version = "0.3.0.2";
-       sha256 = "1bv6z7309bq9jv2lzr79bcbwg1pkhy728pnrjnl3c3nv807a3igk";
-       revision = "2";
-       editedCabalFile = "1l71hi0a5yn5x9w4br5bzypa25zdlqw6jcb69z3bhb6dx53197ma";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "0.4.0.0";
+       sha256 = "1gms2bxa1sygpid09cg3nk1kyhkg4s38dqs0gd77ia2aln6zd7qg";
        libraryHaskellDepends = [ base filepath lens process ];
        testHaskellDepends = [
-         base doctest filepath lens process tasty tasty-hunit
+         base filepath lens process tasty tasty-hunit
        ];
        description = "Optics for system processes";
        license = lib.licenses.bsd3;
@@ -159176,8 +159942,8 @@ self: {
        pname = "lens-properties";
        version = "4.11.1";
        sha256 = "1caciyn75na3f25q9qxjl7ibjam22xlhl5k2pqfiak10lxsmnz2g";
-       revision = "4";
-       editedCabalFile = "1ky3xzh3cgam5ncx7n25xbll7vqw3x7vyhprfmxm34pshkxbrjh7";
+       revision = "5";
+       editedCabalFile = "0zv5r50xz8msrcwrvqym88pwihqcpmlk3vi493jdhik4n70cs0c6";
        libraryHaskellDepends = [ base lens QuickCheck transformers ];
        description = "QuickCheck properties for lens";
        license = lib.licenses.bsd3;
@@ -159189,8 +159955,8 @@ self: {
      }:
      mkDerivation {
        pname = "lens-regex";
-       version = "0.1.1";
-       sha256 = "0c673v6k6y7dng6qmi4jbh3jlx803mg5g1911bz54r785fm6p50d";
+       version = "0.1.3";
+       sha256 = "11zgdk46skj3g0436vilcgg4wvclixh07xjwqfcsfhffn0vn3mz4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -159812,14 +160578,14 @@ self: {
      }) {};
 
   "libBF" = callPackage
-    ({ mkDerivation, base, deepseq }:
+    ({ mkDerivation, base, deepseq, hashable }:
      mkDerivation {
        pname = "libBF";
-       version = "0.5.1";
-       sha256 = "0iwbkfbp26z1zmnk28mnkvyh8k0i0bx56wl2jwygdnqvl5lmfv6i";
+       version = "0.6.2";
+       sha256 = "00axpwgwzqchma89fdp1dxk97palvgv4j1ag8dq1w4gl9yh5q0vx";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base deepseq ];
+       libraryHaskellDepends = [ base deepseq hashable ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        description = "A binding to the libBF library";
@@ -160705,8 +161471,8 @@ self: {
     ({ mkDerivation, base, bytestring, libtelnet }:
      mkDerivation {
        pname = "libtelnet";
-       version = "0.1.0.0";
-       sha256 = "0s2ldi4ikjdvki8r190mnkjd0jkahn8ln6gvqb8bn5d291j19nmc";
+       version = "0.1.0.1";
+       sha256 = "13g7wpibjncj9h6yva8gj9fqs8j806r1vnina78wgv8f980dqxks";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring ];
@@ -160719,8 +161485,8 @@ self: {
     ({ mkDerivation, base, bytestring, libversion }:
      mkDerivation {
        pname = "libversion";
-       version = "0.1.0";
-       sha256 = "0w5maaklglbxp7k0ah699w1mhjsjrpgw9n7axld319dpfdwhl94j";
+       version = "0.1.1";
+       sha256 = "0zxkwiacaznf30wgywmawmqrpvi4r1wwfh6pys82jgr0v8yla4v8";
        libraryHaskellDepends = [ base bytestring ];
        libraryPkgconfigDepends = [ libversion ];
        description = "Haskell binding to libversion";
@@ -160853,21 +161619,17 @@ self: {
      }) {nvpair = null; inherit (pkgs) zfs;};
 
   "licensor" = callPackage
-    ({ mkDerivation, base, Cabal, cmdargs, containers, directory
-     , process
-     }:
+    ({ mkDerivation, base, Cabal, containers, directory, process }:
      mkDerivation {
        pname = "licensor";
-       version = "0.4.1";
-       sha256 = "0p1wnyff2v23405v42ks5m3lyxhcahmcs3vh2qc5kz4q7ybnks7b";
+       version = "0.4.3";
+       sha256 = "19ydisxc5yzm0ccj76p7sg39cpjg5c57wd3gaybc5k7bqrlv14c6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base Cabal containers directory process
        ];
-       executableHaskellDepends = [
-         base Cabal cmdargs containers directory
-       ];
+       executableHaskellDepends = [ base Cabal containers directory ];
        description = "A license compatibility helper";
        license = lib.licenses.mit;
      }) {};
@@ -160928,6 +161690,27 @@ self: {
        license = lib.licenses.mpl20;
      }) {};
 
+  "lifetimes" = callPackage
+    ({ mkDerivation, base, containers, hspec, monad-stm
+     , safe-exceptions, stm, transformers, zenhack-prelude
+     }:
+     mkDerivation {
+       pname = "lifetimes";
+       version = "0.1.0.0";
+       sha256 = "192bzz4nqqi2kdk9x4nxlwmx0mf0sshqdcnx1dgyjh5z9k29rww5";
+       libraryHaskellDepends = [
+         base containers monad-stm stm transformers zenhack-prelude
+       ];
+       testHaskellDepends = [
+         base containers hspec monad-stm safe-exceptions stm transformers
+         zenhack-prelude
+       ];
+       description = "Flexible manual resource management";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "lift-generics" = callPackage
     ({ mkDerivation, base, base-compat, generic-deriving, ghc-prim
      , hspec, hspec-discover, mtl, template-haskell, th-compat
@@ -160982,6 +161765,28 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "lifted-async_0_10_1_3" = callPackage
+    ({ mkDerivation, async, base, constraints, deepseq, HUnit
+     , lifted-base, monad-control, mtl, tasty, tasty-bench
+     , tasty-expected-failure, tasty-hunit, tasty-th, transformers-base
+     }:
+     mkDerivation {
+       pname = "lifted-async";
+       version = "0.10.1.3";
+       sha256 = "1hml672j8sqxhklxif3nwr8v59a596wwwbllq0zvvmlxcjdzlh7k";
+       libraryHaskellDepends = [
+         async base constraints lifted-base monad-control transformers-base
+       ];
+       testHaskellDepends = [
+         async base HUnit lifted-base monad-control mtl tasty
+         tasty-expected-failure tasty-hunit tasty-th
+       ];
+       benchmarkHaskellDepends = [ async base deepseq tasty-bench ];
+       description = "Run lifted IO operations asynchronously and wait for their results";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "lifted-base" = callPackage
     ({ mkDerivation, base, criterion, HUnit, monad-control, monad-peel
      , test-framework, test-framework-hunit, transformers
@@ -161462,51 +162267,22 @@ self: {
 
   "linear" = callPackage
     ({ mkDerivation, adjunctions, base, base-orphans, binary, bytes
-     , bytestring, Cabal, cabal-doctest, cereal, containers, deepseq
-     , distributive, doctest, ghc-prim, hashable, HUnit, lens, random
-     , reflection, semigroupoids, semigroups, simple-reflect, tagged
+     , bytestring, cereal, containers, deepseq, distributive, ghc-prim
+     , hashable, HUnit, indexed-traversable, lens, random, reflection
+     , semigroupoids, semigroups, simple-reflect, tagged
      , template-haskell, test-framework, test-framework-hunit
      , transformers, transformers-compat, unordered-containers, vector
      , void
      }:
      mkDerivation {
        pname = "linear";
-       version = "1.21.3";
-       sha256 = "12gn571cfchrj9zir30c86vib3ppjia5908di21pnsfy6dmw6994";
-       revision = "1";
-       editedCabalFile = "17cbb44yyfcxz9fybv05yxli8gdfka415dwrp7vh804q7qxs5vna";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "1.21.5";
+       sha256 = "19pvz467wd8gss95qfi90xnd5fwm6dpdppr21g5n30x4m7niymn3";
        libraryHaskellDepends = [
          adjunctions base base-orphans binary bytes cereal containers
-         deepseq distributive ghc-prim hashable lens random reflection
-         semigroupoids semigroups tagged template-haskell transformers
-         transformers-compat unordered-containers vector void
-       ];
-       testHaskellDepends = [
-         base binary bytestring deepseq doctest HUnit lens reflection
-         simple-reflect test-framework test-framework-hunit vector
-       ];
-       description = "Linear Algebra";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "linear_1_21_4" = callPackage
-    ({ mkDerivation, adjunctions, base, base-orphans, binary, bytes
-     , bytestring, cereal, containers, deepseq, distributive, ghc-prim
-     , hashable, HUnit, lens, random, reflection, semigroupoids
-     , semigroups, simple-reflect, tagged, template-haskell
-     , test-framework, test-framework-hunit, transformers
-     , transformers-compat, unordered-containers, vector, void
-     }:
-     mkDerivation {
-       pname = "linear";
-       version = "1.21.4";
-       sha256 = "019dsw4xqcmz8g0hanc3xsl0k1pqzxkhp9jz1sf12mqsgs6jj0zr";
-       libraryHaskellDepends = [
-         adjunctions base base-orphans binary bytes cereal containers
-         deepseq distributive ghc-prim hashable lens random reflection
-         semigroupoids semigroups tagged template-haskell transformers
-         transformers-compat unordered-containers vector void
+         deepseq distributive ghc-prim hashable indexed-traversable lens
+         random reflection semigroupoids semigroups tagged template-haskell
+         transformers transformers-compat unordered-containers vector void
        ];
        testHaskellDepends = [
          base binary bytestring deepseq HUnit reflection simple-reflect
@@ -161514,7 +162290,6 @@ self: {
        ];
        description = "Linear Algebra";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "linear-accelerate" = callPackage
@@ -161556,6 +162331,32 @@ self: {
        broken = true;
      }) {};
 
+  "linear-base" = callPackage
+    ({ mkDerivation, base, containers, deepseq, gauge, ghc-prim
+     , hashable, hashtables, hedgehog, mmorph, primitive, random
+     , random-shuffle, storable-tuple, tasty, tasty-hedgehog, text
+     , transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "linear-base";
+       version = "0.1.0";
+       sha256 = "00n7rmvkjg42n1pba1y1lziw9a8gyhix15rw13qsyymi8bdr8k82";
+       libraryHaskellDepends = [
+         base containers ghc-prim hashable primitive storable-tuple text
+         transformers vector
+       ];
+       testHaskellDepends = [
+         base containers hedgehog mmorph storable-tuple tasty tasty-hedgehog
+         text vector
+       ];
+       benchmarkHaskellDepends = [
+         base deepseq gauge hashable hashtables random random-shuffle
+         unordered-containers
+       ];
+       description = "Standard library for linear types";
+       license = lib.licenses.mit;
+     }) {};
+
   "linear-circuit" = callPackage
     ({ mkDerivation, base, comfort-array, comfort-graph, containers
      , lapack, netlib-ffi, non-empty, QuickCheck, transformers
@@ -162079,6 +162880,17 @@ self: {
        broken = true;
      }) {blkid = null;};
 
+  "linux-capabilities" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "linux-capabilities";
+       version = "0.1.0.0";
+       sha256 = "033mnbxg9bzi3cc4js22gpi96g5yslv6sksxdsgab5k075gad85k";
+       libraryHaskellDepends = [ base ];
+       description = "Linux capabilities Haskell data type";
+       license = lib.licenses.asl20;
+     }) {};
+
   "linux-cgroup" = callPackage
     ({ mkDerivation, base, filepath }:
      mkDerivation {
@@ -162752,8 +163564,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "list-singleton";
-       version = "1.0.0.4";
-       sha256 = "0mb2kwj3gvykwh0iywwzqdnma27nxs1hl1rvnp3qxi893p4ikyiw";
+       version = "1.0.0.5";
+       sha256 = "1vbhg04dral59b6f43xcykgi6war5mcflmczwcmqfhy7lgb86r3n";
        libraryHaskellDepends = [ base ];
        description = "Easily and clearly create lists with only one element in them";
        license = lib.licenses.isc;
@@ -164186,24 +164998,17 @@ self: {
      }) {};
 
   "log-domain" = callPackage
-    ({ mkDerivation, base, binary, bytes, Cabal, cabal-doctest, cereal
-     , comonad, deepseq, distributive, doctest, generic-deriving
-     , hashable, semigroupoids, semigroups, simple-reflect, vector
+    ({ mkDerivation, base, binary, bytes, cereal, comonad, deepseq
+     , distributive, hashable, semigroupoids, semigroups, vector
      }:
      mkDerivation {
        pname = "log-domain";
-       version = "0.13";
-       sha256 = "0isl8rs0k5088sxapfh351sff3lh7r1qkgwz8lmai3gvqasb3avv";
-       revision = "2";
-       editedCabalFile = "1dylv7gijrm3jn9d1gab9xfqk7xpfb9qrlkaaqpf7b3q8qdswqzs";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "0.13.1";
+       sha256 = "0ipiiflzs1r7wm5k8b9cqn4l09rjdyks3pxnm4p3kmncd5s2ajsv";
        libraryHaskellDepends = [
          base binary bytes cereal comonad deepseq distributive hashable
          semigroupoids semigroups vector
        ];
-       testHaskellDepends = [
-         base doctest generic-deriving semigroups simple-reflect
-       ];
        description = "Log-domain arithmetic";
        license = lib.licenses.bsd3;
      }) {};
@@ -164673,21 +165478,6 @@ self: {
        broken = true;
      }) {};
 
-  "logict_0_7_0_3" = callPackage
-    ({ mkDerivation, base, mtl, tasty, tasty-hunit }:
-     mkDerivation {
-       pname = "logict";
-       version = "0.7.0.3";
-       sha256 = "0psihirap7mrn3ly1h9dvgvgjsqbqwji8m13fm48zl205mpfh73r";
-       revision = "1";
-       editedCabalFile = "13hxmzaxd5iv9hjad5kw9infq0lxsgypqqb2z1i1939604a90qp4";
-       libraryHaskellDepends = [ base mtl ];
-       testHaskellDepends = [ base mtl tasty tasty-hunit ];
-       description = "A backtracking logic-programming monad";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
   "logict" = callPackage
     ({ mkDerivation, async, base, mtl, tasty, tasty-hunit }:
      mkDerivation {
@@ -165294,18 +166084,18 @@ self: {
      }) {};
 
   "lorentz" = callPackage
-    ({ mkDerivation, aeson-pretty, base, bimap, bytestring, constraints
-     , containers, data-default, first-class-families, fmt, interpolate
-     , lens, morley, morley-prelude, mtl, named, optparse-applicative
-     , singletons, template-haskell, text, text-manipulate
-     , unordered-containers, vinyl, with-utf8
+    ({ mkDerivation, aeson-pretty, base-noprelude, bimap, bytestring
+     , constraints, containers, data-default, first-class-families, fmt
+     , interpolate, lens, morley, morley-prelude, mtl, named
+     , optparse-applicative, singletons, template-haskell, text
+     , text-manipulate, unordered-containers, vinyl, with-utf8
      }:
      mkDerivation {
        pname = "lorentz";
-       version = "0.9.1";
-       sha256 = "1f4rf4q6gfiz55qlfpkzk19nq6fw92ri3a1smyv4r55i50jr07rm";
+       version = "0.10.0";
+       sha256 = "15kgnw8f52i30xxw1q6mxlyhkpfpq5hyjsvfklg334iqr5w0nby2";
        libraryHaskellDepends = [
-         aeson-pretty base bimap bytestring constraints containers
+         aeson-pretty base-noprelude bimap bytestring constraints containers
          data-default first-class-families fmt interpolate lens morley
          morley-prelude mtl named optparse-applicative singletons
          template-haskell text text-manipulate unordered-containers vinyl
@@ -165551,6 +166341,24 @@ self: {
        broken = true;
      }) {};
 
+  "lsfrom" = callPackage
+    ({ mkDerivation, base, directory, filepath, simple-cmd
+     , simple-cmd-args
+     }:
+     mkDerivation {
+       pname = "lsfrom";
+       version = "0.1";
+       sha256 = "04cv4x88r10b9zkfiy1kclq3dm79akg1p16djfad8h5x988c7bq1";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base filepath simple-cmd simple-cmd-args
+       ];
+       testHaskellDepends = [ base directory filepath simple-cmd ];
+       description = "List dir files starting from a specific name";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "lsp" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, base, bytestring
      , containers, data-default, dependent-map, directory, filepath
@@ -165561,8 +166369,8 @@ self: {
      }:
      mkDerivation {
        pname = "lsp";
-       version = "1.0.0.1";
-       sha256 = "1h7ymzzm00dnvbqxz4g0zp3mvm6v9bjbgkazz514wqrcmma27cm1";
+       version = "1.1.1.0";
+       sha256 = "04ndz4v1mwga13qndmnaaj145y5zqw7zv64px7ak26qvd1m26h9r";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -165608,7 +166416,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "lsp-test_0_12_0_0" = callPackage
+  "lsp-test_0_11_0_7" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, async, base
      , bytestring, conduit, conduit-parse, containers, data-default
      , Diff, directory, filepath, Glob, haskell-lsp, hspec, lens, mtl
@@ -165617,8 +166425,8 @@ self: {
      }:
      mkDerivation {
        pname = "lsp-test";
-       version = "0.12.0.0";
-       sha256 = "1zc43j7xyfxv2i9vinx82yhkrr6m4gz46jwn9p39k76ld6j8nzpd";
+       version = "0.11.0.7";
+       sha256 = "01var9nm3kpw65jaz4rvky35ibrpfjyhfas9bi8avrw1vh2ybkcn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -165636,22 +166444,50 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "lsp-test_0_13_0_0" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, async, base
+     , bytestring, conduit, conduit-parse, containers, data-default
+     , Diff, directory, filepath, Glob, hspec, lens, lsp-types, mtl
+     , parser-combinators, process, some, text, time, transformers, unix
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "lsp-test";
+       version = "0.13.0.0";
+       sha256 = "1xyxmzcd6r56jj1k11lz1g6yld5q3k6cgb0bsf45px120dsf1dpy";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty ansi-terminal async base bytestring conduit
+         conduit-parse containers data-default Diff directory filepath Glob
+         lens lsp-types mtl parser-combinators process some text time
+         transformers unix unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base data-default directory filepath hspec lens lsp-types
+         text unordered-containers
+       ];
+       description = "Functional test framework for LSP servers";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "lsp-types" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, containers
-     , data-default, deepseq, dependent-sum-template, directory
-     , filepath, hashable, hslogger, lens, network-uri, rope-utf16-splay
-     , scientific, some, template-haskell, temporary, text
-     , unordered-containers
+     , data-default, deepseq, dependent-sum, dependent-sum-template
+     , directory, filepath, hashable, hslogger, lens, network-uri
+     , rope-utf16-splay, scientific, some, template-haskell, temporary
+     , text, unordered-containers
      }:
      mkDerivation {
        pname = "lsp-types";
-       version = "1.0.0.1";
-       sha256 = "1yrm42qsbqk94ql0khifcpvicy9lbvwwrvnr41lplbb1vhqvqc27";
+       version = "1.1.0.0";
+       sha256 = "19lkdqwh9a5rsx5nby37v54zhwyja306z0dyslsmdmwqw92qxx54";
        libraryHaskellDepends = [
          aeson base binary bytestring containers data-default deepseq
-         dependent-sum-template directory filepath hashable hslogger lens
-         network-uri rope-utf16-splay scientific some template-haskell
-         temporary text unordered-containers
+         dependent-sum dependent-sum-template directory filepath hashable
+         hslogger lens network-uri rope-utf16-splay scientific some
+         template-haskell temporary text unordered-containers
        ];
        description = "Haskell library for the Microsoft Language Server Protocol, data types";
        license = lib.licenses.mit;
@@ -165801,6 +166637,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "lua" = callPackage
+    ({ mkDerivation, base, bytestring, tasty, tasty-hunit }:
+     mkDerivation {
+       pname = "lua";
+       version = "1.0.0";
+       sha256 = "0ly10sy9xlvalaximff287wd6hr3hxqicsx5alwpqbg9ajxlx798";
+       libraryHaskellDepends = [ base bytestring ];
+       testHaskellDepends = [ base bytestring tasty tasty-hunit ];
+       description = "Lua, an embeddable scripting language";
+       license = lib.licenses.mit;
+     }) {};
+
   "lua-bc" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers
      , data-binary-ieee754, pretty, text, vector
@@ -166075,6 +166923,8 @@ self: {
        pname = "lukko";
        version = "0.1.1.3";
        sha256 = "07xb926kixqv5scqdl8w34z42zjzdpbq06f0ha3f3nm3rxhgn3m8";
+       revision = "1";
+       editedCabalFile = "0mmq1q82mrbayiij0p8wdnkf0j8drmq1iibg8kn4cak3nrn9pd1d";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
          async base bytestring filepath singleton-bool tasty
@@ -166718,22 +167568,20 @@ self: {
      }) {};
 
   "machines" = callPackage
-    ({ mkDerivation, adjunctions, base, Cabal, cabal-doctest, comonad
-     , conduit, containers, criterion, distributive, doctest, mtl, pipes
-     , pointed, profunctors, semigroupoids, semigroups, streaming
-     , transformers, transformers-compat, void
+    ({ mkDerivation, adjunctions, base, comonad, conduit, containers
+     , criterion, distributive, mtl, pipes, pointed, profunctors
+     , semigroupoids, semigroups, streaming, transformers
+     , transformers-compat, void
      }:
      mkDerivation {
        pname = "machines";
-       version = "0.7.1";
-       sha256 = "0ayajyzaczdazfsmamlm5vap43x2mdm4w8v5970y1xlxh4rb3bs1";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "0.7.2";
+       sha256 = "0pgsa67j9l1zmazlqdb5wg3cqsikyfvkq8yih7iwcqzkys5qssvr";
        libraryHaskellDepends = [
          adjunctions base comonad containers distributive mtl pointed
          profunctors semigroupoids semigroups transformers
          transformers-compat void
        ];
-       testHaskellDepends = [ base doctest ];
        benchmarkHaskellDepends = [
          base conduit criterion mtl pipes streaming
        ];
@@ -167123,8 +167971,8 @@ self: {
      }:
      mkDerivation {
        pname = "magic-wormhole";
-       version = "0.3.3";
-       sha256 = "1wsm7y05k8byxizkmkyl7bciyz6f3jwxiwqc0gvsqi31kkqajxqn";
+       version = "0.3.4";
+       sha256 = "1i9010zp1w34kfgx5xgd23hjmb0v8h3y3riiw2ripvjxqgikbky4";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -169488,36 +170336,37 @@ self: {
 
   "matterhorn" = callPackage
     ({ mkDerivation, aeson, aspell-pipe, async, base, base-compat
-     , brick, brick-skylighting, bytestring, cheapskate, checkers
-     , config-ini, connection, containers, data-clist, directory
-     , filepath, gitrev, hashable, Hclip, mattermost-api
-     , mattermost-api-qc, microlens-platform, mtl, network-uri, process
-     , random, semigroups, skylighting-core, split, stm, stm-delay
-     , strict, tasty, tasty-hunit, tasty-quickcheck, temporary, text
-     , text-zipper, time, timezone-olson, timezone-series, transformers
-     , Unique, unix, unordered-containers, utf8-string, uuid, vector
-     , vty, word-wrap, xdg-basedir
+     , brick, brick-skylighting, bytestring, checkers, commonmark
+     , commonmark-extensions, config-ini, connection, containers
+     , data-clist, directory, filepath, gitrev, hashable, Hclip
+     , mattermost-api, mattermost-api-qc, microlens-platform, mtl
+     , network-uri, parsec, process, random, semigroups
+     , skylighting-core, split, stm, stm-delay, strict, tasty
+     , tasty-hunit, tasty-quickcheck, temporary, text, text-zipper, time
+     , timezone-olson, timezone-series, transformers, Unique, unix
+     , unordered-containers, utf8-string, uuid, vector, vty, word-wrap
+     , xdg-basedir
      }:
      mkDerivation {
        pname = "matterhorn";
-       version = "50200.11.0";
-       sha256 = "0wvw3wbv2sii1bjc8nmwyb1k0hzixfkfvpkmlkwa2my564vvmgz8";
+       version = "50200.12.0";
+       sha256 = "0rsxgc4igcjhddfil01la1sbnglvr08mf7gfi9fr6pf7sb9w6qbq";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson aspell-pipe async base base-compat brick brick-skylighting
-         bytestring cheapskate config-ini connection containers data-clist
-         directory filepath gitrev hashable Hclip mattermost-api
-         microlens-platform mtl network-uri process random semigroups
-         skylighting-core split stm stm-delay strict temporary text
-         text-zipper time timezone-olson timezone-series transformers unix
-         unordered-containers utf8-string uuid vector vty word-wrap
-         xdg-basedir
+         bytestring commonmark commonmark-extensions config-ini connection
+         containers data-clist directory filepath gitrev hashable Hclip
+         mattermost-api microlens-platform mtl network-uri parsec process
+         random semigroups skylighting-core split stm stm-delay strict
+         temporary text text-zipper time timezone-olson timezone-series
+         transformers unix unordered-containers utf8-string uuid vector vty
+         word-wrap xdg-basedir
        ];
        executableHaskellDepends = [ base text ];
        testHaskellDepends = [
-         base bytestring cheapskate checkers containers mattermost-api
+         base bytestring checkers commonmark containers mattermost-api
          mattermost-api-qc tasty tasty-hunit tasty-quickcheck text time
          Unique uuid
        ];
@@ -169536,8 +170385,8 @@ self: {
      }:
      mkDerivation {
        pname = "mattermost-api";
-       version = "50200.9.0";
-       sha256 = "08whhlkr3ayimn66lwinvv0ci8zbhk5i7sz1fk5r1dp7mg2jzgig";
+       version = "50200.10.0";
+       sha256 = "0pbp4f0gwhap8d9chn6c2zf22ic3r32302zir4a5r6cmgg4vscgd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -169561,8 +170410,8 @@ self: {
      }:
      mkDerivation {
        pname = "mattermost-api-qc";
-       version = "50200.9.0";
-       sha256 = "0rcbsf5hrp2fd9jqmcr07gg2y0xg4ksasrqfxrc7n4mgw0a409i6";
+       version = "50200.10.0";
+       sha256 = "0cv7l5g63ar7ii704j8q3y5hsvbmljm8cmgdw6p2shqigv8slzci";
        libraryHaskellDepends = [
          base containers mattermost-api QuickCheck text time
        ];
@@ -170596,8 +171445,8 @@ self: {
      }:
      mkDerivation {
        pname = "membership";
-       version = "0";
-       sha256 = "0hdy0yv64gcwja2kr6akfms21jgq6lqhzbxap603nhiwvf7n8ayv";
+       version = "0.0.1";
+       sha256 = "07b40i1fvkix9x60nqp6nmlchjkcj3jhp7xpq583fpssqm79x14m";
        libraryHaskellDepends = [
          base constraints deepseq hashable prettyprinter template-haskell
          th-lift
@@ -171411,8 +172260,8 @@ self: {
     ({ mkDerivation, base, hspec, hspec-discover, rio, transformers }:
      mkDerivation {
        pname = "method";
-       version = "0.2.0.0";
-       sha256 = "0vgh0ri5r1jsfax5qafvkqqnkywk4qayaw54dwhh5i3p1n5cqkqa";
+       version = "0.3.0.0";
+       sha256 = "1a5i9sd5zz5kjpjpar3r5ak61x8fz5rrbb1iak1r2dcwlyk6rq25";
        libraryHaskellDepends = [ base rio transformers ];
        testHaskellDepends = [ base hspec rio transformers ];
        testToolDepends = [ hspec-discover ];
@@ -172093,6 +172942,8 @@ self: {
        pname = "microstache";
        version = "1.0.1.2";
        sha256 = "1xdca11z5cy7vfy2dszhr6qvlrxw6pn0d9iri7mg56lvi02javik";
+       revision = "1";
+       editedCabalFile = "1l72cfbrr6kxh0z2dx2pghxl7ljlbmbk8s9wlgk35bjm925kkxfl";
        libraryHaskellDepends = [
          aeson base containers deepseq directory filepath parsec text
          transformers unordered-containers vector
@@ -172583,8 +173434,8 @@ self: {
      }:
      mkDerivation {
        pname = "mime-mail";
-       version = "0.5.0";
-       sha256 = "0vs302vbdf8y58nxky0m2w7cbqs4laljk969sfnbxl8zq7k3ic0h";
+       version = "0.5.1";
+       sha256 = "1s1wp8v1xlvw3r4qk1lv9zpm99ihka7a785zjl6i3fq1maqq955g";
        libraryHaskellDepends = [
          base base64-bytestring blaze-builder bytestring filepath process
          random text
@@ -173022,8 +173873,8 @@ self: {
     ({ mkDerivation, async, base }:
      mkDerivation {
        pname = "minisat";
-       version = "0.1.2";
-       sha256 = "089jam2cbwf4m16sgb9wh4zkgbmpfsg647lng3kyjs5d3m02i5dd";
+       version = "0.1.3";
+       sha256 = "172l1zn3ls0s55llnp4z1kgf388bs5vq4a8qys2x7dqk9zmgpbqb";
        libraryHaskellDepends = [ async base ];
        description = "A Haskell bundle of the Minisat SAT solver";
        license = lib.licenses.bsd3;
@@ -173756,7 +174607,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "mmorph" = callPackage
+  "mmorph_1_1_3" = callPackage
     ({ mkDerivation, base, mtl, transformers, transformers-compat }:
      mkDerivation {
        pname = "mmorph";
@@ -173767,6 +174618,20 @@ self: {
        ];
        description = "Monad morphisms";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "mmorph" = callPackage
+    ({ mkDerivation, base, mtl, transformers, transformers-compat }:
+     mkDerivation {
+       pname = "mmorph";
+       version = "1.1.5";
+       sha256 = "0bq9m3hlfax1826gg5yhih79x33rvfx59wdh8yf43azd7l74bys6";
+       libraryHaskellDepends = [
+         base mtl transformers transformers-compat
+       ];
+       description = "Monad morphisms";
+       license = lib.licenses.bsd3;
      }) {};
 
   "mmsyn2" = callPackage
@@ -173898,20 +174763,20 @@ self: {
      }) {};
 
   "mmsyn7l" = callPackage
-    ({ mkDerivation, base, directory, mmsyn2, mmsyn3, mmsyn7ukr
-     , process, vector
+    ({ mkDerivation, base, directory, mmsyn2-array, mmsyn3
+     , mmsyn7ukr-common, process
      }:
      mkDerivation {
        pname = "mmsyn7l";
-       version = "0.8.0.0";
-       sha256 = "0w1k89phzxyq2nwzr0vn313rlp0f7d62vhdvq113pqszbdbjh6gd";
+       version = "0.9.0.0";
+       sha256 = "0j8xi8jxak818sw310srxljrywggsa8ss1l4yw0razsa28h92nxq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base directory mmsyn2 mmsyn3 mmsyn7ukr process vector
+         base directory mmsyn2-array mmsyn3 mmsyn7ukr-common process
        ];
        executableHaskellDepends = [
-         base directory mmsyn2 mmsyn3 mmsyn7ukr process vector
+         base directory mmsyn2-array mmsyn3 mmsyn7ukr-common process
        ];
        description = "Modifies the amplitudes of the Ukrainian sounds representations created by mmsyn7ukr package";
        license = lib.licenses.mit;
@@ -174131,6 +174996,8 @@ self: {
        pname = "mod";
        version = "0.1.2.1";
        sha256 = "0fjcjk9jxwc2d1fm3kzamh9gi3lwnl2g6kz3z2hd43dszkay1mn1";
+       revision = "1";
+       editedCabalFile = "012slncmwh9i4fh31mdxn5xnpl9l309swrm5vlnibrxj3pxhmrxv";
        libraryHaskellDepends = [
          base deepseq integer-gmp primitive semirings vector
        ];
@@ -174201,8 +175068,8 @@ self: {
      }:
      mkDerivation {
        pname = "modern-uri";
-       version = "0.3.3.0";
-       sha256 = "184vhcnpwjsvxwbdsipz7kc2xylfwfqflbbbyipag610w07a3qk2";
+       version = "0.3.4.0";
+       sha256 = "1jb1bj2jgxhhvkc50h1c11c3zd66bpbi67b1h6b8773h0yiqffvk";
        libraryHaskellDepends = [
          base bytestring containers contravariant deepseq exceptions
          megaparsec mtl profunctors QuickCheck reflection tagged
@@ -174668,6 +175535,8 @@ self: {
        pname = "monad-chronicle";
        version = "1.0.0.1";
        sha256 = "1p9w9f5sw4adxxrgfba0vxs5kdhl82ibnwfqal7nrrhp3v86imbg";
+       revision = "1";
+       editedCabalFile = "097f5wvzx10i9zgx4gn7wm81z7dfyhj9lx8jyy4n90j0adpbjryq";
        libraryHaskellDepends = [
          base data-default-class mtl semigroupoids these transformers
          transformers-compat
@@ -175268,19 +176137,19 @@ self: {
 
   "monad-metrics-extensible" = callPackage
     ({ mkDerivation, base, dependent-map, dependent-sum, ekg, ekg-core
-     , exceptions, hspec, mtl, stm, text
+     , exceptions, hspec, mtl, stm, text, time
      }:
      mkDerivation {
        pname = "monad-metrics-extensible";
-       version = "0.1.0.1";
-       sha256 = "044hvhnf7wsgd18cac2j3bfw2vbxfnra736l6qndfx07mkv1nz5n";
+       version = "0.1.1.0";
+       sha256 = "14ahi50c6pd30zywjbsffn3p090ib57h6as2ad8jqxywjalxd8dm";
        libraryHaskellDepends = [
          base dependent-map dependent-sum ekg ekg-core exceptions mtl stm
-         text
+         text time
        ];
        testHaskellDepends = [
          base dependent-map dependent-sum ekg ekg-core exceptions hspec mtl
-         stm text
+         stm text time
        ];
        description = "An extensible and type-safe wrapper around EKG metrics";
        license = lib.licenses.bsd3;
@@ -176796,37 +177665,45 @@ self: {
      }) {morfeusz = null;};
 
   "morley" = callPackage
-    ({ mkDerivation, aeson, aeson-casing, aeson-pretty, base
-     , base58-bytestring, binary, bytestring, constraints, containers
-     , cryptonite, data-default, first-class-families, fmt
-     , generic-deriving, gitrev, haskeline, hex-text, interpolate, lens
-     , megaparsec, memory, morley-prelude, mtl, named
-     , optparse-applicative, parser-combinators, scientific, semigroups
-     , show-type, singletons, syb, template-haskell, text
-     , text-manipulate, th-lift, th-lift-instances, time, timerep
+    ({ mkDerivation, aeson, aeson-casing, aeson-pretty, base-noprelude
+     , base58-bytestring, binary, bytestring, Cabal, constraints
+     , containers, cryptonite, data-default, doctest, elliptic-curve
+     , first-class-families, fmt, galois-field, generic-deriving, gitrev
+     , haskeline, hex-text, interpolate, lens, megaparsec, memory
+     , MonadRandom, morley-prelude, mtl, named, optparse-applicative
+     , pairing, parser-combinators, process, scientific, semigroups
+     , show-type, singletons, syb, tasty-discover, template-haskell
+     , text, text-manipulate, th-lift, th-lift-instances, time, timerep
      , uncaught-exception, unordered-containers, vector, vinyl
      , with-utf8, wl-pprint-text
      }:
      mkDerivation {
        pname = "morley";
-       version = "1.12.0";
-       sha256 = "0cfmcrasf2cfirsa6xb1aznj75bwnzmiy9irirk1i9p2bx4aqy5m";
+       version = "1.13.0";
+       sha256 = "1jbjmri2k7z5fh96i0yx28wpcp0l3fchkk3iwvq0vdwcrb78bndb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson aeson-casing aeson-pretty base base58-bytestring binary
-         bytestring constraints containers cryptonite data-default
-         first-class-families fmt generic-deriving gitrev hex-text
-         interpolate lens megaparsec memory morley-prelude mtl named
-         optparse-applicative parser-combinators scientific semigroups
-         show-type singletons syb template-haskell text text-manipulate
-         th-lift th-lift-instances time timerep uncaught-exception
-         unordered-containers vector vinyl with-utf8 wl-pprint-text
+         aeson aeson-casing aeson-pretty base-noprelude base58-bytestring
+         binary bytestring constraints containers cryptonite data-default
+         elliptic-curve first-class-families fmt galois-field
+         generic-deriving gitrev hex-text interpolate lens megaparsec memory
+         MonadRandom morley-prelude mtl named optparse-applicative pairing
+         parser-combinators scientific semigroups show-type singletons syb
+         template-haskell text text-manipulate th-lift th-lift-instances
+         time timerep uncaught-exception unordered-containers vector vinyl
+         with-utf8 wl-pprint-text
        ];
        executableHaskellDepends = [
-         aeson base bytestring data-default fmt haskeline megaparsec
-         morley-prelude named optparse-applicative text vinyl with-utf8
+         aeson base-noprelude bytestring data-default fmt haskeline
+         megaparsec morley-prelude named optparse-applicative text vinyl
+         with-utf8
        ];
+       testHaskellDepends = [
+         base-noprelude bytestring Cabal doctest morley-prelude
+         optparse-applicative process
+       ];
+       testToolDepends = [ tasty-discover ];
        description = "Developer tools for the Michelson Language";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
@@ -176927,6 +177804,60 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "morpheus-graphql_0_17_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers
+     , morpheus-graphql-app, morpheus-graphql-core
+     , morpheus-graphql-subscriptions, mtl, relude, tasty, tasty-hunit
+     , template-haskell, text, transformers, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "morpheus-graphql";
+       version = "0.17.0";
+       sha256 = "0k9nlik5qi1ff4m731da5wlaadx024irgn2v1hyz2bv9n1q28cqs";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base bytestring containers morpheus-graphql-app
+         morpheus-graphql-core mtl relude template-haskell text transformers
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers morpheus-graphql-app
+         morpheus-graphql-core morpheus-graphql-subscriptions mtl relude
+         tasty tasty-hunit template-haskell text transformers
+         unordered-containers vector
+       ];
+       description = "Morpheus GraphQL";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "morpheus-graphql-app" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, directory
+     , hashable, megaparsec, morpheus-graphql-core, mtl, relude
+     , scientific, tasty, tasty-hunit, template-haskell, text
+     , th-lift-instances, transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "morpheus-graphql-app";
+       version = "0.17.0";
+       sha256 = "0l3brvcv7ang83yiv1bdg4v8hvajq4cbq2dr28q1j39a4r85f9xz";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base bytestring containers hashable megaparsec
+         morpheus-graphql-core mtl relude scientific template-haskell text
+         th-lift-instances transformers unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers directory hashable megaparsec
+         morpheus-graphql-core mtl relude scientific tasty tasty-hunit
+         template-haskell text th-lift-instances transformers
+         unordered-containers vector
+       ];
+       description = "Morpheus GraphQL Core";
+       license = lib.licenses.mit;
+     }) {};
+
   "morpheus-graphql-cli" = callPackage
     ({ mkDerivation, base, bytestring, filepath, morpheus-graphql
      , optparse-applicative
@@ -176972,6 +177903,30 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "morpheus-graphql-client_0_17_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory
+     , morpheus-graphql-core, mtl, relude, tasty, tasty-hunit
+     , template-haskell, text, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "morpheus-graphql-client";
+       version = "0.17.0";
+       sha256 = "1djgxy59s98na1s182p5a06qjhw8n862zka96wwp8ckyx2jpjkq3";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base bytestring morpheus-graphql-core mtl relude
+         template-haskell text transformers unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring directory morpheus-graphql-core mtl relude
+         tasty tasty-hunit template-haskell text transformers
+         unordered-containers
+       ];
+       description = "Morpheus GraphQL Client";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "morpheus-graphql-core" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, hashable
      , megaparsec, mtl, relude, scientific, tasty, tasty-hunit
@@ -176997,6 +177952,32 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "morpheus-graphql-core_0_17_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, directory
+     , hashable, megaparsec, mtl, relude, scientific, tasty, tasty-hunit
+     , template-haskell, text, th-lift-instances, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "morpheus-graphql-core";
+       version = "0.17.0";
+       sha256 = "0rj4g05365hp5c9b5y0v0v7s73jw3gkq3g0z3m6xrpxi3j2gp0p8";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base bytestring containers hashable megaparsec mtl relude
+         scientific template-haskell text th-lift-instances transformers
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers directory hashable megaparsec mtl
+         relude scientific tasty tasty-hunit template-haskell text
+         th-lift-instances transformers unordered-containers vector
+       ];
+       description = "Morpheus GraphQL Core";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "morpheus-graphql-subscriptions" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory
      , morpheus-graphql-core, mtl, relude, tasty, tasty-hunit, text
@@ -177020,6 +178001,31 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "morpheus-graphql-subscriptions_0_17_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory
+     , morpheus-graphql-app, morpheus-graphql-core, mtl, relude, tasty
+     , tasty-hunit, text, transformers, unliftio-core
+     , unordered-containers, uuid, websockets
+     }:
+     mkDerivation {
+       pname = "morpheus-graphql-subscriptions";
+       version = "0.17.0";
+       sha256 = "14bpnzxxiid5582z5fi8nwb8rrhm7lgxscgkjxw34ng41wyv6686";
+       libraryHaskellDepends = [
+         aeson base bytestring morpheus-graphql-app morpheus-graphql-core
+         mtl relude text transformers unliftio-core unordered-containers
+         uuid websockets
+       ];
+       testHaskellDepends = [
+         aeson base bytestring directory morpheus-graphql-app
+         morpheus-graphql-core mtl relude tasty tasty-hunit text
+         transformers unliftio-core unordered-containers uuid websockets
+       ];
+       description = "Morpheus GraphQL Subscriptions";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "morphisms" = callPackage
     ({ mkDerivation }:
      mkDerivation {
@@ -178222,8 +179228,8 @@ self: {
      }:
      mkDerivation {
        pname = "mu-avro";
-       version = "0.4.0.3";
-       sha256 = "01sygrx80jfi6xygrgj2chqjr0fllld807p26rggfdzwp9p6pc9b";
+       version = "0.4.0.4";
+       sha256 = "06f3l7fwgx17cfa80a2inzx9255nqvk5q5fnlzvwhslymi8mb6xd";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -178443,6 +179449,8 @@ self: {
        pname = "mu-protobuf";
        version = "0.4.2.0";
        sha256 = "07mgld1cmpynhdih7ppki8xw85zpknv0ipn7fvn79bj53s0nx6vg";
+       revision = "1";
+       editedCabalFile = "12zp8g0v8f924dsc3c0ynzqcv2j4c4xl6dh72mz11nmxi9la51s7";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -178466,8 +179474,8 @@ self: {
      }:
      mkDerivation {
        pname = "mu-rpc";
-       version = "0.5.0.0";
-       sha256 = "15a950ig348h0fxfvzq4pj8s8rryn18cd26vmrcmx7s6w32zlzyr";
+       version = "0.5.0.1";
+       sha256 = "0r5kbi378iwg5b578dydvv4smy2xqn4y33h015fp5nyphxz83173";
        libraryHaskellDepends = [
          aeson base conduit http-types mtl mu-schema sop-core
          template-haskell text wai
@@ -178485,8 +179493,8 @@ self: {
      }:
      mkDerivation {
        pname = "mu-schema";
-       version = "0.3.1.1";
-       sha256 = "0n30xn2z1dl4n28mbfnif8csvz0namll0hab1r7mhnamp0yc3gs8";
+       version = "0.3.1.2";
+       sha256 = "0q4a1anqrx6d5n0br26lb4x8gw10gasv8ggiw4fgcaly2sd09rs1";
        libraryHaskellDepends = [
          aeson base bytestring containers first-class-families sop-core
          template-haskell text th-abstraction unordered-containers uuid
@@ -180129,6 +181137,8 @@ self: {
        pname = "mwc-random";
        version = "0.15.0.1";
        sha256 = "1p8c5g4hb72k90ai39rgpn6cr942i6636l1y0zfp9xgjb3v0a2q3";
+       revision = "1";
+       editedCabalFile = "1ay26mvzxqw6rzw3hkib1j12gk6fa2hsilz12q8vhp646bqqc744";
        libraryHaskellDepends = [
          base math-functions primitive random time vector
        ];
@@ -180466,8 +181476,8 @@ self: {
      }:
      mkDerivation {
        pname = "mysql";
-       version = "0.1.7.2";
-       sha256 = "0vkc39hx55hqwgkhqm80ckabbjaq4f9840msznf71glzihzg8k0n";
+       version = "0.1.7.3";
+       sha256 = "1yf9ni64q19ci6ripcjh0pvpklxyi0fzigb33ss05wswlal385rc";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [ base bytestring containers ];
        librarySystemDepends = [ mysql ];
@@ -180979,10 +181989,8 @@ self: {
     ({ mkDerivation, base, named, servant }:
      mkDerivation {
        pname = "named-servant";
-       version = "0.3.0";
-       sha256 = "14a55ww538c39wmacazdchrinc098yw9kbv44z4dw1739zhsghb6";
-       revision = "1";
-       editedCabalFile = "1xrbz9vhb61wkjb1amswvpb9sfslg1258vqlm880angc18i3dyi7";
+       version = "0.3.1";
+       sha256 = "01wy971gf178i866wly5fs86ll2rwkjp3n99ni0rdxw6p1hnq447";
        libraryHaskellDepends = [ base named servant ];
        description = "support records and named (from the named package) parameters in servant";
        license = lib.licenses.bsd3;
@@ -180996,10 +182004,8 @@ self: {
      }:
      mkDerivation {
        pname = "named-servant-client";
-       version = "0.3.0";
-       sha256 = "1ilzhvdvspd8wddv6yypvl6whbzsa3pzqz2a8ikmk0l3vkskv60d";
-       revision = "1";
-       editedCabalFile = "19frg1vj2zzibdrbmxdmjfas31z5hwhy7kjkk28vm20y51h4lir3";
+       version = "0.3.1";
+       sha256 = "1q6xzg5sgjy52jp378jm9dq2wl283mnnpslc8fq0pdly2v6d7z6i";
        libraryHaskellDepends = [
          base named named-servant servant servant-client-core
        ];
@@ -181015,10 +182021,8 @@ self: {
      }:
      mkDerivation {
        pname = "named-servant-server";
-       version = "0.3.0";
-       sha256 = "14v1sgfz6agsbiy2938chy0vi4j4jd1swdhwb9g2yg068m3262k3";
-       revision = "1";
-       editedCabalFile = "0880w18l18hjnrpf0j4z0rd98waai3431gzakqm53zh8zs75lcll";
+       version = "0.3.1";
+       sha256 = "168xvsdkln5pgf6iqs1qzy07b9ichzpqhx95j79hrba941jzd19y";
        libraryHaskellDepends = [
          base named named-servant servant servant-server text
        ];
@@ -182159,8 +183163,6 @@ self: {
        ];
        description = "An MQTT Protocol Implementation";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "net-mqtt-lens" = callPackage
@@ -182177,8 +183179,6 @@ self: {
        ];
        description = "Optics for net-mqtt";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "net-mqtt-rpc" = callPackage
@@ -182200,8 +183200,6 @@ self: {
        ];
        description = "Make RPC calls via an MQTT broker";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "net-spider" = callPackage
@@ -182213,8 +183211,8 @@ self: {
      }:
      mkDerivation {
        pname = "net-spider";
-       version = "0.4.3.5";
-       sha256 = "0y5jkkixrbm25z1vyhk5qmql1962jhhl6ifz8ba7fiwdv8qi1ndk";
+       version = "0.4.3.6";
+       sha256 = "1whi7v16zqa26c8a4a36g5p8gddk69acnxar3pgybyc58y9af0i1";
        libraryHaskellDepends = [
          aeson base containers data-interval extended-reals greskell
          greskell-websocket hashable monad-logger regex-applicative
@@ -182237,8 +183235,8 @@ self: {
      }:
      mkDerivation {
        pname = "net-spider-cli";
-       version = "0.2.0.5";
-       sha256 = "011s533mv5flvmq58vsr2fnydk954lkyfif6d9fs87555dwiskyd";
+       version = "0.2.0.6";
+       sha256 = "0byd87p7h6vrdmg7j7ypjq2mcks8a7axi9j9qnjv283y4n56nxw1";
        libraryHaskellDepends = [
          aeson base greskell-core hashable net-spider optparse-applicative
          text
@@ -182258,8 +183256,8 @@ self: {
      }:
      mkDerivation {
        pname = "net-spider-pangraph";
-       version = "0.2.0.3";
-       sha256 = "0mjp5mvfp4hq8kna5f0pwmyc7s43ghhw91hc94n6xf6y4dnx0c2c";
+       version = "0.2.0.4";
+       sha256 = "13kw1yvppkh2z6zzlf5qfyfw2yyyvn48dr49ijvdrh0c11n4125l";
        libraryHaskellDepends = [
          base bytestring greskell net-spider pangraph text time
        ];
@@ -183030,6 +184028,8 @@ self: {
        pname = "network-byte-order";
        version = "0.1.6";
        sha256 = "0pnwcg13k4qw82n0zc1xibyc24sc77y79j5a62pqdmjrnz4wrc7j";
+       revision = "1";
+       editedCabalFile = "0fpyfd1adg9fr7w6afxkx306c0kaz3ji3x78sl29v9j3mh4vdn13";
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [ base bytestring doctest ];
        description = "Network byte order utilities";
@@ -183810,8 +184810,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "network-types-icmp";
-       version = "1.0.0.1";
-       sha256 = "1j2z51jvrhh9nlnx9sfiabgascyp80ha1906hdm2d4w8xyrp7d1c";
+       version = "1.0.1";
+       sha256 = "0wf2rg4alw4alalvjdcd85k6sjhcpdqacblbn76r5kmy2pqfrqfs";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        description = "Types for representing ICMP and ICMPv6 messages";
@@ -183820,18 +184820,20 @@ self: {
 
   "network-uri" = callPackage
     ({ mkDerivation, base, criterion, deepseq, HUnit, parsec
-     , template-haskell, test-framework, test-framework-hunit
-     , test-framework-quickcheck2
+     , QuickCheck, tasty, tasty-hunit, tasty-quickcheck
+     , template-haskell, th-compat
      }:
      mkDerivation {
        pname = "network-uri";
-       version = "2.6.3.0";
-       sha256 = "08x7myvjasm326byi3jz1hgv2fqk0vvkfiwi8zlc4b2xy64i6750";
-       libraryHaskellDepends = [ base deepseq parsec template-haskell ];
+       version = "2.6.4.1";
+       sha256 = "111m485rx2kyqdymi1x6sl08hi6lp34q3f41yqcx99086swnv1ap";
+       libraryHaskellDepends = [
+         base deepseq parsec template-haskell th-compat
+       ];
        testHaskellDepends = [
-         base criterion deepseq HUnit test-framework test-framework-hunit
-         test-framework-quickcheck2
+         base HUnit QuickCheck tasty tasty-hunit tasty-quickcheck
        ];
+       benchmarkHaskellDepends = [ base criterion deepseq HUnit ];
        description = "URI manipulation";
        license = lib.licenses.bsd3;
      }) {};
@@ -184271,10 +185273,8 @@ self: {
      }:
      mkDerivation {
        pname = "newtype-generics";
-       version = "0.5.4";
-       sha256 = "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0";
-       revision = "1";
-       editedCabalFile = "1id9a6prj2bzdsyfsfr0pnfy9p8v9wlw59x12fny6y2szfcxcrv7";
+       version = "0.6";
+       sha256 = "04bymwhkvlsgcsd0v630mndrzf0xnh3v81ba6nfzwcvbg3ksr2wa";
        libraryHaskellDepends = [ base transformers ];
        testHaskellDepends = [ base hspec ];
        testToolDepends = [ hspec-discover ];
@@ -184448,8 +185448,8 @@ self: {
      }:
      mkDerivation {
        pname = "ngx-export-tools";
-       version = "0.4.9.1";
-       sha256 = "0ib0xzs815q29a2v1m550g7cm5cr7l6lkslmi0lpcxpfgpi08ccv";
+       version = "0.4.9.2";
+       sha256 = "064zbwamkkd5cx0wjisa019pprb4pg2mmm5n6a948f3dn0zpmlwx";
        libraryHaskellDepends = [
          aeson base binary bytestring ngx-export safe template-haskell
        ];
@@ -184466,8 +185466,10 @@ self: {
      }:
      mkDerivation {
        pname = "ngx-export-tools-extra";
-       version = "0.6.1.1";
-       sha256 = "1gqns0ifrmjd1013jfa9c03xwdmqicdvazjc9kkxyzw4mpjgjils";
+       version = "0.6.2.0";
+       sha256 = "01r6b7xsgn2dd42jh3xnvds21sccq5lchyiikk5v1vr055dddmpm";
+       revision = "1";
+       editedCabalFile = "0sab8vs3zycm4ykcayrynvd0rmyar9bmvd8b60dq1fzmnbmzzgg9";
        libraryHaskellDepends = [
          aeson array base base64 binary bytestring case-insensitive
          containers ede enclosed-exceptions http-client http-types network
@@ -184957,21 +185959,26 @@ self: {
      }) {};
 
   "nix-tree" = callPackage
-    ({ mkDerivation, aeson, async, base, brick, bytestring, containers
-     , deepseq, directory, filepath, hashable, hrfsize, lens, parallel
+    ({ mkDerivation, aeson, base, brick, bytestring, containers
+     , deepseq, directory, filepath, hashable, hedgehog, hrfsize
      , protolude, text, transformers, typed-process
      , unordered-containers, vty
      }:
      mkDerivation {
        pname = "nix-tree";
-       version = "0.1.3.1";
-       sha256 = "1rihvfvfsrkgvq87bli9gzpbv1ny93n21cf31bid1b3g3cwadffp";
+       version = "0.1.4";
+       sha256 = "1hbb4p6yz8c7c49yxqvzmiq9knpsm958pk9vbj12jii3ihdf0pl6";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         aeson async base brick bytestring containers deepseq directory
-         filepath hashable hrfsize lens parallel protolude text transformers
-         typed-process unordered-containers vty
+         aeson base brick bytestring containers deepseq directory filepath
+         hashable hrfsize protolude text transformers typed-process
+         unordered-containers vty
+       ];
+       testHaskellDepends = [
+         aeson base brick bytestring containers deepseq directory filepath
+         hashable hedgehog hrfsize protolude text transformers typed-process
+         unordered-containers vty
        ];
        description = "Interactively browse a Nix store paths dependencies";
        license = lib.licenses.bsd3;
@@ -186185,8 +187192,8 @@ self: {
      }:
      mkDerivation {
        pname = "nri-env-parser";
-       version = "0.1.0.3";
-       sha256 = "0335bpjqvkazfjx2k0dm460hzdwcwz1rn82x0nvf441njjqz6846";
+       version = "0.1.0.4";
+       sha256 = "01s2346rdccnqrymxb947kx68jqdyh29v3s2mq3c707pvmxlhw4y";
        libraryHaskellDepends = [
          base modern-uri network-uri nri-prelude text
        ];
@@ -186195,24 +187202,26 @@ self: {
      }) {};
 
   "nri-prelude" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, async, auto-update, base
-     , bytestring, containers, directory, exceptions, filepath, hedgehog
-     , junit-xml, pretty-diff, pretty-show, safe-exceptions
-     , terminal-size, text, time, vector
+    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, async
+     , auto-update, base, bytestring, containers, directory, exceptions
+     , filepath, ghc, hedgehog, junit-xml, pretty-diff, pretty-show
+     , safe-exceptions, terminal-size, text, time, vector
      }:
      mkDerivation {
        pname = "nri-prelude";
-       version = "0.3.0.0";
-       sha256 = "1dijid038rvviz063ncviq1mw20hsk02gidcf68vzy99d16kn5c9";
+       version = "0.4.0.0";
+       sha256 = "032j7wy9wjjv0pbn1g16vdj15j03brkkwa3ssjv7g0v61hjaq4z7";
        libraryHaskellDepends = [
-         aeson ansi-terminal async auto-update base bytestring containers
-         directory exceptions filepath hedgehog junit-xml pretty-diff
-         pretty-show safe-exceptions terminal-size text time vector
+         aeson aeson-pretty ansi-terminal async auto-update base bytestring
+         containers directory exceptions filepath ghc hedgehog junit-xml
+         pretty-diff pretty-show safe-exceptions terminal-size text time
+         vector
        ];
        testHaskellDepends = [
-         aeson ansi-terminal async auto-update base bytestring containers
-         directory exceptions filepath hedgehog junit-xml pretty-diff
-         pretty-show safe-exceptions terminal-size text time vector
+         aeson aeson-pretty ansi-terminal async auto-update base bytestring
+         containers directory exceptions filepath ghc hedgehog junit-xml
+         pretty-diff pretty-show safe-exceptions terminal-size text time
+         vector
        ];
        description = "A Prelude inspired by the Elm programming language";
        license = lib.licenses.bsd3;
@@ -188286,6 +189295,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "one-liner_2_0" = callPackage
+    ({ mkDerivation, base, bifunctors, contravariant, ghc-prim, HUnit
+     , linear-base, profunctors, tagged, transformers
+     }:
+     mkDerivation {
+       pname = "one-liner";
+       version = "2.0";
+       sha256 = "0al9wavxx23xbalqw0cdlhq01kx8kyhg33fipwmn5617z3ddir6v";
+       libraryHaskellDepends = [
+         base bifunctors contravariant ghc-prim linear-base profunctors
+         tagged transformers
+       ];
+       testHaskellDepends = [ base contravariant HUnit ];
+       description = "Constraint-based generics";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "one-liner-instances" = callPackage
     ({ mkDerivation, base, one-liner, random }:
      mkDerivation {
@@ -188504,8 +189531,8 @@ self: {
      }:
      mkDerivation {
        pname = "opaleye-sqlite";
-       version = "0.0.1.0";
-       sha256 = "0r3ij02wkxq50hl70wn53fdr1qi5gigg4x3y0vabm53gabgxdbxq";
+       version = "0.0.1.1";
+       sha256 = "02wpy2q3j6z91kjrwl9qyka74rqhbs7dlgfrc6nvpnl1ssp9vps0";
        libraryHaskellDepends = [
          base base16-bytestring bytestring case-insensitive contravariant
          direct-sqlite pretty product-profunctors profunctors semigroups
@@ -188527,8 +189554,8 @@ self: {
      }:
      mkDerivation {
        pname = "opaleye-trans";
-       version = "0.5.1";
-       sha256 = "11vfp8rb46fvrhryyw9k66cbfnd920n5r4mcasdcnxhn1n8hc7i4";
+       version = "0.5.2";
+       sha256 = "0vszkxbgk4cqiaz4q8vgsc56yzh37dg7np2315h6bpvp1hy8fcs0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -188812,6 +189839,8 @@ self: {
        pname = "openapi3";
        version = "3.0.1.0";
        sha256 = "03icxn4zbk6yasj6wca7qdg5cac5fadr4qcxyn4gblkffmqkb5lc";
+       revision = "1";
+       editedCabalFile = "017mikhl12iyrgn40mmis3m05bfjxmg9y09nsk7i8xfjzkqcnly0";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -189897,6 +190926,35 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "optics_0_4" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, criterion
+     , indexed-profunctors, inspection-testing, lens, mtl, optics-core
+     , optics-extra, optics-th, QuickCheck, random, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "optics";
+       version = "0.4";
+       sha256 = "18hdfmay7v2qsbq0ylzrfk3hrgax8bzs65bdmjrmck4is8vbs6h5";
+       libraryHaskellDepends = [
+         array base containers mtl optics-core optics-extra optics-th
+         transformers
+       ];
+       testHaskellDepends = [
+         base containers indexed-profunctors inspection-testing mtl
+         optics-core QuickCheck random tasty tasty-hunit tasty-quickcheck
+         template-haskell
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring containers criterion lens transformers
+         unordered-containers vector
+       ];
+       description = "Optics as an abstract interface";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "optics-core" = callPackage
     ({ mkDerivation, array, base, containers, indexed-profunctors
      , transformers
@@ -189912,6 +190970,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "optics-core_0_4" = callPackage
+    ({ mkDerivation, array, base, containers, indexed-profunctors
+     , indexed-traversable, transformers
+     }:
+     mkDerivation {
+       pname = "optics-core";
+       version = "0.4";
+       sha256 = "1kyxdfzha4xjym96yahrwhpbzqracks2di2lx1x34sjcn165rxry";
+       libraryHaskellDepends = [
+         array base containers indexed-profunctors indexed-traversable
+         transformers
+       ];
+       description = "Optics as an abstract interface: core definitions";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "optics-extra" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, hashable
      , indexed-profunctors, mtl, optics-core, text, transformers
@@ -189921,6 +190996,8 @@ self: {
        pname = "optics-extra";
        version = "0.3";
        sha256 = "15vnznmi4h9xrrp7dk6fqgz9cwlqlmdr2h4nx1n5q6hi2ic1bmm4";
+       revision = "2";
+       editedCabalFile = "13x3mavf2bi25ns03b93b5ghhkyivwxf6idn0wqs9fdiih1xvhv8";
        libraryHaskellDepends = [
          array base bytestring containers hashable indexed-profunctors mtl
          optics-core text transformers unordered-containers vector
@@ -189929,6 +191006,25 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "optics-extra_0_4" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, hashable
+     , indexed-profunctors, indexed-traversable-instances, mtl
+     , optics-core, text, transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "optics-extra";
+       version = "0.4";
+       sha256 = "1ynhyw22rwvvh5yglybmb6skhpgqk4gh9w2w4dh8kb7myzcwfj1s";
+       libraryHaskellDepends = [
+         array base bytestring containers hashable indexed-profunctors
+         indexed-traversable-instances mtl optics-core text transformers
+         unordered-containers vector
+       ];
+       description = "Extra utilities and instances for optics-core";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "optics-th" = callPackage
     ({ mkDerivation, base, containers, mtl, optics-core, tagged
      , template-haskell, th-abstraction, transformers
@@ -189948,6 +191044,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "optics-th_0_4" = callPackage
+    ({ mkDerivation, base, containers, mtl, optics-core, tagged
+     , template-haskell, th-abstraction, transformers
+     }:
+     mkDerivation {
+       pname = "optics-th";
+       version = "0.4";
+       sha256 = "1qddzwhzlhhp1902irswjj18aa5ziavn4klhy7najxjwndilb55y";
+       libraryHaskellDepends = [
+         base containers mtl optics-core template-haskell th-abstraction
+         transformers
+       ];
+       testHaskellDepends = [ base optics-core tagged ];
+       description = "Optics construction using TemplateHaskell";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "optics-vl" = callPackage
     ({ mkDerivation, base, indexed-profunctors, optics-core
      , profunctors
@@ -189956,6 +191070,8 @@ self: {
        pname = "optics-vl";
        version = "0.2.1";
        sha256 = "1xrkak0cn2imgqr641wzysgynykyj438m3ywgdm9h14k17inv55v";
+       revision = "1";
+       editedCabalFile = "0ba6fk4djs3gm305km8c870h76mg8q1dyy899cll0scc6l9jgbyc";
        libraryHaskellDepends = [
          base indexed-profunctors optics-core profunctors
        ];
@@ -190236,6 +191352,8 @@ self: {
        pname = "optparse-generic";
        version = "1.4.4";
        sha256 = "0xy0kc8qximsiqpnc1fmh5zlsh6n26s7scrixin5bwnylg056j74";
+       revision = "1";
+       editedCabalFile = "14vbfbl2va3s2pa4qjyyny1i15s2iw9993ld5b0qsqdv1z6nfjz1";
        libraryHaskellDepends = [
          base bytestring Only optparse-applicative system-filepath text time
          transformers void
@@ -191885,8 +193003,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-crossref";
-       version = "0.3.9.0";
-       sha256 = "18hxvzrl4b9y3343nissbcxrl4g8x82yrinyir9ifgmpz5ikg248";
+       version = "0.3.9.1";
+       sha256 = "0kyml1bmzjp6by86inlmyx8qkl4f92yibmhc477sglv9m8haw0wx";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -192179,21 +193297,21 @@ self: {
 
   "pandoc-plantuml-diagrams" = callPackage
     ({ mkDerivation, base, bytestring, directory, hspec, hspec-discover
-     , mtl, pandoc-types, process, SHA, utf8-string
+     , mtl, pandoc-types, process, SHA, text, utf8-string
      }:
      mkDerivation {
        pname = "pandoc-plantuml-diagrams";
-       version = "0.1.0.4";
-       sha256 = "1fshgv5wl56z3w0yimwv5dbi7dal600anb5wkxd5n3jlpmp8fwky";
+       version = "0.1.1.0";
+       sha256 = "19wd13vwf7v2v57wiv4s2y68zrvk6rcy1w2wxxad4cv5bb65wnfn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring directory pandoc-types process SHA utf8-string
+         base bytestring directory pandoc-types process SHA text utf8-string
        ];
        executableHaskellDepends = [ base pandoc-types ];
        testHaskellDepends = [
          base bytestring directory hspec hspec-discover mtl pandoc-types
-         process SHA utf8-string
+         process SHA text utf8-string
        ];
        testToolDepends = [ hspec-discover ];
        description = "Render and insert PlantUML diagrams with Pandoc";
@@ -192269,15 +193387,15 @@ self: {
      }) {};
 
   "pandoc-sidenote" = callPackage
-    ({ mkDerivation, base, monad-gen, pandoc, pandoc-types }:
+    ({ mkDerivation, base, mtl, pandoc-types, text }:
      mkDerivation {
        pname = "pandoc-sidenote";
-       version = "0.19.0.0";
-       sha256 = "0vz8w1dgzm0hipwfz5a1m41xkjdindr3373x6ip6vqv9h2gzzbb3";
+       version = "0.22.1.0";
+       sha256 = "1ci30gav385ygcvqs2x3w7lp8y1m7myf9jci3idxrd4w7csdg7f3";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base monad-gen pandoc pandoc-types ];
-       executableHaskellDepends = [ base pandoc-types ];
+       libraryHaskellDepends = [ base mtl pandoc-types text ];
+       executableHaskellDepends = [ base mtl pandoc-types text ];
        description = "Convert Pandoc Markdown-style footnotes into sidenotes";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
@@ -192391,8 +193509,8 @@ self: {
     ({ mkDerivation }:
      mkDerivation {
        pname = "pandora";
-       version = "0.3.5";
-       sha256 = "1cw6wm122zwbn61980vqr2prsc3qpnnaqgk0m3wvxs03dygarpja";
+       version = "0.3.7";
+       sha256 = "0laqf7mfzdpdbg583l3mr25qxdqryq1cd1141gl713d5m9s1b4fs";
        description = "A box of patterns and paradigms";
        license = lib.licenses.mit;
      }) {};
@@ -193158,8 +194276,8 @@ self: {
        pname = "parallel";
        version = "3.2.2.0";
        sha256 = "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p";
-       revision = "2";
-       editedCabalFile = "0shw96f4fc3vbr2vrnsk794qcsxyv3ra3snhw4wng81rkapp54y6";
+       revision = "3";
+       editedCabalFile = "1lv3y3zrdfc09nsiqxg7mzcahgnqi6z9caspd4lvifhhfrqy2722";
        libraryHaskellDepends = [ array base containers deepseq ghc-prim ];
        description = "Parallel programming library";
        license = lib.licenses.bsd3;
@@ -193826,6 +194944,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "parser-combinators_1_3_0" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "parser-combinators";
+       version = "1.3.0";
+       sha256 = "0is45q3q6ngfqvzpwwga9phbwk45v7g1q2x1rlm95a7q946yy44k";
+       libraryHaskellDepends = [ base ];
+       description = "Lightweight package providing commonly useful parser combinators";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "parser-combinators-tests" = callPackage
     ({ mkDerivation, base, hspec, hspec-discover, hspec-expectations
      , hspec-megaparsec, megaparsec, megaparsec-tests
@@ -193850,6 +194980,28 @@ self: {
        broken = true;
      }) {};
 
+  "parser-combinators-tests_1_3_0" = callPackage
+    ({ mkDerivation, base, hspec, hspec-discover, hspec-expectations
+     , hspec-megaparsec, megaparsec, megaparsec-tests
+     , parser-combinators, QuickCheck
+     }:
+     mkDerivation {
+       pname = "parser-combinators-tests";
+       version = "1.3.0";
+       sha256 = "0sw6ws7za93y3lbmxp6jp1k17zi3wdg7698ab133kcw82f6mzba2";
+       isLibrary = false;
+       isExecutable = false;
+       testHaskellDepends = [
+         base hspec hspec-expectations hspec-megaparsec megaparsec
+         megaparsec-tests parser-combinators QuickCheck
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Test suite of parser-combinators";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "parser-helper" = callPackage
     ({ mkDerivation, aeson, base, bytestring, haskell-src-exts, text }:
      mkDerivation {
@@ -194279,8 +195431,8 @@ self: {
      }:
      mkDerivation {
        pname = "password";
-       version = "2.1.0.0";
-       sha256 = "1v8hbjy0r6l0c6r0l4832z9whadx195fzxpn9l19zjb5ylz1zmqc";
+       version = "2.1.1.0";
+       sha256 = "1x3nv3bn0rp0f6rayrzp7yvw7x1ly7vjygcl6wdq86y0k1ca2wby";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base base64 bytestring cryptonite memory template-haskell text
@@ -194302,8 +195454,8 @@ self: {
      }:
      mkDerivation {
        pname = "password-instances";
-       version = "2.0.0.1";
-       sha256 = "1az6j3yh92nr1ksh4f966y7v8v81l9l14r8qfakf5h62iznwqv2q";
+       version = "2.0.0.2";
+       sha256 = "03dl3b530m02y7mv2lvssamhakswa3d9bj2r2ndvg78wi0vm5xp1";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson base http-api-data password persistent text
@@ -194753,6 +195905,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "patrol" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive
+     , containers, http-client, http-types, network-uri, text, time
+     , uuid
+     }:
+     mkDerivation {
+       pname = "patrol";
+       version = "0.0.1";
+       sha256 = "08rxyx01mamvc3mfyzyqajfj7239sklz30fw4z8rvi2jrgisbpy7";
+       libraryHaskellDepends = [
+         aeson base bytestring case-insensitive containers http-client
+         http-types network-uri text time uuid
+       ];
+       description = "Sentry SDK";
+       license = lib.licenses.isc;
+     }) {};
+
   "patronscraper" = callPackage
     ({ mkDerivation, base, HandsomeSoup, hxt }:
      mkDerivation {
@@ -196017,8 +197186,8 @@ self: {
      }:
      mkDerivation {
        pname = "peregrin";
-       version = "0.3.0";
-       sha256 = "0jhvd69avl5wy2fcsx93ng2yll97gagylwd264dv7qjaa4m6hqs2";
+       version = "0.3.1";
+       sha256 = "1hiv9rzpjmjywwc4j6bqkqvqwv2gr6d512hv0l6m5c6idsyk2v12";
        libraryHaskellDepends = [ base bytestring postgresql-simple text ];
        testHaskellDepends = [
          base hspec pg-harness-client postgresql-simple resource-pool text
@@ -196109,8 +197278,8 @@ self: {
        pname = "perfect-vector-shuffle";
        version = "0.1.1.1";
        sha256 = "1z4iv4sv9ld0gvdfa46ll5bsbxi9lckh69paip1c5ijcg78vy5y0";
-       revision = "4";
-       editedCabalFile = "14q0773vxmkh4nwskiq85ch175jq12xms2lypaddglciykqs6ml6";
+       revision = "5";
+       editedCabalFile = "0lppvhpfpfzcpdm4fxmsps8s272gz3wd2h5xc1w1908b7qqln0rw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -197034,30 +198203,30 @@ self: {
 
   "persistent-sqlite" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, containers
-     , exceptions, fast-logger, hspec, HUnit, microlens-th, monad-logger
-     , persistent, persistent-template, persistent-test, QuickCheck
-     , resource-pool, resourcet, sqlite, system-fileio, system-filepath
-     , temporary, text, time, transformers, unliftio-core
-     , unordered-containers
+     , exceptions, fast-logger, hspec, HUnit, microlens, microlens-th
+     , monad-logger, mtl, persistent, persistent-template
+     , persistent-test, QuickCheck, resource-pool, resourcet, sqlite
+     , system-fileio, system-filepath, temporary, text, time
+     , transformers, unliftio-core, unordered-containers
      }:
      mkDerivation {
        pname = "persistent-sqlite";
-       version = "2.11.0.0";
-       sha256 = "1kfijsn00brqm42ypaa66bmwq41r9n6h66r6jmgldhzpcbv46sfv";
+       version = "2.11.1.0";
+       sha256 = "04rdzcckdkvs8nisx0hh96sdfyly82yr8c0mx6nsxpyi7m52by9j";
        configureFlags = [ "-fsystemlib" ];
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base bytestring conduit containers microlens-th monad-logger
-         persistent resource-pool resourcet text time transformers
+         mtl persistent resource-pool resourcet text time transformers
          unliftio-core unordered-containers
        ];
        librarySystemDepends = [ sqlite ];
        testHaskellDepends = [
-         base bytestring containers exceptions fast-logger hspec HUnit
-         monad-logger persistent persistent-template persistent-test
-         QuickCheck resourcet system-fileio system-filepath temporary text
-         time transformers unliftio-core
+         base bytestring conduit containers exceptions fast-logger hspec
+         HUnit microlens monad-logger mtl persistent persistent-template
+         persistent-test QuickCheck resourcet system-fileio system-filepath
+         temporary text time transformers unliftio-core
        ];
        description = "Backend for the persistent library using sqlite3";
        license = lib.licenses.mit;
@@ -197837,8 +199006,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-examples";
-       version = "0.6.2.1";
-       sha256 = "0k9cwvfdxf13izbww7g08p0x702xgmm7dck3mjk4maajjfia34zm";
+       version = "0.7.0.0";
+       sha256 = "1dwqkl9223rmz503gclzs0l00mi9gkk542fwpvw71hd121hl4qvg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -197934,8 +199103,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-properties";
-       version = "0.3.0.1";
-       sha256 = "0b3wnzlka9dapk1478jr35pnd3ykj3mn5nkhvmwjdsxigzzaa1wf";
+       version = "0.4.0.0";
+       sha256 = "194sg4crm5z4lqqzr8apjgnbcl5h6ddkqk8crja41c5q3d5mpih5";
        libraryHaskellDepends = [
          base phonetic-languages-common phonetic-languages-rhythmicity
          phonetic-languages-vector ukrainian-phonetics-basic vector
@@ -197948,10 +199117,10 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "phonetic-languages-rhythmicity";
-       version = "0.1.2.0";
-       sha256 = "1ljblyk0m1fs3n2gj72w6gs62dxjk5gsn8x6p7fwlwhvaa316wm3";
+       version = "0.2.0.0";
+       sha256 = "0cvn2l0ds5nyz4inx354l8r9m4bkqjic7plpjgvhih8f4b53j6ln";
        libraryHaskellDepends = [ base ];
-       description = "Allows to estimate the rhythmicity metrices for the text (usually, the Ukrainian poetic one)";
+       description = "Allows to estimate the rhythmicity properties for the text (usually, the Ukrainian poetic one)";
        license = lib.licenses.mit;
      }) {};
 
@@ -197960,8 +199129,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-base";
-       version = "0.1.0.0";
-       sha256 = "0fd2pslmgm5bvv0yiza87vp61601pl1c69xa5snbgrnb2mlp6f98";
+       version = "0.2.0.0";
+       sha256 = "1382i77ci70ax7lvbkqqvg1wr2pp5irl8wxvypngr15czqgj7sca";
        libraryHaskellDepends = [
          base phonetic-languages-permutations-array subG
        ];
@@ -197998,8 +199167,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-examples-array";
-       version = "0.3.0.0";
-       sha256 = "17akng54rj8mn4ic9h1a806b03nqsigkyjggfskf4k1z9x84hdf4";
+       version = "0.4.0.0";
+       sha256 = "03vin7gng1sqifyy0s83igmd41bxxwrp7ck9j7bxhnqq0qmg5d7n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -198059,8 +199228,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-lists-examples";
-       version = "0.6.0.0";
-       sha256 = "0y843gymz9wf7hmp8asxmd90rdlgxz2b1pgi27mpglr7xmhpfr34";
+       version = "0.7.0.0";
+       sha256 = "1y3ad4lxapd9nblijn09i36f3xl6g9hxqmn8adcza74f4cq8pgyb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -198088,8 +199257,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-properties-array";
-       version = "0.1.2.0";
-       sha256 = "1vxjq0ki7slmgp1sq481srnqzcy8sazl0c2vqdkyz0hsx5hi8lyv";
+       version = "0.2.0.0";
+       sha256 = "1y7cki8c07q9423b54cjvy9k6a9byarpww3px50bc91ivirda6zr";
        libraryHaskellDepends = [
          base phonetic-languages-rhythmicity
          phonetic-languages-simplified-base ukrainian-phonetics-basic-array
@@ -198105,8 +199274,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-properties-lists";
-       version = "0.3.0.0";
-       sha256 = "094fyljkvfi2snj41j00xqflhabnsp5hn50xp6dvmpcr12k6nvs0";
+       version = "0.4.0.0";
+       sha256 = "01awd747w67m4rnm9zgsb8j28756fpvyml1j613kz33fp5s91ml2";
        libraryHaskellDepends = [
          base phonetic-languages-rhythmicity
          phonetic-languages-simplified-common ukrainian-phonetics-basic
@@ -198123,8 +199292,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-properties-lists-double";
-       version = "0.1.0.0";
-       sha256 = "1mx282gq9b2m718zrjjqxk1a17qdw5mdipmb818jr5ccrb81yhsl";
+       version = "0.2.0.0";
+       sha256 = "1ci63bhlk8xzf111njg97xs1ibamiv04k19wsfnhvxs3zzyzgrj0";
        libraryHaskellDepends = [
          base phonetic-languages-rhythmicity
          phonetic-languages-simplified-common ukrainian-phonetics-basic
@@ -198945,8 +200114,8 @@ self: {
      }:
      mkDerivation {
        pname = "pipes";
-       version = "4.3.14";
-       sha256 = "11r8cqy98w1y0avgn53x1fzqxpdfg7wvwwkfppnk9yip0lkcp3yv";
+       version = "4.3.15";
+       sha256 = "01hvzm7cp6y3wrdhca3wlb99y0az0rjy5lscmnds0v6i767kyxk1";
        libraryHaskellDepends = [
          base exceptions mmorph mtl transformers void
        ];
@@ -199118,8 +200287,8 @@ self: {
      }:
      mkDerivation {
        pname = "pipes-bytestring";
-       version = "2.1.6";
-       sha256 = "061wcb48mdq694zhwb5xh423ss6f7cccxahc05cifrzkh033gp5i";
+       version = "2.1.7";
+       sha256 = "0ch7145pv4f56601ysdj5gqqwsh5ag2zh34ydswg62fqi8z8cxvc";
        libraryHaskellDepends = [
          base bytestring pipes pipes-group pipes-parse stringsearch
          transformers
@@ -199412,8 +200581,8 @@ self: {
        pname = "pipes-extras";
        version = "1.0.15";
        sha256 = "1cyb05bv5xkarab3090ikpjiqm79lr46n3nalplliz8jr4x67a82";
-       revision = "2";
-       editedCabalFile = "1aprq51r83v5qja9vy01s8d17bnncnvp1mw6h6maxgzh2xppim8b";
+       revision = "3";
+       editedCabalFile = "177l1fs1wgm34ifbx83xxf29m0ghq6z9skpkwm86qfln2hpikkj9";
        libraryHaskellDepends = [ base foldl lens pipes transformers ];
        testHaskellDepends = [
          base HUnit pipes test-framework test-framework-hunit transformers
@@ -199738,6 +200907,19 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "pipes-ordered-zip_1_2_1" = callPackage
+    ({ mkDerivation, base, foldl, hspec, pipes, pipes-safe }:
+     mkDerivation {
+       pname = "pipes-ordered-zip";
+       version = "1.2.1";
+       sha256 = "0jgqnx5jdra5v0r7v564zzd96jfv42lbkdxgk1k7ip8gcikb1zdm";
+       libraryHaskellDepends = [ base pipes pipes-safe ];
+       testHaskellDepends = [ base foldl hspec pipes pipes-safe ];
+       description = "merge two ordered Producers into a new Producer";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "pipes-p2p" = callPackage
     ({ mkDerivation, async, base, binary, bytestring, errors
      , exceptions, mtl, network, network-simple-sockaddr, pipes
@@ -199781,8 +200963,8 @@ self: {
     ({ mkDerivation, base, pipes, transformers }:
      mkDerivation {
        pname = "pipes-parse";
-       version = "3.0.8";
-       sha256 = "1a87q6l610rhxr23qfzzzif3zpfjhw3mg5gfcyjwqac25hdq73yj";
+       version = "3.0.9";
+       sha256 = "05cd0j1avkzmryf3869hfpvd9xmzbpz4kc65srswx36n06dkz5x3";
        libraryHaskellDepends = [ base pipes transformers ];
        description = "Parsing infrastructure for the pipes ecosystem";
        license = lib.licenses.bsd3;
@@ -199886,8 +201068,8 @@ self: {
      }:
      mkDerivation {
        pname = "pipes-safe";
-       version = "2.3.2";
-       sha256 = "10m6f52nahxwnl2zvgnbilllcvd3lpi0dxl3j6fk20lryjzmhyqc";
+       version = "2.3.3";
+       sha256 = "19gp93x5m1bnq240bj3v33pglf9r5gzji39fsjcazji837czghab";
        libraryHaskellDepends = [
          base containers exceptions monad-control mtl pipes primitive
          transformers transformers-base
@@ -200156,6 +201338,23 @@ self: {
        broken = true;
      }) {};
 
+  "pixel-printer" = callPackage
+    ({ mkDerivation, base, JuicyPixels, lens, optparse-applicative }:
+     mkDerivation {
+       pname = "pixel-printer";
+       version = "0.1.1";
+       sha256 = "179r8715rmd7njan4jl0g3jy0w0xq420nmkw9arvp50my8ag610f";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base JuicyPixels lens ];
+       executableHaskellDepends = [
+         base JuicyPixels optparse-applicative
+       ];
+       testHaskellDepends = [ base ];
+       description = "A program for turning pixel art into 3D prints";
+       license = lib.licenses.gpl3;
+     }) {};
+
   "pixela" = callPackage
     ({ mkDerivation, aeson, base, bytestring, data-default-class
      , http-client, http-client-tls, http-types, split, text, time
@@ -200202,6 +201401,31 @@ self: {
        broken = true;
      }) {};
 
+  "pixiv" = callPackage
+    ({ mkDerivation, aeson, base, base16-bytestring, bytestring
+     , cryptohash-md5, directory, exceptions, filepath, http-client
+     , http-client-tls, lens, monad-control, mtl, process, servant
+     , servant-client, servant-client-core, template-haskell, temporary
+     , text, time, transformers, transformers-base, zip-archive
+     }:
+     mkDerivation {
+       pname = "pixiv";
+       version = "0.1.0";
+       sha256 = "001pfzijh7ibcyinmw0l8yvw0kxsvmniw993qx9b6zlzf689cpp6";
+       libraryHaskellDepends = [
+         aeson base base16-bytestring bytestring cryptohash-md5 directory
+         exceptions filepath http-client http-client-tls lens monad-control
+         mtl process servant servant-client servant-client-core
+         template-haskell temporary text time transformers transformers-base
+         zip-archive
+       ];
+       testHaskellDepends = [
+         aeson base bytestring http-client http-client-tls
+       ];
+       description = "Pixiv API binding based on servant-client";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "piyo" = callPackage
     ({ mkDerivation, base, extra, sdl2, sdl2-gfx, sdl2-image
      , sdl2-mixer, sdl2-ttf, text
@@ -200943,8 +202167,8 @@ self: {
      }:
      mkDerivation {
        pname = "plugins";
-       version = "1.6.1";
-       sha256 = "004mfq0d10s26sgk12zrhgmxcfxnhvdyajr48scxf5rh1fv9440i";
+       version = "1.6.2";
+       sha256 = "1lgk25chpl6albf8pzq8q40di02rgv7g3bsf586a5pl2kdh2p2qq";
        libraryHaskellDepends = [
          array base Cabal containers directory filepath ghc ghc-paths
          ghc-prim haskell-src process random split
@@ -201758,8 +202982,8 @@ self: {
        pname = "polyparse";
        version = "1.13";
        sha256 = "0yvhg718dlksiw3v27m2d8m1sn4r4f5s0p56zq3lynhy1sc74k0w";
-       revision = "1";
-       editedCabalFile = "09jcn26py3lkjn3lvxgry86bad8xb8cwl3avxymqmf7b181krfb8";
+       revision = "2";
+       editedCabalFile = "1n5q6w7x46cvcq7j1pg9jx9h72vcsc5di35rbkmwgjw6pq4w4gfl";
        libraryHaskellDepends = [ base bytestring text ];
        description = "A variety of alternative parser combinator libraries";
        license = "LGPL";
@@ -201974,6 +203198,21 @@ self: {
        broken = true;
      }) {};
 
+  "polysemy-mocks" = callPackage
+    ({ mkDerivation, base, hspec, hspec-discover, polysemy
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "polysemy-mocks";
+       version = "0.1.0.1";
+       sha256 = "0jd8x47mdx9fyn65ra0y1m05myf2m2bhz3ykg1i3818ixwd93xvl";
+       libraryHaskellDepends = [ base polysemy template-haskell ];
+       testHaskellDepends = [ base hspec polysemy ];
+       testToolDepends = [ hspec-discover ];
+       description = "Mocking framework for polysemy effects";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "polysemy-optics" = callPackage
     ({ mkDerivation, base, optics, polysemy, polysemy-zoo }:
      mkDerivation {
@@ -202250,10 +203489,8 @@ self: {
      }:
      mkDerivation {
        pname = "pomaps";
-       version = "0.2.0.0";
-       sha256 = "1a3vf0r69263gpq1aass2x5wcmgrfk16pnsf4wsvrnka5lgnsijp";
-       revision = "1";
-       editedCabalFile = "1srihzg6wm2ydg6kr3q2n7pqk4wp4mhqscansi670pdzblv7ljkn";
+       version = "0.2.0.1";
+       sha256 = "199yq3nzdhdglggk1pfayv8p6rahs9xzzm1hjkjd74asfbkf9wqg";
        libraryHaskellDepends = [
          base containers deepseq ghc-prim lattices
        ];
@@ -202412,8 +203649,8 @@ self: {
      }:
      mkDerivation {
        pname = "pontarius-xmpp-extras";
-       version = "0.1.0.5";
-       sha256 = "0y1plyfvjfbm4xwmc3khd4h089pk96p1krxchv5pnwqf0agxi5sv";
+       version = "0.1.0.6";
+       sha256 = "12av8vgnj9iy0bdcb13gc4x28n3c7ahb3221xla78sss5r4rhq0z";
        libraryHaskellDepends = [
          base data-default pontarius-xmpp text time xml-types
        ];
@@ -203354,6 +204591,8 @@ self: {
        pname = "postgresql-libpq";
        version = "0.9.4.3";
        sha256 = "1gfnhc5pibn7zmifdf2g0c112xrpzsk756ln2kjzqljkspf4dqp3";
+       revision = "1";
+       editedCabalFile = "1clivf13z15w954a0kcfkv8yc0d8kx61b68x2hk7a9236ck7l2m2";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [ base bytestring unix ];
        librarySystemDepends = [ postgresql ];
@@ -203575,6 +204814,8 @@ self: {
        pname = "postgresql-simple";
        version = "0.6.4";
        sha256 = "0rz2bklxp4pvbxb2w49h5p6pbwabn6d5d4j4mrya4fpa0d13k43d";
+       revision = "1";
+       editedCabalFile = "017qfhml58psv72qnyb2hg6r8jl1mj8jmr2q5p3hgd0lcsxiq0qi";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring bytestring-builder
          case-insensitive containers hashable Only postgresql-libpq
@@ -203997,8 +205238,6 @@ self: {
        ];
        description = "REST API for any Postgres database";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "postgrest-ws" = callPackage
@@ -205212,8 +206451,8 @@ self: {
      }:
      mkDerivation {
        pname = "pretty-diff";
-       version = "0.2.0.3";
-       sha256 = "1pnq05zw7zyfikga8y27pkya4wrf0m3mrksmzi8l7jp9qdhkyia1";
+       version = "0.4.0.2";
+       sha256 = "0wa70is5pmad4f0spj5hmi56y290k1xizs4zwlrgry65r8c1qgns";
        libraryHaskellDepends = [ base data-default Diff text ];
        testHaskellDepends = [
          base data-default Diff tasty tasty-hunit tasty-test-reporter text
@@ -205222,6 +206461,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "pretty-diff_0_4_0_3" = callPackage
+    ({ mkDerivation, base, data-default, Diff, tasty, tasty-hunit
+     , tasty-test-reporter, text
+     }:
+     mkDerivation {
+       pname = "pretty-diff";
+       version = "0.4.0.3";
+       sha256 = "0qzsq9dm95f6yjryl2675rbyx178zxl562x0y9i1py2rx4k8z7gl";
+       libraryHaskellDepends = [ base data-default Diff text ];
+       testHaskellDepends = [
+         base data-default Diff tasty tasty-hunit tasty-test-reporter text
+       ];
+       description = "Pretty printing a diff of two values";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "pretty-display" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, pretty-show, text }:
      mkDerivation {
@@ -205809,8 +207065,8 @@ self: {
        pname = "primitive";
        version = "0.7.1.0";
        sha256 = "1w53i4mk248g58xrffmksznr4nmn2bbbycajzpcqfxx5ybyyrsvb";
-       revision = "1";
-       editedCabalFile = "0nllkqvfrplhslfgbqgpn0r5k4mj5wlfixjxrpjz6vb73xwi5977";
+       revision = "2";
+       editedCabalFile = "1m08slj8m596z4pqsw3ag25ijhzlv9ki809ydh4nbin141bpsdgn";
        libraryHaskellDepends = [ base deepseq transformers ];
        testHaskellDepends = [
          base base-orphans ghc-prim QuickCheck quickcheck-classes-base
@@ -205907,8 +207163,8 @@ self: {
      }:
      mkDerivation {
        pname = "primitive-extras";
-       version = "0.8";
-       sha256 = "0g3b7b842wbdh7hqr6ikvycdwk1n3in9dq5yb09g744ydpmvg24r";
+       version = "0.10.1";
+       sha256 = "0ddnn94qqkx021marpi2j03sil15422scq0df6dmlc6q0qyyivyc";
        libraryHaskellDepends = [
          base bytestring cereal deferred-folds focus foldl list-t primitive
          primitive-unlifted profunctors vector
@@ -206410,6 +207666,8 @@ self: {
        pname = "process";
        version = "1.6.11.0";
        sha256 = "0nv8c2hnx1l6xls6b61l8sm7j250qfbj1fjj5n6m15ppk9f0d9jd";
+       revision = "1";
+       editedCabalFile = "136mp45m1jh27yayb0gx4giybp6imh7hbr774fsb2m9vj2l52b27";
        libraryHaskellDepends = [ base deepseq directory filepath unix ];
        testHaskellDepends = [ base bytestring directory ];
        description = "Process libraries";
@@ -206742,16 +208000,15 @@ self: {
 
   "product-profunctors" = callPackage
     ({ mkDerivation, base, bifunctors, contravariant, criterion
-     , deepseq, profunctors, tagged, template-haskell
+     , deepseq, profunctors, tagged, template-haskell, th-abstraction
      }:
      mkDerivation {
        pname = "product-profunctors";
-       version = "0.11.0.1";
-       sha256 = "0lwwjnpxgkgk02179j8jj9c1zvaw4f406i9gm7ngqczl8y796q3l";
-       revision = "1";
-       editedCabalFile = "07k4g2jpxdh2n60b2wkngw6pklfh5fwf9360ih9m88dr7mi5c88n";
+       version = "0.11.0.2";
+       sha256 = "13q1zq5gli21khsxrgiwqilqfasb16hks5w0ikkm1i735z0pf97l";
        libraryHaskellDepends = [
          base bifunctors contravariant profunctors tagged template-haskell
+         th-abstraction
        ];
        testHaskellDepends = [ base profunctors ];
        benchmarkHaskellDepends = [ base criterion deepseq ];
@@ -206942,14 +208199,14 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "profunctors_5_6_1" = callPackage
+  "profunctors_5_6_2" = callPackage
     ({ mkDerivation, base, base-orphans, bifunctors, comonad
      , contravariant, distributive, tagged, transformers
      }:
      mkDerivation {
        pname = "profunctors";
-       version = "5.6.1";
-       sha256 = "1b2fgnhl3j790rra615q6y9xx97lip0smfg1c13ad1brvyjygps6";
+       version = "5.6.2";
+       sha256 = "0an9v003ivxmjid0s51qznbjhd5fsa1dkcfsrhxllnjja1xmv5b5";
        libraryHaskellDepends = [
          base base-orphans bifunctors comonad contravariant distributive
          tagged transformers
@@ -208630,8 +209887,8 @@ self: {
      }:
      mkDerivation {
        pname = "ptr-poker";
-       version = "0.1.1.3";
-       sha256 = "1qrcsci4jccx4l1zlpqr202jl2dhpmcbbq94gfgdax80q8js3yrq";
+       version = "0.1.1.4";
+       sha256 = "1g9b3dixrgi1k8vg85mgdpnph1dz02xggwp61naak6j392kg6rkf";
        libraryHaskellDepends = [ base bytestring scientific text ];
        testHaskellDepends = [ hedgehog numeric-limits rerebase ];
        benchmarkHaskellDepends = [ gauge rerebase ];
@@ -208937,6 +210194,7 @@ self: {
        librarySystemDepends = [ libpulseaudio ];
        description = "binding to Simple API of pulseaudio";
        license = lib.licenses.bsd3;
+       maintainers = with lib.maintainers; [ turion ];
      }) {inherit (pkgs) libpulseaudio;};
 
   "pulseaudio" = callPackage
@@ -210259,9 +211517,11 @@ self: {
      }:
      mkDerivation {
        pname = "qtah-cpp-qt5";
-       version = "0.7.0";
-       sha256 = "1i5h5j7cy94ab41x9aqkiv7vyx5h7cda8v1jccpna8lr7ccicczp";
-       setupHaskellDepends = [ base Cabal directory filepath process ];
+       version = "0.8.0";
+       sha256 = "0k8zl9gzwfnnxkfclb20v0q3rl42bs1g9iw9vm5j0fhr934w38gs";
+       setupHaskellDepends = [
+         base Cabal directory filepath process qtah-generator
+       ];
        libraryHaskellDepends = [ base process qtah-generator ];
        librarySystemDepends = [ qtbase ];
        description = "Qt bindings for Haskell - C++ library";
@@ -210276,8 +211536,8 @@ self: {
      }:
      mkDerivation {
        pname = "qtah-examples";
-       version = "0.7.0";
-       sha256 = "09svfzi73gjy4bsz4snp1mciqin25xqr6n3kya8367q4j01mdrrv";
+       version = "0.8.0";
+       sha256 = "0wn0514xckbsj1phndb2b924lxh24sbngjgrvsn3sjg305vzizvr";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -210290,23 +211550,21 @@ self: {
      }) {};
 
   "qtah-generator" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, directory
-     , filepath, haskell-src, hoppy-generator, hoppy-std, mtl, process
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , haskell-src, hoppy-generator, hoppy-std, mtl, process
      , transformers
      }:
      mkDerivation {
        pname = "qtah-generator";
-       version = "0.7.1";
-       sha256 = "0iizb1af1j9g4lvdz81c2cl57r6ffv07kqgls6cl9pgp43ikrjjb";
+       version = "0.8.0";
+       sha256 = "1s782f1gagj1av8xv30qjqs5r05i3fr7a05dp213i6p818kj20r1";
        isLibrary = true;
        isExecutable = true;
-       setupHaskellDepends = [ base Cabal directory filepath ];
-       libraryHaskellDepends = [ base ];
-       executableHaskellDepends = [
+       libraryHaskellDepends = [
          base bytestring containers directory filepath haskell-src
          hoppy-generator hoppy-std mtl process transformers
        ];
-       doHaddock = false;
+       executableHaskellDepends = [ base ];
        description = "Generator for Qtah Qt bindings";
        license = lib.licenses.lgpl3;
        hydraPlatforms = lib.platforms.none;
@@ -210320,9 +211578,11 @@ self: {
      }:
      mkDerivation {
        pname = "qtah-qt5";
-       version = "0.7.0";
-       sha256 = "0wndmrrz4c3gfx9wjj9v13zjjpjandg2qkq7fkxp5z3rgw4hmm8f";
-       setupHaskellDepends = [ base Cabal directory filepath ];
+       version = "0.8.0";
+       sha256 = "187x961030hfw79xs0m9xgplm8jlglynya4ndsax378vdpnbrrgw";
+       setupHaskellDepends = [
+         base Cabal directory filepath qtah-generator
+       ];
        libraryHaskellDepends = [
          base binary bytestring hoppy-runtime qtah-cpp-qt5 qtah-generator
        ];
@@ -210411,10 +211671,8 @@ self: {
      }:
      mkDerivation {
        pname = "quantification";
-       version = "0.5.1";
-       sha256 = "1abr0rb3q13klrz6199gpl4d07s5y8j56i8gvpy8nqgyi7awznx9";
-       revision = "1";
-       editedCabalFile = "1q18l6wv57d0386p75ykkcpc18cdnzpbxdxbr5bdx02wj5v4vq8f";
+       version = "0.5.2";
+       sha256 = "0ngy44xlbxhq8gzvp9fs71pchzqgy2bpqqfm3wna666c1034srxf";
        libraryHaskellDepends = [
          aeson base binary containers ghc-prim hashable path-pieces text
          unordered-containers vector
@@ -210918,6 +212176,8 @@ self: {
        pname = "quickcheck-instances";
        version = "0.3.25.2";
        sha256 = "0ihqbarl2ddrfgq3mq09lswwn8213qpw13g49qxs5mjkcm6gbk3h";
+       revision = "1";
+       editedCabalFile = "0pmsq83jzf7gxr59h8j85121n6n0iqbl3smccl9v7n3gkp70kr2q";
        libraryHaskellDepends = [
          array base bytestring case-insensitive containers data-fix hashable
          integer-logarithms old-time QuickCheck scientific splitmix strict
@@ -211860,16 +213120,18 @@ self: {
      }) {};
 
   "quote-quot" = callPackage
-    ({ mkDerivation, base, tasty, tasty-quickcheck, template-haskell }:
+    ({ mkDerivation, base, tasty, tasty-bench, tasty-quickcheck
+     , template-haskell
+     }:
      mkDerivation {
        pname = "quote-quot";
-       version = "0.1.0.0";
-       sha256 = "124rgim8bb4x9rqsvc05dcbz739anj2xg8q9v9s0fpjkv6qwl79b";
+       version = "0.2.0.0";
+       sha256 = "0sj862037gdljwiv5s4yh0vjfppzf226z7sxb5f7y1k23rijsx0w";
        libraryHaskellDepends = [ base template-haskell ];
        testHaskellDepends = [
          base tasty tasty-quickcheck template-haskell
        ];
-       benchmarkHaskellDepends = [ base template-haskell ];
+       benchmarkHaskellDepends = [ base tasty-bench template-haskell ];
        description = "Divide without division";
        license = lib.licenses.bsd3;
      }) {};
@@ -212458,12 +213720,12 @@ self: {
     ({ mkDerivation, base, criterion, hspec }:
      mkDerivation {
        pname = "rampart";
-       version = "1.1.0.1";
-       sha256 = "0b0c8qkkj2xqmdd53q198kwm0n7qvdyh6qxmp24mqkpjcrskh6vl";
+       version = "1.1.0.2";
+       sha256 = "1lvzgdagjzvkxcdbc43n144vbva5vlvsjziz80rjzm7kg3mslg1r";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec ];
        benchmarkHaskellDepends = [ base criterion ];
-       description = "🏰 Determine how intervals relate to each other";
+       description = "Determine how intervals relate to each other";
        license = lib.licenses.isc;
      }) {};
 
@@ -212554,8 +213816,8 @@ self: {
        pname = "random";
        version = "1.2.0";
        sha256 = "1pmr7zbbqg58kihhhwj8figf5jdchhi7ik2apsyxbgsqq3vrqlg4";
-       revision = "4";
-       editedCabalFile = "08mq836ganl3sq6mfn3hrj6xm0h30klp21y7gbd9md2882agndrk";
+       revision = "5";
+       editedCabalFile = "1jai1pcs39ijdhxc8q36x1yayr8rsblhx3y88paf4bqxrks2vmrh";
        libraryHaskellDepends = [ base bytestring deepseq mtl splitmix ];
        testHaskellDepends = [
          base bytestring containers doctest mwc-random primitive smallcheck
@@ -212611,8 +213873,8 @@ self: {
      }:
      mkDerivation {
        pname = "random-bytestring";
-       version = "0.1.3.2";
-       sha256 = "16mjdb1sy7ppfbj5hshjpyrly6mklzvxip8vrqcvsfm869pkzayw";
+       version = "0.1.4";
+       sha256 = "0f4n41gqxxggadysvx3vg2iq89z7i7692ccrfmiajq73lbp6y34j";
        libraryHaskellDepends = [ base bytestring mwc-random pcg-random ];
        benchmarkHaskellDepends = [
          async base bytestring criterion cryptonite entropy ghc-prim
@@ -212990,6 +214252,19 @@ self: {
        broken = true;
      }) {};
 
+  "ranged-list" = callPackage
+    ({ mkDerivation, base, doctest, typecheck-plugin-nat-simple }:
+     mkDerivation {
+       pname = "ranged-list";
+       version = "0.1.0.0";
+       sha256 = "0v0a80g17r8dap28gm83wnk32m3snlmw1r51vvwfb74a4q3613w8";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base typecheck-plugin-nat-simple ];
+       testHaskellDepends = [ base doctest typecheck-plugin-nat-simple ];
+       description = "The list like structure whose length or range of length can be specified";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "rangemin" = callPackage
     ({ mkDerivation, base, containers, primitive, vector }:
      mkDerivation {
@@ -213387,8 +214662,8 @@ self: {
      }:
      mkDerivation {
        pname = "ratel";
-       version = "1.0.12";
-       sha256 = "00xhs04jrrbi1n2sx86v4pd3sggyk2682s3zxfmhb16zysh3hdx2";
+       version = "1.0.13";
+       sha256 = "0ydg5xlf10g1wp18bwpr3mg9x29fyc1c5g22rn4szy0cs6hvqx6m";
        libraryHaskellDepends = [
          aeson base bytestring case-insensitive containers http-client
          http-client-tls http-types text uuid
@@ -213404,8 +214679,8 @@ self: {
      }:
      mkDerivation {
        pname = "ratel-wai";
-       version = "1.1.3";
-       sha256 = "154zxrv9w904bgrgwb623zkqxzp200ivhwfpcwlb8r2903jmw7vq";
+       version = "1.1.4";
+       sha256 = "1b2d5agip0zw10nmkr45gwhzpaga9nsdqv62xil11gadhaqji2f7";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers http-client ratel wai
        ];
@@ -213544,8 +214819,8 @@ self: {
      }:
      mkDerivation {
        pname = "rattletrap";
-       version = "9.3.3";
-       sha256 = "0c2q48vbqkvhd0m3sahn7ja8bxpj9xkgw2hkg9chrhj0amyp5xzk";
+       version = "9.4.1";
+       sha256 = "1m8bqjqp413sm86v0i2083hnsq7h11hlmmqch1pxbgpv5678jq0q";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -213606,8 +214881,8 @@ self: {
      }:
      mkDerivation {
        pname = "raw-feldspar";
-       version = "0.3";
-       sha256 = "0kxnl7vvqkmrq2cjwgrb4342bvr8a57v652f2pd5yvndamcz5m3w";
+       version = "0.3.1";
+       sha256 = "1kn86izm2wpqj59nnpxw34n37bh1w5y7h9rd59c1pcymhp29n6qd";
        libraryHaskellDepends = [
          array base constraints containers data-default-class data-hash
          imperative-edsl language-c-quote mtl operational-alacarte
@@ -213820,25 +215095,20 @@ self: {
      }) {};
 
   "rcu" = callPackage
-    ({ mkDerivation, atomic-primops, base, Cabal, cabal-doctest
-     , containers, criterion, deepseq, doctest, fail, ghc-prim
-     , optparse-applicative, parallel, primitive, rdtsc, time
-     , transformers
+    ({ mkDerivation, atomic-primops, base, containers, criterion
+     , deepseq, fail, ghc-prim, optparse-applicative, parallel
+     , primitive, rdtsc, time, transformers
      }:
      mkDerivation {
        pname = "rcu";
-       version = "0.2.4";
-       sha256 = "1zl6gl6b9x2ppxzrvb356216f7gi1kpwxsqb0w220f86wyzf9gbr";
-       revision = "1";
-       editedCabalFile = "07blx598aqwkfgicsl7g7i9gf49550ln8zz0gp4g3kyxq8pvmphb";
+       version = "0.2.5";
+       sha256 = "1p2cg6xy5cjdizqialv9y8qylwdri5fhby2xh04fnhpjapsrbc7l";
        isLibrary = true;
        isExecutable = true;
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          atomic-primops base fail ghc-prim parallel primitive transformers
        ];
        executableHaskellDepends = [ base transformers ];
-       testHaskellDepends = [ base doctest parallel ];
        benchmarkHaskellDepends = [
          base containers criterion deepseq ghc-prim optparse-applicative
          primitive rdtsc time transformers
@@ -214657,8 +215927,8 @@ self: {
      }:
      mkDerivation {
        pname = "reanimate";
-       version = "1.1.3.2";
-       sha256 = "006fj47pm7lqs4haq0i0nmz6syqx3v07qgnh4vjqlyqixk22cyy5";
+       version = "1.1.3.3";
+       sha256 = "1d348fpfzfqi3vm8qzdxbbdrx62awxx0hrnj3vw1szp41an6ya30";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson ansi-terminal array attoparsec base base64-bytestring
@@ -214691,8 +215961,8 @@ self: {
      }:
      mkDerivation {
        pname = "reanimate-svg";
-       version = "0.13.0.0";
-       sha256 = "0fl3rb993zihwm9vyg615x4k17rrqimjfpc7k06mb5dlgkd39f7v";
+       version = "0.13.0.1";
+       sha256 = "1h31r0lrslxqfayh06955p1kv35g42g3drmqp4miydk6zibyn091";
        libraryHaskellDepends = [
          attoparsec base bytestring containers double-conversion hashable
          JuicyPixels lens linear mtl scientific text transformers vector xml
@@ -214876,8 +216146,8 @@ self: {
      }:
      mkDerivation {
        pname = "record-dot-preprocessor";
-       version = "0.2.7";
-       sha256 = "1ma1rc962z2qr7xwxh03bkbcmn9dsqizrjv699wbc82fzfzn5hrr";
+       version = "0.2.8";
+       sha256 = "0ln7kw1f0l56ivzh77s1k1xa3nha3a4hs3bpmdi9apj21ffr5cb6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base extra ghc uniplate ];
@@ -215068,8 +216338,8 @@ self: {
      }:
      mkDerivation {
        pname = "recursion-schemes";
-       version = "5.2.1";
-       sha256 = "0yx7pj25p6h8qjsgxbjsxaz23ar21wyxr8wqpmsn61pk8mahwggl";
+       version = "5.2.2";
+       sha256 = "02p1blgxd0nyzrgqw8ghm2a680f2a05rn1nrqqcjyh1whksl2g3x";
        libraryHaskellDepends = [
          base base-orphans comonad containers data-fix free template-haskell
          th-abstraction transformers
@@ -215220,6 +216490,17 @@ self: {
        broken = true;
      }) {};
 
+  "redesigned-carnival" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "redesigned-carnival";
+       version = "1.0.0.0";
+       sha256 = "0qgb6w402fbpilb3gwa7r5v1lxx6dzk8g66cigsw062jfhdiy1hx";
+       libraryHaskellDepends = [ base ];
+       description = "Package for dependency confusion";
+       license = lib.licenses.publicDomain;
+     }) {};
+
   "redis" = callPackage
     ({ mkDerivation, base, bytestring, concurrent-extra, containers
      , exceptions, mtl, network, old-time, utf8-string
@@ -215622,8 +216903,8 @@ self: {
      }:
      mkDerivation {
        pname = "refined";
-       version = "0.6.1";
-       sha256 = "124sqpcii62jh2n2vfskg9jc8ic4hhlwmwim40f6a0dmhdnsh8lx";
+       version = "0.6.2";
+       sha256 = "1xfy6sl6kl9k7vvlvwg8fb3kdpqd0fl1c9wcfwgdqb874a4xn6dz";
        libraryHaskellDepends = [
          aeson base bytestring deepseq exceptions mtl QuickCheck
          template-haskell text these-skinny
@@ -215652,22 +216933,6 @@ self: {
      }:
      mkDerivation {
        pname = "refinery";
-       version = "0.2.0.0";
-       sha256 = "0nsfmb5y8y0hanh3h03v0n8wa5frgj85gz8ycl8h5z045j2kk3wq";
-       libraryHaskellDepends = [ base exceptions logict mmorph mtl ];
-       testHaskellDepends = [
-         base checkers exceptions hspec logict mmorph mtl QuickCheck
-       ];
-       description = "Toolkit for building proof automation systems";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "refinery_0_3_0_0" = callPackage
-    ({ mkDerivation, base, checkers, exceptions, hspec, logict, mmorph
-     , mtl, QuickCheck
-     }:
-     mkDerivation {
-       pname = "refinery";
        version = "0.3.0.0";
        sha256 = "1bsbnxf75prw153c3k02jk84h3sravdi1c1sl75c7sx4xq81qhlp";
        libraryHaskellDepends = [ base exceptions logict mmorph mtl ];
@@ -215676,7 +216941,6 @@ self: {
        ];
        description = "Toolkit for building proof automation systems";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "reflection" = callPackage
@@ -216713,10 +217977,8 @@ self: {
     ({ mkDerivation, array, base, bytestring, containers, mtl, text }:
      mkDerivation {
        pname = "regex-base";
-       version = "0.94.0.0";
-       sha256 = "055rlq67xnbqv43fgrlw6d7s8nhyavahrp6blihwjmqizksq47y4";
-       revision = "1";
-       editedCabalFile = "13lnky4ps9as73jqrwz4aqn5sfyrcz2zj2ng52xzz512fv59baj4";
+       version = "0.94.0.1";
+       sha256 = "1ngdmmrxs1rhvib052c6shfa40yad82jylylikz327r0zxpxkcbi";
        libraryHaskellDepends = [
          array base bytestring containers mtl text
        ];
@@ -216728,12 +217990,10 @@ self: {
     ({ mkDerivation, array, base, regex-base, regex-posix }:
      mkDerivation {
        pname = "regex-compat";
-       version = "0.95.2.0";
-       sha256 = "01l44zrfpqb4k1rrzd1j18hn6922xhrl9h7s0hjfs363dx3hxj8z";
-       revision = "1";
-       editedCabalFile = "1d2k9zj51rhy695vlx6cfcmik6a0yyk5kl6aza7nqsqc6zwhidif";
+       version = "0.95.2.1";
+       sha256 = "0ivrdrcphrz3g6nr5wbsmfiv8i82caw0kf6z5qlmlq7xf9n3hywg";
        libraryHaskellDepends = [ array base regex-base regex-posix ];
-       description = "Replaces/Enhances \"Text.Regex\"";
+       description = "Replaces/enhances \"Text.Regex\"";
        license = lib.licenses.bsd3;
      }) {};
 
@@ -216914,8 +218174,8 @@ self: {
        pname = "regex-pcre";
        version = "0.95.0.0";
        sha256 = "0nn76q4bsjnxim0j0d01jifmh36as9jdpcvm001a851vvq86zb8n";
-       revision = "1";
-       editedCabalFile = "1s5jdwvymc9hxdfa23x5amnv2kkcsm2p119f38df2vjdxfvjfiq4";
+       revision = "2";
+       editedCabalFile = "0bvpy3rswyawv23s14nbxvgz5761s61g0shcj7p032i95iq7dj6d";
        libraryHaskellDepends = [
          array base bytestring containers regex-base
        ];
@@ -216981,8 +218241,8 @@ self: {
        pname = "regex-posix";
        version = "0.96.0.0";
        sha256 = "08a584jabmmn5gmaqrcar5wsp3qzk0hklldzp2mr2bmvlvqh04r5";
-       revision = "1";
-       editedCabalFile = "1cy39n1928wv55i7k4wm7zd3xijk7p54kbrxxlfzfvgax5k163b9";
+       revision = "2";
+       editedCabalFile = "10al5qljh6pc46581nkhrs0rjn8w05pp6jb4v55lgfr17ac0z1xx";
        libraryHaskellDepends = [
          array base bytestring containers regex-base
        ];
@@ -217029,8 +218289,8 @@ self: {
        pname = "regex-tdfa";
        version = "1.3.1.0";
        sha256 = "1h1fliv2zjxwmddl9wnn7ckxxpgy1049hdfg6fcknyrr7mw7dhqm";
-       revision = "1";
-       editedCabalFile = "1fhi4g2p29qnnfyb211n62g97qrw3gz1kahca7rlz43all93ihdy";
+       revision = "2";
+       editedCabalFile = "1hvcqdywwlcpia7qss7ikr9bq0lvkk8z0mjgaylaqpzlgh00z3gb";
        libraryHaskellDepends = [
          array base bytestring containers mtl parsec regex-base text
        ];
@@ -217100,8 +218360,6 @@ self: {
        libraryHaskellDepends = [ array base regex-base regex-tdfa text ];
        description = "Text interface for regex-tdfa";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "regex-tdfa-unittest" = callPackage
@@ -218269,8 +219527,8 @@ self: {
        pname = "repa";
        version = "3.4.1.4";
        sha256 = "17m3wl4hvf04fxwm4fflhnv41yl9bm263hnbpxc8x6xqwifplq23";
-       revision = "7";
-       editedCabalFile = "0j0nqp6xvwis83h1hwm9910xjfxh13nddy61dlli0wdzzddpb8ah";
+       revision = "8";
+       editedCabalFile = "0bhkiav26m61lzjkxjldals136viixyg88xf1bbihsp9kzkbv6as";
        libraryHaskellDepends = [
          base bytestring ghc-prim QuickCheck template-haskell vector
        ];
@@ -220304,8 +221562,8 @@ self: {
      }:
      mkDerivation {
        pname = "rhbzquery";
-       version = "0.4.2";
-       sha256 = "1j9nxizi1wsgz5gamdn9izy4aq6ci41gbkvsw7bbpc8fnvv5gpd2";
+       version = "0.4.3";
+       sha256 = "13brargymd1c9b0csaprj85qdqg98bzj3z2smbb0v66myj48v6fp";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -220332,6 +221590,7 @@ self: {
        ];
        description = "Functional Reactive Programming with type-level clocks";
        license = lib.licenses.bsd3;
+       maintainers = with lib.maintainers; [ turion ];
      }) {};
 
   "rhine-gloss" = callPackage
@@ -220346,6 +221605,7 @@ self: {
        executableHaskellDepends = [ base ];
        description = "Gloss backend for Rhine";
        license = lib.licenses.bsd3;
+       maintainers = with lib.maintainers; [ turion ];
      }) {};
 
   "rhythm-game-tutorial" = callPackage
@@ -220832,6 +222092,39 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "rio-process-pool" = callPackage
+    ({ mkDerivation, async, atomic-primops, base, containers, criterion
+     , data-default, hashable, HUnit, mtl, QuickCheck, rio, tasty
+     , tasty-html, tasty-hunit, tasty-quickcheck, text, unliftio
+     , unliftio-messagebox
+     }:
+     mkDerivation {
+       pname = "rio-process-pool";
+       version = "1.0.0";
+       sha256 = "09v95wyrsa6yg5q5zaf9gqmn2xhh1i1q2mmxq52xhpc8pqwj93b9";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         async base containers data-default hashable mtl QuickCheck rio text
+         unliftio unliftio-messagebox
+       ];
+       executableHaskellDepends = [
+         async base containers data-default hashable mtl QuickCheck rio text
+         unliftio unliftio-messagebox
+       ];
+       testHaskellDepends = [
+         async atomic-primops base containers data-default hashable HUnit
+         mtl QuickCheck rio tasty tasty-html tasty-hunit tasty-quickcheck
+         text unliftio unliftio-messagebox
+       ];
+       benchmarkHaskellDepends = [
+         async base containers criterion data-default hashable mtl
+         QuickCheck rio text unliftio unliftio-messagebox
+       ];
+       description = "A library for process pools coupled with asynchronous message queues";
+       license = lib.licenses.bsd2;
+     }) {};
+
   "riot" = callPackage
     ({ mkDerivation, base, containers, directory, haskell98, mtl
      , ncurses, old-locale, packedstring, process, unix
@@ -221858,8 +223151,8 @@ self: {
      }:
      mkDerivation {
        pname = "rope-utf16-splay";
-       version = "0.3.1.0";
-       sha256 = "1ilcgwmdwqnp95vb7652fc03ji9dnzy6cm24pvbiwi2mhc4piy6b";
+       version = "0.3.2.0";
+       sha256 = "0yacy3iqx52nz2ja6fx5di7z3xjzakcmld2l1gixyawfvhavh17p";
        libraryHaskellDepends = [ base text ];
        testHaskellDepends = [
          base QuickCheck tasty tasty-hunit tasty-quickcheck text
@@ -222443,14 +223736,14 @@ self: {
      }) {};
 
   "rpmbuild-order" = callPackage
-    ({ mkDerivation, base, bytestring, case-insensitive, containers
-     , directory, extra, fgl, filepath, hspec, optparse-applicative
-     , process, simple-cmd, simple-cmd-args, unix
+    ({ mkDerivation, base, case-insensitive, containers, directory
+     , extra, fgl, filepath, hspec, optparse-applicative, process
+     , simple-cmd, simple-cmd-args, unix
      }:
      mkDerivation {
        pname = "rpmbuild-order";
-       version = "0.4.3.1";
-       sha256 = "01k1lw0gxxsnl4wqzsynl6xkrnim5fjmdj6jb6b0bgd5jd1y0fyj";
+       version = "0.4.3.2";
+       sha256 = "1510v4gbylzpdh7l23r4z6xhqmjalay3crxg2216lz8j0mb4sbq9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -222458,8 +223751,7 @@ self: {
          process
        ];
        executableHaskellDepends = [
-         base bytestring directory extra fgl optparse-applicative
-         simple-cmd-args
+         base directory extra fgl optparse-applicative simple-cmd-args
        ];
        testHaskellDepends = [ base extra hspec simple-cmd unix ];
        description = "Order RPM packages by dependencies";
@@ -222983,8 +224275,8 @@ self: {
      }:
      mkDerivation {
        pname = "runhs";
-       version = "1.0.0.8";
-       sha256 = "177xak0p91xn827cnpa374l94lmmym2yrrcsxzjd9752hdzyw7k3";
+       version = "1.0.0.9";
+       sha256 = "1i2g706997wkqj081pqxj8nq6nhj94x4kf5q0fnj39fp35fmak6q";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -223581,8 +224873,8 @@ self: {
      }:
      mkDerivation {
        pname = "safecopy";
-       version = "0.10.3.1";
-       sha256 = "0y2jpykad7inzndw4azb2wdp4zp3smjax95sdcxycw5x88rxdra1";
+       version = "0.10.4.1";
+       sha256 = "1p8kbf9js67zl2wr6y0605acy54xlpsih1zqkdy21cywz1kannbp";
        libraryHaskellDepends = [
          array base bytestring cereal containers generic-data old-time
          template-haskell text time transformers vector
@@ -223855,8 +225147,8 @@ self: {
        pname = "salak";
        version = "0.3.6";
        sha256 = "00qyd09az0ldfidfgcki8z3r9gcpxmss3iyr99as5bky29rlz9n3";
-       revision = "3";
-       editedCabalFile = "0cdp6gy3r92vhpmq2i7yg4xxmnj95dyfvaf8gm05v6wl8l6rihfy";
+       revision = "4";
+       editedCabalFile = "07q9a24ry6h6r3m1av0dxz39dzmyjhlcrw1ww5jprqcf3xxjxhdz";
        libraryHaskellDepends = [
          base bytestring containers data-default directory dlist exceptions
          filepath hashable heaps megaparsec mtl scientific text time
@@ -223963,8 +225255,8 @@ self: {
     ({ mkDerivation, base, HUnit }:
      mkDerivation {
        pname = "salve";
-       version = "1.0.10";
-       sha256 = "01i74s62kp9gbwj4jwphvn8z7gsbryczx5gn9a6cd92r29393bkm";
+       version = "1.0.11";
+       sha256 = "00haa87rpwhy89zg31k0fwizg97i65kqx5gzikm4fjxr7j8ds1xb";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base HUnit ];
        description = "Semantic version numbers and constraints";
@@ -224580,16 +225872,16 @@ self: {
      , containers, crackNum, deepseq, directory, doctest, filepath
      , gauge, Glob, hlint, mtl, pretty, process, QuickCheck, random
      , silently, syb, tasty, tasty-golden, tasty-hunit, tasty-quickcheck
-     , template-haskell, time, transformers, uniplate, z3
+     , template-haskell, text, time, transformers, uniplate, z3
      }:
      mkDerivation {
        pname = "sbv";
-       version = "8.9";
-       sha256 = "1h8bhi1pjlg0v16wwqcvil7gq98b6dn8ckzmrsgb8sc3qz0nxj51";
+       version = "8.10";
+       sha256 = "1j9hy840dl78rr1ixhlz24wwymbpiv46hpz8i6dd0gngrfha09ji";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array async base containers crackNum deepseq directory filepath mtl
-         pretty process QuickCheck random syb template-haskell time
+         pretty process QuickCheck random syb template-haskell text time
          transformers uniplate
        ];
        testHaskellDepends = [
@@ -224600,7 +225892,7 @@ self: {
        testSystemDepends = [ z3 ];
        benchmarkHaskellDepends = [
          base bench-show containers crackNum deepseq directory filepath
-         gauge mtl process random silently syb time
+         gauge mtl process random silently syb text time
        ];
        description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving";
        license = lib.licenses.bsd3;
@@ -225447,8 +226739,8 @@ self: {
      }:
      mkDerivation {
        pname = "scientific-notation";
-       version = "0.1.2.0";
-       sha256 = "19yfg032ppiy70y28fbildxp4h6y4krs9ayh7a8sdbxibpqb82cx";
+       version = "0.1.3.0";
+       sha256 = "1sdqyf3538n2yz29p2b4jvafa9vlgmr3aqn2x4hifmjx0176xm03";
        libraryHaskellDepends = [
          base bytebuild bytesmith natural-arithmetic
        ];
@@ -226443,16 +227735,17 @@ self: {
 
   "sdl2-ttf" = callPackage
     ({ mkDerivation, base, bytestring, SDL2, sdl2, SDL2_ttf
-     , template-haskell, text, transformers
+     , template-haskell, text, th-abstraction, transformers
      }:
      mkDerivation {
        pname = "sdl2-ttf";
-       version = "2.1.1";
-       sha256 = "1iyqm1i5k8j4948gvr59rgalqwsdkishs52kp85ncvb6cpylw3qn";
+       version = "2.1.2";
+       sha256 = "0jg3dg4g876shbcxlgcjwfd0g76ih3xh8f1hc79qxg6j48khxbpd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring sdl2 template-haskell text transformers
+         base bytestring sdl2 template-haskell text th-abstraction
+         transformers
        ];
        libraryPkgconfigDepends = [ SDL2 SDL2_ttf ];
        description = "Bindings to SDL2_ttf";
@@ -226471,6 +227764,149 @@ self: {
        license = lib.licenses.bsd2;
      }) {};
 
+  "sdp" = callPackage
+    ({ mkDerivation, base, data-default-class, ghc-prim }:
+     mkDerivation {
+       pname = "sdp";
+       version = "0.2";
+       sha256 = "1q9l87rvvx7bqbqx1675r2mvj3b2jf0ywa55xcv2ybsl621z52y0";
+       libraryHaskellDepends = [ base data-default-class ghc-prim ];
+       description = "Simple Data Processing";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "sdp-binary" = callPackage
+    ({ mkDerivation, base, binary, sdp }:
+     mkDerivation {
+       pname = "sdp-binary";
+       version = "0.2";
+       sha256 = "09wripyza10b7cy1w00j2vna1hmld1ijrd081faz88brkahzhdgq";
+       libraryHaskellDepends = [ base binary sdp ];
+       description = "Binary instances for SDP";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "sdp-deepseq" = callPackage
+    ({ mkDerivation, base, deepseq, sdp }:
+     mkDerivation {
+       pname = "sdp-deepseq";
+       version = "0.2";
+       sha256 = "127vzi2a65j5czipgybdhfxfzfzx3r0hrrag1nha40vdgsd3j7w4";
+       libraryHaskellDepends = [ base deepseq sdp ];
+       description = "DeepSeq SDP extension";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "sdp-hashable" = callPackage
+    ({ mkDerivation, base, hashable, sdp }:
+     mkDerivation {
+       pname = "sdp-hashable";
+       version = "0.2";
+       sha256 = "0cl9a10ww93n64sq4mnc3m56y4add04s06gi8n9rmad93v3xfk3j";
+       libraryHaskellDepends = [ base hashable sdp ];
+       description = "Hashable instances for SDP";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "sdp-io" = callPackage
+    ({ mkDerivation, base, fmr, sdp }:
+     mkDerivation {
+       pname = "sdp-io";
+       version = "0.2";
+       sha256 = "06rrfsxzfi3vbjsm1d4cm2f4x7035y0zhp869f3bjasf2r4mzsp4";
+       libraryHaskellDepends = [ base fmr sdp ];
+       description = "SDP IO extension";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "sdp-quickcheck" = callPackage
+    ({ mkDerivation, base, criterion, ghc-prim, QuickCheck, sdp
+     , sdp-deepseq, test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "sdp-quickcheck";
+       version = "0.2";
+       sha256 = "1gmsn5vw8a0qgqkaya7689spmbgcrqqg9zxbkdf4xq38q94zvwvh";
+       libraryHaskellDepends = [ base QuickCheck sdp ];
+       testHaskellDepends = [
+         base QuickCheck sdp test-framework test-framework-quickcheck2
+       ];
+       benchmarkHaskellDepends = [
+         base criterion ghc-prim QuickCheck sdp sdp-deepseq
+       ];
+       description = "SDP QuickCheck support";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "sdp4bytestring" = callPackage
+    ({ mkDerivation, base, bytestring, QuickCheck, quickcheck-instances
+     , sdp, sdp-io, sdp-quickcheck, test-framework
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "sdp4bytestring";
+       version = "0.2";
+       sha256 = "119r7rhrsbv3c5dlwq5lf6lpjdybr5vl9lnvffcl6dvh8bym4g86";
+       revision = "1";
+       editedCabalFile = "1kwi2y9l7mnq5m9kr8731fjy50mz32qp1i966m9wg5bd9kximaga";
+       libraryHaskellDepends = [ base bytestring sdp sdp-io ];
+       testHaskellDepends = [
+         base bytestring QuickCheck quickcheck-instances sdp sdp-io
+         sdp-quickcheck test-framework test-framework-quickcheck2
+       ];
+       description = "SDP wrapper for ByteString";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "sdp4text" = callPackage
+    ({ mkDerivation, base, QuickCheck, quickcheck-instances, sdp
+     , sdp-io, sdp-quickcheck, test-framework
+     , test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "sdp4text";
+       version = "0.2";
+       sha256 = "12gq2rjddl2q4y045jixcar6v6s73qmqy4j30d22nvdyyqdjrxc8";
+       libraryHaskellDepends = [ base sdp sdp-io text ];
+       testHaskellDepends = [
+         base QuickCheck quickcheck-instances sdp sdp-io sdp-quickcheck
+         test-framework test-framework-quickcheck2 text
+       ];
+       description = "SDP wrapper for Text";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "sdp4unordered" = callPackage
+    ({ mkDerivation, base, sdp, sdp-hashable, unordered-containers }:
+     mkDerivation {
+       pname = "sdp4unordered";
+       version = "0.2";
+       sha256 = "0y24ia2p2wsrdk05nikip369fzjh6b3jk59nss4xn4823p15vwsv";
+       libraryHaskellDepends = [
+         base sdp sdp-hashable unordered-containers
+       ];
+       description = "SDP classes for unordered containers";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "sdp4vector" = callPackage
+    ({ mkDerivation, base, QuickCheck, quickcheck-instances, sdp
+     , sdp-quickcheck, test-framework, test-framework-quickcheck2
+     , vector
+     }:
+     mkDerivation {
+       pname = "sdp4vector";
+       version = "0.2";
+       sha256 = "1d18zgwawn598sax2m6cvb5w1k1vpc8n6bfdrvn0wrm8i6fvn0bq";
+       libraryHaskellDepends = [ base sdp vector ];
+       testHaskellDepends = [
+         base QuickCheck quickcheck-instances sdp sdp-quickcheck
+         test-framework test-framework-quickcheck2 vector
+       ];
+       description = "SDP wrapper for Vector";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "sdr" = callPackage
     ({ mkDerivation, array, base, bytestring, bytestring-to-vector
      , cairo, cereal, Chart, Chart-cairo, colour, containers, criterion
@@ -227220,6 +228656,25 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "semialign_1_2" = callPackage
+    ({ mkDerivation, base, containers, hashable, indexed-traversable
+     , indexed-traversable-instances, semigroupoids, tagged, these
+     , transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "semialign";
+       version = "1.2";
+       sha256 = "04dcyj69g7bm1sydxk89vin9mh2pmm0pqf0cm9v981i98xp6xxdj";
+       libraryHaskellDepends = [
+         base containers hashable indexed-traversable
+         indexed-traversable-instances semigroupoids tagged these
+         transformers unordered-containers vector
+       ];
+       description = "Align and Zip type-classes from the common Semialign ancestor";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "semialign-extras" = callPackage
     ({ mkDerivation, base, doctest, lens, QuickCheck, semialign
      , semialign-indexed, these, witherable
@@ -227258,6 +228713,19 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "semialign-indexed_1_2" = callPackage
+    ({ mkDerivation, base, lens, semialign }:
+     mkDerivation {
+       pname = "semialign-indexed";
+       version = "1.2";
+       sha256 = "16f0y3j85zlq2f8z45z085dizvbx4ihppp1ww3swh5daj0zf3kzy";
+       libraryHaskellDepends = [ base lens semialign ];
+       doHaddock = false;
+       description = "SemialignWithIndex, i.e. izipWith and ialignWith";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "semialign-optics" = callPackage
     ({ mkDerivation, base, containers, hashable, optics-extra
      , semialign, these, unordered-containers, vector
@@ -227276,6 +228744,19 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "semialign-optics_1_2" = callPackage
+    ({ mkDerivation, base, optics-core, semialign }:
+     mkDerivation {
+       pname = "semialign-optics";
+       version = "1.2";
+       sha256 = "04vh689mmnb5q77v6ifhg7xf7m2qh5x4i4804rm4biw78130xqr1";
+       libraryHaskellDepends = [ base optics-core semialign ];
+       doHaddock = false;
+       description = "SemialignWithIndex, i.e. izipWith and ialignWith";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "semibounded-lattices" = callPackage
     ({ mkDerivation, base, containers, lattices }:
      mkDerivation {
@@ -227882,6 +229363,30 @@ self: {
        license = lib.licenses.gpl3;
      }) {};
 
+  "sequence-formats_1_6_0" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers, errors
+     , exceptions, foldl, hspec, lens-family, pipes, pipes-attoparsec
+     , pipes-bytestring, pipes-safe, tasty, tasty-hunit, transformers
+     , vector
+     }:
+     mkDerivation {
+       pname = "sequence-formats";
+       version = "1.6.0";
+       sha256 = "1vy2wwzpnqd2c0ma3jm46gx3w3al0j61ncr22bcahsb1nrgmg0dq";
+       libraryHaskellDepends = [
+         attoparsec base bytestring containers errors exceptions foldl
+         lens-family pipes pipes-attoparsec pipes-bytestring pipes-safe
+         transformers vector
+       ];
+       testHaskellDepends = [
+         base bytestring containers foldl hspec pipes pipes-safe tasty
+         tasty-hunit transformers vector
+       ];
+       description = "A package with basic parsing utilities for several Bioinformatic data formats";
+       license = lib.licenses.gpl3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "sequenceTools" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, bytestring, foldl, hspec
      , lens-family, optparse-applicative, pipes, pipes-group
@@ -228629,10 +230134,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-cassava";
-       version = "0.10";
-       sha256 = "03jnyghwa5kjbl5j55njmp7as92flw91zs9cgdvb4jrsdy85sb4v";
-       revision = "7";
-       editedCabalFile = "0n4nbm0axa9qd805jb3gja2p2fiwvhjpvdi5rhlwh4shm9crppcy";
+       version = "0.10.1";
+       sha256 = "0hf7v35yyfqxc20hgq755laba7lziz2vsy7y8cj8nhczcc67smq0";
        libraryHaskellDepends = [
          base base-compat bytestring cassava http-media servant vector
        ];
@@ -229381,8 +230884,8 @@ self: {
        pname = "servant-iCalendar";
        version = "0.1.0.1";
        sha256 = "15gqlb60r8msn3k1j8wjxq89qg6d790lnb751wabg2lsxybmdzas";
-       revision = "7";
-       editedCabalFile = "0yf5gccdilswzabzysc2mrxxq84xdx7k18a647bksimwd44x2i68";
+       revision = "8";
+       editedCabalFile = "10ka19ga7slcv4cb2f0ncfbkz52bbrm8jkxma8qksz6hm48wxjya";
        libraryHaskellDepends = [
          base data-default http-media iCalendar servant
        ];
@@ -229706,6 +231209,8 @@ self: {
        pname = "servant-openapi3";
        version = "2.0.1.1";
        sha256 = "1cyzyljmdfr3gigdszcpj1i7l698fnxpc9hr83mzspm6qcmbqmgf";
+       revision = "1";
+       editedCabalFile = "0j2b3zv5qk5xfi17jwwn456pqpf27aqgy6fmbyqvn8df83rcij5j";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson aeson-pretty base base-compat bytestring hspec http-media
@@ -229801,14 +231306,14 @@ self: {
 
   "servant-polysemy" = callPackage
     ({ mkDerivation, base, deepseq, http-client, http-client-tls, lens
-     , mtl, polysemy, polysemy-plugin, polysemy-zoo, servant-client
-     , servant-server, servant-swagger, servant-swagger-ui, swagger2
-     , text, wai, warp
+     , mtl, polysemy, polysemy-plugin, polysemy-zoo, servant
+     , servant-client, servant-server, servant-swagger
+     , servant-swagger-ui, swagger2, text, wai, warp
      }:
      mkDerivation {
        pname = "servant-polysemy";
-       version = "0.1.1";
-       sha256 = "074c1x51am3ffl9lzhq090h8a6xd9gjf154mhp51glb4m4f6kr15";
+       version = "0.1.2";
+       sha256 = "05qk2kl90lqszwhi1yqnj63zkx3qvd6jbaxsxjw68k7ppsjvnyks";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -229817,7 +231322,7 @@ self: {
        ];
        executableHaskellDepends = [
          base deepseq http-client http-client-tls lens mtl polysemy
-         polysemy-plugin polysemy-zoo servant-client servant-server
+         polysemy-plugin polysemy-zoo servant servant-client servant-server
          servant-swagger servant-swagger-ui swagger2 text wai warp
        ];
        description = "Utilities for using servant in a polysemy stack";
@@ -230649,6 +232154,22 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "servant-validate" = callPackage
+    ({ mkDerivation, base, containers, hspec, servant
+     , should-not-typecheck, text
+     }:
+     mkDerivation {
+       pname = "servant-validate";
+       version = "0.1.0.0";
+       sha256 = "0igcbcax6xxp0h1c4kjbgl2iw1gbadn5ccb1kx0cpp0lydszlv80";
+       libraryHaskellDepends = [ base containers servant text ];
+       testHaskellDepends = [
+         base containers hspec servant should-not-typecheck text
+       ];
+       description = "Chekc static properties of servant APIs";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "servant-waargonaut" = callPackage
     ({ mkDerivation, base, bytestring, http-media, http-types, lens
      , servant, servant-server, tasty, tasty-wai, text, transformers
@@ -230886,17 +232407,17 @@ self: {
   "serversession" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, bytestring
      , containers, data-default, hashable, hspec, nonce, path-pieces
-     , QuickCheck, text, time, transformers, unordered-containers
+     , persistent-test, QuickCheck, text, time, transformers
+     , unordered-containers
      }:
      mkDerivation {
        pname = "serversession";
-       version = "1.0.1";
-       sha256 = "08j8v6a2018bmvwsb7crdg0ajak74jggb073pdpx9s0pf3cfzyrz";
-       revision = "2";
-       editedCabalFile = "0i5faxzxgvpfylmrr175f8l4asyh4phncc90jkfag53gnspcv028";
+       version = "1.0.2";
+       sha256 = "02ynhgq6gn5ddx2yd8ns8ay0rrhzln2h6jrmnwk7x1fqqfvzx0jf";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring data-default hashable nonce
-         path-pieces text time transformers unordered-containers
+         path-pieces persistent-test text time transformers
+         unordered-containers
        ];
        testHaskellDepends = [
          aeson base base64-bytestring bytestring containers data-default
@@ -230905,6 +232426,8 @@ self: {
        ];
        description = "Secure, modular server-side sessions";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "serversession-backend-acid-state" = callPackage
@@ -230913,8 +232436,8 @@ self: {
      }:
      mkDerivation {
        pname = "serversession-backend-acid-state";
-       version = "1.0.3";
-       sha256 = "1rkw5an7lwx05063caqjhvf449jxij2zrbymg64p600mngb1flq0";
+       version = "1.0.4";
+       sha256 = "1mchxnkrpa6grp8h5iji40fyhya2lvb433yby4iymaaakzgjs19z";
        libraryHaskellDepends = [
          acid-state base containers mtl safecopy serversession
          unordered-containers
@@ -230938,8 +232461,8 @@ self: {
      }:
      mkDerivation {
        pname = "serversession-backend-persistent";
-       version = "1.0.4";
-       sha256 = "074pxfv1yj6ffxp4bg0ia20w7ikdja3g3k1l93nnjcni13zddwn7";
+       version = "1.0.5";
+       sha256 = "1mcaqafyr5x0v475j7rs2z4059jggzfj8rky66ls0mlvd9br91s0";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring cereal path-pieces
          persistent serversession tagged text time transformers
@@ -230964,8 +232487,8 @@ self: {
      }:
      mkDerivation {
        pname = "serversession-backend-redis";
-       version = "1.0.3";
-       sha256 = "059nak15x4cbwmfbvfih6ndwa6i5jhcba22h9gz44f6s84vhljyf";
+       version = "1.0.4";
+       sha256 = "1rrz2p103271pyhdlbwim8vz91yl1qip0lagf74d277x74v9hyp5";
        libraryHaskellDepends = [
          base bytestring hedis path-pieces serversession tagged text time
          transformers unordered-containers
@@ -230995,6 +232518,8 @@ self: {
        ];
        description = "Snap bindings for serversession";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "serversession-frontend-wai" = callPackage
@@ -231012,6 +232537,8 @@ self: {
        ];
        description = "wai-session bindings for serversession";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "serversession-frontend-yesod" = callPackage
@@ -233186,8 +234713,8 @@ self: {
        pname = "show-combinators";
        version = "0.2.0.0";
        sha256 = "07ds87ldl9165hj3k5h84iawc6vqlbggni3dg1nhbxww1spxn0n9";
-       revision = "1";
-       editedCabalFile = "1pczjf7z43nzfgza9fa29flbmvkj07p4dw16v9bjv36i8dv6cjc7";
+       revision = "2";
+       editedCabalFile = "0n3xlpm41wpw1ybmacg9s7150nx00qrdlw2rq4fzz7iw7333cyjx";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        description = "Combinators to write Show instances";
@@ -233566,8 +235093,8 @@ self: {
      }:
      mkDerivation {
        pname = "signable";
-       version = "0.2";
-       sha256 = "1p1g6jhxgskl890g84nw8d465pan9d3prbc4jvyn8502bx00w01s";
+       version = "0.3";
+       sha256 = "1bh4i93333s3yldn4nnl4xv4gb92ggdwap6im9f259cfg1v22d2q";
        libraryHaskellDepends = [
          asn1-encoding asn1-types base binary bytestring casing cryptonite
          memory microlens pem proto-lens proto-lens-runtime
@@ -233807,6 +235334,7 @@ self: {
        ];
        description = "A simple library for affine and vector spaces";
        license = lib.licenses.bsd3;
+       maintainers = with lib.maintainers; [ turion ];
      }) {};
 
   "simple-atom" = callPackage
@@ -234926,8 +236454,8 @@ self: {
        pname = "singleton-bool";
        version = "0.1.5";
        sha256 = "17w9vv6arn7vvc7kykqcx81q2364ji43khrryl27r1cjx9yxapa0";
-       revision = "2";
-       editedCabalFile = "118j0h29nqg2acqbzif2ffqnanjbwnqmv2kch9z7xiwqkz6iq8an";
+       revision = "3";
+       editedCabalFile = "11rhzpy4xiry39bbxzwrqff75f0f4g7z0vkr3v9l8rv3w40jlf7x";
        libraryHaskellDepends = [ base dec ];
        description = "Type level booleans";
        license = lib.licenses.bsd3;
@@ -235606,8 +237134,8 @@ self: {
      }:
      mkDerivation {
        pname = "skylighting";
-       version = "0.10.2";
-       sha256 = "1f60fnr8d8a28fr785hjzaaakss1ncn0998sz740xb76wp6q7pqd";
+       version = "0.10.3";
+       sha256 = "0bhy0y3d8czv2m92snbqqh5b8xywf74xwc1qml98vy6im0s545ad";
        configureFlags = [ "-fexecutable" ];
        isLibrary = true;
        isExecutable = true;
@@ -235632,8 +237160,8 @@ self: {
      }:
      mkDerivation {
        pname = "skylighting-core";
-       version = "0.10.2";
-       sha256 = "1igqskmcbhk7b3fv1a1fxvfc4s3mc2sf96q90bf5iipy0h3f2zbg";
+       version = "0.10.3";
+       sha256 = "00avd17l2fqvss2cnndmina3vp809x784gdyaf1bwmkcsfnl8d3c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -235840,23 +237368,26 @@ self: {
      }) {};
 
   "slack-web" = callPackage
-    ({ mkDerivation, aeson, base, containers, errors, hspec
-     , http-api-data, http-client, http-client-tls, megaparsec, mtl
+    ({ mkDerivation, aeson, base, containers, deepseq, errors, fakepull
+     , hashable, hspec, http-api-data, http-client, http-client-tls
+     , megaparsec, mtl, QuickCheck, quickcheck-instances, scientific
      , servant, servant-client, servant-client-core, text, time
-     , transformers
+     , transformers, unordered-containers
      }:
      mkDerivation {
        pname = "slack-web";
-       version = "0.2.0.11";
-       sha256 = "14ngln71sn5i26041m4v614vq4qhr44pzlgyxliyqw08dxn25la7";
+       version = "0.2.1.0";
+       sha256 = "01bwiq3b97bznn3sc51vi7q8xkjdslvqqh250fk7arcaq6hkkiw1";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         aeson base containers errors http-api-data http-client
-         http-client-tls megaparsec mtl servant servant-client
-         servant-client-core text time transformers
+         aeson base containers deepseq errors hashable http-api-data
+         http-client http-client-tls megaparsec mtl scientific servant
+         servant-client servant-client-core text time transformers
+         unordered-containers
        ];
        testHaskellDepends = [
-         aeson base containers errors hspec http-api-data megaparsec text
-         time
+         aeson base fakepull hspec QuickCheck quickcheck-instances text time
        ];
        description = "Bindings for the Slack web API";
        license = lib.licenses.mit;
@@ -236181,19 +237712,19 @@ self: {
      }) {};
 
   "slynx" = callPackage
-    ({ mkDerivation, async, attoparsec, base, bytestring, containers
+    ({ mkDerivation, attoparsec, base, bytestring, containers
      , elynx-markov, elynx-seq, elynx-tools, elynx-tree, hmatrix
      , monad-logger, mwc-random, optparse-applicative, statistics, text
      , transformers, vector
      }:
      mkDerivation {
        pname = "slynx";
-       version = "0.5.0.1";
-       sha256 = "013ck07xgna42a5vlk6a323z3x1jrggbjw7jr2ww8mpgvpw2wp8r";
+       version = "0.5.0.2";
+       sha256 = "0qpw3h1lbz299gb2jdcsj7svhxsi9icqaws8xpik58a3hb0r8icb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         async attoparsec base bytestring containers elynx-markov elynx-seq
+         attoparsec base bytestring containers elynx-markov elynx-seq
          elynx-tools elynx-tree hmatrix monad-logger mwc-random
          optparse-applicative statistics text transformers vector
        ];
@@ -236320,8 +237851,8 @@ self: {
      }:
      mkDerivation {
        pname = "smallcheck-series";
-       version = "0.7.0.0";
-       sha256 = "11pb4k0y8fqfkq5ajspn5nnliskvk8qp02dzpcjrzqk27da2iwb6";
+       version = "0.7.1.0";
+       sha256 = "0c5cpnrxqfhrxgic6rk6vy3wj537k249fg0wzczwx30vdqzcmnkx";
        libraryHaskellDepends = [
          base bytestring containers logict smallcheck text transformers
        ];
@@ -237167,6 +238698,8 @@ self: {
        pname = "snap-core";
        version = "1.0.4.2";
        sha256 = "0zxdhx4wk70bkn71574lyz3zhq79yy98rv05r4564rd100xw3fqs";
+       revision = "1";
+       editedCabalFile = "065v61clskzikywv0gy9n4fjaszi2fnjklal83kqbzhzzgkf83ng";
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-builder case-insensitive
          containers directory filepath hashable HUnit io-streams lifted-base
@@ -238760,6 +240293,7 @@ self: {
        ];
        description = "An extensible socket library";
        license = lib.licenses.mit;
+       maintainers = with lib.maintainers; [ sternenseemann ];
      }) {};
 
   "socket-activation" = callPackage
@@ -238928,6 +240462,24 @@ self: {
        broken = true;
      }) {};
 
+  "sockets-and-pipes" = callPackage
+    ({ mkDerivation, aeson, ascii, async, base, blaze-html, bytestring
+     , containers, network, safe-exceptions, stm, text, time
+     }:
+     mkDerivation {
+       pname = "sockets-and-pipes";
+       version = "0.1";
+       sha256 = "02xc2kddcz93d9yqdchml0yh9gypcx64315baj766adgf8np42nv";
+       revision = "4";
+       editedCabalFile = "1lv2zpyblqryr59ii3zvwi5f06vxsgnla1xa14rardhncs36fa8r";
+       libraryHaskellDepends = [
+         aeson ascii async base blaze-html bytestring containers network
+         safe-exceptions stm text time
+       ];
+       description = "Support for the Sockets and Pipes book";
+       license = lib.licenses.asl20;
+     }) {};
+
   "socketson" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, bytestring, cereal
      , crypto-api, data-default, DRBG, either, errors, http-types
@@ -239528,6 +241080,7 @@ self: {
        ];
        description = "Gopher Library and Server Daemon";
        license = lib.licenses.gpl3;
+       maintainers = with lib.maintainers; [ sternenseemann ];
      }) {};
 
   "spacefill" = callPackage
@@ -240147,8 +241700,8 @@ self: {
      }:
      mkDerivation {
        pname = "speedy-slice";
-       version = "0.3.1";
-       sha256 = "0i139wp2c75q8a5q018z7ps1ghbqjkkd8nh6z6xfp0rqywq2bsnr";
+       version = "0.3.2";
+       sha256 = "1bmy0hrrqgwbqsk1ckbmzy1hhcwlcjsclcskrdmzfq5afvq9kq3z";
        libraryHaskellDepends = [
          base kan-extensions lens mcmc-types mwc-probability pipes primitive
          transformers
@@ -240448,8 +242001,8 @@ self: {
     ({ mkDerivation, base, containers, ghc, hlint, stm }:
      mkDerivation {
        pname = "splint";
-       version = "1.0.1.2";
-       sha256 = "0b7czphkra6q6a5xm30pjh5b4cdvz87fzb2pv17dpxai0mb3c0r6";
+       version = "1.0.1.3";
+       sha256 = "1ji0jnq6d0c0yn4ka8pj838ff04ynj6d3vcv6xy3dl8v3si1mybd";
        libraryHaskellDepends = [ base containers ghc hlint stm ];
        description = "HLint as a GHC source plugin";
        license = lib.licenses.isc;
@@ -240461,6 +242014,8 @@ self: {
        pname = "split";
        version = "0.2.3.4";
        sha256 = "0ahzdjcxw5wywr3w4msspia99k6fkckddam1m5506h4z9h8fa7r7";
+       revision = "1";
+       editedCabalFile = "06pmlvyrz4rr7rsrghpyrdypprphm9522rvnz4l3i8333n4pb304";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base QuickCheck ];
        description = "Combinator library for splitting lists";
@@ -241733,8 +243288,8 @@ self: {
      }:
      mkDerivation {
        pname = "stack-all";
-       version = "0.1.1";
-       sha256 = "0b81f6v18dyd5zia6drqn3jqncj3sp8cscrhlrcwvbljs1j8fd0j";
+       version = "0.1.2";
+       sha256 = "1iqm96f9c6csv4dzr6l7cyiv99nmbc9739xhycg2gvpm9sncmxrb";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -242528,6 +244083,22 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "staged-gg" = callPackage
+    ({ mkDerivation, base, containers, generic-deriving
+     , template-haskell, th-abstraction, th-lift
+     }:
+     mkDerivation {
+       pname = "staged-gg";
+       version = "0.1";
+       sha256 = "1apajw5ig7sax31i2zf842isnhk74x65hv9k8k3f6dhdxxg2dha4";
+       libraryHaskellDepends = [
+         base containers generic-deriving template-haskell th-abstraction
+         th-lift
+       ];
+       description = "GHC.Generics style staged generics";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "stagen" = callPackage
     ({ mkDerivation, aeson, base, base-compat, blaze-html, bytestring
      , data-default, directory, feed, filemanip, json-feed, lucid
@@ -243552,8 +245123,8 @@ self: {
        pname = "step-function";
        version = "0.2";
        sha256 = "1mg7zqqs32zdh1x1738kk0yydyksbhx3y3x8n31f7byk5fvzqq6j";
-       revision = "4";
-       editedCabalFile = "0zxjrsa54g65p7kf5mfpjb897d1add2dfp5dm4xfs5321rs31knv";
+       revision = "5";
+       editedCabalFile = "03xg6n7dyz73y3llbbahnlh46xfy2iq29s1jwjp22qxd4z6xndsa";
        libraryHaskellDepends = [
          base base-compat-batteries containers deepseq QuickCheck
        ];
@@ -243818,8 +245389,8 @@ self: {
      }:
      mkDerivation {
        pname = "stm-hamt";
-       version = "1.2.0.4";
-       sha256 = "0hlzi1zg58mgnb77982hkssm86ds66fs5nf1g2hcjjbjawchx3mj";
+       version = "1.2.0.6";
+       sha256 = "15jqj31h9ff4g2k3sq35nm122sy0hqapxf4fm5vlkfh33zdn28di";
        libraryHaskellDepends = [
          base deferred-folds focus hashable list-t primitive
          primitive-extras transformers
@@ -245317,8 +246888,8 @@ self: {
        pname = "streamproc";
        version = "1.6.2";
        sha256 = "1wl44n4nav4h203mzfdf1bd5nh4v23dib54lvxka1rl3zymgyvp7";
-       revision = "1";
-       editedCabalFile = "19c51gks028x8mnywkx1nz0s6bwn2mxs5ddmaj2q8n9l5pvfkcgs";
+       revision = "2";
+       editedCabalFile = "1j3frdzhlvmggqq07b7kiz6h7mim64n2frsb2d3hzsjd7jym526j";
        libraryHaskellDepends = [ base ];
        description = "Stream Processer Arrow";
        license = lib.licenses.bsd3;
@@ -245520,8 +247091,8 @@ self: {
     ({ mkDerivation, base, lens, strict }:
      mkDerivation {
        pname = "strict-lens";
-       version = "0.4.0.1";
-       sha256 = "0hwrbrjhgkh83474mci3ipg8nqims7b18w7i6xajz3xxq3cik5vn";
+       version = "0.4.0.2";
+       sha256 = "1dsgr53q0sdivrxc7jmbqjd65hav9zwjqc8zfbyybkr1ww17bhf5";
        libraryHaskellDepends = [ base lens strict ];
        description = "Lenses for types in strict package";
        license = lib.licenses.bsd3;
@@ -245550,6 +247121,8 @@ self: {
        pname = "strict-optics";
        version = "0.4.0.1";
        sha256 = "1x4p2fksljd9xfy4mxdz5pxcskxz2qg2ma28d6y4j2v4728r0x8a";
+       revision = "1";
+       editedCabalFile = "1rlkslqkicw7zzmy88kvbnlcyyx2afm3vs8y51gazz1bs0b73p0f";
        libraryHaskellDepends = [ base optics-core strict ];
        description = "Optics for types in strict package";
        license = lib.licenses.bsd3;
@@ -245735,10 +247308,8 @@ self: {
      }:
      mkDerivation {
        pname = "string-interpolate";
-       version = "0.3.0.2";
-       sha256 = "1dkw4q2fxnr7gnish45lryxwrmdy93ffa1010qdnjlnz5m3dxbyl";
-       revision = "1";
-       editedCabalFile = "1rwylfxa821260mxfsr6l6grcyz7gxk18mvjijfhg5sm53v4c1ka";
+       version = "0.3.1.0";
+       sha256 = "0hyrcndhwd06phlmykyz7bklj5gnj4amcn11ckfvw0iws3sksl8d";
        libraryHaskellDepends = [
          base bytestring haskell-src-exts haskell-src-meta split
          template-haskell text text-conversions utf8-string
@@ -246138,8 +247709,8 @@ self: {
      }:
      mkDerivation {
        pname = "stripe-scotty";
-       version = "1.0.0.4";
-       sha256 = "0gkagcq2brl4kav6ha333fyl9npgllwws4ixz0z6nas6xf2953pk";
+       version = "1.0.0.6";
+       sha256 = "1x7dsk2m66ka8qd76mj5aww52rjs0b49vx1lws5bl2xl0asyb03v";
        libraryHaskellDepends = [
          aeson base bytestring http-types scotty stripe-concepts
          stripe-signature text unordered-containers
@@ -246206,8 +247777,8 @@ self: {
      }:
      mkDerivation {
        pname = "stripe-wreq";
-       version = "1.0.1.4";
-       sha256 = "08c5jkxri3ix19m04w6md1mwc9wd8fgsqr7v3dxzab51ylfivdcr";
+       version = "1.0.1.6";
+       sha256 = "1lwwyzj4gi6rav8al3mkld4vq8rdvi4ir1y51nywflkcfiqjjjsx";
        libraryHaskellDepends = [
          aeson base bytestring lens stripe-concepts text
          unordered-containers wreq
@@ -246251,19 +247822,17 @@ self: {
 
   "strive" = callPackage
     ({ mkDerivation, aeson, base, bytestring, data-default, gpolyline
-     , http-client, http-client-tls, http-types, markdown-unlit
-     , template-haskell, text, time, transformers
+     , http-client, http-client-tls, http-types, template-haskell, text
+     , time, transformers
      }:
      mkDerivation {
        pname = "strive";
-       version = "5.0.12";
-       sha256 = "1fdwmcpgfw7maw4lf4mw3qs8fiwxdsv518xjjmrp5w3hfjdlqgmz";
+       version = "5.0.13";
+       sha256 = "137kqb3lvqyzvarcgvc8ifphj2927z01pcl752sna9vcvj7q7wp6";
        libraryHaskellDepends = [
          aeson base bytestring data-default gpolyline http-client
          http-client-tls http-types template-haskell text time transformers
        ];
-       testHaskellDepends = [ base bytestring markdown-unlit time ];
-       testToolDepends = [ markdown-unlit ];
        description = "A client for the Strava V3 API";
        license = lib.licenses.mit;
      }) {};
@@ -246313,22 +247882,19 @@ self: {
      }) {};
 
   "structs" = callPackage
-    ({ mkDerivation, base, Cabal, cabal-doctest, deepseq, directory
-     , doctest, filepath, ghc-prim, parallel, primitive, QuickCheck
+    ({ mkDerivation, base, deepseq, ghc-prim, primitive, QuickCheck
      , tasty, tasty-hunit, tasty-quickcheck, template-haskell
      , th-abstraction
      }:
      mkDerivation {
        pname = "structs";
-       version = "0.1.4";
-       sha256 = "0sjrih706bpibd1ygfjz76gabampffwqvn0hnvmxa9b9vzwdgqzr";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "0.1.5";
+       sha256 = "1qsj5w6g0lcvbrm0zs37f1yk3im1swhnb4j1mbpr3fyc3zswwbjf";
        libraryHaskellDepends = [
          base deepseq ghc-prim primitive template-haskell th-abstraction
        ];
        testHaskellDepends = [
-         base directory doctest filepath parallel primitive QuickCheck tasty
-         tasty-hunit tasty-quickcheck
+         base primitive QuickCheck tasty tasty-hunit tasty-quickcheck
        ];
        description = "Strict GC'd imperative object-oriented programming with cheap pointers";
        license = lib.licenses.bsd3;
@@ -246998,8 +248564,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "successors";
-       version = "0.1.0.1";
-       sha256 = "1m5flnn2rswc3380dccnfnhmyjp1dqr23dljd0515jxawbgjkzmg";
+       version = "0.1.0.2";
+       sha256 = "0q6sfxxzc0ws1iky79iyx7sf7l3jqdwxz9ngsi11km1bp7rd8ycw";
        libraryHaskellDepends = [ base ];
        description = "An applicative functor to manage successors";
        license = lib.licenses.mit;
@@ -248156,6 +249722,29 @@ self: {
        broken = true;
      }) {};
 
+  "swisstable" = callPackage
+    ({ mkDerivation, base, criterion, deepseq, hashable, hashtables
+     , primitive, QuickCheck, tasty, tasty-discover, tasty-hunit, vector
+     , weigh
+     }:
+     mkDerivation {
+       pname = "swisstable";
+       version = "0.1.0.3";
+       sha256 = "1d1vk1j8r2lwxkx2l4l1fmm8z9ascp7hq52al7qjn4bir177b92q";
+       libraryHaskellDepends = [ base hashable primitive vector ];
+       testHaskellDepends = [
+         base hashable primitive QuickCheck tasty tasty-discover tasty-hunit
+         vector
+       ];
+       testToolDepends = [ tasty-discover ];
+       benchmarkHaskellDepends = [
+         base criterion deepseq hashable hashtables primitive QuickCheck
+         vector weigh
+       ];
+       description = "SwissTable hash map";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "sws" = callPackage
     ({ mkDerivation, asn1-encoding, asn1-types, base, bytestring
      , containers, cryptonite, directory, filepath, hourglass
@@ -248624,8 +250213,8 @@ self: {
      }:
      mkDerivation {
        pname = "symantic-parser";
-       version = "0.0.0.20210102";
-       sha256 = "00gmcbn1amdr9nx54wia898gc7437563g9gpvlkhsg9r7197acid";
+       version = "0.1.0.20210201";
+       sha256 = "0c7vqxd0dagn7l3k4khbqvwg51y6a40m0f5qf587vj4rpjalc473";
        libraryHaskellDepends = [
          array base bytestring containers ghc-prim hashable template-haskell
          text transformers unordered-containers
@@ -248945,8 +250534,8 @@ self: {
      }:
      mkDerivation {
        pname = "syntactic";
-       version = "3.8.1";
-       sha256 = "0560h3k360316q05wwylpbcvadp9dxzywbp206xm2wslpl1d9m8v";
+       version = "3.8.2";
+       sha256 = "04lv8v42bs4qjjcia39grfxmabiv41dipgg5b58xgiv4ay884nfm";
        libraryHaskellDepends = [
          base constraints containers data-hash deepseq mtl syb
          template-haskell tree-view
@@ -249705,6 +251294,7 @@ self: {
        testHaskellDepends = [ base network unix ];
        description = "Systemd facilities (Socket activation, Notify)";
        license = lib.licenses.bsd3;
+       maintainers = with lib.maintainers; [ sternenseemann ];
      }) {};
 
   "systemstats" = callPackage
@@ -250814,8 +252404,8 @@ self: {
        pname = "tar";
        version = "0.5.1.1";
        sha256 = "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k";
-       revision = "2";
-       editedCabalFile = "131f369a2vjzr26r7f2c2p534xvyw0s7cvgvih2ck56lqha58wbs";
+       revision = "3";
+       editedCabalFile = "0qjhii1lhvqav3pnm6z5ly40d9gwp7p3y4g7k26bhxgy31bx1pll";
        libraryHaskellDepends = [
          array base bytestring containers deepseq directory filepath time
        ];
@@ -250889,11 +252479,10 @@ self: {
     ({ mkDerivation, base, mmorph, mtl }:
      mkDerivation {
        pname = "tardis";
-       version = "0.4.1.0";
-       sha256 = "1nd54pff1n6ds5jqa98qrby06d3ziw2rhb3j5lvw4mahsynsnwp6";
-       revision = "1";
-       editedCabalFile = "1wp6vp90g19hv8r2l83ava7qxf0933gb7ni2zgyfa66vlvxvhibv";
+       version = "0.4.3.0";
+       sha256 = "1ffmpdvnmr1s3rh3kpqqscsbz2rq4s7k8nfc93zw9m4mchg37waw";
        libraryHaskellDepends = [ base mmorph mtl ];
+       testHaskellDepends = [ base ];
        description = "Bidirectional state monad transformer";
        license = lib.licenses.bsd3;
      }) {};
@@ -251110,15 +252699,15 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "tasty_1_4_0_3" = callPackage
+  "tasty_1_4_1" = callPackage
     ({ mkDerivation, ansi-terminal, base, clock, containers, mtl
      , optparse-applicative, stm, tagged, unbounded-delays, unix
      , wcwidth
      }:
      mkDerivation {
        pname = "tasty";
-       version = "1.4.0.3";
-       sha256 = "044kxp33qnsaxh8s1ja73149acf9xys36x4fs6lz6nyd8id3w497";
+       version = "1.4.1";
+       sha256 = "0ixfsjjdps0an6iy8cqb41h6kjjli9sg0xw531jwci8xlr7g0a17";
        libraryHaskellDepends = [
          ansi-terminal base clock containers mtl optparse-applicative stm
          tagged unbounded-delays unix wcwidth
@@ -251212,6 +252801,29 @@ self: {
        broken = true;
      }) {};
 
+  "tasty-bench" = callPackage
+    ({ mkDerivation, base, containers, deepseq, tasty }:
+     mkDerivation {
+       pname = "tasty-bench";
+       version = "0.2.1";
+       sha256 = "0gw0hlpkpwn7hpvwn9i8zqghrzjvhdrhr2q9y4r4ykhqv7y95zy3";
+       libraryHaskellDepends = [ base containers deepseq tasty ];
+       description = "Featherlight benchmark framework";
+       license = lib.licenses.mit;
+     }) {};
+
+  "tasty-bench_0_2_2" = callPackage
+    ({ mkDerivation, base, containers, deepseq, tasty }:
+     mkDerivation {
+       pname = "tasty-bench";
+       version = "0.2.2";
+       sha256 = "0x6kg8n778nysv3b7j31bnh62h5srid35nhmvr76bzba4qdgx258";
+       libraryHaskellDepends = [ base containers deepseq tasty ];
+       description = "Featherlight benchmark framework";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tasty-dejafu" = callPackage
     ({ mkDerivation, base, dejafu, random, tagged, tasty }:
      mkDerivation {
@@ -251255,8 +252867,8 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-expected-failure";
-       version = "0.12.2";
-       sha256 = "0i97y723vi2f5z94ripli8jfzqk540w80cfab3prylbm9j3s7rb7";
+       version = "0.12.3";
+       sha256 = "0zlgxs24d54byfhvwdg85xk1572zpjs71bjlxxrxcvralrfcq1yb";
        libraryHaskellDepends = [ base tagged tasty unbounded-delays ];
        testHaskellDepends = [
          base hedgehog tasty tasty-golden tasty-hedgehog tasty-hunit
@@ -251806,8 +253418,8 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-sugar";
-       version = "1.0.1.1";
-       sha256 = "1mkph7g4ybvy4h4rblr60bnalj5jf1acfgdqcw0ggwmbhfbzbg68";
+       version = "1.1.0.0";
+       sha256 = "1v1ikl4jy02c0jlvm4di8ndm7fbyr8235ydppp953d7qb8yilsyp";
        libraryHaskellDepends = [
          base directory filemanip filepath logict optparse-applicative
          prettyprinter tagged tasty
@@ -252591,17 +254203,17 @@ self: {
      }) {};
 
   "telegraph" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, conduit, deriving-aeson
+    ({ mkDerivation, aeson, base, bytestring, conduit
      , generic-data-surgery, http-client, http-client-tls, http-conduit
      , in-other-words, mtl, optics-th, text
      }:
      mkDerivation {
        pname = "telegraph";
-       version = "1.1.1";
-       sha256 = "031p8qpz7gw86qy8iy5syp9g074ksfvkqv0rmv52hn2y1489hzng";
+       version = "1.2.0";
+       sha256 = "158wbdzgs4dnrfhhds1dbpmrns8p29qbg5sfph2qaigs1ygf3z58";
        libraryHaskellDepends = [
-         aeson base bytestring conduit deriving-aeson generic-data-surgery
-         http-client http-conduit in-other-words mtl optics-th text
+         aeson base bytestring conduit generic-data-surgery http-client
+         http-conduit in-other-words mtl optics-th text
        ];
        testHaskellDepends = [
          base http-client http-client-tls in-other-words
@@ -253685,23 +255297,26 @@ self: {
      }) {};
 
   "tesla" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, casing, containers
-     , exceptions, generic-deriving, HUnit, lens, lens-aeson
-     , monad-logger, mtl, tasty, tasty-hunit, tasty-quickcheck
-     , template-haskell, text, time, unliftio-core, vector, wreq
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring, casing
+     , containers, cryptonite, exceptions, generic-deriving, HUnit, lens
+     , lens-aeson, memory, monad-logger, mtl, random, retry, tagsoup
+     , tasty, tasty-hunit, tasty-quickcheck, template-haskell, text
+     , time, unliftio-core, vector, wreq
      }:
      mkDerivation {
        pname = "tesla";
-       version = "0.3.0.1";
-       sha256 = "0idn4pgzkg1n1xq5z3qihrb7nrpaxba3y98vcx52nl35c4flps4p";
+       version = "0.3.1.0";
+       sha256 = "1fwrhmxqpliyq92v1j6jcqxi5iyh7s8rj17mybvgkwh5aprwsdp8";
        libraryHaskellDepends = [
-         aeson base bytestring casing containers exceptions generic-deriving
-         lens lens-aeson monad-logger mtl template-haskell text time
+         aeson base base64-bytestring bytestring casing containers
+         cryptonite exceptions generic-deriving lens lens-aeson memory
+         monad-logger mtl random retry tagsoup template-haskell text time
          unliftio-core vector wreq
        ];
        testHaskellDepends = [
-         aeson base bytestring casing containers exceptions generic-deriving
-         HUnit lens lens-aeson monad-logger mtl tasty tasty-hunit
+         aeson base base64-bytestring bytestring casing containers
+         cryptonite exceptions generic-deriving HUnit lens lens-aeson memory
+         monad-logger mtl random retry tagsoup tasty tasty-hunit
          tasty-quickcheck template-haskell text time unliftio-core vector
          wreq
        ];
@@ -253743,8 +255358,8 @@ self: {
        pname = "test-framework";
        version = "0.8.2.0";
        sha256 = "1hhacrzam6b8f10hyldmjw8pb7frdxh04rfg3farxcxwbnhwgbpm";
-       revision = "5";
-       editedCabalFile = "18g92ajx3ghznd6k3ihj22ln29n676ailzwx3k0f1kj3bmpilnh6";
+       revision = "6";
+       editedCabalFile = "0wbq9wiaag69nsqxwijzhs5y1hb9kbpkp1x65dvx158cxp8i9w9r";
        libraryHaskellDepends = [
          ansi-terminal ansi-wl-pprint base containers hostname old-locale
          random regex-posix time xml
@@ -253855,8 +255470,8 @@ self: {
        pname = "test-framework-quickcheck2";
        version = "0.3.0.5";
        sha256 = "0ngf9vvby4nrdf1i7dxf5m9jn0g2pkq32w48xdr92n9hxka7ixn9";
-       revision = "2";
-       editedCabalFile = "1apgf91van2070m6jhj9w3h2xmr42r4kk0da9crq9994hd8zwny2";
+       revision = "3";
+       editedCabalFile = "0mglqfimla4vvv80mg08aj76zf4993wmngqlirh05h8i9nmgv6lh";
        libraryHaskellDepends = [
          base extensible-exceptions QuickCheck random test-framework
        ];
@@ -254456,8 +256071,8 @@ self: {
      }:
      mkDerivation {
        pname = "texmath";
-       version = "0.12.1";
-       sha256 = "1pp52g4jwyf0w0xpja7gamd39g3acfclc3q29ldpzpfbhnl23n27";
+       version = "0.12.1.1";
+       sha256 = "04clgbbzva9yxzkn9nf176mqj1lrv64h13awk86l4lrcfbb7kgh1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -254558,6 +256173,22 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "text-ascii" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, hashable, optics-core
+     , parsec, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "text-ascii";
+       version = "1.0.0";
+       sha256 = "1mwm3ss54c927rdj8dlfw7v2l0maz12mkxb5ss3g1ngdkiwd0bsx";
+       libraryHaskellDepends = [
+         base bytestring deepseq hashable optics-core parsec
+         template-haskell text
+       ];
+       description = "ASCII string and character processing";
+       license = lib.licenses.asl20;
+     }) {};
+
   "text-binary" = callPackage
     ({ mkDerivation, base, binary, text }:
      mkDerivation {
@@ -255147,8 +256778,8 @@ self: {
        pname = "text-short";
        version = "0.1.3";
        sha256 = "0xyrxlb602z8bc9sr2y1fag0x56a20yj5qrkvy7iwc6hnznrynxz";
-       revision = "2";
-       editedCabalFile = "17cb7p0qywf2dsrq3g8qb3ssknd9wl5k0nc2pxz9gc3l8rxpkw51";
+       revision = "3";
+       editedCabalFile = "1wjy98ihhipzr34b310sgjjq3cc12aydhckbrgr21kxkzwglm4nv";
        libraryHaskellDepends = [
          base binary bytestring deepseq ghc-prim hashable text
        ];
@@ -255205,6 +256836,8 @@ self: {
        pname = "text-show-instances";
        version = "3.8.4";
        sha256 = "1vsrf4vjq4z759srnzvyk3hn90ck4k91vy8cn625m8hy1zddqj2q";
+       revision = "1";
+       editedCabalFile = "1z7kgnxm9r9dgnqn4fyrfv3k8k2dac7g2hsf649jaxhh898z6dm6";
        libraryHaskellDepends = [
          base base-compat-batteries bifunctors binary containers directory
          ghc-boot-th haskeline hpc old-locale old-time pretty random
@@ -255648,8 +257281,8 @@ self: {
      }:
      mkDerivation {
        pname = "th-compat";
-       version = "0.1";
-       sha256 = "11v1mdm0pf6wnbsvccm1gnziinabgdpp7qdrcmm53yv3pj8yaalw";
+       version = "0.1.1";
+       sha256 = "1y83yq5ac067a631bd4kg0d14yp8hc23a0dsqsgbqdn279c21ylm";
        libraryHaskellDepends = [ base template-haskell ];
        testHaskellDepends = [
          base base-compat hspec mtl template-haskell
@@ -256337,6 +257970,8 @@ self: {
        pname = "these";
        version = "1.1.1.1";
        sha256 = "027m1gd7i6jf2ppfkld9qrv3xnxg276587pmx10z9phpdvswk66p";
+       revision = "1";
+       editedCabalFile = "1bzi28jvaxil9rc6z1hkf87pfjsa3r5gfc9n0ixffnnv519cd0g9";
        libraryHaskellDepends = [ assoc base binary deepseq hashable ];
        description = "An either-or-both data type";
        license = lib.licenses.bsd3;
@@ -256353,6 +257988,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "these-lens_1_0_1_2" = callPackage
+    ({ mkDerivation, base, lens, these }:
+     mkDerivation {
+       pname = "these-lens";
+       version = "1.0.1.2";
+       sha256 = "1v3kj7j4bkywbmdbblwqs5gsj5s23d59sb3s27jf3bwdzf9d21p6";
+       libraryHaskellDepends = [ base lens these ];
+       description = "Lenses for These";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "these-optics" = callPackage
     ({ mkDerivation, base, optics-core, these }:
      mkDerivation {
@@ -256364,6 +258011,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "these-optics_1_0_1_2" = callPackage
+    ({ mkDerivation, base, optics-core, these }:
+     mkDerivation {
+       pname = "these-optics";
+       version = "1.0.1.2";
+       sha256 = "06jxv320a8f94zjjsqrh072vz2dkzhwgcmpbdy1prgvypiynm4zd";
+       libraryHaskellDepends = [ base optics-core these ];
+       description = "Optics for These";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "these-skinny" = callPackage
     ({ mkDerivation, base, deepseq }:
      mkDerivation {
@@ -257086,28 +258745,30 @@ self: {
      }:
      mkDerivation {
        pname = "tidal";
-       version = "1.6.1";
-       sha256 = "13n9s0s04bddl16xq86anz7a9fqcm7j3xfqn5y1mni5j1h7hn2k2";
+       version = "1.7.1";
+       sha256 = "0fksrydrmjph3ghggijr9hq3xa5wfnqgzm4qxiqravsj70s9m2n4";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bifunctors bytestring clock colour containers deepseq hosc
          network parsec primitive random text transformers vector
        ];
-       testHaskellDepends = [ base containers deepseq microspec parsec ];
+       testHaskellDepends = [
+         base containers deepseq hosc microspec parsec
+       ];
        benchmarkHaskellDepends = [ base criterion weigh ];
        description = "Pattern language for improvised music";
        license = lib.licenses.gpl3;
      }) {};
 
-  "tidal_1_7" = callPackage
+  "tidal_1_7_2" = callPackage
     ({ mkDerivation, base, bifunctors, bytestring, clock, colour
      , containers, criterion, deepseq, hosc, microspec, network, parsec
      , primitive, random, text, transformers, vector, weigh
      }:
      mkDerivation {
        pname = "tidal";
-       version = "1.7";
-       sha256 = "1kqk9ny1fvgzkmv0kiprbi7l5pwmwkz8f7zycyksqxb6wkrs3v1k";
+       version = "1.7.2";
+       sha256 = "15shxaazxik1bawgak16xhlvk708kv9al6i3518b3m3iap9sbw9p";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bifunctors bytestring clock colour containers deepseq hosc
@@ -257357,6 +259018,8 @@ self: {
        pname = "time-compat";
        version = "1.9.5";
        sha256 = "19p3056i6kh8lgcdsnwsh8pj80xyi23kmw9n7hmdacczs5kv49ii";
+       revision = "1";
+       editedCabalFile = "1f6r8cyfgzpfg9nrsqbf99pi44fyds9wcmgwxb4s0zmlb5dbv1m5";
        libraryHaskellDepends = [ base base-orphans deepseq time ];
        testHaskellDepends = [
          base base-compat deepseq HUnit QuickCheck tagged tasty tasty-hunit
@@ -258676,8 +260339,8 @@ self: {
      }:
      mkDerivation {
        pname = "tls";
-       version = "1.5.4";
-       sha256 = "0dx436m7rb52s1dgkckcpi8imfwf8234pnl1cmvn43x5h6jvyhnf";
+       version = "1.5.5";
+       sha256 = "0j1rxxq5lzs584nk19610mk7mmsqqkgfxw2qj74ibb1zsk7baj4a";
        libraryHaskellDepends = [
          asn1-encoding asn1-types async base bytestring cereal cryptonite
          data-default-class hourglass memory mtl network transformers x509
@@ -258758,8 +260421,8 @@ self: {
      }:
      mkDerivation {
        pname = "tlynx";
-       version = "0.5.0.1";
-       sha256 = "0prqnbq75jrixx845z3hbqajfc63vgsdfdgrsxw0g29rx0x4hw2i";
+       version = "0.5.0.2";
+       sha256 = "1d28xk346h92imp6lnmy0g9mql8nd1zna1mnfs6mqhf38l8sm0k4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -259229,10 +260892,10 @@ self: {
      }:
      mkDerivation {
        pname = "tokyocabinet-haskell";
-       version = "0.0.6";
-       sha256 = "1cav27hnl49ghl6f7mhyaqmvfdqib6s76z251vai4vih9psis8rk";
+       version = "0.0.7";
+       sha256 = "1fmj46wvl6ayx30r5r538vnygz32s1877m2f9zf7nb2zyiz5vmcb";
        revision = "1";
-       editedCabalFile = "1mk2nwi51zm0b2081db26xipwa0yd53ikhxa5vd8fp8x2w52wliw";
+       editedCabalFile = "07kx002x3yh1klhxn9fq0bi2pfy4mdqacg3caqklmdl22dkh74lq";
        libraryHaskellDepends = [ base bytestring mtl ];
        librarySystemDepends = [ tokyocabinet ];
        testHaskellDepends = [ base bytestring directory HUnit mtl ];
@@ -259313,8 +260976,8 @@ self: {
      }:
      mkDerivation {
        pname = "tomland";
-       version = "1.3.1.0";
-       sha256 = "17909a8aapbrsa0yb642ij80k64dg2dam1v3rsvc3rm07ik61x42";
+       version = "1.3.2.0";
+       sha256 = "0yj39mh4z3v3jqri38s3ylrglv657g3m7gqr2rz8ydlvx2draknc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -259496,45 +261159,44 @@ self: {
      }) {};
 
   "too-many-cells" = callPackage
-    ({ mkDerivation, aeson, base, birch-beer, bytestring, cassava
-     , colour, containers, deepseq, diagrams, diagrams-cairo
-     , diagrams-graphviz, diagrams-lib, differential, directory
-     , diversity, fgl, filepath, find-clumpiness, foldl, graphviz
+    ({ mkDerivation, aeson, async, async-pool, attoparsec, base
+     , birch-beer, bytestring, cassava, colour, containers, deepseq
+     , diagrams, diagrams-cairo, diagrams-graphviz, diagrams-lib
+     , differential, directory, diversity, fgl, filepath
+     , find-clumpiness, foldl, graphviz, hashable
      , hierarchical-clustering, hierarchical-spectral-clustering
-     , hmatrix, inline-r, lens, managed, matrix-market-attoparsec
-     , modularity, mtl, optparse-generic, palette, parallel, plots, safe
-     , scientific, sparse-linear-algebra, spectral-clustering, split
-     , statistics, streaming, streaming-bytestring, streaming-cassava
-     , streaming-utils, streaming-with, SVGFonts, temporary
-     , terminal-progress-bar, text, text-show, transformers, vector
-     , vector-algorithms, zlib
+     , hmatrix, hmatrix-svdlibc, inline-r, IntervalMap, lens, managed
+     , matrix-market-attoparsec, modularity, mtl, mwc-random
+     , optparse-generic, palette, parallel, plots, process, resourcet
+     , safe, scientific, sparse-linear-algebra, spectral-clustering
+     , split, statistics, stm, streaming, streaming-bytestring
+     , streaming-cassava, streaming-commons, streaming-utils
+     , streaming-with, SVGFonts, system-filepath, temporary
+     , terminal-progress-bar, text, text-show, transformers, turtle
+     , unordered-containers, vector, vector-algorithms, zlib
      }:
      mkDerivation {
        pname = "too-many-cells";
-       version = "0.2.2.2";
-       sha256 = "091hqg4wxki8v7xkrzmnh1hpm81pif936pbmrzvr5p84sbbyyj91";
+       version = "2.1.0.1";
+       sha256 = "0clrkr7kxcky6l1gwnbznz013svn7254n8fkkb7mgvn93h94anky";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base birch-beer bytestring cassava colour containers deepseq
-         diagrams diagrams-cairo diagrams-graphviz diagrams-lib differential
-         directory diversity fgl filepath find-clumpiness foldl graphviz
+         aeson async async-pool attoparsec base birch-beer bytestring
+         cassava colour containers deepseq diagrams diagrams-cairo
+         diagrams-graphviz diagrams-lib differential directory diversity fgl
+         filepath find-clumpiness foldl graphviz hashable
          hierarchical-clustering hierarchical-spectral-clustering hmatrix
-         inline-r lens managed matrix-market-attoparsec modularity mtl
-         palette parallel plots safe scientific sparse-linear-algebra split
-         statistics streaming streaming-bytestring streaming-cassava
-         streaming-with SVGFonts temporary text text-show vector
-         vector-algorithms zlib
-       ];
-       executableHaskellDepends = [
-         aeson base birch-beer bytestring cassava colour containers
-         diagrams-cairo diagrams-lib directory fgl filepath find-clumpiness
-         graphviz hierarchical-spectral-clustering inline-r lens
-         matrix-market-attoparsec modularity mtl optparse-generic palette
-         plots spectral-clustering streaming streaming-bytestring
-         streaming-utils terminal-progress-bar text text-show transformers
-         vector
+         hmatrix-svdlibc inline-r IntervalMap lens managed
+         matrix-market-attoparsec modularity mtl mwc-random optparse-generic
+         palette parallel plots process resourcet safe scientific
+         sparse-linear-algebra spectral-clustering split statistics stm
+         streaming streaming-bytestring streaming-cassava streaming-commons
+         streaming-utils streaming-with SVGFonts system-filepath temporary
+         terminal-progress-bar text text-show transformers turtle
+         unordered-containers vector vector-algorithms zlib
        ];
+       executableHaskellDepends = [ base optparse-generic ];
        description = "Cluster single cells and analyze cell clade relationships";
        license = lib.licenses.gpl3;
        hydraPlatforms = lib.platforms.none;
@@ -259649,6 +261311,8 @@ self: {
        pname = "topograph";
        version = "1.0.0.1";
        sha256 = "1sd2gyirkdgwcll76zxw954wdsyxzajn59xa9zk55fbrsm6w24cv";
+       revision = "1";
+       editedCabalFile = "1cbpm16jk8x8xy0r3v8zdmwrdgxlp6zww03rmzbz0031hddpywrk";
        libraryHaskellDepends = [
          base base-compat base-orphans containers vector
        ];
@@ -259875,40 +261539,39 @@ self: {
      , containers, criterion, data-default, data-default-class
      , data-interval, deepseq, directory, extended-reals, filepath
      , finite-field, ghc-prim, hashable, hashtables, haskeline, heaps
-     , intern, lattices, log-domain, loop, megaparsec, mtl, multiset
-     , mwc-random, OptDir, optparse-applicative, parsec, pretty, primes
-     , primitive, process, pseudo-boolean, queue, QuickCheck, scientific
-     , semigroups, sign, stm, tasty, tasty-hunit, tasty-quickcheck
-     , tasty-th, template-haskell, temporary, text, time, transformers
-     , transformers-compat, unbounded-delays, unordered-containers
-     , vector, vector-space, xml-conduit, zlib
+     , intern, lattices, log-domain, loop, megaparsec, MIP, mtl
+     , multiset, mwc-random, OptDir, optparse-applicative, parsec
+     , pretty, primes, primitive, process, pseudo-boolean, queue
+     , QuickCheck, scientific, semigroups, sign, stm, tasty, tasty-hunit
+     , tasty-quickcheck, tasty-th, template-haskell, temporary, text
+     , time, transformers, transformers-compat, unbounded-delays
+     , unordered-containers, vector, vector-space, xml-conduit, zlib
      }:
      mkDerivation {
        pname = "toysolver";
-       version = "0.6.0";
-       sha256 = "0hd3rwbv8k62qnw9spwx6gl0j4syivvrigjcdgc53llbqzdjr0v1";
-       revision = "3";
-       editedCabalFile = "02dmyy2agp6x59dcagqmbwk46bn8q1y4ragk5yggajsw4gbm5gvn";
+       version = "0.7.0";
+       sha256 = "1r8z8fg3iyz5cc7cmwv29i7gwdcb789s7p6yklfgmz8w314m83gj";
+       revision = "1";
+       editedCabalFile = "1gnpyqjrcpsc2qjnnajr77j5x0xnyxpsmcxqa2qfbahw0r9qvmfw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          array base bytestring bytestring-builder bytestring-encoding
-         case-insensitive clock containers data-default-class data-interval
-         deepseq extended-reals filepath finite-field ghc-prim hashable
-         hashtables heaps intern lattices log-domain loop megaparsec mtl
-         multiset mwc-random OptDir pretty primes primitive process
-         pseudo-boolean queue scientific semigroups sign stm
-         template-haskell temporary text time transformers
-         transformers-compat unordered-containers vector vector-space
-         xml-conduit zlib
+         case-insensitive clock containers data-default data-default-class
+         data-interval deepseq directory extended-reals filepath
+         finite-field ghc-prim hashable hashtables heaps intern lattices
+         log-domain loop megaparsec MIP mtl multiset mwc-random OptDir
+         pretty primes primitive process pseudo-boolean queue scientific
+         semigroups sign stm template-haskell temporary text time
+         transformers transformers-compat unordered-containers vector
+         vector-space xml-conduit zlib
        ];
        executableHaskellDepends = [
          ansi-wl-pprint array base bytestring bytestring-builder clock
-         containers data-default data-default-class directory filepath
-         haskeline intern megaparsec mtl mwc-random OptDir
-         optparse-applicative parsec process pseudo-boolean scientific
-         temporary text time transformers transformers-compat
-         unbounded-delays vector
+         containers data-default-class filepath haskeline intern megaparsec
+         MIP mtl mwc-random OptDir optparse-applicative parsec
+         pseudo-boolean scientific text time transformers
+         transformers-compat unbounded-delays vector
        ];
        testHaskellDepends = [
          array base bytestring bytestring-builder containers
@@ -260197,18 +261860,18 @@ self: {
      }) {};
 
   "trackit" = callPackage
-    ({ mkDerivation, base, brick, fsnotify, mtl, optparse-generic
-     , process, process-extras, stm, text, time, vty
+    ({ mkDerivation, base, brick, fsnotify, microlens-platform, mtl
+     , optparse-generic, process, process-extras, stm, text, time, vty
      }:
      mkDerivation {
        pname = "trackit";
-       version = "0.6.3";
-       sha256 = "0bjsvz1kc6i2zpzdcjrrncqs3rpl7rfp961njhihymazffhsx3l2";
+       version = "0.7.2";
+       sha256 = "1ha28wdc4dabr9qxkbpg9fasfnplicb2pyrn9zmija204nigbcdj";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base brick fsnotify mtl optparse-generic process process-extras stm
-         text time vty
+         base brick fsnotify microlens-platform mtl optparse-generic process
+         process-extras stm text time vty
        ];
        description = "A command-line tool for live monitoring";
        license = lib.licenses.bsd3;
@@ -261099,8 +262762,8 @@ self: {
        pname = "tree-diff";
        version = "0.1";
        sha256 = "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3";
-       revision = "5";
-       editedCabalFile = "1b60x9cgp7hn42hc97q866ybhg5hx3sp45j6gngpbwryg29r2p4h";
+       revision = "6";
+       editedCabalFile = "1wqfac660m9ggv6r85a7y29mk947hki9iydy124vdwcqzichja0d";
        libraryHaskellDepends = [
          aeson ansi-terminal ansi-wl-pprint base base-compat bytestring
          bytestring-builder containers hashable parsec parsers pretty
@@ -261318,10 +262981,8 @@ self: {
     ({ mkDerivation, base, containers, mtl }:
      mkDerivation {
        pname = "tree-view";
-       version = "0.5";
-       sha256 = "1aywcaq9b48ap04g8i5rirz447kfmwxnswqigmycbgvqdbglc01d";
-       revision = "1";
-       editedCabalFile = "0f4sls511c4axp92r07yk0b4h9wvlbk5345643q4gvy1adxwdyw5";
+       version = "0.5.1";
+       sha256 = "1ya3m1qi83pn74wzffvbzj7wn6n5zny4yzzzf7wlfqszl96jhn2g";
        libraryHaskellDepends = [ base containers mtl ];
        description = "Render trees as foldable HTML and Unicode art";
        license = lib.licenses.bsd3;
@@ -261656,27 +263317,24 @@ self: {
 
   "trifecta" = callPackage
     ({ mkDerivation, ansi-terminal, array, base, blaze-builder
-     , blaze-html, blaze-markup, bytestring, Cabal, cabal-doctest
-     , charset, comonad, containers, deepseq, doctest, fingertree
-     , ghc-prim, hashable, lens, mtl, parsers, prettyprinter
+     , blaze-html, blaze-markup, bytestring, charset, comonad
+     , containers, deepseq, fingertree, ghc-prim, hashable
+     , indexed-traversable, lens, mtl, parsers, prettyprinter
      , prettyprinter-ansi-terminal, profunctors, QuickCheck, reducers
-     , semigroups, transformers, unordered-containers, utf8-string
+     , transformers, unordered-containers, utf8-string
      }:
      mkDerivation {
        pname = "trifecta";
-       version = "2.1";
-       sha256 = "0fr326lzf38m20h2g4189nsyml9w3128924zbd3cd93cgfqcc9bs";
-       revision = "3";
-       editedCabalFile = "0ag08di787zqzz70nwhsfigsvqbmbg7bkq011znq145yg750jcwl";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "2.1.1";
+       sha256 = "1lhzi0xxvilvgjy3yf3f85wfmrks562hhsnl0kg1xwji36rgwp6y";
        libraryHaskellDepends = [
          ansi-terminal array base blaze-builder blaze-html blaze-markup
          bytestring charset comonad containers deepseq fingertree ghc-prim
-         hashable lens mtl parsers prettyprinter prettyprinter-ansi-terminal
-         profunctors reducers semigroups transformers unordered-containers
-         utf8-string
+         hashable indexed-traversable lens mtl parsers prettyprinter
+         prettyprinter-ansi-terminal profunctors reducers transformers
+         unordered-containers utf8-string
        ];
-       testHaskellDepends = [ base doctest parsers QuickCheck ];
+       testHaskellDepends = [ base parsers QuickCheck ];
        description = "A modern parser combinator library with convenient diagnostics";
        license = lib.licenses.bsd3;
      }) {};
@@ -262700,16 +264358,17 @@ self: {
      }) {};
 
   "twee" = callPackage
-    ({ mkDerivation, base, containers, jukebox, pretty, split, twee-lib
+    ({ mkDerivation, ansi-terminal, base, containers, jukebox, pretty
+     , split, symbol, twee-lib
      }:
      mkDerivation {
        pname = "twee";
-       version = "2.2";
-       sha256 = "0wmjmgkf5piwqzrk08ij7mc3s82gpg7j5x4bk96njj06gm4lc38v";
+       version = "2.3";
+       sha256 = "1fg8khaa5zkfyh2jawh2m7jyy3a4kbd755qa09gwg9b7y9wijamr";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base containers jukebox pretty split twee-lib
+         ansi-terminal base containers jukebox pretty split symbol twee-lib
        ];
        description = "An equational theorem prover";
        license = lib.licenses.bsd3;
@@ -262719,14 +264378,15 @@ self: {
 
   "twee-lib" = callPackage
     ({ mkDerivation, base, containers, dlist, ghc-prim, pretty
-     , primitive, transformers, vector
+     , primitive, random, transformers, uglymemo, vector
      }:
      mkDerivation {
        pname = "twee-lib";
-       version = "2.2";
-       sha256 = "0v99hhnxpzi5581s4bfxhbpnmvlbqnrrr3pdkfvicz2b146mhhgr";
+       version = "2.3";
+       sha256 = "1ba98apscp1f4k9917an27aqymnr8gj8pkwj7g2ci02fh7dan9b9";
        libraryHaskellDepends = [
-         base containers dlist ghc-prim pretty primitive transformers vector
+         base containers dlist ghc-prim pretty primitive random transformers
+         uglymemo vector
        ];
        description = "An equational theorem prover";
        license = lib.licenses.bsd3;
@@ -263264,8 +264924,8 @@ self: {
      }:
      mkDerivation {
        pname = "twitter-types-lens";
-       version = "0.10.0";
-       sha256 = "1x9w68mr6r6354in9l4vmawk5symvfh2qlhjn2gd30m8b1mzbrjg";
+       version = "0.10.1";
+       sha256 = "07znqqb4lhhzlzvi1nl3m13cnskfakq4pnn52wpn554igxymgvsd";
        libraryHaskellDepends = [
          base lens template-haskell text time twitter-types
        ];
@@ -263863,14 +265523,13 @@ self: {
     ({ mkDerivation, base, constraints, equational-reasoning, ghc
      , ghc-typelits-knownnat, ghc-typelits-natnormalise
      , ghc-typelits-presburger, integer-logarithms, QuickCheck
-     , quickcheck-instances, tasty, tasty-discover
-     , tasty-expected-failure, tasty-hunit, tasty-quickcheck
-     , template-haskell
+     , quickcheck-instances, tasty, tasty-discover, tasty-hunit
+     , tasty-quickcheck, template-haskell
      }:
      mkDerivation {
        pname = "type-natural";
-       version = "1.0.0.0";
-       sha256 = "04j37xqgd2690y0vlx6f24y7fa07vljkrlaq8x8azmka8lsmbdl0";
+       version = "1.1.0.0";
+       sha256 = "0asyjp426931j4ym2qvx5xy9fjyf734sy02gscpd1d0fa8d1xbjm";
        libraryHaskellDepends = [
          base constraints equational-reasoning ghc ghc-typelits-knownnat
          ghc-typelits-natnormalise ghc-typelits-presburger
@@ -263878,8 +265537,8 @@ self: {
        ];
        testHaskellDepends = [
          base equational-reasoning integer-logarithms QuickCheck
-         quickcheck-instances tasty tasty-discover tasty-expected-failure
-         tasty-hunit tasty-quickcheck template-haskell
+         quickcheck-instances tasty tasty-discover tasty-hunit
+         tasty-quickcheck template-haskell
        ];
        testToolDepends = [ tasty-discover ];
        description = "Type-level natural and proofs of their properties";
@@ -263893,8 +265552,8 @@ self: {
      }:
      mkDerivation {
        pname = "type-of-html";
-       version = "1.6.1.2";
-       sha256 = "0dgfj4jk9bs6fjmmvsjxjpnvrd4nxmrnhdgvmawlfs5nib4r4al6";
+       version = "1.6.2.0";
+       sha256 = "18cwsblbmdh301d4jy3b70rnfni2vf3yzg71353hahv2rgfilh3j";
        libraryHaskellDepends = [
          base bytestring containers double-conversion ghc-prim text
        ];
@@ -264458,17 +266117,15 @@ self: {
      }) {};
 
   "typelevel-rewrite-rules" = callPackage
-    ({ mkDerivation, base, ghc, ghc-prim, ghc-tcplugins-extra
-     , term-rewriting, transformers, vinyl
+    ({ mkDerivation, base, containers, ghc, ghc-prim, term-rewriting
+     , transformers, vinyl
      }:
      mkDerivation {
        pname = "typelevel-rewrite-rules";
-       version = "0.1";
-       sha256 = "1gm3xbsi90dgppwhhhlmq1rwwnx9bxhm7zv9x4yr0952fwxrm8x8";
-       revision = "1";
-       editedCabalFile = "0wgryhys24671j46s58prbh7agrlxdcbains6qv37kp6xly726nj";
+       version = "1.0";
+       sha256 = "0by8zl16dzq0srdmr7p3hwdp1966gbdmzqp9h2548sj767r0ncmy";
        libraryHaskellDepends = [
-         base ghc ghc-prim ghc-tcplugins-extra term-rewriting transformers
+         base containers ghc ghc-prim term-rewriting transformers
        ];
        testHaskellDepends = [ base ghc-prim vinyl ];
        description = "Solve type equalities using custom type-level rewrite rules";
@@ -264915,8 +266572,8 @@ self: {
      }:
      mkDerivation {
        pname = "ua-parser";
-       version = "0.7.5.1";
-       sha256 = "091lks0jpp0m4wg56i03ih3n0n7kvs2fm511vcnypmwskflkkk0z";
+       version = "0.7.6.0";
+       sha256 = "0sakvmmf6p2ca0dbkwqdj5cv93gp78srw0zc4f1skcgndkmxwk6l";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring data-default file-embed pcre-light text yaml
@@ -265054,6 +266711,20 @@ self: {
        broken = true;
      }) {};
 
+  "ucl" = callPackage
+    ({ mkDerivation, base, bytestring, containers, libucl, text, time
+     }:
+     mkDerivation {
+       pname = "ucl";
+       version = "0.2.0.0";
+       sha256 = "1ccf9zavmsk0msq4gz6alv5z32qwnap8a4zvajmqps69bh66b9wv";
+       libraryHaskellDepends = [ base bytestring containers text time ];
+       libraryPkgconfigDepends = [ libucl ];
+       testHaskellDepends = [ base containers ];
+       description = "Datatype and parser for the Universal Configuration Language (UCL) using libucl";
+       license = lib.licenses.bsd3;
+     }) {inherit (pkgs) libucl;};
+
   "uconv" = callPackage
     ({ mkDerivation, base, icu }:
      mkDerivation {
@@ -265737,10 +267408,8 @@ self: {
      }:
      mkDerivation {
        pname = "unfoldable";
-       version = "1.0";
-       sha256 = "0ilzv4ks76f9fx12ilsam0v232fm2mvvsz6s50p0nllldwgkgm6a";
-       revision = "2";
-       editedCabalFile = "0lnqjgh8nyq6w94swn0m7syl0bx6a2ml7s9sqp449inpdb8f8jaj";
+       version = "1.0.1";
+       sha256 = "1h1zps55adzhfsfq1bgwc235qywpad9z7rfqid81l4405pi5zw83";
        libraryHaskellDepends = [
          base containers ghc-prim one-liner QuickCheck random transformers
        ];
@@ -266061,8 +267730,8 @@ self: {
     ({ mkDerivation, base, containers, logict, mtl }:
      mkDerivation {
        pname = "unification-fd";
-       version = "0.10.0.1";
-       sha256 = "15hrnmgr0pqq43fwgxc168r08xjgfhr2nchmz5blq46vwrh6gx2v";
+       version = "0.11.1";
+       sha256 = "0xvc3xa0yhxjxd1nf6d1cnixlbjaz2ww08hg1vldsf6c1h4lvs05";
        libraryHaskellDepends = [ base containers logict mtl ];
        description = "Simple generic unification algorithms";
        license = lib.licenses.bsd3;
@@ -266358,8 +268027,8 @@ self: {
      }:
      mkDerivation {
        pname = "uniqueness-periods-vector-examples";
-       version = "0.14.5.0";
-       sha256 = "0c30dd5x1bgk40gzfa5wdrnlam0j41z0cpd1dhmcj6fzwd1l2nra";
+       version = "0.15.0.0";
+       sha256 = "0cgl2xnmp0m73iizmhbl33vgc6mf1wzj49nf9xm1c1d70ak21g1l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -266412,8 +268081,8 @@ self: {
      }:
      mkDerivation {
        pname = "uniqueness-periods-vector-properties";
-       version = "0.5.5.0";
-       sha256 = "08pzazvgg0nldybbj1558xvipn3wafqm9491fk2xcrf4na5pc42l";
+       version = "0.6.0.0";
+       sha256 = "08c97g221xcbsrwzyv36gikilim2yz2v2kkrhqvaj102v7ygh6ih";
        libraryHaskellDepends = [
          base mmsyn6ukr mmsyn7s phonetic-languages-rhythmicity
          phonetic-languages-ukrainian uniqueness-periods-vector
@@ -266697,6 +268366,8 @@ self: {
        pname = "universe-instances-extended";
        version = "1.1.2";
        sha256 = "1yg3cacr56kk0r8vnqxa9cm1awb727qkysnhc7rn4h9pfb10a7sn";
+       revision = "1";
+       editedCabalFile = "017adjf6wbw56a81l69vd0gzhlvi6n1wplh85smq7l9m98wsh4wy";
        libraryHaskellDepends = [
          adjunctions base comonad containers universe-base
        ];
@@ -266926,6 +268597,37 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "unix-recursive" = callPackage
+    ({ mkDerivation, base, bytestring, criterion, dir-traverse, hspec
+     , unix
+     }:
+     mkDerivation {
+       pname = "unix-recursive";
+       version = "0.1.0.0";
+       sha256 = "151ap7b3nzlaz2pfl144z4azfvxdw6l8zrn500nzl58hqr9n7awl";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base bytestring unix ];
+       testHaskellDepends = [ base bytestring hspec unix ];
+       benchmarkHaskellDepends = [ base criterion dir-traverse ];
+       description = "Fast and flexible primitives for recursive file system IO on Posix systems";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "unix-simple" = callPackage
+    ({ mkDerivation, base, bytestring, zenhack-prelude }:
+     mkDerivation {
+       pname = "unix-simple";
+       version = "0.1.0.0";
+       sha256 = "0f6hvfs651ciwnpshh9n2655jl8yddwhbpw7gqbn0fa3y6b214kc";
+       libraryHaskellDepends = [ base bytestring zenhack-prelude ];
+       testHaskellDepends = [ base bytestring zenhack-prelude ];
+       description = "Straightforward bindings to the posix API";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "unix-time" = callPackage
     ({ mkDerivation, base, binary, bytestring, hspec, hspec-discover
      , old-locale, old-time, QuickCheck, time
@@ -267040,8 +268742,8 @@ self: {
      }:
      mkDerivation {
        pname = "unliftio-messagebox";
-       version = "1.0.2";
-       sha256 = "0pl75f3wbcy31b4firqw0y2mdl3axjdwx0w1vckidprv8sncsrm7";
+       version = "2.0.0";
+       sha256 = "0gwykcv91hn2pwnpwyc9032h84rdid28x34n0896319hl1rg5w9w";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -267096,8 +268798,8 @@ self: {
      }:
      mkDerivation {
        pname = "unliftio-streams";
-       version = "0.1.1.0";
-       sha256 = "0qp78c610anqpgpd13pz24x68kcpc69z2wjrz6a3qixvqjvp72bw";
+       version = "0.1.1.1";
+       sha256 = "1r9yn710nwx4h2ky2pmlhmap5ydx4fhcaq119dq7cysnygzi5q2n";
        libraryHaskellDepends = [
          base bytestring io-streams text unliftio-core
        ];
@@ -267868,6 +269570,8 @@ self: {
        pname = "uri-encode";
        version = "1.5.0.7";
        sha256 = "0lj2h701af12539p957rw24bxr07mfqd5r4h52i42f43ax165767";
+       revision = "1";
+       editedCabalFile = "172mgdd8dgy8wphgl9vbvp26lrzp01prr5jshbng4rlhpyd340p1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -268458,6 +270162,7 @@ self: {
        ];
        description = "A pragmatic time and date library";
        license = lib.licenses.mit;
+       maintainers = with lib.maintainers; [ sternenseemann ];
      }) {};
 
   "utf" = callPackage
@@ -268886,28 +270591,22 @@ self: {
      }) {};
 
   "uuid" = callPackage
-    ({ mkDerivation, base, binary, bytestring, criterion
-     , cryptohash-md5, cryptohash-sha1, entropy, HUnit
-     , mersenne-random-pure64, network-info, QuickCheck, random, tasty
+    ({ mkDerivation, base, binary, bytestring, cryptohash-md5
+     , cryptohash-sha1, entropy, network-info, QuickCheck, random, tasty
      , tasty-hunit, tasty-quickcheck, text, time, uuid-types
      }:
      mkDerivation {
        pname = "uuid";
-       version = "1.3.13";
-       sha256 = "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z";
-       revision = "3";
-       editedCabalFile = "1p2srrapgx1f3zkdjjzm5g0dyfpg1h2g056la85xmpyjs77la2rq";
+       version = "1.3.14";
+       sha256 = "1msj296faldr9fiwjqi9ixx3xl638mg6ffk7axic14wf8b9zw73a";
        libraryHaskellDepends = [
          base binary bytestring cryptohash-md5 cryptohash-sha1 entropy
          network-info random text time uuid-types
        ];
        testHaskellDepends = [
-         base bytestring HUnit QuickCheck random tasty tasty-hunit
+         base bytestring QuickCheck random tasty tasty-hunit
          tasty-quickcheck
        ];
-       benchmarkHaskellDepends = [
-         base criterion mersenne-random-pure64 random
-       ];
        description = "For creating, comparing, parsing and printing Universally Unique Identifiers";
        license = lib.licenses.bsd3;
      }) {};
@@ -269007,24 +270706,20 @@ self: {
      }) {};
 
   "uuid-types" = callPackage
-    ({ mkDerivation, base, binary, bytestring, containers, criterion
-     , deepseq, hashable, HUnit, QuickCheck, random, tasty, tasty-hunit
+    ({ mkDerivation, base, binary, bytestring, deepseq, ghc-byteorder
+     , hashable, QuickCheck, random, tasty, tasty-hunit
      , tasty-quickcheck, text
      }:
      mkDerivation {
        pname = "uuid-types";
-       version = "1.0.3";
-       sha256 = "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj";
-       revision = "3";
-       editedCabalFile = "0znx08r25sgs5j7ix8i9aikhgad0kc9i6vgkg0g3jzxk5haal9sf";
+       version = "1.0.4";
+       sha256 = "01pc93z6in6g717mxkhl111qc842fz1c2z7ml6n5jhm7lg52ran2";
        libraryHaskellDepends = [
          base binary bytestring deepseq hashable random text
        ];
        testHaskellDepends = [
-         base bytestring HUnit QuickCheck tasty tasty-hunit tasty-quickcheck
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring containers criterion deepseq random
+         base binary bytestring ghc-byteorder QuickCheck tasty tasty-hunit
+         tasty-quickcheck
        ];
        description = "Type definitions for Universally Unique Identifiers";
        license = lib.licenses.bsd3;
@@ -269047,8 +270742,8 @@ self: {
      }:
      mkDerivation {
        pname = "uusi";
-       version = "0.3.1.0";
-       sha256 = "14n2n62lcaxfljxxdk6pw14liksfa77jj8zby5magdnsx2jzkb5i";
+       version = "0.4.0.0";
+       sha256 = "03spazp0lpd2impvg9i6fdd32v3fzycgqr95ry2jwvaxijqhfic9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base Cabal microlens microlens-th text ];
@@ -269058,7 +270753,7 @@ self: {
        testHaskellDepends = [
          base Cabal HUnit microlens microlens-th text
        ];
-       description = "Tweak dependencies in .cabal files";
+       description = "Tweak .cabal files";
        license = lib.licenses.mit;
      }) {};
 
@@ -269326,18 +271021,16 @@ self: {
      }) {};
 
   "validate-input" = callPackage
-    ({ mkDerivation, base, bytestring, either, hspec, mtl, pcre-heavy
-     , QuickCheck, semigroups, string-conversions, text
+    ({ mkDerivation, base, bytestring, hspec, mtl, pcre-heavy
+     , QuickCheck, semigroups, string-conversions, text, transformers
      }:
      mkDerivation {
        pname = "validate-input";
-       version = "0.4.0.0";
-       sha256 = "1yd187xa762b6zwjsyh3qp11sn3cnwh8g5imp0izk7a22x5y5yi0";
-       revision = "1";
-       editedCabalFile = "0qfwr05111adjfy6j0cbhrzyxgl3ngfpm0irf1hcgmfxnb8psqli";
+       version = "0.5.0.0";
+       sha256 = "09bp771b4ccm3r635i5cdkcrqlfkd5rlgrh9ijknd42bpw9byvzi";
        libraryHaskellDepends = [
-         base bytestring either mtl pcre-heavy semigroups string-conversions
-         text
+         base bytestring mtl pcre-heavy semigroups string-conversions text
+         transformers
        ];
        testHaskellDepends = [ base hspec QuickCheck ];
        description = "Input validation combinator library";
@@ -269786,15 +271479,14 @@ self: {
      }) {};
 
   "vault" = callPackage
-    ({ mkDerivation, base, containers, hashable, semigroups
-     , unordered-containers
+    ({ mkDerivation, base, containers, hashable, unordered-containers
      }:
      mkDerivation {
        pname = "vault";
-       version = "0.3.1.4";
-       sha256 = "0na31n56p6713az0vfhdrv53n03bb3yrnyszf3vxsjlgvrax472v";
+       version = "0.3.1.5";
+       sha256 = "181ksk1yixjg0jiggw5jvm8am8m8c7lim4xaixf8qnaqvxm6namc";
        libraryHaskellDepends = [
-         base containers hashable semigroups unordered-containers
+         base containers hashable unordered-containers
        ];
        description = "a persistent store for values of arbitrary types";
        license = lib.licenses.bsd3;
@@ -270150,24 +271842,6 @@ self: {
 
   "vector" = callPackage
     ({ mkDerivation, base, base-orphans, deepseq, ghc-prim, HUnit
-     , primitive, QuickCheck, random, semigroups, tasty, tasty-hunit
-     , tasty-quickcheck, template-haskell, transformers
-     }:
-     mkDerivation {
-       pname = "vector";
-       version = "0.12.1.2";
-       sha256 = "1g8i806ph9l789pv2k665bbxlmsbwfwzml1mi9xv683g7xl2fviv";
-       libraryHaskellDepends = [ base deepseq ghc-prim primitive ];
-       testHaskellDepends = [
-         base base-orphans HUnit primitive QuickCheck random semigroups
-         tasty tasty-hunit tasty-quickcheck template-haskell transformers
-       ];
-       description = "Efficient Arrays";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "vector_0_12_2_0" = callPackage
-    ({ mkDerivation, base, base-orphans, deepseq, ghc-prim, HUnit
      , primitive, QuickCheck, random, tasty, tasty-hunit
      , tasty-quickcheck, template-haskell, transformers
      }:
@@ -270182,7 +271856,6 @@ self: {
        ];
        description = "Efficient Arrays";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "vector-algorithms" = callPackage
@@ -270193,6 +271866,8 @@ self: {
        pname = "vector-algorithms";
        version = "0.8.0.4";
        sha256 = "0fxg6w0vh5g2vzw4alajj9ywdijfn9nyx28hbckhmwwbfxb6l5vn";
+       revision = "1";
+       editedCabalFile = "10zjr2cdsaxb71z9svl7h2bxrxbhr19ckqy9p2mhkvhg7ar60ixz";
        libraryHaskellDepends = [ base bytestring primitive vector ];
        testHaskellDepends = [
          base bytestring containers QuickCheck vector
@@ -270685,10 +272360,8 @@ self: {
     ({ mkDerivation, base, data-default, template-haskell, vector }:
      mkDerivation {
        pname = "vector-th-unbox";
-       version = "0.2.1.7";
-       sha256 = "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi";
-       revision = "1";
-       editedCabalFile = "11qhhir9cdy3x7pd0z0xk8vi4nzr9fn9q3ggwbhhc43jglngw1x7";
+       version = "0.2.1.9";
+       sha256 = "0jbzm31d91kxn8m0h6iplj54h756q6f4zzdrnb2w7rzz5zskgqyl";
        libraryHaskellDepends = [ base template-haskell vector ];
        testHaskellDepends = [ base data-default vector ];
        description = "Deriver for Data.Vector.Unboxed using Template Haskell";
@@ -270729,8 +272402,8 @@ self: {
      }:
      mkDerivation {
        pname = "vega-view";
-       version = "0.3.1.6";
-       sha256 = "0s9d3g47qnzcpi2p1z60axrr53jbc6q4qyma88qxsrf6ava115ar";
+       version = "0.3.1.7";
+       sha256 = "1181gfxyxf2m3m23xg89kmmp8aizrm9sm908ydbkw885idh2k5x0";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -270976,8 +272649,8 @@ self: {
      }:
      mkDerivation {
        pname = "versions";
-       version = "4.0.2";
-       sha256 = "1m7nyjqd0cyxnli5f7rbk1wrh6h7dk65i67k6xp787npf7hi6gdf";
+       version = "4.0.3";
+       sha256 = "0rp62aih4blpahymqlkrfzywdqb1mkhy6f021vp74ljknpch4scf";
        libraryHaskellDepends = [
          base deepseq hashable megaparsec parser-combinators text
        ];
@@ -271666,8 +273339,6 @@ self: {
        ];
        description = "Sound synthesis with SuperCollider";
        license = "GPL";
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "vivid-osc" = callPackage
@@ -271680,8 +273351,6 @@ self: {
        testHaskellDepends = [ base bytestring cereal microspec time ];
        description = "Open Sound Control encode/decode";
        license = "GPL";
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "vivid-supercollider" = callPackage
@@ -271701,8 +273370,6 @@ self: {
        ];
        description = "Implementation of SuperCollider server specifications";
        license = "GPL";
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "vk-aws-route53" = callPackage
@@ -271751,6 +273418,77 @@ self: {
        license = lib.licenses.publicDomain;
      }) {};
 
+  "vocoder" = callPackage
+    ({ mkDerivation, base, random, vector, vector-fftw }:
+     mkDerivation {
+       pname = "vocoder";
+       version = "0.1.0.0";
+       sha256 = "04j0rrf7i1cghk53dwy5y5s3igxsqa6ih94rgfrjf2prx3rwmbr2";
+       libraryHaskellDepends = [ base random vector vector-fftw ];
+       description = "Phase vocoder";
+       license = lib.licenses.bsd2;
+     }) {};
+
+  "vocoder-audio" = callPackage
+    ({ mkDerivation, base, conduit, conduit-audio, containers
+     , mono-traversable, vector, vector-fftw, vocoder, vocoder-conduit
+     }:
+     mkDerivation {
+       pname = "vocoder-audio";
+       version = "0.1.0.0";
+       sha256 = "1hwnsmnqxwrbfjgv9rvprxnzpyb3w4nybzsz98fqvh9lslajrq4p";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base conduit conduit-audio containers mono-traversable vector
+         vector-fftw vocoder vocoder-conduit
+       ];
+       description = "Phase vocoder for conduit-audio";
+       license = lib.licenses.bsd2;
+     }) {};
+
+  "vocoder-conduit" = callPackage
+    ({ mkDerivation, base, conduit, gauge, hspec, mono-traversable
+     , QuickCheck, vector, vector-fftw, vocoder
+     }:
+     mkDerivation {
+       pname = "vocoder-conduit";
+       version = "0.1.0.0";
+       sha256 = "0a1zhxzypxik62rzk5l6crv1413662gjq31qslvavwd248xn00dk";
+       libraryHaskellDepends = [
+         base conduit mono-traversable vector vector-fftw vocoder
+       ];
+       testHaskellDepends = [
+         base conduit hspec QuickCheck vector vector-fftw vocoder
+       ];
+       benchmarkHaskellDepends = [
+         base conduit gauge vector vector-fftw vocoder
+       ];
+       description = "Phase vocoder for Conduit";
+       license = lib.licenses.bsd2;
+     }) {};
+
+  "vocoder-dunai" = callPackage
+    ({ mkDerivation, base, dunai, gauge, hspec, QuickCheck, vector
+     , vector-fftw, vocoder
+     }:
+     mkDerivation {
+       pname = "vocoder-dunai";
+       version = "0.1.0.0";
+       sha256 = "1bns914d8yxyj9mblknw7n5xijf6vn8y099vzp3f9grjls81y4pw";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base dunai vector vector-fftw vocoder ];
+       testHaskellDepends = [
+         base dunai hspec QuickCheck vector vector-fftw vocoder
+       ];
+       benchmarkHaskellDepends = [
+         base dunai gauge vector vector-fftw vocoder
+       ];
+       description = "Phase vocoder for Dunai and Rhine";
+       license = lib.licenses.bsd2;
+     }) {};
+
   "voicebase" = callPackage
     ({ mkDerivation, aeson, base, bytestring, filepath, HsOpenSSL
      , hspec, http-client, http-client-openssl, lens, lens-aeson
@@ -271935,8 +273673,10 @@ self: {
      }:
      mkDerivation {
        pname = "vty";
-       version = "5.32";
-       sha256 = "0ydbifik7xilb33phglpjkgf6r8vifipyyq0wb6111azzj7dmszs";
+       version = "5.33";
+       sha256 = "0qsx4lwlkp6mwyr7rm1r9dg5ic1lc1awqgyag0nj1qgj2gnv6nc9";
+       revision = "1";
+       editedCabalFile = "1in66nd2xkb6mxxzazny900pz1xj83iqsql42c0rwk72chnnb8cd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -272036,8 +273776,8 @@ self: {
     ({ mkDerivation, base, bytestring, transformers, vector, vulkan }:
      mkDerivation {
        pname = "vulkan";
-       version = "3.9";
-       sha256 = "00k23g4qszrhwbbc746y1z50mcnxw9b99rqfdqx6ncnzblc6b63z";
+       version = "3.10";
+       sha256 = "10bdm8rxak8kdiiqnjl5yw3n14zjr5gj1m9bpiiz0cabf72x54xx";
        libraryHaskellDepends = [ base bytestring transformers vector ];
        libraryPkgconfigDepends = [ vulkan ];
        description = "Bindings to the Vulkan graphics API";
@@ -272066,8 +273806,8 @@ self: {
      }:
      mkDerivation {
        pname = "vulkan-utils";
-       version = "0.4.1";
-       sha256 = "1kd8v3l6c1szip8d7aw03s9vs5bnwbm66c98wbvmbmwc46rrkksh";
+       version = "0.4.2";
+       sha256 = "0mf1jf5xv31818c7rarvz0aqc1qxgh7fqfp893pryhwwcr8r2qqa";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base bytestring containers dependent-map dependent-sum extra
@@ -274193,8 +275933,8 @@ self: {
      }:
      mkDerivation {
        pname = "warp";
-       version = "3.3.13";
-       sha256 = "1yqgfx7bsjk97dxcrqwddfhi8mdw0q6cbgs5abaxqjlxh3rhihdx";
+       version = "3.3.14";
+       sha256 = "0whmh6dbl7321a2kg6ypngw5kgvvxqdk161li0l4hr3wqqddlc93";
        libraryHaskellDepends = [
          array async auto-update base bsb-http-chunked bytestring
          case-insensitive containers ghc-prim hashable http-date http-types
@@ -276016,36 +277756,37 @@ self: {
      }) {};
 
   "what4" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, attoparsec, base, bifunctors
-     , bimap, bv-sized, bytestring, containers, data-binary-ieee754
+    ({ mkDerivation, attoparsec, base, bifunctors, bimap, bv-sized
+     , bytestring, config-value, containers, data-binary-ieee754
      , deepseq, deriving-compat, directory, exceptions, extra, filepath
      , fingertree, ghc-prim, hashable, hashtables, hedgehog, io-streams
-     , lens, mtl, panic, parameterized-utils, process, QuickCheck
-     , scientific, tasty, tasty-hedgehog, tasty-hunit, tasty-quickcheck
-     , template-haskell, temporary, text, th-abstraction, transformers
+     , lens, libBF, mtl, panic, parameterized-utils, prettyprinter
+     , process, QuickCheck, scientific, tasty, tasty-hedgehog
+     , tasty-hunit, tasty-quickcheck, template-haskell, temporary, text
+     , th-abstraction, th-lift, th-lift-instances, transformers
      , unordered-containers, utf8-string, vector, versions, zenc
      }:
      mkDerivation {
        pname = "what4";
-       version = "1.0";
-       sha256 = "0yyyq2gzl7srjq6inj1dqdhpxd58r1rhjajwxi0gr5pmxfzv7k8w";
-       revision = "1";
-       editedCabalFile = "04ab8nvnngb3bjv94mkcr17hh2m943m4pyk3klbnmpwyp9ip6pmf";
+       version = "1.1";
+       sha256 = "1656h3865vzd96ggibm1wkhnpmjrx6crv87kgmwphfy8hgl5j8kq";
        isLibrary = true;
        isExecutable = true;
+       enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         ansi-wl-pprint attoparsec base bifunctors bimap bv-sized bytestring
+         attoparsec base bifunctors bimap bv-sized bytestring config-value
          containers data-binary-ieee754 deepseq deriving-compat directory
          exceptions extra filepath fingertree ghc-prim hashable hashtables
-         io-streams lens mtl panic parameterized-utils process scientific
-         template-haskell temporary text th-abstraction transformers
-         unordered-containers utf8-string vector versions zenc
+         io-streams lens libBF mtl panic parameterized-utils prettyprinter
+         process scientific template-haskell temporary text th-abstraction
+         th-lift th-lift-instances transformers unordered-containers
+         utf8-string vector versions zenc
        ];
        executableHaskellDepends = [ base parameterized-utils ];
        testHaskellDepends = [
          base bv-sized bytestring containers data-binary-ieee754 hedgehog
-         parameterized-utils QuickCheck tasty tasty-hedgehog tasty-hunit
-         tasty-quickcheck text transformers versions
+         libBF parameterized-utils QuickCheck tasty tasty-hedgehog
+         tasty-hunit tasty-quickcheck text transformers versions
        ];
        description = "Solver-agnostic symbolic values support for issuing queries";
        license = lib.licenses.bsd3;
@@ -276224,6 +277965,8 @@ self: {
        pname = "wide-word";
        version = "0.1.1.2";
        sha256 = "10sj7nca2sba74bkiicnp95xrfq2j1al93ggw3z24982nm9x3j8r";
+       revision = "1";
+       editedCabalFile = "1gqw8d8j3wml0431lq1ygl5a3n36ymp1i77m7qaw0mz3ss982gl2";
        libraryHaskellDepends = [ base deepseq primitive ];
        testHaskellDepends = [
          base bytestring ghc-prim hedgehog primitive QuickCheck
@@ -276408,8 +278151,8 @@ self: {
        pname = "windns";
        version = "0.1.0.1";
        sha256 = "016d1cf51jqvhbzlf5kbizv4l4dymradac1420rl47q2k5faczq8";
-       revision = "1";
-       editedCabalFile = "17d44pzi4q5yvrygimdrwdrabz62s1ylw918w28sxgcvj64ir22g";
+       revision = "2";
+       editedCabalFile = "129amxjf05b6vi9ln8ijxry062av8bmv3wnng0jis71fyw8ldr0p";
        libraryHaskellDepends = [ base bytestring deepseq ];
        librarySystemDepends = [ dnsapi ];
        description = "Domain Name Service (DNS) lookup via the <windns.h>/dnsapi.dll standard library";
@@ -276589,8 +278332,8 @@ self: {
      }:
      mkDerivation {
        pname = "witch";
-       version = "0.0.0.4";
-       sha256 = "1mph0zaz2dnhpchyiyspqsjghd8kn8sbqnhbyjmag51l2wr418vb";
+       version = "0.0.0.5";
+       sha256 = "1j12mh8zap8c0lb358bzk4sq29h64lv0jrwq9r4nssx4yybrz9gg";
        libraryHaskellDepends = [ base bytestring containers text ];
        testHaskellDepends = [
          base bytestring containers hspec QuickCheck text
@@ -276629,8 +278372,8 @@ self: {
      }:
      mkDerivation {
        pname = "with-utf8";
-       version = "1.0.2.1";
-       sha256 = "13zifhmhpdfwifw9bwyn9w5a29iph7h59jx13r0wiw5ry0g7qbif";
+       version = "1.0.2.2";
+       sha256 = "04ymb90yli9sbdl750yh0nvpn6crnrb2axhx8hrswz5g86cabcmq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base safe-exceptions text ];
@@ -277721,10 +279464,8 @@ self: {
      }:
      mkDerivation {
        pname = "wreq";
-       version = "0.5.3.2";
-       sha256 = "16xls71aby6jqc1frhwnlfvz1iwj1ms0rw9xzif02sn84470gn36";
-       revision = "1";
-       editedCabalFile = "0gz674sb266hv6si9l79c3bv7n2nbssl1262c24in79sk27887gb";
+       version = "0.5.3.3";
+       sha256 = "0zv51048p0r7vhamml3ps9nr11yi9fxz2w31qcz053bw3z9ivwxw";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -278338,8 +280079,8 @@ self: {
      }:
      mkDerivation {
        pname = "wuss";
-       version = "1.1.17";
-       sha256 = "03raxspm7k5byx2gg5a2avgf7c3idcjq0vd7jh01vpv1mamap712";
+       version = "1.1.18";
+       sha256 = "0idxk1q0gsh1hq56w8jxnsb58p8z8d45qgj6zqzsszlccwzgr24f";
        libraryHaskellDepends = [
          base bytestring connection network websockets
        ];
@@ -278885,8 +280626,8 @@ self: {
      }:
      mkDerivation {
        pname = "xdot";
-       version = "0.3.0.2";
-       sha256 = "0k3lklghlj51nslv8pi8anj78hls2srmdr6hz5yibfhvycpib0c2";
+       version = "0.3.0.3";
+       sha256 = "06pgs74b3llyhhp2rr9a3rvgycnvg395q5ib9vwdiv9pqgq31kia";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -279301,6 +281042,36 @@ self: {
        broken = true;
      }) {};
 
+  "xlsx_0_8_3" = callPackage
+    ({ mkDerivation, attoparsec, base, base64-bytestring, binary-search
+     , bytestring, conduit, containers, criterion, data-default, deepseq
+     , Diff, errors, extra, filepath, groom, lens, mtl, network-uri
+     , old-locale, raw-strings-qq, safe, smallcheck, tasty, tasty-hunit
+     , tasty-smallcheck, text, time, transformers, vector, xeno
+     , xml-conduit, zip-archive, zlib
+     }:
+     mkDerivation {
+       pname = "xlsx";
+       version = "0.8.3";
+       sha256 = "11g6bfir21wgafnkzzx26r6mz8m39isaz2yqw92k5ymdb1qhs95q";
+       libraryHaskellDepends = [
+         attoparsec base base64-bytestring binary-search bytestring conduit
+         containers data-default deepseq errors extra filepath lens mtl
+         network-uri old-locale safe text time transformers vector xeno
+         xml-conduit zip-archive zlib
+       ];
+       testHaskellDepends = [
+         base bytestring containers Diff groom lens mtl raw-strings-qq
+         smallcheck tasty tasty-hunit tasty-smallcheck text time vector
+         xml-conduit
+       ];
+       benchmarkHaskellDepends = [ base bytestring criterion ];
+       description = "Simple and incomplete Excel file parser/writer";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "xlsx-tabular" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, data-default
      , lens, text, xlsx
@@ -279543,8 +281314,6 @@ self: {
        libraryHaskellDepends = [ base mtl transformers xml ];
        description = "Extension to the xml package to extract data from parsed xml";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "xml-hamlet" = callPackage
@@ -279670,6 +281439,8 @@ self: {
        pname = "xml-lens";
        version = "0.3";
        sha256 = "1i3b22sz7fkh9vjlfpwzz6fg57br8xq6q7zz76f66h6hymc284dz";
+       revision = "1";
+       editedCabalFile = "0is48y2k6lsdwd2cqwvhxfjs7q5qccis8vcmw7cws18cb7vjks1x";
        libraryHaskellDepends = [
          base case-insensitive containers lens text xml-conduit
        ];
@@ -281002,6 +282773,23 @@ self: {
        broken = true;
      }) {};
 
+  "yahoo-prices" = callPackage
+    ({ mkDerivation, base, bytestring, cassava, hspec, lens, QuickCheck
+     , time, vector, wreq
+     }:
+     mkDerivation {
+       pname = "yahoo-prices";
+       version = "0.1.0.2";
+       sha256 = "1zyrj6rq75blzh1v9ja2bbyfaf3c2a6648lcmflmxmd45350ah9f";
+       libraryHaskellDepends = [
+         base bytestring cassava lens time vector wreq
+       ];
+       testHaskellDepends = [ base bytestring hspec QuickCheck time ];
+       doHaddock = false;
+       description = "A wrapper around Yahoo API for downloading market data";
+       license = lib.licenses.mit;
+     }) {};
+
   "yahoo-web-search" = callPackage
     ({ mkDerivation, base, HTTP, network, xml }:
      mkDerivation {
@@ -281818,8 +283606,7 @@ self: {
        ];
        description = "Represent and parse yarn.lock files";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+       maintainers = with lib.maintainers; [ sternenseemann ];
      }) {};
 
   "yarn2nix" = callPackage
@@ -281857,8 +283644,7 @@ self: {
        ];
        description = "Convert yarn.lock files to nix expressions";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+       maintainers = with lib.maintainers; [ sternenseemann ];
      }) {};
 
   "yarr" = callPackage
@@ -281893,6 +283679,23 @@ self: {
        broken = true;
      }) {inherit (pkgs) libdevil;};
 
+  "yasi" = callPackage
+    ({ mkDerivation, base, bytestring, hedgehog, tasty, tasty-discover
+     , tasty-hedgehog, tasty-hunit, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "yasi";
+       version = "0.1.1.1";
+       sha256 = "0b3ajgxf8bk2pjfwqmf748x1yzyq9knjsya2xzkdrjs5vffg1j9k";
+       libraryHaskellDepends = [ base bytestring template-haskell text ];
+       testHaskellDepends = [
+         base hedgehog tasty tasty-hedgehog tasty-hunit text
+       ];
+       testToolDepends = [ tasty-discover ];
+       description = "Yet another string interpolator";
+       license = lib.licenses.cc0;
+     }) {};
+
   "yate" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, hspec, mtl, scientific
      , template-haskell, text, unordered-containers, vector
@@ -282680,7 +284483,7 @@ self: {
        broken = true;
      }) {};
 
-  "yesod-auth-oauth2_0_6_2_1" = callPackage
+  "yesod-auth-oauth2_0_6_2_2" = callPackage
     ({ mkDerivation, aeson, base, bytestring, cryptonite, errors
      , hoauth2, hspec, http-client, http-conduit, http-types, memory
      , microlens, safe-exceptions, text, uri-bytestring, yesod-auth
@@ -282688,8 +284491,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-auth-oauth2";
-       version = "0.6.2.1";
-       sha256 = "1kzz271y69l47wikfmfix5v9csh6xy7cv8b36gxzlwr6vil59bmy";
+       version = "0.6.2.2";
+       sha256 = "176iz5mg9jhrp8kp61f12j1jw3icnqp10dxln7046p1nqam0nv3d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -282770,8 +284573,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-bin";
-       version = "1.6.0.6";
-       sha256 = "044xk75pymw6limz08zicxp4lw8jqf6f2ilj8i2qw2h419w3ry9f";
+       version = "1.6.1";
+       sha256 = "0saz5dcygyf91f8hqvsy9wpcc5pg7vd9gcp891fiz4cywsrqpzwx";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -283529,8 +285332,34 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-page-cursor";
-       version = "2.0.0.2";
-       sha256 = "1wlwzxc2amnq1ma2lvclrc3dzhh8s6d8ffz6yk9rq88aijgvw35m";
+       version = "2.0.0.3";
+       sha256 = "1qj3qsrzjh0w0hc9ngbxd82pkwb8jylhf0nihhnk4dvrdqm2yvyb";
+       libraryHaskellDepends = [
+         aeson base bytestring containers http-link-header network-uri text
+         unliftio yesod-core
+       ];
+       testHaskellDepends = [
+         aeson base bytestring hspec hspec-expectations-lifted
+         http-link-header http-types lens lens-aeson monad-logger mtl
+         persistent persistent-sqlite persistent-template scientific text
+         time unliftio unliftio-core wai-extra yesod yesod-core yesod-test
+       ];
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "yesod-page-cursor_2_0_0_4" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, hspec
+     , hspec-expectations-lifted, http-link-header, http-types, lens
+     , lens-aeson, monad-logger, mtl, network-uri, persistent
+     , persistent-sqlite, persistent-template, scientific, text, time
+     , unliftio, unliftio-core, wai-extra, yesod, yesod-core, yesod-test
+     }:
+     mkDerivation {
+       pname = "yesod-page-cursor";
+       version = "2.0.0.4";
+       sha256 = "1zckyjg3k8xi6lx1xgyh50d6v7hydv12c1j36w48xy296nsjwvv9";
        libraryHaskellDepends = [
          aeson base bytestring containers http-link-header network-uri text
          unliftio yesod-core
@@ -286064,8 +287893,8 @@ self: {
        pname = "zinza";
        version = "0.2";
        sha256 = "1sy4chm8zan0ixgvvq4vm3fzvhqykn315l333al84768nly9rjv8";
-       revision = "1";
-       editedCabalFile = "0pgrfx4vnc3m6rlmg5qj4skarq5y0ijz3swf3fyy57310lvifr0q";
+       revision = "2";
+       editedCabalFile = "17q1as97cazj2nkwdi31kkgaa3wrxpc8phdj6f9wr4jibbm3jyp6";
        libraryHaskellDepends = [
          base containers parsec text transformers
        ];
@@ -286204,6 +288033,31 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "zip-stream_0_2_1_0" = callPackage
+    ({ mkDerivation, base, binary, binary-conduit, bytestring, conduit
+     , conduit-extra, digest, directory, exceptions, filepath, mtl
+     , primitive, resourcet, text, time, transformers, transformers-base
+     , zlib
+     }:
+     mkDerivation {
+       pname = "zip-stream";
+       version = "0.2.1.0";
+       sha256 = "0fx8kj0ijm3555grhdns7agmi084584fh1v0mvkm4x696h1zzvli";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base binary binary-conduit bytestring conduit conduit-extra digest
+         exceptions mtl primitive resourcet text time transformers-base zlib
+       ];
+       executableHaskellDepends = [
+         base bytestring conduit conduit-extra directory filepath resourcet
+         text time transformers
+       ];
+       description = "ZIP archive streaming using conduits";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "zipedit" = callPackage
     ({ mkDerivation, base, directory, mtl, process }:
      mkDerivation {
@@ -286263,20 +288117,17 @@ self: {
      }) {};
 
   "zippers" = callPackage
-    ({ mkDerivation, base, Cabal, cabal-doctest, criterion, doctest
-     , fail, lens, profunctors, semigroupoids, semigroups
+    ({ mkDerivation, base, criterion, fail, indexed-traversable, lens
+     , profunctors, semigroupoids, semigroups
      }:
      mkDerivation {
        pname = "zippers";
-       version = "0.3";
-       sha256 = "0hrsgk8sh9g3438kl79131s6vjydhivgya04yxv3h70m7pky1dpm";
-       revision = "1";
-       editedCabalFile = "1pdlng2wnzqg2fbafp78mxp3whsy0683x14gzdnif7pmhpzs145f";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "0.3.1";
+       sha256 = "17z1zi9zd6a8g7sp4zyimgwdvhjj27hj4znbm4ps0kp73gadb953";
        libraryHaskellDepends = [
-         base fail lens profunctors semigroupoids semigroups
+         base fail indexed-traversable lens profunctors semigroupoids
+         semigroups
        ];
-       testHaskellDepends = [ base doctest ];
        benchmarkHaskellDepends = [ base criterion lens ];
        description = "Traversal based zippers";
        license = lib.licenses.bsd3;
@@ -286345,8 +288196,8 @@ self: {
      }:
      mkDerivation {
        pname = "zlib";
-       version = "0.6.2.2";
-       sha256 = "1fii0qfc60lfp93vwb78p2fv3jjyklgdhw4ms262z6cysq6qkd84";
+       version = "0.6.2.3";
+       sha256 = "125wbayk8ifp0gp8cb52afck2ziwvqfrjzbmwmy52g6bz7fnnzw0";
        libraryHaskellDepends = [ base bytestring ];
        librarySystemDepends = [ zlib ];
        testHaskellDepends = [
@@ -286819,6 +288670,29 @@ self: {
        broken = true;
      }) {};
 
+  "zuul" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
+     , directory, filepath, http-client, http-client-tls
+     , optparse-generic, tasty, tasty-hunit, text, xdg-basedir
+     }:
+     mkDerivation {
+       pname = "zuul";
+       version = "0.1.0.0";
+       sha256 = "1agacvixl6s3np8jizmy9vbpzhbb0am9hs8qlc5sqvbg98qr8x1v";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base http-client http-client-tls text
+       ];
+       executableHaskellDepends = [
+         aeson aeson-pretty base containers directory filepath
+         optparse-generic text xdg-basedir
+       ];
+       testHaskellDepends = [ aeson base bytestring tasty tasty-hunit ];
+       description = "A zuul client library";
+       license = lib.licenses.asl20;
+     }) {};
+
   "zxcvbn-c" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
diff --git a/pkgs/development/haskell-modules/non-hackage-packages.nix b/pkgs/development/haskell-modules/non-hackage-packages.nix
index af317c92a5ab5..4d66478f338d7 100644
--- a/pkgs/development/haskell-modules/non-hackage-packages.nix
+++ b/pkgs/development/haskell-modules/non-hackage-packages.nix
@@ -18,16 +18,6 @@ self: super: {
   # https://github.com/spacchetti/spago/issues/512
   spago = self.callPackage ../tools/purescript/spago/spago.nix { };
 
-  # HLS and its fork of ghcide that it uses
-  # both are auto-generated by pkgs/development/tools/haskell/haskell-language-server/update.sh
-  haskell-language-server = self.callPackage ../tools/haskell/haskell-language-server { };
-  hls-hlint-plugin = self.callPackage ../tools/haskell/haskell-language-server/hls-hlint-plugin.nix { };
-  hls-tactics-plugin = self.callPackage ../tools/haskell/haskell-language-server/hls-tactics-plugin.nix { };
-  hls-explicit-imports-plugin = self.callPackage ../tools/haskell/haskell-language-server/hls-explicit-imports-plugin.nix { };
-  hls-retrie-plugin = self.callPackage ../tools/haskell/haskell-language-server/hls-retrie-plugin.nix { };
-  hls-class-plugin = self.callPackage ../tools/haskell/haskell-language-server/hls-class-plugin.nix { };
-  hls-eval-plugin = self.callPackage ../tools/haskell/haskell-language-server/hls-eval-plugin.nix { };
-
   nix-output-monitor = self.callPackage ../../tools/nix/nix-output-monitor { };
 
   # cabal2nix --revision <rev> https://github.com/hasura/ci-info-hs.git
diff --git a/pkgs/development/interpreters/chibi/default.nix b/pkgs/development/interpreters/chibi/default.nix
index 96c884ab602e7..92531eacd20d9 100644
--- a/pkgs/development/interpreters/chibi/default.nix
+++ b/pkgs/development/interpreters/chibi/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
     sha256 = "0nd63i924ifh39cba1hd4sbi6vh1cb73v97nrn4bf8rrjh3k8pdi";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     make install PREFIX="$out"
diff --git a/pkgs/development/interpreters/clips/default.nix b/pkgs/development/interpreters/clips/default.nix
index d38fb8279f0b3..db6554874af55 100644
--- a/pkgs/development/interpreters/clips/default.nix
+++ b/pkgs/development/interpreters/clips/default.nix
@@ -1,17 +1,19 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  version = "6.30";
+stdenv.mkDerivation rec {
+  version = "6.31";
   pname = "clips";
   src = fetchurl {
-    url = "mirror://sourceforge/clipsrules/CLIPS/6.30/clips_core_source_630.tar.Z";
-    sha256 = "1r0m59l3mk9cwzq3nmyr5qxrlkzp3njls4hfv8ml85dmqh7n3ysy";
+    url = "mirror://sourceforge/clipsrules/CLIPS/${version}/clips_core_source_${
+        builtins.replaceStrings [ "." ] [ "" ] version
+      }.tar.gz";
+    sha256 = "165k0z7dsv04q432sanmw0jxmxwf56cnhsdfw5ffjqxd3lzkjnv6";
   };
-  buildPhase = ''
-    make -C core -f ../makefiles/makefile.gcc
-  '';
+  makeFlags = [ "-C" "core" ];
   installPhase = ''
+    runHook preInstall
     install -D -t $out/bin core/clips
+    runHook postInstall
   '';
   meta = with lib; {
     description = "A Tool for Building Expert Systems";
@@ -23,7 +25,7 @@ stdenv.mkDerivation {
       easier to implement and maintain than an algorithmic solution.
     '';
     license = licenses.publicDomain;
-    maintainers = [maintainers.league];
+    maintainers = [ maintainers.league ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/interpreters/clojure/babashka.nix b/pkgs/development/interpreters/clojure/babashka.nix
index e10236fe1eeea..43b8fb4c6c4c2 100644
--- a/pkgs/development/interpreters/clojure/babashka.nix
+++ b/pkgs/development/interpreters/clojure/babashka.nix
@@ -1,53 +1,87 @@
 { lib, stdenv, fetchurl, graalvm11-ce, glibcLocales }:
 
-with lib;
 stdenv.mkDerivation rec {
   pname = "babashka";
-  version = "0.2.3";
+  version = "0.2.10";
 
   reflectionJson = fetchurl {
     name = "reflection.json";
     url = "https://github.com/borkdude/${pname}/releases/download/v${version}/${pname}-${version}-reflection.json";
-    sha256 = "0lbdh3v3g3j00bn99bjhjj3gk1q9ks2alpvl9bxc00xpyw86f7z8";
+    sha256 = "1c7f0z1hi0vcfz532r3fhr4c64jjqppf94idpa1jziz1dljkwk85";
   };
 
   src = fetchurl {
     url = "https://github.com/borkdude/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
-    sha256 = "0vh6k3dkzyk346jjzg6n4mdi65iybrmhb3js9lm73yc3ay2c5dyi";
+    sha256 = "0j6k3vmdljf3bjmj5dywhxjmxcs1axscc8dlnw94g5rwf9bin0dn";
   };
 
   dontUnpack = true;
 
-  LC_ALL = "en_US.UTF-8";
   nativeBuildInputs = [ graalvm11-ce glibcLocales ];
 
+  LC_ALL = "en_US.UTF-8";
+  BABASHKA_JAR = src;
+  BABASHKA_BINARY = "bb";
+  BABASHKA_XMX = "-J-Xmx4500m";
+
   buildPhase = ''
-    native-image \
-      -jar ${src} \
-      -H:Name=bb \
-      -H:+ReportExceptionStackTraces \
-      -J-Dclojure.spec.skip-macros=true \
-      -J-Dclojure.compiler.direct-linking=true \
-      "-H:IncludeResources=BABASHKA_VERSION" \
-      "-H:IncludeResources=SCI_VERSION" \
-      -H:ReflectionConfigurationFiles=${reflectionJson} \
-      --initialize-at-run-time=java.lang.Math\$RandomNumberGeneratorHolder \
-      --initialize-at-build-time \
-      -H:Log=registerResource: \
-      -H:EnableURLProtocols=http,https \
-      --enable-all-security-services \
-      -H:+JNI \
-      --verbose \
-      --no-fallback \
-      --no-server \
-      --report-unsupported-elements-at-runtime \
-      "--initialize-at-run-time=org.postgresql.sspi.SSPIClient" \
-      "-J-Xmx4500m"
+    runHook preBuild
+
+    # https://github.com/babashka/babashka/blob/77daea7362d8e2562c89c315b1fbcefde6fa56a5/script/compile
+    args=("-jar" "$BABASHKA_JAR"
+          "-H:Name=$BABASHKA_BINARY"
+          "${lib.optionalString stdenv.isDarwin ''-H:-CheckToolchain''}"
+          "-H:+ReportExceptionStackTraces"
+          "-J-Dclojure.spec.skip-macros=true"
+          "-J-Dclojure.compiler.direct-linking=true"
+          "-H:IncludeResources=BABASHKA_VERSION"
+          "-H:IncludeResources=SCI_VERSION"
+          "-H:ReflectionConfigurationFiles=${reflectionJson}"
+          "--initialize-at-build-time"
+          # "-H:+PrintAnalysisCallTree"
+          # "-H:+DashboardAll"
+          # "-H:DashboardDump=reports/dump"
+          # "-H:+DashboardPretty"
+          # "-H:+DashboardJson"
+          "-H:Log=registerResource:"
+          "-H:EnableURLProtocols=http,https,jar"
+          "--enable-all-security-services"
+          "-H:+JNI"
+          "--verbose"
+          "--no-fallback"
+          "--no-server"
+          "--report-unsupported-elements-at-runtime"
+          "--initialize-at-run-time=org.postgresql.sspi.SSPIClient"
+          "--native-image-info"
+          "--verbose"
+          "-H:ServiceLoaderFeatureExcludeServices=javax.sound.sampled.spi.AudioFileReader"
+          "-H:ServiceLoaderFeatureExcludeServices=javax.sound.midi.spi.MidiFileReader"
+          "-H:ServiceLoaderFeatureExcludeServices=javax.sound.sampled.spi.MixerProvider"
+          "-H:ServiceLoaderFeatureExcludeServices=javax.sound.sampled.spi.FormatConversionProvider"
+          "-H:ServiceLoaderFeatureExcludeServices=javax.sound.sampled.spi.AudioFileWriter"
+          "-H:ServiceLoaderFeatureExcludeServices=javax.sound.midi.spi.MidiDeviceProvider"
+          "-H:ServiceLoaderFeatureExcludeServices=javax.sound.midi.spi.SoundbankReader"
+          "-H:ServiceLoaderFeatureExcludeServices=javax.sound.midi.spi.MidiFileWriter"
+          "$BABASHKA_XMX")
+
+     native-image ''${args[@]}
+
+     runHook postBuild
   '';
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin
     cp bb $out/bin/bb
+
+    runHook postInstall
+  '';
+
+  installCheckPhase = ''
+    $out/bin/bb --version | grep '${version}'
+    $out/bin/bb '(+ 1 2)' | grep '3'
+    $out/bin/bb '(vec (dedupe *input*))' <<< '[1 1 1 1 2]' | grep '[1 2]'
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/interpreters/clojure/clooj.nix b/pkgs/development/interpreters/clojure/clooj.nix
index 57da5e862e994..baf83c647767f 100644
--- a/pkgs/development/interpreters/clojure/clooj.nix
+++ b/pkgs/development/interpreters/clojure/clooj.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
     sha256 = "0hbc29bg2a86rm3sx9kvj7h7db9j0kbnrb706wsfiyk3zi3bavnd";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   phases = "installPhase";
 
diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix
index ab5422378599c..89db33c5a8c5d 100644
--- a/pkgs/development/interpreters/clojure/default.nix
+++ b/pkgs/development/interpreters/clojure/default.nix
@@ -2,11 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "clojure";
-  version = "1.10.1.763";
+  version = "1.10.2.774";
 
   src = fetchurl {
+    # https://clojure.org/releases/tools
     url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz";
-    sha256 = "042d5bk59wv145fvjrk72g4hvaq7j2p4a2d1pg13b433qfkchgia";
+    sha256 = "0z3j8m9k7prmx6n3kpyhj04pjdg7y0plyxv4kp7789shanr6y4qp";
   };
 
   nativeBuildInputs = [
@@ -20,6 +21,8 @@ stdenv.mkDerivation rec {
       binPath = lib.makeBinPath [ rlwrap jdk ];
     in
     ''
+      runHook preInstall
+
       clojure_lib_dir=$out
       bin_dir=$out/bin
 
@@ -38,6 +41,8 @@ stdenv.mkDerivation rec {
       wrapProgram $bin_dir/clj --prefix PATH : $out/bin:${binPath}
 
       installManPage clj.1 clojure.1
+
+      runHook postInstall
     '';
 
   doInstallCheck = true;
diff --git a/pkgs/development/interpreters/elixir/generic-builder.nix b/pkgs/development/interpreters/elixir/generic-builder.nix
index 358fff039c6aa..0e4beaa8508f0 100644
--- a/pkgs/development/interpreters/elixir/generic-builder.nix
+++ b/pkgs/development/interpreters/elixir/generic-builder.nix
@@ -20,7 +20,8 @@ in
 
     inherit src version;
 
-    buildInputs = [ erlang makeWrapper ];
+    nativeBuildInputs = [ makeWrapper ];
+    buildInputs = [ erlang ];
 
     LANG = "C.UTF-8";
     LC_TYPE = "C.UTF-8";
@@ -46,8 +47,7 @@ in
        b=$(basename $f)
         if [ "$b" = mix ]; then continue; fi
         wrapProgram $f \
-          --prefix PATH ":" "${lib.makeBinPath [ erlang coreutils curl bash ]}" \
-          --set CURL_CA_BUNDLE /etc/ssl/certs/ca-certificates.crt
+          --prefix PATH ":" "${lib.makeBinPath [ erlang coreutils curl bash ]}"
       done
 
       substituteInPlace $out/bin/mix \
@@ -69,6 +69,6 @@ in
 
       license = licenses.epl10;
       platforms = platforms.unix;
-      maintainers = with maintainers; [ havvy couchemar ankhers Br1ght0ne ];
+      maintainers = teams.beam.members;
     };
   })
diff --git a/pkgs/development/interpreters/erlang/generic-builder.nix b/pkgs/development/interpreters/erlang/generic-builder.nix
index 4429dc1eaf378..110a93a3ba5a1 100644
--- a/pkgs/development/interpreters/erlang/generic-builder.nix
+++ b/pkgs/development/interpreters/erlang/generic-builder.nix
@@ -1,13 +1,11 @@
 { pkgs, lib, stdenv, fetchFromGitHub, makeWrapper, gawk, gnum4, gnused
 , libxml2, libxslt, ncurses, openssl, perl, autoconf
-# TODO: use jdk https://github.com/NixOS/nixpkgs/pull/89731
-, openjdk8 ? null # javacSupport
+, openjdk11 ? null # javacSupport
 , unixODBC ? null # odbcSupport
-, libGL ? null, libGLU ? null, wxGTK ? null, wxmac ? null, xorg ? null # wxSupport
+, libGL ? null, libGLU ? null, wxGTK ? null, wxmac ? null, xorg ? null
 , parallelBuild ? false
-, systemd
+, systemd, wxSupport ? true
 }:
-
 { baseName ? "erlang"
 , version
 , sha256 ? null
@@ -18,10 +16,11 @@
 , enableThreads ? true
 , enableSmpSupport ? true
 , enableKernelPoll ? true
-, javacSupport ? false, javacPackages ? [ openjdk8 ]
+, javacSupport ? false, javacPackages ? [ openjdk11 ]
 , odbcSupport ? false, odbcPackages ? [ unixODBC ]
 , withSystemd ? stdenv.isLinux # systemd support in epmd
-, wxSupport ? true, wxPackages ? [ libGL libGLU wxGTK xorg.libX11 ]
+, opensslPackage ? openssl
+, wxPackages ? [ libGL libGLU wxGTK xorg.libX11 ]
 , preUnpack ? "", postUnpack ? ""
 , patches ? [], patchPhase ? "", prePatch ? "", postPatch ? ""
 , configureFlags ? [], configurePhase ? "", preConfigure ? "", postConfigure ? ""
@@ -38,7 +37,7 @@ assert wxSupport -> (if stdenv.isDarwin
   else libGL != null && libGLU != null && wxGTK != null && xorg != null);
 
 assert odbcSupport -> unixODBC != null;
-assert javacSupport -> openjdk8 != null;
+assert javacSupport -> openjdk11 != null;
 
 let
   inherit (lib) optional optionals optionalAttrs optionalString;
@@ -53,7 +52,7 @@ in stdenv.mkDerivation ({
 
   nativeBuildInputs = [ autoconf makeWrapper perl gnum4 libxslt libxml2 ];
 
-  buildInputs = [ ncurses openssl ]
+  buildInputs = [ ncurses opensslPackage ]
     ++ optionals wxSupport wxPackages2
     ++ optionals odbcSupport odbcPackages
     ++ optionals javacSupport javacPackages
@@ -82,7 +81,7 @@ in stdenv.mkDerivation ({
     ./otp_build autoconf
   '';
 
-  configureFlags = [ "--with-ssl=${openssl.dev}" ]
+  configureFlags = [ "--with-ssl=${lib.getDev opensslPackage}" ]
     ++ optional enableThreads "--enable-threads"
     ++ optional enableSmpSupport "--enable-smp-support"
     ++ optional enableKernelPoll "--enable-kernel-poll"
@@ -126,7 +125,7 @@ in stdenv.mkDerivation ({
     '';
 
     platforms = platforms.unix;
-    maintainers = with maintainers; [ sjmackenzie couchemar gleber ];
+    maintainers = teams.beam.members;
     license = licenses.asl20;
   } // meta);
 }
diff --git a/pkgs/development/interpreters/gauche/default.nix b/pkgs/development/interpreters/gauche/default.nix
index 75a931c55629e..86dc7d666d2be 100644
--- a/pkgs/development/interpreters/gauche/default.nix
+++ b/pkgs/development/interpreters/gauche/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchFromGitHub, autoreconfHook, gaucheBootstrap, pkg-config, texinfo
-,  libiconv, gdbm, openssl, zlib, mbedtls, cacert }:
+, libiconv, gdbm, openssl, zlib, mbedtls, cacert }:
 
 stdenv.mkDerivation rec {
   pname = "gauche";
@@ -45,5 +45,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ mnacamura ];
     license = licenses.bsd3;
     platforms = platforms.unix;
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/interpreters/groovy/default.nix b/pkgs/development/interpreters/groovy/default.nix
index 0e3a0a46afdec..114bc13f5d8ae 100644
--- a/pkgs/development/interpreters/groovy/default.nix
+++ b/pkgs/development/interpreters/groovy/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "1xdpjqx7qaq0syw448b32q36g12pgh1hn6knyqi3k5isp0f09qmr";
   };
 
-  buildInputs = [ unzip makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ unzip ];
 
   installPhase = ''
     mkdir -p $out
diff --git a/pkgs/development/interpreters/guile/1.8.nix b/pkgs/development/interpreters/guile/1.8.nix
index 93eca9a73f1f4..6277312acc856 100644
--- a/pkgs/development/interpreters/guile/1.8.nix
+++ b/pkgs/development/interpreters/guile/1.8.nix
@@ -37,7 +37,10 @@ stdenv.mkDerivation rec {
     libtool
   ];
 
-  patches = [ ./cpp-4.5.patch ];
+  patches = [
+    ./cpp-4.5.patch
+    ./CVE-2016-8605.patch
+  ];
 
   preBuild = ''
     sed -e '/lt_dlinit/a  lt_dladdsearchdir("'$out/lib'");' -i libguile/dynl.c
diff --git a/pkgs/development/interpreters/guile/CVE-2016-8605.patch b/pkgs/development/interpreters/guile/CVE-2016-8605.patch
new file mode 100644
index 0000000000000..2fc281357ca86
--- /dev/null
+++ b/pkgs/development/interpreters/guile/CVE-2016-8605.patch
@@ -0,0 +1,59 @@
+commit d514e3fc42eb14a1bc5846b27ef89f50ba3a5d48
+Author: Ludovic Courtès <ludo@gnu.org>
+Date:   Tue Oct 11 10:14:26 2016 +0200
+
+    Remove 'umask' calls from 'mkdir'.
+    
+    Fixes <http://bugs.gnu.org/24659>.
+    
+    * libguile/filesys.c (SCM_DEFINE): Remove calls to 'umask' when MODE is
+    unbound; instead, use 0777 as the mode.  Update docstring to clarify
+    this.
+
+diff --git a/libguile/filesys.c b/libguile/filesys.c
+index c8acb13ef..921f765f1 100644
+--- a/libguile/filesys.c
++++ b/libguile/filesys.c
+@@ -1,4 +1,5 @@
+-/* Copyright (C) 1996,1997,1998,1999,2000,2001, 2002, 2004, 2006, 2008 Free Software Foundation, Inc.
++/* Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2006,
++ *   2009, 2010, 2011, 2012, 2013, 2014, 2016 Free Software Foundation, Inc.
+  * 
+  * This library is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU Lesser General Public
+@@ -791,26 +792,21 @@ SCM_DEFINE (scm_delete_file, "delete-file", 1, 0, 0,
+ SCM_DEFINE (scm_mkdir, "mkdir", 1, 1, 0,
+             (SCM path, SCM mode),
+ 	    "Create a new directory named by @var{path}.  If @var{mode} is omitted\n"
+-	    "then the permissions of the directory file are set using the current\n"
+-	    "umask.  Otherwise they are set to the decimal value specified with\n"
+-	    "@var{mode}.  The return value is unspecified.")
++	    "then the permissions of the directory are set to @code{#o777}\n"
++	    "masked with the current umask (@pxref{Processes, @code{umask}}).\n"
++	    "Otherwise they are set to the value specified with @var{mode}.\n"
++	    "The return value is unspecified.")
+ #define FUNC_NAME s_scm_mkdir
+ {
+   int rv;
+-  mode_t mask;
++  mode_t c_mode;
+ 
+-  if (SCM_UNBNDP (mode))
+-    {
+-      mask = umask (0);
+-      umask (mask);
+-      STRING_SYSCALL (path, c_path, rv = mkdir (c_path, 0777 ^ mask));
+-    }
+-  else
+-    {
+-      STRING_SYSCALL (path, c_path, rv = mkdir (c_path, scm_to_uint (mode)));
+-    }
++  c_mode = SCM_UNBNDP (mode) ? 0777 : scm_to_uint (mode);
++
++  STRING_SYSCALL (path, c_path, rv = mkdir (c_path, c_mode));
+   if (rv != 0)
+     SCM_SYSERROR;
++
+   return SCM_UNSPECIFIED;
+ }
+ #undef FUNC_NAME
diff --git a/pkgs/development/interpreters/io/default.nix b/pkgs/development/interpreters/io/default.nix
index d0a3b20e5038c..48462a333bcb3 100644
--- a/pkgs/development/interpreters/io/default.nix
+++ b/pkgs/development/interpreters/io/default.nix
@@ -1,18 +1,27 @@
-{ lib, stdenv, fetchFromGitHub, cmake, zlib, sqlite, gmp, libffi, cairo,
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, zlib, sqlite, gmp, libffi, cairo,
   ncurses, freetype, libGLU, libGL, libpng, libtiff, libjpeg, readline, libsndfile,
   libxml2, freeglut, libsamplerate, pcre, libevent, libedit, yajl,
   python3, openssl, glfw, pkg-config, libpthreadstubs, libXdmcp, libmemcached
 }:
 
 stdenv.mkDerivation {
-  name = "io-2015.11.11";
+  pname = "io";
+  version = "2017.09.06";
   src = fetchFromGitHub {
     owner = "stevedekorte";
     repo = "io";
-    rev = "1fc725e0a8635e2679cbb20521f4334c25273caa";
-    sha256 = "0ll2kd72zy8vf29sy0nnx3awk7nywpwpv21rvninjjaqkygrc0qw";
+    rev = "b8a18fc199758ed09cd2f199a9bc821f6821072a";
+    sha256 = "07rg1zrz6i6ghp11cm14w7bbaaa1s8sb0y5i7gr2sds0ijlpq223";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "check-for-sysctl-h.patch";
+      url = "https://github.com/IoLanguage/io/pull/446/commits/9f3e4d87b6d4c1bf583134d55d1cf92d3464c49f.patch";
+      sha256 = "9f06073ac17f26c2ef6298143bdd1babe7783c228f9667622aa6c91bb7ec7fa0";
+    })
+  ];
+
   nativeBuildInputs = [
     cmake
   ];
@@ -32,6 +41,17 @@ stdenv.mkDerivation {
     sed -ie \
           "s/add_subdirectory(addons)/#add_subdirectory(addons)/g" \
           CMakeLists.txt
+    # Bind Libs STATIC to avoid a segfault when relinking
+    sed -i 's/basekit SHARED/basekit STATIC/' libs/basekit/CMakeLists.txt
+    sed -i 's/garbagecollector SHARED/garbagecollector STATIC/' libs/garbagecollector/CMakeLists.txt
+    sed -i 's/coroutine SHARED/coroutine STATIC/' libs/coroutine/CMakeLists.txt
+  '';
+
+  doInstallCheck = true;
+
+  installCheckPhase = ''
+    $out/bin/io
+    $out/bin/io_static
   '';
 
   # for gcc5; c11 inline semantics breaks the build
diff --git a/pkgs/development/interpreters/j/default.nix b/pkgs/development/interpreters/j/default.nix
index ab64505e091d8..8875a9cf55eb1 100644
--- a/pkgs/development/interpreters/j/default.nix
+++ b/pkgs/development/interpreters/j/default.nix
@@ -30,6 +30,10 @@ stdenv.mkDerivation rec {
   # Causes build failure due to warning
   hardeningDisable = lib.optional stdenv.cc.isClang "strictoverflow";
 
+  # Causes build failure due to warning
+  # https://github.com/jsoftware/jsource/issues/16
+  NIX_CFLAGS_COMPILE = "-Wno-error=return-local-addr";
+
   buildPhase = ''
     export SOURCE_DIR=$(pwd)
     export HOME=$TMPDIR
diff --git a/pkgs/development/interpreters/janet/default.nix b/pkgs/development/interpreters/janet/default.nix
index 8db532b4211ff..8cce2b66cb6f2 100644
--- a/pkgs/development/interpreters/janet/default.nix
+++ b/pkgs/development/interpreters/janet/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "janet";
-  version = "1.14.2";
+  version = "1.15.2";
 
   src = fetchFromGitHub {
     owner = "janet-lang";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-8sIF+jvhRoKNfvPs/WjMZmysAeEjOKaiqi7bY0Bbcxw=";
+    sha256 = "sha256-xIvcHMDBPdmNSp0/aaVDXxCmCpQOtSFG99lyHAWmbY0=";
   };
 
   nativeBuildInputs = [ meson ninja ];
diff --git a/pkgs/development/interpreters/jruby/default.nix b/pkgs/development/interpreters/jruby/default.nix
index f792471c0619e..4d8771b93ebc4 100644
--- a/pkgs/development/interpreters/jruby/default.nix
+++ b/pkgs/development/interpreters/jruby/default.nix
@@ -6,14 +6,14 @@ rubyVersion = callPackage ../ruby/ruby-version.nix {} "2" "5" "7" "";
 jruby = stdenv.mkDerivation rec {
   pname = "jruby";
 
-  version = "9.2.14.0";
+  version = "9.2.15.0";
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/jruby.org/downloads/${version}/jruby-bin-${version}.tar.gz";
-    sha256 = "1dg0fz9b8m1k0sypvpxnf4xjqwc0pyy35xw4rsg4a7pha4jkprrj";
+    sha256 = "sha256-no5dc8QtHa2KeVptw5vYfoj8iGP3bgZeQJnDLQhSBbA=";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
      mkdir -pv $out/docs
diff --git a/pkgs/development/interpreters/jython/default.nix b/pkgs/development/interpreters/jython/default.nix
index 61cc8f9cd0f56..38b599d339e7b 100644
--- a/pkgs/development/interpreters/jython/default.nix
+++ b/pkgs/development/interpreters/jython/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "142285hd9mx0nx5zw0jvkpqkb4kbhgyyy52p5bj061ya8bg5jizy";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   dontUnpack = true;
 
diff --git a/pkgs/development/interpreters/lfe/generic-builder.nix b/pkgs/development/interpreters/lfe/generic-builder.nix
index 895054fac4671..397be81e7c85a 100644
--- a/pkgs/development/interpreters/lfe/generic-builder.nix
+++ b/pkgs/development/interpreters/lfe/generic-builder.nix
@@ -87,7 +87,7 @@ buildRebar3 {
     downloadPage = "https://github.com/rvirding/lfe/releases";
 
     license      = licenses.asl20;
-    maintainers  = with maintainers; [ yurrriq ankhers ];
+    maintainers  = teams.beam.members;
     platforms    = platforms.unix;
   };
 }
diff --git a/pkgs/development/interpreters/octave/build-env.nix b/pkgs/development/interpreters/octave/build-env.nix
new file mode 100644
index 0000000000000..fee53b716daef
--- /dev/null
+++ b/pkgs/development/interpreters/octave/build-env.nix
@@ -0,0 +1,83 @@
+{ lib, stdenv, octave, buildEnv
+, makeWrapper, texinfo
+, octavePackages
+, wrapOctave
+, computeRequiredOctavePackages
+, extraLibs ? []
+, extraOutputsToInstall ? []
+, postBuild ? ""
+, ignoreCollisions ? false
+}:
+
+# Create an octave executable that knows about additional packages
+let
+  packages = computeRequiredOctavePackages extraLibs;
+
+in buildEnv {
+  name = "${octave.name}-env";
+  paths = extraLibs ++ [ octave ];
+
+  inherit ignoreCollisions;
+  extraOutputsToInstall = [ "out" ] ++ extraOutputsToInstall;
+
+  buildInputs = [ makeWrapper texinfo wrapOctave ];
+
+  # During "build" we must first unlink the /share symlink to octave's /share
+  # Then, we can re-symlink the all of octave/share, except for /share/octave
+  # in env/share/octave, re-symlink everything from octave/share/octave and then
+  # perform the pkg install.
+  postBuild = ''
+      . "${makeWrapper}/nix-support/setup-hook"
+      # The `makeWrapper` used here is the one defined in
+      # ${makeWrapper}/nix-support/setup-hook
+
+      if [ -L "$out/bin" ]; then
+         unlink $out/bin
+         mkdir -p "$out/bin"
+         cd "${octave}/bin"
+         for prg in *; do
+             if [ -x $prg ]; then
+                makeWrapper "${octave}/bin/$prg" "$out/bin/$prg" --set OCTAVE_SITE_INITFILE "$out/share/octave/site/m/startup/octaverc"
+             fi
+         done
+         cd $out
+      fi
+
+      # Remove symlinks to the input tarballs, they aren't needed.
+      rm $out/*.tar.gz
+
+      createOctavePackagesPath $out ${octave}
+
+      for path in ${lib.concatStringsSep " " packages}; do
+          if [ -e $path/*.tar.gz ]; then
+             $out/bin/octave-cli --eval "pkg local_list $out/.octave_packages; \
+                                         pkg prefix $out/${octave.octPkgsPath} $out/${octave.octPkgsPath}; \
+                                         pfx = pkg (\"prefix\"); \
+                                         pkg install -nodeps -local $path/*.tar.gz"
+          fi
+      done
+
+      # Re-write the octave-wide startup file (share/octave/site/m/startup/octaverc)
+      # To point to the new local_list in $out
+      addPkgLocalList $out ${octave}
+
+      wrapOctavePrograms "${lib.concatStringsSep " " packages}"
+     '' + postBuild;
+
+  inherit (octave) meta;
+
+  passthru = octave.passthru // {
+    interpreter = "$out/bin/octave";
+    inherit octave;
+    env = stdenv.mkDerivation {
+      name = "interactive-${octave.name}-environment";
+
+      buildCommand = ''
+        echo >&2 ""
+        echo >&2 "*** octave 'env' attributes are intended for interactive nix-shell sessions, not for building! ***"
+        echo >&2 ""
+        exit 1
+      '';
+    };
+  };
+}
diff --git a/pkgs/development/interpreters/octave/build-octave-package.nix b/pkgs/development/interpreters/octave/build-octave-package.nix
new file mode 100644
index 0000000000000..73a67769d6a6e
--- /dev/null
+++ b/pkgs/development/interpreters/octave/build-octave-package.nix
@@ -0,0 +1,113 @@
+# Generic builder for GNU Octave libraries.
+# This is a file that contains nested functions. The first, outer, function
+# is the library- and package-wide details, such as the nixpkgs library, any
+# additional configuration provided, and the namePrefix to use (based on the
+# pname and version of Octave), the octave package, etc.
+
+{ lib
+, stdenv
+, config
+, octave
+, texinfo
+, computeRequiredOctavePackages
+, writeRequiredOctavePackagesHook
+}:
+
+# The inner function contains information required to build the individual
+# libraries.
+{ fullLibName ? "${attrs.pname}-${attrs.version}"
+
+, src
+
+, dontPatch ? false
+, patches ? []
+, patchPhase ? ""
+
+, enableParallelBuilding ? true
+# Build-time dependencies for the package, which were compiled for the system compiling this.
+, nativeBuildInputs ? []
+
+# Build-time dependencies for the package, which may not have been compiled for the system compiling this.
+, buildInputs ? []
+
+# Propagate build dependencies so in case we have A -> B -> C,
+# C can import package A propagated by B
+# Run-time dependencies for the package.
+, propagatedBuildInputs ? []
+
+# Octave packages that are required at runtime for this one.
+# These behave similarly to propagatedBuildInputs, where if
+# package A is needed by B, and C needs B, then C also requires A.
+# The main difference between these and propagatedBuildInputs is
+# during the package's installation into octave, where all
+# requiredOctavePackages are ALSO installed into octave.
+, requiredOctavePackages ? []
+
+, preBuild ? ""
+
+, meta ? {}
+
+, passthru ? {}
+
+, ... } @ attrs:
+
+let
+  requiredOctavePackages' = computeRequiredOctavePackages requiredOctavePackages;
+
+in stdenv.mkDerivation {
+  packageName = "${fullLibName}";
+  # The name of the octave package ends up being
+  # "octave-version-package-version"
+  name = "${octave.pname}-${octave.version}-${fullLibName}";
+
+  # This states that any package built with the function that this returns
+  # will be an octave package. This is used for ensuring other octave
+  # packages are installed into octave during the environment building phase.
+  isOctavePackage = true;
+
+  OCTAVE_HISTFILE = "/dev/null";
+
+  inherit src;
+
+  inherit dontPatch patches patchPhase;
+
+  dontConfigure = true;
+
+  enableParallelBuilding = enableParallelBuilding;
+
+  requiredOctavePackages = requiredOctavePackages';
+
+  nativeBuildInputs = [
+    octave
+    writeRequiredOctavePackagesHook
+  ]
+  ++ nativeBuildInputs;
+
+  buildInputs = buildInputs ++ requiredOctavePackages';
+
+  propagatedBuildInputs = propagatedBuildInputs ++ [ texinfo ];
+
+  preBuild = if preBuild == "" then
+    ''
+      # This trickery is needed because Octave expects a single directory inside
+      # at the top-most level of the tarball.
+      tar --transform 's,^,${fullLibName}/,' -cz * -f ${fullLibName}.tar.gz
+    ''
+             else
+               preBuild;
+
+  buildPhase = ''
+    runHook preBuild
+
+    mkdir -p $out
+    octave-cli --eval "pkg build $out ${fullLibName}.tar.gz"
+
+    runHook postBuild
+  '';
+
+  # We don't install here, because that's handled when we build the environment
+  # together with Octave.
+  dontInstall = true;
+
+  inherit meta;
+}
diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix
index 6ad25d24eae67..0a87c1ddcf07f 100644
--- a/pkgs/development/interpreters/octave/default.nix
+++ b/pkgs/development/interpreters/octave/default.nix
@@ -1,4 +1,5 @@
 { stdenv
+, pkgs
 , lib
 # Note: either stdenv.mkDerivation or, for octaveFull, the qt-5 mkDerivation
 # with wrapQtAppsHook (comes from libsForQt5.callPackage)
@@ -45,6 +46,11 @@
 , python ? null
 , overridePlatforms ? null
 , sundials ? null
+# - Packages required for building extra packages.
+, newScope
+, callPackage
+, makeSetupHook
+, makeWrapper
 # - Build Octave Qt GUI:
 , enableQt ? false
 , qtbase ? null
@@ -60,6 +66,7 @@
 }:
 
 let
+
   # Not always evaluated
   blas' = if use64BitIdx then
     blas.override {
@@ -94,118 +101,144 @@ let
   else
     null
   ;
-in mkDerivation rec {
-  version = "6.1.0";
-  pname = "octave";
 
-  src = fetchurl {
-    url = "mirror://gnu/octave/${pname}-${version}.tar.gz";
-    sha256 = "0mqa1g3fq0q45mqc0didr8vl6bk7jzj6gjsf1522qqjq2r04xwvg";
+  octavePackages = import ../../../top-level/octave-packages.nix {
+    inherit pkgs;
+    inherit lib stdenv fetchurl newScope;
+    octave = self;
   };
 
-  buildInputs = [
-    readline
-    ncurses
-    perl
-    flex
-    qhull
-    graphicsmagick
-    pcre
-    fltk
-    zlib
-    curl
-    blas'
-    lapack'
-    libsndfile
-    fftw
-    fftwSinglePrec
-    portaudio
-    qrupdate'
-    arpack'
-    libwebp
-    gl2ps
-  ]
-  ++ lib.optionals enableQt [
-    qtbase
-    qtsvg
-    qscintilla
-  ]
-  ++ lib.optionals (ghostscript != null) [ ghostscript ]
-  ++ lib.optionals (hdf5 != null) [ hdf5 ]
-  ++ lib.optionals (glpk != null) [ glpk ]
-  ++ lib.optionals (suitesparse != null) [ suitesparse' ]
-  ++ lib.optionals (enableJava) [ jdk ]
-  ++ lib.optionals (sundials != null) [ sundials ]
-  ++ lib.optionals (gnuplot != null) [ gnuplot ]
-  ++ lib.optionals (python != null) [ python ]
-  ++ lib.optionals (!stdenv.isDarwin) [ libGL libGLU libX11 ]
-  ++ lib.optionals stdenv.isDarwin [
-    libiconv
-    darwin.apple_sdk.frameworks.Accelerate
-    darwin.apple_sdk.frameworks.Cocoa
-  ]
-  ;
-  nativeBuildInputs = [
-    pkg-config
-    gfortran
-    # Listed here as well because it's outputs are split
-    fftw
-    fftwSinglePrec
-    texinfo
-  ]
-  ++ lib.optionals (sundials != null) [ sundials ]
-  ++ lib.optionals enableJIT [ llvm ]
-  ++ lib.optionals enableQt [
-    qtscript
-    qttools
-  ]
-  ;
+  wrapOctave = callPackage ./wrap-octave.nix {
+    octave = self;
+    inherit (pkgs) makeSetupHook makeWrapper;
+  };
+
+  self = mkDerivation rec {
+    version = "6.2.0";
+    pname = "octave";
+
+    src = fetchurl {
+      url = "mirror://gnu/octave/${pname}-${version}.tar.gz";
+      sha256 = "sha256-RX0f2oY0qDni/Xz8VbmL1W82tq5z0xu530Pd4wEsqnw=";
+    };
+
+    buildInputs = [
+      readline
+      ncurses
+      perl
+      flex
+      qhull
+      graphicsmagick
+      pcre
+      fltk
+      zlib
+      curl
+      blas'
+      lapack'
+      libsndfile
+      fftw
+      fftwSinglePrec
+      portaudio
+      qrupdate'
+      arpack'
+      libwebp
+      gl2ps
+    ]
+    ++ lib.optionals enableQt [
+      qtbase
+      qtsvg
+      qscintilla
+    ]
+    ++ lib.optionals (ghostscript != null) [ ghostscript ]
+    ++ lib.optionals (hdf5 != null) [ hdf5 ]
+    ++ lib.optionals (glpk != null) [ glpk ]
+    ++ lib.optionals (suitesparse != null) [ suitesparse' ]
+    ++ lib.optionals (enableJava) [ jdk ]
+    ++ lib.optionals (sundials != null) [ sundials ]
+    ++ lib.optionals (gnuplot != null) [ gnuplot ]
+    ++ lib.optionals (python != null) [ python ]
+    ++ lib.optionals (!stdenv.isDarwin) [ libGL libGLU libX11 ]
+    ++ lib.optionals stdenv.isDarwin [
+      libiconv
+      darwin.apple_sdk.frameworks.Accelerate
+      darwin.apple_sdk.frameworks.Cocoa
+    ]
+    ;
+    nativeBuildInputs = [
+      pkg-config
+      gfortran
+      # Listed here as well because it's outputs are split
+      fftw
+      fftwSinglePrec
+      texinfo
+    ]
+    ++ lib.optionals (sundials != null) [ sundials ]
+    ++ lib.optionals enableJIT [ llvm ]
+    ++ lib.optionals enableQt [
+      qtscript
+      qttools
+    ]
+    ;
 
-  doCheck = !stdenv.isDarwin;
+    doCheck = !stdenv.isDarwin;
 
-  enableParallelBuilding = true;
+    enableParallelBuilding = true;
 
-  # See https://savannah.gnu.org/bugs/?50339
-  F77_INTEGER_8_FLAG = if use64BitIdx then "-fdefault-integer-8" else "";
+    # See https://savannah.gnu.org/bugs/?50339
+    F77_INTEGER_8_FLAG = if use64BitIdx then "-fdefault-integer-8" else "";
 
-  configureFlags = [
-    "--with-blas=blas"
-    "--with-lapack=lapack"
-    (if use64BitIdx then "--enable-64" else "--disable-64")
-  ]
+    configureFlags = [
+      "--with-blas=blas"
+      "--with-lapack=lapack"
+      (if use64BitIdx then "--enable-64" else "--disable-64")
+    ]
     ++ lib.optionals stdenv.isDarwin [ "--enable-link-all-dependencies" ]
     ++ lib.optionals enableReadline [ "--enable-readline" ]
     ++ lib.optionals stdenv.isDarwin [ "--with-x=no" ]
     ++ lib.optionals enableQt [ "--with-qt=5" ]
     ++ lib.optionals enableJIT [ "--enable-jit" ]
-  ;
+    ;
 
-  # Keep a copy of the octave tests detailed results in the output
-  # derivation, because someone may care
-  postInstall = ''
-    cp test/fntests.log $out/share/octave/${pname}-${version}-fntests.log || true
-  '';
+    # Keep a copy of the octave tests detailed results in the output
+    # derivation, because someone may care
+    postInstall = ''
+      cp test/fntests.log $out/share/octave/${pname}-${version}-fntests.log || true
+    '';
 
-  passthru = {
-    sitePath = "share/octave/${version}/site";
-    blas = blas';
-    lapack = lapack';
-    qrupdate = qrupdate';
-    arpack = arpack';
-    suitesparse = suitesparse';
-    inherit python;
-    inherit enableQt enableJIT enableReadline enableJava;
-  };
+    passthru = rec {
+      sitePath = "share/octave/${version}/site";
+      octPkgsPath = "share/octave/octave_packages";
+      blas = blas';
+      lapack = lapack';
+      qrupdate = qrupdate';
+      arpack = arpack';
+      suitesparse = suitesparse';
+      inherit fftw fftwSinglePrec;
+      inherit portaudio;
+      inherit jdk;
+      inherit python;
+      inherit enableQt enableJIT enableReadline enableJava;
+      buildEnv = callPackage ./build-env.nix {
+        octave = self;
+        inherit octavePackages wrapOctave;
+        inherit (octavePackages) computeRequiredOctavePackages;
+      };
+      withPackages = import ./with-packages.nix { inherit buildEnv octavePackages; };
+      pkgs = octavePackages;
+      interpreter = "${self}/bin/octave";
+    };
 
-  meta = {
-    homepage = "https://www.gnu.org/software/octave/";
-    license = lib.licenses.gpl3Plus;
-    maintainers = with lib.maintainers; [ raskin doronbehar ];
-    description = "Scientific Pragramming Language";
-    # https://savannah.gnu.org/bugs/?func=detailitem&item_id=56425 is the best attempt to fix JIT
-    broken = enableJIT;
-    platforms = if overridePlatforms == null then
-      (lib.platforms.linux ++ lib.platforms.darwin)
-    else overridePlatforms;
+    meta = {
+      homepage = "https://www.gnu.org/software/octave/";
+      license = lib.licenses.gpl3Plus;
+      maintainers = with lib.maintainers; [ raskin doronbehar ];
+      description = "Scientific Pragramming Language";
+      # https://savannah.gnu.org/bugs/?func=detailitem&item_id=56425 is the best attempt to fix JIT
+      broken = enableJIT;
+      platforms = if overridePlatforms == null then
+        (lib.platforms.linux ++ lib.platforms.darwin)
+      else overridePlatforms;
+    };
   };
-}
+
+in self
diff --git a/pkgs/development/interpreters/octave/hooks/default.nix b/pkgs/development/interpreters/octave/hooks/default.nix
new file mode 100644
index 0000000000000..f47560921af3c
--- /dev/null
+++ b/pkgs/development/interpreters/octave/hooks/default.nix
@@ -0,0 +1,13 @@
+# Hooks for building Octave packages.
+{ octave
+, lib
+, callPackage
+, makeSetupHook
+}:
+
+rec {
+  writeRequiredOctavePackagesHook = callPackage ({ }:
+    makeSetupHook {
+      name = "write-required-octave-packages-hook";
+    } ./write-required-octave-packages-hook.sh) {};
+}
diff --git a/pkgs/development/interpreters/octave/hooks/octave-write-required-octave-packages-hook.sh b/pkgs/development/interpreters/octave/hooks/octave-write-required-octave-packages-hook.sh
new file mode 100644
index 0000000000000..64e87d68246f1
--- /dev/null
+++ b/pkgs/development/interpreters/octave/hooks/octave-write-required-octave-packages-hook.sh
@@ -0,0 +1,17 @@
+# Setup hook for writing octave packages that are run-time dependencies for
+# another package to a nix-support file.
+# `echo`s the full path name to the package derivation that is required.
+echo "Sourcing octave-write-required-octave-packages-hook.sh"
+
+octaveWriteRequiredOctavePackagesPhase() {
+    echo "Executing octaveWriteRequiredOctavePackagesPhase"
+
+    mkdir -p $out/nix-support
+    echo ${requiredOctavePackages} > $out/nix-support/required-octave-packages
+}
+
+# Yes its a bit long...
+if [ -z "${dontWriteRequiredOctavePackagesPhase-}" ]; then
+    echo "Using octaveWriteRequiredOctavePackagesPhase"
+    preDistPhases+=" octaveWriteRequiredOctavePackagesPhase"
+fi
diff --git a/pkgs/development/interpreters/octave/hooks/write-required-octave-packages-hook.sh b/pkgs/development/interpreters/octave/hooks/write-required-octave-packages-hook.sh
new file mode 100644
index 0000000000000..032ea398ac568
--- /dev/null
+++ b/pkgs/development/interpreters/octave/hooks/write-required-octave-packages-hook.sh
@@ -0,0 +1,17 @@
+# Setup hook for writing octave packages that are run-time dependencies for
+# another package to a nix-support file.
+# `echo`s the full path name to the package derivation that is required.
+echo "Sourcing write-required-octave-packages-hook.sh"
+
+writeRequiredOctavePackagesPhase() {
+    echo "Executing writeRequiredOctavePackagesPhase"
+
+    mkdir -p $out/nix-support
+    echo ${requiredOctavePackages} > $out/nix-support/required-octave-packages
+}
+
+# Yes its a bit long...
+if [ -z "${dontWriteRequiredOctavePackagesPhase-}" ]; then
+    echo "Using writeRequiredOctavePackagesPhase"
+    preDistPhases+=" writeRequiredOctavePackagesPhase"
+fi
diff --git a/pkgs/development/interpreters/octave/with-packages.nix b/pkgs/development/interpreters/octave/with-packages.nix
new file mode 100644
index 0000000000000..f00befbb00d45
--- /dev/null
+++ b/pkgs/development/interpreters/octave/with-packages.nix
@@ -0,0 +1,6 @@
+{ buildEnv, octavePackages }:
+
+# Takes the buildEnv defined for Octave and the set of octavePackages, and returns
+# a function, which when given a function whose return value is a list of extra
+# packages to install, builds and returns that environment.
+f: let packages = f octavePackages; in buildEnv.override { extraLibs = packages; }
diff --git a/pkgs/development/interpreters/octave/wrap-octave.nix b/pkgs/development/interpreters/octave/wrap-octave.nix
new file mode 100644
index 0000000000000..1e4616136a1b9
--- /dev/null
+++ b/pkgs/development/interpreters/octave/wrap-octave.nix
@@ -0,0 +1,16 @@
+{ lib
+, octave
+, makeSetupHook
+, makeWrapper
+}:
+
+# Defined in trivial-builders.nix
+# Imported as wrapOctave in octave/default.nix and passed to octave's buildEnv
+# as nativeBuildInput
+# Each of the substitutions is available in the wrap.sh script as @thingSubstituted@
+makeSetupHook {
+  name = "${octave.name}-pkgs-setup-hook";
+  deps = makeWrapper;
+  substitutions.executable = octave.interpreter;
+  substitutions.octave = octave;
+} ./wrap.sh
diff --git a/pkgs/development/interpreters/octave/wrap.sh b/pkgs/development/interpreters/octave/wrap.sh
new file mode 100644
index 0000000000000..a5969fca2a96e
--- /dev/null
+++ b/pkgs/development/interpreters/octave/wrap.sh
@@ -0,0 +1,132 @@
+# Unlinks a directory (given as the first argument), and re-creates that
+# directory as an actual directory. Then descends into the directory of
+# the same name in the origin (arg_2/arg_3) and symlinks the contents of
+# that directory into the passed end-location.
+unlinkDirReSymlinkContents() {
+    local dirToUnlink="$1"
+    local origin="$2"
+    local contentsLocation="$3"
+
+    unlink $dirToUnlink/$contentsLocation
+    mkdir -p $dirToUnlink/$contentsLocation
+    for f in $origin/$contentsLocation/*; do
+        ln -s -t "$dirToUnlink/$contentsLocation" "$f"
+    done
+}
+
+# Using unlinkDirReSymlinkContents, un-symlinks directories down to
+# $out/share/octave, and then creates the octave_packages directory.
+createOctavePackagesPath() {
+    local desiredOut=$1
+    local origin=$2
+
+    if [ -L "$out/share" ]; then
+        unlinkDirReSymlinkContents "$desiredOut" "$origin" "share"
+    fi
+
+    if [ -L "$out/share/octave" ]; then
+        unlinkDirReSymlinkContents "$desiredOut" "$origin" "share/octave"
+    fi
+
+    # Now that octave_packages has a path rather than symlinks, create the
+    # octave_packages directory for installed packages.
+    mkdir -p "$desiredOut/share/octave/octave_packages"
+}
+
+# First, descends down to $out/share/octave/site/m/startup/octaverc, and
+# copies that start-up file. Once done, it performs a `chmod` to allow
+# writing. Lastly, it `echo`s the location of the locally installed packages
+# to the startup file, allowing octave to discover installed packages.
+addPkgLocalList() {
+    local desiredOut=$1
+    local origin=$2
+    local octaveSite="share/octave/site"
+    local octaveSiteM="$octaveSite/m"
+    local octaveSiteStartup="$octaveSiteM/startup"
+    local siteOctavercStartup="$octaveSiteStartup/octaverc"
+
+    unlinkDirReSymlinkContents "$desiredOut" "$origin" "$octaveSite"
+    unlinkDirReSymlinkContents "$desiredOut" "$origin" "$octaveSiteM"
+    unlinkDirReSymlinkContents "$desiredOut" "$origin" "$octaveSiteStartup"
+
+    unlink "$out/$siteOctavercStartup"
+    cp "$origin/$siteOctavercStartup" "$desiredOut/$siteOctavercStartup"
+    chmod u+w "$desiredOut/$siteOctavercStartup"
+    echo "pkg local_list $out/.octave_packages" >> "$desiredOut/$siteOctavercStartup"
+}
+
+# Wrapper function for wrapOctaveProgramsIn. Takes one argument, a
+# space-delimited string of packages' paths that will be installed.
+wrapOctavePrograms() {
+    wrapOctaveProgramsIn "$out/bin" "$out" "$@"
+}
+
+# Wraps all octave programs in $out/bin with all the propagated inputs that
+# a particular package requires. $1 is the directory to look for binaries in
+# to wrap. $2 is the path to the octave ENVIRONMENT. $3 is the space-delimited
+# string of packages.
+wrapOctaveProgramsIn() {
+    local dir="$1"
+    local octavePath="$2"
+    local pkgs="$3"
+    local f
+
+    buildOctavePath "$octavePath" "$pkgs"
+
+    # Find all regular files in the output directory that are executable.
+    if [ -d "$dir" ]; then
+        find "$dir" -type f -perm -0100 -print0 | while read -d "" f; do
+            echo "wrapping \`$f'..."
+            local -a wrap_args=("$f"
+                --prefix PATH ':' "$program_PATH"
+                   )
+            local -a wrapProgramArgs=("${wrap_args[@]}")
+            wrapProgram "${wrapProgramArgs[@]}"
+    done
+    fi
+}
+
+# Build the PATH environment variable by walking through the closure of
+# dependencies. Starts by constructing the `program_PATH` variable with the
+# environment's path, then adding the original octave's location, and marking
+# them in `octavePathsSeen`.
+buildOctavePath() {
+    local octavePath="$1"
+    local packages="$2"
+
+    local pathsToSearch="$octavePath $packages"
+
+    # Create an empty table of Octave paths.
+    declare -A octavePathsSeen=()
+    program_PATH=
+    octavePathsSeen["$out"]=1
+    octavePathsSeen["@octave@"]=1
+    addToSearchPath program_PATH "$out/bin"
+    addToSearchPath program_PATH "@octave@/bin"
+    echo "program_PATH to change to is: $program_PATH"
+    for path in $pathsToSearch; do
+    echo "Recurse to propagated-build-input: $path"
+    _addToOctavePath $path
+    done
+}
+
+# Adds the bin directories to the program_PATH variable.
+# Recurses on any paths declared in `propagated-build-inputs`, while avoiding
+# duplicating paths by flagging the directires it has seen in `octavePathsSeen`.
+_addToOctavePath() {
+    local dir="$1"
+    # Stop if we've already visited this path.
+    if [ -n "${octavePathsSeen[$dir]}" ]; then return; fi
+    octavePathsSeen[$dir]=1
+    # addToSearchPath is defined in stdenv/generic/setup.sh. It has the effect
+    # of calling `export X=$dir/...:$X`.
+    addToSearchPath program_PATH $dir/bin
+
+    # Inspect the propagated inputs (if they exist) and recur on them.
+    local prop="$dir/nix-support/propagated-build-inputs"
+    if [ -e $prop ]; then
+    for new_path in $(cat $prop); do
+        _addToOctavePath $new_path
+    done
+    fi
+}
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index 75fe1bac8cb46..66e0b284fc0df 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -168,11 +168,11 @@ let
       priority = 6; # in `buildEnv' (including the one inside `perl.withPackages') the library files will have priority over files in `perl`
     };
   } // optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
-    crossVersion = "4c55233ae95a6aef4d93291fe8ad12709b11e575"; # Jan 21, 2021
+    crossVersion = "1.3.5"; # Jan 24, 2021
 
     perl-cross-src = fetchurl {
       url = "https://github.com/arsv/perl-cross/archive/${crossVersion}.tar.gz";
-      sha256 = "04bxn43ir7b4c2bb1z1l71l93hrysjv00h879nm70m99q6vxq2hc";
+      sha256 = "1sa2f8s1hc604g5y98w6m6y5q43s9jiyrpnp4b34zkfx1qs3w6l4";
     };
 
     depsBuildBuild = [ buildPackages.stdenv.cc makeWrapper ];
@@ -200,8 +200,8 @@ in {
   perl532 = common {
     perl = pkgs.perl532;
     buildPerl = buildPackages.perl532;
-    version = "5.32.0";
-    sha256 = "1d6001cjnpxfv79000bx00vmv2nvdz7wrnyas451j908y7hirszg";
+    version = "5.32.1";
+    sha256 = "0b7brakq9xs4vavhg391as50nbhzryc7fy5i65r81bnq3j897dh3";
   };
 
   # the latest Devel version
diff --git a/pkgs/development/interpreters/php/7.3.nix b/pkgs/development/interpreters/php/7.3.nix
index 13b64e8cb6e27..d611cb7693c6b 100644
--- a/pkgs/development/interpreters/php/7.3.nix
+++ b/pkgs/development/interpreters/php/7.3.nix
@@ -4,8 +4,8 @@ let
   generic = (import ./generic.nix) _args;
 
   base = callPackage generic (_args // {
-    version = "7.3.26";
-    sha256 = "0klxnf6nhsib9b2mdls1x2wbpi04gmgwxajbn593rzalh5y5l7ip";
+    version = "7.3.27";
+    sha256 = "00z0vadxazm2flks9g8qmchj2pwkli880kg313jgbb1mx3shc84x";
 
     # https://bugs.php.net/bug.php?id=76826
     extraPatches = lib.optional stdenv.isDarwin ./php73-darwin-isfinite.patch;
diff --git a/pkgs/development/interpreters/php/7.4.nix b/pkgs/development/interpreters/php/7.4.nix
index 9ee0c9c9e7cc1..42aa28b65e639 100644
--- a/pkgs/development/interpreters/php/7.4.nix
+++ b/pkgs/development/interpreters/php/7.4.nix
@@ -4,8 +4,8 @@ let
   generic = (import ./generic.nix) _args;
 
   base = callPackage generic (_args // {
-    version = "7.4.14";
-    sha256 = "1xm1s2w9fsd8q7kjbpqw8s4bs7ggziwws23m0ykkmvmd0l3cm2b8";
+    version = "7.4.15";
+    sha256 = "0mvp7b16sy9j36v9v1mhixwz16hi8mhax7rwpqy3sv24jc1bxmqv";
   });
 
 in base.withExtensions ({ all, ... }: with all; ([
diff --git a/pkgs/development/interpreters/php/8.0.nix b/pkgs/development/interpreters/php/8.0.nix
index 5779c836dd4f5..a4aa4842dfa37 100644
--- a/pkgs/development/interpreters/php/8.0.nix
+++ b/pkgs/development/interpreters/php/8.0.nix
@@ -4,8 +4,8 @@ let
   generic = (import ./generic.nix) _args;
 
   base = callPackage generic (_args // {
-    version = "8.0.1";
-    sha256 = "1vmx9rhks8v2198f9d6cq62bway5mrfsz72garjdwcyi82ppckn4";
+    version = "8.0.2";
+    sha256 = "1rm3gc2h9l0zd1ccawpg1wxqm8v8rllq417f2w5pqcdf7sgah3q0";
   });
 
 in base.withExtensions ({ all, ... }: with all; ([
diff --git a/pkgs/development/interpreters/php/generic.nix b/pkgs/development/interpreters/php/generic.nix
index 191d589aa90ca..659157e24c4a4 100644
--- a/pkgs/development/interpreters/php/generic.nix
+++ b/pkgs/development/interpreters/php/generic.nix
@@ -5,7 +5,7 @@
 
 let
   generic =
-    { callPackage, lib, stdenv, nixosTests, config, fetchurl, makeWrapper
+    { callPackage, lib, stdenv, nixosTests, fetchurl, makeWrapper
     , symlinkJoin, writeText, autoconf, automake, bison, flex, libtool
     , pkg-config, re2c, apacheHttpd, libargon2, libxml2, pcre, pcre2
     , systemd, system-sendmail, valgrind, xcbuild
@@ -97,7 +97,7 @@ let
                     (enabledExtensions ++ (getDepsRecursively enabledExtensions)));
 
               extNames = map getExtName enabledExtensions;
-              extraInit = writeText "php.ini" ''
+              extraInit = writeText "php-extra-init-${version}.ini" ''
                 ${lib.concatStringsSep "\n"
                   (lib.textClosureList extensionTexts extNames)}
                 ${extraConfig}
@@ -112,7 +112,8 @@ let
                   withExtensions = mkWithExtensions allArgs allExtensionFunctions;
                   phpIni = "${phpWithExtensions}/lib/php.ini";
                   unwrapped = php;
-                  tests = nixosTests.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;
                   packages = php-packages.tools;
                   meta = php.meta // {
@@ -121,7 +122,7 @@ let
                 };
                 paths = [ php ];
                 postBuild = ''
-                  cp ${extraInit} $out/lib/php.ini
+                  ln -s ${extraInit} $out/lib/php.ini
 
                   wrapProgram $out/bin/php --set PHP_INI_SCAN_DIR $out/lib
 
diff --git a/pkgs/development/interpreters/picolisp/default.nix b/pkgs/development/interpreters/picolisp/default.nix
index 341797fa3f4c3..623eefec4162f 100644
--- a/pkgs/development/interpreters/picolisp/default.nix
+++ b/pkgs/development/interpreters/picolisp/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     url = "https://www.software-lab.de/${pname}-${version}.tgz";
     sha256 = "0l51x98bn1hh6kv40sdgp0x09pzg5i8yxbcjvm9n5bxsd6bbk5w2";
   };
-  buildInputs = [makeWrapper openssl] ++ optional stdenv.is64bit jdk;
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [openssl] ++ optional stdenv.is64bit jdk;
   patchPhase = ''
     sed -i "s/which java/command -v java/g" mkAsm
 
diff --git a/pkgs/development/interpreters/pure/default.nix b/pkgs/development/interpreters/pure/default.nix
index 19e6c93378f70..863df66899b14 100644
--- a/pkgs/development/interpreters/pure/default.nix
+++ b/pkgs/development/interpreters/pure/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
     sha256="0px6x5ivcdbbp2pz5n1r1cwg1syadklhjw8piqhl63n91i4r7iyb";
   };
 
-  buildInputs = [ bison flex makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ bison flex ];
   propagatedBuildInputs = [ llvm gmp mpfr readline ];
   NIX_LDFLAGS = "-lLLVMJIT";
 
diff --git a/pkgs/development/interpreters/python/cpython/2.7/CVE-2021-3177.patch b/pkgs/development/interpreters/python/cpython/2.7/CVE-2021-3177.patch
new file mode 100644
index 0000000000000..6c0ae468461f2
--- /dev/null
+++ b/pkgs/development/interpreters/python/cpython/2.7/CVE-2021-3177.patch
@@ -0,0 +1,181 @@
+From fab838b2ee7cfb9037c24f0f18dfe01aa379b3f7 Mon Sep 17 00:00:00 2001
+From: Benjamin Peterson <benjamin@python.org>
+Date: Mon, 18 Jan 2021 15:11:46 -0600
+Subject: [3.6] closes bpo-42938: Replace snprintf with Python unicode
+ formatting in ctypes param reprs. (GH-24250)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+(cherry picked from commit 916610ef90a0d0761f08747f7b0905541f0977c7)
+
+Co-authored-by: Benjamin Peterson <benjamin@python.org>
+Rebased for Python 2.7 by Michał Górny <mgorny@gentoo.org>
+---
+ Lib/ctypes/test/test_parameters.py                 | 43 +++++++++++++++++++
+ .../2021-01-18-09-27-31.bpo-42938.4Zn4Mp.rst       |  2 +
+ Modules/_ctypes/callproc.c                         | 49 +++++++++++-----------
+ 3 files changed, 69 insertions(+), 25 deletions(-)
+ create mode 100644 Misc/NEWS.d/next/Security/2021-01-18-09-27-31.bpo-42938.4Zn4Mp.rst
+
+diff --git a/Lib/ctypes/test/test_parameters.py b/Lib/ctypes/test/test_parameters.py
+index 23c1b6e225..3456882ccb 100644
+--- a/Lib/ctypes/test/test_parameters.py
++++ b/Lib/ctypes/test/test_parameters.py
+@@ -206,6 +206,49 @@ class SimpleTypesTestCase(unittest.TestCase):
+         with self.assertRaises(ZeroDivisionError):
+             WorseStruct().__setstate__({}, b'foo')
+ 
++    def test_parameter_repr(self):
++        from ctypes import (
++            c_bool,
++            c_char,
++            c_wchar,
++            c_byte,
++            c_ubyte,
++            c_short,
++            c_ushort,
++            c_int,
++            c_uint,
++            c_long,
++            c_ulong,
++            c_longlong,
++            c_ulonglong,
++            c_float,
++            c_double,
++            c_longdouble,
++            c_char_p,
++            c_wchar_p,
++            c_void_p,
++        )
++        self.assertRegexpMatches(repr(c_bool.from_param(True)), r"^<cparam '\?' at 0x[A-Fa-f0-9]+>$")
++        self.assertEqual(repr(c_char.from_param('a')), "<cparam 'c' (a)>")
++        self.assertRegexpMatches(repr(c_wchar.from_param('a')), r"^<cparam 'u' at 0x[A-Fa-f0-9]+>$")
++        self.assertEqual(repr(c_byte.from_param(98)), "<cparam 'b' (98)>")
++        self.assertEqual(repr(c_ubyte.from_param(98)), "<cparam 'B' (98)>")
++        self.assertEqual(repr(c_short.from_param(511)), "<cparam 'h' (511)>")
++        self.assertEqual(repr(c_ushort.from_param(511)), "<cparam 'H' (511)>")
++        self.assertRegexpMatches(repr(c_int.from_param(20000)), r"^<cparam '[li]' \(20000\)>$")
++        self.assertRegexpMatches(repr(c_uint.from_param(20000)), r"^<cparam '[LI]' \(20000\)>$")
++        self.assertRegexpMatches(repr(c_long.from_param(20000)), r"^<cparam '[li]' \(20000\)>$")
++        self.assertRegexpMatches(repr(c_ulong.from_param(20000)), r"^<cparam '[LI]' \(20000\)>$")
++        self.assertRegexpMatches(repr(c_longlong.from_param(20000)), r"^<cparam '[liq]' \(20000\)>$")
++        self.assertRegexpMatches(repr(c_ulonglong.from_param(20000)), r"^<cparam '[LIQ]' \(20000\)>$")
++        self.assertEqual(repr(c_float.from_param(1.5)), "<cparam 'f' (1.5)>")
++        self.assertEqual(repr(c_double.from_param(1.5)), "<cparam 'd' (1.5)>")
++        self.assertEqual(repr(c_double.from_param(1e300)), "<cparam 'd' (1e+300)>")
++        self.assertRegexpMatches(repr(c_longdouble.from_param(1.5)), r"^<cparam ('d' \(1.5\)|'g' at 0x[A-Fa-f0-9]+)>$")
++        self.assertRegexpMatches(repr(c_char_p.from_param(b'hihi')), "^<cparam 'z' \(0x[A-Fa-f0-9]+\)>$")
++        self.assertRegexpMatches(repr(c_wchar_p.from_param('hihi')), "^<cparam 'Z' \(0x[A-Fa-f0-9]+\)>$")
++        self.assertRegexpMatches(repr(c_void_p.from_param(0x12)), r"^<cparam 'P' \(0x0*12\)>$")
++
+ ################################################################
+ 
+ if __name__ == '__main__':
+diff --git a/Misc/NEWS.d/next/Security/2021-01-18-09-27-31.bpo-42938.4Zn4Mp.rst b/Misc/NEWS.d/next/Security/2021-01-18-09-27-31.bpo-42938.4Zn4Mp.rst
+new file mode 100644
+index 0000000000..7df65a156f
+--- /dev/null
++++ b/Misc/NEWS.d/next/Security/2021-01-18-09-27-31.bpo-42938.4Zn4Mp.rst
+@@ -0,0 +1,2 @@
++Avoid static buffers when computing the repr of :class:`ctypes.c_double` and
++:class:`ctypes.c_longdouble` values.
+diff --git a/Modules/_ctypes/callproc.c b/Modules/_ctypes/callproc.c
+index 066fefc0cc..421addf353 100644
+--- a/Modules/_ctypes/callproc.c
++++ b/Modules/_ctypes/callproc.c
+@@ -460,50 +460,51 @@ PyCArg_dealloc(PyCArgObject *self)
+ static PyObject *
+ PyCArg_repr(PyCArgObject *self)
+ {
+-    char buffer[256];
+     switch(self->tag) {
+     case 'b':
+     case 'B':
+-        sprintf(buffer, "<cparam '%c' (%d)>",
++        return PyString_FromFormat("<cparam '%c' (%d)>",
+             self->tag, self->value.b);
+-        break;
+     case 'h':
+     case 'H':
+-        sprintf(buffer, "<cparam '%c' (%d)>",
++        return PyString_FromFormat("<cparam '%c' (%d)>",
+             self->tag, self->value.h);
+-        break;
+     case 'i':
+     case 'I':
+-        sprintf(buffer, "<cparam '%c' (%d)>",
++        return PyString_FromFormat("<cparam '%c' (%d)>",
+             self->tag, self->value.i);
+-        break;
+     case 'l':
+     case 'L':
+-        sprintf(buffer, "<cparam '%c' (%ld)>",
++        return PyString_FromFormat("<cparam '%c' (%ld)>",
+             self->tag, self->value.l);
+-        break;
+ 
+ #ifdef HAVE_LONG_LONG
+     case 'q':
+     case 'Q':
+-        sprintf(buffer,
++        return PyString_FromFormat(
+             "<cparam '%c' (%" PY_FORMAT_LONG_LONG "d)>",
+             self->tag, self->value.q);
+-        break;
+ #endif
+     case 'd':
+-        sprintf(buffer, "<cparam '%c' (%f)>",
+-            self->tag, self->value.d);
+-        break;
+-    case 'f':
+-        sprintf(buffer, "<cparam '%c' (%f)>",
+-            self->tag, self->value.f);
+-        break;
+-
++    case 'f': {
++        PyObject *f = PyFloat_FromDouble((self->tag == 'f') ? self->value.f : self->value.d);
++        if (f == NULL) {
++            return NULL;
++        }
++        PyObject *r = PyObject_Repr(f);
++        if (r == NULL) {
++            Py_DECREF(f);
++            return NULL;
++        }
++        PyObject *result = PyString_FromFormat(
++            "<cparam '%c' (%s)>", self->tag, PyString_AsString(r));
++        Py_DECREF(r);
++        Py_DECREF(f);
++        return result;
++    }
+     case 'c':
+-        sprintf(buffer, "<cparam '%c' (%c)>",
++        return PyString_FromFormat("<cparam '%c' (%c)>",
+             self->tag, self->value.c);
+-        break;
+ 
+ /* Hm, are these 'z' and 'Z' codes useful at all?
+    Shouldn't they be replaced by the functionality of c_string
+@@ -512,16 +513,14 @@ PyCArg_repr(PyCArgObject *self)
+     case 'z':
+     case 'Z':
+     case 'P':
+-        sprintf(buffer, "<cparam '%c' (%p)>",
++        return PyString_FromFormat("<cparam '%c' (%p)>",
+             self->tag, self->value.p);
+         break;
+ 
+     default:
+-        sprintf(buffer, "<cparam '%c' at %p>",
++        return PyString_FromFormat("<cparam '%c' at %p>",
+             self->tag, self);
+-        break;
+     }
+-    return PyString_FromString(buffer);
+ }
+ 
+ static PyMemberDef PyCArgType_members[] = {
+-- 
+cgit v1.2.3
+
diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/interpreters/python/cpython/2.7/default.nix
index 85af394e3f65f..37d43e33d8e51 100644
--- a/pkgs/development/interpreters/python/cpython/2.7/default.nix
+++ b/pkgs/development/interpreters/python/cpython/2.7/default.nix
@@ -103,6 +103,9 @@ let
 
       # Patch is likely to go away in the next release (if there is any)
       ./CVE-2019-20907.patch
+
+      ./CVE-2021-3177.patch
+
     ] ++ optionals (x11Support && stdenv.isDarwin) [
       ./use-correct-tcl-tk-on-darwin.patch
     ] ++ optionals stdenv.isLinux [
diff --git a/pkgs/development/interpreters/python/cpython/3.7/find_library.patch b/pkgs/development/interpreters/python/cpython/3.6/find_library.patch
index 97fb66662d030..97fb66662d030 100644
--- a/pkgs/development/interpreters/python/cpython/3.7/find_library.patch
+++ b/pkgs/development/interpreters/python/cpython/3.6/find_library.patch
diff --git a/pkgs/development/interpreters/python/cpython/3.7/no-ldconfig.patch b/pkgs/development/interpreters/python/cpython/3.7/no-ldconfig.patch
index a1f9d68eb1663..4324fc5ea61fc 100644
--- a/pkgs/development/interpreters/python/cpython/3.7/no-ldconfig.patch
+++ b/pkgs/development/interpreters/python/cpython/3.7/no-ldconfig.patch
@@ -1,18 +1,18 @@
-From 597e73f2a4b2f0b508127931b36d5540d6941823 Mon Sep 17 00:00:00 2001
+From ba458f33f335b217d078fdce56e9c6f9f93adb49 Mon Sep 17 00:00:00 2001
 From: Frederik Rietdijk <fridh@fridh.nl>
 Date: Mon, 28 Aug 2017 09:24:06 +0200
 Subject: [PATCH] Don't use ldconfig
 
 ---
- Lib/ctypes/util.py | 70 ++----------------------------------------------------
- 1 file changed, 2 insertions(+), 68 deletions(-)
+ Lib/ctypes/util.py | 78 ++--------------------------------------------
+ 1 file changed, 2 insertions(+), 76 deletions(-)
 
 diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py
-index 5e8b31a854..7b45ce6c15 100644
+index 0c2510e..79635a8 100644
 --- a/Lib/ctypes/util.py
 +++ b/Lib/ctypes/util.py
-@@ -94,46 +94,7 @@ elif os.name == "posix":
-     import re, tempfile
+@@ -100,54 +100,7 @@ elif os.name == "posix":
+             return thefile.read(4) == elf_header
  
      def _findLib_gcc(name):
 -        # Run GCC's linker with the -t (aka --trace) option and examine the
@@ -51,15 +51,23 @@ index 5e8b31a854..7b45ce6c15 100644
 -                # Raised if the file was already removed, which is the normal
 -                # behaviour of GCC if linking fails
 -                pass
--        res = re.search(expr, trace)
+-        res = re.findall(expr, trace)
 -        if not res:
 -            return None
--        return os.fsdecode(res.group(0))
+-
+-        for file in res:
+-            # Check if the given file is an elf file: gcc can report
+-            # some files that are linker scripts and not actual
+-            # shared objects. See bpo-41976 for more details
+-            if not _is_elf(file):
+-                continue
+-            return os.fsdecode(file)
+-
 +        return None
  
- 
      if sys.platform == "sunos5":
-@@ -255,34 +216,7 @@ elif os.name == "posix":
+         # use /usr/ccs/bin/dump on solaris
+@@ -268,34 +221,7 @@ elif os.name == "posix":
      else:
  
          def _findSoname_ldconfig(name):
@@ -96,5 +104,5 @@ index 5e8b31a854..7b45ce6c15 100644
          def _findLib_ld(name):
              # See issue #9998 for why this is needed
 -- 
-2.15.0
+2.30.0
 
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index 7bc6084f61ddf..1ae8d19ac58e6 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -222,9 +222,9 @@ in with passthru; stdenv.mkDerivation {
       else
         ./3.7/fix-finding-headers-when-cross-compiling.patch
     )
-  ] ++ optionals (isPy36 || isPy37) [
+  ] ++ optionals (isPy36) [
     # Backport a fix for ctypes.util.find_library.
-    ./3.7/find_library.patch
+    ./3.6/find_library.patch
   ];
 
   postPatch = ''
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index 1133ad2009a2b..c212e37a484b5 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -128,10 +128,10 @@ in {
     sourceVersion = {
       major = "3";
       minor = "6";
-      patch = "12";
+      patch = "13";
       suffix = "";
     };
-    sha256 = "cJU6m11okdkuZdGEw1EhJqFYFL7hXh7/LdzOBDNOmpk=";
+    sha256 = "pHpDpTq7QihqLBGWU0P/VnEbnmTo0RvyxnAaT7jOGg8=";
     inherit (darwin) configd;
     inherit passthruFun;
   };
@@ -141,10 +141,10 @@ in {
     sourceVersion = {
       major = "3";
       minor = "7";
-      patch = "9";
+      patch = "10";
       suffix = "";
     };
-    sha256 = "008v6g1jkrjrdmiqlgjlq6msbbj848bvkws6ppwva1ahn03k14li";
+    sha256 = "+NgudXLIbsnVXIYnquUEAST9IgOvQAw4PIIbmAMG7ms=";
     inherit (darwin) configd;
     inherit passthruFun;
   };
@@ -154,10 +154,10 @@ in {
     sourceVersion = {
       major = "3";
       minor = "8";
-      patch = "7";
+      patch = "8";
       suffix = "";
     };
-    sha256 = "sha256-3cwd8Wu1uHqkLsXSCluQLy0IjKommyjgFZD5enmOxQo=";
+    sha256 = "fGZCSf935EPW6g5M8OWH6ukYyjxI0IHRkV/iofG8xcw=";
     inherit (darwin) configd;
     inherit passthruFun;
   };
@@ -167,10 +167,10 @@ in {
     sourceVersion = {
       major = "3";
       minor = "9";
-      patch = "1";
+      patch = "2";
       suffix = "";
     };
-    sha256 = "1zq3k4ymify5ig739zyvx9s2ainvchxb1zpy139z74krr653y74r";
+    sha256 = "PCA0xU+BFEj1FmaNzgnSQAigcWw6eU3YY5tTiMveJH0=";
     inherit (darwin) configd;
     inherit passthruFun;
   };
@@ -181,9 +181,9 @@ in {
       major = "3";
       minor = "10";
       patch = "0";
-      suffix = "a4";
+      suffix = "a5";
     };
-    sha256 = "sha256-McHBl7IZuOH96je/izkxur0Edirn+igVkQU/pbek73M=";
+    sha256 = "BBjlfnA24hnx5rYwOyHnEfZM/Q/dsIlNjxnzev/8XU0=";
     inherit (darwin) configd;
     inherit passthruFun;
   };
@@ -191,6 +191,7 @@ in {
   # Minimal versions of Python (built without optional dependencies)
   python3Minimal = (python38.override {
     self = python3Minimal;
+    pythonAttr = "python3Minimal";
     # strip down that python version as much as possible
     openssl = null;
     readline = null;
@@ -218,9 +219,9 @@ in {
     sourceVersion = {
       major = "7";
       minor = "3";
-      patch = "1";
+      patch = "2";
     };
-    sha256 = "08ckkhd0ix6j9873a7gr507c72d4cmnv5lwvprlljdca9i8p2dzs";
+    sha256 = "1l98b7s9sf16a5w8y0fdn7a489l3gpykjasws1j67bahhc6li2c1";
     pythonVersion = "2.7";
     db = db.override { dbmSupport = !stdenv.isDarwin; };
     python = python27;
@@ -234,9 +235,9 @@ in {
     sourceVersion = {
       major = "7";
       minor = "3";
-      patch = "1";
+      patch = "2";
     };
-    sha256 = "10zsk8jby8j6visk5mzikpb1cidvz27qq4pfpa26jv53klic6b0c";
+    sha256 = "03f1fdw6yk2mypa9pbmgk26r8y1hhmw801l6g36zry9zsvz7aqgx";
     pythonVersion = "3.6";
     db = db.override { dbmSupport = !stdenv.isDarwin; };
     python = python27;
@@ -251,9 +252,9 @@ in {
     sourceVersion = {
       major = "7";
       minor = "3";
-      patch = "1";
+      patch = "2";
     };
-    sha256 = "18xc5kwidj5hjwbr0w8v1nfpg5l4lk01z8cn804zfyyz8xjqhx5y"; # linux64
+    sha256 = "0fx1kp13cgx3rijd0zf8rdjbai6mfhc9is4xfc7kl5cpd88hhkwd"; # linux64
     pythonVersion = "2.7";
     inherit passthruFun;
   };
@@ -264,9 +265,9 @@ in {
     sourceVersion = {
       major = "7";
       minor = "3";
-      patch = "1";
+      patch = "2";
     };
-    sha256 = "04nv0mkalaliphbjw7y0pmb372bxwjzwmcsqkf9kwsik99kg2z7n"; # linux64
+    sha256 = "10xdx7q04fzy4v4rbj9bbdw8g9y68qgaih7z2n0s5aknj0bizafp"; # linux64
     pythonVersion = "3.6";
     inherit passthruFun;
   };
diff --git a/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh b/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh
index c2079fa84f901..eb45205ff731f 100644
--- a/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh
+++ b/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh
@@ -2,7 +2,7 @@
 echo "Sourcing pytest-check-hook"
 
 declare -ar disabledTests
-declare -ar disabledTestFiles
+declare -ar disabledTestPaths
 
 function _concatSep {
     local result
@@ -37,12 +37,12 @@ function pytestCheckPhase() {
         disabledTestsString=$(_pytestComputeDisabledTestsString "${disabledTests[@]}")
       args+=" -k \""$disabledTestsString"\""
     fi
-    for file in "${disabledTestFiles[@]}"; do
-      if [ ! -f "$file" ]; then
-        echo "Disabled test file \"$file\" does not exist. Aborting"
+    for path in ${disabledTestPaths[@]}; do
+      if [ ! -e "$path" ]; then
+        echo "Disabled tests path \"$path\" does not exist. Aborting"
         exit 1
       fi
-      args+=" --ignore=$file"
+      args+=" --ignore=\"$path\""
     done
     args+=" ${pytestFlagsArray[@]}"
     eval "@pythonCheckInterpreter@ $args"
diff --git a/pkgs/development/interpreters/python/pypy/default.nix b/pkgs/development/interpreters/python/pypy/default.nix
index cfa1ac71891c0..b4e9343b5d4a8 100644
--- a/pkgs/development/interpreters/python/pypy/default.nix
+++ b/pkgs/development/interpreters/python/pypy/default.nix
@@ -45,7 +45,7 @@ in with passthru; stdenv.mkDerivation rec {
   inherit pname version;
 
   src = fetchurl {
-    url = "https://bitbucket.org/pypy/pypy/downloads/pypy${pythonVersion}-v${version}-src.tar.bz2";
+    url = "https://downloads.python.org/pypy/pypy${pythonVersion}-v${version}-src.tar.bz2";
     inherit sha256;
   };
 
diff --git a/pkgs/development/interpreters/python/pypy/prebuilt.nix b/pkgs/development/interpreters/python/pypy/prebuilt.nix
index 6fd0ee2e925f5..460af1cc67b4f 100644
--- a/pkgs/development/interpreters/python/pypy/prebuilt.nix
+++ b/pkgs/development/interpreters/python/pypy/prebuilt.nix
@@ -1,4 +1,5 @@
-{ stdenv
+{ lib
+, stdenv
 , fetchurl
 , python-setup-hook
 , self
@@ -31,9 +32,15 @@ let
     implementation = "pypy";
     libPrefix = "pypy${pythonVersion}";
     executable = "pypy${if isPy3k then "3" else ""}";
-    pythonForBuild = self; # Not possible to cross-compile with.
     sitePackages = "site-packages";
     hasDistutilsCxxPatch = false;
+
+    # Not possible to cross-compile with.
+    pythonOnBuildForBuild = throw "${pname} does not support cross compilation";
+    pythonOnBuildForHost = self;
+    pythonOnBuildForTarget = throw "${pname} does not support cross compilation";
+    pythonOnHostForHost = throw "${pname} does not support cross compilation";
+    pythonOnTargetForTarget = throw "${pname} does not support cross compilation";
   };
   pname = "${passthru.executable}_prebuilt";
   version = with sourceVersion; "${major}.${minor}.${patch}";
@@ -54,7 +61,7 @@ in with passthru; stdenv.mkDerivation {
   inherit pname version;
 
   src = fetchurl {
-    url = "https://bitbucket.org/pypy/pypy/downloads/pypy${pythonVersion}-v${version}-linux64.tar.bz2";
+    url = "https://downloads.python.org/pypy/pypy${pythonVersion}-v${version}-linux64.tar.bz2";
     inherit sha256;
   };
 
diff --git a/pkgs/development/interpreters/python/pypy/tk_tcl_paths.patch b/pkgs/development/interpreters/python/pypy/tk_tcl_paths.patch
index 0b78caf7e075c..15d03830e07eb 100644
--- a/pkgs/development/interpreters/python/pypy/tk_tcl_paths.patch
+++ b/pkgs/development/interpreters/python/pypy/tk_tcl_paths.patch
@@ -1,13 +1,14 @@
---- pypy-pypy-84a2f3e6a7f8.org/lib_pypy/_tkinter/tklib_build.py	2017-10-03 11:49:20.000000000 +0100
-+++ pypy-pypy-84a2f3e6a7f8/lib_pypy/_tkinter/tklib_build.py	2017-11-21 13:20:51.398607530 +0000
-@@ -17,18 +17,14 @@
+--- a/lib_pypy/_tkinter/tklib_build.py
++++ b/lib_pypy/_tkinter/tklib_build.py
+@@ -17,19 +17,14 @@ elif sys.platform == 'win32':
      incdirs = []
      linklibs = ['tcl85', 'tk85']
      libdirs = []
 -elif sys.platform == 'darwin':
--    incdirs = ['/System/Library/Frameworks/Tk.framework/Versions/Current/Headers/']
--    linklibs = ['tcl', 'tk']
--    libdirs = []
+-    # homebrew
+-    incdirs = ['/usr/local/opt/tcl-tk/include']
+-    linklibs = ['tcl8.6', 'tk8.6']
+-    libdirs = ['/usr/local/opt/tcl-tk/lib']
  else:
      # On some Linux distributions, the tcl and tk libraries are
      # stored in /usr/include, so we must check this case also
diff --git a/pkgs/development/interpreters/python/tests.nix b/pkgs/development/interpreters/python/tests.nix
index 61fc497024be1..cfba04da9380e 100644
--- a/pkgs/development/interpreters/python/tests.nix
+++ b/pkgs/development/interpreters/python/tests.nix
@@ -1,3 +1,10 @@
+# Tests for the Python interpreters, package sets and environments.
+#
+# Each Python interpreter has a `passthru.tests` which is the attribute set
+# returned by this function. For example, for Python 3 the tests are run with
+#
+# $ nix-build -A python3.tests
+#
 { stdenv
 , python
 , runCommand
@@ -7,6 +14,8 @@
 }:
 
 let
+  # Test whether the interpreter behaves in the different types of environments
+  # we aim to support.
   environmentTests = let
     envs = let
       inherit python;
@@ -83,6 +92,7 @@ let
 
   in lib.mapAttrs testfun envs;
 
+  # Integration tests involving the package set.
   # All PyPy package builds are broken at the moment
   integrationTests = lib.optionalAttrs (python.pythonAtLeast "3.7"  && (!python.isPyPy)) rec {
     # Before the addition of NIX_PYTHONPREFIX mypy was broken with typed packages
@@ -91,6 +101,24 @@ let
     };
   };
 
+  # Tests to ensure overriding works as expected.
+  overrideTests = let
+    extension = self: super: {
+      foobar = super.numpy;
+    };
+  in {
+    test-packageOverrides = let
+      myPython = let
+        self = python.override {
+          packageOverrides = extension;
+          inherit self;
+        };
+      in self;
+    in assert myPython.pkgs.foobar == myPython.pkgs.numpy; myPython.withPackages(ps: with ps; [ foobar ]);
+    # overrideScope is broken currently
+    # test-overrideScope = let
+    #  myPackages = python.pkgs.overrideScope extension;
+    # in assert myPackages.foobar == myPackages.numpy; myPackages.python.withPackages(ps: with ps; [ foobar ]);
+  };
 
-
-in lib.optionalAttrs (stdenv.hostPlatform == stdenv.buildPlatform ) (environmentTests // integrationTests)
+in lib.optionalAttrs (stdenv.hostPlatform == stdenv.buildPlatform ) (environmentTests // integrationTests // overrideTests)
diff --git a/pkgs/development/interpreters/quickjs/default.nix b/pkgs/development/interpreters/quickjs/default.nix
index 23fe1dc780080..ac70a50eaa728 100644
--- a/pkgs/development/interpreters/quickjs/default.nix
+++ b/pkgs/development/interpreters/quickjs/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "quickjs";
-  version = "2019-12-21";
+  version = "2020-11-08";
 
   src = fetchurl {
     url = "https://bellard.org/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "13hlx6qwrrxmlvvqcr3irxba6zmf05cf54l32vj50wc66s1qd41p";
+    sha256 = "0yqqcjxi3cqagw184mqrxpvqg486x7c233r3cp9mxachngd6779f";
   };
 
   makeFlags = [ "prefix=${placeholder "out"}" ];
@@ -19,7 +19,6 @@ stdenv.mkDerivation rec {
     # Programs exit with code 1 when testing help, so grep for a string
     set +o pipefail
     qjs     --help 2>&1 | grep "QuickJS version"
-    qjsbn   --help 2>&1 | grep "QuickJS version"
     qjscalc --help 2>&1 | grep "QuickJS version"
     set -o pipefail
 
@@ -27,9 +26,7 @@ stdenv.mkDerivation rec {
     echo "console.log('Output from compiled program');" > "$temp"
     set -o verbose
     out=$(mktemp) && qjsc         "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
-    out=$(mktemp) && qjsbnc       "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
     out=$(mktemp) && qjsc   -flto "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
-    out=$(mktemp) && qjsbnc -flto "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index 8d33962f914cf..48be64aa0b8d2 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -8,6 +8,7 @@
 , libGL
 , libGLU
 , libjpeg
+, ncurses
 , libpng, libtool, mpfr, openssl, pango, poppler
 , readline, sqlite
 , disableDocs ? false
@@ -46,7 +47,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "racket";
-  version = "7.9"; # always change at once with ./minimal.nix
+  version = "8.0"; # always change at once with ./minimal.nix
 
   src = (lib.makeOverridable ({ name, sha256 }:
     fetchurl {
@@ -55,7 +56,7 @@ stdenv.mkDerivation rec {
     }
   )) {
     name = "${pname}-${version}";
-    sha256 = "0gmp2ahmfd97nn9bwpfx9lznjmjkd042slnrrbdmyh59cqh98y2m";
+    sha256 = "0lqqpa88v0br93qw7450a4blyi3pwn7sq2k04h0ikbsqrdnfj7lj";
   };
 
   FONTCONFIG_FILE = fontsConf;
@@ -68,12 +69,17 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cacert wrapGAppsHook ];
 
   buildInputs = [ fontconfig libffi libtool sqlite gsettings-desktop-schemas gtk3 ]
-    ++ lib.optionals stdenv.isDarwin [ libiconv CoreFoundation ];
+    ++ lib.optionals stdenv.isDarwin [ libiconv CoreFoundation ncurses ];
 
   preConfigure = ''
     unset AR
-    for f in src/lt/configure src/cs/c/configure src/bc/src/string.c; do
-      substituteInPlace "$f" --replace /usr/bin/uname ${coreutils}/bin/uname
+    for f in src/lt/configure src/cs/c/configure src/bc/src/string.c src/ChezScheme/workarea; do
+      substituteInPlace "$f" \
+        --replace /usr/bin/uname ${coreutils}/bin/uname \
+        --replace /bin/cp ${coreutils}/bin/cp \
+        --replace /bin/ln ${coreutils}/bin/ln \
+        --replace /bin/rm ${coreutils}/bin/rm \
+        --replace /bin/true ${coreutils}/bin/true
     done
     mkdir src/build
     cd src/build
diff --git a/pkgs/development/interpreters/racket/minimal.nix b/pkgs/development/interpreters/racket/minimal.nix
index 9fd220e5b98f8..c954b4f05ea46 100644
--- a/pkgs/development/interpreters/racket/minimal.nix
+++ b/pkgs/development/interpreters/racket/minimal.nix
@@ -5,7 +5,7 @@ racket.overrideAttrs (oldAttrs: rec {
   name = "racket-minimal-${oldAttrs.version}";
   src = oldAttrs.src.override {
     inherit name;
-    sha256 = "0yc5zkpq1bavj64h67pllw6mfjhmdp65fgdpyqcaan3syy6b5cia";
+    sha256 = "0qvfi6rg9cwzh716q5j7m30rqq9xysi6zsalqlpdqrzhnx8y54k0";
   };
 
   meta = oldAttrs.meta // {
diff --git a/pkgs/development/interpreters/rakudo/zef.nix b/pkgs/development/interpreters/rakudo/zef.nix
index 860ffc0aea0ab..42e82cd3a51be 100644
--- a/pkgs/development/interpreters/rakudo/zef.nix
+++ b/pkgs/development/interpreters/rakudo/zef.nix
@@ -2,16 +2,17 @@
 
 stdenv.mkDerivation rec {
   pname = "zef";
-  version = "0.9.4";
+  version = "0.11.4";
 
   src = fetchFromGitHub {
     owner = "ugexe";
     repo = "zef";
     rev = "v${version}";
-    sha256 = "0h3lbznzxqmsv2816vr6y244sfdchj13yhbav86zy2m79p8b5lgq";
+    sha256 = "sha256-wccVMEUAfTWs/8hnrT7nrxfYPHyNl+lXt+KUDkyplto=";
   };
 
-  buildInputs = [ rakudo makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ rakudo ];
 
   installPhase = ''
     mkdir -p "$out"
diff --git a/pkgs/development/interpreters/rascal/default.nix b/pkgs/development/interpreters/rascal/default.nix
index cd2b74db05207..8b49a743b4a90 100644
--- a/pkgs/development/interpreters/rascal/default.nix
+++ b/pkgs/development/interpreters/rascal/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "1z4mwdbdc3r24haljnxng8znlfg2ihm9bf9zq8apd9a32ipcw4i6";
   };
 
-  buildInputs = [ makeWrapper jdk ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jdk ];
 
   dontUnpack = true;
 
diff --git a/pkgs/development/interpreters/rebol/default.nix b/pkgs/development/interpreters/rebol/default.nix
deleted file mode 100644
index 39a4108e041d3..0000000000000
--- a/pkgs/development/interpreters/rebol/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, fetchFromGitHub, fetchurl, glibc, libX11, libXt, perl }:
-
-stdenv.mkDerivation rec {
-  pname = "rebol-nightly";
-  version = "3-alpha";
-  src = fetchFromGitHub {
-    rev = "bd45d0de512ff5953e098301c3d610f6024515d6";
-    owner = "earl";
-    repo = "r3";
-    sha256 = "0pirn6936rxi894xxdvj7xdwlwmmxq2wz36jyjnj26667v2n543c";
-  };
-
-  r3 = fetchurl {
-    url = "http://rebolsource.net/downloads/experimental/r3-linux-x64-gbf237fc";
-    sha256 = "0cm86kn4lcbvyy6pqg67x53y0wz353y0vg7pfqv65agxj1ynxnrx";
-    name = "r3";
-  };
-
-  buildInputs = [ glibc libX11 libXt perl ];
-
-  configurePhase = ''
-    cp ${r3} make/r3-make
-    chmod 777 make/r3-make
-    patchelf  --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ./make/r3-make
-    cd make
-    perl -pi -e 's#-m32##g' makefile
-    perl -pi -e 's#sudo .*#echo#g' makefile
-    make prep
-  '';
-  buildPhase = ''
-    make
-    mkdir -p $out/bin
-    cp r3 $out/bin
-  '';
-
-  meta = with lib; {
-    description = "Relative expression based object language, a language where code is data";
-    maintainers = with maintainers; [ vrthra ];
-    platforms = [ "x86_64-linux" ];
-    license = licenses.asl20;
-    homepage = "http://www.rebol.com/";
-  };
-}
diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix
index 2678188e8cf70..65189fda07934 100644
--- a/pkgs/development/interpreters/ruby/default.nix
+++ b/pkgs/development/interpreters/ruby/default.nix
@@ -1,6 +1,6 @@
 { stdenv, buildPackages, lib
 , fetchurl, fetchpatch, fetchFromSavannah, fetchFromGitHub
-, zlib, openssl, gdbm, ncurses, readline, groff, libyaml, libffi, autoreconfHook, bison
+, zlib, openssl, gdbm, ncurses, readline, groff, libyaml, libffi, jemalloc, autoreconfHook, bison
 , autoconf, libiconv, libobjc, libunwind, Foundation
 , buildEnv, bundler, bundix
 , makeWrapper, buildRubyGem, defaultGemConfig, removeReferencesTo
@@ -44,6 +44,7 @@ let
       , groff, docSupport ? true
       , libyaml, yamlSupport ? true
       , libffi, fiddleSupport ? true
+      , jemalloc, jemallocSupport ? false
       # By default, ruby has 3 observed references to stdenv.cc:
       #
       # - If you run:
@@ -94,6 +95,7 @@ let
           ++ (op opensslSupport openssl)
           ++ (op gdbmSupport gdbm)
           ++ (op yamlSupport libyaml)
+          ++ (op jemallocSupport jemalloc)
           # Looks like ruby fails to build on darwin without readline even if curses
           # support is not enabled, so add readline to the build inputs if curses
           # support is disabled (if it's enabled, we already have it) and we're
@@ -134,6 +136,7 @@ let
           ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby"
           ++ op (!jitSupport) "--disable-jit-support"
           ++ op (!docSupport) "--disable-install-doc"
+          ++ op (jemallocSupport) "--with-jemalloc"
           ++ ops stdenv.isDarwin [
             # on darwin, we have /usr/include/tk.h -- so the configure script detects
             # that tk is installed
@@ -243,14 +246,6 @@ let
     ) args; in self;
 
 in {
-  ruby_2_5 = generic {
-    version = rubyVersion "2" "5" "8" "";
-    sha256 = {
-      src = "16md4jspjwixjlbhx3pnd5iwpca07p23ghkxkqd82sbchw3xy2vc";
-      git = "19gkk3q9l33cwkfsp5k8f8fipq7gkyqkqirm9farbvy425519rv2";
-    };
-  };
-
   ruby_2_6 = generic {
     version = rubyVersion "2" "6" "6" "";
     sha256 = {
diff --git a/pkgs/development/interpreters/scheme48/default.nix b/pkgs/development/interpreters/scheme48/default.nix
index ca34d5055c561..883b0b2f39aae 100644
--- a/pkgs/development/interpreters/scheme48/default.nix
+++ b/pkgs/development/interpreters/scheme48/default.nix
@@ -1,17 +1,24 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "scheme48-1.9.2";
-
-  meta = {
-    homepage = "http://s48.org/";
-    description = "Scheme 48";
-    platforms = with lib.platforms; unix;
-    license = lib.licenses.bsd3;
-  };
+stdenv.mkDerivation rec {
+  pname = "scheme48";
+  version = "1.9.2";
 
   src = fetchurl {
-    url = "http://s48.org/1.9.2/scheme48-1.9.2.tgz";
+    url = "http://s48.org/${version}/scheme48-${version}.tgz";
     sha256 = "1x4xfm3lyz2piqcw1h01vbs1iq89zq7wrsfjgh3fxnlm1slj2jcw";
   };
+
+  # Make more reproducible by removing build user and date.
+  postPatch = ''
+    substituteInPlace build/build-usual-image --replace '"(made by $USER on $date)"' '""'
+  '';
+
+  meta = with lib; {
+    homepage = "http://s48.org/";
+    description = "Scheme 48 interpreter for R5RS";
+    platforms = platforms.unix;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.siraben ];
+  };
 }
diff --git a/pkgs/development/interpreters/spidermonkey/78.nix b/pkgs/development/interpreters/spidermonkey/78.nix
index 81ebcedf7bc05..e04069f6aecc1 100644
--- a/pkgs/development/interpreters/spidermonkey/78.nix
+++ b/pkgs/development/interpreters/spidermonkey/78.nix
@@ -15,7 +15,7 @@
 , rustc
 , rust-cbindgen
 , yasm
-, llvmPackages
+, llvmPackages_11
 , nspr
 }:
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     autoconf213
     cargo
-    llvmPackages.llvm # for llvm-objdump
+    llvmPackages_11.llvm # for llvm-objdump
     perl
     pkg-config
     python3
diff --git a/pkgs/development/interpreters/supercollider/default.nix b/pkgs/development/interpreters/supercollider/default.nix
index f80e18c7bb96d..a1612680b2563 100644
--- a/pkgs/development/interpreters/supercollider/default.nix
+++ b/pkgs/development/interpreters/supercollider/default.nix
@@ -31,6 +31,8 @@ stdenv.mkDerivation rec {
       ++ optional (!stdenv.isDarwin) alsaLib
       ++ optional useSCEL emacs;
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "Programming language for real time audio synthesis";
     homepage = "https://supercollider.github.io";
diff --git a/pkgs/development/interpreters/tcl/8.6.nix b/pkgs/development/interpreters/tcl/8.6.nix
index d76ceb3421de4..37a7fee8a859e 100644
--- a/pkgs/development/interpreters/tcl/8.6.nix
+++ b/pkgs/development/interpreters/tcl/8.6.nix
@@ -2,10 +2,10 @@
 
 callPackage ./generic.nix (args // rec {
   release = "8.6";
-  version = "${release}.9";
+  version = "${release}.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/tcl/tcl${version}-src.tar.gz";
-    sha256 = "0kjzj7mkzfnb7ksxanbibibfpciyvsh5ffdlhs0bmfc75kgd435d";
+    sha256 = "0n4211j80mxr6ql0xx52rig8r885rcbminfpjdb2qrw6hmk8c14c";
   };
 })
diff --git a/pkgs/development/interpreters/wasmer/default.nix b/pkgs/development/interpreters/wasmer/default.nix
index 60ce4d89f19cd..91e13ed32cd9e 100644
--- a/pkgs/development/interpreters/wasmer/default.nix
+++ b/pkgs/development/interpreters/wasmer/default.nix
@@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec {
   # using the [makefile](https://github.com/wasmerio/wasmer/blob/master/Makefile).
   # Enabling cranelift as this used to be the old default. At least one backend is
   # needed for the run subcommand to work.
-  cargoBuildFlags = [ "--features 'backend-cranelift'" ];
+  cargoBuildFlags = [ "--features" "backend-cranelift" ];
 
   LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
 
diff --git a/pkgs/development/java-modules/junit/default.nix b/pkgs/development/java-modules/junit/default.nix
index 2cb9ab001c29b..79f73879e6b91 100644
--- a/pkgs/development/java-modules/junit/default.nix
+++ b/pkgs/development/java-modules/junit/default.nix
@@ -1,12 +1,17 @@
-{ lib, pkgs, mavenbuild, fetchMaven }:
+{ lib, pkgs, mavenbuild, fetchMaven, maven, jdk8 }:
 
 with pkgs.javaPackages;
 
 let
   poms = import (../poms.nix) { inherit fetchMaven; };
   collections = import (../collections.nix) { inherit pkgs; };
+  mavenbuild-jdk8 = mavenbuild.override {
+    maven = maven.override {
+      jdk = jdk8;
+    };
+  };
 in rec {
-  junitGen = { mavenDeps, sha512, version }: mavenbuild {
+  junitGen = { mavenDeps, sha512, version }: mavenbuild-jdk8 {
     inherit mavenDeps sha512 version;
 
     name = "junit-${version}";
diff --git a/pkgs/development/java-modules/maven-hello/default.nix b/pkgs/development/java-modules/maven-hello/default.nix
index eac127b6dccc7..96d0031270b8e 100644
--- a/pkgs/development/java-modules/maven-hello/default.nix
+++ b/pkgs/development/java-modules/maven-hello/default.nix
@@ -1,11 +1,21 @@
-{ lib, pkgs, mavenbuild }:
+{ lib
+, pkgs
+, mavenbuild
+, maven
+, jdk8
+}:
 
 with pkgs.javaPackages;
 
 let
   poms = import ../poms.nix { inherit fetchMaven; };
+  mavenbuild-jdk8 = mavenbuild.override {
+    maven = maven.override {
+      jdk = jdk8;
+    };
+  };
 in rec {
-  mavenHelloRec = { mavenDeps, sha512, version, skipTests ? true, quiet ? true }: mavenbuild {
+  mavenHelloRec = { mavenDeps, mavenbuild, sha512, version, skipTests ? true, quiet ? true }: mavenbuild {
     inherit mavenDeps sha512 version skipTests quiet;
 
     name = "maven-hello-${version}";
@@ -31,6 +41,7 @@ in rec {
     mavenDeps = [];
     sha512 = "3kv5z1i02wfb0l5x3phbsk3qb3wky05sqn4v3y4cx56slqfp9z8j76vnh8v45ydgskwl2vs9xjx6ai8991mzb5ikvl3vdgmrj1j17p2";
     version = "1.0";
+    mavenbuild = mavenbuild-jdk8;
   };
 
   mavenHello_1_1 = mavenHelloRec {
@@ -39,5 +50,6 @@ in rec {
     version = "1.1";
     skipTests = false;
     quiet = false;
+    mavenbuild = mavenbuild-jdk8;
   };
 }
diff --git a/pkgs/development/libraries/abseil-cpp/default.nix b/pkgs/development/libraries/abseil-cpp/default.nix
index 95d1b873edd3d..f724c2e0acf15 100644
--- a/pkgs/development/libraries/abseil-cpp/default.nix
+++ b/pkgs/development/libraries/abseil-cpp/default.nix
@@ -2,15 +2,19 @@
 
 stdenv.mkDerivation rec {
   pname = "abseil-cpp";
-  version = "20200225.2";
+  version = "20200923.3";
 
   src = fetchFromGitHub {
     owner = "abseil";
     repo = "abseil-cpp";
     rev = version;
-    sha256 = "0dwxg54pv6ihphbia0iw65r64whd7v8nm4wwhcz219642cgpv54y";
+    sha256 = "1p4djhm1f011ficbjjxx3n8428p8481p20j4glpaawnpsi362hkl";
   };
 
+  cmakeFlags = [
+    "-DCMAKE_CXX_STANDARD=17"
+  ];
+
   nativeBuildInputs = [ cmake ];
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/agda/agda-categories/default.nix b/pkgs/development/libraries/agda/agda-categories/default.nix
index fb6cc7279671f..1aca24ac8ea55 100644
--- a/pkgs/development/libraries/agda/agda-categories/default.nix
+++ b/pkgs/development/libraries/agda/agda-categories/default.nix
@@ -1,14 +1,14 @@
 { lib, mkDerivation, fetchFromGitHub, standard-library }:
 
 mkDerivation rec {
-  version = "0.1.4";
+  version = "0.1.5";
   pname = "agda-categories";
 
   src = fetchFromGitHub {
     owner = "agda";
     repo = "agda-categories";
     rev = "v${version}";
-    sha256 = "1bcvmxcnl1ig38fxqkx8ydidhxq6a0kn2k9waf0lygh4ap928sgk";
+    sha256 = "1b5gj0r2z5fhh7k8b9s2kx4rjv8gi5y8ijgrbcvsa06n3acap3lm";
   };
 
   buildInputs = [ standard-library ];
diff --git a/pkgs/development/libraries/agda/functional-linear-algebra/default.nix b/pkgs/development/libraries/agda/functional-linear-algebra/default.nix
index ce4deb5b51909..15603f293b4f4 100644
--- a/pkgs/development/libraries/agda/functional-linear-algebra/default.nix
+++ b/pkgs/development/libraries/agda/functional-linear-algebra/default.nix
@@ -1,7 +1,7 @@
 { fetchFromGitHub, lib, mkDerivation, standard-library }:
 
 mkDerivation rec {
-  version = "0.1";
+  version = "0.2";
   pname = "functional-linear-algebra";
 
   buildInputs = [ standard-library ];
@@ -10,9 +10,13 @@ mkDerivation rec {
     repo = "functional-linear-algebra";
     owner = "ryanorendorff";
     rev = "v${version}";
-    sha256 = "09ri3jmgp9jjwi1mzv4c3w6rvcmyx6spa2qxpwlcn0f4bmfva6wm";
+    sha256 = "1dz7kh92df23scl1pkhn70n1f2v3d0x84liphn9kpsd6wlsxccxc";
   };
 
+  preConfigure = ''
+    sh generate-everything.sh
+  '';
+
   meta = with lib; {
     homepage = "https://github.com/ryanorendorff/functional-linear-algebra";
     description = ''
diff --git a/pkgs/development/libraries/agda/generic/default.nix b/pkgs/development/libraries/agda/generic/default.nix
index 08a1d8e12e031..ab20312142605 100644
--- a/pkgs/development/libraries/agda/generic/default.nix
+++ b/pkgs/development/libraries/agda/generic/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "generic";
-  version = "0.1.0.1";
+  version = "0.1.0.2";
 
   src = fetchFromGitHub {
-    repo = "Generic";
     owner = "effectfully";
+    repo = "Generic";
     rev = "v${version}";
-    sha256 = "07l44yzx1jly20kmkmkjk8q493bn6x7i3xxpz6mhadkqlxyhmc8s";
+    sha256 = "05igsd2gaj6h9bkqwp8llhvn4qvc5gmi03x4fnz096ba8m6x8s3n";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/agda/standard-library/default.nix b/pkgs/development/libraries/agda/standard-library/default.nix
index c0b0287d89721..4bd5de8bd48d1 100644
--- a/pkgs/development/libraries/agda/standard-library/default.nix
+++ b/pkgs/development/libraries/agda/standard-library/default.nix
@@ -2,18 +2,21 @@
 
 mkDerivation rec {
   pname = "standard-library";
-  version = "1.4";
+  version = "1.5";
 
   src = fetchFromGitHub {
     repo = "agda-stdlib";
     owner = "agda";
     rev = "v${version}";
-    sha256 = "1asjbisb7pfkgzqy7gf9b23z63bba8l8p1wqfd6ff5ddgqwj3dhp";
+    sha256 = "16fcb7ssj6kj687a042afaa2gq48rc8abihpm14k684ncihb2k4w";
   };
 
   nativeBuildInputs = [ (ghcWithPackages (self : [ self.filemanip ])) ];
   preConfigure = ''
     runhaskell GenerateEverything.hs
+    # We will only build/consider Everything.agda, in particular we don't want Everything*.agda
+    # do be copied to the store.
+    rm EverythingSafe.agda EverythingSafeGuardedness.agda EverythingSafeSizedTypes.agda
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/amdvlk/default.nix b/pkgs/development/libraries/amdvlk/default.nix
index fb48ef73905bc..8a8ab23d495eb 100644
--- a/pkgs/development/libraries/amdvlk/default.nix
+++ b/pkgs/development/libraries/amdvlk/default.nix
@@ -21,13 +21,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "amdvlk";
-  version = "2020.Q4.6";
+  version = "2021.Q1.4";
 
   src = fetchRepoProject {
     name = "${pname}-src";
     manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git";
     rev = "refs/tags/v-${version}";
-    sha256 = "wminJxfku8Myag+SI7iLSvS+VzHlUd4c86BbpF/cr1w=";
+    sha256 = "mA7YalgcfjfYdmKPk8L4mfDJWn0rimPDoDB9/S3pyNM=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/appstream/default.nix b/pkgs/development/libraries/appstream/default.nix
index 1e3c2bcd2eb53..6fa4a6e0a4ab6 100644
--- a/pkgs/development/libraries/appstream/default.nix
+++ b/pkgs/development/libraries/appstream/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, gettext
+{ lib, stdenv, substituteAll, fetchFromGitHub, meson, ninja, pkg-config, gettext
 , xmlto, docbook_xsl, docbook_xml_dtd_45, libxslt
 , libstemmer, glib, xapian, libxml2, libyaml, gobject-introspection
 , pcre, itstool, gperf, vala, lmdb, libsoup
@@ -6,7 +6,7 @@
 
 stdenv.mkDerivation rec {
   pname = "appstream";
-  version = "0.13.1";
+  version = "0.14.0";
 
   outputs = [ "out" "dev" ];
 
@@ -14,9 +14,17 @@ stdenv.mkDerivation rec {
     owner  = "ximion";
     repo   = "appstream";
     rev    = "v${version}";
-    sha256 = "16nxaw4fx78maldi3kvr8fiwzhmy5276wd4x2fxny16zzf01098j";
+    sha256 = "sha256-iYqmQ1/58t3ZdJTxYLDc5jkTG1lMBtQWMFFsYsszH9Q=";
   };
 
+  patches = [
+    # Fix hardcoded paths
+    (substituteAll {
+      src = ./fix-paths.patch;
+      libstemmer_includedir = "${lib.getDev libstemmer}/include";
+    })
+  ];
+
   nativeBuildInputs = [
     meson ninja pkg-config gettext
     libxslt xmlto docbook_xsl docbook_xml_dtd_45
@@ -25,14 +33,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libstemmer pcre glib xapian libxml2 libyaml gperf lmdb libsoup ];
 
-  prePatch = ''
-    substituteInPlace meson.build \
-      --replace /usr/include ${libstemmer}/include
-
-    substituteInPlace data/meson.build \
-      --replace /etc $out/etc
-  '';
-
   mesonFlags = [
     "-Dapidocs=false"
     "-Ddocs=false"
diff --git a/pkgs/development/libraries/appstream/fix-paths.patch b/pkgs/development/libraries/appstream/fix-paths.patch
new file mode 100644
index 0000000000000..0da72a78cbcf0
--- /dev/null
+++ b/pkgs/development/libraries/appstream/fix-paths.patch
@@ -0,0 +1,29 @@
+diff --git a/data/meson.build b/data/meson.build
+index 1eb3dfb0..623b66ec 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -26,4 +26,4 @@ i18n.merge_file (
+ )
+ 
+ install_data ('appstream.conf',
+-              install_dir: get_option('sysconfdir'))
++              install_dir: get_option('prefix') / 'etc')
+diff --git a/meson.build b/meson.build
+index dc1fb1a5..5ee03b73 100644
+--- a/meson.build
++++ b/meson.build
+@@ -108,12 +108,12 @@ if get_option ('gir')
+     dependency('gobject-introspection-1.0', version: '>=1.56')
+ endif
+ 
+-stemmer_inc_dirs = include_directories(['/usr/include'])
++stemmer_inc_dirs = include_directories(['@libstemmer_includedir@'])
+ if get_option('stemming')
+     stemmer_lib = cc.find_library('stemmer', required: true)
+     if not cc.has_header('libstemmer.h')
+         if cc.has_header('libstemmer/libstemmer.h')
+-            stemmer_inc_dirs = include_directories('/usr/include/libstemmer')
++            stemmer_inc_dirs = include_directories('@libstemmer_includedir@/libstemmer')
+         else
+             error('Unable to find Snowball header "libstemmer.h". Please ensure libstemmer/Snowball is installed properly in order to continue.')
+         endif
diff --git a/pkgs/development/libraries/appstream/qt.nix b/pkgs/development/libraries/appstream/qt.nix
index 9ae1cce684ab8..0bcb4741ff124 100644
--- a/pkgs/development/libraries/appstream/qt.nix
+++ b/pkgs/development/libraries/appstream/qt.nix
@@ -4,7 +4,7 @@
 
 mkDerivation {
   pname = "appstream-qt";
-  inherit (appstream) version src prePatch;
+  inherit (appstream) version src patches;
 
   outputs = [ "out" "dev" ];
 
diff --git a/pkgs/development/libraries/aqbanking/gwenhywfar.nix b/pkgs/development/libraries/aqbanking/gwenhywfar.nix
index d240e7e3a9dc7..073ad3254a0b8 100644
--- a/pkgs/development/libraries/aqbanking/gwenhywfar.nix
+++ b/pkgs/development/libraries/aqbanking/gwenhywfar.nix
@@ -57,6 +57,8 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [ gtk2 gtk3 qt5.qtbase gnutls openssl libgcrypt libgpgerror ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "OS abstraction functions used by aqbanking and related tools";
     homepage = "http://www2.aquamaniac.de/sites/download/packages.php?package=01&showall=1";
diff --git a/pkgs/development/libraries/armadillo/default.nix b/pkgs/development/libraries/armadillo/default.nix
index 6696e5720e326..6094c0b8f467e 100644
--- a/pkgs/development/libraries/armadillo/default.nix
+++ b/pkgs/development/libraries/armadillo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "armadillo";
-  version = "10.2.0";
+  version = "10.2.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
-    sha256 = "sha256-gvhNUmyNpyJAqwXLErPz8eZ00gzLOOAI5L9TNVsapoo=";
+    sha256 = "sha256-lClfxi7MQ3PlqWx7Yrkj/XGoHzFaqVl7KCqv2FWelDU=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/audio/lilv/default.nix b/pkgs/development/libraries/audio/lilv/default.nix
index 79f09f48464f0..f074287ab1638 100644
--- a/pkgs/development/libraries/audio/lilv/default.nix
+++ b/pkgs/development/libraries/audio/lilv/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lilv";
-  version = "0.24.10";
+  version = "0.24.12";
 
   src = fetchurl {
     url = "https://download.drobilla.net/${pname}-${version}.tar.bz2";
-    sha256 = "1565zy0yz46cf2f25pi46msdnzkj6bbhml9gfigdpjnsdlyskfyi";
+    sha256 = "sha256-JqN3kIkMnB+DggO0f1sjIDNP6SwCpNJuu+Jmnb12kGE=";
   };
 
   patches = [ ./lilv-pkgconfig.patch ];
diff --git a/pkgs/development/libraries/audio/lv2/default.nix b/pkgs/development/libraries/audio/lv2/default.nix
index 45caf0b36c509..616ad5b0c8925 100644
--- a/pkgs/development/libraries/audio/lv2/default.nix
+++ b/pkgs/development/libraries/audio/lv2/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lv2";
-  version = "1.18.0";
+  version = "1.18.2";
 
   src = fetchurl {
     url = "https://lv2plug.in/spec/${pname}-${version}.tar.bz2";
-    sha256 = "0gs7401xz23q9vajqr31aa2db8dvssgyh5zrvr4ipa6wig7yb8wh";
+    sha256 = "sha256-TokfvHRMBYVb6136gugisUkX3Wbpj4K4Iw29HHqy4F4=";
   };
 
   nativeBuildInputs = [ pkg-config wafHook ];
diff --git a/pkgs/development/libraries/audio/rtaudio/default.nix b/pkgs/development/libraries/audio/rtaudio/default.nix
index 820ea1e49b9ef..03048abcc3212 100644
--- a/pkgs/development/libraries/audio/rtaudio/default.nix
+++ b/pkgs/development/libraries/audio/rtaudio/default.nix
@@ -1,4 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, libjack2,  alsaLib, pulseaudio, rtmidi }:
+{ stdenv
+, lib
+, config
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, pkg-config
+, alsaSupport ? stdenv.hostPlatform.isLinux
+, alsaLib
+, pulseaudioSupport ? config.pulseaudio or stdenv.hostPlatform.isLinux
+, libpulseaudio
+, jackSupport ? true
+, jack
+, coreaudioSupport ? stdenv.hostPlatform.isDarwin
+, CoreAudio
+}:
 
 stdenv.mkDerivation rec {
   version = "5.1.0";
@@ -11,22 +26,40 @@ stdenv.mkDerivation rec {
     sha256 = "1pglnjz907ajlhnlnig3p0sx7hdkpggr8ss7b3wzf1lykzgv9l52";
   };
 
-  patches = [ ./rtaudio-pkgconfig.patch ];
+  patches = [
+    # Fixes missing headers & install location
+    # Drop with version > 5.1.0
+    (fetchpatch {
+      name = "RtAudio-Adjust-CMake-public-header-installs-to-match-autotools.patch";
+      url = "https://github.com/thestk/rtaudio/commit/4273cf7572b8f51b5996cf6b42e3699cc6b165da.patch";
+      sha256 = "1p0idll0xsfk3jwjg83jkxkaf20gk0wqa7l982ni389rn6i4n26p";
+    })
+  ];
 
-  enableParallelBuilding = true;
+  postPatch = ''
+    substituteInPlace rtaudio.pc.in \
+      --replace 'Requires:' 'Requires.private:'
+  '';
 
-  buildInputs = [ autoconf automake libtool libjack2 alsaLib pulseaudio rtmidi ];
+  nativeBuildInputs = [ cmake pkg-config ];
 
-  preConfigure = ''
-    ./autogen.sh --no-configure
-    ./configure
-  '';
+  buildInputs = lib.optional alsaSupport alsaLib
+    ++ lib.optional pulseaudioSupport libpulseaudio
+    ++ lib.optional jackSupport jack
+    ++ lib.optional coreaudioSupport CoreAudio;
+
+  cmakeFlags = [
+    "-DRTAUDIO_API_ALSA=${if alsaSupport then "ON" else "OFF"}"
+    "-DRTAUDIO_API_PULSE=${if pulseaudioSupport then "ON" else "OFF"}"
+    "-DRTAUDIO_API_JACK=${if jackSupport then "ON" else "OFF"}"
+    "-DRTAUDIO_API_CORE=${if coreaudioSupport then "ON" else "OFF"}"
+  ];
 
   meta = with lib; {
     description = "A set of C++ classes that provide a cross platform API for realtime audio input/output";
-    homepage =  "http://www.music.mcgill.ca/~gary/rtaudio/";
+    homepage = "https://www.music.mcgill.ca/~gary/rtaudio/";
     license = licenses.mit;
-    maintainers = [ maintainers.magnetophon ];
+    maintainers = with maintainers; [ magnetophon ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/audio/rtaudio/rtaudio-pkgconfig.patch b/pkgs/development/libraries/audio/rtaudio/rtaudio-pkgconfig.patch
deleted file mode 100644
index 8536332d46d79..0000000000000
--- a/pkgs/development/libraries/audio/rtaudio/rtaudio-pkgconfig.patch
+++ /dev/null
@@ -1,5 +0,0 @@
---- a/rtaudio.pc.in
-+++ b/rtaudio.pc.in
-@@ -9 +9 @@ Version: @PACKAGE_VERSION@
--Requires: @req@ 
-+Requires.private: @req@ 
diff --git a/pkgs/development/libraries/audio/rtmidi/default.nix b/pkgs/development/libraries/audio/rtmidi/default.nix
index f6208bab6c606..540e152655f63 100644
--- a/pkgs/development/libraries/audio/rtmidi/default.nix
+++ b/pkgs/development/libraries/audio/rtmidi/default.nix
@@ -1,4 +1,18 @@
-{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, libjack2, alsaLib, pkg-config }:
+{ stdenv
+, lib
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, pkg-config
+, alsaSupport ? stdenv.hostPlatform.isLinux
+, alsaLib
+, jackSupport ? true
+, jack
+, coremidiSupport ? stdenv.hostPlatform.isDarwin
+, CoreMIDI
+, CoreAudio
+, CoreServices
+}:
 
 stdenv.mkDerivation rec {
   version = "4.0.0";
@@ -11,21 +25,45 @@ stdenv.mkDerivation rec {
     sha256 = "1g31p6a96djlbk9jh5r4pjly3x76lhccva9hrw6xzdma8dsjzgyq";
   };
 
-  enableParallelBuilding = true;
+  patches = [
+    # PR #230, fix CMake problems
+    (fetchpatch {
+      name = "RtMidi-Fix-JACK_HAS_PORT_RENAME-define.patch";
+      url = "https://github.com/thestk/rtmidi/pull/230/commits/768a30a61b60240b66cc2d43bc27a544ff9f1622.patch";
+      sha256 = "1sym4f7nb2qyyxfhi1l0xsm2hfh6gddn81y36qvfq4mcs33vvid0";
+    })
+    (fetchpatch {
+      name = "RtMidi-Add-prefix-define-for-pkgconfig.patch";
+      url = "https://github.com/thestk/rtmidi/pull/230/commits/7a32e23e3f6cb43c0d2d58443ce205d438e76f44.patch";
+      sha256 = "06im8mb05wah6bnkadw2gpkhmilxb8p84pxqr50b205cchpq304w";
+    })
+  ];
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ autoconf automake libtool libjack2 alsaLib ];
-
-  preConfigure = ''
-    ./autogen.sh --no-configure
-    ./configure
+  postPatch = ''
+    substituteInPlace rtmidi.pc.in \
+      --replace 'Requires:' 'Requires.private:'
+    substituteInPlace CMakeLists.txt \
+      --replace 'PUBLIC_HEADER RtMidi.h' 'PUBLIC_HEADER "RtMidi.h;rtmidi_c.h"' \
+      --replace 'PUBLIC_HEADER DESTINATION $''\{CMAKE_INSTALL_INCLUDEDIR}' 'PUBLIC_HEADER DESTINATION $''\{CMAKE_INSTALL_INCLUDEDIR}/rtmidi'
   '';
 
-  meta = {
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = lib.optional alsaSupport alsaLib
+    ++ lib.optional jackSupport jack
+    ++ lib.optionals coremidiSupport [ CoreMIDI CoreAudio CoreServices ];
+
+  cmakeFlags = [
+    "-DRTMIDI_API_ALSA=${if alsaSupport then "ON" else "OFF"}"
+    "-DRTMIDI_API_JACK=${if jackSupport then "ON" else "OFF"}"
+    "-DRTMIDI_API_CORE=${if coremidiSupport then "ON" else "OFF"}"
+  ];
+
+  meta = with lib; {
     description = "A set of C++ classes that provide a cross platform API for realtime MIDI input/output";
-    homepage =  "http://www.music.mcgill.ca/~gary/rtmidi/";
-    license = lib.licenses.mit;
-    maintainers = [ lib.maintainers.magnetophon ];
-    platforms = with lib.platforms; linux ++ darwin;
+    homepage = "https://www.music.mcgill.ca/~gary/rtmidi/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ magnetophon ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/audio/suil/default.nix b/pkgs/development/libraries/audio/suil/default.nix
index 0f4dd0f62c470..56008ae8dd6a1 100644
--- a/pkgs/development/libraries/audio/suil/default.nix
+++ b/pkgs/development/libraries/audio/suil/default.nix
@@ -22,6 +22,8 @@ stdenv.mkDerivation rec {
     ++ (lib.optionals withQt4 [ qt4 ])
     ++ (lib.optionals withQt5 (with qt5; [ qtbase qttools ]));
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     homepage = "http://drobilla.net/software/suil";
     description = "A lightweight C library for loading and wrapping LV2 plugin UIs";
diff --git a/pkgs/development/libraries/aws-c-common/default.nix b/pkgs/development/libraries/aws-c-common/default.nix
index 23d7f9d8629ad..36315aa867806 100644
--- a/pkgs/development/libraries/aws-c-common/default.nix
+++ b/pkgs/development/libraries/aws-c-common/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake }:
 
 stdenv.mkDerivation rec {
   pname = "aws-c-common";
@@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-izEZMOPHj/9EL78b/t3M0Tki6eA8eRrpG7DO2tkpf1A=";
   };
 
+  patches = [
+    # Remove once https://github.com/awslabs/aws-c-common/pull/764 is merged
+    (fetchpatch {
+      url = "https://github.com/awslabs/aws-c-common/commit/4f85fb3e398d4e4d320d3559235267b26cbc9531.patch";
+      sha256 = "1jg3mz507w4kwgmg57kvz419gvw47pd9rkjr6jhsmvardmyyskap";
+    })
+  ];
+
   nativeBuildInputs = [ cmake ];
 
   cmakeFlags = [
@@ -26,5 +34,7 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [ orivej eelco ];
+    # https://github.com/awslabs/aws-c-common/issues/754
+    broken = stdenv.hostPlatform.isMusl;
   };
 }
diff --git a/pkgs/development/libraries/aws-checksums/default.nix b/pkgs/development/libraries/aws-checksums/default.nix
index bf50401a213e1..75b26695e2f2c 100644
--- a/pkgs/development/libraries/aws-checksums/default.nix
+++ b/pkgs/development/libraries/aws-checksums/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-checksums";
-  version = "0.1.10";
+  version = "0.1.11";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1f9scl5734pgjlsixspwljrrlndzhllwlfygdcr1gx5p0za08zjb";
+    sha256 = "sha256-fXu7GI2UR9QiBGP2n2pEFRjz9ZwA+BAK9zxhNnoYWt4=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/bashup-events/generic.nix b/pkgs/development/libraries/bashup-events/generic.nix
index 78ef4c2f33699..fd4e2cfe9f5f2 100644
--- a/pkgs/development/libraries/bashup-events/generic.nix
+++ b/pkgs/development/libraries/bashup-events/generic.nix
@@ -1,8 +1,6 @@
 {
   # general
   lib
-, callPackage
-, runCommand
 , resholvePackage
 , bash
 , shellcheck
@@ -46,7 +44,9 @@ resholvePackage rec {
   inherit src;
 
   installPhase = ''
+    runHook preInstall
     install -Dt $out/bin bashup.events
+    runHook postInstall
   '';
 
   inherit doCheck;
@@ -54,9 +54,11 @@ resholvePackage rec {
 
   # check based on https://github.com/bashup/events/blob/master/.dkrc
   checkPhase = ''
+    runHook preCheck
     SHELLCHECK_OPTS='-e SC2016,SC2145' ${shellcheck}/bin/shellcheck ./bashup.events
     ${bash}/bin/bash -n ./bashup.events
     ${bash}/bin/bash ./bashup.events
+    runHook postCheck
   '';
 
   solutions = {
@@ -70,7 +72,11 @@ resholvePackage rec {
 
   inherit doInstallCheck;
   installCheckInputs = [ bash ];
-  installCheckPhase = installCheck "${bash}/bin/bash";
+  installCheckPhase = ''
+    runHook preInstallCheck
+    ${installCheck "${bash}/bin/bash"}
+    runHook postInstallCheck
+  '';
 
   meta = with lib; {
     inherit branch;
diff --git a/pkgs/development/libraries/bctoolbox/default.nix b/pkgs/development/libraries/bctoolbox/default.nix
index dd72b7eb41dfe..700fe4f468604 100644
--- a/pkgs/development/libraries/bctoolbox/default.nix
+++ b/pkgs/development/libraries/bctoolbox/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "bctoolbox";
-  version = "4.4.21";
+  version = "4.4.24";
 
   nativeBuildInputs = [ cmake bcunit ];
   buildInputs = [ mbedtls ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "0bfswwvvdshaahg4jd2j10f0sci8809s4khajd0m6b059zwc7y25";
+    sha256 = "sha256-RfjD+E8FLFNBkwpOohNAKDINHAhSNEkeVArqtjfn2i0=";
   };
 
   # Do not build static libraries
diff --git a/pkgs/development/libraries/boringssl/default.nix b/pkgs/development/libraries/boringssl/default.nix
index 7019d39b16c73..aa3eeef48a555 100644
--- a/pkgs/development/libraries/boringssl/default.nix
+++ b/pkgs/development/libraries/boringssl/default.nix
@@ -15,6 +15,9 @@ stdenv.mkDerivation {
 
   makeFlags = [ "GOCACHE=$(TMPDIR)/go-cache" ];
 
+  # CMAKE_OSX_ARCHITECTURES is set to x86_64 by Nix, but it confuses boringssl on aarch64-linux.
+  cmakeFlags = lib.optionals (stdenv.isLinux) [ "-DCMAKE_OSX_ARCHITECTURES=" ];
+
   installPhase = ''
     mkdir -p $bin/bin $out/include $out/lib
 
diff --git a/pkgs/development/libraries/cfitsio/default.nix b/pkgs/development/libraries/cfitsio/default.nix
index 28bb0761777c2..a3263f653b75f 100644
--- a/pkgs/development/libraries/cfitsio/default.nix
+++ b/pkgs/development/libraries/cfitsio/default.nix
@@ -1,21 +1,18 @@
-{ fetchurl, lib, stdenv
-
-# Optional dependencies
-, bzip2 ? null }:
+{ fetchurl, lib, stdenv, bzip2 }:
 stdenv.mkDerivation rec {
   pname = "cfitsio";
-  version = "3.47";
+  version = "3.49";
 
   src = fetchurl {
     url = "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-${version}.tar.gz";
-    sha256 = "1vzlxnrjckz78p2wf148v2z3krkwnykfqvlj42sz3q711vqid1a1";
+    sha256 = "1cyl1qksnkl3cq1fzl4dmjvkd6329b57y9iqyv44wjakbh6s4rav";
   };
 
   buildInputs = [ bzip2 ];
 
   patches = [ ./darwin-rpath-universal.patch ];
 
-  configureFlags = lib.optional (bzip2 != null) "--with-bzip2=${bzip2.out}";
+  configureFlags = [ "--with-bzip2=${bzip2.out}" ];
 
   hardeningDisable = [ "format" ];
 
diff --git a/pkgs/development/libraries/cimg/default.nix b/pkgs/development/libraries/cimg/default.nix
index eb55178db0df7..9c89279cd51fc 100644
--- a/pkgs/development/libraries/cimg/default.nix
+++ b/pkgs/development/libraries/cimg/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cimg";
-  version = "2.9.4";
+  version = "2.9.6";
 
   src = fetchFromGitHub {
     owner = "dtschump";
     repo = "CImg";
     rev = "v.${version}";
-    sha256 = "1sb0z5ryh34y80ghlr2agsl64gayjmxpl96l9fjaylf5k2m3fg2b";
+    sha256 = "sha256-RdOfog5FOw5XESyDFX68Lb2MUyCeUuPaq/0UVNTjNKo=";
   };
 
   installPhase = ''
diff --git a/pkgs/development/libraries/civetweb/0001-allow-setting-paths-in-makefile.patch b/pkgs/development/libraries/civetweb/0001-allow-setting-paths-in-makefile.patch
index 47f4197274590..8a14fb3a5fabe 100644
--- a/pkgs/development/libraries/civetweb/0001-allow-setting-paths-in-makefile.patch
+++ b/pkgs/development/libraries/civetweb/0001-allow-setting-paths-in-makefile.patch
@@ -1,18 +1,7 @@
-From 06b2c6dd6439c01bfb5a4c7b0ec6909c349a66b1 Mon Sep 17 00:00:00 2001
-From: Frederik Rietdijk <freddyrietdijk@fridh.nl>
-Date: Thu, 28 Feb 2019 16:25:49 +0100
-Subject: [PATCH] allow setting paths in makefile
-
-and install headers and libs
----
- Makefile | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index b507e2b0..d21e5c56 100644
---- a/Makefile
-+++ b/Makefile
-@@ -19,13 +19,13 @@ BUILD_DIR = out
+diff -u a/Makefile b/Makefile
+--- a/Makefile	2020-12-27 18:48:53.934098765 +0100
++++ b/Makefile	2020-12-27 18:50:44.022674117 +0100
+@@ -19,13 +19,13 @@
  # http://www.gnu.org/prep/standards/html_node/Directory-Variables.html
  PREFIX ?= /usr/local
  EXEC_PREFIX = $(PREFIX)
@@ -20,24 +9,16 @@ index b507e2b0..d21e5c56 100644
 +BINDIR ?= $(EXEC_PREFIX)/bin
  DATAROOTDIR = $(PREFIX)/share
  DOCDIR = $(DATAROOTDIR)/doc/$(CPROG)
- SYSCONFDIR = $(PREFIX)/etc
+ SYSCONFDIR ?= $(PREFIX)/etc
  HTMLDIR = $(DOCDIR)
 -INCLUDEDIR = $(DESTDIR)$(PREFIX)/include
 -LIBDIR = $(DESTDIR)$(EXEC_PREFIX)/lib
 +INCLUDEDIR ?= $(DESTDIR)$(PREFIX)/include
 +LIBDIR ?= $(DESTDIR)$(EXEC_PREFIX)/lib
+ PID_FILE ?= /var/run/$(CPROG).pid
  
  # build tools
- MKDIR = mkdir -p
-@@ -270,17 +270,17 @@ build: $(CPROG) $(CXXPROG)
- unit_test: $(UNIT_TEST_PROG)
- 
- ifeq ($(CAN_INSTALL),1)
--install: $(HTMLDIR)/index.html $(SYSCONFDIR)/civetweb.conf
-+install: install-headers install-slib $(HTMLDIR)/index.html $(SYSCONFDIR)/civetweb.conf
- 	install -d -m 755  "$(DOCDIR)"
- 	install -m 644 *.md "$(DOCDIR)"
- 	install -d -m 755 "$(BINDIR)"
+@@ -337,10 +337,10 @@
  	install -m 755 $(CPROG) "$(BINDIR)/"
  
  install-headers:
@@ -50,6 +31,3 @@ index b507e2b0..d21e5c56 100644
  
  install-slib: lib$(CPROG).so
  	$(eval version=$(shell grep -w "define CIVETWEB_VERSION" include/civetweb.h | sed 's|.*VERSION "\(.*\)"|\1|g'))
--- 
-2.19.2
-
diff --git a/pkgs/development/libraries/civetweb/default.nix b/pkgs/development/libraries/civetweb/default.nix
index 8a3474a491f3d..fbbfb6ba73803 100644
--- a/pkgs/development/libraries/civetweb/default.nix
+++ b/pkgs/development/libraries/civetweb/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "civetweb";
-  version = "1.11";
+  version = "1.13";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1drnid6gs97cp9zpvsxz42yfj8djmgx98fg9p2993x9mpi547vzv";
+    sha256 = "/q7Q1lavIR3i126uI4NsKByHJ6Tp+DSN60R4YxR506U=";
   };
 
   makeFlags = [
@@ -28,6 +28,13 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
+  installTargets = [
+    "install-headers"
+    "install-lib"
+    "install-slib"
+    "install"
+  ];
+
   preInstall = ''
     mkdir -p $dev/include
     mkdir -p $out/lib
diff --git a/pkgs/development/libraries/cjson/default.nix b/pkgs/development/libraries/cjson/default.nix
new file mode 100644
index 0000000000000..b75b91508cbef
--- /dev/null
+++ b/pkgs/development/libraries/cjson/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, lib, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "cjson";
+  version = "1.7.14";
+
+  src = fetchFromGitHub {
+    owner = "DaveGamble";
+    repo = "cJSON";
+    rev = "v${version}";
+    sha256 = "1a3i9ydl65dgwgmlg79n5q8qilmjkaakq56sam1w25zcrd8jy11q";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  # cJSON actually uses C99 standard, not C89
+  # https://github.com/DaveGamble/cJSON/issues/275
+  postPatch = ''
+    substituteInPlace CMakeLists.txt --replace -std=c89 -std=c99
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/DaveGamble/cJSON";
+    description = "Ultralightweight JSON parser in ANSI C";
+    license = licenses.mit;
+    maintainers = [ maintainers.matthiasbeyer ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/codec2/default.nix b/pkgs/development/libraries/codec2/default.nix
index 09ec21cc63e86..88b35f16c3089 100644
--- a/pkgs/development/libraries/codec2/default.nix
+++ b/pkgs/development/libraries/codec2/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Speech codec designed for communications quality speech at low data rates";
     homepage = "http://www.rowetel.com/blog/?page_id=452";
-    license = licenses.lgpl21;
+    license = licenses.lgpl21Only;
     platforms = platforms.unix;
     maintainers = with maintainers; [ markuskowa ];
   };
diff --git a/pkgs/development/libraries/coordgenlibs/default.nix b/pkgs/development/libraries/coordgenlibs/default.nix
new file mode 100644
index 0000000000000..f0f0718ab10ca
--- /dev/null
+++ b/pkgs/development/libraries/coordgenlibs/default.nix
@@ -0,0 +1,29 @@
+{ fetchFromGitHub
+, lib
+, stdenv
+, boost
+, zlib
+, cmake
+, maeparser
+}:
+
+stdenv.mkDerivation rec {
+  pname = "coordgenlibs";
+  version = "1.4.2";
+
+  src = fetchFromGitHub {
+    owner = "schrodinger";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "18s3y9v6x246hapxy0cy4srnll4qqzqfx003j551l5f27b2ng8fn";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ boost zlib maeparser ];
+
+  meta = with lib; {
+    description = "Schrodinger-developed 2D Coordinate Generation";
+    maintainers = [ maintainers.rmcgibbo ];
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/libraries/cpp-utilities/default.nix b/pkgs/development/libraries/cpp-utilities/default.nix
index cec6feded1398..d232e4e2208a2 100644
--- a/pkgs/development/libraries/cpp-utilities/default.nix
+++ b/pkgs/development/libraries/cpp-utilities/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cpp-utilities";
-  version = "5.10.0";
+  version = "5.10.1";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ZqpgnxI6Py+Xrf+MK852j+kE2JGFz15kWAXOqy+bjVc=";
+    sha256 = "sha256-8upRrk2x2gaS+JwCmZblrRSRxy0uNfFLTW7ua2ix2wI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/crypto++/default.nix b/pkgs/development/libraries/crypto++/default.nix
index 0402af92b3b39..6c4a3bfc08400 100644
--- a/pkgs/development/libraries/crypto++/default.nix
+++ b/pkgs/development/libraries/crypto++/default.nix
@@ -21,6 +21,14 @@ stdenv.mkDerivation rec {
     substituteInPlace GNUmakefile \
         --replace "AR = libtool" "AR = ar" \
         --replace "ARFLAGS = -static -o" "ARFLAGS = -cru"
+
+    # See https://github.com/weidai11/cryptopp/issues/1011
+    substituteInPlace GNUmakefile \
+      --replace "ZOPT = -O0" "ZOPT ="
+  '';
+
+  preConfigure = ''
+    sh TestScripts/configure.sh
   '';
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
diff --git a/pkgs/development/libraries/cxxopts/default.nix b/pkgs/development/libraries/cxxopts/default.nix
new file mode 100644
index 0000000000000..ddbc845e3b493
--- /dev/null
+++ b/pkgs/development/libraries/cxxopts/default.nix
@@ -0,0 +1,27 @@
+{ cmake, fetchFromGitHub, icu, lib, pkg-config, stdenv, enableUnicodeHelp ? true }:
+
+stdenv.mkDerivation rec {
+  name = "cxxopts";
+  version = "2.2.1";
+
+  src = fetchFromGitHub {
+    owner = "jarro2783";
+    repo = name;
+    rev = "v${version}";
+    sha256 = "0d3y747lsh1wkalc39nxd088rbypxigm991lk3j91zpn56whrpha";
+  };
+
+  buildInputs = lib.optional enableUnicodeHelp [ icu.dev ];
+  cmakeFlags = lib.optional enableUnicodeHelp [ "-DCXXOPTS_USE_UNICODE_HELP=TRUE" ];
+  nativeBuildInputs = [ cmake ] ++ lib.optional enableUnicodeHelp [ pkg-config ];
+
+  doCheck = true;
+
+  meta = with lib; {
+    homepage = "https://github.com/jarro2783/cxxopts";
+    description = "Lightweight C++ GNU-style option parser library";
+    license = licenses.mit;
+    maintainers = [ maintainers.spease ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/dlib/default.nix b/pkgs/development/libraries/dlib/default.nix
index fa7d70d521318..096910b238bb0 100644
--- a/pkgs/development/libraries/dlib/default.nix
+++ b/pkgs/development/libraries/dlib/default.nix
@@ -2,6 +2,7 @@
 , guiSupport ? false, libX11
 
   # see http://dlib.net/compile.html
+, sse4Support ? stdenv.hostPlatform.sse4_1Support
 , avxSupport ? stdenv.hostPlatform.avxSupport
 , cudaSupport ? true
 }:
@@ -23,6 +24,7 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DUSE_DLIB_USE_CUDA=${if cudaSupport then "1" else "0"}"
+    "-DUSE_SSE4_INSTRUCTIONS=${if sse4Support then "yes" else "no"}"
     "-DUSE_AVX_INSTRUCTIONS=${if avxSupport then "yes" else "no"}" ];
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/doctest/default.nix b/pkgs/development/libraries/doctest/default.nix
index 702015e5d38fb..233e01e038034 100644
--- a/pkgs/development/libraries/doctest/default.nix
+++ b/pkgs/development/libraries/doctest/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/onqtam/doctest";
     description = "The fastest feature-rich C++11/14/17/20 single-header testing framework";
-    platforms = platforms.linux;
+    platforms = platforms.all;
     license = licenses.mit;
     maintainers = with maintainers; [ davidtwco ];
   };
diff --git a/pkgs/development/libraries/dxflib/default.nix b/pkgs/development/libraries/dxflib/default.nix
index b2cd97398c619..09f2ad3ccad68 100644
--- a/pkgs/development/libraries/dxflib/default.nix
+++ b/pkgs/development/libraries/dxflib/default.nix
@@ -13,6 +13,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     qmake
   ];
+  dontWrapQtApps = true;
   preConfigure = ''
     sed -i 's/CONFIG += staticlib/CONFIG += shared/' dxflib.pro
   '';
diff --git a/pkgs/development/libraries/eclib/default.nix b/pkgs/development/libraries/eclib/default.nix
index 4709441a1011e..a8697207ed1ae 100644
--- a/pkgs/development/libraries/eclib/default.nix
+++ b/pkgs/development/libraries/eclib/default.nix
@@ -14,7 +14,7 @@ assert withFlint -> flint != null;
 
 stdenv.mkDerivation rec {
   pname = "eclib";
-  version = "20190909"; # upgrade might break the sage interface
+  version = "20210223"; # upgrade might break the sage interface
   # sage tests to run:
   # src/sage/interfaces/mwrank.py
   # src/sage/libs/eclib
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     owner = "JohnCremona";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0y1vdi4120gdw56gg2dn3wh625yr9wpyk3wpbsd25w4lv83qq5da";
+    sha256 = "sha256-xnSw5cdg4PLa0GT/blCYDz/IG5aj+HG2NHSlyCiH9g0=";
   };
   buildInputs = [
     pari
diff --git a/pkgs/development/libraries/entt/default.nix b/pkgs/development/libraries/entt/default.nix
index 955dd2eeb369c..7f98a9f1122ce 100644
--- a/pkgs/development/libraries/entt/default.nix
+++ b/pkgs/development/libraries/entt/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub, cmake }:
 stdenv.mkDerivation rec {
   pname = "entt";
-  version = "3.5.2";
+  version = "3.6.0";
 
   src = fetchFromGitHub {
     owner = "skypjack";
     repo = "entt";
     rev = "v${version}";
-    sha256 = "1p09p1wn8cbj17z83iyyy2498wy1gzyi2mmqi5i2cxglslbm6hy0";
+    sha256 = "sha256-XaQQOt3UekjE4QUUW6+W5M4tkTqeGjZDExJB1U1/gJ8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/farbfeld/default.nix b/pkgs/development/libraries/farbfeld/default.nix
index 9473d09ffc550..07957674bb315 100644
--- a/pkgs/development/libraries/farbfeld/default.nix
+++ b/pkgs/development/libraries/farbfeld/default.nix
@@ -1,27 +1,27 @@
-{ lib, stdenv, fetchgit, makeWrapper, file, libpng, libjpeg }:
+{ lib, stdenv, fetchurl, makeWrapper, file, libpng, libjpeg }:
 
 stdenv.mkDerivation rec {
   pname = "farbfeld";
   version = "4";
 
-  src = fetchgit {
-    url = "https://git.suckless.org/farbfeld";
-    rev = "refs/tags/${version}";
-    sha256 = "0pkmkvv5ggpzqwqdchd19442x8gh152xy5z1z13ipfznhspsf870";
+  src = fetchurl {
+    url = "https://dl.suckless.org/farbfeld/farbfeld-${version}.tar.gz";
+    sha256 = "0ap7rcngffhdd57jw9j22arzkbrhwh0zpxhwbdfwl8fixlhmkpy7";
   };
 
   buildInputs = [ libpng libjpeg ];
   nativeBuildInputs = [ makeWrapper ];
 
-  installFlags = [ "PREFIX=/" "DESTDIR=$(out)" ];
+  installFlags = [ "PREFIX=$(out)" ];
   postInstall = ''
     wrapProgram "$out/bin/2ff" --prefix PATH : "${file}/bin"
   '';
 
   meta = with lib; {
     description = "Suckless image format with conversion tools";
+    homepage = "https://tools.suckless.org/farbfeld/";
     license = licenses.isc;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/libraries/flatpak/default.nix b/pkgs/development/libraries/flatpak/default.nix
index 1480f42750dd7..36c946e06f7bd 100644
--- a/pkgs/development/libraries/flatpak/default.nix
+++ b/pkgs/development/libraries/flatpak/default.nix
@@ -1,12 +1,8 @@
 { lib, stdenv
 , fetchurl
-, fetchpatch
-, autoconf
-, automake
-, libtool
+, autoreconfHook
 , docbook_xml_dtd_412
-, docbook_xml_dtd_42
-, docbook_xml_dtd_43
+, docbook_xml_dtd_45
 , docbook-xsl-nons
 , which
 , libxml2
@@ -49,7 +45,7 @@
 , xorg
 , valgrind
 , glib-networking
-, wrapGAppsHook
+, wrapGAppsNoGuiHook
 , dconf
 , gsettings-desktop-schemas
 , librsvg
@@ -57,14 +53,14 @@
 
 stdenv.mkDerivation rec {
   pname = "flatpak";
-  version = "1.8.2";
+  version = "1.10.1";
 
   # TODO: split out lib once we figure out what to do with triggerdir
   outputs = [ "out" "dev" "man" "doc" "devdoc" "installedTests" ];
 
   src = fetchurl {
     url = "https://github.com/flatpak/flatpak/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "eSZiXffCKCpe4aizwxevU9QKZjsbxrGKLch0fiZQhbA=";
+    sha256 = "1dywvfpmszvp2wy5hvpzy8z6gz2gzmi9p302njp52p9vpx14ydf1";
   };
 
   patches = [
@@ -104,24 +100,15 @@ stdenv.mkDerivation rec {
 
     # But we want the GDK_PIXBUF_MODULE_FILE from the wrapper affect the icon validator.
     ./validate-icon-pixbuf.patch
-
-    # Fix `flatpak/test-oci-registry@{user,system}.wrap.test` installed tests.
-    # https://github.com/flatpak/flatpak/pull/3762
-    (fetchpatch {
-      url = "https://github.com/flatpak/flatpak/commit/c1447dadecd50f384b6d11dac18b014245267d00.patch";
-      sha256 = "UAA/wGr8/aMbx5MV+8Ilro2kgKkx2QOn88lDUjCgeDA=";
-    })
   ];
 
   nativeBuildInputs = [
-    autoconf
-    automake
-    libtool
+    autoreconfHook
     libxml2
-    # TODO: replace with docbook_xml_dtd_45 https://github.com/flatpak/flatpak/pull/3760
+    # Remove 4.1.2 again once the following is merged
+    # https://github.com/flatpak/flatpak/pull/4102
     docbook_xml_dtd_412
-    docbook_xml_dtd_42
-    docbook_xml_dtd_43
+    docbook_xml_dtd_45
     docbook-xsl-nons
     which
     gobject-introspection
@@ -132,7 +119,7 @@ stdenv.mkDerivation rec {
     xmlto
     appstream-glib
     yacc
-    wrapGAppsHook
+    wrapGAppsNoGuiHook
   ];
 
   buildInputs = [
@@ -147,7 +134,7 @@ stdenv.mkDerivation rec {
     libseccomp
     libsoup
     lzma
-    # zstd # TODO: broken paths in .pc file
+    zstd
     polkit
     python3
     systemd
@@ -199,16 +186,6 @@ stdenv.mkDerivation rec {
     PATH=${lib.makeBinPath [vsc-py]}:$PATH patchShebangs --build variant-schema-compiler/variant-schema-compiler
   '';
 
-  preConfigure = ''
-    # TODO: remove the condition once autogen.sh is shipped in the tarball
-    # https://github.com/flatpak/flatpak/pull/3761
-    if [[ -f autogen.sh ]]; then
-        NOCONFIGURE=1 ./autogen.sh
-    else
-        autoreconf --install --force --verbose
-    fi
-  '';
-
   passthru = {
     tests = {
       installedTests = nixosTests.installed-tests.flatpak;
@@ -218,7 +195,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Linux application sandboxing and distribution framework";
     homepage = "https://flatpak.org/";
-    license = licenses.lgpl21;
+    license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/development/libraries/flite/default.nix b/pkgs/development/libraries/flite/default.nix
index 24927fe853bae..a80c317b06eef 100644
--- a/pkgs/development/libraries/flite/default.nix
+++ b/pkgs/development/libraries/flite/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, alsaLib }:
+{ lib, stdenv, fetchFromGitHub, alsaLib, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "flite";
@@ -13,6 +13,16 @@ stdenv.mkDerivation rec {
 
   buildInputs = lib.optionals stdenv.isLinux [ alsaLib ];
 
+  # https://github.com/festvox/flite/pull/60.
+  # Replaces `ar` with `$(AR)` in config/common_make_rules.
+  # Improves cross-compilation compatibility.
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/festvox/flite/commit/54c65164840777326bbb83517568e38a128122ef.patch";
+      sha256 = "sha256-hvKzdX7adiqd9D+9DbnfNdqEULg1Hhqe1xElYxNM1B8=";
+    })
+  ];
+
   configureFlags = [
     "--enable-shared"
   ] ++ lib.optionals stdenv.isLinux [ "--with-audio=alsa" ];
diff --git a/pkgs/development/libraries/fmt/default.nix b/pkgs/development/libraries/fmt/default.nix
index 0d2983b1f8465..474c990d51775 100644
--- a/pkgs/development/libraries/fmt/default.nix
+++ b/pkgs/development/libraries/fmt/default.nix
@@ -37,7 +37,7 @@ let
         homepage = "http://fmtlib.net/";
         downloadPage = "https://github.com/fmtlib/fmt/";
         maintainers = [ maintainers.jdehaas ];
-        license = licenses.bsd2;
+        license = licenses.mit;
         platforms = platforms.all;
       };
     };
diff --git a/pkgs/development/libraries/freetds/default.nix b/pkgs/development/libraries/freetds/default.nix
index 5166efea21f67..0a9a4684e1257 100644
--- a/pkgs/development/libraries/freetds/default.nix
+++ b/pkgs/development/libraries/freetds/default.nix
@@ -8,11 +8,11 @@ assert odbcSupport -> unixODBC != null;
 
 stdenv.mkDerivation rec {
   pname = "freetds";
-  version = "1.2";
+  version = "1.2.18";
 
   src = fetchurl {
     url    = "https://www.freetds.org/files/stable/${pname}-${version}.tar.bz2";
-    sha256 = "0nilqf3cssi6z8bxxpmc7zxsh7apgwmx8mm7nfc6c5d40z3nyjpk";
+    sha256 = "sha256-ENR+YJhs/FH4Fw+p6rpDEU7r3eC6bmscSBPYbwIaqt0=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/g2o/default.nix b/pkgs/development/libraries/g2o/default.nix
index 675d994cf0e6b..0536ec95c6ff1 100644
--- a/pkgs/development/libraries/g2o/default.nix
+++ b/pkgs/development/libraries/g2o/default.nix
@@ -1,15 +1,15 @@
-{ lib, stdenv, mkDerivation, fetchFromGitHub, cmake, eigen, suitesparse, libGLU
-, qtbase, libqglviewer, makeWrapper }:
+{ lib, stdenv, mkDerivation, fetchFromGitHub, cmake, eigen, suitesparse, blas
+, lapack, libGLU, qtbase, libqglviewer, makeWrapper }:
 
 mkDerivation rec {
   pname = "g2o";
-  version = "20200410";
+  version = "20201223";
 
   src = fetchFromGitHub {
     owner = "RainerKuemmerle";
     repo = pname;
     rev = "${version}_git";
-    sha256 = "11rgj2g9mmwajlr69pjkjvxjyn88afa0r4bchjyvmxswjccizlg2";
+    sha256 = "sha256-Ik6uBz4Z4rc5+mPNdT8vlNZSBom4Tvt8Y6myBC/s0m8=";
   };
 
   # Removes a reference to gcc that is only used in a debug message
@@ -18,11 +18,13 @@ mkDerivation rec {
   separateDebugInfo = true;
 
   nativeBuildInputs = [ cmake makeWrapper ];
-  buildInputs = [ eigen suitesparse libGLU qtbase libqglviewer ];
+  buildInputs = [ eigen suitesparse blas lapack libGLU qtbase libqglviewer ];
 
   # Silence noisy warning
   CXXFLAGS = "-Wno-deprecated-copy";
 
+  dontWrapQtApps = true;
+
   cmakeFlags = [
     # Detection script is broken
     "-DQGLVIEWER_INCLUDE_DIR=${libqglviewer}/include/QGLViewer"
@@ -41,5 +43,7 @@ mkDerivation rec {
     license = with licenses; [ bsd3 lgpl3 gpl3 ];
     maintainers = with maintainers; [ lopsided98 ];
     platforms = platforms.all;
+    # fatal error: 'qglviewer.h' file not found
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/libraries/gcr/default.nix b/pkgs/development/libraries/gcr/default.nix
index 8add81e27969b..92c0ec293cb25 100644
--- a/pkgs/development/libraries/gcr/default.nix
+++ b/pkgs/development/libraries/gcr/default.nix
@@ -22,11 +22,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gcr";
-  version = "3.38.0";
+  version = "3.38.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1q97pba4bzjndm1vlvicyv8mrl0n589qsw71dp8jrz2payvcfk56";
+    sha256 = "F/yvnEqTpl+xxyuCZDuxAsEzRAhGh9WIbqZjE4aNnsk=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/gecode/default.nix b/pkgs/development/libraries/gecode/default.nix
index 46b13e6e37f53..fc9835d85db5d 100644
--- a/pkgs/development/libraries/gecode/default.nix
+++ b/pkgs/development/libraries/gecode/default.nix
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   enableParallelBuilding = true;
+  dontWrapQtApps = true;
   nativeBuildInputs = [ bison flex ];
   buildInputs = [ perl gmp mpfr ]
     ++ lib.optional enableGist qtbase;
diff --git a/pkgs/development/libraries/gensio/default.nix b/pkgs/development/libraries/gensio/default.nix
index 3e4b68ec79c2e..4efc713bb1d71 100644
--- a/pkgs/development/libraries/gensio/default.nix
+++ b/pkgs/development/libraries/gensio/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gensio";
-  version = "2.2.3";
+  version = "2.2.4";
 
   src = fetchFromGitHub {
     owner = "cminyard";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-jWKm64RvVkeA/Zvy8VIAXMykuqv2FEzsduN2zcPm4ME=";
+    sha256 = "sha256-tdMdIudB8zZWXF+Q0YhFo9Q4VHjLJh3rdfQsYhgo2DU=";
   };
 
   passthru = {
diff --git a/pkgs/development/libraries/geos/default.nix b/pkgs/development/libraries/geos/default.nix
index 63806b31e251d..19b03eb620ceb 100644
--- a/pkgs/development/libraries/geos/default.nix
+++ b/pkgs/development/libraries/geos/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchurl, python }:
 
 stdenv.mkDerivation rec {
-  name = "geos-3.8.1";
+  pname = "geos";
+  version = "3.9.1";
 
   src = fetchurl {
-    url = "https://download.osgeo.org/geos/${name}.tar.bz2";
-    sha256 = "1xqpmr10xi0n9sj47fbwc89qb0yr9imh4ybk0jsxpffy111syn22";
+    url = "https://download.osgeo.org/geos/${pname}-${version}.tar.bz2";
+    sha256 = "sha256-fmMFB9ysncB1ZdJJom8GoVyfWwxS3SkSmg49OB1+OCo=";
   };
 
   enableParallelBuilding = true;
@@ -18,6 +19,6 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "C++ port of the Java Topology Suite (JTS)";
     homepage = "https://trac.osgeo.org/geos";
-    license = licenses.lgpl21;
+    license = licenses.lgpl21Only;
   };
 }
diff --git a/pkgs/development/libraries/gexiv2/default.nix b/pkgs/development/libraries/gexiv2/default.nix
index 220b68fa18bc5..071e749b40028 100644
--- a/pkgs/development/libraries/gexiv2/default.nix
+++ b/pkgs/development/libraries/gexiv2/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gexiv2";
-  version = "0.12.1";
+  version = "0.12.2";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0xxxq8xdkgkn146my307jgws4qgxx477h0ybg1mqza1ycmczvsla";
+    sha256 = "IyK1UqyjMO73lySmmcUaMCNF1eB0c4V4s5i38v+XlEw=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config gobject-introspection vala gtk-doc docbook_xsl docbook_xml_dtd_43 ];
diff --git a/pkgs/development/libraries/glfw/3.x.nix b/pkgs/development/libraries/glfw/3.x.nix
index 8698b71567e2e..38ef25770aa93 100644
--- a/pkgs/development/libraries/glfw/3.x.nix
+++ b/pkgs/development/libraries/glfw/3.x.nix
@@ -4,14 +4,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.3.2";
+  version = "3.3.3";
   pname = "glfw";
 
   src = fetchFromGitHub {
     owner = "glfw";
     repo = "GLFW";
     rev = version;
-    sha256 = "0b5lsxz1xkzip7fvbicjkxvg5ig8gbhx1zrlhandqc0rpk56bvyw";
+    sha256 = "sha256-NfEPXjpVnFvh3Y70RZm8nDG0QwJbefF9wYNUq0BZTN4=";
   };
 
   propagatedBuildInputs = [ libGL ];
@@ -22,11 +22,11 @@ stdenv.mkDerivation rec {
   buildInputs = [ libX11 libXrandr libXinerama libXcursor libXi libXext ]
     ++ lib.optionals stdenv.isDarwin [ Cocoa Kernel ];
 
-  cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
-
-  preConfigure  = lib.optional (!stdenv.isDarwin) ''
-    substituteInPlace src/glx_context.c --replace "libGL.so.1" "${lib.getLib libGL}/lib/libGL.so.1"
-  '';
+  cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=ON"
+  ] ++ lib.optional (!stdenv.isDarwin) [
+    "-DCMAKE_C_FLAGS=-D_GLFW_GLX_LIBRARY='\"${lib.getLib libGL}/lib/libGL.so.1\"'"
+  ];
 
   meta = with lib; {
     description = "Multi-platform library for creating OpenGL contexts and managing input, including keyboard, mouse, joystick and time";
diff --git a/pkgs/development/libraries/glibc/2.32-35.patch.gz b/pkgs/development/libraries/glibc/2.32-master.patch.gz
index f77e490ebf54b..36aaf51cce9c8 100644
--- a/pkgs/development/libraries/glibc/2.32-35.patch.gz
+++ b/pkgs/development/libraries/glibc/2.32-master.patch.gz
Binary files differdiff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index 54882ba671857..8bf78300739e1 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -42,7 +42,7 @@
 
 let
   version = "2.32";
-  patchSuffix = "-35";
+  patchSuffix = "-37";
   sha256 = "0di848ibffrnwq7g2dvgqrnn4xqhj3h96csn69q4da51ymafl9qn";
 in
 
@@ -63,10 +63,10 @@ stdenv.mkDerivation ({
          and using git or something would complicate bootstrapping.
          Fortunately it's not too big.
           $ git checkout origin/release/2.32/master; git describe
-          glibc-2.32-35-g082798622d
-          $ git show --reverse glibc-2.32.. | gzip -n -9 --rsyncable - > 2.32-35.patch.gz
+          glibc-2.32-37-g760e1d2878
+          $ git show --reverse glibc-2.32.. | gzip -n -9 --rsyncable - > 2.32-master.patch.gz
        */
-      ./2.32-35.patch.gz
+      ./2.32-master.patch.gz
 
       /* Allow NixOS and Nix to handle the locale-archive. */
       ./nix-locale-archive.patch
diff --git a/pkgs/development/libraries/gnu-config/default.nix b/pkgs/development/libraries/gnu-config/default.nix
index 74b94e68f5643..a08997ea2cdbe 100644
--- a/pkgs/development/libraries/gnu-config/default.nix
+++ b/pkgs/development/libraries/gnu-config/default.nix
@@ -1,20 +1,20 @@
 { lib, stdenv, fetchurl }:
 
 let
-  rev = "e78c96e5288993aaea3ec44e5c6ee755c668da79";
+  rev = "6faca61810d335c7837f320733fe8e15a1431fc2";
 
   # Don't use fetchgit as this is needed during Aarch64 bootstrapping
   configGuess = fetchurl {
     url = "https://git.savannah.gnu.org/cgit/config.git/plain/config.guess?id=${rev}";
-    sha256 = "sha256-TSLpYIDGSp1flqCBi2Sgg9IWDV5bcO+Hn2Menv3R6KU=";
+    sha256 = "06wkkhpbx9slmknr2g7mcd8x3zsdhnmmay25l31h3rkdp1wkq7kx";
   };
   configSub = fetchurl {
     url = "https://git.savannah.gnu.org/cgit/config.git/plain/config.sub?id=${rev}";
-    sha256 = "sha256-DkCGDN/DE3phQ1GO/Ua5ZPPtp0Ya93PnW3yfSK8EV9s=";
+    sha256 = "1qkph8cqanmgy3s4a18bm1a4vk62i8pf8cy5pc1hkpqwn4g6l0di";
   };
 in stdenv.mkDerivation {
   pname = "gnu-config";
-  version = "2020-05-04";
+  version = "2021-01-25";
 
   buildCommand = ''
     mkdir -p $out
diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix
index 2cd1e783ea924..57acec4860a7e 100644
--- a/pkgs/development/libraries/gnutls/default.nix
+++ b/pkgs/development/libraries/gnutls/default.nix
@@ -1,5 +1,5 @@
 { config, lib, stdenv, fetchurl, zlib, lzo, libtasn1, nettle, pkg-config, lzip
-, perl, gmp, autoconf, autogen, automake, libidn, p11-kit, libiconv
+, perl, gmp, autoconf, automake, libidn, p11-kit, libiconv
 , unbound, dns-root-data, gettext, cacert, util-linux
 , guileBindings ? config.gnutls.guile or false, guile
 , tpmSupport ? false, trousers, which, nettools, libunistring
@@ -71,7 +71,7 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  buildInputs = [ lzo lzip libtasn1 libidn p11-kit zlib gmp autogen libunistring unbound gettext libiconv ]
+  buildInputs = [ lzo lzip libtasn1 libidn p11-kit zlib gmp libunistring unbound gettext libiconv ]
     ++ lib.optional (isDarwin && withSecurity) Security
     ++ lib.optional (tpmSupport && stdenv.isLinux) trousers
     ++ lib.optional guileBindings guile;
diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix
index 51b259a3ca810..326e5da0812c9 100644
--- a/pkgs/development/libraries/gpgme/default.nix
+++ b/pkgs/development/libraries/gpgme/default.nix
@@ -49,6 +49,8 @@ stdenv.mkDerivation rec {
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
 
+  dontWrapQtApps = true;
+
   configureFlags = [
     "--enable-fixed-path=${gnupg}/bin"
     "--with-libgpg-error-prefix=${libgpgerror.dev}"
diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix
index 92cf619ab5bd6..d6a1b44fe4264 100644
--- a/pkgs/development/libraries/grpc/default.nix
+++ b/pkgs/development/libraries/grpc/default.nix
@@ -1,15 +1,15 @@
 { lib, stdenv, fetchFromGitHub, fetchpatch, cmake, zlib, c-ares, pkg-config, openssl, protobuf
-, gflags, abseil-cpp, libnsl
+, gflags, libnsl
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.34.1"; # N.B: if you change this, change pythonPackages.grpcio-tools to a matching version too
+  version = "1.35.0"; # N.B: if you change this, change pythonPackages.grpcio-tools to a matching version too
   pname = "grpc";
   src = fetchFromGitHub {
     owner = "grpc";
     repo = "grpc";
     rev = "v${version}";
-    sha256 = "0p6si9i0gg885ag2x87a7jyzhgd5lhx2bh2vjj2ra1jn6y3vg6qk";
+    sha256 = "0vxgp3kqxsglavzs91ybpkkh7aaywxcryacp5z3z6dpsgmw0mscd";
     fetchSubmodules = true;
   };
   patches = [
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ zlib c-ares c-ares.cmake-config openssl protobuf gflags abseil-cpp ]
+  buildInputs = [ zlib c-ares c-ares.cmake-config openssl protobuf gflags ]
     ++ lib.optionals stdenv.isLinux [ libnsl ];
 
   cmakeFlags =
@@ -30,7 +30,6 @@ stdenv.mkDerivation rec {
       "-DgRPC_SSL_PROVIDER=package"
       "-DgRPC_PROTOBUF_PROVIDER=package"
       "-DgRPC_GFLAGS_PROVIDER=package"
-      "-DgRPC_ABSL_PROVIDER=package"
       "-DBUILD_SHARED_LIBS=ON"
       "-DCMAKE_SKIP_BUILD_RPATH=OFF"
     ];
diff --git a/pkgs/development/libraries/gsasl/default.nix b/pkgs/development/libraries/gsasl/default.nix
index 48ee0ddd4a510..9b6562b9891fd 100644
--- a/pkgs/development/libraries/gsasl/default.nix
+++ b/pkgs/development/libraries/gsasl/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, lib, stdenv, libidn, kerberos }:
 
 stdenv.mkDerivation rec {
-  name = "gsasl-1.8.0";
+  name = "gsasl-1.10.0";
 
   src = fetchurl {
     url = "mirror://gnu/gsasl/${name}.tar.gz";
-    sha256 = "1rci64cxvcfr8xcjpqc4inpfq7aw4snnsbf5xz7d30nhvv8n40ii";
+    sha256 = "sha256-hby9juYJWt54cCY6KOvLiDL1Qepzk5dUlJJgFcB1aNM=";
   };
 
   buildInputs = [ libidn kerberos ];
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index 313a063cae898..178bf64f5c296 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -1,10 +1,8 @@
 { lib, stdenv
 , fetchurl
-, fetchpatch
 , meson
 , ninja
 , gettext
-, config
 , pkg-config
 , python3
 , gst-plugins-base
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index a032f5f5b5a49..3ab25863a8086 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -30,6 +30,7 @@
 , mpg123
 , twolame
 , gtkSupport ? false, gtk3 ? null
+, qt5Support ? false, qt5 ? null
 , raspiCameraSupport ? false, libraspberrypi ? null
 , enableJack ? true, libjack2
 , libXdamage
@@ -102,7 +103,12 @@ stdenv.mkDerivation rec {
   ] ++ optionals gtkSupport [
     # for gtksink
     gtk3
-  ] ++ optionals stdenv.isDarwin [
+  ] ++ optionals qt5Support (with qt5; [
+    qtbase
+    qtdeclarative
+    qtwayland
+    qtx11extras
+  ]) ++ optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Cocoa
   ] ++ optionals stdenv.isLinux [
     libv4l
@@ -118,7 +124,8 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
     "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing
-    "-Dqt5=disabled" # not clear as of writing how to correctly pass in the required qt5 deps
+  ] ++ optionals (!qt5Support) [
+    "-Dqt5=disabled"
   ] ++ optionals (!gtkSupport) [
     "-Dgtk3=disabled"
   ] ++ optionals (!enableJack) [
@@ -131,7 +138,6 @@ stdenv.mkDerivation rec {
     "-Dv4l2-gudev=disabled" # Linux-only
     "-Dv4l2=disabled" # Linux-only
     "-Dximagesrc=disabled" # Linux-only
-    "-Dpulse=disabled" # TODO check if we can keep this enabled
   ] ++ optionals (!raspiCameraSupport) [
     "-Drpicamsrc=disabled"
   ];
@@ -150,6 +156,9 @@ stdenv.mkDerivation rec {
   # fails 1 tests with "Unexpected critical/warning: g_object_set_is_valid_property: object class 'GstRtpStorage' has no property named ''"
   doCheck = false;
 
+  # must be explicitely set since 5590e365
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "GStreamer Good Plugins";
     homepage = "https://gstreamer.freedesktop.org";
diff --git a/pkgs/development/libraries/gtk-engines/default.nix b/pkgs/development/libraries/gtk-engines/default.nix
index 115547a72f73c..70b2c4d1e229b 100644
--- a/pkgs/development/libraries/gtk-engines/default.nix
+++ b/pkgs/development/libraries/gtk-engines/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "gtk-engines-2.20.2";
 
   src = fetchurl {
-    url = "ftp://ftp.gnome.org/pub/gnome/sources/gtk-engines/2.20/gtk-engines-2.20.2.tar.bz2";
+    url = "mirror://gnome/sources/gtk-engines/2.20/gtk-engines-2.20.2.tar.bz2";
     sha256 = "1db65pb0j0mijmswrvpgkdabilqd23x22d95hp5kwxvcramq1dhm";
   };
 
diff --git a/pkgs/development/libraries/gtk/2.x.nix b/pkgs/development/libraries/gtk/2.x.nix
index 43b7ff5f127f7..4304cb388d1a1 100644
--- a/pkgs/development/libraries/gtk/2.x.nix
+++ b/pkgs/development/libraries/gtk/2.x.nix
@@ -96,5 +96,6 @@ stdenv.mkDerivation rec {
       proprietary software with GTK without any license fees or
       royalties.
     '';
+    changelog = "https://gitlab.gnome.org/GNOME/gtk/-/raw/${version}/NEWS";
   };
 }
diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix
index 0e5c6edc96409..159b03a26e1fa 100644
--- a/pkgs/development/libraries/gtk/3.x.nix
+++ b/pkgs/development/libraries/gtk/3.x.nix
@@ -214,7 +214,8 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://www.gtk.org/";
     license = licenses.lgpl2Plus;
-    maintainers = with maintainers; [ raskin vcunat lethalman worldofpeace ];
+    maintainers = with maintainers; [ raskin lethalman worldofpeace ];
     platforms = platforms.all;
+    changelog = "https://gitlab.gnome.org/GNOME/gtk/-/raw/${version}/NEWS";
   };
 }
diff --git a/pkgs/development/libraries/gtk/4.x.nix b/pkgs/development/libraries/gtk/4.x.nix
new file mode 100644
index 0000000000000..b05e9ea03933f
--- /dev/null
+++ b/pkgs/development/libraries/gtk/4.x.nix
@@ -0,0 +1,233 @@
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, gettext
+, graphene
+, docbook-xsl-nons
+, docbook_xml_dtd_43
+, gtk-doc
+, meson
+, ninja
+, python3
+, makeWrapper
+, shared-mime-info
+, isocodes
+, glib
+, cairo
+, pango
+, pandoc
+, gdk-pixbuf
+, gobject-introspection
+, fribidi
+, xorg
+, epoxy
+, json-glib
+, libxkbcommon
+, libxml2
+, librest
+, libsoup
+, ffmpeg
+, gmp
+, gnome3
+, gsettings-desktop-schemas
+, gst_all_1
+, sassc
+, trackerSupport ? stdenv.isLinux
+, tracker
+, x11Support ? stdenv.isLinux
+, waylandSupport ? stdenv.isLinux
+, mesa
+, vulkan-loader
+, vulkan-headers
+, wayland
+, wayland-protocols
+, xineramaSupport ? stdenv.isLinux
+, cupsSupport ? stdenv.isLinux
+, withGtkDoc ? stdenv.isLinux
+, cups ? null
+, AppKit
+, Cocoa
+, broadwaySupport ? true
+}:
+
+assert cupsSupport -> cups != null;
+
+stdenv.mkDerivation rec {
+  pname = "gtk4";
+  version = "4.0.3";
+
+  outputs = [ "out" "dev" ] ++ lib.optional withGtkDoc "devdoc";
+  outputBin = "dev";
+
+  setupHooks = [
+    ./hooks/gtk4-clean-immodules-cache.sh
+    ./hooks/drop-icon-theme-cache.sh
+  ];
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gtk/${lib.versions.majorMinor version}/gtk-${version}.tar.xz";
+    sha256 = "18mJNyV5C1C9mjuyeIVtnVQ7RLa5uVHXtg573swTGJA=";
+  };
+
+  nativeBuildInputs = [
+    gettext
+    gobject-introspection
+    makeWrapper
+    meson
+    ninja
+    pkg-config
+    python3
+    sassc
+  ] ++ setupHooks ++ lib.optionals withGtkDoc [
+    pandoc
+    docbook_xml_dtd_43
+    docbook-xsl-nons
+    gtk-doc
+    # For xmllint
+    libxml2
+  ];
+
+  buildInputs = [
+    libxkbcommon
+    epoxy
+    json-glib
+    isocodes
+    vulkan-headers
+    librest
+    libsoup
+    ffmpeg
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-bad
+    fribidi
+  ] ++ (with xorg; [
+    libICE
+    libSM
+    libXcomposite
+    libXcursor
+    libXi
+    libXrandr
+    libXrender
+  ]) ++ lib.optionals stdenv.isDarwin [
+    AppKit
+  ] ++ lib.optionals trackerSupport [
+    tracker
+  ] ++ lib.optionals waylandSupport [
+    mesa
+    wayland
+    wayland-protocols
+  ] ++ lib.optionals xineramaSupport [
+    xorg.libXinerama
+  ] ++ lib.optionals cupsSupport [
+    cups
+  ] ++ lib.optionals stdenv.isDarwin [
+    Cocoa
+  ];
+  #TODO: colord?
+
+  propagatedBuildInputs = [
+    # Required by pkg-config files.
+    cairo
+    gdk-pixbuf
+    glib
+    graphene
+    pango
+    vulkan-loader # TODO: Possibly not used on Darwin
+
+    # Required for GSettings schemas at runtime.
+    # Will be picked up by wrapGAppsHook.
+    gsettings-desktop-schemas
+  ];
+
+  mesonFlags = [
+    "-Dgtk_doc=${lib.boolToString withGtkDoc}"
+    "-Dtests=false"
+    "-Dtracker3=${lib.boolToString trackerSupport}"
+    "-Dbroadway_backend=${lib.boolToString broadwaySupport}"
+  ];
+
+  doCheck = false; # needs X11
+
+  separateDebugInfo = stdenv.isLinux;
+
+  # These are the defines that'd you'd get with --enable-debug=minimum (default).
+  # See: https://developer.gnome.org/gtk3/stable/gtk-building.html#extra-configuration-options
+  NIX_CFLAGS_COMPILE = "-DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS";
+
+  postPatch = ''
+    files=(
+      build-aux/meson/post-install.py
+      demos/gtk-demo/geninclude.py
+      gdk/broadway/gen-c-array.py
+      gdk/gen-gdk-gresources-xml.py
+      gtk/gen-gtk-gresources-xml.py
+      gtk/gentypefuncs.py
+      docs/reference/gtk/gtk-markdown-to-docbook
+    )
+
+    chmod +x ''${files[@]}
+    patchShebangs ''${files[@]}
+  '';
+
+  postBuild =  lib.optionalString withGtkDoc ''
+    # Meson not building `custom_target`s passed to `custom_files` argument of `gnome.gtkdoc` function
+    # as part of the `install` target. We have to build the docs manually first.
+    # https://github.com/mesonbuild/meson/issues/2831
+    ninja g{t,d,s}k4-doc
+  '';
+
+  preInstall = ''
+    OLD_PATH="$PATH"
+    PATH="$PATH:$dev/bin" # so the install script finds gtk4-update-icon-cache
+  '';
+
+  postInstall = ''
+    PATH="$OLD_PATH"
+  '' + lib.optionalString (!stdenv.isDarwin) ''
+    # The updater is needed for nixos env and it's tiny.
+    moveToOutput bin/gtk4-update-icon-cache "$out"
+    # Launcher
+    moveToOutput bin/gtk-launch "$out"
+
+    # TODO: patch glib directly
+    for f in $dev/bin/gtk4-encode-symbolic-svg; do
+      wrapProgram $f --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
+    done
+  '';
+
+  # Wrap demos
+  postFixup =  lib.optionalString (!stdenv.isDarwin) ''
+    demos=(gtk4-demo gtk4-demo-application gtk4-icon-browser gtk4-widget-factory)
+
+    for program in ''${demos[@]}; do
+      wrapProgram $dev/bin/$program \
+        --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share/gsettings-schemas/${pname}-${version}"
+    done
+  '';
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "gtk";
+      attrPath = "gtk4";
+    };
+  };
+
+  meta = with lib; {
+    description = "A multi-platform toolkit for creating graphical user interfaces";
+    longDescription = ''
+      GTK is a highly usable, feature rich toolkit for creating
+      graphical user interfaces which boasts cross platform
+      compatibility and an easy to use API.  GTK it is written in C,
+      but has bindings to many other popular programming languages
+      such as C++, Python and C# among others.  GTK is licensed
+      under the GNU LGPL 2.1 allowing development of both free and
+      proprietary software with GTK without any license fees or
+      royalties.
+    '';
+    homepage = "https://www.gtk.org/";
+    license = licenses.lgpl2Plus;
+    maintainers = with maintainers; [ raskin lethalman worldofpeace ];
+    platforms = platforms.all;
+    changelog = "https://gitlab.gnome.org/GNOME/gtk/-/raw/${version}/NEWS";
+  };
+}
diff --git a/pkgs/development/libraries/gtk/hooks/gtk4-clean-immodules-cache.sh b/pkgs/development/libraries/gtk/hooks/gtk4-clean-immodules-cache.sh
new file mode 100644
index 0000000000000..49f7051aabb6f
--- /dev/null
+++ b/pkgs/development/libraries/gtk/hooks/gtk4-clean-immodules-cache.sh
@@ -0,0 +1,11 @@
+# shellcheck shell=bash
+
+fixupOutputHooks+=(_gtk4CleanComments)
+
+# Clean comments that link to generator of the file
+_gtk4CleanComments() {
+    local f="${prefix:?}/lib/gtk-4.0/4.0.0/immodules.cache"
+    if [ -f "$f" ]; then
+        sed 's|Created by .*bin/gtk-query-|Created by bin/gtk-query-|' -i "$f"
+    fi
+}
diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix
index c30d678e02d54..2c9bac002fd35 100644
--- a/pkgs/development/libraries/gvfs/default.nix
+++ b/pkgs/development/libraries/gvfs/default.nix
@@ -41,11 +41,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gvfs";
-  version = "1.46.1";
+  version = "1.46.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "00r56kp8dhdn1ypyap66klymlwlh646n4f1ri797w2x6p70sc7k2";
+    sha256 = "2D+hYChmcMA+uJAkBgbYr6fqajqBjorRfu7Y2XZIe9c=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index b3615893b5329..3f31a3f6db3fc 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -11,7 +11,7 @@
 }:
 
 let
-  version = "2.7.2";
+  version = "2.7.4";
   inherit (lib) optional optionals optionalString;
   mesonFeatureFlag = opt: b:
     "-D${opt}=${if b then "enabled" else "disabled"}";
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
     owner  = "harfbuzz";
     repo   = "harfbuzz";
     rev    = version;
-    sha256 = "0vfyxr3lvzp80j1347nrwpr1ndv265p15rj2q8rj31lb26nyz4dm";
+    sha256 = "sha256-uMkniDNBQ2mxDmeM7K/YQtZ3Avh9RVXYe7XsUErGas8=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/hpx/default.nix b/pkgs/development/libraries/hpx/default.nix
index 329fa99fa1cd7..da29c0e07e7a5 100644
--- a/pkgs/development/libraries/hpx/default.nix
+++ b/pkgs/development/libraries/hpx/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hpx";
-  version = "1.5.1";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "STEllAR-GROUP";
     repo = "hpx";
     rev = version;
-    sha256 = "1ld2k00500p107jarw379hsd1nlnm33972nv9c3ssfq619bj01c9";
+    sha256 = "sha256-Fkntfk5AaWtS1x0fXfLSWW/9tvKcCBi1COqgNxurPmk=";
   };
 
   buildInputs = [ boost hwloc gperftools ];
diff --git a/pkgs/development/libraries/hunspell/wrapper.nix b/pkgs/development/libraries/hunspell/wrapper.nix
index 34c3d26c55ec0..4ae1772327511 100644
--- a/pkgs/development/libraries/hunspell/wrapper.nix
+++ b/pkgs/development/libraries/hunspell/wrapper.nix
@@ -5,7 +5,7 @@ let
 in
 stdenv.mkDerivation {
   name = (appendToName "with-dicts" hunspell).name;
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
   buildCommand = ''
     makeWrapper ${hunspell.bin}/bin/hunspell $out/bin/hunspell --prefix DICPATH : ${searchPath}
   '';
diff --git a/pkgs/development/libraries/icu/68.nix b/pkgs/development/libraries/icu/68.nix
new file mode 100644
index 0000000000000..5aeba0f2628c7
--- /dev/null
+++ b/pkgs/development/libraries/icu/68.nix
@@ -0,0 +1,4 @@
+import ./base.nix {
+  version = "68.2";
+  sha256 = "09fng7a80xj8d5r1cgbgq8r47dsw5jsr6si9p2cj2ylhwgg974f7";
+}
diff --git a/pkgs/development/libraries/imlib2/default.nix b/pkgs/development/libraries/imlib2/default.nix
index 666fcab989b7a..23550bbc8072f 100644
--- a/pkgs/development/libraries/imlib2/default.nix
+++ b/pkgs/development/libraries/imlib2/default.nix
@@ -12,11 +12,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "imlib2";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/enlightenment/${pname}-${version}.tar.bz2";
-    sha256 = "0zdk4afdrrr1539f2q15zja19j4wwfmpswzws2ffgflcnhywlxhr";
+    sha256 = "sha256-AzpqY53LyOA/Zf8F5XBo5zRtUO4vL/8wS7kJWhsrxAc=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/inchi/default.nix b/pkgs/development/libraries/inchi/default.nix
index 6acdf340c91a5..256e0d702434c 100644
--- a/pkgs/development/libraries/inchi/default.nix
+++ b/pkgs/development/libraries/inchi/default.nix
@@ -1,4 +1,11 @@
-{ pkgs, fetchurl, lib, stdenv, unzip }:
+{ pkgs
+, fetchurl
+, lib
+, stdenv
+, unzip
+, fixDarwinDylibNames
+}:
+
 stdenv.mkDerivation {
   pname = "inchi";
   version = "1.05";
@@ -7,15 +14,23 @@ stdenv.mkDerivation {
     sha1 = "e3872a46d58cb321a98f4fd4b93a989fb6920b9c";
   };
 
-  nativeBuildInputs = [ pkgs.unzip ];
+  nativeBuildInputs = [ unzip ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
   outputs = [ "out" "doc" ];
 
   enableParallelBuilding = true;
 
-  preBuild = ''
+  preConfigure = ''
     cd ./INCHI_API/libinchi/gcc
+  '' + lib.optionalString stdenv.isDarwin ''
+    substituteInPlace makefile \
+      --replace ",--version-script=libinchi.map" "" \
+      --replace "LINUX_Z_RELRO = ,-z,relro" "" \
+      --replace "-soname" "-install_name" \
+      --replace "gcc" $CC
   '';
   installPhase = ''
+    runHook preInstall
+
     cd ../../..
     mkdir -p $out/lib
     mkdir -p $out/include/inchi
@@ -29,6 +44,10 @@ stdenv.mkDerivation {
     runHook postInstall
   '';
 
+  preFixup = lib.optionalString stdenv.isDarwin ''
+    fixDarwinDylibNames $(find "$out" -name "*.so.*")
+  '';
+
   postInstall =
     let
       src-doc = fetchurl {
@@ -45,7 +64,6 @@ stdenv.mkDerivation {
     homepage = "https://www.inchi-trust.org/";
     description = "IUPAC International Chemical Identifier library";
     license = licenses.lgpl2Plus;
-    platforms = platforms.all;
     maintainers = with maintainers; [ rmcgibbo ];
   };
 }
diff --git a/pkgs/development/libraries/inih/default.nix b/pkgs/development/libraries/inih/default.nix
index 11e49f7ddc49e..cc979732787b0 100644
--- a/pkgs/development/libraries/inih/default.nix
+++ b/pkgs/development/libraries/inih/default.nix
@@ -2,23 +2,17 @@
 
 stdenv.mkDerivation rec {
   pname = "inih";
-  version = "r52";
+  version = "r53";
 
   src = fetchFromGitHub {
     owner = "benhoyt";
     repo = pname;
     rev = version;
-    sha256 = "0lsvm34zabvi1xlximybzvgc58zb90mm3b9babwxlqs05jy871m4";
+    sha256 = "0dqf5j2sw4hq68rqvxbrsf44ygfzx9ypiyzipk4cvp9aimbvsbc6";
   };
 
   nativeBuildInputs = [ meson ninja ];
 
-  mesonFlags = [
-    "-Ddefault_library=shared"
-    "-Ddistro_install=true"
-    "-Dwith_INIReader=true"
-  ];
-
   meta = with lib; {
     description = "Simple .INI file parser in C, good for embedded systems";
     homepage = "https://github.com/benhoyt/inih";
diff --git a/pkgs/development/libraries/intel-media-driver/default.nix b/pkgs/development/libraries/intel-media-driver/default.nix
index 6e62484ac681f..01c6ef002e507 100644
--- a/pkgs/development/libraries/intel-media-driver/default.nix
+++ b/pkgs/development/libraries/intel-media-driver/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-media-driver";
-  version = "21.1.0";
+  version = "21.1.1";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "media-driver";
     rev    = "intel-media-${version}";
-    sha256 = "17cgs52f42jdvfb6q3wpkxaz2b41z59jdribpgb9qmcvizsnglxc";
+    sha256 = "1cgmpy2wqhv8zljz73wm4rggpk9w1prpmab5qphfp7ljajfv7k8r";
   };
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/java/junixsocket/default.nix b/pkgs/development/libraries/java/junixsocket/default.nix
index 7a7d6a933bc06..0484f4c59ba6f 100644
--- a/pkgs/development/libraries/java/junixsocket/default.nix
+++ b/pkgs/development/libraries/java/junixsocket/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   ANT_ARGS =
     # Note that our OpenJDK on Darwin is currently 32-bit, so we have to build a 32-bit dylib.
     (if stdenv.is64bit then [ "-Dskip32=true" ] else [ "-Dskip64=true" ])
-    ++ [ "-Dgcc=cc" "-Dant.build.javac.source=1.6" ]
+    ++ [ "-Dgcc=${stdenv.cc.targetPrefix}cc" "-Dant.build.javac.source=1.6" ]
     ++ lib.optional stdenv.isDarwin "-DisMac=true";
 
   installPhase =
diff --git a/pkgs/development/libraries/java/lombok/default.nix b/pkgs/development/libraries/java/lombok/default.nix
index ddf95ead249ab..5519a1fb76657 100644
--- a/pkgs/development/libraries/java/lombok/default.nix
+++ b/pkgs/development/libraries/java/lombok/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "1msys7xkaj0d7fi112fmb2z50mk46db58agzrrdyimggsszwn1kj";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   outputs = [ "out" "bin" ];
 
diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix
index a820d947b7f89..ed086dac90fba 100644
--- a/pkgs/development/libraries/json-glib/default.nix
+++ b/pkgs/development/libraries/json-glib/default.nix
@@ -1,23 +1,47 @@
-{ lib, stdenv, fetchurl, glib, meson, ninja, pkg-config, gettext
-, gobject-introspection, fixDarwinDylibNames, gnome3
+{ lib
+, stdenv
+, fetchurl
+, glib
+, meson
+, ninja
+, pkg-config
+, gettext
+, gobject-introspection
+, fixDarwinDylibNames
+, gtk-doc
+, docbook-xsl-nons
+, docbook_xml_dtd_43
+, gnome3
 }:
 
-let
+stdenv.mkDerivation rec {
   pname = "json-glib";
-  version = "1.4.4";
-in stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
+  version = "1.6.2";
+
+  outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j";
+    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "092g2dyy1hhl0ix9kp33wcab0pg1qicnsv0cj5ms9g9qs336cgd3";
   };
 
-  propagatedBuildInputs = [ glib ];
-  nativeBuildInputs = [ meson ninja pkg-config gettext gobject-introspection glib ]
-    ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gettext
+    gobject-introspection
+    glib
+    gtk-doc
+    docbook-xsl-nons
+    docbook_xml_dtd_43
+  ] ++ lib.optional stdenv.hostPlatform.isDarwin [
+    fixDarwinDylibNames
+  ];
 
-  outputs = [ "out" "dev" ];
+  propagatedBuildInputs = [
+    glib
+  ];
 
   doCheck = true;
 
@@ -30,8 +54,8 @@ in stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A library providing (de)serialization support for the JavaScript Object Notation (JSON) format";
     homepage = "https://wiki.gnome.org/Projects/JsonGlib";
-    license = licenses.lgpl2;
-    maintainers = with maintainers; [ lethalman ];
+    license = licenses.lgpl21Plus;
+    maintainers = teams.gnome.members;
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/libraries/jsoncpp/default.nix b/pkgs/development/libraries/jsoncpp/default.nix
index 71b0d7b9a9228..b7754a186d1e7 100644
--- a/pkgs/development/libraries/jsoncpp/default.nix
+++ b/pkgs/development/libraries/jsoncpp/default.nix
@@ -13,6 +13,14 @@ stdenv.mkDerivation rec {
     sha256 = "0qnx5y6c90fphl9mj9d20j2dfgy6s5yr5l0xnzid0vh71zrp6jwv";
   };
 
+  patches = [
+    # Fix for https://github.com/open-source-parsers/jsoncpp/issues/1235.
+    (fetchpatch {
+      url = "https://github.com/open-source-parsers/jsoncpp/commit/ac2870298ed5b5a96a688d9df07461b31f83e906.patch";
+      sha256 = "02wswhiwypmf1jn3rj9q1fw164kljiv4l8h0q6wyijzr77hq4wsg";
+    })
+  ];
+
   /* During darwin bootstrap, we have a cp that doesn't understand the
    * --reflink=auto flag, which is used in the default unpackPhase for dirs
    */
diff --git a/pkgs/development/libraries/kde-frameworks/fetch.sh b/pkgs/development/libraries/kde-frameworks/fetch.sh
index 5c6ea732b6909..01d6a7ba2b1e1 100644
--- a/pkgs/development/libraries/kde-frameworks/fetch.sh
+++ b/pkgs/development/libraries/kde-frameworks/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/frameworks/5.76/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/frameworks/5.78/ -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/kde-frameworks/kcompletion.nix b/pkgs/development/libraries/kde-frameworks/kcompletion.nix
index fdfe28db6c04c..26e5a83dc21bd 100644
--- a/pkgs/development/libraries/kde-frameworks/kcompletion.nix
+++ b/pkgs/development/libraries/kde-frameworks/kcompletion.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib,
+  mkDerivation, lib, fetchpatch,
   extra-cmake-modules,
   kconfig, kwidgetsaddons, qtbase, qttools
 }:
@@ -7,6 +7,13 @@
 mkDerivation {
   name = "kcompletion";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
+  patches = [
+    # https://mail.kde.org/pipermail/distributions/2021-January/000928.html
+    (fetchpatch {
+      url = "https://invent.kde.org/frameworks/kcompletion/commit/7acda936f06193e9fc85ae5cf9ccc8d65971f657.patch";
+      sha256 = "150ff506rhr5pin5363ks222vhv8qd77y5s5nyylcbdjry3ljd3n";
+    })
+  ];
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ kconfig kwidgetsaddons qttools ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/kguiaddons.nix b/pkgs/development/libraries/kde-frameworks/kguiaddons.nix
index 66cd8ddf64f64..a9b3c416624d0 100644
--- a/pkgs/development/libraries/kde-frameworks/kguiaddons.nix
+++ b/pkgs/development/libraries/kde-frameworks/kguiaddons.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib,
   extra-cmake-modules,
-  qtbase, qtx11extras,
+  qtbase, qtx11extras, wayland,
 }:
 
 mkDerivation {
@@ -11,7 +11,7 @@ mkDerivation {
     broken = builtins.compareVersions qtbase.version "5.7.0" < 0;
   };
   nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [ qtx11extras ];
+  buildInputs = [ qtx11extras wayland ];
   propagatedBuildInputs = [ qtbase ];
   outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kio/default.nix b/pkgs/development/libraries/kde-frameworks/kio/default.nix
index 434496c7b9a94..642151913db3b 100644
--- a/pkgs/development/libraries/kde-frameworks/kio/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kio/default.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib,
+  mkDerivation, lib, fetchpatch,
   extra-cmake-modules, kdoctools, qttools,
   karchive, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons,
   kdbusaddons, ki18n, kiconthemes, kitemviews, kjobwidgets, knotifications,
@@ -24,5 +24,10 @@ mkDerivation {
   patches = [
     ./samba-search-path.patch
     ./kio-debug-module-loader.patch
+    # https://mail.kde.org/pipermail/distributions/2021-February/000938.html
+    (fetchpatch {
+      url = "https://invent.kde.org/frameworks/kio/commit/a183dd0d1ee0659e5341c7cb4117df27edd6f125.patch";
+      sha256 = "1msnzi93zggxgarx962gnlz1slx13nc3l54wib3rdlj0xnnlfdnd";
+    })
   ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix
index dbc74b831125e..8701a43b4d77d 100644
--- a/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -1,670 +1,670 @@
 # DO NOT EDIT! This file is generated automatically.
-# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/kde-frameworks/
+# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/kde-frameworks
 { fetchurl, mirror }:
 
 {
   attica = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/attica-5.76.0.tar.xz";
-      sha256 = "64b262f61935653b91a83f4d1c659e7dcaf575b12aa955fe16d8392adb256e22";
-      name = "attica-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/attica-5.78.0.tar.xz";
+      sha256 = "0xlnsh9py1v7di305qic0kzpwbq0yw41rilkq1f8p9zsixl99w8m";
+      name = "attica-5.78.0.tar.xz";
     };
   };
   baloo = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/baloo-5.76.0.tar.xz";
-      sha256 = "8ae9e6dd51c84150f7fc581ebf04617f3ee9e1f96e08df79d6f15ee29f5f95f9";
-      name = "baloo-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/baloo-5.78.0.tar.xz";
+      sha256 = "1p8s0lgbqajpzbrc2pb1vzga0bsfwqjb4pzvvgqdlb419ijcjlpi";
+      name = "baloo-5.78.0.tar.xz";
     };
   };
   bluez-qt = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/bluez-qt-5.76.0.tar.xz";
-      sha256 = "a3f99a10e5f018bac91b4bd88be23a6ea9399aa1ab29d16840d5ee2c20537835";
-      name = "bluez-qt-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/bluez-qt-5.78.0.tar.xz";
+      sha256 = "1g83sfvl8zmyc9l5kr2bb9pdfis01m1ib9pz6qq1k5zv5aq3cyz9";
+      name = "bluez-qt-5.78.0.tar.xz";
     };
   };
   breeze-icons = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/breeze-icons-5.76.0.tar.xz";
-      sha256 = "d0211f0e6fa9137dbb42bcad1ac352bbfe793b6a3e6483adc2051b5c24a7851b";
-      name = "breeze-icons-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/breeze-icons-5.78.0.tar.xz";
+      sha256 = "1fa9lirik0ic03nb56xmiirpbcg57l1b3q7dkn9r5h6scc0nsps2";
+      name = "breeze-icons-5.78.0.tar.xz";
     };
   };
   extra-cmake-modules = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/extra-cmake-modules-5.76.0.tar.xz";
-      sha256 = "4845e9e0a43ba15158c0cfdc7ab594e7d02692fab9083201715270a096704a32";
-      name = "extra-cmake-modules-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/extra-cmake-modules-5.78.0.tar.xz";
+      sha256 = "1y8js21adfzl6g5q46gj7dl8q2jhfvx0ba3ipmbclkpj4461zppf";
+      name = "extra-cmake-modules-5.78.0.tar.xz";
     };
   };
   frameworkintegration = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/frameworkintegration-5.76.0.tar.xz";
-      sha256 = "7ac6c070190ab4c0c2ac15a921886ed7f3b70d6a0b7c41766d21a913e9f086fb";
-      name = "frameworkintegration-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/frameworkintegration-5.78.0.tar.xz";
+      sha256 = "0rvi82fqck8jaxnrh5fd8m581civ174hpczanmw6n7birxvmk2wh";
+      name = "frameworkintegration-5.78.0.tar.xz";
     };
   };
   kactivities = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kactivities-5.76.0.tar.xz";
-      sha256 = "efba13d0d720502bf8bee161b688ba21704f7c213c8b95da65b77b76c9cb3422";
-      name = "kactivities-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kactivities-5.78.0.tar.xz";
+      sha256 = "11v7rcw6lk4xd28i9al5p7bxklw5hdm97hvszhh1qd7kfrzblkhi";
+      name = "kactivities-5.78.0.tar.xz";
     };
   };
   kactivities-stats = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kactivities-stats-5.76.0.tar.xz";
-      sha256 = "85bb432a10a48af505a457c7ccacffad7914835f94042472083e878cabcd2c14";
-      name = "kactivities-stats-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kactivities-stats-5.78.0.tar.xz";
+      sha256 = "0afnwswng85jfkpbmbmprkqfngjxv2qpds3s2xlb5nzrpl43hc7s";
+      name = "kactivities-stats-5.78.0.tar.xz";
     };
   };
   kapidox = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kapidox-5.76.0.tar.xz";
-      sha256 = "8c6c9401059d34fa2d7f052e21387d803a1131a60fcd1305ddf5d5dfe22c6d97";
-      name = "kapidox-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kapidox-5.78.0.tar.xz";
+      sha256 = "1d8ia33nrsvg8gf9mna0r2f0sdi4c37p8mxl59hcfqdimy7inkvp";
+      name = "kapidox-5.78.0.tar.xz";
     };
   };
   karchive = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/karchive-5.76.0.tar.xz";
-      sha256 = "503d33b247ae24260c73aac2c48601eb4f8be3f10c9149549ea5dd2d22082a2a";
-      name = "karchive-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/karchive-5.78.0.tar.xz";
+      sha256 = "1lqjy040c5wb76fvnvdaxsgqm63bcx9bmjinvia1caqkh11a5rw2";
+      name = "karchive-5.78.0.tar.xz";
     };
   };
   kauth = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kauth-5.76.0.tar.xz";
-      sha256 = "c277a7ab750158a56381d8f74b8ebed5205b785eca2444c65cbf59d429958a89";
-      name = "kauth-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kauth-5.78.0.tar.xz";
+      sha256 = "1c0xyv54g8gcxaaz602ai1v4jlk7xndc65qjad66qiig958b1czg";
+      name = "kauth-5.78.0.tar.xz";
     };
   };
   kbookmarks = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kbookmarks-5.76.0.tar.xz";
-      sha256 = "ac5416f1ac21cb9e9fdf72a95de855a9891cea0ed7e1436a93c019b6c45af2af";
-      name = "kbookmarks-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kbookmarks-5.78.0.tar.xz";
+      sha256 = "0b7g0fkyyqdwpfw53kdw73jcyk8wz5k2ipmwzlpx2fr5gs2v00c3";
+      name = "kbookmarks-5.78.0.tar.xz";
     };
   };
   kcalendarcore = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kcalendarcore-5.76.0.tar.xz";
-      sha256 = "e6fd390b8ba2a899e7abda3de8d9ab7e5155fede6bbee9ca2b302b931a0232ae";
-      name = "kcalendarcore-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kcalendarcore-5.78.0.tar.xz";
+      sha256 = "1v97swaqf9bmdvfagzif1ihsnd5d900nzv8aadic0a7ax5zqi41h";
+      name = "kcalendarcore-5.78.0.tar.xz";
     };
   };
   kcmutils = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kcmutils-5.76.0.tar.xz";
-      sha256 = "0ea51ea9e46e6359c76fe099fd2cd03c20891a1cad26ea156ca921a9f0869009";
-      name = "kcmutils-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kcmutils-5.78.0.tar.xz";
+      sha256 = "1ly21k3lrn6fx1j4vp0km8z9sb2l0adx0rhp9c1sasr8aflmy5k8";
+      name = "kcmutils-5.78.0.tar.xz";
     };
   };
   kcodecs = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kcodecs-5.76.0.tar.xz";
-      sha256 = "b4e1fe3247fdaf80f4414716f6fbcd42e8de04f64c8dd50bd13e9e9a78abf6e1";
-      name = "kcodecs-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kcodecs-5.78.0.tar.xz";
+      sha256 = "0ypwx29v7gbcdpkvlpk0r5v7d8rd3xnqlnk1k11c75dvy3763d1n";
+      name = "kcodecs-5.78.0.tar.xz";
     };
   };
   kcompletion = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kcompletion-5.76.0.tar.xz";
-      sha256 = "014c56172040bf3aa27f81a6bb433914a5c22d2dfb1f8566be4cce678d09193a";
-      name = "kcompletion-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kcompletion-5.78.0.tar.xz";
+      sha256 = "1a9z252m7v2fhd71dnibczb8yjq090ylcysx5pgwhc2j3djp4fd7";
+      name = "kcompletion-5.78.0.tar.xz";
     };
   };
   kconfig = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kconfig-5.76.0.tar.xz";
-      sha256 = "153d3ed114954594b0dcc00e1317483609649c064203e6eb8b110686dbaba686";
-      name = "kconfig-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kconfig-5.78.0.tar.xz";
+      sha256 = "1fzzrypi8pxb0vprh65bpqrpgpwlwwlspf2mz5w83s90snbiwymj";
+      name = "kconfig-5.78.0.tar.xz";
     };
   };
   kconfigwidgets = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kconfigwidgets-5.76.0.tar.xz";
-      sha256 = "f8eed399008a041df2da9cc3f2313df11376b94c85472900b39b9d6abcabe6d4";
-      name = "kconfigwidgets-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kconfigwidgets-5.78.0.tar.xz";
+      sha256 = "0fgclbyxjyjid21x2059wh7dns73acjnh4qrgzhg0nsx2h8cvm47";
+      name = "kconfigwidgets-5.78.0.tar.xz";
     };
   };
   kcontacts = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kcontacts-5.76.0.tar.xz";
-      sha256 = "4a9e3189b4ed1bc0231bf98cba134e78e5a692a14d202f0311f6e5c5190cfad5";
-      name = "kcontacts-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kcontacts-5.78.0.tar.xz";
+      sha256 = "1xjm0l8did9qmjgfvy9hsa7jbfv5mqimnwl7iiz6gxvm8sm14gcw";
+      name = "kcontacts-5.78.0.tar.xz";
     };
   };
   kcoreaddons = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kcoreaddons-5.76.0.tar.xz";
-      sha256 = "fbab3e3e18f42922ecdc50138ed31f62007cafa902b959d89b1233b5557282d6";
-      name = "kcoreaddons-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kcoreaddons-5.78.0.tar.xz";
+      sha256 = "01rvijlb3b3s5r3213am9zyk7xhfqbnfxnq175hggq0mbm6zjpv3";
+      name = "kcoreaddons-5.78.0.tar.xz";
     };
   };
   kcrash = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kcrash-5.76.0.tar.xz";
-      sha256 = "c4e32254b22f1f02db556be2ad40000cc52cac2e30a35682af3c75ac69710993";
-      name = "kcrash-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kcrash-5.78.0.tar.xz";
+      sha256 = "0rrxzjxwi3kib0w86gc4gkkyzvnkg6l1x81ybclvk275zi724jkj";
+      name = "kcrash-5.78.0.tar.xz";
     };
   };
   kdav = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kdav-5.76.0.tar.xz";
-      sha256 = "c6b1d32d9c976585e278c2061091ee90ef2d7feb29642f236a3941cea5ffae72";
-      name = "kdav-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kdav-5.78.0.tar.xz";
+      sha256 = "1iqh5z5rry644mcrlppbbf72nxli607varki61m1zgvcvwvaq00j";
+      name = "kdav-5.78.0.tar.xz";
     };
   };
   kdbusaddons = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kdbusaddons-5.76.0.tar.xz";
-      sha256 = "8e11b19e4a3d4ad8e4deda245eb51b7b77255cbacc07346e7074c8110b946e0a";
-      name = "kdbusaddons-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kdbusaddons-5.78.0.tar.xz";
+      sha256 = "16fk4jpx93q4l0wf3vgxg7vxajjqmbxd91y08khfahr2fssx14ag";
+      name = "kdbusaddons-5.78.0.tar.xz";
     };
   };
   kdeclarative = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kdeclarative-5.76.0.tar.xz";
-      sha256 = "3dfaa271a97be48e72d5fff0dd3c3c1995be3b9e7d0451b197b79418d76c4ce3";
-      name = "kdeclarative-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kdeclarative-5.78.0.tar.xz";
+      sha256 = "15s75xfy8lvwvkd789vg6y3zcxafav46g7r97psn97ans6gk2na7";
+      name = "kdeclarative-5.78.0.tar.xz";
     };
   };
   kded = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kded-5.76.0.tar.xz";
-      sha256 = "2e94a4737ffc359d3614a1dff15b9727d54cb5fe639828946e0efcdcdbff3516";
-      name = "kded-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kded-5.78.0.tar.xz";
+      sha256 = "0lmxqax0x2hxllzhbvwgywdg483zarhs7f2i0d1ffigr3nn6q59m";
+      name = "kded-5.78.0.tar.xz";
     };
   };
   kdelibs4support = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/portingAids/kdelibs4support-5.76.0.tar.xz";
-      sha256 = "b581273dfaebc5697eb7aa616d858119227dd6c5b781f216abdbff1d93076f0d";
-      name = "kdelibs4support-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/portingAids/kdelibs4support-5.78.0.tar.xz";
+      sha256 = "1iclzch3sh0j73prm2ccjvd3z89hp4638kxdblzqqxxdyali9ycq";
+      name = "kdelibs4support-5.78.0.tar.xz";
     };
   };
   kdesignerplugin = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/portingAids/kdesignerplugin-5.76.0.tar.xz";
-      sha256 = "5f9190e00761330c031310b94e195766e639115675081765050ddc55069a1b71";
-      name = "kdesignerplugin-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/portingAids/kdesignerplugin-5.78.0.tar.xz";
+      sha256 = "1chg3g8xc8nmlzg4niciphfrclmiqcfb6jxwajv1j8j3s3vk7wwz";
+      name = "kdesignerplugin-5.78.0.tar.xz";
     };
   };
   kdesu = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kdesu-5.76.0.tar.xz";
-      sha256 = "421ef43bd47c3eb6b05806af033276c19df20fd76a06b67fada529bb9c52e642";
-      name = "kdesu-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kdesu-5.78.0.tar.xz";
+      sha256 = "072bnj6hxph864gn81hr24aklh7mq974fibglihwyak0zbml5yfm";
+      name = "kdesu-5.78.0.tar.xz";
     };
   };
   kdewebkit = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/portingAids/kdewebkit-5.76.0.tar.xz";
-      sha256 = "cf7de765c5fcad0922a1bb9376b65cfb00eb3d29a0c4ed8ef43fc363abe906ba";
-      name = "kdewebkit-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/portingAids/kdewebkit-5.78.0.tar.xz";
+      sha256 = "0mcnlc4s372ghdjypksdjh6casradsxwa47aaac4d4yg2qk7mqb1";
+      name = "kdewebkit-5.78.0.tar.xz";
     };
   };
   kdnssd = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kdnssd-5.76.0.tar.xz";
-      sha256 = "9cc2979e56915b5c4d8f8e66053a41406bff46aefd65af1ab07d2b87d8f4a753";
-      name = "kdnssd-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kdnssd-5.78.0.tar.xz";
+      sha256 = "1rsjbi5x05ii17xl8zvcrfjmjsq0g6vqh90qflnyys6lzhyvs0sf";
+      name = "kdnssd-5.78.0.tar.xz";
     };
   };
   kdoctools = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kdoctools-5.76.0.tar.xz";
-      sha256 = "84ea7974d741e6261e8c269750367a00375c6111dbc542e917647d0267337ae4";
-      name = "kdoctools-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kdoctools-5.78.0.tar.xz";
+      sha256 = "0qngw9li2am0phkys45cph3qj01fjhjhvp3dsk3ymr60szryw23s";
+      name = "kdoctools-5.78.0.tar.xz";
     };
   };
   kemoticons = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kemoticons-5.76.0.tar.xz";
-      sha256 = "a50f69e62b342d6f058000ff1823569ab61d3310cb0020d848a78deaf20dff99";
-      name = "kemoticons-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kemoticons-5.78.0.tar.xz";
+      sha256 = "14alh2n5igk3cpm1j7ms7y0xph61qy5k3n2bw8y4y5wkb8qmqg3m";
+      name = "kemoticons-5.78.0.tar.xz";
     };
   };
   kfilemetadata = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kfilemetadata-5.76.0.tar.xz";
-      sha256 = "fa24758c93ce3df9f8ced4310dc0bf58e129b08e50f254daafa025afc9213d68";
-      name = "kfilemetadata-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kfilemetadata-5.78.0.tar.xz";
+      sha256 = "111w47f74kmn81hvjxjhp6n6kc4533a76fzvrv6wbprqiwc6bncx";
+      name = "kfilemetadata-5.78.0.tar.xz";
     };
   };
   kglobalaccel = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kglobalaccel-5.76.0.tar.xz";
-      sha256 = "3a846f783ccb68da1f152fb5778612c4ed14cd79c6b5929ef729cf59e47462d4";
-      name = "kglobalaccel-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kglobalaccel-5.78.0.tar.xz";
+      sha256 = "08mqjdigb5lzx0kqhmw5m8gnvs01fzg3j0dan70v5203wbfnw69z";
+      name = "kglobalaccel-5.78.0.tar.xz";
     };
   };
   kguiaddons = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kguiaddons-5.76.0.tar.xz";
-      sha256 = "bdaa2ed104bfa9c2ebd702f033935a83560e1d00c7302620a6ae52cb309c7125";
-      name = "kguiaddons-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kguiaddons-5.78.0.tar.xz";
+      sha256 = "1l3ppihibhcjajmd55dr6mcc1xd4ni2iw2rdpk2l11ran4nys2dd";
+      name = "kguiaddons-5.78.0.tar.xz";
     };
   };
   kholidays = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kholidays-5.76.0.tar.xz";
-      sha256 = "2eeae5812b33b2527c27a137fee0d7ec66fe7164bd28afd0d2a8362f6114618b";
-      name = "kholidays-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kholidays-5.78.0.tar.xz";
+      sha256 = "147ma06mrbydf2gyrh526bjh1f0xlnxiw89xp6n3wq0qmmdvhs17";
+      name = "kholidays-5.78.0.tar.xz";
     };
   };
   khtml = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/portingAids/khtml-5.76.0.tar.xz";
-      sha256 = "163139cf9ed9c43bba9532e64ae6376e8ced9b19ea8bb8235ff91c91c4c5a3f4";
-      name = "khtml-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/portingAids/khtml-5.78.0.tar.xz";
+      sha256 = "0pai60cbl8p01xb97191nyzmsf7q00vcqvy8cdr8gfvrlx8k7dhn";
+      name = "khtml-5.78.0.tar.xz";
     };
   };
   ki18n = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/ki18n-5.76.0.tar.xz";
-      sha256 = "0e87bc1136e21f7860f15daa39e8d16e5a773995fce2b87b0cef0043c4ce0e7a";
-      name = "ki18n-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/ki18n-5.78.0.tar.xz";
+      sha256 = "0mafvkrgmdcj869dzqmgphdwhl6a2bf2lw99w7frxh2qw4n2sd8k";
+      name = "ki18n-5.78.0.tar.xz";
     };
   };
   kiconthemes = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kiconthemes-5.76.0.tar.xz";
-      sha256 = "3b3c4ab8369061418677c840963cc868dcecc2a4e57f0c73448e16a46773c7d3";
-      name = "kiconthemes-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kiconthemes-5.78.0.tar.xz";
+      sha256 = "0ssd1298pqm0g46m92b5d4yfrqxgmwf465lcbia41lndjd6px27v";
+      name = "kiconthemes-5.78.0.tar.xz";
     };
   };
   kidletime = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kidletime-5.76.0.tar.xz";
-      sha256 = "0866fc98b5b045158742f03f5810909b24f1edf374a6014d476d67fe0466eb62";
-      name = "kidletime-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kidletime-5.78.0.tar.xz";
+      sha256 = "0aw6g6p3bmp32zk22fwp2f1d20vbf7921ixnyf7a0w535r58d5ma";
+      name = "kidletime-5.78.0.tar.xz";
     };
   };
   kimageformats = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kimageformats-5.76.0.tar.xz";
-      sha256 = "78ced2665f8918beb617b74962d188dcbb01a92a90ba49bfd173671bdb14e68d";
-      name = "kimageformats-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kimageformats-5.78.0.tar.xz";
+      sha256 = "0gv2w49cdzji8h9swaazpmbn0qqzn4ncnxj7f9rqp686q17czm7c";
+      name = "kimageformats-5.78.0.tar.xz";
     };
   };
   kinit = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kinit-5.76.0.tar.xz";
-      sha256 = "a5b63c10b4fc5efcbb5f92b7bce928b4a4880c0ad5d12ff12518106b09239546";
-      name = "kinit-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kinit-5.78.0.tar.xz";
+      sha256 = "16shlmm6q0vaf05gkrgqpmjrs5fgb8jrfgq331x7ic567hhzv4vv";
+      name = "kinit-5.78.0.tar.xz";
     };
   };
   kio = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kio-5.76.0.tar.xz";
-      sha256 = "9351fc85c4020f2f77012e077f4f9d04d8f233e9b67f9b7619c9bc064714145b";
-      name = "kio-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kio-5.78.0.tar.xz";
+      sha256 = "086nhyjk5sjvp97fs6kkmc99jh2303sbmpfki1qvcwzdq6idn4g2";
+      name = "kio-5.78.0.tar.xz";
     };
   };
   kirigami2 = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kirigami2-5.76.0.tar.xz";
-      sha256 = "90806125143807b74ee7f2fc74cd781d99b4e69ce5f15dcc28e1923f7a34a80a";
-      name = "kirigami2-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kirigami2-5.78.0.tar.xz";
+      sha256 = "0667wcxyhil332g6gk12bjg5y0c1zk15354wx6mg8krxl3i2nkjy";
+      name = "kirigami2-5.78.0.tar.xz";
     };
   };
   kitemmodels = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kitemmodels-5.76.0.tar.xz";
-      sha256 = "53855ccdd1105aa792914f9c88f357039bf2394af8400beaaecd9729f70e9cb0";
-      name = "kitemmodels-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kitemmodels-5.78.0.tar.xz";
+      sha256 = "1yn8gi7dml7mxyk93fzx5id2pckw6qbbkifwzmhq5i3vzpq1qdja";
+      name = "kitemmodels-5.78.0.tar.xz";
     };
   };
   kitemviews = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kitemviews-5.76.0.tar.xz";
-      sha256 = "b102cb67513d804fd7eed2ae20bb4ba679d38de4f236de6bc03709ff0c0bc001";
-      name = "kitemviews-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kitemviews-5.78.0.tar.xz";
+      sha256 = "10ysirhlgbzyiybb1ap111w89v3czing43ap10n5pldgh1c8ky05";
+      name = "kitemviews-5.78.0.tar.xz";
     };
   };
   kjobwidgets = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kjobwidgets-5.76.0.tar.xz";
-      sha256 = "850b6af6c027476e594e6ed77ea0e531abb69ff726fce41b91e541fbee3ecedf";
-      name = "kjobwidgets-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kjobwidgets-5.78.0.tar.xz";
+      sha256 = "0cdy7w14wr08xf9na1jzbrwjvmiw5q2ciniafzf9cn55yxrvmhwv";
+      name = "kjobwidgets-5.78.0.tar.xz";
     };
   };
   kjs = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/portingAids/kjs-5.76.0.tar.xz";
-      sha256 = "829eb1308b9b07cdd07b34d80eb5e3fcf5225fa4816da19bce886add600bb62a";
-      name = "kjs-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/portingAids/kjs-5.78.0.tar.xz";
+      sha256 = "0sjnwj6x7dgvqh333yii5vlh7pbl1kc7zrbdjkqi38cfnbcf2w4h";
+      name = "kjs-5.78.0.tar.xz";
     };
   };
   kjsembed = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/portingAids/kjsembed-5.76.0.tar.xz";
-      sha256 = "d7fe11b69445afe372388c5ab310d38ab69e203f3995136a948c9bbf9b8b4a88";
-      name = "kjsembed-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/portingAids/kjsembed-5.78.0.tar.xz";
+      sha256 = "0r8hxbqn5k0wsk4swym7hi15mnhd9dyvcgz8lycqnvlrz0walvr9";
+      name = "kjsembed-5.78.0.tar.xz";
     };
   };
   kmediaplayer = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/portingAids/kmediaplayer-5.76.0.tar.xz";
-      sha256 = "3185da877c2529c6e209cb382593bbb4778f80aee1b1a29b384b3f05ff99ed89";
-      name = "kmediaplayer-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/portingAids/kmediaplayer-5.78.0.tar.xz";
+      sha256 = "0yy0k2cgchj1pnk2q7gq4iihscf6rgiwdpfn6i0i8zcczkm2gyls";
+      name = "kmediaplayer-5.78.0.tar.xz";
     };
   };
   knewstuff = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/knewstuff-5.76.0.tar.xz";
-      sha256 = "d6589b420204d1133997f33b598324c839ec6a0db96936e2e51b7b156cafbc6b";
-      name = "knewstuff-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/knewstuff-5.78.0.tar.xz";
+      sha256 = "1fb1ka7ljfw4wyf8sy0r5vy9nmji286p26wjzgsf2rzzskaspc6m";
+      name = "knewstuff-5.78.0.tar.xz";
     };
   };
   knotifications = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/knotifications-5.76.0.tar.xz";
-      sha256 = "56a7daf4951b3564e244d8ba48d443e78c6d703d9d4ccc280c56d0c986de47a2";
-      name = "knotifications-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/knotifications-5.78.0.tar.xz";
+      sha256 = "0f93xql467jbz964lpjrsip77wf0s8qygggkjb85y8xgpcdw4zrr";
+      name = "knotifications-5.78.0.tar.xz";
     };
   };
   knotifyconfig = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/knotifyconfig-5.76.0.tar.xz";
-      sha256 = "9f98834a9b8135a60a5d67e7ac45229a668a889d42a14c2ca5365885acd2370e";
-      name = "knotifyconfig-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/knotifyconfig-5.78.0.tar.xz";
+      sha256 = "0nzs76ii447xv3dqcg14a045xc74bnvwghfdmlb0vmh22p3a60fz";
+      name = "knotifyconfig-5.78.0.tar.xz";
     };
   };
   kpackage = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kpackage-5.76.0.tar.xz";
-      sha256 = "97791ef08ca18892d6aa6a50fa0a87ae72cad10de9f17e3fb503a370de829772";
-      name = "kpackage-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kpackage-5.78.0.tar.xz";
+      sha256 = "0d0vfh3ifaj2xifw370rfapw2yf24h7f8xwbhmx787dr6w86m47c";
+      name = "kpackage-5.78.0.tar.xz";
     };
   };
   kparts = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kparts-5.76.0.tar.xz";
-      sha256 = "c516b5c1f2bca4a109dc2d186ef6729c1ad53a242877dfe942b84f131e93412d";
-      name = "kparts-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kparts-5.78.0.tar.xz";
+      sha256 = "1np1vshzihh2r51gzy54yvm6h898ffw5b20c3r6jaa0837g3mlvp";
+      name = "kparts-5.78.0.tar.xz";
     };
   };
   kpeople = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kpeople-5.76.0.tar.xz";
-      sha256 = "25c03e48a0951f2d17556912893f55750ffbc1333b07b9b42e2ff0bb571b6545";
-      name = "kpeople-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kpeople-5.78.0.tar.xz";
+      sha256 = "0ccc10qfhw69s12sfgpql988pf7pssx9k8j9xcywil4y7xidk05i";
+      name = "kpeople-5.78.0.tar.xz";
     };
   };
   kplotting = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kplotting-5.76.0.tar.xz";
-      sha256 = "536e0eb7b35700ffe91fccce37386f9b97214cd9bd41bea7f2bb333a49d7ec9e";
-      name = "kplotting-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kplotting-5.78.0.tar.xz";
+      sha256 = "00wd3rgp4c0sngfbdz613792sidsykbnazsq05lf4pk46py4xcvc";
+      name = "kplotting-5.78.0.tar.xz";
     };
   };
   kpty = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kpty-5.76.0.tar.xz";
-      sha256 = "faa143bdceb02156ba2f989128376b97161c9799952a3517240816a42abe1ac7";
-      name = "kpty-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kpty-5.78.0.tar.xz";
+      sha256 = "1nhijlp98bnnqj9c0i3g1xfpdhghw7241av4wzwhhxny67addlf3";
+      name = "kpty-5.78.0.tar.xz";
     };
   };
   kquickcharts = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kquickcharts-5.76.0.tar.xz";
-      sha256 = "65e79e0b4a8f1bca579931d0c0f8345c58f27319bf332e05a32ec930b8e519c2";
-      name = "kquickcharts-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kquickcharts-5.78.0.tar.xz";
+      sha256 = "1zq5bp3w42sqvlvkc7vx6l7h142ihzgzqpa2435j9apvx0kvjqhp";
+      name = "kquickcharts-5.78.0.tar.xz";
     };
   };
   kross = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/portingAids/kross-5.76.0.tar.xz";
-      sha256 = "15591f2a50f995bcaf17ef72662851c805d4644f13848387f056f686b77c5291";
-      name = "kross-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/portingAids/kross-5.78.0.tar.xz";
+      sha256 = "07ylcvkz5xf6b9n65373a8zpp5nsby5c99l912bdxf05hrjcw8b1";
+      name = "kross-5.78.0.tar.xz";
     };
   };
   krunner = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/krunner-5.76.0.tar.xz";
-      sha256 = "08c8addcdd3dac87472e84bd14c6d02b99f98c5efbbda7802de92286105dcdda";
-      name = "krunner-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/krunner-5.78.0.tar.xz";
+      sha256 = "00hy62g9i9vdzgv9ljfqjv0m45lrsmxynmp3fyp5c3amj9r64pkm";
+      name = "krunner-5.78.0.tar.xz";
     };
   };
   kservice = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kservice-5.76.0.tar.xz";
-      sha256 = "ef7715e5d3e0bf4fc2d28a7713913a1283fb9c658b3c3536a6db8da649d185bf";
-      name = "kservice-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kservice-5.78.0.tar.xz";
+      sha256 = "181maly1xij1jp7f0x9ajbv5q6qszqd273sdz1snkg5j4398mric";
+      name = "kservice-5.78.0.tar.xz";
     };
   };
   ktexteditor = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/ktexteditor-5.76.0.tar.xz";
-      sha256 = "6f937b7af06562a238f091deef9c4332e94311a697af8466b7f091720eaab2b2";
-      name = "ktexteditor-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/ktexteditor-5.78.0.tar.xz";
+      sha256 = "1r148n3nx3jyw2vn4rfxdl2mkywr5fn78s5ya7vq44pw2bmwar2n";
+      name = "ktexteditor-5.78.0.tar.xz";
     };
   };
   ktextwidgets = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/ktextwidgets-5.76.0.tar.xz";
-      sha256 = "a104e894cf21c245a6c22e6f2c38fdbbdb094cb7fde3d7ebff801bfd73af4c84";
-      name = "ktextwidgets-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/ktextwidgets-5.78.0.tar.xz";
+      sha256 = "1gpqxvlmqm5nj5kgx2dmvl8ynjqw995wnpl9ja5c82d8bczkn4z8";
+      name = "ktextwidgets-5.78.0.tar.xz";
     };
   };
   kunitconversion = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kunitconversion-5.76.0.tar.xz";
-      sha256 = "31fa05b082ec3a42c831b840cbc086f97c5e49c05a71af29ab35b9727320990c";
-      name = "kunitconversion-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kunitconversion-5.78.0.tar.xz";
+      sha256 = "17a3lpc60qn9qd53mlrjxwg5gyqvq0vnnz9wdrak481nf2c0qycc";
+      name = "kunitconversion-5.78.0.tar.xz";
     };
   };
   kwallet = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kwallet-5.76.0.tar.xz";
-      sha256 = "5addd560d3f650fbb43cd9c8c9e964c2d6893fa45ac53420b711f6bbb4e7a4fc";
-      name = "kwallet-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kwallet-5.78.0.tar.xz";
+      sha256 = "1a8n5d9y9qwcb4d9zbr1xhk3w390n7f6mmx52nq5akna51zrjc4p";
+      name = "kwallet-5.78.0.tar.xz";
     };
   };
   kwayland = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kwayland-5.76.0.tar.xz";
-      sha256 = "eee72a5f57a2f5c6ab5f1717aa3eb5a9089240794a5e40c6d85bdc37fa3027a7";
-      name = "kwayland-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kwayland-5.78.0.tar.xz";
+      sha256 = "052avcafjnib55s2lp1fzhx7dk9mlyg4v143gfp9j8wvlqaa8sxb";
+      name = "kwayland-5.78.0.tar.xz";
     };
   };
   kwidgetsaddons = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kwidgetsaddons-5.76.0.tar.xz";
-      sha256 = "ab7aa94bb1f63e5bea5cf461349c1add96fd608a73c5b7c9d374e6bf035fcac6";
-      name = "kwidgetsaddons-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kwidgetsaddons-5.78.0.tar.xz";
+      sha256 = "0b2y9ilk2zz4zw2m1lcwrmn3hni5jh6kalclx5l9fi98686b1az4";
+      name = "kwidgetsaddons-5.78.0.tar.xz";
     };
   };
   kwindowsystem = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kwindowsystem-5.76.0.tar.xz";
-      sha256 = "8dced74012bed3f33c3c51874aa9c3a57093573c1c0e263b758cefa96c26f7b7";
-      name = "kwindowsystem-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kwindowsystem-5.78.0.tar.xz";
+      sha256 = "003jypnib16qpm7l76zqbhhbqq2g23hm245l9dskbansxpncmfbc";
+      name = "kwindowsystem-5.78.0.tar.xz";
     };
   };
   kxmlgui = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/kxmlgui-5.76.0.tar.xz";
-      sha256 = "73ae838fb79f97243bea36d438e9bc45315183bbb6b08ab5173c822cfcb4dd82";
-      name = "kxmlgui-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/kxmlgui-5.78.0.tar.xz";
+      sha256 = "05yxgxbvv8anl4m40jwwfx183y69fdljj4g7daip0nk7hs4vc37q";
+      name = "kxmlgui-5.78.0.tar.xz";
     };
   };
   kxmlrpcclient = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/portingAids/kxmlrpcclient-5.76.0.tar.xz";
-      sha256 = "66fe826a81cd266ee57ba814cb8c7adfa00aa9112cb55714db061a82895ee8de";
-      name = "kxmlrpcclient-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/portingAids/kxmlrpcclient-5.78.0.tar.xz";
+      sha256 = "0591c23sjwfhrf7d7z6bgikjal1h70vpjx7xmr1ypwck6pxj8z2x";
+      name = "kxmlrpcclient-5.78.0.tar.xz";
     };
   };
   modemmanager-qt = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/modemmanager-qt-5.76.0.tar.xz";
-      sha256 = "5782b71f60b825244dc017989a4de515eb9eb5cc4edfe494a14ea62d3ac40cd1";
-      name = "modemmanager-qt-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/modemmanager-qt-5.78.0.tar.xz";
+      sha256 = "09y3pjav7dzfmplacwn0j281d59rdhlad16myaxh6hbf9zdkmnyr";
+      name = "modemmanager-qt-5.78.0.tar.xz";
     };
   };
   networkmanager-qt = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/networkmanager-qt-5.76.0.tar.xz";
-      sha256 = "5920862a843898ed169cc61a8f27dd87cb64dd505ec300d95ab8967da89f2f90";
-      name = "networkmanager-qt-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/networkmanager-qt-5.78.0.tar.xz";
+      sha256 = "0wfyczlki8sb2wydyslpi111y4hfc6xvnar8cxj75bsn83pd9wya";
+      name = "networkmanager-qt-5.78.0.tar.xz";
     };
   };
   oxygen-icons5 = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/oxygen-icons5-5.76.0.tar.xz";
-      sha256 = "95ca95bada43281d09cce000c9cd645af67592205c971052b3e0c27aef9c95b1";
-      name = "oxygen-icons5-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/oxygen-icons5-5.78.0.tar.xz";
+      sha256 = "1xp3zg59srxfc0z5cf45x7am98rsjq3p3ms2975il03389w55kr9";
+      name = "oxygen-icons5-5.78.0.tar.xz";
     };
   };
   plasma-framework = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/plasma-framework-5.76.0.tar.xz";
-      sha256 = "5bea341bc7b22ffa6a78bf7475c25b138150314c96b3d5154d8bccc532be242a";
-      name = "plasma-framework-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/plasma-framework-5.78.0.tar.xz";
+      sha256 = "10c4d7mvnjdpjcjzxy8r5k1h3pxw9d4h9ii8bkngb2kjfblf3bj6";
+      name = "plasma-framework-5.78.0.tar.xz";
     };
   };
   prison = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/prison-5.76.0.tar.xz";
-      sha256 = "6c369efc354f8f3a0e08b0de565fd523f1480d563bec0d19382e9ab01f3efb78";
-      name = "prison-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/prison-5.78.0.tar.xz";
+      sha256 = "0ygsdjcxr7l7jgllf6c38rbpc4byikg7zx71dzmas7ikg4axylfk";
+      name = "prison-5.78.0.tar.xz";
     };
   };
   purpose = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/purpose-5.76.0.tar.xz";
-      sha256 = "fd0edb0e7ba8b5336436848fe2452ff98c1b5bf2c49ea7744a8c0038d4e8887d";
-      name = "purpose-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/purpose-5.78.0.tar.xz";
+      sha256 = "13v2w4kx7ir9wqyahn6rlq7li7kxigxppffjccwpfihzpnyig029";
+      name = "purpose-5.78.0.tar.xz";
     };
   };
   qqc2-desktop-style = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/qqc2-desktop-style-5.76.0.tar.xz";
-      sha256 = "76d2f85f6f99157aec26e6797889f1b99035a337e8aa12029c222f3d48288ef3";
-      name = "qqc2-desktop-style-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/qqc2-desktop-style-5.78.0.tar.xz";
+      sha256 = "0a9kxfrvx0qv079vd9vx4924vs5g8qbicdp1wfv3c80ilbmn1sik";
+      name = "qqc2-desktop-style-5.78.0.tar.xz";
     };
   };
   solid = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/solid-5.76.0.tar.xz";
-      sha256 = "7958d047c8bd7622f91541acbe2d554c222218419ee18f395059a09fb90d264d";
-      name = "solid-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/solid-5.78.0.tar.xz";
+      sha256 = "1qgx9fsaxsypjfzyp3dq79skp7vhhv59ssqb1aq4168gdsai15qj";
+      name = "solid-5.78.0.tar.xz";
     };
   };
   sonnet = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/sonnet-5.76.0.tar.xz";
-      sha256 = "cb6bacae27cfa3f8b3ce300b18efe16730783f143c4a7fccfa634f528262ef9b";
-      name = "sonnet-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/sonnet-5.78.0.tar.xz";
+      sha256 = "1jw00bkhjf029yr6qh7mkdpizcc96103fsf68ydkbykfqsb0xry2";
+      name = "sonnet-5.78.0.tar.xz";
     };
   };
   syndication = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/syndication-5.76.0.tar.xz";
-      sha256 = "239ec30ff8f7ad2911ecc6b9b9c32f2b44c6cad634900105936ae56bf96d6292";
-      name = "syndication-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/syndication-5.78.0.tar.xz";
+      sha256 = "0sy2419xrkb5yqj70x2gakb53hqz7j5631pjkvai92gvk01bcbd1";
+      name = "syndication-5.78.0.tar.xz";
     };
   };
   syntax-highlighting = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/syntax-highlighting-5.76.0.tar.xz";
-      sha256 = "3cb61a8c478b76f797db53ed9e8a16c6e70bb1c564f05938680db81c3062bab3";
-      name = "syntax-highlighting-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/syntax-highlighting-5.78.0.tar.xz";
+      sha256 = "1m6ngf6nij3p09p7dhngjr9jhmc6dl12vd2x4dkj5fs8wlfbfplb";
+      name = "syntax-highlighting-5.78.0.tar.xz";
     };
   };
   threadweaver = {
-    version = "5.76.0";
+    version = "5.78.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.76/threadweaver-5.76.0.tar.xz";
-      sha256 = "8bc0cc4507b4cd7398e18cce8519b4a65b0367e7d22c4faae034a57346297039";
-      name = "threadweaver-5.76.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.78/threadweaver-5.78.0.tar.xz";
+      sha256 = "1llqfmpbq0mysa1h7vx16v020zw776sqkrh85kah9478bj7ffwnr";
+      name = "threadweaver-5.78.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/kpmcore/default.nix b/pkgs/development/libraries/kpmcore/default.nix
index 837333407b29b..315a38197a1f1 100644
--- a/pkgs/development/libraries/kpmcore/default.nix
+++ b/pkgs/development/libraries/kpmcore/default.nix
@@ -24,6 +24,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ extra-cmake-modules ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     maintainers = with lib.maintainers; [ peterhoeg ];
     # The build requires at least Qt 5.14:
diff --git a/pkgs/development/libraries/lcms2/default.nix b/pkgs/development/libraries/lcms2/default.nix
index 129b578519896..66bdcc03b9665 100644
--- a/pkgs/development/libraries/lcms2/default.nix
+++ b/pkgs/development/libraries/lcms2/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, libtiff, libjpeg, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "lcms2-2.11";
+  name = "lcms2-2.12";
 
   src = fetchurl {
     url = "mirror://sourceforge/lcms/${name}.tar.gz";
-    sha256 = "0bkpf315925lhmd9i4mzjnkq5dh255r1lms0c0vzzkfpwk4bjjfw";
+    sha256 = "sha256-GGY5hehkEARVrD5QdiXEOMNxA1TYXly7fNQEPhH+EPU=";
   };
 
   outputs = [ "bin" "dev" "out" ];
diff --git a/pkgs/development/libraries/leatherman/default.nix b/pkgs/development/libraries/leatherman/default.nix
index 8a9c80a61754b..61d87211e0a5c 100644
--- a/pkgs/development/libraries/leatherman/default.nix
+++ b/pkgs/development/libraries/leatherman/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "leatherman";
-  version = "1.12.3";
+  version = "1.12.4";
 
   src = fetchFromGitHub {
-    sha256 = "1mhj29n40z7bvn1ns61wf8812ikm2mpc0d5ip0ha920z0anzqhwr";
+    sha256 = "sha256-7e9D9Q3CAm+2+0vl81djSZwKrQRXc5UxcbJVMt91/vU=";
     rev = version;
     repo = "leatherman";
     owner = "puppetlabs";
diff --git a/pkgs/development/libraries/libaom/default.nix b/pkgs/development/libraries/libaom/default.nix
index 9706cda03f8ba..5483909689d24 100644
--- a/pkgs/development/libraries/libaom/default.nix
+++ b/pkgs/development/libraries/libaom/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "libaom";
-  version = "2.0.0";
+  version = "2.0.2";
 
   src = fetchgit {
     url = "https://aomedia.googlesource.com/aom";
     rev	= "v${version}";
-    sha256 = "1616xjhj6770ykn82ml741h8hx44v507iky3s9h7a5lnk9d4cxzy";
+    sha256 = "0f3i983s9yvh9zc6mpy1ck5sjcg9l09lpw9v4md3mv8gbih9f0z0";
   };
 
   patches = [ ./outputs.patch ];
@@ -32,6 +32,9 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     "-DBUILD_SHARED_LIBS=ON"
     "-DENABLE_TESTS=OFF"
+  ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
+    # CPU detection isn't supported on Darwin and breaks the aarch64-darwin build:
+    "-DCONFIG_RUNTIME_CPU_DETECT=0"
   ];
 
   postFixup = ''
diff --git a/pkgs/development/libraries/libaudec/default.nix b/pkgs/development/libraries/libaudec/default.nix
new file mode 100644
index 0000000000000..a243e56c2fe3b
--- /dev/null
+++ b/pkgs/development/libraries/libaudec/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchFromGitHub
+, libsndfile, libsamplerate
+, meson, ninja, pkg-config
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libaudec";
+  version = "0.2.4";
+
+  src = fetchFromGitHub {
+    owner = "zrythm";
+    repo = "libaudec";
+    rev = "v${version}";
+    sha256 = "1570m2dfia17dbkhd2qhx8jjihrpm7g8nnyg6n4wif4vv229s7dz";
+  };
+
+  buildInputs = [ libsndfile libsamplerate ];
+  nativeBuildInputs = [ meson ninja pkg-config ];
+
+  meta = with lib; {
+    homepage = "https://www.zrythm.org";
+    description = "A library for reading and resampling audio files";
+    license = licenses.agpl3Plus;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix
index 93d6e0d209c25..a3de9225d1cef 100644
--- a/pkgs/development/libraries/libav/default.nix
+++ b/pkgs/development/libraries/libav/default.nix
@@ -61,7 +61,7 @@ let
       "--enable-avplay"
       "--enable-shared"
       "--enable-runtime-cpudetect"
-      "--cc=cc"
+      "--cc=${stdenv.cc.targetPrefix}cc"
       (enableFeature enableGPL "gpl")
       (enableFeature enableGPL "swscale")
       (enableFeature mp3Support "libmp3lame")
@@ -127,6 +127,10 @@ let
       license = with licenses; if enableUnfree then unfree #ToDo: redistributable or not?
         else if enableGPL then gpl2Plus else lgpl21Plus;
       platforms = with platforms; linux ++ darwin;
+      knownVulnerabilities =
+        lib.optional (lib.versionOlder version "12.1") "CVE-2017-9051"
+        ++ lib.optionals (lib.versionOlder version "12.3") [ "CVE-2018-5684" "CVE-2018-5766" ]
+        ++ lib.optionals (lib.versionOlder version "12.4") [ "CVE-2019-9717" "CVE-2019-9720" ];
     };
   }; # libavFun
 
diff --git a/pkgs/development/libraries/libavif/default.nix b/pkgs/development/libraries/libavif/default.nix
index 8c33e6f1b6dd5..173422fa71e0b 100644
--- a/pkgs/development/libraries/libavif/default.nix
+++ b/pkgs/development/libraries/libavif/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libavif";
-  version = "0.8.4";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "AOMediaCodec";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1qvjd3xi9r89pcblxdgz4c6hqp67ss53b1x9zkg7lrik7g3lwq8d";
+    sha256 = "sha256-7p0w94Od33vjTI5wGLxmDC5P2hebAl7OwJPl1lANhKs=";
   };
 
   # reco: encode libaom slowest but best, decode dav1d fastest
diff --git a/pkgs/development/libraries/libbap/default.nix b/pkgs/development/libraries/libbap/default.nix
index 7c458bae19ce1..b8e71c2dfd3f3 100644
--- a/pkgs/development/libraries/libbap/default.nix
+++ b/pkgs/development/libraries/libbap/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation {
   pname = "libbap";
-  version = "master-2019-11-15";
+  version = "master-2020-11-25";
 
   src = fetchFromGitHub {
     owner = "BinaryAnalysisPlatform";
     repo = "bap-bindings";
-    rev = "1a30dd3e1df18c432a83a7038b555662d6982ae3";
-    sha256 = "140gmak2kymh3r0fagb6ms66lmvwhhqj8pcd3qxc1p4ar330fwrh";
+    rev = "3193cb31e1b1f2455406ea0c819dad9dfa2ba10d";
+    sha256 = "0m4spva3z6fgbwlg4zq53l5p227dic893q2qq65pvzxyf7k7nmil";
   };
 
   nativeBuildInputs = [ autoreconfHook which ];
diff --git a/pkgs/development/libraries/libblockdev/default.nix b/pkgs/development/libraries/libblockdev/default.nix
index 11a65006422fb..584ea93293ef4 100644
--- a/pkgs/development/libraries/libblockdev/default.nix
+++ b/pkgs/development/libraries/libblockdev/default.nix
@@ -6,13 +6,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "libblockdev";
-  version = "2.24";
+  version = "2.25";
 
   src = fetchFromGitHub {
     owner = "storaged-project";
     repo = "libblockdev";
     rev = "${version}-1";
-    sha256 = "1gzwlwdv0jyb3lh2n016limy2ngfdsa05x7jvg9llf2ls672nq89";
+    sha256 = "sha256-eHUHTogKoNrnwwSo6JaI7NMxVt9JeMqfWyhR62bDMuQ=";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/pkgs/development/libraries/libbytesize/default.nix b/pkgs/development/libraries/libbytesize/default.nix
index a84f010b9e675..7ce8d6e7f83a0 100644
--- a/pkgs/development/libraries/libbytesize/default.nix
+++ b/pkgs/development/libraries/libbytesize/default.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  version = "2.4";
+  version = "2.5";
 in stdenv.mkDerivation rec {
   pname = "libbytesize";
   inherit version;
@@ -13,7 +13,7 @@ in stdenv.mkDerivation rec {
     owner = "storaged-project";
     repo = "libbytesize";
     rev = version;
-    sha256 = "1kq0hnw2yxjdmcrwvgp0x4j1arkka23k8vp2l6nqcw9lc15x18fp";
+    sha256 = "sha256-F8Ur8gtNYp4PYfBQ9sDJGBgW7KohJYNEU9SI2SbNuvM=";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/pkgs/development/libraries/libcanberra/default.nix b/pkgs/development/libraries/libcanberra/default.nix
index a2dfe1322f84b..0127c1ebe8a1a 100644
--- a/pkgs/development/libraries/libcanberra/default.nix
+++ b/pkgs/development/libraries/libcanberra/default.nix
@@ -47,9 +47,8 @@ stdenv.mkDerivation rec {
     gtkModule = "/lib/gtk-2.0/";
   };
 
-  meta = {
+  meta = with lib; {
     description = "An implementation of the XDG Sound Theme and Name Specifications";
-
     longDescription = ''
       libcanberra is an implementation of the XDG Sound Theme and Name
       Specifications, for generating event sounds on free desktops
@@ -57,12 +56,12 @@ stdenv.mkDerivation rec {
       PulseAudio, OSS, GStreamer, null) and is designed to be
       portable.
     '';
-
     homepage = "http://0pointer.de/lennart/projects/libcanberra/";
-
-    license = lib.licenses.lgpl2Plus;
-
+    license = licenses.lgpl2Plus;
     maintainers = [ ];
-    platforms = lib.platforms.unix;
+    platforms = platforms.unix;
+    # canberra-gtk-module.c:28:10: fatal error: 'gdk/gdkx.h' file not found
+    # #include <gdk/gdkx.h>
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/libraries/libcdr/default.nix b/pkgs/development/libraries/libcdr/default.nix
index 087c928b79ce7..b987c3dbb25ac 100644
--- a/pkgs/development/libraries/libcdr/default.nix
+++ b/pkgs/development/libraries/libcdr/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, libwpg, libwpd, lcms, pkg-config, librevenge, icu, boost, cppunit }:
+{ lib, stdenv, fetchurl, fetchpatch, libwpg, libwpd, lcms, pkg-config, librevenge, icu, boost, cppunit }:
 
 stdenv.mkDerivation rec {
   name = "libcdr-0.1.6";
@@ -8,6 +8,16 @@ stdenv.mkDerivation rec {
     sha256 = "0qgqlw6i25zfq1gf7f6r5hrhawlrgh92sg238kjpf2839aq01k81";
   };
 
+  patches = [
+    # Fix build with icu 68
+    # Remove in next release
+    (fetchpatch {
+      name = "libcdr-fix-icu-68";
+      url = "https://cgit.freedesktop.org/libreoffice/libcdr/patch/?id=bf3e7f3bbc414d4341cf1420c99293debf1bd894";
+      sha256 = "0cgra10p8ibgwn8y5q31jrpan317qj0ribzjs4jq0bwavjq92w2k";
+    })
+  ];
+
   buildInputs = [ libwpg libwpd lcms librevenge icu boost cppunit ];
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/libraries/libcint/default.nix b/pkgs/development/libraries/libcint/default.nix
index bd8e8bd4aaf07..81b84e0f181c1 100644
--- a/pkgs/development/libraries/libcint/default.nix
+++ b/pkgs/development/libraries/libcint/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libcint";
-  version = "4.0.7";
+  version = "4.1.0";
 
   src = fetchFromGitHub {
     owner = "sunqm";
     repo = "libcint";
     rev = "v${version}";
-    sha256 = "sha256-/S5LcaIIAXq9QiH8wGPSw8KpWC3afX9HqiHrWHmGQ6s=";
+    sha256 = "sha256-ZDPDJXvSAqCkhxUSzlcWBAMrCI6mjA8rXxX65Cw5nYI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/libcommuni/default.nix b/pkgs/development/libraries/libcommuni/default.nix
index 0b0cc325a3568..532c91a0edab9 100644
--- a/pkgs/development/libraries/libcommuni/default.nix
+++ b/pkgs/development/libraries/libcommuni/default.nix
@@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
   dontUseQmakeConfigure = true;
   configureFlags = [ "-config" "release" ];
 
+  dontWrapQtApps = true;
+
   preConfigure = ''
     sed -i -e 's|/bin/pwd|pwd|g' configure
   '';
diff --git a/pkgs/development/libraries/libcyaml/default.nix b/pkgs/development/libraries/libcyaml/default.nix
new file mode 100644
index 0000000000000..b316b6b639565
--- /dev/null
+++ b/pkgs/development/libraries/libcyaml/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, lib, fetchFromGitHub
+, libyaml
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libcyaml";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "tlsa";
+    repo = "libcyaml";
+    rev = "v${version}";
+    sha256 = "0428p0rwq71nhh5nzcbapsbrjxa0x5l6h6ns32nxv7j624f0zd93";
+  };
+
+  buildInputs = [ libyaml ];
+
+  makeFlags = [ "VARIANT=release" "PREFIX=$(out)" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/tlsa/libcyaml";
+    description = "C library for reading and writing YAML";
+    license = licenses.isc;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libdatrie/default.nix b/pkgs/development/libraries/libdatrie/default.nix
index f4e2df36d9179..257673b1a96d2 100644
--- a/pkgs/development/libraries/libdatrie/default.nix
+++ b/pkgs/development/libraries/libdatrie/default.nix
@@ -7,6 +7,8 @@ stdenv.mkDerivation rec {
   pname = "libdatrie";
   version = "2019-12-20";
 
+  outputs = [ "bin" "out" "lib" "dev" ];
+
   src = fetchFromGitHub {
     owner = "tlwg";
     repo = "libdatrie";
diff --git a/pkgs/development/libraries/libdbusmenu-qt/default.nix b/pkgs/development/libraries/libdbusmenu-qt/default.nix
index e44f3e37d2001..75d4f76b31ffa 100644
--- a/pkgs/development/libraries/libdbusmenu-qt/default.nix
+++ b/pkgs/development/libraries/libdbusmenu-qt/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation {
 
   cmakeFlags = [ "-DWITH_DOC=OFF" ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "Provides a Qt implementation of the DBusMenu spec";
     inherit homepage;
diff --git a/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix b/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
index 5ce811e9fea24..7219bcbdeb5ac 100644
--- a/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
+++ b/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [ "-DWITH_DOC=OFF" ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     homepage = "https://launchpad.net/libdbusmenu-qt";
     description = "Provides a Qt implementation of the DBusMenu spec";
diff --git a/pkgs/development/libraries/libdmtx/default.nix b/pkgs/development/libraries/libdmtx/default.nix
index 994f010252fdc..c26ccc347f9aa 100644
--- a/pkgs/development/libraries/libdmtx/default.nix
+++ b/pkgs/development/libraries/libdmtx/default.nix
@@ -1,18 +1,27 @@
-{ lib, stdenv, fetchurl, pkg-config }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+}:
 
 stdenv.mkDerivation rec {
-  name = "libdmtx-0.7.4";
+  pname = "libdmtx";
+  version = "0.7.5";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/libdmtx/${name}.tar.bz2";
-    sha256 = "0xnxx075ycy58n92yfda2z9zgd41h3d4ik5d9l197lzsqim5hb5n";
+  src = fetchFromGitHub {
+    owner = "dmtx";
+    repo = "libdmtx";
+    rev = "v${version}";
+    sha256 = "0wk3fkxzf9ip75v8ia54v6ywx72ajp5s6777j4ay8barpbv869rj";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
 
   meta = {
     description = "An open source software for reading and writing Data Matrix barcodes";
-    homepage = "http://libdmtx.org";
+    homepage = "https://github.com/dmtx/libdmtx";
+    changelog = "https://github.com/dmtx/libdmtx/blob/v${version}/ChangeLog";
     platforms = lib.platforms.all;
     maintainers = [ ];
     license = lib.licenses.bsd2;
diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index e575624f81529..b4ba311165a2c 100644
--- a/pkgs/development/libraries/libdrm/default.nix
+++ b/pkgs/development/libraries/libdrm/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals (stdenv.isAarch32 || stdenv.isAarch64) [
     "-Dtegra=true"
     "-Detnaviv=true"
-  ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "-Dintel=false";
+  ];
 
   meta = with lib; {
     homepage = "https://gitlab.freedesktop.org/mesa/drm";
diff --git a/pkgs/development/libraries/libebml/default.nix b/pkgs/development/libraries/libebml/default.nix
index 5a8f1f003165b..e7a877962ccd2 100644
--- a/pkgs/development/libraries/libebml/default.nix
+++ b/pkgs/development/libraries/libebml/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libebml";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner  = "Matroska-Org";
     repo   = "libebml";
     rev    = "release-${version}";
-    sha256 = "052v4mjynndj9xgfl4lmlsnx9ai0pah0kjyr5fm34l7gj8vhc5s7";
+    sha256 = "04bn1i7g4vwmkv3hv26rmcb59zkl2rh37qnfjm52j560bjlyd7im";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/libebur128/default.nix b/pkgs/development/libraries/libebur128/default.nix
index ba4f84f8c803c..db6c9f93faec0 100644
--- a/pkgs/development/libraries/libebur128/default.nix
+++ b/pkgs/development/libraries/libebur128/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, cmake, speexdsp, pkg-config }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.4";
+  version = "1.2.5";
   pname = "libebur128";
 
   src = fetchFromGitHub {
     owner = "jiixyj";
     repo = "libebur128";
     rev = "v${version}";
-    sha256 = "0n81rnm8dm1zmibkr2v3q79rsd609y0dbbsrbay18njcjva88p0g";
+    sha256 = "sha256-B6MOSbLfPvadXtXHSvxZCIpAH1Bnj6sItYRp+xH5HDA=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/libetpan/default.nix b/pkgs/development/libraries/libetpan/default.nix
index b4b48dcb777d7..572c90b27b47b 100644
--- a/pkgs/development/libraries/libetpan/default.nix
+++ b/pkgs/development/libraries/libetpan/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub
+{ stdenv, lib, fetchFromGitHub, fetchpatch
 , autoconf, automake, libtool, openssl, pkg-config
 }:
 
@@ -13,6 +13,28 @@ stdenv.mkDerivation rec {
     sha256 = "0g7an003simfdn7ihg9yjv7hl2czsmjsndjrp39i7cad8icixscn";
   };
 
+  patches = [
+    # The following two patches are fixing CVE-2020-15953, as reported in the
+    # issue tracker: https://github.com/dinhvh/libetpan/issues/386
+    # They might be removed for the next version bump.
+
+    # CVE-2020-15953: Detect extra data after STARTTLS response and exit
+    # https://github.com/dinhvh/libetpan/pull/387
+    (fetchpatch {
+      name = "cve-2020-15953-imap.patch";
+      url = "https://github.com/dinhvh/libetpan/commit/1002a0121a8f5a9aee25357769807f2c519fa50b.patch";
+      sha256 = "1h9ds2z4jii40a0i3z6hsnzx1ldmd2jqidsxp2y2ksyp1ijcgabn";
+    })
+
+    # CVE-2020-15953: Detect extra data after STARTTLS responses in SMTP and POP3 and exit
+    # https://github.com/dinhvh/libetpan/pull/388
+    (fetchpatch {
+      name = "cve-2020-15953-pop3-smtp.patch";
+      url = "https://github.com/dinhvh/libetpan/commit/298460a2adaabd2f28f417a0f106cb3b68d27df9.patch";
+      sha256 = "0lq829djar7nb3fai3vdzirmks3w2lfagzqc809lx2lln6y213a0";
+    })
+  ];
+
   nativeBuildInputs = [ autoconf automake libtool pkg-config ];
 
   buildInputs = [ openssl ];
diff --git a/pkgs/development/libraries/libevdev/default.nix b/pkgs/development/libraries/libevdev/default.nix
index daae6984ab25d..33b3f0b32e1d7 100644
--- a/pkgs/development/libraries/libevdev/default.nix
+++ b/pkgs/development/libraries/libevdev/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libevdev";
-  version = "1.10.0";
+  version = "1.11.0";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0jidjv78lay8kl3yigwhx9fii908sk7gn9nfd2ny12ql5ipc48im";
+    sha256 = "sha256-Y/TqFImFihCQgOC0C9Q+TgkDoeEuqIjVgduMSVdHwtA=";
   };
 
   nativeBuildInputs = [ python3 ];
diff --git a/pkgs/development/libraries/libewf/default.nix b/pkgs/development/libraries/libewf/default.nix
index f38f09410ff11..01c10dab60a08 100644
--- a/pkgs/development/libraries/libewf/default.nix
+++ b/pkgs/development/libraries/libewf/default.nix
@@ -1,12 +1,12 @@
 { fetchurl, lib, stdenv, zlib, openssl, libuuid, pkg-config }:
 
 stdenv.mkDerivation rec {
-  version = "20201210";
+  version = "20201230";
   pname = "libewf";
 
   src = fetchurl {
     url = "https://github.com/libyal/libewf/releases/download/${version}/libewf-experimental-${version}.tar.gz";
-    sha256 = "sha256-dI1We2bsBRDcyqd6HLC7eBE99dpzSkhHtNgt0ZE4aDc=";
+    sha256 = "sha256-10r4jPzsA30nHQzjdg/VkwTG1PwOskwv8Bra34ZPMgc=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/libraries/libexecinfo/30-linux-makefile.patch b/pkgs/development/libraries/libexecinfo/30-linux-makefile.patch
new file mode 100644
index 0000000000000..134c64441d366
--- /dev/null
+++ b/pkgs/development/libraries/libexecinfo/30-linux-makefile.patch
@@ -0,0 +1,44 @@
+--- Makefile.orig
++++ Makefile
+@@ -23,24 +23,25 @@
+ # SUCH DAMAGE.
+ #
+ # $Id: Makefile,v 1.3 2004/07/19 05:19:55 sobomax Exp $
++#
++# Linux Makefile by Matt Smith <mcs@darkregion.net>, 2011/01/04
+ 
+-LIB=	execinfo
++CC=cc
++AR=ar
++EXECINFO_CFLAGS=$(CFLAGS) -O2 -pipe -fno-strict-aliasing -std=gnu99 -c
++EXECINFO_LDFLAGS=$(LDFLAGS)
+ 
+-SRCS=	stacktraverse.c stacktraverse.h execinfo.c execinfo.h
++all: static dynamic
+ 
+-INCS=	execinfo.h
++static:
++	$(CC) $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) stacktraverse.c
++	$(CC) $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) execinfo.c
++	$(AR) rcs libexecinfo.a stacktraverse.o execinfo.o
+ 
+-SHLIB_MAJOR=	1
+-SHLIB_MINOR=	0
++dynamic:
++	$(CC) -fpic -DPIC $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) stacktraverse.c -o stacktraverse.So
++	$(CC) -fpic -DPIC $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) execinfo.c -o execinfo.So
++	$(CC) -shared -Wl,-soname,libexecinfo.so.1 -o libexecinfo.so.1 stacktraverse.So execinfo.So
+ 
+-NOPROFILE=	yes
+-
+-DPADD=		${LIBM}
+-LDADD=		-lm
+-
+-#WARNS?=	4
+-
+-#stacktraverse.c: gen.py
+-#	./gen.py > stacktraverse.c
+-
+-.include <bsd.lib.mk>
++clean:
++	rm -rf *.o *.So *.a *.so
diff --git a/pkgs/development/libraries/libexecinfo/default.nix b/pkgs/development/libraries/libexecinfo/default.nix
index f3f89209707a6..36f956e777242 100644
--- a/pkgs/development/libraries/libexecinfo/default.nix
+++ b/pkgs/development/libraries/libexecinfo/default.nix
@@ -23,14 +23,11 @@ stdenv.mkDerivation rec {
       url = "https://git.alpinelinux.org/aports/plain/main/libexecinfo/20-define-gnu-source.patch?id=730cdcef6901750f4029d4c3b8639ce02ee3ead1";
       sha256 = "1mp8mc639b0h2s69m5z6s2h3q3n1zl298j9j0plzj7f979j76302";
     })
-    (fetchpatch {
-      name = "30-linux-makefile.patch";
-      url = "https://git.alpinelinux.org/aports/plain/main/libexecinfo/30-linux-makefile.patch?id=730cdcef6901750f4029d4c3b8639ce02ee3ead1";
-      sha256 = "1jwjz22z5cjy5h2bfghn62yl9ar8jiqhdvbwrcfavv17ihbhwcaf";
-    })
+    ./30-linux-makefile.patch
   ];
 
   makeFlags = [ "CC:=$(CC)" "AR:=$(AR)" ];
+  hardeningEnable = [ "stackprotector" ];
 
   buildFlags =
       lib.optional enableStatic "static"
diff --git a/pkgs/development/libraries/libextractor/default.nix b/pkgs/development/libraries/libextractor/default.nix
index 59916bfb33f77..d99cf6ef6214e 100644
--- a/pkgs/development/libraries/libextractor/default.nix
+++ b/pkgs/development/libraries/libextractor/default.nix
@@ -1,6 +1,6 @@
 { fetchurl, lib, stdenv, substituteAll
 , libtool, gettext, zlib, bzip2, flac, libvorbis
-, exiv2, libgsf, rpm, pkg-config, fetchpatch
+, exiv2, libgsf, rpm, pkg-config
 , gstreamerSupport ? true, gst_all_1 ? null
 # ^ Needed e.g. for proper id3 and FLAC support.
 #   Set to `false` to decrease package closure size by about 87 MB (53%).
@@ -20,28 +20,15 @@ assert gtkSupport -> glib != null && gtk3 != null;
 assert videoSupport -> ffmpeg_3 != null && libmpeg2 != null;
 
 stdenv.mkDerivation rec {
-  name = "libextractor-1.9";
+  pname = "libextractor";
+  version = "1.11";
 
   src = fetchurl {
-    url = "mirror://gnu/libextractor/${name}.tar.gz";
-    sha256 = "1zz2zvikvfibxnk1va3kgzs7djsmiqy7bmk8y01vbsf54ryjb3zh";
+    url = "mirror://gnu/libextractor/${pname}-${version}.tar.gz";
+    sha256 = "sha256-FvYzq4dGo4VHxKHaP0WRGSsIJa2DxDNvBXW4WEPYvY8=";
   };
 
-  patches = [
-    ./fix-gcc8-build.patch
-    # Fixes build with exiv2 0.27
-    (fetchpatch {
-      name = "libextractor-exiv2-0.27.patch";
-      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/libextractor-exiv2-0.27.patch?h=packages/libextractor&id=4dc53f7fc69210ae571285dface108ed65d8ee53";
-      sha256 = "0w4gc1q1m1yxsd4hv105nblmif465nw3g5nxzldy0x2rl9mdncg6";
-    })
-    (fetchpatch {
-      name = "CVE-2019-15531.patch";
-      url = "https://git.gnunet.org/libextractor.git/patch/?id=d2b032452241708bee68d02aa02092cfbfba951a";
-      sha256 = "01xhcjbzv6p53wz7y2ii76kb8m9iwvnm4ip9w4a0bpgaxqz4b9fw";
-      excludes = [ "ChangeLog" ];
-    })
-  ] ++ lib.optionals gstreamerSupport [
+  patches = lib.optionals gstreamerSupport [
 
     # Libraries cannot be wrapped so we need to hardcode the plug-in paths.
     (substituteAll {
@@ -76,12 +63,11 @@ stdenv.mkDerivation rec {
 
   # Checks need to be run after "make install", otherwise plug-ins are not in
   # the search path, etc.
-  # FIXME: Tests currently fail and the test framework appears to be deeply
-  # broken anyway.
   doCheck = false;
-  #postInstall = "make check";
+  doInstallCheck = true;
+  installCheckPhase = "make check";
 
-  meta = {
+  meta = with lib; {
     description = "Simple library for keyword extraction";
 
     longDescription =
@@ -105,9 +91,9 @@ stdenv.mkDerivation rec {
          additional MIME types are detected.
       '';
 
-    license = lib.licenses.gpl2Plus;
+    license = licenses.gpl3Plus;
 
-    maintainers = [ ];
-    platforms = lib.platforms.linux;
+    maintainers = [ maintainers.jorsn ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libextractor/fix-gcc8-build.patch b/pkgs/development/libraries/libextractor/fix-gcc8-build.patch
deleted file mode 100644
index e04d09be89981..0000000000000
--- a/pkgs/development/libraries/libextractor/fix-gcc8-build.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/src/plugins/ole2_extractor.c b/src/plugins/ole2_extractor.c
-index 072ffc5..a105840 100644
---- a/src/plugins/ole2_extractor.c
-+++ b/src/plugins/ole2_extractor.c
-@@ -345,9 +345,8 @@ process_star_office (GsfInput *src,
-     gsf_input_read (src, size, (unsigned char*) buf);
-     if ( (buf[0] != 0x0F) ||
- 	 (buf[1] != 0x0) ||
--	 (0 != strncmp (&buf[2],
--			"SfxDocumentInfo",
--			strlen ("SfxDocumentInfo"))) ||
-+	 (0 != strcmp (&buf[2],
-+			"SfxDocumentInfo")) ||
- 	 (buf[0x11] != 0x0B) ||
- 	 (buf[0x13] != 0x00) || /* pw protected! */
- 	 (buf[0x12] != 0x00) )
diff --git a/pkgs/development/libraries/libfaketime/0001-Remove-unsupported-clang-flags.patch b/pkgs/development/libraries/libfaketime/0001-Remove-unsupported-clang-flags.patch
index 84ee18084c297..7dfad4978005c 100644
--- a/pkgs/development/libraries/libfaketime/0001-Remove-unsupported-clang-flags.patch
+++ b/pkgs/development/libraries/libfaketime/0001-Remove-unsupported-clang-flags.patch
@@ -1,25 +1,13 @@
-From f974fe07de9e6820bb1de50b31e480296d1d97b7 Mon Sep 17 00:00:00 2001
-From: Christian Kampka <christian@kampka.net>
-Date: Wed, 25 Nov 2020 20:09:50 +0100
-Subject: [PATCH] Remove unsupported clang flags
-
----
- src/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
 diff --git a/src/Makefile b/src/Makefile
-index f13a6bb..b305150 100644
+index 2af4804..bcff809 100644
 --- a/src/Makefile
 +++ b/src/Makefile
-@@ -69,7 +69,7 @@ PREFIX ?= /usr/local
+@@ -80,7 +80,7 @@ PREFIX ?= /usr/local
  LIBDIRNAME ?= /lib/faketime
  PLATFORM ?=$(shell uname)
  
--CFLAGS += -std=gnu99 -Wall -Wextra -Werror -Wno-nonnull-compare -DFAKE_PTHREAD -DFAKE_STAT -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"' $(FAKETIME_COMPILE_CFLAGS)
-+CFLAGS += -std=gnu99 -Wall -Wextra -DFAKE_PTHREAD -DFAKE_STAT -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"' $(FAKETIME_COMPILE_CFLAGS)
+-CFLAGS += -std=gnu99 -Wall -Wextra -Werror -Wno-nonnull-compare -DFAKE_PTHREAD -DFAKE_STAT -DFAKE_UTIME -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"' $(FAKETIME_COMPILE_CFLAGS)
++CFLAGS += -std=gnu99 -Wall -Wextra -DFAKE_PTHREAD -DFAKE_STAT -DFAKE_UTIME -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"' $(FAKETIME_COMPILE_CFLAGS)
  ifeq ($(PLATFORM),SunOS)
  CFLAGS += -D__EXTENSIONS__ -D_XOPEN_SOURCE=600
  endif
--- 
-2.28.0
-
diff --git a/pkgs/development/libraries/libfaketime/default.nix b/pkgs/development/libraries/libfaketime/default.nix
index 170bb116a8a88..27487c6a31594 100644
--- a/pkgs/development/libraries/libfaketime/default.nix
+++ b/pkgs/development/libraries/libfaketime/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libfaketime";
-  version = "0.9.8";
+  version = "0.9.9";
 
   src = fetchurl {
     url = "https://github.com/wolfcw/libfaketime/archive/v${version}.tar.gz";
-    sha256 = "18s2hjm4sbrlg6sby944z87yslnq9s85p7j892hyr42qrlvq4a06";
+    sha256 = "sha256-V9AYEVA2HAqbXI7vBbETkvYTStosLZmOkuY9rtY5ZHw=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/libfm/default.nix b/pkgs/development/libraries/libfm/default.nix
index dc83592412575..255ddfa22ad7c 100644
--- a/pkgs/development/libraries/libfm/default.nix
+++ b/pkgs/development/libraries/libfm/default.nix
@@ -1,32 +1,40 @@
-{ lib, stdenv, fetchurl, glib, intltool, menu-cache, pango, pkg-config, vala
+{ lib
+, stdenv
+, fetchurl
+, glib
+, intltool
+, menu-cache
+, pango
+, pkg-config
+, vala
 , extraOnly ? false
-, withGtk3 ? false, gtk2, gtk3 }:
+, withGtk3 ? false, gtk2, gtk3
+}:
+
 let
     gtk = if withGtk3 then gtk3 else gtk2;
     inherit (lib) optional;
 in
 stdenv.mkDerivation rec {
-  name = if extraOnly
-    then "libfm-extra-${version}"
-    else "libfm-${version}";
-  version = "1.3.1";
+  pname = if extraOnly
+          then "libfm-extra"
+          else "libfm";
+  version = "1.3.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/pcmanfm/libfm-${version}.tar.xz";
-    sha256 = "1r6gl49xrykldwz8y4h2s7gjarxigg3bbkrj0gphxjj1vr5j9ccn";
+    sha256 = "sha256-pQQmMDBM+OXYz/nVZca9VG8ii0jJYBU+02ajTofK0eU=";
   };
 
   nativeBuildInputs = [ vala pkg-config intltool ];
-  buildInputs = [ glib gtk pango ] ++ optional (!extraOnly) menu-cache;
+  buildInputs = [ glib gtk pango ]
+                ++ optional (!extraOnly) menu-cache;
 
-  configureFlags = [
-    "--sysconfdir=/etc"
-  ] ++ optional extraOnly "--with-extra-only"
-    ++ optional withGtk3 "--with-gtk=3";
+  configureFlags = [ "--sysconfdir=/etc" ]
+                   ++ optional extraOnly "--with-extra-only"
+                   ++ optional withGtk3 "--with-gtk=3";
 
-  installFlags = [
-    "sysconfdir=${placeholder "out"}/etc"
-  ];
+  installFlags = [ "sysconfdir=${placeholder "out"}/etc" ];
 
   # libfm-extra is pulled in by menu-cache and thus leads to a collision for libfm
   postInstall = optional (!extraOnly) ''
diff --git a/pkgs/development/libraries/libfprint/default.nix b/pkgs/development/libraries/libfprint/default.nix
index f3f7313accbbe..979ba7eea539f 100644
--- a/pkgs/development/libraries/libfprint/default.nix
+++ b/pkgs/development/libraries/libfprint/default.nix
@@ -2,6 +2,7 @@
 , fetchFromGitLab
 , pkg-config
 , meson
+, python3
 , ninja
 , gusb
 , pixman
@@ -10,13 +11,13 @@
 , gobject-introspection
 , coreutils
 , gtk-doc
-, docbook_xsl
+, docbook-xsl-nons
 , docbook_xml_dtd_43
 }:
 
 stdenv.mkDerivation rec {
   pname = "libfprint";
-  version = "1.90.5";
+  version = "1.90.7";
   outputs = [ "out" "devdoc" ];
 
   src = fetchFromGitLab {
@@ -24,7 +25,7 @@ stdenv.mkDerivation rec {
     owner = "libfprint";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1wfwka2ik4hbb5wk5dp533040sqygwswg91c3v5fvpmmixh5qx9j";
+    sha256 = "sha256-g/yczzCZEzUKV2uFl1MAPL1H/R2QJSwxgppI2ftt9QI=";
   };
 
   nativeBuildInputs = [
@@ -32,7 +33,7 @@ stdenv.mkDerivation rec {
     meson
     ninja
     gtk-doc
-    docbook_xsl
+    docbook-xsl-nons
     docbook_xml_dtd_43
     gobject-introspection
   ];
@@ -44,16 +45,29 @@ stdenv.mkDerivation rec {
     nss
   ];
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=array-bounds";
+  checkInputs = [
+    python3
+  ];
 
   mesonFlags = [
     "-Dudev_rules_dir=${placeholder "out"}/lib/udev/rules.d"
+    # Include virtual drivers for fprintd tests
+    "-Ddrivers=all"
   ];
 
+  doCheck = true;
+
+  postPatch = ''
+    patchShebangs \
+      tests/test-runner.sh \
+      tests/unittest_inspector.py \
+      tests/virtual-image.py
+  '';
+
   meta = with lib; {
     homepage = "https://fprint.freedesktop.org/";
     description = "A library designed to make it easy to add support for consumer fingerprint readers";
-    license = licenses.lgpl21;
+    license = licenses.lgpl21Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ abbradar ];
   };
diff --git a/pkgs/development/libraries/libfyaml/default.nix b/pkgs/development/libraries/libfyaml/default.nix
index 69b7bdc7d1e19..a666a7db5233d 100644
--- a/pkgs/development/libraries/libfyaml/default.nix
+++ b/pkgs/development/libraries/libfyaml/default.nix
@@ -1,15 +1,21 @@
-{ lib, stdenv, fetchurl, gnum4 }:
+{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "libfyaml";
-  version = "0.5.7";
+  version = "0.6";
 
-  src = fetchurl {
-    url = "https://github.com/pantoniou/libfyaml/releases/download/v${version}/libfyaml-${version}.tar.gz";
-    sha256 = "143m30f006jsvhikk9nc050hxzqi8xg0sbd88kjrgfpyncdz689j";
+  src = fetchFromGitHub {
+    owner = "pantoniou";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0b1wnalh49rbjykw4bj5k3y1d9yr8k6f0im221bl1gyrwlgw7hp5";
   };
 
-  nativeBuildInputs = [ gnum4 ];
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+
+  postPatch = ''
+    echo ${version} > .tarball-version
+  '';
 
   meta = with lib; {
     homepage = "https://github.com/pantoniou/libfyaml";
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index 6c6d73740f209..80cd5bc13cc3b 100644
--- a/pkgs/development/libraries/libgcrypt/default.nix
+++ b/pkgs/development/libraries/libgcrypt/default.nix
@@ -1,18 +1,27 @@
 { lib, stdenv, fetchurl, gettext, libgpgerror, enableCapabilities ? false, libcap
-, buildPackages
+, buildPackages, fetchpatch
 }:
 
 assert enableCapabilities -> stdenv.isLinux;
 
 stdenv.mkDerivation rec {
   pname = "libgcrypt";
-  version = "1.8.7";
+  version = "1.9.1";
 
   src = fetchurl {
     url = "mirror://gnupg/libgcrypt/${pname}-${version}.tar.bz2";
-    sha256 = "0j27jxhjay78by940d64778nxwbysxynv5mq6iq1nmlrh810zdq3";
+    sha256 = "1nb50bgzp83q6r5cz4v40y1mcbhpqwqyxlay87xp1lrbkf5pm9n5";
   };
 
+  patches = [
+    # fix build on 32bit musl
+    (fetchpatch {
+      name = "fix_building_with_disable-asm_on_x86.patch";
+      url = "https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff_plain;h=af23ab5c5482d625ff52e60606cf044e2b0106c8";
+      sha256 = "1m8apm8wra6fk89ggha4d0bba5absihm38zvb2khklqh9q5hj9jw";
+    })
+  ];
+
   outputs = [ "out" "dev" "info" ];
   outputBin = "dev";
 
@@ -27,8 +36,10 @@ stdenv.mkDerivation rec {
     ++ lib.optional stdenv.isDarwin gettext
     ++ lib.optional enableCapabilities libcap;
 
+  strictDeps = true;
+
   configureFlags = [ "--with-libgpg-error-prefix=${libgpgerror.dev}" ]
-   ++ lib.optional stdenv.hostPlatform.isMusl "--disable-asm";
+      ++ lib.optional (stdenv.hostPlatform.isMusl || (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)) "--disable-asm"; # for darwin see https://dev.gnupg.org/T5157
 
   # Necessary to generate correct assembly when compiling for aarch32 on
   # aarch64
diff --git a/pkgs/development/libraries/libgda/6.x.nix b/pkgs/development/libraries/libgda/6.x.nix
new file mode 100644
index 0000000000000..fc24fe41c4d33
--- /dev/null
+++ b/pkgs/development/libraries/libgda/6.x.nix
@@ -0,0 +1,92 @@
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, intltool
+, meson
+, ninja
+, itstool
+, libxml2
+, python3
+, gtk3
+, json-glib
+, isocodes
+, openssl
+, gnome3
+, gobject-introspection
+, vala
+, libgee
+, sqlite
+, gtk-doc
+, yelp-tools
+, mysqlSupport ? false
+, libmysqlclient ? null
+, postgresSupport ? false
+, postgresql ? null
+}:
+
+assert mysqlSupport -> libmysqlclient != null;
+assert postgresSupport -> postgresql != null;
+
+stdenv.mkDerivation rec {
+  pname = "libgda";
+  version = "6.0.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0w564z7krgjk19r39mi5qn4kggpdg9ggbyn9pb4aavb61r14npwr";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    intltool
+    meson
+    ninja
+    itstool
+    libxml2
+    python3
+    gobject-introspection
+    vala
+    gtk-doc
+    yelp-tools
+  ];
+
+  buildInputs = [
+    gtk3
+    json-glib
+    isocodes
+    openssl
+    libgee
+    sqlite
+  ] ++ lib.optionals mysqlSupport [
+    libmysqlclient
+  ] ++ lib.optionals postgresSupport [
+    postgresql
+  ];
+
+  postPatch = ''
+    patchShebangs \
+      providers/raw_spec.py \
+      providers/mysql/gen_bin.py
+  '';
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "libgda6";
+    };
+  };
+
+  meta = with lib; {
+    description = "Database access library";
+    homepage = "https://www.gnome-db.org/";
+    license = with licenses; [
+      # library
+      lgpl2Plus
+      # CLI tools
+      gpl2Plus
+    ];
+    maintainers = teams.gnome.members;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libgda/default.nix b/pkgs/development/libraries/libgda/default.nix
index 73e71de4aac63..307cc14a6efef 100644
--- a/pkgs/development/libraries/libgda/default.nix
+++ b/pkgs/development/libraries/libgda/default.nix
@@ -1,7 +1,27 @@
-{ lib, stdenv, fetchurl, pkg-config, intltool, itstool, libxml2, gtk3, openssl, gnome3, gobject-introspection, vala, libgee
-, overrideCC, gcc6, fetchpatch, autoreconfHook, gtk-doc, autoconf-archive, yelp-tools
-, mysqlSupport ? false, libmysqlclient ? null
-, postgresSupport ? false, postgresql ? null
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, intltool
+, itstool
+, libxml2
+, gtk3
+, openssl
+, gnome3
+, gobject-introspection
+, vala
+, libgee
+, overrideCC
+, gcc6
+, fetchpatch
+, autoreconfHook
+, gtk-doc
+, autoconf-archive
+, yelp-tools
+, mysqlSupport ? false
+, libmysqlclient ? null
+, postgresSupport ? false
+, postgresql ? null
 }:
 
 assert mysqlSupport -> libmysqlclient != null;
@@ -24,7 +44,30 @@ assert postgresSupport -> postgresql != null;
     })
   ];
 
-  configureFlags = with lib; [
+  nativeBuildInputs = [
+    pkg-config
+    intltool
+    itstool
+    libxml2
+    gobject-introspection
+    vala
+    autoreconfHook
+    gtk-doc
+    autoconf-archive
+    yelp-tools
+  ];
+
+  buildInputs = [
+    gtk3
+    openssl
+    libgee
+  ] ++ lib.optionals mysqlSupport [
+    libmysqlclient
+  ] ++ lib.optionals postgresSupport [
+    postgresql
+  ];
+
+  configureFlags = [
     "--with-mysql=${if mysqlSupport then "yes" else "no"}"
     "--with-postgres=${if postgresSupport then "yes" else "no"}"
 
@@ -40,11 +83,6 @@ assert postgresSupport -> postgresql != null;
 
   hardeningDisable = [ "format" ];
 
-  nativeBuildInputs = [ pkg-config intltool itstool libxml2 gobject-introspection vala autoreconfHook gtk-doc autoconf-archive yelp-tools ];
-  buildInputs = with lib; [ gtk3 openssl libgee ]
-    ++ optional (mysqlSupport) libmysqlclient
-    ++ optional (postgresSupport) postgresql;
-
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
@@ -54,8 +92,13 @@ assert postgresSupport -> postgresql != null;
   meta = with lib; {
     description = "Database access library";
     homepage = "https://www.gnome-db.org/";
-    license = [ licenses.lgpl2 licenses.gpl2 ];
+    license = with licenses; [
+      # library
+      lgpl2Plus
+      # CLI tools
+      gpl2Plus
+    ];
     maintainers = teams.gnome.members;
-    platforms = platforms.linux ++ platforms.darwin;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libgdata/default.nix b/pkgs/development/libraries/libgdata/default.nix
index 86e3f4274fcf8..2cd7da0784acb 100644
--- a/pkgs/development/libraries/libgdata/default.nix
+++ b/pkgs/development/libraries/libgdata/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libgdata";
-  version = "0.17.13";
+  version = "0.18.0";
 
   outputs = [ "out" "dev" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0bj7ij6k3lxjn62jgh8vabr8vfjs48aylnnl3779warw5iwyzfga";
+    sha256 = "8MIBEvpTcrYsASVvJorvUTGhYd/COGjzk+z3uLN1JYA=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/libglvnd/default.nix b/pkgs/development/libraries/libglvnd/default.nix
index 88ba7dacc22f1..31a9579a8928e 100644
--- a/pkgs/development/libraries/libglvnd/default.nix
+++ b/pkgs/development/libraries/libglvnd/default.nix
@@ -1,11 +1,15 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, autoreconfHook, python3, pkg-config, libX11, libXext, xorgproto, addOpenGLRunpath }:
+{ stdenv, lib, fetchFromGitLab
+, autoreconfHook, pkg-config, python3, addOpenGLRunpath
+, libX11, libXext, xorgproto
+}:
 
 stdenv.mkDerivation rec {
   pname = "libglvnd";
   version = "1.3.2";
 
-  src = fetchFromGitHub {
-    owner = "NVIDIA";
+  src = fetchFromGitLab {
+    domain = "gitlab.freedesktop.org";
+    owner = "glvnd";
     repo = "libglvnd";
     rev = "v${version}";
     sha256 = "10x7fgb114r4gikdg6flszl3kwzcb9y5qa7sj9936mk0zxhjaylz";
@@ -31,8 +35,11 @@ stdenv.mkDerivation rec {
     "-Wno-error=array-bounds"
   ] ++ lib.optional stdenv.cc.isClang "-Wno-error");
 
-  # Indirectly: https://bugs.freedesktop.org/show_bug.cgi?id=35268
-  configureFlags  = lib.optional stdenv.hostPlatform.isMusl "--disable-tls";
+  configureFlags  = []
+    # Indirectly: https://bugs.freedesktop.org/show_bug.cgi?id=35268
+    ++ lib.optional stdenv.hostPlatform.isMusl "--disable-tls"
+    # Remove when aarch64-darwin asm support is upstream: https://gitlab.freedesktop.org/glvnd/libglvnd/-/issues/216
+    ++ lib.optional (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) "--disable-asm";
 
   outputs = [ "out" "dev" ];
 
@@ -47,8 +54,17 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "The GL Vendor-Neutral Dispatch library";
-    homepage = "https://github.com/NVIDIA/libglvnd";
-    license = licenses.bsd2;
+    longDescription = ''
+      libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API
+      calls between multiple vendors. It allows multiple drivers from different
+      vendors to coexist on the same filesystem, and determines which vendor to
+      dispatch each API call to at runtime.
+      Both GLX and EGL are supported, in any combination with OpenGL and OpenGL ES.
+    '';
+    inherit (src.meta) homepage;
+    # https://gitlab.freedesktop.org/glvnd/libglvnd#libglvnd:
+    license = with licenses; [ mit bsd1 bsd3 gpl3Only asl20 ];
     platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ primeos ];
   };
 }
diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix
index 39d0b185660f4..da53a9916d05c 100644
--- a/pkgs/development/libraries/libgpg-error/default.nix
+++ b/pkgs/development/libraries/libgpg-error/default.nix
@@ -17,11 +17,11 @@
   };
 in stdenv.mkDerivation (rec {
   pname = "libgpg-error";
-  version = "1.38";
+  version = "1.41";
 
   src = fetchurl {
     url = "mirror://gnupg/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "00px79xzyc5lj8aig7i4fhk29h1lkqp4840wjfgi9mv9m9sq566q";
+    sha256 = "0hi7jbcs1l9kxzhiqcs2iivsb048642mwaimgqyh1hy3bas7ic34";
   };
 
   postPatch = ''
@@ -66,7 +66,8 @@ in stdenv.mkDerivation (rec {
   doCheck = true; # not cross
 
   meta = with lib; {
-    homepage = "https://www.gnupg.org/related_software/libgpg-error/index.html";
+    homepage = "https://www.gnupg.org/software/libgpg-error/index.html";
+    changelog = "https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgpg-error.git;a=blob;f=NEWS;hb=refs/tags/libgpg-error-${version}";
     description = "A small library that defines common error values for all GnuPG components";
 
     longDescription = ''
diff --git a/pkgs/development/libraries/libgroove/default.nix b/pkgs/development/libraries/libgroove/default.nix
index 963bf722b2a33..f14524df0dc55 100644
--- a/pkgs/development/libraries/libgroove/default.nix
+++ b/pkgs/development/libraries/libgroove/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, libav, SDL2, chromaprint, libebur128 }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, ffmpeg_3, SDL2, chromaprint, libebur128 }:
 
 stdenv.mkDerivation rec {
   version = "4.3.0";
@@ -11,10 +11,17 @@ stdenv.mkDerivation rec {
     sha256 = "1la9d9kig50mc74bxvhx6hzqv0nrci9aqdm4k2j4q0s1nlfgxipd";
   };
 
-  patches = [ ./no-warnings-as-errors.patch ];
+  patches = [
+    ./no-warnings-as-errors.patch
+    (fetchpatch {
+      name = "update-for-ffmpeg-3.0.patch";
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/0001-update-for-ffmpeg-3.0.patch?h=libgroove&id=a9f3bd2a5afd3227733414a5d54c7a2aa0a1249e";
+      sha256 = "0800drk9df1kwbv80f2ffv77xk888249fk0d961rp2a305hvyrk0";
+    })
+  ];
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ libav SDL2 chromaprint libebur128 ];
+  buildInputs = [ ffmpeg_3 SDL2 chromaprint libebur128 ];
 
   meta = with lib; {
     description = "Streaming audio processing library";
diff --git a/pkgs/development/libraries/libhandy/default.nix b/pkgs/development/libraries/libhandy/default.nix
index 5ab6dde09d785..43092f71c571a 100644
--- a/pkgs/development/libraries/libhandy/default.nix
+++ b/pkgs/development/libraries/libhandy/default.nix
@@ -9,7 +9,6 @@
 , docbook_xsl
 , docbook_xml_dtd_43
 , gtk3
-, gnome3
 , glade
 , dbus
 , xvfb_run
diff --git a/pkgs/development/libraries/libheif/default.nix b/pkgs/development/libraries/libheif/default.nix
index b0872b9da1e45..71dfca5e64309 100644
--- a/pkgs/development/libraries/libheif/default.nix
+++ b/pkgs/development/libraries/libheif/default.nix
@@ -1,9 +1,9 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libde265, x265, libpng,
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, dav1d, rav1e, libde265, x265, libpng,
   libjpeg, libaom }:
 
 stdenv.mkDerivation rec {
   pname = "libheif";
-  version = "1.9.1";
+  version = "1.11.0";
 
   outputs = [ "bin" "out" "dev" "man" ];
 
@@ -11,21 +11,19 @@ stdenv.mkDerivation rec {
     owner = "strukturag";
     repo = "libheif";
     rev = "v${version}";
-    sha256 = "0hjs1i076jmy4ryj8y2zs293wx53kzg38y8i42cbcsqydvsdp6hz";
+    sha256 = "sha256-xT0sfYPp5atYXnVpP8TYu2TC9/Z/ClyEP1OTSfcw1gw=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ libde265 x265 libpng libjpeg libaom ];
-  # TODO: enable dav1d and rav1e codecs when libheif can find them via pkg-config
+  buildInputs = [ dav1d rav1e libde265 x265 libpng libjpeg libaom ];
 
   enableParallelBuilding = true;
 
   meta = {
     homepage = "http://www.libheif.org/";
     description = "ISO/IEC 23008-12:2017 HEIF image file format decoder and encoder";
-    license = lib.licenses.lgpl3;
+    license = lib.licenses.lgpl3Plus;
     platforms = lib.platforms.unix;
     maintainers = with lib.maintainers; [ gebner ];
   };
-
 }
diff --git a/pkgs/development/libraries/libhsts/default.nix b/pkgs/development/libraries/libhsts/default.nix
new file mode 100644
index 0000000000000..df53e7d294f24
--- /dev/null
+++ b/pkgs/development/libraries/libhsts/default.nix
@@ -0,0 +1,40 @@
+{ lib, stdenv, fetchFromGitLab, fetchurl, autoconf-archive, autoreconfHook, pkg-config, python3 }:
+let
+  chromium_version = "90.0.4417.1";
+
+  hsts_list = fetchurl {
+    url = "https://raw.github.com/chromium/chromium/${chromium_version}/net/http/transport_security_state_static.json";
+    sha256 = "09f24n30x5dmqk8zk7k2glcilgr27832a3304wj1yp97158sqsfx";
+  };
+
+in
+stdenv.mkDerivation rec {
+  pname = "libhsts";
+  version = "0.1.0";
+
+  src = fetchFromGitLab {
+    owner = "rockdaboot";
+    repo = pname;
+    rev = "libhsts-${version}";
+    sha256 = "0gbchzf0f4xzb6zjc56dk74hqrmdgyirmgxvvsqp9vqn9wb5kkx4";
+  };
+
+  postPatch = ''
+    pushd tests
+    cp ${hsts_list} transport_security_state_static.json
+    sed 's/^ *\/\/.*$//g' transport_security_state_static.json >hsts.json
+    popd
+    patchShebangs src/hsts-make-dafsa
+  '';
+
+  nativeBuildInputs = [ autoconf-archive autoreconfHook pkg-config python3 ];
+
+  outputs = [ "out" "dev" ];
+
+  meta = with lib; {
+    description = "Library to easily check a domain against the Chromium HSTS Preload list";
+    homepage = "https://gitlab.com/rockdaboot/libhsts";
+    license = with licenses; [ mit bsd3 ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/libraries/libhsts/update.sh b/pkgs/development/libraries/libhsts/update.sh
new file mode 100755
index 0000000000000..f80966e08c9aa
--- /dev/null
+++ b/pkgs/development/libraries/libhsts/update.sh
@@ -0,0 +1,13 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl jq
+
+set -euo pipefail -x
+
+cd "$(dirname "$0")"
+
+chromium_version=$(curl -s "https://api.github.com/repos/chromium/chromium/tags" | jq -r 'map(select(.prerelease | not)) | .[1].name')
+sha256=$(nix-prefetch-url "https://raw.github.com/chromium/chromium/$chromium_version/net/http/transport_security_state_static.json")
+
+sed -e "0,/chromium_version/s/chromium_version = \".*\"/chromium_version = \"$chromium_version\"/" \
+    -e "0,/sha256/s/sha256 = \".*\"/sha256 = \"$sha256\"/" \
+  --in-place ./default.nix
diff --git a/pkgs/development/libraries/libhugetlbfs/default.nix b/pkgs/development/libraries/libhugetlbfs/default.nix
index ed5f67d43709a..061fe51ed5bab 100644
--- a/pkgs/development/libraries/libhugetlbfs/default.nix
+++ b/pkgs/development/libraries/libhugetlbfs/default.nix
@@ -1,26 +1,16 @@
-{ stdenv, lib, fetchurl, fetchpatch }:
+{ stdenv, lib, fetchurl }:
 
 stdenv.mkDerivation rec {
   pname = "libhugetlbfs";
-  version = "2.22";
+  version = "2.23";
 
   src = fetchurl {
     url = "https://github.com/libhugetlbfs/libhugetlbfs/releases/download/${version}/libhugetlbfs-${version}.tar.gz";
-    sha256 = "11b7k8xvgx68rjzidm12a6l6b23hwi7hj149y9xxfz2j5kmakp4l";
+    sha256 = "0ya4q001g111d3pqlzrf3yaifadl0ccirx5dndz1pih7x3qp41mp";
   };
 
   outputs = [ "bin" "dev" "man" "doc" "lib" "out" ];
 
-  patches = [
-    # Don't check that 32-bit and 64-bit libraries don't get installed
-    # to the same place if only one platform is being built for.
-    # Can be removed if build succeeds without it.
-    (fetchpatch {
-      url = "https://groups.google.com/forum/message/raw?msg=libhugetlbfs/IswjDAygfwA/PKy7MZbVAAAJ";
-      sha256 = "00fyrhn380d6swil8pcf4x0krl1113ghswrvjn3m9czc3h4p385a";
-    })
-  ];
-
   postConfigure = ''
     patchShebangs ld.hugetlbfs
   '';
@@ -34,8 +24,8 @@ stdenv.mkDerivation rec {
     "LIBDIR64=$(lib)/$(LIB64)"
     "EXEDIR=$(bin)/bin"
     "DOCDIR=$(doc)/share/doc/libhugetlbfs"
-  ] ++ map (n: "MANDIR${n}=$(man)/share/man/man${n}")
-    (lib.genList (n: toString (n + 1)) 8);
+    "MANDIR=$(man)/share/man"
+  ];
 
   # Default target builds tests as well, and the tests want a static
   # libc.
diff --git a/pkgs/development/libraries/libical/default.nix b/pkgs/development/libraries/libical/default.nix
index 7f5e739a99cd0..fa396e9665063 100644
--- a/pkgs/development/libraries/libical/default.nix
+++ b/pkgs/development/libraries/libical/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , buildPackages
 , cmake
 , glib
@@ -22,7 +21,7 @@ assert introspectionSupport -> gobject-introspection != null && vala != null;
 
 stdenv.mkDerivation rec {
   pname = "libical";
-  version = "3.0.8";
+  version = "3.0.9";
 
   outputs = [ "out" "dev" ]; # "devdoc" ];
 
@@ -30,7 +29,7 @@ stdenv.mkDerivation rec {
     owner = "libical";
     repo = "libical";
     rev = "v${version}";
-    sha256 = "0pkh74bfrgp1slv8wsv7lbmal2m7qkixwm5llpmfwaiv14njlp68";
+    sha256 = "sha256-efdiGktLGITaQ6VinnfYG52fMhO0Av+JKROt2kTvS1U=";
   };
 
   nativeBuildInputs = [
@@ -68,19 +67,13 @@ stdenv.mkDerivation rec {
     "-DGOBJECT_INTROSPECTION=True"
     "-DICAL_GLIB_VAPI=True"
   ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-    "-DIMPORT_GLIB_SRC_GENERATOR=${lib.getDev buildPackages.libical}/lib/cmake/LibIcal/GlibSrcGenerator.cmake"
+    "-DIMPORT_ICAL_GLIB_SRC_GENERATOR=${lib.getDev buildPackages.libical}/lib/cmake/LibIcal/IcalGlibSrcGenerator.cmake"
   ];
 
   patches = [
     # Will appear in 3.1.0
     # https://github.com/libical/libical/issues/350
     ./respect-env-tzdir.patch
-    # Export src-generator binary for use while cross-compiling
-    # https://github.com/libical/libical/pull/439
-    (fetchpatch {
-      url = "https://github.com/libical/libical/commit/1197d84b63dce179b55a6293cfd6d0523607baf1.patch";
-      sha256 = "18i1khnwmw488s7g5a1kf05sladf8dbyhfc69mbcf6dkc4nnc3dg";
-    })
   ];
 
   # Using install check so we do not have to manually set
diff --git a/pkgs/development/libraries/libimagequant/default.nix b/pkgs/development/libraries/libimagequant/default.nix
index 83a5a462ee007..1c8502da492f0 100644
--- a/pkgs/development/libraries/libimagequant/default.nix
+++ b/pkgs/development/libraries/libimagequant/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libimagequant";
-  version = "2.13.1";
+  version = "2.14.0";
 
   src = fetchFromGitHub {
     owner = "ImageOptim";
     repo = pname;
     rev = version;
-    sha256 = "1543h1i59k2hbj2g8shcl8fvhz2silipacynwjgw412r38hkr33j";
+    sha256 = "sha256-XP/GeZC8TCgBPqtScY9eneZHFter1kdWf/yko0p2VYQ=";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/libjcat/default.nix b/pkgs/development/libraries/libjcat/default.nix
index 974f1f6674fb7..2e75894eb8341 100644
--- a/pkgs/development/libraries/libjcat/default.nix
+++ b/pkgs/development/libraries/libjcat/default.nix
@@ -19,7 +19,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libjcat";
-  version = "0.1.5";
+  version = "0.1.6";
 
   outputs = [ "bin" "out" "dev" "devdoc" "man" "installedTests" ];
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     owner = "hughsie";
     repo = "libjcat";
     rev = version;
-    sha256 = "sha256-xf/hzTzhxKJDL5Way0Qbrs8pXCvAQ+ADtgJO2GbEvmc=";
+    sha256 = "sha256-X+mFl0YZpnt6zzvVTGZN7PROVUaQ8ZmU3T0EgyoZX6g=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix
index 2426dfebe8a28..f2d4e00d1aad6 100644
--- a/pkgs/development/libraries/libjpeg-turbo/default.nix
+++ b/pkgs/development/libraries/libjpeg-turbo/default.nix
@@ -1,4 +1,6 @@
 { lib, stdenv, fetchFromGitHub, cmake, nasm
+, openjdk
+, enableJava ? false # whether to build the java wrapper
 , enableStatic ? stdenv.hostPlatform.isStatic
 , enableShared ? !stdenv.hostPlatform.isStatic
 }:
@@ -26,11 +28,18 @@ stdenv.mkDerivation rec {
     moveToOutput include/transupp.h $dev_private
   '';
 
-  nativeBuildInputs = [ cmake nasm ];
+  nativeBuildInputs = [
+    cmake
+    nasm
+  ] ++ lib.optionals enableJava [
+    openjdk
+  ];
 
   cmakeFlags = [
     "-DENABLE_STATIC=${if enableStatic then "1" else "0"}"
     "-DENABLE_SHARED=${if enableShared then "1" else "0"}"
+  ] ++ lib.optionals enableJava [
+    "-DWITH_JAVA=1"
   ];
 
   doInstallCheck = true;
diff --git a/pkgs/development/libraries/libkeyfinder/default.nix b/pkgs/development/libraries/libkeyfinder/default.nix
index d2aecccdedffa..324e675f33bf1 100644
--- a/pkgs/development/libraries/libkeyfinder/default.nix
+++ b/pkgs/development/libraries/libkeyfinder/default.nix
@@ -1,37 +1,30 @@
-{ lib, stdenv, fetchFromGitHub, fftw, qtbase, qmake }:
+{ lib, stdenv, fetchFromGitHub, cmake, fftw, catch2 }:
 
 stdenv.mkDerivation rec {
   pname = "libkeyfinder";
-  version = "2.1";
+  version = "2.2.4";
 
   src = fetchFromGitHub {
-    sha256 = "07kc0cl6kirgmpdgkgmp6r3yvyf7b1w569z01g8rfl1cig80qdc7";
+    owner = "mixxxdj";
+    repo = "libkeyfinder";
     rev = "v${version}";
-    repo = "libKeyFinder";
-    owner = "ibsh";
+    sha256 = "005qq81xfzi1iifvpgkqpizxcrfisafq2r0cjp4fxqh1ih7bfimv";
   };
 
-  nativeBuildInputs = [ qmake ];
-  buildInputs = [ fftw qtbase ];
+  # needed for finding libkeyfinder.so to link it into keyfinder-tests executable
+  cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=OFF" ];
 
-  postPatch = ''
-    substituteInPlace LibKeyFinder.pro \
-      --replace "/usr/local" "$out" \
-      --replace "-stdlib=libc++" ""
-  '';
+  nativeBuildInputs = [ cmake ];
 
-  enableParallelBuilding = true;
+  buildInputs = [ fftw ];
 
-  postInstall = ''
-    mkdir -p $out/include/keyfinder
-    install -m644 *.h $out/include/keyfinder
-    mkdir -p $out/lib
-    cp -a lib*.so* $out/lib
-  '';
+  checkInputs = [ catch2 ];
+
+  doCheck = true;
 
   meta = with lib; {
     description = "Musical key detection for digital audio (C++ library)";
-    homepage = "http://www.ibrahimshaath.co.uk/keyfinder/";
+    homepage = "https://mixxxdj.github.io/libkeyfinder/";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
   };
diff --git a/pkgs/development/libraries/libktorrent/default.nix b/pkgs/development/libraries/libktorrent/default.nix
index 610efa7ed4f4c..825fe87fe2fe4 100644
--- a/pkgs/development/libraries/libktorrent/default.nix
+++ b/pkgs/development/libraries/libktorrent/default.nix
@@ -27,6 +27,8 @@ in stdenv.mkDerivation rec {
     inherit mainVersion;
   };
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "A BitTorrent library used by KTorrent";
     homepage    = "https://www.kde.org/applications/internet/ktorrent/";
diff --git a/pkgs/development/libraries/liblastfm/default.nix b/pkgs/development/libraries/liblastfm/default.nix
index 10cdb3014791c..5183c47bc061a 100644
--- a/pkgs/development/libraries/liblastfm/default.nix
+++ b/pkgs/development/libraries/liblastfm/default.nix
@@ -23,6 +23,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ fftwSinglePrec libsamplerate qtbase ]
     ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.SystemConfiguration;
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     homepage = "https://github.com/lastfm/liblastfm";
     repositories.git = "git://github.com/lastfm/liblastfm.git";
diff --git a/pkgs/development/libraries/liblinear/default.nix b/pkgs/development/libraries/liblinear/default.nix
index 3989cc59e4d86..caf0369601390 100644
--- a/pkgs/development/libraries/liblinear/default.nix
+++ b/pkgs/development/libraries/liblinear/default.nix
@@ -13,6 +13,12 @@ in stdenv.mkDerivation rec {
     sha256 = "0p0hpjajfkskhd7jiv5zwhfa8hi49q3mgifjlkqvy99xspv98ijj";
   };
 
+  postPatch = ''
+    substituteInPlace blas/Makefile \
+      --replace "ar rcv" "${stdenv.cc.targetPrefix}ar rcv" \
+      --replace "ranlib" "${stdenv.cc.targetPrefix}ranlib"
+  '';
+
   outputs = [ "bin" "dev" "out" ];
 
   nativeBuildInputs = lib.optionals stdenv.isDarwin [ fixDarwinDylibNames ];
diff --git a/pkgs/development/libraries/liblinphone/default.nix b/pkgs/development/libraries/liblinphone/default.nix
index f56e6a9a5c780..647fb6825afb5 100644
--- a/pkgs/development/libraries/liblinphone/default.nix
+++ b/pkgs/development/libraries/liblinphone/default.nix
@@ -49,7 +49,7 @@
 
 stdenv.mkDerivation rec {
   pname = "liblinphone";
-  version = "4.4.15";
+  version = "4.4.21";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "16a31c0n5lix4r5xk7p447xlxbrhdlmj11kb4y1krb5fx8hf65cl";
+    sha256 = "sha256-vs65lBRTYYhx2F90n32qnf0CvcPJUIXc16hmggTF/JI=";
   };
 
   # Do not build static libraries
diff --git a/pkgs/development/libraries/libmaxminddb/default.nix b/pkgs/development/libraries/libmaxminddb/default.nix
index 078865198a453..05ae1af2e2576 100644
--- a/pkgs/development/libraries/libmaxminddb/default.nix
+++ b/pkgs/development/libraries/libmaxminddb/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmaxminddb";
-  version = "1.5.0";
+  version = "1.5.2";
 
   src = fetchurl {
     url = meta.homepage + "/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-fFbnkf8qZVIV5+04ZLH/3X00o4g1d57+1WpC8Fa9WKo=";
+    sha256 = "sha256-UjcHbSUKX3wpfjMcNaQz7qrw3CBeBw5Ns1PJuhDzQKI=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/libmbim/default.nix b/pkgs/development/libraries/libmbim/default.nix
index 850c7aa1df0c0..9695b221cb97f 100644
--- a/pkgs/development/libraries/libmbim/default.nix
+++ b/pkgs/development/libraries/libmbim/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmbim";
-  version = "1.24.4";
+  version = "1.24.6";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libmbim/${pname}-${version}.tar.xz";
-    sha256 = "11djb1d8w9ms07aklfm3pskjw9rnff4p4n3snanschv22zk8wj6x";
+    sha256 = "sha256-dgRlyqoczWmcFCkOl5HaRW1TAN0R6/TBSGFRAz6HXf0=";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/development/libraries/libmodulemd/default.nix b/pkgs/development/libraries/libmodulemd/default.nix
index 8a8d9adf53d8e..f95d39a02da8e 100644
--- a/pkgs/development/libraries/libmodulemd/default.nix
+++ b/pkgs/development/libraries/libmodulemd/default.nix
@@ -1,7 +1,6 @@
 { lib, stdenv
 , substituteAll
 , fetchFromGitHub
-, fetchpatch
 , pkg-config
 , meson
 , ninja
@@ -19,7 +18,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libmodulemd";
-  version = "2.9.2";
+  version = "2.12.0";
 
   outputs = [ "bin" "out" "dev" "devdoc" "man" "py" ];
 
@@ -27,7 +26,7 @@ stdenv.mkDerivation rec {
     owner = "fedora-modularity";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "0xl5f6a32hmli29b0rfp54h7vnagxdv9qa2r871mrgrr6fzjwvbn";
+    sha256 = "1mq9as98q4wyka404f8xwfc44cn5j4bsk0fch5pf07v81sagc1q9";
   };
 
   patches = [
@@ -36,17 +35,6 @@ stdenv.mkDerivation rec {
       src = ./glib-devdoc.patch;
       glib_devdoc = glib.devdoc;
     })
-
-    # Install pygobject overrides to our prefix instead of python3 one.
-    # https://github.com/fedora-modularity/libmodulemd/pull/469
-    (fetchpatch {
-      url = "https://github.com/fedora-modularity/libmodulemd/commit/f72a4bea092f4d84cfc48a3e820eb10270e828d0.patch";
-      sha256 = "1rrf94q1yf98w6b9bm67mb6w6qv1zqi306iv1vzspvjhsqvzmzpg";
-    })
-    (fetchpatch {
-      url = "https://github.com/fedora-modularity/libmodulemd/commit/021ab08006b5cf601ce153174fdf403b910b8273.patch";
-      sha256 = "0z35jpnnzzb5bvmc2lglrpfnwarhky2jqmhq9avnnki22fdw89i6";
-    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libmysqlconnectorcpp/default.nix b/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
index 4c00d64258805..40d814814caa9 100644
--- a/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
+++ b/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmysqlconnectorcpp";
-  version = "8.0.21";
+  version = "8.0.23";
 
   src = fetchurl {
     url = "https://cdn.mysql.com/Downloads/Connector-C++/mysql-connector-c++-${version}-src.tar.gz";
-    sha256 = "08z40419aip26z6ss30g59mvnddb8dfam82l556jyj3gxs0irqbh";
+    sha256 = "sha256-mvBklaaggP7WLacJePHLDGbwWO3V6p7ak0WmS/jsaI8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libnbd/default.nix b/pkgs/development/libraries/libnbd/default.nix
new file mode 100644
index 0000000000000..6ad0435a84e04
--- /dev/null
+++ b/pkgs/development/libraries/libnbd/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, stdenv
+, fetchurl
+, bash-completion
+, pkg-config
+, perl
+, libxml2
+, fuse
+, gnutls
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libnbd";
+  version = "1.7.2";
+
+  src = fetchurl {
+    url = "https://download.libguestfs.org/libnbd/${lib.versions.majorMinor version}-development/${pname}-${version}.tar.gz";
+    hash = "sha256-+xC4wDEeWi3RteF04C/qjMmjM+lmhtrtXZZyM1UUli4=";
+  };
+
+  nativeBuildInputs = [
+    bash-completion
+    pkg-config
+    perl
+  ];
+  buildInputs = [
+    fuse
+    gnutls
+    libxml2
+  ];
+
+  installFlags = [ "bashcompdir=$(out)/share/bash-completion/completions" ];
+
+  meta = with lib; {
+    homepage = "https://gitlab.com/nbdkit/libnbd";
+    description = "Network Block Device client library in userspace";
+    longDescription = ''
+      NBD — Network Block Device — is a protocol for accessing Block Devices
+      (hard disks and disk-like things) over a Network.  This is the NBD client
+      library in userspace, a simple library for writing NBD clients.
+
+      The key features are:
+      - Synchronous API for ease of use.
+      - Asynchronous API for writing non-blocking, multithreaded clients. You
+        can mix both APIs freely.
+      - High performance.
+      - Minimal dependencies for the basic library.
+      - Well-documented, stable API.
+      - Bindings in several programming languages.
+      - Shell (nbdsh) for command line and scripting.
+    '';
+    license = with licenses; lgpl21Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = with platforms; linux;
+  };
+}
+# TODO: NBD URI support apparently is not enabled
+# TODO: package the 1.6-stable version too
+# TODO: git version needs ocaml
+# TODO: bindings for go, ocaml and python
+
diff --git a/pkgs/development/libraries/libnftnl/default.nix b/pkgs/development/libraries/libnftnl/default.nix
index 025ddf8e7b1de..44f0f8d62ec73 100644
--- a/pkgs/development/libraries/libnftnl/default.nix
+++ b/pkgs/development/libraries/libnftnl/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, pkg-config, libmnl }:
 
 stdenv.mkDerivation rec {
-  version = "1.1.8";
+  version = "1.1.9";
   pname = "libnftnl";
 
   src = fetchurl {
     url = "https://netfilter.org/projects/${pname}/files/${pname}-${version}.tar.bz2";
-    sha256 = "04dp797llg3cqzivwrql30wg9mfr0ngnp0v5gs7jcdmp11dzm8q4";
+    sha256 = "16jbp4fs5dz2yf4c3bl1sb48x9x9wi1chv39zwmfgya1k9pimcp9";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/libraries/libngspice/default.nix b/pkgs/development/libraries/libngspice/default.nix
index 72fbcd1ab0841..2f8aab830da09 100644
--- a/pkgs/development/libraries/libngspice/default.nix
+++ b/pkgs/development/libraries/libngspice/default.nix
@@ -4,11 +4,11 @@
 # the ngspice derivation.
 stdenv.mkDerivation rec {
   pname = "libngspice";
-  version = "33";
+  version = "34";
 
   src = fetchurl {
     url = "mirror://sourceforge/ngspice/ngspice-${version}.tar.gz";
-    sha256 = "1wa1hmpn13spmxqgbb1m7vgy32mwvjqwrxhymzll8z65q5nbd7dr";
+    sha256 = "sha256-ImP//GaUdUlyr3By7wHP5irHkIANrWUbwpC/yueb17U=";
   };
 
   nativeBuildInputs = [ flex bison ];
diff --git a/pkgs/development/libraries/libofx/default.nix b/pkgs/development/libraries/libofx/default.nix
index 10197bd8db093..f46a20394646f 100644
--- a/pkgs/development/libraries/libofx/default.nix
+++ b/pkgs/development/libraries/libofx/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libofx";
-  version = "0.9.15";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "LibOFX";
     repo = pname;
     rev = version;
-    sha256 = "1jx56ma351p8af8dvavygjwf6ipa7qbgq7bpdsymwj27apdnixfy";
+    sha256 = "sha256-gdLh5ZUciN4FCJwTCaJSKJ5RjXgNDXnDOUWkyTZwf2c=";
   };
 
   preConfigure = "./autogen.sh";
diff --git a/pkgs/development/libraries/libosinfo/default.nix b/pkgs/development/libraries/libosinfo/default.nix
index a6b170167198d..c3852f25741f4 100644
--- a/pkgs/development/libraries/libosinfo/default.nix
+++ b/pkgs/development/libraries/libosinfo/default.nix
@@ -23,11 +23,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libosinfo";
-  version = "1.8.0";
+  version = "1.9.0";
 
   src = fetchurl {
     url = "https://releases.pagure.org/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1988l5rykpzvml1l7bi2hcax0gdc811vja0f92cnr7r01nz35zs9";
+    sha256 = "sha256-tPNBgVTvP0PZQggnKUkWrqGCcCGvwG4WRPxWlRgwo1k=";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/pkgs/development/libraries/libosmpbf/default.nix b/pkgs/development/libraries/libosmpbf/default.nix
index 1cbfe44ef4e50..572b5710fa9a3 100644
--- a/pkgs/development/libraries/libosmpbf/default.nix
+++ b/pkgs/development/libraries/libosmpbf/default.nix
@@ -1,16 +1,16 @@
 {lib, stdenv, fetchurl, protobuf}:
 
 stdenv.mkDerivation {
-  name = "libosmpbf-1.3.3";
+  name = "libosmpbf-1.5.0";
 
   src = fetchurl {
-    url = "https://github.com/scrosby/OSM-binary/archive/v1.3.3.tar.gz";
-    sha256 = "a109f338ce6a8438a8faae4627cd08599d0403b8977c185499de5c17b92d0798";
+    url = "https://github.com/scrosby/OSM-binary/archive/v1.5.0.tar.gz";
+    sha256 = "sha256-Kr8xJnKXk3MsM4B2OZnMNl5Rv/2jaaAIITh5o82QR2w=";
   };
 
   buildInputs = [ protobuf ];
 
-  sourceRoot = "OSM-binary-1.3.3/src";
+  sourceRoot = "OSM-binary-1.5.0/src";
 
   installFlags = [ "PREFIX=$(out)" ];
 
diff --git a/pkgs/development/libraries/libpcap/default.nix b/pkgs/development/libraries/libpcap/default.nix
index 0b30bf6c2b0d2..c04d4a001a17b 100644
--- a/pkgs/development/libraries/libpcap/default.nix
+++ b/pkgs/development/libraries/libpcap/default.nix
@@ -4,11 +4,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "libpcap";
-  version = "1.9.1";
+  version = "1.10.0";
 
   src = fetchurl {
     url = "https://www.tcpdump.org/release/${pname}-${version}.tar.gz";
-    sha256 = "153h1378diqyc27jjgz6gg5nxmb4ddk006d9xg69nqavgiikflk3";
+    sha256 = "sha256-jRK0JiPu7+6HLxI70NyF1TWwDfTULoZfmTxA97/JKx4=";
   };
 
   nativeBuildInputs = [ flex bison ]
@@ -21,13 +21,11 @@ stdenv.mkDerivation rec {
       linux = "linux";
       darwin = "bpf";
     }.${stdenv.hostPlatform.parsed.kernel.name})
+  ] ++ optionals stdenv.isDarwin [
+    "--disable-universal"
   ] ++ optionals (stdenv.hostPlatform == stdenv.buildPlatform)
     [ "ac_cv_linux_vers=2" ];
 
-  prePatch = optionalString stdenv.isDarwin ''
-    substituteInPlace configure --replace " -arch i386" ""
-  '';
-
   postInstall = ''
     if [ "$dontDisableStatic" -ne "1" ]; then
       rm -f $out/lib/libpcap.a
diff --git a/pkgs/development/libraries/libqalculate/default.nix b/pkgs/development/libraries/libqalculate/default.nix
index 80e6e6fe66898..8bd187b5300c1 100644
--- a/pkgs/development/libraries/libqalculate/default.nix
+++ b/pkgs/development/libraries/libqalculate/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libqalculate";
-  version = "3.16.0";
+  version = "3.17.0";
 
   src = fetchFromGitHub {
     owner = "qalculate";
     repo = "libqalculate";
     rev = "v${version}";
-    sha256 = "0nrf03q3qrsvxf6kjpv69l49yfal79834a3jv75mzi6y674ach9g";
+    sha256 = "sha256-VlKJrGZOMmnWFmdwV3SchBfyRsHM78eNV+uWONLZbJI=";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/libqglviewer/default.nix b/pkgs/development/libraries/libqglviewer/default.nix
index 4fc50f2073092..65d7a83a8384f 100644
--- a/pkgs/development/libraries/libqglviewer/default.nix
+++ b/pkgs/development/libraries/libqglviewer/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ qtbase libGLU ]
     ++ lib.optional stdenv.isDarwin AGL;
 
+  dontWrapQtApps = true;
+
   postPatch = ''
     cd QGLViewer
   '';
diff --git a/pkgs/development/libraries/libqmi/default.nix b/pkgs/development/libraries/libqmi/default.nix
index 7bd3fa97029a0..42d8cbf285963 100644
--- a/pkgs/development/libraries/libqmi/default.nix
+++ b/pkgs/development/libraries/libqmi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libqmi";
-  version = "1.26.8";
+  version = "1.26.10";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libqmi/${pname}-${version}.tar.xz";
-    sha256 = "sha256-73bclasKBjIaG9Jeh1SJy6Esn2YRl0ygE1zwZ7sgyWA=";
+    sha256 = "sha256-fABD8GyHXlzx3jwMlMzH9bBYYry82eT7DV0UJ30dq1k=";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/pkgs/development/libraries/libquotient/default.nix b/pkgs/development/libraries/libquotient/default.nix
index 10b2451e7c850..24cd29dcb10b4 100644
--- a/pkgs/development/libraries/libquotient/default.nix
+++ b/pkgs/development/libraries/libquotient/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "libquotient";
-  version = "0.6.4";
+  version = "0.6.5";
 
   src = fetchFromGitHub {
     owner = "quotient-im";
     repo = "libQuotient";
     rev = version;
-    sha256 = "sha256-bWqZiRv/mJzw+WY+7dLIzYBu8jhglBqgTjiXyQ1y6IQ=";
+    sha256 = "sha256-TAfo4BkNHE8r32FPT2iDjddq2lk1yC9DrRGZurSO48c=";
   };
 
   buildInputs = [ qtbase qtmultimedia ];
diff --git a/pkgs/development/libraries/librealsense/default.nix b/pkgs/development/libraries/librealsense/default.nix
index 82761dc3d0090..7d9aa52e5961c 100644
--- a/pkgs/development/libraries/librealsense/default.nix
+++ b/pkgs/development/libraries/librealsense/default.nix
@@ -7,7 +7,7 @@ assert enablePython -> pythonPackages != null;
 
 stdenv.mkDerivation rec {
   pname = "librealsense";
-  version = "2.41.0";
+  version = "2.42.0";
 
   outputs = [ "out" "dev" ];
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     owner = "IntelRealSense";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ngv9fgja72vg7hq1aiwpa7x4dhniawhpd8mqm85pqkjxiph8s1k";
+    sha256 = "sha256-8r8j0g7EaSUWujX+BNdkIJhzaLITMLsozjhOtQBriTA=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/libressl/default.nix b/pkgs/development/libraries/libressl/default.nix
index d67342eebc115..b7724d27a060a 100644
--- a/pkgs/development/libraries/libressl/default.nix
+++ b/pkgs/development/libraries/libressl/default.nix
@@ -63,11 +63,6 @@ let
   };
 
 in {
-  libressl_3_0 = generic {
-    version = "3.0.2";
-    sha256 = "13ir2lpxz8y1m151k7lrx306498nzfhwlvgkgv97v5cvywmifyyz";
-  };
-
   libressl_3_1 = generic {
     version = "3.1.4";
     sha256 = "1dnbbnr43jashxivnafmh9gnn57c7ayva788ba03z633k6f18k21";
diff --git a/pkgs/development/libraries/librseq/default.nix b/pkgs/development/libraries/librseq/default.nix
index 12b9b4109c70f..82e6c54bb2c8e 100644
--- a/pkgs/development/libraries/librseq/default.nix
+++ b/pkgs/development/libraries/librseq/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Userspace library for the Linux Restartable Sequence API";
     homepage    = "https://github.com/compudj/librseq";
-    license     = licenses.lgpl21;
+    license     = licenses.lgpl21Only;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ thoughtpolice ];
   };
diff --git a/pkgs/development/libraries/libschrift/default.nix b/pkgs/development/libraries/libschrift/default.nix
index 3781d93461256..96b8c7ac2e57c 100644
--- a/pkgs/development/libraries/libschrift/default.nix
+++ b/pkgs/development/libraries/libschrift/default.nix
@@ -1,16 +1,24 @@
-{ lib, stdenv, fetchFromGitHub }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "libschrift";
-  version = "0.9.1";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "tomolt";
     repo = pname;
-    rev = "c6d20460d6e602e8829d3a227fd7be4c4c3cda86";
-    hash = "sha256-BuTmWaWFZ0DXujlbhbmK3Woit8fR9F4DWmKszHX6gOI=";
+    rev = "c207585486b3e78ec5506f55f5d56178f421a53c";
+    sha256 = "13qrplsi2a53s84giwnzqmn0zbslyaagvjn89wsn9fd90m2v2bs1";
   };
 
+  # fix a compilation failure related to darwin integers, remove at next release
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/tomolt/libschrift/commit/1b1292f2cf4b582d66b2f6c87105997391f9fa08.patch";
+      sha256 = "076l3n28famgi74nr5bz47yn192bm76p8c8558fm5zj5c21pcfsv";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace config.mk \
       --replace "PREFIX = /usr/local" "PREFIX = $out"
diff --git a/pkgs/development/libraries/libshout/default.nix b/pkgs/development/libraries/libshout/default.nix
index c810034f84787..1e5cdb389483d 100644
--- a/pkgs/development/libraries/libshout/default.nix
+++ b/pkgs/development/libraries/libshout/default.nix
@@ -4,11 +4,11 @@
 # need pkg-config so that libshout installs ${out}/lib/pkgconfig/shout.pc
 
 stdenv.mkDerivation rec {
-  name = "libshout-2.4.4";
+  name = "libshout-2.4.5";
 
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/libshout/${name}.tar.gz";
-    sha256 = "1hz670a4pfpsb89b0mymy8nw4rx8x0vmh61gq6j1vbg70mfhrscc";
+    sha256 = "sha256-2eVoZopnOZTr4/HrXyvuBuMjal25K40MSH4cD4hqaJA=";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/libsigcxx/default.nix b/pkgs/development/libraries/libsigcxx/default.nix
index eac383fae0d94..c933d92f32550 100644
--- a/pkgs/development/libraries/libsigcxx/default.nix
+++ b/pkgs/development/libraries/libsigcxx/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://libsigcplusplus.github.io/libsigcplusplus/";
     description = "A typesafe callback system for standard C++";
-    license = licenses.lgpl21;
+    license = licenses.lgpl21Plus;
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libsigsegv/default.nix b/pkgs/development/libraries/libsigsegv/default.nix
index 20cb80b1ff852..4189ba9c6fae4 100644
--- a/pkgs/development/libraries/libsigsegv/default.nix
+++ b/pkgs/development/libraries/libsigsegv/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "libsigsegv-2.12";
+  name = "libsigsegv-2.13";
 
   src = fetchurl {
     url = "mirror://gnu/libsigsegv/${name}.tar.gz";
-    sha256 = "1dlhqf4igzpqayms25lkhycjq1ccavisx8cnb3y4zapbkqsszq9s";
+    sha256 = "sha256-vnjuQXawX3x1/wMpjYSHTbkPS2ydVQPw2hIms6PEgRk=";
   };
 
   patches = if enableSigbusFix then [ ./sigbus_fix.patch ] else null;
diff --git a/pkgs/development/libraries/libsixel/default.nix b/pkgs/development/libraries/libsixel/default.nix
index e82ecde5ddd24..0d5a54f9693e9 100644
--- a/pkgs/development/libraries/libsixel/default.nix
+++ b/pkgs/development/libraries/libsixel/default.nix
@@ -22,5 +22,9 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ vrthra ];
     license = licenses.mit;
     platforms = with platforms; unix;
+    knownVulnerabilities = [
+      "CVE-2020-11721" # https://github.com/saitoha/libsixel/issues/134
+      "CVE-2020-19668" # https://github.com/saitoha/libsixel/issues/136
+    ];
   };
 }
diff --git a/pkgs/development/libraries/libsodium/default.nix b/pkgs/development/libraries/libsodium/default.nix
index db2cd044592b5..64ae1713fd451 100644
--- a/pkgs/development/libraries/libsodium/default.nix
+++ b/pkgs/development/libraries/libsodium/default.nix
@@ -12,6 +12,11 @@ stdenv.mkDerivation rec {
   separateDebugInfo = stdenv.isLinux && stdenv.hostPlatform.libc != "musl";
 
   enableParallelBuilding = true;
+  hardeningDisable = lib.optional (stdenv.targetPlatform.isMusl && stdenv.targetPlatform.isx86_32) "stackprotector";
+
+  # FIXME: the hardeingDisable attr above does not seems effective, so
+  # the need to disable stackprotector via configureFlags
+  configureFlags = lib.optional (stdenv.targetPlatform.isMusl && stdenv.targetPlatform.isx86_32) "--disable-ssp";
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/libspnav/configure-socket-path.patch b/pkgs/development/libraries/libspnav/configure-socket-path.patch
new file mode 100644
index 0000000000000..2c315067f41fb
--- /dev/null
+++ b/pkgs/development/libraries/libspnav/configure-socket-path.patch
@@ -0,0 +1,47 @@
+diff --git a/spnav.c b/spnav.c
+index f9e10f8..27149f7 100644
+--- a/spnav.c
++++ b/spnav.c
+@@ -36,7 +36,7 @@ OF SUCH DAMAGE.
+ #include <sys/select.h>
+ #include "spnav.h"
+ 
+-#define SPNAV_SOCK_PATH "/var/run/spnav.sock"
++#define DEFAULT_SPNAV_SOCK_PATH "/run/spnav.sock"
+ 
+ #ifdef USE_X11
+ #include <X11/Xlib.h>
+@@ -70,6 +70,24 @@ static struct event_node *ev_queue, *ev_queue_tail;
+ /* AF_UNIX socket used for alternative communication with daemon */
+ static int sock = -1;
+ 
++static char *spath = NULL;
++
++static char *socket_path()
++{
++	char *xdg_runtime_dir;
++	if((xdg_runtime_dir = getenv("XDG_RUNTIME_DIR"))) {
++		if ( spath == NULL ) {
++			spath = malloc(strlen(xdg_runtime_dir) + strlen("/spnav.sock") + 1);
++			if ( spath != NULL ) {
++				sprintf(spath, sizeof(spath), "%s/spnav.sock", xdg_runtime_dir);
++			}
++		}
++		if(access(spath, F_OK)){
++			return spath;
++		}
++	}
++	return DEFAULT_SPNAV_SOCK_PATH;
++}
+ 
+ int spnav_open(void)
+ {
+@@ -92,7 +110,7 @@ int spnav_open(void)
+ 
+ 	memset(&addr, 0, sizeof addr);
+ 	addr.sun_family = AF_UNIX;
+-	strncpy(addr.sun_path, SPNAV_SOCK_PATH, sizeof(addr.sun_path));
++	strncpy(addr.sun_path, socket_path(), sizeof(addr.sun_path));
+ 
+ 
+ 	if(connect(s, (struct sockaddr*)&addr, sizeof addr) == -1) {
diff --git a/pkgs/development/libraries/libspnav/default.nix b/pkgs/development/libraries/libspnav/default.nix
new file mode 100644
index 0000000000000..9bd0a67041b12
--- /dev/null
+++ b/pkgs/development/libraries/libspnav/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, lib, fetchFromGitHub, libX11}:
+
+stdenv.mkDerivation rec {
+  version = "0.2.3";
+  pname = "libspnav";
+
+  src = fetchFromGitHub {
+    owner = "FreeSpacenav";
+    repo = "libspnav";
+    rev = "${pname}-${version}";
+    sha256 = "098h1jhlj87axpza5zgy58prp0zn94wyrbch6x0s7q4mzh7dc8ba";
+  };
+
+  buildInputs = [ libX11 ];
+
+  patches = [
+    # Changes the socket path from /run/spnav.sock to $XDG_RUNTIME_DIR/spnav.sock
+    # to allow for a user service
+    ./configure-socket-path.patch
+  ];
+
+  configureFlags = [ "--disable-debug"];
+
+  preInstall = ''
+    mkdir -p $out/{lib,include}
+  '';
+
+  meta = with lib; {
+    homepage = "http://spacenav.sourceforge.net/";
+    description = "Device driver and SDK for 3Dconnexion 3D input devices";
+    longDescription = "A free, compatible alternative, to the proprietary 3Dconnexion device driver and SDK, for their 3D input devices (called 'space navigator', 'space pilot', 'space traveller', etc)";
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ sohalt ];
+  };
+}
diff --git a/pkgs/development/libraries/libthai/default.nix b/pkgs/development/libraries/libthai/default.nix
index ad00906bb8cc3..97745813ef260 100644
--- a/pkgs/development/libraries/libthai/default.nix
+++ b/pkgs/development/libraries/libthai/default.nix
@@ -4,12 +4,16 @@ stdenv.mkDerivation rec {
   pname = "libthai";
   version = "0.1.28";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchurl {
     url = "https://github.com/tlwg/libthai/releases/download/v${version}/libthai-${version}.tar.xz";
     sha256 = "04g93bgxrcnay9fglpq2lj9nr7x1xh06i60m7haip8as9dxs3q7z";
   };
 
-  nativeBuildInputs = [ installShellFiles pkg-config ];
+  strictDeps = true;
+
+  nativeBuildInputs = [ installShellFiles (lib.getBin libdatrie) pkg-config ];
 
   buildInputs = [ libdatrie ];
 
diff --git a/pkgs/development/libraries/libuchardet/default.nix b/pkgs/development/libraries/libuchardet/default.nix
index 443791f245191..8bf2e2acff9f9 100644
--- a/pkgs/development/libraries/libuchardet/default.nix
+++ b/pkgs/development/libraries/libuchardet/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     "-DCMAKE_SKIP_BUILD_RPATH=OFF" # for tests
   ];
 
-  doCheck = true;
+  doCheck = !stdenv.isi686; # tests fail on i686
 
   meta = with lib; {
     description = "Mozilla's Universal Charset Detector C/C++ API";
diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix
index d69c8d670c4a5..69410cf2b9864 100644
--- a/pkgs/development/libraries/libusb1/default.nix
+++ b/pkgs/development/libraries/libusb1/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , autoreconfHook
 , pkg-config
 , enableUdev ? stdenv.isLinux && !stdenv.hostPlatform.isMusl
@@ -22,6 +23,13 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
+  patches = [ (fetchpatch {
+    # https://bugs.archlinux.org/task/69121
+    url = "https://github.com/libusb/libusb/commit/f6d2cb561402c3b6d3627c0eb89e009b503d9067.patch";
+    sha256 = "1dbahikcbwkjhyvks7wbp7fy2bf7nca48vg5z0zqvqzjb9y595cq";
+    excludes = [ "libusb/version_nano.h" ];
+  }) ];
+
   nativeBuildInputs = [ pkg-config autoreconfHook ];
   propagatedBuildInputs =
     lib.optional enableUdev udev ++
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index a4447ed337893..6b1a0120e49eb 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -1,19 +1,20 @@
 { stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, pkg-config, ApplicationServices, CoreServices }:
 
 stdenv.mkDerivation rec {
-  version = "1.40.0";
+  version = "1.41.0";
   pname = "libuv";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1hd0x6i80ca3j0c3a7laygzab5qkgxjkz692jwzrsinsfhvbq0pg";
+    sha256 = "sha256-i6AYD1Ony0L2+3yWK6bxOfwoZEvd9qCg33QSqA7bRXI=";
   };
 
   postPatch = let
     toDisable = [
       "getnameinfo_basic" "udp_send_hang_loop" # probably network-dependent
+      "tcp_connect_timeout" # tries to reach out to 8.8.8.8
       "spawn_setuid_fails" "spawn_setgid_fails" "fs_chown" # user namespaces
       "getaddrinfo_fail" "getaddrinfo_fail_sync"
       "threadpool_multiple_event_loops" # times out on slow machines
diff --git a/pkgs/development/libraries/libvirt/5.9.0.nix b/pkgs/development/libraries/libvirt/5.9.0.nix
index 76466a1a9f50c..c11d698079b04 100644
--- a/pkgs/development/libraries/libvirt/5.9.0.nix
+++ b/pkgs/development/libraries/libvirt/5.9.0.nix
@@ -133,5 +133,10 @@ in stdenv.mkDerivation rec {
     license = licenses.lgpl2Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ fpletz globin ];
+    knownVulnerabilities = [
+      "https://security.libvirt.org/2019/0008.html"
+      "https://security.libvirt.org/2019/0009.html"
+      "https://security.libvirt.org/2020/0001.html"
+    ];
   };
 }
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index 100f79ae4e83e..0ec0b0693a326 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, fetchgit
 , makeWrapper, autoreconfHook, fetchpatch
-, coreutils, libxml2, gnutls, perl, python2, attr, glib, docutils
+, coreutils, libxml2, gnutls, perl, python3, attr, glib, docutils
 , iproute, readline, lvm2, util-linux, systemd, libpciaccess, gettext
 , libtasn1, iptables, ebtables, libgcrypt, yajl, pmutils, libcap_ng, libapparmor
 , dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages
@@ -61,7 +61,7 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [
     bash-completion pkg-config
-    libxml2 gnutls perl python2 readline gettext libtasn1 libgcrypt yajl
+    libxml2 gnutls perl python3 readline gettext libtasn1 libgcrypt yajl
     libxslt xhtml1 perlPackages.XMLXPath curl libpcap glib dbus
   ] ++ optionals stdenv.isLinux [
     audit libpciaccess lvm2 util-linux systemd libnl numad zfs
@@ -90,7 +90,7 @@ in stdenv.mkDerivation rec {
     # do not use "''${qemu_kvm}/bin/qemu-kvm" to avoid bound VMs to particular qemu derivations
     substituteInPlace src/lxc/lxc_conf.c \
       --replace 'lxc_path,' '"/run/libvirt/nix-emulators/libvirt_lxc",'
-    patchShebangs . # fixes /usr/bin/python references
+    patchShebangs .
   ''
   + (lib.concatStringsSep "\n" (lib.mapAttrsToList patchBuilder overrides));
 
diff --git a/pkgs/development/libraries/libwacom/default.nix b/pkgs/development/libraries/libwacom/default.nix
index f4418ec1bc4d1..88b1f32714567 100644
--- a/pkgs/development/libraries/libwacom/default.nix
+++ b/pkgs/development/libraries/libwacom/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libwacom";
-  version = "1.7";
+  version = "1.8";
 
   outputs = [ "out" "dev" ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "linuxwacom";
     repo = "libwacom";
     rev = "libwacom-${version}";
-    sha256 = "sha256-kF4Q3ACiVlUbEjS2YqwHA42QknKMLqX9US31PmXtS/I=";
+    sha256 = "sha256-vkBkOE4aVX/6xKjslkqlZkh5jdYVEawvvBLpj8PpuiA=";
   };
 
   nativeBuildInputs = [ pkg-config meson ninja doxygen ];
diff --git a/pkgs/development/libraries/libwebsockets/default.nix b/pkgs/development/libraries/libwebsockets/default.nix
index 8f749d9fe6aa7..33c1cecfbc81d 100644
--- a/pkgs/development/libraries/libwebsockets/default.nix
+++ b/pkgs/development/libraries/libwebsockets/default.nix
@@ -32,7 +32,9 @@ let
         throughput in both directions.
       '';
       homepage = "https://libwebsockets.org/";
-      license = licenses.lgpl21;
+      # Relicensed from LGPLv2.1+ to MIT with 4.0. Licensing situation
+      # is tricky, see https://github.com/warmcat/libwebsockets/blob/main/LICENSE
+      license = with licenses; [ mit publicDomain bsd3 asl20 ];
       platforms = platforms.all;
     };
   };
@@ -50,7 +52,12 @@ rec {
   };
 
   libwebsockets_4_0 = generic {
-    version = "4.0.1";
-    sha256 = "1pf7km0w5q7dqlwcwqizdpfqgg10prfq8g2c093f5nghwsfv8mmf";
+    version = "4.0.21";
+    sha256 = "01k05x4711ngin598jr9dag4ml3m7hi6pkgr4dsb02ryh1kc6146";
+  };
+
+  libwebsockets_4_1 = generic {
+    version = "4.1.6";
+    sha256 = "0x56v4hsx92vm1zibfmnqb5g3v23kzciffn3fjlsc3sly2pknhsg";
   };
 }
diff --git a/pkgs/development/libraries/libwnck/default.nix b/pkgs/development/libraries/libwnck/default.nix
index c0019ee268afb..fd7d80574a7d5 100644
--- a/pkgs/development/libraries/libwnck/default.nix
+++ b/pkgs/development/libraries/libwnck/default.nix
@@ -23,5 +23,8 @@ stdenv.mkDerivation rec {
     homepage = "https://gitlab.gnome.org/GNOME/libwnck";
     license = lib.licenses.lgpl21;
     maintainers = with lib.maintainers; [ johnazoidberg ];
+    # ./xutils.h:31:10: fatal error: 'gdk/gdkx.h' file not found
+    # #include <gdk/gdkx.h>
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/libraries/libwpe/default.nix b/pkgs/development/libraries/libwpe/default.nix
index 102d658000c3d..4397f65ac4b67 100644
--- a/pkgs/development/libraries/libwpe/default.nix
+++ b/pkgs/development/libraries/libwpe/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libwpe";
-  version = "1.7.1";
+  version = "1.8.0";
 
   src = fetchurl {
     url = "https://wpewebkit.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "0h6kh8wy2b370y705pl2vp6vp18dkdsgdxh0243ji2v51kxbg157";
+    sha256 = "sha256-pvAKfQkcvU21f+fuO0wSxjUJIdZU7XmBKACibIiEgdI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libxc/default.nix b/pkgs/development/libraries/libxc/default.nix
index 0a93babb4599b..f78cd09c0ae06 100644
--- a/pkgs/development/libraries/libxc/default.nix
+++ b/pkgs/development/libraries/libxc/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitLab, cmake, gfortran, perl }:
 
 let
-  version = "5.1.0";
+  version = "5.1.2";
 
 in stdenv.mkDerivation {
   pname = "libxc";
@@ -11,7 +11,7 @@ in stdenv.mkDerivation {
     owner = "libxc";
     repo = "libxc";
     rev = version;
-    sha256 = "0qbxh0lfx4cab1fk1qfnx72g4yvs376zqrq74jn224vy32nam2x7";
+    sha256 = "1bcj7x0kaal62m41v9hxb4h1d2cxs2ynvsfqqg7c5yi7829nvapb";
   };
 
   buildInputs = [ gfortran ];
diff --git a/pkgs/development/libraries/libxcrypt/default.nix b/pkgs/development/libraries/libxcrypt/default.nix
new file mode 100644
index 0000000000000..4df5bde228713
--- /dev/null
+++ b/pkgs/development/libraries/libxcrypt/default.nix
@@ -0,0 +1,30 @@
+{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, pkg-config, perl }:
+
+stdenv.mkDerivation rec {
+  pname = "libxcrypt";
+  version = "4.4.18";
+
+  src = fetchFromGitHub {
+    owner = "besser82";
+    repo = "libxcrypt";
+    rev = "v${version}";
+    sha256 = "4015bf1b3a2aab31da5a544424be36c1a0f0ffc1eaa219c0e7b048e4cdcbbfe1";
+  };
+
+  preConfigure = ''
+    patchShebangs autogen.sh
+    ./autogen.sh
+  '';
+
+  nativeBuildInputs = [ autoconf automake libtool pkg-config perl ];
+
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Extended crypt library for descrypt, md5crypt, bcrypt, and others";
+    homepage = "https://github.com/besser82/libxcrypt/";
+    platforms = platforms.all;
+    maintainers = with maintainers; [ dottedmag ];
+    license = licenses.lgpl21Plus;
+  };
+}
diff --git a/pkgs/development/libraries/libxkbcommon/default.nix b/pkgs/development/libraries/libxkbcommon/default.nix
index c0785b34e891b..70dd9cb7bbf80 100644
--- a/pkgs/development/libraries/libxkbcommon/default.nix
+++ b/pkgs/development/libraries/libxkbcommon/default.nix
@@ -2,6 +2,8 @@
 , xkeyboard_config, libxcb, libxml2
 , python3
 , libX11
+# To enable the "interactive-wayland" subcommand of xkbcli:
+, withWaylandSupport ? false, wayland, wayland-protocols
 }:
 
 stdenv.mkDerivation rec {
@@ -13,18 +15,23 @@ stdenv.mkDerivation rec {
     sha256 = "0lmwglj16anhpaq0h830xsl1ivknv75i4lir9bk88aq73s2jy852";
   };
 
+  patches = [
+    ./fix-cross-compilation.patch
+  ];
+
   outputs = [ "out" "dev" "doc" ];
 
-  nativeBuildInputs = [ meson ninja pkg-config yacc doxygen ];
-  buildInputs = [ xkeyboard_config libxcb libxml2 ];
+  nativeBuildInputs = [ meson ninja pkg-config yacc doxygen ]
+    ++ lib.optional withWaylandSupport wayland;
+  buildInputs = [ xkeyboard_config libxcb libxml2 ]
+    ++ lib.optionals withWaylandSupport [ wayland wayland-protocols ];
   checkInputs = [ python3 ];
 
   mesonFlags = [
     "-Dxkb-config-root=${xkeyboard_config}/etc/X11/xkb"
     "-Dxkb-config-extra-path=/etc/xkb" # default=$sysconfdir/xkb ($out/etc)
     "-Dx-locale-root=${libX11.out}/share/X11/locale"
-    "-Denable-wayland=false"
-    "-Denable-xkbregistry=false" # Optional, separate library (TODO: Install into extra output)
+    "-Denable-wayland=${lib.boolToString withWaylandSupport}"
   ];
 
   doCheck = true;
diff --git a/pkgs/development/libraries/libxkbcommon/fix-cross-compilation.patch b/pkgs/development/libraries/libxkbcommon/fix-cross-compilation.patch
new file mode 100644
index 0000000000000..55730554a90f6
--- /dev/null
+++ b/pkgs/development/libraries/libxkbcommon/fix-cross-compilation.patch
@@ -0,0 +1,20 @@
+diff --git a/meson.build b/meson.build
+index 47c436f..536c60b 100644
+--- a/meson.build
++++ b/meson.build
+@@ -440,13 +440,12 @@ if build_tools
+     if get_option('enable-wayland')
+         wayland_client_dep = dependency('wayland-client', version: '>=1.2.0', required: false)
+         wayland_protocols_dep = dependency('wayland-protocols', version: '>=1.12', required: false)
+-        wayland_scanner_dep = dependency('wayland-scanner', required: false, native: true)
+-        if not wayland_client_dep.found() or not wayland_protocols_dep.found() or not wayland_scanner_dep.found()
++        if not wayland_client_dep.found() or not wayland_protocols_dep.found()
+             error('''The Wayland xkbcli programs require wayland-client >= 1.2.0, wayland-protocols >= 1.7 which were not found.
+ You can disable the Wayland xkbcli programs with -Denable-wayland=false.''')
+         endif
+ 
+-        wayland_scanner = find_program(wayland_scanner_dep.get_pkgconfig_variable('wayland_scanner'))
++        wayland_scanner = find_program('wayland-scanner', native: true)
+         wayland_scanner_code_gen = generator(
+             wayland_scanner,
+             output: '@BASENAME@-protocol.c',
diff --git a/pkgs/development/libraries/libxls/default.nix b/pkgs/development/libraries/libxls/default.nix
index 3e8034f8baa81..3b9c2768f45ed 100644
--- a/pkgs/development/libraries/libxls/default.nix
+++ b/pkgs/development/libraries/libxls/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libxls";
-  version = "1.6.1";
+  version = "1.6.2";
 
   src = fetchurl {
     url = "https://github.com/libxls/libxls/releases/download/v${version}/libxls-${version}.tar.gz";
-    sha256 = "1y7wk55blk16hmvf9dz5ci84hlhv6pw6mnr1mfnibfw3gsxmzhyv";
+    sha256 = "sha256-XazDTZS/IRWSbIDG+2nk570u1kA9Uc/0kEGpQXL143E=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix
index eff9f2b2b792c..650e17d3179d2 100644
--- a/pkgs/development/libraries/libxslt/default.nix
+++ b/pkgs/development/libraries/libxslt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchpatch, libxml2, findXMLCatalogs, gettext, python, libgcrypt
+{ lib, stdenv, fetchurl, fetchpatch, libxml2, findXMLCatalogs, gettext, python3, libgcrypt
 , cryptoSupport ? false
 , pythonSupport ? stdenv.buildPlatform == stdenv.hostPlatform
 }:
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libxml2.dev ]
     ++ lib.optional stdenv.isDarwin gettext
-    ++ lib.optionals pythonSupport [ libxml2.py python ]
+    ++ lib.optionals pythonSupport [ libxml2.py python3 ]
     ++ lib.optionals cryptoSupport [ libgcrypt ];
 
   propagatedBuildInputs = [ findXMLCatalogs ];
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     "--without-debug"
     "--without-mem-debug"
     "--without-debugger"
-  ] ++ lib.optional pythonSupport "--with-python=${python}"
+  ] ++ lib.optional pythonSupport "--with-python=${python3}"
     ++ lib.optional (!cryptoSupport) "--without-crypto";
 
   postFixup = ''
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
   '' + lib.optionalString pythonSupport ''
     mkdir -p $py/nix-support
     echo ${libxml2.py} >> $py/nix-support/propagated-build-inputs
-    moveToOutput ${python.libPrefix} "$py"
+    moveToOutput ${python3.libPrefix} "$py"
   '';
 
   passthru = {
diff --git a/pkgs/development/libraries/libzip/default.nix b/pkgs/development/libraries/libzip/default.nix
index c65a9b6f583a9..ddefa16c2c1d8 100644
--- a/pkgs/development/libraries/libzip/default.nix
+++ b/pkgs/development/libraries/libzip/default.nix
@@ -1,20 +1,27 @@
-{ lib, stdenv, fetchurl, cmake, perl, zlib }:
+{ lib, stdenv
+, cmake
+, fetchpatch
+, fetchurl
+, perl
+, zlib
+}:
 
 stdenv.mkDerivation rec {
   pname = "libzip";
-  version = "1.6.1";
+  version = "1.7.3";
 
   src = fetchurl {
     url = "https://www.nih.at/libzip/${pname}-${version}.tar.gz";
-    sha256 = "120xgf7cgjmz9d3yp10lks6lhkgxqb4skbmbiiwf46gx868qxsq6";
+    sha256 = "1k5rihiz7m1ahhjzcbq759hb9crzqkgw78pkxga118y5a32pc8hf";
   };
 
-  # Fix pkg-config file paths
-  postPatch = ''
-    sed -i CMakeLists.txt \
-      -e 's#\\''${exec_prefix}/''${CMAKE_INSTALL_LIBDIR}#''${CMAKE_INSTALL_FULL_LIBDIR}#' \
-      -e 's#\\''${prefix}/''${CMAKE_INSTALL_INCLUDEDIR}#''${CMAKE_INSTALL_FULL_INCLUDEDIR}#'
-  '';
+  # Remove in next release
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/nih-at/libzip/commit/351201419d79b958783c0cfc7c370243165523ac.patch";
+      sha256 = "0d93z98ki0yiaza93268cxkl35y1r7ll9f7l8sivx3nfxj2c1n8a";
+    })
+  ];
 
   outputs = [ "out" "dev" ];
 
diff --git a/pkgs/development/libraries/lime/default.nix b/pkgs/development/libraries/lime/default.nix
index 3a16b5202c47f..e6996a53c8327 100644
--- a/pkgs/development/libraries/lime/default.nix
+++ b/pkgs/development/libraries/lime/default.nix
@@ -9,7 +9,7 @@
 
 stdenv.mkDerivation rec {
   pname = "lime";
-  version = "4.4.0";
+  version = "4.4.21";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "14jg1zisjbzflw3scfqdbwy48wq3cp93l867vigb8l40lkc6n26z";
+    sha256 = "sha256-3whr2KSAULRe3McgOtJlA3NEPF8NO6YHp+4vqeMPT5I=";
   };
 
   buildInputs = [ bctoolbox soci belle-sip sqlite ];
diff --git a/pkgs/development/libraries/log4cplus/default.nix b/pkgs/development/libraries/log4cplus/default.nix
index 1e16ee96ae7f9..e9ef841b65d76 100644
--- a/pkgs/development/libraries/log4cplus/default.nix
+++ b/pkgs/development/libraries/log4cplus/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchurl }:
 
 let
-  name = "log4cplus-2.0.5";
+  name = "log4cplus-2.0.6";
 in
 stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "mirror://sourceforge/log4cplus/${name}.tar.bz2";
-    sha256 = "05gb0crf440da3vcaxavglzvsldw8hsvxq3xvvj73mzniv3bz3dk";
+    sha256 = "sha256-GpY6/Q+IPWLelGsYkn0jgFH9R5NuQV6r7/4rE5fxbso=";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/maeparser/default.nix b/pkgs/development/libraries/maeparser/default.nix
new file mode 100644
index 0000000000000..cd7cc70907cc7
--- /dev/null
+++ b/pkgs/development/libraries/maeparser/default.nix
@@ -0,0 +1,28 @@
+{ fetchFromGitHub
+, lib
+, stdenv
+, boost
+, zlib
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+  pname = "maeparser";
+  version = "1.2.4";
+
+  src = fetchFromGitHub {
+    owner = "schrodinger";
+    repo = "maeparser";
+    rev = "v${version}";
+    sha256 = "1qzp8d58ksy88y4fx1b0x65wycslm7zxzbb8ns28gkjh12xpzhwz";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ boost zlib ];
+
+  meta = with lib; {
+    description = "maestro file parser";
+    maintainers = [ maintainers.rmcgibbo ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/libraries/mediastreamer/default.nix b/pkgs/development/libraries/mediastreamer/default.nix
index 3cda9ff3006dc..6cdc24770d4b8 100644
--- a/pkgs/development/libraries/mediastreamer/default.nix
+++ b/pkgs/development/libraries/mediastreamer/default.nix
@@ -33,7 +33,7 @@
 
 stdenv.mkDerivation rec {
   pname = "mediastreamer2";
-  version = "4.4.13";
+  version = "4.4.24";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "0w84v1ajhyysr41qaj7x4njwdak84cc10lq33hl8lq68a52fc2vw";
+    sha256 = "sha256-wAWcSvsLRzscpx9YAnBcsoYuy+77yJrU3+cNbRu0i7U=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/mesa/aarch64-darwin.patch b/pkgs/development/libraries/mesa/aarch64-darwin.patch
new file mode 100644
index 0000000000000..e60a4ffa308ad
--- /dev/null
+++ b/pkgs/development/libraries/mesa/aarch64-darwin.patch
@@ -0,0 +1,33 @@
+From 8ac29b952e638ec1ea8c3734a3b91253e50c336d Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Date: Sun, 24 Jan 2021 21:10:29 -0800
+Subject: [PATCH 4/4] Hack to address build failure when using newer macOS SDKs
+ with older deployment targets
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+---
+ include/c11/threads_posix.h | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/include/c11/threads_posix.h b/include/c11/threads_posix.h
+index 45cb6075e6e..355d725f7da 100644
+--- a/include/c11/threads_posix.h
++++ b/include/c11/threads_posix.h
+@@ -382,7 +382,13 @@ tss_set(tss_t key, void *val)
+ 
+ /*-------------------- 7.25.7 Time functions --------------------*/
+ // 7.25.6.1
+-#ifndef HAVE_TIMESPEC_GET
++#if !defined(HAVE_TIMESPEC_GET) || defined(__APPLE__)
++
++#ifdef __APPLE__
++#include <time.h>
++#define timespec_get(ts, b) mesa_timespec_get(ts, b)
++#endif
++
+ static inline int
+ timespec_get(struct timespec *ts, int base)
+ {
+-- 
+2.29.2 (Apple Git-129)
+
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 11d6cdd1b2a54..e7c87bbc2c72a 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/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 = "20.3.3";
+  version = "20.3.4";
   branch  = versions.major version;
 in
 
@@ -46,7 +46,7 @@ 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 = "0mnic7mfv5lgnn3swj7lbif8bl8pi2czlgr01jhq5s9q90nj2kpp";
+    sha256 = "1120kf280hg4h0a2505vxf6rdw8r2ydl3cg4iwkmpx0zxj3sj8fw";
   };
 
   prePatch = "patchShebangs .";
@@ -65,6 +65,10 @@ stdenv.mkDerivation {
       url = "https://gitlab.freedesktop.org/mesa/mesa/commit/aebbf819df6d1e.patch";
       sha256 = "17248hyzg43d73c86p077m4lv1pkncaycr3l27hwv9k4ija9zl8q";
     })
+  ] ++ optionals (stdenv.isDarwin && stdenv.isAarch64) [
+    # Fix aarch64-darwin build, remove when upstreaam supports it out of the box.
+    # See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/1020
+    ./aarch64-darwin.patch
   ];
 
   postPatch = ''
diff --git a/pkgs/development/libraries/metal/default.nix b/pkgs/development/libraries/metal/default.nix
index 18b1f116b876d..b98ae8e217c7a 100644
--- a/pkgs/development/libraries/metal/default.nix
+++ b/pkgs/development/libraries/metal/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub, cmake }:
 stdenv.mkDerivation rec {
   pname = "metal";
-  version = "2.1.1";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
     owner = "brunocodutra";
     repo = "metal";
     rev = "v${version}";
-    sha256 = "07n1aqyaixbd66l24km5ip3pkmidkx9m3saygf7cfp6vvbgmi42l";
+    sha256 = "sha256-1I+EZtIz/2y4+dJGBONhTlUQGHgRdvXc1ZAOC9pmStw=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/mlt/default.nix b/pkgs/development/libraries/mlt/default.nix
index 633a7325b098d..b45c2d92b2f8d 100644
--- a/pkgs/development/libraries/mlt/default.nix
+++ b/pkgs/development/libraries/mlt/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mlt";
-  version = "6.22.1";
+  version = "6.24.0";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "mlt";
     rev = "v${version}";
-    sha256 = "0jxv848ykw0csbnayrd710ylw46m0picfv7rpzsxz1vh4jzs395k";
+    sha256 = "1my43ica2qax2622307dv4gn3w8hkchy643i9pq8r9yh2hd4pvs9";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/mlt/qt-5.nix b/pkgs/development/libraries/mlt/qt-5.nix
index 7434383e16501..5a4b6e34e9dcc 100644
--- a/pkgs/development/libraries/mlt/qt-5.nix
+++ b/pkgs/development/libraries/mlt/qt-5.nix
@@ -26,13 +26,13 @@
 let inherit (lib) getDev; in
 mkDerivation rec {
   pname = "mlt";
-  version = "6.22.1";
+  version = "6.24.0";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "mlt";
     rev = "v${version}";
-    sha256 = "0jxv848ykw0csbnayrd710ylw46m0picfv7rpzsxz1vh4jzs395k";
+    sha256 = "1my43ica2qax2622307dv4gn3w8hkchy643i9pq8r9yh2hd4pvs9";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/mpich/default.nix b/pkgs/development/libraries/mpich/default.nix
index f7cdf7f97c028..49af2593e51ef 100644
--- a/pkgs/development/libraries/mpich/default.nix
+++ b/pkgs/development/libraries/mpich/default.nix
@@ -1,24 +1,52 @@
-{ lib, stdenv, fetchurl, perl, gfortran
-,  openssh, hwloc
+{ stdenv, lib, fetchurl, perl, gfortran
+, openssh, hwloc, autoconf, automake, libtool
+# device options are ch3 or ch4
+, device ? "ch4"
+# backend option are libfabric or ucx
+, ch4backend ? "libfabric"
+, ucx, libfabric
+# Process manager to build
+, withPm ? "hydra:gforker"
 } :
 
+assert (ch4backend == "ucx" || ch4backend == "libfabric");
+
 stdenv.mkDerivation  rec {
   pname = "mpich";
-  version = "3.3.2";
+  version = "3.4.1";
 
   src = fetchurl {
     url = "https://www.mpich.org/static/downloads/${version}/mpich-${version}.tar.gz";
-    sha256 = "1farz5zfx4cd0c3a0wb9pgfypzw0xxql1j1294z1sxslga1ziyjb";
+    sha256 = "09wpfw9lsrc84vcmfw94razd4xv4znx4mmg7rqmljvgg0jc96dl8";
   };
 
+  patches = [
+    # Reverts an upstream change that causes json-c test to fail
+    ./jsonc-test.patch
+  ];
+
+  # Required for the json-c patch
+  nativeBuildInputs = [ autoconf automake libtool ];
+
+  # Update configure after patch
+  postPatch = ''
+    cd modules/json-c
+    ./autogen.sh
+    cd ../..
+  '';
+
+
   configureFlags = [
     "--enable-shared"
     "--enable-sharedlib"
+    "--with-pm=${withPm}"
   ];
 
   enableParallelBuilding = true;
 
-  buildInputs = [ perl gfortran openssh hwloc ];
+  buildInputs = [ perl gfortran openssh hwloc ]
+    ++ lib.optional (ch4backend == "ucx") ucx
+    ++ lib.optional (ch4backend == "libfabric") libfabric;
 
   doCheck = true;
 
@@ -27,14 +55,7 @@ stdenv.mkDerivation  rec {
     sed -i 's:CC="gcc":CC=${stdenv.cc}/bin/gcc:' $out/bin/mpicc
     sed -i 's:CXX="g++":CXX=${stdenv.cc}/bin/g++:' $out/bin/mpicxx
     sed -i 's:FC="gfortran":FC=${gfortran}/bin/gfortran:' $out/bin/mpifort
-  ''
-  + lib.optionalString (!stdenv.isDarwin) ''
-    # /tmp/nix-build... ends up in the RPATH, fix it manually
-    for entry in $out/bin/mpichversion $out/bin/mpivars; do
-      echo "fix rpath: $entry"
-      patchelf --set-rpath "$out/lib" $entry
-    done
-    '';
+  '';
 
   meta = with lib; {
     description = "Implementation of the Message Passing Interface (MPI) standard";
diff --git a/pkgs/development/libraries/mpich/jsonc-test.patch b/pkgs/development/libraries/mpich/jsonc-test.patch
new file mode 100644
index 0000000000000..2f8d87b409b46
--- /dev/null
+++ b/pkgs/development/libraries/mpich/jsonc-test.patch
@@ -0,0 +1,62 @@
+--- b/modules/json-c/configure.ac
++++ a/modules/json-c/configure.ac
+@@ -75,7 +75,7 @@
+ AC_FUNC_VPRINTF
+ AC_FUNC_MEMCMP
+ AC_CHECK_FUNCS([realloc])
++AC_CHECK_FUNCS(strcasecmp strdup strerror snprintf vsnprintf vasprintf open strncasecmp setlocale)
+-AC_CHECK_FUNCS(strcasecmp strdup strerror snprintf vsnprintf open strncasecmp setlocale)
+ AC_CHECK_DECLS([INFINITY], [], [], [[#include <math.h>]])
+ AC_CHECK_DECLS([nan], [], [], [[#include <math.h>]])
+ AC_CHECK_DECLS([isnan], [], [], [[#include <math.h>]])
+--- b/modules/json-c/json_pointer.c
++++ a/modules/json-c/json_pointer.c
+@@ -208,7 +208,7 @@
+ 	}
+
+ 	va_start(args, path_fmt);
++	rc = vasprintf(&path_copy, path_fmt, args);
+-	rc = json_vasprintf(&path_copy, path_fmt, args);
+ 	va_end(args);
+
+ 	if (rc < 0)
+@@ -287,7 +287,7 @@
+
+ 	/* pass a working copy to the recursive call */
+ 	va_start(args, path_fmt);
++	rc = vasprintf(&path_copy, path_fmt, args);
+-	rc = json_vasprintf(&path_copy, path_fmt, args);
+ 	va_end(args);
+
+ 	if (rc < 0)
+--- b/modules/json-c/printbuf.c
++++ a/modules/json-c/printbuf.c
+@@ -129,7 +129,7 @@
+      would have been written - this code handles both cases. */
+   if(size == -1 || size > 127) {
+     va_start(ap, msg);
++    if((size = vasprintf(&t, msg, ap)) < 0) { va_end(ap); return -1; }
+-    if((size = json_vasprintf(&t, msg, ap)) < 0) { va_end(ap); return -1; }
+     va_end(ap);
+     printbuf_memappend(p, t, size);
+     free(t);
+--- b/modules/json-c/vasprintf_compat.h
++++ a/modules/json-c/vasprintf_compat.h
+@@ -8,8 +8,9 @@
+
+ #include "snprintf_compat.h"
+
++#if !defined(HAVE_VASPRINTF)
+ /* CAW: compliant version of vasprintf */
++static int vasprintf(char **buf, const char *fmt, va_list ap)
+-static int json_vasprintf(char **buf, const char *fmt, va_list ap)
+ {
+ #ifndef WIN32
+ 	static char _T_emptybuffer = '\0';
+@@ -40,5 +41,6 @@
+
+ 	return chars;
+ }
++#endif /* !HAVE_VASPRINTF */
+
+ #endif /* __vasprintf_compat_h */
diff --git a/pkgs/development/libraries/muparserx/default.nix b/pkgs/development/libraries/muparserx/default.nix
index ef6b254b8a37f..4d3036d4cfbbe 100644
--- a/pkgs/development/libraries/muparserx/default.nix
+++ b/pkgs/development/libraries/muparserx/default.nix
@@ -38,5 +38,7 @@ stdenv.mkDerivation rec {
     homepage = "https://beltoforion.de/en/muparserx/";
     license = licenses.bsd2;
     maintainers = with maintainers; [ drewrisinger ];
+    # selftest fails
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/libraries/mysocketw/default.nix b/pkgs/development/libraries/mysocketw/default.nix
index 3b5da68a59d76..52d294525a0c4 100644
--- a/pkgs/development/libraries/mysocketw/default.nix
+++ b/pkgs/development/libraries/mysocketw/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
         --replace -Wl,-soname, -Wl,-install_name,$out/lib/
   '';
 
-  makeFlags = [ "PREFIX=$(out)" "CXX=c++" ];
+  makeFlags = [ "PREFIX=$(out)" "CXX=${stdenv.cc.targetPrefix}c++" ];
 
   meta = {
     description = "Cross platform (Linux/FreeBSD/Unix/Win32) streaming socket C++";
diff --git a/pkgs/development/libraries/ndi/default.nix b/pkgs/development/libraries/ndi/default.nix
index 75d2a2db02187..81465b61acc19 100644
--- a/pkgs/development/libraries/ndi/default.nix
+++ b/pkgs/development/libraries/ndi/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "ndi";
-  fullVersion = "4.5.3";
+  fullVersion = "4.6.0";
   version = builtins.head (builtins.splitVersion fullVersion);
 
   src = requireFile rec {
     name    = "InstallNDISDK_v${version}_Linux.tar.gz";
-    sha256  = "0w9f4a4a3xzg0nvmvrlda1wwkyi0m5aqvk07immmwgg7f1z1sqj5";
+    sha256  = "19jrj2v7x1amdpc9pdq3042vm2l3szwqbzb83lirgbc24s2q043m";
     message = ''
       In order to use NDI SDK version ${fullVersion}, you need to comply with
       NewTek's license and download the appropriate Linux tarball from:
diff --git a/pkgs/development/libraries/neardal/default.nix b/pkgs/development/libraries/neardal/default.nix
index 5e02a9fd5222b..43f63d91a618d 100644
--- a/pkgs/development/libraries/neardal/default.nix
+++ b/pkgs/development/libraries/neardal/default.nix
@@ -10,8 +10,8 @@ stdenv.mkDerivation {
     sha256 = "12qwg7qiw2wfpaxfg2fjkmj5lls0g33xp6w433g8bnkvwlq4s29g";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ autoconf automake libtool glib readline makeWrapper ];
+  nativeBuildInputs = [ pkg-config makeWrapper ];
+  buildInputs = [ autoconf automake libtool glib readline ];
 
   preConfigure = ''
     substituteInPlace "ncl/Makefile.am" --replace "noinst_PROGRAMS" "bin_PROGRAMS"
diff --git a/pkgs/development/libraries/neon/default.nix b/pkgs/development/libraries/neon/default.nix
index c0c62deb0ace1..739c5e07d2065 100644
--- a/pkgs/development/libraries/neon/default.nix
+++ b/pkgs/development/libraries/neon/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, libxml2, pkg-config, perl
+{ lib, stdenv, fetchurl, libxml2, pkg-config
 , compressionSupport ? true, zlib ? null
 , sslSupport ? true, openssl ? null
 , static ? stdenv.hostPlatform.isStatic
@@ -14,12 +14,12 @@ let
 in
 
 stdenv.mkDerivation rec {
-  version = "0.31.0";
+  version = "0.31.2";
   pname = "neon";
 
   src = fetchurl {
-    url = "http://www.webdav.org/neon/${pname}-${version}.tar.gz";
-    sha256 = "19dx4rsqrck9jl59y4ad9jf115hzh6pz1hcl2dnlfc84hc86ymc0";
+    url = "https://notroj.github.io/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "0y46dbhiblcvg8k41bdydr3fivghwk73z040ki5825d24ynf67ng";
   };
 
   patches = optionals stdenv.isDarwin [ ./0.29.6-darwin-fix-configure.patch ];
@@ -37,12 +37,10 @@ stdenv.mkDerivation rec {
 
   passthru = {inherit compressionSupport sslSupport;};
 
-  checkInputs = [ perl ];
-  doCheck = false; # fails, needs the net
-
   meta = with lib; {
     description = "An HTTP and WebDAV client library";
-    homepage = "http://www.webdav.org/neon/";
+    homepage = "https://notroj.github.io/neon/";
+    changelog = "https://github.com/notroj/${pname}/blob/${version}/NEWS";
     platforms = platforms.unix;
     license = licenses.lgpl2;
   };
diff --git a/pkgs/development/libraries/notcurses/default.nix b/pkgs/development/libraries/notcurses/default.nix
index 7b9bffb9bc95a..09169019a1284 100644
--- a/pkgs/development/libraries/notcurses/default.nix
+++ b/pkgs/development/libraries/notcurses/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, cmake, pkg-config, pandoc, libunistring, ncurses, ffmpeg,
+{ stdenv, cmake, pkg-config, pandoc, libunistring, ncurses, ffmpeg, readline,
   fetchFromGitHub, lib,
   multimediaSupport ? true
 }:
 let
-  version = "2.1.0";
+  version = "2.1.5";
 in
 stdenv.mkDerivation {
   pname = "notcurses";
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ cmake pkg-config pandoc ];
 
-  buildInputs = [ libunistring ncurses ]
+  buildInputs = [ libunistring ncurses readline ]
     ++ lib.optional multimediaSupport ffmpeg;
 
   cmakeFlags =
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
     owner  = "dankamongmen";
     repo   = "notcurses";
     rev    = "v${version}";
-    sha256 = "0jvngg40c1sqf85kqy6ya0vflpxsj7j4g6cw609992rifaghxiny";
+    sha256 = "02x9a0z7mbgry2wsfai1l3jwb2zpcg4gq6a2w5d920ap2fixzy8b";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index 8c98d7ae9bbdb..7b02e3497f0ac 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -1,4 +1,7 @@
-{ lib, stdenv, fetchurl, nspr, perl, zlib, sqlite, darwin, fixDarwinDylibNames, buildPackages, ninja
+{ lib, stdenv, fetchurl, nspr, perl, zlib
+, sqlite, ninja
+, darwin, fixDarwinDylibNames, buildPackages
+, useP11kit ? true, p11-kit
 , # allow FIPS mode. Note that this makes the output non-reproducible.
   # https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Tech_Notes/nss_tech_note6
   enableFIPS ? false
@@ -139,6 +142,11 @@ in stdenv.mkDerivation rec {
     chmod 0755 $out/bin/nss-config
   '';
 
+  postInstall = lib.optionalString useP11kit ''
+    # Replace built-in trust with p11-kit connection
+    ln -sf ${p11-kit}/lib/pkcs11/p11-kit-trust.so $out/lib/libnssckbi.so
+  '';
+
   postFixup = let
     isCross = stdenv.hostPlatform != stdenv.buildPlatform;
     nss = if isCross then buildPackages.nss.tools else "$out";
diff --git a/pkgs/development/libraries/ntl/default.nix b/pkgs/development/libraries/ntl/default.nix
index 23d82d4ba2fa9..ee3cf93bc214b 100644
--- a/pkgs/development/libraries/ntl/default.nix
+++ b/pkgs/development/libraries/ntl/default.nix
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
       else
         "generic" # "chooses options that should be OK for most platforms"
     }"
-    "CXX=c++"
+    "CXX=${stdenv.cc.targetPrefix}c++"
   ] ++ lib.optionals withGf2x [
     "NTL_GF2X_LIB=on"
     "GF2X_PREFIX=${gf2x}"
diff --git a/pkgs/development/libraries/nuraft/default.nix b/pkgs/development/libraries/nuraft/default.nix
index 58e5e40135908..f9ae9d5ffe640 100644
--- a/pkgs/development/libraries/nuraft/default.nix
+++ b/pkgs/development/libraries/nuraft/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nuraft";
-  version = "1.1.2";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "eBay";
     repo = "NuRaft";
     rev = "v${version}";
-    sha256 = "sha256-l6rG8f+JAWfAJxEZPKRHZo2k8x9WbtSJC3gGCSMHYfs=";
+    sha256 = "sha256-1k+AWmpAiHcQVEB5kUaMtNWhOnTBnmJiNU8zL1J/PEk=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/nuspell/wrapper.nix b/pkgs/development/libraries/nuspell/wrapper.nix
index 4386542ff20e5..ab09931579c78 100644
--- a/pkgs/development/libraries/nuspell/wrapper.nix
+++ b/pkgs/development/libraries/nuspell/wrapper.nix
@@ -5,7 +5,7 @@ let
 in
 stdenv.mkDerivation {
   name = (appendToName "with-dicts" nuspell).name;
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
   buildCommand = ''
     makeWrapper ${nuspell}/bin/nuspell $out/bin/nuspell --prefix DICPATH : ${searchPath}
   '';
diff --git a/pkgs/development/libraries/oatpp/default.nix b/pkgs/development/libraries/oatpp/default.nix
index 084f3c4a935bc..e9f92a31f2c57 100644
--- a/pkgs/development/libraries/oatpp/default.nix
+++ b/pkgs/development/libraries/oatpp/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "oatpp";
-  version = "1.2.0";
+  version = "1.2.5";
 
   src = fetchFromGitHub {
     owner = "oatpp";
     repo = "oatpp";
     rev = version;
-    sha256 = "05rm0m5zf1b5ky8prf6yni2074bz6yjjbrc2qk96fb48fc1198gw";
+    sha256 = "sha256-Vtdz03scx0hvY1yeM7yfSxCVKzi84OQ1Oh9b922movE=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/odpic/default.nix b/pkgs/development/libraries/odpic/default.nix
index b79de9278d465..251a3f9f55b8c 100644
--- a/pkgs/development/libraries/odpic/default.nix
+++ b/pkgs/development/libraries/odpic/default.nix
@@ -22,7 +22,7 @@ in stdenv.mkDerivation {
     ++ lib.optionals stdenv.isLinux [ libaio ];
 
   dontPatchELF = true;
-  makeFlags = [ "PREFIX=$(out)" "CC=cc" "LD=cc"];
+  makeFlags = [ "PREFIX=$(out)" "CC=${stdenv.cc.targetPrefix}cc" "LD=${stdenv.cc.targetPrefix}cc"];
 
   postFixup = ''
     ${lib.optionalString (stdenv.isLinux) ''
diff --git a/pkgs/development/libraries/olm/default.nix b/pkgs/development/libraries/olm/default.nix
index 4fbc34bcce63d..ca3a081aee00b 100644
--- a/pkgs/development/libraries/olm/default.nix
+++ b/pkgs/development/libraries/olm/default.nix
@@ -1,22 +1,25 @@
-{ lib, stdenv, fetchurl, cmake }:
+{ lib, stdenv, fetchFromGitLab, cmake }:
 
 stdenv.mkDerivation rec {
   pname = "olm";
-  version = "3.2.1";
+  version = "3.2.2";
 
-  src = fetchurl {
-    url = "https://matrix.org/git/olm/-/archive/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0iacbi9iibhzifh1bk6bi5xin557lvqmbf4ccsb8drj50dbxjiyr";
+  src = fetchFromGitLab {
+    domain = "gitlab.matrix.org";
+    owner = "matrix-org";
+    repo = pname;
+    rev = version;
+    sha256 = "0qji25wiwmkxyfpraxj96c54hyayqmjkvwh0gsy5gb5pz5bp4mcy";
   };
 
   nativeBuildInputs = [ cmake ];
 
   doCheck = true;
 
-  meta = {
+  meta = with lib; {
     description = "Implements double cryptographic ratchet and Megolm ratchet";
-    license = lib.licenses.asl20;
     homepage = "https://gitlab.matrix.org/matrix-org/olm";
-    platforms = with lib.platforms; darwin ++ linux;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ tilpner oxzi ];
   };
 }
diff --git a/pkgs/development/libraries/oneDNN/default.nix b/pkgs/development/libraries/oneDNN/default.nix
index 2b399e9ebc299..c87fc4fca7967 100644
--- a/pkgs/development/libraries/oneDNN/default.nix
+++ b/pkgs/development/libraries/oneDNN/default.nix
@@ -5,13 +5,13 @@
 # https://github.com/oneapi-src/oneDNN#oneapi-deep-neural-network-library-onednn
 stdenv.mkDerivation rec {
   pname = "oneDNN";
-  version = "2.0";
+  version = "2.1";
 
   src = fetchFromGitHub {
     owner = "oneapi-src";
     repo = "oneDNN";
     rev = "v${version}";
-    sha256 = "0r50r9bz7mdhy9z9zdy5m2nhi8r6kqsn70q2rfwylm1vppmhwkfq";
+    sha256 = "sha256-PZ8r1eNfz4dVxlbtQJSrxiw/Hk6E6wSDapkMy7ux9fI=";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/opencl-headers/default.nix b/pkgs/development/libraries/opencl-headers/default.nix
index 1ef27bf58316b..d7a8b4497f7f4 100644
--- a/pkgs/development/libraries/opencl-headers/default.nix
+++ b/pkgs/development/libraries/opencl-headers/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Khronos OpenCL headers version ${version}";
     homepage = "https://www.khronos.org/registry/cl/";
-    license = licenses.mit;
+    license = licenses.asl20;
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/opencsg/default.nix b/pkgs/development/libraries/opencsg/default.nix
index 53adbdf414f7c..7625db9a59533 100644
--- a/pkgs/development/libraries/opencsg/default.nix
+++ b/pkgs/development/libraries/opencsg/default.nix
@@ -33,6 +33,8 @@ stdenv.mkDerivation rec {
     rmdir $out/bin || true
   '';
 
+  dontWrapQtApps = true;
+
   postFixup = lib.optionalString stdenv.isDarwin ''
     app=$out/Applications/opencsgexample.app/Contents/MacOS/opencsgexample
     install_name_tool -change \
diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix
index a71b2a61910ee..44a0e017a2ab5 100644
--- a/pkgs/development/libraries/openldap/default.nix
+++ b/pkgs/development/libraries/openldap/default.nix
@@ -1,4 +1,7 @@
-{ lib, stdenv, fetchurl, openssl, cyrus_sasl, db, groff, libtool }:
+{ lib, stdenv, fetchurl, openssl, db, groff, libtool
+, withCyrusSasl ? true
+, cyrus_sasl
+}:
 
 stdenv.mkDerivation rec {
   pname = "openldap";
@@ -37,8 +40,7 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     "--with-yielding_select=yes"
     "ac_cv_func_memcmp_working=yes"
-  ] ++ lib.optional (openssl == null) "--without-tls"
-    ++ lib.optional (cyrus_sasl == null) "--without-cyrus-sasl"
+  ] ++ lib.optional (!withCyrusSasl) "--without-cyrus-sasl"
     ++ lib.optional stdenv.isFreeBSD "--with-pic";
 
   postBuild = ''
@@ -54,19 +56,21 @@ stdenv.mkDerivation rec {
     "moduledir=$(out)/lib/modules"
   ];
 
-  # 1. Fixup broken libtool
-  # 2. Libraries left in the build location confuse `patchelf --shrink-rpath`
+  # 1. Libraries left in the build location confuse `patchelf --shrink-rpath`
   #    Delete these to let patchelf discover the right path instead.
   #    FIXME: that one can be removed when https://github.com/NixOS/patchelf/pull/98
   #    is in Nixpkgs patchelf.
+  # 2. Fixup broken libtool for openssl and cyrus_sasl (if it is not disabled)
   preFixup = ''
-    sed -e 's,-lsasl2,-L${cyrus_sasl.out}/lib -lsasl2,' \
-        -e 's,-lssl,-L${openssl.out}/lib -lssl,' \
-        -i $out/lib/libldap.la -i $out/lib/libldap_r.la
-
-    rm -rf $out/var
+    rm -r $out/var
     rm -r libraries/*/.libs
     rm -r contrib/slapd-modules/passwd/*/.libs
+    for f in $out/lib/libldap.la $out/lib/libldap_r.la; do
+      substituteInPlace "$f" --replace '-lssl' '-L${openssl.out}/lib -lssl'
+  '' + lib.optionalString withCyrusSasl ''
+      substituteInPlace "$f" --replace '-lsasl2' '-L${cyrus_sasl.out}/lib -lsasl2'
+  '' + ''
+    done
   '';
 
   postInstall = ''
diff --git a/pkgs/development/libraries/openscenegraph/default.nix b/pkgs/development/libraries/openscenegraph/default.nix
index 8eeff3de94352..da7e9c755a03e 100644
--- a/pkgs/development/libraries/openscenegraph/default.nix
+++ b/pkgs/development/libraries/openscenegraph/default.nix
@@ -27,13 +27,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openscenegraph";
-  version = "3.6.4";
+  version = "3.6.5";
 
   src = fetchFromGitHub {
     owner = "openscenegraph";
     repo = "OpenSceneGraph";
     rev = "OpenSceneGraph-${version}";
-    sha256 = "0x8hdbzw0b71j91fzp9cwmy9a7ava8v8wwyj8nxijq942vdx1785";
+    sha256 = "00i14h82qg3xzcyd8p02wrarnmby3aiwmz0z43l50byc9f8i05n1";
   };
 
   nativeBuildInputs = [ pkg-config cmake doxygen ];
diff --git a/pkgs/development/libraries/openslp/CVE-2019-5544.patch b/pkgs/development/libraries/openslp/CVE-2019-5544.patch
new file mode 100644
index 0000000000000..2afc0aed33026
--- /dev/null
+++ b/pkgs/development/libraries/openslp/CVE-2019-5544.patch
@@ -0,0 +1,165 @@
+diff -ur openslp-2.0.0.orig/common/slp_buffer.c openslp-2.0.0/common/slp_buffer.c
+--- openslp-2.0.0.orig/common/slp_buffer.c	2012-12-10 15:31:53.000000000 -0800
++++ openslp-2.0.0/common/slp_buffer.c	2019-11-26 21:54:20.000000000 -0800
+@@ -30,6 +30,13 @@
+  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *-------------------------------------------------------------------------*/
+ 
++/* Copyright (c) 2019 VMware, Inc.
++ * SPDX-License-Identifier: BSD-3-Clause
++ * This file is provided under the BSD-3-Clause license.
++ * See COPYING file for more details and other copyrights
++ * that may apply.
++ */
++
+ /** Functions for managing SLP message buffers.
+  *
+  * This file provides a higher level abstraction over malloc and free that
+@@ -153,4 +160,20 @@
+    xfree(buf);
+ }
+ 
++/** Report remaining free buffer size in bytes.
++ *
++ * Check if buffer is allocated and if so return bytes left in a
++ * @c SLPBuffer object.
++ *
++ * @param[in] buf The SLPBuffer to be freed.
++ */
++size_t
++RemainingBufferSpace(SLPBuffer buf)
++{
++   if (buf->allocated == 0) {
++      return 0;
++   }
++   return buf->end - buf->curpos;
++}
++
+ /*=========================================================================*/
+diff -ur openslp-2.0.0.orig/common/slp_buffer.h openslp-2.0.0/common/slp_buffer.h
+--- openslp-2.0.0.orig/common/slp_buffer.h	2012-11-28 09:07:04.000000000 -0800
++++ openslp-2.0.0/common/slp_buffer.h	2019-11-26 21:54:32.000000000 -0800
+@@ -30,6 +30,13 @@
+  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *-------------------------------------------------------------------------*/
+ 
++/* Copyright (c) 2019 VMware, Inc.
++ * SPDX-License-Identifier: BSD-3-Clause
++ * This file is provided under the BSD-3-Clause license.
++ * See COPYING file for more details and other copyrights
++ * that may apply.
++ */
++
+ /** Header file that defines SLP message buffer management routines.
+  *
+  * Includes structures, constants and functions that used to handle memory 
+@@ -78,6 +85,8 @@
+ 
+ SLPBuffer SLPBufferListAdd(SLPBuffer * list, SLPBuffer buf);
+ 
++size_t RemainingBufferSpace(SLPBuffer buf);
++
+ /*! @} */
+ 
+ #endif /* SLP_BUFFER_H_INCLUDED */
+diff -ur openslp-2.0.0.orig/slpd/slpd_process.c openslp-2.0.0/slpd/slpd_process.c
+--- openslp-2.0.0.orig/slpd/slpd_process.c	2012-12-12 09:38:54.000000000 -0800
++++ openslp-2.0.0/slpd/slpd_process.c	2019-11-26 21:55:10.000000000 -0800
+@@ -30,6 +30,13 @@
+  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *-------------------------------------------------------------------------*/
+ 
++/* Copyright (c) 2019 VMware, Inc.
++ * SPDX-License-Identifier: BSD-3-Clause
++ * This file is provided under the BSD-3-Clause license.
++ * See COPYING file for more details and other copyrights
++ * that may apply.
++ */
++
+ /** Processes incoming SLP messages.
+  *
+  * @file       slpd_process.c
+@@ -514,13 +521,27 @@
+    {
+       for (i = 0; i < db->urlcount; i++)
+       {
+-         /* urlentry is the url from the db result */
+          urlentry = db->urlarray[i];
++         if (urlentry->opaque != NULL) {
++            const int64_t newsize = size + urlentry->opaquelen;
++            if (urlentry->opaquelen <= 0 || newsize > INT_MAX)
++            {
++               SLPDLog("Invalid opaquelen %d or sizeo of opaque url is too big, size=%d\n",
++                       urlentry->opaquelen, size);
++               errorcode = SLP_ERROR_PARSE_ERROR;
++               goto FINISHED;
++            }
++            size +=  urlentry->opaquelen;
++         }
++         else
++         {
++            /* urlentry is the url from the db result */
++            size += urlentry->urllen + 6; /*  1 byte for reserved  */
++                                          /*  2 bytes for lifetime */
++                                          /*  2 bytes for urllen   */
++                                          /*  1 byte for authcount */
++          }
+ 
+-         size += urlentry->urllen + 6; /*  1 byte for reserved  */
+-                                       /*  2 bytes for lifetime */
+-                                       /*  2 bytes for urllen   */
+-                                       /*  1 byte for authcount */
+ #ifdef ENABLE_SLPv2_SECURITY
+          /* make room to include the authblock that was asked for */
+          if (G_SlpdProperty.securityEnabled
+@@ -594,7 +615,7 @@
+          urlentry = db->urlarray[i];
+ 
+ #ifdef ENABLE_SLPv1
+-         if (urlentry->opaque == 0)
++         if (urlentry->opaque == NULL)
+          {
+             /* url-entry reserved */
+             *result->curpos++ = 0;
+@@ -606,8 +627,18 @@
+             PutUINT16(&result->curpos, urlentry->urllen);
+ 
+             /* url-entry url */
+-            memcpy(result->curpos, urlentry->url, urlentry->urllen);
+-            result->curpos += urlentry->urllen;
++            if (RemainingBufferSpace(result) >= urlentry->urllen)
++            {
++               memcpy(result->curpos, urlentry->url, urlentry->urllen);
++               result->curpos = result->curpos + urlentry->urllen;
++            }
++            else
++            {
++                SLPDLog("Url too big (ask: %d have %" PRId64 "), failing request\n",
++                        urlentry->opaquelen, (int64_t) RemainingBufferSpace(result));
++                errorcode = SLP_ERROR_PARSE_ERROR;
++                goto FINISHED;
++            }
+ 
+             /* url-entry auths */
+             *result->curpos++ = 0;
+@@ -621,8 +652,18 @@
+ 
+             /* TRICKY: Fix up the lifetime. */
+             TO_UINT16(urlentry->opaque + 1, urlentry->lifetime);
+-            memcpy(result->curpos, urlentry->opaque, urlentry->opaquelen);
+-            result->curpos += urlentry->opaquelen;
++            if (RemainingBufferSpace(result) >= urlentry->opaquelen)
++            {
++               memcpy(result->curpos, urlentry->opaque, urlentry->opaquelen);
++               result->curpos = result->curpos + urlentry->opaquelen;
++             }
++             else
++             {
++               SLPDLog("Opaque Url too big (ask: %d have %" PRId64 "), failing request\n",
++                       urlentry->opaquelen, (int64_t) RemainingBufferSpace(result));
++               errorcode = SLP_ERROR_PARSE_ERROR;
++               goto FINISHED;
++             }
+          }
+       }
+    }
diff --git a/pkgs/development/libraries/openslp/default.nix b/pkgs/development/libraries/openslp/default.nix
index ddc0e893596fd..4fa03c5e7c1ba 100644
--- a/pkgs/development/libraries/openslp/default.nix
+++ b/pkgs/development/libraries/openslp/default.nix
@@ -20,6 +20,7 @@ stdenv.mkDerivation {
       sha256 = "0zp61axx93b7nrbsyhn2x4dnw7n9y6g4rys21hyqxk4khrnc2yr9";
     })
     ./CVE-2016-4912.patch
+    ./CVE-2019-5544.patch
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index ce4374be33126..2edf02e738f30 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -160,8 +160,8 @@ in {
   };
 
   openssl_1_1 = common {
-    version = "1.1.1i";
-    sha256 = "0hjj1phcwkz69lx1lrvr9grhpl4y529mwqycqc1hdla1zqsnmgp8";
+    version = "1.1.1j";
+    sha256 = "1gw17520vh13izy1xf5q0a2fqgcayymjjj5bk0dlkxndfnszrwma";
     patches = [
       ./1.1/nix-ssl-cert-file.patch
 
diff --git a/pkgs/development/libraries/opensubdiv/default.nix b/pkgs/development/libraries/opensubdiv/default.nix
index 9228424797e2c..83eb77b603c52 100644
--- a/pkgs/development/libraries/opensubdiv/default.nix
+++ b/pkgs/development/libraries/opensubdiv/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "opensubdiv";
-  version = "3.4.3";
+  version = "3.4.4";
 
   src = fetchFromGitHub {
     owner = "PixarAnimationStudios";
     repo = "OpenSubdiv";
     rev = "v${lib.replaceChars ["."] ["_"] version}";
-    sha256 = "0zpnpg2zzyavv9r3jakv3j2gn603b62rbczrflc6qmg6qvpgz0kr";
+    sha256 = "sha256-ejxQ5mGIIrEa/rAfkTrRbIRerrAvEPoWn7e0lIqS1JQ=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/openxr-loader/default.nix b/pkgs/development/libraries/openxr-loader/default.nix
index 2f901f0e4128d..452f72146d957 100644
--- a/pkgs/development/libraries/openxr-loader/default.nix
+++ b/pkgs/development/libraries/openxr-loader/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openxr-loader";
-  version = "1.0.13";
+  version = "1.0.14";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "OpenXR-SDK-Source";
     rev = "release-${version}";
-    sha256 = "0znhv7x81bvqijk5xhc5w760d5yy6vr5c2y271wpk9lkmxbbcpl1";
+    sha256 = "sha256-ZmaxHm4MPd2q83PLduoavoynqRPEI79IpMfW32gkV14=";
   };
 
   nativeBuildInputs = [ cmake python3 ];
diff --git a/pkgs/development/libraries/ortp/default.nix b/pkgs/development/libraries/ortp/default.nix
index 196cac4bcafca..d9d26d0b53789 100644
--- a/pkgs/development/libraries/ortp/default.nix
+++ b/pkgs/development/libraries/ortp/default.nix
@@ -6,7 +6,7 @@
 
 stdenv.mkDerivation rec {
   pname = "ortp";
-  version = "4.4.9";
+  version = "4.4.24";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "0igiw863gnf9f626v0igg1pj3fv4anvlvlk6xx3bk2zdi52a9kcc";
+    sha256 = "sha256-jM2kRInti7lG72bSTbdVZLshb3gvgm2EccnZNwzi8UU=";
   };
 
   # Do not build static libraries
diff --git a/pkgs/development/libraries/osm-gps-map/default.nix b/pkgs/development/libraries/osm-gps-map/default.nix
index 17a3af68a8085..9ba581e3a401c 100644
--- a/pkgs/development/libraries/osm-gps-map/default.nix
+++ b/pkgs/development/libraries/osm-gps-map/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "osm-gps-map";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchzip {
     url = "https://github.com/nzjrs/osm-gps-map/releases/download/${version}/osm-gps-map-${version}.tar.gz";
-    sha256 = "0fal3mqcf3yypir4f7njz0dm5wr7lqwpimjx28wz9imh48cqx9n9";
+    sha256 = "sha256-ciw28YXhR+GC6B2VPC+ZxjyhadOk3zYGuOssSgqjwH0=";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/phonon/backends/gstreamer.nix b/pkgs/development/libraries/phonon/backends/gstreamer.nix
index 249ce4e3629ad..3e21415b4c772 100644
--- a/pkgs/development/libraries/phonon/backends/gstreamer.nix
+++ b/pkgs/development/libraries/phonon/backends/gstreamer.nix
@@ -26,6 +26,8 @@ stdenv.mkDerivation rec {
   # on system paths being set.
   patches = [ ./gst-plugin-paths.patch ];
 
+  dontWrapQtApps = true;
+
   NIX_CFLAGS_COMPILE =
     let gstPluginPaths =
           lib.makeSearchPathOutput "lib" "/lib/gstreamer-1.0"
diff --git a/pkgs/development/libraries/phonon/backends/vlc.nix b/pkgs/development/libraries/phonon/backends/vlc.nix
index 07e6ccf1f3460..b874c2e1d01d9 100644
--- a/pkgs/development/libraries/phonon/backends/vlc.nix
+++ b/pkgs/development/libraries/phonon/backends/vlc.nix
@@ -35,6 +35,8 @@ stdenv.mkDerivation rec {
     extra-cmake-modules
   ];
 
+  dontWrapQtApps = true;
+
   cmakeFlags = [
     "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}"
   ];
diff --git a/pkgs/development/libraries/phonon/default.nix b/pkgs/development/libraries/phonon/default.nix
index 88a6af658dd40..877bf973194a2 100644
--- a/pkgs/development/libraries/phonon/default.nix
+++ b/pkgs/development/libraries/phonon/default.nix
@@ -58,6 +58,8 @@ stdenv.mkDerivation rec {
     "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}"
   ];
 
+  dontWrapQtApps = true;
+
   preConfigure = ''
     cmakeFlags+=" -DPHONON_QT_MKSPECS_INSTALL_DIR=''${!outputDev}/mkspecs"
     cmakeFlags+=" -DPHONON_QT_IMPORTS_INSTALL_DIR=''${!outputBin}/$qtQmlPrefix"
diff --git a/pkgs/development/libraries/physics/geant4/datasets.nix b/pkgs/development/libraries/physics/geant4/datasets.nix
index 5646f4e02bac0..4c6906c9c2e35 100644
--- a/pkgs/development/libraries/physics/geant4/datasets.nix
+++ b/pkgs/development/libraries/physics/geant4/datasets.nix
@@ -70,8 +70,8 @@ in
 
     {
       name = "G4PARTICLEXS";
-      version = "3.1";
-      sha256 = "1kg9y0kqn4lma7b0yjpgj7s9n317yqi54ydvq365qphnmm7ahka0";
+      version = "3.1.1";
+      sha256 = "1nmgy8w1s196php7inrkbsi0f690qa2dsyj9s1sp75mndkfpxhb6";
       envvar = "PARTICLEXS";
     }
 
diff --git a/pkgs/development/libraries/physics/geant4/default.nix b/pkgs/development/libraries/physics/geant4/default.nix
index 159c746fecd86..8d2f2f1ef55dd 100644
--- a/pkgs/development/libraries/physics/geant4/default.nix
+++ b/pkgs/development/libraries/physics/geant4/default.nix
@@ -21,6 +21,7 @@
 
 # For enableQT.
 , qtbase
+, wrapQtAppsHook
 
 # For enableXM.
 , motif
@@ -48,12 +49,12 @@ let
 in
 
 stdenv.mkDerivation rec {
-  version = "10.7.0";
+  version = "10.7.1";
   pname = "geant4";
 
   src = fetchurl{
-    url = "https://geant4-data.web.cern.ch/geant4-data/releases/geant4.10.07.tar.gz";
-    sha256 = "0jmdxb8z20d4l6sf2w0gk9ska48kylm38yngy3mzyvyj619a8vkp";
+    url = "https://geant4-data.web.cern.ch/geant4-data/releases/geant4.10.07.p01.tar.gz";
+    sha256 = "07if874aljizkjyp21qj6v193pmyifyfmwi5kg8jm71x79sn2laj";
   };
 
   boost_python_lib = "python${builtins.replaceStrings ["."] [""] python3.pythonVersion}";
@@ -87,7 +88,13 @@ stdenv.mkDerivation rec {
     "-DINVENTOR_LIBRARY_RELEASE=${coin3d}/lib/libCoin.so"
   ];
 
-  nativeBuildInputs =  [ cmake ];
+  nativeBuildInputs =  [
+    cmake
+  ] ++ lib.optionals enableQT [
+    wrapQtAppsHook
+  ];
+
+  dontWrapQtApps = !enableQT;
 
   buildInputs = [ libGLU xlibsWrapper libXmu ]
     ++ lib.optionals enableInventor [ libXpm coin3d soxt motif ]
@@ -101,6 +108,8 @@ stdenv.mkDerivation rec {
   postFixup = ''
     # Don't try to export invalid environment variables.
     sed -i 's/export G4\([A-Z]*\)DATA/#export G4\1DATA/' "$out"/bin/geant4.sh
+  '' + lib.optionalString enableQT ''
+    wrapQtAppsHook
   '';
 
   setupHook = ./geant4-hook.sh;
diff --git a/pkgs/development/libraries/physics/herwig/default.nix b/pkgs/development/libraries/physics/herwig/default.nix
index d3f6bcb747476..0a7e9b4d948ed 100644
--- a/pkgs/development/libraries/physics/herwig/default.nix
+++ b/pkgs/development/libraries/physics/herwig/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "herwig";
-  version = "7.2.1";
+  version = "7.2.2";
 
   src = fetchurl {
     url = "https://www.hepforge.org/archive/herwig/Herwig-${version}.tar.bz2";
-    sha256 = "11m6xvardnk0i8x8b3dpwg4c4ncq0xmlfg2n5r5qmh6544pz7zyl";
+    sha256 = "10y3fb33zsinr0z3hzap9rsbcqhy1yjqnv4b4vz21g7mdlw6pq2k";
   };
 
   nativeBuildInputs = [ autoconf automake libtool ];
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A multi-purpose particle physics event generator";
     homepage = "https://herwig.hepforge.org/";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     maintainers = with maintainers; [ veprbl ];
     platforms = platforms.unix;
     broken = stdenv.isAarch64; # doesn't compile: ignoring return value of 'FILE* freopen...
diff --git a/pkgs/development/libraries/physics/rivet/default.nix b/pkgs/development/libraries/physics/rivet/default.nix
index ce905bff17c5e..7cacab9bdf477 100644
--- a/pkgs/development/libraries/physics/rivet/default.nix
+++ b/pkgs/development/libraries/physics/rivet/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
     mathastext
     pgf
     relsize
+    sansmath
     sfmath
     siunitx
     xcolor
diff --git a/pkgs/development/libraries/physics/thepeg/default.nix b/pkgs/development/libraries/physics/thepeg/default.nix
index d5a272955f40f..ed92889b5b214 100644
--- a/pkgs/development/libraries/physics/thepeg/default.nix
+++ b/pkgs/development/libraries/physics/thepeg/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "thepeg";
-  version = "2.2.1";
+  version = "2.2.2";
 
   src = fetchurl {
     url = "https://www.hepforge.org/archive/thepeg/ThePEG-${version}.tar.bz2";
-    sha256 = "13x5gssv22mpa2w6i0vaalwcr57170vh3b4xrw8mrm3abqhwgav3";
+    sha256 = "0gif4vb9lw2px2qdywqm7x0frbv0h5gq9lq36c50f2hv77a5bgwp";
   };
 
   buildInputs = [ boost fastjet gsl hepmc2 lhapdf rivet zlib ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Toolkit for High Energy Physics Event Generation";
     homepage = "https://herwig.hepforge.org/";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     maintainers = with maintainers; [ veprbl ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
index fdd45b4bb0d9b..fc566d91e9135 100644
--- a/pkgs/development/libraries/pipewire/default.nix
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -19,13 +19,16 @@
 , libsndfile
 , vulkan-headers
 , vulkan-loader
+, ncurses
 , makeFontsConf
 , callPackage
 , nixosTests
+, withMediaSession ? true
 , gstreamerSupport ? true, gst_all_1 ? null
 , ffmpegSupport ? true, ffmpeg ? null
-, bluezSupport ? true, bluez ? null, sbc ? null, libopenaptx ? null, ldacbt ? null
+, bluezSupport ? true, bluez ? null, sbc ? null, libopenaptx ? null, ldacbt ? null, fdk_aac ? null
 , nativeHspSupport ? true
+, nativeHfpSupport ? true
 , ofonoSupport ? true
 , hsphfpdSupport ? true
 }:
@@ -36,111 +39,117 @@ let
   };
 
   mesonBool = b: if b then "true" else "false";
-in
-stdenv.mkDerivation rec {
-  pname = "pipewire";
-  version = "0.3.18";
-
-  outputs = [
-    "out"
-    "lib"
-    "pulse"
-    "jack"
-    "dev"
-    "doc"
-    "installedTests"
-  ];
-
-  src = fetchFromGitLab {
-    domain = "gitlab.freedesktop.org";
-    owner = "pipewire";
-    repo = "pipewire";
-    rev = version;
-    sha256 = "1yghhgs18yqrnd0b2r75l5n8yng962r1wszbsi01v6i9zib3jc9g";
-  };
 
-  patches = [
-    # Break up a dependency cycle between outputs.
-    ./alsa-profiles-use-libdir.patch
-    # Move installed tests into their own output.
-    ./installed-tests-path.patch
-    # Change the path of the pipewire-pulse binary in the service definition.
-    ./pipewire-pulse-path.patch
-    # Add flag to specify configuration directory (different from the installation directory).
-    ./pipewire-config-dir.patch
-  ];
-
-  nativeBuildInputs = [
-    doxygen
-    graphviz
-    meson
-    ninja
-    pkg-config
-  ];
-
-  buildInputs = [
-    alsaLib
-    dbus
-    glib
-    libjack2
-    libsndfile
-    udev
-    vulkan-headers
-    vulkan-loader
-    valgrind
-    systemd
-  ] ++ lib.optionals gstreamerSupport [ gst_all_1.gst-plugins-base gst_all_1.gstreamer ]
-  ++ lib.optional ffmpegSupport ffmpeg
-  ++ lib.optionals bluezSupport [ bluez libopenaptx ldacbt sbc ];
-
-  mesonFlags = [
-    "-Ddocs=true"
-    "-Dman=false" # we don't have xmltoman
-    "-Dexamples=true" # only needed for `pipewire-media-session`
-    "-Dudevrulesdir=lib/udev/rules.d"
-    "-Dinstalled_tests=true"
-    "-Dinstalled_test_prefix=${placeholder "installedTests"}"
-    "-Dpipewire_pulse_prefix=${placeholder "pulse"}"
-    "-Dlibjack-path=${placeholder "jack"}/lib"
-    "-Dgstreamer=${mesonBool gstreamerSupport}"
-    "-Dffmpeg=${mesonBool ffmpegSupport}"
-    "-Dbluez5=${mesonBool bluezSupport}"
-    "-Dbluez5-backend-native=${mesonBool nativeHspSupport}"
-    "-Dbluez5-backend-ofono=${mesonBool ofonoSupport}"
-    "-Dbluez5-backend-hsphfpd=${mesonBool hsphfpdSupport}"
-    "-Dpipewire_config_dir=/etc/pipewire"
-  ];
-
-  FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file
-
-  doCheck = true;
-
-  postInstall = ''
-    moveToOutput "share/systemd/user/pipewire-pulse.*" "$pulse"
-    moveToOutput "lib/systemd/user/pipewire-pulse.*" "$pulse"
-    moveToOutput "bin/pipewire-pulse" "$pulse"
-  '';
-
-  passthru.tests = {
-    installedTests = nixosTests.installed-tests.pipewire;
-
-    # This ensures that all the paths used by the NixOS module are found.
-    test-paths = callPackage ./test-paths.nix {
-      paths-out = [
-        "share/alsa/alsa.conf.d/50-pipewire.conf"
-      ];
-      paths-lib = [
-        "lib/alsa-lib/libasound_module_pcm_pipewire.so"
-        "share/alsa-card-profile/mixer"
-      ];
+  self = stdenv.mkDerivation rec {
+    pname = "pipewire";
+    version = "0.3.21";
+
+    outputs = [
+      "out"
+      "lib"
+      "pulse"
+      "jack"
+      "dev"
+      "doc"
+      "mediaSession"
+      "installedTests"
+    ];
+
+    src = fetchFromGitLab {
+      domain = "gitlab.freedesktop.org";
+      owner = "pipewire";
+      repo = "pipewire";
+      rev = version;
+      hash = "sha256:2YJzPTMPIoQQeNja3F53SD4gtpdSlbD/i77hBWiQfuQ=";
     };
-  };
 
-  meta = with lib; {
-    description = "Server and user space API to deal with multimedia pipelines";
-    homepage = "https://pipewire.org/";
-    license = licenses.mit;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ jtojnar ];
+    patches = [
+      # Break up a dependency cycle between outputs.
+      ./alsa-profiles-use-libdir.patch
+      # Move installed tests into their own output.
+      ./installed-tests-path.patch
+      # Change the path of the pipewire-pulse binary in the service definition.
+      ./pipewire-pulse-path.patch
+      # Add flag to specify configuration directory (different from the installation directory).
+      ./pipewire-config-dir.patch
+    ];
+
+    nativeBuildInputs = [
+      doxygen
+      graphviz
+      meson
+      ninja
+      pkg-config
+    ];
+
+    buildInputs = [
+      alsaLib
+      dbus
+      glib
+      libjack2
+      libsndfile
+      ncurses
+      udev
+      vulkan-headers
+      vulkan-loader
+      valgrind
+      systemd
+    ] ++ lib.optionals gstreamerSupport [ gst_all_1.gst-plugins-base gst_all_1.gstreamer ]
+    ++ lib.optional ffmpegSupport ffmpeg
+    ++ lib.optionals bluezSupport [ bluez libopenaptx ldacbt sbc fdk_aac ];
+
+    mesonFlags = [
+      "-Ddocs=true"
+      "-Dman=false" # we don't have xmltoman
+      "-Dexamples=${mesonBool withMediaSession}" # only needed for `pipewire-media-session`
+      "-Dudevrulesdir=lib/udev/rules.d"
+      "-Dinstalled_tests=true"
+      "-Dinstalled_test_prefix=${placeholder "installedTests"}"
+      "-Dpipewire_pulse_prefix=${placeholder "pulse"}"
+      "-Dlibjack-path=${placeholder "jack"}/lib"
+      "-Dgstreamer=${mesonBool gstreamerSupport}"
+      "-Dffmpeg=${mesonBool ffmpegSupport}"
+      "-Dbluez5=${mesonBool bluezSupport}"
+      "-Dbluez5-backend-hsp-native=${mesonBool nativeHspSupport}"
+      "-Dbluez5-backend-hfp-native=${mesonBool nativeHfpSupport}"
+      "-Dbluez5-backend-ofono=${mesonBool ofonoSupport}"
+      "-Dbluez5-backend-hsphfpd=${mesonBool hsphfpdSupport}"
+      "-Dpipewire_config_dir=/etc/pipewire"
+    ];
+
+    FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file
+
+    doCheck = true;
+
+    postInstall = ''
+      moveToOutput "share/systemd/user/pipewire-pulse.*" "$pulse"
+      moveToOutput "lib/systemd/user/pipewire-pulse.*" "$pulse"
+      moveToOutput "bin/pipewire-pulse" "$pulse"
+      moveToOutput "bin/pipewire-media-session" "$mediaSession"
+    '';
+
+    passthru.tests = {
+      installedTests = nixosTests.installed-tests.pipewire;
+
+      # This ensures that all the paths used by the NixOS module are found.
+      test-paths = callPackage ./test-paths.nix {
+        paths-out = [
+          "share/alsa/alsa.conf.d/50-pipewire.conf"
+        ];
+        paths-lib = [
+          "lib/alsa-lib/libasound_module_pcm_pipewire.so"
+          "share/alsa-card-profile/mixer"
+        ];
+      };
+    };
+
+    meta = with lib; {
+      description = "Server and user space API to deal with multimedia pipelines";
+      homepage = "https://pipewire.org/";
+      license = licenses.mit;
+      platforms = platforms.linux;
+      maintainers = with maintainers; [ jtojnar ];
+    };
   };
-}
+
+in self
diff --git a/pkgs/development/libraries/pipewire/pipewire-pulse-path.patch b/pkgs/development/libraries/pipewire/pipewire-pulse-path.patch
index 6ac86b111eef0..99782e1bb2182 100644
--- a/pkgs/development/libraries/pipewire/pipewire-pulse-path.patch
+++ b/pkgs/development/libraries/pipewire/pipewire-pulse-path.patch
@@ -1,19 +1,22 @@
 diff --git a/meson_options.txt b/meson_options.txt
-index 4b9e46b8..9d73ed06 100644
+index 050a4c31..c481e76c 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -147,3 +147,6 @@ option('pw-cat',
+@@ -148,6 +148,9 @@ option('udev',
  option('udevrulesdir',
         type : 'string',
         description : 'Directory for udev rules (defaults to /lib/udev/rules.d)')
 +option('pipewire_pulse_prefix',
 +       type : 'string',
 +       description : 'Install directory for the pipewire-pulse daemon')
+ option('systemd-user-unit-dir',
+        type : 'string',
+        description : 'Directory for user systemd units (defaults to /usr/lib/systemd/user)')
 diff --git a/src/daemon/systemd/user/meson.build b/src/daemon/systemd/user/meson.build
-index 29fc93d4..f78946f2 100644
+index 46dfbbc8..0d975cec 100644
 --- a/src/daemon/systemd/user/meson.build
 +++ b/src/daemon/systemd/user/meson.build
-@@ -6,7 +6,7 @@ install_data(
+@@ -9,7 +9,7 @@ install_data(
  
  systemd_config = configuration_data()
  systemd_config.set('PW_BINARY', join_paths(pipewire_bindir, 'pipewire'))
diff --git a/pkgs/development/libraries/podofo/default.nix b/pkgs/development/libraries/podofo/default.nix
index e50a2111b437e..ee99ab5de6f73 100644
--- a/pkgs/development/libraries/podofo/default.nix
+++ b/pkgs/development/libraries/podofo/default.nix
@@ -1,25 +1,16 @@
 { lib, stdenv, fetchurl, cmake, zlib, freetype, libjpeg, libtiff, fontconfig
-, openssl, libpng, lua5, pkg-config, libidn, expat, fetchpatch
+, openssl, libpng, lua5, pkg-config, libidn, expat
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.6";
+  version = "0.9.7";
   pname = "podofo";
 
   src = fetchurl {
     url = "mirror://sourceforge/podofo/${pname}-${version}.tar.gz";
-    sha256 = "0wj0y4zcmj4q79wrn3vv3xq4bb0vhhxs8yifafwy9f2sjm83c5p9";
+    sha256 = "1f0yvkx6nf99fp741w2y706d8bs9824x1z2gqm3rdy5fv8bfgwkw";
   };
 
-  patches = [
-    # https://sourceforge.net/p/podofo/tickets/24/
-    (fetchpatch {
-      url = "https://sourceforge.net/p/podofo/tickets/24/attachment/podofo-cmake-3.12.patch";
-      extraPrefix = "";
-      sha256 = "087h51x60zrakzx09baan77hwz99cwb5l1j802r5g4wj7pbjz0mb";
-    })
-  ];
-
   outputs = [ "out" "dev" "lib" ];
 
   nativeBuildInputs = [ cmake pkg-config ];
@@ -41,6 +32,6 @@ stdenv.mkDerivation rec {
     homepage = "http://podofo.sourceforge.net";
     description = "A library to work with the PDF file format";
     platforms = platforms.all;
-    license = with licenses; [ gpl2 lgpl2 ];
+    license = with licenses; [ gpl2Plus lgpl2Plus ];
   };
 }
diff --git a/pkgs/development/libraries/polkit-qt-1/qt-5.nix b/pkgs/development/libraries/polkit-qt-1/qt-5.nix
index be425b394019d..c4918d9d8e97e 100644
--- a/pkgs/development/libraries/polkit-qt-1/qt-5.nix
+++ b/pkgs/development/libraries/polkit-qt-1/qt-5.nix
@@ -16,6 +16,8 @@ stdenv.mkDerivation {
 
   propagatedBuildInputs = [ polkit glib qtbase ];
 
+  dontWrapQtApps = true;
+
   postFixup = ''
     # Fix library location in CMake module
     sed -i "$dev/lib/cmake/PolkitQt5-1/PolkitQt5-1Config.cmake" \
diff --git a/pkgs/development/libraries/poppler/0.61.nix b/pkgs/development/libraries/poppler/0.61.nix
index a49bfad7ab314..9b89283972dd3 100644
--- a/pkgs/development/libraries/poppler/0.61.nix
+++ b/pkgs/development/libraries/poppler/0.61.nix
@@ -53,6 +53,8 @@ stdenv.mkDerivation rec {
     (mkFlag qt5Support "QT5")
   ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     homepage = "https://poppler.freedesktop.org/";
     description = "A PDF rendering library";
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 3f2b8453d7f01..f3fae283e87c7 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -12,11 +12,11 @@ let
 in
 stdenv.mkDerivation rec {
   name = "poppler-${suffix}-${version}";
-  version = "20.12.1"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too!
+  version = "21.01.0"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too!
 
   src = fetchurl {
     url = "${meta.homepage}/poppler-${version}.tar.xz";
-    sha256 = "0dbv1y9i5ahg6namz6gw2d0njnmrigr4a80dbxvnqad4q232banh";
+    sha256 = "sha256-AW3eNOX4aOqYoyypm2QzJaloIoFQCUK3ET9OyI0g4vM=";
   };
 
   outputs = [ "out" "dev" ];
@@ -38,6 +38,8 @@ stdenv.mkDerivation rec {
     sed -i -e '1i cmake_policy(SET CMP0025 NEW)' CMakeLists.txt
   '';
 
+  dontWrapQtApps = true;
+
   cmakeFlags = [
     (mkFlag true "UNSTABLE_API_ABI_HEADERS") # previously "XPDF_HEADERS"
     (mkFlag (!minimal) "GLIB")
diff --git a/pkgs/development/libraries/protolock/default.nix b/pkgs/development/libraries/protolock/default.nix
index b923898cc9969..7d423ac03470b 100644
--- a/pkgs/development/libraries/protolock/default.nix
+++ b/pkgs/development/libraries/protolock/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "protolock";
-  version = "0.15.0";
+  version = "0.15.2";
 
   src = fetchFromGitHub {
     owner = "nilslice";
     repo = "protolock";
     rev = "v${version}";
-    sha256 = "0qg26vcqdhgy91p6wiv16dq73ay0fymran3d8ylca9264zwi2vxw";
+    sha256 = "sha256-cKrG8f8cabuGDN1gmBYleXcBqeJksdREiEy63UK/6J0=";
   };
 
-  vendorSha256 = "0ap1iwcapvvvmwgdc4zbsp8mglrhbswkdgm4dw8baw8qk0nlci6y";
+  vendorSha256 = "sha256-3kRGLZgYcbUQb6S+NrleMNNX0dXrE9Yer3vvqxiP4So=";
 
   doCheck = false;
 
diff --git a/pkgs/development/libraries/pyotherside/default.nix b/pkgs/development/libraries/pyotherside/default.nix
index 58d38651a7607..da327ae13fac7 100644
--- a/pkgs/development/libraries/pyotherside/default.nix
+++ b/pkgs/development/libraries/pyotherside/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
     python3 qtbase qtquickcontrols qtsvg ncurses
   ];
 
+  dontWrapQtApps = true;
+
   patches = [ ./qml-path.patch ];
   installTargets = [ "sub-src-install_subtargets" ];
 
diff --git a/pkgs/development/libraries/python-qt/default.nix b/pkgs/development/libraries/python-qt/default.nix
index bd778f1a945d5..0fe0806b1ebeb 100644
--- a/pkgs/development/libraries/python-qt/default.nix
+++ b/pkgs/development/libraries/python-qt/default.nix
@@ -22,6 +22,8 @@ stdenv.mkDerivation rec {
                  "PYTHON_PATH=${python}/bin"
                  "PYTHON_LIB=${python}/lib"];
 
+  dontWrapQtApps = true;
+
   unpackCmd = "unzip $src";
 
   installPhase = ''
diff --git a/pkgs/development/libraries/qca-qt5/default.nix b/pkgs/development/libraries/qca-qt5/default.nix
index d1b545884b536..e53404557fba2 100644
--- a/pkgs/development/libraries/qca-qt5/default.nix
+++ b/pkgs/development/libraries/qca-qt5/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ openssl qtbase ];
   nativeBuildInputs = [ cmake pkg-config ];
 
+  dontWrapQtApps = true;
+
   # Without this patch cmake fails with a "No known features for CXX compiler"
   # error on darwin
   patches = lib.optional stdenv.isDarwin ./move-project.patch ;
diff --git a/pkgs/development/libraries/qmlbox2d/default.nix b/pkgs/development/libraries/qmlbox2d/default.nix
index 88c945430451f..f5257ad0e8ef7 100644
--- a/pkgs/development/libraries/qmlbox2d/default.nix
+++ b/pkgs/development/libraries/qmlbox2d/default.nix
@@ -9,6 +9,7 @@ stdenv.mkDerivation {
   };
 
   enableParallelBuilding = true;
+  dontWrapQtApps = true;
   nativeBuildInputs = [ qmake ];
 
   buildInputs = [ qtdeclarative ];
diff --git a/pkgs/development/libraries/qmltermwidget/default.nix b/pkgs/development/libraries/qmltermwidget/default.nix
index 75f95a53800a8..7914af08df6dd 100644
--- a/pkgs/development/libraries/qmltermwidget/default.nix
+++ b/pkgs/development/libraries/qmltermwidget/default.nix
@@ -32,6 +32,8 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
+  dontWrapQtApps = true;
+
   meta = {
     description = "A QML port of qtermwidget";
     homepage = "https://github.com/Swordfish90/qmltermwidget";
diff --git a/pkgs/development/libraries/qoauth/default.nix b/pkgs/development/libraries/qoauth/default.nix
index 8afa19c229fa2..2b0be6f0b3dd5 100644
--- a/pkgs/development/libraries/qoauth/default.nix
+++ b/pkgs/development/libraries/qoauth/default.nix
@@ -21,6 +21,8 @@ stdenv.mkDerivation {
   NIX_CFLAGS_COMPILE = "-I${qca-qt5}/include/Qca-qt5/QtCrypto";
   NIX_LDFLAGS = "-lqca-qt5";
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "Qt library for OAuth authentication";
     inherit (qtbase.meta) platforms;
diff --git a/pkgs/development/libraries/qpdf/default.nix b/pkgs/development/libraries/qpdf/default.nix
index aba9e77691a9d..4d9e911572439 100644
--- a/pkgs/development/libraries/qpdf/default.nix
+++ b/pkgs/development/libraries/qpdf/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qpdf";
-  version = "10.0.4";
+  version = "10.1.0";
 
   src = fetchFromGitHub {
     owner = "qpdf";
     repo = "qpdf";
     rev = "release-qpdf-${version}";
-    sha256 = "1jqijnni2pmbbdk2g3pi14178j7mls8dj2bcwf1lds5ar0ghsagc";
+    sha256 = "sha256-abPT1u/ceBrE1U+omOHiU3UjLrmcpdSpe1vgar0wUGk=";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/development/libraries/qscintilla/default.nix b/pkgs/development/libraries/qscintilla/default.nix
index 26a3c2e36d3b6..314bdabdb558a 100644
--- a/pkgs/development/libraries/qscintilla/default.nix
+++ b/pkgs/development/libraries/qscintilla/default.nix
@@ -35,6 +35,7 @@ in stdenv.mkDerivation rec {
   '';
 
   enableParallelBuilding = true;
+  dontWrapQtApps = true;
 
   postPatch = ''
     substituteInPlace qscintilla.pro \
diff --git a/pkgs/development/libraries/qt-3/builder.sh b/pkgs/development/libraries/qt-3/builder.sh
deleted file mode 100644
index 460ae17766af7..0000000000000
--- a/pkgs/development/libraries/qt-3/builder.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-source $stdenv/setup
-
-
-preConfigure() {
-
-    # Patch some of the configure files a bit to get of global paths.
-    # (Buildings using stuff in those paths will fail anyway, but it
-    # will cause ./configure misdetections).
-    for i in config.tests/unix/checkavail config.tests/*/*.test mkspecs/*/qmake.conf; do
-        echo "patching $i..."
-        substituteInPlace "$i" \
-            --replace " /lib" " /FOO" \
-            --replace "/usr" "/FOO"
-    done
-}
-
-
-# !!! TODO: -system-libmng
-configureFlags="-prefix $out $configureFlags"
-dontAddPrefix=1
-
-configureScript=configureScript
-configureScript() {
-    echo yes | ./configure $configureFlags
-    export LD_LIBRARY_PATH=$(pwd)/lib
-}
-
-
-postInstall() {
-    # Qt's `make install' is broken; it copies ./bin/qmake, which
-    # is a symlink to ./qmake/qmake.  So we end up with a dangling
-    # symlink.
-    rm $out/bin/qmake
-    cp -p qmake/qmake $out/bin
-}
-
-
-genericBuild
diff --git a/pkgs/development/libraries/qt-3/default.nix b/pkgs/development/libraries/qt-3/default.nix
deleted file mode 100644
index b2d818a2972db..0000000000000
--- a/pkgs/development/libraries/qt-3/default.nix
+++ /dev/null
@@ -1,92 +0,0 @@
-{ lib, stdenv, fetchurl
-, xftSupport ? true, libXft ? null
-, xrenderSupport ? true, libXrender ? null
-, xrandrSupport ? true, libXrandr ? null
-, xineramaSupport ? true, libXinerama ? null
-, cursorSupport ? true, libXcursor ? null
-, threadSupport ? true
-, mysqlSupport ? false, libmysqlclient ? null
-, libGLSupported ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
-, openglSupport ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
-, libGL ? null, libGLU ? null, libXmu ? null
-, xlibsWrapper, xorgproto, zlib, libjpeg, libpng, which
-}:
-
-assert xftSupport -> libXft != null;
-assert xrenderSupport -> xftSupport && libXrender != null;
-assert xrandrSupport -> libXrandr != null;
-assert cursorSupport -> libXcursor != null;
-assert mysqlSupport -> libmysqlclient != null;
-assert openglSupport -> libGL != null && libGLU != null && libXmu != null;
-
-stdenv.mkDerivation {
-  name = "qt-3.3.8";
-
-  builder = ./builder.sh;
-
-  setupHook = ./setup-hook.sh;
-
-  src = fetchurl {
-    url = "http://download.qt.io/archive/qt/3/qt-x11-free-3.3.8.tar.bz2";
-    sha256 = "0jd4g3bwkgk2s4flbmgisyihm7cam964gzb3pawjlkhas01zghz8";
-  };
-
-  nativeBuildInputs = [ which ];
-  propagatedBuildInputs = [libpng xlibsWrapper libXft libXrender zlib libjpeg];
-
-  hardeningDisable = [ "format" ];
-
-  configureFlags = let
-    mk = cond: name: "-${lib.optionalString (!cond) "no-"}${name}";
-  in [
-    "-v"
-    "-system-zlib" "-system-libpng" "-system-libjpeg"
-    "-qt-gif"
-    "-I${xorgproto}/include"
-    (mk threadSupport "thread")
-    (mk xrenderSupport "xrender")
-    (mk xrandrSupport "xrandr")
-    (mk xineramaSupport "xinerama")
-    (mk xrandrSupport "xrandr")
-    (mk xftSupport "xft")
-  ] ++ lib.optionals openglSupport [
-    "-dlopen-opengl"
-    "-L${libGL}/lib" "-I${libGLU}/include"
-    "-L${libXmu.out}/lib" "-I${libXmu.dev}/include"
-  ] ++ lib.optionals xrenderSupport [
-    "-L${libXrender.out}/lib" "-I${libXrender.dev}/include"
-  ] ++ lib.optionals xrandrSupport [
-    "-L${libXrandr.out}/lib" "-I${libXrandr.dev}/include"
-  ] ++ lib.optionals xineramaSupport [
-    "-L${libXinerama.out}/lib" "-I${libXinerama.dev}/include"
-  ] ++ lib.optionals cursorSupport [
-    "-L${libXcursor.out}/lib -I${libXcursor.dev}/include"
-  ] ++ lib.optionals mysqlSupport [
-    "-qt-sql-mysql" "-L${libmysqlclient}/lib/mysql" "-I${libmysqlclient}/include/mysql"
-  ] ++ lib.optionals xftSupport [
-    "-L${libXft.out}/lib" "-I${libXft.dev}/include"
-    "-L${libXft.freetype.out}/lib" "-I${libXft.freetype.dev}/include"
-    "-L${libXft.fontconfig.lib}/lib" "-I${libXft.fontconfig.dev}/include"
-  ];
-
-  patches = [
-    # Don't strip everything so we can get useful backtraces.
-    ./strip.patch
-
-    # Build on NixOS.
-    ./qt-pwd.patch
-
-    # randr.h and Xrandr.h need not be in the same prefix.
-    ./xrandr.patch
-
-    # Make it build with gcc 4.6.0
-    ./qt3-gcc4.6.0.patch
-  ];
-
-  passthru = {inherit mysqlSupport;};
-
-  meta = with lib; {
-    license = with licenses; [ gpl2 qpl ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/qt-3/qt-pwd.patch b/pkgs/development/libraries/qt-3/qt-pwd.patch
deleted file mode 100644
index 763f785726b7c..0000000000000
--- a/pkgs/development/libraries/qt-3/qt-pwd.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -ruN qt-x11-free-3.3.3/configure qt-x11-free-3.3.3.new/configure
---- qt-x11-free-3.3.3/configure	2004-06-14 11:18:55.000000000 +0200
-+++ qt-x11-free-3.3.3.new/configure	2005-11-12 19:39:43.000000000 +0100
-@@ -16,9 +16,9 @@
- relconf=`basename $0`
- # the directory of this script is the "source tree"
- relpath=`dirname $0`
--relpath=`(cd $relpath; /bin/pwd)`
-+relpath=`(cd $relpath; pwd)`
- # the current directory is the "build tree" or "object tree"
--outpath=`/bin/pwd`
-+outpath=`pwd`
- 
- # later cache the command line in config.status
- OPT_CMDLINE=`echo $@ | sed "s,-v ,,g; s,-v$,,g"`
diff --git a/pkgs/development/libraries/qt-3/qt3-gcc4.6.0.patch b/pkgs/development/libraries/qt-3/qt3-gcc4.6.0.patch
deleted file mode 100644
index c1a903c130c7d..0000000000000
--- a/pkgs/development/libraries/qt-3/qt3-gcc4.6.0.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-I picked it here:
-https://bugs.archlinux.org/task/23915
-
---- qt-x11-free-3.3.8b/src/tools/qmap.h~	2008-01-15 19:09:13.000000000 +0000
-+++ qt-x11-free-3.3.8b/src/tools/qmap.h	2011-04-11 00:16:04.000000000 +0100
-@@ -50,6 +50,7 @@
- #endif // QT_H
- 
- #ifndef QT_NO_STL
-+#include <cstddef>
- #include <iterator>
- #include <map>
- #endif
---- qt-x11-free-3.3.8b/src/tools/qvaluelist.h~	2008-01-15 19:09:13.000000000 +0000
-+++ qt-x11-free-3.3.8b/src/tools/qvaluelist.h	2011-04-11 00:16:49.000000000 +0100
-@@ -48,6 +48,7 @@
- #endif // QT_H
- 
- #ifndef QT_NO_STL
-+#include <cstddef>
- #include <iterator>
- #include <list>
- #endif
diff --git a/pkgs/development/libraries/qt-3/setup-hook.sh b/pkgs/development/libraries/qt-3/setup-hook.sh
deleted file mode 100644
index db1a2529ff542..0000000000000
--- a/pkgs/development/libraries/qt-3/setup-hook.sh
+++ /dev/null
@@ -1 +0,0 @@
-export QTDIR=@out@
diff --git a/pkgs/development/libraries/qt-3/strip.patch b/pkgs/development/libraries/qt-3/strip.patch
deleted file mode 100644
index a0c9fa738898d..0000000000000
--- a/pkgs/development/libraries/qt-3/strip.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -rc qt-x11-free-3.3.3-orig/mkspecs/linux-g++/qmake.conf qt-x11-free-3.3.3/mkspecs/linux-g++/qmake.conf
-*** qt-x11-free-3.3.3-orig/mkspecs/linux-g++/qmake.conf	2004-08-05 16:42:57.000000000 +0200
---- qt-x11-free-3.3.3/mkspecs/linux-g++/qmake.conf	2005-03-02 12:25:55.000000000 +0100
-***************
-*** 85,90 ****
-  QMAKE_DEL_FILE		= rm -f
-  QMAKE_DEL_DIR		= rmdir
-  QMAKE_STRIP             = strip
-! QMAKE_STRIPFLAGS_LIB 	+= --strip-unneeded
-  QMAKE_CHK_DIR_EXISTS	= test -d
-  QMAKE_MKDIR		= mkdir -p
---- 85,90 ----
-  QMAKE_DEL_FILE		= rm -f
-  QMAKE_DEL_DIR		= rmdir
-  QMAKE_STRIP             = strip
-! QMAKE_STRIPFLAGS_LIB 	+= --strip-debug
-  QMAKE_CHK_DIR_EXISTS	= test -d
-  QMAKE_MKDIR		= mkdir -p
diff --git a/pkgs/development/libraries/qt-3/xrandr.patch b/pkgs/development/libraries/qt-3/xrandr.patch
deleted file mode 100644
index 0389c7fdd068e..0000000000000
--- a/pkgs/development/libraries/qt-3/xrandr.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -rc qt-x11-free-3.3.6-orig/config.tests/x11/xrandr.test qt-x11-free-3.3.6/config.tests/x11/xrandr.test
-*** qt-x11-free-3.3.6-orig/config.tests/x11/xrandr.test	2006-09-14 14:00:08.000000000 +0200
---- qt-x11-free-3.3.6/config.tests/x11/xrandr.test	2006-09-14 14:10:39.000000000 +0200
-***************
-*** 52,69 ****
-      INCDIRS="$IN_INCDIRS $XDIRS /FOO/include /include"
-      F=
-      for INCDIR in $INCDIRS; do
-! 	if [ -f $INCDIR/$INC -a -f $INCDIR/$INC2 ]; then
-  	    F=yes
-! 	    XRANDR_H=$INCDIR/$INC
-  	    RANDR_H=$INCDIR/$INC2
-! 	    [ "$VERBOSE" = "yes" ] && echo "  Found $INC in $INCDIR"
-  	    break
-  	fi
-      done
-      if [ -z "$F" ]
-      then
-  	XRANDR=no
-! 	[ "$VERBOSE" = "yes" ] && echo "  Could not find $INC anywhere in $INCDIRS"
-      fi
-  fi
-  
---- 52,69 ----
-      INCDIRS="$IN_INCDIRS $XDIRS /FOO/include /include"
-      F=
-      for INCDIR in $INCDIRS; do
-! 	if [ -f $INCDIR/$INC2 ]; then
-  	    F=yes
-! #	    XRANDR_H=$INCDIR/$INC
-  	    RANDR_H=$INCDIR/$INC2
-! 	    [ "$VERBOSE" = "yes" ] && echo "  Found $INC2 in $INCDIR"
-  	    break
-  	fi
-      done
-      if [ -z "$F" ]
-      then
-  	XRANDR=no
-! 	[ "$VERBOSE" = "yes" ] && echo "  Could not find $INC2 anywhere in $INCDIRS"
-      fi
-  fi
-  
diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix
index 7dddd2bc67d28..a4ac41d81df76 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix
@@ -5,8 +5,7 @@
 , libtiff, glib, icu, libmysqlclient, postgresql, sqlite, perl, coreutils, libXi
 , alsaLib
 , libGLSupported ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
-, flashplayerFix ? false, gdk-pixbuf
-, gtkStyle ? stdenv.hostPlatform == stdenv.buildPlatform, gtk2
+, gtkStyle ? stdenv.hostPlatform == stdenv.buildPlatform, gtk2, gdk-pixbuf
 , gnomeStyle ? false, libgnomeui, GConf, gnome_vfs
 , developerBuild ? false
 , docs ? false
@@ -108,10 +107,6 @@ stdenv.mkDerivation rec {
         libgnomeui = libgnomeui.out;
         gnome_vfs = gnome_vfs.out;
       }))
-    ++ lib.optional flashplayerFix (substituteAll {
-        src = ./dlopen-webkit-nsplugin.diff;
-        gtk = gtk2.out;
-      })
     ++ lib.optional stdenv.isAarch64 (fetchpatch {
         url = "https://src.fedoraproject.org/rpms/qt/raw/ecf530486e0fb7fe31bad26805cde61115562b2b/f/qt-aarch64.patch";
         sha256 = "1fbjh78nmafqmj7yk67qwjbhl3f6ylkp6x33b1dqxfw9gld8b3gl";
diff --git a/pkgs/development/libraries/qt-4.x/4.8/dlopen-webkit-nsplugin.diff b/pkgs/development/libraries/qt-4.x/4.8/dlopen-webkit-nsplugin.diff
deleted file mode 100644
index d2ebbf3b45a8a..0000000000000
--- a/pkgs/development/libraries/qt-4.x/4.8/dlopen-webkit-nsplugin.diff
+++ /dev/null
@@ -1,52 +0,0 @@
-diff --git a/src/3rdparty/webkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp b/src/3rdparty/webkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-index 19941d6..0ec15e2 100644
---- a/src/3rdparty/webkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-+++ b/src/3rdparty/webkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-@@ -121,7 +121,7 @@ static void initializeGtk(QLibrary* module = 0)
-         }
-     }
- 
--    QLibrary library(QLatin1String("libgtk-x11-2.0.so.0"));
-+    QLibrary library(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0);
-     if (library.load()) {
-         typedef void *(*gtk_init_check_ptr)(int*, char***);
-         gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check");
-diff --git a/src/3rdparty/webkit/Source/WebCore/plugins/qt/PluginViewQt.cpp b/src/3rdparty/webkit/Source/WebCore/plugins/qt/PluginViewQt.cpp
-index 2fe69d1..b658e4a 100644
---- a/src/3rdparty/webkit/Source/WebCore/plugins/qt/PluginViewQt.cpp
-+++ b/src/3rdparty/webkit/Source/WebCore/plugins/qt/PluginViewQt.cpp
-@@ -857,7 +857,7 @@ static Display *getPluginDisplay()
-     // support gdk based plugins (like flash) that use a different X connection.
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
--    QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+    QLibrary library(QLatin1String("@gtk@/lib/libgdk-x11-2.0"), 0);
-     if (!library.load())
-         return 0;
- 
-diff --git a/src/3rdparty/webkit/Source/WebKit2/Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp b/src/3rdparty/webkit/Source/WebKit2/Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp
-index 2c9b465..56b3074 100644
---- a/src/3rdparty/webkit/Source/WebKit2/Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp
-+++ b/src/3rdparty/webkit/Source/WebKit2/Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp
-@@ -42,7 +42,7 @@ namespace WebKit {
- #if PLATFORM(QT)
- static void initializeGTK()
- {
--    QLibrary library(QLatin1String("libgtk-x11-2.0.so.0"));
-+    QLibrary library(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0);
-     if (library.load()) {
-         typedef void *(*gtk_init_check_ptr)(int*, char***);
-         gtk_init_check_ptr gtkInitCheck = reinterpret_cast<gtk_init_check_ptr>(library.resolve("gtk_init_check"));
-diff --git a/src/3rdparty/webkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp b/src/3rdparty/webkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-index b8c8f2a..e7f4dc5 100644
---- a/src/3rdparty/webkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-+++ b/src/3rdparty/webkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-@@ -54,7 +54,7 @@ static Display *getPluginDisplay()
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
- 
--    QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+    QLibrary library(QLatin1String("@gtk@/lib/libgdk-x11-2.0"), 0);
-     if (!library.load())
-         return 0;
- 
diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix
index 320d30214d468..63e893ea69ff9 100644
--- a/pkgs/development/libraries/qt-5/5.12/default.nix
+++ b/pkgs/development/libraries/qt-5/5.12/default.nix
@@ -89,15 +89,6 @@ let
         sha256 = "1gv733qfdn9746nbqqxzyjx4ijjqkkb7zb71nxax49nna5bri3am";
       })
 
-      # Fix build with bison-3.7: https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?id=1a53f599
-      (fetchpatch {
-        name = "qtwebengine-bison-3.7-build.patch";
-        url = "https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=1a53f599";
-        sha256 = "1nqpyn5fq37q7i9nasag6i14lnz0d7sld5ikqhlm8qwq9d7gbmjy";
-        stripLen = 1;
-        extraPrefix = "src/3rdparty/";
-      })
-
       ./qtwebengine-darwin-no-platform-check.patch
       ./qtwebengine-darwin-fix-failed-static-assertion.patch
     ];
@@ -108,6 +99,7 @@ let
         sha256 = "0h8ymfnwgkjkwaankr3iifiscsvngqpwb91yygndx344qdiw9y0n";
       })
       ./qtwebkit.patch
+      ./qtwebkit-icu68.patch
 
       ./qtwebkit-darwin-no-readline.patch
       ./qtwebkit-darwin-no-qos-classes.patch
@@ -145,7 +137,7 @@ let
         patches = patches.qtbase;
         inherit bison cups harfbuzz libGL;
         withGtk3 = true; inherit dconf gtk3;
-        inherit developerBuild decryptSslTraffic;
+        inherit debug developerBuild decryptSslTraffic;
       };
 
       qtcharts = callPackage ../modules/qtcharts.nix {};
@@ -197,6 +189,7 @@ let
       qmake = makeSetupHook {
         deps = [ self.qtbase.dev ];
         substitutions = {
+          inherit debug;
           fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh;
         };
       } ../hooks/qmake-hook.sh;
diff --git a/pkgs/development/libraries/qt-5/5.12/fetch.sh b/pkgs/development/libraries/qt-5/5.12/fetch.sh
index e93c9acd3f050..6d2cf551dd5bc 100644
--- a/pkgs/development/libraries/qt-5/5.12/fetch.sh
+++ b/pkgs/development/libraries/qt-5/5.12/fetch.sh
@@ -1,2 +1,2 @@
-WGET_ARGS=( http://download.qt.io/official_releases/qt/5.12/5.12.9/submodules/ \
+WGET_ARGS=( http://download.qt.io/official_releases/qt/5.12/5.12.10/submodules/ \
             -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/qt-5/5.12/qtwebkit-icu68.patch b/pkgs/development/libraries/qt-5/5.12/qtwebkit-icu68.patch
new file mode 100644
index 0000000000000..73463d7567a3a
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.12/qtwebkit-icu68.patch
@@ -0,0 +1,170 @@
+Regressed by https://github.com/unicode-org/icu/commit/c3fe7e09d844
+
+In file included from Source/WebCore/platform/text/TextAllInOne.cpp:31:
+Source/WebCore/platform/text/TextCodecICU.cpp:311:42: error: use of undeclared identifier 'TRUE'
+        ucnv_setFallback(m_converterICU, TRUE);
+                                         ^
+In file included from Source/WebCore/platform/text/TextAllInOne.cpp:40:
+In file included from Source/WebCore/platform/text/icu/UTextProvider.cpp:27:
+Source/WebCore/platform/text/icu/UTextProvider.h:83:28: error: use of undeclared identifier 'TRUE'
+            isAccessible = TRUE;
+                           ^
+Source/WebCore/platform/text/icu/UTextProvider.h:88:28: error: use of undeclared identifier 'FALSE'
+            isAccessible = FALSE;
+                           ^
+Source/WebCore/platform/text/icu/UTextProvider.h:97:28: error: use of undeclared identifier 'TRUE'
+            isAccessible = TRUE;
+                           ^
+Source/WebCore/platform/text/icu/UTextProvider.h:102:28: error: use of undeclared identifier 'FALSE'
+            isAccessible = FALSE;
+                           ^
+In file included from Source/WebCore/platform/text/TextAllInOne.cpp:41:
+Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:103:20: error: use of undeclared identifier 'TRUE'
+            return TRUE;
+                   ^
+Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:108:20: error: use of undeclared identifier 'FALSE'
+            return FALSE;
+                   ^
+Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:114:20: error: use of undeclared identifier 'TRUE'
+            return TRUE;
+                   ^
+Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:119:20: error: use of undeclared identifier 'FALSE'
+            return FALSE;
+                   ^
+Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:147:12: error: use of undeclared identifier 'TRUE'
+    return TRUE;
+           ^
+Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:339:16: error: use of undeclared identifier 'FALSE'
+        return FALSE;
+               ^
+Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:359:12: error: use of undeclared identifier 'TRUE'
+    return TRUE;
+           ^
+In file included from Source/WebCore/platform/text/TextAllInOne.cpp:42:
+Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp:128:16: error: use of undeclared identifier 'FALSE'
+        return FALSE;
+               ^
+Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp:148:12: error: use of undeclared identifier 'TRUE'
+    return TRUE;
+           ^
+
+--- a/Source/WebCore/platform/text/TextCodecICU.cpp
++++ b/Source/WebCore/platform/text/TextCodecICU.cpp
+@@ -308,7 +308,7 @@ void TextCodecICU::createICUConverter() const
+     m_converterICU = ucnv_open(m_canonicalConverterName, &err);
+     ASSERT(U_SUCCESS(err));
+     if (m_converterICU)
+-        ucnv_setFallback(m_converterICU, TRUE);
++        ucnv_setFallback(m_converterICU, true);
+ }
+ 
+ int TextCodecICU::decodeToBuffer(UChar* target, UChar* targetLimit, const char*& source, const char* sourceLimit, int32_t* offsets, bool flush, UErrorCode& err)
+--- a/Source/WebCore/platform/text/icu/UTextProvider.h
++++ b/Source/WebCore/platform/text/icu/UTextProvider.h
+@@ -80,12 +80,12 @@ inline bool uTextAccessInChunkOrOutOfRange(UText* text
+             // Ensure chunk offset is well formed if computed offset exceeds int32_t range.
+             ASSERT(offset < std::numeric_limits<int32_t>::max());
+             text->chunkOffset = offset < std::numeric_limits<int32_t>::max() ? static_cast<int32_t>(offset) : 0;
+-            isAccessible = TRUE;
++            isAccessible = true;
+             return true;
+         }
+         if (nativeIndex >= nativeLength && text->chunkNativeLimit == nativeLength) {
+             text->chunkOffset = text->chunkLength;
+-            isAccessible = FALSE;
++            isAccessible = false;
+             return true;
+         }
+     } else {
+@@ -94,12 +94,12 @@ inline bool uTextAccessInChunkOrOutOfRange(UText* text
+             // Ensure chunk offset is well formed if computed offset exceeds int32_t range.
+             ASSERT(offset < std::numeric_limits<int32_t>::max());
+             text->chunkOffset = offset < std::numeric_limits<int32_t>::max() ? static_cast<int32_t>(offset) : 0;
+-            isAccessible = TRUE;
++            isAccessible = true;
+             return true;
+         }
+         if (nativeIndex <= 0 && !text->chunkNativeStart) {
+             text->chunkOffset = 0;
+-            isAccessible = FALSE;
++            isAccessible = false;
+             return true;
+         }
+     }
+--- a/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp
++++ b/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp
+@@ -100,23 +100,23 @@ static UBool uTextLatin1Access(UText* uText, int64_t i
+         if (index < uText->chunkNativeLimit && index >= uText->chunkNativeStart) {
+             // Already inside the buffer. Set the new offset.
+             uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart);
+-            return TRUE;
++            return true;
+         }
+         if (index >= length && uText->chunkNativeLimit == length) {
+             // Off the end of the buffer, but we can't get it.
+             uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart);
+-            return FALSE;
++            return false;
+         }
+     } else {
+         if (index <= uText->chunkNativeLimit && index > uText->chunkNativeStart) {
+             // Already inside the buffer. Set the new offset.
+             uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart);
+-            return TRUE;
++            return true;
+         }
+         if (!index && !uText->chunkNativeStart) {
+             // Already at the beginning; can't go any farther.
+             uText->chunkOffset = 0;
+-            return FALSE;
++            return false;
+         }
+     }
+     
+@@ -144,7 +144,7 @@ static UBool uTextLatin1Access(UText* uText, int64_t i
+ 
+     uText->nativeIndexingLimit = uText->chunkLength;
+ 
+-    return TRUE;
++    return true;
+ }
+ 
+ static int32_t uTextLatin1Extract(UText* uText, int64_t start, int64_t limit, UChar* dest, int32_t destCapacity, UErrorCode* status)
+@@ -336,7 +336,7 @@ static int64_t uTextLatin1ContextAwareNativeLength(UTe
+ static UBool uTextLatin1ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward)
+ {
+     if (!text->context)
+-        return FALSE;
++        return false;
+     int64_t nativeLength = uTextLatin1ContextAwareNativeLength(text);
+     UBool isAccessible;
+     if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible))
+@@ -356,7 +356,7 @@ static UBool uTextLatin1ContextAwareAccess(UText* text
+         ASSERT(newContext == UTextProviderContext::PriorContext);
+         textLatin1ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward);
+     }
+-    return TRUE;
++    return true;
+ }
+ 
+ static int32_t uTextLatin1ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode)
+--- a/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp
++++ b/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp
+@@ -125,7 +125,7 @@ static inline int64_t uTextUTF16ContextAwareNativeLeng
+ static UBool uTextUTF16ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward)
+ {
+     if (!text->context)
+-        return FALSE;
++        return false;
+     int64_t nativeLength = uTextUTF16ContextAwareNativeLength(text);
+     UBool isAccessible;
+     if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible))
+@@ -145,7 +145,7 @@ static UBool uTextUTF16ContextAwareAccess(UText* text,
+         ASSERT(newContext == UTextProviderContext::PriorContext);
+         textUTF16ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward);
+     }
+-    return TRUE;
++    return true;
+ }
+ 
+ static int32_t uTextUTF16ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode)
diff --git a/pkgs/development/libraries/qt-5/5.12/srcs.nix b/pkgs/development/libraries/qt-5/5.12/srcs.nix
index f2ed6d13714fd..03f8973766a9a 100644
--- a/pkgs/development/libraries/qt-5/5.12/srcs.nix
+++ b/pkgs/development/libraries/qt-5/5.12/srcs.nix
@@ -4,323 +4,323 @@
 
 {
   qt3d = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qt3d-everywhere-src-5.12.9.tar.xz";
-      sha256 = "6fcde8c99bc5d09a5d2de99cab10c6f662d7db48139e6d5a3904fa0c580070ad";
-      name = "qt3d-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qt3d-everywhere-src-5.12.10.tar.xz";
+      sha256 = "1fnhdy0vwh1npq04pw3lzb15rsp0nx8wh57c8lvz9jn945xwc3vd";
+      name = "qt3d-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtactiveqt = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtactiveqt-everywhere-src-5.12.9.tar.xz";
-      sha256 = "e9df2dacfa4f93b42753066d14d3c504a30b259c177b366e32e6119f714f6527";
-      name = "qtactiveqt-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtactiveqt-everywhere-src-5.12.10.tar.xz";
+      sha256 = "0lf96ziba5g8izwcjzzaf4n2j336j6627rb3dzwvmsdkd9168zax";
+      name = "qtactiveqt-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtandroidextras = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtandroidextras-everywhere-src-5.12.9.tar.xz";
-      sha256 = "d6ab58d382feb1d79b7f28033eaa15ecab0c1f97c760fad50f20608189ab1a95";
-      name = "qtandroidextras-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtandroidextras-everywhere-src-5.12.10.tar.xz";
+      sha256 = "0blapv4jd80wcvzp96zxlrsyca7lwax17y6yij1d14a51353hrnc";
+      name = "qtandroidextras-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtbase = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtbase-everywhere-src-5.12.9.tar.xz";
-      sha256 = "331dafdd0f3e8623b51bd0da2266e7e7c53aa8e9dc28a8eb6f0b22609c5d337e";
-      name = "qtbase-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtbase-everywhere-src-5.12.10.tar.xz";
+      sha256 = "0h39r3irahdms4gidg5l4a1kr7kagc4bd0y02sapg3njwrsg3240";
+      name = "qtbase-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtcanvas3d = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtcanvas3d-everywhere-src-5.12.9.tar.xz";
-      sha256 = "351b105507b97e61eef17a5ce8a96fe090a523101e41c20ea373266203dd3ca0";
-      name = "qtcanvas3d-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtcanvas3d-everywhere-src-5.12.10.tar.xz";
+      sha256 = "0pbxw89m2s19yk2985c49msd7s1mapydka9b7nzg9phs9nrzvf1m";
+      name = "qtcanvas3d-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtcharts = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtcharts-everywhere-src-5.12.9.tar.xz";
-      sha256 = "9fc2a64a96b73746389c257684af557e70c5360bead53d61d059f968efdc5b04";
-      name = "qtcharts-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtcharts-everywhere-src-5.12.10.tar.xz";
+      sha256 = "0cndm8llvfl9jdzn34b886gxgxwsibb24amhblh96cadhhkpwadc";
+      name = "qtcharts-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtconnectivity = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtconnectivity-everywhere-src-5.12.9.tar.xz";
-      sha256 = "e5457ebc22059954bba6a08b03fd1e6f30e4c8f3146636065bf12c2e6044f41c";
-      name = "qtconnectivity-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtconnectivity-everywhere-src-5.12.10.tar.xz";
+      sha256 = "19l816zfpx87vwzj18mbib5x3mb9hy1msacpy8i9bagfw9p0i6c0";
+      name = "qtconnectivity-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtdatavis3d = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtdatavis3d-everywhere-src-5.12.9.tar.xz";
-      sha256 = "0cd4f7535bf26e4e59f89fac991fc8a400bd6193680578f31693235f185f4562";
-      name = "qtdatavis3d-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtdatavis3d-everywhere-src-5.12.10.tar.xz";
+      sha256 = "1ximhph17kkh40v2ksk51lq21mbjs2ajyf5l32ckhc7n7bmaryb6";
+      name = "qtdatavis3d-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtdeclarative = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtdeclarative-everywhere-src-5.12.9.tar.xz";
-      sha256 = "c11ae68aedcdea7e721ec22a95265ac91b5e128a5c12d3b61b5b732d3a02be80";
-      name = "qtdeclarative-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtdeclarative-everywhere-src-5.12.10.tar.xz";
+      sha256 = "05la1zlijcaargfh4ljnmxvvksdwzl409wl7w3m96kwm8s370mmf";
+      name = "qtdeclarative-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtdoc = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtdoc-everywhere-src-5.12.9.tar.xz";
-      sha256 = "a9d751af85a07bdfc2a30e8f1b08aa249547a8100801f286e77280a9c9ede624";
-      name = "qtdoc-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtdoc-everywhere-src-5.12.10.tar.xz";
+      sha256 = "0ljc29hnn8knncvq8hsk0rdcwrxbsk1ywlprknkvyb4pggp9rkp6";
+      name = "qtdoc-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtgamepad = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtgamepad-everywhere-src-5.12.9.tar.xz";
-      sha256 = "da3333af6b9dccd7dd3a25b01de65e317fe4b70b9d39eeb84e01c232063211fe";
-      name = "qtgamepad-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtgamepad-everywhere-src-5.12.10.tar.xz";
+      sha256 = "1bs50wghy3n8af656angkkkaac0swkq3mfllg3dkjg236ngzdhdh";
+      name = "qtgamepad-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtgraphicaleffects = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtgraphicaleffects-everywhere-src-5.12.9.tar.xz";
-      sha256 = "1eb4b913d5cb6d0b46a231288b9717f4785fbd212936e98a8b2a8c9024e3a8bf";
-      name = "qtgraphicaleffects-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtgraphicaleffects-everywhere-src-5.12.10.tar.xz";
+      sha256 = "0hnsb757ircqmid34d0cxbh0mi4qnil22k5ka9a1b8xy00ydkfky";
+      name = "qtgraphicaleffects-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtimageformats = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtimageformats-everywhere-src-5.12.9.tar.xz";
-      sha256 = "cd8193698f830cce30959564c191e7bb698877aca3a263c652b4a23907c72b6a";
-      name = "qtimageformats-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtimageformats-everywhere-src-5.12.10.tar.xz";
+      sha256 = "1bh38xp4v914ksg91p9pij1gsdzs3y7sn7diy3d7wn5i039syn0i";
+      name = "qtimageformats-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtlocation = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtlocation-everywhere-src-5.12.9.tar.xz";
-      sha256 = "be31870104af2910690850c4e28bab3ccb76f1aa8deef1e870bcbc6b276aa2c1";
-      name = "qtlocation-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtlocation-everywhere-src-5.12.10.tar.xz";
+      sha256 = "1czg0z69ilnxp1sqk0jawlnyp2gx87yb57g8dwjznqxxvaq744dc";
+      name = "qtlocation-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtmacextras = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtmacextras-everywhere-src-5.12.9.tar.xz";
-      sha256 = "5458f3e13c37eb8bff8588b29703fb33b61d5ea19989c56c99d36f221e269f35";
-      name = "qtmacextras-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtmacextras-everywhere-src-5.12.10.tar.xz";
+      sha256 = "0mh9p3f1f22pj4i8yxnn56amy53dapmcikza04ll4fvx5hy340v8";
+      name = "qtmacextras-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtmultimedia = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtmultimedia-everywhere-src-5.12.9.tar.xz";
-      sha256 = "59a2f2418cefe030094687dff0846fb8957abbc0e060501a4fee40cb4a52838c";
-      name = "qtmultimedia-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtmultimedia-everywhere-src-5.12.10.tar.xz";
+      sha256 = "0g50jzhwbrl5r0lmfz5ffpkp54mf0zfc8m884x51yn2bnngg366c";
+      name = "qtmultimedia-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtnetworkauth = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtnetworkauth-everywhere-src-5.12.9.tar.xz";
-      sha256 = "a0979689eda667e299fd9cf5a8859bd9c37eabc0a6d9738103a1143035baf0e4";
-      name = "qtnetworkauth-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtnetworkauth-everywhere-src-5.12.10.tar.xz";
+      sha256 = "12n3xqlskrk2mbcgz5p613sx219j6rmpq8yn7p97xdv7li61gzl2";
+      name = "qtnetworkauth-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtpurchasing = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtpurchasing-everywhere-src-5.12.9.tar.xz";
-      sha256 = "565587811b3cfd201907d3fcbf7120783de32a4d1d3c59a9efff3720cf0af3e5";
-      name = "qtpurchasing-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtpurchasing-everywhere-src-5.12.10.tar.xz";
+      sha256 = "1azdg03vxyk140i9z93x0zzlazbmd3qrqxgwk747jsd1ibns9ddy";
+      name = "qtpurchasing-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtquickcontrols = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtquickcontrols-everywhere-src-5.12.9.tar.xz";
-      sha256 = "d89084ebccf155f4c966d4a2a188e6e870c37535a7751740960f5c38088373f6";
-      name = "qtquickcontrols-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtquickcontrols-everywhere-src-5.12.10.tar.xz";
+      sha256 = "1cy9vjl9zf95frnydzljqwbx3is8p8w27kdgszvmb67p6xkpblk7";
+      name = "qtquickcontrols-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtquickcontrols2 = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtquickcontrols2-everywhere-src-5.12.9.tar.xz";
-      sha256 = "ea1c2864630c6ba2540228f81ec5b582619d5ce9e4cb98e91109b4181a65a31d";
-      name = "qtquickcontrols2-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtquickcontrols2-everywhere-src-5.12.10.tar.xz";
+      sha256 = "0541n8n012d0xwxrfznv1jwh28d35mdx6cl8jadsaxaspgwz4vb3";
+      name = "qtquickcontrols2-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtremoteobjects = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtremoteobjects-everywhere-src-5.12.9.tar.xz";
-      sha256 = "f87af7e9931280f2b44a529dc174cae14247e1b50f9dc9bde8966adb0406babd";
-      name = "qtremoteobjects-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtremoteobjects-everywhere-src-5.12.10.tar.xz";
+      sha256 = "147p0xdi22xz2d3501ig78bs97gbyz8ccyhn6dhbw2yalx33gma6";
+      name = "qtremoteobjects-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtscript = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtscript-everywhere-src-5.12.9.tar.xz";
-      sha256 = "8f2e12e37ff1e7629923cf3b9d446f85e005b2248386e33879ba3b790f1416df";
-      name = "qtscript-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtscript-everywhere-src-5.12.10.tar.xz";
+      sha256 = "1cfcfwq4shr6yphgwq2jnvgzjjqjrz10qnzr7dccksmfg3i0ad02";
+      name = "qtscript-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtscxml = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtscxml-everywhere-src-5.12.9.tar.xz";
-      sha256 = "d68d04d83366f11b10a101766baf5253e53ad76a683e0bc15e7dd403d475e61c";
-      name = "qtscxml-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtscxml-everywhere-src-5.12.10.tar.xz";
+      sha256 = "057zchhm1s5ly2a685y4105pgmzgqp1jkkf9w0ca8xd05z4clb4r";
+      name = "qtscxml-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtsensors = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtsensors-everywhere-src-5.12.9.tar.xz";
-      sha256 = "77054e2449bcac786cc8f07c0d65c503a22bc629af4844259ff0def27b9889e9";
-      name = "qtsensors-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtsensors-everywhere-src-5.12.10.tar.xz";
+      sha256 = "10f00njvc7kwjci0g4g3pibl9ra798iplvj2ymql3zppxqqdq25m";
+      name = "qtsensors-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtserialbus = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtserialbus-everywhere-src-5.12.9.tar.xz";
-      sha256 = "08b16363a47f9b41f87e3b7cf63eaed2435bb6b7e27775c9717ff863e56141ed";
-      name = "qtserialbus-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtserialbus-everywhere-src-5.12.10.tar.xz";
+      sha256 = "0zd0crs2nrsvncj070fl05g0nm3j5bf16g54c7m9603b6q7bryrx";
+      name = "qtserialbus-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtserialport = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtserialport-everywhere-src-5.12.9.tar.xz";
-      sha256 = "24a10b65b03fc598acd30f4a52b0b71218e9c03ec4bb31a4ca50aae1b52a986d";
-      name = "qtserialport-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtserialport-everywhere-src-5.12.10.tar.xz";
+      sha256 = "0anndf6pyssiygj0kk2j80vwil2z0765gccs87djhsni1xvk3n9r";
+      name = "qtserialport-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtspeech = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtspeech-everywhere-src-5.12.9.tar.xz";
-      sha256 = "2efdaf5f49d2fad4a6c4cde12dfee2ff2c66ab4298f22d6c203ecd6019186847";
-      name = "qtspeech-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtspeech-everywhere-src-5.12.10.tar.xz";
+      sha256 = "11fycm604r1xswb9dg1g568jxd68zd9m2dzfy4qda6sr4mdaj6jg";
+      name = "qtspeech-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtsvg = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtsvg-everywhere-src-5.12.9.tar.xz";
-      sha256 = "32ec251e411d31734b873dd82fd68b6a3142227fdf06fe6ad879f16997fb98d2";
-      name = "qtsvg-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtsvg-everywhere-src-5.12.10.tar.xz";
+      sha256 = "0jrkz8y225g93pznsvc1icanxxc5cfm23ic2y6rprqaqw77z9zxm";
+      name = "qtsvg-everywhere-src-5.12.10.tar.xz";
     };
   };
   qttools = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qttools-everywhere-src-5.12.9.tar.xz";
-      sha256 = "002dc23410a9d1af6f1cfc696ee18fd3baeddbbfeb9758ddb04bbdb17b2fffdf";
-      name = "qttools-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qttools-everywhere-src-5.12.10.tar.xz";
+      sha256 = "0v339a1w3kqvfl8hcds032g8zafp8d4c1b2rzihpq6y4mbksdkxh";
+      name = "qttools-everywhere-src-5.12.10.tar.xz";
     };
   };
   qttranslations = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qttranslations-everywhere-src-5.12.9.tar.xz";
-      sha256 = "50bd3a329e86f14af05ef0dbef94c7a6cd6c1f89ca4d008088a44ba76e6ecf40";
-      name = "qttranslations-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qttranslations-everywhere-src-5.12.10.tar.xz";
+      sha256 = "1pjkkkkjvs9harz70sir67yf3i528vyn1shmi09hlzlb23nmipp1";
+      name = "qttranslations-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtvirtualkeyboard = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtvirtualkeyboard-everywhere-src-5.12.9.tar.xz";
-      sha256 = "7598ee3312a2f4e72edf363c16c506740a8b91c5c06544da068a3c0d73f7f807";
-      name = "qtvirtualkeyboard-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtvirtualkeyboard-everywhere-src-5.12.10.tar.xz";
+      sha256 = "0afw3lj5cg3zj0hzxlhz5l7s1j2y491yxwylc4vchbqjpyvsadgg";
+      name = "qtvirtualkeyboard-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtwayland = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtwayland-everywhere-src-5.12.9.tar.xz";
-      sha256 = "6f416948a98586b9c13c46b36be5ac6bb96a1dde9f50123b5e6dcdd102e9d77e";
-      name = "qtwayland-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtwayland-everywhere-src-5.12.10.tar.xz";
+      sha256 = "1bs61xmc4l03w21wkrxx0llfg5bbnq5ij7w0bnfkx3rk0vncy0q6";
+      name = "qtwayland-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtwebchannel = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtwebchannel-everywhere-src-5.12.9.tar.xz";
-      sha256 = "d55a06a0929c86664496e1113e74425d56d175916acd8abbb95c371eb16b43eb";
-      name = "qtwebchannel-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtwebchannel-everywhere-src-5.12.10.tar.xz";
+      sha256 = "1jmprqgavqwknnnl6qp0psxz7bc69ivxhm7y4qci95vpx9k5yjg8";
+      name = "qtwebchannel-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtwebengine = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtwebengine-everywhere-src-5.12.9.tar.xz";
-      sha256 = "27a9a19e4deb5e7a0fabc13e38fe5a8818730c92f6a343b9084aa17977468e25";
-      name = "qtwebengine-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtwebengine-everywhere-src-5.12.10.tar.xz";
+      sha256 = "16zbyfc7qy9f20anfrdi25f6nf1j7zw8kps60mqb18nfjw411d50";
+      name = "qtwebengine-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtwebglplugin = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtwebglplugin-everywhere-src-5.12.9.tar.xz";
-      sha256 = "cb7ba4cb66900e5d4315809e2b5ad3e4e381d576a14f6224f8ea58373f997c42";
-      name = "qtwebglplugin-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtwebglplugin-everywhere-src-5.12.10.tar.xz";
+      sha256 = "0nhim67rl9dbshnarismnd54qzks8v14a08h8qi7x0dm9bj9ij7q";
+      name = "qtwebglplugin-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtwebsockets = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtwebsockets-everywhere-src-5.12.9.tar.xz";
-      sha256 = "08a92c36d52b4d93a539a950698bb2912ea36055015d421f874bf672637f21ef";
-      name = "qtwebsockets-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtwebsockets-everywhere-src-5.12.10.tar.xz";
+      sha256 = "0p74ds53d3a30i7pq85b9ql9i4z1p0yyanhmaizw2bv9225py4jr";
+      name = "qtwebsockets-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtwebview = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtwebview-everywhere-src-5.12.9.tar.xz";
-      sha256 = "3e0506411d101cc08232946bcacef2fb90884c27eb91eeb97a1a68ed3788a7b6";
-      name = "qtwebview-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtwebview-everywhere-src-5.12.10.tar.xz";
+      sha256 = "07pz7wfhyijfdlxnaqpn4hwgvpglma6dfmkcb8xw6hfhg30riaxd";
+      name = "qtwebview-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtwinextras = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtwinextras-everywhere-src-5.12.9.tar.xz";
-      sha256 = "7bab5053197148a5e1609cab12331e4a3f2e1a86bcbde137948330b288803754";
-      name = "qtwinextras-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtwinextras-everywhere-src-5.12.10.tar.xz";
+      sha256 = "1x5k0z0p94zppqsw2fz8ki9v5abf0crzva16wllznn89ylqjyn0j";
+      name = "qtwinextras-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtx11extras = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtx11extras-everywhere-src-5.12.9.tar.xz";
-      sha256 = "09432392641b56205cbcda6be89d0835bfecad64ad61713a414b951b740c9cec";
-      name = "qtx11extras-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtx11extras-everywhere-src-5.12.10.tar.xz";
+      sha256 = "0xk10iynkfs31vgpadrmw30k4s1hlnggxy2f3q988qyqd37dh5h8";
+      name = "qtx11extras-everywhere-src-5.12.10.tar.xz";
     };
   };
   qtxmlpatterns = {
-    version = "5.12.9";
+    version = "5.12.10";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.9/submodules/qtxmlpatterns-everywhere-src-5.12.9.tar.xz";
-      sha256 = "8d0e92fce6b4cbe7f1ecd1e90f6c7d71681b9b8870a577c0b18cadd93b8713b2";
-      name = "qtxmlpatterns-everywhere-src-5.12.9.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.10/submodules/qtxmlpatterns-everywhere-src-5.12.10.tar.xz";
+      sha256 = "1qg09yxagz36sry03kv3swwfjc8lrik1asjk2lxlpzzcl2q95lbv";
+      name = "qtxmlpatterns-everywhere-src-5.12.10.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/qt-5/5.14/default.nix b/pkgs/development/libraries/qt-5/5.14/default.nix
index 14b99fab4e279..45cf6209ea08a 100644
--- a/pkgs/development/libraries/qt-5/5.14/default.nix
+++ b/pkgs/development/libraries/qt-5/5.14/default.nix
@@ -112,6 +112,7 @@ let
         sha256 = "0h8ymfnwgkjkwaankr3iifiscsvngqpwb91yygndx344qdiw9y0n";
       })
       ./qtwebkit.patch
+      ./qtwebkit-icu68.patch
     ] ++ optionals stdenv.isDarwin [
       ./qtwebkit-darwin-no-readline.patch
       ./qtwebkit-darwin-no-qos-classes.patch
@@ -149,7 +150,7 @@ let
         patches = patches.qtbase;
         inherit bison cups harfbuzz libGL;
         withGtk3 = true; inherit dconf gtk3;
-        inherit developerBuild decryptSslTraffic;
+        inherit debug developerBuild decryptSslTraffic;
       };
 
       qtcharts = callPackage ../modules/qtcharts.nix {};
@@ -199,6 +200,7 @@ let
       qmake = makeSetupHook {
         deps = [ self.qtbase.dev ];
         substitutions = {
+          inherit debug;
           fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh;
         };
       } ../hooks/qmake-hook.sh;
diff --git a/pkgs/development/libraries/qt-5/5.14/qtwebkit-icu68.patch b/pkgs/development/libraries/qt-5/5.14/qtwebkit-icu68.patch
new file mode 100644
index 0000000000000..73463d7567a3a
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.14/qtwebkit-icu68.patch
@@ -0,0 +1,170 @@
+Regressed by https://github.com/unicode-org/icu/commit/c3fe7e09d844
+
+In file included from Source/WebCore/platform/text/TextAllInOne.cpp:31:
+Source/WebCore/platform/text/TextCodecICU.cpp:311:42: error: use of undeclared identifier 'TRUE'
+        ucnv_setFallback(m_converterICU, TRUE);
+                                         ^
+In file included from Source/WebCore/platform/text/TextAllInOne.cpp:40:
+In file included from Source/WebCore/platform/text/icu/UTextProvider.cpp:27:
+Source/WebCore/platform/text/icu/UTextProvider.h:83:28: error: use of undeclared identifier 'TRUE'
+            isAccessible = TRUE;
+                           ^
+Source/WebCore/platform/text/icu/UTextProvider.h:88:28: error: use of undeclared identifier 'FALSE'
+            isAccessible = FALSE;
+                           ^
+Source/WebCore/platform/text/icu/UTextProvider.h:97:28: error: use of undeclared identifier 'TRUE'
+            isAccessible = TRUE;
+                           ^
+Source/WebCore/platform/text/icu/UTextProvider.h:102:28: error: use of undeclared identifier 'FALSE'
+            isAccessible = FALSE;
+                           ^
+In file included from Source/WebCore/platform/text/TextAllInOne.cpp:41:
+Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:103:20: error: use of undeclared identifier 'TRUE'
+            return TRUE;
+                   ^
+Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:108:20: error: use of undeclared identifier 'FALSE'
+            return FALSE;
+                   ^
+Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:114:20: error: use of undeclared identifier 'TRUE'
+            return TRUE;
+                   ^
+Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:119:20: error: use of undeclared identifier 'FALSE'
+            return FALSE;
+                   ^
+Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:147:12: error: use of undeclared identifier 'TRUE'
+    return TRUE;
+           ^
+Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:339:16: error: use of undeclared identifier 'FALSE'
+        return FALSE;
+               ^
+Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:359:12: error: use of undeclared identifier 'TRUE'
+    return TRUE;
+           ^
+In file included from Source/WebCore/platform/text/TextAllInOne.cpp:42:
+Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp:128:16: error: use of undeclared identifier 'FALSE'
+        return FALSE;
+               ^
+Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp:148:12: error: use of undeclared identifier 'TRUE'
+    return TRUE;
+           ^
+
+--- a/Source/WebCore/platform/text/TextCodecICU.cpp
++++ b/Source/WebCore/platform/text/TextCodecICU.cpp
+@@ -308,7 +308,7 @@ void TextCodecICU::createICUConverter() const
+     m_converterICU = ucnv_open(m_canonicalConverterName, &err);
+     ASSERT(U_SUCCESS(err));
+     if (m_converterICU)
+-        ucnv_setFallback(m_converterICU, TRUE);
++        ucnv_setFallback(m_converterICU, true);
+ }
+ 
+ int TextCodecICU::decodeToBuffer(UChar* target, UChar* targetLimit, const char*& source, const char* sourceLimit, int32_t* offsets, bool flush, UErrorCode& err)
+--- a/Source/WebCore/platform/text/icu/UTextProvider.h
++++ b/Source/WebCore/platform/text/icu/UTextProvider.h
+@@ -80,12 +80,12 @@ inline bool uTextAccessInChunkOrOutOfRange(UText* text
+             // Ensure chunk offset is well formed if computed offset exceeds int32_t range.
+             ASSERT(offset < std::numeric_limits<int32_t>::max());
+             text->chunkOffset = offset < std::numeric_limits<int32_t>::max() ? static_cast<int32_t>(offset) : 0;
+-            isAccessible = TRUE;
++            isAccessible = true;
+             return true;
+         }
+         if (nativeIndex >= nativeLength && text->chunkNativeLimit == nativeLength) {
+             text->chunkOffset = text->chunkLength;
+-            isAccessible = FALSE;
++            isAccessible = false;
+             return true;
+         }
+     } else {
+@@ -94,12 +94,12 @@ inline bool uTextAccessInChunkOrOutOfRange(UText* text
+             // Ensure chunk offset is well formed if computed offset exceeds int32_t range.
+             ASSERT(offset < std::numeric_limits<int32_t>::max());
+             text->chunkOffset = offset < std::numeric_limits<int32_t>::max() ? static_cast<int32_t>(offset) : 0;
+-            isAccessible = TRUE;
++            isAccessible = true;
+             return true;
+         }
+         if (nativeIndex <= 0 && !text->chunkNativeStart) {
+             text->chunkOffset = 0;
+-            isAccessible = FALSE;
++            isAccessible = false;
+             return true;
+         }
+     }
+--- a/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp
++++ b/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp
+@@ -100,23 +100,23 @@ static UBool uTextLatin1Access(UText* uText, int64_t i
+         if (index < uText->chunkNativeLimit && index >= uText->chunkNativeStart) {
+             // Already inside the buffer. Set the new offset.
+             uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart);
+-            return TRUE;
++            return true;
+         }
+         if (index >= length && uText->chunkNativeLimit == length) {
+             // Off the end of the buffer, but we can't get it.
+             uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart);
+-            return FALSE;
++            return false;
+         }
+     } else {
+         if (index <= uText->chunkNativeLimit && index > uText->chunkNativeStart) {
+             // Already inside the buffer. Set the new offset.
+             uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart);
+-            return TRUE;
++            return true;
+         }
+         if (!index && !uText->chunkNativeStart) {
+             // Already at the beginning; can't go any farther.
+             uText->chunkOffset = 0;
+-            return FALSE;
++            return false;
+         }
+     }
+     
+@@ -144,7 +144,7 @@ static UBool uTextLatin1Access(UText* uText, int64_t i
+ 
+     uText->nativeIndexingLimit = uText->chunkLength;
+ 
+-    return TRUE;
++    return true;
+ }
+ 
+ static int32_t uTextLatin1Extract(UText* uText, int64_t start, int64_t limit, UChar* dest, int32_t destCapacity, UErrorCode* status)
+@@ -336,7 +336,7 @@ static int64_t uTextLatin1ContextAwareNativeLength(UTe
+ static UBool uTextLatin1ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward)
+ {
+     if (!text->context)
+-        return FALSE;
++        return false;
+     int64_t nativeLength = uTextLatin1ContextAwareNativeLength(text);
+     UBool isAccessible;
+     if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible))
+@@ -356,7 +356,7 @@ static UBool uTextLatin1ContextAwareAccess(UText* text
+         ASSERT(newContext == UTextProviderContext::PriorContext);
+         textLatin1ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward);
+     }
+-    return TRUE;
++    return true;
+ }
+ 
+ static int32_t uTextLatin1ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode)
+--- a/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp
++++ b/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp
+@@ -125,7 +125,7 @@ static inline int64_t uTextUTF16ContextAwareNativeLeng
+ static UBool uTextUTF16ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward)
+ {
+     if (!text->context)
+-        return FALSE;
++        return false;
+     int64_t nativeLength = uTextUTF16ContextAwareNativeLength(text);
+     UBool isAccessible;
+     if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible))
+@@ -145,7 +145,7 @@ static UBool uTextUTF16ContextAwareAccess(UText* text,
+         ASSERT(newContext == UTextProviderContext::PriorContext);
+         textUTF16ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward);
+     }
+-    return TRUE;
++    return true;
+ }
+ 
+ static int32_t uTextUTF16ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode)
diff --git a/pkgs/development/libraries/qt-5/5.15/default.nix b/pkgs/development/libraries/qt-5/5.15/default.nix
index 6b7f21c86e90b..fdb68d89bc35a 100644
--- a/pkgs/development/libraries/qt-5/5.15/default.nix
+++ b/pkgs/development/libraries/qt-5/5.15/default.nix
@@ -84,7 +84,10 @@ let
     qtscript = [ ./qtscript.patch ];
     qtserialport = [ ./qtserialport.patch ];
     qtwebengine = [ ]
-      ++ optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch;
+      ++ optionals stdenv.isDarwin [
+        ./qtwebengine-darwin-no-platform-check.patch
+        ./qtwebengine-mac-dont-set-dsymutil-path.patch
+      ];
     qtwebkit = [
       (fetchpatch {
         name = "qtwebkit-bison-3.7-build.patch";
@@ -92,6 +95,7 @@ let
         sha256 = "0h8ymfnwgkjkwaankr3iifiscsvngqpwb91yygndx344qdiw9y0n";
       })
       ./qtwebkit.patch
+      ./qtwebkit-icu68.patch
     ] ++ optionals stdenv.isDarwin [
       ./qtwebkit-darwin-no-readline.patch
       ./qtwebkit-darwin-no-qos-classes.patch
@@ -179,6 +183,7 @@ let
       qmake = makeSetupHook {
         deps = [ self.qtbase.dev ];
         substitutions = {
+          inherit debug;
           fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh;
         };
       } ../hooks/qmake-hook.sh;
diff --git a/pkgs/development/libraries/qt-5/5.15/qtwebengine-darwin-no-platform-check.patch b/pkgs/development/libraries/qt-5/5.15/qtwebengine-darwin-no-platform-check.patch
index 546e753144d06..44df092992514 100644
--- a/pkgs/development/libraries/qt-5/5.15/qtwebengine-darwin-no-platform-check.patch
+++ b/pkgs/development/libraries/qt-5/5.15/qtwebengine-darwin-no-platform-check.patch
@@ -1,27 +1,31 @@
-diff --git a/mkspecs/features/platform.prf b/mkspecs/features/platform.prf
---- a/mkspecs/features/platform.prf
-+++ b/mkspecs/features/platform.prf
-@@ -40,8 +40,6 @@ defineTest(isPlatformSupported) {
-   } else:osx {
-     # FIXME: Try to get it back down to 8.2 for building on OS X 10.11
-     !isMinXcodeVersion(8, 3, 3) {
--      skipBuild("Using Xcode version $$QMAKE_XCODE_VERSION, but at least version 8.3.3 is required to build Qt WebEngine.")
--      return(false)
+diff a/configure.pri b/configure.pri
+--- a/configure.pri
++++ b/configure.pri
+@@ -439,8 +439,6 @@ defineTest(qtwebengine_isWindowsPlatformSupported) {
+ 
+ defineTest(qtwebengine_isMacOsPlatformSupported) {
+     !qtwebengine_isMinXcodeVersion(10, 0, 0) {
+-        qtwebengine_platformError("requires at least version 10.0.0, but using Xcode version $${QMAKE_XCODE_VERSION}.")
+-        return(false)
      }
      !clang|intel_icc {
-         skipBuild("Qt WebEngine on macOS requires Clang.")
-@@ -54,8 +52,6 @@ defineTest(isPlatformSupported) {
-       return(false)
+         qtwebengine_platformError("requires Clang.")
+@@ -449,12 +447,6 @@ defineTest(qtwebengine_isMacOsPlatformSupported) {
+     # We require macOS 10.13 (darwin version 17.0.0) or newer.
+     darwin_major_version = $$section(QMAKE_HOST.version, ., 0, 0)
+     lessThan(darwin_major_version, 17) {
+-        qtwebengine_platformError("requires macOS version 10.13 or newer.")
+-        return(false)
+-    }
+-    !qtwebengine_isMinOSXSDKVersion(10, 13): {
+-        qtwebengine_platformError("requires a macOS SDK version of 10.13 or newer. Current version is $${WEBENGINE_OSX_SDK_PRODUCT_VERSION}.")
+-        return(false)
      }
-     !isMinOSXSDKVersion(10, 12): {
--      skipBuild("Building Qt WebEngine requires a macOS SDK version of 10.12 or newer. Current version is $${WEBENGINE_OSX_SDK_PRODUCT_VERSION}.")
--      return(false)
-     }
-   } else {
-     skipBuild("Unknown platform. Qt WebEngine only supports Linux, Windows, and macOS.")
-diff --git a/src/core/config/mac_osx.pri b/src/core/config/mac_osx.pri
---- a/src/core/config/mac_osx.pri
-+++ b/src/core/config/mac_osx.pri
+     return(true)
+ }
+diff a/src/buildtools/config/mac_osx.pri b/src/buildtools/config/mac_osx.pri
+--- a/src/buildtools/config/mac_osx.pri
++++ b/src/buildtools/config/mac_osx.pri
 @@ -5,8 +5,6 @@ load(functions)
  # otherwise query for it.
  QMAKE_MAC_SDK_VERSION = $$eval(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.SDKVersion)
@@ -29,5 +33,5 @@ diff --git a/src/core/config/mac_osx.pri b/src/core/config/mac_osx.pri
 -     QMAKE_MAC_SDK_VERSION = $$system("/usr/bin/xcodebuild -sdk $${QMAKE_MAC_SDK} -version SDKVersion 2>/dev/null")
 -     isEmpty(QMAKE_MAC_SDK_VERSION): error("Could not resolve SDK version for \'$${QMAKE_MAC_SDK}\'")
  }
-
- QMAKE_CLANG_DIR = "/usr"
+ 
+ # chromium/build/mac/find_sdk.py expects the SDK version (mac_sdk_min) in Major.Minor format.
diff --git a/pkgs/development/libraries/qt-5/5.15/qtwebengine-mac-dont-set-dsymutil-path.patch b/pkgs/development/libraries/qt-5/5.15/qtwebengine-mac-dont-set-dsymutil-path.patch
new file mode 100644
index 0000000000000..dcdf5f57ffdc4
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.15/qtwebengine-mac-dont-set-dsymutil-path.patch
@@ -0,0 +1,12 @@
+diff a/src/3rdparty/chromium/build/toolchain/mac/BUILD.gn b/src/3rdparty/chromium/build/toolchain/mac/BUILD.gn
+--- a/src/3rdparty/chromium/build/toolchain/mac/BUILD.gn
++++ b/src/3rdparty/chromium/build/toolchain/mac/BUILD.gn
+@@ -184,8 +184,6 @@ template("mac_toolchain") {
+     # If dSYMs are enabled, this flag will be added to the link tools.
+     if (_enable_dsyms) {
+       dsym_switch = " -Wcrl,dsym,{{root_out_dir}} "
+-      dsym_switch += "-Wcrl,dsymutilpath," +
+-                     "${prefix}dsymutil" + " "
+ 
+       dsym_output_dir =
+           "{{root_out_dir}}/{{target_output_name}}{{output_extension}}.dSYM"
diff --git a/pkgs/development/libraries/qt-5/5.15/qtwebkit-icu68.patch b/pkgs/development/libraries/qt-5/5.15/qtwebkit-icu68.patch
new file mode 100644
index 0000000000000..73463d7567a3a
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.15/qtwebkit-icu68.patch
@@ -0,0 +1,170 @@
+Regressed by https://github.com/unicode-org/icu/commit/c3fe7e09d844
+
+In file included from Source/WebCore/platform/text/TextAllInOne.cpp:31:
+Source/WebCore/platform/text/TextCodecICU.cpp:311:42: error: use of undeclared identifier 'TRUE'
+        ucnv_setFallback(m_converterICU, TRUE);
+                                         ^
+In file included from Source/WebCore/platform/text/TextAllInOne.cpp:40:
+In file included from Source/WebCore/platform/text/icu/UTextProvider.cpp:27:
+Source/WebCore/platform/text/icu/UTextProvider.h:83:28: error: use of undeclared identifier 'TRUE'
+            isAccessible = TRUE;
+                           ^
+Source/WebCore/platform/text/icu/UTextProvider.h:88:28: error: use of undeclared identifier 'FALSE'
+            isAccessible = FALSE;
+                           ^
+Source/WebCore/platform/text/icu/UTextProvider.h:97:28: error: use of undeclared identifier 'TRUE'
+            isAccessible = TRUE;
+                           ^
+Source/WebCore/platform/text/icu/UTextProvider.h:102:28: error: use of undeclared identifier 'FALSE'
+            isAccessible = FALSE;
+                           ^
+In file included from Source/WebCore/platform/text/TextAllInOne.cpp:41:
+Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:103:20: error: use of undeclared identifier 'TRUE'
+            return TRUE;
+                   ^
+Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:108:20: error: use of undeclared identifier 'FALSE'
+            return FALSE;
+                   ^
+Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:114:20: error: use of undeclared identifier 'TRUE'
+            return TRUE;
+                   ^
+Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:119:20: error: use of undeclared identifier 'FALSE'
+            return FALSE;
+                   ^
+Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:147:12: error: use of undeclared identifier 'TRUE'
+    return TRUE;
+           ^
+Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:339:16: error: use of undeclared identifier 'FALSE'
+        return FALSE;
+               ^
+Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:359:12: error: use of undeclared identifier 'TRUE'
+    return TRUE;
+           ^
+In file included from Source/WebCore/platform/text/TextAllInOne.cpp:42:
+Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp:128:16: error: use of undeclared identifier 'FALSE'
+        return FALSE;
+               ^
+Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp:148:12: error: use of undeclared identifier 'TRUE'
+    return TRUE;
+           ^
+
+--- a/Source/WebCore/platform/text/TextCodecICU.cpp
++++ b/Source/WebCore/platform/text/TextCodecICU.cpp
+@@ -308,7 +308,7 @@ void TextCodecICU::createICUConverter() const
+     m_converterICU = ucnv_open(m_canonicalConverterName, &err);
+     ASSERT(U_SUCCESS(err));
+     if (m_converterICU)
+-        ucnv_setFallback(m_converterICU, TRUE);
++        ucnv_setFallback(m_converterICU, true);
+ }
+ 
+ int TextCodecICU::decodeToBuffer(UChar* target, UChar* targetLimit, const char*& source, const char* sourceLimit, int32_t* offsets, bool flush, UErrorCode& err)
+--- a/Source/WebCore/platform/text/icu/UTextProvider.h
++++ b/Source/WebCore/platform/text/icu/UTextProvider.h
+@@ -80,12 +80,12 @@ inline bool uTextAccessInChunkOrOutOfRange(UText* text
+             // Ensure chunk offset is well formed if computed offset exceeds int32_t range.
+             ASSERT(offset < std::numeric_limits<int32_t>::max());
+             text->chunkOffset = offset < std::numeric_limits<int32_t>::max() ? static_cast<int32_t>(offset) : 0;
+-            isAccessible = TRUE;
++            isAccessible = true;
+             return true;
+         }
+         if (nativeIndex >= nativeLength && text->chunkNativeLimit == nativeLength) {
+             text->chunkOffset = text->chunkLength;
+-            isAccessible = FALSE;
++            isAccessible = false;
+             return true;
+         }
+     } else {
+@@ -94,12 +94,12 @@ inline bool uTextAccessInChunkOrOutOfRange(UText* text
+             // Ensure chunk offset is well formed if computed offset exceeds int32_t range.
+             ASSERT(offset < std::numeric_limits<int32_t>::max());
+             text->chunkOffset = offset < std::numeric_limits<int32_t>::max() ? static_cast<int32_t>(offset) : 0;
+-            isAccessible = TRUE;
++            isAccessible = true;
+             return true;
+         }
+         if (nativeIndex <= 0 && !text->chunkNativeStart) {
+             text->chunkOffset = 0;
+-            isAccessible = FALSE;
++            isAccessible = false;
+             return true;
+         }
+     }
+--- a/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp
++++ b/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp
+@@ -100,23 +100,23 @@ static UBool uTextLatin1Access(UText* uText, int64_t i
+         if (index < uText->chunkNativeLimit && index >= uText->chunkNativeStart) {
+             // Already inside the buffer. Set the new offset.
+             uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart);
+-            return TRUE;
++            return true;
+         }
+         if (index >= length && uText->chunkNativeLimit == length) {
+             // Off the end of the buffer, but we can't get it.
+             uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart);
+-            return FALSE;
++            return false;
+         }
+     } else {
+         if (index <= uText->chunkNativeLimit && index > uText->chunkNativeStart) {
+             // Already inside the buffer. Set the new offset.
+             uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart);
+-            return TRUE;
++            return true;
+         }
+         if (!index && !uText->chunkNativeStart) {
+             // Already at the beginning; can't go any farther.
+             uText->chunkOffset = 0;
+-            return FALSE;
++            return false;
+         }
+     }
+     
+@@ -144,7 +144,7 @@ static UBool uTextLatin1Access(UText* uText, int64_t i
+ 
+     uText->nativeIndexingLimit = uText->chunkLength;
+ 
+-    return TRUE;
++    return true;
+ }
+ 
+ static int32_t uTextLatin1Extract(UText* uText, int64_t start, int64_t limit, UChar* dest, int32_t destCapacity, UErrorCode* status)
+@@ -336,7 +336,7 @@ static int64_t uTextLatin1ContextAwareNativeLength(UTe
+ static UBool uTextLatin1ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward)
+ {
+     if (!text->context)
+-        return FALSE;
++        return false;
+     int64_t nativeLength = uTextLatin1ContextAwareNativeLength(text);
+     UBool isAccessible;
+     if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible))
+@@ -356,7 +356,7 @@ static UBool uTextLatin1ContextAwareAccess(UText* text
+         ASSERT(newContext == UTextProviderContext::PriorContext);
+         textLatin1ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward);
+     }
+-    return TRUE;
++    return true;
+ }
+ 
+ static int32_t uTextLatin1ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode)
+--- a/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp
++++ b/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp
+@@ -125,7 +125,7 @@ static inline int64_t uTextUTF16ContextAwareNativeLeng
+ static UBool uTextUTF16ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward)
+ {
+     if (!text->context)
+-        return FALSE;
++        return false;
+     int64_t nativeLength = uTextUTF16ContextAwareNativeLength(text);
+     UBool isAccessible;
+     if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible))
+@@ -145,7 +145,7 @@ static UBool uTextUTF16ContextAwareAccess(UText* text,
+         ASSERT(newContext == UTextProviderContext::PriorContext);
+         textUTF16ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward);
+     }
+-    return TRUE;
++    return true;
+ }
+ 
+ static int32_t uTextUTF16ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode)
diff --git a/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh b/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh
index 7f6ddb76ad571..741225a5aa810 100644
--- a/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh
+++ b/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh
@@ -3,6 +3,9 @@
 qmakeFlags=( ${qmakeFlags-} )
 
 qmakePrePhase() {
+    qmakeFlags_orig=( "${qmakeFlags[@]}" )
+
+    # These flags must be added _before_ the flags specified in the derivation.
     qmakeFlags=( \
         "PREFIX=$out" \
         "NIX_OUTPUT_OUT=$out" \
@@ -11,8 +14,15 @@ qmakePrePhase() {
         "NIX_OUTPUT_DOC=${!outputDev}/${qtDocPrefix:?}" \
         "NIX_OUTPUT_QML=${!outputBin}/${qtQmlPrefix:?}" \
         "NIX_OUTPUT_PLUGIN=${!outputBin}/${qtPluginPrefix:?}" \
-        "${qmakeFlags[@]}" \
     )
+
+    if [ -n "@debug@" ]; then
+        qmakeFlags+=( "CONFIG+=debug" )
+    else
+        qmakeFlags+=( "CONFIG+=release" )
+    fi
+
+    qmakeFlags+=( "${qmakeFlags_orig[@]}" )
 }
 prePhases+=" qmakePrePhase"
 
diff --git a/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh b/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh
index 9f2a9f06f1aba..1b57d676e1fc5 100644
--- a/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh
+++ b/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh
@@ -1,3 +1,14 @@
+if [[ -n "${__nix_qtbase-}" ]]; then
+    # Throw an error if a different version of Qt was already set up.
+    if [[ "$__nix_qtbase" != "@dev@" ]]; then
+        echo >&2 "Error: detected mismatched Qt dependencies:"
+        echo >&2 "    @dev@"
+        echo >&2 "    $__nix_qtbase"
+        exit 1
+    fi
+else # Only set up Qt once.
+__nix_qtbase="@dev@"
+
 qtPluginPrefix=@qtPluginPrefix@
 qtQmlPrefix=@qtQmlPrefix@
 qtDocPrefix=@qtDocPrefix@
@@ -5,6 +16,20 @@ qtDocPrefix=@qtDocPrefix@
 . @fix_qt_builtin_paths@
 . @fix_qt_module_paths@
 
+# Disable debug symbols if qtbase was built without debugging.
+# This stops -dev paths from leaking into other outputs.
+if [ -z "@debug@" ]; then
+    NIX_CFLAGS_COMPILE="${NIX_CFLAGS_COMPILE-}${NIX_CFLAGS_COMPILE:+ }-DQT_NO_DEBUG"
+fi
+
+# Integration with CMake:
+# Set the CMake build type corresponding to how qtbase was built.
+if [ -n "@debug@" ]; then
+    cmakeBuildType="Debug"
+else
+    cmakeBuildType="Release"
+fi
+
 providesQtRuntime() {
     [ -d "$1/$qtPluginPrefix" ] || [ -d "$1/$qtQmlPrefix" ]
 }
@@ -19,7 +44,12 @@ export QMAKEPATH
 QMAKEMODULES=
 export QMAKEMODULES
 
+declare -Ag qmakePathSeen=()
 qmakePathHook() {
+    # Skip this path if we have seen it before.
+    # MUST use 'if' because 'qmakePathSeen[$]' may be unset.
+    if [ -n "${qmakePathSeen[$1]-}" ]; then return; fi
+    qmakePathSeen[$1]=1
     if [ -d "$1/mkspecs" ]
     then
         QMAKEMODULES="${QMAKEMODULES}${QMAKEMODULES:+:}/mkspecs"
@@ -34,7 +64,12 @@ envBuildHostHooks+=(qmakePathHook)
 # package depending on the building package. (This is necessary in case
 # the building package does not provide runtime dependencies itself and so
 # would not be propagated to the user environment.)
+declare -Ag qtEnvHostTargetSeen=()
 qtEnvHostTargetHook() {
+    # Skip this path if we have seen it before.
+    # MUST use 'if' because 'qmakePathSeen[$]' may be unset.
+    if [ -n "${qtEnvHostTargetSeen[$1]-}" ]; then return; fi
+    qtEnvHostTargetSeen[$1]=1
     if providesQtRuntime "$1" && [ "z${!outputBin}" != "z${!outputDev}" ]
     then
         propagatedBuildInputs+=" $1"
@@ -64,3 +99,14 @@ postPatchMkspecs() {
 if [ -z "${dontPatchMkspecs-}" ]; then
     postPhases="${postPhases-}${postPhases:+ }postPatchMkspecs"
 fi
+
+qtPreHook() {
+    # Check that wrapQtAppsHook is used, or it is explicitly disabled.
+    if [[ -z "$__nix_wrapQtAppsHook" && -z "$dontWrapQtApps" ]]; then
+        echo >&2 "Error: wrapQtAppsHook is not used, and dontWrapQtApps is not set."
+        exit 1
+    fi
+}
+prePhases+=" qtPreHook"
+
+fi
diff --git a/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh b/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh
index 7356c8ee35605..ce4d78fbb50f1 100644
--- a/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh
+++ b/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh
@@ -1,3 +1,6 @@
+if [[ -z "${__nix_wrapQtAppsHook-}" ]]; then
+__nix_wrapQtAppsHook=1  # Don't run this hook more than once.
+
 # Inherit arguments given in mkDerivation
 qtWrapperArgs=( ${qtWrapperArgs-} )
 
@@ -100,3 +103,5 @@ wrapQtAppsHook() {
 }
 
 fixupOutputHooks+=(wrapQtAppsHook)
+
+fi
diff --git a/pkgs/development/libraries/qt-5/mkDerivation.nix b/pkgs/development/libraries/qt-5/mkDerivation.nix
index 2c6333cb02045..98f9a05fac7c4 100644
--- a/pkgs/development/libraries/qt-5/mkDerivation.nix
+++ b/pkgs/development/libraries/qt-5/mkDerivation.nix
@@ -9,21 +9,6 @@ args:
 let
   args_ = {
 
-    qmakeFlags = [ ("CONFIG+=" + (if debug then "debug" else "release")) ]
-              ++ (args.qmakeFlags or []);
-
-    NIX_CFLAGS_COMPILE = toString (
-      optional (!debug) "-DQT_NO_DEBUG"
-      ++ lib.toList (args.NIX_CFLAGS_COMPILE or []));
-
-    cmakeFlags =
-      (args.cmakeFlags or [])
-      ++ [
-        ("-DCMAKE_BUILD_TYPE=" + (if debug then "Debug" else "Release"))
-      ];
-
-    enableParallelBuilding = args.enableParallelBuilding or true;
-
     nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ wrapQtAppsHook ];
 
   };
diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix
index 24f1d6f81a24b..0d0bef342b02c 100644
--- a/pkgs/development/libraries/qt-5/modules/qtbase.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix
@@ -22,6 +22,7 @@
   libGL,
   buildExamples ? false,
   buildTests ? false,
+  debug ? false,
   developerBuild ? false,
   decryptSslTraffic ? false
 }:
@@ -33,12 +34,14 @@ let
   compareVersion = v: builtins.compareVersions version v;
   qmakeCacheName =
     if compareVersion "5.12.4" < 0 then ".qmake.cache" else ".qmake.stash";
+  debugSymbols = debug || developerBuild;
 in
 
 stdenv.mkDerivation {
 
   name = "qtbase-${version}";
   inherit qtCompatVersion src version;
+  debug = debugSymbols;
 
   propagatedBuildInputs =
     [
@@ -241,6 +244,7 @@ stdenv.mkDerivation {
       "-I" "${icu.dev}/include"
       "-pch"
     ]
+    ++ lib.optional debugSymbols "-debug"
     ++ lib.optionals (compareVersion "5.11.0" < 0)
     [
       "-qml-debug"
@@ -397,6 +401,8 @@ stdenv.mkDerivation {
           -e "/^host_bins=/ c host_bins=$dev/bin"
     '';
 
+  dontStrip = debugSymbols;
+
   setupHook = ../hooks/qtbase-setup-hook.sh;
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
index b79479e5dbab3..9613eed287439 100644
--- a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
@@ -16,6 +16,7 @@
 , cups, darwin, openbsm, runCommand, xcbuild, writeScriptBin
 , ffmpeg_3 ? null
 , lib, stdenv, fetchpatch
+, qtCompatVersion
 }:
 
 with lib;
@@ -66,21 +67,31 @@ qtModule {
       sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \
         src/3rdparty/chromium/gpu/config/gpu_info_collector_linux.cc
     ''
-    + optionalString stdenv.isDarwin (''
+    + optionalString stdenv.isDarwin (
+    (if (lib.versionAtLeast qtCompatVersion "5.14") then ''
+      substituteInPlace src/buildtools/config/mac_osx.pri \
+        --replace 'QMAKE_CLANG_DIR = "/usr"' 'QMAKE_CLANG_DIR = "${stdenv.cc}"'
+    '' else ''
       substituteInPlace src/core/config/mac_osx.pri \
         --replace 'QMAKE_CLANG_DIR = "/usr"' 'QMAKE_CLANG_DIR = "${stdenv.cc}"'
-    ''
+    '')
      # Following is required to prevent a build error:
      # ninja: error: '/nix/store/z8z04p0ph48w22rqzx7ql67gy8cyvidi-SDKs/MacOSX10.12.sdk/usr/include/mach/exc.defs', needed by 'gen/third_party/crashpad/crashpad/util/mach/excUser.c', missing and no known rule to make it
     + ''
       substituteInPlace src/3rdparty/chromium/third_party/crashpad/crashpad/util/BUILD.gn \
         --replace '$sysroot/usr' "${darwin.xnu}"
     ''
-    + ''
     # Apple has some secret stuff they don't share with OpenBSM
+    + (if (lib.versionAtLeast qtCompatVersion "5.14") then ''
+    substituteInPlace src/3rdparty/chromium/base/mac/mach_port_rendezvous.cc \
+      --replace "audit_token_to_pid(request.trailer.msgh_audit)" "request.trailer.msgh_audit.val[5]"
+    substituteInPlace src/3rdparty/chromium/third_party/crashpad/crashpad/util/mach/mach_message.cc \
+      --replace "audit_token_to_pid(audit_trailer->msgh_audit)" "audit_trailer->msgh_audit.val[5]"
+    '' else ''
     substituteInPlace src/3rdparty/chromium/base/mac/mach_port_broker.mm \
       --replace "audit_token_to_pid(msg.trailer.msgh_audit)" "msg.trailer.msgh_audit.val[5]"
-
+    '')
+    + ''
     substituteInPlace src/3rdparty/chromium/sandbox/mac/BUILD.gn \
       --replace 'libs = [ "sandbox" ]' 'libs = [ "/usr/lib/libsandbox.1.dylib" ]'
     '');
@@ -218,6 +229,8 @@ qtModule {
     description = "A web engine based on the Chromium web browser";
     maintainers = with maintainers; [ matthewbauer ];
     platforms = platforms.unix;
+    # This build takes a long time; particularly on slow architectures
+    timeout = 24 * 3600;
   };
 
 }
diff --git a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
index ed41a4ac9bc01..288a0e30f6902 100644
--- a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
@@ -1,10 +1,9 @@
 { qtModule, stdenv, lib, fetchurl
 , qtbase, qtdeclarative, qtlocation, qtmultimedia, qtsensors, qtwebchannel
-, fontconfig, gtk2, libwebp, libxml2, libxslt
+, fontconfig, libwebp, libxml2, libxslt
 , sqlite, systemd, glib, gst_all_1, cmake
 , bison, flex, gdb, gperf, perl, pkg-config, python2, ruby
 , darwin
-, flashplayerFix ? false
 }:
 
 let
@@ -58,12 +57,6 @@ qtModule {
     ++ optional stdenv.cc.isGNU "-Wno-class-memaccess"
     # with clang this warning blows the log over Hydra's limit
     ++ optional stdenv.isDarwin "-Wno-inconsistent-missing-override"
-    ++ optionals flashplayerFix
-      [
-        ''-DNIXPKGS_LIBGTK2="${getLib gtk2}/lib/libgtk-x11-2.0"''
-        # this file used to exist in gdk_pixbuf?
-        ''-DNIXPKGS_LIBGDK2="${getLib gtk2}/lib/libgdk-x11-2.0"''
-      ]
     ++ optional (!stdenv.isDarwin) ''-DNIXPKGS_LIBUDEV="${getLib systemd}/lib/libudev"'';
 
   doCheck = false; # fails 13 out of 13 tests (ctest)
diff --git a/pkgs/development/libraries/qt-5/qtModule.nix b/pkgs/development/libraries/qt-5/qtModule.nix
index 0481f000c6cee..930ed9d67baa1 100644
--- a/pkgs/development/libraries/qt-5/qtModule.nix
+++ b/pkgs/development/libraries/qt-5/qtModule.nix
@@ -34,6 +34,8 @@ mkDerivation (args // {
     fixQtBuiltinPaths . '*.pr?'
   '';
 
+  dontWrapQtApps = args.dontWrapQtApps or true;
+
   postFixup = ''
     if [ -d "''${!outputDev}/lib/pkgconfig" ]; then
         find "''${!outputDev}/lib/pkgconfig" -name '*.pc' | while read pc; do
diff --git a/pkgs/development/libraries/qtinstaller/default.nix b/pkgs/development/libraries/qtinstaller/default.nix
index 91f8537110665..ce69c855ac23f 100644
--- a/pkgs/development/libraries/qtinstaller/default.nix
+++ b/pkgs/development/libraries/qtinstaller/default.nix
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
   setOutputFlags = false;
   enableParallelBuilding = true;
   NIX_QT_SUBMODULE = true;
+  dontWrapQtApps = true;
 
   installPhase = ''
     mkdir -p $out/{bin,lib,share/qt-installer-framework}
diff --git a/pkgs/development/libraries/qtkeychain/default.nix b/pkgs/development/libraries/qtkeychain/default.nix
index 6da4abb756e69..3da0587210d80 100644
--- a/pkgs/development/libraries/qtkeychain/default.nix
+++ b/pkgs/development/libraries/qtkeychain/default.nix
@@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
     sha256 = "0h4wgngn2yl35hapbjs24amkjfbzsvnna4ixfhn87snjnq5lmjbc"; # v0.9.1
   };
 
+  dontWrapQtApps = true;
+
   patches = (if withQt5 then [] else [ ./0001-Fixes-build-with-Qt4.patch ]) ++ (if stdenv.isDarwin then [ ./0002-Fix-install-name-Darwin.patch ] else []);
 
   cmakeFlags = [ "-DQT_TRANSLATIONS_DIR=share/qt/translations" ];
diff --git a/pkgs/development/libraries/qtpbfimageplugin/default.nix b/pkgs/development/libraries/qtpbfimageplugin/default.nix
index 3558201015c6b..9dbc2491ad955 100644
--- a/pkgs/development/libraries/qtpbfimageplugin/default.nix
+++ b/pkgs/development/libraries/qtpbfimageplugin/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ qmake ];
   buildInputs = [ qtbase protobuf ];
 
+  dontWrapQtApps = true;
+
   postPatch = ''
     # Fix plugin dir
     substituteInPlace pbfplugin.pro \
diff --git a/pkgs/development/libraries/qtutilities/default.nix b/pkgs/development/libraries/qtutilities/default.nix
index 831c51fa234dd..f5398d92dfcc7 100644
--- a/pkgs/development/libraries/qtutilities/default.nix
+++ b/pkgs/development/libraries/qtutilities/default.nix
@@ -22,6 +22,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ qtbase cpp-utilities ];
   nativeBuildInputs = [ cmake qttools ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     homepage = "https://github.com/Martchus/qtutilities";
     description = "Common C++ classes and routines used by @Martchus' applications featuring argument parser, IO and conversion utilities";
diff --git a/pkgs/development/libraries/qtwebkit-plugins/default.nix b/pkgs/development/libraries/qtwebkit-plugins/default.nix
index 652c49aa6ca25..5bc30db059e73 100644
--- a/pkgs/development/libraries/qtwebkit-plugins/default.nix
+++ b/pkgs/development/libraries/qtwebkit-plugins/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation {
 
   buildInputs = [ qtwebkit hunspell ];
 
+  dontWrapQtApps = true;
+
   postPatch = ''
     sed -i "s,-lhunspell,-lhunspell-${lib.versions.majorMinor hunspell.version}," src/spellcheck/spellcheck.pri
     sed -i "s,\$\$\[QT_INSTALL_PLUGINS\],$out/$qtPluginPrefix," src/src.pro
diff --git a/pkgs/development/libraries/quazip/default.nix b/pkgs/development/libraries/quazip/default.nix
index 3f186314d0139..a12d6cafe4ae9 100644
--- a/pkgs/development/libraries/quazip/default.nix
+++ b/pkgs/development/libraries/quazip/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ]
     ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "Provides access to ZIP archives from Qt programs";
     license = licenses.lgpl21Plus;
diff --git a/pkgs/development/libraries/qwt/6.nix b/pkgs/development/libraries/qwt/6.nix
index edfd3b4e24a3b..e5fad490f6ed3 100644
--- a/pkgs/development/libraries/qwt/6.nix
+++ b/pkgs/development/libraries/qwt/6.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
 
   qmakeFlags = [ "-after doc.path=$out/share/doc/${name}" ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "Qt widgets for technical applications";
     homepage = "http://qwt.sourceforge.net/";
diff --git a/pkgs/development/libraries/rabbitmq-java-client/default.nix b/pkgs/development/libraries/rabbitmq-java-client/default.nix
index b649b1d9c1136..e5657bcb3c300 100644
--- a/pkgs/development/libraries/rabbitmq-java-client/default.nix
+++ b/pkgs/development/libraries/rabbitmq-java-client/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation {
     sha256 = "03kspkgzzjsbq6f8yl2zj5m30qwgxv3l58hrbf6gcgxb5rpfk6sh";
   };
 
-  buildInputs = [ ant jdk python makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ ant jdk python ];
 
   buildPhase = "ant dist";
 
diff --git a/pkgs/development/libraries/rdkafka/default.nix b/pkgs/development/libraries/rdkafka/default.nix
index a42941cbb6897..7a9818bce97d3 100644
--- a/pkgs/development/libraries/rdkafka/default.nix
+++ b/pkgs/development/libraries/rdkafka/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rdkafka";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "edenhill";
     repo = "librdkafka";
     rev = "v${version}";
-    sha256 = "sha256-VCGR0Q8FcoDLr+CFTk/OLMI4zs87K/IdZS1ANmkeb4s=";
+    sha256 = "sha256-EoNzxwuLiYi6sMhyqD/x+ku6BKA+i5og4XsUy2JBN0U=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/libraries/reproc/default.nix b/pkgs/development/libraries/reproc/default.nix
new file mode 100644
index 0000000000000..6531414601db9
--- /dev/null
+++ b/pkgs/development/libraries/reproc/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, lib, fetchFromGitHub, cmake
+}:
+
+stdenv.mkDerivation rec {
+  pname = "reproc";
+  version = "14.1.0";
+
+  src = fetchFromGitHub {
+    owner = "DaanDeMeyer";
+    repo = "reproc";
+    rev = "v${version}";
+    sha256 = "1n71wb50qv2dmhjgw7azx5gigbrp19l2n3d41g9p05l5l0y1qg0q";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+    "-DBUILD_SHARED_LIBS=ON"
+    "-DREPROC++=ON"
+    "-DREPROC_TEST=ON"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/DaanDeMeyer/reproc";
+    description = "A cross-platform (C99/C++11) process library";
+    license = licenses.mit;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/rinutils/default.nix b/pkgs/development/libraries/rinutils/default.nix
new file mode 100644
index 0000000000000..35e48140fdd35
--- /dev/null
+++ b/pkgs/development/libraries/rinutils/default.nix
@@ -0,0 +1,21 @@
+{
+  stdenv, lib, fetchurl,
+  cmake, perl,
+}:
+
+stdenv.mkDerivation rec {
+  pname = "rinutils";
+  version = "0.8.0";
+
+  meta = with lib; {
+    homepage = "https://github.com/shlomif/rinutils";
+    license = licenses.mit;
+  };
+
+  src = fetchurl {
+    url = "https://github.com/shlomif/${pname}/releases/download/${version}/${pname}-${version}.tar.xz";
+    sha256 = "1q09aihm5m42xiq2prpa9mf0srwiirzgzblkp5nl74i7zg6pg5hx";
+  };
+
+  nativeBuildInputs = [ cmake perl ];
+}
diff --git a/pkgs/development/libraries/rocclr/default.nix b/pkgs/development/libraries/rocclr/default.nix
index 9337680f55c76..278fdecc1a679 100644
--- a/pkgs/development/libraries/rocclr/default.nix
+++ b/pkgs/development/libraries/rocclr/default.nix
@@ -32,11 +32,8 @@ stdenv.mkDerivation rec {
 
   prePatch = ''
     substituteInPlace CMakeLists.txt \
-      --replace 'set(ROCCLR_EXPORTS_FILE "''${CMAKE_CURRENT_BINARY_DIR}/amdrocclr_staticTargets.cmake")' \
-        'set(ROCCLR_EXPORTS_FILE "''${CMAKE_INSTALL_LIBDIR}/cmake/amdrocclr_staticTargets.cmake")' \
       --replace 'set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ''${CMAKE_CURRENT_BINARY_DIR}/lib)' \
-        'set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ''${CMAKE_INSTALL_LIBDIR})' \
-      --replace 'find_library( OpenCL REQUIRED' 'find_library( OpenCL'
+        'set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ''${CMAKE_INSTALL_LIBDIR})'
     substituteInPlace device/comgrctx.cpp \
       --replace "libamd_comgr.so" "${rocm-comgr}/lib/libamd_comgr.so"
   '';
diff --git a/pkgs/development/libraries/rocksdb/default.nix b/pkgs/development/libraries/rocksdb/default.nix
index dea8fcc67597f..e4ee3c473075e 100644
--- a/pkgs/development/libraries/rocksdb/default.nix
+++ b/pkgs/development/libraries/rocksdb/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocksdb";
-  version = "6.15.4";
+  version = "6.15.5";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = pname;
     rev = "v${version}";
-    sha256 = "06lddr6md4ypmywvi6qrrkw97c8ddz0flj43hzx32ia3iq2mw4w5";
+    sha256 = "sha256-o7bi0xcWaH5DXcEJgfY7MxhYfntqhzGoko6EqgrKyY8=";
   };
 
   nativeBuildInputs = [ cmake ninja ];
diff --git a/pkgs/development/libraries/science/math/cudnn/default.nix b/pkgs/development/libraries/science/math/cudnn/default.nix
index d99149c0e965e..b8aac46d91940 100644
--- a/pkgs/development/libraries/science/math/cudnn/default.nix
+++ b/pkgs/development/libraries/science/math/cudnn/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, cudatoolkit_7, cudatoolkit_7_5, cudatoolkit_8, cudatoolkit_9_0, cudatoolkit_9_1, cudatoolkit_9_2, cudatoolkit_10_0, cudatoolkit_10_1, cudatoolkit_10_2, cudatoolkit_11_0 }:
+{ callPackage, cudatoolkit_9_0, cudatoolkit_9_1, cudatoolkit_9_2, cudatoolkit_10_0, cudatoolkit_10_1, cudatoolkit_10_2, cudatoolkit_11_0, cudatoolkit_11_1, cudatoolkit_11_2 }:
 
 let
   generic = args: callPackage (import ./generic.nix (removeAttrs args ["cudatoolkit"])) {
@@ -6,35 +6,6 @@ let
   };
 
 in rec {
-  cudnn_cudatoolkit_7 = generic rec {
-    # Old URL is v4 instead of v4.0 for some reason...
-    version = "4";
-    cudatoolkit = cudatoolkit_7;
-    srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v4.0-prod.tgz";
-    sha256 = "01a4v5j4v9n2xjqcc4m28c3m67qrvsx87npvy7zhx7w8smiif2fd";
-  };
-
-  cudnn_cudatoolkit_7_5 = generic rec {
-    version = "6.0";
-    cudatoolkit = cudatoolkit_7_5;
-    srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v${version}.tgz";
-    sha256 = "0b68hv8pqcvh7z8xlgm4cxr9rfbjs0yvg1xj2n5ap4az1h3lp3an";
-  };
-
-  cudnn6_cudatoolkit_8 = generic rec {
-    version = "6.0";
-    cudatoolkit = cudatoolkit_8;
-    srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v${version}.tgz";
-    sha256 = "173zpgrk55ri8if7s5yngsc89ajd6hz4pss4cdxlv6lcyh5122cv";
-  };
-
-  cudnn_cudatoolkit_8 = generic rec {
-    version = "7.0.5";
-    cudatoolkit = cudatoolkit_8;
-    srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.tgz";
-    sha256 = "9e0b31735918fe33a79c4b3e612143d33f48f61c095a3b993023cdab46f6d66e";
-  };
-
   cudnn_cudatoolkit_9_0 = generic rec {
     version = "7.3.0";
     cudatoolkit = cudatoolkit_9_0;
@@ -82,11 +53,21 @@ in rec {
   cudnn_cudatoolkit_10 = cudnn_cudatoolkit_10_2;
 
   cudnn_cudatoolkit_11_0 = generic rec {
-    version = "8.0.2";
+    version = "8.1.0";
     cudatoolkit = cudatoolkit_11_0;
-    srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v8.0.2.39.tgz";
-    sha256 = "0ib3v3bgcdxarqapkxngw1nwl0c2a7zz392ns7w9ipcficl4cbv7";
+    # 8.1.0 is compatible with CUDA 11.0, 11.1, and 11.2:
+    # https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html#cudnn-cuda-hardware-versions
+    srcName = "cudnn-11.2-linux-x64-v8.1.0.77.tgz";
+    sha256 = "sha256-2+gvrwcdkbqbzwBIAUatM/RiSC3+5WyvRHnBuNq+Pss=";
+  };
+
+  cudnn_cudatoolkit_11_1 = cudnn_cudatoolkit_11_0.override {
+    cudatoolkit = cudatoolkit_11_1;
+  };
+
+  cudnn_cudatoolkit_11_2 = cudnn_cudatoolkit_11_0.override {
+    cudatoolkit = cudatoolkit_11_2;
   };
 
-  cudnn_cudatoolkit_11 = cudnn_cudatoolkit_11_0;
+  cudnn_cudatoolkit_11 = cudnn_cudatoolkit_11_2;
 }
diff --git a/pkgs/development/libraries/science/math/cudnn/generic.nix b/pkgs/development/libraries/science/math/cudnn/generic.nix
index 59c0b7f44980f..566a17c614729 100644
--- a/pkgs/development/libraries/science/math/cudnn/generic.nix
+++ b/pkgs/development/libraries/science/math/cudnn/generic.nix
@@ -25,9 +25,12 @@ stdenv.mkDerivation {
   installPhase = ''
     function fixRunPath {
       p=$(patchelf --print-rpath $1)
-      patchelf --set-rpath "$p:${lib.makeLibraryPath [ stdenv.cc.cc ]}" $1
+      patchelf --set-rpath "''${p:+$p:}${lib.makeLibraryPath [ stdenv.cc.cc ]}:\$ORIGIN/" $1
     }
-    fixRunPath lib64/libcudnn.so
+
+    for lib in lib64/lib*.so; do
+      fixRunPath $lib
+    done
 
     mkdir -p $out
     cp -a include $out/include
@@ -38,13 +41,7 @@ stdenv.mkDerivation {
   # See the explanation in addOpenGLRunpath.
   postFixup = ''
     for lib in $out/lib/lib*.so; do
-      # patchelf fails on libcudnn_cnn_infer due to it being too big.
-      # Most programs will still get the RPATH since they link to
-      # other things.
-      # (https://github.com/NixOS/patchelf/issues/222)
-      if [ "$(basename $lib)" != libcudnn_cnn_infer.so ]; then
-        addOpenGLRunpath $lib
-      fi
+      addOpenGLRunpath $lib
     done
   '';
 
diff --git a/pkgs/development/libraries/science/math/libtorch/bin.nix b/pkgs/development/libraries/science/math/libtorch/bin.nix
index 9631f3931cab8..72c4e5ac1eb14 100644
--- a/pkgs/development/libraries/science/math/libtorch/bin.nix
+++ b/pkgs/development/libraries/science/math/libtorch/bin.nix
@@ -8,10 +8,16 @@
 , fixDarwinDylibNames
 
 , cudaSupport
-, nvidia_x11
+, cudatoolkit_10_2
+, cudnn_cudatoolkit_10_2
 }:
 
 let
+  # The binary libtorch distribution statically links the CUDA
+  # toolkit. This means that we do not need to provide CUDA to
+  # this derivation. However, we should ensure on version bumps
+  # that the CUDA toolkit for `passthru.tests` is still
+  # up-to-date.
   version = "1.7.1";
   device = if cudaSupport then "cuda" else "cpu";
   srcs = import ./binary-hashes.nix version;
@@ -24,12 +30,7 @@ in stdenv.mkDerivation {
 
   nativeBuildInputs =
     if stdenv.isDarwin then [ fixDarwinDylibNames ]
-    else [ addOpenGLRunpath patchelf ]
-      ++ lib.optionals cudaSupport [ addOpenGLRunpath ];
-
-  buildInputs = [
-    stdenv.cc.cc
-  ] ++ lib.optionals cudaSupport [ nvidia_x11 ];
+    else [ patchelf ] ++ lib.optionals cudaSupport [ addOpenGLRunpath ];
 
   dontBuild = true;
   dontConfigure = true;
@@ -56,9 +57,7 @@ in stdenv.mkDerivation {
   '';
 
   postFixup = let
-    libPaths = [ stdenv.cc.cc.lib ]
-      ++ lib.optionals cudaSupport [ nvidia_x11 ];
-    rpath = lib.makeLibraryPath libPaths;
+    rpath = lib.makeLibraryPath [ stdenv.cc.cc.lib ];
   in lib.optionalString stdenv.isLinux ''
     find $out/lib -type f \( -name '*.so' -or -name '*.so.*' \) | while read lib; do
       echo "setting rpath for $lib..."
@@ -108,12 +107,17 @@ in stdenv.mkDerivation {
 
   outputs = [ "out" "dev" ];
 
-  passthru.tests.cmake = callPackage ./test { };
+  passthru.tests.cmake = callPackage ./test {
+    inherit cudaSupport;
+    cudatoolkit = cudatoolkit_10_2;
+    cudnn = cudnn_cudatoolkit_10_2;
+  };
 
   meta = with lib; {
     description = "C++ API of the PyTorch machine learning framework";
     homepage = "https://pytorch.org/";
     license = licenses.unfree; # Includes CUDA and Intel MKL.
+    maintainers = with maintainers; [ danieldk ];
     platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/development/libraries/science/math/libtorch/test/default.nix b/pkgs/development/libraries/science/math/libtorch/test/default.nix
index e69807871f46f..60f9b5ad88464 100644
--- a/pkgs/development/libraries/science/math/libtorch/test/default.nix
+++ b/pkgs/development/libraries/science/math/libtorch/test/default.nix
@@ -1,6 +1,28 @@
-{ stdenv, cmake, libtorch-bin, symlinkJoin }:
+{ lib
+, stdenv
+, cmake
+, libtorch-bin
+, linkFarm
+, symlinkJoin
 
-stdenv.mkDerivation {
+, cudaSupport
+, cudatoolkit
+, cudnn
+}:
+let
+  cudatoolkit_joined = symlinkJoin {
+    name = "${cudatoolkit.name}-unsplit";
+    paths = [ cudatoolkit.out cudatoolkit.lib ];
+  };
+
+  # We do not have access to /run/opengl-driver/lib in the sandbox,
+  # so use a stub instead.
+  cudaStub = linkFarm "cuda-stub" [{
+    name = "libcuda.so.1";
+    path = "${cudatoolkit}/lib/stubs/libcuda.so";
+  }];
+
+in stdenv.mkDerivation {
   pname = "libtorch-test";
   version = libtorch-bin.version;
 
@@ -8,7 +30,11 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ libtorch-bin ];
+  buildInputs = [ libtorch-bin ] ++
+    lib.optionals cudaSupport [ cudnn ];
+
+  cmakeFlags = lib.optionals cudaSupport
+    [ "-DCUDA_TOOLKIT_ROOT_DIR=${cudatoolkit_joined}" ];
 
   doCheck = true;
 
@@ -17,6 +43,7 @@ stdenv.mkDerivation {
   '';
 
   checkPhase = ''
-    ./test
+    LD_LIBRARY_PATH=${cudaStub}''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH \
+      ./test
   '';
 }
diff --git a/pkgs/development/libraries/science/math/magma/default.nix b/pkgs/development/libraries/science/math/magma/default.nix
index b8e3999ffe83c..c5960dddf5177 100644
--- a/pkgs/development/libraries/science/math/magma/default.nix
+++ b/pkgs/development/libraries/science/math/magma/default.nix
@@ -1,8 +1,40 @@
 { lib, stdenv, fetchurl, cmake, gfortran, ninja, cudatoolkit, libpthreadstubs, lapack, blas }:
 
-with lib;
+assert let majorIs = lib.versions.major cudatoolkit.version;
+       in majorIs == "9" || majorIs == "10" || majorIs == "11";
 
-let version = "2.5.4";
+let
+  version = "2.5.4";
+
+  # We define a specific set of CUDA compute capabilities here,
+  # because CUDA 11 does not support compute capability 3.0. Also,
+  # we use it to enable newer capabilities that are not enabled
+  # by magma by default. The list of supported architectures
+  # can be found in magma's top-level CMakeLists.txt.
+  cudaCapabilities = rec {
+    cuda9 = [
+      "Kepler"  # 3.0, 3.5
+      "Maxwell" # 5.0
+      "Pascal"  # 6.0
+      "Volta"   # 7.0
+    ];
+
+    cuda10 = [
+      "Turing"  # 7.5
+    ] ++ cuda9;
+
+    cuda11 = [
+      "sm_35"   # sm_30 is not supported by CUDA 11
+      "Maxwell" # 5.0
+      "Pascal"  # 6.0
+      "Volta"   # 7.0
+      "Turing"  # 7.5
+      "Ampere"  # 8.0
+    ];
+  };
+
+  capabilityString = lib.strings.concatStringsSep ","
+    cudaCapabilities."cuda${lib.versions.major cudatoolkit.version}";
 
 in stdenv.mkDerivation {
   pname = "magma";
@@ -17,6 +49,8 @@ in stdenv.mkDerivation {
 
   buildInputs = [ cudatoolkit libpthreadstubs lapack blas ];
 
+  cmakeFlags = [ "-DGPU_TARGET=${capabilityString}" ];
+
   doCheck = false;
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/science/math/openlibm/default.nix b/pkgs/development/libraries/science/math/openlibm/default.nix
index 2c4198d9679a5..34ebc36ebb92f 100644
--- a/pkgs/development/libraries/science/math/openlibm/default.nix
+++ b/pkgs/development/libraries/science/math/openlibm/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "openlibm";
-  version = "0.7.3";
+  version = "0.7.5";
   src = fetchurl {
     url = "https://github.com/JuliaLang/openlibm/archive/v${version}.tar.gz";
-    sha256 = "0m3khv7qidhfly634bf5w0ci5qnvndmihc4a836a0cy047pw9g6k";
+    sha256 = "sha256-vpg7nh5A5pbou7frj2N208oK5nWubYKTZUA4Ww7uwVs=";
   };
 
   makeFlags = [ "prefix=$(out)" ];
diff --git a/pkgs/development/libraries/science/math/or-tools/default.nix b/pkgs/development/libraries/science/math/or-tools/default.nix
index 53c117233d208..2b6eb5705cd90 100644
--- a/pkgs/development/libraries/science/math/or-tools/default.nix
+++ b/pkgs/development/libraries/science/math/or-tools/default.nix
@@ -1,40 +1,84 @@
-{ lib, stdenv, fetchFromGitHub, cmake, abseil-cpp, gflags, which
-, lsb-release, glog, protobuf, cbc, zlib
-, ensureNewerSourcesForZipFilesHook, python, swig }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, abseil-cpp
+, bzip2
+, zlib
+, lsb-release
+, which
+, protobuf
+, cbc
+, ensureNewerSourcesForZipFilesHook
+, python
+, swig4
+}:
 
 stdenv.mkDerivation rec {
   pname = "or-tools";
-  version = "7.7";
+  version = "8.1";
+  disabled = python.pythonOlder "3.6";  # not supported upstream
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "or-tools";
     rev = "v${version}";
-    sha256 = "06ig9a1afmzgzcg817y0rdq49ahll0q9y7bhhg9d89x6zy959ypv";
+    sha256 = "1zqgvkaw5vf2d8pwsa34g9jysbpiwplzxc8jyy8kdbzmj8ax3gpg";
   };
 
+  patches = [
+    # This patch (on master as of Feb 11, 2021) fixes or-tools failing to respect
+    # USE_SCIP=OFF and then failing to find scip/scip.h
+    (fetchpatch {
+      url = "https://github.com/google/or-tools/commit/17321869832b5adaccd9864e7e5576122730a5d5.patch";
+      sha256 = "0bi2z1hqlpdm1if3xa5dzc2zv0qlm5xi2x979brx10f8k779ghn0";
+    })
+  ];
+
   # The original build system uses cmake which does things like pull
   # in dependencies through git and Makefile creation time. We
   # obviously don't want to do this so instead we provide the
   # dependencies straight from nixpkgs and use the make build method.
+
+  # Cbc is linked against bzip2 and declares this in its pkgs-config file,
+  # but this makefile doesn't use pkgs-config, so we also have to add lbz2
   configurePhase = ''
+    substituteInPlace makefiles/Makefile.third_party.unix.mk \
+      --replace 'COINUTILS_LNK = $(STATIC_COINUTILS_LNK)' \
+                'COINUTILS_LNK = $(STATIC_COINUTILS_LNK) -lbz2'
+
     cat <<EOF > Makefile.local
-    UNIX_ABSL_DIR=${abseil-cpp}
-    UNIX_GFLAGS_DIR=${gflags}
-    UNIX_GLOG_DIR=${glog}
-    UNIX_PROTOBUF_DIR=${protobuf}
-    UNIX_CBC_DIR=${cbc}
+      UNIX_ABSL_DIR=${abseil-cpp}
+      UNIX_PROTOBUF_DIR=${protobuf}
+      UNIX_CBC_DIR=${cbc}
+      USE_SCIP=OFF
     EOF
   '';
 
+  # Many of these 'samples' (which are really the tests) require using SCIP, and or-tools 8.1
+  # will just crash if SCIP is not found because it doesn't fall back to using one of
+  # the available solvers: https://github.com/google/or-tools/blob/b77bd3ac69b7f3bb02f55b7bab6cbb4bab3917f2/ortools/linear_solver/linear_solver.cc#L427
+  # We don't compile with SCIP because it does not have an open source license.
+  # See https://github.com/google/or-tools/issues/2395
+  preBuild = ''
+    for file in ortools/linear_solver/samples/*.cc; do
+      if grep -q SCIP_MIXED_INTEGER_PROGRAMMING $file; then
+        substituteInPlace $file --replace SCIP_MIXED_INTEGER_PROGRAMMING CBC_MIXED_INTEGER_PROGRAMMING
+      fi;
+    done
+
+    substituteInPlace ortools/linear_solver/samples/simple_mip_program.cc \
+      --replace 'SCIP' 'CBC'
+  '';
   makeFlags = [
     "prefix=${placeholder "out"}"
     "PROTOBUF_PYTHON_DESC=${python.pkgs.protobuf}/${python.sitePackages}/google/protobuf/descriptor_pb2.py"
   ];
   buildFlags = [ "cc" "pypi_archive" ];
 
-  checkTarget = "test_cc";
   doCheck = true;
+  checkTarget = "test_cc";
 
   installTargets = [ "install_cc" ];
   # The upstream install_python target installs to $HOME.
@@ -43,14 +87,30 @@ stdenv.mkDerivation rec {
     (cd temp_python/ortools; PYTHONPATH="$python/${python.sitePackages}:$PYTHONPATH" python setup.py install '--prefix=$python')
   '';
 
+  enableParallelBuilding = true;
+
   nativeBuildInputs = [
-    cmake lsb-release swig which zlib python
+    cmake
+    lsb-release
+    swig4
+    which
     ensureNewerSourcesForZipFilesHook
-    python.pkgs.setuptools python.pkgs.wheel
+    python.pkgs.setuptools
+    python.pkgs.wheel
+  ];
+  buildInputs = [
+    zlib
+    bzip2
+    python
   ];
   propagatedBuildInputs = [
-    abseil-cpp gflags glog protobuf cbc
-    python.pkgs.protobuf python.pkgs.six
+    abseil-cpp
+    protobuf
+
+    python.pkgs.protobuf
+    python.pkgs.six
+    python.pkgs.absl-py
+    python.pkgs.mypy-protobuf
   ];
 
   outputs = [ "out" "python" ];
diff --git a/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix b/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix
index 7696b18e7ca46..151a0eef89161 100644
--- a/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix
+++ b/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix
@@ -6,7 +6,7 @@
 
 stdenv.mkDerivation rec {
   pname = "suitesparse-graphblas";
-  version = "3.3.3";
+  version = "4.0.3";
 
   outputs = [ "out" "dev" ];
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     owner = "DrTimothyAldenDavis";
     repo = "GraphBLAS";
     rev = "v${version}";
-    sha256 = "1nmygb2yny0mdqp0mc6760gbxklq1jjm0c6s39qkdwzf3n9f8j7p";
+    sha256 = "sha256-Bf3+w/kQtFpeUGp2zWVqja535EbaUw7DbhCw54B6A8k=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/science/math/zn_poly/default.nix b/pkgs/development/libraries/science/math/zn_poly/default.nix
index 0d1a331798cfc..8f3e1aba350e9 100644
--- a/pkgs/development/libraries/science/math/zn_poly/default.nix
+++ b/pkgs/development/libraries/science/math/zn_poly/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   libbasename = "libzn_poly";
   libext = stdenv.targetPlatform.extensions.sharedLibrary;
 
-  makeFlags = [ "CC=cc" ];
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
   # Tuning (either autotuning or with hand-written paramters) is possible
   # but not implemented here.
diff --git a/pkgs/development/libraries/sharness/default.nix b/pkgs/development/libraries/sharness/default.nix
new file mode 100644
index 0000000000000..43a102686e9c2
--- /dev/null
+++ b/pkgs/development/libraries/sharness/default.nix
@@ -0,0 +1,51 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, fetchurl
+, perl
+, perlPackages
+, sharnessExtensions ? {} }:
+
+stdenv.mkDerivation rec {
+  pname = "sharness";
+  version = "1.1.0-dev";
+
+  src = fetchFromGitHub {
+    owner = "chriscool";
+    repo = pname;
+    rev = "3f238a740156dd2082f4bd60ced205e05894d367"; # 2020-12-09
+    sha256 = "FCYskpIqkrpNaWCi2LkhEkiow4/rXLe+lfEWNUthLUg=";
+  };
+
+  # Used for testing
+  nativeBuildInputs = [ perl perlPackages.IOTty ];
+
+  outputs = [ "out" "doc" ];
+
+  makeFlags = [ "prefix=$(out)" ];
+
+  extensions = lib.mapAttrsToList (k: v: "${k}.sh ${v}") sharnessExtensions;
+
+  postInstall = lib.optionalString (sharnessExtensions != {}) ''
+    extDir=$out/share/sharness/sharness.d
+    mkdir -p "$extDir"
+    linkExtensions() {
+      set -- $extensions
+      while [ $# -ge 2 ]; do
+        ln -s "$2" "$extDir/$1"
+        shift 2
+      done
+    }
+    linkExtensions
+  '';
+
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Portable shell library to write, run and analyze automated tests adhering to Test Anything Protocol (TAP)";
+    homepage = "https://github.com/chriscool/sharness";
+    license = licenses.gpl2Only;
+    maintainers = [ maintainers.spacefrogg ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/simdjson/default.nix b/pkgs/development/libraries/simdjson/default.nix
index 448270183a5fe..37ea3b65728f1 100644
--- a/pkgs/development/libraries/simdjson/default.nix
+++ b/pkgs/development/libraries/simdjson/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "simdjson";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "simdjson";
     repo = "simdjson";
     rev = "v${version}";
-    sha256 = "1x5f8b5s67kf9sjx04rp81q0f3dlnqfngn3h0lrfnphipald5fji";
+    sha256 = "sha256-azRuLB03NvW+brw7A/kbgkjoDUlk1p7Ch4zZD55QiMQ=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/sonic/default.nix b/pkgs/development/libraries/sonic/default.nix
index 38dcee84a928f..ba3164db11aac 100644
--- a/pkgs/development/libraries/sonic/default.nix
+++ b/pkgs/development/libraries/sonic/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
     sha256 = "0ah54nizb6iwcx277w104wsfnx05vrp4sh56d2pfxhf8xghg54m6";
   };
 
-  makeFlags = [ "PREFIX=${placeholder "out"}" "CC=cc" ];
+  makeFlags = [ "PREFIX=${placeholder "out"}" "CC=${stdenv.cc.targetPrefix}cc" ];
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/libraries/soqt/default.nix b/pkgs/development/libraries/soqt/default.nix
index 2be6c66214546..fe7901bddd582 100644
--- a/pkgs/development/libraries/soqt/default.nix
+++ b/pkgs/development/libraries/soqt/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkg-config ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     homepage = "https://github.com/coin3d/soqt";
     license = licenses.bsd3;
diff --git a/pkgs/development/libraries/spglib/default.nix b/pkgs/development/libraries/spglib/default.nix
index f4667acd57934..12d696b65a8e7 100644
--- a/pkgs/development/libraries/spglib/default.nix
+++ b/pkgs/development/libraries/spglib/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "spglib";
-  version = "1.16.0";
+  version = "1.16.1";
 
   src = fetchFromGitHub {
     owner = "atztogo";
     repo = "spglib";
     rev = "v${version}";
-    sha256 = "1kzc956m1pnazhz52vspqridlw72wd8x5l3dsilpdxl491aa2nws";
+    sha256 = "1sk59nnar9npka4mdcfh4154ja46i35y4gbq892kwqidzyfs80in";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/sqlite/tools.nix b/pkgs/development/libraries/sqlite/tools.nix
index b423e557a56e5..7e43fc7f5c321 100644
--- a/pkgs/development/libraries/sqlite/tools.nix
+++ b/pkgs/development/libraries/sqlite/tools.nix
@@ -8,7 +8,7 @@ let
 
     src = assert version == sqlite.version; fetchurl {
       url = "https://sqlite.org/2021/sqlite-src-${archiveVersion version}.zip";
-      sha256 = "0giklai05shqalj1wwadi9hg5dx6vff8nrblqh9xxljnrq701h00";
+      sha256 = "0jgzaawf6vn15qyi15b6dlq80sk2gaiwfikingldx5mhjrwj7pfx";
     };
 
     nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix
index f8db8f3c379aa..3536ebd586e47 100644
--- a/pkgs/development/libraries/sundials/default.nix
+++ b/pkgs/development/libraries/sundials/default.nix
@@ -1,7 +1,6 @@
 { lib, stdenv
 , cmake
 , fetchurl
-, fetchpatch
 , python
 , blas
 , lapack
@@ -13,24 +12,15 @@
 
 stdenv.mkDerivation rec {
   pname = "sundials";
-  version = "5.6.1";
+  version = "5.7.0";
 
   outputs = [ "out" "examples" ];
 
   src = fetchurl {
     url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz";
-    sha256 = "Frd5mex+fyFXqh0Eyh3kojccqBUOBW0klR0MWJZvKoM=";
+    sha256 = "jW3QlP7Mu41uzEE0DsFqZfq6yC7UQVAj9tfBwjkOovM=";
   };
 
-  patches = [
-    # Fixing an upstream regression in treating cmake prefix directories:
-    # https://github.com/LLNL/sundials/pull/58
-    (fetchpatch {
-      url = "https://github.com/LLNL/sundials/commit/dd32ff9baa05618f36e44aadb420bbae4236ea1e.patch";
-      sha256 = "kToAuma+2iHFyL1v/l29F3+nug4AdK5cPG6IcXv2afc=";
-    })
-  ];
-
   nativeBuildInputs = [ cmake ];
 
   buildInputs = [
diff --git a/pkgs/development/libraries/tagparser/default.nix b/pkgs/development/libraries/tagparser/default.nix
new file mode 100644
index 0000000000000..deeb7552069fc
--- /dev/null
+++ b/pkgs/development/libraries/tagparser/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, pkgs
+, fetchFromGitHub
+, cmake
+, cpp-utilities
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "tagparser";
+  version = "9.4.0";
+
+  src = fetchFromGitHub {
+    owner = "Martchus";
+    repo = "tagparser";
+    rev = "v${version}";
+    sha256 = "097dq9di19d3mvnlrav3fm78gzjni5babswyv10xnrxfhnf14f6x";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [
+    cpp-utilities zlib
+  ];
+
+  meta = with pkgs.lib; {
+    homepage = "https://github.com/Martchus/tagparser";
+    description = "C++ library for reading and writing MP4/M4A/AAC (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.matthiasbeyer ];
+  };
+}
+
diff --git a/pkgs/development/libraries/tecla/default.nix b/pkgs/development/libraries/tecla/default.nix
index 6d8a334ce3fb0..a0a1ac0360e8c 100644
--- a/pkgs/development/libraries/tecla/default.nix
+++ b/pkgs/development/libraries/tecla/default.nix
@@ -8,6 +8,11 @@ stdenv.mkDerivation rec {
     sha256 = "06pfq5wa8d25i9bdjkp4xhms5101dsrbg82riz7rz1a0a32pqxgj";
   };
 
+  postPatch = ''
+    substituteInPlace install-sh \
+      --replace "stripprog=" "stripprog=\$STRIP # "
+  '';
+
   meta = {
     homepage = "https://www.astro.caltech.edu/~mcs/tecla/";
     description = "Command-line editing library";
diff --git a/pkgs/development/libraries/telepathy/qt/default.nix b/pkgs/development/libraries/telepathy/qt/default.nix
index b606c56445ed7..dbbaca7e11a7a 100644
--- a/pkgs/development/libraries/telepathy/qt/default.nix
+++ b/pkgs/development/libraries/telepathy/qt/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, cmake, qtbase, pkg-config, python3Packages, dbus-glib, dbus
-, telepathy-farstream, telepathy-glib, fetchpatch }:
+, telepathy-farstream, telepathy-glib }:
 
 let
   inherit (python3Packages) python dbus-python;
@@ -20,6 +20,8 @@ in stdenv.mkDerivation rec {
   # On 0.9.7, they do not even build with QT4
   cmakeFlags = lib.optional (!doCheck) "-DENABLE_TESTS=OFF";
 
+  dontWrapQtApps = true;
+
   doCheck = false; # giving up for now
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/termbox/default.nix b/pkgs/development/libraries/termbox/default.nix
index e809240bcd104..51c2ca1c8084f 100644
--- a/pkgs/development/libraries/termbox/default.nix
+++ b/pkgs/development/libraries/termbox/default.nix
@@ -1,31 +1,22 @@
-{ lib, stdenv, fetchFromGitHub, python3, wafHook, fetchpatch }:
+{ lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
   pname = "termbox";
-  version = "1.1.2";
+  version = "1.1.4";
   src = fetchFromGitHub {
-    owner = "nsf";
+    owner = "termbox";
     repo = "termbox";
     rev = "v${version}";
-    sha256 = "08yqxzb8fny8806p7x8a6f3phhlbfqdd7dhkv25calswj7w1ssvs";
+    sha256 = "075swv6ajx8m424dbmgbf6fs6nd5q004gjpvx48gkxmnf9spvykl";
   };
 
-  # patch which updates the `waf` version used to build
-  # to make the package buildable on Python 3.7
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/nsf/termbox/commit/6fe63ac3ad63dc2c3ac45b770541cc8b7a1d2db7.patch";
-      sha256 = "1s5747v51sdwvpsg6k9y1j60yn9f63qnylkgy8zrsifjzzd5fzl6";
-    })
-  ];
-
-  nativeBuildInputs = [ python3 wafHook ];
+  makeFlags = [ "prefix=${placeholder "out"}" ];
 
   meta = with lib; {
     description = "Library for writing text-based user interfaces";
     license = licenses.mit;
-    homepage = "https://github.com/nsf/termbox#readme";
-    downloadPage = "https://github.com/nsf/termbox/releases";
+    homepage = "https://github.com/termbox/termbox#readme";
+    downloadPage = "https://github.com/termbox/termbox/releases";
     maintainers = with maintainers; [ fgaz ];
   };
 }
diff --git a/pkgs/development/libraries/tiledb/default.nix b/pkgs/development/libraries/tiledb/default.nix
index 560a991c44afd..0fa1ea8bd392c 100644
--- a/pkgs/development/libraries/tiledb/default.nix
+++ b/pkgs/development/libraries/tiledb/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tiledb";
-  version = "2.1.3";
+  version = "2.2.4";
 
   src = fetchFromGitHub {
     owner = "TileDB-Inc";
     repo = "TileDB";
     rev = version;
-    sha256 = "1ia00bk6dc1176arf84lx08x4c7c74q7ycn7dqjnmyxkg3kmr21g";
+    sha256 = "sha256-xzzWB20vhnneiqJqZAeSUjZouqhPPg2bGaot1IQDMEo=";
   };
 
   # (bundled) blosc headers have a warning on some archs that it will be using
diff --git a/pkgs/development/libraries/tllist/default.nix b/pkgs/development/libraries/tllist/default.nix
index 9134ade0e1878..11e61e93a0c11 100644
--- a/pkgs/development/libraries/tllist/default.nix
+++ b/pkgs/development/libraries/tllist/default.nix
@@ -1,26 +1,41 @@
-{ stdenv, lib, fetchgit, meson, ninja }:
+{ stdenv
+, lib
+, fetchgit
+, meson
+, ninja
+}:
 
 stdenv.mkDerivation rec {
   pname = "tllist";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchgit {
     url = "https://codeberg.org/dnkl/tllist.git";
     rev = version;
-    sha256 = "sha256-+u8p/VmI61SGRhZHaJBwgcVNetNOrYzg2NVQehbfRqg=";
+    sha256 = "wJEW7haQBtCR2rffKOFyqH3aq0eBr6H8T6gnBs2bNRg=";
   };
 
-  nativeBuildInputs = [
-    meson ninja
-  ];
+  nativeBuildInputs = [ meson ninja ];
 
   doCheck = true;
 
   meta = with lib; {
     homepage = "https://codeberg.org/dnkl/tllist";
     description = "C header file only implementation of a typed linked list";
-    maintainers = with maintainers; [ fionera ];
+    longDescription = ''
+      Most C implementations of linked list are untyped. That is, their data
+      carriers are typically void *. This is error prone since your compiler
+      will not be able to help you correct your mistakes (oh, was it a
+      pointer-to-a-pointer... I thought it was just a pointer...).
+
+      tllist addresses this by using pre-processor macros to implement dynamic
+      types, where the data carrier is typed to whatever you want; both
+      primitive data types are supported as well as aggregated ones such as
+      structs, enums and unions.
+    '';
+
     license = licenses.mit;
+    maintainers = with maintainers; [ fionera AndersonTorres ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/development/libraries/tpm2-tss/default.nix b/pkgs/development/libraries/tpm2-tss/default.nix
index fa506733c16e9..42e6e920be4e7 100644
--- a/pkgs/development/libraries/tpm2-tss/default.nix
+++ b/pkgs/development/libraries/tpm2-tss/default.nix
@@ -27,7 +27,21 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  postPatch = "patchShebangs script";
+  patches = [
+    # Do not rely on dynamic loader path
+    # TCTI loader relies on dlopen(), this patch prefixes all calls with the output directory
+    ./no-dynamic-loader-path.patch
+  ];
+
+  postPatch = ''
+    patchShebangs script
+    substituteInPlace src/tss2-tcti/tctildr-dl.c \
+      --replace '@PREFIX@' $out/lib/
+    substituteInPlace ./test/unit/tctildr-dl.c \
+      --replace ', "libtss2' ", \"$out/lib/libtss2" \
+      --replace ', "foo' ", \"$out/lib/foo" \
+      --replace ', TEST_TCTI_NAME' ", \"$out/lib/\"TEST_TCTI_NAME"
+  '';
 
   configureFlags = [
     "--enable-unit"
@@ -35,6 +49,14 @@ stdenv.mkDerivation rec {
   ];
 
   doCheck = true;
+  preCheck = ''
+    # Since we rewrote the load path in the dynamic loader for the TCTI
+    # The various tcti implementation should be placed in their target directory
+    # before we could run tests
+    installPhase
+    # install already done, dont need another one
+    dontInstall=1
+  '';
 
   postInstall = ''
     # Do not install the upstream udev rules, they rely on specific
diff --git a/pkgs/development/libraries/tpm2-tss/no-dynamic-loader-path.patch b/pkgs/development/libraries/tpm2-tss/no-dynamic-loader-path.patch
new file mode 100644
index 0000000000000..86cdcd1541e69
--- /dev/null
+++ b/pkgs/development/libraries/tpm2-tss/no-dynamic-loader-path.patch
@@ -0,0 +1,39 @@
+diff --git a/src/tss2-tcti/tctildr-dl.c b/src/tss2-tcti/tctildr-dl.c
+index b364695c..b13be3ef 100644
+--- a/src/tss2-tcti/tctildr-dl.c
++++ b/src/tss2-tcti/tctildr-dl.c
+@@ -85,7 +85,15 @@ handle_from_name(const char *file,
+     if (handle == NULL) {
+         return TSS2_TCTI_RC_BAD_REFERENCE;
+     }
+-    *handle = dlopen(file, RTLD_NOW);
++    size = snprintf(file_xfrm,
++                    sizeof (file_xfrm),
++                    "@PREFIX@%s",
++                    file);
++    if (size >= sizeof (file_xfrm)) {
++        LOG_ERROR("TCTI name truncated in transform.");
++        return TSS2_TCTI_RC_BAD_VALUE;
++    }
++    *handle = dlopen(file_xfrm, RTLD_NOW);
+     if (*handle != NULL) {
+         return TSS2_RC_SUCCESS;
+     } else {
+@@ -94,7 +102,7 @@ handle_from_name(const char *file,
+     /* 'name' alone didn't work, try libtss2-tcti-<name>.so.0 */
+     size = snprintf(file_xfrm,
+                     sizeof (file_xfrm),
+-                    TCTI_NAME_TEMPLATE_0,
++                    "@PREFIX@" TCTI_NAME_TEMPLATE_0,
+                     file);
+     if (size >= sizeof (file_xfrm)) {
+         LOG_ERROR("TCTI name truncated in transform.");
+@@ -109,7 +117,7 @@ handle_from_name(const char *file,
+     /* libtss2-tcti-<name>.so.0 didn't work, try libtss2-tcti-<name>.so */
+     size = snprintf(file_xfrm,
+                     sizeof (file_xfrm),
+-                    TCTI_NAME_TEMPLATE,
++                    "@PREFIX@" TCTI_NAME_TEMPLATE,
+                     file);
+     if (size >= sizeof (file_xfrm)) {
+         LOG_ERROR("TCTI name truncated in transform.");
diff --git a/pkgs/development/libraries/tweeny/default.nix b/pkgs/development/libraries/tweeny/default.nix
index 8340e47fbf9b6..0afc82321d8cf 100644
--- a/pkgs/development/libraries/tweeny/default.nix
+++ b/pkgs/development/libraries/tweeny/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tweeny";
-  version = "3.1.1";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "mobius3";
     repo = "tweeny";
     rev = "v${version}";
-    sha256 = "0zk7p21i54hfz0l50617i3gxhxh0n9yy86n2fxg8m26cvf4yhsj7";
+    sha256 = "sha256-VmvOMK+FjYZXKH9kPUT2L7pmJMPSr5eXptCcoGWK+qo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/vapoursynth/0001-Call-weak-function-to-allow-adding-preloaded-plugins.patch b/pkgs/development/libraries/vapoursynth/0001-Call-weak-function-to-allow-adding-preloaded-plugins.patch
new file mode 100644
index 0000000000000..0937ac6e30840
--- /dev/null
+++ b/pkgs/development/libraries/vapoursynth/0001-Call-weak-function-to-allow-adding-preloaded-plugins.patch
@@ -0,0 +1,74 @@
+From 9b05a6f331506afa5aca8865677af83403d2a32d Mon Sep 17 00:00:00 2001
+From: Tadeo Kondrak <me@tadeo.ca>
+Date: Mon, 25 Jan 2021 11:17:44 -0700
+Subject: [PATCH] Call weak function to allow adding preloaded plugins after
+ compile
+
+---
+ src/core/vscore.cpp | 19 +++++++++++++++++++
+ src/core/vscore.h   |  5 +++++
+ 2 files changed, 24 insertions(+)
+
+diff --git a/src/core/vscore.cpp b/src/core/vscore.cpp
+index 2d29844d..35c509ed 100644
+--- a/src/core/vscore.cpp
++++ b/src/core/vscore.cpp
+@@ -1229,6 +1229,20 @@ void VSCore::destroyFilterInstance(VSNode *node) {
+     freeDepth--;
+ }
+ 
++extern "C" {
++void __attribute__((weak)) VSLoadPluginsNix(void (*load)(void *data, const char *path), void *data);
++
++struct VSLoadPluginsNixCallbackData {
++    VSCore *core;
++    const char *filter;
++};
++
++static void VSLoadPluginsNixCallback(void *data, const char *path) {
++    auto callbackData = static_cast<VSLoadPluginsNixCallbackData *>(data);
++    callbackData->core->loadAllPluginsInPath(path, callbackData->filter);
++}
++}
++
+ VSCore::VSCore(int threads) :
+     coreFreed(false),
+     numFilterInstances(1),
+@@ -1351,6 +1365,11 @@ VSCore::VSCore(int threads) :
+     } // If neither exists, an empty string will do.
+ #endif
+ 
++    if (VSLoadPluginsNix != nullptr) {
++        VSLoadPluginsNixCallbackData data{this, filter.c_str()};
++        VSLoadPluginsNix(VSLoadPluginsNixCallback, &data);
++    }
++
+     VSMap *settings = readSettings(configFile);
+     const char *error = vs_internal_vsapi.getError(settings);
+     if (error) {
+diff --git a/src/core/vscore.h b/src/core/vscore.h
+index 74df8a84..3efac811 100644
+--- a/src/core/vscore.h
++++ b/src/core/vscore.h
+@@ -582,6 +582,9 @@ public:
+     VSFunction() : functionData(nullptr), func(nullptr) {}
+ };
+ 
++extern "C" {
++static void VSLoadPluginsNixCallback(void *data, const char *path);
++}
+ 
+ struct VSPlugin {
+ private:
+@@ -683,6 +686,8 @@ public:
+ 
+     explicit VSCore(int threads);
+     void freeCore();
++
++    friend void VSLoadPluginsNixCallback(void *data, const char *path);
+ };
+ 
+ #endif // VSCORE_H
+-- 
+2.30.0
+
diff --git a/pkgs/development/libraries/vapoursynth/default.nix b/pkgs/development/libraries/vapoursynth/default.nix
index 93f8d3c5ae5fe..8ef209fe80511 100644
--- a/pkgs/development/libraries/vapoursynth/default.nix
+++ b/pkgs/development/libraries/vapoursynth/default.nix
@@ -1,13 +1,11 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, makeWrapper
+, runCommandCC, runCommand, vapoursynth, writeText, patchelf, buildEnv
 , zimg, libass, python3, libiconv
 , ApplicationServices
-, ocrSupport ?  false, tesseract ? null
-, imwriSupport? true,  imagemagick7 ? null
+, ocrSupport ? false, tesseract
+, imwriSupport ? true, imagemagick
 }:
 
-assert ocrSupport   -> tesseract != null;
-assert imwriSupport -> imagemagick7 != null;
-
 with lib;
 
 stdenv.mkDerivation rec {
@@ -21,13 +19,17 @@ stdenv.mkDerivation rec {
     sha256 = "1krfdzc2x2vxv4nq9kiv1c09hgj525qn120ah91fw2ikq8ldvmx4";
   };
 
+  patches = [
+    ./0001-Call-weak-function-to-allow-adding-preloaded-plugins.patch
+  ];
+
   nativeBuildInputs = [ pkg-config autoreconfHook makeWrapper ];
   buildInputs = [
     zimg libass
     (python3.withPackages (ps: with ps; [ sphinx cython ]))
   ] ++ optionals stdenv.isDarwin [ libiconv ApplicationServices ]
     ++ optional ocrSupport   tesseract
-    ++ optional imwriSupport imagemagick7;
+    ++ optional imwriSupport imagemagick;
 
   configureFlags = [
     (optionalString (!ocrSupport)   "--disable-ocr")
@@ -36,12 +38,17 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  passthru = {
+  passthru = rec {
     # If vapoursynth is added to the build inputs of mpv and then
     # used in the wrapping of it, we want to know once inside the
     # wrapper, what python3 version was used to build vapoursynth so
     # the right python3.sitePackages will be used there.
     inherit python3;
+
+    withPlugins = import ./plugin-interface.nix {
+      inherit lib python3 buildEnv writeText runCommandCC stdenv runCommand
+        vapoursynth makeWrapper withPlugins;
+    };
   };
 
   postInstall = ''
@@ -54,7 +61,7 @@ stdenv.mkDerivation rec {
     homepage    = "http://www.vapoursynth.com/";
     license     = licenses.lgpl21;
     platforms   = platforms.x86_64;
-    maintainers = with maintainers; [ rnhmjoj tadeokondrak ];
+    maintainers = with maintainers; [ rnhmjoj sbruder tadeokondrak ];
   };
 
 }
diff --git a/pkgs/development/libraries/vapoursynth/editor.nix b/pkgs/development/libraries/vapoursynth/editor.nix
index f9ebed1975222..26a1a6d680807 100644
--- a/pkgs/development/libraries/vapoursynth/editor.nix
+++ b/pkgs/development/libraries/vapoursynth/editor.nix
@@ -1,43 +1,59 @@
-{ lib, mkDerivation, fetchFromBitbucket
+{ lib, stdenv, mkDerivation, fetchFromBitbucket, makeWrapper, runCommand
 , python3, vapoursynth
 , qmake, qtbase, qtwebsockets
 }:
 
-mkDerivation rec {
-  pname = "vapoursynth-editor";
-  version = "R19";
-
-  src = fetchFromBitbucket {
-    owner = "mystery_keeper";
-    repo = pname;
-    rev = lib.toLower version;
-    sha256 = "1zlaynkkvizf128ln50yvzz3b764f5a0yryp6993s9fkwa7djb6n";
+let
+  unwrapped = mkDerivation rec {
+    pname = "vapoursynth-editor";
+    version = "R19";
+
+    src = fetchFromBitbucket {
+      owner = "mystery_keeper";
+      repo = pname;
+      rev = lib.toLower version;
+      sha256 = "1zlaynkkvizf128ln50yvzz3b764f5a0yryp6993s9fkwa7djb6n";
+    };
+
+    nativeBuildInputs = [ qmake ];
+    buildInputs = [ qtbase vapoursynth qtwebsockets ];
+
+    dontWrapQtApps = true;
+
+    preConfigure = "cd pro";
+
+    preFixup = ''
+      cd ../build/release*
+      mkdir -p $out/bin
+      for bin in vsedit{,-job-server{,-watcher}}; do
+          mv $bin $out/bin
+          wrapQtApp $out/bin/$bin
+      done
+    '';
+
+    passthru = { inherit withPlugins; };
+
+    meta = with lib; {
+      description = "Cross-platform editor for VapourSynth scripts";
+      homepage = "https://bitbucket.org/mystery_keeper/vapoursynth-editor";
+      license = licenses.mit;
+      maintainers = with maintainers; [ tadeokondrak ];
+      platforms = platforms.all;
+    };
   };
 
-  nativeBuildInputs = [ qmake ];
-  buildInputs = [ qtbase vapoursynth qtwebsockets ];
-
-  dontWrapQtApps = true;
-
-  preConfigure = "cd pro";
-
-  preFixup = ''
-    cd ../build/release*
+  withPlugins = plugins: let
+    vapoursynthWithPlugins = vapoursynth.withPlugins plugins;
+  in runCommand "${unwrapped.name}-with-plugins" {
+    buildInputs = [ makeWrapper ];
+    passthru = { withPlugins = plugins': withPlugins (plugins ++ plugins'); };
+  } ''
     mkdir -p $out/bin
     for bin in vsedit{,-job-server{,-watcher}}; do
-        mv $bin $out/bin
-
-        wrapQtApp $out/bin/$bin \
-            --prefix PYTHONPATH : ${vapoursynth}/${python3.sitePackages} \
-            --prefix LD_LIBRARY_PATH : ${vapoursynth}/lib
+        makeWrapper ${unwrapped}/bin/$bin $out/bin/$bin \
+            --prefix PYTHONPATH : ${vapoursynthWithPlugins}/${python3.sitePackages} \
+            --prefix LD_LIBRARY_PATH : ${vapoursynthWithPlugins}/lib
     done
   '';
-
-  meta = with lib; {
-    description = "Cross-platform editor for VapourSynth scripts";
-    homepage = "https://bitbucket.org/mystery_keeper/vapoursynth-editor";
-    license = licenses.mit;
-    maintainers = with maintainers; [ tadeokondrak ];
-    platforms = platforms.all;
-  };
-}
+in
+  withPlugins []
diff --git a/pkgs/development/libraries/vapoursynth/plugin-interface.nix b/pkgs/development/libraries/vapoursynth/plugin-interface.nix
new file mode 100644
index 0000000000000..55b2b03c893e2
--- /dev/null
+++ b/pkgs/development/libraries/vapoursynth/plugin-interface.nix
@@ -0,0 +1,112 @@
+{ lib, python3, buildEnv, writeText, runCommandCC, stdenv, runCommand
+, vapoursynth, makeWrapper, withPlugins }:
+
+plugins: let
+  pythonEnvironment = python3.buildEnv.override {
+    extraLibs = plugins;
+  };
+
+  getRecursivePropagatedBuildInputs = pkgs: lib.flatten
+    (map
+      (pkg: pkg.propagatedBuildInputs ++ (getRecursivePropagatedBuildInputs pkg.propagatedBuildInputs))
+      pkgs);
+
+  deepPlugins = plugins ++ (getRecursivePropagatedBuildInputs plugins);
+
+  pluginsEnv = buildEnv {
+    name = "vapoursynth-plugins-env";
+    pathsToLink = [ "/lib/vapoursynth" ];
+    paths = deepPlugins;
+  };
+
+  pluginLoader = let
+    source = writeText "vapoursynth-nix-plugins.c" ''
+      void VSLoadPluginsNix(void (*load)(void *data, const char *path), void *data) {
+      ${lib.concatMapStringsSep "" (path: "load(data, \"${path}/lib/vapoursynth\");") deepPlugins}
+      }
+    '';
+  in
+  runCommandCC "vapoursynth-plugin-loader" {
+    executable = true;
+    preferLocalBuild = true;
+    allowSubstitutes = false;
+  } ''
+    mkdir -p $out/lib
+    $CC -shared -fPIC ${source} -o "$out/lib/libvapoursynth-nix-plugins${ext}"
+  '';
+
+  ext = stdenv.targetPlatform.extensions.sharedLibrary;
+in
+runCommand "${vapoursynth.name}-with-plugins" {
+  nativeBuildInputs = [ makeWrapper ];
+  passthru = {
+    inherit python3;
+    withPlugins = plugins': withPlugins (plugins ++ plugins');
+  };
+} ''
+  mkdir -p \
+    $out/bin \
+    $out/lib/pkgconfig \
+    $out/lib/vapoursynth \
+    $out/${python3.sitePackages}
+
+  for textFile in \
+      lib/pkgconfig/vapoursynth{,-script}.pc \
+      lib/libvapoursynth.la \
+      lib/libvapoursynth-script.la \
+      ${python3.sitePackages}/vapoursynth.la
+  do
+      substitute ${vapoursynth}/$textFile $out/$textFile \
+          --replace "${vapoursynth}" "$out"
+  done
+
+  for binaryPlugin in ${pluginsEnv}/lib/vapoursynth/*; do
+      ln -s $binaryPlugin $out/''${binaryPlugin#"${pluginsEnv}/"}
+  done
+
+  for pythonPlugin in ${pythonEnvironment}/${python3.sitePackages}/*; do
+      ln -s $pythonPlugin $out/''${pythonPlugin#"${pythonEnvironment}/"}
+  done
+
+  for binaryFile in \
+      lib/libvapoursynth${ext} \
+      lib/libvapoursynth-script${ext}.0.0.0
+  do
+    old_rpath=$(patchelf --print-rpath ${vapoursynth}/$binaryFile)
+    new_rpath="$old_rpath:$out/lib"
+    patchelf \
+        --set-rpath "$new_rpath" \
+        --output $out/$binaryFile \
+        ${vapoursynth}/$binaryFile
+    patchelf \
+        --add-needed libvapoursynth-nix-plugins${ext} \
+        $out/$binaryFile
+  done
+
+  for binaryFile in \
+      ${python3.sitePackages}/vapoursynth${ext} \
+      bin/.vspipe-wrapped
+  do
+      old_rpath=$(patchelf --print-rpath ${vapoursynth}/$binaryFile)
+      new_rpath="''${old_rpath//"${vapoursynth}"/"$out"}"
+      patchelf \
+          --set-rpath "$new_rpath" \
+          --output $out/$binaryFile \
+          ${vapoursynth}/$binaryFile
+  done
+
+  ln -s \
+      ${pluginLoader}/lib/libvapoursynth-nix-plugins${ext} \
+      $out/lib/libvapoursynth-nix-plugins${ext}
+  ln -s ${vapoursynth}/include $out/include
+  ln -s ${vapoursynth}/lib/vapoursynth/* $out/lib/vapoursynth
+  ln -s \
+      libvapoursynth-script${ext}.0.0.0 \
+      $out/lib/libvapoursynth-script${ext}
+  ln -s \
+      libvapoursynth-script${ext}.0.0.0 \
+      $out/lib/libvapoursynth-script${ext}.0
+
+  makeWrapper $out/bin/.vspipe-wrapped $out/bin/vspipe \
+      --prefix PYTHONPATH : $out/${python3.sitePackages}
+''
diff --git a/pkgs/development/libraries/vtk/generic.nix b/pkgs/development/libraries/vtk/generic.nix
index 273bff8852ee0..f4d1f3c407721 100644
--- a/pkgs/development/libraries/vtk/generic.nix
+++ b/pkgs/development/libraries/vtk/generic.nix
@@ -57,6 +57,8 @@ in stdenv.mkDerivation rec {
     export LD_LIBRARY_PATH="$(pwd)/lib";
   '';
 
+  dontWrapQtApps = true;
+
   # Shared libraries don't work, because of rpath troubles with the current
   # nixpkgs cmake approach. It wants to call a binary at build time, just
   # built and requiring one of the shared objects.
@@ -91,5 +93,7 @@ in stdenv.mkDerivation rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ knedlsepp tfmoraes lheckemann ];
     platforms = with platforms; unix;
+    # /nix/store/xxxxxxx-apple-framework-Security/Library/Frameworks/Security.framework/Headers/Authorization.h:192:7: error: variably modified 'bytes' at file scope
+    broken = if stdenv.isDarwin && (majorVersion == 7 || majorVersion == 8) then true else false;
   };
 }
diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix
index 7ec8936267bb6..fb7d1972c0241 100644
--- a/pkgs/development/libraries/wayland/default.nix
+++ b/pkgs/development/libraries/wayland/default.nix
@@ -28,19 +28,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "wayland";
-  version = "1.18.0";
+  version = "1.19.0";
 
   src = fetchurl {
     url = "https://wayland.freedesktop.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "0k995rn96xkplrapz5k648j651wc43kq817xk1x8280h16gsfxa6";
+    sha256 = "05bd2vphyx8qwa1mhsj1zdaiv4m4v94wrlssrn0lad8d601dkk5s";
   };
 
   patches = [
-    # Fix documentation to be reproducible.
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/wayland/wayland/-/commit/e53e0edf0f892670f3e8c5dd527b3bb22335d32d.patch";
-      sha256 = "15sbhi86m9k72lsj56p7zr20ph2b0y4svl639snsbafn2ir1zdb2";
-    })
     (substituteAll {
       src = ./0001-add-placeholder-for-nm.patch;
       nm = "${stdenv.cc.targetPrefix}nm";
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index 9bf91da6cd906..5e9a990d14ed2 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -155,6 +155,9 @@ stdenv.mkDerivation rec {
     "-DPORT=GTK"
     "-DUSE_LIBHYPHEN=OFF"
     "-DUSE_WPE_RENDERER=OFF"
+    # ensure backward compatibility with the latest version of icu:
+    # http://linuxfromscratch.org/blfs/view/svn/x/webkitgtk.html
+    "-DCMAKE_CXX_FLAGS=-DU_DEFINE_FALSE_AND_TRUE=1"
   ] ++ optionals stdenv.isDarwin [
     "-DENABLE_GRAPHICS_CONTEXT_3D=OFF"
     "-DENABLE_GTKDOC=OFF"
diff --git a/pkgs/development/libraries/wolfssl/default.nix b/pkgs/development/libraries/wolfssl/default.nix
index c0c0218a318fe..4635a80152de6 100644
--- a/pkgs/development/libraries/wolfssl/default.nix
+++ b/pkgs/development/libraries/wolfssl/default.nix
@@ -2,16 +2,17 @@
 
 stdenv.mkDerivation rec {
   pname = "wolfssl";
-  version = "4.5.0";
+  version = "4.7.0";
 
   src = fetchFromGitHub {
     owner = "wolfSSL";
     repo = "wolfssl";
     rev = "v${version}-stable";
-    sha256 = "138ppnwkqkfi7nnqpd0b93dqaph72ma65m9286bz2qzlis1x8r0v";
+    sha256 = "1aa51j0xnhi49izc8djya68l70jkjv25559pgybfb9sa4fa4gz97";
   };
 
-  configureFlags = [ "--enable-all" ];
+  # almost same as Debian but for now using --enable-all --enable-reproducible-build instead of --enable-distro to ensure options.h gets installed
+  configureFlags = [ "--enable-all" "--enable-reproducible-build" "--enable-pkcs11" "--enable-tls13" "--enable-base64encode" ];
 
   outputs = [ "out" "dev" "doc" "lib" ];
 
@@ -29,7 +30,7 @@ stdenv.mkDerivation rec {
     description = "A small, fast, portable implementation of TLS/SSL for embedded devices";
     homepage    = "https://www.wolfssl.com/";
     platforms   = platforms.all;
-    license = lib.licenses.gpl2;
+    license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ mcmtroffaes ];
   };
 }
diff --git a/pkgs/development/libraries/xdg-desktop-portal/default.nix b/pkgs/development/libraries/xdg-desktop-portal/default.nix
index cab3585283116..2b425300b31e0 100644
--- a/pkgs/development/libraries/xdg-desktop-portal/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal/default.nix
@@ -7,7 +7,6 @@
 , libxml2
 , glib
 , pipewire
-, fontconfig
 , flatpak
 , gsettings-desktop-schemas
 , acl
@@ -21,7 +20,7 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal";
-  version = "1.8.0";
+  version = "1.8.1";
 
   outputs = [ "out" "installedTests" ];
 
@@ -29,7 +28,7 @@ stdenv.mkDerivation rec {
     owner = "flatpak";
     repo = pname;
     rev = version;
-    sha256 = "1f1f79hy259lm017zaq4rpvys8zkmjspqily4a3lbnm77zk3y079";
+    sha256 = "sha256-tuRKCBj9ELC7yFPs/Sut/EdO+L8nwW3S8NWU+XedAF8=";
   };
 
   patches = [
@@ -50,7 +49,6 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib
     pipewire
-    fontconfig
     flatpak
     acl
     dbus
diff --git a/pkgs/development/libraries/zeromq/4.x.nix b/pkgs/development/libraries/zeromq/4.x.nix
index a3c35d123b6a1..b37dfbdd70773 100644
--- a/pkgs/development/libraries/zeromq/4.x.nix
+++ b/pkgs/development/libraries/zeromq/4.x.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zeromq";
-  version = "4.3.3";
+  version = "4.3.4";
 
   src = fetchFromGitHub {
     owner = "zeromq";
     repo = "libzmq";
     rev = "v${version}";
-    sha256 = "155kb0ih0xj4jvd39bq8d04bgvhy9143r3632ks1m04455z4qdzd";
+    sha256 = "sha256-epOEyHOswUGVwzz0FLxhow/zISmZHxsIgmpOV8C8bQM=";
   };
 
   nativeBuildInputs = [ cmake asciidoc pkg-config ];
diff --git a/pkgs/development/misc/google-clasp/google-clasp.nix b/pkgs/development/misc/google-clasp/google-clasp.nix
index e21d6a0308b97..baacee29ff201 100644
--- a/pkgs/development/misc/google-clasp/google-clasp.nix
+++ b/pkgs/development/misc/google-clasp/google-clasp.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
@@ -6,12 +6,12 @@
 
 let
   nodeEnv = import ../../node-packages/node-env.nix {
-    inherit (pkgs) lib stdenv python2 util-linux runCommand writeTextFile;
-    inherit nodejs;
+    inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
+    inherit pkgs nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
 import ./node-packages.nix {
-  inherit (pkgs) fetchurl fetchgit;
+  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
   inherit nodeEnv;
 }
diff --git a/pkgs/development/misc/google-clasp/node-packages.nix b/pkgs/development/misc/google-clasp/node-packages.nix
index a58f58e05c643..c8a611ff160fc 100644
--- a/pkgs/development/misc/google-clasp/node-packages.nix
+++ b/pkgs/development/misc/google-clasp/node-packages.nix
@@ -1,34 +1,34 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
 let
   sources = {
-    "@nodelib/fs.scandir-2.1.3" = {
+    "@nodelib/fs.scandir-2.1.4" = {
       name = "_at_nodelib_slash_fs.scandir";
       packageName = "@nodelib/fs.scandir";
-      version = "2.1.3";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz";
-        sha512 = "07zn0jp8b7nrrpkxwx715n68ncr51xiyz46j8g1fdvy07cr3s60npwhds1difzwdgz762zwirirppmc5dwl5pdqmww1m0zp15hv0sbq";
+        url = "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz";
+        sha512 = "33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==";
       };
     };
-    "@nodelib/fs.stat-2.0.3" = {
+    "@nodelib/fs.stat-2.0.4" = {
       name = "_at_nodelib_slash_fs.stat";
       packageName = "@nodelib/fs.stat";
-      version = "2.0.3";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz";
-        sha512 = "2n8008qx9kqgxsgsd22r2xrkm56nwsnwjfws9s4jjmbrk4gz8vfhdw7vp70kn59mqfihkdks6s0101javrpfi7hg8l0qk3nwjp4a03d";
+        url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz";
+        sha512 = "IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==";
       };
     };
-    "@nodelib/fs.walk-1.2.4" = {
+    "@nodelib/fs.walk-1.2.6" = {
       name = "_at_nodelib_slash_fs.walk";
       packageName = "@nodelib/fs.walk";
-      version = "1.2.4";
+      version = "1.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz";
-        sha512 = "2nsw6dfpkrkm8pxp2d9jlva5mnwqfzssj9r3xlyvrybb26xvjjkw7c0jvfilz08xvvgaanjxvqz6ycqh35avnqwg8mns39biqwmfpym";
+        url = "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz";
+        sha512 = "8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==";
       };
     };
     "@sindresorhus/is-0.14.0" = {
@@ -37,7 +37,7 @@ let
       version = "0.14.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz";
-        sha512 = "0nvckjkw0vk0vs1c689m143ml2ibm8cd3h8pc5ncq4lnm0k6c7vki57paf57s16k4wf7xi2mg7a1qw3vsrjq9q6kq7s4d83bpvi7lgl";
+        sha512 = "9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==";
       };
     };
     "@szmarczak/http-timer-1.1.2" = {
@@ -46,25 +46,16 @@ let
       version = "1.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz";
-        sha512 = "148vnx878hajsqb1aimsqg8wz9kja37pmfrf7ac501q2rci4v3cwwar8z3425pnd6pwvsinymy5qmc6gp2j1pw8g2idwk67pifpd02w";
-      };
-    };
-    "@types/events-3.0.0" = {
-      name = "_at_types_slash_events";
-      packageName = "@types/events";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz";
-        sha512 = "3v6shgxnlkc7izsc00g8ilpxi1q2mpcmbjyfawyqcj8mwfhlx2cnkm3hj87gsd39yyq33pilb0dbb4cdc8wwhn7dcwj4srg0amrp8qi";
+        sha512 = "XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==";
       };
     };
-    "@types/glob-7.1.1" = {
+    "@types/glob-7.1.3" = {
       name = "_at_types_slash_glob";
       packageName = "@types/glob";
-      version = "7.1.1";
+      version = "7.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz";
-        sha512 = "3dhbgdkzpgx010hfgkhndrb094kbd3z6s4waicihnl0rp3jk0f0gs8vvzi84xzissrhml1dfgvbdhahzbh75nny1g6429fnqvlp866l";
+        url = "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz";
+        sha512 = "SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==";
       };
     };
     "@types/minimatch-3.0.3" = {
@@ -73,16 +64,16 @@ let
       version = "3.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz";
-        sha512 = "2ff7lcgph45bp2v5zsaxcy00rbh5n5h4njbicwhqilz66pd1lw7xfrpfl4i4ppfcx78zg9cp582b5fjif0dg7r18m44vxfksslvlyml";
+        sha512 = "tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==";
       };
     };
-    "@types/node-13.9.1" = {
+    "@types/node-14.14.22" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "13.9.1";
+      version = "14.14.22";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-13.9.1.tgz";
-        sha512 = "2linpd9l89509ib4fbfw2pwgybl5wb23w9cxfxw9vmpbqhklappmlhfg89znkpajqbpvjl40z0srmmwyivdw40zczighzz58qvkm8qk";
+        url = "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz";
+        sha512 = "g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==";
       };
     };
     "abort-controller-3.0.0" = {
@@ -91,25 +82,25 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz";
-        sha512 = "1x70yq0brkpbwyss5m5z3q41f4w6wf2pp1xdy31q49kwshyvmxadwdzwb53vdhbx1sfkzrrf864xswgkc44wl7kvv8qjrcwsvr51jc7";
+        sha512 = "h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==";
       };
     };
-    "agent-base-6.0.0" = {
+    "agent-base-6.0.2" = {
       name = "agent-base";
       packageName = "agent-base";
-      version = "6.0.0";
+      version = "6.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/agent-base/-/agent-base-6.0.0.tgz";
-        sha512 = "2mlsi3nqlanwznzfz3dgmwv412vs83liaiifwqkh671z6j5s1qc7giv90s6dya7dmv9rrxsj0v3zkd9w2fgmpb0mqqf0dxa41qknm4g";
+        url = "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz";
+        sha512 = "RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==";
       };
     };
-    "aggregate-error-3.0.1" = {
+    "aggregate-error-3.1.0" = {
       name = "aggregate-error";
       packageName = "aggregate-error";
-      version = "3.0.1";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz";
-        sha512 = "00ccx66xcda4wlic1naxckbz0vbzyp0wrcj1wd5dqlr08n264s7c00i4dbq41fnq9b6ip7w1j9n3qyg2kd8hwpfd76i5z3xqrg1msma";
+        url = "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz";
+        sha512 = "4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==";
       };
     };
     "ansi-escapes-3.2.0" = {
@@ -118,7 +109,7 @@ let
       version = "3.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz";
-        sha512 = "12pp3q4c44hrzr2xl9vqjigwjn2wr1j0lhvshl75z5m6a97hqkd047sdcma1inzjvxhpkzk1qkvag7cw3sya32s9wsfasr6xsnnj63h";
+        sha512 = "cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==";
       };
     };
     "ansi-regex-3.0.0" = {
@@ -136,7 +127,7 @@ let
       version = "4.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz";
-        sha512 = "1v2gfp292kslpvam0l0h1iba35yi0n7dc6qv6fmxsdyfcp6zakkl13vrh3hzsw4zgh50jrrsg7xb2q2hn4g8a0dmf947mfcylymxanm";
+        sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==";
       };
     };
     "ansi-styles-3.2.1" = {
@@ -145,7 +136,7 @@ let
       version = "3.2.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
-        sha512 = "2lgkskkj4c1fsnrksy0yffda0wss84p8lfiazdc7jli7iqnvrxkzbxjzpvx13lm28qw0zkawfxvz2bdiisc72ccy7hx8i8rm4iijgam";
+        sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
       };
     };
     "array-differ-3.0.0" = {
@@ -154,7 +145,7 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz";
-        sha512 = "0r28zgr6s5xc89py7m7slvhh08whrm0bg278byz4218hgw6gd11dc6hpirl0jgblv8n2h55vqixfpmsfqv2l8c0r0zw3d4a5rhmyysc";
+        sha512 = "THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==";
       };
     };
     "array-union-2.1.0" = {
@@ -163,7 +154,7 @@ let
       version = "2.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz";
-        sha512 = "35whnhqnw23y121ilf8kl79pyqb9bjsg32gsazzlmww9zgk22c5jycf0vlkpsnp67rqw05hhw97hxw216hpnm6bxa620lyqwjhb2v0w";
+        sha512 = "HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==";
       };
     };
     "arrify-2.0.1" = {
@@ -172,7 +163,7 @@ let
       version = "2.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz";
-        sha512 = "2xd8y87g4h0dfnifdci7lhbx35fjxaxrdmcb80kgxahcrqqpnykfkmxxgvpmrfjc7l4rxwk3k81l7n903gk1047idm4rwxwv3189nyx";
+        sha512 = "3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==";
       };
     };
     "balanced-match-1.0.0" = {
@@ -184,22 +175,22 @@ let
         sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
       };
     };
-    "base64-js-1.3.1" = {
+    "base64-js-1.5.1" = {
       name = "base64-js";
       packageName = "base64-js";
-      version = "1.3.1";
+      version = "1.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz";
-        sha512 = "3mbfy80f2q6z8fwzch81hn7z0wjjsz6lwzz4jwrgr62pyql94mwi21k0l28xba2q1pydf8hf0jzzvr8w34rjmk135pjpmqfcj5kid4q";
+        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz";
+        sha512 = "AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==";
       };
     };
-    "bignumber.js-7.2.1" = {
+    "bignumber.js-9.0.1" = {
       name = "bignumber.js";
       packageName = "bignumber.js";
-      version = "7.2.1";
+      version = "9.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz";
-        sha512 = "1sxpshc5qga6sjamj8h1jlswqv7fh7ixr77hbg9x07cwkr19n7vn7a76189gh2003d0p07i2iappgjyfg53bjxzf68iyc3c9q3g71ab";
+        url = "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz";
+        sha512 = "IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==";
       };
     };
     "brace-expansion-1.1.11" = {
@@ -208,7 +199,7 @@ let
       version = "1.1.11";
       src = fetchurl {
         url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz";
-        sha512 = "248cnpbbf0p32h53rd3g8wzpgrkaj4p078ra1g6l16f82i6bzkvmhwqan5rk88apbll9ly1476kngd7f7z27i3b3zxpbb3064f8yaw8";
+        sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
       };
     };
     "braces-3.0.2" = {
@@ -217,7 +208,7 @@ let
       version = "3.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz";
-        sha512 = "38dmhgggv4r7xf3chli957yj4gzfv9xhif8zzaqjnxavkrs1qbmj9m84vxh42n1jl9sddy16ryp4g93l1p8dvrc1pbcvk2ippwadjvg";
+        sha512 = "b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==";
       };
     };
     "buffer-equal-constant-time-1.0.1" = {
@@ -235,7 +226,16 @@ let
       version = "6.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz";
-        sha512 = "214hpw087zbwnf1naz9184bbz0gn773j70jjvfj0vd7lll2i62j58606l281sz3dngjlhb2v5j00rnqy94y3yhwxmbyda62cc0dqg9s";
+        sha512 = "Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==";
+      };
+    };
+    "call-bind-1.0.2" = {
+      name = "call-bind";
+      packageName = "call-bind";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz";
+        sha512 = "7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==";
       };
     };
     "chalk-2.4.2" = {
@@ -244,7 +244,7 @@ let
       version = "2.4.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz";
-        sha512 = "2wr55z22i274wadq2cvpxga28a8igq9whc4m1q06sz5sn2hc4amradd5vd02wm92vyfg2qrb0bysd5drv7mfmlb2wqdf939v5zvxn1j";
+        sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
       };
     };
     "chardet-0.7.0" = {
@@ -253,7 +253,7 @@ let
       version = "0.7.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz";
-        sha512 = "1qg04aw34n3l68g6s6li7pfdspkj3zmb7qsqf096h19jwc34mv8sbhik4xcx9aazys1ycb5k736f4lql46s0rhl361pmlz1r86j4gwr";
+        sha512 = "mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==";
       };
     };
     "clean-stack-2.2.0" = {
@@ -262,7 +262,7 @@ let
       version = "2.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz";
-        sha512 = "3a11z08fhd0c5rib496gi10xdi7al80hqy8y4r3zpckaqwgmm9iaarm5arkjr1rwlfg6yk8kics0h1qqqd0x8f5028y44wkfvs85n71";
+        sha512 = "4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==";
       };
     };
     "cli-cursor-2.1.0" = {
@@ -280,16 +280,16 @@ let
       version = "0.2.10";
       src = fetchurl {
         url = "https://registry.npmjs.org/cli-spinner/-/cli-spinner-0.2.10.tgz";
-        sha512 = "3ysg16xq4z00px0j02wqkmsj8znxkw3bs3vx8v56xz7gbxg31by6h7vh2g0hqnfrg2f3rpmr873q862ljfbh64hsvi25ga9w91i4jsk";
+        sha512 = "U0sSQ+JJvSLi1pAYuJykwiA8Dsr15uHEy85iCJ6A+0DjVxivr3d+N2Wjvodeg89uP5K6TswFkKBfAD7B3YSn/Q==";
       };
     };
-    "cli-width-2.2.0" = {
+    "cli-width-2.2.1" = {
       name = "cli-width";
       packageName = "cli-width";
-      version = "2.2.0";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz";
-        sha1 = "ff19ede8a9a5e579324147b0c11f0fbcbabed639";
+        url = "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz";
+        sha512 = "GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==";
       };
     };
     "clone-response-1.0.2" = {
@@ -307,7 +307,7 @@ let
       version = "1.9.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz";
-        sha512 = "0d5pmdh1dh0qbpjrzdczwqkh0jwf8gxhq71mknwlxqz80h1q6kdrpghq4qfp0y4v650ia2jdihmzpb2n8hg00h72lnx05dgvysi9w21";
+        sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==";
       };
     };
     "color-name-1.1.3" = {
@@ -325,7 +325,7 @@ let
       version = "2.20.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz";
-        sha512 = "1qqrwy7z476gqa94kjjyyzyi3x49k28ji7znbc65plrp67yzmpa2yyslh6bl965yl4jqb2fwb2ljzhgcvv2xxj8ab86n5rgryc6958s";
+        sha512 = "GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==";
       };
     };
     "concat-map-0.0.1" = {
@@ -337,13 +337,13 @@ let
         sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
       };
     };
-    "debug-4.1.1" = {
+    "debug-4.3.2" = {
       name = "debug";
       packageName = "debug";
-      version = "4.1.1";
+      version = "4.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz";
-        sha512 = "1kmf9j5pka2rsljg5x6shniwmgs9444ksgdn0d3fjmis7yghxxn2zj526s36ip8rmpfni9zpj8z74w7irax32a67j59xw38wk6hi055";
+        url = "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz";
+        sha512 = "mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==";
       };
     };
     "decompress-response-3.3.0" = {
@@ -361,7 +361,7 @@ let
       version = "1.1.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz";
-        sha512 = "1aidgab75g8sx8hi5491l2y5k4aag4j6f55kbmyapvyy4hmqdmvh0asr9p8bz2710awqak65jym8w00k6brb1a8v19zc7mcicv9v16h";
+        sha512 = "0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==";
       };
     };
     "define-properties-1.1.3" = {
@@ -370,7 +370,7 @@ let
       version = "1.1.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz";
-        sha512 = "1fsa8nx7qgi958fykj36cndsf8ygj3132if6k4a36mkf11bl2j2gn7dn2nz07mfsygkx0415yxrjpzx8j369z1767fvr57nm1h9zjnw";
+        sha512 = "3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==";
       };
     };
     "del-5.1.0" = {
@@ -379,7 +379,7 @@ let
       version = "5.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/del/-/del-5.1.0.tgz";
-        sha512 = "2fc139fcwy724dim9b5m6b6880q0s716r00ycmd8j13fhwasfrghks9w6mwzyqgvq0c4sgiadqixdv906pmp26xihyklwz7a4wp2zy0";
+        sha512 = "wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==";
       };
     };
     "dir-glob-3.0.1" = {
@@ -388,7 +388,7 @@ let
       version = "3.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz";
-        sha512 = "0h761rklv8qk0vhv6ms98gsvdiyk8455iqqh6wh8dfal5xjx87gmmpyg7773zdrxwvhnzw58pan4rdqjfwkhcv653gsbq4is6kxcjjs";
+        sha512 = "WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==";
       };
     };
     "dns-packet-5.2.1" = {
@@ -397,25 +397,25 @@ let
       version = "5.2.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/dns-packet/-/dns-packet-5.2.1.tgz";
-        sha512 = "3znyrkkjkq0kvh1ik1n597rflifrrmy83r8jkwf5mmivv3nx44l96xa6z5gbqq16ypic0xg723rz8g7bpfs967brmqsjflajz4gcy14";
+        sha512 = "JHj2yJeKOqlxzeuYpN1d56GfhzivAxavNwHj9co3qptECel27B1rLY5PifJAvubsInX5pGLDjAHuCfCUc2Zv/w==";
       };
     };
-    "dns-socket-4.2.0" = {
+    "dns-socket-4.2.1" = {
       name = "dns-socket";
       packageName = "dns-socket";
-      version = "4.2.0";
+      version = "4.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dns-socket/-/dns-socket-4.2.0.tgz";
-        sha512 = "2nqakl6510w3f70ia79lms1y0njjggg2dpp2937qh04bjfkvh179fbizkhy9mxs1hg3d4jbds0aj23wpa4qmnziirvip3mw7pgq6yz1";
+        url = "https://registry.npmjs.org/dns-socket/-/dns-socket-4.2.1.tgz";
+        sha512 = "fNvDq86lS522+zMbh31X8cQzYQd6xumCNlxsuZF5TKxQThF/e+rJbVM6K8mmlsdcSm6yNjKJQq3Sf38viAJj8g==";
       };
     };
-    "dotf-1.5.0" = {
+    "dotf-1.5.3" = {
       name = "dotf";
       packageName = "dotf";
-      version = "1.5.0";
+      version = "1.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dotf/-/dotf-1.5.0.tgz";
-        sha512 = "3b4bpb8nr856zyfi210cp77js41mpq4mvks3qq1xrq8gyamzy41cxy12kis2qyxhbfl34vi3ycb8jhg3g3pn78m1xiwvbfj93776i5p";
+        url = "https://registry.npmjs.org/dotf/-/dotf-1.5.3.tgz";
+        sha512 = "hYztBLJ6AoY0GO5qNDy+MH8lNZavrAkVqrfvv9sQSImDo553JRLRjMre11EW4ZPRg8Y4Uha7qwqiMJQDVXxVqg==";
       };
     };
     "duplexer3-0.1.4" = {
@@ -433,7 +433,7 @@ let
       version = "1.0.11";
       src = fetchurl {
         url = "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz";
-        sha512 = "1qianmi7icfcsfp04wpjqrf9fg9s0l3s8189a5s25494h9zvqf4mx72b7gwiynwpvv1yb3hrg5mklp8dn5287h9j7xdnv1b2vfjba4x";
+        sha512 = "nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==";
       };
     };
     "ellipsize-0.1.0" = {
@@ -451,16 +451,16 @@ let
       version = "1.4.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz";
-        sha512 = "3jyw0a0c7m1yxglwk7i5jh8zb3vvx7f9l4frbskxkgf9cyf4i8ww26p8bimnsryrh1dx7lwrxq64vbpjwfcv1svd4lg8m07fa53bv7s";
+        sha512 = "+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==";
       };
     };
-    "es-abstract-1.17.4" = {
+    "es-abstract-1.18.0-next.2" = {
       name = "es-abstract";
       packageName = "es-abstract";
-      version = "1.17.4";
+      version = "1.18.0-next.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz";
-        sha512 = "24sx605c7x5di53nzw0x2brrfvy4nw76ws0gsd1hskdifrcxafn8fwk0n11si002zxhfs9c8nba1acaj2zkrqrgp8k5vw0vz2dyxv81";
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz";
+        sha512 = "Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==";
       };
     };
     "es-to-primitive-1.2.1" = {
@@ -469,7 +469,7 @@ let
       version = "1.2.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz";
-        sha512 = "2y6j97j2f10gc52kw7qin10gm24m5hz1qq7ph6jf89y8a9i8vb268f2q0z78qjmngc765y9v0f1ldc5qb10b638yqlabda90sbaa8s0";
+        sha512 = "QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==";
       };
     };
     "escape-string-regexp-1.0.5" = {
@@ -487,7 +487,7 @@ let
       version = "5.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz";
-        sha512 = "1czwwj9g33wdi578wfrx6cfs8fmh6yvjrpk620d415f4fiajm084fylyqywq45rc4mf7vrnrr6879c097akbgjf158yrzmkfip9gzcb";
+        sha512 = "i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==";
       };
     };
     "exec-sh-0.2.2" = {
@@ -496,7 +496,7 @@ let
       version = "0.2.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz";
-        sha512 = "01xwgxaanmd0h0i1pvqy0fk6sqxmab59mjww1mzj3dc25zzrw4z7n7rcl5wd1y7s38lvgcg815qc700kw36ipd42jsf8vji7lkh518l";
+        sha512 = "FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==";
       };
     };
     "extend-3.0.2" = {
@@ -505,7 +505,7 @@ let
       version = "3.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz";
-        sha512 = "3zad2109w3q3gh46s5msrnzfy2nl581sqpy20b52fs7v5pdjh3irpg7szl3xvh4sfy63218jy8ry6qlnir3baxbbfrb03swkw5swfky";
+        sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
       };
     };
     "external-editor-3.1.0" = {
@@ -514,34 +514,34 @@ let
       version = "3.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz";
-        sha512 = "1xm0arqcf7jp9kgq1g67ss2jvj8kblzbb7dd7sj2gm1g8cj4ilcwnn8vwspz3rh83yjphbl1lvqdyivrji6ccmnp3k2rmk9gl4kii44";
+        sha512 = "hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==";
       };
     };
-    "fast-glob-3.2.2" = {
+    "fast-glob-3.2.5" = {
       name = "fast-glob";
       packageName = "fast-glob";
-      version = "3.2.2";
+      version = "3.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz";
-        sha512 = "3n0a23s3nq6f339d9hw9mw4plbzcdmglhzm09w7azz5fb34xiw60rhhhsvcvqw8c86h3ryfvmk1k624jlf36w3wrrijjhrfivd7qdah";
+        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz";
+        sha512 = "2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==";
       };
     };
-    "fast-text-encoding-1.0.1" = {
+    "fast-text-encoding-1.0.3" = {
       name = "fast-text-encoding";
       packageName = "fast-text-encoding";
-      version = "1.0.1";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.1.tgz";
-        sha512 = "04pv2mmlav6kal13gnqyh44v5ikdv2myqr9higzdiwcp2i0nlk9807hiwwgd59xksrxcmnp7c60q6avhycsiigj4mnx9k7pmj0l90f7";
+        url = "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz";
+        sha512 = "dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==";
       };
     };
-    "fastq-1.6.1" = {
+    "fastq-1.10.1" = {
       name = "fastq";
       packageName = "fastq";
-      version = "1.6.1";
+      version = "1.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fastq/-/fastq-1.6.1.tgz";
-        sha512 = "0vr0q4q5s3glb32wlf6a2c58iixn3mqi4l7bqly16v32krfhh2mj2d5mna93fmjanjdk0h25m30xjx3anmw5297cdvyifcqqbk0g4ls";
+        url = "https://registry.npmjs.org/fastq/-/fastq-1.10.1.tgz";
+        sha512 = "AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA==";
       };
     };
     "figures-2.0.0" = {
@@ -559,7 +559,7 @@ let
       version = "7.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz";
-        sha512 = "2jrai6ri6sni8xyi8yji49ai8vkczbbiw6pb3pd9bcdizb58ncgnhnfmghhw87flm8y96y2z16738lwdyshby665nv60ljcwwbkvsm8";
+        sha512 = "qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==";
       };
     };
     "find-up-4.1.0" = {
@@ -568,7 +568,7 @@ let
       version = "4.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz";
-        sha512 = "2bi4wmj1qymhj4ap1nay5isn0w7x6ymxp30h5y1jv0hx7q0inmirmr09mn621h4alg0gpv2hjwl6ai2giw6pz7qvb85aqizsh0v14ry";
+        sha512 = "PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==";
       };
     };
     "fs-extra-8.1.0" = {
@@ -577,7 +577,7 @@ let
       version = "8.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz";
-        sha512 = "3i4dsx067a564yx62qy0gz15zvsihqybmmx56lqz4cbgh4fiv5ikrj53wa1rfcijlnkywx18az05m1541dm04gb51af57561s0506fa";
+        sha512 = "yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==";
       };
     };
     "fs.realpath-1.0.0" = {
@@ -595,7 +595,7 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz";
-        sha512 = "38chm1mh077ksx6hy2sssfz4q29hf0ncb9k6ila7si54zqcpl5fxd1rh6wi82blqp7jcspf4aynr7jqhbsg2yc9y42xpqqp6c1jz2n8";
+        sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==";
       };
     };
     "fuzzy-0.1.3" = {
@@ -607,13 +607,13 @@ let
         sha1 = "4c76ec2ff0ac1a36a9dccf9a00df8623078d4ed8";
       };
     };
-    "gaxios-2.3.2" = {
+    "gaxios-2.3.4" = {
       name = "gaxios";
       packageName = "gaxios";
-      version = "2.3.2";
+      version = "2.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gaxios/-/gaxios-2.3.2.tgz";
-        sha512 = "23w1hwvfpjhg7rllvid6w45irrya9qhxaffx2xm0pzy822jrbnm40pmg375dyx1wqrw73n613xnpc9aj6w982h12gd10a9gnp5skzrb";
+        url = "https://registry.npmjs.org/gaxios/-/gaxios-2.3.4.tgz";
+        sha512 = "US8UMj8C5pRnao3Zykc4AAVr+cffoNKRTg9Rsf2GiuZCW69vgJj38VK2PzlPuQU73FZ/nTk9/Av6/JGcE1N9vA==";
       };
     };
     "gcp-metadata-2.0.4" = {
@@ -622,7 +622,16 @@ let
       version = "2.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-2.0.4.tgz";
-        sha512 = "0p21f317hgbp2yvxfflhhdfvj07vg284pn1jnq8m5nkxzhxrs1npn2v7g6qxhky4hs906bcfk4n9bb5g13qc5zlb53z4anwkf25fnd7";
+        sha512 = "p1lXhJvcKvJHWfQXhkd4Za1kyXRsGZA0JH7Cjs07W9hrg84d/j5tqQhbGewlSLx9gNyuQUid69uLux48YbggLg==";
+      };
+    };
+    "get-intrinsic-1.1.0" = {
+      name = "get-intrinsic";
+      packageName = "get-intrinsic";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.0.tgz";
+        sha512 = "M11rgtQp5GZMZzDL7jLTNxbDfurpzuau5uqRWDPvlHjfvg3TdScAZo96GLvhMjImrmR8uAt0FS2RLoMrfWGKlg==";
       };
     };
     "get-stream-4.1.0" = {
@@ -631,16 +640,16 @@ let
       version = "4.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz";
-        sha512 = "3pwlllj9naaqzlc5axbxz4jqg3v533xd9jz945mjd3zmca3hh3pr1dpwc7416kjszw6igk060v6x2dgwpr7m1rd4djavmvr8bhavihq";
+        sha512 = "GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==";
       };
     };
-    "get-stream-5.1.0" = {
+    "get-stream-5.2.0" = {
       name = "get-stream";
       packageName = "get-stream";
-      version = "5.1.0";
+      version = "5.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz";
-        sha512 = "21v525x0f3qrc6f343xp3wjwwrjf1l3x0lmp34hivvvmdcz0a681s0b9wx4k5r3r8jyhc5kd6dqrwqjhpbl285xg333gkgbxhagayhi";
+        url = "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz";
+        sha512 = "nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==";
       };
     };
     "glob-7.1.6" = {
@@ -649,16 +658,16 @@ let
       version = "7.1.6";
       src = fetchurl {
         url = "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz";
-        sha512 = "020qv13jbi1v4y5xavf6fw08h9svy4q9p67m4avkrrhgdjmk0c5k3h19bv7k6yn1vfxljpjw9kg81fbdg9v83cjplxvkn3v4v1v21ig";
+        sha512 = "LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==";
       };
     };
-    "glob-parent-5.1.0" = {
+    "glob-parent-5.1.1" = {
       name = "glob-parent";
       packageName = "glob-parent";
-      version = "5.1.0";
+      version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz";
-        sha512 = "23qivv79xv6rvb8fsi8hj0ic91ijfkw6dynzp8716bzafazq27dqc9ibxxlkfs7wqnhyzzimaa3xn8i22838ds157kyg60mfa152fxa";
+        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz";
+        sha512 = "FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==";
       };
     };
     "globby-10.0.2" = {
@@ -667,7 +676,7 @@ let
       version = "10.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz";
-        sha512 = "151032pigk461rknfg3y4n80dcxsl597vl4hqkz4ylb620zzbh45bn3zl4lc8brn0klvjpqs2lfi79p9gvs6zybdbqkz8f23gnj5mgd";
+        sha512 = "7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==";
       };
     };
     "google-auth-library-4.2.6" = {
@@ -676,7 +685,7 @@ let
       version = "4.2.6";
       src = fetchurl {
         url = "https://registry.npmjs.org/google-auth-library/-/google-auth-library-4.2.6.tgz";
-        sha512 = "0bmmlc0lyr2qddknl3kwnpv2c2d5ag4dvydh3jgr557nfvb2qrna61a7x9aw26ni6x77pbkmf2vcxhlrz19jgjn44gccvkb1w4av7m0";
+        sha512 = "oJ6tCA9rbsYeIVY+mcLPFHa2hatz3XO6idYIrlI/KhhlMxZrO3tKyU8O2Pxu5KnSBBP7Wj4HtbM1LLKngNFaFw==";
       };
     };
     "google-p12-pem-2.0.4" = {
@@ -685,7 +694,7 @@ let
       version = "2.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-2.0.4.tgz";
-        sha512 = "3706hz8l4jq8b7a99hckrmgw5jbm64d6lxz5ni6kbzlg2m9zg0p573yj3mzxnfhhipj81xa03wr3m9gscg723lfbg21jr8n2hffb1jb";
+        sha512 = "S4blHBQWZRnEW44OcR7TL9WR+QCqByRvhNDZ/uuQfpxywfupikf/miba8js1jZi6ZOGv5slgSuoshCWh6EMDzg==";
       };
     };
     "googleapis-40.0.1" = {
@@ -694,7 +703,7 @@ let
       version = "40.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/googleapis/-/googleapis-40.0.1.tgz";
-        sha512 = "1mqr5nfznqp27fm9i5z2axh5h8c4yf3fm650bmvfng6l0f7gywnnw2wy2jps54iw606q6b47gxhhppkk78vnss8ljnf7d5f4ra9kah7";
+        sha512 = "B6qZVCautOOspEhru9GZ814I+ztkGWyA4ZEUfaXwXHBruX/HAWqedbsuUEx1w3nCECywK/FLTNUdcbH9zpaMaw==";
       };
     };
     "googleapis-common-2.0.4" = {
@@ -703,7 +712,7 @@ let
       version = "2.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/googleapis-common/-/googleapis-common-2.0.4.tgz";
-        sha512 = "3vsp91n82bbrz1l0zzi84jqwd2cbf3vyq88dkl08rnf5g3axvsxq8npswrg99cq8avrkrsm06gldi03arqs5d905345igxqpp36857i";
+        sha512 = "8RRkxr24v1jIKCC1onFWA8RGnwFV55m3Qpil9DLX1yLc9e5qvOJsRoDOhhD2e7jFRONYEhT/BzT8vJZANqSr9w==";
       };
     };
     "got-9.6.0" = {
@@ -712,16 +721,16 @@ let
       version = "9.6.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/got/-/got-9.6.0.tgz";
-        sha512 = "3whcjwqag287wncrji9r9bi3jv8ynkn1hpwdqghqdf8fms01xrjfsaf3z27k14kfjy55aa8gmfbx3nymxgpjd1vi9q8q6gfsnk9dds7";
+        sha512 = "R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==";
       };
     };
-    "graceful-fs-4.2.3" = {
+    "graceful-fs-4.2.4" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.3";
+      version = "4.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz";
-        sha512 = "12xdl6ai5jdxcpcavw2hk4zpiknz7g7f2cvgawzwlzv7cy7qf7riq8ymkgqdqxjkpl1mg627dxa65zc9b0yqhflsmqlfg5q3481azbb";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz";
+        sha512 = "WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==";
       };
     };
     "gtoken-3.0.2" = {
@@ -730,7 +739,7 @@ let
       version = "3.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/gtoken/-/gtoken-3.0.2.tgz";
-        sha512 = "2w9lx15w046817mg36fyrnfzzk3173v1c3v45n0mr2mqdzjbhzlrwfg60gpfiqjbds1vfzjwdn0ig3m0c969l91hpqrgm7pkkln5q04";
+        sha512 = "BOBi6Zz31JfxhSHRZBIDdbwIbOPyux10WxJHdx8wz/FMP1zyN1xFrsAWsgcLe5ww5v/OZu/MePUEZAjgJXSauA==";
       };
     };
     "has-1.0.3" = {
@@ -739,7 +748,7 @@ let
       version = "1.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/has/-/has-1.0.3.tgz";
-        sha512 = "37vh53c11hws66navka0w9xxm6rcr034bxpyvaldiqz1msafqf0jpi1aqxbaygs53arz9y510qg6dl6vrm285hrxniygs2l8lxnyrvz";
+        sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==";
       };
     };
     "has-flag-3.0.0" = {
@@ -757,7 +766,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz";
-        sha512 = "0mb9d5yqvznqmq073hdc4wl7175niiqpkpb7iqqv8p0q6xgmrhfap9ni6iwrx44w8p9vyg8n3zsllil5pdflzlh462dkydymfi2rdrw";
+        sha512 = "PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==";
       };
     };
     "http-cache-semantics-4.1.0" = {
@@ -766,7 +775,7 @@ let
       version = "4.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz";
-        sha512 = "1qvqr3inc283iggn9x9wwiv1zb634i5zmlh8dnl2c5n4czaf2yibs4dncrgxfg7zrdfkcali22mvys4pgyhmfqjb57b91qlay9czaki";
+        sha512 = "carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==";
       };
     };
     "https-proxy-agent-5.0.0" = {
@@ -775,7 +784,7 @@ let
       version = "5.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz";
-        sha512 = "1n8bc76isd6i45f468ydmgdl77xp7k226d38ij8z6d79b5xjm0fq07bqbsgd914wdd4ld2n4cz3wjm655qvglhwpffnhl0a2zj2cihj";
+        sha512 = "EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==";
       };
     };
     "iconv-lite-0.4.24" = {
@@ -784,16 +793,16 @@ let
       version = "0.4.24";
       src = fetchurl {
         url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz";
-        sha512 = "2n3ygx6km56rdcd5kq52bs2113xqm3vlw2kb9r7pnmxd2qhxrfahp2ngc4w7x8x76fyfpapnixnbjq1i24nc11mj6q7rghwj2fifwxz";
+        sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==";
       };
     };
-    "ignore-5.1.4" = {
+    "ignore-5.1.8" = {
       name = "ignore";
       packageName = "ignore";
-      version = "5.1.4";
+      version = "5.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz";
-        sha512 = "3q41bskh27g3dd95nqaf3lg1ck1iv1dbb6hhzg1jqlkk6j80q5sxb4i3n4k6rfw5nmnvrflaxvi281c7cv2ljlsxip6skb4m14x8dik";
+        url = "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz";
+        sha512 = "BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==";
       };
     };
     "indent-string-4.0.0" = {
@@ -802,7 +811,7 @@ let
       version = "4.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz";
-        sha512 = "3172bpzypayzfssbv1vi2anfh58k8bib049cd8m3fy1cvc480k43jnfq45i24acki0kbm54pfcn63pvqrngzsxj5f4frn00xrkc7l0i";
+        sha512 = "EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==";
       };
     };
     "inflight-1.0.6" = {
@@ -829,7 +838,7 @@ let
       version = "2.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz";
-        sha512 = "30rw2i1k63pbf0n5dbwly05h95cdp1kj8c9r15gv1cwha141g61k56fx4qwsvhpm1ksnf7agch1wxirs3s0m31wbfvmcqizgrlwdywk";
+        sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==";
       };
     };
     "inquirer-6.5.2" = {
@@ -838,7 +847,7 @@ let
       version = "6.5.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz";
-        sha512 = "1qz47j4jjik343ic5fx92q3jv1mfspj9ka574l6jbxr0mh8w1as4945qnl70m5v6rrgxcw64lg0p27j4bx3mfgfp0i1vf11k03nayvj";
+        sha512 = "cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==";
       };
     };
     "inquirer-autocomplete-prompt-1.0.1" = {
@@ -847,7 +856,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/inquirer-autocomplete-prompt/-/inquirer-autocomplete-prompt-1.0.1.tgz";
-        sha512 = "3j8f2ryrwa0x1qhmmh7gx22158sw3cknqcv96a86lj08r5s8fn3qxl0jskl40zvwlkzbfd616pa2hk1pj5ba11p6rmv7x1fy24pm1b3";
+        sha512 = "Y4V6ifAu9LNrNjcEtYq8YUKhrgmmufUn5fsDQqeWgHY8rEO6ZAQkNUiZtBm2kw2uUQlC9HdgrRCHDhTPPguH5A==";
       };
     };
     "ip-1.1.5" = {
@@ -859,22 +868,22 @@ let
         sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a";
       };
     };
-    "ip-regex-4.1.0" = {
+    "ip-regex-4.3.0" = {
       name = "ip-regex";
       packageName = "ip-regex";
-      version = "4.1.0";
+      version = "4.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ip-regex/-/ip-regex-4.1.0.tgz";
-        sha512 = "0q6z0axsvzqxwaxmspfj4gv06ndlwybjvj5rm928fwh4bj9wwdbkh4kn4cz6a3lrw7662zk2mcpxx9zdvkr9j6jskzz2k82p2jxkad4";
+        url = "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz";
+        sha512 = "B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==";
       };
     };
-    "is-callable-1.1.5" = {
+    "is-callable-1.2.3" = {
       name = "is-callable";
       packageName = "is-callable";
-      version = "1.1.5";
+      version = "1.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz";
-        sha512 = "3wmff73yzck45x5shydqswbww8zkl03i43yhy7mm6av9770yvd2gj7xfrc8f45fw2ncn7mwblxvxlcap5rngmklkjiis902qgkay8hi";
+        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz";
+        sha512 = "J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==";
       };
     };
     "is-date-object-1.0.2" = {
@@ -883,7 +892,7 @@ let
       version = "1.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz";
-        sha512 = "39f971gzwirnxjw4b72c175nbn1hnmrn1wljvbzvxv69hw9vpialhjafh9nkh0g3p26a49zss3rr7pxfww1f6day4s89hmqkm7l6aai";
+        sha512 = "USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==";
       };
     };
     "is-extglob-2.1.1" = {
@@ -910,7 +919,7 @@ let
       version = "4.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz";
-        sha512 = "19c23n8r8rfbz5rgs5csbjbpwgxvwi7y6kpsvlylgs2v1r1z2zm18qzzz2g8vnnwaldn5c4qalpc6p88rl0gjrrm278j52ks0m2svg4";
+        sha512 = "5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==";
       };
     };
     "is-ip-3.1.0" = {
@@ -919,7 +928,16 @@ let
       version = "3.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz";
-        sha512 = "3shj9n4j2lm2ls8bzxgfcj28jad9ci5bdy3pmdvgqr7zrbgpaiw9i03qg3p9l4myp3y4vnn42gidb3s07v7gqsknhib4fwwfzkdv6yz";
+        sha512 = "35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==";
+      };
+    };
+    "is-negative-zero-2.0.1" = {
+      name = "is-negative-zero";
+      packageName = "is-negative-zero";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz";
+        sha512 = "2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==";
       };
     };
     "is-number-7.0.0" = {
@@ -928,16 +946,16 @@ let
       version = "7.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz";
-        sha512 = "2g7332xqrb0cm36cn6rwdmgq7sllf9w19sf6jy4w0s4vgqdq1kngsnpz0z49i3vnknk8ms442yjllrdbqxbap9ajprc8yrs91za4l73";
+        sha512 = "41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==";
       };
     };
-    "is-online-8.2.1" = {
+    "is-online-8.5.1" = {
       name = "is-online";
       packageName = "is-online";
-      version = "8.2.1";
+      version = "8.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-online/-/is-online-8.2.1.tgz";
-        sha512 = "1hmzlq6v9pq270smya3b58h7g47k6ib733nf6q2qw0b4pia3zz0680knvr5gqs449smlhja5mzzyizbwhbdbrsy1p2gyvrnjbiyk7gk";
+        url = "https://registry.npmjs.org/is-online/-/is-online-8.5.1.tgz";
+        sha512 = "RKyTQx/rJqw2QOXHwy7TmXdlkpe0Hhj7GBsr6TQJaj4ebNOfameZCMspU5vYbwBBzJ2brWArdSvNVox6T6oCTQ==";
       };
     };
     "is-path-cwd-2.2.0" = {
@@ -946,7 +964,7 @@ let
       version = "2.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz";
-        sha512 = "0aws7clcb9cyvvb4430df9fhfnpg9bl1n07ymzp7jdzia0bvjg25gyd39xp2xhgkgpkqazw8csglblifdql0rpj4kfwg1r26xnkdpn3";
+        sha512 = "w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==";
       };
     };
     "is-path-inside-3.0.2" = {
@@ -955,25 +973,16 @@ let
       version = "3.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz";
-        sha512 = "1b02q8dp20gbph14ccd8fd9cm9kmxvqncp92j49c7bfnraidy0m27ic454xrza7iyhfz147d5jz1qwfqz8g0wabsqlardi650yhcrgz";
+        sha512 = "/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==";
       };
     };
-    "is-promise-2.1.0" = {
-      name = "is-promise";
-      packageName = "is-promise";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz";
-        sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
-      };
-    };
-    "is-regex-1.0.5" = {
+    "is-regex-1.1.2" = {
       name = "is-regex";
       packageName = "is-regex";
-      version = "1.0.5";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz";
-        sha512 = "1hqaalcf1yqll2yzm71a1axvid0x87jp41hyicw16rl12rrh6sp6srr9lk7wxm6a1vl3ypw8qyd0imbq8fl2h7yq8l8xawdnkbrclmy";
+        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz";
+        sha512 = "axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==";
       };
     };
     "is-stream-2.0.0" = {
@@ -982,7 +991,7 @@ let
       version = "2.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz";
-        sha512 = "09j5ybpil7bgiffzq9gw66svm3rrgx634aghkwyslbdx382iqpy991cf3kwfk2jh9bi8fjz5wa996wsjwmq21lzz5svgbsld7wk4ajw";
+        sha512 = "XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==";
       };
     };
     "is-symbol-1.0.3" = {
@@ -991,7 +1000,7 @@ let
       version = "1.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz";
-        sha512 = "1lmzzy2360gfg5639x8mzi5fpc1bgpdx0ffjlqaz9affd0lvvpi7yjwk15jsm1y1l8rf5jahyapv6rm2w3p86gxkghsp0jjlj2s621v";
+        sha512 = "OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==";
       };
     };
     "is-wsl-1.1.0" = {
@@ -1003,13 +1012,13 @@ let
         sha1 = "1f16e4aa22b04d1336b66188a66af3c600c3a66d";
       };
     };
-    "json-bigint-0.3.0" = {
+    "json-bigint-0.3.1" = {
       name = "json-bigint";
       packageName = "json-bigint";
-      version = "0.3.0";
+      version = "0.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json-bigint/-/json-bigint-0.3.0.tgz";
-        sha1 = "0ccd912c4b8270d05f056fbd13814b53d3825b1e";
+        url = "https://registry.npmjs.org/json-bigint/-/json-bigint-0.3.1.tgz";
+        sha512 = "DGWnSzmusIreWlEupsUelHrhwmPPE+FiQvg+drKfk2p+bdEYa5mp4PJ8JsCWqae0M2jQNb0HPvnwvf1qOTThzQ==";
       };
     };
     "json-buffer-3.0.0" = {
@@ -1030,13 +1039,13 @@ let
         sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb";
       };
     };
-    "jsonfile-6.0.1" = {
+    "jsonfile-6.1.0" = {
       name = "jsonfile";
       packageName = "jsonfile";
-      version = "6.0.1";
+      version = "6.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz";
-        sha512 = "038bg8hpg0xbzfcas7llqd4fn4mimcr0xfl7azcsi3kqrra3x0lbrn1dvq0nh082ik799mnj1z4i9hl5myc6znbp87g5nnxzvk9n7cd";
+        url = "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz";
+        sha512 = "5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==";
       };
     };
     "jwa-1.4.1" = {
@@ -1045,7 +1054,7 @@ let
       version = "1.4.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz";
-        sha512 = "10ayxzbvjd8a52s9dzlxbvjqab1fchaq0vfvj7smqp0gyp0v4v731rdsapsbwvvxib4xjpk0ksg1kbs3c9qi1cy02a5442433zxf8ma";
+        sha512 = "qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==";
       };
     };
     "jws-3.2.2" = {
@@ -1054,7 +1063,7 @@ let
       version = "3.2.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz";
-        sha512 = "0fb9ijf27cljn3nlj1r7xvqjzz71pbrpavhxmvqapb219f31v7ikrdlphxbdxdbaw2fplmlqj5yqx35zxy3qlivb1jkjcd53q45jyb0";
+        sha512 = "YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==";
       };
     };
     "keyv-3.1.0" = {
@@ -1063,7 +1072,7 @@ let
       version = "3.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz";
-        sha512 = "1a1q61z26z860lq8pvcbaz1fii1ipafnk7iab6zs7dqijwiq8mr83cnh1h30jird29s2q4345gszcs3fg48kv6g7i5gydwjivzhjagp";
+        sha512 = "9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==";
       };
     };
     "locate-path-5.0.0" = {
@@ -1072,16 +1081,16 @@ let
       version = "5.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz";
-        sha512 = "3r6llra9imfvg31342986kfkzm34ficva43avn7cng5inb9f5xrnr64jm4pykjjjbjs9np0mhia370ysnf97w4m6jqgnniyjbv71f5p";
+        sha512 = "t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==";
       };
     };
-    "lodash-4.17.15" = {
+    "lodash-4.17.20" = {
       name = "lodash";
       packageName = "lodash";
-      version = "4.17.15";
+      version = "4.17.20";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz";
-        sha512 = "3a41cs1932x00vd7h32v6rfkaak3vhkwv4x0bg27ilhlmbpl95r3abc4vja21k42cdfprsy3sdfcp2xs02sfp1fflf7m3n2gd29q4zk";
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz";
+        sha512 = "PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==";
       };
     };
     "lowercase-keys-1.0.1" = {
@@ -1090,7 +1099,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz";
-        sha512 = "1a7qa1zn5zl1nf7i6w3299lc3biabfb0w2c30cl770l2dbldvi72nwvjdlinhx7j0ldip82sj710aprdjbmbg782i2pa3jpbgmy6qhv";
+        sha512 = "G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==";
       };
     };
     "lowercase-keys-2.0.0" = {
@@ -1099,7 +1108,7 @@ let
       version = "2.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz";
-        sha512 = "2c8fy71cr597nqfq7savid5rdk1msa2pcvxkn504w8bksci9vpm7x3a9yy87zc1lb5chzqnii12rd1h0jpc8k3kxy2c787w5snmg8xn";
+        sha512 = "tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==";
       };
     };
     "lru-cache-5.1.1" = {
@@ -1108,7 +1117,7 @@ let
       version = "5.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz";
-        sha512 = "3vjhn04mjkxbkfb4fh7xnlghlgmqffqp5i1w2vg1ndgh5izv7nwvr8lq1n1hypfs5pm3bvbk7wf3fjm2pavld1hipz0n8rp012l14ra";
+        sha512 = "KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==";
       };
     };
     "merge-1.2.1" = {
@@ -1117,16 +1126,16 @@ let
       version = "1.2.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz";
-        sha512 = "2yh381iph3hr5c720br83iwv18hncwqhqgp9ilnl3dgblm2s7p36skfcqlbv6xqkf6lmlf9h638gb75ds0b3wy2pvwdi1jnzvh6hcan";
+        sha512 = "VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==";
       };
     };
-    "merge2-1.3.0" = {
+    "merge2-1.4.1" = {
       name = "merge2";
       packageName = "merge2";
-      version = "1.3.0";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz";
-        sha512 = "1inz1swib3crzbwlqrpy74dhmn520qgzg5lkfmm3k1334lpb98d0xjpa6ydpdgwnp013j1n5m2yqkac4r75w6lbcj94hfj1v40h6gns";
+        url = "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz";
+        sha512 = "8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==";
       };
     };
     "micromatch-4.0.2" = {
@@ -1135,16 +1144,16 @@ let
       version = "4.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz";
-        sha512 = "3jiz9pr94hycvjgzxbxi0jfz7n142n3z5w14im7i0088lymjpvj8xrapr8s66xcp13ylh374hbpm9ixp8rln55n7lrcll6c4qfnkcfb";
+        sha512 = "y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==";
       };
     };
-    "mime-2.4.4" = {
+    "mime-2.5.0" = {
       name = "mime";
       packageName = "mime";
-      version = "2.4.4";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz";
-        sha512 = "0c4qs0w88nqz2v7441rw9bbsgrsh50cifwmqm2i7c96yz2ncdy35cb5g42zhr6z0wmqqcwq5la04nnf1n4y3zncvgyg8b721hvnc71d";
+        url = "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz";
+        sha512 = "ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==";
       };
     };
     "mimic-fn-1.2.0" = {
@@ -1153,7 +1162,7 @@ let
       version = "1.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz";
-        sha512 = "1clrrqw75rmpkw0x53axy8va2hq2gzynz9zb58m0xv1nh3lg81cv4dfdy7pk9vrlb9ydwmj6klpicwkv2bjx3m8aj4fi2ph3jxkizwd";
+        sha512 = "jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==";
       };
     };
     "mimic-response-1.0.1" = {
@@ -1162,7 +1171,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz";
-        sha512 = "32nwz24nh1f2nbpk8i638ff8hsg1ajmc6746abkssjr951z28362k5a92dd1cfr7bd1l9f507cn0pbam04ixfgsaygskv87g6v1r4cg";
+        sha512 = "j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==";
       };
     };
     "minimatch-3.0.4" = {
@@ -1171,16 +1180,7 @@ let
       version = "3.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
-        sha512 = "1879a3j85h92ypvb7lpv1dqpcxl49rqnbgs5la18zmj1yqhwl60c2m74254wbr5pp3znckqpkg9dvjyrz6hfz8b9vag5a3j910db4f8";
-      };
-    };
-    "minimist-0.0.8" = {
-      name = "minimist";
-      packageName = "minimist";
-      version = "0.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
-        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+        sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
       };
     };
     "minimist-1.2.5" = {
@@ -1189,16 +1189,16 @@ let
       version = "1.2.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz";
-        sha512 = "0pif0kjsr0cdm73cyicn9xdx9zkly45w4akmyfa39lkaf6lzysfr8kr145p54wjk26pbsk0w0qfdds3k4bxy4wl5l210i1b8qsngkql";
+        sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==";
       };
     };
-    "mkdirp-0.5.1" = {
+    "mkdirp-0.5.5" = {
       name = "mkdirp";
       packageName = "mkdirp";
-      version = "0.5.1";
+      version = "0.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
-        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz";
+        sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==";
       };
     };
     "ms-2.1.2" = {
@@ -1207,7 +1207,7 @@ let
       version = "2.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz";
-        sha512 = "3dqfiiw6nxvvi24fndbzlccnjcas99bsd1kz5m2r78lzgpp6vx57jzbmxq3k1m7bsw88rwra0n4848l720fxxn5x20djck3wp3hysdh";
+        sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
       };
     };
     "multimatch-4.0.0" = {
@@ -1216,7 +1216,7 @@ let
       version = "4.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz";
-        sha512 = "02j464lazavd58a1qw29i6lj1g4rkilw7clssc5dp3pmkac528qpi95aazwdqqypsdk4338lqkz6mmbixh68x6w8jxsikxmvkpv2fcl";
+        sha512 = "lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==";
       };
     };
     "mute-stream-0.0.7" = {
@@ -1228,22 +1228,22 @@ let
         sha1 = "3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab";
       };
     };
-    "node-fetch-2.6.0" = {
+    "node-fetch-2.6.1" = {
       name = "node-fetch";
       packageName = "node-fetch";
-      version = "2.6.0";
+      version = "2.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz";
-        sha512 = "0s2drvlvgsan0f7cs66kbxxhqj4c399kf35h0jaya2v5syck1afzsx0pbyrlvpncg6ch93r5m88gcz5s3bvp59rm1ig2zm3kcgvilgi";
+        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz";
+        sha512 = "V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==";
       };
     };
-    "node-forge-0.9.1" = {
+    "node-forge-0.9.2" = {
       name = "node-forge";
       packageName = "node-forge";
-      version = "0.9.1";
+      version = "0.9.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-forge/-/node-forge-0.9.1.tgz";
-        sha512 = "2yn7gwj5adkc0156lv28w32q7mj2ln5af006cvgs9qdf72qnzga4j4fknvbiislxp9xk1ikld3ylrhn3vwqbvrm0y682vsjvr16b90v";
+        url = "https://registry.npmjs.org/node-forge/-/node-forge-0.9.2.tgz";
+        sha512 = "naKSScof4Wn+aoHU6HBsifh92Zeicm1GDQKd1vp3Y/kOi8ub0DozCa9KpvYNCXslFHYRmLNiqRopGdTGwNLpNw==";
       };
     };
     "normalize-url-4.5.0" = {
@@ -1252,16 +1252,16 @@ let
       version = "4.5.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz";
-        sha512 = "02k93b4vrh4rvz479dc5rjv43v54pzz5k5kn21cx6gl2b1c45s3sb29cy4cyifvfl9zqghs9m1f5kcv0hp4cwp8sigyqx9i6p5kpkns";
+        sha512 = "2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==";
       };
     };
-    "object-inspect-1.7.0" = {
+    "object-inspect-1.9.0" = {
       name = "object-inspect";
       packageName = "object-inspect";
-      version = "1.7.0";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz";
-        sha512 = "19lmsxagwl8zzqckw6p0bdjwjbq2bshicnw78az9ka40d0gjghmdm0ify1n3857fxadv43c6v0g27rk1dl514iwh40a5i3mv0fl9fkb";
+        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz";
+        sha512 = "i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==";
       };
     };
     "object-keys-1.1.1" = {
@@ -1270,16 +1270,16 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz";
-        sha512 = "0nf2rr25ncya39v7cq274x3w4drfbdrc3iqdwd017s1wndwh9plsjagbvhl6j6l6piipprdsvgfx4vfz8q2piz7bi4bjcll8d4h9q1n";
+        sha512 = "NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==";
       };
     };
-    "object.assign-4.1.0" = {
+    "object.assign-4.1.2" = {
       name = "object.assign";
       packageName = "object.assign";
-      version = "4.1.0";
+      version = "4.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz";
-        sha512 = "3krdp08gvbxvipalq64qy7bm86znxxdb7ap6bjki235qs17i9fsn6hqd22ga31sqyqa6iyy5xjfnnqc7lsck1kaybwsh154mrxcj4bv";
+        url = "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz";
+        sha512 = "ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==";
       };
     };
     "once-1.4.0" = {
@@ -1306,7 +1306,7 @@ let
       version = "6.4.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/open/-/open-6.4.0.tgz";
-        sha512 = "0da91ydfkavxd733v8b3bvcrp681xirng4nyrazinl5bc2y3aacjd2g1bnapmzpp7g85bk42qh064hclbflj7jrkg94gvq5z1aafmr0";
+        sha512 = "IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==";
       };
     };
     "os-tmpdir-1.0.2" = {
@@ -1324,7 +1324,7 @@ let
       version = "2.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/p-any/-/p-any-2.1.0.tgz";
-        sha512 = "0p0ndn153xzq9szwxrshsvfl0g14jhj3rjn6svhrq2r3a0yhsbjc9a95q3a3xpbr8xzmyrv3s1467pvz86n7s7bmf684b81ldqi2094";
+        sha512 = "JAERcaMBLYKMq+voYw36+x5Dgh47+/o7yuv2oQYuSSUml4YeqJEFznBrY2UeEkoSHqBua6hz518n/PsowTYLLg==";
       };
     };
     "p-cancelable-1.1.0" = {
@@ -1333,7 +1333,7 @@ let
       version = "1.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz";
-        sha512 = "2bmkd9ncr81p8w6jy9v676ajg9q27znbjk80r723ydvf8gxk000q13693dhbd22dcagrmhwyjxblmm8w4xnfn6ng5srpkkqwv2dggdk";
+        sha512 = "s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==";
       };
     };
     "p-cancelable-2.0.0" = {
@@ -1342,7 +1342,7 @@ let
       version = "2.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz";
-        sha512 = "0va49l2crhr6kr1lgbrjc69hz9scdrarzbrzpvddkfdb9wdr16bv48qajb2m0n6fjammxhvj68d4r35wyfy209rnajfv6nccq7dgwy2";
+        sha512 = "wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==";
       };
     };
     "p-finally-1.0.0" = {
@@ -1354,13 +1354,13 @@ let
         sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
       };
     };
-    "p-limit-2.2.2" = {
+    "p-limit-2.3.0" = {
       name = "p-limit";
       packageName = "p-limit";
-      version = "2.2.2";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz";
-        sha512 = "36v4kvifp6msn6gaal1pgwy5qi56fbv8295221a6araml7nzxsnw2jfy7i6k7ybxy3dida9xxnyx447s8i8f15m27xklacwfz27wr2q";
+        url = "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz";
+        sha512 = "//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==";
       };
     };
     "p-locate-4.1.0" = {
@@ -1369,7 +1369,7 @@ let
       version = "4.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz";
-        sha512 = "3n0ljmpk3p2j4aaz345w5gkqr128xkhflcb83k75fgns5ddd4bpx7l0q50w9kwy5792xb8d3dpf8bwgzif3463spf3140rhzmkmkgs7";
+        sha512 = "R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==";
       };
     };
     "p-map-3.0.0" = {
@@ -1378,7 +1378,7 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz";
-        sha512 = "32jjm4kiyqvq9n9z6x2zwd31ylcwil7qq1mzq7gcx7qf9n7jqs9b1zvh1c6rxhcjshqchchq2gpc1fbf1ph6yfj16zfbcvz65arfykp";
+        sha512 = "d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==";
       };
     };
     "p-some-4.1.0" = {
@@ -1387,7 +1387,7 @@ let
       version = "4.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/p-some/-/p-some-4.1.0.tgz";
-        sha512 = "3baac22g5wchcsla36c7f1h69g658kvp05vb4vk0j04i714j8h09f7a18q9s81d2r05hz5a9wcy9g5ri69rgj5l9rmf06dsp8hwfprh";
+        sha512 = "MF/HIbq6GeBqTrTIl5OJubzkGU+qfFhAFi0gnTAK6rgEIJIknEiABHOTtQu4e6JiXjIwuMPMUFQzyHh5QjCl1g==";
       };
     };
     "p-timeout-3.2.0" = {
@@ -1396,7 +1396,7 @@ let
       version = "3.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz";
-        sha512 = "03cbpzps5mxhlp6hywp92mnnrj4b6ag82f8vdqyz59xrxsrpn58qbh8nzrpiix2asj2d333i81aq0pw9bhki4yw7yf05hr04x9k04mf";
+        sha512 = "rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==";
       };
     };
     "p-try-2.2.0" = {
@@ -1405,7 +1405,7 @@ let
       version = "2.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz";
-        sha512 = "1skmb50xzdk3qzd1f9l5mw8xp29frkizl63bhb9l1amivqybqb23n2824906vx790hjlwyhhrfzpzr5xr6ilzvy1xyl0ly0ah0wz2a7";
+        sha512 = "R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==";
       };
     };
     "path-0.12.7" = {
@@ -1423,7 +1423,7 @@ let
       version = "4.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz";
-        sha512 = "3zvnv1dp30y10br2qy98z8760jssvps6g9swamdclgxsmhm14dyq0yacrj0d4mk915qhr1z0yh8l3dyd68wn7h7bgv8d39vjk5m0kva";
+        sha512 = "ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==";
       };
     };
     "path-is-absolute-1.0.1" = {
@@ -1441,16 +1441,16 @@ let
       version = "4.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz";
-        sha512 = "2zw0czk4p8vimrxap6mlnw17lbjrhisby3z1m2j0qdhjcnxlv9lk5d8yxirrqy4ax6ar5qx14rpshmbpvzg9b4mnpzy03aclvqrncl0";
+        sha512 = "gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==";
       };
     };
-    "picomatch-2.2.1" = {
+    "picomatch-2.2.2" = {
       name = "picomatch";
       packageName = "picomatch";
-      version = "2.2.1";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.2.1.tgz";
-        sha512 = "12a2jzmkj24c6k3x71z0knzflw9qqhqx0lk27nrryjs6m7gjmszvgz5pp29xx1h7h7xxaj8cl3i5h98hlx3mpif5h26qdjhrh1ml811";
+        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz";
+        sha512 = "q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==";
       };
     };
     "pluralize-8.0.0" = {
@@ -1459,7 +1459,7 @@ let
       version = "8.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz";
-        sha512 = "048n73397ya45yj4w1pkxy058nkpkzgqcfv89xb3nqs9fi2227kndyi2qhcqzs90zlmkq5jl86kp6iy09kskq5qgm9zkkc7ki7wik9m";
+        sha512 = "Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==";
       };
     };
     "prepend-http-2.0.0" = {
@@ -1480,13 +1480,13 @@ let
         sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182";
       };
     };
-    "public-ip-3.2.0" = {
+    "public-ip-4.0.3" = {
       name = "public-ip";
       packageName = "public-ip";
-      version = "3.2.0";
+      version = "4.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/public-ip/-/public-ip-3.2.0.tgz";
-        sha512 = "1prlx3m3fp1d3qh4wxmc9j54fvnq0svqjv5hw4kjiwl45wh0day6xnbv3wscz25ii7g4ksdiysndprcljhwzf1127himkkrvsivh6hc";
+        url = "https://registry.npmjs.org/public-ip/-/public-ip-4.0.3.tgz";
+        sha512 = "IofiJJWoZ8hZHBk25l4ozLvcET0pjZSxocbUfh4sGkjidMOm4iZNzzWxezGqGsVY7HuxiK7SkyJKHNeT0YQ7uw==";
       };
     };
     "pump-3.0.0" = {
@@ -1495,16 +1495,16 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz";
-        sha512 = "31n24fqakqmhzk2ch644gziskmysmrgiwclsdsr0rwk9spgikqpwickbnayap0rynfjlq72s7iny2p35n3qszypr97ws5njkpx741ig";
+        sha512 = "LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==";
       };
     };
-    "qs-6.9.1" = {
+    "qs-6.9.6" = {
       name = "qs";
       packageName = "qs";
-      version = "6.9.1";
+      version = "6.9.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz";
-        sha512 = "343mpmbfcwx584cqi6siamc4m9z7ljzikmkvgsjm1kncmi1ci4b9k7k9li1gm2l694zxh38l216m0clzivcb4km61vzdjxz4kyvn68b";
+        url = "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz";
+        sha512 = "TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==";
       };
     };
     "recursive-readdir-2.2.2" = {
@@ -1513,7 +1513,7 @@ let
       version = "2.2.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz";
-        sha512 = "0bb5d70l5lg02x515r2klvjhhz6xcxdb4ykbx16wq45l822bbsdd8sbki7vb28j17xr7181fmwlzhx3bizvr5xdq6cxpv53sidrq44x";
+        sha512 = "nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==";
       };
     };
     "responselike-1.0.2" = {
@@ -1540,7 +1540,7 @@ let
       version = "1.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz";
-        sha512 = "37z410bxpvfjlxmd0rfrzmvd4dl33kqqgi51xp8hbbxxwzdddy5q1b20x9msvqhxvhj93w85fr2hlizsi7rfx91j3gcyzdpqvrwgnak";
+        sha512 = "U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==";
       };
     };
     "rimraf-3.0.2" = {
@@ -1549,43 +1549,43 @@ let
       version = "3.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz";
-        sha512 = "0h97b8bvn1w87brifdhlnq9qnjxm0pmw87igc4fvvcfzx3h83shp3fszy2k09ff5q44zk1i1c34rjbcryamsak67x7m2600k4qhk695";
+        sha512 = "JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==";
       };
     };
-    "run-async-2.4.0" = {
+    "run-async-2.4.1" = {
       name = "run-async";
       packageName = "run-async";
-      version = "2.4.0";
+      version = "2.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/run-async/-/run-async-2.4.0.tgz";
-        sha512 = "2k7xr99g0l8qvqzd66mpwp3wylfay2i27dh5ca3bmr92l5yixlk0dh53z9ljvyrm3mi7jz89il8gq55sgdv8d8p0v96wbkvyy3xp564";
+        url = "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz";
+        sha512 = "tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==";
       };
     };
-    "run-parallel-1.1.9" = {
+    "run-parallel-1.1.10" = {
       name = "run-parallel";
       packageName = "run-parallel";
-      version = "1.1.9";
+      version = "1.1.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz";
-        sha512 = "3sl2kbxcwy92faw7zm0z4vql32622mag0bh6dv4bjk7cvc8a9sarvdclr9508hknhl0b7v8kzqvg3klvvff7psmvkfg9hy32i4sfjhc";
+        url = "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz";
+        sha512 = "zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==";
       };
     };
-    "rxjs-6.5.4" = {
+    "rxjs-6.6.3" = {
       name = "rxjs";
       packageName = "rxjs";
-      version = "6.5.4";
+      version = "6.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz";
-        sha512 = "3nzzg67sr57cc5n1065xsxjgrwa405bgbgqm9l8w01lnr660cy8zdjk99hm2n0did4kd75nwiz3843mfbrw7bs100n7g8q4r1fi18wx";
+        url = "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz";
+        sha512 = "trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==";
       };
     };
-    "safe-buffer-5.2.0" = {
+    "safe-buffer-5.2.1" = {
       name = "safe-buffer";
       packageName = "safe-buffer";
-      version = "5.2.0";
+      version = "5.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz";
-        sha512 = "1pb164cfv1ip3s1rp008433rak88mdcch24q84cbfndg0dzky2ij8vjvsiyx2qf3rg4dgs82zk7vnrd9hkqqdcvp4lbk5ymcr8314bx";
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz";
+        sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==";
       };
     };
     "safer-buffer-2.1.2" = {
@@ -1594,16 +1594,16 @@ let
       version = "2.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
-        sha512 = "2v99f22kh56y72d3s8wrgdvf5n10ry40dh3fwnsxr4d5rfvxdfxfmc3qyqkscnj4f8799jy9bpg6cm21x2d811dr9ib83wjrlmkg6k1";
+        sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
       };
     };
-    "signal-exit-3.0.2" = {
+    "signal-exit-3.0.3" = {
       name = "signal-exit";
       packageName = "signal-exit";
-      version = "3.0.2";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz";
-        sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
+        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz";
+        sha512 = "VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==";
       };
     };
     "slash-3.0.0" = {
@@ -1612,7 +1612,7 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz";
-        sha512 = "3cj4cvlh36f0h6f3dslbkwa3y9nnny8qmwbf4kw3xy8vfbg5mypknds3j2cdhf7xg82hm8smdl8cq88xn4nyw1b9677xjwvly2kbm43";
+        sha512 = "g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==";
       };
     };
     "split-lines-2.0.0" = {
@@ -1621,7 +1621,7 @@ let
       version = "2.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/split-lines/-/split-lines-2.0.0.tgz";
-        sha512 = "2cbq8cchi0fyxiqvfppd5nxc33zkv62my7cmhh82yfxf83w62bkxsz2ax6adanq2x7j9hhxz63k7wb6f315wkzramzix45ipa2iv8l1";
+        sha512 = "gaIdhbqxkB5/VflPXsJwZvEzh/kdwiRPF9iqpkxX4us+lzB8INedFwjCyo6vwuz5x2Ddlnav2zh270CEjCG8mA==";
       };
     };
     "string-width-2.1.1" = {
@@ -1630,34 +1630,34 @@ let
       version = "2.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz";
-        sha512 = "29s1fqgr4mnhfxwczgdghfmmc1f792m9hysvcjxw2h5lfj8ndf2b6gm02m96qk5m75g4aisijvng4pk618anwbr8i9ay2jyszkqgslw";
+        sha512 = "nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==";
       };
     };
-    "string.prototype.padend-3.1.0" = {
+    "string.prototype.padend-3.1.1" = {
       name = "string.prototype.padend";
       packageName = "string.prototype.padend";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.0.tgz";
-        sha512 = "1l02s91pznws3jzzip0dkcpj5vb41p716rcnw5msglxjyxg87ycmxjvj94bwiy0rklnmbgj4dk981m50q8w32y8iwcw39yxazq2z8nx";
+        url = "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.1.tgz";
+        sha512 = "eCzTASPnoCr5Ht+Vn1YXgm8SB015hHKgEIMu9Nr9bQmLhRBxKRfmzSj/IQsxDFc8JInJDDFA0qXwK+xxI7wDkg==";
       };
     };
-    "string.prototype.trimleft-2.1.1" = {
-      name = "string.prototype.trimleft";
-      packageName = "string.prototype.trimleft";
-      version = "2.1.1";
+    "string.prototype.trimend-1.0.3" = {
+      name = "string.prototype.trimend";
+      packageName = "string.prototype.trimend";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz";
-        sha512 = "013lf0f398s2xb9jhq9acspdnnk52k7whcga9am4b8a2wrgpc2w7xgkydg4sg4ah9z3i1syimzqs7dc89390xmwlx8zxf6gvlcq1vca";
+        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz";
+        sha512 = "ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==";
       };
     };
-    "string.prototype.trimright-2.1.1" = {
-      name = "string.prototype.trimright";
-      packageName = "string.prototype.trimright";
-      version = "2.1.1";
+    "string.prototype.trimstart-1.0.3" = {
+      name = "string.prototype.trimstart";
+      packageName = "string.prototype.trimstart";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz";
-        sha512 = "3x2qc2fc2fh9sj3vw9w45h246vspjfn88b0k356ldazylhap91vg825bppg73s9n63kwpql3gpw24lv8zx0b2arblcqhh7ygwpxcnx8";
+        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz";
+        sha512 = "oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==";
       };
     };
     "strip-ansi-4.0.0" = {
@@ -1675,7 +1675,7 @@ let
       version = "5.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz";
-        sha512 = "1cf4mpsr46nik5xxyb9wc4cz6c4yymi2ijpfx1nghnkl39l8pgq1sc7q19jzrjkwpn9i7hwg4q3rs4ny3vssrc6506an1lv0bb6rr0f";
+        sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==";
       };
     };
     "strip-bom-4.0.0" = {
@@ -1684,7 +1684,7 @@ let
       version = "4.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz";
-        sha512 = "39mszh7y7d23gk9n6hz9h26hj7f0yr4gdgl5804gflghmz6qi56gqkzv51x65jhw1vyixfih8h09777d6dz0qknvyi0h4kdzqban6yz";
+        sha512 = "3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==";
       };
     };
     "supports-color-5.5.0" = {
@@ -1693,7 +1693,7 @@ let
       version = "5.5.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz";
-        sha512 = "2ihqi2z38fr1sq2jvwqgjqymncmkhxqz0x3bi97w4b4fn24wsdy71j139p95sb3nfrh3a449n0sqhm1z0jsi04860y8vdy8sp0n6da2";
+        sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==";
       };
     };
     "through-2.3.8" = {
@@ -1711,7 +1711,7 @@ let
       version = "0.0.33";
       src = fetchurl {
         url = "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz";
-        sha512 = "0drg2bck1cj8677rgs1l98v7vqaxawcqh6ja87qilwnd719l5y0lzv5ssn3pcwa37fdbg4188y6x15a90vkllyvfpd9v7fai2b8j44d";
+        sha512 = "jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==";
       };
     };
     "to-readable-stream-1.0.0" = {
@@ -1720,7 +1720,7 @@ let
       version = "1.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz";
-        sha512 = "38v92prncngfq4yfdn3frpy3j9x6bslii3spk436f0fhs6ls7gydxp23lrwjkd3f21s7zkn4j1zzp8lqrajsrgqlikkxk3s3dfbkb92";
+        sha512 = "Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==";
       };
     };
     "to-regex-range-5.0.1" = {
@@ -1729,25 +1729,25 @@ let
       version = "5.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz";
-        sha512 = "2qkrna8q80arai14s6f17djc3cgwiilnhibfykwzkif4gs9ny3fmqmxqf56fvc7fjwyr01p97nk1ckd67s8476cslmj3rwp7s5zp4zb";
+        sha512 = "65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==";
       };
     };
-    "ts2gas-3.6.1" = {
+    "ts2gas-3.6.4" = {
       name = "ts2gas";
       packageName = "ts2gas";
-      version = "3.6.1";
+      version = "3.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ts2gas/-/ts2gas-3.6.1.tgz";
-        sha512 = "2z54dgic26rzizkbw21p5w5icq508rqasvb4m1w2m17q90h824bgaizvn1hidfbk11k4pzjqy3p91ij6i216l8bljnhr5dcj9j0xzh7";
+        url = "https://registry.npmjs.org/ts2gas/-/ts2gas-3.6.4.tgz";
+        sha512 = "TJgFvXnoUSZ40pRH4FzqtTYhbJfaF6LmeXKWd813cRV31v55DZTyVatYUyhqF7GCAHhbkKRH7HuCFcFhxeZFag==";
       };
     };
-    "tslib-1.11.1" = {
+    "tslib-1.14.1" = {
       name = "tslib";
       packageName = "tslib";
-      version = "1.11.1";
+      version = "1.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz";
-        sha512 = "0c0k843zya7w9k5snfr3g76wz2vyl99q149safl5g364jjwq839h3qf8c17i8mahdcqc3zj3xgfv0nv9pcxfm8axva0d49w4vqvr5b9";
+        url = "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz";
+        sha512 = "Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==";
       };
     };
     "type-fest-0.3.1" = {
@@ -1756,16 +1756,25 @@ let
       version = "0.3.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz";
-        sha512 = "1hy8c4b243psdw221rnqcsn8j4hd5ndyy8fw6mnhlaxyf98f61gxlfdf6wb0dcvhil0b45yjrx44lx5bg8si87hg3dj9qbb4yf8jhbi";
+        sha512 = "cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==";
+      };
+    };
+    "typescript-3.9.7" = {
+      name = "typescript";
+      packageName = "typescript";
+      version = "3.9.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz";
+        sha512 = "BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==";
       };
     };
-    "typescript-3.8.3" = {
+    "typescript-4.1.3" = {
       name = "typescript";
       packageName = "typescript";
-      version = "3.8.3";
+      version = "4.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz";
-        sha512 = "3rwcbg3l3w3l2zr5y9lszqs30s29jzvh1w594rbdljyr582yi6vajzs2fg04s9p79klh3iv0980b91mbr94sl77h9nb7b2mgrz4929i";
+        url = "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz";
+        sha512 = "B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==";
       };
     };
     "universalify-0.1.2" = {
@@ -1774,16 +1783,16 @@ let
       version = "0.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz";
-        sha512 = "29d9b6i7rf460m0c5761z6xzzjdl2q81ri19x5qcnvi9l85jp71f7lbr7bdk7sx3k3sqwcp9vfpmlh7srgfnzlmssr5j0lpj0imw4mc";
+        sha512 = "rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==";
       };
     };
-    "universalify-1.0.0" = {
+    "universalify-2.0.0" = {
       name = "universalify";
       packageName = "universalify";
-      version = "1.0.0";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz";
-        sha512 = "2x2m7gasg0x9mp1grwg5r1bvsp5r32xn7dm3i1zp7n02saxc18hj6jj8kmn0l1j5nycwxm2z14xmqzj244ycq008plxxwbrdparggmd";
+        url = "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz";
+        sha512 = "hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==";
       };
     };
     "url-parse-lax-3.0.0" = {
@@ -1810,7 +1819,7 @@ let
       version = "0.10.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/util/-/util-0.10.4.tgz";
-        sha512 = "3sbbgsya51i86ih8bn3nfwi3f9556xlnwh32z4k54dwcpi0jibhfa5dpbfmpzyla63yh2zlxs9chl6wkhc8bqjmjxjyxc9p6j2vvyfh";
+        sha512 = "0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==";
       };
     };
     "uuid-3.4.0" = {
@@ -1819,7 +1828,7 @@ let
       version = "3.4.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz";
-        sha512 = "3y9pcli1v8nqryqd2c4pxj9kcv92mjc22z4smg08pdjzrbwda19xmjbzms1dwr04995h4carz9s8mldbiqb8708694lwr501r3q6d0y";
+        sha512 = "HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==";
       };
     };
     "watch-1.0.2" = {
@@ -1846,7 +1855,7 @@ let
       version = "3.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz";
-        sha512 = "3ig31a6zfbdlrs3l77a8avpp17hajryhyq2xk4h3ayc4dmxch146rdk7q1s1jgx9qvmxq125r0xq2bvnq0rq63m75k9y7wglm0hd1bb";
+        sha512 = "a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==";
       };
     };
   };
@@ -1858,21 +1867,20 @@ in
     version = "2.2.1";
     src = fetchurl {
       url = "https://registry.npmjs.org/@google/clasp/-/clasp-2.2.1.tgz";
-      sha512 = "20a3hyw676q12x4ac3knv45b88y6q10gy49clmnwrn40rdy959qw7qbrxkdn0zq3qpzrnkamqrv9bp1gvb9wdcsyxfjvf0fzh2l8ivm";
+      sha512 = "dUdEBfwOuC1d95o1ntZ+4a60M65q2vwvHvgD22bPCx+OU0m+ZUBs5rZSloh/IGDjEVqFbDsHU6SLgM0x3MOhgA==";
     };
     dependencies = [
-      sources."@nodelib/fs.scandir-2.1.3"
-      sources."@nodelib/fs.stat-2.0.3"
-      sources."@nodelib/fs.walk-1.2.4"
+      sources."@nodelib/fs.scandir-2.1.4"
+      sources."@nodelib/fs.stat-2.0.4"
+      sources."@nodelib/fs.walk-1.2.6"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/events-3.0.0"
-      sources."@types/glob-7.1.1"
+      sources."@types/glob-7.1.3"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-13.9.1"
+      sources."@types/node-14.14.22"
       sources."abort-controller-3.0.0"
-      sources."agent-base-6.0.0"
-      sources."aggregate-error-3.0.1"
+      sources."agent-base-6.0.2"
+      sources."aggregate-error-3.1.0"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-3.0.0"
       sources."ansi-styles-3.2.1"
@@ -1880,51 +1888,52 @@ in
       sources."array-union-2.1.0"
       sources."arrify-2.0.1"
       sources."balanced-match-1.0.0"
-      sources."base64-js-1.3.1"
-      sources."bignumber.js-7.2.1"
+      sources."base64-js-1.5.1"
+      sources."bignumber.js-9.0.1"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."buffer-equal-constant-time-1.0.1"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
-          sources."get-stream-5.1.0"
+          sources."get-stream-5.2.0"
           sources."lowercase-keys-2.0.0"
         ];
       })
+      sources."call-bind-1.0.2"
       sources."chalk-2.4.2"
       sources."chardet-0.7.0"
       sources."clean-stack-2.2.0"
       sources."cli-cursor-2.1.0"
       sources."cli-spinner-0.2.10"
-      sources."cli-width-2.2.0"
+      sources."cli-width-2.2.1"
       sources."clone-response-1.0.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."commander-2.20.3"
       sources."concat-map-0.0.1"
-      sources."debug-4.1.1"
+      sources."debug-4.3.2"
       sources."decompress-response-3.3.0"
       sources."defer-to-connect-1.1.3"
       sources."define-properties-1.1.3"
       sources."del-5.1.0"
       sources."dir-glob-3.0.1"
       sources."dns-packet-5.2.1"
-      sources."dns-socket-4.2.0"
-      sources."dotf-1.5.0"
+      sources."dns-socket-4.2.1"
+      sources."dotf-1.5.3"
       sources."duplexer3-0.1.4"
       sources."ecdsa-sig-formatter-1.0.11"
       sources."ellipsize-0.1.0"
       sources."end-of-stream-1.4.4"
-      sources."es-abstract-1.17.4"
+      sources."es-abstract-1.18.0-next.2"
       sources."es-to-primitive-1.2.1"
       sources."escape-string-regexp-1.0.5"
       sources."event-target-shim-5.0.1"
       sources."exec-sh-0.2.2"
       sources."extend-3.0.2"
       sources."external-editor-3.1.0"
-      sources."fast-glob-3.2.2"
-      sources."fast-text-encoding-1.0.1"
-      sources."fastq-1.6.1"
+      sources."fast-glob-3.2.5"
+      sources."fast-text-encoding-1.0.3"
+      sources."fastq-1.10.1"
       sources."figures-2.0.0"
       sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
@@ -1937,18 +1946,19 @@ in
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."fuzzy-0.1.3"
-      sources."gaxios-2.3.2"
+      sources."gaxios-2.3.4"
       sources."gcp-metadata-2.0.4"
+      sources."get-intrinsic-1.1.0"
       sources."get-stream-4.1.0"
       sources."glob-7.1.6"
-      sources."glob-parent-5.1.0"
+      sources."glob-parent-5.1.1"
       sources."globby-10.0.2"
       sources."google-auth-library-4.2.6"
       sources."google-p12-pem-2.0.4"
       sources."googleapis-40.0.1"
       sources."googleapis-common-2.0.4"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.3"
+      sources."graceful-fs-4.2.4"
       sources."gtoken-3.0.2"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
@@ -1956,57 +1966,57 @@ in
       sources."http-cache-semantics-4.1.0"
       sources."https-proxy-agent-5.0.0"
       sources."iconv-lite-0.4.24"
-      sources."ignore-5.1.4"
+      sources."ignore-5.1.8"
       sources."indent-string-4.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."inquirer-6.5.2"
       sources."inquirer-autocomplete-prompt-1.0.1"
       sources."ip-1.1.5"
-      sources."ip-regex-4.1.0"
-      sources."is-callable-1.1.5"
+      sources."ip-regex-4.3.0"
+      sources."is-callable-1.2.3"
       sources."is-date-object-1.0.2"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-glob-4.0.1"
       sources."is-ip-3.1.0"
+      sources."is-negative-zero-2.0.1"
       sources."is-number-7.0.0"
-      sources."is-online-8.2.1"
+      sources."is-online-8.5.1"
       sources."is-path-cwd-2.2.0"
       sources."is-path-inside-3.0.2"
-      sources."is-promise-2.1.0"
-      sources."is-regex-1.0.5"
+      sources."is-regex-1.1.2"
       sources."is-stream-2.0.0"
       sources."is-symbol-1.0.3"
       sources."is-wsl-1.1.0"
-      sources."json-bigint-0.3.0"
+      sources."json-bigint-0.3.1"
       sources."json-buffer-3.0.0"
-      sources."jsonfile-6.0.1"
+      sources."jsonfile-6.1.0"
       sources."jwa-1.4.1"
       sources."jws-3.2.2"
       sources."keyv-3.1.0"
       sources."locate-path-5.0.0"
-      sources."lodash-4.17.15"
+      sources."lodash-4.17.20"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-5.1.1"
       sources."merge-1.2.1"
-      sources."merge2-1.3.0"
+      sources."merge2-1.4.1"
       sources."micromatch-4.0.2"
-      sources."mime-2.4.4"
+      sources."mime-2.5.0"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
-      sources."minimist-0.0.8"
-      sources."mkdirp-0.5.1"
+      sources."minimist-1.2.5"
+      sources."mkdirp-0.5.5"
       sources."ms-2.1.2"
       sources."multimatch-4.0.0"
       sources."mute-stream-0.0.7"
-      sources."node-fetch-2.6.0"
-      sources."node-forge-0.9.1"
+      sources."node-fetch-2.6.1"
+      sources."node-forge-0.9.2"
       sources."normalize-url-4.5.0"
-      sources."object-inspect-1.7.0"
+      sources."object-inspect-1.9.0"
       sources."object-keys-1.1.1"
-      sources."object.assign-4.1.0"
+      sources."object.assign-4.1.2"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
       sources."open-6.4.0"
@@ -2018,7 +2028,7 @@ in
       })
       sources."p-cancelable-1.1.0"
       sources."p-finally-1.0.0"
-      sources."p-limit-2.2.2"
+      sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-map-3.0.0"
       (sources."p-some-4.1.0" // {
@@ -2032,24 +2042,24 @@ in
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-type-4.0.0"
-      sources."picomatch-2.2.1"
+      sources."picomatch-2.2.2"
       sources."pluralize-8.0.0"
       sources."prepend-http-2.0.0"
       sources."process-0.11.10"
-      sources."public-ip-3.2.0"
+      sources."public-ip-4.0.3"
       sources."pump-3.0.0"
-      sources."qs-6.9.1"
+      sources."qs-6.9.6"
       sources."recursive-readdir-2.2.2"
       sources."responselike-1.0.2"
       sources."restore-cursor-2.0.0"
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
-      sources."run-async-2.4.0"
-      sources."run-parallel-1.1.9"
-      sources."rxjs-6.5.4"
-      sources."safe-buffer-5.2.0"
+      sources."run-async-2.4.1"
+      sources."run-parallel-1.1.10"
+      sources."rxjs-6.6.3"
+      sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
-      sources."signal-exit-3.0.2"
+      sources."signal-exit-3.0.3"
       sources."slash-3.0.0"
       sources."split-lines-2.0.0"
       (sources."string-width-2.1.1" // {
@@ -2057,9 +2067,9 @@ in
           sources."strip-ansi-4.0.0"
         ];
       })
-      sources."string.prototype.padend-3.1.0"
-      sources."string.prototype.trimleft-2.1.1"
-      sources."string.prototype.trimright-2.1.1"
+      sources."string.prototype.padend-3.1.1"
+      sources."string.prototype.trimend-1.0.3"
+      sources."string.prototype.trimstart-1.0.3"
       (sources."strip-ansi-5.2.0" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
@@ -2071,11 +2081,15 @@ in
       sources."tmp-0.0.33"
       sources."to-readable-stream-1.0.0"
       sources."to-regex-range-5.0.1"
-      sources."ts2gas-3.6.1"
-      sources."tslib-1.11.1"
+      (sources."ts2gas-3.6.4" // {
+        dependencies = [
+          sources."typescript-4.1.3"
+        ];
+      })
+      sources."tslib-1.14.1"
       sources."type-fest-0.3.1"
-      sources."typescript-3.8.3"
-      sources."universalify-1.0.0"
+      sources."typescript-3.9.7"
+      sources."universalify-2.0.0"
       sources."url-parse-lax-3.0.0"
       sources."url-template-2.0.8"
       (sources."util-0.10.4" // {
@@ -2084,11 +2098,7 @@ in
         ];
       })
       sources."uuid-3.4.0"
-      (sources."watch-1.0.2" // {
-        dependencies = [
-          sources."minimist-1.2.5"
-        ];
-      })
+      sources."watch-1.0.2"
       sources."wrappy-1.0.2"
       sources."yallist-3.1.1"
     ];
diff --git a/pkgs/development/misc/resholve/deps.nix b/pkgs/development/misc/resholve/deps.nix
index 86bcba5707590..6a1d9c77b5a0c 100644
--- a/pkgs/development/misc/resholve/deps.nix
+++ b/pkgs/development/misc/resholve/deps.nix
@@ -60,13 +60,13 @@ rec {
   # resholve's primary dependency is this developer build of the oil shell.
   oildev = python27Packages.buildPythonPackage rec {
     pname = "oildev-unstable";
-    version = "2020-03-31";
+    version = "2021-02-26";
 
     src = fetchFromGitHub {
       owner = "oilshell";
       repo = "oil";
-      rev = "ea80cdad7ae1152a25bd2a30b87fe3c2ad32394a";
-      sha256 = "0pxn0f8qbdman4gppx93zwml7s5byqfw560n079v68qjgzh2brq2";
+      rev = "11c6bd3ca0e126862c7a1f938c8510779837affa";
+      hash = "sha256-UTQywtx+Dn1/qx5uocqgGn7oFYW4R5DbuiRNF8t/BzY=";
 
       /*
       It's not critical to drop most of these; the primary target is
diff --git a/pkgs/development/misc/resholve/resholve.nix b/pkgs/development/misc/resholve/resholve.nix
index e8b4ed2cfb258..9b1cc921cd02e 100644
--- a/pkgs/development/misc/resholve/resholve.nix
+++ b/pkgs/development/misc/resholve/resholve.nix
@@ -11,12 +11,12 @@
 , doCheck ? true
 }:
 let
-  version = "0.4.2";
+  version = "0.5.0";
   rSrc = fetchFromGitHub {
     owner = "abathur";
     repo = "resholve";
     rev = "v${version}";
-    hash = "sha256-ArUQjqh4LRvFLzHiTIcae0q/VFxFF/X9eOFeRnYmTO0=";
+    hash = "sha256-dscmT0ss1buP56QzQtfs2HANr9oWWMxCS+fwBIKBxv4=";
   };
   deps = callPackage ./deps.nix {
     /*
@@ -29,6 +29,9 @@ let
       "${rSrc}/0002-add_MANIFEST_in.patch"
       "${rSrc}/0003-fix_codegen_shebang.patch"
       "${rSrc}/0004-disable-internal-py-yajl-for-nix-built.patch"
+      "${rSrc}/0005_revert_libc_locale.patch"
+      "${rSrc}/0006_disable_failing_libc_tests.patch"
+      "${rSrc}/0007_restore_root_init_py.patch"
     ];
   };
 in
diff --git a/pkgs/development/misc/yelp-tools/default.nix b/pkgs/development/misc/yelp-tools/default.nix
index 9d5eb2af49687..bf348d68041a3 100644
--- a/pkgs/development/misc/yelp-tools/default.nix
+++ b/pkgs/development/misc/yelp-tools/default.nix
@@ -1,4 +1,12 @@
-{ lib, stdenv, fetchurl, libxml2, libxslt, itstool, gnome3, pkg-config }:
+{ lib
+, stdenv
+, fetchurl
+, libxml2
+, libxslt
+, itstool
+, gnome3
+, pkg-config
+}:
 
 stdenv.mkDerivation rec {
   pname = "yelp-tools";
@@ -9,22 +17,30 @@ stdenv.mkDerivation rec {
     sha256 = "1c045c794sm83rrjan67jmsk20qacrw1m814p4nw85w5xsry8z30";
   };
 
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    libxml2
+    libxslt
+    itstool
+    gnome3.yelp-xsl
+  ];
+
+  doCheck = true;
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
     };
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ libxml2 libxslt itstool gnome3.yelp-xsl ];
-
-  doCheck = true;
-
   meta = with lib; {
     homepage = "https://wiki.gnome.org/Apps/Yelp/Tools";
     description = "Small programs that help you create, edit, manage, and publish your Mallard or DocBook documentation";
-    maintainers = with maintainers; [ domenkozar ];
-    license = licenses.gpl2;
-    platforms = platforms.linux;
+    maintainers = teams.gnome.members ++ (with maintainers; [ domenkozar ]);
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/mobile/genymotion/default.nix b/pkgs/development/mobile/genymotion/default.nix
index b443150651558..1aa81132c2603 100644
--- a/pkgs/development/mobile/genymotion/default.nix
+++ b/pkgs/development/mobile/genymotion/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, makeWrapper, which, zlib, libGL, glib, xorg, libxkbcommon
-, xdg_utils
+, xdg-utils
 # For glewinfo
 , libXmu, libXi, libXext }:
 
@@ -18,7 +18,8 @@ stdenv.mkDerivation rec {
     sha256 = "0lvfdlpmmsyq2i9gs4mf6a8fxkfimdr4rhyihqnfhjij3fzxz4lk";
   };
 
-  buildInputs = [ makeWrapper which xdg_utils ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ which xdg-utils ];
 
   unpackPhase = ''
     mkdir -p phony-home $out/share/applications
diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk-7.5.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-7.5.nix
index f471dc977b3da..601cac372c8c4 100644
--- a/pkgs/development/mobile/titaniumenv/titaniumsdk-7.5.nix
+++ b/pkgs/development/mobile/titaniumenv/titaniumsdk-7.5.nix
@@ -64,7 +64,8 @@ stdenv.mkDerivation {
   }
   else throw "Platform: ${stdenv.system} not supported!";
 
-  buildInputs = [ unzip makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ unzip ];
 
   buildCommand = ''
     mkdir -p $out
diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk-8.2.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-8.2.nix
index 0742247893c3d..52257bfd4611e 100644
--- a/pkgs/development/mobile/titaniumenv/titaniumsdk-8.2.nix
+++ b/pkgs/development/mobile/titaniumenv/titaniumsdk-8.2.nix
@@ -64,7 +64,8 @@ stdenv.mkDerivation {
   }
   else throw "Platform: ${stdenv.system} not supported!";
 
-  buildInputs = [ unzip makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ unzip ];
 
   buildCommand = ''
     mkdir -p $out
diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk-8.3.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-8.3.nix
index 965a385ac56c7..78044752b54cf 100644
--- a/pkgs/development/mobile/titaniumenv/titaniumsdk-8.3.nix
+++ b/pkgs/development/mobile/titaniumenv/titaniumsdk-8.3.nix
@@ -64,7 +64,8 @@ stdenv.mkDerivation {
   }
   else throw "Platform: ${stdenv.system} not supported!";
 
-  buildInputs = [ unzip makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ unzip ];
 
   buildCommand = ''
     mkdir -p $out
diff --git a/pkgs/development/node-packages/composition.nix b/pkgs/development/node-packages/composition.nix
index 0769168a78fa3..64326c6b21602 100644
--- a/pkgs/development/node-packages/composition.nix
+++ b/pkgs/development/node-packages/composition.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
@@ -6,12 +6,12 @@
 
 let
   nodeEnv = import ./node-env.nix {
-    inherit (pkgs) lib stdenv python2 util-linux runCommand writeTextFile;
-    inherit nodejs;
+    inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
+    inherit pkgs nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
 import ./node-packages.nix {
-  inherit (pkgs) fetchurl fetchgit;
+  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
   inherit nodeEnv;
 }
diff --git a/pkgs/development/node-packages/generate.sh b/pkgs/development/node-packages/generate.sh
index 5f9936c51240b..e7a15d5d869c6 100755
--- a/pkgs/development/node-packages/generate.sh
+++ b/pkgs/development/node-packages/generate.sh
@@ -2,8 +2,13 @@
 set -eu -o pipefail
 
 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
-node2nix=$(nix-build ../../.. --no-out-link -A nodePackages.node2nix)
-
+node2nix=$(nix-build ../../.. -A nodePackages.node2nix)
 cd ${DIR}
 rm -f ./node-env.nix
 ${node2nix}/bin/node2nix -i node-packages.json -o node-packages.nix -c composition.nix
+# using --no-out-link in nix-build argument would cause the
+# gc to run before the script finishes
+# which would cause a failure
+# it's safer to just remove the link after the script finishes
+# see https://github.com/NixOS/nixpkgs/issues/112846 for more details
+rm ./result
diff --git a/pkgs/development/node-packages/node-env.nix b/pkgs/development/node-packages/node-env.nix
index 9af216ad1dfee..c2b723195b77e 100644
--- a/pkgs/development/node-packages/node-env.nix
+++ b/pkgs/development/node-packages/node-env.nix
@@ -1,8 +1,11 @@
 # This file originates from node2nix
 
-{lib, stdenv, nodejs, python2, util-linux, libtool, runCommand, writeTextFile}:
+{lib, stdenv, nodejs, python2, pkgs, libtool, runCommand, writeTextFile}:
 
 let
+  # Workaround to cope with utillinux in Nixpkgs 20.09 and util-linux in Nixpkgs master
+  utillinux = if pkgs ? utillinux then pkgs.utillinux else pkgs.util-linux;
+
   python = if nodejs ? python then nodejs.python else python2;
 
   # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
@@ -242,8 +245,8 @@ let
       if(fs.existsSync("./package-lock.json")) {
           var packageLock = JSON.parse(fs.readFileSync("./package-lock.json"));
 
-          if(packageLock.lockfileVersion !== 1) {
-             process.stderr.write("Sorry, I only understand lock file version 1!\n");
+          if(![1, 2].includes(packageLock.lockfileVersion)) {
+             process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n");
              process.exit(1);
           }
 
@@ -388,16 +391,15 @@ let
     , dontStrip ? true
     , unpackPhase ? "true"
     , buildPhase ? "true"
-    , meta ? {}
     , ... }@args:
 
     let
-      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta" ];
+      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" ];
     in
     stdenv.mkDerivation ({
       name = "node_${name}-${version}";
       buildInputs = [ tarWrapper python nodejs ]
-        ++ lib.optional (stdenv.isLinux) util-linux
+        ++ lib.optional (stdenv.isLinux) utillinux
         ++ lib.optional (stdenv.isDarwin) libtool
         ++ buildInputs;
 
@@ -444,15 +446,10 @@ let
         # Run post install hook, if provided
         runHook postInstall
       '';
-
-      meta = {
-        # default to Node.js' platforms
-        platforms = nodejs.meta.platforms;
-      } // meta;
     } // extraArgs);
 
-  # Builds a development shell
-  buildNodeShell =
+  # Builds a node environment (a node_modules folder and a set of binaries)
+  buildNodeDependencies =
     { name
     , packageName
     , version
@@ -471,12 +468,12 @@ let
 
     let
       extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
-
-      nodeDependencies = stdenv.mkDerivation ({
+    in
+      stdenv.mkDerivation ({
         name = "node-dependencies-${name}-${version}";
 
         buildInputs = [ tarWrapper python nodejs ]
-          ++ lib.optional (stdenv.isLinux) util-linux
+          ++ lib.optional (stdenv.isLinux) utillinux
           ++ lib.optional (stdenv.isDarwin) libtool
           ++ buildInputs;
 
@@ -518,11 +515,32 @@ let
           ln -s $out/lib/node_modules/.bin $out/bin
         '';
       } // extraArgs);
+
+  # Builds a development shell
+  buildNodeShell =
+    { name
+    , packageName
+    , version
+    , src
+    , dependencies ? []
+    , buildInputs ? []
+    , production ? true
+    , npmFlags ? ""
+    , dontNpmInstall ? false
+    , bypassCache ? false
+    , reconstructLock ? false
+    , dontStrip ? true
+    , unpackPhase ? "true"
+    , buildPhase ? "true"
+    , ... }@args:
+
+    let
+      nodeDependencies = buildNodeDependencies args;
     in
     stdenv.mkDerivation {
       name = "node-shell-${name}-${version}";
 
-      buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) util-linux ++ buildInputs;
+      buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
       buildCommand = ''
         mkdir -p $out/bin
         cat > $out/bin/shell <<EOF
@@ -544,5 +562,6 @@ in
 {
   buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist;
   buildNodePackage = lib.makeOverridable buildNodePackage;
+  buildNodeDependencies = lib.makeOverridable buildNodeDependencies;
   buildNodeShell = lib.makeOverridable buildNodeShell;
 }
diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json
index 555f0cd1dfd70..829c2f67fd7b9 100644
--- a/pkgs/development/node-packages/node-packages.json
+++ b/pkgs/development/node-packages/node-packages.json
@@ -22,6 +22,8 @@
 , "cdktf-cli"
 , "clean-css-cli"
 , "clubhouse-cli"
+, "coc-clangd"
+, "coc-cmake"
 , "coc-css"
 , "coc-diagnostic"
 , "coc-emmet"
@@ -39,6 +41,7 @@
 , "coc-metals"
 , "coc-pairs"
 , "coc-prettier"
+, "coc-pyright"
 , "coc-python"
 , "coc-r-lsp"
 , "coc-rls"
@@ -48,6 +51,7 @@
 , "coc-solargraph"
 , "coc-stylelint"
 , "coc-tabnine"
+, "coc-texlab"
 , "coc-tslint"
 , "coc-tslint-plugin"
 , "coc-tsserver"
@@ -88,6 +92,7 @@
 , "flood"
 , "forever"
 , "fx"
+, "ganache-cli"
 , "get-graphql-schema"
 , "git-run"
 , "git-ssb"
@@ -115,7 +120,7 @@
 , "indium"
 , "insect"
 , "ionic"
-, {"iosevka": "https://github.com/be5invis/Iosevka/archive/v3.7.1.tar.gz"}
+, {"iosevka": "https://github.com/be5invis/Iosevka/archive/v5.0.2.tar.gz"}
 , "jake"
 , "javascript-typescript-langserver"
 , "joplin"
@@ -200,6 +205,7 @@
 , "stackdriver-statsd-backend"
 , "stf"
 , "stylelint"
+, "svelte-language-server"
 , "svgo"
 , "swagger"
 , {"tedicross": "git+https://github.com/TediCross/TediCross.git#v0.8.7"}
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index 177cef6c59f9c..b8af4a775bf2c 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -1,6 +1,6 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
 let
   sources = {
@@ -22,76 +22,58 @@ let
         sha512 = "t4WmWoGV9gyzypwG3y3JlcK2t8fKLtvzBA7xEoFTj9SMPvOuLsf13uh4ikK0RRaaa9RPPWLgFUdOyIRaQvCpwQ==";
       };
     };
-    "@angular-devkit/architect-0.1101.1" = {
+    "@angular-devkit/architect-0.1102.2" = {
       name = "_at_angular-devkit_slash_architect";
       packageName = "@angular-devkit/architect";
-      version = "0.1101.1";
+      version = "0.1102.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1101.1.tgz";
-        sha512 = "oyzDIzI5owzYmgwGQLBbKOkTDc49dPosI2BiBf0oWtKH2L2sQ6jiad1k/Oq4/k7TYEN8neb/eZ1dpsHmZdYqaw==";
+        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1102.2.tgz";
+        sha512 = "FE7DeT13elqDlELF23QqvEFnT2BkxeC5t31/QW85IN/OR5Tf/q7XEpj7giJXyzKFQ60M3ZzbznZyRz0EqtfaBQ==";
       };
     };
-    "@angular-devkit/core-11.0.3" = {
+    "@angular-devkit/core-11.2.0" = {
       name = "_at_angular-devkit_slash_core";
       packageName = "@angular-devkit/core";
-      version = "11.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-11.0.3.tgz";
-        sha512 = "gJRiBj0gWDR2VtIvLvwwc/GM2MZvg1xw69ZbBJ1VuUgDqPBHdC8q3UMW3B82wdhxK+RBYa7ZOJxtIVggaHkm9g==";
-      };
-    };
-    "@angular-devkit/core-11.1.0" = {
-      name = "_at_angular-devkit_slash_core";
-      packageName = "@angular-devkit/core";
-      version = "11.1.0";
+      version = "11.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-11.1.0.tgz";
-        sha512 = "O2oIcqpQKGvYJH88d/NCgLYZGc9laA1eo2d1s0FH1Udu4c2L+bAsviQqtTKNmzyaqODHrlkt+eKx7uakdwWtnQ==";
+        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-11.2.0.tgz";
+        sha512 = "qqYEH8m/bwpngoLDMFuth8ykvoHxQ3aHHnAWfRXz9NXydwSfathG0VSYCctB126sK39JKIn+xq16CQAExxNu+Q==";
       };
     };
-    "@angular-devkit/core-11.1.1" = {
+    "@angular-devkit/core-11.2.2" = {
       name = "_at_angular-devkit_slash_core";
       packageName = "@angular-devkit/core";
-      version = "11.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-11.1.1.tgz";
-        sha512 = "eQTRmcuVCgGE7mR3qyabjlvXlQCMDI+gDCkcAlzn161pJY9Yxmw0Q1rXN2sZlUdfZuc9sSg0m2MaQQFBSGp+XA==";
-      };
-    };
-    "@angular-devkit/schematics-11.0.3" = {
-      name = "_at_angular-devkit_slash_schematics";
-      packageName = "@angular-devkit/schematics";
-      version = "11.0.3";
+      version = "11.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-11.0.3.tgz";
-        sha512 = "VZnqgnnfyzyMluIDvGp+ZlDU2P9BnjrhacBOdqBS/jNQ7oxyE0AWrUApGXcejOJ13Z7pEf31E64P3bImcjwP+A==";
+        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-11.2.2.tgz";
+        sha512 = "LUDO1AdIjereiMh0j5p9xJcdr9ifhbWCPxlZqfu5wHzUfhCx9gO2Lvjp6rZXQ3OedXg5IZUnyxHlzkszQOsgiw==";
       };
     };
-    "@angular-devkit/schematics-11.1.0" = {
+    "@angular-devkit/schematics-11.2.0" = {
       name = "_at_angular-devkit_slash_schematics";
       packageName = "@angular-devkit/schematics";
-      version = "11.1.0";
+      version = "11.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-11.1.0.tgz";
-        sha512 = "6qfR5w1jyk8MC+5Tfimz+Czsq3WlsVoB57dpxSZfhGGsv1Vxc8Q41y5f3BrAyEqHYjcH7NtaoLQoJjtra5KaAg==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-11.2.0.tgz";
+        sha512 = "sMDacACJbA4pykiqgJf/RdW0damcf4mDqErGgEqs/bGG+SBUb8+wgt4cQnUwwVX5V2nMdvv7f0A84rgR6I3G2w==";
       };
     };
-    "@angular-devkit/schematics-11.1.1" = {
+    "@angular-devkit/schematics-11.2.2" = {
       name = "_at_angular-devkit_slash_schematics";
       packageName = "@angular-devkit/schematics";
-      version = "11.1.1";
+      version = "11.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-11.1.1.tgz";
-        sha512 = "XYbC0cGPChdXg0LD9EA08W24Rv5GPxGNGJNRQhUwlcU9L/szhOw9NEhr/l/DLijAxKv0J2eM5CuzKI1O/3tZYg==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-11.2.2.tgz";
+        sha512 = "6bIxMwafz/+lwdtcshwOuFfhxTMU4RLma1uxBS34DXupMauPGl0IIXAy5cK9dXPlHLxuGsjeBiOM6eq033RLgw==";
       };
     };
-    "@angular-devkit/schematics-cli-0.1100.3" = {
+    "@angular-devkit/schematics-cli-0.1102.0" = {
       name = "_at_angular-devkit_slash_schematics-cli";
       packageName = "@angular-devkit/schematics-cli";
-      version = "0.1100.3";
+      version = "0.1102.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-0.1100.3.tgz";
-        sha512 = "dECFHCDTgWfSHosfKTeQoyTgUUqgJaftxg4DxA23sMsQtDb1U8ZsIIPpH+L4QhCDT2zlhv51ynd5RUgu28h2DQ==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-0.1102.0.tgz";
+        sha512 = "BkIoRf7L+3al+QIYWrgUlpNQP01tPSynPdTNb7z13tCHVv8Ag1CR5SJn1O8IGfFz7NxfX0Me0s7zyNTZ1QaWQQ==";
       };
     };
     "@antora/asciidoc-loader-2.3.4" = {
@@ -229,13 +211,13 @@ let
         sha512 = "ZtyaBH1icCgqwIGb3zrtopV2D5Q8yxibkJzlaViM08eOhTQc7rACdYu0pfORFfhllvdMZ3aq69vifYHszY4gNA==";
       };
     };
-    "@apollographql/apollo-tools-0.4.8" = {
+    "@apollographql/apollo-tools-0.4.9" = {
       name = "_at_apollographql_slash_apollo-tools";
       packageName = "@apollographql/apollo-tools";
-      version = "0.4.8";
+      version = "0.4.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.4.8.tgz";
-        sha512 = "W2+HB8Y7ifowcf3YyPHgDI05izyRtOeZ4MqIr7LbTArtmJ0ZHULWpn84SGMW7NAvTV1tFExpHlveHhnXuJfuGA==";
+        url = "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.4.9.tgz";
+        sha512 = "M50pk8oo3CGTu4waGOklIX3YtTZoPfWG9K/G9WB8NpyQGA1OwYTiBFv94XqUtKElTDoFwoMXpMQd3Wy5dINvxA==";
       };
     };
     "@apollographql/graphql-language-service-interface-2.0.2" = {
@@ -283,6 +265,15 @@ let
         sha512 = "XAwXOIab51QyhBxnxySdK3nuMEUohhDsHQ5Rbco/V1vjlP75zZ0ZLHD9dTpXTN8uxKxopb2lUvJTq+M4g2Q0HQ==";
       };
     };
+    "@apollographql/graphql-upload-8-fork-8.1.3" = {
+      name = "_at_apollographql_slash_graphql-upload-8-fork";
+      packageName = "@apollographql/graphql-upload-8-fork";
+      version = "8.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@apollographql/graphql-upload-8-fork/-/graphql-upload-8-fork-8.1.3.tgz";
+        sha512 = "ssOPUT7euLqDXcdVv3Qs4LoL4BPtfermW1IOouaqEmj36TpHYDmYDIbKoSQxikd9vtMumFnP87OybH7sC9fJ6g==";
+      };
+    };
     "@ardatan/aggregate-error-0.0.6" = {
       name = "_at_ardatan_slash_aggregate-error";
       packageName = "@ardatan/aggregate-error";
@@ -328,22 +319,31 @@ let
         sha512 = "Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==";
       };
     };
-    "@babel/compat-data-7.12.7" = {
+    "@babel/code-frame-7.12.13" = {
+      name = "_at_babel_slash_code-frame";
+      packageName = "@babel/code-frame";
+      version = "7.12.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz";
+        sha512 = "HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==";
+      };
+    };
+    "@babel/compat-data-7.13.8" = {
       name = "_at_babel_slash_compat-data";
       packageName = "@babel/compat-data";
-      version = "7.12.7";
+      version = "7.13.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz";
-        sha512 = "YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==";
+        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.8.tgz";
+        sha512 = "EaI33z19T4qN3xLXsGf48M2cDqa6ei9tPZlfLdb2HC+e/cFtREiRd8hdSqDbwdLB0/+gLwqJmCYASH0z2bUdog==";
       };
     };
-    "@babel/core-7.12.10" = {
+    "@babel/core-7.13.8" = {
       name = "_at_babel_slash_core";
       packageName = "@babel/core";
-      version = "7.12.10";
+      version = "7.13.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz";
-        sha512 = "eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==";
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.13.8.tgz";
+        sha512 = "oYapIySGw1zGhEFRd6lzWNLWFX2s5dA/jm+Pw/+59ZdXtjyIuwlXbrId22Md0rgZVop+aVoqow2riXhBLNyuQg==";
       };
     };
     "@babel/core-7.9.0" = {
@@ -364,166 +364,175 @@ let
         sha512 = "Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==";
       };
     };
-    "@babel/helper-annotate-as-pure-7.12.10" = {
+    "@babel/generator-7.13.0" = {
+      name = "_at_babel_slash_generator";
+      packageName = "@babel/generator";
+      version = "7.13.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.13.0.tgz";
+        sha512 = "zBZfgvBB/ywjx0Rgc2+BwoH/3H+lDtlgD4hBOpEv5LxRnYsm/753iRuLepqnYlynpjC3AdQxtxsoeHJoEEwOAw==";
+      };
+    };
+    "@babel/helper-annotate-as-pure-7.12.13" = {
       name = "_at_babel_slash_helper-annotate-as-pure";
       packageName = "@babel/helper-annotate-as-pure";
-      version = "7.12.10";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz";
-        sha512 = "XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==";
+        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz";
+        sha512 = "7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==";
       };
     };
-    "@babel/helper-builder-binary-assignment-operator-visitor-7.10.4" = {
+    "@babel/helper-builder-binary-assignment-operator-visitor-7.12.13" = {
       name = "_at_babel_slash_helper-builder-binary-assignment-operator-visitor";
       packageName = "@babel/helper-builder-binary-assignment-operator-visitor";
-      version = "7.10.4";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz";
-        sha512 = "L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==";
+        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz";
+        sha512 = "CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==";
       };
     };
-    "@babel/helper-compilation-targets-7.12.5" = {
+    "@babel/helper-compilation-targets-7.13.8" = {
       name = "_at_babel_slash_helper-compilation-targets";
       packageName = "@babel/helper-compilation-targets";
-      version = "7.12.5";
+      version = "7.13.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz";
-        sha512 = "+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==";
+        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.8.tgz";
+        sha512 = "pBljUGC1y3xKLn1nrx2eAhurLMA8OqBtBP/JwG4U8skN7kf8/aqwwxpV1N6T0e7r6+7uNitIa/fUxPFagSXp3A==";
       };
     };
-    "@babel/helper-create-class-features-plugin-7.12.1" = {
+    "@babel/helper-create-class-features-plugin-7.13.8" = {
       name = "_at_babel_slash_helper-create-class-features-plugin";
       packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.12.1";
+      version = "7.13.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz";
-        sha512 = "hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==";
+        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.8.tgz";
+        sha512 = "qioaRrKHQbn4hkRKDHbnuQ6kAxmmOF+kzKGnIfxPK4j2rckSJCpKzr/SSTlohSCiE3uAQpNDJ9FIh4baeE8W+w==";
       };
     };
-    "@babel/helper-create-regexp-features-plugin-7.12.7" = {
+    "@babel/helper-create-regexp-features-plugin-7.12.17" = {
       name = "_at_babel_slash_helper-create-regexp-features-plugin";
       packageName = "@babel/helper-create-regexp-features-plugin";
-      version = "7.12.7";
+      version = "7.12.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz";
-        sha512 = "idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==";
+        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz";
+        sha512 = "p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==";
       };
     };
-    "@babel/helper-define-map-7.10.5" = {
-      name = "_at_babel_slash_helper-define-map";
-      packageName = "@babel/helper-define-map";
-      version = "7.10.5";
+    "@babel/helper-define-polyfill-provider-0.1.4" = {
+      name = "_at_babel_slash_helper-define-polyfill-provider";
+      packageName = "@babel/helper-define-polyfill-provider";
+      version = "0.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz";
-        sha512 = "fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==";
+        url = "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.4.tgz";
+        sha512 = "K5V2GaQZ1gpB+FTXM4AFVG2p1zzhm67n9wrQCJYNzvuLzQybhJyftW7qeDd2uUxPDNdl5Rkon1rOAeUeNDZ28Q==";
       };
     };
-    "@babel/helper-explode-assignable-expression-7.12.1" = {
+    "@babel/helper-explode-assignable-expression-7.13.0" = {
       name = "_at_babel_slash_helper-explode-assignable-expression";
       packageName = "@babel/helper-explode-assignable-expression";
-      version = "7.12.1";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz";
-        sha512 = "dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==";
+        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz";
+        sha512 = "qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==";
       };
     };
-    "@babel/helper-function-name-7.12.11" = {
+    "@babel/helper-function-name-7.12.13" = {
       name = "_at_babel_slash_helper-function-name";
       packageName = "@babel/helper-function-name";
-      version = "7.12.11";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz";
-        sha512 = "AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==";
+        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz";
+        sha512 = "TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==";
       };
     };
-    "@babel/helper-get-function-arity-7.12.10" = {
+    "@babel/helper-get-function-arity-7.12.13" = {
       name = "_at_babel_slash_helper-get-function-arity";
       packageName = "@babel/helper-get-function-arity";
-      version = "7.12.10";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz";
-        sha512 = "mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==";
+        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz";
+        sha512 = "DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==";
       };
     };
-    "@babel/helper-hoist-variables-7.10.4" = {
+    "@babel/helper-hoist-variables-7.13.0" = {
       name = "_at_babel_slash_helper-hoist-variables";
       packageName = "@babel/helper-hoist-variables";
-      version = "7.10.4";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz";
-        sha512 = "wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==";
+        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.0.tgz";
+        sha512 = "0kBzvXiIKfsCA0y6cFEIJf4OdzfpRuNk4+YTeHZpGGc666SATFKTz6sRncwFnQk7/ugJ4dSrCj6iJuvW4Qwr2g==";
       };
     };
-    "@babel/helper-member-expression-to-functions-7.12.7" = {
+    "@babel/helper-member-expression-to-functions-7.13.0" = {
       name = "_at_babel_slash_helper-member-expression-to-functions";
       packageName = "@babel/helper-member-expression-to-functions";
-      version = "7.12.7";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz";
-        sha512 = "DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==";
+        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.0.tgz";
+        sha512 = "yvRf8Ivk62JwisqV1rFRMxiSMDGnN6KH1/mDMmIrij4jztpQNRoHqqMG3U6apYbGRPJpgPalhva9Yd06HlUxJQ==";
       };
     };
-    "@babel/helper-module-imports-7.12.5" = {
+    "@babel/helper-module-imports-7.12.13" = {
       name = "_at_babel_slash_helper-module-imports";
       packageName = "@babel/helper-module-imports";
-      version = "7.12.5";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz";
-        sha512 = "SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==";
+        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz";
+        sha512 = "NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==";
       };
     };
-    "@babel/helper-module-transforms-7.12.1" = {
+    "@babel/helper-module-transforms-7.13.0" = {
       name = "_at_babel_slash_helper-module-transforms";
       packageName = "@babel/helper-module-transforms";
-      version = "7.12.1";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz";
-        sha512 = "QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==";
+        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.0.tgz";
+        sha512 = "Ls8/VBwH577+pw7Ku1QkUWIyRRNHpYlts7+qSqBBFCW3I8QteB9DxfcZ5YJpOwH6Ihe/wn8ch7fMGOP1OhEIvw==";
       };
     };
-    "@babel/helper-optimise-call-expression-7.12.10" = {
+    "@babel/helper-optimise-call-expression-7.12.13" = {
       name = "_at_babel_slash_helper-optimise-call-expression";
       packageName = "@babel/helper-optimise-call-expression";
-      version = "7.12.10";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz";
-        sha512 = "4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==";
+        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz";
+        sha512 = "BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==";
       };
     };
-    "@babel/helper-plugin-utils-7.10.4" = {
+    "@babel/helper-plugin-utils-7.13.0" = {
       name = "_at_babel_slash_helper-plugin-utils";
       packageName = "@babel/helper-plugin-utils";
-      version = "7.10.4";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz";
-        sha512 = "O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==";
+        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz";
+        sha512 = "ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==";
       };
     };
-    "@babel/helper-remap-async-to-generator-7.12.1" = {
+    "@babel/helper-remap-async-to-generator-7.13.0" = {
       name = "_at_babel_slash_helper-remap-async-to-generator";
       packageName = "@babel/helper-remap-async-to-generator";
-      version = "7.12.1";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz";
-        sha512 = "9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==";
+        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz";
+        sha512 = "pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==";
       };
     };
-    "@babel/helper-replace-supers-7.12.11" = {
+    "@babel/helper-replace-supers-7.13.0" = {
       name = "_at_babel_slash_helper-replace-supers";
       packageName = "@babel/helper-replace-supers";
-      version = "7.12.11";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz";
-        sha512 = "q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==";
+        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.0.tgz";
+        sha512 = "Segd5me1+Pz+rmN/NFBOplMbZG3SqRJOBlY+mA0SxAv6rjj7zJqr1AVr3SfzUVTLCv7ZLU5FycOM/SBGuLPbZw==";
       };
     };
-    "@babel/helper-simple-access-7.12.1" = {
+    "@babel/helper-simple-access-7.12.13" = {
       name = "_at_babel_slash_helper-simple-access";
       packageName = "@babel/helper-simple-access";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz";
-        sha512 = "OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==";
+        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz";
+        sha512 = "0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==";
       };
     };
     "@babel/helper-skip-transparent-expression-wrappers-7.12.1" = {
@@ -535,13 +544,13 @@ let
         sha512 = "Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==";
       };
     };
-    "@babel/helper-split-export-declaration-7.12.11" = {
+    "@babel/helper-split-export-declaration-7.12.13" = {
       name = "_at_babel_slash_helper-split-export-declaration";
       packageName = "@babel/helper-split-export-declaration";
-      version = "7.12.11";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz";
-        sha512 = "LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==";
+        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz";
+        sha512 = "tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==";
       };
     };
     "@babel/helper-validator-identifier-7.12.11" = {
@@ -553,49 +562,49 @@ let
         sha512 = "np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==";
       };
     };
-    "@babel/helper-validator-option-7.12.11" = {
+    "@babel/helper-validator-option-7.12.17" = {
       name = "_at_babel_slash_helper-validator-option";
       packageName = "@babel/helper-validator-option";
-      version = "7.12.11";
+      version = "7.12.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz";
-        sha512 = "TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==";
+        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz";
+        sha512 = "TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==";
       };
     };
-    "@babel/helper-wrap-function-7.12.3" = {
+    "@babel/helper-wrap-function-7.13.0" = {
       name = "_at_babel_slash_helper-wrap-function";
       packageName = "@babel/helper-wrap-function";
-      version = "7.12.3";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz";
-        sha512 = "Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==";
+        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz";
+        sha512 = "1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==";
       };
     };
-    "@babel/helpers-7.12.5" = {
+    "@babel/helpers-7.13.0" = {
       name = "_at_babel_slash_helpers";
       packageName = "@babel/helpers";
-      version = "7.12.5";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz";
-        sha512 = "lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==";
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.0.tgz";
+        sha512 = "aan1MeFPxFacZeSz6Ld7YZo5aPuqnKlD7+HZY75xQsueczFccP9A7V05+oe0XpLwHK3oLorPe9eaAUljL7WEaQ==";
       };
     };
-    "@babel/highlight-7.10.4" = {
+    "@babel/highlight-7.13.8" = {
       name = "_at_babel_slash_highlight";
       packageName = "@babel/highlight";
-      version = "7.10.4";
+      version = "7.13.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz";
-        sha512 = "i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==";
+        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.8.tgz";
+        sha512 = "4vrIhfJyfNf+lCtXC2ck1rKSzDwciqF7IWFhXXrSOUC2O5DrVp+w4c6ed4AllTxhTkUP5x2tYj41VaxdVMMRDw==";
       };
     };
-    "@babel/parser-7.12.11" = {
+    "@babel/parser-7.13.4" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.12.11";
+      version = "7.13.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz";
-        sha512 = "N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.13.4.tgz";
+        sha512 = "uvoOulWHhI+0+1f9L4BoozY7U5cIkZ9PgJqvb041d6vypgUmtVPG4vmGm4pSggjl8BELzvHyUeJSUyEMY6b+qA==";
       };
     };
     "@babel/plugin-external-helpers-7.8.3" = {
@@ -607,130 +616,139 @@ let
         sha512 = "mx0WXDDiIl5DwzMtzWGRSPugXi9BxROS05GQrhLNbEamhBiicgn994ibwkyiBH+6png7bm/yA7AUsvHyCXi4Vw==";
       };
     };
-    "@babel/plugin-proposal-async-generator-functions-7.12.12" = {
+    "@babel/plugin-proposal-async-generator-functions-7.13.8" = {
       name = "_at_babel_slash_plugin-proposal-async-generator-functions";
       packageName = "@babel/plugin-proposal-async-generator-functions";
-      version = "7.12.12";
+      version = "7.13.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz";
-        sha512 = "nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.8.tgz";
+        sha512 = "rPBnhj+WgoSmgq+4gQUtXx/vOcU+UYtjy1AA/aeD61Hwj410fwYyqfUcRP3lR8ucgliVJL/G7sXcNUecC75IXA==";
       };
     };
-    "@babel/plugin-proposal-class-properties-7.12.1" = {
+    "@babel/plugin-proposal-class-properties-7.12.13" = {
       name = "_at_babel_slash_plugin-proposal-class-properties";
       packageName = "@babel/plugin-proposal-class-properties";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz";
-        sha512 = "cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.13.tgz";
+        sha512 = "8SCJ0Ddrpwv4T7Gwb33EmW1V9PY5lggTO+A8WjyIwxrSHDUyBw4MtF96ifn1n8H806YlxbVCoKXbbmzD6RD+cA==";
       };
     };
-    "@babel/plugin-proposal-dynamic-import-7.12.1" = {
+    "@babel/plugin-proposal-class-properties-7.13.0" = {
+      name = "_at_babel_slash_plugin-proposal-class-properties";
+      packageName = "@babel/plugin-proposal-class-properties";
+      version = "7.13.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz";
+        sha512 = "KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==";
+      };
+    };
+    "@babel/plugin-proposal-dynamic-import-7.13.8" = {
       name = "_at_babel_slash_plugin-proposal-dynamic-import";
       packageName = "@babel/plugin-proposal-dynamic-import";
-      version = "7.12.1";
+      version = "7.13.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz";
-        sha512 = "a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz";
+        sha512 = "ONWKj0H6+wIRCkZi9zSbZtE/r73uOhMVHh256ys0UzfM7I3d4n+spZNWjOnJv2gzopumP2Wxi186vI8N0Y2JyQ==";
       };
     };
-    "@babel/plugin-proposal-export-default-from-7.12.1" = {
+    "@babel/plugin-proposal-export-default-from-7.12.13" = {
       name = "_at_babel_slash_plugin-proposal-export-default-from";
       packageName = "@babel/plugin-proposal-export-default-from";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.12.1.tgz";
-        sha512 = "z5Q4Ke7j0AexQRfgUvnD+BdCSgpTEKnqQ3kskk2jWtOBulxICzd1X9BGt7kmWftxZ2W3++OZdt5gtmC8KLxdRQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.12.13.tgz";
+        sha512 = "idIsBT+DGXdOHL82U+8bwX4goHm/z10g8sGGrQroh+HCRcm7mDv/luaGdWJQMTuCX2FsdXS7X0Nyyzp4znAPJA==";
       };
     };
-    "@babel/plugin-proposal-export-namespace-from-7.12.1" = {
+    "@babel/plugin-proposal-export-namespace-from-7.12.13" = {
       name = "_at_babel_slash_plugin-proposal-export-namespace-from";
       packageName = "@babel/plugin-proposal-export-namespace-from";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz";
-        sha512 = "6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz";
+        sha512 = "INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==";
       };
     };
-    "@babel/plugin-proposal-json-strings-7.12.1" = {
+    "@babel/plugin-proposal-json-strings-7.13.8" = {
       name = "_at_babel_slash_plugin-proposal-json-strings";
       packageName = "@babel/plugin-proposal-json-strings";
-      version = "7.12.1";
+      version = "7.13.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz";
-        sha512 = "GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz";
+        sha512 = "w4zOPKUFPX1mgvTmL/fcEqy34hrQ1CRcGxdphBc6snDnnqJ47EZDIyop6IwXzAC8G916hsIuXB2ZMBCExC5k7Q==";
       };
     };
-    "@babel/plugin-proposal-logical-assignment-operators-7.12.1" = {
+    "@babel/plugin-proposal-logical-assignment-operators-7.13.8" = {
       name = "_at_babel_slash_plugin-proposal-logical-assignment-operators";
       packageName = "@babel/plugin-proposal-logical-assignment-operators";
-      version = "7.12.1";
+      version = "7.13.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz";
-        sha512 = "k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz";
+        sha512 = "aul6znYB4N4HGweImqKn59Su9RS8lbUIqxtXTOcAGtNIDczoEFv+l1EhmX8rUBp3G1jMjKJm8m0jXVp63ZpS4A==";
       };
     };
-    "@babel/plugin-proposal-nullish-coalescing-operator-7.12.1" = {
+    "@babel/plugin-proposal-nullish-coalescing-operator-7.13.8" = {
       name = "_at_babel_slash_plugin-proposal-nullish-coalescing-operator";
       packageName = "@babel/plugin-proposal-nullish-coalescing-operator";
-      version = "7.12.1";
+      version = "7.13.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz";
-        sha512 = "nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz";
+        sha512 = "iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A==";
       };
     };
-    "@babel/plugin-proposal-numeric-separator-7.12.7" = {
+    "@babel/plugin-proposal-numeric-separator-7.12.13" = {
       name = "_at_babel_slash_plugin-proposal-numeric-separator";
       packageName = "@babel/plugin-proposal-numeric-separator";
-      version = "7.12.7";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz";
-        sha512 = "8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz";
+        sha512 = "O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==";
       };
     };
-    "@babel/plugin-proposal-object-rest-spread-7.12.1" = {
+    "@babel/plugin-proposal-object-rest-spread-7.13.8" = {
       name = "_at_babel_slash_plugin-proposal-object-rest-spread";
       packageName = "@babel/plugin-proposal-object-rest-spread";
-      version = "7.12.1";
+      version = "7.13.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz";
-        sha512 = "s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz";
+        sha512 = "DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g==";
       };
     };
-    "@babel/plugin-proposal-optional-catch-binding-7.12.1" = {
+    "@babel/plugin-proposal-optional-catch-binding-7.13.8" = {
       name = "_at_babel_slash_plugin-proposal-optional-catch-binding";
       packageName = "@babel/plugin-proposal-optional-catch-binding";
-      version = "7.12.1";
+      version = "7.13.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz";
-        sha512 = "hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz";
+        sha512 = "0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA==";
       };
     };
-    "@babel/plugin-proposal-optional-chaining-7.12.7" = {
+    "@babel/plugin-proposal-optional-chaining-7.13.8" = {
       name = "_at_babel_slash_plugin-proposal-optional-chaining";
       packageName = "@babel/plugin-proposal-optional-chaining";
-      version = "7.12.7";
+      version = "7.13.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz";
-        sha512 = "4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.8.tgz";
+        sha512 = "hpbBwbTgd7Cz1QryvwJZRo1U0k1q8uyBmeXOSQUjdg/A2TASkhR/rz7AyqZ/kS8kbpsNA80rOYbxySBJAqmhhQ==";
       };
     };
-    "@babel/plugin-proposal-private-methods-7.12.1" = {
+    "@babel/plugin-proposal-private-methods-7.13.0" = {
       name = "_at_babel_slash_plugin-proposal-private-methods";
       packageName = "@babel/plugin-proposal-private-methods";
-      version = "7.12.1";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz";
-        sha512 = "mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz";
+        sha512 = "MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==";
       };
     };
-    "@babel/plugin-proposal-unicode-property-regex-7.12.1" = {
+    "@babel/plugin-proposal-unicode-property-regex-7.12.13" = {
       name = "_at_babel_slash_plugin-proposal-unicode-property-regex";
       packageName = "@babel/plugin-proposal-unicode-property-regex";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz";
-        sha512 = "MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz";
+        sha512 = "XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==";
       };
     };
     "@babel/plugin-syntax-async-generators-7.8.4" = {
@@ -751,13 +769,13 @@ let
         sha512 = "wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==";
       };
     };
-    "@babel/plugin-syntax-class-properties-7.12.1" = {
+    "@babel/plugin-syntax-class-properties-7.12.13" = {
       name = "_at_babel_slash_plugin-syntax-class-properties";
       packageName = "@babel/plugin-syntax-class-properties";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz";
-        sha512 = "U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz";
+        sha512 = "fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==";
       };
     };
     "@babel/plugin-syntax-dynamic-import-7.8.3" = {
@@ -769,13 +787,13 @@ let
         sha512 = "5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==";
       };
     };
-    "@babel/plugin-syntax-export-default-from-7.12.1" = {
+    "@babel/plugin-syntax-export-default-from-7.12.13" = {
       name = "_at_babel_slash_plugin-syntax-export-default-from";
       packageName = "@babel/plugin-syntax-export-default-from";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.12.1.tgz";
-        sha512 = "dP5eGg6tHEkhnRD2/vRG/KJKRSg8gtxu2i+P/8/yFPJn/CfPU5G0/7Gks2i3M6IOVAPQekmsLN9LPsmXFFL4Uw==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.12.13.tgz";
+        sha512 = "gVry0zqoums0hA+EniCYK3gABhjYSLX1dVuwYpPw9DrLNA4/GovXySHVg4FGRsZht09ON/5C2NVx3keq+qqVGQ==";
       };
     };
     "@babel/plugin-syntax-export-namespace-from-7.8.3" = {
@@ -787,13 +805,13 @@ let
         sha512 = "MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==";
       };
     };
-    "@babel/plugin-syntax-flow-7.12.1" = {
+    "@babel/plugin-syntax-flow-7.12.13" = {
       name = "_at_babel_slash_plugin-syntax-flow";
       packageName = "@babel/plugin-syntax-flow";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.1.tgz";
-        sha512 = "1lBLLmtxrwpm4VKmtVFselI/P3pX+G63fAtUUt6b2Nzgao77KNDwyuRt90Mj2/9pKobtt68FdvjfqohZjg/FCA==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.13.tgz";
+        sha512 = "J/RYxnlSLXZLVR7wTRsozxKT8qbsx1mNKJzXEEjQ0Kjx1ZACcyHgbanNWNCFtc36IzuWhYWPpvJFFoexoOWFmA==";
       };
     };
     "@babel/plugin-syntax-import-meta-7.10.4" = {
@@ -814,13 +832,13 @@ let
         sha512 = "lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==";
       };
     };
-    "@babel/plugin-syntax-jsx-7.12.1" = {
+    "@babel/plugin-syntax-jsx-7.12.13" = {
       name = "_at_babel_slash_plugin-syntax-jsx";
       packageName = "@babel/plugin-syntax-jsx";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz";
-        sha512 = "1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz";
+        sha512 = "d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g==";
       };
     };
     "@babel/plugin-syntax-logical-assignment-operators-7.10.4" = {
@@ -877,373 +895,382 @@ let
         sha512 = "KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==";
       };
     };
-    "@babel/plugin-syntax-top-level-await-7.12.1" = {
+    "@babel/plugin-syntax-top-level-await-7.12.13" = {
       name = "_at_babel_slash_plugin-syntax-top-level-await";
       packageName = "@babel/plugin-syntax-top-level-await";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz";
-        sha512 = "i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz";
+        sha512 = "A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==";
       };
     };
-    "@babel/plugin-syntax-typescript-7.12.1" = {
+    "@babel/plugin-syntax-typescript-7.12.13" = {
       name = "_at_babel_slash_plugin-syntax-typescript";
       packageName = "@babel/plugin-syntax-typescript";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.1.tgz";
-        sha512 = "UZNEcCY+4Dp9yYRCAHrHDU+9ZXLYaY9MgBXSRLkB9WjYFRR6quJBumfVrEkUxrePPBwFcpWfNKXqVRQQtm7mMA==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz";
+        sha512 = "cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w==";
       };
     };
-    "@babel/plugin-transform-arrow-functions-7.12.1" = {
+    "@babel/plugin-transform-arrow-functions-7.13.0" = {
       name = "_at_babel_slash_plugin-transform-arrow-functions";
       packageName = "@babel/plugin-transform-arrow-functions";
-      version = "7.12.1";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz";
-        sha512 = "5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz";
+        sha512 = "96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==";
       };
     };
-    "@babel/plugin-transform-async-to-generator-7.12.1" = {
+    "@babel/plugin-transform-async-to-generator-7.13.0" = {
       name = "_at_babel_slash_plugin-transform-async-to-generator";
       packageName = "@babel/plugin-transform-async-to-generator";
-      version = "7.12.1";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz";
-        sha512 = "SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz";
+        sha512 = "3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==";
       };
     };
-    "@babel/plugin-transform-block-scoped-functions-7.12.1" = {
+    "@babel/plugin-transform-block-scoped-functions-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-block-scoped-functions";
       packageName = "@babel/plugin-transform-block-scoped-functions";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz";
-        sha512 = "5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz";
+        sha512 = "zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==";
       };
     };
-    "@babel/plugin-transform-block-scoping-7.12.12" = {
+    "@babel/plugin-transform-block-scoping-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-block-scoping";
       packageName = "@babel/plugin-transform-block-scoping";
-      version = "7.12.12";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz";
-        sha512 = "VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz";
+        sha512 = "Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==";
       };
     };
-    "@babel/plugin-transform-classes-7.12.1" = {
+    "@babel/plugin-transform-classes-7.13.0" = {
       name = "_at_babel_slash_plugin-transform-classes";
       packageName = "@babel/plugin-transform-classes";
-      version = "7.12.1";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz";
-        sha512 = "/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz";
+        sha512 = "9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g==";
       };
     };
-    "@babel/plugin-transform-computed-properties-7.12.1" = {
+    "@babel/plugin-transform-computed-properties-7.13.0" = {
       name = "_at_babel_slash_plugin-transform-computed-properties";
       packageName = "@babel/plugin-transform-computed-properties";
-      version = "7.12.1";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz";
-        sha512 = "vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz";
+        sha512 = "RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==";
       };
     };
-    "@babel/plugin-transform-destructuring-7.12.1" = {
+    "@babel/plugin-transform-destructuring-7.13.0" = {
       name = "_at_babel_slash_plugin-transform-destructuring";
       packageName = "@babel/plugin-transform-destructuring";
-      version = "7.12.1";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz";
-        sha512 = "fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.0.tgz";
+        sha512 = "zym5em7tePoNT9s964c0/KU3JPPnuq7VhIxPRefJ4/s82cD+q1mgKfuGRDMCPL0HTyKz4dISuQlCusfgCJ86HA==";
       };
     };
-    "@babel/plugin-transform-dotall-regex-7.12.1" = {
+    "@babel/plugin-transform-dotall-regex-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-dotall-regex";
       packageName = "@babel/plugin-transform-dotall-regex";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz";
-        sha512 = "B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz";
+        sha512 = "foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==";
       };
     };
-    "@babel/plugin-transform-duplicate-keys-7.12.1" = {
+    "@babel/plugin-transform-duplicate-keys-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-duplicate-keys";
       packageName = "@babel/plugin-transform-duplicate-keys";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz";
-        sha512 = "iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz";
+        sha512 = "NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==";
       };
     };
-    "@babel/plugin-transform-exponentiation-operator-7.12.1" = {
+    "@babel/plugin-transform-exponentiation-operator-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-exponentiation-operator";
       packageName = "@babel/plugin-transform-exponentiation-operator";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz";
-        sha512 = "7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz";
+        sha512 = "fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==";
       };
     };
-    "@babel/plugin-transform-flow-strip-types-7.12.10" = {
+    "@babel/plugin-transform-flow-strip-types-7.13.0" = {
       name = "_at_babel_slash_plugin-transform-flow-strip-types";
       packageName = "@babel/plugin-transform-flow-strip-types";
-      version = "7.12.10";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.10.tgz";
-        sha512 = "0ti12wLTLeUIzu9U7kjqIn4MyOL7+Wibc7avsHhj4o1l5C0ATs8p2IMHrVYjm9t9wzhfEO6S3kxax0Rpdo8LTg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.13.0.tgz";
+        sha512 = "EXAGFMJgSX8gxWD7PZtW/P6M+z74jpx3wm/+9pn+c2dOawPpBkUX7BrfyPvo6ZpXbgRIEuwgwDb/MGlKvu2pOg==";
       };
     };
-    "@babel/plugin-transform-for-of-7.12.1" = {
+    "@babel/plugin-transform-for-of-7.13.0" = {
       name = "_at_babel_slash_plugin-transform-for-of";
       packageName = "@babel/plugin-transform-for-of";
-      version = "7.12.1";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz";
-        sha512 = "Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz";
+        sha512 = "IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==";
       };
     };
-    "@babel/plugin-transform-function-name-7.12.1" = {
+    "@babel/plugin-transform-function-name-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-function-name";
       packageName = "@babel/plugin-transform-function-name";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz";
-        sha512 = "JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz";
+        sha512 = "6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==";
       };
     };
-    "@babel/plugin-transform-literals-7.12.1" = {
+    "@babel/plugin-transform-literals-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-literals";
       packageName = "@babel/plugin-transform-literals";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz";
-        sha512 = "+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz";
+        sha512 = "FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==";
       };
     };
-    "@babel/plugin-transform-member-expression-literals-7.12.1" = {
+    "@babel/plugin-transform-member-expression-literals-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-member-expression-literals";
       packageName = "@babel/plugin-transform-member-expression-literals";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz";
-        sha512 = "1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz";
+        sha512 = "kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==";
       };
     };
-    "@babel/plugin-transform-modules-amd-7.12.1" = {
+    "@babel/plugin-transform-modules-amd-7.13.0" = {
       name = "_at_babel_slash_plugin-transform-modules-amd";
       packageName = "@babel/plugin-transform-modules-amd";
-      version = "7.12.1";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz";
-        sha512 = "tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz";
+        sha512 = "EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ==";
       };
     };
-    "@babel/plugin-transform-modules-commonjs-7.12.1" = {
+    "@babel/plugin-transform-modules-commonjs-7.13.8" = {
       name = "_at_babel_slash_plugin-transform-modules-commonjs";
       packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.12.1";
+      version = "7.13.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz";
-        sha512 = "dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz";
+        sha512 = "9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw==";
       };
     };
-    "@babel/plugin-transform-modules-systemjs-7.12.1" = {
+    "@babel/plugin-transform-modules-systemjs-7.13.8" = {
       name = "_at_babel_slash_plugin-transform-modules-systemjs";
       packageName = "@babel/plugin-transform-modules-systemjs";
-      version = "7.12.1";
+      version = "7.13.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz";
-        sha512 = "Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz";
+        sha512 = "hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==";
       };
     };
-    "@babel/plugin-transform-modules-umd-7.12.1" = {
+    "@babel/plugin-transform-modules-umd-7.13.0" = {
       name = "_at_babel_slash_plugin-transform-modules-umd";
       packageName = "@babel/plugin-transform-modules-umd";
-      version = "7.12.1";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz";
-        sha512 = "aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz";
+        sha512 = "D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw==";
       };
     };
-    "@babel/plugin-transform-named-capturing-groups-regex-7.12.1" = {
+    "@babel/plugin-transform-named-capturing-groups-regex-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex";
       packageName = "@babel/plugin-transform-named-capturing-groups-regex";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz";
-        sha512 = "tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz";
+        sha512 = "Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==";
       };
     };
-    "@babel/plugin-transform-new-target-7.12.1" = {
+    "@babel/plugin-transform-new-target-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-new-target";
       packageName = "@babel/plugin-transform-new-target";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz";
-        sha512 = "+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz";
+        sha512 = "/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==";
       };
     };
-    "@babel/plugin-transform-object-assign-7.12.1" = {
+    "@babel/plugin-transform-object-assign-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-object-assign";
       packageName = "@babel/plugin-transform-object-assign";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.12.1.tgz";
-        sha512 = "geUHn4XwHznRAFiuROTy0Hr7bKbpijJCmr1Svt/VNGhpxmp0OrdxURNpWbOAf94nUbL+xj6gbxRVPHWIbRpRoA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.12.13.tgz";
+        sha512 = "4QxDMc0lAOkIBSfCrnSGbAJ+4epDBF2XXwcLXuBcG1xl9u7LrktNVD4+LwhL47XuKVPQ7R25e/WdcV+h97HyZA==";
       };
     };
-    "@babel/plugin-transform-object-super-7.12.1" = {
+    "@babel/plugin-transform-object-super-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-object-super";
       packageName = "@babel/plugin-transform-object-super";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz";
-        sha512 = "AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz";
+        sha512 = "JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==";
       };
     };
-    "@babel/plugin-transform-parameters-7.12.1" = {
+    "@babel/plugin-transform-parameters-7.13.0" = {
       name = "_at_babel_slash_plugin-transform-parameters";
       packageName = "@babel/plugin-transform-parameters";
-      version = "7.12.1";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz";
-        sha512 = "xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz";
+        sha512 = "Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw==";
       };
     };
-    "@babel/plugin-transform-property-literals-7.12.1" = {
+    "@babel/plugin-transform-property-literals-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-property-literals";
       packageName = "@babel/plugin-transform-property-literals";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz";
-        sha512 = "6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz";
+        sha512 = "nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==";
       };
     };
-    "@babel/plugin-transform-react-display-name-7.12.1" = {
+    "@babel/plugin-transform-react-display-name-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-react-display-name";
       packageName = "@babel/plugin-transform-react-display-name";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz";
-        sha512 = "cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.13.tgz";
+        sha512 = "MprESJzI9O5VnJZrL7gg1MpdqmiFcUv41Jc7SahxYsNP2kDkFqClxxTZq+1Qv4AFCamm+GXMRDQINNn+qrxmiA==";
       };
     };
-    "@babel/plugin-transform-react-jsx-7.12.12" = {
+    "@babel/plugin-transform-react-jsx-7.12.17" = {
       name = "_at_babel_slash_plugin-transform-react-jsx";
       packageName = "@babel/plugin-transform-react-jsx";
-      version = "7.12.12";
+      version = "7.12.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.12.tgz";
-        sha512 = "JDWGuzGNWscYcq8oJVCtSE61a5+XAOos+V0HrxnDieUus4UMnBEosDnY1VJqU5iZ4pA04QY7l0+JvHL1hZEfsw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.17.tgz";
+        sha512 = "mwaVNcXV+l6qJOuRhpdTEj8sT/Z0owAVWf9QujTZ0d2ye9X/K+MTOTSizcgKOj18PGnTc/7g1I4+cIUjsKhBcw==";
       };
     };
-    "@babel/plugin-transform-react-jsx-source-7.12.1" = {
+    "@babel/plugin-transform-react-jsx-self-7.12.13" = {
+      name = "_at_babel_slash_plugin-transform-react-jsx-self";
+      packageName = "@babel/plugin-transform-react-jsx-self";
+      version = "7.12.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.12.13.tgz";
+        sha512 = "FXYw98TTJ125GVCCkFLZXlZ1qGcsYqNQhVBQcZjyrwf8FEUtVfKIoidnO8S0q+KBQpDYNTmiGo1gn67Vti04lQ==";
+      };
+    };
+    "@babel/plugin-transform-react-jsx-source-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-react-jsx-source";
       packageName = "@babel/plugin-transform-react-jsx-source";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.12.1.tgz";
-        sha512 = "keQ5kBfjJNRc6zZN1/nVHCd6LLIHq4aUKcVnvE/2l+ZZROSbqoiGFRtT5t3Is89XJxBQaP7NLZX2jgGHdZvvFQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.12.13.tgz";
+        sha512 = "O5JJi6fyfih0WfDgIJXksSPhGP/G0fQpfxYy87sDc+1sFmsCS6wr3aAn+whbzkhbjtq4VMqLRaSzR6IsshIC0Q==";
       };
     };
-    "@babel/plugin-transform-regenerator-7.12.1" = {
+    "@babel/plugin-transform-regenerator-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-regenerator";
       packageName = "@babel/plugin-transform-regenerator";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz";
-        sha512 = "gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz";
+        sha512 = "lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA==";
       };
     };
-    "@babel/plugin-transform-reserved-words-7.12.1" = {
+    "@babel/plugin-transform-reserved-words-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-reserved-words";
       packageName = "@babel/plugin-transform-reserved-words";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz";
-        sha512 = "pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz";
+        sha512 = "xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==";
       };
     };
-    "@babel/plugin-transform-runtime-7.12.10" = {
+    "@babel/plugin-transform-runtime-7.13.8" = {
       name = "_at_babel_slash_plugin-transform-runtime";
       packageName = "@babel/plugin-transform-runtime";
-      version = "7.12.10";
+      version = "7.13.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz";
-        sha512 = "xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.13.8.tgz";
+        sha512 = "6UbZ7P0FuuJiiUyRCfDgLw4PIG9bR2x6swHocv4qNZItkhXad0WsN6YX0deILuyZY2++meDKiDMuSVcejDZN0Q==";
       };
     };
-    "@babel/plugin-transform-shorthand-properties-7.12.1" = {
+    "@babel/plugin-transform-shorthand-properties-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-shorthand-properties";
       packageName = "@babel/plugin-transform-shorthand-properties";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz";
-        sha512 = "GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz";
+        sha512 = "xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==";
       };
     };
-    "@babel/plugin-transform-spread-7.12.1" = {
+    "@babel/plugin-transform-spread-7.13.0" = {
       name = "_at_babel_slash_plugin-transform-spread";
       packageName = "@babel/plugin-transform-spread";
-      version = "7.12.1";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz";
-        sha512 = "vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz";
+        sha512 = "V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==";
       };
     };
-    "@babel/plugin-transform-sticky-regex-7.12.7" = {
+    "@babel/plugin-transform-sticky-regex-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-sticky-regex";
       packageName = "@babel/plugin-transform-sticky-regex";
-      version = "7.12.7";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz";
-        sha512 = "VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz";
+        sha512 = "Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==";
       };
     };
-    "@babel/plugin-transform-template-literals-7.12.1" = {
+    "@babel/plugin-transform-template-literals-7.13.0" = {
       name = "_at_babel_slash_plugin-transform-template-literals";
       packageName = "@babel/plugin-transform-template-literals";
-      version = "7.12.1";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz";
-        sha512 = "b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz";
+        sha512 = "d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==";
       };
     };
-    "@babel/plugin-transform-typeof-symbol-7.12.10" = {
+    "@babel/plugin-transform-typeof-symbol-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-typeof-symbol";
       packageName = "@babel/plugin-transform-typeof-symbol";
-      version = "7.12.10";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz";
-        sha512 = "JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz";
+        sha512 = "eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==";
       };
     };
-    "@babel/plugin-transform-typescript-7.12.1" = {
+    "@babel/plugin-transform-typescript-7.13.0" = {
       name = "_at_babel_slash_plugin-transform-typescript";
       packageName = "@babel/plugin-transform-typescript";
-      version = "7.12.1";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz";
-        sha512 = "VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.13.0.tgz";
+        sha512 = "elQEwluzaU8R8dbVuW2Q2Y8Nznf7hnjM7+DSCd14Lo5fF63C9qNLbwZYbmZrtV9/ySpSUpkRpQXvJb6xyu4hCQ==";
       };
     };
-    "@babel/plugin-transform-unicode-escapes-7.12.1" = {
+    "@babel/plugin-transform-unicode-escapes-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-unicode-escapes";
       packageName = "@babel/plugin-transform-unicode-escapes";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz";
-        sha512 = "I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz";
+        sha512 = "0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==";
       };
     };
-    "@babel/plugin-transform-unicode-regex-7.12.1" = {
+    "@babel/plugin-transform-unicode-regex-7.12.13" = {
       name = "_at_babel_slash_plugin-transform-unicode-regex";
       packageName = "@babel/plugin-transform-unicode-regex";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz";
-        sha512 = "SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz";
+        sha512 = "mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==";
       };
     };
     "@babel/polyfill-7.12.1" = {
@@ -1255,22 +1282,31 @@ let
         sha512 = "X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==";
       };
     };
-    "@babel/preset-env-7.12.11" = {
+    "@babel/preset-env-7.12.17" = {
       name = "_at_babel_slash_preset-env";
       packageName = "@babel/preset-env";
-      version = "7.12.11";
+      version = "7.12.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.17.tgz";
+        sha512 = "9PMijx8zFbCwTHrd2P4PJR5nWGH3zWebx2OcpTjqQrHhCiL2ssSR2Sc9ko2BsI2VmVBfoaQmPrlMTCui4LmXQg==";
+      };
+    };
+    "@babel/preset-env-7.13.8" = {
+      name = "_at_babel_slash_preset-env";
+      packageName = "@babel/preset-env";
+      version = "7.13.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz";
-        sha512 = "j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==";
+        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.13.8.tgz";
+        sha512 = "Sso1xOpV4S3ofnxW2DsWTE5ziRk62jEAKLGuQ+EJHC+YHTbFG38QUTixO3JVa1cYET9gkJhO1pMu+/+2dDhKvw==";
       };
     };
-    "@babel/preset-flow-7.12.1" = {
+    "@babel/preset-flow-7.12.13" = {
       name = "_at_babel_slash_preset-flow";
       packageName = "@babel/preset-flow";
-      version = "7.12.1";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.12.1.tgz";
-        sha512 = "UAoyMdioAhM6H99qPoKvpHMzxmNVXno8GYU/7vZmGaHk6/KqfDYL1W0NxszVbJ2EP271b7e6Ox+Vk2A9QsB3Sw==";
+        url = "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.12.13.tgz";
+        sha512 = "gcEjiwcGHa3bo9idURBp5fmJPcyFPOszPQjztXrOjUE2wWVqc6fIVJPgWPIQksaQ5XZ2HWiRsf2s1fRGVjUtVw==";
       };
     };
     "@babel/preset-modules-0.1.4" = {
@@ -1291,22 +1327,31 @@ let
         sha512 = "dStnEQgejNYIHFNACdDCigK4BF7wgW6Zahv9Dc2un7rGjbeVtZhBfR3sy0I7ZJOhBexkFxVdMZ5hqmll7BFShw==";
       };
     };
-    "@babel/preset-typescript-7.12.7" = {
+    "@babel/preset-typescript-7.12.17" = {
+      name = "_at_babel_slash_preset-typescript";
+      packageName = "@babel/preset-typescript";
+      version = "7.12.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.17.tgz";
+        sha512 = "T513uT4VSThRcmWeqcLkITKJ1oGQho9wfWuhQm10paClQkp1qyd0Wf8mvC8Se7UYssMyRSj4tZYpVTkCmAK/mA==";
+      };
+    };
+    "@babel/preset-typescript-7.13.0" = {
       name = "_at_babel_slash_preset-typescript";
       packageName = "@babel/preset-typescript";
-      version = "7.12.7";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.7.tgz";
-        sha512 = "nOoIqIqBmHBSEgBXWR4Dv/XBehtIFcw9PqZw6rFYuKrzsZmOQm3PR5siLBnKZFEsDb03IegG8nSjU/iXXXYRmw==";
+        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.13.0.tgz";
+        sha512 = "LXJwxrHy0N3f6gIJlYbLta1D9BDtHpQeqwzM0LIfjDlr6UE/D5Mc7W4iDiQzaE+ks0sTjT26ArcHWnJVt0QiHw==";
       };
     };
-    "@babel/register-7.12.10" = {
+    "@babel/register-7.13.8" = {
       name = "_at_babel_slash_register";
       packageName = "@babel/register";
-      version = "7.12.10";
+      version = "7.13.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/register/-/register-7.12.10.tgz";
-        sha512 = "EvX/BvMMJRAA3jZgILWgbsrHwBQvllC5T8B29McyME8DvkdOxk4ujESfrMvME8IHSDvWXrmMXxPvA/lx2gqPLQ==";
+        url = "https://registry.npmjs.org/@babel/register/-/register-7.13.8.tgz";
+        sha512 = "yCVtABcmvQjRsX2elcZFUV5Q5kDDpHdtXKKku22hNDma60lYuhKmtp1ykZ/okRCPLT2bR5S+cA1kvtBdAFlDTQ==";
       };
     };
     "@babel/runtime-7.12.5" = {
@@ -1318,6 +1363,15 @@ let
         sha512 = "plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==";
       };
     };
+    "@babel/runtime-7.13.8" = {
+      name = "_at_babel_slash_runtime";
+      packageName = "@babel/runtime";
+      version = "7.13.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.8.tgz";
+        sha512 = "CwQljpw6qSayc0fRG1soxHAKs1CnQMOChm4mlQP6My0kf9upVGizj/KhlTTgyUnETmHpcUXjaluNAkteRFuafg==";
+      };
+    };
     "@babel/runtime-7.9.0" = {
       name = "_at_babel_slash_runtime";
       packageName = "@babel/runtime";
@@ -1327,22 +1381,22 @@ let
         sha512 = "cTIudHnzuWLS56ik4DnRnqqNf8MkdUzV4iFFI1h7Jo9xvrpQROYaAnaSd2mHLQAzzZAPfATynX5ord6YlNYNMA==";
       };
     };
-    "@babel/template-7.12.7" = {
+    "@babel/template-7.12.13" = {
       name = "_at_babel_slash_template";
       packageName = "@babel/template";
-      version = "7.12.7";
+      version = "7.12.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz";
-        sha512 = "GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==";
+        url = "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz";
+        sha512 = "/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==";
       };
     };
-    "@babel/traverse-7.12.12" = {
+    "@babel/traverse-7.13.0" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.12.12";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz";
-        sha512 = "s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz";
+        sha512 = "xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==";
       };
     };
     "@babel/types-7.10.4" = {
@@ -1354,13 +1408,13 @@ let
         sha512 = "UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==";
       };
     };
-    "@babel/types-7.12.12" = {
+    "@babel/types-7.13.0" = {
       name = "_at_babel_slash_types";
       packageName = "@babel/types";
-      version = "7.12.12";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz";
-        sha512 = "lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==";
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.13.0.tgz";
+        sha512 = "hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA==";
       };
     };
     "@braintree/sanitize-url-3.1.0" = {
@@ -1372,22 +1426,22 @@ let
         sha512 = "GcIY79elgB+azP74j8vqkiXz8xLFfIzbQJdlwOPisgbKT00tviJQuEghOXSMVxJ00HoYJbGswr4kcllUc4xCcg==";
       };
     };
-    "@bugsnag/browser-7.6.0" = {
+    "@bugsnag/browser-7.7.0" = {
       name = "_at_bugsnag_slash_browser";
       packageName = "@bugsnag/browser";
-      version = "7.6.0";
+      version = "7.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@bugsnag/browser/-/browser-7.6.0.tgz";
-        sha512 = "8sth20TM8BVfebkqxqJQOCM2P2L4foOgFH2QA3ruG0iknDKZDhE7XcoWgmUP9zVSNJqkCyiIzcBOuiwZW8JaSQ==";
+        url = "https://registry.npmjs.org/@bugsnag/browser/-/browser-7.7.0.tgz";
+        sha512 = "o3Y/8ZINTCyCiDid01xF4RwAfRCtt4Ak65sbEUjuen90Lf62LcqNIrguRotum5/5GrXl/ktm8gk6Tp8XBiS79A==";
       };
     };
-    "@bugsnag/core-7.6.0" = {
+    "@bugsnag/core-7.7.0" = {
       name = "_at_bugsnag_slash_core";
       packageName = "@bugsnag/core";
-      version = "7.6.0";
+      version = "7.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@bugsnag/core/-/core-7.6.0.tgz";
-        sha512 = "hBYAZJw4ScqoyM1jA1x/m2e4iS2EqYEs0I2hdzBCZFv2ls17ILmU58eRSyVdUfyzbv0J7Hi6DwwBGC4Yb6ROZA==";
+        url = "https://registry.npmjs.org/@bugsnag/core/-/core-7.7.0.tgz";
+        sha512 = "y6xY/ZjHRSD3h1ADdkgH4sUJeJ9TUjNjkui+pjdmQkG4asjA8lBNmjnqirGeAxgL00lg5xvbfLSq9iHdqFW9oQ==";
       };
     };
     "@bugsnag/cuid-3.0.0" = {
@@ -1399,22 +1453,22 @@ let
         sha512 = "LOt8aaBI+KvOQGneBtpuCz3YqzyEAehd1f3nC5yr9TIYW1+IzYKa2xWS4EiMz5pPOnRPHkyyS5t/wmSmN51Gjg==";
       };
     };
-    "@bugsnag/js-7.6.0" = {
+    "@bugsnag/js-7.8.0" = {
       name = "_at_bugsnag_slash_js";
       packageName = "@bugsnag/js";
-      version = "7.6.0";
+      version = "7.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@bugsnag/js/-/js-7.6.0.tgz";
-        sha512 = "EcI3sTpyOs94/OOjwI7fOg1iZ800o3kkOAipAnULRoP62j1vmErH2l/2xubny7g0JTOL59iZEkt+5O5MhbQJ2A==";
+        url = "https://registry.npmjs.org/@bugsnag/js/-/js-7.8.0.tgz";
+        sha512 = "knSEXI4Znch4KzKooG3IgrYcZhKHYyTt/hGEmFhKCNmEiNGhGVisl0mbFCyjTBT+wYmWqqbv6kx4YOyGLCH0Yw==";
       };
     };
-    "@bugsnag/node-7.6.0" = {
+    "@bugsnag/node-7.8.0" = {
       name = "_at_bugsnag_slash_node";
       packageName = "@bugsnag/node";
-      version = "7.6.0";
+      version = "7.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@bugsnag/node/-/node-7.6.0.tgz";
-        sha512 = "n3BVb04bq4z16nOM4gbWoXsi6k8R9bryWS/NAYi/jQg6tgyBkNYzmK0ojf3fYJ7uAgCjUJNMX6S9UHSJy/MMcQ==";
+        url = "https://registry.npmjs.org/@bugsnag/node/-/node-7.8.0.tgz";
+        sha512 = "2ZkXP5gmTE4LcPu2TB350BUmClbwsPZ1ZjYMiHqHDb2Xjoico0PNt6F9tBLjDRy9jS/pFGbjt/iOpyfr4GFm8A==";
       };
     };
     "@bugsnag/safe-json-stringify-6.0.0" = {
@@ -1579,6 +1633,24 @@ let
         sha512 = "HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==";
       };
     };
+    "@emmetio/abbreviation-2.2.1" = {
+      name = "_at_emmetio_slash_abbreviation";
+      packageName = "@emmetio/abbreviation";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.2.1.tgz";
+        sha512 = "uUNwNgbH0JPlrdXhy8VQbNPLLG7abMvOaLVMblx22i68Rl9r+2N235ALgIYFUty1yXC9DkVw6xMbz/D4QVARcQ==";
+      };
+    };
+    "@emmetio/css-abbreviation-2.1.2" = {
+      name = "_at_emmetio_slash_css-abbreviation";
+      packageName = "@emmetio/css-abbreviation";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@emmetio/css-abbreviation/-/css-abbreviation-2.1.2.tgz";
+        sha512 = "CvYTzJltVpLqJaCZ1Qn97LVAKsl2Uwl2fzir1EX/WuMY3xWxgc3BWRCheL6k65km6GyDrLVl6RhrrNb/pxOiAQ==";
+      };
+    };
     "@emmetio/extract-abbreviation-0.1.6" = {
       name = "_at_emmetio_slash_extract-abbreviation";
       packageName = "@emmetio/extract-abbreviation";
@@ -1588,6 +1660,15 @@ let
         sha512 = "Ce3xE2JvTSEbASFbRbA1gAIcMcZWdS2yUYRaQbeM0nbOzaZrUYfa3ePtcriYRZOZmr+CkKA+zbjhvTpIOAYVcw==";
       };
     };
+    "@emmetio/scanner-1.0.0" = {
+      name = "_at_emmetio_slash_scanner";
+      packageName = "@emmetio/scanner";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@emmetio/scanner/-/scanner-1.0.0.tgz";
+        sha512 = "8HqW8EVqjnCmWXVpqAOZf+EGESdkR27odcMMMGefgKXtar00SoYNSryGv//TELI4T3QFsECo78p+0lmalk/CFA==";
+      };
+    };
     "@emotion/is-prop-valid-0.8.8" = {
       name = "_at_emotion_slash_is-prop-valid";
       packageName = "@emotion/is-prop-valid";
@@ -1642,13 +1723,13 @@ let
         sha512 = "EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==";
       };
     };
-    "@eslint/eslintrc-0.3.0" = {
+    "@eslint/eslintrc-0.4.0" = {
       name = "_at_eslint_slash_eslintrc";
       packageName = "@eslint/eslintrc";
-      version = "0.3.0";
+      version = "0.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz";
-        sha512 = "1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==";
+        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz";
+        sha512 = "2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==";
       };
     };
     "@evocateur/libnpmaccess-3.1.2" = {
@@ -1705,15 +1786,6 @@ let
         sha512 = "ecpC6e3xTtMVVKWpp231L8vptoSPqwtKSmfJ8sXfMlQRtWbq8Bu1pCHR/pdAx9X4IYzygjrTa9IDAPpbGuSaMg==";
       };
     };
-    "@expo/babel-preset-cli-0.2.18" = {
-      name = "_at_expo_slash_babel-preset-cli";
-      packageName = "@expo/babel-preset-cli";
-      version = "0.2.18";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/babel-preset-cli/-/babel-preset-cli-0.2.18.tgz";
-        sha512 = "y2IZFynVtRxMQ4uxXYUnrnXZa+pvSH1R1aSUAfC6RsUb2UNOxC6zRehdLGSOyF4s9Wy+j3/CPm6fC0T5UJYoQg==";
-      };
-    };
     "@expo/bunyan-4.0.0" = {
       name = "_at_expo_slash_bunyan";
       packageName = "@expo/bunyan";
@@ -1723,22 +1795,22 @@ let
         sha512 = "Ydf4LidRB/EBI+YrB+cVLqIseiRfjUI/AeHBgjGMtq3GroraDu81OV7zqophRgupngoL3iS3JUMDMnxO7g39qA==";
       };
     };
-    "@expo/config-3.3.26" = {
+    "@expo/config-3.3.30" = {
       name = "_at_expo_slash_config";
       packageName = "@expo/config";
-      version = "3.3.26";
+      version = "3.3.30";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/config/-/config-3.3.26.tgz";
-        sha512 = "krtvZ7P7BMbSbqPP5OFERrzxDGGA2qcFGmL/QpPX11P9wSSRXVqRar1OMwjuKaeQ36wdS21AiMmmvLNeFcbjww==";
+        url = "https://registry.npmjs.org/@expo/config/-/config-3.3.30.tgz";
+        sha512 = "mOFebiAcowOD9MCpXGtZG/oMku1vAOazGx9BGaDnrod5YHjmrIN65W+hP+eK2dQBcJV1VjbU5K3VpkXO6aWwBA==";
       };
     };
-    "@expo/config-plugins-1.0.17" = {
+    "@expo/config-plugins-1.0.20" = {
       name = "_at_expo_slash_config-plugins";
       packageName = "@expo/config-plugins";
-      version = "1.0.17";
+      version = "1.0.20";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-1.0.17.tgz";
-        sha512 = "q1Szz+2UyB6wB4FL2Wfd3tn9Ho7DAPs1Y+He583WY9CDx/hNhODZo+Ox7yPhcM+spP/itHxnXh+GFcmRX4M6Ag==";
+        url = "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-1.0.20.tgz";
+        sha512 = "BucZQbi7edu8Pin8zFUNsaQeZAj/8ga7Ei3PKivKZKd5F53DdFU6Yb+ZDyQ0UeOGDi0hZlZWdaBzmQqHEg37TQ==";
       };
     };
     "@expo/config-types-40.0.0-beta.2" = {
@@ -1750,31 +1822,40 @@ let
         sha512 = "t9pHCQMXOP4nwd7LGXuHkLlFy0JdfknRSCAeVF4Kw2/y+5OBbR9hW9ZVnetpBf0kORrekgiI7K/qDaa3hh5+Qg==";
       };
     };
-    "@expo/configure-splash-screen-0.3.3" = {
+    "@expo/configure-splash-screen-0.3.4" = {
       name = "_at_expo_slash_configure-splash-screen";
       packageName = "@expo/configure-splash-screen";
-      version = "0.3.3";
+      version = "0.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/configure-splash-screen/-/configure-splash-screen-0.3.3.tgz";
-        sha512 = "fWy6Z52Mj2a7yjdvpIJkP9G3kfkoXE79aHvTDwgggIE0KLhwnPF27v+KS0wJUf7b4JM6w0zKOlUZjQhn0kSNyA==";
+        url = "https://registry.npmjs.org/@expo/configure-splash-screen/-/configure-splash-screen-0.3.4.tgz";
+        sha512 = "HsukM03X5/EXSucVsLN/oLqyFq/1jAjpADkgU1HLaezFpkr+TOquI6yDwdDp1450kcm891PE/SYJ+mCdPxzDLw==";
       };
     };
-    "@expo/dev-server-0.1.52" = {
+    "@expo/dev-server-0.1.56" = {
       name = "_at_expo_slash_dev-server";
       packageName = "@expo/dev-server";
-      version = "0.1.52";
+      version = "0.1.56";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/dev-server/-/dev-server-0.1.52.tgz";
-        sha512 = "c9/8P9S9fLJGgY4bSMl2z8nSsKVKR818G29EpWqQsD/Fk+UzTil4NeIwR7rcqOWOKXRYFXVzHCq0Nl4diwaMRw==";
+        url = "https://registry.npmjs.org/@expo/dev-server/-/dev-server-0.1.56.tgz";
+        sha512 = "BXKJW6KB7AckjJkDIM4mmuMhbiP9GQtmfsNoEsXg9Ci1NxJxu4vc/UdaL4tC+SLlDNpKgSIBvSNDY0AdPKUAeA==";
       };
     };
-    "@expo/dev-tools-0.13.79" = {
+    "@expo/dev-tools-0.13.84" = {
       name = "_at_expo_slash_dev-tools";
       packageName = "@expo/dev-tools";
-      version = "0.13.79";
+      version = "0.13.84";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/dev-tools/-/dev-tools-0.13.79.tgz";
-        sha512 = "7Rg64svMdEJCI1nUlC1nVuRImKBQ9jsP5NPY36o88Aer7F0XAhR4IXKFU8EnzNzC7Acc+Pd+3tXvU/miadFQig==";
+        url = "https://registry.npmjs.org/@expo/dev-tools/-/dev-tools-0.13.84.tgz";
+        sha512 = "HmN5Gb+uSpLxIhHKjPgRSLZaAEJW8UmV6h2eQmVUrpc+VoT0M4roCHd50xJQv+OqLllgo9ZmmyWHnNckOd+RJA==";
+      };
+    };
+    "@expo/devcert-1.0.0" = {
+      name = "_at_expo_slash_devcert";
+      packageName = "@expo/devcert";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@expo/devcert/-/devcert-1.0.0.tgz";
+        sha512 = "cahGyQCmpZmHpn2U04NR9KwsOIZy7Rhsw8Fg4q+A6563lIJxbkrgPnxq/O3NQAh3ohEvOXOOnoFx0b4yycCkpQ==";
       };
     };
     "@expo/image-utils-0.3.10" = {
@@ -1786,22 +1867,22 @@ let
         sha512 = "EebukeUnzyk4ts1E1vMQSb0p8otYqWKsZNDZEoqHtERhxMSO7WhQLqa7/z2kB/YMHRJjrhaa3Aa2X5zjYot1kA==";
       };
     };
-    "@expo/json-file-8.2.26" = {
+    "@expo/json-file-8.2.28-alpha.0" = {
       name = "_at_expo_slash_json-file";
       packageName = "@expo/json-file";
-      version = "8.2.26";
+      version = "8.2.28-alpha.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.26.tgz";
-        sha512 = "9ahw1ztHtRhXE8/kTiOpXTXJ/Uq2lF8UlIIcJjoE5DCFA0epL8tnDiu6RDzXMhjhH1ytiojt2sYC4+lV29JPAA==";
+        url = "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.28-alpha.0.tgz";
+        sha512 = "cCQdw/Nfw8doXjN3onvUnWkuJjtVxx2iUjSOLMydvgI87YpW3x05uUXOVs4P+77YFVoFS6xbki+fmKK2JSCf8w==";
       };
     };
-    "@expo/metro-config-0.1.52" = {
+    "@expo/metro-config-0.1.56" = {
       name = "_at_expo_slash_metro-config";
       packageName = "@expo/metro-config";
-      version = "0.1.52";
+      version = "0.1.56";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.1.52.tgz";
-        sha512 = "ODxn3/h/6A1qvvKOlmSOUuM2l0hWn02W5idBnCpN8feY3DLGdPh+IFDmpnkT5yFBJ0Fx7qlrgphN4O7+9SF9Bg==";
+        url = "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.1.56.tgz";
+        sha512 = "h7IBc8GWzqKhdv2OWqU9tU3i5ZMpoXU1gao+kZzvi02dEAV5GzKxvGPiZu9nsvXeeRlCIpzTHvzFPh5n5mtSnA==";
       };
     };
     "@expo/osascript-2.0.24" = {
@@ -1813,13 +1894,13 @@ let
         sha512 = "oqar3vmvxkVx1OBG7hTjTbCaVVUX2o+aEMLxZWLUiubL0ly1qxgQKEt5p3g3pzkxTft+b1oMf8bT7jMi6iOv+Q==";
       };
     };
-    "@expo/package-manager-0.0.36" = {
+    "@expo/package-manager-0.0.39-alpha.0" = {
       name = "_at_expo_slash_package-manager";
       packageName = "@expo/package-manager";
-      version = "0.0.36";
+      version = "0.0.39-alpha.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/package-manager/-/package-manager-0.0.36.tgz";
-        sha512 = "GsdGrtdtuXlEvq+fs6FF+knlgX0l3GII5H4e00Zd6JOz9u1+c+BmfnQNBW59KYvsJ6akmS8dCqUl0Bgt3Bj3Hg==";
+        url = "https://registry.npmjs.org/@expo/package-manager/-/package-manager-0.0.39-alpha.0.tgz";
+        sha512 = "NLd93cG7pVmJaoWeJZsTab6jOTMvgW0UZz3NGq2mf9jbxlJUEj9QIGF/tzt4dIhtfdDFd5FbEpGRidcE3jGdOg==";
       };
     };
     "@expo/plist-0.0.11" = {
@@ -1840,13 +1921,13 @@ let
         sha512 = "qECzzXX5oJot3m2Gu9pfRDz50USdBieQVwYAzeAtQRUTD3PVeTK1tlRUoDcrK8PSruDLuVYdKkLebX4w/o55VA==";
       };
     };
-    "@expo/schemer-1.3.24" = {
+    "@expo/schemer-1.3.27-alpha.0" = {
       name = "_at_expo_slash_schemer";
       packageName = "@expo/schemer";
-      version = "1.3.24";
+      version = "1.3.27-alpha.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/schemer/-/schemer-1.3.24.tgz";
-        sha512 = "0Ctzcnf/JhNF4OVOn1BKHKkZCoVA4mxzpTO9yCK/+Kbls9wMFUns1TGl10BYytozLC7AGSx8c4vg+Xn/ESVZNg==";
+        url = "https://registry.npmjs.org/@expo/schemer/-/schemer-1.3.27-alpha.0.tgz";
+        sha512 = "RJB1VCPROzfy4XFx79PLfz5WD5QvVSA6Xq2f6CUVyxOpWwpMyQfXA2vv3ebmLJYmr67OZDa26kn3fUxQLI4BHw==";
       };
     };
     "@expo/simple-spinner-1.0.2" = {
@@ -1867,22 +1948,22 @@ let
         sha512 = "LB7jWkqrHo+5fJHNrLAFdimuSXQ2MQ4lA7SQW5bf/HbsXuV2VrT/jN/M8f/KoWt0uJMGN4k/j7Opx4AvOOxSew==";
       };
     };
-    "@expo/webpack-config-0.12.56" = {
+    "@expo/webpack-config-0.12.60" = {
       name = "_at_expo_slash_webpack-config";
       packageName = "@expo/webpack-config";
-      version = "0.12.56";
+      version = "0.12.60";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/webpack-config/-/webpack-config-0.12.56.tgz";
-        sha512 = "sp2anAJFm7pe5foF+UTrTpsryaEqg141qWkBqS5uJmROFWeM0SRhnW/axtRGvuZQnt4927RZ9a2FkDv+tXQEaA==";
+        url = "https://registry.npmjs.org/@expo/webpack-config/-/webpack-config-0.12.60.tgz";
+        sha512 = "UieL5oLo4rm0jNx/Gzz6gs4fZ37THSdptvy4dQFsHGQrvZgxd1lCHEe4NNv56/Zs3H/FrX7vczpZ2fwS/LXvmQ==";
       };
     };
-    "@expo/xdl-59.0.19" = {
+    "@expo/xdl-59.0.24" = {
       name = "_at_expo_slash_xdl";
       packageName = "@expo/xdl";
-      version = "59.0.19";
+      version = "59.0.24";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/xdl/-/xdl-59.0.19.tgz";
-        sha512 = "QfmDX1ujVjJmtQo9iz8Q32LsEFnLWyi9VEAOxOGhhW2pMshXfO+R2Twc8dyU1jgF/AL+LoUm4tIGsnoFewlhJQ==";
+        url = "https://registry.npmjs.org/@expo/xdl/-/xdl-59.0.24.tgz";
+        sha512 = "rl0lJ3z4v0VPu8Z37Vl2sTYSupAVjD6MxUHAJd+FRKgQMb7kyJUTpWvBAlbYCgMM+WH5XZZSvgWdwCTLocwPtw==";
       };
     };
     "@fast-csv/format-4.3.5" = {
@@ -1903,67 +1984,76 @@ let
         sha512 = "uRsLYksqpbDmWaSmzvJcuApSEe38+6NQZBUsuAyMZKqHxH0g1wcJgsKUvN3WC8tewaqFjBMMGrkHmC+T7k8LvA==";
       };
     };
-    "@fluentui/date-time-utilities-7.9.0" = {
+    "@fluentui/date-time-utilities-7.9.1" = {
       name = "_at_fluentui_slash_date-time-utilities";
       packageName = "@fluentui/date-time-utilities";
-      version = "7.9.0";
+      version = "7.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-7.9.0.tgz";
-        sha512 = "D8p5WWeonqRO1EgIvo7WSlX1rcm87r2VQd62zTJPQImx8rpwc77CRI+iAvfxyVHRZMdt4Qk6Jq99dUaudPWaZw==";
+        url = "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-7.9.1.tgz";
+        sha512 = "o8iU1VIY+QsqVRWARKiky29fh4KR1xaKSgMClXIi65qkt8EDDhjmlzL0KVDEoDA2GWukwb/1PpaVCWDg4v3cUQ==";
       };
     };
-    "@fluentui/dom-utilities-1.1.1" = {
+    "@fluentui/dom-utilities-1.1.2" = {
       name = "_at_fluentui_slash_dom-utilities";
       packageName = "@fluentui/dom-utilities";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-1.1.1.tgz";
-        sha512 = "w40gi8fzCpwa7U8cONiuu8rszPStkVOL/weDf5pCbYEb1gdaV7MDPSNkgM6IV0Kz+k017noDgK9Fv4ru1Dwz1g==";
+        url = "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-1.1.2.tgz";
+        sha512 = "XqPS7l3YoMwxdNlaYF6S2Mp0K3FmVIOIy2K3YkMc+eRxu9wFK6emr2Q/3rBhtG5u/On37NExRT7/5CTLnoi9gw==";
       };
     };
-    "@fluentui/keyboard-key-0.2.12" = {
+    "@fluentui/keyboard-key-0.2.14" = {
       name = "_at_fluentui_slash_keyboard-key";
       packageName = "@fluentui/keyboard-key";
-      version = "0.2.12";
+      version = "0.2.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.2.12.tgz";
-        sha512 = "t3yIbbPKJubb22vQ/FIWwS9vFAzaPYzFxKWPHVWLtxs/P+5yL+LD3B16DRtYreWAdl9CZvEbos58ChLZ0KHwSQ==";
+        url = "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.2.14.tgz";
+        sha512 = "SMyoMFCPRNoDeHB5MMIi8W3loDxjXsSBeQfQaaKqmph7gVN48DCky6K/xBHHDJDeqJjcmEgwPTRP8qsuuLWnqw==";
       };
     };
-    "@fluentui/react-7.157.0" = {
+    "@fluentui/react-7.162.0" = {
       name = "_at_fluentui_slash_react";
       packageName = "@fluentui/react";
-      version = "7.157.0";
+      version = "7.162.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react/-/react-7.157.0.tgz";
-        sha512 = "dpD+wmZIGFcxBkc4VxSbJikOkaEIPYq5XspEKIb6xdo6Us99zi4d4VH5omOF74xBxPVwPCDZG/bN07at7iuteQ==";
+        url = "https://registry.npmjs.org/@fluentui/react/-/react-7.162.0.tgz";
+        sha512 = "RRZ7a3st/ApdTV5Mzv6OYw5WOqiycRxAkEBLWS52WLEDRySUq8Z5xK9Z/SnnrOxAX1WSZY8VNn72eEWyv8MW2Q==";
       };
     };
-    "@fluentui/react-focus-7.17.1" = {
+    "@fluentui/react-focus-7.17.5" = {
       name = "_at_fluentui_slash_react-focus";
       packageName = "@fluentui/react-focus";
-      version = "7.17.1";
+      version = "7.17.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.17.1.tgz";
-        sha512 = "Nulq2pE4pX6Pf+tGZl8uLp8VfqUzx3elC5v7QvYSBdjnZK8ykitdsa+Sd3PKYWW2EMlzVRSptlzbuJ6JyEDQKQ==";
+        url = "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.17.5.tgz";
+        sha512 = "FBgvHMOpFnmMSGVV+QdlKNMQ61kEzqv2wjUObWxdpqxVUeFIk4rSAalCp2R8c2Sg8YxTGmH5ywhySQ6GQEM6sA==";
       };
     };
-    "@fluentui/react-window-provider-1.0.1" = {
+    "@fluentui/react-window-provider-1.0.2" = {
       name = "_at_fluentui_slash_react-window-provider";
       packageName = "@fluentui/react-window-provider";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-1.0.1.tgz";
-        sha512 = "5hvruDyF0uE8+6YN6Y+d2sEzexBadxUNxUjDcDreTPsmtHPwF5FPBYLhoD7T84L5U4YNvKxKh25tYJm6E0GE2w==";
+        url = "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-1.0.2.tgz";
+        sha512 = "fGSgL3Vp/+6t1Ysfz21FWZmqsU+iFVxOigvHnm5uKVyyRPwtaabv/F6kQ2y5isLMI2YmJaUd2i0cDJKu8ggrvw==";
       };
     };
-    "@fluentui/theme-1.7.1" = {
+    "@fluentui/theme-1.7.4" = {
       name = "_at_fluentui_slash_theme";
       packageName = "@fluentui/theme";
-      version = "1.7.1";
+      version = "1.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.1.tgz";
-        sha512 = "cwx8gJ0O9d+Z8g6Lq7BgDgH8XPfSloUSy0GN3fWHJGrDCBPcnmz6/GKbbvxw9PZ2t1iNcAzJEJNT6NyuOOobPA==";
+        url = "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.4.tgz";
+        sha512 = "o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==";
+      };
+    };
+    "@gardenapple/yargs-17.0.0-candidate.0" = {
+      name = "_at_gardenapple_slash_yargs";
+      packageName = "@gardenapple/yargs";
+      version = "17.0.0-candidate.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@gardenapple/yargs/-/yargs-17.0.0-candidate.0.tgz";
+        sha512 = "/x7vm8duSSZvfDEXVdG1lX3HXnvnRGsNbilKquUK3t1RQmnsiEEcXKQet1lTTvYi3CTFoQoIJEOg1P005B0OXg==";
       };
     };
     "@google-cloud/paginator-3.0.5" = {
@@ -2002,13 +2092,13 @@ let
         sha512 = "d4VSA86eL/AFTe5xtyZX+ePUjE8dIFu2T8zmdeNBSa5/kNgXPCx/o/wbFNHAGLJdGnk1vddRuMESD9HbOC8irw==";
       };
     };
-    "@google-cloud/pubsub-2.8.0" = {
+    "@google-cloud/pubsub-2.10.0" = {
       name = "_at_google-cloud_slash_pubsub";
       packageName = "@google-cloud/pubsub";
-      version = "2.8.0";
+      version = "2.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-2.8.0.tgz";
-        sha512 = "AoSKAbpHCoLq6jO9vMX+K6hJhkayafan24Rs2RKHU8Y0qF6IGSm1+ly0OG12TgziHWg818/6dljWWKgwDcp8KA==";
+        url = "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-2.10.0.tgz";
+        sha512 = "XM/Fc6/W/LYzGH2pnhGLDR5E6JNZFMfzyUFP5bWgC4FK1KqIZ4g6hrnCCO38G4JfH2i1IuSQuefPF7FrZZo9tw==";
       };
     };
     "@graphql-cli/common-4.1.0" = {
@@ -2038,13 +2128,13 @@ let
         sha512 = "+ywPfK6N2Ddna6oOa5Qb1Mv7EA8LOwRNOAPP9dL37FEhksJM9pYqPSceUcqMqg7S9b0+Cgr78s408rgvurV3/Q==";
       };
     };
-    "@graphql-tools/delegate-7.0.9" = {
+    "@graphql-tools/delegate-7.0.10" = {
       name = "_at_graphql-tools_slash_delegate";
       packageName = "@graphql-tools/delegate";
-      version = "7.0.9";
+      version = "7.0.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-7.0.9.tgz";
-        sha512 = "nlelOb354cyweV+SpTXkoGZHKgJ1PwPkHWq/0RXM5LllQsR3OrSQKKWMrd1g9dyawEZbadCF3fDJJWSQ4HOg2g==";
+        url = "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-7.0.10.tgz";
+        sha512 = "6Di9ia5ohoDvrHuhj2cak1nJGhIefJmUsd3WKZcJ2nu2yZAFawWMxGvQImqv3N7iyaWKiVhrrK8Roi/JrYhdKg==";
       };
     };
     "@graphql-tools/graphql-file-loader-6.2.7" = {
@@ -2056,13 +2146,13 @@ let
         sha512 = "5k2SNz0W87tDcymhEMZMkd6/vs6QawDyjQXWtqkuLTBF3vxjxPD1I4dwHoxgWPIjjANhXybvulD7E+St/7s9TQ==";
       };
     };
-    "@graphql-tools/import-6.2.6" = {
+    "@graphql-tools/import-6.3.0" = {
       name = "_at_graphql-tools_slash_import";
       packageName = "@graphql-tools/import";
-      version = "6.2.6";
+      version = "6.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/import/-/import-6.2.6.tgz";
-        sha512 = "/0H/bDjNK1MnKonk8fMbB7wIYU6QLCwbQOHtSHbFJ4j2qki5CqfAxpF+fGX6KovDtkdigcgRMvSKKi14oiuHPA==";
+        url = "https://registry.npmjs.org/@graphql-tools/import/-/import-6.3.0.tgz";
+        sha512 = "zmaVhJ3UPjzJSb005Pjn2iWvH+9AYRXI4IUiTi14uPupiXppJP3s7S25Si3+DbHpFwurDF2nWRxBLiFPWudCqw==";
       };
     };
     "@graphql-tools/json-file-loader-6.2.6" = {
@@ -2083,31 +2173,31 @@ let
         sha512 = "FlQC50VELwRxoWUbJMMMs5gG0Dl8BaQYMrXUHTsxwqR7UmksUYnysC21rdousvs6jVZ7pf4unZfZFtBjz+8Edg==";
       };
     };
-    "@graphql-tools/merge-6.2.7" = {
+    "@graphql-tools/merge-6.2.10" = {
       name = "_at_graphql-tools_slash_merge";
       packageName = "@graphql-tools/merge";
-      version = "6.2.7";
+      version = "6.2.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/merge/-/merge-6.2.7.tgz";
-        sha512 = "9acgDkkYeAHpuqhOa3E63NZPCX/iWo819Q320sCCMkydF1xgx0qCRYz/V03xPdpQETKRqBG2i2N2csneeEYYig==";
+        url = "https://registry.npmjs.org/@graphql-tools/merge/-/merge-6.2.10.tgz";
+        sha512 = "dM3n37PcslvhOAkCz7Cwk0BfoiSVKXGmCX+VMZkATbXk/0vlxUfNEpVfA5yF4IkP27F04SzFQSaNrbD0W2Rszw==";
       };
     };
-    "@graphql-tools/schema-7.1.2" = {
+    "@graphql-tools/schema-7.1.3" = {
       name = "_at_graphql-tools_slash_schema";
       packageName = "@graphql-tools/schema";
-      version = "7.1.2";
+      version = "7.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/schema/-/schema-7.1.2.tgz";
-        sha512 = "GabNT51ErVHE2riDH4EQdRusUsI+nMElT8LdFHyuP53v8gwtleAj+LePQ9jif4NYUe/JQVqO8V28vPcHrA7gfQ==";
+        url = "https://registry.npmjs.org/@graphql-tools/schema/-/schema-7.1.3.tgz";
+        sha512 = "ZY76hmcJlF1iyg3Im0sQ3ASRkiShjgv102vLTVcH22lEGJeCaCyyS/GF1eUHom418S60bS8Th6+autRUxfBiBg==";
       };
     };
-    "@graphql-tools/url-loader-6.8.0" = {
+    "@graphql-tools/url-loader-6.8.1" = {
       name = "_at_graphql-tools_slash_url-loader";
       packageName = "@graphql-tools/url-loader";
-      version = "6.8.0";
+      version = "6.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-6.8.0.tgz";
-        sha512 = "x4f93UnH7kNr9iHFpJHL6kYWogRFlxMEnXybHS9xNCFd08+ftMO22bUb8esnFsyNrtMMlkLtshDSyNb3LbIMQg==";
+        url = "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-6.8.1.tgz";
+        sha512 = "iE/y9IAu0cZYL7o9IIDdGm5WjxacN25nGgVqjZINYlisW/wyuBxng7DMJBAp6yM6gkxkCpMno1ljA/52MXzVPQ==";
       };
     };
     "@graphql-tools/utils-6.2.4" = {
@@ -2119,13 +2209,13 @@ let
         sha512 = "ybgZ9EIJE3JMOtTrTd2VcIpTXtDrn2q6eiYkeYMKRVh3K41+LZa6YnR2zKERTXqTWqhobROwLt4BZbw2O3Aeeg==";
       };
     };
-    "@graphql-tools/utils-7.2.4" = {
+    "@graphql-tools/utils-7.5.0" = {
       name = "_at_graphql-tools_slash_utils";
       packageName = "@graphql-tools/utils";
-      version = "7.2.4";
+      version = "7.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.2.4.tgz";
-        sha512 = "EDSb98dTWX8FngvayWejip1DutOl0wGtNbXC7a3CZf5fiJS7bGHQ/8cSlMhe9XaHwpLJCbAk/Ijnp/dYbXk33w==";
+        url = "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.5.0.tgz";
+        sha512 = "8f//RSqHmKRdg9A3GHlZdxzlVfF/938ZD9edXLW7EriSABg1BXu3veru9W02VqORypArb2S/Tyeyvsk2gForqA==";
       };
     };
     "@graphql-tools/wrap-7.0.5" = {
@@ -2137,13 +2227,13 @@ let
         sha512 = "KCWBXsDfvG46GNUawRltJL4j9BMGoOG7oo3WEyCQP+SByWXiTe5cBF45SLDVQgdjljGNZhZ4Lq/7avIkF7/zDQ==";
       };
     };
-    "@grpc/grpc-js-1.2.5" = {
+    "@grpc/grpc-js-1.2.8" = {
       name = "_at_grpc_slash_grpc-js";
       packageName = "@grpc/grpc-js";
-      version = "1.2.5";
+      version = "1.2.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.2.5.tgz";
-        sha512 = "CBCNwedw8McnEBq9jvoiJikws16WN0OiHFejQPovY71XkFWSiIqgvydYiDwpvIYDJmhPQ7qZNzW9BPndhXbx1Q==";
+        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.2.8.tgz";
+        sha512 = "9C1xiCbnYe/3OFpSuRqz2JgFSOxv6+SlqFhXgRC1nHfXYbLnXvtmsI/NpaMs6k9ZNyV4gyaOOh5Z4McfegQGew==";
       };
     };
     "@grpc/proto-loader-0.5.6" = {
@@ -2398,13 +2488,13 @@ let
         sha512 = "VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==";
       };
     };
-    "@istanbuljs/schema-0.1.2" = {
+    "@istanbuljs/schema-0.1.3" = {
       name = "_at_istanbuljs_slash_schema";
       packageName = "@istanbuljs/schema";
-      version = "0.1.2";
+      version = "0.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz";
-        sha512 = "tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==";
+        url = "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz";
+        sha512 = "ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==";
       };
     };
     "@jest/transform-25.5.1" = {
@@ -2713,22 +2803,22 @@ let
         sha512 = "EjPkDQOzV/oZfbolEUgFT6SE++PtCccVBvjuACkttyCfl0P2jnpR49SwstyVLc2u8AwBAZEHHAw9lPYaMjtbXQ==";
       };
     };
-    "@joplin/fork-htmlparser2-4.1.21" = {
+    "@joplin/fork-htmlparser2-4.1.23" = {
       name = "_at_joplin_slash_fork-htmlparser2";
       packageName = "@joplin/fork-htmlparser2";
-      version = "4.1.21";
+      version = "4.1.23";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/fork-htmlparser2/-/fork-htmlparser2-4.1.21.tgz";
-        sha512 = "1+3/llkmSFF62wCj+UPeHDO8QevQjEm8uGSq7SltHVARZgWuvE3s4U/sKOoWCuqs5u34QHC3DcJ2ZlJRTwgYdg==";
+        url = "https://registry.npmjs.org/@joplin/fork-htmlparser2/-/fork-htmlparser2-4.1.23.tgz";
+        sha512 = "nTbOVZJbF02d32AhvwhWME2uQbbCZsFYulMgqRZ/I4realfJgqkaUfXclLxYcyOPAjzngXd+Wb1/M/Pz6luXGw==";
       };
     };
-    "@joplin/fork-sax-1.2.25" = {
+    "@joplin/fork-sax-1.2.27" = {
       name = "_at_joplin_slash_fork-sax";
       packageName = "@joplin/fork-sax";
-      version = "1.2.25";
+      version = "1.2.27";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/fork-sax/-/fork-sax-1.2.25.tgz";
-        sha512 = "m5ZdP1JX0GmTaNz3zhUxjiGdtaDtPVqpY2+h3e5mh2WLwZJmT9TCKp7upB1+L+fOLgjI6em7xYHpvIL/dml+5Q==";
+        url = "https://registry.npmjs.org/@joplin/fork-sax/-/fork-sax-1.2.27.tgz";
+        sha512 = "ON/8pg90WCRHKj8HttziC7Rtef+DKSSDZD9J3zjHYUvrXB0pu+7eZvRP8vF3Y2MSZnlshtFGQqiIRbwk3GVA+Q==";
       };
     };
     "@joplin/lib-1.0.18" = {
@@ -2749,22 +2839,22 @@ let
         sha512 = "RDRYjuPCn1ltematEZQhgvZbIGBQ+2F3jgAdXpqByg71pmxrMZyOLLbNVYJyKK4w2Ecvmbpwuo0h9RbMb/56Ow==";
       };
     };
-    "@joplin/turndown-4.0.43" = {
+    "@joplin/turndown-4.0.45" = {
       name = "_at_joplin_slash_turndown";
       packageName = "@joplin/turndown";
-      version = "4.0.43";
+      version = "4.0.45";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/turndown/-/turndown-4.0.43.tgz";
-        sha512 = "ZDGADbHVRPqeNrxvLTQ9JjmuChu40AyUPOA4N8zC8NcNzZQl5ZtKxZinMOOCGm8TXNNm7S987MYtnHszogCwtg==";
+        url = "https://registry.npmjs.org/@joplin/turndown/-/turndown-4.0.45.tgz";
+        sha512 = "u4J/ka4szy34ioQ5UVaCdLlfzfOxEQH/lDReHauYoNhH+H+EWt1qOwMh9A8fuTfoK2vnUUiPKHsWhOYCe+LRiw==";
       };
     };
-    "@joplin/turndown-plugin-gfm-1.0.25" = {
+    "@joplin/turndown-plugin-gfm-1.0.27" = {
       name = "_at_joplin_slash_turndown-plugin-gfm";
       packageName = "@joplin/turndown-plugin-gfm";
-      version = "1.0.25";
+      version = "1.0.27";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/turndown-plugin-gfm/-/turndown-plugin-gfm-1.0.25.tgz";
-        sha512 = "ycWQ9a88tPH04sNfgZGsU5SuXWlOfEjVv2MLkF2D86ROyNIh7hxQe5sYvQTybhdUT2BkhLcRMm/qdp5Y/Cn67A==";
+        url = "https://registry.npmjs.org/@joplin/turndown-plugin-gfm/-/turndown-plugin-gfm-1.0.27.tgz";
+        sha512 = "4BPgTSkhvxPI3tbjG4BPiBq0VuNZji1Y77DRWHb09GnzsrgwBI+gpo3EI6obkyIeRuN/03wzf98W5u1iau2vpQ==";
       };
     };
     "@jsdevtools/ono-7.1.3" = {
@@ -2776,13 +2866,13 @@ let
         sha512 = "4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==";
       };
     };
-    "@jsii/spec-1.17.1" = {
+    "@jsii/spec-1.22.0" = {
       name = "_at_jsii_slash_spec";
       packageName = "@jsii/spec";
-      version = "1.17.1";
+      version = "1.22.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jsii/spec/-/spec-1.17.1.tgz";
-        sha512 = "9/bdS7MpIVwSgHfaZiYnpE56T2YNE2WAJbhZzQTsYZCYkB8icsP+hVCIWzeyGZmHR9KggaCETbmNlLG0v2QdSw==";
+        url = "https://registry.npmjs.org/@jsii/spec/-/spec-1.22.0.tgz";
+        sha512 = "OI9LOxU3YhVyzUVvzh5nKDCalFZm0CjPaCdo6X/lL0TaVcpkYyJ8qDRuGF8WCW9PJEORkOhBwC7ySoFl/RVv9A==";
       };
     };
     "@kwsites/file-exists-1.1.1" = {
@@ -3370,13 +3460,13 @@ let
         sha512 = "/NdX1Ql8hKNM0vHFJnEr/bcw6BG0ULHD3HhInpniZw5ixpl+n/QIRfMEEmLCn7acedbM1zGdZvU5ZMbn9kcF5Q==";
       };
     };
-    "@microsoft/load-themed-styles-1.10.146" = {
+    "@microsoft/load-themed-styles-1.10.147" = {
       name = "_at_microsoft_slash_load-themed-styles";
       packageName = "@microsoft/load-themed-styles";
-      version = "1.10.146";
+      version = "1.10.147";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.146.tgz";
-        sha512 = "qQZ4J58J2VMe/XRpr2YRDusQB9uRBJ1SjJB76x7uH94t9hqxjVVxn2qL99Bl+ERbfrACZ9peGn2uamt4ponqZQ==";
+        url = "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.147.tgz";
+        sha512 = "fqkftQUoc2fjR9F+4uZkCt2hJhgZlkgM33k4qD4UdI75+SDOK9Zp5iU3dWzvwDWWVIXTOE+GKMFlmUtrlKZ+fg==";
       };
     };
     "@mozilla/readability-0.4.1" = {
@@ -3406,13 +3496,13 @@ let
         sha512 = "Vwhc3ObxmDZmA5hY8mfsau2rJ4vGPvzbj20QSZ2/E1GDPF61QVyjLfNHak9xmel6pW4heRt3v1fHa6np9Ehfeg==";
       };
     };
-    "@nestjs/schematics-7.2.7" = {
+    "@nestjs/schematics-7.2.8" = {
       name = "_at_nestjs_slash_schematics";
       packageName = "@nestjs/schematics";
-      version = "7.2.7";
+      version = "7.2.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nestjs/schematics/-/schematics-7.2.7.tgz";
-        sha512 = "71XqMPf7s2P1Q6PVMDLbSLphVWgGDK2CgURVYyreuIWXVSoi9pcPIeO5k0Qb5n5jELlKwdrf66g05U2I6TIxzg==";
+        url = "https://registry.npmjs.org/@nestjs/schematics/-/schematics-7.2.8.tgz";
+        sha512 = "cxs76Ia1SHTp18jXTusZtUucNjAmorlTzSaeKUH+71fri2pA0JOS4RJlfta5znDuA26gboolanPE6U0ZzaLM3A==";
       };
     };
     "@netflix/nerror-1.1.3" = {
@@ -3424,58 +3514,58 @@ let
         sha512 = "b+MGNyP9/LXkapreJzNUzcvuzZslj/RGgdVVJ16P2wSlYatfLycPObImqVJSmNAdyeShvNeM/pl3sVZsObFueg==";
       };
     };
-    "@netlify/build-8.3.1" = {
+    "@netlify/build-9.5.0" = {
       name = "_at_netlify_slash_build";
       packageName = "@netlify/build";
-      version = "8.3.1";
+      version = "9.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/build/-/build-8.3.1.tgz";
-        sha512 = "E5vKBVk2x0ql5VKtGOpoWNsAzYUbVteK0VW+ZR69ANZPmCZjveeSJ/1bDVR+pme3yzGMTokX4eHS60ym5fvUjw==";
+        url = "https://registry.npmjs.org/@netlify/build/-/build-9.5.0.tgz";
+        sha512 = "1CEl1gd7B83IpmMRSATkVrODE3fuw9bBUKnGAU+QA0JS219SXLHrSaYj1Uu+lsLSbOnaTeTVMrfXl5+dMzOoEQ==";
       };
     };
-    "@netlify/cache-utils-1.0.6" = {
+    "@netlify/cache-utils-1.0.7" = {
       name = "_at_netlify_slash_cache-utils";
       packageName = "@netlify/cache-utils";
-      version = "1.0.6";
+      version = "1.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/cache-utils/-/cache-utils-1.0.6.tgz";
-        sha512 = "Pz/TzLZhMUACT+X7Un6jZCXgEUwLPVNbx69DQtEOMZ6hNBE1b1ErTHFbSaHA0KfDn/yqCII5vS274DERvNuRwg==";
+        url = "https://registry.npmjs.org/@netlify/cache-utils/-/cache-utils-1.0.7.tgz";
+        sha512 = "yrdrnQkzg/qMovoFYwQ24UVt/OyHtP+t0KpQFd7eBl6gnuuGGgxFocaFFv6eKpMVwzHTsOwx/y9B/FcC3/6cfA==";
       };
     };
-    "@netlify/config-3.0.4" = {
+    "@netlify/config-4.0.2" = {
       name = "_at_netlify_slash_config";
       packageName = "@netlify/config";
-      version = "3.0.4";
+      version = "4.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/config/-/config-3.0.4.tgz";
-        sha512 = "BDENk7IOyLwADTebFhHrXNhn2H5tgTxkBJR/FPzzfWbq28YLrsKauFMmZbCUivoP594/gIKZT6cGlPm5tVjxbg==";
+        url = "https://registry.npmjs.org/@netlify/config/-/config-4.0.2.tgz";
+        sha512 = "Rw8OFNqKQRBUZJlAvn9dGsoYhDJenz66IDQYfR5oWk3Qf8wJZFVAMy+Bv8mduj9bMMg1SqotNCnn3fkQbjGRew==";
       };
     };
-    "@netlify/framework-info-2.1.1" = {
+    "@netlify/framework-info-2.3.0" = {
       name = "_at_netlify_slash_framework-info";
       packageName = "@netlify/framework-info";
-      version = "2.1.1";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/framework-info/-/framework-info-2.1.1.tgz";
-        sha512 = "JblagtBYtOwuxZy94jXPNc3p+QOuyx+kZurfduswYbT8VWPlyuiL4AQFKaIJvdZS6O9G8uKEiFGsKFhRTx6vAA==";
+        url = "https://registry.npmjs.org/@netlify/framework-info/-/framework-info-2.3.0.tgz";
+        sha512 = "vqy9wbBRP8qWnkzA/OQsThr1+cfqapMrORJ4hWcrjhIPRmXIJtwB6OWuLIUalMeSGCwqZjYpKfudc4BLuxxvjw==";
       };
     };
-    "@netlify/functions-utils-1.3.7" = {
+    "@netlify/functions-utils-1.3.14" = {
       name = "_at_netlify_slash_functions-utils";
       packageName = "@netlify/functions-utils";
-      version = "1.3.7";
+      version = "1.3.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-1.3.7.tgz";
-        sha512 = "jqEPVGAOrf9JvUdFvPhSoBqTuWpL7l4XjejETqQpbHwXl1G711RC1vtgvVc8wYdFOBZNPfNEagtxmRwwbW8a/w==";
+        url = "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-1.3.14.tgz";
+        sha512 = "5i3PbQxLpwqS1HNiAuxlGGA/Zsr5yjJm9J69GyQI5yW70aga1NwnY6teyAmGSksSYGR5BkPSKPhBhUCm6AzXKA==";
       };
     };
-    "@netlify/git-utils-1.0.6" = {
+    "@netlify/git-utils-1.0.8" = {
       name = "_at_netlify_slash_git-utils";
       packageName = "@netlify/git-utils";
-      version = "1.0.6";
+      version = "1.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/git-utils/-/git-utils-1.0.6.tgz";
-        sha512 = "JpuvzCTf9QXVEgVA4mSshH6fi9Dtg0Pqe5d19yaN2f1H9DNnWro3kJUaoR68Hfo0rBls6kYwWJuNZ/csb03VuQ==";
+        url = "https://registry.npmjs.org/@netlify/git-utils/-/git-utils-1.0.8.tgz";
+        sha512 = "YWK2H6qjBmspTIibE/ai8YTsSnqROtubqWUuXz/RoQXYf03KWx/F9BFRm1S/TOoQM9v4fozRhVeHyH45Ki0ztA==";
       };
     };
     "@netlify/open-api-1.3.0" = {
@@ -3487,13 +3577,13 @@ let
         sha512 = "GcCPXIWI8VDBsLN4nPvb6sKS9tbi4lrHLhex90hT27nwTDeu4HgGE93YilcsgZ1LLODJNxC5LdfTNLtvEHMKVg==";
       };
     };
-    "@netlify/plugin-edge-handlers-1.11.2" = {
+    "@netlify/plugin-edge-handlers-1.11.5" = {
       name = "_at_netlify_slash_plugin-edge-handlers";
       packageName = "@netlify/plugin-edge-handlers";
-      version = "1.11.2";
+      version = "1.11.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/plugin-edge-handlers/-/plugin-edge-handlers-1.11.2.tgz";
-        sha512 = "mHCg3X3aU59DHtg7fsXvNA2CN9gwaX7aRtrHV/NWbHUPUuHzETTTd1Ig/u2zVo4ehi7KZKcqXr1jzQEoO6aJYA==";
+        url = "https://registry.npmjs.org/@netlify/plugin-edge-handlers/-/plugin-edge-handlers-1.11.5.tgz";
+        sha512 = "R7oEvYjLOrvO8uSy484c4TrZeD5A1M2TN4dIM7dAdd2iHgpC+i3+RhlM9XFHFOqc8lsim+A+BcKMQYZ19z+j6A==";
       };
     };
     "@netlify/plugins-list-2.2.0" = {
@@ -3505,13 +3595,13 @@ let
         sha512 = "8OCwatZIPsyze2KZ8fj21/+luzdTA78fxQ6p7UFLE9IRJlZqCRVXtgiIVd/HtEr6B9OacywX3fV1hVRBVlbmDA==";
       };
     };
-    "@netlify/run-utils-1.0.5" = {
+    "@netlify/run-utils-1.0.6" = {
       name = "_at_netlify_slash_run-utils";
       packageName = "@netlify/run-utils";
-      version = "1.0.5";
+      version = "1.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/run-utils/-/run-utils-1.0.5.tgz";
-        sha512 = "Ovgkw9b7HSLsdhTBA+LNq3KY83gU9DP0xHbwDlg07zLpY3RtRN2IBy11w+nRPjQwfNT33OmuTvayH6amJDku5Q==";
+        url = "https://registry.npmjs.org/@netlify/run-utils/-/run-utils-1.0.6.tgz";
+        sha512 = "/A1LgWQfhiRcUyWI7FE7N1VjhxoFKtDekk9gu3zLwDcXvFsw3wND0//wKSMstrhGZzXTf39fwRe8qvP8Brr6Cw==";
       };
     };
     "@netlify/traffic-mesh-agent-0.27.10" = {
@@ -3550,67 +3640,67 @@ let
         sha512 = "ea6S9ik5X0TlA2e+jXk5D7lfvArPZjyQoIBEo7G1Tjw/vUU5Fx6KLfXv1iy7eJy+ENTLoyidscAjJ2wXlHI47g==";
       };
     };
-    "@netlify/zip-it-and-ship-it-2.1.1" = {
+    "@netlify/zip-it-and-ship-it-2.4.0" = {
       name = "_at_netlify_slash_zip-it-and-ship-it";
       packageName = "@netlify/zip-it-and-ship-it";
-      version = "2.1.1";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-2.1.1.tgz";
-        sha512 = "xG77kkrW4OtEcUrleQ5gcGmD8QZm0dOGbWZXtyL+gyoHuMxqLndcl0XymVlha9X9R00ecimSWxnf6SpdZ6UBXw==";
+        url = "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-2.4.0.tgz";
+        sha512 = "ApuQqnm5x97mFaUEQmmkogcH3MtvPmX1W6MI3Yp4pBXBtRjqTbkrUOiEq97mNnvRR3zEvR8kTLOY7Hd7lAL4bQ==";
       };
     };
-    "@node-red/editor-api-1.2.7" = {
+    "@node-red/editor-api-1.2.9" = {
       name = "_at_node-red_slash_editor-api";
       packageName = "@node-red/editor-api";
-      version = "1.2.7";
+      version = "1.2.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/editor-api/-/editor-api-1.2.7.tgz";
-        sha512 = "DY1rnKjX8ewkVwwCa6T+kjUHjCP+YMms8rPXFYZAi/r148jS7pKC21OgYe4FrJhM5EGREVJClG5Td6QAORR1vw==";
+        url = "https://registry.npmjs.org/@node-red/editor-api/-/editor-api-1.2.9.tgz";
+        sha512 = "KsN5Cp/YMfYM6E/rclWuEoNpTe3krRbKhc3X+TGOirZZ5JVW4qbpdP1p0jRmcBkhZPc1i6yOh5PE7qN7LoPH5A==";
       };
     };
-    "@node-red/editor-client-1.2.7" = {
+    "@node-red/editor-client-1.2.9" = {
       name = "_at_node-red_slash_editor-client";
       packageName = "@node-red/editor-client";
-      version = "1.2.7";
+      version = "1.2.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/editor-client/-/editor-client-1.2.7.tgz";
-        sha512 = "56NMyLL4iCuSaAYhWnsR3TTQidygoETRaG0GAYuU1iZgh+UZxvnLvIGa4gxgvMdtMgM0t4kS6tyMHhIIbX5Kvw==";
+        url = "https://registry.npmjs.org/@node-red/editor-client/-/editor-client-1.2.9.tgz";
+        sha512 = "L8zDaeVLjo7dZzqVTTj0XcQFj6QlnLJOPpnpt9V0sSQDwWzA+lWTP6nNwUcXiGuchN/WeXQXrsfBEemHgKUNLg==";
       };
     };
-    "@node-red/nodes-1.2.7" = {
+    "@node-red/nodes-1.2.9" = {
       name = "_at_node-red_slash_nodes";
       packageName = "@node-red/nodes";
-      version = "1.2.7";
+      version = "1.2.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/nodes/-/nodes-1.2.7.tgz";
-        sha512 = "GRUbM7HVPssjxbybMUkjEONi46eGabFYrY2OFZmzFF9L1ywTL9qMeEWsnHdV0Yibkr9Iq0VE4Ss/XZy+cCABAw==";
+        url = "https://registry.npmjs.org/@node-red/nodes/-/nodes-1.2.9.tgz";
+        sha512 = "ZQ3NCzl7gC3KIGgjmRZTqO3W0W03nnu4r8IX/OeiM4ewlhDlrvfoejOX1zTtIHnmgzFM+FjweyLeWEQ7bpy8jA==";
       };
     };
-    "@node-red/registry-1.2.7" = {
+    "@node-red/registry-1.2.9" = {
       name = "_at_node-red_slash_registry";
       packageName = "@node-red/registry";
-      version = "1.2.7";
+      version = "1.2.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/registry/-/registry-1.2.7.tgz";
-        sha512 = "FC14n/pEPiftsWGHQpLW9/4vstvtFpiczj/7CHp5p1Xmn2quSUzKBFOGtFr1FhglTJ3Nn59OOXL+59HMRF3Vcw==";
+        url = "https://registry.npmjs.org/@node-red/registry/-/registry-1.2.9.tgz";
+        sha512 = "OxFbHU7UrisBEM0413KSsPRXzQCJIwNQtg1E+oPDiFuMtHwVhUiVicnqbo8IiftO58PsMkSL+Wj2+ta34phlgA==";
       };
     };
-    "@node-red/runtime-1.2.7" = {
+    "@node-red/runtime-1.2.9" = {
       name = "_at_node-red_slash_runtime";
       packageName = "@node-red/runtime";
-      version = "1.2.7";
+      version = "1.2.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/runtime/-/runtime-1.2.7.tgz";
-        sha512 = "0QpolGMBL8ZMXKgzQRp9JFXYuoLaZZ4xkwFehMKH3KubDAYHHTl4tfTdY71hRxe8NbTZW9G9Gftt+e1vj0RGvg==";
+        url = "https://registry.npmjs.org/@node-red/runtime/-/runtime-1.2.9.tgz";
+        sha512 = "wcSq7MNVbRLaahKWHV5diqyeCWviKtr6VNzAmtIB+wH+omfx+OWiJEimu9x/56l9iv3mc9ew4PwtOMG07QNiTQ==";
       };
     };
-    "@node-red/util-1.2.7" = {
+    "@node-red/util-1.2.9" = {
       name = "_at_node-red_slash_util";
       packageName = "@node-red/util";
-      version = "1.2.7";
+      version = "1.2.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/util/-/util-1.2.7.tgz";
-        sha512 = "+mftTJ1AtjqbO/5LjggXd36fcomKjlOy/IunjQULaMGO4MIIqPxZ/QUYTuSi2Z/rgHPMHRuwguwWnoca4GkBnw==";
+        url = "https://registry.npmjs.org/@node-red/util/-/util-1.2.9.tgz";
+        sha512 = "a4JVRFaxkSpuVAHwwQ8yi+jwyhsflgZD7glGFlcPdfBXvcE4EiGxx1OFbNzI3JJ7pL+8sE0xxwfsZuY24IZahw==";
       };
     };
     "@nodelib/fs.scandir-2.1.4" = {
@@ -3658,40 +3748,40 @@ let
         sha512 = "oN3y7FAROHhrAt7Rr7PnTSwrHrZVRTS2ZbyxeQwSSYD0ifwM3YNgQqbaRmjcWoPyq77MjchusjJDspbzMmip1Q==";
       };
     };
-    "@npmcli/git-2.0.4" = {
+    "@npmcli/git-2.0.6" = {
       name = "_at_npmcli_slash_git";
       packageName = "@npmcli/git";
-      version = "2.0.4";
+      version = "2.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/git/-/git-2.0.4.tgz";
-        sha512 = "OJZCmJ9DNn1cz9HPXXsPmUBnqaArot3CGYo63CyajHQk+g87rPXVOJByGsskQJhPsUUEXJcsZ2Q6bWd2jSwnBA==";
+        url = "https://registry.npmjs.org/@npmcli/git/-/git-2.0.6.tgz";
+        sha512 = "a1MnTfeRPBaKbFY07fd+6HugY1WAkKJzdiJvlRub/9o5xz2F/JtPacZZapx5zRJUQFIzSL677vmTSxEcDMrDbg==";
       };
     };
-    "@npmcli/installed-package-contents-1.0.5" = {
+    "@npmcli/installed-package-contents-1.0.7" = {
       name = "_at_npmcli_slash_installed-package-contents";
       packageName = "@npmcli/installed-package-contents";
-      version = "1.0.5";
+      version = "1.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.5.tgz";
-        sha512 = "aKIwguaaqb6ViwSOFytniGvLPb9SMCUm39TgM3SfUo7n0TxUMbwoXfpwyvQ4blm10lzbAwTsvjr7QZ85LvTi4A==";
+        url = "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz";
+        sha512 = "9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==";
       };
     };
-    "@npmcli/move-file-1.1.0" = {
+    "@npmcli/move-file-1.1.2" = {
       name = "_at_npmcli_slash_move-file";
       packageName = "@npmcli/move-file";
-      version = "1.1.0";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.0.tgz";
-        sha512 = "Iv2iq0JuyYjKeFkSR4LPaCdDZwlGK9X2cP/01nJcp3yMJ1FjNd9vpiEYvLUgzBxKPg2SFmaOhizoQsPc0LWeOQ==";
+        url = "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz";
+        sha512 = "1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==";
       };
     };
-    "@npmcli/node-gyp-1.0.1" = {
+    "@npmcli/node-gyp-1.0.2" = {
       name = "_at_npmcli_slash_node-gyp";
       packageName = "@npmcli/node-gyp";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.1.tgz";
-        sha512 = "pBqoKPWmuk9iaEcXlLBVRIA6I1kG9JiICU+sG0NuD6NAR461F+02elHJS4WkQxHW2W5rnsfvP/ClKwmsZ9RaaA==";
+        url = "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.2.tgz";
+        sha512 = "yrJUe6reVMpktcvagumoqD9r08fH1iRo01gn1u0zoCApa9lnZGEigVKUd2hzsCId4gdtkZZIVscLhNxMECKgRg==";
       };
     };
     "@npmcli/promise-spawn-1.3.2" = {
@@ -3703,13 +3793,13 @@ let
         sha512 = "QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==";
       };
     };
-    "@npmcli/run-script-1.8.1" = {
+    "@npmcli/run-script-1.8.3" = {
       name = "_at_npmcli_slash_run-script";
       packageName = "@npmcli/run-script";
-      version = "1.8.1";
+      version = "1.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.1.tgz";
-        sha512 = "G8c86g9cQHyRINosIcpovzv0BkXQc3urhL1ORf3KTe4TS4UBsg2O4Z2feca/W3pfzdHEJzc83ETBW4aKbb3SaA==";
+        url = "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.3.tgz";
+        sha512 = "ELPGWAVU/xyU+A+H3pEPj0QOvYwLTX71RArXcClFzeiyJ/b/McsZ+d0QxpznvfFtZzxGN/gz/1cvlqICR4/suQ==";
       };
     };
     "@oclif/color-0.1.2" = {
@@ -3802,13 +3892,13 @@ let
         sha512 = "bGHUdo5e7DjPJ0vTeRBMIrfqTRDBfyR5w0MP41u0n3r7YG5p14lvMmiCXxi6WDaP2Hw5nqx3PnkAIntCKZZN7g==";
       };
     };
-    "@oclif/plugin-help-3.2.1" = {
+    "@oclif/plugin-help-3.2.2" = {
       name = "_at_oclif_slash_plugin-help";
       packageName = "@oclif/plugin-help";
-      version = "3.2.1";
+      version = "3.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-3.2.1.tgz";
-        sha512 = "vq7rn16TrQmjX3Al/k1Z5iBZWZ3HE8fDXs52OmDJmmTqryPSNvURH9WCAsqr0PODYCSR17Hy1VTzS0x7vVVLEQ==";
+        url = "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-3.2.2.tgz";
+        sha512 = "SPZ8U8PBYK0n4srFjCLedk0jWU4QlxgEYLCXIBShJgOwPhTTQknkUlsEwaMIevvCU4iCQZhfMX+D8Pz5GZjFgA==";
       };
     };
     "@oclif/plugin-not-found-1.2.4" = {
@@ -3820,6 +3910,15 @@ let
         sha512 = "G440PCuMi/OT8b71aWkR+kCWikngGtyRjOR24sPMDbpUFV4+B3r51fz1fcqeUiiEOYqUpr0Uy/sneUe1O/NfBg==";
       };
     };
+    "@oclif/plugin-plugins-1.10.0" = {
+      name = "_at_oclif_slash_plugin-plugins";
+      packageName = "@oclif/plugin-plugins";
+      version = "1.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@oclif/plugin-plugins/-/plugin-plugins-1.10.0.tgz";
+        sha512 = "lfHNiuuCrCUtH9A912T/ztxRA9lS1lCZm+gcmVWksIJG/gwKH/fMn+GdLTbRzU2k6ojtMhBblYk1RWKxUEJuzA==";
+      };
+    };
     "@oclif/plugin-plugins-1.9.5" = {
       name = "_at_oclif_slash_plugin-plugins";
       packageName = "@oclif/plugin-plugins";
@@ -3865,13 +3964,13 @@ let
         sha512 = "fUIPpx+pZyoLW4GCs3yMnlj2LfoXTWDUVPTC4V3MUEKZm48W+XYpeWSZCv+vYF1ZABUm2CqnDVf1sFtIYrj7KQ==";
       };
     };
-    "@octokit/openapi-types-3.3.0" = {
+    "@octokit/openapi-types-5.2.1" = {
       name = "_at_octokit_slash_openapi-types";
       packageName = "@octokit/openapi-types";
-      version = "3.3.0";
+      version = "5.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-3.3.0.tgz";
-        sha512 = "s3dd32gagPmKaSLNJ9aPNok7U+tl69YLESf6DgQz5Ml/iipPZtif3GLvWpNXoA6qspFm1LFUZX+C3SqWX/Y/TQ==";
+        url = "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-5.2.1.tgz";
+        sha512 = "Bf7MBvQ1nMpv15ANaQtRBsC7YnwQFPM0eUztp3luQs9L6sBEiQ6ArM1Wx5CG+N7tXETtd0oE0DMcU4wbLlCZIw==";
       };
     };
     "@octokit/plugin-enterprise-rest-6.0.1" = {
@@ -3910,13 +4009,13 @@ let
         sha512 = "EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==";
       };
     };
-    "@octokit/request-5.4.13" = {
+    "@octokit/request-5.4.14" = {
       name = "_at_octokit_slash_request";
       packageName = "@octokit/request";
-      version = "5.4.13";
+      version = "5.4.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/request/-/request-5.4.13.tgz";
-        sha512 = "WcNRH5XPPtg7i1g9Da5U9dvZ6YbTffw9BN2rVezYiE7couoSyaRsw0e+Tl8uk1fArHE7Dn14U7YqUDy59WaqEw==";
+        url = "https://registry.npmjs.org/@octokit/request/-/request-5.4.14.tgz";
+        sha512 = "VkmtacOIQp9daSnBmDI92xNIeLuSRDOIuplp/CJomkvzt7M18NXgG044Cx/LFKLgjKt9T2tZR6AtJayba9GTSA==";
       };
     };
     "@octokit/request-error-1.2.1" = {
@@ -3955,13 +4054,22 @@ let
         sha512 = "O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==";
       };
     };
-    "@octokit/types-6.6.0" = {
+    "@octokit/types-6.11.1" = {
       name = "_at_octokit_slash_types";
       packageName = "@octokit/types";
-      version = "6.6.0";
+      version = "6.11.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/types/-/types-6.6.0.tgz";
-        sha512 = "nmFoU3HCbw1AmnZU/eto2VvzV06+N7oAqXwMmAHGlNDF+KFykksh/VlAl85xc1P5T7Mw8fKYvXNaImNHCCH/rg==";
+        url = "https://registry.npmjs.org/@octokit/types/-/types-6.11.1.tgz";
+        sha512 = "UiSRTG2lrFbMUMwhKNR0uSV33Fzv4bNu1n5iFuuNOg80XCh0VYNhR4TQWgrkLhVxdDuej6s61aP3eQvVm6K6uA==";
+      };
+    };
+    "@open-policy-agent/opa-wasm-1.2.0" = {
+      name = "_at_open-policy-agent_slash_opa-wasm";
+      packageName = "@open-policy-agent/opa-wasm";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@open-policy-agent/opa-wasm/-/opa-wasm-1.2.0.tgz";
+        sha512 = "CtUBTnzvDrT0NASa8IuGQTxFGgt2vxbLnMYuTA+uDFxOcA4uK4mGFgrhHJtxUZnWHiwemOvKKSY3BMCo7qiAsQ==";
       };
     };
     "@opencensus/core-0.0.8" = {
@@ -4045,310 +4153,310 @@ let
         sha512 = "2TUGhTGkhgnxTciHCNAILPSeyXageJewRqfP9wOrx65sKd/jgvNYoY8nYf4EVWVMirDOxKDsmYgUkjdQrwb2dg==";
       };
     };
-    "@ot-builder/bin-composite-types-0.10.37" = {
+    "@ot-builder/bin-composite-types-1.0.3" = {
       name = "_at_ot-builder_slash_bin-composite-types";
       packageName = "@ot-builder/bin-composite-types";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/bin-composite-types/-/bin-composite-types-0.10.37.tgz";
-        sha512 = "TJ4mDLP0sHES4HjUry9fJTEHGb8bC51nF0OqBDR+lNCt3OHi5VVtE1Ph8QqxoglfTypLfTyXRcP8kXC+vV0Q/g==";
+        url = "https://registry.npmjs.org/@ot-builder/bin-composite-types/-/bin-composite-types-1.0.3.tgz";
+        sha512 = "PEjk6MhiY53QQEW6NQAPYfNBdCqoFEE9OkG+25tvhJ6MWsEUz+hUq9argDjeP2DNckd4WRyGcmp6GtH8J4clLQ==";
       };
     };
-    "@ot-builder/bin-util-0.10.37" = {
+    "@ot-builder/bin-util-1.0.3" = {
       name = "_at_ot-builder_slash_bin-util";
       packageName = "@ot-builder/bin-util";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/bin-util/-/bin-util-0.10.37.tgz";
-        sha512 = "RR93ek6moT25cNC3eCc9QsGWxj3vOlTfryNybDTUVFEwhXi2EWXJ+cOvjKPOxplNY17YxzxffhqXX0qdX/Y6JQ==";
+        url = "https://registry.npmjs.org/@ot-builder/bin-util/-/bin-util-1.0.3.tgz";
+        sha512 = "x66vsg6oNJmQ/xp+sQLMUk2imXn5L0psdKj5FYziqZQ99B055+t8Ydf6FM42GRYW2xIczeDIesmLZkRaQPgTOA==";
       };
     };
-    "@ot-builder/cli-help-shower-0.10.37" = {
+    "@ot-builder/cli-help-shower-1.0.3" = {
       name = "_at_ot-builder_slash_cli-help-shower";
       packageName = "@ot-builder/cli-help-shower";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/cli-help-shower/-/cli-help-shower-0.10.37.tgz";
-        sha512 = "nkSDmkUROYEVAkZqd60p0WYvWAIDyv2EVN0Bon7X8fxk4Kg92ApD6yzvRUY6WrZKIV+AAM37UUodURgLG3c/Vg==";
+        url = "https://registry.npmjs.org/@ot-builder/cli-help-shower/-/cli-help-shower-1.0.3.tgz";
+        sha512 = "gLKTb/EnGKl5qmhzRQum0szIT0v5Fzk0UxVWdbmJjeCl6xWNsWQd2sCUujIFVz0qaKGLPvImvn2W8Q5j8JnOkw==";
       };
     };
-    "@ot-builder/cli-proc-0.10.37" = {
+    "@ot-builder/cli-proc-1.0.3" = {
       name = "_at_ot-builder_slash_cli-proc";
       packageName = "@ot-builder/cli-proc";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/cli-proc/-/cli-proc-0.10.37.tgz";
-        sha512 = "5X+DBnVQrByPwGz8UlVnsldpxIKgwbZG3RndI75y2HZc/rZ5fgaAuTyjVhqxrIpLeNBv3InnTybu3QBbAouiuQ==";
+        url = "https://registry.npmjs.org/@ot-builder/cli-proc/-/cli-proc-1.0.3.tgz";
+        sha512 = "m+oaigFwF2fuXEvK1OQxfF3n0c4KOnNdq0TV+nIqRHzovU/e4Z1WM8Z3uUt0MJFy4k+SS+HUlQTTAOP9VA1Fcw==";
       };
     };
-    "@ot-builder/cli-shared-0.10.37" = {
+    "@ot-builder/cli-shared-1.0.3" = {
       name = "_at_ot-builder_slash_cli-shared";
       packageName = "@ot-builder/cli-shared";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/cli-shared/-/cli-shared-0.10.37.tgz";
-        sha512 = "tiRMqvsiQ+TlP+00kMC93AW1ti9ip6kTGstjzXkDhYD9nulyyGUO6Kwx27M0DS4hFcMQXeUDd65JAOaDN5XVcQ==";
+        url = "https://registry.npmjs.org/@ot-builder/cli-shared/-/cli-shared-1.0.3.tgz";
+        sha512 = "cGZvNRD/YQ1CKwfNoN+93PDkAifZJ5Ey57Pgaheo/K2C60WqNYooIhjI6ws4YKJ3fyR7Bnblm3i+X3Yk8VSCBg==";
       };
     };
-    "@ot-builder/common-impl-0.10.37" = {
+    "@ot-builder/common-impl-1.0.3" = {
       name = "_at_ot-builder_slash_common-impl";
       packageName = "@ot-builder/common-impl";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/common-impl/-/common-impl-0.10.37.tgz";
-        sha512 = "oEl8l7313MfTRoouKGaPw5oDO8W8vq7EbS6Zg7GIh7yX5cjdXfvjS8pb9Nn2MUPcBJZ7nCGWO4mCYMSNT9Llug==";
+        url = "https://registry.npmjs.org/@ot-builder/common-impl/-/common-impl-1.0.3.tgz";
+        sha512 = "WflKduZfy2q3NbnBcHpkKRo/ifSxRaSqnTQkJD9UBmhS10zVYv6XoPL9NC/CAUjbeRLL8eS3WMdBZWaw6mwEvQ==";
       };
     };
-    "@ot-builder/errors-0.10.37" = {
+    "@ot-builder/errors-1.0.3" = {
       name = "_at_ot-builder_slash_errors";
       packageName = "@ot-builder/errors";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/errors/-/errors-0.10.37.tgz";
-        sha512 = "1dQK50SBwEP2QWV5NBZAYTIqvIOXGQTFS4LVAUYBhhXYgBkbh58g8Cyhd7MDqf/VlCohuhZ/VxHZDjFsZse0Kg==";
+        url = "https://registry.npmjs.org/@ot-builder/errors/-/errors-1.0.3.tgz";
+        sha512 = "tpgnvmZeaK36OvAcbDQ4eeCWxJMk223BHYT2xUw7cRq7fUXJZI7+CqSg81Hwbir1sL6SbHjl356bkgbut1zHJQ==";
       };
     };
-    "@ot-builder/io-bin-cff-0.10.37" = {
+    "@ot-builder/io-bin-cff-1.0.3" = {
       name = "_at_ot-builder_slash_io-bin-cff";
       packageName = "@ot-builder/io-bin-cff";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-cff/-/io-bin-cff-0.10.37.tgz";
-        sha512 = "Cyhw7PddXzzRwflhBNX2ta+kRmfCGhS8v+XtTOmS/WX/bPwJRJInf4DGYB+NmhCfK51dmNxA9SJEf/lHsVoSrw==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-cff/-/io-bin-cff-1.0.3.tgz";
+        sha512 = "LfXw3RkxrvudKYAwVsWMGXZ7R6fSUM9GFl4tBCOiY/MmSwkZ3pI7JicrVTLOs+ZuizKdtVQe5KfY/sjz0SyFeg==";
       };
     };
-    "@ot-builder/io-bin-encoding-0.10.37" = {
+    "@ot-builder/io-bin-encoding-1.0.3" = {
       name = "_at_ot-builder_slash_io-bin-encoding";
       packageName = "@ot-builder/io-bin-encoding";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-encoding/-/io-bin-encoding-0.10.37.tgz";
-        sha512 = "N2N0aJMz/pyt/TEgo0d9mlJQuOEcYf63p6ZPxCgnaiweb8QRFQa71WoWqlHLrZYKQRg8TU1xdRrrLzn6MpV/KA==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-encoding/-/io-bin-encoding-1.0.3.tgz";
+        sha512 = "0QTgXPfEyItzkqNGXhxPIciOrF7+hbAwfnJf1yBSYvJl3JiE0FKpN3XDIWrPl71flkvvXFBHGoB+wIp8vwiLNw==";
       };
     };
-    "@ot-builder/io-bin-ext-private-0.10.37" = {
+    "@ot-builder/io-bin-ext-private-1.0.3" = {
       name = "_at_ot-builder_slash_io-bin-ext-private";
       packageName = "@ot-builder/io-bin-ext-private";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-ext-private/-/io-bin-ext-private-0.10.37.tgz";
-        sha512 = "WO/omCDnkA+4M6OTSATzSfDRCpHQPkbm2l8HjVEvCj9lENEGDlB10qVUfHhS9OJRGyQ1zC2Sgz1uCP7fUPmpPQ==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-ext-private/-/io-bin-ext-private-1.0.3.tgz";
+        sha512 = "RRzfr6yzFTDx0w7L5AKIIJPZ0ab+5WUxUssnBxnBatzOnmtgJmobYdX4R6SLbFPiq+YDyAa/mB44EGLyWcVAgw==";
       };
     };
-    "@ot-builder/io-bin-font-0.10.37" = {
+    "@ot-builder/io-bin-font-1.0.3" = {
       name = "_at_ot-builder_slash_io-bin-font";
       packageName = "@ot-builder/io-bin-font";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-font/-/io-bin-font-0.10.37.tgz";
-        sha512 = "fN5UpZ1YnAiU9qLTH/bhzNnL7dTPdDNoDKbcfoEYcBF0HxvbGM7nOqgOe95HP20uUGO9z6p6A7jdkcCIgM/+JA==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-font/-/io-bin-font-1.0.3.tgz";
+        sha512 = "Eq+tjzRqivY8e3r3rCzVppWizqXpXutacWO8Mdw0TqlnfSONVfJStLafzDTOKrbrr2m7dYEC7sBwkQz65iuARQ==";
       };
     };
-    "@ot-builder/io-bin-glyph-store-0.10.37" = {
+    "@ot-builder/io-bin-glyph-store-1.0.3" = {
       name = "_at_ot-builder_slash_io-bin-glyph-store";
       packageName = "@ot-builder/io-bin-glyph-store";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-glyph-store/-/io-bin-glyph-store-0.10.37.tgz";
-        sha512 = "g2GvPbzcNSSUcs/TmjpaLfCgDUDOkeO5/BwZsUyF8vesHdZXzCLIuZ34Hla18kDFNEujNY5lTYOblin9MLsuCw==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-glyph-store/-/io-bin-glyph-store-1.0.3.tgz";
+        sha512 = "TNHLSZ7Hs6X92HMMjZQ6Zru84bbu/5p/SWJDIEq4IuiNrDGIrTHFtIAC4XfK5mWOFfP0fNXR00ox9wjeerYeZw==";
       };
     };
-    "@ot-builder/io-bin-layout-0.10.37" = {
+    "@ot-builder/io-bin-layout-1.0.3" = {
       name = "_at_ot-builder_slash_io-bin-layout";
       packageName = "@ot-builder/io-bin-layout";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-layout/-/io-bin-layout-0.10.37.tgz";
-        sha512 = "8uEvHSC5X1bxBBNEKVz+/5yedVStOSFndAHI86pCcEim8538Ib/jZTTcwSlBs4cg4r4QDJ8EekkOt0TFjvY0qA==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-layout/-/io-bin-layout-1.0.3.tgz";
+        sha512 = "XyyAgn6FjXgdyudq5CcbDoWpUbqlraqDiXHAY1XttpiIvLiTDtWj8KTryLoS8WkfaWLvZ/W2t8VylL6wvR4Saw==";
       };
     };
-    "@ot-builder/io-bin-metadata-0.10.37" = {
+    "@ot-builder/io-bin-metadata-1.0.3" = {
       name = "_at_ot-builder_slash_io-bin-metadata";
       packageName = "@ot-builder/io-bin-metadata";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-metadata/-/io-bin-metadata-0.10.37.tgz";
-        sha512 = "hvb+b11sYjHhRQBBCEo0Ijwk62v9S+HMCydL4EHzWxWBtEXL6ELyqG3JeWDWbwFnQ1R/gHVjHOHacaW/8NsPYw==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-metadata/-/io-bin-metadata-1.0.3.tgz";
+        sha512 = "JmnK3csx7+M+61Id/w9+cRNz/hrCShNZbG04yPMAWKbq7YXuPRhX1/4/vdlDwmJFRF3V3TIz1WsIVpjmdrhocw==";
       };
     };
-    "@ot-builder/io-bin-metric-0.10.37" = {
+    "@ot-builder/io-bin-metric-1.0.3" = {
       name = "_at_ot-builder_slash_io-bin-metric";
       packageName = "@ot-builder/io-bin-metric";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-metric/-/io-bin-metric-0.10.37.tgz";
-        sha512 = "AL38lT4RPUTJ8I/gDu0zuW6F5drcIzhoDN1hPsmMwsQLApx+1Ea/7gJipWfU4ppE+R9dpULrHOyH3EdCH59owA==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-metric/-/io-bin-metric-1.0.3.tgz";
+        sha512 = "b6pvou6rYgT+VUkRLM1UqdVcCCgi+/YIRuzLH+mKfYcP3oEhdK5g1FbX0gEzPHuwjIksOAq+z57JY5WuWkRAbQ==";
       };
     };
-    "@ot-builder/io-bin-name-0.10.37" = {
+    "@ot-builder/io-bin-name-1.0.3" = {
       name = "_at_ot-builder_slash_io-bin-name";
       packageName = "@ot-builder/io-bin-name";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-name/-/io-bin-name-0.10.37.tgz";
-        sha512 = "KBgTi4FdMdo/CJoPEL3HU1910GS42Lfw03BEwn/AXmv8mZy4q4DkhSI5jFH9xf2g9d67Rm9Ms4IR01OtZIdasg==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-name/-/io-bin-name-1.0.3.tgz";
+        sha512 = "jDKoPRX4to+z5yuY/pZv7owEGjzjIvqqlZN8jNeDYwbnq1+Mheyfwe+0A5RnYSTdvQceLHtwRN722/rap33r7A==";
       };
     };
-    "@ot-builder/io-bin-sfnt-0.10.37" = {
+    "@ot-builder/io-bin-sfnt-1.0.3" = {
       name = "_at_ot-builder_slash_io-bin-sfnt";
       packageName = "@ot-builder/io-bin-sfnt";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-sfnt/-/io-bin-sfnt-0.10.37.tgz";
-        sha512 = "HzYvTaydmgxTRr7o5sichmc0j4TJcFbZfhf3kU8fE2KUdagi+Ia9jms3YWz+AVFaxkd6vp7xAKSgoaYggXWtcQ==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-sfnt/-/io-bin-sfnt-1.0.3.tgz";
+        sha512 = "7AOYNulmBGQxvr+4jeQTz2cgS88l8arPE4m8EcLcNj9AGlKF5Mhk1an+OjH8JRvuHjRaq7yqfO8ZCdAaF32U9Q==";
       };
     };
-    "@ot-builder/io-bin-ttf-0.10.37" = {
+    "@ot-builder/io-bin-ttf-1.0.3" = {
       name = "_at_ot-builder_slash_io-bin-ttf";
       packageName = "@ot-builder/io-bin-ttf";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-ttf/-/io-bin-ttf-0.10.37.tgz";
-        sha512 = "nLILmjrsN3J9HqVQP8AqfTSNdaIJaB7V/k5Csu+lFS6Qeozkpm5C43WFb+pjTo9rO+3ZUyQKtN0dBez6Mu5zfA==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-ttf/-/io-bin-ttf-1.0.3.tgz";
+        sha512 = "xQFAG3lnzycqNrxbZ9jn8V+b9RzdgMg7YFRMd12TYoRzdoHaIh+v2DZ8lyhwkv3owvYDzr6iRCI6nts3mFQuug==";
       };
     };
-    "@ot-builder/ot-0.10.37" = {
+    "@ot-builder/ot-1.0.3" = {
       name = "_at_ot-builder_slash_ot";
       packageName = "@ot-builder/ot";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot/-/ot-0.10.37.tgz";
-        sha512 = "H2OhGBya1uhb3LNbDn1uYhD7VH+RxVIc//DjPB9TTjRAxepzJhtDQA+xHr44Pfh+/gMhzOg6IZaE6w2hKCOi+A==";
+        url = "https://registry.npmjs.org/@ot-builder/ot/-/ot-1.0.3.tgz";
+        sha512 = "fEQdRjO58o5PfnUSpx3KzqC4l5tpvX9tquKrvEi/MgKr08PykTs9iUFkzcfQ3+1zHDrebfrq2Peei0vpcaGC3Q==";
       };
     };
-    "@ot-builder/ot-encoding-0.10.37" = {
+    "@ot-builder/ot-encoding-1.0.3" = {
       name = "_at_ot-builder_slash_ot-encoding";
       packageName = "@ot-builder/ot-encoding";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-encoding/-/ot-encoding-0.10.37.tgz";
-        sha512 = "xuSnN3LD3v6ovkHLeZebM8z4PYZkpW6tVrl2HqRaujIjuR0LpBSWQcLwqI1B8xUwfvpdPrmRABXGTDQEfH7XbA==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-encoding/-/ot-encoding-1.0.3.tgz";
+        sha512 = "Bmd7Zdb6E791681fH2a7th9puyVbQb1YARYaIdns3fGu9+BJCrvZ2D5SBOIVuPen2TxSDZ5tfQkf/yjz63WbPQ==";
       };
     };
-    "@ot-builder/ot-ext-private-0.10.37" = {
+    "@ot-builder/ot-ext-private-1.0.3" = {
       name = "_at_ot-builder_slash_ot-ext-private";
       packageName = "@ot-builder/ot-ext-private";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-ext-private/-/ot-ext-private-0.10.37.tgz";
-        sha512 = "dZk0SedGSAvmmHuY+kwqICz0ptrX0rvWVitp5nF/0kXS1sUr5x2xXrGIFm6/ZatyYek5tdGIMy6OjUyfv2lEew==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-ext-private/-/ot-ext-private-1.0.3.tgz";
+        sha512 = "yu7C79YRwHV7W6cuee0ONsye2Dd6MOgAWcAcORtpFn5VjBc2Nvxs5OAXKlysbOeHtaVGfDub4w8phx/9ZfoxvA==";
       };
     };
-    "@ot-builder/ot-glyphs-0.10.37" = {
+    "@ot-builder/ot-glyphs-1.0.3" = {
       name = "_at_ot-builder_slash_ot-glyphs";
       packageName = "@ot-builder/ot-glyphs";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-glyphs/-/ot-glyphs-0.10.37.tgz";
-        sha512 = "EGO3Ok6xOZLrpViokybKkCD5fyV/TOOdzD2WD5hNC9OUT3uSWUCVp8O5CN1xbJUC47Xsbx8L3WTKPLMDVfyurQ==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-glyphs/-/ot-glyphs-1.0.3.tgz";
+        sha512 = "NJgyHqEINRlZnyEiP+tBsYvQceIvD2XBM1bcJqUCY4xwrOBGtEceP3ChVz44UQEBrtdIOCjv/nycxp55VIKqug==";
       };
     };
-    "@ot-builder/ot-layout-0.10.37" = {
+    "@ot-builder/ot-layout-1.0.3" = {
       name = "_at_ot-builder_slash_ot-layout";
       packageName = "@ot-builder/ot-layout";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-layout/-/ot-layout-0.10.37.tgz";
-        sha512 = "sK0ERPlrujMfd/1yqxX5In5AZRbV/vqR0gCyZavd2iOWA5IrPS0jeUcF6TmpnWqSt8IvKL/syPHm2VEmEBEGtQ==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-layout/-/ot-layout-1.0.3.tgz";
+        sha512 = "HIpQABvaJTKfFi4ui+Vu3AM51VV0Zr2sU3jtAy2kS8HFIyiNVlJCn925jc3n/NzLHvU2FjBeQDFr8o2sQGRchg==";
       };
     };
-    "@ot-builder/ot-metadata-0.10.37" = {
+    "@ot-builder/ot-metadata-1.0.3" = {
       name = "_at_ot-builder_slash_ot-metadata";
       packageName = "@ot-builder/ot-metadata";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-metadata/-/ot-metadata-0.10.37.tgz";
-        sha512 = "KO+MhJXSHCVMRE0sVoqI/W91/SYC5JUM1yc09OvlHdb5RlCYk8RWDr/1G2VKIQifrbMMXpzeVVwAVOjKxOlH2w==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-metadata/-/ot-metadata-1.0.3.tgz";
+        sha512 = "JK6IPCVCuCdi5k6FQWEXMqdPlPoORuWan4skXWpe7s7NUXYHonJBwZ6sLrPqPIbYmOlEotxT93VvoUo1sqZS0A==";
       };
     };
-    "@ot-builder/ot-name-0.10.37" = {
+    "@ot-builder/ot-name-1.0.3" = {
       name = "_at_ot-builder_slash_ot-name";
       packageName = "@ot-builder/ot-name";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-name/-/ot-name-0.10.37.tgz";
-        sha512 = "LIXAd02w3PIUaepM5Esct+Z1iUu/Lq/kxd3WNUL0OTmauZF2oh0qdK3dQHLtFBHOMHoWIXUKjOPDLw/YP1dUwA==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-name/-/ot-name-1.0.3.tgz";
+        sha512 = "Z1VjRAoCgxMDloyOEoKWiimHf0S/AHXHsw57QtNAyPwzn8MR7tuzZ2epMxygrAQSaGHgOwPQ/th+fZ2RdvPuzA==";
       };
     };
-    "@ot-builder/ot-sfnt-0.10.37" = {
+    "@ot-builder/ot-sfnt-1.0.3" = {
       name = "_at_ot-builder_slash_ot-sfnt";
       packageName = "@ot-builder/ot-sfnt";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-sfnt/-/ot-sfnt-0.10.37.tgz";
-        sha512 = "VICXFcp8yzi6zkd4nwLrYh7p3Yx86KMqDRV39ODtM1g/2r887beIfBOONE1ll4Dy6FMXbtvWY1+OEcMPEjD+LA==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-sfnt/-/ot-sfnt-1.0.3.tgz";
+        sha512 = "uLctpLG/QM15IBuP8GQG7UfwFEcWVLPwTbOlrx0K6he393YVtZ3t+QwNzT1T+Ucvy2E6oxnlDSzvlz+xGHLvJA==";
       };
     };
-    "@ot-builder/ot-standard-glyph-namer-0.10.37" = {
+    "@ot-builder/ot-standard-glyph-namer-1.0.3" = {
       name = "_at_ot-builder_slash_ot-standard-glyph-namer";
       packageName = "@ot-builder/ot-standard-glyph-namer";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-standard-glyph-namer/-/ot-standard-glyph-namer-0.10.37.tgz";
-        sha512 = "I1FsVaBOHMSPA6lPFo6SWwAYLmp+q1QNKYQtcRJmgW5G5lljIjCTptvpDzyXqgujgFvGUDz7UWPNzlRq/HwLNw==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-standard-glyph-namer/-/ot-standard-glyph-namer-1.0.3.tgz";
+        sha512 = "JW9cwINVxteCadCKiBo4ufCWS7DP1t+RfcVbDgQ940VGIRm59MJw5CbVM50k4Pf3dYXHJmDYMGDzSKGAZ9x+6g==";
       };
     };
-    "@ot-builder/prelude-0.10.37" = {
+    "@ot-builder/prelude-1.0.3" = {
       name = "_at_ot-builder_slash_prelude";
       packageName = "@ot-builder/prelude";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/prelude/-/prelude-0.10.37.tgz";
-        sha512 = "rUMCp2j3or0dSYr2hDkmNRexg9A24zzRRQWNHh5KF+6x4Crj5Sg41gx+sx+MohQqs8mu8CM3CZOV1b66P7ixPA==";
+        url = "https://registry.npmjs.org/@ot-builder/prelude/-/prelude-1.0.3.tgz";
+        sha512 = "7GJ+sMzMqsI7Pe4bqM4lATQLdOJrxOoQudg3xJBe1C0UbVfXLmqvVUkKM1GMd3eR0C1sTkAxRdqILycAXzNwKQ==";
       };
     };
-    "@ot-builder/primitive-0.10.37" = {
+    "@ot-builder/primitive-1.0.3" = {
       name = "_at_ot-builder_slash_primitive";
       packageName = "@ot-builder/primitive";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/primitive/-/primitive-0.10.37.tgz";
-        sha512 = "GdYr1DUgWRUASpK9C85jklb/iHpdzgPmHs1fxud61QktqXJ21Wo1jvr5W0TaHsK3tGyeDjfSbEohMQhFKgZZOA==";
+        url = "https://registry.npmjs.org/@ot-builder/primitive/-/primitive-1.0.3.tgz";
+        sha512 = "IgtWW8Q+gb5lzXWyPivKG0CxU3CdPZUB6tjxA9Ui+TNxTZAmj1nxmJ90Cw9CODFkcywRykSHzo3WTgLGWH6kIQ==";
       };
     };
-    "@ot-builder/rectify-0.10.37" = {
+    "@ot-builder/rectify-1.0.3" = {
       name = "_at_ot-builder_slash_rectify";
       packageName = "@ot-builder/rectify";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/rectify/-/rectify-0.10.37.tgz";
-        sha512 = "0gv45ARwPgBSWnpl7mmk+lTtIlTO0XBtoCBT8BbkXzXH4YxkB70fEsAX47GEhSpWzWWg9QgTrVUCBFXVj4i67A==";
+        url = "https://registry.npmjs.org/@ot-builder/rectify/-/rectify-1.0.3.tgz";
+        sha512 = "nm6Ql6oyxEdDrGtFAPOqBlEKUGIyiM8QaI57MosPshfB8UUDJAI6uAaQP4pzV4Go8/6Do3zPkDnmqQIYt/lmmQ==";
       };
     };
-    "@ot-builder/stat-glyphs-0.10.37" = {
+    "@ot-builder/stat-glyphs-1.0.3" = {
       name = "_at_ot-builder_slash_stat-glyphs";
       packageName = "@ot-builder/stat-glyphs";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/stat-glyphs/-/stat-glyphs-0.10.37.tgz";
-        sha512 = "JTQQtR8CWclhAdJyKAvWH3O99wuaJFJKyAr+BRcXL5wJ6D68V9AQ8zY+weaIL7m1FZIOp5kf4nc4RmRodtCcNw==";
+        url = "https://registry.npmjs.org/@ot-builder/stat-glyphs/-/stat-glyphs-1.0.3.tgz";
+        sha512 = "1pZ7I/OXbQ5egHlHAK4bOthg04qp9Og/RPvFN2UTNAobRPEun/IOpnf6yO7t/JLR4Lvr1lxxDeQjt4tdPMOWOQ==";
       };
     };
-    "@ot-builder/trace-0.10.37" = {
+    "@ot-builder/trace-1.0.3" = {
       name = "_at_ot-builder_slash_trace";
       packageName = "@ot-builder/trace";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/trace/-/trace-0.10.37.tgz";
-        sha512 = "phedlApvTXseNHId9T0Ab+6luHoATwkwk0l/JFEhVFIbMdvAcHwgAB/oxumsySlTscYuV/7dgGqCyYeeYicfjw==";
+        url = "https://registry.npmjs.org/@ot-builder/trace/-/trace-1.0.3.tgz";
+        sha512 = "wr+cLAXFEdXOyLpBRW9XR28NapfJhhqOnJIiOaC3g0A31nvQtINBZaiQ8o2tSekmcmhCOsimoYWpg/SjLgq0GA==";
       };
     };
-    "@ot-builder/var-store-0.10.37" = {
+    "@ot-builder/var-store-1.0.3" = {
       name = "_at_ot-builder_slash_var-store";
       packageName = "@ot-builder/var-store";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/var-store/-/var-store-0.10.37.tgz";
-        sha512 = "yAEZBdo+X0m3WnFNLXFW2pkmhDx8EEvqxqR0A95KxZC1M6gtLdYesQGz5x1qnTn6cAvxOOhyclWsk3XcSJpvKw==";
+        url = "https://registry.npmjs.org/@ot-builder/var-store/-/var-store-1.0.3.tgz";
+        sha512 = "qJSHH+bll62V+T1oa2AvB/kAamgdFO2ZmTfkiyUK1Rb1zaBthYDADHXrzrAUdUARgAkXUXGHTZEGWc8WeU2smw==";
       };
     };
-    "@ot-builder/variance-0.10.37" = {
+    "@ot-builder/variance-1.0.3" = {
       name = "_at_ot-builder_slash_variance";
       packageName = "@ot-builder/variance";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/variance/-/variance-0.10.37.tgz";
-        sha512 = "I+ZvuTZ82Itr1/KwTkDyMrhx30rgmimMxYX6dOIvjrrheTJSPR3iKR7tFKszCuJSgx6GTITeikeyi6tH4/krGQ==";
+        url = "https://registry.npmjs.org/@ot-builder/variance/-/variance-1.0.3.tgz";
+        sha512 = "K23fg29QU8hJkwqwhAHjVeoFVxzdEi8miOXopn8MIjPPnKUCQ+Zkbnml1I+XKrz9juQDhBszcB0kuPpBy4/hxA==";
       };
     };
     "@parcel/fs-1.11.0" = {
@@ -4558,15 +4666,6 @@ let
         sha512 = "UFnkg5RTq3s2X15fSkrWY9+5BKOFjihNSnJjTV2H5PtTUFbd55qnxxPw8CxSfK0bXb1IrSvCESprk2LEpqr5cg==";
       };
     };
-    "@react-native-community/cli-platform-ios-4.13.0" = {
-      name = "_at_react-native-community_slash_cli-platform-ios";
-      packageName = "@react-native-community/cli-platform-ios";
-      version = "4.13.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-4.13.0.tgz";
-        sha512 = "6THlTu8zp62efkzimfGr3VIuQJ2514o+vScZERJCV1xgEi8XtV7mb/ZKt9o6Y9WGxKKkc0E0b/aVAtgy+L27CA==";
-      };
-    };
     "@react-native-community/cli-server-api-4.9.0" = {
       name = "_at_react-native-community_slash_cli-server-api";
       packageName = "@react-native-community/cli-server-api";
@@ -4594,22 +4693,22 @@ let
         sha512 = "rmuSC2JFFl4DkPDdGVrmffT9KcbG2AB5jvhxPIrOc1dO9mHRMUUftQY35KZlvWqqSSqVn+AM+J9dhiTo1ZqR8A==";
       };
     };
-    "@rollup/plugin-babel-5.2.2" = {
+    "@rollup/plugin-babel-5.3.0" = {
       name = "_at_rollup_slash_plugin-babel";
       packageName = "@rollup/plugin-babel";
-      version = "5.2.2";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.2.2.tgz";
-        sha512 = "MjmH7GvFT4TW8xFdIeFS3wqIX646y5tACdxkTO+khbHvS3ZcVJL6vkAHLw2wqPmkhwCfWHoNsp15VYNwW6JEJA==";
+        url = "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz";
+        sha512 = "9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw==";
       };
     };
-    "@rollup/plugin-commonjs-17.0.0" = {
+    "@rollup/plugin-commonjs-17.1.0" = {
       name = "_at_rollup_slash_plugin-commonjs";
       packageName = "@rollup/plugin-commonjs";
-      version = "17.0.0";
+      version = "17.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-17.0.0.tgz";
-        sha512 = "/omBIJG1nHQc+bgkYDuLpb/V08QyutP9amOrJRUSlYJZP+b/68gM//D8sxJe3Yry2QnYIr3QjR3x4AlxJEN3GA==";
+        url = "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-17.1.0.tgz";
+        sha512 = "PoMdXCw0ZyvjpCMT5aV4nkL0QywxP29sODQsSGeDpr/oI49Qq9tRtAsb/LbYbDzFlOydVEqHmmZWFtXJEAX9ew==";
       };
     };
     "@rollup/plugin-inject-4.0.2" = {
@@ -4630,13 +4729,13 @@ let
         sha512 = "yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==";
       };
     };
-    "@rollup/plugin-node-resolve-11.1.0" = {
+    "@rollup/plugin-node-resolve-11.2.0" = {
       name = "_at_rollup_slash_plugin-node-resolve";
       packageName = "@rollup/plugin-node-resolve";
-      version = "11.1.0";
+      version = "11.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.1.0.tgz";
-        sha512 = "ouBBppRdWJKCllDXGzJ7ZIkYbaq+5TmyP0smt1vdJCFfoZhLi31vhpmjLhyo8lreHf4RoeSNllaWrvSqHpHRog==";
+        url = "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.0.tgz";
+        sha512 = "qHjNIKYt5pCcn+5RUBQxK8krhRvf1HnyVgUCcFFcweDS7fhkOLZeYh0mhHK6Ery8/bb9tvN/ubPzmfF0qjDCTA==";
       };
     };
     "@rollup/pluginutils-3.1.0" = {
@@ -4657,6 +4756,15 @@ let
         sha512 = "YXJqp9gdHcZKAmBY/WnwFpPtNQp2huD/ME2YMurH2YHJvxrVzYsmpKw/pb7yINArRpp8E++fwbQd3ajYXGA45Q==";
       };
     };
+    "@sammacbeth/random-access-idb-mutable-file-0.1.1" = {
+      name = "_at_sammacbeth_slash_random-access-idb-mutable-file";
+      packageName = "@sammacbeth/random-access-idb-mutable-file";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@sammacbeth/random-access-idb-mutable-file/-/random-access-idb-mutable-file-0.1.1.tgz";
+        sha512 = "jHnpuu2qtFgwCmhgrpCCk3/hU3XqXTqhidh4XmcTijkVsGwh1c2T0+r2hkHs1PRfsxeimx8qDAotphpRoYB2eg==";
+      };
+    };
     "@samverschueren/stream-to-observable-0.3.1" = {
       name = "_at_samverschueren_slash_stream-to-observable";
       packageName = "@samverschueren/stream-to-observable";
@@ -4666,31 +4774,31 @@ let
         sha512 = "c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==";
       };
     };
-    "@schematics/angular-11.1.1" = {
+    "@schematics/angular-11.2.2" = {
       name = "_at_schematics_slash_angular";
       packageName = "@schematics/angular";
-      version = "11.1.1";
+      version = "11.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@schematics/angular/-/angular-11.1.1.tgz";
-        sha512 = "K4G+PwCIGYE6aw28ZcqAhw+qI6I8d8qtE3D1Vd4MPVuguDWpNEaB0Y+TIYWzukh5bmOqdl9m/fkw6eZeOglUuQ==";
+        url = "https://registry.npmjs.org/@schematics/angular/-/angular-11.2.2.tgz";
+        sha512 = "TcxPy58adUnkirGXyZVVSMuKkA0eIz2PWSQWEgB9l7kO+5LvDOn+RMoc6AVx0s/bU9nH+eozBUJ1XAD/E8QnYQ==";
       };
     };
-    "@schematics/schematics-0.1100.3" = {
+    "@schematics/schematics-0.1102.0" = {
       name = "_at_schematics_slash_schematics";
       packageName = "@schematics/schematics";
-      version = "0.1100.3";
+      version = "0.1102.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@schematics/schematics/-/schematics-0.1100.3.tgz";
-        sha512 = "tzjKnjD90FQ4LgRN9ALT2qCqgJYZrAKoy1embFJRuGKA8vv1hTG4JonVDqQEUoNwTc9r/Ok2Z1eenAI9TSUd1A==";
+        url = "https://registry.npmjs.org/@schematics/schematics/-/schematics-0.1102.0.tgz";
+        sha512 = "0mN6qGnI31GVNYAKDdZ6ISiJMtN8Z0rekpJ/xNHK/lDNl/QkoJVBHDf68oEcNE8dvWMq86ULpznCdT1IBQ7YFA==";
       };
     };
-    "@schematics/update-0.1101.1" = {
+    "@schematics/update-0.1102.2" = {
       name = "_at_schematics_slash_update";
       packageName = "@schematics/update";
-      version = "0.1101.1";
+      version = "0.1102.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@schematics/update/-/update-0.1101.1.tgz";
-        sha512 = "BmGxxAH05ey8rc0gQpMJ7hAJyr7bM172MStpIws+MLugxZ6a6jH8vI1+MpnrqE0TK1PIPx6vclCMgf3RbQEzIw==";
+        url = "https://registry.npmjs.org/@schematics/update/-/update-0.1102.2.tgz";
+        sha512 = "Nz8kjeixzDnOw00bnZznq3qrbIv8yWEWNb9eDkRBqgOUXQwlhKJY/sYBK58JF2D+conaRVuEqMsBlX08GlFtIA==";
       };
     };
     "@segment/loosely-validate-event-2.0.0" = {
@@ -4720,13 +4828,13 @@ let
         sha512 = "lOUyRopNTKJYVEU9T6stp2irwlTDsYMmUKBOUjnMcwGveuUfIJqrCOtFLtIPPj3XJlbZy5F68l4KP9rZ8Ipang==";
       };
     };
-    "@serverless/components-3.5.1" = {
+    "@serverless/components-3.7.1" = {
       name = "_at_serverless_slash_components";
       packageName = "@serverless/components";
-      version = "3.5.1";
+      version = "3.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/components/-/components-3.5.1.tgz";
-        sha512 = "GRXdO4e2gWwVQ+RNdbffaym92cIcUHzYfIK3mxWv2zIL/4rKXz5YaptRj6hd3EST12/iBsEOktomtuCfG1i9RA==";
+        url = "https://registry.npmjs.org/@serverless/components/-/components-3.7.1.tgz";
+        sha512 = "f938wGpjGWW4slLVwswLlne8hEUPmzBeFiJ3eylwpRAKLUSOTOmdgiumAKXhqiBtxdqUgDp1hTpvimu0X44jdQ==";
       };
     };
     "@serverless/core-1.1.2" = {
@@ -4738,13 +4846,13 @@ let
         sha512 = "PY7gH+7aQ+MltcUD7SRDuQODJ9Sav9HhFJsgOiyf8IVo7XVD6FxZIsSnpMI6paSkptOB7n+0Jz03gNlEkKetQQ==";
       };
     };
-    "@serverless/enterprise-plugin-4.4.2" = {
+    "@serverless/enterprise-plugin-4.4.3" = {
       name = "_at_serverless_slash_enterprise-plugin";
       packageName = "@serverless/enterprise-plugin";
-      version = "4.4.2";
+      version = "4.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/enterprise-plugin/-/enterprise-plugin-4.4.2.tgz";
-        sha512 = "w5xD8R8tFK6B7QiLvWI5jqVHTtH1LdTyGp5eRcjkdJBa10/D2IZFpJimMAGsBxk9U1JGKO4j0miVnRHIW8ppeg==";
+        url = "https://registry.npmjs.org/@serverless/enterprise-plugin/-/enterprise-plugin-4.4.3.tgz";
+        sha512 = "2HKtgzv4c9yr9dyecbTJlSnYWaIJL4TQJ4YtVORzeBAm812r8PDK1XS9X8tvLlk2+DF2gu+Tb/Umnxl2rqhqZg==";
       };
     };
     "@serverless/event-mocks-1.1.1" = {
@@ -4756,22 +4864,31 @@ let
         sha512 = "YAV5V/y+XIOfd+HEVeXfPWZb8C6QLruFk9tBivoX2roQLWVq145s4uxf8D0QioCueuRzkukHUS4JIj+KVoS34A==";
       };
     };
-    "@serverless/platform-client-3.9.1" = {
+    "@serverless/platform-client-3.11.1" = {
       name = "_at_serverless_slash_platform-client";
       packageName = "@serverless/platform-client";
-      version = "3.9.1";
+      version = "3.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@serverless/platform-client/-/platform-client-3.11.1.tgz";
+        sha512 = "f5bo8P5+xAxsnOCUnyEyAmiGTs9sTG8v8t5dTDAdCqSxEEJyl3/Ro5djeW5L2MHzw1XnIMxxrtG38m7rNQSFFg==";
+      };
+    };
+    "@serverless/platform-client-4.2.0" = {
+      name = "_at_serverless_slash_platform-client";
+      packageName = "@serverless/platform-client";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/platform-client/-/platform-client-3.9.1.tgz";
-        sha512 = "Sn2sQldciCWdIpiJ6MEmCQLQk/wFD0pqK9XBuqKk/9RfcFwjsFMJVX9W4q2cybZxZ0MIkQVOfNXCoB5OM6riSQ==";
+        url = "https://registry.npmjs.org/@serverless/platform-client/-/platform-client-4.2.0.tgz";
+        sha512 = "92/Mc09zQbJAw917KhJk0kM76Jpf3njoSevHEu9ASYx7OSjTbZw9B5VdOe4Z2m+4NvUwK0mWBNpSmCvd5uwOhg==";
       };
     };
-    "@serverless/platform-client-china-2.1.3" = {
+    "@serverless/platform-client-china-2.1.4" = {
       name = "_at_serverless_slash_platform-client-china";
       packageName = "@serverless/platform-client-china";
-      version = "2.1.3";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/platform-client-china/-/platform-client-china-2.1.3.tgz";
-        sha512 = "JZpwKZh4sOsKbYsRyp5UvkwWgcqgrzz/URqnjPXaw8WyaAL6ulSH5RE2vre7uyZ/jpA4XM13nT86KXmuo6gkUg==";
+        url = "https://registry.npmjs.org/@serverless/platform-client-china/-/platform-client-china-2.1.4.tgz";
+        sha512 = "jX+MoKgX7wkdg2lGUlUhbQNZLZkONs5jZa8edT+nDC8s9B1C5u5NO4mMuAy0ZigBQcfw/VVv2KvB06ntuw/QBA==";
       };
     };
     "@serverless/platform-sdk-2.3.2" = {
@@ -4801,22 +4918,13 @@ let
         sha512 = "aI/cpGVUhWbJUR8QDMtPue28EU4ViG/L4/XKuZDfAN2uNQv3NRjwEFIBi/cxyfQnMTYVtMLe9wDjuwzOT4ENzA==";
       };
     };
-    "@serverless/utils-2.2.0" = {
+    "@serverless/utils-3.1.0" = {
       name = "_at_serverless_slash_utils";
       packageName = "@serverless/utils";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/utils/-/utils-2.2.0.tgz";
-        sha512 = "0TqmLwH9r2GAewvz9mhZ+TSyQBoE9ANuB4nNhn6lJvVUgzlzji3aqeFbAuDt+Z60ZkaIDNipU/J5Vf2Lo/QTQQ==";
-      };
-    };
-    "@serverless/utils-3.0.0" = {
-      name = "_at_serverless_slash_utils";
-      packageName = "@serverless/utils";
-      version = "3.0.0";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/utils/-/utils-3.0.0.tgz";
-        sha512 = "vY4oSLyANF+eMs24H+NGSrKxR5V/2n5l/PBL+J42uUfbcxjSHKx3bIzeKXSsaPkfvMHB6zD7tlkmgoCmkqPLUA==";
+        url = "https://registry.npmjs.org/@serverless/utils/-/utils-3.1.0.tgz";
+        sha512 = "HhmnTtfGt4gKCNGHg0q9pioltChh+dWbdA7y1aP7vNqjwpZ/pUDAqJf/M3GFozTnhlFpwCY9Ik1tOpDkgP3oiA==";
       };
     };
     "@serverless/utils-china-1.0.14" = {
@@ -4891,13 +4999,13 @@ let
         sha512 = "QSdIQ5keUFAZ3KLbfbsntW39ox0Ym8183RqTwBq/ZEFoN3NQAtGV+qWaNdzKpIDHgj9J2CQ2iNDRVU11Zyr7MQ==";
       };
     };
-    "@skorfmann/terraform-cloud-1.7.1" = {
+    "@skorfmann/terraform-cloud-1.9.1" = {
       name = "_at_skorfmann_slash_terraform-cloud";
       packageName = "@skorfmann/terraform-cloud";
-      version = "1.7.1";
+      version = "1.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@skorfmann/terraform-cloud/-/terraform-cloud-1.7.1.tgz";
-        sha512 = "uwcalR9R5/9M+UcOeKR+XgCyIlipl5dxiAryuWT8D4erW6sPnTE/B97G6F3VzzrZfcaPmljX5NVG8Dkl79ki6A==";
+        url = "https://registry.npmjs.org/@skorfmann/terraform-cloud/-/terraform-cloud-1.9.1.tgz";
+        sha512 = "R28bedoGjAmDiEYHu2cmeVd3R6vxq6anQQlGCpdjk5oqnSiROFFm8dzywvMon4/9C+CErhgY7fr76NVErS/U2w==";
       };
     };
     "@slack/client-3.16.0" = {
@@ -4918,22 +5026,13 @@ let
         sha512 = "T3xfDqrEFKclHGdJx4/5+D5F7e76/99f33guE4RTlVITBhy7VVnjz4t/NDr3UYqcC0MgAmiC4bSVYHnlshuwJw==";
       };
     };
-    "@snyk/cli-interface-2.9.1" = {
-      name = "_at_snyk_slash_cli-interface";
-      packageName = "@snyk/cli-interface";
-      version = "2.9.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/cli-interface/-/cli-interface-2.9.1.tgz";
-        sha512 = "2zHRvEt4S0DO+hPRX3hp5ssELouJqgb/JUTmPDMr/32r//qooSTxojwSvAK2A6VYgYOHuo1S3VTpsSP/ywkPXA==";
-      };
-    };
-    "@snyk/cocoapods-lockfile-parser-3.5.2" = {
+    "@snyk/cocoapods-lockfile-parser-3.6.2" = {
       name = "_at_snyk_slash_cocoapods-lockfile-parser";
       packageName = "@snyk/cocoapods-lockfile-parser";
-      version = "3.5.2";
+      version = "3.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/cocoapods-lockfile-parser/-/cocoapods-lockfile-parser-3.5.2.tgz";
-        sha512 = "fIiUNCmhDp7lVKTs/nHCnLK1roMkG15HhuQhtZXxiFW3EZ5H9IqMdtrxqjXuzVWt7X2h7lbF5OMBzD07NODtug==";
+        url = "https://registry.npmjs.org/@snyk/cocoapods-lockfile-parser/-/cocoapods-lockfile-parser-3.6.2.tgz";
+        sha512 = "ca2JKOnSRzYHJkhOB9gYmdRZHmd02b/uBd/S0D5W+L9nIMS7sUBV5jfhKwVgrYPIpVNIc0XCI9rxK4TfkQRpiA==";
       };
     };
     "@snyk/composer-lockfile-parser-1.4.1" = {
@@ -4945,31 +5044,13 @@ let
         sha512 = "wNANv235j95NFsQuODIXCiQZ9kcyg9fz92Kg1zoGvaP3kN/ma7fgCnvQL/dyml6iouQJR5aZovjhrrfEFoKtiQ==";
       };
     };
-    "@snyk/dep-graph-1.19.4" = {
-      name = "_at_snyk_slash_dep-graph";
-      packageName = "@snyk/dep-graph";
-      version = "1.19.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.19.4.tgz";
-        sha512 = "h3MMhjVm3BuIruwpDBqnMowKOG9viwr3TJHdIxTHulWKWSsPTTW1AAP3/RaK+UBp1y/Ua9yzeHncKIrzBdT5Nw==";
-      };
-    };
-    "@snyk/dep-graph-1.21.0" = {
-      name = "_at_snyk_slash_dep-graph";
-      packageName = "@snyk/dep-graph";
-      version = "1.21.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.21.0.tgz";
-        sha512 = "+xwiU1zw+Z1V6RaIL7oWUqZo8jDIpoKfzvv8xGiq0hYxsiP9tGSUNuFXwQzAFEP60kJyD2a/nptdRPjsKD0jPw==";
-      };
-    };
-    "@snyk/dep-graph-1.23.0" = {
+    "@snyk/dep-graph-1.23.1" = {
       name = "_at_snyk_slash_dep-graph";
       packageName = "@snyk/dep-graph";
-      version = "1.23.0";
+      version = "1.23.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.23.0.tgz";
-        sha512 = "qR0ENrbcNWHYmSRZCxjrlFy2T7i+rJjL6Rnd2e+NByJgn8zBmX6Qf5FjqNbZAI0AYjOlzXMZjGrbAbe4QkWV+w==";
+        url = "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.23.1.tgz";
+        sha512 = "bSlTRVJP0PHtvoilhE463AMt0fhsf9PxCEqJ28VHCVSe5QFzIlgGdljtytV+2DheadGwu27BgLGqPDGMdTBHRQ==";
       };
     };
     "@snyk/docker-registry-v2-client-1.13.9" = {
@@ -4990,22 +5071,40 @@ let
         sha512 = "nI7ELxukf7pT4/VraL4iabtNNMz8mUo7EXlqCFld8O5z6mIMLX9llps24iPpaIZOwArkY3FWA+4t+ixyvtTSIA==";
       };
     };
-    "@snyk/java-call-graph-builder-1.17.0" = {
+    "@snyk/graphlib-2.1.9-patch.3" = {
+      name = "_at_snyk_slash_graphlib";
+      packageName = "@snyk/graphlib";
+      version = "2.1.9-patch.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@snyk/graphlib/-/graphlib-2.1.9-patch.3.tgz";
+        sha512 = "bBY9b9ulfLj0v2Eer0yFYa3syVeIxVKl2EpxSrsVeT4mjA0CltZyHsF0JjoaGXP27nItTdJS5uVsj1NA+3aE+Q==";
+      };
+    };
+    "@snyk/inquirer-7.3.3-patch" = {
+      name = "_at_snyk_slash_inquirer";
+      packageName = "@snyk/inquirer";
+      version = "7.3.3-patch";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@snyk/inquirer/-/inquirer-7.3.3-patch.tgz";
+        sha512 = "aWiQSOacH2lOpJ1ard9ErABcH4tdJogdr+mg1U67iZJOPO9n2gFgAwz1TQJDyPkv4/A5mh4hT2rg03Uq+KBn2Q==";
+      };
+    };
+    "@snyk/java-call-graph-builder-1.19.1" = {
       name = "_at_snyk_slash_java-call-graph-builder";
       packageName = "@snyk/java-call-graph-builder";
-      version = "1.17.0";
+      version = "1.19.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/java-call-graph-builder/-/java-call-graph-builder-1.17.0.tgz";
-        sha512 = "uO1b6UtT6QGz7F5ZgNdOSyMXBvykUhOcuHBRc//xUnBWsyJwdlAFp/d646zIeaBCe87Fcn5hXuWUGjj+N8rBzA==";
+        url = "https://registry.npmjs.org/@snyk/java-call-graph-builder/-/java-call-graph-builder-1.19.1.tgz";
+        sha512 = "bxjHef5Qm3pNc+BrFlxMudmSSbOjA395ZqBddc+dvsFHoHeyNbiY56Y1JSGUlTgjRM+PKNPBiCuELTSMaROeZg==";
       };
     };
-    "@snyk/java-call-graph-builder-1.19.0" = {
+    "@snyk/java-call-graph-builder-1.20.0" = {
       name = "_at_snyk_slash_java-call-graph-builder";
       packageName = "@snyk/java-call-graph-builder";
-      version = "1.19.0";
+      version = "1.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/java-call-graph-builder/-/java-call-graph-builder-1.19.0.tgz";
-        sha512 = "in26UkFVEWvGyHmSmVUebvgyubANJB7rfrkE3PKjHDA80NwSLZDSNWOOC2lF2B+4ob4STWjQdMbv+bMqXl5Yew==";
+        url = "https://registry.npmjs.org/@snyk/java-call-graph-builder/-/java-call-graph-builder-1.20.0.tgz";
+        sha512 = "NX8bpIu7oG5cuSSm6WvtxqcCuJs2gRjtKhtuSeF1p5TYXyESs3FXQ0nHjfY90LiyTTc+PW/UBq6SKbBA6bCBww==";
       };
     };
     "@snyk/rpm-parser-2.2.1" = {
@@ -5017,13 +5116,13 @@ let
         sha512 = "OAON0bPf3c5fgM/GK9DX0aZErB6SnuRyYlPH0rqI1TXGsKrYnVELhaE6ctNbEfPTQuY9r6q0vM+UYDaFM/YliA==";
       };
     };
-    "@snyk/snyk-cocoapods-plugin-2.5.1" = {
+    "@snyk/snyk-cocoapods-plugin-2.5.2" = {
       name = "_at_snyk_slash_snyk-cocoapods-plugin";
       packageName = "@snyk/snyk-cocoapods-plugin";
-      version = "2.5.1";
+      version = "2.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/snyk-cocoapods-plugin/-/snyk-cocoapods-plugin-2.5.1.tgz";
-        sha512 = "A+1xHD+SpmXQa0p+dWmiApFZtz/y37qAW9aWmFx2B1j7fwRBf9Qr89/6RbJOznf1a4nEitjzE3fa98yNZk/MNg==";
+        url = "https://registry.npmjs.org/@snyk/snyk-cocoapods-plugin/-/snyk-cocoapods-plugin-2.5.2.tgz";
+        sha512 = "WHhnwyoGOhjFOjBXqUfszD84SErrtjHjium/4xFbqKpEE+yuwxs8OwV/S29BtxhYiGtjpD1azv5QtH30VUMl0A==";
       };
     };
     "@snyk/snyk-docker-pull-3.2.3" = {
@@ -5179,130 +5278,130 @@ let
         sha512 = "2QBwlqi2SU83vTHibfdTxGiLdIqR0btNyMGfVl0bwA6FI85HnSYoGFLrdCnq2V0nxpbhuvwzcm2Ja81w0VkMGA==";
       };
     };
-    "@textlint/ast-tester-2.3.1" = {
+    "@textlint/ast-tester-2.3.2" = {
       name = "_at_textlint_slash_ast-tester";
       packageName = "@textlint/ast-tester";
-      version = "2.3.1";
+      version = "2.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-2.3.1.tgz";
-        sha512 = "L9M2VNTYJ5sVdkPs9jH7s01Gg900Nuk7m9zQmCz9WFa3YyzJFEd7GCSmAvLMgX31jw5bbvvmj7DngymlP+PahQ==";
+        url = "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-2.3.2.tgz";
+        sha512 = "4e1kyqsHks5POcQmuh7ITVrU/dbYyRUfQarQbeVRPP271n2HnlgnoYyZ10yV2Sb/Ksw+lQf7DPSnwNewXdCWww==";
       };
     };
-    "@textlint/ast-traverse-2.3.1" = {
+    "@textlint/ast-traverse-2.3.2" = {
       name = "_at_textlint_slash_ast-traverse";
       packageName = "@textlint/ast-traverse";
-      version = "2.3.1";
+      version = "2.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-2.3.1.tgz";
-        sha512 = "uOFKqm3M9by55Zl2ryZ7jOSiLdLhDmVgX0IG/MJfGKY1a/MSyt5qwy9cvZNcob6hNCPeRMW8boAH2uRJOwRcoQ==";
+        url = "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-2.3.2.tgz";
+        sha512 = "Dt1s/6x0XWhUNFH2rAa9gL6ODtq232BZuBHuHiOg+SrVwzl+VjOfa3fMQ0LoYixGSyDtwqAlksWcC0KyLz0eSw==";
       };
     };
-    "@textlint/feature-flag-3.3.1" = {
+    "@textlint/feature-flag-3.3.2" = {
       name = "_at_textlint_slash_feature-flag";
       packageName = "@textlint/feature-flag";
-      version = "3.3.1";
+      version = "3.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-3.3.1.tgz";
-        sha512 = "0a1UopFf30UrmEDKFNATXlotMqwbLGjJa1GTuljL/AKn2Adz7rPawclW4pHf/b//K7Da5GOtuzbIfVAZSFQRxA==";
+        url = "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-3.3.2.tgz";
+        sha512 = "7ErQ/UF0IBAd+PkQNBD7yYCDqL2o6leErMDENSWAgUHWLy5TcHr3Orn7qswtBMW5gIyXW9lh+EpllwLJ5qv35w==";
       };
     };
-    "@textlint/fixer-formatter-3.3.1" = {
+    "@textlint/fixer-formatter-3.3.2" = {
       name = "_at_textlint_slash_fixer-formatter";
       packageName = "@textlint/fixer-formatter";
-      version = "3.3.1";
+      version = "3.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-3.3.1.tgz";
-        sha512 = "ZPK66J61lv8UMdqJeG4YUPfKPlCom/jiv8kZkz5ELnLA587HLOlEIYLaNjKop0viW5z3Fz9cZd5glIHrPymiqQ==";
+        url = "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-3.3.2.tgz";
+        sha512 = "aTEyH/rHSzxRLrluSjNhDnMSgIYK60J5AAgprKJCkb9h3dDRuNoiJ+BXh5FXVSSm1tGF0d8pu+Ph8OFBgQOchQ==";
       };
     };
-    "@textlint/kernel-3.4.1" = {
+    "@textlint/kernel-3.4.2" = {
       name = "_at_textlint_slash_kernel";
       packageName = "@textlint/kernel";
-      version = "3.4.1";
+      version = "3.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/kernel/-/kernel-3.4.1.tgz";
-        sha512 = "8ZpiLy5KgmIMjda7RNgbNzoHpDnF51OC0rmMBTUl5xFMrpOcmnKZ6qcnmP7hlyR1MQJxQVzG0PvWnLHFUZL53w==";
+        url = "https://registry.npmjs.org/@textlint/kernel/-/kernel-3.4.2.tgz";
+        sha512 = "PpxAtvLGI9ewn+Dbt4j0KMfmMM39/AY3cikmZffu59nyTdIymXMeVMEVkpVZTEUk5OlL27RAON9FF+2u+0fshg==";
       };
     };
-    "@textlint/linter-formatter-3.3.1" = {
+    "@textlint/linter-formatter-3.3.2" = {
       name = "_at_textlint_slash_linter-formatter";
       packageName = "@textlint/linter-formatter";
-      version = "3.3.1";
+      version = "3.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-3.3.1.tgz";
-        sha512 = "tBtOSfpZWr3AwIJ1vbBSD+fwB4JSEtCQIE+AgfFqO8eDMOssjxKgVtIPX9dwh3/+6vlc6KozBJjIfXoxLuaWlg==";
+        url = "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-3.3.2.tgz";
+        sha512 = "MRa8D1/x6pWycKTwb1QLjtY7GyjgcsYRfV0Gu0Aze5szCa3UDwZSewHycpcAGlIqr8AkqPRfyXi653M47eJ0rA==";
       };
     };
-    "@textlint/markdown-to-ast-6.3.1" = {
+    "@textlint/markdown-to-ast-6.3.2" = {
       name = "_at_textlint_slash_markdown-to-ast";
       packageName = "@textlint/markdown-to-ast";
-      version = "6.3.1";
+      version = "6.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-6.3.1.tgz";
-        sha512 = "piqeTN6dzMr7ljlo7GbRBILMcZ8zW2H9raN48qH+HYhfrGZfEOmL5HAMMeF8h0sDz9CzTvZixEwGWLMdlwsb+A==";
+        url = "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-6.3.2.tgz";
+        sha512 = "uwndF3PRJ48wTVAEDSy0IAEVJg/scxpdZ1r+QKeGuFfdtaGSrtcgROI6qiVU1g/WNyNfQw+DAA7F8HfM+pmleg==";
       };
     };
-    "@textlint/module-interop-1.2.1" = {
+    "@textlint/module-interop-1.2.2" = {
       name = "_at_textlint_slash_module-interop";
       packageName = "@textlint/module-interop";
-      version = "1.2.1";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-1.2.1.tgz";
-        sha512 = "ZvxTTvEm7nmkRctWKREfvNvnVtRxRbdUms8cqkiYbP2K0fRIMacrWpL8z8cdkkdNZbaYciaUnyE3be7UD4J8EA==";
+        url = "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-1.2.2.tgz";
+        sha512 = "B8HPS129lOqzEpRcafYl/OJ2TDxfBw1jGfEhebzwt3kGoMd5pQVih+hUIOl+SfAmLWqCDEniaKn0gw1s+hjSXA==";
       };
     };
-    "@textlint/source-code-fixer-3.4.1" = {
+    "@textlint/source-code-fixer-3.4.2" = {
       name = "_at_textlint_slash_source-code-fixer";
       packageName = "@textlint/source-code-fixer";
-      version = "3.4.1";
+      version = "3.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-3.4.1.tgz";
-        sha512 = "FqL+xdjIU2hswS4Cmhf/bL7SWTpXkKoK/wb8Lmo9sNmEE481fc5Ey/s8JgxAaOHRpwOcmErGd16c3gXcG6Y2ow==";
+        url = "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-3.4.2.tgz";
+        sha512 = "mSGQNO8is21KcHgDh4S8Cx88r7uU+7xpzHLuEuzhgEZfgwz3+tnpk22TrEjNYe1V1+aseU9iCQegVQQr1wroKQ==";
       };
     };
-    "@textlint/text-to-ast-3.3.1" = {
+    "@textlint/text-to-ast-3.3.2" = {
       name = "_at_textlint_slash_text-to-ast";
       packageName = "@textlint/text-to-ast";
-      version = "3.3.1";
+      version = "3.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-3.3.1.tgz";
-        sha512 = "aN1IY3u98Wig2PTF/eEJdb7XfCH5VEwZagGdG1vajx6sdc7Sc3265UVv9uEB/ypJDteYnURRICfTd6NCGwkVGA==";
+        url = "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-3.3.2.tgz";
+        sha512 = "+DKAP62ho21KID8IcKy1kP6K+kUZk+Z0MwvS9u2l39J0cK+vX523KI+sA6AXxEhOMDA8zhdIsBf3onGvrAtyhA==";
       };
     };
-    "@textlint/textlint-plugin-markdown-5.3.1" = {
+    "@textlint/textlint-plugin-markdown-5.3.2" = {
       name = "_at_textlint_slash_textlint-plugin-markdown";
       packageName = "@textlint/textlint-plugin-markdown";
-      version = "5.3.1";
+      version = "5.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-5.3.1.tgz";
-        sha512 = "IhQVGW9YqylkuZ4AjOfLFtOWHPXtLMhWTVfvIFzMQ2TIpquIaybws8KiFN2yZzLBNNduF+PFvm+H2NRhR0w/lQ==";
+        url = "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-5.3.2.tgz";
+        sha512 = "6Ph7ESKR48tEz5Pnog3PpvF84LU3jkADvr4iBkkVz9vLQt3KbqGnmk8EV94Y0hLEX+UrZKWmH3cJfh6O1Zy/eA==";
       };
     };
-    "@textlint/textlint-plugin-text-4.3.1" = {
+    "@textlint/textlint-plugin-text-4.3.2" = {
       name = "_at_textlint_slash_textlint-plugin-text";
       packageName = "@textlint/textlint-plugin-text";
-      version = "4.3.1";
+      version = "4.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-4.3.1.tgz";
-        sha512 = "IqtO6TWOfVaw8sXMdVVwsvEYuqYk13ApKXBVjjJoLux0g+6G1rCEhFSZtopkrpC1Srr/OZCfb4nk8/zx+5M6Ng==";
+        url = "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-4.3.2.tgz";
+        sha512 = "xnjad0bXaM6ZtgffuFKogHYkzXymUK3VTLP5MGA00kLitADlNUtwXQk82TebkXFcSPRhePU9+2XFipXNQDsg7g==";
       };
     };
-    "@textlint/types-1.5.1" = {
+    "@textlint/types-1.5.2" = {
       name = "_at_textlint_slash_types";
       packageName = "@textlint/types";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/types/-/types-1.5.1.tgz";
-        sha512 = "YgPmxEeFUXuCjWOFx4p0afxFCHJbTf9Muw/6SJDLd/txQ6YrStst3Kvw+6QGefdJe44/UdiUYtI8sYa5T1ejaQ==";
+        url = "https://registry.npmjs.org/@textlint/types/-/types-1.5.2.tgz";
+        sha512 = "IdS0h2MCzdY+wjM0+qvl8IW/IxhmVFAVrGu5TmIBpJkihIV7WMa3ITFXIVb0oqwnePUmyLBRIVsCtC66E3QbfQ==";
       };
     };
-    "@textlint/utils-1.2.1" = {
+    "@textlint/utils-1.2.2" = {
       name = "_at_textlint_slash_utils";
       packageName = "@textlint/utils";
-      version = "1.2.1";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/utils/-/utils-1.2.1.tgz";
-        sha512 = "X/rLpqskTLWDPO5cvQO5CcA7zNnDimeBokwehiDwTg6aP9LYqFeOw5mKZ5lb4purY9zN9tLRxJGLle4Py1QobQ==";
+        url = "https://registry.npmjs.org/@textlint/utils/-/utils-1.2.2.tgz";
+        sha512 = "7Mqcl9G9YYrPBv5d/tZ2NlWC66hTUpQEQxZEHDMTdF3gPmQUSNRNGjqUR9mhw00Wy8Wo6i3LUWuxwMT6heHNBQ==";
       };
     };
     "@tokenizer/token-0.1.1" = {
@@ -5323,6 +5422,15 @@ let
         sha512 = "RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==";
       };
     };
+    "@trysound/sax-0.1.1" = {
+      name = "_at_trysound_slash_sax";
+      packageName = "@trysound/sax";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@trysound/sax/-/sax-0.1.1.tgz";
+        sha512 = "Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow==";
+      };
+    };
     "@types/accepts-1.3.5" = {
       name = "_at_types_slash_accepts";
       packageName = "@types/accepts";
@@ -5467,15 +5575,6 @@ let
         sha512 = "bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==";
       };
     };
-    "@types/configstore-2.1.1" = {
-      name = "_at_types_slash_configstore";
-      packageName = "@types/configstore";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/configstore/-/configstore-2.1.1.tgz";
-        sha1 = "cd1e8553633ad3185c3f2f239ecff5d2643e92b6";
-      };
-    };
     "@types/connect-3.4.34" = {
       name = "_at_types_slash_connect";
       packageName = "@types/connect";
@@ -5521,31 +5620,22 @@ let
         sha512 = "FK4U5Qyn7/Sc5ih233OuHO0qAkOpEcD/eG6584yEiLKizTFRny86qHLe/rej3HFQrkBuUjF4whFliAdODbVN/w==";
       };
     };
-    "@types/cors-2.8.8" = {
+    "@types/cors-2.8.10" = {
       name = "_at_types_slash_cors";
       packageName = "@types/cors";
-      version = "2.8.8";
+      version = "2.8.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/cors/-/cors-2.8.8.tgz";
-        sha512 = "fO3gf3DxU2Trcbr75O7obVndW/X5k8rJNZkLXlQWStTHhP71PkRqjwPIEI0yMnJdg9R9OasjU+Bsr+Hr1xy/0w==";
+        url = "https://registry.npmjs.org/@types/cors/-/cors-2.8.10.tgz";
+        sha512 = "C7srjHiVG3Ey1nR6d511dtDkCEjxuN9W1HWAEjGq8kpcwmNM6JJkpC0xvabM7BXTG2wDq8Eu33iH9aQKa7IvLQ==";
       };
     };
-    "@types/cors-2.8.9" = {
+    "@types/cors-2.8.8" = {
       name = "_at_types_slash_cors";
       packageName = "@types/cors";
-      version = "2.8.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/cors/-/cors-2.8.9.tgz";
-        sha512 = "zurD1ibz21BRlAOIKP8yhrxlqKx6L9VCwkB5kMiP6nZAhoF5MvC7qS1qPA7nRcr1GJolfkQC7/EAL4hdYejLtg==";
-      };
-    };
-    "@types/debug-0.0.30" = {
-      name = "_at_types_slash_debug";
-      packageName = "@types/debug";
-      version = "0.0.30";
+      version = "2.8.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/debug/-/debug-0.0.30.tgz";
-        sha512 = "orGL5LXERPYsLov6CWs3Fh6203+dXzJkR7OnddIr2514Hsecwc8xRpzCapshBbKFImCsvS/mk6+FWiN5LyZJAQ==";
+        url = "https://registry.npmjs.org/@types/cors/-/cors-2.8.8.tgz";
+        sha512 = "fO3gf3DxU2Trcbr75O7obVndW/X5k8rJNZkLXlQWStTHhP71PkRqjwPIEI0yMnJdg9R9OasjU+Bsr+Hr1xy/0w==";
       };
     };
     "@types/debug-4.1.5" = {
@@ -5656,15 +5746,6 @@ let
         sha512 = "laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==";
       };
     };
-    "@types/events-3.0.0" = {
-      name = "_at_types_slash_events";
-      packageName = "@types/events";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz";
-        sha512 = "EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==";
-      };
-    };
     "@types/express-4.17.7" = {
       name = "_at_types_slash_express";
       packageName = "@types/express";
@@ -5683,15 +5764,6 @@ let
         sha512 = "wLhcKh3PMlyA2cNAB9sjM1BntnhPMiM0JOBwPBqttjHev2428MLEB4AYVN+d8s2iyCVZac+o41Pflm/ZH5vLXQ==";
       };
     };
-    "@types/express-serve-static-core-4.17.17" = {
-      name = "_at_types_slash_express-serve-static-core";
-      packageName = "@types/express-serve-static-core";
-      version = "4.17.17";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.17.tgz";
-        sha512 = "YYlVaCni5dnHc+bLZfY908IG1+x5xuibKZMGv8srKkvtul3wUuanYvpIj9GXXoWkQbaAdR+kgX46IETKUALWNQ==";
-      };
-    };
     "@types/express-serve-static-core-4.17.18" = {
       name = "_at_types_slash_express-serve-static-core";
       packageName = "@types/express-serve-static-core";
@@ -5728,24 +5800,6 @@ let
         sha512 = "FKVPOCFbhCvZxpVAMhdBdTfVfXUpsh15wFHgqOKxh9N9vzWZVuWCSijZ5T4U34XYNnuj2oduh6xcs1i+LPI+BQ==";
       };
     };
-    "@types/get-port-3.2.0" = {
-      name = "_at_types_slash_get-port";
-      packageName = "@types/get-port";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/get-port/-/get-port-3.2.0.tgz";
-        sha512 = "TiNg8R1kjDde5Pub9F9vCwZA/BNW9HeXP5b9j7Qucqncy/McfPZ6xze/EyBdXS5FhMIGN6Fx3vg75l5KHy3V1Q==";
-      };
-    };
-    "@types/glob-5.0.36" = {
-      name = "_at_types_slash_glob";
-      packageName = "@types/glob";
-      version = "5.0.36";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/glob/-/glob-5.0.36.tgz";
-        sha512 = "KEzSKuP2+3oOjYYjujue6Z3Yqis5HKA1BsIC+jZ1v3lrRNdsqyNNtX0rQf6LSuI4DJJ2z5UV//zBZCcvM0xikg==";
-      };
-    };
     "@types/glob-7.1.3" = {
       name = "_at_types_slash_glob";
       packageName = "@types/glob";
@@ -5764,13 +5818,13 @@ let
         sha512 = "AaXSrIF99SjjtPVNmCmYb388HML+PKEJb/xmj4SbL2ZO0hHuETZZzyDIKfOqaEoAHZEuX4sC+FRFrHYJoIby6A==";
       };
     };
-    "@types/graceful-fs-4.1.4" = {
+    "@types/graceful-fs-4.1.5" = {
       name = "_at_types_slash_graceful-fs";
       packageName = "@types/graceful-fs";
-      version = "4.1.4";
+      version = "4.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.4.tgz";
-        sha512 = "mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg==";
+        url = "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz";
+        sha512 = "anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==";
       };
     };
     "@types/graphlib-2.1.7" = {
@@ -5782,15 +5836,6 @@ let
         sha512 = "K7T1n6U2HbTYu+SFHlBjz/RH74OA2D/zF1qlzn8uXbvB4uRg7knOM85ugS2bbXI1TXMh7rLqk4OVRwIwEBaixg==";
       };
     };
-    "@types/graphql-upload-8.0.4" = {
-      name = "_at_types_slash_graphql-upload";
-      packageName = "@types/graphql-upload";
-      version = "8.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/graphql-upload/-/graphql-upload-8.0.4.tgz";
-        sha512 = "0TRyJD2o8vbkmJF8InppFcPVcXKk+Rvlg/xvpHBIndSJYpmDWfmtx/ZAtl4f3jR2vfarpTqYgj8MZuJssSoU7Q==";
-      };
-    };
     "@types/hast-2.3.1" = {
       name = "_at_types_slash_hast";
       packageName = "@types/hast";
@@ -5980,13 +6025,13 @@ let
         sha512 = "MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw==";
       };
     };
-    "@types/koa-2.11.6" = {
+    "@types/koa-2.13.0" = {
       name = "_at_types_slash_koa";
       packageName = "@types/koa";
-      version = "2.11.6";
+      version = "2.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/koa/-/koa-2.11.6.tgz";
-        sha512 = "BhyrMj06eQkk04C97fovEDQMpLpd2IxCB4ecitaXwOKGq78Wi2tooaDOWOFGajPk8IkQOAtMppApgSVkYe1F/A==";
+        url = "https://registry.npmjs.org/@types/koa/-/koa-2.13.0.tgz";
+        sha512 = "hNs1Z2lX+R5sZroIy/WIGbPlH/719s/Nd5uIjSIAdHn9q+g7z6mxOnhwMjK1urE4/NUP0SOoYUOD4MnvD9FRNw==";
       };
     };
     "@types/koa-compose-3.2.5" = {
@@ -6115,13 +6160,13 @@ let
         sha512 = "ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==";
       };
     };
-    "@types/mocha-8.2.0" = {
+    "@types/mocha-8.2.1" = {
       name = "_at_types_slash_mocha";
       packageName = "@types/mocha";
-      version = "8.2.0";
+      version = "8.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.0.tgz";
-        sha512 = "/Sge3BymXo4lKc31C8OINJgXLaw+7vL1/L1pGiBNpGrBiT8FQiaFpSYV0uhTaG4y78vcMBTMFsWaHDvuD+xGzQ==";
+        url = "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.1.tgz";
+        sha512 = "NysN+bNqj6E0Hv4CTGWSlPzMW6vTKjDpOteycDkV4IWBsO+PU48JonrPzV9ODjiI2XrjmA05KInLgF5ivZ/YGQ==";
       };
     };
     "@types/multer-1.4.4" = {
@@ -6151,13 +6196,13 @@ let
         sha512 = "fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==";
       };
     };
-    "@types/node-10.17.51" = {
+    "@types/node-10.17.54" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "10.17.51";
+      version = "10.17.54";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-10.17.51.tgz";
-        sha512 = "KANw+MkL626tq90l++hGelbl67irOJzGhUJk6a1Bt8QHOeh9tztJx+L0AqttraWKinmZn7Qi5lJZJzx45Gq0dg==";
+        url = "https://registry.npmjs.org/@types/node/-/node-10.17.54.tgz";
+        sha512 = "c8Lm7+hXdSPmWH4B9z/P/xIXhFK3mCQin4yCYMd2p1qpMG5AfgyJuYZ+3q2dT7qLiMMMGMd5dnkFpdqJARlvtQ==";
       };
     };
     "@types/node-12.12.70" = {
@@ -6169,22 +6214,13 @@ let
         sha512 = "i5y7HTbvhonZQE+GnUM2rz1Bi8QkzxdQmEv1LKOv4nWyaQk/gdeiTApuQR3PDJHX7WomAbpx2wlWSEpxXGZ/UQ==";
       };
     };
-    "@types/node-12.19.15" = {
+    "@types/node-13.13.45" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "12.19.15";
+      version = "13.13.45";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.19.15.tgz";
-        sha512 = "lowukE3GUI+VSYSu6VcBXl14d61Rp5hA1D+61r16qnwC0lYNSqdxcvRh0pswejorHfS+HgwBasM8jLXz0/aOsw==";
-      };
-    };
-    "@types/node-13.13.40" = {
-      name = "_at_types_slash_node";
-      packageName = "@types/node";
-      version = "13.13.40";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-13.13.40.tgz";
-        sha512 = "eKaRo87lu1yAXrzEJl0zcJxfUMDT5/mZalFyOkT44rnQps41eS2pfWzbaulSPpQLFNy29bFqn+Y5lOTL8ATlEQ==";
+        url = "https://registry.npmjs.org/@types/node/-/node-13.13.45.tgz";
+        sha512 = "703YTEp8AwQeapI0PTXDOj+Bs/mtdV/k9VcTP7z/de+lx6XjFMKdB+JhKnK+6PZ5za7omgZ3V6qm/dNkMj/Zow==";
       };
     };
     "@types/node-14.11.1" = {
@@ -6196,13 +6232,13 @@ let
         sha512 = "oTQgnd0hblfLsJ6BvJzzSL+Inogp3lq9fGgqRkMB/ziKMgEUaFl801OncOzUmalfzt14N0oPHMK47ipl+wbTIw==";
       };
     };
-    "@types/node-14.14.22" = {
+    "@types/node-14.14.31" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "14.14.22";
+      version = "14.14.31";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz";
-        sha512 = "g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-14.14.31.tgz";
+        sha512 = "vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g==";
       };
     };
     "@types/node-6.14.13" = {
@@ -6295,6 +6331,15 @@ let
         sha512 = "a+fLdul8OczRvPWPf8eTb6wPhxzyWQwRGhNN0ugtOtk6yFOG53i2LwXaA0d2D6bsJlWxi6eCuGZLGoCcdOlWZA==";
       };
     };
+    "@types/pug-2.0.4" = {
+      name = "_at_types_slash_pug";
+      packageName = "@types/pug";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/pug/-/pug-2.0.4.tgz";
+        sha1 = "8772fcd0418e3cd2cc171555d73007415051f4b2";
+      };
+    };
     "@types/q-1.5.4" = {
       name = "_at_types_slash_q";
       packageName = "@types/q";
@@ -6385,13 +6430,13 @@ let
         sha512 = "wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==";
       };
     };
-    "@types/rimraf-2.0.4" = {
-      name = "_at_types_slash_rimraf";
-      packageName = "@types/rimraf";
-      version = "2.0.4";
+    "@types/sass-1.16.0" = {
+      name = "_at_types_slash_sass";
+      packageName = "@types/sass";
+      version = "1.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/rimraf/-/rimraf-2.0.4.tgz";
-        sha512 = "8gBudvllD2A/c0CcEX/BivIDorHFt5UI5m46TsNj8DjWCCTTZT74kEe4g+QsY7P/B9WdO98d82zZgXO/RQzu2Q==";
+        url = "https://registry.npmjs.org/@types/sass/-/sass-1.16.0.tgz";
+        sha512 = "2XZovu4NwcqmtZtsBR5XYLw18T8cBCnU2USFHTnYLLHz9fkhnoEMoDsqShJIOFsFhn5aJHjweiUUdTrDGujegA==";
       };
     };
     "@types/semver-5.5.0" = {
@@ -6502,15 +6547,6 @@ let
         sha512 = "FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==";
       };
     };
-    "@types/tmp-0.0.33" = {
-      name = "_at_types_slash_tmp";
-      packageName = "@types/tmp";
-      version = "0.0.33";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/tmp/-/tmp-0.0.33.tgz";
-        sha1 = "1073c4bc824754ae3d10cfab88ab0237ba964e4d";
-      };
-    };
     "@types/tough-cookie-4.0.0" = {
       name = "_at_types_slash_tough-cookie";
       packageName = "@types/tough-cookie";
@@ -6520,13 +6556,13 @@ let
         sha512 = "I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A==";
       };
     };
-    "@types/uglify-js-3.11.1" = {
+    "@types/uglify-js-3.12.0" = {
       name = "_at_types_slash_uglify-js";
       packageName = "@types/uglify-js";
-      version = "3.11.1";
+      version = "3.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.1.tgz";
-        sha512 = "7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q==";
+        url = "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.12.0.tgz";
+        sha512 = "sYAF+CF9XZ5cvEBkI7RtrG9g2GtMBkviTnBxYYyq+8BWvO4QtXfwwR6a2LFwCi4evMKZfpv6U43ViYvv17Wz3Q==";
       };
     };
     "@types/unist-2.0.3" = {
@@ -6574,22 +6610,13 @@ let
         sha512 = "GpTIuDpb9u4zIO165fUy9+fXcULdD8HFRNli04GehoMVbeNq7D6OBnqSmg3lxZnC+UvgUhEWKxdKiwYUkGltIw==";
       };
     };
-    "@types/vscode-1.52.0" = {
+    "@types/vscode-1.53.0" = {
       name = "_at_types_slash_vscode";
       packageName = "@types/vscode";
-      version = "1.52.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/vscode/-/vscode-1.52.0.tgz";
-        sha512 = "Kt3bvWzAvvF/WH9YEcrCICDp0Z7aHhJGhLJ1BxeyNP6yRjonWqWnAIh35/pXAjswAnWOABrYlF7SwXR9+1nnLA==";
-      };
-    };
-    "@types/webpack-4.41.25" = {
-      name = "_at_types_slash_webpack";
-      packageName = "@types/webpack";
-      version = "4.41.25";
+      version = "1.53.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.25.tgz";
-        sha512 = "cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ==";
+        url = "https://registry.npmjs.org/@types/vscode/-/vscode-1.53.0.tgz";
+        sha512 = "XjFWbSPOM0EKIT2XhhYm3D3cx3nn3lshMUcWNy1eqefk+oqRuBq8unVb6BYIZqXy9lQZyeUl7eaBCOZWv+LcXQ==";
       };
     };
     "@types/webpack-4.41.26" = {
@@ -6637,13 +6664,13 @@ let
         sha512 = "NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ==";
       };
     };
-    "@types/yargs-15.0.12" = {
+    "@types/yargs-15.0.13" = {
       name = "_at_types_slash_yargs";
       packageName = "@types/yargs";
-      version = "15.0.12";
+      version = "15.0.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.12.tgz";
-        sha512 = "f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw==";
+        url = "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz";
+        sha512 = "kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==";
       };
     };
     "@types/yargs-parser-20.2.0" = {
@@ -6682,13 +6709,13 @@ let
         sha512 = "HrCIVMLjE1MOozVoD86622S7aunluLb2PJdPfb3nYiEtohm8mIB/vyv0Fd37AdeMFrTUQXEunw78YloMA3Qilg==";
       };
     };
-    "@typescript-eslint/eslint-plugin-4.14.1" = {
+    "@typescript-eslint/eslint-plugin-4.15.2" = {
       name = "_at_typescript-eslint_slash_eslint-plugin";
       packageName = "@typescript-eslint/eslint-plugin";
-      version = "4.14.1";
+      version = "4.15.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.1.tgz";
-        sha512 = "5JriGbYhtqMS1kRcZTQxndz1lKMwwEXKbwZbkUZNnp6MJX0+OVXnG0kOlBZP4LUAxEyzu3cs+EXd/97MJXsGfw==";
+        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.15.2.tgz";
+        sha512 = "uiQQeu9tWl3f1+oK0yoAv9lt/KXO24iafxgQTkIYO/kitruILGx3uH+QtIAHqxFV+yIsdnJH+alel9KuE3J15Q==";
       };
     };
     "@typescript-eslint/experimental-utils-3.10.1" = {
@@ -6700,13 +6727,13 @@ let
         sha512 = "DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==";
       };
     };
-    "@typescript-eslint/experimental-utils-4.14.1" = {
+    "@typescript-eslint/experimental-utils-4.15.2" = {
       name = "_at_typescript-eslint_slash_experimental-utils";
       packageName = "@typescript-eslint/experimental-utils";
-      version = "4.14.1";
+      version = "4.15.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.1.tgz";
-        sha512 = "2CuHWOJwvpw0LofbyG5gvYjEyoJeSvVH2PnfUQSn0KQr4v8Dql2pr43ohmx4fdPQ/eVoTSFjTi/bsGEXl/zUUQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.15.2.tgz";
+        sha512 = "Fxoshw8+R5X3/Vmqwsjc8nRO/7iTysRtDqx6rlfLZ7HbT8TZhPeQqbPjTyk2RheH3L8afumecTQnUc9EeXxohQ==";
       };
     };
     "@typescript-eslint/parser-3.10.1" = {
@@ -6718,22 +6745,22 @@ let
         sha512 = "Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw==";
       };
     };
-    "@typescript-eslint/parser-4.14.1" = {
+    "@typescript-eslint/parser-4.15.2" = {
       name = "_at_typescript-eslint_slash_parser";
       packageName = "@typescript-eslint/parser";
-      version = "4.14.1";
+      version = "4.15.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.14.1.tgz";
-        sha512 = "mL3+gU18g9JPsHZuKMZ8Z0Ss9YP1S5xYZ7n68Z98GnPq02pYNQuRXL85b9GYhl6jpdvUc45Km7hAl71vybjUmw==";
+        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.15.2.tgz";
+        sha512 = "SHeF8xbsC6z2FKXsaTb1tBCf0QZsjJ94H6Bo51Y1aVEZ4XAefaw5ZAilMoDPlGghe+qtq7XdTiDlGfVTOmvA+Q==";
       };
     };
-    "@typescript-eslint/scope-manager-4.14.1" = {
+    "@typescript-eslint/scope-manager-4.15.2" = {
       name = "_at_typescript-eslint_slash_scope-manager";
       packageName = "@typescript-eslint/scope-manager";
-      version = "4.14.1";
+      version = "4.15.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.14.1.tgz";
-        sha512 = "F4bjJcSqXqHnC9JGUlnqSa3fC2YH5zTtmACS1Hk+WX/nFB0guuynVK5ev35D4XZbdKjulXBAQMyRr216kmxghw==";
+        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.15.2.tgz";
+        sha512 = "Zm0tf/MSKuX6aeJmuXexgdVyxT9/oJJhaCkijv0DvJVT3ui4zY6XYd6iwIo/8GEZGy43cd7w1rFMiCLHbRzAPQ==";
       };
     };
     "@typescript-eslint/types-3.10.1" = {
@@ -6745,13 +6772,13 @@ let
         sha512 = "+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==";
       };
     };
-    "@typescript-eslint/types-4.14.1" = {
+    "@typescript-eslint/types-4.15.2" = {
       name = "_at_typescript-eslint_slash_types";
       packageName = "@typescript-eslint/types";
-      version = "4.14.1";
+      version = "4.15.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.14.1.tgz";
-        sha512 = "SkhzHdI/AllAgQSxXM89XwS1Tkic7csPdndUuTKabEwRcEfR8uQ/iPA3Dgio1rqsV3jtqZhY0QQni8rLswJM2w==";
+        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.15.2.tgz";
+        sha512 = "r7lW7HFkAarfUylJ2tKndyO9njwSyoy6cpfDKWPX6/ctZA+QyaYscAHXVAfJqtnY6aaTwDYrOhp+ginlbc7HfQ==";
       };
     };
     "@typescript-eslint/typescript-estree-2.34.0" = {
@@ -6772,13 +6799,13 @@ let
         sha512 = "QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==";
       };
     };
-    "@typescript-eslint/typescript-estree-4.14.1" = {
+    "@typescript-eslint/typescript-estree-4.15.2" = {
       name = "_at_typescript-eslint_slash_typescript-estree";
       packageName = "@typescript-eslint/typescript-estree";
-      version = "4.14.1";
+      version = "4.15.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.1.tgz";
-        sha512 = "M8+7MbzKC1PvJIA8kR2sSBnex8bsR5auatLCnVlNTJczmJgqRn8M+sAlQfkEq7M4IY3WmaNJ+LJjPVRrREVSHQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.15.2.tgz";
+        sha512 = "cGR8C2g5SPtHTQvAymEODeqx90pJHadWsgTtx6GbnTWKqsg7yp6Eaya9nFzUd4KrKhxdYTTFBiYeTPQaz/l8bw==";
       };
     };
     "@typescript-eslint/visitor-keys-3.10.1" = {
@@ -6790,76 +6817,76 @@ let
         sha512 = "9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==";
       };
     };
-    "@typescript-eslint/visitor-keys-4.14.1" = {
+    "@typescript-eslint/visitor-keys-4.15.2" = {
       name = "_at_typescript-eslint_slash_visitor-keys";
       packageName = "@typescript-eslint/visitor-keys";
-      version = "4.14.1";
+      version = "4.15.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.1.tgz";
-        sha512 = "TAblbDXOI7bd0C/9PE1G+AFo7R5uc+ty1ArDoxmrC1ah61Hn6shURKy7gLdRb1qKJmjHkqu5Oq+e4Kt0jwf1IA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.15.2.tgz";
+        sha512 = "TME1VgSb7wTwgENN5KVj4Nqg25hP8DisXxNBojM4Nn31rYaNDIocNm5cmjOFfh42n7NVERxWrDFoETO/76ePyg==";
       };
     };
-    "@uifabric/foundation-7.9.21" = {
+    "@uifabric/foundation-7.9.25" = {
       name = "_at_uifabric_slash_foundation";
       packageName = "@uifabric/foundation";
-      version = "7.9.21";
+      version = "7.9.25";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.9.21.tgz";
-        sha512 = "z58pcC0hJr6S0iYLxNFoqfrfLIMxbSxFHRirk5LDT2HXbiVIYbJwbK4O0InS+sz3chdx8GGSdIUz7muXeT/D+A==";
+        url = "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.9.25.tgz";
+        sha512 = "E9YMzbbgvNtZEJx1/AZBJX6Ut2chgoA7/ODB9+el6QyUErL/WUeIlXHbl8TZungRL9e1T4Bma48CNvBT8Ul+Fg==";
       };
     };
-    "@uifabric/icons-7.5.18" = {
+    "@uifabric/icons-7.5.22" = {
       name = "_at_uifabric_slash_icons";
       packageName = "@uifabric/icons";
-      version = "7.5.18";
+      version = "7.5.22";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@uifabric/icons/-/icons-7.5.18.tgz";
-        sha512 = "gLPEccWlTER9NiXcOHZ+dSJ3tgLAQ4mTf3hTlKV7e7dKBTl95jzcemG5S2NJQ7xWPTH3+5K1Bpd+nqZo9EJw3w==";
+        url = "https://registry.npmjs.org/@uifabric/icons/-/icons-7.5.22.tgz";
+        sha512 = "xJwgJG2IoEM/sFc4qzG5vXE/eY+vuz6IxPVXH0UoQ+9XY2KRb9p5pjBIx4SM/h0belCBMPF5rGnWYeg6hi14dQ==";
       };
     };
-    "@uifabric/merge-styles-7.19.1" = {
+    "@uifabric/merge-styles-7.19.2" = {
       name = "_at_uifabric_slash_merge-styles";
       packageName = "@uifabric/merge-styles";
-      version = "7.19.1";
+      version = "7.19.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.19.1.tgz";
-        sha512 = "yqUwmk62Kgu216QNPE9vOfS3h0kiSbTvoqM5QcZi+IzpqsBOlzZx3A9Er9UiDaqHRd5lsYF5pO/jeUULmBWF/A==";
+        url = "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.19.2.tgz";
+        sha512 = "kTlhwglDqwVgIaJq+0yXgzi65plGhmFcPrfme/rXUGMJZoU+qlGT5jXj5d3kuI59p6VB8jWEg9DAxHozhYeu0g==";
       };
     };
-    "@uifabric/react-hooks-7.13.9" = {
+    "@uifabric/react-hooks-7.13.12" = {
       name = "_at_uifabric_slash_react-hooks";
       packageName = "@uifabric/react-hooks";
-      version = "7.13.9";
+      version = "7.13.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.13.9.tgz";
-        sha512 = "VtDg2b3ypYXX7MLp1STk1Fj6ZIeZktXnm0hu1Os/pGvq6xkuLRly5XP6ZSHitm8K7ZcMo48CcNL8smmiXprBQg==";
+        url = "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.13.12.tgz";
+        sha512 = "TVeBLMI9Cpo0duxt5NkyMAAPyTVsqYQSt+EmjDIZI92abptqBpuiLGXHnLaf+Egw8VgzBv5Vqs8ZRzMg6mhYkA==";
       };
     };
-    "@uifabric/set-version-7.0.23" = {
+    "@uifabric/set-version-7.0.24" = {
       name = "_at_uifabric_slash_set-version";
       packageName = "@uifabric/set-version";
-      version = "7.0.23";
+      version = "7.0.24";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.23.tgz";
-        sha512 = "9E+YKtnH2kyMKnK9XZZsqyM8OCxEJIIfxtaThTlQpYOzrWAGJxQADFbZ7+Usi0U2xHnWNPFROjq+B9ocEzhqMA==";
+        url = "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.24.tgz";
+        sha512 = "t0Pt21dRqdC707/ConVJC0WvcQ/KF7tKLU8AZY7YdjgJpMHi1c0C427DB4jfUY19I92f60LOQyhJ4efH+KpFEg==";
       };
     };
-    "@uifabric/styling-7.16.19" = {
+    "@uifabric/styling-7.18.1" = {
       name = "_at_uifabric_slash_styling";
       packageName = "@uifabric/styling";
-      version = "7.16.19";
+      version = "7.18.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz";
-        sha512 = "T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==";
+        url = "https://registry.npmjs.org/@uifabric/styling/-/styling-7.18.1.tgz";
+        sha512 = "yLavWTQ4rAE3uZ3h/odlCKyun3amjlESZu+KAdEfQWnsMMV4VFpJXc1Mhqm/Rzf9rNySaiZMzJ2R4urWcHTJHQ==";
       };
     };
-    "@uifabric/utilities-7.33.2" = {
+    "@uifabric/utilities-7.33.5" = {
       name = "_at_uifabric_slash_utilities";
       packageName = "@uifabric/utilities";
-      version = "7.33.2";
+      version = "7.33.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.2.tgz";
-        sha512 = "v2c3IUJdpru/hoGNOwIW549O5D4XBAc5sLpB7RREGI5ywoWuIJlNyYtBEGOwhAY62J2blj11qi86Ep+oZDM/Kw==";
+        url = "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz";
+        sha512 = "I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==";
       };
     };
     "@ungap/from-entries-0.2.1" = {
@@ -6880,13 +6907,13 @@ let
         sha512 = "sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==";
       };
     };
-    "@unicode/unicode-13.0.0-1.0.2" = {
+    "@unicode/unicode-13.0.0-1.0.3" = {
       name = "_at_unicode_slash_unicode-13.0.0";
       packageName = "@unicode/unicode-13.0.0";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@unicode/unicode-13.0.0/-/unicode-13.0.0-1.0.2.tgz";
-        sha512 = "OKI6clBZqvMBlPKbH1tv3ChmkqRcyCfB6ulHqEX+9asjN5BVXs7tH7aOi+SExCNsmCVB8uJ1ZcvjuwaHsCtUeg==";
+        url = "https://registry.npmjs.org/@unicode/unicode-13.0.0/-/unicode-13.0.0-1.0.3.tgz";
+        sha512 = "foNhrvnwzUpt6Od/L7hgkNwZkDjsGMPgPFdVcXSdcKKYNicNBySiypBwgLLMsdBLWS30aJ8eLjftifnGuNGN1g==";
       };
     };
     "@uphold/request-logger-2.0.0" = {
@@ -6934,76 +6961,76 @@ let
         sha512 = "uUZIfWWfvFMAtfyzaJDtwRqN2vNzc2nnALEJliv2ccVRZHS8mwB/aLoaX0hL3h+RBJ8WV2PDiXmRFcESyDfKjA==";
       };
     };
-    "@vue/compiler-core-3.0.5" = {
+    "@vue/compiler-core-3.0.6" = {
       name = "_at_vue_slash_compiler-core";
       packageName = "@vue/compiler-core";
-      version = "3.0.5";
+      version = "3.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.5.tgz";
-        sha512 = "iFXwk2gmU/GGwN4hpBwDWWMLvpkIejf/AybcFtlQ5V1ur+5jwfBaV0Y1RXoR6ePfBPJixtKZ3PmN+M+HgMAtfQ==";
+        url = "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.6.tgz";
+        sha512 = "O7QzQ39DskOoPpEDWRvKwDX7Py9UNT7SvLHvBdIfckGA3OsAEBdiAtuYQNcVmUDeBajm+08v5wyvHWBbWgkilQ==";
       };
     };
-    "@vue/compiler-dom-3.0.5" = {
+    "@vue/compiler-dom-3.0.6" = {
       name = "_at_vue_slash_compiler-dom";
       packageName = "@vue/compiler-dom";
-      version = "3.0.5";
+      version = "3.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.5.tgz";
-        sha512 = "HSOSe2XSPuCkp20h4+HXSiPH9qkhz6YbW9z9ZtL5vef2T2PMugH7/osIFVSrRZP/Ul5twFZ7MIRlp8tPX6e4/g==";
+        url = "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.6.tgz";
+        sha512 = "q1wfHzYwvDRAhBlx+Qa+n3Bu5nHr1qL/j0UbpNlbQDwIlt9zpvmXUrUCL+i55Bh5lLKvSe+mNo0qlwNEApm+jA==";
       };
     };
-    "@vue/compiler-sfc-3.0.5" = {
+    "@vue/compiler-sfc-3.0.6" = {
       name = "_at_vue_slash_compiler-sfc";
       packageName = "@vue/compiler-sfc";
-      version = "3.0.5";
+      version = "3.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.0.5.tgz";
-        sha512 = "uOAC4X0Gx3SQ9YvDC7YMpbDvoCmPvP0afVhJoxRotDdJ+r8VO3q4hFf/2f7U62k4Vkdftp6DVni8QixrfYzs+w==";
+        url = "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.0.6.tgz";
+        sha512 = "g1tkswnhtiJpj4ELQ3SzeGxtOd0t8E5GkT+n2VlElEnTI1BzueSvr41D5QthnUS+TNWZd52ZnPtdaNz+Lfum1w==";
       };
     };
-    "@vue/compiler-ssr-3.0.5" = {
+    "@vue/compiler-ssr-3.0.6" = {
       name = "_at_vue_slash_compiler-ssr";
       packageName = "@vue/compiler-ssr";
-      version = "3.0.5";
+      version = "3.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.0.5.tgz";
-        sha512 = "Wm//Kuxa1DpgjE4P9W0coZr8wklOfJ35Jtq61CbU+t601CpPTK4+FL2QDBItaG7aoUUDCWL5nnxMkuaOgzTBKg==";
+        url = "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.0.6.tgz";
+        sha512 = "Y4amPwRevUiiNQDho0cq1Ith9q6UU5N6CD6YiXkHIboFPeXEiGvH3ULJWjFzlGqn1eUV1AReNJpFJrhjtQNc7g==";
       };
     };
-    "@vue/reactivity-3.0.5" = {
+    "@vue/reactivity-3.0.6" = {
       name = "_at_vue_slash_reactivity";
       packageName = "@vue/reactivity";
-      version = "3.0.5";
+      version = "3.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.0.5.tgz";
-        sha512 = "3xodUE3sEIJgS7ntwUbopIpzzvi7vDAOjVamfb2l+v1FUg0jpd3gf62N2wggJw3fxBMr+QvyxpD+dBoxLsmAjw==";
+        url = "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.0.6.tgz";
+        sha512 = "hX8PnZayNMoljWSYrZW0OclQnRaMoHxvi5eeFVFPDr7+tzBeiftmmozKttxxCLoDxBWX1B4gNc237DIcYU63Lw==";
       };
     };
-    "@vue/runtime-core-3.0.5" = {
+    "@vue/runtime-core-3.0.6" = {
       name = "_at_vue_slash_runtime-core";
       packageName = "@vue/runtime-core";
-      version = "3.0.5";
+      version = "3.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.5.tgz";
-        sha512 = "Cnyi2NqREwOLcTEsIi1DQX1hHtkVj4eGm4hBG7HhokS05DqpK4/80jG6PCCnCH9rIJDB2FqtaODX397210plXg==";
+        url = "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.6.tgz";
+        sha512 = "x6N38P0DeMyrHiAxCE/rACHTyydOzlg8IyUIPkSJ4rrSkuJnAtFKQicK6fm8NuD21dwdPr8KcZ4Cn4xaqL1JJg==";
       };
     };
-    "@vue/runtime-dom-3.0.5" = {
+    "@vue/runtime-dom-3.0.6" = {
       name = "_at_vue_slash_runtime-dom";
       packageName = "@vue/runtime-dom";
-      version = "3.0.5";
+      version = "3.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.5.tgz";
-        sha512 = "iilX1KySeIzHHtErT6Y44db1rhWK5tAI0CiJIPr+SJoZ2jbjoOSE6ff/jfIQakchbm1d6jq6VtRVnp5xYdOXKA==";
+        url = "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.6.tgz";
+        sha512 = "Y6y4Tak9//VXB2mp2NVQxbwC4a5xsnJpotpo8yBAB3qB3L4v4HQLpqxSkwThRwI6Y6Z7dydX/sgfraqLBE8BWg==";
       };
     };
-    "@vue/shared-3.0.5" = {
+    "@vue/shared-3.0.6" = {
       name = "_at_vue_slash_shared";
       packageName = "@vue/shared";
-      version = "3.0.5";
+      version = "3.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/shared/-/shared-3.0.5.tgz";
-        sha512 = "gYsNoGkWejBxNO6SNRjOh/xKeZ0H0V+TFzaPzODfBjkAIb0aQgBuixC1brandC/CDJy1wYPwSoYrXpvul7m6yw==";
+        url = "https://registry.npmjs.org/@vue/shared/-/shared-3.0.6.tgz";
+        sha512 = "c37C60HpelUZIx+SNZVEINSxkFzQYhIXFg5AynnIA4QDBmY4iSPoACfGSwSUTCTKImukPeCgY2oqRJVP3R1Mnw==";
       };
     };
     "@webassemblyjs/ast-1.11.0" = {
@@ -7033,6 +7060,15 @@ let
         sha512 = "C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==";
       };
     };
+    "@webassemblyjs/ast-1.9.1" = {
+      name = "_at_webassemblyjs_slash_ast";
+      packageName = "@webassemblyjs/ast";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.1.tgz";
+        sha512 = "uMu1nCWn2Wxyy126LlGqRVlhdTOsO/bsBRI4dNq3+6SiSuRKRQX6ejjKgh82LoGAPSq72lDUiQ4FWVaf0PecYw==";
+      };
+    };
     "@webassemblyjs/floating-point-hex-parser-1.11.0" = {
       name = "_at_webassemblyjs_slash_floating-point-hex-parser";
       packageName = "@webassemblyjs/floating-point-hex-parser";
@@ -7060,6 +7096,15 @@ let
         sha512 = "TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==";
       };
     };
+    "@webassemblyjs/floating-point-hex-parser-1.9.1" = {
+      name = "_at_webassemblyjs_slash_floating-point-hex-parser";
+      packageName = "@webassemblyjs/floating-point-hex-parser";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.1.tgz";
+        sha512 = "5VEKu024RySmLKTTBl9q1eO/2K5jk9ZS+2HXDBLA9s9p5IjkaXxWiDb/+b7wSQp6FRdLaH1IVGIfOex58Na2pg==";
+      };
+    };
     "@webassemblyjs/helper-api-error-1.11.0" = {
       name = "_at_webassemblyjs_slash_helper-api-error";
       packageName = "@webassemblyjs/helper-api-error";
@@ -7087,6 +7132,15 @@ let
         sha512 = "NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==";
       };
     };
+    "@webassemblyjs/helper-api-error-1.9.1" = {
+      name = "_at_webassemblyjs_slash_helper-api-error";
+      packageName = "@webassemblyjs/helper-api-error";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.1.tgz";
+        sha512 = "y1lGmfm38djrScwpeL37rRR9f1D6sM8RhMpvM7CYLzOlHVboouZokXK/G88BpzW0NQBSvCCOnW5BFhten4FPfA==";
+      };
+    };
     "@webassemblyjs/helper-buffer-1.11.0" = {
       name = "_at_webassemblyjs_slash_helper-buffer";
       packageName = "@webassemblyjs/helper-buffer";
@@ -7114,6 +7168,15 @@ let
         sha512 = "qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==";
       };
     };
+    "@webassemblyjs/helper-buffer-1.9.1" = {
+      name = "_at_webassemblyjs_slash_helper-buffer";
+      packageName = "@webassemblyjs/helper-buffer";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.1.tgz";
+        sha512 = "uS6VSgieHbk/m4GSkMU5cqe/5TekdCzQso4revCIEQ3vpGZgqSSExi4jWpTWwDpAHOIAb1Jfrs0gUB9AA4n71w==";
+      };
+    };
     "@webassemblyjs/helper-code-frame-1.11.0" = {
       name = "_at_webassemblyjs_slash_helper-code-frame";
       packageName = "@webassemblyjs/helper-code-frame";
@@ -7141,6 +7204,15 @@ let
         sha512 = "ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==";
       };
     };
+    "@webassemblyjs/helper-code-frame-1.9.1" = {
+      name = "_at_webassemblyjs_slash_helper-code-frame";
+      packageName = "@webassemblyjs/helper-code-frame";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.1.tgz";
+        sha512 = "ZQ2ZT6Evk4DPIfD+92AraGYaFIqGm4U20e7FpXwl7WUo2Pn1mZ1v8VGH8i+Y++IQpxPbQo/UyG0Khs7eInskzA==";
+      };
+    };
     "@webassemblyjs/helper-compiler-1.11.0" = {
       name = "_at_webassemblyjs_slash_helper-compiler";
       packageName = "@webassemblyjs/helper-compiler";
@@ -7186,6 +7258,15 @@ let
         sha512 = "OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==";
       };
     };
+    "@webassemblyjs/helper-fsm-1.9.1" = {
+      name = "_at_webassemblyjs_slash_helper-fsm";
+      packageName = "@webassemblyjs/helper-fsm";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.1.tgz";
+        sha512 = "J32HGpveEqqcKFS0YbgicB0zAlpfIxJa5MjxDxhu3i5ltPcVfY5EPvKQ1suRguFPehxiUs+/hfkwPEXom/l0lw==";
+      };
+    };
     "@webassemblyjs/helper-module-context-1.8.1" = {
       name = "_at_webassemblyjs_slash_helper-module-context";
       packageName = "@webassemblyjs/helper-module-context";
@@ -7204,6 +7285,15 @@ let
         sha512 = "MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==";
       };
     };
+    "@webassemblyjs/helper-module-context-1.9.1" = {
+      name = "_at_webassemblyjs_slash_helper-module-context";
+      packageName = "@webassemblyjs/helper-module-context";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.1.tgz";
+        sha512 = "IEH2cMmEQKt7fqelLWB5e/cMdZXf2rST1JIrzWmf4XBt3QTxGdnnLvV4DYoN8pJjOx0VYXsWg+yF16MmJtolZg==";
+      };
+    };
     "@webassemblyjs/helper-numbers-1.11.0" = {
       name = "_at_webassemblyjs_slash_helper-numbers";
       packageName = "@webassemblyjs/helper-numbers";
@@ -7240,6 +7330,15 @@ let
         sha512 = "R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==";
       };
     };
+    "@webassemblyjs/helper-wasm-bytecode-1.9.1" = {
+      name = "_at_webassemblyjs_slash_helper-wasm-bytecode";
+      packageName = "@webassemblyjs/helper-wasm-bytecode";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.1.tgz";
+        sha512 = "i2rGTBqFUcSXxyjt2K4vm/3kkHwyzG6o427iCjcIKjOqpWH8SEem+xe82jUk1iydJO250/CvE5o7hzNAMZf0dQ==";
+      };
+    };
     "@webassemblyjs/helper-wasm-section-1.11.0" = {
       name = "_at_webassemblyjs_slash_helper-wasm-section";
       packageName = "@webassemblyjs/helper-wasm-section";
@@ -7267,6 +7366,15 @@ let
         sha512 = "XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==";
       };
     };
+    "@webassemblyjs/helper-wasm-section-1.9.1" = {
+      name = "_at_webassemblyjs_slash_helper-wasm-section";
+      packageName = "@webassemblyjs/helper-wasm-section";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.1.tgz";
+        sha512 = "FetqzjtXZr2d57IECK+aId3D0IcGweeM0CbAnJHkYJkcRTHP+YcMb7Wmc0j21h5UWBpwYGb9dSkK/93SRCTrGg==";
+      };
+    };
     "@webassemblyjs/ieee754-1.11.0" = {
       name = "_at_webassemblyjs_slash_ieee754";
       packageName = "@webassemblyjs/ieee754";
@@ -7294,6 +7402,15 @@ let
         sha512 = "dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==";
       };
     };
+    "@webassemblyjs/ieee754-1.9.1" = {
+      name = "_at_webassemblyjs_slash_ieee754";
+      packageName = "@webassemblyjs/ieee754";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.1.tgz";
+        sha512 = "EvTG9M78zP1MmkBpUjGQHZc26DzPGZSLIPxYHCjQsBMo60Qy2W34qf8z0exRDtxBbRIoiKa5dFyWer/7r1aaSQ==";
+      };
+    };
     "@webassemblyjs/leb128-1.11.0" = {
       name = "_at_webassemblyjs_slash_leb128";
       packageName = "@webassemblyjs/leb128";
@@ -7321,6 +7438,15 @@ let
         sha512 = "ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==";
       };
     };
+    "@webassemblyjs/leb128-1.9.1" = {
+      name = "_at_webassemblyjs_slash_leb128";
+      packageName = "@webassemblyjs/leb128";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.1.tgz";
+        sha512 = "Oc04ub0vFfLnF+2/+ki3AE+anmW4sv9uNBqb+79fgTaPv6xJsOT0dhphNfL3FrME84CbX/D1T9XT8tjFo0IIiw==";
+      };
+    };
     "@webassemblyjs/utf8-1.11.0" = {
       name = "_at_webassemblyjs_slash_utf8";
       packageName = "@webassemblyjs/utf8";
@@ -7348,6 +7474,15 @@ let
         sha512 = "GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==";
       };
     };
+    "@webassemblyjs/utf8-1.9.1" = {
+      name = "_at_webassemblyjs_slash_utf8";
+      packageName = "@webassemblyjs/utf8";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.1.tgz";
+        sha512 = "llkYtppagjCodFjo0alWOUhAkfOiQPQDIc5oA6C9sFAXz7vC9QhZf/f8ijQIX+A9ToM3c9Pq85X0EX7nx9gVhg==";
+      };
+    };
     "@webassemblyjs/validation-1.11.0" = {
       name = "_at_webassemblyjs_slash_validation";
       packageName = "@webassemblyjs/validation";
@@ -7375,6 +7510,15 @@ let
         sha512 = "FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==";
       };
     };
+    "@webassemblyjs/wasm-edit-1.9.1" = {
+      name = "_at_webassemblyjs_slash_wasm-edit";
+      packageName = "@webassemblyjs/wasm-edit";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.1.tgz";
+        sha512 = "S2IaD6+x9B2Xi8BCT0eGsrXXd8UxAh2LVJpg1ZMtHXnrDcsTtIX2bDjHi40Hio6Lc62dWHmKdvksI+MClCYbbw==";
+      };
+    };
     "@webassemblyjs/wasm-gen-1.11.0" = {
       name = "_at_webassemblyjs_slash_wasm-gen";
       packageName = "@webassemblyjs/wasm-gen";
@@ -7402,6 +7546,15 @@ let
         sha512 = "cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==";
       };
     };
+    "@webassemblyjs/wasm-gen-1.9.1" = {
+      name = "_at_webassemblyjs_slash_wasm-gen";
+      packageName = "@webassemblyjs/wasm-gen";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.1.tgz";
+        sha512 = "bqWI0S4lBQsEN5FTZ35vYzfKUJvtjNnBobB1agCALH30xNk1LToZ7Z8eiaR/Z5iVECTlBndoRQV3F6mbEqE/fg==";
+      };
+    };
     "@webassemblyjs/wasm-opt-1.11.0" = {
       name = "_at_webassemblyjs_slash_wasm-opt";
       packageName = "@webassemblyjs/wasm-opt";
@@ -7420,6 +7573,15 @@ let
         sha512 = "Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==";
       };
     };
+    "@webassemblyjs/wasm-opt-1.9.1" = {
+      name = "_at_webassemblyjs_slash_wasm-opt";
+      packageName = "@webassemblyjs/wasm-opt";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.1.tgz";
+        sha512 = "gSf7I7YWVXZ5c6XqTEqkZjVs8K1kc1k57vsB6KBQscSagDNbAdxt6MwuJoMjsE1yWY1tsuL+pga268A6u+Fdkg==";
+      };
+    };
     "@webassemblyjs/wasm-parser-1.11.0" = {
       name = "_at_webassemblyjs_slash_wasm-parser";
       packageName = "@webassemblyjs/wasm-parser";
@@ -7447,6 +7609,15 @@ let
         sha512 = "9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==";
       };
     };
+    "@webassemblyjs/wasm-parser-1.9.1" = {
+      name = "_at_webassemblyjs_slash_wasm-parser";
+      packageName = "@webassemblyjs/wasm-parser";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.1.tgz";
+        sha512 = "ImM4N2T1MEIond0MyE3rXvStVxEmivQrDKf/ggfh5pP6EHu3lL/YTAoSrR7shrbKNPpeKpGesW1LIK/L4kqduw==";
+      };
+    };
     "@webassemblyjs/wast-parser-1.11.0" = {
       name = "_at_webassemblyjs_slash_wast-parser";
       packageName = "@webassemblyjs/wast-parser";
@@ -7474,6 +7645,15 @@ let
         sha512 = "qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==";
       };
     };
+    "@webassemblyjs/wast-parser-1.9.1" = {
+      name = "_at_webassemblyjs_slash_wast-parser";
+      packageName = "@webassemblyjs/wast-parser";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.1.tgz";
+        sha512 = "2xVxejXSvj3ls/o2TR/zI6p28qsGupjHhnHL6URULQRcXmryn3w7G83jQMcT7PHqUfyle65fZtWLukfdLdE7qw==";
+      };
+    };
     "@webassemblyjs/wast-printer-1.11.0" = {
       name = "_at_webassemblyjs_slash_wast-printer";
       packageName = "@webassemblyjs/wast-printer";
@@ -7501,31 +7681,40 @@ let
         sha512 = "2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==";
       };
     };
-    "@webpack-cli/configtest-1.0.0" = {
+    "@webassemblyjs/wast-printer-1.9.1" = {
+      name = "_at_webassemblyjs_slash_wast-printer";
+      packageName = "@webassemblyjs/wast-printer";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.1.tgz";
+        sha512 = "tDV8V15wm7mmbAH6XvQRU1X+oPGmeOzYsd6h7hlRLz6QpV4Ec/KKxM8OpLtFmQPLCreGxTp+HuxtH4pRIZyL9w==";
+      };
+    };
+    "@webpack-cli/configtest-1.0.1" = {
       name = "_at_webpack-cli_slash_configtest";
       packageName = "@webpack-cli/configtest";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.0.tgz";
-        sha512 = "Un0SdBoN1h4ACnIO7EiCjWuyhNI0Jl96JC+63q6xi4HDUYRZn8Auluea9D+v9NWKc5J4sICVEltdBaVjLX39xw==";
+        url = "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.1.tgz";
+        sha512 = "B+4uBUYhpzDXmwuo3V9yBH6cISwxEI4J+NO5ggDaGEEHb0osY/R7MzeKc0bHURXQuZjMM4qD+bSJCKIuI3eNBQ==";
       };
     };
-    "@webpack-cli/info-1.2.1" = {
+    "@webpack-cli/info-1.2.2" = {
       name = "_at_webpack-cli_slash_info";
       packageName = "@webpack-cli/info";
-      version = "1.2.1";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.1.tgz";
-        sha512 = "fLnDML5HZ5AEKzHul8xLAksoKN2cibu6MgonkUj8R9V7bbeVRkd1XbGEGWrAUNYHbX1jcqCsDEpBviE5StPMzQ==";
+        url = "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.2.tgz";
+        sha512 = "5U9kUJHnwU+FhKH4PWGZuBC1hTEPYyxGSL5jjoBI96Gx8qcYJGOikpiIpFoTq8mmgX3im2zAo2wanv/alD74KQ==";
       };
     };
-    "@webpack-cli/serve-1.2.2" = {
+    "@webpack-cli/serve-1.3.0" = {
       name = "_at_webpack-cli_slash_serve";
       packageName = "@webpack-cli/serve";
-      version = "1.2.2";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.2.2.tgz";
-        sha512 = "03GkWxcgFfm8+WIwcsqJb9agrSDNDDoxaNnexPnCCexP5SCE4IgFd9lNpSy+K2nFqVMpgTFw6SwbmVAVTndVew==";
+        url = "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.3.0.tgz";
+        sha512 = "k2p2VrONcYVX1wRRrf0f3X2VGltLWcv+JzXRBDmvCxGlCeESx4OXw91TsWeKOkp784uNoVQo313vxJFHXPPwfw==";
       };
     };
     "@wry/context-0.4.4" = {
@@ -7699,6 +7888,15 @@ let
         sha512 = "h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==";
       };
     };
+    "abortcontroller-polyfill-1.7.1" = {
+      name = "abortcontroller-polyfill";
+      packageName = "abortcontroller-polyfill";
+      version = "1.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.1.tgz";
+        sha512 = "yml9NiDEH4M4p0G4AcPkg8AAa4mF3nfYF28VQxaokpO67j9H7gWgmsVWJ/f1Rn+PzsnDYvzJzWIQzCqDKRvWlA==";
+      };
+    };
     "absolute-0.0.1" = {
       name = "absolute";
       packageName = "absolute";
@@ -8005,13 +8203,13 @@ let
         sha512 = "TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==";
       };
     };
-    "adm-zip-0.5.2" = {
+    "adm-zip-0.5.3" = {
       name = "adm-zip";
       packageName = "adm-zip";
-      version = "0.5.2";
+      version = "0.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.2.tgz";
-        sha512 = "lUI3ZSNsfQXNYNzGjt68MdxzCs0eW29lgL74y/Y2h4nARgHmH3poFWuK3LonvFbNHFt4dTb2X/QQ4c1ZUWWsJw==";
+        url = "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.3.tgz";
+        sha512 = "zsoTXEwRNCxBzRHLENFLuecCcwzzXiEhWo1r3GP68iwi8Q/hW2RrqgeY1nfJ/AhNQNWnZq/4v0TbfMsUkI+TYw==";
       };
     };
     "adverb-where-0.0.9" = {
@@ -8023,13 +8221,13 @@ let
         sha1 = "09c5cddd8d503b9fe5f76e0b8dc5c70a8f193e34";
       };
     };
-    "adverb-where-0.2.1" = {
+    "adverb-where-0.2.2" = {
       name = "adverb-where";
       packageName = "adverb-where";
-      version = "0.2.1";
+      version = "0.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/adverb-where/-/adverb-where-0.2.1.tgz";
-        sha512 = "IAveFBziMRMNPKFdWRcdIKaJvJG1cAfU9/tf9MzqQ84Dh4QjD9eqwnt4hNSt9cbrcEJD74BMIOaRVgVDEU7MwQ==";
+        url = "https://registry.npmjs.org/adverb-where/-/adverb-where-0.2.2.tgz";
+        sha512 = "hZPUFSgljaJnzQQXqc4GCEVSxmyhBkLgf/DyeW7F068PdRE9PervS4LmftJWWSPfTpaEhpJebx3eP7D9slBjSw==";
       };
     };
     "after-0.8.1" = {
@@ -8104,13 +8302,13 @@ let
         sha512 = "e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==";
       };
     };
-    "agentkeepalive-4.1.3" = {
+    "agentkeepalive-4.1.4" = {
       name = "agentkeepalive";
       packageName = "agentkeepalive";
-      version = "4.1.3";
+      version = "4.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.3.tgz";
-        sha512 = "wn8fw19xKZwdGPO47jivonaHRTd+nGOMP1z11sgGeQzDy2xd5FG0R67dIMcKHDE2cJ5y+YXV30XVGUBPRSY7Hg==";
+        url = "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz";
+        sha512 = "+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==";
       };
     };
     "aggregate-error-3.1.0" = {
@@ -8194,13 +8392,13 @@ let
         sha512 = "LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==";
       };
     };
-    "ajv-7.0.3" = {
+    "ajv-7.1.1" = {
       name = "ajv";
       packageName = "ajv";
-      version = "7.0.3";
+      version = "7.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz";
-        sha512 = "R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==";
+        url = "https://registry.npmjs.org/ajv/-/ajv-7.1.1.tgz";
+        sha512 = "ga/aqDYnUy/o7vbsRTFhhTsNeXiYb5JWDIcRIeZfwRNCefwjNTVYCGdGSUrEmiu3yDK3vFvNbgJxvrQW4JXrYQ==";
       };
     };
     "ajv-errors-1.0.1" = {
@@ -8212,6 +8410,15 @@ let
         sha512 = "DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==";
       };
     };
+    "ajv-formats-1.5.1" = {
+      name = "ajv-formats";
+      packageName = "ajv-formats";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv-formats/-/ajv-formats-1.5.1.tgz";
+        sha512 = "s1RBVF4HZd2UjGkb6t6uWoXjf6o7j7dXPQIL7vprcIT/67bTD6+5ocsU0UKShS2qWxueGDWuGfKHfOxHWrlTQg==";
+      };
+    };
     "ajv-keywords-1.5.1" = {
       name = "ajv-keywords";
       packageName = "ajv-keywords";
@@ -8311,13 +8518,13 @@ let
         sha1 = "a78f1c98995087ad36192a41298e4db49e3dfc45";
       };
     };
-    "analytics-node-3.3.0" = {
+    "analytics-node-3.5.0" = {
       name = "analytics-node";
       packageName = "analytics-node";
-      version = "3.3.0";
+      version = "3.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/analytics-node/-/analytics-node-3.3.0.tgz";
-        sha512 = "wxrsmibvZVysy5CfkLItYrYMGbNVXDBccWurz+hgLUg98pbijiS2/QQdRc0SjHWVEqByxReEJ2T2MGhgb4jk3A==";
+        url = "https://registry.npmjs.org/analytics-node/-/analytics-node-3.5.0.tgz";
+        sha512 = "XgQq6ejZHCehUSnZS4V7QJPLIP7S9OAWwQDYl4WTLtsRvc5fCxIwzK/yihzmIW51v9PnyBmrl9dMcqvwfOE8WA==";
       };
     };
     "ansi-0.3.1" = {
@@ -8716,13 +8923,13 @@ let
         sha512 = "sbLEIMQrkV7RkIruqTPXxeCMkAAycv4yzTkBzRgOR1BrR5UB7qZtupqxkersTJSf0HZ3sbaNRrNV80TnnM7cUw==";
       };
     };
-    "apollo-2.32.1" = {
+    "apollo-2.32.5" = {
       name = "apollo";
       packageName = "apollo";
-      version = "2.32.1";
+      version = "2.32.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo/-/apollo-2.32.1.tgz";
-        sha512 = "aSjGnxxm+ZZ6uYTuGrBqtQ4e3boG408K16CbB5Zm/QHCRNHpPUz7r9VRDfAJWMFE1mBdWi+r0dyY+7FUkKeRrw==";
+        url = "https://registry.npmjs.org/apollo/-/apollo-2.32.5.tgz";
+        sha512 = "M2EWO9OZYbyziBUqYNSs5eYm9MNarYxLhZyZQp7mbJPdVN8i+w+KMBtD5rOS4e8oZN7lblhz/ooZtlNI2F6nwg==";
       };
     };
     "apollo-cache-1.3.5" = {
@@ -8761,49 +8968,49 @@ let
         sha512 = "jiPlMTN6/5CjZpJOkGeUV0mb4zxx33uXWdj/xQCfAMkuNAC3HN7CvYDyMHHEzmcQ5GV12LszWoQ/VlxET24CtA==";
       };
     };
-    "apollo-codegen-core-0.39.1" = {
+    "apollo-codegen-core-0.39.3" = {
       name = "apollo-codegen-core";
       packageName = "apollo-codegen-core";
-      version = "0.39.1";
+      version = "0.39.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-codegen-core/-/apollo-codegen-core-0.39.1.tgz";
-        sha512 = "8Sb9CN+lYR2BMeg7p3A4wjsQW7oxDTnKbueUHV/fmZU+hg2GNLXqVTdyWE2UWDEOyDTNpQMyysGEUZZBsOmBrw==";
+        url = "https://registry.npmjs.org/apollo-codegen-core/-/apollo-codegen-core-0.39.3.tgz";
+        sha512 = "2nPwQz2u2NpmbFY5lDEg/vo33RbGAxFLQeZew8H6XfSVLPajWbz2Klest9ZVQhaUnBVZO5q2gQLX+MT2I6uNfA==";
       };
     };
-    "apollo-codegen-flow-0.37.1" = {
+    "apollo-codegen-flow-0.37.3" = {
       name = "apollo-codegen-flow";
       packageName = "apollo-codegen-flow";
-      version = "0.37.1";
+      version = "0.37.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-codegen-flow/-/apollo-codegen-flow-0.37.1.tgz";
-        sha512 = "XhGUzlBxi3IHCBbIsnfk0c41mz30Ky1SPSYtJzrMdtMAdUAfMEGBLXzlLqgp1iAbUegQ10zbp2kgzLG0hkeYhg==";
+        url = "https://registry.npmjs.org/apollo-codegen-flow/-/apollo-codegen-flow-0.37.3.tgz";
+        sha512 = "gZZHQmGiSzNbJbolnYQPvjwC43/6GzETTo1nTi2JlnLw9jnVZR42kpqrxAeVAJKkquJ+4c2jwQkO4fVIYfdhaw==";
       };
     };
-    "apollo-codegen-scala-0.38.1" = {
+    "apollo-codegen-scala-0.38.3" = {
       name = "apollo-codegen-scala";
       packageName = "apollo-codegen-scala";
-      version = "0.38.1";
+      version = "0.38.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-codegen-scala/-/apollo-codegen-scala-0.38.1.tgz";
-        sha512 = "WvIX6Gm7KHnh6FJzq/XVRyHMNwwbQEnMfRXpR9zFtaUuzZHfg9RNawtsUGMSQCnNw1sm5YLGIJvNFUp1hUEqGA==";
+        url = "https://registry.npmjs.org/apollo-codegen-scala/-/apollo-codegen-scala-0.38.3.tgz";
+        sha512 = "Zgg/zd/k8h/ei5UlYSCa27jJAJA4UE+wCb5+LOo2Iz73ZUZh7HRgzoKSfsP1qAiJV4Tqm9WySyU9nOqfajdK1A==";
       };
     };
-    "apollo-codegen-swift-0.39.1" = {
+    "apollo-codegen-swift-0.39.3" = {
       name = "apollo-codegen-swift";
       packageName = "apollo-codegen-swift";
-      version = "0.39.1";
+      version = "0.39.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-codegen-swift/-/apollo-codegen-swift-0.39.1.tgz";
-        sha512 = "dKqDd2w2YAOkyDbDkJ5etXLdn8foNnm55r5rsIssIxCdtdR5qsusrPHQvywVjHw8ZHBy4o229dVoSzmrIUygKg==";
+        url = "https://registry.npmjs.org/apollo-codegen-swift/-/apollo-codegen-swift-0.39.3.tgz";
+        sha512 = "kvIoHOiv5440tHvSdhDHzOUZrpBpdXA6M/QPiuYkpPuI8TAcJ+bTeS696/8t+FO699qYgjsqW7FMdIbi1LWV2g==";
       };
     };
-    "apollo-codegen-typescript-0.39.1" = {
+    "apollo-codegen-typescript-0.39.3" = {
       name = "apollo-codegen-typescript";
       packageName = "apollo-codegen-typescript";
-      version = "0.39.1";
+      version = "0.39.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-codegen-typescript/-/apollo-codegen-typescript-0.39.1.tgz";
-        sha512 = "cSnMrAqyK2AMZRxTsBrZZhemfv87AU0OS1/aM45WQRyQurkEjf8GmWMfp2IRkJo9m+jgdo74X5ct3KZOXbYMXg==";
+        url = "https://registry.npmjs.org/apollo-codegen-typescript/-/apollo-codegen-typescript-0.39.3.tgz";
+        sha512 = "Yo/FVaBJbbrndVL75tluH16dNXRZ1M9ELP5AeAPnnw+yGIvYO34LXjfk4G3kqkAJ7puoGc+9muGJLjh6LV6zNA==";
       };
     };
     "apollo-datasource-0.7.3" = {
@@ -8815,31 +9022,31 @@ let
         sha512 = "PE0ucdZYjHjUyXrFWRwT02yLcx2DACsZ0jm1Mp/0m/I9nZu/fEkvJxfsryXB6JndpmQO77gQHixf/xGCN976kA==";
       };
     };
-    "apollo-env-0.6.5" = {
+    "apollo-env-0.6.6" = {
       name = "apollo-env";
       packageName = "apollo-env";
-      version = "0.6.5";
+      version = "0.6.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-env/-/apollo-env-0.6.5.tgz";
-        sha512 = "jeBUVsGymeTHYWp3me0R2CZRZrFeuSZeICZHCeRflHTfnQtlmbSXdy5E0pOyRM9CU4JfQkKDC98S1YglQj7Bzg==";
+        url = "https://registry.npmjs.org/apollo-env/-/apollo-env-0.6.6.tgz";
+        sha512 = "hXI9PjJtzmD34XviBU+4sPMOxnifYrHVmxpjykqI/dUD2G3yTiuRaiQqwRwB2RCdwC1Ug/jBfoQ/NHDTnnjndQ==";
       };
     };
-    "apollo-graphql-0.6.0" = {
+    "apollo-graphql-0.6.1" = {
       name = "apollo-graphql";
       packageName = "apollo-graphql";
-      version = "0.6.0";
+      version = "0.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-graphql/-/apollo-graphql-0.6.0.tgz";
-        sha512 = "BxTf5LOQe649e9BNTPdyCGItVv4Ll8wZ2BKnmiYpRAocYEXAVrQPWuSr3dO4iipqAU8X0gvle/Xu9mSqg5b7Qg==";
+        url = "https://registry.npmjs.org/apollo-graphql/-/apollo-graphql-0.6.1.tgz";
+        sha512 = "ZRXAV+k+hboCVS+FW86FW/QgnDR7gm/xMUwJPGXEbV53OLGuQQdIT0NCYK7AzzVkCfsbb7NJ3mmEclkZY9uuxQ==";
       };
     };
-    "apollo-language-server-1.25.0" = {
+    "apollo-language-server-1.25.2" = {
       name = "apollo-language-server";
       packageName = "apollo-language-server";
-      version = "1.25.0";
+      version = "1.25.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-language-server/-/apollo-language-server-1.25.0.tgz";
-        sha512 = "k6weI4Jd64LzMO9aGHqPWUmifBy0TDxW15BkU4GLmVTi7pBSYPhwOVP8Haa+81FG2ZO2CCEv8J0VQHTv5Z8itA==";
+        url = "https://registry.npmjs.org/apollo-language-server/-/apollo-language-server-1.25.2.tgz";
+        sha512 = "PGQZ1+nX/RSmf9eawqXloi+ZwJs6dQRdDiEKzSIij1ucd9r9jY5EyamVMi0tYgco1G4XJo1hBRXBm29sTGNfUQ==";
       };
     };
     "apollo-link-1.2.1" = {
@@ -8941,13 +9148,13 @@ let
         sha512 = "iMi3087iphDAI0U2iSBE9qtx9kQoMMEWr6w+LwXruBD95ek9DWyj7OeC2U/ngLjRsXM43DoBDXlu7R+uMjahrQ==";
       };
     };
-    "apollo-server-core-2.19.2" = {
+    "apollo-server-core-2.21.0" = {
       name = "apollo-server-core";
       packageName = "apollo-server-core";
-      version = "2.19.2";
+      version = "2.21.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.19.2.tgz";
-        sha512 = "liLgLhTIGWZtdQbxuxo3/Yv8j+faKQcI60kOL+uwfByGhoKLZEQp5nqi2IdMK6JXt1VuyKwKu7lTzj02a9S3jA==";
+        url = "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.21.0.tgz";
+        sha512 = "GtIiq2F0dVDLzzIuO5+dK/pGq/sGxYlKCqAuQQqzYg0fvZ7fukyluXtcTe0tMI+FJZjU0j0WnKgiLsboCoAlPQ==";
       };
     };
     "apollo-server-env-2.4.5" = {
@@ -8977,13 +9184,13 @@ let
         sha512 = "FeGxW3Batn6sUtX3OVVUm7o56EgjxDlmgpTLNyWcLb0j6P8mw9oLNyAm3B+deHA4KNdNHO5BmHS2g1SJYjqPCQ==";
       };
     };
-    "apollo-server-express-2.19.2" = {
+    "apollo-server-express-2.21.0" = {
       name = "apollo-server-express";
       packageName = "apollo-server-express";
-      version = "2.19.2";
+      version = "2.21.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-2.19.2.tgz";
-        sha512 = "1v2H6BgDkS4QzRbJ9djn2o0yv5m/filbpiupxAsCG9f+sAoSlY3eYSj84Sbex2r5+4itAvT9y84WI7d9RBYs/Q==";
+        url = "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-2.21.0.tgz";
+        sha512 = "zbOSNGuxUjlOFZnRrbMpga3pKDEroitF4NAqoVxgBivx7v2hGsE7rljct3PucTx2cMN90AyYe3cU4oA8jBxZIQ==";
       };
     };
     "apollo-server-plugin-base-0.10.4" = {
@@ -9490,13 +9697,13 @@ let
         sha1 = "9e528762b4a9066ad163a6962a364418e9626ece";
       };
     };
-    "array-includes-3.1.2" = {
+    "array-includes-3.1.3" = {
       name = "array-includes";
       packageName = "array-includes";
-      version = "3.1.2";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz";
-        sha512 = "w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==";
+        url = "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz";
+        sha512 = "gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==";
       };
     };
     "array-initial-1.1.0" = {
@@ -10039,6 +10246,15 @@ let
         sha512 = "TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==";
       };
     };
+    "async-append-only-log-3.0.7" = {
+      name = "async-append-only-log";
+      packageName = "async-append-only-log";
+      version = "3.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async-append-only-log/-/async-append-only-log-3.0.7.tgz";
+        sha512 = "/6W+vsTSDg+rVUAFYknugtLeNDtS8BMfJ7clMF4kGXNS5nprb+Gx+ndG1QNaD8eFeEv6lSyGMeWJ7KxHuEpkKg==";
+      };
+    };
     "async-done-1.3.2" = {
       name = "async-done";
       packageName = "async-done";
@@ -10237,6 +10453,15 @@ let
         sha512 = "Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==";
       };
     };
+    "atomically-universal-0.1.1" = {
+      name = "atomically-universal";
+      packageName = "atomically-universal";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/atomically-universal/-/atomically-universal-0.1.1.tgz";
+        sha512 = "0bqmz+wKlA9hIiH/C4R3K8dpsVV6mM/X76QZ70LMHW0XzCDXzxdWD5gfkmRXxTM5txlbYE/06iz0IziohUQVzw==";
+      };
+    };
     "attach-ware-1.1.1" = {
       name = "attach-ware";
       packageName = "attach-ware";
@@ -10327,13 +10552,13 @@ let
         sha512 = "+KBkqH7t/XE91Fqn8eyJeNIWsnhSWL8bSUqFD7TfE3FN07MTlC0nprGYp+2WfcYNz5i8Bus1vY2DHNVhtTImnw==";
       };
     };
-    "aws-sdk-2.831.0" = {
+    "aws-sdk-2.853.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.831.0";
+      version = "2.853.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.831.0.tgz";
-        sha512 = "lrOjbGFpjk2xpESyUx2PGsTZgptCy5xycZazPeakNbFO19cOoxjHx3xyxOHsMCYb3pQwns35UvChQT60B4u6cw==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.853.0.tgz";
+        sha512 = "3cifeifeMHKtpvQ6OcrA9j34BEdvWmLlSGzZU/mZf9nYcV+22PPXjwpVhPh9BvfC2S77upKNbMgnkv4u50aQKw==";
       };
     };
     "aws-sign2-0.6.0" = {
@@ -10363,33 +10588,6 @@ let
         sha512 = "xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==";
       };
     };
-    "axios-0.17.1" = {
-      name = "axios";
-      packageName = "axios";
-      version = "0.17.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/axios/-/axios-0.17.1.tgz";
-        sha1 = "2d8e3e5d0bdbd7327f91bc814f5c57660f81824d";
-      };
-    };
-    "axios-0.19.0" = {
-      name = "axios";
-      packageName = "axios";
-      version = "0.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz";
-        sha512 = "1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==";
-      };
-    };
-    "axios-0.19.2" = {
-      name = "axios";
-      packageName = "axios";
-      version = "0.19.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz";
-        sha512 = "fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==";
-      };
-    };
     "axios-0.21.1" = {
       name = "axios";
       packageName = "axios";
@@ -10678,6 +10876,33 @@ let
         sha1 = "1bc6f15b87f7ab1085d42b330b717657a2156500";
       };
     };
+    "babel-plugin-polyfill-corejs2-0.1.8" = {
+      name = "babel-plugin-polyfill-corejs2";
+      packageName = "babel-plugin-polyfill-corejs2";
+      version = "0.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.1.8.tgz";
+        sha512 = "kB5/xNR9GYDuRmVlL9EGfdKBSUVI/9xAU7PCahA/1hbC2Jbmks9dlBBYjHF9IHMNY2jV/G2lIG7z0tJIW27Rog==";
+      };
+    };
+    "babel-plugin-polyfill-corejs3-0.1.6" = {
+      name = "babel-plugin-polyfill-corejs3";
+      packageName = "babel-plugin-polyfill-corejs3";
+      version = "0.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.6.tgz";
+        sha512 = "IkYhCxPrjrUWigEmkMDXYzM5iblzKCdCD8cZrSAkQOyhhJm26DcG+Mxbx13QT//Olkpkg/AlRdT2L+Ww4Ciphw==";
+      };
+    };
+    "babel-plugin-polyfill-regenerator-0.1.5" = {
+      name = "babel-plugin-polyfill-regenerator";
+      packageName = "babel-plugin-polyfill-regenerator";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.1.5.tgz";
+        sha512 = "EyhBA6uN94W97lR7ecQVTvH9F5tIIdEw3ZqHuU4zekMlW82k5cXNXniiB7PRxQm06BqAjVr4sDT1mOy4RcphIA==";
+      };
+    };
     "babel-plugin-styled-components-1.12.0" = {
       name = "babel-plugin-styled-components";
       packageName = "babel-plugin-styled-components";
@@ -11290,13 +11515,13 @@ let
         sha1 = "e6d5ea8c5dad001304a70b22638447f69cb2f809";
       };
     };
-    "before-after-hook-2.1.0" = {
+    "before-after-hook-2.1.1" = {
       name = "before-after-hook";
       packageName = "before-after-hook";
-      version = "2.1.0";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz";
-        sha512 = "IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==";
+        url = "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.1.tgz";
+        sha512 = "5ekuQOvO04MDj7kYZJaMab2S8SPjGJbotVNyv7QYFCOAwrGZs/YnoDNlh1U+m5hl7H2D/+n0taaAV/tfyd3KMA==";
       };
     };
     "bencode-0.7.0" = {
@@ -11524,6 +11749,15 @@ let
         sha512 = "nbE1WxOTTrUWIfsfZ4aHGYu5DOuNkbxGokjV6Z2kxfJK3uaAb8zNK1muzOeipoLHZjInT4Br88BHpzevc681xA==";
       };
     };
+    "binary-search-bounds-2.0.5" = {
+      name = "binary-search-bounds";
+      packageName = "binary-search-bounds";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-2.0.5.tgz";
+        sha512 = "H0ea4Fd3lS1+sTEB2TgcLoK21lLhwEJzlQv3IN47pJS976Gx4zoWe0ak3q+uYh60ppQxg9F16Ri4tS1sfD4+jA==";
+      };
+    };
     "binaryextensions-2.3.0" = {
       name = "binaryextensions";
       packageName = "binaryextensions";
@@ -11596,6 +11830,15 @@ let
         sha1 = "01fa8748785ca70955d5011217d1b3139969ca22";
       };
     };
+    "bipf-1.4.0" = {
+      name = "bipf";
+      packageName = "bipf";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bipf/-/bipf-1.4.0.tgz";
+        sha512 = "8b2T/OWIRI73kcPXhI+jqK+0QyxRlZ6HIzQBK8tRxIZ2NO0dBxJ4T9eeX6XsYEHy2cqM69n+rOZyVjhvRUGRig==";
+      };
+    };
     "bitcoin-core-2.3.0" = {
       name = "bitcoin-core";
       packageName = "bitcoin-core";
@@ -11695,13 +11938,13 @@ let
         sha512 = "tSh9HdQgwyEAfo1jzoGEis6o/zs4CcdRTchG93XVl5jct+DCAN90M5MVUV76k2vJ9Xg3GAzLB5NLsY/vnVTh6w==";
       };
     };
-    "bittorrent-protocol-3.2.0" = {
+    "bittorrent-protocol-3.3.1" = {
       name = "bittorrent-protocol";
       packageName = "bittorrent-protocol";
-      version = "3.2.0";
+      version = "3.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bittorrent-protocol/-/bittorrent-protocol-3.2.0.tgz";
-        sha512 = "8xgCgK8xUg7MXZBxhqJapZy9hexHwN2TCD+b8m4yWg56/ZFfdkULxhxQkzuhpXyUfvKIKxeRzGmLT43li7FDKg==";
+        url = "https://registry.npmjs.org/bittorrent-protocol/-/bittorrent-protocol-3.3.1.tgz";
+        sha512 = "DJy0/jjqJD62PPJY79duCccmPMihp3KPowlmd7BLEU8FTtnDsYjso6BAx+pWwCKOeDORdc9RiJ7L72x3taCh6g==";
       };
     };
     "bittorrent-tracker-7.7.0" = {
@@ -11713,13 +11956,13 @@ let
         sha1 = "ffd2eabc141d36ed5c1817df7e992f91fd7fc65c";
       };
     };
-    "bittorrent-tracker-9.15.0" = {
+    "bittorrent-tracker-9.16.1" = {
       name = "bittorrent-tracker";
       packageName = "bittorrent-tracker";
-      version = "9.15.0";
+      version = "9.16.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bittorrent-tracker/-/bittorrent-tracker-9.15.0.tgz";
-        sha512 = "5LhLQeGxdVFumJTbveJS16Rc+Vzh/nbC6o80UMj6ZRvSkiVkk+4L782OMYI0VG1JTfUxiRFP4f+CZBFyuclLBg==";
+        url = "https://registry.npmjs.org/bittorrent-tracker/-/bittorrent-tracker-9.16.1.tgz";
+        sha512 = "JjegXwpWK8xRTHd5sqKTVqPhlhzAqJrR37gSiciTa1UkSSM6SWKVUDq7ZiGS3d8FhqonDSuPLQ9wUOC2q2jeIA==";
       };
     };
     "bl-1.2.3" = {
@@ -11740,13 +11983,22 @@ let
         sha512 = "6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==";
       };
     };
-    "bl-4.0.3" = {
+    "bl-4.0.4" = {
       name = "bl";
       packageName = "bl";
-      version = "4.0.3";
+      version = "4.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bl/-/bl-4.0.4.tgz";
+        sha512 = "7tdr4EpSd7jJ6tuQ21vu2ke8w7pNEstzj1O8wwq6sNNzO3UDi5MA8Gny/gquCj7r2C6fHudg8tKRGyjRgmvNxQ==";
+      };
+    };
+    "bl-4.1.0" = {
+      name = "bl";
+      packageName = "bl";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz";
-        sha512 = "fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==";
+        url = "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz";
+        sha512 = "1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==";
       };
     };
     "blake2b-2.1.3" = {
@@ -11848,13 +12100,13 @@ let
         sha1 = "13ebfe778a03205cfe03751481ebb4b3300c126a";
       };
     };
-    "block-stream2-2.0.0" = {
+    "block-stream2-2.1.0" = {
       name = "block-stream2";
       packageName = "block-stream2";
-      version = "2.0.0";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/block-stream2/-/block-stream2-2.0.0.tgz";
-        sha512 = "1oI+RHHUEo64xomy1ozLgVJetFlHkIfQfJzTBQrj6xWnEMEPooeo2fZoqFjp0yzfHMBrgxwgh70tKp6T17+i3g==";
+        url = "https://registry.npmjs.org/block-stream2/-/block-stream2-2.1.0.tgz";
+        sha512 = "suhjmLI57Ewpmq00qaygS8UgEq2ly2PCItenIyhMqVjo4t4pGzqMvfgJuX8iWTeSDdfSSqS6j38fL4ToNL7Pfg==";
       };
     };
     "blru-0.1.6" = {
@@ -11947,22 +12199,22 @@ let
         sha512 = "nXWOXtQHbfPaMl6jyEF/rmRMrcemj2qn+OCAI/uZYurjfx7Dg3baoXdPzHOL0U8Cfvn8CWxKcnM/rgxL7DR4zw==";
       };
     };
-    "bn.js-4.11.9" = {
+    "bn.js-4.12.0" = {
       name = "bn.js";
       packageName = "bn.js";
-      version = "4.11.9";
+      version = "4.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz";
-        sha512 = "E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==";
+        url = "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz";
+        sha512 = "c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==";
       };
     };
-    "bn.js-5.1.3" = {
+    "bn.js-5.2.0" = {
       name = "bn.js";
       packageName = "bn.js";
-      version = "5.1.3";
+      version = "5.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz";
-        sha512 = "GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==";
+        url = "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz";
+        sha512 = "D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==";
       };
     };
     "bncode-0.2.3" = {
@@ -11992,6 +12244,15 @@ let
         sha512 = "lqxDpj9gX7OtihwAzMhlMk0w38ObZu+aRSF9fzG/wUfF6RfocFSFDGHA+KVbLNXudiTStzhWVGc8cJmcL4IHYw==";
       };
     };
+    "bodec-0.1.0" = {
+      name = "bodec";
+      packageName = "bodec";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bodec/-/bodec-0.1.0.tgz";
+        sha1 = "bc851555430f23c9f7650a75ef64c6a94c3418cc";
+      };
+    };
     "body-0.1.0" = {
       name = "body";
       packageName = "body";
@@ -12298,6 +12559,15 @@ let
         sha1 = "12c25efe40a45e3c323eb8675a0a0ce57b22371f";
       };
     };
+    "browser-hrtime-1.1.8" = {
+      name = "browser-hrtime";
+      packageName = "browser-hrtime";
+      version = "1.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browser-hrtime/-/browser-hrtime-1.1.8.tgz";
+        sha512 = "kzXheikaJsBtzUBlyVtPIY5r0soQePzjwVwT4IlDpU2RvfB5Py52gpU98M77rgqMCheoSSZvrcrdj3t6cZ3suA==";
+      };
+    };
     "browser-launcher2-0.4.6" = {
       name = "browser-launcher2";
       packageName = "browser-launcher2";
@@ -12469,13 +12739,13 @@ let
         sha512 = "HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==";
       };
     };
-    "browserslist-4.16.1" = {
+    "browserslist-4.16.3" = {
       name = "browserslist";
       packageName = "browserslist";
-      version = "4.16.1";
+      version = "4.16.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.16.1.tgz";
-        sha512 = "UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA==";
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz";
+        sha512 = "vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==";
       };
     };
     "brq-0.1.8" = {
@@ -12541,13 +12811,13 @@ let
         sha512 = "/l9Kg/c5o+n/0AqreMxh2jpzDMl1ikl4gUxT7RFNe3A3YRIyZkiREhwcjmqxiymJSRI/Qhew357xGn1SLw/xEw==";
       };
     };
-    "bsocks-0.2.5" = {
+    "bsocks-0.2.6" = {
       name = "bsocks";
       packageName = "bsocks";
-      version = "0.2.5";
+      version = "0.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bsocks/-/bsocks-0.2.5.tgz";
-        sha512 = "w1yG8JmfKPIaTDLuR9TIxJM2Ma6nAiInRpLNZ43g3qPnPHjawCC4SV6Bdy84bEJQX1zJWYTgdod/BnQlDhq4Gg==";
+        url = "https://registry.npmjs.org/bsocks/-/bsocks-0.2.6.tgz";
+        sha512 = "66UkjoB9f7lhT+WKgYq8MQa6nkr96mlX64JYMlIsXe/X4VeqNwvsx7UOE3ZqD6lkwg8GvBhapRTWj0qWO3Pw8w==";
       };
     };
     "btcp-0.1.5" = {
@@ -12613,6 +12883,15 @@ let
         sha512 = "xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==";
       };
     };
+    "buffer-5.1.0" = {
+      name = "buffer";
+      packageName = "buffer";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer/-/buffer-5.1.0.tgz";
+        sha512 = "YkIRgwsZwJWTnyQrsBTWefizHh+8GYj3kbL1BTiAQ/9pwpino0G7B2gp5tx/FUBqUlvtxV85KNR3mwfAtv15Yw==";
+      };
+    };
     "buffer-5.2.1" = {
       name = "buffer";
       packageName = "buffer";
@@ -12829,15 +13108,6 @@ let
         sha512 = "HaJnVuslRF4g2kSDeyl++AaVizoitCpL9PglzCYwy0uHHyvWerfvEb8jWmYbF1z4kiVFolGomnxSGl+GUQp2jg==";
       };
     };
-    "bufferstreams-2.0.1" = {
-      name = "bufferstreams";
-      packageName = "bufferstreams";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bufferstreams/-/bufferstreams-2.0.1.tgz";
-        sha512 = "ZswyIoBfFb3cVDsnZLLj2IDJ/0ppYdil/v2EGlZXvoefO689FokEmFEldhN5dV7R2QBxFneqTJOMIpfqhj+n0g==";
-      };
-    };
     "bufferutil-1.3.0" = {
       name = "bufferutil";
       packageName = "bufferutil";
@@ -13432,13 +13702,13 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30001180" = {
+    "caniuse-lite-1.0.30001192" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001180";
+      version = "1.0.30001192";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001180.tgz";
-        sha512 = "n8JVqXuZMVSPKiPiypjFtDTXc4jWIdjxull0f92WLo7e1MSi3uJ3NvveakSh/aCl1QKFAvIz3vIj0v+0K+FrXw==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001192.tgz";
+        sha512 = "63OrUnwJj5T1rUmoyqYTdRWBqFFxZFlyZnRRjDR8NSUQFB6A+j/uBORU/SyJ5WzDLg4SPiZH40hQCBNdZ/jmAw==";
       };
     };
     "canvas-2.6.1" = {
@@ -13558,13 +13828,13 @@ let
         sha512 = "vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==";
       };
     };
-    "cdk8s-1.0.0-beta.6" = {
+    "cdk8s-1.0.0-beta.9" = {
       name = "cdk8s";
       packageName = "cdk8s";
-      version = "1.0.0-beta.6";
+      version = "1.0.0-beta.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-1.0.0-beta.6.tgz";
-        sha512 = "L/J8c7/wSEY2POx5j9SnxxgEJ7V7mFYS3F9pGj2idUfj4GCHbMLCGXQ8bAPzaiWOFSEDVMOPBOangLEia+5RBw==";
+        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-1.0.0-beta.9.tgz";
+        sha512 = "jWqgWCrZ2ez/o644fHMEex5qOxgAWK+RnFwiYHf9AEDeT7ww94mGjcSU7k6HdLpOFMA8oiyFzKxlj2HM8JIw3A==";
       };
     };
     "cdktf-0.1.0" = {
@@ -13585,13 +13855,13 @@ let
         sha1 = "aa0d32629b6ee972200411cbd4461c907bc2b7ad";
       };
     };
-    "chai-4.2.0" = {
+    "chai-4.3.0" = {
       name = "chai";
       packageName = "chai";
-      version = "4.2.0";
+      version = "4.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz";
-        sha512 = "XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==";
+        url = "https://registry.npmjs.org/chai/-/chai-4.3.0.tgz";
+        sha512 = "/BFd2J30EcOwmdOgXvVsmM48l0Br0nmZPlO0uOW4XKh6kpsUumRXBgPV+IlaqFaqr9cYbeoZAM1Npx0i4A+aiA==";
       };
     };
     "chai-as-promised-7.1.1" = {
@@ -13936,13 +14206,13 @@ let
         sha512 = "0UQ55f51JBkOFa+fvR76ywRzxiPwQS3Xe8oe5bZRphpv+dIMeerW5Zn5e4cUy4COJwVtJyU0R79RMnw+aCqmGA==";
       };
     };
-    "chloride-2.4.0" = {
+    "chloride-2.4.1" = {
       name = "chloride";
       packageName = "chloride";
-      version = "2.4.0";
+      version = "2.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chloride/-/chloride-2.4.0.tgz";
-        sha512 = "Fgz7EaWswRjRBeft6pCkg8STSQTQT/5GrRZlbtlx5hkhFi/X1RSIhSustfe2GsbySVZF2DuxsWri8GDFJ/SkvQ==";
+        url = "https://registry.npmjs.org/chloride/-/chloride-2.4.1.tgz";
+        sha512 = "ZiID87W2o2llvuF4C7Fvt9GJisazSdMsSkjAq4WaMed9zn77nlkcy08ZfrPtOGAXyaxTDj0VjnuyD97EdJLz3g==";
       };
     };
     "chloride-test-1.2.4" = {
@@ -13990,15 +14260,6 @@ let
         sha512 = "dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==";
       };
     };
-    "chokidar-3.4.3" = {
-      name = "chokidar";
-      packageName = "chokidar";
-      version = "3.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz";
-        sha512 = "DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==";
-      };
-    };
     "chokidar-3.5.1" = {
       name = "chokidar";
       packageName = "chokidar";
@@ -14134,13 +14395,13 @@ let
         sha1 = "04a106672c18b085ab774d983dfa3ea138f22205";
       };
     };
-    "chunk-store-stream-4.1.1" = {
+    "chunk-store-stream-4.2.0" = {
       name = "chunk-store-stream";
       packageName = "chunk-store-stream";
-      version = "4.1.1";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chunk-store-stream/-/chunk-store-stream-4.1.1.tgz";
-        sha512 = "2nVS+VLMCHNW+S1Y3bOlCtUL4ABPA4zeAcP8E/m15AAc+8fw1elEKIhs/Wg5EZNSfqIk24kUd9rvewmGNPehGQ==";
+        url = "https://registry.npmjs.org/chunk-store-stream/-/chunk-store-stream-4.2.0.tgz";
+        sha512 = "90iueoPoqT2isnmy1fyqwzgFy5FokuaxQuijOQG1VgC/6DaXRfeYN0da8iWENkzqElWhqLxo8pWc7pH9dmxlcA==";
       };
     };
     "ci-info-1.6.0" = {
@@ -14161,6 +14422,15 @@ let
         sha512 = "5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==";
       };
     };
+    "ci-info-3.1.1" = {
+      name = "ci-info";
+      packageName = "ci-info";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ci-info/-/ci-info-3.1.1.tgz";
+        sha512 = "kdRWLBIJwdsYJWYJFtAFFYxybguqeF91qpZaggjG5Nf8QKdizFG2hjqvaTXbxFIcYbSaD74KpAXv6BSm17DHEQ==";
+      };
+    };
     "cint-8.2.1" = {
       name = "cint";
       packageName = "cint";
@@ -14269,6 +14539,15 @@ let
         sha512 = "VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==";
       };
     };
+    "clean-css-5.1.0" = {
+      name = "clean-css";
+      packageName = "clean-css";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clean-css/-/clean-css-5.1.0.tgz";
+        sha512 = "98ALLW4NOhZpvUEoSc2dJO23xE4S4SXc4mLieCVFGo8DNLTFQ3gzi7msW1lqSYJeGZSF5r5+W3KF6cEnkILnFQ==";
+      };
+    };
     "clean-deep-3.4.0" = {
       name = "clean-deep";
       packageName = "clean-deep";
@@ -14413,13 +14692,13 @@ let
         sha1 = "7e673ee0dd39a611a486476e53f3c6b3941cb582";
       };
     };
-    "cli-progress-3.8.2" = {
+    "cli-progress-3.9.0" = {
       name = "cli-progress";
       packageName = "cli-progress";
-      version = "3.8.2";
+      version = "3.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cli-progress/-/cli-progress-3.8.2.tgz";
-        sha512 = "qRwBxLldMSfxB+YGFgNRaj5vyyHe1yMpVeDL79c+7puGujdKJHQHydgqXDcrkvQgJ5U/d3lpf6vffSoVVUftVQ==";
+        url = "https://registry.npmjs.org/cli-progress/-/cli-progress-3.9.0.tgz";
+        sha512 = "g7rLWfhAo/7pF+a/STFH/xPyosaL1zgADhI0OM83hl3c7S43iGvJWEAV2QuDOnQ8i6EMBj/u4+NTd0d5L+4JfA==";
       };
     };
     "cli-spinner-0.2.10" = {
@@ -14449,13 +14728,13 @@ let
         sha512 = "PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ==";
       };
     };
-    "cli-table-0.3.4" = {
+    "cli-table-0.3.5" = {
       name = "cli-table";
       packageName = "cli-table";
-      version = "0.3.4";
+      version = "0.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cli-table/-/cli-table-0.3.4.tgz";
-        sha512 = "1vinpnX/ZERcmE443i3SZTmU5DF0rPO9DrL4I2iVAllhxzCM9SzPlHnz19fsZB78htkKZvYBvj6SZ6vXnaxmTA==";
+        url = "https://registry.npmjs.org/cli-table/-/cli-table-0.3.5.tgz";
+        sha512 = "7uo2+RMNQUZ13M199udxqwk1qxTOS53EUak4gmu/aioUpdH5RvBz0JkJslcWz6ABKedZNqXXzikMZgHh+qF16A==";
       };
     };
     "cli-table3-0.5.1" = {
@@ -14989,13 +15268,13 @@ let
         sha512 = "3WQV/Fpa77nvzjUlc+0u53uIroJyyMB2Qwl++aXpAiDIsrsiAQq4uCURwdRBRX+eLkOTIAmT0L4qna3T7+2pUg==";
       };
     };
-    "codemaker-1.17.1" = {
+    "codemaker-1.22.0" = {
       name = "codemaker";
       packageName = "codemaker";
-      version = "1.17.1";
+      version = "1.22.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/codemaker/-/codemaker-1.17.1.tgz";
-        sha512 = "V0oeZjQ0nZgpFErZPn66sVCHwrDvivS+M0xR1gesBNGDpE4ROja6IJXbPVVg/N3S4kYHAXcYuWHdfiEQE2PfwA==";
+        url = "https://registry.npmjs.org/codemaker/-/codemaker-1.22.0.tgz";
+        sha512 = "0c77XXwpCOR9SrlKqNtaBhvzi0zo2tYuiUMuTISq+qclyunpDzgkKH27SxyGG1Ju6gNtv10bME7A/8zlWstICw==";
       };
     };
     "codepage-1.4.0" = {
@@ -15142,13 +15421,13 @@ let
         sha512 = "qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==";
       };
     };
-    "colorette-1.2.1" = {
+    "colorette-1.2.2" = {
       name = "colorette";
       packageName = "colorette";
-      version = "1.2.1";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz";
-        sha512 = "puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==";
+        url = "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz";
+        sha512 = "MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==";
       };
     };
     "colornames-1.1.1" = {
@@ -15511,13 +15790,13 @@ let
         sha512 = "U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==";
       };
     };
-    "commander-7.0.0" = {
+    "commander-7.1.0" = {
       name = "commander";
       packageName = "commander";
-      version = "7.0.0";
+      version = "7.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-7.0.0.tgz";
-        sha512 = "ovx/7NkTrnPuIV8sqk/GjUIIM1+iUQeqA3ye2VNpq9sVoiZsooObWlQy+OPWGI17GDaEoybuAGJm6U8yC077BA==";
+        url = "https://registry.npmjs.org/commander/-/commander-7.1.0.tgz";
+        sha512 = "pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg==";
       };
     };
     "commandpost-1.4.0" = {
@@ -15808,6 +16087,15 @@ let
         sha512 = "r8/HEoWPFn4CztjhMJaWNAe5n+gPUCSaJ0oufbqDLFKsA1V8JjAG7G+p0pgoDFAws9Bpk2VtVLLXqOBA7WxLeg==";
       };
     };
+    "conf-9.0.2" = {
+      name = "conf";
+      packageName = "conf";
+      version = "9.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/conf/-/conf-9.0.2.tgz";
+        sha512 = "rLSiilO85qHgaTBIIHQpsv8z+NnVfZq3cKuYNCXN1AOqPzced0GWZEe/A517VldRLyQYXUMyV+vszavE2jSAqw==";
+      };
+    };
     "config-1.31.0" = {
       name = "config";
       packageName = "config";
@@ -15943,13 +16231,13 @@ let
         sha1 = "7890482bf5c71af6c5ca192be3136aed74428aad";
       };
     };
-    "consola-2.15.0" = {
+    "consola-2.15.3" = {
       name = "consola";
       packageName = "consola";
-      version = "2.15.0";
+      version = "2.15.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/consola/-/consola-2.15.0.tgz";
-        sha512 = "vlcSGgdYS26mPf7qNi+dCisbhiyDnrN1zaRbw3CSuc2wGOMEGGPsp46PdRG5gqXwgtJfjxDkxRNAgRPr1B77vQ==";
+        url = "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz";
+        sha512 = "9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==";
       };
     };
     "console-browserify-1.1.0" = {
@@ -16024,13 +16312,22 @@ let
         sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
       };
     };
-    "constructs-3.2.117" = {
+    "constructs-3.3.43" = {
+      name = "constructs";
+      packageName = "constructs";
+      version = "3.3.43";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.43.tgz";
+        sha512 = "4Fi9XuoYAPkVrimpU/fo3SOUxB3cS/WjP77DGeJl1o0vsYsggqeBHRLK6GxRG7vpmnOhiyDlBIazJkMuR6YWuQ==";
+      };
+    };
+    "constructs-3.3.5" = {
       name = "constructs";
       packageName = "constructs";
-      version = "3.2.117";
+      version = "3.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constructs/-/constructs-3.2.117.tgz";
-        sha512 = "zYDlALAHWdopUzMGr3aZPlPR8f+OEYr1+QZCkLqi/eyUjbOmlPQ6xwrlDoOaJNgpMf727T9Yo+hokCjIRsZweQ==";
+        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.5.tgz";
+        sha512 = "qicg+YQ/8ftntU+PtvB+faUmGMCPMJyQ+Vo1Y7z2QdlDVRW1YJ5XVS4Skk4WlOfaJ9r/dvlSinB9+Vaw3Yb2Ww==";
       };
     };
     "consume-http-header-1.0.0" = {
@@ -16214,13 +16511,13 @@ let
         sha512 = "ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==";
       };
     };
-    "conventional-commits-parser-3.2.0" = {
+    "conventional-commits-parser-3.2.1" = {
       name = "conventional-commits-parser";
       packageName = "conventional-commits-parser";
-      version = "3.2.0";
+      version = "3.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.0.tgz";
-        sha512 = "XmJiXPxsF0JhAKyfA2Nn+rZwYKJ60nanlbSWwwkGwLQFbugsc0gv1rzc7VbbUWAzJfR1qR87/pNgv9NgmxtBMQ==";
+        url = "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.1.tgz";
+        sha512 = "OG9kQtmMZBJD/32NEw5IhN5+HnBqVjy03eC+I71I0oQRFA5rOgA4OtPOYG7mz1GkCfCNxn3gKIX8EiHJYuf1cA==";
       };
     };
     "conventional-recommended-bump-5.0.1" = {
@@ -16385,13 +16682,13 @@ let
         sha512 = "8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==";
       };
     };
-    "copy-anything-2.0.1" = {
+    "copy-anything-2.0.3" = {
       name = "copy-anything";
       packageName = "copy-anything";
-      version = "2.0.1";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.1.tgz";
-        sha512 = "lA57e7viQHOdPQcrytv5jFeudZZOXuyk47lZym279FiDQ8jeZomXiGuVf6ffMKkJ+3TIai3J1J3yi6M+/4U35g==";
+        url = "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.3.tgz";
+        sha512 = "GK6QUtisv4fNS+XcI7shX0Gx9ORg7QqIznyfho79JTnX1XhLiyZHfftvGiziqzRiEi/Bjhgpi+D2o7HxJFPnDQ==";
       };
     };
     "copy-concurrently-1.0.5" = {
@@ -16466,13 +16763,13 @@ let
         sha512 = "WxZRTnt5RHxSAB9urnHFUtVBcIe1YjR4sfwHLsxakNoKkFhcie3HrV5QmNBgRQ5DkxmanRN3VSx4OrPVsNmAaQ==";
       };
     };
-    "cordova-fetch-3.0.0" = {
+    "cordova-fetch-3.0.1" = {
       name = "cordova-fetch";
       packageName = "cordova-fetch";
-      version = "3.0.0";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cordova-fetch/-/cordova-fetch-3.0.0.tgz";
-        sha512 = "N6mB/1GD8BNclxnfO85E4/s46nEJjIxYeJYHRGi6MjofhigJ3NlGwTCslbTcq8IOYEh0RdoA0mS4W2jA5UcWeQ==";
+        url = "https://registry.npmjs.org/cordova-fetch/-/cordova-fetch-3.0.1.tgz";
+        sha512 = "bxXk6H3FtGXpCtlO+XyXM4pa72azQomdurNeHbZai9eYBzA5vjyPnsgxsYcylLUc1wQFeR+XWQVfgJitx6ghEw==";
       };
     };
     "cordova-lib-10.0.0" = {
@@ -16511,22 +16808,22 @@ let
         sha512 = "vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==";
       };
     };
-    "core-js-3.8.3" = {
+    "core-js-3.9.1" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.8.3";
+      version = "3.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.8.3.tgz";
-        sha512 = "KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.9.1.tgz";
+        sha512 = "gSjRvzkxQc1zjM/5paAmL4idJBFzuJoo+jDjF1tStYFMV2ERfD02HhahhCGXUyHxQRG4yFKVSdO6g62eoRMcDg==";
       };
     };
-    "core-js-compat-3.8.3" = {
+    "core-js-compat-3.9.1" = {
       name = "core-js-compat";
       packageName = "core-js-compat";
-      version = "3.8.3";
+      version = "3.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.3.tgz";
-        sha512 = "1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog==";
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.9.1.tgz";
+        sha512 = "jXAirMQxrkbiiLsCx9bQPJFA6llDadKMpYrBJQJ3/c4/vsPP/fAf29h24tviRlvwUL6AmY5CHLu2GvjuYviQqA==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -16538,13 +16835,13 @@ let
         sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
       };
     };
-    "core_d-2.0.0" = {
+    "core_d-3.0.0" = {
       name = "core_d";
       packageName = "core_d";
-      version = "2.0.0";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core_d/-/core_d-2.0.0.tgz";
-        sha512 = "oIb3QJj/ayYNbg2WYTYM1h3d8XvKF/RBUFhNeVVOfXDskeQC43fypCwnvdGqgTK7rbJ/a8tvxeErCr8vJhJ4vA==";
+        url = "https://registry.npmjs.org/core_d/-/core_d-3.0.0.tgz";
+        sha512 = "6DM/spZ6j+Yha93TMdK+uz/ws82eDcYefPv2dKZBlMT5mFoJNG+zNPaqSpb5xFvrZh90KFXdSuau1Z+Jql2Tsg==";
       };
     };
     "cors-2.8.5" = {
@@ -16646,6 +16943,15 @@ let
         sha512 = "0Cbj7gyvFVApzpK/uhCtQ/9kE9UnYpxMzaq5nQQC/Dh4iaj5fxp7iEFIullrYwzj8nf0qnsI1Qsx34hAeAebvw==";
       };
     };
+    "cpu-percentage-1.0.3" = {
+      name = "cpu-percentage";
+      packageName = "cpu-percentage";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cpu-percentage/-/cpu-percentage-1.0.3.tgz";
+        sha1 = "868fd9092f439d1ef95f4a85e5fa4b9f07efc95c";
+      };
+    };
     "cpy-8.1.1" = {
       name = "cpy";
       packageName = "cpy";
@@ -16691,13 +16997,13 @@ let
         sha512 = "mctvpXlbzsvK+6z8kJwSJ5crm7yBwrQMTybJzMw1O4lLGJqjlDCXY2Zw7KheiA6XBEcBmfLx1D88mjRGVJtY9w==";
       };
     };
-    "crc32-stream-4.0.1" = {
+    "crc32-stream-4.0.2" = {
       name = "crc32-stream";
       packageName = "crc32-stream";
-      version = "4.0.1";
+      version = "4.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.1.tgz";
-        sha512 = "FN5V+weeO/8JaXsamelVYO1PHyeCsuL3HcG4cqsj0ceARcocxalaShCsohZMSAF+db7UYFwBy1rARK/0oFItUw==";
+        url = "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz";
+        sha512 = "DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==";
       };
     };
     "create-ecdh-4.0.4" = {
@@ -16745,13 +17051,13 @@ let
         sha512 = "MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==";
       };
     };
-    "create-torrent-4.4.3" = {
+    "create-torrent-4.5.0" = {
       name = "create-torrent";
       packageName = "create-torrent";
-      version = "4.4.3";
+      version = "4.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/create-torrent/-/create-torrent-4.4.3.tgz";
-        sha512 = "balXwhJEpD8F0rt1vNKJuxhYPWOHo82LVm50wRzUFVzZ8APciwtZntzIzDEX6dNnD4NoLL0AeYgosF7e+FVQBA==";
+        url = "https://registry.npmjs.org/create-torrent/-/create-torrent-4.5.0.tgz";
+        sha512 = "RvhI3/mMbvSGb+NbV2V1nax64fc47rRYXY8WJV47t4RfzM+P2p2zpAOYyBjKqz+CkBUexS9Mvgga4Rx53m+tyA==";
       };
     };
     "cron-1.7.2" = {
@@ -17285,13 +17591,13 @@ let
         sha512 = "AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==";
       };
     };
-    "csstype-2.6.14" = {
+    "csstype-2.6.16" = {
       name = "csstype";
       packageName = "csstype";
-      version = "2.6.14";
+      version = "2.6.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/csstype/-/csstype-2.6.14.tgz";
-        sha512 = "2mSc+VEpGPblzAxyeR+vZhJKgYg0Og0nnRi7pmRXFYYxSfnOnW8A5wwQb4n4cE2nIOzqKOAzLCaEX6aBmNEv8A==";
+        url = "https://registry.npmjs.org/csstype/-/csstype-2.6.16.tgz";
+        sha512 = "61FBWoDHp/gRtsoDkq/B1nWrCUG/ok1E3tUrcNbZjsE9Cxd9yzUirjS3+nAATB8U4cTtaQmAHbNndoFz5L6C9Q==";
       };
     };
     "csurf-1.11.0" = {
@@ -17366,6 +17672,15 @@ let
         sha1 = "82c18c2461f74114ef16c135224ad0b9144ca12f";
       };
     };
+    "culvert-0.1.2" = {
+      name = "culvert";
+      packageName = "culvert";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/culvert/-/culvert-0.1.2.tgz";
+        sha1 = "9502f5f0154a2d5a22a023e79f71cc936fa6ef6f";
+      };
+    };
     "currently-unhandled-0.4.1" = {
       name = "currently-unhandled";
       packageName = "currently-unhandled";
@@ -18356,15 +18671,6 @@ let
         sha512 = "pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==";
       };
     };
-    "debug-4.2.0" = {
-      name = "debug";
-      packageName = "debug";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz";
-        sha512 = "IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==";
-      };
-    };
     "debug-4.3.1" = {
       name = "debug";
       packageName = "debug";
@@ -18437,6 +18743,15 @@ let
         sha512 = "9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==";
       };
     };
+    "decamelize-5.0.0" = {
+      name = "decamelize";
+      packageName = "decamelize";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decamelize/-/decamelize-5.0.0.tgz";
+        sha512 = "U75DcT5hrio3KNtvdULAWnLiAPbFUC4191ldxMmj4FA/mRuBnmDwU0boNfPyFRhnan+Jm+haLeSn3P0afcBn4w==";
+      };
+    };
     "decamelize-keys-1.1.0" = {
       name = "decamelize-keys";
       packageName = "decamelize-keys";
@@ -18572,6 +18887,15 @@ let
         sha1 = "2495ddbaf6eb874abb0e1be9df22d2e5a544326c";
       };
     };
+    "dedent-js-1.0.1" = {
+      name = "dedent-js";
+      packageName = "dedent-js";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dedent-js/-/dedent-js-1.0.1.tgz";
+        sha1 = "bee5fb7c9e727d85dffa24590d10ec1ab1255305";
+      };
+    };
     "deep-eql-3.0.1" = {
       name = "deep-eql";
       packageName = "deep-eql";
@@ -18698,15 +19022,6 @@ let
         sha512 = "8cZeTb1ZKC3bdSCP6XOM1IsTczIO73fdqtwa2B0N15eAz7gmyhQo+mc5gnFuulsgN3vIQYmTgbmQVKalH1dKvQ==";
       };
     };
-    "deepmerge-1.5.2" = {
-      name = "deepmerge";
-      packageName = "deepmerge";
-      version = "1.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz";
-        sha512 = "95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==";
-      };
-    };
     "deepmerge-2.1.0" = {
       name = "deepmerge";
       packageName = "deepmerge";
@@ -18806,13 +19121,13 @@ let
         sha512 = "0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==";
       };
     };
-    "defer-to-connect-2.0.0" = {
+    "defer-to-connect-2.0.1" = {
       name = "defer-to-connect";
       packageName = "defer-to-connect";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.0.tgz";
-        sha512 = "bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg==";
+        url = "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz";
+        sha512 = "4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==";
       };
     };
     "deferred-0.7.11" = {
@@ -18941,22 +19256,13 @@ let
         sha512 = "WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag==";
       };
     };
-    "delay-4.4.0" = {
+    "delay-4.4.1" = {
       name = "delay";
       packageName = "delay";
-      version = "4.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/delay/-/delay-4.4.0.tgz";
-        sha512 = "txgOrJu3OdtOfTiEOT2e76dJVfG/1dz2NZ4F0Pyt4UGZJryssMRp5vdM5wQoLwSOBNdrJv3F9PAhp/heqd7vrA==";
-      };
-    };
-    "delay-async-1.2.0" = {
-      name = "delay-async";
-      packageName = "delay-async";
-      version = "1.2.0";
+      version = "4.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/delay-async/-/delay-async-1.2.0.tgz";
-        sha512 = "BDhPL4k42yL2c0b5zTUlMIM3/wmv77HOgZi4ya/8tOHw16GZ1i9Qj7Tmy3xt0jWb4VmpQtklLPReUtOUZUuzuQ==";
+        url = "https://registry.npmjs.org/delay/-/delay-4.4.1.tgz";
+        sha512 = "aL3AhqtfhOlT/3ai6sWXeqwnw63ATNpnUiN4HL7x9q+My5QtHlO3OIkasmug9LKzpheLdmUKGRKnYXYAS7FQkQ==";
       };
     };
     "delayed-stream-1.0.0" = {
@@ -19283,22 +19589,13 @@ let
         sha512 = "SrsUCfCaDTF64QVMHMidRal+kmkbIc5zP8cxxZPsomWx9vuEUjBlSJNhf7/ypE5cLdJJDI4qzKDmyzqQ+iz/xg==";
       };
     };
-    "devcert-1.1.3" = {
-      name = "devcert";
-      packageName = "devcert";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/devcert/-/devcert-1.1.3.tgz";
-        sha512 = "7/nIzKdQ8y2K0imjIP7dyg2GJ2h38Ps6VOMXWZHIarNDV3p6mTXyEugKFnkmsZ2DD58JEG34ILyVb3qdOMmP9w==";
-      };
-    };
-    "devtools-protocol-0.0.818844" = {
+    "devtools-protocol-0.0.847576" = {
       name = "devtools-protocol";
       packageName = "devtools-protocol";
-      version = "0.0.818844";
+      version = "0.0.847576";
       src = fetchurl {
-        url = "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.818844.tgz";
-        sha512 = "AD1hi7iVJ8OD0aMLQU5VK0XH9LDlA1+BcPIgrAxPfaibx2DbWucuyOhc4oyQCbnvDDO68nN6/LcKfqTP343Jjg==";
+        url = "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.847576.tgz";
+        sha512 = "0M8kobnSQE0Jmly7Mhbeq0W/PpZfnuK+WjN2ZRVPbGqYwCHCioAVp84H0TcLimgECcN5H976y5QiXMGBC9JKmg==";
       };
     };
     "dezalgo-1.0.3" = {
@@ -19382,6 +19679,15 @@ let
         sha512 = "58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==";
       };
     };
+    "diff-5.0.0" = {
+      name = "diff";
+      packageName = "diff";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz";
+        sha512 = "/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==";
+      };
+    };
     "diff-match-patch-1.0.5" = {
       name = "diff-match-patch";
       packageName = "diff-match-patch";
@@ -19670,15 +19976,6 @@ let
         sha512 = "cwaRptBmYZwu/FyhGcqBm2MzXA77W2/E6eVkpOZVDk6PkI9Bjj84xPrXiHMA+OWjzNy+DFjgKh8Q+1hMR7/OHg==";
       };
     };
-    "dockerfile-ast-0.0.30" = {
-      name = "dockerfile-ast";
-      packageName = "dockerfile-ast";
-      version = "0.0.30";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dockerfile-ast/-/dockerfile-ast-0.0.30.tgz";
-        sha512 = "QOeP5NjbjoSLtnMz6jzBLsrKtywLEVPoCOAwA54cQpulyKb1gBnZ63tr6Amq8oVDvu5PXa3aifBVw+wcoCGHKg==";
-      };
-    };
     "dockerfile-ast-0.1.0" = {
       name = "dockerfile-ast";
       packageName = "dockerfile-ast";
@@ -20408,13 +20705,22 @@ let
         sha512 = "dldq3ZfFtgVTJMLjOe+/3sROTzALlL9E34V4/sDtUd/KlBSS0s6U1/+WPE1B4sj9CXHJpL1M6rhNJnc9Wbal9w==";
       };
     };
-    "electron-to-chromium-1.3.645" = {
+    "ejs-3.1.6" = {
+      name = "ejs";
+      packageName = "ejs";
+      version = "3.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz";
+        sha512 = "9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==";
+      };
+    };
+    "electron-to-chromium-1.3.675" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.3.645";
+      version = "1.3.675";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.645.tgz";
-        sha512 = "T7mYop3aDpRHIQaUYcmzmh6j9MAe560n6ukqjJMbVC6bVTau7dSpvB18bcsBPPtOSe10cKxhJFtlbEzLa0LL1g==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.675.tgz";
+        sha512 = "GEQw+6dNWjueXGkGfjgm7dAMtXfEqrfDG3uWcZdeaD4cZ3dKYdPRQVruVXQRXtPLtOr5GNVVlNLRMChOZ611pQ==";
       };
     };
     "electrum-client-git://github.com/janoside/electrum-client" = {
@@ -20472,13 +20778,13 @@ let
         sha512 = "4Kp3AA94jC085IJox+qnvrZ3PudqTi4gQNvIoTZfJJ9IqkRuCoqP60vCVYlIg00c5aYusi5Wjh2bf0cHYt+6gQ==";
       };
     };
-    "elliptic-6.5.3" = {
+    "elliptic-6.5.4" = {
       name = "elliptic";
       packageName = "elliptic";
-      version = "6.5.3";
+      version = "6.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz";
-        sha512 = "IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==";
+        url = "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz";
+        sha512 = "iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==";
       };
     };
     "email-validator-2.0.4" = {
@@ -20496,7 +20802,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         name = "emitter-1.0.1.tar.gz";
-        url = https://codeload.github.com/component/emitter/tar.gz/1.0.1;
+        url = "https://codeload.github.com/component/emitter/tar.gz/1.0.1";
         sha256 = "0eae744826723877457f7a7ac7f31d68a5a060673b3a883f6a8e325bf48f313d";
       };
     };
@@ -20509,6 +20815,15 @@ let
         sha512 = "Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==";
       };
     };
+    "emmet-2.3.2" = {
+      name = "emmet";
+      packageName = "emmet";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emmet/-/emmet-2.3.2.tgz";
+        sha512 = "PRHGy5RfLp7+WBgoNq0QYtjSbbG1g28PtnN8McPhlEMoPwZWBDftVIz4vDNUNvQFSBtekuYZxB7J0vLgodZxFw==";
+      };
+    };
     "emoji-named-characters-1.0.2" = {
       name = "emoji-named-characters";
       packageName = "emoji-named-characters";
@@ -20662,15 +20977,6 @@ let
         sha1 = "d4596e702734a93e40e9af864319eabd99ff2f0e";
       };
     };
-    "end-of-stream-1.4.1" = {
-      name = "end-of-stream";
-      packageName = "end-of-stream";
-      version = "1.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz";
-        sha512 = "1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==";
-      };
-    };
     "end-of-stream-1.4.4" = {
       name = "end-of-stream";
       packageName = "end-of-stream";
@@ -20752,13 +21058,13 @@ let
         sha512 = "rf7HAVZpcRrcKEKddgIzYUnwg0g5HE1RvJaTLwkcfJmce4g+po8aMuE6vxzp6JwlK8FEq/vi0KWN6tA585DjaA==";
       };
     };
-    "engine.io-4.1.0" = {
+    "engine.io-4.1.1" = {
       name = "engine.io";
       packageName = "engine.io";
-      version = "4.1.0";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/engine.io/-/engine.io-4.1.0.tgz";
-        sha512 = "vW7EAtn0HDQ4MtT5QbmCHF17TaYLONv2/JwdYsq9USPRZVM4zG7WB3k0Nc321z8EuSOlhGokrYlYx4176QhD0A==";
+        url = "https://registry.npmjs.org/engine.io/-/engine.io-4.1.1.tgz";
+        sha512 = "t2E9wLlssQjGw0nluF6aYyfX8LwYU8Jj0xct+pAhfWfv/YrBn6TSNtEYsgxHIfaMqfrLx07czcMg9bMN6di+3w==";
       };
     };
     "engine.io-client-1.3.1" = {
@@ -20923,22 +21229,22 @@ let
         sha512 = "5CCY/3ci4MC1m2jlumNjWd7VBFt4VfFnmSqSNmVcXq4gxM3Vmarxtt+SvmBnzwLS669MWdVuXboNVj1qN2esVg==";
       };
     };
-    "env-ci-3.2.2" = {
+    "env-ci-5.0.2" = {
       name = "env-ci";
       packageName = "env-ci";
-      version = "3.2.2";
+      version = "5.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/env-ci/-/env-ci-3.2.2.tgz";
-        sha512 = "AOiNZ3lmxrtva3r/roqaYDF+1PX2V+ouUzuGqJf7KNxyyYkuU+CsfFbbUeibQPdixxjI/lP6eDtvtkX1/wymJw==";
+        url = "https://registry.npmjs.org/env-ci/-/env-ci-5.0.2.tgz";
+        sha512 = "Xc41mKvjouTXD3Oy9AqySz1IeyvJvHZ20Twf5ZLYbNpPPIuCnL/qHCmNlD01LoNy0JTunw9HPYVptD19Ac7Mbw==";
       };
     };
-    "env-editor-0.4.1" = {
+    "env-editor-0.4.2" = {
       name = "env-editor";
       packageName = "env-editor";
-      version = "0.4.1";
+      version = "0.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/env-editor/-/env-editor-0.4.1.tgz";
-        sha512 = "suh+Vm00GnPQgXpmONTkcUT9LgBSL6sJrRnJxbykT0j+ONjzmIS+1U3ne467ArdZN/42/npp+GnhtwkLQ+vUjw==";
+        url = "https://registry.npmjs.org/env-editor/-/env-editor-0.4.2.tgz";
+        sha512 = "ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA==";
       };
     };
     "env-paths-1.0.0" = {
@@ -20986,6 +21292,15 @@ let
         sha512 = "46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==";
       };
     };
+    "envinfo-7.7.4" = {
+      name = "envinfo";
+      packageName = "envinfo";
+      version = "7.7.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/envinfo/-/envinfo-7.7.4.tgz";
+        sha512 = "TQXTYFVVwwluWSFis6K2XKxgrD22jEv0FTuLCQI+OjH7rn93+iY0fSSFM5lrSxFY+H1+B0/cvvlamr3UsBivdQ==";
+      };
+    };
     "eol-0.9.1" = {
       name = "eol";
       packageName = "eol";
@@ -21112,13 +21427,13 @@ let
         sha512 = "+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==";
       };
     };
-    "es-module-lexer-0.3.26" = {
+    "es-module-lexer-0.4.0" = {
       name = "es-module-lexer";
       packageName = "es-module-lexer";
-      version = "0.3.26";
+      version = "0.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.3.26.tgz";
-        sha512 = "Va0Q/xqtrss45hWzP8CZJwzGSZJjDM5/MJRE3IXXnUCcVLElR9BRaE9F62BopysASyc4nM3uwhSW7FFB9nlWAA==";
+        url = "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.0.tgz";
+        sha512 = "iuEGihqqhKWFgh72Q/Jtch7V2t/ft8w8IPP2aEN8ArYKO+IWyo6hsi96hCdgyeEDQIV3InhYQ9BlwUFPGXrbEQ==";
       };
     };
     "es-to-primitive-1.2.1" = {
@@ -21265,6 +21580,15 @@ let
         sha512 = "p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==";
       };
     };
+    "esbuild-0.8.53" = {
+      name = "esbuild";
+      packageName = "esbuild";
+      version = "0.8.53";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild/-/esbuild-0.8.53.tgz";
+        sha512 = "GIaYGdMukH58hu+lf07XWAeESBYFAsz8fXnrylHDCbBXKOSNtFmoYA8PhSeSF+3/qzeJ0VjzV9AkLURo5yfu3g==";
+      };
+    };
     "esc-exit-2.0.2" = {
       name = "esc-exit";
       packageName = "esc-exit";
@@ -21463,13 +21787,13 @@ let
         sha512 = "5YubdnPXrlrYAFCKybPuHIAH++PINe1pmKNc5wQRB9HSbqIK1ywAnntE3Wwua4giKu0bjligf1gLF6qxMGOYRA==";
       };
     };
-    "eslint-7.18.0" = {
+    "eslint-7.21.0" = {
       name = "eslint";
       packageName = "eslint";
-      version = "7.18.0";
+      version = "7.21.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz";
-        sha512 = "fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==";
+        url = "https://registry.npmjs.org/eslint/-/eslint-7.21.0.tgz";
+        sha512 = "W2aJbXpMNofUp0ztQaF40fveSsJBjlSCSWpy//gzfTvwC+USs/nceBrKmlJOiM8r1bLwP2EuYkCqArn/6QTIgg==";
       };
     };
     "eslint-plugin-no-unsanitized-3.1.4" = {
@@ -21499,13 +21823,13 @@ let
         sha512 = "Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ==";
       };
     };
-    "eslint-plugin-vue-7.5.0" = {
+    "eslint-plugin-vue-7.6.0" = {
       name = "eslint-plugin-vue";
       packageName = "eslint-plugin-vue";
-      version = "7.5.0";
+      version = "7.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.5.0.tgz";
-        sha512 = "QnMMTcyV8PLxBz7QQNAwISSEs6LYk2LJvGlxalXvpCtfKnqo7qcY0aZTIxPe8QOnHd7WCwiMZLOJzg6A03T0Gw==";
+        url = "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.6.0.tgz";
+        sha512 = "qYpKwAvpcQXyUXVcG8Zd+fxHDx9iSgTQuO7dql7Ug/2BCvNNDr6s3I9p8MoUo23JJdO7ZAjW3vSwY/EBf4uBcw==";
       };
     };
     "eslint-scope-3.7.3" = {
@@ -21697,13 +22021,13 @@ let
         sha1 = "633acdb40d9bd4db8a1c1d68c06a942959fad2b0";
       };
     };
-    "esquery-1.3.1" = {
+    "esquery-1.4.0" = {
       name = "esquery";
       packageName = "esquery";
-      version = "1.3.1";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz";
-        sha512 = "olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==";
+        url = "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz";
+        sha512 = "cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==";
       };
     };
     "esrecurse-4.3.0" = {
@@ -21967,6 +22291,15 @@ let
         sha512 = "t0A2msp6BzOf+QAcI6z9XMktLj52OjGQg+8SJH6v5+3uxNpWYRR3wQmfA+6xtMU9kOC59qk9licus5dYcrYkMQ==";
       };
     };
+    "eventemitter2-6.4.4" = {
+      name = "eventemitter2";
+      packageName = "eventemitter2";
+      version = "6.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.4.tgz";
+        sha512 = "HLU3NDY6wARrLCEwyGKRBvuWYyvW6mHYv72SJJAH3iJN3a6eVUvkjFkcxah1bcTgGVBBrFdIopBJPhCQFMLyXw==";
+      };
+    };
     "eventemitter3-1.2.0" = {
       name = "eventemitter3";
       packageName = "eventemitter3";
@@ -22030,13 +22363,13 @@ let
         sha512 = "3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==";
       };
     };
-    "events-3.2.0" = {
+    "events-3.3.0" = {
       name = "events";
       packageName = "events";
-      version = "3.2.0";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/events/-/events-3.2.0.tgz";
-        sha512 = "/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==";
+        url = "https://registry.npmjs.org/events/-/events-3.3.0.tgz";
+        sha512 = "mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==";
       };
     };
     "events-listener-1.1.0" = {
@@ -22336,13 +22669,13 @@ let
         sha1 = "a793d3ac0cad4c6ab571e9968fbbab6cb2532929";
       };
     };
-    "expo-pwa-0.0.62" = {
+    "expo-pwa-0.0.66" = {
       name = "expo-pwa";
       packageName = "expo-pwa";
-      version = "0.0.62";
+      version = "0.0.66";
       src = fetchurl {
-        url = "https://registry.npmjs.org/expo-pwa/-/expo-pwa-0.0.62.tgz";
-        sha512 = "pEhMcGp1Z89R6P+Pio+ivoplqDTaL37k7QL2yW0GE0EaRHWNgNynX5CIxGREvW3nSn23nVsGo7IL+QW2LwAMAg==";
+        url = "https://registry.npmjs.org/expo-pwa/-/expo-pwa-0.0.66.tgz";
+        sha512 = "9+Pv5qL/W3PnInyXTYhCQ6ukzo2IFzQEJDss9b6frNvxBJzAJWR7F7dsvIaCOr5WrtMBStf4SVdWvGTdssi+XA==";
       };
     };
     "express-2.5.11" = {
@@ -22435,13 +22768,13 @@ let
         sha512 = "64YwTWpxgVGnwoLi4zvKaQ5RWIV0dkxVE4GGkBF7D89RI0/I6gTRUDL25Il4AK3cUqyLtxnX2X5BZ2YRvRx5uQ==";
       };
     };
-    "express-openapi-7.2.3" = {
+    "express-openapi-7.4.0" = {
       name = "express-openapi";
       packageName = "express-openapi";
-      version = "7.2.3";
+      version = "7.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/express-openapi/-/express-openapi-7.2.3.tgz";
-        sha512 = "j79aEXtTKJ6yp5XM+YPGn14GOaODGovDbvuCJzrG0KbaIB2v0liq9ezpvufqsb5ixXZ3jsu+B2FuJJOvUUjW2Q==";
+        url = "https://registry.npmjs.org/express-openapi/-/express-openapi-7.4.0.tgz";
+        sha512 = "pwFIbxXcs0oQ+meXRVK6FIBSgUFlOzvkLT6p64JkMzKopRCWYykVzwU4ojWHNRUax9/RnnOQMtdJMJ7yWsM6OA==";
       };
     };
     "express-session-1.17.1" = {
@@ -22822,6 +23155,15 @@ let
         sha512 = "4WKW0AL5+WEqO0zWavAfYGY1qwLsBgE//DN4TTcVEN2UlINgkv9b3vm2iHicoenWKSX9mKWmGOsU/iI5IST7pQ==";
       };
     };
+    "fast-equals-2.0.0" = {
+      name = "fast-equals";
+      packageName = "fast-equals";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-equals/-/fast-equals-2.0.0.tgz";
+        sha512 = "u6RBd8cSiLLxAiC04wVsLV6GBFDOXcTCgWkd3wEoFXgidPSoAJENqC9m7Jb2vewSvjBIfXV6icKeh3GTKfIaXA==";
+      };
+    };
     "fast-glob-2.2.7" = {
       name = "fast-glob";
       packageName = "fast-glob";
@@ -22957,6 +23299,15 @@ let
         sha512 = "On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==";
       };
     };
+    "fastintcompression-0.0.4" = {
+      name = "fastintcompression";
+      packageName = "fastintcompression";
+      version = "0.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fastintcompression/-/fastintcompression-0.0.4.tgz";
+        sha512 = "sRtejNHcWjJl0Fr+gsbybbgOKKj0sQYvv7rA787EbeFu1fMpmzjHuBW8fLBImSZeqDuR++TZU2n60mRrpAUR9g==";
+      };
+    };
     "fastparse-1.1.2" = {
       name = "fastparse";
       packageName = "fastparse";
@@ -22966,13 +23317,22 @@ let
         sha512 = "483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==";
       };
     };
-    "fastq-1.10.0" = {
+    "fastpriorityqueue-0.6.3" = {
+      name = "fastpriorityqueue";
+      packageName = "fastpriorityqueue";
+      version = "0.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.6.3.tgz";
+        sha512 = "l4Whw9/MDkl/0XuqZEzGE/sw9T7dIxuUnxqq4ZJDLt8AE45j8wkx4/nBRZm50aQ9kN71NB9mwQzglLsvQGROsw==";
+      };
+    };
+    "fastq-1.11.0" = {
       name = "fastq";
       packageName = "fastq";
-      version = "1.10.0";
+      version = "1.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz";
-        sha512 = "NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==";
+        url = "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz";
+        sha512 = "7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==";
       };
     };
     "fault-1.0.4" = {
@@ -22984,14 +23344,13 @@ let
         sha512 = "CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==";
       };
     };
-    "faunadb-git+https://github.com/fauna/faunadb-js.git#triage/bearer-to-basic" = {
+    "faunadb-4.0.3" = {
       name = "faunadb";
       packageName = "faunadb";
-      version = "4.0.0";
-      src = fetchgit {
-        url = "https://github.com/fauna/faunadb-js.git";
-        rev = "135256ed60a8043201085f18ed6fd2032cc9dd88";
-        sha256 = "0c7dae0478258a6cc72621ea148471492616b8b03e79cf975aee9fdc3bd480a0";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/faunadb/-/faunadb-4.0.3.tgz";
+        sha512 = "pfXX3pwyQQfsx+wO4u8m16gQyDPJRbpjMGk5fCzq0tCT/3mPyCVlc5zTorSdBWWmLFuResP9idFrWdqo+q2IEA==";
       };
     };
     "faye-websocket-0.10.0" = {
@@ -23030,13 +23389,13 @@ let
         sha1 = "10e85da38bfea7fc599341c296ee1d77266ee640";
       };
     };
-    "fd-lock-1.1.1" = {
+    "fd-lock-1.2.0" = {
       name = "fd-lock";
       packageName = "fd-lock";
-      version = "1.1.1";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fd-lock/-/fd-lock-1.1.1.tgz";
-        sha512 = "Ng+IXbq6LPMDvvVb0Vr325NjqhPwqlLIvmf43ii7t3WQvo2sHU6V6jQY1cclflxPaPfvNUAuD5VdPuIO1sp50g==";
+        url = "https://registry.npmjs.org/fd-lock/-/fd-lock-1.2.0.tgz";
+        sha512 = "Lk/pKH2DldLpG4Yh/sOOY84k5VqNzxHPffGwf1+yYI+/qMXzTPp9KJMX+Wh6n4xqGSA1Mu7JPmaDArfJGw2O/A==";
       };
     };
     "fd-read-stream-1.1.0" = {
@@ -23156,13 +23515,13 @@ let
         sha512 = "bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==";
       };
     };
-    "file-entry-cache-6.0.0" = {
+    "file-entry-cache-6.0.1" = {
       name = "file-entry-cache";
       packageName = "file-entry-cache";
-      version = "6.0.0";
+      version = "6.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz";
-        sha512 = "fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==";
+        url = "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz";
+        sha512 = "7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==";
       };
     };
     "file-loader-6.0.0" = {
@@ -23291,13 +23650,13 @@ let
         sha512 = "hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==";
       };
     };
-    "filelist-1.0.1" = {
+    "filelist-1.0.2" = {
       name = "filelist";
       packageName = "filelist";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/filelist/-/filelist-1.0.1.tgz";
-        sha512 = "8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ==";
+        url = "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz";
+        sha512 = "z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==";
       };
     };
     "filename-regex-2.0.1" = {
@@ -23399,6 +23758,15 @@ let
         sha512 = "qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==";
       };
     };
+    "filter-obj-1.1.0" = {
+      name = "filter-obj";
+      packageName = "filter-obj";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz";
+        sha1 = "9b311112bc6c6127a16e016c6c5d7f19e0805c5b";
+      };
+    };
     "filter-obj-2.0.1" = {
       name = "filter-obj";
       packageName = "filter-obj";
@@ -23768,13 +24136,13 @@ let
         sha512 = "jlbUu0XkbpXeXhan5xyTqVK1jmEKNxE8hpzznI3TThHTr76GiFwK0iRzhDo4KNy+S9h/KxHaqVhTP86vA6wHCg==";
       };
     };
-    "flow-parser-0.143.1" = {
+    "flow-parser-0.145.0" = {
       name = "flow-parser";
       packageName = "flow-parser";
-      version = "0.143.1";
+      version = "0.145.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.143.1.tgz";
-        sha512 = "DWmnt0P1tieuQErYeWmxCNIkzm5Fqd5sMH685v/jCtu8CAvdLEwKi45jqYhij178k+NAy+FNe2jDvQNs7WLBIA==";
+        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.145.0.tgz";
+        sha512 = "dqpYiE0rZopmex5FR6pi/HTia8i+q/euc9WUWH6fTLt6sQgXjnAcsOwgMMLHCxwCSqPrvi/XFmBiicKitLNrKA==";
       };
     };
     "fluent-ffmpeg-2.1.2" = {
@@ -23939,22 +24307,13 @@ let
         sha512 = "VjAQdSLsl6AkpZNyrQJfO7BXLo4chnStqb055bumZMbRUPpVuPN3a4ktsnRCmrFZjtMlYLkyXiR5rAs4WOpC4Q==";
       };
     };
-    "follow-redirects-1.13.2" = {
-      name = "follow-redirects";
-      packageName = "follow-redirects";
-      version = "1.13.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz";
-        sha512 = "6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==";
-      };
-    };
-    "follow-redirects-1.5.10" = {
+    "follow-redirects-1.13.3" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
-      version = "1.5.10";
+      version = "1.13.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz";
-        sha512 = "0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==";
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.3.tgz";
+        sha512 = "DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA==";
       };
     };
     "font-awesome-filetypes-2.1.0" = {
@@ -24065,13 +24424,13 @@ let
         sha512 = "DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==";
       };
     };
-    "fork-ts-checker-webpack-plugin-6.0.5" = {
+    "fork-ts-checker-webpack-plugin-6.1.0" = {
       name = "fork-ts-checker-webpack-plugin";
       packageName = "fork-ts-checker-webpack-plugin";
-      version = "6.0.5";
+      version = "6.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.0.5.tgz";
-        sha512 = "2jIHv2RhXzSxWtvRQX/ZtOxd5joo+FQYzn+sJ/hyLqApKGgvjMEMF951GnvuSNPheGsqiVzIDjvSZo1qRtry1Q==";
+        url = "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.1.0.tgz";
+        sha512 = "xLNufWQ1dfQUdZe48TGQlER/0OkcMnUB6lfbN9Tt13wsYyo+2DwcCbnOaPBo1PoFow/WL8pJPktGIdbJaHxAnw==";
       };
     };
     "form-data-1.0.0-rc3" = {
@@ -24119,13 +24478,22 @@ let
         sha512 = "m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==";
       };
     };
-    "form-data-3.0.0" = {
+    "form-data-3.0.1" = {
       name = "form-data";
       packageName = "form-data";
-      version = "3.0.0";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz";
-        sha512 = "CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==";
+        url = "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz";
+        sha512 = "RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==";
+      };
+    };
+    "form-data-4.0.0" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz";
+        sha512 = "ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==";
       };
     };
     "form-urlencoded-4.2.1" = {
@@ -24200,13 +24568,13 @@ let
         sha512 = "wJaE62fLaB3jCYvY2ZHjZvmKK2iiLiiehX38rz5QZxtdN8fVPJDeZUiVvJrHStdTc+23LHlyZuSEKgFc0pxi2g==";
       };
     };
-    "fp-ts-2.9.3" = {
+    "fp-ts-2.9.5" = {
       name = "fp-ts";
       packageName = "fp-ts";
-      version = "2.9.3";
+      version = "2.9.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fp-ts/-/fp-ts-2.9.3.tgz";
-        sha512 = "NjzcHYgigcbPQ6yJ52zwgsVDwKz3vwy9sjbxyzcvfXQm+j1BGeOPRuzLKEwsLyE4Xut6gG1FXJtsU9/gUB7tXg==";
+        url = "https://registry.npmjs.org/fp-ts/-/fp-ts-2.9.5.tgz";
+        sha512 = "MiHrA5teO6t8zKArE3DdMPT/Db6v2GUt5yfWnhBTrrsVfeCJUUnV6sgFvjGNBKDmEMqVwRFkEePL7wPwqrLKKA==";
       };
     };
     "fragment-cache-0.2.1" = {
@@ -24317,13 +24685,13 @@ let
         sha512 = "KhjJmZAs2eqfhCb6PdPx4RcZtheGTz86tpTC5JTvqBn/xda+Nb+0C7dCyjOSN7T76H6a56LvH0SVXQMchLXDRw==";
       };
     };
-    "fs-chunk-store-2.0.2" = {
+    "fs-chunk-store-2.0.3" = {
       name = "fs-chunk-store";
       packageName = "fs-chunk-store";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fs-chunk-store/-/fs-chunk-store-2.0.2.tgz";
-        sha512 = "4nSngo6KyoGguscb5sTxjcxOvtRiMxuQl4vFK9SnYYMjmy08Nm095ACoM3lxj1KmCuxO4JMnuo4EebMWHlagjQ==";
+        url = "https://registry.npmjs.org/fs-chunk-store/-/fs-chunk-store-2.0.3.tgz";
+        sha512 = "qQi93nHX3880gtoQPt1hKQcuYBNVfCbMk8OVRDqR0cJ0riheELW25ry9yl7pII8E9gOAONTGKBD5N/zGHFSVQg==";
       };
     };
     "fs-constants-1.0.0" = {
@@ -24587,13 +24955,13 @@ let
         sha512 = "bTLYHSeC0UH/EFXS9KqWnXuOl/wHK5Z/d+ghd5AsFMYN7wIGkUCOJyzy88+wJKkZPGON8u4Z9f6U4FdgURE9qA==";
       };
     };
-    "fsevents-2.3.1" = {
+    "fsevents-2.3.2" = {
       name = "fsevents";
       packageName = "fsevents";
-      version = "2.3.1";
+      version = "2.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz";
-        sha512 = "YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==";
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz";
+        sha512 = "xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==";
       };
     };
     "fstream-0.1.31" = {
@@ -24839,15 +25207,6 @@ let
         sha512 = "3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==";
       };
     };
-    "geoip-country-4.0.53" = {
-      name = "geoip-country";
-      packageName = "geoip-country";
-      version = "4.0.53";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/geoip-country/-/geoip-country-4.0.53.tgz";
-        sha512 = "nfSIkLmt432isig80keqzkWo0N87CE1Ezv+T0SIFx6z7DNSRenKQn+v4EHts3RguJ0x/hg9skTOjaTLeqGyrfw==";
-      };
-    };
     "get-amd-module-type-3.0.0" = {
       name = "get-amd-module-type";
       packageName = "get-amd-module-type";
@@ -24902,13 +25261,13 @@ let
         sha1 = "ead774abee72e20409433a066366023dd6887a41";
       };
     };
-    "get-intrinsic-1.1.0" = {
+    "get-intrinsic-1.1.1" = {
       name = "get-intrinsic";
       packageName = "get-intrinsic";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.0.tgz";
-        sha512 = "M11rgtQp5GZMZzDL7jLTNxbDfurpzuau5uqRWDPvlHjfvg3TdScAZo96GLvhMjImrmR8uAt0FS2RLoMrfWGKlg==";
+        url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz";
+        sha512 = "kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==";
       };
     };
     "get-own-enumerable-property-symbols-3.0.2" = {
@@ -25190,6 +25549,15 @@ let
         sha512 = "PdNkH2snpXsKIzho6OWMZKEl+KZG6Zm+1ghQIDi0tEq1sz/S1tDjvNuYrX2ZpomalHAB89OUQim8O6vN+jesNQ==";
       };
     };
+    "git-node-fs-1.0.0" = {
+      name = "git-node-fs";
+      packageName = "git-node-fs";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/git-node-fs/-/git-node-fs-1.0.0.tgz";
+        sha1 = "49b215e242ebe43aa4c7561bbba499521752080f";
+      };
+    };
     "git-packidx-parser-1.0.0" = {
       name = "git-packidx-parser";
       packageName = "git-packidx-parser";
@@ -25262,6 +25630,15 @@ let
         sha512 = "tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA==";
       };
     };
+    "git-sha1-0.1.2" = {
+      name = "git-sha1";
+      packageName = "git-sha1";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/git-sha1/-/git-sha1-0.1.2.tgz";
+        sha1 = "599ac192b71875825e13a445f3a6e05118c2f745";
+      };
+    };
     "git-spawned-stream-1.0.1" = {
       name = "git-spawned-stream";
       packageName = "git-spawned-stream";
@@ -25577,13 +25954,22 @@ let
         sha512 = "MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==";
       };
     };
+    "global-dirs-3.0.0" = {
+      name = "global-dirs";
+      packageName = "global-dirs";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz";
+        sha512 = "v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==";
+      };
+    };
     "global-https://github.com/component/global/archive/v2.0.1.tar.gz" = {
       name = "global";
       packageName = "global";
       version = "2.0.1";
       src = fetchurl {
         name = "global-2.0.1.tar.gz";
-        url = https://codeload.github.com/component/global/tar.gz/v2.0.1;
+        url = "https://codeload.github.com/component/global/tar.gz/v2.0.1";
         sha256 = "42be02b7148745447f6ba21137c972ca82d2cad92d30d63bd4fc310623901785";
       };
     };
@@ -25686,13 +26072,13 @@ let
         sha512 = "S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==";
       };
     };
-    "globalthis-1.0.1" = {
+    "globalthis-1.0.2" = {
       name = "globalthis";
       packageName = "globalthis";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz";
-        sha512 = "mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==";
+        url = "https://registry.npmjs.org/globalthis/-/globalthis-1.0.2.tgz";
+        sha512 = "ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==";
       };
     };
     "globalyzer-0.1.4" = {
@@ -25848,6 +26234,15 @@ let
         sha512 = "Q+ZjUEvLQj/lrVHF/IQwRo6p3s8Nc44Zk/DALsN+ac3T4HY/g/3rrufkgtl+nZ1TW7DNAw5cTChdVp4apUXVgQ==";
       };
     };
+    "google-auth-library-7.0.2" = {
+      name = "google-auth-library";
+      packageName = "google-auth-library";
+      version = "7.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.0.2.tgz";
+        sha512 = "vjyNZR3pDLC0u7GHLfj+Hw9tGprrJwoMwkYGqURCXYITjCrP9HprOyxVV+KekdLgATtWGuDkQG2MTh0qpUPUgg==";
+      };
+    };
     "google-closure-compiler-js-20170910.0.1" = {
       name = "google-closure-compiler-js";
       packageName = "google-closure-compiler-js";
@@ -25857,13 +26252,13 @@ let
         sha512 = "Vric7QFWxzHFxITZ10bmlG1H/5rhODb7hJuWyKWMD8GflpQzRmbMVqkFp3fKvN+U9tPwZItGVhkiOR+84PX3ew==";
       };
     };
-    "google-gax-2.10.0" = {
+    "google-gax-2.10.3" = {
       name = "google-gax";
       packageName = "google-gax";
-      version = "2.10.0";
+      version = "2.10.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/google-gax/-/google-gax-2.10.0.tgz";
-        sha512 = "K+1JK5ofNl5k30LsI8UQb/DeLMEbhL/SWirCx0L9pnMcApSfAjRAO7yajXT5X1vicxDBnNSwKs+cu4elxpYraw==";
+        url = "https://registry.npmjs.org/google-gax/-/google-gax-2.10.3.tgz";
+        sha512 = "jESs/ME9WgMzfGQKJDu9ea2mEKjznKByRL+5xb8mKfHlbUfS/LxNLNCg/35RgXwVXcNSCqkEY90z8wHxvgdd/Q==";
       };
     };
     "google-p12-pem-3.0.3" = {
@@ -25929,13 +26324,13 @@ let
         sha512 = "yUhpEDLeuGiGJjRSzEq3kvt4zJtAcjKmhIiwNp/eUs75tRlXfWcHo5tcBaMQtnjHWC7nQYT5HkY/l0QOQTkVww==";
       };
     };
-    "got-11.8.1" = {
+    "got-11.8.2" = {
       name = "got";
       packageName = "got";
-      version = "11.8.1";
+      version = "11.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/got/-/got-11.8.1.tgz";
-        sha512 = "9aYdZL+6nHmvJwHALLwKSUZ0hMwGaJGYv3hoPLPgnT8BoBXm1SjnZeky+91tfwJaDzun2s4RsBRy48IEYv2q2Q==";
+        url = "https://registry.npmjs.org/got/-/got-11.8.2.tgz";
+        sha512 = "D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ==";
       };
     };
     "got-3.3.1" = {
@@ -26019,13 +26414,13 @@ let
         sha512 = "6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==";
       };
     };
-    "graceful-fs-4.2.4" = {
+    "graceful-fs-4.2.6" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.4";
+      version = "4.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz";
-        sha512 = "WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz";
+        sha512 = "nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==";
       };
     };
     "graceful-readlink-1.0.1" = {
@@ -26100,15 +26495,6 @@ let
         sha512 = "GTCJtzJmkFLWRfFJuoo9RWWa/FfamUHgiFosxi/X1Ani4AVWbeyBenZTNX6dM+7WSbbFfTo/25eh0LLkwHMw2w==";
       };
     };
-    "graphql-15.5.0" = {
-      name = "graphql";
-      packageName = "graphql";
-      version = "15.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz";
-        sha512 = "OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==";
-      };
-    };
     "graphql-anywhere-4.2.7" = {
       name = "graphql-anywhere";
       packageName = "graphql-anywhere";
@@ -26136,13 +26522,13 @@ let
         sha512 = "xjsSaB6yKt9jarFNNdivl2VOx52WySYhxPgf8Y16g6GKZyAzBoIFiwyGw5PJDlOSUa6cpmzn6o7z8fVMbSAbkg==";
       };
     };
-    "graphql-subscriptions-1.1.0" = {
+    "graphql-subscriptions-1.2.0" = {
       name = "graphql-subscriptions";
       packageName = "graphql-subscriptions";
-      version = "1.1.0";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-subscriptions/-/graphql-subscriptions-1.1.0.tgz";
-        sha512 = "6WzlBFC0lWmXJbIVE8OgFgXIP4RJi3OQgTPa0DVMsDXdpRDjTsM1K9wfl5HSYX7R87QAGlvcv2Y4BIZa/ItonA==";
+        url = "https://registry.npmjs.org/graphql-subscriptions/-/graphql-subscriptions-1.2.0.tgz";
+        sha512 = "uXvp729fztqwa7HFUFaAqKwNMwwOfsvu4HwOu7/35Cd44bNrMPCn97mNGN0ybuuZE36CPXBTaW/4U/xyOS4D9w==";
       };
     };
     "graphql-tag-2.11.0" = {
@@ -26154,6 +26540,15 @@ let
         sha512 = "VmsD5pJqWJnQZMUeRwrDhfgoyqcfwEkvtpANqcoUG8/tOLkwNgU9mzub/Mc78OJMhHjx7gfAMTxzdG43VGg3bA==";
       };
     };
+    "graphql-tag-2.12.1" = {
+      name = "graphql-tag";
+      packageName = "graphql-tag";
+      version = "2.12.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.1.tgz";
+        sha512 = "LPewEE1vzGkHnCO8zdOGogKsHHBdtpGyihow1UuMwp6RnZa0lAS7NcbvltLOuo4pi5diQCPASAXZkQq44ffixA==";
+      };
+    };
     "graphql-tools-3.0.0" = {
       name = "graphql-tools";
       packageName = "graphql-tools";
@@ -26190,22 +26585,13 @@ let
         sha512 = "zsrDtu5gCbQFDWsNa5bMB4nf1LpKX9KDgh+f8oL1288ijV4RxeckhVozAjqjXAfRpxOHD1xOESsh6zq8SjdgjA==";
       };
     };
-    "graphql-upload-8.1.0" = {
-      name = "graphql-upload";
-      packageName = "graphql-upload";
-      version = "8.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-upload/-/graphql-upload-8.1.0.tgz";
-        sha512 = "U2OiDI5VxYmzRKw0Z2dmfk0zkqMRaecH9Smh1U277gVgVe9Qn+18xqf4skwr4YJszGIh7iQDZ57+5ygOK9sM/Q==";
-      };
-    };
-    "graphql-ws-4.1.0" = {
+    "graphql-ws-4.1.5" = {
       name = "graphql-ws";
       packageName = "graphql-ws";
-      version = "4.1.0";
+      version = "4.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-ws/-/graphql-ws-4.1.0.tgz";
-        sha512 = "DxJP1y2YzCqVLy7DrQN0iuR2l48vMOBWukX2d/J9aN2o5x9un5psIIq/2UFRh91UGARmfvPH86y1p4qbC1dITg==";
+        url = "https://registry.npmjs.org/graphql-ws/-/graphql-ws-4.1.5.tgz";
+        sha512 = "yUQ1AjegD1Y9jDS699kyw7Mw+9H+rILm2HoS8N5a5B5YTH93xy3yifFhAJpKGc2wb/8yGdlVy8gTcud0TPqi6Q==";
       };
     };
     "gray-matter-2.1.1" = {
@@ -26424,13 +26810,13 @@ let
         sha512 = "9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==";
       };
     };
-    "handlebars-4.7.6" = {
+    "handlebars-4.7.7" = {
       name = "handlebars";
       packageName = "handlebars";
-      version = "4.7.6";
+      version = "4.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz";
-        sha512 = "1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==";
+        url = "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz";
+        sha512 = "aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==";
       };
     };
     "har-schema-1.0.5" = {
@@ -26649,13 +27035,13 @@ let
         sha512 = "3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==";
       };
     };
-    "has-symbols-1.0.1" = {
+    "has-symbols-1.0.2" = {
       name = "has-symbols";
       packageName = "has-symbols";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz";
-        sha512 = "PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==";
+        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz";
+        sha512 = "chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==";
       };
     };
     "has-to-string-tag-x-1.4.1" = {
@@ -26946,6 +27332,15 @@ let
         sha1 = "078444bd7c1640b0fe540d2c9b73d59678e8e1c4";
       };
     };
+    "hcl-to-json-0.1.1" = {
+      name = "hcl-to-json";
+      packageName = "hcl-to-json";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hcl-to-json/-/hcl-to-json-0.1.1.tgz";
+        sha512 = "sj1RPsdgX/ilBGZGnyjbSHQbRe20hyA6VDXYBGJedHSCdwSWkr/7tr85N7FGeM7KvBjIQX7Gl897bo0Ug73Z/A==";
+      };
+    };
     "he-0.5.0" = {
       name = "he";
       packageName = "he";
@@ -27054,13 +27449,13 @@ let
         sha1 = "b86ce808598e8a9d1892c571f3cedd86fc9f0653";
       };
     };
-    "highlight.js-10.5.0" = {
+    "highlight.js-10.6.0" = {
       name = "highlight.js";
       packageName = "highlight.js";
-      version = "10.5.0";
+      version = "10.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/highlight.js/-/highlight.js-10.5.0.tgz";
-        sha512 = "xTmvd9HiIHR6L53TMC7TKolEj65zG1XU+Onr8oi86mYa+nLcIbxTTWkpW7CsEwv/vK7u1zb8alZIMLDqqN6KTw==";
+        url = "https://registry.npmjs.org/highlight.js/-/highlight.js-10.6.0.tgz";
+        sha512 = "8mlRcn5vk/r4+QcqerapwBYTe+iPL5ih6xrNylxrnBdHQiijDETfXX7VIxC3UiCRiINBJfANBAsPzAvRQj8RpQ==";
       };
     };
     "highlight.js-8.2.0" = {
@@ -27198,13 +27593,13 @@ let
         sha512 = "f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==";
       };
     };
-    "hosted-git-info-3.0.7" = {
+    "hosted-git-info-3.0.8" = {
       name = "hosted-git-info";
       packageName = "hosted-git-info";
-      version = "3.0.7";
+      version = "3.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.7.tgz";
-        sha512 = "fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ==";
+        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz";
+        sha512 = "aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==";
       };
     };
     "hot-shots-6.8.7" = {
@@ -27676,13 +28071,13 @@ let
         sha512 = "nUxLymWQ9pzkzTmir24p2RtsgruLmhje7lH3hLX1IpwvyTg77fW+1brenPPP3USAR+rQ36p5sTA/x7sjCJVkAA==";
       };
     };
-    "http2-wrapper-1.0.0-beta.5.2" = {
+    "http2-wrapper-1.0.3" = {
       name = "http2-wrapper";
       packageName = "http2-wrapper";
-      version = "1.0.0-beta.5.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.0-beta.5.2.tgz";
-        sha512 = "xYz9goEyBnC8XwXDTuC/MZ6t+MrKVQZOk4s7+PaDkwIsQd8IwqvM+0M6bA/2lvG8GHXcPdf+MejTUeO2LCPCeQ==";
+        url = "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz";
+        sha512 = "V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==";
       };
     };
     "http_ece-1.1.0" = {
@@ -27919,15 +28314,6 @@ let
         sha1 = "c6019a7595f2cefca702eab694a010bcd9298d20";
       };
     };
-    "iconv-lite-0.5.2" = {
-      name = "iconv-lite";
-      packageName = "iconv-lite";
-      version = "0.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.2.tgz";
-        sha512 = "kERHXvpSaB4aU3eANwidg79K8FlrN77m8G9V+0vOR3HYaRifrlwMEpT7ZBJqLSEIHnEgJTHcWK82wwLwwKwtag==";
-      };
-    };
     "iconv-lite-0.6.2" = {
       name = "iconv-lite";
       packageName = "iconv-lite";
@@ -27955,6 +28341,15 @@ let
         sha512 = "4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==";
       };
     };
+    "icss-utils-5.1.0" = {
+      name = "icss-utils";
+      packageName = "icss-utils";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz";
+        sha512 = "soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==";
+      };
+    };
     "idb-kv-store-4.5.0" = {
       name = "idb-kv-store";
       packageName = "idb-kv-store";
@@ -27964,15 +28359,6 @@ let
         sha512 = "snvtAQRforYUI+C2+45L2LBJy/0/uQUffxv8/uwiS98fSUoXHVrFPClgzWZWxT0drwkLHJRm9inZcYzTR42GLA==";
       };
     };
-    "idx-2.4.0" = {
-      name = "idx";
-      packageName = "idx";
-      version = "2.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/idx/-/idx-2.4.0.tgz";
-        sha512 = "FnV6fXF1/cXvam/OXAz98v3GbhQVws+ecMEVLxyQ1aXgK2nooTkTDqex5Lks84wiCsS1So6QtwwCYT6H+vIKkw==";
-      };
-    };
     "ieee754-1.1.13" = {
       name = "ieee754";
       packageName = "ieee754";
@@ -28126,13 +28512,13 @@ let
         sha512 = "yM7jo9+hvYgvdCQdqvhCNRRio0SCXc8xDPzA25SvKWa7b1WVPjLwQs1VYU5JPXjcJPTqAa5NP5dqpORGYBQ2AA==";
       };
     };
-    "immer-7.0.9" = {
+    "immer-8.0.1" = {
       name = "immer";
       packageName = "immer";
-      version = "7.0.9";
+      version = "8.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/immer/-/immer-7.0.9.tgz";
-        sha512 = "Vs/gxoM4DqNAYR7pugIxi0Xc8XAun/uy7AQu4fLLqaTBHxjOP9pJ266Q9MWA/ly4z6rAFZbvViOtihxUZ7O28A==";
+        url = "https://registry.npmjs.org/immer/-/immer-8.0.1.tgz";
+        sha512 = "aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==";
       };
     };
     "import-cwd-3.0.0" = {
@@ -28882,15 +29268,6 @@ let
         sha512 = "u9YYtb1p2fWSbzpKmZ/b3QXWA+diRYPxc2c4y5lFB/MMk5WZ7wNZv8S3CFcIGVJ5XtlaCAl/FQy/D3eQ2XtdOA==";
       };
     };
-    "ip-address-6.4.0" = {
-      name = "ip-address";
-      packageName = "ip-address";
-      version = "6.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ip-address/-/ip-address-6.4.0.tgz";
-        sha512 = "c5uxc2WUTuRBVHT/6r4m7HIr/DfV0bF6DvLH3iZGSK8wp8iMwwZSgIq2do0asFf8q9ECug0SE+6+1ACMe4sorA==";
-      };
-    };
     "ip-regex-2.1.0" = {
       name = "ip-regex";
       packageName = "ip-regex";
@@ -29179,13 +29556,13 @@ let
         sha512 = "i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==";
       };
     };
-    "is-callable-1.2.2" = {
+    "is-callable-1.2.3" = {
       name = "is-callable";
       packageName = "is-callable";
-      version = "1.2.2";
+      version = "1.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz";
-        sha512 = "dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==";
+        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz";
+        sha512 = "J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==";
       };
     };
     "is-canonical-base64-1.1.1" = {
@@ -29224,6 +29601,15 @@ let
         sha512 = "YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==";
       };
     };
+    "is-ci-3.0.0" = {
+      name = "is-ci";
+      packageName = "is-ci";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz";
+        sha512 = "kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==";
+      };
+    };
     "is-color-stop-1.1.0" = {
       name = "is-color-stop";
       packageName = "is-color-stop";
@@ -29557,6 +29943,15 @@ let
         sha512 = "wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==";
       };
     };
+    "is-installed-globally-0.4.0" = {
+      name = "is-installed-globally";
+      packageName = "is-installed-globally";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz";
+        sha512 = "iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==";
+      };
+    };
     "is-interactive-1.0.0" = {
       name = "is-interactive";
       packageName = "is-interactive";
@@ -29962,13 +30357,13 @@ let
         sha512 = "vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==";
       };
     };
-    "is-regex-1.1.1" = {
+    "is-regex-1.1.2" = {
       name = "is-regex";
       packageName = "is-regex";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz";
-        sha512 = "1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==";
+        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz";
+        sha512 = "axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==";
       };
     };
     "is-regexp-1.0.0" = {
@@ -30169,13 +30564,13 @@ let
         sha1 = "4e1aa0fb51bfbcb3e92688001397202c1775b66e";
       };
     };
-    "is-typed-array-1.1.4" = {
+    "is-typed-array-1.1.5" = {
       name = "is-typed-array";
       packageName = "is-typed-array";
-      version = "1.1.4";
+      version = "1.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.4.tgz";
-        sha512 = "ILaRgn4zaSrVNXNGtON6iFNotXW3hAPF3+0fB1usg2jFlWqo5fEDdmJkz0zBfoi7Dgskr8Khi2xZ8cXqZEfXNA==";
+        url = "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.5.tgz";
+        sha512 = "S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==";
       };
     };
     "is-typedarray-1.0.0" = {
@@ -30277,13 +30672,13 @@ let
         sha512 = "pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==";
       };
     };
-    "is-what-3.12.0" = {
+    "is-what-3.14.1" = {
       name = "is-what";
       packageName = "is-what";
-      version = "3.12.0";
+      version = "3.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-what/-/is-what-3.12.0.tgz";
-        sha512 = "2ilQz5/f/o9V7WRWJQmpFYNmQFZ9iM+OXRonZKcYgTkCzjb949Vi4h282PD1UfmgHk666rcWonbRJ++KI41VGw==";
+        url = "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz";
+        sha512 = "sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==";
       };
     };
     "is-whitespace-character-1.0.4" = {
@@ -30484,15 +30879,6 @@ let
         sha1 = "611ae1acf14f5e81f729507472819fe9733558a9";
       };
     };
-    "isomorphic-form-data-2.0.0" = {
-      name = "isomorphic-form-data";
-      packageName = "isomorphic-form-data";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isomorphic-form-data/-/isomorphic-form-data-2.0.0.tgz";
-        sha512 = "TYgVnXWeESVmQSg4GLVbalmQ+B4NPi/H4eWxqALKj63KsUrcu301YDjBqaOw3h+cbak7Na4Xyps3BiptHtxTfg==";
-      };
-    };
     "isomorphic-git-0.78.5" = {
       name = "isomorphic-git";
       packageName = "isomorphic-git";
@@ -30781,6 +31167,15 @@ let
         sha512 = "0soPJif+yjmzmOF+4cF2hyhxUWWpXpQntsm2joJXFFoRcQiPzsG4dbLKYqYPT3Fc6PjZ8MaLtCkDqqckVSfmRw==";
       };
     };
+    "jitdb-2.3.1" = {
+      name = "jitdb";
+      packageName = "jitdb";
+      version = "2.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jitdb/-/jitdb-2.3.1.tgz";
+        sha512 = "ICaXDJFRvdXrA62m+ei41uH8a88PHZgp3t8C6V7EcsrFawiLHzrYqv+ianQss43TJOf9zgmnxjpZFeH0vK2ErA==";
+      };
+    };
     "jju-1.4.0" = {
       name = "jju";
       packageName = "jju";
@@ -30889,13 +31284,13 @@ let
         sha1 = "bcb4045c8dd0539c134bc1488cdd3e768a7a9e51";
       };
     };
-    "jquery.terminal-2.20.2" = {
+    "jquery.terminal-2.22.0" = {
       name = "jquery.terminal";
       packageName = "jquery.terminal";
-      version = "2.20.2";
+      version = "2.22.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jquery.terminal/-/jquery.terminal-2.20.2.tgz";
-        sha512 = "f3heC+hG2NE9tuJmGI3g5fR/KoD1/G31rJlXjVYPU2oBqbPQXRiiYvW78mm4aK9+IClYhMoqXiKxdzWIxjAxxA==";
+        url = "https://registry.npmjs.org/jquery.terminal/-/jquery.terminal-2.22.0.tgz";
+        sha512 = "0VDAqWMrqIcI7Mduqkgw/SM9G8aTMJUx/Lu8rxHVPfn10wkHZmaVywczVQgQWRCSdGa+/hy/qZEdaVPPmLyplw==";
       };
     };
     "js-base64-2.6.4" = {
@@ -30916,6 +31311,15 @@ let
         sha512 = "MsXlH6Z/BiRYSkSRW3clNDqDjSpiSNOiG8xYVUBXt4k0LnGvDhlTGOlHX1VFtAdoLmtwjxMG5qiWKy/g+Ipv5w==";
       };
     };
+    "js-git-0.7.8" = {
+      name = "js-git";
+      packageName = "js-git";
+      version = "0.7.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-git/-/js-git-0.7.8.tgz";
+        sha1 = "52fa655ab61877d6f1079efc6534b554f31e5444";
+      };
+    };
     "js-message-1.0.7" = {
       name = "js-message";
       packageName = "js-message";
@@ -31150,49 +31554,58 @@ let
         sha512 = "OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==";
       };
     };
-    "jsii-1.17.1" = {
+    "jsesc-3.0.2" = {
+      name = "jsesc";
+      packageName = "jsesc";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz";
+        sha512 = "xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==";
+      };
+    };
+    "jsii-1.22.0" = {
       name = "jsii";
       packageName = "jsii";
-      version = "1.17.1";
+      version = "1.22.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii/-/jsii-1.17.1.tgz";
-        sha512 = "Hx2oJjD7mXWD73A8yRkNzE9QDkfn+oDNUAwQgeMV5xteBvrzKFwiToucMTrPPVL/KO2mEXvWP2Or7MY03DFu7w==";
+        url = "https://registry.npmjs.org/jsii/-/jsii-1.22.0.tgz";
+        sha512 = "iBYlf/wSCsaohM14JSpN3NsIrfsqWi0FXrKvW0tU52z+ED/ZyNQWJKT/JfGuO+EAd5GpjPmpK7r4R9ZGGQW0rQ==";
       };
     };
-    "jsii-pacmak-1.17.1" = {
+    "jsii-pacmak-1.22.0" = {
       name = "jsii-pacmak";
       packageName = "jsii-pacmak";
-      version = "1.17.1";
+      version = "1.22.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-1.17.1.tgz";
-        sha512 = "9vxNObAkAqzRaU5qcFzJmi6gYQ6fllOqgGjqaEWdWlcMFx2XzgSOtALrksi/YRLwuZtPCZrUnSEV5SeralSkUg==";
+        url = "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-1.22.0.tgz";
+        sha512 = "s1X++lvN8oPTE2e8XI4qADBZ7MUXjfzw0Bjr2at5XwhW8QaSSnGe2KHuqjj0JTUhdlVsRar9JlWXKDwMraYBww==";
       };
     };
-    "jsii-reflect-1.17.1" = {
+    "jsii-reflect-1.22.0" = {
       name = "jsii-reflect";
       packageName = "jsii-reflect";
-      version = "1.17.1";
+      version = "1.22.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.17.1.tgz";
-        sha512 = "u3Pn/iCZriV6fD77Ettc975XIcGTIz0fjGeStwGIVyb9pcoQiF+WXdg8H9iRr17Rx+m6DTvbRukrszPDX6nMSA==";
+        url = "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.22.0.tgz";
+        sha512 = "EsPL/mXNaUsBeF50IHOMizX3R2B8mcKCBEhxvfptXpgMT6BzssNUK4v9MC7tY3c3fR8CNs2dr+I2Bqdgs0ogOg==";
       };
     };
-    "jsii-rosetta-1.17.1" = {
+    "jsii-rosetta-1.22.0" = {
       name = "jsii-rosetta";
       packageName = "jsii-rosetta";
-      version = "1.17.1";
+      version = "1.22.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.17.1.tgz";
-        sha512 = "Nws1f4FE0qNTJLWoP6Q/jwWYcR2uHB0pQ5AsyR5oVwrJiXjZ06vUD9oJu7GuXb9BxKVf5gJVc6Hh478SwOwF6A==";
+        url = "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.22.0.tgz";
+        sha512 = "d+f5vwbaAQCQI+EJLnfSTGYsTWYeUdzb3NJvRLEKiR0y31DWVuMU7y7c+IKrXjNY8vOvphWjPgZ21ECV6/r54g==";
       };
     };
-    "jsii-srcmak-0.1.210" = {
+    "jsii-srcmak-0.1.238" = {
       name = "jsii-srcmak";
       packageName = "jsii-srcmak";
-      version = "0.1.210";
+      version = "0.1.238";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.210.tgz";
-        sha512 = "p9G4DcJIjJXo1LSLFe/lISXB9ijwfSMd/CUWtTWsUo2muVEsaKl8IE7YAiTDiKiP3OTswvzHmqa5DZ1pobLkzg==";
+        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.238.tgz";
+        sha512 = "l1qlMC6IfGGZ46gERs06dBzbJWtkzKPWKm59Qx3cy4VOktB5jxpT48VEi8DpM3SbrIcm7Ga79kJRi9eRHpYaug==";
       };
     };
     "json-bigint-0.2.3" = {
@@ -31447,13 +31860,13 @@ let
         sha1 = "9db7b59496ad3f3cfef30a75142d2d930ad72651";
       };
     };
-    "json-stringify-pretty-compact-2.0.0" = {
+    "json-stringify-pretty-compact-3.0.0" = {
       name = "json-stringify-pretty-compact";
       packageName = "json-stringify-pretty-compact";
-      version = "2.0.0";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz";
-        sha512 = "WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ==";
+        url = "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-3.0.0.tgz";
+        sha512 = "Rc2suX5meI0S3bfdZuA7JMFBGkJ875ApfVyq2WHELjBiiG22My/l7/8zPpH/CfFVQHuVLd8NLR0nv6vi0BYYKA==";
       };
     };
     "json-stringify-safe-5.0.1" = {
@@ -31519,6 +31932,15 @@ let
         sha512 = "KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==";
       };
     };
+    "json5-2.2.0" = {
+      name = "json5";
+      packageName = "json5";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz";
+        sha512 = "f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==";
+      };
+    };
     "json5-relaxed-0.5.4" = {
       name = "json5-relaxed";
       packageName = "json5-relaxed";
@@ -31771,13 +32193,13 @@ let
         sha512 = "gZAOYuPl4EhPTXT0GjhI3o+ZAz3su6EhLrKUoAivcKqyqC7laS5JEv4XWZND9BgcDcF83vI85yGbDmDR6UhrIg==";
       };
     };
-    "jszip-3.5.0" = {
+    "jszip-3.6.0" = {
       name = "jszip";
       packageName = "jszip";
-      version = "3.5.0";
+      version = "3.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jszip/-/jszip-3.5.0.tgz";
-        sha512 = "WRtu7TPCmYePR1nazfrtuF216cIVon/3GWOvHS9QR5bIwSbnxtdpma6un3jyGGNhHsKCSzn5Ypk+EkDRvTGiFA==";
+        url = "https://registry.npmjs.org/jszip/-/jszip-3.6.0.tgz";
+        sha512 = "jgnQoG9LKnWO3mnVNBnfhkh0QknICd1FGSrXcgrl67zioyJ4wgx25o9ZqwNtrROSflGBCGYnJfjrIyRIby1OoQ==";
       };
     };
     "junk-3.1.0" = {
@@ -31789,13 +32211,13 @@ let
         sha512 = "pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==";
       };
     };
-    "just-debounce-1.0.0" = {
+    "just-debounce-1.1.0" = {
       name = "just-debounce";
       packageName = "just-debounce";
-      version = "1.0.0";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/just-debounce/-/just-debounce-1.0.0.tgz";
-        sha1 = "87fccfaeffc0b68cd19d55f6722943f929ea35ea";
+        url = "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz";
+        sha512 = "qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==";
       };
     };
     "just-detect-adblock-1.1.0" = {
@@ -31897,13 +32319,13 @@ let
         sha512 = "YvDpmY3waI999h1zZoW1rJ04fZrgZ+5PAlVmvwDHT6YO/Q1AOhdel07xsKy9eAvJjQ9xZV1wz3rXKqEfaWvlcQ==";
       };
     };
-    "k-bucket-5.0.0" = {
+    "k-bucket-5.1.0" = {
       name = "k-bucket";
       packageName = "k-bucket";
-      version = "5.0.0";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/k-bucket/-/k-bucket-5.0.0.tgz";
-        sha512 = "r/q+wV/Kde62/tk+rqyttEJn6h0jR7x+incdMVSYTqK73zVxVrzJa70kJL49cIKen8XjIgUZKSvk8ktnrQbK4w==";
+        url = "https://registry.npmjs.org/k-bucket/-/k-bucket-5.1.0.tgz";
+        sha512 = "Fac7iINEovXIWU20GPnOMLUbjctiS+cnmyjC4zAUgvs3XPf1vo9akfCHkigftSic/jiKqKl+KA3a/vFcJbHyCg==";
       };
     };
     "k-rpc-3.7.0" = {
@@ -32069,13 +32491,13 @@ let
         sha1 = "1e80454250018dbad4c3fe94497d6e67b6269c77";
       };
     };
-    "keytar-7.3.0" = {
+    "keytar-7.4.0" = {
       name = "keytar";
       packageName = "keytar";
-      version = "7.3.0";
+      version = "7.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/keytar/-/keytar-7.3.0.tgz";
-        sha512 = "t8YD0ETO5AeRxCaaN4N/hzj3JusIH0ugjVooE724+ozaVG9+l16Mau62T+U8tEhCv7SozY/g69BWF1U+o47qJg==";
+        url = "https://registry.npmjs.org/keytar/-/keytar-7.4.0.tgz";
+        sha512 = "nELmc35YjSE4ZNSFaID/743CgDt/MdV4JLX7rRewAh9mKvU72RtF3uJMY0MdMpwdDYZhmD8FSdRCD1J97lEyVg==";
       };
     };
     "keyv-3.0.0" = {
@@ -32213,13 +32635,13 @@ let
         sha512 = "wRJ9I4az0QcsH7A4v4l0enUpkS++MBx0BnL/68KaLzJg7x1qmbjSlwEoCNol7KTYZ+pmtI7Eh2J0Nu6/2Z5J/Q==";
       };
     };
-    "known-css-properties-0.20.0" = {
+    "known-css-properties-0.21.0" = {
       name = "known-css-properties";
       packageName = "known-css-properties";
-      version = "0.20.0";
+      version = "0.21.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.20.0.tgz";
-        sha512 = "URvsjaA9ypfreqJ2/ylDr5MUERhJZ+DhguoWRr2xgS5C7aGCalXo+ewL+GixgKBfhT2vuL02nbIgNGqVWgTOYw==";
+        url = "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.21.0.tgz";
+        sha512 = "sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw==";
       };
     };
     "known-css-properties-0.5.0" = {
@@ -32708,22 +33130,22 @@ let
         sha512 = "9esX8rTQAHqarx6qeZqmGQKBNZR5OIbl/Ayr0qQDy3oXja2iFVQQI81R6GZ2a02bSNZ9p3YOGX1O6HHCb1X7kA==";
       };
     };
-    "libsodium-0.7.8" = {
+    "libsodium-0.7.9" = {
       name = "libsodium";
       packageName = "libsodium";
-      version = "0.7.8";
+      version = "0.7.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/libsodium/-/libsodium-0.7.8.tgz";
-        sha512 = "/Qc+APf0jbeWSaeEruH0L1/tbbT+sbf884ZL0/zV/0JXaDPBzYkKbyb/wmxMHgAHzm3t6gqe7bOOXAVwfqVikQ==";
+        url = "https://registry.npmjs.org/libsodium/-/libsodium-0.7.9.tgz";
+        sha512 = "gfeADtR4D/CM0oRUviKBViMGXZDgnFdMKMzHsvBdqLBHd9ySi6EtYnmuhHVDDYgYpAO8eU8hEY+F8vIUAPh08A==";
       };
     };
-    "libsodium-wrappers-0.7.8" = {
+    "libsodium-wrappers-0.7.9" = {
       name = "libsodium-wrappers";
       packageName = "libsodium-wrappers";
-      version = "0.7.8";
+      version = "0.7.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.8.tgz";
-        sha512 = "PDhPWXBqd/SaqAFUBgH2Ux7b3VEEJgyD6BQB+VdNFJb9PbExGr/T/myc/MBoSvl8qLzfm0W0IVByOQS5L1MrCg==";
+        url = "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.9.tgz";
+        sha512 = "9HaAeBGk1nKTRFRHkt7nzxqCvnkWTjn1pdjKgcUnZxj0FyOP4CnhgFhMdrFfgNsukijBGyBLpP2m2uKT1vuWhQ==";
       };
     };
     "lie-3.3.0" = {
@@ -33104,6 +33526,15 @@ let
         sha512 = "PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==";
       };
     };
+    "lodash-4.17.21" = {
+      name = "lodash";
+      packageName = "lodash";
+      version = "4.17.21";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz";
+        sha512 = "v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==";
+      };
+    };
     "lodash-4.17.5" = {
       name = "lodash";
       packageName = "lodash";
@@ -33131,13 +33562,13 @@ let
         sha1 = "c6940128a9d30f8e902cd2cf99fd0cba4ecfc183";
       };
     };
-    "lodash-es-4.17.20" = {
+    "lodash-es-4.17.21" = {
       name = "lodash-es";
       packageName = "lodash-es";
-      version = "4.17.20";
+      version = "4.17.21";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.20.tgz";
-        sha512 = "JD1COMZsq8maT6mnuz1UMV0jvYD0E0aUsSOdrr1/nAG3dhqQXwRRgeW0cSqH1U43INKcqxaiVIQNOUDld7gRDA==";
+        url = "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz";
+        sha512 = "mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==";
       };
     };
     "lodash-id-0.14.0" = {
@@ -33545,6 +33976,15 @@ let
         sha1 = "e23f3f9c4f8fbdde872529c1071857a086e5ccef";
       };
     };
+    "lodash.constant-3.0.0" = {
+      name = "lodash.constant";
+      packageName = "lodash.constant";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.constant/-/lodash.constant-3.0.0.tgz";
+        sha1 = "bfe05cce7e515b3128925d6362138420bd624910";
+      };
+    };
     "lodash.debounce-4.0.8" = {
       name = "lodash.debounce";
       packageName = "lodash.debounce";
@@ -33590,6 +34030,15 @@ let
         sha1 = "9ccb4e505d486b91651345772885a2df27fd017c";
       };
     };
+    "lodash.endswith-4.2.1" = {
+      name = "lodash.endswith";
+      packageName = "lodash.endswith";
+      version = "4.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.endswith/-/lodash.endswith-4.2.1.tgz";
+        sha1 = "fed59ac1738ed3e236edd7064ec456448b37bc09";
+      };
+    };
     "lodash.escape-3.2.0" = {
       name = "lodash.escape";
       packageName = "lodash.escape";
@@ -33626,6 +34075,15 @@ let
         sha1 = "cb0704d47ab71789ffa0de8b97dd926fb88b13b1";
       };
     };
+    "lodash.findindex-4.6.0" = {
+      name = "lodash.findindex";
+      packageName = "lodash.findindex";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.findindex/-/lodash.findindex-4.6.0.tgz";
+        sha1 = "a3245dee61fb9b6e0624b535125624bb69c11106";
+      };
+    };
     "lodash.findkey-4.6.0" = {
       name = "lodash.findkey";
       packageName = "lodash.findkey";
@@ -33725,6 +34183,15 @@ let
         sha1 = "0b08a1dcf68397c397855c3239783832df7403d1";
       };
     };
+    "lodash.has-4.5.2" = {
+      name = "lodash.has";
+      packageName = "lodash.has";
+      version = "4.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz";
+        sha1 = "d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862";
+      };
+    };
     "lodash.identity-2.4.1" = {
       name = "lodash.identity";
       packageName = "lodash.identity";
@@ -33968,6 +34435,24 @@ let
         sha1 = "4dbc0472b156be50a0b286855d1bd0b0c656098a";
       };
     };
+    "lodash.keys-4.2.0" = {
+      name = "lodash.keys";
+      packageName = "lodash.keys";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.keys/-/lodash.keys-4.2.0.tgz";
+        sha1 = "a08602ac12e4fb83f91fc1fb7a360a4d9ba35205";
+      };
+    };
+    "lodash.last-3.0.0" = {
+      name = "lodash.last";
+      packageName = "lodash.last";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.last/-/lodash.last-3.0.0.tgz";
+        sha1 = "242f663112dd4c6e63728c60a3c909d1bdadbd4c";
+      };
+    };
     "lodash.map-4.6.0" = {
       name = "lodash.map";
       packageName = "lodash.map";
@@ -33977,15 +34462,6 @@ let
         sha1 = "771ec7839e3473d9c4cde28b19394c3562f4f6d3";
       };
     };
-    "lodash.max-4.0.1" = {
-      name = "lodash.max";
-      packageName = "lodash.max";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.max/-/lodash.max-4.0.1.tgz";
-        sha1 = "8735566c618b35a9f760520b487ae79658af136a";
-      };
-    };
     "lodash.memoize-3.0.4" = {
       name = "lodash.memoize";
       packageName = "lodash.memoize";
@@ -34040,6 +34516,15 @@ let
         sha1 = "0dd3971213c7c56df880977d504c88fb471a97ac";
       };
     };
+    "lodash.orderby-4.6.0" = {
+      name = "lodash.orderby";
+      packageName = "lodash.orderby";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.orderby/-/lodash.orderby-4.6.0.tgz";
+        sha1 = "e697f04ce5d78522f54d9338b32b81a3393e4eb3";
+      };
+    };
     "lodash.pad-4.5.1" = {
       name = "lodash.pad";
       packageName = "lodash.pad";
@@ -34130,6 +34615,15 @@ let
         sha1 = "d8757b1da807dde24816b0d6a84bea1a76230b23";
       };
     };
+    "lodash.size-4.2.0" = {
+      name = "lodash.size";
+      packageName = "lodash.size";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.size/-/lodash.size-4.2.0.tgz";
+        sha1 = "71fe75ed3eabdb2bcb73a1b0b4f51c392ee27b86";
+      };
+    };
     "lodash.snakecase-4.1.1" = {
       name = "lodash.snakecase";
       packageName = "lodash.snakecase";
@@ -34157,6 +34651,15 @@ let
         sha1 = "edd14c824e2cc9c1e0b0a1b42bb5210516a42438";
       };
     };
+    "lodash.sum-4.0.2" = {
+      name = "lodash.sum";
+      packageName = "lodash.sum";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.sum/-/lodash.sum-4.0.2.tgz";
+        sha1 = "ad90e397965d803d4f1ff7aa5b2d0197f3b4637b";
+      };
+    };
     "lodash.support-2.4.1" = {
       name = "lodash.support";
       packageName = "lodash.support";
@@ -34274,6 +34777,15 @@ let
         sha1 = "a3a17bbf62eeb6240f491846e97c1c4e2a5e1e21";
       };
     };
+    "lodash.upperfirst-4.3.1" = {
+      name = "lodash.upperfirst";
+      packageName = "lodash.upperfirst";
+      version = "4.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz";
+        sha1 = "1365edf431480481ef0d1c68957a5ed99d49f7ce";
+      };
+    };
     "lodash.values-2.4.1" = {
       name = "lodash.values";
       packageName = "lodash.values";
@@ -34283,6 +34795,15 @@ let
         sha1 = "abf514436b3cb705001627978cbcf30b1280eea4";
       };
     };
+    "lodash.values-4.3.0" = {
+      name = "lodash.values";
+      packageName = "lodash.values";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.values/-/lodash.values-4.3.0.tgz";
+        sha1 = "a3a6c2b0ebecc5c2cba1c17e6e620fe81b53d347";
+      };
+    };
     "lodash.xorby-4.7.0" = {
       name = "lodash.xorby";
       packageName = "lodash.xorby";
@@ -34931,13 +35452,13 @@ let
         sha512 = "07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==";
       };
     };
-    "make-fetch-happen-8.0.13" = {
+    "make-fetch-happen-8.0.14" = {
       name = "make-fetch-happen";
       packageName = "make-fetch-happen";
-      version = "8.0.13";
+      version = "8.0.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.13.tgz";
-        sha512 = "rQ5NijwwdU8tIaBrpTtSVrNCcAJfyDRcKBC76vOQlyJX588/88+TE+UpjWl4BgG7gCkp29wER7xcRqkeg+x64Q==";
+        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz";
+        sha512 = "EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==";
       };
     };
     "make-iterator-1.0.1" = {
@@ -35327,13 +35848,13 @@ let
         sha512 = "EGwzEeCcLniFX51DhTpmTom+dSA/MG/OBUDjnWtHbEnjAH180VzUeAw+oE4+Zv+CoYBWyRlYOTR0N8SO9R1PVw==";
       };
     };
-    "marked-1.2.8" = {
+    "marked-1.2.9" = {
       name = "marked";
       packageName = "marked";
-      version = "1.2.8";
+      version = "1.2.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/marked/-/marked-1.2.8.tgz";
-        sha512 = "lzmFjGnzWHkmbk85q/ILZjFoHHJIQGF+SxGEfIdGk/XhiTPhqGs37gbru6Kkd48diJnEyYwnG67nru0Z2gQtuQ==";
+        url = "https://registry.npmjs.org/marked/-/marked-1.2.9.tgz";
+        sha512 = "H8lIX2SvyitGX+TRdtS06m1jHMijKN/XjfH6Ooii9fvxMlh8QdqBfBDkGUpMWH2kQNrtixjzYUa3SH8ROTgRRw==";
       };
     };
     "marked-terminal-3.3.0" = {
@@ -35579,22 +36100,22 @@ let
         sha512 = "7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA==";
       };
     };
-    "mdast-util-from-markdown-0.8.4" = {
+    "mdast-util-from-markdown-0.8.5" = {
       name = "mdast-util-from-markdown";
       packageName = "mdast-util-from-markdown";
-      version = "0.8.4";
+      version = "0.8.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.4.tgz";
-        sha512 = "jj891B5pV2r63n2kBTFh8cRI2uR9LQHsXG1zSDqfhXkIlDzrTcIlbB5+5aaYEkl8vOPIOPLf8VT7Ere1wWTMdw==";
+        url = "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz";
+        sha512 = "2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==";
       };
     };
-    "mdast-util-to-markdown-0.6.2" = {
+    "mdast-util-to-markdown-0.6.5" = {
       name = "mdast-util-to-markdown";
       packageName = "mdast-util-to-markdown";
-      version = "0.6.2";
+      version = "0.6.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.2.tgz";
-        sha512 = "iRczns6WMvu0hUw02LXsPDJshBIwtUPbvHBWo19IQeU0YqmzlA8Pd30U8V7uiI0VPkxzS7A/NXBXH6u+HS87Zg==";
+        url = "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz";
+        sha512 = "XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==";
       };
     };
     "mdast-util-to-nlcst-4.0.1" = {
@@ -35822,13 +36343,13 @@ let
         sha1 = "7890b01d52c00c8ebc9d533e1f8eb17e3034871a";
       };
     };
-    "memory-chunk-store-1.3.0" = {
+    "memory-chunk-store-1.3.2" = {
       name = "memory-chunk-store";
       packageName = "memory-chunk-store";
-      version = "1.3.0";
+      version = "1.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/memory-chunk-store/-/memory-chunk-store-1.3.0.tgz";
-        sha512 = "6LsOpHKKhxYrLhHmOJdBCUtSO7op5rUs1pag0fhjHo0QiXRyna0bwYf4EmQuL7InUeF2J7dUMPr6VMogRyf9NA==";
+        url = "https://registry.npmjs.org/memory-chunk-store/-/memory-chunk-store-1.3.2.tgz";
+        sha512 = "EBcbwpdQlzT5aNV0FTT+RAfh1cGEssjiCcRGcTk57mKsnZlRMOtH4Cfk/AqQnkz8xP2dUF+/lgpmErSGwwE1FA==";
       };
     };
     "memory-fs-0.3.0" = {
@@ -35885,6 +36406,15 @@ let
         sha512 = "51j4kUedbqkWGby44hAhf5f/hj8GOvHoLX00/YHURBNxOMf5k8JbPuGfmeNpZEXhc3vrmfnFben4+rOOx3HjEQ==";
       };
     };
+    "memorystore-1.6.5" = {
+      name = "memorystore";
+      packageName = "memorystore";
+      version = "1.6.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/memorystore/-/memorystore-1.6.5.tgz";
+        sha512 = "2RD1kTZhF0nywVtps2NoQgbMiPO6o1+dIRUAi2cRQDxMyCKwOZdBrC/Lk9/ttlF6lHn3T6uCPwSbgWxEef9djQ==";
+      };
+    };
     "memorystream-0.3.1" = {
       name = "memorystream";
       packageName = "memorystream";
@@ -36038,13 +36568,13 @@ let
         sha1 = "f8a064760d37e7978ad5f9f6d3c119a494f57081";
       };
     };
-    "mermaid-8.9.0" = {
+    "mermaid-8.9.1" = {
       name = "mermaid";
       packageName = "mermaid";
-      version = "8.9.0";
+      version = "8.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mermaid/-/mermaid-8.9.0.tgz";
-        sha512 = "J582tyE1vkdNu4BGgfwXnFo4Mu6jpuc4uK96mIenavaak9kr4T5gaMmYCo/7edwq/vTBkx/soZ5LcJo5WXZ1BQ==";
+        url = "https://registry.npmjs.org/mermaid/-/mermaid-8.9.1.tgz";
+        sha512 = "0XFtH3TazlWQ6hKqBDeOfXglPBAfNDreC63NKjrmgzLG+aIY3yJZNdkl22JH4LniqQDx+7oZFmD7t0PnEymkew==";
       };
     };
     "mersenne-0.0.4" = {
@@ -36119,49 +36649,49 @@ let
         sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
       };
     };
-    "metro-babel-transformer-0.58.0" = {
+    "metro-babel-transformer-0.59.0" = {
       name = "metro-babel-transformer";
       packageName = "metro-babel-transformer";
-      version = "0.58.0";
+      version = "0.59.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.58.0.tgz";
-        sha512 = "yBX3BkRhw2TCNPhe+pmLSgsAEA3huMvnX08UwjFqSXXI1aiqzRQobn92uKd1U5MM1Vx8EtXVomlJb95ZHNAv6A==";
+        url = "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.59.0.tgz";
+        sha512 = "fdZJl8rs54GVFXokxRdD7ZrQ1TJjxWzOi/xSP25VR3E8tbm3nBZqS+/ylu643qSr/IueABR+jrlqAyACwGEf6w==";
       };
     };
-    "metro-react-native-babel-preset-0.58.0" = {
+    "metro-react-native-babel-preset-0.59.0" = {
       name = "metro-react-native-babel-preset";
       packageName = "metro-react-native-babel-preset";
-      version = "0.58.0";
+      version = "0.59.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.58.0.tgz";
-        sha512 = "MRriNW+fF6jxABsgPphocUY6mIhmCm8idcrQZ58fT3Iti2vCdtkaK32TyCGUNUptzhUe2/cbE57j4aC+eaodAA==";
+        url = "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.59.0.tgz";
+        sha512 = "BoO6ncPfceIDReIH8pQ5tQptcGo5yRWQXJGVXfANbiKLq4tfgdZB1C1e2rMUJ6iypmeJU9dzl+EhPmIFKtgREg==";
       };
     };
-    "metro-react-native-babel-transformer-0.58.0" = {
+    "metro-react-native-babel-transformer-0.59.0" = {
       name = "metro-react-native-babel-transformer";
       packageName = "metro-react-native-babel-transformer";
-      version = "0.58.0";
+      version = "0.59.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.58.0.tgz";
-        sha512 = "3A73+cRq1eUPQ8g+hPNGgMUMCGmtQjwqHfoG1DwinAoJ/kr4WOXWWbGZo0xHJNBe/zdHGl0uHcDCp2knPglTdQ==";
+        url = "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.59.0.tgz";
+        sha512 = "1O3wrnMq4NcPQ1asEcl9lRDn/t+F1Oef6S9WaYVIKEhg9m/EQRGVrrTVP+R6B5Eeaj3+zNKbzM8Dx/NWy1hUbQ==";
       };
     };
-    "metro-source-map-0.58.0" = {
+    "metro-source-map-0.59.0" = {
       name = "metro-source-map";
       packageName = "metro-source-map";
-      version = "0.58.0";
+      version = "0.59.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.58.0.tgz";
-        sha512 = "yvN1YPmejmgiiS7T1aKBiiUTHPw2Vcm3r2TZ+DY92z/9PR4alysIywrCs/fTHs8rbDcKM5VfPCKGLpkBrbKeOw==";
+        url = "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.59.0.tgz";
+        sha512 = "0w5CmCM+ybSqXIjqU4RiK40t4bvANL6lafabQ2GP2XD3vSwkLY+StWzCtsb4mPuyi9R/SgoLBel+ZOXHXAH0eQ==";
       };
     };
-    "metro-symbolicate-0.58.0" = {
+    "metro-symbolicate-0.59.0" = {
       name = "metro-symbolicate";
       packageName = "metro-symbolicate";
-      version = "0.58.0";
+      version = "0.59.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.58.0.tgz";
-        sha512 = "uIVxUQC1E26qOMj13dKROhwAa2FmZk5eR0NcBqej/aXmQhpr8LjJg2sondkoLKUp827Tf/Fm9+pS4icb5XiqCw==";
+        url = "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.59.0.tgz";
+        sha512 = "asLaF2A7rndrToGFIknL13aiohwPJ95RKHf0NM3hP/nipiLDoMzXT6ZnQvBqDxkUKyP+51AI75DMtb+Wcyw4Bw==";
       };
     };
     "micro-api-client-3.3.0" = {
@@ -36182,6 +36712,15 @@ let
         sha512 = "COjNutiFgnDHXZEIM/jYuZPwq2h8zMUeScf6Sh6so98a+REqdlpaNS7Cb2ffGfK5I+xfgoA3Rx49NGuNJTJq3w==";
       };
     };
+    "micro-memoize-4.0.9" = {
+      name = "micro-memoize";
+      packageName = "micro-memoize";
+      version = "4.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/micro-memoize/-/micro-memoize-4.0.9.tgz";
+        sha512 = "Z2uZi/IUMGQDCXASdujXRqrXXEwSY0XffUrAOllhqzQI3wpUyZbiZTiE2JuYC0HSG2G7DbCS5jZmsEKEGZuemg==";
+      };
+    };
     "microbuffer-1.0.0" = {
       name = "microbuffer";
       packageName = "microbuffer";
@@ -36209,13 +36748,13 @@ let
         sha512 = "jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==";
       };
     };
-    "micromark-2.11.2" = {
+    "micromark-2.11.4" = {
       name = "micromark";
       packageName = "micromark";
-      version = "2.11.2";
+      version = "2.11.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/micromark/-/micromark-2.11.2.tgz";
-        sha512 = "IXuP76p2uj8uMg4FQc1cRE7lPCLsfAXuEfdjtdO55VRiFO1asrCSQ5g43NmPqFtRwzEnEhafRVzn2jg0UiKArQ==";
+        url = "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz";
+        sha512 = "+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==";
       };
     };
     "micromatch-2.3.11" = {
@@ -36326,13 +36865,13 @@ let
         sha512 = "dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==";
       };
     };
-    "mime-2.5.0" = {
+    "mime-2.5.2" = {
       name = "mime";
       packageName = "mime";
-      version = "2.5.0";
+      version = "2.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz";
-        sha512 = "ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==";
+        url = "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz";
+        sha512 = "tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==";
       };
     };
     "mime-db-1.33.0" = {
@@ -36353,13 +36892,13 @@ let
         sha512 = "/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==";
       };
     };
-    "mime-db-1.45.0" = {
+    "mime-db-1.46.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.45.0";
+      version = "1.46.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz";
-        sha512 = "CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz";
+        sha512 = "svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==";
       };
     };
     "mime-types-2.1.18" = {
@@ -36380,13 +36919,13 @@ let
         sha512 = "JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==";
       };
     };
-    "mime-types-2.1.28" = {
+    "mime-types-2.1.29" = {
       name = "mime-types";
       packageName = "mime-types";
-      version = "2.1.28";
+      version = "2.1.29";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz";
-        sha512 = "0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz";
+        sha512 = "Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==";
       };
     };
     "mimic-fn-1.2.0" = {
@@ -36848,31 +37387,31 @@ let
         sha1 = "ebb3a977e7af1c683ae6fda12b545a6ba6c5853d";
       };
     };
-    "mobx-6.0.5" = {
+    "mobx-6.1.7" = {
       name = "mobx";
       packageName = "mobx";
-      version = "6.0.5";
+      version = "6.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mobx/-/mobx-6.0.5.tgz";
-        sha512 = "Q3/GiSj/QyazDn1n44PjdiMlokCE6gVs85BnFR0xCJmkF2d34k/ZnWAEG7wGbnJYEi+0f5CdvzDquBiKeo56bA==";
+        url = "https://registry.npmjs.org/mobx/-/mobx-6.1.7.tgz";
+        sha512 = "2iIgg2o0jd/bWAK/9KHJ1uwKHGowKyaTUM4qarJ0qGdLskYcB3sJevjjV7t7jW0WVjItz6BBlPNiZ14oHTpvMg==";
       };
     };
-    "mobx-react-7.0.6" = {
+    "mobx-react-7.1.0" = {
       name = "mobx-react";
       packageName = "mobx-react";
-      version = "7.0.6";
+      version = "7.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mobx-react/-/mobx-react-7.0.6.tgz";
-        sha512 = "EBNfDXnXNd0KmxtykioybOrJVX0Rc446aPZ69gDxguJnHPl/pPE032PhZ83EGWSZO3KiYsC251Ax3JlPqUwWBw==";
+        url = "https://registry.npmjs.org/mobx-react/-/mobx-react-7.1.0.tgz";
+        sha512 = "DxvA6VXmnZ+N9f/UTtolWtdRnAAQY2iHWTSPLktfpj8NKlXUe4dabBAjuXrBcZUM8GjLWnxD1ZEjssXq1M0RAw==";
       };
     };
-    "mobx-react-lite-3.1.7" = {
+    "mobx-react-lite-3.2.0" = {
       name = "mobx-react-lite";
       packageName = "mobx-react-lite";
-      version = "3.1.7";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-3.1.7.tgz";
-        sha512 = "G6kgur98RrEpoi563ERzxlSwn606xY6Ay4BOtfYXl/QaHZYXbhbCe3YJGROPU2ao4f2bfhnt8iZW3YnBW2BqXQ==";
+        url = "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-3.2.0.tgz";
+        sha512 = "q5+UHIqYCOpBoFm/PElDuOhbcatvTllgRp3M1s+Hp5j0Z6XNgDbgqxawJ0ZAUEyKM8X1zs70PCuhAIzX1f4Q/g==";
       };
     };
     "mocha-2.5.3" = {
@@ -36893,13 +37432,13 @@ let
         sha512 = "O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==";
       };
     };
-    "mocha-8.2.1" = {
+    "mocha-8.3.0" = {
       name = "mocha";
       packageName = "mocha";
-      version = "8.2.1";
+      version = "8.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mocha/-/mocha-8.2.1.tgz";
-        sha512 = "cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w==";
+        url = "https://registry.npmjs.org/mocha/-/mocha-8.3.0.tgz";
+        sha512 = "TQqyC89V1J/Vxx0DhJIXlq9gbbL9XFNdeLQ1+JsnZsVaSOV1z3tWfw0qZmQJGQRIfkvZcs7snQnZnOCKoldq1Q==";
       };
     };
     "mock-require-3.0.3" = {
@@ -36965,6 +37504,15 @@ let
         sha512 = "7PZH8QFJ51cIVtDv7wfUREBd3gL59JB0v/ARA3RI9zkSRa9LyGjS1Bdldii2J1/NQXRQ/3OOVOSdnZrCcVaZlw==";
       };
     };
+    "moize-6.0.0" = {
+      name = "moize";
+      packageName = "moize";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/moize/-/moize-6.0.0.tgz";
+        sha512 = "/GXPWgxfgQAeM2S7IPh29MDbhK9ZF1YjzP6QRcJ1QcYrqehe6eFpAQZ88Xk/s4dy/wYhMY5axT1vaaWC+lllZA==";
+      };
+    };
     "mold-source-map-0.4.0" = {
       name = "mold-source-map";
       packageName = "mold-source-map";
@@ -37019,6 +37567,15 @@ let
         sha512 = "Z8QNyuQHQAmWucp8Knmgei8YNo28aLjJq6Ma+jy1ZSpSk5nyfRT8xgUbSQvD2+2UajISfenndwvFuH3NGS+nvA==";
       };
     };
+    "moment-timezone-0.5.33" = {
+      name = "moment-timezone";
+      packageName = "moment-timezone";
+      version = "0.5.33";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.33.tgz";
+        sha512 = "PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==";
+      };
+    };
     "monotonic-timestamp-0.0.9" = {
       name = "monotonic-timestamp";
       packageName = "monotonic-timestamp";
@@ -37091,13 +37648,13 @@ let
         sha512 = "2/PRtGGiqPc/VEhbm7xAQ+gbb7yzHjjMAv6MpAifr5pCpbh3fQUdj93uNgwPiTppAGu8HFKe3PeU+OdRyAxStA==";
       };
     };
-    "mp4-stream-3.1.0" = {
+    "mp4-stream-3.1.3" = {
       name = "mp4-stream";
       packageName = "mp4-stream";
-      version = "3.1.0";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mp4-stream/-/mp4-stream-3.1.0.tgz";
-        sha512 = "ZQQjf0VEiqPucwRvmT3e0pfZfMSE3nc5ngGUiN1+2VMxCtrInrlAjZ2K6jpNmxSZ/roiQne/ovYJYTeOvZDXPw==";
+        url = "https://registry.npmjs.org/mp4-stream/-/mp4-stream-3.1.3.tgz";
+        sha512 = "DUT8f0x2jHbZjNMdqe9h6lZdt6RENWTTdGn8z3TXa4uEsoltuNY9lCCij84mdm0q7xcV0E2W25WRxlKBMo4hSw==";
       };
     };
     "mpath-0.5.2" = {
@@ -37118,13 +37675,22 @@ let
         sha512 = "GpxVObyOzL0CGPBqo6B04GinN8JLk12NRYAIkYvARd9ZCoJKevvOyCaWK6bdK/kFSDj3LPDnCsJbezzNlsi87Q==";
       };
     };
-    "mqtt-packet-6.7.0" = {
+    "mqtt-packet-6.9.0" = {
       name = "mqtt-packet";
       packageName = "mqtt-packet";
-      version = "6.7.0";
+      version = "6.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-6.7.0.tgz";
-        sha512 = "GzgeeCirQpB59FyhHvf8BLiIYgxctPSxuSyaF2vWnkt7paX7jtuQ8Gpl+DkHCxZmYuv7GQE6zcUAegpafd0MqQ==";
+        url = "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-6.9.0.tgz";
+        sha512 = "cngFSAXWSl5XHKJYUQiYQjtp75zhf1vygY00NnJdhQoXOH2v3aizmaaMIHI5n1N/TJEHSAbHryQhFr3gJ9VNvA==";
+      };
+    };
+    "mri-1.1.6" = {
+      name = "mri";
+      packageName = "mri";
+      version = "1.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mri/-/mri-1.1.6.tgz";
+        sha512 = "oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==";
       };
     };
     "mrmr-0.1.10" = {
@@ -37388,13 +37954,13 @@ let
         sha512 = "xasv76hl6nr1dEy3lPvy7Ej7K/Lx3O/FCvwge8PeVJpciPPoNCbaANcNiBug3IpdvTveZUcAV0DJzdnUDMesNQ==";
       };
     };
-    "multistream-4.0.1" = {
+    "multistream-4.1.0" = {
       name = "multistream";
       packageName = "multistream";
-      version = "4.0.1";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/multistream/-/multistream-4.0.1.tgz";
-        sha512 = "LNPIR/LD0JUw2beGlSv4sgTSnGbZp16d/PG2rnIrYjkeCaepNmBTobuiaNQATCPiYgn+BBuQTm70UlvwRfLZ3Q==";
+        url = "https://registry.npmjs.org/multistream/-/multistream-4.1.0.tgz";
+        sha512 = "J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw==";
       };
     };
     "munin-plugin-0.0.9" = {
@@ -37640,13 +38206,13 @@ let
         sha1 = "4f3152e09540fde28c76f44b19bbcd1d5a42478d";
       };
     };
-    "nanobus-4.4.0" = {
+    "nanobus-4.5.0" = {
       name = "nanobus";
       packageName = "nanobus";
-      version = "4.4.0";
+      version = "4.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nanobus/-/nanobus-4.4.0.tgz";
-        sha512 = "Hv9USGyH8EsPy0o8pPWE7x3YRIfuZDgMBirzjU6XLebhiSK2g53JlfqgolD0c39ne6wXAfaBNcIAvYe22Bav+Q==";
+        url = "https://registry.npmjs.org/nanobus/-/nanobus-4.5.0.tgz";
+        sha512 = "7sBZo9wthqNJ7QXnfVXZL7fkKJLN55GLOdX+RyZT34UOvxxnFtJe/c7K0ZRLAKOvaY1xJThFFn0Usw2H9R6Frg==";
       };
     };
     "nanoguard-1.3.0" = {
@@ -37667,15 +38233,6 @@ let
         sha512 = "s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==";
       };
     };
-    "nanoid-3.1.12" = {
-      name = "nanoid";
-      packageName = "nanoid";
-      version = "3.1.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz";
-        sha512 = "1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==";
-      };
-    };
     "nanoid-3.1.20" = {
       name = "nanoid";
       packageName = "nanoid";
@@ -38064,13 +38621,13 @@ let
         sha512 = "AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==";
       };
     };
-    "netlify-6.1.3" = {
+    "netlify-6.1.9" = {
       name = "netlify";
       packageName = "netlify";
-      version = "6.1.3";
+      version = "6.1.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/netlify/-/netlify-6.1.3.tgz";
-        sha512 = "VltyAYcfdmDymAZ5+N2y7HZzTrNpBpmRJ5NctFWbKuV+kW/Zogf3Cm2cRhzFl9xeJ6UYN7vTfw0dYddNt3QMIA==";
+        url = "https://registry.npmjs.org/netlify/-/netlify-6.1.9.tgz";
+        sha512 = "+t/yyPusR0/bwB/IQPT5mcwe3erlS+x8rBy006f1Gu2WsbUHpI20/Qyz0h3SJ4m7sSqeDVTVidFqQjbxMLKb0w==";
       };
     };
     "netlify-plugin-deploy-preview-commenting-0.0.1-alpha.16" = {
@@ -38082,13 +38639,13 @@ let
         sha512 = "5Rvi17CKgPpZTazEV2wkSj4IbS2zJpoKuytaYCyvemV/CMVeZUUPRwNPWm7+NjxObqJHgzUyi2FmWql8HfWhGA==";
       };
     };
-    "netlify-redirect-parser-3.0.2" = {
+    "netlify-redirect-parser-3.0.3" = {
       name = "netlify-redirect-parser";
       packageName = "netlify-redirect-parser";
-      version = "3.0.2";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/netlify-redirect-parser/-/netlify-redirect-parser-3.0.2.tgz";
-        sha512 = "ZpYwJh/aTBAYuS9dLTVTfDu1rf/+qJ3hsjiawW7A2NmIErN9qb9k08s5I6AUwPQlG4U50MtUnUwpHyMobcbkzA==";
+        url = "https://registry.npmjs.org/netlify-redirect-parser/-/netlify-redirect-parser-3.0.3.tgz";
+        sha512 = "Enafs4wGjLXry4SREr0Rhc6A3k7hLhlJA/+M/jYzoDza9aK+xTV6Y0rHmWFW1ffUe2fN8kyrtxW++Fdipxffbw==";
       };
     };
     "netlify-redirector-0.2.1" = {
@@ -38280,13 +38837,13 @@ let
         sha512 = "mYihjs47X5+N71CN3P+QBrEIBuclIfMMpgWEpkmLqFPvrOXdzokvDlhbLfjdBNZOqYgniaeZC6J1ZCgxFdyvXw==";
       };
     };
-    "no-cliches-0.2.2" = {
+    "no-cliches-0.3.0" = {
       name = "no-cliches";
       packageName = "no-cliches";
-      version = "0.2.2";
+      version = "0.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/no-cliches/-/no-cliches-0.2.2.tgz";
-        sha512 = "iEOqDAOFl6uN5jZGRj39Jdo8qALzf2HPXtpFso8+BMaDylDrUMYMwhFbfYGgxdnMlsRnxYTwv68kaXEpsHIapg==";
+        url = "https://registry.npmjs.org/no-cliches/-/no-cliches-0.3.0.tgz";
+        sha512 = "F5RA5GyDsJ9dYx2nFwzzy371BbFTBInQ/gO6arT+ngrI+1sDP5cSZxkWsVLgRoLMln4rs3xXBLjD2sLa7TnV1g==";
       };
     };
     "node-abi-2.19.3" = {
@@ -38497,15 +39054,6 @@ let
         sha512 = "3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==";
       };
     };
-    "node-gyp-4.0.0" = {
-      name = "node-gyp";
-      packageName = "node-gyp";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-gyp/-/node-gyp-4.0.0.tgz";
-        sha512 = "2XiryJ8sICNo6ej8d0idXDEMKfVfFK7kekGCtJAuelGsYHQxhj13KTf95swTCN2dZ/4lTfZ84Fu31jqJEEgjWA==";
-      };
-    };
     "node-gyp-5.1.1" = {
       name = "node-gyp";
       packageName = "node-gyp";
@@ -38569,13 +39117,13 @@ let
         sha1 = "87a9065cdb355d3182d8f94ce11188b825c68a3b";
       };
     };
-    "node-ipc-9.1.3" = {
+    "node-ipc-9.1.4" = {
       name = "node-ipc";
       packageName = "node-ipc";
-      version = "9.1.3";
+      version = "9.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-ipc/-/node-ipc-9.1.3.tgz";
-        sha512 = "8RS4RZyS/KMKKYG8mrje+cLxwATe9dBCuOiqKFSWND4oOuKytfuKCiR9yinvhoXF/nGdX/WnbywaUee+9U87zA==";
+        url = "https://registry.npmjs.org/node-ipc/-/node-ipc-9.1.4.tgz";
+        sha512 = "A+f0mn2KxUt1uRTSd5ktxQUsn2OEhj5evo7NUi/powBzMSZ0vocdzDjlq9QN2v3LH6CJi3e5xAenpZ1QwU5A8g==";
       };
     };
     "node-libs-browser-2.2.1" = {
@@ -38713,13 +39261,13 @@ let
         sha512 = "j1g/VtSCI2tBrBnCD+u8iSo9tH0nvn70k1O1SxkHk3+qx7tHUyOKQc7wNc4rUs9J1PkGngUC3qEDd5cL7Z/klg==";
       };
     };
-    "node-releases-1.1.70" = {
+    "node-releases-1.1.71" = {
       name = "node-releases";
       packageName = "node-releases";
-      version = "1.1.70";
+      version = "1.1.71";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz";
-        sha512 = "Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==";
+        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz";
+        sha512 = "zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==";
       };
     };
     "node-source-walk-4.2.0" = {
@@ -39136,6 +39684,15 @@ let
         sha512 = "/ep6QDxBkm9HvOhOg0heitSd7JHA1U7y1qhhlRlteYYAi9Pdb/ZV7FW5aHpkrpM8+P+4p/jjR8zCyKPBMBjSig==";
       };
     };
+    "npm-package-arg-8.1.1" = {
+      name = "npm-package-arg";
+      packageName = "npm-package-arg";
+      version = "8.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz";
+        sha512 = "CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==";
+      };
+    };
     "npm-packlist-1.4.8" = {
       name = "npm-packlist";
       packageName = "npm-packlist";
@@ -39199,15 +39756,6 @@ let
         sha512 = "Qs6P6nnopig+Y8gbzpeN/dkt+n7IyVd8f45NTMotGk6Qo7GfBmzwYx6jRLoOOgKiMnaQfYxsuyQlD8Mc3guBhg==";
       };
     };
-    "npm-registry-fetch-8.1.5" = {
-      name = "npm-registry-fetch";
-      packageName = "npm-registry-fetch";
-      version = "8.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-8.1.5.tgz";
-        sha512 = "yZPNoJK9clx1jhSXU54kU6Aj1SV2p7mXUs1W/6OjQvek3wb1RrjDCrt4iY1+VX9eBQvvSGEpzNmYkRUaTL8rqg==";
-      };
-    };
     "npm-registry-fetch-9.0.0" = {
       name = "npm-registry-fetch";
       packageName = "npm-registry-fetch";
@@ -39448,7 +39996,7 @@ let
       version = "0.9.15";
       src = fetchurl {
         name = "oauth-0.9.15.tar.gz";
-        url = https://codeload.github.com/ciaranj/node-oauth/legacy.tar.gz/master;
+        url = "https://codeload.github.com/ciaranj/node-oauth/legacy.tar.gz/master";
         sha256 = "9341c28772841acde618c778e85e381976f425824b816100792f697e68aec947";
       };
     };
@@ -39479,13 +40027,13 @@ let
         sha1 = "793cef251d45ebdeac32ae40a8b6814faab1d483";
       };
     };
-    "ob1-0.58.0" = {
+    "ob1-0.59.0" = {
       name = "ob1";
       packageName = "ob1";
-      version = "0.58.0";
+      version = "0.59.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ob1/-/ob1-0.58.0.tgz";
-        sha512 = "uZP44cbowAfHafP1k4skpWItk5iHCoRevMfrnUvYCfyNNPPJd3rfDCyj0exklWi2gDXvjlj2ObsfiqP/bs/J7Q==";
+        url = "https://registry.npmjs.org/ob1/-/ob1-0.59.0.tgz";
+        sha512 = "opXMTxyWJ9m68ZglCxwo0OPRESIC/iGmKFPXEXzMZqsVIrgoRXOHmoMDkQzz4y3irVjbyPJRAh5pI9fd0MJTFQ==";
       };
     };
     "object-assign-1.0.0" = {
@@ -39587,13 +40135,13 @@ let
         sha512 = "i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==";
       };
     };
-    "object-is-1.1.4" = {
+    "object-is-1.1.5" = {
       name = "object-is";
       packageName = "object-is";
-      version = "1.1.4";
+      version = "1.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz";
-        sha512 = "1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==";
+        url = "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz";
+        sha512 = "3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==";
       };
     };
     "object-keys-0.4.0" = {
@@ -39686,22 +40234,22 @@ let
         sha512 = "ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==";
       };
     };
-    "object.fromentries-2.0.3" = {
+    "object.fromentries-2.0.4" = {
       name = "object.fromentries";
       packageName = "object.fromentries";
-      version = "2.0.3";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.3.tgz";
-        sha512 = "IDUSMXs6LOSJBWE++L0lzIbSqHl9KDCfff2x/JSEIDtEUavUnyMYC2ZGay/04Zq4UT8lvd4xNhU4/YHKibAOlw==";
+        url = "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.4.tgz";
+        sha512 = "EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==";
       };
     };
-    "object.getownpropertydescriptors-2.1.1" = {
+    "object.getownpropertydescriptors-2.1.2" = {
       name = "object.getownpropertydescriptors";
       packageName = "object.getownpropertydescriptors";
-      version = "2.1.1";
+      version = "2.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz";
-        sha512 = "6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==";
+        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz";
+        sha512 = "WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==";
       };
     };
     "object.map-1.0.1" = {
@@ -39740,13 +40288,13 @@ let
         sha1 = "6fe348f2ac7fa0f95ca621226599096825bb03ad";
       };
     };
-    "object.values-1.1.2" = {
+    "object.values-1.1.3" = {
       name = "object.values";
       packageName = "object.values";
-      version = "1.1.2";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz";
-        sha512 = "MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==";
+        url = "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz";
+        sha512 = "nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==";
       };
     };
     "objectorarray-1.0.4" = {
@@ -39812,13 +40360,13 @@ let
         sha512 = "fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==";
       };
     };
-    "office-ui-fabric-react-7.157.0" = {
+    "office-ui-fabric-react-7.162.0" = {
       name = "office-ui-fabric-react";
       packageName = "office-ui-fabric-react";
-      version = "7.157.0";
+      version = "7.162.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.157.0.tgz";
-        sha512 = "nS0RfhQKho2S2hiUxHcgM47AZUK1EzbjkdWkofNHQk8q0PwJkQPTUjTbSuxhQNLzXHiaQJz930ZYUvRCZvlL1w==";
+        url = "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.162.0.tgz";
+        sha512 = "KLvT9qREaFAH0/TJFaCDMHstZ86yVi4EvG938RyHpzsdbI/ciHjQby7PvfAL5M4l1zAzV52qFjfKL5o4naqCLw==";
       };
     };
     "omggif-1.0.10" = {
@@ -39992,13 +40540,13 @@ let
         sha512 = "jQ31cORBFE6td25deYeD80wxKBMj+zBmHTrVxnc6CKhx8gho6ipmWM5zj/oeoqioZ99yqBls9Z/9Nss7J26G2g==";
       };
     };
-    "oo-ascii-tree-1.17.1" = {
+    "oo-ascii-tree-1.22.0" = {
       name = "oo-ascii-tree";
       packageName = "oo-ascii-tree";
-      version = "1.17.1";
+      version = "1.22.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.17.1.tgz";
-        sha512 = "+59dySSbsBOpRmrdBV6w4lkoxELA6reGNEsD/+HfRw8F+pQhGv5cROX0Y6jAXd1yWbUXY+AbbKVTq1ws/rfv+A==";
+        url = "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.22.0.tgz";
+        sha512 = "IoB8ybGGYKZ2hu4TQts9+AB2T4VHu3Bf896mOt3m1XzV9Xo5fZvO29rFn7Xfy3SaVzm6IjbaXGcxUcCHhz7hRQ==";
       };
     };
     "opal-runtime-1.0.11" = {
@@ -40064,6 +40612,24 @@ let
         sha512 = "f2wt9DCBKKjlFbjzGb8MOAW8LH8F0mrs1zc7KTjAJ9PZNQbfenzWbNP1VZJvw6ICMG9r14Ah6yfwPn7T7i646A==";
       };
     };
+    "open-7.4.0" = {
+      name = "open";
+      packageName = "open";
+      version = "7.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/open/-/open-7.4.0.tgz";
+        sha512 = "PGoBCX/lclIWlpS/R2PQuIR4NJoXh6X5AwVzE7WXnWRGvHg7+4TBCgsujUgiPpm0K1y4qvQeWnCWVTpTKZBtvA==";
+      };
+    };
+    "open-7.4.2" = {
+      name = "open";
+      packageName = "open";
+      version = "7.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/open/-/open-7.4.2.tgz";
+        sha512 = "MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==";
+      };
+    };
     "openapi-default-setter-2.1.0" = {
       name = "openapi-default-setter";
       packageName = "openapi-default-setter";
@@ -40091,13 +40657,13 @@ let
         sha512 = "TbgwwOnlatb+xSYh/XALQjrVO3dirVNXuONR6CLQHVI/i1e+nq/ubW8I5i6rlGpnFLZNZKXZ0gF7RMvjLBk8ow==";
       };
     };
-    "openapi-framework-7.2.3" = {
+    "openapi-framework-7.4.0" = {
       name = "openapi-framework";
       packageName = "openapi-framework";
-      version = "7.2.3";
+      version = "7.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-framework/-/openapi-framework-7.2.3.tgz";
-        sha512 = "3UwZFIxcJzMpYQAiwynaWGGWW/OcIdYz+gr5bO0TDOxnZjaZNo5ejru/6T9Gb7zrv15THihc3EdASvB36L0rXg==";
+        url = "https://registry.npmjs.org/openapi-framework/-/openapi-framework-7.4.0.tgz";
+        sha512 = "F3cxFsKqgojwQryCsv5gAnU3J9Mol2+xCmN8b0m3z2xLlD58bZ88gsOJVLftcxb3F6sRgLZwzdQZztP2LAKKiw==";
       };
     };
     "openapi-jsonschema-parameters-1.2.0" = {
@@ -40145,13 +40711,13 @@ let
         sha512 = "ukdX4T8heEI2GudiqDkk8hwfZhZP7zAz8zwngTyHtI0ZRUuU76+Zix8LVfrvSTZ2RpsPClKmYU2kDU4YZqdRHg==";
       };
     };
-    "openapi-request-validator-7.2.3" = {
+    "openapi-request-validator-7.4.0" = {
       name = "openapi-request-validator";
       packageName = "openapi-request-validator";
-      version = "7.2.3";
+      version = "7.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-request-validator/-/openapi-request-validator-7.2.3.tgz";
-        sha512 = "bZWIOIc7eDnPzgk159Wzur1U9hLoFTgok3coWA8J/XlNnTgnWGH+dxc8eCAdPlOLJh2AsiSu/fEGKzWJRxzCAw==";
+        url = "https://registry.npmjs.org/openapi-request-validator/-/openapi-request-validator-7.4.0.tgz";
+        sha512 = "0rnslY82Btw5nM6rUEuXkvupav4ujvP+e9WziZvcMrE+VZ6IxRGDP8F7w0XmtPBwMS2nJGgt/J7BnRXAFTx5tw==";
       };
     };
     "openapi-response-validator-4.0.0" = {
@@ -40163,13 +40729,13 @@ let
         sha512 = "bIG8bpHT/vE+Dtz4aVyfQnweXtUdvxvJf5/D6Uu98UGf3T42Ez940ctwnlmDCQxTPqdu0yLFbMoiNf/A3jYCIg==";
       };
     };
-    "openapi-response-validator-7.2.3" = {
+    "openapi-response-validator-7.4.0" = {
       name = "openapi-response-validator";
       packageName = "openapi-response-validator";
-      version = "7.2.3";
+      version = "7.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-response-validator/-/openapi-response-validator-7.2.3.tgz";
-        sha512 = "j9OvLWO/6sWiR4fwdbzPbZuuj02abk+kt8Zd2aXS4mS8K7/sl7QiJGI/VmQpvq9CTlNG67eEKyqgmBzI1ovu/g==";
+        url = "https://registry.npmjs.org/openapi-response-validator/-/openapi-response-validator-7.4.0.tgz";
+        sha512 = "Su8jA45PhegUgJnEAT15DYt2spPJgvjyTtXqg+Lw5AtGePfcQskV6ACEzsL0XPoAXIFf09Vx6sBor9pek+tl+Q==";
       };
     };
     "openapi-sampler-1.0.0-beta.18" = {
@@ -40523,15 +41089,6 @@ let
         sha512 = "9tXIMPvjZ7hPTbk8DFq1f7Kow/HU/pQYB60JbNq+QnGwcyhWVZaQ4hM9zQDEsPxw/muLpgiHSaumUZxCAmod/w==";
       };
     };
-    "ora-5.2.0" = {
-      name = "ora";
-      packageName = "ora";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ora/-/ora-5.2.0.tgz";
-        sha512 = "+wG2v8TUU8EgzPHun1k/n45pXquQ9fHnbXVetl9rRgO6kjZszGGbraF3XPTIdgeA+s1lbRjSEftAnyT0w8ZMvQ==";
-      };
-    };
     "ora-5.3.0" = {
       name = "ora";
       packageName = "ora";
@@ -40676,22 +41233,22 @@ let
         sha512 = "0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==";
       };
     };
-    "ot-builder-0.10.37" = {
+    "ot-builder-1.0.3" = {
       name = "ot-builder";
       packageName = "ot-builder";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ot-builder/-/ot-builder-0.10.37.tgz";
-        sha512 = "9V9v49oxGZUDosB63AlR1k6J5nAMJKUaRflYbwYy8o2/u9YMyujfAfqwDqAoWz12Q2Xdc9GllVA8TpPTw03acQ==";
+        url = "https://registry.npmjs.org/ot-builder/-/ot-builder-1.0.3.tgz";
+        sha512 = "ApuXJZmB30IAspJwojBh2VxQfLMMqu6fkQ7nrNmG+ubL6uvgqW7kZYIyCcaXU4utONLP6bDP988bNovQXVfNAQ==";
       };
     };
-    "otb-ttc-bundle-0.10.37" = {
+    "otb-ttc-bundle-1.0.3" = {
       name = "otb-ttc-bundle";
       packageName = "otb-ttc-bundle";
-      version = "0.10.37";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/otb-ttc-bundle/-/otb-ttc-bundle-0.10.37.tgz";
-        sha512 = "y3ziaqX+obzc9NMeXFvVz9+q2Hf9Nhu03lNbY/Iz1AjhfBHi7kMF9giW7ljmCTfdEg26crfOCBi2RbAUA2+3+g==";
+        url = "https://registry.npmjs.org/otb-ttc-bundle/-/otb-ttc-bundle-1.0.3.tgz";
+        sha512 = "U2Eh0kXe8YzP/F8sNJvqnBi8Y57oG4xcAND0IsGGSm+q1Csn30V0k34rA3rKmelnM/oXT5J0EbZKIvlapPdfLw==";
       };
     };
     "ow-0.21.0" = {
@@ -41234,31 +41791,22 @@ let
         sha512 = "LUL4NK7sz01jdSUdCu3z1LyphCiFdQaFouaEDsAWmJpzS0lbeNfvZoX4bi1Tm1ilzheK5VAoD96QskDCZQr+jA==";
       };
     };
-    "pacote-11.1.0" = {
+    "pacote-11.2.4" = {
       name = "pacote";
       packageName = "pacote";
-      version = "11.1.0";
+      version = "11.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pacote/-/pacote-11.1.0.tgz";
-        sha512 = "JcMmHiK6h6rcncj2HLayiyJZg28iJXJafXcmEGw2NjKH3WE8ZgSwyMZs7+f+aliPD57PDhB31IEgUtLXp0YZxA==";
+        url = "https://registry.npmjs.org/pacote/-/pacote-11.2.4.tgz";
+        sha512 = "GfTeVQGJ6WyBQbQD4t3ocHbyOmTQLmWjkCKSZPmKiGFKYKNUaM5U2gbLzUW8WG1XmS9yQFnsTFA0k3o1+q4klQ==";
       };
     };
-    "pacote-11.1.14" = {
+    "pacote-11.2.7" = {
       name = "pacote";
       packageName = "pacote";
-      version = "11.1.14";
+      version = "11.2.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pacote/-/pacote-11.1.14.tgz";
-        sha512 = "6c5OhQelaJFDfiw/Zd8MfGCvvFHurSdeGzufZMPvRFImdbNOYFciOINf3DtUNUaU3h98eCb749UyHDsgvL19+A==";
-      };
-    };
-    "pacote-11.2.3" = {
-      name = "pacote";
-      packageName = "pacote";
-      version = "11.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pacote/-/pacote-11.2.3.tgz";
-        sha512 = "Jphxyk1EjGyLzNwa+MkbcQUQeTIqlKcIoPq0t9ekR9ZxsTGjzhRjz/cOoL9PTVkqAW1FH7qBoVbYL4FqQGNNJg==";
+        url = "https://registry.npmjs.org/pacote/-/pacote-11.2.7.tgz";
+        sha512 = "ogxPor11v/rnU9ukwLlI2dPx22q9iob1+yZyqSwerKsOvBMhU9e+SJHtxY4y2N0MRH4/5jGsGiRLsZeJWyM4dQ==";
       };
     };
     "pad-0.0.5" = {
@@ -41657,13 +42205,13 @@ let
         sha512 = "to8zT7+o6bVTyP35r2QgG1svuFGMFO1mE6ri1oWHgL9tlgnOtfjmfHmA3mOuP9HTIU/8OiZw0NG5zbyqVLxhvA==";
       };
     };
-    "parse-torrent-9.1.1" = {
+    "parse-torrent-9.1.3" = {
       name = "parse-torrent";
       packageName = "parse-torrent";
-      version = "9.1.1";
+      version = "9.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/parse-torrent/-/parse-torrent-9.1.1.tgz";
-        sha512 = "QQePPIN0cX6bEjwAT6x2o5fUgOsz2SwXlZqzz2uvt12+uiCrgU4WYAsy3wEthQWLZQpn1utMbSbHCRDvjAnhMA==";
+        url = "https://registry.npmjs.org/parse-torrent/-/parse-torrent-9.1.3.tgz";
+        sha512 = "/Yr951CvJM8S6TjMaqrsmMxeQEAjDeCX+MZ3hGXXc7DG2wqzp/rzOsHtDzIVqN6NsFRCqy6wYLF/W7Sgvq7bXw==";
       };
     };
     "parse-torrent-file-2.1.4" = {
@@ -41972,13 +42520,13 @@ let
         sha512 = "nxl9nrnLQmh64iTzMfyylSlRozL7kAXIaxw1fVcLYdyhNkJCRUzirRZTikXGJsg+hc4fqpneTK6iU2H1Q8THSA==";
       };
     };
-    "patel-0.33.1" = {
+    "patel-0.34.0" = {
       name = "patel";
       packageName = "patel";
-      version = "0.33.1";
+      version = "0.34.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/patel/-/patel-0.33.1.tgz";
-        sha512 = "zOv5DhGH2r4cRKnZfOlHmWqxBp9nMGnC3F/NZbUqFCYMA65RXiv8q1F96/6dm2ANR6xvCe+xLODQSb49IFoYQg==";
+        url = "https://registry.npmjs.org/patel/-/patel-0.34.0.tgz";
+        sha512 = "3EvIzxbIFknpPa9QL2LYW+B35qFwER3Dn674KSC9Hc7DIuLJ7YMUJOR4dvCMPmpj/lB4fDvfr/VYV7FKKLEpFA==";
       };
     };
     "path-browserify-0.0.1" = {
@@ -42917,13 +43465,22 @@ let
         sha512 = "7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==";
       };
     };
-    "polished-3.6.7" = {
+    "polished-3.7.1" = {
       name = "polished";
       packageName = "polished";
-      version = "3.6.7";
+      version = "3.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/polished/-/polished-3.6.7.tgz";
-        sha512 = "b4OViUOihwV0icb9PHmWbR+vPqaSzSAEbgLskvb7ANPATVXGiYv/TQFHQo65S53WU9i5EQ1I03YDOJW7K0bmYg==";
+        url = "https://registry.npmjs.org/polished/-/polished-3.7.1.tgz";
+        sha512 = "/QgHrNGYwIA4mwxJ/7FSvalUJsm7KNfnXiScVSEG2Xa5qxDeBn4nmdjN2pW00mkM2Tts64ktc47U8F7Ed1BRAA==";
+      };
+    };
+    "polyraf-1.1.0" = {
+      name = "polyraf";
+      packageName = "polyraf";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/polyraf/-/polyraf-1.1.0.tgz";
+        sha512 = "wKRyhZQE6AC70nJyMCWbwd/dX4S6UsFz+58qAF8HTpCn6C7pvr63FiH4vR9vT6VrhZrJKuT7A81ea/lIslS0bA==";
       };
     };
     "poor-mans-t-sql-formatter-1.6.10" = {
@@ -43017,6 +43574,15 @@ let
         sha512 = "iBXEV5VTTYaRRdxiFYzTtuv2lGMQBExqkZKSzkJe+Fl6rvQrA/49UVGKqB+LG54hpW/TtDBMGds8j33GFNW7pg==";
       };
     };
+    "postcss-8.2.6" = {
+      name = "postcss";
+      packageName = "postcss";
+      version = "8.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss/-/postcss-8.2.6.tgz";
+        sha512 = "xpB8qYxgPuly166AGlpRjUdEYtmOWx2iCwGmrv4vqZL9YPVviDVPZPRXxnXr6xPZOdxQ9lp3ZBFCRgWJ7LE3Sg==";
+      };
+    };
     "postcss-calc-7.0.5" = {
       name = "postcss-calc";
       packageName = "postcss-calc";
@@ -43116,13 +43682,13 @@ let
         sha512 = "7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==";
       };
     };
-    "postcss-load-config-3.0.0" = {
+    "postcss-load-config-3.0.1" = {
       name = "postcss-load-config";
       packageName = "postcss-load-config";
-      version = "3.0.0";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.0.0.tgz";
-        sha512 = "lErrN8imuEF1cSiHBV8MiR7HeuzlDpCGNtaMyYHlOBuJHHOGw6S4xOMZp8BbXPr7AGQp14L6PZDlIOpfFJ6f7w==";
+        url = "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.0.1.tgz";
+        sha512 = "/pDHe30UYZUD11IeG8GWx9lNtu1ToyTsZHnyy45B4Mrwr/Kb6NgYl7k753+05CJNKnjbwh4975amoPJ+TEjHNQ==";
       };
     };
     "postcss-media-query-parser-0.2.3" = {
@@ -43188,13 +43754,13 @@ let
         sha512 = "D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==";
       };
     };
-    "postcss-modules-3.2.2" = {
+    "postcss-modules-4.0.0" = {
       name = "postcss-modules";
       packageName = "postcss-modules";
-      version = "3.2.2";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-modules/-/postcss-modules-3.2.2.tgz";
-        sha512 = "JQ8IAqHELxC0N6tyCg2UF40pACY5oiL6UpiqqcIFRWqgDYO8B0jnxzoQ0EOpPrWXvcpu6BSbQU/3vSiq7w8Nhw==";
+        url = "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.0.0.tgz";
+        sha512 = "ghS/ovDzDqARm4Zj6L2ntadjyQMoyJmi0JkLlYtH2QFLrvNlxH5OAVRPWPeKilB0pY7SbuhO173KOWkPAxRJcw==";
       };
     };
     "postcss-modules-extract-imports-1.1.0" = {
@@ -43215,6 +43781,15 @@ let
         sha512 = "LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==";
       };
     };
+    "postcss-modules-extract-imports-3.0.0" = {
+      name = "postcss-modules-extract-imports";
+      packageName = "postcss-modules-extract-imports";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz";
+        sha512 = "bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==";
+      };
+    };
     "postcss-modules-local-by-default-1.2.0" = {
       name = "postcss-modules-local-by-default";
       packageName = "postcss-modules-local-by-default";
@@ -43233,6 +43808,15 @@ let
         sha512 = "e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==";
       };
     };
+    "postcss-modules-local-by-default-4.0.0" = {
+      name = "postcss-modules-local-by-default";
+      packageName = "postcss-modules-local-by-default";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz";
+        sha512 = "sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==";
+      };
+    };
     "postcss-modules-scope-1.1.0" = {
       name = "postcss-modules-scope";
       packageName = "postcss-modules-scope";
@@ -43251,6 +43835,15 @@ let
         sha512 = "YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==";
       };
     };
+    "postcss-modules-scope-3.0.0" = {
+      name = "postcss-modules-scope";
+      packageName = "postcss-modules-scope";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz";
+        sha512 = "hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==";
+      };
+    };
     "postcss-modules-values-1.3.0" = {
       name = "postcss-modules-values";
       packageName = "postcss-modules-values";
@@ -43269,6 +43862,15 @@ let
         sha512 = "1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==";
       };
     };
+    "postcss-modules-values-4.0.0" = {
+      name = "postcss-modules-values";
+      packageName = "postcss-modules-values";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz";
+        sha512 = "RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==";
+      };
+    };
     "postcss-normalize-charset-4.0.1" = {
       name = "postcss-normalize-charset";
       packageName = "postcss-normalize-charset";
@@ -43638,13 +44240,13 @@ let
         sha512 = "s8Aai8++QQGi4sSbs/M1Qku62PFK49Jm1CbgXklGz4nmHveDq0wzJkg7Na5QbnO1uNH8K7iqx2EQ/mV0MZEmOg==";
       };
     };
-    "prebuild-install-6.0.0" = {
+    "prebuild-install-6.0.1" = {
       name = "prebuild-install";
       packageName = "prebuild-install";
-      version = "6.0.0";
+      version = "6.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.0.0.tgz";
-        sha512 = "h2ZJ1PXHKWZpp1caLw0oX9sagVpL2YTk+ZwInQbQ3QqNd4J03O6MpFNmMTJlkfgPENWqe5kP0WjQLqz5OjLfsw==";
+        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.0.1.tgz";
+        sha512 = "7GOJrLuow8yeiyv75rmvZyeMGzl8mdEX5gY69d6a6bHWmiPevwqFw+tQavhK0EYMaSg3/KD24cWqeQv1EWsqDQ==";
       };
     };
     "precinct-6.3.1" = {
@@ -43773,6 +44375,15 @@ let
         sha512 = "2UzApPuxi2yRoyMlXMazgR6UcH9DKJhNgCviIwY3ixZ9THWSSrUww5vkiZ3C48WvpFl1M1y/oU63deSy1puWEA==";
       };
     };
+    "prettier-plugin-svelte-2.1.6" = {
+      name = "prettier-plugin-svelte";
+      packageName = "prettier-plugin-svelte";
+      version = "2.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-2.1.6.tgz";
+        sha512 = "eg6MhH394IYsljIcLMgCx/wozObkUFZJ1GkH+Nj8sZQilnNCFTeSBcEohBaNa9hr5RExvlJQJ8a2CEjMMrwL8g==";
+      };
+    };
     "prettier-stylelint-0.4.2" = {
       name = "prettier-stylelint";
       packageName = "prettier-stylelint";
@@ -43800,13 +44411,13 @@ let
         sha1 = "b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9";
       };
     };
-    "pretty-bytes-5.5.0" = {
+    "pretty-bytes-5.6.0" = {
       name = "pretty-bytes";
       packageName = "pretty-bytes";
-      version = "5.5.0";
+      version = "5.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.5.0.tgz";
-        sha512 = "p+T744ZyjjiaFlMUZZv6YPC5JrkNj8maRmPaQCWFJFplUAzpIUTRaTcS+7wmZtUoFXHtESJb23ISliaWyz3SHA==";
+        url = "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz";
+        sha512 = "FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==";
       };
     };
     "pretty-error-2.1.2" = {
@@ -43872,6 +44483,15 @@ let
         sha512 = "4gaK1skD2gwscCfkswYQRmddUb2GJZtzDGRjHWadVHtK/DIKFufa12MvES6/xu1tVbUYeia5bmLcwJtZJQUqnw==";
       };
     };
+    "pretty-quick-3.1.0" = {
+      name = "pretty-quick";
+      packageName = "pretty-quick";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.1.0.tgz";
+        sha512 = "DtxIxksaUWCgPFN7E1ZZk4+Aav3CCuRdhrDSFZENb404sYMtuo9Zka823F+Mgeyt8Zt3bUiCjFzzWYE9LYqkmQ==";
+      };
+    };
     "pretty-time-1.1.0" = {
       name = "pretty-time";
       packageName = "pretty-time";
@@ -43962,31 +44582,22 @@ let
         sha512 = "abAuk3ZDyQvPLY6MygtwaDTUBIZ0C5wMMuX1jXa0svazV+keTwn7cPobRv4WYA9ctsDUztm/9CYu4y2TPL08xw==";
       };
     };
-    "probe-image-size-3.2.0" = {
-      name = "probe-image-size";
-      packageName = "probe-image-size";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/probe-image-size/-/probe-image-size-3.2.0.tgz";
-        sha512 = "LE7mIvfDoEeOgIH9TbMNv5txJh+K0/UVandiXHk+Hm4VKqNV5qxoeDzdW3QiMIlqXsIEm3K+SzeAedT6fZKjtQ==";
-      };
-    };
-    "probe-image-size-4.0.0" = {
+    "probe-image-size-5.0.0" = {
       name = "probe-image-size";
       packageName = "probe-image-size";
-      version = "4.0.0";
+      version = "5.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/probe-image-size/-/probe-image-size-4.0.0.tgz";
-        sha512 = "nm7RvWUxps+2+jZKNLkd04mNapXNariS6G5WIEVzvAqjx7EUuKcY1Dp3e6oUK7GLwzJ+3gbSbPLFAASHFQrPcQ==";
+        url = "https://registry.npmjs.org/probe-image-size/-/probe-image-size-5.0.0.tgz";
+        sha512 = "V6uBYw5eBc5UVIE7MUZD6Nxg0RYuGDWLDenEn0B1WC6PcTvn1xdQ6HLDDuznefsiExC6rNrCz7mFRBo0f3Xekg==";
       };
     };
-    "probe-image-size-5.0.0" = {
+    "probe-image-size-6.0.0" = {
       name = "probe-image-size";
       packageName = "probe-image-size";
-      version = "5.0.0";
+      version = "6.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/probe-image-size/-/probe-image-size-5.0.0.tgz";
-        sha512 = "V6uBYw5eBc5UVIE7MUZD6Nxg0RYuGDWLDenEn0B1WC6PcTvn1xdQ6HLDDuznefsiExC6rNrCz7mFRBo0f3Xekg==";
+        url = "https://registry.npmjs.org/probe-image-size/-/probe-image-size-6.0.0.tgz";
+        sha512 = "99PZ5+RU4gqiTfK5ZDMDkZtn6eL4WlKfFyVJV7lFQvH3iGmQ85DqMTOdxorERO26LHkevR2qsxnHp0x/2UDJPA==";
       };
     };
     "process-0.10.1" = {
@@ -44160,6 +44771,15 @@ let
         sha1 = "6739e968e3051da20ce6497fb2b50f6911df3d6d";
       };
     };
+    "promise-retry-2.0.1" = {
+      name = "promise-retry";
+      packageName = "promise-retry";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz";
+        sha512 = "y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==";
+      };
+    };
     "promise.prototype.finally-3.1.2" = {
       name = "promise.prototype.finally";
       packageName = "promise.prototype.finally";
@@ -44178,6 +44798,15 @@ let
         sha1 = "5f8a704ccdf5f2ac23996fcafe2b301bc2a8d0eb";
       };
     };
+    "promisify-4loc-1.0.0" = {
+      name = "promisify-4loc";
+      packageName = "promisify-4loc";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promisify-4loc/-/promisify-4loc-1.0.0.tgz";
+        sha512 = "u/XtndUyqqDXAuhFEgFgkpjHG8IizREoj80j5dL4t41eE9yH0gzFPyOD21/VnikdPJtRziuqf6ryTu1HoTjyog==";
+      };
+    };
     "promisify-child-process-4.1.1" = {
       name = "promisify-child-process";
       packageName = "promisify-child-process";
@@ -44484,13 +45113,13 @@ let
         sha512 = "TaZ4Z2TWUPDJcV3wjU3RtUXMrd3kM4Wzjbe3EWnSsZPsJ3LDI0F3yCnf2/W7PPFF+edUFQ0HgDL1IoxSz5K8EQ==";
       };
     };
-    "pug-code-gen-2.0.2" = {
+    "pug-code-gen-2.0.3" = {
       name = "pug-code-gen";
       packageName = "pug-code-gen";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-2.0.2.tgz";
-        sha512 = "kROFWv/AHx/9CRgoGJeRSm+4mLWchbgpRzTEn8XCiwwOy6Vh0gAClS8Vh5TEJ9DBjaP8wCjS3J6HKsEsYdvaCw==";
+        url = "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-2.0.3.tgz";
+        sha512 = "r9sezXdDuZJfW9J91TN/2LFbiqDhmltTFmGpHTsGdrNGp3p4SxAjjXEfnuK2e4ywYsRIVP0NeLbSAMHUcaX1EA==";
       };
     };
     "pug-error-1.3.3" = {
@@ -44592,6 +45221,24 @@ let
         sha1 = "7017a984c3b834de77bac38c10b776f22dfc1843";
       };
     };
+    "pull-async-1.0.0" = {
+      name = "pull-async";
+      packageName = "pull-async";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pull-async/-/pull-async-1.0.0.tgz";
+        sha1 = "146b36e3e043d7a666b59a14165fdd3bef3cf44c";
+      };
+    };
+    "pull-awaitable-1.0.0" = {
+      name = "pull-awaitable";
+      packageName = "pull-awaitable";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pull-awaitable/-/pull-awaitable-1.0.0.tgz";
+        sha512 = "tfufzU9wMd1rM38tcgunaKMUNGXMj1Qms1ygEw+ZerkMmLAwilEtMsyzrDSLhNlnfhSzHXovOarieSNrTD1ovQ==";
+      };
+    };
     "pull-block-filter-1.0.0" = {
       name = "pull-block-filter";
       packageName = "pull-block-filter";
@@ -44682,6 +45329,15 @@ let
         sha512 = "/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==";
       };
     };
+    "pull-drain-gently-1.1.0" = {
+      name = "pull-drain-gently";
+      packageName = "pull-drain-gently";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pull-drain-gently/-/pull-drain-gently-1.1.0.tgz";
+        sha512 = "ZUPsNrn8jkU6Y2B4w8Jz3gXAmjSpb+qn4AQhAL8qTWUHULglH16ANr+6qnfOEa1kUoUGVCQZaORTd2NSQFAnhA==";
+      };
+    };
     "pull-file-0.5.0" = {
       name = "pull-file";
       packageName = "pull-file";
@@ -44916,6 +45572,15 @@ let
         sha1 = "51a4193ce9c8d7215d95adad45e2bcdb8493b23a";
       };
     };
+    "pull-pause-0.0.2" = {
+      name = "pull-pause";
+      packageName = "pull-pause";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pull-pause/-/pull-pause-0.0.2.tgz";
+        sha1 = "19d45be8faa615fa556f14a96fd733462c37fba3";
+      };
+    };
     "pull-ping-2.0.3" = {
       name = "pull-ping";
       packageName = "pull-ping";
@@ -45015,6 +45680,15 @@ let
         sha512 = "KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==";
       };
     };
+    "pull-thenable-1.0.0" = {
+      name = "pull-thenable";
+      packageName = "pull-thenable";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pull-thenable/-/pull-thenable-1.0.0.tgz";
+        sha512 = "gio2Yanuj5lcN8X+VXtx6F2iWxnhxfaHSKaSJHUzJMNNboEz48/+udzZFDaya8kAwj3DbuFFt1pbb8m1tIS6PQ==";
+      };
+    };
     "pull-through-1.0.18" = {
       name = "pull-through";
       packageName = "pull-through";
@@ -45168,13 +45842,13 @@ let
         sha512 = "l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==";
       };
     };
-    "puppeteer-5.5.0" = {
+    "puppeteer-7.1.0" = {
       name = "puppeteer";
       packageName = "puppeteer";
-      version = "5.5.0";
+      version = "7.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-5.5.0.tgz";
-        sha512 = "OM8ZvTXAhfgFA7wBIIGlPQzvyEETzDjeRa4mZRCRHxYL+GNH5WAuYUQdja3rpWZvkX/JKqmuVgbsxDNsDFjMEg==";
+        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-7.1.0.tgz";
+        sha512 = "lqOLzqCKdh7yUAHvK6LxgOpQrL8Bv1/jvS8MLDXxcNms2rlM3E8p/Wlwc7efbRZ0twxTzUeqjN5EqrTwxOwc9g==";
       };
     };
     "purgecss-2.3.0" = {
@@ -45195,6 +45869,15 @@ let
         sha512 = "wCDN1KkAWOMXsiV0XxH/CggHqOYeXvyn00t9Zjp5RKsLZ2rzg/lLJIMAVxYLyh79T168W3fBYcG5TRRJAlQr6g==";
       };
     };
+    "push-stream-11.0.0" = {
+      name = "push-stream";
+      packageName = "push-stream";
+      version = "11.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/push-stream/-/push-stream-11.0.0.tgz";
+        sha512 = "rDVD2f3wOztI/59/fukGLwZkUOC55674hncsSwgKF/yLlkkL594AoWTlkF6SGF0x8O5o1j92ObXk8Cxc1llhYg==";
+      };
+    };
     "push-stream-to-pull-stream-1.0.3" = {
       name = "push-stream-to-pull-stream";
       packageName = "push-stream-to-pull-stream";
@@ -45213,6 +45896,15 @@ let
         sha1 = "15931d3cd967ade52206f523aa7331aef7d43af7";
       };
     };
+    "pyright-1.1.116" = {
+      name = "pyright";
+      packageName = "pyright";
+      version = "1.1.116";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.116.tgz";
+        sha512 = "SdsLo/bahs+ncCYIY7E4bL/B+ZuI/OdKJudNuUFAJciXEkkkp2ICzpzQSt0n4ZeYsPfqb5g48QoGo7x4a+LDcQ==";
+      };
+    };
     "q-0.9.7" = {
       name = "q";
       packageName = "q";
@@ -45411,13 +46103,13 @@ let
         sha512 = "gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==";
       };
     };
-    "query-string-6.13.8" = {
+    "query-string-6.14.1" = {
       name = "query-string";
       packageName = "query-string";
-      version = "6.13.8";
+      version = "6.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/query-string/-/query-string-6.13.8.tgz";
-        sha512 = "jxJzQI2edQPE/NPUOusNjO/ZOGqr1o2OBa/3M00fU76FsLXDVbJDv/p7ng5OdQyorKrkRz1oqfwmbe5MAMePQg==";
+        url = "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz";
+        sha512 = "XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==";
       };
     };
     "querystring-0.2.0" = {
@@ -45429,6 +46121,15 @@ let
         sha1 = "b209849203bb25df820da756e747005878521620";
       };
     };
+    "querystring-0.2.1" = {
+      name = "querystring";
+      packageName = "querystring";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz";
+        sha512 = "wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==";
+      };
+    };
     "querystring-es3-0.2.1" = {
       name = "querystring-es3";
       packageName = "querystring-es3";
@@ -45501,6 +46202,15 @@ let
         sha512 = "WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==";
       };
     };
+    "quicktask-1.0.1" = {
+      name = "quicktask";
+      packageName = "quicktask";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/quicktask/-/quicktask-1.0.1.tgz";
+        sha512 = "+jhR01aSsi6Iw9wbYumKusRK72QK1ub2oE0kOnRyMkMdD/rXMMGW/TVl5edjcLjuuIKP1ezkr+xQzUMD5/4JHw==";
+      };
+    };
     "quicktask-1.1.0" = {
       name = "quicktask";
       packageName = "quicktask";
@@ -45591,13 +46301,40 @@ let
         sha512 = "maAX1cnBkzIZ89O4tSQUOF098xjGMC8N+9vuY/WfHwg87THw6odD2Br35donlj5e6KnB1SB0QBHhTQhhDHuTPQ==";
       };
     };
-    "random-access-file-2.1.4" = {
+    "random-access-chrome-file-1.1.4" = {
+      name = "random-access-chrome-file";
+      packageName = "random-access-chrome-file";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/random-access-chrome-file/-/random-access-chrome-file-1.1.4.tgz";
+        sha512 = "xZW1BT26g+gl8AF1kC/oXX97jCMVoLIbf6yx4eVMwLgOddGhhkJygimnfERSEmhUKiGs3DTymNao6wf/P23Nkg==";
+      };
+    };
+    "random-access-file-2.2.0" = {
       name = "random-access-file";
       packageName = "random-access-file";
-      version = "2.1.4";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/random-access-file/-/random-access-file-2.1.4.tgz";
-        sha512 = "WAcBP5iLhg1pbjZA40WyMenjK7c5gJUY6Pi5HJ3fLJCeVFNSZv3juf20yFMKxBdvcX5GKbX/HZSfFzlLBdGTdQ==";
+        url = "https://registry.npmjs.org/random-access-file/-/random-access-file-2.2.0.tgz";
+        sha512 = "B744003Mj7v3EcuPl9hCiB2Ot4aZjgtU2mV6yFY1THiWU/XfGf1uSadR+SlQdJcwHgAWeG7Lbos0aUqjtj8FQg==";
+      };
+    };
+    "random-access-idb-1.2.1" = {
+      name = "random-access-idb";
+      packageName = "random-access-idb";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/random-access-idb/-/random-access-idb-1.2.1.tgz";
+        sha512 = "5rZRPhjgfR222n+dmZtRYhu0CF9dDEwxaS+UgeWursIWPmNirR6BajzOB4wG5I7WAeYZea9HCqYKk/Tin3s9cA==";
+      };
+    };
+    "random-access-idb-mutable-file-0.3.0" = {
+      name = "random-access-idb-mutable-file";
+      packageName = "random-access-idb-mutable-file";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/random-access-idb-mutable-file/-/random-access-idb-mutable-file-0.3.0.tgz";
+        sha512 = "CdVAoFNNDn5uAgYOJ8J3ICSaFzaMOa95XnYcX+taj4jirJuRASiTyQSOGR+Z0K8ZkBGuj0A8ivyeRAWuxRCgQA==";
       };
     };
     "random-access-memory-3.1.2" = {
@@ -45609,6 +46346,15 @@ let
         sha512 = "wIfh4OZ9T+FRNf6rbXLvEb4FfSxyZpvGnC5kC7Xi39SyPkRYfeJyR9Xwa13iLbNyoNKNIkTFUE4g9lXFb1ZflA==";
       };
     };
+    "random-access-storage-1.3.0" = {
+      name = "random-access-storage";
+      packageName = "random-access-storage";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/random-access-storage/-/random-access-storage-1.3.0.tgz";
+        sha512 = "pdS9Mcb9TB7oICypPRALlheaSuszuAKmLVEPKJMuYor7R/zDuHh5ALuQoS+ox31XRwQUL+tDwWH2GPdyspwelA==";
+      };
+    };
     "random-access-storage-1.4.1" = {
       name = "random-access-storage";
       packageName = "random-access-storage";
@@ -45618,6 +46364,15 @@ let
         sha512 = "DbCc2TIzOxPaHF6KCbr8zLtiYOJQQQCBHUVNHV/SckUQobCBB2YkDtbLdxGnPwPNpJfEyMWxDAm36A2xkbxxtw==";
       };
     };
+    "random-access-web-2.0.3" = {
+      name = "random-access-web";
+      packageName = "random-access-web";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/random-access-web/-/random-access-web-2.0.3.tgz";
+        sha512 = "nN3AAgl4/lTOYMk5Qm44SzFsglOmaG2d0Kh0603umh35+rk9QXYLFf0nFJ0GOv9INBsP9iT1lub24r8PjyCtvA==";
+      };
+    };
     "random-bytes-1.0.0" = {
       name = "random-bytes";
       packageName = "random-bytes";
@@ -45843,13 +46598,13 @@ let
         sha512 = "0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==";
       };
     };
-    "react-dev-utils-11.0.1" = {
+    "react-dev-utils-11.0.3" = {
       name = "react-dev-utils";
       packageName = "react-dev-utils";
-      version = "11.0.1";
+      version = "11.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.1.tgz";
-        sha512 = "rlgpCupaW6qQqvu0hvv2FDv40QG427fjghV56XyPcP5aKtOAPzNAhQ7bHqk1YdS2vpW1W7aSV3JobedxuPlBAA==";
+        url = "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.3.tgz";
+        sha512 = "4lEA5gF4OHrcJLMUV1t+4XbNDiJbsAWCH5Z2uqlTqW6dD7Cf5nEASkeXrCI/Mz83sI2o527oBIFKVMXtRf1Vtg==";
       };
     };
     "react-devtools-core-4.10.1" = {
@@ -45870,13 +46625,13 @@ let
         sha512 = "1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==";
       };
     };
-    "react-error-overlay-6.0.8" = {
+    "react-error-overlay-6.0.9" = {
       name = "react-error-overlay";
       packageName = "react-error-overlay";
-      version = "6.0.8";
+      version = "6.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.8.tgz";
-        sha512 = "HvPuUQnLp5H7TouGq3kzBeioJmXms1wHy9EGjz2OURWBp4qZO6AfGEcnxts1D/CbwPLRAgTMPCEgYhA3sEM4vw==";
+        url = "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz";
+        sha512 = "nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==";
       };
     };
     "react-is-16.13.1" = {
@@ -45915,13 +46670,13 @@ let
         sha512 = "X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==";
       };
     };
-    "react-tabs-3.1.2" = {
+    "react-tabs-3.2.0" = {
       name = "react-tabs";
       packageName = "react-tabs";
-      version = "3.1.2";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/react-tabs/-/react-tabs-3.1.2.tgz";
-        sha512 = "OKS1l7QzSNcn+L2uFsxyGFHdXp9YsPGf/YOURWcImp7xLN36n0Wz+/j9HwlwGtlXCZexwshScR5BrcFbw/3P9Q==";
+        url = "https://registry.npmjs.org/react-tabs/-/react-tabs-3.2.0.tgz";
+        sha512 = "q7oNapNRoYTQq8gDhApXwdBheuuN5qQ4YvUaQUAkb6OSSttJulBAvxJ0FS6W5uojvMxbbIZKu1f2I+GXISoLjw==";
       };
     };
     "read-1.0.7" = {
@@ -46014,13 +46769,22 @@ let
         sha512 = "D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==";
       };
     };
-    "read-package-json-fast-1.2.1" = {
+    "read-package-json-fast-1.2.2" = {
       name = "read-package-json-fast";
       packageName = "read-package-json-fast";
-      version = "1.2.1";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-1.2.2.tgz";
+        sha512 = "39DbPJjkltEzfXJXB6D8/Ir3GFOU2YbSKa2HaB/Y3nKrc/zY+0XrALpID6/13ezWyzqvOHrBbR4t4cjQuTdBVQ==";
+      };
+    };
+    "read-package-json-fast-2.0.2" = {
+      name = "read-package-json-fast";
+      packageName = "read-package-json-fast";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-1.2.1.tgz";
-        sha512 = "OFbpwnHcv74Oa5YN5WvbOBfLw6yPmPcwvyJJw/tj9cWFBF7juQUDLDSZiOjEcgzfweWeeROOmbPpNN1qm4hcRg==";
+        url = "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.2.tgz";
+        sha512 = "5fyFUyO9B799foVk4n6ylcoAktG/FbE3jwRKxvwaeSrIunaoMc0u81dzXxjeAFKOce7O5KncdfwpGvvs6r5PsQ==";
       };
     };
     "read-package-tree-5.3.1" = {
@@ -46410,13 +47174,13 @@ let
         sha512 = "M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A==";
       };
     };
-    "redis-commands-1.6.0" = {
+    "redis-commands-1.7.0" = {
       name = "redis-commands";
       packageName = "redis-commands";
-      version = "1.6.0";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/redis-commands/-/redis-commands-1.6.0.tgz";
-        sha512 = "2jnZ0IkjZxvguITjFTrGiLyzQZcTvaw8DAaCXxZq/dsHXz7KfMQ3OUJy7Tz9vnRtZRVz6VRCPDvruvU8Ts44wQ==";
+        url = "https://registry.npmjs.org/redis-commands/-/redis-commands-1.7.0.tgz";
+        sha512 = "nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ==";
       };
     };
     "redis-parser-2.6.0" = {
@@ -46644,13 +47408,13 @@ let
         sha512 = "OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==";
       };
     };
-    "regjsparser-0.6.6" = {
+    "regjsparser-0.6.7" = {
       name = "regjsparser";
       packageName = "regjsparser";
-      version = "0.6.6";
+      version = "0.6.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.6.tgz";
-        sha512 = "jjyuCp+IEMIm3N1H1LLTJW1EISEJV9+5oHdEyrt43Pg9cDSb6rrLZei2cVWpl0xTjmmlpec/lEQGYgM7xfpGCQ==";
+        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.7.tgz";
+        sha512 = "ib77G0uxsA2ovgiYbCVGx4Pv3PSttAx2vIwidqQzbL2U5S4Q+j00HdSAneSBuyVcMvEnTXMjiGgB+DlXozVhpQ==";
       };
     };
     "rehype-parse-7.0.1" = {
@@ -47103,13 +47867,13 @@ let
         sha512 = "eBEh+GzJAftUnex6tcL6eV2JCifY0+sZMIUpUPOVXbs2nV5hla4ZMmO3icYKGuGVuQ2zHE9evh4OrRcH4iyYYw==";
       };
     };
-    "request-light-0.3.0" = {
+    "request-light-0.4.0" = {
       name = "request-light";
       packageName = "request-light";
-      version = "0.3.0";
+      version = "0.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request-light/-/request-light-0.3.0.tgz";
-        sha512 = "xlVlZVT0ZvCT+c3zm3SjeFCzchoQxsUUmx5fkal0I6RIDJK+lmb1UYyKJ7WM4dTfnzHP4ElWwAf8Dli8c0/tVA==";
+        url = "https://registry.npmjs.org/request-light/-/request-light-0.4.0.tgz";
+        sha512 = "fimzjIVw506FBZLspTAXHdpvgvQebyjpNyLRd0e6drPPRq7gcrROeGWRyF81wLqFg5ijPgnOQbmfck5wdTqpSA==";
       };
     };
     "request-progress-2.0.1" = {
@@ -47292,6 +48056,15 @@ let
         sha512 = "rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==";
       };
     };
+    "resolve-1.20.0" = {
+      name = "resolve";
+      packageName = "resolve";
+      version = "1.20.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz";
+        sha512 = "wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==";
+      };
+    };
     "resolve-1.7.1" = {
       name = "resolve";
       packageName = "resolve";
@@ -47301,13 +48074,13 @@ let
         sha512 = "c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==";
       };
     };
-    "resolve-2.0.0-next.2" = {
+    "resolve-2.0.0-next.3" = {
       name = "resolve";
       packageName = "resolve";
-      version = "2.0.0-next.2";
+      version = "2.0.0-next.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.2.tgz";
-        sha512 = "oHC2H45OCkhIeS45uW5zCsSinW+hgWwRtfobOhmkXiO4Q6e6fpZpBuBkZxAqTfoC1O6VIclqK6RjyeGVaxEYtA==";
+        url = "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz";
+        sha512 = "W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==";
       };
     };
     "resolve-alpn-1.0.0" = {
@@ -47796,13 +48569,13 @@ let
         sha512 = "/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==";
       };
     };
-    "rollup-2.38.0" = {
+    "rollup-2.40.0" = {
       name = "rollup";
       packageName = "rollup";
-      version = "2.38.0";
+      version = "2.40.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rollup/-/rollup-2.38.0.tgz";
-        sha512 = "ay9zDiNitZK/LNE/EM2+v5CZ7drkB2xyDljvb1fQJCGnq43ZWRkhxN145oV8GmoW1YNi4sA/1Jdkr2LfawJoXw==";
+        url = "https://registry.npmjs.org/rollup/-/rollup-2.40.0.tgz";
+        sha512 = "WiOGAPbXoHu+TOz6hyYUxIksOwsY/21TRWoO593jgYt8mvYafYqQl+axaA8y1z2HFazNUUrsMSjahV2A6/2R9A==";
       };
     };
     "rollup-plugin-babel-4.4.0" = {
@@ -47931,13 +48704,13 @@ let
         sha1 = "44e00858ebebc0133d58e40b2cd8a1fbb04203f5";
       };
     };
-    "rss-parser-3.10.0" = {
+    "rss-parser-3.12.0" = {
       name = "rss-parser";
       packageName = "rss-parser";
-      version = "3.10.0";
+      version = "3.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rss-parser/-/rss-parser-3.10.0.tgz";
-        sha512 = "TC6FNvEmdFeaW6r/60MSJT7cp4d95X4M9As+mvNtxRx7YXHxpV95syMnWZthZSeD1BRN7SEKdq6c3nxMLQRopw==";
+        url = "https://registry.npmjs.org/rss-parser/-/rss-parser-3.12.0.tgz";
+        sha512 = "aqD3E8iavcCdkhVxNDIdg1nkBI17jgqF+9OqPS1orwNaOgySdpvq6B+DoONLhzjzwV8mWg37sb60e4bmLK117A==";
       };
     };
     "rss-parser-3.7.1" = {
@@ -48003,22 +48776,22 @@ let
         sha512 = "tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==";
       };
     };
-    "run-parallel-1.1.10" = {
+    "run-parallel-1.2.0" = {
       name = "run-parallel";
       packageName = "run-parallel";
-      version = "1.1.10";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz";
-        sha512 = "zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==";
+        url = "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz";
+        sha512 = "5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==";
       };
     };
-    "run-parallel-limit-1.0.6" = {
+    "run-parallel-limit-1.1.0" = {
       name = "run-parallel-limit";
       packageName = "run-parallel-limit";
-      version = "1.0.6";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.0.6.tgz";
-        sha512 = "yFFs4Q2kECi5mWXyyZj3UlAZ5OFq5E07opABC+EmhZdjEkrxXaUwFqOaaNF4tbayMnBxrsbujpeCYTVjGufZGQ==";
+        url = "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz";
+        sha512 = "jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==";
       };
     };
     "run-queue-1.0.3" = {
@@ -48129,6 +48902,15 @@ let
         sha512 = "trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==";
       };
     };
+    "rxjs-6.6.6" = {
+      name = "rxjs";
+      packageName = "rxjs";
+      version = "6.6.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rxjs/-/rxjs-6.6.6.tgz";
+        sha512 = "/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg==";
+      };
+    };
     "s3-stream-upload-2.0.2" = {
       name = "s3-stream-upload";
       packageName = "s3-stream-upload";
@@ -48273,13 +49055,13 @@ let
         sha512 = "y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==";
       };
     };
-    "sass-1.32.5" = {
+    "sass-1.32.8" = {
       name = "sass";
       packageName = "sass";
-      version = "1.32.5";
+      version = "1.32.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sass/-/sass-1.32.5.tgz";
-        sha512 = "kU1yJ5zUAmPxr7f3q0YXTAd1oZjSR1g3tYyv+xu0HZSl5JiNOaE987eiz7wCUvbm4I9fGWGU2TgApTtcP4GMNQ==";
+        url = "https://registry.npmjs.org/sass/-/sass-1.32.8.tgz";
+        sha512 = "Sl6mIeGpzjIUZqvKnKETfMf0iDAswD9TNlv13A7aAF3XZlRPMq4VvJWBC2N2DXbp94MQVdNSFG6LfF/iOXrPHQ==";
       };
     };
     "sax-0.5.8" = {
@@ -48804,15 +49586,6 @@ let
         sha1 = "ae02af3a424793d8ccbf212d69174e0c54dffe38";
       };
     };
-    "serialize-error-5.0.0" = {
-      name = "serialize-error";
-      packageName = "serialize-error";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serialize-error/-/serialize-error-5.0.0.tgz";
-        sha512 = "/VtpuyzYf82mHYTtI4QKtwHa79vAdU5OQpNPAmE/0UDdlGT0ZxHwC+J6gXkw29wwoVI8fMPsfcVHOwXtUQYYQA==";
-      };
-    };
     "serialize-error-6.0.0" = {
       name = "serialize-error";
       packageName = "serialize-error";
@@ -49380,13 +50153,13 @@ let
         sha512 = "rohCHmEjD/ESXFLxF4bVeqgdb4Awc65ZyyuCKl3f7BvgMbZOBa/Ye3HN/GFnvruiUOAWWNupxhz3Rz5/3vJLTg==";
       };
     };
-    "simple-git-2.31.0" = {
+    "simple-git-2.35.2" = {
       name = "simple-git";
       packageName = "simple-git";
-      version = "2.31.0";
+      version = "2.35.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-git/-/simple-git-2.31.0.tgz";
-        sha512 = "/+rmE7dYZMbRAfEmn8EUIOwlM2G7UdzpkC60KF86YAfXGnmGtsPrKsym0hKvLBdFLLW019C+aZld1+6iIVy5xA==";
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-2.35.2.tgz";
+        sha512 = "UjOKsrz92Bx7z00Wla5V6qLSf5X2XSp0sL2gzKw1Bh7iJfDPDaU7gK5avIup0yo1/sMOSUMQer2b9GcnF6nmTQ==";
       };
     };
     "simple-markdown-0.4.4" = {
@@ -49434,13 +50207,13 @@ let
         sha512 = "TQl9rm4rdKAVmhO++sXAb8TNN0D6JAD5iyI1mqEPNpxUzTRrtm4aOG1pDf/5W/qCFihiaoK6uuL9rvQz1x1VKw==";
       };
     };
-    "simple-sha1-3.0.1" = {
+    "simple-sha1-3.1.0" = {
       name = "simple-sha1";
       packageName = "simple-sha1";
-      version = "3.0.1";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-sha1/-/simple-sha1-3.0.1.tgz";
-        sha512 = "q7ehqWfHc1VhOm7sW099YDZ4I0yYX7rqyhqqhHV1IYeUTjPOhHyD3mXvv8k2P+rO7+7c8R4/D+8ffzC9BE7Cqg==";
+        url = "https://registry.npmjs.org/simple-sha1/-/simple-sha1-3.1.0.tgz";
+        sha512 = "ArTptMRC1v08H8ihPD6l0wesKvMfF9e8XL5rIHPanI7kGOsSsbY514MwVu6X1PITHCTB2F08zB7cyEbfc4wQjg==";
       };
     };
     "simple-swizzle-0.2.2" = {
@@ -49461,13 +50234,13 @@ let
         sha1 = "5d3d5751bb39aeba2f710d8eec78768df821f38d";
       };
     };
-    "simple-websocket-8.1.1" = {
+    "simple-websocket-9.1.0" = {
       name = "simple-websocket";
       packageName = "simple-websocket";
-      version = "8.1.1";
+      version = "9.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-websocket/-/simple-websocket-8.1.1.tgz";
-        sha512 = "06I3cwOD5Q3LdVd6qfyDGp1U9eau9x9qniSL3b/aDgM5bsJX4nZfCuii2UCFcTfrDq0jCXF4NQ/38qeC8CJZTg==";
+        url = "https://registry.npmjs.org/simple-websocket/-/simple-websocket-9.1.0.tgz";
+        sha512 = "8MJPnjRN6A8UCp1I+H/dSFyjwJhp6wta4hsVRhjf8w9qBHRzxYt14RaOcjvQnhD1N4yKOddEjflwMnQM4VtXjQ==";
       };
     };
     "simplediff-0.1.1" = {
@@ -49650,13 +50423,13 @@ let
         sha1 = "e09f00899c09f5a7058edc36dd49f046fd50a82a";
       };
     };
-    "slugify-1.4.6" = {
+    "slugify-1.4.7" = {
       name = "slugify";
       packageName = "slugify";
-      version = "1.4.6";
+      version = "1.4.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/slugify/-/slugify-1.4.6.tgz";
-        sha512 = "ZdJIgv9gdrYwhXqxsH9pv7nXxjUEyQ6nqhngRxoAAOlmMGA28FDq5O4/5US4G2/Nod7d1ovNcgURQJ7kHq50KQ==";
+        url = "https://registry.npmjs.org/slugify/-/slugify-1.4.7.tgz";
+        sha512 = "tf+h5W1IrjNm/9rKKj0JU2MDMruiopx0jjVA5zCdBtcGjfp0+c5rHw/zADLC3IeKlGHtVbHtpfzvYA0OYT+HKg==";
       };
     };
     "smart-buffer-4.1.0" = {
@@ -49794,13 +50567,13 @@ let
         sha512 = "NFwVLMCqKTocY66gcim0ukF6e31VRDJqDapg5sy3vCHqlD1OCNUXSK/aI4VQEEndDrsnFmQepsL5KpEU0dDRIQ==";
       };
     };
-    "snyk-docker-plugin-4.13.1" = {
+    "snyk-docker-plugin-4.17.3" = {
       name = "snyk-docker-plugin";
       packageName = "snyk-docker-plugin";
-      version = "4.13.1";
+      version = "4.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-docker-plugin/-/snyk-docker-plugin-4.13.1.tgz";
-        sha512 = "KS2G2cBdwKhyRta85uv3q/xUmFSC9lVCu8MUxgm7IDNn8ImjmCIkSp5SsI0qu5jYXJhZZnX6jjj5gzI0QP0WXw==";
+        url = "https://registry.npmjs.org/snyk-docker-plugin/-/snyk-docker-plugin-4.17.3.tgz";
+        sha512 = "Egqkad3YTP41Dlu19/3A2gQfqf4nxa7C36USQGSXIC5JodPvptObiSLmyQssjxVJ7iCRpw6IxytZVf412KKJCg==";
       };
     };
     "snyk-go-parser-1.4.1" = {
@@ -49812,31 +50585,22 @@ let
         sha512 = "StU3uHB85VMEkcgXta63M0Fgd+9cs5sMCjQXTBoYTdE4dxarPn7U67yCuwkRRdZdny1ZXtzfY8LKns9i0+dy9w==";
       };
     };
-    "snyk-go-plugin-1.16.4" = {
+    "snyk-go-plugin-1.16.5" = {
       name = "snyk-go-plugin";
       packageName = "snyk-go-plugin";
-      version = "1.16.4";
+      version = "1.16.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-go-plugin/-/snyk-go-plugin-1.16.4.tgz";
-        sha512 = "7REUy5U6h2wCPIg9060V5bh24gichRHfuqWC22xrp/n+dVolQXvG5RN/PqdJiPsCj7Y9voyWLbYai+Tmk3o82Q==";
+        url = "https://registry.npmjs.org/snyk-go-plugin/-/snyk-go-plugin-1.16.5.tgz";
+        sha512 = "m6PRa1g4Rkw9rCKtf2B8+K9IS/FD/9POezsTZYJoomqDsjV9Gw20Cn5FZSiTj8EiekCk7Cfm7IEMoXd11R27vA==";
       };
     };
-    "snyk-gradle-plugin-3.12.0" = {
+    "snyk-gradle-plugin-3.13.0" = {
       name = "snyk-gradle-plugin";
       packageName = "snyk-gradle-plugin";
-      version = "3.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-gradle-plugin/-/snyk-gradle-plugin-3.12.0.tgz";
-        sha512 = "WAmViagNolXsqPO/xmArlnpmisw6j/4xN6FLJ/gl9cDSSrgTh013sZlynkZj0G1v4enkelIMuqfVKXzinthm/Q==";
-      };
-    };
-    "snyk-module-1.9.1" = {
-      name = "snyk-module";
-      packageName = "snyk-module";
-      version = "1.9.1";
+      version = "3.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-module/-/snyk-module-1.9.1.tgz";
-        sha512 = "A+CCyBSa4IKok5uEhqT+hV/35RO6APFNLqk9DRRHg7xW2/j//nPX8wTSZUPF8QeRNEk/sX+6df7M1y6PBHGSHA==";
+        url = "https://registry.npmjs.org/snyk-gradle-plugin/-/snyk-gradle-plugin-3.13.0.tgz";
+        sha512 = "t7tibuRHMX0ot5woZlFpblTH20j8BKWxO4wwC7+dGsvS9VtXrlG73moeE5EXfOPb2E8OA7STPKGsEibVIl/j2w==";
       };
     };
     "snyk-module-2.1.0" = {
@@ -49857,31 +50621,31 @@ let
         sha512 = "HHuOYEAACpUpkFgU8HT57mmxmonaJ4O3YADoSkVhnhkmJ+AowqZyJOau703dYHNrq2DvQ7qYw81H7yyxS1Nfjw==";
       };
     };
-    "snyk-mvn-plugin-2.25.1" = {
+    "snyk-mvn-plugin-2.25.3" = {
       name = "snyk-mvn-plugin";
       packageName = "snyk-mvn-plugin";
-      version = "2.25.1";
+      version = "2.25.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-mvn-plugin/-/snyk-mvn-plugin-2.25.1.tgz";
-        sha512 = "buhFh7iDxIxTiQy1D+bLm2aYlqHqMoQxaeLTtMw939rU4TqIrvFiTDYZo0kq8PfvCWU5yvxLHlbR5V4goObv7w==";
+        url = "https://registry.npmjs.org/snyk-mvn-plugin/-/snyk-mvn-plugin-2.25.3.tgz";
+        sha512 = "JAxOThX51JDbgMMjp3gQDVi07G9VgTYSF06QC7f5LNA0zoXNr743e2rm78RGw5bqE3JRjZxEghiLHPPuvS5DDg==";
       };
     };
-    "snyk-nodejs-lockfile-parser-1.30.1" = {
+    "snyk-nodejs-lockfile-parser-1.30.2" = {
       name = "snyk-nodejs-lockfile-parser";
       packageName = "snyk-nodejs-lockfile-parser";
-      version = "1.30.1";
+      version = "1.30.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-nodejs-lockfile-parser/-/snyk-nodejs-lockfile-parser-1.30.1.tgz";
-        sha512 = "QyhE4pmy7GI7fQrVmZ+qrQB8GGSbxN7OoYueS4BEP9nDxIyH4dJAz8dME5zOUeUxh3frcgBWoWgZoSzE4VOYpg==";
+        url = "https://registry.npmjs.org/snyk-nodejs-lockfile-parser/-/snyk-nodejs-lockfile-parser-1.30.2.tgz";
+        sha512 = "wI3VXVYO/ok0uaQm5i+Koo4rKBNilYC/QRIQFlyGbZXf+WBdRcTBKVDfTy8uNfUhMRSGzd84lNclMnetU9Y+vw==";
       };
     };
-    "snyk-nuget-plugin-1.19.4" = {
+    "snyk-nuget-plugin-1.21.0" = {
       name = "snyk-nuget-plugin";
       packageName = "snyk-nuget-plugin";
-      version = "1.19.4";
+      version = "1.21.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.19.4.tgz";
-        sha512 = "6BvLJc7gpNdfPJSnvpmTL4BrbaOVbXh/9q1FNMs5OVp8NbnZ3l97iM+bpQXWTJHOa3BJBZz7iEg+3suH4AWoWw==";
+        url = "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.21.0.tgz";
+        sha512 = "c/JYF3sZzMN/lYz171zrEkVcPqDVcUTVgKIKHiL8nhhuFKxZQ1gzqOgk+lnfN31TLoTNQsZ3DhW/WY+4zEALvw==";
       };
     };
     "snyk-paket-parser-1.6.0" = {
@@ -49902,13 +50666,13 @@ let
         sha512 = "IQcdsQBqqXVRY5DatlI7ASy4flbhtU2V7cr4P2rK9rkFnVHO6LHcitwKXVZa9ocdOmpZDzk7U6iwHJkVFcR6OA==";
       };
     };
-    "snyk-poetry-lockfile-parser-1.1.2" = {
+    "snyk-poetry-lockfile-parser-1.1.6" = {
       name = "snyk-poetry-lockfile-parser";
       packageName = "snyk-poetry-lockfile-parser";
-      version = "1.1.2";
+      version = "1.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-poetry-lockfile-parser/-/snyk-poetry-lockfile-parser-1.1.2.tgz";
-        sha512 = "qaLNhVw/og6LXRmSuPiXcwre07ybJWh8RASF3aumk5R0cmxCU3YLmJ7pfi/N+PMpwiHCfSZFOMIGIL9jXcX9zQ==";
+        url = "https://registry.npmjs.org/snyk-poetry-lockfile-parser/-/snyk-poetry-lockfile-parser-1.1.6.tgz";
+        sha512 = "MoekbWOZPj9umfukjk2bd2o3eRj0OyO+58sxq9crMtHmTlze4h0/Uj4+fb0JFPBOtBO3c2zwbA+dvFQmpKoOTA==";
       };
     };
     "snyk-policy-1.14.1" = {
@@ -49920,13 +50684,13 @@ let
         sha512 = "C5vSkoBYxPnaqb218sm4m6N5s1BhIXlldpIX5xRNnZ0QkDwVj3dy/PfgwxRgVQh7QFGa1ajbvKmsGmm4RRsN8g==";
       };
     };
-    "snyk-python-plugin-1.19.2" = {
+    "snyk-python-plugin-1.19.5" = {
       name = "snyk-python-plugin";
       packageName = "snyk-python-plugin";
-      version = "1.19.2";
+      version = "1.19.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.19.2.tgz";
-        sha512 = "n5Z7WiMTNtrBaDE9blnYVoX5fyXeMVhDNrQ/q21lHRAvDKDCY9tNNfduUjOVG6HbIH89mW8lLUdBNAMu/hpl+Q==";
+        url = "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.19.5.tgz";
+        sha512 = "wgfhloo6PZ8V+6eIUU7pLcVfHx4yo5LQPPQX6rLfTSZ6p9uRYazIvw/NoUmIjb8Qrn9GdD3zUJY9/83TyTgKLw==";
       };
     };
     "snyk-resolve-1.0.1" = {
@@ -49938,13 +50702,13 @@ let
         sha512 = "7+i+LLhtBo1Pkth01xv+RYJU8a67zmJ8WFFPvSxyCjdlKIcsps4hPQFebhz+0gC5rMemlaeIV6cqwqUf9PEDpw==";
       };
     };
-    "snyk-resolve-deps-4.4.0" = {
+    "snyk-resolve-deps-4.7.2" = {
       name = "snyk-resolve-deps";
       packageName = "snyk-resolve-deps";
-      version = "4.4.0";
+      version = "4.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-resolve-deps/-/snyk-resolve-deps-4.4.0.tgz";
-        sha512 = "aFPtN8WLqIk4E1ulMyzvV5reY1Iksz+3oPnUVib1jKdyTHymmOIYF7z8QZ4UUr52UsgmrD9EA/dq7jpytwFoOQ==";
+        url = "https://registry.npmjs.org/snyk-resolve-deps/-/snyk-resolve-deps-4.7.2.tgz";
+        sha512 = "Bmtr7QdRL2b3Js+mPDmvXbkprOpzO8aUFXqR0nJKAOlUVQqZ84yiuT0n/mssEiJJ0vP+k0kZvTeiTwgio4KZRg==";
       };
     };
     "snyk-sbt-plugin-2.11.0" = {
@@ -50010,13 +50774,13 @@ let
         sha512 = "5yWQ43P/4IttmPCGKDQ3CVocBiJWGpibyhYJxgUhf69EHMzmK8XW0DkmHIoYdLmZaVZJyiEkUqpeC7rSCIqekw==";
       };
     };
-    "socket.io-3.1.0" = {
+    "socket.io-3.1.2" = {
       name = "socket.io";
       packageName = "socket.io";
-      version = "3.1.0";
+      version = "3.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socket.io/-/socket.io-3.1.0.tgz";
-        sha512 = "Aqg2dlRh6xSJvRYK31ksG65q4kmBOqU4g+1ukhPcoT6wNGYoIwSYPlCPuRwOO9pgLUajojGFztl6+V2opmKcww==";
+        url = "https://registry.npmjs.org/socket.io/-/socket.io-3.1.2.tgz";
+        sha512 = "JubKZnTQ4Z8G4IZWtaAZSiRP3I/inpy8c/Bsx2jrwGrTbKeVU5xd6qkKMHpChYeM3dWZSO0QACiGK+obhBNwYw==";
       };
     };
     "socket.io-adapter-0.2.0" = {
@@ -50280,13 +51044,13 @@ let
         sha512 = "mbkiyA2clyfwAyOFIzMvsV6ny2KrKEIhFVASJxWfsmgfUEymgLIS2MLHHcGIQMkrcKhPErRaMR5Dzv0EEn+BWg==";
       };
     };
-    "sodium-native-3.2.0" = {
+    "sodium-native-3.2.1" = {
       name = "sodium-native";
       packageName = "sodium-native";
-      version = "3.2.0";
+      version = "3.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sodium-native/-/sodium-native-3.2.0.tgz";
-        sha512 = "8aq/vQSegLwsRch8Sb/Bpf9aAqlNe5dp0+NVhb9UjHv42zDZ0D5zX3wBRUbXK9Ejum9uZE6DUgT4vVLlUFRBWg==";
+        url = "https://registry.npmjs.org/sodium-native/-/sodium-native-3.2.1.tgz";
+        sha512 = "EgDZ/Z7PxL2kCasKk7wnRkV8W9kvwuIlHuHXAxkQm3FF0MgVsjyLBXGjSRGhjE6u7rhSpk3KaMfFM23bfMysIQ==";
       };
     };
     "sodium-universal-2.0.0" = {
@@ -50298,13 +51062,13 @@ let
         sha512 = "csdVyakzHJRyCevY4aZC2Eacda8paf+4nmRGF2N7KxCLKY2Ajn72JsExaQlJQ2BiXJncp44p3T+b80cU+2TTsg==";
       };
     };
-    "sonic-boom-1.3.0" = {
+    "sonic-boom-1.3.2" = {
       name = "sonic-boom";
       packageName = "sonic-boom";
-      version = "1.3.0";
+      version = "1.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sonic-boom/-/sonic-boom-1.3.0.tgz";
-        sha512 = "4nX6OYvOYr6R76xfQKi6cZpTO3YSWe/vd+QdIfoH0lBy0MnPkeAbb2rRWgmgADkXUeCKPwO1FZAKlAVWAadELw==";
+        url = "https://registry.npmjs.org/sonic-boom/-/sonic-boom-1.3.2.tgz";
+        sha512 = "/B4tAuK2+hIlR94GhhWU1mJHWk5lt0CEuBvG0kvk1qIAzQc4iB1TieMio8DCZxY+Y7tsuzOxSUDOGmaUm3vXMg==";
       };
     };
     "sorcery-0.10.0" = {
@@ -50487,13 +51251,13 @@ let
         sha512 = "Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==";
       };
     };
-    "source-map-url-0.4.0" = {
+    "source-map-url-0.4.1" = {
       name = "source-map-url";
       packageName = "source-map-url";
-      version = "0.4.0";
+      version = "0.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz";
-        sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3";
+        url = "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz";
+        sha512 = "cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==";
       };
     };
     "sourcemap-codec-1.4.8" = {
@@ -50874,13 +51638,13 @@ let
         sha512 = "rjvqHFUaSGnzxDy2AHCwhHy6Zp6MNJzCPGYju4kD8yi6bze4d1/zMTg6C7JI49b7/EM7jKMTvyfN/4ylBKdwfw==";
       };
     };
-    "sqlite3-5.0.1" = {
+    "sqlite3-5.0.2" = {
       name = "sqlite3";
       packageName = "sqlite3";
-      version = "5.0.1";
+      version = "5.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.1.tgz";
-        sha512 = "kh2lTIcYNfmVcvhVJihsYuPj9U0xzBbh6bmqILO2hkryWSC9RRhzYmkIDtJkJ+d8Kg4wZRJ0T1reyHUEspICfg==";
+        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.2.tgz";
+        sha512 = "1SdTNo+BVU211Xj1csWa8lV6KM0CtucDwRyA0VHl91wEH1Mgh7RxUpI4rVvG7OhHrzCSGaVyW5g8vKvlrk9DJA==";
       };
     };
     "sqlstring-2.3.1" = {
@@ -50973,6 +51737,15 @@ let
         sha512 = "pJAFizB6OcuJLX4RJJuU9HWyPwM2CqLi/vs08lhVIR3TGxacxpavvK5LzbxT+Y3iWkBchOTKS5hHCigA5aaung==";
       };
     };
+    "ssb-db2-1.18.0" = {
+      name = "ssb-db2";
+      packageName = "ssb-db2";
+      version = "1.18.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssb-db2/-/ssb-db2-1.18.0.tgz";
+        sha512 = "SMTNiuWfeIKyOtHI5FcUwOZkfLlJzFWyYTFqA0VXtYtZLAMzfXK+phqbJMZW1ReUXYgFlYZS+w+2oDGj4A8elA==";
+      };
+    };
     "ssb-ebt-5.6.7" = {
       name = "ssb-ebt";
       packageName = "ssb-ebt";
@@ -50982,13 +51755,13 @@ let
         sha512 = "ifPgPNmDE8EKuuoqtXibwgYNtDZNry7sJL1epSUb3XgQr62bUV31N9R5LHKDsI2kx96OgWRwWY2PfZ7vf/hU8Q==";
       };
     };
-    "ssb-friends-4.3.0" = {
+    "ssb-friends-4.4.4" = {
       name = "ssb-friends";
       packageName = "ssb-friends";
-      version = "4.3.0";
+      version = "4.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-friends/-/ssb-friends-4.3.0.tgz";
-        sha512 = "5NgtiuYM8M2g8crzQF2nCpenM70zhsb6PNeL6B0iXalAl/IN2wwEWSUhU8++2gTh9dZ7icZJ8nC/kCzIoUdmgA==";
+        url = "https://registry.npmjs.org/ssb-friends/-/ssb-friends-4.4.4.tgz";
+        sha512 = "Gny8HraAVnii45tn9baWr27DjEqJndLsBRgV2fqhFLHZm3sGagiv0baJR4W2UgRikADKmrLulvRGI1xaOGxaeg==";
       };
     };
     "ssb-git-0.5.0" = {
@@ -51045,6 +51818,15 @@ let
         sha512 = "FPeyYU/3LpxcagnbmVWE+Q/qzg6keqeOBPbD7sEH9UKixUASeufPKiORDgh8nVX7J9Z+0vUaHt/WG999kGjvVQ==";
       };
     };
+    "ssb-keys-8.0.2" = {
+      name = "ssb-keys";
+      packageName = "ssb-keys";
+      version = "8.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssb-keys/-/ssb-keys-8.0.2.tgz";
+        sha512 = "u2U9t5YLbFShKQzr+ayMx9cYNvUJzDeOScodMwfP5zM3+/1AStvc5W91knZGllGwsmGjNC57KW+whRun+H/dBQ==";
+      };
+    };
     "ssb-links-3.0.10" = {
       name = "ssb-links";
       packageName = "ssb-links";
@@ -51198,6 +51980,15 @@ let
         sha512 = "r/34OHn5wDkVUu0UNdKdPjmd3cPDmgknA5nK+gXBZj9ugSDwmdDsfEUavGtA7hlO+He1pC4EXtBa14dqgTqJCg==";
       };
     };
+    "ssb-sort-1.1.3" = {
+      name = "ssb-sort";
+      packageName = "ssb-sort";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssb-sort/-/ssb-sort-1.1.3.tgz";
+        sha512 = "oPsF8lGgcHcIb4F1GddV3CbZTJZ0OzxI9fHXH0Zc7ZjqjFlYdqMDxFSuvqJnmtDydJcswyGANiziP1ghd69jOw==";
+      };
+    };
     "ssb-unix-socket-1.0.0" = {
       name = "ssb-unix-socket";
       packageName = "ssb-unix-socket";
@@ -51333,13 +52124,13 @@ let
         sha512 = "3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==";
       };
     };
-    "ssri-8.0.0" = {
+    "ssri-8.0.1" = {
       name = "ssri";
       packageName = "ssri";
-      version = "8.0.0";
+      version = "8.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz";
-        sha512 = "aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==";
+        url = "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz";
+        sha512 = "97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==";
       };
     };
     "stable-0.1.8" = {
@@ -51522,13 +52313,13 @@ let
         sha1 = "161c7dac177659fd9811f43771fa99381478628c";
       };
     };
-    "std-env-2.2.1" = {
+    "std-env-2.3.0" = {
       name = "std-env";
       packageName = "std-env";
-      version = "2.2.1";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/std-env/-/std-env-2.2.1.tgz";
-        sha512 = "IjYQUinA3lg5re/YMlwlfhqNRTzMZMqE+pezevdcTaHceqx8ngEi1alX9nNCk9Sc81fy1fLDeQoaCzeiW1yBOQ==";
+        url = "https://registry.npmjs.org/std-env/-/std-env-2.3.0.tgz";
+        sha512 = "4qT5B45+Kjef2Z6pE0BkskzsH0GO7GrND0wGlTM1ioUe3v0dGYx9ZJH0Aro/YyA8fqQ5EyIKDRjZojJYMFTflw==";
       };
     };
     "stealthy-require-1.1.1" = {
@@ -52035,22 +52826,22 @@ let
         sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==";
       };
     };
-    "string-width-4.2.0" = {
+    "string-width-4.2.2" = {
       name = "string-width";
       packageName = "string-width";
-      version = "4.2.0";
+      version = "4.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz";
-        sha512 = "zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==";
+        url = "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz";
+        sha512 = "XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==";
       };
     };
-    "string.prototype.matchall-4.0.3" = {
+    "string.prototype.matchall-4.0.4" = {
       name = "string.prototype.matchall";
       packageName = "string.prototype.matchall";
-      version = "4.0.3";
+      version = "4.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.3.tgz";
-        sha512 = "OBxYDA2ifZQ2e13cP82dWFMaCV9CGF8GzmN4fljBVw5O5wep0lu4gacm1OL6MjROoUnB8VbkWRThqkV2YFLNxw==";
+        url = "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz";
+        sha512 = "pknFIWVachNcyqRfaQSeu/FUfpvJTe4uskUSZ9Wc1RijsPuzbZ8TyYT8WCNnntCjUEqQ3vUHMAfVj2+wLAisPQ==";
       };
     };
     "string.prototype.repeat-0.2.0" = {
@@ -52062,31 +52853,31 @@ let
         sha1 = "aba36de08dcee6a5a337d49b2ea1da1b28fc0ecf";
       };
     };
-    "string.prototype.trim-1.2.3" = {
+    "string.prototype.trim-1.2.4" = {
       name = "string.prototype.trim";
       packageName = "string.prototype.trim";
-      version = "1.2.3";
+      version = "1.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.3.tgz";
-        sha512 = "16IL9pIBA5asNOSukPfxX2W68BaBvxyiRK16H3RA/lWW9BDosh+w7f+LhomPHpXJ82QEe7w7/rY/S1CV97raLg==";
+        url = "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.4.tgz";
+        sha512 = "hWCk/iqf7lp0/AgTF7/ddO1IWtSNPASjlzCicV5irAVdE1grjsneK26YG6xACMBEdCvO8fUST0UzDMh/2Qy+9Q==";
       };
     };
-    "string.prototype.trimend-1.0.3" = {
+    "string.prototype.trimend-1.0.4" = {
       name = "string.prototype.trimend";
       packageName = "string.prototype.trimend";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz";
-        sha512 = "ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==";
+        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz";
+        sha512 = "y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==";
       };
     };
-    "string.prototype.trimstart-1.0.3" = {
+    "string.prototype.trimstart-1.0.4" = {
       name = "string.prototype.trimstart";
       packageName = "string.prototype.trimstart";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz";
-        sha512 = "oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==";
+        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz";
+        sha512 = "jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==";
       };
     };
     "string2compact-1.3.0" = {
@@ -52539,13 +53330,13 @@ let
         sha512 = "7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==";
       };
     };
-    "stylelint-13.9.0" = {
+    "stylelint-13.11.0" = {
       name = "stylelint";
       packageName = "stylelint";
-      version = "13.9.0";
+      version = "13.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stylelint/-/stylelint-13.9.0.tgz";
-        sha512 = "VVWH2oixOAxpWL1vH+V42ReCzBjW2AeqskSAbi8+3OjV1Xg3VZkmTcAqBZfRRvJeF4BvYuDLXebW3tIHxgZDEg==";
+        url = "https://registry.npmjs.org/stylelint/-/stylelint-13.11.0.tgz";
+        sha512 = "DhrKSWDWGZkCiQMtU+VroXM6LWJVC8hSK24nrUngTSQvXGK75yZUq4yNpynqrxD3a/fzKMED09V+XxO4z4lTbw==";
       };
     };
     "stylelint-8.4.0" = {
@@ -52584,13 +53375,13 @@ let
         sha512 = "vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==";
       };
     };
-    "stylus-supremacy-2.14.5" = {
+    "stylus-supremacy-2.15.0" = {
       name = "stylus-supremacy";
       packageName = "stylus-supremacy";
-      version = "2.14.5";
+      version = "2.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stylus-supremacy/-/stylus-supremacy-2.14.5.tgz";
-        sha512 = "JZjCn4GxPhghgAZ7cdYOKjbo9LIU42BcksNCeLgWQa2FtjyEz44mKKnaXVgUYw+AQIm+x/MblV+VJ04Yk5DSqw==";
+        url = "https://registry.npmjs.org/stylus-supremacy/-/stylus-supremacy-2.15.0.tgz";
+        sha512 = "XXfA33wxC8xQ0rW9WpA0MOuLOLuzmVsDUmdI1qyKiafJmg1+oqn/efMbtTxUKDgk13DGqNqUgCPhkS16g5T7Qw==";
       };
     };
     "subarg-1.0.0" = {
@@ -52800,6 +53591,15 @@ let
         sha512 = "qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==";
       };
     };
+    "supports-color-8.1.1" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "8.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz";
+        sha512 = "MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==";
+      };
+    };
     "supports-hyperlinks-1.0.1" = {
       name = "supports-hyperlinks";
       packageName = "supports-hyperlinks";
@@ -52818,6 +53618,33 @@ let
         sha512 = "zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==";
       };
     };
+    "svelte-3.32.3" = {
+      name = "svelte";
+      packageName = "svelte";
+      version = "3.32.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/svelte/-/svelte-3.32.3.tgz";
+        sha512 = "5etu/wDwtewhnYO/631KKTjSmFrKohFLWNm1sWErVHXqGZ8eJLqrW0qivDSyYTcN8GbUqsR4LkIhftNFsjNehg==";
+      };
+    };
+    "svelte-preprocess-4.6.9" = {
+      name = "svelte-preprocess";
+      packageName = "svelte-preprocess";
+      version = "4.6.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-4.6.9.tgz";
+        sha512 = "SROWH0rB0DJ+0Ii264cprmNu/NJyZacs5wFD71ya93Cg/oA2lKHgQm4F6j0EWA4ktFMzeuJJm/eX6fka39hEHA==";
+      };
+    };
+    "svelte2tsx-0.1.175" = {
+      name = "svelte2tsx";
+      packageName = "svelte2tsx";
+      version = "0.1.175";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.1.175.tgz";
+        sha512 = "A3G2piBjQdUQzHu0aHu7jT3i3QCGaUsmdgXzkPTeFT8k6OUigSW/9Pzx9IoiUZ3btXNrqN0q5vNW2kBxcPLoiQ==";
+      };
+    };
     "sver-compat-1.5.0" = {
       name = "sver-compat";
       packageName = "sver-compat";
@@ -52944,13 +53771,13 @@ let
         sha512 = "xk5CMbwoQVI53rTq9o/iMojAqXP5NT4/+TMeTP4uXWDIH18pB9AXgO5Olqt0RXuf3jH032DA4DS4qzem6XdXAw==";
       };
     };
-    "swagger-ui-dist-3.40.0" = {
+    "swagger-ui-dist-3.44.0" = {
       name = "swagger-ui-dist";
       packageName = "swagger-ui-dist";
-      version = "3.40.0";
+      version = "3.44.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.40.0.tgz";
-        sha512 = "R0eaS61/cOE6wiFOY7AtmoTBV5lZqmyosuE14G9nAudp5MNsNfCTdI9MWJLs8iF28HXdtH8EACiFFtUbQomHog==";
+        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-3.44.0.tgz";
+        sha512 = "xqz5rNDKexAEIYST50+Z4fUu7CbJVpALoRJdKOZfddQX+0hAjN9T9bVGRlI054gst62F8SqQAcS84tdcwmSe8A==";
       };
     };
     "swagger2openapi-6.2.3" = {
@@ -53070,13 +53897,13 @@ let
         sha512 = "YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==";
       };
     };
-    "systeminformation-4.34.9" = {
+    "systeminformation-4.34.15" = {
       name = "systeminformation";
       packageName = "systeminformation";
-      version = "4.34.9";
+      version = "4.34.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-4.34.9.tgz";
-        sha512 = "jvc4DlJeXazsen2riPDR97GSaHNCmoL+mgfB8IXxmpNpNd7kv5MfkuihXEmF1/prBFtqzUA2lxnt1qp4maOMQA==";
+        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-4.34.15.tgz";
+        sha512 = "GRm0ntHg/MTISxZSu7r0T8reU1LLXUZxMcuDnqCcxIP0V+vjrt7SsiTWKrlsiL/DnThgUQHo1PT7VlZ5aKxdlQ==";
       };
     };
     "table-3.8.3" = {
@@ -53539,13 +54366,13 @@ let
         sha512 = "wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==";
       };
     };
-    "terminal-kit-1.45.9" = {
+    "terminal-kit-1.49.3" = {
       name = "terminal-kit";
       packageName = "terminal-kit";
-      version = "1.45.9";
+      version = "1.49.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terminal-kit/-/terminal-kit-1.45.9.tgz";
-        sha512 = "uf648u2bfWz3lX9iBVgdTebIMVc78OE0cgEGuuNQWWKU8soaf+R09fYQWTpMRiz59nKxn78s8wZptGmt/hAyfQ==";
+        url = "https://registry.npmjs.org/terminal-kit/-/terminal-kit-1.49.3.tgz";
+        sha512 = "7GovmExYxwGWOGfTh9LlH9uRt5braMj0bi6HmrhdhGi78Xi3S8hfJhTnio/h4iaN4pKtbAn3ugdGF2ypviZvMA==";
       };
     };
     "terminal-link-2.1.1" = {
@@ -53575,13 +54402,13 @@ let
         sha512 = "EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==";
       };
     };
-    "terser-5.5.1" = {
+    "terser-5.6.0" = {
       name = "terser";
       packageName = "terser";
-      version = "5.5.1";
+      version = "5.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terser/-/terser-5.5.1.tgz";
-        sha512 = "6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==";
+        url = "https://registry.npmjs.org/terser/-/terser-5.6.0.tgz";
+        sha512 = "vyqLMoqadC1uR0vywqOZzriDYzgEkNJFK4q9GeyOBHIbiECHiWLKcWfbQWAUaPfxkjDhapSlZB9f7fkMrvkVjA==";
       };
     };
     "terser-webpack-plugin-1.4.5" = {
@@ -54439,6 +55266,15 @@ let
         sha512 = "2Ulkc8T7mXJ2l0W476YC/A209PR38Nw8PuaCNtk9uI3t1zzFdGQeWYGQvmj2PZkVvRC/Yoi4xQKMRnWc/N29tQ==";
       };
     };
+    "too-hot-1.0.0" = {
+      name = "too-hot";
+      packageName = "too-hot";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/too-hot/-/too-hot-1.0.0.tgz";
+        sha512 = "RqtHvVffaf+ORMlpFjEWh3czDy6Q5wFfdGq9JXVBXu2L8/ssjDTnong8f1+I2xWGlKslXUkHU7m1HBj6MyoLqw==";
+      };
+    };
     "too-wordy-0.1.6" = {
       name = "too-wordy";
       packageName = "too-wordy";
@@ -54448,13 +55284,13 @@ let
         sha512 = "MV5F74YF9+UYsvwXGXTh+5YP3EqH/ivwWfyFE2/YHWQQxm9jDPmkIC23nkN133Ye4nO3HTXmiMcfGqJ5xRPfOA==";
       };
     };
-    "too-wordy-0.2.2" = {
+    "too-wordy-0.3.1" = {
       name = "too-wordy";
       packageName = "too-wordy";
-      version = "0.2.2";
+      version = "0.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/too-wordy/-/too-wordy-0.2.2.tgz";
-        sha512 = "ePZfjs1ajL4b8jT4MeVId+9Ci5hJCzAtNIEXIHyFYmKmQuX+eHC/RNv6tuLMUhrGrhJ+sYWW/lBF/LKILHGZEA==";
+        url = "https://registry.npmjs.org/too-wordy/-/too-wordy-0.3.1.tgz";
+        sha512 = "qfKDd/kxLEmbOqdtWnp/Gw1EEvW5ONZB3HehzkHNKFIx3bUrfda6qdOzxJ74vkaIaJbZyRFkBHkbY078fjAd5A==";
       };
     };
     "topo-2.0.2" = {
@@ -54952,15 +55788,6 @@ let
         sha512 = "wAH28hcEKwna96/UacuWaVspVLkg4x1aDM9JlzqaQTOFczCktkVAb5fmXChgandR1EraDPs2w8P+ozM+oafwxg==";
       };
     };
-    "tslib-2.0.3" = {
-      name = "tslib";
-      packageName = "tslib";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz";
-        sha512 = "uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==";
-      };
-    };
     "tslib-2.1.0" = {
       name = "tslib";
       packageName = "tslib";
@@ -55015,24 +55842,6 @@ let
         sha512 = "RYbuQuvkhuqVeXweWT3tJLKOEJ/UUw9GjNEZGWdrLLlM+611o1gwLHBpxoFJKKl25fLprp2eVthtKs5JOrNeXg==";
       };
     };
-    "ttf2woff-2.0.2" = {
-      name = "ttf2woff";
-      packageName = "ttf2woff";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ttf2woff/-/ttf2woff-2.0.2.tgz";
-        sha512 = "X68badwBjAy/+itU49scLjXUL094up+rHuYk+YAOTTBYSUMOmLZ7VyhZJuqQESj1gnyLAC2/5V8Euv+mExmyPA==";
-      };
-    };
-    "ttf2woff2-3.0.0" = {
-      name = "ttf2woff2";
-      packageName = "ttf2woff2";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ttf2woff2/-/ttf2woff2-3.0.0.tgz";
-        sha512 = "5/Web6B0lF/STNAQ0d5vAlRRquuWsNj8wOmKQ9ql9Bsgbx8MsLnNzaBG9vBcSE4s4Ry1QOr/MyUrDUIVgVPEfw==";
-      };
-    };
     "ttl-1.3.1" = {
       name = "ttl";
       packageName = "ttl";
@@ -55213,13 +56022,13 @@ let
         sha512 = "+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==";
       };
     };
-    "type-2.1.0" = {
+    "type-2.3.0" = {
       name = "type";
       packageName = "type";
-      version = "2.1.0";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/type/-/type-2.1.0.tgz";
-        sha512 = "G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==";
+        url = "https://registry.npmjs.org/type/-/type-2.3.0.tgz";
+        sha512 = "rgPIqOdfK/4J9FhiVrZ3cveAjRRo5rsQBAIhnylX874y1DX/kEKSVdLsnuHB6l1KTjHyU01VjiMBHgU2adejyg==";
       };
     };
     "type-check-0.3.2" = {
@@ -55402,6 +56211,24 @@ let
         sha512 = "zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==";
       };
     };
+    "typedarray-to-buffer-4.0.0" = {
+      name = "typedarray-to-buffer";
+      packageName = "typedarray-to-buffer";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-4.0.0.tgz";
+        sha512 = "6dOYeZfS3O9RtRD1caom0sMxgK59b27+IwoNy8RDPsmslSGOyU+mpTamlaIW7aNKi90ZQZ9DFaZL3YRoiSCULQ==";
+      };
+    };
+    "typedfastbitset-0.2.1" = {
+      name = "typedfastbitset";
+      packageName = "typedfastbitset";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typedfastbitset/-/typedfastbitset-0.2.1.tgz";
+        sha512 = "B2B+wo5gC7VRAqcFEiUCjS6CJ1vmeYZ7uzY3Jsu6UNStHiF+W0vkhZAmQaj5m9sC2KVrpyHGRzGuhz3M6+n/8A==";
+      };
+    };
     "typeforce-1.18.0" = {
       name = "typeforce";
       packageName = "typeforce";
@@ -55438,13 +56265,13 @@ let
         sha512 = "0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg==";
       };
     };
-    "typescript-3.9.7" = {
+    "typescript-3.9.9" = {
       name = "typescript";
       packageName = "typescript";
-      version = "3.9.7";
+      version = "3.9.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz";
-        sha512 = "BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==";
+        url = "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz";
+        sha512 = "kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==";
       };
     };
     "typescript-4.0.3" = {
@@ -55456,22 +56283,22 @@ let
         sha512 = "tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg==";
       };
     };
-    "typescript-4.0.5" = {
+    "typescript-4.1.5" = {
       name = "typescript";
       packageName = "typescript";
-      version = "4.0.5";
+      version = "4.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.0.5.tgz";
-        sha512 = "ywmr/VrTVCmNTJ6iV2LwIrfG1P+lv6luD8sUJs+2eI9NLGigaN+nUQc13iHqisq7bra9lnmUSYqbJvegraBOPQ==";
+        url = "https://registry.npmjs.org/typescript/-/typescript-4.1.5.tgz";
+        sha512 = "6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA==";
       };
     };
-    "typescript-4.1.3" = {
+    "typescript-4.2.2" = {
       name = "typescript";
       packageName = "typescript";
-      version = "4.1.3";
+      version = "4.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz";
-        sha512 = "B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==";
+        url = "https://registry.npmjs.org/typescript/-/typescript-4.2.2.tgz";
+        sha512 = "tbb+NVrLfnsJy3M59lsDgrzWIflR4d4TIUjz+heUnHZwdF7YsrMTKoRERiIvI2lvBG95dfpLxB21WZhys1bgaQ==";
       };
     };
     "typescript-eslint-parser-16.0.1" = {
@@ -55519,13 +56346,13 @@ let
         sha1 = "5c080e5d661cbbe38259d2e70a3c7253e873881d";
       };
     };
-    "typo-geom-0.11.1" = {
+    "typo-geom-0.11.2" = {
       name = "typo-geom";
       packageName = "typo-geom";
-      version = "0.11.1";
+      version = "0.11.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typo-geom/-/typo-geom-0.11.1.tgz";
-        sha512 = "DqAx/eGYLJprgRHEV2cMQBzRJo2N9UdBJ2eN54OeZ9chHbq+9U059lLY2DUxeGMff5rtTyG966CuL9aO4csxbQ==";
+        url = "https://registry.npmjs.org/typo-geom/-/typo-geom-0.11.2.tgz";
+        sha512 = "ouK6sY+LNGDDQra+MEZb2ZYDaEkCUeutr6x8BZAGGGB0fCsR0wt6YIuz9DJoc8idQS8mnqY8npGmXcMsTZAXPA==";
       };
     };
     "ua-parser-js-0.7.21" = {
@@ -55537,13 +56364,13 @@ let
         sha512 = "+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==";
       };
     };
-    "ua-parser-js-0.7.23" = {
+    "ua-parser-js-0.7.24" = {
       name = "ua-parser-js";
       packageName = "ua-parser-js";
-      version = "0.7.23";
+      version = "0.7.24";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.23.tgz";
-        sha512 = "m4hvMLxgGHXG3O3fQVAyyAQpZzDOvwnhOTjYz5Xmr7r/+LpkNy3vJXdVRWgd1TkAb7NGROZuSy96CrlNVjA7KA==";
+        url = "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.24.tgz";
+        sha512 = "yo+miGzQx5gakzVK3QFfN0/L9uVhosXBBO7qmnk7c2iw1IhL212wfA3zbnI54B0obGwC/5NWub/iT9sReMx+Fw==";
       };
     };
     "uc.micro-1.0.6" = {
@@ -55573,13 +56400,13 @@ let
         sha512 = "L5i5jg/SHkEqzN18gQMTWsZk3KelRsfD1wUVNqtq0kzqWQqcJjyL8yc1o8hJgRrWqrAl2mUFbhfznEIoi7zi2A==";
       };
     };
-    "uglify-js-3.12.5" = {
+    "uglify-js-3.12.8" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.12.5";
+      version = "3.12.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.5.tgz";
-        sha512 = "SgpgScL4T7Hj/w/GexjnBHi3Ien9WS1Rpfg5y91WXMj9SY997ZCQU76mH4TpLwwfmMvoOU8wiaRkIf6NaH3mtg==";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.8.tgz";
+        sha512 = "fvBeuXOsvqjecUtF/l1dwsrrf5y2BCUk9AOJGzGcm6tE7vegku5u/YvqjyDaAGr422PLoLnrxg3EnRvTqsdC1w==";
       };
     };
     "uglify-js-3.4.10" = {
@@ -55951,13 +56778,13 @@ let
         sha512 = "lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==";
       };
     };
-    "unified-9.2.0" = {
+    "unified-9.2.1" = {
       name = "unified";
       packageName = "unified";
-      version = "9.2.0";
+      version = "9.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz";
-        sha512 = "vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==";
+        url = "https://registry.npmjs.org/unified/-/unified-9.2.1.tgz";
+        sha512 = "juWjuI8Z4xFg8pJbnEZ41b5xjGUWGHqXALmBZ3FC3WX0PIx1CZBIIJ6mXbYMcf6Yw4Fi0rFUTA1cdz/BglbOhA==";
       };
     };
     "unified-diff-3.1.0" = {
@@ -55987,13 +56814,13 @@ let
         sha512 = "vLUezxCnjzz+ya4pYouRQVMT8k82Rk4fIj406UidRnSFJdGXFaQyQklAnalsQHJrLqAlaYPkXPUa1upfVSHGCA==";
       };
     };
-    "unified-message-control-3.0.2" = {
+    "unified-message-control-3.0.3" = {
       name = "unified-message-control";
       packageName = "unified-message-control";
-      version = "3.0.2";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unified-message-control/-/unified-message-control-3.0.2.tgz";
-        sha512 = "lhF8fKjDo2cIPx1re5X1QinqUonl+AN6F0XfEaab8w/hjqX7FZAhzu4P8g6pmYp09ld+HSWFwdRJj+Y8xD0q7Q==";
+        url = "https://registry.npmjs.org/unified-message-control/-/unified-message-control-3.0.3.tgz";
+        sha512 = "oY5z2n8ugjpNHXOmcgrw0pQeJzavHS0VjPBP21tOcm7rc2C+5Q+kW9j5+gqtf8vfW/8sabbsK5+P+9QPwwEHDA==";
       };
     };
     "union-0.5.0" = {
@@ -56590,13 +57417,13 @@ let
         sha512 = "8tqsiVrMv7aZsKNSjqA6DdBLKJpZG1hRpkj1RbOJu1PgyP69OX+EInAnP1EK/ShX5YdPFgwWdk19oquZ0HTM8g==";
       };
     };
-    "update-notifier-5.0.1" = {
+    "update-notifier-5.1.0" = {
       name = "update-notifier";
       packageName = "update-notifier";
-      version = "5.0.1";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-5.0.1.tgz";
-        sha512 = "BuVpRdlwxeIOvmc32AGYvO1KVdPlsmqSh8KDDBxS6kDE5VR7R8OMP1d8MdhaVBvxl4H3551k9akXr0Y1iIB2Wg==";
+        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz";
+        sha512 = "ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==";
       };
     };
     "upnp-device-client-1.0.2" = {
@@ -56671,13 +57498,13 @@ let
         sha512 = "7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==";
       };
     };
-    "urijs-1.19.5" = {
+    "urijs-1.19.6" = {
       name = "urijs";
       packageName = "urijs";
-      version = "1.19.5";
+      version = "1.19.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/urijs/-/urijs-1.19.5.tgz";
-        sha512 = "48z9VGWwdCV5KfizHsE05DWS5fhK6gFlx5MjO7xu0Krc5FGPWzjlXEVV0nPMrdVuP7xmMHiPZ2HoYZwKOFTZOg==";
+        url = "https://registry.npmjs.org/urijs/-/urijs-1.19.6.tgz";
+        sha512 = "eSXsXZ2jLvGWeLYlQA3Gh36BcjF+0amo92+wHPyN1mdR8Nxf75fuEuYTd9c0a+m/vhCjRK0ESlE9YNLW+E1VEw==";
       };
     };
     "urix-0.1.0" = {
@@ -56770,13 +57597,13 @@ let
         sha512 = "3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==";
       };
     };
-    "url-parse-1.4.7" = {
+    "url-parse-1.5.1" = {
       name = "url-parse";
       packageName = "url-parse";
-      version = "1.4.7";
+      version = "1.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz";
-        sha512 = "d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==";
+        url = "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz";
+        sha512 = "HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==";
       };
     };
     "url-parse-lax-1.0.0" = {
@@ -56924,6 +57751,15 @@ let
         sha1 = "79ce59eced874809cab9a71fc7102c7d45d4118d";
       };
     };
+    "utf8-3.0.0" = {
+      name = "utf8";
+      packageName = "utf8";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz";
+        sha512 = "E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==";
+      };
+    };
     "utf8-byte-length-1.0.4" = {
       name = "utf8-byte-length";
       packageName = "utf8-byte-length";
@@ -57095,13 +57931,13 @@ let
         sha512 = "vRAKaS8WcYNgzbxyH2LdheqgL4sQLis8LXl7r/mN+O4mpWlUpoCsTtietxepLrft2q0TFA2gaIvSWN1iRkzW/w==";
       };
     };
-    "utp-native-2.2.2" = {
+    "utp-native-2.3.0" = {
       name = "utp-native";
       packageName = "utp-native";
-      version = "2.2.2";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/utp-native/-/utp-native-2.2.2.tgz";
-        sha512 = "xwn5neM3aKgRCNYaiENRf2pwPa2G79O7r+OCZJDiy92x2q58Ez9hFUPeAW0IQcv0Ii5l1ytDIFWWyaiYVOtlng==";
+        url = "https://registry.npmjs.org/utp-native/-/utp-native-2.3.0.tgz";
+        sha512 = "5dV711teCP21FIRndcq44ETDPL00TnRVmEnINu3jxyg0tq//ptxOyq7oNO6TcMmuFfeFZRSYOqDmTUl8MmPauQ==";
       };
     };
     "uuid-2.0.3" = {
@@ -57266,24 +58102,6 @@ let
         sha512 = "X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==";
       };
     };
-    "validator-10.5.0" = {
-      name = "validator";
-      packageName = "validator";
-      version = "10.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/validator/-/validator-10.5.0.tgz";
-        sha512 = "6OOi+eV2mOxCFLq0f2cJDrdB6lrtLXEUxabhNRGjgOLT/l3SSll9J49Cl+LIloUqkWWTPraK/mucEQ3dc2jStQ==";
-      };
-    };
-    "validator-11.0.0" = {
-      name = "validator";
-      packageName = "validator";
-      version = "11.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/validator/-/validator-11.0.0.tgz";
-        sha512 = "+wnGLYqaKV2++nUv60uGzUJyJQwYVOin6pn1tgEiFCeCQO60yeu3Og9/yPccbBX574kxIcEJicogkzx6s6eyag==";
-      };
-    };
     "validator-5.7.0" = {
       name = "validator";
       packageName = "validator";
@@ -57473,15 +58291,6 @@ let
         sha512 = "UwCu50Sqd8kNZ1X/XgiAY+QAyQUmGFAwyDu7y0T5fs6/TPQnDo/Bo346NgSgINBEhEKOAMY1Nd/rPOk4UEm/ew==";
       };
     };
-    "vega-expression-3.0.1" = {
-      name = "vega-expression";
-      packageName = "vega-expression";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vega-expression/-/vega-expression-3.0.1.tgz";
-        sha512 = "+UwOFEkBnAWo8Zud6i8O4Pd2W6QqmPUOaAhjNtj0OxRL+d+Duoy7M4edUDZ+YuoUcMnjjBFfDQu7oRAA1fIMEQ==";
-      };
-    };
     "vega-expression-4.0.1" = {
       name = "vega-expression";
       packageName = "vega-expression";
@@ -57977,13 +58786,13 @@ let
         sha1 = "ab6549d61d172c2b1b87be5c508d239c8ef87705";
       };
     };
-    "vizion-0.2.13" = {
+    "vizion-2.2.1" = {
       name = "vizion";
       packageName = "vizion";
-      version = "0.2.13";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vizion/-/vizion-0.2.13.tgz";
-        sha1 = "1314cdee2b34116f9f5b1248536f95dbfcd6ef5f";
+        url = "https://registry.npmjs.org/vizion/-/vizion-2.2.1.tgz";
+        sha512 = "sfAcO2yeSU0CSPFI/DmZp3FsFE9T+8913nv1xWBOyzODv13fwkn6Vl7HqxGpkr9F608M+8SuFId3s+BlZqfXww==";
       };
     };
     "vlc-command-1.2.0" = {
@@ -58049,13 +58858,13 @@ let
         sha1 = "c066afb582bb1cb4128d60ea92392e94d5e9dbec";
       };
     };
-    "vsce-1.84.0" = {
+    "vsce-1.85.1" = {
       name = "vsce";
       packageName = "vsce";
-      version = "1.84.0";
+      version = "1.85.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vsce/-/vsce-1.84.0.tgz";
-        sha512 = "mRJDTMC/1GO7byz6dleY28CZo97cM1p0nU3EEMT5bGMpi5Yga3dKdgTvmwgSQF5BYWozNSNSqN1zih5SYzMZjA==";
+        url = "https://registry.npmjs.org/vsce/-/vsce-1.85.1.tgz";
+        sha512 = "IdfH8OCK+FgQGmihFoh6/17KBl4Ad3q4Sw3NFNI9T9KX6KdMR5az2/GO512cC9IqCjbgJl12CA7X84vYoc0ifg==";
       };
     };
     "vscode-css-languageservice-3.0.13" = {
@@ -58076,22 +58885,31 @@ let
         sha512 = "jWi+297PJUUWTHwlcrZz0zIuEXuHOBJIQMapXmEzbosWGv/gMnNSAMV4hTKnl5wzxvZKZzV6j+WFdrSlKQ5qnw==";
       };
     };
-    "vscode-debugadapter-testsupport-1.43.0" = {
+    "vscode-css-languageservice-5.0.0" = {
+      name = "vscode-css-languageservice";
+      packageName = "vscode-css-languageservice";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-5.0.0.tgz";
+        sha512 = "DTMa8QbVmujFPvD3NxoC5jjIXCyCG+cvn3hNzwQRhvhsk8LblNymBZBwzfcDdgEtqsi4O/2AB5HnMIRzxhzEzg==";
+      };
+    };
+    "vscode-debugadapter-testsupport-1.45.0" = {
       name = "vscode-debugadapter-testsupport";
       packageName = "vscode-debugadapter-testsupport";
-      version = "1.43.0";
+      version = "1.45.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-debugadapter-testsupport/-/vscode-debugadapter-testsupport-1.43.0.tgz";
-        sha512 = "dxTu7xgNDipoIKf7H2mrVBhp9Vxx2czrnn1N7eIvmg3CYOLPOq3AGrzHoCwMOZNJX1rVttdYZet1f0bEjrDyjg==";
+        url = "https://registry.npmjs.org/vscode-debugadapter-testsupport/-/vscode-debugadapter-testsupport-1.45.0.tgz";
+        sha512 = "/5q/F2K1mNLfJWxXStG9pO86mgOeK73PoMJpOBZaniToplrzM7LgFEdXUPlzNH07//XZwzRsCFn7Eq3brqYk6Q==";
       };
     };
-    "vscode-debugprotocol-1.43.0" = {
+    "vscode-debugprotocol-1.45.0" = {
       name = "vscode-debugprotocol";
       packageName = "vscode-debugprotocol";
-      version = "1.43.0";
+      version = "1.45.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-debugprotocol/-/vscode-debugprotocol-1.43.0.tgz";
-        sha512 = "pnj+9wVS3yPYz/RXoYSN1tCv+D4139ueaY2WC7V6fUd9QZU8IE5s4r/lZUMJ9gAEGz2km/Iv4qcI7Fdlz5xS9w==";
+        url = "https://registry.npmjs.org/vscode-debugprotocol/-/vscode-debugprotocol-1.45.0.tgz";
+        sha512 = "xU6XtdKJ0waWIt79Zt4WVyIQ3oDkhilku9Shbv7Vc4KXEr/npsf8dhinyIZXSIlH2lzJiE3imp1xbYpyRTIrhg==";
       };
     };
     "vscode-emmet-helper-1.2.17" = {
@@ -58103,6 +58921,15 @@ let
         sha512 = "X4pzcrJ8dE7M3ArFuySF5fgipKDd/EauXkiJwtjBIVRWpVNq0tF9+lNCyuC7iDUwP3Oq7ow/TGssD3GdG96Jow==";
       };
     };
+    "vscode-emmet-helper-2.1.2" = {
+      name = "vscode-emmet-helper";
+      packageName = "vscode-emmet-helper";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-emmet-helper/-/vscode-emmet-helper-2.1.2.tgz";
+        sha512 = "Fy6UNawSgxE3Kuqi54vSXohf03iOIrp1A74ReAgzvGP9Yt7fUAvkqF6No2WAc34/w0oWAHAeqoBNqmKKWh6U5w==";
+      };
+    };
     "vscode-html-languageservice-2.1.12" = {
       name = "vscode-html-languageservice";
       packageName = "vscode-html-languageservice";
@@ -58112,6 +58939,15 @@ let
         sha512 = "mIb5VMXM5jI97HzCk2eadI1K//rCEZXte0wBqA7PGXsyJH4KTyJUaYk9MR+mbfpUl2vMi3HZw9GUOLGYLc6l5w==";
       };
     };
+    "vscode-html-languageservice-4.0.0" = {
+      name = "vscode-html-languageservice";
+      packageName = "vscode-html-languageservice";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-4.0.0.tgz";
+        sha512 = "UmC+GS0IqBeZnOAmdtQvaDzoH1c5/un+b7qALUziu/Y4SOPXso5dF+YkJeTqsde6YU2pLm78RtMDzl9BParwbw==";
+      };
+    };
     "vscode-json-languageservice-3.11.0" = {
       name = "vscode-json-languageservice";
       packageName = "vscode-json-languageservice";
@@ -58121,6 +58957,15 @@ let
         sha512 = "QxI+qV97uD7HHOCjh3MrM1TfbdwmTXrMckri5Tus1/FQiG3baDZb2C9Y0y8QThs7PwHYBIQXcAc59ZveCRZKPA==";
       };
     };
+    "vscode-json-languageservice-4.0.2" = {
+      name = "vscode-json-languageservice";
+      packageName = "vscode-json-languageservice";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.0.2.tgz";
+        sha512 = "d8Ahw990Cq/G60CzN26rehXcbhbMgMGMmXeN6C/V/RYZUhfs16EELRK+EL7b/3Y8ZGshtKqboePSeDVa94qqFg==";
+      };
+    };
     "vscode-jsonrpc-3.5.0" = {
       name = "vscode-jsonrpc";
       packageName = "vscode-jsonrpc";
@@ -58175,13 +59020,13 @@ let
         sha512 = "wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==";
       };
     };
-    "vscode-jsonrpc-6.0.0-next.2" = {
+    "vscode-jsonrpc-6.1.0-next.2" = {
       name = "vscode-jsonrpc";
       packageName = "vscode-jsonrpc";
-      version = "6.0.0-next.2";
+      version = "6.1.0-next.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0-next.2.tgz";
-        sha512 = "dKQXRYNUY6BHALQJBJlyZyv9oWlYpbJ2vVoQNNVNPLAYQ3hzNp4zy+iSo7zGx1BPXByArJQDWTKLQh8dz3dnNw==";
+        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.1.0-next.2.tgz";
+        sha512 = "nkiNDGI+Ytp7uj1lxHXddXCoEunhcry1D+KmVHBfUUgWT9jMF8ZJyH5KQObdF+OGAh7bXZxD/SV4uGwSCeHHWA==";
       };
     };
     "vscode-languageclient-4.0.1" = {
@@ -58193,13 +59038,13 @@ let
         sha512 = "0fuBZj9pMkeJ8OMyIvSGeRaRVhUaJt+yeFxi7a3sz/AbrngQdcxOovMXPgKuieoBSBKS05gXPS88BsWpJZfBkA==";
       };
     };
-    "vscode-languageclient-7.0.0" = {
+    "vscode-languageclient-7.1.0-next.4" = {
       name = "vscode-languageclient";
       packageName = "vscode-languageclient";
-      version = "7.0.0";
+      version = "7.1.0-next.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-7.0.0.tgz";
-        sha512 = "P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==";
+        url = "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-7.1.0-next.4.tgz";
+        sha512 = "Gal+DvbI1KIwO1z90MvSnghMCVBCGlwdpOVIS0Hhmep7rjHUOwuC5Df7YlVkpzfPm+RCRyZQnUSJ19VNrnxxhA==";
       };
     };
     "vscode-languageserver-3.5.1" = {
@@ -58274,15 +59119,6 @@ let
         sha512 = "60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==";
       };
     };
-    "vscode-languageserver-7.0.0-next.3" = {
-      name = "vscode-languageserver";
-      packageName = "vscode-languageserver";
-      version = "7.0.0-next.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-7.0.0-next.3.tgz";
-        sha512 = "qSt8eb546iFuoFIN+9MPl4Avru6Iz2/JP0UmS/3djf40ICa31Np/yJ7anX2j0Az5rCzb0fak8oeKwDioGeVOYg==";
-      };
-    };
     "vscode-languageserver-protocol-3.14.1" = {
       name = "vscode-languageserver-protocol";
       packageName = "vscode-languageserver-protocol";
@@ -58319,13 +59155,13 @@ let
         sha512 = "atmkGT/W6tF0cx4SaWFYtFs2UeSeC28RPiap9myv2YZTaTCFvTBEPNWrU5QRKfkyM0tbgtGo6T3UCQ8tkDpjzA==";
       };
     };
-    "vscode-languageserver-protocol-3.16.0-next.4" = {
+    "vscode-languageserver-protocol-3.17.0-next.5" = {
       name = "vscode-languageserver-protocol";
       packageName = "vscode-languageserver-protocol";
-      version = "3.16.0-next.4";
+      version = "3.17.0-next.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0-next.4.tgz";
-        sha512 = "6GmPUp2MhJy2H1CTWp2B40Pa9BeC9glrXWmQWVG6A/0V9UbcAjVC9m56znm2GL32iyLDIprTBe8gBvvvcjbpaQ==";
+        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.0-next.5.tgz";
+        sha512 = "LFZ6WMB3iPezQAU9OnGoERzcIVKhcs0OLfD/NHcqSj3g1wgxuLUL5kSlZbbjFySQCmhzm6b0yb3hjTSeBtq1+w==";
       };
     };
     "vscode-languageserver-protocol-3.5.1" = {
@@ -58409,6 +59245,15 @@ let
         sha512 = "QjXB7CKIfFzKbiCJC4OWC8xUncLsxo19FzGVp/ADFvvi87PlmBSCAtZI5xwGjF5qE0xkLf0jjKUn3DzmpDP52Q==";
       };
     };
+    "vscode-languageserver-types-3.17.0-next.1" = {
+      name = "vscode-languageserver-types";
+      packageName = "vscode-languageserver-types";
+      version = "3.17.0-next.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.0-next.1.tgz";
+        sha512 = "VGzh06oynbYa6JbTKUbxOEZN7CYEtWhN7DK5wfzUpeCJl8X8xZX39g2PVfpqXrIEduu7dcJgK007KgnX9tHNKA==";
+      };
+    };
     "vscode-languageserver-types-3.5.0" = {
       name = "vscode-languageserver-types";
       packageName = "vscode-languageserver-types";
@@ -58454,13 +59299,13 @@ let
         sha512 = "u0Lw+IYlgbEJFF6/qAqG2d1jQmJl0eyAGJHoAJqr2HT4M2BNuQYSEiSE75f52pXHSJm8AlTjnLLbBFPrdz2hpA==";
       };
     };
-    "vscode-test-1.5.0" = {
+    "vscode-test-1.5.1" = {
       name = "vscode-test";
       packageName = "vscode-test";
-      version = "1.5.0";
+      version = "1.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-test/-/vscode-test-1.5.0.tgz";
-        sha512 = "svwE/mhBBqrB77C1U7pkUKfUmxnkzg0dLGi1vEmitsleu88oNsqZEhG3ANZrL/Ia4m0CW0oYEKRw2EojpFxLlQ==";
+        url = "https://registry.npmjs.org/vscode-test/-/vscode-test-1.5.1.tgz";
+        sha512 = "tDloz6euDne+GeUSglhufL0c2xhuYAPAT74hjsuGxfflALfXF9bYnJ7ehZEeVkr/ZnQEh/T8EBrfPL+m0h5qEQ==";
       };
     };
     "vscode-textbuffer-1.0.0" = {
@@ -58535,13 +59380,13 @@ let
         sha512 = "uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==";
       };
     };
-    "vue-3.0.5" = {
+    "vue-3.0.6" = {
       name = "vue";
       packageName = "vue";
-      version = "3.0.5";
+      version = "3.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue/-/vue-3.0.5.tgz";
-        sha512 = "TfaprOmtsAfhQau7WsomXZ8d9op/dkQLNIq8qPV3A0Vxs6GR5E+c1rfJS1SDkXRQj+dFyfnec7+U0Be1huiScg==";
+        url = "https://registry.npmjs.org/vue/-/vue-3.0.6.tgz";
+        sha512 = "fgjbe/+f1EsqG7ZbaFSnxdzQXF2DKoFCdJlPxZZJy9XMtyXS6SY8pGzLi8WYb4zmsPLHvTZz4bHW30kFDk7vfA==";
       };
     };
     "vue-cli-plugin-apollo-0.21.3" = {
@@ -58589,13 +59434,13 @@ let
         sha512 = "8FdXi0gieEwh1IprIBafpiJWcApwrU+l2FEj8c1HtHFdNXMd0+2jUSjBVmcQYohf/E72irwAXEXLga6TQcB3FA==";
       };
     };
-    "vue-eslint-parser-7.4.1" = {
+    "vue-eslint-parser-7.5.0" = {
       name = "vue-eslint-parser";
       packageName = "vue-eslint-parser";
-      version = "7.4.1";
+      version = "7.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.4.1.tgz";
-        sha512 = "AFvhdxpFvliYq1xt/biNBslTHE/zbEvSnr1qfHA/KxRIpErmEDrQZlQnvEexednRHmLfDNOMuDYwZL5xkLzIXQ==";
+        url = "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.5.0.tgz";
+        sha512 = "6EHzl00hIpy4yWZo3qSbtvtVw1A1cTKOv1w95QSuAqGgk4113XtRjvNIiEGo49r0YWOPYsrmI4Dl64axL5Agrw==";
       };
     };
     "vue-onsenui-helper-json-1.0.2" = {
@@ -58697,13 +59542,13 @@ let
         sha512 = "9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==";
       };
     };
-    "watchpack-2.1.0" = {
+    "watchpack-2.1.1" = {
       name = "watchpack";
       packageName = "watchpack";
-      version = "2.1.0";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/watchpack/-/watchpack-2.1.0.tgz";
-        sha512 = "UjgD1mqjkG99+3lgG36at4wPnUXNvis2v1utwTgQ43C22c4LD71LsYMExdWXh4HZ+RmW+B0t1Vrg2GpXAkTOQw==";
+        url = "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz";
+        sha512 = "Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw==";
       };
     };
     "watchpack-chokidar2-2.0.1" = {
@@ -58724,6 +59569,15 @@ let
         sha1 = "79331f666366b3b1c6ab02ceb04bad8dd2eebb0c";
       };
     };
+    "wawoff2-1.0.2" = {
+      name = "wawoff2";
+      packageName = "wawoff2";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wawoff2/-/wawoff2-1.0.2.tgz";
+        sha512 = "qxuTwf5tAP/XojrRc6cmR0hGvqgD3XUxv2fzfzURKPDfE7AeHmtRuankVxdJ4DRdSKXaE5QlyJT49yBis2vb6Q==";
+      };
+    };
     "wbuf-1.7.3" = {
       name = "wbuf";
       packageName = "wbuf";
@@ -58850,13 +59704,13 @@ let
         sha512 = "6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==";
       };
     };
-    "webpack-5.9.0" = {
+    "webpack-5.11.0" = {
       name = "webpack";
       packageName = "webpack";
-      version = "5.9.0";
+      version = "5.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-5.9.0.tgz";
-        sha512 = "YnnqIV/uAS5ZrNpctSv378qV7HmbJ74DL+XfvMxzbX1bV9e7eeT6eEWU4wuUw33CNr/HspBh7R/xQlVjTEyAeA==";
+        url = "https://registry.npmjs.org/webpack/-/webpack-5.11.0.tgz";
+        sha512 = "ubWv7iP54RqAC/VjixgpnLLogCFbAfSOREcSWnnOlZEU8GICC5eKmJSu6YEnph2N2amKqY9rvxSwgyHxVqpaRw==";
       };
     };
     "webpack-cli-3.3.12" = {
@@ -59003,13 +59857,13 @@ let
         sha512 = "OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==";
       };
     };
-    "webtorrent-0.112.2" = {
+    "webtorrent-0.115.0" = {
       name = "webtorrent";
       packageName = "webtorrent";
-      version = "0.112.2";
+      version = "0.115.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-0.112.2.tgz";
-        sha512 = "yaSBGIoDNKHTEpNbV+VZHqvlbDA3StD2ww9QgQ142bg9fFRT+w0TnvEKXlB4FLAir0vk4MfEhgRe+lG9wq/CRg==";
+        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-0.115.0.tgz";
+        sha512 = "KYiWsUMdI/qXABrgm3LU+dqsaeyOWx66etJXjiGFyuKWD0tMCwcECdUBdBKcnKPFNQnfuu9sjCPnrWGncF9C5Q==";
       };
     };
     "well-known-symbols-2.0.0" = {
@@ -59030,13 +59884,13 @@ let
         sha512 = "b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==";
       };
     };
-    "whatwg-fetch-3.5.0" = {
+    "whatwg-fetch-3.6.2" = {
       name = "whatwg-fetch";
       packageName = "whatwg-fetch";
-      version = "3.5.0";
+      version = "3.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.5.0.tgz";
-        sha512 = "jXkLtsR42xhXg7akoDKvKWE40eJeI+2KZqcp2h3NsOrRnDvtWX36KcKl30dy+hxECivdk2BVUHVNrPtoMBUx6A==";
+        url = "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz";
+        sha512 = "bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==";
       };
     };
     "whatwg-mimetype-2.3.0" = {
@@ -59651,13 +60505,13 @@ let
         sha512 = "P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==";
       };
     };
-    "workerpool-6.0.2" = {
+    "workerpool-6.1.0" = {
       name = "workerpool";
       packageName = "workerpool";
-      version = "6.0.2";
+      version = "6.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/workerpool/-/workerpool-6.0.2.tgz";
-        sha512 = "DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q==";
+        url = "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz";
+        sha512 = "toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==";
       };
     };
     "wrap-ansi-2.1.0" = {
@@ -59894,6 +60748,15 @@ let
         sha512 = "T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==";
       };
     };
+    "ws-7.4.3" = {
+      name = "ws";
+      packageName = "ws";
+      version = "7.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz";
+        sha512 = "hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==";
+      };
+    };
     "x-default-browser-0.3.1" = {
       name = "x-default-browser";
       packageName = "x-default-browser";
@@ -60260,7 +61123,7 @@ let
       version = "1.5.0";
       src = fetchurl {
         name = "xmlhttprequest-1.5.0.tar.gz";
-        url = https://codeload.github.com/LearnBoost/node-XMLHttpRequest/tar.gz/0f36d0b5ebc03d85f860d42a64ae9791e1daa433;
+        url = "https://codeload.github.com/LearnBoost/node-XMLHttpRequest/tar.gz/0f36d0b5ebc03d85f860d42a64ae9791e1daa433";
         sha256 = "28dd0394d85befe8be4e9cd9f6803102780c62cbb09298cb174b52ff9777624f";
       };
     };
@@ -60462,13 +61325,13 @@ let
         sha1 = "87cfa5a9613f48e26005420d6a8ee0da6fe8daec";
       };
     };
-    "yaml-language-server-0.13.1-dcc82a9.0" = {
+    "yaml-language-server-0.13.1-d0f9b44.0" = {
       name = "yaml-language-server";
       packageName = "yaml-language-server";
-      version = "0.13.1-dcc82a9.0";
+      version = "0.13.1-d0f9b44.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-0.13.1-dcc82a9.0.tgz";
-        sha512 = "26QP9JhfcrroDTeMv2OsY4eoI+NKb6tZwy1Uz0MBWi1uGmOw0/6aR9Oa3guOsC96U27GAqT6glRFMjCGqLro7A==";
+        url = "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-0.13.1-d0f9b44.0.tgz";
+        sha512 = "6q5NKJiCqB1ptEopsA6pQDNDBnpwQ5o3A6im9Mus9XdB1gM0TCaR2TT9XU13CFo6JoCgVZ6s3lgoUOsbN8Y5Qw==";
       };
     };
     "yaml-language-server-parser-0.1.2" = {
@@ -60633,16 +61496,6 @@ let
         sha512 = "huO4Fr1f9PmiJJdll5kwoS2e4GqzGSsMT3PPMpOwoVkOK8ckqAewMTZyA6LXVQWflleb/Z8oPBEvNsMft0XE+g==";
       };
     };
-    "yargs-git://github.com/gardenappl/yargs" = {
-      name = "yargs";
-      packageName = "yargs";
-      version = "17.0.0-candidate.0";
-      src = fetchgit {
-        url = "git://github.com/gardenappl/yargs";
-        rev = "544529c59269e8d1e494f4a081d6f3cfc6a99035";
-        sha256 = "22c042f035f98c840f0dc1390fe22947dda8aadf6c40f154529947d21b2b2bf3";
-      };
-    };
     "yargs-parser-10.1.0" = {
       name = "yargs-parser";
       packageName = "yargs-parser";
@@ -60706,6 +61559,15 @@ let
         sha512 = "WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==";
       };
     };
+    "yargs-parser-20.2.6" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "20.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.6.tgz";
+        sha512 = "AP1+fQIWSM/sMiET8fyayjx/J+JmTPt2Mr0FkrgqB4todtfa53sOsrSAcIrJRD5XS20bKUwaDIuMkWKCEiQLKA==";
+      };
+    };
     "yargs-parser-4.2.1" = {
       name = "yargs-parser";
       packageName = "yargs-parser";
@@ -60832,13 +61694,13 @@ let
         sha512 = "pLIhhU9z/G+kjOXmJ2bPFm3nejfbH+f1fjYRSOteEXDBrv1EoJE/e+kuHixSXfCYfTkxjYsvRaDX+1QykLCnpQ==";
       };
     };
-    "yeoman-generator-4.12.0" = {
+    "yeoman-generator-4.13.0" = {
       name = "yeoman-generator";
       packageName = "yeoman-generator";
-      version = "4.12.0";
+      version = "4.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-4.12.0.tgz";
-        sha512 = "lozwklVQHwUXMM1o8BgxEB8F5BB7vkHW4pjAo1Zt5sJ7FOlWhd6DJ4ZxJ2OK0w+gNYkY/ocPMkUV7DTz/uqEEg==";
+        url = "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-4.13.0.tgz";
+        sha512 = "f2/5N5IR3M2Ozm+QocvZQudlQITv2DwI6Mcxfy7R7gTTzaKgvUpgo/pQMJ+WQKm0KN0YMWCFOZpj0xFGxevc1w==";
       };
     };
     "yn-3.1.1" = {
@@ -61000,33 +61862,37 @@ in
   "@angular/cli" = nodeEnv.buildNodePackage {
     name = "_at_angular_slash_cli";
     packageName = "@angular/cli";
-    version = "11.1.1";
+    version = "11.2.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@angular/cli/-/cli-11.1.1.tgz";
-      sha512 = "2nRx9KYzLVCtJA4pgDmxubHOp54O/74BYt3WGHAA7QcnSATEL7jF5a9SMoEAJ2sUtKUVVS+2dKbmYKwW6oL3Bw==";
+      url = "https://registry.npmjs.org/@angular/cli/-/cli-11.2.2.tgz";
+      sha512 = "rOVBzDzrMuOgJY43O46/7yYbncx0egGfr+DMJDQdazePGH1H3INN/eA9gkVcVK53ztCYb9X1sbZKOs9TUhF6nw==";
     };
     dependencies = [
-      sources."@angular-devkit/architect-0.1101.1"
-      sources."@angular-devkit/core-11.1.1"
-      sources."@angular-devkit/schematics-11.1.1"
+      sources."@angular-devkit/architect-0.1102.2"
+      sources."@angular-devkit/core-11.2.2"
+      sources."@angular-devkit/schematics-11.2.2"
       sources."@npmcli/ci-detect-1.3.0"
-      sources."@npmcli/git-2.0.4"
-      sources."@npmcli/installed-package-contents-1.0.5"
-      (sources."@npmcli/move-file-1.1.0" // {
+      (sources."@npmcli/git-2.0.6" // {
         dependencies = [
-          sources."rimraf-2.7.1"
+          sources."promise-retry-2.0.1"
         ];
       })
-      sources."@npmcli/node-gyp-1.0.1"
+      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.1"
-      sources."@schematics/angular-11.1.1"
-      sources."@schematics/update-0.1101.1"
+      (sources."@npmcli/run-script-1.8.3" // {
+        dependencies = [
+          sources."read-package-json-fast-2.0.2"
+        ];
+      })
+      sources."@schematics/angular-11.2.2"
+      sources."@schematics/update-0.1102.2"
       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.3"
+      sources."agentkeepalive-4.1.4"
       sources."aggregate-error-3.1.0"
       sources."ajv-6.12.6"
       sources."ansi-colors-4.1.1"
@@ -61041,7 +61907,6 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."asap-2.0.6"
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
@@ -61050,7 +61915,7 @@ in
       sources."balanced-match-1.0.0"
       sources."base64-js-1.5.1"
       sources."bcrypt-pbkdf-1.0.2"
-      sources."bl-4.0.3"
+      sources."bl-4.1.0"
       sources."brace-expansion-1.1.11"
       sources."buffer-5.7.1"
       sources."builtins-1.0.3"
@@ -61073,12 +61938,10 @@ in
       sources."core-util-is-1.0.2"
       sources."dashdash-1.14.1"
       sources."debug-4.3.1"
-      sources."debuglog-1.0.1"
       sources."defaults-1.0.3"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."depd-1.1.2"
-      sources."dezalgo-1.0.3"
       sources."ecc-jsbn-0.1.2"
       sources."emoji-regex-8.0.0"
       (sources."encoding-0.1.13" // {
@@ -61087,7 +61950,7 @@ in
         ];
       })
       sources."env-paths-2.2.0"
-      sources."err-code-1.1.2"
+      sources."err-code-2.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."extend-3.0.2"
       sources."external-editor-3.1.0"
@@ -61110,13 +61973,13 @@ in
       })
       sources."getpass-0.1.7"
       sources."glob-7.1.6"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."has-unicode-2.0.1"
-      sources."hosted-git-info-3.0.7"
+      sources."hosted-git-info-3.0.8"
       sources."http-cache-semantics-4.1.0"
       sources."http-proxy-agent-4.0.1"
       sources."http-signature-1.2.0"
@@ -61151,13 +62014,17 @@ in
       sources."jsonc-parser-3.0.0"
       sources."jsonparse-1.3.1"
       sources."jsprim-1.4.1"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."log-symbols-4.0.0"
       sources."lru-cache-6.0.0"
       sources."magic-string-0.25.7"
-      sources."make-fetch-happen-8.0.13"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      (sources."make-fetch-happen-8.0.14" // {
+        dependencies = [
+          sources."promise-retry-2.0.1"
+        ];
+      })
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.0.4"
       sources."minipass-3.1.3"
@@ -61186,24 +62053,28 @@ in
       sources."object-assign-4.1.1"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
-      sources."open-7.3.1"
-      sources."ora-5.2.0"
+      sources."open-7.4.0"
+      sources."ora-5.3.0"
       sources."os-tmpdir-1.0.2"
       sources."p-map-4.0.0"
-      sources."pacote-11.1.14"
+      sources."pacote-11.2.4"
       sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.6"
       sources."performance-now-2.1.0"
       sources."process-nextick-args-2.0.1"
       sources."promise-inflight-1.0.1"
-      sources."promise-retry-1.1.1"
+      (sources."promise-retry-1.1.1" // {
+        dependencies = [
+          sources."err-code-1.1.2"
+          sources."retry-0.10.1"
+        ];
+      })
       sources."psl-1.8.0"
       sources."puka-1.0.1"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
-      sources."read-package-json-fast-1.2.1"
+      sources."read-package-json-fast-1.2.2"
       sources."readable-stream-3.6.0"
-      sources."readdir-scoped-modules-1.1.0"
       (sources."request-2.88.2" // {
         dependencies = [
           sources."uuid-3.4.0"
@@ -61211,7 +62082,7 @@ in
       })
       sources."resolve-1.19.0"
       sources."restore-cursor-3.1.0"
-      sources."retry-0.10.1"
+      sources."retry-0.12.0"
       sources."rimraf-3.0.2"
       sources."run-async-2.4.1"
       sources."rxjs-6.6.3"
@@ -61231,8 +62102,8 @@ in
       sources."source-map-0.7.3"
       sources."sourcemap-codec-1.4.8"
       sources."sshpk-1.16.1"
-      sources."ssri-8.0.0"
-      sources."string-width-4.2.0"
+      sources."ssri-8.0.1"
+      sources."string-width-4.2.2"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.0"
       sources."supports-color-7.2.0"
@@ -61273,7 +62144,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "CLI tool for Angular";
-      homepage = https://github.com/angular/angular-cli;
+      homepage = "https://github.com/angular/angular-cli";
       license = "MIT";
     };
     production = true;
@@ -61310,7 +62181,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "The command line interface for Antora.";
-      homepage = https://antora.org/;
+      homepage = "https://antora.org";
       license = "MPL-2.0";
     };
     production = true;
@@ -61347,7 +62218,7 @@ in
       sources."async-lock-1.2.8"
       sources."balanced-match-1.0.0"
       sources."base64-js-0.0.2"
-      sources."bl-4.0.3"
+      sources."bl-4.0.4"
       sources."bops-0.0.7"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
@@ -61432,7 +62303,7 @@ in
       })
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       (sources."get-stream-4.1.0" // {
         dependencies = [
           sources."pump-3.0.0"
@@ -61457,7 +62328,7 @@ in
           sources."mimic-response-1.0.1"
         ];
       })
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       (sources."gulp-vinyl-zip-2.2.1" // {
         dependencies = [
           sources."readable-stream-2.3.7"
@@ -61466,9 +62337,9 @@ in
           sources."through2-2.0.5"
         ];
       })
-      sources."handlebars-4.7.6"
+      sources."handlebars-4.7.7"
       sources."has-1.0.3"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."http-cache-semantics-4.1.0"
       sources."ieee754-1.2.1"
       sources."ignore-5.1.8"
@@ -61506,8 +62377,8 @@ in
       sources."map-obj-4.1.0"
       sources."marky-1.2.1"
       sources."matcher-2.1.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-response-2.1.0"
       sources."minimatch-3.0.4"
       sources."minimatch-all-1.1.0"
@@ -61596,7 +62467,7 @@ in
         ];
       })
       sources."to-utf8-0.0.1"
-      sources."uglify-js-3.12.5"
+      sources."uglify-js-3.12.8"
       sources."unc-path-regex-0.1.2"
       sources."unique-stream-2.3.1"
       sources."universalify-0.1.2"
@@ -61626,7 +62497,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "The default site generator pipeline for producing and publishing static documentation sites with Antora.";
-      homepage = https://antora.org/;
+      homepage = "https://antora.org";
       license = "MPL-2.0";
     };
     production = true;
@@ -61636,17 +62507,17 @@ in
   "@bitwarden/cli" = nodeEnv.buildNodePackage {
     name = "_at_bitwarden_slash_cli";
     packageName = "@bitwarden/cli";
-    version = "1.13.3";
+    version = "1.14.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@bitwarden/cli/-/cli-1.13.3.tgz";
-      sha512 = "N6eUF/1JBENunuXcpt0d2t5fRLuZndobKMxKTMyqguEH3Fy9cRhEopirxbXskEDCf7Dh2jUdlL/b+4e3fpG7rw==";
+      url = "https://registry.npmjs.org/@bitwarden/cli/-/cli-1.14.0.tgz";
+      sha512 = "j9xCEhsE+xkR6tYYONv+MSlv7/OIQHj9G2JYq5vOauC4RNRLYSmo5I94LKliqUZDrZb4HpByhcL/nUcNxu5fNw==";
     };
     dependencies = [
       sources."abab-2.0.5"
       sources."acorn-6.4.2"
       sources."acorn-globals-4.3.4"
       sources."acorn-walk-6.2.0"
-      sources."agent-base-5.1.1"
+      sources."agent-base-6.0.2"
       sources."ajv-6.12.6"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-3.0.0"
@@ -61660,6 +62531,7 @@ in
       sources."aws4-1.11.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."big-integer-1.6.36"
+      sources."browser-hrtime-1.1.8"
       sources."browser-process-hrtime-1.0.0"
       sources."caseless-0.12.0"
       sources."chalk-2.4.1"
@@ -61695,13 +62567,13 @@ in
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.2"
       sources."getpass-0.1.7"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-flag-3.0.0"
       sources."html-encoding-sniffer-1.0.2"
       sources."http-signature-1.2.0"
-      sources."https-proxy-agent-4.0.0"
+      sources."https-proxy-agent-5.0.0"
       sources."iconv-lite-0.4.24"
       sources."inquirer-6.2.0"
       sources."is-docker-2.1.1"
@@ -61717,12 +62589,12 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.1"
       sources."levn-0.3.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.sortby-4.7.0"
       sources."lowdb-1.0.0"
       sources."lunr-2.3.3"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-1.2.0"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.7"
@@ -61748,7 +62620,7 @@ in
       sources."request-promise-native-1.0.9"
       sources."restore-cursor-2.0.0"
       sources."run-async-2.4.1"
-      sources."rxjs-6.6.3"
+      sources."rxjs-6.6.6"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."saxes-3.1.11"
@@ -61792,7 +62664,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "A secure and free password manager for all of your devices.";
-      homepage = https://bitwarden.com/;
+      homepage = "https://bitwarden.com";
       license = "GPL-3.0";
     };
     production = true;
@@ -61802,18 +62674,18 @@ in
   "@nestjs/cli" = nodeEnv.buildNodePackage {
     name = "_at_nestjs_slash_cli";
     packageName = "@nestjs/cli";
-    version = "7.5.4";
+    version = "7.5.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@nestjs/cli/-/cli-7.5.4.tgz";
-      sha512 = "qKdniSA7NXO/5HqSxGaalMS7roIJXeT4yXTadBQ47Qv68DHh/0jfCcTzH6hqCuyRV7DV2k0bxob+rq4peMaZBw==";
+      url = "https://registry.npmjs.org/@nestjs/cli/-/cli-7.5.6.tgz";
+      sha512 = "nJCoKFleVV6NCkezc+cokJCVnDQBJoxmBVggQ1XfJ6Lvjy9TFQfG2J/nDdVurxpm7mlJm/Yg/rbXxaiUZVcJAQ==";
     };
     dependencies = [
-      sources."@angular-devkit/core-11.0.3"
-      sources."@angular-devkit/schematics-11.0.3"
-      sources."@angular-devkit/schematics-cli-0.1100.3"
-      sources."@babel/code-frame-7.12.11"
+      sources."@angular-devkit/core-11.2.0"
+      sources."@angular-devkit/schematics-11.2.0"
+      sources."@angular-devkit/schematics-cli-0.1102.0"
+      sources."@babel/code-frame-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      (sources."@babel/highlight-7.10.4" // {
+      (sources."@babel/highlight-7.13.8" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -61823,54 +62695,47 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      (sources."@nestjs/schematics-7.2.7" // {
-        dependencies = [
-          sources."@angular-devkit/core-11.1.0"
-          sources."@angular-devkit/schematics-11.1.0"
-          sources."chalk-4.1.0"
-          sources."ora-5.2.0"
-        ];
-      })
-      sources."@schematics/schematics-0.1100.3"
+      sources."@nestjs/schematics-7.2.8"
+      sources."@schematics/schematics-0.1102.0"
       sources."@types/anymatch-1.3.1"
       sources."@types/eslint-7.2.6"
       sources."@types/eslint-scope-3.7.0"
       sources."@types/estree-0.0.45"
       sources."@types/json-schema-7.0.7"
       sources."@types/json5-0.0.29"
-      sources."@types/node-14.14.22"
+      sources."@types/node-14.14.31"
       sources."@types/parse-json-4.0.0"
       sources."@types/source-list-map-0.1.2"
       sources."@types/tapable-1.0.6"
-      (sources."@types/uglify-js-3.11.1" // {
+      (sources."@types/uglify-js-3.12.0" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
       })
-      (sources."@types/webpack-4.41.25" // {
+      (sources."@types/webpack-4.41.26" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
       })
       sources."@types/webpack-sources-2.1.0"
-      sources."@webassemblyjs/ast-1.9.0"
-      sources."@webassemblyjs/floating-point-hex-parser-1.9.0"
-      sources."@webassemblyjs/helper-api-error-1.9.0"
-      sources."@webassemblyjs/helper-buffer-1.9.0"
-      sources."@webassemblyjs/helper-code-frame-1.9.0"
-      sources."@webassemblyjs/helper-fsm-1.9.0"
-      sources."@webassemblyjs/helper-module-context-1.9.0"
-      sources."@webassemblyjs/helper-wasm-bytecode-1.9.0"
-      sources."@webassemblyjs/helper-wasm-section-1.9.0"
-      sources."@webassemblyjs/ieee754-1.9.0"
-      sources."@webassemblyjs/leb128-1.9.0"
-      sources."@webassemblyjs/utf8-1.9.0"
-      sources."@webassemblyjs/wasm-edit-1.9.0"
-      sources."@webassemblyjs/wasm-gen-1.9.0"
-      sources."@webassemblyjs/wasm-opt-1.9.0"
-      sources."@webassemblyjs/wasm-parser-1.9.0"
-      sources."@webassemblyjs/wast-parser-1.9.0"
-      sources."@webassemblyjs/wast-printer-1.9.0"
+      sources."@webassemblyjs/ast-1.9.1"
+      sources."@webassemblyjs/floating-point-hex-parser-1.9.1"
+      sources."@webassemblyjs/helper-api-error-1.9.1"
+      sources."@webassemblyjs/helper-buffer-1.9.1"
+      sources."@webassemblyjs/helper-code-frame-1.9.1"
+      sources."@webassemblyjs/helper-fsm-1.9.1"
+      sources."@webassemblyjs/helper-module-context-1.9.1"
+      sources."@webassemblyjs/helper-wasm-bytecode-1.9.1"
+      sources."@webassemblyjs/helper-wasm-section-1.9.1"
+      sources."@webassemblyjs/ieee754-1.9.1"
+      sources."@webassemblyjs/leb128-1.9.1"
+      sources."@webassemblyjs/utf8-1.9.1"
+      sources."@webassemblyjs/wasm-edit-1.9.1"
+      sources."@webassemblyjs/wasm-gen-1.9.1"
+      sources."@webassemblyjs/wasm-opt-1.9.1"
+      sources."@webassemblyjs/wasm-parser-1.9.1"
+      sources."@webassemblyjs/wast-parser-1.9.1"
+      sources."@webassemblyjs/wast-printer-1.9.1"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
       sources."acorn-8.0.5"
@@ -61878,24 +62743,24 @@ in
       sources."ajv-keywords-3.5.2"
       sources."ansi-colors-4.1.1"
       sources."ansi-escapes-4.3.1"
-      sources."ansi-regex-5.0.0"
+      sources."ansi-regex-3.0.0"
       sources."ansi-styles-4.3.0"
       sources."anymatch-3.1.1"
       sources."at-least-node-1.0.0"
       sources."balanced-match-1.0.0"
       sources."base64-js-1.5.1"
       sources."binary-extensions-2.2.0"
-      sources."bl-4.0.3"
+      sources."bl-4.1.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."browserslist-4.16.1"
+      sources."browserslist-4.16.3"
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.1"
       sources."callsites-3.1.0"
-      sources."caniuse-lite-1.0.30001180"
+      sources."caniuse-lite-1.0.30001192"
       sources."chalk-3.0.0"
       sources."chardet-0.7.0"
-      sources."chokidar-3.4.3"
+      sources."chokidar-3.5.1"
       sources."chrome-trace-event-1.0.2"
       sources."cli-cursor-3.1.0"
       sources."cli-spinners-2.5.0"
@@ -61904,7 +62769,7 @@ in
       sources."clone-1.0.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."colorette-1.2.1"
+      sources."colorette-1.2.2"
       sources."colors-1.4.0"
       sources."commander-4.1.1"
       sources."concat-map-0.0.1"
@@ -61913,7 +62778,7 @@ in
       sources."cross-spawn-7.0.3"
       sources."deepmerge-4.2.2"
       sources."defaults-1.0.3"
-      sources."electron-to-chromium-1.3.645"
+      sources."electron-to-chromium-1.3.675"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."enhanced-resolve-4.5.0"
@@ -61928,15 +62793,15 @@ in
         ];
       })
       sources."estraverse-4.3.0"
-      sources."events-3.2.0"
+      sources."events-3.3.0"
       sources."execa-4.1.0"
       sources."external-editor-3.1.0"
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."figures-3.2.0"
       sources."fill-range-7.0.1"
-      sources."find-up-4.1.0"
-      (sources."fork-ts-checker-webpack-plugin-6.0.5" // {
+      sources."find-up-5.0.0"
+      (sources."fork-ts-checker-webpack-plugin-6.1.0" // {
         dependencies = [
           sources."chalk-4.1.0"
         ];
@@ -61944,13 +62809,13 @@ in
       sources."fs-extra-9.1.0"
       sources."fs-monkey-1.0.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.1.3"
+      sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
       sources."get-stream-5.2.0"
       sources."glob-7.1.6"
       sources."glob-parent-5.1.1"
       sources."glob-to-regexp-0.4.1"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."human-signals-1.1.1"
@@ -61961,9 +62826,11 @@ in
       sources."inherits-2.0.4"
       (sources."inquirer-7.3.3" // {
         dependencies = [
+          sources."ansi-regex-5.0.0"
           sources."chalk-4.1.0"
           sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.0"
+          sources."string-width-4.2.2"
+          sources."strip-ansi-6.0.0"
         ];
       })
       sources."interpret-1.4.0"
@@ -61987,8 +62854,8 @@ in
       sources."jsonfile-6.1.0"
       sources."lines-and-columns-1.1.6"
       sources."loader-runner-4.2.0"
-      sources."locate-path-5.0.0"
-      sources."lodash-4.17.20"
+      sources."locate-path-6.0.0"
+      sources."lodash-4.17.21"
       sources."lodash.toarray-4.4.0"
       (sources."log-symbols-4.0.0" // {
         dependencies = [
@@ -62007,30 +62874,31 @@ in
         ];
       })
       sources."merge-stream-2.0.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mute-stream-0.0.8"
       sources."neo-async-2.6.2"
       sources."node-emoji-1.10.0"
-      sources."node-releases-1.1.70"
+      sources."node-releases-1.1.71"
       sources."normalize-path-3.0.0"
       sources."npm-run-path-4.0.1"
       sources."object-assign-4.1.1"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
-      (sources."ora-5.1.0" // {
+      (sources."ora-5.3.0" // {
         dependencies = [
+          sources."ansi-regex-5.0.0"
           sources."chalk-4.1.0"
+          sources."strip-ansi-6.0.0"
         ];
       })
       sources."os-name-4.0.0"
       sources."os-tmpdir-1.0.2"
-      sources."p-limit-2.3.0"
-      sources."p-locate-4.1.0"
-      sources."p-try-2.2.0"
+      sources."p-limit-3.1.0"
+      sources."p-locate-5.0.0"
       sources."parent-module-1.0.1"
       sources."parse-json-5.2.0"
       sources."path-exists-4.0.0"
@@ -62039,7 +62907,7 @@ in
       sources."path-parse-1.0.6"
       sources."path-type-4.0.0"
       sources."picomatch-2.2.2"
-      sources."pkg-dir-4.2.0"
+      sources."pkg-dir-5.0.0"
       sources."pluralize-8.0.0"
       sources."process-nextick-args-2.0.1"
       sources."prr-1.0.1"
@@ -62049,7 +62917,7 @@ in
       sources."readable-stream-3.6.0"
       sources."readdirp-3.5.0"
       sources."rechoir-0.6.2"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."resolve-from-4.0.0"
       sources."restore-cursor-3.1.0"
       sources."rimraf-3.0.2"
@@ -62072,27 +62940,21 @@ in
         ];
       })
       sources."sourcemap-codec-1.4.8"
-      (sources."string-width-2.1.1" // {
-        dependencies = [
-          sources."ansi-regex-3.0.0"
-          sources."strip-ansi-4.0.0"
-        ];
-      })
+      sources."string-width-2.1.1"
       sources."string_decoder-1.3.0"
-      sources."strip-ansi-6.0.0"
+      sources."strip-ansi-4.0.0"
       sources."strip-bom-3.0.0"
       sources."strip-final-newline-2.0.0"
       sources."supports-color-7.2.0"
-      sources."symbol-observable-2.0.3"
+      sources."symbol-observable-3.0.0"
       sources."tapable-1.1.3"
-      (sources."terser-5.5.1" // {
+      (sources."terser-5.6.0" // {
         dependencies = [
           sources."commander-2.20.3"
         ];
       })
       (sources."terser-webpack-plugin-5.1.1" // {
         dependencies = [
-          sources."p-limit-3.1.0"
           sources."schema-utils-3.0.0"
           sources."source-map-0.6.1"
         ];
@@ -62114,13 +62976,13 @@ in
       })
       sources."tslib-1.14.1"
       sources."type-fest-0.11.0"
-      sources."typescript-4.0.5"
+      sources."typescript-4.1.5"
       sources."universalify-2.0.0"
       sources."uri-js-4.4.1"
       sources."util-deprecate-1.0.2"
-      sources."watchpack-2.1.0"
+      sources."watchpack-2.1.1"
       sources."wcwidth-1.0.1"
-      (sources."webpack-5.9.0" // {
+      (sources."webpack-5.11.0" // {
         dependencies = [
           sources."enhanced-resolve-5.7.0"
           sources."schema-utils-3.0.0"
@@ -62167,136 +63029,141 @@ in
       })
       (sources."@apollo/protobufjs-1.0.5" // {
         dependencies = [
-          sources."@types/node-10.17.51"
+          sources."@types/node-10.17.54"
         ];
       })
-      sources."@apollographql/apollo-tools-0.4.8"
+      sources."@apollographql/apollo-tools-0.4.9"
       sources."@apollographql/graphql-language-service-interface-2.0.2"
       sources."@apollographql/graphql-language-service-parser-2.0.2"
       sources."@apollographql/graphql-language-service-types-2.0.2"
       sources."@apollographql/graphql-language-service-utils-2.0.2"
       sources."@apollographql/graphql-playground-html-1.6.26"
-      sources."@babel/code-frame-7.12.11"
-      sources."@babel/compat-data-7.12.7"
-      (sources."@babel/core-7.12.10" // {
+      sources."@apollographql/graphql-upload-8-fork-8.1.3"
+      sources."@babel/code-frame-7.12.13"
+      sources."@babel/compat-data-7.13.8"
+      (sources."@babel/core-7.13.8" // {
         dependencies = [
-          sources."@babel/types-7.12.12"
-          sources."semver-5.7.1"
+          sources."@babel/generator-7.13.0"
+          sources."@babel/types-7.13.0"
         ];
       })
       (sources."@babel/generator-7.12.11" // {
         dependencies = [
-          sources."@babel/types-7.12.12"
+          sources."@babel/types-7.13.0"
         ];
       })
-      (sources."@babel/helper-annotate-as-pure-7.12.10" // {
+      (sources."@babel/helper-annotate-as-pure-7.12.13" // {
         dependencies = [
-          sources."@babel/types-7.12.12"
+          sources."@babel/types-7.13.0"
         ];
       })
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.10.4"
-      (sources."@babel/helper-compilation-targets-7.12.5" // {
+      (sources."@babel/helper-builder-binary-assignment-operator-visitor-7.12.13" // {
         dependencies = [
-          sources."semver-5.7.1"
+          sources."@babel/types-7.13.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.12.1"
-      sources."@babel/helper-create-regexp-features-plugin-7.12.7"
-      (sources."@babel/helper-define-map-7.10.5" // {
+      sources."@babel/helper-compilation-targets-7.13.8"
+      sources."@babel/helper-create-class-features-plugin-7.13.8"
+      sources."@babel/helper-create-regexp-features-plugin-7.12.17"
+      sources."@babel/helper-define-polyfill-provider-0.1.4"
+      (sources."@babel/helper-explode-assignable-expression-7.13.0" // {
         dependencies = [
-          sources."@babel/types-7.12.12"
+          sources."@babel/types-7.13.0"
         ];
       })
-      (sources."@babel/helper-explode-assignable-expression-7.12.1" // {
+      (sources."@babel/helper-function-name-7.12.13" // {
         dependencies = [
-          sources."@babel/types-7.12.12"
+          sources."@babel/types-7.13.0"
         ];
       })
-      (sources."@babel/helper-function-name-7.12.11" // {
+      (sources."@babel/helper-get-function-arity-7.12.13" // {
         dependencies = [
-          sources."@babel/types-7.12.12"
+          sources."@babel/types-7.13.0"
         ];
       })
-      (sources."@babel/helper-get-function-arity-7.12.10" // {
+      (sources."@babel/helper-hoist-variables-7.13.0" // {
         dependencies = [
-          sources."@babel/types-7.12.12"
+          sources."@babel/types-7.13.0"
         ];
       })
-      sources."@babel/helper-hoist-variables-7.10.4"
-      (sources."@babel/helper-member-expression-to-functions-7.12.7" // {
+      (sources."@babel/helper-member-expression-to-functions-7.13.0" // {
         dependencies = [
-          sources."@babel/types-7.12.12"
+          sources."@babel/types-7.13.0"
         ];
       })
-      (sources."@babel/helper-module-imports-7.12.5" // {
+      (sources."@babel/helper-module-imports-7.12.13" // {
         dependencies = [
-          sources."@babel/types-7.12.12"
+          sources."@babel/types-7.13.0"
         ];
       })
-      (sources."@babel/helper-module-transforms-7.12.1" // {
+      (sources."@babel/helper-module-transforms-7.13.0" // {
         dependencies = [
-          sources."@babel/types-7.12.12"
+          sources."@babel/types-7.13.0"
         ];
       })
-      (sources."@babel/helper-optimise-call-expression-7.12.10" // {
+      (sources."@babel/helper-optimise-call-expression-7.12.13" // {
         dependencies = [
-          sources."@babel/types-7.12.12"
+          sources."@babel/types-7.13.0"
         ];
       })
-      sources."@babel/helper-plugin-utils-7.10.4"
-      (sources."@babel/helper-remap-async-to-generator-7.12.1" // {
+      sources."@babel/helper-plugin-utils-7.13.0"
+      (sources."@babel/helper-remap-async-to-generator-7.13.0" // {
         dependencies = [
-          sources."@babel/types-7.12.12"
+          sources."@babel/types-7.13.0"
         ];
       })
-      (sources."@babel/helper-replace-supers-7.12.11" // {
+      (sources."@babel/helper-replace-supers-7.13.0" // {
         dependencies = [
-          sources."@babel/types-7.12.12"
+          sources."@babel/types-7.13.0"
         ];
       })
-      (sources."@babel/helper-simple-access-7.12.1" // {
+      (sources."@babel/helper-simple-access-7.12.13" // {
         dependencies = [
-          sources."@babel/types-7.12.12"
+          sources."@babel/types-7.13.0"
         ];
       })
       (sources."@babel/helper-skip-transparent-expression-wrappers-7.12.1" // {
         dependencies = [
-          sources."@babel/types-7.12.12"
+          sources."@babel/types-7.13.0"
         ];
       })
-      (sources."@babel/helper-split-export-declaration-7.12.11" // {
+      (sources."@babel/helper-split-export-declaration-7.12.13" // {
         dependencies = [
-          sources."@babel/types-7.12.12"
+          sources."@babel/types-7.13.0"
         ];
       })
       sources."@babel/helper-validator-identifier-7.12.11"
-      sources."@babel/helper-validator-option-7.12.11"
-      sources."@babel/helper-wrap-function-7.12.3"
-      (sources."@babel/helpers-7.12.5" // {
-        dependencies = [
-          sources."@babel/types-7.12.12"
-        ];
-      })
-      sources."@babel/highlight-7.10.4"
-      sources."@babel/parser-7.12.11"
-      sources."@babel/plugin-proposal-async-generator-functions-7.12.12"
-      sources."@babel/plugin-proposal-class-properties-7.12.1"
-      sources."@babel/plugin-proposal-dynamic-import-7.12.1"
-      sources."@babel/plugin-proposal-export-namespace-from-7.12.1"
-      sources."@babel/plugin-proposal-json-strings-7.12.1"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.12.1"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.12.1"
-      sources."@babel/plugin-proposal-numeric-separator-7.12.7"
-      sources."@babel/plugin-proposal-object-rest-spread-7.12.1"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.12.1"
-      sources."@babel/plugin-proposal-optional-chaining-7.12.7"
-      sources."@babel/plugin-proposal-private-methods-7.12.1"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.12.1"
+      sources."@babel/helper-validator-option-7.12.17"
+      (sources."@babel/helper-wrap-function-7.13.0" // {
+        dependencies = [
+          sources."@babel/types-7.13.0"
+        ];
+      })
+      (sources."@babel/helpers-7.13.0" // {
+        dependencies = [
+          sources."@babel/types-7.13.0"
+        ];
+      })
+      sources."@babel/highlight-7.13.8"
+      sources."@babel/parser-7.13.4"
+      sources."@babel/plugin-proposal-async-generator-functions-7.13.8"
+      sources."@babel/plugin-proposal-class-properties-7.13.0"
+      sources."@babel/plugin-proposal-dynamic-import-7.13.8"
+      sources."@babel/plugin-proposal-export-namespace-from-7.12.13"
+      sources."@babel/plugin-proposal-json-strings-7.13.8"
+      sources."@babel/plugin-proposal-logical-assignment-operators-7.13.8"
+      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.13.8"
+      sources."@babel/plugin-proposal-numeric-separator-7.12.13"
+      sources."@babel/plugin-proposal-object-rest-spread-7.13.8"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.13.8"
+      sources."@babel/plugin-proposal-optional-chaining-7.13.8"
+      sources."@babel/plugin-proposal-private-methods-7.13.0"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.12.13"
       sources."@babel/plugin-syntax-async-generators-7.8.4"
-      sources."@babel/plugin-syntax-class-properties-7.12.1"
+      sources."@babel/plugin-syntax-class-properties-7.12.13"
       sources."@babel/plugin-syntax-dynamic-import-7.8.3"
       sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
-      sources."@babel/plugin-syntax-flow-7.12.1"
+      sources."@babel/plugin-syntax-flow-7.12.13"
       sources."@babel/plugin-syntax-json-strings-7.8.3"
       sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
       sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
@@ -62304,67 +63171,67 @@ in
       sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
       sources."@babel/plugin-syntax-optional-catch-binding-7.8.3"
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
-      sources."@babel/plugin-syntax-top-level-await-7.12.1"
-      sources."@babel/plugin-syntax-typescript-7.12.1"
-      sources."@babel/plugin-transform-arrow-functions-7.12.1"
-      sources."@babel/plugin-transform-async-to-generator-7.12.1"
-      sources."@babel/plugin-transform-block-scoped-functions-7.12.1"
-      sources."@babel/plugin-transform-block-scoping-7.12.12"
-      sources."@babel/plugin-transform-classes-7.12.1"
-      sources."@babel/plugin-transform-computed-properties-7.12.1"
-      sources."@babel/plugin-transform-destructuring-7.12.1"
-      sources."@babel/plugin-transform-dotall-regex-7.12.1"
-      sources."@babel/plugin-transform-duplicate-keys-7.12.1"
-      sources."@babel/plugin-transform-exponentiation-operator-7.12.1"
-      sources."@babel/plugin-transform-flow-strip-types-7.12.10"
-      sources."@babel/plugin-transform-for-of-7.12.1"
-      sources."@babel/plugin-transform-function-name-7.12.1"
-      sources."@babel/plugin-transform-literals-7.12.1"
-      sources."@babel/plugin-transform-member-expression-literals-7.12.1"
-      sources."@babel/plugin-transform-modules-amd-7.12.1"
-      sources."@babel/plugin-transform-modules-commonjs-7.12.1"
-      sources."@babel/plugin-transform-modules-systemjs-7.12.1"
-      sources."@babel/plugin-transform-modules-umd-7.12.1"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.12.1"
-      sources."@babel/plugin-transform-new-target-7.12.1"
-      sources."@babel/plugin-transform-object-super-7.12.1"
-      sources."@babel/plugin-transform-parameters-7.12.1"
-      sources."@babel/plugin-transform-property-literals-7.12.1"
-      sources."@babel/plugin-transform-regenerator-7.12.1"
-      sources."@babel/plugin-transform-reserved-words-7.12.1"
-      sources."@babel/plugin-transform-shorthand-properties-7.12.1"
-      sources."@babel/plugin-transform-spread-7.12.1"
-      sources."@babel/plugin-transform-sticky-regex-7.12.7"
-      sources."@babel/plugin-transform-template-literals-7.12.1"
-      sources."@babel/plugin-transform-typeof-symbol-7.12.10"
-      sources."@babel/plugin-transform-typescript-7.12.1"
-      sources."@babel/plugin-transform-unicode-escapes-7.12.1"
-      sources."@babel/plugin-transform-unicode-regex-7.12.1"
-      (sources."@babel/preset-env-7.12.11" // {
-        dependencies = [
-          sources."@babel/types-7.12.12"
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."@babel/preset-flow-7.12.1"
+      sources."@babel/plugin-syntax-top-level-await-7.12.13"
+      sources."@babel/plugin-syntax-typescript-7.12.13"
+      sources."@babel/plugin-transform-arrow-functions-7.13.0"
+      sources."@babel/plugin-transform-async-to-generator-7.13.0"
+      sources."@babel/plugin-transform-block-scoped-functions-7.12.13"
+      sources."@babel/plugin-transform-block-scoping-7.12.13"
+      sources."@babel/plugin-transform-classes-7.13.0"
+      sources."@babel/plugin-transform-computed-properties-7.13.0"
+      sources."@babel/plugin-transform-destructuring-7.13.0"
+      sources."@babel/plugin-transform-dotall-regex-7.12.13"
+      sources."@babel/plugin-transform-duplicate-keys-7.12.13"
+      sources."@babel/plugin-transform-exponentiation-operator-7.12.13"
+      sources."@babel/plugin-transform-flow-strip-types-7.13.0"
+      sources."@babel/plugin-transform-for-of-7.13.0"
+      sources."@babel/plugin-transform-function-name-7.12.13"
+      sources."@babel/plugin-transform-literals-7.12.13"
+      sources."@babel/plugin-transform-member-expression-literals-7.12.13"
+      sources."@babel/plugin-transform-modules-amd-7.13.0"
+      sources."@babel/plugin-transform-modules-commonjs-7.13.8"
+      sources."@babel/plugin-transform-modules-systemjs-7.13.8"
+      sources."@babel/plugin-transform-modules-umd-7.13.0"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.12.13"
+      sources."@babel/plugin-transform-new-target-7.12.13"
+      sources."@babel/plugin-transform-object-super-7.12.13"
+      sources."@babel/plugin-transform-parameters-7.13.0"
+      sources."@babel/plugin-transform-property-literals-7.12.13"
+      sources."@babel/plugin-transform-regenerator-7.12.13"
+      sources."@babel/plugin-transform-reserved-words-7.12.13"
+      sources."@babel/plugin-transform-shorthand-properties-7.12.13"
+      sources."@babel/plugin-transform-spread-7.13.0"
+      sources."@babel/plugin-transform-sticky-regex-7.12.13"
+      sources."@babel/plugin-transform-template-literals-7.13.0"
+      sources."@babel/plugin-transform-typeof-symbol-7.12.13"
+      sources."@babel/plugin-transform-typescript-7.13.0"
+      sources."@babel/plugin-transform-unicode-escapes-7.12.13"
+      sources."@babel/plugin-transform-unicode-regex-7.12.13"
+      (sources."@babel/preset-env-7.13.8" // {
+        dependencies = [
+          sources."@babel/types-7.13.0"
+        ];
+      })
+      sources."@babel/preset-flow-7.12.13"
       sources."@babel/preset-modules-0.1.4"
-      sources."@babel/preset-typescript-7.12.7"
-      (sources."@babel/register-7.12.10" // {
+      sources."@babel/preset-typescript-7.13.0"
+      (sources."@babel/register-7.13.8" // {
         dependencies = [
           sources."make-dir-2.1.0"
           sources."pify-4.0.1"
           sources."semver-5.7.1"
         ];
       })
-      sources."@babel/runtime-7.12.5"
-      (sources."@babel/template-7.12.7" // {
+      sources."@babel/runtime-7.13.8"
+      (sources."@babel/template-7.12.13" // {
         dependencies = [
-          sources."@babel/types-7.12.12"
+          sources."@babel/types-7.13.0"
         ];
       })
-      (sources."@babel/traverse-7.12.12" // {
+      (sources."@babel/traverse-7.13.0" // {
         dependencies = [
-          sources."@babel/types-7.12.12"
+          sources."@babel/generator-7.13.0"
+          sources."@babel/types-7.13.0"
         ];
       })
       sources."@babel/types-7.10.4"
@@ -62394,9 +63261,15 @@ in
       })
       (sources."@oclif/command-1.8.0" // {
         dependencies = [
-          sources."@oclif/plugin-help-3.2.1"
+          sources."@oclif/plugin-help-3.2.2"
+          sources."ansi-styles-4.3.0"
+          sources."chalk-4.1.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."has-flag-4.0.0"
           sources."lru-cache-6.0.0"
           sources."semver-7.3.4"
+          sources."supports-color-7.2.0"
         ];
       })
       (sources."@oclif/config-1.17.0" // {
@@ -62499,14 +63372,9 @@ in
       sources."@types/cors-2.8.8"
       sources."@types/ejs-2.7.0"
       sources."@types/express-4.17.7"
-      sources."@types/express-serve-static-core-4.17.17"
+      sources."@types/express-serve-static-core-4.17.18"
       sources."@types/fs-capacitor-2.0.0"
       sources."@types/glob-7.1.3"
-      (sources."@types/graphql-upload-8.0.4" // {
-        dependencies = [
-          sources."graphql-15.5.0"
-        ];
-      })
       sources."@types/http-assert-1.5.1"
       sources."@types/http-errors-1.8.0"
       sources."@types/inquirer-6.5.0"
@@ -62518,15 +63386,15 @@ in
         ];
       })
       sources."@types/keygrip-1.0.2"
-      sources."@types/koa-2.11.6"
+      sources."@types/koa-2.13.0"
       sources."@types/koa-compose-3.2.5"
       sources."@types/long-4.0.1"
       sources."@types/mime-1.3.2"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-14.14.22"
+      sources."@types/node-14.14.31"
       (sources."@types/node-fetch-2.5.7" // {
         dependencies = [
-          sources."form-data-3.0.0"
+          sources."form-data-3.0.1"
         ];
       })
       sources."@types/normalize-package-data-2.4.0"
@@ -62544,24 +63412,24 @@ in
       })
       sources."@vue/cli-ui-addon-webpack-4.5.11"
       sources."@vue/cli-ui-addon-widgets-4.5.11"
-      (sources."@vue/compiler-core-3.0.5" // {
+      (sources."@vue/compiler-core-3.0.6" // {
         dependencies = [
-          sources."@babel/types-7.12.12"
+          sources."@babel/types-7.13.0"
           sources."source-map-0.6.1"
         ];
       })
-      sources."@vue/compiler-dom-3.0.5"
-      (sources."@vue/compiler-sfc-3.0.5" // {
+      sources."@vue/compiler-dom-3.0.6"
+      (sources."@vue/compiler-sfc-3.0.6" // {
         dependencies = [
-          sources."@babel/types-7.12.12"
+          sources."@babel/types-7.13.0"
           sources."source-map-0.6.1"
         ];
       })
-      sources."@vue/compiler-ssr-3.0.5"
-      sources."@vue/reactivity-3.0.5"
-      sources."@vue/runtime-core-3.0.5"
-      sources."@vue/runtime-dom-3.0.5"
-      sources."@vue/shared-3.0.5"
+      sources."@vue/compiler-ssr-3.0.6"
+      sources."@vue/reactivity-3.0.6"
+      sources."@vue/runtime-core-3.0.6"
+      sources."@vue/runtime-dom-3.0.6"
+      sources."@vue/shared-3.0.6"
       sources."@wry/context-0.4.4"
       sources."@wry/equality-0.1.11"
       sources."abbrev-1.1.1"
@@ -62605,8 +63473,9 @@ in
           sources."to-regex-range-2.1.1"
         ];
       })
-      (sources."apollo-2.32.1" // {
+      (sources."apollo-2.32.5" // {
         dependencies = [
+          sources."graphql-tag-2.11.0"
           sources."mkdirp-1.0.4"
           sources."strip-ansi-5.2.0"
         ];
@@ -62615,21 +63484,21 @@ in
       sources."apollo-cache-control-0.11.6"
       sources."apollo-cache-inmemory-1.6.6"
       sources."apollo-client-2.6.10"
-      (sources."apollo-codegen-core-0.39.1" // {
+      (sources."apollo-codegen-core-0.39.3" // {
         dependencies = [
           sources."recast-0.20.4"
           sources."source-map-0.6.1"
           sources."tslib-2.1.0"
         ];
       })
-      sources."apollo-codegen-flow-0.37.1"
-      sources."apollo-codegen-scala-0.38.1"
-      sources."apollo-codegen-swift-0.39.1"
-      sources."apollo-codegen-typescript-0.39.1"
+      sources."apollo-codegen-flow-0.37.3"
+      sources."apollo-codegen-scala-0.38.3"
+      sources."apollo-codegen-swift-0.39.3"
+      sources."apollo-codegen-typescript-0.39.3"
       sources."apollo-datasource-0.7.3"
-      sources."apollo-env-0.6.5"
-      sources."apollo-graphql-0.6.0"
-      sources."apollo-language-server-1.25.0"
+      sources."apollo-env-0.6.6"
+      sources."apollo-graphql-0.6.1"
+      sources."apollo-language-server-1.25.2"
       sources."apollo-link-1.2.14"
       sources."apollo-link-context-1.0.20"
       sources."apollo-link-error-1.1.13"
@@ -62644,7 +63513,7 @@ in
           sources."lru-cache-6.0.0"
         ];
       })
-      (sources."apollo-server-core-2.19.2" // {
+      (sources."apollo-server-core-2.21.0" // {
         dependencies = [
           sources."lru-cache-6.0.0"
           sources."uuid-8.3.2"
@@ -62652,7 +63521,7 @@ in
       })
       sources."apollo-server-env-3.0.0"
       sources."apollo-server-errors-2.4.2"
-      sources."apollo-server-express-2.19.2"
+      sources."apollo-server-express-2.21.0"
       sources."apollo-server-plugin-base-0.10.4"
       sources."apollo-server-types-0.6.3"
       sources."apollo-tracing-0.12.2"
@@ -62698,6 +63567,9 @@ in
       sources."aws4-1.11.0"
       sources."babel-core-7.0.0-bridge.0"
       sources."babel-plugin-dynamic-import-node-2.3.3"
+      sources."babel-plugin-polyfill-corejs2-0.1.8"
+      sources."babel-plugin-polyfill-corejs3-0.1.6"
+      sources."babel-plugin-polyfill-regenerator-0.1.5"
       sources."backo2-1.0.2"
       sources."balanced-match-1.0.0"
       (sources."base-0.11.2" // {
@@ -62746,7 +63618,7 @@ in
       })
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."browserslist-4.16.1"
+      sources."browserslist-4.16.3"
       sources."buffer-5.7.1"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
@@ -62780,7 +63652,7 @@ in
         ];
       })
       sources."camelcase-4.1.0"
-      sources."caniuse-lite-1.0.30001180"
+      sources."caniuse-lite-1.0.30001192"
       (sources."capital-case-1.0.4" // {
         dependencies = [
           sources."tslib-2.1.0"
@@ -62832,7 +63704,7 @@ in
       sources."clean-stack-2.2.0"
       sources."cli-boxes-1.0.0"
       sources."cli-cursor-2.1.0"
-      sources."cli-progress-3.8.2"
+      sources."cli-progress-3.9.0"
       sources."cli-spinners-2.5.0"
       (sources."cli-truncate-0.2.1" // {
         dependencies = [
@@ -62880,7 +63752,7 @@ in
       sources."collection-visit-1.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.1"
+      sources."colorette-1.2.2"
       sources."colors-1.4.0"
       sources."combined-stream-1.0.8"
       sources."commander-2.20.3"
@@ -62910,8 +63782,8 @@ in
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-3.8.3"
-      (sources."core-js-compat-3.8.3" // {
+      sources."core-js-3.9.1"
+      (sources."core-js-compat-3.9.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -62932,7 +63804,7 @@ in
       sources."crypto-random-string-1.0.0"
       sources."cssesc-3.0.0"
       sources."cssfilter-0.0.10"
-      sources."csstype-2.6.14"
+      sources."csstype-2.6.16"
       sources."csv-parser-1.12.1"
       sources."dashdash-1.14.1"
       sources."date-fns-1.30.1"
@@ -63007,15 +63879,29 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.3.645"
+      sources."electron-to-chromium-1.3.675"
       sources."elegant-spinner-1.0.1"
       sources."emoji-regex-8.0.0"
       sources."emojis-list-3.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
       sources."entities-2.2.0"
-      sources."env-ci-3.2.2"
-      sources."envinfo-7.7.3"
+      (sources."env-ci-5.0.2" // {
+        dependencies = [
+          sources."cross-spawn-7.0.3"
+          sources."execa-4.1.0"
+          sources."get-stream-5.2.0"
+          sources."is-stream-2.0.0"
+          sources."mimic-fn-2.1.0"
+          sources."npm-run-path-4.0.1"
+          sources."onetime-5.1.2"
+          sources."path-key-3.1.1"
+          sources."shebang-command-2.0.0"
+          sources."shebang-regex-3.0.0"
+          sources."which-2.0.2"
+        ];
+      })
+      sources."envinfo-7.7.4"
       sources."error-ex-1.3.2"
       sources."es-abstract-1.18.0-next.2"
       sources."es-to-primitive-1.2.1"
@@ -63077,7 +63963,7 @@ in
       sources."fast-glob-3.2.5"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
-      sources."fastq-1.10.0"
+      sources."fastq-1.11.0"
       sources."fd-slicer-1.1.0"
       sources."figures-1.7.0"
       sources."file-type-8.1.0"
@@ -63085,6 +63971,7 @@ in
       sources."filename-reserved-regex-2.0.0"
       sources."filenamify-2.1.0"
       sources."fill-range-7.0.1"
+      sources."filter-obj-1.1.0"
       (sources."finalhandler-1.1.2" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -63099,7 +63986,7 @@ in
       })
       sources."find-up-3.0.0"
       sources."fkill-6.2.0"
-      sources."flow-parser-0.143.1"
+      sources."flow-parser-0.145.0"
       sources."for-each-0.3.3"
       sources."for-in-1.0.2"
       sources."forever-agent-0.6.1"
@@ -63122,7 +64009,7 @@ in
       sources."generic-names-2.0.1"
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."get-proxy-2.1.0"
       sources."get-stream-4.1.0"
       sources."get-value-2.0.6"
@@ -63153,7 +64040,7 @@ in
       })
       sources."global-dirs-0.1.1"
       sources."globals-11.12.0"
-      sources."globalthis-1.0.1"
+      sources."globalthis-1.0.2"
       (sources."globby-9.2.0" // {
         dependencies = [
           sources."@nodelib/fs.stat-1.1.3"
@@ -63195,7 +64082,7 @@ in
           sources."get-stream-3.0.0"
         ];
       })
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."graphql-14.7.0"
       (sources."graphql-anywhere-4.2.7" // {
         dependencies = [
@@ -63203,11 +64090,10 @@ in
         ];
       })
       sources."graphql-extensions-0.12.8"
-      sources."graphql-subscriptions-1.1.0"
-      sources."graphql-tag-2.11.0"
+      sources."graphql-subscriptions-1.2.0"
+      sources."graphql-tag-2.12.1"
       sources."graphql-tools-4.0.8"
       sources."graphql-type-json-0.3.2"
-      sources."graphql-upload-8.1.0"
       sources."growly-1.3.0"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
@@ -63219,7 +64105,7 @@ in
       })
       sources."has-flag-3.0.0"
       sources."has-symbol-support-x-1.4.2"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."has-to-string-tag-x-1.4.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
@@ -63254,7 +64140,7 @@ in
       sources."hyperlinker-1.0.0"
       sources."iconv-lite-0.4.24"
       sources."icss-replace-symbols-1.1.0"
-      sources."icss-utils-4.1.1"
+      sources."icss-utils-5.1.0"
       sources."ieee754-1.2.1"
       sources."ignore-5.1.8"
       sources."ignore-by-default-1.0.1"
@@ -63292,7 +64178,7 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.2.2"
+      sources."is-callable-1.2.3"
       sources."is-ci-1.2.1"
       sources."is-core-module-2.2.0"
       sources."is-data-descriptor-1.0.0"
@@ -63318,7 +64204,7 @@ in
       sources."is-promise-2.2.2"
       sources."is-property-1.0.2"
       sources."is-redirect-1.0.0"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-retry-allowed-1.2.0"
       sources."is-ssh-1.3.2"
       sources."is-stream-1.1.0"
@@ -63367,7 +64253,7 @@ in
       sources."json-schema-0.2.3"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
-      sources."json5-2.1.3"
+      sources."json5-2.2.0"
       sources."jsonfile-4.0.0"
       sources."jsprim-1.4.1"
       sources."keyv-3.0.0"
@@ -63407,7 +64293,7 @@ in
         ];
       })
       sources."locate-path-3.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash._reinterpolate-3.0.0"
       sources."lodash.camelcase-4.3.0"
       sources."lodash.clonedeep-4.5.0"
@@ -63467,8 +64353,8 @@ in
       sources."methods-1.1.2"
       sources."micromatch-4.0.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."minimalistic-assert-1.0.1"
@@ -63508,7 +64394,7 @@ in
       })
       sources."node-dir-0.1.17"
       sources."node-fetch-2.6.1"
-      sources."node-ipc-9.1.3"
+      sources."node-ipc-9.1.4"
       sources."node-modules-regexp-1.0.0"
       (sources."node-notifier-9.0.0" // {
         dependencies = [
@@ -63519,7 +64405,7 @@ in
           sources."which-2.0.2"
         ];
       })
-      sources."node-releases-1.1.70"
+      sources."node-releases-1.1.71"
       (sources."nodemon-1.19.4" // {
         dependencies = [
           sources."debug-3.2.7"
@@ -63559,7 +64445,7 @@ in
       sources."object-treeify-1.1.31"
       sources."object-visit-1.0.1"
       sources."object.assign-4.1.2"
-      sources."object.getownpropertydescriptors-2.1.1"
+      sources."object.getownpropertydescriptors-2.1.2"
       sources."object.pick-1.3.0"
       sources."on-finished-2.3.0"
       sources."once-1.4.0"
@@ -63645,17 +64531,17 @@ in
         ];
       })
       sources."posix-character-classes-0.1.1"
-      (sources."postcss-7.0.35" // {
+      (sources."postcss-8.2.6" // {
         dependencies = [
+          sources."nanoid-3.1.20"
           sources."source-map-0.6.1"
-          sources."supports-color-6.1.0"
         ];
       })
-      sources."postcss-modules-3.2.2"
-      sources."postcss-modules-extract-imports-2.0.0"
-      sources."postcss-modules-local-by-default-3.0.3"
-      sources."postcss-modules-scope-2.2.0"
-      sources."postcss-modules-values-3.0.0"
+      sources."postcss-modules-4.0.0"
+      sources."postcss-modules-extract-imports-3.0.0"
+      sources."postcss-modules-local-by-default-4.0.0"
+      sources."postcss-modules-scope-3.0.0"
+      sources."postcss-modules-values-4.0.0"
       sources."postcss-selector-parser-6.0.4"
       sources."postcss-value-parser-4.1.0"
       sources."prepend-http-1.0.4"
@@ -63673,7 +64559,8 @@ in
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
-      sources."query-string-6.13.8"
+      sources."query-string-6.14.1"
+      sources."queue-microtask-1.2.2"
       sources."range-parser-1.2.1"
       (sources."raw-body-2.4.0" // {
         dependencies = [
@@ -63731,7 +64618,7 @@ in
       sources."registry-auth-token-3.4.0"
       sources."registry-url-3.1.0"
       sources."regjsgen-0.5.2"
-      (sources."regjsparser-0.6.6" // {
+      (sources."regjsparser-0.6.7" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
@@ -63742,7 +64629,7 @@ in
       sources."request-2.88.2"
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."resolve-from-3.0.0"
       sources."resolve-url-0.2.1"
       sources."responselike-1.0.2"
@@ -63752,10 +64639,10 @@ in
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
       sources."roarr-2.15.4"
-      sources."rss-parser-3.10.0"
+      sources."rss-parser-3.12.0"
       sources."run-async-2.4.1"
-      sources."run-parallel-1.1.10"
-      sources."rxjs-6.6.3"
+      sources."run-parallel-1.2.0"
+      sources."rxjs-6.6.6"
       sources."safe-buffer-5.2.1"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
@@ -63848,7 +64735,7 @@ in
           sources."source-map-0.6.1"
         ];
       })
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."sourcemap-codec-1.4.8"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
@@ -63886,9 +64773,9 @@ in
       sources."streamsearch-0.1.2"
       sources."strict-uri-encode-2.0.0"
       sources."string-hash-1.1.3"
-      sources."string-width-4.2.0"
-      sources."string.prototype.trimend-1.0.3"
-      sources."string.prototype.trimstart-1.0.3"
+      sources."string-width-4.2.2"
+      sources."string.prototype.trimend-1.0.4"
+      sources."string.prototype.trimstart-1.0.4"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -63994,7 +64881,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."type-fest-0.6.0"
       sources."type-is-1.6.18"
-      sources."typescript-3.9.7"
+      sources."typescript-3.9.9"
       sources."unbzip2-stream-1.4.3"
       (sources."undefsafe-2.0.3" // {
         dependencies = [
@@ -64081,7 +64968,7 @@ in
       (sources."vue-codemod-0.0.4" // {
         dependencies = [
           sources."globby-10.0.2"
-          sources."vue-3.0.5"
+          sources."vue-3.0.6"
         ];
       })
       sources."watch-1.0.2"
@@ -64134,7 +65021,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Command line interface for rapid Vue.js development";
-      homepage = https://cli.vuejs.org/;
+      homepage = "https://cli.vuejs.org/";
       license = "MIT";
     };
     production = true;
@@ -64265,13 +65152,13 @@ in
       sha512 = "Q1OfB3hpa4TtM6x5a2gJmZncpQYx0hFt4ohdgv4Ms67kcAVwL29QQ2NDbNqfKr15IzlNAhLGueCzxG6dMjdnbQ==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
-      sources."@babel/generator-7.12.11"
+      sources."@babel/code-frame-7.12.13"
+      sources."@babel/generator-7.13.0"
       sources."@babel/helper-validator-identifier-7.12.11"
-      sources."@babel/highlight-7.10.4"
-      sources."@babel/parser-7.12.11"
-      sources."@babel/template-7.12.7"
-      sources."@babel/types-7.12.12"
+      sources."@babel/highlight-7.13.8"
+      sources."@babel/parser-7.13.4"
+      sources."@babel/template-7.12.13"
+      sources."@babel/types-7.13.0"
       sources."@webassemblyjs/ast-1.11.0"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.0"
       sources."@webassemblyjs/helper-api-error-1.11.0"
@@ -64292,7 +65179,7 @@ in
       sources."has-flag-3.0.0"
       sources."js-tokens-4.0.0"
       sources."jsesc-2.5.2"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."source-map-0.5.7"
       sources."supports-color-5.5.0"
       sources."to-fast-properties-2.0.0"
@@ -64346,51 +65233,59 @@ in
       sha512 = "bBFO/imgikyrGd6urHfiZDmceZzAMfWeAmt5Fd9du5B+rv6IIJsDZMrTcalKUhwL6NdM0mBwkFcLmQvjm8UMOw==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
-      (sources."@babel/core-7.12.10" // {
+      sources."@babel/code-frame-7.12.13"
+      sources."@babel/compat-data-7.13.8"
+      (sources."@babel/core-7.13.8" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
       })
-      (sources."@babel/generator-7.12.11" // {
+      (sources."@babel/generator-7.13.0" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
       })
-      sources."@babel/helper-function-name-7.12.11"
-      sources."@babel/helper-get-function-arity-7.12.10"
-      sources."@babel/helper-member-expression-to-functions-7.12.7"
-      sources."@babel/helper-module-imports-7.12.5"
-      sources."@babel/helper-module-transforms-7.12.1"
-      sources."@babel/helper-optimise-call-expression-7.12.10"
-      sources."@babel/helper-replace-supers-7.12.11"
-      sources."@babel/helper-simple-access-7.12.1"
-      sources."@babel/helper-split-export-declaration-7.12.11"
+      sources."@babel/helper-compilation-targets-7.13.8"
+      sources."@babel/helper-function-name-7.12.13"
+      sources."@babel/helper-get-function-arity-7.12.13"
+      sources."@babel/helper-member-expression-to-functions-7.13.0"
+      sources."@babel/helper-module-imports-7.12.13"
+      sources."@babel/helper-module-transforms-7.13.0"
+      sources."@babel/helper-optimise-call-expression-7.12.13"
+      sources."@babel/helper-replace-supers-7.13.0"
+      sources."@babel/helper-simple-access-7.12.13"
+      sources."@babel/helper-split-export-declaration-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      sources."@babel/helpers-7.12.5"
-      sources."@babel/highlight-7.10.4"
-      sources."@babel/parser-7.12.11"
-      sources."@babel/template-7.12.7"
-      sources."@babel/traverse-7.12.12"
-      sources."@babel/types-7.12.12"
+      sources."@babel/helper-validator-option-7.12.17"
+      sources."@babel/helpers-7.13.0"
+      sources."@babel/highlight-7.13.8"
+      sources."@babel/parser-7.13.4"
+      sources."@babel/template-7.12.13"
+      sources."@babel/traverse-7.13.0"
+      sources."@babel/types-7.13.0"
       sources."JSV-4.0.2"
       sources."ansi-styles-3.2.1"
       sources."array-unique-0.3.2"
       sources."async-3.2.0"
       sources."balanced-match-1.0.0"
       sources."brace-expansion-1.1.11"
+      sources."browserslist-4.16.3"
+      sources."caniuse-lite-1.0.30001192"
       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-2.20.3"
       sources."concat-map-0.0.1"
       sources."convert-source-map-1.7.0"
       sources."debug-4.3.2"
       sources."ejs-3.1.5"
+      sources."electron-to-chromium-1.3.675"
       sources."ensure-posix-path-1.1.1"
+      sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
-      sources."filelist-1.0.1"
+      sources."filelist-1.0.2"
       sources."fs-extra-5.0.0"
       sources."function-bind-1.1.1"
       sources."gensync-1.0.0-beta.2"
@@ -64406,7 +65301,7 @@ in
         ];
       })
       sources."globals-11.12.0"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."has-1.0.3"
       sources."has-color-0.1.7"
       sources."has-flag-3.0.0"
@@ -64423,15 +65318,16 @@ in
       })
       sources."js-tokens-4.0.0"
       sources."jsesc-2.5.2"
-      sources."json5-2.1.3"
+      sources."json5-2.2.0"
       sources."jsonfile-4.0.0"
       sources."jsonlint-1.6.3"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."matcher-collection-1.1.2"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."moment-2.29.1"
       sources."ms-2.1.2"
+      sources."node-releases-1.1.71"
       sources."node.extend-2.0.2"
       (sources."nomnom-1.8.1" // {
         dependencies = [
@@ -64442,10 +65338,10 @@ in
       sources."parse-passwd-1.0.0"
       sources."path-parse-1.0.6"
       sources."pkginfo-0.4.1"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."safe-buffer-5.1.2"
       sources."sax-0.5.8"
-      sources."semver-5.7.1"
+      sources."semver-6.3.0"
       sources."source-map-0.6.1"
       sources."strip-ansi-0.1.1"
       sources."supports-color-5.5.0"
@@ -64479,7 +65375,7 @@ in
     dependencies = [
       sources."@types/glob-7.1.3"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-14.14.22"
+      sources."@types/node-14.14.31"
       sources."balanced-match-1.0.0"
       sources."brace-expansion-1.1.11"
       sources."chromium-pickle-js-0.2.0"
@@ -64497,7 +65393,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Creating Electron app packages";
-      homepage = https://github.com/electron/asar;
+      homepage = "https://github.com/electron/asar";
       license = "MIT";
     };
     production = true;
@@ -64581,10 +65477,10 @@ in
       sources."jsprim-1.4.1"
       sources."left-pad-1.3.0"
       sources."levn-0.3.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.sortby-4.7.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimatch-3.0.4"
       sources."nwsapi-2.2.0"
       sources."oauth-sign-0.9.0"
@@ -64615,7 +65511,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
       sources."uri-js-4.4.1"
-      sources."urijs-1.19.5"
+      sources."urijs-1.19.6"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
       sources."vscode-jsonrpc-6.0.0"
@@ -64655,7 +65551,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "The browser package manager";
-      homepage = https://bower.io/;
+      homepage = "http://bower.io";
       license = "MIT";
     };
     production = true;
@@ -64693,7 +65589,7 @@ in
       sources."find-up-1.1.2"
       (sources."fs-extra-0.26.7" // {
         dependencies = [
-          sources."graceful-fs-4.2.4"
+          sources."graceful-fs-4.2.6"
         ];
       })
       sources."fs.realpath-1.0.0"
@@ -64714,24 +65610,24 @@ in
       sources."is-utf8-0.2.1"
       (sources."jsonfile-2.4.0" // {
         dependencies = [
-          sources."graceful-fs-4.2.4"
+          sources."graceful-fs-4.2.6"
         ];
       })
       (sources."klaw-1.3.1" // {
         dependencies = [
-          sources."graceful-fs-4.2.4"
+          sources."graceful-fs-4.2.6"
         ];
       })
       (sources."load-json-file-1.1.0" // {
         dependencies = [
-          sources."graceful-fs-4.2.4"
+          sources."graceful-fs-4.2.6"
         ];
       })
       sources."lodash-4.2.1"
       sources."loud-rejection-1.6.0"
       sources."map-obj-1.0.1"
       sources."meow-3.7.0"
-      sources."mime-db-1.45.0"
+      sources."mime-db-1.46.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
@@ -64747,7 +65643,7 @@ in
       sources."path-parse-1.0.6"
       (sources."path-type-1.1.0" // {
         dependencies = [
-          sources."graceful-fs-4.2.4"
+          sources."graceful-fs-4.2.6"
         ];
       })
       sources."pify-2.3.0"
@@ -64759,7 +65655,7 @@ in
       sources."read-pkg-up-1.0.1"
       sources."redent-1.0.0"
       sources."repeating-2.0.1"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       (sources."rimraf-2.7.1" // {
         dependencies = [
           sources."glob-7.1.6"
@@ -64788,7 +65684,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Generate nix expressions to fetch bower dependencies";
-      homepage = https://github.com/rvl/bower2nix;
+      homepage = "https://github.com/rvl/bower2nix";
       license = "GPL-3.0";
     };
     production = true;
@@ -64811,7 +65707,7 @@ in
       sources."array-filter-1.0.0"
       (sources."asn1.js-5.4.1" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       (sources."assert-1.5.0" // {
@@ -64823,7 +65719,7 @@ in
       sources."available-typed-arrays-1.0.2"
       sources."balanced-match-1.0.0"
       sources."base64-js-1.5.1"
-      sources."bn.js-5.1.3"
+      sources."bn.js-5.2.0"
       sources."brace-expansion-1.1.11"
       sources."brorand-1.1.0"
       sources."browser-pack-6.1.0"
@@ -64854,7 +65750,7 @@ in
       sources."core-util-is-1.0.2"
       (sources."create-ecdh-4.0.4" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."create-hash-1.2.0"
@@ -64868,29 +65764,29 @@ in
       sources."detective-5.2.0"
       (sources."diffie-hellman-5.0.3" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."domain-browser-1.2.0"
       sources."duplexer2-0.1.4"
-      (sources."elliptic-6.5.3" // {
+      (sources."elliptic-6.5.4" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."es-abstract-1.18.0-next.2"
       sources."es-to-primitive-1.2.1"
-      sources."events-3.2.0"
+      sources."events-3.3.0"
       sources."evp_bytestokey-1.0.3"
       sources."fast-safe-stringify-2.0.7"
       sources."foreach-2.0.5"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."get-assigned-identifiers-1.2.0"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."glob-7.1.6"
       sources."has-1.0.3"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       (sources."hash-base-3.1.0" // {
         dependencies = [
           sources."readable-stream-3.6.0"
@@ -64907,14 +65803,14 @@ in
       sources."insert-module-globals-7.2.1"
       sources."is-arguments-1.1.0"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.2.2"
+      sources."is-callable-1.2.3"
       sources."is-core-module-2.2.0"
       sources."is-date-object-1.0.2"
       sources."is-generator-function-1.0.8"
       sources."is-negative-zero-2.0.1"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-symbol-1.0.3"
-      sources."is-typed-array-1.1.4"
+      sources."is-typed-array-1.1.5"
       sources."isarray-1.0.0"
       sources."jsonparse-1.3.1"
       sources."labeled-stream-splicer-2.0.2"
@@ -64922,7 +65818,7 @@ in
       sources."md5.js-1.3.5"
       (sources."miller-rabin-4.0.1" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."minimalistic-assert-1.0.1"
@@ -64949,7 +65845,7 @@ in
       sources."process-nextick-args-2.0.1"
       (sources."public-encrypt-4.0.3" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."punycode-1.4.1"
@@ -64964,7 +65860,7 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."ripemd160-2.0.2"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
@@ -64985,8 +65881,8 @@ in
         ];
       })
       sources."stream-splicer-2.0.1"
-      sources."string.prototype.trimend-1.0.3"
-      sources."string.prototype.trimstart-1.0.3"
+      sources."string.prototype.trimend-1.0.4"
+      sources."string.prototype.trimstart-1.0.4"
       sources."string_decoder-1.3.0"
       sources."subarg-1.0.0"
       sources."syntax-error-1.4.0"
@@ -65076,7 +65972,7 @@ in
       sources."bitcoin-ops-1.4.1"
       sources."bitcoinjs-lib-5.2.0"
       sources."bluebird-3.7.2"
-      sources."bn.js-4.11.9"
+      sources."bn.js-4.12.0"
       (sources."body-parser-1.19.0" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -65093,6 +65989,7 @@ in
       sources."buffer-from-1.1.1"
       sources."bunyan-1.8.15"
       sources."bytes-3.1.0"
+      sources."call-bind-1.0.2"
       sources."camelcase-4.1.0"
       sources."camelcase-keys-4.2.0"
       sources."caseless-0.12.0"
@@ -65154,7 +66051,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."electrum-client-git://github.com/janoside/electrum-client"
-      sources."elliptic-6.5.3"
+      sources."elliptic-6.5.4"
       sources."emoji-regex-7.0.3"
       sources."encodeurl-1.0.2"
       sources."entities-1.1.2"
@@ -65191,13 +66088,14 @@ in
       sources."fresh-0.5.2"
       sources."function-bind-1.1.1"
       sources."get-caller-file-2.0.5"
+      sources."get-intrinsic-1.1.1"
       sources."getpass-0.1.7"
       sources."glob-6.0.4"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       (sources."hash-base-3.1.0" // {
         dependencies = [
           sources."safe-buffer-5.2.1"
@@ -65229,7 +66127,7 @@ in
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-plain-obj-1.1.0"
       sources."is-promise-2.2.2"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-typedarray-1.0.0"
       sources."isarray-2.0.5"
       sources."isstream-0.1.2"
@@ -65252,7 +66150,7 @@ in
       sources."linkify-it-2.2.0"
       sources."load-json-file-4.0.0"
       sources."locate-path-2.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."longest-1.0.1"
       sources."loud-rejection-1.6.0"
       sources."lru-cache-5.1.1"
@@ -65273,8 +66171,8 @@ in
       sources."merkle-lib-2.0.10"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.0.4"
@@ -65322,7 +66220,7 @@ in
       sources."psl-1.8.0"
       sources."pug-2.0.4"
       sources."pug-attrs-2.0.4"
-      sources."pug-code-gen-2.0.2"
+      sources."pug-code-gen-2.0.3"
       sources."pug-error-1.3.3"
       sources."pug-filters-3.1.1"
       sources."pug-lexer-4.1.0"
@@ -65358,7 +66256,7 @@ in
       sources."readable-stream-3.6.0"
       sources."redent-2.0.0"
       sources."redis-2.8.0"
-      sources."redis-commands-1.6.0"
+      sources."redis-commands-1.7.0"
       sources."redis-parser-2.6.0"
       sources."regenerator-runtime-0.11.1"
       sources."repeat-string-1.6.1"
@@ -65369,7 +66267,7 @@ in
       })
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."right-align-0.1.3"
       sources."rimraf-2.4.5"
       sources."ripemd160-2.0.2"
@@ -65498,7 +66396,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.1"
-      sources."@types/node-13.13.40"
+      sources."@types/node-13.13.45"
       sources."addr-to-ip-port-1.5.1"
       sources."airplay-js-0.2.16"
       sources."ajv-6.12.6"
@@ -65531,7 +66429,7 @@ in
         ];
       })
       sources."blob-to-buffer-1.2.9"
-      sources."bn.js-4.11.9"
+      sources."bn.js-4.12.0"
       sources."bncode-0.5.3"
       sources."brace-expansion-1.1.11"
       sources."buffer-alloc-1.2.0"
@@ -65560,7 +66458,7 @@ in
       sources."co-3.1.0"
       sources."codepage-1.4.0"
       sources."combined-stream-1.0.8"
-      sources."commander-7.0.0"
+      sources."commander-7.1.0"
       sources."compact2string-1.4.1"
       sources."concat-map-0.0.1"
       (sources."concat-stream-2.0.0" // {
@@ -65621,7 +66519,7 @@ in
       sources."getpass-0.1.7"
       sources."glob-7.1.6"
       sources."got-1.2.2"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
@@ -65679,8 +66577,8 @@ in
         ];
       })
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
@@ -65754,7 +66652,8 @@ in
       sources."qap-3.3.1"
       sources."qs-6.5.2"
       sources."query-string-1.0.1"
-      sources."random-access-file-2.1.4"
+      sources."queue-microtask-1.2.2"
+      sources."random-access-file-2.2.0"
       sources."random-access-storage-1.4.1"
       sources."random-iterate-1.0.1"
       sources."randombytes-2.1.0"
@@ -65783,10 +66682,10 @@ in
       sources."redent-1.0.0"
       sources."repeating-2.0.1"
       sources."request-2.88.2"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."rimraf-2.7.1"
       sources."router-0.6.2"
-      sources."run-parallel-1.1.10"
+      sources."run-parallel-1.2.0"
       sources."run-series-1.1.9"
       sources."rusha-0.8.13"
       sources."rx-2.5.3"
@@ -65903,14 +66802,14 @@ in
   cdk8s-cli = nodeEnv.buildNodePackage {
     name = "cdk8s-cli";
     packageName = "cdk8s-cli";
-    version = "1.0.0-beta.6";
+    version = "1.0.0-beta.9";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cdk8s-cli/-/cdk8s-cli-1.0.0-beta.6.tgz";
-      sha512 = "x6sJTGaSPoyQbcKbxkKxmgdGXLpyO+qbgt6GgN9guIk28dgkoqZG9CcfmwjAs+OXoY4ZiyNKvNO4w9ljW/+XOQ==";
+      url = "https://registry.npmjs.org/cdk8s-cli/-/cdk8s-cli-1.0.0-beta.9.tgz";
+      sha512 = "S9ER79LVYYGKPoD3Xwm27E5+GBWseLdQ9oKbzIPuJplz++SapOhuHnAYIr9m4nuriQYq4grYonkwaaBQWiGyrA==";
     };
     dependencies = [
-      sources."@jsii/spec-1.17.1"
-      sources."@types/node-10.17.51"
+      sources."@jsii/spec-1.22.0"
+      sources."@types/node-10.17.54"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-4.3.0"
       sources."array-filter-1.0.0"
@@ -65919,10 +66818,10 @@ in
       sources."call-bind-1.0.2"
       sources."camelcase-6.2.0"
       sources."case-1.6.3"
-      sources."cdk8s-1.0.0-beta.6"
+      sources."cdk8s-1.0.0-beta.9"
       sources."cliui-7.0.4"
       sources."clone-2.1.2"
-      (sources."codemaker-1.17.1" // {
+      (sources."codemaker-1.22.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
@@ -65931,10 +66830,10 @@ in
       sources."color-name-1.1.4"
       sources."colors-1.4.0"
       sources."commonmark-0.29.3"
-      sources."constructs-3.2.117"
+      sources."constructs-3.3.5"
       sources."date-format-3.0.0"
       sources."debug-4.3.2"
-      sources."decamelize-4.0.0"
+      sources."decamelize-5.0.0"
       sources."deep-equal-2.0.5"
       sources."define-properties-1.1.3"
       sources."detect-indent-5.0.0"
@@ -65958,52 +66857,52 @@ in
       })
       sources."function-bind-1.1.1"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.0"
-      sources."graceful-fs-4.2.4"
+      sources."get-intrinsic-1.1.1"
+      sources."graceful-fs-4.2.6"
       sources."has-1.0.3"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."is-arguments-1.1.0"
       sources."is-bigint-1.0.1"
       sources."is-boolean-object-1.1.0"
-      sources."is-callable-1.2.2"
+      sources."is-callable-1.2.3"
       sources."is-date-object-1.0.2"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-map-2.0.2"
       sources."is-negative-zero-2.0.1"
       sources."is-number-object-1.0.4"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-set-2.0.2"
       sources."is-string-1.0.5"
       sources."is-symbol-1.0.3"
-      sources."is-typed-array-1.1.4"
+      sources."is-typed-array-1.1.5"
       sources."is-weakmap-2.0.1"
       sources."is-weakset-2.0.1"
       sources."isarray-2.0.5"
-      (sources."jsii-1.17.1" // {
+      (sources."jsii-1.22.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-pacmak-1.17.1" // {
+      (sources."jsii-pacmak-1.22.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-reflect-1.17.1" // {
+      (sources."jsii-reflect-1.22.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-rosetta-1.17.1" // {
+      (sources."jsii-rosetta-1.22.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-srcmak-0.1.210" // {
+      (sources."jsii-srcmak-0.1.238" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
@@ -66022,10 +66921,10 @@ in
       sources."ncp-2.0.0"
       sources."no-case-3.0.4"
       sources."object-inspect-1.9.0"
-      sources."object-is-1.1.4"
+      sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
-      sources."oo-ascii-tree-1.17.1"
+      sources."oo-ascii-tree-1.22.0"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-try-2.2.0"
@@ -66051,13 +66950,13 @@ in
           sources."date-format-2.1.0"
         ];
       })
-      sources."string-width-4.2.0"
+      sources."string-width-4.2.2"
       sources."string.prototype.repeat-0.2.0"
-      sources."string.prototype.trimend-1.0.3"
-      sources."string.prototype.trimstart-1.0.3"
+      sources."string.prototype.trimend-1.0.4"
+      sources."string.prototype.trimstart-1.0.4"
       sources."strip-ansi-6.0.0"
       sources."tslib-2.1.0"
-      sources."typescript-3.9.7"
+      sources."typescript-3.9.9"
       sources."universalify-2.0.0"
       sources."which-boxed-primitive-1.0.2"
       sources."which-collection-1.0.1"
@@ -66079,7 +66978,7 @@ in
           sources."yargs-parser-18.1.3"
         ];
       })
-      sources."yargs-parser-20.2.4"
+      sources."yargs-parser-20.2.6"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -66100,12 +66999,12 @@ in
       sha512 = "tlkYo1SbitrwfqcTK0S5ZsGasRaJtN5tRP3VxgIszJZggav7mpRGABjTkqY23GzG8UXIaUTvH4uBGshx+iqcOA==";
     };
     dependencies = [
-      sources."@jsii/spec-1.17.1"
-      sources."@skorfmann/terraform-cloud-1.7.1"
+      sources."@jsii/spec-1.22.0"
+      sources."@skorfmann/terraform-cloud-1.9.1"
       sources."@types/archiver-5.1.0"
       sources."@types/glob-7.1.3"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-14.14.22"
+      sources."@types/node-14.14.31"
       sources."@types/readline-sync-1.4.3"
       sources."@types/stream-buffers-3.0.3"
       sources."@types/uuid-8.3.0"
@@ -66120,7 +67019,7 @@ in
         ];
       })
       sources."array-filter-1.0.0"
-      sources."array-includes-3.1.2"
+      sources."array-includes-3.1.3"
       sources."array.prototype.flatmap-1.2.4"
       sources."arrify-2.0.1"
       sources."astral-regex-2.0.0"
@@ -66131,7 +67030,7 @@ in
       sources."axios-0.21.1"
       sources."balanced-match-1.0.0"
       sources."base64-js-1.5.1"
-      sources."bl-4.0.3"
+      sources."bl-4.1.0"
       sources."brace-expansion-1.1.11"
       sources."buffer-5.7.1"
       sources."buffer-crc32-0.2.13"
@@ -66158,10 +67057,10 @@ in
       sources."commonmark-0.29.3"
       sources."compress-commons-4.0.2"
       sources."concat-map-0.0.1"
-      sources."constructs-3.2.117"
+      sources."constructs-3.3.43"
       sources."core-util-is-1.0.2"
       sources."crc-32-1.2.0"
-      sources."crc32-stream-4.0.1"
+      sources."crc32-stream-4.0.2"
       sources."date-format-3.0.0"
       sources."debug-4.3.2"
       sources."decamelize-1.2.0"
@@ -66191,19 +67090,19 @@ in
       sources."exit-on-epipe-1.0.1"
       sources."find-up-4.1.0"
       sources."flatted-2.0.2"
-      sources."follow-redirects-1.13.2"
+      sources."follow-redirects-1.13.3"
       sources."foreach-2.0.5"
       sources."fs-constants-1.0.0"
       sources."fs-extra-8.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."glob-7.1.6"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."ieee754-1.2.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -66223,7 +67122,7 @@ in
       sources."is-arguments-1.1.0"
       sources."is-bigint-1.0.1"
       sources."is-boolean-object-1.1.0"
-      sources."is-callable-1.2.2"
+      sources."is-callable-1.2.3"
       sources."is-ci-2.0.0"
       sources."is-core-module-2.2.0"
       sources."is-date-object-1.0.2"
@@ -66232,17 +67131,17 @@ in
       sources."is-map-2.0.2"
       sources."is-negative-zero-2.0.1"
       sources."is-number-object-1.0.4"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-set-2.0.2"
       sources."is-string-1.0.5"
       sources."is-symbol-1.0.3"
-      sources."is-typed-array-1.1.4"
+      sources."is-typed-array-1.1.5"
       sources."is-weakmap-2.0.1"
       sources."is-weakset-2.0.1"
       sources."is-wsl-2.2.0"
       sources."isarray-1.0.0"
       sources."js-tokens-4.0.0"
-      (sources."jsii-1.17.1" // {
+      (sources."jsii-1.22.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."jsonfile-6.1.0"
@@ -66250,18 +67149,18 @@ in
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-pacmak-1.17.1" // {
+      (sources."jsii-pacmak-1.22.0" // {
         dependencies = [
           sources."camelcase-6.2.0"
-          sources."codemaker-1.17.1"
-          sources."decamelize-4.0.0"
+          sources."codemaker-1.22.0"
+          sources."decamelize-5.0.0"
           sources."fs-extra-9.1.0"
           sources."jsonfile-6.1.0"
           sources."universalify-2.0.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-reflect-1.17.1" // {
+      (sources."jsii-reflect-1.22.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."jsonfile-6.1.0"
@@ -66269,7 +67168,7 @@ in
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-rosetta-1.17.1" // {
+      (sources."jsii-rosetta-1.22.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."jsonfile-6.1.0"
@@ -66277,7 +67176,7 @@ in
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-srcmak-0.1.210" // {
+      (sources."jsii-srcmak-0.1.238" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."jsonfile-6.1.0"
@@ -66330,16 +67229,16 @@ in
       sources."normalize-path-3.0.0"
       sources."object-assign-4.1.1"
       sources."object-inspect-1.9.0"
-      sources."object-is-1.1.4"
+      sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
       sources."object.entries-1.1.3"
-      sources."object.fromentries-2.0.3"
-      sources."object.values-1.1.2"
+      sources."object.fromentries-2.0.4"
+      sources."object.values-1.1.3"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
-      sources."oo-ascii-tree-1.17.1"
-      sources."open-7.3.1"
+      sources."oo-ascii-tree-1.22.0"
+      sources."open-7.4.2"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-try-2.2.0"
@@ -66359,7 +67258,7 @@ in
       sources."regexp.prototype.flags-1.3.1"
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."restore-cursor-3.1.0"
       sources."rfdc-1.2.0"
       sources."safe-buffer-5.1.2"
@@ -66390,17 +67289,17 @@ in
           sources."strip-ansi-5.2.0"
         ];
       })
-      sources."string-width-4.2.0"
-      sources."string.prototype.matchall-4.0.3"
+      sources."string-width-4.2.2"
+      sources."string.prototype.matchall-4.0.4"
       sources."string.prototype.repeat-0.2.0"
-      sources."string.prototype.trimend-1.0.3"
-      sources."string.prototype.trimstart-1.0.3"
+      sources."string.prototype.trimend-1.0.4"
+      sources."string.prototype.trimstart-1.0.4"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-6.0.0"
       sources."supports-color-7.2.0"
       sources."tar-stream-2.2.0"
       sources."type-fest-0.11.0"
-      sources."typescript-3.9.7"
+      sources."typescript-3.9.9"
       sources."universalify-0.1.2"
       sources."util-deprecate-1.0.2"
       sources."uuid-8.3.2"
@@ -66422,7 +67321,7 @@ in
           sources."yargs-parser-18.1.3"
         ];
       })
-      sources."yargs-parser-20.2.4"
+      sources."yargs-parser-20.2.6"
       sources."yn-3.1.1"
       sources."yoga-layout-prebuilt-1.10.0"
       sources."zip-stream-4.0.4"
@@ -66440,16 +67339,16 @@ in
   clean-css-cli = nodeEnv.buildNodePackage {
     name = "clean-css-cli";
     packageName = "clean-css-cli";
-    version = "4.3.0";
+    version = "5.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-4.3.0.tgz";
-      sha512 = "8GHZfr+mG3zB/Lgqrr27qHBFsPSn0fyEI3f2rIZpxPxUbn2J6A8xyyeBRVTW8duDuXigN0s80vsXiXJOEFIO5Q==";
+      url = "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-5.2.0.tgz";
+      sha512 = "c7TQ+Lq8azYtThXtWlf0m9Iw66wBLQ0LPUJIEKHWTn8HB2tQlbqY6BMoKdgW4NJVZOYquwQrrRszTqH8NjHgTg==";
     };
     dependencies = [
       sources."balanced-match-1.0.0"
       sources."brace-expansion-1.1.11"
-      sources."clean-css-4.2.3"
-      sources."commander-2.20.3"
+      sources."clean-css-5.1.0"
+      sources."commander-7.1.0"
       sources."concat-map-0.0.1"
       sources."fs.realpath-1.0.0"
       sources."glob-7.1.6"
@@ -66500,6 +67399,7 @@ in
       sources."escape-string-regexp-1.0.5"
       sources."eyes-0.1.8"
       sources."fetch-everywhere-1.0.5"
+      sources."filter-obj-1.1.0"
       sources."fs.realpath-1.0.0"
       sources."glob-7.1.6"
       sources."has-flag-3.0.0"
@@ -66522,7 +67422,7 @@ in
       sources."path-is-absolute-1.0.1"
       sources."prompt-1.1.0"
       sources."punycode-2.1.1"
-      sources."query-string-6.13.8"
+      sources."query-string-6.14.1"
       sources."read-1.0.7"
       sources."revalidator-0.1.8"
       sources."rimraf-2.7.1"
@@ -66535,7 +67435,7 @@ in
       sources."universal-url-2.0.0"
       sources."utile-0.3.0"
       sources."webidl-conversions-4.0.2"
-      sources."whatwg-fetch-3.5.0"
+      sources."whatwg-fetch-3.6.2"
       sources."whatwg-url-7.1.0"
       (sources."winston-2.4.5" // {
         dependencies = [
@@ -66555,6 +67455,42 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  coc-clangd = nodeEnv.buildNodePackage {
+    name = "coc-clangd";
+    packageName = "coc-clangd";
+    version = "0.9.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/coc-clangd/-/coc-clangd-0.9.0.tgz";
+      sha512 = "QmYLkObs561ld4vqvivzgVpGGpjsx+d0+x2slqKPvB80juKfaZbfcBxttkcAa6giB6qKFU4njhyz4pP54JebZg==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "clangd extension for coc.nvim";
+      homepage = "https://github.com/clangd/coc-clangd#readme";
+      license = "Apache-2.0 WITH LLVM-exception";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  coc-cmake = nodeEnv.buildNodePackage {
+    name = "coc-cmake";
+    packageName = "coc-cmake";
+    version = "0.1.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/coc-cmake/-/coc-cmake-0.1.1.tgz";
+      sha512 = "1cWC11FqQG6qUNi08xIBgojxR/Q4P2dCbcvVAQup4moCXYpTwF1YdtRmdLNBY6mpSw/5U7A1Sh/8FffrxIgj7A==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "coc.nvim extension for cmake language";
+      homepage = "https://github.com/voldikss/coc-cmake#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   coc-css = nodeEnv.buildNodePackage {
     name = "coc-css";
     packageName = "coc-css";
@@ -66634,10 +67570,10 @@ in
   coc-git = nodeEnv.buildNodePackage {
     name = "coc-git";
     packageName = "coc-git";
-    version = "2.2.0";
+    version = "2.2.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-git/-/coc-git-2.2.0.tgz";
-      sha512 = "afm5SjyvQl21+4oGotX8mxjiwEBw8veRJun+sZQ5S4ZXMH6tQBZexE0Nyydcaoa5U0P1TBlI7Ywt+e/IZZxleA==";
+      url = "https://registry.npmjs.org/coc-git/-/coc-git-2.2.2.tgz";
+      sha512 = "XM0bJ/dzVatUh6/BOFI/DbfaD4cC9mF+MvVGEmYI+4Xx/wAafWfHrnnpVA7y1mrZ6qTPYtIOCrHW7uXL73dbsA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -66700,7 +67636,7 @@ in
       sha512 = "7SHQYzpRKPrpaLcTm1UUk1zu9VvFEJKFqxwDIuqv/CL0cBTtEvlsfpVh9DOaMHlZPu8U8Lgyf04bHV/sFS1zJw==";
     };
     dependencies = [
-      sources."typescript-4.1.3"
+      sources."typescript-4.2.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -66768,10 +67704,10 @@ in
   coc-json = nodeEnv.buildNodePackage {
     name = "coc-json";
     packageName = "coc-json";
-    version = "1.3.3";
+    version = "1.3.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-json/-/coc-json-1.3.3.tgz";
-      sha512 = "yMayIIMn/+JaSxHbAG2384sr1/1jvhDCuvRWXeWI+yLLVNCQ7pizGW8EeLC2bSkd01PORRWT4LBn7mNMs6dPRw==";
+      url = "https://registry.npmjs.org/coc-json/-/coc-json-1.3.4.tgz";
+      sha512 = "IK3JYMiJALMMhUlFgl4HxW2dvJdmUr86Hve+ngVATLpT2vWHG5V3sXjuHq7c7RlE7+oWS2CNoxIPf8oiuZesPQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -66803,10 +67739,10 @@ in
   coc-markdownlint = nodeEnv.buildNodePackage {
     name = "coc-markdownlint";
     packageName = "coc-markdownlint";
-    version = "1.10.1";
+    version = "1.11.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-markdownlint/-/coc-markdownlint-1.10.1.tgz";
-      sha512 = "nYuGmxppC3+16kN7128HxrzDWAPGrC5KdP4XQQHoKeOAApLTphF9rH/gfWjUale+Roq8YDe0rEJBLc3DUdIebg==";
+      url = "https://registry.npmjs.org/coc-markdownlint/-/coc-markdownlint-1.11.1.tgz";
+      sha512 = "9tUMyH60l/jD8ebENGZfqlfkLrdZvavEc9UhX9E1c7+rwH5oaiCODYYh8Ffz1FyV+ZYQS2StQO1zmgDrqZhV7g==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -66821,10 +67757,10 @@ in
   coc-metals = nodeEnv.buildNodePackage {
     name = "coc-metals";
     packageName = "coc-metals";
-    version = "1.0.1";
+    version = "1.0.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-metals/-/coc-metals-1.0.1.tgz";
-      sha512 = "1chc5qluoxF39fNKSoLNrPWrWsBQc+zHkXmleOka2HLYDQHmqgYqWZiPgJ03IqOoR3uJcS8sgdrCLyVdqWBwrg==";
+      url = "https://registry.npmjs.org/coc-metals/-/coc-metals-1.0.2.tgz";
+      sha512 = "oONqWYHICin0t9chOrx6dkL2pEBeaFwrfwaBPX9we0bNrhQ3XQNLNC/O+/x4ZSHzHQ0hucmmGOuCoQ9Q7wbdGg==";
     };
     dependencies = [
       sources."@chemzqm/neovim-5.2.13"
@@ -66870,8 +67806,8 @@ in
       sources."fast-diff-1.2.0"
       sources."fb-watchman-2.0.1"
       sources."flatted-2.0.2"
-      sources."follow-redirects-1.13.2"
-      sources."fp-ts-2.9.3"
+      sources."follow-redirects-1.13.3"
+      sources."fp-ts-2.9.5"
       sources."fs-extra-8.1.0"
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
@@ -66882,12 +67818,12 @@ in
         ];
       })
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."get-stream-4.1.0"
       sources."glob-7.1.6"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."has-1.0.3"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."http-proxy-agent-4.0.1"
       sources."https-proxy-agent-5.0.0"
       sources."ieee754-1.2.1"
@@ -66895,10 +67831,10 @@ in
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."int64-buffer-0.1.10"
-      sources."is-callable-1.2.2"
+      sources."is-callable-1.2.3"
       sources."is-date-object-1.0.2"
       sources."is-docker-2.1.1"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-stream-1.1.0"
       sources."is-symbol-1.0.3"
       sources."is-wsl-2.2.0"
@@ -66913,7 +67849,7 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."log4js-6.3.0"
       sources."lru-cache-6.0.0"
       sources."metals-languageclient-0.4.0"
@@ -66964,8 +67900,8 @@ in
           sources."date-format-2.1.0"
         ];
       })
-      sources."string.prototype.trimend-1.0.3"
-      sources."string.prototype.trimstart-1.0.3"
+      sources."string.prototype.trimend-1.0.4"
+      sources."string.prototype.trimstart-1.0.4"
       sources."string_decoder-1.1.1"
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
@@ -67001,10 +67937,10 @@ in
   coc-pairs = nodeEnv.buildNodePackage {
     name = "coc-pairs";
     packageName = "coc-pairs";
-    version = "1.2.22";
+    version = "1.2.23";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-pairs/-/coc-pairs-1.2.22.tgz";
-      sha512 = "AskNxINhyImxvFhlt0tvFJUS/Z4sUehgKPdy1jxVa+vu4CU903cNR6Dot4phrRRfgSCH3NT8SrYBhg4YvsxlkA==";
+      url = "https://registry.npmjs.org/coc-pairs/-/coc-pairs-1.2.23.tgz";
+      sha512 = "vV4rjZqtgHNTlXhHQyQ9cabwbwummPOtxyHYUJDZvfuAGKKTbFpvoC3iS6Qv1P7FTAaxuEpB72EME7+K1bdk7A==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -67019,15 +67955,15 @@ in
   coc-prettier = nodeEnv.buildNodePackage {
     name = "coc-prettier";
     packageName = "coc-prettier";
-    version = "1.1.20";
+    version = "1.1.21";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-prettier/-/coc-prettier-1.1.20.tgz";
-      sha512 = "3p4AwJnsjtLJM53wLsMtcVUzWPMnnYI6pkwQraHH6Tp7/ZuXwIVhjUvDgMcAvhmIkVePyvJF5xZHN4ghLLP02A==";
+      url = "https://registry.npmjs.org/coc-prettier/-/coc-prettier-1.1.21.tgz";
+      sha512 = "KgGvNm7vnJTUfOx7V4PDEoDJRHUMrUqkqdJy/YPk6AaW/fYhm32RGGiwDfcC3WtMv6Xo+d/zCxq5QYj8Pt0q2w==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
+      sources."@babel/code-frame-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      sources."@babel/highlight-7.10.4"
+      sources."@babel/highlight-7.13.8"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
       sources."@types/eslint-visitor-keys-1.0.0"
@@ -67099,7 +68035,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-2.1.1"
       sources."camelcase-keys-2.1.0"
-      sources."caniuse-lite-1.0.30001180"
+      sources."caniuse-lite-1.0.30001192"
       sources."capture-stack-trace-1.0.1"
       sources."ccount-1.1.0"
       sources."chalk-2.4.2"
@@ -67156,7 +68092,7 @@ in
         ];
       })
       sources."copy-descriptor-0.1.1"
-      sources."core-js-3.8.3"
+      sources."core-js-3.9.1"
       sources."cosmiconfig-3.1.0"
       sources."create-error-class-3.0.2"
       (sources."cross-spawn-6.0.5" // {
@@ -67196,7 +68132,7 @@ in
       sources."domutils-1.7.0"
       sources."dot-prop-5.3.0"
       sources."duplexer3-0.1.4"
-      sources."electron-to-chromium-1.3.645"
+      sources."electron-to-chromium-1.3.675"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."entities-1.1.2"
@@ -67213,7 +68149,7 @@ in
       sources."eslint-visitor-keys-1.3.0"
       sources."espree-6.2.1"
       sources."esprima-4.0.1"
-      (sources."esquery-1.3.1" // {
+      (sources."esquery-1.4.0" // {
         dependencies = [
           sources."estraverse-5.2.0"
         ];
@@ -67345,7 +68281,7 @@ in
       sources."globjoin-0.1.4"
       sources."gonzales-pe-4.3.0"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."has-1.0.3"
       (sources."has-ansi-2.0.0" // {
         dependencies = [
@@ -67469,7 +68405,7 @@ in
         ];
       })
       sources."locate-path-2.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.merge-4.6.2"
       sources."log-symbols-2.2.0"
       sources."loglevel-1.7.1"
@@ -67705,7 +68641,7 @@ in
       sources."require-from-string-2.0.2"
       sources."require-main-filename-1.0.1"
       sources."require-relative-0.8.7"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       (sources."resolve-cwd-2.0.0" // {
         dependencies = [
           sources."resolve-from-3.0.0"
@@ -67717,7 +68653,7 @@ in
       sources."ret-0.1.15"
       sources."rimraf-2.6.3"
       sources."run-async-2.4.1"
-      sources."rxjs-6.6.3"
+      sources."rxjs-6.6.6"
       sources."safe-buffer-5.2.1"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
@@ -67772,7 +68708,7 @@ in
       sources."snapdragon-util-3.0.1"
       sources."source-map-0.6.1"
       sources."source-map-resolve-0.5.3"
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
@@ -67798,7 +68734,7 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      (sources."string-width-4.2.0" // {
+      (sources."string-width-4.2.2" // {
         dependencies = [
           sources."strip-ansi-6.0.0"
         ];
@@ -67888,7 +68824,7 @@ in
       sources."tsutils-3.20.0"
       sources."type-check-0.3.2"
       sources."type-fest-0.8.1"
-      sources."typescript-3.9.7"
+      sources."typescript-3.9.9"
       sources."unherit-1.1.3"
       sources."unified-6.2.0"
       sources."union-value-1.0.1"
@@ -67975,6 +68911,27 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  coc-pyright = nodeEnv.buildNodePackage {
+    name = "coc-pyright";
+    packageName = "coc-pyright";
+    version = "1.1.116";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.116.tgz";
+      sha512 = "KI+f2ZI5xYRrbRjejstDfQlY0U5zaEKhQT16SXywzoS49MPsP++yEw0Om6155JopMrKNE2Qo60P0awInopzSAg==";
+    };
+    dependencies = [
+      sources."pyright-1.1.116"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Pyright extension for coc.nvim";
+      homepage = "https://github.com/fannheyward/coc-pyright#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   coc-python = nodeEnv.buildNodePackage {
     name = "coc-python";
     packageName = "coc-python";
@@ -68037,10 +68994,10 @@ in
   coc-rust-analyzer = nodeEnv.buildNodePackage {
     name = "coc-rust-analyzer";
     packageName = "coc-rust-analyzer";
-    version = "0.30.0";
+    version = "0.35.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-rust-analyzer/-/coc-rust-analyzer-0.30.0.tgz";
-      sha512 = "oK/xqvv/dAkUwWm1m5zRz+VGFqdufK2PHnesT9mro41kJmw2wqKdUK+wxVJpVuxUx4MAjtiNVc9F98CG8DtpAw==";
+      url = "https://registry.npmjs.org/coc-rust-analyzer/-/coc-rust-analyzer-0.35.0.tgz";
+      sha512 = "iivHZAR6Xec7Tc0sSzEbJaJgnUrLGgb5pVisJgWoHlPDe/KsxYM9JRlKmBqqmcYs9Bmu2vc8j+3Af7ODwW8+2A==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -68073,10 +69030,10 @@ in
   coc-snippets = nodeEnv.buildNodePackage {
     name = "coc-snippets";
     packageName = "coc-snippets";
-    version = "2.4.0";
+    version = "2.4.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-snippets/-/coc-snippets-2.4.0.tgz";
-      sha512 = "XjL23iRnKCxeh/qG6FN1SJQQRHLunlxs6UlJua35A42tjztC6ZZYwuE4W9W8oU53iqGrSYrIrkT1+WFznBr/0g==";
+      url = "https://registry.npmjs.org/coc-snippets/-/coc-snippets-2.4.1.tgz";
+      sha512 = "+81jc8T250Ipl50MMypedTqHvAAGPu/COg9wEUsBzEOHmA0r4ouvRhzjAOWt7G6L2dHdB4KJl8AWfiVZhc5dRA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -68113,29 +69070,32 @@ in
       sha512 = "+GYR6KTvHQnqu0j1kXT30hRZMuCwG/G52wG/19LSPE+p9Q0i8XFH6582T0btTu39xz2TPsDOGjT1VgyRw2urug==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
-      sources."@babel/core-7.12.10"
-      sources."@babel/generator-7.12.11"
-      sources."@babel/helper-function-name-7.12.11"
-      sources."@babel/helper-get-function-arity-7.12.10"
-      sources."@babel/helper-member-expression-to-functions-7.12.7"
-      sources."@babel/helper-module-imports-7.12.5"
-      sources."@babel/helper-module-transforms-7.12.1"
-      sources."@babel/helper-optimise-call-expression-7.12.10"
-      sources."@babel/helper-replace-supers-7.12.11"
-      sources."@babel/helper-simple-access-7.12.1"
-      sources."@babel/helper-split-export-declaration-7.12.11"
+      sources."@babel/code-frame-7.12.13"
+      sources."@babel/compat-data-7.13.8"
+      sources."@babel/core-7.13.8"
+      sources."@babel/generator-7.13.0"
+      sources."@babel/helper-compilation-targets-7.13.8"
+      sources."@babel/helper-function-name-7.12.13"
+      sources."@babel/helper-get-function-arity-7.12.13"
+      sources."@babel/helper-member-expression-to-functions-7.13.0"
+      sources."@babel/helper-module-imports-7.12.13"
+      sources."@babel/helper-module-transforms-7.13.0"
+      sources."@babel/helper-optimise-call-expression-7.12.13"
+      sources."@babel/helper-replace-supers-7.13.0"
+      sources."@babel/helper-simple-access-7.12.13"
+      sources."@babel/helper-split-export-declaration-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      sources."@babel/helpers-7.12.5"
-      (sources."@babel/highlight-7.10.4" // {
+      sources."@babel/helper-validator-option-7.12.17"
+      sources."@babel/helpers-7.13.0"
+      (sources."@babel/highlight-7.13.8" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.12.11"
-      sources."@babel/template-7.12.7"
-      sources."@babel/traverse-7.12.12"
-      sources."@babel/types-7.12.12"
+      sources."@babel/parser-7.13.4"
+      sources."@babel/template-7.12.13"
+      sources."@babel/traverse-7.13.0"
+      sources."@babel/types-7.13.0"
       sources."@nodelib/fs.scandir-2.1.4"
       sources."@nodelib/fs.stat-2.0.4"
       sources."@nodelib/fs.walk-1.2.6"
@@ -68146,7 +69106,7 @@ in
       sources."@types/normalize-package-data-2.4.0"
       sources."@types/parse-json-4.0.0"
       sources."@types/unist-2.0.3"
-      sources."ajv-7.0.3"
+      sources."ajv-7.1.1"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-3.2.1"
       sources."array-union-2.1.0"
@@ -68157,11 +69117,11 @@ in
       sources."balanced-match-1.0.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."browserslist-4.16.1"
+      sources."browserslist-4.16.3"
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001180"
+      sources."caniuse-lite-1.0.30001192"
       (sources."chalk-4.1.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -68177,7 +69137,7 @@ in
       sources."clone-regexp-2.2.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.1"
+      sources."colorette-1.2.2"
       sources."concat-map-0.0.1"
       sources."convert-source-map-1.7.0"
       sources."cosmiconfig-7.0.0"
@@ -68199,7 +69159,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.7.0"
-      sources."electron-to-chromium-1.3.645"
+      sources."electron-to-chromium-1.3.675"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -68211,8 +69171,8 @@ in
       sources."fast-diff-1.2.0"
       sources."fast-glob-3.2.5"
       sources."fastest-levenshtein-1.0.12"
-      sources."fastq-1.10.0"
-      sources."file-entry-cache-6.0.0"
+      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"
@@ -68232,7 +69192,7 @@ in
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."hosted-git-info-3.0.7"
+      sources."hosted-git-info-3.0.8"
       sources."html-tags-3.1.0"
       sources."htmlparser2-3.10.1"
       sources."ignore-5.1.8"
@@ -68267,23 +69227,23 @@ in
       sources."jsesc-2.5.2"
       sources."json-parse-even-better-errors-2.3.1"
       sources."json-schema-traverse-1.0.0"
-      sources."json5-2.1.3"
+      sources."json5-2.2.0"
       sources."kind-of-6.0.3"
-      sources."known-css-properties-0.20.0"
+      sources."known-css-properties-0.21.0"
       sources."lines-and-columns-1.1.6"
       sources."locate-path-5.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."log-symbols-4.0.0"
       sources."longest-streak-2.0.4"
       sources."lru-cache-6.0.0"
       sources."map-obj-4.1.0"
       sources."mathml-tag-names-2.1.3"
-      sources."mdast-util-from-markdown-0.8.4"
-      sources."mdast-util-to-markdown-0.6.2"
+      sources."mdast-util-from-markdown-0.8.5"
+      sources."mdast-util-to-markdown-0.6.5"
       sources."mdast-util-to-string-2.0.0"
       sources."meow-9.0.0"
       sources."merge2-1.4.1"
-      sources."micromark-2.11.2"
+      sources."micromark-2.11.4"
       sources."micromatch-4.0.2"
       sources."min-indent-1.0.1"
       sources."minimatch-3.0.4"
@@ -68294,7 +69254,7 @@ in
         ];
       })
       sources."ms-2.1.2"
-      sources."node-releases-1.1.70"
+      sources."node-releases-1.1.71"
       (sources."normalize-package-data-3.0.0" // {
         dependencies = [
           sources."semver-7.3.4"
@@ -68338,11 +69298,13 @@ in
       sources."postcss-syntax-0.36.2"
       sources."postcss-value-parser-4.1.0"
       sources."punycode-2.1.1"
+      sources."queue-microtask-1.2.2"
       sources."quick-lru-4.0.1"
       (sources."read-pkg-5.2.0" // {
         dependencies = [
           sources."hosted-git-info-2.8.8"
           sources."normalize-package-data-2.5.0"
+          sources."semver-5.7.1"
           sources."type-fest-0.6.0"
         ];
       })
@@ -68358,13 +69320,13 @@ in
       sources."remark-stringify-9.0.1"
       sources."repeat-string-1.6.1"
       sources."require-from-string-2.0.2"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."resolve-from-5.0.0"
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
-      sources."run-parallel-1.1.10"
+      sources."run-parallel-1.2.0"
       sources."safe-buffer-5.1.2"
-      sources."semver-5.7.1"
+      sources."semver-6.3.0"
       sources."signal-exit-3.0.3"
       sources."slash-3.0.0"
       (sources."slice-ansi-4.0.0" // {
@@ -68380,7 +69342,7 @@ in
       sources."spdx-expression-parse-3.0.1"
       sources."spdx-license-ids-3.0.7"
       sources."specificity-0.4.1"
-      sources."string-width-4.2.0"
+      sources."string-width-4.2.2"
       (sources."string_decoder-1.3.0" // {
         dependencies = [
           sources."safe-buffer-5.2.1"
@@ -68389,7 +69351,7 @@ in
       sources."strip-ansi-6.0.0"
       sources."strip-indent-3.0.0"
       sources."style-search-0.1.0"
-      sources."stylelint-13.9.0"
+      sources."stylelint-13.11.0"
       sources."sugarss-2.0.0"
       sources."supports-color-5.5.0"
       sources."svg-tags-1.0.0"
@@ -68400,7 +69362,7 @@ in
       sources."trough-1.0.5"
       sources."type-fest-0.18.1"
       sources."typedarray-to-buffer-3.1.5"
-      sources."unified-9.2.0"
+      sources."unified-9.2.1"
       sources."uniq-1.0.1"
       sources."unist-util-find-all-after-3.0.2"
       sources."unist-util-is-4.0.4"
@@ -68426,7 +69388,7 @@ in
       sources."write-file-atomic-3.0.3"
       sources."yallist-4.0.0"
       sources."yaml-1.10.0"
-      sources."yargs-parser-20.2.4"
+      sources."yargs-parser-20.2.6"
       sources."zwitch-1.0.5"
     ];
     buildInputs = globalBuildInputs;
@@ -68455,6 +69417,24 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  coc-texlab = nodeEnv.buildNodePackage {
+    name = "coc-texlab";
+    packageName = "coc-texlab";
+    version = "2.3.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/coc-texlab/-/coc-texlab-2.3.0.tgz";
+      sha512 = "1Nph3BgqAbANW1LWa49kscQdt8i55fB304YohKvA2y78DlvxIfG0J7UnbIz+R1HQX0TpvwWdD/wzFP6ll68l8w==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "TexLab extension for coc.nvim";
+      homepage = "https://github.com/fannheyward/coc-texlab#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   coc-tslint = nodeEnv.buildNodePackage {
     name = "coc-tslint";
     packageName = "coc-tslint";
@@ -68464,9 +69444,9 @@ in
       sha512 = "5Zxv2Adtb6Mlpv2YdKErhf8ntxiBl1UyrbEqo7gR9nFIAfi3o0Ue6TJTpZfOhQViFQxLjJAS65IQVRaNlbhkxw==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
+      sources."@babel/code-frame-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      sources."@babel/highlight-7.10.4"
+      sources."@babel/highlight-7.13.8"
       sources."ansi-styles-3.2.1"
       sources."argparse-1.0.10"
       sources."balanced-match-1.0.0"
@@ -68496,14 +69476,14 @@ in
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.6"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."semver-5.7.1"
       sources."sprintf-js-1.0.3"
       sources."supports-color-5.5.0"
       sources."tslib-1.14.1"
       sources."tslint-5.20.1"
       sources."tsutils-2.29.0"
-      sources."typescript-3.9.7"
+      sources."typescript-3.9.9"
       sources."wrappy-1.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -68519,10 +69499,10 @@ in
   coc-tslint-plugin = nodeEnv.buildNodePackage {
     name = "coc-tslint-plugin";
     packageName = "coc-tslint-plugin";
-    version = "1.1.2";
+    version = "1.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-tslint-plugin/-/coc-tslint-plugin-1.1.2.tgz";
-      sha512 = "wLm2JJVkf2yUk3XzMSmAs8pnibQRTroHnF3XkIH7DJ5mrcrZe9o0Od2lYyuNxgJn2v6/Iw221o8/LfoamfywdQ==";
+      url = "https://registry.npmjs.org/coc-tslint-plugin/-/coc-tslint-plugin-1.2.0.tgz";
+      sha512 = "WEl0FM8ui0Oip6YqyOYApf8vErXFudj2ftjSYqm5WNLNuPq53JSNi+5w+WNqHwX2UWE8MOB2mQszqwU2fyE8Ag==";
     };
     dependencies = [
       sources."balanced-match-1.0.0"
@@ -68552,13 +69532,13 @@ in
   coc-tsserver = nodeEnv.buildNodePackage {
     name = "coc-tsserver";
     packageName = "coc-tsserver";
-    version = "1.6.7";
+    version = "1.6.8";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-tsserver/-/coc-tsserver-1.6.7.tgz";
-      sha512 = "NVBl6AEbEax6GQdBlBy/SelJ5TXCkrnLN/dDqgDWwhIPX6UBFhFTFCLcqcHbfMjLM/MDvP/t85w+OYBGe2gXxg==";
+      url = "https://registry.npmjs.org/coc-tsserver/-/coc-tsserver-1.6.8.tgz";
+      sha512 = "No0Eio7RJDawPS2fuWyJgnbDRN9ivtxf085o4jOuSOrwFeId88Se1ngPoT7whVAOkAiW75KgqFyuLDlr9XH+9w==";
     };
     dependencies = [
-      sources."typescript-4.1.3"
+      sources."typescript-4.2.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -68581,12 +69561,12 @@ in
     dependencies = [
       sources."@babel/code-frame-7.12.11"
       sources."@babel/helper-validator-identifier-7.12.11"
-      (sources."@babel/highlight-7.10.4" // {
+      (sources."@babel/highlight-7.13.8" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@eslint/eslintrc-0.3.0"
+      sources."@eslint/eslintrc-0.4.0"
       sources."acorn-7.4.1"
       sources."acorn-jsx-5.3.1"
       sources."ajv-6.12.6"
@@ -68620,8 +69600,8 @@ in
       sources."emoji-regex-8.0.0"
       sources."enquirer-2.3.6"
       sources."escape-string-regexp-1.0.5"
-      sources."eslint-7.18.0"
-      sources."eslint-plugin-vue-7.5.0"
+      sources."eslint-7.21.0"
+      sources."eslint-plugin-vue-7.6.0"
       sources."eslint-scope-5.1.1"
       (sources."eslint-utils-2.1.0" // {
         dependencies = [
@@ -68635,7 +69615,7 @@ in
         ];
       })
       sources."esprima-4.0.1"
-      (sources."esquery-1.3.1" // {
+      (sources."esquery-1.4.0" // {
         dependencies = [
           sources."estraverse-5.2.0"
         ];
@@ -68650,7 +69630,7 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
-      sources."file-entry-cache-6.0.0"
+      sources."file-entry-cache-6.0.1"
       sources."flat-cache-3.0.4"
       sources."flatted-3.1.1"
       sources."fs.realpath-1.0.0"
@@ -68676,7 +69656,7 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."levn-0.4.1"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lru-cache-6.0.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
@@ -68695,7 +69675,7 @@ in
       sources."punycode-2.1.1"
       sources."regexpp-3.1.0"
       sources."require-from-string-2.0.2"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."resolve-from-4.0.0"
       sources."rimraf-3.0.2"
       sources."semver-7.3.4"
@@ -68709,13 +69689,13 @@ in
         ];
       })
       sources."sprintf-js-1.0.3"
-      sources."string-width-4.2.0"
+      sources."string-width-4.2.2"
       sources."strip-ansi-6.0.0"
       sources."strip-json-comments-3.1.1"
       sources."supports-color-5.5.0"
       (sources."table-6.0.7" // {
         dependencies = [
-          sources."ajv-7.0.3"
+          sources."ajv-7.1.1"
           sources."json-schema-traverse-1.0.0"
         ];
       })
@@ -68730,11 +69710,11 @@ in
       sources."tsutils-2.29.0"
       sources."type-check-0.4.0"
       sources."type-fest-0.8.1"
-      sources."typescript-4.1.3"
+      sources."typescript-4.2.2"
       sources."uri-js-4.4.1"
       sources."v8-compile-cache-2.2.0"
       sources."vls-0.5.10"
-      (sources."vue-eslint-parser-7.4.1" // {
+      (sources."vue-eslint-parser-7.5.0" // {
         dependencies = [
           sources."eslint-visitor-keys-1.3.0"
           sources."espree-6.2.1"
@@ -68810,10 +69790,10 @@ in
   coc-yaml = nodeEnv.buildNodePackage {
     name = "coc-yaml";
     packageName = "coc-yaml";
-    version = "1.3.0";
+    version = "1.3.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-yaml/-/coc-yaml-1.3.0.tgz";
-      sha512 = "i71kwyF20R+vAHhuF9uBbvs6kkvKuSifMkxTeIbBnLobHE500rSSwUD2SPIvt+I1g1rfHrM0Sj89fzrhDA60NQ==";
+      url = "https://registry.npmjs.org/coc-yaml/-/coc-yaml-1.3.1.tgz";
+      sha512 = "OJeA16cZ7ds4QsyPP9Vmztca4DDpcz7odPN5O75+jb5nmTD5UgYWQE71sY10vIIqdI+dKYdWw+iausu90cuZHA==";
     };
     dependencies = [
       sources."agent-base-4.3.0"
@@ -68825,16 +69805,18 @@ in
       sources."http-proxy-agent-2.1.0"
       sources."https-proxy-agent-2.2.4"
       sources."js-yaml-3.14.1"
-      sources."jsonc-parser-3.0.0"
+      sources."jsonc-parser-2.3.1"
       sources."ms-2.0.0"
       sources."prettier-2.0.5"
-      (sources."request-light-0.2.5" // {
+      sources."request-light-0.2.5"
+      sources."sprintf-js-1.0.3"
+      (sources."vscode-json-languageservice-3.11.0" // {
         dependencies = [
-          sources."vscode-nls-4.1.2"
+          sources."jsonc-parser-3.0.0"
+          sources."vscode-languageserver-types-3.16.0-next.2"
+          sources."vscode-nls-5.0.0"
         ];
       })
-      sources."sprintf-js-1.0.3"
-      sources."vscode-json-languageservice-3.11.0"
       sources."vscode-jsonrpc-4.0.0"
       (sources."vscode-languageserver-5.2.1" // {
         dependencies = [
@@ -68847,16 +69829,10 @@ in
         ];
       })
       sources."vscode-languageserver-textdocument-1.0.1"
-      sources."vscode-languageserver-types-3.16.0-next.2"
-      sources."vscode-nls-5.0.0"
+      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-nls-4.1.2"
       sources."vscode-uri-2.1.2"
-      (sources."yaml-language-server-0.13.1-dcc82a9.0" // {
-        dependencies = [
-          sources."jsonc-parser-2.3.1"
-          sources."vscode-languageserver-types-3.16.0"
-          sources."vscode-nls-4.1.2"
-        ];
-      })
+      sources."yaml-language-server-0.13.1-d0f9b44.0"
       sources."yaml-language-server-parser-0.1.3-fa8245c.0"
     ];
     buildInputs = globalBuildInputs;
@@ -68897,7 +69873,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Unfancy JavaScript";
-      homepage = http://coffeescript.org/;
+      homepage = "http://coffeescript.org";
       license = "MIT";
     };
     production = true;
@@ -68907,15 +69883,15 @@ in
   coinmon = nodeEnv.buildNodePackage {
     name = "coinmon";
     packageName = "coinmon";
-    version = "0.0.24";
+    version = "0.0.28";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coinmon/-/coinmon-0.0.24.tgz";
-      sha512 = "pb/zklwkyZrdxQB1zm6n46h+NrHPW+L0H8Q9ikp8v31AELgaZlU7c/0ArwF6sACdMDmurfGP2lOKsENnv7xN3g==";
+      url = "https://registry.npmjs.org/coinmon/-/coinmon-0.0.28.tgz";
+      sha512 = "jARqwj0uyTfbcsTr3IDoaGI6ZXUV8e8qVjw+LaRBujvjgsiWypJweze5IZy0/sjNEKlptwB7GDjmuphtBzngFA==";
     };
     dependencies = [
       sources."ansi-regex-3.0.0"
       sources."ansi-styles-3.2.1"
-      sources."axios-0.19.2"
+      sources."axios-0.21.1"
       sources."chalk-2.4.2"
       sources."cli-cursor-2.1.0"
       sources."cli-spinners-1.3.1"
@@ -68924,14 +69900,12 @@ in
       sources."color-name-1.1.3"
       sources."colors-1.4.0"
       sources."commander-2.20.3"
-      sources."debug-3.1.0"
       sources."escape-string-regexp-1.0.5"
-      sources."follow-redirects-1.5.10"
+      sources."follow-redirects-1.13.3"
       sources."has-flag-3.0.0"
       sources."is-fullwidth-code-point-2.0.0"
       sources."log-symbols-2.2.0"
       sources."mimic-fn-1.2.0"
-      sources."ms-2.0.0"
       sources."object-assign-4.1.1"
       sources."onetime-2.0.1"
       sources."ora-1.4.0"
@@ -68954,10 +69928,10 @@ in
   configurable-http-proxy = nodeEnv.buildNodePackage {
     name = "configurable-http-proxy";
     packageName = "configurable-http-proxy";
-    version = "4.2.2";
+    version = "4.2.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/configurable-http-proxy/-/configurable-http-proxy-4.2.2.tgz";
-      sha512 = "sG/P4fxVzz7lTzKjIg1MmnNF5ChW1+zk/LpLxdNgCHlgAMlQTAC12UqBtkFrczGQ6SapsvB3x4VbKLjdrcrjhA==";
+      url = "https://registry.npmjs.org/configurable-http-proxy/-/configurable-http-proxy-4.2.3.tgz";
+      sha512 = "mwQ6sY7tS7sVN4WKD17MA7QGju9Fs1n3f0ZJ3G67WAoOvBCMzXIMxFLch7LQZyLnPVZnuCa90AOvkuD6YQE+Yw==";
     };
     dependencies = [
       sources."@dabh/diagnostics-2.0.2"
@@ -68968,14 +69942,14 @@ in
       sources."color-string-1.5.4"
       sources."colors-1.4.0"
       sources."colorspace-1.1.2"
-      sources."commander-6.1.0"
+      sources."commander-6.2.1"
       sources."core-util-is-1.0.2"
       sources."enabled-2.0.0"
       sources."eventemitter3-4.0.7"
       sources."fast-safe-stringify-2.0.7"
       sources."fecha-4.2.0"
       sources."fn.name-1.1.0"
-      sources."follow-redirects-1.13.2"
+      sources."follow-redirects-1.13.3"
       sources."http-proxy-1.18.1"
       sources."inherits-2.0.4"
       sources."is-arrayish-0.3.2"
@@ -69031,20 +70005,36 @@ in
       sources."@nodelib/fs.scandir-2.1.4"
       sources."@nodelib/fs.stat-2.0.4"
       sources."@nodelib/fs.walk-1.2.6"
+      sources."@npmcli/ci-detect-1.3.0"
+      sources."@npmcli/git-2.0.6"
+      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.3"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
+      sources."@tootallnate/once-1.1.2"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.7"
+      sources."agent-base-6.0.2"
+      sources."agentkeepalive-4.1.4"
+      sources."aggregate-error-3.1.0"
       sources."ajv-6.12.6"
       sources."ansi-0.3.1"
       (sources."ansi-align-3.0.0" // {
         dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."is-fullwidth-code-point-2.0.0"
           sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
         ];
       })
       sources."ansi-escapes-3.2.0"
-      sources."ansi-regex-3.0.0"
+      sources."ansi-regex-2.1.1"
       sources."ansi-styles-4.3.0"
+      sources."aproba-1.2.0"
+      sources."are-we-there-yet-1.1.5"
       sources."array-find-index-1.0.2"
       sources."array-flatten-1.1.1"
       sources."array-union-2.1.0"
@@ -69062,6 +70052,10 @@ in
       (sources."body-parser-1.19.0" // {
         dependencies = [
           sources."bytes-3.1.0"
+          sources."debug-2.6.9"
+          sources."iconv-lite-0.4.24"
+          sources."ms-2.0.0"
+          sources."qs-6.7.0"
         ];
       })
       (sources."boxen-4.2.0" // {
@@ -69069,7 +70063,7 @@ in
           sources."ansi-regex-5.0.0"
           sources."emoji-regex-8.0.0"
           sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.0"
+          sources."string-width-4.2.2"
           sources."strip-ansi-6.0.0"
         ];
       })
@@ -69078,6 +70072,7 @@ in
       sources."braces-3.0.2"
       sources."builtins-1.0.3"
       sources."bytes-3.0.0"
+      sources."cacache-15.0.5"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
           sources."lowercase-keys-2.0.0"
@@ -69088,20 +70083,29 @@ in
       sources."caseless-0.12.0"
       sources."chalk-3.0.0"
       sources."chardet-0.7.0"
+      sources."chownr-2.0.0"
       sources."ci-info-2.0.0"
+      sources."clean-stack-2.2.0"
       sources."cli-boxes-2.2.1"
       sources."cli-cursor-2.1.0"
       sources."cli-width-2.2.1"
       sources."clone-response-1.0.2"
+      sources."code-point-at-1.1.0"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."combined-stream-1.0.8"
       sources."compressible-2.0.18"
-      sources."compression-1.7.4"
+      (sources."compression-1.7.4" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."ms-2.0.0"
+        ];
+      })
       sources."concat-map-0.0.1"
       (sources."conf-1.4.0" // {
         dependencies = [
           sources."dot-prop-4.2.1"
+          sources."env-paths-1.0.0"
           sources."is-obj-1.0.1"
           sources."make-dir-1.3.0"
           sources."pify-3.0.0"
@@ -69109,6 +70113,7 @@ in
         ];
       })
       sources."configstore-5.0.1"
+      sources."console-control-strings-1.1.0"
       sources."content-disposition-0.5.3"
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
@@ -69116,7 +70121,7 @@ in
       sources."cordova-app-hello-world-5.0.0"
       sources."cordova-common-4.0.2"
       sources."cordova-create-3.0.0"
-      (sources."cordova-fetch-3.0.0" // {
+      (sources."cordova-fetch-3.0.1" // {
         dependencies = [
           sources."pify-5.0.0"
         ];
@@ -69132,12 +70137,13 @@ in
       sources."crypto-random-string-2.0.0"
       sources."currently-unhandled-0.4.1"
       sources."dashdash-1.14.1"
-      sources."debug-2.6.9"
+      sources."debug-4.3.2"
       sources."decompress-response-3.3.0"
       sources."dedent-0.7.0"
       sources."deep-extend-0.6.0"
       sources."defer-to-connect-1.1.3"
       sources."delayed-stream-1.0.0"
+      sources."delegates-1.0.0"
       (sources."dep-graph-1.1.0" // {
         dependencies = [
           sources."underscore-1.2.1"
@@ -69156,18 +70162,27 @@ in
       sources."elementtree-0.1.7"
       sources."emoji-regex-7.0.3"
       sources."encodeurl-1.0.2"
+      sources."encoding-0.1.13"
       sources."end-of-stream-1.4.4"
       sources."endent-1.4.1"
-      sources."env-paths-1.0.0"
+      sources."env-paths-2.2.0"
+      sources."err-code-2.0.3"
       sources."escape-goat-2.1.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."etag-1.8.1"
       sources."execa-4.1.0"
-      sources."express-4.17.1"
+      (sources."express-4.17.1" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."ms-2.0.0"
+          sources."qs-6.7.0"
+        ];
+      })
       sources."extend-3.0.2"
       (sources."external-editor-3.1.0" // {
         dependencies = [
+          sources."iconv-lite-0.4.24"
           sources."tmp-0.0.33"
         ];
       })
@@ -69176,18 +70191,25 @@ in
       sources."fast-glob-3.2.5"
       sources."fast-json-parse-1.0.3"
       sources."fast-json-stable-stringify-2.1.0"
-      sources."fastq-1.10.0"
+      sources."fastq-1.11.0"
       sources."figures-2.0.0"
       sources."fill-range-7.0.1"
-      sources."finalhandler-1.1.2"
+      (sources."finalhandler-1.1.2" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."ms-2.0.0"
+        ];
+      })
       sources."find-up-2.1.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."forwarded-0.1.2"
       sources."fresh-0.5.2"
       sources."fs-extra-9.1.0"
+      sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
+      sources."gauge-2.7.4"
       sources."get-stream-5.2.0"
       sources."getpass-0.1.7"
       sources."glob-7.1.6"
@@ -69199,26 +70221,33 @@ in
           sources."get-stream-4.1.0"
         ];
       })
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
+      sources."has-unicode-2.0.1"
       sources."has-yarn-2.1.0"
-      sources."hosted-git-info-3.0.7"
+      sources."hosted-git-info-3.0.8"
       sources."http-cache-semantics-4.1.0"
       (sources."http-errors-1.7.2" // {
         dependencies = [
           sources."inherits-2.0.3"
         ];
       })
+      sources."http-proxy-agent-4.0.1"
       sources."http-signature-1.2.0"
+      sources."https-proxy-agent-5.0.0"
       sources."human-signals-1.1.1"
-      sources."iconv-lite-0.4.24"
+      sources."humanize-ms-1.2.1"
+      sources."iconv-lite-0.6.2"
       sources."ignore-5.1.8"
+      sources."ignore-walk-3.0.3"
       sources."import-fresh-3.3.0"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
+      sources."indent-string-4.0.0"
+      sources."infer-owner-1.0.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.7"
@@ -69231,12 +70260,24 @@ in
       })
       (sources."inquirer-6.5.2" // {
         dependencies = [
+          sources."ansi-regex-3.0.0"
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
           sources."color-convert-1.9.3"
           sources."color-name-1.1.3"
           sources."has-flag-3.0.0"
+          sources."is-fullwidth-code-point-2.0.0"
           sources."mute-stream-0.0.7"
+          (sources."string-width-2.1.1" // {
+            dependencies = [
+              sources."strip-ansi-4.0.0"
+            ];
+          })
+          (sources."strip-ansi-5.2.0" // {
+            dependencies = [
+              sources."ansi-regex-4.1.0"
+            ];
+          })
           sources."supports-color-5.5.0"
         ];
       })
@@ -69248,17 +70289,20 @@ in
           sources."color-name-1.1.3"
           sources."has-flag-3.0.0"
           sources."supports-color-5.5.0"
+          sources."tough-cookie-3.0.1"
         ];
       })
+      sources."ip-1.1.5"
       sources."ip-regex-2.1.0"
       sources."ipaddr.js-1.9.1"
       sources."is-ci-2.0.0"
       sources."is-core-module-2.2.0"
       sources."is-docker-2.1.1"
       sources."is-extglob-2.1.1"
-      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-fullwidth-code-point-1.0.0"
       sources."is-glob-4.0.1"
       sources."is-installed-globally-0.3.2"
+      sources."is-lambda-1.0.1"
       sources."is-npm-4.0.0"
       sources."is-number-7.0.0"
       sources."is-obj-2.0.0"
@@ -69267,6 +70311,7 @@ in
       sources."is-typedarray-1.0.0"
       sources."is-wsl-2.2.0"
       sources."is-yarn-global-0.3.0"
+      sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."isobject-4.0.0"
       sources."isstream-0.1.2"
@@ -69277,6 +70322,7 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-6.1.0"
+      sources."jsonparse-1.3.1"
       (sources."jsprim-1.4.1" // {
         dependencies = [
           sources."extsprintf-1.3.0"
@@ -69285,7 +70331,7 @@ in
       sources."keyv-3.1.0"
       sources."latest-version-5.1.0"
       sources."locate-path-2.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.debounce-4.0.8"
       sources."loud-rejection-2.2.0"
       sources."lowercase-keys-1.0.1"
@@ -69296,6 +70342,7 @@ in
           sources."semver-6.3.0"
         ];
       })
+      sources."make-fetch-happen-8.0.14"
       sources."md5-file-5.0.0"
       sources."media-typer-0.3.0"
       sources."merge-descriptors-1.0.1"
@@ -69304,16 +70351,30 @@ in
       sources."methods-1.1.2"
       sources."micromatch-4.0.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
-      sources."ms-2.0.0"
+      sources."minipass-3.1.3"
+      sources."minipass-collect-1.0.2"
+      sources."minipass-fetch-1.3.3"
+      sources."minipass-flush-1.0.5"
+      sources."minipass-json-stream-1.0.1"
+      sources."minipass-pipeline-1.2.4"
+      sources."minipass-sized-1.0.3"
+      sources."minizlib-2.1.2"
+      sources."mkdirp-1.0.4"
+      sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
       sources."negotiator-0.6.2"
       sources."nice-try-1.0.5"
+      (sources."node-gyp-7.1.2" // {
+        dependencies = [
+          sources."nopt-5.0.0"
+        ];
+      })
       sources."nopt-4.0.3"
       (sources."normalize-package-data-2.5.0" // {
         dependencies = [
@@ -69322,16 +70383,24 @@ in
         ];
       })
       sources."normalize-url-4.5.0"
+      sources."npm-bundled-1.1.1"
+      sources."npm-install-checks-4.0.0"
       sources."npm-normalize-package-bin-1.0.1"
-      sources."npm-package-arg-8.1.0"
+      sources."npm-package-arg-8.1.1"
+      sources."npm-packlist-2.1.4"
+      sources."npm-pick-manifest-6.1.0"
+      sources."npm-registry-fetch-9.0.0"
       sources."npm-run-path-4.0.1"
+      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."objectorarray-1.0.4"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
-      sources."open-7.3.1"
+      sources."open-7.4.2"
       sources."os-homedir-1.0.2"
       sources."os-name-3.1.0"
       sources."os-tmpdir-1.0.2"
@@ -69344,12 +70413,14 @@ in
         ];
       })
       sources."p-locate-2.0.0"
+      sources."p-map-4.0.0"
       sources."p-try-2.2.0"
       (sources."package-json-6.5.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
+      sources."pacote-11.2.7"
       sources."parent-module-1.0.1"
       sources."parseurl-1.3.3"
       sources."path-exists-3.0.0"
@@ -69365,33 +70436,36 @@ in
       sources."pkg-up-2.0.0"
       sources."plist-3.0.1"
       sources."prepend-http-2.0.0"
+      sources."process-nextick-args-2.0.1"
+      sources."promise-inflight-1.0.1"
+      sources."promise-retry-2.0.1"
       sources."promzard-0.3.0"
       sources."proxy-addr-2.0.6"
       sources."psl-1.8.0"
+      sources."puka-1.0.1"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."pupa-2.1.1"
       sources."q-1.5.1"
-      sources."qs-6.7.0"
+      sources."qs-6.5.2"
+      sources."queue-microtask-1.2.2"
       sources."range-parser-1.2.1"
       (sources."raw-body-2.4.0" // {
         dependencies = [
           sources."bytes-3.1.0"
+          sources."iconv-lite-0.4.24"
         ];
       })
       sources."rc-1.2.8"
       sources."read-1.0.7"
       sources."read-chunk-3.2.0"
       sources."read-package-json-2.1.2"
+      sources."read-package-json-fast-2.0.2"
+      sources."readable-stream-2.3.7"
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
-      (sources."request-2.88.2" // {
-        dependencies = [
-          sources."qs-6.5.2"
-          sources."tough-cookie-2.5.0"
-        ];
-      })
-      sources."resolve-1.19.0"
+      sources."request-2.88.2"
+      sources."resolve-1.20.0"
       sources."resolve-from-4.0.0"
       sources."responselike-1.0.2"
       (sources."restore-cursor-2.0.0" // {
@@ -69400,11 +70474,12 @@ in
           sources."onetime-2.0.1"
         ];
       })
+      sources."retry-0.12.0"
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
       sources."run-async-2.4.1"
-      sources."run-parallel-1.1.10"
-      sources."rxjs-6.6.3"
+      sources."run-parallel-1.2.0"
+      sources."rxjs-6.6.6"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."sax-1.1.4"
@@ -69416,45 +70491,49 @@ in
       })
       (sources."send-0.17.1" // {
         dependencies = [
+          (sources."debug-2.6.9" // {
+            dependencies = [
+              sources."ms-2.0.0"
+            ];
+          })
           sources."ms-2.1.1"
         ];
       })
       sources."serve-static-1.14.1"
+      sources."set-blocking-2.0.0"
       sources."setprototypeof-1.1.1"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."signal-exit-3.0.3"
       sources."slash-3.0.0"
+      sources."smart-buffer-4.1.0"
+      sources."socks-2.5.1"
+      sources."socks-proxy-agent-5.0.0"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
       sources."spdx-license-ids-3.0.7"
       sources."sshpk-1.16.1"
+      sources."ssri-8.0.1"
       sources."statuses-1.5.0"
-      (sources."string-width-2.1.1" // {
-        dependencies = [
-          sources."strip-ansi-4.0.0"
-        ];
-      })
+      sources."string-width-1.0.2"
+      sources."string_decoder-1.1.1"
       sources."stringify-package-1.0.1"
-      (sources."strip-ansi-5.2.0" // {
-        dependencies = [
-          sources."ansi-regex-4.1.0"
-        ];
-      })
+      sources."strip-ansi-3.0.1"
       sources."strip-bom-4.0.0"
       sources."strip-eof-1.0.0"
       sources."strip-final-newline-2.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
-      sources."systeminformation-4.34.9"
+      sources."systeminformation-4.34.15"
+      sources."tar-6.1.0"
       sources."term-size-2.2.1"
       sources."through-2.3.8"
       sources."tmp-0.2.1"
       sources."to-readable-stream-1.0.0"
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.0"
-      sources."tough-cookie-3.0.1"
+      sources."tough-cookie-2.5.0"
       sources."tslib-1.14.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
@@ -69462,12 +70541,15 @@ in
       sources."type-is-1.6.18"
       sources."typedarray-to-buffer-3.1.5"
       sources."underscore-1.12.0"
+      sources."unique-filename-1.1.1"
+      sources."unique-slug-2.0.2"
       sources."unique-string-2.0.0"
       sources."universalify-2.0.0"
       sources."unpipe-1.0.0"
       sources."update-notifier-4.1.3"
       sources."uri-js-4.4.1"
       sources."url-parse-lax-3.0.0"
+      sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
       sources."uuid-3.4.0"
       sources."valid-identifier-0.0.2"
@@ -69476,12 +70558,13 @@ in
       sources."vary-1.1.2"
       sources."verror-1.10.0"
       sources."which-2.0.2"
+      sources."wide-align-1.1.3"
       (sources."widest-line-3.1.0" // {
         dependencies = [
           sources."ansi-regex-5.0.0"
           sources."emoji-regex-8.0.0"
           sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.0"
+          sources."string-width-4.2.2"
           sources."strip-ansi-6.0.0"
         ];
       })
@@ -69526,15 +70609,15 @@ in
       sha512 = "HCpNdBkQy3rw+uARLuIf0YurqsMXYzBa9ihhSAuxYJcNIrqrSq3BstPfr0cQN38AdMrQiO9Dp4hYy7GtGJsLPg==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
+      sources."@babel/code-frame-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      sources."@babel/highlight-7.10.4"
+      sources."@babel/highlight-7.13.8"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
       sources."@types/glob-7.1.3"
       sources."@types/minimatch-3.0.3"
       sources."@types/minimist-1.2.1"
-      sources."@types/node-14.14.22"
+      sources."@types/node-14.14.31"
       sources."@types/normalize-package-data-2.4.0"
       sources."aggregate-error-3.1.0"
       sources."ansi-styles-3.2.1"
@@ -69651,7 +70734,7 @@ in
       })
       sources."glob-to-regexp-0.3.0"
       sources."globby-9.2.0"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
@@ -69784,7 +70867,7 @@ in
       sources."regex-not-1.0.2"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
       sources."safe-regex-1.1.0"
@@ -69825,7 +70908,7 @@ in
       })
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.3"
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
@@ -69905,7 +70988,7 @@ in
       sources."@cycle/run-3.4.0"
       sources."@cycle/time-0.10.1"
       sources."@types/cookiejar-2.1.2"
-      sources."@types/node-14.14.22"
+      sources."@types/node-14.14.31"
       sources."@types/superagent-3.8.2"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-2.1.1"
@@ -69948,7 +71031,7 @@ in
       sources."event-emitter-0.3.5"
       (sources."ext-1.4.0" // {
         dependencies = [
-          sources."type-2.1.0"
+          sources."type-2.3.0"
         ];
       })
       sources."extend-3.0.2"
@@ -69956,7 +71039,7 @@ in
       sources."figures-2.0.0"
       sources."form-data-2.5.1"
       sources."formidable-1.2.2"
-      sources."globalthis-1.0.1"
+      sources."globalthis-1.0.2"
       sources."has-ansi-2.0.0"
       sources."has-flag-3.0.0"
       sources."iconv-lite-0.4.24"
@@ -69970,7 +71053,7 @@ in
       sources."is-fullwidth-code-point-2.0.0"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash._baseiteratee-4.7.0"
       sources."lodash._basetostring-4.12.0"
       sources."lodash._baseuniq-4.6.0"
@@ -69981,8 +71064,8 @@ in
       sources."lru-cache-4.1.5"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-1.2.0"
       sources."minimist-1.2.5"
       sources."ms-2.1.3"
@@ -70049,10 +71132,10 @@ in
   create-react-app = nodeEnv.buildNodePackage {
     name = "create-react-app";
     packageName = "create-react-app";
-    version = "4.0.1";
+    version = "4.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/create-react-app/-/create-react-app-4.0.1.tgz";
-      sha512 = "ryEU58YUtn4gxaEQ/Zwt3Bbmkoc3MghLNbNKs1MUg8zDWyM+az1SvMmZ7QaXye9DNNwn5TS2/Ok+fpw2KKvZhA==";
+      url = "https://registry.npmjs.org/create-react-app/-/create-react-app-4.0.3.tgz";
+      sha512 = "Gz/ilrPq0ehiZ+K3L4jAZXGVep6NDkAytIdiHXsE4cWJav9uHe8xzEN84i3SjMYox6yNrBaULXHAkWdn4ZBF9Q==";
     };
     dependencies = [
       sources."ansi-styles-4.3.0"
@@ -70077,7 +71160,7 @@ in
       sources."fstream-1.0.12"
       sources."fstream-ignore-1.0.5"
       sources."glob-7.1.6"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."has-flag-4.0.0"
       sources."hyperquest-2.1.3"
       sources."inflight-1.0.6"
@@ -70147,15 +71230,15 @@ in
   create-react-native-app = nodeEnv.buildNodePackage {
     name = "create-react-native-app";
     packageName = "create-react-native-app";
-    version = "3.5.1";
+    version = "3.5.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/create-react-native-app/-/create-react-native-app-3.5.1.tgz";
-      sha512 = "TeaEDgfOSJ3cVilXKeIG2590IjjnSWPvhUUE6xGl3Aqys9O2JQNDyVbC1stnqlbyUgxm8KCOP0piLOk+MXUlZA==";
+      url = "https://registry.npmjs.org/create-react-native-app/-/create-react-native-app-3.5.3.tgz";
+      sha512 = "YJWlLKBx4tdOJ7NbUVqKATTAHB4IJTHSTJBAj0eBbdXdmpI4WGGS725MzoapgJPiBWUMtjgZcVcR5MHe3UHczQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
       description = "Create React Native apps with no build configuration.";
-      homepage = https://github.com/expo/create-react-native-app;
+      homepage = "https://github.com/expo/create-react-native-app";
       license = "BSD-3-Clause";
     };
     production = true;
@@ -70177,7 +71260,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "CSSLint";
-      homepage = http://csslint.net/;
+      homepage = "http://csslint.net/";
       license = "MIT";
     };
     production = true;
@@ -70405,7 +71488,7 @@ in
       sources."fast-bitfield-1.2.2"
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
-      (sources."fd-lock-1.1.1" // {
+      (sources."fd-lock-1.2.0" // {
         dependencies = [
           sources."node-gyp-build-4.2.3"
         ];
@@ -70431,7 +71514,7 @@ in
       sources."global-4.4.0"
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-flag-3.0.0"
@@ -70532,9 +71615,9 @@ in
       sources."menu-string-1.3.0"
       sources."merkle-tree-stream-3.0.3"
       sources."micromatch-3.1.10"
-      sources."mime-2.5.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-2.5.2"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-response-2.1.0"
       sources."min-document-2.19.0"
       sources."minimatch-3.0.4"
@@ -70555,7 +71638,7 @@ in
       sources."mutexify-1.3.1"
       sources."nan-2.14.2"
       sources."nanoassert-1.1.0"
-      sources."nanobus-4.4.0"
+      sources."nanobus-4.5.0"
       sources."nanoguard-1.3.0"
       sources."nanomatch-1.2.13"
       sources."nanoscheduler-1.0.3"
@@ -70616,7 +71699,7 @@ in
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
-      sources."random-access-file-2.1.4"
+      sources."random-access-file-2.2.0"
       sources."random-access-memory-3.1.2"
       sources."random-access-storage-1.4.1"
       sources."randombytes-2.1.0"
@@ -70707,7 +71790,7 @@ in
       sources."sorted-indexof-1.0.0"
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.3"
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."sparse-bitfield-3.0.3"
       sources."speedometer-1.1.0"
       sources."split-string-3.1.0"
@@ -70805,7 +71888,7 @@ in
       sources."use-3.1.1"
       sources."util-deprecate-1.0.2"
       sources."utile-0.3.0"
-      (sources."utp-native-2.2.2" // {
+      (sources."utp-native-2.3.0" // {
         dependencies = [
           sources."node-gyp-build-4.2.3"
           sources."readable-stream-3.6.0"
@@ -70834,7 +71917,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Dat is the package manager for data. Easily share and version control data.";
-      homepage = https://datproject.org/;
+      homepage = "https://datproject.org";
       license = "BSD-3-Clause";
     };
     production = true;
@@ -70855,7 +71938,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "A DHCP server written in JavaScript";
-      homepage = https://github.com/infusion/node-dhcp;
+      homepage = "https://github.com/infusion/node-dhcp";
       license = "MIT OR GPL-2.0";
     };
     production = true;
@@ -70886,14 +71969,14 @@ in
       sources."del-6.0.0"
       sources."dir-glob-3.0.1"
       sources."fast-glob-3.2.5"
-      sources."fastq-1.10.0"
+      sources."fastq-1.11.0"
       sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
       sources."fs.realpath-1.0.0"
       sources."glob-7.1.6"
       sources."glob-parent-5.1.1"
       sources."globby-11.0.2"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."ignore-5.1.8"
       sources."indent-string-4.0.0"
       sources."inflight-1.0.6"
@@ -70905,7 +71988,7 @@ in
       sources."is-path-inside-3.0.2"
       sources."is-stream-2.0.0"
       sources."locate-path-5.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.2"
       sources."minimatch-3.0.4"
@@ -70918,10 +72001,11 @@ in
       sources."path-is-absolute-1.0.1"
       sources."path-type-4.0.0"
       sources."picomatch-2.2.2"
+      sources."queue-microtask-1.2.2"
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
-      sources."run-parallel-1.1.10"
-      sources."rxjs-6.6.3"
+      sources."run-parallel-1.2.0"
+      sources."rxjs-6.6.6"
       sources."slash-3.0.0"
       sources."temp-dir-2.0.0"
       sources."tempy-0.7.1"
@@ -70985,7 +72069,7 @@ in
     dependencies = [
       sources."@fast-csv/format-4.3.5"
       sources."@fast-csv/parse-4.3.6"
-      sources."@types/node-14.14.22"
+      sources."@types/node-14.14.31"
       sources."JSONStream-1.3.5"
       sources."ajv-6.12.6"
       sources."asn1-0.2.4"
@@ -71005,7 +72089,7 @@ in
       sources."combined-stream-1.0.8"
       sources."core-util-is-1.0.2"
       sources."dashdash-1.14.1"
-      sources."delay-4.4.0"
+      sources."delay-4.4.1"
       sources."delayed-stream-1.0.0"
       sources."ecc-jsbn-0.1.2"
       sources."eventemitter3-4.0.7"
@@ -71041,7 +72125,7 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsonparse-1.3.1"
       sources."jsprim-1.4.1"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.escaperegexp-4.1.2"
       sources."lodash.groupby-4.6.0"
       sources."lodash.isboolean-3.0.3"
@@ -71052,8 +72136,8 @@ in
       sources."lodash.uniq-4.5.0"
       sources."lossless-json-1.0.4"
       sources."method-missing-1.2.4"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimist-1.2.5"
       sources."oauth-sign-0.9.0"
       sources."p-finally-1.0.0"
@@ -71147,40 +72231,51 @@ in
       sha512 = "ohjlUXM2v39rDqGIrlyxdcn9ql+4b+X1u90CXNWjYw5wX6C3wTHRfqFfeV8jajYD6Xc+ufn2X1QeZZWhRBXTlA==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
-      sources."@babel/core-7.12.10"
-      sources."@babel/generator-7.12.11"
-      sources."@babel/helper-annotate-as-pure-7.12.10"
-      sources."@babel/helper-function-name-7.12.11"
-      sources."@babel/helper-get-function-arity-7.12.10"
-      sources."@babel/helper-member-expression-to-functions-7.12.7"
-      sources."@babel/helper-module-imports-7.12.5"
-      sources."@babel/helper-module-transforms-7.12.1"
-      sources."@babel/helper-optimise-call-expression-7.12.10"
-      sources."@babel/helper-plugin-utils-7.10.4"
-      sources."@babel/helper-replace-supers-7.12.11"
-      sources."@babel/helper-simple-access-7.12.1"
-      sources."@babel/helper-split-export-declaration-7.12.11"
+      sources."@babel/code-frame-7.12.13"
+      sources."@babel/compat-data-7.13.8"
+      (sources."@babel/core-7.13.8" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."@babel/generator-7.13.0"
+      sources."@babel/helper-annotate-as-pure-7.12.13"
+      (sources."@babel/helper-compilation-targets-7.13.8" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."@babel/helper-function-name-7.12.13"
+      sources."@babel/helper-get-function-arity-7.12.13"
+      sources."@babel/helper-member-expression-to-functions-7.13.0"
+      sources."@babel/helper-module-imports-7.12.13"
+      sources."@babel/helper-module-transforms-7.13.0"
+      sources."@babel/helper-optimise-call-expression-7.12.13"
+      sources."@babel/helper-plugin-utils-7.13.0"
+      sources."@babel/helper-replace-supers-7.13.0"
+      sources."@babel/helper-simple-access-7.12.13"
+      sources."@babel/helper-split-export-declaration-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      sources."@babel/helpers-7.12.5"
-      sources."@babel/highlight-7.10.4"
-      sources."@babel/parser-7.12.11"
-      sources."@babel/plugin-proposal-object-rest-spread-7.12.1"
-      sources."@babel/plugin-syntax-jsx-7.12.1"
+      sources."@babel/helper-validator-option-7.12.17"
+      sources."@babel/helpers-7.13.0"
+      sources."@babel/highlight-7.13.8"
+      sources."@babel/parser-7.13.4"
+      sources."@babel/plugin-proposal-object-rest-spread-7.13.8"
+      sources."@babel/plugin-syntax-jsx-7.12.13"
       sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
-      sources."@babel/plugin-transform-destructuring-7.12.1"
-      sources."@babel/plugin-transform-parameters-7.12.1"
-      sources."@babel/plugin-transform-react-jsx-7.12.12"
-      sources."@babel/template-7.12.7"
-      sources."@babel/traverse-7.12.12"
-      sources."@babel/types-7.12.12"
+      sources."@babel/plugin-transform-destructuring-7.13.0"
+      sources."@babel/plugin-transform-parameters-7.13.0"
+      sources."@babel/plugin-transform-react-jsx-7.12.17"
+      sources."@babel/template-7.12.13"
+      sources."@babel/traverse-7.13.0"
+      sources."@babel/types-7.13.0"
       sources."@sindresorhus/is-4.0.0"
       sources."@szmarczak/http-timer-4.0.5"
       sources."@types/cacheable-request-6.0.1"
       sources."@types/http-cache-semantics-4.0.0"
       sources."@types/keyv-3.1.1"
       sources."@types/minimist-1.2.1"
-      sources."@types/node-14.14.22"
+      sources."@types/node-14.14.31"
       sources."@types/normalize-package-data-2.4.0"
       sources."@types/responselike-1.0.0"
       sources."@types/yoga-layout-1.9.2"
@@ -71199,6 +72294,7 @@ in
       sources."auto-bind-4.0.0"
       sources."balanced-match-1.0.0"
       sources."brace-expansion-1.1.11"
+      sources."browserslist-4.16.3"
       sources."cacheable-lookup-5.0.4"
       (sources."cacheable-request-7.0.1" // {
         dependencies = [
@@ -71214,6 +72310,7 @@ in
           sources."quick-lru-4.0.1"
         ];
       })
+      sources."caniuse-lite-1.0.30001192"
       sources."chalk-2.4.2"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
@@ -71224,6 +72321,7 @@ in
       sources."code-excerpt-3.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
+      sources."colorette-1.2.2"
       sources."commondir-1.0.1"
       sources."concat-map-0.0.1"
       (sources."conf-7.1.2" // {
@@ -71247,13 +72345,15 @@ in
           sources."mimic-response-3.1.0"
         ];
       })
-      sources."defer-to-connect-2.0.0"
+      sources."defer-to-connect-2.0.1"
       sources."dot-prop-5.3.0"
+      sources."electron-to-chromium-1.3.675"
       sources."emoji-regex-8.0.0"
       sources."emojilib-2.4.0"
       sources."end-of-stream-1.4.4"
       sources."env-paths-2.2.0"
       sources."error-ex-1.3.2"
+      sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
       sources."execa-1.0.0"
       sources."fast-deep-equal-3.1.3"
@@ -71266,13 +72366,13 @@ in
       sources."get-stream-4.1.0"
       sources."glob-7.1.6"
       sources."globals-11.12.0"
-      sources."got-11.8.1"
+      sources."got-11.8.2"
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."hosted-git-info-2.8.8"
       sources."http-cache-semantics-4.1.0"
-      sources."http2-wrapper-1.0.0-beta.5.2"
+      sources."http2-wrapper-1.0.3"
       sources."import-jsx-4.0.0"
       sources."indent-string-4.0.0"
       sources."inflight-1.0.6"
@@ -71314,12 +72414,12 @@ in
       sources."json-parse-even-better-errors-2.3.1"
       sources."json-schema-traverse-0.4.1"
       sources."json-schema-typed-7.0.3"
-      sources."json5-2.1.3"
+      sources."json5-2.2.0"
       sources."keyv-4.0.3"
       sources."kind-of-6.0.3"
       sources."lines-and-columns-1.1.6"
       sources."locate-path-3.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."loose-envify-1.4.0"
       sources."lowercase-keys-2.0.0"
       sources."lru-cache-6.0.0"
@@ -71344,6 +72444,7 @@ in
       sources."minimist-options-4.1.0"
       sources."ms-2.1.2"
       sources."nice-try-1.0.5"
+      sources."node-releases-1.1.71"
       sources."normalize-package-data-2.5.0"
       sources."normalize-url-4.5.0"
       sources."npm-run-path-2.0.2"
@@ -71398,7 +72499,7 @@ in
         ];
       })
       sources."redent-3.0.0"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."resolve-alpn-1.0.0"
       sources."resolve-from-3.0.0"
       sources."responselike-2.0.0"
@@ -71436,7 +72537,7 @@ in
           sources."strip-ansi-5.2.0"
         ];
       })
-      sources."string-width-4.2.0"
+      sources."string-width-4.2.2"
       sources."strip-ansi-6.0.0"
       sources."strip-eof-1.0.0"
       sources."strip-indent-3.0.0"
@@ -71457,7 +72558,7 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      sources."ws-7.4.2"
+      sources."ws-7.4.3"
       sources."yallist-4.0.0"
       sources."yargs-parser-18.1.3"
       sources."yoga-layout-prebuilt-1.10.0"
@@ -71483,7 +72584,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "EmojiOne is a complete set of emojis designed for the web. It includes libraries to easily convert unicode characters to shortnames (:smile:) and shortnames to our custom emoji images. PNG formats provided for the emoji images.";
-      homepage = https://www.emojione.com/;
+      homepage = "https://www.emojione.com";
     };
     production = true;
     bypassCache = true;
@@ -71495,22 +72596,22 @@ in
     version = "1.7.5";
     src = ../../applications/video/epgstation;
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
+      sources."@babel/code-frame-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      (sources."@babel/highlight-7.10.4" // {
+      (sources."@babel/highlight-7.13.8" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@fluentui/date-time-utilities-7.9.0"
-      sources."@fluentui/dom-utilities-1.1.1"
-      sources."@fluentui/keyboard-key-0.2.12"
-      sources."@fluentui/react-7.157.0"
-      sources."@fluentui/react-focus-7.17.1"
-      sources."@fluentui/react-window-provider-1.0.1"
-      sources."@fluentui/theme-1.7.1"
+      sources."@fluentui/date-time-utilities-7.9.1"
+      sources."@fluentui/dom-utilities-1.1.2"
+      sources."@fluentui/keyboard-key-0.2.14"
+      sources."@fluentui/react-7.162.0"
+      sources."@fluentui/react-focus-7.17.5"
+      sources."@fluentui/react-window-provider-1.0.2"
+      sources."@fluentui/theme-1.7.4"
       (sources."@gulp-sourcemaps/identity-map-1.0.2" // {
         dependencies = [
           sources."normalize-path-2.1.1"
@@ -71521,11 +72622,15 @@ in
           sources."normalize-path-2.1.1"
         ];
       })
-      sources."@microsoft/load-themed-styles-1.10.146"
+      sources."@microsoft/load-themed-styles-1.10.147"
       sources."@nodelib/fs.scandir-2.1.4"
       sources."@nodelib/fs.stat-2.0.4"
       sources."@nodelib/fs.walk-1.2.6"
-      sources."@npmcli/move-file-1.1.0"
+      (sources."@npmcli/move-file-1.1.2" // {
+        dependencies = [
+          sources."rimraf-3.0.2"
+        ];
+      })
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/basic-auth-1.1.3"
@@ -71566,13 +72671,13 @@ in
       sources."@types/sqlite3-3.1.6"
       sources."@types/tough-cookie-4.0.0"
       sources."@types/url-join-4.0.0"
-      sources."@uifabric/foundation-7.9.21"
-      sources."@uifabric/icons-7.5.18"
-      sources."@uifabric/merge-styles-7.19.1"
-      sources."@uifabric/react-hooks-7.13.9"
-      sources."@uifabric/set-version-7.0.23"
-      sources."@uifabric/styling-7.16.19"
-      sources."@uifabric/utilities-7.33.2"
+      sources."@uifabric/foundation-7.9.25"
+      sources."@uifabric/icons-7.5.22"
+      sources."@uifabric/merge-styles-7.19.2"
+      sources."@uifabric/react-hooks-7.13.12"
+      sources."@uifabric/set-version-7.0.24"
+      sources."@uifabric/styling-7.18.1"
+      sources."@uifabric/utilities-7.33.5"
       sources."@webassemblyjs/ast-1.9.0"
       sources."@webassemblyjs/floating-point-hex-parser-1.9.0"
       sources."@webassemblyjs/helper-api-error-1.9.0"
@@ -71673,7 +72778,7 @@ in
       sources."asn1-0.2.4"
       (sources."asn1.js-5.4.1" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       (sources."assert-1.5.0" // {
@@ -71721,7 +72826,7 @@ in
       sources."blob-0.0.5"
       sources."block-stream-0.0.9"
       sources."bluebird-3.7.2"
-      sources."bn.js-5.1.3"
+      sources."bn.js-5.2.0"
       sources."body-parser-1.19.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
@@ -71876,7 +72981,7 @@ in
       sources."crc-3.8.0"
       (sources."create-ecdh-4.0.4" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."create-hash-1.2.0"
@@ -71930,7 +73035,7 @@ in
       sources."diff-4.0.2"
       (sources."diffie-hellman-5.0.3" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."difunc-0.0.4"
@@ -71949,9 +73054,10 @@ in
       sources."each-props-1.3.2"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      (sources."elliptic-6.5.3" // {
+      (sources."elliptic-6.5.4" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
+          sources."inherits-2.0.4"
         ];
       })
       sources."emojis-list-3.0.0"
@@ -72000,7 +73106,7 @@ in
       sources."etag-1.8.1"
       sources."event-emitter-0.3.5"
       sources."eventemitter3-2.0.3"
-      sources."events-3.2.0"
+      sources."events-3.3.0"
       sources."evp_bytestokey-1.0.3"
       (sources."expand-brackets-2.1.4" // {
         dependencies = [
@@ -72026,7 +73132,7 @@ in
       sources."express-openapi-7.0.1"
       (sources."ext-1.4.0" // {
         dependencies = [
-          sources."type-2.1.0"
+          sources."type-2.3.0"
         ];
       })
       sources."extend-3.0.2"
@@ -72048,7 +73154,7 @@ in
       sources."fast-glob-3.2.5"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-1.1.4"
-      sources."fastq-1.10.0"
+      sources."fastq-1.11.0"
       sources."figgy-pudding-3.5.2"
       sources."figures-2.0.0"
       sources."file-uri-to-path-1.0.0"
@@ -72117,7 +73223,7 @@ in
         ];
       })
       sources."get-caller-file-1.0.3"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."get-stream-4.1.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
@@ -72138,7 +73244,7 @@ in
       sources."globby-10.0.2"
       sources."glogg-1.0.2"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."gulp-4.0.2"
       (sources."gulp-clean-css-4.3.0" // {
         dependencies = [
@@ -72188,7 +73294,7 @@ in
       })
       sources."has-cors-1.1.0"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."has-unicode-2.0.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
@@ -72290,7 +73396,7 @@ in
         ];
       })
       sources."jsprim-1.4.1"
-      sources."just-debounce-1.0.0"
+      sources."just-debounce-1.1.0"
       sources."keyv-3.1.0"
       sources."kind-of-6.0.3"
       sources."last-run-1.1.1"
@@ -72369,12 +73475,12 @@ in
       sources."micromatch-4.0.2"
       (sources."miller-rabin-4.0.1" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."minimalistic-assert-1.0.1"
@@ -72539,7 +73645,7 @@ in
       sources."object.map-1.0.1"
       sources."object.pick-1.3.0"
       sources."object.reduce-1.0.1"
-      sources."office-ui-fabric-react-7.157.0"
+      sources."office-ui-fabric-react-7.162.0"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
@@ -72549,7 +73655,7 @@ in
           sources."openapi-types-7.2.3"
         ];
       })
-      (sources."openapi-framework-7.2.3" // {
+      (sources."openapi-framework-7.4.0" // {
         dependencies = [
           sources."openapi-types-7.2.3"
         ];
@@ -72564,12 +73670,12 @@ in
           sources."openapi-types-7.2.3"
         ];
       })
-      (sources."openapi-request-validator-7.2.3" // {
+      (sources."openapi-request-validator-7.4.0" // {
         dependencies = [
           sources."openapi-types-7.2.3"
         ];
       })
-      (sources."openapi-response-validator-7.2.3" // {
+      (sources."openapi-response-validator-7.4.0" // {
         dependencies = [
           sources."openapi-types-7.2.3"
         ];
@@ -72686,7 +73792,7 @@ in
       sources."psl-1.8.0"
       (sources."public-encrypt-4.0.3" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."pump-3.0.0"
@@ -72699,6 +73805,7 @@ in
       sources."qs-6.7.0"
       sources."querystring-0.2.0"
       sources."querystring-es3-0.2.1"
+      sources."queue-microtask-1.2.2"
       sources."randombytes-2.1.0"
       sources."randomfill-1.0.4"
       sources."range-parser-1.2.1"
@@ -72747,7 +73854,7 @@ in
       })
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."resolve-dir-1.0.1"
       sources."resolve-options-1.1.0"
       sources."resolve-url-0.2.1"
@@ -72759,13 +73866,13 @@ in
       sources."rimraf-2.7.1"
       sources."ripemd160-2.0.2"
       sources."run-async-2.4.1"
-      sources."run-parallel-1.1.10"
+      sources."run-parallel-1.2.0"
       sources."run-queue-1.0.3"
       sources."rx-4.1.0"
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
-      sources."sass-1.32.5"
+      sources."sass-1.32.8"
       sources."sax-1.2.4"
       sources."scheduler-0.19.1"
       sources."schema-utils-2.7.1"
@@ -72852,7 +73959,7 @@ 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.0"
+      sources."source-map-url-0.4.1"
       sources."sparkles-1.0.1"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
@@ -72864,7 +73971,7 @@ in
       sources."sqlite3-5.0.0"
       sources."sqlstring-2.3.1"
       sources."sshpk-1.16.1"
-      (sources."ssri-8.0.0" // {
+      (sources."ssri-8.0.1" // {
         dependencies = [
           sources."minipass-3.1.3"
         ];
@@ -72941,7 +74048,7 @@ in
           sources."yallist-3.1.1"
         ];
       })
-      (sources."terser-5.5.1" // {
+      (sources."terser-5.6.0" // {
         dependencies = [
           sources."source-map-0.7.3"
         ];
@@ -73066,7 +74173,7 @@ in
           sources."anymatch-3.1.1"
           sources."binary-extensions-2.2.0"
           sources."chokidar-3.5.1"
-          sources."fsevents-2.3.1"
+          sources."fsevents-2.3.2"
           sources."is-binary-path-2.1.0"
           sources."readdirp-3.5.0"
         ];
@@ -73126,7 +74233,7 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      sources."ws-7.4.2"
+      sources."ws-7.4.3"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."xtend-4.0.2"
       sources."y18n-3.2.2"
@@ -73172,20 +74279,20 @@ in
   eslint = nodeEnv.buildNodePackage {
     name = "eslint";
     packageName = "eslint";
-    version = "7.18.0";
+    version = "7.21.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz";
-      sha512 = "fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==";
+      url = "https://registry.npmjs.org/eslint/-/eslint-7.21.0.tgz";
+      sha512 = "W2aJbXpMNofUp0ztQaF40fveSsJBjlSCSWpy//gzfTvwC+USs/nceBrKmlJOiM8r1bLwP2EuYkCqArn/6QTIgg==";
     };
     dependencies = [
       sources."@babel/code-frame-7.12.11"
       sources."@babel/helper-validator-identifier-7.12.11"
-      (sources."@babel/highlight-7.10.4" // {
+      (sources."@babel/highlight-7.13.8" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@eslint/eslintrc-0.3.0"
+      sources."@eslint/eslintrc-0.4.0"
       sources."acorn-7.4.1"
       sources."acorn-jsx-5.3.1"
       sources."ajv-6.12.6"
@@ -73229,7 +74336,7 @@ in
         ];
       })
       sources."esprima-4.0.1"
-      (sources."esquery-1.3.1" // {
+      (sources."esquery-1.4.0" // {
         dependencies = [
           sources."estraverse-5.2.0"
         ];
@@ -73244,7 +74351,7 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
-      sources."file-entry-cache-6.0.0"
+      sources."file-entry-cache-6.0.1"
       sources."flat-cache-3.0.4"
       sources."flatted-3.1.1"
       sources."fs.realpath-1.0.0"
@@ -73267,7 +74374,7 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."levn-0.4.1"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lru-cache-6.0.0"
       sources."minimatch-3.0.4"
       sources."ms-2.1.2"
@@ -73295,13 +74402,13 @@ in
         ];
       })
       sources."sprintf-js-1.0.3"
-      sources."string-width-4.2.0"
+      sources."string-width-4.2.2"
       sources."strip-ansi-6.0.0"
       sources."strip-json-comments-3.1.1"
       sources."supports-color-5.5.0"
       (sources."table-6.0.7" // {
         dependencies = [
-          sources."ajv-7.0.3"
+          sources."ajv-7.1.1"
           sources."json-schema-traverse-1.0.0"
         ];
       })
@@ -73318,7 +74425,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "An AST-based pattern checker for JavaScript.";
-      homepage = https://eslint.org/;
+      homepage = "https://eslint.org";
       license = "MIT";
     };
     production = true;
@@ -73328,20 +74435,22 @@ in
   eslint_d = nodeEnv.buildNodePackage {
     name = "eslint_d";
     packageName = "eslint_d";
-    version = "9.1.2";
+    version = "10.0.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eslint_d/-/eslint_d-9.1.2.tgz";
-      sha512 = "HJ7n92z+gSBLPP/en2pse1SLsFfwOXb8aqHn3FyXwYaE+J5wSM+raBbSmvE9Ttq20IF6Rq/dXxjhiIjuxAUjpw==";
+      url = "https://registry.npmjs.org/eslint_d/-/eslint_d-10.0.4.tgz";
+      sha512 = "DEJaGxP6VDs3byYKQYw6Py8l2b1KH9S5vUo4IjvhWIEcdo5gjNkJjjzUCoExTIb0Bo7/GbKyNRI/dctUQ5f+7w==";
     };
     dependencies = [
       sources."@babel/code-frame-7.12.11"
       sources."@babel/helper-validator-identifier-7.12.11"
-      (sources."@babel/highlight-7.10.4" // {
+      (sources."@babel/highlight-7.13.8" // {
         dependencies = [
           sources."chalk-2.4.2"
+          sources."has-flag-3.0.0"
+          sources."supports-color-5.5.0"
         ];
       })
-      sources."@eslint/eslintrc-0.3.0"
+      sources."@eslint/eslintrc-0.4.0"
       sources."acorn-7.4.1"
       sources."acorn-jsx-5.3.1"
       sources."ajv-6.12.6"
@@ -73358,14 +74467,13 @@ in
           sources."ansi-styles-4.3.0"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
           sources."supports-color-7.2.0"
         ];
       })
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."concat-map-0.0.1"
-      sources."core_d-2.0.0"
+      sources."core_d-3.0.0"
       sources."cross-spawn-7.0.3"
       sources."debug-4.3.2"
       sources."deep-is-0.1.3"
@@ -73373,7 +74481,7 @@ in
       sources."emoji-regex-8.0.0"
       sources."enquirer-2.3.6"
       sources."escape-string-regexp-1.0.5"
-      sources."eslint-7.18.0"
+      sources."eslint-7.21.0"
       sources."eslint-scope-5.1.1"
       (sources."eslint-utils-2.1.0" // {
         dependencies = [
@@ -73387,7 +74495,7 @@ in
         ];
       })
       sources."esprima-4.0.1"
-      (sources."esquery-1.3.1" // {
+      (sources."esquery-1.4.0" // {
         dependencies = [
           sources."estraverse-5.2.0"
         ];
@@ -73402,7 +74510,7 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
-      sources."file-entry-cache-6.0.0"
+      sources."file-entry-cache-6.0.1"
       sources."flat-cache-3.0.4"
       sources."flatted-3.1.1"
       sources."fs.realpath-1.0.0"
@@ -73410,7 +74518,7 @@ in
       sources."glob-7.1.6"
       sources."glob-parent-5.1.1"
       sources."globals-12.4.0"
-      sources."has-flag-3.0.0"
+      sources."has-flag-4.0.0"
       sources."ignore-4.0.6"
       sources."import-fresh-3.3.0"
       sources."imurmurhash-0.1.4"
@@ -73425,7 +74533,7 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."levn-0.4.1"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lru-cache-6.0.0"
       sources."minimatch-3.0.4"
       sources."ms-2.1.2"
@@ -73454,13 +74562,13 @@ in
         ];
       })
       sources."sprintf-js-1.0.3"
-      sources."string-width-4.2.0"
+      sources."string-width-4.2.2"
       sources."strip-ansi-6.0.0"
       sources."strip-json-comments-3.1.1"
-      sources."supports-color-5.5.0"
+      sources."supports-color-8.1.1"
       (sources."table-6.0.7" // {
         dependencies = [
-          sources."ajv-7.0.3"
+          sources."ajv-7.1.1"
           sources."json-schema-traverse-1.0.0"
         ];
       })
@@ -73477,7 +74585,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Makes eslint the fastest linter on the planet";
-      homepage = https://github.com/mantoni/eslint_d.js;
+      homepage = "https://github.com/mantoni/eslint_d.js";
       license = "MIT";
     };
     production = true;
@@ -73507,157 +74615,160 @@ in
   expo-cli = nodeEnv.buildNodePackage {
     name = "expo-cli";
     packageName = "expo-cli";
-    version = "4.1.3";
+    version = "4.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/expo-cli/-/expo-cli-4.1.3.tgz";
-      sha512 = "aONXPUydisTU++pMXn8HkF3hJVz1RvrGXp/J4U45GPlZ3AXQddoBjNrG/GfA4ViVgVPPc6S8N64YHnawucbS8w==";
+      url = "https://registry.npmjs.org/expo-cli/-/expo-cli-4.2.1.tgz";
+      sha512 = "3qgir7nj1jD7L+ETEUBYQfwsd57GaOTLhJ+6rzwvRwSXdU04oM+nfiZHMyabgKHMzslyHpVnvOod9OjKVWTtuQ==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
-      sources."@babel/compat-data-7.12.7"
+      sources."@babel/code-frame-7.12.13"
+      sources."@babel/compat-data-7.13.8"
       (sources."@babel/core-7.9.0" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
-      sources."@babel/generator-7.12.11"
-      sources."@babel/helper-annotate-as-pure-7.12.10"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.10.4"
-      (sources."@babel/helper-compilation-targets-7.12.5" // {
+      sources."@babel/generator-7.13.0"
+      sources."@babel/helper-annotate-as-pure-7.12.13"
+      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.12.13"
+      (sources."@babel/helper-compilation-targets-7.13.8" // {
         dependencies = [
-          sources."semver-5.7.1"
+          sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.12.1"
-      sources."@babel/helper-create-regexp-features-plugin-7.12.7"
-      sources."@babel/helper-define-map-7.10.5"
-      sources."@babel/helper-explode-assignable-expression-7.12.1"
-      sources."@babel/helper-function-name-7.12.11"
-      sources."@babel/helper-get-function-arity-7.12.10"
-      sources."@babel/helper-hoist-variables-7.10.4"
-      sources."@babel/helper-member-expression-to-functions-7.12.7"
-      sources."@babel/helper-module-imports-7.12.5"
-      sources."@babel/helper-module-transforms-7.12.1"
-      sources."@babel/helper-optimise-call-expression-7.12.10"
-      sources."@babel/helper-plugin-utils-7.10.4"
-      sources."@babel/helper-remap-async-to-generator-7.12.1"
-      sources."@babel/helper-replace-supers-7.12.11"
-      sources."@babel/helper-simple-access-7.12.1"
+      sources."@babel/helper-create-class-features-plugin-7.13.8"
+      sources."@babel/helper-create-regexp-features-plugin-7.12.17"
+      (sources."@babel/helper-define-polyfill-provider-0.1.4" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."@babel/helper-explode-assignable-expression-7.13.0"
+      sources."@babel/helper-function-name-7.12.13"
+      sources."@babel/helper-get-function-arity-7.12.13"
+      sources."@babel/helper-hoist-variables-7.13.0"
+      sources."@babel/helper-member-expression-to-functions-7.13.0"
+      sources."@babel/helper-module-imports-7.12.13"
+      sources."@babel/helper-module-transforms-7.13.0"
+      sources."@babel/helper-optimise-call-expression-7.12.13"
+      sources."@babel/helper-plugin-utils-7.13.0"
+      sources."@babel/helper-remap-async-to-generator-7.13.0"
+      sources."@babel/helper-replace-supers-7.13.0"
+      sources."@babel/helper-simple-access-7.12.13"
       sources."@babel/helper-skip-transparent-expression-wrappers-7.12.1"
-      sources."@babel/helper-split-export-declaration-7.12.11"
+      sources."@babel/helper-split-export-declaration-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      sources."@babel/helper-validator-option-7.12.11"
-      sources."@babel/helper-wrap-function-7.12.3"
-      sources."@babel/helpers-7.12.5"
-      (sources."@babel/highlight-7.10.4" // {
+      sources."@babel/helper-validator-option-7.12.17"
+      sources."@babel/helper-wrap-function-7.13.0"
+      sources."@babel/helpers-7.13.0"
+      (sources."@babel/highlight-7.13.8" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.12.11"
-      sources."@babel/plugin-proposal-async-generator-functions-7.12.12"
-      sources."@babel/plugin-proposal-class-properties-7.12.1"
-      sources."@babel/plugin-proposal-dynamic-import-7.12.1"
-      sources."@babel/plugin-proposal-export-default-from-7.12.1"
-      sources."@babel/plugin-proposal-export-namespace-from-7.12.1"
-      sources."@babel/plugin-proposal-json-strings-7.12.1"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.12.1"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.12.1"
-      sources."@babel/plugin-proposal-numeric-separator-7.12.7"
-      sources."@babel/plugin-proposal-object-rest-spread-7.12.1"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.12.1"
-      sources."@babel/plugin-proposal-optional-chaining-7.12.7"
-      sources."@babel/plugin-proposal-private-methods-7.12.1"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.12.1"
+      sources."@babel/parser-7.13.4"
+      sources."@babel/plugin-proposal-async-generator-functions-7.13.8"
+      sources."@babel/plugin-proposal-class-properties-7.12.13"
+      sources."@babel/plugin-proposal-dynamic-import-7.13.8"
+      sources."@babel/plugin-proposal-export-default-from-7.12.13"
+      sources."@babel/plugin-proposal-export-namespace-from-7.12.13"
+      sources."@babel/plugin-proposal-json-strings-7.13.8"
+      sources."@babel/plugin-proposal-logical-assignment-operators-7.13.8"
+      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.13.8"
+      sources."@babel/plugin-proposal-numeric-separator-7.12.13"
+      sources."@babel/plugin-proposal-object-rest-spread-7.13.8"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.13.8"
+      sources."@babel/plugin-proposal-optional-chaining-7.13.8"
+      sources."@babel/plugin-proposal-private-methods-7.13.0"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.12.13"
       sources."@babel/plugin-syntax-async-generators-7.8.4"
-      sources."@babel/plugin-syntax-class-properties-7.12.1"
+      sources."@babel/plugin-syntax-class-properties-7.12.13"
       sources."@babel/plugin-syntax-dynamic-import-7.8.3"
-      sources."@babel/plugin-syntax-export-default-from-7.12.1"
+      sources."@babel/plugin-syntax-export-default-from-7.12.13"
       sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
-      sources."@babel/plugin-syntax-flow-7.12.1"
+      sources."@babel/plugin-syntax-flow-7.12.13"
       sources."@babel/plugin-syntax-json-strings-7.8.3"
-      sources."@babel/plugin-syntax-jsx-7.12.1"
+      sources."@babel/plugin-syntax-jsx-7.12.13"
       sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
       sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
       sources."@babel/plugin-syntax-numeric-separator-7.10.4"
       sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
       sources."@babel/plugin-syntax-optional-catch-binding-7.8.3"
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
-      sources."@babel/plugin-syntax-top-level-await-7.12.1"
-      sources."@babel/plugin-syntax-typescript-7.12.1"
-      sources."@babel/plugin-transform-arrow-functions-7.12.1"
-      sources."@babel/plugin-transform-async-to-generator-7.12.1"
-      sources."@babel/plugin-transform-block-scoped-functions-7.12.1"
-      sources."@babel/plugin-transform-block-scoping-7.12.12"
-      sources."@babel/plugin-transform-classes-7.12.1"
-      sources."@babel/plugin-transform-computed-properties-7.12.1"
-      sources."@babel/plugin-transform-destructuring-7.12.1"
-      sources."@babel/plugin-transform-dotall-regex-7.12.1"
-      sources."@babel/plugin-transform-duplicate-keys-7.12.1"
-      sources."@babel/plugin-transform-exponentiation-operator-7.12.1"
-      sources."@babel/plugin-transform-flow-strip-types-7.12.10"
-      sources."@babel/plugin-transform-for-of-7.12.1"
-      sources."@babel/plugin-transform-function-name-7.12.1"
-      sources."@babel/plugin-transform-literals-7.12.1"
-      sources."@babel/plugin-transform-member-expression-literals-7.12.1"
-      sources."@babel/plugin-transform-modules-amd-7.12.1"
-      sources."@babel/plugin-transform-modules-commonjs-7.12.1"
-      sources."@babel/plugin-transform-modules-systemjs-7.12.1"
-      sources."@babel/plugin-transform-modules-umd-7.12.1"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.12.1"
-      sources."@babel/plugin-transform-new-target-7.12.1"
-      sources."@babel/plugin-transform-object-assign-7.12.1"
-      sources."@babel/plugin-transform-object-super-7.12.1"
-      sources."@babel/plugin-transform-parameters-7.12.1"
-      sources."@babel/plugin-transform-property-literals-7.12.1"
-      sources."@babel/plugin-transform-react-display-name-7.12.1"
-      sources."@babel/plugin-transform-react-jsx-7.12.12"
-      sources."@babel/plugin-transform-react-jsx-source-7.12.1"
-      sources."@babel/plugin-transform-regenerator-7.12.1"
-      sources."@babel/plugin-transform-reserved-words-7.12.1"
-      (sources."@babel/plugin-transform-runtime-7.12.10" // {
+      sources."@babel/plugin-syntax-top-level-await-7.12.13"
+      sources."@babel/plugin-syntax-typescript-7.12.13"
+      sources."@babel/plugin-transform-arrow-functions-7.13.0"
+      sources."@babel/plugin-transform-async-to-generator-7.13.0"
+      sources."@babel/plugin-transform-block-scoped-functions-7.12.13"
+      sources."@babel/plugin-transform-block-scoping-7.12.13"
+      sources."@babel/plugin-transform-classes-7.13.0"
+      sources."@babel/plugin-transform-computed-properties-7.13.0"
+      sources."@babel/plugin-transform-destructuring-7.13.0"
+      sources."@babel/plugin-transform-dotall-regex-7.12.13"
+      sources."@babel/plugin-transform-duplicate-keys-7.12.13"
+      sources."@babel/plugin-transform-exponentiation-operator-7.12.13"
+      sources."@babel/plugin-transform-flow-strip-types-7.13.0"
+      sources."@babel/plugin-transform-for-of-7.13.0"
+      sources."@babel/plugin-transform-function-name-7.12.13"
+      sources."@babel/plugin-transform-literals-7.12.13"
+      sources."@babel/plugin-transform-member-expression-literals-7.12.13"
+      sources."@babel/plugin-transform-modules-amd-7.13.0"
+      sources."@babel/plugin-transform-modules-commonjs-7.13.8"
+      sources."@babel/plugin-transform-modules-systemjs-7.13.8"
+      sources."@babel/plugin-transform-modules-umd-7.13.0"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.12.13"
+      sources."@babel/plugin-transform-new-target-7.12.13"
+      sources."@babel/plugin-transform-object-assign-7.12.13"
+      sources."@babel/plugin-transform-object-super-7.12.13"
+      sources."@babel/plugin-transform-parameters-7.13.0"
+      sources."@babel/plugin-transform-property-literals-7.12.13"
+      sources."@babel/plugin-transform-react-display-name-7.12.13"
+      sources."@babel/plugin-transform-react-jsx-7.12.17"
+      sources."@babel/plugin-transform-react-jsx-self-7.12.13"
+      sources."@babel/plugin-transform-react-jsx-source-7.12.13"
+      sources."@babel/plugin-transform-regenerator-7.12.13"
+      sources."@babel/plugin-transform-reserved-words-7.12.13"
+      (sources."@babel/plugin-transform-runtime-7.13.8" // {
         dependencies = [
-          sources."semver-5.7.1"
+          sources."semver-6.3.0"
         ];
       })
-      sources."@babel/plugin-transform-shorthand-properties-7.12.1"
-      sources."@babel/plugin-transform-spread-7.12.1"
-      sources."@babel/plugin-transform-sticky-regex-7.12.7"
-      sources."@babel/plugin-transform-template-literals-7.12.1"
-      sources."@babel/plugin-transform-typeof-symbol-7.12.10"
-      sources."@babel/plugin-transform-typescript-7.12.1"
-      sources."@babel/plugin-transform-unicode-escapes-7.12.1"
-      sources."@babel/plugin-transform-unicode-regex-7.12.1"
-      (sources."@babel/preset-env-7.12.11" // {
+      sources."@babel/plugin-transform-shorthand-properties-7.12.13"
+      sources."@babel/plugin-transform-spread-7.13.0"
+      sources."@babel/plugin-transform-sticky-regex-7.12.13"
+      sources."@babel/plugin-transform-template-literals-7.13.0"
+      sources."@babel/plugin-transform-typeof-symbol-7.12.13"
+      sources."@babel/plugin-transform-typescript-7.13.0"
+      sources."@babel/plugin-transform-unicode-escapes-7.12.13"
+      sources."@babel/plugin-transform-unicode-regex-7.12.13"
+      (sources."@babel/preset-env-7.12.17" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
       sources."@babel/preset-modules-0.1.4"
-      sources."@babel/preset-typescript-7.12.7"
-      sources."@babel/runtime-7.12.5"
-      sources."@babel/template-7.12.7"
-      sources."@babel/traverse-7.12.12"
-      sources."@babel/types-7.12.12"
+      sources."@babel/preset-typescript-7.12.17"
+      sources."@babel/runtime-7.13.8"
+      sources."@babel/template-7.12.13"
+      sources."@babel/traverse-7.13.0"
+      sources."@babel/types-7.13.0"
       sources."@expo/apple-utils-0.0.0-alpha.17"
-      sources."@expo/babel-preset-cli-0.2.18"
       sources."@expo/bunyan-4.0.0"
-      sources."@expo/config-3.3.26"
-      (sources."@expo/config-plugins-1.0.17" // {
+      sources."@expo/config-3.3.30"
+      (sources."@expo/config-plugins-1.0.20" // {
         dependencies = [
-          sources."slash-3.0.0"
           sources."uuid-3.4.0"
           sources."xcode-2.1.0"
         ];
       })
       sources."@expo/config-types-40.0.0-beta.2"
-      (sources."@expo/configure-splash-screen-0.3.3" // {
+      (sources."@expo/configure-splash-screen-0.3.4" // {
         dependencies = [
           sources."commander-5.1.0"
           sources."pngjs-5.0.0"
         ];
       })
-      (sources."@expo/dev-server-0.1.52" // {
+      (sources."@expo/dev-server-0.1.56" // {
         dependencies = [
           sources."body-parser-1.19.0"
           sources."bytes-3.1.0"
@@ -73668,27 +74779,32 @@ in
           sources."ms-2.0.0"
           sources."qs-6.7.0"
           sources."raw-body-2.4.0"
-          sources."serialize-error-6.0.0"
           sources."setprototypeof-1.1.1"
           sources."statuses-1.5.0"
-          sources."type-fest-0.12.0"
         ];
       })
-      sources."@expo/dev-tools-0.13.79"
+      sources."@expo/dev-tools-0.13.84"
+      (sources."@expo/devcert-1.0.0" // {
+        dependencies = [
+          sources."debug-3.2.7"
+          sources."rimraf-2.7.1"
+          sources."sudo-prompt-8.2.5"
+        ];
+      })
       (sources."@expo/image-utils-0.3.10" // {
         dependencies = [
           sources."tempy-0.3.0"
         ];
       })
-      (sources."@expo/json-file-8.2.26" // {
+      (sources."@expo/json-file-8.2.28-alpha.0" // {
         dependencies = [
           sources."@babel/code-frame-7.10.4"
           sources."json5-1.0.1"
         ];
       })
-      sources."@expo/metro-config-0.1.52"
+      sources."@expo/metro-config-0.1.56"
       sources."@expo/osascript-2.0.24"
-      (sources."@expo/package-manager-0.0.36" // {
+      (sources."@expo/package-manager-0.0.39-alpha.0" // {
         dependencies = [
           sources."npm-package-arg-7.0.0"
           sources."rimraf-3.0.2"
@@ -73701,57 +74817,24 @@ in
         ];
       })
       sources."@expo/results-1.0.0"
-      (sources."@expo/schemer-1.3.24" // {
-        dependencies = [
-          sources."got-6.7.1"
-          sources."probe-image-size-3.2.0"
-        ];
-      })
+      sources."@expo/schemer-1.3.27-alpha.0"
       sources."@expo/simple-spinner-1.0.2"
       sources."@expo/spawn-async-1.5.0"
-      (sources."@expo/webpack-config-0.12.56" // {
+      (sources."@expo/webpack-config-0.12.60" // {
         dependencies = [
           sources."@babel/runtime-7.9.0"
           sources."is-wsl-2.2.0"
           sources."react-refresh-0.8.3"
         ];
       })
-      (sources."@expo/xdl-59.0.19" // {
+      (sources."@expo/xdl-59.0.24" // {
         dependencies = [
           sources."chownr-1.1.4"
-          (sources."fs-minipass-1.2.7" // {
-            dependencies = [
-              sources."minipass-2.9.0"
-            ];
-          })
+          sources."fs-minipass-1.2.7"
           sources."indent-string-3.2.0"
-          sources."lru-cache-5.1.1"
-          (sources."minizlib-1.3.3" // {
-            dependencies = [
-              sources."minipass-2.9.0"
-            ];
-          })
-          sources."mkdirp-1.0.4"
-          sources."npm-package-arg-8.1.0"
-          (sources."pacote-11.1.0" // {
-            dependencies = [
-              sources."minipass-3.1.3"
-              (sources."tar-6.1.0" // {
-                dependencies = [
-                  sources."chownr-2.0.0"
-                ];
-              })
-              sources."yallist-4.0.0"
-            ];
-          })
-          (sources."tar-4.4.6" // {
-            dependencies = [
-              sources."mkdirp-0.5.5"
-            ];
-          })
+          sources."minipass-2.9.0"
+          sources."tar-4.4.6"
           sources."uuid-3.3.2"
-          sources."validator-11.0.0"
-          sources."which-2.0.2"
           sources."xcode-2.1.0"
           sources."xmldom-0.1.27"
           sources."yallist-3.1.1"
@@ -73808,36 +74891,24 @@ in
       sources."@nodelib/fs.stat-2.0.4"
       sources."@nodelib/fs.walk-1.2.6"
       sources."@npmcli/ci-detect-1.3.0"
-      (sources."@npmcli/git-2.0.4" // {
+      (sources."@npmcli/git-2.0.6" // {
         dependencies = [
           sources."mkdirp-1.0.4"
           sources."which-2.0.2"
         ];
       })
-      sources."@npmcli/installed-package-contents-1.0.5"
-      (sources."@npmcli/move-file-1.1.0" // {
+      sources."@npmcli/installed-package-contents-1.0.7"
+      (sources."@npmcli/move-file-1.1.2" // {
         dependencies = [
           sources."mkdirp-1.0.4"
-          sources."rimraf-2.7.1"
+          sources."rimraf-3.0.2"
         ];
       })
-      sources."@npmcli/node-gyp-1.0.1"
+      sources."@npmcli/node-gyp-1.0.2"
       sources."@npmcli/promise-spawn-1.3.2"
-      sources."@npmcli/run-script-1.8.1"
+      sources."@npmcli/run-script-1.8.3"
       sources."@pmmmwh/react-refresh-webpack-plugin-0.3.3"
       sources."@react-native-community/cli-debugger-ui-4.13.1"
-      (sources."@react-native-community/cli-platform-ios-4.13.0" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-3.0.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-          sources."uuid-3.4.0"
-          sources."xcode-2.1.0"
-        ];
-      })
       (sources."@react-native-community/cli-server-api-4.9.0" // {
         dependencies = [
           sources."ultron-1.0.2"
@@ -73860,10 +74931,6 @@ in
       sources."@tootallnate/once-1.1.2"
       sources."@types/anymatch-1.3.1"
       sources."@types/cacheable-request-6.0.1"
-      sources."@types/configstore-2.1.1"
-      sources."@types/debug-0.0.30"
-      sources."@types/events-3.0.0"
-      sources."@types/get-port-3.2.0"
       sources."@types/glob-7.1.3"
       sources."@types/html-minifier-terser-5.1.1"
       sources."@types/http-cache-semantics-4.0.0"
@@ -73872,19 +74939,15 @@ in
       sources."@types/istanbul-reports-1.1.2"
       sources."@types/json-schema-7.0.7"
       sources."@types/keyv-3.1.1"
-      sources."@types/lodash-4.14.168"
       sources."@types/minimatch-3.0.3"
-      sources."@types/mkdirp-0.5.2"
       sources."@types/node-9.6.61"
       sources."@types/q-1.5.4"
       sources."@types/responselike-1.0.0"
       sources."@types/retry-0.12.0"
-      sources."@types/rimraf-2.0.4"
       sources."@types/source-list-map-0.1.2"
       sources."@types/tapable-1.0.6"
       sources."@types/text-table-0.2.1"
-      sources."@types/tmp-0.0.33"
-      (sources."@types/uglify-js-3.11.1" // {
+      (sources."@types/uglify-js-3.12.0" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -73899,7 +74962,7 @@ in
           sources."source-map-0.7.3"
         ];
       })
-      sources."@types/yargs-15.0.12"
+      sources."@types/yargs-15.0.13"
       sources."@types/yargs-parser-20.2.0"
       sources."@webassemblyjs/ast-1.9.0"
       sources."@webassemblyjs/floating-point-hex-parser-1.9.0"
@@ -73927,15 +74990,14 @@ in
       sources."acorn-6.4.2"
       sources."address-1.1.2"
       sources."agent-base-6.0.2"
-      sources."agentkeepalive-4.1.3"
+      sources."agentkeepalive-4.1.4"
       sources."aggregate-error-3.1.0"
       sources."ajv-5.5.2"
       sources."ajv-errors-1.0.1"
       sources."ajv-keywords-3.5.2"
       sources."alphanum-sort-1.0.2"
-      (sources."analytics-node-3.3.0" // {
+      (sources."analytics-node-3.5.0" // {
         dependencies = [
-          sources."axios-0.17.1"
           sources."uuid-3.4.0"
         ];
       })
@@ -73949,11 +75011,7 @@ in
         ];
       })
       sources."ansi-colors-3.2.4"
-      (sources."ansi-escapes-4.3.1" // {
-        dependencies = [
-          sources."type-fest-0.11.0"
-        ];
-      })
+      sources."ansi-escapes-3.2.0"
       sources."ansi-html-0.0.7"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-3.2.1"
@@ -73969,7 +75027,7 @@ in
       sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
       sources."arr-union-3.1.0"
-      sources."array-filter-0.0.1"
+      sources."array-filter-1.0.0"
       sources."array-flatten-1.1.1"
       sources."array-map-0.0.0"
       sources."array-reduce-0.0.0"
@@ -73977,11 +75035,10 @@ in
       sources."array-uniq-1.0.3"
       sources."array-unique-0.3.2"
       sources."arrify-2.0.1"
-      sources."asap-2.0.6"
       sources."asn1-0.2.4"
       (sources."asn1.js-5.4.1" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       (sources."assert-1.5.0" // {
@@ -73998,25 +75055,21 @@ in
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
       sources."atob-2.1.2"
-      (sources."available-typed-arrays-1.0.2" // {
-        dependencies = [
-          sources."array-filter-1.0.0"
-        ];
-      })
+      sources."available-typed-arrays-1.0.2"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
-      (sources."axios-0.19.0" // {
-        dependencies = [
-          sources."debug-3.1.0"
-          sources."follow-redirects-1.5.10"
-          sources."is-buffer-2.0.5"
-          sources."ms-2.0.0"
-        ];
-      })
+      sources."axios-0.21.1"
       sources."axios-retry-3.1.9"
       sources."babel-extract-comments-1.0.0"
       sources."babel-loader-8.1.0"
       sources."babel-plugin-dynamic-import-node-2.3.3"
+      (sources."babel-plugin-polyfill-corejs2-0.1.8" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."babel-plugin-polyfill-corejs3-0.1.6"
+      sources."babel-plugin-polyfill-regenerator-0.1.5"
       sources."babel-plugin-syntax-object-rest-spread-6.13.0"
       sources."babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0"
       sources."babel-plugin-transform-object-rest-spread-6.26.0"
@@ -74046,7 +75099,7 @@ in
       sources."bindings-1.5.0"
       sources."bluebird-3.7.2"
       sources."bmp-js-0.1.0"
-      sources."bn.js-5.1.3"
+      sources."bn.js-5.2.0"
       (sources."body-parser-1.18.3" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -74082,7 +75135,7 @@ in
         ];
       })
       sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.16.1"
+      sources."browserslist-4.16.3"
       sources."buffer-5.7.1"
       sources."buffer-equal-0.0.1"
       sources."buffer-from-1.1.1"
@@ -74121,8 +75174,7 @@ in
       })
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001180"
-      sources."capture-stack-trace-1.0.1"
+      sources."caniuse-lite-1.0.30001192"
       sources."caseless-0.12.0"
       (sources."chalk-4.1.0" // {
         dependencies = [
@@ -74137,7 +75189,7 @@ in
       sources."chokidar-3.5.1"
       sources."chownr-2.0.0"
       sources."chrome-trace-event-1.0.2"
-      sources."ci-info-1.6.0"
+      sources."ci-info-3.1.1"
       sources."cipher-base-1.0.4"
       (sources."class-utils-0.3.6" // {
         dependencies = [
@@ -74191,9 +75243,9 @@ in
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."color-string-1.5.4"
-      sources."colorette-1.2.1"
+      sources."colorette-1.2.2"
       sources."colors-1.4.0"
-      sources."combined-stream-1.0.6"
+      sources."combined-stream-1.0.8"
       sources."command-exists-1.2.9"
       sources."commander-2.17.1"
       sources."common-tags-1.8.0"
@@ -74218,7 +75270,7 @@ in
         ];
       })
       sources."connect-history-api-fallback-1.6.0"
-      sources."consola-2.15.0"
+      sources."consola-2.15.3"
       sources."console-browserify-1.2.0"
       sources."console-control-strings-1.1.0"
       sources."constants-browserify-1.0.0"
@@ -74242,18 +75294,19 @@ in
           sources."loader-utils-2.0.0"
           sources."locate-path-5.0.0"
           sources."make-dir-3.1.0"
+          sources."p-limit-3.1.0"
           (sources."p-locate-4.1.0" // {
             dependencies = [
               sources."p-limit-2.3.0"
             ];
           })
+          sources."path-exists-4.0.0"
           sources."pkg-dir-4.2.0"
           sources."semver-6.3.0"
-          sources."slash-3.0.0"
         ];
       })
-      sources."core-js-3.8.3"
-      (sources."core-js-compat-3.8.3" // {
+      sources."core-js-3.9.1"
+      (sources."core-js-compat-3.9.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -74262,10 +75315,9 @@ in
       sources."cosmiconfig-5.2.1"
       (sources."create-ecdh-4.0.4" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
-      sources."create-error-class-3.0.2"
       sources."create-hash-1.2.0"
       sources."create-hmac-1.1.7"
       (sources."cross-spawn-6.0.5" // {
@@ -74320,7 +75372,6 @@ in
       sources."dashdash-1.14.1"
       sources."dateformat-3.0.3"
       sources."debug-4.3.2"
-      sources."debuglog-1.0.1"
       sources."decache-4.4.0"
       sources."decamelize-1.2.0"
       sources."decode-uri-component-0.2.0"
@@ -74328,7 +75379,7 @@ in
       sources."deep-equal-2.0.5"
       sources."deep-extend-0.6.0"
       sources."deep-scope-analyser-1.7.0"
-      sources."deepmerge-1.5.2"
+      sources."deepmerge-4.2.2"
       sources."default-gateway-4.2.0"
       (sources."defaults-1.0.3" // {
         dependencies = [
@@ -74344,7 +75395,6 @@ in
           sources."rimraf-2.7.1"
         ];
       })
-      sources."delay-async-1.2.0"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."depd-1.1.2"
@@ -74358,19 +75408,9 @@ in
           sources."ms-2.0.0"
         ];
       })
-      (sources."devcert-1.1.3" // {
-        dependencies = [
-          sources."@types/glob-5.0.36"
-          sources."@types/node-8.10.66"
-          sources."debug-3.2.7"
-          sources."rimraf-2.7.1"
-          sources."sudo-prompt-8.2.5"
-        ];
-      })
-      sources."dezalgo-1.0.3"
       (sources."diffie-hellman-5.0.3" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."dir-glob-3.0.1"
@@ -74404,10 +75444,10 @@ in
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.645"
-      (sources."elliptic-6.5.3" // {
+      sources."electron-to-chromium-1.3.675"
+      (sources."elliptic-6.5.4" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."emoji-regex-8.0.0"
@@ -74425,11 +75465,11 @@ in
         ];
       })
       sources."entities-2.2.0"
-      sources."env-editor-0.4.1"
+      sources."env-editor-0.4.2"
       sources."env-paths-2.2.0"
       sources."envinfo-7.5.0"
       sources."eol-0.9.1"
-      sources."err-code-1.1.2"
+      sources."err-code-2.0.3"
       sources."errno-0.1.8"
       (sources."error-ex-1.3.2" // {
         dependencies = [
@@ -74455,15 +75495,11 @@ in
       sources."esutils-2.0.3"
       sources."etag-1.8.1"
       sources."eventemitter3-2.0.3"
-      sources."events-3.2.0"
+      sources."events-3.3.0"
       sources."eventsource-1.0.7"
       sources."evp_bytestokey-1.0.3"
       sources."exec-async-2.2.0"
-      (sources."execa-1.0.0" // {
-        dependencies = [
-          sources."get-stream-4.1.0"
-        ];
-      })
+      sources."execa-1.0.0"
       sources."exif-parser-0.1.12"
       (sources."expand-brackets-2.1.4" // {
         dependencies = [
@@ -74485,7 +75521,7 @@ in
           sources."ms-2.0.0"
         ];
       })
-      (sources."expo-pwa-0.0.62" // {
+      (sources."expo-pwa-0.0.66" // {
         dependencies = [
           sources."commander-2.20.0"
         ];
@@ -74512,7 +75548,7 @@ in
       sources."fast-deep-equal-1.1.0"
       sources."fast-glob-3.2.5"
       sources."fast-json-stable-stringify-2.1.0"
-      sources."fastq-1.10.0"
+      sources."fastq-1.11.0"
       sources."faye-websocket-0.10.0"
       sources."figgy-pudding-3.5.2"
       sources."figures-3.2.0"
@@ -74532,10 +75568,17 @@ in
         ];
       })
       sources."find-cache-dir-2.1.0"
-      sources."find-up-5.0.0"
+      (sources."find-up-5.0.0" // {
+        dependencies = [
+          sources."locate-path-6.0.0"
+          sources."p-limit-3.1.0"
+          sources."p-locate-5.0.0"
+          sources."path-exists-4.0.0"
+        ];
+      })
       sources."find-yarn-workspace-root-2.0.0"
       sources."flush-write-stream-1.1.1"
-      sources."follow-redirects-1.13.2"
+      sources."follow-redirects-1.13.3"
       sources."for-in-1.0.2"
       sources."foreach-2.0.5"
       sources."forever-agent-0.6.1"
@@ -74552,7 +75595,7 @@ in
           sources."to-regex-range-2.1.1"
         ];
       })
-      sources."form-data-2.3.2"
+      sources."form-data-2.5.1"
       sources."forwarded-0.1.2"
       sources."fragment-cache-0.2.1"
       sources."freeport-async-2.0.0"
@@ -74575,7 +75618,7 @@ in
       })
       sources."fs-write-stream-atomic-1.0.10"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.3.1"
+      sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
       (sources."gauge-2.7.4" // {
         dependencies = [
@@ -74587,10 +75630,10 @@ in
       })
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."get-own-enumerable-property-symbols-3.0.2"
       sources."get-port-3.2.0"
-      sources."get-stream-3.0.0"
+      sources."get-stream-4.1.0"
       sources."get-value-2.0.6"
       sources."getenv-0.7.0"
       sources."getpass-0.1.7"
@@ -74605,13 +75648,13 @@ in
           sources."pify-2.3.0"
         ];
       })
-      (sources."got-11.8.1" // {
+      (sources."got-11.8.2" // {
         dependencies = [
           sources."@sindresorhus/is-4.0.0"
           sources."@szmarczak/http-timer-4.0.5"
           sources."cacheable-request-7.0.1"
           sources."decompress-response-6.0.0"
-          sources."defer-to-connect-2.0.0"
+          sources."defer-to-connect-2.0.1"
           sources."get-stream-5.2.0"
           sources."json-buffer-3.0.1"
           sources."keyv-4.0.3"
@@ -74622,7 +75665,7 @@ in
           sources."responselike-2.0.0"
         ];
       })
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."graphql-0.13.2"
       (sources."graphql-tools-3.0.0" // {
         dependencies = [
@@ -74641,7 +75684,7 @@ in
       })
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."has-unicode-2.0.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
@@ -74667,7 +75710,7 @@ in
       sources."hex-color-regex-1.1.0"
       sources."hmac-drbg-1.0.1"
       sources."hoek-4.2.1"
-      sources."hosted-git-info-3.0.7"
+      sources."hosted-git-info-3.0.8"
       sources."hpack.js-2.1.6"
       sources."hsl-regex-1.0.0"
       sources."hsla-regex-1.0.0"
@@ -74710,18 +75753,17 @@ in
         ];
       })
       sources."http-signature-1.2.0"
-      sources."http2-wrapper-1.0.0-beta.5.2"
+      sources."http2-wrapper-1.0.3"
       sources."https-browserify-1.0.0"
       sources."https-proxy-agent-5.0.0"
       sources."humanize-ms-1.2.1"
       sources."iconv-lite-0.4.23"
       sources."icss-utils-4.1.1"
-      sources."idx-2.4.0"
       sources."ieee754-1.2.1"
       sources."iferr-0.1.5"
       sources."ignore-5.1.8"
       sources."ignore-walk-3.0.3"
-      sources."immer-7.0.9"
+      sources."immer-8.0.1"
       (sources."import-fresh-2.0.0" // {
         dependencies = [
           sources."resolve-from-3.0.0"
@@ -74748,7 +75790,7 @@ in
       sources."is-binary-path-2.1.0"
       sources."is-boolean-object-1.1.0"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.2.2"
+      sources."is-callable-1.2.3"
       sources."is-color-stop-1.1.0"
       sources."is-core-module-2.2.0"
       sources."is-data-descriptor-1.0.0"
@@ -74780,19 +75822,11 @@ in
       sources."is-port-reachable-2.0.1"
       (sources."is-reachable-4.0.0" // {
         dependencies = [
-          sources."get-stream-4.1.0"
           sources."got-9.6.0"
           sources."p-timeout-3.2.0"
-          sources."prepend-http-3.0.1"
-          (sources."url-parse-lax-3.0.0" // {
-            dependencies = [
-              sources."prepend-http-2.0.0"
-            ];
-          })
         ];
       })
-      sources."is-redirect-1.0.0"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-regexp-1.0.0"
       sources."is-resolvable-1.1.0"
       sources."is-retry-allowed-1.2.0"
@@ -74802,7 +75836,7 @@ in
       sources."is-string-1.0.5"
       sources."is-svg-3.0.0"
       sources."is-symbol-1.0.3"
-      sources."is-typed-array-1.1.4"
+      sources."is-typed-array-1.1.5"
       sources."is-typedarray-1.0.0"
       sources."is-valid-path-0.1.1"
       sources."is-weakmap-2.0.1"
@@ -74842,7 +75876,7 @@ in
       sources."json-stable-stringify-1.0.1"
       sources."json-stringify-safe-5.0.1"
       sources."json3-3.3.3"
-      sources."json5-2.1.3"
+      sources."json5-2.2.0"
       sources."jsonfile-4.0.0"
       sources."jsonify-0.0.0"
       sources."jsonparse-1.3.1"
@@ -74866,8 +75900,8 @@ in
           sources."json5-1.0.1"
         ];
       })
-      sources."locate-path-6.0.0"
-      sources."lodash-4.17.20"
+      sources."locate-path-3.0.0"
+      sources."lodash-4.17.21"
       sources."lodash._reinterpolate-3.0.0"
       sources."lodash.assign-4.2.0"
       sources."lodash.debounce-4.0.8"
@@ -74896,7 +75930,7 @@ in
           sources."semver-5.7.1"
         ];
       })
-      (sources."make-fetch-happen-8.0.13" // {
+      (sources."make-fetch-happen-8.0.14" // {
         dependencies = [
           sources."minipass-3.1.3"
         ];
@@ -74915,21 +75949,21 @@ in
       sources."merge-stream-2.0.0"
       sources."merge2-1.4.1"
       sources."methods-1.1.2"
-      sources."metro-babel-transformer-0.58.0"
-      sources."metro-react-native-babel-preset-0.58.0"
-      sources."metro-react-native-babel-transformer-0.58.0"
-      sources."metro-source-map-0.58.0"
-      sources."metro-symbolicate-0.58.0"
+      sources."metro-babel-transformer-0.59.0"
+      sources."metro-react-native-babel-preset-0.59.0"
+      sources."metro-react-native-babel-transformer-0.59.0"
+      sources."metro-source-map-0.59.0"
+      sources."metro-symbolicate-0.59.0"
       sources."microevent.ts-0.1.1"
       sources."micromatch-4.0.2"
       (sources."miller-rabin-4.0.1" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
-      sources."mime-2.5.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-2.5.2"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."min-document-2.19.0"
@@ -74958,6 +75992,7 @@ in
       (sources."minipass-fetch-1.3.3" // {
         dependencies = [
           sources."minipass-3.1.3"
+          sources."minizlib-2.1.2"
         ];
       })
       (sources."minipass-flush-1.0.5" // {
@@ -74980,9 +76015,10 @@ in
           sources."minipass-3.1.3"
         ];
       })
-      (sources."minizlib-2.1.2" // {
+      (sources."minizlib-1.3.3" // {
         dependencies = [
-          sources."minipass-3.1.3"
+          sources."minipass-2.9.0"
+          sources."yallist-3.1.1"
         ];
       })
       sources."mississippi-3.0.0"
@@ -75006,10 +76042,14 @@ in
       sources."nanomatch-1.2.13"
       sources."native-url-0.2.6"
       sources."ncp-2.0.0"
+      (sources."needle-2.6.0" // {
+        dependencies = [
+          sources."debug-3.2.7"
+        ];
+      })
       sources."negotiator-0.6.2"
       sources."neo-async-2.6.2"
       sources."nested-error-stacks-2.0.1"
-      sources."next-tick-1.1.0"
       sources."nice-try-1.0.5"
       (sources."no-case-3.0.4" // {
         dependencies = [
@@ -75017,7 +76057,7 @@ in
         ];
       })
       sources."node-fetch-2.6.1"
-      sources."node-forge-0.7.6"
+      sources."node-forge-0.10.0"
       (sources."node-gyp-7.1.2" // {
         dependencies = [
           sources."rimraf-3.0.2"
@@ -75032,7 +76072,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-1.1.70"
+      sources."node-releases-1.1.71"
       sources."nopt-5.0.0"
       sources."normalize-path-3.0.0"
       sources."normalize-url-3.3.0"
@@ -75048,13 +76088,14 @@ in
       sources."npm-packlist-2.1.4"
       (sources."npm-pick-manifest-6.1.0" // {
         dependencies = [
-          sources."npm-package-arg-8.1.0"
+          sources."npm-package-arg-8.1.1"
         ];
       })
-      (sources."npm-registry-fetch-8.1.5" // {
+      (sources."npm-registry-fetch-9.0.0" // {
         dependencies = [
           sources."minipass-3.1.3"
-          sources."npm-package-arg-8.1.0"
+          sources."minizlib-2.1.2"
+          sources."npm-package-arg-8.1.1"
         ];
       })
       sources."npm-run-path-2.0.2"
@@ -75062,7 +76103,7 @@ in
       sources."nth-check-1.0.2"
       sources."number-is-nan-1.0.1"
       sources."oauth-sign-0.9.0"
-      sources."ob1-0.58.0"
+      sources."ob1-0.59.0"
       sources."object-assign-4.1.1"
       (sources."object-copy-0.1.0" // {
         dependencies = [
@@ -75078,14 +76119,14 @@ in
         ];
       })
       sources."object-inspect-1.9.0"
-      sources."object-is-1.1.4"
+      sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       sources."object-visit-1.0.1"
       sources."object.assign-4.1.2"
       sources."object.entries-1.1.3"
-      sources."object.getownpropertydescriptors-2.1.1"
+      sources."object.getownpropertydescriptors-2.1.2"
       sources."object.pick-1.3.0"
-      sources."object.values-1.1.2"
+      sources."object.values-1.1.3"
       sources."obuf-1.1.2"
       sources."omggif-1.0.10"
       sources."on-finished-2.3.0"
@@ -75115,8 +76156,8 @@ in
       })
       sources."p-cancelable-1.1.0"
       sources."p-finally-1.0.0"
-      sources."p-limit-3.1.0"
-      sources."p-locate-5.0.0"
+      sources."p-limit-2.3.0"
+      sources."p-locate-3.0.0"
       sources."p-map-3.0.0"
       sources."p-retry-4.1.0"
       (sources."p-some-4.1.0" // {
@@ -75128,21 +76169,17 @@ in
       sources."p-try-2.2.0"
       (sources."package-json-6.4.0" // {
         dependencies = [
-          sources."get-stream-4.1.0"
           sources."got-9.6.0"
-          sources."prepend-http-2.0.0"
           sources."registry-auth-token-3.4.0"
           sources."registry-url-5.1.0"
           sources."semver-6.3.0"
-          sources."url-parse-lax-3.0.0"
         ];
       })
-      (sources."pacote-11.2.3" // {
+      (sources."pacote-11.2.7" // {
         dependencies = [
           sources."minipass-3.1.3"
           sources."mkdirp-1.0.4"
-          sources."npm-package-arg-8.1.0"
-          sources."npm-registry-fetch-9.0.0"
+          sources."npm-package-arg-8.1.1"
           sources."rimraf-3.0.2"
         ];
       })
@@ -75170,14 +76207,10 @@ in
         ];
       })
       sources."pascalcase-0.1.1"
-      (sources."password-prompt-1.1.2" // {
-        dependencies = [
-          sources."ansi-escapes-3.2.0"
-        ];
-      })
+      sources."password-prompt-1.1.2"
       sources."path-browserify-0.0.1"
       sources."path-dirname-1.0.2"
-      sources."path-exists-4.0.0"
+      sources."path-exists-3.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-is-inside-1.0.2"
       sources."path-key-2.0.1"
@@ -75195,19 +76228,11 @@ in
       (sources."pkg-dir-3.0.0" // {
         dependencies = [
           sources."find-up-3.0.0"
-          sources."locate-path-3.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-3.0.0"
-          sources."path-exists-3.0.0"
         ];
       })
       (sources."pkg-up-3.1.0" // {
         dependencies = [
           sources."find-up-3.0.0"
-          sources."locate-path-3.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-3.0.0"
-          sources."path-exists-3.0.0"
         ];
       })
       sources."plist-3.0.1"
@@ -75341,8 +76366,8 @@ in
       })
       sources."postcss-unique-selectors-4.0.1"
       sources."postcss-value-parser-4.1.0"
-      sources."prepend-http-1.0.4"
-      sources."pretty-bytes-5.5.0"
+      sources."prepend-http-3.0.1"
+      sources."pretty-bytes-5.6.0"
       sources."pretty-error-2.1.2"
       (sources."pretty-format-25.5.0" // {
         dependencies = [
@@ -75352,27 +76377,19 @@ in
         ];
       })
       sources."pretty-time-1.1.0"
-      (sources."probe-image-size-4.0.0" // {
-        dependencies = [
-          sources."deepmerge-2.2.1"
-        ];
-      })
+      sources."probe-image-size-6.0.0"
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
       sources."progress-2.0.3"
       sources."promise-inflight-1.0.1"
-      (sources."promise-retry-1.1.1" // {
-        dependencies = [
-          sources."retry-0.10.1"
-        ];
-      })
+      sources."promise-retry-2.0.1"
       sources."prompts-2.4.0"
       sources."proxy-addr-2.0.6"
       sources."prr-1.0.1"
       sources."psl-1.8.0"
       (sources."public-encrypt-4.0.3" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."puka-1.0.1"
@@ -75386,9 +76403,10 @@ in
       sources."q-1.5.1"
       sources."qrcode-terminal-0.11.0"
       sources."qs-6.5.2"
-      sources."querystring-0.2.0"
+      sources."querystring-0.2.1"
       sources."querystring-es3-0.2.1"
       sources."querystringify-2.2.0"
+      sources."queue-microtask-1.2.2"
       sources."quick-lru-5.1.1"
       sources."randombytes-2.1.0"
       sources."randomfill-1.0.4"
@@ -75400,7 +76418,7 @@ in
       })
       sources."raw-body-2.3.3"
       sources."rc-1.2.8"
-      (sources."react-dev-utils-11.0.1" // {
+      (sources."react-dev-utils-11.0.3" // {
         dependencies = [
           sources."@babel/code-frame-7.10.4"
           sources."array-union-2.1.0"
@@ -75417,29 +76435,27 @@ in
           sources."is-wsl-2.2.0"
           sources."loader-utils-2.0.0"
           sources."locate-path-5.0.0"
-          sources."open-7.3.1"
-          sources."p-limit-2.3.0"
+          sources."open-7.4.2"
           sources."p-locate-4.1.0"
+          sources."path-exists-4.0.0"
           sources."path-key-3.1.1"
           sources."shebang-command-2.0.0"
           sources."shebang-regex-3.0.0"
           sources."shell-quote-1.7.2"
-          sources."slash-3.0.0"
           sources."which-2.0.2"
         ];
       })
-      sources."react-error-overlay-6.0.8"
+      sources."react-error-overlay-6.0.9"
       sources."react-is-16.13.1"
       sources."react-refresh-0.4.3"
       sources."read-chunk-3.2.0"
       sources."read-last-lines-1.6.0"
-      sources."read-package-json-fast-1.2.1"
+      sources."read-package-json-fast-2.0.2"
       (sources."readable-stream-2.3.7" // {
         dependencies = [
           sources."isarray-1.0.0"
         ];
       })
-      sources."readdir-scoped-modules-1.1.0"
       sources."readdirp-3.5.0"
       sources."recursive-readdir-2.2.2"
       sources."regenerate-1.4.2"
@@ -75452,7 +76468,7 @@ in
       sources."registry-auth-token-3.3.2"
       sources."registry-url-3.1.0"
       sources."regjsgen-0.5.2"
-      (sources."regjsparser-0.6.6" // {
+      (sources."regjsparser-0.6.7" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
@@ -75483,6 +76499,7 @@ in
       sources."replace-string-1.1.0"
       (sources."request-2.88.2" // {
         dependencies = [
+          sources."form-data-2.3.3"
           sources."uuid-3.4.0"
         ];
       })
@@ -75495,7 +76512,7 @@ in
         ];
       })
       sources."requires-port-1.0.0"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."resolve-alpn-1.0.0"
       (sources."resolve-cwd-2.0.0" // {
         dependencies = [
@@ -75518,7 +76535,7 @@ in
       })
       sources."ripemd160-2.0.2"
       sources."router-ips-1.0.0"
-      sources."run-parallel-1.1.10"
+      sources."run-parallel-1.2.0"
       sources."run-queue-1.0.3"
       sources."safe-buffer-5.1.2"
       sources."safe-json-stringify-1.2.0"
@@ -75533,11 +76550,7 @@ in
         ];
       })
       sources."select-hose-2.0.0"
-      (sources."selfsigned-1.10.8" // {
-        dependencies = [
-          sources."node-forge-0.10.0"
-        ];
-      })
+      sources."selfsigned-1.10.8"
       sources."semver-7.3.2"
       (sources."send-0.16.2" // {
         dependencies = [
@@ -75546,9 +76559,9 @@ in
           sources."ms-2.0.0"
         ];
       })
-      (sources."serialize-error-5.0.0" // {
+      (sources."serialize-error-6.0.0" // {
         dependencies = [
-          sources."type-fest-0.8.1"
+          sources."type-fest-0.12.0"
         ];
       })
       sources."serialize-javascript-4.0.0"
@@ -75570,19 +76583,23 @@ in
       sources."sha.js-2.4.11"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
-      sources."shell-quote-1.6.1"
+      (sources."shell-quote-1.6.1" // {
+        dependencies = [
+          sources."array-filter-0.0.1"
+        ];
+      })
       sources."side-channel-1.0.4"
       sources."signal-exit-3.0.3"
       sources."simple-plist-1.1.1"
       sources."simple-swizzle-0.2.2"
       sources."sisteransi-1.0.5"
-      sources."slash-1.0.0"
+      sources."slash-3.0.0"
       (sources."slugid-1.1.0" // {
         dependencies = [
           sources."uuid-2.0.3"
         ];
       })
-      sources."slugify-1.4.6"
+      sources."slugify-1.4.7"
       sources."smart-buffer-4.1.0"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
@@ -75631,7 +76648,7 @@ in
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.3"
       sources."source-map-support-0.4.18"
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."spdy-4.0.2"
       (sources."spdy-transport-3.0.0" // {
         dependencies = [
@@ -75642,7 +76659,7 @@ in
       sources."split-string-3.1.0"
       sources."sprintf-js-1.0.3"
       sources."sshpk-1.16.1"
-      (sources."ssri-8.0.0" // {
+      (sources."ssri-8.0.1" // {
         dependencies = [
           sources."minipass-3.1.3"
         ];
@@ -75668,7 +76685,7 @@ in
         ];
       })
       sources."statuses-1.4.0"
-      sources."std-env-2.2.1"
+      sources."std-env-2.3.0"
       sources."stream-browserify-2.0.2"
       sources."stream-buffers-2.2.0"
       sources."stream-each-1.2.3"
@@ -75680,9 +76697,9 @@ in
         ];
       })
       sources."stream-shift-1.0.1"
-      sources."string-width-4.2.0"
-      sources."string.prototype.trimend-1.0.3"
-      sources."string.prototype.trimstart-1.0.3"
+      sources."string-width-4.2.2"
+      sources."string.prototype.trimend-1.0.4"
+      sources."string.prototype.trimstart-1.0.4"
       sources."string_decoder-1.1.1"
       (sources."stringify-object-3.3.0" // {
         dependencies = [
@@ -75722,6 +76739,7 @@ in
       (sources."tar-6.1.0" // {
         dependencies = [
           sources."minipass-3.1.3"
+          sources."minizlib-2.1.2"
           sources."mkdirp-1.0.4"
         ];
       })
@@ -75736,14 +76754,18 @@ in
           sources."is-stream-2.0.0"
           sources."p-map-4.0.0"
           sources."rimraf-3.0.2"
-          sources."slash-3.0.0"
           sources."temp-dir-2.0.0"
           sources."type-fest-0.16.0"
           sources."unique-string-2.0.0"
         ];
       })
       sources."term-size-2.2.1"
-      sources."terminal-link-2.1.1"
+      (sources."terminal-link-2.1.1" // {
+        dependencies = [
+          sources."ansi-escapes-4.3.1"
+          sources."type-fest-0.11.0"
+        ];
+      })
       (sources."terser-4.8.0" // {
         dependencies = [
           sources."commander-2.20.3"
@@ -75757,11 +76779,13 @@ in
           sources."find-up-4.1.0"
           sources."locate-path-5.0.0"
           sources."make-dir-3.1.0"
+          sources."p-limit-3.1.0"
           (sources."p-locate-4.1.0" // {
             dependencies = [
               sources."p-limit-2.3.0"
             ];
           })
+          sources."path-exists-4.0.0"
           sources."pkg-dir-4.2.0"
           sources."semver-6.3.0"
           sources."source-map-0.6.1"
@@ -75830,7 +76854,6 @@ in
         ];
       })
       sources."untildify-3.0.3"
-      sources."unzip-response-2.0.1"
       sources."upath-1.2.0"
       sources."update-check-1.5.3"
       sources."upper-case-1.1.3"
@@ -75840,6 +76863,7 @@ in
       (sources."url-0.11.0" // {
         dependencies = [
           sources."punycode-1.3.2"
+          sources."querystring-0.2.0"
         ];
       })
       sources."url-join-4.0.0"
@@ -75852,8 +76876,12 @@ in
           sources."schema-utils-3.0.0"
         ];
       })
-      sources."url-parse-1.4.7"
-      sources."url-parse-lax-1.0.0"
+      sources."url-parse-1.5.1"
+      (sources."url-parse-lax-3.0.0" // {
+        dependencies = [
+          sources."prepend-http-2.0.0"
+        ];
+      })
       sources."use-3.1.1"
       sources."utif-2.0.1"
       (sources."util-0.11.1" // {
@@ -75868,7 +76896,6 @@ in
       sources."uuid-8.3.2"
       sources."valid-url-1.0.9"
       sources."validate-npm-package-name-3.0.0"
-      sources."validator-10.5.0"
       sources."vary-1.1.2"
       sources."vendors-1.0.4"
       sources."verror-1.10.0"
@@ -76018,10 +77045,12 @@ in
       })
       (sources."webpackbar-4.0.0" // {
         dependencies = [
+          sources."ansi-escapes-4.3.1"
           sources."ansi-styles-4.3.0"
           sources."chalk-2.4.2"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
+          sources."type-fest-0.11.0"
           sources."wrap-ansi-6.2.0"
         ];
       })
@@ -76042,7 +77071,6 @@ in
       })
       sources."widest-line-3.1.0"
       sources."with-open-file-0.1.7"
-      sources."wordwrap-1.0.0"
       sources."workbox-background-sync-3.6.3"
       sources."workbox-broadcast-cache-update-3.6.3"
       (sources."workbox-build-3.6.3" // {
@@ -76107,10 +77135,6 @@ in
           sources."emoji-regex-7.0.3"
           sources."find-up-3.0.0"
           sources."is-fullwidth-code-point-2.0.0"
-          sources."locate-path-3.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-3.0.0"
-          sources."path-exists-3.0.0"
           sources."string-width-3.1.0"
           sources."strip-ansi-5.2.0"
         ];
@@ -76187,7 +77211,7 @@ in
       sources."function-bind-1.1.1"
       sources."get-stdin-4.0.1"
       sources."getpass-0.1.7"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
@@ -76227,8 +77251,8 @@ in
       sources."loud-rejection-1.6.0"
       sources."map-obj-1.0.1"
       sources."meow-3.7.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-1.2.0"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
@@ -76273,7 +77297,7 @@ in
       sources."repeating-2.0.1"
       sources."request-2.88.2"
       sources."request-progress-2.0.1"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."restore-cursor-1.0.1"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
@@ -76318,10 +77342,10 @@ in
   fauna-shell = nodeEnv.buildNodePackage {
     name = "fauna-shell";
     packageName = "fauna-shell";
-    version = "0.12.1";
+    version = "0.12.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/fauna-shell/-/fauna-shell-0.12.1.tgz";
-      sha512 = "3mI3r9pj/8XOKXlBd/pcSALey1/XJpa/YMluuJQtRI2vwpuAVRi0XdgRXiKzdA2CJFi0o3gZpqEgn7+TMJm8ZA==";
+      url = "https://registry.npmjs.org/fauna-shell/-/fauna-shell-0.12.3.tgz";
+      sha512 = "2K8kh4MAteqj7kOnUq8Goux4Zw0oIZEGN1xoW14cGxrOTDRXvBm3eBndI9gt24rSC8h7T8qdIeLY7O9hn6LSUg==";
     };
     dependencies = [
       (sources."@heroku-cli/color-1.1.14" // {
@@ -76339,14 +77363,17 @@ in
       sources."@nodelib/fs.walk-1.2.6"
       (sources."@oclif/command-1.8.0" // {
         dependencies = [
-          sources."@oclif/plugin-help-3.2.1"
+          sources."@oclif/plugin-help-3.2.2"
           sources."ansi-regex-3.0.0"
           sources."ansi-styles-3.2.1"
+          sources."chalk-4.1.0"
           sources."color-convert-1.9.3"
           sources."color-name-1.1.3"
+          sources."has-flag-4.0.0"
           sources."is-fullwidth-code-point-2.0.0"
           sources."string-width-2.1.1"
           sources."strip-ansi-4.0.0"
+          sources."supports-color-7.2.0"
           sources."wrap-ansi-4.0.0"
         ];
       })
@@ -76378,7 +77405,7 @@ in
       })
       sources."@oclif/screen-1.0.4"
       sources."@sindresorhus/is-0.7.0"
-      sources."abort-controller-3.0.0"
+      sources."abortcontroller-polyfill-1.7.1"
       sources."ajv-6.12.6"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-5.0.0"
@@ -76445,7 +77472,7 @@ in
         ];
       })
       sources."clean-stack-3.0.1"
-      sources."cli-table-0.3.4"
+      sources."cli-table-0.3.5"
       (sources."cli-ux-4.9.3" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
@@ -76465,6 +77492,7 @@ in
       sources."collection-visit-1.0.0"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
+      sources."colors-1.0.3"
       sources."combined-stream-1.0.8"
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
@@ -76493,7 +77521,6 @@ in
       sources."esprima-4.0.1"
       sources."estraverse-4.3.0"
       sources."esutils-2.0.3"
-      sources."event-target-shim-5.0.1"
       sources."execa-0.10.0"
       (sources."expand-brackets-2.1.4" // {
         dependencies = [
@@ -76533,8 +77560,8 @@ in
       sources."fast-glob-3.2.5"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
-      sources."fastq-1.10.0"
-      sources."faunadb-git+https://github.com/fauna/faunadb-js.git#triage/bearer-to-basic"
+      sources."fastq-1.11.0"
+      sources."faunadb-4.0.3"
       sources."fill-range-7.0.1"
       sources."fn-annotate-1.2.0"
       sources."for-in-1.0.2"
@@ -76581,7 +77608,7 @@ in
         ];
       })
       sources."got-8.3.2"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-flag-3.0.0"
@@ -76650,7 +77677,7 @@ in
       sources."keyv-3.0.0"
       sources."kind-of-6.0.3"
       sources."levn-0.3.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash._reinterpolate-3.0.0"
       sources."lodash.template-4.5.0"
       sources."lodash.templatesettings-4.2.0"
@@ -76660,8 +77687,8 @@ in
       sources."map-visit-1.0.0"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.2"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       (sources."mixin-deep-1.3.2" // {
@@ -76722,7 +77749,7 @@ in
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."query-string-5.1.1"
-      sources."querystringify-2.2.0"
+      sources."queue-microtask-1.2.2"
       (sources."readable-stream-2.3.7" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -76735,12 +77762,11 @@ in
       sources."request-2.88.2"
       sources."request-promise-4.2.6"
       sources."request-promise-core-1.1.4"
-      sources."requires-port-1.0.0"
       sources."resolve-url-0.2.1"
       sources."responselike-1.0.2"
       sources."ret-0.1.15"
       sources."reusify-1.0.4"
-      sources."run-parallel-1.1.10"
+      sources."run-parallel-1.2.0"
       sources."safe-buffer-5.2.1"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
@@ -76788,7 +77814,7 @@ in
       sources."sort-keys-2.0.0"
       sources."source-map-0.6.1"
       sources."source-map-resolve-0.5.3"
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."split-string-3.1.0"
       sources."sshpk-1.16.1"
       (sources."static-extend-0.1.2" // {
@@ -76810,7 +77836,7 @@ in
       })
       sources."stealthy-require-1.1.1"
       sources."strict-uri-encode-1.1.0"
-      sources."string-width-4.2.0"
+      sources."string-width-4.2.2"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -76852,7 +77878,6 @@ in
       })
       sources."uri-js-4.4.1"
       sources."urix-0.1.0"
-      sources."url-parse-1.4.7"
       sources."url-parse-lax-3.0.0"
       sources."url-to-options-1.0.1"
       sources."use-3.1.1"
@@ -76869,7 +77894,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "faunadb shell";
-      homepage = https://github.com/fauna/fauna-shell;
+      homepage = "https://github.com/fauna/fauna-shell";
       license = "MPL-2.0";
     };
     production = true;
@@ -76879,10 +77904,10 @@ in
   firebase-tools = nodeEnv.buildNodePackage {
     name = "firebase-tools";
     packageName = "firebase-tools";
-    version = "9.2.2";
+    version = "9.5.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/firebase-tools/-/firebase-tools-9.2.2.tgz";
-      sha512 = "AFjf7S9NjEM+u8ZByJEKASxRG1g+LLg/A0CrzA3V91P92MN+8cyrCigEs7mCdtFknLaShrCgzROyo/OEwd4xdA==";
+      url = "https://registry.npmjs.org/firebase-tools/-/firebase-tools-9.5.0.tgz";
+      sha512 = "M73hIhqfdzGO4eMAd+Jj8V2RPG1KDmhjdnHQaZsJOwmPXyX4eBeOO7dpeHTXU5bYg8AeHVzkCOcLobBcXgYxZw==";
     };
     dependencies = [
       sources."@apidevtools/json-schema-ref-parser-9.0.7"
@@ -76891,10 +77916,13 @@ in
       sources."@google-cloud/precise-date-2.0.3"
       sources."@google-cloud/projectify-2.0.1"
       sources."@google-cloud/promisify-2.0.3"
-      sources."@google-cloud/pubsub-2.8.0"
-      (sources."@grpc/grpc-js-1.2.5" // {
+      (sources."@google-cloud/pubsub-2.10.0" // {
+        dependencies = [
+          sources."google-auth-library-7.0.2"
+        ];
+      })
+      (sources."@grpc/grpc-js-1.2.8" // {
         dependencies = [
-          sources."@types/node-12.19.15"
           sources."semver-6.3.0"
         ];
       })
@@ -76923,9 +77951,12 @@ in
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@tootallnate/once-1.1.2"
+      sources."@types/archiver-5.1.0"
       sources."@types/duplexify-3.6.0"
+      sources."@types/glob-7.1.3"
       sources."@types/long-4.0.1"
-      sources."@types/node-14.14.22"
+      sources."@types/minimatch-3.0.3"
+      sources."@types/node-14.14.31"
       sources."JSONStream-1.3.5"
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
@@ -76934,11 +77965,7 @@ in
       sources."ajv-6.12.6"
       (sources."ansi-align-3.0.0" // {
         dependencies = [
-          sources."ansi-regex-4.1.0"
-          sources."emoji-regex-7.0.3"
-          sources."is-fullwidth-code-point-2.0.0"
           sources."string-width-3.1.0"
-          sources."strip-ansi-5.2.0"
         ];
       })
       sources."ansi-escapes-3.2.0"
@@ -76947,7 +77974,7 @@ in
       sources."ansicolors-0.3.2"
       sources."anymatch-3.1.1"
       sources."aproba-1.2.0"
-      sources."archiver-3.1.1"
+      sources."archiver-5.2.0"
       (sources."archiver-utils-2.1.0" // {
         dependencies = [
           sources."readable-stream-2.3.7"
@@ -76969,7 +77996,7 @@ in
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
       sources."ast-types-0.13.4"
-      sources."async-2.6.3"
+      sources."async-3.2.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
@@ -76986,7 +78013,7 @@ in
       sources."bignumber.js-9.0.1"
       sources."binary-0.3.0"
       sources."binary-extensions-2.2.0"
-      sources."bl-4.0.3"
+      sources."bl-4.1.0"
       sources."blakejs-1.1.0"
       sources."bluebird-3.4.7"
       (sources."body-parser-1.19.0" // {
@@ -76997,11 +78024,16 @@ in
       })
       (sources."boxen-4.2.0" // {
         dependencies = [
+          sources."ansi-regex-5.0.0"
           sources."ansi-styles-4.3.0"
           sources."chalk-3.0.0"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
+          sources."emoji-regex-8.0.0"
           sources."has-flag-4.0.0"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."string-width-4.2.2"
+          sources."strip-ansi-6.0.0"
           sources."supports-color-7.2.0"
         ];
       })
@@ -77034,7 +78066,7 @@ in
       sources."cli-color-1.4.0"
       sources."cli-cursor-2.1.0"
       sources."cli-spinners-2.5.0"
-      sources."cli-table-0.3.4"
+      sources."cli-table-0.3.5"
       sources."cli-width-2.2.1"
       sources."clone-1.0.4"
       sources."clone-response-1.0.2"
@@ -77043,18 +78075,12 @@ in
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."color-string-1.5.4"
-      sources."colors-1.4.0"
+      sources."colors-1.0.3"
       sources."colorspace-1.1.2"
       sources."combined-stream-1.0.8"
       sources."commander-4.1.1"
       sources."compare-semver-1.1.0"
-      (sources."compress-commons-2.1.1" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
+      sources."compress-commons-4.0.2"
       sources."compressible-2.0.18"
       (sources."compression-1.7.4" // {
         dependencies = [
@@ -77082,8 +78108,8 @@ in
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
       sources."core-util-is-1.0.2"
-      sources."crc-3.8.0"
-      sources."crc32-stream-3.0.1"
+      sources."crc-32-1.2.0"
+      sources."crc32-stream-4.0.2"
       (sources."cross-env-5.2.1" // {
         dependencies = [
           sources."cross-spawn-6.0.5"
@@ -77128,7 +78154,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."ecdsa-sig-formatter-1.0.11"
       sources."ee-first-1.1.1"
-      sources."emoji-regex-8.0.0"
+      sources."emoji-regex-7.0.3"
       sources."enabled-2.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
@@ -77155,6 +78181,7 @@ in
       })
       sources."exegesis-express-2.0.0"
       sources."exit-code-1.0.2"
+      sources."exit-on-epipe-1.0.1"
       (sources."express-4.17.1" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -77164,7 +78191,7 @@ in
       })
       (sources."ext-1.4.0" // {
         dependencies = [
-          sources."type-2.1.0"
+          sources."type-2.3.0"
         ];
       })
       sources."extend-3.0.2"
@@ -77183,7 +78210,7 @@ in
       sources."fecha-4.2.0"
       sources."figures-2.0.0"
       sources."file-uri-to-path-2.0.0"
-      sources."filesize-3.6.1"
+      sources."filesize-6.1.0"
       sources."fill-range-7.0.1"
       (sources."finalhandler-1.1.2" // {
         dependencies = [
@@ -77215,7 +78242,7 @@ in
       })
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.3.1"
+      sources."fsevents-2.3.2"
       (sources."fstream-1.0.12" // {
         dependencies = [
           sources."rimraf-2.7.1"
@@ -77251,10 +78278,14 @@ in
       sources."glob-slasher-1.0.1"
       sources."global-dirs-2.1.0"
       sources."google-auth-library-6.1.6"
-      sources."google-gax-2.10.0"
+      (sources."google-gax-2.10.3" // {
+        dependencies = [
+          sources."google-auth-library-7.0.2"
+        ];
+      })
       sources."google-p12-pem-3.0.3"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."gtoken-5.2.1"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
@@ -77279,22 +78310,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.7"
-      (sources."inquirer-6.3.1" // {
-        dependencies = [
-          sources."ansi-regex-3.0.0"
-          sources."is-fullwidth-code-point-2.0.0"
-          (sources."string-width-2.1.1" // {
-            dependencies = [
-              sources."strip-ansi-4.0.0"
-            ];
-          })
-          (sources."strip-ansi-5.2.0" // {
-            dependencies = [
-              sources."ansi-regex-4.1.0"
-            ];
-          })
-        ];
-      })
+      sources."inquirer-6.3.1"
       sources."install-artifact-from-github-1.2.0"
       sources."ip-1.1.5"
       sources."ip-regex-4.3.0"
@@ -77303,7 +78319,7 @@ in
       sources."is-binary-path-2.1.0"
       sources."is-ci-2.0.0"
       sources."is-extglob-2.1.1"
-      sources."is-fullwidth-code-point-3.0.0"
+      sources."is-fullwidth-code-point-2.0.0"
       sources."is-glob-4.0.1"
       sources."is-installed-globally-0.3.2"
       sources."is-npm-4.0.0"
@@ -77357,7 +78373,7 @@ in
       sources."leven-3.1.0"
       sources."levn-0.3.0"
       sources."listenercount-1.0.1"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash._isnative-2.4.1"
       sources."lodash._objecttypes-2.4.1"
       sources."lodash._shimkeys-2.4.1"
@@ -77380,7 +78396,11 @@ in
       sources."lodash.union-4.6.0"
       sources."lodash.values-2.4.1"
       sources."log-symbols-2.2.0"
-      sources."logform-2.2.0"
+      (sources."logform-2.2.0" // {
+        dependencies = [
+          sources."colors-1.4.0"
+        ];
+      })
       sources."long-4.0.0"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-6.0.0"
@@ -77401,8 +78421,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
@@ -77455,12 +78475,7 @@ in
       sources."open-6.4.0"
       sources."openapi3-ts-1.4.0"
       sources."optionator-0.8.3"
-      (sources."ora-3.4.0" // {
-        dependencies = [
-          sources."ansi-regex-4.1.0"
-          sources."strip-ansi-5.2.0"
-        ];
-      })
+      sources."ora-3.4.0"
       sources."os-tmpdir-1.0.2"
       sources."p-cancelable-1.1.0"
       sources."p-defer-3.0.0"
@@ -77480,17 +78495,19 @@ in
       sources."plist-3.0.1"
       (sources."portfinder-1.0.28" // {
         dependencies = [
+          sources."async-2.6.3"
           sources."debug-3.2.7"
         ];
       })
       sources."prelude-ls-1.1.2"
       sources."prepend-http-2.0.0"
+      sources."printj-1.1.2"
       sources."process-nextick-args-2.0.1"
       sources."progress-2.0.3"
       sources."promise-breaker-5.0.0"
       (sources."protobufjs-6.10.2" // {
         dependencies = [
-          sources."@types/node-13.13.40"
+          sources."@types/node-13.13.45"
         ];
       })
       sources."proxy-addr-2.0.6"
@@ -77511,6 +78528,7 @@ in
       sources."rc-1.2.8"
       sources."re2-1.15.9"
       sources."readable-stream-3.6.0"
+      sources."readdir-glob-1.1.1"
       sources."readdirp-3.5.0"
       sources."redeyed-2.1.1"
       sources."registry-auth-token-4.2.1"
@@ -77534,7 +78552,7 @@ in
       })
       sources."rsvp-4.8.5"
       sources."run-async-2.4.1"
-      (sources."rxjs-6.6.3" // {
+      (sources."rxjs-6.6.6" // {
         dependencies = [
           sources."tslib-1.14.1"
         ];
@@ -77579,11 +78597,16 @@ in
           sources."strip-ansi-3.0.1"
         ];
       })
-      sources."string-width-4.2.0"
+      (sources."string-width-2.1.1" // {
+        dependencies = [
+          sources."ansi-regex-3.0.0"
+          sources."strip-ansi-4.0.0"
+        ];
+      })
       sources."string_decoder-1.3.0"
-      (sources."strip-ansi-6.0.0" // {
+      (sources."strip-ansi-5.2.0" // {
         dependencies = [
-          sources."ansi-regex-5.0.0"
+          sources."ansi-regex-4.1.0"
         ];
       })
       sources."strip-json-comments-2.0.1"
@@ -77684,20 +78707,17 @@ in
       sources."verror-1.10.0"
       sources."wcwidth-1.0.1"
       sources."which-1.3.1"
-      (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."widest-line-3.1.0"
-      (sources."winston-3.3.3" // {
+      sources."wide-align-1.1.3"
+      (sources."widest-line-3.1.0" // {
         dependencies = [
-          sources."async-3.2.0"
+          sources."ansi-regex-5.0.0"
+          sources."emoji-regex-8.0.0"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."string-width-4.2.2"
+          sources."strip-ansi-6.0.0"
         ];
       })
+      sources."winston-3.3.3"
       (sources."winston-transport-4.4.0" // {
         dependencies = [
           sources."readable-stream-2.3.7"
@@ -77708,19 +78728,19 @@ in
       sources."word-wrap-1.2.3"
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
-      sources."ws-7.4.2"
+      sources."ws-7.4.3"
       sources."xdg-basedir-4.0.0"
       sources."xmlbuilder-9.0.7"
       sources."xmldom-0.1.31"
       sources."xregexp-2.0.0"
       sources."xtend-4.0.2"
       sources."yallist-4.0.0"
-      sources."zip-stream-2.1.3"
+      sources."zip-stream-4.0.4"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "Command-Line Interface for Firebase";
-      homepage = https://github.com/firebase/firebase-tools;
+      homepage = "https://github.com/firebase/firebase-tools";
       license = "MIT";
     };
     production = true;
@@ -77758,13 +78778,13 @@ in
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."require-directory-2.1.1"
-      sources."string-width-4.2.0"
+      sources."string-width-4.2.2"
       sources."strip-ansi-6.0.0"
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
       sources."y18n-5.0.5"
       sources."yargs-16.2.0"
-      sources."yargs-parser-20.2.4"
+      sources."yargs-parser-20.2.6"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -77785,9 +78805,9 @@ in
       sha512 = "untVuHgEQjwTXQGiWcwMTi0Uks6ht9R5hb1mDT4AEQitZ/z8UrhvseQsGEC3kVEjfxQ6bdmCMaA/hKTZ5aQDrA==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
+      sources."@babel/code-frame-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      (sources."@babel/highlight-7.10.4" // {
+      (sources."@babel/highlight-7.13.8" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -77837,7 +78857,7 @@ in
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
-      sources."hosted-git-info-3.0.7"
+      sources."hosted-git-info-3.0.8"
       sources."human-signals-2.1.0"
       sources."iconv-lite-0.4.24"
       sources."indent-string-4.0.0"
@@ -77854,7 +78874,7 @@ in
       sources."kind-of-6.0.3"
       sources."lines-and-columns-1.1.6"
       sources."locate-path-5.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lru-cache-6.0.0"
       sources."map-obj-4.1.0"
       (sources."meow-8.1.2" // {
@@ -77908,10 +78928,10 @@ in
         ];
       })
       sources."redent-3.0.0"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."restore-cursor-3.1.0"
       sources."run-async-2.4.1"
-      sources."rxjs-6.6.3"
+      sources."rxjs-6.6.6"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.4"
       sources."shebang-command-2.0.0"
@@ -77922,7 +78942,7 @@ in
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
       sources."spdx-license-ids-3.0.7"
-      sources."string-width-4.2.0"
+      sources."string-width-4.2.2"
       sources."strip-ansi-6.0.0"
       sources."strip-final-newline-2.0.0"
       sources."strip-indent-3.0.0"
@@ -77943,7 +78963,7 @@ in
       sources."which-2.0.2"
       sources."wrappy-1.0.2"
       sources."yallist-4.0.0"
-      sources."yargs-parser-20.2.4"
+      sources."yargs-parser-20.2.6"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -77958,44 +78978,11 @@ in
   flood = nodeEnv.buildNodePackage {
     name = "flood";
     packageName = "flood";
-    version = "4.3.1";
+    version = "4.4.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/flood/-/flood-4.3.1.tgz";
-      sha512 = "dq1ModlLpq8eJGJ3oqKLam+HvHfUvcFCcDb464rdzVHOERXeKzPvjMBynXgED9UZxutEoXQGd32Vyoehnodd4Q==";
+      url = "https://registry.npmjs.org/flood/-/flood-4.4.1.tgz";
+      sha512 = "C15ULT/FBNrjhF4Qf6d235+Pnmyv9TO6fqy4t/dS41emoHAjJsFZe5opefo6OQXtZ7BBvUz0flgPclq4zM3mkg==";
     };
-    dependencies = [
-      sources."async-2.6.3"
-      sources."balanced-match-1.0.0"
-      sources."brace-expansion-1.1.11"
-      sources."buffer-crc32-0.2.13"
-      sources."colors-1.4.0"
-      sources."concat-map-0.0.1"
-      sources."fd-slicer-1.1.0"
-      sources."fs.realpath-1.0.0"
-      sources."geoip-country-4.0.53"
-      sources."glob-7.1.6"
-      sources."iconv-lite-0.5.2"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
-      sources."ip-address-6.4.0"
-      sources."jsbn-1.1.0"
-      sources."lazy-1.0.11"
-      sources."lodash-4.17.20"
-      sources."lodash.find-4.6.0"
-      sources."lodash.max-4.0.1"
-      sources."lodash.merge-4.6.2"
-      sources."lodash.padstart-4.6.1"
-      sources."lodash.repeat-4.1.0"
-      sources."minimatch-3.0.4"
-      sources."once-1.4.0"
-      sources."path-is-absolute-1.0.1"
-      sources."pend-1.2.0"
-      sources."rimraf-2.7.1"
-      sources."safer-buffer-2.1.2"
-      sources."sprintf-js-1.1.2"
-      sources."wrappy-1.0.2"
-      sources."yauzl-2.10.0"
-    ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "A modern Web UI for various torrent clients with multi-user and multi-client support";
@@ -78144,7 +79131,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."fsevents-1.2.13"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."get-value-2.0.6"
       sources."glob-7.1.6"
       (sources."glob-parent-3.1.0" // {
@@ -78152,9 +79139,9 @@ in
           sources."is-glob-3.1.0"
         ];
       })
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."has-1.0.3"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -78183,7 +79170,7 @@ in
         ];
       })
       sources."is-plain-object-2.0.4"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-windows-1.0.2"
       sources."isarray-1.0.0"
       sources."isobject-3.0.1"
@@ -78231,7 +79218,7 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."object-is-1.1.4"
+      sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       sources."object-visit-1.0.1"
       sources."object.pick-1.3.0"
@@ -78307,7 +79294,7 @@ in
       })
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.3"
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."split-0.3.3"
       sources."split-string-3.1.0"
       sources."stack-trace-0.0.10"
@@ -78412,14 +79399,32 @@ in
       sources."indent-string-4.0.0"
       sources."is-fullwidth-code-point-3.0.0"
       sources."lossless-json-1.0.4"
-      sources."string-width-4.2.0"
+      sources."string-width-4.2.2"
       sources."strip-ansi-6.0.0"
       sources."supports-color-7.2.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "Command-line JSON viewer";
-      homepage = https://fx.wtf/;
+      homepage = "https://fx.wtf";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  ganache-cli = nodeEnv.buildNodePackage {
+    name = "ganache-cli";
+    packageName = "ganache-cli";
+    version = "6.12.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/ganache-cli/-/ganache-cli-6.12.2.tgz";
+      sha512 = "bnmwnJDBDsOWBUP8E/BExWf85TsdDEFelQSzihSJm9VChVO1SHp94YXLP5BlA4j/OTxp0wR4R1Tje9OHOuAJVw==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "<p align=\"center\">   <em>NOTICE</em>: <code>testrpc</code> is now <code>ganache-cli</code>. Use it just as you would <code>testrpc</code>. </p> <hr/>";
+      homepage = "https://github.com/trufflesuite/ganache-cli#readme";
       license = "MIT";
     };
     production = true;
@@ -78468,7 +79473,7 @@ in
     dependencies = [
       sources."async-2.6.3"
       sources."debug-4.3.2"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.groupby-4.6.0"
       sources."microee-0.0.6"
       sources."minilog-3.1.0"
@@ -78496,7 +79501,7 @@ in
     };
     dependencies = [
       sources."asyncmemo-1.0.0"
-      sources."chloride-2.4.0"
+      sources."chloride-2.4.1"
       sources."chloride-test-1.2.4"
       sources."commander-2.20.3"
       sources."debug-4.3.2"
@@ -78526,13 +79531,13 @@ in
       sources."jsonpointer-4.1.0"
       sources."kvgraph-0.1.0"
       sources."kvset-1.0.0"
-      sources."libsodium-0.7.8"
-      sources."libsodium-wrappers-0.7.8"
+      sources."libsodium-0.7.9"
+      sources."libsodium-wrappers-0.7.9"
       sources."lodash.get-4.4.2"
       sources."looper-4.0.0"
       sources."lrucache-1.0.3"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."moment-2.29.1"
@@ -78619,7 +79624,7 @@ in
         ];
       })
       sources."sodium-chloride-1.1.2"
-      sources."sodium-native-3.2.0"
+      sources."sodium-native-3.2.1"
       sources."split-buffer-1.0.0"
       sources."ssb-avatar-0.2.0"
       sources."ssb-caps-1.1.0"
@@ -78663,7 +79668,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "git hosting on secure-scuttlebutt (ssb)";
-      homepage = https://git-ssb.celehner.com/%25n92DiQh7ietE%2BR%2BX%2FI403LQoyf2DtR3WQfCkDKlheQU%3D.sha256;
+      homepage = "https://git-ssb.celehner.com/%25n92DiQh7ietE%2BR%2BX%2FI403LQoyf2DtR3WQfCkDKlheQU%3D.sha256";
       license = "Fair";
     };
     production = true;
@@ -78691,15 +79696,15 @@ in
   gitmoji-cli = nodeEnv.buildNodePackage {
     name = "gitmoji-cli";
     packageName = "gitmoji-cli";
-    version = "3.2.18";
+    version = "3.3.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/gitmoji-cli/-/gitmoji-cli-3.2.18.tgz";
-      sha512 = "2H4Y6kXvYRBdh42FUz8gaLkQ5AvtYYBXRgRElXjX/st4QhG+bgHdnCFGYoTbrVc2uA2vS63HtUS8AJ7SNE6Rew==";
+      url = "https://registry.npmjs.org/gitmoji-cli/-/gitmoji-cli-3.3.0.tgz";
+      sha512 = "xvuBiQdo0pbBaucrIIGEicPU5ibX+aCDdr9X7kHpsy55q+qqLlzhDJ0aF8LtYFgSI4/hsrk2gSYMVLRAyy6HQg==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
+      sources."@babel/code-frame-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      (sources."@babel/highlight-7.10.4" // {
+      (sources."@babel/highlight-7.13.8" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -78713,7 +79718,8 @@ in
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/minimist-1.2.1"
       sources."@types/normalize-package-data-2.4.0"
-      sources."ajv-6.12.6"
+      sources."ajv-7.1.1"
+      sources."ajv-formats-1.5.1"
       (sources."ansi-align-3.0.0" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
@@ -78729,11 +79735,11 @@ in
       sources."arrify-1.0.1"
       sources."atomically-1.7.0"
       sources."base64-js-1.5.1"
-      sources."bl-4.0.3"
-      (sources."boxen-4.2.0" // {
+      sources."bl-4.1.0"
+      (sources."boxen-5.0.0" // {
         dependencies = [
-          sources."chalk-3.0.0"
-          sources."type-fest-0.8.1"
+          sources."camelcase-6.2.0"
+          sources."type-fest-0.20.2"
         ];
       })
       sources."buffer-5.7.1"
@@ -78756,8 +79762,12 @@ in
       sources."clone-response-1.0.2"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."conf-7.1.2"
-      sources."configstore-5.0.1"
+      sources."conf-9.0.2"
+      (sources."configstore-5.0.1" // {
+        dependencies = [
+          sources."dot-prop-5.3.0"
+        ];
+      })
       sources."cross-spawn-7.0.3"
       sources."crypto-random-string-2.0.0"
       sources."debounce-fn-4.0.0"
@@ -78771,7 +79781,7 @@ in
       sources."deep-extend-0.6.0"
       sources."defaults-1.0.3"
       sources."defer-to-connect-1.1.3"
-      sources."dot-prop-5.3.0"
+      sources."dot-prop-6.0.1"
       sources."duplexer3-0.1.4"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
@@ -78782,24 +79792,23 @@ in
       sources."execa-5.0.0"
       sources."external-editor-3.1.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-json-stable-stringify-2.1.0"
       sources."figures-3.2.0"
       sources."find-up-3.0.0"
       sources."function-bind-1.1.1"
       sources."fuse.js-6.4.6"
       sources."get-stream-6.0.0"
-      sources."global-dirs-2.1.0"
+      sources."global-dirs-3.0.0"
       (sources."got-9.6.0" // {
         dependencies = [
           sources."get-stream-4.1.0"
         ];
       })
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."has-yarn-2.1.0"
-      sources."hosted-git-info-3.0.7"
+      sources."hosted-git-info-3.0.8"
       sources."http-cache-semantics-4.1.0"
       sources."human-signals-2.1.0"
       sources."iconv-lite-0.4.24"
@@ -78808,14 +79817,14 @@ in
       sources."imurmurhash-0.1.4"
       sources."indent-string-4.0.0"
       sources."inherits-2.0.4"
-      sources."ini-1.3.7"
+      sources."ini-2.0.0"
       sources."inquirer-7.3.3"
       sources."inquirer-autocomplete-prompt-1.3.0"
       sources."is-arrayish-0.2.1"
       sources."is-ci-2.0.0"
       sources."is-core-module-2.2.0"
       sources."is-fullwidth-code-point-3.0.0"
-      sources."is-installed-globally-0.3.2"
+      sources."is-installed-globally-0.4.0"
       sources."is-interactive-1.0.0"
       sources."is-npm-5.0.0"
       sources."is-obj-2.0.0"
@@ -78828,7 +79837,7 @@ in
       sources."js-tokens-4.0.0"
       sources."json-buffer-3.0.0"
       sources."json-parse-even-better-errors-2.3.1"
-      sources."json-schema-traverse-0.4.1"
+      sources."json-schema-traverse-1.0.0"
       sources."json-schema-typed-7.0.3"
       sources."keyv-3.1.0"
       sources."kind-of-6.0.3"
@@ -78839,7 +79848,7 @@ in
           sources."path-exists-3.0.0"
         ];
       })
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."log-symbols-4.0.0"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-6.0.0"
@@ -78849,7 +79858,7 @@ in
         ];
       })
       sources."map-obj-4.1.0"
-      (sources."meow-8.1.2" // {
+      (sources."meow-9.0.0" // {
         dependencies = [
           sources."type-fest-0.18.1"
         ];
@@ -78892,7 +79901,11 @@ in
       sources."punycode-2.1.1"
       sources."pupa-2.1.1"
       sources."quick-lru-4.0.1"
-      sources."rc-1.2.8"
+      (sources."rc-1.2.8" // {
+        dependencies = [
+          sources."ini-1.3.8"
+        ];
+      })
       (sources."read-pkg-5.2.0" // {
         dependencies = [
           sources."hosted-git-info-2.8.8"
@@ -78913,11 +79926,12 @@ in
       sources."redent-3.0.0"
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
-      sources."resolve-1.19.0"
+      sources."require-from-string-2.0.2"
+      sources."resolve-1.20.0"
       sources."responselike-1.0.2"
       sources."restore-cursor-3.1.0"
       sources."run-async-2.4.1"
-      sources."rxjs-6.6.3"
+      sources."rxjs-6.6.6"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.4"
@@ -78933,14 +79947,13 @@ in
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
       sources."spdx-license-ids-3.0.7"
-      sources."string-width-4.2.0"
+      sources."string-width-4.2.2"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.0"
       sources."strip-final-newline-2.0.0"
       sources."strip-indent-3.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
-      sources."term-size-2.2.1"
       sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."to-readable-stream-1.0.0"
@@ -78949,7 +79962,7 @@ in
       sources."type-fest-0.11.0"
       sources."typedarray-to-buffer-3.1.5"
       sources."unique-string-2.0.0"
-      sources."update-notifier-5.0.1"
+      sources."update-notifier-5.1.0"
       sources."uri-js-4.4.1"
       sources."url-parse-lax-3.0.0"
       sources."util-deprecate-1.0.2"
@@ -78957,11 +79970,12 @@ in
       sources."wcwidth-1.0.1"
       sources."which-2.0.2"
       sources."widest-line-3.1.0"
+      sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
       sources."xdg-basedir-4.0.0"
       sources."yallist-4.0.0"
-      sources."yargs-parser-20.2.4"
+      sources."yargs-parser-20.2.6"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -78983,9 +79997,9 @@ in
     };
     dependencies = [
       sources."@ardatan/aggregate-error-0.0.6"
-      sources."@babel/code-frame-7.12.11"
+      sources."@babel/code-frame-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      (sources."@babel/highlight-7.10.4" // {
+      (sources."@babel/highlight-7.13.8" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -79000,33 +80014,33 @@ in
       sources."@graphql-cli/init-4.1.0"
       (sources."@graphql-tools/batch-execute-7.0.0" // {
         dependencies = [
-          (sources."@graphql-tools/utils-7.2.4" // {
+          (sources."@graphql-tools/utils-7.5.0" // {
             dependencies = [
               sources."tslib-2.1.0"
             ];
           })
         ];
       })
-      (sources."@graphql-tools/delegate-7.0.9" // {
+      (sources."@graphql-tools/delegate-7.0.10" // {
         dependencies = [
-          sources."@graphql-tools/utils-7.2.4"
+          sources."@graphql-tools/utils-7.5.0"
           sources."tslib-2.1.0"
         ];
       })
       (sources."@graphql-tools/graphql-file-loader-6.2.7" // {
         dependencies = [
-          sources."@graphql-tools/utils-7.2.4"
+          sources."@graphql-tools/utils-7.5.0"
           sources."tslib-2.1.0"
         ];
       })
-      (sources."@graphql-tools/import-6.2.6" // {
+      (sources."@graphql-tools/import-6.3.0" // {
         dependencies = [
           sources."tslib-2.1.0"
         ];
       })
       (sources."@graphql-tools/json-file-loader-6.2.6" // {
         dependencies = [
-          (sources."@graphql-tools/utils-7.2.4" // {
+          (sources."@graphql-tools/utils-7.5.0" // {
             dependencies = [
               sources."tslib-2.1.0"
             ];
@@ -79034,24 +80048,22 @@ in
         ];
       })
       sources."@graphql-tools/load-6.2.4"
-      (sources."@graphql-tools/merge-6.2.7" // {
+      (sources."@graphql-tools/merge-6.2.10" // {
         dependencies = [
-          sources."@graphql-tools/utils-7.2.4"
+          sources."@graphql-tools/utils-7.5.0"
           sources."tslib-2.1.0"
         ];
       })
-      (sources."@graphql-tools/schema-7.1.2" // {
+      (sources."@graphql-tools/schema-7.1.3" // {
         dependencies = [
-          (sources."@graphql-tools/utils-7.2.4" // {
-            dependencies = [
-              sources."tslib-2.1.0"
-            ];
-          })
+          sources."@graphql-tools/utils-7.5.0"
+          sources."tslib-2.1.0"
         ];
       })
-      (sources."@graphql-tools/url-loader-6.8.0" // {
+      (sources."@graphql-tools/url-loader-6.8.1" // {
         dependencies = [
-          sources."@graphql-tools/utils-7.2.4"
+          sources."@graphql-tools/utils-7.5.0"
+          sources."form-data-4.0.0"
           sources."tslib-2.1.0"
         ];
       })
@@ -79066,7 +80078,7 @@ in
       })
       (sources."@graphql-tools/wrap-7.0.5" // {
         dependencies = [
-          (sources."@graphql-tools/utils-7.2.4" // {
+          (sources."@graphql-tools/utils-7.5.0" // {
             dependencies = [
               sources."tslib-2.1.0"
             ];
@@ -79080,7 +80092,7 @@ in
       sources."@nodelib/fs.walk-1.2.6"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-14.14.22"
+      sources."@types/node-14.14.31"
       sources."@types/parse-json-4.0.0"
       sources."@types/websocket-1.0.1"
       sources."aggregate-error-3.1.0"
@@ -79197,7 +80209,7 @@ in
       sources."fast-glob-3.2.5"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-safe-stringify-2.0.7"
-      sources."fastq-1.10.0"
+      sources."fastq-1.11.0"
       sources."figlet-1.5.0"
       sources."figures-3.2.0"
       sources."fill-range-7.0.1"
@@ -79213,7 +80225,7 @@ in
       sources."fullname-4.0.1"
       sources."function-bind-1.1.1"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."get-stream-4.1.0"
       sources."getpass-0.1.7"
       sources."glob-7.1.6"
@@ -79224,22 +80236,22 @@ in
           sources."p-cancelable-1.1.0"
         ];
       })
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."graphql-15.3.0"
       (sources."graphql-config-3.0.3" // {
         dependencies = [
           sources."cosmiconfig-6.0.0"
         ];
       })
-      sources."graphql-subscriptions-1.1.0"
+      sources."graphql-subscriptions-1.2.0"
       sources."graphql-type-json-0.3.2"
       sources."graphql-upload-11.0.0"
-      sources."graphql-ws-4.1.0"
+      sources."graphql-ws-4.1.5"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."http-cache-semantics-4.1.0"
       sources."http-errors-1.8.0"
       sources."http-signature-1.2.0"
@@ -79271,7 +80283,7 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-bigint-1.0.1"
       sources."is-boolean-object-1.1.0"
-      sources."is-callable-1.2.2"
+      sources."is-callable-1.2.3"
       sources."is-date-object-1.0.2"
       sources."is-docker-2.1.1"
       sources."is-extglob-2.1.1"
@@ -79283,12 +80295,12 @@ in
       sources."is-number-7.0.0"
       sources."is-number-object-1.0.4"
       sources."is-promise-4.0.0"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-set-2.0.2"
       sources."is-stream-1.1.0"
       sources."is-string-1.0.5"
       sources."is-symbol-1.0.3"
-      sources."is-typed-array-1.1.4"
+      sources."is-typed-array-1.1.5"
       sources."is-typedarray-1.0.0"
       sources."is-weakmap-2.0.1"
       sources."is-weakset-2.0.1"
@@ -79296,7 +80308,6 @@ in
       sources."isarray-2.0.5"
       sources."isexe-2.0.0"
       sources."isobject-4.0.0"
-      sources."isomorphic-form-data-2.0.0"
       sources."isomorphic-ws-4.0.1"
       sources."isstream-0.1.2"
       sources."iterall-1.3.0"
@@ -79319,7 +80330,7 @@ in
       sources."keyv-3.1.0"
       sources."latest-version-5.1.0"
       sources."lines-and-columns-1.1.6"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.toarray-4.4.0"
       (sources."log-symbols-2.2.0" // {
         dependencies = [
@@ -79345,8 +80356,8 @@ in
       })
       sources."merge2-1.4.1"
       sources."micromatch-4.0.2"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
@@ -79380,7 +80391,7 @@ in
       sources."oas-validator-5.0.5"
       sources."oauth-sign-0.9.0"
       sources."object-inspect-1.9.0"
-      sources."object-is-1.1.4"
+      sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       sources."object-path-0.11.5"
       sources."object.assign-4.1.2"
@@ -79435,6 +80446,7 @@ in
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."querystringify-2.2.0"
+      sources."queue-microtask-1.2.2"
       sources."rc-1.2.8"
       sources."reftools-1.1.8"
       sources."regexp.prototype.flags-1.3.1"
@@ -79450,8 +80462,8 @@ in
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
       sources."run-async-2.4.1"
-      sources."run-parallel-1.1.10"
-      (sources."rxjs-6.6.3" // {
+      sources."run-parallel-1.2.0"
+      (sources."rxjs-6.6.6" // {
         dependencies = [
           sources."tslib-1.14.1"
         ];
@@ -79478,14 +80490,14 @@ in
       sources."statuses-1.5.0"
       sources."streamsearch-0.1.2"
       sources."string-env-interpolation-1.0.1"
-      (sources."string-width-4.2.0" // {
+      (sources."string-width-4.2.2" // {
         dependencies = [
           sources."ansi-regex-5.0.0"
           sources."strip-ansi-6.0.0"
         ];
       })
-      sources."string.prototype.trimend-1.0.3"
-      sources."string.prototype.trimstart-1.0.3"
+      sources."string.prototype.trimend-1.0.4"
+      sources."string.prototype.trimstart-1.0.4"
       sources."strip-ansi-5.2.0"
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
@@ -79510,7 +80522,7 @@ in
       sources."universalify-1.0.0"
       sources."unixify-1.0.0"
       sources."uri-js-4.4.1"
-      sources."url-parse-1.4.7"
+      sources."url-parse-1.5.1"
       sources."url-parse-lax-3.0.0"
       sources."uuid-3.4.0"
       sources."valid-url-1.0.9"
@@ -79527,12 +80539,12 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      sources."ws-7.4.2"
+      sources."ws-7.4.3"
       sources."y18n-5.0.5"
       sources."yallist-4.0.0"
       sources."yaml-1.10.0"
       sources."yargs-16.0.3"
-      sources."yargs-parser-20.2.4"
+      sources."yargs-parser-20.2.6"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -79720,7 +80732,7 @@ in
       sources."regex-not-1.0.2"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."resolve-dir-1.0.1"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
@@ -79760,7 +80772,7 @@ in
       })
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.3"
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."split-string-3.1.0"
       (sources."static-extend-0.1.2" // {
         dependencies = [
@@ -79816,15 +80828,15 @@ in
   makam = nodeEnv.buildNodePackage {
     name = "makam";
     packageName = "makam";
-    version = "0.7.38";
+    version = "0.7.40";
     src = fetchurl {
-      url = "https://registry.npmjs.org/makam/-/makam-0.7.38.tgz";
-      sha512 = "xRlCK3zKbEvQqDUH8C6dW6O+LdV6QDoxzbe2LSghO+ZrZq+iRbnXJvvNFvFRkGFW7fqciGvGq1P1dX5Rkul12w==";
+      url = "https://registry.npmjs.org/makam/-/makam-0.7.40.tgz";
+      sha512 = "EfuAPhLvKuN2ruOqyDpG8epeaDzAKg/6K5BgaDMaivJ9+DC84eI7PsluBYe01cuEJGaOoQCtO2mGKwMy7o2DNw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
       description = "The Makam metalanguage -- a tool for rapid language prototyping";
-      homepage = http://astampoulis.github.io/makam/;
+      homepage = "http://astampoulis.github.io/makam/";
       license = "GPL-3.0";
     };
     production = true;
@@ -79868,8 +80880,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimist-1.2.5"
       sources."ms-2.0.0"
       sources."negotiator-0.6.2"
@@ -79902,7 +80914,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "MeshCommander web server";
-      homepage = http://meshcommander.com/;
+      homepage = "http://meshcommander.com";
       license = "Apache-2.0";
     };
     production = true;
@@ -79932,7 +80944,7 @@ in
       sources."is-stream-1.1.0"
       sources."iterall-1.3.0"
       sources."js-tokens-3.0.2"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."node-fetch-1.7.3"
       sources."pad-component-0.0.1"
       sources."pluralize-5.1.0"
@@ -79975,22 +80987,13 @@ in
       sources."cardinal-2.1.1"
       sources."chalk-1.1.3"
       sources."charm-0.1.2"
-      (sources."cli-table-0.3.4" // {
-        dependencies = [
-          sources."ansi-styles-3.2.1"
-          sources."chalk-2.4.2"
-          sources."color-convert-1.9.3"
-          sources."color-name-1.1.3"
-          sources."has-flag-3.0.0"
-          sources."supports-color-5.5.0"
-        ];
-      })
+      sources."cli-table-0.3.5"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
+      sources."colors-1.0.3"
       sources."core-util-is-1.0.2"
       sources."drawille-blessed-contrib-1.0.0"
       sources."drawille-canvas-blessed-contrib-0.1.3"
-      sources."emoji-regex-8.0.0"
       sources."escape-string-regexp-1.0.5"
       sources."esprima-4.0.1"
       (sources."event-stream-0.9.8" // {
@@ -80003,9 +81006,8 @@ in
       sources."has-flag-4.0.0"
       sources."here-0.0.2"
       sources."inherits-2.0.4"
-      sources."is-fullwidth-code-point-3.0.0"
       sources."isarray-0.0.1"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.toarray-4.4.0"
       sources."map-canvas-0.1.5"
       sources."marked-0.7.0"
@@ -80027,12 +81029,6 @@ in
       sources."redeyed-2.1.1"
       sources."sax-1.2.4"
       sources."sparkline-0.1.2"
-      (sources."string-width-4.2.0" // {
-        dependencies = [
-          sources."ansi-regex-5.0.0"
-          sources."strip-ansi-6.0.0"
-        ];
-      })
       sources."string_decoder-0.10.31"
       sources."strip-ansi-3.0.1"
       sources."supports-color-2.0.0"
@@ -80041,7 +81037,7 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."systeminformation-4.34.9"
+      sources."systeminformation-4.34.15"
       sources."term-canvas-0.0.5"
       sources."type-fest-0.11.0"
       sources."wordwrap-0.0.3"
@@ -80203,7 +81199,7 @@ in
       sources."expand-tilde-2.0.2"
       (sources."ext-1.4.0" // {
         dependencies = [
-          sources."type-2.1.0"
+          sources."type-2.3.0"
         ];
       })
       sources."extend-3.0.2"
@@ -80239,7 +81235,7 @@ in
       sources."fsevents-1.2.13"
       sources."function-bind-1.1.1"
       sources."get-caller-file-1.0.3"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."get-value-2.0.6"
       sources."glob-7.1.6"
       (sources."glob-parent-3.1.0" // {
@@ -80252,11 +81248,11 @@ in
       sources."global-modules-1.0.0"
       sources."global-prefix-1.0.2"
       sources."glogg-1.0.2"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."gulp-cli-2.3.0"
       sources."gulplog-1.0.0"
       sources."has-1.0.3"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -80298,7 +81294,7 @@ in
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
-      sources."just-debounce-1.0.0"
+      sources."just-debounce-1.1.0"
       sources."kind-of-6.0.3"
       sources."last-run-1.1.1"
       sources."lazystream-1.0.0"
@@ -80389,7 +81385,7 @@ in
       sources."replace-homedir-1.0.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."resolve-dir-1.0.1"
       sources."resolve-options-1.1.0"
       sources."resolve-url-0.2.1"
@@ -80434,7 +81430,7 @@ in
       })
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.3"
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."sparkles-1.0.1"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
@@ -80521,7 +81517,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "The streaming build system.";
-      homepage = https://gulpjs.com/;
+      homepage = "https://gulpjs.com";
       license = "MIT";
     };
     production = true;
@@ -80609,7 +81605,7 @@ in
       sources."expand-tilde-2.0.2"
       (sources."ext-1.4.0" // {
         dependencies = [
-          sources."type-2.1.0"
+          sources."type-2.3.0"
         ];
       })
       sources."extend-3.0.2"
@@ -80639,15 +81635,15 @@ in
       sources."fragment-cache-0.2.1"
       sources."function-bind-1.1.1"
       sources."get-caller-file-1.0.3"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."get-value-2.0.6"
       sources."global-modules-1.0.0"
       sources."global-prefix-1.0.2"
       sources."glogg-1.0.2"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."gulplog-1.0.0"
       sources."has-1.0.3"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -80780,7 +81776,7 @@ in
       sources."replace-homedir-1.0.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."resolve-dir-1.0.1"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
@@ -80816,7 +81812,7 @@ in
       })
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.3"
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."sparkles-1.0.1"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
@@ -80875,7 +81871,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Command line interface for gulp";
-      homepage = https://gulpjs.com/;
+      homepage = "https://gulpjs.com";
       license = "MIT";
     };
     production = true;
@@ -80893,7 +81889,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "A robust HTML entities encoder/decoder with full Unicode support.";
-      homepage = https://mths.be/he;
+      homepage = "https://mths.be/he";
       license = "MIT";
     };
     production = true;
@@ -80918,13 +81914,13 @@ in
       sources."param-case-2.1.1"
       sources."relateurl-0.2.7"
       sources."source-map-0.6.1"
-      sources."uglify-js-3.12.5"
+      sources."uglify-js-3.12.8"
       sources."upper-case-1.1.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "Highly configurable, well-tested, JavaScript-based HTML minifier.";
-      homepage = https://kangax.github.io/html-minifier/;
+      homepage = "https://kangax.github.io/html-minifier/";
       license = "MIT";
     };
     production = true;
@@ -80989,8 +81985,8 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.1"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimatch-3.0.4"
       sources."oauth-sign-0.9.0"
       sources."once-1.4.0"
@@ -81018,7 +82014,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "The Static Code Analysis Tool for your HTML";
-      homepage = https://htmlhint.com/;
+      homepage = "https://htmlhint.com";
       license = "MIT";
     };
     production = true;
@@ -81041,10 +82037,10 @@ in
       sources."debug-3.2.7"
       sources."ecstatic-3.3.2"
       sources."eventemitter3-4.0.7"
-      sources."follow-redirects-1.13.2"
+      sources."follow-redirects-1.13.3"
       sources."he-1.2.0"
       sources."http-proxy-1.18.1"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."mime-1.6.0"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
@@ -81095,7 +82091,7 @@ in
       sources."bs32-0.1.6"
       sources."bsert-0.0.10"
       sources."bsock-0.1.9"
-      sources."bsocks-0.2.5"
+      sources."bsocks-0.2.6"
       sources."btcp-0.1.5"
       sources."budp-0.1.6"
       sources."buffer-map-0.0.7"
@@ -81114,7 +82110,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Cryptocurrency bike-shed";
-      homepage = https://github.com/handshake-org/hsd;
+      homepage = "https://github.com/handshake-org/hsd";
       license = "MIT";
     };
     production = true;
@@ -81141,7 +82137,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Handshake airdrop redemption";
-      homepage = https://github.com/handshake-org/hs-airdrop;
+      homepage = "https://github.com/handshake-org/hs-airdrop";
       license = "MIT";
     };
     production = true;
@@ -81166,7 +82162,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "HSD node and wallet client";
-      homepage = https://github.com/handshake-org/hs-client;
+      homepage = "https://github.com/handshake-org/hs-client";
       license = "MIT";
     };
     production = true;
@@ -81242,7 +82238,7 @@ in
       sources."aproba-1.2.0"
       sources."are-we-there-yet-1.1.5"
       sources."base64-js-1.5.1"
-      (sources."bl-4.0.3" // {
+      (sources."bl-4.1.0" // {
         dependencies = [
           sources."readable-stream-3.6.0"
         ];
@@ -81313,7 +82309,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "IJavascript is a Javascript kernel for the Jupyter notebook";
-      homepage = https://n-riesco.github.io/ijavascript;
+      homepage = "https://n-riesco.github.io/ijavascript";
       license = "BSD-3-Clause";
     };
     production = true;
@@ -81398,7 +82394,7 @@ in
           sources."object-assign-3.0.0"
         ];
       })
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-ansi-2.0.0"
@@ -81451,8 +82447,8 @@ in
       sources."longest-1.0.1"
       sources."lowercase-keys-1.0.1"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."ms-2.0.0"
@@ -81529,7 +82525,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Utility to inline images, CSS and JavaScript for a web page - useful for mobile sites";
-      homepage = https://github.com/remy/inliner;
+      homepage = "http://github.com/remy/inliner";
       license = "MIT";
     };
     production = true;
@@ -81655,7 +82651,7 @@ in
       sources."get-stream-4.1.0"
       sources."glob-7.1.6"
       sources."good-listener-1.2.2"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."historic-readline-1.0.8"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -81664,7 +82660,7 @@ in
       sources."is-wsl-2.2.0"
       sources."isexe-2.0.0"
       sources."jquery-3.5.1"
-      sources."jquery.terminal-2.20.2"
+      sources."jquery.terminal-2.22.0"
       sources."jsonfile-2.4.0"
       sources."keyboardevent-key-polyfill-1.1.0"
       sources."line-reader-0.4.0"
@@ -81694,7 +82690,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "High precision scientific calculator with support for physical units";
-      homepage = https://github.com/sharkdp/insect;
+      homepage = "https://github.com/sharkdp/insect";
       license = "MIT";
     };
     production = true;
@@ -81806,7 +82802,7 @@ in
       sources."get-stream-4.1.0"
       sources."get-uri-3.0.2"
       sources."glob-7.1.6"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."has-flag-4.0.0"
       sources."http-errors-1.7.3"
       sources."http-proxy-agent-4.0.1"
@@ -81844,7 +82840,7 @@ in
         ];
       })
       sources."levn-0.3.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash._baseassign-3.2.0"
       sources."lodash._basecopy-3.0.1"
       sources."lodash._bindcallback-3.0.1"
@@ -81866,9 +82862,9 @@ in
       sources."lru-cache-5.1.1"
       sources."macos-release-2.4.1"
       sources."methods-1.1.2"
-      sources."mime-2.5.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-2.5.2"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
@@ -81886,7 +82882,7 @@ in
       })
       sources."once-1.4.0"
       sources."onetime-2.0.1"
-      sources."open-7.3.1"
+      sources."open-7.4.2"
       sources."optionator-0.8.3"
       sources."os-name-3.1.0"
       sources."os-tmpdir-1.0.2"
@@ -81907,7 +82903,7 @@ in
       sources."rimraf-3.0.2"
       sources."rsvp-3.6.2"
       sources."run-async-2.4.1"
-      sources."rxjs-6.6.3"
+      sources."rxjs-6.6.6"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."sax-1.1.4"
@@ -81938,7 +82934,7 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      (sources."string-width-4.2.0" // {
+      (sources."string-width-4.2.2" // {
         dependencies = [
           sources."emoji-regex-8.0.0"
           sources."is-fullwidth-code-point-3.0.0"
@@ -81985,34 +82981,34 @@ in
       })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
-      sources."ws-7.4.2"
+      sources."ws-7.4.3"
       sources."xregexp-2.0.0"
       sources."yallist-3.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "A tool for creating and developing Ionic Framework mobile apps.";
-      homepage = https://ionicframework.com/;
+      homepage = "https://ionicframework.com";
       license = "MIT";
     };
     production = true;
     bypassCache = true;
     reconstructLock = true;
   };
-  "iosevka-https://github.com/be5invis/Iosevka/archive/v3.7.1.tar.gz" = nodeEnv.buildNodePackage {
+  "iosevka-https://github.com/be5invis/Iosevka/archive/v5.0.2.tar.gz" = nodeEnv.buildNodePackage {
     name = "iosevka";
     packageName = "iosevka";
-    version = "3.7.1";
+    version = "5.0.2";
     src = fetchurl {
-      name = "iosevka-3.7.1.tar.gz";
-      url = https://codeload.github.com/be5invis/Iosevka/tar.gz/v3.7.1;
-      sha256 = "ed7aee70af326ef22458f8f7603c599fd2f5164ae8062fbd6fb7d56864d98aca";
+      name = "iosevka-5.0.2.tar.gz";
+      url = "https://codeload.github.com/be5invis/Iosevka/tar.gz/v5.0.2";
+      sha256 = "93aada519e3014b472b3ae1e33a139bcc588618239393735ff88d9d0822d7ced";
     };
     dependencies = [
       sources."@iarna/toml-2.2.5"
-      sources."@ot-builder/bin-composite-types-0.10.37"
-      sources."@ot-builder/bin-util-0.10.37"
-      (sources."@ot-builder/cli-help-shower-0.10.37" // {
+      sources."@ot-builder/bin-composite-types-1.0.3"
+      sources."@ot-builder/bin-util-1.0.3"
+      (sources."@ot-builder/cli-help-shower-1.0.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.0"
@@ -82022,7 +83018,7 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."@ot-builder/cli-proc-0.10.37" // {
+      (sources."@ot-builder/cli-proc-1.0.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.0"
@@ -82032,7 +83028,7 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."@ot-builder/cli-shared-0.10.37" // {
+      (sources."@ot-builder/cli-shared-1.0.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.0"
@@ -82042,87 +83038,65 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."@ot-builder/common-impl-0.10.37"
-      sources."@ot-builder/errors-0.10.37"
-      sources."@ot-builder/io-bin-cff-0.10.37"
-      sources."@ot-builder/io-bin-encoding-0.10.37"
-      sources."@ot-builder/io-bin-ext-private-0.10.37"
-      sources."@ot-builder/io-bin-font-0.10.37"
-      sources."@ot-builder/io-bin-glyph-store-0.10.37"
-      sources."@ot-builder/io-bin-layout-0.10.37"
-      sources."@ot-builder/io-bin-metadata-0.10.37"
-      sources."@ot-builder/io-bin-metric-0.10.37"
-      sources."@ot-builder/io-bin-name-0.10.37"
-      sources."@ot-builder/io-bin-sfnt-0.10.37"
-      sources."@ot-builder/io-bin-ttf-0.10.37"
-      sources."@ot-builder/ot-0.10.37"
-      sources."@ot-builder/ot-encoding-0.10.37"
-      sources."@ot-builder/ot-ext-private-0.10.37"
-      sources."@ot-builder/ot-glyphs-0.10.37"
-      sources."@ot-builder/ot-layout-0.10.37"
-      sources."@ot-builder/ot-metadata-0.10.37"
-      sources."@ot-builder/ot-name-0.10.37"
-      sources."@ot-builder/ot-sfnt-0.10.37"
-      sources."@ot-builder/ot-standard-glyph-namer-0.10.37"
-      sources."@ot-builder/prelude-0.10.37"
-      sources."@ot-builder/primitive-0.10.37"
-      sources."@ot-builder/rectify-0.10.37"
-      sources."@ot-builder/stat-glyphs-0.10.37"
-      sources."@ot-builder/trace-0.10.37"
-      sources."@ot-builder/var-store-0.10.37"
-      sources."@ot-builder/variance-0.10.37"
-      sources."@unicode/unicode-13.0.0-1.0.2"
-      sources."abbrev-1.1.1"
-      sources."ajv-6.12.6"
+      sources."@ot-builder/common-impl-1.0.3"
+      sources."@ot-builder/errors-1.0.3"
+      sources."@ot-builder/io-bin-cff-1.0.3"
+      sources."@ot-builder/io-bin-encoding-1.0.3"
+      sources."@ot-builder/io-bin-ext-private-1.0.3"
+      sources."@ot-builder/io-bin-font-1.0.3"
+      sources."@ot-builder/io-bin-glyph-store-1.0.3"
+      sources."@ot-builder/io-bin-layout-1.0.3"
+      sources."@ot-builder/io-bin-metadata-1.0.3"
+      sources."@ot-builder/io-bin-metric-1.0.3"
+      sources."@ot-builder/io-bin-name-1.0.3"
+      sources."@ot-builder/io-bin-sfnt-1.0.3"
+      sources."@ot-builder/io-bin-ttf-1.0.3"
+      sources."@ot-builder/ot-1.0.3"
+      sources."@ot-builder/ot-encoding-1.0.3"
+      sources."@ot-builder/ot-ext-private-1.0.3"
+      sources."@ot-builder/ot-glyphs-1.0.3"
+      sources."@ot-builder/ot-layout-1.0.3"
+      sources."@ot-builder/ot-metadata-1.0.3"
+      sources."@ot-builder/ot-name-1.0.3"
+      sources."@ot-builder/ot-sfnt-1.0.3"
+      sources."@ot-builder/ot-standard-glyph-namer-1.0.3"
+      sources."@ot-builder/prelude-1.0.3"
+      sources."@ot-builder/primitive-1.0.3"
+      sources."@ot-builder/rectify-1.0.3"
+      sources."@ot-builder/stat-glyphs-1.0.3"
+      sources."@ot-builder/trace-1.0.3"
+      sources."@ot-builder/var-store-1.0.3"
+      sources."@ot-builder/variance-1.0.3"
+      sources."@unicode/unicode-13.0.0-1.0.3"
       sources."amdefine-1.0.1"
-      sources."ansi-regex-2.1.1"
+      sources."ansi-regex-5.0.0"
       sources."ansi-styles-3.2.1"
-      sources."aproba-1.2.0"
-      sources."are-we-there-yet-1.1.5"
       sources."argparse-1.0.10"
-      sources."asn1-0.2.4"
-      sources."assert-plus-1.0.0"
       sources."async-0.9.2"
-      sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
       sources."atob-2.1.2"
-      sources."aws-sign2-0.7.0"
-      sources."aws4-1.11.0"
       sources."balanced-match-1.0.0"
-      sources."bcrypt-pbkdf-1.0.2"
-      sources."bindings-1.5.0"
       sources."bluebird-3.7.2"
       sources."brace-expansion-1.1.11"
-      sources."bufferstreams-2.0.1"
-      sources."camelcase-3.0.0"
-      sources."caseless-0.12.0"
+      sources."camelcase-5.3.1"
       sources."chainsaw-0.0.9"
       sources."chalk-2.4.2"
-      sources."chownr-1.1.4"
       sources."cldr-5.8.0"
       sources."cli-cursor-3.1.0"
       sources."clipper-lib-6.4.2"
-      sources."cliui-3.2.0"
-      sources."code-point-at-1.1.0"
+      sources."cliui-7.0.4"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."combined-stream-1.0.8"
       sources."concat-map-0.0.1"
-      sources."console-control-strings-1.1.0"
-      sources."core-util-is-1.0.2"
       sources."css-2.2.4"
       sources."css-parse-2.0.0"
-      sources."dashdash-1.14.1"
       sources."debug-3.1.0"
       sources."decamelize-1.2.0"
       sources."decode-uri-component-0.2.0"
       sources."deep-is-0.1.3"
-      sources."delayed-stream-1.0.0"
-      sources."delegates-1.0.0"
-      sources."ecc-jsbn-0.1.2"
-      sources."ejs-3.1.5"
+      sources."ejs-3.1.6"
       sources."emoji-regex-8.0.0"
-      sources."error-ex-1.3.2"
+      sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
       sources."escodegen-2.0.0"
       (sources."escope-1.0.3" // {
@@ -82150,99 +83124,40 @@ in
       })
       sources."estraverse-5.2.0"
       sources."esutils-2.0.3"
-      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."fast-levenshtein-2.0.6"
-      sources."file-uri-to-path-1.0.0"
-      sources."filelist-1.0.1"
-      sources."find-up-1.1.2"
-      sources."forever-agent-0.6.1"
-      sources."form-data-2.3.3"
+      sources."filelist-1.0.2"
+      sources."find-up-4.1.0"
       sources."fs-extra-9.1.0"
-      sources."fs-minipass-1.2.7"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."gauge-2.7.4"
-      sources."get-caller-file-1.0.3"
-      sources."getpass-0.1.7"
+      sources."get-caller-file-2.0.5"
       sources."glob-7.1.6"
-      sources."graceful-fs-4.2.4"
-      sources."har-schema-2.0.0"
-      sources."har-validator-5.1.5"
+      sources."graceful-fs-4.2.6"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-unicode-2.0.1"
       sources."hashish-0.0.4"
-      sources."hosted-git-info-2.8.8"
-      sources."http-signature-1.2.0"
       sources."iconv-lite-0.6.2"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."invert-kv-1.0.0"
-      sources."is-arrayish-0.2.1"
       sources."is-core-module-2.2.0"
-      sources."is-fullwidth-code-point-1.0.0"
-      sources."is-typedarray-1.0.0"
-      sources."is-utf8-0.2.1"
-      sources."isarray-1.0.0"
+      sources."is-fullwidth-code-point-3.0.0"
       sources."isexe-2.0.0"
-      sources."isstream-0.1.2"
       sources."jake-10.8.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."jsonfile-6.1.0"
-      sources."jsprim-1.4.1"
-      sources."lcid-1.0.0"
       sources."levn-0.3.0"
-      sources."load-json-file-1.1.0"
       sources."locate-path-5.0.0"
       sources."lru-cache-2.5.0"
       sources."memoizeasync-1.1.0"
-      sources."microbuffer-1.0.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.0.4"
-      sources."minimist-1.2.5"
-      (sources."minipass-2.9.0" // {
-        dependencies = [
-          sources."yallist-3.1.1"
-        ];
-      })
-      sources."minizlib-1.3.3"
       sources."mkdirp-1.0.4"
       sources."ms-2.0.0"
-      sources."nan-2.14.2"
-      (sources."node-gyp-4.0.0" // {
-        dependencies = [
-          sources."mkdirp-0.5.5"
-          sources."semver-5.3.0"
-          sources."which-1.3.1"
-        ];
-      })
-      sources."nopt-3.0.6"
-      (sources."normalize-package-data-2.5.0" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      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."optionator-0.8.3"
-      sources."os-homedir-1.0.2"
-      sources."os-locale-1.4.0"
-      sources."os-tmpdir-1.0.2"
-      sources."osenv-0.1.5"
-      sources."ot-builder-0.10.37"
-      (sources."otb-ttc-bundle-0.10.37" // {
+      sources."ot-builder-1.0.3"
+      (sources."otb-ttc-bundle-1.0.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.0"
@@ -82255,38 +83170,21 @@ in
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-try-2.2.0"
-      sources."pako-1.0.11"
-      sources."parse-json-2.2.0"
       sources."passerror-1.1.1"
-      sources."patel-0.33.1"
-      sources."path-exists-2.1.0"
+      sources."patel-0.34.0"
+      sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.6"
-      sources."path-type-1.1.0"
       sources."patrisika-0.22.2"
       sources."patrisika-scopes-0.11.1"
       sources."pegjs-0.10.0"
-      sources."performance-now-2.1.0"
-      sources."pify-2.3.0"
-      sources."pinkie-2.0.4"
-      sources."pinkie-promise-2.0.1"
       sources."prelude-ls-1.1.2"
-      sources."process-nextick-args-2.0.1"
-      sources."psl-1.8.0"
-      sources."punycode-2.1.1"
-      sources."qs-6.5.2"
-      sources."read-pkg-1.1.0"
-      sources."read-pkg-up-1.0.1"
-      sources."readable-stream-2.3.7"
-      sources."request-2.88.2"
       sources."require-directory-2.1.1"
-      sources."require-main-filename-1.0.1"
-      sources."resolve-1.19.0"
+      sources."require-main-filename-2.0.0"
+      sources."resolve-1.20.0"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-3.1.0"
       sources."resumer-0.0.0"
-      sources."rimraf-2.7.1"
-      sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
       sources."semaphore-async-await-1.5.1"
@@ -82300,11 +83198,7 @@ in
       sources."signal-exit-3.0.3"
       sources."source-map-0.6.1"
       sources."source-map-resolve-0.5.3"
-      sources."source-map-url-0.4.0"
-      sources."spdx-correct-3.1.1"
-      sources."spdx-exceptions-2.3.0"
-      sources."spdx-expression-parse-3.0.1"
-      sources."spdx-license-ids-3.0.7"
+      sources."source-map-url-0.4.1"
       (sources."spiro-2.0.0" // {
         dependencies = [
           sources."tslib-1.14.1"
@@ -82312,12 +83206,9 @@ in
       })
       sources."split-1.0.1"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.16.1"
       sources."stack-trace-0.0.9"
-      sources."string-width-1.0.2"
-      sources."string_decoder-1.1.1"
-      sources."strip-ansi-3.0.1"
-      sources."strip-bom-2.0.0"
+      sources."string-width-4.2.2"
+      sources."strip-ansi-6.0.0"
       (sources."stylus-0.54.8" // {
         dependencies = [
           sources."semver-6.3.0"
@@ -82325,70 +83216,50 @@ in
         ];
       })
       sources."supports-color-5.5.0"
-      (sources."tar-4.4.13" // {
-        dependencies = [
-          sources."mkdirp-0.5.5"
-          sources."yallist-3.1.1"
-        ];
-      })
       sources."through-2.3.8"
       sources."toposort-2.0.2"
-      sources."tough-cookie-2.5.0"
       sources."traverse-0.3.9"
       sources."ts-process-promises-1.0.2"
       sources."tslib-2.1.0"
-      sources."ttf2woff-2.0.2"
-      sources."ttf2woff2-3.0.0"
-      sources."tunnel-agent-0.6.0"
-      sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
-      sources."typo-geom-0.11.1"
+      sources."typo-geom-0.11.2"
       sources."unicoderegexp-0.4.1"
       sources."universalify-2.0.0"
-      sources."uri-js-4.4.1"
       sources."urix-0.1.0"
-      sources."util-deprecate-1.0.2"
-      sources."uuid-3.4.0"
-      sources."validate-npm-package-license-3.0.4"
       (sources."verda-1.2.1" // {
         dependencies = [
-          sources."ansi-regex-5.0.0"
           sources."ansi-styles-4.3.0"
-          sources."camelcase-5.3.1"
           sources."chalk-4.1.0"
           sources."cliui-6.0.0"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
-          sources."find-up-4.1.0"
-          sources."get-caller-file-2.0.5"
           sources."has-flag-4.0.0"
-          sources."is-fullwidth-code-point-3.0.0"
-          sources."path-exists-4.0.0"
-          sources."require-main-filename-2.0.0"
-          sources."string-width-4.2.0"
-          sources."strip-ansi-6.0.0"
           sources."supports-color-7.2.0"
-          sources."which-module-2.0.0"
           sources."wrap-ansi-6.2.0"
           sources."y18n-4.0.1"
           sources."yargs-15.4.1"
           sources."yargs-parser-18.1.3"
         ];
       })
-      sources."verror-1.10.0"
+      sources."wawoff2-1.0.2"
       sources."which-2.0.2"
-      sources."which-module-1.0.0"
-      sources."wide-align-1.1.3"
+      sources."which-module-2.0.0"
       sources."word-wrap-1.2.3"
       sources."wordwrap-0.0.3"
-      sources."wrap-ansi-2.1.0"
+      (sources."wrap-ansi-7.0.0" // {
+        dependencies = [
+          sources."ansi-styles-4.3.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+        ];
+      })
       sources."wrappy-1.0.2"
       sources."xmldom-0.4.0"
       sources."xpath-0.0.32"
-      sources."y18n-3.2.2"
+      sources."y18n-5.0.5"
       sources."yallist-4.0.0"
-      sources."yargs-6.6.0"
-      sources."yargs-parser-4.2.1"
+      sources."yargs-16.2.0"
+      sources."yargs-parser-20.2.6"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -82415,7 +83286,7 @@ in
       sources."color-name-1.1.3"
       sources."concat-map-0.0.1"
       sources."escape-string-regexp-1.0.5"
-      sources."filelist-1.0.1"
+      sources."filelist-1.0.2"
       sources."has-flag-3.0.0"
       sources."minimatch-3.0.4"
       sources."supports-color-5.5.0"
@@ -82446,7 +83317,7 @@ in
       sources."balanced-match-1.0.0"
       sources."brace-expansion-1.1.11"
       sources."bufrw-1.3.0"
-      sources."chai-4.2.0"
+      sources."chai-4.3.0"
       sources."chai-as-promised-7.1.1"
       sources."chalk-2.4.2"
       sources."check-error-1.0.2"
@@ -82468,7 +83339,7 @@ in
       sources."inherits-2.0.4"
       sources."iterare-1.2.1"
       sources."jaeger-client-3.18.1"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."long-2.4.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
@@ -82509,7 +83380,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Implementation of the Language Server Protocol for JavaScript and TypeScript";
-      homepage = https://github.com/sourcegraph/javascript-typescript-langserver;
+      homepage = "https://github.com/sourcegraph/javascript-typescript-langserver";
       license = "Apache-2.0";
     };
     production = true;
@@ -82527,8 +83398,8 @@ in
     dependencies = [
       sources."@braintree/sanitize-url-3.1.0"
       sources."@cronvel/get-pixels-3.4.0"
-      sources."@joplin/fork-htmlparser2-4.1.21"
-      sources."@joplin/fork-sax-1.2.25"
+      sources."@joplin/fork-htmlparser2-4.1.23"
+      sources."@joplin/fork-sax-1.2.27"
       sources."@joplin/lib-1.0.18"
       (sources."@joplin/renderer-1.0.26" // {
         dependencies = [
@@ -82537,8 +83408,8 @@ in
           sources."uslug-git+https://github.com/laurent22/uslug.git#emoji-support"
         ];
       })
-      sources."@joplin/turndown-4.0.43"
-      sources."@joplin/turndown-plugin-gfm-1.0.25"
+      sources."@joplin/turndown-4.0.45"
+      sources."@joplin/turndown-plugin-gfm-1.0.27"
       sources."abab-2.0.5"
       sources."abbrev-1.1.1"
       sources."acorn-7.4.1"
@@ -82578,7 +83449,7 @@ in
       sources."async-mutex-0.1.4"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.831.0" // {
+      (sources."aws-sdk-2.853.0" // {
         dependencies = [
           sources."sax-1.2.1"
           sources."uuid-3.3.2"
@@ -82594,7 +83465,7 @@ in
       sources."base64-stream-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-extensions-2.2.0"
-      (sources."bl-4.0.3" // {
+      (sources."bl-4.1.0" // {
         dependencies = [
           sources."buffer-5.7.1"
           sources."readable-stream-3.6.0"
@@ -82739,7 +83610,7 @@ in
       sources."file-uri-to-path-1.0.0"
       sources."fill-range-7.0.1"
       sources."find-up-2.1.0"
-      sources."follow-redirects-1.13.2"
+      sources."follow-redirects-1.13.3"
       sources."font-awesome-filetypes-2.1.0"
       sources."for-each-property-0.0.4"
       sources."for-each-property-deep-0.0.3"
@@ -82754,7 +83625,7 @@ in
       })
       sources."fs-minipass-1.2.7"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.3.1"
+      sources."fsevents-2.3.2"
       sources."fstream-1.0.12"
       (sources."gauge-2.7.4" // {
         dependencies = [
@@ -82767,7 +83638,7 @@ in
       sources."github-from-package-0.0.0"
       sources."glob-7.1.6"
       sources."glob-parent-5.1.1"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."graphlib-2.1.8"
       sources."growly-1.3.0"
       sources."har-schema-2.0.0"
@@ -82776,7 +83647,7 @@ in
       sources."has-flag-4.0.0"
       sources."has-unicode-2.0.1"
       sources."he-1.2.0"
-      sources."highlight.js-10.5.0"
+      sources."highlight.js-10.6.0"
       sources."html-encoding-sniffer-1.0.2"
       sources."html-entities-1.4.0"
       sources."html-minifier-3.5.21"
@@ -82877,7 +83748,7 @@ in
           sources."commander-2.20.3"
         ];
       })
-      sources."keytar-7.3.0"
+      sources."keytar-7.4.0"
       sources."khroma-1.2.0"
       sources."klaw-1.3.1"
       sources."lazyness-1.2.0"
@@ -82885,8 +83756,8 @@ in
       sources."levn-0.3.0"
       sources."linkify-it-2.2.0"
       sources."locate-path-2.0.0"
-      sources."lodash-4.17.20"
-      sources."lodash-es-4.17.20"
+      sources."lodash-4.17.21"
+      sources."lodash-es-4.17.21"
       sources."lodash.padend-4.6.1"
       sources."lodash.repeat-4.1.0"
       sources."lodash.sortby-4.7.0"
@@ -82926,9 +83797,9 @@ in
       sources."md5-2.3.0"
       sources."md5-file-4.0.0"
       sources."mdurl-1.0.1"
-      sources."mermaid-8.9.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mermaid-8.9.1"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-response-2.1.0"
       (sources."minify-4.1.3" // {
         dependencies = [
@@ -82936,7 +83807,7 @@ in
           sources."debug-4.3.2"
           sources."html-minifier-4.0.0"
           sources."ms-2.1.2"
-          sources."uglify-js-3.12.5"
+          sources."uglify-js-3.12.8"
         ];
       })
       sources."minimatch-3.0.4"
@@ -83008,7 +83879,7 @@ in
       })
       sources."omggif-1.0.10"
       sources."once-1.4.0"
-      sources."open-7.3.1"
+      sources."open-7.4.2"
       sources."optionator-0.8.3"
       sources."os-homedir-1.0.2"
       sources."os-tmpdir-1.0.2"
@@ -83027,7 +83898,7 @@ in
       sources."pipe-functions-1.3.0"
       sources."pn-1.1.0"
       sources."pngjs-5.0.0"
-      sources."prebuild-install-6.0.0"
+      sources."prebuild-install-6.0.1"
       sources."prelude-ls-1.1.2"
       sources."process-nextick-args-2.0.1"
       sources."promise-7.3.1"
@@ -83105,10 +83976,10 @@ 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.0"
+      sources."source-map-url-0.4.1"
       sources."split-skip-0.0.2"
       sources."sprintf-js-1.1.2"
-      sources."sqlite3-5.0.1"
+      sources."sqlite3-5.0.2"
       sources."sshpk-1.16.1"
       sources."statuses-1.5.0"
       sources."stealthy-require-1.1.1"
@@ -83159,7 +84030,7 @@ in
           sources."q-0.9.7"
         ];
       })
-      sources."terminal-kit-1.45.9"
+      sources."terminal-kit-1.49.3"
       (sources."terser-4.8.0" // {
         dependencies = [
           sources."commander-2.20.3"
@@ -83208,7 +84079,7 @@ in
           sources."punycode-1.3.2"
         ];
       })
-      sources."url-parse-1.4.7"
+      sources."url-parse-1.5.1"
       sources."uslug-git+https://github.com/laurent22/uslug.git#emoji-support"
       sources."util-deprecate-1.0.2"
       sources."uuid-3.4.0"
@@ -83232,7 +84103,7 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      sources."ws-7.4.2"
+      sources."ws-7.4.3"
       sources."xml-name-validator-3.0.0"
       sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
@@ -83287,7 +84158,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "beautifier.io for node";
-      homepage = https://beautifier.io/;
+      homepage = "https://beautifier.io/";
       license = "MIT";
     };
     production = true;
@@ -83324,17 +84195,17 @@ in
       sha512 = "znR99e1BHeyEkSvgDDpX0sTiTu+8aQyDl9DawrkOGZTTW8hv0deIFXx87114zJ7gRaDZKVQD/4tr1ifmJp9xhQ==";
     };
     dependencies = [
-      sources."@babel/parser-7.12.11"
+      sources."@babel/parser-7.13.4"
       sources."argparse-1.0.10"
       sources."bluebird-3.7.2"
       sources."catharsis-0.8.11"
       sources."entities-2.0.3"
       sources."escape-string-regexp-2.0.0"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."js2xmlparser-4.0.1"
       sources."klaw-3.0.0"
       sources."linkify-it-2.2.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."markdown-it-10.0.0"
       sources."markdown-it-anchor-5.3.0"
       sources."marked-0.8.2"
@@ -83391,7 +84262,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."isarray-0.0.1"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."minimatch-3.0.4"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
@@ -83404,7 +84275,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Static analysis tool for JavaScript";
-      homepage = https://jshint.com/;
+      homepage = "http://jshint.com/";
       license = "MIT";
     };
     production = true;
@@ -83447,7 +84318,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "JSON diff";
-      homepage = https://github.com/andreyvit/json-diff;
+      homepage = "https://github.com/andreyvit/json-diff";
     };
     production = true;
     bypassCache = true;
@@ -83479,11 +84350,11 @@ in
       sources."inherits-2.0.4"
       sources."isarray-1.0.0"
       sources."js-yaml-3.14.1"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."ms-2.1.3"
       sources."native-promise-only-0.8.1"
       sources."path-loader-1.0.10"
@@ -83502,7 +84373,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Various utilities for JSON References (http://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03).";
-      homepage = https://github.com/whitlockjc/json-refs;
+      homepage = "https://github.com/whitlockjc/json-refs";
       license = "MIT";
     };
     production = true;
@@ -83531,11 +84402,7 @@ in
       sources."array-flatten-1.1.1"
       sources."basic-auth-2.0.1"
       sources."body-parser-1.19.0"
-      (sources."boxen-4.2.0" // {
-        dependencies = [
-          sources."chalk-3.0.0"
-        ];
-      })
+      sources."boxen-5.0.0"
       sources."bytes-3.1.0"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
@@ -83543,7 +84410,7 @@ in
           sources."lowercase-keys-2.0.0"
         ];
       })
-      sources."camelcase-5.3.1"
+      sources."camelcase-6.2.0"
       sources."chalk-4.1.0"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
@@ -83598,9 +84465,9 @@ in
       sources."fresh-0.5.2"
       sources."get-caller-file-2.0.5"
       sources."get-stream-4.1.0"
-      sources."global-dirs-2.1.0"
+      sources."global-dirs-3.0.0"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."has-flag-4.0.0"
       sources."has-yarn-2.1.0"
       sources."http-cache-semantics-4.1.0"
@@ -83609,11 +84476,11 @@ in
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
       sources."inherits-2.0.3"
-      sources."ini-1.3.7"
+      sources."ini-2.0.0"
       sources."ipaddr.js-1.9.1"
       sources."is-ci-2.0.0"
       sources."is-fullwidth-code-point-2.0.0"
-      sources."is-installed-globally-0.3.2"
+      sources."is-installed-globally-0.4.0"
       sources."is-npm-5.0.0"
       sources."is-obj-2.0.0"
       sources."is-path-inside-3.0.2"
@@ -83626,7 +84493,7 @@ in
       sources."json-parse-helpfulerror-1.0.3"
       sources."keyv-3.1.0"
       sources."latest-version-5.1.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash-id-0.14.0"
       sources."lowdb-1.0.0"
       sources."lowercase-keys-1.0.1"
@@ -83645,8 +84512,8 @@ in
       })
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-response-1.0.1"
       sources."minimist-1.2.5"
       (sources."morgan-1.10.0" // {
@@ -83680,7 +84547,11 @@ in
       sources."qs-6.7.0"
       sources."range-parser-1.2.1"
       sources."raw-body-2.4.0"
-      sources."rc-1.2.8"
+      (sources."rc-1.2.8" // {
+        dependencies = [
+          sources."ini-1.3.8"
+        ];
+      })
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
       sources."require-directory-2.1.1"
@@ -83705,7 +84576,7 @@ in
       sources."signal-exit-3.0.3"
       sources."statuses-1.5.0"
       sources."steno-0.4.4"
-      (sources."string-width-4.2.0" // {
+      (sources."string-width-4.2.2" // {
         dependencies = [
           sources."ansi-regex-5.0.0"
           sources."emoji-regex-8.0.0"
@@ -83716,15 +84587,14 @@ in
       sources."strip-ansi-5.2.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
-      sources."term-size-2.2.1"
       sources."to-readable-stream-1.0.0"
       sources."toidentifier-1.0.0"
-      sources."type-fest-0.8.1"
+      sources."type-fest-0.20.2"
       sources."type-is-1.6.18"
       sources."typedarray-to-buffer-3.1.5"
       sources."unique-string-2.0.0"
       sources."unpipe-1.0.0"
-      sources."update-notifier-5.0.1"
+      sources."update-notifier-5.1.0"
       sources."url-parse-lax-3.0.0"
       sources."utils-merge-1.0.1"
       sources."vary-1.1.2"
@@ -83741,12 +84611,12 @@ in
       sources."y18n-5.0.5"
       sources."yallist-4.0.0"
       sources."yargs-16.2.0"
-      sources."yargs-parser-20.2.4"
+      sources."yargs-parser-20.2.6"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "Get a full fake REST API with zero coding in less than 30 seconds";
-      homepage = https://github.com/typicode/json-server;
+      homepage = "https://github.com/typicode/json-server";
       license = "MIT";
     };
     production = true;
@@ -83773,7 +84643,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Validate JSON";
-      homepage = http://zaach.github.com/jsonlint/;
+      homepage = "http://zaach.github.com/jsonlint/";
     };
     production = true;
     bypassCache = true;
@@ -83782,16 +84652,16 @@ in
   karma = nodeEnv.buildNodePackage {
     name = "karma";
     packageName = "karma";
-    version = "6.0.2";
+    version = "6.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/karma/-/karma-6.0.2.tgz";
-      sha512 = "GBm8vPkQvjJL1ye//iH6yk9ROHOW+1TaFzRvbc6TbbCOFszbEG66dyDMoFjMMTAHy0ERNqRrMHap/LEHWeijNA==";
+      url = "https://registry.npmjs.org/karma/-/karma-6.1.1.tgz";
+      sha512 = "vVDFxFGAsclgmFjZA/qGw5xqWdZIWxVD7xLyCukYUYd5xs/uGzYbXGOT5zOruVBQleKEmXIr4H2hzGCTn+M9Cg==";
     };
     dependencies = [
       sources."@types/component-emitter-1.2.10"
       sources."@types/cookie-0.4.0"
-      sources."@types/cors-2.8.9"
-      sources."@types/node-14.14.22"
+      sources."@types/cors-2.8.10"
+      sources."@types/node-14.14.31"
       sources."accepts-1.3.7"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-4.3.0"
@@ -83824,7 +84694,7 @@ in
       sources."ee-first-1.1.1"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
-      (sources."engine.io-4.1.0" // {
+      (sources."engine.io-4.1.1" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."ms-2.1.2"
@@ -83839,14 +84709,14 @@ in
       sources."fill-range-7.0.1"
       sources."finalhandler-1.1.2"
       sources."flatted-2.0.2"
-      sources."follow-redirects-1.13.2"
+      sources."follow-redirects-1.13.3"
       sources."fs-extra-8.1.0"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.3.1"
+      sources."fsevents-2.3.2"
       sources."get-caller-file-2.0.5"
       sources."glob-7.1.6"
       sources."glob-parent-5.1.1"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."http-errors-1.7.2"
       sources."http-proxy-1.18.1"
       sources."iconv-lite-0.4.24"
@@ -83859,7 +84729,7 @@ in
       sources."is-number-7.0.0"
       sources."isbinaryfile-4.0.6"
       sources."jsonfile-4.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       (sources."log4js-6.3.0" // {
         dependencies = [
           sources."debug-4.3.2"
@@ -83867,9 +84737,9 @@ in
         ];
       })
       sources."media-typer-0.3.0"
-      sources."mime-2.5.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-2.5.2"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimatch-3.0.4"
       sources."ms-2.0.0"
       sources."negotiator-0.6.2"
@@ -83891,7 +84761,7 @@ in
       sources."rimraf-3.0.2"
       sources."safer-buffer-2.1.2"
       sources."setprototypeof-1.1.1"
-      (sources."socket.io-3.1.0" // {
+      (sources."socket.io-3.1.2" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."ms-2.1.2"
@@ -83913,13 +84783,13 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."string-width-4.2.0"
+      sources."string-width-4.2.2"
       sources."strip-ansi-6.0.0"
       sources."tmp-0.2.1"
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.0"
       sources."type-is-1.6.18"
-      sources."ua-parser-js-0.7.23"
+      sources."ua-parser-js-0.7.24"
       sources."universalify-0.1.2"
       sources."unpipe-1.0.0"
       sources."utils-merge-1.0.1"
@@ -83927,15 +84797,15 @@ in
       sources."void-elements-2.0.1"
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
-      sources."ws-7.4.2"
+      sources."ws-7.4.3"
       sources."y18n-5.0.5"
       sources."yargs-16.2.0"
-      sources."yargs-parser-20.2.4"
+      sources."yargs-parser-20.2.6"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "Spectacular Test Runner for JavaScript.";
-      homepage = http://karma-runner.github.io/;
+      homepage = "http://karma-runner.github.io/";
       license = "MIT";
     };
     production = true;
@@ -83971,13 +84841,13 @@ in
       sources."fs-mkdirp-stream-1.0.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."glob-7.1.6"
       sources."glob-parent-3.1.0"
       sources."glob-stream-6.1.0"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."has-1.0.3"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."is-absolute-1.0.0"
@@ -84032,7 +84902,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Merges multiple lcov results into one";
-      homepage = https://github.com/mweibel/lcov-result-merger;
+      homepage = "https://github.com/mweibel/lcov-result-merger";
       license = "MIT";
     };
     production = true;
@@ -84148,7 +85018,7 @@ in
       sources."lcid-1.0.0"
       sources."levn-0.3.0"
       sources."locate-path-3.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."log-symbols-2.2.0"
       sources."map-age-cleaner-0.1.3"
       (sources."mem-4.3.0" // {
@@ -84156,8 +85026,8 @@ in
           sources."mimic-fn-2.1.0"
         ];
       })
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
@@ -84305,9 +85175,9 @@ in
       sha512 = "vk1lfVRFm+UuEFA7wkLKeSF7Iz13W+N/vFd48aW2yuS7Kv0RbNm2/qcDPV863056LMfkRlsEe+QYOw3palj5Lg==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
+      sources."@babel/code-frame-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      sources."@babel/highlight-7.10.4"
+      sources."@babel/highlight-7.13.8"
       (sources."@evocateur/libnpmaccess-3.1.2" // {
         dependencies = [
           sources."aproba-2.0.0"
@@ -84409,7 +85279,7 @@ in
           sources."universal-user-agent-6.0.0"
         ];
       })
-      sources."@octokit/openapi-types-3.3.0"
+      sources."@octokit/openapi-types-5.2.1"
       sources."@octokit/plugin-enterprise-rest-6.0.1"
       (sources."@octokit/plugin-paginate-rest-1.1.2" // {
         dependencies = [
@@ -84422,7 +85292,7 @@ in
           sources."@octokit/types-2.16.2"
         ];
       })
-      (sources."@octokit/request-5.4.13" // {
+      (sources."@octokit/request-5.4.14" // {
         dependencies = [
           sources."@octokit/request-error-2.0.5"
           sources."is-plain-object-5.0.0"
@@ -84435,11 +85305,11 @@ in
         ];
       })
       sources."@octokit/rest-16.43.2"
-      sources."@octokit/types-6.6.0"
+      sources."@octokit/types-6.11.1"
       sources."@types/glob-7.1.3"
       sources."@types/minimatch-3.0.3"
       sources."@types/minimist-1.2.1"
-      sources."@types/node-14.14.22"
+      sources."@types/node-14.14.31"
       sources."@types/normalize-package-data-2.4.0"
       sources."@zkochan/cmd-shim-3.1.0"
       sources."JSONStream-1.3.5"
@@ -84480,7 +85350,7 @@ in
         ];
       })
       sources."bcrypt-pbkdf-1.0.2"
-      sources."before-after-hook-2.1.0"
+      sources."before-after-hook-2.1.1"
       sources."bluebird-3.7.2"
       sources."brace-expansion-1.1.11"
       (sources."braces-2.3.2" // {
@@ -84566,7 +85436,7 @@ in
         ];
       })
       sources."conventional-commits-filter-2.0.7"
-      (sources."conventional-commits-parser-3.2.0" // {
+      (sources."conventional-commits-parser-3.2.1" // {
         dependencies = [
           sources."readable-stream-3.6.0"
           sources."through2-4.0.2"
@@ -84633,7 +85503,7 @@ in
       sources."encoding-0.1.13"
       sources."end-of-stream-1.4.4"
       sources."env-paths-2.2.0"
-      sources."envinfo-7.7.3"
+      sources."envinfo-7.7.4"
       sources."err-code-1.1.2"
       sources."error-ex-1.3.2"
       sources."es-abstract-1.18.0-next.2"
@@ -84700,6 +85570,7 @@ in
           sources."extend-shallow-2.0.1"
         ];
       })
+      sources."filter-obj-1.1.0"
       sources."find-up-3.0.0"
       sources."flush-write-stream-1.1.1"
       sources."for-in-1.0.2"
@@ -84720,7 +85591,7 @@ in
       })
       sources."genfun-5.0.0"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       (sources."get-pkg-repo-1.4.0" // {
         dependencies = [
           sources."camelcase-2.1.1"
@@ -84757,6 +85628,7 @@ in
           sources."minimist-options-3.0.2"
           sources."quick-lru-1.1.0"
           sources."redent-2.0.0"
+          sources."split2-2.2.0"
           sources."strip-indent-2.0.0"
           sources."trim-newlines-2.0.0"
         ];
@@ -84791,8 +85663,8 @@ in
           sources."pify-4.0.1"
         ];
       })
-      sources."graceful-fs-4.2.4"
-      (sources."handlebars-4.7.6" // {
+      sources."graceful-fs-4.2.6"
+      (sources."handlebars-4.7.7" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -84802,7 +85674,7 @@ in
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."has-unicode-2.0.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
@@ -84847,7 +85719,7 @@ in
       sources."is-accessor-descriptor-1.0.0"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.2.2"
+      sources."is-callable-1.2.3"
       sources."is-ci-2.0.0"
       sources."is-core-module-2.2.0"
       sources."is-data-descriptor-1.0.0"
@@ -84868,7 +85740,7 @@ in
       sources."is-obj-1.0.1"
       sources."is-plain-obj-1.1.0"
       sources."is-plain-object-2.0.4"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-ssh-1.3.2"
       sources."is-stream-1.1.0"
       sources."is-symbol-1.0.3"
@@ -84899,7 +85771,7 @@ in
         ];
       })
       sources."locate-path-3.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash._reinterpolate-3.0.0"
       sources."lodash.clonedeep-4.5.0"
       sources."lodash.get-4.4.2"
@@ -84920,7 +85792,7 @@ in
       (sources."meow-8.1.2" // {
         dependencies = [
           sources."find-up-4.1.0"
-          sources."hosted-git-info-3.0.7"
+          sources."hosted-git-info-3.0.8"
           sources."locate-path-5.0.0"
           sources."lru-cache-6.0.0"
           sources."normalize-package-data-3.0.0"
@@ -84943,13 +85815,13 @@ in
           sources."semver-7.3.4"
           sources."type-fest-0.18.1"
           sources."yallist-4.0.0"
-          sources."yargs-parser-20.2.4"
+          sources."yargs-parser-20.2.6"
         ];
       })
       sources."merge2-1.4.1"
       sources."micromatch-3.1.10"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-1.2.0"
       sources."min-indent-1.0.1"
       sources."minimatch-3.0.4"
@@ -85024,7 +85896,7 @@ in
       sources."object-keys-1.1.1"
       sources."object-visit-1.0.1"
       sources."object.assign-4.1.2"
-      sources."object.getownpropertydescriptors-2.1.1"
+      sources."object.getownpropertydescriptors-2.1.2"
       sources."object.pick-1.3.0"
       sources."octokit-pagination-methods-1.1.0"
       sources."once-1.4.0"
@@ -85082,7 +85954,7 @@ in
       sources."punycode-2.1.1"
       sources."q-1.5.1"
       sources."qs-6.5.2"
-      sources."query-string-6.13.8"
+      sources."query-string-6.14.1"
       sources."quick-lru-4.0.1"
       sources."read-1.0.7"
       sources."read-cmd-shim-1.0.5"
@@ -85116,7 +85988,7 @@ in
       sources."request-2.88.2"
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       (sources."resolve-cwd-2.0.0" // {
         dependencies = [
           sources."resolve-from-3.0.0"
@@ -85130,7 +86002,7 @@ in
       sources."rimraf-2.7.1"
       sources."run-async-2.4.1"
       sources."run-queue-1.0.3"
-      sources."rxjs-6.6.3"
+      sources."rxjs-6.6.6"
       sources."safe-buffer-5.2.1"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
@@ -85187,7 +86059,7 @@ in
       sources."sort-keys-2.0.0"
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.3"
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
@@ -85195,7 +86067,11 @@ in
       sources."split-1.0.1"
       sources."split-on-first-1.1.0"
       sources."split-string-3.1.0"
-      sources."split2-2.2.0"
+      (sources."split2-3.2.2" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+        ];
+      })
       sources."sprintf-js-1.0.3"
       sources."sshpk-1.16.1"
       sources."ssri-6.0.1"
@@ -85225,8 +86101,8 @@ in
           sources."strip-ansi-4.0.0"
         ];
       })
-      sources."string.prototype.trimend-1.0.3"
-      sources."string.prototype.trimstart-1.0.3"
+      sources."string.prototype.trimend-1.0.4"
+      sources."string.prototype.trimstart-1.0.4"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -85263,7 +86139,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."type-fest-0.3.1"
       sources."typedarray-0.0.6"
-      sources."uglify-js-3.12.5"
+      sources."uglify-js-3.12.8"
       sources."uid-number-0.0.6"
       sources."umask-1.1.0"
       sources."union-value-1.0.1"
@@ -85345,19 +86221,19 @@ in
   less = nodeEnv.buildNodePackage {
     name = "less";
     packageName = "less";
-    version = "4.1.0";
+    version = "4.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/less/-/less-4.1.0.tgz";
-      sha512 = "w1Ag/f34g7LwtQ/sMVSGWIyZx+gG9ZOAEtyxeX1fG75is6BMyC2lD5kG+1RueX7PkAvlQBm2Lf2aN2j0JbVr2A==";
+      url = "https://registry.npmjs.org/less/-/less-4.1.1.tgz";
+      sha512 = "w09o8tZFPThBscl5d0Ggp3RcrKIouBoQscnOMgFH3n5V3kN/CXGHNfCkRPtxJk6nKryDXaV9aHLK55RXuH4sAw==";
     };
     dependencies = [
-      sources."copy-anything-2.0.1"
+      sources."copy-anything-2.0.3"
       sources."debug-3.2.7"
       sources."errno-0.1.8"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."iconv-lite-0.4.24"
       sources."image-size-0.5.5"
-      sources."is-what-3.12.0"
+      sources."is-what-3.14.1"
       sources."make-dir-2.1.0"
       sources."mime-1.6.0"
       sources."ms-2.1.3"
@@ -85374,7 +86250,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Leaner CSS";
-      homepage = http://lesscss.org/;
+      homepage = "http://lesscss.org";
       license = "Apache-2.0";
     };
     production = true;
@@ -85399,7 +86275,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "clean-css plugin for less.js";
-      homepage = http://lesscss.org/;
+      homepage = "http://lesscss.org";
     };
     production = true;
     bypassCache = true;
@@ -85529,7 +86405,7 @@ in
           sources."is-glob-3.1.0"
         ];
       })
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -85568,8 +86444,8 @@ in
       sources."map-visit-1.0.0"
       sources."micromatch-3.1.10"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mixin-deep-1.3.2"
       sources."morgan-1.10.0"
       sources."ms-2.0.0"
@@ -85667,7 +86543,7 @@ in
       })
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.3"
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."split-0.3.3"
       sources."split-string-3.1.0"
       (sources."static-extend-0.1.2" // {
@@ -85877,7 +86753,7 @@ in
       sources."github-slugger-1.3.0"
       sources."glob-base-0.3.0"
       sources."glob-parent-2.0.0"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       (sources."has-binary2-1.0.3" // {
@@ -85965,8 +86841,8 @@ in
       sources."methods-1.1.2"
       sources."micromatch-2.3.11"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimist-1.2.5"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
@@ -86161,7 +87037,7 @@ in
       })
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.3"
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."split-string-3.1.0"
       sources."sprintf-js-1.0.3"
       sources."sshpk-1.16.1"
@@ -86219,14 +87095,14 @@ in
       sources."uuid-3.4.0"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
-      sources."ws-7.4.2"
+      sources."ws-7.4.3"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."yeast-0.1.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "Live Markdown previews for your favourite editor.";
-      homepage = https://github.com/shime/livedown;
+      homepage = "https://github.com/shime/livedown";
       license = "MIT";
     };
     production = true;
@@ -86239,57 +87115,57 @@ in
     version = "1.10.1";
     src = ../interpreters/clojurescript/lumo;
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
-      sources."@babel/compat-data-7.12.7"
-      sources."@babel/core-7.12.10"
-      sources."@babel/generator-7.12.11"
-      sources."@babel/helper-annotate-as-pure-7.12.10"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.10.4"
-      sources."@babel/helper-compilation-targets-7.12.5"
-      sources."@babel/helper-create-class-features-plugin-7.12.1"
-      sources."@babel/helper-create-regexp-features-plugin-7.12.7"
-      sources."@babel/helper-define-map-7.10.5"
-      sources."@babel/helper-explode-assignable-expression-7.12.1"
-      sources."@babel/helper-function-name-7.12.11"
-      sources."@babel/helper-get-function-arity-7.12.10"
-      sources."@babel/helper-hoist-variables-7.10.4"
-      sources."@babel/helper-member-expression-to-functions-7.12.7"
-      sources."@babel/helper-module-imports-7.12.5"
-      sources."@babel/helper-module-transforms-7.12.1"
-      sources."@babel/helper-optimise-call-expression-7.12.10"
-      sources."@babel/helper-plugin-utils-7.10.4"
-      sources."@babel/helper-remap-async-to-generator-7.12.1"
-      sources."@babel/helper-replace-supers-7.12.11"
-      sources."@babel/helper-simple-access-7.12.1"
+      sources."@babel/code-frame-7.12.13"
+      sources."@babel/compat-data-7.13.8"
+      sources."@babel/core-7.13.8"
+      sources."@babel/generator-7.13.0"
+      sources."@babel/helper-annotate-as-pure-7.12.13"
+      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.12.13"
+      sources."@babel/helper-compilation-targets-7.13.8"
+      sources."@babel/helper-create-class-features-plugin-7.13.8"
+      sources."@babel/helper-create-regexp-features-plugin-7.12.17"
+      sources."@babel/helper-define-polyfill-provider-0.1.4"
+      sources."@babel/helper-explode-assignable-expression-7.13.0"
+      sources."@babel/helper-function-name-7.12.13"
+      sources."@babel/helper-get-function-arity-7.12.13"
+      sources."@babel/helper-hoist-variables-7.13.0"
+      sources."@babel/helper-member-expression-to-functions-7.13.0"
+      sources."@babel/helper-module-imports-7.12.13"
+      sources."@babel/helper-module-transforms-7.13.0"
+      sources."@babel/helper-optimise-call-expression-7.12.13"
+      sources."@babel/helper-plugin-utils-7.13.0"
+      sources."@babel/helper-remap-async-to-generator-7.13.0"
+      sources."@babel/helper-replace-supers-7.13.0"
+      sources."@babel/helper-simple-access-7.12.13"
       sources."@babel/helper-skip-transparent-expression-wrappers-7.12.1"
-      sources."@babel/helper-split-export-declaration-7.12.11"
+      sources."@babel/helper-split-export-declaration-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      sources."@babel/helper-validator-option-7.12.11"
-      sources."@babel/helper-wrap-function-7.12.3"
-      sources."@babel/helpers-7.12.5"
-      (sources."@babel/highlight-7.10.4" // {
+      sources."@babel/helper-validator-option-7.12.17"
+      sources."@babel/helper-wrap-function-7.13.0"
+      sources."@babel/helpers-7.13.0"
+      (sources."@babel/highlight-7.13.8" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.12.11"
+      sources."@babel/parser-7.13.4"
       sources."@babel/plugin-external-helpers-7.8.3"
-      sources."@babel/plugin-proposal-async-generator-functions-7.12.12"
-      sources."@babel/plugin-proposal-class-properties-7.12.1"
-      sources."@babel/plugin-proposal-dynamic-import-7.12.1"
-      sources."@babel/plugin-proposal-export-namespace-from-7.12.1"
-      sources."@babel/plugin-proposal-json-strings-7.12.1"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.12.1"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.12.1"
-      sources."@babel/plugin-proposal-numeric-separator-7.12.7"
-      sources."@babel/plugin-proposal-object-rest-spread-7.12.1"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.12.1"
-      sources."@babel/plugin-proposal-optional-chaining-7.12.7"
-      sources."@babel/plugin-proposal-private-methods-7.12.1"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.12.1"
+      sources."@babel/plugin-proposal-async-generator-functions-7.13.8"
+      sources."@babel/plugin-proposal-class-properties-7.13.0"
+      sources."@babel/plugin-proposal-dynamic-import-7.13.8"
+      sources."@babel/plugin-proposal-export-namespace-from-7.12.13"
+      sources."@babel/plugin-proposal-json-strings-7.13.8"
+      sources."@babel/plugin-proposal-logical-assignment-operators-7.13.8"
+      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.13.8"
+      sources."@babel/plugin-proposal-numeric-separator-7.12.13"
+      sources."@babel/plugin-proposal-object-rest-spread-7.13.8"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.13.8"
+      sources."@babel/plugin-proposal-optional-chaining-7.13.8"
+      sources."@babel/plugin-proposal-private-methods-7.13.0"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.12.13"
       sources."@babel/plugin-syntax-async-generators-7.8.4"
       sources."@babel/plugin-syntax-bigint-7.8.3"
-      sources."@babel/plugin-syntax-class-properties-7.12.1"
+      sources."@babel/plugin-syntax-class-properties-7.12.13"
       sources."@babel/plugin-syntax-dynamic-import-7.8.3"
       sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
       sources."@babel/plugin-syntax-import-meta-7.10.4"
@@ -86300,51 +87176,51 @@ in
       sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
       sources."@babel/plugin-syntax-optional-catch-binding-7.8.3"
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
-      sources."@babel/plugin-syntax-top-level-await-7.12.1"
-      sources."@babel/plugin-transform-arrow-functions-7.12.1"
-      sources."@babel/plugin-transform-async-to-generator-7.12.1"
-      sources."@babel/plugin-transform-block-scoped-functions-7.12.1"
-      sources."@babel/plugin-transform-block-scoping-7.12.12"
-      sources."@babel/plugin-transform-classes-7.12.1"
-      sources."@babel/plugin-transform-computed-properties-7.12.1"
-      sources."@babel/plugin-transform-destructuring-7.12.1"
-      sources."@babel/plugin-transform-dotall-regex-7.12.1"
-      sources."@babel/plugin-transform-duplicate-keys-7.12.1"
-      sources."@babel/plugin-transform-exponentiation-operator-7.12.1"
-      sources."@babel/plugin-transform-for-of-7.12.1"
-      sources."@babel/plugin-transform-function-name-7.12.1"
-      sources."@babel/plugin-transform-literals-7.12.1"
-      sources."@babel/plugin-transform-member-expression-literals-7.12.1"
-      sources."@babel/plugin-transform-modules-amd-7.12.1"
-      sources."@babel/plugin-transform-modules-commonjs-7.12.1"
-      sources."@babel/plugin-transform-modules-systemjs-7.12.1"
-      sources."@babel/plugin-transform-modules-umd-7.12.1"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.12.1"
-      sources."@babel/plugin-transform-new-target-7.12.1"
-      sources."@babel/plugin-transform-object-super-7.12.1"
-      sources."@babel/plugin-transform-parameters-7.12.1"
-      sources."@babel/plugin-transform-property-literals-7.12.1"
-      sources."@babel/plugin-transform-regenerator-7.12.1"
-      sources."@babel/plugin-transform-reserved-words-7.12.1"
-      sources."@babel/plugin-transform-runtime-7.12.10"
-      sources."@babel/plugin-transform-shorthand-properties-7.12.1"
-      sources."@babel/plugin-transform-spread-7.12.1"
-      sources."@babel/plugin-transform-sticky-regex-7.12.7"
-      sources."@babel/plugin-transform-template-literals-7.12.1"
-      sources."@babel/plugin-transform-typeof-symbol-7.12.10"
-      sources."@babel/plugin-transform-unicode-escapes-7.12.1"
-      sources."@babel/plugin-transform-unicode-regex-7.12.1"
-      sources."@babel/preset-env-7.12.11"
+      sources."@babel/plugin-syntax-top-level-await-7.12.13"
+      sources."@babel/plugin-transform-arrow-functions-7.13.0"
+      sources."@babel/plugin-transform-async-to-generator-7.13.0"
+      sources."@babel/plugin-transform-block-scoped-functions-7.12.13"
+      sources."@babel/plugin-transform-block-scoping-7.12.13"
+      sources."@babel/plugin-transform-classes-7.13.0"
+      sources."@babel/plugin-transform-computed-properties-7.13.0"
+      sources."@babel/plugin-transform-destructuring-7.13.0"
+      sources."@babel/plugin-transform-dotall-regex-7.12.13"
+      sources."@babel/plugin-transform-duplicate-keys-7.12.13"
+      sources."@babel/plugin-transform-exponentiation-operator-7.12.13"
+      sources."@babel/plugin-transform-for-of-7.13.0"
+      sources."@babel/plugin-transform-function-name-7.12.13"
+      sources."@babel/plugin-transform-literals-7.12.13"
+      sources."@babel/plugin-transform-member-expression-literals-7.12.13"
+      sources."@babel/plugin-transform-modules-amd-7.13.0"
+      sources."@babel/plugin-transform-modules-commonjs-7.13.8"
+      sources."@babel/plugin-transform-modules-systemjs-7.13.8"
+      sources."@babel/plugin-transform-modules-umd-7.13.0"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.12.13"
+      sources."@babel/plugin-transform-new-target-7.12.13"
+      sources."@babel/plugin-transform-object-super-7.12.13"
+      sources."@babel/plugin-transform-parameters-7.13.0"
+      sources."@babel/plugin-transform-property-literals-7.12.13"
+      sources."@babel/plugin-transform-regenerator-7.12.13"
+      sources."@babel/plugin-transform-reserved-words-7.12.13"
+      sources."@babel/plugin-transform-runtime-7.13.8"
+      sources."@babel/plugin-transform-shorthand-properties-7.12.13"
+      sources."@babel/plugin-transform-spread-7.13.0"
+      sources."@babel/plugin-transform-sticky-regex-7.12.13"
+      sources."@babel/plugin-transform-template-literals-7.13.0"
+      sources."@babel/plugin-transform-typeof-symbol-7.12.13"
+      sources."@babel/plugin-transform-unicode-escapes-7.12.13"
+      sources."@babel/plugin-transform-unicode-regex-7.12.13"
+      sources."@babel/preset-env-7.13.8"
       sources."@babel/preset-modules-0.1.4"
       sources."@babel/preset-stage-2-7.8.3"
-      sources."@babel/runtime-7.12.5"
-      sources."@babel/template-7.12.7"
-      sources."@babel/traverse-7.12.12"
-      sources."@babel/types-7.12.12"
+      sources."@babel/runtime-7.13.8"
+      sources."@babel/template-7.12.13"
+      sources."@babel/traverse-7.13.0"
+      sources."@babel/types-7.13.0"
       sources."@cnakazawa/watch-1.0.4"
       sources."@comandeer/babel-plugin-banner-5.0.0"
       sources."@istanbuljs/load-nyc-config-1.1.0"
-      sources."@istanbuljs/schema-0.1.2"
+      sources."@istanbuljs/schema-0.1.3"
       (sources."@jest/transform-25.5.1" // {
         dependencies = [
           sources."source-map-0.6.1"
@@ -86356,15 +87232,15 @@ in
       sources."@types/babel__template-7.4.0"
       sources."@types/babel__traverse-7.11.0"
       sources."@types/estree-0.0.46"
-      sources."@types/graceful-fs-4.1.4"
+      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-14.14.22"
+      sources."@types/node-14.14.31"
       sources."@types/normalize-package-data-2.4.0"
       sources."@types/resolve-0.0.8"
-      sources."@types/yargs-15.0.12"
+      sources."@types/yargs-15.0.13"
       sources."@types/yargs-parser-20.2.0"
       sources."@webassemblyjs/ast-1.9.0"
       sources."@webassemblyjs/floating-point-hex-parser-1.9.0"
@@ -86407,7 +87283,7 @@ in
       sources."asn1-0.2.4"
       (sources."asn1.js-5.4.1" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       (sources."assert-1.5.0" // {
@@ -86450,6 +87326,9 @@ in
       sources."babel-plugin-minify-replace-0.5.0"
       sources."babel-plugin-minify-simplify-0.5.1"
       sources."babel-plugin-minify-type-constructors-0.4.3"
+      sources."babel-plugin-polyfill-corejs2-0.1.8"
+      sources."babel-plugin-polyfill-corejs3-0.1.6"
+      sources."babel-plugin-polyfill-regenerator-0.1.5"
       sources."babel-plugin-syntax-flow-6.18.0"
       sources."babel-plugin-transform-flow-strip-types-6.22.0"
       sources."babel-plugin-transform-inline-consecutive-adds-0.4.3"
@@ -86482,14 +87361,14 @@ in
       sources."big.js-5.2.2"
       sources."binary-extensions-2.2.0"
       sources."bindings-1.5.0"
-      (sources."bl-4.0.3" // {
+      (sources."bl-4.1.0" // {
         dependencies = [
           sources."buffer-5.7.1"
           sources."readable-stream-3.6.0"
         ];
       })
       sources."bluebird-3.7.2"
-      sources."bn.js-5.1.3"
+      sources."bn.js-5.2.0"
       sources."brace-expansion-1.1.11"
       (sources."braces-2.3.2" // {
         dependencies = [
@@ -86515,7 +87394,7 @@ in
         ];
       })
       sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.16.1"
+      sources."browserslist-4.16.3"
       sources."bser-2.1.1"
       sources."buffer-5.2.1"
       sources."buffer-from-1.1.1"
@@ -86531,7 +87410,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.30001180"
+      sources."caniuse-lite-1.0.30001192"
       sources."capture-exit-2.0.0"
       sources."caseless-0.12.0"
       (sources."chalk-3.0.0" // {
@@ -86580,7 +87459,7 @@ in
       sources."collection-visit-1.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.1"
+      sources."colorette-1.2.2"
       sources."colors-1.4.0"
       (sources."combine-source-map-0.8.0" // {
         dependencies = [
@@ -86603,7 +87482,7 @@ in
       })
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.8.3" // {
+      (sources."core-js-compat-3.9.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -86611,7 +87490,7 @@ in
       sources."core-util-is-1.0.2"
       (sources."create-ecdh-4.0.4" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."create-hash-1.2.0"
@@ -86626,6 +87505,7 @@ in
       })
       (sources."cross-spawn-6.0.5" // {
         dependencies = [
+          sources."semver-5.7.1"
           sources."which-1.3.1"
         ];
       })
@@ -86647,17 +87527,17 @@ in
       sources."detective-5.2.0"
       (sources."diffie-hellman-5.0.3" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."domain-browser-1.2.0"
       sources."duplexer2-0.1.4"
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
-      sources."electron-to-chromium-1.3.645"
-      (sources."elliptic-6.5.3" // {
+      sources."electron-to-chromium-1.3.675"
+      (sources."elliptic-6.5.4" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."emoji-regex-7.0.3"
@@ -86749,12 +87629,12 @@ in
       sources."fs-constants-1.0.0"
       sources."fs-write-stream-atomic-1.0.10"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.3.1"
+      sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
       sources."gensync-1.0.0-beta.2"
       sources."get-assigned-identifiers-1.2.0"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."get-package-type-0.1.0"
       sources."get-stream-4.1.0"
       sources."get-value-2.0.6"
@@ -86774,7 +87654,7 @@ in
       })
       sources."globals-11.12.0"
       sources."google-closure-compiler-js-20170910.0.1"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       (sources."gunzip-maybe-1.4.2" // {
         dependencies = [
           sources."browserify-zlib-0.1.4"
@@ -86785,7 +87665,7 @@ in
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -86855,11 +87735,7 @@ in
       sources."isobject-3.0.1"
       sources."isstream-0.1.2"
       sources."istanbul-lib-coverage-3.0.0"
-      (sources."istanbul-lib-instrument-4.0.3" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
+      sources."istanbul-lib-instrument-4.0.3"
       sources."jest-haste-map-25.5.1"
       sources."jest-regex-util-25.2.6"
       sources."jest-serializer-25.5.0"
@@ -86880,7 +87756,7 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-0.0.1"
       sources."json-stringify-safe-5.0.1"
-      sources."json5-2.1.3"
+      sources."json5-2.2.0"
       sources."jsonify-0.0.0"
       sources."jsonparse-1.3.1"
       sources."jsprim-1.4.1"
@@ -86895,15 +87771,12 @@ in
         ];
       })
       sources."locate-path-5.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
+      sources."lodash.debounce-4.0.8"
       sources."lodash.memoize-3.0.4"
       sources."lru-cache-5.1.1"
       sources."magic-string-0.25.7"
-      (sources."make-dir-3.1.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
+      sources."make-dir-3.1.0"
       sources."makeerror-1.0.11"
       sources."map-cache-0.2.2"
       sources."map-visit-1.0.0"
@@ -86920,11 +87793,11 @@ in
       })
       (sources."miller-rabin-4.0.1" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.0.4"
@@ -86954,7 +87827,7 @@ in
       (sources."node-libs-browser-2.2.1" // {
         dependencies = [
           sources."buffer-4.9.2"
-          sources."events-3.2.0"
+          sources."events-3.3.0"
           sources."inherits-2.0.3"
           sources."punycode-1.4.1"
           sources."stream-http-2.8.3"
@@ -86964,8 +87837,12 @@ in
         ];
       })
       sources."node-modules-regexp-1.0.0"
-      sources."node-releases-1.1.70"
-      sources."normalize-package-data-2.5.0"
+      sources."node-releases-1.1.71"
+      (sources."normalize-package-data-2.5.0" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
       sources."normalize-path-3.0.0"
       sources."npm-run-path-2.0.2"
       sources."oauth-sign-0.9.0"
@@ -87028,7 +87905,7 @@ in
       sources."psl-1.8.0"
       (sources."public-encrypt-4.0.3" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."pump-3.0.0"
@@ -87059,7 +87936,7 @@ in
       sources."regex-not-1.0.2"
       sources."regexpu-core-4.7.1"
       sources."regjsgen-0.5.2"
-      (sources."regjsparser-0.6.6" // {
+      (sources."regjsparser-0.6.7" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
@@ -87071,7 +87948,7 @@ in
       sources."request-2.88.2"
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       (sources."resolve-cwd-2.0.0" // {
         dependencies = [
           sources."resolve-from-3.0.0"
@@ -87108,7 +87985,7 @@ in
         ];
       })
       sources."schema-utils-2.7.1"
-      sources."semver-5.7.1"
+      sources."semver-6.3.0"
       sources."serialize-javascript-4.0.0"
       sources."set-blocking-2.0.0"
       (sources."set-value-2.0.1" // {
@@ -87164,7 +88041,7 @@ in
           sources."source-map-0.6.1"
         ];
       })
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."sourcemap-codec-1.4.8"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
@@ -87233,6 +88110,7 @@ in
           sources."path-exists-3.0.0"
           sources."pkg-dir-3.0.0"
           sources."schema-utils-1.0.0"
+          sources."semver-5.7.1"
           sources."source-map-0.6.1"
         ];
       })
@@ -87403,7 +88281,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Madoko is a fast scholarly Markdown processor written in Koka";
-      homepage = http://madoko.codeplex.com/;
+      homepage = "http://madoko.codeplex.com";
     };
     production = true;
     bypassCache = true;
@@ -87459,11 +88337,11 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.1"
       sources."link-check-4.5.4"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."markdown-link-extractor-1.2.6"
-      sources."marked-1.2.8"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."marked-1.2.9"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."ms-2.1.3"
       sources."oauth-sign-0.9.0"
       sources."performance-now-2.1.0"
@@ -87496,10 +88374,10 @@ in
   mastodon-bot = nodeEnv.buildNodePackage {
     name = "mastodon-bot";
     packageName = "mastodon-bot";
-    version = "1.10.3";
+    version = "1.10.5-1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/mastodon-bot/-/mastodon-bot-1.10.3.tgz";
-      sha512 = "0/oDK4jgCpcQplwWihbT8RNJ2Kz1rb87IcY5/RG8RyFDDgEyXvlfLH5J5x/kRjjnz2E35yOLNQr1jm/0irQ8bg==";
+      url = "https://registry.npmjs.org/mastodon-bot/-/mastodon-bot-1.10.5-1.tgz";
+      sha512 = "cW4oo3EfOk1Jt8Fkwj+uJfJJ32NdFf9xYZKdTlMah8kSXtKmnFkSfGTsFaWNacpjTYyPyvNylq+qrYWTOdlmrQ==";
     };
     dependencies = [
       sources."acorn-5.7.4"
@@ -87580,7 +88458,7 @@ in
       sources."eslint-3.19.0"
       sources."espree-3.5.4"
       sources."esprima-4.0.1"
-      (sources."esquery-1.3.1" // {
+      (sources."esquery-1.4.0" // {
         dependencies = [
           sources."estraverse-5.2.0"
         ];
@@ -87596,7 +88474,7 @@ in
       sources."exit-hook-1.1.1"
       (sources."ext-1.4.0" // {
         dependencies = [
-          sources."type-2.1.0"
+          sources."type-2.3.0"
         ];
       })
       sources."extend-3.0.2"
@@ -87619,7 +88497,7 @@ in
       sources."glob-7.1.6"
       sources."globals-9.18.0"
       sources."glogg-1.0.2"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."gulp-eslint-3.0.1"
       (sources."gulp-util-3.0.8" // {
         dependencies = [
@@ -87663,7 +88541,7 @@ in
       sources."jsonpointer-4.1.0"
       sources."jsprim-1.4.1"
       sources."levn-0.3.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash._basecopy-3.0.1"
       sources."lodash._basetostring-3.0.1"
       sources."lodash._basevalues-3.0.0"
@@ -87682,8 +88560,8 @@ in
       sources."lodash.templatesettings-3.1.1"
       sources."mastodon-api-1.3.0"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
@@ -87720,7 +88598,7 @@ in
       sources."replace-ext-0.0.1"
       sources."request-2.88.0"
       sources."require-uncached-1.0.3"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."resolve-from-1.0.1"
       sources."restore-cursor-1.0.1"
       sources."rimraf-2.6.3"
@@ -87781,7 +88659,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Bot to publish twitter, tumblr or rss posts to an mastodon account.";
-      homepage = https://github.com/yogthos/mastodon-bot;
+      homepage = "https://github.com/yogthos/mastodon-bot";
       license = "MIT";
     };
     production = true;
@@ -87837,7 +88715,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Meeting room kiosk app for displaying meeting room schedules and booking rooms in your organization. Built against Google Apps, but other sources can be defined.";
-      homepage = https://bitbucket.org/aahmed/meat;
+      homepage = "https://bitbucket.org/aahmed/meat";
     };
     production = true;
     bypassCache = true;
@@ -87846,20 +88724,20 @@ in
   "@mermaid-js/mermaid-cli" = nodeEnv.buildNodePackage {
     name = "_at_mermaid-js_slash_mermaid-cli";
     packageName = "@mermaid-js/mermaid-cli";
-    version = "8.9.0";
+    version = "8.9.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@mermaid-js/mermaid-cli/-/mermaid-cli-8.9.0.tgz";
-      sha512 = "DF3nwcCi2ihM3OXIcCn4cNKUxSSU9UeyVuH9bNpgtymjpwAFU45jJXCK9RHtNhLtdjuXz+tcE/sYop3tnBGSuw==";
+      url = "https://registry.npmjs.org/@mermaid-js/mermaid-cli/-/mermaid-cli-8.9.1.tgz";
+      sha512 = "I/p3LzJv6gOAgHWdx0QMVbLVBN/xolqi5elACsbEWAnKuLPC+bjELsWDj35AYWBJalX01u8q1LdV0uhcCIJlMg==";
     };
     dependencies = [
       sources."@braintree/sanitize-url-3.1.0"
-      sources."@types/node-14.14.22"
+      sources."@types/node-14.14.31"
       sources."@types/yauzl-2.9.1"
-      sources."agent-base-5.1.1"
+      sources."agent-base-6.0.2"
       sources."ansi-styles-4.3.0"
       sources."balanced-match-1.0.0"
       sources."base64-js-1.5.1"
-      sources."bl-4.0.3"
+      sources."bl-4.1.0"
       sources."brace-expansion-1.1.11"
       sources."buffer-5.7.1"
       sources."buffer-crc32-0.2.13"
@@ -87912,7 +88790,7 @@ in
       sources."dagre-0.8.5"
       sources."dagre-d3-0.6.4"
       sources."debug-4.3.2"
-      sources."devtools-protocol-0.0.818844"
+      sources."devtools-protocol-0.0.847576"
       sources."end-of-stream-1.4.4"
       sources."entity-decode-2.0.2"
       sources."extract-zip-2.0.1"
@@ -87930,16 +88808,16 @@ in
           sources."commander-2.20.3"
         ];
       })
-      sources."https-proxy-agent-4.0.0"
+      sources."https-proxy-agent-5.0.0"
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."khroma-1.2.0"
       sources."locate-path-5.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lower-case-1.1.4"
-      sources."mermaid-8.9.0"
+      sources."mermaid-8.9.1"
       sources."minify-4.1.3"
       sources."minimatch-3.0.4"
       sources."mkdirp-classic-0.5.3"
@@ -87959,7 +88837,7 @@ in
       sources."progress-2.0.3"
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
-      sources."puppeteer-5.5.0"
+      sources."puppeteer-7.1.0"
       sources."readable-stream-3.6.0"
       sources."relateurl-0.2.7"
       sources."rimraf-3.0.2"
@@ -87981,12 +88859,12 @@ in
       sources."through-2.3.8"
       sources."try-catch-2.0.1"
       sources."try-to-catch-1.1.1"
-      sources."uglify-js-3.12.5"
+      sources."uglify-js-3.12.8"
       sources."unbzip2-stream-1.4.3"
       sources."upper-case-1.1.3"
       sources."util-deprecate-1.0.2"
       sources."wrappy-1.0.2"
-      sources."ws-7.4.2"
+      sources."ws-7.4.3"
       sources."yauzl-2.10.0"
     ];
     buildInputs = globalBuildInputs;
@@ -88008,23 +88886,23 @@ in
       sha512 = "j2ukrvANZQUreLl2grOQxPl0pbRSoJthYLqujdphZdwJyDwYjPqGOs+KrWwY26QbfqG2Toy06qFnYTaGx9txIg==";
     };
     dependencies = [
-      sources."@fluentui/date-time-utilities-7.9.0"
-      sources."@fluentui/dom-utilities-1.1.1"
-      sources."@fluentui/keyboard-key-0.2.12"
-      sources."@fluentui/react-7.157.0"
-      sources."@fluentui/react-focus-7.17.1"
-      sources."@fluentui/react-window-provider-1.0.1"
-      sources."@fluentui/theme-1.7.1"
-      sources."@microsoft/load-themed-styles-1.10.146"
+      sources."@fluentui/date-time-utilities-7.9.1"
+      sources."@fluentui/dom-utilities-1.1.2"
+      sources."@fluentui/keyboard-key-0.2.14"
+      sources."@fluentui/react-7.162.0"
+      sources."@fluentui/react-focus-7.17.5"
+      sources."@fluentui/react-window-provider-1.0.2"
+      sources."@fluentui/theme-1.7.4"
+      sources."@microsoft/load-themed-styles-1.10.147"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@uifabric/foundation-7.9.21"
-      sources."@uifabric/icons-7.5.18"
-      sources."@uifabric/merge-styles-7.19.1"
-      sources."@uifabric/react-hooks-7.13.9"
-      sources."@uifabric/set-version-7.0.23"
-      sources."@uifabric/styling-7.16.19"
-      sources."@uifabric/utilities-7.33.2"
+      sources."@uifabric/foundation-7.9.25"
+      sources."@uifabric/icons-7.5.22"
+      sources."@uifabric/merge-styles-7.19.2"
+      sources."@uifabric/react-hooks-7.13.12"
+      sources."@uifabric/set-version-7.0.24"
+      sources."@uifabric/styling-7.18.1"
+      sources."@uifabric/utilities-7.33.5"
       sources."accepts-1.3.7"
       sources."ajv-6.12.6"
       sources."ansi-escapes-1.4.0"
@@ -88091,7 +88969,7 @@ in
       sources."eventemitter3-4.0.7"
       sources."express-4.17.1"
       sources."express-normalize-query-params-middleware-0.5.1"
-      sources."express-openapi-7.2.3"
+      sources."express-openapi-7.4.0"
       sources."external-editor-2.2.0"
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
@@ -88124,7 +89002,7 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."keyv-3.1.0"
       sources."latest-version-5.1.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.merge-4.6.2"
       sources."loose-envify-1.4.0"
       sources."lowercase-keys-1.0.1"
@@ -88133,8 +89011,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
@@ -88151,17 +89029,17 @@ in
       sources."node-fetch-1.6.3"
       sources."normalize-url-4.5.0"
       sources."object-assign-4.1.1"
-      sources."office-ui-fabric-react-7.157.0"
+      sources."office-ui-fabric-react-7.162.0"
       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.2.3"
+      sources."openapi-framework-7.4.0"
       sources."openapi-jsonschema-parameters-7.2.3"
       sources."openapi-request-coercer-7.2.3"
-      sources."openapi-request-validator-7.2.3"
-      sources."openapi-response-validator-7.2.3"
+      sources."openapi-request-validator-7.4.0"
+      sources."openapi-response-validator-7.4.0"
       sources."openapi-schema-validator-7.2.3"
       sources."openapi-security-handler-7.2.3"
       sources."openapi-types-7.2.3"
@@ -88242,7 +89120,7 @@ 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.40.0"
+      sources."swagger-ui-dist-3.44.0"
       sources."tail-2.2.0"
       sources."through-2.3.8"
       sources."tmp-0.0.33"
@@ -88264,7 +89142,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Japanese DTV Tuner Server Service.";
-      homepage = https://github.com/Chinachu/Mirakurun;
+      homepage = "https://github.com/Chinachu/Mirakurun";
       license = "Apache-2.0";
     };
     production = true;
@@ -88274,10 +89152,10 @@ in
   mocha = nodeEnv.buildNodePackage {
     name = "mocha";
     packageName = "mocha";
-    version = "8.2.1";
+    version = "8.3.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/mocha/-/mocha-8.2.1.tgz";
-      sha512 = "cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w==";
+      url = "https://registry.npmjs.org/mocha/-/mocha-8.3.0.tgz";
+      sha512 = "TQqyC89V1J/Vxx0DhJIXlq9gbbL9XFNdeLQ1+JsnZsVaSOV1z3tWfw0qZmQJGQRIfkvZcs7snQnZnOCKoldq1Q==";
     };
     dependencies = [
       sources."@ungap/promise-all-settled-1.1.2"
@@ -88285,36 +89163,45 @@ in
       sources."ansi-regex-3.0.0"
       sources."ansi-styles-4.3.0"
       sources."anymatch-3.1.1"
-      sources."argparse-1.0.10"
+      sources."argparse-2.0.1"
       sources."balanced-match-1.0.0"
       sources."binary-extensions-2.2.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."browser-stdout-1.3.1"
-      sources."camelcase-5.3.1"
-      sources."chalk-4.1.0"
-      sources."chokidar-3.4.3"
-      (sources."cliui-5.0.0" // {
+      sources."camelcase-6.2.0"
+      (sources."chalk-4.1.0" // {
         dependencies = [
-          sources."ansi-regex-4.1.0"
-          sources."string-width-3.1.0"
-          sources."strip-ansi-5.2.0"
+          sources."supports-color-7.2.0"
+        ];
+      })
+      sources."chokidar-3.5.1"
+      (sources."cliui-7.0.4" // {
+        dependencies = [
+          sources."ansi-regex-5.0.0"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."string-width-4.2.2"
+          sources."strip-ansi-6.0.0"
         ];
       })
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."concat-map-0.0.1"
-      sources."debug-4.2.0"
-      sources."decamelize-1.2.0"
-      sources."diff-4.0.2"
-      sources."emoji-regex-7.0.3"
+      (sources."debug-4.3.1" // {
+        dependencies = [
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."decamelize-4.0.0"
+      sources."diff-5.0.0"
+      sources."emoji-regex-8.0.0"
+      sources."escalade-3.1.1"
       sources."escape-string-regexp-4.0.0"
-      sources."esprima-4.0.1"
       sources."fill-range-7.0.1"
       sources."find-up-5.0.0"
       sources."flat-5.0.2"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.1.3"
+      sources."fsevents-2.3.2"
       sources."get-caller-file-2.0.5"
       sources."glob-7.1.6"
       sources."glob-parent-5.1.1"
@@ -88330,74 +89217,58 @@ in
       sources."is-number-7.0.0"
       sources."is-plain-obj-2.1.0"
       sources."isexe-2.0.0"
-      sources."js-yaml-3.14.0"
+      sources."js-yaml-4.0.0"
       sources."locate-path-6.0.0"
       sources."log-symbols-4.0.0"
       sources."minimatch-3.0.4"
-      sources."ms-2.1.2"
-      sources."nanoid-3.1.12"
+      sources."ms-2.1.3"
+      sources."nanoid-3.1.20"
       sources."normalize-path-3.0.0"
       sources."once-1.4.0"
       sources."p-limit-3.1.0"
       sources."p-locate-5.0.0"
-      sources."p-try-2.2.0"
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."picomatch-2.2.2"
       sources."randombytes-2.1.0"
       sources."readdirp-3.5.0"
       sources."require-directory-2.1.1"
-      sources."require-main-filename-2.0.0"
       sources."safe-buffer-5.2.1"
       sources."serialize-javascript-5.0.1"
-      sources."set-blocking-2.0.0"
-      sources."sprintf-js-1.0.3"
       sources."string-width-2.1.1"
       sources."strip-ansi-4.0.0"
       sources."strip-json-comments-3.1.1"
-      sources."supports-color-7.2.0"
+      sources."supports-color-8.1.1"
       sources."to-regex-range-5.0.1"
       sources."which-2.0.2"
-      sources."which-module-2.0.0"
       sources."wide-align-1.1.3"
-      sources."workerpool-6.0.2"
-      (sources."wrap-ansi-5.1.0" // {
+      sources."workerpool-6.1.0"
+      (sources."wrap-ansi-7.0.0" // {
         dependencies = [
-          sources."ansi-regex-4.1.0"
-          sources."ansi-styles-3.2.1"
-          sources."color-convert-1.9.3"
-          sources."color-name-1.1.3"
-          sources."string-width-3.1.0"
-          sources."strip-ansi-5.2.0"
+          sources."ansi-regex-5.0.0"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."string-width-4.2.2"
+          sources."strip-ansi-6.0.0"
         ];
       })
       sources."wrappy-1.0.2"
-      sources."y18n-4.0.1"
-      (sources."yargs-13.3.2" // {
-        dependencies = [
-          sources."ansi-regex-4.1.0"
-          sources."find-up-3.0.0"
-          sources."locate-path-3.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-3.0.0"
-          sources."path-exists-3.0.0"
-          sources."string-width-3.1.0"
-          sources."strip-ansi-5.2.0"
-        ];
-      })
-      sources."yargs-parser-13.1.2"
-      (sources."yargs-unparser-2.0.0" // {
+      sources."y18n-5.0.5"
+      (sources."yargs-16.2.0" // {
         dependencies = [
-          sources."camelcase-6.2.0"
-          sources."decamelize-4.0.0"
+          sources."ansi-regex-5.0.0"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."string-width-4.2.2"
+          sources."strip-ansi-6.0.0"
         ];
       })
+      sources."yargs-parser-20.2.4"
+      sources."yargs-unparser-2.0.0"
       sources."yocto-queue-0.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "simple, flexible, fun test framework";
-      homepage = https://mochajs.org/;
+      homepage = "https://mochajs.org/";
       license = "MIT";
     };
     production = true;
@@ -88435,11 +89306,11 @@ in
           sources."commander-4.1.1"
         ];
       })
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."ms-2.1.3"
       sources."native-promise-only-0.8.1"
       sources."path-loader-1.0.10"
@@ -88493,7 +89364,7 @@ in
       sources."is-stream-1.1.0"
       sources."isarray-1.0.0"
       sources."kuler-1.0.1"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.defaults-4.2.0"
       sources."lodash.omit-4.5.0"
       sources."logform-2.2.0"
@@ -88523,7 +89394,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Neovim client API and neovim remote plugin provider";
-      homepage = https://github.com/neovim/node-client;
+      homepage = "https://github.com/neovim/node-client";
       license = "MIT";
     };
     production = true;
@@ -88533,65 +89404,69 @@ in
   netlify-cli = nodeEnv.buildNodePackage {
     name = "netlify-cli";
     packageName = "netlify-cli";
-    version = "3.4.3";
+    version = "3.10.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/netlify-cli/-/netlify-cli-3.4.3.tgz";
-      sha512 = "UYeJwlANY5L4mV+SQy4bpFTvwCfiptMTqg4Udf1Ua5LgsV5jTl4IMxK1dVZ9iSMoj2lcKRhPuoNFaI+hTlKVJw==";
+      url = "https://registry.npmjs.org/netlify-cli/-/netlify-cli-3.10.2.tgz";
+      sha512 = "OPdLNdrk0CDnPdQ6DNrJTLwDf9Nzay5VLlcApuEQQ+twvAhW1cA30YDwX6t5pr+tSA+MpxWEFmWdRNMgbaZ1oQ==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
-      sources."@babel/compat-data-7.12.7"
-      (sources."@babel/core-7.12.10" // {
+      sources."@babel/code-frame-7.12.13"
+      sources."@babel/compat-data-7.13.8"
+      (sources."@babel/core-7.13.8" // {
         dependencies = [
-          sources."semver-5.7.1"
+          sources."semver-6.3.0"
         ];
       })
-      sources."@babel/generator-7.12.11"
-      sources."@babel/helper-annotate-as-pure-7.12.10"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.10.4"
-      (sources."@babel/helper-compilation-targets-7.12.5" // {
+      sources."@babel/generator-7.13.0"
+      sources."@babel/helper-annotate-as-pure-7.12.13"
+      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.12.13"
+      (sources."@babel/helper-compilation-targets-7.13.8" // {
         dependencies = [
-          sources."semver-5.7.1"
+          sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.12.1"
-      sources."@babel/helper-create-regexp-features-plugin-7.12.7"
-      sources."@babel/helper-define-map-7.10.5"
-      sources."@babel/helper-explode-assignable-expression-7.12.1"
-      sources."@babel/helper-function-name-7.12.11"
-      sources."@babel/helper-get-function-arity-7.12.10"
-      sources."@babel/helper-hoist-variables-7.10.4"
-      sources."@babel/helper-member-expression-to-functions-7.12.7"
-      sources."@babel/helper-module-imports-7.12.5"
-      sources."@babel/helper-module-transforms-7.12.1"
-      sources."@babel/helper-optimise-call-expression-7.12.10"
-      sources."@babel/helper-plugin-utils-7.10.4"
-      sources."@babel/helper-remap-async-to-generator-7.12.1"
-      sources."@babel/helper-replace-supers-7.12.11"
-      sources."@babel/helper-simple-access-7.12.1"
+      sources."@babel/helper-create-class-features-plugin-7.13.8"
+      sources."@babel/helper-create-regexp-features-plugin-7.12.17"
+      (sources."@babel/helper-define-polyfill-provider-0.1.4" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."@babel/helper-explode-assignable-expression-7.13.0"
+      sources."@babel/helper-function-name-7.12.13"
+      sources."@babel/helper-get-function-arity-7.12.13"
+      sources."@babel/helper-hoist-variables-7.13.0"
+      sources."@babel/helper-member-expression-to-functions-7.13.0"
+      sources."@babel/helper-module-imports-7.12.13"
+      sources."@babel/helper-module-transforms-7.13.0"
+      sources."@babel/helper-optimise-call-expression-7.12.13"
+      sources."@babel/helper-plugin-utils-7.13.0"
+      sources."@babel/helper-remap-async-to-generator-7.13.0"
+      sources."@babel/helper-replace-supers-7.13.0"
+      sources."@babel/helper-simple-access-7.12.13"
       sources."@babel/helper-skip-transparent-expression-wrappers-7.12.1"
-      sources."@babel/helper-split-export-declaration-7.12.11"
+      sources."@babel/helper-split-export-declaration-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      sources."@babel/helper-validator-option-7.12.11"
-      sources."@babel/helper-wrap-function-7.12.3"
-      sources."@babel/helpers-7.12.5"
-      sources."@babel/highlight-7.10.4"
-      sources."@babel/parser-7.12.11"
-      sources."@babel/plugin-proposal-async-generator-functions-7.12.12"
-      sources."@babel/plugin-proposal-class-properties-7.12.1"
-      sources."@babel/plugin-proposal-dynamic-import-7.12.1"
-      sources."@babel/plugin-proposal-export-namespace-from-7.12.1"
-      sources."@babel/plugin-proposal-json-strings-7.12.1"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.12.1"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.12.1"
-      sources."@babel/plugin-proposal-numeric-separator-7.12.7"
-      sources."@babel/plugin-proposal-object-rest-spread-7.12.1"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.12.1"
-      sources."@babel/plugin-proposal-optional-chaining-7.12.7"
-      sources."@babel/plugin-proposal-private-methods-7.12.1"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.12.1"
+      sources."@babel/helper-validator-option-7.12.17"
+      sources."@babel/helper-wrap-function-7.13.0"
+      sources."@babel/helpers-7.13.0"
+      sources."@babel/highlight-7.13.8"
+      sources."@babel/parser-7.13.4"
+      sources."@babel/plugin-proposal-async-generator-functions-7.13.8"
+      sources."@babel/plugin-proposal-class-properties-7.13.0"
+      sources."@babel/plugin-proposal-dynamic-import-7.13.8"
+      sources."@babel/plugin-proposal-export-namespace-from-7.12.13"
+      sources."@babel/plugin-proposal-json-strings-7.13.8"
+      sources."@babel/plugin-proposal-logical-assignment-operators-7.13.8"
+      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.13.8"
+      sources."@babel/plugin-proposal-numeric-separator-7.12.13"
+      sources."@babel/plugin-proposal-object-rest-spread-7.13.8"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.13.8"
+      sources."@babel/plugin-proposal-optional-chaining-7.13.8"
+      sources."@babel/plugin-proposal-private-methods-7.13.0"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.12.13"
       sources."@babel/plugin-syntax-async-generators-7.8.4"
-      sources."@babel/plugin-syntax-class-properties-7.12.1"
+      sources."@babel/plugin-syntax-class-properties-7.12.13"
       sources."@babel/plugin-syntax-dynamic-import-7.8.3"
       sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
       sources."@babel/plugin-syntax-json-strings-7.8.3"
@@ -88601,86 +89476,86 @@ in
       sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
       sources."@babel/plugin-syntax-optional-catch-binding-7.8.3"
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
-      sources."@babel/plugin-syntax-top-level-await-7.12.1"
-      sources."@babel/plugin-transform-arrow-functions-7.12.1"
-      sources."@babel/plugin-transform-async-to-generator-7.12.1"
-      sources."@babel/plugin-transform-block-scoped-functions-7.12.1"
-      sources."@babel/plugin-transform-block-scoping-7.12.12"
-      sources."@babel/plugin-transform-classes-7.12.1"
-      sources."@babel/plugin-transform-computed-properties-7.12.1"
-      sources."@babel/plugin-transform-destructuring-7.12.1"
-      sources."@babel/plugin-transform-dotall-regex-7.12.1"
-      sources."@babel/plugin-transform-duplicate-keys-7.12.1"
-      sources."@babel/plugin-transform-exponentiation-operator-7.12.1"
-      sources."@babel/plugin-transform-for-of-7.12.1"
-      sources."@babel/plugin-transform-function-name-7.12.1"
-      sources."@babel/plugin-transform-literals-7.12.1"
-      sources."@babel/plugin-transform-member-expression-literals-7.12.1"
-      sources."@babel/plugin-transform-modules-amd-7.12.1"
-      sources."@babel/plugin-transform-modules-commonjs-7.12.1"
-      sources."@babel/plugin-transform-modules-systemjs-7.12.1"
-      sources."@babel/plugin-transform-modules-umd-7.12.1"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.12.1"
-      sources."@babel/plugin-transform-new-target-7.12.1"
-      sources."@babel/plugin-transform-object-super-7.12.1"
-      sources."@babel/plugin-transform-parameters-7.12.1"
-      sources."@babel/plugin-transform-property-literals-7.12.1"
-      sources."@babel/plugin-transform-regenerator-7.12.1"
-      sources."@babel/plugin-transform-reserved-words-7.12.1"
-      sources."@babel/plugin-transform-shorthand-properties-7.12.1"
-      sources."@babel/plugin-transform-spread-7.12.1"
-      sources."@babel/plugin-transform-sticky-regex-7.12.7"
-      sources."@babel/plugin-transform-template-literals-7.12.1"
-      sources."@babel/plugin-transform-typeof-symbol-7.12.10"
-      sources."@babel/plugin-transform-unicode-escapes-7.12.1"
-      sources."@babel/plugin-transform-unicode-regex-7.12.1"
-      (sources."@babel/preset-env-7.12.11" // {
+      sources."@babel/plugin-syntax-top-level-await-7.12.13"
+      sources."@babel/plugin-transform-arrow-functions-7.13.0"
+      sources."@babel/plugin-transform-async-to-generator-7.13.0"
+      sources."@babel/plugin-transform-block-scoped-functions-7.12.13"
+      sources."@babel/plugin-transform-block-scoping-7.12.13"
+      sources."@babel/plugin-transform-classes-7.13.0"
+      sources."@babel/plugin-transform-computed-properties-7.13.0"
+      sources."@babel/plugin-transform-destructuring-7.13.0"
+      sources."@babel/plugin-transform-dotall-regex-7.12.13"
+      sources."@babel/plugin-transform-duplicate-keys-7.12.13"
+      sources."@babel/plugin-transform-exponentiation-operator-7.12.13"
+      sources."@babel/plugin-transform-for-of-7.13.0"
+      sources."@babel/plugin-transform-function-name-7.12.13"
+      sources."@babel/plugin-transform-literals-7.12.13"
+      sources."@babel/plugin-transform-member-expression-literals-7.12.13"
+      sources."@babel/plugin-transform-modules-amd-7.13.0"
+      sources."@babel/plugin-transform-modules-commonjs-7.13.8"
+      sources."@babel/plugin-transform-modules-systemjs-7.13.8"
+      sources."@babel/plugin-transform-modules-umd-7.13.0"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.12.13"
+      sources."@babel/plugin-transform-new-target-7.12.13"
+      sources."@babel/plugin-transform-object-super-7.12.13"
+      sources."@babel/plugin-transform-parameters-7.13.0"
+      sources."@babel/plugin-transform-property-literals-7.12.13"
+      sources."@babel/plugin-transform-regenerator-7.12.13"
+      sources."@babel/plugin-transform-reserved-words-7.12.13"
+      sources."@babel/plugin-transform-shorthand-properties-7.12.13"
+      sources."@babel/plugin-transform-spread-7.13.0"
+      sources."@babel/plugin-transform-sticky-regex-7.12.13"
+      sources."@babel/plugin-transform-template-literals-7.13.0"
+      sources."@babel/plugin-transform-typeof-symbol-7.12.13"
+      sources."@babel/plugin-transform-unicode-escapes-7.12.13"
+      sources."@babel/plugin-transform-unicode-regex-7.12.13"
+      (sources."@babel/preset-env-7.13.8" // {
         dependencies = [
-          sources."semver-5.7.1"
+          sources."semver-6.3.0"
         ];
       })
       sources."@babel/preset-modules-0.1.4"
-      sources."@babel/runtime-7.12.5"
-      sources."@babel/template-7.12.7"
-      sources."@babel/traverse-7.12.12"
-      sources."@babel/types-7.12.12"
-      sources."@bugsnag/browser-7.6.0"
-      sources."@bugsnag/core-7.6.0"
+      sources."@babel/runtime-7.13.8"
+      sources."@babel/template-7.12.13"
+      sources."@babel/traverse-7.13.0"
+      sources."@babel/types-7.13.0"
+      sources."@bugsnag/browser-7.7.0"
+      sources."@bugsnag/core-7.7.0"
       sources."@bugsnag/cuid-3.0.0"
-      sources."@bugsnag/js-7.6.0"
-      sources."@bugsnag/node-7.6.0"
+      sources."@bugsnag/js-7.8.0"
+      sources."@bugsnag/node-7.8.0"
       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-8.3.1" // {
+      (sources."@netlify/build-9.5.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-3.0.0"
           sources."execa-3.4.0"
           sources."locate-path-5.0.0"
-          sources."resolve-2.0.0-next.2"
+          sources."resolve-2.0.0-next.3"
         ];
       })
-      (sources."@netlify/cache-utils-1.0.6" // {
+      (sources."@netlify/cache-utils-1.0.7" // {
         dependencies = [
           sources."locate-path-5.0.0"
         ];
       })
-      (sources."@netlify/config-3.0.4" // {
+      (sources."@netlify/config-4.0.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-3.0.0"
           sources."execa-3.4.0"
         ];
       })
-      (sources."@netlify/framework-info-2.1.1" // {
+      (sources."@netlify/framework-info-2.3.0" // {
         dependencies = [
           sources."locate-path-5.0.0"
         ];
       })
-      sources."@netlify/functions-utils-1.3.7"
-      (sources."@netlify/git-utils-1.0.6" // {
+      sources."@netlify/functions-utils-1.3.14"
+      (sources."@netlify/git-utils-1.0.8" // {
         dependencies = [
           sources."braces-3.0.2"
           sources."execa-3.4.0"
@@ -88691,7 +89566,7 @@ in
         ];
       })
       sources."@netlify/open-api-1.3.0"
-      (sources."@netlify/plugin-edge-handlers-1.11.2" // {
+      (sources."@netlify/plugin-edge-handlers-1.11.5" // {
         dependencies = [
           sources."@nodelib/fs.stat-2.0.4"
           sources."array-union-2.1.0"
@@ -88711,7 +89586,7 @@ in
         ];
       })
       sources."@netlify/plugins-list-2.2.0"
-      (sources."@netlify/run-utils-1.0.5" // {
+      (sources."@netlify/run-utils-1.0.6" // {
         dependencies = [
           sources."execa-3.4.0"
         ];
@@ -88720,10 +89595,10 @@ in
       sources."@netlify/traffic-mesh-agent-darwin-x64-0.27.10"
       sources."@netlify/traffic-mesh-agent-linux-x64-0.27.10"
       sources."@netlify/traffic-mesh-agent-win32-x64-0.27.10"
-      (sources."@netlify/zip-it-and-ship-it-2.1.1" // {
+      (sources."@netlify/zip-it-and-ship-it-2.4.0" // {
         dependencies = [
           sources."locate-path-5.0.0"
-          sources."resolve-2.0.0-next.2"
+          sources."resolve-2.0.0-next.3"
         ];
       })
       (sources."@nodelib/fs.scandir-2.1.4" // {
@@ -88753,15 +89628,20 @@ in
       })
       (sources."@oclif/command-1.8.0" // {
         dependencies = [
-          sources."@oclif/plugin-help-3.2.1"
+          sources."@oclif/plugin-help-3.2.2"
           sources."ansi-regex-3.0.0"
-          sources."ansi-styles-3.2.1"
+          sources."ansi-styles-4.3.0"
+          sources."chalk-4.1.0"
           sources."color-convert-1.9.3"
           sources."color-name-1.1.3"
           sources."is-fullwidth-code-point-2.0.0"
           sources."string-width-2.1.1"
           sources."strip-ansi-4.0.0"
-          sources."wrap-ansi-4.0.0"
+          (sources."wrap-ansi-4.0.0" // {
+            dependencies = [
+              sources."ansi-styles-3.2.1"
+            ];
+          })
         ];
       })
       (sources."@oclif/config-1.17.0" // {
@@ -88831,7 +89711,7 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      (sources."@oclif/plugin-plugins-1.9.5" // {
+      (sources."@oclif/plugin-plugins-1.10.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.0"
@@ -88849,7 +89729,7 @@ in
           sources."universal-user-agent-6.0.0"
         ];
       })
-      sources."@octokit/openapi-types-3.3.0"
+      sources."@octokit/openapi-types-5.2.1"
       (sources."@octokit/plugin-paginate-rest-1.1.2" // {
         dependencies = [
           sources."@octokit/types-2.16.2"
@@ -88861,7 +89741,7 @@ in
           sources."@octokit/types-2.16.2"
         ];
       })
-      (sources."@octokit/request-5.4.13" // {
+      (sources."@octokit/request-5.4.14" // {
         dependencies = [
           sources."@octokit/request-error-2.0.5"
           sources."is-plain-object-5.0.0"
@@ -88874,17 +89754,18 @@ in
         ];
       })
       sources."@octokit/rest-16.43.2"
-      sources."@octokit/types-6.6.0"
-      sources."@rollup/plugin-babel-5.2.2"
-      (sources."@rollup/plugin-commonjs-17.0.0" // {
+      sources."@octokit/types-6.11.1"
+      sources."@rollup/plugin-babel-5.3.0"
+      (sources."@rollup/plugin-commonjs-17.1.0" // {
         dependencies = [
           sources."estree-walker-2.0.2"
         ];
       })
       sources."@rollup/plugin-inject-4.0.2"
       sources."@rollup/plugin-json-4.1.0"
-      sources."@rollup/plugin-node-resolve-11.1.0"
+      sources."@rollup/plugin-node-resolve-11.2.0"
       sources."@rollup/pluginutils-3.1.0"
+      sources."@samverschueren/stream-to-observable-0.3.1"
       sources."@sindresorhus/is-0.14.0"
       (sources."@sindresorhus/slugify-1.1.0" // {
         dependencies = [
@@ -88909,7 +89790,7 @@ in
       sources."@types/istanbul-reports-1.1.2"
       sources."@types/minimatch-3.0.3"
       sources."@types/mkdirp-0.5.2"
-      sources."@types/node-14.14.22"
+      sources."@types/node-14.14.31"
       sources."@types/node-fetch-2.5.8"
       sources."@types/normalize-package-data-2.4.0"
       sources."@types/parse5-5.0.3"
@@ -88923,7 +89804,7 @@ in
       sources."accepts-1.3.7"
       sources."agent-base-6.0.2"
       sources."aggregate-error-3.1.0"
-      sources."ajv-7.0.3"
+      sources."ajv-7.1.1"
       (sources."ansi-align-3.0.0" // {
         dependencies = [
           sources."emoji-regex-7.0.3"
@@ -88936,6 +89817,7 @@ in
       sources."ansi-regex-4.1.0"
       sources."ansi-styles-5.1.0"
       sources."ansicolors-0.3.2"
+      sources."any-observable-0.3.0"
       sources."anymatch-3.1.1"
       (sources."archive-type-4.0.0" // {
         dependencies = [
@@ -88967,7 +89849,7 @@ in
       sources."at-least-node-1.0.0"
       sources."atob-2.1.2"
       sources."atob-lite-2.0.0"
-      (sources."aws-sdk-2.831.0" // {
+      (sources."aws-sdk-2.853.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
@@ -88975,6 +89857,13 @@ in
         ];
       })
       sources."babel-plugin-dynamic-import-node-2.3.3"
+      (sources."babel-plugin-polyfill-corejs2-0.1.8" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."babel-plugin-polyfill-corejs3-0.1.6"
+      sources."babel-plugin-polyfill-regenerator-0.1.5"
       sources."backoff-2.5.0"
       sources."bail-1.0.5"
       sources."balanced-match-1.0.0"
@@ -88984,9 +89873,9 @@ in
         ];
       })
       sources."base64-js-1.5.1"
-      sources."before-after-hook-2.1.0"
+      sources."before-after-hook-2.1.1"
       sources."binary-extensions-2.2.0"
-      sources."bl-4.0.3"
+      sources."bl-4.1.0"
       (sources."body-parser-1.19.0" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -89005,7 +89894,7 @@ in
           sources."extend-shallow-2.0.1"
         ];
       })
-      sources."browserslist-4.16.1"
+      sources."browserslist-4.16.3"
       sources."btoa-lite-1.0.0"
       sources."buffer-5.7.1"
       sources."buffer-alloc-1.2.0"
@@ -89028,7 +89917,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.30001180"
+      sources."caniuse-lite-1.0.30001192"
       sources."cardinal-2.1.1"
       sources."caw-2.0.1"
       sources."ccount-1.1.0"
@@ -89048,7 +89937,6 @@ in
         dependencies = [
           sources."braces-3.0.2"
           sources."fill-range-7.0.1"
-          sources."fsevents-2.3.1"
           sources."glob-parent-5.1.1"
           sources."is-number-7.0.0"
           sources."to-regex-range-5.0.1"
@@ -89076,8 +89964,16 @@ in
       sources."clean-stack-2.2.0"
       sources."cli-boxes-2.2.1"
       sources."cli-cursor-2.1.0"
-      sources."cli-progress-3.8.2"
+      sources."cli-progress-3.9.0"
       sources."cli-spinners-2.5.0"
+      (sources."cli-truncate-0.2.1" // {
+        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."cli-ux-5.5.1" // {
         dependencies = [
           sources."ansi-escapes-4.3.1"
@@ -89097,6 +89993,7 @@ in
       sources."cliui-6.0.0"
       sources."clone-1.0.4"
       sources."clone-response-1.0.2"
+      sources."code-point-at-1.1.0"
       sources."collection-visit-1.0.0"
       (sources."color-3.0.0" // {
         dependencies = [
@@ -89107,7 +90004,7 @@ in
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."color-string-1.5.4"
-      sources."colorette-1.2.1"
+      sources."colorette-1.2.2"
       sources."colors-1.4.0"
       sources."colorspace-1.1.2"
       sources."combined-stream-1.0.8"
@@ -89152,7 +90049,7 @@ in
           sources."safe-buffer-5.1.2"
         ];
       })
-      (sources."core-js-compat-3.8.3" // {
+      (sources."core-js-compat-3.9.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -89169,6 +90066,7 @@ in
       sources."cross-spawn-7.0.3"
       sources."crypto-random-string-2.0.0"
       sources."cyclist-1.0.1"
+      sources."date-fns-1.30.1"
       sources."date-time-2.1.0"
       (sources."debug-4.3.2" // {
         dependencies = [
@@ -89241,7 +90139,11 @@ in
       sources."detective-sass-3.0.1"
       sources."detective-scss-2.0.1"
       sources."detective-stylus-1.0.0"
-      sources."detective-typescript-5.8.0"
+      (sources."detective-typescript-5.8.0" // {
+        dependencies = [
+          sources."typescript-3.9.9"
+        ];
+      })
       (sources."dir-glob-2.2.2" // {
         dependencies = [
           sources."path-type-3.0.0"
@@ -89272,16 +90174,18 @@ in
       })
       sources."duplexer3-0.1.4"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.645"
+      sources."electron-to-chromium-1.3.675"
+      sources."elegant-spinner-1.0.1"
       sources."elf-cam-0.1.1"
       sources."emoji-regex-8.0.0"
       sources."enabled-2.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
       sources."env-paths-2.2.0"
-      sources."envinfo-7.7.3"
+      sources."envinfo-7.7.4"
       sources."error-ex-1.3.2"
       sources."error-stack-parser-2.0.6"
+      sources."esbuild-0.8.53"
       sources."escalade-3.1.1"
       sources."escape-goat-2.1.1"
       sources."escape-html-1.0.3"
@@ -89354,12 +90258,12 @@ in
       sources."extract-stack-1.0.0"
       sources."fast-deep-equal-3.1.3"
       sources."fast-diff-1.2.0"
-      sources."fast-equals-1.6.3"
+      sources."fast-equals-2.0.0"
       sources."fast-glob-2.2.7"
       sources."fast-levenshtein-2.0.6"
       sources."fast-safe-stringify-2.0.7"
       sources."fast-stringify-1.1.2"
-      sources."fastq-1.10.0"
+      sources."fastq-1.11.0"
       sources."fd-slicer-1.1.0"
       sources."fecha-4.2.0"
       sources."figures-3.2.0"
@@ -89387,9 +90291,9 @@ in
       sources."flush-write-stream-2.0.0"
       sources."fn.name-1.1.0"
       sources."folder-walker-3.2.0"
-      sources."follow-redirects-1.13.2"
+      sources."follow-redirects-1.13.3"
       sources."for-in-1.0.2"
-      sources."form-data-3.0.0"
+      sources."form-data-3.0.1"
       sources."forwarded-0.1.2"
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
@@ -89403,13 +90307,13 @@ in
       sources."fs-constants-1.0.0"
       sources."fs-extra-8.1.0"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.1.3"
+      sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
       sources."fuzzy-0.1.3"
       sources."gensync-1.0.0-beta.2"
       sources."get-amd-module-type-3.0.0"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."get-port-5.1.1"
       sources."get-proxy-2.1.0"
       sources."get-stream-5.2.0"
@@ -89458,11 +90362,11 @@ in
           sources."to-readable-stream-1.0.0"
         ];
       })
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."has-1.0.3"
-      (sources."has-ansi-0.1.0" // {
+      (sources."has-ansi-2.0.0" // {
         dependencies = [
-          sources."ansi-regex-0.2.1"
+          sources."ansi-regex-2.1.1"
         ];
       })
       sources."has-flag-4.0.0"
@@ -89472,7 +90376,7 @@ in
         ];
       })
       sources."has-symbol-support-x-1.4.2"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."has-to-string-tag-x-1.4.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
@@ -89481,6 +90385,11 @@ in
         ];
       })
       sources."has-yarn-2.1.0"
+      (sources."hasbin-1.2.3" // {
+        dependencies = [
+          sources."async-1.5.2"
+        ];
+      })
       sources."hasha-5.2.2"
       sources."hast-util-from-parse5-6.0.1"
       sources."hast-util-is-element-1.1.0"
@@ -89555,7 +90464,11 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-2.1.0"
       sources."is-buffer-1.1.6"
-      sources."is-ci-2.0.0"
+      (sources."is-ci-3.0.0" // {
+        dependencies = [
+          sources."ci-info-3.1.1"
+        ];
+      })
       sources."is-core-module-2.2.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-descriptor-1.0.2"
@@ -89576,10 +90489,12 @@ in
       })
       sources."is-obj-2.0.0"
       sources."is-object-1.0.2"
+      sources."is-observable-1.1.0"
       sources."is-path-cwd-2.2.0"
       sources."is-path-inside-3.0.2"
       sources."is-plain-obj-2.1.0"
       sources."is-plain-object-2.0.4"
+      sources."is-promise-2.2.2"
       sources."is-reference-1.2.1"
       sources."is-retry-allowed-1.2.0"
       sources."is-stream-2.0.0"
@@ -89605,7 +90520,7 @@ in
       sources."json-parse-better-errors-1.0.2"
       sources."json-parse-even-better-errors-2.3.1"
       sources."json-schema-traverse-1.0.0"
-      sources."json5-2.1.3"
+      sources."json5-2.2.0"
       sources."jsonfile-4.0.0"
       sources."junk-3.1.0"
       sources."jwt-decode-3.1.2"
@@ -89632,6 +90547,30 @@ in
       sources."leven-3.1.0"
       sources."levn-0.3.0"
       sources."lines-and-columns-1.1.6"
+      (sources."listr-0.14.3" // {
+        dependencies = [
+          sources."is-stream-1.1.0"
+          sources."p-map-2.1.0"
+        ];
+      })
+      sources."listr-silent-renderer-1.1.1"
+      (sources."listr-update-renderer-0.5.0" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."ansi-styles-2.2.1"
+          sources."chalk-1.1.3"
+          sources."figures-1.7.0"
+          sources."indent-string-3.2.0"
+          sources."log-symbols-1.0.2"
+          sources."strip-ansi-3.0.1"
+          sources."supports-color-2.0.0"
+        ];
+      })
+      (sources."listr-verbose-renderer-0.5.0" // {
+        dependencies = [
+          sources."figures-2.0.0"
+        ];
+      })
       (sources."load-json-file-5.3.0" // {
         dependencies = [
           sources."parse-json-4.0.0"
@@ -89644,10 +90583,11 @@ in
           sources."p-locate-5.0.0"
         ];
       })
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash._reinterpolate-3.0.0"
       sources."lodash.camelcase-4.3.0"
       sources."lodash.clonedeep-4.5.0"
+      sources."lodash.debounce-4.0.8"
       sources."lodash.deburr-4.1.0"
       sources."lodash.defaults-4.2.0"
       sources."lodash.difference-4.5.0"
@@ -89668,9 +90608,21 @@ in
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-3.0.0"
+          sources."fast-equals-1.6.3"
+          sources."micro-memoize-2.1.2"
+          sources."moize-5.4.7"
         ];
       })
       sources."log-symbols-3.0.0"
+      (sources."log-update-2.3.0" // {
+        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."wrap-ansi-3.0.1"
+        ];
+      })
       (sources."logform-2.2.0" // {
         dependencies = [
           sources."ms-2.1.3"
@@ -89703,11 +90655,11 @@ in
       sources."merge2-1.4.1"
       sources."methods-1.1.2"
       sources."micro-api-client-3.3.0"
-      sources."micro-memoize-2.1.2"
+      sources."micro-memoize-4.0.9"
       sources."micromatch-3.1.10"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
@@ -89719,7 +90671,7 @@ in
       })
       sources."mkdirp-0.5.5"
       sources."module-definition-3.3.1"
-      sources."moize-5.4.7"
+      sources."moize-6.0.0"
       (sources."move-file-1.2.0" // {
         dependencies = [
           (sources."cp-file-6.2.0" // {
@@ -89743,17 +90695,17 @@ in
       sources."natural-orderby-2.0.3"
       sources."negotiator-0.6.2"
       sources."nested-error-stacks-2.1.0"
-      (sources."netlify-6.1.3" // {
+      (sources."netlify-6.1.9" // {
         dependencies = [
           sources."qs-6.9.6"
         ];
       })
       sources."netlify-plugin-deploy-preview-commenting-0.0.1-alpha.16"
-      sources."netlify-redirect-parser-3.0.2"
+      sources."netlify-redirect-parser-3.0.3"
       sources."netlify-redirector-0.2.1"
       sources."nice-try-1.0.5"
       sources."node-fetch-2.6.1"
-      sources."node-releases-1.1.70"
+      sources."node-releases-1.1.71"
       sources."node-source-walk-4.2.0"
       sources."noop2-2.0.0"
       (sources."normalize-package-data-2.5.0" // {
@@ -89769,6 +90721,7 @@ in
         ];
       })
       sources."npm-run-path-4.0.1"
+      sources."number-is-nan-1.0.1"
       sources."object-assign-4.1.1"
       (sources."object-copy-0.1.0" // {
         dependencies = [
@@ -89795,7 +90748,7 @@ in
       sources."once-1.4.0"
       sources."one-time-1.0.0"
       sources."onetime-5.1.2"
-      sources."open-7.3.1"
+      sources."open-7.4.2"
       (sources."opn-5.5.0" // {
         dependencies = [
           sources."is-wsl-1.1.0"
@@ -89913,6 +90866,7 @@ in
       sources."qs-6.7.0"
       sources."query-string-5.1.1"
       sources."querystring-0.2.0"
+      sources."queue-microtask-1.2.2"
       sources."random-bytes-1.0.0"
       sources."random-item-3.1.0"
       sources."randombytes-2.1.0"
@@ -89942,7 +90896,7 @@ in
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
       sources."regjsgen-0.5.2"
-      (sources."regjsparser-0.6.6" // {
+      (sources."regjsparser-0.6.7" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
@@ -89957,7 +90911,7 @@ in
       sources."require-main-filename-2.0.0"
       sources."require-package-name-2.0.1"
       sources."requires-port-1.0.0"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."resolve-url-0.2.1"
       sources."responselike-1.0.2"
       (sources."restore-cursor-2.0.0" // {
@@ -89969,7 +90923,7 @@ in
       sources."ret-0.1.15"
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
-      sources."rollup-2.38.0"
+      sources."rollup-2.40.0"
       (sources."rollup-plugin-inject-3.0.2" // {
         dependencies = [
           sources."estree-walker-0.6.1"
@@ -89983,8 +90937,8 @@ in
         ];
       })
       sources."run-async-2.4.1"
-      sources."run-parallel-1.1.10"
-      sources."rxjs-6.6.3"
+      sources."run-parallel-1.2.0"
+      sources."rxjs-6.6.6"
       sources."safe-buffer-5.2.1"
       sources."safe-join-0.1.3"
       sources."safe-json-stringify-1.2.0"
@@ -90026,6 +90980,7 @@ in
         ];
       })
       sources."slash-2.0.0"
+      sources."slice-ansi-0.0.4"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -90068,7 +91023,7 @@ in
           sources."source-map-0.6.1"
         ];
       })
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."sourcemap-codec-1.4.8"
       sources."space-separated-tokens-1.1.5"
       sources."spdx-correct-3.1.1"
@@ -90103,6 +91058,7 @@ in
           sources."ansi-regex-0.2.1"
           sources."ansi-styles-1.1.0"
           sources."chalk-0.5.1"
+          sources."has-ansi-0.1.0"
           sources."strip-ansi-0.3.0"
           sources."supports-color-0.2.0"
         ];
@@ -90110,7 +91066,7 @@ in
       sources."statsd-client-0.4.5"
       sources."statuses-1.5.0"
       sources."strict-uri-encode-1.1.0"
-      sources."string-width-4.2.0"
+      sources."string-width-4.2.2"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -90140,6 +91096,7 @@ in
           })
         ];
       })
+      sources."symbol-observable-1.2.0"
       sources."tar-stream-2.2.0"
       sources."temp-dir-1.0.0"
       (sources."tempy-0.3.0" // {
@@ -90150,7 +91107,7 @@ in
         ];
       })
       sources."term-size-2.2.1"
-      (sources."terser-5.5.1" // {
+      (sources."terser-5.6.0" // {
         dependencies = [
           sources."source-map-0.7.3"
         ];
@@ -90193,14 +91150,14 @@ in
       sources."type-fest-0.8.1"
       sources."type-is-1.6.18"
       sources."typedarray-to-buffer-3.1.5"
-      sources."typescript-3.9.7"
+      sources."typescript-4.2.2"
       sources."uid-safe-2.1.5"
       sources."unbzip2-stream-1.4.3"
       sources."unicode-canonical-property-names-ecmascript-1.0.4"
       sources."unicode-match-property-ecmascript-1.0.4"
       sources."unicode-match-property-value-ecmascript-1.2.0"
       sources."unicode-property-aliases-ecmascript-1.1.0"
-      (sources."unified-9.2.0" // {
+      (sources."unified-9.2.1" // {
         dependencies = [
           sources."is-buffer-2.0.5"
         ];
@@ -90234,6 +91191,7 @@ in
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-3.0.0"
+          sources."is-ci-2.0.0"
         ];
       })
       sources."uri-js-4.4.1"
@@ -90316,7 +91274,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Netlify command line tool";
-      homepage = https://github.com/netlify/cli;
+      homepage = "https://github.com/netlify/cli";
       license = "MIT";
     };
     production = true;
@@ -90390,7 +91348,7 @@ in
       sources."gauge-2.7.4"
       sources."getpass-0.1.7"
       sources."glob-7.1.6"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-unicode-2.0.1"
@@ -90408,8 +91366,8 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.1"
       sources."lru-cache-6.0.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimatch-3.0.4"
       sources."minipass-3.1.3"
       sources."minizlib-2.1.2"
@@ -90472,7 +91430,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Build tool and bindings loader for node-gyp that supports prebuilds";
-      homepage = https://github.com/prebuild/node-gyp-build;
+      homepage = "https://github.com/prebuild/node-gyp-build";
       license = "MIT";
     };
     production = true;
@@ -90572,7 +91530,7 @@ in
         ];
       })
       sources."glob-5.0.15"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."har-schema-1.0.5"
       sources."har-validator-4.2.1"
       sources."has-1.0.3"
@@ -90619,8 +91577,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
@@ -90676,7 +91634,7 @@ in
           sources."qs-6.4.0"
         ];
       })
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."rimraf-2.2.8"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
@@ -90771,7 +91729,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Web Inspector based nodeJS debugger";
-      homepage = http://github.com/node-inspector/node-inspector;
+      homepage = "http://github.com/node-inspector/node-inspector";
     };
     production = true;
     bypassCache = true;
@@ -90865,16 +91823,16 @@ in
   node-red = nodeEnv.buildNodePackage {
     name = "node-red";
     packageName = "node-red";
-    version = "1.2.7";
+    version = "1.2.9";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-red/-/node-red-1.2.7.tgz";
-      sha512 = "4ZE+Kh60pXQD/o7prg5Rdl6mlubP1wDZnKdV6TumKBdiqmDwkav5T125ZHYcs/zWMoXe/AUqHS4JDkIsg0OEIA==";
+      url = "https://registry.npmjs.org/node-red/-/node-red-1.2.9.tgz";
+      sha512 = "1BXFaT7oDd5VM80O+1Lf72P9wCkYjg3CODROPRIPvcSEke6ubMo1M5GFsgh5EwGPLlTTlkuSgI+a4T3UhjAzbQ==";
     };
     dependencies = [
-      sources."@babel/runtime-7.12.5"
-      sources."@node-red/editor-api-1.2.7"
-      sources."@node-red/editor-client-1.2.7"
-      (sources."@node-red/nodes-1.2.7" // {
+      sources."@babel/runtime-7.13.8"
+      sources."@node-red/editor-api-1.2.9"
+      sources."@node-red/editor-client-1.2.9"
+      (sources."@node-red/nodes-1.2.9" // {
         dependencies = [
           sources."cookie-0.4.1"
           sources."http-errors-1.7.3"
@@ -90888,9 +91846,9 @@ in
           })
         ];
       })
-      sources."@node-red/registry-1.2.7"
-      sources."@node-red/runtime-1.2.7"
-      sources."@node-red/util-1.2.7"
+      sources."@node-red/registry-1.2.9"
+      sources."@node-red/runtime-1.2.9"
+      sources."@node-red/util-1.2.9"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.7"
       (sources."agent-base-6.0.2" // {
@@ -90900,8 +91858,7 @@ in
         ];
       })
       sources."ajv-6.12.6"
-      sources."ansi-regex-5.0.0"
-      sources."ansi-styles-3.2.1"
+      sources."ansi-regex-2.1.1"
       sources."append-field-1.0.0"
       sources."aproba-1.2.0"
       (sources."are-we-there-yet-1.1.5" // {
@@ -90946,7 +91903,7 @@ in
       })
       sources."bcrypt-pbkdf-1.0.2"
       sources."bcryptjs-2.4.3"
-      (sources."bl-4.0.3" // {
+      (sources."bl-4.1.0" // {
         dependencies = [
           sources."inherits-2.0.4"
           sources."readable-stream-3.6.0"
@@ -90962,14 +91919,12 @@ in
       sources."bytes-3.1.0"
       sources."callback-stream-1.1.0"
       sources."caseless-0.12.0"
-      sources."chalk-2.4.2"
       sources."cheerio-0.22.0"
       sources."chownr-2.0.0"
-      sources."cli-table-0.3.4"
+      sources."cli-table-0.3.5"
       sources."clone-2.1.2"
       sources."code-point-at-1.1.0"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
+      sources."colors-1.0.3"
       sources."combined-stream-1.0.8"
       sources."commist-1.1.0"
       sources."concat-map-0.0.1"
@@ -91020,12 +91975,10 @@ in
       })
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
       sources."entities-1.1.2"
       sources."escape-html-1.0.3"
-      sources."escape-string-regexp-1.0.5"
       sources."esprima-4.0.1"
       sources."etag-1.8.1"
       (sources."express-4.17.1" // {
@@ -91043,7 +91996,7 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."finalhandler-1.1.2"
-      sources."follow-redirects-1.13.2"
+      sources."follow-redirects-1.13.3"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."forwarded-0.1.2"
@@ -91052,14 +92005,7 @@ in
       sources."fs-minipass-2.1.0"
       sources."fs.notify-0.0.4"
       sources."fs.realpath-1.0.0"
-      (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."gauge-2.7.4"
       sources."getpass-0.1.7"
       sources."glob-7.1.6"
       sources."glob-parent-3.1.0"
@@ -91071,10 +92017,9 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
-      sources."has-flag-3.0.0"
       sources."has-unicode-2.0.1"
       sources."hash-sum-2.0.0"
       sources."help-me-1.1.0"
@@ -91102,7 +92047,7 @@ in
       sources."ipaddr.js-1.9.1"
       sources."is-absolute-1.0.0"
       sources."is-extglob-2.1.1"
-      sources."is-fullwidth-code-point-3.0.0"
+      sources."is-fullwidth-code-point-1.0.0"
       sources."is-glob-3.1.0"
       sources."is-negated-glob-1.0.0"
       sources."is-relative-1.0.0"
@@ -91146,8 +92091,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-2.4.7"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       (sources."minipass-3.1.3" // {
@@ -91170,10 +92115,10 @@ in
           sources."ms-2.1.2"
           sources."readable-stream-3.6.0"
           sources."string_decoder-1.3.0"
-          sources."ws-7.4.2"
+          sources."ws-7.4.3"
         ];
       })
-      (sources."mqtt-packet-6.7.0" // {
+      (sources."mqtt-packet-6.9.0" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."ms-2.1.2"
@@ -91297,11 +92242,10 @@ in
       sources."statuses-1.5.0"
       sources."stream-shift-1.0.1"
       sources."streamsearch-0.1.2"
-      sources."string-width-4.2.0"
+      sources."string-width-1.0.2"
       sources."string_decoder-0.10.31"
-      sources."strip-ansi-6.0.0"
+      sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
-      sources."supports-color-5.5.0"
       sources."tail-2.2.0"
       (sources."tar-6.0.5" // {
         dependencies = [
@@ -91344,14 +92288,7 @@ in
       sources."vary-1.1.2"
       sources."verror-1.10.0"
       sources."when-3.7.8"
-      (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."wide-align-1.1.3"
       sources."wrappy-1.0.2"
       sources."ws-6.2.1"
       sources."xml2js-0.4.23"
@@ -91362,7 +92299,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Low-code programming for event-driven applications";
-      homepage = https://nodered.org/;
+      homepage = "http://nodered.org";
       license = "Apache-2.0";
     };
     production = true;
@@ -91432,7 +92369,7 @@ in
       sources."gauge-2.7.4"
       sources."getpass-0.1.7"
       sources."glob-7.1.6"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
@@ -91454,8 +92391,8 @@ in
       sources."jsonfile-1.0.1"
       sources."jsprim-1.4.1"
       sources."lru-cache-6.0.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."minipass-3.1.3"
@@ -91508,7 +92445,7 @@ in
         ];
       })
       sources."request-2.88.2"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."retry-0.10.1"
       sources."rimraf-2.6.3"
       sources."safe-buffer-5.2.1"
@@ -91556,7 +92493,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Generate Nix expressions to build NPM packages";
-      homepage = https://github.com/svanderburg/node2nix;
+      homepage = "https://github.com/svanderburg/node2nix";
       license = "MIT";
     };
     production = true;
@@ -91620,12 +92557,12 @@ in
       sources."end-of-stream-1.4.4"
       sources."escape-goat-2.1.1"
       sources."fill-range-7.0.1"
-      sources."fsevents-2.3.1"
+      sources."fsevents-2.3.2"
       sources."get-stream-4.1.0"
       sources."glob-parent-5.1.1"
       sources."global-dirs-2.1.0"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."has-flag-3.0.0"
       sources."has-yarn-2.1.0"
       sources."http-cache-semantics-4.1.0"
@@ -91685,7 +92622,7 @@ in
         ];
       })
       sources."signal-exit-3.0.3"
-      (sources."string-width-4.2.0" // {
+      (sources."string-width-4.2.2" // {
         dependencies = [
           sources."ansi-regex-5.0.0"
           sources."emoji-regex-8.0.0"
@@ -91719,7 +92656,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Simple monitor script for use during development of a node.js app.";
-      homepage = https://nodemon.io/;
+      homepage = "https://nodemon.io";
       license = "MIT";
     };
     production = true;
@@ -91729,15 +92666,15 @@ in
   np = nodeEnv.buildNodePackage {
     name = "np";
     packageName = "np";
-    version = "7.2.0";
+    version = "7.4.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/np/-/np-7.2.0.tgz";
-      sha512 = "jfMFJXAJlGkCowMPGzA8Ywbmywk7I9hT96DsOcWjDsjq/zP5h6m3VZDcZ1AWYoCBPg4E/lFrJxROmiQH3OWnzA==";
+      url = "https://registry.npmjs.org/np/-/np-7.4.0.tgz";
+      sha512 = "woJn5Bodg0/VDyUWx5EHIsi+8QlKSows0AVRBt47PG++cJAVE6jQFXcXDFDBMqY5PueFc4w0SA3gxqPklk6oGg==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
+      sources."@babel/code-frame-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      (sources."@babel/highlight-7.10.4" // {
+      (sources."@babel/highlight-7.13.8" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -91762,7 +92699,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-14.14.22"
+      sources."@types/node-14.14.31"
       sources."@types/normalize-package-data-2.4.0"
       sources."@types/parse-json-4.0.0"
       sources."@types/responselike-1.0.0"
@@ -91784,10 +92721,11 @@ in
       sources."arrify-1.0.1"
       sources."async-exit-hook-2.0.1"
       sources."balanced-match-1.0.0"
-      (sources."boxen-4.2.0" // {
+      (sources."boxen-5.0.0" // {
         dependencies = [
-          sources."chalk-3.0.0"
-          sources."type-fest-0.8.1"
+          sources."camelcase-6.2.0"
+          sources."type-fest-0.20.2"
+          sources."wrap-ansi-7.0.0"
         ];
       })
       sources."brace-expansion-1.1.11"
@@ -91843,7 +92781,7 @@ in
       })
       sources."decompress-response-5.0.0"
       sources."deep-extend-0.6.0"
-      sources."defer-to-connect-2.0.0"
+      sources."defer-to-connect-2.0.1"
       sources."del-6.0.0"
       sources."dir-glob-3.0.1"
       sources."dot-prop-6.0.1"
@@ -91857,7 +92795,7 @@ in
       sources."execa-5.0.0"
       sources."external-editor-3.1.0"
       sources."fast-glob-3.2.5"
-      sources."fastq-1.10.0"
+      sources."fastq-1.11.0"
       (sources."figures-3.2.0" // {
         dependencies = [
           sources."escape-string-regexp-1.0.5"
@@ -91879,7 +92817,7 @@ in
           sources."type-fest-0.10.0"
         ];
       })
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       (sources."has-ansi-2.0.0" // {
@@ -91889,7 +92827,7 @@ in
       })
       sources."has-flag-4.0.0"
       sources."has-yarn-2.1.0"
-      sources."hosted-git-info-3.0.7"
+      sources."hosted-git-info-3.0.8"
       sources."http-cache-semantics-4.1.0"
       sources."human-signals-2.1.0"
       sources."iconv-lite-0.4.24"
@@ -92012,7 +92950,7 @@ in
         ];
       })
       sources."locate-path-5.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.isequal-4.5.0"
       sources."lodash.zip-4.2.0"
       sources."log-symbols-4.0.0"
@@ -92074,7 +93012,7 @@ in
           sources."mimic-fn-2.1.0"
         ];
       })
-      sources."open-7.3.1"
+      sources."open-7.4.2"
       sources."org-regex-1.0.0"
       sources."os-tmpdir-1.0.2"
       (sources."ow-0.21.0" // {
@@ -92148,6 +93086,7 @@ in
           sources."escape-goat-2.1.1"
         ];
       })
+      sources."queue-microtask-1.2.2"
       sources."quick-lru-4.0.1"
       sources."rc-1.2.8"
       (sources."read-pkg-5.2.0" // {
@@ -92166,7 +93105,7 @@ in
       sources."redent-3.0.0"
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       (sources."resolve-cwd-3.0.0" // {
         dependencies = [
           sources."resolve-from-5.0.0"
@@ -92178,8 +93117,8 @@ in
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
       sources."run-async-2.4.1"
-      sources."run-parallel-1.1.10"
-      sources."rxjs-6.6.3"
+      sources."run-parallel-1.2.0"
+      sources."rxjs-6.6.6"
       sources."safer-buffer-2.1.2"
       sources."scoped-regex-2.1.0"
       sources."semver-7.3.4"
@@ -92198,7 +93137,7 @@ in
       sources."spdx-expression-parse-3.0.1"
       sources."spdx-license-ids-3.0.7"
       sources."split-1.0.1"
-      sources."string-width-4.2.0"
+      sources."string-width-4.2.2"
       sources."strip-ansi-6.0.0"
       sources."strip-final-newline-2.0.0"
       sources."strip-indent-3.0.0"
@@ -92206,7 +93145,6 @@ in
       sources."supports-color-7.2.0"
       sources."supports-hyperlinks-2.1.0"
       sources."symbol-observable-3.0.0"
-      sources."term-size-2.2.1"
       sources."terminal-link-2.1.1"
       sources."through-2.3.8"
       sources."tmp-0.0.33"
@@ -92217,7 +93155,13 @@ in
       sources."type-fest-0.11.0"
       sources."typedarray-to-buffer-3.1.5"
       sources."unique-string-2.0.0"
-      sources."update-notifier-5.0.1"
+      (sources."update-notifier-5.1.0" // {
+        dependencies = [
+          sources."global-dirs-3.0.0"
+          sources."ini-2.0.0"
+          sources."is-installed-globally-0.4.0"
+        ];
+      })
       sources."url-parse-lax-3.0.0"
       sources."vali-date-1.0.0"
       sources."validate-npm-package-license-3.0.4"
@@ -92237,7 +93181,7 @@ in
       sources."xdg-basedir-4.0.0"
       sources."yallist-4.0.0"
       sources."yaml-1.10.0"
-      sources."yargs-parser-20.2.4"
+      sources."yargs-parser-20.2.6"
       sources."yocto-queue-0.1.0"
     ];
     buildInputs = globalBuildInputs;
@@ -92253,15 +93197,15 @@ in
   npm = nodeEnv.buildNodePackage {
     name = "npm";
     packageName = "npm";
-    version = "6.14.11";
+    version = "7.6.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm/-/npm-6.14.11.tgz";
-      sha512 = "1Zh7LjuIoEhIyjkBflSSGzfjuPQwDlghNloppjruOH5bmj9midT9qcNT0tRUZRR04shU9ekrxNy9+UTBrqeBpQ==";
+      url = "https://registry.npmjs.org/npm/-/npm-7.6.0.tgz";
+      sha512 = "1Jexc9EoGJEMEdWWLQMs2a7a5nNtD0INmBY4Gzv+RI727VZO05kruXhL8NnHtsvBfVn+eoMmBJKzy1exJRfymQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
       description = "a package manager for JavaScript";
-      homepage = https://docs.npmjs.com/;
+      homepage = "https://docs.npmjs.com/";
       license = "Artistic-2.0";
     };
     production = true;
@@ -92271,50 +93215,44 @@ in
   npm-check-updates = nodeEnv.buildNodePackage {
     name = "npm-check-updates";
     packageName = "npm-check-updates";
-    version = "11.1.1";
+    version = "11.1.9";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-11.1.1.tgz";
-      sha512 = "0K2csepXxqXd3sh05qxU9BcW/pvFBatlM6E4UKKVFe6XlGjQXo4TfI5vRT4uZLG0v2Zj/bWUouQiZvEg5iAFHA==";
+      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-11.1.9.tgz";
+      sha512 = "Ztl5q785Hw+yiUUnlhN/lmrYdzDpH6Mopr0xtijb9t6ltS4RwkIU9qZXuYlOJtPyEXNdmEdmSc2NpfFFs/Nreg==";
     };
     dependencies = [
       sources."@nodelib/fs.scandir-2.1.4"
       sources."@nodelib/fs.stat-2.0.4"
       sources."@nodelib/fs.walk-1.2.6"
       sources."@npmcli/ci-detect-1.3.0"
-      sources."@npmcli/git-2.0.4"
-      sources."@npmcli/installed-package-contents-1.0.5"
-      (sources."@npmcli/move-file-1.1.0" // {
-        dependencies = [
-          sources."rimraf-2.7.1"
-        ];
-      })
-      sources."@npmcli/node-gyp-1.0.1"
+      sources."@npmcli/git-2.0.6"
+      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.1"
+      sources."@npmcli/run-script-1.8.3"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@tootallnate/once-1.1.2"
       sources."abbrev-1.1.1"
       sources."agent-base-6.0.2"
-      sources."agentkeepalive-4.1.3"
+      sources."agentkeepalive-4.1.4"
       sources."aggregate-error-3.1.0"
       sources."ajv-6.12.6"
       (sources."ansi-align-3.0.0" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
-          sources."emoji-regex-7.0.3"
           sources."is-fullwidth-code-point-2.0.0"
           sources."string-width-3.1.0"
           sources."strip-ansi-5.2.0"
         ];
       })
-      sources."ansi-regex-5.0.0"
+      sources."ansi-regex-2.1.1"
       sources."ansi-styles-4.3.0"
       sources."aproba-1.2.0"
       sources."are-we-there-yet-1.1.5"
       sources."argparse-2.0.1"
       sources."array-union-2.1.0"
-      sources."asap-2.0.6"
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
@@ -92322,9 +93260,13 @@ in
       sources."aws4-1.11.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
-      (sources."boxen-4.2.0" // {
+      (sources."boxen-5.0.0" // {
         dependencies = [
-          sources."chalk-3.0.0"
+          sources."ansi-regex-5.0.0"
+          sources."emoji-regex-8.0.0"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."string-width-4.2.2"
+          sources."strip-ansi-6.0.0"
         ];
       })
       sources."brace-expansion-1.1.11"
@@ -92337,7 +93279,7 @@ in
           sources."lowercase-keys-2.0.0"
         ];
       })
-      sources."camelcase-5.3.1"
+      sources."camelcase-6.2.0"
       sources."caseless-0.12.0"
       sources."chalk-4.1.0"
       sources."chownr-2.0.0"
@@ -92345,20 +93287,12 @@ in
       sources."cint-8.2.1"
       sources."clean-stack-2.2.0"
       sources."cli-boxes-2.2.1"
-      (sources."cli-table-0.3.4" // {
-        dependencies = [
-          sources."ansi-styles-3.2.1"
-          sources."chalk-2.4.2"
-          sources."color-convert-1.9.3"
-          sources."color-name-1.1.3"
-          sources."has-flag-3.0.0"
-          sources."supports-color-5.5.0"
-        ];
-      })
+      sources."cli-table-0.3.5"
       sources."clone-response-1.0.2"
       sources."code-point-at-1.1.0"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
+      sources."colors-1.0.3"
       sources."combined-stream-1.0.8"
       sources."commander-6.2.1"
       sources."concat-map-0.0.1"
@@ -92368,31 +93302,28 @@ in
       sources."crypto-random-string-2.0.0"
       sources."dashdash-1.14.1"
       sources."debug-4.3.2"
-      sources."debuglog-1.0.1"
       sources."decompress-response-3.3.0"
       sources."deep-extend-0.6.0"
       sources."defer-to-connect-1.1.3"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."depd-1.1.2"
-      sources."dezalgo-1.0.3"
       sources."dir-glob-3.0.1"
       sources."dot-prop-5.3.0"
       sources."duplexer3-0.1.4"
       sources."ecc-jsbn-0.1.2"
-      sources."emoji-regex-8.0.0"
+      sources."emoji-regex-7.0.3"
       sources."encoding-0.1.13"
       sources."end-of-stream-1.4.4"
       sources."env-paths-2.2.0"
-      sources."err-code-1.1.2"
+      sources."err-code-2.0.3"
       sources."escape-goat-2.1.1"
-      sources."escape-string-regexp-1.0.5"
       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-json-stable-stringify-2.1.0"
-      sources."fastq-1.10.0"
+      sources."fastq-1.11.0"
       sources."figgy-pudding-3.5.2"
       sources."fill-range-7.0.1"
       sources."find-up-5.0.0"
@@ -92401,33 +93332,26 @@ in
       sources."fp-and-or-0.1.3"
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
-      (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."gauge-2.7.4"
       sources."get-stdin-8.0.0"
       sources."get-stream-4.1.0"
       sources."getpass-0.1.7"
       sources."glob-7.1.6"
       sources."glob-parent-5.1.1"
-      (sources."global-dirs-2.1.0" // {
+      (sources."global-dirs-3.0.0" // {
         dependencies = [
-          sources."ini-1.3.7"
+          sources."ini-2.0.0"
         ];
       })
       sources."globby-11.0.2"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-flag-4.0.0"
       sources."has-unicode-2.0.1"
       sources."has-yarn-2.1.0"
-      sources."hosted-git-info-3.0.7"
+      sources."hosted-git-info-3.0.8"
       sources."http-cache-semantics-4.1.0"
       sources."http-proxy-agent-4.0.1"
       sources."http-signature-1.2.0"
@@ -92446,9 +93370,9 @@ in
       sources."ip-1.1.5"
       sources."is-ci-2.0.0"
       sources."is-extglob-2.1.1"
-      sources."is-fullwidth-code-point-3.0.0"
+      sources."is-fullwidth-code-point-1.0.0"
       sources."is-glob-4.0.1"
-      sources."is-installed-globally-0.3.2"
+      sources."is-installed-globally-0.4.0"
       sources."is-lambda-1.0.1"
       sources."is-npm-5.0.0"
       sources."is-number-7.0.0"
@@ -92468,7 +93392,7 @@ in
       sources."json-schema-0.2.3"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
-      sources."json5-2.1.3"
+      sources."json5-2.2.0"
       sources."jsonlines-0.1.1"
       sources."jsonparse-1.3.1"
       sources."jsprim-1.4.1"
@@ -92485,7 +93409,7 @@ in
         ];
       })
       sources."locate-path-6.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-6.0.0"
       (sources."make-dir-3.1.0" // {
@@ -92493,13 +93417,13 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."make-fetch-happen-8.0.13"
+      sources."make-fetch-happen-8.0.14"
       sources."map-age-cleaner-0.1.3"
       sources."mem-8.0.0"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.2"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-3.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
@@ -92520,7 +93444,7 @@ in
       sources."npm-bundled-1.1.1"
       sources."npm-install-checks-4.0.0"
       sources."npm-normalize-package-bin-1.0.1"
-      sources."npm-package-arg-8.1.0"
+      sources."npm-package-arg-8.1.1"
       sources."npm-packlist-2.1.4"
       sources."npm-pick-manifest-6.1.0"
       sources."npm-registry-fetch-9.0.0"
@@ -92540,7 +93464,7 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."pacote-11.2.3"
+      sources."pacote-11.2.7"
       sources."parse-github-url-1.0.2"
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
@@ -92551,7 +93475,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."progress-2.0.3"
       sources."promise-inflight-1.0.1"
-      sources."promise-retry-1.1.1"
+      sources."promise-retry-2.0.1"
       sources."prompts-2.4.0"
       sources."psl-1.8.0"
       sources."puka-1.0.1"
@@ -92559,21 +93483,21 @@ in
       sources."punycode-2.1.1"
       sources."pupa-2.1.1"
       sources."qs-6.5.2"
+      sources."queue-microtask-1.2.2"
       sources."rc-1.2.8"
       sources."rc-config-loader-4.0.0"
-      sources."read-package-json-fast-1.2.1"
+      sources."read-package-json-fast-2.0.2"
       sources."readable-stream-2.3.7"
-      sources."readdir-scoped-modules-1.1.0"
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
       sources."remote-git-tags-3.0.0"
       sources."request-2.88.2"
       sources."require-from-string-2.0.2"
       sources."responselike-1.0.2"
-      sources."retry-0.10.1"
+      sources."retry-0.12.0"
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
-      sources."run-parallel-1.1.10"
+      sources."run-parallel-1.2.0"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.4"
@@ -92592,25 +93516,24 @@ in
       sources."socks-proxy-agent-5.0.0"
       sources."spawn-please-1.0.0"
       sources."sshpk-1.16.1"
-      sources."ssri-8.0.0"
-      sources."string-width-4.2.0"
+      sources."ssri-8.0.1"
+      sources."string-width-1.0.2"
       sources."string_decoder-1.1.1"
-      sources."strip-ansi-6.0.0"
+      sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
       sources."tar-6.1.0"
-      sources."term-size-2.2.1"
       sources."to-readable-stream-1.0.0"
       sources."to-regex-range-5.0.1"
       sources."tough-cookie-2.5.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."type-fest-0.8.1"
+      sources."type-fest-0.20.2"
       sources."typedarray-to-buffer-3.1.5"
       sources."unique-filename-1.1.1"
       sources."unique-slug-2.0.2"
       sources."unique-string-2.0.0"
-      sources."update-notifier-5.0.1"
+      sources."update-notifier-5.1.0"
       sources."uri-js-4.4.1"
       sources."url-parse-lax-3.0.0"
       sources."util-deprecate-1.0.2"
@@ -92618,15 +93541,25 @@ in
       sources."validate-npm-package-name-3.0.0"
       sources."verror-1.10.0"
       sources."which-2.0.2"
-      (sources."wide-align-1.1.3" // {
+      sources."wide-align-1.1.3"
+      (sources."widest-line-3.1.0" // {
         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."ansi-regex-5.0.0"
+          sources."emoji-regex-8.0.0"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."string-width-4.2.2"
+          sources."strip-ansi-6.0.0"
+        ];
+      })
+      (sources."wrap-ansi-7.0.0" // {
+        dependencies = [
+          sources."ansi-regex-5.0.0"
+          sources."emoji-regex-8.0.0"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."string-width-4.2.2"
+          sources."strip-ansi-6.0.0"
         ];
       })
-      sources."widest-line-3.1.0"
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
       sources."xdg-basedir-4.0.0"
@@ -92636,7 +93569,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Find newer versions of dependencies than what your package.json allows";
-      homepage = https://github.com/raineorshine/npm-check-updates;
+      homepage = "https://github.com/raineorshine/npm-check-updates";
       license = "Apache-2.0";
     };
     production = true;
@@ -92728,8 +93661,8 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-1.0.1"
       sources."jsprim-1.4.1"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mkdirp-0.3.5"
@@ -92810,7 +93743,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Generate nix expressions to build npm packages";
-      homepage = https://github.com/NixOS/npm2nix;
+      homepage = "https://github.com/NixOS/npm2nix";
     };
     production = true;
     bypassCache = true;
@@ -92851,7 +93784,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "OCaml language server";
-      homepage = https://github.com/freebroccolo/ocaml-language-server;
+      homepage = "https://github.com/freebroccolo/ocaml-language-server";
       license = "Apache-2.0";
     };
     production = true;
@@ -92867,112 +93800,125 @@ in
       sha512 = "G+iZGGiPEXcRzw0fiRxWYCKxdt/F7l9a0xkiU4XbcVRJCSlBnioWEwJMutOCCpoQmaQtjB4RBHDGIHN85AIhLQ==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
-      sources."@babel/compat-data-7.12.7"
-      (sources."@babel/core-7.12.10" // {
+      sources."@babel/code-frame-7.12.13"
+      sources."@babel/compat-data-7.13.8"
+      (sources."@babel/core-7.13.8" // {
         dependencies = [
-          sources."json5-2.1.3"
+          sources."json5-2.2.0"
+          sources."semver-6.3.0"
           sources."source-map-0.5.7"
         ];
       })
-      (sources."@babel/generator-7.12.11" // {
+      (sources."@babel/generator-7.13.0" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
       })
-      sources."@babel/helper-annotate-as-pure-7.12.10"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.10.4"
-      sources."@babel/helper-compilation-targets-7.12.5"
-      sources."@babel/helper-create-class-features-plugin-7.12.1"
-      sources."@babel/helper-create-regexp-features-plugin-7.12.7"
-      sources."@babel/helper-define-map-7.10.5"
-      sources."@babel/helper-explode-assignable-expression-7.12.1"
-      sources."@babel/helper-function-name-7.12.11"
-      sources."@babel/helper-get-function-arity-7.12.10"
-      sources."@babel/helper-hoist-variables-7.10.4"
-      sources."@babel/helper-member-expression-to-functions-7.12.7"
-      sources."@babel/helper-module-imports-7.12.5"
-      sources."@babel/helper-module-transforms-7.12.1"
-      sources."@babel/helper-optimise-call-expression-7.12.10"
-      sources."@babel/helper-plugin-utils-7.10.4"
-      sources."@babel/helper-remap-async-to-generator-7.12.1"
-      sources."@babel/helper-replace-supers-7.12.11"
-      sources."@babel/helper-simple-access-7.12.1"
+      sources."@babel/helper-annotate-as-pure-7.12.13"
+      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.12.13"
+      (sources."@babel/helper-compilation-targets-7.13.8" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."@babel/helper-create-class-features-plugin-7.13.8"
+      sources."@babel/helper-create-regexp-features-plugin-7.12.17"
+      (sources."@babel/helper-define-polyfill-provider-0.1.4" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."@babel/helper-explode-assignable-expression-7.13.0"
+      sources."@babel/helper-function-name-7.12.13"
+      sources."@babel/helper-get-function-arity-7.12.13"
+      sources."@babel/helper-hoist-variables-7.13.0"
+      sources."@babel/helper-member-expression-to-functions-7.13.0"
+      sources."@babel/helper-module-imports-7.12.13"
+      sources."@babel/helper-module-transforms-7.13.0"
+      sources."@babel/helper-optimise-call-expression-7.12.13"
+      sources."@babel/helper-plugin-utils-7.13.0"
+      sources."@babel/helper-remap-async-to-generator-7.13.0"
+      sources."@babel/helper-replace-supers-7.13.0"
+      sources."@babel/helper-simple-access-7.12.13"
       sources."@babel/helper-skip-transparent-expression-wrappers-7.12.1"
-      sources."@babel/helper-split-export-declaration-7.12.11"
+      sources."@babel/helper-split-export-declaration-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      sources."@babel/helper-validator-option-7.12.11"
-      sources."@babel/helper-wrap-function-7.12.3"
-      sources."@babel/helpers-7.12.5"
-      sources."@babel/highlight-7.10.4"
-      sources."@babel/parser-7.12.11"
-      sources."@babel/plugin-proposal-async-generator-functions-7.12.12"
-      sources."@babel/plugin-proposal-class-properties-7.12.1"
-      sources."@babel/plugin-proposal-dynamic-import-7.12.1"
-      sources."@babel/plugin-proposal-export-namespace-from-7.12.1"
-      sources."@babel/plugin-proposal-json-strings-7.12.1"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.12.1"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.12.1"
-      sources."@babel/plugin-proposal-numeric-separator-7.12.7"
-      sources."@babel/plugin-proposal-object-rest-spread-7.12.1"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.12.1"
-      sources."@babel/plugin-proposal-optional-chaining-7.12.7"
-      sources."@babel/plugin-proposal-private-methods-7.12.1"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.12.1"
+      sources."@babel/helper-validator-option-7.12.17"
+      sources."@babel/helper-wrap-function-7.13.0"
+      sources."@babel/helpers-7.13.0"
+      sources."@babel/highlight-7.13.8"
+      sources."@babel/parser-7.13.4"
+      sources."@babel/plugin-proposal-async-generator-functions-7.13.8"
+      sources."@babel/plugin-proposal-class-properties-7.13.0"
+      sources."@babel/plugin-proposal-dynamic-import-7.13.8"
+      sources."@babel/plugin-proposal-export-namespace-from-7.12.13"
+      sources."@babel/plugin-proposal-json-strings-7.13.8"
+      sources."@babel/plugin-proposal-logical-assignment-operators-7.13.8"
+      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.13.8"
+      sources."@babel/plugin-proposal-numeric-separator-7.12.13"
+      sources."@babel/plugin-proposal-object-rest-spread-7.13.8"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.13.8"
+      sources."@babel/plugin-proposal-optional-chaining-7.13.8"
+      sources."@babel/plugin-proposal-private-methods-7.13.0"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.12.13"
       sources."@babel/plugin-syntax-async-generators-7.8.4"
-      sources."@babel/plugin-syntax-class-properties-7.12.1"
+      sources."@babel/plugin-syntax-class-properties-7.12.13"
       sources."@babel/plugin-syntax-dynamic-import-7.8.3"
       sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
-      sources."@babel/plugin-syntax-flow-7.12.1"
+      sources."@babel/plugin-syntax-flow-7.12.13"
       sources."@babel/plugin-syntax-json-strings-7.8.3"
-      sources."@babel/plugin-syntax-jsx-7.12.1"
+      sources."@babel/plugin-syntax-jsx-7.12.13"
       sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
       sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
       sources."@babel/plugin-syntax-numeric-separator-7.10.4"
       sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
       sources."@babel/plugin-syntax-optional-catch-binding-7.8.3"
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
-      sources."@babel/plugin-syntax-top-level-await-7.12.1"
-      sources."@babel/plugin-transform-arrow-functions-7.12.1"
-      sources."@babel/plugin-transform-async-to-generator-7.12.1"
-      sources."@babel/plugin-transform-block-scoped-functions-7.12.1"
-      sources."@babel/plugin-transform-block-scoping-7.12.12"
-      sources."@babel/plugin-transform-classes-7.12.1"
-      sources."@babel/plugin-transform-computed-properties-7.12.1"
-      sources."@babel/plugin-transform-destructuring-7.12.1"
-      sources."@babel/plugin-transform-dotall-regex-7.12.1"
-      sources."@babel/plugin-transform-duplicate-keys-7.12.1"
-      sources."@babel/plugin-transform-exponentiation-operator-7.12.1"
-      sources."@babel/plugin-transform-flow-strip-types-7.12.10"
-      sources."@babel/plugin-transform-for-of-7.12.1"
-      sources."@babel/plugin-transform-function-name-7.12.1"
-      sources."@babel/plugin-transform-literals-7.12.1"
-      sources."@babel/plugin-transform-member-expression-literals-7.12.1"
-      sources."@babel/plugin-transform-modules-amd-7.12.1"
-      sources."@babel/plugin-transform-modules-commonjs-7.12.1"
-      sources."@babel/plugin-transform-modules-systemjs-7.12.1"
-      sources."@babel/plugin-transform-modules-umd-7.12.1"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.12.1"
-      sources."@babel/plugin-transform-new-target-7.12.1"
-      sources."@babel/plugin-transform-object-super-7.12.1"
-      sources."@babel/plugin-transform-parameters-7.12.1"
-      sources."@babel/plugin-transform-property-literals-7.12.1"
-      sources."@babel/plugin-transform-react-jsx-7.12.12"
-      sources."@babel/plugin-transform-regenerator-7.12.1"
-      sources."@babel/plugin-transform-reserved-words-7.12.1"
-      sources."@babel/plugin-transform-shorthand-properties-7.12.1"
-      sources."@babel/plugin-transform-spread-7.12.1"
-      sources."@babel/plugin-transform-sticky-regex-7.12.7"
-      sources."@babel/plugin-transform-template-literals-7.12.1"
-      sources."@babel/plugin-transform-typeof-symbol-7.12.10"
-      sources."@babel/plugin-transform-unicode-escapes-7.12.1"
-      sources."@babel/plugin-transform-unicode-regex-7.12.1"
-      sources."@babel/preset-env-7.12.11"
+      sources."@babel/plugin-syntax-top-level-await-7.12.13"
+      sources."@babel/plugin-transform-arrow-functions-7.13.0"
+      sources."@babel/plugin-transform-async-to-generator-7.13.0"
+      sources."@babel/plugin-transform-block-scoped-functions-7.12.13"
+      sources."@babel/plugin-transform-block-scoping-7.12.13"
+      sources."@babel/plugin-transform-classes-7.13.0"
+      sources."@babel/plugin-transform-computed-properties-7.13.0"
+      sources."@babel/plugin-transform-destructuring-7.13.0"
+      sources."@babel/plugin-transform-dotall-regex-7.12.13"
+      sources."@babel/plugin-transform-duplicate-keys-7.12.13"
+      sources."@babel/plugin-transform-exponentiation-operator-7.12.13"
+      sources."@babel/plugin-transform-flow-strip-types-7.13.0"
+      sources."@babel/plugin-transform-for-of-7.13.0"
+      sources."@babel/plugin-transform-function-name-7.12.13"
+      sources."@babel/plugin-transform-literals-7.12.13"
+      sources."@babel/plugin-transform-member-expression-literals-7.12.13"
+      sources."@babel/plugin-transform-modules-amd-7.13.0"
+      sources."@babel/plugin-transform-modules-commonjs-7.13.8"
+      sources."@babel/plugin-transform-modules-systemjs-7.13.8"
+      sources."@babel/plugin-transform-modules-umd-7.13.0"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.12.13"
+      sources."@babel/plugin-transform-new-target-7.12.13"
+      sources."@babel/plugin-transform-object-super-7.12.13"
+      sources."@babel/plugin-transform-parameters-7.13.0"
+      sources."@babel/plugin-transform-property-literals-7.12.13"
+      sources."@babel/plugin-transform-react-jsx-7.12.17"
+      sources."@babel/plugin-transform-regenerator-7.12.13"
+      sources."@babel/plugin-transform-reserved-words-7.12.13"
+      sources."@babel/plugin-transform-shorthand-properties-7.12.13"
+      sources."@babel/plugin-transform-spread-7.13.0"
+      sources."@babel/plugin-transform-sticky-regex-7.12.13"
+      sources."@babel/plugin-transform-template-literals-7.13.0"
+      sources."@babel/plugin-transform-typeof-symbol-7.12.13"
+      sources."@babel/plugin-transform-unicode-escapes-7.12.13"
+      sources."@babel/plugin-transform-unicode-regex-7.12.13"
+      (sources."@babel/preset-env-7.13.8" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
       sources."@babel/preset-modules-0.1.4"
-      sources."@babel/runtime-7.12.5"
-      sources."@babel/template-7.12.7"
-      sources."@babel/traverse-7.12.12"
-      sources."@babel/types-7.12.12"
+      sources."@babel/runtime-7.13.8"
+      sources."@babel/template-7.12.13"
+      sources."@babel/traverse-7.13.0"
+      sources."@babel/types-7.13.0"
       sources."@iarna/toml-2.2.5"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
@@ -93009,7 +93955,7 @@ in
       sources."asn1-0.2.4"
       (sources."asn1.js-5.4.1" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       (sources."assert-1.5.0" // {
@@ -93027,6 +93973,13 @@ in
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
       sources."babel-plugin-dynamic-import-node-2.3.3"
+      (sources."babel-plugin-polyfill-corejs2-0.1.8" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."babel-plugin-polyfill-corejs3-0.1.6"
+      sources."babel-plugin-polyfill-regenerator-0.1.5"
       (sources."babel-runtime-6.26.0" // {
         dependencies = [
           sources."regenerator-runtime-0.11.1"
@@ -93048,7 +94001,7 @@ in
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-extensions-1.13.1"
       sources."bindings-1.5.0"
-      sources."bn.js-5.1.3"
+      sources."bn.js-5.2.0"
       sources."boolbase-1.0.0"
       sources."brace-expansion-1.1.11"
       sources."braces-2.3.2"
@@ -93070,7 +94023,7 @@ in
           sources."pako-1.0.11"
         ];
       })
-      sources."browserslist-4.16.1"
+      sources."browserslist-4.16.3"
       (sources."buffer-4.9.2" // {
         dependencies = [
           sources."isarray-1.0.0"
@@ -93087,7 +94040,7 @@ in
       sources."caller-path-2.0.0"
       sources."callsites-2.0.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001180"
+      sources."caniuse-lite-1.0.30001192"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.8"
@@ -93102,7 +94055,7 @@ in
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."color-string-1.5.4"
-      sources."colorette-1.2.1"
+      sources."colorette-1.2.2"
       sources."combined-stream-1.0.8"
       sources."command-exists-1.2.9"
       sources."commander-2.20.3"
@@ -93114,7 +94067,7 @@ in
       sources."convert-source-map-1.7.0"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.8.3" // {
+      (sources."core-js-compat-3.9.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -93123,7 +94076,7 @@ in
       sources."cosmiconfig-5.2.1"
       (sources."create-ecdh-4.0.4" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."create-hash-1.2.0"
@@ -93202,7 +94155,7 @@ in
       sources."destroy-1.0.4"
       (sources."diffie-hellman-5.0.3" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       (sources."dom-serializer-0.2.2" // {
@@ -93222,15 +94175,15 @@ in
       sources."duplexer2-0.1.4"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.645"
-      (sources."elliptic-6.5.3" // {
+      sources."electron-to-chromium-1.3.675"
+      (sources."elliptic-6.5.4" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."encodeurl-1.0.2"
       sources."entities-1.1.2"
-      sources."envinfo-7.7.3"
+      sources."envinfo-7.7.4"
       sources."error-ex-1.3.2"
       (sources."es-abstract-1.18.0-next.2" // {
         dependencies = [
@@ -93246,7 +94199,7 @@ in
       sources."estraverse-4.3.0"
       sources."esutils-2.0.3"
       sources."etag-1.8.1"
-      sources."events-3.2.0"
+      sources."events-3.3.0"
       sources."evp_bytestokey-1.0.3"
       (sources."expand-brackets-2.1.4" // {
         dependencies = [
@@ -93281,7 +94234,7 @@ in
       sources."fsevents-1.2.13"
       sources."function-bind-1.1.1"
       sources."gensync-1.0.0-beta.2"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."get-port-3.2.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
@@ -93293,7 +94246,7 @@ in
       })
       sources."glob-to-regexp-0.3.0"
       sources."globals-11.12.0"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."grapheme-breaker-0.3.2"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
@@ -93304,7 +94257,7 @@ in
         ];
       })
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -93356,7 +94309,7 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.2.2"
+      sources."is-callable-1.2.3"
       sources."is-color-stop-1.1.0"
       sources."is-core-module-2.2.0"
       (sources."is-data-descriptor-1.0.0" // {
@@ -93379,7 +94332,7 @@ in
       sources."is-number-3.0.0"
       sources."is-obj-2.0.0"
       sources."is-plain-object-2.0.4"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-resolvable-1.1.0"
       sources."is-svg-3.0.0"
       sources."is-symbol-1.0.3"
@@ -93415,8 +94368,9 @@ in
       sources."jsprim-1.4.1"
       sources."kind-of-3.2.2"
       sources."levn-0.3.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.clone-4.5.0"
+      sources."lodash.debounce-4.0.8"
       sources."lodash.memoize-4.1.2"
       sources."lodash.sortby-4.7.0"
       sources."lodash.uniq-4.5.0"
@@ -93442,12 +94396,12 @@ in
       })
       (sources."miller-rabin-4.0.1" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-1.2.0"
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
@@ -93477,7 +94431,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-1.1.70"
+      sources."node-releases-1.1.71"
       sources."normalize-path-3.0.0"
       sources."normalize-url-3.3.0"
       sources."nth-check-1.0.2"
@@ -93489,9 +94443,9 @@ in
       sources."object-keys-1.1.1"
       sources."object-visit-1.0.1"
       sources."object.assign-4.1.2"
-      sources."object.getownpropertydescriptors-2.1.1"
+      sources."object.getownpropertydescriptors-2.1.2"
       sources."object.pick-1.3.0"
-      sources."object.values-1.1.2"
+      sources."object.values-1.1.3"
       sources."on-finished-2.3.0"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
@@ -93590,7 +94544,7 @@ in
       sources."psl-1.8.0"
       (sources."public-encrypt-4.0.3" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."punycode-2.1.1"
@@ -93627,7 +94581,7 @@ in
       })
       sources."regexpu-core-4.7.1"
       sources."regjsgen-0.5.2"
-      (sources."regjsparser-0.6.6" // {
+      (sources."regjsparser-0.6.7" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
@@ -93639,7 +94593,7 @@ in
       sources."request-2.88.2"
       sources."request-promise-core-1.1.4"
       sources."request-promise-native-1.0.9"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."resolve-from-3.0.0"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-2.0.0"
@@ -93695,7 +94649,7 @@ 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.0"
+      sources."source-map-url-0.4.1"
       (sources."split-string-3.1.0" // {
         dependencies = [
           sources."extend-shallow-3.0.2"
@@ -93718,8 +94672,8 @@ in
       sources."stealthy-require-1.1.1"
       sources."stream-browserify-2.0.2"
       sources."stream-http-2.8.3"
-      sources."string.prototype.trimend-1.0.3"
-      sources."string.prototype.trimstart-1.0.3"
+      sources."string.prototype.trimend-1.0.4"
+      sources."string.prototype.trimstart-1.0.4"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-4.0.0"
       (sources."stylehacks-4.0.3" // {
@@ -93939,15 +94893,15 @@ in
       sources."gelf-stream-1.1.1"
       sources."gelfling-0.3.1"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."getpass-0.1.7"
       sources."glob-7.1.6"
-      sources."graceful-fs-4.2.4"
-      sources."handlebars-4.7.6"
+      sources."graceful-fs-4.2.6"
+      sources."handlebars-4.7.7"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."hat-0.0.3"
       sources."heapdump-0.3.15"
       sources."hot-shots-6.8.7"
@@ -93978,7 +94932,7 @@ in
       sources."kad-memstore-0.0.1"
       sources."limitation-0.2.1"
       sources."locate-path-3.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.clone-4.5.0"
       sources."lodash.clonedeep-4.5.0"
       sources."lru-cache-6.0.0"
@@ -93988,8 +94942,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
@@ -94083,7 +95037,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-is-1.6.18"
-      sources."uglify-js-3.12.5"
+      sources."uglify-js-3.12.8"
       sources."unix-dgram-2.0.4"
       sources."unpipe-1.0.0"
       sources."uri-js-4.4.1"
@@ -94121,10 +95075,10 @@ in
   patch-package = nodeEnv.buildNodePackage {
     name = "patch-package";
     packageName = "patch-package";
-    version = "6.2.2";
+    version = "6.4.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/patch-package/-/patch-package-6.2.2.tgz";
-      sha512 = "YqScVYkVcClUY0v8fF0kWOjDYopzIM8e3bj/RU1DPeEF14+dCGm6UeOYm4jvCyxqIEQ5/eJzmbWfDWnUleFNMg==";
+      url = "https://registry.npmjs.org/patch-package/-/patch-package-6.4.0.tgz";
+      sha512 = "KePc85SXRoN//6T4uSDvWpH05xfyH+VGbtzgeNNsGgallox5l4UKWFHCd26SCfAI9ob9DB7MZqsxMjGMweIY+A==";
     };
     dependencies = [
       sources."@yarnpkg/lockfile-1.1.0"
@@ -94223,7 +95177,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."get-value-2.0.6"
       sources."glob-7.1.6"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."has-flag-3.0.0"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
@@ -94238,6 +95192,7 @@ in
       sources."is-ci-2.0.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-descriptor-1.0.2"
+      sources."is-docker-2.1.1"
       sources."is-extendable-0.1.1"
       (sources."is-number-3.0.0" // {
         dependencies = [
@@ -94246,6 +95201,7 @@ in
       })
       sources."is-plain-object-2.0.4"
       sources."is-windows-1.0.2"
+      sources."is-wsl-2.2.0"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
@@ -94281,6 +95237,7 @@ in
       sources."object-visit-1.0.1"
       sources."object.pick-1.3.0"
       sources."once-1.4.0"
+      sources."open-7.4.2"
       sources."os-tmpdir-1.0.2"
       sources."pascalcase-0.1.1"
       sources."path-is-absolute-1.0.1"
@@ -94332,7 +95289,7 @@ in
       })
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.3"
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."split-string-3.1.0"
       (sources."static-extend-0.1.2" // {
         dependencies = [
@@ -94425,7 +95382,7 @@ in
         ];
       })
       sources."blob-to-buffer-1.2.9"
-      sources."bn.js-4.11.9"
+      sources."bn.js-4.12.0"
       sources."bncode-0.5.3"
       sources."bonjour-3.5.0"
       sources."bplist-creator-0.0.6"
@@ -94485,14 +95442,14 @@ in
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."get-browser-rtc-1.1.0"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."get-stdin-4.0.1"
       sources."glob-7.1.6"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."hat-0.0.3"
       sources."hosted-git-info-2.8.8"
       sources."http-headers-3.0.2"
@@ -94508,7 +95465,7 @@ in
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
           sources."is-fullwidth-code-point-2.0.0"
-          sources."lodash-4.17.20"
+          sources."lodash-4.17.21"
           sources."string-width-2.1.1"
           sources."strip-ansi-4.0.0"
           sources."supports-color-5.5.0"
@@ -94524,7 +95481,7 @@ in
       sources."is-date-object-1.0.2"
       sources."is-finite-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-utf8-0.2.1"
       sources."isarray-1.0.0"
       sources."k-bucket-0.6.0"
@@ -94542,7 +95499,7 @@ in
       sources."magnet-uri-5.4.0"
       sources."map-obj-1.0.1"
       sources."meow-3.7.0"
-      sources."mime-2.5.0"
+      sources."mime-2.5.2"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
@@ -94559,7 +95516,7 @@ in
       sources."number-is-nan-1.0.1"
       sources."numeral-2.0.6"
       sources."object-assign-4.1.1"
-      sources."object-is-1.1.4"
+      sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
@@ -94601,7 +95558,8 @@ in
       sources."plist-1.2.0"
       sources."process-nextick-args-2.0.1"
       sources."pump-2.0.1"
-      sources."random-access-file-2.1.4"
+      sources."queue-microtask-1.2.2"
+      sources."random-access-file-2.2.0"
       sources."random-access-storage-1.4.1"
       sources."random-iterate-1.0.1"
       sources."randombytes-2.1.0"
@@ -94614,12 +95572,12 @@ in
       sources."redent-1.0.0"
       sources."regexp.prototype.flags-1.3.1"
       sources."repeating-2.0.1"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."restore-cursor-2.0.0"
       sources."reverse-http-1.3.0"
       sources."rimraf-2.7.1"
       sources."run-async-2.4.1"
-      sources."run-parallel-1.1.10"
+      sources."run-parallel-1.2.0"
       sources."run-series-1.1.9"
       sources."rusha-0.8.13"
       sources."rxjs-5.5.12"
@@ -94695,7 +95653,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Streaming torrent client for Node.js";
-      homepage = https://github.com/mafintosh/peerflix;
+      homepage = "https://github.com/mafintosh/peerflix";
       license = "MIT";
     };
     production = true;
@@ -94746,9 +95704,9 @@ in
           sources."ws-1.1.5"
         ];
       })
-      sources."bl-4.0.3"
+      sources."bl-4.1.0"
       sources."blob-0.0.5"
-      sources."bn.js-4.11.9"
+      sources."bn.js-4.12.0"
       sources."bncode-0.5.3"
       sources."body-parser-1.19.0"
       sources."brace-expansion-1.1.11"
@@ -94833,7 +95791,7 @@ in
       sources."get-browser-rtc-1.1.0"
       sources."getpass-0.1.7"
       sources."glob-7.1.6"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       (sources."has-binary2-1.0.3" // {
@@ -94883,7 +95841,7 @@ in
           sources."readable-stream-2.3.7"
         ];
       })
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.defaults-4.2.0"
       sources."lodash.difference-4.5.0"
       sources."lodash.flatten-4.4.0"
@@ -94895,8 +95853,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
@@ -94949,7 +95907,8 @@ in
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.7.0"
-      sources."random-access-file-2.1.4"
+      sources."queue-microtask-1.2.2"
+      sources."random-access-file-2.2.0"
       sources."random-access-storage-1.4.1"
       sources."random-bytes-1.0.0"
       sources."random-iterate-1.0.1"
@@ -94965,7 +95924,7 @@ in
         ];
       })
       sources."rimraf-2.7.1"
-      sources."run-parallel-1.1.10"
+      sources."run-parallel-1.2.0"
       sources."run-series-1.1.9"
       sources."rusha-0.8.13"
       sources."safe-buffer-5.1.2"
@@ -95050,7 +96009,7 @@ in
       sources."verror-1.10.0"
       sources."which-1.3.1"
       sources."wrappy-1.0.2"
-      sources."ws-7.4.2"
+      sources."ws-7.4.3"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."xtend-4.0.2"
       sources."yeast-0.1.2"
@@ -95069,10 +96028,10 @@ in
   pm2 = nodeEnv.buildNodePackage {
     name = "pm2";
     packageName = "pm2";
-    version = "4.5.1";
+    version = "4.5.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pm2/-/pm2-4.5.1.tgz";
-      sha512 = "gEOYugy4vEGazszDtjbZcWnZhHpBLKl0JiYhEnIJqmMj576a0D5LNCmd9grJswB1ziZim+9YInqFrG3FQTxvEg==";
+      url = "https://registry.npmjs.org/pm2/-/pm2-4.5.5.tgz";
+      sha512 = "feLYWAq8liDsM2IV0ViZ4TSnEUoOtpuICakzFnhh2bb51BUnpJMOjO1sojR1jDuNHvhrYGWqneOUglxE6slKwg==";
     };
     dependencies = [
       (sources."@opencensus/core-0.0.9" // {
@@ -95112,7 +96071,7 @@ in
         dependencies = [
           sources."async-2.6.3"
           sources."debug-4.1.1"
-          sources."eventemitter2-6.4.3"
+          sources."eventemitter2-6.4.4"
           sources."semver-6.3.0"
           sources."tslib-1.9.3"
         ];
@@ -95120,7 +96079,7 @@ in
       (sources."@pm2/js-api-0.6.7" // {
         dependencies = [
           sources."async-2.6.3"
-          sources."eventemitter2-6.4.3"
+          sources."eventemitter2-6.4.4"
         ];
       })
       sources."@pm2/pm2-version-check-1.0.3"
@@ -95147,6 +96106,7 @@ in
       sources."balanced-match-1.0.0"
       sources."binary-extensions-2.2.0"
       sources."blessed-0.1.81"
+      sources."bodec-0.1.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."buffer-from-1.1.1"
@@ -95163,6 +96123,7 @@ in
       sources."continuation-local-storage-3.2.1"
       sources."core-util-is-1.0.2"
       sources."cron-1.8.2"
+      sources."culvert-0.1.2"
       sources."data-uri-to-buffer-1.2.0"
       sources."dayjs-1.8.36"
       (sources."debug-4.3.2" // {
@@ -95193,9 +96154,9 @@ in
       sources."fclone-1.0.11"
       sources."file-uri-to-path-1.0.0"
       sources."fill-range-7.0.1"
-      sources."follow-redirects-1.13.2"
+      sources."follow-redirects-1.13.3"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.3.1"
+      sources."fsevents-2.3.2"
       (sources."ftp-0.3.10" // {
         dependencies = [
           sources."readable-stream-1.1.14"
@@ -95208,6 +96169,8 @@ in
           sources."ms-2.0.0"
         ];
       })
+      sources."git-node-fs-1.0.0"
+      sources."git-sha1-0.1.2"
       sources."glob-7.1.6"
       sources."glob-parent-5.1.1"
       sources."has-1.0.3"
@@ -95227,6 +96190,7 @@ in
       sources."iconv-lite-0.4.24"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
+      sources."ini-1.3.8"
       sources."ip-1.1.5"
       sources."is-binary-path-2.1.0"
       sources."is-core-module-2.2.0"
@@ -95234,16 +96198,17 @@ in
       sources."is-glob-4.0.1"
       sources."is-number-7.0.0"
       sources."isarray-0.0.1"
+      sources."js-git-0.7.8"
       sources."lazy-1.0.11"
       sources."levn-0.3.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."log-driver-1.2.7"
       sources."lru-cache-5.1.1"
       sources."minimatch-3.0.4"
       sources."mkdirp-1.0.4"
       sources."module-details-from-path-1.0.3"
       sources."moment-2.29.1"
-      sources."moment-timezone-0.5.32"
+      sources."moment-timezone-0.5.33"
       sources."ms-2.1.3"
       sources."mute-stream-0.0.8"
       (sources."needle-2.4.0" // {
@@ -95262,6 +96227,7 @@ in
       sources."optionator-0.8.3"
       sources."pac-proxy-agent-3.0.1"
       sources."pac-resolver-3.0.0"
+      sources."pako-0.2.9"
       sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.6"
       sources."picomatch-2.2.2"
@@ -95294,7 +96260,7 @@ in
       })
       sources."readdirp-3.5.0"
       sources."require-in-the-middle-5.1.0"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."run-series-1.1.9"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
@@ -95321,7 +96287,6 @@ in
       sources."statuses-1.5.0"
       sources."string_decoder-0.10.31"
       sources."supports-color-7.2.0"
-      sources."systeminformation-4.34.9"
       sources."thunkify-2.1.2"
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.0"
@@ -95331,9 +96296,9 @@ in
       sources."unpipe-1.0.0"
       sources."util-deprecate-1.0.2"
       sources."uuid-3.4.0"
-      (sources."vizion-0.2.13" // {
+      (sources."vizion-2.2.1" // {
         dependencies = [
-          sources."async-1.5.2"
+          sources."async-2.6.3"
         ];
       })
       sources."word-wrap-1.2.3"
@@ -95346,7 +96311,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Production process manager for Node.JS applications with a built-in load balancer.";
-      homepage = https://pm2.keymetrics.io/;
+      homepage = "http://pm2.keymetrics.io/";
       license = "AGPL-3.0";
     };
     production = true;
@@ -95356,15 +96321,15 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "5.16.0";
+    version = "5.18.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-5.16.0.tgz";
-      sha512 = "f7bNVvYGK24eiZ5gYX4wKOSohg6kIybEhrprHqUtFsP3TfttGSLqid1OTzLvVzwVp58QBj9ifOVwRQ+RiSmE0A==";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-5.18.1.tgz";
+      sha512 = "pGOoysRHIarMHkF8ZxRwCN39ZWSffivlK+Bo4mkuFeRSKwQhF2e04n/PxQttyj6kfN0nR+4RkxFcY7Ts+Y10ZA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
       description = "Fast, disk space efficient package manager";
-      homepage = https://pnpm.js.org/;
+      homepage = "https://pnpm.js.org";
       license = "MIT";
     };
     production = true;
@@ -95383,7 +96348,7 @@ in
       sources."commander-2.11.0"
       sources."file-or-stdin-1.0.2"
       sources."get-stdin-5.0.1"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."inspect-with-kind-1.0.5"
       sources."kind-of-6.0.3"
       sources."poor-mans-t-sql-formatter-1.6.10"
@@ -95408,9 +96373,9 @@ in
       sha512 = "leHXsQRq89S3JC9zw/tKyiVV2jAhnfQe0J8VI4eQQbUjwIe0XxVqLrR+7UsahF1s9wi4GlqP6SJ8ydf44cgF2Q==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
+      sources."@babel/code-frame-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      (sources."@babel/highlight-7.10.4" // {
+      (sources."@babel/highlight-7.13.8" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -95437,7 +96402,7 @@ in
       sources."cliui-7.0.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."colorette-1.2.1"
+      sources."colorette-1.2.2"
       sources."cosmiconfig-7.0.0"
       sources."dependency-graph-0.9.0"
       sources."dir-glob-3.0.1"
@@ -95446,15 +96411,15 @@ in
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
       sources."fast-glob-3.2.5"
-      sources."fastq-1.10.0"
+      sources."fastq-1.11.0"
       sources."fill-range-7.0.1"
       sources."fs-extra-9.1.0"
-      sources."fsevents-2.3.1"
+      sources."fsevents-2.3.2"
       sources."get-caller-file-2.0.5"
       sources."get-stdin-8.0.0"
       sources."glob-parent-5.1.1"
       sources."globby-11.0.2"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."has-flag-4.0.0"
       sources."ignore-5.1.8"
       sources."import-cwd-3.0.0"
@@ -95487,17 +96452,18 @@ in
       sources."path-type-4.0.0"
       sources."picomatch-2.2.2"
       sources."pify-2.3.0"
-      sources."postcss-load-config-3.0.0"
+      sources."postcss-load-config-3.0.1"
       sources."postcss-reporter-7.0.2"
       sources."pretty-hrtime-1.0.3"
+      sources."queue-microtask-1.2.2"
       sources."read-cache-1.0.0"
       sources."readdirp-3.5.0"
       sources."require-directory-2.1.1"
       sources."resolve-from-4.0.0"
       sources."reusify-1.0.4"
-      sources."run-parallel-1.1.10"
+      sources."run-parallel-1.2.0"
       sources."slash-3.0.0"
-      sources."string-width-4.2.0"
+      sources."string-width-4.2.2"
       sources."strip-ansi-6.0.0"
       sources."supports-color-7.2.0"
       sources."to-regex-range-5.0.1"
@@ -95506,7 +96472,7 @@ in
       sources."y18n-5.0.5"
       sources."yaml-1.10.0"
       sources."yargs-16.2.0"
-      sources."yargs-parser-20.2.4"
+      sources."yargs-parser-20.2.6"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -95529,7 +96495,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Prettier is an opinionated code formatter";
-      homepage = https://prettier.io/;
+      homepage = "https://prettier.io";
       license = "MIT";
     };
     production = true;
@@ -95556,7 +96522,7 @@ in
       sources."inherits-2.0.4"
       sources."isexe-2.0.0"
       sources."keypress-0.2.1"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."minimatch-3.0.4"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
@@ -95588,7 +96554,7 @@ in
       sources."acorn-walk-7.2.0"
       (sources."asn1.js-5.4.1" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       (sources."assert-1.5.0" // {
@@ -95600,7 +96566,7 @@ in
       sources."async-1.5.2"
       sources."balanced-match-1.0.0"
       sources."base64-js-1.5.1"
-      sources."bn.js-5.1.3"
+      sources."bn.js-5.2.0"
       sources."brace-expansion-1.1.11"
       sources."brorand-1.1.0"
       sources."browser-pack-6.1.0"
@@ -95648,7 +96614,7 @@ in
       sources."core-util-is-1.0.2"
       (sources."create-ecdh-4.0.4" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."create-hash-1.2.0"
@@ -95661,14 +96627,14 @@ in
       sources."detective-5.2.0"
       (sources."diffie-hellman-5.0.3" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."domain-browser-1.2.0"
       sources."duplexer2-0.1.4"
-      (sources."elliptic-6.5.3" // {
+      (sources."elliptic-6.5.4" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."es6-promise-3.3.1"
@@ -95681,7 +96647,7 @@ in
       sources."get-assigned-identifiers-1.2.0"
       sources."glob-7.1.6"
       sources."globule-1.3.2"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."has-1.0.3"
       (sources."hash-base-3.1.0" // {
         dependencies = [
@@ -95709,12 +96675,12 @@ in
       sources."jsonify-0.0.0"
       sources."jsonparse-1.3.1"
       sources."labeled-stream-splicer-2.0.2"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.memoize-3.0.4"
       sources."md5.js-1.3.5"
       (sources."miller-rabin-4.0.1" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."mime-1.6.0"
@@ -95757,7 +96723,7 @@ in
       sources."process-nextick-args-2.0.1"
       (sources."public-encrypt-4.0.3" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."punycode-1.4.1"
@@ -95773,7 +96739,7 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."rimraf-2.7.1"
       sources."ripemd160-2.0.2"
       sources."safe-buffer-5.2.1"
@@ -95831,7 +96797,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "A build system for PureScript projects";
-      homepage = https://github.com/purescript-contrib/pulp;
+      homepage = "https://github.com/purescript-contrib/pulp";
       license = "LGPL-3.0+";
     };
     production = true;
@@ -95861,7 +96827,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Language Server Protocol server for PureScript wrapping purs ide server functionality";
-      homepage = https://github.com/nwolverson/purescript-language-server;
+      homepage = "https://github.com/nwolverson/purescript-language-server";
       license = "MIT";
     };
     production = true;
@@ -95889,10 +96855,10 @@ in
   purty = nodeEnv.buildNodePackage {
     name = "purty";
     packageName = "purty";
-    version = "6.3.0";
+    version = "6.3.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/purty/-/purty-6.3.0.tgz";
-      sha512 = "l70uQyz+t5GvCPzOorUbIhRX3oQW9i8Kgwr0LvS6nUq+UM4rMJdYcHazuupcLVInvNsbd290EnpjaRgAITt0dw==";
+      url = "https://registry.npmjs.org/purty/-/purty-6.3.1.tgz";
+      sha512 = "KfOSejzz4PExqRwhRuLIJoggKY+cCVLGt+fB4csiyEv3ATX0IB93udl66UW4ZVj/zNJ4Ds+FK9nLfEXcNwBo5A==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -95907,10 +96873,10 @@ in
   pyright = nodeEnv.buildNodePackage {
     name = "pyright";
     packageName = "pyright";
-    version = "1.1.105";
+    version = "1.1.116";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.105.tgz";
-      sha512 = "X0V7v/Ub3X0sP76kjfLlQI5e/yLNcx4eh70+p+WSXz/ahChNWQEr3flb3ReRmuUVOt9FCYcrt8Fpw5oICGoIug==";
+      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.116.tgz";
+      sha512 = "SdsLo/bahs+ncCYIY7E4bL/B+ZuI/OdKJudNuUFAJciXEkkkp2ICzpzQSt0n4ZeYsPfqb5g48QoGo7x4a+LDcQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -95925,10 +96891,10 @@ in
   quicktype = nodeEnv.buildNodePackage {
     name = "quicktype";
     packageName = "quicktype";
-    version = "15.0.258";
+    version = "15.0.260";
     src = fetchurl {
-      url = "https://registry.npmjs.org/quicktype/-/quicktype-15.0.258.tgz";
-      sha512 = "nTDC6LmwsFNJU1qY9+t09e4k1J1PosVDhZKRizkRinQzRVITFOzKSMuFBD3UJ1yaO9Irn7QKBlm9rae+9p+Cdg==";
+      url = "https://registry.npmjs.org/quicktype/-/quicktype-15.0.260.tgz";
+      sha512 = "OYP77enVz2UkcdDqVFc2AcFGYjk5/ENGYZHmSEY5Oy6Y2xVatlHUnrScddEkI+xJxSfYS6UXSH8oOTW7mEOiEw==";
     };
     dependencies = [
       sources."@mark.probst/typescript-json-schema-0.32.0"
@@ -95996,7 +96962,11 @@ in
       sources."is-url-1.2.4"
       sources."isarray-2.0.5"
       sources."isexe-2.0.0"
-      sources."isomorphic-fetch-2.2.1"
+      (sources."isomorphic-fetch-2.2.1" // {
+        dependencies = [
+          sources."node-fetch-1.7.3"
+        ];
+      })
       sources."iterall-1.1.3"
       sources."js-base64-2.6.4"
       sources."json-stable-stringify-1.0.1"
@@ -96004,7 +96974,7 @@ in
       sources."lcid-2.0.0"
       sources."levn-0.3.0"
       sources."locate-path-3.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.padend-4.6.1"
       sources."magic-string-0.22.5"
       sources."map-age-cleaner-0.1.3"
@@ -96019,7 +96989,7 @@ in
       sources."minimist-1.2.5"
       sources."moment-2.29.1"
       sources."nice-try-1.0.5"
-      sources."node-fetch-1.7.3"
+      sources."node-fetch-2.6.1"
       sources."npm-run-path-2.0.2"
       sources."number-is-nan-1.0.1"
       sources."object-inspect-1.4.1"
@@ -96053,7 +97023,7 @@ in
       sources."reduce-flatten-1.0.1"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."semver-5.7.1"
@@ -96109,11 +97079,11 @@ in
           sources."pako-0.2.9"
         ];
       })
-      sources."urijs-1.19.5"
+      sources."urijs-1.19.6"
       sources."util-deprecate-1.0.2"
       sources."uuid-3.4.0"
       sources."vlq-0.2.3"
-      sources."whatwg-fetch-3.5.0"
+      sources."whatwg-fetch-3.6.2"
       sources."which-1.3.1"
       sources."which-module-2.0.0"
       sources."word-wrap-1.2.3"
@@ -96174,27 +97144,27 @@ in
       sources."foreach-2.0.5"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."glob-7.1.6"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."i-0.3.6"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."is-arguments-1.1.0"
       sources."is-bigint-1.0.1"
       sources."is-boolean-object-1.1.0"
-      sources."is-callable-1.2.2"
+      sources."is-callable-1.2.3"
       sources."is-date-object-1.0.2"
       sources."is-map-2.0.2"
       sources."is-negative-zero-2.0.1"
       sources."is-number-object-1.0.4"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-set-2.0.2"
       sources."is-string-1.0.5"
       sources."is-symbol-1.0.3"
-      sources."is-typed-array-1.1.4"
+      sources."is-typed-array-1.1.5"
       sources."is-weakmap-2.0.1"
       sources."is-weakset-2.0.1"
       sources."isarray-2.0.5"
@@ -96205,7 +97175,7 @@ in
       sources."mute-stream-0.0.8"
       sources."ncp-0.4.2"
       sources."object-inspect-1.9.0"
-      sources."object-is-1.1.4"
+      sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
       sources."once-1.4.0"
@@ -96219,8 +97189,8 @@ in
       sources."semver-5.7.1"
       sources."side-channel-1.0.4"
       sources."stack-trace-0.0.10"
-      sources."string.prototype.trimend-1.0.3"
-      sources."string.prototype.trimstart-1.0.3"
+      sources."string.prototype.trimend-1.0.4"
+      sources."string.prototype.trimstart-1.0.4"
       sources."strip-ansi-3.0.1"
       sources."supports-color-2.0.0"
       sources."utile-0.2.1"
@@ -96267,7 +97237,7 @@ in
       sources."esprima-3.1.3"
       sources."esprima-fb-13001.1001.0-dev-harmony-fb"
       sources."glob-5.0.15"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."iconv-lite-0.4.24"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -96291,7 +97261,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "A set of complementary tools to React, including the JSX transformer.";
-      homepage = https://facebook.github.io/react;
+      homepage = "https://facebook.github.io/react";
       license = "BSD-3-Clause";
     };
     production = true;
@@ -96301,12 +97271,13 @@ in
   readability-cli = nodeEnv.buildNodePackage {
     name = "readability-cli";
     packageName = "readability-cli";
-    version = "2.0.0-pre.3";
+    version = "2.2.1-pre";
     src = fetchurl {
-      url = "https://registry.npmjs.org/readability-cli/-/readability-cli-2.0.0-pre.3.tgz";
-      sha512 = "5mM386/n+egp7fs8L+xrC+pz0XJSCgF1I3McfzmTiIL7V/m+eJIIfStvqko4JzGD1x3StgPZoNJ8xIyXQFyWDA==";
+      url = "https://registry.npmjs.org/readability-cli/-/readability-cli-2.2.1-pre.tgz";
+      sha512 = "1f8y1ZeGRYskJyZZQzXVw5OlzQKs597JEr48wBzD6ZhmDhUbtqxswsFYROfCigWpkxywBsykesDy8ENKDOYQZg==";
     };
     dependencies = [
+      sources."@gardenapple/yargs-17.0.0-candidate.0"
       sources."@mozilla/readability-0.4.1"
       sources."abab-2.0.5"
       sources."acorn-7.4.1"
@@ -96378,10 +97349,10 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.1"
       sources."levn-0.3.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.sortby-4.7.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."nwsapi-2.2.0"
       sources."oauth-sign-0.9.0"
       sources."optionator-0.8.3"
@@ -96409,7 +97380,7 @@ in
       sources."source-map-0.6.1"
       sources."sshpk-1.16.1"
       sources."stealthy-require-1.1.1"
-      sources."string-width-4.2.0"
+      sources."string-width-4.2.2"
       sources."strip-ansi-6.0.0"
       sources."symbol-tree-3.2.4"
       sources."tough-cookie-3.0.1"
@@ -96428,12 +97399,11 @@ in
       sources."whatwg-url-8.4.0"
       sources."word-wrap-1.2.3"
       sources."wrap-ansi-7.0.0"
-      sources."ws-7.4.2"
+      sources."ws-7.4.3"
       sources."xml-name-validator-3.0.0"
       sources."xmlchars-2.2.0"
       sources."y18n-5.0.5"
-      sources."yargs-git://github.com/gardenappl/yargs"
-      sources."yargs-parser-20.2.4"
+      sources."yargs-parser-20.2.6"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -96454,31 +97424,31 @@ in
       sha512 = "AQHx67+fJ+7PZUGf0Vl24XO02isSLHU7fh/OXu6wreFm6B1+xrVhcehV9um2nk63Zq9GFenjnv2GoXEyMSGc7Q==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
-      (sources."@babel/generator-7.12.11" // {
+      sources."@babel/code-frame-7.12.13"
+      (sources."@babel/generator-7.13.0" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
       })
-      sources."@babel/helper-annotate-as-pure-7.12.10"
-      sources."@babel/helper-function-name-7.12.11"
-      sources."@babel/helper-get-function-arity-7.12.10"
-      sources."@babel/helper-module-imports-7.12.5"
-      sources."@babel/helper-split-export-declaration-7.12.11"
+      sources."@babel/helper-annotate-as-pure-7.12.13"
+      sources."@babel/helper-function-name-7.12.13"
+      sources."@babel/helper-get-function-arity-7.12.13"
+      sources."@babel/helper-module-imports-7.12.13"
+      sources."@babel/helper-split-export-declaration-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      sources."@babel/highlight-7.10.4"
-      sources."@babel/parser-7.12.11"
-      sources."@babel/runtime-7.12.5"
-      sources."@babel/template-7.12.7"
-      sources."@babel/traverse-7.12.12"
-      sources."@babel/types-7.12.12"
+      sources."@babel/highlight-7.13.8"
+      sources."@babel/parser-7.13.4"
+      sources."@babel/runtime-7.13.8"
+      sources."@babel/template-7.12.13"
+      sources."@babel/traverse-7.13.0"
+      sources."@babel/types-7.13.0"
       sources."@emotion/is-prop-valid-0.8.8"
       sources."@emotion/memoize-0.7.4"
       sources."@emotion/stylis-0.8.5"
       sources."@emotion/unitless-0.7.5"
       sources."@exodus/schemasafe-1.0.0-rc.3"
       sources."@redocly/react-dropdown-aria-2.0.11"
-      sources."@types/node-13.13.40"
+      sources."@types/node-13.13.45"
       sources."ajv-5.5.2"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-3.2.1"
@@ -96486,7 +97456,7 @@ in
       sources."argparse-1.0.10"
       (sources."asn1.js-5.4.1" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       (sources."assert-1.5.0" // {
@@ -96499,7 +97469,7 @@ in
       sources."base64-js-1.5.1"
       sources."better-ajv-errors-0.6.7"
       sources."binary-extensions-2.2.0"
-      sources."bn.js-5.1.3"
+      sources."bn.js-5.2.0"
       sources."braces-3.0.2"
       sources."brorand-1.1.0"
       sources."browserify-aes-1.2.0"
@@ -96536,11 +97506,11 @@ in
       sources."color-name-1.1.3"
       sources."console-browserify-1.2.0"
       sources."constants-browserify-1.0.0"
-      sources."core-js-3.8.3"
+      sources."core-js-3.9.1"
       sources."core-util-is-1.0.2"
       (sources."create-ecdh-4.0.4" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."create-hash-1.2.0"
@@ -96555,14 +97525,15 @@ in
       sources."des.js-1.0.1"
       (sources."diffie-hellman-5.0.3" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."domain-browser-1.2.0"
       sources."dompurify-2.2.6"
-      (sources."elliptic-6.5.3" // {
+      (sources."elliptic-6.5.4" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
+          sources."inherits-2.0.4"
         ];
       })
       sources."emoji-regex-8.0.0"
@@ -96571,7 +97542,7 @@ in
       sources."escape-string-regexp-1.0.5"
       sources."esprima-4.0.1"
       sources."eventemitter3-4.0.7"
-      sources."events-3.2.0"
+      sources."events-3.3.0"
       sources."evp_bytestokey-1.0.3"
       sources."fast-deep-equal-1.1.0"
       sources."fast-json-stable-stringify-2.1.0"
@@ -96580,13 +97551,13 @@ in
       sources."find-up-4.1.0"
       sources."foreach-2.0.5"
       sources."format-util-1.0.5"
-      sources."fsevents-2.3.1"
+      sources."fsevents-2.3.2"
       sources."get-caller-file-2.0.5"
       sources."glob-parent-5.1.1"
       sources."globals-11.12.0"
       sources."good-listener-1.2.2"
       sources."grapheme-splitter-1.0.4"
-      sources."handlebars-4.7.6"
+      sources."handlebars-4.7.7"
       sources."has-flag-3.0.0"
       (sources."hash-base-3.1.0" // {
         dependencies = [
@@ -96621,7 +97592,7 @@ in
       sources."jsonpointer-4.1.0"
       sources."leven-3.1.0"
       sources."locate-path-5.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."loose-envify-1.4.0"
       sources."lunr-2.3.8"
       sources."mark.js-8.11.1"
@@ -96630,16 +97601,16 @@ in
       sources."memoize-one-5.1.1"
       (sources."miller-rabin-4.0.1" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimist-1.2.5"
       sources."mkdirp-1.0.4"
-      sources."mobx-6.0.5"
-      sources."mobx-react-7.0.6"
-      sources."mobx-react-lite-3.1.7"
+      sources."mobx-6.1.7"
+      sources."mobx-react-7.1.0"
+      sources."mobx-react-lite-3.2.0"
       sources."ms-2.1.2"
       sources."neo-async-2.6.2"
       sources."node-fetch-h2-2.3.0"
@@ -96669,7 +97640,7 @@ in
       sources."pbkdf2-3.1.1"
       sources."perfect-scrollbar-1.5.0"
       sources."picomatch-2.2.2"
-      sources."polished-3.6.7"
+      sources."polished-3.7.1"
       sources."postcss-value-parser-4.1.0"
       sources."prismjs-1.23.0"
       sources."process-0.11.10"
@@ -96677,7 +97648,7 @@ in
       sources."prop-types-15.7.2"
       (sources."public-encrypt-4.0.3" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."punycode-1.4.1"
@@ -96688,7 +97659,7 @@ in
       sources."react-16.14.0"
       sources."react-dom-16.14.0"
       sources."react-is-16.13.1"
-      sources."react-tabs-3.1.2"
+      sources."react-tabs-3.2.0"
       (sources."readable-stream-2.3.7" // {
         dependencies = [
           sources."inherits-2.0.4"
@@ -96718,13 +97689,13 @@ in
       sources."should-type-1.4.0"
       sources."should-type-adaptors-1.1.0"
       sources."should-util-1.0.1"
-      sources."slugify-1.4.6"
+      sources."slugify-1.4.7"
       sources."source-map-0.6.1"
       sources."sprintf-js-1.0.3"
       sources."stickyfill-1.1.1"
       sources."stream-browserify-2.0.2"
       sources."stream-http-2.8.3"
-      sources."string-width-4.2.0"
+      sources."string-width-4.2.2"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.0"
       sources."styled-components-5.2.1"
@@ -96737,7 +97708,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."tslib-2.1.0"
       sources."tty-browserify-0.0.0"
-      sources."uglify-js-3.12.5"
+      sources."uglify-js-3.12.8"
       (sources."url-0.11.0" // {
         dependencies = [
           sources."punycode-1.3.2"
@@ -96774,7 +97745,7 @@ in
           sources."yargs-parser-18.1.3"
         ];
       })
-      sources."yargs-parser-20.2.4"
+      sources."yargs-parser-20.2.6"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -96797,7 +97768,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "The HTML Presentation Framework";
-      homepage = https://revealjs.com/;
+      homepage = "https://revealjs.com";
       license = "MIT";
     };
     production = true;
@@ -96807,18 +97778,18 @@ in
   rollup = nodeEnv.buildNodePackage {
     name = "rollup";
     packageName = "rollup";
-    version = "2.38.0";
+    version = "2.40.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/rollup/-/rollup-2.38.0.tgz";
-      sha512 = "ay9zDiNitZK/LNE/EM2+v5CZ7drkB2xyDljvb1fQJCGnq43ZWRkhxN145oV8GmoW1YNi4sA/1Jdkr2LfawJoXw==";
+      url = "https://registry.npmjs.org/rollup/-/rollup-2.40.0.tgz";
+      sha512 = "WiOGAPbXoHu+TOz6hyYUxIksOwsY/21TRWoO593jgYt8mvYafYqQl+axaA8y1z2HFazNUUrsMSjahV2A6/2R9A==";
     };
     dependencies = [
-      sources."fsevents-2.1.3"
+      sources."fsevents-2.3.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "Next-generation ES module bundler";
-      homepage = https://rollupjs.org/;
+      homepage = "https://rollupjs.org/";
       license = "MIT";
     };
     production = true;
@@ -96833,12 +97804,12 @@ in
     dependencies = [
       sources."@babel/code-frame-7.12.11"
       sources."@babel/helper-validator-identifier-7.12.11"
-      (sources."@babel/highlight-7.10.4" // {
+      (sources."@babel/highlight-7.13.8" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      (sources."@eslint/eslintrc-0.3.0" // {
+      (sources."@eslint/eslintrc-0.4.0" // {
         dependencies = [
           sources."ignore-4.0.6"
         ];
@@ -96846,8 +97817,8 @@ in
       sources."@nodelib/fs.scandir-2.1.4"
       sources."@nodelib/fs.stat-2.0.4"
       sources."@nodelib/fs.walk-1.2.6"
-      sources."@rollup/plugin-commonjs-17.0.0"
-      sources."@rollup/plugin-node-resolve-11.1.0"
+      sources."@rollup/plugin-commonjs-17.1.0"
+      sources."@rollup/plugin-node-resolve-11.2.0"
       (sources."@rollup/pluginutils-3.1.0" // {
         dependencies = [
           sources."estree-walker-1.0.1"
@@ -96858,18 +97829,18 @@ in
       sources."@types/glob-7.1.3"
       sources."@types/json-schema-7.0.7"
       sources."@types/minimatch-3.0.3"
-      sources."@types/mocha-8.2.0"
+      sources."@types/mocha-8.2.1"
       sources."@types/node-12.12.70"
       sources."@types/node-fetch-2.5.8"
       sources."@types/resolve-1.17.1"
-      sources."@types/vscode-1.52.0"
-      sources."@typescript-eslint/eslint-plugin-4.14.1"
-      sources."@typescript-eslint/experimental-utils-4.14.1"
-      sources."@typescript-eslint/parser-4.14.1"
-      sources."@typescript-eslint/scope-manager-4.14.1"
-      sources."@typescript-eslint/types-4.14.1"
-      sources."@typescript-eslint/typescript-estree-4.14.1"
-      sources."@typescript-eslint/visitor-keys-4.14.1"
+      sources."@types/vscode-1.53.0"
+      sources."@typescript-eslint/eslint-plugin-4.15.2"
+      sources."@typescript-eslint/experimental-utils-4.15.2"
+      sources."@typescript-eslint/parser-4.15.2"
+      sources."@typescript-eslint/scope-manager-4.15.2"
+      sources."@typescript-eslint/types-4.15.2"
+      sources."@typescript-eslint/typescript-estree-4.15.2"
+      sources."@typescript-eslint/visitor-keys-4.15.2"
       sources."@ungap/promise-all-settled-1.1.2"
       sources."acorn-7.4.1"
       sources."acorn-jsx-5.3.1"
@@ -96898,7 +97869,7 @@ in
       sources."buffers-0.1.1"
       sources."builtin-modules-3.2.0"
       sources."callsites-3.1.0"
-      sources."camelcase-5.3.1"
+      sources."camelcase-6.2.0"
       sources."chainsaw-0.1.0"
       (sources."chalk-4.1.0" // {
         dependencies = [
@@ -96911,16 +97882,8 @@ in
       })
       sources."cheerio-1.0.0-rc.5"
       sources."cheerio-select-tmp-0.1.1"
-      sources."chokidar-3.4.3"
-      (sources."cliui-5.0.0" // {
-        dependencies = [
-          sources."ansi-regex-4.1.0"
-          sources."emoji-regex-7.0.3"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."string-width-3.1.0"
-          sources."strip-ansi-5.2.0"
-        ];
-      })
+      sources."chokidar-3.5.1"
+      sources."cliui-7.0.4"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."combined-stream-1.0.8"
@@ -96933,12 +97896,12 @@ in
       sources."css-select-3.1.2"
       sources."css-what-4.0.0"
       sources."debug-4.3.2"
-      sources."decamelize-1.2.0"
+      sources."decamelize-4.0.0"
       sources."deep-is-0.1.3"
       sources."deepmerge-4.2.2"
       sources."delayed-stream-1.0.0"
       sources."denodeify-1.2.1"
-      sources."diff-4.0.2"
+      sources."diff-5.0.0"
       sources."dir-glob-3.0.1"
       sources."doctrine-3.0.0"
       sources."dom-serializer-1.2.0"
@@ -96956,8 +97919,9 @@ in
       sources."emoji-regex-8.0.0"
       sources."enquirer-2.3.6"
       sources."entities-2.1.0"
+      sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
-      (sources."eslint-7.18.0" // {
+      (sources."eslint-7.21.0" // {
         dependencies = [
           sources."ignore-4.0.6"
         ];
@@ -96975,7 +97939,7 @@ in
         ];
       })
       sources."esprima-4.0.1"
-      (sources."esquery-1.3.1" // {
+      (sources."esquery-1.4.0" // {
         dependencies = [
           sources."estraverse-5.2.0"
         ];
@@ -96992,17 +97956,17 @@ in
       sources."fast-glob-3.2.5"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
-      sources."fastq-1.10.0"
+      sources."fastq-1.11.0"
       sources."fd-slicer-1.1.0"
-      sources."file-entry-cache-6.0.0"
+      sources."file-entry-cache-6.0.1"
       sources."fill-range-7.0.1"
       sources."find-up-5.0.0"
       sources."flat-5.0.2"
       sources."flat-cache-3.0.4"
       sources."flatted-3.1.1"
-      sources."form-data-3.0.0"
+      sources."form-data-3.0.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.1.3"
+      sources."fsevents-2.3.2"
       (sources."fstream-1.0.12" // {
         dependencies = [
           sources."rimraf-2.7.1"
@@ -97015,7 +97979,7 @@ in
       sources."glob-parent-5.1.1"
       sources."globals-12.4.0"
       sources."globby-11.0.2"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."growl-1.10.5"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
@@ -97048,7 +98012,7 @@ in
       sources."linkify-it-2.2.0"
       sources."listenercount-1.0.1"
       sources."locate-path-6.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."log-symbols-4.0.0"
       sources."lru-cache-6.0.0"
       sources."magic-string-0.25.7"
@@ -97061,23 +98025,29 @@ in
       sources."merge2-1.4.1"
       sources."micromatch-4.0.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
-      (sources."mocha-8.2.1" // {
+      (sources."mocha-8.3.0" // {
         dependencies = [
-          sources."debug-4.2.0"
+          sources."argparse-2.0.1"
+          (sources."debug-4.3.1" // {
+            dependencies = [
+              sources."ms-2.1.2"
+            ];
+          })
           sources."escape-string-regexp-4.0.0"
           sources."has-flag-4.0.0"
-          sources."js-yaml-3.14.0"
-          sources."supports-color-7.2.0"
+          sources."js-yaml-4.0.0"
+          sources."ms-2.1.3"
+          sources."supports-color-8.1.1"
         ];
       })
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
-      sources."nanoid-3.1.12"
+      sources."nanoid-3.1.20"
       sources."natural-compare-1.4.0"
       sources."node-fetch-2.6.1"
       sources."normalize-path-3.0.0"
@@ -97090,7 +98060,6 @@ in
       sources."osenv-0.1.5"
       sources."p-limit-3.1.0"
       sources."p-locate-5.0.0"
-      sources."p-try-2.2.0"
       sources."parent-module-1.0.1"
       (sources."parse-semver-1.1.1" // {
         dependencies = [
@@ -97111,6 +98080,7 @@ in
       sources."progress-2.0.3"
       sources."pseudomap-1.0.2"
       sources."punycode-2.1.1"
+      sources."queue-microtask-1.2.2"
       sources."randombytes-2.1.0"
       sources."read-1.0.7"
       (sources."readable-stream-2.3.7" // {
@@ -97122,17 +98092,15 @@ in
       sources."regexpp-3.1.0"
       sources."require-directory-2.1.1"
       sources."require-from-string-2.0.2"
-      sources."require-main-filename-2.0.0"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."resolve-from-4.0.0"
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
-      sources."rollup-2.38.0"
-      sources."run-parallel-1.1.10"
+      sources."rollup-2.40.0"
+      sources."run-parallel-1.2.0"
       sources."safe-buffer-5.2.1"
       sources."semver-7.3.4"
       sources."serialize-javascript-5.0.1"
-      sources."set-blocking-2.0.0"
       sources."setimmediate-1.0.5"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
@@ -97147,7 +98115,7 @@ in
       })
       sources."sourcemap-codec-1.4.8"
       sources."sprintf-js-1.0.3"
-      sources."string-width-4.2.0"
+      sources."string-width-4.2.2"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -97158,7 +98126,7 @@ in
       sources."supports-color-5.5.0"
       (sources."table-6.0.7" // {
         dependencies = [
-          sources."ajv-7.0.3"
+          sources."ajv-7.1.1"
           sources."json-schema-traverse-1.0.0"
         ];
       })
@@ -97176,7 +98144,7 @@ in
       sources."type-check-0.4.0"
       sources."type-fest-0.8.1"
       sources."typed-rest-client-1.2.0"
-      sources."typescript-4.1.3"
+      sources."typescript-4.2.2"
       sources."typescript-formatter-7.2.2"
       sources."uc.micro-1.0.6"
       sources."underscore-1.8.3"
@@ -97185,20 +98153,19 @@ in
       sources."url-join-1.1.0"
       sources."util-deprecate-1.0.2"
       sources."v8-compile-cache-2.2.0"
-      (sources."vsce-1.84.0" // {
+      (sources."vsce-1.85.1" // {
         dependencies = [
           sources."chalk-2.4.2"
           sources."commander-6.2.1"
           sources."semver-5.7.1"
         ];
       })
-      sources."vscode-jsonrpc-6.0.0"
-      sources."vscode-languageclient-7.0.0"
-      sources."vscode-languageserver-protocol-3.16.0"
-      sources."vscode-languageserver-types-3.16.0"
-      sources."vscode-test-1.5.0"
+      sources."vscode-jsonrpc-6.1.0-next.2"
+      sources."vscode-languageclient-7.1.0-next.4"
+      sources."vscode-languageserver-protocol-3.17.0-next.5"
+      sources."vscode-languageserver-types-3.17.0-next.1"
+      sources."vscode-test-1.5.1"
       sources."which-2.0.2"
-      sources."which-module-2.0.0"
       (sources."wide-align-1.1.3" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
@@ -97208,40 +98175,20 @@ in
         ];
       })
       sources."word-wrap-1.2.3"
-      sources."workerpool-6.0.2"
-      (sources."wrap-ansi-5.1.0" // {
+      sources."workerpool-6.1.0"
+      (sources."wrap-ansi-7.0.0" // {
         dependencies = [
-          sources."ansi-regex-4.1.0"
-          sources."emoji-regex-7.0.3"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."string-width-3.1.0"
-          sources."strip-ansi-5.2.0"
+          sources."ansi-styles-4.3.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
         ];
       })
       sources."wrappy-1.0.2"
-      sources."y18n-4.0.1"
+      sources."y18n-5.0.5"
       sources."yallist-4.0.0"
-      (sources."yargs-13.3.2" // {
-        dependencies = [
-          sources."ansi-regex-4.1.0"
-          sources."emoji-regex-7.0.3"
-          sources."find-up-3.0.0"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."locate-path-3.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-3.0.0"
-          sources."path-exists-3.0.0"
-          sources."string-width-3.1.0"
-          sources."strip-ansi-5.2.0"
-        ];
-      })
-      sources."yargs-parser-13.1.2"
-      (sources."yargs-unparser-2.0.0" // {
-        dependencies = [
-          sources."camelcase-6.2.0"
-          sources."decamelize-4.0.0"
-        ];
-      })
+      sources."yargs-16.2.0"
+      sources."yargs-parser-20.2.4"
+      sources."yargs-unparser-2.0.0"
       sources."yauzl-2.10.0"
       sources."yazl-2.5.1"
       sources."yocto-queue-0.1.0"
@@ -97333,8 +98280,8 @@ in
       sources."keypress-0.1.0"
       sources."methods-0.1.0"
       sources."mime-1.2.11"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mkdirp-0.3.5"
       sources."ms-2.1.2"
       sources."multiparty-2.2.0"
@@ -97388,10 +98335,10 @@ in
   sass = nodeEnv.buildNodePackage {
     name = "sass";
     packageName = "sass";
-    version = "1.32.5";
+    version = "1.32.8";
     src = fetchurl {
-      url = "https://registry.npmjs.org/sass/-/sass-1.32.5.tgz";
-      sha512 = "kU1yJ5zUAmPxr7f3q0YXTAd1oZjSR1g3tYyv+xu0HZSl5JiNOaE987eiz7wCUvbm4I9fGWGU2TgApTtcP4GMNQ==";
+      url = "https://registry.npmjs.org/sass/-/sass-1.32.8.tgz";
+      sha512 = "Sl6mIeGpzjIUZqvKnKETfMf0iDAswD9TNlv13A7aAF3XZlRPMq4VvJWBC2N2DXbp94MQVdNSFG6LfF/iOXrPHQ==";
     };
     dependencies = [
       sources."anymatch-3.1.1"
@@ -97399,7 +98346,7 @@ in
       sources."braces-3.0.2"
       sources."chokidar-3.5.1"
       sources."fill-range-7.0.1"
-      sources."fsevents-2.3.1"
+      sources."fsevents-2.3.2"
       sources."glob-parent-5.1.1"
       sources."is-binary-path-2.1.0"
       sources."is-extglob-2.1.1"
@@ -97413,7 +98360,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "A pure JavaScript implementation of Sass.";
-      homepage = https://github.com/sass/dart-sass;
+      homepage = "https://github.com/sass/dart-sass";
       license = "MIT";
     };
     production = true;
@@ -97497,8 +98444,8 @@ in
       sources."isexe-2.0.0"
       sources."json-schema-traverse-0.4.1"
       sources."lru-cache-4.1.5"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."ms-2.0.0"
@@ -97551,10 +98498,10 @@ in
   serverless = nodeEnv.buildNodePackage {
     name = "serverless";
     packageName = "serverless";
-    version = "2.21.1";
+    version = "2.28.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/serverless/-/serverless-2.21.1.tgz";
-      sha512 = "nL1iWlOoa91eWfcN8nO7PyIfZC5gibSxtB4V+ipVxIywxlVK19hNetkWus5vI7+399FN3fcCEZEbH89/+GiY6w==";
+      url = "https://registry.npmjs.org/serverless/-/serverless-2.28.0.tgz";
+      sha512 = "3sd09oTyr9X8qle39WeO6076uFSd2pQlItt5n/LVGyb+PW/ScnVqutYxslZgYa94P87jZGl8XLuSoD3xQ233iw==";
     };
     dependencies = [
       sources."2-thenable-1.0.0"
@@ -97586,23 +98533,12 @@ in
         ];
       })
       sources."@serverless/component-metrics-1.0.8"
-      (sources."@serverless/components-3.5.1" // {
+      (sources."@serverless/components-3.7.1" // {
         dependencies = [
-          (sources."@serverless/utils-2.2.0" // {
-            dependencies = [
-              sources."js-yaml-4.0.0"
-            ];
-          })
           sources."ansi-regex-5.0.0"
-          sources."argparse-2.0.1"
-          (sources."js-yaml-3.14.1" // {
-            dependencies = [
-              sources."argparse-1.0.10"
-            ];
-          })
+          sources."js-yaml-3.14.1"
           sources."ramda-0.27.1"
           sources."strip-ansi-6.0.0"
-          sources."write-file-atomic-3.0.3"
         ];
       })
       (sources."@serverless/core-1.1.2" // {
@@ -97612,20 +98548,21 @@ in
           sources."semver-6.3.0"
         ];
       })
-      (sources."@serverless/enterprise-plugin-4.4.2" // {
+      (sources."@serverless/enterprise-plugin-4.4.3" // {
         dependencies = [
+          sources."@serverless/platform-client-3.11.1"
           sources."js-yaml-3.14.1"
         ];
       })
       sources."@serverless/event-mocks-1.1.1"
-      (sources."@serverless/platform-client-3.9.1" // {
+      (sources."@serverless/platform-client-4.2.0" // {
         dependencies = [
           sources."js-yaml-3.14.1"
         ];
       })
-      (sources."@serverless/platform-client-china-2.1.3" // {
+      (sources."@serverless/platform-client-china-2.1.4" // {
         dependencies = [
-          sources."adm-zip-0.5.2"
+          sources."adm-zip-0.5.3"
           sources."js-yaml-3.14.1"
         ];
       })
@@ -97642,8 +98579,9 @@ in
         ];
       })
       sources."@serverless/template-1.1.4"
-      (sources."@serverless/utils-3.0.0" // {
+      (sources."@serverless/utils-3.1.0" // {
         dependencies = [
+          sources."jwt-decode-3.1.2"
           sources."write-file-atomic-3.0.3"
         ];
       })
@@ -97657,7 +98595,7 @@ in
       sources."@types/keyv-3.1.1"
       sources."@types/lodash-4.14.168"
       sources."@types/long-4.0.1"
-      sources."@types/node-14.14.22"
+      sources."@types/node-14.14.31"
       sources."@types/request-2.48.5"
       sources."@types/request-promise-native-1.0.17"
       sources."@types/responselike-1.0.0"
@@ -97687,7 +98625,7 @@ in
       (sources."archiver-5.2.0" // {
         dependencies = [
           sources."async-3.2.0"
-          sources."bl-4.0.3"
+          sources."bl-4.1.0"
           sources."tar-stream-2.2.0"
         ];
       })
@@ -97714,10 +98652,11 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
-      (sources."aws-sdk-2.831.0" // {
+      (sources."aws-sdk-2.853.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
+          sources."querystring-0.2.0"
           sources."uuid-3.3.2"
         ];
       })
@@ -97752,7 +98691,7 @@ in
         dependencies = [
           sources."ansi-regex-5.0.0"
           sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.0"
+          sources."string-width-4.2.2"
           sources."strip-ansi-6.0.0"
           sources."type-fest-0.20.2"
         ];
@@ -97829,7 +98768,7 @@ in
       sources."cookiejar-2.1.2"
       sources."core-util-is-1.0.2"
       sources."crc-32-1.2.0"
-      sources."crc32-stream-4.0.1"
+      sources."crc32-stream-4.0.2"
       (sources."cross-spawn-6.0.5" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -97940,7 +98879,7 @@ in
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-safe-stringify-2.0.7"
       sources."fastest-levenshtein-1.0.12"
-      sources."fastq-1.10.0"
+      sources."fastq-1.11.0"
       sources."fd-slicer-1.1.0"
       sources."fecha-4.2.0"
       sources."figures-3.2.0"
@@ -97952,7 +98891,7 @@ in
       sources."fill-range-7.0.1"
       sources."find-requires-1.0.0"
       sources."flat-5.0.2"
-      sources."follow-redirects-1.13.2"
+      sources."follow-redirects-1.13.3"
       sources."forever-agent-0.6.1"
       sources."form-data-2.5.1"
       sources."formidable-1.2.2"
@@ -97973,7 +98912,7 @@ in
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
       sources."fs2-0.3.9"
-      sources."fsevents-2.3.1"
+      sources."fsevents-2.3.2"
       (sources."gauge-2.7.4" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
@@ -97987,13 +98926,13 @@ in
       sources."glob-7.1.6"
       sources."glob-parent-5.1.1"
       sources."globby-11.0.2"
-      (sources."got-11.8.1" // {
+      (sources."got-11.8.2" // {
         dependencies = [
           sources."@sindresorhus/is-4.0.0"
           sources."@szmarczak/http-timer-4.0.5"
           sources."cacheable-request-7.0.1"
           sources."decompress-response-6.0.0"
-          sources."defer-to-connect-2.0.0"
+          sources."defer-to-connect-2.0.1"
           sources."get-stream-5.2.0"
           sources."json-buffer-3.0.1"
           sources."keyv-4.0.3"
@@ -98003,7 +98942,7 @@ in
           sources."responselike-2.0.0"
         ];
       })
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."graphlib-2.1.8"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
@@ -98019,7 +98958,7 @@ in
       sources."has-unicode-2.0.1"
       sources."http-cache-semantics-4.1.0"
       sources."http-signature-1.2.0"
-      sources."http2-wrapper-1.0.0-beta.5.2"
+      sources."http2-wrapper-1.0.3"
       (sources."https-proxy-agent-5.0.0" // {
         dependencies = [
           sources."agent-base-6.0.2"
@@ -98040,7 +98979,7 @@ in
         dependencies = [
           sources."ansi-regex-5.0.0"
           sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.0"
+          sources."string-width-4.2.2"
           sources."strip-ansi-6.0.0"
         ];
       })
@@ -98086,7 +99025,7 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-4.0.0"
       sources."jsprim-1.4.1"
-      (sources."jszip-3.5.0" // {
+      (sources."jszip-3.6.0" // {
         dependencies = [
           sources."readable-stream-2.3.7"
           sources."safe-buffer-5.1.2"
@@ -98109,7 +99048,7 @@ in
         ];
       })
       sources."lie-3.3.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.defaults-4.2.0"
       sources."lodash.difference-4.5.0"
       sources."lodash.flatten-4.4.0"
@@ -98143,8 +99082,8 @@ in
       sources."methods-1.1.2"
       sources."micromatch-4.0.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
@@ -98181,7 +99120,7 @@ in
       sources."once-1.4.0"
       sources."one-time-0.0.4"
       sources."onetime-5.1.2"
-      sources."open-7.3.1"
+      sources."open-7.4.2"
       (sources."opn-5.5.0" // {
         dependencies = [
           sources."is-wsl-1.1.0"
@@ -98227,7 +99166,7 @@ in
       sources."promise-queue-2.2.5"
       (sources."protobufjs-6.10.2" // {
         dependencies = [
-          sources."@types/node-13.13.40"
+          sources."@types/node-13.13.45"
           sources."long-4.0.0"
         ];
       })
@@ -98237,7 +99176,8 @@ in
       sources."qrcode-terminal-0.12.0"
       sources."qs-6.5.2"
       sources."query-string-5.1.1"
-      sources."querystring-0.2.0"
+      sources."querystring-0.2.1"
+      sources."queue-microtask-1.2.2"
       sources."quick-lru-5.1.1"
       sources."ramda-0.26.1"
       sources."rc-1.2.8"
@@ -98262,9 +99202,9 @@ in
       sources."retry-0.10.1"
       sources."reusify-1.0.4"
       sources."run-async-2.4.1"
-      sources."run-parallel-1.1.10"
-      sources."run-parallel-limit-1.0.6"
-      sources."rxjs-6.6.3"
+      sources."run-parallel-1.2.0"
+      sources."run-parallel-limit-1.1.0"
+      sources."rxjs-6.6.6"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.1"
@@ -98278,7 +99218,7 @@ in
       sources."signal-exit-3.0.3"
       sources."simple-concat-1.0.1"
       sources."simple-get-2.8.1"
-      (sources."simple-git-2.31.0" // {
+      (sources."simple-git-2.35.2" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."ms-2.1.2"
@@ -98389,7 +99329,7 @@ in
       sources."tslib-1.14.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."type-2.1.0"
+      sources."type-2.3.0"
       sources."type-fest-0.11.0"
       sources."typedarray-to-buffer-3.1.5"
       sources."unbzip2-stream-1.4.3"
@@ -98399,6 +99339,7 @@ in
       (sources."url-0.10.3" // {
         dependencies = [
           sources."punycode-1.3.2"
+          sources."querystring-0.2.0"
         ];
       })
       sources."url-parse-lax-3.0.0"
@@ -98414,7 +99355,7 @@ in
         dependencies = [
           sources."ansi-regex-5.0.0"
           sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.0"
+          sources."string-width-4.2.2"
           sources."strip-ansi-6.0.0"
         ];
       })
@@ -98433,13 +99374,13 @@ in
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.0"
+          sources."string-width-4.2.2"
           sources."strip-ansi-6.0.0"
         ];
       })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-2.4.3"
-      sources."ws-7.4.2"
+      sources."ws-7.4.3"
       sources."xml2js-0.4.19"
       sources."xmlbuilder-9.0.7"
       sources."xmlhttprequest-ssl-1.5.5"
@@ -98447,7 +99388,6 @@ in
       sources."yallist-4.0.0"
       sources."yaml-ast-parser-0.0.43"
       sources."yamljs-0.3.0"
-      sources."yargs-parser-20.2.4"
       sources."yauzl-2.10.0"
       sources."yeast-0.1.2"
       sources."yocto-queue-0.1.0"
@@ -98456,7 +99396,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Serverless Framework - Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more";
-      homepage = https://serverless.com/framework/docs/;
+      homepage = "https://serverless.com/framework/docs/";
       license = "MIT";
     };
     production = true;
@@ -98588,8 +99528,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."moment-2.7.0"
@@ -98704,8 +99644,6 @@ in
       sha512 = "8XJnwCFR4DatLz1s0nGFe6IJPJ+5pjRFhoBuBKq8SLgFI40eD7ak6jOXpzeG0tmIpyOc1zCs9bjKAxMFm1451A==";
     };
     dependencies = [
-      sources."ansi-regex-5.0.0"
-      sources."ansi-styles-3.2.1"
       sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
       sources."arr-union-3.1.0"
@@ -98724,7 +99662,6 @@ in
         ];
       })
       sources."cache-base-1.0.1"
-      sources."chalk-2.4.2"
       (sources."class-utils-0.3.6" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -98742,10 +99679,9 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      sources."cli-table-0.3.4"
+      sources."cli-table-0.3.5"
       sources."collection-visit-1.0.0"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
+      sources."colors-1.0.3"
       sources."commander-2.9.0"
       sources."component-emitter-1.3.0"
       sources."copy-descriptor-0.1.1"
@@ -98753,8 +99689,6 @@ in
       sources."debug-2.6.9"
       sources."decode-uri-component-0.2.0"
       sources."define-property-2.0.2"
-      sources."emoji-regex-8.0.0"
-      sources."escape-string-regexp-1.0.5"
       (sources."expand-brackets-2.1.4" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -98792,9 +99726,8 @@ in
       sources."for-in-1.0.2"
       sources."fragment-cache-0.2.1"
       sources."get-value-2.0.6"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."graceful-readlink-1.0.1"
-      sources."has-flag-3.0.0"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -98807,7 +99740,6 @@ in
       sources."is-data-descriptor-1.0.0"
       sources."is-descriptor-1.0.2"
       sources."is-extendable-0.1.1"
-      sources."is-fullwidth-code-point-3.0.0"
       (sources."is-number-3.0.0" // {
         dependencies = [
           sources."kind-of-3.2.2"
@@ -98818,7 +99750,7 @@ in
       sources."isarray-1.0.0"
       sources."isobject-3.0.1"
       sources."kind-of-6.0.3"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."map-cache-0.2.2"
       sources."map-visit-1.0.0"
       sources."micromatch-3.1.10"
@@ -98891,7 +99823,7 @@ in
       })
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.3"
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."split-string-3.1.0"
       (sources."static-extend-0.1.2" // {
         dependencies = [
@@ -98910,10 +99842,7 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      sources."string-width-4.2.0"
       sources."string_decoder-1.1.1"
-      sources."strip-ansi-6.0.0"
-      sources."supports-color-5.5.0"
       (sources."to-object-path-0.3.0" // {
         dependencies = [
           sources."kind-of-3.2.2"
@@ -99101,31 +100030,36 @@ in
   snyk = nodeEnv.buildNodePackage {
     name = "snyk";
     packageName = "snyk";
-    version = "1.439.1";
+    version = "1.462.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/snyk/-/snyk-1.439.1.tgz";
-      sha512 = "aWZixzm6HDaK/e/nDvyAX+IeBeQ6IFjQx559ExU+mKWQuGgmBHJryuODTFq1ymQCI7TzQvzM5GCrrEL48JIWkw==";
+      url = "https://registry.npmjs.org/snyk/-/snyk-1.462.0.tgz";
+      sha512 = "DJ17t2ZAvdUwE+PoOU8o4k2wkvq+HxZYcuLVMGdVWprPnScnnA0R918vaJDYDEGNUIhJwe6liXbBoY7UQahr8A==";
     };
     dependencies = [
+      sources."@open-policy-agent/opa-wasm-1.2.0"
       sources."@sindresorhus/is-2.1.1"
       sources."@snyk/cli-interface-2.11.0"
-      (sources."@snyk/cocoapods-lockfile-parser-3.5.2" // {
-        dependencies = [
-          sources."@snyk/dep-graph-1.19.4"
-        ];
-      })
+      sources."@snyk/cocoapods-lockfile-parser-3.6.2"
       sources."@snyk/composer-lockfile-parser-1.4.1"
-      sources."@snyk/dep-graph-1.21.0"
+      sources."@snyk/dep-graph-1.23.1"
       sources."@snyk/docker-registry-v2-client-1.13.9"
       sources."@snyk/gemfile-1.2.0"
-      (sources."@snyk/java-call-graph-builder-1.19.0" // {
+      sources."@snyk/graphlib-2.1.9-patch.3"
+      (sources."@snyk/inquirer-7.3.3-patch" // {
+        dependencies = [
+          sources."ansi-escapes-4.3.1"
+          sources."chalk-4.1.0"
+          sources."strip-ansi-6.0.0"
+        ];
+      })
+      (sources."@snyk/java-call-graph-builder-1.20.0" // {
         dependencies = [
           sources."rimraf-3.0.2"
           sources."tmp-0.2.1"
         ];
       })
       sources."@snyk/rpm-parser-2.2.1"
-      (sources."@snyk/snyk-cocoapods-plugin-2.5.1" // {
+      (sources."@snyk/snyk-cocoapods-plugin-2.5.2" // {
         dependencies = [
           sources."tslib-2.1.0"
         ];
@@ -99143,9 +100077,8 @@ in
       sources."@types/http-cache-semantics-4.0.0"
       sources."@types/js-yaml-3.12.6"
       sources."@types/keyv-3.1.1"
-      sources."@types/node-14.14.22"
+      sources."@types/node-14.14.31"
       sources."@types/responselike-1.0.0"
-      sources."@types/semver-5.5.0"
       sources."@yarnpkg/lockfile-1.1.0"
       sources."abbrev-1.1.1"
       sources."agent-base-4.3.0"
@@ -99158,10 +100091,14 @@ in
       })
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-5.0.0"
-      sources."ansi-styles-3.2.1"
+      sources."ansi-styles-4.3.0"
       sources."ansicolors-0.3.2"
       sources."archy-1.0.0"
-      sources."argparse-1.0.10"
+      (sources."argparse-1.0.10" // {
+        dependencies = [
+          sources."sprintf-js-1.0.3"
+        ];
+      })
       sources."asap-2.0.6"
       sources."asn1-0.2.4"
       (sources."ast-types-0.14.2" // {
@@ -99173,7 +100110,7 @@ in
       sources."balanced-match-1.0.0"
       sources."base64-js-1.5.1"
       sources."bcrypt-pbkdf-1.0.2"
-      (sources."bl-4.0.3" // {
+      (sources."bl-4.1.0" // {
         dependencies = [
           sources."readable-stream-3.6.0"
           sources."safe-buffer-5.2.1"
@@ -99182,12 +100119,7 @@ in
       })
       (sources."boxen-4.2.0" // {
         dependencies = [
-          sources."ansi-styles-4.3.0"
           sources."chalk-3.0.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
           sources."type-fest-0.8.1"
         ];
       })
@@ -99204,7 +100136,15 @@ in
         ];
       })
       sources."camelcase-5.3.1"
-      sources."chalk-2.4.2"
+      (sources."chalk-2.4.2" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
+          sources."has-flag-3.0.0"
+          sources."supports-color-5.5.0"
+        ];
+      })
       sources."chardet-0.7.0"
       sources."child-process-1.0.2"
       sources."ci-info-2.0.0"
@@ -99214,8 +100154,8 @@ in
       sources."cli-width-3.0.0"
       sources."clone-response-1.0.2"
       sources."co-4.6.0"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
       sources."concat-map-0.0.1"
       sources."configstore-5.0.1"
       sources."core-util-is-1.0.2"
@@ -99234,7 +100174,7 @@ in
       })
       sources."deep-extend-0.6.0"
       sources."deep-is-0.1.3"
-      sources."defer-to-connect-2.0.0"
+      sources."defer-to-connect-2.0.1"
       (sources."degenerator-1.0.4" // {
         dependencies = [
           sources."esprima-3.1.3"
@@ -99249,7 +100189,7 @@ in
           sources."string_decoder-1.3.0"
         ];
       })
-      sources."dockerfile-ast-0.0.30"
+      sources."dockerfile-ast-0.1.0"
       sources."dot-prop-5.3.0"
       sources."dotnet-deps-parser-5.0.0"
       sources."duplexer3-0.1.4"
@@ -99292,12 +100232,16 @@ in
       sources."glob-7.1.6"
       sources."global-dirs-2.1.0"
       sources."got-11.4.0"
-      sources."graceful-fs-4.2.4"
-      sources."graphlib-2.1.8"
+      sources."graceful-fs-4.2.6"
       sources."gunzip-maybe-1.4.2"
-      sources."has-flag-3.0.0"
+      sources."has-flag-4.0.0"
       sources."has-yarn-2.1.0"
-      (sources."hosted-git-info-3.0.7" // {
+      (sources."hcl-to-json-0.1.1" // {
+        dependencies = [
+          sources."debug-3.2.7"
+        ];
+      })
+      (sources."hosted-git-info-3.0.8" // {
         dependencies = [
           sources."lru-cache-6.0.0"
           sources."yallist-4.0.0"
@@ -99311,7 +100255,7 @@ in
           sources."ms-2.0.0"
         ];
       })
-      sources."http2-wrapper-1.0.0-beta.5.2"
+      sources."http2-wrapper-1.0.3"
       (sources."https-proxy-agent-3.0.1" // {
         dependencies = [
           sources."debug-3.2.7"
@@ -99325,18 +100269,6 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.7"
-      (sources."inquirer-7.3.3" // {
-        dependencies = [
-          sources."ansi-escapes-4.3.1"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."strip-ansi-6.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
       sources."ip-1.1.5"
       sources."is-ci-2.0.0"
       sources."is-deflate-1.0.0"
@@ -99356,7 +100288,7 @@ in
       sources."isexe-2.0.0"
       sources."js-yaml-3.14.1"
       sources."json-buffer-3.0.1"
-      (sources."jszip-3.5.0" // {
+      (sources."jszip-3.6.0" // {
         dependencies = [
           sources."pako-1.0.11"
         ];
@@ -99365,22 +100297,52 @@ in
       sources."latest-version-5.1.0"
       sources."levn-0.3.0"
       sources."lie-3.3.0"
-      sources."lodash-4.17.20"
       sources."lodash.assign-4.2.0"
       sources."lodash.assignin-4.2.0"
+      sources."lodash.camelcase-4.3.0"
       sources."lodash.clone-4.5.0"
       sources."lodash.clonedeep-4.5.0"
+      sources."lodash.constant-3.0.0"
+      sources."lodash.defaults-4.2.0"
+      sources."lodash.endswith-4.2.1"
+      sources."lodash.filter-4.6.0"
+      sources."lodash.find-4.6.0"
+      sources."lodash.findindex-4.6.0"
       sources."lodash.findkey-4.6.0"
       sources."lodash.flatmap-4.5.0"
       sources."lodash.flatten-4.4.0"
+      sources."lodash.flattendeep-4.4.0"
+      sources."lodash.foreach-4.5.0"
       sources."lodash.get-4.4.2"
+      sources."lodash.groupby-4.6.0"
+      sources."lodash.has-4.5.2"
       sources."lodash.invert-4.3.0"
+      sources."lodash.isboolean-3.0.3"
       sources."lodash.isempty-4.4.0"
       sources."lodash.isequal-4.5.0"
+      sources."lodash.isfunction-3.0.9"
+      sources."lodash.isnumber-3.0.3"
+      sources."lodash.isobject-3.0.2"
+      sources."lodash.isplainobject-4.0.6"
+      sources."lodash.isstring-4.0.1"
+      sources."lodash.isundefined-3.0.1"
+      sources."lodash.keys-4.2.0"
+      sources."lodash.last-3.0.0"
+      sources."lodash.map-4.6.0"
       sources."lodash.merge-4.6.2"
+      sources."lodash.omit-4.5.0"
+      sources."lodash.orderby-4.6.0"
+      sources."lodash.reduce-4.6.0"
       sources."lodash.set-4.3.2"
+      sources."lodash.size-4.2.0"
+      sources."lodash.sortby-4.7.0"
+      sources."lodash.sum-4.0.2"
       sources."lodash.topairs-4.3.0"
+      sources."lodash.transform-4.6.0"
+      sources."lodash.union-4.6.0"
       sources."lodash.uniq-4.5.0"
+      sources."lodash.upperfirst-4.3.1"
+      sources."lodash.values-4.3.0"
       sources."lowercase-keys-2.0.0"
       sources."lru-cache-5.1.1"
       sources."macos-release-2.4.1"
@@ -99405,7 +100367,7 @@ in
       sources."object-hash-2.1.1"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
-      sources."open-7.3.1"
+      sources."open-7.4.2"
       sources."optionator-0.8.3"
       sources."os-name-3.1.0"
       sources."os-tmpdir-1.0.2"
@@ -99472,7 +100434,7 @@ in
       sources."restore-cursor-3.1.0"
       sources."rimraf-2.7.1"
       sources."run-async-2.4.1"
-      sources."rxjs-6.6.3"
+      sources."rxjs-6.6.6"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
@@ -99487,16 +100449,11 @@ in
       sources."snyk-config-4.0.0-rc.2"
       (sources."snyk-cpp-plugin-2.2.1" // {
         dependencies = [
-          sources."ansi-styles-4.3.0"
           sources."chalk-4.1.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
           sources."tslib-2.1.0"
         ];
       })
-      (sources."snyk-docker-plugin-4.13.1" // {
+      (sources."snyk-docker-plugin-4.17.3" // {
         dependencies = [
           sources."rimraf-3.0.2"
           sources."tmp-0.2.1"
@@ -99504,41 +100461,24 @@ in
         ];
       })
       sources."snyk-go-parser-1.4.1"
-      (sources."snyk-go-plugin-1.16.4" // {
+      (sources."snyk-go-plugin-1.16.5" // {
         dependencies = [
           sources."rimraf-3.0.2"
           sources."tmp-0.2.1"
         ];
       })
-      (sources."snyk-gradle-plugin-3.12.0" // {
+      (sources."snyk-gradle-plugin-3.13.0" // {
         dependencies = [
-          (sources."@snyk/cli-interface-2.9.1" // {
-            dependencies = [
-              sources."@snyk/dep-graph-1.19.4"
-              sources."tslib-1.14.1"
-            ];
-          })
-          sources."ansi-styles-4.3.0"
           sources."chalk-3.0.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
           sources."rimraf-3.0.2"
-          sources."supports-color-7.2.0"
           sources."tmp-0.2.1"
           sources."tslib-2.1.0"
         ];
       })
       sources."snyk-module-3.1.0"
-      (sources."snyk-mvn-plugin-2.25.1" // {
+      (sources."snyk-mvn-plugin-2.25.3" // {
         dependencies = [
-          sources."@snyk/cli-interface-2.9.1"
-          (sources."@snyk/dep-graph-1.19.4" // {
-            dependencies = [
-              sources."tslib-1.14.1"
-            ];
-          })
-          (sources."@snyk/java-call-graph-builder-1.17.0" // {
+          (sources."@snyk/java-call-graph-builder-1.19.1" // {
             dependencies = [
               sources."tmp-0.2.1"
             ];
@@ -99552,12 +100492,12 @@ in
           sources."tslib-1.11.1"
         ];
       })
-      (sources."snyk-nodejs-lockfile-parser-1.30.1" // {
+      (sources."snyk-nodejs-lockfile-parser-1.30.2" // {
         dependencies = [
           sources."uuid-8.3.2"
         ];
       })
-      (sources."snyk-nuget-plugin-1.19.4" // {
+      (sources."snyk-nuget-plugin-1.21.0" // {
         dependencies = [
           sources."jszip-3.4.0"
           sources."pako-1.0.11"
@@ -99569,13 +100509,8 @@ in
           sources."tslib-1.11.1"
         ];
       })
-      (sources."snyk-poetry-lockfile-parser-1.1.2" // {
+      (sources."snyk-poetry-lockfile-parser-1.1.6" // {
         dependencies = [
-          (sources."@snyk/dep-graph-1.23.0" // {
-            dependencies = [
-              sources."tslib-1.14.1"
-            ];
-          })
           sources."tslib-2.1.0"
         ];
       })
@@ -99590,20 +100525,16 @@ in
           })
         ];
       })
-      sources."snyk-python-plugin-1.19.2"
+      sources."snyk-python-plugin-1.19.5"
       (sources."snyk-resolve-1.0.1" // {
         dependencies = [
           sources."debug-3.2.7"
         ];
       })
-      (sources."snyk-resolve-deps-4.4.0" // {
+      (sources."snyk-resolve-deps-4.7.2" // {
         dependencies = [
-          sources."@types/node-6.14.13"
-          sources."debug-3.2.7"
-          sources."hosted-git-info-2.8.8"
           sources."lru-cache-4.1.5"
           sources."semver-5.7.1"
-          sources."snyk-module-1.9.1"
           sources."yallist-2.1.2"
         ];
       })
@@ -99629,13 +100560,13 @@ in
       sources."source-map-0.6.1"
       sources."source-map-support-0.5.19"
       sources."split-ca-1.0.1"
-      sources."sprintf-js-1.0.3"
+      sources."sprintf-js-1.1.2"
       sources."ssh2-0.8.9"
       sources."ssh2-streams-0.4.10"
       sources."statuses-1.5.0"
       sources."stream-shift-1.0.1"
       sources."streamsearch-0.1.2"
-      (sources."string-width-4.2.0" // {
+      (sources."string-width-4.2.2" // {
         dependencies = [
           sources."strip-ansi-6.0.0"
         ];
@@ -99648,7 +100579,7 @@ in
       })
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
-      sources."supports-color-5.5.0"
+      sources."supports-color-7.2.0"
       (sources."tar-stream-2.2.0" // {
         dependencies = [
           sources."readable-stream-3.6.0"
@@ -99682,15 +100613,11 @@ in
       sources."unpipe-1.0.0"
       (sources."update-notifier-4.1.3" // {
         dependencies = [
-          sources."ansi-styles-4.3.0"
           sources."chalk-3.0.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
         ];
       })
       sources."url-parse-lax-3.0.0"
+      sources."utf8-3.0.0"
       sources."util-deprecate-1.0.2"
       sources."uuid-3.4.0"
       sources."vscode-languageserver-types-3.16.0"
@@ -99700,6 +100627,9 @@ in
       sources."word-wrap-1.2.3"
       (sources."wrap-ansi-5.1.0" // {
         dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
           sources."emoji-regex-7.0.3"
           sources."is-fullwidth-code-point-2.0.0"
           sources."string-width-3.1.0"
@@ -99729,16 +100659,16 @@ in
   "socket.io" = nodeEnv.buildNodePackage {
     name = "socket.io";
     packageName = "socket.io";
-    version = "3.1.0";
+    version = "3.1.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/socket.io/-/socket.io-3.1.0.tgz";
-      sha512 = "Aqg2dlRh6xSJvRYK31ksG65q4kmBOqU4g+1ukhPcoT6wNGYoIwSYPlCPuRwOO9pgLUajojGFztl6+V2opmKcww==";
+      url = "https://registry.npmjs.org/socket.io/-/socket.io-3.1.2.tgz";
+      sha512 = "JubKZnTQ4Z8G4IZWtaAZSiRP3I/inpy8c/Bsx2jrwGrTbKeVU5xd6qkKMHpChYeM3dWZSO0QACiGK+obhBNwYw==";
     };
     dependencies = [
       sources."@types/component-emitter-1.2.10"
       sources."@types/cookie-0.4.0"
-      sources."@types/cors-2.8.9"
-      sources."@types/node-14.14.22"
+      sources."@types/cors-2.8.10"
+      sources."@types/node-14.14.31"
       sources."accepts-1.3.7"
       sources."base64-arraybuffer-0.1.4"
       sources."base64id-2.0.0"
@@ -99746,17 +100676,17 @@ in
       sources."cookie-0.4.1"
       sources."cors-2.8.5"
       sources."debug-4.3.2"
-      sources."engine.io-4.1.0"
+      sources."engine.io-4.1.1"
       sources."engine.io-parser-4.0.2"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."ms-2.1.2"
       sources."negotiator-0.6.2"
       sources."object-assign-4.1.1"
       sources."socket.io-adapter-2.1.0"
       sources."socket.io-parser-4.0.4"
       sources."vary-1.1.2"
-      sources."ws-7.4.2"
+      sources."ws-7.4.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -99823,7 +100753,7 @@ in
       sources."get-stream-3.0.0"
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."hosted-git-info-2.8.8"
@@ -99892,7 +100822,7 @@ in
       sources."redent-2.0.0"
       sources."registry-auth-token-3.4.0"
       sources."registry-url-3.1.0"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."restore-cursor-2.0.0"
       sources."round-to-3.0.0"
       sources."safe-buffer-5.2.1"
@@ -99952,6 +100882,13 @@ in
       sha512 = "+KXfMBecoFFAo0C4FTfSsH2ZXtrL2aQDXgVlQ0NrYdNLHW2TEnibV0hG3yq3hOlAEUQmrwVHZATfVToO825gxA==";
     };
     dependencies = [
+      (sources."@sammacbeth/random-access-idb-mutable-file-0.1.1" // {
+        dependencies = [
+          sources."buffer-5.1.0"
+          sources."random-access-storage-1.3.0"
+        ];
+      })
+      sources."@types/minimatch-3.0.3"
       sources."abstract-leveldown-6.0.3"
       sources."aligned-block-file-1.2.2"
       sources."ansi-escapes-1.4.0"
@@ -99962,17 +100899,25 @@ in
       sources."arr-diff-2.0.0"
       sources."arr-flatten-1.1.0"
       sources."arr-union-3.1.0"
+      sources."array-differ-3.0.0"
       sources."array-filter-1.0.0"
       sources."array-union-1.0.2"
       sources."array-uniq-1.0.3"
       sources."array-unique-0.2.1"
       sources."arrify-1.0.1"
       sources."assign-symbols-1.0.0"
+      (sources."async-append-only-log-3.0.7" // {
+        dependencies = [
+          sources."push-stream-11.0.0"
+        ];
+      })
       sources."async-each-1.0.3"
       sources."async-single-1.0.5"
       sources."async-write-2.1.0"
       sources."atob-2.1.2"
       sources."atomic-file-1.1.5"
+      sources."atomically-1.7.0"
+      sources."atomically-universal-0.1.1"
       sources."attach-ware-1.1.1"
       sources."available-typed-arrays-1.0.2"
       sources."bail-1.0.5"
@@ -99988,12 +100933,17 @@ in
       sources."bash-color-0.0.4"
       sources."binary-extensions-1.13.1"
       sources."binary-search-1.3.6"
+      sources."binary-search-bounds-2.0.5"
       sources."bindings-1.5.0"
+      sources."bipf-1.4.0"
       sources."blake2s-1.1.0"
       sources."brace-expansion-1.1.11"
       sources."braces-1.8.5"
       sources."broadcast-stream-0.2.2"
       sources."buffer-5.7.1"
+      sources."buffer-alloc-1.2.0"
+      sources."buffer-alloc-unsafe-1.1.0"
+      sources."buffer-fill-1.0.0"
       sources."buffer-from-1.1.1"
       (sources."cache-base-1.0.1" // {
         dependencies = [
@@ -100009,7 +100959,7 @@ in
       sources."character-entities-legacy-1.1.4"
       sources."character-reference-invalid-1.1.4"
       sources."charwise-3.0.1"
-      sources."chloride-2.4.0"
+      sources."chloride-2.4.1"
       sources."chloride-test-1.2.4"
       sources."chokidar-1.7.0"
       (sources."class-utils-0.3.6" // {
@@ -100035,6 +100985,8 @@ in
       sources."code-point-at-1.1.0"
       sources."collapse-white-space-1.0.6"
       sources."collection-visit-1.0.0"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
       sources."commander-2.20.3"
       sources."compare-at-paths-1.0.0"
       sources."component-emitter-1.3.0"
@@ -100056,6 +101008,7 @@ in
       sources."continuable-series-1.2.0"
       sources."copy-descriptor-0.1.1"
       sources."core-util-is-1.0.2"
+      sources."cpu-percentage-1.0.3"
       sources."cross-spawn-6.0.5"
       sources."debug-4.3.2"
       sources."decode-uri-component-0.2.0"
@@ -100086,6 +101039,7 @@ in
           sources."abstract-leveldown-6.3.0"
         ];
       })
+      sources."end-of-stream-1.4.4"
       sources."epidemic-broadcast-trees-7.0.0"
       sources."errno-0.1.8"
       (sources."es-abstract-1.18.0-next.2" // {
@@ -100100,6 +101054,16 @@ in
       })
       sources."es-to-primitive-1.2.1"
       sources."escape-string-regexp-1.0.5"
+      (sources."execa-4.1.0" // {
+        dependencies = [
+          sources."cross-spawn-7.0.3"
+          sources."onetime-5.1.2"
+          sources."path-key-3.1.1"
+          sources."shebang-command-2.0.0"
+          sources."shebang-regex-3.0.0"
+          sources."which-2.0.2"
+        ];
+      })
       sources."exit-hook-1.1.1"
       sources."expand-brackets-0.1.5"
       sources."expand-range-1.8.2"
@@ -100112,9 +101076,12 @@ in
       })
       sources."extend.js-0.0.2"
       sources."extglob-0.3.2"
+      sources."fastintcompression-0.0.4"
+      sources."fastpriorityqueue-0.6.3"
       sources."file-uri-to-path-1.0.0"
       sources."filename-regex-2.0.1"
       sources."fill-range-2.2.4"
+      sources."find-up-4.1.0"
       (sources."flumecodec-0.0.0" // {
         dependencies = [
           sources."level-codec-6.2.0"
@@ -100159,18 +101126,20 @@ in
       sources."fs.realpath-1.0.0"
       sources."fsevents-1.2.13"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
+      sources."get-stream-5.2.0"
       sources."get-value-2.0.6"
       sources."glob-6.0.4"
       sources."glob-base-0.3.0"
       sources."glob-parent-2.0.0"
       sources."globby-4.1.0"
       sources."gossip-query-2.0.2"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
+      sources."has-flag-4.0.0"
       sources."has-network-0.0.1"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       (sources."has-value-1.0.0" // {
         dependencies = [
           sources."isobject-3.0.1"
@@ -100190,8 +101159,10 @@ in
       sources."he-0.5.0"
       sources."heap-0.2.6"
       sources."hoox-0.0.1"
+      sources."human-signals-1.1.1"
       sources."idb-kv-store-4.5.0"
       sources."ieee754-1.2.1"
+      sources."ignore-5.1.8"
       sources."immediate-3.2.3"
       sources."increment-buffer-1.0.1"
       sources."inflight-1.0.6"
@@ -100212,7 +101183,7 @@ in
       sources."is-binary-path-1.0.1"
       sources."is-boolean-object-1.1.0"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.2.2"
+      sources."is-callable-1.2.3"
       sources."is-canonical-base64-1.1.1"
       (sources."is-data-descriptor-1.0.0" // {
         dependencies = [
@@ -100237,6 +101208,7 @@ in
       sources."is-negative-zero-2.0.1"
       sources."is-number-2.1.0"
       sources."is-number-object-1.0.4"
+      sources."is-options-1.0.1"
       (sources."is-plain-object-2.0.4" // {
         dependencies = [
           sources."isobject-3.0.1"
@@ -100244,11 +101216,12 @@ in
       })
       sources."is-posix-bracket-0.1.1"
       sources."is-primitive-2.0.0"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-set-2.0.2"
+      sources."is-stream-2.0.0"
       sources."is-string-1.0.5"
       sources."is-symbol-1.0.3"
-      sources."is-typed-array-1.1.4"
+      sources."is-typed-array-1.1.5"
       sources."is-typedarray-1.0.0"
       sources."is-valid-domain-0.0.17"
       sources."is-weakmap-2.0.1"
@@ -100257,6 +101230,14 @@ in
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."isobject-2.1.0"
+      (sources."jitdb-2.3.1" // {
+        dependencies = [
+          sources."mkdirp-1.0.4"
+          sources."push-stream-11.0.0"
+          sources."typedarray-to-buffer-4.0.0"
+        ];
+      })
+      sources."jsesc-3.0.2"
       sources."json-buffer-2.0.11"
       sources."kind-of-3.2.2"
       sources."layered-graph-1.1.3"
@@ -100281,8 +101262,10 @@ in
       })
       sources."levelup-4.4.0"
       sources."libnested-1.5.0"
-      sources."libsodium-0.7.8"
-      sources."libsodium-wrappers-0.7.8"
+      sources."libsodium-0.7.9"
+      sources."libsodium-wrappers-0.7.9"
+      sources."locate-path-5.0.0"
+      sources."lodash.debounce-4.0.8"
       sources."lodash.get-4.4.2"
       sources."log-symbols-1.0.2"
       sources."log-update-1.0.2"
@@ -100297,7 +101280,9 @@ in
       sources."markdown-table-0.4.0"
       sources."math-random-1.0.4"
       sources."mdmanifest-1.0.8"
+      sources."merge-stream-2.0.0"
       sources."micromatch-2.3.11"
+      sources."mimic-fn-2.1.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       (sources."mixin-deep-1.3.2" // {
@@ -100306,12 +101291,20 @@ in
         ];
       })
       sources."mkdirp-0.5.5"
+      sources."mkdirp-classic-0.5.3"
       sources."monotonic-timestamp-0.0.9"
       sources."moo-0.5.1"
+      sources."mri-1.1.6"
       sources."ms-2.1.2"
       sources."multiblob-1.13.7"
       sources."multiblob-http-1.0.0"
       sources."multicb-1.2.2"
+      (sources."multimatch-4.0.0" // {
+        dependencies = [
+          sources."array-union-2.1.0"
+          sources."arrify-2.0.1"
+        ];
+      })
       sources."multiserver-3.7.0"
       sources."multiserver-address-1.0.1"
       sources."multiserver-scopes-1.0.0"
@@ -100336,12 +101329,18 @@ in
       sources."napi-macros-2.0.0"
       sources."ncp-2.0.0"
       sources."nearley-2.20.1"
+      sources."next-tick-1.1.0"
       sources."nice-try-1.0.5"
       sources."node-gyp-build-4.2.3"
       sources."non-private-ip-1.4.4"
       sources."normalize-path-2.1.1"
       sources."normalize-uri-1.1.3"
       sources."npm-prefix-1.2.0"
+      (sources."npm-run-path-4.0.1" // {
+        dependencies = [
+          sources."path-key-3.1.1"
+        ];
+      })
       sources."number-is-nan-1.0.1"
       sources."object-assign-4.1.1"
       (sources."object-copy-0.1.0" // {
@@ -100357,7 +101356,7 @@ in
         ];
       })
       sources."object-inspect-1.7.0"
-      sources."object-is-1.1.4"
+      sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       (sources."object-visit-1.0.1" // {
         dependencies = [
@@ -100384,11 +101383,16 @@ in
       sources."os-homedir-1.0.2"
       sources."os-tmpdir-1.0.2"
       sources."osenv-0.1.5"
+      sources."p-defer-3.0.0"
+      sources."p-limit-2.3.0"
+      sources."p-locate-4.1.0"
+      sources."p-try-2.2.0"
       sources."packet-stream-2.0.5"
       sources."packet-stream-codec-1.1.3"
       sources."parse-entities-1.2.2"
       sources."parse-glob-3.0.4"
       sources."pascalcase-0.1.1"
+      sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-2.0.1"
       sources."path-parse-1.0.6"
@@ -100396,19 +101400,32 @@ in
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
       sources."plur-2.1.2"
+      sources."polyraf-1.1.0"
       sources."posix-character-classes-0.1.1"
       sources."preserve-0.2.0"
+      sources."prettier-2.2.1"
+      (sources."pretty-quick-3.1.0" // {
+        dependencies = [
+          sources."ansi-styles-4.3.0"
+          sources."chalk-3.0.0"
+          sources."supports-color-7.2.0"
+        ];
+      })
       sources."private-box-0.3.1"
       sources."process-nextick-args-2.0.1"
+      sources."promisify-4loc-1.0.0"
       sources."promisize-1.1.2"
       sources."prr-1.0.1"
       sources."pull-abortable-4.0.0"
+      sources."pull-async-1.0.0"
+      sources."pull-awaitable-1.0.0"
       sources."pull-box-stream-1.0.13"
       sources."pull-cat-1.1.11"
       sources."pull-catch-1.0.1"
       sources."pull-cont-0.1.1"
       sources."pull-cursor-3.0.0"
       sources."pull-defer-0.2.3"
+      sources."pull-drain-gently-1.1.0"
       sources."pull-file-1.1.0"
       sources."pull-flatmap-0.0.1"
       (sources."pull-fs-1.1.6" // {
@@ -100433,6 +101450,7 @@ in
       sources."pull-notify-0.1.1"
       sources."pull-pair-1.1.0"
       sources."pull-paramap-1.2.2"
+      sources."pull-pause-0.0.2"
       sources."pull-ping-2.0.3"
       sources."pull-pushable-2.2.0"
       sources."pull-rate-1.0.2"
@@ -100440,6 +101458,7 @@ in
       sources."pull-sink-through-0.0.0"
       sources."pull-sort-1.0.2"
       sources."pull-stream-3.6.14"
+      sources."pull-thenable-1.0.0"
       (sources."pull-through-1.0.18" // {
         dependencies = [
           sources."looper-3.0.0"
@@ -100455,10 +101474,28 @@ in
       sources."pull-write-1.1.4"
       sources."pull-write-file-0.2.4"
       sources."pull-ws-3.3.2"
+      sources."pump-3.0.0"
       sources."push-stream-10.1.2"
       sources."push-stream-to-pull-stream-1.0.3"
+      sources."quicktask-1.0.1"
       sources."railroad-diagrams-1.0.0"
       sources."randexp-0.4.6"
+      sources."random-access-chrome-file-1.1.4"
+      sources."random-access-file-2.2.0"
+      (sources."random-access-idb-1.2.1" // {
+        dependencies = [
+          sources."buffer-from-0.1.2"
+        ];
+      })
+      (sources."random-access-idb-mutable-file-0.3.0" // {
+        dependencies = [
+          sources."buffer-5.1.0"
+          sources."random-access-storage-1.3.0"
+        ];
+      })
+      sources."random-access-memory-3.1.2"
+      sources."random-access-storage-1.4.1"
+      sources."random-access-web-2.0.3"
       (sources."randomatic-3.1.1" // {
         dependencies = [
           sources."is-number-4.0.0"
@@ -100550,6 +101587,7 @@ in
       sources."rwlock-5.0.0"
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
+      sources."sanitize-filename-1.6.3"
       sources."secret-handshake-1.1.20"
       sources."secret-stack-6.3.2"
       sources."semver-5.7.1"
@@ -100568,6 +101606,7 @@ in
           sources."object-inspect-1.9.0"
         ];
       })
+      sources."signal-exit-3.0.3"
       sources."smart-buffer-4.1.0"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
@@ -100605,10 +101644,10 @@ in
         ];
       })
       sources."sodium-chloride-1.1.2"
-      sources."sodium-native-3.2.0"
+      sources."sodium-native-3.2.1"
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.3"
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."split-buffer-1.0.0"
       sources."split-string-3.1.0"
       sources."ssb-blobs-1.2.2"
@@ -100616,8 +101655,35 @@ in
       sources."ssb-client-4.9.0"
       sources."ssb-config-3.4.5"
       sources."ssb-db-19.2.0"
+      (sources."ssb-db2-1.18.0" // {
+        dependencies = [
+          sources."abstract-leveldown-6.2.3"
+          (sources."flumecodec-0.0.1" // {
+            dependencies = [
+              sources."level-codec-6.2.0"
+            ];
+          })
+          sources."glob-7.1.6"
+          sources."level-6.0.1"
+          sources."level-js-5.0.2"
+          sources."mkdirp-1.0.4"
+          sources."push-stream-11.0.0"
+          sources."rimraf-3.0.2"
+          (sources."ssb-keys-8.0.2" // {
+            dependencies = [
+              sources."mkdirp-0.5.5"
+            ];
+          })
+          sources."typedarray-to-buffer-4.0.0"
+        ];
+      })
       sources."ssb-ebt-5.6.7"
-      sources."ssb-friends-4.3.0"
+      (sources."ssb-friends-4.4.4" // {
+        dependencies = [
+          sources."flumecodec-0.0.1"
+          sources."level-codec-6.2.0"
+        ];
+      })
       sources."ssb-gossip-1.1.1"
       (sources."ssb-invite-2.1.6" // {
         dependencies = [
@@ -100644,6 +101710,7 @@ in
       sources."ssb-query-2.4.5"
       sources."ssb-ref-2.14.3"
       sources."ssb-replicate-1.3.2"
+      sources."ssb-sort-1.1.3"
       sources."ssb-unix-socket-1.0.0"
       sources."ssb-validate-4.1.3"
       sources."ssb-ws-6.2.3"
@@ -100672,12 +101739,13 @@ in
         ];
       })
       sources."string-width-1.0.2"
-      sources."string.prototype.trim-1.2.3"
-      sources."string.prototype.trimend-1.0.3"
-      sources."string.prototype.trimstart-1.0.3"
+      sources."string.prototype.trim-1.2.4"
+      sources."string.prototype.trimend-1.0.4"
+      sources."string.prototype.trimstart-1.0.4"
       sources."string_decoder-1.1.1"
       sources."stringify-entities-1.3.2"
       sources."strip-ansi-3.0.1"
+      sources."strip-final-newline-2.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-2.0.0"
       (sources."tape-4.13.3" // {
@@ -100699,13 +101767,17 @@ in
       })
       sources."to-space-case-1.0.0"
       sources."to-vfile-1.0.0"
+      sources."too-hot-1.0.0"
+      sources."traverse-0.6.6"
       sources."trim-0.0.1"
       sources."trim-lines-1.1.3"
       sources."trim-trailing-lines-1.1.4"
+      sources."truncate-utf8-bytes-1.0.2"
       sources."tweetnacl-0.14.5"
       sources."tweetnacl-auth-0.3.1"
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
+      sources."typedfastbitset-0.2.1"
       sources."typewiselite-1.0.0"
       sources."uint48be-2.0.1"
       sources."ultron-1.0.2"
@@ -100730,7 +101802,9 @@ in
       sources."urix-0.1.0"
       sources."use-3.1.1"
       sources."user-home-2.0.0"
+      sources."utf8-byte-length-1.0.4"
       sources."util-deprecate-1.0.2"
+      sources."varint-5.0.2"
       sources."vfile-1.4.0"
       sources."vfile-find-down-1.0.0"
       sources."vfile-find-up-1.0.0"
@@ -100751,7 +101825,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "network protocol layer for secure-scuttlebutt";
-      homepage = https://github.com/ssbc/ssb-server;
+      homepage = "https://github.com/ssbc/ssb-server";
       license = "MIT";
     };
     production = true;
@@ -100769,7 +101843,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Send metric data from statsd to Stackdriver";
-      homepage = https://www.stackdriver.com/;
+      homepage = "https://www.stackdriver.com";
       license = "MIT";
     };
     production = true;
@@ -100844,7 +101918,7 @@ in
       sources."async-1.5.2"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
-      (sources."aws-sdk-2.831.0" // {
+      (sources."aws-sdk-2.853.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -100888,6 +101962,7 @@ in
       sources."busboy-0.2.14"
       sources."bytebuffer-3.5.5"
       sources."bytes-3.1.0"
+      sources."call-bind-1.0.2"
       sources."camelcase-1.2.1"
       sources."caseless-0.11.0"
       sources."center-align-0.1.3"
@@ -100982,14 +102057,14 @@ in
         dependencies = [
           sources."cookie-0.4.1"
           sources."debug-4.1.1"
-          sources."ws-7.4.2"
+          sources."ws-7.4.3"
         ];
       })
       (sources."engine.io-client-3.5.0" // {
         dependencies = [
           sources."debug-3.1.0"
           sources."ms-2.0.0"
-          sources."ws-7.4.2"
+          sources."ws-7.4.3"
         ];
       })
       sources."engine.io-parser-2.2.1"
@@ -101027,7 +102102,7 @@ in
       sources."fd-slicer-1.1.0"
       sources."finalhandler-1.1.2"
       sources."find-up-3.0.0"
-      sources."follow-redirects-1.13.2"
+      sources."follow-redirects-1.13.3"
       sources."forever-agent-0.6.1"
       sources."form-data-2.1.4"
       sources."formidable-1.2.2"
@@ -101038,6 +102113,7 @@ in
       sources."generate-function-2.3.1"
       sources."generate-object-property-1.2.0"
       sources."get-caller-file-1.0.3"
+      sources."get-intrinsic-1.1.1"
       sources."get-stream-4.1.0"
       (sources."getpass-0.1.7" // {
         dependencies = [
@@ -101050,7 +102126,7 @@ in
           sources."debug-3.2.7"
         ];
       })
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."graphlib-2.1.8"
       sources."har-schema-2.0.0"
       sources."har-validator-2.0.6"
@@ -101062,7 +102138,7 @@ in
         ];
       })
       sources."has-cors-1.1.0"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."hawk-3.1.3"
       sources."highlight.js-8.2.0"
       (sources."hipchatter-0.3.2" // {
@@ -101105,7 +102181,7 @@ in
       sources."is-my-json-valid-2.20.5"
       sources."is-promise-2.2.2"
       sources."is-property-1.0.2"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-stream-1.1.0"
       sources."is-typedarray-1.0.0"
       sources."is-utf8-0.2.1"
@@ -101158,7 +102234,7 @@ in
       })
       sources."load-json-file-1.1.0"
       sources."locate-path-3.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.get-4.4.2"
       sources."lodash.isequal-4.5.0"
       sources."long-2.4.0"
@@ -101198,8 +102274,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-2.1.0"
       sources."minicap-prebuilt-2.3.0"
       sources."minimatch-3.0.4"
@@ -101282,7 +102358,7 @@ in
       sources."psl-1.8.0"
       sources."pug-2.0.4"
       sources."pug-attrs-2.0.4"
-      sources."pug-code-gen-2.0.2"
+      sources."pug-code-gen-2.0.3"
       sources."pug-error-1.3.3"
       sources."pug-filters-3.1.1"
       sources."pug-lexer-4.1.0"
@@ -101334,7 +102410,7 @@ in
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
       sources."requires-port-1.0.0"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."ret-0.2.2"
       sources."rethinkdb-2.4.2"
       sources."retry-0.9.0"
@@ -101610,35 +102686,38 @@ in
   stylelint = nodeEnv.buildNodePackage {
     name = "stylelint";
     packageName = "stylelint";
-    version = "13.9.0";
+    version = "13.11.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/stylelint/-/stylelint-13.9.0.tgz";
-      sha512 = "VVWH2oixOAxpWL1vH+V42ReCzBjW2AeqskSAbi8+3OjV1Xg3VZkmTcAqBZfRRvJeF4BvYuDLXebW3tIHxgZDEg==";
+      url = "https://registry.npmjs.org/stylelint/-/stylelint-13.11.0.tgz";
+      sha512 = "DhrKSWDWGZkCiQMtU+VroXM6LWJVC8hSK24nrUngTSQvXGK75yZUq4yNpynqrxD3a/fzKMED09V+XxO4z4lTbw==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
-      sources."@babel/core-7.12.10"
-      sources."@babel/generator-7.12.11"
-      sources."@babel/helper-function-name-7.12.11"
-      sources."@babel/helper-get-function-arity-7.12.10"
-      sources."@babel/helper-member-expression-to-functions-7.12.7"
-      sources."@babel/helper-module-imports-7.12.5"
-      sources."@babel/helper-module-transforms-7.12.1"
-      sources."@babel/helper-optimise-call-expression-7.12.10"
-      sources."@babel/helper-replace-supers-7.12.11"
-      sources."@babel/helper-simple-access-7.12.1"
-      sources."@babel/helper-split-export-declaration-7.12.11"
+      sources."@babel/code-frame-7.12.13"
+      sources."@babel/compat-data-7.13.8"
+      sources."@babel/core-7.13.8"
+      sources."@babel/generator-7.13.0"
+      sources."@babel/helper-compilation-targets-7.13.8"
+      sources."@babel/helper-function-name-7.12.13"
+      sources."@babel/helper-get-function-arity-7.12.13"
+      sources."@babel/helper-member-expression-to-functions-7.13.0"
+      sources."@babel/helper-module-imports-7.12.13"
+      sources."@babel/helper-module-transforms-7.13.0"
+      sources."@babel/helper-optimise-call-expression-7.12.13"
+      sources."@babel/helper-replace-supers-7.13.0"
+      sources."@babel/helper-simple-access-7.12.13"
+      sources."@babel/helper-split-export-declaration-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      sources."@babel/helpers-7.12.5"
-      (sources."@babel/highlight-7.10.4" // {
+      sources."@babel/helper-validator-option-7.12.17"
+      sources."@babel/helpers-7.13.0"
+      (sources."@babel/highlight-7.13.8" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.12.11"
-      sources."@babel/template-7.12.7"
-      sources."@babel/traverse-7.12.12"
-      sources."@babel/types-7.12.12"
+      sources."@babel/parser-7.13.4"
+      sources."@babel/template-7.12.13"
+      sources."@babel/traverse-7.13.0"
+      sources."@babel/types-7.13.0"
       sources."@nodelib/fs.scandir-2.1.4"
       sources."@nodelib/fs.stat-2.0.4"
       sources."@nodelib/fs.walk-1.2.6"
@@ -101649,7 +102728,7 @@ in
       sources."@types/normalize-package-data-2.4.0"
       sources."@types/parse-json-4.0.0"
       sources."@types/unist-2.0.3"
-      sources."ajv-7.0.3"
+      sources."ajv-7.1.1"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-3.2.1"
       sources."array-union-2.1.0"
@@ -101660,11 +102739,11 @@ in
       sources."balanced-match-1.0.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."browserslist-4.16.1"
+      sources."browserslist-4.16.3"
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001180"
+      sources."caniuse-lite-1.0.30001192"
       (sources."chalk-4.1.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -101680,7 +102759,7 @@ in
       sources."clone-regexp-2.2.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.1"
+      sources."colorette-1.2.2"
       sources."concat-map-0.0.1"
       sources."convert-source-map-1.7.0"
       sources."cosmiconfig-7.0.0"
@@ -101702,7 +102781,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.7.0"
-      sources."electron-to-chromium-1.3.645"
+      sources."electron-to-chromium-1.3.675"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -101713,8 +102792,8 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-glob-3.2.5"
       sources."fastest-levenshtein-1.0.12"
-      sources."fastq-1.10.0"
-      sources."file-entry-cache-6.0.0"
+      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"
@@ -101734,7 +102813,7 @@ in
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."hosted-git-info-3.0.7"
+      sources."hosted-git-info-3.0.8"
       sources."html-tags-3.1.0"
       sources."htmlparser2-3.10.1"
       sources."ignore-5.1.8"
@@ -101769,23 +102848,23 @@ in
       sources."jsesc-2.5.2"
       sources."json-parse-even-better-errors-2.3.1"
       sources."json-schema-traverse-1.0.0"
-      sources."json5-2.1.3"
+      sources."json5-2.2.0"
       sources."kind-of-6.0.3"
-      sources."known-css-properties-0.20.0"
+      sources."known-css-properties-0.21.0"
       sources."lines-and-columns-1.1.6"
       sources."locate-path-5.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."log-symbols-4.0.0"
       sources."longest-streak-2.0.4"
       sources."lru-cache-6.0.0"
       sources."map-obj-4.1.0"
       sources."mathml-tag-names-2.1.3"
-      sources."mdast-util-from-markdown-0.8.4"
-      sources."mdast-util-to-markdown-0.6.2"
+      sources."mdast-util-from-markdown-0.8.5"
+      sources."mdast-util-to-markdown-0.6.5"
       sources."mdast-util-to-string-2.0.0"
       sources."meow-9.0.0"
       sources."merge2-1.4.1"
-      sources."micromark-2.11.2"
+      sources."micromark-2.11.4"
       sources."micromatch-4.0.2"
       sources."min-indent-1.0.1"
       sources."minimatch-3.0.4"
@@ -101796,7 +102875,7 @@ in
         ];
       })
       sources."ms-2.1.2"
-      sources."node-releases-1.1.70"
+      sources."node-releases-1.1.71"
       (sources."normalize-package-data-3.0.0" // {
         dependencies = [
           sources."semver-7.3.4"
@@ -101839,11 +102918,13 @@ in
       sources."postcss-syntax-0.36.2"
       sources."postcss-value-parser-4.1.0"
       sources."punycode-2.1.1"
+      sources."queue-microtask-1.2.2"
       sources."quick-lru-4.0.1"
       (sources."read-pkg-5.2.0" // {
         dependencies = [
           sources."hosted-git-info-2.8.8"
           sources."normalize-package-data-2.5.0"
+          sources."semver-5.7.1"
           sources."type-fest-0.6.0"
         ];
       })
@@ -101859,13 +102940,13 @@ in
       sources."remark-stringify-9.0.1"
       sources."repeat-string-1.6.1"
       sources."require-from-string-2.0.2"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."resolve-from-5.0.0"
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
-      sources."run-parallel-1.1.10"
+      sources."run-parallel-1.2.0"
       sources."safe-buffer-5.1.2"
-      sources."semver-5.7.1"
+      sources."semver-6.3.0"
       sources."signal-exit-3.0.3"
       sources."slash-3.0.0"
       (sources."slice-ansi-4.0.0" // {
@@ -101881,7 +102962,7 @@ in
       sources."spdx-expression-parse-3.0.1"
       sources."spdx-license-ids-3.0.7"
       sources."specificity-0.4.1"
-      sources."string-width-4.2.0"
+      sources."string-width-4.2.2"
       (sources."string_decoder-1.3.0" // {
         dependencies = [
           sources."safe-buffer-5.2.1"
@@ -101900,7 +102981,7 @@ in
       sources."trough-1.0.5"
       sources."type-fest-0.18.1"
       sources."typedarray-to-buffer-3.1.5"
-      sources."unified-9.2.0"
+      sources."unified-9.2.1"
       sources."uniq-1.0.1"
       sources."unist-util-find-all-after-3.0.2"
       sources."unist-util-is-4.0.4"
@@ -101916,99 +102997,150 @@ in
       sources."write-file-atomic-3.0.3"
       sources."yallist-4.0.0"
       sources."yaml-1.10.0"
-      sources."yargs-parser-20.2.4"
+      sources."yargs-parser-20.2.6"
       sources."zwitch-1.0.5"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "A mighty, modern CSS linter.";
-      homepage = https://stylelint.io/;
+      homepage = "https://stylelint.io";
       license = "MIT";
     };
     production = true;
     bypassCache = true;
     reconstructLock = true;
   };
-  svgo = nodeEnv.buildNodePackage {
-    name = "svgo";
-    packageName = "svgo";
-    version = "1.3.2";
+  svelte-language-server = nodeEnv.buildNodePackage {
+    name = "svelte-language-server";
+    packageName = "svelte-language-server";
+    version = "0.12.15";
     src = fetchurl {
-      url = "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz";
-      sha512 = "yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==";
+      url = "https://registry.npmjs.org/svelte-language-server/-/svelte-language-server-0.12.15.tgz";
+      sha512 = "7tYY1iEVc883QABfXDjwqHwVbJlsWkfgMQhR3PisHuzICGMCCV8Y/oZnhP9Tzc/R8N+tanBhQCYaGlfgE+T1lQ==";
     };
     dependencies = [
-      sources."@types/q-1.5.4"
+      sources."@babel/code-frame-7.12.13"
+      sources."@babel/helper-validator-identifier-7.12.11"
+      sources."@babel/highlight-7.13.8"
+      sources."@emmetio/abbreviation-2.2.1"
+      sources."@emmetio/css-abbreviation-2.1.2"
+      sources."@emmetio/scanner-1.0.0"
+      sources."@types/node-14.14.31"
+      sources."@types/parse-json-4.0.0"
+      sources."@types/pug-2.0.4"
+      sources."@types/sass-1.16.0"
       sources."ansi-styles-3.2.1"
-      sources."argparse-1.0.10"
-      sources."boolbase-1.0.0"
-      sources."call-bind-1.0.2"
+      sources."anymatch-3.1.1"
+      sources."binary-extensions-2.2.0"
+      sources."braces-3.0.2"
+      sources."callsites-3.1.0"
       sources."chalk-2.4.2"
-      sources."coa-2.0.2"
+      sources."chokidar-3.5.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."css-select-2.1.0"
-      sources."css-select-base-adapter-0.1.1"
-      sources."css-tree-1.0.0-alpha.37"
-      sources."css-what-3.4.2"
-      (sources."csso-4.2.0" // {
-        dependencies = [
-          sources."css-tree-1.1.2"
-          sources."mdn-data-2.0.14"
-        ];
-      })
-      sources."define-properties-1.1.3"
-      (sources."dom-serializer-0.2.2" // {
-        dependencies = [
-          sources."domelementtype-2.1.0"
-        ];
-      })
-      sources."domelementtype-1.3.1"
-      sources."domutils-1.7.0"
-      sources."entities-2.2.0"
-      sources."es-abstract-1.18.0-next.2"
-      sources."es-to-primitive-1.2.1"
+      sources."cosmiconfig-7.0.0"
+      sources."dedent-js-1.0.1"
+      sources."detect-indent-6.0.0"
+      sources."emmet-2.3.2"
+      sources."error-ex-1.3.2"
       sources."escape-string-regexp-1.0.5"
-      sources."esprima-4.0.1"
-      sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.0"
-      sources."has-1.0.3"
+      sources."estree-walker-2.0.2"
+      sources."fill-range-7.0.1"
+      sources."fsevents-2.3.2"
+      sources."glob-parent-5.1.1"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.1"
-      sources."is-callable-1.2.2"
-      sources."is-date-object-1.0.2"
-      sources."is-negative-zero-2.0.1"
-      sources."is-regex-1.1.1"
-      sources."is-symbol-1.0.3"
-      sources."js-yaml-3.14.1"
-      sources."mdn-data-2.0.4"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
-      sources."nth-check-1.0.2"
-      sources."object-inspect-1.9.0"
-      sources."object-keys-1.1.1"
-      sources."object.assign-4.1.2"
-      sources."object.getownpropertydescriptors-2.1.1"
-      sources."object.values-1.1.2"
-      sources."q-1.5.1"
-      sources."sax-1.2.4"
+      sources."import-fresh-3.3.0"
+      sources."is-arrayish-0.2.1"
+      sources."is-binary-path-2.1.0"
+      sources."is-extglob-2.1.1"
+      sources."is-glob-4.0.1"
+      sources."is-number-7.0.0"
+      sources."js-tokens-4.0.0"
+      sources."json-parse-even-better-errors-2.3.1"
+      sources."jsonc-parser-2.3.1"
+      sources."lines-and-columns-1.1.6"
+      sources."lodash-4.17.21"
+      sources."lower-case-2.0.2"
+      sources."min-indent-1.0.1"
+      sources."no-case-3.0.4"
+      sources."normalize-path-3.0.0"
+      sources."parent-module-1.0.1"
+      sources."parse-json-5.2.0"
+      sources."pascal-case-3.1.2"
+      sources."path-type-4.0.0"
+      sources."picomatch-2.2.2"
+      sources."prettier-2.2.1"
+      sources."prettier-plugin-svelte-2.1.6"
+      sources."readdirp-3.5.0"
+      sources."resolve-from-4.0.0"
+      sources."source-map-0.7.3"
+      sources."strip-indent-3.0.0"
+      sources."supports-color-5.5.0"
+      sources."svelte-3.32.3"
+      sources."svelte-preprocess-4.6.9"
+      sources."svelte2tsx-0.1.175"
+      sources."to-regex-range-5.0.1"
+      sources."tslib-2.1.0"
+      sources."typescript-4.2.2"
+      sources."vscode-css-languageservice-5.0.0"
+      sources."vscode-emmet-helper-2.1.2"
+      sources."vscode-html-languageservice-4.0.0"
+      sources."vscode-jsonrpc-6.0.0"
+      sources."vscode-languageserver-7.0.0"
+      sources."vscode-languageserver-protocol-3.16.0"
+      sources."vscode-languageserver-textdocument-1.0.1"
+      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-nls-5.0.0"
+      sources."vscode-uri-2.1.2"
+      sources."yaml-1.10.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A language server for Svelte";
+      homepage = "https://github.com/sveltejs/language-tools#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  svgo = nodeEnv.buildNodePackage {
+    name = "svgo";
+    packageName = "svgo";
+    version = "2.1.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/svgo/-/svgo-2.1.0.tgz";
+      sha512 = "f5iEvWkSesVHPqBBc26s9/9LFKJZ+4aWPpOVX0uxXz/39SlNL4XuwfhOWsqOS5Q1j7Z6WLayCF/s1lISeAHjwA==";
+    };
+    dependencies = [
+      sources."@trysound/sax-0.1.1"
+      sources."ansi-styles-4.3.0"
+      sources."boolbase-1.0.0"
+      sources."chalk-4.1.0"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
+      sources."commander-7.1.0"
+      sources."css-select-3.1.2"
+      sources."css-select-base-adapter-0.1.1"
+      sources."css-tree-1.1.2"
+      sources."css-what-4.0.0"
+      sources."csso-4.2.0"
+      sources."dom-serializer-1.2.0"
+      sources."domelementtype-2.1.0"
+      sources."domhandler-4.0.0"
+      sources."domutils-2.4.4"
+      sources."entities-2.2.0"
+      sources."has-flag-4.0.0"
+      sources."mdn-data-2.0.14"
+      sources."nth-check-2.0.0"
       sources."source-map-0.6.1"
-      sources."sprintf-js-1.0.3"
       sources."stable-0.1.8"
-      sources."string.prototype.trimend-1.0.3"
-      sources."string.prototype.trimstart-1.0.3"
-      sources."supports-color-5.5.0"
-      sources."unquote-1.1.1"
-      (sources."util.promisify-1.0.1" // {
-        dependencies = [
-          sources."es-abstract-1.17.7"
-        ];
-      })
+      sources."supports-color-7.2.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "Nodejs-based tool for optimizing SVG vector graphics files";
-      homepage = https://github.com/svg/svgo;
+      homepage = "https://github.com/svg/svgo";
       license = "MIT";
     };
     production = true;
@@ -102220,14 +103352,14 @@ in
       })
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       (sources."graphlib-2.1.8" // {
         dependencies = [
-          sources."lodash-4.17.20"
+          sources."lodash-4.17.21"
         ];
       })
       sources."growl-1.9.2"
-      (sources."handlebars-4.7.6" // {
+      (sources."handlebars-4.7.7" // {
         dependencies = [
           sources."minimist-1.2.5"
           sources."source-map-0.6.1"
@@ -102295,7 +103427,7 @@ in
       sources."json-refs-2.1.7"
       (sources."json-schema-deref-sync-0.6.0" // {
         dependencies = [
-          sources."lodash-4.17.20"
+          sources."lodash-4.17.21"
         ];
       })
       sources."jsonfile-2.4.0"
@@ -102343,8 +103475,8 @@ in
       sources."methods-1.1.2"
       sources."micromatch-3.1.10"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."mixin-deep-1.3.2"
@@ -102508,7 +103640,7 @@ in
       })
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.3"
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."spark-md5-1.0.1"
       sources."split-string-3.1.0"
       sources."sprintf-js-1.0.3"
@@ -102562,7 +103694,7 @@ in
       sources."swagger-editor-2.10.5"
       (sources."swagger-test-templates-1.6.0" // {
         dependencies = [
-          sources."lodash-4.17.20"
+          sources."lodash-4.17.21"
         ];
       })
       (sources."swagger-tools-0.9.16" // {
@@ -102587,7 +103719,7 @@ in
       sources."truncate-utf8-bytes-1.0.2"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
-      sources."uglify-js-3.12.5"
+      sources."uglify-js-3.12.8"
       sources."undefsafe-2.0.3"
       (sources."union-value-1.0.1" // {
         dependencies = [
@@ -102707,9 +103839,9 @@ in
       sources."jsprim-1.4.1"
       sources."locate-path-3.0.0"
       sources."long-4.0.0"
-      sources."mime-2.5.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-2.5.2"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimist-1.2.5"
       sources."module-alias-2.2.2"
       sources."moment-2.29.1"
@@ -102787,7 +103919,7 @@ in
       sources."errno-0.1.8"
       sources."fs.realpath-1.0.0"
       sources."glob-7.1.6"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."isarray-1.0.0"
@@ -102819,29 +103951,29 @@ in
   textlint = nodeEnv.buildNodePackage {
     name = "textlint";
     packageName = "textlint";
-    version = "11.8.1";
+    version = "11.8.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/textlint/-/textlint-11.8.1.tgz";
-      sha512 = "FlXzJrR008O/H/ynCTVQnsaW2kX2I1zb/rIxkn0HIAoNxU/A4au+P4QJkeDg7FRE6h8qdlZjrXHx79MfSTWzDw==";
+      url = "https://registry.npmjs.org/textlint/-/textlint-11.8.2.tgz";
+      sha512 = "YrTGagGzWKXYw6VjW4uhJ1y7LoW8zqWZIr8sWgeQVIFE84+G/cHPoZ8RhFlia+RZ4YryZPNOqevuF4vG+dbKNQ==";
     };
     dependencies = [
       sources."@azu/format-text-1.0.1"
       sources."@azu/style-format-1.0.0"
       sources."@textlint/ast-node-types-4.4.1"
-      sources."@textlint/ast-tester-2.3.1"
-      sources."@textlint/ast-traverse-2.3.1"
-      sources."@textlint/feature-flag-3.3.1"
-      sources."@textlint/fixer-formatter-3.3.1"
-      sources."@textlint/kernel-3.4.1"
-      sources."@textlint/linter-formatter-3.3.1"
-      sources."@textlint/markdown-to-ast-6.3.1"
-      sources."@textlint/module-interop-1.2.1"
-      sources."@textlint/source-code-fixer-3.4.1"
-      sources."@textlint/text-to-ast-3.3.1"
-      sources."@textlint/textlint-plugin-markdown-5.3.1"
-      sources."@textlint/textlint-plugin-text-4.3.1"
-      sources."@textlint/types-1.5.1"
-      sources."@textlint/utils-1.2.1"
+      sources."@textlint/ast-tester-2.3.2"
+      sources."@textlint/ast-traverse-2.3.2"
+      sources."@textlint/feature-flag-3.3.2"
+      sources."@textlint/fixer-formatter-3.3.2"
+      sources."@textlint/kernel-3.4.2"
+      sources."@textlint/linter-formatter-3.3.2"
+      sources."@textlint/markdown-to-ast-6.3.2"
+      sources."@textlint/module-interop-1.2.2"
+      sources."@textlint/source-code-fixer-3.4.2"
+      sources."@textlint/text-to-ast-3.3.2"
+      sources."@textlint/textlint-plugin-markdown-5.3.2"
+      sources."@textlint/textlint-plugin-text-4.3.2"
+      sources."@textlint/types-1.5.2"
+      sources."@textlint/utils-1.2.2"
       sources."ajv-4.11.8"
       sources."ajv-keywords-1.5.1"
       sources."ansi-regex-2.1.1"
@@ -102887,13 +104019,13 @@ in
       sources."format-0.2.2"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."get-stdin-5.0.1"
       sources."glob-7.1.6"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."hosted-git-info-2.8.8"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -102909,7 +104041,7 @@ in
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-hexadecimal-1.0.4"
       sources."is-plain-obj-1.1.0"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-utf8-0.2.1"
       sources."is-whitespace-character-1.0.4"
       sources."is-word-character-1.0.4"
@@ -102917,12 +104049,12 @@ in
       sources."js-yaml-3.14.1"
       sources."json-parse-better-errors-1.0.2"
       sources."json-stable-stringify-1.0.1"
-      sources."json5-2.1.3"
+      sources."json5-2.2.0"
       sources."jsonify-0.0.0"
       sources."levn-0.4.1"
       sources."load-json-file-1.1.0"
       sources."locate-path-2.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."log-symbols-1.0.2"
       sources."map-like-2.0.0"
       sources."markdown-escapes-1.0.4"
@@ -102933,7 +104065,7 @@ in
       sources."ms-2.1.2"
       sources."normalize-package-data-2.5.0"
       sources."number-is-nan-1.0.1"
-      sources."object-is-1.1.4"
+      sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       sources."once-1.4.0"
       sources."optionator-0.9.1"
@@ -102972,7 +104104,7 @@ in
       sources."repeat-string-1.6.1"
       sources."replace-ext-1.0.0"
       sources."require-from-string-2.0.2"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."rimraf-2.6.3"
       sources."safe-buffer-5.1.2"
       sources."semver-5.7.1"
@@ -103036,7 +104168,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "The pluggable linting tool for text and markdown.";
-      homepage = https://github.com/textlint/textlint/;
+      homepage = "https://github.com/textlint/textlint/";
       license = "MIT";
     };
     production = true;
@@ -103058,7 +104190,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Latex plugin for [textlint](https://github.com/textlint/textlint &#34;textlint&#34;).";
-      homepage = https://github.com/elzup/textlint-plugin-latex;
+      homepage = "https://github.com/elzup/textlint-plugin-latex";
       license = "MIT";
     };
     production = true;
@@ -103077,9 +104209,9 @@ in
       sources."call-bind-1.0.2"
       sources."define-properties-1.1.3"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."has-1.0.3"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."match-index-1.0.3"
       sources."object-keys-1.1.1"
       sources."regexp.prototype.flags-1.3.1"
@@ -103087,7 +104219,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "textlint rule check that abbreviations within parentheses.";
-      homepage = https://github.com/azu/textlint-rule-abbr-within-parentheses;
+      homepage = "https://github.com/azu/textlint-rule-abbr-within-parentheses";
       license = "MIT";
     };
     production = true;
@@ -103103,13 +104235,13 @@ in
       sha512 = "z/Xo1WHxAn7eueUbRLXoMNew+R3dzGENPG/yiCt/KT2WgAfRuQ7GeF855kLcnCCqdTnl6W7sYq8TKy+/DLpiqQ==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
+      sources."@babel/code-frame-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      sources."@babel/highlight-7.10.4"
+      sources."@babel/highlight-7.13.8"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@textlint/ast-node-types-4.4.1"
-      sources."@textlint/types-1.5.1"
+      sources."@textlint/types-1.5.2"
       sources."@types/hast-2.3.1"
       sources."@types/minimist-1.2.1"
       sources."@types/normalize-package-data-2.4.0"
@@ -103219,7 +104351,7 @@ in
         ];
       })
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
@@ -103366,7 +104498,7 @@ in
       sources."remark-retext-4.0.0"
       sources."remark-stringify-8.1.1"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."resolve-from-5.0.0"
       sources."responselike-1.0.2"
       sources."retext-english-3.0.4"
@@ -103405,7 +104537,7 @@ in
       sources."sprintf-js-1.0.3"
       sources."state-toggle-1.0.3"
       sources."stream-combiner-0.0.4"
-      (sources."string-width-4.2.0" // {
+      (sources."string-width-4.2.2" // {
         dependencies = [
           sources."ansi-regex-5.0.0"
           sources."emoji-regex-8.0.0"
@@ -103445,7 +104577,7 @@ in
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
       sources."unherit-1.1.3"
-      (sources."unified-9.2.0" // {
+      (sources."unified-9.2.1" // {
         dependencies = [
           sources."is-plain-obj-2.1.0"
         ];
@@ -103456,7 +104588,7 @@ in
           sources."is-plain-obj-2.1.0"
         ];
       })
-      sources."unified-message-control-3.0.2"
+      sources."unified-message-control-3.0.3"
       sources."unique-string-2.0.0"
       sources."unist-util-inspect-5.0.1"
       sources."unist-util-is-4.0.4"
@@ -103502,7 +104634,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "textlint rule for alex";
-      homepage = https://github.com/textlint-rule/textlint-rule-alex;
+      homepage = "https://github.com/textlint-rule/textlint-rule-alex";
       license = "MIT";
     };
     production = true;
@@ -103527,7 +104659,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "textlint rule to check common misspellings";
-      homepage = https://github.com/io-monad/textlint-rule-common-misspellings;
+      homepage = "https://github.com/io-monad/textlint-rule-common-misspellings";
       license = "GPL-3.0";
     };
     production = true;
@@ -103549,7 +104681,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Textlint rule to check correct usage of diacritics";
-      homepage = https://github.com/sapegin/textlint-rule-diacritics;
+      homepage = "https://github.com/sapegin/textlint-rule-diacritics";
       license = "MIT";
     };
     production = true;
@@ -103586,7 +104718,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "textlint rule that specify the maximum word count of a sentence.";
-      homepage = https://github.com/azu/textlint-rule-en-max-word-count;
+      homepage = "https://github.com/azu/textlint-rule-en-max-word-count";
       license = "MIT";
     };
     production = true;
@@ -103640,7 +104772,7 @@ in
     };
     dependencies = [
       sources."@textlint/ast-node-types-4.4.1"
-      sources."@textlint/types-1.5.1"
+      sources."@textlint/types-1.5.2"
       sources."boundary-1.0.1"
       sources."buffer-from-1.1.1"
       sources."call-bind-1.0.2"
@@ -103649,25 +104781,25 @@ in
       sources."es-abstract-1.18.0-next.2"
       sources."es-to-primitive-1.2.1"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."has-1.0.3"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."inherits-2.0.4"
-      sources."is-callable-1.2.2"
+      sources."is-callable-1.2.3"
       sources."is-date-object-1.0.2"
       sources."is-negative-zero-2.0.1"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-symbol-1.0.3"
       sources."object-assign-4.1.1"
       sources."object-inspect-1.9.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
-      sources."object.values-1.1.2"
+      sources."object.values-1.1.3"
       sources."readable-stream-3.6.0"
       sources."safe-buffer-5.2.1"
       sources."sentence-splitter-3.2.0"
-      sources."string.prototype.trimend-1.0.3"
-      sources."string.prototype.trimstart-1.0.3"
+      sources."string.prototype.trimend-1.0.4"
+      sources."string.prototype.trimstart-1.0.4"
       sources."string_decoder-1.3.0"
       sources."structured-source-3.0.2"
       sources."textlint-rule-helper-2.1.1"
@@ -103680,7 +104812,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "textlint rule that check no start with duplicated conjunction.";
-      homepage = https://github.com/textlint-rule/textlint-rule-no-start-duplicated-conjunction;
+      homepage = "https://github.com/textlint-rule/textlint-rule-no-start-duplicated-conjunction";
       license = "MIT";
     };
     production = true;
@@ -103705,23 +104837,23 @@ in
       sources."es-abstract-1.17.7"
       sources."es-to-primitive-1.2.1"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."has-1.0.3"
-      sources."has-symbols-1.0.1"
-      sources."is-callable-1.2.2"
+      sources."has-symbols-1.0.2"
+      sources."is-callable-1.2.3"
       sources."is-date-object-1.0.2"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-symbol-1.0.3"
       sources."object-inspect-1.9.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
-      sources."string.prototype.trimend-1.0.3"
-      sources."string.prototype.trimstart-1.0.3"
+      sources."string.prototype.trimend-1.0.4"
+      sources."string.prototype.trimstart-1.0.4"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "textlint rule that check with or without period in list item.";
-      homepage = https://github.com/textlint-rule/textlint-rule-period-in-list-item;
+      homepage = "https://github.com/textlint-rule/textlint-rule-period-in-list-item";
       license = "MIT";
     };
     production = true;
@@ -103738,9 +104870,9 @@ in
     };
     dependencies = [
       sources."@textlint/ast-node-types-4.4.1"
-      sources."@textlint/types-1.5.1"
+      sources."@textlint/types-1.5.2"
       sources."boundary-1.0.1"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."split-lines-2.0.0"
       sources."structured-source-3.0.2"
       sources."textlint-rule-helper-2.1.1"
@@ -103751,7 +104883,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Textlint rule to find filler words, buzzwords and chiches";
-      homepage = https://github.com/sapegin/textlint-rule-stop-words;
+      homepage = "https://github.com/sapegin/textlint-rule-stop-words";
       license = "MIT";
     };
     production = true;
@@ -103768,9 +104900,9 @@ in
     };
     dependencies = [
       sources."@textlint/ast-node-types-4.4.1"
-      sources."@textlint/types-1.5.1"
+      sources."@textlint/types-1.5.2"
       sources."boundary-1.0.1"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."strip-json-comments-3.1.1"
       sources."structured-source-3.0.2"
       sources."textlint-rule-helper-2.1.1"
@@ -103781,7 +104913,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "TextLint rule to check correct terms spelling";
-      homepage = https://github.com/sapegin/textlint-rule-terminology;
+      homepage = "https://github.com/sapegin/textlint-rule-terminology";
       license = "MIT";
     };
     production = true;
@@ -103797,32 +104929,32 @@ in
       sha512 = "F1kV06CdonOM2awtXjCSRYUsRJfDfZIujQQo4zEMqNqD6UwpkapxpZOiwcwbeaQz00+17ljbJEoGqIe2XeiU+w==";
     };
     dependencies = [
-      sources."array-includes-3.1.2"
+      sources."array-includes-3.1.3"
       sources."call-bind-1.0.2"
       sources."define-properties-1.1.3"
       sources."es-abstract-1.18.0-next.2"
       sources."es-to-primitive-1.2.1"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."has-1.0.3"
-      sources."has-symbols-1.0.1"
-      sources."is-callable-1.2.2"
+      sources."has-symbols-1.0.2"
+      sources."is-callable-1.2.3"
       sources."is-capitalized-1.0.0"
       sources."is-date-object-1.0.2"
       sources."is-negative-zero-2.0.1"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-string-1.0.5"
       sources."is-symbol-1.0.3"
       sources."object-inspect-1.9.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
-      sources."string.prototype.trimend-1.0.3"
-      sources."string.prototype.trimstart-1.0.3"
+      sources."string.prototype.trimend-1.0.4"
+      sources."string.prototype.trimstart-1.0.4"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "textlint rule that check unexpanded acronym word.";
-      homepage = https://github.com/textlint-rule/textlint-rule-unexpanded-acronym;
+      homepage = "https://github.com/textlint-rule/textlint-rule-unexpanded-acronym";
       license = "MIT";
     };
     production = true;
@@ -103839,16 +104971,16 @@ in
     };
     dependencies = [
       sources."@textlint/ast-node-types-4.4.1"
-      sources."@textlint/types-1.5.1"
+      sources."@textlint/types-1.5.2"
       sources."adverb-where-0.0.9"
       sources."boundary-1.0.1"
       sources."call-bind-1.0.2"
       sources."define-properties-1.1.3"
       sources."e-prime-0.10.4"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."has-1.0.3"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."no-cliches-0.1.1"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
@@ -103865,7 +104997,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "textlint rule to check your English style with write good";
-      homepage = https://github.com/textlint-rule/textlint-rule-write-good;
+      homepage = "https://github.com/textlint-rule/textlint-rule-write-good";
       license = "MIT";
     };
     production = true;
@@ -103888,7 +105020,7 @@ in
       sources."@types/debug-4.1.5"
       sources."@types/http-cache-semantics-4.0.0"
       sources."@types/keyv-3.1.1"
-      sources."@types/node-14.14.22"
+      sources."@types/node-14.14.31"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -103931,7 +105063,7 @@ in
       sources."better-assert-1.0.2"
       sources."blob-0.0.5"
       sources."block-stream-0.0.9"
-      sources."bn.js-4.11.9"
+      sources."bn.js-4.12.0"
       sources."body-parser-1.19.0"
       sources."boolbase-1.0.0"
       sources."brace-expansion-1.1.11"
@@ -103964,7 +105096,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.8.3"
+      sources."core-js-3.9.1"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -103976,7 +105108,7 @@ in
         ];
       })
       sources."deep-extend-0.6.0"
-      sources."defer-to-connect-2.0.0"
+      sources."defer-to-connect-2.0.1"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."depd-1.1.2"
@@ -104041,7 +105173,7 @@ in
       sources."getpass-0.1.7"
       sources."glob-7.1.6"
       sources."got-11.5.2"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."grapheme-splitter-1.0.4"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
@@ -104057,7 +105189,7 @@ in
         ];
       })
       sources."http-signature-1.2.0"
-      sources."http2-wrapper-1.0.0-beta.5.2"
+      sources."http2-wrapper-1.0.3"
       sources."http_ece-1.1.0"
       (sources."https-proxy-agent-5.0.0" // {
         dependencies = [
@@ -104303,7 +105435,7 @@ in
       sources."wide-align-1.1.3"
       sources."with-open-file-0.1.7"
       sources."wrappy-1.0.2"
-      sources."ws-7.4.2"
+      sources."ws-7.4.3"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."yallist-3.1.1"
       sources."yarn-1.22.4"
@@ -104312,7 +105444,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "The self-hosted Web IRC client";
-      homepage = https://thelounge.chat/;
+      homepage = "https://thelounge.chat/";
       license = "MIT";
     };
     production = true;
@@ -104322,15 +105454,15 @@ in
   three = nodeEnv.buildNodePackage {
     name = "three";
     packageName = "three";
-    version = "0.124.0";
+    version = "0.126.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/three/-/three-0.124.0.tgz";
-      sha512 = "ROXp1Ly7YyF+jC910DQyAWj++Qlw2lQv0qwYLNQwdDbjk4bsOXAfGO92wYTMPNei1GMJUmCxSxc3MjGBTS09Rg==";
+      url = "https://registry.npmjs.org/three/-/three-0.126.0.tgz";
+      sha512 = "/MecvboUefStCkUfXLImoJxthN+FoLPcEP7pz1r1Dd9i8BPGGuj+S1sOPRvW4Z+ViZjP2oWWm1inNC/MT52ybA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
       description = "JavaScript 3D library";
-      homepage = https://threejs.org/;
+      homepage = "https://threejs.org/";
       license = "MIT";
     };
     production = true;
@@ -104402,7 +105534,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."getpass-0.1.7"
       sources."glob-7.1.6"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."http-signature-1.2.0"
@@ -104422,10 +105554,10 @@ in
       })
       sources."jsprim-1.4.1"
       sources."keypress-0.2.1"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lru-cache-6.0.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimatch-3.0.4"
       (sources."node-appc-1.1.2" // {
         dependencies = [
@@ -104543,7 +105675,7 @@ in
         ];
       })
       sources."keep-alive-agent-0.0.1"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       (sources."lomstream-1.1.0" // {
         dependencies = [
           sources."assert-plus-0.1.5"
@@ -104672,7 +105804,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Joyent Triton CLI and client (https://www.joyent.com/triton)";
-      homepage = https://github.com/joyent/node-triton;
+      homepage = "https://github.com/joyent/node-triton";
       license = "MPL-2.0";
     };
     production = true;
@@ -104721,7 +105853,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "TSUN: a repl for TypeScript Upgraded Node";
-      homepage = https://github.com/HerringtonDarkholme/typescript-repl;
+      homepage = "https://github.com/HerringtonDarkholme/typescript-repl";
       license = "MIT";
     };
     production = true;
@@ -104754,15 +105886,15 @@ in
   typescript = nodeEnv.buildNodePackage {
     name = "typescript";
     packageName = "typescript";
-    version = "4.1.3";
+    version = "4.2.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz";
-      sha512 = "B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==";
+      url = "https://registry.npmjs.org/typescript/-/typescript-4.2.2.tgz";
+      sha512 = "tbb+NVrLfnsJy3M59lsDgrzWIflR4d4TIUjz+heUnHZwdF7YsrMTKoRERiIvI2lvBG95dfpLxB21WZhys1bgaQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
       description = "TypeScript is a language for application scale JavaScript development";
-      homepage = https://www.typescriptlang.org/;
+      homepage = "https://www.typescriptlang.org/";
       license = "Apache-2.0";
     };
     production = true;
@@ -104782,7 +105914,7 @@ in
       sources."commander-2.20.3"
       sources."crypto-random-string-1.0.0"
       sources."fs-extra-7.0.1"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."jsonfile-4.0.0"
       sources."p-debounce-1.0.0"
       sources."temp-dir-1.0.0"
@@ -104809,10 +105941,10 @@ in
   uglify-js = nodeEnv.buildNodePackage {
     name = "uglify-js";
     packageName = "uglify-js";
-    version = "3.12.5";
+    version = "3.12.8";
     src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.5.tgz";
-      sha512 = "SgpgScL4T7Hj/w/GexjnBHi3Ien9WS1Rpfg5y91WXMj9SY997ZCQU76mH4TpLwwfmMvoOU8wiaRkIf6NaH3mtg==";
+      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.8.tgz";
+      sha512 = "fvBeuXOsvqjecUtF/l1dwsrrf5y2BCUk9AOJGzGcm6tE7vegku5u/YvqjyDaAGr422PLoLnrxg3EnRvTqsdC1w==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -104857,8 +105989,8 @@ in
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/component-emitter-1.2.10"
       sources."@types/cookie-0.4.0"
-      sources."@types/cors-2.8.9"
-      sources."@types/node-14.14.22"
+      sources."@types/cors-2.8.10"
+      sources."@types/node-14.14.31"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.7"
       sources."ansi-regex-5.0.0"
@@ -104978,7 +106110,7 @@ in
       sources."kuler-2.0.0"
       sources."latest-version-5.1.0"
       sources."locks-0.2.2"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       (sources."logform-2.2.0" // {
         dependencies = [
           sources."ms-2.1.3"
@@ -104987,7 +106119,7 @@ in
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-4.1.5"
       sources."media-typer-0.3.0"
-      (sources."memorystore-1.6.4" // {
+      (sources."memorystore-1.6.5" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."ms-2.1.2"
@@ -104996,8 +106128,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
@@ -105078,7 +106210,7 @@ in
       })
       sources."stack-trace-0.0.10"
       sources."statuses-1.5.0"
-      sources."string-width-4.2.0"
+      sources."string-width-4.2.2"
       (sources."string_decoder-1.3.0" // {
         dependencies = [
           sources."safe-buffer-5.2.1"
@@ -105112,11 +106244,11 @@ in
       })
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
-      sources."ws-7.4.2"
+      sources."ws-7.4.3"
       sources."y18n-5.0.5"
       sources."yallist-2.1.2"
       sources."yargs-16.2.0"
-      sources."yargs-parser-20.2.4"
+      sources."yargs-parser-20.2.6"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -105150,7 +106282,7 @@ in
         dependencies = [
           sources."ansi-regex-5.0.0"
           sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.0"
+          sources."string-width-4.2.2"
           sources."strip-ansi-6.0.0"
         ];
       })
@@ -105232,7 +106364,7 @@ in
       sources."rc-1.2.8"
       sources."readable-stream-2.3.7"
       sources."require-directory-2.1.1"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."rimraf-2.7.1"
       sources."rw-1.3.3"
       sources."safe-buffer-5.1.2"
@@ -105285,7 +106417,7 @@ in
         dependencies = [
           sources."ansi-regex-5.0.0"
           sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.0"
+          sources."string-width-4.2.2"
           sources."strip-ansi-6.0.0"
         ];
       })
@@ -105296,11 +106428,11 @@ in
         dependencies = [
           sources."ansi-regex-5.0.0"
           sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.0"
+          sources."string-width-4.2.2"
           sources."strip-ansi-6.0.0"
         ];
       })
-      sources."yargs-parser-20.2.4"
+      sources."yargs-parser-20.2.6"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -105315,10 +106447,10 @@ in
   vega-lite = nodeEnv.buildNodePackage {
     name = "vega-lite";
     packageName = "vega-lite";
-    version = "4.17.0";
+    version = "5.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/vega-lite/-/vega-lite-4.17.0.tgz";
-      sha512 = "MO2XsaVZqx6iWWmVA5vwYFamvhRUsKfVp7n0pNlkZ2/21cuxelSl92EePZ2YGmzL6z4/3K7r/45zaG8p+qNHeg==";
+      url = "https://registry.npmjs.org/vega-lite/-/vega-lite-5.0.0.tgz";
+      sha512 = "CrMAy3D2E662qtShrOeGttwwthRxUOZUfdu39THyxkOfLNJBCLkNjfQpFekEidxwbtFTO1zMZzyFIP3AE2I8kQ==";
     };
     dependencies = [
       sources."@types/clone-2.1.0"
@@ -105336,23 +106468,23 @@ in
       sources."fast-json-stable-stringify-2.1.0"
       sources."get-caller-file-2.0.5"
       sources."is-fullwidth-code-point-3.0.0"
-      sources."json-stringify-pretty-compact-2.0.0"
+      sources."json-stringify-pretty-compact-3.0.0"
       sources."require-directory-2.1.1"
-      sources."string-width-4.2.0"
+      sources."string-width-4.2.2"
       sources."strip-ansi-6.0.0"
-      sources."tslib-2.0.3"
+      sources."tslib-2.1.0"
       sources."vega-event-selector-2.0.6"
-      sources."vega-expression-3.0.1"
+      sources."vega-expression-4.0.1"
       sources."vega-util-1.16.0"
       sources."wrap-ansi-7.0.0"
       sources."y18n-5.0.5"
-      sources."yargs-16.0.3"
-      sources."yargs-parser-20.2.4"
+      sources."yargs-16.2.0"
+      sources."yargs-parser-20.2.6"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "Vega-Lite is a concise high-level language for interactive visualization.";
-      homepage = https://vega.github.io/vega-lite/;
+      homepage = "https://vega.github.io/vega-lite/";
       license = "BSD-3-Clause";
     };
     production = true;
@@ -105446,10 +106578,10 @@ in
   vscode-json-languageserver = nodeEnv.buildNodePackage {
     name = "vscode-json-languageserver";
     packageName = "vscode-json-languageserver";
-    version = "1.3.1";
+    version = "1.3.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/vscode-json-languageserver/-/vscode-json-languageserver-1.3.1.tgz";
-      sha512 = "yP75lCPSZVkFUfA0pUA9yKu2OumueIIaht5i9c7XVwwm08PMt1GMDI8RNv/fPkUjU9uBnb5bJW20BHxWBATgrA==";
+      url = "https://registry.npmjs.org/vscode-json-languageserver/-/vscode-json-languageserver-1.3.4.tgz";
+      sha512 = "+ghebnslXk6fVDySBrT0BVqozLDdmKY/qxgkDD4JtOQcU2vXc3e7jh7YyMxvuvE93E9OLvBqUrvajttj8xf3BA==";
     };
     dependencies = [
       sources."agent-base-4.3.0"
@@ -105458,22 +106590,21 @@ in
       sources."es6-promisify-5.0.0"
       sources."http-proxy-agent-2.1.0"
       sources."https-proxy-agent-2.2.4"
-      sources."jsonc-parser-2.3.1"
+      sources."jsonc-parser-3.0.0"
       sources."ms-2.0.0"
-      sources."request-light-0.3.0"
-      (sources."vscode-json-languageservice-3.11.0" // {
+      sources."request-light-0.4.0"
+      (sources."vscode-json-languageservice-4.0.2" // {
         dependencies = [
-          sources."jsonc-parser-3.0.0"
           sources."vscode-nls-5.0.0"
         ];
       })
-      sources."vscode-jsonrpc-6.0.0-next.2"
-      sources."vscode-languageserver-7.0.0-next.3"
-      sources."vscode-languageserver-protocol-3.16.0-next.4"
+      sources."vscode-jsonrpc-6.0.0"
+      sources."vscode-languageserver-7.0.0"
+      sources."vscode-languageserver-protocol-3.16.0"
       sources."vscode-languageserver-textdocument-1.0.1"
-      sources."vscode-languageserver-types-3.16.0-next.2"
+      sources."vscode-languageserver-types-3.16.0"
       sources."vscode-nls-4.1.2"
-      sources."vscode-uri-2.1.2"
+      sources."vscode-uri-3.0.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -105538,13 +106669,13 @@ in
   "vscode-lldb-build-deps-../../misc/vscode-extensions/vscode-lldb/build-deps" = nodeEnv.buildNodePackage {
     name = "vscode-lldb";
     packageName = "vscode-lldb";
-    version = "1.5.3";
+    version = "1.6.1";
     src = ../../misc/vscode-extensions/vscode-lldb/build-deps;
     dependencies = [
       sources."@types/json5-0.0.30"
       sources."@types/mocha-7.0.2"
       sources."@types/node-8.10.66"
-      sources."@types/vscode-1.52.0"
+      sources."@types/vscode-1.53.0"
       sources."@types/yauzl-2.9.1"
       sources."@webassemblyjs/ast-1.9.0"
       sources."@webassemblyjs/floating-point-hex-parser-1.9.0"
@@ -105582,7 +106713,7 @@ in
       sources."array-unique-0.3.2"
       (sources."asn1.js-5.4.1" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       (sources."assert-1.5.0" // {
@@ -105606,7 +106737,7 @@ in
       sources."binary-extensions-2.2.0"
       sources."bindings-1.5.0"
       sources."bluebird-3.7.2"
-      sources."bn.js-5.1.3"
+      sources."bn.js-5.2.0"
       sources."boolbase-1.0.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
@@ -105698,7 +106829,7 @@ in
       sources."core-util-is-1.0.2"
       (sources."create-ecdh-4.0.4" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."create-hash-1.2.0"
@@ -105719,7 +106850,7 @@ in
       sources."diff-3.5.0"
       (sources."diffie-hellman-5.0.3" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."dom-serializer-1.2.0"
@@ -105734,15 +106865,22 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      (sources."elliptic-6.5.3" // {
+      (sources."elliptic-6.5.4" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."emoji-regex-7.0.3"
       sources."emojis-list-3.0.0"
       sources."end-of-stream-1.4.4"
-      sources."enhanced-resolve-4.5.0"
+      (sources."enhanced-resolve-4.5.0" // {
+        dependencies = [
+          sources."isarray-1.0.0"
+          sources."memory-fs-0.5.0"
+          sources."readable-stream-2.3.7"
+          sources."string_decoder-1.1.1"
+        ];
+      })
       sources."entities-2.1.0"
       sources."errno-0.1.8"
       (sources."es-abstract-1.18.0-next.2" // {
@@ -105760,7 +106898,7 @@ in
         ];
       })
       sources."estraverse-4.3.0"
-      sources."events-3.2.0"
+      sources."events-3.3.0"
       sources."evp_bytestokey-1.0.3"
       (sources."expand-brackets-2.1.4" // {
         dependencies = [
@@ -105803,18 +106941,7 @@ in
       sources."fill-range-7.0.1"
       sources."find-cache-dir-2.1.0"
       sources."find-up-3.0.0"
-      (sources."findup-sync-3.0.0" // {
-        dependencies = [
-          sources."braces-2.3.2"
-          sources."extend-shallow-2.0.1"
-          sources."fill-range-4.0.0"
-          sources."is-buffer-1.1.6"
-          sources."is-number-3.0.0"
-          sources."kind-of-3.2.2"
-          sources."micromatch-3.1.10"
-          sources."to-regex-range-2.1.1"
-        ];
-      })
+      sources."findup-sync-3.0.0"
       sources."flat-4.1.1"
       (sources."flush-write-stream-1.1.1" // {
         dependencies = [
@@ -105837,7 +106964,7 @@ in
       sources."fsevents-2.1.3"
       sources."function-bind-1.1.1"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."get-value-2.0.6"
       sources."glob-7.1.3"
       sources."glob-parent-5.1.1"
@@ -105847,11 +106974,11 @@ in
         ];
       })
       sources."global-prefix-1.0.2"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."growl-1.10.5"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -105889,7 +107016,7 @@ in
       sources."is-accessor-descriptor-1.0.0"
       sources."is-binary-path-2.1.0"
       sources."is-buffer-2.0.5"
-      sources."is-callable-1.2.2"
+      sources."is-callable-1.2.3"
       sources."is-data-descriptor-1.0.0"
       sources."is-date-object-1.0.2"
       sources."is-descriptor-1.0.2"
@@ -105900,7 +107027,7 @@ in
       sources."is-negative-zero-2.0.1"
       sources."is-number-7.0.0"
       sources."is-plain-object-2.0.4"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-symbol-1.0.3"
       sources."is-windows-1.0.2"
       sources."is-wsl-1.1.0"
@@ -105910,18 +107037,14 @@ in
       sources."js-yaml-3.13.1"
       sources."json-parse-better-errors-1.0.2"
       sources."json-schema-traverse-0.4.1"
-      sources."json5-2.1.3"
+      sources."json5-1.0.1"
       sources."kind-of-6.0.3"
       sources."leven-3.1.0"
       sources."linkify-it-2.2.0"
       sources."loader-runner-2.4.0"
-      (sources."loader-utils-1.4.0" // {
-        dependencies = [
-          sources."json5-1.0.1"
-        ];
-      })
+      sources."loader-utils-1.4.0"
       sources."locate-path-3.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."log-symbols-3.0.0"
       sources."lru-cache-5.1.1"
       sources."make-dir-2.1.0"
@@ -105934,7 +107057,7 @@ in
       })
       sources."md5.js-1.3.5"
       sources."mdurl-1.0.1"
-      (sources."memory-fs-0.5.0" // {
+      (sources."memory-fs-0.4.1" // {
         dependencies = [
           sources."isarray-1.0.0"
           sources."readable-stream-2.3.7"
@@ -105942,10 +107065,30 @@ in
         ];
       })
       sources."memory-streams-0.1.3"
-      sources."micromatch-4.0.2"
+      (sources."micromatch-3.1.10" // {
+        dependencies = [
+          (sources."braces-2.3.2" // {
+            dependencies = [
+              sources."extend-shallow-2.0.1"
+            ];
+          })
+          (sources."fill-range-4.0.0" // {
+            dependencies = [
+              sources."extend-shallow-2.0.1"
+            ];
+          })
+          sources."is-buffer-1.1.6"
+          (sources."is-number-3.0.0" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."to-regex-range-2.1.1"
+        ];
+      })
       (sources."miller-rabin-4.0.1" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."mime-1.6.0"
@@ -106003,7 +107146,7 @@ in
       sources."object-keys-1.1.1"
       sources."object-visit-1.0.1"
       sources."object.assign-4.1.0"
-      sources."object.getownpropertydescriptors-2.1.1"
+      sources."object.getownpropertydescriptors-2.1.2"
       sources."object.pick-1.3.0"
       sources."once-1.4.0"
       sources."os-0.1.1"
@@ -106045,7 +107188,7 @@ in
       sources."prr-1.0.1"
       (sources."public-encrypt-4.0.3" // {
         dependencies = [
-          sources."bn.js-4.11.9"
+          sources."bn.js-4.12.0"
         ];
       })
       sources."pump-3.0.0"
@@ -106133,7 +107276,7 @@ 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.0"
+      sources."source-map-url-0.4.1"
       sources."split-string-3.1.0"
       sources."sprintf-js-1.0.3"
       sources."ssri-6.0.1"
@@ -106173,8 +107316,8 @@ in
       sources."stream-shift-1.0.1"
       sources."string-argv-0.3.1"
       sources."string-width-2.1.1"
-      sources."string.prototype.trimend-1.0.3"
-      sources."string.prototype.trimstart-1.0.3"
+      sources."string.prototype.trimend-1.0.4"
+      sources."string.prototype.trimstart-1.0.4"
       sources."string_decoder-0.10.31"
       sources."strip-ansi-4.0.0"
       sources."strip-json-comments-2.0.1"
@@ -106206,6 +107349,7 @@ in
       sources."to-regex-range-5.0.1"
       (sources."ts-loader-6.2.2" // {
         dependencies = [
+          sources."micromatch-4.0.2"
           sources."semver-6.3.0"
         ];
       })
@@ -106214,7 +107358,7 @@ in
       sources."tunnel-0.0.4"
       sources."typed-rest-client-1.2.0"
       sources."typedarray-0.0.6"
-      sources."typescript-3.9.7"
+      sources."typescript-3.9.9"
       sources."uc.micro-1.0.6"
       sources."underscore-1.8.3"
       sources."union-value-1.0.1"
@@ -106249,13 +107393,13 @@ in
       sources."util-deprecate-1.0.2"
       sources."v8-compile-cache-2.2.0"
       sources."vm-browserify-1.1.2"
-      sources."vsce-1.84.0"
-      sources."vscode-debugadapter-testsupport-1.43.0"
-      sources."vscode-debugprotocol-1.43.0"
+      sources."vsce-1.85.1"
+      sources."vscode-debugadapter-testsupport-1.45.0"
+      sources."vscode-debugprotocol-1.45.0"
       (sources."watchpack-1.7.5" // {
         dependencies = [
           sources."chokidar-3.5.1"
-          sources."fsevents-2.3.1"
+          sources."fsevents-2.3.2"
           sources."readdirp-3.5.0"
         ];
       })
@@ -106275,7 +107419,6 @@ in
           sources."is-number-3.0.0"
           sources."isarray-1.0.0"
           sources."kind-of-3.2.2"
-          sources."micromatch-3.1.10"
           sources."normalize-path-2.1.1"
           sources."readable-stream-2.3.7"
           sources."readdirp-2.2.1"
@@ -106283,32 +107426,7 @@ in
           sources."to-regex-range-2.1.1"
         ];
       })
-      (sources."webpack-4.46.0" // {
-        dependencies = [
-          (sources."braces-2.3.2" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          (sources."fill-range-4.0.0" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."is-buffer-1.1.6"
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."isarray-1.0.0"
-          sources."memory-fs-0.4.1"
-          sources."micromatch-3.1.10"
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
-          sources."to-regex-range-2.1.1"
-        ];
-      })
+      sources."webpack-4.46.0"
       (sources."webpack-cli-3.3.12" // {
         dependencies = [
           sources."supports-color-6.1.0"
@@ -106330,6 +107448,7 @@ in
       sources."xtend-4.0.2"
       sources."y18n-4.0.1"
       sources."yallist-3.1.1"
+      sources."yaml-1.10.0"
       (sources."yargs-13.3.2" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
@@ -106457,9 +107576,9 @@ in
       sources."git-clone-0.1.0"
       sources."glob-7.1.6"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."gray-matter-2.1.1"
-      sources."handlebars-4.7.6"
+      sources."handlebars-4.7.7"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       (sources."has-ansi-2.0.0" // {
@@ -106499,7 +107618,7 @@ in
       sources."jsonfile-2.4.0"
       sources."jsprim-1.4.1"
       sources."klaw-1.3.1"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."log-symbols-2.2.0"
       sources."lowercase-keys-1.0.1"
       (sources."make-dir-1.3.0" // {
@@ -106516,8 +107635,8 @@ in
           sources."supports-color-2.0.0"
         ];
       })
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
@@ -106560,7 +107679,7 @@ in
       sources."restore-cursor-2.0.0"
       sources."rimraf-2.7.1"
       sources."run-async-2.4.1"
-      sources."rxjs-6.6.3"
+      sources."rxjs-6.6.6"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."seek-bzip-1.0.6"
@@ -106602,7 +107721,7 @@ in
       sources."tslib-1.14.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."uglify-js-3.12.5"
+      sources."uglify-js-3.12.8"
       sources."uid-0.0.2"
       sources."unbzip2-stream-1.4.3"
       sources."unyield-0.0.1"
@@ -106643,9 +107762,9 @@ in
       sha512 = "/dd2bJLxOmX8Ie0EPTlmU+F8cxAekn/1m8K9OAFoijm4fc8SdHznFUUEKuz2RMMhsaL5+rccj8xLFAJELYNbaA==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
+      sources."@babel/code-frame-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      sources."@babel/highlight-7.10.4"
+      sources."@babel/highlight-7.13.8"
       sources."@emmetio/extract-abbreviation-0.1.6"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
@@ -106661,7 +107780,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-14.14.22"
+      sources."@types/node-14.14.31"
       sources."@types/unist-2.0.3"
       sources."@types/vfile-3.0.2"
       sources."@types/vfile-message-2.0.0"
@@ -106861,7 +107980,7 @@ in
           sources."eslint-scope-5.1.1"
           sources."espree-6.2.1"
           sources."ms-2.1.2"
-          sources."vue-eslint-parser-7.4.1"
+          sources."vue-eslint-parser-7.5.0"
         ];
       })
       sources."eslint-scope-4.0.3"
@@ -106869,7 +107988,7 @@ in
       sources."eslint-visitor-keys-1.3.0"
       sources."espree-5.0.1"
       sources."esprima-4.0.1"
-      (sources."esquery-1.3.1" // {
+      (sources."esquery-1.4.0" // {
         dependencies = [
           sources."estraverse-5.2.0"
         ];
@@ -106936,7 +108055,7 @@ in
       sources."format-0.2.2"
       sources."fragment-cache-0.2.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.3.1"
+      sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
       sources."functional-red-black-tree-1.0.1"
       sources."get-caller-file-1.0.3"
@@ -106957,7 +108076,7 @@ in
           sources."get-stream-4.1.0"
         ];
       })
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."gridsome-helper-json-1.0.3"
       sources."has-1.0.3"
       (sources."has-ansi-2.0.0" // {
@@ -107055,7 +108174,7 @@ in
       sources."json-parse-better-errors-1.0.2"
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
-      sources."json5-2.1.3"
+      sources."json5-2.2.0"
       sources."jsonc-parser-1.0.3"
       sources."keyv-3.1.0"
       sources."kind-of-6.0.3"
@@ -107065,7 +108184,7 @@ in
       sources."load-json-file-4.0.0"
       sources."load-plugin-2.3.1"
       sources."locate-path-2.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.assign-4.2.0"
       sources."lodash.defaults-4.2.0"
       sources."lodash.iteratee-4.7.0"
@@ -107266,7 +108385,7 @@ in
           sources."resolve-from-1.0.1"
         ];
       })
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."resolve-from-5.0.0"
       sources."resolve-url-0.2.1"
       sources."responselike-1.0.2"
@@ -107276,7 +108395,7 @@ in
       sources."run-async-2.4.1"
       sources."rx-lite-4.0.8"
       sources."rx-lite-aggregates-4.0.8"
-      sources."rxjs-6.6.3"
+      sources."rxjs-6.6.6"
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
@@ -107330,7 +108449,7 @@ in
       })
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.3"
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."space-separated-tokens-1.1.5"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
@@ -107403,7 +108522,7 @@ in
           sources."source-map-0.7.3"
         ];
       })
-      sources."stylus-supremacy-2.14.5"
+      sources."stylus-supremacy-2.15.0"
       sources."supports-color-5.5.0"
       sources."symbol-0.2.3"
       (sources."table-5.4.6" // {
@@ -107435,7 +108554,7 @@ in
       sources."type-check-0.3.2"
       sources."type-fest-0.3.1"
       sources."typedarray-0.0.6"
-      sources."typescript-3.9.7"
+      sources."typescript-3.9.9"
       (sources."typescript-eslint-parser-16.0.1" // {
         dependencies = [
           sources."semver-5.5.0"
@@ -107500,7 +108619,7 @@ in
           sources."ansi-regex-5.0.0"
           sources."emoji-regex-8.0.0"
           sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.0"
+          sources."string-width-4.2.2"
           sources."strip-ansi-6.0.0"
           sources."supports-color-6.1.0"
         ];
@@ -107562,7 +108681,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "vue-language-server";
-      homepage = https://github.com/vuejs/vetur/tree/master/server;
+      homepage = "https://github.com/vuejs/vetur/tree/master/server";
       license = "MIT";
     };
     production = true;
@@ -107578,9 +108697,9 @@ in
       sha512 = "f+NHiYwbTS0X6eSLkBDWoCYkkIJweVazGf4MD8S+kRX/5z40WsYsnRdVWG+p34Z6rCyNvlHHrnO2S1W8WWg7Tw==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
+      sources."@babel/code-frame-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      (sources."@babel/highlight-7.10.4" // {
+      (sources."@babel/highlight-7.13.8" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -107607,7 +108726,7 @@ in
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-14.14.22"
+      sources."@types/node-14.14.31"
       sources."@types/yauzl-2.9.1"
       sources."JSONSelect-0.2.1"
       sources."acorn-7.4.1"
@@ -107680,7 +108799,7 @@ in
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-extensions-2.2.0"
       sources."bindings-1.5.0"
-      sources."bl-4.0.3"
+      sources."bl-4.1.0"
       sources."bluebird-2.9.34"
       sources."boolbase-1.0.0"
       (sources."boxen-4.2.0" // {
@@ -107710,7 +108829,7 @@ in
       sources."cheerio-1.0.0-rc.3"
       (sources."chokidar-3.5.1" // {
         dependencies = [
-          sources."fsevents-2.3.1"
+          sources."fsevents-2.3.2"
         ];
       })
       (sources."chrome-launcher-0.13.4" // {
@@ -107749,7 +108868,7 @@ in
       sources."collection-visit-1.0.0"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."colorette-1.2.1"
+      sources."colorette-1.2.2"
       sources."colors-0.5.1"
       sources."columnify-1.5.4"
       sources."combined-stream-1.0.8"
@@ -107770,7 +108889,7 @@ in
       sources."core-js-2.6.12"
       sources."core-util-is-1.0.2"
       sources."crc-32-1.2.0"
-      sources."crc32-stream-4.0.1"
+      sources."crc32-stream-4.0.2"
       sources."cross-spawn-7.0.3"
       sources."crypto-random-string-2.0.0"
       sources."css-select-1.2.0"
@@ -107840,7 +108959,7 @@ in
         ];
       })
       sources."esprima-4.0.1"
-      (sources."esquery-1.3.1" // {
+      (sources."esquery-1.4.0" // {
         dependencies = [
           sources."estraverse-5.2.0"
         ];
@@ -107939,7 +109058,7 @@ in
         ];
       })
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."get-stream-5.2.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
@@ -107956,14 +109075,14 @@ in
           sources."get-stream-4.1.0"
         ];
       })
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."graceful-readlink-1.0.1"
       sources."growly-1.3.0"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -108011,7 +109130,7 @@ in
       sources."is-obj-2.0.0"
       sources."is-path-inside-3.0.2"
       sources."is-plain-object-2.0.4"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-relative-0.1.3"
       sources."is-stream-2.0.0"
       sources."is-typedarray-1.0.0"
@@ -108063,7 +109182,7 @@ in
       sources."lighthouse-logger-1.2.0"
       sources."lines-and-columns-1.1.6"
       sources."locate-path-5.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.defaults-4.2.0"
       sources."lodash.difference-4.5.0"
       sources."lodash.flatten-4.4.0"
@@ -108108,8 +109227,8 @@ in
           sources."to-regex-range-2.1.1"
         ];
       })
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
@@ -108164,7 +109283,7 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."object-is-1.1.4"
+      sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       sources."object-visit-1.0.1"
       sources."object.pick-1.3.0"
@@ -108313,11 +109432,11 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."sonic-boom-1.3.0"
+      sources."sonic-boom-1.3.2"
       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.0"
+      sources."source-map-url-0.4.1"
       sources."spawn-sync-1.0.15"
       sources."split-0.3.3"
       sources."split-string-3.1.0"
@@ -108343,7 +109462,7 @@ in
       sources."stream-parser-0.3.1"
       sources."stream-to-array-2.3.0"
       sources."stream-to-promise-3.0.0"
-      (sources."string-width-4.2.0" // {
+      (sources."string-width-4.2.2" // {
         dependencies = [
           sources."ansi-regex-5.0.0"
           sources."strip-ansi-6.0.0"
@@ -108483,7 +109602,7 @@ in
           sources."yargs-parser-18.1.3"
         ];
       })
-      sources."yargs-parser-20.2.4"
+      sources."yargs-parser-20.2.6"
       sources."yauzl-2.10.0"
       (sources."zip-dir-1.0.2" // {
         dependencies = [
@@ -108495,7 +109614,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "A command line tool to help build, run, and test web extensions";
-      homepage = https://github.com/mozilla/web-ext;
+      homepage = "https://github.com/mozilla/web-ext";
       license = "MPL-2.0";
     };
     production = true;
@@ -108505,17 +109624,17 @@ in
   webpack = nodeEnv.buildNodePackage {
     name = "webpack";
     packageName = "webpack";
-    version = "5.18.0";
+    version = "5.24.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack/-/webpack-5.18.0.tgz";
-      sha512 = "RmiP/iy6ROvVe/S+u0TrvL/oOmvP+2+Bs8MWjvBwwY/j82Q51XJyDJ75m0QAGntL1Wx6B//Xc0+4VPP/hlNHmw==";
+      url = "https://registry.npmjs.org/webpack/-/webpack-5.24.2.tgz";
+      sha512 = "uxxKYEY4kMNjP+D2Y+8aw5Vd7ar4pMuKCNemxV26ysr1nk0YDiQTylg9U3VZIdkmI0YHa0uC8ABxL+uGxGWWJg==";
     };
     dependencies = [
       sources."@types/eslint-7.2.6"
       sources."@types/eslint-scope-3.7.0"
       sources."@types/estree-0.0.46"
       sources."@types/json-schema-7.0.7"
-      sources."@types/node-14.14.22"
+      sources."@types/node-14.14.31"
       sources."@webassemblyjs/ast-1.11.0"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.0"
       sources."@webassemblyjs/helper-api-error-1.11.0"
@@ -108536,15 +109655,15 @@ in
       sources."acorn-8.0.5"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
-      sources."browserslist-4.16.1"
+      sources."browserslist-4.16.3"
       sources."buffer-from-1.1.1"
-      sources."caniuse-lite-1.0.30001180"
+      sources."caniuse-lite-1.0.30001192"
       sources."chrome-trace-event-1.0.2"
-      sources."colorette-1.2.1"
+      sources."colorette-1.2.2"
       sources."commander-2.20.3"
-      sources."electron-to-chromium-1.3.645"
+      sources."electron-to-chromium-1.3.675"
       sources."enhanced-resolve-5.7.0"
-      sources."es-module-lexer-0.3.26"
+      sources."es-module-lexer-0.4.0"
       sources."escalade-3.1.1"
       sources."eslint-scope-5.1.1"
       (sources."esrecurse-4.3.0" // {
@@ -108553,27 +109672,22 @@ in
         ];
       })
       sources."estraverse-4.3.0"
-      sources."events-3.2.0"
+      sources."events-3.3.0"
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
-      sources."find-up-5.0.0"
       sources."glob-to-regexp-0.4.1"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."has-flag-4.0.0"
       sources."jest-worker-26.6.2"
       sources."json-parse-better-errors-1.0.2"
       sources."json-schema-traverse-0.4.1"
       sources."loader-runner-4.2.0"
-      sources."locate-path-6.0.0"
       sources."merge-stream-2.0.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."neo-async-2.6.2"
-      sources."node-releases-1.1.70"
+      sources."node-releases-1.1.71"
       sources."p-limit-3.1.0"
-      sources."p-locate-5.0.0"
-      sources."path-exists-4.0.0"
-      sources."pkg-dir-5.0.0"
       sources."punycode-2.1.1"
       sources."randombytes-2.1.0"
       sources."safe-buffer-5.2.1"
@@ -108584,7 +109698,7 @@ in
       sources."source-map-support-0.5.19"
       sources."supports-color-7.2.0"
       sources."tapable-2.2.0"
-      (sources."terser-5.5.1" // {
+      (sources."terser-5.6.0" // {
         dependencies = [
           sources."source-map-0.7.3"
         ];
@@ -108592,14 +109706,14 @@ in
       sources."terser-webpack-plugin-5.1.1"
       sources."tslib-1.14.1"
       sources."uri-js-4.4.1"
-      sources."watchpack-2.1.0"
+      sources."watchpack-2.1.1"
       sources."webpack-sources-2.2.0"
       sources."yocto-queue-0.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "Packs CommonJs/AMD modules for the browser. Allows to split your codebase into multiple bundles, which can be loaded on demand. Support loaders to preprocess files, i.e. json, jsx, es7, css, less, ... and your custom stuff.";
-      homepage = https://github.com/webpack/webpack;
+      homepage = "https://github.com/webpack/webpack";
       license = "MIT";
     };
     production = true;
@@ -108609,23 +109723,23 @@ in
   webpack-cli = nodeEnv.buildNodePackage {
     name = "webpack-cli";
     packageName = "webpack-cli";
-    version = "4.4.0";
+    version = "4.5.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.4.0.tgz";
-      sha512 = "/Qh07CXfXEkMu5S8wEpjuaw2Zj/CC0hf/qbTDp6N8N7JjdGuaOjZ7kttz+zhuJO/J5m7alQEhNk9lsc4rC6xgQ==";
+      url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.5.0.tgz";
+      sha512 = "wXg/ef6Ibstl2f50mnkcHblRPN/P9J4Nlod5Hg9HGFgSeF8rsqDGHJeVe4aR26q9l62TUJi6vmvC2Qz96YJw1Q==";
     };
     dependencies = [
       sources."@discoveryjs/json-ext-0.5.2"
-      sources."@webpack-cli/configtest-1.0.0"
-      sources."@webpack-cli/info-1.2.1"
-      sources."@webpack-cli/serve-1.2.2"
+      sources."@webpack-cli/configtest-1.0.1"
+      sources."@webpack-cli/info-1.2.2"
+      sources."@webpack-cli/serve-1.3.0"
       sources."ansi-colors-4.1.1"
       sources."clone-deep-4.0.1"
-      sources."colorette-1.2.1"
-      sources."commander-6.2.1"
+      sources."colorette-1.2.2"
+      sources."commander-7.1.0"
       sources."cross-spawn-7.0.3"
       sources."enquirer-2.3.6"
-      sources."envinfo-7.7.3"
+      sources."envinfo-7.7.4"
       sources."execa-5.0.0"
       sources."fastest-levenshtein-1.0.12"
       sources."find-up-4.1.0"
@@ -108654,7 +109768,7 @@ in
       sources."path-parse-1.0.6"
       sources."pkg-dir-4.2.0"
       sources."rechoir-0.7.0"
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."resolve-cwd-3.0.0"
       sources."resolve-from-5.0.0"
       sources."shallow-clone-3.0.1"
@@ -108688,7 +109802,7 @@ in
     dependencies = [
       sources."@types/glob-7.1.3"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-14.14.22"
+      sources."@types/node-14.14.31"
       sources."accepts-1.3.7"
       sources."ajv-6.12.6"
       sources."ajv-errors-1.0.1"
@@ -108873,7 +109987,7 @@ in
         ];
       })
       sources."find-up-3.0.0"
-      sources."follow-redirects-1.13.2"
+      sources."follow-redirects-1.13.3"
       sources."for-in-1.0.2"
       sources."forwarded-0.1.2"
       sources."fragment-cache-0.2.1"
@@ -108882,7 +109996,7 @@ in
       sources."fsevents-1.2.13"
       sources."function-bind-1.1.1"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.0"
+      sources."get-intrinsic-1.1.1"
       sources."get-stream-4.1.0"
       sources."get-value-2.0.6"
       sources."glob-7.1.6"
@@ -108896,11 +110010,11 @@ in
           sources."pify-2.3.0"
         ];
       })
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."handle-thing-2.0.1"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.1"
+      sources."has-symbols-1.0.2"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -108947,7 +110061,7 @@ in
       sources."is-path-in-cwd-2.1.0"
       sources."is-path-inside-2.1.0"
       sources."is-plain-object-2.0.4"
-      sources."is-regex-1.1.1"
+      sources."is-regex-1.1.2"
       sources."is-stream-1.1.0"
       sources."is-windows-1.0.2"
       sources."is-wsl-1.1.0"
@@ -108959,7 +110073,7 @@ in
       sources."killable-1.0.1"
       sources."kind-of-6.0.3"
       sources."locate-path-3.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."loglevel-1.7.1"
       sources."map-cache-0.2.2"
       sources."map-visit-1.0.0"
@@ -108969,8 +110083,8 @@ in
       sources."methods-1.1.2"
       sources."micromatch-3.1.10"
       sources."mime-1.6.0"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."minimalistic-assert-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
@@ -109000,7 +110114,7 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."object-is-1.1.4"
+      sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       sources."object-visit-1.0.1"
       sources."object.pick-1.3.0"
@@ -109145,7 +110259,7 @@ in
       })
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.3"
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."spdy-4.0.2"
       (sources."spdy-transport-3.0.0" // {
         dependencies = [
@@ -109219,7 +110333,7 @@ in
           sources."punycode-1.3.2"
         ];
       })
-      sources."url-parse-1.4.7"
+      sources."url-parse-1.5.1"
       sources."use-3.1.1"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
@@ -109228,7 +110342,7 @@ in
       sources."wbuf-1.7.3"
       (sources."webpack-dev-middleware-3.7.3" // {
         dependencies = [
-          sources."mime-2.5.0"
+          sources."mime-2.5.2"
         ];
       })
       sources."webpack-log-2.0.0"
@@ -109281,7 +110395,7 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-glob-3.2.5"
       sources."fast-json-stable-stringify-2.1.0"
-      sources."fastq-1.10.0"
+      sources."fastq-1.11.0"
       sources."fill-range-7.0.1"
       sources."glob-parent-5.1.1"
       sources."globby-11.0.2"
@@ -109290,7 +110404,7 @@ in
       sources."is-glob-4.0.1"
       sources."is-number-7.0.0"
       sources."json-schema-traverse-0.4.1"
-      sources."json5-2.1.3"
+      sources."json5-2.2.0"
       sources."loader-utils-2.0.0"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.2"
@@ -109300,9 +110414,10 @@ in
       sources."path-type-4.0.0"
       sources."picomatch-2.2.2"
       sources."punycode-2.1.1"
+      sources."queue-microtask-1.2.2"
       sources."randombytes-2.1.0"
       sources."reusify-1.0.4"
-      sources."run-parallel-1.1.10"
+      sources."run-parallel-1.2.0"
       sources."safe-buffer-5.2.1"
       sources."schema-utils-3.0.0"
       sources."serialize-javascript-5.0.1"
@@ -109314,7 +110429,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Copy files && directories with webpack";
-      homepage = https://github.com/webpack-contrib/copy-webpack-plugin;
+      homepage = "https://github.com/webpack-contrib/copy-webpack-plugin";
       license = "MIT";
     };
     production = true;
@@ -109341,7 +110456,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.1"
-      sources."@types/node-13.13.40"
+      sources."@types/node-13.13.45"
       sources."addr-to-ip-port-1.5.1"
       sources."airplay-js-0.3.0"
       sources."balanced-match-1.0.0"
@@ -109363,13 +110478,13 @@ in
         ];
       })
       sources."bittorrent-peerid-1.3.3"
-      (sources."bittorrent-protocol-3.2.0" // {
+      (sources."bittorrent-protocol-3.3.1" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."ms-2.1.2"
         ];
       })
-      (sources."bittorrent-tracker-9.15.0" // {
+      (sources."bittorrent-tracker-9.16.1" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."decompress-response-6.0.0"
@@ -109379,8 +110494,8 @@ in
         ];
       })
       sources."blob-to-buffer-1.2.9"
-      sources."block-stream2-2.0.0"
-      sources."bn.js-5.1.3"
+      sources."block-stream2-2.1.0"
+      sources."bn.js-5.2.0"
       sources."brace-expansion-1.1.11"
       sources."browserify-package-json-1.0.1"
       sources."buffer-6.0.3"
@@ -109406,7 +110521,7 @@ in
           sources."mime-1.6.0"
         ];
       })
-      sources."chunk-store-stream-4.1.1"
+      sources."chunk-store-stream-4.2.0"
       sources."clivas-0.2.0"
       sources."common-tags-1.8.0"
       sources."compact2string-1.4.1"
@@ -109419,7 +110534,7 @@ in
         ];
       })
       sources."core-util-is-1.0.2"
-      sources."create-torrent-4.4.3"
+      sources."create-torrent-4.5.0"
       sources."debug-2.6.9"
       sources."decompress-response-3.3.0"
       (sources."dlnacasts-0.1.0" // {
@@ -109432,13 +110547,13 @@ in
       sources."ecstatic-4.1.4"
       sources."ee-first-1.1.1"
       sources."elementtree-0.1.7"
-      sources."end-of-stream-1.4.1"
+      sources."end-of-stream-1.4.4"
       sources."err-code-2.0.3"
       sources."escape-html-1.0.3"
       sources."executable-4.1.1"
       sources."filestream-5.0.0"
       sources."freelist-1.0.3"
-      (sources."fs-chunk-store-2.0.2" // {
+      (sources."fs-chunk-store-2.0.3" // {
         dependencies = [
           sources."thunky-1.1.0"
         ];
@@ -109464,7 +110579,7 @@ in
       sources."is-wsl-2.2.0"
       sources."isarray-1.0.0"
       sources."junk-3.1.0"
-      sources."k-bucket-5.0.0"
+      sources."k-bucket-5.1.0"
       sources."k-rpc-5.1.0"
       sources."k-rpc-socket-1.11.1"
       sources."last-one-wins-1.0.4"
@@ -109481,22 +110596,22 @@ in
       sources."mdns-js-0.5.0"
       sources."mdns-js-packet-0.2.0"
       sources."mediasource-2.4.0"
-      sources."memory-chunk-store-1.3.0"
-      sources."mime-2.5.0"
+      sources."memory-chunk-store-1.3.2"
+      sources."mime-2.5.2"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mkdirp-classic-0.5.3"
       sources."moment-2.29.1"
       sources."mp4-box-encoding-1.4.1"
-      sources."mp4-stream-3.1.0"
+      sources."mp4-stream-3.1.3"
       sources."ms-2.0.0"
       (sources."multicast-dns-6.2.3" // {
         dependencies = [
           sources."thunky-1.1.0"
         ];
       })
-      sources."multistream-4.0.1"
+      sources."multistream-4.1.0"
       sources."napi-macros-2.0.0"
       sources."netmask-1.0.6"
       sources."network-address-1.1.2"
@@ -109506,7 +110621,7 @@ in
       sources."nodebmc-0.0.7"
       sources."on-finished-2.3.0"
       sources."once-1.4.0"
-      sources."open-7.3.1"
+      sources."open-7.4.2"
       sources."package-json-versionify-1.0.4"
       (sources."parse-torrent-7.1.3" // {
         dependencies = [
@@ -109529,7 +110644,7 @@ in
       sources."pump-3.0.0"
       sources."qap-3.3.1"
       sources."queue-microtask-1.2.2"
-      sources."random-access-file-2.1.4"
+      sources."random-access-file-2.2.0"
       sources."random-access-storage-1.4.1"
       sources."random-iterate-1.0.1"
       sources."randombytes-2.1.0"
@@ -109544,8 +110659,8 @@ in
         ];
       })
       sources."rimraf-3.0.2"
-      sources."run-parallel-1.1.10"
-      sources."run-parallel-limit-1.0.6"
+      sources."run-parallel-1.2.0"
+      sources."run-parallel-limit-1.1.0"
       sources."run-series-1.1.9"
       sources."rusha-0.8.13"
       sources."safe-buffer-5.2.1"
@@ -109559,8 +110674,8 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."simple-sha1-3.0.1"
-      (sources."simple-websocket-8.1.1" // {
+      sources."simple-sha1-3.1.0"
+      (sources."simple-websocket-9.1.0" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."ms-2.1.2"
@@ -109606,10 +110721,10 @@ in
       sources."ut_pex-2.0.1"
       sources."utf-8-validate-5.0.4"
       sources."util-deprecate-1.0.2"
-      sources."utp-native-2.2.2"
+      sources."utp-native-2.3.0"
       sources."videostream-3.2.2"
       sources."vlc-command-1.2.0"
-      (sources."webtorrent-0.112.2" // {
+      (sources."webtorrent-0.115.0" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."decompress-response-6.0.0"
@@ -109617,13 +110732,13 @@ in
           sources."magnet-uri-6.1.0"
           sources."mimic-response-3.1.0"
           sources."ms-2.1.2"
-          sources."parse-torrent-9.1.1"
+          sources."parse-torrent-9.1.3"
           sources."simple-get-4.0.0"
         ];
       })
       sources."winreg-1.2.4"
       sources."wrappy-1.0.2"
-      sources."ws-7.4.2"
+      sources."ws-7.4.3"
       sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
       sources."xmldom-0.1.31"
@@ -109631,7 +110746,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "WebTorrent, the streaming torrent client. For the command line.";
-      homepage = https://webtorrent.io/;
+      homepage = "https://webtorrent.io";
       license = "MIT";
     };
     production = true;
@@ -109659,18 +110774,18 @@ in
   write-good = nodeEnv.buildNodePackage {
     name = "write-good";
     packageName = "write-good";
-    version = "1.0.4";
+    version = "1.0.8";
     src = fetchurl {
-      url = "https://registry.npmjs.org/write-good/-/write-good-1.0.4.tgz";
-      sha512 = "NA7P2MQ2yw4k+SYq9NQMB0GLchzoprbMRoJgMquLoWzucTozni8k/3hvXvldyDQbgPpPZObzOGvcB6UgqzggzQ==";
+      url = "https://registry.npmjs.org/write-good/-/write-good-1.0.8.tgz";
+      sha512 = "P1Ct7+DNrOcr2JAxDZ3Q5i5sx2LSveu7iLaoUL0A+YiG0GKf0l5+9j3rwMeyh6JeTL1+HfQV1rnwEvzhNIvpFw==";
     };
     dependencies = [
-      sources."adverb-where-0.2.1"
+      sources."adverb-where-0.2.2"
       sources."commander-2.20.3"
       sources."e-prime-0.10.4"
-      sources."no-cliches-0.2.2"
+      sources."no-cliches-0.3.0"
       sources."passive-voice-0.1.0"
-      sources."too-wordy-0.2.2"
+      sources."too-wordy-0.3.1"
       sources."weasel-words-0.1.1"
     ];
     buildInputs = globalBuildInputs;
@@ -109686,10 +110801,10 @@ in
   yaml-language-server = nodeEnv.buildNodePackage {
     name = "yaml-language-server";
     packageName = "yaml-language-server";
-    version = "0.14.0";
+    version = "0.15.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-0.14.0.tgz";
-      sha512 = "aMNzS7YoMrgG0QdCMonlrFS/fPiag4zVs9cJ7RB0ZzwiALB2446UFXwy6SaTmKfJq353rjGJ+d7j1HHKSX/IqA==";
+      url = "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-0.15.0.tgz";
+      sha512 = "idaCYstdGoV5Pi7PKxbUkGHt6jAI3l+nxNWrsVCetxrEgfH6T7qytfT0pF3n4NdfDNPHPHcqnl69FzCFDVfHnQ==";
     };
     dependencies = [
       sources."agent-base-4.3.0"
@@ -109765,16 +110880,16 @@ in
       sha512 = "GFg4QC1xi3gkbHGGUFme8/8XPg3kDISu/qJfx56X207yuv1FSevGY/eKuym7kh0bniCB4n3rseWW+QZXPH8LIw==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
+      sources."@babel/code-frame-7.12.13"
       sources."@babel/helper-validator-identifier-7.12.11"
-      sources."@babel/highlight-7.10.4"
-      sources."@babel/runtime-7.12.5"
+      sources."@babel/highlight-7.13.8"
+      sources."@babel/runtime-7.13.8"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
       sources."@sindresorhus/is-0.7.0"
       sources."@types/glob-7.1.3"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-14.14.22"
+      sources."@types/node-14.14.31"
       sources."@types/normalize-package-data-2.4.0"
       sources."JSONStream-1.3.5"
       sources."aggregate-error-3.1.0"
@@ -109867,14 +110982,7 @@ in
       sources."cli-boxes-1.0.0"
       sources."cli-cursor-2.1.0"
       sources."cli-list-0.2.0"
-      (sources."cli-table-0.3.4" // {
-        dependencies = [
-          sources."ansi-regex-5.0.0"
-          sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.0"
-          sources."strip-ansi-6.0.0"
-        ];
-      })
+      sources."cli-table-0.3.5"
       sources."cli-width-2.2.1"
       sources."clone-2.1.2"
       sources."clone-buffer-1.0.0"
@@ -109887,6 +110995,7 @@ in
       sources."collection-visit-1.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
+      sources."colors-1.0.3"
       sources."combined-stream-1.0.8"
       sources."commondir-1.0.1"
       sources."component-emitter-1.3.0"
@@ -109896,7 +111005,7 @@ in
       sources."config-chain-1.1.12"
       sources."configstore-3.1.5"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-3.8.3"
+      sources."core-js-3.9.1"
       sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-6.0.5"
@@ -109988,7 +111097,7 @@ in
       sources."fast-glob-2.2.7"
       sources."fast-json-stable-stringify-2.1.0"
       sources."figures-2.0.0"
-      sources."filelist-1.0.1"
+      sources."filelist-1.0.2"
       (sources."fill-range-4.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -109998,7 +111107,7 @@ in
       sources."find-up-2.1.0"
       sources."find-versions-2.0.0"
       sources."first-chunk-stream-2.0.0"
-      sources."follow-redirects-1.13.2"
+      sources."follow-redirects-1.13.3"
       sources."for-in-1.0.2"
       sources."foreachasync-3.0.0"
       sources."forever-agent-0.6.1"
@@ -110036,7 +111145,7 @@ in
       })
       sources."global-dirs-0.1.1"
       sources."global-tunnel-ng-2.7.1"
-      sources."globalthis-1.0.1"
+      sources."globalthis-1.0.2"
       sources."globby-8.0.2"
       (sources."got-8.3.2" // {
         dependencies = [
@@ -110044,7 +111153,7 @@ in
           sources."p-cancelable-0.4.1"
         ];
       })
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.6"
       sources."grouped-queue-1.1.0"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
@@ -110164,7 +111273,7 @@ in
       })
       sources."locate-path-2.0.0"
       sources."locutus-2.0.14"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.debounce-4.0.8"
       sources."lodash.pad-4.5.1"
       sources."lodash.padend-4.6.1"
@@ -110210,8 +111319,8 @@ in
       sources."merge-stream-2.0.0"
       sources."merge2-1.4.1"
       sources."micromatch-3.1.10"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.46.0"
+      sources."mime-types-2.1.29"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.0.4"
@@ -110315,7 +111424,7 @@ in
       sources."pkg-up-2.0.0"
       sources."posix-character-classes-0.1.1"
       sources."prepend-http-2.0.0"
-      sources."pretty-bytes-5.5.0"
+      sources."pretty-bytes-5.6.0"
       sources."process-nextick-args-2.0.1"
       sources."proto-list-1.2.4"
       sources."pseudomap-1.0.2"
@@ -110370,7 +111479,7 @@ in
           sources."tough-cookie-2.5.0"
         ];
       })
-      sources."resolve-1.19.0"
+      sources."resolve-1.20.0"
       sources."resolve-url-0.2.1"
       sources."responselike-1.0.2"
       sources."restore-cursor-2.0.0"
@@ -110380,7 +111489,7 @@ in
       sources."root-check-1.0.0"
       sources."run-async-2.4.1"
       sources."rx-4.1.0"
-      sources."rxjs-6.6.3"
+      sources."rxjs-6.6.6"
       sources."safe-buffer-5.2.1"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
@@ -110439,7 +111548,7 @@ in
       sources."sort-on-3.0.0"
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.3"
-      sources."source-map-url-0.4.0"
+      sources."source-map-url-0.4.1"
       sources."spawn-sync-1.0.15"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
@@ -110649,7 +111758,7 @@ in
           sources."semver-7.3.4"
           sources."shebang-command-2.0.0"
           sources."shebang-regex-3.0.0"
-          (sources."string-width-4.2.0" // {
+          (sources."string-width-4.2.2" // {
             dependencies = [
               sources."strip-ansi-6.0.0"
             ];
@@ -110664,12 +111773,12 @@ in
           sources."which-2.0.2"
         ];
       })
-      (sources."yeoman-generator-4.12.0" // {
+      (sources."yeoman-generator-4.13.0" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."diff-4.0.2"
           sources."dir-glob-2.2.2"
-          sources."ejs-3.1.5"
+          sources."ejs-3.1.6"
           sources."find-up-3.0.0"
           sources."globby-9.2.0"
           sources."ignore-4.0.6"
@@ -110719,7 +111828,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "CLI tool for running Yeoman generators";
-      homepage = https://yeoman.io/;
+      homepage = "http://yeoman.io";
       license = "BSD-2-Clause";
     };
     production = true;
diff --git a/pkgs/development/ocaml-modules/atd/default.nix b/pkgs/development/ocaml-modules/atd/default.nix
index e4edac5fdc10c..2f85221e539c6 100644
--- a/pkgs/development/ocaml-modules/atd/default.nix
+++ b/pkgs/development/ocaml-modules/atd/default.nix
@@ -1,22 +1,22 @@
-{ lib, menhir, easy-format, fetchFromGitHub, buildDunePackage, which, biniou, yojson }:
+{ lib, menhir, easy-format, fetchurl, buildDunePackage, which, re }:
 
 buildDunePackage rec {
   pname = "atd";
-  version = "2.0.0";
+  version = "2.2.1";
+
+  useDune2 = true;
 
   minimumOCamlVersion = "4.02";
 
-  src = fetchFromGitHub {
-    owner = "mjambon";
-    repo = pname;
-    rev = version;
-    sha256 = "0alzmk97rxg7s6irs9lvf89dy9n3r769my5n4j9p9qyigcdgjaia";
+  src = fetchurl {
+    url = "https://github.com/ahrefs/atd/releases/download/2.2.1/atd-2.2.1.tbz";
+    sha256 = "17jm79np69ixp53a4njxnlb1pg8sd1g47nm3nyki9clkc8d4qsyv";
   };
 
-  createFindlibDestdir = true;
-
   buildInputs = [ which menhir ];
-  propagatedBuildInputs = [ easy-format biniou yojson ];
+  propagatedBuildInputs = [ easy-format re ];
+
+  doCheck = true;
 
   meta = with lib; {
     homepage = "https://github.com/mjambon/atd";
diff --git a/pkgs/development/ocaml-modules/atdgen/default.nix b/pkgs/development/ocaml-modules/atdgen/default.nix
index d8ef2fec99900..2537c92d97a55 100644
--- a/pkgs/development/ocaml-modules/atdgen/default.nix
+++ b/pkgs/development/ocaml-modules/atdgen/default.nix
@@ -3,7 +3,7 @@
 let runtime =
   buildDunePackage {
     pname = "atdgen-runtime";
-    inherit (atd) version src;
+    inherit (atd) version useDune2 src;
 
     propagatedBuildInputs = [ biniou yojson ];
 
@@ -13,7 +13,7 @@ let runtime =
 
 buildDunePackage {
   pname = "atdgen";
-  inherit (atd) version src;
+  inherit (atd) version useDune2 src;
 
   buildInputs = [ atd ];
 
diff --git a/pkgs/development/ocaml-modules/bap/default.nix b/pkgs/development/ocaml-modules/bap/default.nix
index 9284bbaf9c628..94f254a2edfb6 100644
--- a/pkgs/development/ocaml-modules/bap/default.nix
+++ b/pkgs/development/ocaml-modules/bap/default.nix
@@ -2,28 +2,26 @@
 , ocaml, findlib, ocamlbuild, ocaml_oasis
 , bitstring, camlzip, cmdliner, core_kernel, ezjsonm, fileutils, ocaml_lwt, ocamlgraph, ocurl, re, uri, zarith, piqi, piqi-ocaml, uuidm, llvm, frontc, ounit, ppx_jane, parsexp
 , utop, libxml2, ncurses
+, linenoise
+, ppx_bap
 , ppx_bitstring
-, ppx_tools_versioned
+, yojson
 , which, makeWrapper, writeText
 , z3
 }:
 
-if !lib.versionAtLeast ocaml.version "4.07"
+if !lib.versionAtLeast ocaml.version "4.08"
 then throw "BAP is not available for OCaml ${ocaml.version}"
 else
 
-if lib.versionAtLeast core_kernel.version "0.13"
-then throw "BAP needs core_kernel-0.12 (hence OCaml 4.07)"
-else
-
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-bap-${version}";
-  version = "2.1.0";
+  version = "2.2.0";
   src = fetchFromGitHub {
     owner = "BinaryAnalysisPlatform";
     repo = "bap";
     rev = "v${version}";
-    sha256 = "10fkr6p798ad18j4h9bvp9dg4pmjdpv3hmj7k389i0vhqniwi5xq";
+    sha256 = "0c53sps6ba9n5cjdmapi8ylzlpcc11pksijp9swzlwgxyz5d276f";
   };
 
   sigs = fetchurl {
@@ -41,12 +39,14 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ which makeWrapper ];
 
   buildInputs = [ ocaml findlib ocamlbuild ocaml_oasis
-                  llvm ppx_bitstring ppx_tools_versioned
+                  linenoise
+                  ounit
+                  ppx_bitstring
                   z3
                   utop libxml2 ncurses ];
 
-  propagatedBuildInputs = [ bitstring camlzip cmdliner ppx_jane core_kernel ezjsonm fileutils ocaml_lwt ocamlgraph ocurl re uri zarith piqi parsexp
-                            piqi-ocaml uuidm frontc ounit ];
+  propagatedBuildInputs = [ bitstring camlzip cmdliner ppx_bap core_kernel ezjsonm fileutils ocaml_lwt ocamlgraph ocurl re uri zarith piqi parsexp
+                            piqi-ocaml uuidm frontc yojson ];
 
   installPhase = ''
     export OCAMLPATH=$OCAMLPATH:$OCAMLFIND_DESTDIR;
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
   patches = [ ./curses_is_ncurses.patch ];
 
   preConfigure = ''
-    substituteInPlace oasis/elf --replace bitstring.ppx ppx_bitstring
+    substituteInPlace oasis/elf-loader --replace bitstring.ppx ppx_bitstring
   '';
 
   configureFlags = [ "--enable-everything ${disableIda}" "--with-llvm-config=${llvm}/bin/llvm-config" ];
diff --git a/pkgs/development/ocaml-modules/base64/default.nix b/pkgs/development/ocaml-modules/base64/default.nix
index de0bc13e2833f..efb7f41b95dd3 100644
--- a/pkgs/development/ocaml-modules/base64/default.nix
+++ b/pkgs/development/ocaml-modules/base64/default.nix
@@ -1,20 +1,21 @@
-{ lib, fetchurl, buildDunePackage, alcotest, bos, dune-configurator }:
+{ lib, fetchurl, buildDunePackage, ocaml, alcotest, bos, rresult }:
 
 buildDunePackage rec {
   pname = "base64";
-  version = "3.4.0";
+  version = "3.5.0";
+
+  minimumOCamlVersion = "4.03";
 
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/mirage/ocaml-base64/releases/download/v${version}/base64-v${version}.tbz";
-    sha256 = "0d0n5gd4nkdsz14jnxq13f1f7rzxmndg5xql039a8wfppmazd70w";
+    sha256 = "sha256-WJ3pwAV46/54QZismBjTWGxHSyMWts0+HEbMsfYq46Q=";
   };
 
-  buildInputs = [ bos dune-configurator ];
-
-  doCheck = true;
-  checkInputs = [ alcotest ];
+  # otherwise fmt breaks evaluation
+  doCheck = lib.versionAtLeast ocaml.version "4.05";
+  checkInputs = [ alcotest bos rresult ];
 
   meta = {
     homepage = "https://github.com/mirage/ocaml-base64";
diff --git a/pkgs/development/ocaml-modules/camomile/default.nix b/pkgs/development/ocaml-modules/camomile/default.nix
index 6bae728cafacf..ec20eedd7688f 100644
--- a/pkgs/development/ocaml-modules/camomile/default.nix
+++ b/pkgs/development/ocaml-modules/camomile/default.nix
@@ -4,6 +4,8 @@ buildDunePackage rec {
   pname = "camomile";
   version = "1.0.2";
 
+  useDune2 = true;
+
   src = fetchFromGitHub {
     owner = "yoriyuki";
     repo = pname;
diff --git a/pkgs/development/ocaml-modules/carton/default.nix b/pkgs/development/ocaml-modules/carton/default.nix
new file mode 100644
index 0000000000000..5bf7be4e77958
--- /dev/null
+++ b/pkgs/development/ocaml-modules/carton/default.nix
@@ -0,0 +1,66 @@
+{ lib, buildDunePackage, fetchurl
+, ke, duff, decompress, cstruct, optint, bigstringaf, stdlib-shims
+, bigarray-compat, checkseum, logs, psq, fmt
+, result, rresult, fpath, base64, bos, digestif, mmap, alcotest
+, crowbar, alcotest-lwt, lwt, findlib, mirage-flow, cmdliner
+}:
+
+buildDunePackage rec {
+  pname = "carton";
+  version = "0.2.0";
+
+  useDune2 = true;
+  minimumOCamlVersion = "4.08";
+
+  src = fetchurl {
+    url = "https://github.com/mirage/ocaml-git/releases/download/${pname}-v${version}/${pname}-${pname}-v${version}.tbz";
+    sha256 = "0gfns4a9p9540kijccsg52yzyn3jfvi737mb0g71yazyc89dqwhn";
+  };
+
+  # remove changelogs for mimic and the git* packages
+  postPatch = ''
+    rm CHANGES.md CHANGES.mimic.md
+  '';
+
+  buildInputs = [
+    cmdliner
+    digestif
+    mmap
+    result
+    rresult
+    fpath
+    bos
+  ];
+  propagatedBuildInputs = [
+    ke
+    duff
+    decompress
+    cstruct
+    optint
+    bigstringaf
+    stdlib-shims
+    bigarray-compat
+    checkseum
+    logs
+    psq
+    fmt
+  ];
+
+  doCheck = true;
+  checkInputs = [
+    base64
+    alcotest
+    alcotest-lwt
+    crowbar
+    lwt
+    findlib
+    mirage-flow
+  ];
+
+  meta = with lib; {
+    description = "Implementation of PACKv2 file in OCaml";
+    license = licenses.mit;
+    homepage = "https://github.com/mirage/ocaml-git";
+    maintainers = [ maintainers.sternenseemann ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/carton/git.nix b/pkgs/development/ocaml-modules/carton/git.nix
new file mode 100644
index 0000000000000..ef41ff2b5947d
--- /dev/null
+++ b/pkgs/development/ocaml-modules/carton/git.nix
@@ -0,0 +1,28 @@
+{ buildDunePackage, carton, carton-lwt
+, bigarray-compat, bigstringaf, lwt, fpath, result
+, mmap, fmt, decompress, astring
+, alcotest, alcotest-lwt, cstruct, logs
+, mirage-flow, rresult, ke
+}:
+
+buildDunePackage {
+  pname = "carton-git";
+
+  inherit (carton) version src useDune2 minimumOCamlVersion postPatch;
+
+  propagatedBuildInputs = [
+    carton
+    carton-lwt
+    bigarray-compat
+    bigstringaf
+    lwt
+    fpath
+    result
+    mmap
+    fmt
+    decompress
+    astring
+  ];
+
+  inherit (carton) meta;
+}
diff --git a/pkgs/development/ocaml-modules/carton/lwt.nix b/pkgs/development/ocaml-modules/carton/lwt.nix
new file mode 100644
index 0000000000000..024ff51559e44
--- /dev/null
+++ b/pkgs/development/ocaml-modules/carton/lwt.nix
@@ -0,0 +1,46 @@
+{ buildDunePackage, carton
+, lwt, decompress, optint, bigstringaf
+, alcotest, alcotest-lwt, cstruct, fmt, logs
+, mirage-flow, result, rresult, bigarray-compat
+, ke, base64, bos, checkseum, digestif, fpath, mmap
+, stdlib-shims
+, git-binary # pkgs.git
+}:
+
+buildDunePackage {
+  pname = "carton-lwt";
+
+  inherit (carton) version src useDune2 minimumOCamlVersion postPatch;
+
+  propagatedBuildInputs = [
+    carton
+    lwt
+    decompress
+    optint
+    bigstringaf
+  ];
+
+  doCheck = true;
+  checkInputs = [
+    git-binary
+    alcotest
+    alcotest-lwt
+    cstruct
+    fmt
+    logs
+    mirage-flow
+    result
+    rresult
+    bigarray-compat
+    ke
+    base64
+    bos
+    checkseum
+    digestif
+    fpath
+    mmap
+    stdlib-shims
+  ];
+
+  inherit (carton) meta;
+}
diff --git a/pkgs/development/ocaml-modules/cstruct/default.nix b/pkgs/development/ocaml-modules/cstruct/default.nix
index acd5d83e4f1e0..8b0c4ee9ebbc6 100644
--- a/pkgs/development/ocaml-modules/cstruct/default.nix
+++ b/pkgs/development/ocaml-modules/cstruct/default.nix
@@ -1,8 +1,8 @@
-{ lib, fetchurl, buildDunePackage, bigarray-compat }:
+{ lib, fetchurl, buildDunePackage, bigarray-compat, alcotest, ocaml }:
 
 buildDunePackage rec {
   pname = "cstruct";
-  version = "5.0.0";
+  version = "6.0.0";
 
   useDune2 = true;
 
@@ -10,11 +10,15 @@ buildDunePackage rec {
 
   src = fetchurl {
     url = "https://github.com/mirage/ocaml-cstruct/releases/download/v${version}/cstruct-v${version}.tbz";
-    sha256 = "1z403q2nkgz5x07j0ypy6q0mk2yxgqbp1jlqkngbajna7124x2pb";
+    sha256 = "0xi6cj85z033fqrqdkwac6gg07629vzdhx03c3lhiwwc4lpnv8bq";
   };
 
   propagatedBuildInputs = [ bigarray-compat ];
 
+  # alcotest isn't available for OCaml < 4.05 due to fmt
+  doCheck = lib.versionAtLeast ocaml.version "4.05";
+  checkInputs = [ alcotest ];
+
   meta = {
     description = "Access C-like structures directly from OCaml";
     license = lib.licenses.isc;
diff --git a/pkgs/development/ocaml-modules/cstruct/lwt.nix b/pkgs/development/ocaml-modules/cstruct/lwt.nix
index 113df1e89b5cf..df8941d1260d6 100644
--- a/pkgs/development/ocaml-modules/cstruct/lwt.nix
+++ b/pkgs/development/ocaml-modules/cstruct/lwt.nix
@@ -8,7 +8,7 @@ buildDunePackage {
   pname = "cstruct-lwt";
   inherit (cstruct) version src useDune2 meta;
 
-  minimumOCamlVersion = "4.02";
+  minimumOCamlVersion = "4.03";
 
   propagatedBuildInputs = [ cstruct lwt ];
 }
diff --git a/pkgs/development/ocaml-modules/cstruct/ppx.nix b/pkgs/development/ocaml-modules/cstruct/ppx.nix
index 44343812090d2..aa003295e9081 100644
--- a/pkgs/development/ocaml-modules/cstruct/ppx.nix
+++ b/pkgs/development/ocaml-modules/cstruct/ppx.nix
@@ -1,4 +1,7 @@
-{ lib, buildDunePackage, cstruct, sexplib, ppx_tools_versioned, ppxlib }:
+{ lib, buildDunePackage, cstruct, sexplib, ppxlib, stdlib-shims
+, ounit, cppo, ppx_sexp_conv, cstruct-unix, cstruct-sexp
+, fetchpatch
+}:
 
 if !lib.versionAtLeast (cstruct.version or "1") "3"
 then cstruct
@@ -8,7 +11,22 @@ buildDunePackage {
   pname = "ppx_cstruct";
   inherit (cstruct) version src useDune2 meta;
 
-  minimumOCamlVersion = "4.03";
+  minimumOCamlVersion = "4.07";
 
-  propagatedBuildInputs = [ cstruct ppx_tools_versioned ppxlib sexplib ];
+  # prevent ANSI escape sequences from messing up the test cases
+  # https://github.com/mirage/ocaml-cstruct/issues/283
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/mirage/ocaml-cstruct/pull/285/commits/60dfed98b4c34455bf339ac60e2ed5ef05feb48f.patch";
+      sha256 = "1x9i62nrlfy9l44vb0a7qjfrg2wyki4c8nmmqnzwpcbkgxi3q6n5";
+    })
+  ];
+
+  propagatedBuildInputs = [ cstruct ppxlib sexplib stdlib-shims ];
+
+  # disable until ppx_sexp_conv uses ppxlib 0.20.0 (or >= 0.16.0)
+  # since the propagation of the older ppxlib breaks the ppx_cstruct
+  # build.
+  doCheck = false;
+  checkInputs = [ ounit cppo ppx_sexp_conv cstruct-sexp cstruct-unix ];
 }
diff --git a/pkgs/development/ocaml-modules/cstruct/sexp.nix b/pkgs/development/ocaml-modules/cstruct/sexp.nix
index 742cb6522ebf2..b04810e48038a 100644
--- a/pkgs/development/ocaml-modules/cstruct/sexp.nix
+++ b/pkgs/development/ocaml-modules/cstruct/sexp.nix
@@ -8,8 +8,11 @@ buildDunePackage rec {
   pname = "cstruct-sexp";
   inherit (cstruct) version src useDune2 meta;
 
-  doCheck = lib.versionAtLeast ocaml.version "4.03";
-  checkInputs = lib.optional doCheck alcotest;
+  minimumOCamlVersion = "4.03";
+
+  # alcotest is only available on OCaml >= 4.05 due to fmt
+  doCheck = lib.versionAtLeast ocaml.version "4.05";
+  checkInputs = [ alcotest ];
 
   propagatedBuildInputs = [ cstruct sexplib ];
 }
diff --git a/pkgs/development/ocaml-modules/decompress/default.nix b/pkgs/development/ocaml-modules/decompress/default.nix
index 067fac33d4555..f53e166c66289 100644
--- a/pkgs/development/ocaml-modules/decompress/default.nix
+++ b/pkgs/development/ocaml-modules/decompress/default.nix
@@ -1,22 +1,23 @@
 { lib, fetchurl, buildDunePackage
-, checkseum, cmdliner
-, alcotest, bos, camlzip, mmap, re
+, checkseum, bigarray-compat, optint
+, bigstringaf, alcotest, hxd, camlzip, base64
 }:
 
 buildDunePackage rec {
-  version = "0.9.0";
+  version = "1.2.0";
   pname = "decompress";
 
+  minimumOCamlVersion = "4.07";
+
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/mirage/decompress/releases/download/v${version}/decompress-v${version}.tbz";
-    sha256 = "0fryhcvv96vfca51c7kqdn3n3canqsbbvfbi75ya6lca4lmpipbh";
+    sha256 = "1c3sq9a6kpzl0pj3gmg7w18ssjjl70yv0r3l7qjprcncjx23v62i";
   };
 
-  buildInputs = [ cmdliner ];
-  propagatedBuildInputs = [ checkseum ];
-  checkInputs = lib.optionals doCheck [ alcotest bos camlzip mmap re ];
+  propagatedBuildInputs = [ optint bigarray-compat checkseum ];
+  checkInputs = [ alcotest bigstringaf hxd camlzip base64 ];
   doCheck = true;
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/diet/default.nix b/pkgs/development/ocaml-modules/diet/default.nix
index 0d4229c03ea3d..cd14d2a06af5e 100644
--- a/pkgs/development/ocaml-modules/diet/default.nix
+++ b/pkgs/development/ocaml-modules/diet/default.nix
@@ -4,6 +4,8 @@ buildDunePackage rec {
   pname = "diet";
   version = "0.4";
 
+  useDune2 = true;
+
   src = fetchurl {
     url =
       "https://github.com/mirage/ocaml-diet/releases/download/v${version}/diet-v${version}.tbz";
diff --git a/pkgs/development/ocaml-modules/duff/default.nix b/pkgs/development/ocaml-modules/duff/default.nix
index 8c9dad42fd7a2..64a32d179d5b3 100644
--- a/pkgs/development/ocaml-modules/duff/default.nix
+++ b/pkgs/development/ocaml-modules/duff/default.nix
@@ -1,24 +1,29 @@
 { lib, fetchurl, buildDunePackage
-, cstruct, fmt
-, bos, cmdliner, fpath, logs
-, alcotest
+, stdlib-shims, bigarray-compat, fmt
+, alcotest, hxd, crowbar, bigstringaf
 }:
 
 buildDunePackage rec {
   pname = "duff";
-  version = "0.2";
+  version = "0.3";
 
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/mirage/duff/releases/download/v${version}/duff-v${version}.tbz";
-    sha256 = "0bi081w4349cqc1n9jsjh1lrcqlnv3nycmvh9fniscv8lz1c0gjq";
+    sha256 = "1lb67yxk93ifj94p1i3swjbnj5xy8j6xzs72bwvq6cffx5xykznm";
   };
 
-  buildInputs = [ bos cmdliner fpath logs ] ++ lib.optional doCheck alcotest;
-  propagatedBuildInputs = [ cstruct fmt ];
+  propagatedBuildInputs = [ stdlib-shims bigarray-compat fmt ];
 
   doCheck = true;
+  checkInputs = [
+    alcotest
+    crowbar
+    hxd
+    bigstringaf
+  ];
+
 
   meta = {
     description = "Pure OCaml implementation of libXdiff (Rabin’s fingerprint)";
diff --git a/pkgs/development/ocaml-modules/elpi/default.nix b/pkgs/development/ocaml-modules/elpi/default.nix
index e2d2a2c5dc9f5..5c93c111040b7 100644
--- a/pkgs/development/ocaml-modules/elpi/default.nix
+++ b/pkgs/development/ocaml-modules/elpi/default.nix
@@ -1,10 +1,11 @@
 { stdenv, lib, fetchzip, buildDunePackage, camlp5
 , ppxlib, ppx_deriving, re, perl, ncurses
-, version ? "1.12.0"
+, version ? "1.13.0"
 }:
 with lib;
 let fetched = import ../../../build-support/coq/meta-fetch/default.nix
   {inherit lib stdenv fetchzip; } ({
+    release."1.13.0".sha256 = "0dmzy058m1mkndv90byjaik6lzzfk3aaac7v84mpmkv6my23bygr";
     release."1.12.0".sha256 = "1agisdnaq9wrw3r73xz14yrq3wx742i6j8i5icjagqk0ypmly2is";
     release."1.11.4".sha256 = "1m0jk9swcs3jcrw5yyw5343v8mgax238cjb03s8gc4wipw1fn9f5";
     releaseRev = v: "v${v}";
diff --git a/pkgs/development/ocaml-modules/encore/default.nix b/pkgs/development/ocaml-modules/encore/default.nix
index dd05982c3cabb..95eb75ee7ca34 100644
--- a/pkgs/development/ocaml-modules/encore/default.nix
+++ b/pkgs/development/ocaml-modules/encore/default.nix
@@ -1,19 +1,20 @@
 { lib, buildDunePackage, fetchurl, ocaml
-, fmt, bigstringaf, bigarray-compat
-, bigarray-overlap, angstrom, ke, alcotest }:
+, fmt, bigstringaf, angstrom, alcotest }:
 
 buildDunePackage rec {
   pname = "encore";
-  version = "0.5";
+  version = "0.7";
+
+  minimumOCamlVersion = "4.07";
 
   src = fetchurl {
     url = "https://github.com/mirage/encore/releases/download/v${version}/encore-v${version}.tbz";
-    sha256 = "15n0dla149k9h7migs76wap08z5402qcvxyqxzl887ha6isj3p9n";
+    sha256 = "0cwmhkj5jmk3z5y0agmkf5ygpgxynjkq2d7d50jgzmnqs7f6g7nh";
   };
 
   useDune2 = true;
 
-  propagatedBuildInputs = [ angstrom ke fmt bigstringaf bigarray-compat bigarray-overlap ];
+  propagatedBuildInputs = [ angstrom fmt bigstringaf ];
   checkInputs = [ alcotest ];
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/git-http/default.nix b/pkgs/development/ocaml-modules/git-http/default.nix
deleted file mode 100644
index 54bd5c2da2334..0000000000000
--- a/pkgs/development/ocaml-modules/git-http/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ buildDunePackage, git, cohttp, cohttp-lwt }:
-
-buildDunePackage {
-  pname = "git-http";
-  inherit (git) version src minimumOCamlVersion;
-
-  useDune2 = true;
-
-  propagatedBuildInputs = [ git cohttp cohttp-lwt ];
-
-  meta = {
-    description = "Client implementation of the “Smart” HTTP Git protocol in pure OCaml";
-    inherit (git.meta) homepage license maintainers;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/git-unix/default.nix b/pkgs/development/ocaml-modules/git-unix/default.nix
deleted file mode 100644
index 6ee6ef21c15ee..0000000000000
--- a/pkgs/development/ocaml-modules/git-unix/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, buildDunePackage, git-http, cohttp, cohttp-lwt-unix
-, mmap, cmdliner, mtime, alcotest, mirage-crypto-rng, tls
-, io-page, git-binary
-}:
-
-buildDunePackage {
-  pname = "git-unix";
-  inherit (git-http) version src minimumOCamlVersion;
-
-  useDune2 = true;
-
-  propagatedBuildInputs = [ mmap cmdliner git-http cohttp cohttp-lwt-unix mtime ];
-  checkInputs = [ alcotest mirage-crypto-rng tls io-page git-binary ];
-  doCheck = !stdenv.isAarch64;
-
-  meta = {
-    description = "Unix backend for the Git protocol(s)";
-    inherit (git-http.meta) homepage license maintainers;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/git/cohttp-mirage.nix b/pkgs/development/ocaml-modules/git/cohttp-mirage.nix
new file mode 100644
index 0000000000000..d308840064104
--- /dev/null
+++ b/pkgs/development/ocaml-modules/git/cohttp-mirage.nix
@@ -0,0 +1,18 @@
+{ lib, buildDunePackage
+, git, mimic, cohttp-mirage, cohttp, cohttp-lwt
+, fmt, lwt, result, rresult, uri
+}:
+
+buildDunePackage {
+  pname = "git-cohttp-mirage";
+
+  inherit (git) version src minimumOCamlVersion useDune2;
+
+  propagatedBuildInputs = [
+    git mimic cohttp-mirage cohttp cohttp-lwt fmt lwt result rresult uri
+  ];
+
+  meta = git.meta // {
+    description = "A package to use HTTP-based ocaml-git with MirageOS backend";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/git/cohttp-unix.nix b/pkgs/development/ocaml-modules/git/cohttp-unix.nix
new file mode 100644
index 0000000000000..ac6d423d58ae4
--- /dev/null
+++ b/pkgs/development/ocaml-modules/git/cohttp-unix.nix
@@ -0,0 +1,17 @@
+{ buildDunePackage, git, git-cohttp
+, cohttp-lwt-unix, cohttp-lwt, fmt, lwt, result, rresult, uri
+}:
+
+buildDunePackage {
+  pname = "git-cohttp-unix";
+
+  inherit (git) version src minimumOCamlVersion useDune2;
+
+  propagatedBuildInputs = [
+    git git-cohttp cohttp-lwt-unix cohttp-lwt fmt lwt result rresult uri
+  ];
+
+  meta = git.meta // {
+    description = "A package to use HTTP-based ocaml-git with Unix backend";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/git/cohttp.nix b/pkgs/development/ocaml-modules/git/cohttp.nix
new file mode 100644
index 0000000000000..e9126ba4becec
--- /dev/null
+++ b/pkgs/development/ocaml-modules/git/cohttp.nix
@@ -0,0 +1,19 @@
+{ buildDunePackage, git
+, cohttp, cohttp-lwt, fmt, lwt, result, rresult, uri
+, alcotest, alcotest-lwt, bigstringaf, cstruct, logs
+, mirage-flow, ke
+}:
+
+buildDunePackage rec {
+  pname = "git-cohttp";
+
+  inherit (git) version minimumOCamlVersion src useDune2;
+
+  propagatedBuildInputs = [
+    git cohttp cohttp-lwt fmt lwt result rresult uri
+  ];
+
+  meta = git.meta // {
+    description = "A package to use HTTP-based ocaml-git with Unix backend";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/git/default.nix b/pkgs/development/ocaml-modules/git/default.nix
index f5cb452f1a916..8ef1c3627f052 100644
--- a/pkgs/development/ocaml-modules/git/default.nix
+++ b/pkgs/development/ocaml-modules/git/default.nix
@@ -1,33 +1,40 @@
 { stdenv, lib, fetchurl, buildDunePackage
 , alcotest, mtime, mirage-crypto-rng, tls, git-binary
 , angstrom, astring, cstruct, decompress, digestif, encore, duff, fmt, checkseum
-, fpath, hex, ke, logs, lru, ocaml_lwt, ocamlgraph, ocplib-endian, uri, rresult
-, stdlib-shims
+, fpath, ke, logs, lwt, ocamlgraph, uri, rresult, base64
+, result, bigstringaf, optint, mirage-flow, domain-name, emile
+, mimic, carton, carton-lwt, carton-git, ipaddr, psq, crowbar, alcotest-lwt
 }:
 
 buildDunePackage rec {
   pname = "git";
-  version = "2.1.3";
+  version = "3.3.0";
 
-  minimumOCamlVersion = "4.07";
+  minimumOCamlVersion = "4.08";
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/mirage/ocaml-git/releases/download/${version}/git-${version}.tbz";
-    sha256 = "1ppllv65vrkfrmx46aiq5879isffcjmg92z9rv2kh92a83h4lqax";
+    sha256 = "090b67e8f8a02fb52b4d0c7aa445b5ff7353fdb2da00fb37b908f089c6776cd0";
   };
 
+  buildInputs = [
+    base64
+  ];
   propagatedBuildInputs = [
     angstrom astring checkseum cstruct decompress digestif encore duff fmt fpath
-    hex ke logs lru ocaml_lwt ocamlgraph ocplib-endian uri rresult stdlib-shims
+    ke logs lwt ocamlgraph uri rresult result bigstringaf optint mirage-flow
+    domain-name emile mimic carton carton-lwt carton-git ipaddr psq
+  ];
+  checkInputs = [
+    alcotest alcotest-lwt mtime mirage-crypto-rng tls git-binary crowbar
   ];
-  checkInputs = [ alcotest mtime mirage-crypto-rng tls git-binary ];
   doCheck = !stdenv.isAarch64;
 
   meta = {
     description = "Git format and protocol in pure OCaml";
     license = lib.licenses.isc;
-    maintainers = [ lib.maintainers.vbgl ];
+    maintainers = with lib.maintainers; [ sternenseemann vbgl ];
     homepage = "https://github.com/mirage/ocaml-git";
   };
 }
diff --git a/pkgs/development/ocaml-modules/git/unix.nix b/pkgs/development/ocaml-modules/git/unix.nix
new file mode 100644
index 0000000000000..58ac0204b4b9f
--- /dev/null
+++ b/pkgs/development/ocaml-modules/git/unix.nix
@@ -0,0 +1,46 @@
+{ buildDunePackage, fetchpatch, git
+, mmap, rresult, result, bigstringaf
+, fmt, bos, fpath, uri, digestif, logs, lwt, git-cohttp-unix
+, mirage-clock, mirage-clock-unix, astring, awa, cmdliner
+, cohttp-lwt-unix, decompress, domain-name, ipaddr, mtime
+, tcpip, awa-mirage, mirage-flow
+, alcotest, alcotest-lwt, base64, cstruct
+, ke, mirage-crypto-rng, ocurl, git-binary
+, ptime
+}:
+
+buildDunePackage {
+  pname = "git-unix";
+  inherit (git) version src minimumOCamlVersion;
+
+  useDune2 = true;
+
+  patches = [
+    # https://github.com/mirage/ocaml-git/pull/472
+    (fetchpatch {
+      url = "https://github.com/sternenseemann/ocaml-git/commit/54998331eb9d5c61afe8901fabe0c74c2877f096.patch";
+      sha256 = "12kd45mlfaj4hxh33k9920a22mq1q2sdrin2j41w1angvg00d3my";
+    })
+  ];
+
+  buildInputs = [
+    awa awa-mirage cmdliner git-cohttp-unix
+    mirage-clock mirage-clock-unix tcpip
+  ];
+  propagatedBuildInputs = [
+    mmap rresult result bigstringaf
+    fmt bos fpath uri digestif logs lwt
+    astring cohttp-lwt-unix decompress
+    domain-name ipaddr mtime mirage-flow
+  ];
+  checkInputs = [
+    alcotest alcotest-lwt base64 cstruct ke
+    mirage-crypto-rng ocurl git-binary ptime
+  ];
+  doCheck = true;
+
+  meta = {
+    description = "Unix backend for the Git protocol(s)";
+    inherit (git.meta) homepage license maintainers;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/imagelib/default.nix b/pkgs/development/ocaml-modules/imagelib/default.nix
index 46bd4b9626813..f7ca279b9885d 100644
--- a/pkgs/development/ocaml-modules/imagelib/default.nix
+++ b/pkgs/development/ocaml-modules/imagelib/default.nix
@@ -1,30 +1,28 @@
-{ lib, fetchFromGitHub, fetchpatch, buildDunePackage, decompress }:
+{ lib, fetchurl, buildDunePackage
+, decompress, stdlib-shims, alcotest
+}:
 
 buildDunePackage rec {
   minimumOCamlVersion = "4.07";
-  version = "20191011";
+  version = "20200929";
   pname = "imagelib";
 
   useDune2 = true;
 
-  src = fetchFromGitHub {
-    owner = "rlepigre";
-    repo = "ocaml-imagelib";
-    rev = "03fed7733825cef7e0465163f398f6af810e2e75";
-    sha256 = "0h7vgyss42nhlfqpbdnb54nxq86rskqi2ilx8b87r0hi19hqx463";
+  src = fetchurl {
+    url = "https://github.com/rlepigre/ocaml-imagelib/releases/download/ocaml-imagelib_${version}/imagelib-ocaml-imagelib_${version}.tbz";
+    sha256 = "1wyq4xxj0dxwafbcmd7jylsd8w1gbyl7j4ak6jbq1n0ardwmpwca";
   };
 
-  patches = [ (fetchpatch {
-    url = "https://github.com/rlepigre/ocaml-imagelib/pull/24/commits/4704fd44adcda62e0d96ea5b1927071326aa6111.patch";
-    sha256 = "0ipjab1hfa2v2pnd8g1k3q2ia0plgiw7crm3fa4w2aqpzdyabkb9";
-  }) ];
+  propagatedBuildInputs = [ decompress stdlib-shims ];
 
-  propagatedBuildInputs = [ decompress ];
+  doCheck = true;
+  checkInputs = [ alcotest ];
 
   meta = {
     description = "Image formats such as PNG and PPM in OCaml";
     license = lib.licenses.lgpl3;
     maintainers = [ lib.maintainers.vbgl ];
-    inherit (src.meta) homepage;
+    homepage = "https://github.com/rlepigre/ocaml-imagelib";
   };
 }
diff --git a/pkgs/development/ocaml-modules/imagelib/unix.nix b/pkgs/development/ocaml-modules/imagelib/unix.nix
deleted file mode 100644
index a188165a48fa2..0000000000000
--- a/pkgs/development/ocaml-modules/imagelib/unix.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ buildDunePackage, imagelib }:
-
-buildDunePackage {
-  pname = "imagelib-unix";
-  inherit (imagelib) version src useDune2 meta;
-
-  propagatedBuildInputs = [ imagelib ];
-}
diff --git a/pkgs/development/ocaml-modules/index/default.nix b/pkgs/development/ocaml-modules/index/default.nix
index f4b1844d684c9..a24d72a344581 100644
--- a/pkgs/development/ocaml-modules/index/default.nix
+++ b/pkgs/development/ocaml-modules/index/default.nix
@@ -1,18 +1,29 @@
-{ lib, fetchurl, buildDunePackage, fmt, logs, mtime, stdlib-shims }:
+{ lib, fetchurl, buildDunePackage
+, repr, ppx_repr, fmt, logs, mtime, stdlib-shims
+, cmdliner, progress, semaphore-compat
+, alcotest, crowbar, re
+}:
 
 buildDunePackage rec {
   pname = "index";
-  version = "1.2.1";
+  version = "1.3.0";
 
-  minimumOCamlVersion = "4.07";
+  minimumOCamlVersion = "4.08";
+
+  useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/mirage/index/releases/download/${version}/index-${version}.tbz";
-    sha256 = "1a9b6rsazrjy07syxl9ix5002i95mlvx5vk7nl2x9cs6s0zw906d";
+    sha256 = "00qwhwg79scs5bgp8nbppv06qs9yhicf686q7lh64ngh0642iz6n";
   };
 
   buildInputs = [ stdlib-shims ];
-  propagatedBuildInputs = [ fmt logs mtime ];
+  propagatedBuildInputs = [
+    fmt logs mtime repr ppx_repr cmdliner progress semaphore-compat
+  ];
+
+  doCheck = true;
+  checkInputs = [ alcotest crowbar re ];
 
   meta = {
     homepage = "https://github.com/mirage/index";
@@ -20,5 +31,4 @@ buildDunePackage rec {
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.vbgl ];
   };
-
 }
diff --git a/pkgs/development/ocaml-modules/irmin-watcher/default.nix b/pkgs/development/ocaml-modules/irmin-watcher/default.nix
index 55dc9ca866be4..82818b39492d2 100644
--- a/pkgs/development/ocaml-modules/irmin-watcher/default.nix
+++ b/pkgs/development/ocaml-modules/irmin-watcher/default.nix
@@ -6,6 +6,8 @@ buildDunePackage rec {
   pname = "irmin-watcher";
   version = "0.4.1";
 
+  useDune2 = true;
+
   src = fetchurl {
     url = "https://github.com/mirage/irmin-watcher/releases/download/${version}/irmin-watcher-${version}.tbz";
     sha256 = "00d4ph4jbsw6adp3zqdrwi099hfcf7p1xzi0685qr7bgcmandjfv";
diff --git a/pkgs/development/ocaml-modules/irmin/chunk.nix b/pkgs/development/ocaml-modules/irmin/chunk.nix
index 7a2ad0ec7dfda..0014bbbcfcb04 100644
--- a/pkgs/development/ocaml-modules/irmin/chunk.nix
+++ b/pkgs/development/ocaml-modules/irmin/chunk.nix
@@ -1,4 +1,4 @@
-{ lib, buildDunePackage, irmin, irmin-mem, irmin-test }:
+{ lib, buildDunePackage, irmin, irmin-test, alcotest }:
 
 buildDunePackage rec {
 
@@ -8,7 +8,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ irmin ];
 
   doCheck = true;
-  checkInputs = [ irmin-mem irmin-test ];
+  checkInputs = [ alcotest irmin-test ];
 
   meta = irmin.meta // {
     description = "Irmin backend which allow to store values into chunks";
diff --git a/pkgs/development/ocaml-modules/irmin/containers.nix b/pkgs/development/ocaml-modules/irmin/containers.nix
new file mode 100644
index 0000000000000..761e9bf5619ed
--- /dev/null
+++ b/pkgs/development/ocaml-modules/irmin/containers.nix
@@ -0,0 +1,27 @@
+{ buildDunePackage
+, irmin, irmin-unix, irmin-git, ppx_irmin, lwt, mtime
+, alcotest, alcotest-lwt
+}:
+
+buildDunePackage {
+  pname = "irmin-containers";
+
+  inherit (ppx_irmin) src version useDune2;
+
+  nativeBuildInputs = [
+    ppx_irmin
+  ];
+
+  propagatedBuildInputs = [
+    irmin irmin-unix irmin-git ppx_irmin lwt mtime
+  ];
+
+  doCheck = true;
+  checkInputs = [
+    alcotest alcotest-lwt
+  ];
+
+  meta = ppx_irmin.meta // {
+    description = "Mergeable Irmin data structures";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/irmin/default.nix b/pkgs/development/ocaml-modules/irmin/default.nix
index 2e3e27df7ffbd..fe13377b3c2b1 100644
--- a/pkgs/development/ocaml-modules/irmin/default.nix
+++ b/pkgs/development/ocaml-modules/irmin/default.nix
@@ -1,6 +1,6 @@
-{ lib, fetchurl, buildDunePackage
-, astring, base64, digestif, fmt, jsonm, logs, ocaml_lwt, ocamlgraph, uri
-, alcotest, hex, ppx_irmin
+{ lib, buildDunePackage
+, astring, digestif, fmt, jsonm, logs, ocaml_lwt, ocamlgraph, uri
+, repr, ppx_irmin, bheap
 }:
 
 buildDunePackage {
@@ -11,10 +11,22 @@ buildDunePackage {
   useDune2 = true;
   minimumOCamlVersion = "4.07";
 
-  propagatedBuildInputs = [ astring base64 digestif fmt jsonm logs ocaml_lwt ocamlgraph uri ];
+  propagatedBuildInputs = [
+    astring
+    digestif
+    fmt
+    jsonm
+    logs
+    ocaml_lwt
+    ocamlgraph
+    uri
+    repr
+    bheap
+    ppx_irmin
+  ];
 
-  checkInputs = [ alcotest hex ppx_irmin ];
-  doCheck = true;
+  # circular dependency on irmin-mem
+  doCheck = false;
 
   meta = ppx_irmin.meta // {
     description = "A distributed database built on the same principles as Git";
diff --git a/pkgs/development/ocaml-modules/irmin/git.nix b/pkgs/development/ocaml-modules/irmin/git.nix
index b222bc53e3a21..a6c1e8af8fa48 100644
--- a/pkgs/development/ocaml-modules/irmin/git.nix
+++ b/pkgs/development/ocaml-modules/irmin/git.nix
@@ -1,6 +1,10 @@
-{ lib, buildDunePackage, git, irmin, irmin-mem, irmin-test, git-unix }:
+{ lib, buildDunePackage
+, git, irmin, irmin-test, ppx_irmin, git-cohttp-unix, git-unix
+, digestif, cstruct, fmt, astring, fpath, logs, lwt, uri
+, mtime, alcotest
+}:
 
-buildDunePackage rec {
+buildDunePackage {
 
   pname = "irmin-git";
 
@@ -8,9 +12,21 @@ buildDunePackage rec {
 
   useDune2 = true;
 
-  propagatedBuildInputs = [ git irmin ];
-
-  checkInputs = lib.optionals doCheck [ git-unix irmin-mem irmin-test ];
+  propagatedBuildInputs = [
+    git
+    irmin
+    ppx_irmin
+    digestif
+    cstruct
+    fmt
+    astring
+    fpath
+    logs
+    lwt
+    uri
+  ];
+
+  checkInputs = [ mtime alcotest git-cohttp-unix git-unix irmin-test ];
 
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/irmin/graphql.nix b/pkgs/development/ocaml-modules/irmin/graphql.nix
index 6e4598dd986a0..ca205cac4e154 100644
--- a/pkgs/development/ocaml-modules/irmin/graphql.nix
+++ b/pkgs/development/ocaml-modules/irmin/graphql.nix
@@ -1,4 +1,6 @@
-{ lib, buildDunePackage, cohttp-lwt, graphql-cohttp, graphql-lwt, irmin }:
+{ lib, buildDunePackage, cohttp-lwt, graphql-cohttp, graphql-lwt, irmin
+, alcotest, alcotest-lwt, logs, yojson, cohttp-lwt-unix
+}:
 
 buildDunePackage rec {
 
@@ -10,8 +12,14 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ cohttp-lwt graphql-cohttp graphql-lwt irmin ];
 
-  # test requires network
-  doCheck = false;
+  doCheck = true;
+  checkInputs = [
+    alcotest
+    alcotest-lwt
+    logs
+    cohttp-lwt-unix
+    yojson
+  ];
 
   meta = irmin.meta // {
     description = "GraphQL server for Irmin";
diff --git a/pkgs/development/ocaml-modules/irmin/http.nix b/pkgs/development/ocaml-modules/irmin/http.nix
index 24e9f52aa086a..b50e0b8734547 100644
--- a/pkgs/development/ocaml-modules/irmin/http.nix
+++ b/pkgs/development/ocaml-modules/irmin/http.nix
@@ -1,5 +1,5 @@
 { lib, buildDunePackage, cohttp-lwt, irmin, webmachine
-, checkseum, git-unix, irmin-git, irmin-mem, irmin-test
+, checkseum, git-unix, irmin-git, irmin-test, digestif, git-cohttp-unix
 }:
 
 buildDunePackage rec {
@@ -12,7 +12,7 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ cohttp-lwt irmin webmachine ];
 
-  checkInputs = lib.optionals doCheck [ checkseum git-unix irmin-git irmin-mem irmin-test ];
+  checkInputs = [ digestif checkseum git-cohttp-unix git-unix irmin-git irmin-test ];
 
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/irmin/layers.nix b/pkgs/development/ocaml-modules/irmin/layers.nix
new file mode 100644
index 0000000000000..40410b004ae74
--- /dev/null
+++ b/pkgs/development/ocaml-modules/irmin/layers.nix
@@ -0,0 +1,18 @@
+{ buildDunePackage, irmin, mtime, logs, lwt }:
+
+buildDunePackage {
+  pname = "irmin-layers";
+
+  inherit (irmin) version src useDune2;
+
+  propagatedBuildInputs = [
+    irmin
+    mtime
+    logs
+    lwt
+  ];
+
+  meta = irmin.meta // {
+    description = "Combine different Irmin stores into a single, layered store";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/irmin/mem.nix b/pkgs/development/ocaml-modules/irmin/mem.nix
deleted file mode 100644
index 1b8947849a922..0000000000000
--- a/pkgs/development/ocaml-modules/irmin/mem.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ lib, buildDunePackage, irmin, irmin-test }:
-
-buildDunePackage rec {
-
-  pname = "irmin-mem";
-
-  inherit (irmin) version src;
-
-  useDune2 = true;
-
-  propagatedBuildInputs = [ irmin ];
-
-  checkInputs = lib.optional doCheck irmin-test;
-
-  doCheck = true;
-
-  meta = irmin.meta // {
-    description = "Generic in-memory Irmin stores";
-  };
-
-}
diff --git a/pkgs/development/ocaml-modules/irmin/mirage-git.nix b/pkgs/development/ocaml-modules/irmin/mirage-git.nix
new file mode 100644
index 0000000000000..dfa84ff2335dc
--- /dev/null
+++ b/pkgs/development/ocaml-modules/irmin/mirage-git.nix
@@ -0,0 +1,27 @@
+{ buildDunePackage, irmin-mirage, irmin-git
+, mirage-kv, cohttp, conduit-lwt, conduit-mirage
+, git-cohttp-mirage, fmt, git, lwt, mirage-clock, uri
+}:
+
+buildDunePackage {
+  pname = "irmin-mirage-git";
+
+  inherit (irmin-mirage) version src useDune2;
+
+  propagatedBuildInputs = [
+    irmin-mirage
+    irmin-git
+    mirage-kv
+    cohttp
+    conduit-lwt
+    conduit-mirage
+    git-cohttp-mirage
+    fmt
+    git
+    lwt
+    mirage-clock
+    uri
+  ];
+
+  inherit (irmin-mirage) meta;
+}
diff --git a/pkgs/development/ocaml-modules/irmin/mirage-graphql.nix b/pkgs/development/ocaml-modules/irmin/mirage-graphql.nix
new file mode 100644
index 0000000000000..d550b9c924b1f
--- /dev/null
+++ b/pkgs/development/ocaml-modules/irmin/mirage-graphql.nix
@@ -0,0 +1,21 @@
+{ buildDunePackage, irmin-mirage, irmin-graphql
+, mirage-clock, cohttp-lwt, lwt, uri, git
+}:
+
+buildDunePackage {
+  pname = "irmin-mirage-graphql";
+
+  inherit (irmin-mirage) version src useDune2;
+
+  propagatedBuildInputs = [
+    irmin-mirage
+    irmin-graphql
+    mirage-clock
+    cohttp-lwt
+    lwt
+    uri
+    git
+  ];
+
+  inherit (irmin-mirage) meta;
+}
diff --git a/pkgs/development/ocaml-modules/irmin/mirage.nix b/pkgs/development/ocaml-modules/irmin/mirage.nix
new file mode 100644
index 0000000000000..675c8a3fdd28a
--- /dev/null
+++ b/pkgs/development/ocaml-modules/irmin/mirage.nix
@@ -0,0 +1,15 @@
+{ buildDunePackage, irmin, fmt, ptime, mirage-clock }:
+
+buildDunePackage {
+  pname = "irmin-mirage";
+
+  inherit (irmin) version src useDune2;
+
+  propagatedBuildInputs = [
+    irmin fmt ptime mirage-clock
+  ];
+
+  meta = irmin.meta // {
+    description = "MirageOS-compatible Irmin stores";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/irmin/pack.nix b/pkgs/development/ocaml-modules/irmin/pack.nix
index b0081eb366e4e..16ef675c1f8cc 100644
--- a/pkgs/development/ocaml-modules/irmin/pack.nix
+++ b/pkgs/development/ocaml-modules/irmin/pack.nix
@@ -1,4 +1,6 @@
-{ lib, buildDunePackage, alcotest-lwt, index, irmin, irmin-test, ocaml_lwt }:
+{ lib, buildDunePackage
+, alcotest-lwt, index, irmin, irmin-layers, irmin-test, ocaml_lwt, fpath
+}:
 
 buildDunePackage rec {
   minimumOCamlVersion = "4.02.3";
@@ -9,9 +11,10 @@ buildDunePackage rec {
 
   useDune2 = true;
 
-  propagatedBuildInputs = [ index irmin ocaml_lwt ];
+  buildInputs = [ fpath ];
+  propagatedBuildInputs = [ index irmin irmin-layers ocaml_lwt ];
 
-  checkInputs = lib.optionals doCheck [ alcotest-lwt irmin-test ];
+  checkInputs = [ alcotest-lwt irmin-test ];
 
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/irmin/ppx.nix b/pkgs/development/ocaml-modules/irmin/ppx.nix
index 35aa659fbc8a1..1d605763ab52f 100644
--- a/pkgs/development/ocaml-modules/irmin/ppx.nix
+++ b/pkgs/development/ocaml-modules/irmin/ppx.nix
@@ -1,29 +1,27 @@
-{ lib, fetchurl, buildDunePackage, ppxlib, ocaml-syntax-shims }:
+{ lib, fetchurl, buildDunePackage, ppxlib, ppx_repr }:
 
 buildDunePackage rec {
   pname = "ppx_irmin";
-  version = "2.2.0";
+  version = "2.5.1";
 
   src = fetchurl {
     url = "https://github.com/mirage/irmin/releases/download/${version}/irmin-${version}.tbz";
-    sha256 = "0gzw918b661qkvd140hilww9jsc49rxsxz1k4iihyvikjn202km4";
+    sha256 = "131pcgmpys6danprcbxzf4pdsl0ka74bpmmxz8db4507cvxhsz3n";
   };
 
-  minimumOCamlVersion = "4.06";
+  minimumOCamlVersion = "4.08";
 
   useDune2 = true;
 
-  buildInputs = [ ocaml-syntax-shims ];
-  propagatedBuildInputs = [ ppxlib ];
-
-  # tests depend on irmin, would create mutual dependency
-  # opt to test irmin instead of ppx_irmin
-  doCheck = false;
+  propagatedBuildInputs = [
+    ppx_repr
+    ppxlib
+  ];
 
   meta = {
     homepage = "https://irmin.org/";
     description = "PPX deriver for Irmin generics";
     license = lib.licenses.isc;
-    maintainers = [ lib.maintainers.vbgl ];
+    maintainers = with lib.maintainers; [ vbgl sternenseemann ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/irmin/test.nix b/pkgs/development/ocaml-modules/irmin/test.nix
index b8a3f3ae24575..90141d925e6f8 100644
--- a/pkgs/development/ocaml-modules/irmin/test.nix
+++ b/pkgs/development/ocaml-modules/irmin/test.nix
@@ -1,4 +1,6 @@
-{ buildDunePackage, alcotest, cmdliner, irmin, metrics-unix, mtime }:
+{ buildDunePackage
+, alcotest, cmdliner, irmin, metrics-unix, mtime, irmin-layers
+}:
 
 buildDunePackage {
 
@@ -8,7 +10,9 @@ buildDunePackage {
 
   useDune2 = true;
 
-  propagatedBuildInputs = [ alcotest cmdliner irmin metrics-unix mtime ];
+  propagatedBuildInputs = [
+    alcotest cmdliner irmin metrics-unix mtime irmin-layers
+  ];
 
   meta = irmin.meta // {
     description = "Irmin test suite";
diff --git a/pkgs/development/ocaml-modules/irmin/unix.nix b/pkgs/development/ocaml-modules/irmin/unix.nix
index 7a09eaabd3ec9..a3dfb5d508c2c 100644
--- a/pkgs/development/ocaml-modules/irmin/unix.nix
+++ b/pkgs/development/ocaml-modules/irmin/unix.nix
@@ -1,7 +1,7 @@
 { lib, buildDunePackage
-, checkseum, cmdliner, git-unix, yaml
-, irmin, irmin-fs, irmin-git, irmin-graphql, irmin-http, irmin-mem, irmin-pack, irmin-watcher
-, irmin-test
+, checkseum, cmdliner, git-unix, git-cohttp-unix, yaml, fpath
+, irmin, irmin-fs, irmin-git, irmin-graphql, irmin-http
+, irmin-pack, irmin-watcher, irmin-test
 }:
 
 buildDunePackage rec {
@@ -12,8 +12,10 @@ buildDunePackage rec {
 
   useDune2 = true;
 
-  propagatedBuildInputs = [ checkseum cmdliner git-unix yaml
-    irmin irmin-fs irmin-git irmin-graphql irmin-http irmin-mem irmin-pack irmin-watcher
+  propagatedBuildInputs = [
+    checkseum cmdliner git-unix yaml fpath
+    irmin irmin-fs irmin-git irmin-graphql irmin-http
+    irmin-pack irmin-watcher git-cohttp-unix
   ];
 
   checkInputs = lib.optional doCheck irmin-test;
diff --git a/pkgs/development/ocaml-modules/janestreet/0.14.nix b/pkgs/development/ocaml-modules/janestreet/0.14.nix
index 29b18e0bf9807..5632cfbb7c3c8 100644
--- a/pkgs/development/ocaml-modules/janestreet/0.14.nix
+++ b/pkgs/development/ocaml-modules/janestreet/0.14.nix
@@ -533,6 +533,14 @@ rec {
     propagatedBuildInputs = [ ppxlib ];
   };
 
+  ppx_log = janePackage {
+    pname = "ppx_log";
+    hash = "10hnr5lpww3fw0bnidzngalbgy0j1wvz1g5ki9c9h558pnpvsazr";
+    minimumOCamlVersion = "4.08.0";
+    meta.description = "Ppx_sexp_message-like extension nodes for lazily rendering log messages";
+    propagatedBuildInputs = [ async_unix ppx_jane sexplib ];
+  };
+
   ppx_module_timer = janePackage {
     pname = "ppx_module_timer";
     hash = "163q1rpblwv82fxwyf0p4j9zpsj0jzvkfmzb03r0l49gqhn89mp6";
diff --git a/pkgs/development/ocaml-modules/kafka/default.nix b/pkgs/development/ocaml-modules/kafka/default.nix
index 66055dca66e67..7636942033a95 100644
--- a/pkgs/development/ocaml-modules/kafka/default.nix
+++ b/pkgs/development/ocaml-modules/kafka/default.nix
@@ -1,18 +1,16 @@
-{ lib, fetchFromGitHub, buildDunePackage, base, cmdliner, ocaml_lwt,
-  rdkafka, zlib }:
+{ lib, fetchurl, buildDunePackage
+, rdkafka, zlib }:
 
 buildDunePackage rec {
   pname = "kafka";
-  version = "0.4";
+  version = "0.5";
 
-  src = fetchFromGitHub {
-    owner = "didier-wenzek";
-    repo = "ocaml-kafka";
-    rev = version;
-    sha256 = "0lb8x0wh7sf8v9mjwhq32azjz54kw49fsjfb7m76z4nhxfkjw5hy";
-  };
+  useDune2 = true;
 
-  buildInputs = [ base cmdliner ocaml_lwt zlib ];
+  src = fetchurl {
+    url = "https://github.com/didier-wenzek/ocaml-kafka/releases/download/${version}/kafka-${version}.tbz";
+    sha256 = "0m9212yap0a00hd0f61i4y4fna3141p77qj3mm7jl1h4q60jdhvy";
+  };
 
   propagatedBuildInputs = [ rdkafka zlib ];
 
@@ -20,7 +18,7 @@ buildDunePackage rec {
     homepage = "https://github.com/didier-wenzek/ocaml-kafka";
     description = "OCaml bindings for Kafka";
     license     = licenses.mit;
-    maintainers = [ maintainers.rixed ];
+    maintainers = [ maintainers.vbgl ];
   };
 }
 
diff --git a/pkgs/development/ocaml-modules/kafka/lwt.nix b/pkgs/development/ocaml-modules/kafka/lwt.nix
new file mode 100644
index 0000000000000..a6cef66b27615
--- /dev/null
+++ b/pkgs/development/ocaml-modules/kafka/lwt.nix
@@ -0,0 +1,19 @@
+{ buildDunePackage
+, kafka
+, lwt
+, cmdliner
+}:
+
+buildDunePackage rec {
+  pname = "kafka_lwt";
+
+  inherit (kafka) version useDune2 src;
+
+  buildInputs = [ cmdliner ];
+
+  propagatedBuildInputs = [ kafka lwt ];
+
+  meta = kafka.meta // {
+    description = "OCaml bindings for Kafka, Lwt bindings";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/linenoise/default.nix b/pkgs/development/ocaml-modules/linenoise/default.nix
index dd5504dda5ca3..eaeb053239e8f 100644
--- a/pkgs/development/ocaml-modules/linenoise/default.nix
+++ b/pkgs/development/ocaml-modules/linenoise/default.nix
@@ -4,6 +4,8 @@ buildDunePackage rec {
   pname = "linenoise";
   version = "1.3.0";
 
+  useDune2 = true;
+
   minimumOCamlVersion = "4.02";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/ocaml-modules/lwt-dllist/default.nix b/pkgs/development/ocaml-modules/lwt-dllist/default.nix
index 59e13330e58fe..28a6f5f43d7f6 100644
--- a/pkgs/development/ocaml-modules/lwt-dllist/default.nix
+++ b/pkgs/development/ocaml-modules/lwt-dllist/default.nix
@@ -4,6 +4,8 @@ buildDunePackage rec {
   pname = "lwt-dllist";
   version = "1.0.0";
 
+  useDune2 = true;
+
   minimumOCamlVersion = "4.03";
 
   src = fetchurl {
diff --git a/pkgs/development/ocaml-modules/lwt/default.nix b/pkgs/development/ocaml-modules/lwt/default.nix
index 83146ef9104b3..ee0c3b5b00cc0 100644
--- a/pkgs/development/ocaml-modules/lwt/default.nix
+++ b/pkgs/development/ocaml-modules/lwt/default.nix
@@ -1,21 +1,25 @@
 { lib, fetchzip, pkg-config, ncurses, libev, buildDunePackage, ocaml
-, cppo, ocaml-migrate-parsetree, ocplib-endian, result
+, cppo, dune-configurator, ocaml-migrate-parsetree, ocplib-endian, result
 , mmap, seq
+, ocaml-syntax-shims
 }:
 
 let inherit (lib) optional versionAtLeast; in
 
 buildDunePackage rec {
   pname = "lwt";
-  version = "5.3.0";
+  version = "5.4.0";
+
+  useDune2 = true;
 
   src = fetchzip {
     url = "https://github.com/ocsigen/${pname}/archive/${version}.tar.gz";
-    sha256 = "15hgy3220m2b8imipa514n7l65m1h5lc6l1hanqwwvs7ghh2aqp2";
+    sha256 = "1ay1zgadnw19r9hl2awfjr22n37l7rzxd9v73pjbahavwm2ay65d";
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ cppo ocaml-migrate-parsetree ]
+  buildInputs = [ cppo dune-configurator ocaml-migrate-parsetree ]
+   ++ optional (!versionAtLeast ocaml.version "4.08") ocaml-syntax-shims
    ++ optional (!versionAtLeast ocaml.version "4.07") ncurses;
   propagatedBuildInputs = [ libev mmap ocplib-endian seq result ];
 
diff --git a/pkgs/development/ocaml-modules/lwt_log/default.nix b/pkgs/development/ocaml-modules/lwt_log/default.nix
index 05a5a28dcd7ba..9213e1af94f27 100644
--- a/pkgs/development/ocaml-modules/lwt_log/default.nix
+++ b/pkgs/development/ocaml-modules/lwt_log/default.nix
@@ -4,6 +4,8 @@ buildDunePackage rec {
   pname = "lwt_log";
   version = "1.1.1";
 
+  useDune2 = true;
+
   minimumOCamlVersion = "4.02";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/ocaml-modules/lwt_ssl/default.nix b/pkgs/development/ocaml-modules/lwt_ssl/default.nix
index e74a743e6b186..173094aacb84c 100644
--- a/pkgs/development/ocaml-modules/lwt_ssl/default.nix
+++ b/pkgs/development/ocaml-modules/lwt_ssl/default.nix
@@ -5,6 +5,7 @@ buildDunePackage rec {
   version = "1.1.3";
 
   minimumOCamlVersion = "4.02";
+  useDune2 = true;
 
   src = fetchzip {
     url = "https://github.com/aantron/${pname}/archive/${version}.tar.gz";
diff --git a/pkgs/development/ocaml-modules/mdx/default.nix b/pkgs/development/ocaml-modules/mdx/default.nix
index 4418c50568c88..7051c51cc5cc9 100644
--- a/pkgs/development/ocaml-modules/mdx/default.nix
+++ b/pkgs/development/ocaml-modules/mdx/default.nix
@@ -1,20 +1,21 @@
 { lib, fetchurl, buildDunePackage, opaline, ocaml
 , alcotest
-, astring, cmdliner, cppo, fmt, logs, ocaml-migrate-parsetree, ocaml-version, odoc, ocaml_lwt, pandoc, re }:
+, astring, cmdliner, cppo, fmt, logs, ocaml-version, odoc, ocaml_lwt, re, result, csexp
+, pandoc}:
 
 buildDunePackage rec {
   pname = "mdx";
-  version = "1.8.0";
+  version = "1.8.1";
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/realworldocaml/mdx/releases/download/${version}/mdx-${version}.tbz";
-    sha256 = "1p2ip73da271as0x1gfbajik3mf1bkc8l54276vgacn1ja3saj52";
+    sha256 = "1szik1lyg2vs8jrisnvjdc29n0ifls8mghimff4jcz6f48haa3cv";
   };
 
   nativeBuildInputs = [ cppo ];
   buildInputs = [ cmdliner ];
-  propagatedBuildInputs = [ astring fmt logs ocaml-migrate-parsetree ocaml-version odoc re ];
+  propagatedBuildInputs = [ astring fmt logs result csexp ocaml-version odoc re ];
   checkInputs = [ alcotest ocaml_lwt pandoc ];
 
   doCheck = true;
diff --git a/pkgs/development/ocaml-modules/mirage-bootvar-unix/default.nix b/pkgs/development/ocaml-modules/mirage-bootvar-unix/default.nix
index 9b9a1ae185ecc..d34513afef9f1 100644
--- a/pkgs/development/ocaml-modules/mirage-bootvar-unix/default.nix
+++ b/pkgs/development/ocaml-modules/mirage-bootvar-unix/default.nix
@@ -6,6 +6,8 @@ buildDunePackage rec {
   pname = "mirage-bootvar-unix";
   version = "0.1.0";
 
+  useDune2 = true;
+
   src = fetchurl {
     url = "https://github.com/mirage/mirage-bootvar-unix/releases/download/${version}/mirage-bootvar-unix-${version}.tbz";
     sha256 = "0r92s6y7nxg0ci330a7p0hii4if51iq0sixn20cnm5j4a2clprbf";
diff --git a/pkgs/development/ocaml-modules/mirage-device/default.nix b/pkgs/development/ocaml-modules/mirage-device/default.nix
index d86d133dedb66..d233277b7a794 100644
--- a/pkgs/development/ocaml-modules/mirage-device/default.nix
+++ b/pkgs/development/ocaml-modules/mirage-device/default.nix
@@ -4,6 +4,8 @@ buildDunePackage rec {
   pname = "mirage-device";
   version = "2.0.0";
 
+  useDune2 = true;
+
   src = fetchurl {
     url = "https://github.com/mirage/mirage-device/releases/download/v${version}/mirage-device-v${version}.tbz";
     sha256 = "18alxyi6wlxqvb4lajjlbdfkgcajsmklxi9xqmpcz07j51knqa04";
diff --git a/pkgs/development/ocaml-modules/mmap/default.nix b/pkgs/development/ocaml-modules/mmap/default.nix
index 8ae1f4a9d47c4..b13639150b0d9 100644
--- a/pkgs/development/ocaml-modules/mmap/default.nix
+++ b/pkgs/development/ocaml-modules/mmap/default.nix
@@ -4,6 +4,8 @@ buildDunePackage rec {
   pname = "mmap";
   version = "1.1.0";
 
+  useDune2 = true;
+
   src = fetchurl {
     url = "https://github.com/mirage/mmap/releases/download/v${version}/mmap-v${version}.tbz";
     sha256 = "0l6waidal2n8mkdn74avbslvc10sf49f5d889n838z03pra5chsc";
diff --git a/pkgs/development/ocaml-modules/ocaml-gettext/default.nix b/pkgs/development/ocaml-modules/ocaml-gettext/default.nix
index ba571b32084e8..7525a10030eb3 100644
--- a/pkgs/development/ocaml-modules/ocaml-gettext/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-gettext/default.nix
@@ -6,6 +6,8 @@ buildDunePackage rec {
 
   minimumOCamlVersion = "4.03";
 
+  useDune2 = true;
+
   src = fetchurl {
     url = "https://github.com/gildor478/ocaml-gettext/releases/download/v${version}/gettext-v${version}.tbz";
     sha256 = "19ynsldb21r539fiwz1f43apsdnx7hj2a2d9qr9wg2hva9y2qrwb";
diff --git a/pkgs/development/ocaml-modules/ocaml-gettext/stub.nix b/pkgs/development/ocaml-modules/ocaml-gettext/stub.nix
index b18c0abc530bf..51e902b914086 100644
--- a/pkgs/development/ocaml-modules/ocaml-gettext/stub.nix
+++ b/pkgs/development/ocaml-modules/ocaml-gettext/stub.nix
@@ -1,14 +1,16 @@
-{ lib, buildDunePackage, ocaml_gettext, ounit }:
+{ buildDunePackage, ocaml_gettext, dune-configurator, ounit }:
 
 buildDunePackage rec {
 
   pname = "gettext-stub";
 
-  inherit (ocaml_gettext) src version meta;
+  inherit (ocaml_gettext) src version useDune2 meta;
+
+  buildInputs = [ dune-configurator ];
 
   propagatedBuildInputs = [ ocaml_gettext ];
 
   doCheck = true;
 
-  checkInputs = lib.optional doCheck ounit;
+  checkInputs = [ ounit ];
 }
diff --git a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix
index faadaf214f514..5d8d967bf4fd2 100644
--- a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix
+++ b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix
@@ -1,9 +1,11 @@
-{ lib, fetchFromGitHub, buildDunePackage, result, ppx_derivers }:
+{ lib, fetchFromGitHub, buildDunePackage, ocaml, result, ppx_derivers }:
 
 buildDunePackage rec {
    pname = "ocaml-migrate-parsetree";
    version = "1.8.0";
 
+   useDune2 = lib.versionAtLeast ocaml.version "4.08";
+
    src = fetchFromGitHub {
      owner = "ocaml-ppx";
      repo = pname;
diff --git a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/2.1.x.nix b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/2.1.x.nix
index afe3d34963ae6..ca88fe32416aa 100644
--- a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/2.1.x.nix
+++ b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/2.1.x.nix
@@ -4,6 +4,8 @@ buildDunePackage rec {
    pname = "ocaml-migrate-parsetree";
    version = "2.1.0";
 
+   useDune2 = true;
+
    minimumOCamlVersion = "4.02";
 
    src = fetchurl {
diff --git a/pkgs/development/ocaml-modules/ocaml-result/default.nix b/pkgs/development/ocaml-modules/ocaml-result/default.nix
index 2814c6c528064..2fda6f1440be9 100644
--- a/pkgs/development/ocaml-modules/ocaml-result/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-result/default.nix
@@ -1,9 +1,11 @@
-{ lib, buildDunePackage, fetchurl }:
+{ lib, buildDunePackage, fetchurl, ocaml }:
 
 buildDunePackage rec {
   pname = "result";
   version = "1.5";
 
+  useDune2 = lib.versionAtLeast ocaml.version "4.08";
+
   src = fetchurl {
     url = "https://github.com/janestreet/result/releases/download/${version}/result-${version}.tbz";
     sha256 = "0cpfp35fdwnv3p30a06wd0py3805qxmq3jmcynjc3x2qhlimwfkw";
diff --git a/pkgs/development/ocaml-modules/ocsigen-server/default.nix b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
index b4842da12dd77..cf869b6e5ef90 100644
--- a/pkgs/development/ocaml-modules/ocsigen-server/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
@@ -29,9 +29,8 @@ stdenv.mkDerivation rec {
     sha256 = "0xda4fj8p5102lh9xmrn5mv3s0ps6yykqj3mpjf72gf4zd6fzcn7";
   }) ];
 
-  buildInputs = [ which makeWrapper ocaml findlib
-    lwt_react pgocaml camlzip ocaml_sqlite3
-  ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ which ocaml findlib lwt_react pgocaml camlzip ocaml_sqlite3 ];
 
   propagatedBuildInputs = [ cryptokit ipaddr lwt_log lwt_ssl ocamlnet
     ocaml_pcre tyxml xml-light
diff --git a/pkgs/development/ocaml-modules/opam-core/default.nix b/pkgs/development/ocaml-modules/opam-core/default.nix
index 22c1ecdf70328..3106fe83fd70f 100644
--- a/pkgs/development/ocaml-modules/opam-core/default.nix
+++ b/pkgs/development/ocaml-modules/opam-core/default.nix
@@ -6,6 +6,8 @@ buildDunePackage rec {
 
   inherit (opam) src version;
 
+  useDune2 = true;
+
   nativeBuildInputs = [ unzip cppo ];
   propagatedBuildInputs = [ ocamlgraph re ];
 
diff --git a/pkgs/development/ocaml-modules/ounit2/default.nix b/pkgs/development/ocaml-modules/ounit2/default.nix
index 52676a1c88d91..0b68609584d4a 100644
--- a/pkgs/development/ocaml-modules/ounit2/default.nix
+++ b/pkgs/development/ocaml-modules/ounit2/default.nix
@@ -6,6 +6,8 @@ buildDunePackage rec {
   pname = "ounit2";
   version = "2.2.4";
 
+  useDune2 = lib.versionAtLeast ocaml.version "4.08";
+
   src = fetchurl {
     url = "https://github.com/gildor478/ounit/releases/download/v${version}/ounit-v${version}.tbz";
     sha256 = "0i9kiqbf2dp12c4qcvbn4abdpdp6h4g5z54ycsh0q8jpv6jnkh5m";
diff --git a/pkgs/development/ocaml-modules/parmap/default.nix b/pkgs/development/ocaml-modules/parmap/default.nix
index 5127dc3b1e6d5..37006bf30da67 100644
--- a/pkgs/development/ocaml-modules/parmap/default.nix
+++ b/pkgs/development/ocaml-modules/parmap/default.nix
@@ -2,11 +2,11 @@
 
 buildDunePackage rec {
   pname = "parmap";
-  version = "1.1.1";
+  version = "1.2";
 
   src = fetchurl {
     url = "https://github.com/rdicosmo/${pname}/releases/download/${version}/${pname}-${version}.tbz";
-    sha256 = "1pci7b1jqxkgmrbhr0p5j98i4van5nfmmb3sak8cyvxhwgna93j4";
+    sha256 = "sha256-XUXptzD0eytaypaBQ+EBp4iVFRE6/Y0inS93t/YZrM8=";
   };
 
   doCheck = true;
diff --git a/pkgs/development/ocaml-modules/parse-argv/default.nix b/pkgs/development/ocaml-modules/parse-argv/default.nix
index 64cc7c0c6b734..4bc409245eed6 100644
--- a/pkgs/development/ocaml-modules/parse-argv/default.nix
+++ b/pkgs/development/ocaml-modules/parse-argv/default.nix
@@ -7,6 +7,8 @@ buildDunePackage rec {
   pname = "parse-argv";
   version = "0.2.0";
 
+  useDune2 = true;
+
   minimumOCamlVersion = "4.03";
 
   src = fetchurl {
diff --git a/pkgs/development/ocaml-modules/ppx_bap/default.nix b/pkgs/development/ocaml-modules/ppx_bap/default.nix
new file mode 100644
index 0000000000000..f0a223c3db758
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ppx_bap/default.nix
@@ -0,0 +1,51 @@
+{ lib, buildDunePackage
+, fetchFromGitHub
+, ppx_assert
+, ppx_bench
+, ppx_bin_prot
+, ppx_compare
+, ppx_enumerate
+, ppx_hash
+, ppx_here
+, ppx_optcomp
+, ppx_sexp_conv
+, ppx_sexp_value
+}:
+
+buildDunePackage rec {
+  pname = "ppx_bap";
+  version = "0.14";
+  useDune2 = true;
+
+  minimumOCamlVersion = "4.07";
+
+  src = fetchFromGitHub {
+    owner = "BinaryAnalysisPlatform";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1c6rcdp8bicdiwqc2mb59cl9l2vxlp3y8hmnr9x924fq7acly248";
+  };
+
+  buildInputs = [
+    ppx_optcomp
+    ppx_sexp_value
+  ];
+
+  propagatedBuildInputs = [
+    ppx_assert
+    ppx_bench
+    ppx_bin_prot
+    ppx_compare
+    ppx_enumerate
+    ppx_hash
+    ppx_here
+    ppx_sexp_conv
+  ];
+
+  meta = {
+    description = "The set of ppx rewriters for BAP";
+    license = lib.licenses.mit;
+    inherit (src.meta) homepage;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ppx_derivers/default.nix b/pkgs/development/ocaml-modules/ppx_derivers/default.nix
index 3d4675ed90b9b..84dda38846fe5 100644
--- a/pkgs/development/ocaml-modules/ppx_derivers/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_derivers/default.nix
@@ -1,9 +1,11 @@
-{ lib, fetchFromGitHub, buildDunePackage }:
+{ lib, fetchFromGitHub, buildDunePackage, ocaml }:
 
 buildDunePackage rec {
   pname = "ppx_derivers";
   version = "1.2.1";
 
+  useDune2 = lib.versionAtLeast ocaml.version "4.08";
+
   minimumOCamlVersion = "4.02";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/ocaml-modules/ppx_deriving_protobuf/default.nix b/pkgs/development/ocaml-modules/ppx_deriving_protobuf/default.nix
index 7828f2172abcb..6f23af44b9496 100644
--- a/pkgs/development/ocaml-modules/ppx_deriving_protobuf/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_deriving_protobuf/default.nix
@@ -1,28 +1,24 @@
-{ lib, fetchFromGitHub, buildDunePackage, ocaml, cppo, ppx_tools, ppx_deriving
-, ppxfind }:
-
-if lib.versionAtLeast ocaml.version "4.11"
-then throw "ppx_deriving_protobuf is not available for OCaml ${ocaml.version}"
-else
+{ lib, fetchurl, buildDunePackage, cppo, ppx_deriving
+, ppxlib
+}:
 
 buildDunePackage rec {
   pname = "ppx_deriving_protobuf";
-  version = "2.7";
+  version = "3.0.0";
+
+  useDune2 = true;
 
-  src = fetchFromGitHub {
-    owner = "ocaml-ppx";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "0aq4f3gbkhhai0c8i5mcw2kpqy8l610f4dknwkrxh0nsizwbwryn";
+  src = fetchurl {
+    url = "https://github.com/ocaml-ppx/ppx_deriving_protobuf/releases/download/v${version}/ppx_deriving_protobuf-v${version}.tbz";
+    sha256 = "1dc1vxnkd0cnrgac5v3zbaj2lq1d2w8118mp1cmsdxylp06yz1sj";
   };
 
-  buildInputs = [ cppo ppx_tools ppxfind ppx_deriving ];
+  buildInputs = [ cppo ppxlib ppx_deriving ];
 
   meta = with lib; {
     homepage = "https://github.com/ocaml-ppx/ppx_deriving_protobuf";
     description = "A Protocol Buffers codec generator for OCaml";
     license = licenses.mit;
     maintainers = [ maintainers.vyorkin ];
-    broken = true;
   };
 }
diff --git a/pkgs/development/ocaml-modules/ppx_yojson_conv_lib/default.nix b/pkgs/development/ocaml-modules/ppx_yojson_conv_lib/default.nix
index 442a4126a897b..07d817d229381 100644
--- a/pkgs/development/ocaml-modules/ppx_yojson_conv_lib/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_yojson_conv_lib/default.nix
@@ -4,6 +4,8 @@ buildDunePackage rec {
   pname = "ppx_yojson_conv_lib";
   version = "0.14.0";
 
+  useDune2 = true;
+
   minimumOCamlVersion = "4.02.3";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/ocaml-modules/psmt2-frontend/default.nix b/pkgs/development/ocaml-modules/psmt2-frontend/default.nix
index 30fb5de7cb8e4..dbdf3970f6367 100644
--- a/pkgs/development/ocaml-modules/psmt2-frontend/default.nix
+++ b/pkgs/development/ocaml-modules/psmt2-frontend/default.nix
@@ -1,35 +1,27 @@
-{ stdenv, lib, fetchFromGitHub, autoreconfHook, ocaml, findlib, menhir }:
+{ lib, fetchFromGitHub, buildDunePackage, menhir }:
 
-if !lib.versionAtLeast ocaml.version "4.03"
-then throw "psmt2-frontend is not available for OCaml ${ocaml.version}"
-else
-
-stdenv.mkDerivation rec {
-  version = "0.2";
-  name = "ocaml${ocaml.version}-psmt2-frontend-${version}";
+buildDunePackage rec {
+  version = "0.3.1";
+  pname = "psmt2-frontend";
 
   src = fetchFromGitHub {
-    owner = "Coquera";
-    repo = "psmt2-frontend";
+    owner = "ACoquereau";
+    repo = pname;
     rev = version;
-    sha256 = "097zmbrx4gp2gnrxdmsm9lkkp5450gwi0blpxqy3833m6k5brx3n";
+    sha256 = "038jrfsq09nhnzpjiishg4adk09w3aw1bpczgbj66lqqilkd6gci";
   };
 
-  prefixKey = "-prefix ";
-
-  nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ ocaml findlib menhir ];
+  useDune2 = true;
 
-  createFindlibDestdir = true;
+  minimumOCamlVersion = "4.03";
 
-  installFlags = [ "LIBDIR=$(OCAMLFIND_DESTDIR)" ];
+  buildInputs = [ menhir ];
 
   meta = {
     description = "A simple parser and type-checker for polomorphic extension of the SMT-LIB 2 language";
     license = lib.licenses.asl20;
     maintainers = [ lib.maintainers.vbgl ];
     inherit (src.meta) homepage;
-    inherit (ocaml.meta) platforms;
   };
 
 }
diff --git a/pkgs/development/ocaml-modules/ptime/default.nix b/pkgs/development/ocaml-modules/ptime/default.nix
index 50ad5ea94eb94..d99ec7ed32088 100644
--- a/pkgs/development/ocaml-modules/ptime/default.nix
+++ b/pkgs/development/ocaml-modules/ptime/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg, result, js_of_ocaml }:
+{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg, result, js_of_ocaml
+, jsooSupport ? true
+}:
 
 stdenv.mkDerivation rec {
   version = "0.8.5";
@@ -10,11 +12,12 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ ocaml findlib ocamlbuild ];
-  buildInputs = [ findlib topkg js_of_ocaml ];
+  buildInputs = [ findlib topkg ]
+    ++ lib.optional jsooSupport js_of_ocaml;
 
   propagatedBuildInputs = [ result ];
 
-  buildPhase = "${topkg.run} build --with-js_of_ocaml true";
+  buildPhase = "${topkg.run} build --with-js_of_ocaml ${lib.boolToString jsooSupport}";
 
   inherit (topkg) installPhase;
 
diff --git a/pkgs/development/ocaml-modules/qcheck/core.nix b/pkgs/development/ocaml-modules/qcheck/core.nix
index 03de70237a46d..e1b3503b54180 100644
--- a/pkgs/development/ocaml-modules/qcheck/core.nix
+++ b/pkgs/development/ocaml-modules/qcheck/core.nix
@@ -2,7 +2,7 @@
 
 buildDunePackage rec {
   pname = "qcheck-core";
-  version = "0.16";
+  version = "0.17";
 
   useDune2 = true;
 
@@ -12,7 +12,7 @@ buildDunePackage rec {
     owner = "c-cube";
     repo = "qcheck";
     rev = version;
-    sha256 = "1s5dpqj8zvd3wr2w3fp4wb6yc57snjpxzzfv9fb6l9qgigswwjdr";
+    sha256 = "0qfyqhfg98spmfci9z6f527a16gwjnx2lrbbgw67p37ys5acrfar";
   };
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/qtest/default.nix b/pkgs/development/ocaml-modules/qtest/default.nix
index d5829127a8bcb..5e9a89a837693 100644
--- a/pkgs/development/ocaml-modules/qtest/default.nix
+++ b/pkgs/development/ocaml-modules/qtest/default.nix
@@ -2,7 +2,7 @@
 
 buildDunePackage rec {
   pname = "qtest";
-  version = "2.11.1";
+  version = "2.11.2";
 
   useDune2 = true;
 
@@ -10,7 +10,7 @@ buildDunePackage rec {
     owner = "vincent-hugot";
     repo = pname;
     rev = "v${version}";
-    sha256 = "01aaqnblpkrkv1b2iy5cwn92vxdj4yjiav9s2nvvrqz5m8b9hi1f";
+    sha256 = "sha256-VLY8+Nu6md0szW4RVxTFwlSQ9kyrgUqf7wQEA6GW8BE=";
   };
 
   propagatedBuildInputs = [ qcheck ];
diff --git a/pkgs/development/ocaml-modules/re/default.nix b/pkgs/development/ocaml-modules/re/default.nix
index ca3cf1e826756..4734d4a9bf524 100644
--- a/pkgs/development/ocaml-modules/re/default.nix
+++ b/pkgs/development/ocaml-modules/re/default.nix
@@ -6,6 +6,8 @@ buildDunePackage rec {
 
   minimumOCamlVersion = "4.02";
 
+  useDune2 = lib.versionAtLeast ocaml.version "4.08";
+
   src = fetchurl {
     url = "https://github.com/ocaml/ocaml-re/releases/download/${version}/re-${version}.tbz";
     sha256 = "1gas4ky49zgxph3870nffzkr6y41kkpqp4nj38pz1gh49zcf12aj";
diff --git a/pkgs/development/ocaml-modules/resource-pooling/default.nix b/pkgs/development/ocaml-modules/resource-pooling/default.nix
index 773fb76bcc75c..51407f6b49df8 100644
--- a/pkgs/development/ocaml-modules/resource-pooling/default.nix
+++ b/pkgs/development/ocaml-modules/resource-pooling/default.nix
@@ -4,6 +4,8 @@ buildDunePackage rec {
   version = "1.1";
   pname = "resource-pooling";
 
+  useDune2 = true;
+
   minimumOCamlVersion = "4.06";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/ocaml-modules/semaphore-compat/default.nix b/pkgs/development/ocaml-modules/semaphore-compat/default.nix
new file mode 100644
index 0000000000000..a686ef42e7084
--- /dev/null
+++ b/pkgs/development/ocaml-modules/semaphore-compat/default.nix
@@ -0,0 +1,20 @@
+{ lib, buildDunePackage, fetchurl }:
+
+buildDunePackage rec {
+  pname = "semaphore-compat";
+  version = "1.0.1";
+
+  src = fetchurl {
+    url = "https://github.com/mirage/semaphore-compat/releases/download/${version}/semaphore-compat-${version}.tbz";
+    sha256 = "139c5rxdp4dg1jcwyyxvhxr8213l1xdl2ab0mc288rfcppsiyxrb";
+  };
+
+  useDune2 = true;
+
+  meta = with lib; {
+    description = "Compatibility Semaphore module";
+    homepage = "https://github.com/mirage/semaphore-compat";
+    license = licenses.lgpl21Only;
+    maintainers = [ maintainers.sternenseemann ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/sha/default.nix b/pkgs/development/ocaml-modules/sha/default.nix
new file mode 100644
index 0000000000000..a506e6795fd18
--- /dev/null
+++ b/pkgs/development/ocaml-modules/sha/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, fetchurl
+, buildDunePackage
+, ounit
+}:
+
+buildDunePackage rec {
+  pname = "sha";
+  version = "1.13";
+
+  useDune2 = true;
+
+  src = fetchurl {
+    url = "https://github.com/djs55/ocaml-${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
+    sha256 = "00z2s4fsv9i1h09rj5dy3nd9hhcn79b75sn2ljj5wihlf4y4g304";
+  };
+
+  doCheck = true;
+  checkInputs = [ ounit ];
+
+  meta = with lib; {
+    description = "Binding for SHA interface code in OCaml";
+    maintainers = [ maintainers.arthurteisseire ];
+    homepage = "https://github.com/djs55/ocaml-${pname}";
+    license = licenses.isc;
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/ssl/default.nix b/pkgs/development/ocaml-modules/ssl/default.nix
index 9a574a0457a54..1f4fd7b858056 100644
--- a/pkgs/development/ocaml-modules/ssl/default.nix
+++ b/pkgs/development/ocaml-modules/ssl/default.nix
@@ -1,17 +1,20 @@
-{ lib, buildDunePackage, fetchFromGitHub, pkg-config, openssl }:
+{ lib, buildDunePackage, fetchFromGitHub, pkg-config, openssl
+, dune-configurator }:
 
 buildDunePackage rec {
   pname = "ssl";
-  version = "0.5.9";
+  version = "0.5.10";
 
   src = fetchFromGitHub {
     owner = "savonet";
     repo = "ocaml-ssl";
-    rev = version;
-    sha256 = "04h02rvzrwp886n5hsx84rnc9b150iggy38g5v1x1rwz3pkdnmf0";
+    rev = "v${version}";
+    sha256 = "1rszqiqayh67xlwd5411k8vib47x9kapdr037z1majd2c14z3kcb";
   };
 
+  useDune2 = true;
   nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ dune-configurator ];
   propagatedBuildInputs = [openssl];
 
   meta = {
@@ -20,6 +23,7 @@ buildDunePackage rec {
     license = "LGPL+link exception";
     maintainers = [
       lib.maintainers.maggesi
+      lib.maintainers.anmonteiro
     ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/stdint/default.nix b/pkgs/development/ocaml-modules/stdint/default.nix
index bffef61956e29..52d97e12998f0 100644
--- a/pkgs/development/ocaml-modules/stdint/default.nix
+++ b/pkgs/development/ocaml-modules/stdint/default.nix
@@ -1,18 +1,43 @@
-{ lib, fetchFromGitHub, buildDunePackage }:
+{ lib, fetchurl, fetchpatch, buildDunePackage, qcheck }:
 
 buildDunePackage rec {
   pname = "stdint";
-  version = "0.6.0";
+  version = "0.7.0";
 
-  minimumOCamlVersion = "4.07";
+  useDune2 = true;
 
-  src = fetchFromGitHub {
-    owner = "andrenth";
-    repo = "ocaml-stdint";
-    rev = version;
-    sha256 = "19ccxs0vij81vyc9nqc9kbr154ralb9dgc2y2nr71a5xkx6xfn0y";
+  minimumOCamlVersion = "4.03";
+
+  src = fetchurl {
+    url = "https://github.com/andrenth/ocaml-stdint/releases/download/${version}/stdint-${version}.tbz";
+    sha256 = "4fcc66aef58e2b96e7af3bbca9d910aa239e045ba5fb2400aaef67d0041252dc";
   };
 
+  patches = [
+    # fix test bug, remove at next release
+    (fetchpatch {
+      url = "https://github.com/andrenth/ocaml-stdint/commit/fc64293f99f597cdfd4470954da6fb323988e2af.patch";
+      sha256 = "0nxck14vfjfzldsf8cdj2jg1cvhnyh37hqnrcxbdkqmpx4rxkbxs";
+    })
+  ];
+
+  # 1. disable remaining broken tests, see
+  #    https://github.com/andrenth/ocaml-stdint/issues/59
+  # 2. fix tests to liberal test range
+  #    https://github.com/andrenth/ocaml-stdint/pull/61
+  postPatch = ''
+    substituteInPlace tests/stdint_test.ml \
+      --replace 'test "An integer should perform left-shifts correctly"' \
+                'skip "An integer should perform left-shifts correctly"' \
+      --replace 'test "Logical shifts must not sign-extend"' \
+                'skip "Logical shifts must not sign-extend"' \
+      --replace 'let pos_int = QCheck.map_same_type abs in_range' \
+                'let pos_int = QCheck.int_range 0 maxi'
+  '';
+
+  doCheck = true;
+  checkInputs = [ qcheck ];
+
   meta = {
     description = "Various signed and unsigned integers for OCaml";
     homepage = "https://github.com/andrenth/ocaml-stdint";
diff --git a/pkgs/development/ocaml-modules/stdlib-shims/default.nix b/pkgs/development/ocaml-modules/stdlib-shims/default.nix
index d76ec29e63aa5..470a2a5bd030f 100644
--- a/pkgs/development/ocaml-modules/stdlib-shims/default.nix
+++ b/pkgs/development/ocaml-modules/stdlib-shims/default.nix
@@ -2,11 +2,12 @@
 
 buildDunePackage rec {
   pname = "stdlib-shims";
-  version = "0.1.0";
+  version = "0.3.0";
   src = fetchurl {
     url = "https://github.com/ocaml/${pname}/releases/download/${version}/${pname}-${version}.tbz";
-    sha256 = "1jv6yb47f66239m7hsz7zzw3i48mjpbvfgpszws48apqx63wjwsk";
+    sha256 = "0jnqsv6pqp5b5g7lcjwgd75zqqvcwcl5a32zi03zg1kvj79p5gxs";
   };
+  useDune2 = lib.versionAtLeast ocaml.version "4.08";
   minimumOCamlVersion = "4.02";
   doCheck = true;
   meta = {
diff --git a/pkgs/development/ocaml-modules/tyxml/default.nix b/pkgs/development/ocaml-modules/tyxml/default.nix
index 5d5e7dedd2332..bf0e06507c9ec 100644
--- a/pkgs/development/ocaml-modules/tyxml/default.nix
+++ b/pkgs/development/ocaml-modules/tyxml/default.nix
@@ -4,6 +4,8 @@ buildDunePackage rec {
   pname = "tyxml";
   version = "4.4.0";
 
+  useDune2 = true;
+
   src = fetchurl {
     url = "https://github.com/ocsigen/tyxml/releases/download/${version}/tyxml-${version}.tbz";
     sha256 = "0c150h2f4c4id73ickkdqkir3jya66m6c7f5jxlp4caw9bfr8qsi";
diff --git a/pkgs/development/ocaml-modules/uucp/default.nix b/pkgs/development/ocaml-modules/uucp/default.nix
index 020b256c72f54..bb70ff6a4b7ef 100644
--- a/pkgs/development/ocaml-modules/uucp/default.nix
+++ b/pkgs/development/ocaml-modules/uucp/default.nix
@@ -1,12 +1,16 @@
-{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, uchar, uutf, uunf }:
+{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, uchar, uutf, uunf, uucd }:
 
 let
   pname = "uucp";
-  version = "11.0.0";
+  version = "13.0.0";
   webpage = "https://erratique.ch/software/${pname}";
+  minimumOCamlVersion = "4.03";
+  doCheck = true;
 in
 
-assert lib.versionAtLeast ocaml.version "4.01";
+if !(lib.versionAtLeast ocaml.version minimumOCamlVersion)
+then builtins.throw "${pname} needs at least OCaml ${minimumOCamlVersion}"
+else
 
 stdenv.mkDerivation {
 
@@ -14,17 +18,29 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "${webpage}/releases/${pname}-${version}.tbz";
-    sha256 = "0pidg2pmqsifmk4xx9cc5p5jprhg26xb68g1xddjm7sjzbdzhlm4";
+    sha256 = "sha256-OPpHbCOC/vMFdyHwyhCSisUv2PyO8xbeY2oq1a9HbqY=";
   };
 
   buildInputs = [ ocaml findlib ocamlbuild topkg uutf uunf ];
 
   propagatedBuildInputs = [ uchar ];
 
-  buildPhase = "${topkg.buildPhase} --with-cmdliner false";
+  buildPhase = ''
+    runHook preBuild
+    ${topkg.buildPhase} --with-cmdliner false --tests ${lib.boolToString doCheck}
+    runHook postBuild
+  '';
 
   inherit (topkg) installPhase;
 
+  inherit doCheck;
+  checkPhase = ''
+    runHook preCheck
+    ${topkg.run} test
+    runHook postCheck
+  '';
+  checkInputs = [ uucd ];
+
   meta = with lib; {
     description = "An OCaml library providing efficient access to a selection of character properties of the Unicode character database";
     homepage = webpage;
diff --git a/pkgs/development/ocaml-modules/wodan/irmin.nix b/pkgs/development/ocaml-modules/wodan/irmin.nix
index a42259af9e6b8..86064d887dbb8 100644
--- a/pkgs/development/ocaml-modules/wodan/irmin.nix
+++ b/pkgs/development/ocaml-modules/wodan/irmin.nix
@@ -15,6 +15,12 @@ buildDunePackage rec {
     wodan
   ];
 
-  meta = wodan.meta // { description = "Wodan as an Irmin store"; };
-
+  meta = wodan.meta // {
+    # wodan is currently incompatible with irmin 2.3.0.
+    # additionally upgrading to current master (unclear
+    # if the issue is fixed there) is not possible as it
+    # depends on a custom fork of mirage-block
+    broken = true;
+    description = "Wodan as an Irmin store";
+  };
 }
diff --git a/pkgs/development/ocaml-modules/xenstore/default.nix b/pkgs/development/ocaml-modules/xenstore/default.nix
index 666106fdb17ad..189920290e379 100644
--- a/pkgs/development/ocaml-modules/xenstore/default.nix
+++ b/pkgs/development/ocaml-modules/xenstore/default.nix
@@ -1,5 +1,5 @@
 { lib, buildDunePackage, fetchurl
-, cstruct, ppx_cstruct, lwt, ounit
+, cstruct, ppx_cstruct, lwt, ounit, stdlib-shims
 }:
 
 buildDunePackage rec {
@@ -16,7 +16,7 @@ buildDunePackage rec {
   };
 
   nativeBuildInputs = [ ppx_cstruct ];
-  propagatedBuildInputs = [ cstruct lwt ];
+  propagatedBuildInputs = [ stdlib-shims cstruct lwt ];
 
   doCheck = true;
   checkInputs = [ ounit ];
diff --git a/pkgs/development/ocaml-modules/yojson/default.nix b/pkgs/development/ocaml-modules/yojson/default.nix
index c9bf285b7bdaa..07025be296ce2 100644
--- a/pkgs/development/ocaml-modules/yojson/default.nix
+++ b/pkgs/development/ocaml-modules/yojson/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchzip, ocaml, findlib, dune, cppo, easy-format, biniou }:
+{ lib, stdenv, fetchzip, ocaml, findlib, dune_2, cppo, easy-format, biniou }:
 let
   pname = "yojson";
   param =
@@ -6,7 +6,7 @@ let
     version = "1.7.0";
     url = "https://github.com/ocaml-community/yojson/releases/download/${version}/yojson-${version}.tbz";
     sha256 = "08llz96if8bcgnaishf18si76cv11zbkni0aldb54k3cn7ipiqvd";
-    nativeBuildInputs = [ dune ];
+    nativeBuildInputs = [ dune_2 ];
     extra = {
       installPhase = ''
         dune install --prefix $out --libdir $OCAMLFIND_DESTDIR ${pname}
diff --git a/pkgs/development/ocaml-modules/zmq/default.nix b/pkgs/development/ocaml-modules/zmq/default.nix
index d454d244959fd..9779004085c3d 100644
--- a/pkgs/development/ocaml-modules/zmq/default.nix
+++ b/pkgs/development/ocaml-modules/zmq/default.nix
@@ -1,9 +1,12 @@
-{ lib, fetchFromGitHub, buildDunePackage, czmq, stdint }:
+{ lib, fetchFromGitHub, buildDunePackage, dune-configurator, czmq, stdint }:
 
 buildDunePackage rec {
   minimumOCamlVersion = "4.03";
   pname = "zmq";
   version = "20180726";
+
+  useDune2 = true;
+
   src = fetchFromGitHub {
     owner = "issuu";
     repo = "ocaml-zmq";
@@ -11,7 +14,7 @@ buildDunePackage rec {
     sha256 = "1f5l4bw78y4drabhyvmpj3z8k30bill33ca7bzhr02m55yf6gqpf";
   };
 
-  buildInputs = [ czmq ];
+  buildInputs = [ czmq dune-configurator ];
 
   propagatedBuildInputs = [ stdint ];
 
diff --git a/pkgs/development/ocaml-modules/zmq/lwt.nix b/pkgs/development/ocaml-modules/zmq/lwt.nix
index f8fc06791b1bc..6717e787f199c 100644
--- a/pkgs/development/ocaml-modules/zmq/lwt.nix
+++ b/pkgs/development/ocaml-modules/zmq/lwt.nix
@@ -2,7 +2,7 @@
 
 buildDunePackage {
   pname = "zmq-lwt";
-  inherit (zmq) version src meta;
+  inherit (zmq) version src useDune2 meta;
 
   propagatedBuildInputs = [ zmq ocaml_lwt ];
 }
diff --git a/pkgs/development/octave-modules/arduino/default.nix b/pkgs/development/octave-modules/arduino/default.nix
new file mode 100644
index 0000000000000..f6536108e6cc3
--- /dev/null
+++ b/pkgs/development/octave-modules/arduino/default.nix
@@ -0,0 +1,33 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, instrument-control
+, arduino
+}:
+
+buildOctavePackage rec {
+  pname = "arduino";
+  version = "0.6.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0fnfk206n31s7diijaylmqhxnr88z6l3l3vsxq4z8gcp9ylm9nkj";
+  };
+
+  requiredOctavePackages = [
+    instrument-control
+  ];
+
+  # Might be able to use pkgs.arduino-core
+  propagatedBuildInputs = [
+    arduino
+  ];
+
+  meta = with lib; {
+    name = "Octave Arduino Toolkit";
+    homepage = "https://octave.sourceforge.io/arduino/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Basic Octave implementation of the matlab arduino extension, allowing communication to a programmed arduino board to control its hardware";
+  };
+}
diff --git a/pkgs/development/octave-modules/audio/default.nix b/pkgs/development/octave-modules/audio/default.nix
new file mode 100644
index 0000000000000..4fafefd6f75de
--- /dev/null
+++ b/pkgs/development/octave-modules/audio/default.nix
@@ -0,0 +1,36 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, jack2
+, alsaLib
+, rtmidi
+, pkg-config
+}:
+
+buildOctavePackage rec {
+  pname = "audio";
+  version = "2.0.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "18lyvwmdy4b9pcv5sm7g17n3is32q23daw8fcsalkf4rj6cc6qdk";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  propagatedBuildInputs = [
+    jack2
+    alsaLib
+    rtmidi
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/audio/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Audio and MIDI Toolbox for GNU Octave";
+    platforms = platforms.linux; # Because of run-time dependency on jack2 and alsaLib
+  };
+}
diff --git a/pkgs/development/octave-modules/bim/default.nix b/pkgs/development/octave-modules/bim/default.nix
new file mode 100644
index 0000000000000..5dc8ca88710d6
--- /dev/null
+++ b/pkgs/development/octave-modules/bim/default.nix
@@ -0,0 +1,28 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, fpl
+, msh
+}:
+
+buildOctavePackage rec {
+  pname = "bim";
+  version = "1.1.5";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0y70w8mj80c5yns1j7nwngwwrxp1pa87kyz2n2yvmc3zdigcd6g8";
+  };
+
+  requiredOctavePackages = [
+    fpl
+    msh
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/bim/index.html";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Package for solving Diffusion Advection Reaction (DAR) Partial Differential Equations";
+  };
+}
diff --git a/pkgs/development/octave-modules/bsltl/default.nix b/pkgs/development/octave-modules/bsltl/default.nix
new file mode 100644
index 0000000000000..aefe543b097d2
--- /dev/null
+++ b/pkgs/development/octave-modules/bsltl/default.nix
@@ -0,0 +1,21 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "bsltl";
+  version = "1.3.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0i8ry347y5f5db3702nhpsmfys9v18ks2fsmpdqpy3fcvrwaxdsb";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/bsltl/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Free collection of OCTAVE/MATLAB routines for working with the biospeckle laser technique";
+  };
+}
diff --git a/pkgs/development/octave-modules/cgi/default.nix b/pkgs/development/octave-modules/cgi/default.nix
new file mode 100644
index 0000000000000..4686881251afa
--- /dev/null
+++ b/pkgs/development/octave-modules/cgi/default.nix
@@ -0,0 +1,21 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "cgi";
+  version = "0.1.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0hygj7cpwrs2w9bfb7qrvv7gq410bfiddqvza8smg766pqmfp1s1";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/cgi/index.html";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Common Gateway Interface for Octave";
+  };
+}
diff --git a/pkgs/development/octave-modules/communications/default.nix b/pkgs/development/octave-modules/communications/default.nix
new file mode 100644
index 0000000000000..492c837255f78
--- /dev/null
+++ b/pkgs/development/octave-modules/communications/default.nix
@@ -0,0 +1,31 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, signal
+, hdf5
+}:
+
+buildOctavePackage rec {
+  pname = "communications";
+  version = "1.2.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "1xay2vjyadv3ja8dmqqzm2his8s0rvidz23nq1c2yl3xh1gavyck";
+  };
+
+  buildInputs = [
+    hdf5
+  ];
+
+  requiredOctavePackages = [
+    signal
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/communications/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = " Digital Communications, Error Correcting Codes (Channel Code), Source Code functions, Modulation and Galois Fields";
+  };
+}
diff --git a/pkgs/development/octave-modules/control/default.nix b/pkgs/development/octave-modules/control/default.nix
new file mode 100644
index 0000000000000..2d61e30cc60cd
--- /dev/null
+++ b/pkgs/development/octave-modules/control/default.nix
@@ -0,0 +1,31 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, gfortran
+, lapack, blas
+}:
+
+buildOctavePackage rec {
+  pname = "control";
+  version = "3.2.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0gjyjsxs01x0nyc4cgn3d5af17l3lzs8h4hsm57nxd3as48dbwgs";
+  };
+
+  nativeBuildInputs = [
+    gfortran
+  ];
+
+  buildInputs = [
+    lapack blas
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/control/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Computer-Aided Control System Design (CACSD) Tools for GNU Octave, based on the proven SLICOT Library";
+  };
+}
diff --git a/pkgs/development/octave-modules/data-smoothing/default.nix b/pkgs/development/octave-modules/data-smoothing/default.nix
new file mode 100644
index 0000000000000..551582a77703e
--- /dev/null
+++ b/pkgs/development/octave-modules/data-smoothing/default.nix
@@ -0,0 +1,26 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, optim
+}:
+
+buildOctavePackage rec {
+  pname = "data-smoothing";
+  version = "1.3.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0q0vqdmp8ygyfhk296xbxcpsh5wvpa2kfgv4v0rys68nd2lxfaq1";
+  };
+
+  requiredOctavePackages = [
+    optim
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/data-smoothing/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Algorithms for smoothing noisy data";
+  };
+}
diff --git a/pkgs/development/octave-modules/database/default.nix b/pkgs/development/octave-modules/database/default.nix
new file mode 100644
index 0000000000000..3e1fe863276cd
--- /dev/null
+++ b/pkgs/development/octave-modules/database/default.nix
@@ -0,0 +1,31 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, struct
+, postgresql
+}:
+
+buildOctavePackage rec {
+  pname = "database";
+  version = "2.4.4";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "1c0n76adi0jw6bx62s04vjyda6kb6ca8lzz2vam43vdy10prcq9p";
+  };
+
+  propagatedBuildInputs = [
+    postgresql
+  ];
+
+  requiredOctavePackages = [
+    struct
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/database/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Interface to SQL databases, currently only postgresql using libpq";
+  };
+}
diff --git a/pkgs/development/octave-modules/dataframe/default.nix b/pkgs/development/octave-modules/dataframe/default.nix
new file mode 100644
index 0000000000000..8f145f0d510c2
--- /dev/null
+++ b/pkgs/development/octave-modules/dataframe/default.nix
@@ -0,0 +1,21 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "dataframe";
+  version = "1.2.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "10ara084gkb7d5vxv9qv7zpj8b4mm5y06nccrdy3skw5nfbb4djx";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/dataframe/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Data manipulation toolbox similar to R data.frame";
+  };
+}
diff --git a/pkgs/development/octave-modules/dicom/default.nix b/pkgs/development/octave-modules/dicom/default.nix
new file mode 100644
index 0000000000000..e16b6447805ea
--- /dev/null
+++ b/pkgs/development/octave-modules/dicom/default.nix
@@ -0,0 +1,33 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, gdcm
+, cmake
+}:
+
+buildOctavePackage rec {
+  pname = "dicom";
+  version = "0.4.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "131wn6mrv20np10plirvqia8dlpz3g0aqi3mmn2wyl7r95p3dnza";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  dontUseCmakeConfigure = true;
+
+  propagatedBuildInputs = [
+    gdcm
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/dicom/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Digital communications in medicine (DICOM) file io";
+  };
+}
diff --git a/pkgs/development/octave-modules/divand/default.nix b/pkgs/development/octave-modules/divand/default.nix
new file mode 100644
index 0000000000000..ac8de9060680a
--- /dev/null
+++ b/pkgs/development/octave-modules/divand/default.nix
@@ -0,0 +1,21 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "divand";
+  version = "1.1.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0nmaz5j37dflz7p4a4lmwzkh7g1gghdh7ccvkbyy0fpgv9lr1amg";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/divand/index.html";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Performs an n-dimensional variational analysis (interpolation) of arbitrarily located observations";
+  };
+}
diff --git a/pkgs/development/octave-modules/doctest/default.nix b/pkgs/development/octave-modules/doctest/default.nix
new file mode 100644
index 0000000000000..3c02a20cdad15
--- /dev/null
+++ b/pkgs/development/octave-modules/doctest/default.nix
@@ -0,0 +1,28 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "doctest";
+  version = "0.7.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0hh9izj9ds69bmrvmmj16fd1c4z7733h50c7isl8f714srw26kf4";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/doctest/index.html";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Find and run example code within documentation";
+    longDescription = ''
+      Find and run example code within documentation. Formatted blocks
+      of example code are extracted from documentation files and executed
+      to confirm their output is correct. This can be part of a testing
+      framework or simply to ensure that documentation stays up-to-date
+      during software development.
+    '';
+  };
+}
diff --git a/pkgs/development/octave-modules/econometrics/default.nix b/pkgs/development/octave-modules/econometrics/default.nix
new file mode 100644
index 0000000000000..0aa795959ab6b
--- /dev/null
+++ b/pkgs/development/octave-modules/econometrics/default.nix
@@ -0,0 +1,26 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, optim
+}:
+
+buildOctavePackage rec {
+  pname = "econometrics";
+  version = "1.1.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "1srx78k90ycla7yisa9h593n9l8br31lsdxlspra8sxiyq0sbk72";
+  };
+
+  requiredOctavePackages = [
+    optim
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/econometrics/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Econometrics functions including MLE and GMM based techniques";
+  };
+}
diff --git a/pkgs/development/octave-modules/fem-fenics/default.nix b/pkgs/development/octave-modules/fem-fenics/default.nix
new file mode 100644
index 0000000000000..300dfd758774e
--- /dev/null
+++ b/pkgs/development/octave-modules/fem-fenics/default.nix
@@ -0,0 +1,35 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, dolfin
+, ffc
+, pkg-config
+}:
+
+buildOctavePackage rec {
+  pname = "fem-fenics";
+  version = "0.0.5";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "1xd80nnkschldvrqx0wvrg3fzbf8sck8bvq24phr5x49xs7b8x78";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  propagatedBuildInputs = [
+    dolfin
+    ffc
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/fem-fenics/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Package for the resolution of partial differential equations based on fenics";
+    # Lots of compilation errors for newer octave versions and syntax errors
+    broken = true;
+  };
+}
diff --git a/pkgs/development/octave-modules/financial/default.nix b/pkgs/development/octave-modules/financial/default.nix
new file mode 100644
index 0000000000000..5fb6a00df78b0
--- /dev/null
+++ b/pkgs/development/octave-modules/financial/default.nix
@@ -0,0 +1,23 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, io
+, statistics
+}:
+
+buildOctavePackage rec {
+  pname = "financial";
+  version = "0.5.3";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0f963yg6pwvrdk5fg7b71ny47gzy48nqxdzj2ngcfrvmb5az4vmf";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/financial/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Monte Carlo simulation, options pricing routines, financial manipulation, plotting functions and additional date manipulation tools";
+  };
+}
diff --git a/pkgs/development/octave-modules/fits/default.nix b/pkgs/development/octave-modules/fits/default.nix
new file mode 100644
index 0000000000000..9d236cb9f1fa5
--- /dev/null
+++ b/pkgs/development/octave-modules/fits/default.nix
@@ -0,0 +1,41 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, cfitsio
+, hdf5
+, pkg-config
+}:
+
+buildOctavePackage rec {
+  pname = "fits";
+  version = "1.0.7";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0jab5wmrpifqphmrfkqcyrlpc0h4y4m735yc3avqqjajz1rl24lm";
+  };
+
+  # Found here: https://build.opensuse.org/package/view_file/science/octave-forge-fits/octave-forge-fits.spec?expand=1
+  patchPhase = ''
+    sed -i -s -e 's/D_NINT/octave::math::x_nint/g' src/*.cc
+  '';
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    hdf5
+  ];
+
+  propagatedBuildInputs = [
+    cfitsio
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/fits/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Functions for reading, and writing FITS (Flexible Image Transport System) files using cfitsio";
+  };
+}
diff --git a/pkgs/development/octave-modules/fpl/default.nix b/pkgs/development/octave-modules/fpl/default.nix
new file mode 100644
index 0000000000000..e5b276c0c20de
--- /dev/null
+++ b/pkgs/development/octave-modules/fpl/default.nix
@@ -0,0 +1,21 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "fpl";
+  version = "1.3.5";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0cbpahn9flrv9ppp5xakhwh8vyyy7wzlsz22i3s93yqg9q2bh4ys";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/fpl/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Collection of routines to export data produced by Finite Elements or Finite Volume Simulations in formats used by some visualization programs";
+  };
+}
diff --git a/pkgs/development/octave-modules/fuzzy-logic-toolkit/default.nix b/pkgs/development/octave-modules/fuzzy-logic-toolkit/default.nix
new file mode 100644
index 0000000000000..5cb567b2bb85d
--- /dev/null
+++ b/pkgs/development/octave-modules/fuzzy-logic-toolkit/default.nix
@@ -0,0 +1,21 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "fuzzy-logic-toolkit";
+  version = "0.4.5";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0cs1xh594h1psdinicxrsvm27gzax5jja7bjk4sl3kk2hv24mhml";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/fuzzy-logic-toolkit/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "A mostly MATLAB-compatible fuzzy logic toolkit for Octave";
+  };
+}
diff --git a/pkgs/development/octave-modules/ga/default.nix b/pkgs/development/octave-modules/ga/default.nix
new file mode 100644
index 0000000000000..a5265a4ce4505
--- /dev/null
+++ b/pkgs/development/octave-modules/ga/default.nix
@@ -0,0 +1,21 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "ga";
+  version = "0.10.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0s5azn4n174avlmh5gw21zfqfkyxkzn4v09q4l9swv7ldmg3mirv";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/ga/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Genetic optimization code";
+  };
+}
diff --git a/pkgs/development/octave-modules/general/default.nix b/pkgs/development/octave-modules/general/default.nix
new file mode 100644
index 0000000000000..52ad9af93b0f4
--- /dev/null
+++ b/pkgs/development/octave-modules/general/default.nix
@@ -0,0 +1,31 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, pkg-config
+, nettle
+}:
+
+buildOctavePackage rec {
+  pname = "general";
+  version = "2.1.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0jmvczssqz1aa665v9h8k9cchb7mg3n9af6b5kh9b2qcjl4r9l7v";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    nettle
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/general/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "General tools for Octave";
+  };
+}
diff --git a/pkgs/development/octave-modules/generate_html/default.nix b/pkgs/development/octave-modules/generate_html/default.nix
new file mode 100644
index 0000000000000..83f3a65bedc23
--- /dev/null
+++ b/pkgs/development/octave-modules/generate_html/default.nix
@@ -0,0 +1,27 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "generate_html";
+  version = "0.3.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "1ai4h7jf9fqi7w565iprzylsh94pg4rhyf51hfj9kfdgdpb1abfs";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/generate_html/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Provides functions for generating HTML pages that contain the help texts for a set of functions";
+    longDescription = ''
+      This package provides functions for generating HTML pages that contain
+      the help texts for a set of functions. The package is designed to be as
+      general as possible, but also contains convenience functions for generating
+      a set of pages for entire packages.
+    '';
+  };
+}
diff --git a/pkgs/development/octave-modules/geometry/default.nix b/pkgs/development/octave-modules/geometry/default.nix
new file mode 100644
index 0000000000000..b4bf57262faec
--- /dev/null
+++ b/pkgs/development/octave-modules/geometry/default.nix
@@ -0,0 +1,26 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, matgeom
+}:
+
+buildOctavePackage rec {
+  pname = "geometry";
+  version = "4.0.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "1zmd97xir62fr5v57xifh2cvna5fg67h9yb7bp2vm3ll04y41lhs";
+  };
+
+  requiredOctavePackages = [
+    matgeom
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/geometry/index.html";
+    license = with licenses; [ gpl3Plus boost ];
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Library for extending MatGeom functionality";
+  };
+}
diff --git a/pkgs/development/octave-modules/gsl/default.nix b/pkgs/development/octave-modules/gsl/default.nix
new file mode 100644
index 0000000000000..5922c015dbdf0
--- /dev/null
+++ b/pkgs/development/octave-modules/gsl/default.nix
@@ -0,0 +1,26 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, gsl
+}:
+
+buildOctavePackage rec {
+  pname = "gsl";
+  version = "2.1.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "1lvfxbqmw8h1nlrxmvrl6j4xffmbzxfhdpxz3vrc6lg2g4jwaa6h";
+  };
+
+  buildInputs = [
+    gsl
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/gsl/index.html";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Octave bindings to the GNU Scientific Library";
+  };
+}
diff --git a/pkgs/development/octave-modules/image-acquisition/default.nix b/pkgs/development/octave-modules/image-acquisition/default.nix
new file mode 100644
index 0000000000000..08c4305999b36
--- /dev/null
+++ b/pkgs/development/octave-modules/image-acquisition/default.nix
@@ -0,0 +1,32 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, libv4l
+, fltk
+}:
+
+buildOctavePackage rec {
+  pname = "image-acquisition";
+  version = "0.2.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "1amp6npkddnnz2i5rm6gvn65qrbn0nxzl2cja3dvc2xqg396wrhh";
+  };
+
+  buildInputs = [
+    libv4l
+    fltk
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/image-acquisition/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Functions to capture images from connected devices";
+    longDescription = ''
+      The Octave-forge Image Aquisition package provides functions to
+      capture images from connected devices. Currently only v4l2 is supported.
+    '';
+  };
+}
diff --git a/pkgs/development/octave-modules/image/default.nix b/pkgs/development/octave-modules/image/default.nix
new file mode 100644
index 0000000000000..8bff55fadc64f
--- /dev/null
+++ b/pkgs/development/octave-modules/image/default.nix
@@ -0,0 +1,27 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "image";
+  version = "2.12.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "1d3kqhbkq9acc29k42fcilfmykk9a0r321mvk46l5iibc7nqrmg7";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/image/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Functions for processing images";
+    longDescription = ''
+       The Octave-forge Image package provides functions for processing
+       images. The package also provides functions for feature extraction,
+       image statistics, spatial and geometric transformations, morphological
+       operations, linear filtering, and much more.
+    '';
+  };
+}
diff --git a/pkgs/development/octave-modules/instrument-control/default.nix b/pkgs/development/octave-modules/instrument-control/default.nix
new file mode 100644
index 0000000000000..51c8f300cc592
--- /dev/null
+++ b/pkgs/development/octave-modules/instrument-control/default.nix
@@ -0,0 +1,21 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "instrument-control";
+  version = "0.6.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0vckax6rx5v3fq5j6kb6n39a5zas9i24x4wvmjlhc8xbykkg5nkk";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/instrument-control/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Low level I/O functions for serial, i2c, spi, parallel, tcp, gpib, vxi11, udp and usbtmc interfaces";
+  };
+}
diff --git a/pkgs/development/octave-modules/interval/default.nix b/pkgs/development/octave-modules/interval/default.nix
new file mode 100644
index 0000000000000..0891a6143852d
--- /dev/null
+++ b/pkgs/development/octave-modules/interval/default.nix
@@ -0,0 +1,39 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, mpfr
+}:
+
+buildOctavePackage rec {
+  pname = "interval";
+  version = "3.2.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0a0sz7b4y53qgk1xr4pannn4w7xiin2pf74x7r54hrr1wf4abp20";
+  };
+
+  propagatedBuildInputs = [
+    mpfr
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/interval/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Interval arithmetic to evaluate functions over subsets of their domain";
+    longDescription = ''
+       The interval package for real-valued interval arithmetic allows one to
+       evaluate functions over subsets of their domain. All results are verified,
+       because interval computations automatically keep track of any errors.
+
+       These concepts can be used to handle uncertainties, estimate arithmetic
+       errors and produce reliable results. Also it can be applied to
+       computer-assisted proofs, constraint programming, and verified computing.
+
+       The implementation is based on interval boundaries represented by
+       binary64 numbers and is conforming to IEEE Std 1788-2015, IEEE standard
+       for interval arithmetic.
+    '';
+  };
+}
diff --git a/pkgs/development/octave-modules/io/default.nix b/pkgs/development/octave-modules/io/default.nix
new file mode 100644
index 0000000000000..57058c5f95de5
--- /dev/null
+++ b/pkgs/development/octave-modules/io/default.nix
@@ -0,0 +1,32 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, enableJava
+, jdk
+, unzip
+}:
+
+buildOctavePackage rec {
+  pname = "io";
+  version = "2.6.3";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "044y8lfp93fx0592mv6x2ss0nvjkjgvlci3c3ahav76pk1j3rikb";
+  };
+
+  buildInputs = [
+    (lib.optional enableJava jdk)
+  ];
+
+  propagatedBuildInputs = [
+    unzip
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/io/index.html";
+    license = with licenses; [ gpl3Plus bsd2 ];
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Input/Output in external formats";
+  };
+}
diff --git a/pkgs/development/octave-modules/level-set/default.nix b/pkgs/development/octave-modules/level-set/default.nix
new file mode 100644
index 0000000000000..d1f882904d598
--- /dev/null
+++ b/pkgs/development/octave-modules/level-set/default.nix
@@ -0,0 +1,54 @@
+{ buildOctavePackage
+, lib
+, fetchgit
+, automake
+, autoconf
+, autoconf-archive
+, parallel
+}:
+
+buildOctavePackage rec {
+  pname = "level-set";
+  version = "2019-04-13";
+
+  src = fetchgit {
+    url = "https://git.code.sf.net/p/octave/${pname}";
+    rev = "dbf46228a7582eef4fe5470fd00bc5b421dd33a5";
+    sha256 = "14qwa4j24m2j7njw8gbagkgmp040h6k0h7kyrrzgb9y0jm087qkl";
+    fetchSubmodules = false;
+  };
+
+  # The monstrosity of a regex below is to ensure that only error() calls are
+  # corrected to have a %s format specifier. However, logic_error() also
+  # exists, (a simple regex also matches that), but logic_error() doesn't
+  # require a format specifier. So, this regex was born to handle that...
+  patchPhase = ''
+    substituteInPlace build.sh --replace "level-set-0.3.1" "${pname}-${version}" \
+                               --replace "\`pwd\`" '/build'
+    sed -i -E 's#[^[:graph:]]error \(# error \(\"%s\", #g' src/*.cpp
+  '';
+
+  nativeBuildInputs = [
+    automake
+    autoconf
+    autoconf-archive
+  ];
+
+  requiredOctavePackages = [
+    parallel
+  ];
+
+  preBuild = ''
+    mkdir -p $out
+    source ./build.sh
+    cd -
+  '';
+
+  meta = with lib; {
+    name = "Level Set";
+    homepage = "https://octave.sourceforge.io/level-set/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Routines for calculating the time-evolution of the level-set equation and extracting geometric information from the level-set function";
+  };
+}
diff --git a/pkgs/development/octave-modules/linear-algebra/default.nix b/pkgs/development/octave-modules/linear-algebra/default.nix
new file mode 100644
index 0000000000000..18818c1db6064
--- /dev/null
+++ b/pkgs/development/octave-modules/linear-algebra/default.nix
@@ -0,0 +1,22 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "linear-algebra";
+  version = "2.2.3";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "1wwjpxp9vjc6lszh0z3kgy4hyzpib8rvvh6b74ijh9qk9r9nmvjk";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/linear-algebra/index.html";
+    license = with licenses; [ gpl3Plus lgpl3Plus ];
+    # They claim to have a FreeBSD license, but none of their code seems to have it.
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Additional linear algebra code, including matrix functions";
+  };
+}
diff --git a/pkgs/development/octave-modules/lssa/default.nix b/pkgs/development/octave-modules/lssa/default.nix
new file mode 100644
index 0000000000000..f737c104f3021
--- /dev/null
+++ b/pkgs/development/octave-modules/lssa/default.nix
@@ -0,0 +1,27 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "lssa";
+  version = "0.1.4";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "10h9lzsi7pqh93i7y50b618g05fnbw9n0i505bz5kz4avfa990zh";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/lssa/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Tools to compute spectral decompositions of irregularly-spaced time series";
+    longDescription = ''
+       A package implementing tools to compute spectral decompositions of
+       irregularly-spaced time series. Currently includes functions based off
+       the Lomb-Scargle periodogram and Adolf Mathias' implementation for R
+       and C.
+    '';
+  };
+}
diff --git a/pkgs/development/octave-modules/ltfat/default.nix b/pkgs/development/octave-modules/ltfat/default.nix
new file mode 100644
index 0000000000000..505670f6298b1
--- /dev/null
+++ b/pkgs/development/octave-modules/ltfat/default.nix
@@ -0,0 +1,54 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, fftw
+, fftwSinglePrec
+, fftwFloat
+, fftwLongDouble
+, lapack
+, blas
+, portaudio
+, jdk
+}:
+
+buildOctavePackage rec {
+  pname = "ltfat";
+  version = "2.3.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0gghh5a4w649ff776wvidfvqas87m0n7rqs960pid1d11bnyqqrh";
+  };
+
+  patches = [
+    # Fixes a syntax error with performing multiplication.
+    ./syntax-error.patch
+  ];
+
+  buildInputs = [
+    fftw
+    fftwSinglePrec
+    fftwFloat
+    fftwLongDouble
+    lapack
+    blas
+    portaudio
+    jdk
+  ];
+
+  meta = with lib; {
+    name = "The Large Time-Frequency Analysis Toolbox";
+    homepage = "https://octave.sourceforge.io/ltfat/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Toolbox for working with time-frequency analysis, wavelets and signal processing";
+    longDescription = ''
+      The Large Time/Frequency Analysis Toolbox (LTFAT) is a Matlab/Octave
+      toolbox for working with time-frequency analysis, wavelets and signal
+      processing. It is intended both as an educational and a computational
+      tool. The toolbox provides a large number of linear transforms including
+      Gabor and wavelet transforms along with routines for constructing windows
+      (filter prototypes) and routines for manipulating coefficients.
+    '';
+  };
+}
diff --git a/pkgs/development/octave-modules/ltfat/syntax-error.patch b/pkgs/development/octave-modules/ltfat/syntax-error.patch
new file mode 100644
index 0000000000000..732030b704342
--- /dev/null
+++ b/pkgs/development/octave-modules/ltfat/syntax-error.patch
@@ -0,0 +1,15 @@
+diff --git a/inst/nonstatgab/nsdgt.m b/inst/nonstatgab/nsdgt.m
+index ac53963..81656cb 100644
+--- a/inst/nonstatgab/nsdgt.m
++++ b/inst/nonstatgab/nsdgt.m
+@@ -149,8 +149,8 @@ for ii = 1:N
+         col = ceil(Lg/M(ii));
+         
+         temp = zeros(col*M(ii),W,assert_classname(f,g{1}));
+-        temp([end-floor(Lg/2)+1:end,1:ceil(Lg/2)],:) = bsxfun(@ ...
+-                                                          times,f(win_range,:),g{ii}(idx));
++        temp([end-floor(Lg/2)+1:end,1:ceil(Lg/2)],:) = bsxfun(@times, ...
++                                                          f(win_range,:),g{ii}(idx));
+         
+         temp = reshape(temp,M(ii),col,W);
+         X = squeeze(fft(sum(temp,2)));
diff --git a/pkgs/development/octave-modules/mapping/default.nix b/pkgs/development/octave-modules/mapping/default.nix
new file mode 100644
index 0000000000000..26cea27a7253d
--- /dev/null
+++ b/pkgs/development/octave-modules/mapping/default.nix
@@ -0,0 +1,28 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, io # >= 2.2.7
+, geometry # >= 4.0.0
+}:
+
+buildOctavePackage rec {
+  pname = "mapping";
+  version = "1.4.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0wj0q1rkrqs4qgpjh4vn9kcpdh94pzr6v4jc1vcrjwkp87yjv8c0";
+  };
+
+  requiredOctavePackages = [
+    io
+    geometry
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/mapping/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Simple mapping and GIS .shp .dxf and raster file functions";
+  };
+}
diff --git a/pkgs/development/octave-modules/matgeom/default.nix b/pkgs/development/octave-modules/matgeom/default.nix
new file mode 100644
index 0000000000000..b8607cf5dff93
--- /dev/null
+++ b/pkgs/development/octave-modules/matgeom/default.nix
@@ -0,0 +1,21 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "matgeom";
+  version = "1.2.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "05xfmlh1k3mhq8yag7gr8q1ysl1s43vm46fr1i3gcg9b1kkwi8by";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/matgeom/index.html";
+    license = with licenses; [ bsd2 gpl3Plus ];
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Geometry toolbox for 2D/3D geometric computing";
+  };
+}
diff --git a/pkgs/development/octave-modules/miscellaneous/default.nix b/pkgs/development/octave-modules/miscellaneous/default.nix
new file mode 100644
index 0000000000000..74c3879aa9efa
--- /dev/null
+++ b/pkgs/development/octave-modules/miscellaneous/default.nix
@@ -0,0 +1,34 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+# Build-time dependencies
+, mlterm
+, ncurses # >= 5
+, units
+}:
+
+buildOctavePackage rec {
+  pname = "miscellaneous";
+  version = "1.3.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "10n107njz24ln7v9a1l3dkh7s7vd6qwgbinrj1nl4wflxsir4l9k";
+  };
+
+  buildInputs = [
+    mlterm
+    ncurses
+  ];
+
+  propagatedBuildInputs = [
+    units
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/miscellaneous/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Miscellaneous tools that don't fit somewhere else";
+  };
+}
diff --git a/pkgs/development/octave-modules/msh/default.nix b/pkgs/development/octave-modules/msh/default.nix
new file mode 100644
index 0000000000000..a4e876c8128f8
--- /dev/null
+++ b/pkgs/development/octave-modules/msh/default.nix
@@ -0,0 +1,56 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+# Octave Dependencies
+, splines
+# Other Dependencies
+, gmsh
+, gawk
+, pkg-config
+, dolfin
+, autoconf, automake
+}:
+
+buildOctavePackage rec {
+  pname = "msh";
+  version = "1.0.10";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "1mb5qrp9y1w1cbzrd9v84430ldy57ca843yspnrgbcqpxyyxbgfz";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    autoconf automake
+    dolfin
+  ];
+
+  buildInputs = [
+    dolfin
+  ];
+
+  propagatedBuildInputs = [
+    gmsh
+    gawk
+    dolfin
+  ];
+
+  requiredOctavePackages = [
+    splines
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/msh/index.html";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Create and manage triangular and tetrahedral meshes for Finite Element or Finite Volume PDE solvers";
+    longDescription = ''
+      Create and manage triangular and tetrahedral meshes for Finite Element or
+      Finite Volume PDE solvers. Use a mesh data structure compatible with
+      PDEtool. Rely on gmsh for unstructured mesh generation.
+    '';
+    # Not technically broken, but missing some functionality.
+    # dolfin needs to be its own stand-alone library for the last tests to pass.
+  };
+}
diff --git a/pkgs/development/octave-modules/mvn/default.nix b/pkgs/development/octave-modules/mvn/default.nix
new file mode 100644
index 0000000000000..06fd1905604dd
--- /dev/null
+++ b/pkgs/development/octave-modules/mvn/default.nix
@@ -0,0 +1,21 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "mvn";
+  version = "1.1.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "00w69hxqnqdm3744z6p7gvzci44a3gy228x6bgq3xf5n3jwicnmg";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/mvn/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Multivariate normal distribution clustering and utility functions";
+  };
+}
diff --git a/pkgs/development/octave-modules/nan/default.nix b/pkgs/development/octave-modules/nan/default.nix
new file mode 100644
index 0000000000000..a0517db714bda
--- /dev/null
+++ b/pkgs/development/octave-modules/nan/default.nix
@@ -0,0 +1,26 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, blas
+}:
+
+buildOctavePackage rec {
+  pname = "nan";
+  version = "3.5.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0bp8zl50f8qj5sivl88kjdswm035v4li33fiq3v1gmh0pvgbcw7a";
+  };
+
+  buildInputs = [
+    blas
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/nan/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "A statistics and machine learning toolbox for data with and w/o missing values";
+  };
+}
diff --git a/pkgs/development/octave-modules/ncarray/default.nix b/pkgs/development/octave-modules/ncarray/default.nix
new file mode 100644
index 0000000000000..10db554c87fcd
--- /dev/null
+++ b/pkgs/development/octave-modules/ncarray/default.nix
@@ -0,0 +1,31 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, netcdf
+, statistics
+}:
+
+buildOctavePackage rec {
+  pname = "ncarray";
+  version = "1.0.4";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0v96iziikvq2v7hczhbfs9zmk49v99kn6z3lgibqqpwam175yqgd";
+  };
+
+  buildInputs = [
+    netcdf
+  ];
+
+  requiredOctavePackages = [
+    statistics
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/ncarray/index.html";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Access a single or a collection of NetCDF files as a multi-dimensional array";
+  };
+}
diff --git a/pkgs/development/octave-modules/netcdf/default.nix b/pkgs/development/octave-modules/netcdf/default.nix
new file mode 100644
index 0000000000000..9292da6918cd5
--- /dev/null
+++ b/pkgs/development/octave-modules/netcdf/default.nix
@@ -0,0 +1,26 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, netcdf
+}:
+
+buildOctavePackage rec {
+  pname = "netcdf";
+  version = "1.0.14";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "1wdwl76zgcg7kkdxjfjgf23ylzb0x4dyfliffylyl40g6cjym9lf";
+  };
+
+  buildInputs = [
+    netcdf
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/netcdf/index.html";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "A NetCDF interface for Octave";
+  };
+}
diff --git a/pkgs/development/octave-modules/nurbs/default.nix b/pkgs/development/octave-modules/nurbs/default.nix
new file mode 100644
index 0000000000000..e5e26d7bb952f
--- /dev/null
+++ b/pkgs/development/octave-modules/nurbs/default.nix
@@ -0,0 +1,30 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "nurbs";
+  version = "1.3.13";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0zkyldm63pc3pcal3yvj6af24cvpjvv9qfhf0ihhwcsh4w3yggyv";
+  };
+
+  # Has been fixed in more recent commits, but has not been pushed out as a
+  # new version yet.
+  # The sed changes allow nurbs to compile.
+  patchPhase = ''
+    sed -i s/feval/octave::feval/g src/*.cc
+    sed -i s/is_real_type/isreal/g src/*.cc
+    sed -i s/is_cell/iscell/g src/*.cc
+  '';
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/nurbs/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Collection of routines for the creation, and manipulation of Non-Uniform Rational B-Splines (NURBS), based on the NURBS toolbox by Mark Spink";
+  };
+}
diff --git a/pkgs/development/octave-modules/ocl/default.nix b/pkgs/development/octave-modules/ocl/default.nix
new file mode 100644
index 0000000000000..0e47160ad0ea4
--- /dev/null
+++ b/pkgs/development/octave-modules/ocl/default.nix
@@ -0,0 +1,26 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "ocl";
+  version = "1.1.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0ayi5x9zk9p4zm0qsr3i94lyp5468c9d1a7mqrqjqpdvkhrw0xnm";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/ocl/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Use OpenCL for parallelization";
+    longDescription = ''
+       Package using OpenCL for parallelization, mostly suitable to
+       Single-Instruction-Multiple-Data (SIMD) computations, selectively
+       using available OpenCL hardware and drivers.
+    '';
+  };
+}
diff --git a/pkgs/development/octave-modules/octclip/default.nix b/pkgs/development/octave-modules/octclip/default.nix
new file mode 100644
index 0000000000000..43bcfcd7d849b
--- /dev/null
+++ b/pkgs/development/octave-modules/octclip/default.nix
@@ -0,0 +1,29 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "octclip";
+  version = "2.0.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "05ijh3izgfaan84n6zp690nap9vnz0zicjd0cgvd1c6askm7vxql";
+  };
+
+  # The only compilation problem is that no formatting specifier was provided
+  # for the error function. Because errorText is a string, I provide such a
+  # formatting specifier.
+  patchPhase = ''
+    sed -i s/"error(errorText)"/"error(\"%s\", errorText)"/g src/*.cc
+  '';
+
+  meta = with lib; {
+    name = "GNU Octave Clipping Polygons Tool";
+    homepage = "https://octave.sourceforge.io/octclip/index.html";
+    license = with licenses; [ gpl3Plus ]; # modified BSD?
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Perform boolean operations with polygons using the Greiner-Hormann algorithm";
+  };
+}
diff --git a/pkgs/development/octave-modules/octproj/default.nix b/pkgs/development/octave-modules/octproj/default.nix
new file mode 100644
index 0000000000000..74596c015f856
--- /dev/null
+++ b/pkgs/development/octave-modules/octproj/default.nix
@@ -0,0 +1,32 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, proj # >= 6.3.0
+}:
+
+buildOctavePackage rec {
+  pname = "octproj";
+  version = "2.0.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "1mb8gb0r8kky47ap85h9qqdvs40mjp3ya0nkh45gqhy67ml06paq";
+  };
+
+  # The sed changes below allow for the package to be compiled.
+  patchPhase = ''
+    sed -i s/"error(errorText)"/"error(\"%s\", errorText)"/g src/*.cc
+    sed -i s/"warning(errorText)"/"warning(\"%s\", errorText)"/g src/*.cc
+  '';
+
+  propagatedBuildInputs = [
+    proj
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/octproj/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "GNU Octave bindings to PROJ library for cartographic projections and CRS transformations";
+  };
+}
diff --git a/pkgs/development/octave-modules/optics/default.nix b/pkgs/development/octave-modules/optics/default.nix
new file mode 100644
index 0000000000000..1324c6cd4ba33
--- /dev/null
+++ b/pkgs/development/octave-modules/optics/default.nix
@@ -0,0 +1,21 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "optics";
+  version = "0.1.4";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "1d9z82241a1zmr8m1vgw10pyk81vn0q4dcyx7d05pigfn5gykrgc";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/optics/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Functions covering various aspects of optics";
+  };
+}
diff --git a/pkgs/development/octave-modules/optim/default.nix b/pkgs/development/octave-modules/optim/default.nix
new file mode 100644
index 0000000000000..b9561faafb127
--- /dev/null
+++ b/pkgs/development/octave-modules/optim/default.nix
@@ -0,0 +1,36 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, struct
+, statistics
+, lapack
+, blas
+}:
+
+buildOctavePackage rec {
+  pname = "optim";
+  version = "1.6.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "1z2h8gy99glxh5qi3r22am2vdirlbklkq0lx4r8jrx1ak7awh47r";
+  };
+
+  buildInputs = [
+    lapack
+    blas
+  ];
+
+  requiredOctavePackages = [
+    struct
+    statistics
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/optim/index.html";
+    license = with licenses; [ gpl3Plus publicDomain ];
+    # Modified BSD code seems removed
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Non-linear optimization toolkit";
+  };
+}
diff --git a/pkgs/development/octave-modules/optiminterp/default.nix b/pkgs/development/octave-modules/optiminterp/default.nix
new file mode 100644
index 0000000000000..8409a10104e6a
--- /dev/null
+++ b/pkgs/development/octave-modules/optiminterp/default.nix
@@ -0,0 +1,31 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, gfortran
+}:
+
+buildOctavePackage rec {
+  pname = "optiminterp";
+  version = "0.3.6";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "05nzj2jmrczbnsr64w2a7kww19s6yialdqnsbg797v11ii7aiylc";
+  };
+
+  nativeBuildInputs = [
+    gfortran
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/optiminterp/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "An optimal interpolation toolbox for octave";
+    longDescription = ''
+       An optimal interpolation toolbox for octave. This package provides
+       functions to perform a n-dimensional optimal interpolations of
+       arbitrarily distributed data points.
+    '';
+  };
+}
diff --git a/pkgs/development/octave-modules/parallel/default.nix b/pkgs/development/octave-modules/parallel/default.nix
new file mode 100644
index 0000000000000..0ea1d4d9df234
--- /dev/null
+++ b/pkgs/development/octave-modules/parallel/default.nix
@@ -0,0 +1,36 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, struct
+, gnutls
+, pkg-config
+}:
+
+buildOctavePackage rec {
+  pname = "parallel";
+  version = "4.0.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0wmpak01rsccrnb8is7fsjdlxw15157sqyf9s2fabr16yykfmvi8";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    gnutls
+  ];
+
+  requiredOctavePackages = [
+    struct
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/parallel/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Parallel execution package";
+  };
+}
diff --git a/pkgs/development/octave-modules/quaternion/default.nix b/pkgs/development/octave-modules/quaternion/default.nix
new file mode 100644
index 0000000000000..4681b699684c4
--- /dev/null
+++ b/pkgs/development/octave-modules/quaternion/default.nix
@@ -0,0 +1,29 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "quaternion";
+  version = "2.4.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "040ncksf0xz32qmi4484xs3q01nappxrsvwwa60g04yjy7c4sbac";
+  };
+
+  # Octave replaced many of the is_thing_type check function with isthing.
+  # The patch changes the occurrences of the old functions.
+  patchPhase = ''
+    sed -i s/is_numeric_type/isnumeric/g src/*.cc
+    sed -i s/is_real_type/isreal/g src/*.cc
+    sed -i s/is_bool_type/islogical/g src/*.cc
+  '';
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/quaternion/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Quaternion package for GNU Octave, includes a quaternion class with overloaded operators";
+  };
+}
diff --git a/pkgs/development/octave-modules/queueing/default.nix b/pkgs/development/octave-modules/queueing/default.nix
new file mode 100644
index 0000000000000..75b3e67e35369
--- /dev/null
+++ b/pkgs/development/octave-modules/queueing/default.nix
@@ -0,0 +1,32 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "queueing";
+  version = "1.2.7";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "1yhw277i1qgmddf6wbfb6a4zrfhvplkmfr20q1l15z4xi8afnm6d";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/queueing/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Provides functions for queueing networks and Markov chains analysis";
+    longDescription = ''
+      The queueing package provides functions for queueing networks and Markov
+      chains analysis. This package can be used to compute steady-state
+      performance measures for open, closed and mixed networks with single or
+      multiple job classes. Mean Value Analysis (MVA), convolution, and various
+      bounding techniques are implemented. Furthermore, several transient and
+      steady-state performance measures for Markov chains can be computed, such
+      as state occupancy probabilities, mean time to absorption, time-averaged
+      sojourn times and so forth. Discrete- and continuous-time Markov chains
+      are supported.
+    '';
+  };
+}
diff --git a/pkgs/development/octave-modules/signal/default.nix b/pkgs/development/octave-modules/signal/default.nix
new file mode 100644
index 0000000000000..ae1339ca274a4
--- /dev/null
+++ b/pkgs/development/octave-modules/signal/default.nix
@@ -0,0 +1,26 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, control
+}:
+
+buildOctavePackage rec {
+  pname = "signal";
+  version = "1.4.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "1amfh7ifjqxz2kr34hgq2mq8ygmd5j3cjdk1k2dk6qcgic7n0y6r";
+  };
+
+  requiredOctavePackages = [
+    control
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/signal/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Signal processing tools, including filtering, windowing and display functions";
+  };
+}
diff --git a/pkgs/development/octave-modules/sockets/default.nix b/pkgs/development/octave-modules/sockets/default.nix
new file mode 100644
index 0000000000000..688bd6a0e9291
--- /dev/null
+++ b/pkgs/development/octave-modules/sockets/default.nix
@@ -0,0 +1,21 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "sockets";
+  version = "1.2.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "18f1zpqcf6h9b4fb0x2c5nvc3mvgj1141f1s8d9gnlhlrjlq8vqg";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/sockets/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Socket functions for networking from within octave";
+  };
+}
diff --git a/pkgs/development/octave-modules/sparsersb/default.nix b/pkgs/development/octave-modules/sparsersb/default.nix
new file mode 100644
index 0000000000000..b8147f8d2815d
--- /dev/null
+++ b/pkgs/development/octave-modules/sparsersb/default.nix
@@ -0,0 +1,28 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, librsb
+}:
+
+buildOctavePackage rec {
+  pname = "sparsersb";
+  version = "1.0.8";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0nl7qppa1cm51188hqhbfswlih9hmy1yz7v0f5i07z0g0kbd62xw";
+  };
+
+  buildInputs = [
+    librsb
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/sparsersb/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Interface to the librsb package implementing the RSB sparse matrix format for fast shared-memory sparse matrix computations";
+    # Mark this way until KarlJoad builds librsb specifically for this package.
+    broken = true;
+  };
+}
diff --git a/pkgs/development/octave-modules/splines/default.nix b/pkgs/development/octave-modules/splines/default.nix
new file mode 100644
index 0000000000000..69d5e46147d6c
--- /dev/null
+++ b/pkgs/development/octave-modules/splines/default.nix
@@ -0,0 +1,21 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "splines";
+  version = "1.3.3";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "16wisph8axc5xci0h51zj0y0x2wj6c9zybi2sjpb9v8z9dagjjqa";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/splines/index.html";
+    license = with licenses; [ gpl3Plus publicDomain ];
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Additional spline functions";
+  };
+}
diff --git a/pkgs/development/octave-modules/statistics/default.nix b/pkgs/development/octave-modules/statistics/default.nix
new file mode 100644
index 0000000000000..61133ec49e540
--- /dev/null
+++ b/pkgs/development/octave-modules/statistics/default.nix
@@ -0,0 +1,26 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, io
+}:
+
+buildOctavePackage rec {
+  pname = "statistics";
+  version = "1.4.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0iv2hw3zp7h69n8ncfjfgm29xaihdl5gp2slcw1yf23mhd7q2xkr";
+  };
+
+  requiredOctavePackages = [
+    io
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/statistics/index.html";
+    license = with licenses; [ gpl3Plus publicDomain ];
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Additional statistics functions for Octave";
+  };
+}
diff --git a/pkgs/development/octave-modules/stk/default.nix b/pkgs/development/octave-modules/stk/default.nix
new file mode 100644
index 0000000000000..16ac7b7d03dcb
--- /dev/null
+++ b/pkgs/development/octave-modules/stk/default.nix
@@ -0,0 +1,32 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "stk";
+  version = "2.6.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "1rqndfankwlwm4igw3xqpnrrl749zz1d5pjzh1qbfns7ixwrm19a";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/stk/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "STK is a (not so) Small Toolbox for Kriging";
+    longDescription = ''
+      The STK is a (not so) Small Toolbox for Kriging. Its primary focus is on
+      the interpolation/regression technique known as kriging, which is very
+      closely related to Splines and Radial Basis Functions, and can be
+      interpreted as a non-parametric Bayesian method using a Gaussian Process
+      (GP) prior. The STK also provides tools for the sequential and non-sequential
+      design of experiments. Even though it is, currently, mostly geared towards
+      the Design and Analysis of Computer Experiments (DACE), the STK can be
+      useful for other applications areas (such as Geostatistics, Machine
+      Learning, Non-parametric Regression, etc.).
+    '';
+  };
+}
diff --git a/pkgs/development/octave-modules/strings/default.nix b/pkgs/development/octave-modules/strings/default.nix
new file mode 100644
index 0000000000000..7b556272f5da5
--- /dev/null
+++ b/pkgs/development/octave-modules/strings/default.nix
@@ -0,0 +1,37 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, pcre
+}:
+
+buildOctavePackage rec {
+  pname = "strings";
+  version = "1.2.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "1b0ravfvq3bxd0w3axjfsx13mmmkifmqz6pfdgyf2s8vkqnp1qng";
+  };
+
+  buildInputs = [
+    pcre
+  ];
+
+  # The gripes library no longer exists.
+  # https://build.opensuse.org/package/view_file/openSUSE:Backports:SLE-15-SP3/octave-forge-strings/octave-forge-strings.spec
+  # toascii is a deprecated function. Has been fixed in recent commits, but has
+  # not been released yet.
+  # https://sourceforge.net/p/octave/strings/ci/2db1dbb75557eef94605cb4ac682783ab78ac8d8/
+  patchPhase = ''
+    sed -i -s -e 's/gripes.h/errwarn.h/' -e 's/gripe_/err_/g' src/*.cc
+    sed -i s/toascii/double/g inst/*.m
+  '';
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/strings/index.html";
+    license = licenses.gpl3Plus;
+    # Claims to have a freebsd license, but I found none.
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Additional functions for manipulation and analysis of strings";
+  };
+}
diff --git a/pkgs/development/octave-modules/struct/default.nix b/pkgs/development/octave-modules/struct/default.nix
new file mode 100644
index 0000000000000..a69a8e4b6e227
--- /dev/null
+++ b/pkgs/development/octave-modules/struct/default.nix
@@ -0,0 +1,21 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "struct";
+  version = "1.0.16";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0gx20r126f0ccl4yflp823xi77p8fh4acx1fv0mmcsglmx4c4vgm";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/struct/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Additional structure manipulation functions";
+  };
+}
diff --git a/pkgs/development/octave-modules/symbolic/default.nix b/pkgs/development/octave-modules/symbolic/default.nix
new file mode 100644
index 0000000000000..e40d27e7c3857
--- /dev/null
+++ b/pkgs/development/octave-modules/symbolic/default.nix
@@ -0,0 +1,46 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+# Octave's Python (Python 3)
+, python
+# Needed only to get the correct version of sympy needed
+, python2Packages
+}:
+
+let
+  # Need to use sympy 1.5.1 for https://github.com/cbm755/octsympy/issues/1023
+  # It has been addressed, but not merged yet.
+  # In the meantime, we create a Python environment with Python 3, its mpmath
+  # version and sympy 1.5 from python2Packages.
+  pythonEnv = (let
+      overridenPython = let
+        packageOverrides = self: super: {
+          sympy = super.sympy.overridePythonAttrs (old: rec {
+            version = python2Packages.sympy.version;
+            src = python2Packages.sympy.src;
+          });
+        };
+      in python.override {inherit packageOverrides; self = overridenPython; };
+    in overridenPython.withPackages (ps: [
+      ps.sympy
+      ps.mpmath
+    ]));
+
+in buildOctavePackage rec {
+  pname = "symbolic";
+  version = "2.9.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "1jr3kg9q6r4r4h3hiwq9fli6wsns73rqfzkrg25plha9195c97h8";
+  };
+
+  propagatedBuildInputs = [ pythonEnv ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/symbolic/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Adds symbolic calculation features to GNU Octave";
+  };
+}
diff --git a/pkgs/development/octave-modules/tisean/default.nix b/pkgs/development/octave-modules/tisean/default.nix
new file mode 100644
index 0000000000000..b21ef0a5f56ac
--- /dev/null
+++ b/pkgs/development/octave-modules/tisean/default.nix
@@ -0,0 +1,33 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+# Octave dependencies
+, signal # >= 1.3.0
+# Build dependencies
+, gfortran
+}:
+
+buildOctavePackage rec {
+  pname = "tisean";
+  version = "0.2.3";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0nc2d9h91glxzmpizxdrc2dablw4bqhqhzs37a394c36myk4xjdv";
+  };
+
+  nativeBuildInputs = [
+    gfortran
+  ];
+
+  requiredOctavePackages = [
+    signal
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/tisean/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Port of TISEAN 3.0.1";
+  };
+}
diff --git a/pkgs/development/octave-modules/tsa/default.nix b/pkgs/development/octave-modules/tsa/default.nix
new file mode 100644
index 0000000000000..a6320f0fc01c2
--- /dev/null
+++ b/pkgs/development/octave-modules/tsa/default.nix
@@ -0,0 +1,26 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, nan # > 3.0.0
+}:
+
+buildOctavePackage rec {
+  pname = "tsa";
+  version = "4.6.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0p2cjszzjwhp4ih3q3r67qnikgxc0fwxc12p3727jbdvzq2h10mn";
+  };
+
+  requiredOctavePackages = [
+    nan
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/tsa/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Stochastic concepts and maximum entropy methods for time series analysis";
+  };
+}
diff --git a/pkgs/development/octave-modules/vibes/default.nix b/pkgs/development/octave-modules/vibes/default.nix
new file mode 100644
index 0000000000000..f60a5d7339a08
--- /dev/null
+++ b/pkgs/development/octave-modules/vibes/default.nix
@@ -0,0 +1,39 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, vibes
+}:
+
+buildOctavePackage rec {
+  pname = "vibes";
+  version = "0.2.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "1zn86rcsjkqg67hphz5inxc5xkgr18sby8za68zhppc2z7pd91ng";
+  };
+
+  buildInputs = [
+    vibes
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/vibes/index.html";
+    license = with licenses; [ gpl3Plus mit ];
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Easily display results (boxes, pavings) from interval methods";
+    longDescription = ''
+      The VIBes API allows one to easily display results (boxes, pavings) from
+      interval methods. VIBes consists in two parts: (1) the VIBes application
+      that features viewing, annotating and exporting figures, and (2) the
+      VIBes API that enables your program to communicate with the viewer in order
+      to draw figures. This package integrates the VIBes API into Octave. The
+      VIBes application is required for operation and must be installed
+      seperately. Data types from third-party interval arithmetic libraries for
+      Octave are also supported.
+    '';
+    # Marked this way until KarlJoad gets around to packaging the vibes program.
+    # https://github.com/ENSTABretagneRobotics/VIBES
+    broken = true;
+  };
+}
diff --git a/pkgs/development/octave-modules/video/default.nix b/pkgs/development/octave-modules/video/default.nix
new file mode 100644
index 0000000000000..8467da98be99e
--- /dev/null
+++ b/pkgs/development/octave-modules/video/default.nix
@@ -0,0 +1,31 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, pkg-config
+, ffmpeg
+}:
+
+buildOctavePackage rec {
+  pname = "video";
+  version = "2.0.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "0s6j3c4dh5nsbh84s7vnd2ajcayy1gn07b4fcyrcynch3wl28mrv";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  propagatedBuildInputs = [
+    ffmpeg
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/video/index.html";
+    license = with licenses; [ gpl3Plus bsd3 ];
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Wrapper for OpenCV's CvCapture_FFMPEG and CvVideoWriter_FFMPEG";
+  };
+}
diff --git a/pkgs/development/octave-modules/vrml/default.nix b/pkgs/development/octave-modules/vrml/default.nix
new file mode 100644
index 0000000000000..e46e621b80d9a
--- /dev/null
+++ b/pkgs/development/octave-modules/vrml/default.nix
@@ -0,0 +1,41 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+# Octave dependencies
+, linear-algebra
+, miscellaneous
+, struct
+, statistics
+# Runtime dependencies
+, freewrl
+}:
+
+buildOctavePackage rec {
+  pname = "vrml";
+  version = "1.0.13";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "1mx93k150agd27mbzvds13v9z0x36j68hwpdvlvjmcl2fga5fly4";
+  };
+
+  propagatedBuildInputs = [
+    freewrl
+  ];
+
+  requiredOctavePackages = [
+    linear-algebra
+    miscellaneous
+    struct
+    statistics
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/vrml/index.html";
+    license = with licenses; [ gpl3Plus fdl12Plus ];
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "3D graphics using VRML";
+    # Marked this way until KarlJoad gets freewrl as a runtime dependency.
+    broken = true;
+  };
+}
diff --git a/pkgs/development/octave-modules/windows/default.nix b/pkgs/development/octave-modules/windows/default.nix
new file mode 100644
index 0000000000000..274ba1e3b7dd6
--- /dev/null
+++ b/pkgs/development/octave-modules/windows/default.nix
@@ -0,0 +1,21 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+}:
+
+buildOctavePackage rec {
+  pname = "windows";
+  version = "1.5.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "05bsf3q816b9vwgmjdm761ybhmk8raq6dzxqvd11brma0granx3a";
+  };
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/windows/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "Provides COM interface and additional functionality on Windows";
+  };
+}
diff --git a/pkgs/development/octave-modules/zeromq/default.nix b/pkgs/development/octave-modules/zeromq/default.nix
new file mode 100644
index 0000000000000..7a8f7f6d16a15
--- /dev/null
+++ b/pkgs/development/octave-modules/zeromq/default.nix
@@ -0,0 +1,26 @@
+{ buildOctavePackage
+, lib
+, fetchurl
+, zeromq
+}:
+
+buildOctavePackage rec {
+  pname = "zeromq";
+  version = "1.5.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
+    sha256 = "18h1039ri7dr37jv20cvj5vhw7b57frrda0hhbvlgixinbqmn9j7";
+  };
+
+  propagatedBuildInputs = [
+    zeromq
+  ];
+
+  meta = with lib; {
+    homepage = "https://octave.sourceforge.io/zeromq/index.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ KarlJoad ];
+    description = "ZeroMQ bindings for GNU Octave";
+  };
+}
diff --git a/pkgs/development/perl-modules/Po4a/default.nix b/pkgs/development/perl-modules/Po4a/default.nix
index 94d83845e2922..c89ec1619c172 100644
--- a/pkgs/development/perl-modules/Po4a/default.nix
+++ b/pkgs/development/perl-modules/Po4a/default.nix
@@ -3,10 +3,10 @@
 
 buildPerlPackage rec {
   pname = "po4a";
-  version = "0.55";
+  version = "0.62";
   src = fetchurl {
     url = "https://github.com/mquinson/po4a/releases/download/v${version}/po4a-${version}.tar.gz";
-    sha256 = "1qss4q5df3nsydsbggb7gg50bn0kdxq5wn8riqm9zwkiq6a4bifg";
+    sha256 = "0eb510a66f59de68cf7a205342036cc9fc08b39334b91f1456421a5f3359e68b";
   };
   nativeBuildInputs = [ docbook_xsl docbook_xsl_ns ModuleBuild ];
   propagatedBuildInputs = [ TextWrapI18N LocaleGettext SGMLSpm UnicodeLineBreak PodParser YAMLTiny ];
diff --git a/pkgs/development/perl-modules/ham/default.nix b/pkgs/development/perl-modules/ham/default.nix
index 4f6dc5d9ddb78..8b19c9404fe05 100644
--- a/pkgs/development/perl-modules/ham/default.nix
+++ b/pkgs/development/perl-modules/ham/default.nix
@@ -13,7 +13,7 @@ buildPerlPackage {
 
   outputs = [ "out" ];
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
   propagatedBuildInputs = [ openssh GitRepository URI XMLMini ];
 
   preConfigure = ''
diff --git a/pkgs/development/php-packages/box/default.nix b/pkgs/development/php-packages/box/default.nix
index 8d6bba3e460ca..8ff61920ac85f 100644
--- a/pkgs/development/php-packages/box/default.nix
+++ b/pkgs/development/php-packages/box/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, fetchurl, pkgs, lib, php }:
+{ mkDerivation, fetchurl, makeWrapper, lib, php }:
 let
   pname = "box";
   version = "2.7.5";
@@ -12,7 +12,7 @@ mkDerivation {
   };
 
   phases = [ "installPhase" ];
-  nativeBuildInputs = [ pkgs.makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/development/php-packages/composer/2.0.nix b/pkgs/development/php-packages/composer/1.x.nix
index 4ff982bf8d2df..4660da9532dcc 100644
--- a/pkgs/development/php-packages/composer/2.0.nix
+++ b/pkgs/development/php-packages/composer/1.x.nix
@@ -1,29 +1,29 @@
-{ mkDerivation, fetchurl, pkgs, lib, php }:
+{ mkDerivation, fetchurl, makeWrapper, unzip, lib, php }:
 let
   pname = "composer";
-  version = "2.0.8";
+  version = "1.10.15";
 in
 mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://getcomposer.org/download/${version}/composer.phar";
-    sha256 = "0f0msrqrszhwj7ki9y5wrlwglwanmdcc132l7kz0wvj45gaz0890";
+    sha256 = "1shsxsrc2kq74s1jbq3njn9wzidcz7ak66n9vyz8z8d0hqpg37d6";
   };
 
   dontUnpack = true;
 
-  nativeBuildInputs = [ pkgs.makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
     install -D $src $out/libexec/composer/composer.phar
     makeWrapper ${php}/bin/php $out/bin/composer \
       --add-flags "$out/libexec/composer/composer.phar" \
-      --prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.unzip ]}
+      --prefix PATH : ${lib.makeBinPath [ unzip ]}
   '';
 
-  meta = with pkgs.lib; {
+  meta = with lib; {
     description = "Dependency Manager for PHP";
     license = licenses.mit;
     homepage = "https://getcomposer.org/";
diff --git a/pkgs/development/php-packages/composer/default.nix b/pkgs/development/php-packages/composer/default.nix
index 37c983507ce3f..d704b5f9a27dc 100644
--- a/pkgs/development/php-packages/composer/default.nix
+++ b/pkgs/development/php-packages/composer/default.nix
@@ -1,29 +1,29 @@
-{ mkDerivation, fetchurl, pkgs, lib, php }:
+{ mkDerivation, fetchurl, makeWrapper, unzip, lib, php }:
 let
   pname = "composer";
-  version = "1.10.15";
+  version = "2.0.11";
 in
 mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://getcomposer.org/download/${version}/composer.phar";
-    sha256 = "1shsxsrc2kq74s1jbq3njn9wzidcz7ak66n9vyz8z8d0hqpg37d6";
+    sha256 = "sha256-6r8pFwcglqlGeRk3YlATGeYh4rNppKElaywn9OaYRHc=";
   };
 
   dontUnpack = true;
 
-  nativeBuildInputs = [ pkgs.makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
     install -D $src $out/libexec/composer/composer.phar
     makeWrapper ${php}/bin/php $out/bin/composer \
       --add-flags "$out/libexec/composer/composer.phar" \
-      --prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.unzip ]}
+      --prefix PATH : ${lib.makeBinPath [ unzip ]}
   '';
 
-  meta = with pkgs.lib; {
+  meta = with lib; {
     description = "Dependency Manager for PHP";
     license = licenses.mit;
     homepage = "https://getcomposer.org/";
diff --git a/pkgs/development/php-packages/couchbase/default.nix b/pkgs/development/php-packages/couchbase/default.nix
index 4ec718469197a..3566c7916e558 100644
--- a/pkgs/development/php-packages/couchbase/default.nix
+++ b/pkgs/development/php-packages/couchbase/default.nix
@@ -1,4 +1,4 @@
-{ buildPecl, lib, pkgs, php }:
+{ lib, buildPecl, fetchFromGitHub, writeText, libcouchbase, zlib, php }:
 let
   pname = "couchbase";
   version = "2.6.2";
@@ -6,7 +6,7 @@ in
 buildPecl {
   inherit pname version;
 
-  src = pkgs.fetchFromGitHub {
+  src = fetchFromGitHub {
     owner = "couchbase";
     repo = "php-couchbase";
     rev = "v${version}";
@@ -16,12 +16,12 @@ buildPecl {
   configureFlags = [ "--with-couchbase" ];
   broken = lib.versionAtLeast php.version "8.0";
 
-  buildInputs = with pkgs; [ libcouchbase zlib ];
+  buildInputs = [ libcouchbase zlib ];
   internalDeps = [] ++ lib.optionals (lib.versionOlder php.version "8.0") [ php.extensions.json ];
   peclDeps = [ php.extensions.igbinary ];
 
   patches = [
-    (pkgs.writeText "php-couchbase.patch" ''
+    (writeText "php-couchbase.patch" ''
       --- a/config.m4
       +++ b/config.m4
       @@ -9,7 +9,7 @@ if test "$PHP_COUCHBASE" != "no"; then
@@ -29,7 +29,7 @@ buildPecl {
          else
            AC_MSG_CHECKING(for libcouchbase in default path)
       -    for i in /usr/local /usr; do
-      +    for i in ${pkgs.libcouchbase}; do
+      +    for i in ${libcouchbase}; do
              if test -r $i/include/libcouchbase/couchbase.h; then
                LIBCOUCHBASE_DIR=$i
                AC_MSG_RESULT(found in $i)
diff --git a/pkgs/development/php-packages/event/default.nix b/pkgs/development/php-packages/event/default.nix
index 940150ac9867e..420f2385e544c 100644
--- a/pkgs/development/php-packages/event/default.nix
+++ b/pkgs/development/php-packages/event/default.nix
@@ -1,4 +1,4 @@
-{ buildPecl, lib, pkgs, php }:
+{ buildPecl, lib, php, pkg-config, openssl, libevent }:
 buildPecl {
   pname = "event";
 
@@ -6,7 +6,7 @@ buildPecl {
   sha256 = "1ws4l014z52vb23xbsfj6viwkf7fmh462af639xgbp0n6syf77dq";
 
   configureFlags = [
-    "--with-event-libevent-dir=${pkgs.libevent.dev}"
+    "--with-event-libevent-dir=${libevent.dev}"
     "--with-event-core"
     "--with-event-extra"
     "--with-event-pthreads"
@@ -18,11 +18,11 @@ buildPecl {
       ':'
   '';
 
-  nativeBuildInputs = [ pkgs.pkg-config ];
-  buildInputs = with pkgs; [ openssl libevent ];
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ openssl libevent ];
   internalDeps = [ php.extensions.sockets ];
 
-  meta = with pkgs.lib; {
+  meta = with lib; {
     description = ''
       This is an extension to efficiently schedule I/O, time and signal based
       events using the best I/O notification mechanism available for specific platform.
diff --git a/pkgs/development/php-packages/imagick/default.nix b/pkgs/development/php-packages/imagick/default.nix
index f697b44affd60..ebff9b00f02c4 100644
--- a/pkgs/development/php-packages/imagick/default.nix
+++ b/pkgs/development/php-packages/imagick/default.nix
@@ -1,4 +1,4 @@
-{ buildPecl, fetchpatch, lib, pkgs, pcre' }:
+{ buildPecl, fetchpatch, lib, imagemagick, pkg-config, pcre' }:
 
 buildPecl {
   pname = "imagick";
@@ -19,8 +19,8 @@ buildPecl {
     })
   ];
 
-  configureFlags = [ "--with-imagick=${pkgs.imagemagick7.dev}" ];
-  nativeBuildInputs = [ pkgs.pkg-config ];
+  configureFlags = [ "--with-imagick=${imagemagick.dev}" ];
+  nativeBuildInputs = [ pkg-config ];
   buildInputs = [ pcre' ];
 
   meta.maintainers = lib.teams.php.members;
diff --git a/pkgs/development/php-packages/maxminddb/default.nix b/pkgs/development/php-packages/maxminddb/default.nix
index 2533a6ef06db7..9a5a96e15c23c 100644
--- a/pkgs/development/php-packages/maxminddb/default.nix
+++ b/pkgs/development/php-packages/maxminddb/default.nix
@@ -1,22 +1,22 @@
-{ buildPecl, lib, pkgs }:
+{ buildPecl, lib, fetchFromGitHub, libmaxminddb }:
 let
   pname = "maxminddb";
-  version = "1.9.0";
+  version = "1.10.0";
 in
 buildPecl {
   inherit pname version;
 
-  src = pkgs.fetchFromGitHub {
+  src = fetchFromGitHub {
     owner = "maxmind";
     repo = "MaxMind-DB-Reader-php";
     rev = "v${version}";
-    sha256 = "sha256-sNG2FhnxzbHA4Lmzj97al1WFwSU70Mr1R2i5ygF1L6Y=";
+    sha256 = "sha256-2SnajDdO5uAYcuVpEbOuFlZzMxwo/EqFtUSr9XxT0KQ=";
   };
 
-  buildInputs = [ pkgs.libmaxminddb ];
+  buildInputs = [ libmaxminddb ];
   sourceRoot = "source/ext";
 
-  meta = with pkgs.lib; {
+  meta = with lib; {
     description = "C extension that is a drop-in replacement for MaxMind\\Db\\Reader";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ ajs124 das_j ] ++ teams.php.members;
diff --git a/pkgs/development/php-packages/memcached/default.nix b/pkgs/development/php-packages/memcached/default.nix
index 3eb1da463b9f6..4880e08e0629a 100644
--- a/pkgs/development/php-packages/memcached/default.nix
+++ b/pkgs/development/php-packages/memcached/default.nix
@@ -1,4 +1,4 @@
-{ buildPecl, lib, fetchgit, php, pkgs }:
+{ buildPecl, lib, fetchgit, php, cyrus_sasl, zlib, pkg-config, libmemcached }:
 let
   pname = "memcached";
   version = "3.1.5";
@@ -19,12 +19,12 @@ buildPecl {
   ];
 
   configureFlags = [
-    "--with-zlib-dir=${pkgs.zlib.dev}"
-    "--with-libmemcached-dir=${pkgs.libmemcached}"
+    "--with-zlib-dir=${zlib.dev}"
+    "--with-libmemcached-dir=${libmemcached}"
   ];
 
-  nativeBuildInputs = [ pkgs.pkg-config ];
-  buildInputs = with pkgs; [ cyrus_sasl zlib ];
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ cyrus_sasl zlib ];
 
   meta.maintainers = lib.teams.php.members;
 }
diff --git a/pkgs/development/php-packages/mongodb/default.nix b/pkgs/development/php-packages/mongodb/default.nix
index 18bb515d15e1e..95e51892f04e7 100644
--- a/pkgs/development/php-packages/mongodb/default.nix
+++ b/pkgs/development/php-packages/mongodb/default.nix
@@ -1,4 +1,5 @@
-{ buildPecl, lib, pkgs, pcre' }:
+{ stdenv, buildPecl, lib, pcre', pkg-config, cyrus_sasl, icu64
+, openssl, snappy, zlib, darwin }:
 
 buildPecl {
   pname = "mongodb";
@@ -6,15 +7,15 @@ buildPecl {
   version = "1.9.0";
   sha256 = "16mbw3p80qxsj86nmjbfch8wv6jaq8wbz4rlpmixvhj9nwbp37hs";
 
-  nativeBuildInputs = [ pkgs.pkg-config ];
-  buildInputs = with pkgs; [
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [
     cyrus_sasl
     icu64
     openssl
     snappy
     zlib
     pcre'
-  ] ++ lib.optional (pkgs.stdenv.isDarwin) pkgs.darwin.apple_sdk.frameworks.Security;
+  ] ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
 
   meta.maintainers = lib.teams.php.members;
 }
diff --git a/pkgs/development/php-packages/oci8/default.nix b/pkgs/development/php-packages/oci8/default.nix
index 697ad6740200a..eeaffb4b7fc98 100644
--- a/pkgs/development/php-packages/oci8/default.nix
+++ b/pkgs/development/php-packages/oci8/default.nix
@@ -1,14 +1,14 @@
-{ buildPecl, lib, pkgs, version, sha256 }:
+{ buildPecl, lib, version, sha256, oracle-instantclient }:
 buildPecl {
   pname = "oci8";
 
   inherit version sha256;
 
-  buildInputs = [ pkgs.oracle-instantclient ];
-  configureFlags = [ "--with-oci8=shared,instantclient,${pkgs.oracle-instantclient.lib}/lib" ];
+  buildInputs = [ oracle-instantclient ];
+  configureFlags = [ "--with-oci8=shared,instantclient,${oracle-instantclient.lib}/lib" ];
 
   postPatch = ''
-    sed -i -e 's|OCISDKMANINC=`.*$|OCISDKMANINC="${pkgs.oracle-instantclient.dev}/include"|' config.m4
+    sed -i -e 's|OCISDKMANINC=`.*$|OCISDKMANINC="${oracle-instantclient.dev}/include"|' config.m4
   '';
 
   meta.maintainers = lib.teams.php.members;
diff --git a/pkgs/development/php-packages/pdlib/default.nix b/pkgs/development/php-packages/pdlib/default.nix
index 8305194670176..e217edd29ef7f 100644
--- a/pkgs/development/php-packages/pdlib/default.nix
+++ b/pkgs/development/php-packages/pdlib/default.nix
@@ -1,4 +1,4 @@
-{ buildPecl, lib, pkgs }:
+{ buildPecl, fetchFromGitHub, lib, pkg-config, dlib }:
 let
   pname = "pdlib";
   version = "1.0.2";
@@ -6,15 +6,15 @@ in
 buildPecl {
   inherit pname version;
 
-  src = pkgs.fetchFromGitHub {
+  src = fetchFromGitHub {
     owner = "goodspb";
     repo = "pdlib";
     rev = "v${version}";
     sha256 = "0qnmqwlw5vb2rvliap4iz9val6mal4qqixcw69pwskdw5jka6v5i";
   };
 
-  nativeBuildInputs = [ pkgs.pkg-config ];
-  buildInputs = [ (pkgs.dlib.override { guiSupport = true; }) ];
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ (dlib.override { guiSupport = true; }) ];
 
   meta = with lib; {
     description = "A PHP extension for Dlib";
diff --git a/pkgs/development/php-packages/pdo_sqlsrv/default.nix b/pkgs/development/php-packages/pdo_sqlsrv/default.nix
index ae01594444303..d80944ada09f5 100644
--- a/pkgs/development/php-packages/pdo_sqlsrv/default.nix
+++ b/pkgs/development/php-packages/pdo_sqlsrv/default.nix
@@ -1,4 +1,4 @@
-{ buildPecl, lib, pkgs, php }:
+{ stdenv, buildPecl, lib, libiconv, unixODBC, php }:
 
 buildPecl {
   pname = "pdo_sqlsrv";
@@ -8,7 +8,7 @@ buildPecl {
 
   internalDeps = [ php.extensions.pdo ];
 
-  buildInputs = [ pkgs.unixODBC ] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ pkgs.libiconv ];
+  buildInputs = [ unixODBC ] ++ lib.optionals stdenv.isDarwin [ libiconv ];
 
   meta.maintainers = lib.teams.php.members;
 }
diff --git a/pkgs/development/php-packages/php-cs-fixer/default.nix b/pkgs/development/php-packages/php-cs-fixer/default.nix
index 1ed33e7bb5e8a..a142c69512161 100644
--- a/pkgs/development/php-packages/php-cs-fixer/default.nix
+++ b/pkgs/development/php-packages/php-cs-fixer/default.nix
@@ -1,18 +1,18 @@
-{ mkDerivation, fetchurl, pkgs, lib, php }:
+{ mkDerivation, fetchurl, makeWrapper, lib, php }:
 let
   pname = "php-cs-fixer";
-  version = "2.18.0";
+  version = "2.18.2";
 in
 mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v${version}/php-cs-fixer.phar";
-    sha256 = "sha256-euvk/Rs6fZIJVWprzKiTVNPlGOsCN6t58DzvwYh3wDA=";
+    sha256 = "sha256-451be1O/y92ib5hZNVbf8iCkD+e9DoK47Z7IkMnwuo0=";
   };
 
   phases = [ "installPhase" ];
-  nativeBuildInputs = [ pkgs.makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
@@ -21,7 +21,7 @@ mkDerivation {
       --add-flags "$out/libexec/php-cs-fixer/php-cs-fixer.phar"
   '';
 
-  meta = with pkgs.lib; {
+  meta = with lib; {
     description = "A tool to automatically fix PHP coding standards issues";
     license = licenses.mit;
     homepage = "http://cs.sensiolabs.org/";
diff --git a/pkgs/development/php-packages/php-parallel-lint/default.nix b/pkgs/development/php-packages/php-parallel-lint/default.nix
index f479581fb2eea..50fd23540ee51 100644
--- a/pkgs/development/php-packages/php-parallel-lint/default.nix
+++ b/pkgs/development/php-packages/php-parallel-lint/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, fetchFromGitHub, pkgs, lib, php }:
+{ mkDerivation, fetchFromGitHub, makeWrapper, lib, php }:
 let
   pname = "php-parallel-lint";
   version = "1.0.0";
@@ -14,7 +14,7 @@ mkDerivation {
   };
 
   nativeBuildInputs = [
-    pkgs.makeWrapper
+    makeWrapper
     php.packages.composer
     php.packages.box
   ];
@@ -31,7 +31,7 @@ mkDerivation {
       --add-flags "$out/libexec/php-parallel-lint/php-parallel-lint.phar"
   '';
 
-  meta = with pkgs.lib; {
+  meta = with lib; {
     description = "Tool to check syntax of PHP files faster than serial check with fancier output";
     license = licenses.bsd2;
     homepage = "https://github.com/JakubOnderka/PHP-Parallel-Lint";
diff --git a/pkgs/development/php-packages/php_excel/default.nix b/pkgs/development/php-packages/php_excel/default.nix
index ab6d193fcd4d3..8b83f558a53a2 100644
--- a/pkgs/development/php-packages/php_excel/default.nix
+++ b/pkgs/development/php-packages/php_excel/default.nix
@@ -1,4 +1,4 @@
-{ buildPecl, fetchurl, lib, pkgs }:
+{ buildPecl, fetchurl, lib, libxl }:
 let
   pname = "php_excel";
   phpVersion = "php7";
@@ -12,12 +12,12 @@ buildPecl {
     sha256 = "0dpvih9gpiyh1ml22zi7hi6kslkilzby00z1p8x248idylldzs2n";
   };
 
-  buildInputs = with pkgs; [ libxl ];
+  buildInputs = [ libxl ];
 
   configureFlags = [
     "--with-excel"
-    "--with-libxl-incdir=${pkgs.libxl}/include_c"
-    "--with-libxl-libdir=${pkgs.libxl}/lib"
+    "--with-libxl-incdir=${libxl}/include_c"
+    "--with-libxl-libdir=${libxl}/lib"
   ];
 
   meta.maintainers = lib.teams.php.members;
diff --git a/pkgs/development/php-packages/phpcbf/default.nix b/pkgs/development/php-packages/phpcbf/default.nix
index b58ba42a5d04a..da114a4d348fa 100644
--- a/pkgs/development/php-packages/phpcbf/default.nix
+++ b/pkgs/development/php-packages/phpcbf/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, fetchurl, pkgs, lib, php }:
+{ mkDerivation, fetchurl, lib, php, makeWrapper }:
 let
   pname = "phpcbf";
   version = "3.5.8";
@@ -12,7 +12,7 @@ mkDerivation {
   };
 
   phases = [ "installPhase" ];
-  nativeBuildInputs = [ pkgs.makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
@@ -21,7 +21,7 @@ mkDerivation {
       --add-flags "$out/libexec/phpcbf/phpcbf.phar"
   '';
 
-  meta = with pkgs.lib; {
+  meta = with lib; {
     description = "PHP coding standard beautifier and fixer";
     license = licenses.bsd3;
     homepage = "https://squizlabs.github.io/PHP_CodeSniffer/";
diff --git a/pkgs/development/php-packages/phpcs/default.nix b/pkgs/development/php-packages/phpcs/default.nix
index 0e8557c04eb70..d2053dbe9cb73 100644
--- a/pkgs/development/php-packages/phpcs/default.nix
+++ b/pkgs/development/php-packages/phpcs/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, fetchurl, pkgs, lib, php }:
+{ mkDerivation, fetchurl, makeWrapper, lib, php }:
 let
   pname = "phpcs";
   version = "3.5.8";
@@ -12,7 +12,7 @@ mkDerivation {
   };
 
   phases = [ "installPhase" ];
-  nativeBuildInputs = [ pkgs.makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
@@ -21,7 +21,7 @@ mkDerivation {
       --add-flags "$out/libexec/phpcs/phpcs.phar"
   '';
 
-  meta = with pkgs.lib; {
+  meta = with lib; {
     description = "PHP coding standard tool";
     license = licenses.bsd3;
     homepage = "https://squizlabs.github.io/PHP_CodeSniffer/";
diff --git a/pkgs/development/php-packages/phpmd/default.nix b/pkgs/development/php-packages/phpmd/default.nix
index fd7390498ba39..fde674701eb22 100644
--- a/pkgs/development/php-packages/phpmd/default.nix
+++ b/pkgs/development/php-packages/phpmd/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, fetchurl, pkgs, lib, php }:
+{ mkDerivation, fetchurl, makeWrapper, lib, php }:
 let
   pname = "phpmd";
   version = "2.8.2";
@@ -8,13 +8,13 @@ in
 mkDerivation {
   inherit pname version;
 
-  src = pkgs.fetchurl {
+  src = fetchurl {
     url = "https://github.com/phpmd/phpmd/releases/download/${version}/phpmd.phar";
     sha256 = "1i8qgzxniw5d8zjpypalm384y7qfczapfq70xmg129laq6xiqlqb";
   };
 
   phases = [ "installPhase" ];
-  nativeBuildInputs = [ pkgs.makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
@@ -23,7 +23,7 @@ mkDerivation {
       --add-flags "$out/libexec/phpmd/phpmd.phar"
   '';
 
-  meta = with pkgs.lib; {
+  meta = with lib; {
     description = "PHP code quality analyzer";
     license = licenses.bsd3;
     homepage = "https://phpmd.org/";
diff --git a/pkgs/development/php-packages/phpstan/default.nix b/pkgs/development/php-packages/phpstan/default.nix
index c363150babcfc..5a7a856f3ae55 100644
--- a/pkgs/development/php-packages/phpstan/default.nix
+++ b/pkgs/development/php-packages/phpstan/default.nix
@@ -1,18 +1,18 @@
-{ mkDerivation, fetchurl, pkgs, lib, php }:
+{ mkDerivation, fetchurl, makeWrapper, lib, php }:
 let
   pname = "phpstan";
-  version = "0.12.68";
+  version = "0.12.79";
 in
 mkDerivation {
   inherit pname version;
 
-  src = pkgs.fetchurl {
+  src = fetchurl {
     url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
-    sha256 = "sha256-qplQi12ecZjtaM8XawiO+qSwEdTXByrxWZLf3N7gfNc=";
+    sha256 = "sha256-H6JmjdJtcCrNvad0ZbJ73OdRXimeTIJMVPuk8K6X6v8=";
   };
 
   phases = [ "installPhase" ];
-  nativeBuildInputs = [ pkgs.makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
@@ -21,7 +21,7 @@ mkDerivation {
       --add-flags "$out/libexec/phpstan/phpstan.phar"
   '';
 
-  meta = with pkgs.lib; {
+  meta = with lib; {
     description = "PHP Static Analysis Tool";
     longDescription = ''
       PHPStan focuses on finding errors in your code without actually
diff --git a/pkgs/development/php-packages/psalm/default.nix b/pkgs/development/php-packages/psalm/default.nix
index 1de01d1d09d1d..01160fc35fe67 100644
--- a/pkgs/development/php-packages/psalm/default.nix
+++ b/pkgs/development/php-packages/psalm/default.nix
@@ -1,18 +1,18 @@
-{ mkDerivation, fetchurl, pkgs, lib, php }:
+{ mkDerivation, fetchurl, makeWrapper, lib, php }:
 let
   pname = "psalm";
-  version = "4.4.1";
+  version = "4.6.1";
 in
 mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://github.com/vimeo/psalm/releases/download/${version}/psalm.phar";
-    sha256 = "sha256-4hqgAPflzNmeQQaxQATpWYBB5Pz7jKu8Vlw3BiMyhtw=";
+    sha256 = "sha256-YFeTSIfZ2u1KmpoKV5I7pMMvCk3u5ILktsunvoDnBsg=";
   };
 
   phases = [ "installPhase" ];
-  nativeBuildInputs = [ pkgs.makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
@@ -21,7 +21,7 @@ mkDerivation {
       --add-flags "$out/libexec/psalm/psalm.phar"
   '';
 
-  meta = with pkgs.lib; {
+  meta = with lib; {
     description = "A static analysis tool for finding errors in PHP applications";
     license = licenses.mit;
     homepage = "https://github.com/vimeo/psalm";
diff --git a/pkgs/development/php-packages/psysh/default.nix b/pkgs/development/php-packages/psysh/default.nix
index 4c5f703d025f8..514706dc178c7 100644
--- a/pkgs/development/php-packages/psysh/default.nix
+++ b/pkgs/development/php-packages/psysh/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, fetchurl, pkgs, lib, php }:
+{ mkDerivation, fetchurl, makeWrapper, lib, php }:
 let
   pname = "psysh";
   version = "0.10.4";
@@ -12,7 +12,7 @@ mkDerivation {
   };
 
   phases = [ "installPhase" ];
-  nativeBuildInputs = [ pkgs.makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
@@ -21,7 +21,7 @@ mkDerivation {
     wrapProgram $out/bin/psysh --prefix PATH : "${lib.makeBinPath [ php ]}"
   '';
 
-  meta = with pkgs.lib; {
+  meta = with lib; {
     description = "PsySH is a runtime developer console, interactive debugger and REPL for PHP.";
     license = licenses.mit;
     homepage = "https://psysh.org/";
diff --git a/pkgs/development/php-packages/rdkafka/default.nix b/pkgs/development/php-packages/rdkafka/default.nix
index e5bdc2a229845..0e78d3bbc9763 100644
--- a/pkgs/development/php-packages/rdkafka/default.nix
+++ b/pkgs/development/php-packages/rdkafka/default.nix
@@ -1,4 +1,4 @@
-{ buildPecl, lib, pkgs, pcre' }:
+{ buildPecl, lib, rdkafka, pcre' }:
 
 buildPecl {
   pname = "rdkafka";
@@ -6,11 +6,11 @@ buildPecl {
   version = "5.0.0";
   sha256 = "sha256-Qy+6rkPczhdxFbDhcuzmUTLMPUXYZ0HaheDBhkh4FXs=";
 
-  buildInputs = [ pkgs.rdkafka pcre' ];
+  buildInputs = [ rdkafka pcre' ];
 
   postPhpize = ''
     substituteInPlace configure \
-      --replace 'SEARCH_PATH="/usr/local /usr"' 'SEARCH_PATH=${pkgs.rdkafka}'
+      --replace 'SEARCH_PATH="/usr/local /usr"' 'SEARCH_PATH=${rdkafka}'
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/php-packages/redis/default.nix b/pkgs/development/php-packages/redis/default.nix
index a61ae1194ffb1..fedc7a7ffde2f 100644
--- a/pkgs/development/php-packages/redis/default.nix
+++ b/pkgs/development/php-packages/redis/default.nix
@@ -3,8 +3,8 @@
 buildPecl {
   pname = "redis";
 
-  version = "5.3.2";
-  sha256 = "1cfsbxf3q3im0cmalgk76jpz581zr92z03c1viy93jxb53k2vsgl";
+  version = "5.3.3";
+  sha256 = "sha256-N3iRYeFkzVIjmjDJojjaYf7FyDlc2sOFtu2PDFD9kvA=";
 
   internalDeps = with php.extensions; [
     session
diff --git a/pkgs/development/php-packages/smbclient/default.nix b/pkgs/development/php-packages/smbclient/default.nix
new file mode 100644
index 0000000000000..0486db82cc3d7
--- /dev/null
+++ b/pkgs/development/php-packages/smbclient/default.nix
@@ -0,0 +1,14 @@
+{ buildPecl, lib, samba, pkg-config }:
+buildPecl {
+  pname = "smbclient";
+  version = "1.0.5";
+  sha256 = "sha256-cNvTa1qzYrlhuX4oNehXt+XKqmqfonyomW/usQdQQO0=";
+
+  # TODO: remove this when upstream merges a fix - https://github.com/eduardok/libsmbclient-php/pull/66
+  LIBSMBCLIENT_INCDIR = "${samba.dev}/include/samba-4.0";
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ samba ];
+
+  meta.maintainers = lib.teams.php.members;
+}
diff --git a/pkgs/development/php-packages/sqlsrv/default.nix b/pkgs/development/php-packages/sqlsrv/default.nix
index 939be27671b10..4522129b2aa33 100644
--- a/pkgs/development/php-packages/sqlsrv/default.nix
+++ b/pkgs/development/php-packages/sqlsrv/default.nix
@@ -1,4 +1,4 @@
-{ buildPecl, lib, pkgs }:
+{ stdenv, buildPecl, lib, unixODBC, libiconv }:
 
 buildPecl {
   pname = "sqlsrv";
@@ -7,10 +7,8 @@ buildPecl {
   sha256 = "1css440b4qrbblmcswd5wdr2v1rjxlj2iicbmvjq9fg81028w40a";
 
   buildInputs = [
-    pkgs.unixODBC
-  ] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [
-    pkgs.libiconv
-  ];
+    unixODBC
+  ] ++ lib.optionals stdenv.isDarwin [ libiconv ];
 
   meta.maintainers = lib.teams.php.members;
 }
diff --git a/pkgs/development/php-packages/xdebug/default.nix b/pkgs/development/php-packages/xdebug/default.nix
index 780bb8c9086b9..56341be436a0f 100644
--- a/pkgs/development/php-packages/xdebug/default.nix
+++ b/pkgs/development/php-packages/xdebug/default.nix
@@ -3,8 +3,8 @@
 buildPecl {
   pname = "xdebug";
 
-  version = "3.0.2";
-  sha256 = "05sfgkw55ym7mg0b54l9x3i9598kf2bkp4z3sdl1hd31q3g4cv89";
+  version = "3.0.3";
+  sha256 = "sha256-5yZagVGOOX+XLcki50bRpIRTcXf/SJVDUWfRCeKTJDI=";
 
   doCheck = true;
   checkTarget = "test";
diff --git a/pkgs/development/php-packages/yaml/default.nix b/pkgs/development/php-packages/yaml/default.nix
index 40e5a859f9e49..9bd30ff4e3c41 100644
--- a/pkgs/development/php-packages/yaml/default.nix
+++ b/pkgs/development/php-packages/yaml/default.nix
@@ -1,4 +1,4 @@
-{ buildPecl, lib, pkgs }:
+{ buildPecl, lib, pkg-config, libyaml }:
 
 buildPecl {
   pname = "yaml";
@@ -6,9 +6,9 @@ buildPecl {
   version = "2.2.1";
   sha256 = "sha256-4XrQTnUuJf0Jm93S350m3+8YPI0AxBebydei4cl9eBk=";
 
-  configureFlags = [ "--with-yaml=${pkgs.libyaml}" ];
+  configureFlags = [ "--with-yaml=${libyaml}" ];
 
-  nativeBuildInputs = [ pkgs.pkg-config ];
+  nativeBuildInputs = [ pkg-config ];
 
   meta.maintainers = lib.teams.php.members;
 }
diff --git a/pkgs/development/python-modules/GitPython/default.nix b/pkgs/development/python-modules/GitPython/default.nix
index 2edb8c51e3a0b..0081051628df1 100644
--- a/pkgs/development/python-modules/GitPython/default.nix
+++ b/pkgs/development/python-modules/GitPython/default.nix
@@ -1,13 +1,21 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27, substituteAll, git, gitdb, mock, nose, ddt }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPy27
+, substituteAll
+, git
+, gitdb
+, ddt
+}:
 
 buildPythonPackage rec {
-  version = "3.1.11";
   pname = "GitPython";
+  version = "3.1.13";
   disabled = isPy27; # no longer supported
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "befa4d101f91bad1b632df4308ec64555db684c360bd7d2130b4807d49ce86b8";
+    sha256 = "sha256-hiGn53fidqXsg4tZKAulJy3RRKGBacNskD2LOLmfdQo=";
   };
 
   patches = [
@@ -17,16 +25,16 @@ buildPythonPackage rec {
     })
   ];
 
-  checkInputs = [ nose ] ++ lib.optional isPy27 mock;
   propagatedBuildInputs = [ gitdb ddt ];
 
   # Tests require a git repo
   doCheck = false;
+  pythonImportsCheck = [ "git" ];
 
-  meta = {
+  meta = with lib; {
     description = "Python Git Library";
-    maintainers = [ ];
     homepage = "https://github.com/gitpython-developers/GitPython";
-    license = lib.licenses.bsd3;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/pkgs/development/python-modules/Nikola/default.nix b/pkgs/development/python-modules/Nikola/default.nix
index eeab02fcb75e1..d8c49c99eba31 100644
--- a/pkgs/development/python-modules/Nikola/default.nix
+++ b/pkgs/development/python-modules/Nikola/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , isPy3k
 , fetchPypi
@@ -35,7 +36,7 @@
 
 buildPythonPackage rec {
   pname = "Nikola";
-  version = "8.1.2";
+  version = "8.1.3";
 
   # Nix contains only Python 3 supported version of doit, which is a dependency
   # of Nikola. Python 2 support would require older doit 0.29.0 (which on the
@@ -54,7 +55,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "26f4fb1a2b0105cf0f71187c6c1eb54283767a883d1c8f4ca8c8039033217d27";
+    sha256 = "05eac356bb4273cdd05d2dd6ad676226133496c457af91987c3f0d40e2fe57ef";
   };
 
   patchPhase = ''
@@ -72,5 +73,7 @@ buildPythonPackage rec {
     description = "A modular, fast, simple, static website and blog generator";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ jluttine ];
+    # all tests fail
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/python-modules/PyRMVtransport/default.nix b/pkgs/development/python-modules/PyRMVtransport/default.nix
index 86fb75f14548c..cfbf3be1c40c5 100644
--- a/pkgs/development/python-modules/PyRMVtransport/default.nix
+++ b/pkgs/development/python-modules/PyRMVtransport/default.nix
@@ -1,13 +1,19 @@
-{ lib, buildPythonPackage, fetchFromGitHub
-, flit
-, lxml, httpx
-, pytest, pytestcov, pytest-asyncio, pytest-mock, aresponses
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
 , pythonOlder
+, flit
+, async-timeout
+, lxml
+, httpx
+, pytestCheckHook
+, pytest-asyncio
+, pytest-httpx
 }:
 
 buildPythonPackage rec {
   pname = "PyRMVtransport";
-  version = "0.2.10";
+  version = "0.3.1";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -15,7 +21,7 @@ buildPythonPackage rec {
     owner = "cgtobi";
     repo = pname;
     rev = "v${version}";
-    sha256 = "03qrylidb1d6zw6a22d1drdf73cvfxqcqaa8qi8x4pli1axcfh5w";
+    sha256 = "1savzndg8l7rrc5dgzgsrdz9hnnjfv6qs5drznqmdw4f2rq84ypa";
   };
 
   nativeBuildInputs = [
@@ -23,24 +29,18 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
+    async-timeout
     httpx
     lxml
   ];
 
-  # requires pytest-httpx
-  doCheck = false;
+  pythonImportsCheck = [ "RMVtransport" ];
 
   checkInputs = [
-    pytest
-    pytestcov
+    pytestCheckHook
     pytest-asyncio
-    pytest-mock
-    # pytest-httpx is missing
-    aresponses
+    pytest-httpx
   ];
-  checkPhase = ''
-    pytest --cov=RMVtransport tests
-  '';
 
   meta = with lib; {
     homepage = "https://github.com/cgtobi/PyRMVtransport";
diff --git a/pkgs/development/python-modules/Wand/default.nix b/pkgs/development/python-modules/Wand/default.nix
index e180f0cea3324..054cce0ce5206 100644
--- a/pkgs/development/python-modules/Wand/default.nix
+++ b/pkgs/development/python-modules/Wand/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, imagemagick7Big
+, imagemagickBig
 }:
 
 buildPythonPackage rec {
@@ -16,13 +16,13 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace wand/api.py --replace \
       "magick_home = os.environ.get('MAGICK_HOME')" \
-      "magick_home = '${imagemagick7Big}'"
+      "magick_home = '${imagemagickBig}'"
   '';
 
   # tests not included with pypi release
   doCheck = false;
 
-  passthru.imagemagick = imagemagick7Big;
+  passthru.imagemagick = imagemagickBig;
 
   meta = with lib; {
     description = "Ctypes-based simple MagickWand API binding for Python";
diff --git a/pkgs/development/python-modules/adafruit-platformdetect/default.nix b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
index e62e24d4ab4ed..75eb4d0052ccb 100644
--- a/pkgs/development/python-modules/adafruit-platformdetect/default.nix
+++ b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "Adafruit-PlatformDetect";
-  version = "2.28.0";
+  version = "3.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "aa272605fd8a2ddcc6e5dd8151d628f76a9468c97ba7e4e315d6bc78b9bfb8f8";
+    sha256 = "a14c642b1f6849e57b5c442e81e809c9e1e3a0bcfebfd54b15a9f9fd273f9611";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/adb-shell/default.nix b/pkgs/development/python-modules/adb-shell/default.nix
index 9cd3fe3623348..5377785ff25a1 100644
--- a/pkgs/development/python-modules/adb-shell/default.nix
+++ b/pkgs/development/python-modules/adb-shell/default.nix
@@ -1,9 +1,20 @@
-{ aiofiles, buildPythonPackage, cryptography, fetchFromGitHub, isPy3k, lib
-, libusb1, mock, pyasn1, python, pycryptodome, rsa }:
+{ lib
+, aiofiles
+, buildPythonPackage
+, cryptography
+, fetchFromGitHub
+, isPy3k
+, libusb1
+, mock
+, pyasn1
+, pycryptodome
+, pytestCheckHook
+, rsa
+}:
 
 buildPythonPackage rec {
   pname = "adb-shell";
-  version = "0.3.0";
+  version = "0.3.1";
 
   disabled = !isPy3k;
 
@@ -12,19 +23,27 @@ buildPythonPackage rec {
     owner = "JeffLIrion";
     repo = "adb_shell";
     rev = "v${version}";
-    sha256 = "0qnlhcd58zxh39cd5xzdx8yc5hc0pf8kix4rbn4avsapwb0l75n2";
+    sha256 = "sha256-b+9ySme44TdIlVnF8AHBBGd8pkoeYG99wmDK/nyAreo=";
   };
 
-  propagatedBuildInputs = [ aiofiles cryptography libusb1 pyasn1 rsa ];
+  propagatedBuildInputs = [
+    aiofiles
+    cryptography
+    libusb1
+    pyasn1
+    rsa
+  ];
 
-  checkInputs = [ mock pycryptodome ];
-  checkPhase = ''
-    ${python.interpreter} -m unittest discover -s tests -t .
-  '';
+  checkInputs = [
+    mock
+    pycryptodome
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "adb_shell" ];
 
   meta = with lib; {
-    description =
-      "A Python implementation of ADB with shell and FileSync functionality.";
+    description = "Python implementation of ADB with shell and FileSync functionality";
     homepage = "https://github.com/JeffLIrion/adb_shell";
     license = licenses.asl20;
     maintainers = with maintainers; [ jamiemagee ];
diff --git a/pkgs/development/python-modules/adblock/default.nix b/pkgs/development/python-modules/adblock/default.nix
index de6d72a61ecfa..8fc697828f0ad 100644
--- a/pkgs/development/python-modules/adblock/default.nix
+++ b/pkgs/development/python-modules/adblock/default.nix
@@ -1,10 +1,9 @@
 { stdenv
 , lib
-, rustPlatform
 , fetchFromGitHub
-, pipInstallHook
+, buildPythonPackage
+, rustPlatform
 , pythonImportsCheckHook
-, maturin
 , pkg-config
 , openssl
 , publicsuffix-list
@@ -13,7 +12,7 @@
 , Security
 }:
 
-rustPlatform.buildRustPackage rec {
+buildPythonPackage rec {
   pname = "adblock";
   version = "0.4.0";
   disabled = isPy27;
@@ -25,39 +24,32 @@ rustPlatform.buildRustPackage rec {
     rev = version;
     sha256 = "10d6ks2fyzbizq3kb69q478idj0h86k6ygjb6wl3zq3mf65ma4zg";
   };
-  format = "pyproject";
 
-  cargoSha256 = "0di05j942rrm2crpdpp9czhh65fmidyrvdp2n3pipgnagy7nchc0";
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "${pname}-${version}";
+    hash = "sha256-gEFmj3/KvhvvsOK2nX2L1RUD4Wfp3nYzEzVnQZIsIDY=";
+  };
 
-  nativeBuildInputs = [ pipInstallHook maturin pkg-config pythonImportsCheckHook ];
+  format = "pyproject";
+
+  nativeBuildInputs = [ pkg-config pythonImportsCheckHook ]
+    ++ (with rustPlatform; [ cargoSetupHook maturinBuildHook ]);
 
   buildInputs = [ openssl ]
     ++ lib.optionals stdenv.isDarwin [ CoreFoundation Security ];
 
   PSL_PATH = "${publicsuffix-list}/share/publicsuffix/public_suffix_list.dat";
 
-  buildPhase = ''
-    runHook preBuild
-    maturin build --release --manylinux off --strip
-    runHook postBuild
-  '';
-
   # There are no rust tests
   doCheck = false;
-  pythonImportsCheck = [ "adblock" ];
 
-  installPhase = ''
-    runHook preInstall
-    install -Dm644 -t dist target/wheels/*.whl
-    pipInstallPhase
-    runHook postInstall
-  '';
+  pythonImportsCheck = [ "adblock" ];
 
-  passthru.meta = with lib; {
+  meta = with lib; {
     description = "Python wrapper for Brave's adblocking library, which is written in Rust";
     homepage = "https://github.com/ArniDagur/python-adblock/";
     maintainers = with maintainers; [ petabyteboy ];
     license = with licenses; [ asl20 mit ];
-    platforms = with platforms; [ all ];
   };
 }
diff --git a/pkgs/development/python-modules/addic7ed-cli/default.nix b/pkgs/development/python-modules/addic7ed-cli/default.nix
index bdf6aab3dbfc5..3ee3a897a906a 100644
--- a/pkgs/development/python-modules/addic7ed-cli/default.nix
+++ b/pkgs/development/python-modules/addic7ed-cli/default.nix
@@ -1,4 +1,6 @@
-{ lib, python3Packages, }:
+{ lib
+, python3Packages
+}:
 
 python3Packages.buildPythonApplication rec {
   pname = "addic7ed-cli";
@@ -14,6 +16,10 @@ python3Packages.buildPythonApplication rec {
     pyquery
   ];
 
+  # Tests require network access
+  doCheck = false;
+  pythonImportsCheck = [ "addic7ed_cli" ];
+
   meta = with lib; {
     description = "A commandline access to addic7ed subtitles";
     homepage = "https://github.com/BenoitZugmeyer/addic7ed-cli";
diff --git a/pkgs/development/python-modules/aenum/default.nix b/pkgs/development/python-modules/aenum/default.nix
index 4f30eefbf9005..b5fb2999c9615 100644
--- a/pkgs/development/python-modules/aenum/default.nix
+++ b/pkgs/development/python-modules/aenum/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "aenum";
-  version = "2.2.6";
+  version = "3.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "260225470b49429f5893a195a8b99c73a8d182be42bf90c37c93e7b20e44eaae";
+    sha256 = "17cd8cfed1ee4b617198c9fabbabd70ebd8f01e54ac29cd6c3a92df14bd86656";
   };
 
   # For Python 3, locale has to be set to en_US.UTF-8 for
diff --git a/pkgs/development/python-modules/afdko/default.nix b/pkgs/development/python-modules/afdko/default.nix
index 4df6c5f6c4931..f86151f2f51f3 100644
--- a/pkgs/development/python-modules/afdko/default.nix
+++ b/pkgs/development/python-modules/afdko/default.nix
@@ -17,14 +17,19 @@ buildPythonPackage rec {
     sha256 = "1qg7dgl81yq0sp50pkhgvmf8az1svx20zmpkfa68ka9d0ssh1wjw";
   };
 
-  # Skip date-dependent test. See
-  # https://github.com/adobe-type-tools/afdko/pull/1232
-  # https://github.com/NixOS/nixpkgs/pull/98158#issuecomment-704321117
   patches = [
+    # Skip date-dependent test. See
+    # https://github.com/adobe-type-tools/afdko/pull/1232
+    # https://github.com/NixOS/nixpkgs/pull/98158#issuecomment-704321117
     (fetchpatch {
       url = "https://github.com/adobe-type-tools/afdko/commit/2c36ad10f9d964759f643e8ed7b0972a27aa26bd.patch";
       sha256 = "0p6a485mmzrbfldfbhgfghsypfiad3cabcw7qlw2rh993ivpnibf";
     })
+    # fix tests for fonttools 4.21.1
+    (fetchpatch {
+      url = "https://github.com/adobe-type-tools/afdko/commit/0919e7454a0a05a1b141c23bf8134c67e6b688fc.patch";
+      sha256 = "0glly85swyl1kcc0mi8i0w4bm148bb001jz1winz5drfrw3a63jp";
+    })
   ];
 
   nativeBuildInputs = [ setuptools_scm ];
diff --git a/pkgs/development/python-modules/ailment/default.nix b/pkgs/development/python-modules/ailment/default.nix
new file mode 100644
index 0000000000000..13386eb12a6be
--- /dev/null
+++ b/pkgs/development/python-modules/ailment/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, pyvex
+}:
+
+buildPythonPackage rec {
+  pname = "ailment";
+  version = "9.0.5903";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "angr";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-75Ul9JfMFYv3AfBlgmer6IDyfgOAS4AdXexznoxi35Y=";
+  };
+
+  propagatedBuildInputs = [ pyvex ];
+
+  # Tests depend on angr (possibly a circular dependency)
+  doCheck = false;
+  #pythonImportsCheck = [ "ailment" ];
+
+  meta = with lib; {
+    description = "The angr Intermediate Language";
+    homepage = "https://github.com/angr/ailment";
+    license = with licenses; [ bsd2 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aioambient/default.nix b/pkgs/development/python-modules/aioambient/default.nix
new file mode 100644
index 0000000000000..cd47d7f08793f
--- /dev/null
+++ b/pkgs/development/python-modules/aioambient/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, aiohttp
+, aresponses
+, asynctest
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pytest-asyncio
+, pytest-cov
+, pytestCheckHook
+, python-engineio
+, python-socketio
+, pythonOlder
+, websockets
+}:
+
+buildPythonPackage rec {
+  pname = "aioambient";
+  version = "1.2.3";
+  format = "pyproject";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "bachya";
+    repo = pname;
+    rev = version;
+    sha256 = "1jg93rjn1gxc66qmipw4z1c09l8hgfsydacjgkfjq7vg547lragp";
+  };
+
+  nativeBuildInputs = [ poetry-core ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    python-engineio
+    python-socketio
+    websockets
+  ];
+
+  checkInputs = [
+    aresponses
+    asynctest
+    pytest-asyncio
+    pytest-cov
+    pytestCheckHook
+  ];
+
+  # Ignore the examples directory as the files are prefixed with test_
+  pytestFlagsArray = [ "--ignore examples/" ];
+  pythonImportsCheck = [ "aioambient" ];
+
+  meta = with lib; {
+    description = "Python library for the Ambient Weather API";
+    homepage = "https://github.com/bachya/aioambient";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aioasuswrt/default.nix b/pkgs/development/python-modules/aioasuswrt/default.nix
new file mode 100644
index 0000000000000..0e25ab3581a02
--- /dev/null
+++ b/pkgs/development/python-modules/aioasuswrt/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, asyncssh
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, pytest-asyncio
+, pytest-mock
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "aioasuswrt";
+  version = "1.3.2";
+
+  src = fetchFromGitHub {
+    owner = "kennedyshead";
+    repo = pname;
+    rev = "V${version}";
+    sha256 = "0bzl11224vny4p9vhi1n5s9p04kfavdzs9xkq5qimbisz9sg4ysj";
+  };
+
+  patches = [
+    (fetchpatch {
+      # Remove pytest-runner, https://github.com/kennedyshead/aioasuswrt/pull/63
+      url = "https://github.com/kennedyshead/aioasuswrt/pull/63/commits/e7923927648d5d8daccac1716db86db2a45fcb34.patch";
+      sha256 = "09xzs3hjr3133li6b7lr58n090r00kaxi9hx1fms2zn0ai4xwp9d";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov-report html" "" \
+      --replace "--cov-report term-missing" ""
+  '';
+
+  propagatedBuildInputs = [ asyncssh ];
+
+  checkInputs = [
+    pytest-asyncio
+    pytest-mock
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "aioasuswrt" ];
+
+  meta = with lib; {
+    description = "Python module for Asuswrt";
+    homepage = "https://github.com/kennedyshead/aioasuswrt";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiobotocore/default.nix b/pkgs/development/python-modules/aiobotocore/default.nix
index 2e7c9c2401c35..5d9c3fe166956 100644
--- a/pkgs/development/python-modules/aiobotocore/default.nix
+++ b/pkgs/development/python-modules/aiobotocore/default.nix
@@ -1,10 +1,7 @@
 { lib
-
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
-, pytestrunner
-, typing-extensions
 , wrapt
 , aioitertools
 , aiohttp
diff --git a/pkgs/development/python-modules/aiocache/default.nix b/pkgs/development/python-modules/aiocache/default.nix
new file mode 100644
index 0000000000000..54979dbd7ba4f
--- /dev/null
+++ b/pkgs/development/python-modules/aiocache/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, aioredis
+, buildPythonPackage
+, fetchFromGitHub
+, msgpack
+}:
+
+buildPythonPackage rec {
+  pname = "aiocache";
+  version = "0.11.1";
+
+  src = fetchFromGitHub {
+    owner = "aio-libs";
+    repo = pname;
+    rev = version;
+    sha256 = "1czs8pvhzi92qy2dch2995rb62mxpbhd80dh2ir7zpa9qcm6wxvx";
+  };
+
+  propagatedBuildInputs = [
+    aioredis
+    msgpack
+  ];
+
+  # aiomcache would be required but last release was in 2017
+  doCheck = false;
+  pythonImportsCheck = [ "aiocache" ];
+
+  meta = with lib; {
+    description = "Python API Rate Limit Decorator";
+    homepage = "https://github.com/tomasbasham/ratelimit";
+    license = with licenses; [ bsd3 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aioesphomeapi/default.nix b/pkgs/development/python-modules/aioesphomeapi/default.nix
index 03f1ed91cfd80..503a5336ee235 100644
--- a/pkgs/development/python-modules/aioesphomeapi/default.nix
+++ b/pkgs/development/python-modules/aioesphomeapi/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "aioesphomeapi";
-  version = "2.6.4";
+  version = "2.6.5";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d8def7a909c0471479e1d8b0965de6bb7644b8de315d6e578f9d848b8a6812d0";
+    sha256 = "sha256-inktluPKefrFQCF2yadvHwT9Rw+pJLw8pjdUc35IJoc=";
   };
 
   propagatedBuildInputs = [ attrs protobuf zeroconf ];
diff --git a/pkgs/development/python-modules/aioguardian/default.nix b/pkgs/development/python-modules/aioguardian/default.nix
index f6822ede08cd6..8d3de12cd9930 100644
--- a/pkgs/development/python-modules/aioguardian/default.nix
+++ b/pkgs/development/python-modules/aioguardian/default.nix
@@ -4,7 +4,6 @@
 , asyncio-dgram
 , asynctest
 , buildPythonPackage
-, cryptography
 , fetchFromGitHub
 , poetry
 , pytest-aiohttp
diff --git a/pkgs/development/python-modules/aioharmony/default.nix b/pkgs/development/python-modules/aioharmony/default.nix
index 0b6c68de8b4ca..3f2ee2fee3ea0 100644
--- a/pkgs/development/python-modules/aioharmony/default.nix
+++ b/pkgs/development/python-modules/aioharmony/default.nix
@@ -1,27 +1,36 @@
-{ lib, buildPythonPackage, fetchPypi, isPy3k, slixmpp, async-timeout, aiohttp }:
+{ lib
+, aiohttp
+, async-timeout
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, slixmpp
+}:
 
 buildPythonPackage rec {
   pname = "aioharmony";
-  version = "0.2.6";
+  version = "0.2.7";
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "90f4d1220d44b48b21a57e0273aa3c4a51599d0097af88e8be26df151e599344";
+    sha256 = "sha256-aej8xC0Bsy6ip7IwO6onp55p6afkz8yZnz14cCExSPA=";
   };
 
-  disabled = !isPy3k;
+  propagatedBuildInputs = [
+    aiohttp
+    async-timeout
+    slixmpp
+  ];
 
-  #aioharmony does not seem to include tests
+  # aioharmony does not seem to include tests
   doCheck = false;
 
   pythonImportsCheck = [ "aioharmony.harmonyapi" "aioharmony.harmonyclient" ];
 
-  propagatedBuildInputs = [ slixmpp async-timeout aiohttp ];
-
   meta = with lib; {
     homepage = "https://github.com/ehendrix23/aioharmony";
-    description =
-      "Asyncio Python library for connecting to and controlling the Logitech Harmony";
+    description = "Python library for interacting the Logitech Harmony devices";
     license = licenses.asl20;
     maintainers = with maintainers; [ oro ];
   };
diff --git a/pkgs/development/python-modules/aioinflux/default.nix b/pkgs/development/python-modules/aioinflux/default.nix
new file mode 100644
index 0000000000000..25aa7f587b25c
--- /dev/null
+++ b/pkgs/development/python-modules/aioinflux/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, aiohttp
+, ciso8601
+, pandas
+}:
+
+buildPythonPackage rec {
+  pname = "aioinflux";
+  version = "0.9.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1jy5mcg9wdz546s9wdwsgkxhm2ac4dmphd9vz243db39j1m0a3bj";
+  };
+
+  propagatedBuildInputs = [ aiohttp ciso8601 pandas ];
+
+  # Tests require InfluxDB server
+  doCheck = false;
+
+  pythonImportsCheck = [ "aioinflux" ];
+
+  meta = with lib; {
+    description = "Asynchronous Python client for InfluxDB";
+    homepage = "https://github.com/gusutabopb/aioinflux";
+    license = licenses.mit;
+    maintainers = with maintainers; [ liamdiprose lopsided98 ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiopylgtv/default.nix b/pkgs/development/python-modules/aiopylgtv/default.nix
new file mode 100644
index 0000000000000..200bc41b7a5da
--- /dev/null
+++ b/pkgs/development/python-modules/aiopylgtv/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, numpy
+, pythonOlder
+, sqlitedict
+, websockets
+}:
+
+buildPythonPackage rec {
+  pname = "aiopylgtv";
+  version = "0.4.0";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "bendavid";
+    repo = pname;
+    rev = version;
+    sha256 = "0x0xcnlz42arsp53zlq5wyv9pwif1in8j2pv48gh0pkdnz9s86b6";
+  };
+
+  propagatedBuildInputs = [
+    numpy
+    sqlitedict
+    websockets
+  ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "aiopylgtv" ];
+
+  meta = with lib; {
+    description = "Python library to control webOS based LG TV units";
+    homepage = "https://github.com/bendavid/aiopylgtv";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiorecollect/default.nix b/pkgs/development/python-modules/aiorecollect/default.nix
new file mode 100644
index 0000000000000..c802633e5723e
--- /dev/null
+++ b/pkgs/development/python-modules/aiorecollect/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, aiohttp
+, aresponses
+, async-timeout
+, buildPythonPackage
+, fetchFromGitHub
+, freezegun
+, poetry-core
+, pytest-asyncio
+, pytest-cov
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "aiorecollect";
+  version = "1.0.2";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "bachya";
+    repo = pname;
+    rev = version;
+    sha256 = "0dlz8zmqcn6g6000lfgcy5krpfafzdzrznmk6iwra65wcs7l9392";
+  };
+
+  nativeBuildInputs = [ poetry-core ];
+
+  propagatedBuildInputs = [ aiohttp ];
+
+  checkInputs = [
+    aresponses
+    freezegun
+    pytest-asyncio
+    pytest-cov
+    pytestCheckHook
+  ];
+
+  # Ignore the examples as they are prefixed with test_
+  pytestFlagsArray = [ "--ignore examples/" ];
+  pythonImportsCheck = [ "aiorecollect" ];
+
+  meta = with lib; {
+    description = "Python library for the Recollect Waste API";
+    longDescription = ''
+      aiorecollect is a Python asyncio-based library for the ReCollect
+      Waste API. It allows users to programmatically retrieve schedules
+      for waste removal in their area, including trash, recycling, compost
+      and more.
+    '';
+    homepage = "https://github.com/bachya/aiorecollect";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiorun/default.nix b/pkgs/development/python-modules/aiorun/default.nix
index a0a3d74e5780e..9c6776505554e 100644
--- a/pkgs/development/python-modules/aiorun/default.nix
+++ b/pkgs/development/python-modules/aiorun/default.nix
@@ -3,7 +3,7 @@
 , fetchFromGitHub
 , isPy27
 , pygments
-, pytest
+, pytestCheckHook
 , pytestcov
 , uvloop
 }:
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    pytest
+    pytestCheckHook
     pytestcov
     uvloop
   ];
@@ -37,9 +37,7 @@ buildPythonPackage rec {
     export HOME=$TMPDIR
   '';
 
-  checkPhase = ''
-     pytest
-  '';
+  pythonImportsCheck = [ "aiorun" ];
 
   meta = with lib; {
     description = "Boilerplate for asyncio applications";
diff --git a/pkgs/development/python-modules/aiosqlite/default.nix b/pkgs/development/python-modules/aiosqlite/default.nix
index 44cae12cba522..022e34e23c1be 100644
--- a/pkgs/development/python-modules/aiosqlite/default.nix
+++ b/pkgs/development/python-modules/aiosqlite/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "aiosqlite";
-  version = "0.16.0";
+  version = "0.17.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1a0fjmlvadyzsml10g5p1qif7192k0swy5zwjp8v48y5zc3yy56h";
+    sha256 = "sha256-8OaswkvEhkFJJnrIL7Rt+zvkRV+Z/iHfgmCcxua67lE=";
   };
 
   checkInputs = [
@@ -26,6 +26,8 @@ buildPythonPackage rec {
   # tests are not pick-up automatically by the hook
   pytestFlagsArray = [ "aiosqlite/tests/*.py" ];
 
+  pythonImportsCheck = [ "aiosqlite" ];
+
   meta = with lib; {
     description = "Asyncio bridge to the standard sqlite3 module";
     homepage = "https://github.com/jreese/aiosqlite";
diff --git a/pkgs/development/python-modules/alerta/default.nix b/pkgs/development/python-modules/alerta/default.nix
index e69503777d4e3..ad80f62db0553 100644
--- a/pkgs/development/python-modules/alerta/default.nix
+++ b/pkgs/development/python-modules/alerta/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "alerta";
-  version = "8.3.0";
+  version = "8.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "83c7d751bad0cb9bd7886700da4cd83c5451b2e8eb8d4cc697966e02d6a565f8";
+    sha256 = "260ff3118e73396104129928217b0f317ac5afdff8221874d8986df22ecf5f34";
   };
 
   propagatedBuildInputs = [ six click requests requests-hawk pytz tabulate ];
diff --git a/pkgs/development/python-modules/androidtv/default.nix b/pkgs/development/python-modules/androidtv/default.nix
index 91140dc0bf1a8..98ab09fd8e6bf 100644
--- a/pkgs/development/python-modules/androidtv/default.nix
+++ b/pkgs/development/python-modules/androidtv/default.nix
@@ -1,29 +1,39 @@
-{ aiofiles, adb-shell, buildPythonPackage, fetchFromGitHub, isPy3k, lib, mock
-, pure-python-adb, python }:
+{ lib
+, adb-shell
+, aiofiles
+, buildPythonPackage
+, fetchFromGitHub
+, isPy3k
+, mock
+, pure-python-adb
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "androidtv";
-  version = "0.0.50";
+  version = "0.0.58";
 
   # pypi does not contain tests, using github sources instead
   src = fetchFromGitHub {
     owner = "JeffLIrion";
     repo = "python-androidtv";
     rev = "v${version}";
-    sha256 = "1iqw40szwgzvhv3fbnx2wwfnw0d3clcwk9vsq1xsn30fjil2vl7b";
+    sha256 = "sha256-/5sYiYRFa8XJJ4QSxLzJBHaKfAKsGETiVDHerNQ79U8=";
   };
 
   propagatedBuildInputs = [ adb-shell pure-python-adb ]
     ++ lib.optionals (isPy3k) [ aiofiles ];
 
-  checkInputs = [ mock ];
-  checkPhase = ''
-    ${python.interpreter} -m unittest discover -s tests -t .
-  '';
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "androidtv" ];
 
   meta = with lib; {
     description =
-      "Communicate with an Android TV or Fire TV device via ADB over a network.";
+      "Communicate with an Android TV or Fire TV device via ADB over a network";
     homepage = "https://github.com/JeffLIrion/python-androidtv/";
     license = licenses.mit;
     maintainers = with maintainers; [ jamiemagee ];
diff --git a/pkgs/development/python-modules/ansiwrap/default.nix b/pkgs/development/python-modules/ansiwrap/default.nix
index 1af39e970bcd6..1d0aef1ee5d3a 100644
--- a/pkgs/development/python-modules/ansiwrap/default.nix
+++ b/pkgs/development/python-modules/ansiwrap/default.nix
@@ -1,11 +1,10 @@
 { lib
-, buildPythonPackage
-, fetchPypi
-, tox
-, pytest
 , ansicolors
+, buildPythonPackage
 , coverage
-, pytestcov
+, fetchPypi
+, pytest-cov
+, pytestCheckHook
 , textwrap3
 }:
 
@@ -20,20 +19,15 @@ buildPythonPackage rec {
   };
 
   checkInputs = [
-    tox
-    pytest
     ansicolors
     coverage
-    pytestcov
+    pytest-cov
+    pytestCheckHook
   ];
 
-  propagatedBuildInputs = [
-    textwrap3
-  ];
+  propagatedBuildInputs = [ textwrap3 ];
 
-  checkPhase = ''
-    pytest
-  '';
+  pythonImportsCheck = [ "ansiwrap" ];
 
   meta = with lib; {
     description = "Textwrap, but savvy to ANSI colors and styles";
diff --git a/pkgs/development/python-modules/anyio/default.nix b/pkgs/development/python-modules/anyio/default.nix
index f79bf23896fd2..1c3c72a8e2c7c 100644
--- a/pkgs/development/python-modules/anyio/default.nix
+++ b/pkgs/development/python-modules/anyio/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "anyio";
-  version = "2.0.2";
+  version = "2.1.0";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "agronholm";
     repo = pname;
     rev = version;
-    sha256 = "06nazfrm2sclp3lpgsn9wl8vmqxvx36s3gr2gnqz3zhjpf3glkxv";
+    sha256 = "0k5c4a7xcbiyah8rgrfh2hwj3l3a9al7rh2lyz9ip4rr1hwnqvaf";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/apache-airflow/default.nix b/pkgs/development/python-modules/apache-airflow/default.nix
index ca2cb03f96729..82d7a8cc32af8 100644
--- a/pkgs/development/python-modules/apache-airflow/default.nix
+++ b/pkgs/development/python-modules/apache-airflow/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , buildPythonPackage
-, fetchPypi
 , fetchFromGitHub
 , fetchpatch
 , alembic
@@ -47,10 +46,7 @@
 , tzlocal
 , unicodecsv
 , zope_deprecation
-, enum34
-, typing
 , nose
-, python
 , pythonOlder
 , pythonAtLeast
 }:
@@ -143,11 +139,9 @@ buildPythonPackage rec {
       --replace "flask-appbuilder>=1.12.5, <2.0.0" "flask-appbuilder" \
       --replace "flask-admin==1.5.3" "flask-admin" \
       --replace "flask-login>=0.3, <0.5" "flask-login" \
-      --replace "pendulum==1.4.4" "pendulum" \
       --replace "cached_property~=1.5" "cached_property" \
       --replace "dill>=0.2.2, <0.3" "dill" \
       --replace "configparser>=3.5.0, <3.6.0" "configparser" \
-      --replace "jinja2>=2.10.1, <2.11.0" "jinja2" \
       --replace "colorlog==4.0.2" "colorlog" \
       --replace "funcsigs==1.0.0" "funcsigs" \
       --replace "flask-swagger==0.2.13" "flask-swagger" \
diff --git a/pkgs/development/python-modules/apispec/default.nix b/pkgs/development/python-modules/apispec/default.nix
index 0dea059f76af8..ac6eb09577782 100644
--- a/pkgs/development/python-modules/apispec/default.nix
+++ b/pkgs/development/python-modules/apispec/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "apispec";
-  version = "4.0.0";
+  version = "4.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "360e28e5e84a4d7023b16de2b897327fe3da63ddc8e01f9165b9113b7fe1c48a";
+    sha256 = "fbbd069caa22c0270bc71a5330b46b5a4e1984d8345b9236ca02fbca23094647";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/apprise/default.nix b/pkgs/development/python-modules/apprise/default.nix
index c3f3185038843..fad9e7d03fa86 100644
--- a/pkgs/development/python-modules/apprise/default.nix
+++ b/pkgs/development/python-modules/apprise/default.nix
@@ -1,21 +1,21 @@
 { lib, buildPythonPackage, fetchPypi, installShellFiles
-, Babel, requests, requests_oauthlib, six, click, markdown, pyyaml
+, Babel, requests, requests_oauthlib, six, click, markdown, pyyaml, cryptography
 , pytestrunner, coverage, flake8, mock, pytestCheckHook, pytestcov, tox, gntp, sleekxmpp
 }:
 
 buildPythonPackage rec {
   pname = "apprise";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bab3563bc1e0c64938c4c7700112797bd99f20eb5d4a3e6038338bc8f060e153";
+    sha256 = "sha256-FW5gt35yoXVr2+hiGBDJ/5jFFfIpn2Z9sDN8acoO4FI=";
   };
 
   nativeBuildInputs = [ Babel installShellFiles ];
 
   propagatedBuildInputs = [
-    requests requests_oauthlib six click markdown pyyaml
+    cryptography requests requests_oauthlib six click markdown pyyaml
   ];
 
   checkInputs = [
@@ -28,6 +28,8 @@ buildPythonPackage rec {
     installManPage packaging/man/apprise.1
   '';
 
+  pythonImportsCheck = [ "apprise" ];
+
   meta = with lib; {
     homepage = "https://github.com/caronc/apprise";
     description = "Push Notifications that work with just about every platform!";
diff --git a/pkgs/development/python-modules/aqualogic/default.nix b/pkgs/development/python-modules/aqualogic/default.nix
new file mode 100644
index 0000000000000..a6081858afb5b
--- /dev/null
+++ b/pkgs/development/python-modules/aqualogic/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pyserial
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "aqualogic";
+  version = "2.5";
+
+  src = fetchFromGitHub {
+    owner = "swilson";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-yxd+A5dsB9gBwVlPNjz+IgDHKTktNky84bWZMhA/xa4=";
+  };
+
+  propagatedBuildInputs = [ pyserial ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "aqualogic" ];
+
+  meta = with lib; {
+    description = "Python library to interface with Hayward/Goldline AquaLogic/ProLogic pool controllers";
+    homepage = "https://github.com/swilson/aqualogic";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/archinfo/default.nix b/pkgs/development/python-modules/archinfo/default.nix
index 8cd0f20a7f26f..b06e0320dc924 100644
--- a/pkgs/development/python-modules/archinfo/default.nix
+++ b/pkgs/development/python-modules/archinfo/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.0.5610";
+  version = "9.0.5903";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-YlqCRLx8mqHXMKPCWqcGvHxRBGOxbwMZWPEDX/jEDdI=";
+    sha256 = "sha256-4e+ZGIt/ouZj5rsmaVxUrz8gAq4Yq2+Qx4jdOojB4Sw=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/aresponses/default.nix b/pkgs/development/python-modules/aresponses/default.nix
index 53353a1378865..f2a7f0f8f26bc 100644
--- a/pkgs/development/python-modules/aresponses/default.nix
+++ b/pkgs/development/python-modules/aresponses/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "aresponses";
-  version = "2.1.2";
+  version = "2.1.4";
 
   disabled = !isPy3k;
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "CircleUp";
     repo = pname;
     rev = version;
-    sha256 = "007wrk4wdy97a81imgzxd6sm5dly9v7abmxh9fyfi0vp1p7s75bw";
+    sha256 = "sha256-crMiMZ2IDuYDFt8Bixg3NRhlUa2tqmfzd7ZeHM+2Iu4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/argon2_cffi/default.nix b/pkgs/development/python-modules/argon2_cffi/default.nix
index 85c6c4b638a58..eec01adfebcac 100644
--- a/pkgs/development/python-modules/argon2_cffi/default.nix
+++ b/pkgs/development/python-modules/argon2_cffi/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "argon2_cffi";
-  version = "19.2.0";
+  version = "20.1.0";
 
   src = fetchPypi {
     pname = "argon2-cffi";
     inherit version;
-    sha256 = "ffaa623eea77b497ffbdd1a51e941b33d3bf552c60f14dbee274c4070677bda3";
+    sha256 = "0zgr4mnnm0p4i99023safb0qb8cgvl202nly1rvylk2b7qnrn0nq";
   };
 
   propagatedBuildInputs = [ cffi six ] ++ lib.optional (!isPy3k) enum34;
diff --git a/pkgs/development/python-modules/aspell-python/default.nix b/pkgs/development/python-modules/aspell-python/default.nix
new file mode 100644
index 0000000000000..1d6c7b45d15b2
--- /dev/null
+++ b/pkgs/development/python-modules/aspell-python/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27, aspell, aspellDicts, python }:
+
+buildPythonPackage rec {
+  pname = "aspell-python";
+  version = "1.15";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit version;
+    pname = "aspell-python-py3";
+    extension = "tar.bz2";
+    sha256 = "13dk3jrvqmfvf2w9b8afj37d8bh32kcx295lyn3z7r8qch792hi0";
+  };
+
+  buildInputs = [ aspell ];
+
+  checkPhase = ''
+    export ASPELL_CONF="dict-dir ${aspellDicts.en}/lib/aspell"
+    export HOME=$(mktemp -d)
+    ${python.interpreter} test/unittests.py
+  '';
+
+  pythonImportsCheck = [ "aspell" ];
+
+  meta = with lib; {
+    description = "Python wrapper for aspell (C extension and python version)";
+    homepage = "https://github.com/WojciechMula/aspell-python";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/asteval/default.nix b/pkgs/development/python-modules/asteval/default.nix
new file mode 100644
index 0000000000000..a55aef99ecbb3
--- /dev/null
+++ b/pkgs/development/python-modules/asteval/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "asteval";
+  version = "0.9.23";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "newville";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-9Zxb2EzB6nxDQHdlryFiwyNW+76VvysLUB78bXKzfv0=";
+  };
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "asteval" ];
+
+  meta = with lib; {
+    description = "AST evaluator of Python expression using ast module";
+    homepage = "https://github.com/newville/asteval";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/asyncio-dgram/default.nix b/pkgs/development/python-modules/asyncio-dgram/default.nix
index 14c800f568b02..2360d170f38ee 100644
--- a/pkgs/development/python-modules/asyncio-dgram/default.nix
+++ b/pkgs/development/python-modules/asyncio-dgram/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "asyncio-dgram";
-  version = "1.1.1";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "jsbronder";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1zkmjvq47zw2fsbnzhr5mh9rsazx0z1f8m528ash25jrxsza5crm";
+    sha256 = "sha256-wgcL/BdNjzitkkaGyRUQbW1uv1enLDnHk30YHClK58o=";
   };
 
   # OSError: AF_UNIX path too long
diff --git a/pkgs/development/python-modules/asyncio_mqtt/default.nix b/pkgs/development/python-modules/asyncio_mqtt/default.nix
new file mode 100644
index 0000000000000..bb2ead70d7160
--- /dev/null
+++ b/pkgs/development/python-modules/asyncio_mqtt/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, async_generator
+, paho-mqtt
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "asyncio_mqtt";
+  version = "0.8.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c1b3bea68a35c83d290a89903079ffb311106195cd56867e201633a1ee1cad0c";
+  };
+
+  propagatedBuildInputs = [
+    paho-mqtt
+  ] ++ lib.optional (pythonOlder "3.7") async_generator;
+
+  doCheck = false; # no tests
+
+  pythonImportsCheck = [ "asyncio_mqtt" ];
+
+  meta = with lib; {
+    description = "Idomatic asyncio wrapper around paho-mqtt";
+    homepage = "https://github.com/sbtinstruments/asyncio-mqtt";
+    license = licenses.bsd3;
+    changelog = "https://github.com/sbtinstruments/asyncio-mqtt/blob/master/CHANGELOG.md";
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/python-modules/asyncpg/default.nix b/pkgs/development/python-modules/asyncpg/default.nix
index 826ee6103fc0e..e2f2f2427802d 100644
--- a/pkgs/development/python-modules/asyncpg/default.nix
+++ b/pkgs/development/python-modules/asyncpg/default.nix
@@ -1,4 +1,4 @@
-{ lib, isPy3k, fetchPypi, fetchpatch, buildPythonPackage
+{ lib, isPy3k, fetchPypi, buildPythonPackage
 , uvloop, postgresql }:
 
 buildPythonPackage rec {
@@ -16,6 +16,8 @@ buildPythonPackage rec {
     postgresql
   ];
 
+  pythonImportsCheck = [ "asyncpg" ];
+
   meta = with lib; {
     homepage = "https://github.com/MagicStack/asyncpg";
     description = "An asyncio PosgtreSQL driver";
diff --git a/pkgs/development/python-modules/asyncwhois/default.nix b/pkgs/development/python-modules/asyncwhois/default.nix
index 077c5078caaeb..5c42e53fde042 100644
--- a/pkgs/development/python-modules/asyncwhois/default.nix
+++ b/pkgs/development/python-modules/asyncwhois/default.nix
@@ -1,20 +1,23 @@
 { lib
+, aiodns
+, asynctest
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
+, pytestCheckHook
 , pythonOlder
-, aiodns
 , tldextract
-, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "asyncwhois";
-  version = "0.2.3";
-  disabled = pythonOlder "3.6";
+  version = "0.2.4";
+  disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "95df90d5be581e3c69398abc6a3ec69a4e568852d9d6df4582bfcc0e22ffb3bb";
+  src = fetchFromGitHub {
+    owner = "pogzyb";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "17w007hjnpggj6jvkv8wxwllxk6mir1q2nhw0dqg7glm4lfbx8kr";
   };
 
   propagatedBuildInputs = [
@@ -22,9 +25,24 @@ buildPythonPackage rec {
     tldextract
   ];
 
-  # tests are only present at GitHub but not the released source tarballs
-  # https://github.com/pogzyb/asyncwhois/issues/10
-  doCheck = false;
+  checkInputs = [
+    asynctest
+    pytestCheckHook
+  ];
+
+  # Disable tests that require network access
+  disabledTests = [
+    "test_pywhois_aio_get_hostname_from_ip"
+    "test_pywhois_get_hostname_from_ip"
+    "test_pywhois_aio_lookup_ipv4"
+    "test_not_found"
+    "test_aio_from_whois_cmd"
+    "test_aio_get_hostname_from_ip"
+    "test_from_whois_cmd"
+    "test_get_hostname_from_ip"
+    "test_whois_query_run"
+  ];
+
   pythonImportsCheck = [ "asyncwhois" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/asysocks/default.nix b/pkgs/development/python-modules/asysocks/default.nix
index 66c66535a127b..21a3ed2a8fe3a 100644
--- a/pkgs/development/python-modules/asysocks/default.nix
+++ b/pkgs/development/python-modules/asysocks/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "asysocks";
-  version = "0.0.11";
+  version = "0.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "11ygrhkqm524i4qp2myjvpsmg1lsn32nsqxqla96sbj84qfnhv0q";
+    sha256 = "sha256-7EzSALAJcx8BNHX44FeeiSPRcTe9UFHXQ4IoSKxMU8w=";
   };
 
   # Upstream hasn't release the tests yet
diff --git a/pkgs/development/python-modules/auroranoaa/default.nix b/pkgs/development/python-modules/auroranoaa/default.nix
new file mode 100644
index 0000000000000..5d3fe1ff15dda
--- /dev/null
+++ b/pkgs/development/python-modules/auroranoaa/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "auroranoaa";
+  version = "0.0.2";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "djtimca";
+    repo = "aurora-api";
+    rev = version;
+    sha256 = "0bh8amixkg3xigwh3ryra22x6kzhbdassmf1iqv20lhbvzmsqjv0";
+  };
+
+  propagatedBuildInputs = [ aiohttp ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "auroranoaa" ];
+
+  meta = with lib; {
+    description = "Python wrapper for the Aurora API";
+    homepage = "https://github.com/djtimca/aurora-api";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/awesomeversion/default.nix b/pkgs/development/python-modules/awesomeversion/default.nix
index 4fb397e3ab5a1..b3b794eb3a1b8 100644
--- a/pkgs/development/python-modules/awesomeversion/default.nix
+++ b/pkgs/development/python-modules/awesomeversion/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "awesomeversion";
-  version = "21.1.8";
+  version = "21.2.3";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "ludeeus";
     repo = pname;
     rev = version;
-    sha256 = "sha256-hNsFkGSzqt5ujqk+AO1FW/yzwPxEN+AA7EVazvkwz2o=";
+    sha256 = "sha256-UQ77ot1JXZZAKD/ijw+FBYJnDLJyD7jLrKANksBIM2Y=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/aws-adfs/default.nix b/pkgs/development/python-modules/aws-adfs/default.nix
index ce4c6f7892633..efe4780c0a4f4 100644
--- a/pkgs/development/python-modules/aws-adfs/default.nix
+++ b/pkgs/development/python-modules/aws-adfs/default.nix
@@ -26,6 +26,8 @@ buildPythonPackage rec {
   checkInputs = [ glibcLocales pytest pytestrunner pytestcov mock ];
   propagatedBuildInputs = [ botocore lxml requests requests-kerberos click configparser fido2 ];
 
+  pythonImportsCheck = [ "aws_adfs" ];
+
   meta = with lib; {
     description = "Command line tool to ease aws cli authentication against ADFS";
     homepage = "https://github.com/venth/aws-adfs";
diff --git a/pkgs/development/python-modules/aws-sam-translator/default.nix b/pkgs/development/python-modules/aws-sam-translator/default.nix
index 52298faa0cc84..1c067bcec282d 100644
--- a/pkgs/development/python-modules/aws-sam-translator/default.nix
+++ b/pkgs/development/python-modules/aws-sam-translator/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "aws-sam-translator";
-  version = "1.31.0";
+  version = "1.32.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3a1d73d098161e60966b0d53bb310c98e4f66101688cce3d1697903643782d79";
+    sha256 = "jL+sAlKbeXA1QeJVQbAcgIaPEbD/Ko+QMrI1Ew2dVq4=";
   };
 
   # Tests are not included in the PyPI package
@@ -26,10 +26,9 @@ buildPythonPackage rec {
     six
   ] ++ lib.optionals (pythonOlder "3.4") [ enum34 ];
 
-  meta = {
+  meta = with lib; {
     homepage = "https://github.com/awslabs/serverless-application-model";
     description = "Python library to transform SAM templates into AWS CloudFormation templates";
-    license = lib.licenses.asl20;
-    maintainers = [ lib.maintainers.andreabedini ];
+    license = licenses.asl20;
   };
 }
diff --git a/pkgs/development/python-modules/azure-mgmt-batch/default.nix b/pkgs/development/python-modules/azure-mgmt-batch/default.nix
index 033ef0cccea48..5f4b005b6efe6 100644
--- a/pkgs/development/python-modules/azure-mgmt-batch/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-batch/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-batch";
-  version = "14.0.0";
+  version = "15.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "1d3b2c9ebd57c8874e11d29e7dd05a1f078d2156fc9683e2f2ad41024e448bf6";
+    sha256 = "9b793bb31a0d4dc8c29186db61db24d83795851a75846aadb187cf95bf853ccb";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-netapp/default.nix b/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
index a89d94f3d706c..ec1caa5c3e4ad 100644
--- a/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
@@ -6,13 +6,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.15.0";
+  version = "1.0.0";
   pname = "azure-mgmt-netapp";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5e98c360609a77b443b2fe431e0337e5cb705b4f02d0204791f9985f7ce68836";
+    sha256 = "e2c0cecd634c0a106e389f39ad767bfd1d718d90692e4e3c9664b1fe9a792ade";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/azure-mgmt-web/default.nix b/pkgs/development/python-modules/azure-mgmt-web/default.nix
index f02bee6befe62..9bd5371412d71 100644
--- a/pkgs/development/python-modules/azure-mgmt-web/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-web/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-web";
-  version = "1.0.0";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "c4b218a5d1353cd7c55b39c9b2bd1b13bfbe3b8a71bc735122b171eab81670d1";
+    sha256 = "0040e1c9c795f7bebe43647ff30b62cb0db7175175df5cbfa1e554a6a277b81e";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/base58/default.nix b/pkgs/development/python-modules/base58/default.nix
index 1e1da32f6c9f8..1437683941bba 100644
--- a/pkgs/development/python-modules/base58/default.nix
+++ b/pkgs/development/python-modules/base58/default.nix
@@ -1,19 +1,29 @@
-{ lib, fetchPypi, buildPythonPackage, isPy27, pytest, pyhamcrest }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pyhamcrest
+, pytest-benchmark
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "base58";
-  version = "2.0.1";
-  disabled = isPy27; # python 2 abandoned upstream
+  version = "2.1.0";
+  disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "365c9561d9babac1b5f18ee797508cd54937a724b6e419a130abad69cec5ca79";
+    sha256 = "sha256-FxpUe0o8YeGuOAciSm967HXjZMQ5XnViZJ1zNXaAAaI=";
   };
 
-  checkInputs = [ pytest pyhamcrest ];
-  checkPhase = ''
-    pytest
-  '';
+  checkInputs = [
+    pyhamcrest
+    pytest-benchmark
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "base58" ];
 
   meta = with lib; {
     description = "Base58 and Base58Check implementation";
diff --git a/pkgs/development/python-modules/batchgenerators/default.nix b/pkgs/development/python-modules/batchgenerators/default.nix
index 16b8f317a2236..8706a31d57119 100644
--- a/pkgs/development/python-modules/batchgenerators/default.nix
+++ b/pkgs/development/python-modules/batchgenerators/default.nix
@@ -2,7 +2,6 @@
 , buildPythonPackage
 , isPy27
 , fetchFromGitHub
-, fetchpatch
 , pytestCheckHook
 , unittest2
 , future
@@ -16,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "batchgenerators";
-  version = "0.20.1";
+  version = "0.21";
 
   disabled = isPy27;
 
@@ -24,18 +23,10 @@ buildPythonPackage rec {
     owner = "MIC-DKFZ";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1f91yflv9rschyl5bnfn735hp1rxrzcxkx18aajmlzb067h0ip8m";
+    sha256 = "16bk4r0q3m2c9fawpmj4l7kz0x3fyv1spb92grf44gmyricq3jdb";
 
   };
 
-  patches = [
-    # lift Pillow bound; should be merged in next release
-    (fetchpatch {
-      url = "https://github.com/MIC-DKFZ/batchgenerators/pull/59.patch";
-      sha256 = "171b3dm40yn0wi91m9s2nq3j565s1w39jpdf1mvc03rn75i8vdp0";
-    })
-  ];
-
   propagatedBuildInputs = [
     future numpy pillow scipy scikitlearn scikitimage threadpoolctl
   ];
diff --git a/pkgs/development/python-modules/beancount/default.nix b/pkgs/development/python-modules/beancount/default.nix
index e4a6a5f5625e1..29d676ad62a1d 100644
--- a/pkgs/development/python-modules/beancount/default.nix
+++ b/pkgs/development/python-modules/beancount/default.nix
@@ -1,7 +1,19 @@
-{ lib, buildPythonPackage, fetchPypi, isPy3k
-, beautifulsoup4, bottle, chardet, dateutil
-, google_api_python_client, lxml, oauth2client
-, ply, python_magic, pytest, requests }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, beautifulsoup4
+, bottle
+, chardet
+, dateutil
+, google_api_python_client
+, lxml
+, oauth2client
+, ply
+, pytest
+, python_magic
+, requests
+}:
 
 buildPythonPackage rec {
   version = "2.3.3";
@@ -29,7 +41,7 @@ buildPythonPackage rec {
     python_magic
     requests
     # pytest really is a runtime dependency
-    # https://bitbucket.org/blais/beancount/commits/554e13057551951e113835196770847c788dd592
+    # https://github.com/beancount/beancount/blob/v2/setup.py#L81-L82
     pytest
   ];
 
@@ -41,8 +53,7 @@ buildPythonPackage rec {
         financial transaction records in a text file, read them in memory,
         generate a variety of reports from them, and provides a web interface.
     '';
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ ];
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ bhipple ];
   };
 }
-
diff --git a/pkgs/development/python-modules/bespon/default.nix b/pkgs/development/python-modules/bespon/default.nix
index 599ad71b2411c..da6820ef6ecc2 100644
--- a/pkgs/development/python-modules/bespon/default.nix
+++ b/pkgs/development/python-modules/bespon/default.nix
@@ -4,12 +4,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.5.0";
+  version = "0.6.0";
   pname = "BespON";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a75cd7e62746fb0fef9b98aa157a44f9ed2ef63e952f7ae4ec5b3c2892669187";
+    sha256 = "2f2bda67fea8ee95c8aa7e885835ab88bdbfa392a94077ce1c9d29017420ce7a";
   };
 
   propagatedBuildInputs = [ ];
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Encodes and decodes data in the BespON format.";
     homepage = "https://github.com/gpoore/bespon_py";
-    license = licenses.lgpl3;
+    license = licenses.bsd3;
     maintainers = with maintainers; [ synthetica ];
   };
 
diff --git a/pkgs/development/python-modules/bids-validator/default.nix b/pkgs/development/python-modules/bids-validator/default.nix
index ab12f4097504e..d62c929e877d9 100644
--- a/pkgs/development/python-modules/bids-validator/default.nix
+++ b/pkgs/development/python-modules/bids-validator/default.nix
@@ -4,12 +4,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.5.10";
+  version = "1.6.0";
   pname = "bids-validator";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ae421596b6b69670bd5a4ed3e586c6147e04448704b14b0705fd2bfe03d16b41";
+    sha256 = "6858eab83068d34a9d41155c931ca8db9faef2272710d9730c2135915c19be82";
   };
 
   # needs packages which are not available in nixpkgs
diff --git a/pkgs/development/python-modules/binwalk/default.nix b/pkgs/development/python-modules/binwalk/default.nix
index 499d442c8224f..b9120d412cb0b 100644
--- a/pkgs/development/python-modules/binwalk/default.nix
+++ b/pkgs/development/python-modules/binwalk/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, stdenv
 , zlib
 , xz
 , ncompress
@@ -17,25 +18,23 @@
 , matplotlib
 , nose
 , pycrypto
-, pyqtgraph ? null }:
+, pyqtgraph
+, visualizationSupport ? false }:
 
-let
-  visualizationSupport = (pyqtgraph != null) && (matplotlib != null);
-  version = "2.2.0";
-in
-buildPythonPackage {
+buildPythonPackage rec {
   pname = "binwalk";
-  inherit version;
+  version = "2.2.0";
 
   src = fetchFromGitHub {
-    owner = "devttys0";
+    owner = "ReFirmLabs";
     repo = "binwalk";
-    rev = "be738a52e09b0da2a6e21470e0dbcd5beb42ed1b";
+    rev = "v${version}";
     sha256 = "1bxgj569fzwv6jhcbl864nmlsi9x1k1r20aywjxc8b9b1zgqrlvc";
   };
 
-  propagatedBuildInputs = [ zlib xz ncompress gzip bzip2 gnutar p7zip cabextract cramfsswap cramfsprogs sasquatch squashfsTools lzma pycrypto ]
-  ++ lib.optionals visualizationSupport [ matplotlib pyqtgraph ];
+  propagatedBuildInputs = [ zlib xz ncompress gzip bzip2 gnutar p7zip cabextract squashfsTools lzma pycrypto ]
+  ++ lib.optionals visualizationSupport [ matplotlib pyqtgraph ]
+  ++ lib.optionals (!stdenv.isDarwin) [ cramfsprogs cramfsswap sasquatch ];
 
   # setup.py only installs version.py during install, not test
   postPatch = ''
@@ -49,6 +48,8 @@ buildPythonPackage {
 
   checkInputs = [ nose ];
 
+  pythonImportsCheck = [ "binwalk" ];
+
   meta = with lib; {
     homepage = "https://github.com/ReFirmLabs/binwalk";
     description = "A tool for searching a given binary image for embedded files";
diff --git a/pkgs/development/python-modules/blinker/default.nix b/pkgs/development/python-modules/blinker/default.nix
index 5591113ab0ad6..ca59a0d710aba 100644
--- a/pkgs/development/python-modules/blinker/default.nix
+++ b/pkgs/development/python-modules/blinker/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib, buildPythonPackage, fetchPypi, nose, pytestCheckHook }:
 
 buildPythonPackage rec {
   pname = "blinker";
@@ -9,6 +9,9 @@ buildPythonPackage rec {
     sha256 = "1dpq0vb01p36jjwbhhd08ylvrnyvcc82yxx3mwjx6awrycjyw6j7";
   };
 
+  checkInputs = [ nose pytestCheckHook ];
+  pythonImportsCheck = [ "blinker" ];
+
   meta = with lib; {
     homepage = "https://pythonhosted.org/blinker/";
     description = "Fast, simple object-to-object and broadcast signaling";
diff --git a/pkgs/development/python-modules/blinkstick/default.nix b/pkgs/development/python-modules/blinkstick/default.nix
index 5e7cd42362dc7..8e7dd0b11fb5d 100644
--- a/pkgs/development/python-modules/blinkstick/default.nix
+++ b/pkgs/development/python-modules/blinkstick/default.nix
@@ -1,30 +1,34 @@
-{ lib, buildPythonPackage, fetchPypi, fetchpatch, pyusb }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pyusb
+}:
 
 buildPythonPackage rec {
   pname = "BlinkStick";
-  version = "1.1.8";
+  version = "1.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3edf4b83a3fa1a7bd953b452b76542d54285ff6f1145b6e19f9b5438120fa408";
+    sha256 = "0rdk3i81s6byw23za0bxvkh7sj5l16qxxgc2c53qjg3klc24wcm9";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/arvydas/blinkstick-python/commit/a9227d0.patch";
-      sha256 = "1mcmxlnkbfxwp84qz32l5rlc7r9anh9yhnqaj1y8rny5s13jb01f";
-    })
-    (fetchpatch {
-      url = "https://github.com/arvydas/blinkstick-python/pull/54.patch";
-      sha256 = "1gjq6xbai794bbdyrv82i96l1a7qkwvlhzd6sa937dy5ivv6s6hl";
-    })
-  ];
+  # Upstream fix https://github.com/arvydas/blinkstick-python/pull/54
+  # https://github.com/arvydas/blinkstick-python/pull/54/commits/b9bee2cd72f799f1210e5d9e13207f93bbc2d244.patch
+  # has line ending issues after 1.2.0
+  postPatch = ''
+    substituteInPlace setup.py --replace "pyusb==1.0.0" "pyusb>=1.0.0"
+  '';
 
   propagatedBuildInputs = [ pyusb ];
 
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "blinkstick" ];
+
   meta = with lib; {
     description = "Python package to control BlinkStick USB devices";
-    homepage = "https://pypi.python.org/pypi/BlinkStick/";
+    homepage = "https://github.com/arvydas/blinkstick-python";
     license = licenses.bsd3;
     maintainers = with maintainers; [ np ];
   };
diff --git a/pkgs/development/python-modules/blis/default.nix b/pkgs/development/python-modules/blis/default.nix
index 2b8aeb2edcd33..5d292c93fbbb2 100644
--- a/pkgs/development/python-modules/blis/default.nix
+++ b/pkgs/development/python-modules/blis/default.nix
@@ -35,6 +35,5 @@ buildPythonPackage rec {
     homepage = "https://github.com/explosion/cython-blis";
     license = licenses.bsd3;
     platforms = platforms.x86_64;
-    maintainers = with maintainers; [ danieldk ];
   };
 }
diff --git a/pkgs/development/python-modules/boto3/default.nix b/pkgs/development/python-modules/boto3/default.nix
index 41d0ed5f81de7..9e2f1e3080db5 100644
--- a/pkgs/development/python-modules/boto3/default.nix
+++ b/pkgs/development/python-modules/boto3/default.nix
@@ -12,12 +12,12 @@
 }:
 
 buildPythonPackage rec {
-  pname =  "boto3";
-  version = "1.16.62"; # N.B: if you change this, change botocore too
+  pname = "boto3";
+  version = "1.17.17"; # N.B: if you change this, change botocore and awscli to a matching version
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-u5H+z5guG7+2i7a9LJoMzjyErG+X3TONHvnkd4BnkJE=";
+    sha256 = "sha256-RSPqs3/wBdUXQIO1k4LP1ia3iQwI1WzhYqS9kq99RN8=";
   };
 
   propagatedBuildInputs = [ botocore jmespath s3transfer ] ++ lib.optionals (!isPy3k) [ futures ];
diff --git a/pkgs/development/python-modules/botocore/default.nix b/pkgs/development/python-modules/botocore/default.nix
index 1b0f2a347d0ba..efcd275b00a1c 100644
--- a/pkgs/development/python-modules/botocore/default.nix
+++ b/pkgs/development/python-modules/botocore/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "botocore";
-  version = "1.19.62"; # N.B: if you change this, change boto3 and awscli to a matching version
+  version = "1.20.17"; # N.B: if you change this, change boto3 and awscli to a matching version
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-KbS5vltA85KgM5JsCMAEwBvWRxOE728S6qSe44cKAQw=";
+    sha256 = "sha256-F4zjFdGf4O8z6M5nVKSC0Ano0TLFrcxFf1zx2ZqYdTs=";
   };
 
   propagatedBuildInputs = [
@@ -28,10 +28,6 @@ buildPythonPackage rec {
     urllib3
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py --replace "docutils>=0.10,<0.16" "docutils>=0.10"
-  '';
-
   checkInputs = [ mock nose ];
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/breathe/default.nix b/pkgs/development/python-modules/breathe/default.nix
index 29de26ac495ef..be51e87c95c65 100644
--- a/pkgs/development/python-modules/breathe/default.nix
+++ b/pkgs/development/python-modules/breathe/default.nix
@@ -1,13 +1,13 @@
 { lib, fetchPypi, buildPythonPackage, docutils, six, sphinx, isPy3k, isPy27 }:
 
 buildPythonPackage rec {
-  version = "4.26.1";
+  version = "4.27.0";
   pname = "breathe";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f59ecadebbb76e3b4710e8c9d2f8f98d51e54701930a38ddf732930653dcf6b5";
+    sha256 = "5b21f86d0cc99d3168f0d9730e07c1438057083ccc9a9c54de322e59e1f4e740";
   };
 
   propagatedBuildInputs = [ docutils six sphinx ];
diff --git a/pkgs/development/python-modules/brother/default.nix b/pkgs/development/python-modules/brother/default.nix
index 394021ff2b214..3e86aac02f1f6 100644
--- a/pkgs/development/python-modules/brother/default.nix
+++ b/pkgs/development/python-modules/brother/default.nix
@@ -4,16 +4,24 @@
 
 buildPythonPackage rec {
   pname = "brother";
-  version = "0.1.18";
+  version = "0.2.1";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "bieniu";
     repo = pname;
     rev = version;
-    sha256 = "14fiwhgcgymgqsl9kcfb0597rcjxvdknhwbakpdf0xp2ph6cj266";
+    sha256 = "sha256-yOloGkOVhXcTt0PAjf3yWUItN1okO94DndRFsImiuz4=";
   };
 
+  # pytest-error-for-skips is not packaged
+  postPatch = ''
+    substituteInPlace pytest.ini \
+      --replace " --error-for-skips" ""
+    substituteInPlace setup.py \
+      --replace "\"pytest-error-for-skips\"" ""
+  '';
+
   propagatedBuildInputs = [
     pysnmp
   ];
diff --git a/pkgs/development/python-modules/bt-proximity/default.nix b/pkgs/development/python-modules/bt-proximity/default.nix
index 8ac1b977f392d..584b7b1260558 100644
--- a/pkgs/development/python-modules/bt-proximity/default.nix
+++ b/pkgs/development/python-modules/bt-proximity/default.nix
@@ -3,7 +3,7 @@
 
 buildPythonPackage {
   pname = "bt-proximity";
-  version = "0.0.20180217";
+  version = "0.2";
 
   # pypi only has a pre-compiled wheel and no sources
   src = fetchFromGitHub {
@@ -18,6 +18,8 @@ buildPythonPackage {
   # there are no tests
   doCheck = false;
 
+  pythonImportsCheck = [ "bt_proximity" ];
+
   meta = with lib; {
     description = "Bluetooth Proximity Detection using Python";
     homepage = "https://github.com/FrederikBolding/bluetooth-proximity";
diff --git a/pkgs/development/python-modules/btchip/default.nix b/pkgs/development/python-modules/btchip/default.nix
index 3d206c829e8b6..e34b58907ea87 100644
--- a/pkgs/development/python-modules/btchip/default.nix
+++ b/pkgs/development/python-modules/btchip/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "btchip-python";
-  version = "0.1.31";
+  version = "0.1.32";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4167f3c6ea832dd189d447d0d7a8c2a968027671ae6f43c680192f2b72c39b2c";
+    sha256 = "34f5e0c161c08f65dc0d070ba2ff4c315ed21c4b7e0faa32a46862d0dc1b8f55";
   };
 
   propagatedBuildInputs = [ hidapi pyscard ecdsa ];
@@ -14,6 +14,8 @@ buildPythonPackage rec {
   # tests requires hardware
   doCheck = false;
 
+  pythonImportsCheck = [ "btchip.btchip" ];
+
   meta = with lib; {
     description = "Python communication library for Ledger Hardware Wallet products";
     homepage = "https://github.com/LedgerHQ/btchip-python";
diff --git a/pkgs/development/python-modules/buildbot/default.nix b/pkgs/development/python-modules/buildbot/default.nix
index 84476a2ca3610..30a7e5174a6da 100644
--- a/pkgs/development/python-modules/buildbot/default.nix
+++ b/pkgs/development/python-modules/buildbot/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, buildPythonPackage, fetchPypi, makeWrapper, isPy3k,
-  python, twisted, jinja2, zope_interface, future, sqlalchemy,
+  python, twisted, jinja2, zope_interface, sqlalchemy,
   sqlalchemy_migrate, dateutil, txaio, autobahn, pyjwt, pyyaml, treq,
   txrequests, pypugjs, boto3, moto, mock, python-lz4, setuptoolsTrial,
   isort, pylint, flake8, buildbot-worker, buildbot-pkg, buildbot-plugins,
@@ -9,7 +9,7 @@ let
   withPlugins = plugins: buildPythonPackage {
     name = "${package.name}-with-plugins";
     phases = [ "installPhase" "fixupPhase" ];
-    buildInputs = [ makeWrapper ];
+    nativeBuildInputs = [ makeWrapper ];
     propagatedBuildInputs = plugins ++ package.propagatedBuildInputs;
 
     installPhase = ''
@@ -25,11 +25,11 @@ let
 
   package = buildPythonPackage rec {
     pname = "buildbot";
-    version = "2.10.0";
+    version = "2.10.1";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "06fgp5gpacyx1sqh1f6590r792d5lhzspwmjli592ajx69ckzzwf";
+      sha256 = "0jmgpvgn36kfc1sa27a1l1g26dawhl99a1wl8gn4ajbcbcvc2pkh";
     };
 
     propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/buildbot/pkg.nix b/pkgs/development/python-modules/buildbot/pkg.nix
index 90c2f09919709..f3dc0440ac5cf 100644
--- a/pkgs/development/python-modules/buildbot/pkg.nix
+++ b/pkgs/development/python-modules/buildbot/pkg.nix
@@ -6,7 +6,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1wr8fxa80c6vq55zv7k9rf61r805flrhd2v28qfl05jz1inghysb";
+    sha256 = "0ymqkjz1zk4gs0hkxjh07napc4k24xxb8f3pganw27fca60xcii0";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/buildbot/plugins.nix b/pkgs/development/python-modules/buildbot/plugins.nix
index 92e78f940d531..ed2f363901e1e 100644
--- a/pkgs/development/python-modules/buildbot/plugins.nix
+++ b/pkgs/development/python-modules/buildbot/plugins.nix
@@ -7,7 +7,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0bzn00qqx0xd9r4rrz01y9zmiwjlhcanrs13r1yzp2mycn9q5865";
+      sha256 = "0x2k95lwx2gz2zj2ys646qiylhyqzlbiqf1k3q1l8w1wlggwv3xp";
     };
 
     # Remove unneccessary circular dependency on buildbot
@@ -34,7 +34,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0yh0dpg27gl3pk3nimj1yb6rw7kxvsv1bvzc6hbcfx3a9qdajicj";
+      sha256 = "0fpam6x8x207la1xrr8m45yx35r646iizrs4gsaghlysmr95jb3i";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -56,7 +56,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0b9fffr53wfq328csrqgdinafbs1v5s7yn4ky8faw6sqyd8l197v";
+      sha256 = "0ari338hmi1bb1pln3mxv4k9aclbcby6z3km61wg3va511qhrrbq";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -78,7 +78,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0pz1kmq731ap79l05l13f10r81lzgif5aydpsfz3k5fa9flvxjxs";
+      sha256 = "0a5nrklyzfasaa119y4ivr7449rvsgifpkyravinacrl1g9phlls";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -100,7 +100,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1jf72dzmgwrkqbr2f8s2dvf0zpvl3vbdq0qsf0g8xal272l7cmca";
+      sha256 = "0rris2p7ic9p9ms3qcczia4nn5mb1yx2gv5mlnmg2yligjad2jaf";
     };
 
     buildInputs = [ buildbot-pkg ];
diff --git a/pkgs/development/python-modules/buildbot/worker.nix b/pkgs/development/python-modules/buildbot/worker.nix
index bf5e1e6ae989a..02139d15e75ab 100644
--- a/pkgs/development/python-modules/buildbot/worker.nix
+++ b/pkgs/development/python-modules/buildbot/worker.nix
@@ -7,7 +7,7 @@ buildPythonPackage (rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1s51ycgnvjbxc2y358vw6rnw8xsx9grj6pxzfxjrph784igy22r0";
+    sha256 = "10ap7jlxs9vcmnyafr62mxlgsp709165nw55xmv9sw18r7m8wsm6";
   };
 
   propagatedBuildInputs = [ twisted future ];
diff --git a/pkgs/development/python-modules/cachetools/default.nix b/pkgs/development/python-modules/cachetools/default.nix
index 56efa9a348523..120fd5df124b7 100644
--- a/pkgs/development/python-modules/cachetools/default.nix
+++ b/pkgs/development/python-modules/cachetools/default.nix
@@ -1,17 +1,28 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27 }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "cachetools";
-  version = "4.1.1";
+  version = "4.2.1";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "bbaa39c3dede00175df2dc2b03d0cf18dd2d32a7de7beb68072d13043c9edb20";
+  src = fetchFromGitHub {
+    owner = "tkem";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1b662ph8m2d05d2vi3izgnr6v7h9zfvscfsaaw8nhdmmm15ivfa6";
   };
 
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "cachetools" ];
+
   meta = with lib; {
     description = "Extensible memoizing collections and decorators";
     homepage = "https://github.com/tkem/cachetools";
-    license = licenses.mit;
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/pkgs/development/python-modules/canmatrix/default.nix b/pkgs/development/python-modules/canmatrix/default.nix
index 6e487b58cff7d..8ffacc1a99de5 100644
--- a/pkgs/development/python-modules/canmatrix/default.nix
+++ b/pkgs/development/python-modules/canmatrix/default.nix
@@ -13,19 +13,19 @@
 , xlrd
 , XlsxWriter
 , pyyaml
-, pytest
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "canmatrix";
-  version = "0.9.1";
+  version = "0.9.3";
 
   # uses fetchFromGitHub as PyPi release misses test/ dir
   src = fetchFromGitHub {
     owner = "ebroecker";
     repo = pname;
     rev = version;
-    sha256 = "129lcchq45h8wqjvvn0rwpbmih4m0igass2cx7a21z94li97hcia";
+    sha256 = "sha256-9FupG1VmROgsxYhsafQYPPqG0xEOAYYK8QDOIBNzE0Y=";
   };
 
   propagatedBuildInputs = [
@@ -48,14 +48,11 @@ buildPythonPackage rec {
       --replace "version = versioneer.get_version()" "version = \"${version}\""
   '';
 
-  checkInputs = [
-    pytest
-  ];
-
+  checkInputs = [ pytestCheckHook ];
   # long_envvar_name_imports requires stable key value pair ordering
-  checkPhase = ''
-    pytest -s src/canmatrix -k 'not long_envvar_name_imports'
-  '';
+  pytestFlagsArray = [ "-s src/canmatrix" ];
+  disabledTests = [ "long_envvar_name_imports" ];
+  pythonImportsCheck = [ "canmatrix" ];
 
   meta = with lib; {
     homepage = "https://github.com/ebroecker/canmatrix";
diff --git a/pkgs/development/python-modules/canopen/default.nix b/pkgs/development/python-modules/canopen/default.nix
index e6f09645379ce..51a6d0d11c0fc 100644
--- a/pkgs/development/python-modules/canopen/default.nix
+++ b/pkgs/development/python-modules/canopen/default.nix
@@ -1,30 +1,40 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, nose
+, setuptools-scm
 , can
-, canmatrix }:
+, canmatrix
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "canopen";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "15d49f1f71e9989dde6e3b75fb8445c76bd223064dfc0ac629fe9ecb0e21fba9";
+    sha256 = "18d01d56ff0023795cb336cafd4810a76cf402b98b42139b201fa8c5d4ba8c06";
   };
 
-  propagatedBuildInputs =
-    [ can
-      canmatrix
-    ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
 
-  checkInputs = [ nose ];
+  propagatedBuildInputs = [
+    can
+    canmatrix
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "canopen" ];
 
   meta = with lib; {
     homepage = "https://github.com/christiansandberg/canopen/";
     description = "CANopen stack implementation";
-    license = licenses.lgpl3;
+    license = licenses.mit;
     maintainers = with maintainers; [ sorki ];
   };
 }
diff --git a/pkgs/development/python-modules/capstone/default.nix b/pkgs/development/python-modules/capstone/default.nix
index d7df0bee5ca96..af6b9031e66e6 100644
--- a/pkgs/development/python-modules/capstone/default.nix
+++ b/pkgs/development/python-modules/capstone/default.nix
@@ -1,9 +1,10 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , buildPythonPackage
-, fetchPypi
+, capstone
 , fetchpatch
+, fetchPypi
 , setuptools
-, capstone
 }:
 
 buildPythonPackage rec {
@@ -16,6 +17,7 @@ buildPythonPackage rec {
   postPatch = ''
     ln -s ${capstone}/lib/libcapstone${stdenv.targetPlatform.extensions.sharedLibrary} prebuilt/
     ln -s ${capstone}/lib/libcapstone.a prebuilt/
+    substituteInPlace setup.py --replace manylinux1 manylinux2014
   '';
 
   propagatedBuildInputs = [ setuptools ];
diff --git a/pkgs/development/python-modules/casbin/default.nix b/pkgs/development/python-modules/casbin/default.nix
index d1b795a9ef43c..7e26181cf5525 100644
--- a/pkgs/development/python-modules/casbin/default.nix
+++ b/pkgs/development/python-modules/casbin/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "casbin";
-  version = "0.16.0";
+  version = "0.16.2";
 
   disabled = isPy27;
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "pycasbin";
     rev = "v${version}";
-    sha256 = "1983p8pkbdj6yaclkdng7fn0pmlbz1yc75a4a847ppw47075ryph";
+    sha256 = "0jan4xikyi1p92rsir8camc6ify81wnd9l57v1pgmjf5fgb5r2w8";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cassandra-driver/default.nix b/pkgs/development/python-modules/cassandra-driver/default.nix
index e1cb9f211bc2d..55468ba0fdf7b 100644
--- a/pkgs/development/python-modules/cassandra-driver/default.nix
+++ b/pkgs/development/python-modules/cassandra-driver/default.nix
@@ -1,47 +1,85 @@
-{ lib, buildPythonPackage, fetchPypi, python, pythonOlder
+{ stdenv, lib, buildPythonPackage, fetchFromGitHub, python, pythonOlder
 , cython
 , eventlet
 , futures
+, iana-etc
+, geomet
 , libev
 , mock
 , nose
-, pytest
+, pytestCheckHook
 , pytz
 , pyyaml
 , scales
 , six
 , sure
+, gremlinpython
+, gevent
+, twisted
+, libredirect
 }:
 
 buildPythonPackage rec {
   pname = "cassandra-driver";
   version = "3.24.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "83ec8d9a5827ee44bb1c0601a63696a8a9086beaf0151c8255556299246081bd";
+  # pypi tarball doesn't include tests
+  src = fetchFromGitHub {
+    owner = "datastax";
+    repo = "python-driver";
+    rev = version;
+    sha256 = "1rr69hly5q810xpn8rkzxwzlq55wxxp7kwki9vfri3gh674d2wip";
   };
 
   nativeBuildInputs = [ cython ];
   buildInputs = [ libev ];
-  propagatedBuildInputs = [ six ]
+  propagatedBuildInputs = [ six geomet ]
     ++ lib.optionals (pythonOlder "3.4") [ futures ];
 
-  checkInputs = [ eventlet mock nose pytest pytz pyyaml sure ];
-
-  # ignore test files which try to do socket.getprotocolname('tcp')
-  # as it fails in sandbox mode due to lack of a /etc/protocols file
-  checkPhase = ''
-    pytest tests/unit \
-      --ignore=tests/unit/io/test_libevreactor.py \
-      --ignore=tests/unit/io/test_eventletreactor.py \
-      --ignore=tests/unit/io/test_asyncorereactor.py
+  # Make /etc/protocols accessible to allow socket.getprotobyname('tcp') in sandbox,
+  # also /etc/resolv.conf is referenced by some tests
+  preCheck = (lib.optionalString stdenv.isLinux ''
+    echo "nameserver 127.0.0.1" > resolv.conf
+    export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols:/etc/resolv.conf=$(realpath resolv.conf)
+    export LD_PRELOAD=${libredirect}/lib/libredirect.so
+  '') + ''
+    # increase tolerance for time-based test
+    substituteInPlace tests/unit/io/utils.py --replace 'delta=.15' 'delta=.3'
+  '';
+  postCheck = ''
+    unset NIX_REDIRECTS LD_PRELOAD
   '';
 
+  checkInputs = [
+    pytestCheckHook
+    eventlet
+    mock
+    nose
+    pytz
+    pyyaml
+    sure
+    scales
+    gremlinpython
+    gevent
+    twisted
+  ];
+
+  pytestFlagsArray = [
+    "tests/unit"
+    # requires puresasl
+    "--ignore=tests/unit/advanced/test_auth.py"
+  ];
+  disabledTests = [
+    # doesn't seem to be intended to be run directly
+    "_PoolTests"
+    # attempts to make connection to localhost
+    "test_connection_initialization"
+  ];
+
   meta = with lib; {
     description = "A Python client driver for Apache Cassandra";
     homepage = "http://datastax.github.io/python-driver";
     license = licenses.asl20;
-    broken = true; # geomet doesn't exist
+    maintainers = with maintainers; [ turion ris ];
   };
 }
diff --git a/pkgs/development/python-modules/catalogue/default.nix b/pkgs/development/python-modules/catalogue/default.nix
index a9c5bae71f4d2..d07b7f29dc396 100644
--- a/pkgs/development/python-modules/catalogue/default.nix
+++ b/pkgs/development/python-modules/catalogue/default.nix
@@ -26,6 +26,5 @@ buildPythonPackage rec {
     homepage = "https://github.com/explosion/catalogue";
     changelog = "https://github.com/explosion/catalogue/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ danieldk ];
   };
 }
diff --git a/pkgs/development/python-modules/censys/default.nix b/pkgs/development/python-modules/censys/default.nix
index 561d9651fed8c..23c883a48a4c6 100644
--- a/pkgs/development/python-modules/censys/default.nix
+++ b/pkgs/development/python-modules/censys/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "censys";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "censys";
     repo = "censys-python";
-    rev = "v${version}";
-    sha256 = "0vvd13g48i4alnqil98zc09zi5kv6l2s3kdfyg5syjxvq4lfd476";
+    rev = version;
+    sha256 = "06jwk0ps80fjzbsy24qn5bsggfpgn4ccjzjz65cdh0ap1mfvh5jf";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/certbot/default.nix b/pkgs/development/python-modules/certbot/default.nix
index cb842f1455f15..129ef932bdc52 100644
--- a/pkgs/development/python-modules/certbot/default.nix
+++ b/pkgs/development/python-modules/certbot/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "certbot";
-  version = "1.11.0";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-IGXiIOLP/Uq6HdXAschp1jFYq52ohRK4VLtkjF4Tb44=";
+    sha256 = "sha256-lMQkVc2UzC5GqEy88rcaJ74CaT3+YWveNDCXql/McRM=";
   };
 
   sourceRoot = "source/${pname}";
diff --git a/pkgs/development/python-modules/cftime/default.nix b/pkgs/development/python-modules/cftime/default.nix
index 78dcecfb6a934..1f52c04e9a97c 100644
--- a/pkgs/development/python-modules/cftime/default.nix
+++ b/pkgs/development/python-modules/cftime/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "cftime";
-  version = "1.3.1";
+  version = "1.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "77fd86e69b234d41fa8634d627e9e9ee0501c2a8a95268c2b524d38e0a33f090";
+    sha256 = "7c55540bc164746c3c4f86a07c9c7b9ed4dfb0b0d988348ec63cec065c58766d";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/chalice/default.nix b/pkgs/development/python-modules/chalice/default.nix
index 5445157b85303..9115b1d57c3fd 100644
--- a/pkgs/development/python-modules/chalice/default.nix
+++ b/pkgs/development/python-modules/chalice/default.nix
@@ -52,8 +52,7 @@ buildPythonPackage rec {
   postPatch = ''
     sed -i setup.py -e "/pip>=/c\'pip',"
     substituteInPlace setup.py \
-      --replace 'typing==3.6.4' 'typing' \
-      --replace 'attrs>=19.3.0,<20.3.0' 'attrs'
+      --replace 'typing==3.6.4' 'typing'
   '';
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/cheroot/default.nix b/pkgs/development/python-modules/cheroot/default.nix
index e5c7c23e2e431..4d6c71a7e2a58 100644
--- a/pkgs/development/python-modules/cheroot/default.nix
+++ b/pkgs/development/python-modules/cheroot/default.nix
@@ -73,7 +73,7 @@ buildPythonPackage rec {
     "bind_addr_unix"
   ];
 
-  disabledTestFiles = [
+  disabledTestPaths = [
     # avoid attempting to use 3 packages not available on nixpkgs
     # (jaraco.apt, jaraco.context, yg.lockfile)
     "cheroot/test/test_wsgi.py"
diff --git a/pkgs/development/python-modules/chirpstack-api/default.nix b/pkgs/development/python-modules/chirpstack-api/default.nix
new file mode 100644
index 0000000000000..a019dd651999a
--- /dev/null
+++ b/pkgs/development/python-modules/chirpstack-api/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, google-api-core
+, grpcio
+}:
+
+buildPythonPackage rec {
+  pname = "chirpstack-api";
+  version = "3.9.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "08djidy3fyhghyzvndcjas3hb1s9d7719gvmgbl8bzxjm4h2c433";
+  };
+
+  propagatedBuildInputs = [
+    google-api-core
+    grpcio
+  ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "chirpstack_api" ];
+
+  meta = with lib; {
+    description = "ChirpStack gRPC API message and service wrappers for Python";
+    homepage = "https://github.com/brocaar/chirpstack-api";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/cirq/default.nix b/pkgs/development/python-modules/cirq/default.nix
index ebc0eb51df435..16c61f2e895f0 100644
--- a/pkgs/development/python-modules/cirq/default.nix
+++ b/pkgs/development/python-modules/cirq/default.nix
@@ -3,7 +3,6 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
-, fetchpatch
 , freezegun
 , google-api-core
 , matplotlib
diff --git a/pkgs/development/python-modules/ckcc-protocol/default.nix b/pkgs/development/python-modules/ckcc-protocol/default.nix
index eaf89948e8f29..859fb091ec990 100644
--- a/pkgs/development/python-modules/ckcc-protocol/default.nix
+++ b/pkgs/development/python-modules/ckcc-protocol/default.nix
@@ -11,24 +11,24 @@
 
 buildPythonPackage rec {
   pname = "ckcc-protocol";
-  version = "1.0.2";
+  version = "1.0.3";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0zpn3miyapskw6s71v614pmga5zfain9j085axm9v50b8r71xh1i";
+    sha256 = "d83a77d94e9563c3fb0e982d847ec88ba6ac45e3e008e5e53729c0b9800097fc";
   };
 
-  checkInputs = [
-    pytest
-  ];
-
   propagatedBuildInputs = [ click ecdsa hidapi pyaes ];
 
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "ckcc" ];
+
   meta = with lib; {
     description = "Communicate with your Coldcard using Python";
     homepage = "https://github.com/Coldcard/ckcc-protocol";
-    license = licenses.gpl3;
+    license = licenses.mit;
     maintainers = [ maintainers.hkjn ];
   };
 }
diff --git a/pkgs/development/python-modules/claripy/default.nix b/pkgs/development/python-modules/claripy/default.nix
new file mode 100644
index 0000000000000..61b72e8cf31f9
--- /dev/null
+++ b/pkgs/development/python-modules/claripy/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, buildPythonPackage
+, cachetools
+, decorator
+, fetchFromGitHub
+, future
+, nose
+, pysmt
+, pythonOlder
+, pytestCheckHook
+, z3
+}:
+
+buildPythonPackage rec {
+  pname = "claripy";
+  version = "9.0.5903";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "angr";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-NIKWUx1VT5TjnuqppuT6VzwNRwcBLc0xI5k3F2Nmj8A=";
+  };
+
+  # Use upstream z3 implementation
+  postPatch = ''
+    substituteInPlace setup.py --replace "z3-solver>=4.8.5.0" ""
+  '';
+
+  propagatedBuildInputs = [
+    cachetools
+    decorator
+    future
+    pysmt
+    z3
+  ];
+
+  checkInputs = [
+    nose
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "claripy" ];
+
+  meta = with lib; {
+    description = "Python abstraction layer for constraint solvers";
+    homepage = "https://github.com/angr/claripy";
+    license = with licenses; [ bsd2 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/clifford/default.nix b/pkgs/development/python-modules/clifford/default.nix
index 85ed160413e79..3226e3854c740 100644
--- a/pkgs/development/python-modules/clifford/default.nix
+++ b/pkgs/development/python-modules/clifford/default.nix
@@ -46,11 +46,6 @@ buildPythonPackage rec {
     ipython
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "'numba==0.43'" "'numba'"
-  '';
-
   # avoid collecting local files
   preCheck = ''
     cd clifford/test
diff --git a/pkgs/development/python-modules/cmd2/default.nix b/pkgs/development/python-modules/cmd2/default.nix
index bafdb9cb95da2..a6b49d32bcb9a 100644
--- a/pkgs/development/python-modules/cmd2/default.nix
+++ b/pkgs/development/python-modules/cmd2/default.nix
@@ -6,11 +6,11 @@
 }:
 buildPythonPackage rec {
   pname = "cmd2";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e59fa932418603af4e046a96c8985812b05af8a73bfd9d7a386cd1b02c6ab687";
+    sha256 = "701a8c9975c4abc45e5d13906ab149f959f812869106347323a3f89ac0e82a62";
   };
 
   LC_ALL="en_US.UTF-8";
diff --git a/pkgs/development/python-modules/cmsis-svd/default.nix b/pkgs/development/python-modules/cmsis-svd/default.nix
new file mode 100644
index 0000000000000..cdfdd05e52170
--- /dev/null
+++ b/pkgs/development/python-modules/cmsis-svd/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildPythonPackage, fetchFromGitHub, six }:
+
+buildPythonPackage rec {
+  pname = "cmsis-svd";
+  version = "0.4";
+
+  src = fetchFromGitHub {
+    owner = "posborne";
+    repo = pname;
+    rev = "python-${version}";
+    sha256 = "01f2z01gqgx0risqnbrlaqj49fmly30zbwsf7rr465ggnl2c04r0";
+  };
+
+  preConfigure = ''
+    cd python
+  '';
+
+  propagatedBuildInputs = [ six ];
+
+  pythonImportsCheck = [ "cmsis_svd" ];
+
+  meta = with lib; {
+    description = "CMSIS SVD parser";
+    homepage = "https://github.com/posborne/cmsis-svd";
+    maintainers = with maintainers; [ dump_stack ];
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/cnvkit/default.nix b/pkgs/development/python-modules/cnvkit/default.nix
index 92af67fa183ad..5baa28e4bd7f2 100644
--- a/pkgs/development/python-modules/cnvkit/default.nix
+++ b/pkgs/development/python-modules/cnvkit/default.nix
@@ -2,7 +2,6 @@
 , fetchFromGitHub
 , fetchpatch
 , rPackages
-, rWrapper
 , buildPythonPackage
 , biopython
 , numpy
@@ -55,11 +54,6 @@ buildPythonPackage rec {
     rPackages.DNAcopy
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "pandas >= 0.20.1, < 0.25.0" "pandas"
-  '';
-
   checkInputs = [ R ];
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/coconut/default.nix b/pkgs/development/python-modules/coconut/default.nix
index b75a82b6c2b21..55eadddaa1d6d 100644
--- a/pkgs/development/python-modules/coconut/default.nix
+++ b/pkgs/development/python-modules/coconut/default.nix
@@ -1,17 +1,15 @@
-{
-  lib,
-  buildPythonApplication,
-  fetchFromGitHub,
-  fetchpatch,
-
-  cpyparsing,
-  ipykernel,
-  mypy,
-  pygments,
-  pytest,
-  prompt_toolkit,
-  tkinter,
-  watchdog
+{ lib
+, buildPythonApplication
+, fetchFromGitHub
+, fetchpatch
+, cpyparsing
+, ipykernel
+, mypy
+, pygments
+, pytestCheckHook
+, prompt_toolkit
+, tkinter
+, watchdog
 }:
 
 buildPythonApplication rec {
@@ -33,15 +31,26 @@ buildPythonApplication rec {
       url = "https://github.com/LibreCybernetics/coconut/commit/2916a087da1e063cc4438b68d4077347fd1ea4a2.patch";
       sha256 = "136jbd2rvnifw30y73vv667002nf7sbkm5qyihshj4db7ngysr6q";
     })
+    (fetchpatch {
+      name = "support-python-3.9.patch";
+      url = "https://github.com/evhub/coconut/commit/5c724b4dd92fb62c614d8192e3cac3dd1d475790.patch";
+      sha256 = "04xmzyfmyv6gr2l2z6pdxlllwzcmwxvahxzqyxglr36hfl33ad71";
+    })
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    tkinter
   ];
 
-  checkInputs = [ pytest tkinter ];
   # Currently most tests do not work on Hydra due to external fetches.
-  checkPhase = ''
-    pytest tests/constants_test.py
-    pytest tests/main_test.py::TestShell::test_compile_to_file
-    pytest tests/main_test.py::TestShell::test_convenience
-  '';
+  pytestFlagsArray = [
+    "tests/constants_test.py"
+    "tests/main_test.py::TestShell::test_compile_to_file"
+    "tests/main_test.py::TestShell::test_convenience"
+  ];
+
+  pythonImportsCheck = [ "coconut" ];
 
   meta = with lib; {
     homepage = "http://coconut-lang.org/";
diff --git a/pkgs/development/python-modules/cocotb/default.nix b/pkgs/development/python-modules/cocotb/default.nix
index 9cbf86ab1cf20..ec5cbe827768d 100644
--- a/pkgs/development/python-modules/cocotb/default.nix
+++ b/pkgs/development/python-modules/cocotb/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchFromGitHub, setuptools, swig, verilog }:
+{ lib, stdenv, buildPythonPackage, fetchFromGitHub, setuptools, swig, verilog }:
 
 buildPythonPackage rec {
   pname = "cocotb";
@@ -25,9 +25,6 @@ buildPythonPackage rec {
     do
       substituteInPlace $f --replace 'shell which' 'shell command -v'
     done
-
-    # This can perhaps be removed in the next update after 1.3.2?
-    substituteInPlace cocotb/share/makefiles/Makefile.inc --replace "-Werror" ""
   '';
 
   checkInputs = [ swig verilog ];
@@ -36,8 +33,7 @@ buildPythonPackage rec {
     # test expected failures actually pass because of a fix in our icarus version
     # https://github.com/cocotb/cocotb/issues/1952
     substituteInPlace tests/test_cases/test_discovery/test_discovery.py \
-      --replace 'def access_single_bit' $'def foo(x): pass\ndef foo' \
-      --replace 'def access_single_bit_assignment' $'def foo(x): pass\ndef foo'
+      --replace 'def access_single_bit' $'def foo(x): pass\ndef foo'
 
     export PATH=$out/bin:$PATH
     make test
@@ -48,5 +44,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/cocotb/cocotb";
     license = licenses.bsd3;
     maintainers = with maintainers; [ matthuszagh ];
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/python-modules/codespell/default.nix b/pkgs/development/python-modules/codespell/default.nix
index 7efb08c2c67bc..7427d391c6154 100644
--- a/pkgs/development/python-modules/codespell/default.nix
+++ b/pkgs/development/python-modules/codespell/default.nix
@@ -1,31 +1,31 @@
-{ lib, buildPythonApplication, fetchPypi, pytest, chardet }:
+{ lib, buildPythonApplication, fetchFromGitHub, pytestCheckHook, pytest-cov, pytest-dependency, aspell-python, aspellDicts, chardet }:
 
 buildPythonApplication rec {
   pname = "codespell";
   version = "2.0.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "dd9983e096b9f7ba89dd2d2466d1fc37231d060f19066331b9571341363c77b8";
+  src = fetchFromGitHub {
+    owner = "codespell-project";
+    repo = "codespell";
+    rev = "v${version}";
+    sha256 = "187g26s3wzjmvdx9vjabbnajpbg0s9klixyv6baymmgz9lrcv4ln";
   };
 
-  # no tests in pypi tarball
-  doCheck = false;
-  checkInputs = [ pytest chardet ];
-  checkPhase = ''
-    # We don't want to be affected by the presence of these
-    rm -r codespell_lib setup.cfg
-    # test_command assumes too much about the execution environment
-    pytest --pyargs codespell_lib.tests -k "not test_command"
+  checkInputs = [ aspell-python chardet pytestCheckHook pytest-cov pytest-dependency ];
+
+  preCheck = ''
+    export ASPELL_CONF="dict-dir ${aspellDicts.en}/lib/aspell"
   '';
 
+  # tries to run not fully installed script
+  disabledTests = [ "test_command" ];
+
   pythonImportsCheck = [ "codespell_lib" ];
 
-  meta = {
+  meta = with lib; {
     description = "Fix common misspellings in source code";
     homepage = "https://github.com/codespell-project/codespell";
-    license = with lib.licenses; [ gpl2 cc-by-sa-30 ];
-    maintainers = with lib.maintainers; [ johnazoidberg ];
-    platforms = lib.platforms.all;
+    license = with licenses; [ gpl2Only cc-by-sa-30 ];
+    maintainers = with maintainers; [ johnazoidberg SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/configargparse/default.nix b/pkgs/development/python-modules/configargparse/default.nix
index d1dcce9699b3e..9b6e5da6263e7 100644
--- a/pkgs/development/python-modules/configargparse/default.nix
+++ b/pkgs/development/python-modules/configargparse/default.nix
@@ -1,20 +1,31 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, mock
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "ConfigArgParse";
-  version = "1.2.3";
+  version = "1.3";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1p1pzpf5qpf80bfxsx1mbw9blyhhypjvhl3i60pbmhfmhvlpplgd";
+  src = fetchFromGitHub {
+    owner = "bw2";
+    repo = pname;
+    rev = version;
+    sha256 = "147x781lgahn9r3gbhayhx1pf0iysf7q1hnr3kypy3p2k9v7a9mh";
   };
 
-  # no tests in tarball
-  doCheck = false;
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "configargparse" ];
 
   meta = with lib; {
     description = "A drop-in replacement for argparse";
-    homepage = "https://github.com/zorro3/ConfigArgParse";
+    homepage = "https://github.com/bw2/ConfigArgParse";
     license = licenses.mit;
     maintainers = [ maintainers.willibutz ];
   };
diff --git a/pkgs/development/python-modules/confluent-kafka/default.nix b/pkgs/development/python-modules/confluent-kafka/default.nix
index cd2ddf9da69a5..589753cd1cb5a 100644
--- a/pkgs/development/python-modules/confluent-kafka/default.nix
+++ b/pkgs/development/python-modules/confluent-kafka/default.nix
@@ -1,12 +1,12 @@
 { lib, buildPythonPackage, fetchPypi, isPy3k, rdkafka, requests, avro3k, avro, futures, enum34 }:
 
 buildPythonPackage rec {
-  version = "1.5.0";
+  version = "1.6.0";
   pname = "confluent-kafka";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9ac812006000887f76c95b8a33a9f0b65845bf072fbc54a42a1acffd34e41120";
+    sha256 = "8a9caabdb02e87cd65c7f10f689ba3f1a15f8774de455e96fa5fc56eecfee63c";
   };
 
   buildInputs = [ rdkafka requests ] ++ (if isPy3k then [ avro3k ] else [ enum34 avro futures ]) ;
diff --git a/pkgs/development/python-modules/convertdate/default.nix b/pkgs/development/python-modules/convertdate/default.nix
index 60eedd3ec1776..f285a74e5449a 100644
--- a/pkgs/development/python-modules/convertdate/default.nix
+++ b/pkgs/development/python-modules/convertdate/default.nix
@@ -1,18 +1,31 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pymeeus, pytz }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pymeeus
+, pytz
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "convertdate";
-  version = "2.2.1";
+  version = "2.3.0";
 
   # Tests are not available in the PyPI tarball so use GitHub instead.
   src = fetchFromGitHub {
     owner = "fitnr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1xgi7x9b9kxm0q51bqnmwdm5lp8vwhx5yk4d1b23r37spz9dbhw5";
+    sha256 = "17j188zlp46zmq8qyy4z4f9v25l3zibkwzj8wp4fxqgimjnfj2nr";
   };
 
-  propagatedBuildInputs = [ pymeeus pytz ];
+  propagatedBuildInputs = [
+    pymeeus
+    pytz
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/fitnr/convertdate";
diff --git a/pkgs/development/python-modules/cornice/default.nix b/pkgs/development/python-modules/cornice/default.nix
index 6c488a271e254..fc470e012fb84 100644
--- a/pkgs/development/python-modules/cornice/default.nix
+++ b/pkgs/development/python-modules/cornice/default.nix
@@ -20,6 +20,7 @@ buildPythonPackage rec {
 
   # tests not packaged with pypi release
   doCheck = false;
+  pythonImportsCheck = [ "cornice" ];
 
   meta = with lib; {
     homepage = "https://github.com/mozilla-services/cornice";
@@ -27,5 +28,4 @@ buildPythonPackage rec {
     license = licenses.mpl20;
     maintainers = [ maintainers.costrouc ];
   };
-
 }
diff --git a/pkgs/development/python-modules/cozy/default.nix b/pkgs/development/python-modules/cozy/default.nix
index 39f2d1227e7ca..fcd002f762d75 100644
--- a/pkgs/development/python-modules/cozy/default.nix
+++ b/pkgs/development/python-modules/cozy/default.nix
@@ -1,5 +1,5 @@
 { buildPythonPackage, isPy3k, fetchFromGitHub, lib,
-  z3, ply, python-igraph, oset, ordered-set, dictionaries }:
+  z3, ply, python-igraph, oset, ordered-set, dictionaries, setuptools }:
 
 buildPythonPackage {
   pname = "cozy";
@@ -7,7 +7,7 @@ buildPythonPackage {
   disabled = !isPy3k;
 
   propagatedBuildInputs = [
-    z3 ply python-igraph oset ordered-set dictionaries
+    setuptools z3 ply python-igraph oset ordered-set dictionaries
   ];
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/criticality-score/default.nix b/pkgs/development/python-modules/criticality-score/default.nix
new file mode 100644
index 0000000000000..6b3348472a425
--- /dev/null
+++ b/pkgs/development/python-modules/criticality-score/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildPythonPackage, fetchPypi, PyGithub, python-gitlab }:
+
+buildPythonPackage rec {
+  pname = "criticality_score";
+  version = "1.0.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0i811a27i87z3j1rw0dwrnw8v0ckbd918ms6shjawhs4cnb1c6x8";
+  };
+
+  propagatedBuildInputs = [ PyGithub python-gitlab ];
+
+  doCheck = false;
+
+  pythonImportsCheck = [ "criticality_score" ];
+
+  meta = with lib; {
+    description = "Python tool for computing the Open Source Project Criticality Score.";
+    homepage = "https://github.com/ossf/criticality_score";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ wamserma ];
+  };
+}
diff --git a/pkgs/development/python-modules/cryptography/3.3.nix b/pkgs/development/python-modules/cryptography/3.3.nix
index b6972e6d56bbc..0497185207532 100644
--- a/pkgs/development/python-modules/cryptography/3.3.nix
+++ b/pkgs/development/python-modules/cryptography/3.3.nix
@@ -22,11 +22,11 @@
 
 buildPythonPackage rec {
   pname = "cryptography";
-  version = "3.3.1"; # Also update the hash in vectors-3.3.nix
+  version = "3.3.2"; # Also update the hash in vectors-3.3.nix
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ribd1vxq9wwz564mg60dzcy699gng54admihjjkgs9dx95pw5vy";
+    sha256 = "1vcvw4lkw1spiq322pm1256kail8nck6bbgpdxx3pqa905wd6q2s";
   };
 
   patches = [ ./cryptography-py27-warning.patch ];
diff --git a/pkgs/development/python-modules/cryptography/default.nix b/pkgs/development/python-modules/cryptography/default.nix
index ad402efd75935..1038431d31c73 100644
--- a/pkgs/development/python-modules/cryptography/default.nix
+++ b/pkgs/development/python-modules/cryptography/default.nix
@@ -2,8 +2,8 @@
 , buildPythonPackage
 , fetchPypi
 , fetchpatch
-, isPy27
-, ipaddress
+, rustPlatform
+, setuptools-rust
 , openssl
 , cryptography_vectors
 , darwin
@@ -13,27 +13,38 @@
 , isPyPy
 , cffi
 , pytest
+, pytest-subtests
 , pretend
 , iso8601
 , pytz
 , hypothesis
-, enum34
 }:
 
 buildPythonPackage rec {
   pname = "cryptography";
-  version = "3.3.1"; # Also update the hash in vectors.nix
+  version = "3.4.6"; # Also update the hash in vectors.nix
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ribd1vxq9wwz564mg60dzcy699gng54admihjjkgs9dx95pw5vy";
+    sha256 = "11wgsihfq72fav67c3igi0xbhbd6c5dj869byd1jkq0fbcz24cid";
   };
 
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    sourceRoot = "${pname}-${version}/${cargoRoot}";
+    name = "${pname}-${version}";
+    sha256 = "1i0sd2y4a5g1yqwcpw2ycp6p4p8sk5v7clblq756i5864j52v6w1";
+  };
+
+  cargoRoot = "src/rust";
+
   outputs = [ "out" "dev" ];
 
   nativeBuildInputs = lib.optionals (!isPyPy) [
     cffi
-  ];
+    rustPlatform.cargoSetupHook
+    setuptools-rust
+  ] ++ (with rustPlatform; [ rust.cargo rust.rustc ]);
 
   buildInputs = [ openssl ]
              ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
@@ -42,8 +53,6 @@ buildPythonPackage rec {
     six
   ] ++ lib.optionals (!isPyPy) [
     cffi
-  ] ++ lib.optionals isPy27 [
-    ipaddress enum34
   ];
 
   checkInputs = [
@@ -52,6 +61,7 @@ buildPythonPackage rec {
     iso8601
     pretend
     pytest
+    pytest-subtests
     pytz
   ];
 
diff --git a/pkgs/development/python-modules/cryptography/vectors-3.3.nix b/pkgs/development/python-modules/cryptography/vectors-3.3.nix
index 94526c8268ef5..f9b7c525237ab 100644
--- a/pkgs/development/python-modules/cryptography/vectors-3.3.nix
+++ b/pkgs/development/python-modules/cryptography/vectors-3.3.nix
@@ -7,7 +7,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "192wix3sr678x21brav5hgc6j93l7ab1kh69p2scr3fsblq9qy03";
+    sha256 = "1yhaps0f3h2yjb6lmz953z1l1d84y9swk4k3gj9nqyk4vbx5m7cc";
   };
 
   # No tests included
diff --git a/pkgs/development/python-modules/cryptography/vectors.nix b/pkgs/development/python-modules/cryptography/vectors.nix
index 94526c8268ef5..a807be9c3bbbe 100644
--- a/pkgs/development/python-modules/cryptography/vectors.nix
+++ b/pkgs/development/python-modules/cryptography/vectors.nix
@@ -7,7 +7,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "192wix3sr678x21brav5hgc6j93l7ab1kh69p2scr3fsblq9qy03";
+    sha256 = "1a1d5ix5b3ajhrqaf8rm6qmd6gkaidij0jgd1vrb8q1xn1gqmy75";
   };
 
   # No tests included
diff --git a/pkgs/development/python-modules/crytic-compile/default.nix b/pkgs/development/python-modules/crytic-compile/default.nix
index 936db1081b6ad..95f2effc045ad 100644
--- a/pkgs/development/python-modules/crytic-compile/default.nix
+++ b/pkgs/development/python-modules/crytic-compile/default.nix
@@ -6,6 +6,10 @@ buildPythonPackage rec {
 
   disabled = pythonOlder "3.6";
 
+  patchPhase = ''
+    substituteInPlace setup.py --replace 'version="0.1.11",' 'version="${version}",'
+  '';
+
   src = fetchFromGitHub {
     owner = "crytic";
     repo = "crytic-compile";
@@ -21,7 +25,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Abstraction layer for smart contract build systems";
     homepage = "https://github.com/crytic/crytic-compile";
-    license = licenses.agpl3;
-    maintainers = with maintainers; [ SuperSandro2000 ];
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ SuperSandro2000 arturcygan ];
   };
 }
diff --git a/pkgs/development/python-modules/csvs-to-sqlite/default.nix b/pkgs/development/python-modules/csvs-to-sqlite/default.nix
index 4105d981386d5..ea32471f09c51 100644
--- a/pkgs/development/python-modules/csvs-to-sqlite/default.nix
+++ b/pkgs/development/python-modules/csvs-to-sqlite/default.nix
@@ -2,13 +2,12 @@
 , buildPythonPackage
 , fetchFromGitHub
 , isPy3k
-, pytestrunner
 , click
 , dateparser
 , pandas
 , py-lru-cache
 , six
-, pytest
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -23,11 +22,6 @@ buildPythonPackage rec {
     sha256 = "0p99cg76d3s7jxvigh5ad04dzhmr6g62qzzh4i6h7x9aiyvdhvk4";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace pandas~=0.25.0 pandas
-  '';
-
   propagatedBuildInputs = [
     click
     dateparser
@@ -37,13 +31,9 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    pytest
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    pytest
-  '';
-
   meta = with lib; {
     description = "Convert CSV files into a SQLite database";
     homepage = "https://github.com/simonw/csvs-to-sqlite";
diff --git a/pkgs/development/python-modules/cufflinks/default.nix b/pkgs/development/python-modules/cufflinks/default.nix
index 4c2db1f52146c..42f1d77b12b91 100644
--- a/pkgs/development/python-modules/cufflinks/default.nix
+++ b/pkgs/development/python-modules/cufflinks/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, fetchpatch
+{ lib, buildPythonPackage, fetchPypi
 , chart-studio
 , colorlover
 , ipython
diff --git a/pkgs/development/python-modules/cvxpy/default.nix b/pkgs/development/python-modules/cvxpy/default.nix
index 58d06e60d39c4..9fdee6dacaf5a 100644
--- a/pkgs/development/python-modules/cvxpy/default.nix
+++ b/pkgs/development/python-modules/cvxpy/default.nix
@@ -4,40 +4,35 @@
 , fetchPypi
 , cvxopt
 , ecos
-, multiprocess
 , numpy
 , osqp
 , scipy
 , scs
-, six
   # Check inputs
 , pytestCheckHook
-, nose
 }:
 
 buildPythonPackage rec {
   pname = "cvxpy";
-  version = "1.1.7";
+  version = "1.1.10";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "330eb76e8369c360b68d9231c6eb350848e373b5952134f9bfebaed1a4c4211f";
+    hash = "sha256-7NCouJ95nOolSSjeqHktnGnDfbC9gwtM2mKbKyvlInA=";
   };
 
   propagatedBuildInputs = [
     cvxopt
     ecos
-    multiprocess
     numpy
     osqp
     scipy
     scs
-    six
   ];
 
-  checkInputs = [ pytestCheckHook nose ];
+  checkInputs = [ pytestCheckHook ];
   pytestFlagsArray = [ "./cvxpy" ];
   # Disable the slowest benchmarking tests, cuts test time in half
   disabledTests = [
@@ -46,7 +41,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    description = "A domain-specific language for modeling convex optimization problems in Python.";
+    description = "A domain-specific language for modeling convex optimization problems in Python";
     homepage = "https://www.cvxpy.org/";
     downloadPage = "https://github.com/cvxgrp/cvxpy/releases";
     changelog = "https://github.com/cvxgrp/cvxpy/releases/tag/v${version}";
diff --git a/pkgs/development/python-modules/cytoolz/default.nix b/pkgs/development/python-modules/cytoolz/default.nix
index 0e72ecaa82526..4e862d2609278 100644
--- a/pkgs/development/python-modules/cytoolz/default.nix
+++ b/pkgs/development/python-modules/cytoolz/default.nix
@@ -22,9 +22,8 @@ buildPythonPackage rec {
   checkInputs = [ nose ];
   propagatedBuildInputs = [ toolz ];
 
-  # Failing test https://github.com/pytoolz/cytoolz/issues/122
   checkPhase = ''
-    NOSE_EXCLUDE=test_introspect_builtin_modules nosetests -v $out/${python.sitePackages}
+    nosetests -v $out/${python.sitePackages}
   '';
 
   meta = {
diff --git a/pkgs/development/python-modules/dash-core-components/default.nix b/pkgs/development/python-modules/dash-core-components/default.nix
index 9d5e650207bca..2782342c1b518 100644
--- a/pkgs/development/python-modules/dash-core-components/default.nix
+++ b/pkgs/development/python-modules/dash-core-components/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "dash_core_components";
-  version = "1.13.0";
+  version = "1.15.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f92025b12931539cdda2173f2b4cd077119cbabbf3ddf62333f6302fd0d8a3ac";
+    sha256 = "b61cb37322de91b4feb0d4d823694cbba8686f6459db774b53d553135350c71e";
   };
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/dash-html-components/default.nix b/pkgs/development/python-modules/dash-html-components/default.nix
index 69eb4de2a2376..3d29054467710 100644
--- a/pkgs/development/python-modules/dash-html-components/default.nix
+++ b/pkgs/development/python-modules/dash-html-components/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "dash_html_components";
-  version = "1.1.1";
+  version = "1.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2c662e640528c890aaa0fa23d48e51c4d13ce69a97841d856ddcaaf2c6a47be3";
+    sha256 = "83eaa39667b7c3e6cbefa360743e6e536d913269ea15db14308ad022c78bc301";
   };
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/dash-renderer/default.nix b/pkgs/development/python-modules/dash-renderer/default.nix
index 8977d49489cbd..5c8f524e423af 100644
--- a/pkgs/development/python-modules/dash-renderer/default.nix
+++ b/pkgs/development/python-modules/dash-renderer/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "dash_renderer";
-  version = "1.8.3";
+  version = "1.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f7ab2b922f4f0850bae0e9793cec99f8a1a241e5f7f5786e367ddd9e41d2b170";
+    sha256 = "3c5519a781beb2261ee73b2d193bef6f212697636f204acd7d58cd986ba88e30";
   };
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/dash-table/default.nix b/pkgs/development/python-modules/dash-table/default.nix
index c313aea6c0627..8374d8694ac90 100644
--- a/pkgs/development/python-modules/dash-table/default.nix
+++ b/pkgs/development/python-modules/dash-table/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "dash_table";
-  version = "4.11.0";
+  version = "4.11.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3170504a8626a9676b016c5ab456ab8c1fb1ea0206dcc2eddb8c4c6589216304";
+    sha256 = "90fbdd12eaaf657aa80d429263de4bbeef982649eb5981ebeb2410d67c1d20eb";
   };
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/dash/default.nix b/pkgs/development/python-modules/dash/default.nix
index f6f00553d930f..89ff61f6c5e9b 100644
--- a/pkgs/development/python-modules/dash/default.nix
+++ b/pkgs/development/python-modules/dash/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "dash";
-  version = "1.17.0";
+  version = "1.19.0";
 
   src = fetchFromGitHub {
     owner = "plotly";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1fbnhpmkxavv6yirmhx7659q1y9bqynwjd1g6cscv1mfv9m59l60";
+    sha256 = "067ipkp186h26j7whfid8hjf6cwjmw2b5jp6fvvg280j7q9bjsa9";
   };
 
   propagatedBuildInputs = [
@@ -43,7 +43,7 @@ buildPythonPackage rec {
   ];
 
   checkPhase = ''
-    pytest tests/unit/test_{configs,fingerprint,import,resources}.py \
+    pytest tests/unit/test_{configs,fingerprint,resources}.py \
       tests/unit/dash/
   '';
 
diff --git a/pkgs/development/python-modules/dask-gateway-server/default.nix b/pkgs/development/python-modules/dask-gateway-server/default.nix
index d2f040609d322..f55a2fe750943 100644
--- a/pkgs/development/python-modules/dask-gateway-server/default.nix
+++ b/pkgs/development/python-modules/dask-gateway-server/default.nix
@@ -33,6 +33,7 @@ buildPythonPackage rec {
 
   preBuild = ''
     export HOME=$(mktemp -d)
+    export GO111MODULE=off
   '';
 
   # tests requires cluster for testing
diff --git a/pkgs/development/python-modules/dask-image/default.nix b/pkgs/development/python-modules/dask-image/default.nix
index a3cc7b6afda09..a68c86538ee11 100644
--- a/pkgs/development/python-modules/dask-image/default.nix
+++ b/pkgs/development/python-modules/dask-image/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
 , dask
 , numpy, toolz # dask[array]
 , scipy
@@ -38,6 +37,7 @@ buildPythonPackage rec {
   checkPhase = ''
     pytest --ignore=tests/test_dask_image/
   '';
+  pythonImportsCheck = [ "dask_image" ];
 
   meta = with lib; {
     homepage = "https://github.com/dask/dask-image";
diff --git a/pkgs/development/python-modules/dask-ml/default.nix b/pkgs/development/python-modules/dask-ml/default.nix
index 4836fe35d18b3..4f4b7b705c4e9 100644
--- a/pkgs/development/python-modules/dask-ml/default.nix
+++ b/pkgs/development/python-modules/dask-ml/default.nix
@@ -12,21 +12,17 @@
 , six
 , multipledispatch
 , packaging
-, pytest
-, xgboost
-, tensorflow
-, joblib
 , distributed
 }:
 
 buildPythonPackage rec {
-  version = "1.7.0";
+  version = "1.8.0";
   pname = "dask-ml";
   disabled = pythonOlder "3.6"; # >= 3.6
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5f93e8560217ebbc5a2254eaf705e9cad8e1c82012567c658e26464a74fbab76";
+    sha256 = "8fc4ac3ec1915e382fb8cae9ff1ec9b5ac1bee0b6f4c6975d6e6cb7191a4a815";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/dask-mpi/default.nix b/pkgs/development/python-modules/dask-mpi/default.nix
index 1bec4c8287280..d656b055d119a 100644
--- a/pkgs/development/python-modules/dask-mpi/default.nix
+++ b/pkgs/development/python-modules/dask-mpi/default.nix
@@ -4,8 +4,6 @@
 , dask
 , distributed
 , mpi4py
-, pytest
-, requests
 }:
 
 buildPythonPackage rec {
@@ -17,15 +15,11 @@ buildPythonPackage rec {
     sha256 = "76e153fc8c58047d898970b33ede0ab1990bd4e69cc130c6627a96f11b12a1a7";
   };
 
-  checkInputs = [ pytest requests ];
   propagatedBuildInputs = [ dask distributed mpi4py ];
 
-  checkPhase = ''
-    py.test dask_mpi
-  '';
-
   # hardcoded mpirun path in tests
   doCheck = false;
+  pythonImportsCheck = [ "dask_mpi" ];
 
   meta = with lib; {
     homepage = "https://github.com/dask/dask-mpi";
diff --git a/pkgs/development/python-modules/dask-xgboost/default.nix b/pkgs/development/python-modules/dask-xgboost/default.nix
index 4e64b8c9f0c5d..eb18ac31fd03a 100644
--- a/pkgs/development/python-modules/dask-xgboost/default.nix
+++ b/pkgs/development/python-modules/dask-xgboost/default.nix
@@ -4,8 +4,6 @@
 , xgboost
 , dask
 , distributed
-, pytest
-, scikitlearn
 }:
 
 buildPythonPackage rec {
@@ -17,19 +15,17 @@ buildPythonPackage rec {
     sha256 = "3fbe1bf4344dc74edfbe9f928c7e3e6acc26dc57cefd8da8ae56a15469c6941c";
   };
 
-  checkInputs = [ pytest scikitlearn ];
   propagatedBuildInputs = [ xgboost dask distributed ];
 
-  checkPhase = ''
-    py.test dask_xgboost/tests/test_core.py
-  '';
-
   doCheck = false;
+  pythonImportsCheck = [ "dask_xdgboost" ];
 
   meta = with lib; {
     homepage = "https://github.com/dask/dask-xgboost";
     description = "Interactions between Dask and XGBoost";
     license = licenses.bsd3;
     maintainers = [ maintainers.costrouc ];
+    # TypeError: __init__() got an unexpected keyword argument 'iid'
+    broken = true;
   };
 }
diff --git a/pkgs/development/python-modules/databricks-cli/default.nix b/pkgs/development/python-modules/databricks-cli/default.nix
index 483c565536d56..54cec0f98addf 100644
--- a/pkgs/development/python-modules/databricks-cli/default.nix
+++ b/pkgs/development/python-modules/databricks-cli/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "databricks-cli";
-  version = "0.14.1";
+  version = "0.14.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bf94dc5187fa3500a31d52d7225fbc1a4699aa6e3c321223e7088eb5b5c94b62";
+    sha256 = "9e956f0efb7aad100d9963f223db986392cf2dc3e9922f2f83e55d372e84ef16";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/databricks-connect/default.nix b/pkgs/development/python-modules/databricks-connect/default.nix
index 299fa8240340d..cb72bef323b57 100644
--- a/pkgs/development/python-modules/databricks-connect/default.nix
+++ b/pkgs/development/python-modules/databricks-connect/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "databricks-connect";
-  version = "7.3.7";
+  version = "7.3.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "35ead50a0550e65a7d6fd78e2c8e54095b53514fba85180768a2dbcdd3f2cf0b";
+    sha256 = "f789515f3be1bd1f88043110d62859b01a9661e384a81f1768fca4e4bb49a358";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/development/python-modules/datasette/default.nix b/pkgs/development/python-modules/datasette/default.nix
index 026c93f2378a2..1d919de6ee80a 100644
--- a/pkgs/development/python-modules/datasette/default.nix
+++ b/pkgs/development/python-modules/datasette/default.nix
@@ -27,13 +27,13 @@
 
 buildPythonPackage rec {
   pname = "datasette";
-  version = "0.54";
+  version = "0.54.1";
 
   src = fetchFromGitHub {
     owner = "simonw";
     repo = "datasette";
     rev = version;
-    sha256 = "sha256-7cfoKteBOnwFsViBegAYhb/NLUSwMSyFVbwDF9ngD8w=";
+    sha256 = "sha256-Ixh56X9dI/FIJPXHXXGnFiYj3qeBmvW5L1FF7/0ofUQ=";
   };
 
   nativeBuildInputs = [ pytestrunner ];
diff --git a/pkgs/development/python-modules/datashader/default.nix b/pkgs/development/python-modules/datashader/default.nix
index c49e2e30b809b..2b11b1ea27375 100644
--- a/pkgs/development/python-modules/datashader/default.nix
+++ b/pkgs/development/python-modules/datashader/default.nix
@@ -76,14 +76,9 @@ buildPythonPackage rec {
     nbconvert
   ];
 
-  postConfigure = ''
-    substituteInPlace setup.py \
-      --replace "'numba >=0.37.0,<0.49'" "'numba'"
-  '';
-
   # dask doesn't do well with large core counts
   checkPhase = ''
-    pytest -n $NIX_BUILD_CORES datashader -k 'not dask.array'
+    pytest -n $NIX_BUILD_CORES datashader -k 'not dask.array and not test_simple_nested'
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/ddt/default.nix b/pkgs/development/python-modules/ddt/default.nix
index f993c3844b850..4766d04c1f38e 100644
--- a/pkgs/development/python-modules/ddt/default.nix
+++ b/pkgs/development/python-modules/ddt/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , six, pyyaml, mock
 , pytestCheckHook
 , enum34
@@ -16,6 +17,14 @@ buildPythonPackage rec {
     sha256 = "0595e70d074e5777771a45709e99e9d215552fb1076443a25fad6b23d8bf38da";
   };
 
+  patches = [
+    # fix tests with recent PyYAML, https://github.com/datadriventests/ddt/pull/96
+    (fetchpatch {
+      url = "https://github.com/datadriventests/ddt/commit/97f0a2315736e50f1b34a015447cd751da66ecb6.patch";
+      sha256 = "1g7l5h7m7s4yqfxlygrg7nnhb9xhz1drjld64ssi3fbsmn7klf0a";
+    })
+  ];
+
   checkInputs = [ six pyyaml mock pytestCheckHook ];
 
   propagatedBuildInputs = lib.optionals (!isPy3k) [
diff --git a/pkgs/development/python-modules/deform/default.nix b/pkgs/development/python-modules/deform/default.nix
index bc84df26a2783..5698dcbe491be 100644
--- a/pkgs/development/python-modules/deform/default.nix
+++ b/pkgs/development/python-modules/deform/default.nix
@@ -11,11 +11,6 @@ buildPythonPackage rec {
     sha256 = "1e912937650c1dbb830079dd9c039950762a230223a567740fbf1b23f1090367";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "iso8601<=0.1.11" iso8601
-  '';
-
   propagatedBuildInputs = [
     chameleon
     colander
diff --git a/pkgs/development/python-modules/dependency-injector/default.nix b/pkgs/development/python-modules/dependency-injector/default.nix
index 979d2811fe6ac..5ed5a3eb152c7 100644
--- a/pkgs/development/python-modules/dependency-injector/default.nix
+++ b/pkgs/development/python-modules/dependency-injector/default.nix
@@ -9,11 +9,11 @@ in
 
 buildPythonPackage rec {
   pname = "dependency-injector";
-  version = "4.5.4";
+  version = "4.10.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "99e65335cb84d543ebb47e76edadc695d062e5c25cc474698f50ed5e2aaa9002";
+    sha256 = "93db83fac85bcb861469c0db1af11f4bc874aa2f9380151189a05d38c21afd60";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/desktop-notifier/default.nix b/pkgs/development/python-modules/desktop-notifier/default.nix
new file mode 100644
index 0000000000000..22289195651f4
--- /dev/null
+++ b/pkgs/development/python-modules/desktop-notifier/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, stdenv
+, packaging
+, importlib-resources
+, dbus-next
+}:
+
+buildPythonPackage rec {
+  pname = "desktop-notifier";
+  version = "3.2.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0b333594af6e54677f9620480226dbc88ec6dd7c004352de9268d01aa49467f4";
+  };
+
+  propagatedBuildInputs = [
+    packaging
+  ] ++ lib.optionals (pythonOlder "3.9") [
+    importlib-resources
+  ] ++ lib.optionals stdenv.isLinux [
+    dbus-next
+  ];
+
+  # no tests available, do the imports check instead
+  doCheck = false;
+  pythonImportsCheck = [ "desktop_notifier" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/samschott/desktop-notifier";
+    description = "A Python library for cross-platform desktop notifications";
+    license = licenses.mit;
+    maintainers = with maintainers; [ sfrijters ];
+  };
+}
diff --git a/pkgs/development/python-modules/dftfit/default.nix b/pkgs/development/python-modules/dftfit/default.nix
index 0f0563e3baf54..73791bdaa9a63 100644
--- a/pkgs/development/python-modules/dftfit/default.nix
+++ b/pkgs/development/python-modules/dftfit/default.nix
@@ -12,11 +12,7 @@
 , lammps-cython
 , pymatgen-lammps
 , pytestrunner
-, pytest
-, pytestcov
-, pytest-benchmark
 , isPy3k
-, openssh
 }:
 
 buildPythonPackage rec {
@@ -25,18 +21,27 @@ buildPythonPackage rec {
   disabled = (!isPy3k);
 
   src = fetchPypi {
-     inherit pname version;
-     sha256 = "4dcbde48948835dcf2d49d6628c9df5747a8ec505d517e374b8d6c7fe95892df";
+    inherit pname version;
+    sha256 = "4dcbde48948835dcf2d49d6628c9df5747a8ec505d517e374b8d6c7fe95892df";
   };
 
   buildInputs = [ pytestrunner ];
-  checkInputs = [ pytest pytestcov pytest-benchmark openssh ];
-  propagatedBuildInputs = [ pymatgen marshmallow pyyaml pygmo
-                            pandas scipy numpy scikitlearn
-                            lammps-cython pymatgen-lammps ];
+  propagatedBuildInputs = [
+    pymatgen
+    marshmallow
+    pyyaml
+    pygmo
+    pandas
+    scipy
+    numpy
+    scikitlearn
+    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";
diff --git a/pkgs/development/python-modules/dicom2nifti/default.nix b/pkgs/development/python-modules/dicom2nifti/default.nix
index abc07346efd32..a9c2e4e823733 100644
--- a/pkgs/development/python-modules/dicom2nifti/default.nix
+++ b/pkgs/development/python-modules/dicom2nifti/default.nix
@@ -8,11 +8,12 @@
 , numpy
 , pydicom
 , scipy
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "dicom2nifti";
-  version = "2.2.8";
+  version = "2.2.12";
   disabled = isPy27;
 
   # no tests in PyPI dist
@@ -20,10 +21,10 @@ buildPythonPackage rec {
     owner = "icometrix";
     repo = pname;
     rev = version;
-    sha256 = "1qi2map6f4pa1l8wsif7ff7rhja6ynrjlm7w306dzvi9l25mia34";
+    sha256 = "0ddzaw0yasyi2wsh7a6r73cdcmdfbb0nh0k0n4yxp9vnkw1ag5z4";
   };
 
-  propagatedBuildInputs = [ gdcm nibabel numpy pydicom scipy ];
+  propagatedBuildInputs = [ nibabel numpy pydicom scipy setuptools ];
 
   checkInputs = [ nose gdcm ];
   checkPhase = "nosetests tests";
diff --git a/pkgs/development/python-modules/diff_cover/default.nix b/pkgs/development/python-modules/diff_cover/default.nix
index 03b1f4fa28ee1..91832bc88ff34 100644
--- a/pkgs/development/python-modules/diff_cover/default.nix
+++ b/pkgs/development/python-modules/diff_cover/default.nix
@@ -6,7 +6,6 @@
 , six
 # test dependencies
 , coverage
-, flake8
 , mock
 , nose
 , pycodestyle
diff --git a/pkgs/development/python-modules/distributed/default.nix b/pkgs/development/python-modules/distributed/default.nix
index f4be407fade2a..372b931bca27d 100644
--- a/pkgs/development/python-modules/distributed/default.nix
+++ b/pkgs/development/python-modules/distributed/default.nix
@@ -1,11 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pytest
-, pytest-repeat
-, pytest-timeout
-, mock
-, joblib
 , click
 , cloudpickle
 , dask
@@ -18,9 +13,6 @@
 , tornado
 , zict
 , pyyaml
-, isPy3k
-, futures
-, singledispatch
 , mpi4py
 , bokeh
 , pythonOlder
@@ -29,6 +21,7 @@
 buildPythonPackage rec {
   pname = "distributed";
   version = "2.30.1";
+  disabled = pythonOlder "3.6";
 
   # get full repository need conftest.py to run tests
   src = fetchPypi {
@@ -36,23 +29,14 @@ buildPythonPackage rec {
     sha256 = "1421d3b84a0885aeb2c4bdc9e8896729c0f053a9375596c9de8864e055e2ac8e";
   };
 
-  disabled = pythonOlder "3.6";
-
-  checkInputs = [ pytest pytest-repeat pytest-timeout mock joblib ];
   propagatedBuildInputs = [
       click cloudpickle dask msgpack psutil six
       sortedcontainers tblib toolz tornado zict pyyaml mpi4py bokeh
   ];
 
-  # tests take about 10-15 minutes
-  # ignore 5 cli tests out of 1000 total tests that fail due to subprocesses
-  # these tests are not critical to the library (only the cli)
-  checkPhase = ''
-    py.test distributed -m "not avoid-travis" -r s --timeout-method=thread --timeout=0 --durations=20 --ignore="distributed/cli/tests"
-  '';
-
   # when tested random tests would fail and not repeatably
   doCheck = false;
+  pythonImportsCheck = [ "distributed" ];
 
   meta = {
     description = "Distributed computation in Python.";
diff --git a/pkgs/development/python-modules/django-cache-url/default.nix b/pkgs/development/python-modules/django-cache-url/default.nix
index 6487e276232be..dee64ebd6ee48 100644
--- a/pkgs/development/python-modules/django-cache-url/default.nix
+++ b/pkgs/development/python-modules/django-cache-url/default.nix
@@ -1,29 +1,29 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, pytest
+, fetchFromGitHub
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
-  version = "3.1.2";
+  version = "3.2.2";
   pname = "django-cache-url";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "d0ee0d6c5daab92787bff47a4a6f5a6cf97c3c80d81a990820b2af16e12ad65a";
+  src = fetchFromGitHub {
+    owner = "epicserve";
+    repo = "django-cache-url";
+    rev = "v${version}";
+    sha256 = "0fxma2w6zl3cfl6wnynmlmp8snks67ffz4jcq4qmdc65xv1l204l";
   };
 
-  checkInputs = [ pytest ];
-
-  checkPhase = ''
-    pytest tests
+  postPatch = ''
+    # disable coverage tests
+    sed -i '/--cov/d' setup.cfg
   '';
 
-  # tests not included with pypi release
-  doCheck = false;
+  checkInputs = [ pytestCheckHook ];
 
   meta = with lib; {
-    homepage = "https://github.com/ghickman/django-cache-url";
+    homepage = "https://github.com/epicserve/django-cache-url";
     description = "Use Cache URLs in your Django application";
     license = licenses.mit;
     maintainers = [ maintainers.costrouc ];
diff --git a/pkgs/development/python-modules/django-cors-headers/default.nix b/pkgs/development/python-modules/django-cors-headers/default.nix
index 313ae32f04e31..1bc9153d00631 100644
--- a/pkgs/development/python-modules/django-cors-headers/default.nix
+++ b/pkgs/development/python-modules/django-cors-headers/default.nix
@@ -1,22 +1,30 @@
-{ lib,
-  fetchPypi,
-  django,
-  buildPythonPackage
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, django
+, pytest-django
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "django-cors-headers";
-  version = "3.6.0";
+  version = "3.7.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "5665fc1b1aabf1b678885cf6f8f8bd7da36ef0a978375e767d491b48d3055d8f";
+  src = fetchFromGitHub {
+    owner = "adamchainz";
+    repo = "django-cors-headers";
+    rev = version;
+    sha256 = "1wc8cs1gpg9v98bq5qwnd4pcv043za50wd63gwkm86lbvjxyxynz";
   };
 
-  propagatedBuildInputs = [ django ];
+  propagatedBuildInputs = [
+    django
+  ];
 
-  # pypi release does not include tests
-  doCheck = false;
+  checkInputs = [
+    pytest-django
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     description = "Django app for handling server Cross-Origin Resource Sharing (CORS) headers";
diff --git a/pkgs/development/python-modules/django-sampledatahelper/default.nix b/pkgs/development/python-modules/django-sampledatahelper/default.nix
index faad550d43912..4ff2b7ba85391 100644
--- a/pkgs/development/python-modules/django-sampledatahelper/default.nix
+++ b/pkgs/development/python-modules/django-sampledatahelper/default.nix
@@ -1,30 +1,39 @@
-{ lib, buildPythonPackage, fetchPypi,
-  django, nose, pillow, sampledata, six, versiontools
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, versiontools
+, django
+, sampledata
+, nose
+, pillow
+, six
 }:
 
 buildPythonPackage rec {
   pname = "django-sampledatahelper";
   version = "0.5";
 
-  meta = {
-    description = "Helper class for generate sample data for django apps development";
-    homepage = "https://github.com/kaleidos/django-sampledatahelper";
-    license = lib.licenses.bsd3;
+  # no tests on PyPI
+  src = fetchFromGitHub {
+    owner = "kaleidos";
+    repo = "django-sampledatahelper";
+    rev = "8576f352ec26a3650f4386a6e1285b723f6aec23"; # no tag
+    sha256 = "1fx3ql4b9791594zkary19n20x5ra1m1n3pjaya9di1qy64csac4";
   };
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "3fbc5533f1055f9d1944097f6271e8b18fcf4ed5cc582b518616445145300015";
-  };
+  nativeBuildInputs = [ versiontools ];
 
-  buildInputs = [ django nose pillow sampledata six versiontools ];
   propagatedBuildInputs = [ django sampledata ];
 
-  # HACK To prevent collision with pythonPackages.sampledata
-  preBuild = ''
-    rm tests/*
+  checkInputs = [ nose pillow six ];
+
+  checkPhase = ''
+    DJANGO_SETTINGS_MODULE=tests.settings NOSE_EXCLUDE=test_calling_command nosetests -v
   '';
 
-  # ERROR: test_image_from_directory (tests.tests.TestImageHelpers)
-  doCheck = false;
+  meta = {
+    description = "Helper class for generate sample data for django apps development";
+    homepage = "https://github.com/kaleidos/django-sampledatahelper";
+    license = lib.licenses.bsd3;
+  };
 }
diff --git a/pkgs/development/python-modules/django/2.nix b/pkgs/development/python-modules/django/2.nix
index eac48593de20e..06ec880e328d2 100644
--- a/pkgs/development/python-modules/django/2.nix
+++ b/pkgs/development/python-modules/django/2.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "2.2.17";
+  version = "2.2.18";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cf5370a4d7765a9dd6d42a7b96b53c74f9446cd38209211304b210fe0404b861";
+    sha256 = "1d0b91343i9n0qz8xia1fbm4s3q8wi98nyc9a3acncm0w3sr9jf9";
   };
 
   patches = lib.optional withGdal
diff --git a/pkgs/development/python-modules/django/3.nix b/pkgs/development/python-modules/django/3.nix
index 2444146e83741..7f2db712f00af 100644
--- a/pkgs/development/python-modules/django/3.nix
+++ b/pkgs/development/python-modules/django/3.nix
@@ -13,13 +13,13 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "3.1.5";
+  version = "3.1.7";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2d78425ba74c7a1a74b196058b261b9733a8570782f4e2828974777ccca7edf7";
+    sha256 = "32ce792ee9b6a0cbbec340123e229ac9f765dff8c2a4ae9247a14b2ba3a365a7";
   };
 
   patches = lib.optional withGdal
diff --git a/pkgs/development/python-modules/django_silk/default.nix b/pkgs/development/python-modules/django_silk/default.nix
index 90ba6cf2924e2..653bcdc555121 100644
--- a/pkgs/development/python-modules/django_silk/default.nix
+++ b/pkgs/development/python-modules/django_silk/default.nix
@@ -1,7 +1,9 @@
 { lib
 , buildPythonPackage
 , python
+, pythonAtLeast
 , fetchFromGitHub
+, fetchpatch
 , django
 , pygments
 , simplejson
@@ -23,15 +25,23 @@
 
 buildPythonPackage rec {
   pname = "django-silk";
-  version = "4.0.1";
+  version = "4.1.0";
 
   # pypi tarball doesn't include test project
   src = fetchFromGitHub {
     owner = "jazzband";
     repo = "django-silk";
     rev = version;
-    sha256 = "0yy9rzxvwlp2xvnw76r9hnqajlp417snam92xpb6ay0hxwslwqyb";
+    sha256 = "1km3hmx1sir0c5gqr2p1h2938slhxp2hzf10cb80q98mas8spjkn";
   };
+
+  patches = lib.optional (pythonAtLeast "3.9") (fetchpatch {
+    # should be able to remove after 4.1.1
+    name = "python-3.9-support.patch";
+    url = "https://github.com/jazzband/django-silk/commit/134089e4cad7bd3b76fb0f70c423082cb7d2b34a.patch";
+    sha256 = "09c1xd9y33h3ibiv5w9af9d79c909rgc1g5sxpd4y232h5id3c8r";
+  });
+
   # "test_time_taken" tests aren't suitable for reproducible execution, but django's
   # test runner doesn't have an easy way to ignore tests - so instead prevent it from picking
   # them up as tests
diff --git a/pkgs/development/python-modules/dlib/default.nix b/pkgs/development/python-modules/dlib/default.nix
index 204c1a985425f..58ceb16870a8b 100644
--- a/pkgs/development/python-modules/dlib/default.nix
+++ b/pkgs/development/python-modules/dlib/default.nix
@@ -1,4 +1,5 @@
 { buildPythonPackage, stdenv, lib, dlib, python, pytest, more-itertools
+, sse4Support ? stdenv.hostPlatform.sse4_1Support
 , avxSupport ? stdenv.hostPlatform.avxSupport
 }:
 
@@ -12,7 +13,10 @@ buildPythonPackage {
     ${python.interpreter} nix_run_setup test --no USE_AVX_INSTRUCTIONS
   '';
 
-  setupPyBuildFlags = lib.optional avxSupport "--no USE_AVX_INSTRUCTIONS";
+  setupPyBuildFlags = [
+    "--set USE_SSE4_INSTRUCTIONS=${if sse4Support then "yes" else "no"}"
+    "--set USE_AVX_INSTRUCTIONS=${if avxSupport then "yes" else "no"}"
+  ];
 
   patches = [ ./build-cores.patch ];
 
diff --git a/pkgs/development/python-modules/dm-sonnet/default.nix b/pkgs/development/python-modules/dm-sonnet/default.nix
index 627f8eedaeb12..f465ac200d424 100644
--- a/pkgs/development/python-modules/dm-sonnet/default.nix
+++ b/pkgs/development/python-modules/dm-sonnet/default.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchFromGitHub
+, bazel_0_26
 , buildBazelPackage
 , buildPythonPackage
 , git
@@ -19,6 +20,8 @@ let
 
   # first build all binaries and generate setup.py using bazel
   bazel-build = buildBazelPackage {
+    bazel = bazel_0_26;
+
     name = "dm-sonnet-bazel-${version}";
 
     src = fetchFromGitHub {
@@ -36,14 +39,9 @@ let
     bazelTarget = ":install";
 
     fetchAttrs = {
-      sha256 = "1dka5nap3d28n18pn3wp5xsi4x3z02h1j8rcjdvi3y6dbqjwdw0v";
+      sha256 = "09dzxs2v5wpiaxrz7qj257q1fbx0gxwbk0jyx58n81m5kys7yj9k";
     };
 
-    bazelFlags = [
-      # https://github.com/deepmind/sonnet/issues/134
-      "--incompatible_disable_deprecated_attr_params=false"
-    ];
-
     buildAttrs = {
       preBuild = ''
         patchShebangs .
diff --git a/pkgs/development/python-modules/docplex/default.nix b/pkgs/development/python-modules/docplex/default.nix
index 0fa202addb922..54af81d5d8b02 100644
--- a/pkgs/development/python-modules/docplex/default.nix
+++ b/pkgs/development/python-modules/docplex/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "docplex";
-  version = "2.19.202";
+  version = "2.20.204";
 
   # No source available from official repo
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2b606dc645f99feae67dfc528620dddc773ecef5d59bcaeae68bba601f25162b";
+    sha256 = "sha256-JNjD9UtLHsMGwTuXydZ+L5+pPQ2eobkr26Yt9pgs1qA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/docutils/default.nix b/pkgs/development/python-modules/docutils/default.nix
index e24a00564be81..bae0acc1d45d0 100644
--- a/pkgs/development/python-modules/docutils/default.nix
+++ b/pkgs/development/python-modules/docutils/default.nix
@@ -29,9 +29,10 @@ buildPythonPackage rec {
     done
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Python Documentation Utilities";
     homepage = "http://docutils.sourceforge.net/";
-    maintainers = with lib.maintainers; [ AndersonTorres ];
+    license = with licenses; [ publicDomain bsd2 psfl gpl3Plus ];
+    maintainers = with maintainers; [ AndersonTorres ];
   };
 }
diff --git a/pkgs/development/python-modules/doit/default.nix b/pkgs/development/python-modules/doit/default.nix
index 36cd0b0ee1858..4ceb8e71f648a 100644
--- a/pkgs/development/python-modules/doit/default.nix
+++ b/pkgs/development/python-modules/doit/default.nix
@@ -25,6 +25,9 @@ buildPythonPackage rec {
     ++ lib.optional stdenv.isLinux pyinotify
     ++ lib.optional stdenv.isDarwin macfsevents;
 
+  # hangs on darwin
+  doCheck = !stdenv.isDarwin;
+
   checkInputs = [ mock pytestCheckHook ];
 
   disabledTests = [
diff --git a/pkgs/development/python-modules/drf-nested-routers/default.nix b/pkgs/development/python-modules/drf-nested-routers/default.nix
new file mode 100644
index 0000000000000..d265838526da9
--- /dev/null
+++ b/pkgs/development/python-modules/drf-nested-routers/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, django
+, djangorestframework
+, pytest
+, pytest-cov
+, pytest-django
+, ipdb
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "drf-nested-routers";
+  version = "0.92.5";
+
+  src = fetchFromGitHub {
+    owner = "alanjds";
+    repo = "drf-nested-routers";
+    rev = "v${version}";
+    sha256 = "1l1jza8xz6xcm3gwxh1k6pc8fs95cq3v751gxj497y1a83d26j8i";
+  };
+
+  propagatedBuildInputs = [ django djangorestframework setuptools ];
+  checkInputs = [ pytest pytest-cov pytest-django ipdb ];
+
+  checkPhase = ''
+    ${python.interpreter} runtests.py --nolint
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/alanjds/drf-nested-routers";
+    description = "Provides routers and fields to create nested resources in the Django Rest Framework";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ felschr ];
+  };
+}
diff --git a/pkgs/development/python-modules/duckdb/default.nix b/pkgs/development/python-modules/duckdb/default.nix
index ea6dfe32fda91..56fb450b3e5df 100644
--- a/pkgs/development/python-modules/duckdb/default.nix
+++ b/pkgs/development/python-modules/duckdb/default.nix
@@ -6,7 +6,7 @@
 , pybind11
 , setuptools_scm
 , pytestrunner
-, pytest
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -31,18 +31,10 @@ buildPythonPackage rec {
     pytestrunner
   ];
 
-  checkInputs = [
-    pytest
-  ];
-
-  propagatedBuildInputs = [
-    numpy
-    pandas
-  ];
+  propagatedBuildInputs = [ numpy pandas ];
 
-  checkPhase = ''
-    pytest
-  '';
+  checkInputs = [ pytestCheckHook ];
+  pythonImportsCheck = [ "duckdb" ];
 
   meta = with lib; {
     description = "DuckDB is an embeddable SQL OLAP Database Management System";
diff --git a/pkgs/development/python-modules/dufte/default.nix b/pkgs/development/python-modules/dufte/default.nix
index dcf2896bba521..d1c9680cb7b98 100644
--- a/pkgs/development/python-modules/dufte/default.nix
+++ b/pkgs/development/python-modules/dufte/default.nix
@@ -6,6 +6,7 @@
 , importlib-metadata
 , matplotlib
 , numpy
+, exdown
 , pytestCheckHook
 }:
 
@@ -32,12 +33,9 @@ buildPythonPackage rec {
     mkdir -p $HOME/.matplotlib
     echo "backend: ps" > $HOME/.matplotlib/matplotlibrc
   '';
-  checkInputs = [ pytestCheckHook ];
+
+  checkInputs = [ exdown pytestCheckHook ];
   pythonImportsCheck = [ "dufte" ];
-  pytestFlagsArray = [
-    # we don't have the "exdown" package (yet)
-    "--ignore=test/test_readme.py"
-  ];
 
   meta = with lib; {
     description = "Clean matplotlib plots";
diff --git a/pkgs/development/python-modules/dulwich/default.nix b/pkgs/development/python-modules/dulwich/default.nix
index 5d4ac94f7fa0e..4cc3f34929b7f 100644
--- a/pkgs/development/python-modules/dulwich/default.nix
+++ b/pkgs/development/python-modules/dulwich/default.nix
@@ -1,15 +1,24 @@
-{ lib, stdenv, buildPythonPackage, fetchPypi
-, urllib3, certifi
-, gevent, geventhttpclient, mock, fastimport
-, git, glibcLocales }:
+{ lib
+, stdenv
+, buildPythonPackage
+, certifi
+, fastimport
+, fetchPypi
+, gevent
+, geventhttpclient
+, git
+, glibcLocales
+, mock
+, urllib3
+}:
 
 buildPythonPackage rec {
-  version = "0.20.15";
+  version = "0.20.18";
   pname = "dulwich";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1248942fr12av2rkzpm2fq0qn6rajvv2lcgq65h8kby27qvp65zv";
+    sha256 = "sha256-ATE4f5uZrsxprJhlWzkx8q1D2lPTpj4FD6Om1iYKxVQ=";
   };
 
   LC_ALL = "en_US.UTF-8";
@@ -21,6 +30,8 @@ buildPythonPackage rec {
 
   doCheck = !stdenv.isDarwin;
 
+  pythonImportsCheck = [ "dulwich" ];
+
   meta = with lib; {
     description = "Simple Python implementation of the Git file formats and protocols";
     longDescription = ''
@@ -29,7 +40,7 @@ buildPythonPackage rec {
     '';
     homepage = "https://www.dulwich.io/";
     changelog = "https://github.com/dulwich/dulwich/blob/dulwich-${version}/NEWS";
-    license = with licenses; [ asl20 gpl2Plus];
+    license = with licenses; [ asl20 gpl2Plus ];
     maintainers = with maintainers; [ koral ];
   };
 }
diff --git a/pkgs/development/python-modules/easywatch/default.nix b/pkgs/development/python-modules/easywatch/default.nix
index a56ffb9528195..36f3ea0de6efa 100644
--- a/pkgs/development/python-modules/easywatch/default.nix
+++ b/pkgs/development/python-modules/easywatch/default.nix
@@ -17,6 +17,7 @@ buildPythonPackage rec {
 
   # There are no tests
   doCheck = false;
+  pythonImportsCheck = [ "easywatch" ];
 
   meta = with lib; {
     description = "Dead-simple way to watch a directory";
diff --git a/pkgs/development/python-modules/editdistance/default.nix b/pkgs/development/python-modules/editdistance/default.nix
new file mode 100644
index 0000000000000..01e59fdb040da
--- /dev/null
+++ b/pkgs/development/python-modules/editdistance/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, cython
+}:
+
+buildPythonPackage rec {
+  pname = "editdistance";
+  version = "0.5.3";
+
+
+  src = fetchFromGitHub {
+    owner = "roy-ht";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0vk8vz41p2cs7s7zbaw3cnw2jnvy5rhy525xral68dh14digpgsd";
+  };
+
+  nativeBuildInputs = [ cython ];
+
+  preBuild = ''
+    cythonize --inplace editdistance/bycython.pyx
+  '';
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "editdistance" ];
+
+  meta = with lib; {
+    description = "Python implementation of the edit distance (Levenshtein distance)";
+    homepage = "https://github.com/roy-ht/editdistance";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/elmax/default.nix b/pkgs/development/python-modules/elmax/default.nix
new file mode 100644
index 0000000000000..7ec3b8d1c1127
--- /dev/null
+++ b/pkgs/development/python-modules/elmax/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, httpx
+, poetry-core
+, pythonOlder
+, yarl
+}:
+
+buildPythonPackage rec {
+  pname = "elmax";
+  version = "0.1.1";
+  format = "pyproject";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "home-assistant-ecosystem";
+    repo = "python-elmax";
+    rev = version;
+    sha256 = "sha256-vDISJ/CVOjpM+GPF2TCm3/AMFTWTM0b/+ZPCpAEvNvY=";
+  };
+
+  nativeBuildInputs = [ poetry-core ];
+
+  propagatedBuildInputs = [
+    httpx
+    yarl
+  ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "elmax" ];
+
+  meta = with lib; {
+    description = "Python API client for the Elmax Cloud services";
+    homepage = "https://github.com/home-assistant-ecosystem/python-elmax";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/emoji/default.nix b/pkgs/development/python-modules/emoji/default.nix
index d15185e144790..ce2beb2351161 100644
--- a/pkgs/development/python-modules/emoji/default.nix
+++ b/pkgs/development/python-modules/emoji/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "emoji";
-  version = "0.6.0";
+  version = "1.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e42da4f8d648f8ef10691bc246f682a1ec6b18373abfd9be10ec0b398823bd11";
+    sha256 = "18siknldyqvxvjf0nv18m0a1c26ahkg7vmhkij1qayanb0h46vs9";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/entrance/default.nix b/pkgs/development/python-modules/entrance/default.nix
index 2f0f80bcf7a52..ca6158bd5e961 100644
--- a/pkgs/development/python-modules/entrance/default.nix
+++ b/pkgs/development/python-modules/entrance/default.nix
@@ -18,11 +18,11 @@ in
 
 buildPythonPackage rec {
   pname = "entrance";
-  version = "1.1.14";
+  version = "1.1.15";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d1fc9d128ce05837d7e149413fbec71bcf84d9ca510accea56761d3f4bd0a021";
+    sha256 = "5b354ecf03226edae567511c8a8db95038cc9c3da20fcfcf5546d1e197eb3aef";
   };
 
   # The versions of `sanic` and `websockets` in nixpkgs only support 3.6 or later
diff --git a/pkgs/development/python-modules/exdown/default.nix b/pkgs/development/python-modules/exdown/default.nix
new file mode 100644
index 0000000000000..17cab3fe55fbc
--- /dev/null
+++ b/pkgs/development/python-modules/exdown/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildPythonPackage, fetchPypi, pythonOlder
+, importlib-metadata }:
+
+buildPythonPackage rec {
+  pname = "exdown";
+  version = "0.7.1";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-vnSso3vmPIjX7JX+NwoxguwqwPHocJACeh5H0ClPcUI=";
+  };
+
+  propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
+
+  pythonImportsCheck = [ "exdown" ];
+
+  meta = with lib; {
+    description = "Extract code blocks from markdown";
+    homepage = "https://github.com/nschloe/exdown";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/factory_boy/default.nix b/pkgs/development/python-modules/factory_boy/default.nix
index a953632f9fd78..845e27dcc4476 100644
--- a/pkgs/development/python-modules/factory_boy/default.nix
+++ b/pkgs/development/python-modules/factory_boy/default.nix
@@ -1,30 +1,43 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, isPy27
+, django
 , faker
-, python
-, ipaddress
+, fetchPypi
+, flask
+, flask_sqlalchemy
+, mongoengine
+, pytestCheckHook
+, sqlalchemy
 }:
 
 buildPythonPackage rec {
   pname = "factory_boy";
-  version = "3.1.0";
+  version = "3.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ded73e49135c24bd4d3f45bf1eb168f8d290090f5cf4566b8df3698317dc9c08";
+    sha256 = "0nsw2mdjk8sqds3qsix4cf19ws6i0fak79349pw2581ryc7w0720";
   };
 
-  propagatedBuildInputs = [ faker ] ++ lib.optionals isPy27 [ ipaddress ];
+  propagatedBuildInputs = [ faker ];
 
-  # tests not included with pypi release
-  doCheck = false;
+  checkInputs = [
+    django
+    flask
+    flask_sqlalchemy
+    mongoengine
+    pytestCheckHook
+    sqlalchemy
+  ];
+
+  # Checks for MongoDB requires an a running DB
+  disabledTests = [ "MongoEngineTestCase" ];
+  pythonImportsCheck = [ "factory" ];
 
   meta = with lib; {
-    description = "A Python package to create factories for complex objects";
-    homepage    = "https://github.com/rbarrois/factory_boy";
-    license     = licenses.mit;
+    description = "Python package to create factories for complex objects";
+    homepage = "https://github.com/rbarrois/factory_boy";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
   };
-
 }
diff --git a/pkgs/development/python-modules/fastparquet/default.nix b/pkgs/development/python-modules/fastparquet/default.nix
index 07922ee19efa8..dc25759afe395 100644
--- a/pkgs/development/python-modules/fastparquet/default.nix
+++ b/pkgs/development/python-modules/fastparquet/default.nix
@@ -1,5 +1,5 @@
-{ lib, buildPythonPackage, fetchFromGitHub, numba, numpy, pandas, pytestrunner,
-thrift, pytest, python-snappy, lz4, zstd }:
+{ lib, buildPythonPackage, fetchFromGitHub, numba, numpy, pandas, pytestrunner
+, thrift, pytestCheckHook, python-snappy, lz4, zstandard, zstd }:
 
 buildPythonPackage rec {
   pname = "fastparquet";
@@ -12,15 +12,13 @@ buildPythonPackage rec {
     sha256 = "17i091kky34m2xivk29fqsyxxxa7v4352n79w01n7ni93za6wana";
   };
 
-  postPatch = ''
-    # FIXME: package zstandard
-    # removing the test dependency for now
-    substituteInPlace setup.py --replace "'zstandard'," ""
-  '';
-
   nativeBuildInputs = [ pytestrunner ];
   propagatedBuildInputs = [ numba numpy pandas thrift ];
-  checkInputs = [ pytest python-snappy lz4 zstd ];
+  checkInputs = [ pytestCheckHook python-snappy lz4 zstandard zstd ];
+
+  # E   ModuleNotFoundError: No module named 'fastparquet.speedups'
+  doCheck = false;
+  pythonImportsCheck = [ "fastparquet" ];
 
   meta = with lib; {
     description = "A python implementation of the parquet format";
diff --git a/pkgs/development/python-modules/fido2/default.nix b/pkgs/development/python-modules/fido2/default.nix
index 96019f61cac0c..ac8e912ba3d45 100644
--- a/pkgs/development/python-modules/fido2/default.nix
+++ b/pkgs/development/python-modules/fido2/default.nix
@@ -20,6 +20,8 @@ buildPythonPackage rec {
 
   checkInputs = [ mock pyfakefs ];
 
+  pythonImportsCheck = [ "fido2" ];
+
   meta = with lib; {
     description = "Provides library functionality for FIDO 2.0, including communication with a device over USB.";
     homepage = "https://github.com/Yubico/python-fido2";
diff --git a/pkgs/development/python-modules/fixerio/default.nix b/pkgs/development/python-modules/fixerio/default.nix
index 786681df1c835..8605d0f65da04 100644
--- a/pkgs/development/python-modules/fixerio/default.nix
+++ b/pkgs/development/python-modules/fixerio/default.nix
@@ -4,23 +4,20 @@
 , requests
 , pytestCheckHook
 , httpretty
+, responses
 }:
 
 buildPythonPackage rec {
   pname = "fixerio";
-  version = "0.1.1";
+  version = "1.0.0-alpha";
 
   src = fetchFromGitHub {
     owner = "amatellanes";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1k9ss5jc7sbpkjd2774vbmvljny0wm2lrc8155ha8yk2048jsaxk";
+    sha256 = "009h1mys175xdyznn5bl980vly40544s4ph1zcgqwg2i2ic93gvb";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py --replace "requests==2.10.0" "requests"
-  '';
-
   propagatedBuildInputs = [
     requests
   ];
@@ -28,6 +25,17 @@ buildPythonPackage rec {
   checkInputs = [
     httpretty
     pytestCheckHook
+    responses
+  ];
+
+  disabledTests = [
+    # tests require network access
+    "test_returns_historical_rates_for_symbols_passed_if_both"
+    "test_returns_historical_rates_for_symbols_passed_in_constructor"
+    "test_returns_historical_rates_for_symbols_passed_in_method"
+    "test_returns_latest_rates_for_symbols_passed_in_constructor"
+    "test_returns_latest_rates_for_symbols_passed_in_method"
+    "test_returns_latest_rates_for_symbols_passed_in_method_if_both"
   ];
 
   pythonImportsCheck = [ "fixerio" ];
diff --git a/pkgs/development/python-modules/fixtures/default.nix b/pkgs/development/python-modules/fixtures/default.nix
index 9f1549e98f9fd..e802dbaa26914 100644
--- a/pkgs/development/python-modules/fixtures/default.nix
+++ b/pkgs/development/python-modules/fixtures/default.nix
@@ -1,11 +1,12 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
+, pythonAtLeast
 , pbr
 , testtools
 , mock
 , python
-, isPy39
 }:
 
 buildPythonPackage rec {
@@ -17,7 +18,26 @@ buildPythonPackage rec {
     sha256 = "fcf0d60234f1544da717a9738325812de1f42c2fa085e2d9252d8fff5712b2ef";
   };
 
-  propagatedBuildInputs = [ pbr testtools mock ];
+  patches = lib.optional (pythonAtLeast "3.9") [
+    # drop tests that try to monkeypatch a classmethod, which fails on python3.9
+    # https://github.com/testing-cabal/fixtures/issues/44
+    (fetchpatch {
+       url = "https://salsa.debian.org/openstack-team/python/python-fixtures/-/raw/debian/victoria/debian/patches/remove-broken-monkey-patch-test.patch";
+       sha256 = "1s3hg2zmqc4shmnf90kscphzj5qlqpxghzw2a59p8f88zrbsj97r";
+    })
+  ];
+
+  nativeBuildInputs = [
+    pbr
+  ];
+
+  propagatedBuildInputs = [
+    testtools
+  ];
+
+  checkInputs = [
+    mock
+  ];
 
   checkPhase = ''
     ${python.interpreter} -m testtools.run fixtures.test_suite
@@ -27,6 +47,5 @@ buildPythonPackage rec {
     description = "Reusable state for writing clean tests and more";
     homepage = "https://pypi.python.org/pypi/fixtures";
     license = lib.licenses.asl20;
-    broken = isPy39; # see https://github.com/testing-cabal/fixtures/issues/44
   };
 }
diff --git a/pkgs/development/python-modules/flammkuchen/default.nix b/pkgs/development/python-modules/flammkuchen/default.nix
index a5525d97f6040..1349e10c5397a 100644
--- a/pkgs/development/python-modules/flammkuchen/default.nix
+++ b/pkgs/development/python-modules/flammkuchen/default.nix
@@ -1,4 +1,4 @@
-{ lib, pkgs, buildPythonPackage, fetchPypi, isPy27
+{ lib, buildPythonPackage, fetchPypi, isPy27
 , numpy
 , scipy
 , tables
diff --git a/pkgs/development/python-modules/flask-compress/default.nix b/pkgs/development/python-modules/flask-compress/default.nix
index 1e133df2b2bb0..06c91670f4498 100644
--- a/pkgs/development/python-modules/flask-compress/default.nix
+++ b/pkgs/development/python-modules/flask-compress/default.nix
@@ -3,12 +3,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.8.0";
+  version = "1.9.0";
   pname = "Flask-Compress";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c132590e7c948877a96d675c13cbfa64edec0faafa2381678dea6f36aa49a552";
+    sha256 = "d93edd8fc02ae74b73c3df10a8e7ee26dee489c65dedce0b3a1d2ce05ac3d1be";
   };
 
   propagatedBuildInputs = [ flask brotli ];
diff --git a/pkgs/development/python-modules/flask-migrate/default.nix b/pkgs/development/python-modules/flask-migrate/default.nix
index dfa1a0fbd01b2..5297c83d64b70 100644
--- a/pkgs/development/python-modules/flask-migrate/default.nix
+++ b/pkgs/development/python-modules/flask-migrate/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "Flask-Migrate";
-  version = "2.6.0";
+  version = "2.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8626af845e6071ef80c70b0dc16d373f761c981f0ad61bb143a529cab649e725";
+    sha256 = "ae2f05671588762dd83a21d8b18c51fe355e86783e24594995ff8d7380dffe38";
   };
 
   checkInputs = [ flask_script ] ++ lib.optional isPy3k glibcLocales;
diff --git a/pkgs/development/python-modules/flask-paginate/default.nix b/pkgs/development/python-modules/flask-paginate/default.nix
index 212e3a6fcc2b0..214c89e1d4b22 100644
--- a/pkgs/development/python-modules/flask-paginate/default.nix
+++ b/pkgs/development/python-modules/flask-paginate/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "flask-paginate";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "60b2a696bf63d2bc1c90a5b1a861c280461732b88f079c267dc98021911a007b";
+    sha256 = "31133c29c718aed95276425f7795d0a32b8d45a992ddd359c69600f22f869254";
   };
 
   propagatedBuildInputs = [ flask ];
diff --git a/pkgs/development/python-modules/fontparts/default.nix b/pkgs/development/python-modules/fontparts/default.nix
index c694c15f5573a..9a57b1574acc3 100644
--- a/pkgs/development/python-modules/fontparts/default.nix
+++ b/pkgs/development/python-modules/fontparts/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "fontParts";
-  version = "0.9.7";
+  version = "0.9.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "183y1y11bqd4ky4anyv40qbvsm6i90gnydqzrjg7syspjsqvfqgy";
+    sha256 = "1iz04kpxgc5fx2rl4585hr1vp4cdajqbddlskkhlmzkn9hvz528i";
     extension = "zip";
   };
 
@@ -28,7 +28,9 @@ buildPythonPackage rec {
   ];
 
   checkPhase = ''
+    runHook preCheck
     ${python.interpreter} Lib/fontParts/fontshell/test.py
+    runHook postCheck
   '';
   checkInputs = [ pytest ];
 
diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix
index cd91eb08be0ee..407b72c953f1d 100644
--- a/pkgs/development/python-modules/fonttools/default.nix
+++ b/pkgs/development/python-modules/fonttools/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "fonttools";
-  version = "4.18.2";
+  version = "4.21.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner  = pname;
     repo   = pname;
     rev    = version;
-    sha256 = "0h750gvwpsp7fpmgfwkx93gkaf0m1s698g6r7n4xlaji563nlkiv";
+    sha256 = "1x9qrg6ppqhm5214ymwvn0r34qdz8pqvyxd0sj7rkp06wa757z2i";
   };
 
   # all dependencies are optional, but
@@ -67,9 +67,10 @@ buildPythonPackage rec {
       -k 'not ttcompile_timestamp_calcs and not recalc_timestamp'
   '';
 
-  meta = {
+  meta = with lib; {
     homepage = "https://github.com/fonttools/fonttools";
     description = "A library to manipulate font files from Python";
-    license = lib.licenses.mit;
+    license = licenses.mit;
+    maintainers = [ maintainers.sternenseemann ];
   };
 }
diff --git a/pkgs/development/python-modules/freezegun/0.3.nix b/pkgs/development/python-modules/freezegun/0.3.nix
index 09ce8bbd11b14..a83a432d89dc5 100644
--- a/pkgs/development/python-modules/freezegun/0.3.nix
+++ b/pkgs/development/python-modules/freezegun/0.3.nix
@@ -11,17 +11,15 @@
 
 buildPythonPackage rec {
   pname = "freezegun";
-  version = "0.3.5";
+  version = "0.3.15";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "02ly89wwn0plcw8clkkzvxaw6zlpm8qyqpm9x2mfw4a0vppb4ngf";
+    sha256 = "e2062f2c7f95cc276a834c22f1a17179467176b624cc6f936e8bc3be5535ad1b";
   };
 
   propagatedBuildInputs = [ dateutil six ];
   checkInputs = [ mock nose pytest ];
-  # contains python3 specific code
-  doCheck = !isPy27;
 
   meta = with lib; {
     description = "FreezeGun: Let your Python tests travel through time";
diff --git a/pkgs/development/python-modules/freezegun/default.nix b/pkgs/development/python-modules/freezegun/default.nix
index 4c5a87e8266b2..00d03435de9df 100644
--- a/pkgs/development/python-modules/freezegun/default.nix
+++ b/pkgs/development/python-modules/freezegun/default.nix
@@ -2,28 +2,22 @@
 , buildPythonPackage
 , pythonOlder
 , fetchPypi
-, isPy27
 , dateutil
-, six
-, mock
-, nose
-, pytest
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "freezegun";
-  version = "1.0.0";
+  version = "1.1.0";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1cf08e441f913ff5e59b19cc065a8faa9dd1ddc442eaf0375294f344581a0643";
+    sha256 = "177f9dd59861d871e27a484c3332f35a6e3f5d14626f2bf91be37891f18927f3";
   };
 
-  propagatedBuildInputs = [ dateutil six ];
-  checkInputs = [ mock nose pytest ];
-  # contains python3 specific code
-  doCheck = !isPy27;
+  propagatedBuildInputs = [ dateutil ];
+  checkInputs = [ pytestCheckHook ];
 
   meta = with lib; {
     description = "FreezeGun: Let your Python tests travel through time";
diff --git a/pkgs/development/python-modules/fritzconnection/default.nix b/pkgs/development/python-modules/fritzconnection/default.nix
index b8312d1c8ec58..760091e567d53 100644
--- a/pkgs/development/python-modules/fritzconnection/default.nix
+++ b/pkgs/development/python-modules/fritzconnection/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "fritzconnection";
-  version = "1.4.0";
+  version = "1.4.1";
 
   # no tests on PyPI
   src = fetchFromGitHub {
     owner = "kbr";
     repo = pname;
     rev = version;
-    sha256 = "1p8dqcc75xfhyvc9izjzz8c7qfrdkjkrkj36j7ms5fimn5bwk70q";
+    sha256 = "1v8gyr91ddinxgl7507hw64snsvcpm3r7bmdjw2v5v6rmc0wl06s";
   };
 
   disabled = pythonOlder "3.6";
diff --git a/pkgs/development/python-modules/fuzzyfinder/default.nix b/pkgs/development/python-modules/fuzzyfinder/default.nix
new file mode 100644
index 0000000000000..a422e5606b0b0
--- /dev/null
+++ b/pkgs/development/python-modules/fuzzyfinder/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "fuzzyfinder";
+  version = "2.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c56d86f110866becad6690c7518f7036c20831c0f82fc87eba8fdb943132f04b";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "fuzzyfinder" ];
+
+  meta = with lib; {
+    description = "Fuzzy Finder implemented in Python";
+    homepage = "https://github.com/amjith/fuzzyfinder";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/geoip2/default.nix b/pkgs/development/python-modules/geoip2/default.nix
index 69b5d2f97fbec..05a73c3167597 100644
--- a/pkgs/development/python-modules/geoip2/default.nix
+++ b/pkgs/development/python-modules/geoip2/default.nix
@@ -1,7 +1,6 @@
 { buildPythonPackage, lib, fetchPypi, isPy27
 , aiohttp
 , maxminddb
-, mock
 , mocket
 , requests
 , requests-mock
diff --git a/pkgs/development/python-modules/geomet/default.nix b/pkgs/development/python-modules/geomet/default.nix
new file mode 100644
index 0000000000000..a4df450098dfc
--- /dev/null
+++ b/pkgs/development/python-modules/geomet/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, click
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "geomet";
+  version = "0.2.1";
+
+  # pypi tarball doesn't include tests
+  src = fetchFromGitHub {
+    owner = "geomet";
+    repo = "geomet";
+    rev = version;
+    sha256 = "0fdi26glsmrsyqk86rnsfcqw79svn2b0ikdv89pq98ihrpwhn85y";
+  };
+
+  patches = [
+    (fetchpatch {
+      name = "python-3.8-support.patch";
+      url = "https://github.com/geomet/geomet/commit/dc4cb4a856d3ad814b57b4b7487d86d9e0f0fad4.patch";
+      sha256 = "1f1cdfqyp3z01jdjvax77219l3gc75glywqrisqpd2k0m0g7fwh3";
+    })
+  ];
+
+  propagatedBuildInputs = [ click six ];
+
+  meta = with lib; {
+    homepage = "https://github.com/geomet/geomet";
+    license = licenses.asl20;
+    description = "Convert GeoJSON to WKT/WKB (Well-Known Text/Binary), and vice versa.";
+    maintainers = with maintainers; [ turion ris ];
+  };
+}
diff --git a/pkgs/development/python-modules/getmac/default.nix b/pkgs/development/python-modules/getmac/default.nix
index 51ce0ef050313..483539bc221fc 100644
--- a/pkgs/development/python-modules/getmac/default.nix
+++ b/pkgs/development/python-modules/getmac/default.nix
@@ -1,5 +1,10 @@
-{ lib, buildPythonPackage, fetchFromGitHub
-, pytest, pytest-benchmark, pytest-mock }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytest-benchmark
+, pytest-mock
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "getmac";
@@ -7,19 +12,32 @@ buildPythonPackage rec {
 
   src = fetchFromGitHub {
     owner = "GhostofGoes";
-    repo = "getmac";
+    repo = pname;
     rev = version;
     sha256 = "08d4iv5bjl1s4i9qhzf3pzjgj1rgbwi0x26qypf3ycgdj0a6gvh2";
   };
 
-  checkInputs = [ pytest pytest-benchmark pytest-mock ];
-  checkPhase = ''
-    pytest --ignore tests/test_cli.py
-  '';
+  checkInputs = [
+    pytestCheckHook
+    pytest-benchmark
+    pytest-mock
+  ];
+
+  disabledTests = [
+    # Disable CLI tests
+    "test_cli_main_basic"
+    "test_cli_main_verbose"
+    "test_cli_main_debug"
+    "test_cli_multiple_debug_levels"
+    # Disable test that require network access
+    "test_uuid_lanscan_iface"
+  ];
+
+  pythonImportsCheck = [ "getmac" ];
 
   meta = with lib; {
+    description = "Python package to get the MAC address of network interfaces and hosts on the local network";
     homepage = "https://github.com/GhostofGoes/getmac";
-    description = "Pure-Python package to get the MAC address of network interfaces and hosts on the local network.";
     license = licenses.mit;
     maintainers = with maintainers; [ colemickens ];
   };
diff --git a/pkgs/development/python-modules/git-sweep/default.nix b/pkgs/development/python-modules/git-sweep/default.nix
index 2b17a46190b61..2d7da28535cf7 100644
--- a/pkgs/development/python-modules/git-sweep/default.nix
+++ b/pkgs/development/python-modules/git-sweep/default.nix
@@ -15,6 +15,11 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ GitPython ];
 
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "gitsweep" ];
+
   meta = with lib; {
     description = "A command-line tool that helps you clean up Git branches";
     homepage = "https://github.com/arc90/git-sweep";
diff --git a/pkgs/development/python-modules/github3_py/default.nix b/pkgs/development/python-modules/github3_py/default.nix
index 6b1ea305d4a60..8a1eea40c6825 100644
--- a/pkgs/development/python-modules/github3_py/default.nix
+++ b/pkgs/development/python-modules/github3_py/default.nix
@@ -18,11 +18,11 @@
 
 buildPythonPackage rec {
   pname = "github3.py";
-  version = "1.3.0";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "15a115c18f7bfcf934dfef7ab103844eb9f620c586bad65967708926da47cbda";
+    sha256 = "8dd4ac612fd60cb277eaf6e2ce02f68dda54aba06870ca6fa2b28369bf39aa14";
   };
 
   checkInputs = [ betamax pytest betamax-matchers ]
diff --git a/pkgs/development/python-modules/globus-sdk/default.nix b/pkgs/development/python-modules/globus-sdk/default.nix
index 20d47dfe7e948..0c2d74a90e111 100644
--- a/pkgs/development/python-modules/globus-sdk/default.nix
+++ b/pkgs/development/python-modules/globus-sdk/default.nix
@@ -1,35 +1,37 @@
 { lib
 , buildPythonPackage
-, flake8
-, nose2
-, mock
+, fetchFromGitHub
 , requests
 , pyjwt
-, fetchPypi
+, pytestCheckHook
+, responses
 }:
 
 buildPythonPackage rec {
   pname = "globus-sdk";
-  version = "1.10.0";
+  version = "2.0.1";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "b33021b58edacc16bf2ba8453efbb26a8b04242ee3f4d62dcdaa3c6e199f136f";
+  src = fetchFromGitHub {
+    owner = "globus";
+    repo = "globus-sdk-python";
+    rev = version;
+    sha256 = "1kqnr50iwcq9nx40lblbqzf327cdcbkrir6vh70067hk33rq0gm9";
   };
 
-  checkPhase = ''
-    py.test tests
-  '';
+  propagatedBuildInputs = [
+    requests
+    pyjwt
+  ];
 
-  # No tests in archive
-  doCheck = false;
+  checkInputs = [
+    pytestCheckHook
+    responses
+  ];
 
-  checkInputs = [ flake8 nose2 mock ];
-
-  propagatedBuildInputs = [ requests pyjwt  ];
+  pythonImportsCheck = [ "globus_sdk" ];
 
   meta = with lib; {
-    description = "A convenient Pythonic interface to Globus REST APIs, including the Transfer API and the Globus Auth API.";
+    description = "A convenient Pythonic interface to Globus REST APIs, including the Transfer API and the Globus Auth API";
     homepage =  "https://github.com/globus/globus-sdk-python";
     license = licenses.asl20;
     maintainers = with maintainers; [ ixxie ];
diff --git a/pkgs/development/python-modules/glymur/default.nix b/pkgs/development/python-modules/glymur/default.nix
index 50ed257f57e07..9a0b1b09db68f 100644
--- a/pkgs/development/python-modules/glymur/default.nix
+++ b/pkgs/development/python-modules/glymur/default.nix
@@ -2,7 +2,6 @@
 , buildPythonPackage
 , fetchFromGitHub
 , numpy
-, setuptools
 , python
 , scikitimage
 , openjpeg
diff --git a/pkgs/development/python-modules/gmusicapi/default.nix b/pkgs/development/python-modules/gmusicapi/default.nix
index 1797f1d4264d1..c9fc464f06941 100644
--- a/pkgs/development/python-modules/gmusicapi/default.nix
+++ b/pkgs/development/python-modules/gmusicapi/default.nix
@@ -29,6 +29,9 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ validictory decorator mutagen protobuf setuptools requests dateutil proboscis mock appdirs oauth2client pyopenssl gpsoauth MechanicalSoup future ];
 
+  doCheck = false;
+  pythonImportsCheck = [ "gmusicapi" ];
+
   meta = with lib; {
     description = "An unofficial API for Google Play Music";
     homepage = "https://pypi.python.org/pypi/gmusicapi/";
diff --git a/pkgs/development/python-modules/google-api-core/default.nix b/pkgs/development/python-modules/google-api-core/default.nix
index 6715590dc3292..74d74d51c49d6 100644
--- a/pkgs/development/python-modules/google-api-core/default.nix
+++ b/pkgs/development/python-modules/google-api-core/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "google-api-core";
-  version = "1.24.1";
+  version = "1.25.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0sflnpgsvk2h1cr1m3mgxx6pzz55xw7sk4y4qdimhs5jdm2fw78g";
+    sha256 = "0e152ec37b8481d1be1258d95844a5a7031cd3d83d7c7046d9e9b2d807042440";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-auth/default.nix b/pkgs/development/python-modules/google-auth/default.nix
index 22b02552cd757..d583de9c074bc 100644
--- a/pkgs/development/python-modules/google-auth/default.nix
+++ b/pkgs/development/python-modules/google-auth/default.nix
@@ -12,6 +12,7 @@
 , pytest-localserver
 , responses
 , rsa
+, six
 }:
 
 buildPythonPackage rec {
@@ -23,7 +24,7 @@ buildPythonPackage rec {
     sha256 = "0bmdqkyv8k8n6s8dss4zpbcq1cdxwicpb42kwybd02ia85mh43hb";
   };
 
-  propagatedBuildInputs = [ pyasn1-modules cachetools rsa ];
+  propagatedBuildInputs = [ pyasn1-modules cachetools rsa six ];
 
   checkInputs = [
     flask
diff --git a/pkgs/development/python-modules/google-cloud-bigquery/default.nix b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
index a99588199bf46..644c7ef91858e 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
@@ -4,23 +4,24 @@
 , pytestCheckHook
 , freezegun
 , google-cloud-core
+, google-cloud-storage
 , google-cloud-testutils
 , google-resumable-media
-, grpcio
 , ipython
 , mock
 , pandas
 , proto-plus
+, psutil
 , pyarrow
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery";
-  version = "2.6.2";
+  version = "2.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c940bf190a681d80b6f6cd7541924ad411de5f0585b2c8c5e420ab750e2024d";
+    sha256 = "33fcbdf5567bdb7657fb3485f061e7f1b45361f65fdafc168ab9172117fd9a5a";
   };
 
   propagatedBuildInputs = [
@@ -36,6 +37,8 @@ buildPythonPackage rec {
     ipython
     mock
     pandas
+    psutil
+    google-cloud-storage
     pytestCheckHook
   ];
 
@@ -44,6 +47,12 @@ buildPythonPackage rec {
     rm -r google
   '';
 
+  disabledTests = [
+    # requires credentials
+    "test_bigquery_magic"
+    "TestBigQuery"
+  ];
+
   pythonImportsCheck = [
     "google.cloud.bigquery"
     "google.cloud.bigquery_v2"
diff --git a/pkgs/development/python-modules/google-cloud-bigtable/default.nix b/pkgs/development/python-modules/google-cloud-bigtable/default.nix
index 93cbc22b7cd8e..786250ce9e15c 100644
--- a/pkgs/development/python-modules/google-cloud-bigtable/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigtable/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigtable";
-  version = "1.6.1";
+  version = "1.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ace4ff7c6e00fb7d86963503615db85336b6484339f5774bd8c589df224772a8";
+    sha256 = "90bd53a19c33c34101b8567c82a6dc0386af4118d70e1ad69b49375358a21aa6";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/pkgs/development/python-modules/google-cloud-container/default.nix b/pkgs/development/python-modules/google-cloud-container/default.nix
index 1cf94d220e699..4a14080e5e963 100644
--- a/pkgs/development/python-modules/google-cloud-container/default.nix
+++ b/pkgs/development/python-modules/google-cloud-container/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-container";
-  version = "2.3.0";
+  version = "2.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "04f9mx1wxy3l9dvzvvr579fnjp1fdqhgplv5y2gl7h2mvn281k8d";
+    sha256 = "69e10c999c64996822aa2ca138cffcdf0f1e04bdbdb7206c286fa17fb800703a";
   };
 
   propagatedBuildInputs = [ google-api-core grpc_google_iam_v1 libcst proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-dlp/default.nix b/pkgs/development/python-modules/google-cloud-dlp/default.nix
index 451607a53579c..47f0522e1a6ca 100644
--- a/pkgs/development/python-modules/google-cloud-dlp/default.nix
+++ b/pkgs/development/python-modules/google-cloud-dlp/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-dlp";
-  version = "3.0.0";
+  version = "3.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "09rnzpdlycr1wv8agcfx05v1prn35ylphsbr07486zqdkh5wjk8p";
+    sha256 = "193c2c012639f0c063999e0b899f92d70763be605d5528f3d1da93d6734a1aa8";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-error-reporting/default.nix b/pkgs/development/python-modules/google-cloud-error-reporting/default.nix
index 1457c044fe54a..bbd51326e0f22 100644
--- a/pkgs/development/python-modules/google-cloud-error-reporting/default.nix
+++ b/pkgs/development/python-modules/google-cloud-error-reporting/default.nix
@@ -19,6 +19,11 @@ buildPythonPackage rec {
     sha256 = "2fd6fe25343f7017c22e2733a0358c64b3171edc1669d0c8a1e1f07f86a048c4";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'google-cloud-logging>=1.14.0, <2.1' 'google-cloud-logging>=1.14.0'
+  '';
+
   propagatedBuildInputs = [ google-cloud-logging libcst proto-plus ];
 
   checkInputs = [ google-cloud-testutils mock pytestCheckHook pytest-asyncio ];
diff --git a/pkgs/development/python-modules/google-cloud-iot/default.nix b/pkgs/development/python-modules/google-cloud-iot/default.nix
index ac511f8064725..f9be06a827e90 100644
--- a/pkgs/development/python-modules/google-cloud-iot/default.nix
+++ b/pkgs/development/python-modules/google-cloud-iot/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-iot";
-  version = "2.0.1";
+  version = "2.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "08spn5g0s386x21dgwb46na8aknbwq5d1sn8bh6kayk9fjfbxwla";
+    sha256 = "768ccd567b87bf0030f9458d796cc0a846c40825fa2896b77e9cc7a4af30ba2b";
   };
 
   propagatedBuildInputs = [ grpc_google_iam_v1 google-api-core libcst proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-logging/default.nix b/pkgs/development/python-modules/google-cloud-logging/default.nix
index b8ffa935fc365..ab31a8ee4ed4a 100644
--- a/pkgs/development/python-modules/google-cloud-logging/default.nix
+++ b/pkgs/development/python-modules/google-cloud-logging/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-logging";
-  version = "2.0.2";
+  version = "2.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0s09vs4rnq4637j8zw7grv3f4j7njqprm744b1knzldj91rg0vmi";
+    sha256 = "8932ac382eee6af85cd08400a77586dd3139fbf40b61db757c4c492490899741";
   };
 
   propagatedBuildInputs = [ google-api-core google-cloud-core proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-pubsub/default.nix b/pkgs/development/python-modules/google-cloud-pubsub/default.nix
index d3846ad4f429c..cec1672b76133 100644
--- a/pkgs/development/python-modules/google-cloud-pubsub/default.nix
+++ b/pkgs/development/python-modules/google-cloud-pubsub/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-pubsub";
-  version = "2.2.0";
+  version = "2.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1rfdbkxbndi00wx9dx733ihp3hmcsk6k23pcjni0ki7m0c4acl5w";
+    sha256 = "ff9933573dadb02176dc514662354949d0ea784cc4588d22226c2bf7eb90e797";
   };
 
   propagatedBuildInputs = [ grpc_google_iam_v1 google-api-core libcst proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-spanner/default.nix b/pkgs/development/python-modules/google-cloud-spanner/default.nix
index 759a8f25c1af8..c4849dd2f5593 100644
--- a/pkgs/development/python-modules/google-cloud-spanner/default.nix
+++ b/pkgs/development/python-modules/google-cloud-spanner/default.nix
@@ -21,11 +21,6 @@ buildPythonPackage rec {
     sha256 = "060c53bc6f541660a2fe868fd83a695207d4e7b050e04fe103d1e77634b813c7";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace '"proto-plus == 1.11.0"' '"proto-plus"'
-  '';
-
   propagatedBuildInputs = [ google-cloud-core grpc_google_iam_v1 libcst proto-plus sqlparse ];
 
   checkInputs = [ google-cloud-testutils mock pytestCheckHook pytest-asyncio ];
diff --git a/pkgs/development/python-modules/google-cloud-storage/default.nix b/pkgs/development/python-modules/google-cloud-storage/default.nix
index cf869d5c8eff8..84706a8b5a91b 100644
--- a/pkgs/development/python-modules/google-cloud-storage/default.nix
+++ b/pkgs/development/python-modules/google-cloud-storage/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-storage";
-  version = "1.35.0";
+  version = "1.35.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "17kal75wmyjpva7g04cb9yg7qbyrgwfn575z4gqijd4gz2r0sp2m";
+    sha256 = "dc076b6af6da991252416639cb93831f8e50c8328d5ac3fb8e03e40cd8de2290";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-tasks/default.nix b/pkgs/development/python-modules/google-cloud-tasks/default.nix
index 5911bfe615629..c01c294ec334c 100644
--- a/pkgs/development/python-modules/google-cloud-tasks/default.nix
+++ b/pkgs/development/python-modules/google-cloud-tasks/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-tasks";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1jsf7y88lvln9r08pmx673ibmgw397qmir5drrcfvlmgqvszp7qx";
+    sha256 = "6be2f2bca14b4eb1c1bdb0f4ba1dadf791e79a2a3e1fae762e5631a3d9fe094e";
   };
 
   propagatedBuildInputs = [ google-api-core grpc_google_iam_v1 libcst proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-vision/default.nix b/pkgs/development/python-modules/google-cloud-vision/default.nix
index b692291238091..b4e579c085f4d 100644
--- a/pkgs/development/python-modules/google-cloud-vision/default.nix
+++ b/pkgs/development/python-modules/google-cloud-vision/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-vision";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2bae8b4aca9aa38ad7459102cc5743c506adf9060ad2b3b15cff1e8021085017";
+    sha256 = "9a205be275739c141873fa9fbd7c3f9ec6170972c85d5c75e9b4c53b5db839a3";
   };
 
   propagatedBuildInputs = [ libcst google-api-core proto-plus];
diff --git a/pkgs/development/python-modules/google-i18n-address/default.nix b/pkgs/development/python-modules/google-i18n-address/default.nix
index 590962590e5ff..53ce654e41bba 100644
--- a/pkgs/development/python-modules/google-i18n-address/default.nix
+++ b/pkgs/development/python-modules/google-i18n-address/default.nix
@@ -1,8 +1,9 @@
-{ buildPythonPackage, fetchPypi, lib, requests, pytestCheckHook, mock }:
+{ buildPythonPackage, fetchPypi, pythonAtLeast, lib, requests, pytestCheckHook, mock }:
 
 buildPythonPackage rec {
   pname = "google-i18n-address";
   version = "2.4.0";
+  disabled = pythonAtLeast "3.9";
 
   src = fetchPypi {
     inherit pname version;
@@ -15,7 +16,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Google's i18n address data packaged for Python";
-    homepage = "https://pypi.org/project/google-i18n-address/";
+    homepage = "https://github.com/mirumee/google-i18n-address";
     maintainers = with maintainers; [ SuperSandro2000 ];
     license = licenses.bsd3;
   };
diff --git a/pkgs/development/python-modules/gpsoauth/default.nix b/pkgs/development/python-modules/gpsoauth/default.nix
index 1ad50642e2b9b..3caa89d06f787 100644
--- a/pkgs/development/python-modules/gpsoauth/default.nix
+++ b/pkgs/development/python-modules/gpsoauth/default.nix
@@ -26,6 +26,11 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ cffi cryptography enum34 idna ipaddress ndg-httpsclient pyopenssl pyasn1 pycparser pycryptodomex requests six ];
 
+  # no tests executed
+  doCheck = false;
+
+  pythonImportsCheck = [ "gpsoauth" ];
+
   meta = with lib; {
     description = "A python client library for Google Play Services OAuth";
     homepage = "https://github.com/simon-weber/gpsoauth";
diff --git a/pkgs/development/python-modules/gradient-utils/default.nix b/pkgs/development/python-modules/gradient-utils/default.nix
new file mode 100644
index 0000000000000..cf0ffb6bb417e
--- /dev/null
+++ b/pkgs/development/python-modules/gradient-utils/default.nix
@@ -0,0 +1,46 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, hyperopt
+, lib
+, mock
+, numpy
+, poetry
+, prometheus_client
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "gradient-utils";
+  version = "0.3.2";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "Paperspace";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "083hnkv19mhvdc8nx28f1nph50c903gxh9g9q8531abv0w8m0744";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'numpy = "1.18.5"' 'numpy = "^1.18.5"' \
+      --replace 'hyperopt = "0.1.2"' 'hyperopt = ">=0.1.2"'
+  '';
+
+  nativeBuildInputs = [ poetry ];
+  checkInputs = [ mock pytestCheckHook ];
+  propagatedBuildInputs = [ hyperopt prometheus_client numpy ];
+
+  preCheck = "export HOSTNAME=myhost-experimentId";
+  disabledTests = [
+    "test_add_metrics_pushes_metrics" # requires a working prometheus push gateway
+  ];
+
+  meta = with lib; {
+    description = "Gradient ML SDK";
+    homepage    = "https://github.com/Paperspace/gradient-utils";
+    license     = licenses.mit;
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ freezeboy ];
+  };
+}
diff --git a/pkgs/development/python-modules/gradient/default.nix b/pkgs/development/python-modules/gradient/default.nix
new file mode 100644
index 0000000000000..14df3b882bbaa
--- /dev/null
+++ b/pkgs/development/python-modules/gradient/default.nix
@@ -0,0 +1,40 @@
+{ lib, fetchPypi, buildPythonPackage
+, attrs, boto3, requests, gradient_statsd, terminaltables
+, click-completion , click-didyoumean, click-help-colors
+, colorama, requests_toolbelt, gradient-utils, halo, progressbar2
+, marshmallow, pyyaml, websocket_client
+}:
+
+buildPythonPackage rec {
+  pname = "gradient";
+  version = "1.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "15s21945hg342195ig7nchap5mdnsw931iis92pr7hy8ff0rks3n";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'attrs<=' 'attrs>=' \
+      --replace 'colorama==' 'colorama>=' \
+      --replace 'PyYAML==' 'PyYAML>=' \
+      --replace 'marshmallow<' 'marshmallow>='
+  '';
+
+  propagatedBuildInputs = [ attrs boto3 requests gradient_statsd terminaltables
+    click-completion click-didyoumean click-help-colors requests_toolbelt
+    colorama gradient-utils halo marshmallow progressbar2 pyyaml websocket_client
+  ];
+
+  # tries to use /homeless-shelter to mimic container usage, etc
+  doCheck = false;
+
+  meta = with lib; {
+    description = "The command line interface for Gradient";
+    homepage    = "https://github.com/Paperspace/gradient-cli";
+    license     = licenses.isc;
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ thoughtpolice ];
+  };
+}
diff --git a/pkgs/development/python-modules/gradient_sdk/default.nix b/pkgs/development/python-modules/gradient_sdk/default.nix
deleted file mode 100644
index 3dffb38f2ffc8..0000000000000
--- a/pkgs/development/python-modules/gradient_sdk/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, fetchPypi, buildPythonPackage
-, hyperopt
-}:
-
-buildPythonPackage rec {
-  pname = "gradient_sdk";
-  version = "0.0.4";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "Q9oeYjjgJf2lhxW1ypsweQAPpMglmW9PxgzMsgTqJkY=";
-  };
-
-  propagatedBuildInputs = [ hyperopt ];
-
-  pythonImportsCheck = [ "gradient_sdk" ];
-
-  meta = with lib; {
-    description = "Gradient ML SDK";
-    homepage    = "https://github.com/Paperspace/gradient-sdk";
-    license     = licenses.mit;
-    platforms   = platforms.unix;
-    maintainers = with maintainers; [ freezeboy ];
-  };
-}
diff --git a/pkgs/development/python-modules/graphene/default.nix b/pkgs/development/python-modules/graphene/default.nix
index 301ffca034774..2839fc337cd8c 100644
--- a/pkgs/development/python-modules/graphene/default.nix
+++ b/pkgs/development/python-modules/graphene/default.nix
@@ -2,9 +2,9 @@
 , buildPythonPackage
 , fetchFromGitHub
 , aniso8601
-, iso8601
 , graphql-core
 , graphql-relay
+, promise
 , pytestCheckHook
 , pytest-asyncio
 , pytest-benchmark
@@ -31,6 +31,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    promise
     pytestCheckHook
     pytest-asyncio
     pytest-benchmark
@@ -39,6 +40,8 @@ buildPythonPackage rec {
     snapshottest
   ];
 
+  pytestFlagsArray = [ "--benchmark-disable" ];
+
   pythonImportsCheck = [ "graphene" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/graphql-core/default.nix b/pkgs/development/python-modules/graphql-core/default.nix
index 9e48f66c13d1d..5c29a1135a9be 100644
--- a/pkgs/development/python-modules/graphql-core/default.nix
+++ b/pkgs/development/python-modules/graphql-core/default.nix
@@ -1,10 +1,11 @@
 { buildPythonPackage
 , fetchFromGitHub
 , lib
+, pythonOlder
 
 , coveralls
 , promise
-, pytest
+, pytestCheckHook
 , pytest-benchmark
 , pytest-mock
 , rx
@@ -13,36 +14,21 @@
 
 buildPythonPackage rec {
   pname = "graphql-core";
-  version = "3.1.2";
+  version = "3.1.3";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "graphql-python";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0kvbj9dwpx8mjfj86kqx54dbz9k72ki147ssyj0ca2syvb8jm3wb";
+    sha256 = "0qy1i6vffwad74ymdsh1qjf5b6ph4z0vyxzkkc6yppwczhzmi1ps";
   };
 
-  propagatedBuildInputs = [
-    promise
-    rx
-    six
-  ];
-
   checkInputs = [
-    coveralls
-    pytest
     pytest-benchmark
-    pytest-mock
+    pytestCheckHook
   ];
 
-  checkPhase = "pytest";
-
-  configurePhase = ''
-    substituteInPlace setup.py \
-      --replace 'pytest-mock==1.2' 'pytest-mock==1.13.0' \
-      --replace 'pytest-benchmark==3.0.0' 'pytest-benchmark==3.2.2'
-  '';
-
   meta = with lib; {
     description = "Port of graphql-js to Python";
     homepage = "https://github.com/graphql-python/graphql-core";
diff --git a/pkgs/development/python-modules/graphql-relay/default.nix b/pkgs/development/python-modules/graphql-relay/default.nix
index fa6a9ec60a733..08e27c1948734 100644
--- a/pkgs/development/python-modules/graphql-relay/default.nix
+++ b/pkgs/development/python-modules/graphql-relay/default.nix
@@ -1,17 +1,32 @@
-{ lib, buildPythonPackage, fetchPypi, graphql-core, pytestCheckHook }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, graphql-core
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, typing-extensions
+}:
 
 buildPythonPackage rec {
   pname = "graphql-relay";
-  version = "3.0.0";
+  version = "3.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0mjmpf4abrxfyln0ykxq4xa6lp7xwgqr8631qp011hv0nfl6jgxd";
+    sha256 = "sha256-cNWn7lmV6nwqmjflEidmOxpGTx9A6Y/d6VC+VBXf4LQ=";
   };
 
-  propagatedBuildInputs = [ graphql-core ];
+  propagatedBuildInputs = [
+    graphql-core
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    typing-extensions
+  ];
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [ "graphql_relay" ];
 
diff --git a/pkgs/development/python-modules/graphtage/default.nix b/pkgs/development/python-modules/graphtage/default.nix
new file mode 100644
index 0000000000000..c222ea521bb82
--- /dev/null
+++ b/pkgs/development/python-modules/graphtage/default.nix
@@ -0,0 +1,48 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, lib
+, pytestCheckHook
+, pythonOlder
+  # Python dependencies
+, colorama
+, intervaltree
+, json5
+, pyyaml
+, scipy
+, tqdm
+, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "graphtage";
+  version = "0.2.5";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "trailofbits";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-cFOTbPv7CnRdet7bx5LVq5xp9LG4yNm0oxlW5aSEeZs=";
+  };
+
+  propagatedBuildInputs = [
+    colorama
+    intervaltree
+    json5
+    pyyaml
+    scipy
+    tqdm
+    typing-extensions
+  ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "graphtage" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/trailofbits/graphtage";
+    description = "A utility to diff tree-like files such as JSON and XML";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ veehaitch ];
+  };
+}
diff --git a/pkgs/development/python-modules/graspologic/default.nix b/pkgs/development/python-modules/graspologic/default.nix
index 4fd6ccf19c579..b4e8803784b56 100644
--- a/pkgs/development/python-modules/graspologic/default.nix
+++ b/pkgs/development/python-modules/graspologic/default.nix
@@ -37,7 +37,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [ pytestCheckHook pytestcov ];
-  pytestFlagsArray = [ "tests" "--ignore=docs" ];
+  pytestFlagsArray = [ "tests" "--ignore=docs" "--ignore=tests/test_sklearn.py" ];
   disabledTests = [ "gridplot_outputs" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/greatfet/default.nix b/pkgs/development/python-modules/greatfet/default.nix
index b4048c922daee..7859d2f4c0870 100644
--- a/pkgs/development/python-modules/greatfet/default.nix
+++ b/pkgs/development/python-modules/greatfet/default.nix
@@ -1,13 +1,13 @@
 { lib, fetchFromGitHub, buildPythonPackage, isPy3k, future, pyusb, ipython, pygreat }:
 
-buildPythonPackage {
+buildPythonPackage rec {
   pname = "GreatFET";
   version = "2019.5.1.dev0";
 
   src = fetchFromGitHub {
     owner = "greatscottgadgets";
     repo = "greatfet";
-    rev = "a927f21d59ccface00635146103a807c1d2b0ad8";
+    rev = "v${version}";
     sha256 = "054vkx4xkbhxhh5grjbs9kw3pjkv1zapp91ysrqr0c8mg1pc7zxv";
   };
 
diff --git a/pkgs/development/python-modules/gremlinpython/default.nix b/pkgs/development/python-modules/gremlinpython/default.nix
new file mode 100644
index 0000000000000..97d169283b232
--- /dev/null
+++ b/pkgs/development/python-modules/gremlinpython/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, lib, buildPythonPackage, fetchFromGitHub, python, pythonOlder
+, pytestCheckHook, pyhamcrest, pytestrunner, pytest
+, six, isodate, tornado, aenum, radish-bdd, mock
+}:
+
+buildPythonPackage rec {
+  pname = "gremlinpython";
+  version = "3.4.8";
+
+  # pypi tarball doesn't include tests
+  src = fetchFromGitHub {
+    owner = "apache";
+    repo = "tinkerpop";
+    rev = version;
+    sha256 = "0kcyhfxz7z4f8i64gig8q1q9dhy24cprbh63vwsdiwryg74q4chl";
+  };
+  sourceRoot = "source/gremlin-python/src/main/jython";
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'tornado>=4.4.1,<6.0' 'tornado' \
+      --replace 'PyHamcrest>=1.9.0,<2.0.0' 'PyHamcrest' \
+      --replace 'radish-bdd==0.8.6' 'radish-bdd' \
+      --replace 'mock>=3.0.5,<4.0.0' 'mock' \
+      --replace 'pytest>=4.6.4,<5.0.0' 'pytest'
+  '';
+
+  nativeBuildInputs = [ pytestrunner ];  # simply to placate requirements
+  propagatedBuildInputs = [ six isodate tornado aenum ];
+
+  checkInputs = [ pytestCheckHook pyhamcrest radish-bdd mock ];
+
+  # disable custom pytest report generation
+  preCheck = ''
+    substituteInPlace setup.cfg --replace 'addopts' '#addopts'
+  '';
+
+  # many tests expect a running tinkerpop server
+  pytestFlagsArray = [
+    "--ignore=tests/driver/test_client.py"
+    "--ignore=tests/driver/test_driver_remote_connection.py"
+    "--ignore=tests/driver/test_driver_remote_connection_threaded.py"
+    "--ignore=tests/process/test_dsl.py"
+    "--ignore=tests/structure/io/test_functionalityio.py"
+    # disabledTests doesn't quite allow us to be precise enough for this
+    "-k 'not (TestFunctionalGraphSONIO and (test_timestamp or test_datetime or test_uuid))'"
+  ];
+
+  meta = with lib; {
+    description = "Gremlin-Python implements Gremlin, the graph traversal language of Apache TinkerPop, within the Python language";
+    homepage = "https://tinkerpop.apache.org/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ turion ris ];
+  };
+}
diff --git a/pkgs/development/python-modules/grpcio-tools/default.nix b/pkgs/development/python-modules/grpcio-tools/default.nix
index 629c51071abd3..8ac1cd6f0d6cc 100644
--- a/pkgs/development/python-modules/grpcio-tools/default.nix
+++ b/pkgs/development/python-modules/grpcio-tools/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "grpcio-tools";
-  version = "1.34.1";
+  version = "1.35.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b411f36748f4ead33411544d785e37825598bbb8abbe79eca422e395be5a3d08";
+    sha256 = "9e2a41cba9c5a20ae299d0fdd377fe231434fa04cbfbfb3807293c6ec10b03cf";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/python-modules/grpcio/default.nix b/pkgs/development/python-modules/grpcio/default.nix
index 1b1ffb975fb61..0fe6b9343eb3c 100644
--- a/pkgs/development/python-modules/grpcio/default.nix
+++ b/pkgs/development/python-modules/grpcio/default.nix
@@ -1,6 +1,5 @@
 { lib, stdenv
 , buildPythonPackage
-, darwin
 , grpc
 , six
 , protobuf
@@ -20,8 +19,7 @@ buildPythonPackage rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ cython pkg-config ]
-    ++ lib.optional stdenv.isDarwin darwin.cctools;
+  nativeBuildInputs = [ cython pkg-config ];
 
   buildInputs = [ c-ares openssl zlib ];
   propagatedBuildInputs = [ six protobuf ]
diff --git a/pkgs/development/python-modules/gtts/default.nix b/pkgs/development/python-modules/gtts/default.nix
index 0fc9d43dc2ce9..f3e8162b71478 100644
--- a/pkgs/development/python-modules/gtts/default.nix
+++ b/pkgs/development/python-modules/gtts/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "gtts";
-  version = "2.2.1";
+  version = "2.2.2";
 
   src = fetchFromGitHub {
     owner = "pndurette";
     repo = "gTTS";
     rev = "v${version}";
-    sha256 = "1a984691kfin1n896p5l7y8ggjzx19ynih2cw040smfms0azhp4w";
+    sha256 = "052l7gk1v0zckraavyba1bc2cqvmrbffwxxjsklgnslbdcg5h514";
   };
 
   propagatedBuildInputs = [
@@ -47,6 +47,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "A Python library and CLI tool to interface with Google Translate text-to-speech API";
     homepage = "https://gtts.readthedocs.io";
+    changelog = "https://gtts.readthedocs.io/en/latest/changelog.html";
     license = licenses.mit;
     maintainers = with maintainers; [ unode ];
   };
diff --git a/pkgs/development/python-modules/guppy3/default.nix b/pkgs/development/python-modules/guppy3/default.nix
new file mode 100644
index 0000000000000..578f979914cbe
--- /dev/null
+++ b/pkgs/development/python-modules/guppy3/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, tkinter
+}:
+
+buildPythonPackage rec {
+  pname = "guppy3";
+  version = "3.1.0";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "zhuyifei1999";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0yjsn8najbic4f50nj6jzhzrhj1bw6918w0gihdkzhqynwgqi64m";
+  };
+
+  propagatedBuildInputs = [ tkinter ];
+
+  # Tests are starting a Tkinter GUI
+  doCheck = false;
+  pythonImportsCheck = [ "guppy" ];
+
+  meta = with lib; {
+    description = "Python Programming Environment & Heap analysis toolset";
+    homepage = "https://zhuyifei1999.github.io/guppy3/";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/h3/default.nix b/pkgs/development/python-modules/h3/default.nix
index 46b774a25c1e1..e66a3f5e9fcba 100644
--- a/pkgs/development/python-modules/h3/default.nix
+++ b/pkgs/development/python-modules/h3/default.nix
@@ -1,35 +1,69 @@
-{ lib, stdenv
+{ autoPatchelfHook
 , buildPythonPackage
 , cmake
-, fetchPypi
+, cython
+, fetchFromGitHub
 , h3
-, python
+, lib
+, numpy
+, pytestCheckHook
+, scikit-build
+, stdenv
 }:
 
 buildPythonPackage rec {
   pname = "h3";
-  version = "3.7.0";
+  version = "3.7.1";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "cd27fc8ecd9183f93934079b7c986401f499030ff2e2171eace9de462fab561d";
+  # pypi version does not include tests
+  src = fetchFromGitHub {
+    owner = "uber";
+    repo = "h3-py";
+    rev = "v${version}";
+    sha256 = "sha256-MIVV3kZGsIsaJ/ccJOK3+j1VwkUsZGHS5d1sGOBa1Ec=";
   };
 
-  patches = [
-    ./disable-custom-install.patch
-    ./hardcode-h3-path.patch
+  dontConfigure = true;
+
+  checkInputs = [ pytestCheckHook ];
+
+  nativeBuildInputs = [
+    scikit-build cmake cython
+  ] ++ lib.optionals stdenv.hostPlatform.isLinux [
+    # On Linux the .so files ends up referring to libh3.so instead of the full
+    # Nix store path. I'm not sure why this is happening! On Darwin it works
+    # fine.
+    autoPatchelfHook
   ];
 
-  preBuild = ''
-    substituteInPlace h3/h3.py \
-      --subst-var-by libh3_path ${h3}/lib/libh3${stdenv.hostPlatform.extensions.sharedLibrary}
-  '';
+  # This is not needed per-se, it's only added for autoPatchelfHook to work
+  # correctly. See the note above ^^
+  buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ h3 ];
+
+  propagatedBuildInputs = [ numpy ];
+
+  # The following prePatch replaces the h3lib compilation with using the h3 packaged in nixpkgs.
+  #
+  # - Remove the h3lib submodule.
+  # - Patch CMakeLists to avoid building h3lib, and use h3 instead.
+  prePatch =
+    let
+      cmakeCommands = ''
+        include_directories(${h3}/include/h3)
+        link_directories(${h3}/lib)
+      '';
+    in ''
+      rm -r src/h3lib
+      substituteInPlace CMakeLists.txt --replace "add_subdirectory(src/h3lib)" "${cmakeCommands}"
+    '';
+
+  # Extra check to make sure we can import it from Python
+  pythonImportsCheck = [ "h3" ];
 
   meta = with lib; {
     homepage = "https://github.com/uber/h3-py";
-    description = "This library provides Python bindings for the H3 Core Library.";
+    description = "Hierarchical hexagonal geospatial indexing system";
     license = licenses.asl20;
-    platforms = platforms.unix ++ platforms.darwin;
     maintainers = [ maintainers.kalbasit ];
   };
 }
diff --git a/pkgs/development/python-modules/h3/disable-custom-install.patch b/pkgs/development/python-modules/h3/disable-custom-install.patch
deleted file mode 100644
index 981e3b6e2fc64..0000000000000
--- a/pkgs/development/python-modules/h3/disable-custom-install.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 8e1c220..45297b6 100644
---- a/setup.py
-+++ b/setup.py
-@@ -25,20 +25,6 @@ class CustomBuildExtCommand(build_ext):
-         install_h3(h3_version)
-
-
--# Tested with wheel v0.29.0
--class BinaryDistribution(Distribution):
--    def __init__(self, attrs=None):
--        Distribution.__init__(self, attrs)
--        # The values used for the name and sources in the Extension below are
--        # not important, because we override the build_ext command above.
--        # The normal C extension building logic is never invoked, and is
--        # replaced with our own custom logic. However, ext_modules cannot be
--        # empty, because this signals to other parts of distutils that our
--        # package contains C extensions and thus needs to be built for
--        # different platforms separately.
--        self.ext_modules = [Extension('h3c', [])]
--
--
- long_description = open('README.rst').read()
-
- setup(
-@@ -52,14 +38,10 @@ setup(
-     url='https://github.com/uber/h3-py.git',
-     packages=find_packages(exclude=['tests', 'tests.*']),
-     install_requires=[],
--    cmdclass={
--        'build_ext': CustomBuildExtCommand,
--    },
-     package_data={
-         'h-py':
-         ['out/*.dylib' if platform.system() == 'Darwin' else (
-             'out/*.dll' if platform.system() == 'Windows' else
-             'out/*.so.*')]
-     },
--    license='Apache License 2.0',
--    distclass=BinaryDistribution)
-+    license='Apache License 2.0')
diff --git a/pkgs/development/python-modules/h3/hardcode-h3-path.patch b/pkgs/development/python-modules/h3/hardcode-h3-path.patch
deleted file mode 100644
index 87549f298d741..0000000000000
--- a/pkgs/development/python-modules/h3/hardcode-h3-path.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/h3/h3.py b/h3/h3.py
-index 18cf168..2cc7812 100644
---- a/h3/h3.py
-+++ b/h3/h3.py
-@@ -34,13 +34,7 @@ from ctypes import (
-     POINTER,
- )
-
--_dirname = os.path.dirname(__file__)
--libh3_path = ('{}/{}'.format(_dirname, 'out/libh3.1.dylib')
--              if platform.system() == 'Darwin' else (
--              '{}/{}'.format(_dirname, 'out/h3.dll') if platform.system() == 'Windows' else
--              '{}/{}'.format(_dirname, 'out/libh3.so.1')))
--
--libh3 = cdll.LoadLibrary(libh3_path)
-+libh3 = cdll.LoadLibrary('@libh3_path@')
-
- # Type of an H3 index
- H3Index = c_ulonglong
diff --git a/pkgs/development/python-modules/halo/default.nix b/pkgs/development/python-modules/halo/default.nix
new file mode 100644
index 0000000000000..e167371b42a42
--- /dev/null
+++ b/pkgs/development/python-modules/halo/default.nix
@@ -0,0 +1,34 @@
+{ buildPythonPackage
+, colorama
+, fetchPypi
+, isPy27
+, lib
+, log-symbols
+, pytestCheckHook
+, six
+, spinners
+, termcolor }:
+
+buildPythonPackage rec {
+  pname = "halo";
+  version = "0.0.31";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1mn97h370ggbc9vi6x8r6akd5q8i512y6kid2nvm67g93r9a6rvv";
+  };
+
+  propagatedBuildInputs = [ colorama log-symbols termcolor six spinners ];
+
+  # Tests are not included in the PyPI distribution and the git repo does not have tagged releases
+  doCheck = false;
+  pythonImportsCheck = [ "halo" ];
+
+  meta = with lib; {
+    description = "Beautiful Spinners for Terminal, IPython and Jupyter.";
+    homepage = "https://github.com/manrajgrover/halo";
+    license = licenses.mit;
+    maintainers = with maintainers; [ urbas ];
+  };
+}
diff --git a/pkgs/development/python-modules/hatasmota/default.nix b/pkgs/development/python-modules/hatasmota/default.nix
index 44665c1177d2b..961137ed9ab29 100644
--- a/pkgs/development/python-modules/hatasmota/default.nix
+++ b/pkgs/development/python-modules/hatasmota/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "hatasmota";
-  version = "0.2.7";
+  version = "0.2.9";
 
   src = fetchFromGitHub {
     owner = "emontnemery";
     repo = pname;
     rev = version;
-    sha256 = "sha256-QOireN6uRIa7UBKsE63r6yT+mzfs8uOGzzDcNahELws=";
+    sha256 = "sha256-+4jlzemF5f4Qz4QHDaErsmVHq1Pjn/vsvoq/oCbW/hI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/helper/default.nix b/pkgs/development/python-modules/helper/default.nix
index 8560364d4f41a..1697c7270397e 100644
--- a/pkgs/development/python-modules/helper/default.nix
+++ b/pkgs/development/python-modules/helper/default.nix
@@ -1,19 +1,35 @@
-{ lib, buildPythonPackage, fetchPypi, pyyaml, mock }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pyyaml
+, pytestCheckHook
+, mock
+}:
 
 buildPythonPackage rec {
   pname = "helper";
-  version = "2.4.2";
+  version = "2.5.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0p56dvjpaz9wnr0ik2wmvgqjf9ji180bhjky7q272l5dan94lgd6";
+  src = fetchFromGitHub {
+    owner = "gmr";
+    repo = pname;
+    rev = version;
+    sha256 = "0zypjv8rncvrsgl200v7d3bn08gs48dwqvgamfqv71h07cj6zngp";
   };
 
-  checkInputs = [ mock ];
-  propagatedBuildInputs = [ pyyaml ];
+  propagatedBuildInputs = [
+    pyyaml
+  ];
 
-  # No tests in the pypi tarball
-  doCheck = false;
+  checkInputs = [
+    pytestCheckHook
+    mock
+  ];
+
+  pythonImportsCheck = [
+    "helper"
+    "helper.config"
+  ];
 
   meta = with lib; {
     description = "Development library for quickly writing configurable applications and daemons";
diff --git a/pkgs/development/python-modules/hijri-converter/default.nix b/pkgs/development/python-modules/hijri-converter/default.nix
new file mode 100644
index 0000000000000..07f3956c54d66
--- /dev/null
+++ b/pkgs/development/python-modules/hijri-converter/default.nix
@@ -0,0 +1,24 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "hijri-converter";
+  version = "2.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "08gv6ypn2zd0i8yrv24m448xkic492qrgxj349slp1achhg9p7ln";
+  };
+
+  checkInputs = [ pytestCheckHook ];
+
+  meta = with lib; {
+    description = "Accurate Hijri-Gregorian date converter based on the Umm al-Qura calendar";
+    homepage = "https://github.com/dralshehri/hijri-converter";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/python-modules/hmmlearn/default.nix b/pkgs/development/python-modules/hmmlearn/default.nix
index 3f601eacc4295..8d2afcf5e722b 100644
--- a/pkgs/development/python-modules/hmmlearn/default.nix
+++ b/pkgs/development/python-modules/hmmlearn/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "hmmlearn";
-  version = "0.2.4";
+  version = "0.2.5";
 
   src = fetchurl {
     url = "mirror://pypi/h/hmmlearn/${pname}-${version}.tar.gz";
-    sha256 = "0f5cb598a7494b9703c6188246dc89e529d46cbb6700eca70cc895085f0b3cc3";
+    sha256 = "14fb4ad3fb7529785844a25fae5d32272619fb5973cc02c8784018055470ca01";
   };
 
   buildInputs = [ setuptools_scm cython ];
diff --git a/pkgs/development/python-modules/holidays/default.nix b/pkgs/development/python-modules/holidays/default.nix
index 789dc57a571a8..3ac51ac050fb7 100644
--- a/pkgs/development/python-modules/holidays/default.nix
+++ b/pkgs/development/python-modules/holidays/default.nix
@@ -3,25 +3,46 @@
 , fetchPypi
 , convertdate
 , dateutil
+, hijri-converter
 , korean-lunar-calendar
 , six
+, python
+, flake8
 }:
 
 buildPythonPackage rec {
   pname = "holidays";
-  version = "0.10.3";
+  version = "0.10.5.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "839281f2b1ae7ac576da7951472482f6e714818296853107ea861fa60f5013cc";
+    sha256 = "0g4hqbb94cwxlcwsjzrzxzlann1ks2r4mgnfzqz74a2rg1nih5zd";
   };
 
+  postPatch = ''
+    # ignore too long line issues
+    # https://github.com/dr-prodigy/python-holidays/issues/423
+    substituteInPlace tests.py \
+      --replace "flake8.get_style_guide(ignore=[" "flake8.get_style_guide(ignore=['E501', "
+  '';
+
+
   propagatedBuildInputs = [
     convertdate
     dateutil
+    hijri-converter
     korean-lunar-calendar
     six
   ];
+
+  checkInputs = [
+    flake8
+  ];
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest
+  '';
+
   pythonImportsCheck = [ "holidays" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/howdoi/default.nix b/pkgs/development/python-modules/howdoi/default.nix
index cc6003fa952cc..e6323c951ee93 100644
--- a/pkgs/development/python-modules/howdoi/default.nix
+++ b/pkgs/development/python-modules/howdoi/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "howdoi";
-  version = "2.0.8";
+  version = "2.0.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9b7cabab87cd614e26b408653bc8937ec27b79ca2fde6b9457da55d2541f75fb";
+    sha256 = "e561e3c5d4f39ab1f86e9f24bb0b2803ee6e312de61e90907f739aa638f35215";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/hstspreload/default.nix b/pkgs/development/python-modules/hstspreload/default.nix
index 7562e36e4d95e..9d6e4795959cc 100644
--- a/pkgs/development/python-modules/hstspreload/default.nix
+++ b/pkgs/development/python-modules/hstspreload/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "hstspreload";
-  version = "2020.12.22";
+  version = "2021.2.15";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "sethmlarson";
     repo = pname;
     rev = version;
-    sha256 = "1jzcw4clmpbyw67pzskms5rq5b7285iwh42jzc4ly6jz9amggdzc";
+    sha256 = "sha256-vHq4DjDh7hBNAK/h/KdzqaEgrG5bg7VQ8fVWuxV7vOg=";
   };
 
   # tests require network connection
@@ -25,6 +25,6 @@ buildPythonPackage rec {
     description = "Chromium HSTS Preload list as a Python package and updated daily";
     homepage = "https://github.com/sethmlarson/hstspreload";
     license = licenses.bsd3;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/html2text/default.nix b/pkgs/development/python-modules/html2text/default.nix
index dd23ad6c619dd..51b92c8a4f69d 100644
--- a/pkgs/development/python-modules/html2text/default.nix
+++ b/pkgs/development/python-modules/html2text/default.nix
@@ -1,5 +1,8 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
-, pytest
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -14,15 +17,13 @@ buildPythonPackage rec {
     sha256 = "1y924clp2hiqg3a9437z808p29mqcx537j5fmz71plx8qrcm5jf9";
   };
 
-  # python setup.py test is broken, use pytest
-  checkInputs = [ pytest ];
-  checkPhase = ''
-    pytest
-  '';
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "html2text" ];
 
   meta = with lib; {
     description = "Turn HTML into equivalent Markdown-structured text";
     homepage = "https://github.com/Alir3z4/html2text/";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
   };
 }
diff --git a/pkgs/development/python-modules/httpcore/default.nix b/pkgs/development/python-modules/httpcore/default.nix
index aa15c2555e679..dbbdf0bb38c0d 100644
--- a/pkgs/development/python-modules/httpcore/default.nix
+++ b/pkgs/development/python-modules/httpcore/default.nix
@@ -9,18 +9,20 @@
 , pytestcov
 , sniffio
 , uvicorn
+, trustme
+, trio
 }:
 
 buildPythonPackage rec {
   pname = "httpcore";
-  version = "0.12.0";
+  version = "0.12.3";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "encode";
     repo = pname;
     rev = version;
-    sha256 = "0bwxn7m7r7h6k41swxj0jqj3nzi76wqxwbnry6y7d4qfh4m26g2j";
+    sha256 = "09hbjc5wzhrnri5y3idxcq329d7jiaxljc7y6npwv9gh9saln109";
   };
 
   propagatedBuildInputs = [
@@ -34,11 +36,15 @@ buildPythonPackage rec {
     pytestCheckHook
     pytestcov
     uvicorn
+    trustme
+    trio
   ];
 
   pytestFlagsArray = [
     # these tests fail during dns lookups: httpcore.ConnectError: [Errno -2] Name or service not known
+    "--ignore=tests/test_threadsafety.py"
     "--ignore=tests/sync_tests/test_interfaces.py"
+    "--ignore=tests/sync_tests/test_retries.py"
   ];
 
   pythonImportsCheck = [ "httpcore" ];
diff --git a/pkgs/development/python-modules/httpx/default.nix b/pkgs/development/python-modules/httpx/default.nix
index 6e81cc92193c6..9fe636c3591b3 100644
--- a/pkgs/development/python-modules/httpx/default.nix
+++ b/pkgs/development/python-modules/httpx/default.nix
@@ -18,14 +18,14 @@
 
 buildPythonPackage rec {
   pname = "httpx";
-  version = "0.16.1";
+  version = "0.17.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "encode";
     repo = pname;
     rev = version;
-    sha256 = "00gmq45fckcqkj910bvd7pyqz1mvgsdvz4s0k7dzbnc5czzq1f4a";
+    sha256 = "sha256-pRdhPAxKZOVbRhOm4881Dn+IRtpX5T3oFuYdtWp3cgY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/humanize/default.nix b/pkgs/development/python-modules/humanize/default.nix
index b6f78e5cf8fde..94cef6d07f1f8 100644
--- a/pkgs/development/python-modules/humanize/default.nix
+++ b/pkgs/development/python-modules/humanize/default.nix
@@ -2,8 +2,10 @@
 , buildPythonPackage
 , fetchPypi
 , isPy27
-, mock
 , setuptools_scm
+, setuptools
+, pytestCheckHook
+, freezegun
 }:
 
 buildPythonPackage rec {
@@ -17,16 +19,14 @@ buildPythonPackage rec {
   };
 
   nativeBuildInputs = [ setuptools_scm ];
-  checkInputs = [ mock ];
-
-  doCheck = false;
+  propagatedBuildInputs = [ setuptools ];
+  checkInputs = [ pytestCheckHook freezegun ];
 
   meta = with lib; {
     description = "Python humanize utilities";
     homepage = "https://github.com/jmoiron/humanize";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
-    platforms = platforms.unix;
+    maintainers = with maintainers; [ rmcgibbo ];
   };
 
 }
diff --git a/pkgs/development/python-modules/hupper/default.nix b/pkgs/development/python-modules/hupper/default.nix
index 1fe5ab7153d33..27e308ee44774 100644
--- a/pkgs/development/python-modules/hupper/default.nix
+++ b/pkgs/development/python-modules/hupper/default.nix
@@ -1,5 +1,10 @@
-{ lib, stdenv, buildPythonPackage, fetchPypi
-, pytest, pytestcov, watchdog, mock
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pytest-cov
+, watchdog
 }:
 
 buildPythonPackage rec {
@@ -11,11 +16,14 @@ buildPythonPackage rec {
     sha256 = "3818f53dabc24da66f65cf4878c1c7a9b5df0c46b813e014abdd7c569eb9a02a";
   };
 
-  checkPhase = ''
-    py.test
-  '';
-
   # FIXME: watchdog dependency is disabled on Darwin because of #31865, which causes very silent
   # segfaults in the testsuite that end up failing the tests in a background thread (in myapp)
-  checkInputs = [ pytest pytestcov mock ] ++ lib.optional (!stdenv.isDarwin) watchdog;
+  checkInputs = [ pytestCheckHook pytest-cov ] ++ lib.optional (!stdenv.isDarwin) watchdog;
+
+  meta = with lib; {
+    description = "in-process file monitor / reloader for reloading your code automatically during development";
+    homepage = "https://github.com/Pylons/hupper";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
+  };
 }
diff --git a/pkgs/development/python-modules/hvac/default.nix b/pkgs/development/python-modules/hvac/default.nix
index 9ce859c9b7608..f7eb294841425 100644
--- a/pkgs/development/python-modules/hvac/default.nix
+++ b/pkgs/development/python-modules/hvac/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "hvac";
-  version = "0.10.6";
+  version = "0.10.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b0561dbdfecc6a6d7b0cc226d75a800ae9bbc93313a6ad526a1adc97be51eada";
+    sha256 = "6ee2ba6002f11151472fa873b6637d902fc6045a2193aea08b39ae8147c230ba";
   };
 
   propagatedBuildInputs = [ requests six ];
@@ -14,6 +14,8 @@ buildPythonPackage rec {
   # Requires running a Vault server
   doCheck = false;
 
+  pythonImportsCheck = [ "hvac" ];
+
   meta = with lib; {
     description = "HashiCorp Vault API client";
     homepage = "https://github.com/ianunruh/hvac";
diff --git a/pkgs/development/python-modules/hwi/default.nix b/pkgs/development/python-modules/hwi/default.nix
index d3b7d5c856669..7c34235a190b9 100644
--- a/pkgs/development/python-modules/hwi/default.nix
+++ b/pkgs/development/python-modules/hwi/default.nix
@@ -2,14 +2,11 @@
 , buildPythonPackage
 , fetchFromGitHub
 , bitbox02
-, btchip
-, ckcc-protocol
 , ecdsa
 , hidapi
 , libusb1
 , mnemonic
 , pyaes
-, trezor
 , pythonAtLeast
 }:
 
@@ -34,14 +31,11 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     bitbox02
-    btchip
-    ckcc-protocol
     ecdsa
     hidapi
     libusb1
     mnemonic
     pyaes
-    trezor
   ];
 
   # tests require to clone quite a few firmwares
diff --git a/pkgs/development/python-modules/hydra-check/default.nix b/pkgs/development/python-modules/hydra-check/default.nix
index 7316a6fc971d9..c01876d3f64cb 100644
--- a/pkgs/development/python-modules/hydra-check/default.nix
+++ b/pkgs/development/python-modules/hydra-check/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "hydra-check";
-  version = "1.1.1";
+  version = "1.2.0";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "nix-community";
-    repo = "hydra-check";
+    repo = pname;
     rev = version;
-    sha256 = "1dmsscsib8ckp496gsfqxmq8d35zs71n99xmziq9iprvy7n5clq2";
+    sha256 = "EegoQ8qTrFGFYbCDsbAOE4Afg9haLjYdC0Cux/yvSk8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/icmplib/default.nix b/pkgs/development/python-modules/icmplib/default.nix
index b89df0bd2ce03..89f49d9cf6247 100644
--- a/pkgs/development/python-modules/icmplib/default.nix
+++ b/pkgs/development/python-modules/icmplib/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "icmplib";
-  version = "2.0.1";
+  version = "2.0.2";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "ValentinBELYN";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0vps4iz87f8l0z3va92srsx5v19nnd65c22hvbgvhag3vhqsxg7h";
+    sha256 = "0djsbksgml2h18w6509w59s88730w1xaxdxzws12alq4m5v4hirr";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/identify/default.nix b/pkgs/development/python-modules/identify/default.nix
index f3b8393a2759b..cb4d538da3ddc 100644
--- a/pkgs/development/python-modules/identify/default.nix
+++ b/pkgs/development/python-modules/identify/default.nix
@@ -1,20 +1,33 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, editdistance
+}:
 
 buildPythonPackage rec {
   pname = "identify";
-  version = "1.5.13";
+  version = "1.6.1";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "70b638cf4743f33042bebb3b51e25261a0a10e80f978739f17e7fd4837664a66";
+
+  src = fetchFromGitHub {
+    owner = "pre-commit";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1sqhqqjp53dwm8yq4nrgggxbvzs3szbg49z5sj2ss9xzlgmimclm";
   };
 
-  # Tests not included in PyPI tarball
-  doCheck = false;
+  checkInputs = [
+    editdistance
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "identify" ];
 
   meta = with lib; {
     description = "File identification library for Python";
     homepage = "https://github.com/chriskuehl/identify";
     license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/pkgs/development/python-modules/image-match/default.nix b/pkgs/development/python-modules/image-match/default.nix
index 7464f3c899720..ed5179d6db5fc 100644
--- a/pkgs/development/python-modules/image-match/default.nix
+++ b/pkgs/development/python-modules/image-match/default.nix
@@ -24,6 +24,7 @@ buildPythonPackage {
 
   # tests cannot work without elasticsearch
   doCheck = false;
+  pythonImportsCheck = [ "image_match" ];
 
   meta = with lib; {
     homepage = "https://github.com/ascribe/image-match";
diff --git a/pkgs/development/python-modules/imagecorruptions/default.nix b/pkgs/development/python-modules/imagecorruptions/default.nix
index 8d2b7fd8da880..ee1df820a401a 100644
--- a/pkgs/development/python-modules/imagecorruptions/default.nix
+++ b/pkgs/development/python-modules/imagecorruptions/default.nix
@@ -26,6 +26,9 @@ buildPythonPackage rec {
     opencv3
   ];
 
+  doCheck = false;
+  pythonImportsCheck = [ "imagecorruptions" ];
+
   meta = with lib; {
     homepage = "https://github.com/bethgelab/imagecorruptions";
     description = "This package provides a set of image corruptions";
diff --git a/pkgs/development/python-modules/imap-tools/default.nix b/pkgs/development/python-modules/imap-tools/default.nix
new file mode 100644
index 0000000000000..2f87f24639a6e
--- /dev/null
+++ b/pkgs/development/python-modules/imap-tools/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, isPy27
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "imap-tools";
+  version = "0.38.1";
+
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "ikvk";
+    repo = "imap_tools";
+    rev = "v${version}";
+    sha256 = "0b2gnym7p6cwgviwdq8pg2dy28pm5535f8kkc8rzc50knqdifl7g";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # tests require a network connection
+    "test_action"
+    "test_folders"
+    "test_connectio"
+    "test_attributes"
+    "test_live"
+  ];
+
+  pythonImportsCheck = [ "imap_tools" ];
+
+  meta = with lib; {
+    description = "Work with email and mailbox by IMAP";
+    homepage = "https://github.com/ikvk/imap_tools";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/imbalanced-learn/default.nix b/pkgs/development/python-modules/imbalanced-learn/default.nix
index f5418b89e802c..3805b55bcf197 100644
--- a/pkgs/development/python-modules/imbalanced-learn/default.nix
+++ b/pkgs/development/python-modules/imbalanced-learn/default.nix
@@ -1,8 +1,8 @@
 { lib, buildPythonPackage, fetchPypi, isPy27
+, fetchpatch
 , pandas
 , pytestCheckHook
 , scikitlearn
-, tensorflow
 }:
 
 buildPythonPackage rec {
@@ -15,6 +15,16 @@ buildPythonPackage rec {
     sha256 = "da59de0d1c0fa66f62054dd9a0a295a182563aa1abbb3bf9224a3678fcfe8fa4";
   };
 
+  patches = [
+    # Fix compatibility with scikit-learn 0.24. This patch will be included in releases of
+    # imbalanced-learn after 0.7.0
+    (fetchpatch {
+      url = "https://github.com/scikit-learn-contrib/imbalanced-learn/commit/dc4051fe0011c68d900be05971b71016d4ad9e90.patch";
+      sha256 = "1rv61k9wv4q37a0v943clr8fflcg9ly530smgndgkjlxkyzw6swh";
+      excludes = ["doc/conf.py" "build_tools/*" "azure-pipelines.yml"];
+    })
+  ];
+
   propagatedBuildInputs = [ scikitlearn ];
   checkInputs = [ pytestCheckHook pandas ];
   preCheck = ''
@@ -26,11 +36,13 @@ buildPythonPackage rec {
     "_generator"
     "show_versions"
     "test_make_imbalanced_iris"
+    "test_rusboost[SAMME.R]"
   ];
 
   meta = with lib; {
     description = "Library offering a number of re-sampling techniques commonly used in datasets showing strong between-class imbalance";
     homepage = "https://github.com/scikit-learn-contrib/imbalanced-learn";
     license = licenses.mit;
+    maintainers = [ maintainers.rmcgibbo ];
   };
 }
diff --git a/pkgs/development/python-modules/img2pdf/default.nix b/pkgs/development/python-modules/img2pdf/default.nix
index 7e9a6b5daa885..eb8605c45ddce 100644
--- a/pkgs/development/python-modules/img2pdf/default.nix
+++ b/pkgs/development/python-modules/img2pdf/default.nix
@@ -15,6 +15,9 @@ buildPythonPackage rec {
     pillow
   ];
 
+  # no tests exectuted
+  doCheck = false;
+
   meta = with lib; {
     description = "Convert images to PDF via direct JPEG inclusion";
     homepage = "https://gitlab.mister-muffin.de/josch/img2pdf";
diff --git a/pkgs/development/python-modules/immutables/default.nix b/pkgs/development/python-modules/immutables/default.nix
index 41dcc6b2c11e6..196ea78bba702 100644
--- a/pkgs/development/python-modules/immutables/default.nix
+++ b/pkgs/development/python-modules/immutables/default.nix
@@ -1,19 +1,28 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "immutables";
-  version = "0.14";
+  version = "0.15";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0y0aqw29g525frdnmv9paljzacpp4s21sadfbca5b137iciwr8d0";
+    sha256 = "3713ab1ebbb6946b7ce1387bb9d1d7f5e09c45add58c2a2ee65f963c171e746b";
   };
 
-  meta = {
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "immutables" ];
+
+  meta = with lib; {
     description = "An immutable mapping type for Python";
     homepage = "https://github.com/MagicStack/immutables";
-    license = with lib.licenses; [ asl20 ];
-    maintainers = with lib.maintainers; [ catern ];
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ catern ];
   };
 }
diff --git a/pkgs/development/python-modules/imutils/default.nix b/pkgs/development/python-modules/imutils/default.nix
index f402f913f38c3..53294680df9e0 100644
--- a/pkgs/development/python-modules/imutils/default.nix
+++ b/pkgs/development/python-modules/imutils/default.nix
@@ -5,12 +5,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.5.3";
+  version = "0.5.4";
   pname = "imutils";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "857af6169d90e4a0a814130b9b107f5d611150ce440107e1c1233521c6fb1e2b";
+    sha256 = "03827a9fca8b5c540305c0844a62591cf35a0caec199cb0f2f0a4a0fb15d8f24";
   };
 
   propagatedBuildInputs = [ opencv3 ];
@@ -18,6 +18,14 @@ buildPythonPackage rec {
   # no tests
   doCheck = false;
 
+  pythonImportsCheck = [
+    "imutils"
+    "imutils.video"
+    "imutils.io"
+    "imutils.feature"
+    "imutils.face_utils"
+  ];
+
   meta = with lib; {
     homepage = "https://github.com/jrosebr1/imutils";
     description = "A series of convenience functions to make basic image processing functions";
diff --git a/pkgs/development/python-modules/inflect/default.nix b/pkgs/development/python-modules/inflect/default.nix
index c0f6fe920505a..130b6a49bda39 100644
--- a/pkgs/development/python-modules/inflect/default.nix
+++ b/pkgs/development/python-modules/inflect/default.nix
@@ -1,16 +1,32 @@
-{ buildPythonPackage, fetchPypi, isPy27, setuptools_scm, nose, six, importlib-metadata, toml }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPy27
+, setuptools_scm
+, toml
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "inflect";
-  version = "5.0.2";
+  version = "5.2.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d284c905414fe37c050734c8600fe170adfb98ba40f72fc66fed393f5b8d5ea0";
+    sha256 = "30e9d9d372e693739beaae1345dc53c48871ca70c5c7060edd3e7e77802bf945";
   };
 
   nativeBuildInputs = [ setuptools_scm toml ];
-  propagatedBuildInputs = [ six importlib-metadata ];
-  checkInputs = [ nose ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "inflect" ];
+
+  meta = with lib; {
+    description = "Correctly generate plurals, singular nouns, ordinals, indefinite articles";
+    homepage = "https://github.com/jaraco/inflect";
+    changelog = "https://github.com/jaraco/inflect/blob/v${version}/CHANGES.rst";
+    license = licenses.mit;
+  };
 }
diff --git a/pkgs/development/python-modules/influxdb-client/default.nix b/pkgs/development/python-modules/influxdb-client/default.nix
index bc2f39ad2178b..56436cdd0eb9f 100644
--- a/pkgs/development/python-modules/influxdb-client/default.nix
+++ b/pkgs/development/python-modules/influxdb-client/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "influxdb-client";
-  version = "1.13.0";
+  version = "1.14.0";
 
   disabled = pythonOlder "3.6"; # requires python version >=3.6
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "influxdata";
     repo = "influxdb-client-python";
     rev = "v${version}";
-    sha256 = "0g7jhjnag8jx8zbjh6xlqds42alpj87a4dpqc37xqa4ir55m3c2q";
+    sha256 = "1qq727gwz5migr3xlqxj57qxv1y52g7xpkdgggz2wz739w5czffd";
   };
 
   # makes test not reproducible
diff --git a/pkgs/development/python-modules/intake/default.nix b/pkgs/development/python-modules/intake/default.nix
index 922d543fd1de8..32a56c3e95d73 100644
--- a/pkgs/development/python-modules/intake/default.nix
+++ b/pkgs/development/python-modules/intake/default.nix
@@ -24,7 +24,6 @@
 buildPythonPackage rec {
   pname = "intake";
   version = "0.6.0";
-
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
@@ -64,14 +63,17 @@ buildPythonPackage rec {
     PATH=$out/bin:$PATH
   '';
 
-  # disable tests which touch network
-  disabledTests = ''
+  disabledTests = [
+    # disable tests which touch network
     "test_discover"
     "test_filtered_compressed_cache"
     "test_get_dir"
     "test_remote_cat"
     "http"
-  '';
+
+    # broken test
+    "test_read_pattern"
+  ];
 
   meta = with lib; {
     description = "Data load and catalog system";
diff --git a/pkgs/development/python-modules/intelhex/default.nix b/pkgs/development/python-modules/intelhex/default.nix
index 0634e91902422..e5b0cc6fbc746 100644
--- a/pkgs/development/python-modules/intelhex/default.nix
+++ b/pkgs/development/python-modules/intelhex/default.nix
@@ -1,25 +1,23 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "intelhex";
-  version = "2.2.1";
+  version = "2.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ckqjbxd8gwcg98gfzpn4vq1qxzfvq3rdbrr1hikj1nmw08qb780";
+    sha256 = "sha256-iStzYacZ9JRSN9qMz3VOlRPbMvViiFJ4WuoQjc0lAJM=";
   };
 
-  patches = [
-    # patch the tests to check for the correct version string (2.2.1)
-    (fetchpatch {
-      url = "https://patch-diff.githubusercontent.com/raw/bialix/intelhex/pull/26.patch";
-      sha256 = "1f3f2cyf9ipb9zdifmjs8rqhg028dhy91vabxxn3l7br657s8r2l";
-    })
-  ];
+  checkInputs = [ pytestCheckHook ];
+
+  pytestFlagsArray = [ "intelhex/test.py" ];
+
+  pythonImportsCheck = [ "intelhex" ];
 
   meta = {
     homepage = "https://github.com/bialix/intelhex";
diff --git a/pkgs/development/python-modules/ircrobots/default.nix b/pkgs/development/python-modules/ircrobots/default.nix
index 41973e8058460..947da75ce9a90 100644
--- a/pkgs/development/python-modules/ircrobots/default.nix
+++ b/pkgs/development/python-modules/ircrobots/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "ircrobots";
-  version = "0.3.6";
+  version = "0.3.7";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "jesopo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1c8h8b78gmnfipppr9dxp7sl6wd9lx4l3pdwykaib1f49dqwavys";
+    sha256 = "0cm4hcmprca24d979ydbzwn9mfxw16jki6ld7yykxryf0983nqc7";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/j2cli/default.nix b/pkgs/development/python-modules/j2cli/default.nix
index d6efe84edfd6b..c83b1c77e2ccc 100644
--- a/pkgs/development/python-modules/j2cli/default.nix
+++ b/pkgs/development/python-modules/j2cli/default.nix
@@ -26,7 +26,7 @@ buildPythonPackage rec {
       J2Cli is a command-line tool for templating in shell-scripts,
       leveraging the Jinja2 library.
     '';
-    maintainers = with maintainers; [ rushmorem ];
+    maintainers = with maintainers; [ rushmorem SuperSandro2000 ];
   };
 
 }
diff --git a/pkgs/development/python-modules/jabberbot/default.nix b/pkgs/development/python-modules/jabberbot/default.nix
deleted file mode 100644
index d00ccd06c8d67..0000000000000
--- a/pkgs/development/python-modules/jabberbot/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib, buildPythonPackage, isPy3k, fetchPypi, xmpppy }:
-
-buildPythonPackage rec {
-  pname = "jabberbot";
-  version = "0.16";
-
-  disabled = isPy3k;
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1qr7c5p9a0nzsvri1djnd5r3d7ilh2mdxvviqn1s2hcc70rha65d";
-  };
-
-  propagatedBuildInputs = [ xmpppy ];
-
-  doCheck = false; # lol, it does not even specify dependencies properly
-
-  meta = with lib; {
-    description = "A framework for writing Jabber/XMPP bots and services";
-    homepage = "http://thp.io/2007/python-jabberbot/";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ mic92 ];
-  };
-}
diff --git a/pkgs/development/python-modules/javaobj-py3/default.nix b/pkgs/development/python-modules/javaobj-py3/default.nix
index fae3c2f3958f5..421b63a6640cc 100644
--- a/pkgs/development/python-modules/javaobj-py3/default.nix
+++ b/pkgs/development/python-modules/javaobj-py3/default.nix
@@ -2,27 +2,30 @@
 , fetchPypi
 , isPy27
 , lib
+, numpy
 }:
 
 buildPythonPackage rec {
   pname = "javaobj-py3";
-  version = "0.4.1";
+  version = "0.4.2";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "419ff99543469e68149f875abb0db5251cecd350c03d2bfb4c94a5796f1cbc14";
+    sha256 = "sha256-7Tsf/P058WVynLU1h8ygKrC/pMMyyDepLV/+au9cgBA=";
   };
 
+  propagatedBuildInputs = [ numpy ];
+
   # Tests assume network connectivity
   doCheck = false;
 
-  meta = {
+  pythonImportsCheck = [ "javaobj" ];
+
+  meta = with lib; {
     description = "Module for serializing and de-serializing Java objects";
     homepage = "https://github.com/tcalmant/python-javaobj";
-    license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [
-      kamadorueda
-    ];
+    license = licenses.asl20;
+    maintainers = with maintainers; [ kamadorueda ];
   };
 }
diff --git a/pkgs/development/python-modules/jc/default.nix b/pkgs/development/python-modules/jc/default.nix
index b4590ed28d3f2..e1318b51aefe8 100644
--- a/pkgs/development/python-modules/jc/default.nix
+++ b/pkgs/development/python-modules/jc/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "jc";
-  version = "1.14.1";
+  version = "1.14.3";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "kellyjonbrazil";
     repo = "jc";
     rev = "v${version}";
-    sha256 = "1vzzz7dlg6apxhcl0qkfdpp2v9d0q6jyafpfmklkcbjs31zvwcsw";
+    sha256 = "sha256-6ofw74onFECJYYSuZlOVcNVAVuJaJKV4pkaJ4cTrvPk=";
   };
 
   propagatedBuildInputs = [ ruamel_yaml xmltodict pygments ];
diff --git a/pkgs/development/python-modules/johnnycanencrypt/default.nix b/pkgs/development/python-modules/johnnycanencrypt/default.nix
index 77789fa44dbea..a0c82902d3e6d 100644
--- a/pkgs/development/python-modules/johnnycanencrypt/default.nix
+++ b/pkgs/development/python-modules/johnnycanencrypt/default.nix
@@ -1,14 +1,13 @@
 { lib
 , stdenv
-, rustPlatform
 , fetchFromGitHub
-, pipInstallHook
+, buildPythonPackage
+, rustPlatform
 , llvmPackages
 , pkg-config
 , maturin
 , pcsclite
 , nettle
-, python
 , requests
 , vcrpy
 , numpy
@@ -17,7 +16,7 @@
 , PCSC
 }:
 
-rustPlatform.buildRustPackage rec {
+buildPythonPackage rec {
   pname = "johnnycanencrypt";
   version = "0.5.0";
   disabled = pythonOlder "3.7";
@@ -28,7 +27,16 @@ rustPlatform.buildRustPackage rec {
     rev = "v${version}";
     sha256 = "192wfrlyylrpzq70yki421mi1smk8q2cyki2a1d03q7h6apib3j4";
   };
-  cargoPatches = [ ./Cargo.lock.patch ];
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit patches src;
+    name = "${pname}-${version}";
+    hash = "sha256-2XhXCKyXVlFgbcOoMy/A5ajiIVxBii56YeI29mO720U=";
+  };
+
+  format = "pyproject";
+
+  patches = [ ./Cargo.lock.patch ];
 
   cargoSha256 = "0ifvpdizcdp2c5x2x2j1bhhy5a75q0pk7a63dmh52mlpmh45fy6r";
 
@@ -42,10 +50,10 @@ rustPlatform.buildRustPackage rec {
   nativeBuildInputs = [
     llvmPackages.clang
     pkg-config
-    python
-    maturin
-    pipInstallHook
-  ];
+  ] ++ (with rustPlatform; [
+    cargoSetupHook
+    maturinBuildHook
+  ]);
 
   buildInputs = [
     pcsclite
@@ -67,17 +75,6 @@ rustPlatform.buildRustPackage rec {
     sed '/project-url = /d' -i Cargo.toml
   '';
 
-  buildPhase = ''
-    runHook preBuild
-    maturin build --release --manylinux off --strip --cargo-extra-args="-j $NIX_BUILD_CORES --frozen"
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    install -Dm644 -t dist target/wheels/*.whl
-    pipInstallPhase
-  '';
-
   preCheck = ''
     export TESTDIR=$(mktemp -d)
     cp -r tests/ $TESTDIR
diff --git a/pkgs/development/python-modules/josepy/default.nix b/pkgs/development/python-modules/josepy/default.nix
index 8c1fe0a7d3664..3f30da8da9b45 100644
--- a/pkgs/development/python-modules/josepy/default.nix
+++ b/pkgs/development/python-modules/josepy/default.nix
@@ -4,17 +4,24 @@
 , setuptools
 , pyopenssl
 , cryptography
+, mock
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "josepy";
-  version = "1.5.0";
+  version = "1.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "502a36f86efe2a6d09bf7018bca9fd8f8f24d8090a966aa037dbc844459ff9c8";
+    sha256 = "d265414fa16d7a8b7a1d1833b4ebb19a22bd0deae5d44413cf9040fd8491d85a";
   };
 
+  postPatch = ''
+    # remove coverage flags
+    sed -i '/addopts/d' pytest.ini
+  '';
+
   propagatedBuildInputs = [
     pyopenssl
     cryptography
@@ -22,8 +29,10 @@ buildPythonPackage rec {
     setuptools
   ];
 
-  # too many unpackaged check requirements
-  doCheck = false;
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     description = "JOSE protocol implementation in Python";
diff --git a/pkgs/development/python-modules/json-rpc/default.nix b/pkgs/development/python-modules/json-rpc/default.nix
new file mode 100644
index 0000000000000..e475c3117df30
--- /dev/null
+++ b/pkgs/development/python-modules/json-rpc/default.nix
@@ -0,0 +1,24 @@
+{ lib, isPy27, buildPythonPackage, fetchPypi, pytestCheckHook, mock }:
+
+let
+  pythonEnv = lib.optional isPy27 mock;
+in buildPythonPackage rec {
+  pname = "json-rpc";
+  version = "1.13.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "12bmblnznk174hqg2irggx4hd3cq1nczbwkpsqqzr13hbg7xpw6y";
+  };
+
+  checkInputs = pythonEnv ++ [ pytestCheckHook ];
+
+  nativeBuildInputs = pythonEnv;
+
+  meta = with lib; {
+    description = "JSON-RPC 1/2 transport implementation";
+    homepage = "https://github.com/pavlov99/json-rpc";
+    license = licenses.mit;
+    maintainers = with maintainers; [ oxzi ];
+  };
+}
diff --git a/pkgs/development/python-modules/json5/default.nix b/pkgs/development/python-modules/json5/default.nix
new file mode 100644
index 0000000000000..cecce31e0ecc4
--- /dev/null
+++ b/pkgs/development/python-modules/json5/default.nix
@@ -0,0 +1,30 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, hypothesis
+, lib
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "json5";
+  version = "0.9.5";
+
+  src = fetchFromGitHub {
+    owner = "dpranke";
+    repo = "pyjson5";
+    rev = "v${version}";
+    sha256 = "sha256-VkJnZG1BuC49/jJuwObbqAF48CtbWU9rDEYW4Dg0w4U=";
+  };
+
+  checkInputs = [
+    hypothesis
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/dpranke/pyjson5";
+    description = "A Python implementation of the JSON5 data format";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ veehaitch ];
+  };
+}
diff --git a/pkgs/development/python-modules/jsonpath-ng/default.nix b/pkgs/development/python-modules/jsonpath-ng/default.nix
new file mode 100644
index 0000000000000..a623c859e168d
--- /dev/null
+++ b/pkgs/development/python-modules/jsonpath-ng/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, decorator
+, fetchFromGitHub
+, ply
+, pytestCheckHook
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "jsonpath-ng";
+  version = "1.5.2";
+
+  src = fetchFromGitHub {
+    owner = "h2non";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1cxjwhx0nj85a3awnl7j6afnk07awzv45qfwxl5jqbbc9cxh5bd6";
+  };
+
+  propagatedBuildInputs = [
+    decorator
+    ply
+    six
+  ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  disabledTestFiles = [
+    # Exclude tests that require oslotest
+    "tests/test_jsonpath_rw_ext.py"
+  ];
+
+  pythonImportsCheck = [ "jsonpath_ng" ];
+
+  meta = with lib; {
+    description = "JSONPath implementation for Python";
+    homepage = "https://github.com/h2non/jsonpath-ng";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/jupyter-repo2docker/default.nix b/pkgs/development/python-modules/jupyter-repo2docker/default.nix
index 5d8060d1944e1..027ae2e40c8df 100644
--- a/pkgs/development/python-modules/jupyter-repo2docker/default.nix
+++ b/pkgs/development/python-modules/jupyter-repo2docker/default.nix
@@ -12,13 +12,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.11.0";
+  version = "2021.1.0";
   pname = "jupyter-repo2docker";
   disabled = !(pythonAtLeast "3.4");
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7fc2edf0cda1e46f2e7553bfb84a47e6d141b8dac393268ef01ee3504ca6ad94";
+    sha256 = "3e3e671407ef2a7f7695338dc6ce2ca9cc75683ffc7a543829cf119564aca802";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/jupyterhub-systemdspawner/default.nix b/pkgs/development/python-modules/jupyterhub-systemdspawner/default.nix
index 71fba8a12225b..bd3e073a7724b 100644
--- a/pkgs/development/python-modules/jupyterhub-systemdspawner/default.nix
+++ b/pkgs/development/python-modules/jupyterhub-systemdspawner/default.nix
@@ -28,6 +28,9 @@ buildPythonPackage rec {
       --replace "/bin/bash" "${bash}/bin/bash"
   '';
 
+  # no tests
+  doCheck = false;
+
   meta = with lib; {
     description = "JupyterHub Spawner using systemd for resource isolation";
     homepage = "https://github.com/jupyterhub/systemdspawner";
diff --git a/pkgs/development/python-modules/jupyterhub/default.nix b/pkgs/development/python-modules/jupyterhub/default.nix
index 704d9174ebd7b..108d11853f053 100644
--- a/pkgs/development/python-modules/jupyterhub/default.nix
+++ b/pkgs/development/python-modules/jupyterhub/default.nix
@@ -1,33 +1,40 @@
 { lib
+, stdenv
 , buildPythonPackage
+, pythonOlder
 , fetchPypi
 , fetchzip
 , alembic
-, ipython
-, jinja2
-, python-oauth2
-, prometheus_client
 , async_generator
+, certipy
+, dateutil
+, entrypoints
+, jinja2
+, jupyter-telemetry
+, oauthlib
 , pamela
+, prometheus_client
+, requests
 , sqlalchemy
 , tornado
 , traitlets
-, requests
-, notebook
-, pythonOlder
 , nodePackages
-, oauthlib
-, certipy
-, jupyter-telemetry
+, beautifulsoup4
+, cryptography
+, notebook
+, pytest-asyncio
+, pytestCheckHook
+, requests-mock
+, virtualenv
 }:
 
 let
   # js/css assets that setup.py tries to fetch via `npm install` when building
-  # from source.
+  # from source. https://github.com/jupyterhub/jupyterhub/blob/master/package.json
   bootstrap =
     fetchzip {
-      url = "https://registry.npmjs.org/bootstrap/-/bootstrap-3.3.7.tgz";
-      sha256 = "0r7s54bbf68ri1na9bbabyf12mcpb6zk5ja2q6z82aw1fa4xi3yd";
+      url = "https://registry.npmjs.org/bootstrap/-/bootstrap-3.4.1.tgz";
+      sha256 = "1ywmxqdccg0mgx0xknrn1hlrfnhcwphc12y9l91zizx26fqfmzgc";
     };
   font-awesome =
     fetchzip {
@@ -36,30 +43,30 @@ let
     };
   jquery =
     fetchzip {
-      url = "https://registry.npmjs.org/jquery/-/jquery-3.2.1.tgz";
-      sha256 = "1j6y18miwzafdj8kfpwbmbn9qvgnbnpc7l4arqrhqj33m04xrlgi";
+      url = "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz";
+      sha256 = "0yi9ql493din1qa1s923nd5zvd0klk1sx00xj1wx2yambmq86vm9";
     };
   moment =
     fetchzip {
-      url = "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz";
-      sha256 = "12gb3p0rz5wyjwykv9g0pix7dd352lx1z7rzdjsf2brhwc4ffyip";
+      url = "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz";
+      sha256 = "0ifzzla4zffw23g3xvhwx3fj3jny6cjzxfzl1x0317q8wa0c7w5i";
     };
   requirejs =
     fetchzip {
-      url = "https://registry.npmjs.org/requirejs/-/requirejs-2.3.4.tgz";
-      sha256 = "0q6mkj0iv341kks06dya6lfs2kdw0n6vc7n4a7aa3ia530fk9vja";
+      url = "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz";
+      sha256 = "165hkli3qcd59cjqvli9r5f92i0h7czkmhcg1cgwamw2d0b7xibz";
     };
 
 in
 
 buildPythonPackage rec {
   pname = "jupyterhub";
-  version = "1.1.0";
-  disabled = pythonOlder "3.5";
+  version = "1.3.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1mqknz0rxqzx4nc57vscvfh2d4znzlzpy83ancqxdaq3b8i70al5";
+    sha256 = "13pf6qhimpaxj20871ff5rvwwan59320cdhhrn9cfh6314971zq5";
   };
 
   # Most of this only applies when building from source (e.g. js/css assets are
@@ -86,12 +93,7 @@ buildPythonPackage rec {
       "'${nodePackages.configurable-http-proxy}/bin/configurable-http-proxy'"
 
     substituteInPlace setup.py --replace \
-      "'npm', 'run', 'lessc', '--'" \
-      "'${nodePackages.less}/bin/lessc'"
-
-    substituteInPlace setup.py --replace \
-      "'npm', 'install', '--progress=false'" \
-      "'true'"
+      "'npm'" "'true'"
 
     declare -A deps
     deps[bootstrap]=${bootstrap}
@@ -109,19 +111,52 @@ buildPythonPackage rec {
   '';
 
   propagatedBuildInputs = [
-    alembic ipython jinja2 pamela python-oauth2 requests sqlalchemy tornado
-    traitlets prometheus_client async_generator notebook certipy oauthlib
+    # https://github.com/jupyterhub/jupyterhub/blob/master/requirements.txt
+    alembic
+    async_generator
+    certipy
+    dateutil
+    entrypoints
+    jinja2
     jupyter-telemetry
+    oauthlib
+    pamela
+    prometheus_client
+    requests
+    sqlalchemy
+    tornado
+    traitlets
   ];
 
-  # Disable tests because they take an excessive amount of time to complete.
-  doCheck = false;
+  preCheck = ''
+    substituteInPlace jupyterhub/tests/test_spawner.py --replace \
+      "'jupyterhub-singleuser'" "'$out/bin/jupyterhub-singleuser'"
+  '';
 
+  checkInputs = [
+    # https://github.com/jupyterhub/jupyterhub/blob/master/dev-requirements.txt
+    beautifulsoup4
+    cryptography
+    notebook
+    pytest-asyncio
+    pytestCheckHook
+    requests-mock
+    virtualenv
+  ];
+
+  disabledTests = [
+    # Tries to install older versions through pip
+    "test_upgrade"
+    # Testcase fails to find requests import
+    "test_external_service"
+  ];
 
   meta = with lib; {
     description = "Serves multiple Jupyter notebook instances";
     homepage = "https://jupyter.org/";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ixxie cstrahan ];
+    # E   OSError: dlopen(/nix/store/43zml0mlr17r5jsagxr00xxx91hz9lky-openpam-20170430/lib/libpam.so, 6): image not found
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/python-modules/keep/default.nix b/pkgs/development/python-modules/keep/default.nix
index 5a70dcb4676d4..8b9823b6f031d 100644
--- a/pkgs/development/python-modules/keep/default.nix
+++ b/pkgs/development/python-modules/keep/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "keep";
-  version = "2.10";
+  version = "2.10.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ce71d14110df197ab5afdbd26a14c0bd266b79671118ae1351835fa192e61d9b";
+    sha256 = "3abbe445347711cecd9cbb80dab4a0777418972fc14a14e9387d0d2ae4b6adb7";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/keystone-engine/default.nix b/pkgs/development/python-modules/keystone-engine/default.nix
new file mode 100644
index 0000000000000..ed9f3a6bb702f
--- /dev/null
+++ b/pkgs/development/python-modules/keystone-engine/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildPythonPackage, fetchPypi, keystone }:
+
+buildPythonPackage rec {
+  pname = "keystone-engine";
+  version = "0.9.2";
+
+  src = fetchPypi {
+   inherit pname version;
+   sha256 = "1xahdr6bh3dw5swrc2r8kqa8ljhqlb7k2kxv5mrw5rhcmcnzcyig";
+  };
+
+  preConfigure = ''
+    substituteInPlace setup.py --replace \
+      "libkeystone" "${keystone}/lib/libkeystone"
+  '';
+
+  # No tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "keystone" ];
+
+  meta = with lib; {
+    description = "Lightweight multi-platform, multi-architecture assembler framework";
+    homepage = "https://www.keystone-engine.org";
+    maintainers = with maintainers; [ dump_stack ];
+    license = licenses.gpl2Only;
+  };
+}
diff --git a/pkgs/development/python-modules/kivy-garden/default.nix b/pkgs/development/python-modules/kivy-garden/default.nix
new file mode 100644
index 0000000000000..edfad0c9b91dc
--- /dev/null
+++ b/pkgs/development/python-modules/kivy-garden/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage, fetchPypi
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "kivy-garden";
+  version = "0.1.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0wkcpr2zc1q5jb0bi7v2dgc0vs5h1y7j42mviyh764j2i0kz8mn2";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  pythonImportsCheck = [ "garden" ];
+
+  # There are no tests in the Pypi archive and building from source is not
+  # easily feasible because the build is done using buildozer and multiple
+  # repositories.
+  doCheck = false;
+
+  meta = with lib; {
+    description = "The kivy garden installation script, split into its own package for convenient use in buildozer.";
+    homepage = "https://pypi.python.org/pypi/kivy-garden";
+    license = licenses.mit;
+    maintainers = with maintainers; [ risson ];
+  };
+}
diff --git a/pkgs/development/python-modules/kivy/default.nix b/pkgs/development/python-modules/kivy/default.nix
new file mode 100644
index 0000000000000..d4fa39c0c3631
--- /dev/null
+++ b/pkgs/development/python-modules/kivy/default.nix
@@ -0,0 +1,68 @@
+{ lib
+, buildPythonPackage, fetchPypi
+, pkg-config, cython, docutils
+, kivy-garden
+, mesa, mtdev, SDL2, SDL2_image, SDL2_ttf, SDL2_mixer, gst_all_1
+, pillow, requests, pygments
+}:
+
+buildPythonPackage rec {
+  pname = "Kivy";
+  version = "2.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1n0j9046vgjncy50v06r3wcg3q2l37jp8n0cznr64dz48kml8pnj";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    cython
+    docutils
+  ];
+
+  buildInputs = [
+    mesa
+    mtdev
+    SDL2
+    SDL2_image
+    SDL2_ttf
+    SDL2_mixer
+
+    # NOTE: The degree to which gstreamer actually works is unclear
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
+    gst_all_1.gst-plugins-bad
+  ];
+
+  propagatedBuildInputs = [
+    kivy-garden
+    pillow
+    pygments
+    requests
+  ];
+
+  KIVY_NO_CONFIG = 1;
+  KIVY_NO_ARGS = 1;
+  KIVY_NO_FILELOG = 1;
+
+  postPatch = ''
+    substituteInPlace kivy/lib/mtdev.py \
+      --replace "LoadLibrary('libmtdev.so.1')" "LoadLibrary('${mtdev}/lib/libmtdev.so.1')"
+  '';
+
+  /*
+    We cannot run tests as Kivy tries to import itself before being fully
+    installed.
+  */
+  doCheck = false;
+  pythonImportsCheck = [ "kivy" ];
+
+  meta = with lib; {
+    description = "Library for rapid development of hardware-accelerated multitouch applications.";
+    homepage = "https://pypi.python.org/pypi/kivy";
+    license = licenses.mit;
+    maintainers = with maintainers; [ risson ];
+  };
+}
diff --git a/pkgs/development/python-modules/kombu/default.nix b/pkgs/development/python-modules/kombu/default.nix
index 1aa22a62e19f6..a5ca1a7ab2a4e 100644
--- a/pkgs/development/python-modules/kombu/default.nix
+++ b/pkgs/development/python-modules/kombu/default.nix
@@ -22,8 +22,6 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace requirements/test.txt \
       --replace "pytest-sugar" ""
-    substituteInPlace requirements/default.txt \
-      --replace "amqp==2.5.1" "amqp~=2.5"
   '';
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/labelbox/default.nix b/pkgs/development/python-modules/labelbox/default.nix
index 1efe01092124a..85e0fbe71397c 100644
--- a/pkgs/development/python-modules/labelbox/default.nix
+++ b/pkgs/development/python-modules/labelbox/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "labelbox";
-  version = "2.4.9";
+  version = "2.4.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "488fb0b2233738c3bba3d3bf67b941f105553b7286cca3099ac0120dd247bd84";
+    sha256 = "b58604ee50c54a35994e54741d9071ecfebb6d6b9b2737604a95f29c4f23d6ec";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/labgrid/0001-serialdriver-remove-pyserial-version-check.patch b/pkgs/development/python-modules/labgrid/0001-serialdriver-remove-pyserial-version-check.patch
new file mode 100644
index 0000000000000..d3e3082b352d6
--- /dev/null
+++ b/pkgs/development/python-modules/labgrid/0001-serialdriver-remove-pyserial-version-check.patch
@@ -0,0 +1,33 @@
+From 75baa1751973378cb96fb204b0a18a74e5caa2d1 Mon Sep 17 00:00:00 2001
+From: Rouven Czerwinski <r.czerwinski@pengutronix.de>
+Date: Wed, 17 Feb 2021 14:03:20 +0100
+Subject: [PATCH] serialdriver: remove pyserial version check
+
+This check isn't required on NixOS, since pyserial within NixOS already
+contains the patches.
+
+Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
+---
+ labgrid/driver/serialdriver.py | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/labgrid/driver/serialdriver.py b/labgrid/driver/serialdriver.py
+index 126f674e..59a92269 100644
+--- a/labgrid/driver/serialdriver.py
++++ b/labgrid/driver/serialdriver.py
+@@ -27,12 +27,6 @@ class SerialDriver(ConsoleExpectMixin, Driver, ConsoleProtocol):
+         bindings = {"port": "SerialPort", }
+     else:
+         bindings = {"port": {"SerialPort", "NetworkSerialPort"}, }
+-    if version.parse(serial.__version__) != version.Version('3.4.0.1'):
+-        message = ("The installed pyserial version does not contain important RFC2217 fixes.\n"
+-                   "You can install the labgrid fork via:\n"
+-                   "pip uninstall pyserial\n"
+-                   "pip install https://github.com/labgrid-project/pyserial/archive/v3.4.0.1.zip#egg=pyserial\n")  # pylint: disable=line-too-long
+-        warnings.warn(message)
+ 
+     txdelay = attr.ib(default=0.0, validator=attr.validators.instance_of(float))
+     timeout = attr.ib(default=3.0, validator=attr.validators.instance_of(float))
+-- 
+2.30.0
+
diff --git a/pkgs/development/python-modules/labgrid/default.nix b/pkgs/development/python-modules/labgrid/default.nix
new file mode 100644
index 0000000000000..9d42d97e0d841
--- /dev/null
+++ b/pkgs/development/python-modules/labgrid/default.nix
@@ -0,0 +1,78 @@
+{ ansicolors
+, attrs
+, autobahn
+, buildPythonPackage
+, fetchFromGitHub
+, jinja2
+, lib
+, mock
+, pexpect
+, psutil
+, pyserial
+, pytestCheckHook
+, pytest-dependency
+, pytest-mock
+, pyudev
+, pyusb
+, pyyaml
+, requests
+, setuptools-scm
+, xmodem
+}:
+
+buildPythonPackage rec {
+  pname = "labgrid";
+  version = "0.3.1";
+
+  src = fetchFromGitHub {
+    owner = "labgrid-project";
+    repo = "labgrid";
+    rev = "v${version}";
+    sha256 = "15298prs2f4wiyn8lf475qicp3y22lcjdcpwp2fmrya642vnr6w5";
+  };
+
+  patches = [
+    ./0001-serialdriver-remove-pyserial-version-check.patch
+  ];
+
+  nativeBuildInputs = [ setuptools-scm ];
+
+  propagatedBuildInputs = [
+    ansicolors
+    attrs
+    autobahn
+    jinja2
+    pexpect
+    pyserial
+    pyudev
+    pyusb
+    pyyaml
+    requests
+    xmodem
+  ];
+
+  preBuild = ''
+    export SETUPTOOLS_SCM_PRETEND_VERSION="${version}"
+  '';
+
+  checkInputs = [
+    mock
+    psutil
+    pytestCheckHook
+    pytest-mock
+    pytest-dependency
+  ];
+
+  disabledTests = [
+    "docker"
+    "sshmanager"
+  ];
+
+  meta = with lib; {
+    description = "Embedded control & testing library";
+    homepage = "https://labgrid.org";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ emantor ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/development/python-modules/lammps-cython/default.nix b/pkgs/development/python-modules/lammps-cython/default.nix
index 4c16010f4af8b..cf6bdc38ffaac 100644
--- a/pkgs/development/python-modules/lammps-cython/default.nix
+++ b/pkgs/development/python-modules/lammps-cython/default.nix
@@ -9,10 +9,7 @@
 , pymatgen
 , ase
 , pytestrunner
-, pytest_4
-, pytestcov
 , isPy3k
-, openssh
 }:
 
 buildPythonPackage rec {
@@ -26,7 +23,6 @@ buildPythonPackage rec {
   };
 
   buildInputs = [ cython pytestrunner ];
-  checkInputs = [ pytest_4 pytestcov openssh ];
   propagatedBuildInputs = [ mpi4py pymatgen ase numpy ];
 
   preBuild = ''
@@ -44,10 +40,14 @@ buildPythonPackage rec {
     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/pkgs/development/python-modules/launchpadlib/default.nix b/pkgs/development/python-modules/launchpadlib/default.nix
index 6c5112312bb3a..e39e313baa7fb 100644
--- a/pkgs/development/python-modules/launchpadlib/default.nix
+++ b/pkgs/development/python-modules/launchpadlib/default.nix
@@ -10,6 +10,7 @@
 , six
 , testresources
 , wadllib
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -32,6 +33,8 @@ buildPythonPackage rec {
     wadllib
   ];
 
+  checkInputs = [ pytestCheckHook ];
+
   preCheck = ''
     export HOME=$TMPDIR
   '';
@@ -41,7 +44,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Script Launchpad through its web services interfaces. Officially supported";
     homepage = "https://help.launchpad.net/API/launchpadlib";
-    license = licenses.lgpl3;
+    license = licenses.lgpl3Only;
     maintainers = [ maintainers.marsam ];
   };
 }
diff --git a/pkgs/development/python-modules/lazr-restfulclient/default.nix b/pkgs/development/python-modules/lazr-restfulclient/default.nix
index 93956c51b2569..cb78dfff1a290 100644
--- a/pkgs/development/python-modules/lazr-restfulclient/default.nix
+++ b/pkgs/development/python-modules/lazr-restfulclient/default.nix
@@ -8,6 +8,10 @@
 , setuptools
 , six
 , wadllib
+, fixtures
+, lazr-uri
+, pytestCheckHook
+, wsgi-intercept
 }:
 
 buildPythonPackage rec {
@@ -23,7 +27,9 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ distro httplib2 oauthlib setuptools six wadllib ];
 
-  doCheck = false; # requires to package lazr.restful, lazr.authentication, and wsgi_intercept
+  # E   ModuleNotFoundError: No module named 'lazr.uri'
+  doCheck = false;
+  checkInputs = [ fixtures lazr-uri pytestCheckHook wsgi-intercept ];
 
   pythonImportsCheck = [ "lazr.restfulclient" ];
 
diff --git a/pkgs/development/python-modules/ldaptor/default.nix b/pkgs/development/python-modules/ldaptor/default.nix
index e3694bffe3786..0d0c1159332ad 100644
--- a/pkgs/development/python-modules/ldaptor/default.nix
+++ b/pkgs/development/python-modules/ldaptor/default.nix
@@ -8,25 +8,23 @@
 , service-identity
 , zope_interface
 , isPy3k
-, pythonAtLeast
 , python
 }:
 
 buildPythonPackage rec {
   pname = "ldaptor";
-  version = "20.1.1";
+  version = "21.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "778f45d68a0b5d63a892c804c05e57b464413a41d8ae52f92ae569321473ab67";
+    sha256 = "sha256-jEnrGTddSqs+W4NYYGFODLF+VrtaIOGHSAj6W+xno1g=";
   };
 
   propagatedBuildInputs = [
     twisted passlib pyopenssl pyparsing service-identity zope_interface
   ];
 
-  # https://github.com/twisted/ldaptor/pull/210
-  disabled = !isPy3k || pythonAtLeast "3.9";
+  disabled = !isPy3k;
 
   checkPhase = ''
     ${python.interpreter} -m twisted.trial ldaptor
diff --git a/pkgs/development/python-modules/lektor/default.nix b/pkgs/development/python-modules/lektor/default.nix
index 844e28aa07884..febb1b1f0b169 100644
--- a/pkgs/development/python-modules/lektor/default.nix
+++ b/pkgs/development/python-modules/lektor/default.nix
@@ -12,8 +12,8 @@
 , flask
 , pyopenssl
 , ndg-httpsclient
-, pytest
-, pytestcov
+, pytestCheckHook
+, pytest-cov
 , pytest-mock
 , pytest-pylint
 , pytest-click
@@ -39,13 +39,9 @@ buildPythonPackage rec {
   ] ++ lib.optionals isPy27 [ functools32 ];
 
   checkInputs = [
-    pytest pytestcov pytest-mock pytest-pylint pytest-click
+    pytestCheckHook pytest-cov pytest-mock pytest-pylint pytest-click
   ];
 
-  checkPhase = ''
-    pytest
-  '';
-
   # many errors -- tests assume inside of git repo, linting errors 13/317 fail
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/libnacl/default.nix b/pkgs/development/python-modules/libnacl/default.nix
index 2406738cf1bb7..f8cb85ab41828 100644
--- a/pkgs/development/python-modules/libnacl/default.nix
+++ b/pkgs/development/python-modules/libnacl/default.nix
@@ -1,33 +1,41 @@
-{ lib, stdenv, buildPythonPackage, fetchFromGitHub, pytest, libsodium }:
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, libsodium
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "libnacl";
-  version = "1.7.1";
+  version = "1.7.2";
 
   src = fetchFromGitHub {
     owner = "saltstack";
     repo = pname;
     rev = "v${version}";
-    sha256 = "10rpim9lf0qd861a3miq8iqg8w87slqwqni7nq66h72jdk130axg";
+    sha256 = "sha256-nttR9PQimhqd2pByJ5IJzJ4RmSI4y7lcX7a7jcK+vqc=";
   };
 
-  checkInputs = [ pytest ];
-  propagatedBuildInputs = [ libsodium ];
+  buildInputs = [ libsodium ];
 
   postPatch =
-    let soext = stdenv.hostPlatform.extensions.sharedLibrary; in ''
-    substituteInPlace "./libnacl/__init__.py" --replace "ctypes.cdll.LoadLibrary('libsodium${soext}')" "ctypes.cdll.LoadLibrary('${libsodium}/lib/libsodium${soext}')"
-  '';
+    let soext = stdenv.hostPlatform.extensions.sharedLibrary; in
+    ''
+      substituteInPlace "./libnacl/__init__.py" --replace \
+        "ctypes.cdll.LoadLibrary('libsodium${soext}')" \
+        "ctypes.cdll.LoadLibrary('${libsodium}/lib/libsodium${soext}')"
+    '';
 
-  checkPhase = ''
-    py.test
-  '';
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "libnacl" ];
 
   meta = with lib; {
-    maintainers = with maintainers; [ xvapx ];
     description = "Python bindings for libsodium based on ctypes";
-    homepage = "https://pypi.python.org/pypi/libnacl";
+    homepage = "https://libnacl.readthedocs.io/";
     license = licenses.asl20;
     platforms = platforms.unix;
+    maintainers = with maintainers; [ xvapx ];
   };
 }
diff --git a/pkgs/development/python-modules/libpurecool/default.nix b/pkgs/development/python-modules/libpurecool/default.nix
new file mode 100644
index 0000000000000..aa523d9a98bf3
--- /dev/null
+++ b/pkgs/development/python-modules/libpurecool/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, netifaces
+, paho-mqtt
+, pycryptodome
+, requests
+, six
+, zeroconf
+}:
+
+buildPythonPackage rec {
+  pname = "libpurecool";
+  version = "0.6.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1kwbinbg0i4fca1bpx6jwa1fiw71vg0xa89jhq4pmnl5cn9c8kqx";
+  };
+
+  # Remove vendorized zeroconf, https://github.com/etheralm/libpurecool/issues/33
+  postPatch = ''
+    rm libpurecool/zeroconf.py
+    substituteInPlace libpurecool/dyson_pure_cool_link.py \
+      --replace "from .zeroconf import ServiceBrowser, Zeroconf" "from zeroconf import ServiceBrowser, Zeroconf"
+  '';
+
+  propagatedBuildInputs = [
+    netifaces
+    paho-mqtt
+    pycryptodome
+    requests
+    six
+    zeroconf
+  ];
+
+  # Tests are only present in repo, https://github.com/etheralm/libpurecool/issues/36
+  doCheck = false;
+  pythonImportsCheck = [ "libpurecool" ];
+
+  meta = with lib; {
+    description = "Python library for Dyson devices";
+    homepage = "http://libpurecool.readthedocs.io";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/librouteros/default.nix b/pkgs/development/python-modules/librouteros/default.nix
new file mode 100644
index 0000000000000..32c9889681ca3
--- /dev/null
+++ b/pkgs/development/python-modules/librouteros/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, isPy3k
+, pytestCheckHook
+, pytest-xdist
+}:
+
+buildPythonPackage rec {
+  pname = "librouteros";
+  version = "3.1.0";
+  disabled = !isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "luqasz";
+    repo = pname;
+    rev = version;
+    sha256 = "1skjwnqa3vcpq9gzgpw93wdmisq15fp0q07kzyq3fgx4yg7b6sql";
+  };
+
+  checkInputs = [
+    pytest-xdist
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # Disable tests which require QEMU to run
+    "test_login"
+    "test_long_word"
+    "test_query"
+    "test_add_then_remove"
+    "test_add_then_update"
+    "test_generator_ditch"
+  ];
+
+  pythonImportsCheck = [ "librouteros" ];
+
+  meta = with lib; {
+    description = "Python implementation of the MikroTik RouterOS API";
+    homepage = "https://librouteros.readthedocs.io/";
+    license = with licenses; [ gpl2Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/libsoundtouch/default.nix b/pkgs/development/python-modules/libsoundtouch/default.nix
index a4f98ffada81e..77dcdcaef025d 100644
--- a/pkgs/development/python-modules/libsoundtouch/default.nix
+++ b/pkgs/development/python-modules/libsoundtouch/default.nix
@@ -1,30 +1,40 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
 , fetchFromGitHub
-
-, lib
-, pythonOlder
+, enum-compat
 , requests
-, enum34
+, websocket_client
+, zeroconf
+, pytestCheckHook
 }:
 
-buildPythonPackage {
+buildPythonPackage rec {
   pname   = "libsoundtouch";
-  version = "0.4.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
-    owner  = "CharlesBlonde";
-    repo   = "libsoundtouch";
-    rev    = "875074b7a23734021974345b3dc297918e453aa2";
-    sha256 = "1psd556j4x77hjxahxxgdgnq2mcd769whvnf0gmwf3jy2svfkqlg";
+    owner = "CharlesBlonde";
+    repo = "libsoundtouch";
+    rev = version;
+    sha256 = "1wl2w5xfdkrv0qzsz084z2k6sycfyq62mqqgciycha3dywf2fvva";
   };
 
-  postPatch = lib.optionalString (! (pythonOlder "3.4")) ''
-    substituteInPlace setup.py --replace "'enum34>=1.1.6'" ""
-  '';
+  propagatedBuildInputs = [
+    requests
+    enum-compat
+    websocket_client
+    zeroconf
+  ];
 
-  propagatedBuildInputs = [ requests enum34 ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  doCheck = false;
+  disabledTests = [
+    # mock data order mismatch
+    "test_select_content_item"
+    "test_snapshot_restore"
+  ];
 
   meta = with lib; {
     description = "Bose Soundtouch Python library";
diff --git a/pkgs/development/python-modules/libusb1/default.nix b/pkgs/development/python-modules/libusb1/default.nix
index 0446299fd1bdc..cc0ba39e64efb 100644
--- a/pkgs/development/python-modules/libusb1/default.nix
+++ b/pkgs/development/python-modules/libusb1/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "libusb1";
-  version = "1.9.1";
+  version = "1.9.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "14ljk7rywy3fiv23dpayvk14y1ywma729r3b1x2cxf68919g2gnh";
+    sha256 = "17hqck808m59jv6m2g4hasnay44pycy3y0im01fq9jpr3ymcdbi7";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/libversion/default.nix b/pkgs/development/python-modules/libversion/default.nix
index 2edc9211d928d..4bc2dfa2ffda2 100644
--- a/pkgs/development/python-modules/libversion/default.nix
+++ b/pkgs/development/python-modules/libversion/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "libversion";
-  version = "1.2.1";
+  version = "1.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1h8x9hglrqi03f461lhw3wwz23zs84dgw7hx4laxcmyrgvyzvcq1";
+    sha256 = "cf9ef702d0bc750f0ad44a2cffe8ebd83cd356b92cc25f767846509f84ea7e73";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/python-modules/libvirt/5.9.0.nix b/pkgs/development/python-modules/libvirt/5.9.0.nix
index bfc6b711ab207..9cbd042c55aea 100644
--- a/pkgs/development/python-modules/libvirt/5.9.0.nix
+++ b/pkgs/development/python-modules/libvirt/5.9.0.nix
@@ -18,6 +18,10 @@ buildPythonPackage rec {
     nosetests
   '';
 
+  passthru = {
+    inherit libvirt;
+  };
+
   meta = with lib; {
     homepage = "http://www.libvirt.org/";
     description = "libvirt Python bindings";
diff --git a/pkgs/development/python-modules/lightparam/default.nix b/pkgs/development/python-modules/lightparam/default.nix
index 0c3eb5292a88d..936cc9a06269b 100644
--- a/pkgs/development/python-modules/lightparam/default.nix
+++ b/pkgs/development/python-modules/lightparam/default.nix
@@ -1,4 +1,4 @@
-{ lib, pkgs, buildPythonPackage, fetchFromGitHub, isPy3k
+{ lib, buildPythonPackage, fetchFromGitHub, isPy3k
 , ipython
 , ipywidgets
 , numpy
diff --git a/pkgs/development/python-modules/limnoria/default.nix b/pkgs/development/python-modules/limnoria/default.nix
index ff7ac9fb3f993..86a505d4448c4 100644
--- a/pkgs/development/python-modules/limnoria/default.nix
+++ b/pkgs/development/python-modules/limnoria/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "limnoria";
-  version = "2020.12.05";
+  version = "2021.01.15";
   disabled = isPy27; # abandoned upstream
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c4310ea12d1ac39984a96c40a12fab92aefc3d77a615f89ef542b10497ae56fa";
+    sha256 = "5d7109fc779c44070e3c57186eae59b133014835d5fe15b262fa9438d7599c81";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/python-modules/linode-api/default.nix b/pkgs/development/python-modules/linode-api/default.nix
index 7df182d94fed8..48d5a1e80802f 100644
--- a/pkgs/development/python-modules/linode-api/default.nix
+++ b/pkgs/development/python-modules/linode-api/default.nix
@@ -1,41 +1,38 @@
-{
-  buildPythonPackage,
-  fetchFromGitHub,
-  pythonOlder,
-  lib,
-  requests,
-  future,
-  enum34,
-  mock }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, requests
+, pytestCheckHook
+, mock
+}:
 
 buildPythonPackage rec {
   pname = "linode-api";
-  version = "4.1.8b1"; # NOTE: this is a beta, and the API may change in future versions.
-
-  disabled = (pythonOlder "2.7");
-
-  propagatedBuildInputs = [ requests future ]
-                             ++ lib.optionals (pythonOlder "3.4") [ enum34 ];
-
-  postPatch = (lib.optionalString (!pythonOlder "3.4") ''
-    sed -i -e '/"enum34",/d' setup.py
-  '');
-
-  doCheck = true;
-  checkInputs = [ mock ];
+  version = "5.0.0";
+  disabled = pythonOlder "3.6";
 
   # Sources from Pypi exclude test fixtures
   src = fetchFromGitHub {
-    rev = "v${version}";
     owner = "linode";
     repo = "python-linode-api";
-    sha256 = "0qfqn92fr876dncwbkf2vhm90hnf7lwpg80hzwyzyzwz1hcngvjg";
+    rev = version;
+    sha256 = "0lqi15vks4fxbki1l7n1bfzygjy3w17d9wchjxvp22ijmas44yai";
   };
 
-  meta = {
+  propagatedBuildInputs = [ requests ];
+
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "linode_api4" ];
+
+  meta = with lib; {
+    description = "Python library for the Linode API v4";
     homepage = "https://github.com/linode/python-linode-api";
-    description = "The official python library for the Linode API v4 in python.";
-    license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ glenns ];
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ glenns ];
   };
 }
diff --git a/pkgs/development/python-modules/linuxfd/default.nix b/pkgs/development/python-modules/linuxfd/default.nix
index e6202441da646..7d968c1914414 100644
--- a/pkgs/development/python-modules/linuxfd/default.nix
+++ b/pkgs/development/python-modules/linuxfd/default.nix
@@ -19,6 +19,7 @@ buildPythonPackage rec {
   meta = {
     description = "Python bindings for the Linux eventfd/signalfd/timerfd/inotify syscalls";
     homepage = "https://github.com/FrankAbelbeck/linuxfd";
-    license = with lib.licenses; [ lgpl3 ];
+    platforms = lib.platforms.linux;
+    license = with lib.licenses; [ lgpl3Plus ];
   };
 }
diff --git a/pkgs/development/python-modules/livestreamer/default.nix b/pkgs/development/python-modules/livestreamer/default.nix
index 184a215c407aa..98878c90640f8 100644
--- a/pkgs/development/python-modules/livestreamer/default.nix
+++ b/pkgs/development/python-modules/livestreamer/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     sha256 = "1fp3d3z2grb1ls97smjkraazpxnvajda2d1g1378s6gzmda2jvjd";
   };
 
-  buildInputs = [ pkgs.makeWrapper ];
+  nativeBuildInputs = [ pkgs.makeWrapper ];
 
   propagatedBuildInputs = [ pkgs.rtmpdump pycrypto requests ]
     ++ lib.optionals isPy27 [ singledispatch futures ];
diff --git a/pkgs/development/python-modules/log-symbols/default.nix b/pkgs/development/python-modules/log-symbols/default.nix
new file mode 100644
index 0000000000000..f8cdce634ac93
--- /dev/null
+++ b/pkgs/development/python-modules/log-symbols/default.nix
@@ -0,0 +1,30 @@
+{ buildPythonPackage
+, colorama
+, fetchPypi
+, isPy27
+, pytestCheckHook
+, lib }:
+
+buildPythonPackage rec {
+  pname = "log_symbols";
+  version = "0.0.14";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0mh5d0igw33libfmbsr1ri1p1y644p36nwaa2w6kzrd8w5pvq2yg";
+  };
+
+  propagatedBuildInputs = [ colorama ];
+
+  # Tests are not included in the PyPI distribution and the git repo does not have tagged releases
+  doCheck = false;
+  pythonImportsCheck = [ "log_symbols" ];
+
+  meta = with lib; {
+    description = "Colored Symbols for Various Log Levels.";
+    homepage = "https://github.com/manrajgrover/py-log-symbols";
+    license = licenses.mit;
+    maintainers = with maintainers; [ urbas ];
+  };
+}
diff --git a/pkgs/development/python-modules/lsassy/default.nix b/pkgs/development/python-modules/lsassy/default.nix
index 6b1d5ec2bb4c1..ad9d09b326629 100644
--- a/pkgs/development/python-modules/lsassy/default.nix
+++ b/pkgs/development/python-modules/lsassy/default.nix
@@ -4,7 +4,6 @@
 , impacket
 , netaddr
 , pypykatz
-, pytestCheckHook
 }:
 
 buildPythonPackage rec {
diff --git a/pkgs/development/python-modules/lxml/default.nix b/pkgs/development/python-modules/lxml/default.nix
index aa009e0a3e732..b58376031039d 100644
--- a/pkgs/development/python-modules/lxml/default.nix
+++ b/pkgs/development/python-modules/lxml/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "lxml";
-  version = "4.5.2";
+  version = "4.6.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "1d0cpwdjxfzwjzmnz066ibzicyj2vhx15qxmm775l8hxqi65xps4";
+    sha256 = "1zidx62sxh2r4fmjfjzd4f6i4yxgzkpd20nafbyr0i0wnw9da3fd";
   };
 
   # setuptoolsBuildPhase needs dependencies to be passed through nativeBuildInputs
diff --git a/pkgs/development/python-modules/maestral/default.nix b/pkgs/development/python-modules/maestral/default.nix
index 990545e41736d..cc9c35bcb920f 100644
--- a/pkgs/development/python-modules/maestral/default.nix
+++ b/pkgs/development/python-modules/maestral/default.nix
@@ -1,30 +1,29 @@
-{ lib, stdenv
+{ lib
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
 , python
-, alembic, bugsnag, click, dropbox, fasteners, keyring, keyrings-alt, packaging, pathspec, Pyro5, requests, setuptools, sdnotify, sqlalchemy, survey, watchdog
+, alembic, click, desktop-notifier, dropbox, fasteners, keyring, keyrings-alt, packaging, pathspec, Pyro5, requests, setuptools, sdnotify, sqlalchemy, survey, watchdog
 , importlib-metadata
 , importlib-resources
-, dbus-next
 }:
 
 buildPythonPackage rec {
   pname = "maestral";
-  version = "1.3.1";
+  version = "1.4.2";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "SamSchott";
     repo = "maestral";
     rev = "v${version}";
-    sha256 = "sha256-SspyTdmAbbmWN3AqVp9bj/QfAKLVgU2bLiiHjZO0aCM=";
+    sha256 = "sha256-ibAYuaPSty275/aQ0DibyWe2LjPoEpdWgElTnR+MEs8=";
   };
 
   propagatedBuildInputs = [
     alembic
-    bugsnag
     click
+    desktop-notifier
     dropbox
     fasteners
     keyring
@@ -42,8 +41,6 @@ buildPythonPackage rec {
     importlib-metadata
   ] ++ lib.optionals (pythonOlder "3.9") [
     importlib-resources
-  ] ++ lib.optionals stdenv.isLinux [
-    dbus-next
   ];
 
   makeWrapperArgs = [
diff --git a/pkgs/development/python-modules/mailmanclient/default.nix b/pkgs/development/python-modules/mailmanclient/default.nix
index edc19f66f71b7..0c981a6789d4d 100644
--- a/pkgs/development/python-modules/mailmanclient/default.nix
+++ b/pkgs/development/python-modules/mailmanclient/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "mailmanclient";
-  version = "3.3.1";
+  version = "3.3.2";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0pjgzpvhdb6ql8asb20xr8d01m646zpghmcp9fmscks0n1k4di4g";
+    sha256 = "4082ac0c66d7f7bee15751fe2564098b971177c0013e66d0c8ceee1ebdcb5592";
   };
 
   propagatedBuildInputs = [ six httplib2 requests ];
diff --git a/pkgs/development/python-modules/manticore/default.nix b/pkgs/development/python-modules/manticore/default.nix
index f9ca3afc4b15d..9e0938fb14865 100644
--- a/pkgs/development/python-modules/manticore/default.nix
+++ b/pkgs/development/python-modules/manticore/default.nix
@@ -57,6 +57,7 @@ buildPythonPackage rec {
   ] ++ lib.optionals (!stdenv.isLinux) [
     "--ignore=tests/native"
     "--ignore=tests/other/test_locking.py"
+    "--ignore=tests/other/test_state_introspection.py"
   ];
   disabledTests = [
     # failing tests
diff --git a/pkgs/development/python-modules/markdown2/default.nix b/pkgs/development/python-modules/markdown2/default.nix
index b1513d06e58be..b40254f089879 100644
--- a/pkgs/development/python-modules/markdown2/default.nix
+++ b/pkgs/development/python-modules/markdown2/default.nix
@@ -1,15 +1,23 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib, buildPythonPackage, fetchFromGitHub, python, pygments }:
 
 buildPythonPackage rec {
   pname = "markdown2";
-  version = "2.3.6";
+  version = "2.4.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    extension = "zip";
-    sha256 = "08a124043aa0ad36ba2136239547d5011a2b770278abb11a5609611e0040ea05";
+  # PyPI does not contain tests, so using GitHub instead.
+  src = fetchFromGitHub {
+    owner = "trentm";
+    repo = "python-markdown2";
+    rev = version;
+    sha256 = "sha256:03qmf087phpj0h9hx111k4r5pkm48dhb61mqhp1v75gd09k0z79z";
   };
 
+  checkInputs = [ pygments ];
+
+  checkPhase = ''
+    ${python.interpreter} ./test/test.py
+  '';
+
   meta = with lib; {
     description = "A fast and complete Python implementation of Markdown";
     homepage =  "https://github.com/trentm/python-markdown2";
diff --git a/pkgs/development/python-modules/marshmallow-sqlalchemy/default.nix b/pkgs/development/python-modules/marshmallow-sqlalchemy/default.nix
index 4bf670082b617..ba10c89e14053 100644
--- a/pkgs/development/python-modules/marshmallow-sqlalchemy/default.nix
+++ b/pkgs/development/python-modules/marshmallow-sqlalchemy/default.nix
@@ -1,23 +1,35 @@
-{ lib, buildPythonPackage, fetchPypi,
-  marshmallow, sqlalchemy
+{ lib
+, buildPythonPackage
+, fetchPypi
+, marshmallow
+, sqlalchemy
+, pytest-lazy-fixture
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "marshmallow-sqlalchemy";
-  version = "0.24.1";
-
-  meta = {
-    homepage = "https://github.com/marshmallow-code/marshmallow-sqlalchemy";
-    description = "SQLAlchemy integration with marshmallow ";
-    license = lib.licenses.mit;
-  };
+  version = "0.24.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d051cf013c075c43e1ee5c4b01f8fab6dd6b140dab6825be45875f674a0d289c";
+    sha256 = "ee3ead3b83de6608c6850ff60515691b0dc556ca226680f8a82b9f785cdb71b1";
   };
 
-  propagatedBuildInputs = [ marshmallow sqlalchemy ];
+  propagatedBuildInputs = [
+    marshmallow
+    sqlalchemy
+  ];
+
+  checkInputs = [
+    pytest-lazy-fixture
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/marshmallow-code/marshmallow-sqlalchemy";
+    description = "SQLAlchemy integration with marshmallow ";
+    license = licenses.mit;
+  };
 
-  doCheck = false;
 }
diff --git a/pkgs/development/python-modules/mautrix/default.nix b/pkgs/development/python-modules/mautrix/default.nix
index 8c77cffc4d005..d46b505991f3d 100644
--- a/pkgs/development/python-modules/mautrix/default.nix
+++ b/pkgs/development/python-modules/mautrix/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "mautrix";
-  version = "0.8.11";
+  version = "0.8.12";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d1958b9bd8c2631ccd6ebd4a54e35e5190dae2c0daeb786aec02f263b2c2e0b1";
+    sha256 = "471684d40cbc2f7db345f2f809553b221a34d1c81e04bcdcb08a2832f140db1e";
   };
 
   propagatedBuildInputs = [
@@ -26,6 +26,8 @@ buildPythonPackage rec {
   # no tests available
   doCheck = false;
 
+  pythonImportsCheck = [ "mautrix" ];
+
   meta = with lib; {
     homepage = "https://github.com/tulir/mautrix-python";
     description = "A Python 3 asyncio Matrix framework.";
diff --git a/pkgs/development/python-modules/mcstatus/default.nix b/pkgs/development/python-modules/mcstatus/default.nix
new file mode 100644
index 0000000000000..f8ddac600a69d
--- /dev/null
+++ b/pkgs/development/python-modules/mcstatus/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, asyncio-dgram
+, buildPythonPackage
+, click
+, dnspython
+, fetchFromGitHub
+, mock
+, pytestCheckHook
+, pythonOlder
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "mcstatus";
+  version = "5.1.1";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "Dinnerbone";
+    repo = pname;
+    rev = "release-${version}";
+    sha256 = "1a3qrl6w76ayqkl1knaz5ai0brrzpjfdk33lyb1n1p7gnc73nhlr";
+  };
+
+  propagatedBuildInputs = [
+    asyncio-dgram
+    click
+    dnspython
+    six
+  ];
+
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace requirements.txt --replace "dnspython3" "dnspython"
+  '';
+
+  pythonImportsCheck = [ "mcstatus" ];
+
+  meta = with lib; {
+    description = "Python library for checking the status of Minecraft servers";
+    homepage = "https://github.com/Dinnerbone/mcstatus";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/metar/default.nix b/pkgs/development/python-modules/metar/default.nix
new file mode 100644
index 0000000000000..e832c7cf56fe3
--- /dev/null
+++ b/pkgs/development/python-modules/metar/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "metar";
+  version = "1.8.0";
+
+  src = fetchFromGitHub {
+    owner = "python-metar";
+    repo = "python-metar";
+    rev = "v${version}";
+    sha256 = "019vfq9191cdvvq1afdcdgdgbzpj7wq6pz9li8ggim71azjnv5nn";
+  };
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "metar" ];
+
+  meta = with lib; {
+    description = "Python parser for coded METAR weather reports";
+    homepage = "https://github.com/python-metar/python-metar";
+    license = with licenses; [ bsd1 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/minikerberos/default.nix b/pkgs/development/python-modules/minikerberos/default.nix
index 51ee529e234be..481f302d66af2 100644
--- a/pkgs/development/python-modules/minikerberos/default.nix
+++ b/pkgs/development/python-modules/minikerberos/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "minikerberos";
-  version = "0.2.8";
+  version = "0.2.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "16bbyihap2ygsi7xg58rwdn14ms1j0jy2kxbdljpg39s9q1rz6ps";
+    sha256 = "sha256-woYs8EYUfALCtqHUCVfF5z1v1UIc9D8Iep9n4NrNIlg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mlxtend/default.nix b/pkgs/development/python-modules/mlxtend/default.nix
index 35f55bb27930f..44402b36ec081 100644
--- a/pkgs/development/python-modules/mlxtend/default.nix
+++ b/pkgs/development/python-modules/mlxtend/default.nix
@@ -45,5 +45,7 @@ buildPythonPackage rec {
     license= licenses.bsd3;
     maintainers = with maintainers; [ evax ];
     platforms = platforms.unix;
+    # incompatible with nixpkgs scikitlearn version
+    broken = true;
   };
 }
diff --git a/pkgs/development/python-modules/mmh3/default.nix b/pkgs/development/python-modules/mmh3/default.nix
index 8ac241880039b..cd2b01d05782f 100644
--- a/pkgs/development/python-modules/mmh3/default.nix
+++ b/pkgs/development/python-modules/mmh3/default.nix
@@ -18,6 +18,5 @@ buildPythonPackage rec {
     description = "Python wrapper for MurmurHash3, a set of fast and robust hash functions";
     homepage = "https://pypi.org/project/mmh3/";
     license = licenses.cc0;
-    maintainers = [ maintainers.danieldk ];
   };
 }
diff --git a/pkgs/development/python-modules/mnemonic/default.nix b/pkgs/development/python-modules/mnemonic/default.nix
index 2811d0ecda549..8d47db6369646 100644
--- a/pkgs/development/python-modules/mnemonic/default.nix
+++ b/pkgs/development/python-modules/mnemonic/default.nix
@@ -1,20 +1,28 @@
-{ lib, fetchPypi, buildPythonPackage, pbkdf2 }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "mnemonic";
   version = "0.19";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "4e37eb02b2cbd56a0079cabe58a6da93e60e3e4d6e757a586d9f23d96abea931";
+  src = fetchFromGitHub {
+    owner = "trezor";
+    repo = "python-${pname}";
+    rev = "v${version}";
+    sha256 = "0rs3szdikkgypiwn43ad3lwh7zvpccw39j5ggkziq6v7pnw3isaq";
   };
 
-  propagatedBuildInputs = [ pbkdf2 ];
+  checkInputs = [ pytestCheckHook ];
 
-  meta = {
-    description = "Implementation of Bitcoin BIP-0039";
+  pythonImportsCheck = [ "mnemonic" ];
+
+  meta = with lib; {
+    description = "Reference implementation of BIP-0039";
     homepage = "https://github.com/trezor/python-mnemonic";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ np ];
+    license = licenses.mit;
+    maintainers = with maintainers; [ np prusnak ];
   };
 }
diff --git a/pkgs/development/python-modules/modeled/default.nix b/pkgs/development/python-modules/modeled/default.nix
index 66fe63e3daf1c..acf8ee4c11232 100644
--- a/pkgs/development/python-modules/modeled/default.nix
+++ b/pkgs/development/python-modules/modeled/default.nix
@@ -24,9 +24,11 @@ buildPythonPackage rec {
 
   checkInputs = [ pytestCheckHook ];
 
+  pythonImportsCheck = [ "modeled" ];
+
   meta = with lib; {
     description = "Universal data modeling for Python";
-    homepage = "https://bitbucket.org/userzimmermann/python-modeled";
+    homepage = "https://github.com/modeled/modeled";
     license = licenses.lgpl3Only;
     maintainers = [ maintainers.costrouc ];
   };
diff --git a/pkgs/development/python-modules/moderngl_window/default.nix b/pkgs/development/python-modules/moderngl_window/default.nix
index b4aee8c61cf7f..7f6d9893c9694 100644
--- a/pkgs/development/python-modules/moderngl_window/default.nix
+++ b/pkgs/development/python-modules/moderngl_window/default.nix
@@ -7,7 +7,6 @@
 , pyglet
 , pillow
 , pyrr
-, pytest
 }:
 
 buildPythonPackage rec {
diff --git a/pkgs/development/python-modules/moinmoin/default.nix b/pkgs/development/python-modules/moinmoin/default.nix
index cc00643b71ae0..b4ecf28724a46 100644
--- a/pkgs/development/python-modules/moinmoin/default.nix
+++ b/pkgs/development/python-modules/moinmoin/default.nix
@@ -4,14 +4,14 @@
 
 buildPythonPackage rec {
   pname = "moinmoin";
-  version = "1.9.10";
+  version = "1.9.11";
 
   # SyntaxError in setup.py
   disabled = isPy3k;
 
   src = fetchurl {
     url = "http://static.moinmo.in/files/moin-${version}.tar.gz";
-    sha256 = "0g05lnl1s8v61phi3z1g3b6lfj4g98grj9kw8nyjl246x0c489ja";
+    sha256 = "sha256-Ar4x1V851P4MYlPfi0ngG3bQlWNMvRtW0YX2bh4MPPU=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/moto/default.nix b/pkgs/development/python-modules/moto/default.nix
index 3efc09bc00178..ddc3896c6a55b 100644
--- a/pkgs/development/python-modules/moto/default.nix
+++ b/pkgs/development/python-modules/moto/default.nix
@@ -1,7 +1,6 @@
 { lib, buildPythonPackage, fetchPypi, isPy27, fetchpatch
 , aws-xray-sdk
 , backports_tempfile
-, boto
 , boto3
 , botocore
 , cfn-lint
@@ -11,7 +10,6 @@
 , jinja2
 , jsondiff
 , mock
-, nose
 , pyaml
 , python-jose
 , pytz
@@ -24,34 +22,42 @@
 , xmltodict
 , parameterized
 , idna
+, nose
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "moto";
-  version = "1.3.14";
+  version = "1.3.16";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0fm09074qic24h8rw9a0paklygyb7xd0ch4890y4v8lj2pnsxbkr";
+    sha256 = "0zy0prsyip264i6h03lxsn1qg1n3dc8c4iyfawckjqvm24gnns3c";
   };
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "jsondiff==1.1.2" "jsondiff~=1.1"
-    sed -i '/datetime/d' setup.py # should be taken care of by std library
+      --replace "ecdsa<0.15" "ecdsa"
   '';
 
   patches = [
-    # loosen idna upper limit
+    # Remove dependence on boto. The boto library  (long ago superseded by boto3)
+    # has not had an official release in over two years or even a commit in the
+    # last 18 months. These patches should be included in the next moto release
+    # after 1.3.16
+    (fetchpatch {
+      url = "https://github.com/spulec/moto/pull/3503/commits/ae85c539fd57034c4d5cfd0f95af41ff19862dd1.patch";
+      sha256 = "16hr2py6q701d8ih6zcvs3lbanshpbk15ixckgdqngjf160k5m9p";
+      excludes = ["tests/test_ec2/test_ec2_cloudformation.py"];
+    })
     (fetchpatch {
-      url = "https://github.com/spulec/moto/commit/649b497f71cce95a6474a3ff6f3c9c3339efb68f.patch";
-      sha256 = "03qdybzlskgbdadmlcg6ayxfp821b5iaa8q2542cwkcq7msqbbqc";
+      url = "https://github.com/spulec/moto/pull/3468/commits/6ee39bd7fda4d3623569e10dcd9561bf2cd1d0bd.patch";
+      sha256 = "10m3xdqxgys7spav9mkbhcn4z0124rlprwxnw6ysb10610xlna0i";
     })
   ];
 
   propagatedBuildInputs = [
     aws-xray-sdk
-    boto
     boto3
     botocore
     cfn-lint
@@ -72,26 +78,183 @@ buildPythonPackage rec {
     idna
   ] ++ lib.optionals isPy27 [ backports_tempfile ];
 
-  checkInputs = [ boto3 freezegun nose sure parameterized ];
+  # Next release after 1.3.16 will not require `nose`
+  checkInputs = [ boto3 nose freezegun pytestCheckHook sure parameterized ];
 
-  checkPhase = ''
-    nosetests -v ./tests/ \
-              -e test_invoke_function_from_sns \
-              -e test_invoke_requestresponse_function \
-              -e test_context_manager \
-              -e test_decorator_start_and_stop \
-              -e test_invoke_event_function \
-              -e test_invoke_function_from_dynamodb \
-              -e test_invoke_function_from_sqs \
-              -e test_invoke_lambda_error \
-              -e test_invoke_async_function \
-              -e test_passthrough_requests
-  '';
+  # Multiple test files still import boto, rather than boto3 like
+  # boto is long-deprecated and broken on python3.9
+  # https://github.com/spulec/moto/blob/63ce647123755e4c4693a89f52c254596004c098/tests/test_autoscaling/test_autoscaling.py#L2
+  # NOTE: This should change to use disabledTestFiles / disabledTestPaths once that
+  # feature stabalizes: see #113153 (mostly the discussion therein), #113167, #110700
+  pytestFlagsArray = [
+    "--ignore=tests/test_awslambda/test_policy.py"
+    "--ignore=tests/test_autoscaling/test_autoscaling.py"
+    "--ignore=tests/test_autoscaling/test_cloudformation.py"
+    "--ignore=tests/test_autoscaling/test_elbv2.py"
+    "--ignore=tests/test_autoscaling/test_launch_configurations.py"
+    "--ignore=tests/test_autoscaling/test_policies.py"
+    "--ignore=tests/test_autoscaling/test_server.py"
+    "--ignore=tests/test_awslambda/test_lambda.py"
+    "--ignore=tests/test_awslambda/test_lambda_cloudformation.py"
+    "--ignore=tests/test_batch/test_cloudformation.py"
+    "--ignore=tests/test_batch/test_server.py"
+    "--ignore=tests/test_cloudformation/test_cloudformation_depends_on.py"
+    "--ignore=tests/test_cloudformation/test_cloudformation_stack_crud.py"
+    "--ignore=tests/test_cloudformation/test_cloudformation_stack_crud_boto3.py"
+    "--ignore=tests/test_cloudformation/test_cloudformation_stack_integration.py"
+    "--ignore=tests/test_cloudformation/test_stack_parsing.py"
+    "--ignore=tests/test_cloudformation/test_validate.py"
+    "--ignore=tests/test_cloudwatch/test_cloudwatch.py"
+    "--ignore=tests/test_cognitoidentity/test_server.py"
+    "--ignore=tests/test_config/test_config.py"
+    "--ignore=tests/test_core/test_auth.py"
+    "--ignore=tests/test_core/test_decorator_calls.py"
+    "--ignore=tests/test_core/test_nested.py"
+    "--ignore=tests/test_core/test_server.py"
+    "--ignore=tests/test_datapipeline/test_datapipeline.py"
+    "--ignore=tests/test_datapipeline/test_server.py"
+    "--ignore=tests/test_datasync/test_datasync.py"
+    "--ignore=tests/test_dynamodb/test_dynamodb.py"
+    "--ignore=tests/test_dynamodb/test_dynamodb_table_with_range_key.py"
+    "--ignore=tests/test_dynamodb/test_dynamodb_table_without_range_key.py"
+    "--ignore=tests/test_dynamodb/test_server.py"
+    "--ignore=tests/test_dynamodb2/test_dynamodb.py"
+    "--ignore=tests/test_dynamodb2/test_dynamodb_table_with_range_key.py"
+    "--ignore=tests/test_dynamodb2/test_dynamodb_table_without_range_key.py"
+    "--ignore=tests/test_dynamodb2/test_server.py"
+    "--ignore=tests/test_ec2/test_amazon_dev_pay.py"
+    "--ignore=tests/test_ec2/test_amis.py"
+    "--ignore=tests/test_ec2/test_availability_zones_and_regions.py"
+    "--ignore=tests/test_ec2/test_customer_gateways.py"
+    "--ignore=tests/test_ec2/test_dhcp_options.py"
+    "--ignore=tests/test_ec2/test_elastic_block_store.py"
+    "--ignore=tests/test_ec2/test_elastic_ip_addresses.py"
+    "--ignore=tests/test_ec2/test_elastic_network_interfaces.py"
+    "--ignore=tests/test_ec2/test_general.py"
+    "--ignore=tests/test_ec2/test_instances.py"
+    "--ignore=tests/test_ec2/test_internet_gateways.py"
+    "--ignore=tests/test_ec2/test_ip_addresses.py"
+    "--ignore=tests/test_ec2/test_key_pairs.py"
+    "--ignore=tests/test_ec2/test_monitoring.py"
+    "--ignore=tests/test_ec2/test_network_acls.py"
+    "--ignore=tests/test_ec2/test_placement_groups.py"
+    "--ignore=tests/test_ec2/test_regions.py"
+    "--ignore=tests/test_ec2/test_reserved_instances.py"
+    "--ignore=tests/test_ec2/test_route_tables.py"
+    "--ignore=tests/test_ec2/test_security_groups.py"
+    "--ignore=tests/test_ec2/test_spot_instances.py"
+    "--ignore=tests/test_ec2/test_subnets.py"
+    "--ignore=tests/test_ec2/test_tags.py"
+    "--ignore=tests/test_ec2/test_virtual_private_gateways.py"
+    "--ignore=tests/test_ec2/test_vm_export.py"
+    "--ignore=tests/test_ec2/test_vm_import.py"
+    "--ignore=tests/test_ec2/test_vpc_peering.py"
+    "--ignore=tests/test_ec2/test_vpcs.py"
+    "--ignore=tests/test_ec2/test_vpn_connections.py"
+    "--ignore=tests/test_ec2/test_vpn_connections.py"
+    "--ignore=tests/test_ec2/test_windows.py"
+    "--ignore=tests/test_ecs/test_ecs_boto3.py"
+    "--ignore=tests/test_elb/test_elb.py"
+    "--ignore=tests/test_elb/test_server.py"
+    "--ignore=tests/test_elbv2/test_elbv2.py"
+    "--ignore=tests/test_elbv2/test_server.py"
+    "--ignore=tests/test_emr/test_emr.py"
+    "--ignore=tests/test_emr/test_server.py"
+    "--ignore=tests/test_glacier/test_glacier_archives.py"
+    "--ignore=tests/test_glacier/test_glacier_jobs.py"
+    "--ignore=tests/test_glacier/test_glacier_vaults.py"
+    "--ignore=tests/test_iam/test_iam.py"
+    "--ignore=tests/test_iam/test_iam_cloudformation.py"
+    "--ignore=tests/test_iam/test_iam_groups.py"
+    "--ignore=tests/test_iam/test_server.py"
+    "--ignore=tests/test_iot/test_server.py"
+    "--ignore=tests/test_iotdata/test_server.py"
+    "--ignore=tests/test_kinesis/test_kinesis.py"
+    "--ignore=tests/test_kinesis/test_kinesis_cloudformation.py"
+    "--ignore=tests/test_kinesis/test_server.py"
+    "--ignore=tests/test_kinesisvideo/test_server.py"
+    "--ignore=tests/test_kinesisvideoarchivedmedia/test_server.py"
+    "--ignore=tests/test_kms/test_kms.py"
+    "--ignore=tests/test_kms/test_server.py"
+    "--ignore=tests/test_kms/test_utils.py"
+    "--ignore=tests/test_logs/test_logs.py"
+    "--ignore=tests/test_polly/test_server.py"
+    "--ignore=tests/test_rds/test_rds.py"
+    "--ignore=tests/test_rds/test_server.py"
+    "--ignore=tests/test_rds2/test_server.py"
+    "--ignore=tests/test_redshift/test_redshift.py"
+    "--ignore=tests/test_redshift/test_server.py"
+    "--ignore=tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py"
+    "--ignore=tests/test_route53/test_route53.py"
+    "--ignore=tests/test_s3/test_s3.py"
+    "--ignore=tests/test_s3/test_s3_cloudformation.py"
+    "--ignore=tests/test_s3/test_s3_lifecycle.py"
+    "--ignore=tests/test_s3/test_s3_storageclass.py"
+    "--ignore=tests/test_s3/test_s3_utils.py"
+    "--ignore=tests/test_s3bucket_path/test_s3bucket_path.py"
+    "--ignore=tests/test_s3bucket_path/test_s3bucket_path_combo.py"
+    "--ignore=tests/test_secretsmanager/test_server.py"
+    "--ignore=tests/test_ses/test_server.py"
+    "--ignore=tests/test_ses/test_ses.py"
+    "--ignore=tests/test_ses/test_ses_boto3.py"
+    "--ignore=tests/test_ses/test_ses_sns_boto3.py"
+    "--ignore=tests/test_sns/test_application.py"
+    "--ignore=tests/test_sns/test_application_boto3.py"
+    "--ignore=tests/test_sns/test_publishing.py"
+    "--ignore=tests/test_sns/test_publishing_boto3.py"
+    "--ignore=tests/test_sns/test_server.py"
+    "--ignore=tests/test_sns/test_subscriptions.py"
+    "--ignore=tests/test_sns/test_subscriptions_boto3.py"
+    "--ignore=tests/test_sns/test_topics.py"
+    "--ignore=tests/test_sns/test_topics_boto3.py"
+    "--ignore=tests/test_sqs/test_server.py"
+    "--ignore=tests/test_sqs/test_sqs.py"
+    "--ignore=tests/test_ssm/test_ssm_boto3.py"
+    "--ignore=tests/test_ssm/test_ssm_docs.py"
+    "--ignore=tests/test_sts/test_server.py"
+    "--ignore=tests/test_sts/test_sts.py"
+    "--ignore=tests/test_swf/models/test_activity_task.py"
+    "--ignore=tests/test_swf/models/test_decision_task.py"
+    "--ignore=tests/test_swf/models/test_timeout.py"
+    "--ignore=tests/test_swf/models/test_workflow_execution.py"
+    "--ignore=tests/test_swf/responses/test_activity_tasks.py"
+    "--ignore=tests/test_swf/responses/test_activity_types.py"
+    "--ignore=tests/test_swf/responses/test_decision_tasks.py"
+    "--ignore=tests/test_swf/responses/test_domains.py"
+    "--ignore=tests/test_swf/responses/test_timeouts.py"
+    "--ignore=tests/test_swf/responses/test_workflow_executions.py"
+    "--ignore=tests/test_swf/responses/test_workflow_types.py"
+  ];
 
-  # Disabling because of 20 failing tests due to https://github.com/spulec/moto/issues/2728
-  # We should enable these as soon as possible again though. Note the issue
-  # is unrelated to the docutils 0.16 bump.
-  doCheck = false;
+  disabledTests = [
+    # these tests rely on the network
+    "test_server"
+    "test_managedblockchain_nodes"
+    "test_swf"
+    "test_simple_instance"
+    "test_passthrough_requests"
+    "test_s3_server_get"
+    "test_s3_server_bucket_create"
+    "test_s3_server_post_to_bucket"
+    "test_s3_server_put_ipv6"
+    "test_s3_server_put_ipv4"
+    "test_http_proxying_integration"
+    "test_submit_job_by_name"
+    "test_submit_job"
+    "test_list_jobs"
+    "test_terminate_job"
+    "test_idtoken_contains_kid_header"
+    "test_latest_meta_data"
+    "test_meta_data_iam"
+    "test_meta_data_security_credentials"
+    "test_meta_data_default_role"
+    "test_reset_api"
+    "test_data_api"
+    "test_requests_to_amazon_subdomains_dont_work"
+    "test_get_records_seq"
+    "test_stream_with_range_key"
+    "test_create_notebook_instance_bad_volume_size"
+  ];
 
   meta = with lib; {
     description = "Allows your tests to easily mock out AWS Services";
diff --git a/pkgs/development/python-modules/mpd2/default.nix b/pkgs/development/python-modules/mpd2/default.nix
index 031f26c49972d..8d17d8b3b0cfc 100644
--- a/pkgs/development/python-modules/mpd2/default.nix
+++ b/pkgs/development/python-modules/mpd2/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "python-mpd2";
-  version = "3.0.3";
+  version = "3.0.4";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ikvn2qv6cnbjscpbk6hhsqg34h832mxgg6hp1mf4d8d6nwdx4sn";
+    sha256 = "1r8saq1460yfa0sxfrvxqs2r453wz2xchlc9gzbpqznr49786rvs";
   };
 
   buildInputs = [ mock ];
diff --git a/pkgs/development/python-modules/msldap/default.nix b/pkgs/development/python-modules/msldap/default.nix
index ea2ae26c96bc2..2a57f2babeee8 100644
--- a/pkgs/development/python-modules/msldap/default.nix
+++ b/pkgs/development/python-modules/msldap/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "msldap";
-  version = "0.3.24";
+  version = "0.3.26";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0q9bhw0lfw9iykjdsqz62ipy3ihfz6kprzw5sc7v1678l2pvs84j";
+    sha256 = "sha256-cW1757NImdi5tz98qrspzEdI5Q/26ap2jVxyah44qR8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/myfitnesspal/default.nix b/pkgs/development/python-modules/myfitnesspal/default.nix
index 0638ce5d1ee5c..35d1c70a23a7d 100644
--- a/pkgs/development/python-modules/myfitnesspal/default.nix
+++ b/pkgs/development/python-modules/myfitnesspal/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "myfitnesspal";
-  version = "1.16.1";
+  version = "1.16.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c2275e91c794a3569a76c47c78cf2ff04d7f569a98558227e899ead7b30af0d6";
+    sha256 = "44b31623fd71fedd891c3f66be3bc1caa6f1caf88076a75236ab74f8807f6ae5";
   };
 
   # Remove overly restrictive version constraints
diff --git a/pkgs/development/python-modules/nbconflux/default.nix b/pkgs/development/python-modules/nbconflux/default.nix
index 4e443a377eda7..42d9ae3cf389b 100644
--- a/pkgs/development/python-modules/nbconflux/default.nix
+++ b/pkgs/development/python-modules/nbconflux/default.nix
@@ -1,4 +1,12 @@
-{ lib, buildPythonPackage, fetchFromGitHub, isPy27, nbconvert, pytest, requests, responses }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, isPy27
+, nbconvert
+, pytestCheckHook
+, requests
+, responses
+}:
 
 buildPythonPackage rec {
   pname = "nbconflux";
@@ -14,11 +22,13 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ nbconvert requests ];
 
-  checkInputs = [ pytest responses ];
+  checkInputs = [ pytestCheckHook responses ];
 
-  checkPhase = ''
-    pytest tests
-  '';
+  JUPYTER_PATH="${nbconvert}/share/jupyter";
+  disabledTests = [
+    "test_post_to_confluence"
+    "test_optional_components"
+  ];
 
   meta = with lib; {
     description = "Converts Jupyter Notebooks to Atlassian Confluence (R) pages using nbconvert";
diff --git a/pkgs/development/python-modules/nbdime/default.nix b/pkgs/development/python-modules/nbdime/default.nix
index 1de21f3511a40..66e1edd939083 100644
--- a/pkgs/development/python-modules/nbdime/default.nix
+++ b/pkgs/development/python-modules/nbdime/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, callPackage, isPy3k
+{ lib, buildPythonPackage, fetchPypi, isPy3k
 , hypothesis
 , setuptools_scm
 , six
@@ -12,7 +12,7 @@
 , tabulate
 , nbformat
 , jsonschema
-, pytest
+, pytestCheckHook
 , colorama
 , pygments
 , tornado
@@ -40,7 +40,16 @@ buildPythonPackage rec {
     jsonschema
     mock
     tabulate
-    pytest
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    "test_apply_filter_no_repo"
+    "test_diff_api_checkpoint"
+    "test_filter_cmd_invalid_filter"
+    "test_inline_merge"
+    "test_interrogate_filter_no_repo"
+    "test_merge"
   ];
 
   nativeBuildInputs = [ setuptools_scm ];
diff --git a/pkgs/development/python-modules/nbformat/default.nix b/pkgs/development/python-modules/nbformat/default.nix
index 3bd119179a452..a3143780e1c79 100644
--- a/pkgs/development/python-modules/nbformat/default.nix
+++ b/pkgs/development/python-modules/nbformat/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "nbformat";
-  version = "5.0.8";
+  version = "5.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f545b22138865bfbcc6b1ffe89ed5a2b8e2dc5d4fe876f2ca60d8e6f702a30f8";
+    sha256 = "sha256-HSI+ZKGL+nzfLbLpuoqBgxL8KgcB0ukQtY32aAk4WlY=";
   };
 
   LC_ALL="en_US.utf8";
diff --git a/pkgs/development/python-modules/nbsmoke/default.nix b/pkgs/development/python-modules/nbsmoke/default.nix
index b7ddf35caec61..86c5afd8c4a7f 100644
--- a/pkgs/development/python-modules/nbsmoke/default.nix
+++ b/pkgs/development/python-modules/nbsmoke/default.nix
@@ -35,6 +35,7 @@ buildPythonPackage rec {
 
   # tests not included with pypi release
   doCheck = false;
+  pythonImportsCheck = [ "nbsmoke" ];
 
   meta = with lib; {
     description = "Basic notebook checks and linting";
diff --git a/pkgs/development/python-modules/nbsphinx/default.nix b/pkgs/development/python-modules/nbsphinx/default.nix
index fb5eb6cbf7c9f..2622b815f1eed 100644
--- a/pkgs/development/python-modules/nbsphinx/default.nix
+++ b/pkgs/development/python-modules/nbsphinx/default.nix
@@ -7,17 +7,16 @@
 , nbformat
 , sphinx
 , traitlets
-, python
 , isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "nbsphinx";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "369c16fe93af14c878d61fb3e81d838196fb35b27deade2cd7b95efe1fe56ea0";
+    sha256 = "19lf036h0d9ryqasrh91myhn3dq5zcw4rik9jy6sayq7l6irmm94";
   };
 
   propagatedBuildInputs = [
@@ -29,9 +28,13 @@ buildPythonPackage rec {
     traitlets
   ];
 
-  checkPhase = ''
-    ${python.interpreter} -m nbsphinx
-  '';
+  # The package has not tests
+  doCheck = false;
+
+  JUPYTER_PATH = "${nbconvert}/share/jupyter";
+  pythonImportsCheck = [
+    "nbsphinx"
+  ];
 
   disabled = !isPy3k;
 
diff --git a/pkgs/development/python-modules/nbxmpp/default.nix b/pkgs/development/python-modules/nbxmpp/default.nix
index 3826a746758f0..531232bf8e6eb 100644
--- a/pkgs/development/python-modules/nbxmpp/default.nix
+++ b/pkgs/development/python-modules/nbxmpp/default.nix
@@ -15,8 +15,7 @@ in buildPythonPackage {
   };
 
   buildInputs = [ precis-i18n ];
-  checkInputs = [ gobject-introspection libsoup pygobject3 ];
-  propagatedBuildInputs = [ idna pyopenssl ];
+  propagatedBuildInputs = [ gobject-introspection idna libsoup pygobject3 pyopenssl ];
 
   meta = with lib; {
     homepage = "https://dev.gajim.org/gajim/python-nbxmpp";
diff --git a/pkgs/development/python-modules/ndjson/default.nix b/pkgs/development/python-modules/ndjson/default.nix
index 175b04d310743..715a1989b4558 100644
--- a/pkgs/development/python-modules/ndjson/default.nix
+++ b/pkgs/development/python-modules/ndjson/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, wheel, watchdog, flake8
+{ lib, buildPythonPackage, fetchPypi, watchdog, flake8
 , pytest, pytestrunner, coverage, sphinx, twine }:
 
 buildPythonPackage rec {
diff --git a/pkgs/development/python-modules/netifaces/default.nix b/pkgs/development/python-modules/netifaces/default.nix
index f7638b29a4c20..b7b28c678ee3d 100644
--- a/pkgs/development/python-modules/netifaces/default.nix
+++ b/pkgs/development/python-modules/netifaces/default.nix
@@ -12,6 +12,10 @@ buildPythonPackage rec {
     sha256 = "2dee9ffdd16292878336a58d04a20f0ffe95555465fee7c9bd23b3490ef2abf3";
   };
 
+  doCheck = false; # no tests implemented
+
+  pythonImportsCheck = [ "netifaces" ];
+
   meta = with lib; {
     homepage = "https://alastairs-place.net/projects/netifaces/";
     description = "Portable access to network interfaces from Python";
diff --git a/pkgs/development/python-modules/nmigen-boards/default.nix b/pkgs/development/python-modules/nmigen-boards/default.nix
index 55f70f74db94a..cb7d57f75307e 100644
--- a/pkgs/development/python-modules/nmigen-boards/default.nix
+++ b/pkgs/development/python-modules/nmigen-boards/default.nix
@@ -8,15 +8,15 @@
 
 buildPythonPackage rec {
   pname = "nmigen-boards";
-  version = "unstable-2020-02-06";
+  version = "unstable-2021-02-09";
   # python setup.py --version
-  realVersion = "0.1.dev92+g${lib.substring 0 7 src.rev}";
+  realVersion = "0.1.dev173+g${lib.substring 0 7 src.rev}";
 
   src = fetchFromGitHub {
     owner = "nmigen";
     repo = "nmigen-boards";
-    rev = "f37fe0295035db5f1bf82ed086b2eb349ab3a530";
-    sha256 = "16112ahil100anfwggj64nyrj3pf7mngwrjyqyhf2ggxx9ir24cc";
+    rev = "a35d870a994c2919116b2c06166dc127febb1512";
+    sha256 = "1flbcyb2xz174dgqv2964qra80xj2vbzbqwjb27shvxm6knj9ikf";
   };
 
   nativeBuildInputs = [ setuptools_scm ];
@@ -26,6 +26,9 @@ buildPythonPackage rec {
     export SETUPTOOLS_SCM_PRETEND_VERSION="${realVersion}"
   '';
 
+  # no tests
+  doCheck = false;
+
   meta = with lib; {
     description = "Board and connector definitions for nMigen";
     homepage = "https://github.com/nmigen/nmigen-boards";
diff --git a/pkgs/development/python-modules/nmigen-soc/default.nix b/pkgs/development/python-modules/nmigen-soc/default.nix
index 4c15e65e62b29..b987557d5f687 100644
--- a/pkgs/development/python-modules/nmigen-soc/default.nix
+++ b/pkgs/development/python-modules/nmigen-soc/default.nix
@@ -8,15 +8,15 @@
 
 buildPythonPackage rec {
   pname = "nmigen-soc";
-  version = "unstable-2020-02-08";
+  version = "unstable-2021-02-09";
   # python setup.py --version
-  realVersion = "0.1.dev24+g${lib.substring 0 7 src.rev}";
+  realVersion = "0.1.dev43+g${lib.substring 0 7 src.rev}";
 
   src = fetchFromGitHub {
     owner = "nmigen";
     repo = "nmigen-soc";
-    rev = "f1b009c7e075bca461d10ec963a7eaa3bf4dfc14";
-    sha256 = "04kjaq9qp6ac3h0r1wlb4jyz56bb52l1rikmz1x7azvnr10xhrad";
+    rev = "ecfad4d9abacf903a525f0a252c38844eda0d2dd";
+    sha256 = "0afmnfs1ms7p1r4c1nc0sfvlcq36zjwaim7775v5i2vajcn3020c";
   };
 
   nativeBuildInputs = [ setuptools_scm ];
diff --git a/pkgs/development/python-modules/nmigen/default.nix b/pkgs/development/python-modules/nmigen/default.nix
index 4a2327bf9288d..1e38a087bce4c 100644
--- a/pkgs/development/python-modules/nmigen/default.nix
+++ b/pkgs/development/python-modules/nmigen/default.nix
@@ -6,6 +6,8 @@
 , setuptools_scm
 , pyvcd
 , jinja2
+, importlib-resources
+, importlib-metadata
 
 # for tests
 , pytestCheckHook
@@ -16,21 +18,27 @@
 
 buildPythonPackage rec {
   pname = "nmigen";
-  version = "unstable-2020-04-02";
+  version = "unstable-2021-02-09";
   # python setup.py --version
-  realVersion = "0.2.dev49+g${lib.substring 0 7 src.rev}";
+  realVersion = "0.3.dev243+g${lib.substring 0 7 src.rev}";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "nmigen";
     repo = "nmigen";
-    rev = "c79caead33fff14e2dec42b7e21d571a02526876";
-    sha256 = "sha256-3+mxHyg0a92/BfyePtKT5Hsk+ra+fQzTjCJ2Ech44/s=";
+    rev = "f7c2b9419f9de450be76a0e9cf681931295df65f";
+    sha256 = "0cjs9wgmxa76xqmjhsw4fsb2mhgvd85jgs2mrjxqp6fwp8rlgnl1";
   };
 
   nativeBuildInputs = [ setuptools_scm ];
 
-  propagatedBuildInputs = [ setuptools pyvcd jinja2 ];
+  propagatedBuildInputs = [
+    setuptools
+    pyvcd
+    jinja2
+  ] ++
+    lib.optional (pythonOlder "3.9") importlib-resources ++
+    lib.optional (pythonOlder "3.8") importlib-metadata;
 
   checkInputs = [ pytestCheckHook yosys symbiyosys yices ];
 
@@ -38,13 +46,6 @@ buildPythonPackage rec {
     export SETUPTOOLS_SCM_PRETEND_VERSION="${realVersion}"
   '';
 
-  # Fail b/c can't find sby (symbiyosys) executable, which should be on path.
-  disabledTests = [
-    "test_distance"
-    "test_reversible"
-    "FIFOFormalCase"
-  ];
-
   meta = with lib; {
     description = "A refreshed Python toolbox for building complex digital hardware";
     homepage = "https://nmigen.info/nmigen";
diff --git a/pkgs/development/python-modules/nocasedict/default.nix b/pkgs/development/python-modules/nocasedict/default.nix
index ffa761f206e33..a9cb021a84135 100644
--- a/pkgs/development/python-modules/nocasedict/default.nix
+++ b/pkgs/development/python-modules/nocasedict/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "nocasedict";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bl1b0R3jP5PSJUXZ7SOguY+EDyzawNdJ0vqkYXrcd3I=";
+    sha256 = "86e2dae49e34de7c31b65b486c8f9aa58b66dc2e8ee9b34c390c6c58885c85a0";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/nose2/default.nix b/pkgs/development/python-modules/nose2/default.nix
index 29ea73619ff10..004991e1ce9dc 100644
--- a/pkgs/development/python-modules/nose2/default.nix
+++ b/pkgs/development/python-modules/nose2/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
 , six
 , pythonOlder
 , coverage
@@ -8,20 +9,21 @@
 
 buildPythonPackage rec {
   pname = "nose2";
-  version = "0.9.2";
+  version = "0.10.0";
 
   # Requires mock 2.0.0 if python < 3.6, but NixPkgs has mock 3.0.5.
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0pmbb6nk31yhgh4zkcblzxsznml7f7pf5q1ihgrwvbxv4mwzfql7";
+    sha256 = "886ba617a96de0130c54b24479bd5c2d74d5c940d40f3809c3a275511a0c4a60";
   };
 
   propagatedBuildInputs = [ six coverage ];
 
-  # AttributeError: 'module' object has no attribute 'collector'
-  doCheck = false;
+  checkPhase = ''
+    ${python.interpreter} -m unittest
+  '';
 
   meta = with lib; {
     description = "nose2 is the next generation of nicer testing for Python";
diff --git a/pkgs/development/python-modules/notebook/default.nix b/pkgs/development/python-modules/notebook/default.nix
index bab3aa590ec67..926dd3698c621 100644
--- a/pkgs/development/python-modules/notebook/default.nix
+++ b/pkgs/development/python-modules/notebook/default.nix
@@ -12,7 +12,6 @@
 , tornado
 , ipython_genutils
 , traitlets
-, jupyter
 , jupyter_core
 , jupyter_client
 , nbformat
diff --git a/pkgs/development/python-modules/npyscreen/default.nix b/pkgs/development/python-modules/npyscreen/default.nix
new file mode 100644
index 0000000000000..1e93d54b3a298
--- /dev/null
+++ b/pkgs/development/python-modules/npyscreen/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "npyscreen";
+  version = "4.10.5";
+
+  src = fetchPypi {
+   inherit pname version;
+   sha256 = "0vhjwn0dan3zmffvh80dxb4x67jysvvf1imp6pk4dsfslpwy0bk2";
+  };
+
+  # Tests are outdated
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Framework for developing console applications using Python and curses";
+    homepage = "http://www.npcole.com/npyscreen/";
+    maintainers = with maintainers; [ dump_stack ];
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/numba/default.nix b/pkgs/development/python-modules/numba/default.nix
index aa08ead2d9716..3f67c044deab3 100644
--- a/pkgs/development/python-modules/numba/default.nix
+++ b/pkgs/development/python-modules/numba/default.nix
@@ -4,12 +4,9 @@
 , fetchPypi
 , python
 , buildPythonPackage
-, isPy27
-, isPy3k
 , numpy
 , llvmlite
-, funcsigs
-, singledispatch
+, setuptools
 , libcxx
 }:
 
@@ -26,9 +23,8 @@ buildPythonPackage rec {
 
   NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1";
 
-  propagatedBuildInputs = [numpy llvmlite]
-    ++ lib.optionals isPy27 [ funcsigs singledispatch];
-
+  propagatedBuildInputs = [ numpy llvmlite setuptools ];
+  pythonImportsCheck = [ "numba" ];
   # Copy test script into $out and run the test suite.
   checkPhase = ''
     ${python.interpreter} -m numba.runtests
diff --git a/pkgs/development/python-modules/numpy-stl/default.nix b/pkgs/development/python-modules/numpy-stl/default.nix
index cb43084556e81..2176b5f949792 100644
--- a/pkgs/development/python-modules/numpy-stl/default.nix
+++ b/pkgs/development/python-modules/numpy-stl/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "numpy-stl";
-  version = "2.13.0";
+  version = "2.15.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "648386e6cdad3218adc4e3e6a349bee41c55a61980dace616c05d6a31e8c652d";
+    sha256 = "f57fdb3c0e420f729dbe54ec3add9bdbbd19b62183aa8f4576e00e5834b2ef52";
   };
 
   checkInputs = [ pytest pytestrunner ];
diff --git a/pkgs/development/python-modules/nunavut/default.nix b/pkgs/development/python-modules/nunavut/default.nix
index 8b2943ba363a8..63b5214b27bad 100644
--- a/pkgs/development/python-modules/nunavut/default.nix
+++ b/pkgs/development/python-modules/nunavut/default.nix
@@ -1,13 +1,18 @@
-{ lib, buildPythonPackage, pythonOlder, fetchPypi, pydsdl }:
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, pydsdl
+}:
 
  buildPythonPackage rec {
   pname = "nunavut";
-  version = "0.6.2";
+  version = "1.0.1";
   disabled = pythonOlder "3.5"; # only python>=3.5 is supported
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "48b6802722d78542ca5d7bbc0d6aa9b0a31e1be0070c47b41527f227eb6a1443";
+    sha256 = "1gvs3fx2l15y5ffqsxxjfa4p1ydaqbq7qp5nsgb8jbz871358jxm";
   };
 
   propagatedBuildInputs = [
@@ -19,7 +24,10 @@
     export HOME=$TMPDIR
   '';
 
-  # repo doesn't contain tests, ensure imports aren't broken
+  # No tests in pypy package and no git tags yet for release versions, see
+  # https://github.com/UAVCAN/nunavut/issues/182
+  doCheck = false;
+
   pythonImportsCheck = [
     "nunavut"
   ];
diff --git a/pkgs/development/python-modules/oauthenticator/default.nix b/pkgs/development/python-modules/oauthenticator/default.nix
index 2394e32403f9c..234c4edd1ae7c 100644
--- a/pkgs/development/python-modules/oauthenticator/default.nix
+++ b/pkgs/development/python-modules/oauthenticator/default.nix
@@ -1,41 +1,42 @@
 { lib
 , buildPythonPackage
+, pythonOlder
+, fetchPypi
+, google_api_python_client
+, google-auth-oauthlib
 , jupyterhub
-, globus-sdk
 , mwoauth
-, codecov
-, flake8
 , pyjwt
-, pytest
-, pytestcov
-, pytest-tornado
+, pytest-asyncio
+, pytestCheckHook
 , requests-mock
-, pythonOlder
-, fetchPypi
 }:
 
 buildPythonPackage rec {
   pname = "oauthenticator";
-  version = "0.12.3";
+  version = "0.13.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f86e18e954ae37796ee149fe01ab0be0707d9e0415d62336ba3447e7b4383461";
+    sha256 = "5202adcd96ddbbccbc267da02f2d14e977300c81291aaa77be4fd9f2e27cfa37";
   };
 
-  checkPhase = ''
-    py.test oauthenticator/tests
-  '';
-
-  # No tests in archive
-  doCheck = false;
-
-  checkInputs = [  globus-sdk mwoauth codecov flake8 pytest
-    pytestcov pytest-tornado requests-mock pyjwt ];
-
-  propagatedBuildInputs = [ jupyterhub ];
-
-  disabled = pythonOlder "3.4";
+  propagatedBuildInputs = [
+    jupyterhub
+  ];
+
+  pytestFlagsArray = [ "oauthenticator/tests" ];
+
+  checkInputs = [
+    google_api_python_client
+    google-auth-oauthlib
+    mwoauth
+    pyjwt
+    pytest-asyncio
+    pytestCheckHook
+    requests-mock
+  ];
 
   meta = with lib; {
     description = "Authenticate JupyterHub users with common OAuth providers, including GitHub, Bitbucket, and more.";
diff --git a/pkgs/development/python-modules/onnx/default.nix b/pkgs/development/python-modules/onnx/default.nix
index 278d7c1df0467..95e67c58d55ef 100644
--- a/pkgs/development/python-modules/onnx/default.nix
+++ b/pkgs/development/python-modules/onnx/default.nix
@@ -1,5 +1,4 @@
 { lib
-, fetchpatch
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
diff --git a/pkgs/development/python-modules/openrouteservice/default.nix b/pkgs/development/python-modules/openrouteservice/default.nix
index c35405f417b22..cae450a9af33d 100644
--- a/pkgs/development/python-modules/openrouteservice/default.nix
+++ b/pkgs/development/python-modules/openrouteservice/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "openrouteservice";
-  version = "2.3.0";
+  version = "2.3.3";
 
   src = fetchFromGitHub {
     owner = "GIScience";
     repo = "${pname}-py";
     rev = "v${version}";
-    sha256 = "ySXzOQI9NcF1W/otbL7i3AY628/74ZkJjDMQ9ywVEPc=";
+    sha256 = "1d5qbygb81fhpwfdm1a118r3xv45xz9n9avfkgxkvw1n8y6ywz2q";
   };
 
   checkInputs = [ pytestCheckHook responses ];
diff --git a/pkgs/development/python-modules/osmnx/default.nix b/pkgs/development/python-modules/osmnx/default.nix
index e1c22ddbfa3c0..3cd420c7491f9 100755
--- a/pkgs/development/python-modules/osmnx/default.nix
+++ b/pkgs/development/python-modules/osmnx/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchFromGitHub, geopandas, descartes, matplotlib, networkx, numpy
-, pandas, requests, Rtree, shapely, pytest, coverage, coveralls, folium, scikitlearn, scipy}:
+, pandas, requests, Rtree, shapely, folium, scikitlearn, scipy}:
 
 buildPythonPackage rec {
   pname = "osmnx";
@@ -14,14 +14,9 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ geopandas descartes matplotlib networkx numpy pandas requests Rtree shapely folium scikitlearn scipy ];
 
-  checkInputs = [ coverage pytest coveralls ];
-  #Fails when using sandboxing as it requires internet connection, works fine without it
+  # requires network
   doCheck = false;
-
-  #Check phase for the record
-  #checkPhase = ''
-  #  coverage run --source osmnx -m pytest --verbose
-  #'';
+  pythonImportsCheck = [ "osmnx" ];
 
   meta = with lib; {
     description = "A package to easily download, construct, project, visualize, and analyze complex street networks from OpenStreetMap with NetworkX.";
diff --git a/pkgs/development/python-modules/osmpythontools/default.nix b/pkgs/development/python-modules/osmpythontools/default.nix
index 981feb3880837..3cb0bc49e724b 100644
--- a/pkgs/development/python-modules/osmpythontools/default.nix
+++ b/pkgs/development/python-modules/osmpythontools/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , beautifulsoup4
 , geojson
 , lxml
@@ -13,14 +13,19 @@
 
 buildPythonPackage rec {
   pname = "osmpythontools";
-  version = "0.2.8";
+  version = "0.3.0";
 
-  src = fetchPypi {
-    pname = "OSMPythonTools";
-    inherit version;
-    sha256 = "8a33adbd266127e342d12da755075fae08f398032a6f0909b5e86bef13960a85";
+  src = fetchFromGitHub {
+    owner = "mocnik-science";
+    repo = "osm-python-tools";
+    rev = "v${version}";
+    sha256 = "0r72z7f7kmvvbd9zvgci8rwmfj85xj34mb3x5dj3jcv5ij5j72yh";
   };
 
+  # Upstream setup.py has test dependencies in `install_requires` argument.
+  # Remove them, as we don't run the tests.
+  patches = [ ./remove-test-only-dependencies.patch ];
+
   propagatedBuildInputs = [
     beautifulsoup4
     geojson
@@ -32,7 +37,7 @@ buildPythonPackage rec {
     xarray
   ];
 
-  # no tests included
+  # tests touch network
   doCheck = false;
 
   pythonImportsCheck = [
@@ -52,7 +57,7 @@ buildPythonPackage rec {
       Nominatim, and the OpenStreetMap editing API.
     '';
     homepage = "https://github.com/mocnik-science/osm-python-tools";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     maintainers = with maintainers; [ das-g ];
   };
 }
diff --git a/pkgs/development/python-modules/osmpythontools/remove-test-only-dependencies.patch b/pkgs/development/python-modules/osmpythontools/remove-test-only-dependencies.patch
new file mode 100644
index 0000000000000..c12a96622ebdd
--- /dev/null
+++ b/pkgs/development/python-modules/osmpythontools/remove-test-only-dependencies.patch
@@ -0,0 +1,13 @@
+diff --git a/setup.py b/setup.py
+index 801d081..6d93128 100644
+--- a/setup.py
++++ b/setup.py
+@@ -19,8 +19,6 @@ setup(
+         'matplotlib',
+         'numpy',
+         'pandas',
+-        'pytest',
+-        'pytest-sugar',
+         'ujson',
+         'xarray',
+     ],
diff --git a/pkgs/development/python-modules/ovito/default.nix b/pkgs/development/python-modules/ovito/default.nix
deleted file mode 100644
index a33e5d19b44e6..0000000000000
--- a/pkgs/development/python-modules/ovito/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib, stdenv
-, fetchFromGitLab
-, cmake
-, ffmpeg
-, netcdf
-, qscintilla
-, zlib
-, boost
-, git
-, fftw
-, hdf5
-, libssh
-, qt5
-, python
-}:
-
-stdenv.mkDerivation rec {
-  version = "3.3.5";
-  pname = "ovito";
-
-  src = fetchFromGitLab {
-    owner = "stuko";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "2tptLK0RU0afSFFE7uzL8bZ5j+nyRyh97ujJAHFh0wQ=";
-  };
-
-  nativeBuildInputs = [ cmake git ];
-  buildInputs = [ ffmpeg netcdf qscintilla zlib boost zlib fftw hdf5 libssh qt5.qtbase qt5.qtsvg ];
-
-  propagatedBuildInputs = with python.pkgs; [ sphinx numpy sip pyqt5 matplotlib ase ];
-
-  meta = with lib; {
-    description = "Scientific visualization and analysis software for atomistic simulation data";
-    homepage = "https://www.ovito.org";
-    license = with licenses; [ gpl3Only mit ];
-    maintainers = with maintainers; [ costrouc ];
-    # ensures not built on hydra
-    # https://github.com/NixOS/nixpkgs/pull/46846#issuecomment-436388048
-    hydraPlatforms = [ ];
-  };
-}
diff --git a/pkgs/development/python-modules/pandas-datareader/default.nix b/pkgs/development/python-modules/pandas-datareader/default.nix
index ea0ba44e99daa..d4aa1551bedc1 100644
--- a/pkgs/development/python-modules/pandas-datareader/default.nix
+++ b/pkgs/development/python-modules/pandas-datareader/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pytestCheckHook
 , isPy27
 , pandas
 , lxml
diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix
index ab70a7782adf9..832297c979dee 100644
--- a/pkgs/development/python-modules/pandas/default.nix
+++ b/pkgs/development/python-modules/pandas/default.nix
@@ -20,7 +20,6 @@
 # Test Inputs
 , glibcLocales
 , hypothesis
-, moto
 , pytestCheckHook
 # Darwin inputs
 , runtimeShell
@@ -35,6 +34,8 @@ buildPythonPackage rec {
     inherit pname version;
     sha256 = "06vhk75hmzgv1sfbjzgnsw9x10h7y6bd6s6z7d6lfnn7wcgc83zi";
   };
+  # See https://github.com/scipy/scipy/issues/13585 and https://github.com/pandas-dev/pandas/pull/40020
+  patches = [ ./fix-tests.patch ];
 
   nativeBuildInputs = [ cython ];
   buildInputs = lib.optional stdenv.isDarwin libcxx;
@@ -54,22 +55,12 @@ buildPythonPackage rec {
     xlwt
   ];
 
-  checkInputs = [ pytestCheckHook glibcLocales moto hypothesis ];
+  checkInputs = [ pytestCheckHook glibcLocales hypothesis ];
 
   # doesn't work with -Werror,-Wunused-command-line-argument
   # https://github.com/NixOS/nixpkgs/issues/39687
   hardeningDisable = lib.optional stdenv.cc.isClang "strictoverflow";
 
-  # For OSX, we need to add a dependency on libcxx, which provides
-  # `complex.h` and other libraries that pandas depends on to build.
-  postPatch = lib.optionalString stdenv.isDarwin ''
-    cpp_sdk="${libcxx}/include/c++/v1";
-    echo "Adding $cpp_sdk to the setup.py common_include variable"
-    substituteInPlace setup.py \
-      --replace "['pandas/src/klib', 'pandas/src']" \
-                "['pandas/src/klib', 'pandas/src', '$cpp_sdk']"
-  '';
-
   # Parallel Cythonization is broken in Python 3.8 on Darwin. Fixed in the next
   # release. https://github.com/pandas-dev/pandas/pull/30862
   setupPyBuildFlags = lib.optionals (!(isPy38 && stdenv.isDarwin)) [
diff --git a/pkgs/development/python-modules/pandas/fix-tests.patch b/pkgs/development/python-modules/pandas/fix-tests.patch
new file mode 100644
index 0000000000000..8051cfec39aee
--- /dev/null
+++ b/pkgs/development/python-modules/pandas/fix-tests.patch
@@ -0,0 +1,12 @@
+diff --color -ur a/pandas/tests/arrays/sparse/test_array.py b/pandas/tests/arrays/sparse/test_array.py
+--- a/pandas/tests/arrays/sparse/test_array.py	2020-12-07 12:42:08.000000000 +0100
++++ b/pandas/tests/arrays/sparse/test_array.py	2021-02-27 21:48:16.483903149 +0100
+@@ -1188,7 +1188,7 @@
+         row = [0, 3, 1, 0]
+         col = [0, 3, 1, 2]
+         data = [4, 5, 7, 9]
+-        sp_array = scipy.sparse.coo_matrix((data, (row, col)))
++        sp_array = scipy.sparse.coo_matrix((data, (row, col)), dtype="int")
+         result = pd.Series.sparse.from_coo(sp_array)
+ 
+         index = pd.MultiIndex.from_arrays([[0, 0, 1, 3], [0, 2, 1, 3]])
diff --git a/pkgs/development/python-modules/panflute/default.nix b/pkgs/development/python-modules/panflute/default.nix
new file mode 100644
index 0000000000000..da08b858b1b9e
--- /dev/null
+++ b/pkgs/development/python-modules/panflute/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, fetchPypi
+, click
+, pyyaml
+, buildPythonPackage
+, isPy3k
+}:
+
+buildPythonPackage rec{
+  version = "2.0.5";
+  pname = "panflute";
+
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1ssmqcyr91f0gpl49lz6a9jkl17l06h6qcik24rlmva28ii6aszz";
+  };
+
+  propagatedBuildInputs = [ click pyyaml ];
+
+  meta = with lib; {
+    description = "A Pythonic alternative to John MacFarlane's pandocfilters, with extra helper functions";
+    homepage = "http://scorreia.com/software/panflute";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ synthetica ];
+  };
+}
diff --git a/pkgs/development/python-modules/papermill/default.nix b/pkgs/development/python-modules/papermill/default.nix
index 56536de8446bd..0311e783d3970 100644
--- a/pkgs/development/python-modules/papermill/default.nix
+++ b/pkgs/development/python-modules/papermill/default.nix
@@ -25,11 +25,11 @@
 
 buildPythonPackage rec {
   pname = "papermill";
-  version = "2.2.2";
+  version = "2.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c452b1c5a9ab52b94c99d8b7705ae7173f6aa88a3d28a5d30cffba48a46f5b6";
+    sha256 = "sha256-ptwZXypS9b7Y1CkszqOa8PMzgyS+r9VikPlhbJUDNiM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/paperspace/default.nix b/pkgs/development/python-modules/paperspace/default.nix
deleted file mode 100644
index 86dbffd76b760..0000000000000
--- a/pkgs/development/python-modules/paperspace/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib, fetchPypi, buildPythonPackage
-, boto3, requests, gradient_statsd, terminaltables
-, click-completion , click-didyoumean, click-help-colors
-, colorama, requests_toolbelt, gradient_sdk, progressbar2
-}:
-
-buildPythonPackage rec {
-  pname = "paperspace";
-  version = "0.2.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "7959305128fea6da8ca0cdc528783a89859dacb9b54bf8eb89fd04a518872191";
-  };
-
-  propagatedBuildInputs = [ boto3 requests gradient_statsd terminaltables
-    click-completion click-didyoumean click-help-colors requests_toolbelt
-    colorama gradient_sdk progressbar2
-  ];
-
-  # tries to use /homeless-shelter to mimic container usage, etc
-  doCheck = false;
-
-  meta = with lib; {
-    description = "Python API for Paperspace Cloud";
-    homepage    = "https://paperspace.com";
-    license     = licenses.isc;
-    platforms   = platforms.unix;
-    maintainers = with maintainers; [ thoughtpolice ];
-  };
-}
diff --git a/pkgs/development/python-modules/papis/default.nix b/pkgs/development/python-modules/papis/default.nix
index d5b1df57d047d..b05a525d91ad6 100644
--- a/pkgs/development/python-modules/papis/default.nix
+++ b/pkgs/development/python-modules/papis/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchFromGitHub, xdg_utils
+{ lib, buildPythonPackage, fetchFromGitHub, xdg-utils
 , requests, filetype, pyparsing, configparser, arxiv2bib
 , pyyaml, chardet, beautifulsoup4, colorama, bibtexparser
 , click, python-slugify, habanero, isbnlib, typing-extensions
@@ -45,7 +45,7 @@ buildPythonPackage rec {
   checkInputs = ([
     pytest pytestcov
   ]) ++ [
-    xdg_utils
+    xdg-utils
   ];
 
   # most of the downloader tests and 4 other tests require a network connection
diff --git a/pkgs/development/python-modules/pecan/default.nix b/pkgs/development/python-modules/pecan/default.nix
index a66c4077c3c9a..50b62503ff875 100644
--- a/pkgs/development/python-modules/pecan/default.nix
+++ b/pkgs/development/python-modules/pecan/default.nix
@@ -16,7 +16,6 @@
 , Kajiki
 , mock
 , sqlalchemy
-, uwsgi
 , virtualenv
 }:
 
diff --git a/pkgs/development/python-modules/pelican/default.nix b/pkgs/development/python-modules/pelican/default.nix
index 71bec7e42df0e..1ae27b5ecf87c 100644
--- a/pkgs/development/python-modules/pelican/default.nix
+++ b/pkgs/development/python-modules/pelican/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname = "pelican";
-  version = "4.5.0";
+  version = "4.5.4";
 
   disabled = isPy27;
 
@@ -14,7 +14,7 @@ buildPythonPackage rec {
     owner = "getpelican";
     repo = "pelican";
     rev = version;
-    sha256 = "0p8p84fcpkr19d54dhxvldd8ijbg334wmrmkr99pnbrdl1gf64qi";
+    sha256 = "08l8kk3c7ca1znxmgdmfgzn28dzjcziwflzq80fn9zigqj0y7fi8";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
@@ -27,6 +27,8 @@ buildPythonPackage rec {
   # Exclude custom locale test, which files were removed above to fix the source checksum
   checkPhase = ''
     nosetests -s \
+      --exclude=test_basic_generation_works \
+      --exclude=test_custom_generation_works \
       --exclude=test_custom_locale_generation_works \
       --exclude=test_log_filter \
       pelican
diff --git a/pkgs/development/python-modules/pg8000/default.nix b/pkgs/development/python-modules/pg8000/default.nix
index 9f9bb1702a90c..ad51a80674bcb 100644
--- a/pkgs/development/python-modules/pg8000/default.nix
+++ b/pkgs/development/python-modules/pg8000/default.nix
@@ -8,22 +8,25 @@
 
 buildPythonPackage rec {
   pname = "pg8000";
-  version = "1.16.6";
-
+  version = "1.17.0";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8fc1e6a62ccb7c9830f1e7e9288e2d20eaf373cc8875b5c55b7d5d9b7717be91";
+    sha256 = "sha256-FBmMWv6yiRBuQO5uXkwFKcU2mTn2yliKAos3GnX+IN0=";
   };
 
   propagatedBuildInputs = [ passlib scramp ];
 
+  # Tests require a running PostgreSQL instance
+  doCheck = false;
+  pythonImportsCheck = [ "pg8000" ];
+
   meta = with lib; {
+    description = "Python driver for PostgreSQL";
     homepage = "https://github.com/tlocke/pg8000";
-    description = "PostgreSQL interface library, for asyncio";
+    license = with licenses; [ bsd3 ];
     maintainers = with maintainers; [ domenkozar ];
     platforms = platforms.unix;
   };
-
 }
diff --git a/pkgs/development/python-modules/phonemizer/default.nix b/pkgs/development/python-modules/phonemizer/default.nix
index 2d6531794313c..80bc0737cac2b 100644
--- a/pkgs/development/python-modules/phonemizer/default.nix
+++ b/pkgs/development/python-modules/phonemizer/default.nix
@@ -2,14 +2,11 @@
 , substituteAll
 , buildPythonApplication
 , fetchPypi
-, python3Packages
-, pkgs
 , joblib
 , segments
 , attrs
 , espeak-ng
 , pytestCheckHook
-, pytestrunner
 , pytestcov
 }:
 
diff --git a/pkgs/development/python-modules/phonopy/default.nix b/pkgs/development/python-modules/phonopy/default.nix
index 2259fcd7ba524..e68516fb07f7b 100644
--- a/pkgs/development/python-modules/phonopy/default.nix
+++ b/pkgs/development/python-modules/phonopy/default.nix
@@ -1,19 +1,26 @@
-{ lib, buildPythonPackage, python, fetchPypi, numpy, pyyaml, matplotlib, h5py, spglib, pytestCheckHook }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, numpy
+, pyyaml
+, matplotlib
+, h5py
+, spglib
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "phonopy";
-  version = "2.8.1";
+  version = "2.9.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "28864b04adb900597705f1367a100da869af835088bdd13f1693c4382259f128";
+    sha256 = "1jaizhkb59ixknvc75nrhfq51bh75912q8ay36bxpf4g5hzyhw3a";
   };
 
   propagatedBuildInputs = [ numpy pyyaml matplotlib h5py spglib ];
 
   checkInputs = [ pytestCheckHook ];
-  # flakey due to floating point inaccuracy
-  disabledTests = [ "test_NaCl" ];
 
   # prevent pytest from importing local directory
   preCheck = ''
diff --git a/pkgs/development/python-modules/pikepdf/default.nix b/pkgs/development/python-modules/pikepdf/default.nix
index 38efe0a49b0a7..8ed27ea962edf 100644
--- a/pkgs/development/python-modules/pikepdf/default.nix
+++ b/pkgs/development/python-modules/pikepdf/default.nix
@@ -1,4 +1,5 @@
-{ attrs
+{ lib
+, attrs
 , buildPythonPackage
 , defusedxml
 , fetchPypi
@@ -6,29 +7,28 @@
 , isPy3k
 , lxml
 , pillow
+, psutil
 , pybind11
-, pytestCheckHook
+, pytest-cov
 , pytest-helpers-namespace
 , pytest-timeout
-, pytest_xdist
-, pytestrunner
+, pytest-xdist
+, pytestCheckHook
 , python-dateutil
 , python-xmp-toolkit
-, python3
 , qpdf
+, setuptools-scm
 , setuptools-scm-git-archive
-, setuptools_scm
-, lib
 }:
 
 buildPythonPackage rec {
   pname = "pikepdf";
-  version = "2.2.0";
+  version = "2.5.2";
   disabled = ! isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "74300a32c41b3d578772f6933f23a88b19f74484185e71e5225ce2f7ea5aea78";
+    sha256 = "sha256-j8PpeyTa+9SxrAV8jxRMGEZ85V00KhqMQmiIkOrVjvM=";
   };
 
   buildInputs = [
@@ -38,36 +38,34 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     setuptools-scm-git-archive
-    setuptools_scm
+    setuptools-scm
   ];
 
   checkInputs = [
     attrs
     hypothesis
-    pillow
-    pytestCheckHook
     pytest-helpers-namespace
     pytest-timeout
-    pytest_xdist
-    pytestrunner
+    pytest-xdist
+    psutil
+    pytest-cov
+    pytestCheckHook
     python-dateutil
     python-xmp-toolkit
   ];
 
-  propagatedBuildInputs = [ defusedxml lxml ];
-
-  postPatch = ''
-    sed -i \
-      -e 's/^pytest .*/pytest/g' \
-      -e 's/^attrs .*/attrs/g' \
-      -e 's/^hypothesis .*/hypothesis/g' \
-      requirements/test.txt
-  '';
+  propagatedBuildInputs = [
+    defusedxml
+    lxml
+    pillow
+  ];
 
   preBuild = ''
     HOME=$TMPDIR
   '';
 
+  pythonImportsCheck = [ "pikepdf" ];
+
   meta = with lib; {
     homepage = "https://github.com/pikepdf/pikepdf";
     description = "Read and write PDFs with Python, powered by qpdf";
diff --git a/pkgs/development/python-modules/pillow-simd/default.nix b/pkgs/development/python-modules/pillow-simd/default.nix
new file mode 100644
index 0000000000000..3aed634dfb1a1
--- /dev/null
+++ b/pkgs/development/python-modules/pillow-simd/default.nix
@@ -0,0 +1,32 @@
+{ lib, stdenv, buildPythonPackage, fetchFromGitHub, isPyPy, isPy3k
+, olefile, freetype, libjpeg, zlib, libtiff, libwebp, tcl, lcms2
+, tk, libX11, openjpeg, libimagequant, pyroma, numpy, pytestCheckHook
+}@args:
+
+import ../pillow/generic.nix (rec {
+  pname = "Pillow-SIMD";
+  version = "7.0.0.post3";
+
+  disabled = !isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "uploadcare";
+    repo = "pillow-simd";
+    rev = "v${version}";
+    sha256 = "1h832xp1bzf951hr4dmjmxqfsv28sx9lr2cq96qdz1c72k40zj1h";
+  };
+
+  meta = with lib; {
+    homepage = "https://python-pillow.github.io/pillow-perf/";
+    description = "The friendly PIL fork - SIMD version";
+    longDescription = ''
+      Pillow-SIMD is "following" Pillow. Pillow-SIMD versions are 100% compatible drop-in replacements for Pillow of the same version.
+
+      SIMD stands for "single instruction, multiple data" and its essence is in performing the same operation on multiple data points simultaneously by using multiple processing elements. Common CPU SIMD instruction sets are MMX, SSE-SSE4, AVX, AVX2, AVX512, NEON.
+
+      Currently, Pillow-SIMD can be compiled with SSE4 (default) or AVX2 support.
+    '';
+    license = "http://www.pythonware.com/products/pil/license.htm";
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+} // args )
diff --git a/pkgs/development/python-modules/pillow/6.nix b/pkgs/development/python-modules/pillow/6.nix
index 0e3fabf1fbcaa..51833edfd0b0a 100644
--- a/pkgs/development/python-modules/pillow/6.nix
+++ b/pkgs/development/python-modules/pillow/6.nix
@@ -1,75 +1,22 @@
-{ lib, stdenv, buildPythonPackage, fetchPypi, isPyPy
-, olefile
-, freetype, libjpeg, zlib, libtiff, libwebp, tcl, lcms2, tk, libX11
-, openjpeg, libimagequant
-, pytest, pytestrunner, pyroma, numpy
-}:
+{ lib, stdenv, buildPythonPackage, fetchPypi, isPyPy, isPy3k
+, olefile, freetype, libjpeg, zlib, libtiff, libwebp, tcl, lcms2, tk, libX11
+, openjpeg, libimagequant, pyroma, numpy, pytestCheckHook
+}@args:
 
-buildPythonPackage rec {
+import ./generic.nix (rec {
   pname = "Pillow";
   version = "6.2.2";
 
+  disabled = !isPy3k;
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "0l5rv8jkdrb5q846v60v03mcq64yrhklidjkgwv6s1pda71g17yv";
   };
 
-  # Disable imagefont tests, because they don't work well with infinality:
-  # https://github.com/python-pillow/Pillow/issues/1259
-  postPatch = ''
-    rm Tests/test_imagefont.py
-  '';
-
-  checkPhase = ''
-    runHook preCheck
-    python -m pytest -v -x -W always${lib.optionalString stdenv.isDarwin " --deselect=Tests/test_file_icns.py::TestFileIcns::test_save --deselect=Tests/test_imagegrab.py::TestImageGrab::test_grab"}
-    runHook postCheck
-  '';
-
-  propagatedBuildInputs = [ olefile ];
-
-  checkInputs = [ pytest pytestrunner pyroma numpy ];
-
-  buildInputs = [
-    freetype libjpeg openjpeg libimagequant zlib libtiff libwebp tcl lcms2 ]
-    ++ lib.optionals (isPyPy) [ tk libX11 ];
-
-  # NOTE: we use LCMS_ROOT as WEBP root since there is not other setting for webp.
-  # NOTE: The Pillow install script will, by default, add paths like /usr/lib
-  # and /usr/include to the search paths. This can break things when building
-  # on a non-NixOS system that has some libraries installed that are not
-  # installed in Nix (for example, Arch Linux has jpeg2000 but Nix doesn't
-  # build Pillow with this support). We patch the `disable_platform_guessing`
-  # setting here, instead of passing the `--disable-platform-guessing`
-  # command-line option, since the command-line option doesn't work when we run
-  # tests.
-  preConfigure = let
-    libinclude' = pkg: ''"${pkg.out}/lib", "${pkg.out}/include"'';
-    libinclude = pkg: ''"${pkg.out}/lib", "${pkg.dev}/include"'';
-  in ''
-    sed -i "setup.py" \
-        -e 's|^FREETYPE_ROOT =.*$|FREETYPE_ROOT = ${libinclude freetype}|g ;
-            s|^JPEG_ROOT =.*$|JPEG_ROOT = ${libinclude libjpeg}|g ;
-            s|^JPEG2K_ROOT =.*$|JPEG2K_ROOT = ${libinclude openjpeg}|g ;
-            s|^IMAGEQUANT_ROOT =.*$|IMAGEQUANT_ROOT = ${libinclude' libimagequant}|g ;
-            s|^ZLIB_ROOT =.*$|ZLIB_ROOT = ${libinclude zlib}|g ;
-            s|^LCMS_ROOT =.*$|LCMS_ROOT = ${libinclude lcms2}|g ;
-            s|^TIFF_ROOT =.*$|TIFF_ROOT = ${libinclude libtiff}|g ;
-            s|^TCL_ROOT=.*$|TCL_ROOT = ${libinclude' tcl}|g ;
-            s|self\.disable_platform_guessing = None|self.disable_platform_guessing = True|g ;'
-    export LDFLAGS="-L${libwebp}/lib"
-    export CFLAGS="-I${libwebp}/include"
-  ''
-  # Remove impurities
-  + lib.optionalString stdenv.isDarwin ''
-    substituteInPlace setup.py \
-      --replace '"/Library/Frameworks",' "" \
-      --replace '"/System/Library/Frameworks"' ""
-  '';
-
   meta = with lib; {
-    homepage = "https://python-pillow.github.io/";
-    description = "Fork of The Python Imaging Library (PIL)";
+    homepage = "https://python-pillow.org/";
+    description = "The friendly PIL fork (Python Imaging Library)";
     longDescription = ''
       The Python Imaging Library (PIL) adds image processing
       capabilities to your Python interpreter.  This library
@@ -77,6 +24,6 @@ buildPythonPackage rec {
       processing and graphics capabilities.
     '';
     license = "http://www.pythonware.com/products/pil/license.htm";
-    maintainers = with maintainers; [ goibhniu prikhi ];
+    maintainers = with maintainers; [ goibhniu prikhi SuperSandro2000 ];
   };
-}
+} // args )
diff --git a/pkgs/development/python-modules/pillow/default.nix b/pkgs/development/python-modules/pillow/default.nix
index 4084df19404b9..051e6ab8c6fd9 100644
--- a/pkgs/development/python-modules/pillow/default.nix
+++ b/pkgs/development/python-modules/pillow/default.nix
@@ -1,12 +1,9 @@
-{ lib, stdenv, buildPythonPackage, fetchPypi, isPyPy
-, olefile
-, freetype, libjpeg, zlib, libtiff, libwebp, tcl, lcms2, tk, libX11
-, openjpeg, libimagequant
-, pyroma, numpy, pytestCheckHook
-, isPy3k
-}:
+{ lib, stdenv, buildPythonPackage, fetchPypi, isPyPy, isPy3k
+, olefile, freetype, libjpeg, zlib, libtiff, libwebp, tcl, lcms2, tk, libX11
+, libxcb, openjpeg, libimagequant, pyroma, numpy, pytestCheckHook
+}@args:
 
-buildPythonPackage rec {
+import ./generic.nix (rec {
   pname = "Pillow";
   version = "8.0.1";
 
@@ -17,56 +14,6 @@ buildPythonPackage rec {
     sha256 = "11c5c6e9b02c9dac08af04f093eb5a2f84857df70a7d4a6a6ad461aca803fb9e";
   };
 
-  # Disable imagefont tests, because they don't work well with infinality:
-  # https://github.com/python-pillow/Pillow/issues/1259
-  postPatch = ''
-    rm Tests/test_imagefont.py
-  '';
-
-  # Disable darwin tests which require executables: `iconutil` and `screencapture`
-  disabledTests = lib.optionals stdenv.isDarwin [ "test_save" "test_grab" "test_grabclipboard" ];
-
-  propagatedBuildInputs = [ olefile ];
-
-  checkInputs = [ pytestCheckHook pyroma numpy ];
-
-  buildInputs = [
-    freetype libjpeg openjpeg libimagequant zlib libtiff libwebp tcl lcms2 ]
-    ++ lib.optionals (isPyPy) [ tk libX11 ];
-
-  # NOTE: we use LCMS_ROOT as WEBP root since there is not other setting for webp.
-  # NOTE: The Pillow install script will, by default, add paths like /usr/lib
-  # and /usr/include to the search paths. This can break things when building
-  # on a non-NixOS system that has some libraries installed that are not
-  # installed in Nix (for example, Arch Linux has jpeg2000 but Nix doesn't
-  # build Pillow with this support). We patch the `disable_platform_guessing`
-  # setting here, instead of passing the `--disable-platform-guessing`
-  # command-line option, since the command-line option doesn't work when we run
-  # tests.
-  preConfigure = let
-    libinclude' = pkg: ''"${pkg.out}/lib", "${pkg.out}/include"'';
-    libinclude = pkg: ''"${pkg.out}/lib", "${pkg.dev}/include"'';
-  in ''
-    sed -i "setup.py" \
-        -e 's|^FREETYPE_ROOT =.*$|FREETYPE_ROOT = ${libinclude freetype}|g ;
-            s|^JPEG_ROOT =.*$|JPEG_ROOT = ${libinclude libjpeg}|g ;
-            s|^JPEG2K_ROOT =.*$|JPEG2K_ROOT = ${libinclude openjpeg}|g ;
-            s|^IMAGEQUANT_ROOT =.*$|IMAGEQUANT_ROOT = ${libinclude' libimagequant}|g ;
-            s|^ZLIB_ROOT =.*$|ZLIB_ROOT = ${libinclude zlib}|g ;
-            s|^LCMS_ROOT =.*$|LCMS_ROOT = ${libinclude lcms2}|g ;
-            s|^TIFF_ROOT =.*$|TIFF_ROOT = ${libinclude libtiff}|g ;
-            s|^TCL_ROOT=.*$|TCL_ROOT = ${libinclude' tcl}|g ;
-            s|self\.disable_platform_guessing = None|self.disable_platform_guessing = True|g ;'
-    export LDFLAGS="-L${libwebp}/lib"
-    export CFLAGS="-I${libwebp}/include"
-  ''
-  # Remove impurities
-  + lib.optionalString stdenv.isDarwin ''
-    substituteInPlace setup.py \
-      --replace '"/Library/Frameworks",' "" \
-      --replace '"/System/Library/Frameworks"' ""
-  '';
-
   meta = with lib; {
     homepage = "https://python-pillow.org/";
     description = "The friendly PIL fork (Python Imaging Library)";
@@ -77,6 +24,6 @@ buildPythonPackage rec {
       processing and graphics capabilities.
     '';
     license = "http://www.pythonware.com/products/pil/license.htm";
-    maintainers = with maintainers; [ goibhniu prikhi ];
+    maintainers = with maintainers; [ goibhniu prikhi SuperSandro2000 ];
   };
-}
+} // args )
diff --git a/pkgs/development/python-modules/pillow/generic.nix b/pkgs/development/python-modules/pillow/generic.nix
new file mode 100644
index 0000000000000..dbf27febeb9d6
--- /dev/null
+++ b/pkgs/development/python-modules/pillow/generic.nix
@@ -0,0 +1,73 @@
+{ pname
+, version
+, disabled
+, src
+, meta
+, ...
+}@args:
+
+with args;
+
+buildPythonPackage rec {
+  inherit pname version src meta;
+
+  # Disable imagefont tests, because they don't work well with infinality:
+  # https://github.com/python-pillow/Pillow/issues/1259
+  postPatch = ''
+    rm Tests/test_imagefont.py
+  '';
+
+  # Disable darwin tests which require executables: `iconutil` and `screencapture`
+  disabledTests = lib.optionals stdenv.isDarwin [
+    "test_grab"
+    "test_grabclipboard"
+    "test_save"
+
+    # pillow-simd
+    "test_roundtrip"
+    "test_basic"
+  ];
+
+  propagatedBuildInputs = [ olefile ];
+
+  checkInputs = [ pytestCheckHook pyroma numpy ];
+
+  buildInputs = [ freetype libjpeg openjpeg libimagequant zlib libtiff libwebp tcl lcms2 ]
+    ++ lib.optionals (lib.versionAtLeast version "7.1.0") [ libxcb ]
+    ++ lib.optionals (isPyPy) [ tk libX11 ];
+
+  # NOTE: we use LCMS_ROOT as WEBP root since there is not other setting for webp.
+  # NOTE: The Pillow install script will, by default, add paths like /usr/lib
+  # and /usr/include to the search paths. This can break things when building
+  # on a non-NixOS system that has some libraries installed that are not
+  # installed in Nix (for example, Arch Linux has jpeg2000 but Nix doesn't
+  # build Pillow with this support). We patch the `disable_platform_guessing`
+  # setting here, instead of passing the `--disable-platform-guessing`
+  # command-line option, since the command-line option doesn't work when we run
+  # tests.
+  preConfigure = let
+    libinclude' = pkg: ''"${pkg.out}/lib", "${pkg.out}/include"'';
+    libinclude = pkg: ''"${pkg.out}/lib", "${pkg.dev}/include"'';
+  in ''
+    sed -i "setup.py" \
+        -e 's|^FREETYPE_ROOT =.*$|FREETYPE_ROOT = ${libinclude freetype}|g ;
+            s|^JPEG_ROOT =.*$|JPEG_ROOT = ${libinclude libjpeg}|g ;
+            s|^JPEG2K_ROOT =.*$|JPEG2K_ROOT = ${libinclude openjpeg}|g ;
+            s|^IMAGEQUANT_ROOT =.*$|IMAGEQUANT_ROOT = ${libinclude' libimagequant}|g ;
+            s|^ZLIB_ROOT =.*$|ZLIB_ROOT = ${libinclude zlib}|g ;
+            s|^LCMS_ROOT =.*$|LCMS_ROOT = ${libinclude lcms2}|g ;
+            s|^TIFF_ROOT =.*$|TIFF_ROOT = ${libinclude libtiff}|g ;
+            s|^TCL_ROOT=.*$|TCL_ROOT = ${libinclude' tcl}|g ;
+            s|self\.disable_platform_guessing = None|self.disable_platform_guessing = True|g ;'
+    export LDFLAGS="$LDFLAGS -L${libwebp}/lib"
+    export CFLAGS="$CFLAGS -I${libwebp}/include"
+  '' + lib.optionalString (lib.versionAtLeast version "7.1.0") ''
+    export LDFLAGS="$LDFLAGS -L${libxcb}/lib"
+    export CFLAGS="$CFLAGS -I${libxcb.dev}/include"
+  '' + lib.optionalString stdenv.isDarwin ''
+    # Remove impurities
+    substituteInPlace setup.py \
+      --replace '"/Library/Frameworks",' "" \
+      --replace '"/System/Library/Frameworks"' ""
+  '';
+}
diff --git a/pkgs/development/python-modules/pims/default.nix b/pkgs/development/python-modules/pims/default.nix
index bfe4e2b9ea03c..2f9fbdccd5505 100644
--- a/pkgs/development/python-modules/pims/default.nix
+++ b/pkgs/development/python-modules/pims/default.nix
@@ -23,6 +23,7 @@ buildPythonPackage rec {
 
   # not everything packaged with pypi release
   doCheck = false;
+  pythonImportsCheck = [ "pims" ];
 
   meta = with lib; {
     homepage = "https://github.com/soft-matter/pims";
diff --git a/pkgs/development/python-modules/pivy/default.nix b/pkgs/development/python-modules/pivy/default.nix
index 312c87ae54443..7645fdaec8aa0 100644
--- a/pkgs/development/python-modules/pivy/default.nix
+++ b/pkgs/development/python-modules/pivy/default.nix
@@ -11,6 +11,8 @@ buildPythonPackage rec {
     sha256 = "0vids7sxk8w5vr73xdnf8xdci71a7syl6cd35aiisppbqyyfmykx";
   };
 
+  dontUseCmakeConfigure = true;
+
   nativeBuildInputs = with pkgs; [
     swig qmake cmake
   ];
@@ -29,8 +31,7 @@ buildPythonPackage rec {
   ];
 
   dontUseQmakeConfigure = true;
-  dontUseCmakeConfigure = true;
-
+  dontWrapQtApps =true;
   doCheck = false;
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pixelmatch/default.nix b/pkgs/development/python-modules/pixelmatch/default.nix
new file mode 100644
index 0000000000000..d7473a05bccad
--- /dev/null
+++ b/pkgs/development/python-modules/pixelmatch/default.nix
@@ -0,0 +1,38 @@
+{ lib, buildPythonPackage, fetchgit, poetry-core, pytestCheckHook, pytest-benchmark, pytest-mypy, pillow }:
+
+buildPythonPackage rec {
+  pname = "pixelmatch";
+  version = "0.2.2";
+  format = "pyproject";
+
+  # test fixtures are stored in LFS
+  src = fetchgit {
+    url = "https://github.com/whtsky/pixelmatch-py";
+    rev = "v${version}";
+    sha256 = "1dsix507dxqik9wvgzscvf2pifbg7gx74krrsalqbfcmm7d1i7xl";
+    fetchLFS = true;
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-benchmark
+    pytest-mypy
+    pillow
+  ];
+
+  pytestFlagsArray = [
+    "--mypy"
+    "--benchmark-disable"
+  ];
+
+  meta = with lib; {
+    description = "A pixel-level image comparison library.";
+    homepage = "https://github.com/whtsky/pixelmatch-py";
+    license = licenses.isc;
+    maintainers = with maintainers; [ petabyteboy ];
+  };
+}
diff --git a/pkgs/development/python-modules/pkce/default.nix b/pkgs/development/python-modules/pkce/default.nix
new file mode 100644
index 0000000000000..5dc77a2661bad
--- /dev/null
+++ b/pkgs/development/python-modules/pkce/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pkce";
+  version = "1.0.3";
+
+  src = fetchFromGitHub {
+    owner = "RomeoDespres";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-dOHCu0pDXk9LM4Yobaz8GAfVpBd8rXlty+Wfhx+WPME=";
+  };
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "pkce" ];
+
+  meta = with lib; {
+    description = "Python module to work with PKCE";
+    homepage = "https://github.com/RomeoDespres/pkce";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pkuseg/default.nix b/pkgs/development/python-modules/pkuseg/default.nix
index 1944ac5197c35..d59fe56203aa5 100644
--- a/pkgs/development/python-modules/pkuseg/default.nix
+++ b/pkgs/development/python-modules/pkuseg/default.nix
@@ -31,6 +31,5 @@ buildPythonPackage rec {
     description = "Toolkit for multi-domain Chinese word segmentation";
     homepage = "https://github.com/lancopku/pkuseg-python";
     license = licenses.unfree;
-    maintainers = with maintainers; [ danieldk ];
   };
 }
diff --git a/pkgs/development/python-modules/pleroma-bot/default.nix b/pkgs/development/python-modules/pleroma-bot/default.nix
new file mode 100644
index 0000000000000..1dca45eca762b
--- /dev/null
+++ b/pkgs/development/python-modules/pleroma-bot/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, requests-mock
+, oauthlib
+, requests_oauthlib
+, requests
+, pyaml
+}:
+
+buildPythonPackage rec {
+  pname = "pleroma-bot";
+  version = "0.8.6";
+
+  src = fetchFromGitHub {
+    owner = "robertoszek";
+    repo = "pleroma-bot";
+    rev = version;
+    sha256 = "1q0xhgqq41zbqiawpd4kbdx41zhwxxp5ipn1c2rc8d7pjyb5p75w";
+  };
+
+  propagatedBuildInputs = [ pyaml requests requests_oauthlib oauthlib ];
+  checkInputs = [ pytestCheckHook requests-mock ];
+
+  pythonImportsCheck = [ "pleroma_bot" ];
+
+  meta = with lib; {
+    homepage = "https://robertoszek.github.io/pleroma-bot/";
+    description = "Bot for mirroring one or multiple Twitter accounts in Pleroma/Mastodon";
+    license = licenses.mit;
+    maintainers = with maintainers; [ robertoszek ];
+  };
+}
diff --git a/pkgs/development/python-modules/plexapi/default.nix b/pkgs/development/python-modules/plexapi/default.nix
index b9a4fb34bf650..5251ff1de0ecf 100644
--- a/pkgs/development/python-modules/plexapi/default.nix
+++ b/pkgs/development/python-modules/plexapi/default.nix
@@ -1,25 +1,37 @@
-{ lib, buildPythonPackage, fetchFromGitHub, requests
-, tqdm, websocket_client, pytest, pillow, isPy27 }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, tqdm
+, websocket_client
+, isPy27
+}:
 
 buildPythonPackage rec {
   pname = "PlexAPI";
-  version = "4.1.2";
+  version = "4.3.1";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "pkkid";
     repo = "python-plexapi";
     rev = version;
-    sha256 = "1l955q1q6lljq3bmyiayr33gzxrlw16xdwgjdaflznvyg16fcjkk";
+    sha256 = "sha256-gRXNOGd9YGcGysKbAtiNwi5NxPvv39F6PEXBjiYbVq4=";
   };
 
-  propagatedBuildInputs = [ requests tqdm websocket_client ];
+  propagatedBuildInputs = [
+    requests
+    tqdm
+    websocket_client
+  ];
 
-  checkInputs = [ pytest pillow ];
+  # Tests require a running Plex instance
+  doCheck = false;
+  pythonImportsCheck = [ "plexapi" ];
 
   meta = with lib; {
-    homepage = "https://github.com/pkkid/python-plexapi";
     description = "Python bindings for the Plex API";
+    homepage = "https://github.com/pkkid/python-plexapi";
     license = licenses.bsd3;
     maintainers = with maintainers; [ colemickens ];
   };
diff --git a/pkgs/development/python-modules/plexauth/default.nix b/pkgs/development/python-modules/plexauth/default.nix
index 91407a907a449..c7c9c2ba5dbd1 100644
--- a/pkgs/development/python-modules/plexauth/default.nix
+++ b/pkgs/development/python-modules/plexauth/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "plexauth";
-  version = "0.0.5";
+  version = "0.0.6";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "jjlawren";
     repo = "python-plexauth";
     rev = "v${version}";
-    sha256 = "1wbrn22iywl4ccz64r3w3f17k0r7vi2cqkqd2mrdkx5xqhscn9hz";
+    sha256 = "1wy6syz3cgfw28zvigh2br4jabg8rzpi5l0bhfb6vjjc7aam13ag";
   };
 
   propagatedBuildInputs = [ aiohttp ];
diff --git a/pkgs/development/python-modules/poppler-qt5/default.nix b/pkgs/development/python-modules/poppler-qt5/default.nix
index e94a234dc1a36..345f092a80fa3 100644
--- a/pkgs/development/python-modules/poppler-qt5/default.nix
+++ b/pkgs/development/python-modules/poppler-qt5/default.nix
@@ -34,6 +34,8 @@ buildPythonPackage rec {
   # no tests, just bindings for `poppler_qt5`
   doCheck = false;
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     homepage = "https://github.com/wbsoft/python-poppler-qt5";
     license = licenses.gpl2;
diff --git a/pkgs/development/python-modules/powerline/default.nix b/pkgs/development/python-modules/powerline/default.nix
index 5834dd7603695..1ad17d0459ddf 100644
--- a/pkgs/development/python-modules/powerline/default.nix
+++ b/pkgs/development/python-modules/powerline/default.nix
@@ -8,6 +8,7 @@
 , pygit2
 , pyuv
 , i3ipc
+, stdenv
 }:
 
 # TODO: bzr support is missing because nixpkgs switched to `breezy`
@@ -29,8 +30,7 @@ buildPythonPackage rec {
     hglib
     pygit2
     pyuv
-    i3ipc
-  ];
+  ] ++ lib.optionals (!stdenv.isDarwin) [ i3ipc ];
 
   # tests are travis-specific
   doCheck = false;
diff --git a/pkgs/development/python-modules/praw/default.nix b/pkgs/development/python-modules/praw/default.nix
index a4c048e9c9bf4..5047c1e88b0d9 100644
--- a/pkgs/development/python-modules/praw/default.nix
+++ b/pkgs/development/python-modules/praw/default.nix
@@ -1,12 +1,12 @@
-{ lib, buildPythonPackage, fetchFromGitHub
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
 , betamax
 , betamax-serializers
 , betamax-matchers
 , mock
-, six
-, pytestrunner
 , prawcore
-, pytest
+, pytestCheckHook
 , requests-toolbelt
 , update_checker
 , websocket_client
@@ -14,19 +14,15 @@
 
 buildPythonPackage rec {
   pname = "praw";
-  version = "7.1.0";
+  version = "7.2.0";
 
   src = fetchFromGitHub {
     owner = "praw-dev";
-    repo = "praw";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "07wyn2pa80ps55kk66rvf4daqyn3y5lzxhx6qh1lpn3p2bacbw9h";
+    sha256 = "sha256-/GV5ZhrJxeChcYwmH/9FsLceAYRSeTCDe4lMEwdTa8Y=";
   };
 
-  nativeBuildInputs = [
-    pytestrunner
-  ];
-
   propagatedBuildInputs = [
     mock
     prawcore
@@ -38,16 +34,16 @@ buildPythonPackage rec {
     betamax
     betamax-serializers
     betamax-matchers
-    mock
-    pytest
+    pytestCheckHook
     requests-toolbelt
-    six
   ];
 
+  pythonImportsCheck = [ "praw" ];
+
   meta = with lib; {
     description = "Python Reddit API wrapper";
     homepage = "https://praw.readthedocs.org/";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/pkgs/development/python-modules/prawcore/default.nix b/pkgs/development/python-modules/prawcore/default.nix
index 2b6eff885f9e5..1e38f401a43d8 100644
--- a/pkgs/development/python-modules/prawcore/default.nix
+++ b/pkgs/development/python-modules/prawcore/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "prawcore";
-  version = "1.5.0";
+  version = "2.0.0";
   disabled = isPy27; # see https://github.com/praw-dev/prawcore/pull/101
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1f1eafc8a65d671f9892354f73142014fbb5d3a9ee621568c662d0a354e0578b";
+    sha256 = "sha256-tJjZtvVJkQBecn1SNcj0nqW6DJpteT+3Q7QPoInNNtE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/precis-i18n/default.nix b/pkgs/development/python-modules/precis-i18n/default.nix
index 199a6804ea987..3773a724e9380 100644
--- a/pkgs/development/python-modules/precis-i18n/default.nix
+++ b/pkgs/development/python-modules/precis-i18n/default.nix
@@ -1,15 +1,16 @@
-{ lib, buildPythonPackage, fetchPypi, isPy3k }:
+{ lib, buildPythonPackage, fetchFromGitHub, isPy3k }:
 
 buildPythonPackage rec {
   pname = "precis-i18n";
-  version = "1.0.0";
+  version = "1.0.2";
 
   disabled = !isPy3k;
 
-  src = fetchPypi {
-    pname = "precis_i18n";
-    inherit version;
-    sha256 = "0gjhvwd8aifx94rl1ag08vlmndyx2q3fkyqb0c4i46x3p2bc2yi2";
+  src = fetchFromGitHub {
+    owner = "byllyfish";
+    repo = "precis_i18n";
+    rev = "v${version}";
+    hash = "sha256:1r9pah1kgik6valf15ac7ybw0szr92cq84kwjvm6mq3z46j1pmkr";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/primer3/default.nix b/pkgs/development/python-modules/primer3/default.nix
index e8aa83ed94d93..0f1a2ac66fef4 100644
--- a/pkgs/development/python-modules/primer3/default.nix
+++ b/pkgs/development/python-modules/primer3/default.nix
@@ -1,7 +1,9 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchFromGitHub
 , cython
+, gcc
 , click
 }:
 
@@ -16,7 +18,8 @@ buildPythonPackage rec {
     sha256 = "1glybwp9w2m1ydvaphr41gj31d8fvlh40s35galfbjqa563si72g";
   };
 
-  nativeBuildInputs = [ cython ];
+  nativeBuildInputs = [ cython ]
+    ++ lib.optionals stdenv.isDarwin [ gcc ];
 
   # pytestCheckHook leads to a circular import issue
   checkInputs = [ click ];
diff --git a/pkgs/development/python-modules/prometheus-flask-exporter/default.nix b/pkgs/development/python-modules/prometheus-flask-exporter/default.nix
new file mode 100644
index 0000000000000..dc35aea6cd117
--- /dev/null
+++ b/pkgs/development/python-modules/prometheus-flask-exporter/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, flask
+, prometheus_client
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "prometheus-flask-exporter";
+  version = "0.18.1";
+
+  src = fetchFromGitHub {
+    owner = "rycus86";
+    repo = "prometheus_flask_exporter";
+    rev = version;
+    sha256 = "1dwisp681w0f6zf0000rxd3ksdb48zb9mr38qfdqk2ir24y8w370";
+  };
+
+  propagatedBuildInputs = [ flask prometheus_client ];
+
+  checkInputs = [ pytestCheckHook ];
+  pytestFlagsArray = [ "tests/" ];
+
+  meta = with lib; {
+    description = "Prometheus exporter for Flask applications";
+    homepage = "https://github.com/rycus86/prometheus_flask_exporter";
+    license = licenses.mit;
+    maintainers = with maintainers; [ lbpdt ];
+  };
+}
diff --git a/pkgs/development/python-modules/protobuf/default.nix b/pkgs/development/python-modules/protobuf/default.nix
index e7bbdd6ccdf89..aa4d00892dd8e 100644
--- a/pkgs/development/python-modules/protobuf/default.nix
+++ b/pkgs/development/python-modules/protobuf/default.nix
@@ -20,12 +20,6 @@ buildPythonPackage {
   inherit disabled;
   doCheck = doCheck && !isPy27; # setuptools>=41.4 no longer collects correctly on python2
 
-  NIX_CFLAGS_COMPILE = toString (
-    # work around python distutils compiling C++ with $CC
-    lib.optional stdenv.isDarwin "-I${libcxx}/include/c++/v1"
-    ++ lib.optional (lib.versionOlder protobuf.version "2.7.0") "-std=c++98"
-  );
-
   outputs = [ "out" "dev" ];
 
   propagatedBuildInputs = [ six ] ++ lib.optionals isPy27 [ google-apputils ];
diff --git a/pkgs/development/python-modules/protobuf3-to-dict/default.nix b/pkgs/development/python-modules/protobuf3-to-dict/default.nix
new file mode 100644
index 0000000000000..ffc21c1428fe1
--- /dev/null
+++ b/pkgs/development/python-modules/protobuf3-to-dict/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildPythonPackage, fetchPypi, protobuf, six }:
+
+buildPythonPackage rec {
+  pname = "protobuf3-to-dict";
+  version = "0.1.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0nibblvj3n20zvq6d73zalbjqjby0w8ji5mim7inhn7vb9dw4hhy";
+  };
+
+  doCheck = false;
+
+  pythonImportsCheck = [ "protobuf_to_dict" ];
+
+  propagatedBuildInputs = [ protobuf six ];
+
+  meta = with lib; {
+    description = "A teeny Python library for creating Python dicts from protocol buffers and the reverse";
+    homepage = "https://github.com/kaporzhu/protobuf-to-dict";
+    license = licenses.publicDomain;
+    maintainers = with maintainers; [ nequissimus ];
+  };
+}
diff --git a/pkgs/development/python-modules/proxmoxer/default.nix b/pkgs/development/python-modules/proxmoxer/default.nix
new file mode 100644
index 0000000000000..cdbec22bc1fe5
--- /dev/null
+++ b/pkgs/development/python-modules/proxmoxer/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, mock
+, nose
+, paramiko
+, pytestCheckHook
+, pythonOlder
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "proxmoxer";
+  version = "1.1.1";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    sha256 = "09fz8zbxjaly9zqksvq6cqp66plbsyjsmndy4g25ryys45siz1ny";
+  };
+
+  propagatedBuildInputs = [
+    paramiko
+    requests
+  ];
+
+  checkInputs = [
+    mock
+    nose
+    pytestCheckHook
+  ];
+
+  # Tests require openssh_wrapper which is outdated and not available
+  pytestFlagsArray = [ "tests/paramiko_tests.py" ];
+  pythonImportsCheck = [ "proxmoxer" ];
+
+  meta = with lib; {
+    description = "Python wrapper for Proxmox API v2";
+    homepage = "https://github.com/proxmoxer/proxmoxer";
+    license = with licenses; [ bsd3 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/psautohint/default.nix b/pkgs/development/python-modules/psautohint/default.nix
index 68d151336706a..cfed6dd74cf65 100644
--- a/pkgs/development/python-modules/psautohint/default.nix
+++ b/pkgs/development/python-modules/psautohint/default.nix
@@ -2,12 +2,12 @@
 , fonttools
 , lxml, fs # for fonttools extras
 , setuptools_scm
-, pytestCheckHook, pytest_5, pytestcov, pytest_xdist
+, pytestCheckHook, pytestcov, pytest_xdist
 }:
 
 buildPythonPackage rec {
   pname = "psautohint";
-  version = "2.2.0";
+  version = "2.3.0";
 
   disabled = pythonOlder "3.6";
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "adobe-type-tools";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0gsgfr190xy2rnjf1gf7688xrh13ihgq10s19s4rv5hp6pmg9iaa";
+    sha256 = "1y7mqc2myn1gfzg4h018f8xza0q535shnqg6snnaqynz20i8jcfh";
     fetchSubmodules = true; # data dir for tests
   };
 
@@ -30,14 +30,14 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ fonttools lxml fs ];
 
   checkInputs = [
-    # Override pytestCheckHook to use pytest v5, because some tests fail on pytest >= v6
-    # https://github.com/adobe-type-tools/psautohint/issues/284#issuecomment-742800965
-    # Override might be able to be removed in future, check package dependency pins (coverage.yml)
-    (pytestCheckHook.override{ pytest = pytest_5; })
+    pytestCheckHook
     pytestcov
     pytest_xdist
   ];
   disabledTests = [
+    # Test that fails on pytest >= v6
+    # https://github.com/adobe-type-tools/psautohint/issues/284#issuecomment-742800965
+    "test_hashmap_old_version"
     # Slow tests, reduces test time from ~5 mins to ~30s
     "test_mmufo"
     "test_flex_ufo"
diff --git a/pkgs/development/python-modules/pubnub/default.nix b/pkgs/development/python-modules/pubnub/default.nix
index e4bab25fd9c12..8c9c0ea004ca4 100644
--- a/pkgs/development/python-modules/pubnub/default.nix
+++ b/pkgs/development/python-modules/pubnub/default.nix
@@ -5,7 +5,6 @@
 , fetchFromGitHub
 , pycryptodomex
 , pytestCheckHook
-, pyyaml
 , pytest-vcr
 , pytest-asyncio
 , requests
diff --git a/pkgs/development/python-modules/py-cid/default.nix b/pkgs/development/python-modules/py-cid/default.nix
new file mode 100644
index 0000000000000..86c2e80601f69
--- /dev/null
+++ b/pkgs/development/python-modules/py-cid/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, pytestCheckHook
+, base58
+, py-multibase
+, py-multicodec
+, morphys
+, py-multihash
+, hypothesis
+}:
+
+buildPythonPackage rec {
+  pname = "py-cid";
+  version = "0.3.0";
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "ipld";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-aN7ee25ghKKa90+FoMDCdGauToePc5AzDLV3tONvh4U=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "base58>=1.0.2,<2.0" "base58>=1.0.2" \
+      --replace "py-multihash>=0.2.0,<1.0.0" "py-multihash>=0.2.0" \
+      --replace "'pytest-runner'," ""
+  '';
+
+  propagatedBuildInputs = [
+    base58
+    py-multibase
+    py-multicodec
+    morphys
+    py-multihash
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    hypothesis
+  ];
+
+  pythonImportsCheck = [ "cid" ];
+
+  meta = with lib; {
+    description = "Self-describing content-addressed identifiers for distributed systems implementation in Python";
+    homepage = "https://github.com/ipld/py-cid";
+    license = licenses.mit;
+    maintainers = with maintainers; [ Luflosi ];
+  };
+}
diff --git a/pkgs/development/python-modules/py-multiaddr/default.nix b/pkgs/development/python-modules/py-multiaddr/default.nix
new file mode 100644
index 0000000000000..24fa6975cc5e5
--- /dev/null
+++ b/pkgs/development/python-modules/py-multiaddr/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, varint
+, base58
+, netaddr
+, idna
+, py-cid
+, py-multicodec
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "py-multiaddr";
+  version = "0.0.9";
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "multiformats";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-cGM7iYQPP+UOkbTxRhzuED0pkcydFCO8vpx9wTc0/HI=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py --replace "'pytest-runner'," ""
+  '';
+
+  propagatedBuildInputs = [
+    varint
+    base58
+    netaddr
+    idna
+    py-cid
+    py-multicodec
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "multiaddr" ];
+
+  meta = with lib; {
+    description = "Composable and future-proof network addresses";
+    homepage = "https://github.com/multiformats/py-multiaddr";
+    license = with licenses; [ mit asl20 ];
+    maintainers = with maintainers; [ Luflosi ];
+  };
+}
diff --git a/pkgs/development/python-modules/py-multicodec/default.nix b/pkgs/development/python-modules/py-multicodec/default.nix
new file mode 100644
index 0000000000000..c41da62cf4c57
--- /dev/null
+++ b/pkgs/development/python-modules/py-multicodec/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytest-runner
+, pytestCheckHook
+, pythonOlder
+, morphys
+, six
+, varint
+}:
+
+buildPythonPackage rec {
+  pname = "py-multicodec";
+  version = "0.2.1";
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "multiformats";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-2aK+bfhqCMqSO+mtrHIfNQmQpQHpwd7yHseI/3O7Sp4=";
+  };
+
+  # Error when not substituting:
+  # Failed: [pytest] section in setup.cfg files is no longer supported, change to [tool:pytest] instead.
+  postPatch = ''
+    substituteInPlace setup.cfg --replace "[pytest]" "[tool:pytest]"
+  '';
+
+  nativeBuildInputs = [
+    pytest-runner
+  ];
+
+  propagatedBuildInputs = [
+    varint
+    six
+    morphys
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "multicodec" ];
+
+  meta = with lib; {
+    description = "Compact self-describing codecs";
+    homepage = "https://github.com/multiformats/py-multicodec";
+    license = licenses.mit;
+    maintainers = with maintainers; [ Luflosi ];
+  };
+}
diff --git a/pkgs/development/python-modules/py-multihash/default.nix b/pkgs/development/python-modules/py-multihash/default.nix
index 1f8ecad00135a..73307c75b8b81 100644
--- a/pkgs/development/python-modules/py-multihash/default.nix
+++ b/pkgs/development/python-modules/py-multihash/default.nix
@@ -1,54 +1,48 @@
 { base58
 , buildPythonPackage
 , fetchFromGitHub
-, isPy27
 , lib
 , morphys
-, pytest
-, pytestcov
-, pytestrunner
+, pytest-runner
+, pytestCheckHook
+, pythonOlder
 , six
-, variants
 , varint
 }:
 
 buildPythonPackage rec {
   pname = "py-multihash";
-  version = "1.0.0";
+  version = "2.0.1";
+  disabled = pythonOlder "3.4";
 
   src = fetchFromGitHub {
     owner = "multiformats";
     repo = pname;
     rev = "v${version}";
-    sha256 = "07qglrbgcb8sr9msqw2v7dqj9s4rs6nyvhdnx02i5w6xx5ibzi3z";
+    sha256 = "sha256-z1lmSypGCMFWJNzNgV9hx/IStyXbpd5jvrptFpewuOA=";
   };
 
   nativeBuildInputs = [
-    pytestrunner
+    pytest-runner
   ];
 
   propagatedBuildInputs = [
     base58
     morphys
     six
-    variants
     varint
   ];
 
   checkInputs = [
-    pytest
-    pytestcov
+    pytestCheckHook
   ];
 
   pythonImportsCheck = [ "multihash" ];
 
-  disabled = isPy27;
-
   meta = with lib; {
     description = "Self describing hashes - for future proofing";
     homepage = "https://github.com/multiformats/py-multihash";
     license = licenses.mit;
     maintainers = with maintainers; [ rakesh4g ];
-    broken = true; # no longer compatible with base58, no updates in 5 years. Added 2020-11-05
   };
 }
diff --git a/pkgs/development/python-modules/pyairnow/default.nix b/pkgs/development/python-modules/pyairnow/default.nix
new file mode 100644
index 0000000000000..51497e8875b77
--- /dev/null
+++ b/pkgs/development/python-modules/pyairnow/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, aiohttp
+, aioresponses
+, buildPythonPackage
+, fetchFromGitHub
+, pytest-aiohttp
+, poetry
+, pytest-asyncio
+, pytest-cov
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pyairnow";
+  version = "1.1.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "asymworks";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1hkpfl8rdwyzqrr1drqlmcw3xpv3pi1jf19h1divspbzwarqxs1c";
+  };
+
+  nativeBuildInputs = [ poetry ];
+
+  propagatedBuildInputs = [ aiohttp ];
+
+  checkInputs = [
+    aioresponses
+    pytest-asyncio
+    pytest-aiohttp
+    pytest-cov
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pyairnow" ];
+
+  meta = with lib; {
+    description = "Python wrapper for EPA AirNow Air Quality API";
+    homepage = "https://github.com/asymworks/pyairnow";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyairvisual/default.nix b/pkgs/development/python-modules/pyairvisual/default.nix
index 2e9aa97f1f23e..882182a3a1ef4 100644
--- a/pkgs/development/python-modules/pyairvisual/default.nix
+++ b/pkgs/development/python-modules/pyairvisual/default.nix
@@ -1,21 +1,21 @@
 { lib
+, aiohttp
+, aresponses
+, asynctest
 , buildPythonPackage
-, pythonOlder
 , fetchFromGitHub
-, poetry
-, aiohttp
 , numpy
+, poetry-core
 , pysmb
-, aresponses
-, asynctest
 , pytest-aiohttp
 , pytest-asyncio
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyairvisual";
-  version = "5.0.5";
+  version = "5.0.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -24,10 +24,10 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "0jjvng3py5g97gvx6rdbk5zxbn5rw8gq1ki4qi4vfsypchxbpz2q";
+    sha256 = "sha256-7u8AwIr1Ah/7zCfXFwj/C/CaD/B3uLRkZ8Gf6d18Xp0=";
   };
 
-  nativeBuildInputs = [ poetry ];
+  nativeBuildInputs = [ poetry-core ];
 
   propagatedBuildInputs = [
     aiohttp
diff --git a/pkgs/development/python-modules/pyalmond/default.nix b/pkgs/development/python-modules/pyalmond/default.nix
new file mode 100644
index 0000000000000..59a9339c2649c
--- /dev/null
+++ b/pkgs/development/python-modules/pyalmond/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pyalmond";
+  version = "0.0.3";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "stanford-oval";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0d1w83lr7k2wxcs846iz4mjyqn1ximnw6155kgl515v10fqyrhgk";
+  };
+
+  propagatedBuildInputs = [ aiohttp ];
+
+  # Tests require a running Almond instance
+  doCheck = false;
+  pythonImportsCheck = [ "pyalmond" ];
+
+  meta = with lib; {
+    description = "Python client for the Almond API";
+    homepage = "https://github.com/stanford-oval/pyalmond";
+    license = with licenses; [ bsd3 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyarrow/default.nix b/pkgs/development/python-modules/pyarrow/default.nix
index b9c84c484dfeb..a38d5df50ddfd 100644
--- a/pkgs/development/python-modules/pyarrow/default.nix
+++ b/pkgs/development/python-modules/pyarrow/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, python, isPy3k, arrow-cpp, cmake, cython, futures, hypothesis, numpy, pandas, pytestCheckHook, pytest-lazy-fixture, pkg-config, setuptools_scm, six }:
+{ lib, buildPythonPackage, python, isPy3k, arrow-cpp, cmake, cython, hypothesis, numpy, pandas, pytestCheckHook, pytest-lazy-fixture, pkg-config, setuptools_scm, six }:
 
 let
   _arrow-cpp = arrow-cpp.override { python3 = python; };
diff --git a/pkgs/development/python-modules/pyatv/default.nix b/pkgs/development/python-modules/pyatv/default.nix
index 9e4f872e6f2e2..2fca74b33aa9d 100644
--- a/pkgs/development/python-modules/pyatv/default.nix
+++ b/pkgs/development/python-modules/pyatv/default.nix
@@ -18,12 +18,12 @@
 
 buildPythonPackage rec {
   pname = "pyatv";
-  version = "0.7.5";
+  version = "0.7.6";
   src = fetchFromGitHub {
     owner = "postlund";
     repo = pname;
     rev = "v${version}";
-    sha256 = "06qj6r9kcal2nimg8rpjfid8rnlz43l7hn0v9v1mpayjmv2fl8sp";
+    sha256 = "1lahv6f97fizgh5b2w5yz9455l8ygn99rslhiygkgjywi2flx3p3";
   };
 
   nativeBuildInputs = [ pytestrunner];
diff --git a/pkgs/development/python-modules/pybids/default.nix b/pkgs/development/python-modules/pybids/default.nix
index 9cca6cf57efca..034bdb6363a0a 100644
--- a/pkgs/development/python-modules/pybids/default.nix
+++ b/pkgs/development/python-modules/pybids/default.nix
@@ -1,7 +1,6 @@
 { buildPythonPackage
 , lib
 , fetchPypi
-, isPy27
 , click
 , num2words
 , numpy
@@ -11,8 +10,7 @@
 , patsy
 , bids-validator
 , sqlalchemy
-, pytest
-, pathlib
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -36,11 +34,8 @@ buildPythonPackage rec {
     sqlalchemy
   ];
 
-  checkInputs = [ pytest ] ++ lib.optionals isPy27 [ pathlib ];
-
-  checkPhase = ''
-    pytest
-  '';
+  checkInputs = [ pytestCheckHook ];
+  pythonImportsCheck = [ "bids" ];
 
   meta = with lib; {
     description = "Python tools for querying and manipulating BIDS datasets";
diff --git a/pkgs/development/python-modules/pycec/default.nix b/pkgs/development/python-modules/pycec/default.nix
new file mode 100644
index 0000000000000..c65ea3a695ff9
--- /dev/null
+++ b/pkgs/development/python-modules/pycec/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, libcec
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pycec";
+  version = "0.5.1";
+
+  src = fetchFromGitHub {
+    owner = "konikvranik";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1ivnmihajhfkwwghgl0f8n9ragpirbmbj1mhj9bmjjc29zzdc3m6";
+  };
+
+  propagatedBuildInputs = [
+    libcec
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pycec" ];
+
+  meta = with lib; {
+    description = "Python modules to access HDMI CEC devices";
+    homepage = "https://github.com/konikvranik/pycec/";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pychannels/default.nix b/pkgs/development/python-modules/pychannels/default.nix
new file mode 100644
index 0000000000000..0c5e290334da1
--- /dev/null
+++ b/pkgs/development/python-modules/pychannels/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "pychannels";
+  version = "1.2.2";
+
+  src = fetchFromGitHub {
+    owner = "fancybits";
+    repo = pname;
+    rev = version;
+    sha256 = "0dqc0vhf6c5r3g7nfbpa668x6z2zxrznk6h907s6sxkq4sbqnhqf";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  # Project has not published tests yet
+  doCheck = false;
+  pythonImportsCheck = [ "pychannels" ];
+
+  meta = with lib; {
+    description = "Python library for interacting with the Channels app";
+    homepage = "https://github.com/fancybits/pychannels";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pychromecast/default.nix b/pkgs/development/python-modules/pychromecast/default.nix
index fecf3f09ca7c2..742ea3d08c680 100644
--- a/pkgs/development/python-modules/pychromecast/default.nix
+++ b/pkgs/development/python-modules/pychromecast/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "PyChromecast";
-  version = "7.7.2";
+  version = "8.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1w7jayb0z529bh1ybb16pfm0m08qqi4px1q0qwlvcxlcrd2v3m5a";
+    sha256 = "sha256-3wKV9lPO51LeOM+O8J8TrZeCxTkk37qhkcpivV4dzhQ=";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/pycryptodomex/default.nix b/pkgs/development/python-modules/pycryptodomex/default.nix
index d58821569e62f..fae49e7be0a77 100644
--- a/pkgs/development/python-modules/pycryptodomex/default.nix
+++ b/pkgs/development/python-modules/pycryptodomex/default.nix
@@ -1,17 +1,23 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
 
 buildPythonPackage rec {
   pname = "pycryptodomex";
-  version = "3.9.9";
-
-  meta = {
-    description = "A self-contained cryptographic library for Python";
-    homepage = "https://www.pycryptodome.org";
-    license = lib.licenses.bsd2;
-  };
+  version = "3.10.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7b5b7c5896f8172ea0beb283f7f9428e0ab88ec248ce0a5b8c98d73e26267d51";
+    sha256 = "sha256-VBzT4+JS+xmntI9CC3mLU0gzArf+TZlUyUdgXQomPWI=";
+  };
+
+  pythonImportsCheck = [ "Cryptodome" ];
+
+  meta = with lib; {
+    description = "A self-contained cryptographic library for Python";
+    homepage = "https://www.pycryptodome.org";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/pkgs/development/python-modules/pydaikin/default.nix b/pkgs/development/python-modules/pydaikin/default.nix
new file mode 100644
index 0000000000000..209ef3dbc2356
--- /dev/null
+++ b/pkgs/development/python-modules/pydaikin/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromBitbucket
+, freezegun
+, netifaces
+, pytest-aiohttp
+, pytestCheckHook
+, pythonOlder
+, urllib3
+}:
+
+buildPythonPackage rec {
+  pname = "pydaikin";
+  version = "2.4.1";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromBitbucket {
+    owner = "mustang51";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1624adp4lqd1n9flnf0wqrcibml2nd19ga3fmxzjg4x5z6767bs3";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    netifaces
+    urllib3
+  ];
+
+  checkInputs = [
+    freezegun
+    pytest-aiohttp
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pydaikin" ];
+
+  meta = with lib; {
+    description = "Python Daikin HVAC appliances interface";
+    homepage = "https://bitbucket.org/mustang51/pydaikin";
+    license = with licenses; [ gpl3Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pydantic/default.nix b/pkgs/development/python-modules/pydantic/default.nix
index 9bf4bede1faf0..d3c6e37bbe4b1 100644
--- a/pkgs/development/python-modules/pydantic/default.nix
+++ b/pkgs/development/python-modules/pydantic/default.nix
@@ -1,44 +1,45 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
-, ujson
 , email_validator
-, typing-extensions
-, python
-, isPy3k
-, pytest
-, pytestcov
+, fetchFromGitHub
 , pytest-mock
+, pytestCheckHook
+, python-dotenv
+, pythonOlder
+, typing-extensions
+, ujson
 }:
 
 buildPythonPackage rec {
   pname = "pydantic";
-  version = "1.7.3";
-  disabled = !isPy3k;
+  version = "1.8";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "samuelcolvin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "xihEDmly0vprmA+VdeCoGXg9PjWRPmBWAwk/9f2DLts=";
+    sha256 = "sha256-+HfnM/IrFlUyQJdiOYyaJUNenh8dLtd8CUJWSbn6hwQ=";
   };
 
   propagatedBuildInputs = [
-    ujson
     email_validator
+    python-dotenv
     typing-extensions
+    ujson
   ];
 
   checkInputs = [
-    pytest
-    pytestcov
     pytest-mock
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    pytest
+  preCheck = ''
+    export HOME=$(mktemp -d)
   '';
 
+  pythonImportsCheck = [ "pydantic" ];
+
   meta = with lib; {
     homepage = "https://github.com/samuelcolvin/pydantic";
     description = "Data validation and settings management using Python type hinting";
diff --git a/pkgs/development/python-modules/pydsdl/default.nix b/pkgs/development/python-modules/pydsdl/default.nix
index 655adecd5c898..08029d35df5bf 100644
--- a/pkgs/development/python-modules/pydsdl/default.nix
+++ b/pkgs/development/python-modules/pydsdl/default.nix
@@ -2,25 +2,24 @@
 
  buildPythonPackage rec {
   pname = "pydsdl";
-  version = "1.4.2";
+  version = "1.9.4";
   disabled = pythonOlder "3.5"; # only python>=3.5 is supported
 
   src = fetchFromGitHub {
     owner = "UAVCAN";
     repo = pname;
     rev = version;
-    sha256 = "03kbpzdrjzj5vpgz5rhc110pm1axdn3ynv88b42zq6iyab4k8k1x";
+    sha256 = "1hmmc4sg6dckbx2ghcjpi74yprapa6lkxxzy0h446mvyngp0kwfv";
   };
 
-  propagatedBuildInputs = [
-  ];
-
   # allow for writable directory for darwin
   preBuild = ''
     export HOME=$TMPDIR
   '';
 
-  # repo doesn't contain tests, ensure imports aren't broken
+  # repo doesn't contain tests
+  doCheck = false;
+
   pythonImportsCheck = [
     "pydsdl"
   ];
diff --git a/pkgs/development/python-modules/pyeight/default.nix b/pkgs/development/python-modules/pyeight/default.nix
new file mode 100644
index 0000000000000..b3a2de5ed4040
--- /dev/null
+++ b/pkgs/development/python-modules/pyeight/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, aiohttp
+, async-timeout
+, buildPythonPackage
+, fetchFromGitHub
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "pyeight";
+  version = "0.1.5";
+  disabled = !isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "mezz64";
+    repo = "pyEight";
+    rev = version;
+    sha256 = "1wzmjqs8zx611b71ip7a0phyas96vxpq8xpnhrirfi9l09kdjgsw";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    async-timeout
+  ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "pyeight" ];
+
+  meta = with lib; {
+    description = "Python library to interface with the Eight Sleep API";
+    homepage = "https://github.com/mezz64/pyEight";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyfakefs/default.nix b/pkgs/development/python-modules/pyfakefs/default.nix
index 64ec58487c45a..8ba9b3fc46fcd 100644
--- a/pkgs/development/python-modules/pyfakefs/default.nix
+++ b/pkgs/development/python-modules/pyfakefs/default.nix
@@ -1,13 +1,19 @@
-{ lib, stdenv, buildPythonPackage, fetchPypi, pythonOlder, python, pytest, glibcLocales }:
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
-  version = "4.3.2";
+  version = "4.3.3";
   pname = "pyfakefs";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dfeed4715e2056e3e56b9c5f51a679ce2934897eef926f3d14e5364e43f19070";
+    sha256 = "sha256-/7KrJkoLg69Uii2wxQl5jiCDYd85YBuomK5lzs+1nLs=";
   };
 
   postPatch = ''
@@ -17,28 +23,22 @@ buildPythonPackage rec {
     substituteInPlace pyfakefs/tests/fake_os_test.py \
       --replace "test_path_links_not_resolved" "notest_path_links_not_resolved" \
       --replace "test_append_mode_tell_linux_windows" "notest_append_mode_tell_linux_windows"
-    substituteInPlace pyfakefs/tests/fake_filesystem_unittest_test.py \
-      --replace "test_copy_real_file" "notest_copy_real_file"
   '' + (lib.optionalString stdenv.isDarwin ''
     # this test fails on darwin due to case-insensitive file system
     substituteInPlace pyfakefs/tests/fake_os_test.py \
       --replace "test_rename_dir_to_existing_dir" "notest_rename_dir_to_existing_dir"
   '');
 
-  checkInputs = [ pytest glibcLocales ];
-
-  checkPhase = ''
-    export LC_ALL=en_US.UTF-8
-    ${python.interpreter} -m pyfakefs.tests.all_tests
-    ${python.interpreter} -m pyfakefs.tests.all_tests_without_extra_packages
-    ${python.interpreter} -m pytest pyfakefs/pytest_tests/pytest_plugin_test.py
-  '';
+  checkInputs = [ pytestCheckHook ];
+  # https://github.com/jmcgeheeiv/pyfakefs/issues/581 (OSError: [Errno 9] Bad file descriptor)
+  disabledTests = [ "test_open_existing_pipe" ];
+  pythonImportsCheck = [ "pyfakefs" ];
 
   meta = with lib; {
     description = "Fake file system that mocks the Python file system modules";
-    license     = licenses.asl20;
-    homepage    = "http://pyfakefs.org/";
-    changelog   = "https://github.com/jmcgeheeiv/pyfakefs/blob/master/CHANGES.md";
+    homepage = "http://pyfakefs.org/";
+    changelog = "https://github.com/jmcgeheeiv/pyfakefs/blob/master/CHANGES.md";
+    license = licenses.asl20;
     maintainers = with maintainers; [ gebner ];
   };
 }
diff --git a/pkgs/development/python-modules/pyfftw/default.nix b/pkgs/development/python-modules/pyfftw/default.nix
index 155254a6af358..96e807f8eba3c 100644
--- a/pkgs/development/python-modules/pyfftw/default.nix
+++ b/pkgs/development/python-modules/pyfftw/default.nix
@@ -10,20 +10,18 @@ buildPythonPackage rec {
     sha256 = "60988e823ca75808a26fd79d88dbae1de3699e72a293f812aa4534f8a0a58cb0";
   };
 
+  preConfigure = ''
+    export LDFLAGS="-L${fftw.out}/lib -L${fftwFloat.out}/lib -L${fftwLongDouble.out}/lib"
+    export CFLAGS="-I${fftw.dev}/include -I${fftwFloat.dev}/include -I${fftwLongDouble.dev}/include"
+  '';
+
   buildInputs = [ fftw fftwFloat fftwLongDouble];
 
   propagatedBuildInputs = [ numpy scipy cython dask ];
 
   # Tests cannot import pyfftw. pyfftw works fine though.
   doCheck = false;
-
-  preConfigure = ''
-    export LDFLAGS="-L${fftw.out}/lib -L${fftwFloat.out}/lib -L${fftwLongDouble.out}/lib"
-    export CFLAGS="-I${fftw.dev}/include -I${fftwFloat.dev}/include -I${fftwLongDouble.dev}/include"
-  '';
-  #+ optionalString isDarwin ''
-  #  export DYLD_LIBRARY_PATH="${pkgs.fftw.out}/lib"
-  #'';
+  pythonImportsCheck = [ "pyfftw" ];
 
   meta = with lib; {
     description = "A pythonic wrapper around FFTW, the FFT library, presenting a unified interface for all the supported transforms";
diff --git a/pkgs/development/python-modules/pyflume/default.nix b/pkgs/development/python-modules/pyflume/default.nix
new file mode 100644
index 0000000000000..a1d36670a396b
--- /dev/null
+++ b/pkgs/development/python-modules/pyflume/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, pyjwt
+, ratelimit
+, pytz
+, requests
+, requests-mock
+}:
+
+buildPythonPackage rec {
+  pname = "pyflume";
+  version = "0.6.2";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "ChrisMandich";
+    repo = "PyFlume";
+    rev = "v${version}";
+    sha256 = "0i181c8722j831bjlcjwv5ccy20hl8zzlv7bfp8w0976gdmv4iz8";
+  };
+
+  propagatedBuildInputs = [
+    pyjwt
+    ratelimit
+    pytz
+    requests
+  ];
+
+  checkInputs = [
+    requests-mock
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pyflume" ];
+
+  meta = with lib; {
+    description = "Python module to work with Flume sensors";
+    homepage = "https://github.com/ChrisMandich/PyFlume";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyflunearyou/default.nix b/pkgs/development/python-modules/pyflunearyou/default.nix
new file mode 100644
index 0000000000000..9b77cc61de693
--- /dev/null
+++ b/pkgs/development/python-modules/pyflunearyou/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, aiohttp
+, aresponses
+, aiocache
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pytest-asyncio
+, pytest-aiohttp
+, pytestCheckHook
+, pythonOlder
+, msgpack
+, ujson
+}:
+
+buildPythonPackage rec {
+  pname = "pyflunearyou";
+  version = "2.0.0";
+  format = "pyproject";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "bachya";
+    repo = pname;
+    rev = version;
+    sha256 = "18vxwfyvicbx8idpa0h0alp4ygnwfph6g4kq93hfm0fc94gi6h94";
+  };
+
+  nativeBuildInputs = [ poetry-core ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    aiocache
+    msgpack
+    ujson
+  ];
+
+  checkInputs = [
+    aresponses
+    pytest-asyncio
+    pytest-aiohttp
+    pytestCheckHook
+  ];
+
+  # Ignore the examples directory as the files are prefixed with test_.
+  # disabledTestFiles doesn't seem to work here
+  pytestFlagsArray = [ "--ignore examples/" ];
+  pythonImportsCheck = [ "pyflunearyou" ];
+
+  meta = with lib; {
+    description = "Python library for retrieving UV-related information from Flu Near You";
+    homepage = "https://github.com/bachya/pyflunearyou";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pygraphviz/default.nix b/pkgs/development/python-modules/pygraphviz/default.nix
index e9b66a95771b7..bac70be9987fb 100644
--- a/pkgs/development/python-modules/pygraphviz/default.nix
+++ b/pkgs/development/python-modules/pygraphviz/default.nix
@@ -1,40 +1,48 @@
-{ lib, buildPythonPackage, isPy3k, fetchPypi, substituteAll, graphviz
-, pkg-config, doctest-ignore-unicode, mock, nose }:
+{ lib
+, buildPythonPackage
+, isPy3k
+, fetchPypi
+, substituteAll
+, graphviz
+, coreutils
+, pkg-config
+, pytest
+}:
 
 buildPythonPackage rec {
   pname = "pygraphviz";
-  version = "1.6";
+  version = "1.7";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "411ae84a5bc313e3e1523a1cace59159f512336318a510573b47f824edef8860";
+    sha256 = "a7bec6609f37cf1e64898c59f075afd659106cf9356c5f387cecaa2e0cdb2304";
     extension = "zip";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ graphviz ];
-  checkInputs = [ doctest-ignore-unicode mock nose ];
-
   patches = [
-    # pygraphviz depends on graphviz being in PATH. This patch always prepends
-    # graphviz to PATH.
+    # pygraphviz depends on graphviz executables and wc being in PATH
     (substituteAll {
-      src = ./graphviz-path.patch;
-      inherit graphviz;
+      src = ./path.patch;
+      path = lib.makeBinPath [ graphviz coreutils ];
     })
   ];
 
-  # The tests are currently failing because of a bug in graphviz 2.40.1.
-  # Upstream does not want to skip the relevant tests:
-  # https://github.com/pygraphviz/pygraphviz/pull/129
-  doCheck = false;
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ graphviz ];
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    pytest --pyargs pygraphviz
+  '';
 
   meta = with lib; {
     description = "Python interface to Graphviz graph drawing package";
     homepage = "https://github.com/pygraphviz/pygraphviz";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ matthiasbeyer ];
+    maintainers = with maintainers; [ matthiasbeyer dotlambda ];
   };
 }
diff --git a/pkgs/development/python-modules/pygraphviz/graphviz-path.patch b/pkgs/development/python-modules/pygraphviz/graphviz-path.patch
deleted file mode 100644
index e4ff925009d79..0000000000000
--- a/pkgs/development/python-modules/pygraphviz/graphviz-path.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/pygraphviz/agraph.py b/pygraphviz/agraph.py
-index 8f72024..2d8358e 100644
---- a/pygraphviz/agraph.py
-+++ b/pygraphviz/agraph.py
-@@ -1557,7 +1557,7 @@ class AGraph(object):
-         import os
-         import glob
- 
--        paths = os.environ["PATH"]
-+        paths = '@graphviz@/bin:' + os.environ["PATH"]
-         if os.name == "nt":
-             exe = ".exe"
-         else:
diff --git a/pkgs/development/python-modules/pygraphviz/path.patch b/pkgs/development/python-modules/pygraphviz/path.patch
new file mode 100644
index 0000000000000..a895eae775673
--- /dev/null
+++ b/pkgs/development/python-modules/pygraphviz/path.patch
@@ -0,0 +1,13 @@
+diff --git a/pygraphviz/agraph.py b/pygraphviz/agraph.py
+index d539ba0..f5bac3f 100644
+--- a/pygraphviz/agraph.py
++++ b/pygraphviz/agraph.py
+@@ -1792,7 +1792,7 @@ class AGraph:
+         if platform.system() == "Windows":
+             name += ".exe"
+ 
+-        paths = os.environ["PATH"]
++        paths = '@path@'
+         for path in paths.split(os.pathsep):
+             match = glob.glob(os.path.join(path, name))
+             if match:
diff --git a/pkgs/development/python-modules/pyicloud/default.nix b/pkgs/development/python-modules/pyicloud/default.nix
index 6e808a0105853..039d6259f36d9 100644
--- a/pkgs/development/python-modules/pyicloud/default.nix
+++ b/pkgs/development/python-modules/pyicloud/default.nix
@@ -1,40 +1,46 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, requests
+, fetchFromGitHub
+, certifi
+, click
 , keyring
 , keyrings-alt
-, click
+, pytz
+, requests
 , six
 , tzlocal
-, certifi
-, bitstring
-, unittest2
+, pytest-mock
+, pytestCheckHook
 , future
 }:
 
 buildPythonPackage rec {
   pname = "pyicloud";
-  version = "0.9.7";
+  version = "0.10.2";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "dcebb32e474bc28aa77b944a0a64949ef3b5b852cbef6256fbc95347a04e777c";
+  src = fetchFromGitHub {
+    owner = "picklepete";
+    repo = pname;
+    rev = version;
+    sha256 = "0bxbhvimwbj2jm8dg7sil8yvln17xgjhvpwr4m783vwfcf76kdmy";
   };
 
   propagatedBuildInputs = [
-    requests
+    certifi
+    click
+    future
     keyring
     keyrings-alt
-    click
+    pytz
+    requests
     six
     tzlocal
-    certifi
-    bitstring
-    future
   ];
 
-  checkInputs = [ unittest2 ];
+  checkInputs = [
+    pytest-mock
+    pytestCheckHook
+  ];
 
   postPatch = ''
     sed -i \
diff --git a/pkgs/development/python-modules/pyipp/default.nix b/pkgs/development/python-modules/pyipp/default.nix
index ed5a5f4576abb..dfef79a4dcae3 100644
--- a/pkgs/development/python-modules/pyipp/default.nix
+++ b/pkgs/development/python-modules/pyipp/default.nix
@@ -6,7 +6,7 @@
 , fetchFromGitHub
 , pytest-asyncio
 , pytestCheckHook
-, pytestcov
+, pytest-cov
 , yarl
 }:
 
@@ -30,24 +30,10 @@ buildPythonPackage rec {
   checkInputs = [
     aresponses
     pytest-asyncio
-    pytestcov
+    pytest-cov
     pytestCheckHook
   ];
 
-  # Some tests are failing due to encoding issues
-  # https://github.com/ctalkington/python-ipp/issues/121
-  disabledTests = [
-    "test_internal_session"
-    "test_request_port"
-    "est_http_error426"
-    "test_unexpected_response"
-    "test_printer"
-    "test_raw"
-    "test_ipp_request"
-    "test_request_tls"
-    "test_ipp_error_0x0503"
-  ];
-
   pythonImportsCheck = [ "pyipp" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pylink-square/default.nix b/pkgs/development/python-modules/pylink-square/default.nix
new file mode 100644
index 0000000000000..287e8c338a81d
--- /dev/null
+++ b/pkgs/development/python-modules/pylink-square/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fetchFromGitHub
+, mock
+, psutil
+, six
+, future
+}:
+
+let
+  mock' = mock.overridePythonAttrs (old: rec {
+    version = "2.0.0";
+    src = fetchPypi {
+      inherit (old) pname;
+      inherit version;
+      sha256 = "1flbpksir5sqrvq2z0dp8sl4bzbadg21sj4d42w3klpdfvgvcn5i";
+    };
+  });
+in buildPythonPackage rec {
+  pname = "pylink-square";
+  version = "0.8.1";
+
+  src = fetchFromGitHub {
+    owner = "square";
+    repo = "pylink";
+    rev = "v${version}";
+    sha256 = "1q5sm1017pcqcgwhsliiiv1wh609lrjdlc8f5ihlschk1d0qidpd";
+  };
+
+  buildInputs = [ mock' ];
+  propagatedBuildInputs = [ psutil six future ];
+
+  preCheck = ''
+    # For an unknown reason, `pylink --version` output is different
+    # inside the nix build environment across different python versions
+    substituteInPlace tests/unit/test_main.py --replace \
+      "expected = 'pylink %s' % pylink.__version__" \
+      "return"
+  '';
+
+  pythonImportsCheck = [ "pylink" ];
+
+  meta = with lib; {
+    description = "Python interface for the SEGGER J-Link";
+    homepage = "https://github.com/Square/pylink";
+    maintainers = with maintainers; [ dump_stack ];
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix
index 102619b2b31e8..19ffb6419d9ab 100644
--- a/pkgs/development/python-modules/pylint/default.nix
+++ b/pkgs/development/python-modules/pylint/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "pylint";
-  version = "2.6.0";
+  version = "2.6.2";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bb4a908c9dadbc3aac18860550e870f58e1a02c9f2c204fdf5693d73be061210";
+    sha256 = "sha256-cYt0eG6n7QeqDFi/VyFU1Geflg0m6WQcwd4gSjC4f8k=";
   };
 
   nativeBuildInputs = [ pytestrunner installShellFiles ];
diff --git a/pkgs/development/python-modules/pyls-mypy/default.nix b/pkgs/development/python-modules/pyls-mypy/default.nix
index b9cf9738ed425..eaf069c8ccb45 100644
--- a/pkgs/development/python-modules/pyls-mypy/default.nix
+++ b/pkgs/development/python-modules/pyls-mypy/default.nix
@@ -1,6 +1,6 @@
 { lib, buildPythonPackage, fetchFromGitHub, isPy27
 , future, python-language-server, mypy, configparser
-, pytestCheckHook, mock, isPy3k, pytestcov, coverage
+, pytestCheckHook, mock, pytestcov, coverage
 , fetchpatch
 }:
 
diff --git a/pkgs/development/python-modules/pylxd/default.nix b/pkgs/development/python-modules/pylxd/default.nix
new file mode 100644
index 0000000000000..5d373ada09b50
--- /dev/null
+++ b/pkgs/development/python-modules/pylxd/default.nix
@@ -0,0 +1,30 @@
+{ lib, buildPythonPackage, fetchPypi, pbr, dateutil, ws4py, requests-unixsocket, requests-toolbelt, mock }:
+
+buildPythonPackage rec {
+  pname = "pylxd";
+  version = "2.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1db88l55q974fm9z5gllx3i8bkj0jzi25xrr5cs6id3bfy4zp8a7";
+  };
+
+  propagatedBuildInputs = [
+    pbr
+    dateutil
+    ws4py
+    requests-unixsocket
+    requests-toolbelt
+  ];
+
+  # tests require an old version of requests-mock that we do not have a package for
+  doCheck = false;
+  pythonImportsCheck = [ "pylxd" ];
+
+  meta = with lib; {
+    description = "A Python library for interacting with the LXD REST API";
+    homepage = "https://pylxd.readthedocs.io/en/latest/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ petabyteboy ];
+  };
+}
diff --git a/pkgs/development/python-modules/pymatgen-lammps/default.nix b/pkgs/development/python-modules/pymatgen-lammps/default.nix
index c80472a6730a5..72f362f85c456 100644
--- a/pkgs/development/python-modules/pymatgen-lammps/default.nix
+++ b/pkgs/development/python-modules/pymatgen-lammps/default.nix
@@ -3,14 +3,14 @@
 , buildPythonPackage
 , pymatgen
 , pytestrunner
-, pytest
+, pytestCheckHook
 , isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "pymatgen-lammps";
   version = "0.4.5";
-  disabled = (!isPy3k);
+  disabled = !isPy3k;
 
   src = fetchurl {
      url = "https://gitlab.com/costrouc/${pname}/-/archive/v${version}/${pname}-v${version}.tar.gz";
@@ -18,13 +18,17 @@ buildPythonPackage rec {
   };
 
   buildInputs = [ pytestrunner ];
-  checkInputs = [ pytest ];
+  checkInputs = [ pytestCheckHook ];
   propagatedBuildInputs = [ pymatgen ];
 
+  pythonImportsCheck = [ "pmg_lammps" ];
+
   meta = {
     description = "A LAMMPS wrapper using pymatgen";
     homepage = "https://gitlab.com/costrouc/pymatgen-lammps";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ costrouc ];
+    # not compatible with recent versions of pymatgen
+    broken = true;
   };
 }
diff --git a/pkgs/development/python-modules/pymatgen/default.nix b/pkgs/development/python-modules/pymatgen/default.nix
index bae7a5613239c..448b4c3c338aa 100644
--- a/pkgs/development/python-modules/pymatgen/default.nix
+++ b/pkgs/development/python-modules/pymatgen/default.nix
@@ -52,6 +52,7 @@ buildPythonPackage rec {
 
   # No tests in pypi tarball.
   doCheck = false;
+  pythonImportsCheck = [ "pymatgen" ];
 
   meta = with lib; {
     description = "A robust materials analysis code that defines core object representations for structures and molecules";
diff --git a/pkgs/development/python-modules/pymediaroom/default.nix b/pkgs/development/python-modules/pymediaroom/default.nix
new file mode 100644
index 0000000000000..e977cb23d7520
--- /dev/null
+++ b/pkgs/development/python-modules/pymediaroom/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, async-timeout
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, xmltodict
+}:
+
+buildPythonPackage rec {
+  pname = "pymediaroom";
+  version = "0.6.4.1";
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "dgomes";
+    repo = pname;
+    rev = version;
+    sha256 = "1klf2dxd8rlq3n4b9m03lzwcsasn9vi6m3hzrjqhqnprhrnp0xmy";
+  };
+
+  propagatedBuildInputs = [
+    async-timeout
+    xmltodict
+  ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "pymediaroom" ];
+
+  meta = with lib; {
+    description = "Python Remote Control for Mediaroom STB";
+    homepage = "https://github.com/dgomes/pymediaroom";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pymitv/default.nix b/pkgs/development/python-modules/pymitv/default.nix
new file mode 100644
index 0000000000000..ffaabb04a2915
--- /dev/null
+++ b/pkgs/development/python-modules/pymitv/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "pymitv";
+  version = "1.4.3";
+  disabled = pythonOlder "3.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0jbs1zhqpnsyad3pd8cqy1byv8m5bq17ydc6crmrfkjbp6xvvg3x";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  # Projec thas no tests
+  doCheck = false;
+  pythonImportsCheck = [ "pymitv" ];
+
+  meta = with lib; {
+    description = "Python client the Mi Tv 3";
+    homepage = "https://github.com/simse/pymitv";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pymsteams/default.nix b/pkgs/development/python-modules/pymsteams/default.nix
new file mode 100644
index 0000000000000..a475d074efd6c
--- /dev/null
+++ b/pkgs/development/python-modules/pymsteams/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "pymsteams";
+  version = "0.1.14";
+
+  src = fetchFromGitHub {
+    owner = "rveachkc";
+    repo = pname;
+    rev = version;
+    sha256 = "19gnsjzf3kwcwp2rwa30zpqjqgxb9plgcsx7fqbmxnrxgw99fyqx";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  # Tests require network access
+  doCheck = false;
+  pythonImportsCheck = [ "pymsteams" ];
+
+  meta = with lib; {
+    description = "Python module to interact with Microsoft Teams";
+    homepage = "https://github.com/rveachkc/pymsteams";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pymyq/default.nix b/pkgs/development/python-modules/pymyq/default.nix
index 2500909d534e3..e93d0b602b4d8 100644
--- a/pkgs/development/python-modules/pymyq/default.nix
+++ b/pkgs/development/python-modules/pymyq/default.nix
@@ -1,26 +1,26 @@
 { lib
-, aiodns
 , aiohttp
-, async-timeout
+, beautifulsoup4
 , buildPythonPackage
 , fetchFromGitHub
+, pkce
 }:
 
 buildPythonPackage rec {
   pname = "pymyq";
-  version = "2.0.14";
+  version = "3.0.3";
 
   src = fetchFromGitHub {
     owner = "arraylabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "18825b9c6qk4zcvva79hpg6098z4zqxyapnqmjsli23npw0zh67w";
+    sha256 = "1wrfnbz87ns2ginyvljna0axl35s0xfaiqwzapxm8ira40ax5wrl";
   };
 
   propagatedBuildInputs = [
-    aiodns
     aiohttp
-    async-timeout
+    beautifulsoup4
+    pkce
   ];
 
   # Project has no tests
diff --git a/pkgs/development/python-modules/pymysensors/default.nix b/pkgs/development/python-modules/pymysensors/default.nix
new file mode 100644
index 0000000000000..bbfeec3a36ceb
--- /dev/null
+++ b/pkgs/development/python-modules/pymysensors/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, buildPythonPackage
+, click
+, crcmod
+, fetchFromGitHub
+, getmac
+, intelhex
+, paho-mqtt
+, pyserial
+, pyserial-asyncio
+, pytest-sugar
+, pytest-timeout
+, pytestCheckHook
+, pythonOlder
+, voluptuous
+}:
+
+buildPythonPackage rec {
+  pname = "pymysensors";
+  version = "0.20.1";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "theolind";
+    repo = pname;
+    rev = version;
+    sha256 = "1hz3551ydsmd23havd0dljmvkhzjnmd28k41ws60s8ms3gzlzqfy";
+  };
+
+  propagatedBuildInputs = [
+    click
+    crcmod
+    getmac
+    intelhex
+    paho-mqtt
+    pyserial
+    pyserial-asyncio
+    voluptuous
+  ];
+
+  checkInputs = [
+    pytest-sugar
+    pytest-timeout
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "mysensors" ];
+
+  meta = with lib; {
+    description = "Python API for talking to a MySensors gateway";
+    homepage = "https://github.com/theolind/pymysensors";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pynmea2/default.nix b/pkgs/development/python-modules/pynmea2/default.nix
index de208c7a9dbbb..bf9a9eecfb87f 100644
--- a/pkgs/development/python-modules/pynmea2/default.nix
+++ b/pkgs/development/python-modules/pynmea2/default.nix
@@ -1,16 +1,15 @@
-{ lib, buildPythonPackage, fetchPypi, pytest }:
+{ lib, buildPythonPackage, fetchPypi, pytestCheckHook }:
 
 buildPythonPackage rec {
   pname = "pynmea2";
-  version = "1.15.0";
+  version = "1.16.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8b83fa7e3e668af5e182ef1c2fd4a535433ecadf60d7b627280172d695a1646b";
+    sha256 = "0w9g5qh573276404f04b46684ydlakv30ds0x0r4kcl370ljmfsg";
   };
 
-  checkInputs = [ pytest ];
-  checkPhase = "pytest";
+  checkInputs = [ pytestCheckHook ];
 
   meta = {
     homepage = "https://github.com/Knio/pynmea2";
diff --git a/pkgs/development/python-modules/pynuki/default.nix b/pkgs/development/python-modules/pynuki/default.nix
new file mode 100644
index 0000000000000..9c3dc394cc046
--- /dev/null
+++ b/pkgs/development/python-modules/pynuki/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "pynuki";
+  version = "1.4.1";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "pschmitt";
+    repo = pname;
+    rev = version;
+    sha256 = "1nymlrf0j430851plp355697p55asfxjmavdh2zr96b16d41dnn4";
+  };
+
+  nativeBuildInputs = [ poetry-core ];
+
+  propagatedBuildInputs = [ requests ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "pynuki" ];
+
+  meta = with lib; {
+    description = "Python bindings for nuki.io bridges";
+    homepage = "https://github.com/pschmitt/pynuki";
+    license = with licenses; [ gpl3Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pynws/default.nix b/pkgs/development/python-modules/pynws/default.nix
new file mode 100644
index 0000000000000..abe4c93b818f4
--- /dev/null
+++ b/pkgs/development/python-modules/pynws/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, freezegun
+, metar
+, pytest-aiohttp
+, pytest-asyncio
+, pytest-cov
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pynws";
+  version = "1.3.0";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "MatthewFlamm";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "13ipmx60kicwh8qxjazap4vk94x8i3r0lnkdsap7gffaizwgp49d";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    metar
+  ];
+
+  checkInputs = [
+    freezegun
+    pytest-aiohttp
+    pytest-asyncio
+    pytest-cov
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pynws" ];
+
+  meta = with lib; {
+    description = "Python library to retrieve data from NWS/NOAA";
+    homepage = "https://github.com/MatthewFlamm/pynws";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyopenuv/default.nix b/pkgs/development/python-modules/pyopenuv/default.nix
new file mode 100644
index 0000000000000..a5414021b259a
--- /dev/null
+++ b/pkgs/development/python-modules/pyopenuv/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, aiohttp
+, aresponses
+, async-timeout
+, asynctest
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pytest-aiohttp
+, pytest-asyncio
+, pytest-cov
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pyopenuv";
+  version = "2.0.1";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "bachya";
+    repo = pname;
+    rev = version;
+    sha256 = "1pzdcy65gndrlyhrwyc1rwsh8n4w79wla8n9fr13m00vac3cqkl0";
+  };
+
+  nativeBuildInputs = [ poetry-core ];
+
+  propagatedBuildInputs = [ aiohttp ];
+
+  checkInputs = [
+    aresponses
+    asynctest
+    pytest-asyncio
+    pytest-aiohttp
+    pytest-cov
+    pytestCheckHook
+  ];
+
+  # Ignore the examples as they are prefixed with test_
+  pytestFlagsArray = [ "--ignore examples/" ];
+  pythonImportsCheck = [ "pyopenuv" ];
+
+  meta = with lib; {
+    description = "Python API to retrieve data from openuv.io";
+    homepage = "https://github.com/bachya/pyopenuv";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyotp/default.nix b/pkgs/development/python-modules/pyotp/default.nix
index 7ad07b3a6e8c3..16916666a0d58 100644
--- a/pkgs/development/python-modules/pyotp/default.nix
+++ b/pkgs/development/python-modules/pyotp/default.nix
@@ -2,19 +2,19 @@
 
 buildPythonPackage rec {
   pname = "pyotp";
-  version = "2.4.1";
+  version = "2.6.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "038a3f70b34eaad3f72459e8b411662ef8dfcdd95f7d9203fa489e987a75584b";
+    sha256 = "d28ddfd40e0c1b6a6b9da961c7d47a10261fb58f378cb00f05ce88b26df9c432";
   };
 
   pythonImportsCheck = [ "pyotp" ];
 
   meta = with lib; {
     description = "Python One Time Password Library";
-    homepage = "https://github.com/pyotp/pyotp";
+    homepage = "https://github.com/pyauth/pyotp";
     license = licenses.mit;
     maintainers = with maintainers; [ dotlambda ];
   };
diff --git a/pkgs/development/python-modules/pyowm/default.nix b/pkgs/development/python-modules/pyowm/default.nix
index 423d38ab25d8c..3cfb70e7b8750 100644
--- a/pkgs/development/python-modules/pyowm/default.nix
+++ b/pkgs/development/python-modules/pyowm/default.nix
@@ -1,30 +1,42 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder, requests, geojson }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, geojson
+, pysocks
+, pythonOlder
+, requests
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "pyowm";
-  version = "3.1.1";
+  version = "3.2.0";
+  disabled = pythonOlder "3.7";
 
-  disabled = pythonOlder "3.3";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "a7b18297a9189dbe5f6b454b12d61a407e35c7eb9ca75bcabfe5e1c83245290d";
+  src = fetchFromGitHub {
+    owner = "csparpa";
+    repo = pname;
+    rev = version;
+    sha256 = "0sq8rxcgdiayl5gy4qhkvvsdq1d93sbzn0nfg8f1vr8qxh8qkfq4";
   };
 
-  propagatedBuildInputs = [ requests geojson ];
+  propagatedBuildInputs = [
+    geojson
+    pysocks
+    requests
+  ];
+
+  checkInputs = [ pytestCheckHook ];
 
-  # This may actually break the package.
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "requests>=2.18.2,<2.19" "requests"
-  '';
+  # Run only tests which don't require network access
+  pytestFlagsArray = [ "tests/unit" ];
 
-  # No tests in archive
-  doCheck = false;
+  pythonImportsCheck = [ "pyowm" ];
 
   meta = with lib; {
-    description = "A Python wrapper around the OpenWeatherMap web API";
+    description = "Python wrapper around the OpenWeatherMap web API";
     homepage = "https://pyowm.readthedocs.io/";
     license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/pkgs/development/python-modules/pypcap/default.nix b/pkgs/development/python-modules/pypcap/default.nix
index 08c90d8289866..fbf6769ab4ca0 100644
--- a/pkgs/development/python-modules/pypcap/default.nix
+++ b/pkgs/development/python-modules/pypcap/default.nix
@@ -1,34 +1,50 @@
-{ lib, writeText, buildPythonPackage, fetchPypi, libpcap, dpkt }:
+{ lib
+, buildPythonPackage
+, dpkt
+, fetchFromGitHub
+, fetchpatch
+, libpcap
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "pypcap";
   version = "1.2.3";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1w5i79gh7cswvznr8rhilcmzhnh2y5c4jwh2qrfnpx05zqigm1xd";
+
+  src = fetchFromGitHub {
+    owner = "pynetwork";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1zscfk10jpqwxgc8d84y8bffiwr92qrg2b24afhjwiyr352l67cf";
   };
 
   patches = [
-    # The default setup.py searchs for pcap.h in a static list of default
-    # folders. So we have to add the path to libpcap in the nix-store.
-    (writeText "libpcap-path.patch"
-      ''
-      --- a/setup.py
-      +++ b/setup.py
-      @@ -28,6 +28,7 @@ def recursive_search(path, target_files):
-
-       def find_prefix_and_pcap_h():
-           prefixes = chain.from_iterable((
-      +        '${libpcap}',
-               ('/usr', sys.prefix),
-               glob.glob('/opt/libpcap*'),
-               glob.glob('../libpcap*'),
-      '')
+    # Support for Python 3.9, https://github.com/pynetwork/pypcap/pull/102
+    (fetchpatch {
+      name = "support-python-3.9.patch";
+      url = "https://github.com/pynetwork/pypcap/pull/102/commits/e22f5d25f0d581d19ef337493434e72cd3a6ae71.patch";
+      sha256 = "0n1syh1vcplgsf6njincpqphd2w030s3b2jyg86d7kbqv1w5wk0l";
+    })
   ];
 
+  postPatch = ''
+    # Add the path to libpcap in the nix-store
+    substituteInPlace setup.py --replace "('/usr', sys.prefix)" "'${libpcap}'"
+    # Remove coverage from test run
+    sed -i "/--cov/d" setup.cfg
+  '';
+
   buildInputs = [ libpcap ];
-  checkInputs = [ dpkt ];
+
+  checkInputs = [
+    dpkt
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [ "tests" ];
+
+  pythonImportsCheck = [ "pcap" ];
 
   meta = with lib; {
     homepage = "https://github.com/pynetwork/pypcap";
diff --git a/pkgs/development/python-modules/pypugjs/default.nix b/pkgs/development/python-modules/pypugjs/default.nix
index 22ac89cf6a902..4e2bf164a3378 100644
--- a/pkgs/development/python-modules/pypugjs/default.nix
+++ b/pkgs/development/python-modules/pypugjs/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, fetchpatch, six, chardet, nose
+{ lib, buildPythonPackage, fetchPypi, six, chardet, nose
 , django, jinja2, tornado, pyramid, pyramid_mako, Mako }:
 
 buildPythonPackage rec {
diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix
index 26bf5dc1c4b86..6e4b4d37f2893 100644
--- a/pkgs/development/python-modules/pyqt/5.x.nix
+++ b/pkgs/development/python-modules/pyqt/5.x.nix
@@ -57,6 +57,8 @@ in buildPythonPackage rec {
 
   outputs = [ "out" "dev" ];
 
+  dontWrapQtApps = true;
+
   nativeBuildInputs = [
     pkg-config
     qmake
diff --git a/pkgs/development/python-modules/pyqtwebengine/default.nix b/pkgs/development/python-modules/pyqtwebengine/default.nix
index 262c5a17504a6..367c258b5f7df 100644
--- a/pkgs/development/python-modules/pyqtwebengine/default.nix
+++ b/pkgs/development/python-modules/pyqtwebengine/default.nix
@@ -14,12 +14,12 @@ let
 
 in buildPythonPackage rec {
   pname = "PyQtWebEngine";
-  version = "5.15.0";
+  version = "5.15.2";
   format = "other";
 
   src = pythonPackages.fetchPypi {
     inherit pname version;
-    sha256 = "0xdzhl07x3mzfnr5cf4d640168vxi7fyl0fz1pvpbgs0irl14237";
+    sha256 = "0d56ak71r14w4f9r96vaj34qcn2rbln3s6ildvvyc707fjkzwwjd";
   };
 
   inherit patches;
@@ -45,6 +45,8 @@ in buildPythonPackage rec {
   propagatedBuildInputs = [ pyqt5 ]
     ++ lib.optional (!isPy3k) enum34;
 
+  dontWrapQtApps = true;
+
   configurePhase = ''
     runHook preConfigure
 
diff --git a/pkgs/development/python-modules/pyquery/default.nix b/pkgs/development/python-modules/pyquery/default.nix
index 2bb2eb1c6fccc..40139c795677e 100644
--- a/pkgs/development/python-modules/pyquery/default.nix
+++ b/pkgs/development/python-modules/pyquery/default.nix
@@ -1,14 +1,15 @@
 { lib
 , buildPythonPackage
-, fetchPypi
 , cssselect
+, fetchPypi
 , lxml
-, webob
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyquery";
-  version = "1.2.9";
+  version = "1.4.3";
+  disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
@@ -16,15 +17,19 @@ buildPythonPackage rec {
     sha256 = "00p6f1dfma65192hc72dxd506491lsq3g5wgxqafi1xpg2w1xia6";
   };
 
-  propagatedBuildInputs = [ cssselect lxml webob ];
+  propagatedBuildInputs = [
+    cssselect
+    lxml
+  ];
 
   # circular dependency on webtest
   doCheck = false;
+  pythonImportsCheck = [ "pyquery" ];
 
   meta = with lib; {
+    description = "A jquery-like library for Python";
     homepage = "https://github.com/gawel/pyquery";
-    description = "A jquery-like library for python";
+    changelog = "https://github.com/gawel/pyquery/blob/${version}/CHANGES.rst";
     license = licenses.bsd0;
   };
-
 }
diff --git a/pkgs/development/python-modules/pyramid/default.nix b/pkgs/development/python-modules/pyramid/default.nix
index 44ac5a9221adb..a26eff37ef218 100644
--- a/pkgs/development/python-modules/pyramid/default.nix
+++ b/pkgs/development/python-modules/pyramid/default.nix
@@ -33,6 +33,8 @@ buildPythonPackage rec {
   # https://github.com/Pylons/pyramid/issues/1899
   doCheck = !isPy35;
 
+  pythonImportsCheck = [ "pyramid" ];
+
   meta = with lib; {
     description = "The Pyramid Web Framework, a Pylons project";
     homepage = "https://trypyramid.com/";
diff --git a/pkgs/development/python-modules/pyramid_beaker/default.nix b/pkgs/development/python-modules/pyramid_beaker/default.nix
index 5c4e7c104bf0e..9a529214c2e8b 100644
--- a/pkgs/development/python-modules/pyramid_beaker/default.nix
+++ b/pkgs/development/python-modules/pyramid_beaker/default.nix
@@ -19,6 +19,10 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ beaker pyramid ];
 
   meta = with lib; {
+    description = "Beaker session factory backend for Pyramid";
+    homepage = "https://docs.pylonsproject.org/projects/pyramid_beaker/en/latest/";
+    # idk, see https://github.com/Pylons/pyramid_beaker/blob/master/LICENSE.txt
+    # license = licenses.mpl20;
     maintainers = with maintainers; [ domenkozar ];
   };
 }
diff --git a/pkgs/development/python-modules/pyramid_chameleon/default.nix b/pkgs/development/python-modules/pyramid_chameleon/default.nix
index d3388fdff359e..377317049dc8a 100644
--- a/pkgs/development/python-modules/pyramid_chameleon/default.nix
+++ b/pkgs/development/python-modules/pyramid_chameleon/default.nix
@@ -23,11 +23,12 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ chameleon pyramid zope_interface setuptools ];
 
+  pythonImportsCheck = [ "pyramid_chameleon" ];
+
   meta = with lib; {
     description = "Chameleon template compiler for pyramid";
     homepage = "https://github.com/Pylons/pyramid_chameleon";
     license = licenses.bsd0;
     maintainers = with maintainers; [ domenkozar ];
   };
-
 }
diff --git a/pkgs/development/python-modules/pyramid_exclog/default.nix b/pkgs/development/python-modules/pyramid_exclog/default.nix
index 55da77f496443..96570fce884f4 100644
--- a/pkgs/development/python-modules/pyramid_exclog/default.nix
+++ b/pkgs/development/python-modules/pyramid_exclog/default.nix
@@ -15,6 +15,8 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ pyramid ];
 
+  pythonImportsCheck = [ "pyramid_exclog" ];
+
   meta = with lib; {
     description = "A package which logs to a Python logger when an exception is raised by a Pyramid application";
     homepage = "https://docs.pylonsproject.org/";
diff --git a/pkgs/development/python-modules/pyramid_hawkauth/default.nix b/pkgs/development/python-modules/pyramid_hawkauth/default.nix
index f2f156e98b676..c2e17f8addef4 100644
--- a/pkgs/development/python-modules/pyramid_hawkauth/default.nix
+++ b/pkgs/development/python-modules/pyramid_hawkauth/default.nix
@@ -21,10 +21,12 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ pyramid hawkauthlib tokenlib ];
   buildInputs = [ webtest ];
 
+  pythonImportsCheck = [ "pyramid_hawkauth" ];
+
   meta = with lib; {
     homepage = "https://github.com/mozilla-services/pyramid_hawkauth";
     description = "A Pyramid authentication plugin for HAWK";
     license = licenses.mpl20;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/pkgs/development/python-modules/pyramid_jinja2/default.nix b/pkgs/development/python-modules/pyramid_jinja2/default.nix
index 464d8d209bfbd..d1eaf49e6bc23 100644
--- a/pkgs/development/python-modules/pyramid_jinja2/default.nix
+++ b/pkgs/development/python-modules/pyramid_jinja2/default.nix
@@ -18,11 +18,12 @@ buildPythonPackage rec {
   buildInputs = [ webtest ];
   propagatedBuildInputs = [ jinja2 pyramid ];
 
+  pythonImportsCheck = [ "pyramid_jinja2" ];
+
   meta = with lib; {
     description = "Jinja2 template bindings for the Pyramid web framework";
     homepage = "https://github.com/Pylons/pyramid_jinja2";
     license = licenses.bsd0;
     maintainers = with maintainers; [ domenkozar ];
   };
-
 }
diff --git a/pkgs/development/python-modules/pyramid_mako/default.nix b/pkgs/development/python-modules/pyramid_mako/default.nix
index 2f8c5e1e0753d..47aa1deb5e26f 100644
--- a/pkgs/development/python-modules/pyramid_mako/default.nix
+++ b/pkgs/development/python-modules/pyramid_mako/default.nix
@@ -22,6 +22,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/Pylons/pyramid_mako";
     description = "Mako template bindings for the Pyramid web framework";
     license = licenses.bsd0;
+    maintainers = with maintainers; [];
   };
-
 }
diff --git a/pkgs/development/python-modules/pyramid_multiauth/default.nix b/pkgs/development/python-modules/pyramid_multiauth/default.nix
index 545883a25c1ae..859d4c3b43392 100644
--- a/pkgs/development/python-modules/pyramid_multiauth/default.nix
+++ b/pkgs/development/python-modules/pyramid_multiauth/default.nix
@@ -19,6 +19,6 @@ buildPythonPackage rec {
     description = "Authentication policy for Pyramid that proxies to a stack of other authentication policies";
     homepage = "https://github.com/mozilla-services/pyramid_multiauth";
     license = licenses.mpl20;
+    maintainers = with maintainers; [];
   };
-
 }
diff --git a/pkgs/development/python-modules/pyrisco/default.nix b/pkgs/development/python-modules/pyrisco/default.nix
new file mode 100644
index 0000000000000..b9df9d36d41df
--- /dev/null
+++ b/pkgs/development/python-modules/pyrisco/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pyrisco";
+  version = "0.3.1";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "OnFreund";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1im29h4rxnp98aqzgzjj5i8jv2h5zw9c5yx8xxzl4cmr3yila9zw";
+  };
+
+  propagatedBuildInputs = [ aiohttp ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "pyrisco" ];
+
+  meta = with lib; {
+    description = "Python interface to Risco alarm systems through Risco Cloud";
+    homepage = "https://github.com/OnFreund/pyrisco";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pysaml2/default.nix b/pkgs/development/python-modules/pysaml2/default.nix
index 2ffbb97223f06..1bb096dc0c74f 100644
--- a/pkgs/development/python-modules/pysaml2/default.nix
+++ b/pkgs/development/python-modules/pysaml2/default.nix
@@ -2,16 +2,15 @@
 , buildPythonPackage
 , isPy3k
 , fetchFromGitHub
-, fetchpatch
 , substituteAll
 , xmlsec
-, cryptography, defusedxml, future, pyopenssl, dateutil, pytz, requests, six
-, mock, pyasn1, pymongo, pytest, responses
+, cryptography, defusedxml, pyopenssl, dateutil, pytz, requests, six
+, mock, pyasn1, pymongo, pytest, responses, xmlschema, importlib-resources
 }:
 
 buildPythonPackage rec {
   pname = "pysaml2";
-  version = "5.0.0";
+  version = "6.5.1";
 
   disabled = !isPy3k;
 
@@ -20,7 +19,7 @@ buildPythonPackage rec {
     owner = "IdentityPython";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0hwhxz45h8l1b0615hf855z7valfcmm0nb7k31bcj84v68zp5rjs";
+    sha256 = "1gh74csjk6af23agyigk4id79s4li1xnkmbpp73aqyvlly2kd0b7";
   };
 
   patches = [
@@ -28,12 +27,6 @@ buildPythonPackage rec {
       src = ./hardcode-xmlsec1-path.patch;
       inherit xmlsec;
     })
-    # remove on next release
-    (fetchpatch {
-      name = "fix-test-dates.patch";
-      url = "https://github.com/IdentityPython/pysaml2/commit/1d97d2d26f63e42611558fdd0e439bb8a7496a27.patch";
-      sha256 = "0r6d6hkk6z9yw7aqnsnylii516ysmdsc8dghwmgnwvw6cm7l388p";
-    })
   ];
 
   postPatch = ''
@@ -41,7 +34,17 @@ buildPythonPackage rec {
     sed -i 's/2999\(-.*T\)/2029\1/g' tests/*.xml
   '';
 
-  propagatedBuildInputs = [ cryptography defusedxml future pyopenssl dateutil pytz requests six ];
+  propagatedBuildInputs = [
+    cryptography
+    dateutil
+    defusedxml
+    importlib-resources
+    pyopenssl
+    pytz
+    requests
+    six
+    xmlschema
+  ];
 
   checkInputs = [ mock pyasn1 pymongo pytest responses ];
 
diff --git a/pkgs/development/python-modules/pyserial/001-rfc2217-only-negotiate-on-value-change.patch b/pkgs/development/python-modules/pyserial/001-rfc2217-only-negotiate-on-value-change.patch
new file mode 100644
index 0000000000000..6bd40bd935d6f
--- /dev/null
+++ b/pkgs/development/python-modules/pyserial/001-rfc2217-only-negotiate-on-value-change.patch
@@ -0,0 +1,42 @@
+From c8b35f4b871d00e3020f525425517548bed9f6ad Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
+Date: Sun, 9 Sep 2018 20:13:27 +0200
+Subject: [PATCH] serial/rfc2217: only subnegotiate on value change
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This was suggested and is a direct copy of Uwe Kleine König's patch
+from [1].
+
+[1]: https://github.com/pyserial/pyserial/issues/376#issuecomment-418885211
+Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
+---
+ serial/rfc2217.py | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/serial/rfc2217.py b/serial/rfc2217.py
+index d962c1e8..2148512d 100644
+--- a/serial/rfc2217.py
++++ b/serial/rfc2217.py
+@@ -330,11 +330,15 @@ def set(self, value):
+         the client needs to know if the change is performed he has to check the
+         state of this object.
+         """
+-        self.value = value
+-        self.state = REQUESTED
+-        self.connection.rfc2217_send_subnegotiation(self.option, self.value)
+-        if self.connection.logger:
+-            self.connection.logger.debug("SB Requesting {} -> {!r}".format(self.name, self.value))
++        if value != self.value:
++            self.value = value
++            self.state = REQUESTED
++            self.connection.rfc2217_send_subnegotiation(self.option, self.value)
++            if self.connection.logger:
++                self.connection.logger.debug("SB Requesting {} -> {!r}".format(self.name, self.value))
++        else:
++            if self.connection.logger:
++                self.connection.logger.debug("SB Requesting {} -> {!r} (skipped)".format(self.name, self.value))
+
+     def is_ready(self):
+         """\
diff --git a/pkgs/development/python-modules/pyserial/002-rfc2217-timeout-setter-for-rfc2217.patch b/pkgs/development/python-modules/pyserial/002-rfc2217-timeout-setter-for-rfc2217.patch
new file mode 100644
index 0000000000000..39410dee16403
--- /dev/null
+++ b/pkgs/development/python-modules/pyserial/002-rfc2217-timeout-setter-for-rfc2217.patch
@@ -0,0 +1,42 @@
+From a3698dc952fce0d07628133e987b7b43ed6e1157 Mon Sep 17 00:00:00 2001
+From: Rouven Czerwinski <rouven@czerwinskis.de>
+Date: Sun, 9 Sep 2018 20:08:40 +0200
+Subject: [PATCH] serial/rfc2217: add timeout.setter for rfc2217
+
+Add a new setter method for the timeout property which does not invoke
+the port reconfiguration.
+This is a direct copy of the SerialBase timeout property without the port
+reconfiguration.
+
+Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
+---
+ serial/rfc2217.py | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+diff --git a/serial/rfc2217.py b/serial/rfc2217.py
+index d962c1e8..12615cf3 100644
+--- a/serial/rfc2217.py
++++ b/serial/rfc2217.py
+@@ -722,5 +722,22 @@ def cd(self):
+             raise portNotOpenError
+         return bool(self.get_modem_state() & MODEMSTATE_MASK_CD)
+
++    @property
++    def timeout(self):
++        """Get the current timeout setting."""
++        return self._timeout
++
++    @timeout.setter
++    def timeout(self, timeout):
++        """Change timeout setting."""
++        if timeout is not None:
++            try:
++                timeout + 1     # test if it's a number, will throw a TypeError if not...
++            except TypeError:
++                raise ValueError("Not a valid timeout: {!r}".format(timeout))
++            if timeout < 0:
++                raise ValueError("Not a valid timeout: {!r}".format(timeout))
++        self._timeout = timeout
++
+     # - - - platform specific - - -
+     # None so far
diff --git a/pkgs/development/python-modules/pyserial/default.nix b/pkgs/development/python-modules/pyserial/default.nix
index 239568f64b76e..b45b031fb84a4 100644
--- a/pkgs/development/python-modules/pyserial/default.nix
+++ b/pkgs/development/python-modules/pyserial/default.nix
@@ -9,6 +9,11 @@ buildPythonPackage rec {
     sha256 = "1nyd4m4mnrz8scbfqn4zpq8gnbl4x42w5zz62vcgpzqd2waf0xrw";
   };
 
+  patches = [
+    ./001-rfc2217-only-negotiate-on-value-change.patch
+    ./002-rfc2217-timeout-setter-for-rfc2217.patch
+  ];
+
   checkPhase = "python -m unittest discover -s test";
   doCheck = !stdenv.hostPlatform.isDarwin; # broken on darwin
 
diff --git a/pkgs/development/python-modules/pyshark/default.nix b/pkgs/development/python-modules/pyshark/default.nix
new file mode 100644
index 0000000000000..206e3671f47fc
--- /dev/null
+++ b/pkgs/development/python-modules/pyshark/default.nix
@@ -0,0 +1,38 @@
+{ lib, buildPythonPackage, fetchFromGitHub, py, lxml, pytestCheckHook, wireshark-cli }:
+
+buildPythonPackage rec {
+  pname = "pyshark";
+  version = "0.4.2.11";
+
+  src = fetchFromGitHub {
+    owner = "KimiNewt";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "07dkhkf85cplcj1h3k8mmqzsn4zdkxzr0zg3gvf8yc8p5g5azx9q";
+  };
+
+  propagatedBuildInputs = [
+    py
+    lxml
+  ];
+
+  preConfigure = ''
+    cd src
+  '';
+
+  preCheck = ''
+    cd ..
+  '';
+
+  checkInputs = [
+    pytestCheckHook
+    wireshark-cli
+  ];
+
+  meta = with lib; {
+    description = "Python wrapper for tshark, allowing python packet parsing using wireshark dissectors";
+    homepage = "https://github.com/KimiNewt/pyshark/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ petabyteboy ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyside/default.nix b/pkgs/development/python-modules/pyside/default.nix
index 08fd8cbfa862a..f880791eeec04 100644
--- a/pkgs/development/python-modules/pyside/default.nix
+++ b/pkgs/development/python-modules/pyside/default.nix
@@ -23,6 +23,8 @@ buildPythonPackage rec {
 
   makeFlags = [ "QT_PLUGIN_PATH=${pysideShiboken}/lib/generatorrunner" ];
 
+  dontWrapQtApps = true;
+
   meta = {
     description = "LGPL-licensed Python bindings for the Qt cross-platform application and UI framework";
     license = lib.licenses.lgpl21;
diff --git a/pkgs/development/python-modules/pyside2-tools/default.nix b/pkgs/development/python-modules/pyside2-tools/default.nix
index 095a10c1047dc..20f1a572f1b49 100644
--- a/pkgs/development/python-modules/pyside2-tools/default.nix
+++ b/pkgs/development/python-modules/pyside2-tools/default.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation {
     "-DBUILD_TESTS=OFF"
   ];
 
+  dontWrapQtApps = true;
+
   # The upstream build system consists of a `setup.py` whichs builds three
   # different python libraries and calls cmake as a subprocess.  We call cmake
   # directly because that's easier to get working.  However, the `setup.py`
diff --git a/pkgs/development/python-modules/pyside2/default.nix b/pkgs/development/python-modules/pyside2/default.nix
index 6986c8e5384bf..c2786b647d624 100644
--- a/pkgs/development/python-modules/pyside2/default.nix
+++ b/pkgs/development/python-modules/pyside2/default.nix
@@ -30,6 +30,8 @@ stdenv.mkDerivation rec {
   ];
   propagatedBuildInputs = [ shiboken2 ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "LGPL-licensed Python bindings for Qt";
     license = licenses.lgpl21;
diff --git a/pkgs/development/python-modules/pyslurm/default.nix b/pkgs/development/python-modules/pyslurm/default.nix
index a113314aa4036..abb85930e40e2 100644
--- a/pkgs/development/python-modules/pyslurm/default.nix
+++ b/pkgs/development/python-modules/pyslurm/default.nix
@@ -22,6 +22,7 @@ buildPythonPackage rec {
     description = "Python bindings to Slurm";
     license = licenses.gpl2;
     maintainers = with maintainers; [ bhipple ];
+    platforms = platforms.linux;
     broken = true;  # still needs slurm-19.05, but nixpkgs has slurm-20+ now
   };
 }
diff --git a/pkgs/development/python-modules/pysma/default.nix b/pkgs/development/python-modules/pysma/default.nix
new file mode 100644
index 0000000000000..f1005fe0b7a9b
--- /dev/null
+++ b/pkgs/development/python-modules/pysma/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, aiohttp
+, attrs
+, buildPythonPackage
+, fetchPypi
+, jmespath
+, async-timeout
+}:
+
+buildPythonPackage rec {
+  pname = "pysma";
+  version = "0.3.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1awcsbk14i2aw01f7b7hrmpn9q6vr9v6la0i9n7ldv1h8rzq6j16";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    async-timeout
+    attrs
+    jmespath
+  ];
+
+  # pypi does not contain tests and GitHub archive not available
+  doCheck = false;
+  pythonImportsCheck = [ "pysma" ];
+
+  meta = with lib; {
+    description = "Python library for interacting with SMA Solar's WebConnect";
+    homepage = "https://github.com/kellerza/pysma";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pysmappee/default.nix b/pkgs/development/python-modules/pysmappee/default.nix
new file mode 100644
index 0000000000000..ceba7489e8b5e
--- /dev/null
+++ b/pkgs/development/python-modules/pysmappee/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, cachetools
+, paho-mqtt
+, pytz
+, requests
+, requests_oauthlib
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pysmappee";
+  version = "0.2.17";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "smappee";
+    repo = pname;
+    rev = version;
+    sha256 = "00274fbclj5kmwxi2bfx4913r4l0y8qvkfcc9d7ryalvf8jq24k6";
+  };
+
+  propagatedBuildInputs = [
+    cachetools
+    paho-mqtt
+    pytz
+    requests
+    requests_oauthlib
+  ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "pysmappee" ];
+
+  meta = with lib; {
+    description = "Python Library for the Smappee dev API";
+    homepage = "https://github.com/smappee/pysmappee";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pysmbc/default.nix b/pkgs/development/python-modules/pysmbc/default.nix
index bea1438f67945..93aa6606c7d55 100644
--- a/pkgs/development/python-modules/pysmbc/default.nix
+++ b/pkgs/development/python-modules/pysmbc/default.nix
@@ -1,23 +1,31 @@
-{ lib, buildPythonPackage, fetchPypi
-, samba, pkg-config
-, setuptools }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, samba
+, pkg-config
+}:
 
 buildPythonPackage rec {
-  version = "1.0.21";
   pname = "pysmbc";
+  version = "1.0.23";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "tar.bz2";
-    sha256 = "14b75f358ical7zzqh3g1qkh2dxwxn2gz7sah5f5svndqkd3z8jy";
+    sha256 = "1y0n1n6jkzf4mr5lqfc73l2m0qp56gvxwfjnx2vj8c0hh5i1gnq8";
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ setuptools samba ];
+
+  buildInputs = [ samba ];
+
+  # Tests would require a local SMB server
+  doCheck = false;
+  pythonImportsCheck = [ "smbc" ];
 
   meta = with lib; {
     description = "libsmbclient binding for Python";
     homepage = "https://github.com/hamano/pysmbc";
-    license = licenses.gpl2Plus;
+    license = with licenses; [ gpl2Plus ];
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/pkgs/development/python-modules/pysmt/default.nix b/pkgs/development/python-modules/pysmt/default.nix
new file mode 100644
index 0000000000000..ce5b6b8673a0e
--- /dev/null
+++ b/pkgs/development/python-modules/pysmt/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, nose
+, pytestCheckHook
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "pysmt";
+  version = "0.9.0";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "051j36kpz11ik9bhvp5jgxzc3h7f18i1pf5ssdhjwyabr0n0zra3";
+  };
+
+  propagatedBuildInputs = [ six ];
+
+  checkInputs = [
+    nose
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pysmt" ];
+
+  meta = with lib; {
+    description = "Python library for SMT formulae manipulation and solving";
+    homepage = "https://github.com/pysmt/pysmt";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pysonos/default.nix b/pkgs/development/python-modules/pysonos/default.nix
index 4a0fb1413bbe7..fdf350bd377c9 100644
--- a/pkgs/development/python-modules/pysonos/default.nix
+++ b/pkgs/development/python-modules/pysonos/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , isPy3k
 , xmltodict
 , requests
@@ -9,17 +9,21 @@
 # Test dependencies
 , pytest, pylint, flake8, graphviz
 , mock, sphinx, sphinx_rtd_theme
+, requests-mock
 }:
 
 buildPythonPackage rec {
   pname = "pysonos";
-  version = "0.0.37";
+  version = "0.0.40";
 
   disabled = !isPy3k;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "43a046c1c6086500fb0f4be1094ca963f5b0f555a04b692832b2b88ab741824e";
+  # pypi package is missing test fixtures
+  src = fetchFromGitHub {
+    owner = "amelchio";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0a0c7jwv39nbvpdcx32sd8kjmj4nyrd7k0yxhpmxdnx4zr4vvzqg";
   };
 
   propagatedBuildInputs = [ xmltodict requests ifaddr ];
@@ -27,6 +31,7 @@ buildPythonPackage rec {
   checkInputs = [
     pytest pylint flake8 graphviz
     mock sphinx sphinx_rtd_theme
+    requests-mock
   ];
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/pyswitchbot/default.nix b/pkgs/development/python-modules/pyswitchbot/default.nix
new file mode 100644
index 0000000000000..69bf011418240
--- /dev/null
+++ b/pkgs/development/python-modules/pyswitchbot/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, bluepy
+, buildPythonPackage
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "pyswitchbot";
+  version = "0.9.1";
+
+  src = fetchFromGitHub {
+    owner = "Danielhiversen";
+    repo = "pySwitchbot";
+    rev = version;
+    sha256 = "16p11fmyms4q93m3rna76nkp2la9m8lmfmaflbvga666vljwfw6v";
+  };
+
+  propagatedBuildInputs = [ bluepy ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "switchbot" ];
+
+  meta = with lib; {
+    description = "Python library to control Switchbot IoT devices";
+    homepage = "https://github.com/Danielhiversen/pySwitchbot";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/python-modules/pysyncobj/default.nix b/pkgs/development/python-modules/pysyncobj/default.nix
new file mode 100644
index 0000000000000..bca2d47320ebe
--- /dev/null
+++ b/pkgs/development/python-modules/pysyncobj/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "pysyncobj";
+  version = "0.3.7";
+
+  src = fetchFromGitHub {
+    owner = "bakwc";
+    repo = "PySyncObj";
+    rev = version;
+    sha256 = "0i7gjapaggkfvys4rgd4krpmh6mxwpzv30ngiwb6ddgp8jx0nzxk";
+  };
+
+  # Tests require network features
+  doCheck = false;
+  pythonImportsCheck = [ "pysyncobj" ];
+
+  meta = with lib; {
+    description = "Python library for replicating your class";
+    homepage = "https://github.com/bakwc/PySyncObj";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytankerkoenig/default.nix b/pkgs/development/python-modules/pytankerkoenig/default.nix
new file mode 100644
index 0000000000000..0a6403107ab8d
--- /dev/null
+++ b/pkgs/development/python-modules/pytankerkoenig/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "pytankerkoenig";
+  version = "0.0.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "021fg1a4n3527fz86zxfbsi0jrk0dnai1y92q6hwh5za68lrs710";
+  };
+
+  # Tests require an API key and network access
+  doCheck = false;
+  pythonImportsCheck = [ "pytankerkoenig" ];
+
+  meta = with lib; {
+    description = "Python module to get fuel data from tankerkoenig.de";
+    homepage = "https://github.com/ultrara1n/pytankerkoenig";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-click/default.nix b/pkgs/development/python-modules/pytest-click/default.nix
index e271373b73ef0..0c23a907cbae2 100644
--- a/pkgs/development/python-modules/pytest-click/default.nix
+++ b/pkgs/development/python-modules/pytest-click/default.nix
@@ -1,40 +1,36 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pythonOlder
 , pytest
 , click
-, pytestcov
-, isPy27
-, mock
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pytest-click";
-  version = "0.3";
+  version = "1.0.2";
+  disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "Stranger6667";
     repo = "pytest-click";
-    rev = version;
-    sha256 = "1cd15anw8d4rq6qs03j6ag38199rqw7vp0w0w0fm41mvdzr0lwvz";
+    rev = "v${version}";
+    sha256 = "197nvlqlyfrqpy5lrkmfh1ywpr6j9zipxl9d7syg2a2n7jz3a8rj";
   };
 
-  postConfigure = ''
-    substituteInPlace setup.py \
-      --replace "mock==1.0.1" "mock"
-  '';
-
   propagatedBuildInputs = [
     pytest
     click
   ];
 
-  checkInputs = [ pytestcov ] ++ lib.optionals isPy27 [ mock ];
+  checkInputs = [ pytestCheckHook ];
 
   meta = with lib; {
     description = "pytest plugin for click";
     homepage = "https://github.com/Stranger6667/pytest-click";
+    changelog = "https://github.com/Stranger6667/pytest-click/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/pytest-forked/default.nix b/pkgs/development/python-modules/pytest-forked/default.nix
index 89200f519e76a..855e1fb470c2d 100644
--- a/pkgs/development/python-modules/pytest-forked/default.nix
+++ b/pkgs/development/python-modules/pytest-forked/default.nix
@@ -2,7 +2,9 @@
 , buildPythonPackage
 , fetchPypi
 , setuptools_scm
+, py
 , pytest
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -14,19 +16,16 @@ buildPythonPackage rec {
     sha256 = "6aa9ac7e00ad1a539c41bec6d21011332de671e938c7637378ec9710204e37ca";
   };
 
-  buildInputs = [ pytest setuptools_scm ];
+  nativeBuildInputs = [ setuptools_scm ];
 
-  # Do not function
-  doCheck = false;
+  propagatedBuildInputs = [ py pytest ];
 
-  checkPhase = ''
-    py.test testing
-  '';
+  checkInputs = [ pytestCheckHook ];
 
   meta = {
     description = "Run tests in isolated forked subprocesses";
     homepage = "https://github.com/pytest-dev/pytest-forked";
     license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
   };
-
 }
diff --git a/pkgs/development/python-modules/pytest-freezegun/default.nix b/pkgs/development/python-modules/pytest-freezegun/default.nix
index 424d8fde23267..e5fbb6bb07078 100644
--- a/pkgs/development/python-modules/pytest-freezegun/default.nix
+++ b/pkgs/development/python-modules/pytest-freezegun/default.nix
@@ -1,18 +1,21 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, isPy27
+, fetchFromGitHub
 , freezegun
 , pytest
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pytest-freezegun";
   version = "0.4.2";
 
-  src = fetchPypi {
-    inherit pname version;
-    extension = "zip";
-    sha256 = "19c82d5633751bf3ec92caa481fb5cffaac1787bd485f0df6436fd6242176949";
+  src = fetchFromGitHub {
+    owner = "ktosiek";
+    repo = "pytest-freezegun";
+    rev = version;
+    sha256 = "10c4pbh03b4s1q8cjd75lr0fvyf9id0zmdk29566qqsmaz28npas";
   };
 
   propagatedBuildInputs = [
@@ -20,6 +23,10 @@ buildPythonPackage rec {
     pytest
   ];
 
+  checkInputs = [
+    pytestCheckHook
+  ];
+
   meta = with lib; {
     description = "Wrap tests with fixtures in freeze_time";
     homepage = "https://github.com/ktosiek/pytest-freezegun";
diff --git a/pkgs/development/python-modules/pytest-httpserver/default.nix b/pkgs/development/python-modules/pytest-httpserver/default.nix
new file mode 100644
index 0000000000000..f790629a29cf6
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-httpserver/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest-asyncio
+, pytest-cov
+, pytestCheckHook
+, requests
+, werkzeug
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-httpserver";
+  version = "0.3.7";
+
+  src = fetchPypi {
+    pname = "pytest_httpserver";
+    inherit version;
+    sha256 = "sha256-YgTcrUlwh2jz0tJdMUgjm8RcqrtpJ/oUQm3SnxUc5Z4=";
+  };
+
+  propagatedBuildInputs = [ werkzeug ];
+
+  checkInputs = [
+    pytest-cov
+    pytestCheckHook
+    requests
+  ];
+
+  pythonImportsCheck = [ "pytest_httpserver" ];
+
+  meta = with lib; {
+    description = "HTTP server for pytest to test HTTP clients";
+    homepage = "https://www.github.com/csernazs/pytest-httpserver";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-httpx/default.nix b/pkgs/development/python-modules/pytest-httpx/default.nix
new file mode 100644
index 0000000000000..508b7b7781be9
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-httpx/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, httpx
+, pytest
+, pytest-asyncio
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-httpx";
+  version = "0.11.0";
+
+  src = fetchFromGitHub {
+    owner = "Colin-b";
+    repo = "pytest_httpx";
+    rev = "v${version}";
+    sha256 = "08idd3y6khxjqkn46diqvkjvsl4w4pxhl6z1hspbkrj0pqwf9isi";
+  };
+
+  propagatedBuildInputs = [
+    httpx
+    pytest
+  ];
+
+  checkInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pytest_httpx" ];
+
+  meta = with lib; {
+    description = "Send responses to httpx";
+    homepage = "https://github.com/Colin-b/pytest_httpx";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-snapshot/default.nix b/pkgs/development/python-modules/pytest-snapshot/default.nix
index 42f399bb67f93..d57c7f66c2449 100644
--- a/pkgs/development/python-modules/pytest-snapshot/default.nix
+++ b/pkgs/development/python-modules/pytest-snapshot/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-snapshot";
-  version = "0.4.2";
+  version = "0.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1p33fcplfykwf5mdwg25n8hjgzxpx8w1iprjnfzibpxclfrxmy5i";
+    sha256 = "77d736073598a6224825eef8b8e0c760812a61410af2180cb070b27eb79f257d";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/pytest-subtests/default.nix b/pkgs/development/python-modules/pytest-subtests/default.nix
index 3be2adc11a42f..c07832c0b0590 100644
--- a/pkgs/development/python-modules/pytest-subtests/default.nix
+++ b/pkgs/development/python-modules/pytest-subtests/default.nix
@@ -1,22 +1,31 @@
-{ lib, buildPythonPackage, isPy27, fetchPypi, setuptools_scm, pytestCheckHook }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+, setuptools-scm
+}:
 
 buildPythonPackage rec {
   pname = "pytest-subtests";
-  version = "0.3.2";
-  disabled = isPy27;
+  version = "0.4.0";
+  disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1mxg91mrn8672f8hwg0f31xkyarnq7q0hr4fvb9hcb09jshq2wk7";
+    sha256 = "sha256-jZ4sHR3OEfe30snQkgLr/HdXt/8MrJtyrTKO3+fuA3s=";
   };
 
-  nativeBuildInputs = [ setuptools_scm ];
+  nativeBuildInputs = [ setuptools-scm ];
 
   checkInputs = [ pytestCheckHook ];
 
+  pythonImportsCheck = [ "pytest_subtests" ];
+
   meta = with lib; {
     description = "pytest plugin for unittest subTest() support and subtests fixture";
     homepage = "https://github.com/pytest-dev/pytest-subtests";
     license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/pkgs/development/python-modules/pytest-timeout/default.nix b/pkgs/development/python-modules/pytest-timeout/default.nix
index 6bf3483d40f9a..5833790cf92d0 100644
--- a/pkgs/development/python-modules/pytest-timeout/default.nix
+++ b/pkgs/development/python-modules/pytest-timeout/default.nix
@@ -22,6 +22,8 @@ buildPythonPackage rec {
 
   disabledTests = [
     "test_suppresses_timeout_when_pdb_is_entered"
+    # Remove until https://github.com/pytest-dev/pytest/pull/7207 or similar
+    "test_suppresses_timeout_when_debugger_is_entered"
   ];
   pytestFlagsArray = [
     "-ra"
diff --git a/pkgs/development/python-modules/pytest-watch/default.nix b/pkgs/development/python-modules/pytest-watch/default.nix
index 12b06c2e1b63e..0088bf45e4a50 100644
--- a/pkgs/development/python-modules/pytest-watch/default.nix
+++ b/pkgs/development/python-modules/pytest-watch/default.nix
@@ -16,10 +16,11 @@ buildPythonPackage rec {
     sha256 = "06136f03d5b361718b8d0d234042f7b2f203910d8568f63df2f866b547b3d4b9";
   };
 
+  propagatedBuildInputs = [ pytest colorama docopt watchdog ];
+
   # No Tests
   doCheck = false;
-
-  propagatedBuildInputs = [ pytest colorama docopt watchdog ];
+  pythonImportsCheck = [ "pytest_watch" ];
 
   meta = with lib; {
     homepage = "https://github.com/joeyespo/pytest-watch";
@@ -28,4 +29,3 @@ buildPythonPackage rec {
     maintainers = with maintainers; [ dmvianna ];
   };
 }
-
diff --git a/pkgs/development/python-modules/pytest-xdist/default.nix b/pkgs/development/python-modules/pytest-xdist/default.nix
index 30e43c17c9195..94feb1029945d 100644
--- a/pkgs/development/python-modules/pytest-xdist/default.nix
+++ b/pkgs/development/python-modules/pytest-xdist/default.nix
@@ -1,28 +1,39 @@
-{ lib, fetchPypi, buildPythonPackage, execnet, pytest_6
-, setuptools_scm, pytest-forked, filelock, psutil, six, isPy3k }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPy27
+, setuptools_scm
+, pytestCheckHook
+, filelock
+, execnet
+, pytest
+, pytest-forked
+, psutil
+}:
 
 buildPythonPackage rec {
   pname = "pytest-xdist";
-  version = "2.1.0";
-  disabled = !isPy3k;
+  version = "2.2.0";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0wh6pn66nncfs6ay0n863bgyriwsgppn8flx5l7551j1lbqkinc2";
+    sha256 = "1d8edbb1a45e8e1f8e44b1260583107fc23f8bc8da6d18cb331ff61d41258ecf";
   };
 
-  nativeBuildInputs = [ setuptools_scm pytest_6 ];
-  checkInputs = [ pytest_6 filelock ];
-  propagatedBuildInputs = [ execnet pytest-forked psutil six ];
+  nativeBuildInputs = [ setuptools_scm ];
+  checkInputs = [ pytestCheckHook filelock ];
+  propagatedBuildInputs = [ execnet pytest pytest-forked psutil ];
 
-  # pytest6 doesn't allow for new lines
-  # capture_deprecated not compatible with latest pytest6
-  checkPhase = ''
-    # Excluded tests access file system
-    export HOME=$TMPDIR
-    pytest -n $NIX_BUILD_CORES \
-      -k "not (distribution_rsyncdirs_example or rsync or warning_captured_deprecated_in_pytest_6)"
-  '';
+  # access file system
+  disabledTests = [
+    "test_distribution_rsyncdirs_example"
+    "test_rsync_popen_with_path"
+    "test_popen_rsync_subdir"
+    "test_rsync_report"
+    "test_init_rsync_roots"
+    "test_rsyncignore"
+  ];
 
   meta = with lib; {
     description = "py.test xdist plugin for distributed testing and loop-on-failing modes";
diff --git a/pkgs/development/python-modules/python-awair/default.nix b/pkgs/development/python-modules/python-awair/default.nix
new file mode 100644
index 0000000000000..8489247399a57
--- /dev/null
+++ b/pkgs/development/python-modules/python-awair/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, poetry
+, pytest-aiohttp
+, pytestCheckHook
+, pythonOlder
+, voluptuous
+, vcrpy
+}:
+
+buildPythonPackage rec {
+  pname = "python-awair";
+  version = "0.2.1";
+  format = "pyproject";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "ahayworth";
+    repo = "python_awair";
+    rev = version;
+    sha256 = "1fqjigc1a0lr9q6bjjq3j8pa39wg1cbkb0l67w94a0i4dkdfri8r";
+  };
+
+  nativeBuildInputs = [ poetry ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    voluptuous
+  ];
+
+  checkInputs = [
+    pytest-aiohttp
+    pytestCheckHook
+    vcrpy
+  ];
+
+  pythonImportsCheck = [ "python_awair" ];
+
+  meta = with lib; {
+    description = "Python library for the Awair API";
+    homepage = "https://github.com/ahayworth/python_awair";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-dotenv/default.nix b/pkgs/development/python-modules/python-dotenv/default.nix
index e654826e0bc2b..1d8a9a85457bc 100644
--- a/pkgs/development/python-modules/python-dotenv/default.nix
+++ b/pkgs/development/python-modules/python-dotenv/default.nix
@@ -1,29 +1,38 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27
+{ lib
+, buildPythonPackage
 , click
+, fetchPypi
 , ipython
-, pytest
-, sh
-, typing
 , mock
+, pytestCheckHook
+, pythonOlder
+, sh
 }:
 
 buildPythonPackage rec {
   pname = "python-dotenv";
   version = "0.15.0";
+  disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "587825ed60b1711daea4832cf37524dfd404325b7db5e25ebe88c495c9f807a0";
   };
 
-  propagatedBuildInputs = [ click ] ++ lib.optionals isPy27 [ typing ];
+  propagatedBuildInputs = [ click ];
+
+  checkInputs = [
+    ipython
+    mock
+    pytestCheckHook
+    sh
+  ];
 
-  checkInputs = [ ipython mock pytest sh ];
+  disabledTests = [
+    "cli"
+  ];
 
-  # cli tests are impure
-  checkPhase = ''
-    pytest tests/ -k 'not cli'
-  '';
+  pythonImportsCheck = [ "dotenv" ];
 
   meta = with lib; {
     description = "Add .env support to your django/flask apps in development and deployments";
diff --git a/pkgs/development/python-modules/python-engineio/3.nix b/pkgs/development/python-modules/python-engineio/3.nix
new file mode 100644
index 0000000000000..e4c71782f990b
--- /dev/null
+++ b/pkgs/development/python-modules/python-engineio/3.nix
@@ -0,0 +1,67 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, aiohttp
+, eventlet
+, iana-etc
+, libredirect
+, mock
+, requests
+, six
+, tornado
+, websocket_client
+, websockets
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "python-engineio";
+  version = "3.14.2";
+
+  src = fetchFromGitHub {
+    owner = "miguelgrinberg";
+    repo = "python-engineio";
+    rev = "v${version}";
+    sha256 = "1r3gvizrknbv036pvxid1l726wkb0l43bdaz5y879s7j3ipyb464";
+  };
+
+  propagatedBuildInputs = [
+    six
+  ];
+
+  checkInputs = [
+    aiohttp
+    eventlet
+    mock
+    requests
+    tornado
+    websocket_client
+    websockets
+    pytestCheckHook
+  ];
+
+  preCheck = lib.optionalString stdenv.isLinux ''
+    echo "nameserver 127.0.0.1" > resolv.conf
+    export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols:/etc/resolv.conf=$(realpath resolv.conf) \
+      LD_PRELOAD=${libredirect}/lib/libredirect.so
+  '';
+  postCheck = ''
+    unset NIX_REDIRECTS LD_PRELOAD
+  '';
+
+  # somehow effective log level does not change?
+  disabledTests = [ "test_logger" ];
+  pythonImportsCheck = [ "engineio" ];
+
+  meta = with lib; {
+    description = "Python based Engine.IO client and server v3.x";
+    longDescription = ''
+      Engine.IO is a lightweight transport protocol that enables real-time
+      bidirectional event-based communication between clients and a server.
+    '';
+    homepage = "https://github.com/miguelgrinberg/python-engineio/";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ graham33 ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-gammu/default.nix b/pkgs/development/python-modules/python-gammu/default.nix
new file mode 100644
index 0000000000000..1548a13894740
--- /dev/null
+++ b/pkgs/development/python-modules/python-gammu/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+  #, pytestCheckHook
+, pythonOlder
+, pkg-config
+, gammu
+}:
+
+buildPythonPackage rec {
+  pname = "python-gammu";
+  version = "3.1";
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "gammu";
+    repo = pname;
+    rev = version;
+    sha256 = "1hw2mfrps6wqfyi40p5mp9r59n1ick6pj4hw5njz0k822pbb33p0";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ gammu ];
+
+  # Check with the next release if tests could be run with pytest
+  # checkInputs = [ pytestCheckHook ];
+  # Don't run tests for now
+  doCheck = false;
+  pythonImportsCheck = [ "gammu" ];
+
+  meta = with lib; {
+    description = "Python bindings for Gammu";
+    homepage = "https://github.com/gammu/python-gammu/";
+    license = with licenses; [ gpl2Plus ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-levenshtein/default.nix b/pkgs/development/python-modules/python-levenshtein/default.nix
index dda64a85fb26a..b4760cef62957 100644
--- a/pkgs/development/python-modules/python-levenshtein/default.nix
+++ b/pkgs/development/python-modules/python-levenshtein/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "python-Levenshtein";
-  version = "0.12.0";
+  version = "0.12.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c9ybqcja31nghfcc8xxbbz9h60s9qi12b9hr4jyl69xbvg12fh3";
+    sha256 = "0489zzjlfgzpc7vggs7s7db13pld2nlnw7iwgdz1f386i0x2fkjm";
   };
 
   # No tests included in archive
diff --git a/pkgs/development/python-modules/python-olm/default.nix b/pkgs/development/python-modules/python-olm/default.nix
index b1e01f7f4abfa..2a8295a65bf7a 100644
--- a/pkgs/development/python-modules/python-olm/default.nix
+++ b/pkgs/development/python-modules/python-olm/default.nix
@@ -1,11 +1,11 @@
-{ lib, buildPythonPackage, olm,
-  cffi, future, isPy3k, typing }:
+{ lib, buildPythonPackage, isPy3k, olm
+, cffi, future, typing }:
 
 buildPythonPackage {
   pname = "python-olm";
   inherit (olm) src version;
 
-  sourceRoot = "${olm.name}/python";
+  sourceRoot = "source/python";
   buildInputs = [ olm ];
 
   preBuild = ''
@@ -17,12 +17,13 @@ buildPythonPackage {
     future
   ] ++ lib.optionals (!isPy3k) [ typing ];
 
+  # Some required libraries for testing are not packaged yet.
   doCheck = false;
+  pythonImportsCheck = [ "olm" ];
 
-  meta = with lib; {
+  meta = {
+    inherit (olm.meta) license maintainers;
     description = "Python bindings for Olm";
     homepage = "https://gitlab.matrix.org/matrix-org/olm/tree/master/python";
-    license = olm.meta.license;
-    maintainers = [ maintainers.tilpner ];
   };
 }
diff --git a/pkgs/development/python-modules/python-openzwave-mqtt/default.nix b/pkgs/development/python-modules/python-openzwave-mqtt/default.nix
new file mode 100644
index 0000000000000..a2c76c7d6d54f
--- /dev/null
+++ b/pkgs/development/python-modules/python-openzwave-mqtt/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, asyncio-mqtt
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "python-openzwave-mqtt";
+  version = "1.4.0";
+
+  src = fetchFromGitHub {
+    owner = "cgarwood";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0zqx00dacs59y4gjr4swrn46c7hrp8a1167bcl270333284m8mqm";
+  };
+
+  propagatedBuildInputs = [
+    asyncio-mqtt
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Python wrapper for OpenZWave's MQTT daemon";
+    homepage = "https://github.com/cgarwood/python-openzwave-mqtt";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-snappy/default.nix b/pkgs/development/python-modules/python-snappy/default.nix
index 084c66e172ad0..fe4d6ea7bda7d 100644
--- a/pkgs/development/python-modules/python-snappy/default.nix
+++ b/pkgs/development/python-modules/python-snappy/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "python-snappy";
-  version = "0.5.4";
+  version = "0.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d9c26532cfa510f45e8d135cde140e8a5603d3fb254cfec273ebc0ecf9f668e2";
+    sha256 = "06l9my361ig4x5ycyrmq33q83zcdib3y2zxfxv7k7dlpyp9ri2hn";
   };
 
   buildInputs = [ snappy ];
diff --git a/pkgs/development/python-modules/python-socketio/4.nix b/pkgs/development/python-modules/python-socketio/4.nix
new file mode 100644
index 0000000000000..3a6f5d87fdd44
--- /dev/null
+++ b/pkgs/development/python-modules/python-socketio/4.nix
@@ -0,0 +1,47 @@
+{ lib
+, bidict
+, buildPythonPackage
+, fetchFromGitHub
+, mock
+, pytestCheckHook
+, python-engineio_3
+}:
+
+buildPythonPackage rec {
+  pname = "python-socketio";
+  version = "4.6.1";
+
+  src = fetchFromGitHub {
+    owner = "miguelgrinberg";
+    repo = "python-socketio";
+    rev = "v${version}";
+    sha256 = "14dijag17v84v0pp9qi89h5awb4h4i9rj0ppkixqv6is9z9lflw5";
+  };
+
+  propagatedBuildInputs = [
+    bidict
+    python-engineio_3
+  ];
+
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "socketio" ];
+
+  # pytestCheckHook seems to change the default log level to WARNING, but the
+  # tests assert it is ERROR
+  disabledTests = [ "test_logger" ];
+
+  meta = with lib; {
+    description = "Python Socket.IO server and client 4.x";
+    longDescription = ''
+      Socket.IO is a lightweight transport protocol that enables real-time
+      bidirectional event-based communication between clients and a server.
+    '';
+    homepage = "https://github.com/miguelgrinberg/python-socketio/";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ graham33 ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-socketio/default.nix b/pkgs/development/python-modules/python-socketio/default.nix
index e9c2ae146b09f..8eb58b244e145 100644
--- a/pkgs/development/python-modules/python-socketio/default.nix
+++ b/pkgs/development/python-modules/python-socketio/default.nix
@@ -36,7 +36,7 @@ buildPythonPackage rec {
       Socket.IO is a lightweight transport protocol that enables real-time
       bidirectional event-based communication between clients and a server.
     '';
-    homepage = "https://github.com/miguelgrinberg/python-engineio/";
+    homepage = "https://github.com/miguelgrinberg/python-socketio/";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ mic92 ];
   };
diff --git a/pkgs/development/python-modules/python-tado/default.nix b/pkgs/development/python-modules/python-tado/default.nix
index 98c03b8930935..5562e411dd197 100644
--- a/pkgs/development/python-modules/python-tado/default.nix
+++ b/pkgs/development/python-modules/python-tado/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "python-tado";
-  version = "0.9.0";
+  version = "0.11.0";
 
   disabled = pythonOlder "3.5";
 
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     owner = "wmalgadey";
     repo = "PyTado";
     rev = version;
-    sha256 = "0cr5sxdvjgdrrlhl32rs8pwyay8liyi6prm37y66dn00b41cb5l3";
+    sha256 = "0fw4f9gqnhxwpxyb34qi8bl5pmzz13h4x3mdk903hhjyccanqncr";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/development/python-modules/python-twitch-client/default.nix b/pkgs/development/python-modules/python-twitch-client/default.nix
new file mode 100644
index 0000000000000..30f6ab9a0a710
--- /dev/null
+++ b/pkgs/development/python-modules/python-twitch-client/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, requests
+, responses
+}:
+
+buildPythonPackage rec {
+  pname = "python-twitch-client";
+  version = "0.7.1";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "tsifrer";
+    repo = pname;
+    rev = version;
+    sha256 = "10wwkam3dw0nqr3v9xzigx1zjlrnrhzr7jvihddvzi84vjb6j443";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  checkInputs = [
+    pytestCheckHook
+    responses
+  ];
+
+  pythonImportsCheck = [ "twitch" ];
+
+  meta = with lib; {
+    description = "Python wrapper for the Twitch API";
+    homepage = "https://github.com/tsifrer/python-twitch-client";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-velbus/default.nix b/pkgs/development/python-modules/python-velbus/default.nix
new file mode 100644
index 0000000000000..a02edfdc1f6d0
--- /dev/null
+++ b/pkgs/development/python-modules/python-velbus/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pyserial
+}:
+
+buildPythonPackage rec {
+  pname = "python-velbus";
+  version = "2.1.2";
+
+  src = fetchFromGitHub {
+    owner = "thomasdelaet";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0dv7dsjp5li87ispdphaz7jd0a9xc328rxwawf2f58b1ii904xr4";
+  };
+
+  propagatedBuildInputs = [ pyserial ];
+
+  # Project has not tests
+  doCheck = false;
+  pythonImportsCheck = [ "velbus" ];
+
+  meta = with lib; {
+    description = "Python library to control the Velbus home automation system";
+    homepage = "https://github.com/thomasdelaet/python-velbus";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-xmp-toolkit/default.nix b/pkgs/development/python-modules/python-xmp-toolkit/default.nix
index 3e6d728456874..463ccb25b7dc9 100644
--- a/pkgs/development/python-modules/python-xmp-toolkit/default.nix
+++ b/pkgs/development/python-modules/python-xmp-toolkit/default.nix
@@ -35,6 +35,9 @@ buildPythonPackage {
       --replace "ctypes.util.find_library('exempi')" "'${exempi}/lib/libexempi${stdenv.hostPlatform.extensions.sharedLibrary}'"
   '';
 
+  # hangs on darwin + sandbox
+  doCheck = !stdenv.isDarwin;
+
   meta = with lib; {
     homepage = "https://github.com/python-xmp-toolkit/python-xmp-toolkit";
     description = "Python XMP Toolkit for working with metadata";
diff --git a/pkgs/development/python-modules/pytile/default.nix b/pkgs/development/python-modules/pytile/default.nix
index 771ae4d13281e..226fdbc715e6b 100644
--- a/pkgs/development/python-modules/pytile/default.nix
+++ b/pkgs/development/python-modules/pytile/default.nix
@@ -1,6 +1,5 @@
 { lib
 , aiohttp
-, async-timeout
 , aresponses
 , buildPythonPackage
 , fetchFromGitHub
diff --git a/pkgs/development/python-modules/pytorch/bin.nix b/pkgs/development/python-modules/pytorch/bin.nix
index 1ffda5c86b0e9..0571269fa8b28 100644
--- a/pkgs/development/python-modules/pytorch/bin.nix
+++ b/pkgs/development/python-modules/pytorch/bin.nix
@@ -5,7 +5,6 @@
 , isPy38
 , isPy39
 , python
-, nvidia_x11
 , addOpenGLRunpath
 , future
 , numpy
@@ -52,7 +51,7 @@ in buildPythonPackage {
   '';
 
   postFixup = let
-    rpath = lib.makeLibraryPath [ stdenv.cc.cc.lib nvidia_x11 ];
+    rpath = lib.makeLibraryPath [ stdenv.cc.cc.lib ];
   in ''
     find $out/${python.sitePackages}/torch/lib -type f \( -name '*.so' -or -name '*.so.*' \) | while read lib; do
       echo "setting rpath for $lib..."
diff --git a/pkgs/development/python-modules/pytrafikverket/default.nix b/pkgs/development/python-modules/pytrafikverket/default.nix
new file mode 100644
index 0000000000000..0a65a960fb79c
--- /dev/null
+++ b/pkgs/development/python-modules/pytrafikverket/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, aiohttp
+, async-timeout
+, lxml
+}:
+
+buildPythonPackage rec {
+  pname = "pytrafikverket";
+  version = "0.1.6.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0hrjsw53ixgmhsiszdrzzh0wma705nrhq8npzacsyaf43r29zvqy";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    async-timeout
+    lxml
+  ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "pytrafikverket" ];
+
+  meta = with lib; {
+    description = "Python library to manage Etekcity Devices and Levoit Air Purifier";
+    homepage = "https://github.com/endor-force/pytrafikverket";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytrends/default.nix b/pkgs/development/python-modules/pytrends/default.nix
index 3ce1e70e82396..20dbe0ba31c9f 100644
--- a/pkgs/development/python-modules/pytrends/default.nix
+++ b/pkgs/development/python-modules/pytrends/default.nix
@@ -17,10 +17,11 @@ buildPythonPackage rec {
     sha256 = "8ccb06c57c31fa157b978a0d810de7718ee46583d28cf818250d45f36abd2faa";
   };
 
-  doCheck = false;
-
   propagatedBuildInputs = [ requests lxml pandas ];
 
+  doCheck = false;
+  pythonImportsCheck = [ "pytrends" ];
+
   meta = with lib; {
     description = "Pseudo API for Google Trends";
     homepage = "https://github.com/GeneralMills/pytrends";
diff --git a/pkgs/development/python-modules/pytz/default.nix b/pkgs/development/python-modules/pytz/default.nix
index 0351840b3e0bf..dab8f479c04e3 100644
--- a/pkgs/development/python-modules/pytz/default.nix
+++ b/pkgs/development/python-modules/pytz/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytz";
-  version = "2020.4";
+  version = "2020.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3e6b7dd2d1e0a59084bcee14a17af60c5c562cdc16d828e8eba2e683d3a7e268";
+    sha256 = "180befebb1927b16f6b57101720075a984c019ac16b1b7575673bea42c6c3da5";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/pyu2f/default.nix b/pkgs/development/python-modules/pyu2f/default.nix
index c703a8fe30c4a..281511192fe51 100644
--- a/pkgs/development/python-modules/pyu2f/default.nix
+++ b/pkgs/development/python-modules/pyu2f/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ six ];
 
-  checkInputs = [ pytest six mock pyfakefs unittest2 ];
+  checkInputs = [ pytest mock pyfakefs unittest2 ];
 
   checkPhase = ''
     pytest pyu2f/tests
diff --git a/pkgs/development/python-modules/pyuv/default.nix b/pkgs/development/python-modules/pyuv/default.nix
index 0be0d61ed0db7..2d276c6dccab9 100644
--- a/pkgs/development/python-modules/pyuv/default.nix
+++ b/pkgs/development/python-modules/pyuv/default.nix
@@ -1,28 +1,32 @@
 { lib
 , buildPythonPackage
-, isPyPy
-, pkgs
+, fetchFromGitHub
+, libuv
 }:
 
 buildPythonPackage rec {
   pname = "pyuv";
-  version = "1.2.0";
-  disabled = isPyPy;  # see https://github.com/saghul/pyuv/issues/49
+  version = "1.4.0";
 
-  src = pkgs.fetchurl {
-    url = "https://github.com/saghul/pyuv/archive/${pname}-${version}.tar.gz";
-    sha256 = "19yl1l5l6dq1xr8xcv6dhx1avm350nr4v2358iggcx4ma631rycx";
+  src = fetchFromGitHub {
+    owner = "saghul";
+    repo = "pyuv";
+    rev = "pyuv-${version}";
+    sha256 = "1wiwwdylz66lfsjh6p4iv7pfhzvnhwjk332625njizfhz3gq9fwr";
   };
 
-  patches = [ ./pyuv-external-libuv.patch ];
+  setupPyBuildFlags = [ "--use-system-libuv" ];
 
-  buildInputs = [ pkgs.libuv ];
+  buildInputs = [ libuv ];
+
+  doCheck = false; # doesn't work in sandbox
+
+  pythonImportsCheck = [ "pyuv" ];
 
   meta = with lib; {
     description = "Python interface for libuv";
     homepage = "https://github.com/saghul/pyuv";
-    repositories.git = "git://github.com/saghul/pyuv.git";
     license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
   };
-
 }
diff --git a/pkgs/development/python-modules/pyuv/pyuv-external-libuv.patch b/pkgs/development/python-modules/pyuv/pyuv-external-libuv.patch
deleted file mode 100644
index 41e169acd5f5d..0000000000000
--- a/pkgs/development/python-modules/pyuv/pyuv-external-libuv.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 5071c3b..4b4a176 100644
---- a/setup.py
-+++ b/setup.py
-@@ -7,7 +7,6 @@ try:
-     from setuptools import setup, Extension
- except ImportError:
-     from distutils.core import setup, Extension
--from setup_libuv import libuv_build_ext, libuv_sdist
-
-
- def get_version():
-@@ -35,11 +34,10 @@ setup(name             = "pyuv",
-           "Programming Language :: Python :: 3.3",
-           "Programming Language :: Python :: 3.4"
-       ],
--      cmdclass     = {'build_ext': libuv_build_ext,
--                      'sdist'    : libuv_sdist},
-       packages     = ['pyuv'],
-       ext_modules  = [Extension('pyuv._cpyuv',
-                                 sources = ['src/pyuv.c'],
-+                                libraries = ['uv']
-                      )]
-      )
-
diff --git a/pkgs/development/python-modules/pyvesync/default.nix b/pkgs/development/python-modules/pyvesync/default.nix
new file mode 100644
index 0000000000000..393170cfb9f02
--- /dev/null
+++ b/pkgs/development/python-modules/pyvesync/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pyvesync";
+  version = "1.3.1";
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "02fpbyg46mlpc2c1j4zylw9a1h6bacxvigrl3cndsf6fxlhfx15z";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  # Test are not available (not in PyPI tarball and there are no GitHub releases)
+  doCheck = false;
+  pythonImportsCheck = [ "pyvesync" ];
+
+  meta = with lib; {
+    description = "Python library to manage Etekcity Devices and Levoit Air Purifier";
+    homepage = "https://github.com/webdjoe/pyvesync";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyvex/default.nix b/pkgs/development/python-modules/pyvex/default.nix
new file mode 100644
index 0000000000000..13c54f6a41e65
--- /dev/null
+++ b/pkgs/development/python-modules/pyvex/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, stdenv
+, archinfo
+, bitstring
+, fetchPypi
+, cffi
+, buildPythonPackage
+, future
+, pycparser
+}:
+
+buildPythonPackage rec {
+  pname = "pyvex";
+  version = "9.0.5903";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-qhLlRlmb48zhjX2u9w6TVVv2gb0E9kSapabiv+u4J2s=";
+  };
+
+  propagatedBuildInputs = [
+    archinfo
+    bitstring
+    cffi
+    future
+    pycparser
+  ];
+
+  # No tests are available on PyPI, GitHub release has tests
+  # Switch to GitHub release after all angr parts are present
+  doCheck = false;
+  pythonImportsCheck = [ "pyvex" ];
+
+  meta = with lib; {
+    description = "Python interface to libVEX and VEX IR";
+    homepage = "https://github.com/angr/pyvex";
+    license = with licenses; [ bsd2 gpl3Plus lgpl3Plus ];
+    maintainers = with maintainers; [ fab ];
+    # ERROR: pyvex-X-py3-none-manylinux1_aarch64.whl is not a supported wheel on this platform.
+    broken = stdenv.isAarch64;
+  };
+}
diff --git a/pkgs/development/python-modules/pyvicare/default.nix b/pkgs/development/python-modules/pyvicare/default.nix
new file mode 100644
index 0000000000000..7c87431d80b30
--- /dev/null
+++ b/pkgs/development/python-modules/pyvicare/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, requests_oauthlib
+, simplejson
+}:
+
+buildPythonPackage rec {
+  pname = "pyvicare";
+  version = "0.2.5";
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    pname = "PyViCare";
+    inherit version;
+    sha256 = "16wqqjs238ad6znlz2gjadqj8891226bd02a1106xyz6vbbk2gdk";
+  };
+
+  propagatedBuildInputs = [
+    requests_oauthlib
+    simplejson
+  ];
+
+  # The published tarball on PyPI is incomplete and there are GitHub releases
+  doCheck = false;
+  pythonImportsCheck = [ "PyViCare" ];
+
+  meta = with lib; {
+    description = "Python Library to access Viessmann ViCare API";
+    homepage = "https://github.com/somm15/PyViCare";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyvizio/default.nix b/pkgs/development/python-modules/pyvizio/default.nix
new file mode 100644
index 0000000000000..807278d967d59
--- /dev/null
+++ b/pkgs/development/python-modules/pyvizio/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, click
+, fetchPypi
+, jsonpickle
+, requests
+, tabulate
+, xmltodict
+, zeroconf
+}:
+
+buildPythonPackage rec {
+  pname = "pyvizio";
+  version = "0.1.59";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1j2zbziklx4az55m3997y7yp4xflk7i0gsbdfh7fp9k0qngb2053";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    click
+    jsonpickle
+    requests
+    tabulate
+    xmltodict
+    zeroconf
+  ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "pyvizio" ];
+
+  meta = with lib; {
+    description = "Python client for Vizio SmartCast";
+    homepage = "https://github.com/vkorn/pyvizio";
+    license = with licenses; [ gpl3Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyvolumio/default.nix b/pkgs/development/python-modules/pyvolumio/default.nix
new file mode 100644
index 0000000000000..da3ac35c46227
--- /dev/null
+++ b/pkgs/development/python-modules/pyvolumio/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pyvolumio";
+  version = "0.1.3";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "OnFreund";
+    repo = "PyVolumio";
+    rev = "v${version}";
+    sha256 = "0x2dzmd9lwnak2iy6v54y24qjq37y3nlfhsvx7hddgv8jj1klvap";
+  };
+
+  propagatedBuildInputs = [ aiohttp ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "pyvolumio" ];
+
+  meta = with lib; {
+    description = "Python module to control Volumio";
+    homepage = "https://github.com/OnFreund/PyVolumio";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pywilight/default.nix b/pkgs/development/python-modules/pywilight/default.nix
index 66bdcca4793dc..4fa4c0fa85427 100644
--- a/pkgs/development/python-modules/pywilight/default.nix
+++ b/pkgs/development/python-modules/pywilight/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "pywilight";
-  version = "0.0.65";
+  version = "0.0.68";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1bldhg81lal9mbf55ky3gj2ndlplr0vfjp1bamd0mz5d9icas8nf";
+    sha256 = "1s1xyw5hkfr4rlni1p9z4941pp1740fsg4a3b23a618hv2p1i4ww";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pywizlight/default.nix b/pkgs/development/python-modules/pywizlight/default.nix
index 32baa25e52e78..2d88460b49706 100644
--- a/pkgs/development/python-modules/pywizlight/default.nix
+++ b/pkgs/development/python-modules/pywizlight/default.nix
@@ -1,19 +1,21 @@
 { lib
-, buildPythonPackage
-, fetchFromGitHub
 , asyncio-dgram
+, buildPythonPackage
 , click
+, fetchFromGitHub
+, pytest-asyncio
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pywizlight";
-  version = "0.4.1";
+  version = "0.4.5";
 
   src = fetchFromGitHub {
     owner = "sbidy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0kyhyda28zbni9sjv6kvky6wlhqldl47niddgpbjsv5dlb9xvxns";
+    sha256 = "sha256-E2rpkdj93LymlkST8HgZ+8VcJFOWwz8787NPfTCSXFY=";
   };
 
   propagatedBuildInputs = [
@@ -21,13 +23,24 @@ buildPythonPackage rec {
     click
   ];
 
-  # no tests are present
-  doCheck = false;
+  checkInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  # Tests requires network features (e. g., discovery testing)
+  disabledTests = [
+    "test_Bulb_Discovery"
+    "test_timeout"
+    "test_timeout_PilotBuilder"
+  ];
+
   pythonImportsCheck = [ "pywizlight" ];
 
   meta = with lib; {
     description = "Python connector for WiZ light bulbs";
     homepage = "https://github.com/sbidy/pywizlight";
+    changelog = "https://github.com/sbidy/pywizlight/releases/tag/v${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/pyxiaomigateway/default.nix b/pkgs/development/python-modules/pyxiaomigateway/default.nix
new file mode 100644
index 0000000000000..1d3a83177edb1
--- /dev/null
+++ b/pkgs/development/python-modules/pyxiaomigateway/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, cryptography
+}:
+
+buildPythonPackage rec {
+  pname = "pyxiaomigateway";
+  version = "0.13.4";
+
+  src = fetchFromGitHub {
+    owner = "Danielhiversen";
+    repo = "PyXiaomiGateway";
+    rev = version;
+    sha256 = "1xg89sdds04wgil88ihs84cjr3df6lajjbkyb1aymj638ibdyqns";
+  };
+
+  propagatedBuildInputs = [ cryptography ];
+
+  # Tests are not mocking the gateway completely
+  doCheck = false;
+  pythonImportsCheck = [ "xiaomi_gateway" ];
+
+  meta = with lib; {
+    description = "Python library to communicate with the Xiaomi Gateway";
+    homepage = "https://github.com/Danielhiversen/PyXiaomiGateway/";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyxml/default.nix b/pkgs/development/python-modules/pyxml/default.nix
index a528de8e0ca27..49796054b564f 100644
--- a/pkgs/development/python-modules/pyxml/default.nix
+++ b/pkgs/development/python-modules/pyxml/default.nix
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     sha256 = "04wc8i7cdkibhrldy6j65qp5l75zjxf5lx6qxdxfdf2gb3wndawz";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
   buildPhase = "${python.interpreter} ./setup.py build";
   installPhase = ''
     ${python.interpreter} ./setup.py install --prefix="$out" || exit 1
diff --git a/pkgs/development/python-modules/pyyaml/default.nix b/pkgs/development/python-modules/pyyaml/default.nix
index 95ceeab3a04b9..93cfad78d50e8 100644
--- a/pkgs/development/python-modules/pyyaml/default.nix
+++ b/pkgs/development/python-modules/pyyaml/default.nix
@@ -2,18 +2,13 @@
 
 buildPythonPackage rec {
   pname = "PyYAML";
-  version = "5.3.1";
+  version = "5.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0pb4zvkfxfijkpgd1b86xjsqql97ssf1knbd1v53wkg1qm9cgsmq";
+    sha256 = "607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e";
   };
 
-  # force regeneration using Cython
-  postPatch = ''
-    rm ext/_yaml.c
-  '';
-
   nativeBuildInputs = [ cython buildPackages.stdenv.cc ];
 
   buildInputs = [ libyaml ];
diff --git a/pkgs/development/python-modules/pyzerproc/default.nix b/pkgs/development/python-modules/pyzerproc/default.nix
new file mode 100644
index 0000000000000..4f3c53fe48319
--- /dev/null
+++ b/pkgs/development/python-modules/pyzerproc/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, asynctest
+, bleak
+, click
+, buildPythonPackage
+, fetchFromGitHub
+, pytest-asyncio
+, pytest-mock
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pyzerproc";
+  version = "0.4.8";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "emlove";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-PNvkgjPcBbnETjWpVF3De9O9IprdpCke0nWvJ9Tju1M=";
+  };
+
+  postPatch = ''
+    sed -i "/--cov/d" setup.cfg
+  '';
+
+  propagatedBuildInputs = [
+    bleak
+    click
+  ];
+
+  checkInputs = [
+    pytest-asyncio
+    pytest-mock
+    pytestCheckHook
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    asynctest
+  ];
+
+  pythonImportsCheck = [ "pyzerproc" ];
+
+  meta = with lib; {
+    description = "Python library to control Zerproc Bluetooth LED smart string lights";
+    homepage = "https://github.com/emlove/pyzerproc";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/python-modules/qiskit-aer/default.nix b/pkgs/development/python-modules/qiskit-aer/default.nix
index e5eb877b6b2b2..bb04309d1a588 100644
--- a/pkgs/development/python-modules/qiskit-aer/default.nix
+++ b/pkgs/development/python-modules/qiskit-aer/default.nix
@@ -2,7 +2,6 @@
 , pythonOlder
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
   # C Inputs
 , blas
 , catch2
@@ -28,7 +27,7 @@
 
 buildPythonPackage rec {
   pname = "qiskit-aer";
-  version = "0.7.1";
+  version = "0.7.4";
 
   disabled = pythonOlder "3.6";
 
@@ -36,7 +35,7 @@ buildPythonPackage rec {
     owner = "Qiskit";
     repo = "qiskit-aer";
     rev = version;
-    sha256 = "07l0wavdknx0y4vy0hwgw24365sg4nb6ygl3lpa098np85qgyn4y";
+    sha256 = "sha256-o6c1ZcGFZ3pwinzMTif1nqF29Wq0Nog1++ZoJGuiKxo=";
   };
 
   nativeBuildInputs = [
@@ -61,10 +60,13 @@ buildPythonPackage rec {
     pybind11
   ];
 
-  patches = [
-    # TODO: remove in favor of qiskit-aer PR #877 patch once accepted/stable
-    ./remove-conan-install.patch
-  ];
+  postPatch = ''
+    substituteInPlace setup.py --replace "'cmake!=3.17,!=3.17.0'," ""
+  '';
+
+  preBuild = ''
+    export DISABLE_CONAN=1
+  '';
 
   dontUseCmakeConfigure = true;
 
diff --git a/pkgs/development/python-modules/qiskit-aer/remove-conan-install.patch b/pkgs/development/python-modules/qiskit-aer/remove-conan-install.patch
deleted file mode 100644
index 1c5ae87b082fe..0000000000000
--- a/pkgs/development/python-modules/qiskit-aer/remove-conan-install.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index efeacfc..77bd6bd 100755
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -121,7 +121,11 @@ endif()
- # Looking for external libraries
- #
- 
--setup_conan()
-+find_package(muparserx REQUIRED)
-+find_package(nlohmann_json REQUIRED)
-+find_package(spdlog REQUIRED)
-+# for tests only
-+find_package(catch2)
- 
- # If we do not set them with a space CMake fails afterwards if nothing is set for this vars!
- set(AER_LINKER_FLAGS " ")
-@@ -269,16 +273,16 @@ endif()
- set(AER_LIBRARIES
- 	${AER_LIBRARIES}
- 	${BLAS_LIBRARIES}
--	CONAN_PKG::nlohmann_json
-+	nlohmann_json
- 	Threads::Threads
--	CONAN_PKG::spdlog
-+	spdlog
- 	${DL_LIB}
- 	${THRUST_DEPENDANT_LIBS})
- 
- set(AER_COMPILER_DEFINITIONS ${AER_COMPILER_DEFINITIONS} ${CONAN_DEFINES})
- # Cython build is only enabled if building through scikit-build.
- if(SKBUILD) # Terra Addon build
--	set(AER_LIBRARIES ${AER_LIBRARIES} CONAN_PKG::muparserx)
-+	set(AER_LIBRARIES ${AER_LIBRARIES} muparserx)
- 	add_subdirectory(qiskit/providers/aer/pulse/qutip_extra_lite/cy)
- 	add_subdirectory(qiskit/providers/aer/backends/wrappers)
- 	add_subdirectory(src/open_pulse)
-diff --git a/setup.py b/setup.py
-index fd71e9f..1561cc4 100644
---- a/setup.py
-+++ b/setup.py
-@@ -11,12 +11,6 @@ import inspect
- 
- PACKAGE_NAME = os.getenv('QISKIT_AER_PACKAGE_NAME', 'qiskit-aer')
- 
--try:
--    from conans import client
--except ImportError:
--    subprocess.call([sys.executable, '-m', 'pip', 'install', 'conan'])
--    from conans import client
--
- try:
-     from skbuild import setup
- except ImportError:
-@@ -46,8 +40,6 @@ common_requirements = [
- 
- setup_requirements = common_requirements + [
-     'scikit-build',
--    'cmake!=3.17,!=3.17.0',
--    'conan>=1.22.2'
- ]
- 
- requirements = common_requirements + ['qiskit-terra>=0.12.0']
diff --git a/pkgs/development/python-modules/qiskit-aqua/default.nix b/pkgs/development/python-modules/qiskit-aqua/default.nix
index 11274c525f097..0e6e8e25b538c 100644
--- a/pkgs/development/python-modules/qiskit-aqua/default.nix
+++ b/pkgs/development/python-modules/qiskit-aqua/default.nix
@@ -34,7 +34,7 @@
 
 buildPythonPackage rec {
   pname = "qiskit-aqua";
-  version = "0.8.1";
+  version = "0.8.2";
 
   disabled = pythonOlder "3.6";
 
@@ -43,7 +43,7 @@ buildPythonPackage rec {
     owner = "Qiskit";
     repo = "qiskit-aqua";
     rev = version;
-    sha256 = "11qyya3vyq50wpzrzzl8v46yx5p72rhpqhybwn47qgazxgg82r1b";
+    sha256 = "sha256-ybf8bXqsVk6quYi0vrfo/Mplk7Nr7tQS7cevXxI9khw=";
   };
 
   # Optional packages: pyscf (see below NOTE) & pytorch. Can install via pip/nix if needed.
@@ -73,13 +73,8 @@ buildPythonPackage rec {
   # It can also be installed at runtime from the pip wheel.
   # We disable appropriate tests below to allow building without pyscf installed
 
-  # NOTE: we remove cplex b/c we can't build pythonPackages.cplex.
-  # cplex is only distributed in manylinux1 wheel (no source), and Nix python is not manylinux1 compatible
-
   postPatch = ''
-    substituteInPlace setup.py \
-      --replace "pyscf; sys_platform != 'win32'" "" \
-      --replace "cplex; python_version >= '3.6' and python_version < '3.8'" ""
+    substituteInPlace setup.py --replace "docplex==2.15.194" "docplex"
 
     # Add ImportWarning when running qiskit.chemistry (pyscf is a chemistry package) that pyscf is not included
     echo -e "\nimport warnings\ntry: import pyscf;\nexcept ImportError:\n    " \
diff --git a/pkgs/development/python-modules/qiskit-ignis/default.nix b/pkgs/development/python-modules/qiskit-ignis/default.nix
index b5295dbd04118..f73b46a520a33 100644
--- a/pkgs/development/python-modules/qiskit-ignis/default.nix
+++ b/pkgs/development/python-modules/qiskit-ignis/default.nix
@@ -2,7 +2,6 @@
 , pythonOlder
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , python
 , numpy
 , qiskit-terra
@@ -24,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "qiskit-ignis";
-  version = "0.5.1";
+  version = "0.5.2";
 
   disabled = pythonOlder "3.6";
 
@@ -33,11 +32,11 @@ buildPythonPackage rec {
     owner = "Qiskit";
     repo = "qiskit-ignis";
     rev = version;
-    sha256 = "17kplmi17axcbbgw35dzfr3d5bzfymxfni9sf6v14223c5674p4y";
+    sha256 = "sha256-Kl3tnoamZrCxwoDdu8betG6Lf3CC3D8R2TYiq8Zl3Aw=";
   };
 
   # hacky, fix https://github.com/Qiskit/qiskit-ignis/issues/532.
-  # TODO: remove on qiskit-ignis v0.5.1
+  # TODO: remove on qiskit-ignis v0.5.2
   postPatch = ''
     substituteInPlace qiskit/ignis/mitigation/expval/base_meas_mitigator.py --replace "plt.axes" "'plt.axes'"
   '';
diff --git a/pkgs/development/python-modules/qiskit-terra/default.nix b/pkgs/development/python-modules/qiskit-terra/default.nix
index 89d39b718cdfd..ff51e82e351ea 100644
--- a/pkgs/development/python-modules/qiskit-terra/default.nix
+++ b/pkgs/development/python-modules/qiskit-terra/default.nix
@@ -56,7 +56,7 @@ in
 
 buildPythonPackage rec {
   pname = "qiskit-terra";
-  version = "0.16.1";
+  version = "0.16.4";
 
   disabled = pythonOlder "3.6";
 
@@ -64,7 +64,7 @@ buildPythonPackage rec {
     owner = "Qiskit";
     repo = pname;
     rev = version;
-    sha256 = "0007glsbrvq9swamvz8r76z9nzh46b388y0ds1dypczxpwlp9xcq";
+    sha256 = "sha256-/rWlPfpAHoMedKG42jfUYt0Ezq7i+9dkyPllavkg4cc=";
   };
 
   nativeBuildInputs = [ cython ];
diff --git a/pkgs/development/python-modules/qiskit/default.nix b/pkgs/development/python-modules/qiskit/default.nix
index 7c79d517ce5d8..3c7a004420200 100644
--- a/pkgs/development/python-modules/qiskit/default.nix
+++ b/pkgs/development/python-modules/qiskit/default.nix
@@ -15,7 +15,7 @@
 buildPythonPackage rec {
   pname = "qiskit";
   # NOTE: This version denotes a specific set of subpackages. See https://qiskit.org/documentation/release_notes.html#version-history
-  version = "0.23.1";
+  version = "0.23.5";
 
   disabled = pythonOlder "3.6";
 
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "qiskit";
     repo = "qiskit";
     rev = version;
-    sha256 = "0x4cqx1wqqj7h5g3vdag694qjzsmvhpw25yrlcs70mh5ywdp28x1";
+    sha256 = "sha256-qtMFztAeqNz0FSgQnOOrvAdPcbUCAal7KrVmpNvvBiY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/qscintilla-qt5/default.nix b/pkgs/development/python-modules/qscintilla-qt5/default.nix
index 2ee9c82f08db7..dcbe213966f95 100644
--- a/pkgs/development/python-modules/qscintilla-qt5/default.nix
+++ b/pkgs/development/python-modules/qscintilla-qt5/default.nix
@@ -14,6 +14,8 @@ buildPythonPackage {
   buildInputs = [ qscintilla ];
   propagatedBuildInputs = [ pyqt5 ];
 
+  dontWrapQtApps = true;
+
   postPatch = ''
     substituteInPlace Python/configure.py \
       --replace \
diff --git a/pkgs/development/python-modules/quandl/default.nix b/pkgs/development/python-modules/quandl/default.nix
index 56b80a4676b86..0247d20ec7d6e 100644
--- a/pkgs/development/python-modules/quandl/default.nix
+++ b/pkgs/development/python-modules/quandl/default.nix
@@ -46,6 +46,8 @@ buildPythonPackage rec {
     importlib-metadata
   ];
 
+  pythonImportsCheck = [ "quandl" ];
+
   meta = with lib; {
     description = "Quandl Python client library";
     homepage = "https://github.com/quandl/quandl-python";
diff --git a/pkgs/development/python-modules/radiotherm/default.nix b/pkgs/development/python-modules/radiotherm/default.nix
new file mode 100644
index 0000000000000..9cefe8839c1cb
--- /dev/null
+++ b/pkgs/development/python-modules/radiotherm/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, mock
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "radiotherm";
+  version = "2.1.0";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "mhrivnak";
+    repo = pname;
+    rev = version;
+    sha256 = "0p37pc7l2malmjfkdlh4q2cfa6dqpsk1rah2j2xil0pj57ai6bks";
+  };
+
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "radiotherm" ];
+
+  meta = with lib; {
+    description = "Python library for Wifi Radiothermostat";
+    homepage = "https://github.com/mhrivnak/radiotherm";
+    license = with licenses; [ bsd3 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/ratelimit/default.nix b/pkgs/development/python-modules/ratelimit/default.nix
new file mode 100644
index 0000000000000..f706d043bf869
--- /dev/null
+++ b/pkgs/development/python-modules/ratelimit/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "ratelimit";
+  version = "2.2.1";
+
+  src = fetchFromGitHub {
+    owner = "tomasbasham";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "04hy3hhh5xdqcsz0lx8j18zbj88kh5ik4wyi5d3a5sfy2hx70in2";
+  };
+
+  postPatch = ''
+    sed -i "/--cov/d" pytest.ini
+  '';
+
+  checkInputs = [ pytestCheckHook ];
+
+  pytestFlagsArray = [ "tests" ];
+
+  pythonImportsCheck = [ "ratelimit" ];
+
+  meta = with lib; {
+    description = "Python API Rate Limit Decorator";
+    homepage = "https://github.com/tomasbasham/ratelimit";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/rdkit/default.nix b/pkgs/development/python-modules/rdkit/default.nix
new file mode 100644
index 0000000000000..b747304446b70
--- /dev/null
+++ b/pkgs/development/python-modules/rdkit/default.nix
@@ -0,0 +1,157 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchzip
+, cmake
+, boost
+, catch
+, inchi
+, cairo
+, eigen
+, python
+, rapidjson
+, maeparser
+, coordgenlibs
+, numpy
+, pandas
+, pillow
+, git
+}:
+let
+  external = {
+    avalon = fetchzip {
+      url = "http://sourceforge.net/projects/avalontoolkit/files/AvalonToolkit_1.2/AvalonToolkit_1.2.0.source.tar";
+      sha256 = "0nhxfxckb5a5qs0g148f55yarhncqjgjzcvdskkv9rxi2nrs7160";
+      stripRoot = false;
+    };
+    yaehmop = fetchFromGitHub {
+      owner = "greglandrum";
+      repo = "yaehmop";
+      rev = "1b13b52e2738a77715b1bad876e3b4e93f2b5269";
+      sha256 = "1jp7wz8win4mgwxkaz2gnrgsaaqgln04n2lwgfr96isdv1klf62d";
+    };
+    freesasa = fetchFromGitHub
+      {
+        owner = "mittinatten";
+        repo = "freesasa";
+        rev = "2.0.3";
+        sha256 = "0x686zm9fpyg5647fdgxnxgbwav99nc6ymh4bmkr2063yyda4kzc";
+      };
+  };
+in
+buildPythonPackage rec {
+  version = "2020.09.3";
+  pname = "rdkit";
+
+  src =
+    let
+      versionTag = lib.replaceStrings [ "." ] [ "_" ] version;
+    in
+    fetchFromGitHub {
+      owner = pname;
+      repo = pname;
+      rev = "Release_${versionTag}";
+      sha256 = "1k1wvzcd1yfx4nhz3iq2aaadzdk5w6sfcb4imhvm7pkbzij0nicx";
+    };
+
+  unpackPhase = ''
+    mkdir -p source/External/AvalonTools/avalon source/External/YAeHMOP/yaehmop source/External/FreeSASA/freesasa
+    cp -r ${src}/* source
+    cp -r ${external.avalon}/SourceDistribution/* source/External/AvalonTools/avalon
+    cp -r ${external.yaehmop}/* source/External/YAeHMOP/yaehmop
+    cp -r ${external.freesasa}/* source/External/FreeSASA/freesasa
+
+    find source -type d -exec chmod 755 {} +
+    cp source/External/FreeSASA/freesasa2.c source/External/FreeSASA/freesasa/src
+    ln -s ${rapidjson} source/External/rapidjson-1.1.0
+  '';
+
+  sourceRoot = "source";
+
+  nativeBuildInputs = [
+    cmake
+    git # required by freesasa
+  ];
+
+  buildInputs = [
+    boost
+    catch
+    inchi
+    eigen
+    cairo
+    rapidjson
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    pandas
+    pillow
+  ];
+
+  hardeningDisable = [ "format" ]; # required by yaehmop
+  # doCheck = false;
+  dontUseSetuptoolsBuild = true;
+  dontUsePipInstall = true;
+  dontUseSetuptoolsCheck = true;
+
+  preConfigure = ''
+    # Don't want this contacting the git remote during the build
+    substituteInPlace External/YAeHMOP/CMakeLists.txt --replace \
+      'GIT_TAG master' 'DOWNLOAD_COMMAND true'
+
+    # Since we can't expand with bash in cmakeFlags
+    cmakeFlags="$cmakeFlags -DPYTHON_NUMPY_INCLUDE_PATH=$(${python}/bin/python -c 'import numpy; print(numpy.get_include())')"
+    cmakeFlags="$cmakeFlags -DFREESASA_DIR=$PWD/External/FreeSASA/freesasa"
+    cmakeFlags="$cmakeFlags -DFREESASA_SRC_DIR=$PWD/External/FreeSASA/freesasa"
+    cmakeFlags="$cmakeFlags -DAVALONTOOLS_DIR=$PWD/External/AvalonTools/avalon"
+  '';
+
+  cmakeFlags = [
+    "-DCATCH_DIR=${catch}/include/catch"
+    "-DINCHI_LIBRARY=${inchi}/lib/libinchi.so"
+    "-DINCHI_LIBRARIES=${inchi}/lib/libinchi.so"
+    "-DINCHI_INCLUDE_DIR=${inchi}/include/inchi"
+    "-DEIGEN3_INCLUDE_DIR=${eigen}/include/eigen3"
+    "-DRDK_INSTALL_INTREE=OFF"
+    "-DRDK_INSTALL_STATIC_LIBS=OFF"
+    "-DRDK_BUILD_INCHI_SUPPORT=ON"
+    "-DRDK_BUILD_AVALON_SUPPORT=ON"
+    "-DRDK_BUILD_FREESASA_SUPPORT=ON"
+    "-DRDK_BUILD_YAEHMOP_SUPPORT=ON"
+    "-DRDK_BUILD_MAEPARSER_SUPPORT=ON"
+    "-DMAEPARSER_DIR=${maeparser}"
+    "-DRDK_BUILD_COORDGEN_SUPPORT=ON"
+    "-DCOORDGEN_DIR=${coordgenlibs}"
+    "-DRDK_USE_URF=OFF"
+    "-DRDK_USE_FLEXBISON=OFF"
+    "-DRDK_BUILD_CAIRO_SUPPORT=ON"
+    "-DRDK_BUILD_THREADSAFE_SSS=ON"
+    "-DRDK_TEST_MULTITHREADED=ON"
+    "-DRDK_BUILD_CPP_TESTS=ON"
+    "-DRDK_TEST_MULTITHREADED=ON"
+    "-DPYTHON_EXECUTABLE=${python}/bin/python"
+    "-DBOOST_ROOT=${boost}"
+    "-DBoost_NO_SYSTEM_PATHS=ON"
+    "-DBoost_NO_BOOST_CMAKE=TRUE"
+  ];
+
+  checkPhase = ''
+    export QT_QPA_PLATFORM='offscreen'
+    export RDBASE=$(realpath ..)
+    export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+    (cd $RDBASE/rdkit/Chem && python $RDBASE/rdkit/TestRunner.py test_list.py)
+  '';
+
+  pythonImportsCheck = [
+     "rdkit"
+     "rdkit.Chem"
+     "rdkit.Chem.AllChem"
+  ];
+
+  meta = with lib; {
+    description = "Open source toolkit for cheminformatics";
+    maintainers = [ maintainers.rmcgibbo ];
+    license = licenses.bsd3;
+    homepage = "https://www.rdkit.org";
+  };
+}
diff --git a/pkgs/development/python-modules/requests/default.nix b/pkgs/development/python-modules/requests/default.nix
index e0dfb9a24a643..169583586a1c4 100644
--- a/pkgs/development/python-modules/requests/default.nix
+++ b/pkgs/development/python-modules/requests/default.nix
@@ -1,24 +1,59 @@
-{ lib, fetchPypi, buildPythonPackage
-, urllib3, idna, chardet, certifi
-, pytest }:
+{ lib
+, buildPythonPackage
+, certifi
+, chardet
+, fetchPypi
+, idna
+, pytest-mock
+, pytest-xdist
+, pytestCheckHook
+, urllib3
+}:
 
 buildPythonPackage rec {
   pname = "requests";
-  version = "2.25.0";
+  version = "2.25.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1y6mb8c0ipd64d5axq2p368yxndp3f966hmabjka2q2a5y9hn6kz";
+    sha256 = "sha256-J5c91KkEpPE7JjoZyGbBO5KjntHJZGVfAl8/jT11uAQ=";
   };
 
-  nativeBuildInputs = [ pytest ];
-  propagatedBuildInputs = [ urllib3 idna chardet certifi ];
-  # sadly, tests require networking
-  doCheck = false;
+  propagatedBuildInputs = [
+    certifi
+    chardet
+    idna
+    urllib3
+  ];
+
+  checkInputs = [
+    pytest-mock
+    pytest-xdist
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # Disable tests that require network access and use httpbin
+    "requests.api.request"
+    "requests.models.PreparedRequest"
+    "requests.sessions.Session"
+    "requests"
+    "test_redirecting_to_bad_url"
+    "test_requests_are_updated_each_time"
+    "test_should_bypass_proxies_pass_only_hostname"
+    "test_urllib3_pool_connection_closed"
+    "test_urllib3_retries"
+    "test_use_proxy_from_environment"
+    "TestRequests"
+    "TestTimeout"
+  ];
+
+  pythonImportsCheck = [ "requests" ];
 
   meta = with lib; {
-    description = "An Apache2 licensed HTTP library, written in Python, for human beings";
+    description = "Simple HTTP library for Python";
     homepage = "http://docs.python-requests.org/en/latest/";
     license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/pkgs/development/python-modules/respx/default.nix b/pkgs/development/python-modules/respx/default.nix
index 61e2016a4975b..68da058194bf4 100644
--- a/pkgs/development/python-modules/respx/default.nix
+++ b/pkgs/development/python-modules/respx/default.nix
@@ -1,5 +1,4 @@
 { lib
-, attrs
 , buildPythonPackage
 , fetchFromGitHub
 , httpcore
@@ -8,7 +7,6 @@
 , pytest-cov
 , pytestCheckHook
 , trio
-, xmltodict
 }:
 
 buildPythonPackage rec {
diff --git a/pkgs/development/python-modules/retworkx/default.nix b/pkgs/development/python-modules/retworkx/default.nix
index 02a3ef64c573d..8cce139facba7 100644
--- a/pkgs/development/python-modules/retworkx/default.nix
+++ b/pkgs/development/python-modules/retworkx/default.nix
@@ -1,16 +1,14 @@
 { lib
+, buildPythonPackage
 , rustPlatform
-, python
 , fetchFromGitHub
-, pipInstallHook
-, maturin
-, pip
+
   # Check inputs
 , pytestCheckHook
 , numpy
 }:
 
-rustPlatform.buildRustPackage rec {
+buildPythonPackage rec {
   pname = "retworkx";
   version = "0.6.0";
 
@@ -21,11 +19,15 @@ rustPlatform.buildRustPackage rec {
     sha256 = "11n30ldg3y3y6qxg3hbj837pnbwjkqw3nxq6frds647mmmprrd20";
   };
 
-  cargoSha256 = "1vg4yf0k6yypqf9z46zz818mz7fdrgxj7zl6zjf7pnm2r8mq3qw5";
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "${pname}-${version}";
+    hash = "sha256-heOBK8qi2nuc/Ib+I/vLzZ1fUUD/G/KTw9d7M4Hz5O0=";
+  };
 
-  propagatedBuildInputs = [ python ];
+  format = "pyproject";
 
-  nativeBuildInputs = [ pipInstallHook maturin pip ];
+  nativeBuildInputs = with rustPlatform; [ cargoSetupHook maturinBuildHook ];
 
   # Needed b/c need to check AFTER python wheel is installed (using Rust Build, not buildPythonPackage)
   doCheck = false;
@@ -33,17 +35,6 @@ rustPlatform.buildRustPackage rec {
 
   installCheckInputs = [ pytestCheckHook numpy ];
 
-  buildPhase = ''
-    runHook preBuild
-    maturin build --release --manylinux off --strip
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    install -Dm644 -t dist target/wheels/*.whl
-    pipInstallPhase
-  '';
-
   preCheck = ''
     export TESTDIR=$(mktemp -d)
     cp -r tests/ $TESTDIR
diff --git a/pkgs/development/python-modules/roboschool/default.nix b/pkgs/development/python-modules/roboschool/default.nix
index 3e15f18a3dd1e..97eee2155a5e1 100644
--- a/pkgs/development/python-modules/roboschool/default.nix
+++ b/pkgs/development/python-modules/roboschool/default.nix
@@ -44,6 +44,8 @@ buildPythonPackage rec {
     boost
   ];
 
+  dontWrapQtApps = true;
+
   NIX_CFLAGS_COMPILE="-I ${python}/include/${python.libPrefix}";
 
   patches = [
diff --git a/pkgs/development/python-modules/robotframework-tools/default.nix b/pkgs/development/python-modules/robotframework-tools/default.nix
index 9b90b25bfb72f..77a7fe13df99c 100644
--- a/pkgs/development/python-modules/robotframework-tools/default.nix
+++ b/pkgs/development/python-modules/robotframework-tools/default.nix
@@ -1,14 +1,13 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, isPy3k
 , robotframework
 , moretools
 , pathpy
 , six
 , zetup
 , modeled
-, pytest
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -20,9 +19,7 @@ buildPythonPackage rec {
     sha256 = "0377ikajf6c3zcy3lc0kh4w9zmlqyplk2c2hb0yyc7h3jnfnya96";
   };
 
-  nativeBuildInputs = [
-    zetup
-  ];
+  nativeBuildInputs = [ zetup ];
 
   propagatedBuildInputs = [
     robotframework
@@ -32,19 +29,21 @@ buildPythonPackage rec {
     modeled
   ];
 
-  checkInputs = [
-    pytest
-  ];
-
-  checkPhase = ''
-    # tests require network
-    pytest test --ignore test/remote/test_remote.py
+  postPatch = ''
+    # Remove upstream's selfmade approach to collect the dependencies
+    # https://github.com/userzimmermann/robotframework-tools/issues/1
+    substituteInPlace setup.py --replace \
+      "setup_requires=SETUP_REQUIRES + (zfg.SETUP_REQUIRES or [])," ""
   '';
 
+  checkInputs = [ pytestCheckHook ];
+  pytestFlagsArray = [ "test" ];
+  pythonImportsCheck = [ "robottools" ];
+
   meta = with lib; {
     description = "Python Tools for Robot Framework and Test Libraries";
-    homepage = "https://bitbucket.org/userzimmermann/robotframework-tools";
-    license = licenses.gpl3;
+    homepage = "https://github.com/userzimmermann/robotframework-tools";
+    license = licenses.gpl3Plus;
     maintainers = [ maintainers.costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/rpy2/default.nix b/pkgs/development/python-modules/rpy2/default.nix
index 0b042288fb752..cae84f8cbe91e 100644
--- a/pkgs/development/python-modules/rpy2/default.nix
+++ b/pkgs/development/python-modules/rpy2/default.nix
@@ -1,8 +1,6 @@
 { stdenv
 , lib
-, python
 , buildPythonPackage
-, fetchpatch
 , fetchPypi
 , isPyPy
 , R
diff --git a/pkgs/development/python-modules/rx/default.nix b/pkgs/development/python-modules/rx/default.nix
index 00808e744a29b..5fd9064020a47 100644
--- a/pkgs/development/python-modules/rx/default.nix
+++ b/pkgs/development/python-modules/rx/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "rx";
-  version = "3.1.0";
+  version = "3.1.1";
   disabled = pythonOlder "3.6";
 
   # There are no tests on the pypi source
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     owner = "ReactiveX";
     repo = "rxpy";
     rev = "v${version}";
-    sha256 = "0rcwa8001il9p7s096b9gc5yld8cyxvrsmwh1gpc9b87j172z6ax";
+    sha256 = "0p0cs67l40npkvwgn5sb18l1b6df1b9fg6rzlqkwk2aa0v3cpvhf";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/sagemaker/default.nix b/pkgs/development/python-modules/sagemaker/default.nix
new file mode 100644
index 0000000000000..ddb93a21357ee
--- /dev/null
+++ b/pkgs/development/python-modules/sagemaker/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, attrs
+, boto3
+, google-pasta
+, importlib-metadata
+, numpy
+, protobuf
+, protobuf3-to-dict
+, smdebug-rulesconfig
+, pandas
+}:
+
+buildPythonPackage rec {
+  pname = "sagemaker";
+  version = "2.26.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-CT0vXt6x+cp4yHZtfBiRq+/Aurd4Q7Zagn4lNRqji/o=";
+  };
+
+  pythonImportsCheck = [
+    "sagemaker"
+    "sagemaker.lineage.visualizer"
+  ];
+
+  propagatedBuildInputs = [
+    attrs
+    boto3
+    google-pasta
+    importlib-metadata
+    numpy
+    protobuf
+    protobuf3-to-dict
+    smdebug-rulesconfig
+    pandas
+  ];
+
+  doCheck = false;
+
+  postFixup = ''
+    [ "$($out/bin/sagemaker-upgrade-v2 --help 2>&1 | grep -cim1 'pandas failed to import')" -eq "0" ]
+  '';
+
+  meta = with lib; {
+    description = "Library for training and deploying machine learning models on Amazon SageMaker";
+    homepage = "https://github.com/aws/sagemaker-python-sdk/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ nequissimus ];
+  };
+}
diff --git a/pkgs/development/python-modules/scikit-bio/default.nix b/pkgs/development/python-modules/scikit-bio/default.nix
index f14c4d82f4281..f13fecc085518 100644
--- a/pkgs/development/python-modules/scikit-bio/default.nix
+++ b/pkgs/development/python-modules/scikit-bio/default.nix
@@ -32,12 +32,6 @@ buildPythonPackage rec {
   checkInputs = [ coverage ];
   propagatedBuildInputs = [ lockfile cachecontrol decorator ipython matplotlib natsort numpy pandas scipy hdmedians scikitlearn ];
 
-  # remove on when version > 0.5.4
-  postPatch = ''
-    sed -i "s/numpy >= 1.9.2, < 1.14.0/numpy/" setup.py
-    sed -i "s/pandas >= 0.19.2, < 0.23.0/pandas/" setup.py
-  '';
-
   # cython package not included for tests
   doCheck = false;
 
@@ -45,6 +39,8 @@ buildPythonPackage rec {
     ${python.interpreter} -m skbio.test
   '';
 
+  pythonImportsCheck = [ "skbio" ];
+
   meta = with lib; {
     homepage = "http://scikit-bio.org/";
     description = "Data structures, algorithms and educational resources for bioinformatics";
diff --git a/pkgs/development/python-modules/scipy/default.nix b/pkgs/development/python-modules/scipy/default.nix
index 8d08e43bc7139..0bc8499a373b1 100644
--- a/pkgs/development/python-modules/scipy/default.nix
+++ b/pkgs/development/python-modules/scipy/default.nix
@@ -9,11 +9,11 @@ let
   });
 in buildPythonPackage rec {
   pname = "scipy";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0rh5b1rwdcvvagld8vpxnpaibszy1skpx39a0fwzd5gx5pwcjvfb";
+    sha256 = "048vd4c843xaq45yk3kn491gvqnvhp2i9rxhg671ddlh923fpz64";
   };
 
   checkInputs = [ nose pytest ];
@@ -53,9 +53,10 @@ in buildPythonPackage rec {
 
   SCIPY_USE_G77_ABI_WRAPPER = 1;
 
-  meta = {
-    description = "SciPy (pronounced 'Sigh Pie') is open-source software for mathematics, science, and engineering. ";
+  meta = with lib; {
+    description = "SciPy (pronounced 'Sigh Pie') is open-source software for mathematics, science, and engineering";
     homepage = "https://www.scipy.org/";
-    maintainers = with lib.maintainers; [ fridh ];
+    license = licenses.bsd3;
+    maintainers = [ maintainers.fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/seaborn/default.nix b/pkgs/development/python-modules/seaborn/default.nix
index b3bf8fce0fca4..8c771ea286cb9 100644
--- a/pkgs/development/python-modules/seaborn/default.nix
+++ b/pkgs/development/python-modules/seaborn/default.nix
@@ -26,6 +26,7 @@ buildPythonPackage rec {
 
   # Computationally very demanding tests
   doCheck = false;
+  pythonImportsCheck= [ "seaborn" ];
 
   meta = {
     description = "Statisitical data visualization";
diff --git a/pkgs/development/python-modules/sendgrid/default.nix b/pkgs/development/python-modules/sendgrid/default.nix
index 77cd35938635d..704549e987d7b 100644
--- a/pkgs/development/python-modules/sendgrid/default.nix
+++ b/pkgs/development/python-modules/sendgrid/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "sendgrid";
-  version = "6.5.0";
+  version = "6.6.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "sendgrid-python";
     rev = version;
-    sha256 = "14kqjdv49486ksc1s0m0hc4k5nf9vn1v1g489mpib01hiiqxjp1b";
+    sha256 = "sha256-R9ASHDIGuPRh4yf0FAlpjUZ6QAakYs35EFSqAPc02Q8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix
index b3a1c4ee2f4ce..6b49d6db499d9 100644
--- a/pkgs/development/python-modules/sentry-sdk/default.nix
+++ b/pkgs/development/python-modules/sentry-sdk/default.nix
@@ -29,11 +29,11 @@
 
 buildPythonPackage rec {
   pname = "sentry-sdk";
-  version = "0.19.4";
+  version = "0.19.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1052f0ed084e532f66cb3e4ba617960d820152aee8b93fc6c05bd53861768c1c";
+    sha256 = "0grba3rpgg20sqhrh8mxcjwmwgbwrybrxymavh7xsad59570jykk";
   };
 
   checkInputs = [ blinker botocore chalice django flask tornado bottle rq falcon sqlalchemy werkzeug trytond
diff --git a/pkgs/development/python-modules/serverlessrepo/default.nix b/pkgs/development/python-modules/serverlessrepo/default.nix
index 1e6f8307fbcab..2a8267710a090 100644
--- a/pkgs/development/python-modules/serverlessrepo/default.nix
+++ b/pkgs/development/python-modules/serverlessrepo/default.nix
@@ -29,10 +29,6 @@ buildPythonPackage rec {
     pytest tests/unit
   '';
 
-  postPatch = ''
-    substituteInPlace setup.py --replace "pyyaml~=3.12" "pyyaml~=5.1"
-  '';
-
   meta = with lib; {
     homepage = "https://github.com/awslabs/aws-serverlessrepo-python";
     description = "Helpers for working with the AWS Serverless Application Repository";
diff --git a/pkgs/development/python-modules/setproctitle/default.nix b/pkgs/development/python-modules/setproctitle/default.nix
index 9338166efefe4..fb7913ce25c9a 100644
--- a/pkgs/development/python-modules/setproctitle/default.nix
+++ b/pkgs/development/python-modules/setproctitle/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchPypi
 , pytestCheckHook
 }:
@@ -8,6 +9,8 @@ buildPythonPackage rec {
   pname = "setproctitle";
   version = "1.2";
 
+  disabled = pythonOlder "3.6";
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "9b4e48722dd96cbd66d5bf2eab930fff8546cd551dd8d774c8a319448bd381a6";
diff --git a/pkgs/development/python-modules/shamir-mnemonic/default.nix b/pkgs/development/python-modules/shamir-mnemonic/default.nix
index 2225466658d56..ceb3b9abcd8bd 100644
--- a/pkgs/development/python-modules/shamir-mnemonic/default.nix
+++ b/pkgs/development/python-modules/shamir-mnemonic/default.nix
@@ -1,22 +1,40 @@
-{ lib, fetchPypi, buildPythonPackage, isPy3k, click, colorama }:
+{ lib
+, buildPythonPackage
+, isPy3k
+, fetchFromGitHub
+, attrs
+, click
+, colorama
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "shamir-mnemonic";
-  version = "0.1.0";
+  version = "0.2.1";
 
   disabled = !isPy3k;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1cc08d276e05b13cd32bd3b0c5d1cb6c30254e0086e0f6857ec106d4cceff121";
+  src = fetchFromGitHub {
+    owner = "trezor";
+    repo = "python-${pname}";
+    rev = "v${version}";
+    sha256 = "1mi1n01yw8yycbiv1l0xnfzlhhq2arappyvyi2jm5yq65jln77kg";
   };
 
-  propagatedBuildInputs = [ click colorama ];
+  propagatedBuildInputs = [
+    attrs
+    click
+    colorama
+  ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "shamir_mnemonic" ];
 
   meta = with lib; {
     description = "Reference implementation of SLIP-0039";
     homepage = "https://github.com/trezor/python-shamir-mnemonic";
     license = licenses.mit;
-    maintainers = with maintainers; [ _1000101 ];
+    maintainers = with maintainers; [ _1000101 prusnak ];
   };
 }
diff --git a/pkgs/development/python-modules/shapely/default.nix b/pkgs/development/python-modules/shapely/default.nix
index b5dd0be5445c5..e8ea874e5ca5f 100644
--- a/pkgs/development/python-modules/shapely/default.nix
+++ b/pkgs/development/python-modules/shapely/default.nix
@@ -1,47 +1,75 @@
-{ lib, stdenv, buildPythonPackage, fetchPypi, substituteAll, pythonOlder
-, geos, pytest, cython
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchPypi
+, substituteAll
+, pythonOlder
+, geos
+, pytestCheckHook
+, cython
 , numpy
+, fetchpatch
 }:
 
 buildPythonPackage rec {
   pname = "Shapely";
   version = "1.7.1";
+  disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "0adiz4jwmwxk7k1awqifb1a9bj5x4nx4gglb5dz9liam21674h8n";
   };
-  disabled = pythonOlder "3.5";
 
   nativeBuildInputs = [
     geos # for geos-config
     cython
   ];
 
-  checkInputs = [ pytest ];
+  propagatedBuildInputs = [
+    numpy
+  ];
 
-  propagatedBuildInputs = [ numpy ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  # environment variable used in shapely/_buildcfg.py
+  # Environment variable used in shapely/_buildcfg.py
   GEOS_LIBRARY_PATH = "${geos}/lib/libgeos_c${stdenv.hostPlatform.extensions.sharedLibrary}";
 
   patches = [
+    # Fix with geos 3.9. This patch will be part of the next release after 1.7.1
+    (fetchpatch {
+      url = "https://github.com/Toblerity/Shapely/commit/77879a954d24d1596f986d16ba3eff5e13861164.patch";
+      sha256 = "1w7ngjqbpf9vnvrfg4nyv34kckim9a60gvx20h6skc79xwihd4m5";
+      excludes = [
+        "tests/test_create_inconsistent_dimensionality.py"
+        "appveyor.yml"
+        ".travis.yml"
+      ];
+    })
+    # Patch to search form GOES .so/.dylib files in a Nix-aware way
     (substituteAll {
       src = ./library-paths.patch;
       libgeos_c = GEOS_LIBRARY_PATH;
       libc = lib.optionalString (!stdenv.isDarwin) "${stdenv.cc.libc}/lib/libc${stdenv.hostPlatform.extensions.sharedLibrary}.6";
     })
-  ];
+ ];
 
-  # Disable the tests that improperly try to use the built extensions
-  checkPhase = ''
+  preCheck = ''
     rm -r shapely # prevent import of local shapely
-    py.test tests
   '';
 
+  disabledTests = [
+    "test_collection"
+  ];
+
+  pythonImportsCheck = [ "shapely" ];
+
   meta = with lib; {
     description = "Geometric objects, predicates, and operations";
-    maintainers = with maintainers; [ knedlsepp ];
     homepage = "https://pypi.python.org/pypi/Shapely/";
+    license = with licenses; [ bsd3 ];
+    maintainers = with maintainers; [ knedlsepp ];
   };
 }
diff --git a/pkgs/development/python-modules/sharkiqpy/default.nix b/pkgs/development/python-modules/sharkiqpy/default.nix
new file mode 100644
index 0000000000000..9d696bf0a21a6
--- /dev/null
+++ b/pkgs/development/python-modules/sharkiqpy/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchPypi
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "sharkiqpy";
+  version = "0.1.9";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0nk1nbplyk28qadxc7rydjvdgbz3za0xjg6c95l95mhiz453q5sw";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    requests
+  ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "sharkiqpy" ];
+
+  meta = with lib; {
+    description = "Python API for Shark IQ robot";
+    homepage = "https://github.com/ajmarks/sharkiq";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/shiboken2/default.nix b/pkgs/development/python-modules/shiboken2/default.nix
index b7508a8f6447f..23836addd0ca9 100644
--- a/pkgs/development/python-modules/shiboken2/default.nix
+++ b/pkgs/development/python-modules/shiboken2/default.nix
@@ -23,6 +23,8 @@ stdenv.mkDerivation {
     "-DBUILD_TESTS=OFF"
   ];
 
+  dontWrapQtApps = true;
+
   postInstall = ''
     rm $out/bin/shiboken_tool.py
   '';
diff --git a/pkgs/development/python-modules/simplehound/default.nix b/pkgs/development/python-modules/simplehound/default.nix
new file mode 100644
index 0000000000000..1ecd446c5b48f
--- /dev/null
+++ b/pkgs/development/python-modules/simplehound/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, requests
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, requests-mock
+}:
+
+buildPythonPackage rec {
+  pname = "simplehound";
+  version = "0.6";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "robmarkcole";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1b5m3xjmk0l6ynf0yvarplsfsslgklalfcib7sikxg3v5hiv9qwh";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  checkInputs = [
+    requests-mock
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "simplehound" ];
+
+  meta = with lib; {
+    description = "Python API for Sighthound";
+    homepage = "https://github.com/robmarkcole/simplehound";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/skein/skeinrepo.nix b/pkgs/development/python-modules/skein/skeinrepo.nix
index 85b4f19c8f732..d7bdef56ebe38 100644
--- a/pkgs/development/python-modules/skein/skeinrepo.nix
+++ b/pkgs/development/python-modules/skein/skeinrepo.nix
@@ -7,8 +7,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ maven ] ++ lib.optional stdenv.isLinux autoPatchelfHook;
 
-  doBuild = false;
-
   installPhase = ''
     mkdir -p $out
 
diff --git a/pkgs/development/python-modules/skorch/default.nix b/pkgs/development/python-modules/skorch/default.nix
index bb41f61517fca..fd161ecd7531c 100644
--- a/pkgs/development/python-modules/skorch/default.nix
+++ b/pkgs/development/python-modules/skorch/default.nix
@@ -26,10 +26,13 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ numpy pytorch scikitlearn scipy tabulate tqdm ];
   checkInputs = [ pytest pytestcov flaky pandas pytestCheckHook ];
 
-  # on CPU, these expect artifacts from previous GPU run
   disabledTests = [
+    # on CPU, these expect artifacts from previous GPU run
     "test_load_cuda_params_to_cpu"
+    # failing tests
     "test_pickle_load"
+    "test_grid_search_with_slds_"
+    "test_grid_search_with_dict_works"
   ];
 
   meta = with lib; {
@@ -38,5 +41,7 @@ buildPythonPackage rec {
     changelog = "https://github.com/skorch-dev/skorch/blob/master/CHANGES.md";
     license = licenses.bsd3;
     maintainers = with maintainers; [ bcdarwin ];
+    # TypeError: __init__() got an unexpected keyword argument 'iid'
+    broken = true;
   };
 }
diff --git a/pkgs/development/python-modules/skybellpy/default.nix b/pkgs/development/python-modules/skybellpy/default.nix
new file mode 100644
index 0000000000000..c94b03bcc6675
--- /dev/null
+++ b/pkgs/development/python-modules/skybellpy/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, colorlog
+, fetchFromGitHub
+, pytest-sugar
+, pytest-timeout
+, pytestCheckHook
+, pythonOlder
+, requests
+, requests-mock
+}:
+
+buildPythonPackage rec {
+  pname = "skybellpy";
+  version = "0.6.3";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "MisterWil";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1ghvm0pcdyhq6xfjc2dkldd701x77w07077sx09xsk6q2milmvzz";
+  };
+
+  propagatedBuildInputs = [
+    colorlog
+    requests
+  ];
+
+  checkInputs = [
+    pytest-sugar
+    pytest-timeout
+    pytestCheckHook
+    requests-mock
+  ];
+
+  pythonImportsCheck = [ "skybellpy" ];
+
+  meta = with lib; {
+    description = "Python wrapper for the Skybell alarm API";
+    homepage = "https://github.com/MisterWil/skybellpy";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/slack-sdk/default.nix b/pkgs/development/python-modules/slack-sdk/default.nix
new file mode 100644
index 0000000000000..cb491cf600782
--- /dev/null
+++ b/pkgs/development/python-modules/slack-sdk/default.nix
@@ -0,0 +1,74 @@
+{ lib
+, aiodns
+, aiohttp
+, boto3
+, buildPythonPackage
+, codecov
+, databases
+, fetchFromGitHub
+, flake8
+, flask-sockets
+, isPy3k
+, psutil
+, pytest-asyncio
+, pytest-cov
+, pytestCheckHook
+, pytestrunner
+, sqlalchemy
+, websocket_client
+, websockets
+}:
+
+buildPythonPackage rec {
+  pname = "slack-sdk";
+  version = "3.4.0";
+  disabled = !isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "slackapi";
+    repo = "python-slack-sdk";
+    rev = "v${version}";
+    sha256 = "sha256-WlHVorltN8Apq0MZUStPlJZKbBFSbnAoIBQUZYGdDiY=";
+  };
+
+  propagatedBuildInputs = [
+    aiodns
+    aiohttp
+    boto3
+    sqlalchemy
+    websocket_client
+    websockets
+  ];
+
+  checkInputs = [
+    codecov
+    databases
+    flake8
+    flask-sockets
+    psutil
+    pytest-asyncio
+    pytest-cov
+    pytestCheckHook
+    pytestrunner
+  ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  # Exclude tests that requires network features
+  pytestFlagsArray = [ "--ignore=integration_tests" ];
+  disabledTests = [
+    "test_start_raises_an_error_if_rtm_ws_url_is_not_returned"
+    "test_org_installation"
+  ];
+
+  pythonImportsCheck = [ "slack_sdk" ];
+
+  meta = with lib; {
+    description = "Slack Developer Kit for Python";
+    homepage = "https://slack.dev/python-slack-sdk/";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/slackclient/default.nix b/pkgs/development/python-modules/slackclient/default.nix
index a690788095e62..4a3c292721868 100644
--- a/pkgs/development/python-modules/slackclient/default.nix
+++ b/pkgs/development/python-modules/slackclient/default.nix
@@ -1,15 +1,15 @@
 { lib
-, buildPythonPackage
-, fetchFromGitHub
 , aiohttp
-, black
+, buildPythonPackage
 , codecov
+, fetchFromGitHub
 , flake8
 , isPy3k
 , mock
+, psutil
+, pytest-cov
 , pytest-mock
 , pytestCheckHook
-, pytestcov
 , pytestrunner
 , requests
 , responses
@@ -19,15 +19,15 @@
 
 buildPythonPackage rec {
   pname = "python-slackclient";
-  version = "2.5.0";
+  version = "2.9.3";
 
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
-    owner  = "slackapi";
-    repo   = pname;
-    rev    = version;
-    sha256 = "1ngj1mivbln19546195k400w9yaw69g0w6is7c75rqwyxr8wgzsk";
+    owner = "slackapi";
+    repo = "python-slack-sdk";
+    rev = "v${version}";
+    sha256 = "1rfb7izgddv28ag37gdnv3sd8z2zysrxs7ad8x20x690zshpaq16";
   };
 
   propagatedBuildInputs = [
@@ -38,17 +38,23 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    black
     codecov
     flake8
     mock
+    psutil
+    pytest-cov
     pytest-mock
     pytestCheckHook
-    pytestcov
     pytestrunner
     responses
   ];
 
+  # Exclude tests that requires network features
+  pytestFlagsArray = [ "--ignore=integration_tests" ];
+  disabledTests = [ "test_start_raises_an_error_if_rtm_ws_url_is_not_returned" ];
+
+  pythonImportsCheck = [ "slack" ];
+
   meta = with lib; {
     description = "A client for Slack, which supports the Slack Web API and Real Time Messaging (RTM) API";
     homepage = "https://github.com/slackapi/python-slackclient";
diff --git a/pkgs/development/python-modules/slicedimage/default.nix b/pkgs/development/python-modules/slicedimage/default.nix
index 08bdc183186cb..506fad5db48d5 100644
--- a/pkgs/development/python-modules/slicedimage/default.nix
+++ b/pkgs/development/python-modules/slicedimage/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , boto3
 , diskcache
 , enum34
@@ -10,7 +10,7 @@
 , requests
 , scikitimage
 , six
-, pytest
+, pytestCheckHook
 , isPy27
 , tifffile
 }:
@@ -19,9 +19,11 @@ buildPythonPackage rec {
   pname = "slicedimage";
   version = "4.1.1";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "7369f1d7fa09f6c9969625c4b76a8a63d2507a94c6fc257183da1c10261703e9";
+  src = fetchFromGitHub {
+    owner = "spacetx";
+    repo = pname;
+    rev = version;
+    sha256 = "1vpg8varvfx0nj6xscdfm7m118hzsfz7qfzn28r9rsfvrhr0dlcw";
   };
 
   propagatedBuildInputs = [
@@ -36,13 +38,13 @@ buildPythonPackage rec {
   ] ++ lib.optionals isPy27 [ pathlib enum34 ];
 
   checkInputs = [
-    pytest
+    pytestCheckHook
   ];
 
-  # ignore tests which require setup
-  checkPhase = ''
-    pytest --ignore tests/io_
-  '';
+  # Ignore tests which require setup, check again if disabledTestFiles can be used
+  pytestFlagsArray = [ "--ignore tests/io_" ];
+
+  pythonImportsCheck = [ "slicedimage" ];
 
   meta = with lib; {
     description = "Library to access sliced imaging data";
diff --git a/pkgs/development/python-modules/slither-analyzer/default.nix b/pkgs/development/python-modules/slither-analyzer/default.nix
index deb12817a7bd8..0b320e7902216 100644
--- a/pkgs/development/python-modules/slither-analyzer/default.nix
+++ b/pkgs/development/python-modules/slither-analyzer/default.nix
@@ -1,5 +1,7 @@
-{ lib, buildPythonPackage, fetchPypi, makeWrapper, pythonOlder
-, crytic-compile, prettytable, setuptools, solc
+{ lib, stdenv, buildPythonPackage, fetchPypi, makeWrapper, pythonOlder
+, crytic-compile, prettytable, setuptools
+# solc is currently broken on Darwin, default to false
+, solc, withSolc ? !stdenv.isDarwin
 }:
 
 buildPythonPackage rec {
@@ -19,7 +21,7 @@ buildPythonPackage rec {
   nativeBuildInputs = [ makeWrapper ];
   propagatedBuildInputs = [ crytic-compile prettytable setuptools ];
 
-  postFixup = ''
+  postFixup = lib.optionalString withSolc ''
     wrapProgram $out/bin/slither \
       --prefix PATH : "${lib.makeBinPath [ solc ]}"
   '';
@@ -32,7 +34,7 @@ buildPythonPackage rec {
       contract details, and provides an API to easily write custom analyses.
     '';
     homepage = "https://github.com/trailofbits/slither";
-    license = licenses.agpl3;
-    maintainers = [ maintainers.asymmetric ];
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ asymmetric arturcygan ];
   };
 }
diff --git a/pkgs/development/python-modules/slixmpp/default.nix b/pkgs/development/python-modules/slixmpp/default.nix
index 012a49eb32360..f648905251e23 100644
--- a/pkgs/development/python-modules/slixmpp/default.nix
+++ b/pkgs/development/python-modules/slixmpp/default.nix
@@ -1,14 +1,25 @@
-{ lib, buildPythonPackage, fetchPypi, isPy3k, substituteAll, aiodns, pyasn1, pyasn1-modules, aiohttp, gnupg, nose }:
+{ lib
+, buildPythonPackage
+, aiodns
+, aiohttp
+, fetchPypi
+, gnupg
+, isPy3k
+, pyasn1
+, pyasn1-modules
+, pytestCheckHook
+, substituteAll
+}:
 
 buildPythonPackage rec {
   pname = "slixmpp";
-  version = "1.6.0";
+  version = "1.7.0";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0jamly1jv31ragpv8yn52av1m48iwl4i7f9knb67vmk8c22rjdwa";
+    sha256 = "sha256-fy7sRKS7ih4JmjOW/noL8qJ1xWVpQLbBbObHnMwT3Bc=";
   };
 
   patches = [
@@ -18,17 +29,24 @@ buildPythonPackage rec {
     })
   ];
 
-  propagatedBuildInputs = [ aiodns pyasn1 pyasn1-modules aiohttp ];
+  propagatedBuildInputs = [
+    aiodns
+    aiohttp
+    pyasn1
+    pyasn1-modules
+  ];
+
+  checkInputs = [ pytestCheckHook ];
 
-  checkInputs = [ nose ];
+  # Exclude live tests
+  disabledTestPaths = [ "tests/live_test.py" ];
 
-  checkPhase = ''
-    nosetests --where=tests --exclude=live -i slixtest.py
-  '';
+  pythonImportsCheck = [ "slixmpp" ];
 
-  meta = {
+  meta = with lib; {
     description = "Elegant Python library for XMPP";
-    license = lib.licenses.mit;
-    homepage = "https://dev.louiz.org/projects/slixmpp";
+    homepage = "https://slixmpp.readthedocs.io/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/pkgs/development/python-modules/smart_open/default.nix b/pkgs/development/python-modules/smart_open/default.nix
index 3a1c890f04811..389feef2b42ca 100644
--- a/pkgs/development/python-modules/smart_open/default.nix
+++ b/pkgs/development/python-modules/smart_open/default.nix
@@ -21,11 +21,6 @@ buildPythonPackage rec {
     sha256 = "26af5c1a3f2b76aab8c3200310f0fc783790ec5a231ffeec102e620acdd6262e";
   };
 
-  # nixpkgs version of moto is >=1.2.0, remove version pin to fix build
-  postPatch = ''
-    substituteInPlace ./setup.py --replace "moto==0.4.31" "moto"
-  '';
-
   # moto>=1.0.0 is backwards-incompatible and some tests fail with it,
   # so disable tests for now
   doCheck = false;
diff --git a/pkgs/development/python-modules/smdebug-rulesconfig/default.nix b/pkgs/development/python-modules/smdebug-rulesconfig/default.nix
new file mode 100644
index 0000000000000..864a395cc88cd
--- /dev/null
+++ b/pkgs/development/python-modules/smdebug-rulesconfig/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "smdebug-rulesconfig";
+  version = "1.0.1";
+
+  src = fetchPypi {
+    inherit version;
+    pname = "smdebug_rulesconfig";
+    sha256 = "1mpwjfvpmryqqwlbyf500584jclgm3vnxa740yyfzkvb5vmyc6bs";
+  };
+
+  doCheck = false;
+
+  pythonImportsCheck = [ "smdebug_rulesconfig" ];
+
+  meta = with lib; {
+    description = "These builtin rules are available in Amazon SageMaker";
+    homepage = "https://github.com/awslabs/sagemaker-debugger-rulesconfig";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ nequissimus ];
+  };
+}
diff --git a/pkgs/development/python-modules/snowflake-connector-python/default.nix b/pkgs/development/python-modules/snowflake-connector-python/default.nix
index 96f489ec6ed90..a2f6a7aae92b8 100644
--- a/pkgs/development/python-modules/snowflake-connector-python/default.nix
+++ b/pkgs/development/python-modules/snowflake-connector-python/default.nix
@@ -57,11 +57,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "'boto3>=1.4.4,<1.16'," "'boto3~=1.16'," \
-      --replace "'cryptography>=2.5.0,<3.0.0'," "'cryptography'," \
-      --replace "'pyOpenSSL>=16.2.0,<20.0.0'," "'pyOpenSSL'," \
-      --replace "'idna<2.10'," "'idna'," \
-      --replace "'requests<2.24.0'," "'requests',"
+      --replace "'pyOpenSSL>=16.2.0,<20.0.0'," "'pyOpenSSL',"
   '';
 
   # tests require encrypted secrets, see
diff --git a/pkgs/development/python-modules/soco/default.nix b/pkgs/development/python-modules/soco/default.nix
index e203dc1c7aa54..e86144dff04dc 100644
--- a/pkgs/development/python-modules/soco/default.nix
+++ b/pkgs/development/python-modules/soco/default.nix
@@ -1,12 +1,15 @@
 { buildPythonPackage
-, coveralls
 , fetchFromGitHub
-, flake8
+, fetchpatch
 , graphviz
+, ifaddr
+, isPy27
 , lib
 , mock
+, nix-update-script
 , pytestCheckHook
 , requests
+, requests-mock
 , sphinx
 , sphinx_rtd_theme
 , toml
@@ -15,7 +18,8 @@
 
 buildPythonPackage rec {
   pname = "soco";
-  version = "0.20";
+  version = "0.21.2";
+  disabled = isPy27;
 
   # N.B. We fetch from GitHub because the PyPI tarball doesn't contain the
   # required files to run the tests.
@@ -23,34 +27,46 @@ buildPythonPackage rec {
     owner = "SoCo";
     repo = "SoCo";
     rev = "v${version}";
-    sha256 = "0p87aw7wxgdjz0m0nqqcfvbn24hlbq1hh1zxdq2c0k2jcbmaj8zc";
+    sha256 = "sha256-CCgkzUkt9YqTJt9tPBLmYXW6ZuRoMDd7xahYmNXgfM0=";
   };
 
+  patches = [(fetchpatch {
+    url = "https://patch-diff.githubusercontent.com/raw/SoCo/SoCo/pull/811.patch";
+    sha256 = "sha256-GBd74c8zc25ROO411SZ9TTa+bi8yXJaaOQqY9FM1qj4=";
+  })];
+
   # N.B. These exist because:
   # 1. Upstream's pinning isn't well maintained, leaving dependency versions no
   #    longer in nixpkgs.
   # 2. There is no benefit for us to be running linting and coverage tests.
   postPatch = ''
     sed -i "/black/d" ./requirements-dev.txt
+    sed -i "/coveralls/d" ./requirements-dev.txt
+    sed -i "/flake8/d" ./requirements-dev.txt
     sed -i "/pylint/d" ./requirements-dev.txt
     sed -i "/pytest-cov/d" ./requirements-dev.txt
   '';
 
   propagatedBuildInputs = [
+    ifaddr
     requests
     toml
     xmltodict
   ];
+
   checkInputs = [
     pytestCheckHook
-    coveralls
-    flake8
     graphviz
     mock
+    requests-mock
     sphinx
     sphinx_rtd_theme
   ];
 
+  passthru.updateScript = nix-update-script {
+    attrPath = "python3Packages.${pname}";
+  };
+
   meta = with lib; {
     homepage = "http://python-soco.com/";
     description = "A CLI and library to control Sonos speakers";
diff --git a/pkgs/development/python-modules/solax/default.nix b/pkgs/development/python-modules/solax/default.nix
new file mode 100644
index 0000000000000..bce0bc74f912a
--- /dev/null
+++ b/pkgs/development/python-modules/solax/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchPypi
+, pytest-asyncio
+, pytest-cov
+, pytest-httpserver
+, pytestCheckHook
+, setuptools-scm
+, voluptuous
+}:
+
+buildPythonPackage rec {
+  pname = "solax";
+  version = "0.2.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0h7q6y2cdkj9dqxw0k7pgz7a7vbpq1qw50pmy9rajphhv2600cbc";
+  };
+
+  nativeBuildInputs = [ setuptools-scm ];
+
+  propagatedBuildInputs = [ aiohttp voluptuous ];
+
+  checkInputs = [
+    pytest-asyncio
+    pytest-cov
+    pytest-httpserver
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "solax" ];
+
+  meta = with lib; {
+    description = "Python wrapper for the Solax Inverter API";
+    homepage = "https://github.com/squishykid/solax";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/solo-python/default.nix b/pkgs/development/python-modules/solo-python/default.nix
index 0ce6e338e61fc..72546642009f4 100644
--- a/pkgs/development/python-modules/solo-python/default.nix
+++ b/pkgs/development/python-modules/solo-python/default.nix
@@ -1,9 +1,20 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
-, click, ecdsa, fido2, intelhex, pyserial, pyusb, requests}:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, click
+, cryptography
+, ecdsa
+, fido2
+, intelhex
+, pyserial
+, pyusb
+, requests
+}:
 
  buildPythonPackage rec {
   pname = "solo-python";
-  version = "0.0.26";
+  version = "0.0.27";
   format = "flit";
   disabled = pythonOlder "3.6"; # only python>=3.6 is supported
 
@@ -11,7 +22,7 @@
     owner = "solokeys";
     repo = pname;
     rev = version;
-    sha256 = "05rwqrhr1as6zqhg63d6wga7l42jm2azbav5w6ih8mx5zbxf61yz";
+    sha256 = "sha256-OCiKa6mnqJGoNCC4KqI+hMw22tzhdN63x9/KujNJqcE=";
   };
 
   # replaced pinned fido, with unrestricted fido version
@@ -21,6 +32,7 @@
 
   propagatedBuildInputs = [
     click
+    cryptography
     ecdsa
     fido2
     intelhex
diff --git a/pkgs/development/python-modules/somajo/default.nix b/pkgs/development/python-modules/somajo/default.nix
index 11d0c02dfc84b..54cd9beede3d8 100644
--- a/pkgs/development/python-modules/somajo/default.nix
+++ b/pkgs/development/python-modules/somajo/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, lib, fetchFromGitHub, buildPythonPackage, isPy3k, regex }:
+{ lib, stdenv, fetchFromGitHub, buildPythonPackage, isPy3k, regex }:
 
 buildPythonPackage rec {
   pname = "SoMaJo";
@@ -14,6 +14,9 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ regex ];
 
+  # loops forever
+  doCheck = !stdenv.isDarwin;
+
   meta = with lib; {
     description = "Tokenizer and sentence splitter for German and English web texts";
     homepage = "https://github.com/tsproisl/SoMaJo";
diff --git a/pkgs/development/python-modules/sopel/default.nix b/pkgs/development/python-modules/sopel/default.nix
index 7b549933588b0..c541751bd243f 100644
--- a/pkgs/development/python-modules/sopel/default.nix
+++ b/pkgs/development/python-modules/sopel/default.nix
@@ -6,7 +6,6 @@
 , pyenchant
 , pygeoip
 , pytestCheckHook
-, python
 , pytz
 , sqlalchemy
 , xmltodict
diff --git a/pkgs/development/python-modules/spacy/default.nix b/pkgs/development/python-modules/spacy/default.nix
index e13127abeb31c..eef7b116b8945 100644
--- a/pkgs/development/python-modules/spacy/default.nix
+++ b/pkgs/development/python-modules/spacy/default.nix
@@ -71,6 +71,6 @@ buildPythonPackage rec {
     description = "Industrial-strength Natural Language Processing (NLP) with Python and Cython";
     homepage = "https://github.com/explosion/spaCy";
     license = licenses.mit;
-    maintainers = with maintainers; [ danieldk sdll ];
+    maintainers = with maintainers; [ sdll ];
   };
 }
diff --git a/pkgs/development/python-modules/sphinx-autobuild/default.nix b/pkgs/development/python-modules/sphinx-autobuild/default.nix
new file mode 100644
index 0000000000000..958c1a6b19c5e
--- /dev/null
+++ b/pkgs/development/python-modules/sphinx-autobuild/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchPypi
+, sphinx
+, livereload
+}:
+
+buildPythonPackage rec {
+  pname = "sphinx-autobuild";
+  version = "2020.9.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1vbaf4vrxahylyp8zrlw5dx1d2faajp926c3pl5i1wlkp1yll62b";
+  };
+
+  propagatedBuildInputs = [ sphinx livereload ];
+
+  # No tests included.
+  doCheck = false;
+  pythonImportsCheck = [ "sphinx_autobuild" ];
+
+  meta = with lib; {
+    description = "Rebuild Sphinx documentation on changes, with live-reload in the browser";
+    homepage = "https://github.com/executablebooks/sphinx-autobuild";
+    license = with licenses; [ mit ];
+    maintainer = with maintainers; [holgerpeters];
+  };
+}
diff --git a/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix b/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix
index b429522f9d3ce..931af4b4dde27 100644
--- a/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix
@@ -9,14 +9,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.0.0";
+  version = "2.1.4";
   pname = "sphinxcontrib-bibtex";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "629612b001f86784669d65e662377a482052decfd9a0a17c46860878eef7b9e0";
+    sha256 = "f53ec0cd534d2c8f0a51b4b3473ced46e9cb0dd99a7c5019249fe0ef9cbef18e";
   };
 
   propagatedBuildInputs = [ oset pybtex pybtex-docutils sphinx ];
diff --git a/pkgs/development/python-modules/spinners/default.nix b/pkgs/development/python-modules/spinners/default.nix
new file mode 100644
index 0000000000000..1e71296fd1762
--- /dev/null
+++ b/pkgs/development/python-modules/spinners/default.nix
@@ -0,0 +1,26 @@
+{ buildPythonPackage
+, fetchPypi
+, isPy27
+, lib }:
+
+buildPythonPackage rec {
+  pname = "spinners";
+  version = "0.0.24";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0zz2z6dpdjdq5z8m8w8dfi8by0ih1zrdq0caxm1anwhxg2saxdhy";
+  };
+
+  # Tests are not included in the PyPI distribution and the git repo does not have tagged releases
+  doCheck = false;
+  pythonImportsCheck = [ "spinners" ];
+
+  meta = with lib; {
+    description = "Spinners for the Terminal.";
+    homepage = "https://github.com/manrajgrover/py-spinners";
+    license = licenses.mit;
+    maintainers = with maintainers; [ urbas ];
+  };
+}
diff --git a/pkgs/development/python-modules/spyder-kernels/0.x.nix b/pkgs/development/python-modules/spyder-kernels/0.x.nix
index a760033c915a9..43a2f5b460f67 100644
--- a/pkgs/development/python-modules/spyder-kernels/0.x.nix
+++ b/pkgs/development/python-modules/spyder-kernels/0.x.nix
@@ -60,6 +60,7 @@ buildPythonPackage rec {
     "test_turtle_launc"
     "test_umr_skip_cython"
     "test_umr_pathlist"
+    "test_user_sitepackages_in_pathlist"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/spyder/3.nix b/pkgs/development/python-modules/spyder/3.nix
index 0fb98fa38e3df..2618ccfcd8c5c 100644
--- a/pkgs/development/python-modules/spyder/3.nix
+++ b/pkgs/development/python-modules/spyder/3.nix
@@ -31,6 +31,8 @@ buildPythonPackage rec {
     substituteInPlace setup.py --replace "pyqt5<5.13" "pyqt5"
   '';
 
+  pythonImportsCheck = [ "spyder" ];
+
   meta = with lib; {
     description = "Library providing a scientific python development environment";
     longDescription = ''
diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix
index 83fd3e7b10b34..7d35bb8487c8a 100644
--- a/pkgs/development/python-modules/sqlalchemy/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchPypi, buildPythonPackage, isPy3k, isPy35
+{ stdenv, lib, fetchPypi, buildPythonPackage, isPy3k, isPy35, fetchpatch
 , mock
 , pysqlite
 , pytestCheckHook
@@ -13,6 +13,14 @@ buildPythonPackage rec {
     sha256 = "d2f25c7f410338d31666d7ddedfa67570900e248b940d186b48461bd4e5569a1";
   };
 
+  patches = [
+    # fix test_pyodbc_extra_connect_azure test failure
+    (fetchpatch {
+      url = "https://github.com/sqlalchemy/sqlalchemy/commit/7293b3dc0e9eb3dae84ffd831494b85355df8e73.patch";
+      sha256 = "1z61lzxamz74771ddlqmbxba1dcr77f016vqfcmb44dxb228w2db";
+    })
+  ];
+
   checkInputs = [
     pytestCheckHook
     mock
diff --git a/pkgs/development/python-modules/sqlite-utils/default.nix b/pkgs/development/python-modules/sqlite-utils/default.nix
index 2bb700f675577..3ec4246cd02cf 100644
--- a/pkgs/development/python-modules/sqlite-utils/default.nix
+++ b/pkgs/development/python-modules/sqlite-utils/default.nix
@@ -15,12 +15,12 @@
 
 buildPythonPackage rec {
   pname = "sqlite-utils";
-  version = "3.3";
+  version = "3.5";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1linla3za1gb3w0n0k6h3q8in62qhipizff259p14gzmyr95rjjv";
+    sha256 = "sha256-i9SnT+DcQOcujV25bD/SNV1uRA2IgfiSWhEWlQC5TiA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/srsly/default.nix b/pkgs/development/python-modules/srsly/default.nix
index 86b689d09d148..c6db32a15e411 100644
--- a/pkgs/development/python-modules/srsly/default.nix
+++ b/pkgs/development/python-modules/srsly/default.nix
@@ -3,6 +3,7 @@
 , fetchPypi
 , pythonOlder
 , cython
+, catalogue
 , mock
 , numpy
 , pathlib
@@ -12,17 +13,19 @@
 
 buildPythonPackage rec {
   pname = "srsly";
-  version = "2.3.2";
+  version = "2.4.0";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f78eaef8d982e98921ce026d4205e652a9333137259f0b621f5c7b579e746e9d";
+    sha256 = "e29730be53015970e4a59050e8e9f9be44d762108a617df56c9dfc981b515ab7";
   };
 
   nativeBuildInputs = [ cython ];
 
+  propagatedBuildInputs = [ catalogue ];
+
   checkInputs = [
     mock
     numpy
@@ -40,6 +43,5 @@ buildPythonPackage rec {
     description = "Modern high-performance serialization utilities for Python";
     homepage = "https://github.com/explosion/srsly";
     license = licenses.mit;
-    maintainers = with maintainers; [ danieldk ];
   };
 }
diff --git a/pkgs/development/python-modules/starlette/default.nix b/pkgs/development/python-modules/starlette/default.nix
index d802a23000356..071bbcd3061a1 100644
--- a/pkgs/development/python-modules/starlette/default.nix
+++ b/pkgs/development/python-modules/starlette/default.nix
@@ -15,7 +15,6 @@
 , databases
 , pytestCheckHook
 , pytest-asyncio
-, pytestcov
 , typing-extensions
 , ApplicationServices
 }:
@@ -46,12 +45,14 @@ buildPythonPackage rec {
   checkInputs = [
     aiosqlite
     databases
+    pytest-asyncio
     pytestCheckHook
     typing-extensions
   ];
 
-  pytestFlagsArray = [ "--ignore=tests/test_graphql.py" ];
-
+  disabledTestPaths = [ "tests/test_graphql.py" ];
+  # https://github.com/encode/starlette/issues/1131
+  disabledTests = [ "test_debug_html" ];
   pythonImportsCheck = [ "starlette" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/staticjinja/default.nix b/pkgs/development/python-modules/staticjinja/default.nix
index a49f6a4fdfc64..e7f1e442f4d81 100644
--- a/pkgs/development/python-modules/staticjinja/default.nix
+++ b/pkgs/development/python-modules/staticjinja/default.nix
@@ -1,33 +1,35 @@
 { lib
 , fetchFromGitHub
 , buildPythonPackage
+, poetry
 , isPy27
 , docopt
 , easywatch
 , jinja2
 , pytestCheckHook
 , pytest-check
-, fetchPypi
 , markdown
-, sphinx
-, sphinx_rtd_theme
 }:
 
 buildPythonPackage rec {
   pname = "staticjinja";
-  version = "1.0.3";
+  version = "1.0.4";
+  format = "pyproject";
 
   disabled = isPy27; # 0.4.0 drops python2 support
 
-  # For some reason, in pypi the tests get disabled when using
-  # PY_IGNORE_IMPORTMISMATCH, so we just fetch from GitHub
+  # No tests in pypi
   src = fetchFromGitHub {
     owner = "staticjinja";
     repo = pname;
     rev = version;
-    sha256 = "12rpv5gv64i5j4w98wm1444xnnmarcn3pg783j3fkkzc58lk5wwj";
+    sha256 = "1saz6f71s693gz9c2k3bq2di2mrkj65mgmfdg86jk0z0zzjk90y1";
   };
 
+  nativeBuildInputs = [
+    poetry
+  ];
+
   propagatedBuildInputs = [
     jinja2
     docopt
@@ -38,15 +40,10 @@ buildPythonPackage rec {
     pytestCheckHook
     pytest-check
     markdown
-    sphinx_rtd_theme
-    sphinx
   ];
 
+  # The tests need to find and call the installed staticjinja executable
   preCheck = ''
-    # Import paths differ by a "build/lib" subdirectory, but the files are
-    # the same, so we ignore import mismatches.
-    export PY_IGNORE_IMPORTMISMATCH=1
-    # The tests need to find and call the installed staticjinja executable
     export PATH="$PATH:$out/bin";
   '';
 
diff --git a/pkgs/development/python-modules/streamz/default.nix b/pkgs/development/python-modules/streamz/default.nix
index d17aed6ae43ac..3a62dd4ecf1f6 100644
--- a/pkgs/development/python-modules/streamz/default.nix
+++ b/pkgs/development/python-modules/streamz/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, fetchpatch
+{ lib, buildPythonPackage, fetchPypi
 , confluent-kafka
 , distributed
 , flaky
diff --git a/pkgs/development/python-modules/stytra/default.nix b/pkgs/development/python-modules/stytra/default.nix
index 88adbe4f7d944..80eefc0a639ef 100644
--- a/pkgs/development/python-modules/stytra/default.nix
+++ b/pkgs/development/python-modules/stytra/default.nix
@@ -1,4 +1,4 @@
-{ lib, pkgs, buildPythonPackage, fetchPypi, isPy3k, callPackage
+{ lib, buildPythonPackage, fetchPypi, isPy3k
 , opencv3
 , pyqt5
 , pyqtgraph
@@ -19,7 +19,7 @@
 , imageio-ffmpeg
 , av
 , nose
-, pytest
+, pytestCheckHook
 , pyserial
 , arrayqueues
 , colorspacious
@@ -37,14 +37,18 @@ buildPythonPackage rec {
     inherit pname version;
     sha256 = "aab9d07575ef599a9c0ae505656e3c03ec753462df3c15742f1f768f2b578f0a";
   };
-  doCheck = false;
+
+  # crashes python
+  preCheck = ''
+    rm stytra/tests/test_z_experiments.py
+  '';
+
   checkInputs = [
     nose
-    pytest
+    pytestCheckHook
     pyserial
   ];
 
-
   propagatedBuildInputs = [
     opencv3
     pyqt5
diff --git a/pkgs/development/python-modules/surepy/default.nix b/pkgs/development/python-modules/surepy/default.nix
new file mode 100644
index 0000000000000..dd071b5cf08fb
--- /dev/null
+++ b/pkgs/development/python-modules/surepy/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, aiodns
+, aiohttp
+, async-timeout
+, brotlipy
+, buildPythonPackage
+, cchardet
+, click
+, colorama
+, fetchFromGitHub
+, halo
+, poetry-core
+, pythonOlder
+, requests
+, rich
+}:
+
+buildPythonPackage rec {
+  pname = "surepy";
+  version = "0.5.0";
+  format = "pyproject";
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "benleb";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1adsnjya142bxdhfxqsi2qa35ylvdcibigs1wafjlxazlxs3mg0j";
+  };
+
+  nativeBuildInputs = [ poetry-core ];
+
+  propagatedBuildInputs = [
+    aiodns
+    aiohttp
+    async-timeout
+    brotlipy
+    cchardet
+    click
+    colorama
+    halo
+    requests
+    rich
+  ];
+
+  postPatch = ''
+    # halo is out-dated, https://github.com/benleb/surepy/pull/7
+    substituteInPlace pyproject.toml --replace "^0.0.30" "^0.0.31"
+  '';
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "surepy" ];
+
+  meta = with lib; {
+    description = "Python library to interact with the Sure Petcare API";
+    homepage = "https://github.com/benleb/surepy";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/survey/default.nix b/pkgs/development/python-modules/survey/default.nix
index 436127fae9c45..99a2d85aaa2b3 100644
--- a/pkgs/development/python-modules/survey/default.nix
+++ b/pkgs/development/python-modules/survey/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "survey";
-  version = "3.1.1";
+  version = "3.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-R/PfXW/CnqYiOWbCxPAYwneg6j6CLvdIpITZ2eIXn+M=";
+    sha256 = "sha256-aF7ZS5oxeIOb7mJsrusdc3HefcPE+3OTXcJB/pjJxFY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/swspotify/default.nix b/pkgs/development/python-modules/swspotify/default.nix
index e213e9e265eff..020e4fe1472f0 100644
--- a/pkgs/development/python-modules/swspotify/default.nix
+++ b/pkgs/development/python-modules/swspotify/default.nix
@@ -35,6 +35,6 @@ buildPythonPackage rec {
     description = "Library to get the currently playing song and artist from Spotify";
     license = licenses.mit;
     maintainers = with maintainers; [ siraben ];
-    platforms = lib.platforms.linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/python-modules/tahoma-api/default.nix b/pkgs/development/python-modules/tahoma-api/default.nix
new file mode 100644
index 0000000000000..4402182231174
--- /dev/null
+++ b/pkgs/development/python-modules/tahoma-api/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "tahoma-api";
+  version = "0.0.17";
+
+  src = fetchFromGitHub {
+    owner = "philklei";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-YwOKSBlN4lNyS+hfdbQDUq1gc14FBof463ofxtUVLC4=";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "tahoma_api" ];
+
+  meta = with lib; {
+    description = "Python module to interface with Tahoma REST API";
+    homepage = "https://github.com/philklei/tahoma-api/";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/tellduslive/default.nix b/pkgs/development/python-modules/tellduslive/default.nix
new file mode 100644
index 0000000000000..5a6a84af8392b
--- /dev/null
+++ b/pkgs/development/python-modules/tellduslive/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, docopt
+, fetchFromGitHub
+, requests
+, requests_oauthlib
+}:
+
+buildPythonPackage rec {
+  pname = "tellduslive";
+  version = "0.10.11";
+
+  src = fetchFromGitHub {
+    owner = "molobrakos";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0aqhj6fq2z2qb4jyk23ygjicf5nlj8lkya7blkyqb7jra5k1gyg0";
+  };
+
+  propagatedBuildInputs = [
+    docopt
+    requests
+    requests_oauthlib
+  ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "tellduslive" ];
+
+  meta = with lib; {
+    description = "Python module to communicate with Telldus Live";
+    homepage = "https://github.com/molobrakos/tellduslive";
+    license = with licenses; [ unlicense ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/tensorflow-probability/default.nix b/pkgs/development/python-modules/tensorflow-probability/default.nix
index 91880562eb3a2..1daaac6ae7ebc 100644
--- a/pkgs/development/python-modules/tensorflow-probability/default.nix
+++ b/pkgs/development/python-modules/tensorflow-probability/default.nix
@@ -1,6 +1,7 @@
 { lib
 , fetchFromGitHub
 , fetchpatch
+, bazel_0_26
 , buildBazelPackage
 , buildPythonPackage
 , python
@@ -26,6 +27,8 @@ let
 
   # first build all binaries and generate setup.py using bazel
   bazel-wheel = buildBazelPackage {
+    bazel = bazel_0_26;
+
     name = "${pname}-${version}-py2.py3-none-any.whl";
 
     src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix
index 9f64a689e2b85..0e2df1a4678da 100644
--- a/pkgs/development/python-modules/tensorflow/default.nix
+++ b/pkgs/development/python-modules/tensorflow/default.nix
@@ -288,9 +288,9 @@ let
     fetchAttrs = {
       # cudaSupport causes fetch of ncclArchive, resulting in different hashes
       sha256 = if cudaSupport then
-        "0vyy1hv0jy5pqwvnc8pxb9isgnbw07c4a4d4wn61db00np114crz"
+        "1i7z2a7bc2q1vn1h9nx1xc6g1r1cby2xvbcs20fj9h6c2fgaw9j4"
       else
-        "0vczv5f9s4dxgwdkmf1y9b9ybh5d3y1nllqhb5q8aj9kq73izyn9";
+        "0s8q5rxq8abr50c5jpwv96ncfc0k8jw7w70ri8viqy031g9v9v45";
     };
 
     buildAttrs = {
diff --git a/pkgs/development/python-modules/termplotlib/default.nix b/pkgs/development/python-modules/termplotlib/default.nix
new file mode 100644
index 0000000000000..adccc99ac2feb
--- /dev/null
+++ b/pkgs/development/python-modules/termplotlib/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, exdown
+, numpy
+, gnuplot
+}:
+
+buildPythonPackage rec {
+  pname = "termplotlib";
+  version = "0.3.4";
+
+  src = fetchFromGitHub {
+    owner = "nschloe";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "17d2727bz6kqhxczixx6nxzz4hzyi2cssylzazjimk07syvycd6n";
+  };
+
+  format = "pyproject";
+  checkInputs = [ pytestCheckHook numpy exdown gnuplot ];
+  pythonImportsCheck = [ "termplotlib" ];
+
+  # there seems to be a newline in the very front of the output
+  # which causes the test to fail, since it apparently doesn't
+  # strip whitespace. might be a gnuplot choice? sigh...
+  disabledTests = [ "test_plot_lim" ];
+
+  meta = with lib; {
+    description = "matplotlib for your terminal";
+    homepage = "https://github.com/nschloe/termplotlib";
+    license = with licenses; [ gpl3Plus ];
+    maintainers = with maintainers; [ thoughtpolice ];
+  };
+}
diff --git a/pkgs/development/python-modules/teslajsonpy/default.nix b/pkgs/development/python-modules/teslajsonpy/default.nix
index 08ef9975b2286..59af2b33d2b9c 100644
--- a/pkgs/development/python-modules/teslajsonpy/default.nix
+++ b/pkgs/development/python-modules/teslajsonpy/default.nix
@@ -1,38 +1,46 @@
 { lib
 , aiohttp
 , backoff
+, beautifulsoup4
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
+, pytest-asyncio
 , pytestCheckHook
 , wrapt
 }:
 
 buildPythonPackage rec {
   pname = "teslajsonpy";
-  version = "0.11.0";
+  version = "0.11.5";
 
   src = fetchFromGitHub {
     owner = "zabuldon";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-yfaUa12doOvdFkbHHdOYcFcu86hYZtt2i0tya2ENjf4=";
+    sha256 = "sha256-s0IZ1UNldYddaR3zJoYS6ey8Kjxd1fr4fOwf0gNNbow=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "dont-use-dummpy-module-bs4.patch";
+      url = "https://github.com/zabuldon/teslajsonpy/pull/138/commits/f5a788e47d8338c8ebb06d954f802ba1ec614db3.patch";
+      sha256 = "0rws7fhxmca8d5w0bkygx8scvzah3yvb3yfhn05qmp73mn3pmcb3";
+    })
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     backoff
+    beautifulsoup4
     wrapt
   ];
 
-  checkInputs = [ pytestCheckHook ];
-
-  # Not all Home Assistant related check pass
-  # https://github.com/zabuldon/teslajsonpy/issues/121
-  # https://github.com/zabuldon/teslajsonpy/pull/124
-  disabledTests = [
-    "test_values_on_init"
-    "test_get_value_on_init"
+  checkInputs = [
+    pytest-asyncio
+    pytestCheckHook
   ];
+
   pythonImportsCheck = [ "teslajsonpy" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/textacy/default.nix b/pkgs/development/python-modules/textacy/default.nix
index 616db71a94f4d..31b02e3f26414 100644
--- a/pkgs/development/python-modules/textacy/default.nix
+++ b/pkgs/development/python-modules/textacy/default.nix
@@ -51,6 +51,9 @@ buildPythonPackage rec {
   '';
 
   meta = with lib; {
+    # scikit-learn in pythonPackages is too new for textacy
+    # remove as soon as textacy support scikit-learn >= 0.24
+    broken = true;
     description = "Higher-level text processing, built on spaCy";
     homepage = "https://textacy.readthedocs.io/";
     license = licenses.asl20;
diff --git a/pkgs/development/python-modules/thinc/default.nix b/pkgs/development/python-modules/thinc/default.nix
index bd520f2c4bfdb..75e1a029a2567 100644
--- a/pkgs/development/python-modules/thinc/default.nix
+++ b/pkgs/development/python-modules/thinc/default.nix
@@ -78,6 +78,6 @@ buildPythonPackage rec {
     description = "Practical Machine Learning for NLP in Python";
     homepage = "https://github.com/explosion/thinc";
     license = licenses.mit;
-    maintainers = with maintainers; [ aborsu danieldk sdll ];
+    maintainers = with maintainers; [ aborsu sdll ];
   };
 }
diff --git a/pkgs/development/python-modules/tiledb/default.nix b/pkgs/development/python-modules/tiledb/default.nix
index d5379b849adee..ddfa83e30f585 100644
--- a/pkgs/development/python-modules/tiledb/default.nix
+++ b/pkgs/development/python-modules/tiledb/default.nix
@@ -81,6 +81,7 @@ buildPythonPackage rec {
     homepage = "https://github.com/TileDB-Inc/TileDB-Py";
     license = licenses.mit;
     maintainers = with maintainers; [ fridh ];
+    # tiledb/core.cc:556:30: error: ‘struct std::array<long unsigned int, 2>’ has no member named ‘second’
+    broken = true;
   };
-
 }
diff --git a/pkgs/development/python-modules/tiros/default.nix b/pkgs/development/python-modules/tiros/default.nix
deleted file mode 100644
index edc4bbdebb133..0000000000000
--- a/pkgs/development/python-modules/tiros/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ fetchPypi, buildPythonPackage
-, semantic-version, boto3, flask, docutils, requests
-}:
-
-buildPythonPackage rec {
-  pname = "tiros";
-  version = "1.0.44";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "d6bf7410967554ec283f9d4eabc0ce6821d6e6d36001afbdb7fe0826423d4f37";
-  };
-
-  patchPhase = ''
-    sed -E -i "s/'([[:alnum:].-_]+)[=><]{2}[[:digit:].]*'/'\\1'/g" setup.py
-    sed -i "s/'datetime',//" setup.py
-  '';
-
-  propagatedBuildInputs = [ semantic-version boto3 flask docutils requests ];
-}
diff --git a/pkgs/development/python-modules/todoist/default.nix b/pkgs/development/python-modules/todoist/default.nix
index 62749d3b02f6f..23c68007cd3f6 100644
--- a/pkgs/development/python-modules/todoist/default.nix
+++ b/pkgs/development/python-modules/todoist/default.nix
@@ -4,25 +4,13 @@
 
 buildPythonPackage rec {
   pname = "todoist-python";
-  version = "8.1.2";
+  version = "8.1.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "750b2d2300e8590cd56414ab7bbbc8dfcaf8c27102b342398955812176499498";
+    sha256 = "sha256-AFRKA5VRD6jyiguZYP7WOQOWqHq1GjUzbuez0f1070U=";
   };
 
-  patches = [
-    # From https://github.com/Doist/todoist-python/pull/80
-    (fetchpatch {
-      url = "https://github.com/Doist/todoist-python/commit/605443c67a8e2f105071e0da001c9f6f2a89ef19.patch";
-      sha256 = "0ah0s5by783kqlaimsbxz11idz0bhc2428aw9vdjpngmzb7ih1pa";
-    })
-    (fetchpatch {
-      url = "https://github.com/Doist/todoist-python/commit/f2f8e1e5b3ab1674ad9f0dff885702a25d1d18e9.patch";
-      sha256 = "1kp63yk9kj87zvvgfl60m6lxdm5sx3dny4g0s67ap1jbz350wifn";
-    })
-  ];
-
   propagatedBuildInputs = [ requests ] ++ lib.optional (pythonOlder "3.5") typing;
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/tokenizers/default.nix b/pkgs/development/python-modules/tokenizers/default.nix
index cf122613f633c..ef265b87c054c 100644
--- a/pkgs/development/python-modules/tokenizers/default.nix
+++ b/pkgs/development/python-modules/tokenizers/default.nix
@@ -1,12 +1,10 @@
 { lib
-, rustPlatform
 , fetchFromGitHub
 , fetchurl
-, pipInstallHook
+, buildPythonPackage
+, rustPlatform
 , setuptools-rust
-, wheel
 , numpy
-, python
 , datasets
 , pytestCheckHook
 , requests
@@ -49,7 +47,7 @@ let
     url = "https://s3.amazonaws.com/models.huggingface.co/bert/openai-gpt-merges.txt";
     sha256 = "09a754pm4djjglv3x5pkgwd6f79i2rq8ydg0f7c3q1wmwqdbba8f";
   };
-in rustPlatform.buildRustPackage rec {
+in buildPythonPackage rec {
   pname = "tokenizers";
   version = "0.10.0";
 
@@ -60,19 +58,22 @@ in rustPlatform.buildRustPackage rec {
     hash = "sha256-rQ2hRV52naEf6PvRsWVCTN7B1oXAQGmnpJw4iIdhamw=";
   };
 
-  cargoSha256 = "sha256-BoHIN/519Top1NUBjpB/oEMqi86Omt3zTQcXFWqrek0=";
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src sourceRoot;
+    name = "${pname}-${version}";
+    hash = "sha256-BoHIN/519Top1NUBjpB/oEMqi86Omt3zTQcXFWqrek0=";
+  };
 
   sourceRoot = "source/bindings/python";
 
-  nativeBuildInputs = [
-    pipInstallHook
-    setuptools-rust
-    wheel
-  ];
+  nativeBuildInputs = [ setuptools-rust ] ++ (with rustPlatform; [
+    cargoSetupHook
+    rust.cargo
+    rust.rustc
+  ]);
 
   propagatedBuildInputs = [
     numpy
-    python
   ];
 
   installCheckInputs = [
@@ -99,14 +100,6 @@ in rustPlatform.buildRustPackage rec {
       ln -s ${openaiMerges} openai-gpt-merges.txt )
   '';
 
-  buildPhase = ''
-    ${python.interpreter} setup.py bdist_wheel
-  '';
-
-  installPhase = ''
-    pipInstallPhase
-  '';
-
   preCheck = ''
     HOME=$TMPDIR
   '';
diff --git a/pkgs/development/python-modules/torchgpipe/default.nix b/pkgs/development/python-modules/torchgpipe/default.nix
index 6e621ee8b6887..dbfad336d0f39 100644
--- a/pkgs/development/python-modules/torchgpipe/default.nix
+++ b/pkgs/development/python-modules/torchgpipe/default.nix
@@ -2,7 +2,6 @@
 , buildPythonPackage
 , fetchFromGitHub
 , isPy27
-, pytest
 , pytestrunner
 , pytestCheckHook
 , pytorch
@@ -23,12 +22,11 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ pytorch ];
 
-  checkInputs = [ pytest pytestrunner pytestCheckHook ];
-  disabledTests = [ "test_inplace_on_requires_grad" ];
-  # seems like a harmless failure:
-  ## AssertionError:
-  ## Pattern 'a leaf Variable that requires grad has been used in an in-place operation.'
-  ## does not match 'a leaf Variable that requires grad is being used in an in-place operation.'
+  checkInputs = [ pytestrunner pytestCheckHook ];
+  disabledTests = [
+    "test_inplace_on_requires_grad"
+    "test_input_requiring_grad"
+  ];
 
   meta = with lib; {
     description = "GPipe implemented in Pytorch and optimized for CUDA rather than TPU";
diff --git a/pkgs/development/python-modules/torchvision/default.nix b/pkgs/development/python-modules/torchvision/default.nix
index 79f6a19ffcb53..3575921518202 100644
--- a/pkgs/development/python-modules/torchvision/default.nix
+++ b/pkgs/development/python-modules/torchvision/default.nix
@@ -45,6 +45,6 @@ buildPythonPackage rec {
     description = "PyTorch vision library";
     homepage = "https://pytorch.org/";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ ericsagnes SuperSandro2000 ];
+    maintainers = with maintainers; [ ericsagnes ];
   };
 }
diff --git a/pkgs/development/python-modules/tpm2-pytss/default.nix b/pkgs/development/python-modules/tpm2-pytss/default.nix
new file mode 100644
index 0000000000000..544c1a3084a6e
--- /dev/null
+++ b/pkgs/development/python-modules/tpm2-pytss/default.nix
@@ -0,0 +1,41 @@
+{ lib, buildPythonPackage, fetchPypi, pythonOlder
+, pkg-config, swig
+, tpm2-tss
+, cryptography, ibm-sw-tpm2
+}:
+
+buildPythonPackage rec {
+  pname = "tpm2-pytss";
+
+  # Last version on github is 0.2.4, but it looks
+  # like a mistake (it's missing commits from 0.1.9)
+  version = "0.1.9";
+  disabled = pythonOlder "3.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-v5Xth0A3tFnLFg54nvWYL2TD201e/GWv+2y5Qc60CmU=";
+  };
+  postPatch = ''
+    substituteInPlace tpm2_pytss/config.py --replace \
+      'SYSCONFDIR = CONFIG.get("sysconfdir", "/etc")' \
+      'SYSCONFDIR = "${tpm2-tss}/etc"'
+  '';
+
+  nativeBuildInputs = [ pkg-config swig ];
+  # The TCTI is dynamically loaded from tpm2-tss, we have to provide the library to the end-user
+  propagatedBuildInputs = [ tpm2-tss ];
+
+  checkInputs = [
+    cryptography
+    # provide tpm_server used as simulator for the tests
+    ibm-sw-tpm2
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/tpm2-software/tpm2-pytss";
+    description = "TPM2 TSS Python bindings for Enhanced System API (ESYS)";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ baloo ];
+  };
+}
diff --git a/pkgs/development/python-modules/traittypes/default.nix b/pkgs/development/python-modules/traittypes/default.nix
index 2c8f6dd803129..290892672e592 100644
--- a/pkgs/development/python-modules/traittypes/default.nix
+++ b/pkgs/development/python-modules/traittypes/default.nix
@@ -3,10 +3,9 @@
 , fetchFromGitHub
 , fetchpatch
 , isPy27
-, pytest
+, pytestCheckHook
 , nose
 , numpy
-, scipy
 , pandas
 , xarray
 , traitlets
@@ -35,7 +34,8 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ traitlets ];
 
-  checkInputs = [ numpy pandas xarray nose pytest ];
+  checkInputs = [ numpy pandas xarray nose pytestCheckHook ];
+  pythonImportsCheck = [ "traittypes" ];
 
   meta = with lib; {
     description = "Trait types for NumPy, SciPy, XArray, and Pandas";
diff --git a/pkgs/development/python-modules/transformers/default.nix b/pkgs/development/python-modules/transformers/default.nix
index 65c2af4449303..6c04bacbd7cba 100644
--- a/pkgs/development/python-modules/transformers/default.nix
+++ b/pkgs/development/python-modules/transformers/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "transformers";
-  version = "4.2.2";
+  version = "4.3.2";
 
   src = fetchFromGitHub {
     owner = "huggingface";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-sBMCzEgYX6HQbzoEIYnmMdpYecCCsQjTdl2mO1Veu9M=";
+    hash = "sha256-vv4wKf1PcuVR63ZQJd3oixdNvS7VcTmAaKkmL8I4COg=";
   };
 
   propagatedBuildInputs = [
@@ -41,7 +41,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   postPatch = ''
-    sed -ri 's/tokenizers==[^"]+/tokenizers/g' setup.py src/transformers/dependency_versions_table.py
+    sed -ri 's/tokenizers[=>]=[^"]+/tokenizers/g' setup.py src/transformers/dependency_versions_table.py
   '';
 
   pythonImportsCheck = [ "transformers" ];
diff --git a/pkgs/development/python-modules/transitions/default.nix b/pkgs/development/python-modules/transitions/default.nix
index 2dda33fd96829..013cf73ee1f96 100644
--- a/pkgs/development/python-modules/transitions/default.nix
+++ b/pkgs/development/python-modules/transitions/default.nix
@@ -1,21 +1,39 @@
-{ lib, buildPythonPackage, fetchFromGitHub
-, six, pytestCheckHook, mock, dill, pycodestyle }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, six
+, pygraphviz
+, pytestCheckHook
+, mock
+, graphviz
+, pycodestyle
+}:
 
 buildPythonPackage rec {
   pname = "transitions";
-  version = "0.8.6";
+  version = "0.8.7";
 
-  # test_codestyle.py fails in PyPI sdist
-  src = fetchFromGitHub {
-    owner = "pytransitions";
-    repo = "transitions";
-    rev = version;
-    sha256 = "1d913hzzyqhdhhbkbvjw65dqkajrw50a4sxhyxk0jlg8pcs7bs7v";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "8c60ec0828cd037820726283cad5d4d77a5e31514e058b51250420e9873e9bc7";
   };
 
-  propagatedBuildInputs = [ six ];
+  propagatedBuildInputs = [
+    six
+    pygraphviz # optional
+  ];
 
-  checkInputs = [ pytestCheckHook mock dill pycodestyle ];
+  checkInputs = [
+    pytestCheckHook
+    mock
+    graphviz
+    pycodestyle
+  ];
+
+  disabledTests = [
+    # Fontconfig error: Cannot load default config file
+    "test_diagram"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/pytransitions/transitions";
diff --git a/pkgs/development/python-modules/transmission-rpc/default.nix b/pkgs/development/python-modules/transmission-rpc/default.nix
new file mode 100644
index 0000000000000..235540209e372
--- /dev/null
+++ b/pkgs/development/python-modules/transmission-rpc/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, six
+, typing-extensions
+, requests
+, yarl
+}:
+
+buildPythonPackage rec {
+  pname = "transmission-rpc";
+  version = "3.2.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1y5048109j6z4smzwysvdjfn6cj9698dsxfim9i4nqam4nmw2wi7";
+  };
+
+  propagatedBuildInputs = [
+    six
+    typing-extensions
+    requests
+    yarl
+  ];
+
+  # no tests
+  doCheck = false;
+  pythonImportsCheck = [ "transmission_rpc" ];
+
+  meta = with lib; {
+    description = "Python module that implements the Transmission bittorent client RPC protocol";
+    homepage = "https://pypi.python.org/project/transmission-rpc/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ eyjhb ];
+  };
+}
diff --git a/pkgs/development/python-modules/transmissionrpc/default.nix b/pkgs/development/python-modules/transmissionrpc/default.nix
deleted file mode 100644
index 39901a17f00fc..0000000000000
--- a/pkgs/development/python-modules/transmissionrpc/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, six
-}:
-
-buildPythonPackage rec {
-  pname = "transmissionrpc";
-  version = "0.11";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "ec43b460f9fde2faedbfa6d663ef495b3fd69df855a135eebe8f8a741c0dde60";
-  };
-
-  propagatedBuildInputs = [ six ];
-
-  meta = with lib; {
-    description = "Python implementation of the Transmission bittorent client RPC protocol";
-    homepage = "https://pypi.python.org/pypi/transmissionrpc/";
-    license = licenses.mit;
-  };
-
-}
diff --git a/pkgs/development/python-modules/tubeup/default.nix b/pkgs/development/python-modules/tubeup/default.nix
index 7a4b4454b3b60..927fe1e56293b 100644
--- a/pkgs/development/python-modules/tubeup/default.nix
+++ b/pkgs/development/python-modules/tubeup/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "tubeup";
-  version = "0.0.21";
+  version = "0.0.23";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "326a499be032bee7f7ed921d85abff4b3b4dcd2c3d6ad694f08ef98dbcef19b6";
+    sha256 = "d504327e055889edfe56512a829f76b24b40c5965b93120f8b9300f5390014b4";
   };
 
   postPatch = ''
@@ -32,7 +32,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Youtube (and other video site) to Internet Archive Uploader";
     homepage = "https://github.com/bibanon/tubeup";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     maintainers = [ maintainers.marsam ];
   };
 }
diff --git a/pkgs/development/python-modules/tuyaha/default.nix b/pkgs/development/python-modules/tuyaha/default.nix
new file mode 100644
index 0000000000000..a53124783d18d
--- /dev/null
+++ b/pkgs/development/python-modules/tuyaha/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "tuyaha";
+  version = "0.0.10";
+
+  src = fetchFromGitHub {
+    owner = "PaulAnnekov";
+    repo = pname;
+    rev = version;
+    sha256 = "0n08mqrz76zv1cyqky6ibs6im1fqcywkiyvfmfabml0vzvr43awf";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "tuyaha" ];
+
+  meta = with lib; {
+    description = "Python module with the Tuya API";
+    homepage = "https://github.com/PaulAnnekov/tuyaha";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/twentemilieu/default.nix b/pkgs/development/python-modules/twentemilieu/default.nix
new file mode 100644
index 0000000000000..fb5617321747b
--- /dev/null
+++ b/pkgs/development/python-modules/twentemilieu/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, aiohttp
+, yarl
+, aresponses
+, pytest-asyncio
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "twentemilieu";
+  version = "0.3.0";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "frenck";
+    repo = "python-twentemilieu";
+    rev = "v${version}";
+    sha256 = "1ff35sh73m2s7fh4d8p2pjwdbfljswr8b8lpcjybz8nsh0286xph";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    yarl
+  ];
+
+  checkInputs = [
+    aresponses
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "twentemilieu" ];
+
+  meta = with lib; {
+    description = "Python client for Twente Milieu";
+    homepage = "https://github.com/frenck/python-twentemilieu";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix
index ff4bb845c8998..56f3ba29ddf19 100644
--- a/pkgs/development/python-modules/twilio/default.nix
+++ b/pkgs/development/python-modules/twilio/default.nix
@@ -1,21 +1,33 @@
-{ lib, buildPythonPackage, fetchFromGitHub
-, pyjwt, pysocks, pytz, requests, six, nose, mock }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, mock
+, nose
+, pyjwt
+, pysocks
+, pytz
+, requests
+, six
+}:
 
 buildPythonPackage rec {
   pname = "twilio";
-  version = "6.43.0";
+  version = "6.51.1";
+
   # tests not included in PyPi, so fetch from github instead
   src = fetchFromGitHub {
     owner = "twilio";
     repo = "twilio-python";
     rev = version;
-    sha256 = "0p2chrzakqx5694g305j0klh9lxlclm5qp0qjm6wqicivyybggzg";
+    sha256 = "sha256-OHtmUFm/9GkpIzz0DdSdlHyBFRIgu8GxQ4S4VMJik9o=";
   };
 
   buildInputs = [ nose mock ];
 
   propagatedBuildInputs = [ pyjwt pysocks pytz six requests ];
 
+  pythonImportsCheck = [ "twilio" ];
+
   meta = with lib; {
     description = "Twilio API client and TwiML generator";
     homepage = "https://github.com/twilio/twilio-python/";
diff --git a/pkgs/development/python-modules/twinkly-client/default.nix b/pkgs/development/python-modules/twinkly-client/default.nix
new file mode 100644
index 0000000000000..fc856430da955
--- /dev/null
+++ b/pkgs/development/python-modules/twinkly-client/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "twinkly-client";
+  version = "0.0.2";
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "16jbm4ya4yk2nfswza1kpgks70rmy5lpsv9dv3hdjdnr1j44hr3i";
+  };
+
+  propagatedBuildInputs = [ aiohttp ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "twinkly_client" ];
+
+  meta = with lib; {
+    description = "Python module to communicate with Twinkly LED strings";
+    homepage = "https://github.com/dr1rrb/py-twinkly-client";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/twitch-python/default.nix b/pkgs/development/python-modules/twitch-python/default.nix
new file mode 100644
index 0000000000000..d4910cfdbe9de
--- /dev/null
+++ b/pkgs/development/python-modules/twitch-python/default.nix
@@ -0,0 +1,30 @@
+{ lib, buildPythonPackage, fetchPypi, requests, rx, pytestCheckHook, responses, isPy3k }:
+
+buildPythonPackage rec {
+  pname = "twitch-python";
+  version = "0.0.19";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "b0b02abdd33458e4ffabc632aa6a6779f3599e188819632551353b6c5553f5c5";
+  };
+
+  disabled = !isPy3k;
+
+  postPatch = ''
+    substituteInPlace setup.py --replace "'pipenv'," ""
+  '';
+
+  propagatedBuildInputs = [ requests rx ];
+
+  checkInputs = [ pytestCheckHook responses ];
+
+  pythonImportsCheck = [ "twitch" ];
+
+  meta = with lib; {
+    description = "Twitch module for Python";
+    homepage = "https://github.com/PetterKraabol/Twitch-Python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ marsam ];
+  };
+}
diff --git a/pkgs/development/python-modules/twitterapi/default.nix b/pkgs/development/python-modules/twitterapi/default.nix
new file mode 100644
index 0000000000000..b244167f88edf
--- /dev/null
+++ b/pkgs/development/python-modules/twitterapi/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, requests_oauthlib
+}:
+
+buildPythonPackage rec {
+  pname = "twitterapi";
+  version = "2.6.8";
+
+  src = fetchFromGitHub {
+    owner = "geduldig";
+    repo = "TwitterAPI";
+    rev = "v${version}";
+    sha256 = "sha256-X/j+3bWLQ9b4q0k/JTE984o1VZS0KTQnC0AdZpNsksY=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    requests_oauthlib
+  ];
+
+  # Tests are interacting with the Twitter API
+  doCheck = false;
+  pythonImportsCheck = [ "TwitterAPI" ];
+
+  meta = with lib; {
+    description = "Python wrapper for Twitter's REST and Streaming APIs";
+    homepage = "https://github.com/geduldig/TwitterAPI";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/typesystem/default.nix b/pkgs/development/python-modules/typesystem/default.nix
index e993363769a80..c278680404ba0 100644
--- a/pkgs/development/python-modules/typesystem/default.nix
+++ b/pkgs/development/python-modules/typesystem/default.nix
@@ -30,7 +30,15 @@ buildPythonPackage rec {
     pytestcov
   ];
 
-  disabledTests = [ "test_to_json_schema_complex_regular_expression" ];
+  disabledTests = [
+    # https://github.com/encode/typesystem/issues/102. cosmetic issue where python3.8 changed
+    # the default string formatting of regular expression flags which breaks test assertion
+    "test_to_json_schema_complex_regular_expression"
+  ];
+  disabledTestPaths = [
+    # for some reason jinja2 not picking up forms directory (1% of tests)
+    "tests/test_forms.py"
+  ];
 
   meta = with lib; {
     description = "A type system library for Python";
diff --git a/pkgs/development/python-modules/uarray/default.nix b/pkgs/development/python-modules/uarray/default.nix
index 37ba1ab25e2fd..32a8775823426 100644
--- a/pkgs/development/python-modules/uarray/default.nix
+++ b/pkgs/development/python-modules/uarray/default.nix
@@ -1,33 +1,43 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , fetchpatch
 , matchpy
 , numpy
 , astunparse
 , typing-extensions
-, black
-, pytest
+, pytestCheckHook
 , pytestcov
-, numba
-, nbval
-, python
-, isPy37
 }:
 
 buildPythonPackage rec {
   pname = "uarray";
-  version = "0.6.0";
+  version = "0.8.2";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "fa63ae7034833a99bc1628d3cd5501d4d00f2e6437b6cbe73f710dcf212a6bea";
+  src = fetchFromGitHub {
+    owner = "Quansight-Labs";
+    repo = pname;
+    rev = version;
+    sha256 = "1x2jp7w2wmn2awyv05xs0frpq0fa0rprwcxyg72wgiss0bnzxnhm";
   };
 
-  doCheck = false; # currently has circular dependency module import, remove when bumping to >0.5.1
-  checkInputs = [ pytest nbval pytestcov numba ];
-  propagatedBuildInputs = [ matchpy numpy astunparse typing-extensions black ];
+  patches = [(
+    # Fixes a compile error with newer versions of GCC -- should be included
+    # in the next release after 0.8.2
+    fetchpatch {
+      url = "https://github.com/Quansight-Labs/uarray/commit/a2012fc7bb94b3773eb402c6fe1ba1a894ea3d18.patch";
+      sha256 = "1qqh407qg5dz6x766mya2bxrk0ffw5h17k478f5kcs53g4dyfc3s";
+    }
+  )];
 
+  checkInputs = [ pytestCheckHook pytestcov ];
+  propagatedBuildInputs = [ matchpy numpy astunparse typing-extensions ];
+
+  # Tests must be run from outside the source directory
+  preCheck = ''
+    cd $TMP
+  '';
+  pytestFlagsArray = ["--pyargs" "uarray"];
   pythonImportsCheck = [ "uarray" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/uproot3-methods/default.nix b/pkgs/development/python-modules/uproot3-methods/default.nix
index 21fe31630de6e..aca6095d333f4 100644
--- a/pkgs/development/python-modules/uproot3-methods/default.nix
+++ b/pkgs/development/python-modules/uproot3-methods/default.nix
@@ -20,6 +20,7 @@ buildPythonPackage rec {
 
   # No tests on PyPi
   doCheck = false;
+  pythonImportsCheck = [ "uproot3_methods" ];
 
   meta = with lib; {
     homepage = "https://github.com/scikit-hep/uproot3-methods";
diff --git a/pkgs/development/python-modules/uproot3/default.nix b/pkgs/development/python-modules/uproot3/default.nix
index 1150c76d2b488..c692377342773 100644
--- a/pkgs/development/python-modules/uproot3/default.nix
+++ b/pkgs/development/python-modules/uproot3/default.nix
@@ -1,21 +1,24 @@
 { lib, fetchFromGitHub, buildPythonPackage, isPy27
 , awkward0, backports_lzma, cachetools, lz4, pandas
-, pytestCheckHook, pytestrunner, pkgconfig, mock
+, pytestCheckHook, pkgconfig, mock
 , numpy, requests, uproot3-methods, xxhash, zstandard
 }:
 
 buildPythonPackage rec {
   pname = "uproot3";
-  version = "3.14.2";
+  version = "3.14.4";
 
   src = fetchFromGitHub {
     owner = "scikit-hep";
     repo = "uproot3";
     rev = version;
-    sha256 = "sha256-6/e+qMgwyFUo8MRRTAaGp9WLPxE2fqMEK4paq26Epzc=";
+    sha256 = "sha256-hVJpKdYvyoCPyqgZzKYp30SvkYm+HWSNBdd9bYCYACE=";
   };
 
-  nativeBuildInputs = [ pytestrunner ];
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace '"pytest-runner"' ""
+  '';
 
   propagatedBuildInputs = [
     awkward0
diff --git a/pkgs/development/python-modules/uvloop/darwin_sandbox.patch b/pkgs/development/python-modules/uvloop/darwin_sandbox.patch
deleted file mode 100644
index bd4e5e48b1496..0000000000000
--- a/pkgs/development/python-modules/uvloop/darwin_sandbox.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/tests/test_pipes.py b/tests/test_pipes.py
-index d883abf..2e74d7a 100644
---- a/tests/test_pipes.py
-+++ b/tests/test_pipes.py
-@@ -2,6 +2,7 @@ import asyncio
- import io
- import os
- import socket
-+import unittest
- 
- from uvloop import _testbase as tb
- 
-@@ -96,6 +97,7 @@ class _BasePipeTest:
-         # extra info is available
-         self.assertIsNotNone(proto.transport.get_extra_info('pipe'))
- 
-+    @unittest.skip("darwin sandbox")
-     def test_read_pty_output(self):
-         proto = MyReadPipeProto(loop=self.loop)
- 
-@@ -198,6 +200,7 @@ class _BasePipeTest:
-         self.loop.run_until_complete(proto.done)
-         self.assertEqual('CLOSED', proto.state)
- 
-+    @unittest.skip("darwin sandbox")
-     def test_write_pty(self):
-         master, slave = os.openpty()
-         os.set_blocking(master, False)
diff --git a/pkgs/development/python-modules/uvloop/default.nix b/pkgs/development/python-modules/uvloop/default.nix
index a37e6a3675ba3..1bc73a37734fe 100644
--- a/pkgs/development/python-modules/uvloop/default.nix
+++ b/pkgs/development/python-modules/uvloop/default.nix
@@ -1,69 +1,69 @@
 { lib
 , stdenv
 , buildPythonPackage
+, pythonOlder
 , fetchPypi
-, pyopenssl
 , libuv
-, psutil
-, isPy27
-, pythonAtLeast
 , CoreServices
 , ApplicationServices
 # Check Inputs
+, aiohttp
+, psutil
+, pyopenssl
 , pytestCheckHook
-# , pytest-asyncio
 }:
 
 buildPythonPackage rec {
   pname = "uvloop";
-  version = "0.14.0";
-  disabled = isPy27;
+  version = "0.15.1";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "07j678z9gf41j98w72ysrnb5sa41pl5yxd7ib17lcwfxqz0cjfhj";
+    sha256 = "1p33xfzcy60qqca3rplzbh8h4x7x9l77vi6zbyy9md5z2a0q4ikq";
   };
 
-  patches = lib.optional stdenv.isDarwin ./darwin_sandbox.patch;
-
   buildInputs = [
     libuv
-  ] ++ lib.optionals stdenv.isDarwin [ CoreServices ApplicationServices ];
-
-  pythonImportsCheck = [
-    "uvloop"
-    "uvloop.loop"
+  ] ++ lib.optionals stdenv.isDarwin [
+    CoreServices
+    ApplicationServices
   ];
 
   dontUseSetuptoolsCheck = true;
-  checkInputs = [ pytestCheckHook pyopenssl psutil ];
+  checkInputs = [
+    aiohttp
+    pytestCheckHook
+    pyopenssl
+    psutil
+  ];
 
   pytestFlagsArray = [
     # from pytest.ini, these are NECESSARY to prevent failures
     "--capture=no"
     "--assert=plain"
+    "--strict"
     "--tb=native"
     # ignore code linting tests
     "--ignore=tests/test_sourcecode.py"
   ];
 
-  disabledTests = [
-    "test_sock_cancel_add_reader_race"  # asyncio version of test is supposed to be skipped but skip doesn't happen. uvloop version runs fine
-  ] ++ lib.optionals (pythonAtLeast "3.8") [ "test_write_to_closed_transport" ];  # https://github.com/MagicStack/uvloop/issues/355
-
   # force using installed/compiled uvloop vs source by moving tests to temp dir
   preCheck = ''
     export TEST_DIR=$(mktemp -d)
     cp -r tests $TEST_DIR
     pushd $TEST_DIR
-  '' + lib.optionalString stdenv.isDarwin ''
-    # Some tests fail on Darwin
-    rm tests/test_[stu]*.py
   '';
+
   postCheck = ''
     popd
   '';
 
+  pythonImportsCheck = [
+    "uvloop"
+    "uvloop.loop"
+  ];
+
   # Some of the tests use localhost networking.
   __darwinAllowLocalNetworking = true;
 
@@ -72,6 +72,5 @@ buildPythonPackage rec {
     homepage = "https://github.com/MagicStack/uvloop";
     license = licenses.mit;
     maintainers = with maintainers; [ costrouc ];
-    broken = pythonAtLeast "3.9"; # see: https://github.com/MagicStack/uvloop/issues/365
   };
 }
diff --git a/pkgs/development/python-modules/vega/default.nix b/pkgs/development/python-modules/vega/default.nix
index 083aa63020980..04c38838a4337 100644
--- a/pkgs/development/python-modules/vega/default.nix
+++ b/pkgs/development/python-modules/vega/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage , fetchPypi, pythonOlder
-, pytest, jupyter_core, pandas, ipywidgets, jupyter, altair }:
+, jupyter_core, pandas, ipywidgets, jupyter }:
 
 buildPythonPackage rec {
   pname = "vega";
@@ -11,12 +11,11 @@ buildPythonPackage rec {
     sha256 = "f343ceb11add58d24cd320d69e410b111a56c98c9069ebb4ef89c608c4c1950d";
   };
 
-  buildInputs = [ pytest ];
   propagatedBuildInputs = [ jupyter jupyter_core pandas ipywidgets ];
 
   # currently, recommonmark is broken on python3
   doCheck = false;
-  checkInputs = [ altair ];
+  pythonImportsCheck = [ "vega" ];
 
   meta = with lib; {
     description = "An IPython/Jupyter widget for Vega and Vega-Lite";
diff --git a/pkgs/development/python-modules/venstarcolortouch/default.nix b/pkgs/development/python-modules/venstarcolortouch/default.nix
new file mode 100644
index 0000000000000..713059ad90834
--- /dev/null
+++ b/pkgs/development/python-modules/venstarcolortouch/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "venstarcolortouch";
+  version = "0.13";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "04y9gmxb0vsmc5c930x9ziis5v83b29kfzsgjlww3pssj69lmw1s";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "venstarcolortouch" ];
+
+  meta = with lib; {
+    description = "Python interface for Venstar ColorTouch thermostats Resources";
+    homepage = "https://github.com/hpeyerl/venstar_colortouch";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/vidstab/default.nix b/pkgs/development/python-modules/vidstab/default.nix
index 4119b26259d77..7137205b35085 100644
--- a/pkgs/development/python-modules/vidstab/default.nix
+++ b/pkgs/development/python-modules/vidstab/default.nix
@@ -6,7 +6,6 @@
 , imutils
 , progress
 , matplotlib
-, pytest
 }:
 
 buildPythonPackage rec {
@@ -18,11 +17,11 @@ buildPythonPackage rec {
     sha256 = "649a77a0c1b670d13a1bf411451945d7da439364dc0c33ee3636a23f1d82b456";
   };
 
-  checkInputs = [ pytest ];
   propagatedBuildInputs = [ numpy pandas imutils progress matplotlib ];
 
   # tests not packaged with pypi
   doCheck = false;
+  pythonImportsCheck = [ "vidstab" ];
 
   meta = with lib; {
     homepage = "https://github.com/AdamSpannbauer/python_video_stab";
diff --git a/pkgs/development/python-modules/virtualenv/default.nix b/pkgs/development/python-modules/virtualenv/default.nix
index 233101728f850..6d2c19d36750b 100644
--- a/pkgs/development/python-modules/virtualenv/default.nix
+++ b/pkgs/development/python-modules/virtualenv/default.nix
@@ -1,18 +1,25 @@
 { buildPythonPackage
-, fetchPypi
-, lib
-, stdenv
-, pythonOlder
-, isPy27
 , appdirs
 , contextlib2
+, cython
 , distlib
+, fetchPypi
 , filelock
+, fish
+, flaky
 , importlib-metadata
 , importlib-resources
+, isPy27
+, lib
 , pathlib2
+, pytest-freezegun
+, pytest-mock
+, pytest-timeout
+, pytestCheckHook
+, pythonOlder
 , setuptools_scm
 , six
+, stdenv
 }:
 
 buildPythonPackage rec {
@@ -47,10 +54,37 @@ buildPythonPackage rec {
     ./0001-Check-base_prefix-and-base_exec_prefix-for-Python-2.patch
   ];
 
-  meta = {
+  checkInputs = [
+    cython
+    fish
+    flaky
+    pytest-freezegun
+    pytest-mock
+    pytest-timeout
+    pytestCheckHook
+  ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  # Ignore tests which require network access
+  disabledTestPaths = [
+    "tests/unit/create/test_creator.py"
+    "tests/unit/seed/embed/test_bootstrap_link_via_app_data.py"
+  ];
+
+  disabledTests = [
+    "test_can_build_c_extensions"
+    "test_xonsh" # imports xonsh, which is not in pythonPackages
+  ];
+
+  pythonImportsCheck = [ "virtualenv" ];
+
+  meta = with lib; {
     description = "A tool to create isolated Python environments";
     homepage = "http://www.virtualenv.org";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ goibhniu ];
+    license = licenses.mit;
+    maintainers = with maintainers; [ goibhniu ];
   };
 }
diff --git a/pkgs/development/python-modules/volkszaehler/default.nix b/pkgs/development/python-modules/volkszaehler/default.nix
index fdd3e1923a39d..b86394bc2b622 100644
--- a/pkgs/development/python-modules/volkszaehler/default.nix
+++ b/pkgs/development/python-modules/volkszaehler/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "volkszaehler";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "087gw1k3f81lm859r0j65cjia8c2dcy4cx8c7s3mb5msb1csdh0x";
+    sha256 = "13zhxq08wn5y9yn6xbazfl0gxxysmirwpc26wcnr6jk2va1kpc4l";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/vsure/default.nix b/pkgs/development/python-modules/vsure/default.nix
index 578578a21b178..40b1b328f16fd 100644
--- a/pkgs/development/python-modules/vsure/default.nix
+++ b/pkgs/development/python-modules/vsure/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "vsure";
-  version = "1.6.1";
+  version = "1.7.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1lsr0wl1dwbzpn68ww348yk6v42bw89nrghz5gjsimrr428zw6qn";
+    sha256 = "sha256-EFat1sewh0Y9PHs08Grlk2RparA47GqkUv/WJ3J2494=";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/development/python-modules/wasabi/default.nix b/pkgs/development/python-modules/wasabi/default.nix
index cce8c4fc46678..3e674ae266f1f 100644
--- a/pkgs/development/python-modules/wasabi/default.nix
+++ b/pkgs/development/python-modules/wasabi/default.nix
@@ -20,6 +20,5 @@ buildPythonPackage rec {
     homepage = "https://github.com/ines/wasabi";
     changelog = "https://github.com/ines/wasabi/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ danieldk ];
   };
 }
diff --git a/pkgs/development/python-modules/wasmer/default.nix b/pkgs/development/python-modules/wasmer/default.nix
index 62c8a2a06b71a..28c9b8b5c1660 100644
--- a/pkgs/development/python-modules/wasmer/default.nix
+++ b/pkgs/development/python-modules/wasmer/default.nix
@@ -1,63 +1,34 @@
 { lib
 , rustPlatform
 , fetchFromGitHub
-, maturin
 , buildPythonPackage
-, isPy38
-, python
 }:
 let
   pname = "wasmer";
   version = "1.0.0";
+in buildPythonPackage rec {
+  inherit pname version;
 
-  wheel = rustPlatform.buildRustPackage rec {
-    inherit pname version;
-
-    src = fetchFromGitHub {
-      owner = "wasmerio";
-      repo = "wasmer-python";
-      rev = version;
-      hash = "sha256-I1GfjLaPYMIHKh2m/5IQepUsJNiVUEJg49wyuuzUYtY=";
-    };
-
-    cargoHash = "sha256-txOOia1C4W+nsXuXp4EytEn82CFfSmiOYwRLC4WPImc=";
-
-    nativeBuildInputs = [ maturin python ];
-
-    preBuild = ''
-      cd packages/api
-    '';
-
-    buildPhase = ''
-      runHook preBuild
-      maturin build --release --manylinux off --strip
-      runHook postBuild
-    '';
-
-    postBuild = ''
-      cd ../..
-    '';
-
-    doCheck = false;
+  src = fetchFromGitHub {
+    owner = "wasmerio";
+    repo = "wasmer-python";
+    rev = version;
+    hash = "sha256-I1GfjLaPYMIHKh2m/5IQepUsJNiVUEJg49wyuuzUYtY=";
+  };
 
-    installPhase = ''
-      runHook preInstall
-      install -Dm644 -t $out target/wheels/*.whl
-      runHook postInstall
-    '';
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "${pname}-${version}";
+    hash = "sha256-txOOia1C4W+nsXuXp4EytEn82CFfSmiOYwRLC4WPImc=";
   };
 
-in
-buildPythonPackage rec {
-  inherit pname version;
+  format = "pyproject";
+
+  nativeBuildInputs = with rustPlatform; [ cargoSetupHook maturinBuildHook ];
 
-  format = "wheel";
-  src = wheel;
+  buildAndTestSubdir = "packages/api";
 
-  unpackPhase = ''
-    mkdir -p dist
-    cp $src/*.whl dist
-  '';
+  doCheck = false;
 
   pythonImportsCheck = [ "wasmer" ];
 
diff --git a/pkgs/development/python-modules/watchdog/default.nix b/pkgs/development/python-modules/watchdog/default.nix
index 5cb8929b9dbe5..31f41c50097a7 100644
--- a/pkgs/development/python-modules/watchdog/default.nix
+++ b/pkgs/development/python-modules/watchdog/default.nix
@@ -1,26 +1,47 @@
 { lib, stdenv
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , argh
 , pathtools
 , pyyaml
 , pkgs
+, pytest-cov
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "watchdog";
-  version = "0.10.4";
+  version = "2.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e38bffc89b15bafe2a131f0e1c74924cf07dcec020c2e0a26cccd208831fcd43";
+    sha256 = "sha256-Uy/t2ZPnVVRnH6o2zQTFgM7T+uCEJUp3mvu9iq8AVms=";
   };
 
+  patches = [
+    (fetchpatch {
+      # Fix test flakiness on Apple Silicon, remove after upgrade to 2.0.6.
+      url = "https://github.com/gorakhargosh/watchdog/commit/331fd7c2c819663be39bc146e78ce67553f265fa.patch";
+      sha256 = "sha256-pLkZmbPN3qRNHs53OP0HIyDxqYCPPo6yOcBLD3aO2YE=";
+    })
+  ];
+
   buildInputs = lib.optionals stdenv.isDarwin
     [ pkgs.darwin.apple_sdk.frameworks.CoreServices ];
-  propagatedBuildInputs = [ argh pathtools pyyaml ];
 
-  doCheck = false;
+  propagatedBuildInputs = [
+    argh
+    pathtools
+    pyyaml
+  ];
+
+  checkInputs = [
+    pytest-cov
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "watchdog" ];
 
   meta = with lib; {
     description = "Python API and shell utilities to monitor file system events";
diff --git a/pkgs/development/python-modules/wiffi/default.nix b/pkgs/development/python-modules/wiffi/default.nix
new file mode 100644
index 0000000000000..a3da3f2f027ee
--- /dev/null
+++ b/pkgs/development/python-modules/wiffi/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "wiffi";
+  version = "1.0.1";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "mampfes";
+    repo = "python-wiffi";
+    rev = version;
+    sha256 = "1bsx8dcmbkajh7hdgxg6wdnyxz4bfnd45piiy3yzyvszfdyvxw0f";
+  };
+
+  propagatedBuildInputs = [ aiohttp ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "wiffi" ];
+
+  meta = with lib; {
+    description = "Python module to interface with STALL WIFFI devices";
+    homepage = "https://github.com/mampfes/python-wiffi";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/winacl/default.nix b/pkgs/development/python-modules/winacl/default.nix
index c08c5541a61a6..9aca67e2ed8d3 100644
--- a/pkgs/development/python-modules/winacl/default.nix
+++ b/pkgs/development/python-modules/winacl/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "winacl";
-  version = "0.1.0";
+  version = "0.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05xhdhbvzs1hcd8lxmdr9mpr6ifx5flhlvk6jr0qi6h25imhqclp";
+    sha256 = "sha256-V+W0WRtL4rJD1LeYgr0PtiKdWTDQYv2ulB1divaqKe4=";
   };
 
   # Project doesn't have tests
diff --git a/pkgs/development/python-modules/wrapio/default.nix b/pkgs/development/python-modules/wrapio/default.nix
index bbbc1917f541a..3e6a4372a6424 100644
--- a/pkgs/development/python-modules/wrapio/default.nix
+++ b/pkgs/development/python-modules/wrapio/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "wrapio";
-  version = "0.3.8";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-jGupLh+xzwil+VBtAjIG+ZYT+dy+QaZOTIfipTQeyWo";
+    sha256 = "sha256-JWcPsqZy1wM6/mbU3H0W3EkpLg0wrEUUg3pT/QrL+rE=";
   };
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/wsgi-intercept/default.nix b/pkgs/development/python-modules/wsgi-intercept/default.nix
new file mode 100644
index 0000000000000..7303a27f5b3e5
--- /dev/null
+++ b/pkgs/development/python-modules/wsgi-intercept/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, six, httplib2, py, pytestCheckHook, requests, urllib3 }:
+
+buildPythonPackage rec {
+  pname = "wsgi-intercept";
+  version = "1.9.2";
+
+  src = fetchPypi {
+    pname = "wsgi_intercept";
+    inherit version;
+    sha256 = "1b6251d03jnhqywr54bzj9fnc3qzp2kvz22asxpd27jy984qx21n";
+  };
+
+  propagatedBuildInputs = [ six ];
+
+  checkInputs = [ httplib2 py pytestCheckHook requests urllib3 ];
+
+  disabledTests = [
+    "test_http_not_intercepted"
+    "test_https_not_intercepted"
+    "test_https_no_ssl_verification_not_intercepted"
+  ];
+
+  pythonImportsCheck = [ "wsgi_intercept" ];
+
+  meta = with lib; {
+    description = "wsgi_intercept installs a WSGI application in place of a real URI for testing";
+    homepage = "https://github.com/cdent/wsgi-intercept";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/wxPython/4.0.nix b/pkgs/development/python-modules/wxPython/4.0.nix
index d72d4aa35d4d9..2fc9a98a26f9e 100644
--- a/pkgs/development/python-modules/wxPython/4.0.nix
+++ b/pkgs/development/python-modules/wxPython/4.0.nix
@@ -10,9 +10,6 @@
 , doxygen
 , ncurses
 , libintl
-, numpy
-, pillow
-, six
 , wxGTK
 , wxmac
 , IOKit
diff --git a/pkgs/development/python-modules/wxPython/4.1.nix b/pkgs/development/python-modules/wxPython/4.1.nix
index e4cb6ec79e014..a86e07729d971 100644
--- a/pkgs/development/python-modules/wxPython/4.1.nix
+++ b/pkgs/development/python-modules/wxPython/4.1.nix
@@ -6,7 +6,6 @@
 , pkg-config
 , python
 , isPy27
-, pyopengl
 , doxygen
 , cairo
 , ncurses
diff --git a/pkgs/development/python-modules/xarray/default.nix b/pkgs/development/python-modules/xarray/default.nix
index d905a11e3418c..a245efe7e480f 100644
--- a/pkgs/development/python-modules/xarray/default.nix
+++ b/pkgs/development/python-modules/xarray/default.nix
@@ -1,34 +1,27 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pytest
+, pytestCheckHook
 , numpy
 , pandas
-, python
 , setuptools
 , isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "xarray";
-  version = "0.16.1";
+  version = "0.16.2";
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5e1af056ff834bf62ca57da917159328fab21b1f8c25284f92083016bb2d92a5";
+    sha256 = "sha256-OOhDnWyRvNW3wPyjSdr44GQ6xohQyYcmLVNSbp19AeQ=";
   };
 
-  checkInputs = [ pytest ];
   propagatedBuildInputs = [ numpy pandas setuptools ];
+  checkInputs = [ pytestCheckHook ];
 
-  checkPhase = ''
-    pytest $out/${python.sitePackages}
-  '';
-
-  # There always seem to be broken tests...
-  doCheck = false;
-
-  disabled = !isPy3k;
+  pythonImportsCheck = [ "xarray" ];
 
   meta = {
     description = "N-D labeled arrays and datasets in Python";
diff --git a/pkgs/development/python-modules/xboxapi/default.nix b/pkgs/development/python-modules/xboxapi/default.nix
new file mode 100644
index 0000000000000..973f2f6aba24a
--- /dev/null
+++ b/pkgs/development/python-modules/xboxapi/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "xboxapi";
+  version = "2.0.1";
+
+  src = fetchFromGitHub {
+    owner = "mKeRix";
+    repo = "xboxapi-python";
+    rev = version;
+    sha256 = "10mhvallkwf5lw91hj5rv16sziqhhjq7sgcgr28sqqnlgjnyazdd";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "xboxapi" ];
+
+  meta = with lib; {
+    description = "Python XBOX One API wrapper";
+    homepage = "https://github.com/mKeRix/xboxapi-python";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/xknx/default.nix b/pkgs/development/python-modules/xknx/default.nix
index b448f87a2d361..841348339a718 100644
--- a/pkgs/development/python-modules/xknx/default.nix
+++ b/pkgs/development/python-modules/xknx/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "xknx";
-  version = "0.16.1";
+  version = "0.17.0";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "XKNX";
     repo = pname;
     rev = version;
-    sha256 = "0nma0fq67p9c90b6s5v7n4s6j94sdiwqf8rk1k2vfc6nxxn1jfll";
+    sha256 = "sha256-fzLqkeCfeLNu13R9cp1XVh8fE2B3L47UDpuWOod33gU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/xmpppy/default.nix b/pkgs/development/python-modules/xmpppy/default.nix
deleted file mode 100644
index 65e2b3711fa04..0000000000000
--- a/pkgs/development/python-modules/xmpppy/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, buildPythonPackage, fetchurl, isPy3k }:
-buildPythonPackage rec {
-  pname = "xmpp.py";
-  version = "0.5.0rc1";
-
-  patches = [ ./ssl.patch ];
-
-  src = fetchurl {
-    url = "mirror://sourceforge/xmpppy/xmpppy-${version}.tar.gz";
-    sha256 = "16hbh8kwc5n4qw2rz1mrs8q17rh1zq9cdl05b1nc404n7idh56si";
-  };
-
-  preInstall = ''
-    mkdir -p $out/bin $out/lib $out/share $(toPythonPath $out)
-    export PYTHONPATH=$PYTHONPATH:$(toPythonPath $out)
-  '';
-
-  disabled = isPy3k;
-
-  meta = with lib; {
-    description = "XMPP python library";
-    homepage = "http://xmpppy.sourceforge.net/";
-    license = licenses.gpl3;
-    maintainers = [ maintainers.mic92 ];
-  };
-}
diff --git a/pkgs/development/python-modules/xmpppy/ssl.patch b/pkgs/development/python-modules/xmpppy/ssl.patch
deleted file mode 100644
index 915602dc23e5c..0000000000000
--- a/pkgs/development/python-modules/xmpppy/ssl.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -wbBur xmpppy-0.5.0rc1/xmpp/transports.py xmpppy-0.5.0rc1.q/xmpp/transports.py
---- xmpppy-0.5.0rc1/xmpp/transports.py	2009-04-07 12:34:09.000000000 +0400
-+++ xmpppy-0.5.0rc1.q/xmpp/transports.py	2015-05-08 13:06:03.049252065 +0300
-@@ -27,7 +27,7 @@
- Also exception 'error' is defined to allow capture of this module specific exceptions.
- """
- 
--import socket,select,base64,dispatcher,sys
-+import socket,ssl,select,base64,dispatcher,sys
- from simplexml import ustr
- from client import PlugIn
- from protocol import *
-@@ -312,9 +312,9 @@
-         """ Immidiatedly switch socket to TLS mode. Used internally."""
-         """ Here we should switch pending_data to hint mode."""
-         tcpsock=self._owner.Connection
--        tcpsock._sslObj    = socket.ssl(tcpsock._sock, None, None)
--        tcpsock._sslIssuer = tcpsock._sslObj.issuer()
--        tcpsock._sslServer = tcpsock._sslObj.server()
-+        tcpsock._sslObj    = ssl.wrap_socket(tcpsock._sock, None, None)
-+        tcpsock._sslIssuer = tcpsock._sslObj.getpeercert().get('issuer')
-+        tcpsock._sslServer = tcpsock._sslObj.getpeercert().get('server')
-         tcpsock._recv = tcpsock._sslObj.read
-         tcpsock._send = tcpsock._sslObj.write
- 
diff --git a/pkgs/development/python-modules/yalesmartalarmclient/default.nix b/pkgs/development/python-modules/yalesmartalarmclient/default.nix
new file mode 100644
index 0000000000000..a4ca97e27ac04
--- /dev/null
+++ b/pkgs/development/python-modules/yalesmartalarmclient/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "yalesmartalarmclient";
+  version = "0.3.1";
+
+  src = fetchFromGitHub {
+    owner = "domwillcode";
+    repo = "yale-smart-alarm-client";
+    rev = "v${version}";
+    sha256 = "0fscp9n66h8a8khvjs2rjgm95xsdckpknadnyxqdmhw3hlj0aw6h";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "yalesmartalarmclient" ];
+
+  meta = with lib; {
+    description = "Python module to interface with Yale Smart Alarm Systems";
+    homepage = "https://github.com/mampfes/python-wiffi";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/yapsy/default.nix b/pkgs/development/python-modules/yapsy/default.nix
index e60b0a114731d..a6471d8f07efc 100644
--- a/pkgs/development/python-modules/yapsy/default.nix
+++ b/pkgs/development/python-modules/yapsy/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchPypi
 }:
@@ -16,6 +17,7 @@ buildPythonPackage rec {
     homepage = "http://yapsy.sourceforge.net/";
     description = "Yet another plugin system";
     license = licenses.bsd0;
+    # tests fail and are not using pytest to easily disable them
+    broken = stdenv.isDarwin;
   };
-
 }
diff --git a/pkgs/development/python-modules/yq/default.nix b/pkgs/development/python-modules/yq/default.nix
index 83f9c7a9980b5..1dde1405bf6b0 100644
--- a/pkgs/development/python-modules/yq/default.nix
+++ b/pkgs/development/python-modules/yq/default.nix
@@ -3,36 +3,32 @@
 , buildPythonPackage
 , fetchPypi
 , substituteAll
-, pkgs
 , argcomplete
 , pyyaml
 , xmltodict
-# Test inputs
-, coverage
-, flake8
 , jq
-, pytest
-, toml
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "yq";
-  version = "2.11.1";
+  version = "2.12.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1q4rky0a6n4izmq7slb91a54g8swry1xrbfqxwc8lkd3hhvlxxkl";
+    sha256 = "sha256-HSrUA1BNMGtSWLhsaY+YVtetWLe7F6K4dWkaanuMTCA=";
   };
 
   patches = [
     (substituteAll {
       src = ./jq-path.patch;
-      jq = "${lib.getBin pkgs.jq}/bin/jq";
+      jq = "${lib.getBin jq}/bin/jq";
     })
   ];
 
   postPatch = ''
-    substituteInPlace test/test.py --replace "expect_exit_codes={0} if sys.stdin.isatty() else {2}" "expect_exit_codes={0}"
+    substituteInPlace test/test.py \
+      --replace "expect_exit_codes={0} if sys.stdin.isatty() else {2}" "expect_exit_codes={0}"
   '';
 
   propagatedBuildInputs = [
@@ -41,16 +37,11 @@ buildPythonPackage rec {
     argcomplete
   ];
 
-  doCheck = true;
-
   checkInputs = [
-   pytest
-   coverage
-   flake8
-   toml
+   pytestCheckHook
   ];
 
-  checkPhase = "pytest ./test/test.py";
+  pytestFlagsArray = [ "test/test.py" ];
 
   pythonImportsCheck = [ "yq" ];
 
@@ -59,7 +50,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Command-line YAML processor - jq wrapper for YAML documents";
     homepage = "https://github.com/kislyuk/yq";
-    license = [ licenses.asl20 ];
-    maintainers = [ maintainers.womfoo ];
+    license = licenses.asl20;
+    maintainers = with maintainers; [ womfoo SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/zetup/default.nix b/pkgs/development/python-modules/zetup/default.nix
index 85e950b830e89..3862a8e757d1c 100644
--- a/pkgs/development/python-modules/zetup/default.nix
+++ b/pkgs/development/python-modules/zetup/default.nix
@@ -1,6 +1,11 @@
-{ lib, buildPythonPackage, fetchPypi
-, setuptools_scm, pathpy, nbconvert
-, pytest }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, nbconvert
+, pathpy
+, pytestCheckHook
+, setuptools-scm
+}:
 
 buildPythonPackage rec {
   pname = "zetup";
@@ -11,18 +16,25 @@ buildPythonPackage rec {
     sha256 = "b8a9bdcfa4b705d72b55b218658bc9403c157db7b57a14158253c98d03ab713d";
   };
 
-  # Python 3.8 compatibility
+  # Python > 3.7 compatibility
   postPatch = ''
     substituteInPlace zetup/zetup_config.py \
-      --replace "'3.7']" "'3.7', '3.8']"
+      --replace "'3.7']" "'3.7', '3.8', '3.9', '3.10']"
   '';
 
   checkPhase = ''
     py.test test -k "not TestObject" --deselect=test/test_zetup_config.py::test_classifiers
   '';
 
-  checkInputs = [ pytest pathpy nbconvert ];
-  propagatedBuildInputs = [ setuptools_scm ];
+  propagatedBuildInputs = [ setuptools-scm ];
+
+  checkInputs = [
+    pathpy
+    nbconvert
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "zetup" ];
 
   meta = with lib; {
     description = "Zimmermann's Extensible Tools for Unified Project setups";
diff --git a/pkgs/development/python-modules/zha-quirks/default.nix b/pkgs/development/python-modules/zha-quirks/default.nix
index 2f3500516cb9e..3141f666a63a4 100644
--- a/pkgs/development/python-modules/zha-quirks/default.nix
+++ b/pkgs/development/python-modules/zha-quirks/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "zha-quirks";
-  version = "0.0.51";
+  version = "0.0.53";
 
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = "zha-device-handlers";
     rev = version;
-    sha256 = "14v01kclf096ax88cd6ckfs8gcffqissli9vpr0wfzli08afmbi9";
+    sha256 = "16n99r7bjd3lnxn72lfnxg44n7mkv196vdhkw2sf1nq1an4ks1nc";
   };
 
   propagatedBuildInputs = [ aiohttp zigpy ];
diff --git a/pkgs/development/python-modules/zigpy/default.nix b/pkgs/development/python-modules/zigpy/default.nix
index 9a6b0feb3b775..dbc42561db630 100644
--- a/pkgs/development/python-modules/zigpy/default.nix
+++ b/pkgs/development/python-modules/zigpy/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "zigpy";
-  version = "0.30.0";
+  version = "0.32.0";
 
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = "zigpy";
     rev = version;
-    sha256 = "14qyxm7bj62fsvxfp6x3r1ygjlv7q3jjvq6gzj30na78x1fqr9g1";
+    sha256 = "18grqx1fzh539ccar0865shgd2mnfni65rjj787cq5j5p5rn0yc7";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/r-modules/cran-packages.nix b/pkgs/development/r-modules/cran-packages.nix
index 1482a872dffde..f579b108eb9c2 100644
--- a/pkgs/development/r-modules/cran-packages.nix
+++ b/pkgs/development/r-modules/cran-packages.nix
@@ -5534,7 +5534,7 @@ in with self; {
   arrApply = derive2 { name="arrApply"; version="2.1"; sha256="0qy7iwi580rrf3sycsbv6qgxsqcdy9pdbnkdrx81j68qni9iw737"; depends=[Rcpp RcppArmadillo]; };
   arrangements = derive2 { name="arrangements"; version="1.1.9"; sha256="0nrlyxgn6667l2rb1q5rvps1anld9aq88qqr3ch2i6zchnqxrdg9"; depends=[gmp R6]; };
   arrayhelpers = derive2 { name="arrayhelpers"; version="1.1-0"; sha256="02rl530qxi1idiqpmzg5wr9vl5c7phizhpj64k5pn8xq9zfxbpaz"; depends=[svUnit]; };
-  arrow = derive2 { name="arrow"; version="2.0.0"; sha256="0n9g8j7bis7aga2icc8gd6mv7fnh2d5m7fy62fqs4z69l69y19r8"; depends=[assertthat bit64 cpp11 purrr R6 rlang tidyselect vctrs]; };
+  arrow = derive { snapshot = "2021-02-01"; } { name="arrow"; version="3.0.0"; sha256="0wgdj6fr4vbz91s76gfwyv2q66p8z3fwf9zgk4112rjhj60q7qfq"; depends=[assertthat bit64 cpp11 purrr R6 rlang tidyselect vctrs]; };
   ars = derive2 { name="ars"; version="0.6"; sha256="0zs1rk3i7pc9wcvxrvjcls194mfbvmkz7cb6pwd1cm3fzjwsyxsp"; depends=[]; };
   arse = derive2 { name="arse"; version="1.0.0"; sha256="0ssaalc058m09gfcr1n0s729rx2plia3zkhlynj67drclyvhyb0i"; depends=[dplyr pracma]; };
   arsenal = derive2 { name="arsenal"; version="3.5.0"; sha256="0avi434wkk3w7axd89a4jwsbb11fi0239mkkla6zasnjwbqgjim0"; depends=[knitr]; };
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index e827c9b807fdb..fe823c17d9385 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -231,6 +231,7 @@ let
   };
 
   packagesWithNativeBuildInputs = {
+    arrow = [ pkgs.pkgconfig pkgs.arrow-cpp ];
     adimpro = [ pkgs.imagemagick ];
     animation = [ pkgs.which ];
     audio = [ pkgs.portaudio ];
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index 70cb7e3ca3988..791ae3d0d31d8 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -201,13 +201,23 @@ in
 
   gitlab-markup = attrs: { meta.priority = 1; };
 
-  gitlab-pg_query = attrs: lib.optionalAttrs (attrs.version == "1.3.0") {
+  gitlab-pg_query = attrs: lib.optionalAttrs (attrs.version == "1.3.1") {
     dontBuild = false;
     postPatch = ''
-      sed -i 's;"https://gitlab.com.*";"${fetchurl {
-        url = "https://gitlab.com/gitlab-org/libpg_query/-/archive/gitlab-10-1.0.3/libpg_query-gitlab-10-1.0.3.tar.gz";
-        sha256 = "1519x4v6wrk189mjg4hlfah0f7hjy3syg8kk8b6g644gdspzs26j";
-      }}";' ext/pg_query/extconf.rb
+      sed -i "s;'https://codeload.github.com.*';'${fetchurl {
+        url = "https://codeload.github.com/lfittl/libpg_query/tar.gz/10-1.0.3";
+        sha256 = "0jfij8apzxsdabl70j42xgd5f3ka1gdcrk764nccp66164gpcchk";
+      }}';" ext/pg_query/extconf.rb
+    '';
+  };
+
+  pg_query = attrs: lib.optionalAttrs (attrs.version == "1.3.0") {
+    dontBuild = false;
+    postPatch = ''
+      sed -i "s;'https://codeload.github.com.*';'${fetchurl {
+        url = "https://codeload.github.com/lfittl/libpg_query/tar.gz/10-1.0.4";
+        sha256 = "0f0kshhai0pnkqj0w4kgz3fssnvwidllc31n1fysxjjzdqlr1k48";
+      }}';" ext/pg_query/extconf.rb
     '';
   };
 
@@ -403,6 +413,10 @@ in
     ] ++ lib.optional stdenv.isDarwin "--with-iconv-dir=${libiconv}";
   };
 
+  openssl = attrs: {
+    buildInputs = [ openssl ];
+  };
+
   opus-ruby = attrs: {
     dontBuild = false;
     postPatch = ''
diff --git a/pkgs/development/ruby-modules/with-packages/test.nix b/pkgs/development/ruby-modules/with-packages/test.nix
index 946854e4545ff..bcd9a787f7d30 100644
--- a/pkgs/development/ruby-modules/with-packages/test.nix
+++ b/pkgs/development/ruby-modules/with-packages/test.nix
@@ -6,7 +6,6 @@ let
   stdenv = pkgs.stdenv;
 
   rubyVersions = with pkgs; [
-    ruby_2_5
     ruby_2_6
     ruby_2_7
   ];
diff --git a/pkgs/development/tools/air/default.nix b/pkgs/development/tools/air/default.nix
new file mode 100644
index 0000000000000..912328ead2672
--- /dev/null
+++ b/pkgs/development/tools/air/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "air";
+  version = "1.15.1";
+
+  src = fetchFromGitHub {
+    owner = "cosmtrek";
+    repo = "air";
+    rev = "v${version}";
+    sha256 = "0d34k8hyag84j24bhax4gvg8mkzqyhdqd16rfirpfjiqvqh0vdkz";
+  };
+
+  vendorSha256 = "0k28rxnd0vyb6ljbi83bm1gl7j4r660a3ckjxnzc2qzwvfj69g53";
+
+  subPackages = [ "." ];
+
+  meta = with lib; {
+    description = "Live reload for Go apps";
+    homepage = "https://github.com/cosmtrek/air";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ Gonzih ];
+  };
+}
diff --git a/pkgs/development/tools/ameba/default.nix b/pkgs/development/tools/ameba/default.nix
index 13e9c56be9ffb..48182760dcae3 100644
--- a/pkgs/development/tools/ameba/default.nix
+++ b/pkgs/development/tools/ameba/default.nix
@@ -2,13 +2,13 @@
 
 crystal.buildCrystalPackage rec {
   pname = "ameba";
-  version = "0.13.4";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "crystal-ameba";
     repo = "ameba";
     rev = "v${version}";
-    sha256 = "sha256-+ZsefwH1hag2syWaEXkdxgmxk6JsxP7MvV+ILlo+Hy8=";
+    sha256 = "sha256-9oLVv0fCJzYyBApR4yzQKc25Uz9X5Rrvj638yD0JDMU=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/analysis/dotenv-linter/default.nix b/pkgs/development/tools/analysis/dotenv-linter/default.nix
new file mode 100644
index 0000000000000..b05f9b944400d
--- /dev/null
+++ b/pkgs/development/tools/analysis/dotenv-linter/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "dotenv-linter";
+  version = "3.0.0";
+
+  src = fetchFromGitHub {
+    owner = "dotenv-linter";
+    repo = "dotenv-linter";
+    rev = "v${version}";
+    sha256 = "sha256-3Lj5GtWGyWDkZPhxYQu7UWzmh7TO5wk1UJ0lek1jTto=";
+  };
+
+  cargoSha256 = "sha256-zdvIC+VUASjhrlyRts+JJeh5xdcdpX6Ixle6HhbMJJU=";
+
+  meta = with lib; {
+    description = "Lightning-fast linter for .env files. Written in Rust";
+    homepage = "https://dotenv-linter.github.io";
+    license = licenses.mit;
+    maintainers = with maintainers; [ humancalico ];
+  };
+}
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 11f0297509d08..5c6fd8e3b90d7 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flow";
-  version = "0.143.1";
+  version = "0.145.0";
 
   src = fetchFromGitHub {
     owner  = "facebook";
     repo   = "flow";
     rev    = "refs/tags/v${version}";
-    sha256 = "sha256-x7+hLbfccyJLc84246R8xay0FJlK/3JgNc6pqeowl9Q=";
+    sha256 = "sha256-6fRKXKh+hB/d2CcmZYYSlMzP1IGCl7fLdXCQ1M0wuY4=";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/lcov/default.nix b/pkgs/development/tools/analysis/lcov/default.nix
index 35c75d67da507..30df5daed6ff0 100644
--- a/pkgs/development/tools/analysis/lcov/default.nix
+++ b/pkgs/development/tools/analysis/lcov/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "1kvc7fkp45w48f0bxwbxvxkicnjrrydki0hllg294n1wrp80zzyk";
   };
 
-  buildInputs = [ perl makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ perl ];
 
   preBuild = ''
     patchShebangs bin/
diff --git a/pkgs/development/tools/analysis/panopticon/default.nix b/pkgs/development/tools/analysis/panopticon/default.nix
index 0ef33270e92bf..f7f933392ab4c 100644
--- a/pkgs/development/tools/analysis/panopticon/default.nix
+++ b/pkgs/development/tools/analysis/panopticon/default.nix
@@ -12,8 +12,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "1zv87nqhrzsxx0m891df4vagzssj3kblfv9yp7j96dw0vn9950qa";
   };
 
-  nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ cmake pkg-config makeWrapper ];
   propagatedBuildInputs = with qt5; [
      qt5.qtbase
      qtdeclarative
@@ -23,6 +22,8 @@ rustPlatform.buildRustPackage rec {
      git
   ];
 
+  dontWrapQtApps = true;
+
   cargoSha256 = "1hdsn011y9invfy7can8c02zwa7birj9y1rxhrj7wyv4gh3659i0";
   doCheck = false;
 
diff --git a/pkgs/development/tools/analysis/pmd/default.nix b/pkgs/development/tools/analysis/pmd/default.nix
index a75445c363b0a..3aa37d650cb20 100644
--- a/pkgs/development/tools/analysis/pmd/default.nix
+++ b/pkgs/development/tools/analysis/pmd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pmd";
-  version = "6.29.0";
+  version = "6.30.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/pmd/pmd-bin-${version}.zip";
-    sha256 = "08iibpf9jhkk7ihsmlm85wpjwy1bvznbvggvqyw6109f9gzlrvvq";
+    sha256 = "sha256-LgQmoUdsG5sAyHs9YyiaOFonMFaVtHKdp/KvSAWSy8w=";
   };
 
   nativeBuildInputs = [ unzip makeWrapper ];
diff --git a/pkgs/development/tools/analysis/qcachegrind/default.nix b/pkgs/development/tools/analysis/qcachegrind/default.nix
index 0145e51ee2628..5e321db01aa4b 100644
--- a/pkgs/development/tools/analysis/qcachegrind/default.nix
+++ b/pkgs/development/tools/analysis/qcachegrind/default.nix
@@ -12,6 +12,8 @@ in stdenv.mkDerivation {
 
   nativeBuildInputs = [ qmake ];
 
+  dontWrapQtApps = true;
+
   postInstall = ''
      mkdir -p $out/bin
      cp -p converters/dprof2calltree $out/bin/dprof2calltree
diff --git a/pkgs/development/tools/analysis/svlint/default.nix b/pkgs/development/tools/analysis/svlint/default.nix
index 51b363c6be332..3455d78b23f49 100644
--- a/pkgs/development/tools/analysis/svlint/default.nix
+++ b/pkgs/development/tools/analysis/svlint/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "svlint";
-  version = "0.4.8";
+  version = "0.4.16";
 
   src = fetchFromGitHub {
     owner = "dalance";
     repo = "svlint";
     rev = "v${version}";
-    sha256 = "1anbanvaikj8g5jcmjd165krzvjdwj1cl8f3vm1nmy997x8vxihf";
+    sha256 = "sha256-2PYHKJ141RWdUIDAKAFK6IzR4C41bHi/A8lDErSRLnU=";
   };
 
-  cargoSha256 = "18xnqsrnf2gc9zny8ayzf1bah8mq1fy5k807cz039gqz36cvnma0";
+  cargoSha256 = "sha256-x5wU0Ld4ssRoNqo9graJhjlpel+VdVdkKZMjHFqZsrE=";
 
   meta = with lib; {
     description = "SystemVerilog linter";
diff --git a/pkgs/development/tools/analysis/tflint/default.nix b/pkgs/development/tools/analysis/tflint/default.nix
index 617d255d7e511..aa5223ce3f8d6 100644
--- a/pkgs/development/tools/analysis/tflint/default.nix
+++ b/pkgs/development/tools/analysis/tflint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tflint";
-  version = "0.23.1";
+  version = "0.24.1";
 
   src = fetchFromGitHub {
     owner = "terraform-linters";
     repo = pname;
     rev = "v${version}";
-    sha256 = "19vgan743xsnglwva93fs4sqcbpqbyrxbgn5qff809ns8hj8ir94";
+    sha256 = "00v6d1ffj1f4djbdf41bw4ymy2fhph1b5kfi50fp9c3c7319sqwr";
   };
 
-  vendorSha256 = "1y6ra9bkp6wl0pikvyqywhg5w18v3glnyvwqrddkkkabspl05nqx";
+  vendorSha256 = "1xy1vg34nv6v77sx13d3663v7xfm0f2kimdsjqzwpkzz8a6q6g2m";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/analysis/tfsec/default.nix b/pkgs/development/tools/analysis/tfsec/default.nix
index c4d22ecd89b0a..1c26f64b21a16 100644
--- a/pkgs/development/tools/analysis/tfsec/default.nix
+++ b/pkgs/development/tools/analysis/tfsec/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "tfsec";
-  version = "0.37.1";
+  version = "0.38.4";
 
   src = fetchFromGitHub {
     owner = "tfsec";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ZYJqnyIFwyPODFqXAZp1ep0Ofl/JH2F07gqPx4WZ7mo=";
+    sha256 = "sha256-BWWW54AXj/aV+Yar0EVZPl9fN2l29SgzpRDin1Y76BA=";
   };
 
   goPackagePath = "github.com/tfsec/tfsec";
diff --git a/pkgs/development/tools/aws-sam-cli/default.nix b/pkgs/development/tools/aws-sam-cli/default.nix
index 8a48b43312ebf..1429fcab4c68d 100644
--- a/pkgs/development/tools/aws-sam-cli/default.nix
+++ b/pkgs/development/tools/aws-sam-cli/default.nix
@@ -1,78 +1,35 @@
-{ fetchFromGitHub
-, lib
+{ lib
 , python3
 , enableTelemetry ? false
 }:
 
-let
-  py = python3.override {
-    packageOverrides = self: super: {
-      flask = super.flask.overridePythonAttrs (oldAttrs: rec {
-        version = "1.0.2";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "0j6f4a9rpfh25k1gp7azqhnni4mb4fgy50jammgjgddw1l3w0w92";
-        };
-      });
-
-      aws-sam-translator = super.aws-sam-translator.overridePythonAttrs (oldAttrs: rec {
-        version = "1.27.0";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "sha256-MlgSL0zWcbo9wUE4LdBBLBI9ufExe+2LJucin2NjRFQ=";
-        };
-      });
-
-      dateparser = super.dateparser.overridePythonAttrs (oldAttrs: rec {
-        version = "0.7.0";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "sha256-lAgoGDyTe87FMHUyEbcPZzwKmquDHkMnNImzEFON/4Y=";
-        };
-      });
-
-      cookiecutter = super.cookiecutter.overridePythonAttrs (oldAttrs: rec {
-        version = "1.6.0";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "0glsvaz8igi2wy1hsnhm9fkn6560vdvdixzvkq6dn20z3hpaa5hk";
-        };
-      });
-    };
-  };
-
-in
-
-with py.pkgs;
-
-buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "aws-sam-cli";
-  version = "1.6.2";
+  version = "1.14.0";
 
-  src = fetchPypi {
+  src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "0scnymhhiiqrs2j0jaypxgq2wg1qf1w8f55qfay0b3nf51y6mh8y";
+    sha256 = "E+xIS0Z3M/ilBswH8XwXWnGb9gbDRuuKKE39qau9fFc=";
   };
 
   # Tests are not included in the PyPI package
   doCheck = false;
 
-  propagatedBuildInputs = [
+  propagatedBuildInputs = with python3.pkgs; [
     aws-lambda-builders
     aws-sam-translator
     chevron
     click
     cookiecutter
     dateparser
+    python-dateutil
     docker
     flask
-    idna
     jmespath
-    pathlib2
     requests
     serverlessrepo
-    six
     tomlkit
+    watchdog
   ];
 
   postFixup = if enableTelemetry then "echo aws-sam-cli TELEMETRY IS ENABLED" else ''
@@ -83,19 +40,18 @@ buildPythonApplication rec {
   # fix over-restrictive version bounds
   postPatch = ''
     substituteInPlace requirements/base.txt \
-      --replace "boto3~=1.14.0, >=1.14.23" "boto3~=1.14" \
-      --replace "docker~=4.2.0" "docker~=4.3" \
-      --replace "jmespath~=0.9.5" "jmespath~=0.10.0" \
+      --replace "boto3~=1.14.23" "boto3~=1.14" \
+      --replace "dateparser~=0.7" "dateparser>=0.7" \
+      --replace "docker~=4.2.0" "docker>=4.2.0" \
       --replace "python-dateutil~=2.6, <2.8.1" "python-dateutil~=2.6" \
       --replace "requests==2.23.0" "requests~=2.24" \
-      --replace "serverlessrepo==0.1.9" "serverlessrepo~=0.1.9" \
-      --replace "tomlkit==0.5.8" "tomlkit~=0.7.0"
+      --replace "watchdog==0.10.3" "watchdog"
   '';
 
   meta = with lib; {
     homepage = "https://github.com/awslabs/aws-sam-cli";
     description = "CLI tool for local development and testing of Serverless applications";
     license = licenses.asl20;
-    maintainers = with maintainers; [ andreabedini lo1tuma ];
+    maintainers = with maintainers; [ lo1tuma ];
   };
 }
diff --git a/pkgs/development/tools/azcopy/default.nix b/pkgs/development/tools/azcopy/default.nix
index 98a6bcd5bbccc..6b94ed0a93f4b 100644
--- a/pkgs/development/tools/azcopy/default.nix
+++ b/pkgs/development/tools/azcopy/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "azure-storage-azcopy";
-  version = "10.8.0";
+  version = "10.9.0";
 
   src = fetchFromGitHub {
     owner = "Azure";
     repo = "azure-storage-azcopy";
     rev = "v${version}";
-    sha256 = "sha256-zA0/5lpVefZD0m7g7SfqSRAFkQm2b+g/F3doCl9oAn8=";
+    sha256 = "sha256-IVbvBqp/7Y3La0pP6gbWl0ATfEvkCuR4J9ChTDPNhB0=";
   };
 
   subPackages = [ "." ];
 
-  vendorSha256 = "sha256-t7PluxN6naDB35eC59Xus1hgZflgViWF2yFog9mkaOA=";
+  vendorSha256 = "sha256-mj1TvNuFFPJGAJCBTQtU5WWPhHbiXUxRiMZQ/XvEy0U=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/b4/default.nix b/pkgs/development/tools/b4/default.nix
new file mode 100644
index 0000000000000..8210f7c409a52
--- /dev/null
+++ b/pkgs/development/tools/b4/default.nix
@@ -0,0 +1,36 @@
+{ lib, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "b4";
+  version = "0.6.2";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "1j904dy9cwxl85k2ngc498q5cdnqwsmw3jibjr1m55w8aqdck68z";
+  };
+
+  preConfigure = ''
+    substituteInPlace setup.py \
+      --replace 'requests~=2.24' 'requests~=2.25'
+  '';
+
+  # tests make dns requests and fails
+  doCheck = false;
+
+  propagatedBuildInputs = with python3Packages; [
+    requests
+    dnspython
+    dkimpy
+
+    # These may be required in the future for other patch attestation features
+    #pycryptodomex~=3.9.9
+    #PyNaCl
+  ];
+
+  meta = with lib; {
+    homepage = "https://git.kernel.org/pub/scm/utils/b4/b4.git/about";
+    license = licenses.gpl2Only;
+    description = "A helper utility to work with patches made available via a public-inbox archive";
+    maintainers = with maintainers; [ jb55 ];
+  };
+}
diff --git a/pkgs/development/tools/bazel-kazel/default.nix b/pkgs/development/tools/bazel-kazel/default.nix
index ba9412c286c49..3937992417807 100644
--- a/pkgs/development/tools/bazel-kazel/default.nix
+++ b/pkgs/development/tools/bazel-kazel/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "bazel-kazel";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "repo-infra";
     rev = "v${version}";
-    sha256 = "sha256-YWTWw5vDkDvIHOTqZM2xH8VPaVRuB2oyynvwWNmvPXs=";
+    sha256 = "sha256-g7jfuWe4UeAbNf+kOa0Y9BamUnGEbOGxZ+KdQWdWl48=";
   };
 
   vendorSha256 = "sha256-1+7Mx1Zh1WolqTpWNe560PRzRYaWVUVLvNvUOysaW5I=";
diff --git a/pkgs/development/tools/bazel-watcher/default.nix b/pkgs/development/tools/bazel-watcher/default.nix
index 94efcc9be0630..bc3a2828f6cd4 100644
--- a/pkgs/development/tools/bazel-watcher/default.nix
+++ b/pkgs/development/tools/bazel-watcher/default.nix
@@ -56,7 +56,7 @@ buildBazelPackage rec {
       sed -e '/^FILE:@bazel_gazelle_go_repository_tools.*/d' -i $bazelOut/external/\@*.marker
     '';
 
-    sha256 = "0yl5rs6y1xifxjfsa9zv8bjcwiky7rxk9y3rmi01pqpsm7ik12a9";
+    sha256 = "0rwwjjj6zaj4hdcbsbp0di53xn6203r2vgpddhdrp8iph9ab60cg";
   };
 
   buildAttrs = {
diff --git a/pkgs/development/tools/bazelisk/default.nix b/pkgs/development/tools/bazelisk/default.nix
index 2cfde85f2248c..f9b4c3ea724fc 100644
--- a/pkgs/development/tools/bazelisk/default.nix
+++ b/pkgs/development/tools/bazelisk/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "bazelisk";
-  version = "1.7.4";
+  version = "1.7.5";
 
   src = fetchFromGitHub {
     owner = "bazelbuild";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1mc1l2g2qrg9djpyyz203a6dpx5fxllisybmhrpmikyza15w935q";
+    sha256 = "sha256-jXRTj/7GJO6rSueOmw8aNg69w43lxiDbSeZR802+kws=";
   };
 
-  vendorSha256 = "116wy1a7gmi2w8why9hszhcybfvpwp4iq62vshb25cdcma6q4mjh";
+  vendorSha256 = "sha256-fW7KHsxhBfz947Tg+O5bdtiH6xMeKmLRHX9FWQSyxVQ=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/build-managers/apache-ant/1.9.nix b/pkgs/development/tools/build-managers/apache-ant/1.9.nix
index 182b8633aa015..93644caa5a4ec 100644
--- a/pkgs/development/tools/build-managers/apache-ant/1.9.nix
+++ b/pkgs/development/tools/build-managers/apache-ant/1.9.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
   pname = "ant";
   inherit version;
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   src = fetchurl {
     url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2";
diff --git a/pkgs/development/tools/build-managers/apache-ant/default.nix b/pkgs/development/tools/build-managers/apache-ant/default.nix
index d88068c1c3ee3..d2ef8361ec0e3 100644
--- a/pkgs/development/tools/build-managers/apache-ant/default.nix
+++ b/pkgs/development/tools/build-managers/apache-ant/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
   pname = "ant";
   inherit version;
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   src = fetchurl {
     url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2";
diff --git a/pkgs/development/tools/build-managers/apache-maven/default.nix b/pkgs/development/tools/build-managers/apache-maven/default.nix
index 4658703f8b103..3a1866e0b3990 100644
--- a/pkgs/development/tools/build-managers/apache-maven/default.nix
+++ b/pkgs/development/tools/build-managers/apache-maven/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     sha256 = "1i9qlj3vy4j1yyf22nwisd0pg88n9qzp9ymfhwqabadka7br3b96";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   inherit jdk;
 
diff --git a/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix b/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
index 80c949c1efbcf..1dfe784ec254c 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
@@ -4,6 +4,7 @@
 , git
 , go
 , lib
+, stdenv
 }:
 
 buildBazelPackage rec {
@@ -64,7 +65,7 @@ buildBazelPackage rec {
       sed -e '/^FILE:@bazel_gazelle_go_repository_tools.*/d' -i $bazelOut/external/\@*.marker
     '';
 
-    sha256 = "1m7fmb03lirffxx04ck73bn5zwaji7zdwhlqq8s1c6pgp755d3vi";
+    sha256 = "1vijh3nl30n8k6xlx6in92pzs70x15akbqiqalk8apgvphvdz8vy";
   };
 
   buildAttrs = {
@@ -86,5 +87,6 @@ buildBazelPackage rec {
     license = licenses.asl20;
     maintainers = [ maintainers.uri-canva ];
     platforms = platforms.darwin ++ platforms.linux;
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix
index 0b5a7362ded16..41ae9ce211258 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix
@@ -25,11 +25,11 @@
 }:
 
 let
-  version = "3.3.1";
+  version = "3.7.2";
 
   src = fetchurl {
     url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    sha256 = "0ir796kl8r9hpr3li26qsdy1z2lx2bv82zmk4a2s7q64clyg9wg0";
+    sha256 = "1cfrbs23lg0jnl22ddylx3clcjw7bdpbix7r5lqibab346s5n9fy";
   };
 
   # Update with `eval $(nix-build -A bazel.updater)`,
@@ -49,13 +49,15 @@ let
       srcs.io_bazel_rules_sass
       srcs.platforms
       # `bazel query` wants all of these to be available regardless of platform.
-      srcs."java_tools_javac11_darwin-v8.0.zip"
-      srcs."java_tools_javac11_linux-v8.0.zip"
-      srcs."java_tools_javac11_windows-v8.0.zip"
-      srcs."coverage_output_generator-v2.1.zip"
+      srcs."java_tools_javac11_darwin-v10.0.zip"
+      srcs."java_tools_javac11_linux-v10.0.zip"
+      srcs."java_tools_javac11_windows-v10.0.zip"
+      srcs."coverage_output_generator-v2.5.zip"
       srcs.build_bazel_rules_nodejs
-      srcs."android_tools_pkg-0.19.0rc1.tar.gz"
+      srcs."android_tools_pkg-0.19.0rc3.tar.gz"
       srcs."bazel-toolchains-3.1.0.tar.gz"
+      srcs."com_github_grpc_grpc"
+      srcs.upb
       srcs.rules_pkg
       srcs.rules_cc
       srcs.rules_java
@@ -98,7 +100,7 @@ let
     [ bash coreutils findutils gawk gnugrep gnutar gnused gzip which unzip file zip ];
 
   # Java toolchain used for the build and tests
-  javaToolchain = "@bazel_tools//tools/jdk:toolchain_host${buildJdkName}";
+  javaToolchain = "@bazel_tools//tools/jdk:toolchain_${buildJdkName}";
 
   platforms = lib.platforms.linux ++ lib.platforms.darwin;
 
@@ -112,7 +114,7 @@ let
   remote_java_tools = stdenv.mkDerivation {
     name = "remote_java_tools_${system}";
 
-    src = srcDepsSet."java_tools_javac11_${system}-v8.0.zip";
+    src = srcDepsSet."java_tools_javac11_${system}-v10.0.zip";
 
     nativeBuildInputs = [ autoPatchelfHook unzip ];
     buildInputs = [ gcc-unwrapped ];
@@ -169,13 +171,19 @@ stdenv.mkDerivation rec {
   sourceRoot = ".";
 
   patches = [
-    ./python-shebang.patch
-
     # On Darwin, the last argument to gcc is coming up as an empty string. i.e: ''
     # This is breaking the build of any C target. This patch removes the last
     # argument if it's found to be an empty string.
     ../trim-last-argument-to-gcc-if-empty.patch
 
+    # On Darwin, using clang 6 to build fails because of a linker error (see #105573),
+    # but using clang 7 fails because libarclite_macosx.a cannot be found when linking
+    # the xcode_locator tool.
+    # This patch removes using the -fobjc-arc compiler option and makes the code
+    # compile without automatic reference counting. Caveat: this leaks memory, but
+    # we accept this fact because xcode_locator is only a short-lived process used during the build.
+    ./no-arc.patch
+
     # --experimental_strict_action_env (which may one day become the default
     # see bazelbuild/bazel#2574) hardcodes the default
     # action environment to a non hermetic value (e.g. "/usr/local/bin").
@@ -371,6 +379,8 @@ stdenv.mkDerivation rec {
         src/tools/xcode/stdredirect/BUILD \
         tools/osx/BUILD
 
+      substituteInPlace scripts/bootstrap/compile.sh --replace ' -mmacosx-version-min=10.9' ""
+
       # nixpkgs's libSystem cannot use pthread headers directly, must import GCD headers instead
       sed -i -e "/#include <pthread\/spawn.h>/i #include <dispatch/dispatch.h>" src/main/cpp/blaze_util_darwin.cc
 
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_3/no-arc.patch b/pkgs/development/tools/build-managers/bazel/bazel_3/no-arc.patch
new file mode 100644
index 0000000000000..012e613c2f19e
--- /dev/null
+++ b/pkgs/development/tools/build-managers/bazel/bazel_3/no-arc.patch
@@ -0,0 +1,34 @@
+--- a/tools/osx/xcode_locator.m	2020-12-10 13:27:29.000000000 +0100
++++ b/tools/osx/xcode_locator.m	2021-02-01 09:09:32.159557051 +0100
+@@ -21,10 +21,6 @@
+ // 6,6.4,6.4.1 = 6.4.1
+ // 6.3,6.3.0 = 6.3
+ 
+-#if !defined(__has_feature) || !__has_feature(objc_arc)
+-#error "This file requires ARC support."
+-#endif
+-
+ #import <CoreServices/CoreServices.h>
+ #import <Foundation/Foundation.h>
+ 
+--- a/tools/osx/xcode_configure.bzl	1980-01-01 01:00:00.000000000 +0100
++++ b/tools/osx/xcode_configure.bzl	2021-02-01 09:36:57.773418444 +0100
+@@ -123,7 +123,6 @@
+         "macosx",
+         "clang",
+         "-mmacosx-version-min=10.9",
+-        "-fobjc-arc",
+         "-framework",
+         "CoreServices",
+         "-framework",
+--- a/tools/osx/BUILD	2021-02-01 11:01:02.191659553 +0100
++++ b/tools/osx/BUILD	2021-02-01 11:04:29.735071019 +0100
+@@ -27,7 +27,7 @@
+ ])
+ 
+ DARWIN_XCODE_LOCATOR_COMPILE_COMMAND = """
+-  /usr/bin/xcrun --sdk macosx clang -mmacosx-version-min=10.9 -fobjc-arc -framework CoreServices \
++  /usr/bin/xcrun --sdk macosx clang -mmacosx-version-min=10.9 -framework CoreServices \
+       -framework Foundation -o $@ $<
+ """
+ 
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_3/python-shebang.patch b/pkgs/development/tools/build-managers/bazel/bazel_3/python-shebang.patch
deleted file mode 100644
index 75547264fcc8f..0000000000000
--- a/pkgs/development/tools/build-managers/bazel/bazel_3/python-shebang.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java	2020-05-25 14:46:01.608403087 +0200
-+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java	2020-05-25 14:50:52.881398320 +0200
-@@ -238,14 +238,15 @@
-         // TODO(#8685): Remove this special-case handling as part of making the proper shebang a
-         // property of the Python toolchain configuration.
-         String pythonExecutableName = OS.getCurrent() == OS.OPENBSD ? "python3" : "python";
-+        String pythonShebang = "#!/usr/bin/env " + pythonExecutableName;
-         ruleContext.registerAction(
-             new SpawnAction.Builder()
-                 .addInput(zipFile)
-                 .addOutput(executable)
-                 .setShellCommand(
-                     shExecutable,
--                    "echo '#!/usr/bin/env "
--                        + pythonExecutableName
-+                    "echo '"
-+                        + pythonShebang
-                         + "' | cat - "
-                         + zipFile.getExecPathString()
-                         + " > "
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_3/src-deps.json b/pkgs/development/tools/build-managers/bazel/bazel_3/src-deps.json
index 4007a77b06525..96553d9d8859b 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_3/src-deps.json
+++ b/pkgs/development/tools/build-managers/bazel/bazel_3/src-deps.json
@@ -39,14 +39,6 @@
             "https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip"
         ]
     },
-    "8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip": {
-        "name": "8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip",
-        "sha256": "1d4dbbd1e1e9b57d40bb0ade51c9e882da7658d5bfbf22bbd15b68e7879d761f",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip",
-            "https://github.com/bazelbuild/rules_cc/archive/8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip"
-        ]
-    },
     "97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz": {
         "name": "97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz",
         "sha256": "602e7161d9195e50246177e7c55b2f39950a9cf7366f74ed5f22fd45750cd208",
@@ -55,6 +47,14 @@
             "https://github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz"
         ]
     },
+    "9effcbcb27f0a665f9f345030188c0b291e32482.tar.gz": {
+        "name": "9effcbcb27f0a665f9f345030188c0b291e32482.tar.gz",
+        "sha256": "61d0417abd60e65ed589c9deee7c124fe76a4106831f6ad39464e1525cef1454",
+        "urls": [
+            "https://mirror.bazel.build/github.com/protocolbuffers/upb/archive/9effcbcb27f0a665f9f345030188c0b291e32482.tar.gz",
+            "https://github.com/protocolbuffers/upb/archive/9effcbcb27f0a665f9f345030188c0b291e32482.tar.gz"
+        ]
+    },
     "android_tools_for_testing": {
         "name": "android_tools_for_testing",
         "patch_cmds": [
@@ -65,14 +65,22 @@
         "patch_cmds_win": [
             "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
         ],
-        "sha256": "761e997a9055fe5e2b70aba8d64e78d4c2113feafaa8ac81909cb63e403f3087",
-        "url": "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.19.0rc1.tar.gz"
+        "sha256": "ea5c0589a01e2a9f43c20e5c145d3530e3b3bdbe7322789bc5da38d0ca49b837",
+        "url": "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.19.0rc3.tar.gz"
     },
-    "android_tools_pkg-0.19.0rc1.tar.gz": {
-        "name": "android_tools_pkg-0.19.0rc1.tar.gz",
-        "sha256": "761e997a9055fe5e2b70aba8d64e78d4c2113feafaa8ac81909cb63e403f3087",
+    "android_tools_pkg-0.19.0rc3.tar.gz": {
+        "name": "android_tools_pkg-0.19.0rc3.tar.gz",
+        "sha256": "ea5c0589a01e2a9f43c20e5c145d3530e3b3bdbe7322789bc5da38d0ca49b837",
         "urls": [
-            "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.19.0rc1.tar.gz"
+            "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.19.0rc3.tar.gz"
+        ]
+    },
+    "b1c40e1de81913a3c40e5948f78719c28152486d.zip": {
+        "name": "b1c40e1de81913a3c40e5948f78719c28152486d.zip",
+        "sha256": "d0c573b94a6ef20ef6ff20154a23d0efcb409fb0e1ff0979cec318dfe42f0cdd",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/b1c40e1de81913a3c40e5948f78719c28152486d.zip",
+            "https://github.com/bazelbuild/rules_cc/archive/b1c40e1de81913a3c40e5948f78719c28152486d.zip"
         ]
     },
     "bazel-toolchains-3.1.0.tar.gz": {
@@ -143,6 +151,21 @@
             "https://github.com/bazelbuild/rules_nodejs/releases/download/1.3.0/rules_nodejs-1.3.0.tar.gz"
         ]
     },
+    "com_github_grpc_grpc": {
+        "name": "com_github_grpc_grpc",
+        "patch_args": [
+            "-p1"
+        ],
+        "patches": [
+            "//third_party/grpc:grpc_1.26.0.patch"
+        ],
+        "sha256": "2fcb7f1ab160d6fd3aaade64520be3e5446fc4c6fa7ba6581afdc4e26094bd81",
+        "strip_prefix": "grpc-1.26.0",
+        "urls": [
+            "https://mirror.bazel.build/github.com/grpc/grpc/archive/v1.26.0.tar.gz",
+            "https://github.com/grpc/grpc/archive/v1.26.0.tar.gz"
+        ]
+    },
     "com_google_googletest": {
         "name": "com_google_googletest",
         "sha256": "9dc9157a9a1551ec7a7e43daea9a694a0bb5fb8bec81235d8a1e6ef64c716dcb",
@@ -166,20 +189,20 @@
             "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
         ],
         "patches": [
-            "//third_party/protobuf:3.11.3.patch"
+            "//third_party/protobuf:3.13.0.patch"
         ],
-        "sha256": "cf754718b0aa945b00550ed7962ddc167167bd922b842199eeb6505e6f344852",
-        "strip_prefix": "protobuf-3.11.3",
+        "sha256": "9b4ee22c250fe31b16f1a24d61467e40780a3fbb9b91c3b65be2a376ed913a1a",
+        "strip_prefix": "protobuf-3.13.0",
         "urls": [
-            "https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v3.11.3.tar.gz",
-            "https://github.com/protocolbuffers/protobuf/archive/v3.11.3.tar.gz"
+            "https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v3.13.0.tar.gz",
+            "https://github.com/protocolbuffers/protobuf/archive/v3.13.0.tar.gz"
         ]
     },
-    "coverage_output_generator-v2.1.zip": {
-        "name": "coverage_output_generator-v2.1.zip",
-        "sha256": "96ac6bc9b9fbc67b532bcae562da1642409791e6a4b8e522f04946ee5cc3ff8e",
+    "coverage_output_generator-v2.5.zip": {
+        "name": "coverage_output_generator-v2.5.zip",
+        "sha256": "cd14f1cb4559e4723e63b7e7b06d09fcc3bd7ba58d03f354cdff1439bd936a7d",
         "urls": [
-            "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.1.zip"
+            "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.5.zip"
         ]
     },
     "desugar_jdk_libs": {
@@ -199,6 +222,14 @@
             "https://github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip"
         ]
     },
+    "e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz": {
+        "name": "e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz",
+        "sha256": "e8c2751ddc70fed9dc6f999acd92e232d5846f009ee1674f8aee81f19b2b915a",
+        "urls": [
+            "https://mirror.bazel.build/github.com/c-ares/c-ares/archive/e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz",
+            "https://github.com/c-ares/c-ares/archive/e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz"
+        ]
+    },
     "io_bazel_rules_sass": {
         "name": "io_bazel_rules_sass",
         "sha256": "c78be58f5e0a29a04686b628cf54faaee0094322ae0ac99da5a8a8afca59a647",
@@ -217,25 +248,25 @@
             "https://github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz"
         ]
     },
-    "java_tools_javac11_darwin-v8.0.zip": {
-        "name": "java_tools_javac11_darwin-v8.0.zip",
-        "sha256": "e0291e8956ac295143da4a673ca50727f7376665ee82b649a4ee810b64ff76c1",
+    "java_tools_javac11_darwin-v10.0.zip": {
+        "name": "java_tools_javac11_darwin-v10.0.zip",
+        "sha256": "64e5de2175dfccb96831573946b80d106edf3801d9db38b564514bf3581d466b",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v8.0/java_tools_javac11_darwin-v8.0.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.0/java_tools_javac11_darwin-v10.0.zip"
         ]
     },
-    "java_tools_javac11_linux-v8.0.zip": {
-        "name": "java_tools_javac11_linux-v8.0.zip",
-        "sha256": "c24aef916cc5a8e9f6d53db1f93c54fe5790a58996a1099592e1dfe992acc81e",
+    "java_tools_javac11_linux-v10.0.zip": {
+        "name": "java_tools_javac11_linux-v10.0.zip",
+        "sha256": "69e65353c2cd65780abcbcce4daae973599298273b0f8b4d469eed822cb220d1",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v8.0/java_tools_javac11_linux-v8.0.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.0/java_tools_javac11_linux-v10.0.zip"
         ]
     },
-    "java_tools_javac11_windows-v8.0.zip": {
-        "name": "java_tools_javac11_windows-v8.0.zip",
-        "sha256": "444c391977e50af4e10549a28d021069d2ca7745a0e7b9b968a7b153fe3ea430",
+    "java_tools_javac11_windows-v10.0.zip": {
+        "name": "java_tools_javac11_windows-v10.0.zip",
+        "sha256": "d2f62af8daa0a3d55789b605f6582e37038329c64843337c71e64515468e55c4",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v8.0/java_tools_javac11_windows-v8.0.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.0/java_tools_javac11_windows-v10.0.zip"
         ]
     },
     "java_tools_langtools_javac11": {
@@ -245,13 +276,6 @@
             "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk11_v2.zip"
         ]
     },
-    "java_tools_langtools_javac12": {
-        "name": "java_tools_langtools_javac12",
-        "sha256": "99b107105165a91df82cd7cf82a8efb930d803fb7de1663cf7f780142104cd14",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk12.zip"
-        ]
-    },
     "openjdk11_darwin_archive": {
         "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
         "name": "openjdk11_darwin_archive",
@@ -279,31 +303,31 @@
             "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64.zip"
         ]
     },
-    "openjdk12_darwin_archive": {
+    "openjdk14_darwin_archive": {
         "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
-        "name": "openjdk12_darwin_archive",
-        "sha256": "67ca9d285056132ebb19fa237a14affda52132142e1171fe1c20e18974b3b8a5",
-        "strip_prefix": "zulu12.2.3-ca-jdk12.0.1-macosx_x64",
+        "name": "openjdk14_darwin_archive",
+        "sha256": "088bd4d0890acc9f032b738283bf0f26b2a55c50b02d1c8a12c451d8ddf080dd",
+        "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-macosx_x64",
         "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu12.2.3-ca-jdk12.0.1/zulu12.2.3-ca-jdk12.0.1-macosx_x64.tar.gz"
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-macosx_x64.tar.gz"
         ]
     },
-    "openjdk12_linux_archive": {
+    "openjdk14_linux_archive": {
         "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
-        "name": "openjdk12_linux_archive",
-        "sha256": "529c99841d69e11a85aea967ccfb9d0fd40b98c5b68dbe1d059002655e0a9c13",
-        "strip_prefix": "zulu12.2.3-ca-jdk12.0.1-linux_x64",
+        "name": "openjdk14_linux_archive",
+        "sha256": "48bb8947034cd079ad1ef83335e7634db4b12a26743a0dc314b6b861480777aa",
+        "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-linux_x64",
         "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu12.2.3-ca-jdk12.0.1/zulu12.2.3-ca-jdk12.0.1-linux_x64.tar.gz"
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-linux_x64.tar.gz"
         ]
     },
-    "openjdk12_windows_archive": {
+    "openjdk14_windows_archive": {
         "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
-        "name": "openjdk12_windows_archive",
-        "sha256": "cf28404c23c3aa1115363ba6e796c30580a768e1d7d6681a7d053e516008e00d",
-        "strip_prefix": "zulu12.2.3-ca-jdk12.0.1-win_x64",
+        "name": "openjdk14_windows_archive",
+        "sha256": "9cb078b5026a900d61239c866161f0d9558ec759aa15c5b4c7e905370e868284",
+        "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-win_x64",
         "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu12.2.3-ca-jdk12.0.1/zulu12.2.3-ca-jdk12.0.1-win_x64.zip"
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-win_x64.zip"
         ]
     },
     "openjdk_linux": {
@@ -351,8 +375,17 @@
         "name": "openjdk_linux_ppc64le_vanilla",
         "sha256": "a417db0295b1f4b538ecbaf7c774f3a177fab9657a665940170936c0eca4e71a",
         "urls": [
-            "https://mirror.bazel.build/openjdk/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz",
-            "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz"
+            "https://mirror.bazel.build/openjdk/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz",
+            "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz"
+        ]
+    },
+    "openjdk_linux_s390x_vanilla": {
+        "downloaded_file_path": "adoptopenjdk-s390x-vanilla.tar.gz",
+        "name": "openjdk_linux_s390x_vanilla",
+        "sha256": "d9b72e87a1d3ebc0c9552f72ae5eb150fffc0298a7cb841f1ce7bfc70dcd1059",
+        "urls": [
+            "https://mirror.bazel.build/github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz",
+            "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz"
         ]
     },
     "openjdk_linux_vanilla": {
@@ -430,9 +463,9 @@
         "patch_cmds_win": [
             "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
         ],
-        "sha256": "96ac6bc9b9fbc67b532bcae562da1642409791e6a4b8e522f04946ee5cc3ff8e",
+        "sha256": "cd14f1cb4559e4723e63b7e7b06d09fcc3bd7ba58d03f354cdff1439bd936a7d",
         "urls": [
-            "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.1.zip"
+            "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.5.zip"
         ]
     },
     "remote_java_tools_darwin_for_testing": {
@@ -445,10 +478,10 @@
         "patch_cmds_win": [
             "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
         ],
-        "sha256": "e0291e8956ac295143da4a673ca50727f7376665ee82b649a4ee810b64ff76c1",
+        "sha256": "64e5de2175dfccb96831573946b80d106edf3801d9db38b564514bf3581d466b",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v8.0/java_tools_javac11_darwin-v8.0.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/javac11_v8.0/java_tools_javac11_darwin-v8.0.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.0/java_tools_javac11_darwin-v10.0.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.0/java_tools_javac11_darwin-v10.0.zip"
         ]
     },
     "remote_java_tools_javac11_test_darwin": {
@@ -461,9 +494,9 @@
         "patch_cmds_win": [
             "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
         ],
-        "sha256": "e0291e8956ac295143da4a673ca50727f7376665ee82b649a4ee810b64ff76c1",
+        "sha256": "64e5de2175dfccb96831573946b80d106edf3801d9db38b564514bf3581d466b",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v8.0/java_tools_javac11_darwin-v8.0.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.0/java_tools_javac11_darwin-v10.0.zip"
         ]
     },
     "remote_java_tools_javac11_test_linux": {
@@ -476,9 +509,9 @@
         "patch_cmds_win": [
             "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
         ],
-        "sha256": "c24aef916cc5a8e9f6d53db1f93c54fe5790a58996a1099592e1dfe992acc81e",
+        "sha256": "69e65353c2cd65780abcbcce4daae973599298273b0f8b4d469eed822cb220d1",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v8.0/java_tools_javac11_linux-v8.0.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.0/java_tools_javac11_linux-v10.0.zip"
         ]
     },
     "remote_java_tools_javac11_test_windows": {
@@ -491,54 +524,9 @@
         "patch_cmds_win": [
             "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
         ],
-        "sha256": "444c391977e50af4e10549a28d021069d2ca7745a0e7b9b968a7b153fe3ea430",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v8.0/java_tools_javac11_windows-v8.0.zip"
-        ]
-    },
-    "remote_java_tools_javac12_test_darwin": {
-        "name": "remote_java_tools_javac12_test_darwin",
-        "patch_cmds": [
-            "test -f BUILD && chmod u+w BUILD || true",
-            "echo >> BUILD",
-            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
-        ],
-        "patch_cmds_win": [
-            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
-        ],
-        "sha256": "54df966e7583bafe659e39b4103a4ce934201d969de638d071ada07d8e0c1a3a",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac12/v3.0/java_tools_javac12_darwin-v3.0.zip"
-        ]
-    },
-    "remote_java_tools_javac12_test_linux": {
-        "name": "remote_java_tools_javac12_test_linux",
-        "patch_cmds": [
-            "test -f BUILD && chmod u+w BUILD || true",
-            "echo >> BUILD",
-            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
-        ],
-        "patch_cmds_win": [
-            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
-        ],
-        "sha256": "3997ee9a57b095748f1c0d084839fab2fbc72504aeb7b37b1f71c31738d330e3",
+        "sha256": "d2f62af8daa0a3d55789b605f6582e37038329c64843337c71e64515468e55c4",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac12/v3.0/java_tools_javac12_linux-v3.0.zip"
-        ]
-    },
-    "remote_java_tools_javac12_test_windows": {
-        "name": "remote_java_tools_javac12_test_windows",
-        "patch_cmds": [
-            "test -f BUILD && chmod u+w BUILD || true",
-            "echo >> BUILD",
-            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
-        ],
-        "patch_cmds_win": [
-            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
-        ],
-        "sha256": "cfad1718dad1fed12816748eed27ab30b9ea1268c8ce9940acf3b5b7d82d483d",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac12/v3.0/java_tools_javac12_windows-v3.0.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.0/java_tools_javac11_windows-v10.0.zip"
         ]
     },
     "remote_java_tools_linux_for_testing": {
@@ -551,10 +539,10 @@
         "patch_cmds_win": [
             "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
         ],
-        "sha256": "c24aef916cc5a8e9f6d53db1f93c54fe5790a58996a1099592e1dfe992acc81e",
+        "sha256": "69e65353c2cd65780abcbcce4daae973599298273b0f8b4d469eed822cb220d1",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v8.0/java_tools_javac11_linux-v8.0.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/javac11_v8.0/java_tools_javac11_linux-v8.0.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.0/java_tools_javac11_linux-v10.0.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.0/java_tools_javac11_linux-v10.0.zip"
         ]
     },
     "remote_java_tools_windows_for_testing": {
@@ -567,10 +555,10 @@
         "patch_cmds_win": [
             "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
         ],
-        "sha256": "444c391977e50af4e10549a28d021069d2ca7745a0e7b9b968a7b153fe3ea430",
+        "sha256": "d2f62af8daa0a3d55789b605f6582e37038329c64843337c71e64515468e55c4",
         "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v8.0/java_tools_javac11_windows-v8.0.zip",
-            "https://github.com/bazelbuild/java_tools/releases/download/javac11_v8.0/java_tools_javac11_windows-v8.0.zip"
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.0/java_tools_javac11_windows-v10.0.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.0/java_tools_javac11_windows-v10.0.zip"
         ]
     },
     "remotejdk11_linux_aarch64_for_testing": {
@@ -621,8 +609,26 @@
         "sha256": "a417db0295b1f4b538ecbaf7c774f3a177fab9657a665940170936c0eca4e71a",
         "strip_prefix": "jdk-11.0.7+10",
         "urls": [
-            "https://mirror.bazel.build/openjdk/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz",
-            "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz"
+            "https://mirror.bazel.build/openjdk/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz",
+            "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz"
+        ]
+    },
+    "remotejdk11_linux_s390x_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk11_linux_s390x_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "d9b72e87a1d3ebc0c9552f72ae5eb150fffc0298a7cb841f1ce7bfc70dcd1059",
+        "strip_prefix": "jdk-11.0.7+10",
+        "urls": [
+            "https://mirror.bazel.build/github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz",
+            "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz"
         ]
     },
     "remotejdk11_macos_for_testing": {
@@ -659,6 +665,57 @@
             "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64.zip"
         ]
     },
+    "remotejdk14_linux_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk14_linux_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "48bb8947034cd079ad1ef83335e7634db4b12a26743a0dc314b6b861480777aa",
+        "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-linux_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-linux_x64.tar.gz"
+        ]
+    },
+    "remotejdk14_macos_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk14_macos_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "088bd4d0890acc9f032b738283bf0f26b2a55c50b02d1c8a12c451d8ddf080dd",
+        "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-macosx_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-macosx_x64.tar.gz"
+        ]
+    },
+    "remotejdk14_win_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk14_win_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "9cb078b5026a900d61239c866161f0d9558ec759aa15c5b4c7e905370e868284",
+        "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-win_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-win_x64.zip"
+        ]
+    },
     "rules_cc": {
         "name": "rules_cc",
         "patch_cmds": [
@@ -669,11 +726,11 @@
         "patch_cmds_win": [
             "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
         ],
-        "sha256": "1d4dbbd1e1e9b57d40bb0ade51c9e882da7658d5bfbf22bbd15b68e7879d761f",
-        "strip_prefix": "rules_cc-8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0",
+        "sha256": "d0c573b94a6ef20ef6ff20154a23d0efcb409fb0e1ff0979cec318dfe42f0cdd",
+        "strip_prefix": "rules_cc-b1c40e1de81913a3c40e5948f78719c28152486d",
         "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip",
-            "https://github.com/bazelbuild/rules_cc/archive/8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip"
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/b1c40e1de81913a3c40e5948f78719c28152486d.zip",
+            "https://github.com/bazelbuild/rules_cc/archive/b1c40e1de81913a3c40e5948f78719c28152486d.zip"
         ]
     },
     "rules_java": {
@@ -742,12 +799,35 @@
             "https://github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz"
         ]
     },
-    "v3.11.3.tar.gz": {
-        "name": "v3.11.3.tar.gz",
-        "sha256": "cf754718b0aa945b00550ed7962ddc167167bd922b842199eeb6505e6f344852",
+    "upb": {
+        "name": "upb",
+        "patch_args": [
+            "-p1"
+        ],
+        "patches": [
+            "//third_party/grpc:upb_gcc10_fix.patch"
+        ],
+        "sha256": "61d0417abd60e65ed589c9deee7c124fe76a4106831f6ad39464e1525cef1454",
+        "strip_prefix": "upb-9effcbcb27f0a665f9f345030188c0b291e32482",
+        "urls": [
+            "https://mirror.bazel.build/github.com/protocolbuffers/upb/archive/9effcbcb27f0a665f9f345030188c0b291e32482.tar.gz",
+            "https://github.com/protocolbuffers/upb/archive/9effcbcb27f0a665f9f345030188c0b291e32482.tar.gz"
+        ]
+    },
+    "v1.26.0.tar.gz": {
+        "name": "v1.26.0.tar.gz",
+        "sha256": "2fcb7f1ab160d6fd3aaade64520be3e5446fc4c6fa7ba6581afdc4e26094bd81",
+        "urls": [
+            "https://mirror.bazel.build/github.com/grpc/grpc/archive/v1.26.0.tar.gz",
+            "https://github.com/grpc/grpc/archive/v1.26.0.tar.gz"
+        ]
+    },
+    "v3.13.0.tar.gz": {
+        "name": "v3.13.0.tar.gz",
+        "sha256": "9b4ee22c250fe31b16f1a24d61467e40780a3fbb9b91c3b65be2a376ed913a1a",
         "urls": [
-            "https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v3.11.3.tar.gz",
-            "https://github.com/protocolbuffers/protobuf/archive/v3.11.3.tar.gz"
+            "https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v3.13.0.tar.gz",
+            "https://github.com/protocolbuffers/protobuf/archive/v3.13.0.tar.gz"
         ]
     },
     "zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz": {
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_4/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_4/default.nix
new file mode 100644
index 0000000000000..5482db67caee8
--- /dev/null
+++ b/pkgs/development/tools/build-managers/bazel/bazel_4/default.nix
@@ -0,0 +1,639 @@
+{ stdenv, callPackage, lib, fetchurl, fetchFromGitHub, installShellFiles
+, runCommand, runCommandCC, makeWrapper, recurseIntoAttrs
+# this package (through the fixpoint glass)
+, bazel_self
+# needed only for the updater
+, bazel_3
+, lr, xe, zip, unzip, bash, writeCBin, coreutils
+, which, gawk, gnused, gnutar, gnugrep, gzip, findutils
+# updater
+, python27, python3, writeScript
+# Apple dependencies
+, cctools, libcxx, CoreFoundation, CoreServices, Foundation
+# Allow to independently override the jdks used to build and run respectively
+, buildJdk, runJdk
+, buildJdkName
+, runtimeShell
+# Downstream packages for tests
+, bazel-watcher
+# Always assume all markers valid (this is needed because we remove markers; they are non-deterministic).
+# Also, don't clean up environment variables (so that NIX_ environment variables are passed to compilers).
+, enableNixHacks ? false
+, gcc-unwrapped
+, autoPatchelfHook
+, file
+, substituteAll
+, writeTextFile
+}:
+
+let
+  version = "4.0.0";
+  sourceRoot = ".";
+
+  src = fetchurl {
+    url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
+    sha256 = "1lfdx54dpzwrqysg5ngqhq7a0i01xk981crd4pdk4jb5f07ghl6k";
+  };
+
+  # Update with `eval $(nix-build -A bazel.updater)`,
+  # then add new dependencies from the dict in ./src-deps.json as required.
+  srcDeps = lib.attrsets.attrValues srcDepsSet;
+  srcDepsSet =
+    let
+      srcs = (builtins.fromJSON (builtins.readFile ./src-deps.json));
+      toFetchurl = d: lib.attrsets.nameValuePair d.name (fetchurl {
+        urls = d.urls;
+        sha256 = d.sha256;
+        });
+        in builtins.listToAttrs (map toFetchurl [
+      srcs.desugar_jdk_libs
+      srcs.io_bazel_skydoc
+      srcs.bazel_skylib
+      srcs.io_bazel_rules_sass
+      srcs.platforms
+      (if stdenv.hostPlatform.isDarwin
+       then srcs."java_tools_javac11_darwin-v10.5.zip"
+       else srcs."java_tools_javac11_linux-v10.5.zip")
+      srcs."coverage_output_generator-v2.5.zip"
+      srcs.build_bazel_rules_nodejs
+      srcs."android_tools_pkg-0.19.0rc3.tar.gz"
+      srcs.bazel_toolchains
+      srcs.com_github_grpc_grpc
+      srcs.upb
+      srcs.com_google_protobuf
+      srcs.rules_pkg
+      srcs.rules_cc
+      srcs.rules_java
+      srcs.rules_proto
+      srcs.com_google_absl
+      srcs.com_github_google_re2
+      srcs.com_github_cares_cares
+      ]);
+
+  distDir = runCommand "bazel-deps" {} ''
+    mkdir -p $out
+    for i in ${builtins.toString srcDeps}; do cp $i $out/$(stripHash $i); done
+  '';
+
+  defaultShellPath = lib.makeBinPath
+    # Keep this list conservative. For more exotic tools, prefer to use
+    # @rules_nixpkgs to pull in tools from the nix repository. Example:
+    #
+    # WORKSPACE:
+    #
+    #     nixpkgs_git_repository(
+    #         name = "nixpkgs",
+    #         revision = "def5124ec8367efdba95a99523dd06d918cb0ae8",
+    #     )
+    #
+    #     # This defines an external Bazel workspace.
+    #     nixpkgs_package(
+    #         name = "bison",
+    #         repositories = { "nixpkgs": "@nixpkgs//:default.nix" },
+    #     )
+    #
+    # some/BUILD.bazel:
+    #
+    #     genrule(
+    #        ...
+    #        cmd = "$(location @bison//:bin/bison) -other -args",
+    #        tools = [
+    #            ...
+    #            "@bison//:bin/bison",
+    #        ],
+    #     )
+    #
+    [ bash coreutils findutils gawk gnugrep gnutar gnused gzip which unzip file zip python27 python3 ];
+
+  # Java toolchain used for the build and tests
+  javaToolchain = "@bazel_tools//tools/jdk:toolchain_${buildJdkName}";
+
+  platforms = lib.platforms.linux ++ lib.platforms.darwin;
+
+  # This repository is fetched by bazel at runtime
+  # however it contains prebuilt java binaries, with wrong interpreter
+  # and libraries path.
+  # We prefetch it, patch it, and override it in a global bazelrc.
+  system = if stdenv.hostPlatform.isDarwin then "darwin" else "linux";
+  arch = stdenv.hostPlatform.parsed.cpu.name;
+
+  remote_java_tools = stdenv.mkDerivation {
+    name = "remote_java_tools_${system}";
+
+    src = srcDepsSet."java_tools_javac11_${system}-v10.5.zip";
+
+    nativeBuildInputs = [ autoPatchelfHook unzip ];
+    buildInputs = [ gcc-unwrapped ];
+
+    sourceRoot = ".";
+
+    buildPhase = ''
+      mkdir $out;
+    '';
+
+    installPhase = ''
+      cp -Ra * $out/
+      touch $out/WORKSPACE
+    '';
+  };
+
+  bazelRC = writeTextFile {
+    name = "bazel-rc";
+    text = ''
+      startup --server_javabase=${runJdk}
+
+      # Can't use 'common'; https://github.com/bazelbuild/bazel/issues/3054
+      # Most commands inherit from 'build' anyway.
+      build --distdir=${distDir}
+      fetch --distdir=${distDir}
+      query --distdir=${distDir}
+
+      build --override_repository=${remote_java_tools.name}=${remote_java_tools}
+      fetch --override_repository=${remote_java_tools.name}=${remote_java_tools}
+      query --override_repository=${remote_java_tools.name}=${remote_java_tools}
+
+      # Provide a default java toolchain, this will be the same as ${runJdk}
+      build --host_javabase='@local_jdk//:jdk'
+
+      # load default location for the system wide configuration
+      try-import /etc/bazel.bazelrc
+    '';
+  };
+
+in
+stdenv.mkDerivation rec {
+  pname = "bazel";
+  inherit version;
+
+  meta = with lib; {
+    homepage = "https://github.com/bazelbuild/bazel/";
+    description = "Build tool that builds code quickly and reliably";
+    license = licenses.asl20;
+    maintainers = [ maintainers.mboes ];
+    inherit platforms;
+  };
+
+  inherit src;
+  inherit sourceRoot;
+  patches = [
+    # On Darwin, the last argument to gcc is coming up as an empty string. i.e: ''
+    # This is breaking the build of any C target. This patch removes the last
+    # argument if it's found to be an empty string.
+    ../trim-last-argument-to-gcc-if-empty.patch
+
+    # On Darwin, using clang 6 to build fails because of a linker error (see #105573),
+    # but using clang 7 fails because libarclite_macosx.a cannot be found when linking
+    # the xcode_locator tool.
+    # This patch removes using the -fobjc-arc compiler option and makes the code
+    # compile without automatic reference counting. Caveat: this leaks memory, but
+    # we accept this fact because xcode_locator is only a short-lived process used during the build.
+    ./no-arc.patch
+
+    # --experimental_strict_action_env (which may one day become the default
+    # see bazelbuild/bazel#2574) hardcodes the default
+    # action environment to a non hermetic value (e.g. "/usr/local/bin").
+    # This is non hermetic on non-nixos systems. On NixOS, bazel cannot find the required binaries.
+    # So we are replacing this bazel paths by defaultShellPath,
+    # improving hermeticity and making it work in nixos.
+    (substituteAll {
+      src = ../strict_action_env.patch;
+      strictActionEnvPatch = defaultShellPath;
+    })
+
+    # bazel reads its system bazelrc in /etc
+    # override this path to a builtin one
+    (substituteAll {
+      src = ../bazel_rc.patch;
+      bazelSystemBazelRCPath = bazelRC;
+    })
+  ] ++ lib.optional enableNixHacks ../nix-hacks.patch;
+
+
+  # Additional tests that check bazel’s functionality. Execute
+  #
+  #     nix-build . -A bazel.tests
+  #
+  # in the nixpkgs checkout root to exercise them locally.
+  passthru.tests =
+    let
+      runLocal = name: attrs: script:
+      let
+        attrs' = removeAttrs attrs [ "buildInputs" ];
+        buildInputs = [ python3 ] ++ (attrs.buildInputs or []);
+      in
+      runCommandCC name ({
+        inherit buildInputs;
+        preferLocalBuild = true;
+        meta.platforms = platforms;
+      } // attrs') script;
+
+      # bazel wants to extract itself into $install_dir/install every time it runs,
+      # so let’s do that only once.
+      extracted = bazelPkg:
+        let install_dir =
+          # `install_base` field printed by `bazel info`, minus the hash.
+          # yes, this path is kinda magic. Sorry.
+          "$HOME/.cache/bazel/_bazel_nixbld";
+        in runLocal "bazel-extracted-homedir" { passthru.install_dir = install_dir; } ''
+            export HOME=$(mktemp -d)
+            touch WORKSPACE # yeah, everything sucks
+            install_base="$(${bazelPkg}/bin/bazel info | grep install_base)"
+            # assert it’s actually below install_dir
+            [[ "$install_base" =~ ${install_dir} ]] \
+              || (echo "oh no! $install_base but we are \
+            trying to copy ${install_dir} to $out instead!"; exit 1)
+            cp -R ${install_dir} $out
+          '';
+
+      bazelTest = { name, bazelScript, workspaceDir, bazelPkg, buildInputs ? [] }:
+        let
+          be = extracted bazelPkg;
+        in runLocal name { inherit buildInputs; } (
+          # skip extraction caching on Darwin, because nobody knows how Darwin works
+          (lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
+            # set up home with pre-unpacked bazel
+            export HOME=$(mktemp -d)
+            mkdir -p ${be.install_dir}
+            cp -R ${be}/install ${be.install_dir}
+
+            # https://stackoverflow.com/questions/47775668/bazel-how-to-skip-corrupt-installation-on-centos6
+            # Bazel checks whether the mtime of the install dir files
+            # is >9 years in the future, otherwise it extracts itself again.
+            # see PosixFileMTime::IsUntampered in src/main/cpp/util
+            # What the hell bazel.
+            ${lr}/bin/lr -0 -U ${be.install_dir} | ${xe}/bin/xe -N0 -0 touch --date="9 years 6 months" {}
+          '')
+          +
+          ''
+            # Note https://github.com/bazelbuild/bazel/issues/5763#issuecomment-456374609
+            # about why to create a subdir for the workspace.
+            cp -r ${workspaceDir} wd && chmod u+w wd && cd wd
+
+            ${bazelScript}
+
+            touch $out
+          '');
+
+      bazelWithNixHacks = bazel_self.override { enableNixHacks = true; };
+
+      bazel-examples = fetchFromGitHub {
+        owner = "bazelbuild";
+        repo = "examples";
+        rev = "4183fc709c26a00366665e2d60d70521dc0b405d";
+        sha256 = "1mm4awx6sa0myiz9j4hwp71rpr7yh8vihf3zm15n2ii6xb82r31k";
+      };
+
+    in (if !stdenv.hostPlatform.isDarwin then {
+      # `extracted` doesn’t work on darwin
+      shebang = callPackage ../shebang-test.nix { inherit runLocal extracted bazelTest distDir; };
+    } else {}) // {
+      bashTools = callPackage ../bash-tools-test.nix { inherit runLocal bazelTest distDir; };
+      cpp = callPackage ../cpp-test.nix { inherit runLocal bazelTest bazel-examples distDir; };
+      java = callPackage ../java-test.nix { inherit runLocal bazelTest bazel-examples distDir; };
+      protobuf = callPackage ../protobuf-test.nix { inherit runLocal bazelTest distDir; };
+      pythonBinPath = callPackage ../python-bin-path-test.nix { inherit runLocal bazelTest distDir; };
+
+      bashToolsWithNixHacks = callPackage ../bash-tools-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; };
+
+      cppWithNixHacks = callPackage ../cpp-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazelWithNixHacks; };
+      javaWithNixHacks = callPackage ../java-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazelWithNixHacks; };
+      protobufWithNixHacks = callPackage ../protobuf-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; };
+      pythonBinPathWithNixHacks = callPackage ../python-bin-path-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; };
+
+      # downstream packages using buildBazelPackage
+      # fixed-output hashes of the fetch phase need to be spot-checked manually
+      downstream = recurseIntoAttrs ({
+        inherit bazel-watcher;
+      }
+          # dm-sonnet is only packaged for linux
+      // (lib.optionalAttrs stdenv.isLinux {
+          # TODO(timokau) dm-sonnet is broken currently
+          # dm-sonnet-linux = python3.pkgs.dm-sonnet;
+      }));
+    };
+
+  src_for_updater = stdenv.mkDerivation rec {
+    name = "updater-sources";
+    inherit src;
+    buildInputs = [ unzip ];
+    inherit sourceRoot;
+    installPhase = ''
+      cp -r . "$out"
+    '';
+  };
+  # update the list of workspace dependencies
+  passthru.updater = writeScript "update-bazel-deps.sh" ''
+    #!${runtimeShell}
+    (cd "${src_for_updater}" &&
+        BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 \
+        "${bazel_3}"/bin/bazel \
+            query 'kind(http_archive, //external:all) + kind(http_file, //external:all) + kind(distdir_tar, //external:all) + kind(git_repository, //external:all)' \
+            --loading_phase_threads=1 \
+            --output build) \
+    | "${python3}"/bin/python3 "${./update-srcDeps.py}" \
+      "${builtins.toString ./src-deps.json}"
+  '';
+
+  # Necessary for the tests to pass on Darwin with sandbox enabled.
+  # Bazel starts a local server and needs to bind a local address.
+  __darwinAllowLocalNetworking = true;
+
+  # Bazel expects several utils to be available in Bash even without PATH. Hence this hack.
+  customBash = writeCBin "bash" ''
+    #include <stdio.h>
+    #include <stdlib.h>
+    #include <string.h>
+    #include <unistd.h>
+
+    extern char **environ;
+
+    int main(int argc, char *argv[]) {
+      char *path = getenv("PATH");
+      char *pathToAppend = "${defaultShellPath}";
+      char *newPath;
+      if (path != NULL) {
+        int length = strlen(path) + 1 + strlen(pathToAppend) + 1;
+        newPath = malloc(length * sizeof(char));
+        snprintf(newPath, length, "%s:%s", path, pathToAppend);
+      } else {
+        newPath = pathToAppend;
+      }
+      setenv("PATH", newPath, 1);
+      execve("${bash}/bin/bash", argv, environ);
+      return 0;
+    }
+  '';
+
+  postPatch = let
+
+    darwinPatches = ''
+      bazelLinkFlags () {
+        eval set -- "$NIX_LDFLAGS"
+        local flag
+        for flag in "$@"; do
+          printf ' -Wl,%s' "$flag"
+        done
+      }
+
+      # Disable Bazel's Xcode toolchain detection which would configure compilers
+      # and linkers from Xcode instead of from PATH
+      export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1
+
+      # Explicitly configure gcov since we don't have it on Darwin, so autodetection fails
+      export GCOV=${coreutils}/bin/false
+
+      # Framework search paths aren't added by bintools hook
+      # https://github.com/NixOS/nixpkgs/pull/41914
+      export NIX_LDFLAGS+=" -F${CoreFoundation}/Library/Frameworks -F${CoreServices}/Library/Frameworks -F${Foundation}/Library/Frameworks"
+
+      # libcxx includes aren't added by libcxx hook
+      # https://github.com/NixOS/nixpkgs/pull/41589
+      export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${libcxx}/include/c++/v1"
+
+      # don't use system installed Xcode to run clang, use Nix clang instead
+      sed -i -E "s;/usr/bin/xcrun (--sdk macosx )?clang;${stdenv.cc}/bin/clang $NIX_CFLAGS_COMPILE $(bazelLinkFlags) -framework CoreFoundation;g" \
+        scripts/bootstrap/compile.sh \
+        src/tools/xcode/realpath/BUILD \
+        src/tools/xcode/stdredirect/BUILD \
+        tools/osx/BUILD
+
+      substituteInPlace scripts/bootstrap/compile.sh --replace ' -mmacosx-version-min=10.9' ""
+
+      # nixpkgs's libSystem cannot use pthread headers directly, must import GCD headers instead
+      sed -i -e "/#include <pthread\/spawn.h>/i #include <dispatch/dispatch.h>" src/main/cpp/blaze_util_darwin.cc
+
+      # clang installed from Xcode has a compatibility wrapper that forwards
+      # invocations of gcc to clang, but vanilla clang doesn't
+      sed -i -e 's;_find_generic(repository_ctx, "gcc", "CC", overriden_tools);_find_generic(repository_ctx, "clang", "CC", overriden_tools);g' tools/cpp/unix_cc_configure.bzl
+
+      sed -i -e 's;/usr/bin/libtool;${cctools}/bin/libtool;g' tools/cpp/unix_cc_configure.bzl
+      wrappers=( tools/cpp/osx_cc_wrapper.sh tools/cpp/osx_cc_wrapper.sh.tpl )
+      for wrapper in "''${wrappers[@]}"; do
+        sed -i -e "s,/usr/bin/install_name_tool,${cctools}/bin/install_name_tool,g" $wrapper
+      done
+    '';
+
+    genericPatches = ''
+      # Substitute j2objc and objc wrapper's python shebang to plain python path.
+      # These scripts explicitly depend on Python 2.7, hence we use python27.
+      # See also `postFixup` where python27 is added to $out/nix-support
+      substituteInPlace tools/j2objc/j2objc_header_map.py --replace "$!/usr/bin/python2.7" "#!${python27}/bin/python"
+      substituteInPlace tools/j2objc/j2objc_wrapper.py --replace "$!/usr/bin/python2.7" "#!${python27}/bin/python"
+      substituteInPlace tools/objc/j2objc_dead_code_pruner.py --replace "$!/usr/bin/python2.7" "#!${python27}/bin/python"
+
+      # md5sum is part of coreutils
+      sed -i 's|/sbin/md5|md5sum|' \
+        src/BUILD
+
+      # replace initial value of pythonShebang variable in BazelPythonSemantics.java
+      substituteInPlace src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java \
+        --replace '"#!/usr/bin/env " + pythonExecutableName' "\"#!${python3}/bin/python\""
+
+      # substituteInPlace is rather slow, so prefilter the files with grep
+      grep -rlZ /bin src/main/java/com/google/devtools | while IFS="" read -r -d "" path; do
+        # If you add more replacements here, you must change the grep above!
+        # Only files containing /bin are taken into account.
+        # We default to python3 where possible. See also `postFixup` where
+        # python3 is added to $out/nix-support
+        substituteInPlace "$path" \
+          --replace /bin/bash ${customBash}/bin/bash \
+          --replace "/usr/bin/env bash" ${customBash}/bin/bash \
+          --replace "/usr/bin/env python" ${python3}/bin/python \
+          --replace /usr/bin/env ${coreutils}/bin/env \
+          --replace /bin/true ${coreutils}/bin/true
+      done
+
+      # bazel test runner include references to /bin/bash
+      substituteInPlace tools/build_rules/test_rules.bzl \
+        --replace /bin/bash ${customBash}/bin/bash
+
+      for i in $(find tools/cpp/ -type f)
+      do
+        substituteInPlace $i \
+          --replace /bin/bash ${customBash}/bin/bash
+      done
+
+      # Fixup scripts that generate scripts. Not fixed up by patchShebangs below.
+      substituteInPlace scripts/bootstrap/compile.sh \
+          --replace /bin/bash ${customBash}/bin/bash
+
+      # add nix environment vars to .bazelrc
+      cat >> .bazelrc <<EOF
+      # Limit the resources Bazel is allowed to use during the build to 1/2 the
+      # available RAM and 3/4 the available CPU cores. This should help avoid
+      # overwhelming the build machine.
+      build --local_ram_resources=HOST_RAM*.5
+      build --local_cpu_resources=HOST_CPUS*.75
+
+      build --distdir=${distDir}
+      fetch --distdir=${distDir}
+      build --copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt="/g')"
+      build --host_copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt="/g')"
+      build --linkopt="$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --linkopt="/g')"
+      build --host_linkopt="$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --host_linkopt="/g')"
+      build --linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt="-Wl,/g')"
+      build --host_linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt="-Wl,/g')"
+      build --host_javabase='@local_jdk//:jdk'
+      build --host_java_toolchain='${javaToolchain}'
+      build --verbose_failures
+      EOF
+
+      # add the same environment vars to compile.sh
+      sed -e "/\$command \\\\$/a --copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt=\"/g')\" \\\\" \
+          -e "/\$command \\\\$/a --host_copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt=\"/g')\" \\\\" \
+          -e "/\$command \\\\$/a --linkopt=\"$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --linkopt=\"/g')\" \\\\" \
+          -e "/\$command \\\\$/a --host_linkopt=\"$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --host_linkopt=\"/g')\" \\\\" \
+          -e "/\$command \\\\$/a --linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt=\"-Wl,/g')\" \\\\" \
+          -e "/\$command \\\\$/a --host_linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt=\"-Wl,/g')\" \\\\" \
+          -e "/\$command \\\\$/a --host_javabase='@local_jdk//:jdk' \\\\" \
+          -e "/\$command \\\\$/a --host_java_toolchain='${javaToolchain}' \\\\" \
+          -e "/\$command \\\\$/a --verbose_failures \\\\" \
+          -i scripts/bootstrap/compile.sh
+
+      # This is necessary to avoid:
+      # "error: no visible @interface for 'NSDictionary' declares the selector
+      # 'initWithContentsOfURL:error:'"
+      # This can be removed when the apple_sdk is upgraded beyond 10.13+
+      sed -i '/initWithContentsOfURL:versionPlistUrl/ {
+        N
+        s/error:nil\];/\];/
+      }' tools/osx/xcode_locator.m
+
+      # append the PATH with defaultShellPath in tools/bash/runfiles/runfiles.bash
+      echo "PATH=\$PATH:${defaultShellPath}" >> runfiles.bash.tmp
+      cat tools/bash/runfiles/runfiles.bash >> runfiles.bash.tmp
+      mv runfiles.bash.tmp tools/bash/runfiles/runfiles.bash
+
+      patchShebangs .
+    '';
+    in lib.optionalString stdenv.hostPlatform.isDarwin darwinPatches
+     + genericPatches;
+
+  buildInputs = [
+    buildJdk
+    python3
+  ];
+
+  # when a command can’t be found in a bazel build, you might also
+  # need to add it to `defaultShellPath`.
+  nativeBuildInputs = [
+    installShellFiles
+    zip
+    python3
+    unzip
+    makeWrapper
+    which
+    customBash
+  ] ++ lib.optionals (stdenv.isDarwin) [ cctools libcxx CoreFoundation CoreServices Foundation ];
+
+  # Bazel makes extensive use of symlinks in the WORKSPACE.
+  # This causes problems with infinite symlinks if the build output is in the same location as the
+  # Bazel WORKSPACE. This is why before executing the build, the source code is moved into a
+  # subdirectory.
+  # Failing to do this causes "infinite symlink expansion detected"
+  preBuildPhases = ["preBuildPhase"];
+  preBuildPhase = ''
+    mkdir bazel_src
+    shopt -s dotglob extglob
+    mv !(bazel_src) bazel_src
+  '';
+  # Needed to build fish completion
+  propagatedBuildInputs = [ python3.pkgs.absl-py ];
+  buildPhase = ''
+    # Increasing memory during compilation might be necessary.
+    # export BAZEL_JAVAC_OPTS="-J-Xmx2g -J-Xms200m"
+
+    # If EMBED_LABEL isn't set, it'd be auto-detected from CHANGELOG.md
+    # and `git rev-parse --short HEAD` which would result in
+    # "3.7.0- (@non-git)" due to non-git build and incomplete changelog.
+    # Actual bazel releases use scripts/release/common.sh which is based
+    # on branch/tag information which we don't have with tarball releases.
+    # Note that .bazelversion is always correct and is based on bazel-*
+    # executable name, version checks should work fine
+    export EMBED_LABEL="${version}- (@non-git)"
+    ${customBash}/bin/bash ./bazel_src/compile.sh
+    ./bazel_src/scripts/generate_bash_completion.sh \
+        --bazel=./bazel_src/output/bazel \
+        --output=./bazel_src/output/bazel-complete.bash \
+        --prepend=./bazel_src/scripts/bazel-complete-header.bash \
+        --prepend=./bazel_src/scripts/bazel-complete-template.bash
+    ${python3}/bin/python3 ./bazel_src/scripts/generate_fish_completion.py \
+        --bazel=./bazel_src/output/bazel \
+        --output=./bazel_src/output/bazel-complete.fish
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+
+    # official wrapper scripts that searches for $WORKSPACE_ROOT/tools/bazel
+    # if it can’t find something in tools, it calls $out/bin/bazel-{version}-{os_arch}
+    # The binary _must_ exist with this naming if your project contains a .bazelversion
+    # file.
+    cp ./bazel_src/scripts/packages/bazel.sh $out/bin/bazel
+    mv ./bazel_src/output/bazel $out/bin/bazel-${version}-${system}-${arch}
+
+    # shell completion files
+    installShellCompletion --bash \
+      --name bazel.bash \
+      ./bazel_src/output/bazel-complete.bash
+    installShellCompletion --zsh \
+      --name _bazel \
+      ./bazel_src/scripts/zsh_completion/_bazel
+    installShellCompletion --fish \
+      --name bazel.fish \
+      ./bazel_src/output/bazel-complete.fish
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    export TEST_TMPDIR=$(pwd)
+
+    hello_test () {
+      $out/bin/bazel test \
+        --test_output=errors \
+        --java_toolchain='${javaToolchain}' \
+        examples/cpp:hello-success_test \
+        examples/java-native/src/test/java/com/example/myproject:hello
+    }
+
+    cd ./bazel_src
+
+    # test whether $WORKSPACE_ROOT/tools/bazel works
+
+    mkdir -p tools
+    cat > tools/bazel <<"EOF"
+    #!${runtimeShell} -e
+    exit 1
+    EOF
+    chmod +x tools/bazel
+
+    # first call should fail if tools/bazel is used
+    ! hello_test
+
+    cat > tools/bazel <<"EOF"
+    #!${runtimeShell} -e
+    exec "$BAZEL_REAL" "$@"
+    EOF
+
+    # second call succeeds because it defers to $out/bin/bazel-{version}-{os_arch}
+    hello_test
+  '';
+
+  # Save paths to hardcoded dependencies so Nix can detect them.
+  postFixup = ''
+    mkdir -p $out/nix-support
+    echo "${customBash} ${defaultShellPath}" >> $out/nix-support/depends
+    # The templates get tar’d up into a .jar,
+    # so nix can’t detect python is needed in the runtime closure
+    # Some of the scripts explicitly depend on Python 2.7. Otherwise, we
+    # default to using python3. Therefore, both python27 and python3 are
+    # runtime dependencies.
+    echo "${python27}" >> $out/nix-support/depends
+    echo "${python3}" >> $out/nix-support/depends
+  '' + lib.optionalString stdenv.isDarwin ''
+    echo "${cctools}" >> $out/nix-support/depends
+  '';
+
+  dontStrip = true;
+  dontPatchELF = true;
+}
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_4/no-arc.patch b/pkgs/development/tools/build-managers/bazel/bazel_4/no-arc.patch
new file mode 100644
index 0000000000000..012e613c2f19e
--- /dev/null
+++ b/pkgs/development/tools/build-managers/bazel/bazel_4/no-arc.patch
@@ -0,0 +1,34 @@
+--- a/tools/osx/xcode_locator.m	2020-12-10 13:27:29.000000000 +0100
++++ b/tools/osx/xcode_locator.m	2021-02-01 09:09:32.159557051 +0100
+@@ -21,10 +21,6 @@
+ // 6,6.4,6.4.1 = 6.4.1
+ // 6.3,6.3.0 = 6.3
+ 
+-#if !defined(__has_feature) || !__has_feature(objc_arc)
+-#error "This file requires ARC support."
+-#endif
+-
+ #import <CoreServices/CoreServices.h>
+ #import <Foundation/Foundation.h>
+ 
+--- a/tools/osx/xcode_configure.bzl	1980-01-01 01:00:00.000000000 +0100
++++ b/tools/osx/xcode_configure.bzl	2021-02-01 09:36:57.773418444 +0100
+@@ -123,7 +123,6 @@
+         "macosx",
+         "clang",
+         "-mmacosx-version-min=10.9",
+-        "-fobjc-arc",
+         "-framework",
+         "CoreServices",
+         "-framework",
+--- a/tools/osx/BUILD	2021-02-01 11:01:02.191659553 +0100
++++ b/tools/osx/BUILD	2021-02-01 11:04:29.735071019 +0100
+@@ -27,7 +27,7 @@
+ ])
+ 
+ DARWIN_XCODE_LOCATOR_COMPILE_COMMAND = """
+-  /usr/bin/xcrun --sdk macosx clang -mmacosx-version-min=10.9 -fobjc-arc -framework CoreServices \
++  /usr/bin/xcrun --sdk macosx clang -mmacosx-version-min=10.9 -framework CoreServices \
+       -framework Foundation -o $@ $<
+ """
+ 
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_4/src-deps.json b/pkgs/development/tools/build-managers/bazel/bazel_4/src-deps.json
new file mode 100644
index 0000000000000..43ad41003152c
--- /dev/null
+++ b/pkgs/development/tools/build-managers/bazel/bazel_4/src-deps.json
@@ -0,0 +1,1498 @@
+{
+    "1.25.0.zip": {
+        "name": "1.25.0.zip",
+        "sha256": "c78be58f5e0a29a04686b628cf54faaee0094322ae0ac99da5a8a8afca59a647",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/1.25.0.zip",
+            "https://github.com/bazelbuild/rules_sass/archive/1.25.0.zip"
+        ]
+    },
+    "1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz": {
+        "name": "1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz",
+        "sha256": "5a725b777976b77aa122b707d1b6f0f39b6020f66cd427bb111a585599c857b1",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz",
+            "https://github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz"
+        ]
+    },
+    "382d5afc60e05470c23e8de19b19fc5ad231e732.tar.gz": {
+        "name": "382d5afc60e05470c23e8de19b19fc5ad231e732.tar.gz",
+        "sha256": "7992217989f3156f8109931c1fc6db3434b7414957cb82371552377beaeb9d6c",
+        "urls": [
+            "https://mirror.bazel.build/github.com/protocolbuffers/upb/archive/382d5afc60e05470c23e8de19b19fc5ad231e732.tar.gz",
+            "https://github.com/protocolbuffers/upb/archive/382d5afc60e05470c23e8de19b19fc5ad231e732.tar.gz"
+        ]
+    },
+    "46993efdd33b73649796c5fc5c9efb193ae19d51.zip": {
+        "name": "46993efdd33b73649796c5fc5c9efb193ae19d51.zip",
+        "sha256": "66184688debeeefcc2a16a2f80b03f514deac8346fe888fb7e691a52c023dd88",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/platforms/archive/46993efdd33b73649796c5fc5c9efb193ae19d51.zip",
+            "https://github.com/bazelbuild/platforms/archive/46993efdd33b73649796c5fc5c9efb193ae19d51.zip"
+        ]
+    },
+    "7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip": {
+        "name": "7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip",
+        "sha256": "bc81f1ba47ef5cc68ad32225c3d0e70b8c6f6077663835438da8d5733f917598",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip",
+            "https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip"
+        ]
+    },
+    "7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz": {
+        "name": "7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz",
+        "sha256": "8e7d59a5b12b233be5652e3d29f42fba01c7cbab09f6b3a8d0a57ed6d1e9a0da",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz",
+            "https://github.com/bazelbuild/rules_proto/archive/7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz"
+        ]
+    },
+    "aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz": {
+        "name": "aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz",
+        "sha256": "9f385e146410a8150b6f4cb1a57eab7ec806ced48d427554b1e754877ff26c3e",
+        "urls": [
+            "https://mirror.bazel.build/github.com/google/re2/archive/aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz",
+            "https://github.com/google/re2/archive/aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz"
+        ]
+    },
+    "android_tools": {
+        "name": "android_tools",
+        "sha256": "ea5c0589a01e2a9f43c20e5c145d3530e3b3bdbe7322789bc5da38d0ca49b837",
+        "url": "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.19.0rc3.tar.gz"
+    },
+    "android_tools_for_testing": {
+        "name": "android_tools_for_testing",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "ea5c0589a01e2a9f43c20e5c145d3530e3b3bdbe7322789bc5da38d0ca49b837",
+        "url": "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.19.0rc3.tar.gz"
+    },
+    "android_tools_pkg-0.19.0rc3.tar.gz": {
+        "name": "android_tools_pkg-0.19.0rc3.tar.gz",
+        "sha256": "ea5c0589a01e2a9f43c20e5c145d3530e3b3bdbe7322789bc5da38d0ca49b837",
+        "urls": [
+            "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.19.0rc3.tar.gz"
+        ]
+    },
+    "b1c40e1de81913a3c40e5948f78719c28152486d.zip": {
+        "name": "b1c40e1de81913a3c40e5948f78719c28152486d.zip",
+        "sha256": "d0c573b94a6ef20ef6ff20154a23d0efcb409fb0e1ff0979cec318dfe42f0cdd",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/b1c40e1de81913a3c40e5948f78719c28152486d.zip",
+            "https://github.com/bazelbuild/rules_cc/archive/b1c40e1de81913a3c40e5948f78719c28152486d.zip"
+        ]
+    },
+    "bazel-skylib-1.0.3.tar.gz": {
+        "name": "bazel-skylib-1.0.3.tar.gz",
+        "sha256": "1c531376ac7e5a180e0237938a2536de0c54d93f5c278634818e0efc952dd56c",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz",
+            "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz"
+        ]
+    },
+    "bazel-toolchains-3.1.0.tar.gz": {
+        "name": "bazel-toolchains-3.1.0.tar.gz",
+        "sha256": "726b5423e1c7a3866a3a6d68e7123b4a955e9fcbe912a51e0f737e6dab1d0af2",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/releases/download/3.1.0/bazel-toolchains-3.1.0.tar.gz",
+            "https://github.com/bazelbuild/bazel-toolchains/releases/download/3.1.0/bazel-toolchains-3.1.0.tar.gz"
+        ]
+    },
+    "bazel_j2objc": {
+        "name": "bazel_j2objc",
+        "sha256": "8d3403b5b7db57e347c943d214577f6879e5b175c2b59b7e075c0b6453330e9b",
+        "strip_prefix": "j2objc-2.5",
+        "urls": [
+            "https://mirror.bazel.build/github.com/google/j2objc/releases/download/2.5/j2objc-2.5.zip",
+            "https://github.com/google/j2objc/releases/download/2.5/j2objc-2.5.zip"
+        ]
+    },
+    "bazel_skylib": {
+        "name": "bazel_skylib",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "1c531376ac7e5a180e0237938a2536de0c54d93f5c278634818e0efc952dd56c",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz",
+            "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz"
+        ]
+    },
+    "bazel_toolchains": {
+        "name": "bazel_toolchains",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "726b5423e1c7a3866a3a6d68e7123b4a955e9fcbe912a51e0f737e6dab1d0af2",
+        "strip_prefix": "bazel-toolchains-3.1.0",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/releases/download/3.1.0/bazel-toolchains-3.1.0.tar.gz",
+            "https://github.com/bazelbuild/bazel-toolchains/releases/download/3.1.0/bazel-toolchains-3.1.0.tar.gz"
+        ]
+    },
+    "bazel_website": {
+        "build_file_content": "\nexports_files([\"_sass/style.scss\"])\n",
+        "name": "bazel_website",
+        "sha256": "a5f531dd1d62e6947dcfc279656ffc2fdf6f447c163914c5eabf7961b4cb6eb4",
+        "strip_prefix": "bazel-website-c174fa288aa079b68416d2ce2cc97268fa172f42",
+        "urls": [
+            "https://github.com/bazelbuild/bazel-website/archive/c174fa288aa079b68416d2ce2cc97268fa172f42.tar.gz"
+        ]
+    },
+    "boringssl": {
+        "generator_function": "grpc_deps",
+        "generator_name": "boringssl",
+        "name": "boringssl",
+        "sha256": "81333e496d7b74a60aa6fa622c028ba382a0a6b9c815cc6ccb221042383b9a9b",
+        "strip_prefix": "boringssl-412844d75b14b9090b58423fd5f5ed8c2fd80212",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/412844d75b14b9090b58423fd5f5ed8c2fd80212.tar.gz",
+            "https://github.com/google/boringssl/archive/412844d75b14b9090b58423fd5f5ed8c2fd80212.tar.gz"
+        ]
+    },
+    "build_bazel_apple_support": {
+        "generator_function": "grpc_deps",
+        "generator_name": "build_bazel_apple_support",
+        "name": "build_bazel_apple_support",
+        "sha256": "122ebf7fe7d1c8e938af6aeaee0efe788a3a2449ece5a8d6a428cb18d6f88033",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/bazelbuild/apple_support/releases/download/0.7.1/apple_support.0.7.1.tar.gz",
+            "https://github.com/bazelbuild/apple_support/releases/download/0.7.1/apple_support.0.7.1.tar.gz"
+        ]
+    },
+    "build_bazel_rules_apple": {
+        "generator_function": "grpc_deps",
+        "generator_name": "build_bazel_rules_apple",
+        "name": "build_bazel_rules_apple",
+        "sha256": "bdc8e66e70b8a75da23b79f1f8c6207356df07d041d96d2189add7ee0780cf4e",
+        "strip_prefix": "rules_apple-b869b0d3868d78a1d4ffd866ccb304fb68aa12c3",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/bazelbuild/rules_apple/archive/b869b0d3868d78a1d4ffd866ccb304fb68aa12c3.tar.gz",
+            "https://github.com/bazelbuild/rules_apple/archive/b869b0d3868d78a1d4ffd866ccb304fb68aa12c3.tar.gz"
+        ]
+    },
+    "build_bazel_rules_nodejs": {
+        "name": "build_bazel_rules_nodejs",
+        "sha256": "f2194102720e662dbf193546585d705e645314319554c6ce7e47d8b59f459e9c",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_nodejs/releases/download/2.2.2/rules_nodejs-2.2.2.tar.gz",
+            "https://github.com/bazelbuild/rules_nodejs/releases/download/2.2.2/rules_nodejs-2.2.2.tar.gz"
+        ]
+    },
+    "com_github_cares_cares": {
+        "build_file": "@com_github_grpc_grpc//third_party:cares/cares.BUILD",
+        "generator_function": "grpc_deps",
+        "generator_name": "com_github_cares_cares",
+        "name": "com_github_cares_cares",
+        "sha256": "e8c2751ddc70fed9dc6f999acd92e232d5846f009ee1674f8aee81f19b2b915a",
+        "strip_prefix": "c-ares-e982924acee7f7313b4baa4ee5ec000c5e373c30",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/c-ares/c-ares/archive/e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz",
+            "https://github.com/c-ares/c-ares/archive/e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz"
+        ]
+    },
+    "com_github_gflags_gflags": {
+        "generator_function": "grpc_deps",
+        "generator_name": "com_github_gflags_gflags",
+        "name": "com_github_gflags_gflags",
+        "sha256": "63ae70ea3e05780f7547d03503a53de3a7d2d83ad1caaa443a31cb20aea28654",
+        "strip_prefix": "gflags-28f50e0fed19872e0fd50dd23ce2ee8cd759338e",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/gflags/gflags/archive/28f50e0fed19872e0fd50dd23ce2ee8cd759338e.tar.gz",
+            "https://github.com/gflags/gflags/archive/28f50e0fed19872e0fd50dd23ce2ee8cd759338e.tar.gz"
+        ]
+    },
+    "com_github_google_benchmark": {
+        "generator_function": "grpc_deps",
+        "generator_name": "com_github_google_benchmark",
+        "name": "com_github_google_benchmark",
+        "sha256": "f68aec93154d010324c05bcd8c5cc53468b87af88d87acb5ddcfaa1bba044837",
+        "strip_prefix": "benchmark-090faecb454fbd6e6e17a75ef8146acb037118d4",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/benchmark/archive/090faecb454fbd6e6e17a75ef8146acb037118d4.tar.gz",
+            "https://github.com/google/benchmark/archive/090faecb454fbd6e6e17a75ef8146acb037118d4.tar.gz"
+        ]
+    },
+    "com_github_google_re2": {
+        "generator_function": "grpc_deps",
+        "generator_name": "com_github_google_re2",
+        "name": "com_github_google_re2",
+        "sha256": "9f385e146410a8150b6f4cb1a57eab7ec806ced48d427554b1e754877ff26c3e",
+        "strip_prefix": "re2-aecba11114cf1fac5497aeb844b6966106de3eb6",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/re2/archive/aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz",
+            "https://github.com/google/re2/archive/aecba11114cf1fac5497aeb844b6966106de3eb6.tar.gz"
+        ]
+    },
+    "com_github_grpc_grpc": {
+        "name": "com_github_grpc_grpc",
+        "patch_args": [
+            "-p1"
+        ],
+        "patches": [
+            "//third_party/grpc:grpc_1.32.0.patch"
+        ],
+        "sha256": "f880ebeb2ccf0e47721526c10dd97469200e40b5f101a0d9774eb69efa0bd07a",
+        "strip_prefix": "grpc-1.32.0",
+        "urls": [
+            "https://mirror.bazel.build/github.com/grpc/grpc/archive/v1.32.0.tar.gz",
+            "https://github.com/grpc/grpc/archive/v1.32.0.tar.gz"
+        ]
+    },
+    "com_google_absl": {
+        "generator_function": "grpc_deps",
+        "generator_name": "com_google_absl",
+        "name": "com_google_absl",
+        "sha256": "f368a8476f4e2e0eccf8a7318b98dafbe30b2600f4e3cf52636e5eb145aba06a",
+        "strip_prefix": "abseil-cpp-df3ea785d8c30a9503321a3d35ee7d35808f190d",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/abseil/abseil-cpp/archive/df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz",
+            "https://github.com/abseil/abseil-cpp/archive/df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz"
+        ]
+    },
+    "com_google_googletest": {
+        "name": "com_google_googletest",
+        "sha256": "9dc9157a9a1551ec7a7e43daea9a694a0bb5fb8bec81235d8a1e6ef64c716dcb",
+        "strip_prefix": "googletest-release-1.10.0",
+        "urls": [
+            "https://mirror.bazel.build/github.com/google/googletest/archive/release-1.10.0.tar.gz",
+            "https://github.com/google/googletest/archive/release-1.10.0.tar.gz"
+        ]
+    },
+    "com_google_protobuf": {
+        "name": "com_google_protobuf",
+        "patch_args": [
+            "-p1"
+        ],
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "patches": [
+            "//third_party/protobuf:3.13.0.patch"
+        ],
+        "sha256": "9b4ee22c250fe31b16f1a24d61467e40780a3fbb9b91c3b65be2a376ed913a1a",
+        "strip_prefix": "protobuf-3.13.0",
+        "urls": [
+            "https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v3.13.0.tar.gz",
+            "https://github.com/protocolbuffers/protobuf/archive/v3.13.0.tar.gz"
+        ]
+    },
+    "coverage_output_generator-v2.5.zip": {
+        "name": "coverage_output_generator-v2.5.zip",
+        "sha256": "cd14f1cb4559e4723e63b7e7b06d09fcc3bd7ba58d03f354cdff1439bd936a7d",
+        "urls": [
+            "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.5.zip"
+        ]
+    },
+    "cython": {
+        "build_file": "@com_github_grpc_grpc//third_party:cython.BUILD",
+        "generator_function": "grpc_deps",
+        "generator_name": "cython",
+        "name": "cython",
+        "sha256": "d68138a2381afbdd0876c3cb2a22389043fa01c4badede1228ee073032b07a27",
+        "strip_prefix": "cython-c2b80d87658a8525ce091cbe146cb7eaa29fed5c",
+        "urls": [
+            "https://github.com/cython/cython/archive/c2b80d87658a8525ce091cbe146cb7eaa29fed5c.tar.gz"
+        ]
+    },
+    "desugar_jdk_libs": {
+        "name": "desugar_jdk_libs",
+        "sha256": "fe2e04f91ce8c59d49d91b8102edc6627c6fa2906c1b0e7346f01419ec4f419d",
+        "strip_prefix": "desugar_jdk_libs-e0b0291b2c51fbe5a7cfa14473a1ae850f94f021",
+        "urls": [
+            "https://mirror.bazel.build/github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip",
+            "https://github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip"
+        ]
+    },
+    "df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz": {
+        "name": "df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz",
+        "sha256": "f368a8476f4e2e0eccf8a7318b98dafbe30b2600f4e3cf52636e5eb145aba06a",
+        "urls": [
+            "https://mirror.bazel.build/github.com/abseil/abseil-cpp/archive/df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz",
+            "https://github.com/abseil/abseil-cpp/archive/df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz"
+        ]
+    },
+    "e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip": {
+        "name": "e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip",
+        "sha256": "fe2e04f91ce8c59d49d91b8102edc6627c6fa2906c1b0e7346f01419ec4f419d",
+        "urls": [
+            "https://mirror.bazel.build/github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip",
+            "https://github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip"
+        ]
+    },
+    "e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz": {
+        "name": "e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz",
+        "sha256": "e8c2751ddc70fed9dc6f999acd92e232d5846f009ee1674f8aee81f19b2b915a",
+        "urls": [
+            "https://mirror.bazel.build/github.com/c-ares/c-ares/archive/e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz",
+            "https://github.com/c-ares/c-ares/archive/e982924acee7f7313b4baa4ee5ec000c5e373c30.tar.gz"
+        ]
+    },
+    "enum34": {
+        "build_file": "@com_github_grpc_grpc//third_party:enum34.BUILD",
+        "generator_function": "grpc_deps",
+        "generator_name": "enum34",
+        "name": "enum34",
+        "sha256": "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1",
+        "strip_prefix": "enum34-1.1.6",
+        "urls": [
+            "https://files.pythonhosted.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz"
+        ]
+    },
+    "envoy_api": {
+        "generator_function": "grpc_deps",
+        "generator_name": "envoy_api",
+        "name": "envoy_api",
+        "sha256": "9150f920abd3e710e0e58519cd769822f13d7a56988f2c34c2008815ec8d9c88",
+        "strip_prefix": "data-plane-api-8dcc476be69437b505af181a6e8b167fdb101d7e",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/envoyproxy/data-plane-api/archive/8dcc476be69437b505af181a6e8b167fdb101d7e.tar.gz",
+            "https://github.com/envoyproxy/data-plane-api/archive/8dcc476be69437b505af181a6e8b167fdb101d7e.tar.gz"
+        ]
+    },
+    "futures": {
+        "build_file": "@com_github_grpc_grpc//third_party:futures.BUILD",
+        "generator_function": "grpc_deps",
+        "generator_name": "futures",
+        "name": "futures",
+        "sha256": "7e033af76a5e35f58e56da7a91e687706faf4e7bdfb2cbc3f2cca6b9bcda9794",
+        "strip_prefix": "futures-3.3.0",
+        "urls": [
+            "https://files.pythonhosted.org/packages/47/04/5fc6c74ad114032cd2c544c575bffc17582295e9cd6a851d6026ab4b2c00/futures-3.3.0.tar.gz"
+        ]
+    },
+    "io_bazel_rules_go": {
+        "generator_function": "grpc_deps",
+        "generator_name": "io_bazel_rules_go",
+        "name": "io_bazel_rules_go",
+        "sha256": "a82a352bffae6bee4e95f68a8d80a70e87f42c4741e6a448bec11998fcc82329",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/bazelbuild/rules_go/releases/download/0.18.5/rules_go-0.18.5.tar.gz",
+            "https://github.com/bazelbuild/rules_go/releases/download/0.18.5/rules_go-0.18.5.tar.gz"
+        ]
+    },
+    "io_bazel_rules_python": {
+        "generator_function": "grpc_deps",
+        "generator_name": "io_bazel_rules_python",
+        "name": "io_bazel_rules_python",
+        "sha256": "aa96a691d3a8177f3215b14b0edc9641787abaaa30363a080165d06ab65e1161",
+        "url": "https://github.com/bazelbuild/rules_python/releases/download/0.0.1/rules_python-0.0.1.tar.gz"
+    },
+    "io_bazel_rules_sass": {
+        "name": "io_bazel_rules_sass",
+        "sha256": "c78be58f5e0a29a04686b628cf54faaee0094322ae0ac99da5a8a8afca59a647",
+        "strip_prefix": "rules_sass-1.25.0",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/1.25.0.zip",
+            "https://github.com/bazelbuild/rules_sass/archive/1.25.0.zip"
+        ]
+    },
+    "io_bazel_skydoc": {
+        "name": "io_bazel_skydoc",
+        "sha256": "5a725b777976b77aa122b707d1b6f0f39b6020f66cd427bb111a585599c857b1",
+        "strip_prefix": "stardoc-1ef781ced3b1443dca3ed05dec1989eca1a4e1cd",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz",
+            "https://github.com/bazelbuild/stardoc/archive/1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz"
+        ]
+    },
+    "io_opencensus_cpp": {
+        "generator_function": "grpc_deps",
+        "generator_name": "io_opencensus_cpp",
+        "name": "io_opencensus_cpp",
+        "sha256": "90d6fafa8b1a2ea613bf662731d3086e1c2ed286f458a95c81744df2dbae41b1",
+        "strip_prefix": "opencensus-cpp-c9a4da319bc669a772928ffc55af4a61be1a1176",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/census-instrumentation/opencensus-cpp/archive/c9a4da319bc669a772928ffc55af4a61be1a1176.tar.gz",
+            "https://github.com/census-instrumentation/opencensus-cpp/archive/c9a4da319bc669a772928ffc55af4a61be1a1176.tar.gz"
+        ]
+    },
+    "java_tools_javac11_darwin-v10.5.zip": {
+        "name": "java_tools_javac11_darwin-v10.5.zip",
+        "sha256": "95aae0a32a170c72a68abb0b9dd6bac7ea3e08c504a5d8c6e8bf7ac51628c98f",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_darwin-v10.5.zip"
+        ]
+    },
+    "java_tools_javac11_linux-v10.5.zip": {
+        "name": "java_tools_javac11_linux-v10.5.zip",
+        "sha256": "355c27c603e8fc64bb0e2d7f809741f42576d5f4540f9ce28fd55922085af639",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_linux-v10.5.zip"
+        ]
+    },
+    "java_tools_javac11_windows-v10.5.zip": {
+        "name": "java_tools_javac11_windows-v10.5.zip",
+        "sha256": "0b4469ca1a9b3f26cb82fb0f4fd00096f0d839ec2fae097e7bdbb982e3a95a59",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_windows-v10.5.zip"
+        ]
+    },
+    "java_tools_langtools_javac11": {
+        "name": "java_tools_langtools_javac11",
+        "sha256": "cf0814fa002ef3d794582bb086516d8c9ed0958f83f19799cdb08949019fe4c7",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk11_v2.zip"
+        ]
+    },
+    "jekyll_tree_0_17_1": {
+        "name": "jekyll_tree_0_17_1",
+        "sha256": "02256ddd20eeaf70cf8fcfe9b2cdddd7be87aedd5848d549474fb0358e0031d3",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.17.1.tar"
+        ]
+    },
+    "jekyll_tree_0_17_2": {
+        "name": "jekyll_tree_0_17_2",
+        "sha256": "13b35dd309a0d52f0a2518a1193f42729c75255f5fae40cea68e4d4224bfaa2e",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.17.2.tar"
+        ]
+    },
+    "jekyll_tree_0_18_1": {
+        "name": "jekyll_tree_0_18_1",
+        "sha256": "98b77f48e37a50fc6f83100bf53f661e10732bb3ddbc226e02d0225cb7a9a7d8",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.18.1.tar"
+        ]
+    },
+    "jekyll_tree_0_19_1": {
+        "name": "jekyll_tree_0_19_1",
+        "sha256": "ec892c59ba18bb8de1f9ae2bde937db144e45f28d6d1c32a2cee847ee81b134d",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.19.1.tar"
+        ]
+    },
+    "jekyll_tree_0_19_2": {
+        "name": "jekyll_tree_0_19_2",
+        "sha256": "3c2d9f21ec2fd1c0b8a310f6eb6043027c838810cdfc2457d4346a0e5cdcaa7a",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.19.2.tar"
+        ]
+    },
+    "jekyll_tree_0_20_0": {
+        "name": "jekyll_tree_0_20_0",
+        "sha256": "bb79a63810bf1b0aa1f89bd3bbbeb4a547a30ab9af70c9be656cc6866f4b015b",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.20.0.tar"
+        ]
+    },
+    "jekyll_tree_0_21_0": {
+        "name": "jekyll_tree_0_21_0",
+        "sha256": "23ec39c0138d358c544151e5c81586716d5d1c6124f10a742bead70516e6eb93",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.21.0.tar"
+        ]
+    },
+    "jekyll_tree_0_22_0": {
+        "name": "jekyll_tree_0_22_0",
+        "sha256": "bec5cfaa5560e082e41e33bde276cf93f0f7bcfd2914a3e868f921df8b3ab725",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.22.0.tar"
+        ]
+    },
+    "jekyll_tree_0_23_0": {
+        "name": "jekyll_tree_0_23_0",
+        "sha256": "56c80fcf49dc606fab8ed5e737a7409e9a486585b7b98673be69b5a4984dd774",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.23.0.tar"
+        ]
+    },
+    "jekyll_tree_0_24_0": {
+        "name": "jekyll_tree_0_24_0",
+        "sha256": "988fa567906a73e50d3669909285187ef88c76ecd4aa277f4d1f355fc06a90c8",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.24.0.tar"
+        ]
+    },
+    "jekyll_tree_0_25_0": {
+        "name": "jekyll_tree_0_25_0",
+        "sha256": "e8ab61c047225e808982a564ecd692fd63bd243dccc88a8768ed069a5362a685",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.25.0.tar"
+        ]
+    },
+    "jekyll_tree_0_26_0": {
+        "name": "jekyll_tree_0_26_0",
+        "sha256": "3907dfc6fb27d246e67877e553e8951fac239bb49f2dec7e06b6b09cb0b98b8d",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.26.0.tar"
+        ]
+    },
+    "jekyll_tree_0_27_0": {
+        "name": "jekyll_tree_0_27_0",
+        "sha256": "97e2633fefee389daade775da43907aa68699b32212f4e48cb095abe18aa7e65",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.27.0.tar"
+        ]
+    },
+    "jekyll_tree_0_28_0": {
+        "name": "jekyll_tree_0_28_0",
+        "sha256": "64b3fc267fb1f4c56345d96f0ad9f07a2efe43bd15361f818368849cf941b3b7",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.28.0.tar"
+        ]
+    },
+    "jekyll_tree_0_29_0": {
+        "name": "jekyll_tree_0_29_0",
+        "sha256": "99d7a6bf9ef0145c59c54b4319fb31cb855681782080a5490909c4a5463c7215",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.29.0.tar"
+        ]
+    },
+    "jekyll_tree_0_29_1": {
+        "name": "jekyll_tree_0_29_1",
+        "sha256": "cf0a517f1660a7c4fd26a7ef6f3594bbefcf2b670bc0ed610bf3bb6ec3a9fdc3",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-0.29.1.tar"
+        ]
+    },
+    "jekyll_tree_1_0_0": {
+        "name": "jekyll_tree_1_0_0",
+        "sha256": "61ef65c738a8cd65059f58f2ee5f7eef493136ac4d5e5c3464787d17043febdf",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-1.0.0.tar"
+        ]
+    },
+    "jekyll_tree_1_1_0": {
+        "name": "jekyll_tree_1_1_0",
+        "sha256": "46d82c9249896903ee6be2295fc52a1346a9ee82f61f89b8a2181232c3bd999b",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-1.1.0.tar"
+        ]
+    },
+    "jekyll_tree_1_2_0": {
+        "name": "jekyll_tree_1_2_0",
+        "sha256": "d402a8391ca2624673f124ff42ba8d0d40d4139e5d23111f3995dc6c5f70f63d",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-1.2.0.tar"
+        ]
+    },
+    "jekyll_tree_2_0_0": {
+        "name": "jekyll_tree_2_0_0",
+        "sha256": "7d7c424ede503856c61b645d8fdc2513ec6ea8600d76c5e87c45a9a45c16de3e",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-2.0.0.tar"
+        ]
+    },
+    "jekyll_tree_2_1_0": {
+        "name": "jekyll_tree_2_1_0",
+        "sha256": "b0fd257b1d6b1b05705742d55a13b9a20d3e99f49c89334750c872d620e5b88f",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-2.1.0.tar"
+        ]
+    },
+    "jekyll_tree_2_2_0": {
+        "name": "jekyll_tree_2_2_0",
+        "sha256": "4c1506786ab98df8039ec7354b82da7b586b2ae4ab7f7e7d08f3caf74ff28e3d",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-2.2.0.tar"
+        ]
+    },
+    "jekyll_tree_3_0_0": {
+        "name": "jekyll_tree_3_0_0",
+        "sha256": "bd1096ad609c253fa7b1473edf4a3aa51f36243e188dbb62c68d8ed4aca2419d",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.0.0.tar"
+        ]
+    },
+    "jekyll_tree_3_1_0": {
+        "name": "jekyll_tree_3_1_0",
+        "sha256": "f9d2e22e24af426d6c9de163d91abe6d8af7eb1eabb1d7ff5e9cf4bededf465a",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.1.0-807b377.tar"
+        ]
+    },
+    "jekyll_tree_3_2_0": {
+        "name": "jekyll_tree_3_2_0",
+        "sha256": "6cff8654e739a0c3062183a5a6cc82fcf9a77323051f8c007866d7f4101052a6",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.2.0.tar"
+        ]
+    },
+    "jekyll_tree_3_3_0": {
+        "name": "jekyll_tree_3_3_0",
+        "sha256": "36b81e8ddf4f3caccf41acc82d9e49f000c1be9e92c9cc82793d60ff70636176",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.3.0.tar"
+        ]
+    },
+    "jekyll_tree_3_4_0": {
+        "name": "jekyll_tree_3_4_0",
+        "sha256": "af82e775d911135bcff76e500bb003c4a9fccb949f8ddf4d93c58eca195bf5e8",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.4.0.tar"
+        ]
+    },
+    "jekyll_tree_3_5_0": {
+        "name": "jekyll_tree_3_5_0",
+        "sha256": "aa96cbad14cfab0b422d1d17eac3107a75eb05854d40ab4f1379a6fc87b2e1f8",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.5.0.tar"
+        ]
+    },
+    "jekyll_tree_3_5_1": {
+        "name": "jekyll_tree_3_5_1",
+        "sha256": "1c949ba8da353c93c74a70638e5cb321ea1cd5582eda1b6ad88c6d2d0b569f2f",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.5.1.tar"
+        ]
+    },
+    "jekyll_tree_3_6_0": {
+        "name": "jekyll_tree_3_6_0",
+        "sha256": "1b7a16a2098ca0c290c208a11db886e950d6c523b2cac2d0a0cba4a04aa832f3",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.6.0.tar"
+        ]
+    },
+    "jekyll_tree_3_7_0": {
+        "name": "jekyll_tree_3_7_0",
+        "sha256": "a534d37ef3867c92fae8692852f92820a34f63a5f9092bbbec6505c0f69d8094",
+        "urls": [
+            "https://mirror.bazel.build/bazel_versioned_docs/jekyll-tree-3.7.0.tar"
+        ]
+    },
+    "openjdk11_darwin_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk11_darwin_archive",
+        "sha256": "e1fe56769f32e2aaac95e0a8f86b5a323da5af3a3b4bba73f3086391a6cc056f",
+        "strip_prefix": "zulu11.37.17-ca-jdk11.0.6-macosx_x64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64.tar.gz"
+        ]
+    },
+    "openjdk11_linux_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk11_linux_archive",
+        "sha256": "360626cc19063bc411bfed2914301b908a8f77a7919aaea007a977fa8fb3cde1",
+        "strip_prefix": "zulu11.37.17-ca-jdk11.0.6-linux_x64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz"
+        ]
+    },
+    "openjdk11_windows_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk11_windows_archive",
+        "sha256": "a9695617b8374bfa171f166951214965b1d1d08f43218db9a2a780b71c665c18",
+        "strip_prefix": "zulu11.37.17-ca-jdk11.0.6-win_x64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64.zip"
+        ]
+    },
+    "openjdk14_darwin_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk14_darwin_archive",
+        "sha256": "088bd4d0890acc9f032b738283bf0f26b2a55c50b02d1c8a12c451d8ddf080dd",
+        "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-macosx_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-macosx_x64.tar.gz"
+        ]
+    },
+    "openjdk14_linux_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk14_linux_archive",
+        "sha256": "48bb8947034cd079ad1ef83335e7634db4b12a26743a0dc314b6b861480777aa",
+        "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-linux_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-linux_x64.tar.gz"
+        ]
+    },
+    "openjdk14_windows_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk14_windows_archive",
+        "sha256": "9cb078b5026a900d61239c866161f0d9558ec759aa15c5b4c7e905370e868284",
+        "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-win_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-win_x64.zip"
+        ]
+    },
+    "openjdk15_darwin_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk15_darwin_archive",
+        "sha256": "f80b2e0512d9d8a92be24497334c974bfecc8c898fc215ce0e76594f00437482",
+        "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-macosx_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz"
+        ]
+    },
+    "openjdk15_linux_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk15_linux_archive",
+        "sha256": "0a38f1138c15a4f243b75eb82f8ef40855afcc402e3c2a6de97ce8235011b1ad",
+        "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-linux_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz"
+        ]
+    },
+    "openjdk15_windows_archive": {
+        "build_file_content": "\njava_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])\nexports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])\n",
+        "name": "openjdk15_windows_archive",
+        "sha256": "f535a530151e6c20de8a3078057e332b08887cb3ba1a4735717357e72765cad6",
+        "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-win_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-win_x64.zip",
+            "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-win_x64.zip"
+        ]
+    },
+    "openjdk_linux": {
+        "downloaded_file_path": "zulu-linux.tar.gz",
+        "name": "openjdk_linux",
+        "sha256": "65bfe4e0ffa74a680ee4410db46b17e30cd9397b664a92a886599fe1f3530969",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64-linux_x64-allmodules-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689070.tar.gz"
+        ]
+    },
+    "openjdk_linux_aarch64": {
+        "downloaded_file_path": "zulu-linux-aarch64.tar.gz",
+        "name": "openjdk_linux_aarch64",
+        "sha256": "6b245793087300db3ee82ab0d165614f193a73a60f2f011e347756c1e6ca5bac",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.48-ca-jdk11.0.6/zulu11.37.48-ca-jdk11.0.6-linux_aarch64-allmodules-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581690750.tar.gz"
+        ]
+    },
+    "openjdk_linux_aarch64_minimal": {
+        "downloaded_file_path": "zulu-linux-aarch64-minimal.tar.gz",
+        "name": "openjdk_linux_aarch64_minimal",
+        "sha256": "06f6520a877704c77614bcfc4f846cc7cbcbf5eaad149bf7f19f4f16e285c9de",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.48-ca-jdk11.0.6/zulu11.37.48-ca-jdk11.0.6-linux_aarch64-minimal-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581690750.tar.gz"
+        ]
+    },
+    "openjdk_linux_aarch64_vanilla": {
+        "downloaded_file_path": "zulu-linux-aarch64-vanilla.tar.gz",
+        "name": "openjdk_linux_aarch64_vanilla",
+        "sha256": "a452f1b9682d9f83c1c14e54d1446e1c51b5173a3a05dcb013d380f9508562e4",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.48-ca-jdk11.0.6/zulu11.37.48-ca-jdk11.0.6-linux_aarch64.tar.gz"
+        ]
+    },
+    "openjdk_linux_minimal": {
+        "downloaded_file_path": "zulu-linux-minimal.tar.gz",
+        "name": "openjdk_linux_minimal",
+        "sha256": "91f7d52f695c681d4e21499b4319d548aadef249a6b3053e306308992e1e29ae",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64-minimal-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689068.tar.gz"
+        ]
+    },
+    "openjdk_linux_ppc64le_vanilla": {
+        "downloaded_file_path": "adoptopenjdk-ppc64le-vanilla.tar.gz",
+        "name": "openjdk_linux_ppc64le_vanilla",
+        "sha256": "a417db0295b1f4b538ecbaf7c774f3a177fab9657a665940170936c0eca4e71a",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz",
+            "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz"
+        ]
+    },
+    "openjdk_linux_s390x_vanilla": {
+        "downloaded_file_path": "adoptopenjdk-s390x-vanilla.tar.gz",
+        "name": "openjdk_linux_s390x_vanilla",
+        "sha256": "d9b72e87a1d3ebc0c9552f72ae5eb150fffc0298a7cb841f1ce7bfc70dcd1059",
+        "urls": [
+            "https://mirror.bazel.build/github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz",
+            "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz"
+        ]
+    },
+    "openjdk_linux_vanilla": {
+        "downloaded_file_path": "zulu-linux-vanilla.tar.gz",
+        "name": "openjdk_linux_vanilla",
+        "sha256": "360626cc19063bc411bfed2914301b908a8f77a7919aaea007a977fa8fb3cde1",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz"
+        ]
+    },
+    "openjdk_macos": {
+        "downloaded_file_path": "zulu-macos.tar.gz",
+        "name": "openjdk_macos",
+        "sha256": "8e283cfd23c7555be8e17295ed76eb8f00324c88ab904b8de37bbe08f90e569b",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64-allmodules-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689066.tar.gz"
+        ]
+    },
+    "openjdk_macos_minimal": {
+        "downloaded_file_path": "zulu-macos-minimal.tar.gz",
+        "name": "openjdk_macos_minimal",
+        "sha256": "1bacb1c07035d4066d79f0b65b4ea0ebd1954f3662bdfe3618da382ac8fd23a6",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64-minimal-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689063.tar.gz"
+        ]
+    },
+    "openjdk_macos_vanilla": {
+        "downloaded_file_path": "zulu-macos-vanilla.tar.gz",
+        "name": "openjdk_macos_vanilla",
+        "sha256": "e1fe56769f32e2aaac95e0a8f86b5a323da5af3a3b4bba73f3086391a6cc056f",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64.tar.gz"
+        ]
+    },
+    "openjdk_win": {
+        "downloaded_file_path": "zulu-win.zip",
+        "name": "openjdk_win",
+        "sha256": "8e1604b3a27dcf639bc6d1a73103f1211848139e4cceb081d0a74a99e1e6f995",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64-allmodules-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689080.zip"
+        ]
+    },
+    "openjdk_win_minimal": {
+        "downloaded_file_path": "zulu-win-minimal.zip",
+        "name": "openjdk_win_minimal",
+        "sha256": "b90a713c9c2d9ea23cad44d2c2dfcc9af22faba9bde55dedc1c3bb9f556ac1ae",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64-minimal-b23d4e05466f2aa1fdcd72d3d3a8e962206b64bf-1581689080.zip"
+        ]
+    },
+    "openjdk_win_vanilla": {
+        "downloaded_file_path": "zulu-win-vanilla.zip",
+        "name": "openjdk_win_vanilla",
+        "sha256": "a9695617b8374bfa171f166951214965b1d1d08f43218db9a2a780b71c665c18",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64.zip"
+        ]
+    },
+    "platforms": {
+        "name": "platforms",
+        "sha256": "66184688debeeefcc2a16a2f80b03f514deac8346fe888fb7e691a52c023dd88",
+        "strip_prefix": "platforms-46993efdd33b73649796c5fc5c9efb193ae19d51",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/platforms/archive/46993efdd33b73649796c5fc5c9efb193ae19d51.zip",
+            "https://github.com/bazelbuild/platforms/archive/46993efdd33b73649796c5fc5c9efb193ae19d51.zip"
+        ]
+    },
+    "remote_coverage_tools": {
+        "name": "remote_coverage_tools",
+        "sha256": "cd14f1cb4559e4723e63b7e7b06d09fcc3bd7ba58d03f354cdff1439bd936a7d",
+        "urls": [
+            "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.5.zip"
+        ]
+    },
+    "remote_coverage_tools_for_testing": {
+        "name": "remote_coverage_tools_for_testing",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "cd14f1cb4559e4723e63b7e7b06d09fcc3bd7ba58d03f354cdff1439bd936a7d",
+        "urls": [
+            "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.5.zip"
+        ]
+    },
+    "remote_java_tools_darwin": {
+        "generator_function": "maybe",
+        "generator_name": "remote_java_tools_darwin",
+        "name": "remote_java_tools_darwin",
+        "sha256": "64e5de2175dfccb96831573946b80d106edf3801d9db38b564514bf3581d466b",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.0/java_tools_javac11_darwin-v10.0.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.0/java_tools_javac11_darwin-v10.0.zip"
+        ]
+    },
+    "remote_java_tools_darwin_for_testing": {
+        "name": "remote_java_tools_darwin_for_testing",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "95aae0a32a170c72a68abb0b9dd6bac7ea3e08c504a5d8c6e8bf7ac51628c98f",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_darwin-v10.5.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.5/java_tools_javac11_darwin-v10.5.zip"
+        ]
+    },
+    "remote_java_tools_javac11_test_darwin": {
+        "name": "remote_java_tools_javac11_test_darwin",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "95aae0a32a170c72a68abb0b9dd6bac7ea3e08c504a5d8c6e8bf7ac51628c98f",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_darwin-v10.5.zip"
+        ]
+    },
+    "remote_java_tools_javac11_test_linux": {
+        "name": "remote_java_tools_javac11_test_linux",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "355c27c603e8fc64bb0e2d7f809741f42576d5f4540f9ce28fd55922085af639",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_linux-v10.5.zip"
+        ]
+    },
+    "remote_java_tools_javac11_test_windows": {
+        "name": "remote_java_tools_javac11_test_windows",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "0b4469ca1a9b3f26cb82fb0f4fd00096f0d839ec2fae097e7bdbb982e3a95a59",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_windows-v10.5.zip"
+        ]
+    },
+    "remote_java_tools_linux": {
+        "generator_function": "maybe",
+        "generator_name": "remote_java_tools_linux",
+        "name": "remote_java_tools_linux",
+        "sha256": "69e65353c2cd65780abcbcce4daae973599298273b0f8b4d469eed822cb220d1",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.0/java_tools_javac11_linux-v10.0.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.0/java_tools_javac11_linux-v10.0.zip"
+        ]
+    },
+    "remote_java_tools_linux_for_testing": {
+        "name": "remote_java_tools_linux_for_testing",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "355c27c603e8fc64bb0e2d7f809741f42576d5f4540f9ce28fd55922085af639",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_linux-v10.5.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.5/java_tools_javac11_linux-v10.5.zip"
+        ]
+    },
+    "remote_java_tools_windows": {
+        "generator_function": "maybe",
+        "generator_name": "remote_java_tools_windows",
+        "name": "remote_java_tools_windows",
+        "sha256": "d2f62af8daa0a3d55789b605f6582e37038329c64843337c71e64515468e55c4",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.0/java_tools_javac11_windows-v10.0.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.0/java_tools_javac11_windows-v10.0.zip"
+        ]
+    },
+    "remote_java_tools_windows_for_testing": {
+        "name": "remote_java_tools_windows_for_testing",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "0b4469ca1a9b3f26cb82fb0f4fd00096f0d839ec2fae097e7bdbb982e3a95a59",
+        "urls": [
+            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_windows-v10.5.zip",
+            "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.5/java_tools_javac11_windows-v10.5.zip"
+        ]
+    },
+    "remotejdk11_linux": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk11_linux",
+        "name": "remotejdk11_linux",
+        "sha256": "360626cc19063bc411bfed2914301b908a8f77a7919aaea007a977fa8fb3cde1",
+        "strip_prefix": "zulu11.37.17-ca-jdk11.0.6-linux_x64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz"
+        ]
+    },
+    "remotejdk11_linux_aarch64": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk11_linux_aarch64",
+        "name": "remotejdk11_linux_aarch64",
+        "sha256": "a452f1b9682d9f83c1c14e54d1446e1c51b5173a3a05dcb013d380f9508562e4",
+        "strip_prefix": "zulu11.37.48-ca-jdk11.0.6-linux_aarch64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.48-ca-jdk11.0.6/zulu11.37.48-ca-jdk11.0.6-linux_aarch64.tar.gz"
+        ]
+    },
+    "remotejdk11_linux_aarch64_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk11_linux_aarch64_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "a452f1b9682d9f83c1c14e54d1446e1c51b5173a3a05dcb013d380f9508562e4",
+        "strip_prefix": "zulu11.37.48-ca-jdk11.0.6-linux_aarch64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.48-ca-jdk11.0.6/zulu11.37.48-ca-jdk11.0.6-linux_aarch64.tar.gz"
+        ]
+    },
+    "remotejdk11_linux_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk11_linux_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "360626cc19063bc411bfed2914301b908a8f77a7919aaea007a977fa8fb3cde1",
+        "strip_prefix": "zulu11.37.17-ca-jdk11.0.6-linux_x64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz"
+        ]
+    },
+    "remotejdk11_linux_ppc64le": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk11_linux_ppc64le",
+        "name": "remotejdk11_linux_ppc64le",
+        "sha256": "a417db0295b1f4b538ecbaf7c774f3a177fab9657a665940170936c0eca4e71a",
+        "strip_prefix": "jdk-11.0.7+10",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz",
+            "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz"
+        ]
+    },
+    "remotejdk11_linux_ppc64le_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk11_linux_ppc64le_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "a417db0295b1f4b538ecbaf7c774f3a177fab9657a665940170936c0eca4e71a",
+        "strip_prefix": "jdk-11.0.7+10",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz",
+            "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz"
+        ]
+    },
+    "remotejdk11_linux_s390x": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk11_linux_s390x",
+        "name": "remotejdk11_linux_s390x",
+        "sha256": "d9b72e87a1d3ebc0c9552f72ae5eb150fffc0298a7cb841f1ce7bfc70dcd1059",
+        "strip_prefix": "jdk-11.0.7+10",
+        "urls": [
+            "https://mirror.bazel.build/github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz",
+            "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz"
+        ]
+    },
+    "remotejdk11_linux_s390x_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk11_linux_s390x_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "d9b72e87a1d3ebc0c9552f72ae5eb150fffc0298a7cb841f1ce7bfc70dcd1059",
+        "strip_prefix": "jdk-11.0.7+10",
+        "urls": [
+            "https://mirror.bazel.build/github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz",
+            "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz"
+        ]
+    },
+    "remotejdk11_macos": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk11_macos",
+        "name": "remotejdk11_macos",
+        "sha256": "e1fe56769f32e2aaac95e0a8f86b5a323da5af3a3b4bba73f3086391a6cc056f",
+        "strip_prefix": "zulu11.37.17-ca-jdk11.0.6-macosx_x64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64.tar.gz"
+        ]
+    },
+    "remotejdk11_macos_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk11_macos_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "e1fe56769f32e2aaac95e0a8f86b5a323da5af3a3b4bba73f3086391a6cc056f",
+        "strip_prefix": "zulu11.37.17-ca-jdk11.0.6-macosx_x64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64.tar.gz"
+        ]
+    },
+    "remotejdk11_win": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk11_win",
+        "name": "remotejdk11_win",
+        "sha256": "a9695617b8374bfa171f166951214965b1d1d08f43218db9a2a780b71c665c18",
+        "strip_prefix": "zulu11.37.17-ca-jdk11.0.6-win_x64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64.zip"
+        ]
+    },
+    "remotejdk11_win_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk11_win_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "a9695617b8374bfa171f166951214965b1d1d08f43218db9a2a780b71c665c18",
+        "strip_prefix": "zulu11.37.17-ca-jdk11.0.6-win_x64",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64.zip"
+        ]
+    },
+    "remotejdk14_linux": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk14_linux",
+        "name": "remotejdk14_linux",
+        "sha256": "48bb8947034cd079ad1ef83335e7634db4b12a26743a0dc314b6b861480777aa",
+        "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-linux_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-linux_x64.tar.gz"
+        ]
+    },
+    "remotejdk14_linux_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk14_linux_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "48bb8947034cd079ad1ef83335e7634db4b12a26743a0dc314b6b861480777aa",
+        "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-linux_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-linux_x64.tar.gz"
+        ]
+    },
+    "remotejdk14_macos": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk14_macos",
+        "name": "remotejdk14_macos",
+        "sha256": "088bd4d0890acc9f032b738283bf0f26b2a55c50b02d1c8a12c451d8ddf080dd",
+        "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-macosx_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-macosx_x64.tar.gz"
+        ]
+    },
+    "remotejdk14_macos_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk14_macos_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "088bd4d0890acc9f032b738283bf0f26b2a55c50b02d1c8a12c451d8ddf080dd",
+        "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-macosx_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-macosx_x64.tar.gz"
+        ]
+    },
+    "remotejdk14_win": {
+        "build_file": "@bazel_tools//tools/jdk:jdk.BUILD",
+        "generator_function": "maybe",
+        "generator_name": "remotejdk14_win",
+        "name": "remotejdk14_win",
+        "sha256": "9cb078b5026a900d61239c866161f0d9558ec759aa15c5b4c7e905370e868284",
+        "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-win_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-win_x64.zip"
+        ]
+    },
+    "remotejdk14_win_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk14_win_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "9cb078b5026a900d61239c866161f0d9558ec759aa15c5b4c7e905370e868284",
+        "strip_prefix": "zulu14.28.21-ca-jdk14.0.1-win_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu14.28.21-ca-jdk14.0.1-win_x64.zip"
+        ]
+    },
+    "remotejdk15_linux_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk15_linux_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "0a38f1138c15a4f243b75eb82f8ef40855afcc402e3c2a6de97ce8235011b1ad",
+        "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-linux_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz"
+        ]
+    },
+    "remotejdk15_macos_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk15_macos_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "f80b2e0512d9d8a92be24497334c974bfecc8c898fc215ce0e76594f00437482",
+        "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-macosx_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz",
+            "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz"
+        ]
+    },
+    "remotejdk15_win_for_testing": {
+        "build_file": "@local_jdk//:BUILD.bazel",
+        "name": "remotejdk15_win_for_testing",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "f535a530151e6c20de8a3078057e332b08887cb3ba1a4735717357e72765cad6",
+        "strip_prefix": "zulu15.27.17-ca-jdk15.0.0-win_x64",
+        "urls": [
+            "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-win_x64.zip",
+            "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-win_x64.zip"
+        ]
+    },
+    "rules_cc": {
+        "name": "rules_cc",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "d0c573b94a6ef20ef6ff20154a23d0efcb409fb0e1ff0979cec318dfe42f0cdd",
+        "strip_prefix": "rules_cc-b1c40e1de81913a3c40e5948f78719c28152486d",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/b1c40e1de81913a3c40e5948f78719c28152486d.zip",
+            "https://github.com/bazelbuild/rules_cc/archive/b1c40e1de81913a3c40e5948f78719c28152486d.zip"
+        ]
+    },
+    "rules_java": {
+        "name": "rules_java",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "bc81f1ba47ef5cc68ad32225c3d0e70b8c6f6077663835438da8d5733f917598",
+        "strip_prefix": "rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip",
+            "https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip"
+        ]
+    },
+    "rules_nodejs-2.2.2.tar.gz": {
+        "name": "rules_nodejs-2.2.2.tar.gz",
+        "sha256": "f2194102720e662dbf193546585d705e645314319554c6ce7e47d8b59f459e9c",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_nodejs/releases/download/2.2.2/rules_nodejs-2.2.2.tar.gz",
+            "https://github.com/bazelbuild/rules_nodejs/releases/download/2.2.2/rules_nodejs-2.2.2.tar.gz"
+        ]
+    },
+    "rules_pkg": {
+        "name": "rules_pkg",
+        "patch_cmds": [
+            "test -f BUILD && chmod u+w BUILD || true",
+            "echo >> BUILD",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "4ba8f4ab0ff85f2484287ab06c0d871dcb31cc54d439457d28fd4ae14b18450a",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.2.4/rules_pkg-0.2.4.tar.gz",
+            "https://github.com/bazelbuild/rules_pkg/releases/download/0.2.4/rules_pkg-0.2.4.tar.gz"
+        ]
+    },
+    "rules_pkg-0.2.4.tar.gz": {
+        "name": "rules_pkg-0.2.4.tar.gz",
+        "sha256": "4ba8f4ab0ff85f2484287ab06c0d871dcb31cc54d439457d28fd4ae14b18450a",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.2.4/rules_pkg-0.2.4.tar.gz",
+            "https://github.com/bazelbuild/rules_pkg/releases/download/0.2.4/rules_pkg-0.2.4.tar.gz"
+        ]
+    },
+    "rules_proto": {
+        "name": "rules_proto",
+        "patch_cmds": [
+            "test -f BUILD.bazel && chmod u+w BUILD.bazel || true",
+            "echo >> BUILD.bazel",
+            "echo 'exports_files([\"WORKSPACE\"], visibility = [\"//visibility:public\"])' >> BUILD.bazel"
+        ],
+        "patch_cmds_win": [
+            "Add-Content -Path BUILD.bazel -Value \"`nexports_files([`\"WORKSPACE`\"], visibility = [`\"//visibility:public`\"])`n\" -Force"
+        ],
+        "sha256": "8e7d59a5b12b233be5652e3d29f42fba01c7cbab09f6b3a8d0a57ed6d1e9a0da",
+        "strip_prefix": "rules_proto-7e4afce6fe62dbff0a4a03450143146f9f2d7488",
+        "urls": [
+            "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz",
+            "https://github.com/bazelbuild/rules_proto/archive/7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz"
+        ]
+    },
+    "six": {
+        "build_file": "@com_github_grpc_grpc//third_party:six.BUILD",
+        "generator_function": "grpc_deps",
+        "generator_name": "six",
+        "name": "six",
+        "sha256": "d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73",
+        "urls": [
+            "https://files.pythonhosted.org/packages/dd/bf/4138e7bfb757de47d1f4b6994648ec67a51efe58fa907c1e11e350cddfca/six-1.12.0.tar.gz"
+        ]
+    },
+    "upb": {
+        "generator_function": "grpc_deps",
+        "generator_name": "upb",
+        "name": "upb",
+        "sha256": "7992217989f3156f8109931c1fc6db3434b7414957cb82371552377beaeb9d6c",
+        "strip_prefix": "upb-382d5afc60e05470c23e8de19b19fc5ad231e732",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/protocolbuffers/upb/archive/382d5afc60e05470c23e8de19b19fc5ad231e732.tar.gz",
+            "https://github.com/protocolbuffers/upb/archive/382d5afc60e05470c23e8de19b19fc5ad231e732.tar.gz"
+        ]
+    },
+    "v1.32.0.tar.gz": {
+        "name": "v1.32.0.tar.gz",
+        "sha256": "f880ebeb2ccf0e47721526c10dd97469200e40b5f101a0d9774eb69efa0bd07a",
+        "urls": [
+            "https://mirror.bazel.build/github.com/grpc/grpc/archive/v1.32.0.tar.gz",
+            "https://github.com/grpc/grpc/archive/v1.32.0.tar.gz"
+        ]
+    },
+    "v3.13.0.tar.gz": {
+        "name": "v3.13.0.tar.gz",
+        "sha256": "9b4ee22c250fe31b16f1a24d61467e40780a3fbb9b91c3b65be2a376ed913a1a",
+        "urls": [
+            "https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v3.13.0.tar.gz",
+            "https://github.com/protocolbuffers/protobuf/archive/v3.13.0.tar.gz"
+        ]
+    },
+    "zlib": {
+        "build_file": "@com_github_grpc_grpc//third_party:zlib.BUILD",
+        "generator_function": "grpc_deps",
+        "generator_name": "zlib",
+        "name": "zlib",
+        "sha256": "6d4d6640ca3121620995ee255945161821218752b551a1a180f4215f7d124d45",
+        "strip_prefix": "zlib-cacf7f1d4e3d44d871b605da3b647f07d718623f",
+        "urls": [
+            "https://storage.googleapis.com/grpc-bazel-mirror/github.com/madler/zlib/archive/cacf7f1d4e3d44d871b605da3b647f07d718623f.tar.gz",
+            "https://github.com/madler/zlib/archive/cacf7f1d4e3d44d871b605da3b647f07d718623f.tar.gz"
+        ]
+    },
+    "zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz": {
+        "name": "zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz",
+        "sha256": "360626cc19063bc411bfed2914301b908a8f77a7919aaea007a977fa8fb3cde1",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz"
+        ]
+    },
+    "zulu11.37.17-ca-jdk11.0.6-macosx_x64.tar.gz": {
+        "name": "zulu11.37.17-ca-jdk11.0.6-macosx_x64.tar.gz",
+        "sha256": "e1fe56769f32e2aaac95e0a8f86b5a323da5af3a3b4bba73f3086391a6cc056f",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-macosx_x64.tar.gz"
+        ]
+    },
+    "zulu11.37.17-ca-jdk11.0.6-win_x64.zip": {
+        "name": "zulu11.37.17-ca-jdk11.0.6-win_x64.zip",
+        "sha256": "a9695617b8374bfa171f166951214965b1d1d08f43218db9a2a780b71c665c18",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-win_x64.zip"
+        ]
+    },
+    "zulu11.37.48-ca-jdk11.0.6-linux_aarch64.tar.gz": {
+        "name": "zulu11.37.48-ca-jdk11.0.6-linux_aarch64.tar.gz",
+        "sha256": "a452f1b9682d9f83c1c14e54d1446e1c51b5173a3a05dcb013d380f9508562e4",
+        "urls": [
+            "https://mirror.bazel.build/openjdk/azul-zulu11.37.48-ca-jdk11.0.6/zulu11.37.48-ca-jdk11.0.6-linux_aarch64.tar.gz"
+        ]
+    }
+}
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_4/update-srcDeps.py b/pkgs/development/tools/build-managers/bazel/bazel_4/update-srcDeps.py
new file mode 100755
index 0000000000000..9e998e05875e7
--- /dev/null
+++ b/pkgs/development/tools/build-managers/bazel/bazel_4/update-srcDeps.py
@@ -0,0 +1,54 @@
+#!/usr/bin/env python3
+import sys
+import json
+
+if len(sys.argv) != 2:
+    print("usage: ./this-script src-deps.json < WORKSPACE", file=sys.stderr)
+    print("Takes the bazel WORKSPACE file and reads all archives into a json dict (by evaling it as python code)", file=sys.stderr)
+    print("Hail Eris.", file=sys.stderr)
+    sys.exit(1)
+
+http_archives = []
+
+# just the kw args are the dict { name, sha256, urls … }
+def http_archive(**kw):
+    http_archives.append(kw)
+# like http_file
+def http_file(**kw):
+    http_archives.append(kw)
+
+# this is inverted from http_archive/http_file and bundles multiple archives
+def distdir_tar(**kw):
+    for archive_name in kw['archives']:
+        http_archives.append({
+            "name": archive_name,
+            "sha256": kw['sha256'][archive_name],
+            "urls": kw['urls'][archive_name]
+        })
+
+# TODO?
+def git_repository(**kw):
+    print(json.dumps(kw, sort_keys=True, indent=4), file=sys.stderr)
+    sys.exit(1)
+
+# execute the WORKSPACE like it was python code in this module,
+# using all the function stubs from above.
+exec(sys.stdin.read())
+
+# transform to a dict with the names as keys
+d = { el['name']: el for el in http_archives }
+
+def has_urls(el):
+    return ('url' in el and el['url']) or ('urls' in el and el['urls'])
+def has_sha256(el):
+    return 'sha256' in el and el['sha256']
+bad_archives = list(filter(lambda el: not has_urls(el) or not has_sha256(el), d.values()))
+if bad_archives:
+    print('Following bazel dependencies are missing url or sha256', file=sys.stderr)
+    print('Check bazel sources for master or non-checksummed dependencies', file=sys.stderr)
+    for el in bad_archives:
+        print(json.dumps(el, sort_keys=True, indent=4), file=sys.stderr)
+    sys.exit(1)
+
+with open(sys.argv[1], "w") as f:
+    print(json.dumps(d, sort_keys=True, indent=4), file=f)
diff --git a/pkgs/development/tools/build-managers/bazel/java-test.nix b/pkgs/development/tools/build-managers/bazel/java-test.nix
index 30b957eb5e30d..11931a197c0c2 100644
--- a/pkgs/development/tools/build-managers/bazel/java-test.nix
+++ b/pkgs/development/tools/build-managers/bazel/java-test.nix
@@ -38,7 +38,7 @@ let
   ''));
 
   testBazel = bazelTest {
-    name = "bazel-test-cpp";
+    name = "bazel-test-java";
     inherit workspaceDir;
     bazelPkg = bazel;
     buildInputs = [ openjdk8 ];
diff --git a/pkgs/development/tools/build-managers/bazel/protobuf-test.nix b/pkgs/development/tools/build-managers/bazel/protobuf-test.nix
index 0784de4cfd39a..3858a681659b2 100644
--- a/pkgs/development/tools/build-managers/bazel/protobuf-test.nix
+++ b/pkgs/development/tools/build-managers/bazel/protobuf-test.nix
@@ -17,15 +17,29 @@ let
   com_google_protobuf = fetchFromGitHub {
     owner = "protocolbuffers";
     repo = "protobuf";
-    rev = "v3.7.0";
-    sha256 = "0nlxif4cajqllsj2vdh7zp14ag48fb8lsa64zmq8625q9m2lcmdh";
+    rev = "v3.13.0";
+    sha256 = "1nqsvi2yfr93kiwlinz8z7c68ilg1j75b2vcpzxzvripxx5h6xhd";
   };
 
   bazel_skylib = fetchFromGitHub {
     owner = "bazelbuild";
     repo = "bazel-skylib";
-    rev = "f83cb8dd6f5658bc574ccd873e25197055265d1c";
-    sha256 = "091fb0ky0956wgv8gghy9ay3yfx6497mb72qvibf0y9dllmxyn9l";
+    rev = "2ec2e6d715e993d96ad6222770805b5bd25399ae";
+    sha256 = "1z2r2vx6kj102zvp3j032djyv99ski1x1sl4i3p6mswnzrzna86s";
+  };
+
+  rules_python = fetchFromGitHub {
+    owner = "bazelbuild";
+    repo = "rules_python";
+    rev = "c8c79aae9aa1b61d199ad03d5fe06338febd0774";
+    sha256 = "1zn58wv5wcylpi0xj7riw34i1jjpqahanxx8y9srwrv0v93b6pqz";
+  };
+
+  rules_proto = fetchFromGitHub {
+    owner = "bazelbuild";
+    repo = "rules_proto";
+    rev = "a0761ed101b939e19d83b2da5f59034bffc19c12";
+    sha256 = "09lqfj5fxm1fywxr5w8pnpqd859gb6751jka9fhxjxjzs33glhqf";
   };
 
   net_zlib = fetchurl rec {
@@ -40,7 +54,9 @@ let
 
     load("//:proto-support.bzl", "protobuf_deps")
     protobuf_deps()
-  '';
+    load("@rules_proto//proto:repositories.bzl", "rules_proto_toolchains")
+    rules_proto_toolchains()
+    '';
 
   protoSupport = writeText "proto-support.bzl" ''
     """Load dependencies needed to compile the protobuf library as a 3rd-party consumer."""
@@ -62,13 +78,17 @@ let
                 name = "bazel_skylib",
                 path = "${bazel_skylib}",
             )
-
-            native.bind(
-                name = "zlib",
-                actual = "@net_zlib//:zlib",
+            native.local_repository(
+                name = "rules_proto",
+                path = "${rules_proto}",
+            )
+            native.local_repository(
+                name = "rules_python",
+                path = "${rules_python}",
             )
+
             http_archive(
-                name = "net_zlib",
+                name = "zlib",
                 build_file = "@com_google_protobuf//:third_party/zlib.BUILD",
                 sha256 = "${net_zlib.sha256}",
                 strip_prefix = "zlib-1.2.11",
@@ -89,6 +109,8 @@ let
   '';
 
   personBUILD = writeText "BUILD" ''
+    load("@rules_proto//proto:defs.bzl", "proto_library")
+
     proto_library(
         name = "person_proto",
         srcs = ["person.proto"],
diff --git a/pkgs/development/tools/build-managers/bazel/update-srcDeps.py b/pkgs/development/tools/build-managers/bazel/update-srcDeps.py
index 52d40e0f94e85..4105aeeb11bc2 100755
--- a/pkgs/development/tools/build-managers/bazel/update-srcDeps.py
+++ b/pkgs/development/tools/build-managers/bazel/update-srcDeps.py
@@ -47,6 +47,9 @@ def winsdk_configure(*args, **kw): pass
 def register_local_rc_exe_toolchains(*args, **kw): pass
 def register_toolchains(*args, **kw): pass
 def debian_deps(): pass
+def grpc_deps(): pass
+def grpc_extra_deps(): pass
+def bazel_skylib_workspace(): pass
 
 # execute the WORKSPACE like it was python code in this module,
 # using all the function stubs from above.
diff --git a/pkgs/development/tools/build-managers/bloop/default.nix b/pkgs/development/tools/build-managers/bloop/default.nix
index 12fd01e5e4ed6..1b4f74f91d43a 100644
--- a/pkgs/development/tools/build-managers/bloop/default.nix
+++ b/pkgs/development/tools/build-managers/bloop/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bloop";
-  version = "1.4.6";
+  version = "1.4.8";
 
   bloop-coursier-channel = fetchurl {
     url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bloop-coursier.json";
-    sha256 = "1fx80yrf03llhxcd8az5vzralz01wdfk7000q8l04rj1ax3daqia";
+    sha256 = "1hfd5gc98bp4p4m85jva2mlkh10q10n9s5136z8620mmjq93rx70";
   };
 
   bloop-bash = fetchurl {
@@ -54,9 +54,9 @@ stdenv.mkDerivation rec {
 
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash     = if stdenv.isLinux && stdenv.isx86_64 then "1hg02a3ildgqv8864zg08hvk4y0kmsxsg7ncbsl933rclhk2lybd"
-                     else if stdenv.isDarwin && stdenv.isx86_64 then "1i9kh4h5w3gr4w6rf5m7xpfqwps91mfddl1zk25v7f6vsraayam0"
-                     else throw "unsupported platform";
+    outputHash = if stdenv.isLinux && stdenv.isx86_64 then "1cs3ng6bj9s7xf6c4xaiqgg5qr34abnipfgc44sy2ljklr7x0jwa"
+      else if stdenv.isDarwin && stdenv.isx86_64 then "0l9vqvzcmxya1s04cps96skw4dslh3i3ks73dl53ing50zb0ga9r"
+      else throw "unsupported platform";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index 5e5875cc36c47..7c2e5372e7312 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -14,18 +14,18 @@
 assert withQt5 -> useQt4 == false;
 assert useQt4 -> withQt5 == false;
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (rec {
   pname = "cmake"
           + lib.optionalString isBootstrap "-boot"
           + lib.optionalString useNcurses "-cursesUI"
           + lib.optionalString withQt5 "-qt5UI"
           + lib.optionalString useQt4 "-qt4UI";
-  version = "3.19.3";
+  version = "3.19.4";
 
   src = fetchurl {
     url = "${meta.homepage}files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz";
     # compare with https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}-SHA-256.txt
-    sha256 = "sha256-P6ynwTFJSh401m6fiXL/U2nkjUGeqM6qPcFbTBE2dzI=";
+    sha256 = "sha256-fQIyufHFfo3oHzgHHvggPmgg/n7siuRqHfEl2I28wuE=";
   };
 
   patches = [
@@ -130,4 +130,5 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ ttuegel lnl7 ];
     license = licenses.bsd3;
   };
-}
+} // (if withQt5 then { dontWrapQtApps = true; } else {})
+)
diff --git a/pkgs/development/tools/build-managers/conan/default.nix b/pkgs/development/tools/build-managers/conan/default.nix
index c73b7149a361f..da5e11cce2c86 100644
--- a/pkgs/development/tools/build-managers/conan/default.nix
+++ b/pkgs/development/tools/build-managers/conan/default.nix
@@ -1,4 +1,4 @@
-{ lib, python3, fetchFromGitHub, git, pkg-config }:
+{ lib, stdenv, python3, fetchFromGitHub, git, pkg-config, fetchpatch }:
 
 # Note:
 # Conan has specific dependency demands; check
@@ -20,6 +20,13 @@ let newPython = python3.override {
         inherit version;
         sha256 = "1vn1db2akw98ybnpns92qi11v94hydwp130s8753k6ikby95883j";
       };
+      patches = oldAttrs.patches or [] ++ [
+        # Don't raise import error on non-linux os. Remove after upgrading to distro≥1.2.0
+        (fetchpatch {
+          url = "https://github.com/nir0s/distro/commit/25aa3f8c5934346dc838387fc081ce81baddeb95.patch";
+          sha256 = "0m09ldf75gacazh2kr04cifgsqfxg670vk4ypl62zv7fp3nyd5dc";
+        })
+      ];
     });
     node-semver = super.node-semver.overridePythonAttrs (oldAttrs: rec {
       version = "0.6.1";
@@ -69,7 +76,7 @@ in newPython.pkgs.buildPythonApplication rec {
     six
     tqdm
     urllib3
-  ];
+  ] ++ lib.optionals stdenv.isDarwin [ idna cryptography pyopenssl ];
 
   checkInputs = [
     pkg-config
@@ -90,6 +97,9 @@ in newPython.pkgs.buildPythonApplication rec {
     substituteInPlace conans/requirements.txt \
       --replace "PyYAML>=3.11, <3.14.0" "PyYAML" \
       --replace "deprecation>=2.0, <2.1" "deprecation" \
+      --replace "idna==2.6" "idna" \
+      --replace "cryptography>=1.3.4, <2.4.0" "cryptography" \
+      --replace "pyOpenSSL>=16.0.0, <19.0.0" "pyOpenSSL" \
       --replace "six>=1.10.0,<=1.14.0" "six"
   '';
 
@@ -98,6 +108,5 @@ in newPython.pkgs.buildPythonApplication rec {
     description = "Decentralized and portable C/C++ package manager";
     license = licenses.mit;
     maintainers = with maintainers; [ HaoZeke ];
-    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index d314064904d13..4c5d9a5df809e 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -33,7 +33,8 @@ rec {
         echo ${stdenv.cc.cc} > $out/nix-support/manual-runtime-dependencies
       '';
 
-    buildInputs = [ unzip java makeWrapper ];
+    nativeBuildInputs = [ makeWrapper ];
+    buildInputs = [ unzip java ];
 
     meta = {
       description = "Enterprise-grade build system";
@@ -54,12 +55,12 @@ rec {
   gradle_latest = gradle_6_8;
 
   gradle_6_8 = gradleGen rec {
-    name = "gradle-6.8.1";
+    name = "gradle-6.8.3";
     nativeVersion = "0.22-milestone-9";
 
     src = fetchurl {
       url = "https://services.gradle.org/distributions/${name}-bin.zip";
-      sha256 = "1zfn7400k39qbiidd5zxay6v5f5xz8x4g7rrf04p71bkmws1lngx";
+      sha256 = "01fjrk5nfdp6mldyblfmnkq2gv1rz1818kzgr0k2i1wzfsc73akz";
     };
   };
 
diff --git a/pkgs/development/tools/build-managers/leiningen/default.nix b/pkgs/development/tools/build-managers/leiningen/default.nix
index 488697033d91b..51b97b242d5c8 100644
--- a/pkgs/development/tools/build-managers/leiningen/default.nix
+++ b/pkgs/development/tools/build-managers/leiningen/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   dontUnpack = true;
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
   propagatedBuildInputs = [ jdk ];
 
   # the jar is not in share/java, because it's a standalone jar and should
diff --git a/pkgs/development/tools/build-managers/qbs/default.nix b/pkgs/development/tools/build-managers/qbs/default.nix
index 3bf7623ed04c5..73c23b88752e2 100644
--- a/pkgs/development/tools/build-managers/qbs/default.nix
+++ b/pkgs/development/tools/build-managers/qbs/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ qmake ];
 
+  dontWrapQtApps = true;
+
   qmakeFlags = [ "QBS_INSTALL_PREFIX=$(out)" "qbs.pro" ];
 
   buildInputs = [ qtbase qtscript ];
diff --git a/pkgs/development/tools/build-managers/rebar/default.nix b/pkgs/development/tools/build-managers/rebar/default.nix
index d3926beb3216b..30c55dbca3736 100644
--- a/pkgs/development/tools/build-managers/rebar/default.nix
+++ b/pkgs/development/tools/build-managers/rebar/default.nix
@@ -37,5 +37,6 @@ stdenv.mkDerivation {
 
     platforms = lib.platforms.unix;
     license = lib.licenses.asl20;
+    maintainers = lib.teams.beam.members;
   };
 }
diff --git a/pkgs/development/tools/build-managers/rebar3/default.nix b/pkgs/development/tools/build-managers/rebar3/default.nix
index aa3af12c934b4..0c6450766b1a5 100644
--- a/pkgs/development/tools/build-managers/rebar3/default.nix
+++ b/pkgs/development/tools/build-managers/rebar3/default.nix
@@ -136,7 +136,7 @@ stdenv.mkDerivation rec {
       '';
 
     platforms = lib.platforms.unix;
-    maintainers = with lib.maintainers; [ gleber tazjin ];
+    maintainers = lib.teams.beam.members;
     license = lib.licenses.asl20;
   };
 }
diff --git a/pkgs/development/tools/build-managers/redo-sh/default.nix b/pkgs/development/tools/build-managers/redo-sh/default.nix
index d22f4bc487f88..093a825723c07 100644
--- a/pkgs/development/tools/build-managers/redo-sh/default.nix
+++ b/pkgs/development/tools/build-managers/redo-sh/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
     sha256 = "0d3hz3vy5qmjr9r4f8a5cx9hikpzs8h8f0fsl3dpbialf4wck24g";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   sourceRoot = ".";
   installPhase = ''
diff --git a/pkgs/development/tools/build-managers/samurai/default.nix b/pkgs/development/tools/build-managers/samurai/default.nix
index 4360a3f3a3083..1fb4206d5cec2 100644
--- a/pkgs/development/tools/build-managers/samurai/default.nix
+++ b/pkgs/development/tools/build-managers/samurai/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "samurai";
-  version = "1.1";
+  version = "1.2";
 
   src = fetchFromGitHub {
     owner = "michaelforney";
     repo = pname;
     rev = version;
-    sha256 = "0k0amxpi3v9v68a8vc69r4b86xs12vhzm0wxd7f11vap1pnqz2cz";
+    sha256 = "sha256-RPY3MFlnSDBZ5LOkdWnMiR/CZIBdqIFo9uLU+SAKPBI=";
   };
 
   makeFlags = [ "DESTDIR=" "PREFIX=${placeholder "out"}" ];
diff --git a/pkgs/development/tools/build-managers/sbt-extras/default.nix b/pkgs/development/tools/build-managers/sbt-extras/default.nix
index f80d278c86dfc..a593ee72c8b79 100644
--- a/pkgs/development/tools/build-managers/sbt-extras/default.nix
+++ b/pkgs/development/tools/build-managers/sbt-extras/default.nix
@@ -1,22 +1,21 @@
 { lib, stdenv, fetchFromGitHub, which, curl, makeWrapper, jdk, writeScript
-, common-updater-scripts, cacert, git, nixfmt, nix, jq, coreutils, gnused
-, nixosTests }:
+, common-updater-scripts, cacert, git, nixfmt, nix, jq, coreutils, gnused }:
 
 stdenv.mkDerivation rec {
   pname = "sbt-extras";
-  rev = "4db8d5c27413f69297adfffac57485d88d73c60e";
-  version = "2020-12-26";
+  rev = "f080234ba899bb49b0cf977b3683e6446b38c477";
+  version = "2021-02-24";
 
   src = fetchFromGitHub {
     owner = "paulp";
     repo = "sbt-extras";
     inherit rev;
-    sha256 = "B8abzdohkw3aPhbENJ2vxZFLWhIpf0HF/uv+WJbVRYg=";
+    sha256 = "01n25s60ssxls8lkwrni91k35622lyaizymmprcqh243dg3g2qiv";
   };
 
   dontBuild = true;
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
@@ -25,46 +24,43 @@ stdenv.mkDerivation rec {
 
     install bin/sbt $out/bin
 
-    wrapProgram $out/bin/sbt --prefix PATH : ${
-      lib.makeBinPath [ which curl ]
-    }
+    wrapProgram $out/bin/sbt --prefix PATH : ${lib.makeBinPath [ which curl ]}
   '';
 
-  passthru = {
-    tests = { inherit (nixosTests) sbt-extras; };
-
-    updateScript = writeScript "update.sh" ''
-      #!${stdenv.shell}
-      set -xo errexit
-      PATH=${
-        lib.makeBinPath [
-          common-updater-scripts
-          curl
-          cacert
-          git
-          nixfmt
-          nix
-          jq
-          coreutils
-          gnused
-        ]
-      }
-
-      oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion ${pname}" | tr -d '"')"
-      latestSha="$(curl -L -s https://api.github.com/repos/paulp/sbt-extras/commits\?sha\=master\&since\=$oldVersion | jq -r '.[0].sha')"
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/sbt -h >/dev/null
+  '';
 
-      if [ ! "null" = "$latestSha" ]; then
-        nixpkgs="$(git rev-parse --show-toplevel)"
-        default_nix="$nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix"
-        latestDate="$(curl -L -s https://api.github.com/repos/paulp/sbt-extras/commits/$latestSha | jq '.commit.committer.date' | sed 's|"\(.*\)T.*|\1|g')"
-        update-source-version ${pname} "$latestSha" --version-key=rev
-        update-source-version ${pname} "$latestDate" --ignore-same-hash
-        nixfmt "$default_nix"
-      else
-        echo "${pname} is already up-to-date"
-      fi
-    '';
-  };
+  passthru.updateScript = writeScript "update.sh" ''
+     #!${stdenv.shell}
+     set -xo errexit
+     PATH=${
+       lib.makeBinPath [
+         common-updater-scripts
+         curl
+         cacert
+         git
+         nixfmt
+         nix
+         jq
+         coreutils
+         gnused
+       ]
+     }
+    oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion ${pname}" | tr -d '"')"
+     latestSha="$(curl -L -s https://api.github.com/repos/paulp/sbt-extras/commits\?sha\=master\&since\=$oldVersion | jq -r '.[0].sha')"
+    if [ ! "null" = "$latestSha" ]; then
+       nixpkgs="$(git rev-parse --show-toplevel)"
+       default_nix="$nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix"
+       latestDate="$(curl -L -s https://api.github.com/repos/paulp/sbt-extras/commits/$latestSha | jq '.commit.committer.date' | sed 's|"\(.*\)T.*|\1|g')"
+       update-source-version ${pname} "$latestSha" --version-key=rev
+       update-source-version ${pname} "$latestDate" --ignore-same-hash
+       nixfmt "$default_nix"
+     else
+       echo "${pname} is already up-to-date"
+     fi
+  '';
 
   meta = {
     description =
diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index 6bd0b83cec1d6..c9518d685b513 100644
--- a/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -1,14 +1,19 @@
-{ lib, stdenv, fetchurl, jre, autoPatchelfHook, zlib, writeScript
-, common-updater-scripts, git, nixfmt, nix, coreutils, gnused, nixosTests }:
+{ lib
+, stdenv
+, fetchurl
+, jre
+, autoPatchelfHook
+, zlib
+}:
 
 stdenv.mkDerivation rec {
   pname = "sbt";
-  version = "1.4.6";
+  version = "1.4.7";
 
   src = fetchurl {
     url =
       "https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz";
-    sha256 = "sha256-hqbyjnmWYHQQEGarGqGSZ9DI1E6uIdqpPJxgVspvnaQ=";
+    sha256 = "sha256-wqdZ/kCjwhoWtaiNAM1m869vByHk6mG2OULfuDotVP0=";
   };
 
   patchPhase = ''
@@ -28,6 +33,11 @@ stdenv.mkDerivation rec {
     } $out/bin/sbtn
   '';
 
+  doInstallCheck = true;
+  installCheckPhase = ''
+    ($out/bin/sbt --offline --version 2>&1 || true) | grep 'getting org.scala-sbt sbt ${version}  (this may take some time)'
+  '';
+
   meta = with lib; {
     homepage = "https://www.scala-sbt.org/";
     license = licenses.bsd3;
@@ -35,35 +45,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ nequissimus ];
     platforms = platforms.unix;
   };
-
-  passthru = {
-    tests = { inherit (nixosTests) sbt; };
-
-    updateScript = writeScript "update.sh" ''
-      #!${stdenv.shell}
-      set -o errexit
-      PATH=${
-        lib.makeBinPath [
-          common-updater-scripts
-          git
-          nixfmt
-          nix
-          coreutils
-          gnused
-        ]
-      }
-
-      oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion sbt" | tr -d '"')"
-      latestTag="$(git -c 'versionsort.suffix=-' ls-remote --exit-code --refs --sort='version:refname' --tags git@github.com:sbt/sbt.git '*.*.*' | tail --lines=1 | cut --delimiter='/' --fields=3 | sed 's|^v||g')"
-
-      if [ ! "$oldVersion" = "$latestTag" ]; then
-        update-source-version sbt "$latestTag" --version-key=version --print-changes
-        nixpkgs="$(git rev-parse --show-toplevel)"
-        default_nix="$nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix"
-        nixfmt "$default_nix"
-      else
-        echo "sbt is already up-to-date"
-      fi
-    '';
-  };
 }
diff --git a/pkgs/development/tools/build-managers/shards/default.nix b/pkgs/development/tools/build-managers/shards/default.nix
index 8cab1667b2188..5c852f215570b 100644
--- a/pkgs/development/tools/build-managers/shards/default.nix
+++ b/pkgs/development/tools/build-managers/shards/default.nix
@@ -1,7 +1,7 @@
 { lib
 , fetchFromGitHub
 , crystal_0_34
-, crystal_0_35
+, crystal_0_36
 }:
 let
   generic =
@@ -36,17 +36,18 @@ let
 
 in
 rec {
+  # needed for anything that requires the old v1 shards format
   shards_0_11 = generic {
     version = "0.11.1";
     sha256 = "05qnhc23xbmicdl4fwyxfpcvd8jq4inzh6v7jsjjw4n76vzb1f71";
     crystal = crystal_0_34;
   };
 
-  shards_0_12 = generic {
+  shards_0_13 = generic {
     version = "0.12.0";
     sha256 = "0dginczw1gc5qlb9k4b6ldxzqz8n97jrrnjvj3mm9wcdbc9j6h3c";
-    crystal = crystal_0_35;
+    crystal = crystal_0_36;
   };
 
-  shards = shards_0_12;
+  shards = shards_0_13;
 }
diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix
index 18d41d6f74077..24ee987099b4c 100644
--- a/pkgs/development/tools/buildah/default.nix
+++ b/pkgs/development/tools/buildah/default.nix
@@ -14,17 +14,21 @@
 
 buildGoModule rec {
   pname = "buildah";
-  version = "1.19.3";
+  version = "1.19.6";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "buildah";
     rev = "v${version}";
-    sha256 = "sha256-mHr+FuDMxLA5Y7BNbDN75mdHVP6Ah1/S5vXg6cC/dcE=";
+    sha256 = "sha256-YTguBkQcMNjHMVMEN3/P+8fOC5eqmQvlRd1ny9umS/4=";
   };
 
   outputs = [ "out" "man" ];
 
+  patches = [
+    ../../../applications/virtualization/podman/remove-unconfigured-runtime-warn.patch
+  ];
+
   vendorSha256 = null;
 
   doCheck = false;
diff --git a/pkgs/development/tools/buildah/wrapper.nix b/pkgs/development/tools/buildah/wrapper.nix
index dfa465cfdea78..a31dece7df5e4 100644
--- a/pkgs/development/tools/buildah/wrapper.nix
+++ b/pkgs/development/tools/buildah/wrapper.nix
@@ -17,6 +17,8 @@
 let
   buildah = buildah-unwrapped;
 
+  preferLocalBuild = true;
+
   binPath = lib.makeBinPath ([
     runc
     crun
diff --git a/pkgs/development/tools/buildkit/default.nix b/pkgs/development/tools/buildkit/default.nix
index 558940587949d..806eb7c5b0edc 100644
--- a/pkgs/development/tools/buildkit/default.nix
+++ b/pkgs/development/tools/buildkit/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "buildkit";
-  version = "0.8.1";
+  version = "0.8.2";
 
   goPackagePath = "github.com/moby/buildkit";
   subPackages = [ "cmd/buildctl" ] ++ lib.optionals stdenv.isLinux [ "cmd/buildkitd" ];
@@ -11,7 +11,7 @@ buildGoPackage rec {
     owner = "moby";
     repo = "buildkit";
     rev = "v${version}";
-    sha256 = "0lqfz097nyb6q6bn5mmfg6vl1nmgb6k4lmwxc8anza6zp8qh7wif";
+    sha256 = "sha256-aPVroqpR4ynfHhjJ6jJX6y5cdgmoUny3A8GBhnooOeo=";
   };
 
   buildFlagsArray = [ "-ldflags=-s -w -X ${goPackagePath}/version.Version=${version} -X ${goPackagePath}/version.Revision=${src.rev}" ];
diff --git a/pkgs/development/tools/buildpack/default.nix b/pkgs/development/tools/buildpack/default.nix
index 68d0a53387a6a..aa60d7be5b51f 100644
--- a/pkgs/development/tools/buildpack/default.nix
+++ b/pkgs/development/tools/buildpack/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "pack";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "buildpacks";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-fNPgdMwqQq2Gh/rkf6KHEd34rnQqhw7Jf1L34oVorqM=";
+    sha256 = "sha256-VTQ3NOskBp7ic8a/nn/ZbALJVff+Pb/ZHHbld/OxQdo=";
   };
 
-  vendorSha256 = "sha256-U38j5fxECKjYr5pqaNk0+Z0opQNqiYV2+6dIEaHUVF8=";
+  vendorSha256 = "sha256-n8X2NyQiOpEQ0d/ek1kdxKFfaCFf0EucflVLZjOGMfY=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/checkmake/default.nix b/pkgs/development/tools/checkmake/default.nix
new file mode 100644
index 0000000000000..c48dbe680238d
--- /dev/null
+++ b/pkgs/development/tools/checkmake/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, buildGoPackage, fetchFromGitHub, git, pandoc, lib }:
+
+buildGoPackage rec {
+  pname = "checkmake";
+  version = "0.1.0-2020.11.30";
+
+  goPackagePath = "github.com/mrtazz/checkmake";
+
+  src = fetchFromGitHub {
+    owner = "mrtazz";
+    repo = pname;
+    rev = "575315c9924da41534a9d0ce91c3f0d19bb53ffc";
+    sha256 = "121rsl9mh3wwadgf8ggi2xnb050pak6ma68b2sw5j8clmxbrqli3";
+  };
+
+  nativeBuildInputs = [ pandoc ];
+
+  preBuild =
+    let
+      buildVars = {
+        version = version;
+        buildTime = "N/A";
+        builder = "nix";
+        goversion = "$(go version | egrep -o 'go[0-9]+[.][^ ]*')";
+      };
+      buildVarsFlags = lib.concatStringsSep " " (lib.mapAttrsToList (k: v: "-X main.${k}=${v}") buildVars);
+    in
+    ''
+      buildFlagsArray+=("-ldflags=${buildVarsFlags}")
+    '';
+
+  postInstall = ''
+    pandoc -s -t man -o checkmake.1 go/src/${goPackagePath}/man/man1/checkmake.1.md
+    mkdir -p $out/share/man/man1
+    mv checkmake.1 $out/share/man/man1/checkmake.1
+  '';
+
+  meta = with lib; {
+    description = "Experimental tool for linting and checking Makefiles";
+    homepage = https://github.com/mrtazz/checkmake;
+    license = licenses.mit;
+    maintainers = with maintainers; [ vidbina ];
+    platforms = platforms.linux;
+    longDescription = ''
+      checkmake is an experimental tool for linting and checking
+      Makefiles. It may not do what you want it to.
+    '';
+  };
+}
diff --git a/pkgs/development/tools/chefdk/Gemfile b/pkgs/development/tools/chefdk/Gemfile
index 47451c66d27f8..0717cd32232b7 100644
--- a/pkgs/development/tools/chefdk/Gemfile
+++ b/pkgs/development/tools/chefdk/Gemfile
@@ -1,6 +1,6 @@
 source 'https://rubygems.org'
 
-gem 'chef-dk', '4.7.73'
+gem 'chef-dk', '4.13.3'
 gem 'pry'
 gem 'test-kitchen'
 gem 'inspec'
diff --git a/pkgs/development/tools/chefdk/Gemfile.lock b/pkgs/development/tools/chefdk/Gemfile.lock
index ce23018bd738d..1f71a4a713245 100644
--- a/pkgs/development/tools/chefdk/Gemfile.lock
+++ b/pkgs/development/tools/chefdk/Gemfile.lock
@@ -1,7 +1,7 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (5.2.4.1)
+    activesupport (5.2.4.5)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
@@ -9,166 +9,213 @@ GEM
     addressable (2.5.2)
       public_suffix (>= 2.0.2, < 4.0)
     app_conf (0.4.2)
-    ast (2.4.0)
-    aws-eventstream (1.0.3)
-    aws-partitions (1.275.0)
-    aws-sdk-apigateway (1.36.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    ast (2.4.2)
+    aws-eventstream (1.1.0)
+    aws-partitions (1.426.0)
+    aws-sdk-apigateway (1.59.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-apigatewayv2 (1.15.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-apigatewayv2 (1.31.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-athena (1.22.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-applicationautoscaling (1.49.0)
+      aws-sdk-core (~> 3, >= 3.109.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-autoscaling (1.22.0)
-      aws-sdk-core (~> 3, >= 3.52.1)
+    aws-sdk-athena (1.35.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-budgets (1.27.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-autoscaling (1.53.0)
+      aws-sdk-core (~> 3, >= 3.109.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-cloudformation (1.30.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-batch (1.43.0)
+      aws-sdk-core (~> 3, >= 3.109.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-cloudhsm (1.19.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-budgets (1.37.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-cloudhsmv2 (1.20.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-cloudformation (1.47.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-cloudtrail (1.20.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-cloudfront (1.48.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-cloudwatch (1.32.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-cloudhsm (1.28.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-cloudwatchlogs (1.28.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-cloudhsmv2 (1.32.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-codecommit (1.30.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-cloudtrail (1.33.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-codedeploy (1.27.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-cloudwatch (1.49.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-codepipeline (1.28.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-cloudwatchevents (1.40.0)
+      aws-sdk-core (~> 3, >= 3.109.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-configservice (1.40.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-cloudwatchlogs (1.39.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-core (3.90.1)
-      aws-eventstream (~> 1.0, >= 1.0.2)
+    aws-sdk-codecommit (1.41.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-codedeploy (1.38.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-codepipeline (1.40.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-cognitoidentity (1.29.0)
+      aws-sdk-core (~> 3, >= 3.109.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-cognitoidentityprovider (1.48.0)
+      aws-sdk-core (~> 3, >= 3.109.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-configservice (1.56.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-core (3.112.0)
+      aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.239.0)
       aws-sigv4 (~> 1.1)
       jmespath (~> 1.0)
-    aws-sdk-costandusagereportservice (1.18.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-costandusagereportservice (1.29.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-databasemigrationservice (1.50.0)
+      aws-sdk-core (~> 3, >= 3.109.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-dynamodb (1.59.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-ec2 (1.224.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-ecr (1.41.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-dynamodb (1.43.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-ecs (1.74.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-ec2 (1.144.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-efs (1.37.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-ecr (1.25.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-eks (1.47.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-ecs (1.57.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-elasticache (1.53.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-eks (1.31.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-elasticbeanstalk (1.41.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-elasticache (1.29.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-elasticloadbalancing (1.30.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-elasticbeanstalk (1.26.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-elasticloadbalancingv2 (1.59.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-elasticloadbalancing (1.19.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-elasticsearchservice (1.48.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-elasticloadbalancingv2 (1.39.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-firehose (1.36.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-elasticsearchservice (1.30.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-glue (1.82.0)
+      aws-sdk-core (~> 3, >= 3.109.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-firehose (1.24.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-guardduty (1.44.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-iam (1.33.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-iam (1.47.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-kafka (1.17.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-kafka (1.34.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-kinesis (1.20.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-kinesis (1.31.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-kms (1.29.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-kms (1.42.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-lambda (1.36.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-lambda (1.59.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-organizations (1.17.0)
-      aws-sdk-core (~> 3, >= 3.39.0)
-      aws-sigv4 (~> 1.0)
-    aws-sdk-rds (1.78.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-organizations (1.55.0)
+      aws-sdk-core (~> 3, >= 3.109.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-redshift (1.37.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-ram (1.22.0)
+      aws-sdk-core (~> 3, >= 3.109.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-route53 (1.30.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-rds (1.112.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-route53domains (1.18.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-redshift (1.54.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-route53resolver (1.11.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
+    aws-sdk-route53 (1.46.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-s3 (1.60.2)
-      aws-sdk-core (~> 3, >= 3.83.0)
+    aws-sdk-route53domains (1.29.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-route53resolver (1.23.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-s3 (1.88.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sdk-kms (~> 1)
       aws-sigv4 (~> 1.1)
-    aws-sdk-securityhub (1.18.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
-      aws-sigv4 (~> 1.1)
-    aws-sdk-ses (1.27.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
-      aws-sigv4 (~> 1.1)
-    aws-sdk-sms (1.17.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
-      aws-sigv4 (~> 1.1)
-    aws-sdk-sns (1.21.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
-      aws-sigv4 (~> 1.1)
-    aws-sdk-sqs (1.23.1)
-      aws-sdk-core (~> 3, >= 3.71.0)
-      aws-sigv4 (~> 1.1)
-    aws-sdk-ssm (1.71.0)
-      aws-sdk-core (~> 3, >= 3.71.0)
-      aws-sigv4 (~> 1.1)
-    aws-sigv4 (1.1.0)
-      aws-eventstream (~> 1.0, >= 1.0.2)
-    azure_graph_rbac (0.17.1)
-      ms_rest_azure (~> 0.11.0)
-    azure_mgmt_key_vault (0.17.5)
-      ms_rest_azure (~> 0.11.1)
-    azure_mgmt_resources (0.17.8)
-      ms_rest_azure (~> 0.11.1)
-    azure_mgmt_security (0.18.0)
-      ms_rest_azure (~> 0.11.1)
-    azure_mgmt_storage (0.19.2)
-      ms_rest_azure (~> 0.11.1)
-    backports (3.16.1)
-    bcrypt_pbkdf (1.0.1)
-    berkshelf (7.0.9)
-      chef (>= 13.6.52)
+    aws-sdk-secretsmanager (1.43.0)
+      aws-sdk-core (~> 3, >= 3.109.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-securityhub (1.40.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-servicecatalog (1.57.0)
+      aws-sdk-core (~> 3, >= 3.109.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-ses (1.37.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-shield (1.34.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-sms (1.28.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-sns (1.38.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-sqs (1.36.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-ssm (1.104.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-states (1.37.0)
+      aws-sdk-core (~> 3, >= 3.109.0)
+      aws-sigv4 (~> 1.1)
+    aws-sdk-transfer (1.29.0)
+      aws-sdk-core (~> 3, >= 3.109.0)
+      aws-sigv4 (~> 1.1)
+    aws-sigv4 (1.2.2)
+      aws-eventstream (~> 1, >= 1.0.2)
+    azure_graph_rbac (0.17.2)
+      ms_rest_azure (~> 0.12.0)
+    azure_mgmt_key_vault (0.17.7)
+      ms_rest_azure (~> 0.12.0)
+    azure_mgmt_resources (0.18.1)
+      ms_rest_azure (~> 0.12.0)
+    azure_mgmt_security (0.19.0)
+      ms_rest_azure (~> 0.12.0)
+    azure_mgmt_storage (0.22.0)
+      ms_rest_azure (~> 0.12.0)
+    bcrypt_pbkdf (1.1.0)
+    berkshelf (7.1.0)
+      chef (>= 15.7.32)
       chef-config
       cleanroom (~> 1.0)
       concurrent-ruby (~> 1.0)
@@ -181,18 +228,18 @@ GEM
       solve (~> 4.0)
       thor (>= 0.20)
     builder (3.2.4)
-    chef (15.8.23)
+    chef (15.15.0)
       addressable
       bcrypt_pbkdf (~> 1.0)
       bundler (>= 1.10)
-      chef-config (= 15.8.23)
-      chef-utils (= 15.8.23)
+      chef-config (= 15.15.0)
+      chef-utils (= 15.15.0)
       chef-zero (>= 14.0.11)
       diff-lcs (~> 1.2, >= 1.2.4)
       ed25519 (~> 1.2)
       erubis (~> 2.7)
       ffi (~> 1.9, >= 1.9.25)
-      ffi-libarchive
+      ffi-libarchive (~> 1.0, >= 1.0.3)
       ffi-yajl (~> 2.2)
       highline (>= 1.6.9, < 2)
       iniparse (~> 1.4)
@@ -202,37 +249,37 @@ GEM
       mixlib-cli (>= 2.1.1, < 3.0)
       mixlib-log (>= 2.0.3, < 4.0)
       mixlib-shellout (>= 3.0.3, < 4.0)
-      net-sftp (~> 2.1, >= 2.1.2)
-      net-ssh (>= 4.2, < 6)
+      net-sftp (>= 2.1.2, < 4.0)
+      net-ssh (>= 4.2, < 7)
       net-ssh-multi (~> 1.2, >= 1.2.1)
       ohai (~> 15.0)
       plist (~> 3.2)
       proxifier (~> 1.0)
       syslog-logger (~> 1.6)
-      train-core (~> 3.1)
+      train-core (~> 3.2, >= 3.2.28)
       train-winrm (>= 0.2.5)
       tty-screen (~> 0.6)
       uuidtools (~> 2.1.5)
-    chef-cli (2.0.0)
-      addressable (>= 2.3.5, < 2.6)
-      chef (>= 14.0)
+    chef-cli (3.1.1)
+      addressable (>= 2.3.5, < 2.8)
+      chef (>= 15.0)
       cookbook-omnifetch (~> 0.5)
-      diff-lcs (~> 1.0)
+      diff-lcs (>= 1.0, < 1.4)
       ffi-yajl (>= 1.0, < 3.0)
-      license-acceptance (~> 1.0, >= 1.0.11)
+      license-acceptance (>= 1.0.11, < 3)
       minitar (~> 0.6)
       mixlib-cli (>= 1.7, < 3.0)
       mixlib-shellout (>= 2.0, < 4.0)
-      paint (~> 1.0)
+      pastel (~> 0.7)
       solve (> 2.0, < 5.0)
-    chef-config (15.8.23)
+    chef-config (15.15.0)
       addressable
-      chef-utils (= 15.8.23)
+      chef-utils (= 15.15.0)
       fuzzyurl
       mixlib-config (>= 2.2.12, < 4.0)
       mixlib-shellout (>= 2.0, < 4.0)
       tomlrb (~> 1.2)
-    chef-dk (4.7.73)
+    chef-dk (4.13.3)
       addressable (>= 2.3.5, < 2.6)
       chef (~> 15.0)
       cookbook-omnifetch (~> 0.5)
@@ -254,13 +301,12 @@ GEM
       winrm (~> 2.0)
       winrm-elevated (~> 1.0)
       winrm-fs (~> 1.0)
-    chef-telemetry (1.0.3)
+    chef-telemetry (1.0.14)
       chef-config
       concurrent-ruby (~> 1.0)
       ffi-yajl (~> 2.2)
-      http (~> 2.2)
-    chef-utils (15.8.23)
-    chef-vault (4.0.1)
+    chef-utils (15.15.0)
+    chef-vault (4.1.0)
     chef-zero (14.0.17)
       ffi-yajl (~> 2.2)
       hashie (>= 2.0, < 4.0)
@@ -270,51 +316,47 @@ GEM
     cheffish (14.0.13)
       chef-zero (~> 14.0)
       net-ssh
-    chefspec (9.1.0)
+    chefspec (9.2.1)
       chef (>= 14)
       chef-cli
       fauxhai-ng (>= 7.5)
       rspec (~> 3.0)
     cleanroom (1.0.0)
-    coderay (1.1.2)
-    concurrent-ruby (1.1.6)
-    cookbook-omnifetch (0.9.1)
+    coderay (1.1.3)
+    concurrent-ruby (1.1.8)
+    cookbook-omnifetch (0.11.1)
       mixlib-archive (>= 0.4, < 2.0)
-    cucumber-core (3.2.1)
-      backports (>= 3.8.0)
-      cucumber-tag_expressions (~> 1.1.0)
-      gherkin (~> 5.0)
-    cucumber-tag_expressions (1.1.1)
-    declarative (0.0.10)
+    declarative (0.0.20)
     declarative-option (0.1.0)
     diff-lcs (1.3)
-    diffy (3.3.0)
-    docker-api (1.34.2)
+    diffy (3.4.0)
+    docker-api (2.0.0)
       excon (>= 0.47.0)
       multi_json
     domain_name (0.5.20190701)
       unf (>= 0.0.5, < 1.0.0)
     ed25519 (1.2.4)
-    equatable (0.6.1)
-    erubi (1.9.0)
+    erubi (1.10.0)
     erubis (2.7.0)
-    excon (0.72.0)
-    faraday (0.17.3)
+    excon (0.79.0)
+    faraday (1.3.0)
+      faraday-net_http (~> 1.0)
       multipart-post (>= 1.2, < 3)
-    faraday-cookie_jar (0.0.6)
-      faraday (>= 0.7.4)
+      ruby2_keywords
+    faraday-cookie_jar (0.0.7)
+      faraday (>= 0.8.0)
       http-cookie (~> 1.0.0)
-    faraday_middleware (0.12.2)
-      faraday (>= 0.7.4, < 1.0)
-    fauxhai-ng (7.6.0)
+    faraday-net_http (1.0.1)
+    faraday_middleware (1.0.0)
+      faraday (~> 1.0)
+    fauxhai-ng (8.7.0)
       net-ssh
-    ffi (1.12.2)
-    ffi-libarchive (1.0.0)
+    ffi (1.14.2)
+    ffi-libarchive (1.0.17)
       ffi (~> 1.0)
-    ffi-yajl (2.3.3)
+    ffi-yajl (2.3.4)
       libyajl2 (~> 1.2)
-    foodcritic (16.2.0)
-      cucumber-core (>= 1.3, < 4.0)
+    foodcritic (16.3.0)
       erubis
       ffi-yajl (~> 2.0)
       nokogiri (>= 1.5, < 2.0)
@@ -322,138 +364,124 @@ GEM
       rufus-lru (~> 1.0)
       treetop (~> 1.4)
     fuzzyurl (0.9.0)
-    gherkin (5.1.0)
-    git (1.6.0)
+    git (1.8.1)
       rchardet (~> 1.8)
-    google-api-client (0.34.1)
+    google-api-client (0.52.0)
       addressable (~> 2.5, >= 2.5.1)
       googleauth (~> 0.9)
       httpclient (>= 2.8.1, < 3.0)
       mini_mime (~> 1.0)
       representable (~> 3.0)
       retriable (>= 2.0, < 4.0)
+      rexml
       signet (~> 0.12)
-    googleauth (0.10.0)
-      faraday (~> 0.12)
+    googleauth (0.14.0)
+      faraday (>= 0.17.3, < 2.0)
       jwt (>= 1.4, < 3.0)
       memoist (~> 0.16)
       multi_json (~> 1.11)
       os (>= 0.9, < 2.0)
-      signet (~> 0.12)
-    gssapi (1.3.0)
+      signet (~> 0.14)
+    gssapi (1.3.1)
       ffi (>= 1.0.1)
     gyoku (1.3.1)
       builder (>= 2.1.2)
     hashie (3.6.0)
     highline (1.7.10)
-    htmlentities (4.3.4)
-    http (2.2.2)
-      addressable (~> 2.3)
-      http-cookie (~> 1.0)
-      http-form_data (~> 1.0.1)
-      http_parser.rb (~> 0.6.0)
     http-cookie (1.0.3)
       domain_name (~> 0.5)
-    http-form_data (1.0.3)
-    http_parser.rb (0.6.0)
     httpclient (2.8.3)
-    i18n (1.8.2)
+    i18n (1.8.8)
       concurrent-ruby (~> 1.0)
     inifile (3.0.0)
-    iniparse (1.4.4)
-    inspec (4.18.85)
-      faraday_middleware (~> 0.12.2)
-      inspec-core (= 4.18.85)
+    iniparse (1.5.0)
+    inspec (4.26.4)
+      faraday_middleware (>= 0.12.2, < 1.1)
+      inspec-core (= 4.26.4)
       train (~> 3.0)
       train-aws (~> 0.1)
       train-habitat (~> 0.1)
       train-winrm (~> 0.2)
-    inspec-core (4.18.85)
+    inspec-core (4.26.4)
       addressable (~> 2.4)
       chef-telemetry (~> 1.0)
-      faraday (>= 0.9.0)
-      hashie (~> 3.4)
-      htmlentities (~> 4.3)
-      json-schema (~> 2.8)
-      license-acceptance (>= 0.2.13, < 2.0)
-      method_source (~> 0.8)
+      faraday (>= 0.9.0, < 1.4)
+      faraday_middleware (~> 1.0)
+      hashie (>= 3.4, < 5.0)
+      license-acceptance (>= 0.2.13, < 3.0)
+      method_source (>= 0.8, < 2.0)
       mixlib-log (~> 3.0)
       multipart-post (~> 2.0)
       parallel (~> 1.9)
-      parslet (~> 1.5)
-      pry (~> 0)
-      rspec (~> 3.9)
+      parslet (>= 1.5, < 2.0)
+      pry (~> 0.13)
+      rspec (>= 3.9, < 3.11)
       rspec-its (~> 1.2)
-      rubyzip (~> 1.2, >= 1.2.2)
+      rubyzip (>= 1.2.2, < 3.0)
       semverse (~> 3.0)
       sslshake (~> 1.2)
-      term-ansicolor (~> 1.7)
       thor (>= 0.20, < 2.0)
-      tomlrb (~> 1.2)
+      tomlrb (>= 1.2, < 2.1)
       train-core (~> 3.0)
       tty-prompt (~> 0.17)
       tty-table (~> 0.10)
     ipaddress (0.8.3)
-    jaro_winkler (1.5.4)
     jmespath (1.4.0)
-    json (2.3.0)
-    json-schema (2.8.1)
-      addressable (>= 2.4)
-    jwt (2.2.1)
-    kitchen-inspec (1.3.1)
-      hashie (~> 3.4)
-      inspec (>= 1.47, < 5.0)
-      test-kitchen (>= 1.6, < 3)
-    kitchen-vagrant (1.6.1)
+    json (2.5.1)
+    jwt (2.2.2)
+    kitchen-inspec (2.3.0)
+      hashie (>= 3.4, <= 5.0)
+      inspec (>= 2.2.64, < 5.0)
+      test-kitchen (>= 2.7, < 3)
+    kitchen-vagrant (1.8.0)
       test-kitchen (>= 1.4, < 3)
-    knife-spork (1.7.2)
+    knife-spork (1.7.3)
       app_conf (>= 0.4.0)
       chef (>= 11.0.0)
       diffy (>= 3.0.1)
       git (>= 1.2.5)
     libyajl2 (1.2.0)
-    license-acceptance (1.0.13)
+    license-acceptance (1.0.19)
       pastel (~> 0.7)
       tomlrb (~> 1.2)
       tty-box (~> 0.3)
       tty-prompt (~> 0.18)
     little-plugger (1.1.4)
-    logging (2.2.2)
+    logging (2.3.0)
       little-plugger (~> 1.1)
-      multi_json (~> 1.10)
+      multi_json (~> 1.14)
     memoist (0.16.2)
-    method_source (0.9.2)
+    method_source (1.0.0)
     mini_mime (1.0.2)
-    mini_portile2 (2.4.0)
+    mini_portile2 (2.5.0)
     minitar (0.9)
-    minitest (5.14.0)
-    mixlib-archive (1.0.5)
+    minitest (5.14.3)
+    mixlib-archive (1.1.4)
       mixlib-log
-    mixlib-authentication (3.0.6)
-    mixlib-cli (2.1.5)
-    mixlib-config (3.0.6)
+    mixlib-authentication (3.0.7)
+    mixlib-cli (2.1.8)
+    mixlib-config (3.0.9)
       tomlrb
-    mixlib-install (3.11.26)
+    mixlib-install (3.12.5)
       mixlib-shellout
       mixlib-versioning
       thor
-    mixlib-log (3.0.8)
-    mixlib-shellout (3.0.9)
+    mixlib-log (3.0.9)
+    mixlib-shellout (3.2.2)
+      chef-utils
     mixlib-versioning (1.2.12)
-    molinillo (0.6.6)
-    ms_rest (0.7.5)
+    molinillo (0.7.0)
+    ms_rest (0.7.6)
       concurrent-ruby (~> 1.0)
-      faraday (~> 0.9)
+      faraday (>= 0.9, < 2.0.0)
       timeliness (~> 0.3.10)
-    ms_rest_azure (0.11.1)
+    ms_rest_azure (0.12.0)
       concurrent-ruby (~> 1.0)
-      faraday (~> 0.9)
+      faraday (>= 0.9, < 2.0.0)
       faraday-cookie_jar (~> 0.0.6)
-      ms_rest (~> 0.7.4)
-      unf_ext (= 0.0.7.2)
-    multi_json (1.14.1)
+      ms_rest (~> 0.7.6)
+    multi_json (1.15.0)
     multipart-post (2.1.1)
-    necromancer (0.5.1)
     net-scp (1.2.1)
       net-ssh (>= 2.6.5)
     net-sftp (2.1.2)
@@ -464,13 +492,14 @@ GEM
     net-ssh-multi (1.2.1)
       net-ssh (>= 2.6.5)
       net-ssh-gateway (>= 1.2.0)
-    nokogiri (1.10.8)
-      mini_portile2 (~> 2.4.0)
+    nokogiri (1.11.1)
+      mini_portile2 (~> 2.5.0)
+      racc (~> 1.4)
     nori (2.6.0)
-    octokit (4.16.0)
+    octokit (4.20.0)
       faraday (>= 0.9)
       sawyer (~> 0.8.0, >= 0.5.3)
-    ohai (15.7.4)
+    ohai (15.12.0)
       chef-config (>= 12.8, < 16)
       ffi (~> 1.9)
       ffi-yajl (~> 2.2)
@@ -482,26 +511,27 @@ GEM
       plist (~> 3.1)
       systemu (~> 2.6.4)
       wmi-lite (~> 1.0)
-    os (1.0.1)
+    os (1.1.1)
     paint (1.0.1)
-    parallel (1.19.1)
-    parser (2.7.0.2)
-      ast (~> 2.4.0)
+    parallel (1.20.1)
+    parser (3.0.0.0)
+      ast (~> 2.4.1)
     parslet (1.8.2)
-    pastel (0.7.3)
-      equatable (~> 0.6)
+    pastel (0.8.0)
       tty-color (~> 0.5)
-    plist (3.5.0)
+    plist (3.6.0)
     polyglot (0.3.5)
     proxifier (1.0.3)
-    pry (0.12.2)
-      coderay (~> 1.1.0)
-      method_source (~> 0.9.0)
+    pry (0.14.0)
+      coderay (~> 1.1)
+      method_source (~> 1.0)
     public_suffix (3.1.1)
-    rack (2.2.2)
+    racc (1.5.2)
+    rack (2.2.3)
     rainbow (3.0.0)
-    rake (13.0.1)
+    rake (13.0.3)
     rchardet (1.8.0)
+    regexp_parser (2.0.3)
     representable (3.0.4)
       declarative (< 0.1.0)
       declarative-option (< 0.2.0)
@@ -509,110 +539,118 @@ GEM
     retriable (3.1.2)
     retryable (3.0.5)
     rexml (3.2.4)
-    rspec (3.9.0)
-      rspec-core (~> 3.9.0)
-      rspec-expectations (~> 3.9.0)
-      rspec-mocks (~> 3.9.0)
-    rspec-core (3.9.1)
-      rspec-support (~> 3.9.1)
-    rspec-expectations (3.9.0)
+    rspec (3.10.0)
+      rspec-core (~> 3.10.0)
+      rspec-expectations (~> 3.10.0)
+      rspec-mocks (~> 3.10.0)
+    rspec-core (3.10.1)
+      rspec-support (~> 3.10.0)
+    rspec-expectations (3.10.1)
       diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.9.0)
+      rspec-support (~> 3.10.0)
     rspec-its (1.3.0)
       rspec-core (>= 3.0.0)
       rspec-expectations (>= 3.0.0)
-    rspec-mocks (3.9.1)
+    rspec-mocks (3.10.2)
       diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.9.0)
-    rspec-support (3.9.2)
-    rubocop (0.80.0)
-      jaro_winkler (~> 1.5.1)
+      rspec-support (~> 3.10.0)
+    rspec-support (3.10.2)
+    rubocop (1.9.1)
       parallel (~> 1.10)
-      parser (>= 2.7.0.1)
+      parser (>= 3.0.0.0)
       rainbow (>= 2.2.2, < 4.0)
+      regexp_parser (>= 1.8, < 3.0)
       rexml
+      rubocop-ast (>= 1.2.0, < 2.0)
       ruby-progressbar (~> 1.7)
-      unicode-display_width (>= 1.4.0, < 1.7)
-    ruby-progressbar (1.10.1)
-    rubyntlm (0.6.2)
-    rubyzip (1.3.0)
+      unicode-display_width (>= 1.4.0, < 3.0)
+    rubocop-ast (1.4.1)
+      parser (>= 2.7.1.5)
+    ruby-progressbar (1.11.0)
+    ruby2_keywords (0.0.4)
+    rubyntlm (0.6.3)
+    rubyzip (2.3.0)
     rufus-lru (1.1.0)
     sawyer (0.8.2)
       addressable (>= 2.3.5)
       faraday (> 0.8, < 2.0)
     semverse (3.0.0)
-    signet (0.12.0)
+    signet (0.14.1)
       addressable (~> 2.3)
-      faraday (~> 0.9)
+      faraday (>= 0.17.3, < 2.0)
       jwt (>= 1.5, < 3.0)
       multi_json (~> 1.10)
-    solve (4.0.3)
+    solve (4.0.4)
       molinillo (~> 0.6)
       semverse (>= 1.1, < 4.0)
-    sslshake (1.3.0)
-    strings (0.1.8)
-      strings-ansi (~> 0.1)
+    sslshake (1.3.1)
+    strings (0.2.0)
+      strings-ansi (~> 0.2)
       unicode-display_width (~> 1.5)
       unicode_utils (~> 1.4)
     strings-ansi (0.2.0)
-    sync (0.5.0)
     syslog-logger (1.6.8)
     systemu (2.6.5)
-    term-ansicolor (1.7.1)
-      tins (~> 1.0)
-    test-kitchen (2.3.4)
+    test-kitchen (2.10.0)
       bcrypt_pbkdf (~> 1.0)
       ed25519 (~> 1.2)
-      license-acceptance (~> 1.0, >= 1.0.11)
+      license-acceptance (>= 1.0.11, < 3.0)
       mixlib-install (~> 3.6)
       mixlib-shellout (>= 1.2, < 4.0)
-      net-scp (>= 1.1, < 3.0)
-      net-ssh (>= 2.9, < 6.0)
+      net-scp (>= 1.1, < 4.0)
+      net-ssh (>= 2.9, < 7.0)
       net-ssh-gateway (>= 1.2, < 3.0)
-      thor (~> 0.19)
+      thor (>= 0.19, < 2.0)
       winrm (~> 2.0)
       winrm-elevated (~> 1.0)
       winrm-fs (~> 1.1)
-    thor (0.20.3)
+    thor (1.1.0)
     thread_safe (0.3.6)
     timeliness (0.3.10)
-    tins (1.24.1)
-      sync
-    tomlrb (1.2.9)
-    train (3.2.22)
-      activesupport (~> 5.2.3)
+    tomlrb (1.3.0)
+    train (3.4.9)
+      activesupport (>= 5.2.4.3, < 6.0.0)
       azure_graph_rbac (~> 0.16)
       azure_mgmt_key_vault (~> 0.17)
       azure_mgmt_resources (~> 0.15)
       azure_mgmt_security (~> 0.18)
       azure_mgmt_storage (~> 0.18)
-      docker-api (~> 1.26)
-      google-api-client (>= 0.23.9, < 0.35.0)
-      googleauth (>= 0.6.6, < 0.11.0)
-      train-core (= 3.2.22)
+      docker-api (>= 1.26, < 3.0)
+      google-api-client (>= 0.23.9, <= 0.52.0)
+      googleauth (>= 0.6.6, <= 0.14.0)
+      inifile (~> 3.0)
+      train-core (= 3.4.9)
       train-winrm (~> 0.2)
-    train-aws (0.1.15)
+    train-aws (0.1.35)
       aws-sdk-apigateway (~> 1.0)
       aws-sdk-apigatewayv2 (~> 1.0)
+      aws-sdk-applicationautoscaling (>= 1.46, < 1.50)
       aws-sdk-athena (~> 1.0)
-      aws-sdk-autoscaling (~> 1.22.0)
+      aws-sdk-autoscaling (>= 1.22, < 1.54)
+      aws-sdk-batch (>= 1.36, < 1.44)
       aws-sdk-budgets (~> 1.0)
       aws-sdk-cloudformation (~> 1.0)
+      aws-sdk-cloudfront (~> 1.0)
       aws-sdk-cloudhsm (~> 1.0)
       aws-sdk-cloudhsmv2 (~> 1.0)
       aws-sdk-cloudtrail (~> 1.8)
       aws-sdk-cloudwatch (~> 1.13)
+      aws-sdk-cloudwatchevents (>= 1.36, < 1.41)
       aws-sdk-cloudwatchlogs (~> 1.13)
       aws-sdk-codecommit (~> 1.0)
       aws-sdk-codedeploy (~> 1.0)
       aws-sdk-codepipeline (~> 1.0)
+      aws-sdk-cognitoidentity (>= 1.26, < 1.30)
+      aws-sdk-cognitoidentityprovider (>= 1.46, < 1.49)
       aws-sdk-configservice (~> 1.21)
       aws-sdk-core (~> 3.0)
       aws-sdk-costandusagereportservice (~> 1.6)
+      aws-sdk-databasemigrationservice (>= 1.42, < 1.51)
       aws-sdk-dynamodb (~> 1.31)
       aws-sdk-ec2 (~> 1.70)
       aws-sdk-ecr (~> 1.18)
       aws-sdk-ecs (~> 1.30)
+      aws-sdk-efs (~> 1.0)
       aws-sdk-eks (~> 1.9)
       aws-sdk-elasticache (~> 1.0)
       aws-sdk-elasticbeanstalk (~> 1.0)
@@ -620,68 +658,74 @@ GEM
       aws-sdk-elasticloadbalancingv2 (~> 1.0)
       aws-sdk-elasticsearchservice (~> 1.0)
       aws-sdk-firehose (~> 1.0)
+      aws-sdk-glue (>= 1.71, < 1.83)
+      aws-sdk-guardduty (~> 1.31)
       aws-sdk-iam (~> 1.13)
       aws-sdk-kafka (~> 1.0)
       aws-sdk-kinesis (~> 1.0)
       aws-sdk-kms (~> 1.13)
       aws-sdk-lambda (~> 1.0)
-      aws-sdk-organizations (~> 1.17.0)
+      aws-sdk-organizations (>= 1.17, < 1.56)
+      aws-sdk-ram (>= 1.21, < 1.23)
       aws-sdk-rds (~> 1.43)
       aws-sdk-redshift (~> 1.0)
       aws-sdk-route53 (~> 1.0)
       aws-sdk-route53domains (~> 1.0)
       aws-sdk-route53resolver (~> 1.0)
       aws-sdk-s3 (~> 1.30)
+      aws-sdk-secretsmanager (>= 1.42, < 1.44)
       aws-sdk-securityhub (~> 1.0)
+      aws-sdk-servicecatalog (>= 1.48, < 1.58)
       aws-sdk-ses (~> 1.0)
+      aws-sdk-shield (~> 1.30)
       aws-sdk-sms (~> 1.0)
       aws-sdk-sns (~> 1.9)
       aws-sdk-sqs (~> 1.10)
       aws-sdk-ssm (~> 1.0)
-    train-core (3.2.22)
+      aws-sdk-states (>= 1.35, < 1.38)
+      aws-sdk-transfer (>= 1.26, < 1.30)
+    train-core (3.4.9)
       addressable (~> 2.5)
-      inifile (~> 3.0)
+      ffi (!= 1.13.0)
       json (>= 1.8, < 3.0)
       mixlib-shellout (>= 2.0, < 4.0)
-      net-scp (>= 1.2, < 3.0)
-      net-ssh (>= 2.9, < 6.0)
-    train-habitat (0.2.13)
-    train-winrm (0.2.6)
-      winrm (~> 2.0)
+      net-scp (>= 1.2, < 4.0)
+      net-ssh (>= 2.9, < 7.0)
+    train-habitat (0.2.22)
+    train-winrm (0.2.12)
+      winrm (>= 2.3.6, < 3.0)
+      winrm-elevated (~> 1.2.2)
       winrm-fs (~> 1.0)
-    treetop (1.6.10)
+    treetop (1.6.11)
       polyglot (~> 0.3)
-    tty-box (0.5.0)
-      pastel (~> 0.7.2)
-      strings (~> 0.1.6)
+    tty-box (0.7.0)
+      pastel (~> 0.8)
+      strings (~> 0.2.0)
       tty-cursor (~> 0.7)
-    tty-color (0.5.1)
+    tty-color (0.6.0)
     tty-cursor (0.7.1)
-    tty-prompt (0.20.0)
-      necromancer (~> 0.5.0)
-      pastel (~> 0.7.0)
-      tty-reader (~> 0.7.0)
-    tty-reader (0.7.0)
+    tty-prompt (0.23.0)
+      pastel (~> 0.8)
+      tty-reader (~> 0.8)
+    tty-reader (0.9.0)
       tty-cursor (~> 0.7)
-      tty-screen (~> 0.7)
-      wisper (~> 2.0.0)
-    tty-screen (0.7.1)
-    tty-table (0.11.0)
-      equatable (~> 0.6)
-      necromancer (~> 0.5)
-      pastel (~> 0.7.2)
-      strings (~> 0.1.5)
-      tty-screen (~> 0.7)
-    tzinfo (1.2.6)
+      tty-screen (~> 0.8)
+      wisper (~> 2.0)
+    tty-screen (0.8.1)
+    tty-table (0.12.0)
+      pastel (~> 0.8)
+      strings (~> 0.2.0)
+      tty-screen (~> 0.8)
+    tzinfo (1.2.9)
       thread_safe (~> 0.1)
     uber (0.1.0)
     unf (0.1.4)
       unf_ext
-    unf_ext (0.0.7.2)
-    unicode-display_width (1.6.1)
+    unf_ext (0.0.7.7)
+    unicode-display_width (1.7.0)
     unicode_utils (1.4.0)
     uuidtools (2.1.5)
-    winrm (2.3.4)
+    winrm (2.3.6)
       builder (>= 2.1.2)
       erubi (~> 1.8)
       gssapi (~> 1.2)
@@ -689,15 +733,15 @@ GEM
       httpclient (~> 2.2, >= 2.2.0.2)
       logging (>= 1.6.1, < 3.0)
       nori (~> 2.0)
-      rubyntlm (~> 0.6.0, >= 0.6.1)
-    winrm-elevated (1.2.1)
+      rubyntlm (~> 0.6.0, >= 0.6.3)
+    winrm-elevated (1.2.3)
       erubi (~> 1.8)
       winrm (~> 2.0)
       winrm-fs (~> 1.0)
-    winrm-fs (1.3.3)
+    winrm-fs (1.3.5)
       erubi (~> 1.8)
       logging (>= 1.6.1, < 3.0)
-      rubyzip (~> 1.1)
+      rubyzip (~> 2.0)
       winrm (~> 2.0)
     wisper (2.0.1)
     wmi-lite (1.0.5)
@@ -707,7 +751,7 @@ PLATFORMS
 
 DEPENDENCIES
   berkshelf
-  chef-dk (= 4.7.73)
+  chef-dk (= 4.13.3)
   chef-provisioning
   chef-vault
   chefspec
diff --git a/pkgs/development/tools/chefdk/default.nix b/pkgs/development/tools/chefdk/default.nix
index 1a5f6c8626ade..6a1470e107497 100644
--- a/pkgs/development/tools/chefdk/default.nix
+++ b/pkgs/development/tools/chefdk/default.nix
@@ -1,7 +1,7 @@
 { lib, bundlerEnv, bundlerUpdateScript, ruby, perl, autoconf }:
 
 bundlerEnv {
-  name = "chef-dk-4.7.73";
+  name = "chef-dk-4.13.3";
 
   inherit ruby;
   gemdir = ./.;
diff --git a/pkgs/development/tools/chefdk/gemset.nix b/pkgs/development/tools/chefdk/gemset.nix
index 1f9522ba4c57f..14c81742cd2a7 100644
--- a/pkgs/development/tools/chefdk/gemset.nix
+++ b/pkgs/development/tools/chefdk/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lmlnx79sv18xv1ddm4vq7z3mwdfa4468mq5186av0k8n1k471sp";
+      sha256 = "0fp4gr3g25qgl01y3pd88wfh4pjc5zj3bz4v7rkxxwaxdjg7a9cc";
       type = "gem";
     };
-    version = "5.2.4.1";
+    version = "5.2.4.5";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -36,30 +36,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7";
+      sha256 = "04nc8x27hlzlrr5c2gn7mar4vdr0apw5xg22wp6m8dx3wqr04a0y";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "2.4.2";
   };
   aws-eventstream = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "100g77a5ixg4p5zwq77f28n2pdkk0y481f7v83qrlmnj22318qq6";
+      sha256 = "0r0pn66yqrdkrfdin7qdim0yj2x75miyg4wp6mijckhzhrjb7cv5";
       type = "gem";
     };
-    version = "1.0.3";
+    version = "1.1.0";
   };
   aws-partitions = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bkzzk4mxsxvnd8sr5xx57vc29j69h48gj2g24fzjn7ika6az18z";
+      sha256 = "0nrqbbzykj9ckri3ci1wsksy8rhz13rigm3aznxy08gqvzv7bcy9";
       type = "gem";
     };
-    version = "1.275.0";
+    version = "1.426.0";
   };
   aws-sdk-apigateway = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -67,10 +67,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "106wn66gnn1rk9z4w84iwqb26wbyz3i2q9ck3xxabc47ly9mj03m";
+      sha256 = "15vwm6a18v1xqfpn2ipx1h5wqwd5yipgp624p4pkchcdqacb7gvm";
       type = "gem";
     };
-    version = "1.36.0";
+    version = "1.59.0";
   };
   aws-sdk-apigatewayv2 = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -78,10 +78,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1x9qaxi1614pfp9hy5ywk7y76gfmk5d0iz6lj9p9qy92gfzx169c";
+      sha256 = "171v0xng5h6hk1nqrivv49rpz1f4jhj2lhq3pxk5izx3q1lf7rc7";
       type = "gem";
     };
-    version = "1.15.0";
+    version = "1.31.0";
+  };
+  aws-sdk-applicationautoscaling = {
+    dependencies = ["aws-sdk-core" "aws-sigv4"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01zldlqn573bmlpg7qm562cy9miyrirzknagjbnzs4iwjnm4rgn4";
+      type = "gem";
+    };
+    version = "1.49.0";
   };
   aws-sdk-athena = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -89,10 +100,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hvskqq406vh9xa29jzyjhfpf6m834872p87a2j0ly5kh4ydldkz";
+      sha256 = "0lmbchjn30rpk311q2z5g8j96g5mi8hajc3fbzh3nam7wj4hmdbn";
       type = "gem";
     };
-    version = "1.22.0";
+    version = "1.35.0";
   };
   aws-sdk-autoscaling = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -100,10 +111,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jrz4brxbi8rxqk1jg5wcdsa1knfrgzrmx9dygfzbfi2szcfmbhv";
+      sha256 = "1vkfybjdmxn7hwsywfgkcr8mms88l4v6kwj29c8qr2k7ds4l4bsn";
       type = "gem";
     };
-    version = "1.22.0";
+    version = "1.53.0";
+  };
+  aws-sdk-batch = {
+    dependencies = ["aws-sdk-core" "aws-sigv4"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "14q0b84qa5mc24nw1fqns822wkg1gvlwvwbia1m7bzzmj98maikw";
+      type = "gem";
+    };
+    version = "1.43.0";
   };
   aws-sdk-budgets = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -111,10 +133,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xxgldgin1gavz7w37pmsxrhiwr8bvssjgv3lwzbwdsjqk0jd0f3";
+      sha256 = "0lm7m09fp5jlranzv1hfc3xv8fn6bmw2g3kwjsj6r094qi3nyp42";
       type = "gem";
     };
-    version = "1.27.0";
+    version = "1.37.0";
   };
   aws-sdk-cloudformation = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -122,10 +144,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bxipaq1g6c5g8zirqlbq74kmy8fglavhyrxyd91sy9yj2d9q26r";
+      sha256 = "09lcq8gpi4x7xvwy8njmbcbbgyrq6xsfbyc7hwj3m4dps9f116gw";
       type = "gem";
     };
-    version = "1.30.0";
+    version = "1.47.0";
+  };
+  aws-sdk-cloudfront = {
+    dependencies = ["aws-sdk-core" "aws-sigv4"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1w70d8wv5cb8p5wpyq828fjrccz0xxbvg5sk66bmwq0zjcxnvpb6";
+      type = "gem";
+    };
+    version = "1.48.0";
   };
   aws-sdk-cloudhsm = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -133,10 +166,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "096dpm87k0q1kqnvf5v0sb98gdsq41390pxvs014qphqycqjchc6";
+      sha256 = "0a4imw0rahd6bh4clcwxkcvl4lf8pmyba1sjlc1hx37jv641wlqf";
       type = "gem";
     };
-    version = "1.19.0";
+    version = "1.28.0";
   };
   aws-sdk-cloudhsmv2 = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -144,10 +177,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10cyc1brjppnkmynkb3qf7ar78a4dhngg3fmmfxnxlcrigwbrxpa";
+      sha256 = "13kdq0xnbgrvi9f9jqrig453bc5mf7by3cjcdd8jsv8aay0gqads";
       type = "gem";
     };
-    version = "1.20.0";
+    version = "1.32.0";
   };
   aws-sdk-cloudtrail = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -155,10 +188,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "034psp0g7ab9al7389y64pr2ar2jvxsg6p1djj4w53700xrj602g";
+      sha256 = "083nld91s8klfr2p0mwrdlx4lgiig9kx0cikiqrifd30lbja51wg";
       type = "gem";
     };
-    version = "1.20.0";
+    version = "1.33.0";
   };
   aws-sdk-cloudwatch = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -166,10 +199,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jvjjlcyp1sx0gsgm82h84n32sb51m8ih53ab4qq94m9jcxk49cr";
+      sha256 = "1vsb01nw85sk3zsdyw5ix0yw3n81xjhj4h0431qm60mdg9akgbs4";
       type = "gem";
     };
-    version = "1.32.0";
+    version = "1.49.0";
+  };
+  aws-sdk-cloudwatchevents = {
+    dependencies = ["aws-sdk-core" "aws-sigv4"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "14hhy8zbyn5x2660pg5aq02lni69clx3y7rkvzqrldcy0482863y";
+      type = "gem";
+    };
+    version = "1.40.0";
   };
   aws-sdk-cloudwatchlogs = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -177,10 +221,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bhnlh3skqw3l2yfr6nd97arlcmijpm51k664m51l5xw2971bc51";
+      sha256 = "0aravrxjnp886kaag037z45xiyfr75gz0p4psjq9x3qj6gzsjn8y";
       type = "gem";
     };
-    version = "1.28.0";
+    version = "1.39.0";
   };
   aws-sdk-codecommit = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -188,10 +232,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00mkgfywxqzbbin2qidx4qvb5xcjjl41v6am023bl2yww5x8hi5p";
+      sha256 = "1cb1bqlf3kh8akll1xybrn314ngk62jqhpli99kdjq27hxir5jq2";
       type = "gem";
     };
-    version = "1.30.0";
+    version = "1.41.0";
   };
   aws-sdk-codedeploy = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -199,10 +243,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06m5i5g2j2yylksficbla25cjsdw42y5gbzmx5ycxvxz3c4n3qh1";
+      sha256 = "117rv0hx77kyhz9zm1fqbxdbk3lhyxcbibwn27nyafch6sl1x2j4";
       type = "gem";
     };
-    version = "1.27.0";
+    version = "1.38.0";
   };
   aws-sdk-codepipeline = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -210,10 +254,32 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09dkyclanvxz77hh933ph2ad4yh7midy09hbprszfikhfkvi4z2m";
+      sha256 = "0xdkc3xmff901bjfsyg454dn27gfr6nzvgkia0kngdzgq6x4xb45";
       type = "gem";
     };
-    version = "1.28.0";
+    version = "1.40.0";
+  };
+  aws-sdk-cognitoidentity = {
+    dependencies = ["aws-sdk-core" "aws-sigv4"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "122i3g320ccaqg541kzb0pawiz61zyphvbwnkv5rlqpwspca1m3b";
+      type = "gem";
+    };
+    version = "1.29.0";
+  };
+  aws-sdk-cognitoidentityprovider = {
+    dependencies = ["aws-sdk-core" "aws-sigv4"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0m09dxwyw01vh9rksz8dwdx36vsr8f7p5qmjmvfazjapzv3q6qmn";
+      type = "gem";
+    };
+    version = "1.48.0";
   };
   aws-sdk-configservice = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -221,10 +287,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gjw5jv4p9zhdh4cg982x7x3lpfhgi7an14gjwz1llxmmkzv15wr";
+      sha256 = "1msdg1gpq9y9maf2fdljcp2vbydbjqfk07ff9j532bvikax0qmfy";
       type = "gem";
     };
-    version = "1.40.0";
+    version = "1.56.0";
   };
   aws-sdk-core = {
     dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"];
@@ -232,10 +298,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1q7f9jkpmpppj31kh3wnzybkphq4piy8ays3vld0zsibfjs9iw7i";
+      sha256 = "15lynby6r91p9hh5h92pg4jr8xgnjr52px5ax0p0wncdw4vz0skp";
       type = "gem";
     };
-    version = "3.90.1";
+    version = "3.112.0";
   };
   aws-sdk-costandusagereportservice = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -243,10 +309,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18yzz7av4z8qh321r0ih6m5lc1x4mh10pn67z6y70ny8syxm4kl6";
+      sha256 = "1dzbh8xf8j466gwrawmprwclslvd8sqlzzzxpzyxv4y9m09bhypk";
       type = "gem";
     };
-    version = "1.18.0";
+    version = "1.29.0";
+  };
+  aws-sdk-databasemigrationservice = {
+    dependencies = ["aws-sdk-core" "aws-sigv4"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1vd4a5z1q282xx7717f542yavb6x13fli64rhwnc143xij4izgpn";
+      type = "gem";
+    };
+    version = "1.50.0";
   };
   aws-sdk-dynamodb = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -254,10 +331,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06nbf297r85ix92x9ilx8ysz67sm59mprscmmdp4rsn74v78dzaj";
+      sha256 = "19k3iznglnwwgqd95i5zmim41c98l8ydf6ih9am50gs0n6bky41q";
       type = "gem";
     };
-    version = "1.43.0";
+    version = "1.59.0";
   };
   aws-sdk-ec2 = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -265,10 +342,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wnql5rzwkn97w4l3pq6k97grqdci1qs7h132pnd6lc3bx62v4h5";
+      sha256 = "1lg8vh124viba77b0qhi5j8xx8b4wxdiyycl4kaawmddwhr33zx9";
       type = "gem";
     };
-    version = "1.144.0";
+    version = "1.224.0";
   };
   aws-sdk-ecr = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -276,10 +353,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1smq30avqjq6h4yvw9h0k2gwp97c4l4868f2vdj93l84i80gh1pi";
+      sha256 = "0di8s9dpyzal5n2qpx8l3jnbkm72h6kz759l04kxfapgzd5ppwhv";
       type = "gem";
     };
-    version = "1.25.0";
+    version = "1.41.0";
   };
   aws-sdk-ecs = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -287,10 +364,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "113kwczkqr4jsyrnnxkm0kpdqs3ysc0913nclb5mdwapd5dbq3br";
+      sha256 = "0qilim7dm5hc4knhvz9090hzbmlrd24m5fywj9kr60fvhgnm0wf0";
       type = "gem";
     };
-    version = "1.57.0";
+    version = "1.74.0";
+  };
+  aws-sdk-efs = {
+    dependencies = ["aws-sdk-core" "aws-sigv4"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "03bf0g1nky772r4xz3w6nvpf09wf1096qifd0i8hgzp7cwirbmby";
+      type = "gem";
+    };
+    version = "1.37.0";
   };
   aws-sdk-eks = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -298,10 +386,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1h3bvqizz95lngmpsgysdpnn1fshrppfc6zq3qphv5hagpa1gj5n";
+      sha256 = "0nj666bl877n61h6s570ad9mcvjq4m2s6yink218zslfp10y03v4";
       type = "gem";
     };
-    version = "1.31.0";
+    version = "1.47.0";
   };
   aws-sdk-elasticache = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -309,10 +397,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0805g31chgr65bc74g8s33vk8id0gmyzvwpxjvf5drsrplbv1kca";
+      sha256 = "1kgpn2n1ap943q5nzxrl95v6g7fyff6bw5i4mhcw6g97gvv7p675";
       type = "gem";
     };
-    version = "1.29.0";
+    version = "1.53.0";
   };
   aws-sdk-elasticbeanstalk = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -320,10 +408,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nxrcfwngmbrvcbxh0cl6mqbvxda82k9kpjr1a0agypazapmy980";
+      sha256 = "1a9k9srp1q5qhlcwna7zyvviimri4gi9smlqshbvcfvy2lys5w2z";
       type = "gem";
     };
-    version = "1.26.0";
+    version = "1.41.0";
   };
   aws-sdk-elasticloadbalancing = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -331,10 +419,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13mc6mahnnrcgf2ah3p12sm538mfdygz6a6afgwijaar0za126l3";
+      sha256 = "1n6ssl3hqqm658k5ig667bgy457rs8gynl8vvin4xwknxws186di";
       type = "gem";
     };
-    version = "1.19.0";
+    version = "1.30.0";
   };
   aws-sdk-elasticloadbalancingv2 = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -342,10 +430,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17rvv3wlp7bm2f1cfkd8cvwz51kg6pzj8cw6jh4fvlnahx7cilr0";
+      sha256 = "0cqb2bncvqqqcqks7d6lrjb7pl06fcjizdfjpr44a7v6sjyx3bcr";
       type = "gem";
     };
-    version = "1.39.0";
+    version = "1.59.0";
   };
   aws-sdk-elasticsearchservice = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -353,10 +441,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lzm94grzggz6vrlzbk6226vlyfnxbq0rih71vdnj1h63f8gj73m";
+      sha256 = "1379lp7jqigp03zv25fgbx4bwacypjj38qbki648398r161f4bzy";
       type = "gem";
     };
-    version = "1.30.0";
+    version = "1.48.0";
   };
   aws-sdk-firehose = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -364,10 +452,32 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xpx6r6z2gfybfsndi7n6wr6zv6gqzfz9fm39wj8ljhsmbf2p2ch";
+      sha256 = "0ji75vqfprnkjsy6gdk9qci6wd9kwm7h7lycpx7jsw0fbv6hjx0p";
       type = "gem";
     };
-    version = "1.24.0";
+    version = "1.36.0";
+  };
+  aws-sdk-glue = {
+    dependencies = ["aws-sdk-core" "aws-sigv4"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "026hka71fnzmqrn5yyb50pz1wa44irqncsk6kcgb476px4zxqwmd";
+      type = "gem";
+    };
+    version = "1.82.0";
+  };
+  aws-sdk-guardduty = {
+    dependencies = ["aws-sdk-core" "aws-sigv4"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0n963y20rafh51xanx0bff7jqbjcgg3wj5hs4js8h9sax48k97q9";
+      type = "gem";
+    };
+    version = "1.44.0";
   };
   aws-sdk-iam = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -375,10 +485,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s78ssjcp974v7r1znrgk78bqz23jhws4gy1nm659z5390zsn1fz";
+      sha256 = "16152qidkisakl2iqvghrjnccq279pahb953q5a4q0ipk5imw2c1";
       type = "gem";
     };
-    version = "1.33.0";
+    version = "1.47.0";
   };
   aws-sdk-kafka = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -386,10 +496,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k6pixxh9vfq2bhm89h1jpdzpikh600xmp1m1zqh9k8qa62g0glm";
+      sha256 = "182g1ya4bhxw90zb0jfqlb5s46r8k3mvl2dczir5jamjp2h1n24y";
       type = "gem";
     };
-    version = "1.17.0";
+    version = "1.34.0";
   };
   aws-sdk-kinesis = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -397,10 +507,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mx60qi7sgr8a2k8h1c0ify2l3dvp509hflmbwq87jgq6npz89jr";
+      sha256 = "1wsnn4303q7501xp10gfr8s15cazm4a0xy8knz5b8pmaw93x0g4b";
       type = "gem";
     };
-    version = "1.20.0";
+    version = "1.31.0";
   };
   aws-sdk-kms = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -408,10 +518,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "191qnrpg9qhwj24pisha28fwqx30sqkj75ibgpqcf4q389l3a2gw";
+      sha256 = "00wgf83cdy6z77b2y0ld0aqiidfyldi71hx0z8b73gxjdlbwpq1i";
       type = "gem";
     };
-    version = "1.29.0";
+    version = "1.42.0";
   };
   aws-sdk-lambda = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -419,10 +529,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16llkc8dl88m2f58kpn81lnw37zlh0ghlb1g5bzli5hm8ygn1z5s";
+      sha256 = "15fvdqp8k5w7wjgc7f5h9syd8v14h8pzklg5ldb49n5jsr0i3n73";
       type = "gem";
     };
-    version = "1.36.0";
+    version = "1.59.0";
   };
   aws-sdk-organizations = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -430,10 +540,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z71zxsvz1g3i6mnpvb05gzk2lay4dzrl45lby8n7acpp4wb2j1g";
+      sha256 = "00i8kbcx1vdch1g6pznvm0hg0hsz2kfd5vpdlfarbilv6zyh9mp7";
+      type = "gem";
+    };
+    version = "1.55.0";
+  };
+  aws-sdk-ram = {
+    dependencies = ["aws-sdk-core" "aws-sigv4"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04n9x3nrxakx1zys0cc6vmkyqlqa83h6abdfyqaah1icxp585zjb";
       type = "gem";
     };
-    version = "1.17.0";
+    version = "1.22.0";
   };
   aws-sdk-rds = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -441,10 +562,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09ld8vrhrhywc4imvbj238pic7qi2mg1n3421s0iwd1xhf5fvakp";
+      sha256 = "1jnmk7z4ys13vv2i1r6pvpiblgaqlpvjhcslcnqyqlmjh2ydwjxk";
       type = "gem";
     };
-    version = "1.78.0";
+    version = "1.112.0";
   };
   aws-sdk-redshift = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -452,10 +573,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1w8y5vlzzws2fqpjjq59gmgrf1l5whm1zcm7fhlkikxspq9iw16b";
+      sha256 = "1f54ig5vyc2cvipsv5d62n5xd6a1i9myjgayf6x6slkvnzk5xk4g";
       type = "gem";
     };
-    version = "1.37.0";
+    version = "1.54.0";
   };
   aws-sdk-route53 = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -463,10 +584,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "132c11g43zbmn2wzrnys7viymcdsznzl26igpv6ixv4jvi62r7fq";
+      sha256 = "1jxm6knx9rp5m3an93c187ds8zla4chl7zdvwnml2imna3adk4z7";
       type = "gem";
     };
-    version = "1.30.0";
+    version = "1.46.0";
   };
   aws-sdk-route53domains = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -474,10 +595,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01flbzipphp2qm4lcrxbmwqlgl7jy5w7gyj6hbgb8aich927w5qx";
+      sha256 = "0k3b37q9mhfnf4mzbhhhgx0v6y82ivq6v01g8fvdfb5n6235j0yg";
       type = "gem";
     };
-    version = "1.18.0";
+    version = "1.29.0";
   };
   aws-sdk-route53resolver = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -485,10 +606,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hlyd4h49sa3s61l1w362l2qmnm78kfj2ks6mshrjwr8l8zql1q5";
+      sha256 = "1qyb2n40v52n0xjqncaflb6cl1y0p7szlx1bzxpcnm4g5nfdcf3l";
       type = "gem";
     };
-    version = "1.11.0";
+    version = "1.23.0";
   };
   aws-sdk-s3 = {
     dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"];
@@ -496,10 +617,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pblkq7rw465w08hs2xy6v7w10x9n004hk43yqzswqxirki68ldz";
+      sha256 = "029iqr52fxxz8d6jb2g4k76i7nnjyspvjdlx52xah25zzhp3bx7v";
+      type = "gem";
+    };
+    version = "1.88.0";
+  };
+  aws-sdk-secretsmanager = {
+    dependencies = ["aws-sdk-core" "aws-sigv4"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pv5idvap742r4mfwgi01l0sd7skz3m9iy28piy236f6xjiiqsw3";
       type = "gem";
     };
-    version = "1.60.2";
+    version = "1.43.0";
   };
   aws-sdk-securityhub = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -507,10 +639,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0a88i8bkqjy91ydj95h9v9mmlsqnx62hkinsprrx6ym0ix78kzim";
+      sha256 = "0j6wl0v5p19h3x1fphyq8db5appig7w3gsxnj6mmlm77smlkwjlq";
       type = "gem";
     };
-    version = "1.18.0";
+    version = "1.40.0";
+  };
+  aws-sdk-servicecatalog = {
+    dependencies = ["aws-sdk-core" "aws-sigv4"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1awf0gcywzylqsdypx2lpib5jiy02fd4iz5q19q9qkpvxw7zj9cd";
+      type = "gem";
+    };
+    version = "1.57.0";
   };
   aws-sdk-ses = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -518,10 +661,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "046bsyj6zblcbffj15qbdz5fp8ipr6vfhrycsv6hznciy6jvpq4h";
+      sha256 = "1j45jykqll5s8y71bp4723mvcxbrihp4rhlhq1rvcyyr4y0706yy";
+      type = "gem";
+    };
+    version = "1.37.0";
+  };
+  aws-sdk-shield = {
+    dependencies = ["aws-sdk-core" "aws-sigv4"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0416mrby897fnhc3iwb698m0gyih7pfgmx35h5f618i8my53alin";
       type = "gem";
     };
-    version = "1.27.0";
+    version = "1.34.0";
   };
   aws-sdk-sms = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -529,10 +683,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1x1x1hrs8v4vb5l79dp5qpdi0znb5cxviwk1zcx6zajpzabv7hdl";
+      sha256 = "0121bx79galz99x2wdksmzyibdy6l18k2i2nzc8lsmrgkdz22c03";
       type = "gem";
     };
-    version = "1.17.0";
+    version = "1.28.0";
   };
   aws-sdk-sns = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -540,10 +694,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vfyn7hc21qgarhrfghyw3qi550656834b51n5vnginraryk6ji8";
+      sha256 = "0cqri14igfmcxlapbagg0nmy79zzg29awzybv51gl76m3mljbafb";
       type = "gem";
     };
-    version = "1.21.0";
+    version = "1.38.0";
   };
   aws-sdk-sqs = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -551,10 +705,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c81w75ph7c3g8fkq8xxs1f5zkvv5yv0k3xy6441gjxvwkpiaih6";
+      sha256 = "07qg8awkqpdwf2r7y54183jfcffwjl1mdd98vmgsxv94617bnh4q";
       type = "gem";
     };
-    version = "1.23.1";
+    version = "1.36.0";
   };
   aws-sdk-ssm = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -562,10 +716,32 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "116vbhw7l2hk1vk3dq79czp857bcw7giw00ip4par1cgwkxym03c";
+      sha256 = "1svhxfjmvb6m8h7lm5cr7mmz6zngrhknrrkmwilnrq0lzg1wfp1r";
       type = "gem";
     };
-    version = "1.71.0";
+    version = "1.104.0";
+  };
+  aws-sdk-states = {
+    dependencies = ["aws-sdk-core" "aws-sigv4"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04pdrsijckiz9fyzyvdndwci004a4fswv8mq5jm53bzmybwhndz2";
+      type = "gem";
+    };
+    version = "1.37.0";
+  };
+  aws-sdk-transfer = {
+    dependencies = ["aws-sdk-core" "aws-sigv4"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ivbkfw7j83c7nagdhzdmcmwxn6ym50ak0jfkq1rdc1ppyir31dp";
+      type = "gem";
+    };
+    version = "1.29.0";
   };
   aws-sigv4 = {
     dependencies = ["aws-eventstream"];
@@ -573,10 +749,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dfc8i5cxjwlvi4b665lbpbwvks8a6wfy3vfmwr3pjdmxwdmc2cs";
+      sha256 = "1ll9382c1x2hp750cilh01h1cycgyhdr4cmmgx23k94hyyb8chv5";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.2.2";
   };
   azure_graph_rbac = {
     dependencies = ["ms_rest_azure"];
@@ -584,10 +760,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fq9gnsihrrljmlsg70kmryf72rxyy8kb4v9fa9z28abj0lncqgk";
+      sha256 = "0mmx8jp85xa13j3asa9xnfi6wa8a9wwlp0hz0nj70fi3ydmcpdag";
       type = "gem";
     };
-    version = "0.17.1";
+    version = "0.17.2";
   };
   azure_mgmt_key_vault = {
     dependencies = ["ms_rest_azure"];
@@ -595,10 +771,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18vcdhzndwa81lg877b1mg2804vhvvnw83qagx6v99adicjf8y8b";
+      sha256 = "0f4fai5l3453yirrwajds0jgah60gvawffx53a0jyv3b93ag88mz";
       type = "gem";
     };
-    version = "0.17.5";
+    version = "0.17.7";
   };
   azure_mgmt_resources = {
     dependencies = ["ms_rest_azure"];
@@ -606,10 +782,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "036p2d59jdjx5a49jz4swf37kfpc9ryyrb13xrdyghk1q79qli8p";
+      sha256 = "1hb9010cxrmm23v4dfrsf9wgvr53qkcd6397c4azg3wc65a6i1vc";
       type = "gem";
     };
-    version = "0.17.8";
+    version = "0.18.1";
   };
   azure_mgmt_security = {
     dependencies = ["ms_rest_azure"];
@@ -617,10 +793,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01rk0wbfbhrxnm0vv520ilxd55hv7n3w0sq5j0v17mnwjgm7pa6d";
+      sha256 = "11h2dyz4awzidvfj41h7k2q7mcqqcgzvm95fxpfxz609pbvck0g2";
       type = "gem";
     };
-    version = "0.18.0";
+    version = "0.19.0";
   };
   azure_mgmt_storage = {
     dependencies = ["ms_rest_azure"];
@@ -628,30 +804,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m1xajw39958kcv4qlhad2n19flijn9aqzxks2wx4b0k207vp87c";
+      sha256 = "0r8klsq3x7s4nn42h9w1kbqblrxnj7z7cpa8bxvc3xwv0vvql7m0";
       type = "gem";
     };
-    version = "0.19.2";
-  };
-  backports = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0sp3l5wa77klj34sqib95ppxyam53x3p57xk0y6gy2c3z29z6hs5";
-      type = "gem";
-    };
-    version = "3.16.1";
+    version = "0.22.0";
   };
   bcrypt_pbkdf = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02vssr285m7kpsr47jdmzbar1h1d0mnkmyrpr1zg828isfmwii35";
+      sha256 = "0ndamfaivnkhc6hy0yqyk2gkwr6f3bz6216lh74hsiiyk3axz445";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "1.1.0";
   };
   berkshelf = {
     dependencies = ["chef" "chef-config" "cleanroom" "concurrent-ruby" "minitar" "mixlib-archive" "mixlib-config" "mixlib-shellout" "octokit" "retryable" "solve" "thor"];
@@ -659,10 +825,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pb20i2blbj9w4cf9nxxxskbd7q5zk8rrirppsfjx8r02dywpq8f";
+      sha256 = "1mkakim23w7b38c8lw81wxqw68q6g7rlvxx82lq6bpp1hmmni64n";
       type = "gem";
     };
-    version = "7.0.9";
+    version = "7.1.0";
   };
   builder = {
     groups = ["default"];
@@ -680,21 +846,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lfx43yl77x074vjg77ixfxnxwl103ywjya55m4lj4vj0b2nxxxn";
+      sha256 = "068jzw97g40wbpzn51vcvwdp012202rkmjfafxwhx31wxjzhwy0n";
       type = "gem";
     };
-    version = "15.8.23";
+    version = "15.15.0";
   };
   chef-cli = {
-    dependencies = ["addressable" "chef" "cookbook-omnifetch" "diff-lcs" "ffi-yajl" "license-acceptance" "minitar" "mixlib-cli" "mixlib-shellout" "paint" "solve"];
+    dependencies = ["addressable" "chef" "cookbook-omnifetch" "diff-lcs" "ffi-yajl" "license-acceptance" "minitar" "mixlib-cli" "mixlib-shellout" "pastel" "solve"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05178w55vwqgrv8jaic2f77h6hx5b40lsmlaqfvdq63a459wl5sd";
+      sha256 = "1nw73p8wg67qkzx07v21fwiqljb0yndjm10z56li72d6b1hbw0sb";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "3.1.1";
   };
   chef-config = {
     dependencies = ["addressable" "chef-utils" "fuzzyurl" "mixlib-config" "mixlib-shellout" "tomlrb"];
@@ -702,10 +868,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xbl4pgn4kavi6b1m1f232xx4l9fhlz7d4ndmb11m36wb8l05hsk";
+      sha256 = "1ji166i5n7cxn69amsfxsvy3b7bf5ksgxxg985w5jfl1gp5bihfl";
       type = "gem";
     };
-    version = "15.8.23";
+    version = "15.15.0";
   };
   chef-dk = {
     dependencies = ["addressable" "chef" "cookbook-omnifetch" "diff-lcs" "ffi-yajl" "license-acceptance" "minitar" "mixlib-cli" "mixlib-shellout" "paint" "solve"];
@@ -713,10 +879,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zhfq3kwchay6aj6128pr13xabrfprs288ma9abnv9d6vz3ddpw6";
+      sha256 = "0zqznvry08pyiv8820b962fzvabzwbsmmwlyvk4ayjr2wshyi6g2";
       type = "gem";
     };
-    version = "4.7.73";
+    version = "4.13.3";
   };
   chef-provisioning = {
     dependencies = ["cheffish" "inifile" "mixlib-install" "net-scp" "net-ssh" "net-ssh-gateway" "winrm" "winrm-elevated" "winrm-fs"];
@@ -730,35 +896,35 @@
     version = "2.7.6";
   };
   chef-telemetry = {
-    dependencies = ["chef-config" "concurrent-ruby" "ffi-yajl" "http"];
+    dependencies = ["chef-config" "concurrent-ruby" "ffi-yajl"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lx85wy6d1khrya0idwqkdvh1x57qak3d8y699gwccfhl88xymg3";
+      sha256 = "0hnmqr6vkgsbnzdzcc6j6svnms14irrcd70wk8qg3p98cy359rm5";
       type = "gem";
     };
-    version = "1.0.3";
+    version = "1.0.14";
   };
   chef-utils = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "149pgbybdpi9y11qfsm4bmnqm655s682yv7qkwxhzwqn2fylzb2j";
+      sha256 = "1j8rhqc6mj8iay755rl5yaf0rqs54gwcygib1s8g7dxl3vqcpwxa";
       type = "gem";
     };
-    version = "15.8.23";
+    version = "15.15.0";
   };
   chef-vault = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k0famr2cbrrarp4rpzcymqnpnwg734psbf0pxhasxdsjjg8nl6f";
+      sha256 = "1rpcgzawdgzvk60fw9s40i5alc7b1rc2phkgm89dckfmklfh6794";
       type = "gem";
     };
-    version = "4.0.1";
+    version = "4.1.0";
   };
   chef-zero = {
     dependencies = ["ffi-yajl" "hashie" "mixlib-log" "rack" "uuidtools"];
@@ -788,10 +954,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ry6707plcrj7aicadmzxzfmlvz43i2g55k2iph8m390wpxhnhcl";
+      sha256 = "15sz88xxh48phq1w3rsivzasg4r36dhqnpqna5cfi120vk28ylb2";
       type = "gem";
     };
-    version = "9.1.0";
+    version = "9.2.1";
   };
   cleanroom = {
     groups = ["default"];
@@ -808,20 +974,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y";
+      sha256 = "0jvxqxzply1lwp7ysn94zjhh57vc14mcshw1ygw14ib8lhc00lyw";
       type = "gem";
     };
-    version = "1.1.2";
+    version = "1.1.3";
   };
   concurrent-ruby = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "094387x4yasb797mv07cs3g6f08y56virc2rjcpb1k79rzaj3nhl";
+      sha256 = "0mr23wq0szj52xnj0zcn1k0c7j4v79wlwbijkpfcscqww3l6jlg3";
       type = "gem";
     };
-    version = "1.1.6";
+    version = "1.1.8";
   };
   cookbook-omnifetch = {
     dependencies = ["mixlib-archive"];
@@ -829,41 +995,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1w4xh4ffcm4jd3fys9yg3rb8asngll15mvra8lfi2328alvbanvb";
-      type = "gem";
-    };
-    version = "0.9.1";
-  };
-  cucumber-core = {
-    dependencies = ["backports" "cucumber-tag_expressions" "gherkin"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1iavlh8hqj9lwljbpkw06259gdicbr1bdb6pbj5yy3n8szgr8k3c";
-      type = "gem";
-    };
-    version = "3.2.1";
-  };
-  cucumber-tag_expressions = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0cvmbljybws0qzjs1l67fvr9gqr005l8jk1ni5gcsis9pfmqh3vc";
+      sha256 = "1qw8ayyflx222igmrmp1jpgfcfhpnc4myaxv9lk3ckd5l6n3w7qh";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "0.11.1";
   };
   declarative = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0642xvwzzbgi3kp1bg467wma4g3xqrrn0sk369hjam7w579gnv5j";
+      sha256 = "1yczgnqrbls7shrg63y88g7wand2yp9h6sf56c9bdcksn5nds8c0";
       type = "gem";
     };
-    version = "0.0.10";
+    version = "0.0.20";
   };
   declarative-option = {
     groups = ["default"];
@@ -890,10 +1035,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qhx743lcx61r2d3925jk61c6r8clfjmpf5g93cdy5sq00ig76lh";
+      sha256 = "0nrg7kpgz6cn1gv2saj2fa5sfiykamvd7vn9lw2v625k7pjwf31l";
       type = "gem";
     };
-    version = "3.3.0";
+    version = "3.4.0";
   };
   docker-api = {
     dependencies = ["excon" "multi_json"];
@@ -901,10 +1046,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04dkbg7x2m4102dnwil2v688gblxh1skh374nkzksn18jjrivkdp";
+      sha256 = "09lkc50nl3158za0fk8kpd05zlzfxiajnf6zrxpamw1nzdw89ac9";
       type = "gem";
     };
-    version = "1.34.2";
+    version = "2.0.0";
   };
   domain_name = {
     dependencies = ["unf"];
@@ -927,25 +1072,15 @@
     };
     version = "1.2.4";
   };
-  equatable = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0fzx2ishipnp6c124ka6fiw5wk42s7c7gxid2c4c1mb55b30dglf";
-      type = "gem";
-    };
-    version = "0.6.1";
-  };
   erubi = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nwzxnqhr31fn7nbqmffcysvxjdfl3bhxi0bld5qqhcnfc1xd13x";
+      sha256 = "09l8lz3j00m898li0yfsnb6ihc63rdvhw3k5xczna5zrjk104f2l";
       type = "gem";
     };
-    version = "1.9.0";
+    version = "1.10.0";
   };
   erubis = {
     groups = ["default"];
@@ -962,21 +1097,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vhc5c16i8zrm3d98ppsnw514d7jvwdg0wk60kc9i1xw3797qkkd";
+      sha256 = "1759s0rz6qgsw86dds1z4jzb3fvizqsk11j5q6z7lc5n404w6i23";
       type = "gem";
     };
-    version = "0.72.0";
+    version = "0.79.0";
   };
   faraday = {
-    dependencies = ["multipart-post"];
+    dependencies = ["faraday-net_http" "multipart-post" "ruby2_keywords"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13aghksmni2sl15y7wfpx6k5l3lfd8j9gdyqi6cbw6jgc7bqyyn2";
+      sha256 = "1hmssd8pj4n7yq4kz834ylkla8ryyvhaap6q9nzymp93m1xq21kz";
       type = "gem";
     };
-    version = "0.17.3";
+    version = "1.3.0";
   };
   faraday-cookie_jar = {
     dependencies = ["faraday" "http-cookie"];
@@ -984,10 +1119,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1di4gx6446a6zdkrpj679m5k515i53wvb4yxcsqvy8d8zacxiiv6";
+      sha256 = "00hligx26w9wdnpgsrf0qdnqld4rdccy8ym6027h5m735mpvxjzk";
+      type = "gem";
+    };
+    version = "0.0.7";
+  };
+  faraday-net_http = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j";
       type = "gem";
     };
-    version = "0.0.6";
+    version = "1.0.1";
   };
   faraday_middleware = {
     dependencies = ["faraday"];
@@ -995,10 +1140,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p7icfl28nvl8qqdsngryz1snqic9l8x6bk0dxd7ygn230y0k41d";
+      sha256 = "0jik2kgfinwnfi6fpp512vlvs0mlggign3gkbpkg5fw1jr9his0r";
       type = "gem";
     };
-    version = "0.12.2";
+    version = "1.0.0";
   };
   fauxhai-ng = {
     dependencies = ["net-ssh"];
@@ -1006,20 +1151,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vm9hz6k8v4i7r1s5z489n58liaaxmb8bgcvklfg1hf8k3d5afdp";
+      sha256 = "0pxzmsp31lxlkq1p0205j2s9kkjqs5a9zy2qpqabbmhny0d9ri8k";
       type = "gem";
     };
-    version = "7.6.0";
+    version = "8.7.0";
   };
   ffi = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10lfhahnnc91v63xpvk65apn61pib086zha3z5sp1xk9acfx12h4";
+      sha256 = "15hgiy09i8ywjihyzyvjvk42ivi3kmy6dm21s5sgg9j7y3h3zkkx";
       type = "gem";
     };
-    version = "1.12.2";
+    version = "1.14.2";
   };
   ffi-libarchive = {
     dependencies = ["ffi"];
@@ -1027,10 +1172,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vs8s37lr3bgw5d3mb6vamcqy16dj61yzzq0xf453lhr3dcampkb";
+      sha256 = "1wmbwg6hirxr85c3skdq2na8xwg4ky880qbs1z1adb9aizcjbdkx";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "1.0.17";
   };
   ffi-yajl = {
     dependencies = ["libyajl2"];
@@ -1038,21 +1183,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11m9pkx2a1vssplzb3fwx4kc25bg5xmjf0j97l5kv6mhnhd93sik";
+      sha256 = "1pfmn0gprc3c15baxa9rx64pqllk64m60f5vg4gp0icpafkp0jx5";
       type = "gem";
     };
-    version = "2.3.3";
+    version = "2.3.4";
   };
   foodcritic = {
-    dependencies = ["cucumber-core" "erubis" "ffi-yajl" "nokogiri" "rake" "rufus-lru" "treetop"];
+    dependencies = ["erubis" "ffi-yajl" "nokogiri" "rake" "rufus-lru" "treetop"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11dzfcf6p1z75anizwqm48nadd84j5wk0vm4mp4s5a7xfqjh3psi";
+      sha256 = "1gnp8lr37cv87adr3568kh7p55vwdqp01f2hwjxlvqkwkwk3fvn4";
       type = "gem";
     };
-    version = "16.2.0";
+    version = "16.3.0";
   };
   fuzzyurl = {
     groups = ["default"];
@@ -1064,37 +1209,27 @@
     };
     version = "0.9.0";
   };
-  gherkin = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1cgcdchwwdm10rsk44frjwqd4ihprhxjbm799nscqy2q1raqfj5s";
-      type = "gem";
-    };
-    version = "5.1.0";
-  };
   git = {
     dependencies = ["rchardet"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15sbv16dlap5d6naybl8cc99zffrpzygkhjz3m6l3r5y5yrhwwjc";
+      sha256 = "0vdcv93s33d9914a9nxrn2y2qv15xk7jx94007cmalp159l08cnl";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.8.1";
   };
   google-api-client = {
-    dependencies = ["addressable" "googleauth" "httpclient" "mini_mime" "representable" "retriable" "signet"];
+    dependencies = ["addressable" "googleauth" "httpclient" "mini_mime" "representable" "retriable" "rexml" "signet"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xndfscxxaw73qah484vmhcd60hlbyrr9rlh7sf2n2sjfcqikjsf";
+      sha256 = "1q1lsyyyfvff7727sr01j8qx6b30qpx6h0bna5s0bfz853fhl33b";
       type = "gem";
     };
-    version = "0.34.1";
+    version = "0.52.0";
   };
   googleauth = {
     dependencies = ["faraday" "jwt" "memoist" "multi_json" "os" "signet"];
@@ -1102,10 +1237,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dnkh017ln5g7x3y0w743g61bxb2cdcyr1vax9ic3gx7vkrfj3iw";
+      sha256 = "0cm60nbmwzf83fzy06f3iyn5a6sw91siw8x9bdvpwwmjsmivana6";
       type = "gem";
     };
-    version = "0.10.0";
+    version = "0.14.0";
   };
   gssapi = {
     dependencies = ["ffi"];
@@ -1113,10 +1248,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13l6pqbfrx3vv7cw26nq9p8rnyp9br31gaz85q32wx6hnzfcriwh";
+      sha256 = "1qdfhj12aq8v0y961v4xv96a1y2z80h3xhvzrs9vsfgf884g6765";
       type = "gem";
     };
-    version = "1.3.0";
+    version = "1.3.1";
   };
   gyoku = {
     dependencies = ["builder"];
@@ -1149,27 +1284,6 @@
     };
     version = "1.7.10";
   };
-  htmlentities = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj";
-      type = "gem";
-    };
-    version = "4.3.4";
-  };
-  http = {
-    dependencies = ["addressable" "http-cookie" "http-form_data" "http_parser.rb"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1kcd9qp8vm1rkyp7gfh8j0dbl3zpi97vz2vbhpbcsdsa7l21a59r";
-      type = "gem";
-    };
-    version = "2.2.2";
-  };
   http-cookie = {
     dependencies = ["domain_name"];
     groups = ["default"];
@@ -1181,26 +1295,6 @@
     };
     version = "1.0.3";
   };
-  http-form_data = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0j8dwwbfpf8kc0lcsqcgy29lflszd1x4d7kc0f7227892m7r6y0m";
-      type = "gem";
-    };
-    version = "1.0.3";
-  };
-  "http_parser.rb" = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi";
-      type = "gem";
-    };
-    version = "0.6.0";
-  };
   httpclient = {
     groups = ["default"];
     platforms = [];
@@ -1217,10 +1311,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jwrd1l4mxz06iyx6053lr6hz2zy7ah2k3ranfzisvych5q19kwm";
+      sha256 = "0k7q3pwm0l1qvx6sc3d4dxmdxqx2pc63lbfjwv0k0higq94rinvs";
       type = "gem";
     };
-    version = "1.8.2";
+    version = "1.8.8";
   };
   inifile = {
     groups = ["default"];
@@ -1237,10 +1331,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xbik6838gfh5yq9ahh1m7dzszxlk0g7x5lvhb8amk60mafkrgws";
+      sha256 = "1wb1qy4i2xrrd92dc34pi7q7ibrjpapzk9y465v0n9caiplnb89n";
       type = "gem";
     };
-    version = "1.4.4";
+    version = "1.5.0";
   };
   inspec = {
     dependencies = ["faraday_middleware" "inspec-core" "train" "train-aws" "train-habitat" "train-winrm"];
@@ -1248,21 +1342,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04cyv81rgspr9xachq2dk9xgb740jrq7vpy2r88lqdzlzbpz3f4n";
+      sha256 = "0jg818r56vzzh971ckzbknv8b70da73njr3x2y7xd6jwv5pjs93m";
       type = "gem";
     };
-    version = "4.18.85";
+    version = "4.26.4";
   };
   inspec-core = {
-    dependencies = ["addressable" "chef-telemetry" "faraday" "hashie" "htmlentities" "json-schema" "license-acceptance" "method_source" "mixlib-log" "multipart-post" "parallel" "parslet" "pry" "rspec" "rspec-its" "rubyzip" "semverse" "sslshake" "term-ansicolor" "thor" "tomlrb" "train-core" "tty-prompt" "tty-table"];
+    dependencies = ["addressable" "chef-telemetry" "faraday" "faraday_middleware" "hashie" "license-acceptance" "method_source" "mixlib-log" "multipart-post" "parallel" "parslet" "pry" "rspec" "rspec-its" "rubyzip" "semverse" "sslshake" "thor" "tomlrb" "train-core" "tty-prompt" "tty-table"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ha6dmi5lywv4gldpv2pyj0zwqv4wsf422jd4x8licmkpkcrwc2r";
+      sha256 = "0nrd4ny5cyah76pchr5xyi2m9rx0lkyk9vd2sp68rjp0x1x5y3p8";
       type = "gem";
     };
-    version = "4.18.85";
+    version = "4.26.4";
   };
   ipaddress = {
     groups = ["default"];
@@ -1274,16 +1368,6 @@
     };
     version = "0.8.3";
   };
-  jaro_winkler = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1y8l6k34svmdyqxya3iahpwbpvmn3fswhwsvrz0nk1wyb8yfihsh";
-      type = "gem";
-    };
-    version = "1.5.4";
-  };
   jmespath = {
     groups = ["default"];
     platforms = [];
@@ -1299,31 +1383,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nrmw2r4nfxlfgprfgki3hjifgrcrs3l5zvm3ca3gb4743yr25mn";
+      sha256 = "0lrirj0gw420kw71bjjlqkqhqbrplla61gbv1jzgsz6bv90qr3ci";
       type = "gem";
     };
-    version = "2.3.0";
-  };
-  json-schema = {
-    dependencies = ["addressable"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1yv5lfmr2nzd14af498xqd5p89f3g080q8wk0klr3vxgypsikkb5";
-      type = "gem";
-    };
-    version = "2.8.1";
+    version = "2.5.1";
   };
   jwt = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01zg1vp3lyl3flyjdkrcc93ghf833qgfgh2p1biqfhkzz11r129c";
+      sha256 = "14ynyq1q483spj20ffl4xayfqx1a8qr761mqjfxczf8lwlap392n";
       type = "gem";
     };
-    version = "2.2.1";
+    version = "2.2.2";
   };
   kitchen-inspec = {
     dependencies = ["hashie" "inspec" "test-kitchen"];
@@ -1331,10 +1404,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v85hnmhqdbl9zxphvbqfgma9rl095mq9jz223mkffdh9q5xv282";
+      sha256 = "1fx27vkc29kx59qmkrkl53sbyigny3rkqlfp836rwlxf1wfbbdlv";
       type = "gem";
     };
-    version = "1.3.1";
+    version = "2.3.0";
   };
   kitchen-vagrant = {
     dependencies = ["test-kitchen"];
@@ -1342,10 +1415,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01wwryb4ha6gzhnmbg7xir32rpynbw4zc2l9dch02pwizw0n669x";
+      sha256 = "1pix3n9hbr9s736n4jh8dn71ccsm5xcqvx9clwilzhr3r89qfiwg";
       type = "gem";
     };
-    version = "1.6.1";
+    version = "1.8.0";
   };
   knife-spork = {
     dependencies = ["app_conf" "chef" "diffy" "git"];
@@ -1353,10 +1426,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rcry9fbsi9kqfi8rrdda17yzmfyg21g9jv01sgzg1sj59kzb79s";
+      sha256 = "1ddgmv3j75m908ldykrgn9rdjdw09yakmxav7569f18lhxxfs9l0";
       type = "gem";
     };
-    version = "1.7.2";
+    version = "1.7.3";
   };
   libyajl2 = {
     groups = ["default"];
@@ -1374,10 +1447,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lxgpmzb9hafzx7f5fssb1mamcbzbdp87awvjr33fk6nsvyg3zaj";
+      sha256 = "03n3jpzivqxajvf3507c2z9vq2mrriqqc1yg3g0pgzacb3d38k2d";
       type = "gem";
     };
-    version = "1.0.13";
+    version = "1.0.19";
   };
   little-plugger = {
     groups = ["default"];
@@ -1395,10 +1468,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06j6iaj89h9jhkx1x3hlswqrfnqds8br05xb1qra69dpvbdmjcwn";
+      sha256 = "0pkmhcxi8lp74bq5gz9lxrvaiv5w0745kk7s4bw2b1x07qqri0n9";
       type = "gem";
     };
-    version = "2.2.2";
+    version = "2.3.0";
   };
   memoist = {
     groups = ["default"];
@@ -1415,10 +1488,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq";
+      sha256 = "1pnyh44qycnf9mzi1j6fywd5fkskv3x7nmsqrrws0rjn5dd4ayfp";
       type = "gem";
     };
-    version = "0.9.2";
+    version = "1.0.0";
   };
   mini_mime = {
     groups = ["default"];
@@ -1435,10 +1508,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy";
+      sha256 = "1hdbpmamx8js53yk3h8cqy12kgv6ca06k0c9n3pxh6b6cjfs19x7";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "2.5.0";
   };
   minitar = {
     groups = ["default"];
@@ -1455,10 +1528,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0g73x65hmjph8dg1h3rkzfg7ys3ffxm35hj35grw75fixmq53qyz";
+      sha256 = "0ipjhdw8ds6q9h7bs3iw28bjrwkwp215hr4l3xf6215fsl80ky5j";
       type = "gem";
     };
-    version = "5.14.0";
+    version = "5.14.3";
   };
   mixlib-archive = {
     dependencies = ["mixlib-log"];
@@ -1466,30 +1539,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01c7g55x126cj2493wx03n9b83i9m1rdfx2aivg1yg8d1lmj8jdg";
+      sha256 = "0dj52irvnp1riz52kg6fddmdvl9nxsrxk3vyidr7lfzhw5sj8vdk";
       type = "gem";
     };
-    version = "1.0.5";
+    version = "1.1.4";
   };
   mixlib-authentication = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0d854b55d0hx0q12gwbycfdcpnxx88zz0jk557ngq2cqq94g96jy";
+      sha256 = "1wfyn645wnb79rl3ys83171ymv56k8zks9qvxh29vj8nicyrzr23";
       type = "gem";
     };
-    version = "3.0.6";
+    version = "3.0.7";
   };
   mixlib-cli = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yrfgg18hlm0hkg81w5bw3fbk0m89lg96a0b65q9mrrscg37rvn2";
+      sha256 = "1ydxlfgd7nnj3rp1y70k4yk96xz5cywldjii2zbnw3sq9pippwp6";
       type = "gem";
     };
-    version = "2.1.5";
+    version = "2.1.8";
   };
   mixlib-config = {
     dependencies = ["tomlrb"];
@@ -1497,10 +1570,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14lb9dg4wg86qhbd0rykdjr00arkyvmrg20a5ylf0zd6wp7w01jk";
+      sha256 = "1askip583sfnz25gywd508l3vj5wnvx9vp7gm1sfnixm7amssrwq";
       type = "gem";
     };
-    version = "3.0.6";
+    version = "3.0.9";
   };
   mixlib-install = {
     dependencies = ["mixlib-shellout" "mixlib-versioning" "thor"];
@@ -1508,30 +1581,31 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bsn4d0m3xw142v1vssyrxwa6y64fqd5hx2hsnm5vc1xj4xmcg0f";
+      sha256 = "0p11qf6b86dzl3q5gqi63myz484dicmn90d8v8jjb1dm51gqpajq";
       type = "gem";
     };
-    version = "3.11.26";
+    version = "3.12.5";
   };
   mixlib-log = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00kmwx7s3xpxmy44saxjk36gbhsywyxy4f8jf4gjvwwpr0ps8q0g";
+      sha256 = "0n5dm5iz90ijvjn59jfm8gb8hgsvbj0f1kpzbl38b02z0z4a4v7x";
       type = "gem";
     };
-    version = "3.0.8";
+    version = "3.0.9";
   };
   mixlib-shellout = {
+    dependencies = ["chef-utils"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0c2nqa82xp0hg8sj69cypar8n7p3azl5pl2v2mjbkhgmmhqxa8km";
+      sha256 = "0y1z0phkdhpbsn8vz7a86nhkr7ra619j86z5p75amz61kfpw42z9";
       type = "gem";
     };
-    version = "3.0.9";
+    version = "3.2.2";
   };
   mixlib-versioning = {
     groups = ["default"];
@@ -1548,10 +1622,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hh40z1adl4lw16dj4hxgabx4rr28mgqycih1y1d91bwww0jjdg6";
+      sha256 = "17kvf6fijn6k886dhj89h0x39qh90c47asa2k16s913fcgn3a1n3";
       type = "gem";
     };
-    version = "0.6.6";
+    version = "0.7.0";
   };
   ms_rest = {
     dependencies = ["concurrent-ruby" "faraday" "timeliness"];
@@ -1559,31 +1633,31 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10mgfspn3g75mhmfprpr2pnkmav34gix8cfga43g7162d0i1pd9l";
+      sha256 = "1jiha1bda5knpjqjymwik6i41n69gb0phcrgvmgc5icl4mcisai7";
       type = "gem";
     };
-    version = "0.7.5";
+    version = "0.7.6";
   };
   ms_rest_azure = {
-    dependencies = ["concurrent-ruby" "faraday" "faraday-cookie_jar" "ms_rest" "unf_ext"];
+    dependencies = ["concurrent-ruby" "faraday" "faraday-cookie_jar" "ms_rest"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "135va1hzxwn0apb2lf7b9yi8d1czid250cgf91dm331rqz84jnvz";
+      sha256 = "06i37b84r2q206kfm5vsi9s1qiiy09091vhvc5pzb7320h0hc1ih";
       type = "gem";
     };
-    version = "0.11.1";
+    version = "0.12.0";
   };
   multi_json = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xy54mjf7xg41l8qrg1bqri75agdqmxap9z466fjismc1rn2jwfr";
+      sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z";
       type = "gem";
     };
-    version = "1.14.1";
+    version = "1.15.0";
   };
   multipart-post = {
     groups = ["default"];
@@ -1595,16 +1669,6 @@
     };
     version = "2.1.1";
   };
-  necromancer = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1w2y31947axs62bsf0xrpgalsw4ip1m44vpw7p8f4s9zvnayj2vd";
-      type = "gem";
-    };
-    version = "0.5.1";
-  };
   net-scp = {
     dependencies = ["net-ssh"];
     groups = ["default"];
@@ -1660,15 +1724,15 @@
     version = "1.2.1";
   };
   nokogiri = {
-    dependencies = ["mini_portile2"];
+    dependencies = ["mini_portile2" "racc"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yi8j8hwrlc3rg5v3w52gxndmwifyk7m732q9yfbal0qajqbh1h8";
+      sha256 = "1ajwkqr28hwqbyl1l3czx4a34c88acxywyqp8cjyy0zgsd6sbhj2";
       type = "gem";
     };
-    version = "1.10.8";
+    version = "1.11.1";
   };
   nori = {
     groups = ["default"];
@@ -1686,10 +1750,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06kx258qa5k24q5pv8i4daaw3g57gif6p5k5h3gndj3q2jk6vhkn";
+      sha256 = "1fl517ld5vj0llyshp3f9kb7xyl9iqy28cbz3k999fkbwcxzhlyq";
       type = "gem";
     };
-    version = "4.16.0";
+    version = "4.20.0";
   };
   ohai = {
     dependencies = ["chef-config" "ffi" "ffi-yajl" "ipaddress" "mixlib-cli" "mixlib-config" "mixlib-log" "mixlib-shellout" "plist" "systemu" "wmi-lite"];
@@ -1697,20 +1761,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c6c22nqg905sivr099qrwbvnwwyvm37xzxxrysvkalxglkvxr23";
+      sha256 = "0qw3mz8f9hpzfchwqa1nix7fcvy34k5n7lln91b8gsbx2l6aycs6";
       type = "gem";
     };
-    version = "15.7.4";
+    version = "15.12.0";
   };
   os = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06r55k01g32lvz4wf2s6hpjlxbbag113jsvff3w64jllfr315a73";
+      sha256 = "12fli64wz5j9868gpzv5wqsingk1jk457qyqksv9ksmq9b0zpc9x";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "1.1.1";
   };
   paint = {
     groups = ["default"];
@@ -1727,10 +1791,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12jijkap4akzdv11lm08dglsc8jmc87xcgq6947i1s3qb69f4zn2";
+      sha256 = "0055br0mibnqz0j8wvy20zry548dhkakws681bhj3ycb972awkzd";
       type = "gem";
     };
-    version = "1.19.1";
+    version = "1.20.1";
   };
   parser = {
     dependencies = ["ast"];
@@ -1738,10 +1802,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "145lv6rbbnbddbk79l10kadycjq05vyrzq5d733zswmypshpq6ni";
+      sha256 = "1jixakyzmy0j5c1rb0fjrrdhgnyryvrr6vgcybs14jfw09akv5ml";
       type = "gem";
     };
-    version = "2.7.0.2";
+    version = "3.0.0.0";
   };
   parslet = {
     groups = ["default"];
@@ -1754,25 +1818,25 @@
     version = "1.8.2";
   };
   pastel = {
-    dependencies = ["equatable" "tty-color"];
+    dependencies = ["tty-color"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m43wk7gswwkl6lfxwlliqc9v1qp8arfygihyz91jc9icf270xzm";
+      sha256 = "0xash2gj08dfjvq4hy6l1z22s5v30fhizwgs10d6nviggpxsj7a8";
       type = "gem";
     };
-    version = "0.7.3";
+    version = "0.8.0";
   };
   plist = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ra0910xxbhfsmdi0ig36pr3q0khdqzwb5da3wg7y3n8d1sh9ffp";
+      sha256 = "1whhr897z6z6av85x2cipyjk46bwh6s4wx6nbrcd3iifnzvbqs7l";
       type = "gem";
     };
-    version = "3.5.0";
+    version = "3.6.0";
   };
   polyglot = {
     groups = ["default"];
@@ -1800,10 +1864,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00rm71x0r1jdycwbs83lf9l6p494m99asakbvqxh8rz7zwnlzg69";
+      sha256 = "1shq3vfdg7c9l1wppl8slridl95wmwvnngqhga6j2571nnv50piv";
       type = "gem";
     };
-    version = "0.12.2";
+    version = "0.14.0";
   };
   public_suffix = {
     groups = ["default"];
@@ -1815,15 +1879,25 @@
     };
     version = "3.1.1";
   };
+  racc = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "178k7r0xn689spviqzhvazzvxfq6fyjldxb3ywjbgipbfi4s8j1g";
+      type = "gem";
+    };
+    version = "1.5.2";
+  };
   rack = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10mp9s48ssnw004aksq90gvhdvwczh8j6q82q2kqiqq92jd1zxbp";
+      sha256 = "0i5vs0dph9i5jn8dfc6aqd6njcafmb20rwqngrf759c9cvmyff16";
       type = "gem";
     };
-    version = "2.2.2";
+    version = "2.2.3";
   };
   rainbow = {
     groups = ["default"];
@@ -1840,10 +1914,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0w6qza25bq1s825faaglkx1k6d59aiyjjk3yw3ip5sb463mhhai9";
+      sha256 = "1iik52mf9ky4cgs38fp2m8r6skdkq1yz23vh18lk95fhbcxb6a67";
       type = "gem";
     };
-    version = "13.0.1";
+    version = "13.0.3";
   };
   rchardet = {
     groups = ["default"];
@@ -1855,6 +1929,16 @@
     };
     version = "1.8.0";
   };
+  regexp_parser = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0zm86k9q8m5jkcnpb1f93wsvc57saldfj8czxkx1aw031i95inip";
+      type = "gem";
+    };
+    version = "2.0.3";
+  };
   representable = {
     dependencies = ["declarative" "declarative-option" "uber"];
     groups = ["default"];
@@ -1902,10 +1986,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hzsig4pi9ybr0xl5540m1swiyxa74c8h09225y5sdh2rjkkg84h";
+      sha256 = "1dwai7jnwmdmd7ajbi2q0k0lx1dh88knv5wl7c34wjmf94yv8w5q";
       type = "gem";
     };
-    version = "3.9.0";
+    version = "3.10.0";
   };
   rspec-core = {
     dependencies = ["rspec-support"];
@@ -1913,10 +1997,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qzc1wdjb1qnbimjl8i1q1r1z5hdv2lmcw7ysz7jawj4d1cvpqvd";
+      sha256 = "0wwnfhxxvrlxlk1a3yxlb82k2f9lm0yn0598x7lk8fksaz4vv6mc";
       type = "gem";
     };
-    version = "3.9.1";
+    version = "3.10.1";
   };
   rspec-expectations = {
     dependencies = ["diff-lcs" "rspec-support"];
@@ -1924,10 +2008,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gjqfb39da6gywdcp4h77738r7khbrn2v4y45589z25bj4z9paf0";
+      sha256 = "1sz9bj4ri28adsklnh257pnbq4r5ayziw02qf67wry0kvzazbb17";
       type = "gem";
     };
-    version = "3.9.0";
+    version = "3.10.1";
   };
   rspec-its = {
     dependencies = ["rspec-core" "rspec-expectations"];
@@ -1946,61 +2030,82 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19vmdqym1v2g1zbdnq37zwmyj87y9yc9ijwc8js55igvbb9hx0mr";
+      sha256 = "1d13g6kipqqc9lmwz5b244pdwc97z15vcbnbq6n9rlf32bipdz4k";
       type = "gem";
     };
-    version = "3.9.1";
+    version = "3.10.2";
   };
   rspec-support = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zwpyq1na23pvgacpxs2v9nwfbjbw6x3arca5j3l1xagigqmzhc3";
+      sha256 = "15j52parvb8cgvl6s0pbxi2ywxrv6x0764g222kz5flz0s4mycbl";
       type = "gem";
     };
-    version = "3.9.2";
+    version = "3.10.2";
   };
   rubocop = {
-    dependencies = ["jaro_winkler" "parallel" "parser" "rainbow" "rexml" "ruby-progressbar" "unicode-display_width"];
+    dependencies = ["parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06npybjypxsrz09z8ivxqfcwzpbgif6z3hwpp0ls8znqlgp3m922";
+      type = "gem";
+    };
+    version = "1.9.1";
+  };
+  rubocop-ast = {
+    dependencies = ["parser"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0adfpv76whv5dy5wr5brqkki39jfv6r08482saj64h9j4wzwcznb";
+      sha256 = "0gkf1p8yal38nlvdb39qaiy0gr85fxfr09j5dxh8qvrgpncpnk78";
       type = "gem";
     };
-    version = "0.80.0";
+    version = "1.4.1";
   };
   ruby-progressbar = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1k77i0d4wsn23ggdd2msrcwfy0i376cglfqypkk2q77r2l3408zf";
+      sha256 = "02nmaw7yx9kl7rbaan5pl8x5nn0y4j5954mzrkzi9i3dhsrps4nc";
       type = "gem";
     };
-    version = "1.10.1";
+    version = "1.11.0";
+  };
+  ruby2_keywords = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15wfcqxyfgka05v2a7kpg64x57gl1y4xzvnc9lh60bqx5sf1iqrs";
+      type = "gem";
+    };
+    version = "0.0.4";
   };
   rubyntlm = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p6bxsklkbcqni4bcq6jajc2n57g0w5rzn4r49c3lb04wz5xg0dy";
+      sha256 = "0b8hczk8hysv53ncsqzx4q6kma5gy5lqc7s5yx8h64x3vdb18cjv";
       type = "gem";
     };
-    version = "0.6.2";
+    version = "0.6.3";
   };
   rubyzip = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qxc2zxwwipm6kviiar4gfhcakpx1jdcs89v6lvzivn5hq1xk78l";
+      sha256 = "0590m2pr9i209pp5z4mx0nb1961ishdiqb28995hw1nln1d1b5ji";
       type = "gem";
     };
-    version = "1.3.0";
+    version = "2.3.0";
   };
   rufus-lru = {
     groups = ["default"];
@@ -2039,10 +2144,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m8brljfgrxpr5j7kggv3dphqj9in3rkbf5dryx8f7nprkk85wdd";
+      sha256 = "1zmrsnrrj5j3bp9fmaa74cvlkpdwspv8gv5vpz1lclhirkiqz1xv";
       type = "gem";
     };
-    version = "0.12.0";
+    version = "0.14.1";
   };
   solve = {
     dependencies = ["molinillo" "semverse"];
@@ -2050,20 +2155,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zymaik4cxd4kmd8f4n1ij8ykrfinhnlvlhjnsdv2cv1xnqnjqmk";
+      sha256 = "059lrsf40rl5kclp1w8pb0fzz5sv8aikg073cwcvn5mndk14ayky";
       type = "gem";
     };
-    version = "4.0.3";
+    version = "4.0.4";
   };
   sslshake = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dy7pnvn0zb3qbfahgksfxqw1hxhk2i2wlw34bvr2iyzqlw04a3s";
+      sha256 = "0r3ifksx8a05yqhv7nc4cwan8bwmxgq5kyv7q7hy2h9lv5zcjs8h";
       type = "gem";
     };
-    version = "1.3.0";
+    version = "1.3.1";
   };
   strings = {
     dependencies = ["strings-ansi" "unicode-display_width" "unicode_utils"];
@@ -2071,10 +2176,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "111876lcqrykh30w7zzkrl06d6rj9lq24y625m28674vgfxkkcz0";
+      sha256 = "0xgw0zmwansvmk8dnxgd83pvrj4f5y8j72bpzp409hwd6xy1hy7m";
       type = "gem";
     };
-    version = "0.1.8";
+    version = "0.2.0";
   };
   strings-ansi = {
     groups = ["default"];
@@ -2086,16 +2191,6 @@
     };
     version = "0.2.0";
   };
-  sync = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1z9qlq4icyiv3hz1znvsq1wz2ccqjb1zwd6gkvnwg6n50z65d0v6";
-      type = "gem";
-    };
-    version = "0.5.0";
-  };
   syslog-logger = {
     groups = ["default"];
     platforms = [];
@@ -2116,37 +2211,26 @@
     };
     version = "2.6.5";
   };
-  term-ansicolor = {
-    dependencies = ["tins"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1xq5kci9215skdh27npyd3y55p812v4qb4x2hv3xsjvwqzz9ycwj";
-      type = "gem";
-    };
-    version = "1.7.1";
-  };
   test-kitchen = {
     dependencies = ["bcrypt_pbkdf" "ed25519" "license-acceptance" "mixlib-install" "mixlib-shellout" "net-scp" "net-ssh" "net-ssh-gateway" "thor" "winrm" "winrm-elevated" "winrm-fs"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14wvv8vgm3lqqk9ifywjhhxlvnbx5gpl4f8zbw5gj41sq8hdqgqj";
+      sha256 = "1s5sj6x2dscd3wci7ns1m3jwfp1b7h8535q44ggdsz60gp63p974";
       type = "gem";
     };
-    version = "2.3.4";
+    version = "2.10.0";
   };
   thor = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yhrnp9x8qcy5vc7g438amd5j9sw83ih7c30dr6g6slgw9zj3g29";
+      sha256 = "18yhlvmfya23cs3pvhr1qy38y41b6mhr5q9vwv5lrgk16wmf3jna";
       type = "gem";
     };
-    version = "0.20.3";
+    version = "1.1.0";
   };
   thread_safe = {
     groups = ["default"];
@@ -2168,80 +2252,69 @@
     };
     version = "0.3.10";
   };
-  tins = {
-    dependencies = ["sync"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0nghqcdg7ak91n2h6igx8i2ykbhna93xpg33w6232451vphlwdm0";
-      type = "gem";
-    };
-    version = "1.24.1";
-  };
   tomlrb = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0njkyq5csj4km8spmw33b5902v254wvyvqq1b0f0kky5hs7bvrgg";
+      sha256 = "00x5y9h4fbvrv4xrjk4cqlkm4vq8gv73ax4alj3ac2x77zsnnrk8";
       type = "gem";
     };
-    version = "1.2.9";
+    version = "1.3.0";
   };
   train = {
-    dependencies = ["activesupport" "azure_graph_rbac" "azure_mgmt_key_vault" "azure_mgmt_resources" "azure_mgmt_security" "azure_mgmt_storage" "docker-api" "google-api-client" "googleauth" "train-core" "train-winrm"];
+    dependencies = ["activesupport" "azure_graph_rbac" "azure_mgmt_key_vault" "azure_mgmt_resources" "azure_mgmt_security" "azure_mgmt_storage" "docker-api" "google-api-client" "googleauth" "inifile" "train-core" "train-winrm"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1y7aggjyarc531a0vmh86vdqr6ws3y3h64jnkh8cavpqns4jhmjg";
+      sha256 = "09nflqvdgzxfncr8qki0jhnarfg36mii0h6hi2cd71q49613m6gk";
       type = "gem";
     };
-    version = "3.2.22";
+    version = "3.4.9";
   };
   train-aws = {
-    dependencies = ["aws-sdk-apigateway" "aws-sdk-apigatewayv2" "aws-sdk-athena" "aws-sdk-autoscaling" "aws-sdk-budgets" "aws-sdk-cloudformation" "aws-sdk-cloudhsm" "aws-sdk-cloudhsmv2" "aws-sdk-cloudtrail" "aws-sdk-cloudwatch" "aws-sdk-cloudwatchlogs" "aws-sdk-codecommit" "aws-sdk-codedeploy" "aws-sdk-codepipeline" "aws-sdk-configservice" "aws-sdk-core" "aws-sdk-costandusagereportservice" "aws-sdk-dynamodb" "aws-sdk-ec2" "aws-sdk-ecr" "aws-sdk-ecs" "aws-sdk-eks" "aws-sdk-elasticache" "aws-sdk-elasticbeanstalk" "aws-sdk-elasticloadbalancing" "aws-sdk-elasticloadbalancingv2" "aws-sdk-elasticsearchservice" "aws-sdk-firehose" "aws-sdk-iam" "aws-sdk-kafka" "aws-sdk-kinesis" "aws-sdk-kms" "aws-sdk-lambda" "aws-sdk-organizations" "aws-sdk-rds" "aws-sdk-redshift" "aws-sdk-route53" "aws-sdk-route53domains" "aws-sdk-route53resolver" "aws-sdk-s3" "aws-sdk-securityhub" "aws-sdk-ses" "aws-sdk-sms" "aws-sdk-sns" "aws-sdk-sqs" "aws-sdk-ssm"];
+    dependencies = ["aws-sdk-apigateway" "aws-sdk-apigatewayv2" "aws-sdk-applicationautoscaling" "aws-sdk-athena" "aws-sdk-autoscaling" "aws-sdk-batch" "aws-sdk-budgets" "aws-sdk-cloudformation" "aws-sdk-cloudfront" "aws-sdk-cloudhsm" "aws-sdk-cloudhsmv2" "aws-sdk-cloudtrail" "aws-sdk-cloudwatch" "aws-sdk-cloudwatchevents" "aws-sdk-cloudwatchlogs" "aws-sdk-codecommit" "aws-sdk-codedeploy" "aws-sdk-codepipeline" "aws-sdk-cognitoidentity" "aws-sdk-cognitoidentityprovider" "aws-sdk-configservice" "aws-sdk-core" "aws-sdk-costandusagereportservice" "aws-sdk-databasemigrationservice" "aws-sdk-dynamodb" "aws-sdk-ec2" "aws-sdk-ecr" "aws-sdk-ecs" "aws-sdk-efs" "aws-sdk-eks" "aws-sdk-elasticache" "aws-sdk-elasticbeanstalk" "aws-sdk-elasticloadbalancing" "aws-sdk-elasticloadbalancingv2" "aws-sdk-elasticsearchservice" "aws-sdk-firehose" "aws-sdk-glue" "aws-sdk-guardduty" "aws-sdk-iam" "aws-sdk-kafka" "aws-sdk-kinesis" "aws-sdk-kms" "aws-sdk-lambda" "aws-sdk-organizations" "aws-sdk-ram" "aws-sdk-rds" "aws-sdk-redshift" "aws-sdk-route53" "aws-sdk-route53domains" "aws-sdk-route53resolver" "aws-sdk-s3" "aws-sdk-secretsmanager" "aws-sdk-securityhub" "aws-sdk-servicecatalog" "aws-sdk-ses" "aws-sdk-shield" "aws-sdk-sms" "aws-sdk-sns" "aws-sdk-sqs" "aws-sdk-ssm" "aws-sdk-states" "aws-sdk-transfer"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dvwzk9h5kzbb9v6qm387mfysjz4nfcr56685ccl5c1jj5a59553";
+      sha256 = "014cbgkzkw1rf7652h1xqshb9crr6pn2yhlv1z41ndxlkmmdx4fg";
       type = "gem";
     };
-    version = "0.1.15";
+    version = "0.1.35";
   };
   train-core = {
-    dependencies = ["addressable" "inifile" "json" "mixlib-shellout" "net-scp" "net-ssh"];
+    dependencies = ["addressable" "ffi" "json" "mixlib-shellout" "net-scp" "net-ssh"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dfqyfi4q2vykbiw4b373n7n2aqzhq9gkn8sr3sx2w7hpd7lkd3x";
+      sha256 = "1pbfbmi9l5hxr1zly1bc72fk8a6by4d19wdap8q3mi3rlflqzbfp";
       type = "gem";
     };
-    version = "3.2.22";
+    version = "3.4.9";
   };
   train-habitat = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1w642zkvgq0d1dy622lk50ngr0872v6ghd4r1g692qv8g4k6d90n";
+      sha256 = "0qdi2q5djzfl6x3fv2vrvybjdvrnx53nfh4vzrcl2h7nrf801n6v";
       type = "gem";
     };
-    version = "0.2.13";
+    version = "0.2.22";
   };
   train-winrm = {
-    dependencies = ["winrm" "winrm-fs"];
+    dependencies = ["winrm" "winrm-elevated" "winrm-fs"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0x4sv6hblq9y259aka6j868di2w669f6aj2m7ssi5jxhanaf5mqk";
+      sha256 = "0nin3qfkh173yjcihxaz0sbnskds9n1n0ciphc7y70647vpsqgrh";
       type = "gem";
     };
-    version = "0.2.6";
+    version = "0.2.12";
   };
   treetop = {
     dependencies = ["polyglot"];
@@ -2249,10 +2322,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0g31pijhnv7z960sd09lckmw9h8rs3wmc8g4ihmppszxqm99zpv7";
+      sha256 = "0697qz1akblf8r3wi0s2dsjh468hfsd57fb0mrp93z35y2ni6bhh";
       type = "gem";
     };
-    version = "1.6.10";
+    version = "1.6.11";
   };
   tty-box = {
     dependencies = ["pastel" "strings" "tty-cursor"];
@@ -2260,20 +2333,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14g63v0jx87hba50rlv3c521zg9rw0f5d31cihcvym19xxa7v3l5";
+      sha256 = "12yzhl3s165fl8pkfln6mi6mfy3vg7p63r3dvcgqfhyzq6h57x0p";
       type = "gem";
     };
-    version = "0.5.0";
+    version = "0.7.0";
   };
   tty-color = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0czbnp19cfnf5zwdd22payhqjv57mgi3gj5n726s20vyq3br6bsp";
+      sha256 = "0aik4kmhwwrmkysha7qibi2nyzb4c8kp42bd5vxnf8sf7b53g73g";
       type = "gem";
     };
-    version = "0.5.1";
+    version = "0.6.0";
   };
   tty-cursor = {
     groups = ["default"];
@@ -2286,15 +2359,15 @@
     version = "0.7.1";
   };
   tty-prompt = {
-    dependencies = ["necromancer" "pastel" "tty-reader"];
+    dependencies = ["pastel" "tty-reader"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19kbxny8cfsy1r02awih1gf76mi3a7zqg3ymxpmf9720khlmziax";
+      sha256 = "0rhvwpl5wk51njrh3avm09c8pwl2z5iwc0l67h40gq3r7ix2fjk2";
       type = "gem";
     };
-    version = "0.20.0";
+    version = "0.23.0";
   };
   tty-reader = {
     dependencies = ["tty-cursor" "tty-screen" "wisper"];
@@ -2302,31 +2375,31 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1977ajs9sxwhd88qqmf6l1hw63dqxlvg9mx626rymsc5ap2xa1r4";
+      sha256 = "1cf2k7w7d84hshg4kzrjvk9pkyc2g1m3nx2n1rpmdcf0hp4p4af6";
       type = "gem";
     };
-    version = "0.7.0";
+    version = "0.9.0";
   };
   tty-screen = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jwgr2i3wilng3mx851xczmkzllbirmsmr42ik4amqyyvry1yzyf";
+      sha256 = "18jr6s1cg8yb26wzkqa6874q0z93rq0y5aw092kdqazk71y6a235";
       type = "gem";
     };
-    version = "0.7.1";
+    version = "0.8.1";
   };
   tty-table = {
-    dependencies = ["equatable" "necromancer" "pastel" "strings" "tty-screen"];
+    dependencies = ["pastel" "strings" "tty-screen"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1y07yikpk65jqmxinw8l4c45pbw1b2h4fv9fikb43a7sdlr6sn69";
+      sha256 = "0fcrbfb0hjd9vkkazkksri93dv9wgs2hp6p1xwb1lp43a13pmhpx";
       type = "gem";
     };
-    version = "0.11.0";
+    version = "0.12.0";
   };
   tzinfo = {
     dependencies = ["thread_safe"];
@@ -2334,10 +2407,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04f18jdv6z3zn3va50rqq35nj3izjpb72fnf21ixm7vanq6nc4fp";
+      sha256 = "0zwqqh6138s8b321fwvfbywxy00lw1azw4ql3zr0xh1aqxf8cnvj";
       type = "gem";
     };
-    version = "1.2.6";
+    version = "1.2.9";
   };
   uber = {
     groups = ["default"];
@@ -2365,20 +2438,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04d13bp6lyg695x94whjwsmzc2ms72d94vx861nx1y40k3817yp8";
+      sha256 = "0wc47r23h063l8ysws8sy24gzh74mks81cak3lkzlrw4qkqb3sg4";
       type = "gem";
     };
-    version = "0.0.7.2";
+    version = "0.0.7.7";
   };
   unicode-display_width = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pppclzq4qb26g321553nm9xqca3zgllvpwb2kqxsdadwj51s09x";
+      sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna";
       type = "gem";
     };
-    version = "1.6.1";
+    version = "1.7.0";
   };
   unicode_utils = {
     groups = ["default"];
@@ -2406,10 +2479,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13c0vf32vinkp3ia86rvq779dacl37v4v2814v4g9qrk3liv0dym";
+      sha256 = "0nxf6a47d1xf1nvi7rbfbzjyyjhz0iakrnrsr2hj6y24a381sd8i";
       type = "gem";
     };
-    version = "2.3.4";
+    version = "2.3.6";
   };
   winrm-elevated = {
     dependencies = ["erubi" "winrm" "winrm-fs"];
@@ -2417,10 +2490,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yawwrs3pnvbbm9xn0nbzvyl92kgf1jr439qfbqx0mb8zzkyi2dv";
+      sha256 = "1lmlaii8qapn84wxdg5d82gbailracgk67d0qsnbdnffcg8kswzd";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "1.2.3";
   };
   winrm-fs = {
     dependencies = ["erubi" "logging" "rubyzip" "winrm"];
@@ -2428,10 +2501,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0phhzliw47hmpi3ddygs500kfxa7il5yzmp7dw4ix2dvhrxrj7s6";
+      sha256 = "0gb91k6s1yjqw387x4w1nkpnxblq3pjdqckayl0qvz5n3ygdsb0d";
       type = "gem";
     };
-    version = "1.3.3";
+    version = "1.3.5";
   };
   wisper = {
     groups = ["default"];
diff --git a/pkgs/development/tools/clj-kondo/default.nix b/pkgs/development/tools/clj-kondo/default.nix
index 702e5935689de..5539489afb02d 100644
--- a/pkgs/development/tools/clj-kondo/default.nix
+++ b/pkgs/development/tools/clj-kondo/default.nix
@@ -2,17 +2,17 @@
 
 stdenv.mkDerivation rec {
   pname = "clj-kondo";
-  version = "2020.11.07";
+  version = "2021.02.13";
 
   reflectionJson = fetchurl {
     name = "reflection.json";
     url = "https://raw.githubusercontent.com/borkdude/${pname}/v${version}/reflection.json";
-    sha256 = "0mwclqjh38alkddr5r7bfqn5lplx06h9gladi89kp06qdxc1hp7a";
+    sha256 = "ea5c18586fd8803b138a4dd197a0019d5e5a2c76ebe4925b9b54a10125a68c57";
   };
 
   src = fetchurl {
     url = "https://github.com/borkdude/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
-    sha256 = "1xqryfcn82bp8wasqnllfgvhl5w9zm63yw8c2kgxz18dayhq4i31";
+    sha256 = "sha256-Rq7W5sP9nRB0TGRUSQIyC3U568uExmcM/gd+1HjAqac=";
   };
 
   dontUnpack = true;
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
     native-image  \
       -jar ${src} \
       -H:Name=clj-kondo \
+      ${lib.optionalString stdenv.isDarwin ''-H:-CheckToolchain''} \
       -H:+ReportExceptionStackTraces \
       -J-Dclojure.spec.skip-macros=true \
       -J-Dclojure.compiler.direct-linking=true \
diff --git a/pkgs/development/tools/clpm/default.nix b/pkgs/development/tools/clpm/default.nix
index 03174d6c4fcbb..0dfa99367ac64 100644
--- a/pkgs/development/tools/clpm/default.nix
+++ b/pkgs/development/tools/clpm/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchgit
 , wrapLisp
 , sbcl
@@ -7,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "clpm";
-  version = "0.3.5";
+  version = "0.3.6";
 
   src = fetchgit {
     url = "https://gitlab.common-lisp.net/clpm/clpm";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "0jivnnp3z148yf4c2nzzr5whz76w5kjhsb97z2vs5maiwf79y2if";
+    sha256 = "04w46yhv31p4cfb84b6qvyfw7x5nx6lzyd4yzhd9x6qvb7p5kmfh";
   };
 
   buildInputs = [
@@ -22,13 +23,21 @@ stdenv.mkDerivation rec {
   ];
 
   buildPhase = ''
+    runHook preBuild
+
     ln -s ${openssl.out}/lib/libcrypto.so.* .
     ln -s ${openssl.out}/lib/libssl.so.* .
     common-lisp.sh --script scripts/build.lisp
+
+    runHook postBuild
   '';
 
   installPhase = ''
+    runHook preInstall
+
     INSTALL_ROOT=$out sh install.sh
+
+    runHook postInstall
   '';
 
   # fixupPhase results in fatal error in SBCL, `Can't find sbcl.core`
diff --git a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix b/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
index ed1171458b106..5ba6718a6bd2d 100644
--- a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
+++ b/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
@@ -2,16 +2,16 @@
   makeWrapper, coreutils, git, openssh, bash, gnused, gnugrep }:
 buildGoModule rec {
   name = "buildkite-agent-${version}";
-  version = "3.26.0";
+  version = "3.27.0";
 
   src = fetchFromGitHub {
     owner = "buildkite";
     repo = "agent";
     rev = "v${version}";
-    sha256 = "1z8hiamg3h1fnsmr8j5l9q6c8cd81lqmd00gcmz4spw73pqfxg3r";
+    sha256 = "sha256-JfOCht+awc0I22vtRD5hgowgdVkcJR3qSxnxLoc3XZY=";
   };
 
-  vendorSha256 = "1kxnpn4py8a2rz1gwg0y3yiwcwphj38pkp2k9z1p85ccm2wblljz";
+  vendorSha256 = "sha256-4zKe8y+9fedvCt/XmPf0HxtyqLz+FP4Ylt6k9KBjaIw=";
 
   postPatch = ''
     substituteInPlace bootstrap/shell/shell.go --replace /bin/bash ${bash}/bin/bash
diff --git a/pkgs/development/tools/continuous-integration/fly/default.nix b/pkgs/development/tools/continuous-integration/fly/default.nix
index 3fa1b7b95f300..3b0a0f4022772 100644
--- a/pkgs/development/tools/continuous-integration/fly/default.nix
+++ b/pkgs/development/tools/continuous-integration/fly/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fly";
-  version = "6.7.4";
+  version = "7.0.0";
 
   src = fetchFromGitHub {
     owner = "concourse";
     repo = "concourse";
     rev = "v${version}";
-    sha256 = "sha256-EFcgS+ZrmdrIwHAzwSuQFe7UgeWsTRjm2sDv5COdi/k=";
+    sha256 = "sha256-WpwMx8mPedunBKlRUDdcVA1sLWkZvuoaw6DEtvGSyAg=";
   };
 
-  vendorSha256 = "sha256-xeptlcJLj+R1BdC8Rdi3hsJVxdrmvfeTMsrhMNGrXi8=";
+  vendorSha256 = "sha256-OxU+Hb8bX71SFuyAw583Z7bEu+b/j2i/fOGE5S9C91M=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index 20cb953edea05..ad886e0c3c6ec 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl }:
 
 let
-  version = "13.8.0";
+  version = "13.9.0";
   # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
   docker_x86_64 = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-x86_64.tar.xz";
-    sha256 = "15pf6mxma8gkzyxkzm1rjwa514p7gzabn3c474lcvsjpmp76wv68";
+    sha256 = "0zgnp6l0p1i7x6lppd24nfb6kqa8mw7rnr2p5gmwbmjv9i9zkycs";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-arm.tar.xz";
-    sha256 = "1c4lpy7nc62rqk8bfwiy5pcgvcwx70qkz3lv9w512fr3n5hjd4c0";
+    sha256 = "06b5p9ygcnrjrisp6bcgw9s3j2zlycp8jsri259bjf7rrfbwpkma";
   };
 in
 buildGoPackage rec {
@@ -30,7 +30,7 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "0v0iqpllzaabkahlc5pidzzw0bjlli984pdna3f3bbg67lm5a421";
+    sha256 = "0wzqrfjg43wnf9lr34jn3ydlxi7vsnqs55pm5igba592q8ykfbxk";
   };
 
   patches = [ ./fix-shell-path.patch ];
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index d9eef5e3c4ec1..6f11ee9e87734 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jenkins";
-  version = "2.263.3";
+  version = "2.263.4";
 
   src = fetchurl {
     url = "http://mirrors.jenkins.io/war-stable/${version}/jenkins.war";
-    sha256 = "0lyzmv378yjz4p4dlpm1nwdq4p781nycvspdik82xbxg4s6gamd3";
+    sha256 = "1disj0a0qh7gzjqm6bjb7dx0v74k74hkyvxpg12ahdj2g04p8jhx";
   };
 
   buildCommand = ''
diff --git a/pkgs/development/tools/continuous-integration/laminar/default.nix b/pkgs/development/tools/continuous-integration/laminar/default.nix
index f64cbd5e85fda..9d78f57425a0c 100644
--- a/pkgs/development/tools/continuous-integration/laminar/default.nix
+++ b/pkgs/development/tools/continuous-integration/laminar/default.nix
@@ -8,18 +8,16 @@
 , zlib
 , rapidjson
 , pandoc
-, enableSystemd ? false
-, customConfig ? null
 }:
 let
   js.vue = fetchurl {
-    url = "https://cdnjs.cloudflare.com/ajax/libs/vue/2.3.4/vue.min.js";
-    sha256 = "01zklp5cyik65dfn64m8h2y2dxzgbyzgmbf99y7fwgnf0155r7pq";
+    url = "https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.12/vue.min.js";
+    sha256 = "1hm5kci2g6n5ikrvp1kpkkdzimjgylv1xicg2vnkbvd9rb56qa99";
   };
   js.vue-router = fetchurl {
     url =
-      "https://cdnjs.cloudflare.com/ajax/libs/vue-router/2.7.0/vue-router.min.js";
-    sha256 = "07gx7znb30rk1z7w6ca7dlfjp44q12bbq6jghwfm27mf6psa80as";
+      "https://cdnjs.cloudflare.com/ajax/libs/vue-router/3.4.8/vue-router.min.js";
+    sha256 = "0418waib896ywwxkxliip75zp94k3s9wld51afrqrcq70axld0c9";
   };
   js.ansi_up = fetchurl {
     url = "https://raw.githubusercontent.com/drudru/ansi_up/v1.3.0/ansi_up.js";
@@ -29,17 +27,12 @@ let
     url = "https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.min.js";
     sha256 = "1jh4h12qchsba03dx03mrvs4r8g9qfjn56xm56jqzgqf7r209xq9";
   };
-  css.bootstrap = fetchurl {
-    url =
-      "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css";
-    sha256 = "11vx860prsx7wsy8b0yrrk04ih8kvrxkk8l16snsc4n286bdkyri";
-  };
 in stdenv.mkDerivation rec {
   name = "laminar";
-  version = "0.8";
+  version = "1.0";
   src = fetchurl {
     url = "https://github.com/ohwgiles/laminar/archive/${version}.tar.gz";
-    sha256 = "05g73j3vpib47kr7mackcazf7s6bc3xwz4h6k7sp7yb5ng7gj20g";
+    sha256 = "11m6h3rdmj2rsmsryy7r40gqccj4gg1cnqwy6blscs87gx4s423g";
   };
   patches = [ ./patches/no-network.patch ];
   nativeBuildInputs = [ cmake pandoc ];
@@ -50,31 +43,23 @@ in stdenv.mkDerivation rec {
     cp  ${js.vue-router}  js/vue-router.min.js
     cp  ${js.ansi_up}     js/ansi_up.js
     cp  ${js.Chart}       js/Chart.min.js
-    cp  ${css.bootstrap}  css/bootstrap.min.css
   '';
+
   postInstall = ''
-    mv $out/usr/share $out
-    mkdir $out/bin
-    mv $out/usr/{bin,sbin}/* $out/bin
-    rmdir $out/usr/{bin,sbin}
-    rmdir $out/usr
+    mv $out/usr/share/* $out/share/
+    rmdir $out/usr/share $out/usr
 
     mkdir -p $out/share/doc/laminar
     pandoc -s ../UserManual.md -o $out/share/doc/laminar/UserManual.html
-  '' + lib.optionalString (customConfig != null) ''
-    cp ${customConfig} /etc/etc/laminar.conf
-  '' + (if enableSystemd then ''
-    sed -i "s,/etc/,$out/etc/," $out/lib/systemd/system/laminar.service
-    sed -i "s,/usr/sbin/,$out/bin/," $out/lib/systemd/system/laminar.service
-  '' else ''
-    rm -r $out/lib # it contains only systemd unit file
-  '');
+    rm -rf $out/lib # remove upstream systemd units
+    rm -rf $out/etc # remove upstream config file
+  '';
 
   meta = with lib; {
     description = "Lightweight and modular continuous integration service";
     homepage = "https://laminar.ohwg.net";
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ kaction ];
+    maintainers = with maintainers; [ kaction maralorn ];
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/laminar/patches/no-network.patch b/pkgs/development/tools/continuous-integration/laminar/patches/no-network.patch
index 80e74de95aa22..355baeb837a56 100644
--- a/pkgs/development/tools/continuous-integration/laminar/patches/no-network.patch
+++ b/pkgs/development/tools/continuous-integration/laminar/patches/no-network.patch
@@ -6,21 +6,36 @@ put into correct location before build phase starts.
 
 --- laminar-0.8/CMakeLists.txt
 +++ laminar-0.8-new/CMakeLists.txt
-@@ -69,17 +69,6 @@
+@@ -82,15 +82,6 @@
      COMMAND sh -c '( echo -n "\\#define INDEX_HTML_UNCOMPRESSED_SIZE " && wc -c < "${CMAKE_SOURCE_DIR}/src/resources/index.html" ) > index_html_size.h'
      DEPENDS src/resources/index.html)
  
 -# Download 3rd-party frontend JS libs...
--file(DOWNLOAD https://cdnjs.cloudflare.com/ajax/libs/vue/2.3.4/vue.min.js
--        js/vue.min.js EXPECTED_MD5 ae2fca1cfa0e31377819b1b0ffef704c)
--file(DOWNLOAD https://cdnjs.cloudflare.com/ajax/libs/vue-router/2.7.0/vue-router.min.js
--        js/vue-router.min.js EXPECTED_MD5 5d3e35710dbe02de78c39e3e439b8d4e)
+-file(DOWNLOAD https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.12/vue.min.js
+-	js/vue.min.js EXPECTED_MD5 fb192338844efe86ec759a40152fcb8e)
+-file(DOWNLOAD https://cdnjs.cloudflare.com/ajax/libs/vue-router/3.4.8/vue-router.min.js
+-	js/vue-router.min.js EXPECTED_MD5 5f51d4dbbf68fd6725956a5a2b865f3b)
 -file(DOWNLOAD https://raw.githubusercontent.com/drudru/ansi_up/v1.3.0/ansi_up.js
 -        js/ansi_up.js EXPECTED_MD5 158566dc1ff8f2804de972f7e841e2f6)
 -file(DOWNLOAD https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.min.js
 -        js/Chart.min.js EXPECTED_MD5 f6c8efa65711e0cbbc99ba72997ecd0e)
--file(DOWNLOAD https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css
--        css/bootstrap.min.css EXPECTED_MD5 5d5357cb3704e1f43a1f5bfed2aebf42)
  # ...and compile them
  generate_compressed_bins(${CMAKE_BINARY_DIR} js/vue-router.min.js js/vue.min.js
-     js/ansi_up.js js/Chart.min.js css/bootstrap.min.css)
+     js/ansi_up.js js/Chart.min.js)
+@@ -141,12 +132,12 @@
+     target_link_libraries(laminar-tests ${GTEST_LIBRARY} capnp-rpc capnp kj-http kj-async kj pthread sqlite3 z)
+ endif()
+ 
+-set(SYSTEMD_UNITDIR /lib/systemd/system CACHE PATH "Path to systemd unit files")
+-set(BASH_COMPLETIONS_DIR /usr/share/bash-completion/completions CACHE PATH "Path to bash completions directory")
+-set(ZSH_COMPLETIONS_DIR /usr/share/zsh/site-functions CACHE PATH "Path to zsh completions directory")
++set(SYSTEMD_UNITDIR lib/systemd/system CACHE PATH "Path to systemd unit files")
++set(BASH_COMPLETIONS_DIR usr/share/bash-completion/completions CACHE PATH "Path to bash completions directory")
++set(ZSH_COMPLETIONS_DIR usr/share/zsh/site-functions CACHE PATH "Path to zsh completions directory")
+ install(TARGETS laminard RUNTIME DESTINATION sbin)
+ install(TARGETS laminarc RUNTIME DESTINATION bin)
+-install(FILES etc/laminar.conf DESTINATION /etc)
++install(FILES etc/laminar.conf DESTINATION etc)
+ install(FILES etc/laminarc-completion.bash DESTINATION ${BASH_COMPLETIONS_DIR} RENAME laminarc)
+ install(FILES etc/laminarc-completion.zsh DESTINATION ${ZSH_COMPLETIONS_DIR} RENAME _laminarc)
+ 
diff --git a/pkgs/development/tools/convco/default.nix b/pkgs/development/tools/convco/default.nix
index d6be170bb8f66..c152197358c91 100644
--- a/pkgs/development/tools/convco/default.nix
+++ b/pkgs/development/tools/convco/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "convco";
-  version = "0.3.2";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "convco";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0fqq6irbq1aikhhw08gc9kp0vbk2aminfbvwdlm58cvywyq91bn4";
+    sha256 = "sha256-eWe7oTWl7QfIqq3GfMILi5S8zUi03ER1Mzfr8hqUvgw=";
   };
 
-  cargoSha256 = "073sfv42fbl8rjm3dih1ghs9vq75mjshp66zdzdan2dmmrnw5m9z";
+  cargoSha256 = "sha256-hAUg2mh4VyyjkBRBs5YWi14yeGlMXxt+cdoz5xOS+1A=";
 
   nativeBuildInputs = [ openssl perl pkg-config ];
 
diff --git a/pkgs/development/tools/coursier/default.nix b/pkgs/development/tools/coursier/default.nix
index e016f0ef7c923..65077d6134b74 100644
--- a/pkgs/development/tools/coursier/default.nix
+++ b/pkgs/development/tools/coursier/default.nix
@@ -2,7 +2,7 @@
 , coreutils, git, gnused, nix, nixfmt }:
 
 let
-  version = "2.0.9";
+  version = "2.0.12";
 
   zshCompletion = fetchurl {
     url =
@@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
   src = fetchurl {
     url =
       "https://github.com/coursier/coursier/releases/download/v${version}/coursier";
-    sha256 = "sha256-jqSv9VBLotl6YVWgWNznvTThRIiMUStQ0WbN6u01b1c=";
+    sha256 = "sha256-SLl8pXGl9612FDEOy1vz/mXTb3+7YAJ/wq/njBL+V+I=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -37,14 +37,7 @@ in stdenv.mkDerivation rec {
     #!${stdenv.shell}
     set -o errexit
     PATH=${
-      lib.makeBinPath [
-        common-updater-scripts
-        coreutils
-        git
-        gnused
-        nix
-        nixfmt
-      ]
+      lib.makeBinPath [ common-updater-scripts coreutils git gnused nix nixfmt ]
     }
     oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion ${pname}" | tr -d '"')"
     latestTag="$(git -c 'versionsort.suffix=-' ls-remote --exit-code --refs --sort='version:refname' --tags ${repo} 'v*.*.*' | tail --lines=1 | cut --delimiter='/' --fields=3 | sed 's|^v||g')"
diff --git a/pkgs/development/tools/database/ephemeralpg/default.nix b/pkgs/development/tools/database/ephemeralpg/default.nix
index ae10c402945fe..0fb3ae81030bb 100644
--- a/pkgs/development/tools/database/ephemeralpg/default.nix
+++ b/pkgs/development/tools/database/ephemeralpg/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
     url = "http://ephemeralpg.org/code/${pname}-${version}.tar.gz";
     sha256 = "1ap22ki8yz6agd0qybcjgs4b9izw1rwwcgpxn3jah2ccfyax34s6";
   };
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
   installPhase = ''
     mkdir -p $out
     PREFIX=$out make install
diff --git a/pkgs/development/tools/database/liquibase/default.nix b/pkgs/development/tools/database/liquibase/default.nix
index 16e5fce1ebc00..0be77237f4289 100644
--- a/pkgs/development/tools/database/liquibase/default.nix
+++ b/pkgs/development/tools/database/liquibase/default.nix
@@ -10,14 +10,15 @@ in
 
 stdenv.mkDerivation rec {
   pname = "liquibase";
-  version = "4.2.2";
+  version = "4.3.1";
 
   src = fetchurl {
     url = "https://github.com/liquibase/liquibase/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "0k3vrz12dgfirz9p4ckgk2swr42w8fl50hdgg8pwc7yh2jsz8zl0";
+    sha256 = "sha256-hOemDLfkjjPXQErKKCIMl8c5EPZe40B1HlNfvg7IZKU=";
   };
 
-  buildInputs = [ jre makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre ];
 
   unpackPhase = ''
     tar xfz ${src}
diff --git a/pkgs/development/tools/database/pyrseas/default.nix b/pkgs/development/tools/database/pyrseas/default.nix
index 075cd5053beb6..930078b2dc72e 100644
--- a/pkgs/development/tools/database/pyrseas/default.nix
+++ b/pkgs/development/tools/database/pyrseas/default.nix
@@ -1,13 +1,13 @@
 { lib, pythonPackages, fetchFromGitHub }:
 
 let
-  pgdbconn = pythonPackages.buildPythonPackage {
+  pgdbconn = pythonPackages.buildPythonPackage rec {
     pname = "pgdbconn";
     version = "0.8.0";
     src = fetchFromGitHub {
       owner = "perseas";
       repo = "pgdbconn";
-      rev = "26c1490e4f32e4b5b925e5b82014ad106ba5b057";
+      rev = "v${version}";
       sha256 = "09r4idk5kmqi3yig7ip61r6js8blnmac5n4q32cdcbp1rcwzdn6z";
     };
     # The tests are impure (they try to access a PostgreSQL server)
diff --git a/pkgs/development/tools/database/sqldeveloper/default.nix b/pkgs/development/tools/database/sqldeveloper/default.nix
index c42197e13cf13..8fb7677f58454 100644
--- a/pkgs/development/tools/database/sqldeveloper/default.nix
+++ b/pkgs/development/tools/database/sqldeveloper/default.nix
@@ -49,7 +49,8 @@ in
     sha256 = "1h53gl41ydr7kim6q9ckg3xyhb0rhmwj7jnis0xz6vms52b3h59k";
   };
 
-  buildInputs = [ makeWrapper unzip ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ unzip ];
 
   unpackCmd = "unzip $curSrc";
 
diff --git a/pkgs/development/tools/diesel-cli/default.nix b/pkgs/development/tools/diesel-cli/default.nix
index bd8e71090c536..20185ff7d1374 100644
--- a/pkgs/development/tools/diesel-cli/default.nix
+++ b/pkgs/development/tools/diesel-cli/default.nix
@@ -9,11 +9,9 @@ assert lib.assertMsg (sqliteSupport == true || postgresqlSupport == true || mysq
 
 let
   inherit (lib) optional optionals optionalString;
-  features = ''
-    ${optionalString sqliteSupport "sqlite"} \
-    ${optionalString postgresqlSupport "postgres"} \
-    ${optionalString mysqlSupport "mysql"} \
-  '';
+  features = optional sqliteSupport "sqlite"
+    ++ optional postgresqlSupport "postgres"
+    ++ optional mysqlSupport "mysql";
 in
 
 rustPlatform.buildRustPackage rec {
@@ -35,11 +33,12 @@ rustPlatform.buildRustPackage rec {
     ./allow-warnings.patch
   ];
 
-  cargoBuildFlags = [ "--no-default-features --features \"${features}\"" ];
+  cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];
   cargoPatches = [ ./cargo-lock.patch ];
   cargoSha256 = "1vbb7r0dpmq8363i040bkhf279pz51c59kcq9v5qr34hs49ish8g";
 
   nativeBuildInputs = [ pkg-config ];
+
   buildInputs = [ openssl ]
     ++ optional stdenv.isDarwin Security
     ++ optional (stdenv.isDarwin && mysqlSupport) libiconv
@@ -47,12 +46,7 @@ rustPlatform.buildRustPackage rec {
     ++ optional postgresqlSupport postgresql
     ++ optionals mysqlSupport [ mysql zlib ];
 
-  # We must `cd diesel_cli`, we cannot use `--package diesel_cli` to build
-  # because --features fails to apply to the package:
-  # https://github.com/rust-lang/cargo/issues/5015
-  # https://github.com/rust-lang/cargo/issues/4753
-  preBuild = "cd diesel_cli";
-  postBuild = "cd ..";
+  buildAndTestSubdir = "diesel_cli";
 
   checkPhase = optionalString sqliteSupport ''
     (cd diesel_cli && cargo check --features sqlite)
@@ -65,7 +59,7 @@ rustPlatform.buildRustPackage rec {
 
   # Fix the build with mariadb, which otherwise shows "error adding symbols:
   # DSO missing from command line" errors for libz and libssl.
-  NIX_LDFLAGS = lib.optionalString mysqlSupport "-lz -lssl -lcrypto";
+  NIX_LDFLAGS = optionalString mysqlSupport "-lz -lssl -lcrypto";
 
   meta = with lib; {
     description = "Database tool for working with Rust projects that use Diesel";
diff --git a/pkgs/development/tools/dockle/default.nix b/pkgs/development/tools/dockle/default.nix
new file mode 100644
index 0000000000000..d78b54b33e4fa
--- /dev/null
+++ b/pkgs/development/tools/dockle/default.nix
@@ -0,0 +1,51 @@
+{ lib, buildGoModule, fetchFromGitHub, pkg-config, btrfs-progs, lvm2 }:
+
+buildGoModule rec {
+  pname = "dockle";
+  version = "0.3.10";
+
+  src = fetchFromGitHub {
+    owner = "goodwithtech";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-oS3ZGQkDSRdVLluLNg56VGp6MCrRDlgjk1va1+xocas=";
+  };
+
+  vendorSha256 = "sha256-npbUE3ch8TamW0aikdKuFElE4YDRKwNVUscuvmlQxl4=";
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ btrfs-progs lvm2 ];
+
+  buildFlagsArray = [
+    "-ldflags="
+    "-s"
+    "-w"
+    "-X main.version=${version}"
+  ];
+
+  preCheck = ''
+    # Remove tests that use networking
+    rm pkg/scanner/scan_test.go
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/dockle --help
+    $out/bin/dockle --version | grep "dockle version ${version}"
+    runHook postInstallCheck
+  '';
+
+  meta = with lib; {
+    homepage = "https://containers.goodwith.tech";
+    changelog = "https://github.com/goodwithtech/dockle/releases/tag/v${version}";
+    description = "Container Image Linter for Security";
+    longDescription = ''
+      Container Image Linter for Security.
+      Helping build the Best-Practice Docker Image.
+      Easy to start.
+    '';
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jk ];
+  };
+}
diff --git a/pkgs/development/tools/doctl/default.nix b/pkgs/development/tools/doctl/default.nix
index 4d05bd3ed1147..c83b6142b06d0 100644
--- a/pkgs/development/tools/doctl/default.nix
+++ b/pkgs/development/tools/doctl/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "doctl";
-  version = "1.55.0";
+  version = "1.57.0";
 
   vendorSha256 = null;
 
@@ -32,7 +32,7 @@ buildGoModule rec {
     owner = "digitalocean";
     repo = "doctl";
     rev = "v${version}";
-    sha256 = "sha256-vhg5X8H4VegSDORtj1rgNKlWQo1H1e/vvO01LJkVK+A=";
+    sha256 = "sha256-waaBillxI7tKQAugyolAWQWf4CG+uIkjtvNXNNFpqRY=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/documentation/gtk-doc/default.nix b/pkgs/development/tools/documentation/gtk-doc/default.nix
index d82c288e5aad4..e74a6b9c3c6a4 100644
--- a/pkgs/development/tools/documentation/gtk-doc/default.nix
+++ b/pkgs/development/tools/documentation/gtk-doc/default.nix
@@ -5,7 +5,7 @@
 , pkg-config
 , python3
 , docbook_xml_dtd_43
-, docbook_xsl
+, docbook-xsl-nons
 , libxslt
 , gettext
 , gnome3
@@ -14,7 +14,9 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "gtk-doc";
-  version = "1.33.1";
+  version = "1.33.2";
+
+  outputDevdoc = "out";
 
   format = "other";
 
@@ -23,15 +25,13 @@ python3.pkgs.buildPythonApplication rec {
     owner = "GNOME";
     repo = pname;
     rev = version;
-    sha256 = "L9CjhZ60F42xbo50x7cdKfJrav/9mf38pff8S4xkEVo=";
+    sha256 = "A6OXpazrJ05SUIO1ZPVN0xHTXOSov8UnPvUolZAv/Iw=";
   };
 
   patches = [
     passthru.respect_xml_catalog_files_var_patch
   ];
 
-  outputDevdoc = "out";
-
   nativeBuildInputs = [
     pkg-config
     gettext
@@ -42,7 +42,7 @@ python3.pkgs.buildPythonApplication rec {
 
   buildInputs = [
     docbook_xml_dtd_43
-    docbook_xsl
+    docbook-xsl-nons
     libxslt
   ] ++ lib.optionals withDblatex [
     dblatex
@@ -50,7 +50,6 @@ python3.pkgs.buildPythonApplication rec {
 
   pythonPath = with python3.pkgs; [
     pygments # Needed for https://gitlab.gnome.org/GNOME/gtk-doc/blob/GTK_DOC_1_32/meson.build#L42
-    (anytree.override { withGraphviz = false; })
     lxml
   ];
 
@@ -79,8 +78,8 @@ python3.pkgs.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Tools to extract documentation embedded in GTK and GNOME source code";
-    homepage = "https://www.gtk.org/gtk-doc";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ pSub worldofpeace ];
+    homepage = "https://gitlab.gnome.org/GNOME/gtk-doc";
+    license = licenses.gpl2Plus;
+    maintainers = teams.gnome.members ++ (with maintainers; [ pSub ]);
   };
 }
diff --git a/pkgs/development/tools/documentation/mdsh/default.nix b/pkgs/development/tools/documentation/mdsh/default.nix
index c8e6cafa27af8..68be931aa444f 100644
--- a/pkgs/development/tools/documentation/mdsh/default.nix
+++ b/pkgs/development/tools/documentation/mdsh/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdsh";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "zimbatm";
     repo = "mdsh";
     rev = "v${version}";
-    sha256 = "02xslf5ssmyklbfsif2d7yk5aaz08n5w0dqiid6v4vlr2mkqcpjl";
+    sha256 = "1ki6w3qf8ipcf7ch5120mj16vs7yan8k9zjd25v8x6vbsd1iccgy";
   };
 
-  cargoSha256 = "118ykkqlf0x6gcgywx4pg3qawfhfr5q5f51gvrw9s302c1lmgk3g";
+  cargoSha256 = "10iqypz8hfyzy1xd78r39z2waa728d97kfnf1bbx8fr4a4pzan7y";
 
   meta = with lib; {
     description = "Markdown shell pre-processor";
diff --git a/pkgs/development/tools/dt-schema/default.nix b/pkgs/development/tools/dt-schema/default.nix
index 3d420bf190188..7f439d9b59e81 100644
--- a/pkgs/development/tools/dt-schema/default.nix
+++ b/pkgs/development/tools/dt-schema/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "dtschema";
-  version = "2020.12";
+  version = "2021.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01de2598075909f2afb2d45277d0358645066f5bbb1770fca5f1d6f399846924";
+    sha256 = "d9f88f069068dc5dc7e895785d7172d260cbbc34cab3b52704b20e89b80c6de8";
   };
 
   nativeBuildInputs = [ setuptools_scm git ];
diff --git a/pkgs/development/tools/eclipse-mat/default.nix b/pkgs/development/tools/eclipse-mat/default.nix
index 633e13d25f772..4f475440b0480 100644
--- a/pkgs/development/tools/eclipse-mat/default.nix
+++ b/pkgs/development/tools/eclipse-mat/default.nix
@@ -1,5 +1,4 @@
-{ buildEnv
-, fetchurl
+{ fetchurl
 , fontconfig
 , freetype
 , glib
diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix
index 2e60885111d9e..6ea866eb8f5c9 100644
--- a/pkgs/development/tools/electron/default.nix
+++ b/pkgs/development/tools/electron/default.nix
@@ -76,30 +76,30 @@ rec {
     headers = "18frb1z5qkyff5z1w44mf4iz9aw9j4lq0h9yxgfnp33zf7sl9qb5";
   };
 
-  electron_9 = mkElectron "9.4.1" {
-    x86_64-linux = "36c6c33e2702f591c34a7e6ebd7d0828d554a4ce2eafb319a0cd16ffd4cc4b28";
-    x86_64-darwin = "3e2f87d899be684eab226c572c566e89c05114059c9add1a33d2be63100b18fd";
-    i686-linux = "be5f8d18f11ad7c0655faec4040a8af6239f29f1155210024a01826a30b0dbbe";
-    armv7l-linux = "b710a0e3b80ef265760d49c9210f78a6410007521b0ed73c8b868b05d22a0a60";
-    aarch64-linux = "e2fc73309780fc0e9b5abebcb8256b2bc389672f0bcc261269da5891a3df66dc";
-    headers = "0sabqcjd6gcc6khyhiz3rk30p1y4bxsajy4rs9866bqyafq86j6q";
+  electron_9 = mkElectron "9.4.3" {
+    x86_64-linux = "7744ec8af6512e569d600d7fd8e9105d3ca5ac7b6f54390dd553edbd7816289f";
+    x86_64-darwin = "68c67a32f149618d629eb4a8a8044b98dc6ceedc16d46ff20782fcccad72fc44";
+    i686-linux = "904955ee8365b95439fb4643844ac868b59525ed230a76c8e0395c0aa5719813";
+    armv7l-linux = "5cfb3ae97a75d33d4b102d75944610dd56a566ee98186a030eb5bdbbd3d76323";
+    aarch64-linux = "8afa647e4b5b1e290d5d852c7420e82916ba740e3e5576599076dc139cd1d556";
+    headers = "0712160j1yvl9fmj2vm9lznkwnmji1hjzyicb4vis52lbrwx820l";
   };
 
-  electron_10 = mkElectron "10.3.0" {
-    x86_64-linux = "1a4afb659400c7acca0734df1b981b867e5dfdd15d4d3b73fd276d87b682f089";
-    x86_64-darwin = "9c5cca484b28dc5cca89a7f1c77e65b3a04251f4eee740265c358efae351cb94";
-    i686-linux = "fcb298bca0ab229e92b92c418d3e352885ff4291f735a35c7822b3ca17ae8a86";
-    armv7l-linux = "48accf0fbef1f2d1a81e12c2e66b9280f871029b16947d0bebe036cf1fb71b1c";
-    aarch64-linux = "2c99b4ec87ba657c33efb3a7e907e3f3e315e87347954231cb8bae393c1c96fd";
-    headers = "1k97pfzxqrgw4y76js2chq13avgp9czin9q9mlh1zdf13bih96hj";
+  electron_10 = mkElectron "10.4.0" {
+    x86_64-linux = "6246481577bc0bfa719e0efb3144e8d7ca53e3f20defce7b5e1be4d9feb0becb";
+    x86_64-darwin = "bc9e201643db3dae803db934fa4e180d13b707de6be1c3348ca5ed2c21d30bf4";
+    i686-linux = "aa6a9042097b964230b519c158e369a249a668cc6c7654b30ddd02ced4bad9d1";
+    armv7l-linux = "7e99a9c6aeedd7cc0b25260ac4630730629f363a09b72bd024b42837ab9777bd";
+    aarch64-linux = "ef671fe3cbb7c84e277d885ed157552602bc88d326dc95b322953c6b193f59a1";
+    headers = "1vsvna2zr7qxnk2qsdjzgkv5v2svrllbsjj08qrilly7nbksk9fg";
   };
 
-  electron_11 = mkElectron "11.2.1" {
-    x86_64-linux = "607d9d58c9a3b5c36461acc6bbe473bc604eee42a55c2c617ac46d095cf98abb";
-    x86_64-darwin = "39d95668a3ea04bdc652ff9e2889c7a88f638534420e8e256679cbf4b7658a65";
-    i686-linux = "59f226133d01fb6acf86fe98907964f79dcf2902054e5c4c9c4ff84a3ea88f4a";
-    armv7l-linux = "85051d8eacf04aeec3dd74e46e7888d01bd4e6caf7ec2001122a1f3e11db44ee";
-    aarch64-linux = "8aa9be5d6c139386390bad64f78b95756206a40fe4982fc9f199b67a7d06bec5";
-    headers = "12sy8zzb0z654b85c5l1j8762nhwmkim1pbz1y3qzgbzvpbd5arq";
+  electron_11 = mkElectron "11.3.0" {
+    x86_64-linux = "136794f9ecc1c6ea38fe9b85682e8fcc8c4afd559f5cd6b4059339b017279917";
+    x86_64-darwin = "7569db1d2e470b0db512735f27f99498f631da3cd86374345139f18df88789fe";
+    i686-linux = "48ab133cab380c564529ea605d4521404b9bd07d80dad6346e1756a0952081cd";
+    armv7l-linux = "5774c2995c6dcf911ece00a94ace0f37d55132da91b1fd242c69e047872ef137";
+    aarch64-linux = "fad31c6fba7aba54db19a2aaedb03b514c51dd58bf301afab5265126833feb15";
+    headers = "123g3dgsb4vp8w1bm4apbp973ppzx4i4y35lhhmqjbp51jhrm9f0";
   };
 }
diff --git a/pkgs/development/tools/errcheck/default.nix b/pkgs/development/tools/errcheck/default.nix
index eb9589f723da4..a387c14c0a5c9 100644
--- a/pkgs/development/tools/errcheck/default.nix
+++ b/pkgs/development/tools/errcheck/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "errcheck";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "kisielk";
     repo = "errcheck";
     rev = "v${version}";
-    sha256 = "sha256-ZmocFXtg+Thdup+RqDYC/Td3+m1nS0FydZecfsWXIzI=";
+    sha256 = "sha256-Przf2c2jFNdkUq7IOUD7ChXHiSayAz4xTsNzajycYZ0=";
   };
 
   vendorSha256 = "sha256-rluaBdW+w2zPThELlBwX/6LXDgc2aIk/ucbrsrABpVc=";
diff --git a/pkgs/development/tools/fdroidserver/default.nix b/pkgs/development/tools/fdroidserver/default.nix
index 1b0c44f575481..2cc5e6b7ca5c8 100644
--- a/pkgs/development/tools/fdroidserver/default.nix
+++ b/pkgs/development/tools/fdroidserver/default.nix
@@ -49,6 +49,9 @@ python.pkgs.buildPythonApplication rec {
     ruamel_yaml
   ];
 
+  # no tests
+  doCheck = false;
+
   meta = with lib; {
     homepage = "https://f-droid.org";
     description = "Server and tools for F-Droid, the Free Software repository system for Android";
diff --git a/pkgs/development/tools/fedora-coreos-config-transpiler/default.nix b/pkgs/development/tools/fedora-coreos-config-transpiler/default.nix
index d50491692ef32..acbdf431fe23d 100644
--- a/pkgs/development/tools/fedora-coreos-config-transpiler/default.nix
+++ b/pkgs/development/tools/fedora-coreos-config-transpiler/default.nix
@@ -4,13 +4,13 @@ with lib;
 
 buildGoModule rec {
   pname = "fcct";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "coreos";
     repo = "fcct";
     rev = "v${version}";
-    sha256 = "0kdsnsp9nzkkfwakcx64md66yz2k7cpw8bkhdv798yirbrqprgp6";
+    sha256 = "0gxaj2fy889fl5vhb4s89rhih9a65aqjsz2yffhi5z4fa2im8szv";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/development/tools/flatpak-builder/default.nix b/pkgs/development/tools/flatpak-builder/default.nix
index dd9282c689612..75aa8a00f00c7 100644
--- a/pkgs/development/tools/flatpak-builder/default.nix
+++ b/pkgs/development/tools/flatpak-builder/default.nix
@@ -46,13 +46,13 @@ let
   installed_test_metadir = "${placeholder "installedTests"}/share/installed-tests/flatpak-builder";
 in stdenv.mkDerivation rec {
   pname = "flatpak-builder";
-  version = "1.0.11";
+  version = "1.0.12";
 
   outputs = [ "out" "doc" "man" "installedTests" ];
 
   src = fetchurl {
     url = "https://github.com/flatpak/flatpak-builder/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "EYNLdrvSs8S/GCYy0jGsnP1+C988y1j7WzcLfczM1Ew=";
+    sha256 = "sha256-R4DBuOCDj/tk6WOb14AUF5ZP2BjHxtXpr8pNVRHe0sg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/flyway/default.nix b/pkgs/development/tools/flyway/default.nix
index 4f2bd805260cc..f581806433f69 100644
--- a/pkgs/development/tools/flyway/default.nix
+++ b/pkgs/development/tools/flyway/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchurl, jre_headless, makeWrapper }:
   let
-    version = "7.5.2";
+    version = "7.5.4";
   in
     stdenv.mkDerivation {
       pname = "flyway";
       inherit version;
       src = fetchurl {
         url = "https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/${version}/flyway-commandline-${version}.tar.gz";
-        sha256 = "sha256-oO7k6JOKUm11OYNN+tH/zqF9ucgrsnF4PcphT8+xnS8=";
+        sha256 = "sha256-WU8j1NSf2KfA/HJWFtMLOZ3t5nxW4sU713e6qEEhZ0I=";
       };
       nativeBuildInputs = [ makeWrapper ];
       dontBuild = true;
diff --git a/pkgs/development/tools/ginkgo/default.nix b/pkgs/development/tools/ginkgo/default.nix
index 05db94c7f1e8c..c6ed583ce8765 100644
--- a/pkgs/development/tools/ginkgo/default.nix
+++ b/pkgs/development/tools/ginkgo/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "ginkgo";
-  version = "1.14.2";
+  version = "1.15.0";
 
   src = fetchFromGitHub {
     owner = "onsi";
     repo = "ginkgo";
     rev = "v${version}";
-    sha256 = "1pvslbfrpzc8n99x33gyvk9aaz6lvdyyg6cj3axjzkyjxmh6d5kc";
+    sha256 = "sha256-NvScoKnLr0herVrjEnij45yN0MxC/MoRJJHcy59rOuA=";
   };
-  vendorSha256 = "072amyw1ir18v9vk268j2y7dhw3lfwvxzvzsdqhnp50rxsa911bx";
+  vendorSha256 = "sha256-xBa2n2BV+aXPCZ3G+rFIqHtjcXfs1rDjKbmRzjaDSb8=";
   doCheck = false;
 
   meta = with lib; {
diff --git a/pkgs/development/tools/git-quick-stats/default.nix b/pkgs/development/tools/git-quick-stats/default.nix
index ed9205ee25167..3fda533c52776 100644
--- a/pkgs/development/tools/git-quick-stats/default.nix
+++ b/pkgs/development/tools/git-quick-stats/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-quick-stats";
-  version = "2.1.5";
+  version = "2.1.6";
 
   src = fetchFromGitHub {
     repo = "git-quick-stats";
     owner = "arzzen";
     rev = version;
-    sha256 = "sha256-d5B+SSUXtOD4x+dChQsUCkiHuHcW3lOrL4QhQekY7cA=";
+    sha256 = "sha256-l3Aftu1RkcDgzdzrKIAlziDgbjYfj5xLIbysS0a5JZw=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/git-repo-updater/default.nix b/pkgs/development/tools/git-repo-updater/default.nix
index dbf83677999ab..d78972aa07bdf 100644
--- a/pkgs/development/tools/git-repo-updater/default.nix
+++ b/pkgs/development/tools/git-repo-updater/default.nix
@@ -12,6 +12,9 @@ buildPythonApplication rec {
 
   propagatedBuildInputs = [ colorama GitPython ];
 
+  # no tests
+  doCheck = false;
+
   meta = with lib; {
     description = "Easily update multiple Git repositories at once";
     homepage = "https://github.com/earwig/git-repo-updater";
diff --git a/pkgs/development/tools/github/github-release/default.nix b/pkgs/development/tools/github/github-release/default.nix
index 81b125ac05858..4326d4bf71ca1 100644
--- a/pkgs/development/tools/github/github-release/default.nix
+++ b/pkgs/development/tools/github/github-release/default.nix
@@ -1,40 +1,17 @@
-{ lib, stdenv, system, fetchurl }:
+{ buildGoPackage, fetchFromGitHub, lib }:
 
-let
-  linuxPredicate = system == "x86_64-linux";
-  bsdPredicate = system == "x86_64-freebsd";
-  darwinPredicate = system == "x86_64-darwin";
-  metadata = assert linuxPredicate || bsdPredicate || darwinPredicate;
-    if linuxPredicate then
-      { arch = "linux-amd64";
-        sha256 = "0p0qj911nmmdj0r7wx3363gid8g4bm3my6mj3d6s4mwgh9lfisiz";
-        archiveBinaryPath = "linux/amd64"; }
-    else if bsdPredicate then
-      { arch = "freebsd-amd64";
-        sha256 = "0g618y9n39j11l1cbhyhwlbl2gv5a2a122c1dps3m2wmv7yzq5hk";
-        archiveBinaryPath = "freebsd/amd64"; }
-    else
-      { arch = "darwin-amd64";
-        sha256 = "0l623fgnsix0y3f960bwx3dgnrqaxs21w5652kvaaal7dhnlgmwj";
-        archiveBinaryPath = "darwin/amd64"; };
-in stdenv.mkDerivation rec {
-  shortname = "github-release";
-  name = "${shortname}-${version}";
-  version = "0.7.2";
+buildGoPackage rec {
+  pname = "github-release";
+  version = "0.10.0";
 
-  src = fetchurl {
-    url = "https://github.com/aktau/github-release/releases/download/v${version}/${metadata.arch}-${shortname}.tar.bz2";
-    sha256 = metadata.sha256;
+  src = fetchFromGitHub {
+    owner = "github-release";
+    repo = "github-release";
+    rev = "v${version}";
+    sha256 = "sha256-J5Y0Kvon7DstTueCsoYvw6x4cOH/C1IaVArE0bXtZts=";
   };
 
-  buildInputs = [ ];
-
-  phases = [ "unpackPhase" "installPhase" ];
-
-  installPhase = ''
-    mkdir -p "$out/bin"
-    cp "${metadata.archiveBinaryPath}/github-release" "$out/bin/"
-  '';
+  goPackagePath = "github.com/github-release/github-release";
 
   meta = with lib; {
     description = "Commandline app to create and edit releases on Github (and upload artifacts)";
@@ -45,8 +22,8 @@ in stdenv.mkDerivation rec {
     '';
 
     license = licenses.mit;
-    homepage = "https://github.com/aktau/github-release";
-    maintainers = with maintainers; [ ardumont ];
+    homepage = "https://github.com/github-release/github-release";
+    maintainers = with maintainers; [ ardumont j03 ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/tools/gllvm/default.nix b/pkgs/development/tools/gllvm/default.nix
index 78038440a96da..460f59dc3d0e9 100644
--- a/pkgs/development/tools/gllvm/default.nix
+++ b/pkgs/development/tools/gllvm/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "gllvm";
-  version = "1.2.9";
+  version = "1.3.0";
 
   goPackagePath = "github.com/SRI-CSL/gllvm";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "SRI-CSL";
     repo = "gllvm";
     rev = "v${version}";
-    sha256 = "15cgngvd9mg057iz32fk5kcprcvvavahbvfvl5ds8x7shbm60g7s";
+    sha256 = "sha256-nu6PRFk+GoN1gT1RTbX6mTPZByAGf0bSsj2C5YriGp8=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/glpaper/default.nix b/pkgs/development/tools/glpaper/default.nix
index 9ad85e840bad8..6b7b13437cc6a 100644
--- a/pkgs/development/tools/glpaper/default.nix
+++ b/pkgs/development/tools/glpaper/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation {
   name = "glpaper";
-  version = "unstable-2020-03-30";
+  version = "unstable-2020-10-11";
 
   src = fetchhg {
     url = "https://hg.sr.ht/~scoopta/glpaper";
-    rev = "a95db77088dfb5636a87f3743fc9b5eca70c1ae2";
-    sha256 = "04y12910wvhy4aqx2sa63dy9l6nbs7b77yqpdhc96x2b3mgzgjfs";
+    rev = "9e7ec7cd270af330039c395345c7d23c04682267";
+    sha256 = "sha256-yBHRg6eg+PK/ixuM0MBty3RJY9qcemr3Dt+8SAitqnk=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config ];
diff --git a/pkgs/development/tools/gnulib/default.nix b/pkgs/development/tools/gnulib/default.nix
index 2a2ce1b190ffd..7441d4018a85b 100644
--- a/pkgs/development/tools/gnulib/default.nix
+++ b/pkgs/development/tools/gnulib/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchgit }:
+{ lib, stdenv, fetchgit, python3 }:
 
 stdenv.mkDerivation {
   pname = "gnulib";
@@ -10,19 +10,26 @@ stdenv.mkDerivation {
     sha256 = "0hkg3nql8nsll0vrqk4ifda0v4kpi67xz42r8daqsql6c4rciqnw";
   };
 
-  dontFixup = true;
-  # no "make install", gnulib is a collection of source code
+  postPatch = ''
+    patchShebangs gnulib-tool.py
+  '';
+
+  buildInputs = [ python3 ];
+
   installPhase = ''
-    mkdir -p $out; mv * $out/
-    ln -s $out/lib $out/include
     mkdir -p $out/bin
+    cp -r * $out/
+    ln -s $out/lib $out/include
     ln -s $out/gnulib-tool $out/bin/
   '';
 
-  meta = {
+  # do not change headers to not update all vendored build files
+  dontFixup = true;
+
+  meta = with lib; {
     homepage = "https://www.gnu.org/software/gnulib/";
     description = "Central location for code to be shared among GNU packages";
-    license = lib.licenses.gpl3Plus;
-    platforms = lib.platforms.unix;
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/go-bindata/default.nix b/pkgs/development/tools/go-bindata/default.nix
index 3b73c52731592..fc44efca8289d 100644
--- a/pkgs/development/tools/go-bindata/default.nix
+++ b/pkgs/development/tools/go-bindata/default.nix
@@ -1,22 +1,23 @@
 { lib, buildGoPackage, fetchFromGitHub }:
 
-buildGoPackage {
+buildGoPackage rec {
   pname = "go-bindata";
-  version = "unstable-2015-10-23";
+  version = "3.22.0";
 
-  goPackagePath = "github.com/jteeuwen/go-bindata";
+  goPackagePath = "github.com/kevinburke/go-bindata";
 
   src = fetchFromGitHub {
-    owner = "jteeuwen";
-    repo = "go-bindata";
-    rev = "a0ff2567cfb70903282db057e799fd826784d41d";
-    sha256 = "0d6zxv0hgh938rf59p1k5lj0ymrb8kcps2vfrb9kaarxsvg7y69v";
+    owner = "kevinburke";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "10dq77dml5jvvq2jkdq81a9yjg7rncq8iw8r84cc3dz6l9hxzj0x";
   };
 
-  excludedPackages = "testdata";
+  subPackages = [ "go-bindata" ];
 
   meta = with lib; {
-    homepage = "https://github.com/jteeuwen/go-bindata";
+    homepage = "https://github.com/kevinburke/go-bindata";
+    changelog = "https://github.com/kevinburke/go-bindata/blob/v${version}/CHANGELOG.md";
     description = "A small utility which generates Go code from any file, useful for embedding binary data in a Go program";
     maintainers = with maintainers; [ cstrahan ];
     license = licenses.cc0;
diff --git a/pkgs/development/tools/go-swagger/default.nix b/pkgs/development/tools/go-swagger/default.nix
index 1515dae3391da..94f9b6d8ebe8f 100644
--- a/pkgs/development/tools/go-swagger/default.nix
+++ b/pkgs/development/tools/go-swagger/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "go-swagger";
-  version = "0.26.0";
+  version = "0.26.1";
 
   src = fetchFromGitHub {
     owner = "go-swagger";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mBBjZRjaD1m6sIKR1/MRAKW25bGVNihxBwQMbw/lby4=";
+    sha256 = "sha256-gA7YpzroIP26u/kmbwlcYkWVfeJ8YDEAl0H9GGQrXA8=";
   };
 
-  vendorSha256 = "sha256-Am0ypcViUcAcf96qv5qE7K3FvQuQs1XlpIqZf2upWyc=";
+  vendorSha256 = "sha256-eRcE6ai7076HqTWRJ8zKoV6/PJRgUpKvKF+0T7MgLQE=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/go-tools/default.nix b/pkgs/development/tools/go-tools/default.nix
index 57e836d8f4ed3..8e58a81130561 100644
--- a/pkgs/development/tools/go-tools/default.nix
+++ b/pkgs/development/tools/go-tools/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "go-tools";
-  version = "2020.2.1";
+  version = "2020.2.2";
 
   src = fetchFromGitHub {
     owner = "dominikh";
     repo = "go-tools";
     rev = version;
-    sha256 = "0a1a4dhz33grwg892436bjhgp8sygrg8yhdhy8dh6i3l6n9dalfh";
+    sha256 = "1vk9c4hsv8i3zhkyrsd0cb5mscxl35ws5bykpp5h6g366rpl0dy1";
   };
 
   vendorSha256 = "081p008sb3lkc8j6sa6n42qi04za4a631kihrd4ca6aigwkgl3ak";
diff --git a/pkgs/development/tools/golangci-lint/default.nix b/pkgs/development/tools/golangci-lint/default.nix
index 2e973e9a0b062..49928b1a08b52 100644
--- a/pkgs/development/tools/golangci-lint/default.nix
+++ b/pkgs/development/tools/golangci-lint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "golangci-lint";
-  version = "1.36.0";
+  version = "1.37.1";
 
   src = fetchFromGitHub {
     owner = "golangci";
     repo = "golangci-lint";
     rev = "v${version}";
-    sha256 = "sha256-AObZI104q+kOvV3/6aAusl5PMro1nbNUasvmJ4mRGz8=";
+    sha256 = "sha256-x0VLNQeTVN9aPO06Yi1DTb8bTjq+9VemJaX1R+8s/Bg=";
   };
 
-  vendorSha256 = "sha256-jr8sYfonggAHqtq3A8YVuTqJu3/iIu0OgBEUWj6bq+A=";
+  vendorSha256 = "sha256-uduT4RL6p6/jdT8JeTx+FY9bz0P2eUSaFNDIzi7jcqg=";
 
   doCheck = false;
 
@@ -19,7 +19,9 @@ buildGoModule rec {
 
   nativeBuildInputs = [ installShellFiles ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version} -X main.commit=${src.rev} -X main.date=19700101-00:00:00" ];
+  preBuild = ''
+    buildFlagsArray+=("-ldflags=-s -w -X main.version=${version} -X main.commit=v${version} -X main.date=19700101-00:00:00")
+  '';
 
   postInstall = ''
     for shell in bash zsh; do
@@ -31,7 +33,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "Fast linters Runner for Go";
     homepage = "https://golangci-lint.run/";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ anpryl manveru ];
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ anpryl manveru mic92 ];
   };
 }
diff --git a/pkgs/development/tools/gomacro/default.nix b/pkgs/development/tools/gomacro/default.nix
new file mode 100644
index 0000000000000..e96fccd0a3b5b
--- /dev/null
+++ b/pkgs/development/tools/gomacro/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "gomacro";
+  rev = "b4c3ab9b218fd12f22759354f4f3e37635828d1f";
+  version = "20210131-${lib.strings.substring 0 7 rev}";
+
+  src = fetchFromGitHub {
+    owner = "cosmos72";
+    repo = "gomacro";
+    sha256 = "0ci486zqrhzvs3njn2ygaxsgjx3fn8bbj2q3sd80xvjiyjvq866g";
+    inherit rev;
+  };
+
+  vendorSha256 = "1ib4h57drikyy5aq4ms6vc1p29djlpjrh7xd3bgyykr9zmm2w1kx";
+  subPackages = [ "." ];
+
+  meta = with lib; {
+    description = "Interactive Go interpreter and debugger with generics and macros";
+    homepage = "https://github.com/cosmos72/gomacro";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ shofius ];
+  };
+}
diff --git a/pkgs/development/tools/google-app-engine-go-sdk/default.nix b/pkgs/development/tools/google-app-engine-go-sdk/default.nix
index 4d572e070e76d..c20d7a2e49a6f 100644
--- a/pkgs/development/tools/google-app-engine-go-sdk/default.nix
+++ b/pkgs/development/tools/google-app-engine-go-sdk/default.nix
@@ -17,7 +17,8 @@ stdenv.mkDerivation rec {
         sha256 = "0s8sqyc72lnc7dxd4cl559gyfx83x71jjpsld3i3nbp3mwwamczp";
       };
 
-  buildInputs = [ python makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ python ];
 
   installPhase = ''
     mkdir -p $out/bin $out/share/
diff --git a/pkgs/development/tools/gops/default.nix b/pkgs/development/tools/gops/default.nix
new file mode 100644
index 0000000000000..35d7cf50a7ede
--- /dev/null
+++ b/pkgs/development/tools/gops/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "gops";
+  version = "0.3.15";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "gops";
+    rev = "v${version}";
+    sha256 = "091idnsgbwabmm5s9zhm474fbxvjvpkvwg68snbypfll7wdr3phy";
+  };
+
+  vendorSha256 = null;
+
+  preCheck = "export HOME=$(mktemp -d)";
+
+  meta = with lib; {
+    description = "A tool to list and diagnose Go processes currently running on your system";
+    homepage = "https://github.com/google/gops";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ pborzenkov ];
+  };
+}
diff --git a/pkgs/development/tools/gotestsum/default.nix b/pkgs/development/tools/gotestsum/default.nix
index 435edd61623bf..d75dae12bcb3e 100644
--- a/pkgs/development/tools/gotestsum/default.nix
+++ b/pkgs/development/tools/gotestsum/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gotestsum";
-  version = "1.6.1";
+  version = "1.6.2";
 
   src = fetchFromGitHub {
     owner = "gotestyourself";
     repo = "gotestsum";
     rev = "v${version}";
-    sha256 = "sha256-eJxrdR3JYqF+GexcwnyHV4xO75stEDNFzxDtky7PVc8=";
+    sha256 = "sha256-/DpsB3MS0iPYFSug3RTWOprB8tclVP6v3dbS3mC3S+g=";
   };
 
-  vendorSha256 = "sha256-VQ3/VkxoYtY71xJQj6/XAoIEH4jr4Rq4hFqFnwxzkSU=";
+  vendorSha256 = "sha256-AOdWv0PkDi8o5V71DVzAd/sRibbMf3CkqmJGmuxHtuc=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/gron/default.nix b/pkgs/development/tools/gron/default.nix
index f486bc95bc175..b8242cc3cd874 100644
--- a/pkgs/development/tools/gron/default.nix
+++ b/pkgs/development/tools/gron/default.nix
@@ -1,20 +1,25 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, fetchpatch }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "gron";
-  version = "0.6.0";
-
-  owner = "tomnomnom";
-  repo = "gron";
-  goPackagePath = "github.com/${owner}/${repo}";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
-    inherit owner repo;
+    owner = "tomnomnom";
+    repo = "gron";
     rev = "v${version}";
-    sha256 = "05f3w4zr15wd7xk75l12y5kip4gnv719a2x9w2hy23q3pnss9wk0";
+    sha256 = "0qmzawkhg0qn9kxxrssbdjni2khvamhrcklv3yxc0ljmh77mh61m";
   };
 
-  goDeps = ./deps.nix;
+  patches = [
+    (fetchpatch {
+      name = "fix-inconsistent-vendoring.patch";
+      url = "https://github.com/tomnomnom/gron/pull/85/commits/d549a6cb68ed0e0ec7cc81d8275353acfe218725.patch";
+      sha256 = "1461v4f7w6q75l3988br0g1ynfhzsh34z38pd2w8fp57vrgkcfi5";
+    })
+  ];
+
+  vendorSha256 = "0va88c3rjlc2nbpqx4ila36rwrx57wcdhig4jp9q58vv4zqc2yxy";
 
   meta = with lib; {
     description = "Make JSON greppable!";
@@ -26,7 +31,7 @@ buildGoPackage rec {
     '';
     homepage = "https://github.com/tomnomnom/gron";
     license = licenses.mit;
-    maintainers = [ maintainers.fgaz ];
-    platforms = with platforms; linux ++ darwin;
+    maintainers = with maintainers; [ fgaz SuperSandro2000 ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/gron/deps.nix b/pkgs/development/tools/gron/deps.nix
deleted file mode 100644
index effc255d877e3..0000000000000
--- a/pkgs/development/tools/gron/deps.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-[
-  rec {
-    owner = "fatih";
-    repo = "color";
-    goPackagePath = "github.com/${owner}/${repo}";
-    fetch = {
-      type = "git";
-      url = "https://github.com/${owner}/${repo}";
-      rev = "v1.7.0";
-      sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv";
-    };
-  }
-  rec {
-    owner = "nwidger";
-    repo = "jsoncolor";
-    goPackagePath = "github.com/${owner}/${repo}";
-    fetch = {
-      type = "git";
-      url = "https://github.com/${owner}/${repo}";
-      rev = "75a6de4340e59be95f0884b9cebdda246e0fdf40";
-      sha256 = "0aiv42xijrqgrxfx6pfyrndpwqv8i1qwsk190jdczyjxlnki2nki";
-    };
-  }
-  rec {
-    owner = "pkg";
-    repo = "errors";
-    goPackagePath = "github.com/${owner}/${repo}";
-    fetch = {
-      type = "git";
-      url = "https://github.com/${owner}/${repo}";
-      rev = "v0.8.0";
-      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
-    };
-  }
-  rec {
-    owner = "mattn";
-    repo = "go-colorable";
-    goPackagePath = "github.com/${owner}/${repo}";
-    fetch = {
-      type = "git";
-      url = "https://github.com/${owner}/${repo}";
-      rev = "v0.0.9";
-      sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx";
-    };
-  }
-  rec {
-    owner = "mattn";
-    repo = "go-isatty";
-    goPackagePath = "github.com/${owner}/${repo}";
-    fetch = {
-      type = "git";
-      url = "https://github.com/${owner}/${repo}";
-      rev = "v0.0.4";
-      sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w";
-    };
-  }
-]
diff --git a/pkgs/development/tools/haskell/haskell-language-server/default.nix b/pkgs/development/tools/haskell/haskell-language-server/default.nix
deleted file mode 100644
index 71b6355db58db..0000000000000
--- a/pkgs/development/tools/haskell/haskell-language-server/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ mkDerivation, aeson, base, binary, blaze-markup, brittany
-, bytestring, containers, data-default, deepseq, directory, extra
-, fetchgit, filepath, floskell, fourmolu, ghc, ghc-boot-th
-, ghc-paths, ghcide, gitrev, hashable, haskell-lsp, hie-bios
-, hls-class-plugin, hls-eval-plugin, hls-explicit-imports-plugin
-, hls-hlint-plugin, hls-plugin-api, hls-retrie-plugin
-, hls-tactics-plugin, hslogger, hspec, hspec-core
-, hspec-expectations, lens, lsp-test, mtl, optparse-applicative
-, optparse-simple, ormolu, process, regex-tdfa, safe-exceptions
-, shake, lib, stm, stylish-haskell, tasty, tasty-ant-xml
-, tasty-expected-failure, tasty-golden, tasty-hunit, tasty-rerun
-, temporary, text, transformers, unordered-containers, with-utf8
-, yaml
-}:
-mkDerivation {
-  pname = "haskell-language-server";
-  version = "0.8.0.0";
-  src = fetchgit {
-    url = "https://github.com/haskell/haskell-language-server.git";
-    sha256 = "0p6fqs07lajbi2g1wf4w3j5lvwknnk58n12vlg48cs4iz25gp588";
-    rev = "eb58f13f7b8e4f9bc771af30ff9fd82dc4309ff5";
-    fetchSubmodules = true;
-  };
-  isLibrary = true;
-  isExecutable = true;
-  libraryHaskellDepends = [
-    base containers data-default directory extra filepath ghc ghcide
-    gitrev haskell-lsp hls-plugin-api hslogger optparse-applicative
-    optparse-simple process shake text unordered-containers
-  ];
-  executableHaskellDepends = [
-    aeson base binary brittany bytestring containers deepseq directory
-    extra filepath floskell fourmolu ghc ghc-boot-th ghc-paths ghcide
-    gitrev hashable haskell-lsp hie-bios hls-class-plugin
-    hls-eval-plugin hls-explicit-imports-plugin hls-hlint-plugin
-    hls-plugin-api hls-retrie-plugin hls-tactics-plugin hslogger lens
-    mtl optparse-applicative optparse-simple ormolu process regex-tdfa
-    safe-exceptions shake stylish-haskell temporary text transformers
-    unordered-containers with-utf8
-  ];
-  testHaskellDepends = [
-    aeson base blaze-markup bytestring containers data-default
-    directory extra filepath haskell-lsp hie-bios hls-plugin-api
-    hslogger hspec hspec-core hspec-expectations lens lsp-test process
-    stm tasty tasty-ant-xml tasty-expected-failure tasty-golden
-    tasty-hunit tasty-rerun temporary text transformers
-    unordered-containers yaml
-  ];
-  testToolDepends = [ ghcide ];
-  homepage = "https://github.com/haskell/haskell-language-server#readme";
-  description = "LSP server for GHC";
-  license = lib.licenses.asl20;
-}
diff --git a/pkgs/development/tools/haskell/haskell-language-server/hls-class-plugin.nix b/pkgs/development/tools/haskell/haskell-language-server/hls-class-plugin.nix
deleted file mode 100644
index b757dc8c9e867..0000000000000
--- a/pkgs/development/tools/haskell/haskell-language-server/hls-class-plugin.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ mkDerivation, aeson, base, containers, fetchgit, ghc
-, ghc-exactprint, ghcide, haskell-lsp, hls-plugin-api, lens, shake
-, lib, text, transformers, unordered-containers
-}:
-mkDerivation {
-  pname = "hls-class-plugin";
-  version = "0.1.0.0";
-  src = fetchgit {
-    url = "https://github.com/haskell/haskell-language-server.git";
-    sha256 = "0p6fqs07lajbi2g1wf4w3j5lvwknnk58n12vlg48cs4iz25gp588";
-    rev = "eb58f13f7b8e4f9bc771af30ff9fd82dc4309ff5";
-    fetchSubmodules = true;
-  };
-  postUnpack = "sourceRoot+=/plugins/hls-class-plugin; echo source root reset to $sourceRoot";
-  libraryHaskellDepends = [
-    aeson base containers ghc ghc-exactprint ghcide haskell-lsp
-    hls-plugin-api lens shake text transformers unordered-containers
-  ];
-  description = "Explicit imports plugin for Haskell Language Server";
-  license = lib.licenses.asl20;
-}
diff --git a/pkgs/development/tools/haskell/haskell-language-server/hls-eval-plugin.nix b/pkgs/development/tools/haskell/haskell-language-server/hls-eval-plugin.nix
deleted file mode 100644
index 2677b45a591d3..0000000000000
--- a/pkgs/development/tools/haskell/haskell-language-server/hls-eval-plugin.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ mkDerivation, aeson, base, containers, deepseq, Diff, directory
-, extra, fetchgit, filepath, ghc, ghc-boot-th, ghc-paths, ghcide
-, hashable, haskell-lsp, haskell-lsp-types, hls-plugin-api
-, parser-combinators, pretty-simple, QuickCheck, safe-exceptions
-, shake, lib, temporary, text, time, transformers
-, unordered-containers
-}:
-mkDerivation {
-  pname = "hls-eval-plugin";
-  version = "0.1.0.0";
-  src = fetchgit {
-    url = "https://github.com/haskell/haskell-language-server.git";
-    sha256 = "0p6fqs07lajbi2g1wf4w3j5lvwknnk58n12vlg48cs4iz25gp588";
-    rev = "eb58f13f7b8e4f9bc771af30ff9fd82dc4309ff5";
-    fetchSubmodules = true;
-  };
-  postUnpack = "sourceRoot+=/plugins/hls-eval-plugin; echo source root reset to $sourceRoot";
-  libraryHaskellDepends = [
-    aeson base containers deepseq Diff directory extra filepath ghc
-    ghc-boot-th ghc-paths ghcide hashable haskell-lsp haskell-lsp-types
-    hls-plugin-api parser-combinators pretty-simple QuickCheck
-    safe-exceptions shake temporary text time transformers
-    unordered-containers
-  ];
-  description = "Eval plugin for Haskell Language Server";
-  license = lib.licenses.asl20;
-}
diff --git a/pkgs/development/tools/haskell/haskell-language-server/hls-explicit-imports-plugin.nix b/pkgs/development/tools/haskell/haskell-language-server/hls-explicit-imports-plugin.nix
deleted file mode 100644
index 8207b5181ba17..0000000000000
--- a/pkgs/development/tools/haskell/haskell-language-server/hls-explicit-imports-plugin.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ mkDerivation, aeson, base, containers, deepseq, fetchgit, ghc
-, ghcide, haskell-lsp-types, hls-plugin-api, shake, lib, text
-, unordered-containers
-}:
-mkDerivation {
-  pname = "hls-explicit-imports-plugin";
-  version = "0.1.0.0";
-  src = fetchgit {
-    url = "https://github.com/haskell/haskell-language-server.git";
-    sha256 = "0p6fqs07lajbi2g1wf4w3j5lvwknnk58n12vlg48cs4iz25gp588";
-    rev = "eb58f13f7b8e4f9bc771af30ff9fd82dc4309ff5";
-    fetchSubmodules = true;
-  };
-  postUnpack = "sourceRoot+=/plugins/hls-explicit-imports-plugin; echo source root reset to $sourceRoot";
-  libraryHaskellDepends = [
-    aeson base containers deepseq ghc ghcide haskell-lsp-types
-    hls-plugin-api shake text unordered-containers
-  ];
-  description = "Explicit imports plugin for Haskell Language Server";
-  license = lib.licenses.asl20;
-}
diff --git a/pkgs/development/tools/haskell/haskell-language-server/hls-hlint-plugin.nix b/pkgs/development/tools/haskell/haskell-language-server/hls-hlint-plugin.nix
deleted file mode 100644
index 02e314cba3a17..0000000000000
--- a/pkgs/development/tools/haskell/haskell-language-server/hls-hlint-plugin.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ mkDerivation, aeson, apply-refact, base, binary, bytestring
-, containers, data-default, deepseq, Diff, directory, extra
-, fetchgit, filepath, ghc, ghc-lib, ghc-lib-parser-ex, ghcide
-, hashable, haskell-lsp, hlint, hls-plugin-api, hslogger, lens
-, regex-tdfa, shake, lib, temporary, text, transformers
-, unordered-containers
-}:
-mkDerivation {
-  pname = "hls-hlint-plugin";
-  version = "0.1.0.0";
-  src = fetchgit {
-    url = "https://github.com/haskell/haskell-language-server.git";
-    sha256 = "0p6fqs07lajbi2g1wf4w3j5lvwknnk58n12vlg48cs4iz25gp588";
-    rev = "eb58f13f7b8e4f9bc771af30ff9fd82dc4309ff5";
-    fetchSubmodules = true;
-  };
-  postUnpack = "sourceRoot+=/plugins/hls-hlint-plugin; echo source root reset to $sourceRoot";
-  libraryHaskellDepends = [
-    aeson apply-refact base binary bytestring containers data-default
-    deepseq Diff directory extra filepath ghc ghc-lib ghc-lib-parser-ex
-    ghcide hashable haskell-lsp hlint hls-plugin-api hslogger lens
-    regex-tdfa shake temporary text transformers unordered-containers
-  ];
-  description = "Hlint integration plugin with Haskell Language Server";
-  license = lib.licenses.asl20;
-}
diff --git a/pkgs/development/tools/haskell/haskell-language-server/hls-retrie-plugin.nix b/pkgs/development/tools/haskell/haskell-language-server/hls-retrie-plugin.nix
deleted file mode 100644
index cca8acb8819e6..0000000000000
--- a/pkgs/development/tools/haskell/haskell-language-server/hls-retrie-plugin.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ mkDerivation, aeson, base, containers, deepseq, directory, extra
-, fetchgit, ghc, ghcide, hashable, haskell-lsp, haskell-lsp-types
-, hls-plugin-api, retrie, safe-exceptions, shake, lib, text
-, transformers, unordered-containers
-}:
-mkDerivation {
-  pname = "hls-retrie-plugin";
-  version = "0.1.0.0";
-  src = fetchgit {
-    url = "https://github.com/haskell/haskell-language-server.git";
-    sha256 = "0p6fqs07lajbi2g1wf4w3j5lvwknnk58n12vlg48cs4iz25gp588";
-    rev = "eb58f13f7b8e4f9bc771af30ff9fd82dc4309ff5";
-    fetchSubmodules = true;
-  };
-  postUnpack = "sourceRoot+=/plugins/hls-retrie-plugin; echo source root reset to $sourceRoot";
-  libraryHaskellDepends = [
-    aeson base containers deepseq directory extra ghc ghcide hashable
-    haskell-lsp haskell-lsp-types hls-plugin-api retrie safe-exceptions
-    shake text transformers unordered-containers
-  ];
-  description = "Retrie integration plugin for Haskell Language Server";
-  license = lib.licenses.asl20;
-}
diff --git a/pkgs/development/tools/haskell/haskell-language-server/hls-tactics-plugin.nix b/pkgs/development/tools/haskell/haskell-language-server/hls-tactics-plugin.nix
deleted file mode 100644
index 369ce0e27b86d..0000000000000
--- a/pkgs/development/tools/haskell/haskell-language-server/hls-tactics-plugin.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ mkDerivation, aeson, base, checkers, containers, deepseq
-, directory, extra, fetchgit, filepath, fingertree, generic-lens
-, ghc, ghc-boot-th, ghc-exactprint, ghc-source-gen, ghcide
-, haskell-lsp, hie-bios, hls-plugin-api, hspec, hspec-discover
-, lens, mtl, QuickCheck, refinery, retrie, shake, lib, syb, text
-, transformers
-}:
-mkDerivation {
-  pname = "hls-tactics-plugin";
-  version = "0.5.1.0";
-  src = fetchgit {
-    url = "https://github.com/haskell/haskell-language-server.git";
-    sha256 = "0p6fqs07lajbi2g1wf4w3j5lvwknnk58n12vlg48cs4iz25gp588";
-    rev = "eb58f13f7b8e4f9bc771af30ff9fd82dc4309ff5";
-    fetchSubmodules = true;
-  };
-  postUnpack = "sourceRoot+=/plugins/tactics; echo source root reset to $sourceRoot";
-  libraryHaskellDepends = [
-    aeson base containers deepseq directory extra filepath fingertree
-    generic-lens ghc ghc-boot-th ghc-exactprint ghc-source-gen ghcide
-    haskell-lsp hls-plugin-api lens mtl refinery retrie shake syb text
-    transformers
-  ];
-  testHaskellDepends = [
-    base checkers containers ghc hie-bios hls-plugin-api hspec mtl
-    QuickCheck
-  ];
-  testToolDepends = [ hspec-discover ];
-  description = "Tactics plugin for Haskell Language Server";
-  license = "unknown";
-  hydraPlatforms = lib.platforms.none;
-}
diff --git a/pkgs/development/tools/haskell/haskell-language-server/update.sh b/pkgs/development/tools/haskell/haskell-language-server/update.sh
deleted file mode 100755
index aaccf8b9b9fe2..0000000000000
--- a/pkgs/development/tools/haskell/haskell-language-server/update.sh
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash -p cabal2nix jq curl
-#
-# This script will update the haskell-language-server derivation to the latest version using
-# cabal2nix.
-#
-# Note that you should always try building haskell-language-server after updating it here, since
-# some of the overrides in pkgs/development/haskell/configuration-nix.nix may
-# need to be updated/changed.
-#
-# Remember to split out different updates into multiple commits
-
-set -eo pipefail
-
-# This is the directory of this update.sh script.
-script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
-
-# ===========================
-# HLS
-# ===========================
-
-# hls derivation created with cabal2nix.
-hls_derivation_file="${script_dir}/default.nix"
-
-# This is the current revision of hls in Nixpkgs.
-hls_old_version="$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$hls_derivation_file")"
-
-# This is the latest release version of hls on GitHub.
-# Get all tag names, filter to the hls ones (no prefix like 'hls-plugin-api-'),
-# sort for the latest one and select just that
-hls_latest_release=$(curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/haskell/haskell-language-server/tags |
-  jq --raw-output 'map(.name) | .[]' |
-  grep '^[0-9]' |
-  sort --version-sort |
-  tail -n1)
-
-# Use this value instead for the very latest revision
-# hls_head=(curl --silent "https://api.github.com/repos/haskell/haskell-language-server/commits/master" | jq '.sha' --raw-output)
-
-hls_new_version=$hls_latest_release
-
-echo "Updating haskell-language-server from old version $hls_old_version to new version $hls_new_version."
-echo "Running cabal2nix and outputting to ${hls_derivation_file}..."
-cabal2nix --revision "$hls_new_version" "https://github.com/haskell/haskell-language-server.git" > "$hls_derivation_file"
-cabal2nix --revision "$hls_new_version" --subpath plugins/tactics "https://github.com/haskell/haskell-language-server.git" > "${script_dir}/hls-tactics-plugin.nix"
-for plugin in "hls-hlint-plugin" "hls-explicit-imports-plugin" "hls-retrie-plugin" "hls-class-plugin" "hls-eval-plugin"; do
-   cabal2nix --revision "$hls_new_version" --subpath plugins/$plugin "https://github.com/haskell/haskell-language-server.git" > "${script_dir}/$plugin.nix"
-done
-
-echo "Finished."
diff --git a/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix b/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix
index 09cb60901e43b..364117577bc3c 100644
--- a/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix
+++ b/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix
@@ -1,4 +1,4 @@
-{ lib, supportedGhcVersions ? [ "865" "884" "8102" ], stdenv, haskellPackages
+{ lib, supportedGhcVersions ? [ "865" "884" "8104" ], stdenv, haskellPackages
 , haskell }:
 #
 # The recommended way to override this package is
diff --git a/pkgs/development/tools/hover/default.nix b/pkgs/development/tools/hover/default.nix
index cb638af43d695..81661dce8b402 100644
--- a/pkgs/development/tools/hover/default.nix
+++ b/pkgs/development/tools/hover/default.nix
@@ -18,7 +18,7 @@
 
 let
   pname = "hover";
-  version = "0.46.1";
+  version = "0.46.2";
 
   libs = with xorg; [
     libX11.dev
@@ -46,13 +46,13 @@ let
 
     subPackages = [ "." ];
 
-    vendorSha256 = "1ixfmhp5g57hn23zyf85hy9jnyadayhdbalj4d0bx4q4p5c9qchi";
+    vendorSha256 = "0hdh4vwzvwlarjzg6pv9dp665r9px9yplfjpgyyfjyy5b9sxl795";
 
     src = fetchFromGitHub {
       rev = "v${version}";
       owner = "go-flutter-desktop";
       repo = pname;
-      sha256 = "04f3dx2dcllfrw3ay1sbb72pj18ln7bxi9rrcaahqhsd7bn2ff9k";
+      sha256 = "1gmsv7hmj7zzfwbz50az3kvgzqvj0jn8i2pv7sjyl9dx1bavi5g3";
     };
 
     nativeBuildInputs = [ addOpenGLRunpath makeWrapper ];
diff --git a/pkgs/development/tools/htmltest/default.nix b/pkgs/development/tools/htmltest/default.nix
new file mode 100644
index 0000000000000..83d436dda0822
--- /dev/null
+++ b/pkgs/development/tools/htmltest/default.nix
@@ -0,0 +1,32 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+}:
+
+buildGoModule rec {
+  pname = "htmltest";
+  version = "0.14.0";
+
+  src = fetchFromGitHub {
+    owner = "wjdp";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0z2j54ywim1nl10vidcnbwhywyzanj4qd93ai533808wrm3ghwb6";
+  };
+
+  vendorSha256 = "0zx3ii9crick647kslzwg4d39li6jds938f9j9dp287rhrlzjfbm";
+
+  # tests require network access
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Tool to test generated HTML output";
+    longDescription = ''
+      htmltest runs your HTML output through a series of checks to ensure all your
+      links, images, scripts references work, your alt tags are filled in, etc.
+    '';
+    homepage = "https://github.com/wjdp/htmltest";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/tools/ijq/default.nix b/pkgs/development/tools/ijq/default.nix
new file mode 100644
index 0000000000000..0b0af79301eff
--- /dev/null
+++ b/pkgs/development/tools/ijq/default.nix
@@ -0,0 +1,28 @@
+{ buildGoModule, fetchgit, lib, jq, makeWrapper }:
+
+buildGoModule rec {
+  pname = "ijq";
+  version = "0.2.3";
+
+  src = fetchgit {
+    url = "https://git.sr.ht/~gpanders/ijq";
+    rev = "v${version}";
+    sha256 = "14n54jh5387jf97zhc7aidn7w60zp5624xbvq4jdbsh96apg3bk1";
+  };
+
+  vendorSha256 = "0xbni6lk6y3ig7pj2234fv7ra6b8qv0k8m3bvh59wwans8xpihzb";
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  postInstall = ''
+    wrapProgram "$out/bin/ijq" \
+      --prefix PATH : "${lib.makeBinPath [ jq ]}"
+  '';
+
+  meta = with lib; {
+    description = "Interactive wrapper for jq";
+    homepage = "https://git.sr.ht/~gpanders/ijq";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ justinas ];
+  };
+}
diff --git a/pkgs/development/tools/java/cfr/default.nix b/pkgs/development/tools/java/cfr/default.nix
index 35ac0dbc6a513..68841d48d47ed 100644
--- a/pkgs/development/tools/java/cfr/default.nix
+++ b/pkgs/development/tools/java/cfr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cfr";
-  version = "0.150";
+  version = "0.151";
 
   src = fetchurl {
     url = "http://www.benf.org/other/cfr/cfr_${version}.jar";
-    sha256 = "09lq21phnhr374wb8gj355jsqj8c4m5m818r3pbr8f8zpaamjxfj";
+    sha256 = "sha256-MW6QFbmvKVP8/0/oa/O7pwXzLnzSW9blNcaY3ool6Dc=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/java/visualvm/default.nix b/pkgs/development/tools/java/visualvm/default.nix
index 52ccc3d915090..4425071cb1408 100644
--- a/pkgs/development/tools/java/visualvm/default.nix
+++ b/pkgs/development/tools/java/visualvm/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchzip, lib, makeWrapper, makeDesktopItem, jdk, gawk }:
 
 stdenv.mkDerivation rec {
-  version = "2.0.5";
+  version = "2.0.6";
   pname = "visualvm";
 
   src = fetchzip {
     url = "https://github.com/visualvm/visualvm.src/releases/download/${version}/visualvm_${builtins.replaceStrings ["."] [""]  version}.zip";
-    sha256 = "19xf79rbilslpibi1mi31jplrgf8anpm06s6sxqh8v1qs84vkxdm";
+    sha256 = "sha256-HoDV8Z024+WnECw1ZVwA3dEfbKtuTd4he40UwQnpiGQ=";
   };
 
   desktopItem = makeDesktopItem {
diff --git a/pkgs/development/tools/jbake/default.nix b/pkgs/development/tools/jbake/default.nix
index 97d1c75368211..e14cfe874040c 100644
--- a/pkgs/development/tools/jbake/default.nix
+++ b/pkgs/development/tools/jbake/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0ripayv1vf4f4ylxr7h9kad2xhy3y98ca8s4p38z7dn8l47zg0qw";
   };
 
-  buildInputs = [ makeWrapper jre ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre ];
 
   postPatch = "patchShebangs .";
 
diff --git a/pkgs/development/tools/jbang/default.nix b/pkgs/development/tools/jbang/default.nix
index 6bbf086749c8d..c10fa46f67004 100644
--- a/pkgs/development/tools/jbang/default.nix
+++ b/pkgs/development/tools/jbang/default.nix
@@ -1,12 +1,12 @@
 { stdenv, lib, fetchzip, jdk, makeWrapper, coreutils, curl }:
 
 stdenv.mkDerivation rec {
-  version = "0.63.0";
+  version = "0.66.1";
   pname = "jbang";
 
   src = fetchzip {
     url = "https://github.com/jbangdev/jbang/releases/download/v${version}/${pname}-${version}.tar";
-    sha256 = "sha256-g3ARa69FvCfs8a3vbQuse8JvRlPXT6ysfmvZAUYnnA4=";
+    sha256 = "sha256-D7xZbuxSdE1zcyVZ9hqNOgq1oZDSFjBeITNqKXEpjyU=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/jq/default.nix b/pkgs/development/tools/jq/default.nix
index e8fe27aae099f..ad4304fc6e1f7 100644
--- a/pkgs/development/tools/jq/default.nix
+++ b/pkgs/development/tools/jq/default.nix
@@ -28,10 +28,9 @@ stdenv.mkDerivation rec {
 
   postInstallCheck = ''
     $bin/bin/jq --help >/dev/null
+    $bin/bin/jq -r '.values[1]' <<< '{"values":["hello","world"]}' | grep '^world$' > /dev/null
   '';
 
-  passthru.tests = { inherit (nixosTests) jq; };
-
   meta = with lib; {
     description = "A lightweight and flexible command-line JSON processor";
     license = licenses.mit;
diff --git a/pkgs/development/tools/jsduck/default.nix b/pkgs/development/tools/jsduck/default.nix
index 233b393387606..15a3a68340348 100644
--- a/pkgs/development/tools/jsduck/default.nix
+++ b/pkgs/development/tools/jsduck/default.nix
@@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
 
   phases = [ "installPhase" ];
 
-  buildInputs = [ env makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ env ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/development/tools/just/default.nix b/pkgs/development/tools/just/default.nix
index e96d8f38af4ee..38439e62473f9 100644
--- a/pkgs/development/tools/just/default.nix
+++ b/pkgs/development/tools/just/default.nix
@@ -2,25 +2,26 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "just";
-  version = "0.8.3";
+  version = "0.8.4";
 
   src = fetchFromGitHub {
     owner = "casey";
     repo = pname;
     rev = "v${version}";
-    sha256 = "4B72VYQ+HBvhGQNl577DuZpvWNIvv/6fejRQtVKtFKY=";
+    sha256 = "sha256-K8jeX1/Wn6mbf48GIR2wRAwiwg1rxtbtCPjjH+4dPYw=";
   };
 
-  cargoSha256 = "uOOpDRWPSoH49NTu82rDxxDR/2icoe4ECxVQb/J/45w=";
+  cargoSha256 = "sha256-a9SBeX3oesdoC5G+4dK2tbt+W7VA4jPqCM9tOAex4DI=";
 
   nativeBuildInputs = [ installShellFiles ];
 
   postInstall = ''
     installManPage man/just.1
 
-    installShellCompletion --bash --name just.bash completions/just.bash
-    installShellCompletion --fish --name just.fish completions/just.fish
-    installShellCompletion --zsh  --name _just     completions/just.zsh
+    installShellCompletion --cmd just \
+      --bash completions/just.bash \
+      --fish completions/just.fish \
+      --zsh  completions/just.zsh
   '';
 
   checkInputs = [ coreutils bash ];
diff --git a/pkgs/development/tools/knightos/genkfs/default.nix b/pkgs/development/tools/knightos/genkfs/default.nix
index 9f553aa6bae3e..fc13b68258abe 100644
--- a/pkgs/development/tools/knightos/genkfs/default.nix
+++ b/pkgs/development/tools/knightos/genkfs/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, asciidoc }:
+{ lib, stdenv, fetchFromGitHub, asciidoc, cmake, libxslt }:
 
 stdenv.mkDerivation rec {
   pname = "genkfs";
@@ -11,7 +11,9 @@ stdenv.mkDerivation rec {
     sha256 = "0f50idd2bb73b05qjmwlirjnhr1bp43zhrgy6z949ab9a7hgaydp";
   };
 
-  nativeBuildInputs = [ asciidoc cmake ];
+  strictDeps = true;
+
+  nativeBuildInputs = [ asciidoc libxslt.bin cmake ];
 
   hardeningDisable = [ "format" ];
 
diff --git a/pkgs/development/tools/knightos/kcc/default.nix b/pkgs/development/tools/knightos/kcc/default.nix
index 5f047d79a1381..90a493697c8a5 100644
--- a/pkgs/development/tools/knightos/kcc/default.nix
+++ b/pkgs/development/tools/knightos/kcc/default.nix
@@ -12,7 +12,9 @@ stdenv.mkDerivation rec {
     sha256 = "13sbpv8ynq8sjackv93jqxymk0bsy76c5fc0v29wz97v53q3izjp";
   };
 
-  nativeBuildInputs = [ cmake bison flex ];
+  strictDeps = true;
+
+  nativeBuildInputs = [ bison cmake flex ];
 
   buildInputs = [ boost ];
 
diff --git a/pkgs/development/tools/knightos/kimg/default.nix b/pkgs/development/tools/knightos/kimg/default.nix
index 33ec5b8bbb2ad..70eea0f7b6a4f 100644
--- a/pkgs/development/tools/knightos/kimg/default.nix
+++ b/pkgs/development/tools/knightos/kimg/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, asciidoc }:
+{ lib, stdenv, fetchFromGitHub, cmake, libxslt, asciidoc }:
 
 stdenv.mkDerivation rec {
   pname = "kimg";
@@ -11,7 +11,9 @@ stdenv.mkDerivation rec {
     sha256 = "040782k3rh2a5mhbfgr9gnbfis0wgxvi27vhfn7l35vrr12sw1l3";
   };
 
-  nativeBuildInputs = [ cmake asciidoc ];
+  strictDeps = true;
+
+  nativeBuildInputs = [ asciidoc cmake libxslt.bin ];
 
   hardeningDisable = [ "format" ];
 
diff --git a/pkgs/development/tools/knightos/kpack/default.nix b/pkgs/development/tools/knightos/kpack/default.nix
index 43a8e4eddfa8c..447959a1e6129 100644
--- a/pkgs/development/tools/knightos/kpack/default.nix
+++ b/pkgs/development/tools/knightos/kpack/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, asciidoc, libxslt, docbook_xsl }:
+{ lib, stdenv, fetchFromGitHub, cmake, asciidoc, libxslt }:
 
 stdenv.mkDerivation rec {
   pname = "kpack";
@@ -12,9 +12,9 @@ stdenv.mkDerivation rec {
     sha256 = "1l6bm2j45946i80qgwhrixg9sckazwb5x4051s76d3mapq9bara8";
   };
 
-  nativeBuildInputs = [ cmake ];
+  strictDeps = true;
 
-  buildInputs = [ asciidoc libxslt.bin docbook_xsl ];
+  nativeBuildInputs = [ asciidoc cmake libxslt.bin ];
 
   hardeningDisable = [ "fortify" ];
 
diff --git a/pkgs/development/tools/knightos/mkrom/default.nix b/pkgs/development/tools/knightos/mkrom/default.nix
index b1ee36ac2dab3..2e067e92d9190 100644
--- a/pkgs/development/tools/knightos/mkrom/default.nix
+++ b/pkgs/development/tools/knightos/mkrom/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, asciidoc }:
+{ lib, stdenv, fetchFromGitHub, cmake, libxslt, asciidoc }:
 
 stdenv.mkDerivation rec {
   pname = "mkrom";
@@ -11,10 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "0xgvanya40mdwy35j94j61hsp80dm5b440iphmr5ng3kjgchvpx2";
   };
 
-  nativeBuildInputs = [
-    asciidoc
-    cmake
-  ];
+  strictDeps = true;
+  nativeBuildInputs = [ asciidoc cmake libxslt.bin ];
 
   hardeningDisable = [ "format" ];
 
diff --git a/pkgs/development/tools/knightos/mktiupgrade/default.nix b/pkgs/development/tools/knightos/mktiupgrade/default.nix
index a91d1e5beda86..efe8d454b2c45 100644
--- a/pkgs/development/tools/knightos/mktiupgrade/default.nix
+++ b/pkgs/development/tools/knightos/mktiupgrade/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, asciidoc }:
+{ lib, stdenv, fetchFromGitHub, cmake, libxslt, asciidoc }:
 
 stdenv.mkDerivation rec {
   pname = "mktiupgrade";
@@ -11,7 +11,9 @@ stdenv.mkDerivation rec {
     sha256 = "15y3rxvv7ipgc80wrvrpksxzdyqr21ywysc9hg6s7d3w8lqdq8dm";
   };
 
-  nativeBuildInputs = [ asciidoc cmake ];
+  strictDeps = true;
+
+  nativeBuildInputs = [ asciidoc cmake libxslt.bin ];
 
   hardeningDisable = [ "format" ];
 
diff --git a/pkgs/development/tools/knightos/patchrom/default.nix b/pkgs/development/tools/knightos/patchrom/default.nix
index 33ed8d38c63d6..67d7159e50215 100644
--- a/pkgs/development/tools/knightos/patchrom/default.nix
+++ b/pkgs/development/tools/knightos/patchrom/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, asciidoc, libxslt, docbook_xsl }:
+{ lib, stdenv, fetchFromGitHub, cmake, asciidoc, libxslt }:
 
 
 stdenv.mkDerivation rec {
@@ -13,9 +13,9 @@ stdenv.mkDerivation rec {
     sha256 = "0yc4q7n3k7k6rx3cxq5ddd5r0la8gw1287a74kql6gwkxjq0jmcv";
   };
 
-  nativeBuildInputs = [ cmake asciidoc docbook_xsl ];
+  strictDeps = true;
 
-  buildInputs = [ libxslt ];
+  nativeBuildInputs = [ asciidoc cmake libxslt.bin ];
 
   hardeningDisable = [ "format" ];
 
diff --git a/pkgs/development/tools/knightos/scas/default.nix b/pkgs/development/tools/knightos/scas/default.nix
index 573d261306a60..ceb8212cf7f99 100644
--- a/pkgs/development/tools/knightos/scas/default.nix
+++ b/pkgs/development/tools/knightos/scas/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [ "-DSCAS_LIBRARY=1" ];
 
+  strictDeps = true;
+
   nativeBuildInputs = [ cmake ];
 
   meta = with lib; {
@@ -21,6 +23,6 @@ stdenv.mkDerivation rec {
     description = "Assembler and linker for the Z80";
     license     = licenses.mit;
     maintainers = with maintainers; [ siraben ];
-    platforms   = platforms.unix;
+    platforms   = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/knightos/z80e/default.nix b/pkgs/development/tools/knightos/z80e/default.nix
index a089511fb6849..b8aa281d413db 100644
--- a/pkgs/development/tools/knightos/z80e/default.nix
+++ b/pkgs/development/tools/knightos/z80e/default.nix
@@ -2,18 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "z80e";
-  version = "0.5.2";
+  version = "0.5.3";
 
   src = fetchFromGitHub {
     owner = "KnightOS";
     repo = "z80e";
     rev = version;
-    sha256 = "0gdv17ynjd6zf3i4hkimd89xkrd8kxas3bf8d5sq54fdicapvkzc";
+    sha256 = "sha256-FQMYHxKxHEP+x98JbGyjaM0OL8QK/p3epsAWvQkv6bc=";
   };
 
-  nativeBuildInputs = [ cmake knightos-scas ];
+  nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ readline SDL2 ];
+  buildInputs = [ readline SDL2 knightos-scas ];
 
   cmakeFlags = [ "-Denable-sdl=YES" ];
 
diff --git a/pkgs/development/tools/krew/default.nix b/pkgs/development/tools/krew/default.nix
index f2a4f390f82c6..f0d0f18651146 100644
--- a/pkgs/development/tools/krew/default.nix
+++ b/pkgs/development/tools/krew/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "krew";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = "krew";
     rev = "v${version}";
-    sha256 = "1fcbpipnbms096c36b2z06ysfwyjj22lm1zd1r5xlv5gp24qimlv";
+    sha256 = "sha256-+YwBkXrj5sWlMA01GfBhu12st+es5YygkD16jc+blt8=";
   };
 
-  vendorSha256 = "1bmsjv5snrabd9h9szkpcl15rwxm54jgm361ghhy234d2s45c3gn";
+  vendorSha256 = "sha256-49kWaU5dYqd86DvHi3mh5jYUQVmFlI8zsWtAFseYriE=";
 
   subPackages = [ "cmd/krew" ];
 
diff --git a/pkgs/development/tools/kubectx/default.nix b/pkgs/development/tools/kubectx/default.nix
index 4695585533237..f9d109f33879d 100644
--- a/pkgs/development/tools/kubectx/default.nix
+++ b/pkgs/development/tools/kubectx/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubectx";
-  version = "0.9.1";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner = "ahmetb";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1c7y5hj4w72bm6y3riw0acayn4w9x7bbf1vykqcprbyw3a3dvcsw";
+    sha256 = "sha256-anTogloat0YJN6LR6mww5IPwokHYoDY6L7i2pMzI8/M=";
   };
 
-  vendorSha256 = "168hfdc2rfwpz2ls607bz5vsm1aw4brhwm8hmbiq1n1l2dn2dj0y";
+  vendorSha256 = "sha256-4sQaqC0BOsDfWH3cHy2EMQNMq6qiAcbV+RwxCdcSxsg=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/kustomize/default.nix b/pkgs/development/tools/kustomize/default.nix
index 6ff123bb2be38..f658995fe9017 100644
--- a/pkgs/development/tools/kustomize/default.nix
+++ b/pkgs/development/tools/kustomize/default.nix
@@ -2,9 +2,9 @@
 
 buildGoModule rec {
   pname = "kustomize";
-  version = "3.9.2";
-  # rev is the 3.9.2 commit, mainly for kustomize version command output
-  rev = "e98eada7365fc564c9aba392e954f306a9cbf1dd";
+  version = "3.10.0";
+  # rev is the 3.9.3 commit, mainly for kustomize version command output
+  rev = "602ad8aa98e2e17f6c9119e027a09757e63c8bec";
 
   buildFlagsArray = let t = "sigs.k8s.io/kustomize/api/provenance"; in
     ''
@@ -17,13 +17,13 @@ buildGoModule rec {
     owner = "kubernetes-sigs";
     repo = pname;
     rev = "kustomize/v${version}";
-    sha256 = "0p1rxswfaj0g3y8nfw70qmxrlyv1pnzkapy1mxpzzyf04mmhg7wn";
+    sha256 = "1qr0mi83df8d9qd2svyr1h26pg97qi67nnygrkydnp8an28k48hi";
   };
 
   # avoid finding test and development commands
   sourceRoot = "source/kustomize";
 
-  vendorSha256 = "1pv8g0nnrpzbvd6dqgnrw2i27xkilbrr9npdz6pxr7mmbcg3w3w9";
+  vendorSha256 = "0p2j8mm7jpladpm6v3451g38n5bax0g368dk5h5r5gmkr6srxdy4";
 
   meta = with lib; {
     description = "Customization of kubernetes YAML configurations";
@@ -34,6 +34,6 @@ buildGoModule rec {
     '';
     homepage = "https://github.com/kubernetes-sigs/kustomize";
     license = licenses.asl20;
-    maintainers = with maintainers; [ carlosdagos vdemeester periklis zaninime Chili-Man];
+    maintainers = with maintainers; [ carlosdagos vdemeester periklis zaninime Chili-Man saschagrunert ];
   };
 }
diff --git a/pkgs/development/tools/kustomize/kustomize-sops.nix b/pkgs/development/tools/kustomize/kustomize-sops.nix
new file mode 100644
index 0000000000000..4c8693b0e5131
--- /dev/null
+++ b/pkgs/development/tools/kustomize/kustomize-sops.nix
@@ -0,0 +1,34 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kustomize-sops";
+  version = "2.4.0";
+
+  src = fetchFromGitHub {
+    owner = "viaduct-ai";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0sr4d7amwn62xywwn83y58ynl8xv6l1q6zwbky5rmy0qxk909bqp";
+  };
+
+  vendorSha256 = "0vn6vrczbdln7ngz061xixjwn899jn7p2a46770xqx44bh3f2lgv";
+
+  installPhase = ''
+    mkdir -p $out/lib/viaduct.ai/v1/ksops-exec/
+    mv $GOPATH/bin/kustomize-sops $out/lib/viaduct.ai/v1/ksops-exec/ksops-exec
+  '';
+
+  # Tests are broken in a nix environment
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A Flexible Kustomize Plugin for SOPS Encrypted Resource";
+    longDescription = ''
+      KSOPS can be used to decrypt any Kubernetes resource, but is most commonly
+      used to decrypt encrypted Kubernetes Secrets and ConfigMaps.
+    '';
+    homepage = "https://github.com/viaduct-ai/kustomize-sops";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ starcraft66 ];
+  };
+}
diff --git a/pkgs/development/tools/lazygit/default.nix b/pkgs/development/tools/lazygit/default.nix
index a2707eb72e99e..10e701d1e9300 100644
--- a/pkgs/development/tools/lazygit/default.nix
+++ b/pkgs/development/tools/lazygit/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "lazygit";
-  version = "0.24.2";
+  version = "0.25.1";
 
   src = fetchFromGitHub {
     owner = "jesseduffield";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0hy13l1v2kcsn99dswlq1hl0ly18cal387zhnzjfqv51qng2q5kq";
+    sha256 = "sha256-A4Nim1jnyMHd5hxyLu8oZkQ9nDWxTmaX/25WX714ry4=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/development/tools/metals/default.nix b/pkgs/development/tools/metals/default.nix
index 729ab88c680bd..100190b089459 100644
--- a/pkgs/development/tools/metals/default.nix
+++ b/pkgs/development/tools/metals/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "metals";
-  version = "0.9.10";
+  version = "0.10.0";
 
   deps = stdenv.mkDerivation {
     name = "${pname}-deps-${version}";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash     = "1i91jq1p27kkzxk57mm438sablnrx8j5pfyl0yg64wzrashba1xa";
+    outputHash     = "1v9br6nad6yhq9y1z4b9z6xdsjrgqh7wlxww7vp7ws28cg85mqyg";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/minizinc/default.nix b/pkgs/development/tools/minizinc/default.nix
index 4e5f39472626f..97aedfd8f8a04 100644
--- a/pkgs/development/tools/minizinc/default.nix
+++ b/pkgs/development/tools/minizinc/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, flex, bison }:
+{ lib, stdenv, fetchFromGitHub, cmake, flex, bison }:
 let
-  version = "2.4.3";
+  version = "2.5.3";
 in
 stdenv.mkDerivation {
   pname = "minizinc";
@@ -12,28 +12,9 @@ stdenv.mkDerivation {
     owner = "MiniZinc";
     repo = "libminizinc";
     rev = version;
-    sha256 = "0mahf621zwwywimly5nd6j39j7qr48k5p7zwpfqnjq4wn010mbf8";
+    sha256 = "1kc65sxkc64pr560qaaznc44jnlvq7pbpzwijad410lpcnna5byg";
   };
 
-  patches = [
-    # Fix build with newer Bison versions:
-    # https://github.com/MiniZinc/libminizinc/issues/389
-    (fetchpatch {
-      url = "https://github.com/MiniZinc/libminizinc/commit/d3136f6f198d3081943c17ac6890dbe14a81d112.diff";
-      sha256 = "1f4wxn9422ndgq6dd0vqdxm2313srm7gn9nh82aas2xijdxlmz2c";
-    })
-    (fetchpatch {
-      name = "bison-3.7-compat-1.patch";
-      url = "https://github.com/MiniZinc/libminizinc/commit/8d4dcf302e78231f7c2665150e8178cacd06f91c.patch";
-      sha256 = "1wgciyrqijv7b4wqha94is5skji8j7b9wq6fkdsnsimfd3xpxhqw";
-    })
-    (fetchpatch {
-      name = "bison-3.7-compat-2.patch";
-      url = "https://github.com/MiniZinc/libminizinc/commit/952ffda0bd23dc21f83d3e3f080ea5b3a414e8e0.patch";
-      sha256 = "0cnsfqw0hwm7rmazqnb99725rm2vdwab75vdpr5x5l3kjwsn76rj";
-    })
-  ];
-
   meta = with lib; {
     homepage = "https://www.minizinc.org/";
     description = "A medium-level constraint modelling language";
diff --git a/pkgs/development/tools/minizinc/ide.nix b/pkgs/development/tools/minizinc/ide.nix
index 7709423e676f7..a1ce9d0a69606 100644
--- a/pkgs/development/tools/minizinc/ide.nix
+++ b/pkgs/development/tools/minizinc/ide.nix
@@ -1,24 +1,26 @@
-{ lib, stdenv, fetchFromGitHub, qtbase, qtwebengine, qtwebkit, qmake, makeWrapper, minizinc }:
+{ lib, mkDerivation, fetchFromGitHub, qtbase, qtwebengine, qtwebkit, qmake, minizinc }:
 let
-  version = "2.4.3";
+  version = "2.5.3";
 in
-stdenv.mkDerivation {
+mkDerivation {
   pname = "minizinc-ide";
   inherit version;
 
-  nativeBuildInputs = [ qmake makeWrapper ];
+  nativeBuildInputs = [ qmake ];
   buildInputs = [ qtbase qtwebengine qtwebkit ];
 
   src = fetchFromGitHub {
     owner = "MiniZinc";
     repo = "MiniZincIDE";
     rev = version;
-    sha256 = "0dfqh73rnp00336pyr1hlgl1wb4m2kh28zvdkamjgml60gmg6wdr";
+    sha256 = "1c80ilb1xbgzfadgal668h2zsaiv62il1jnljizrisgb7pszzyzw";
+    fetchSubmodules = true;
   };
 
   sourceRoot = "source/MiniZincIDE";
 
   enableParallelBuilding = true;
+  dontWrapQtApps = true;
 
   postInstall = ''
     wrapProgram $out/bin/MiniZincIDE --prefix PATH ":" ${lib.makeBinPath [ minizinc ]}
diff --git a/pkgs/development/tools/misc/act/default.nix b/pkgs/development/tools/misc/act/default.nix
index 7bd25a6868e86..85ab64a230ef2 100644
--- a/pkgs/development/tools/misc/act/default.nix
+++ b/pkgs/development/tools/misc/act/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "act";
-  version = "0.2.19";
+  version = "0.2.20";
 
   src = fetchFromGitHub {
     owner = "nektos";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vlE0tN6m/PZtDZiIs/glTWYP+E4qzD0MAeQjX+OAcHY=";
+    sha256 = "sha256-HgFm58zdaycOH65jfu3QsfFemhXymp3OTekISih+8WA=";
   };
 
   vendorSha256 = "sha256-9LEyxIBe4c938RQbLOQOsAb9MGNtjngm48P3P83BTNw=";
diff --git a/pkgs/development/tools/misc/autobuild/default.nix b/pkgs/development/tools/misc/autobuild/default.nix
index da387105cef50..186608cde3f1a 100644
--- a/pkgs/development/tools/misc/autobuild/default.nix
+++ b/pkgs/development/tools/misc/autobuild/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "0gv7g61ja9q9zg1m30k4snqwwy1kq7b4df6sb7d2qra7kbdq8af1";
   };
 
-  buildInputs = [ makeWrapper perl openssh rsync ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ perl openssh rsync ];
 
   doCheck = true;
 
diff --git a/pkgs/development/tools/misc/blackfire/default.nix b/pkgs/development/tools/misc/blackfire/default.nix
index 27e043a9ac490..31c5d0d26e8ff 100644
--- a/pkgs/development/tools/misc/blackfire/default.nix
+++ b/pkgs/development/tools/misc/blackfire/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "blackfire-agent";
-  version = "1.44.2";
+  version = "1.46.0";
 
   src = fetchurl {
     url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire-php/blackfire-agent_${version}_amd64.deb";
-    sha256 = "1bam4sb0yhxciykph7wn41zs8fa7c9iwnbihd5kza0cylbb7fbkb";
+    sha256 = "0cxgc18xpwyb5wp08km7aj8asn5biqnwq9fkgkk6wv1r1ihqlhf2";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/misc/blackfire/php-probe.nix b/pkgs/development/tools/misc/blackfire/php-probe.nix
index 97b5f9ed82c52..780b2a8906f78 100644
--- a/pkgs/development/tools/misc/blackfire/php-probe.nix
+++ b/pkgs/development/tools/misc/blackfire/php-probe.nix
@@ -18,11 +18,11 @@ let
   }.${lib.versions.majorMinor php.version} or (throw "Unsupported PHP version.");
 in stdenv.mkDerivation rec {
   pname = "php-blackfire";
-  version = "1.46.4";
+  version = "1.49.1";
 
   src = fetchurl {
     url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire-php/blackfire-php_${version}_amd64.deb";
-    sha256 = "1p46zi1hh9calkcfgqz60c6rdi9i7i16ylj84iibi6k0pc690fjy";
+    sha256 = "5Z6CUj/HfSj+pC9iDEmU/OKCYePSAazU9q9M3glnOZU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/misc/blackmagic/default.nix b/pkgs/development/tools/misc/blackmagic/default.nix
index c49187273c465..fc1af1a4d6849 100644
--- a/pkgs/development/tools/misc/blackmagic/default.nix
+++ b/pkgs/development/tools/misc/blackmagic/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildPhase = "${stdenv.shell} ${./helper.sh}";
-  installPhase = ":"; # buildPhase does this.
+  dontInstall = true;
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/tools/misc/bonnmotion/default.nix b/pkgs/development/tools/misc/bonnmotion/default.nix
new file mode 100644
index 0000000000000..7ec9f3e1400a0
--- /dev/null
+++ b/pkgs/development/tools/misc/bonnmotion/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, lib, fetchzip, substituteAll, bash, jre }:
+
+stdenv.mkDerivation rec {
+  pname = "bonnmotion";
+  version = "3.0.1";
+
+  src = fetchzip {
+    url = "https://sys.cs.uos.de/bonnmotion/src/bonnmotion-${version}.zip";
+    sha256 = "16bjgr0hy6an892m5r3x9yq6rqrl11n91f9rambq5ik1cxjqarxw";
+  };
+
+  patches = [
+    # The software has a non-standard install bash script which kind of works.
+    # However, to make it fully functional, the automatically detection of the
+    # program paths must be substituted with full paths.
+    (substituteAll {
+      src = ./install.patch;
+      inherit bash jre;
+    })
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    ./install
+
+    mkdir -p $out/bin $out/share/bonnmotion
+    cp -r ./classes ./lib $out/share/bonnmotion/
+    cp ./bin/bm $out/bin/
+
+    substituteInPlace $out/bin/bm \
+      --replace /build/source $out/share/bonnmotion
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A mobility scenario generation and analysis tool";
+    longDescription = ''
+      BonnMotion is a Java software which creates and analyzes mobility
+      scenarios and is most commonly used as a tool for the investigation of
+      mobile ad hoc network characteristics. The scenarios can also be exported
+      for several network simulators, such as ns-2, ns-3, GloMoSim/QualNet,
+      COOJA, MiXiM, and ONE.
+    '';
+    homepage = "https://sys.cs.uos.de/bonnmotion/";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ oxzi ];
+  };
+}
diff --git a/pkgs/development/tools/misc/bonnmotion/install.patch b/pkgs/development/tools/misc/bonnmotion/install.patch
new file mode 100644
index 0000000000000..86be99b3dd5e0
--- /dev/null
+++ b/pkgs/development/tools/misc/bonnmotion/install.patch
@@ -0,0 +1,75 @@
+diff --git a/install b/install
+index 95afa2c..70c5fca 100755
+--- a/install
++++ b/install
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!@bash@/bin/bash
+ 
+ echo "BonnMotion - a mobility scenario generation and analysis tool"
+ echo "Copyright (C) 2002-2012 University of Bonn"
+@@ -19,28 +19,11 @@ echo "along with this program; if not, write to the Free Software"
+ echo "Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA"
+ echo
+ 
+-OS=`uname -s | tr A-Z a-z | sed -e s/_.\*//`
+-
+ PACKAGE=edu.bonn.cs.iv.bonnmotion
+-JAVAPATH=`which java 2> /dev/null`
+-if [ ! "$JAVAPATH" = "" ]
+-then
+-	JAVAPATH=`dirname ${JAVAPATH}`
+-fi
+-echo -n Please enter your Java binary path \[$JAVAPATH\]:\ 
+-read KBDENTRY
+-if [ ! "$KBDENTRY" = "" ]
+-then
+-	JAVAPATH=$KBDENTRY
+-fi
++JAVAPATH="@jre@/bin"
+ if [ -x "${JAVAPATH}/java" ]
+ then
+-	cd `dirname $0`
+-	BONNMOTION=`pwd`
+-
+-	cd "${JAVAPATH}"
+-	JAVAPATH=`pwd`
+-	cd "${BONNMOTION}"
++  BONNMOTION="$(realpath .)"
+ 
+ 	CLASSPATH="${BONNMOTION}/classes"
+ 	DOCPATH="${BONNMOTION}/javadoc"
+@@ -52,14 +35,7 @@ then
+ 	then
+ 		mkdir "${DOCPATH}"
+ 	fi
+-	if [ $OS = "cygwin" ]
+-	then
+-		cd "${CLASSPATH}"
+-		CLASSPATH=`cmd.exe /c cd`
+-		cd "${DOCPATH}"
+-		DOCPATH=`cmd.exe /c cd`
+-	fi
+-	
++
+ 	for l in $BONNMOTION/lib/*.jar
+ 	do
+ 		LIBRARYPATH=$LIBRARYPATH:$l
+@@ -69,7 +45,7 @@ then
+ 	APPS=`ls`
+ 	cd "${BONNMOTION}/bin"
+ 
+-	echo \#\!/bin/bash > .head
++	echo \#\!@bash@/bin/bash > .head
+ 	echo >> .head
+ 	echo BONNMOTION=\"$BONNMOTION\" >> .head
+ 	echo PACKAGE=\"$PACKAGE\" >> .head
+@@ -103,8 +79,6 @@ then
+ 	fi
+ 	echo "done."
+ 	echo
+-	echo "$ ./bin/bm -h"
+-	./bm
+ else
+ 	echo No executable \"$JAVAPATH/java\", aborting.
+ fi
diff --git a/pkgs/development/tools/misc/cbrowser/default.nix b/pkgs/development/tools/misc/cbrowser/default.nix
index 0f7edeea812f2..62aa0ab5decf6 100644
--- a/pkgs/development/tools/misc/cbrowser/default.nix
+++ b/pkgs/development/tools/misc/cbrowser/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
 
   patches = [ ./backslashes-quotes.diff ];
 
-  buildInputs = [ tk makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ tk ];
 
   installPhase = ''
     mkdir -p $out/bin $out/share/${name}
diff --git a/pkgs/development/tools/misc/ccache/default.nix b/pkgs/development/tools/misc/ccache/default.nix
index 655807d950691..0cf98d651c5bf 100644
--- a/pkgs/development/tools/misc/ccache/default.nix
+++ b/pkgs/development/tools/misc/ccache/default.nix
@@ -13,13 +13,13 @@
 
 let ccache = stdenv.mkDerivation rec {
   pname = "ccache";
-  version = "4.1";
+  version = "4.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1az11q3wmr8wc7alx9l70wq9am41cm0y17g5gsaqmahws3dxfi8m";
+    sha256 = "1lr9804xyzbs72f9jbbzy1fjqxwrwpb4rp431wqialvms4251d8f";
   };
 
   patches = lib.optional stdenv.isDarwin (substituteAll {
diff --git a/pkgs/development/tools/misc/ccls/default.nix b/pkgs/development/tools/misc/ccls/default.nix
index 40b53ca6934a5..218a396490f1e 100644
--- a/pkgs/development/tools/misc/ccls/default.nix
+++ b/pkgs/development/tools/misc/ccls/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ccls";
-  version = "0.20201025";
+  version = "0.20201219";
 
   src = fetchFromGitHub {
     owner = "MaskRay";
     repo = "ccls";
     rev = version;
-    sha256 = "13v00q1bz8g0ckw1sv0zyicbc44irc00vhwxdv3vvwlvylm7s21p";
+    sha256 = "sha256-qCZYSzUh5WBQxMX6LtWRBz0VWnZVNR4v06aH9bJIb1o=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/tools/misc/clojure-lsp/default.nix b/pkgs/development/tools/misc/clojure-lsp/default.nix
index e70067600a79a..c0d4567fe0b77 100644
--- a/pkgs/development/tools/misc/clojure-lsp/default.nix
+++ b/pkgs/development/tools/misc/clojure-lsp/default.nix
@@ -1,24 +1,59 @@
-{ lib, stdenv, fetchurl, jre, makeWrapper }:
+{ lib, stdenv, callPackage, fetchFromGitHub, leiningen, openjdk11
+, graalvm11-ce, babashka }:
 
-stdenv.mkDerivation rec {
+let
   pname = "clojure-lsp";
-  version = "2021.01.28-03.03.16";
+  version = "2021.02.14-19.46.47";
+  leiningen11 = leiningen.override ({ jdk = openjdk11; });
 
-  src = fetchurl {
-    url = "https://github.com/clojure-lsp/clojure-lsp/releases/download/${version}/${pname}.jar";
-    sha256 = "sha256-7Mj0yZD8WKpeekEkLZfQhHaPDRzcKO9arOCo0pwUflY=";
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-Zj7/8RcuxCy2xdd+5jeOb1GTsQsX0EVW32k32fA6uf4=";
   };
 
-  dontUnpack = true;
+  repository = callPackage ./repository.nix {
+    inherit src pname version;
+    leiningen = leiningen11;
+  };
+in stdenv.mkDerivation rec {
+  inherit src pname version;
+
+  postPatch = ''
+    # Hack to set maven cache in another directory since MAVEN_OPTS doesn't work
+    substituteInPlace project.clj \
+      --replace ":main" ":local-repo \"${repository}\" :main"
+  '';
+
+  GRAALVM_HOME = graalvm11-ce;
+
+  buildInputs = [ graalvm11-ce leiningen11 repository ];
+
+  buildPhase = with lib; ''
+    runHook preBuild
+
+    export LEIN_HOME="$(mktemp -d)"
+    bash ./graalvm/native-unix-compile.sh
 
-  buildInputs = [ makeWrapper ];
+    runHook postBuild
+  '';
 
   installPhase = ''
-    install -Dm644 $src $out/share/java/${pname}.jar
-    makeWrapper ${jre}/bin/java $out/bin/${pname} \
-      --add-flags "-Xmx2g" \
-      --add-flags "-server" \
-      --add-flags "-jar $out/share/java/${pname}.jar"
+    runHook preInstall
+
+    install -Dm755 ./clojure-lsp $out/bin/clojure-lsp
+
+    runHook postInstall
+  '';
+
+  doCheck = true;
+  checkPhase = ''
+    runHook preCheck
+
+    ${babashka}/bin/bb ./integration-test/run-all.clj ./clojure-lsp
+
+    runHook postCheck
   '';
 
   meta = with lib; {
@@ -26,6 +61,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/snoe/clojure-lsp";
     license = licenses.mit;
     maintainers = [ maintainers.ericdallo ];
-    platforms = jre.meta.platforms;
+    platforms = graalvm11-ce.meta.platforms;
   };
 }
diff --git a/pkgs/development/tools/misc/clojure-lsp/repository.nix b/pkgs/development/tools/misc/clojure-lsp/repository.nix
new file mode 100644
index 0000000000000..122096e9657ad
--- /dev/null
+++ b/pkgs/development/tools/misc/clojure-lsp/repository.nix
@@ -0,0 +1,40 @@
+{ lib, stdenv, src, pname, version, leiningen }:
+
+stdenv.mkDerivation {
+  inherit src;
+
+  name = "${pname}-${version}-repository";
+  buildInputs = [ leiningen ];
+
+  postPatch = ''
+    # Hack to set maven cache in another directory since MAVEN_OPTS doesn't work
+    substituteInPlace project.clj \
+      --replace ":main" ":local-repo \"$out\" :main"
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    export LEIN_HOME="$(mktemp -d)"
+    lein with-profiles +native-image deps
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    find $out -type f \
+      -name \*.lastUpdated -or \
+      -name resolver-status.properties -or \
+      -name _remote.repositories \
+      -delete
+
+    runHook postInstall
+  '';
+
+  dontFixup = true;
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = "sha256-aWZPsJF32ENyYNZCHf5amxVF9pb+5M73JqG/OITZlak=";
+}
diff --git a/pkgs/development/tools/misc/cvise/default.nix b/pkgs/development/tools/misc/cvise/default.nix
new file mode 100644
index 0000000000000..357e3e98f081a
--- /dev/null
+++ b/pkgs/development/tools/misc/cvise/default.nix
@@ -0,0 +1,46 @@
+{ lib, buildPythonApplication, fetchFromGitHub, cmake, flex
+, clang-unwrapped, llvm, unifdef
+, pebble, psutil, pytestCheckHook, pytest-flake8
+}:
+
+buildPythonApplication rec {
+  pname = "cvise";
+  version = "2.1.0";
+
+  src = fetchFromGitHub {
+    owner = "marxin";
+    repo = "cvise";
+    rev = "v${version}";
+    sha256 = "0ljl0r5jqj6lrddrbxjkcphcz5p4njnn2hqz07jyh30jd9sm7dmj";
+  };
+
+  patches = [
+    # Refer to unifdef by absolute path.
+    ./unifdef.patch
+  ];
+
+  nativeBuildInputs = [ cmake flex ];
+  buildInputs = [ clang-unwrapped llvm unifdef ];
+  propagatedBuildInputs = [ pebble psutil ];
+  checkInputs = [ pytestCheckHook pytest-flake8 unifdef ];
+
+  preCheck = ''
+    patchShebangs cvise.py
+  '';
+  disabledTests = [
+    # Needs gcc, fails when run noninteractively (without tty).
+    "test_simple_reduction"
+  ];
+
+  dontUsePipInstall = true;
+  dontUseSetuptoolsBuild = true;
+  dontUseSetuptoolsCheck = true;
+
+  meta = with lib; {
+    homepage = "https://github.com/marxin/cvise";
+    description = "Super-parallel Python port of C-Reduce";
+    license = licenses.ncsa;
+    maintainers = with maintainers; [ orivej ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/misc/cvise/unifdef.patch b/pkgs/development/tools/misc/cvise/unifdef.patch
new file mode 100644
index 0000000000000..d15ca6dce0bde
--- /dev/null
+++ b/pkgs/development/tools/misc/cvise/unifdef.patch
@@ -0,0 +1,8 @@
+--- a/cvise.py
++++ b/cvise.py
+@@ -93,4 +93,5 @@ def find_external_programs():
+     # Special case for clang-format
+     programs['clang-format'] = '@CLANG_FORMAT_PATH@'
++    programs['unifdef'] = '@UNIFDEF@'
+ 
+     return programs
diff --git a/pkgs/development/tools/misc/dejagnu/default.nix b/pkgs/development/tools/misc/dejagnu/default.nix
index 285805ccb02c6..6125143457855 100644
--- a/pkgs/development/tools/misc/dejagnu/default.nix
+++ b/pkgs/development/tools/misc/dejagnu/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "0qfj2wd4qk1yn9yzam6g8nmyxfazcc0knjyyibycb2ainkhp21hd";
   };
 
-  buildInputs = [ expect makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ expect ];
 
   doCheck = true;
 
diff --git a/pkgs/development/tools/misc/dialog/default.nix b/pkgs/development/tools/misc/dialog/default.nix
index 97db1b5b7e81f..ac5fb4118beb3 100644
--- a/pkgs/development/tools/misc/dialog/default.nix
+++ b/pkgs/development/tools/misc/dialog/default.nix
@@ -1,4 +1,6 @@
-{ lib, stdenv, fetchurl
+{ lib
+, stdenv
+, fetchurl
 , ncurses
 , withLibrary ? false, libtool
 , unicodeSupport ? true
@@ -10,14 +12,11 @@ assert unicodeSupport -> ncurses.unicode && ncurses != null;
 
 stdenv.mkDerivation rec {
   pname = "dialog";
-  version = "1.3-20201126";
+  version = "1.3-20210117";
 
   src = fetchurl {
-    urls = [
-      "ftp://ftp.invisible-island.net/dialog/${pname}-${version}.tgz"
-      "https://invisible-mirror.net/archives/dialog/${pname}-${version}.tgz"
-    ];
-    sha256 = "sha256-ySM6bI6jOlniN45RRq4r0TtRl0TP22R690IK2sWtOGY=";
+    url = "ftp://ftp.invisible-island.net/dialog/${pname}-${version}.tgz";
+    sha256 = "PB7Qj0S89vFZ8qpv3nZduU6Jl7Pu+0nYtMhmkWk8Q+E=";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/development/tools/misc/edb/default.nix b/pkgs/development/tools/misc/edb/default.nix
new file mode 100644
index 0000000000000..ec65ca62fa30b
--- /dev/null
+++ b/pkgs/development/tools/misc/edb/default.nix
@@ -0,0 +1,42 @@
+{ lib, mkDerivation, fetchFromGitHub, cmake, pkg-config, boost, capstone
+, double-conversion, graphviz, qtxmlpatterns }:
+
+mkDerivation rec {
+  pname = "edb";
+  version = "1.3.0";
+
+  src = fetchFromGitHub {
+    owner = "eteran";
+    repo = "edb-debugger";
+    rev = "1.3.0";
+    fetchSubmodules = true;
+    sha256 = "fFUau8XnsRFjC83HEsqyhrwCCBOfDmV6oACf3txm7O8=";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [ boost.dev capstone double-conversion graphviz qtxmlpatterns ];
+
+  postPatch = ''
+    # Remove CMAKE_INSTALL_PREFIX from DEFAULT_PLUGIN_PATH otherwise the nix store path will appear twice.
+    substituteInPlace ./src/CMakeLists.txt --replace \
+        '-DDEFAULT_PLUGIN_PATH=\"''${CMAKE_INSTALL_PREFIX}/''${CMAKE_INSTALL_LIBDIR}/edb\"' \
+        '-DDEFAULT_PLUGIN_PATH=\"''${CMAKE_INSTALL_LIBDIR}/edb\"'
+
+    # The build script checks for the presence of .git to determine whether
+    # submodules were fetched and will throw an error if it's not there.
+    # Avoid using leaveDotGit in the fetchFromGitHub options as it is non-deterministic.
+    mkdir -p src/qhexview/.git
+
+    # Change default optional terminal program path to one that is more likely to work on NixOS.
+    substituteInPlace ./src/Configuration.cpp --replace "/usr/bin/xterm" "xterm";
+  '';
+
+  meta = with lib; {
+    description = "Cross platform AArch32/x86/x86-64 debugger";
+    homepage = "https://github.com/eteran/edb-debugger";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ lihop maxxk ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/tools/misc/editorconfig-checker/default.nix b/pkgs/development/tools/misc/editorconfig-checker/default.nix
index 5edbdba4141e6..82b2d2af7cd8b 100644
--- a/pkgs/development/tools/misc/editorconfig-checker/default.nix
+++ b/pkgs/development/tools/misc/editorconfig-checker/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "editorconfig-checker";
-  version = "2.3.1";
+  version = "2.3.3";
 
   src = fetchFromGitHub {
     owner = "editorconfig-checker";
     repo = "editorconfig-checker";
     rev = version;
-    sha256 = "0c7mainlwn3pd9q6i1f82m5znv8m6fs15zq7nrbm04fy554h0pzz";
+    sha256 = "sha256-u3gTzsAoV4fgQjsnONIIGFE/Y02bKbCTg30O9FTI2/w=";
   };
 
-  vendorSha256 = "1z4j8vm9mnhjhhmhlj0ycs8b1wpm7lhsfqjnk7w8gfapvj3yfk6h";
+  vendorSha256 = "sha256-0Eznh9xXuYf4mVZipyE99fKwkGYeSAorhBLamupGkvw=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/misc/elfkickers/default.nix b/pkgs/development/tools/misc/elfkickers/default.nix
index e60b40c7fd4c1..775ad6937dc49 100644
--- a/pkgs/development/tools/misc/elfkickers/default.nix
+++ b/pkgs/development/tools/misc/elfkickers/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "02354yn1lh1dxny35ky2d0b44iq302krsqpwk5grr4glma00hhq6";
   };
 
-  makeFlags = [ "CC=cc prefix=$(out)" ];
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc prefix=$(out)" ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/tools/misc/elfutils/default.nix b/pkgs/development/tools/misc/elfutils/default.nix
index 4ad7f83006651..72c8c2fab91a9 100644
--- a/pkgs/development/tools/misc/elfutils/default.nix
+++ b/pkgs/development/tools/misc/elfutils/default.nix
@@ -1,47 +1,95 @@
-{ lib, stdenv, fetchurl, m4, zlib, bzip2, bison, flex, gettext, xz, setupDebugInfoDirs, argp-standalone }:
+{ lib, stdenv, fetchurl, fetchpatch, pkg-config, autoreconfHook, musl-fts
+, musl-obstack, m4, zlib, bzip2, bison, flex, gettext, xz, setupDebugInfoDirs
+, argp-standalone }:
 
 # TODO: Look at the hardcoded paths to kernel, modules etc.
 stdenv.mkDerivation rec {
   pname = "elfutils";
-  version = "0.180";
+  version = "0.182";
 
   src = fetchurl {
     url = "https://sourceware.org/elfutils/ftp/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "17an1f67bfzxin482nbcxdl5qvywm27i9kypjyx8ilarbkivc9xq";
+    sha256 = "7MQGkU7fM18Lf8CE6+bEYMTW1Rdb/dZojBx42RRriFg=";
   };
 
-  patches = [ ./debug-info-from-env.patch ];
+  patches = [
+    ./debug-info-from-env.patch
+    ./musl-cdefs_h.patch
+    (fetchpatch {
+      name = "fix-aarch64_fregs.patch";
+      url = "https://git.alpinelinux.org/aports/plain/main/elfutils/fix-aarch64_fregs.patch?id=2e3d4976eeffb4704cf83e2cc3306293b7c7b2e9";
+      sha256 = "zvncoRkQx3AwPx52ehjA2vcFroF+yDC2MQR5uS6DATs=";
+    })
+    (fetchpatch {
+      name = "musl-asm-ptrace-h.patch";
+      url = "https://git.alpinelinux.org/aports/plain/main/elfutils/musl-asm-ptrace-h.patch?id=2e3d4976eeffb4704cf83e2cc3306293b7c7b2e9";
+      sha256 = "8D1wPcdgAkE/TNBOgsHaeTZYhd9l+9TrZg8d5C7kG6k=";
+    })
+    (fetchpatch {
+      name = "musl-fts-obstack.patch";
+      url = "https://git.alpinelinux.org/aports/plain/main/elfutils/musl-fts-obstack.patch?id=2e3d4976eeffb4704cf83e2cc3306293b7c7b2e9";
+      sha256 = "3lbC0UtscTIJgT7kOXnnjWrpPAVt2PYMbW+uJK6K350=";
+    })
+    (fetchpatch {
+      name = "musl-macros.patch";
+      url = "https://git.alpinelinux.org/aports/plain/main/elfutils/musl-macros.patch?id=2e3d4976eeffb4704cf83e2cc3306293b7c7b2e9";
+      sha256 = "tp6O1TRsTAMsFe8vw3LMENT/vAu6OmyA8+pzgThHeA8=";
+    })
+    (fetchpatch {
+      name = "musl-qsort_r.patch";
+      url = "https://git.alpinelinux.org/aports/plain/main/elfutils/musl-qsort_r.patch?id=2e3d4976eeffb4704cf83e2cc3306293b7c7b2e9";
+      sha256 = "FPWCkdtFT3zw8aNnz0Jz5Vmu8B/mRfNgfhbM/ej7d8M=";
+    })
+    (fetchpatch {
+      name = "musl-strerror_r.patch";
+      url = "https://git.alpinelinux.org/aports/plain/main/elfutils/musl-strerror_r.patch?id=2e3d4976eeffb4704cf83e2cc3306293b7c7b2e9";
+      sha256 = "QF6YwWkcT12dZHKzfqFgxy/1fkIllo0AAosbV0sM5PU=";
+    })
+    (fetchpatch {
+      name = "musl-strndupa.patch";
+      url = "https://git.alpinelinux.org/aports/plain/main/elfutils/musl-strndupa.patch?id=2e3d4976eeffb4704cf83e2cc3306293b7c7b2e9";
+      sha256 = "sha256-7daehJj1t0wPtQzTv+/Rpuqqs5Ng/EYnZzrcf2o/Lb0=";
+    })
+  ] ++ lib.optional stdenv.hostPlatform.isMusl [ ./musl-error_h.patch ];
 
   hardeningDisable = [ "format" ];
 
   # We need bzip2 in NativeInputs because otherwise we can't unpack the src,
   # as the host-bzip2 will be in the path.
-  nativeBuildInputs = [ m4 bison flex gettext bzip2 ];
+  nativeBuildInputs = [ m4 bison flex gettext bzip2 ]
+    ++ lib.optional stdenv.hostPlatform.isMusl [ pkg-config autoreconfHook ];
   buildInputs = [ zlib bzip2 xz ]
-    ++ lib.optional stdenv.hostPlatform.isMusl argp-standalone;
+    ++ lib.optional stdenv.hostPlatform.isMusl [
+    argp-standalone
+    musl-fts
+    musl-obstack
+  ];
 
   propagatedNativeBuildInputs = [ setupDebugInfoDirs ];
 
   preConfigure = lib.optionalString stdenv.hostPlatform.isMusl ''
-    NIX_CFLAGS_COMPILE+=" -fgnu89-inline"
+    NIX_CFLAGS_COMPILE+=" -Wno-null-dereference"
   '';
 
-  configureFlags =
-    [ "--program-prefix=eu-" # prevent collisions with binutils
-      "--enable-deterministic-archives"
-      "--disable-debuginfod"
-    ];
+  configureFlags = [
+    "--program-prefix=eu-" # prevent collisions with binutils
+    "--enable-deterministic-archives"
+    "--disable-libdebuginfod"
+    "--disable-debuginfod"
+  ];
 
   enableParallelBuilding = true;
 
   doCheck = false; # fails 3 out of 174 tests
   doInstallCheck = false; # fails 70 out of 174 tests
 
-  meta = {
+  meta = with lib; {
     homepage = "https://sourceware.org/elfutils/";
     description = "A set of utilities to handle ELF objects";
-    platforms = lib.platforms.linux;
-    license = lib.licenses.gpl3;
-    maintainers = [ lib.maintainers.eelco ];
+    platforms = platforms.linux;
+    # licenses are GPL2 or LGPL3+ for libraries, GPL3+ for bins,
+    # but since this package isn't split that way, all three are listed.
+    license = with licenses; [ gpl2Only lgpl3Plus gpl3Plus ];
+    maintainers = [ maintainers.eelco ];
   };
 }
diff --git a/pkgs/development/tools/misc/elfutils/musl-cdefs_h.patch b/pkgs/development/tools/misc/elfutils/musl-cdefs_h.patch
new file mode 100644
index 0000000000000..1b5bf466217b4
--- /dev/null
+++ b/pkgs/development/tools/misc/elfutils/musl-cdefs_h.patch
@@ -0,0 +1,15 @@
+# avoids a warning about including an internal header when
+# compiling with musl-libc
+diff -crb --new-file a/lib/fixedsizehash.h b/lib/fixedsizehash.h
+*** a/lib/fixedsizehash.h	2020-06-11 11:37:46.000000000 -0400
+--- b/lib/fixedsizehash.h	2021-01-21 05:52:59.000000000 -0500
+***************
+*** 30,36 ****
+  #include <errno.h>
+  #include <stdlib.h>
+  #include <string.h>
+- #include <sys/cdefs.h>
+  
+  #include <system.h>
+  
+--- 30,35 ----
diff --git a/pkgs/development/tools/misc/elfutils/musl-error_h.patch b/pkgs/development/tools/misc/elfutils/musl-error_h.patch
new file mode 100644
index 0000000000000..711928078d357
--- /dev/null
+++ b/pkgs/development/tools/misc/elfutils/musl-error_h.patch
@@ -0,0 +1,66 @@
+diff -crb --new-file a/lib/error.h b/lib/error.h
+*** a/lib/error.h	1969-12-31 19:00:00.000000000 -0500
+--- b/lib/error.h	2021-01-21 04:38:25.000000000 -0500
+***************
+*** 0 ****
+--- 1,27 ----
++ #ifndef _ERROR_H_
++ #define _ERROR_H_
++ 
++ #include <stdarg.h>
++ #include <stdio.h>
++ #include <stdlib.h>
++ #include <string.h>
++ #include <errno.h>
++ 
++ static unsigned int error_message_count = 0;
++ 
++ static inline void error(int status, int errnum, const char* format, ...)
++ {
++ 	va_list ap;
++ 	fprintf(stderr, "%s: ", program_invocation_name);
++ 	va_start(ap, format);
++ 	vfprintf(stderr, format, ap);
++ 	va_end(ap);
++ 	if (errnum)
++ 		fprintf(stderr, ": %s", strerror(errnum));
++ 	fprintf(stderr, "\n");
++ 	error_message_count++;
++ 	if (status)
++ 		exit(status);
++ }
++ 
++ #endif	/* _ERROR_H_ */
+diff -crb --new-file a/src/error.h b/src/error.h
+*** a/src/error.h	1969-12-31 19:00:00.000000000 -0500
+--- b/src/error.h	2021-01-21 04:38:29.000000000 -0500
+***************
+*** 0 ****
+--- 1,27 ----
++ #ifndef _ERROR_H_
++ #define _ERROR_H_
++ 
++ #include <stdarg.h>
++ #include <stdio.h>
++ #include <stdlib.h>
++ #include <string.h>
++ #include <errno.h>
++ 
++ static unsigned int error_message_count = 0;
++ 
++ static inline void error(int status, int errnum, const char* format, ...)
++ {
++ 	va_list ap;
++ 	fprintf(stderr, "%s: ", program_invocation_name);
++ 	va_start(ap, format);
++ 	vfprintf(stderr, format, ap);
++ 	va_end(ap);
++ 	if (errnum)
++ 		fprintf(stderr, ": %s", strerror(errnum));
++ 	fprintf(stderr, "\n");
++ 	error_message_count++;
++ 	if (status)
++ 		exit(status);
++ }
++ 
++ #endif	/* _ERROR_H_ */
diff --git a/pkgs/development/tools/misc/fswatch/default.nix b/pkgs/development/tools/misc/fswatch/default.nix
index 6f9f5e113c06c..47716b5ea9e8d 100644
--- a/pkgs/development/tools/misc/fswatch/default.nix
+++ b/pkgs/development/tools/misc/fswatch/default.nix
@@ -20,8 +20,8 @@ stdenv.mkDerivation rec {
     sha256 = "11479ac436g8bwk0lfnmdms0cirv9k11pdvfrrg9jwkki1j1abkk";
   };
 
-  nativeBuildInputs = [ autoreconfHook ] ++ lib.optionals stdenv.isDarwin [ CoreServices ];
-  buildInputs = [ gettext libtool makeWrapper texinfo ];
+  nativeBuildInputs = [ autoreconfHook makeWrapper ] ++ lib.optionals stdenv.isDarwin [ CoreServices ];
+  buildInputs = [ gettext libtool texinfo ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index 2ce779be5680d..6f9237789750f 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -82,7 +82,8 @@ stdenv.mkDerivation rec {
     "--with-mpfr=${mpfr.dev}"
     "--with-expat" "--with-libexpat-prefix=${expat.dev}"
     "--with-auto-load-safe-path=${builtins.concatStringsSep ":" safePaths}"
-  ] ++ lib.optional (!pythonSupport) "--without-python";
+  ] ++ lib.optional (!pythonSupport) "--without-python"
+    ++ lib.optional stdenv.hostPlatform.isMusl "--disable-nls";
 
   postInstall =
     '' # Remove Info files already provided by Binutils and other packages.
diff --git a/pkgs/development/tools/misc/gpshell/default.nix b/pkgs/development/tools/misc/gpshell/default.nix
index 13437b7195362..f5298d685eba7 100644
--- a/pkgs/development/tools/misc/gpshell/default.nix
+++ b/pkgs/development/tools/misc/gpshell/default.nix
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "19a77zvyf2vazbv17185s4pynhylk2ky8vhl4i8pg9zww29sicqi";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ globalplatform pcsclite makeWrapper ];
+  nativeBuildInputs = [ pkg-config makeWrapper ];
+  buildInputs = [ globalplatform pcsclite ];
 
   postFixup = ''
     wrapProgram "$out/bin/gpshell" --prefix LD_LIBRARY_PATH : "${gppcscconnectionplugin}/lib"
diff --git a/pkgs/development/tools/misc/gpuvis/default.nix b/pkgs/development/tools/misc/gpuvis/default.nix
new file mode 100644
index 0000000000000..5e0f54b2feef2
--- /dev/null
+++ b/pkgs/development/tools/misc/gpuvis/default.nix
@@ -0,0 +1,42 @@
+{ fetchFromGitHub
+, freetype
+, gtk3
+, lib
+, meson
+, ninja
+, pkg-config
+, SDL2
+, stdenv
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gpuvis";
+  version = "20210220";
+
+  src = fetchFromGitHub {
+    owner = "mikesart";
+    repo = pname;
+    rev = "216f7d810e182a89fd96ab9fad2a5c2b1e425ea9";
+    sha256 = "15pj7gy0irlp849a85z68n184jksjri0xhihgh56rs15kq333mwz";
+  };
+
+  # patch dlopen path for gtk3
+  # python2 is wrongly added in the meson file, upstream PR: https://github.com/mikesart/gpuvis/pull/62
+  postPatch = ''
+    substituteInPlace src/hook_gtk3.h \
+      --replace "libgtk-3.so" "${lib.getLib gtk3}/lib/libgtk-3.so"
+  '';
+
+  nativeBuildInputs = [ pkg-config meson ninja wrapGAppsHook ];
+
+  buildInputs = [ SDL2 gtk3 freetype ];
+
+  meta = with lib; {
+    description = "GPU Trace Visualizer";
+    homepage = "https://github.com/mikesart/gpuvis";
+    license = licenses.mit;
+    maintainers = with maintainers; [ emantor ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix
index 6afc4415e1138..ba1fa720dd40a 100644
--- a/pkgs/development/tools/misc/help2man/default.nix
+++ b/pkgs/development/tools/misc/help2man/default.nix
@@ -6,11 +6,11 @@
 # files.
 
 stdenv.mkDerivation rec {
-  name = "help2man-1.47.16";
+  name = "help2man-1.47.17";
 
   src = fetchurl {
     url = "mirror://gnu/help2man/${name}.tar.xz";
-    sha256 = "1x586h7wvripcay35kdh2kvydx84y8yy93ffjah2rqw6bc65iy1y";
+    sha256 = "sha256-2jo1xQseH4yPoyLWn6R8kBHORDqPuNHWcbHwG4sACOs=";
   };
 
   nativeBuildInputs = [ gettext perlPackages.LocaleGettext ];
diff --git a/pkgs/development/tools/misc/hound/default.nix b/pkgs/development/tools/misc/hound/default.nix
index 476179ac8e7ab..201241fb8350d 100644
--- a/pkgs/development/tools/misc/hound/default.nix
+++ b/pkgs/development/tools/misc/hound/default.nix
@@ -1,39 +1,38 @@
-{ lib, stdenv
-, buildGoPackage
+{ lib
+, buildGoModule
 , fetchFromGitHub
 , makeWrapper
 , mercurial
 , git
 }:
 
-buildGoPackage rec {
-  pname = "hound-unstable";
-  version = "2018-11-02";
-  rev = "74ec7448a234d8d09e800b92e52c92e378c07742";
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  goPackagePath = "github.com/etsy/hound";
+buildGoModule rec {
+  pname = "hound";
+  version = "unstable-2021-01-26";
 
   src = fetchFromGitHub {
-    inherit rev;
-    owner = "etsy";
+    owner = "hound-search";
     repo = "hound";
-    sha256 = "0g6nvgqjabprcl9z5ci5frhbam1dzq978h1d6aanf8vvzslfgdpq";
+    rev = "b88fc1f79d668e6671a478ddf4fb3e73a63067b9";
+    sha256 = "00xc3cj7d3klvhsh9hivvjwgzb6lycw3r3w7nch98nv2j8iljc44";
   };
 
-  postInstall = with stdenv; let
-    binPath = lib.makeBinPath [ mercurial git ];
-  in ''
-    wrapProgram $out/bin/houndd --prefix PATH : ${binPath}
+  vendorSha256 = "0x1nhhhvqmz3qssd2d44zaxbahj8lh9r4m5jxdvzqk6m3ly7y0b6";
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  # requires network access
+  doCheck = false;
+
+  postInstall = ''
+    wrapProgram $out/bin/houndd --prefix PATH : ${lib.makeBinPath [ mercurial git ]}
   '';
 
-  meta = {
+  meta = with lib; {
     inherit (src.meta) homepage;
-
     description = "Lightning fast code searching made easy";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ grahamc ];
-    platforms = lib.platforms.unix;
+    license = licenses.mit;
+    maintainers = with maintainers; [ grahamc SuperSandro2000 ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/hydra/common.nix b/pkgs/development/tools/misc/hydra/common.nix
index cf56e6c1a9c96..c253bda36b8fa 100644
--- a/pkgs/development/tools/misc/hydra/common.nix
+++ b/pkgs/development/tools/misc/hydra/common.nix
@@ -1,7 +1,7 @@
-{ stdenv, nix, perlPackages, buildEnv, fetchFromGitHub
+{ stdenv, nix, perlPackages, buildEnv
 , makeWrapper, autoconf, automake, libtool, unzip, pkg-config, sqlite, libpqxx
 , top-git, mercurial, darcs, subversion, breezy, openssl, bzip2, libxslt
-, guile, perl, postgresql, nukeReferences, git, boehmgc, nlohmann_json
+, perl, postgresql, nukeReferences, git, boehmgc, nlohmann_json
 , docbook_xsl, openssh, gnused, coreutils, findutils, gzip, lzma, gnutar
 , rpm, dpkg, cdrkit, pixz, lib, boost, autoreconfHook, src ? null, version ? null
 , migration ? false, patches ? []
diff --git a/pkgs/development/tools/misc/k2tf/default.nix b/pkgs/development/tools/misc/k2tf/default.nix
new file mode 100644
index 0000000000000..904256ee66a99
--- /dev/null
+++ b/pkgs/development/tools/misc/k2tf/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "k2tf";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = "sl1pm4t";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0i1bhn0sccvnqbd4kv2xgng5r68adhcc61im2mn8hxmds5nf6in2";
+  };
+
+  vendorSha256 = "1c2mwhrj0xapc661z1nb6am4qq3rd1pvbvjaxikjyx95n0gs8gjk";
+
+  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version} -X main.commit=v${version}" ];
+
+  meta = with lib; {
+    description = "Kubernetes YAML to Terraform HCL converter";
+    homepage = "https://github.com/sl1pm4t/k2tf";
+    license = licenses.mpl20;
+    maintainers = [ maintainers.flokli ];
+  };
+}
diff --git a/pkgs/development/tools/misc/kdbg/default.nix b/pkgs/development/tools/misc/kdbg/default.nix
index dad7d41c1f686..35e0a52865fae 100644
--- a/pkgs/development/tools/misc/kdbg/default.nix
+++ b/pkgs/development/tools/misc/kdbg/default.nix
@@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
     wrapProgram $out/bin/kdbg --prefix QT_PLUGIN_PATH : ${qtbase}/${qtbase.qtPluginPrefix}
   '';
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     homepage = "https://www.kdbg.org/";
     description = ''
diff --git a/pkgs/development/tools/misc/kibana/6.x.nix b/pkgs/development/tools/misc/kibana/6.x.nix
index 3fa2d219fe3a3..9ba19c836b597 100644
--- a/pkgs/development/tools/misc/kibana/6.x.nix
+++ b/pkgs/development/tools/misc/kibana/6.x.nix
@@ -42,7 +42,7 @@ in stdenv.mkDerivation rec {
     ./disable-nodejs-version-check.patch
   ];
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/libexec/kibana $out/bin
diff --git a/pkgs/development/tools/misc/kibana/7.x.nix b/pkgs/development/tools/misc/kibana/7.x.nix
index 7f46d6f651201..754559969d50e 100644
--- a/pkgs/development/tools/misc/kibana/7.x.nix
+++ b/pkgs/development/tools/misc/kibana/7.x.nix
@@ -42,7 +42,7 @@ in stdenv.mkDerivation rec {
     ./disable-nodejs-version-check-7.patch
   ];
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/libexec/kibana $out/bin
diff --git a/pkgs/development/tools/misc/macdylibbundler/default.nix b/pkgs/development/tools/misc/macdylibbundler/default.nix
index c92d7b077983c..f37815081ee46 100644
--- a/pkgs/development/tools/misc/macdylibbundler/default.nix
+++ b/pkgs/development/tools/misc/macdylibbundler/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
     sha256 = "149p3dcnap4hs3nhq5rfvr3m70rrb5hbr5xkj1h0gsfp0d7gvxnj";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   makeFlags = [ "PREFIX=$(out)" ];
 
diff --git a/pkgs/development/tools/misc/micronucleus/default.nix b/pkgs/development/tools/misc/micronucleus/default.nix
index 2999b741888a9..d3bca0b684c7b 100644
--- a/pkgs/development/tools/misc/micronucleus/default.nix
+++ b/pkgs/development/tools/misc/micronucleus/default.nix
@@ -1,38 +1,35 @@
-{
-  pkgs
-, stdenv
+{ stdenv
 , libusb-compat-0_1
 , fetchFromGitHub
 , lib
 }:
 stdenv.mkDerivation rec {
-   pname = "micronucleus";
-   version = "2.04";
+  pname = "micronucleus";
+  version = "2.04";
 
-   sourceRoot = "source/commandline";
+  sourceRoot = "source/commandline";
 
-   src = fetchFromGitHub {
-     owner = "micronucleus";
-     repo = "micronucleus";
-     rev = version;
-     sha256 = "14msy9amlbflw5mqrbs57b7bby3nsgx43srr7215zyhfdgsla0in";
-   };
+  src = fetchFromGitHub {
+    owner = "micronucleus";
+    repo = "micronucleus";
+    rev = version;
+    sha256 = "14msy9amlbflw5mqrbs57b7bby3nsgx43srr7215zyhfdgsla0in";
+  };
 
-   buildInputs = [ libusb-compat-0_1 ];
-   makeFlags = lib.optionals stdenv.isDarwin [ "CC=cc" ];
+  buildInputs = [ libusb-compat-0_1 ];
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
-   installPhase = ''
-     mkdir -p $out/bin
-     mkdir -p $out/lib/udev
-     cp micronucleus $out/bin
-     cp 49-micronucleus.rules $out/lib/udev
-   '';
-
-   meta = with lib; {
-     description = "Upload tool for micronucleus";
-     homepage = "https://github.com/micronucleus/micronucleus";
-     license = licenses.gpl3;
-     maintainers = [ maintainers.cab404 ];
-   };
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/lib/udev
+    cp micronucleus $out/bin
+    cp 49-micronucleus.rules $out/lib/udev
+  '';
 
+  meta = with lib; {
+    description = "Upload tool for micronucleus";
+    homepage = "https://github.com/micronucleus/micronucleus";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.cab404 ];
+  };
 }
diff --git a/pkgs/development/tools/misc/msitools/default.nix b/pkgs/development/tools/misc/msitools/default.nix
index f444f86dbfbe6..2db336a4991e5 100644
--- a/pkgs/development/tools/misc/msitools/default.nix
+++ b/pkgs/development/tools/misc/msitools/default.nix
@@ -1,15 +1,15 @@
-{ lib, stdenv, fetchurl, intltool, glib, pkg-config, libgsf, libuuid, gcab, bzip2, gnome3 }:
+{ lib, stdenv, fetchurl, bison, intltool, glib, pkg-config, libgsf, libuuid, gcab, bzip2, gnome3 }:
 
 stdenv.mkDerivation rec {
   pname = "msitools";
-  version = "0.98";
+  version = "0.99";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "19wb3n3nwkpc6bjr0q3f1znaxsfaqgjbdxxnbx8ic8bb5b49hwac";
+    sha256 = "sha256-1HWTml4zayBesxN7rHM96Ambx0gpBA4GWwGxX2yLNjU=";
   };
 
-  nativeBuildInputs = [ intltool pkg-config ];
+  nativeBuildInputs = [ bison intltool pkg-config ];
   buildInputs = [ glib libgsf libuuid gcab bzip2 ];
 
   passthru = {
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
     description = "Set of programs to inspect and build Windows Installer (.MSI) files";
     homepage = "https://wiki.gnome.org/msitools";
     license = [ licenses.gpl2 licenses.lgpl21 ];
+    maintainers = with maintainers; [ PlushBeaver ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/nrfutil/default.nix b/pkgs/development/tools/misc/nrfutil/default.nix
index 6d58a39f70492..acc8490b7c202 100644
--- a/pkgs/development/tools/misc/nrfutil/default.nix
+++ b/pkgs/development/tools/misc/nrfutil/default.nix
@@ -1,6 +1,6 @@
-{ lib, python37Packages, fetchFromGitHub }:
+{ lib, python3Packages, fetchFromGitHub }:
 
-with python37Packages; buildPythonApplication rec {
+with python3Packages; buildPythonApplication rec {
   pname = "nrfutil";
   version = "6.1";
 
diff --git a/pkgs/development/tools/misc/nxpmicro-mfgtools/default.nix b/pkgs/development/tools/misc/nxpmicro-mfgtools/default.nix
index 74309a33f22f1..a35cc57b82572 100644
--- a/pkgs/development/tools/misc/nxpmicro-mfgtools/default.nix
+++ b/pkgs/development/tools/misc/nxpmicro-mfgtools/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nxpmicro-mfgtools";
-  version = "1.4.43";
+  version = "1.4.72";
 
   src = fetchFromGitHub {
     owner = "NXPmicro";
     repo = "mfgtools";
     rev = "uuu_${version}";
-    sha256 = "1i1mvr6j0mc33axf6cmmsi83apr5rgq0z0sn23qav9r0izpnnh0w";
+    sha256 = "1s3wlz4yb2p8by5p66vr0z72n84mxkrmda63x9yr6pinqinsyrvv";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/tools/misc/openfpgaloader/default.nix b/pkgs/development/tools/misc/openfpgaloader/default.nix
new file mode 100644
index 0000000000000..9537e11e11276
--- /dev/null
+++ b/pkgs/development/tools/misc/openfpgaloader/default.nix
@@ -0,0 +1,36 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, pkg-config
+, libftdi1
+, libusb1
+, udev
+}:
+
+stdenv.mkDerivation rec {
+  pname = "openfpgaloader";
+  version = "0.2.5";
+
+  src = fetchFromGitHub {
+    owner = "trabucayre";
+    repo = "openFPGALoader";
+    rev = "v${version}";
+    sha256 = "sha256-Qbw+vmpxiZXTGM0JwpS5mGzcsSJNegsvmncm+cOVrVE=";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [
+    libftdi1
+    libusb1
+    udev
+  ];
+
+  meta = with lib; {
+    description = "Universal utility for programming FPGAs";
+    homepage = "https://github.com/trabucayre/openFPGALoader";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ danderson ];
+  };
+}
diff --git a/pkgs/development/tools/misc/rolespec/default.nix b/pkgs/development/tools/misc/rolespec/default.nix
index d86277993caa9..b26fbf75031d0 100644
--- a/pkgs/development/tools/misc/rolespec/default.nix
+++ b/pkgs/development/tools/misc/rolespec/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     inherit name;
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   # The default build phase (`make`) runs the test code. It's difficult to do
   # the test in the build environment because it depends on the system package
diff --git a/pkgs/development/tools/misc/scc/default.nix b/pkgs/development/tools/misc/scc/default.nix
index 8a5cbbcfdfae4..9dfa5955f5c98 100644
--- a/pkgs/development/tools/misc/scc/default.nix
+++ b/pkgs/development/tools/misc/scc/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "scc";
-  version = "2.13.0";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "boyter";
     repo = "scc";
     rev = "v${version}";
-    sha256 = "16p5g20n5jsbisbgikk9xny94xx6c0dxf19saa686ghh31jr2hh3";
+    sha256 = "sha256-G5LYOtAUnu82cgDdtYzcfVx/WFg9/HvFQAlQtd6GaDE=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/development/tools/misc/sccache/default.nix b/pkgs/development/tools/misc/sccache/default.nix
index c68a1c1547cc9..c41ab92fb97df 100644
--- a/pkgs/development/tools/misc/sccache/default.nix
+++ b/pkgs/development/tools/misc/sccache/default.nix
@@ -1,37 +1,26 @@
-{ stdenv
-, lib
-, fetchFromGitHub
-, cargo
-, rustc
-, rustPlatform
-, pkg-config
-, glib
-, openssl
-, darwin
-}:
+{ stdenv, lib, fetchFromGitHub, rustPlatform, pkg-config, openssl, Security }:
 
 rustPlatform.buildRustPackage rec {
-  version = "0.2.14";
+  version = "0.2.15";
   pname = "sccache";
 
   src = fetchFromGitHub {
     owner = "mozilla";
     repo = "sccache";
-    rev = version;
-    sha256 = "1ahg3cpb9pbgpdjglnfxm5c8r8qrgwaxwz5s394478ix7f9dxind";
+    rev = "v${version}";
+    sha256 = "1kygk7ilv7la36kv4jdn1ird7f3896wgr88kyqf0iagfqkzb2vsb";
   };
-  cargoSha256 = "0jphs0frr399iywi9ch8g271igayzv1vi3wa4v3yx19xdxawlgda";
+
+  cargoSha256 = "1cfdwf00jgwsv0f72427asid1xr57s56jk5xj489dgppvgy7wdbj";
 
   cargoBuildFlags = [ "--features=all" ];
-  nativeBuildInputs = [
-    pkg-config cargo rustc
-  ];
-  buildInputs = [
-    openssl
-  ] ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;
+
   # Tests fail because of client server setup which is not possible inside the pure environment,
   # see https://github.com/mozilla/sccache/issues/460
-  checkPhase = null;
+  doCheck = false;
 
   meta = with lib; {
     description = "Ccache with Cloud Storage";
diff --git a/pkgs/development/tools/misc/segger-ozone/default.nix b/pkgs/development/tools/misc/segger-ozone/default.nix
new file mode 100644
index 0000000000000..5e1c6888b8e59
--- /dev/null
+++ b/pkgs/development/tools/misc/segger-ozone/default.nix
@@ -0,0 +1,84 @@
+{ stdenv
+, fetchurl
+, fontconfig
+, freetype
+, lib
+, libICE
+, libSM
+, udev
+, libX11
+, libXcursor
+, libXext
+, libXfixes
+, libXrandr
+, libXrender
+}:
+
+stdenv.mkDerivation rec {
+  pname = "segger-ozone";
+  version = "3.22a";
+
+  src = fetchurl {
+    url = "https://www.segger.com/downloads/jlink/Ozone_Linux_V${(lib.replaceChars ["."] [""] version)}_x86_64.tgz";
+    sha256 = "0v1r8qvp1w2f3yip9fys004pa0smlmq69p7w77lfvghs1rmg1649";
+  };
+
+  rpath = lib.makeLibraryPath [
+    fontconfig
+    freetype
+    libICE
+    libSM
+    udev
+    libX11
+    libXcursor
+    libXext
+    libXfixes
+    libXrandr
+    libXrender
+  ]
+  + ":${stdenv.cc.cc.lib}/lib64";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv Lib lib
+    mv * $out
+    ln -s $out/Ozone $out/bin
+  '';
+
+  postFixup = ''
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$out/Ozone" \
+      --set-rpath ${rpath}:$out/lib "$out/Ozone"
+
+    for file in $(find $out/lib -maxdepth 1 -type f -and -name \*.so\*); do
+      patchelf --set-rpath ${rpath}:$out/lib $file
+    done
+  '';
+
+  meta = with lib; {
+    description = "J-Link Debugger and Performance Analyzer";
+    longDescription = ''
+      Ozone is a cross-platform debugger and performance analyzer for J-Link
+      and J-Trace.
+
+        - Stand-alone graphical debugger
+        - Debug output of any tool chain and IDE 1
+        - C/C++ source level debugging and assembly instruction debugging
+        - Debug information windows for any purpose: disassembly, memory,
+          globals and locals, (live) watches, CPU and peripheral registers
+        - Source editor to fix bugs immediately
+        - High-speed programming of the application into the target
+        - Direct use of J-Link built-in features (Unlimited Flash
+          Breakpoints, Flash Download, Real Time Terminal, Instruction Trace)
+        - Scriptable project files to set up everything automatically
+          - New project wizard to ease the basic configuration of new projects
+
+      1 Ozone has been tested with the output of the following compilers:
+      GCC, Clang, ARM, IAR. Output of other compilers may be supported but is
+      not guaranteed to be.
+    '';
+    homepage = "https://www.segger.com/products/development-tools/ozone-j-link-debugger";
+    license = licenses.unfree;
+    maintainers = [ maintainers.bmilanov ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/tools/misc/semver-tool/default.nix b/pkgs/development/tools/misc/semver-tool/default.nix
index 0c1bb8ede1b86..0cfbd0680ba66 100644
--- a/pkgs/development/tools/misc/semver-tool/default.nix
+++ b/pkgs/development/tools/misc/semver-tool/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "semver-tool";
-  version = "2.1.0";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "fsaintjacques";
     repo = pname;
     rev = version;
-    sha256 = "0lpwsa86qb5w6vbnsn892nb3qpxxx9ifxch8pw3ahzx2dqhdgnrr";
+    sha256 = "sha256-coy/g4nEvSN+0/aqK2r3EEIaoUcnsZhzX66H1qsK9ac=";
   };
 
   dontBuild = true; # otherwise we try to 'make' which fails.
diff --git a/pkgs/development/tools/misc/sloccount/default.nix b/pkgs/development/tools/misc/sloccount/default.nix
index fc041f2ee8d6a..2fd9849028752 100644
--- a/pkgs/development/tools/misc/sloccount/default.nix
+++ b/pkgs/development/tools/misc/sloccount/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  makeFlags = [ "PREFIX=$(out)" "CC=cc" ];
+  makeFlags = [ "PREFIX=$(out)" "CC=${stdenv.cc.targetPrefix}cc" ];
 
   doCheck = true;
   checkPhase = ''HOME="$TMPDIR" PATH="$PWD:$PATH" make test'';
diff --git a/pkgs/development/tools/misc/stm32flash/default.nix b/pkgs/development/tools/misc/stm32flash/default.nix
index bc7d4b1b3dc80..8b9646713e886 100644
--- a/pkgs/development/tools/misc/stm32flash/default.nix
+++ b/pkgs/development/tools/misc/stm32flash/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "01p396daqw3zh6nijffbfbwyqza33bi2k4q3m5yjzs02xwi99alp";
   };
 
-  buildFlags = [ "CC=cc" ];
+  buildFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
   installPhase = ''
     # Manually copy, make install copies to /usr/local/bin
diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix
index 004e1527d352a..d1496bcdf4558 100644
--- a/pkgs/development/tools/misc/strace/default.nix
+++ b/pkgs/development/tools/misc/strace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "strace";
-  version = "5.10";
+  version = "5.11";
 
   src = fetchurl {
     url = "https://strace.io/files/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-/jmC6kzZrrO0ujX2J58LV3o3F10ygr4kuaVTe1a48Bw=";
+    sha256 = "sha256-/+NAsQwUWg+Fc0Jx6czlZFfSPyGn6lkxqzL4z055OHk=";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
diff --git a/pkgs/development/tools/misc/svls/default.nix b/pkgs/development/tools/misc/svls/default.nix
index 9cae7b901691a..c6915e294d2e1 100644
--- a/pkgs/development/tools/misc/svls/default.nix
+++ b/pkgs/development/tools/misc/svls/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "svls";
-  version = "0.1.18";
+  version = "0.1.25";
 
   src = fetchFromGitHub {
     owner = "dalance";
     repo = "svls";
     rev = "v${version}";
-    sha256 = "08n2sp0yj7ql5aagxw94dn8bx2jkigs9zlylf5zkg673bh54829x";
+    sha256 = "sha256-+o15rElJZXQu2Hq1/79ms9wqYimINrViSdQltSJlGN8=";
   };
 
-  cargoSha256 = "0k8x6kgxc2w7ldi456s4kg4v80b064drfa26zg5chcmcrr5zgmyv";
+  cargoSha256 = "sha256-zLDUQcnvjyr+QJLVq6ADGPee0Fd7HeDhPAkb05hYLcE=";
 
   meta = with lib; {
     description = "SystemVerilog language server";
diff --git a/pkgs/development/tools/misc/terraform-ls/default.nix b/pkgs/development/tools/misc/terraform-ls/default.nix
index 498508d091fce..eb823904eed20 100644
--- a/pkgs/development/tools/misc/terraform-ls/default.nix
+++ b/pkgs/development/tools/misc/terraform-ls/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "terraform-ls";
-  version = "0.12.0";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "w9PLKLFjKehtub1LbVX9TbvKkj/S1t0MwZIZurF2x18=";
+    sha256 = "sha256-p9q+cSnMN6Na+XZoYSHfE4SCNYOEavXE+eWIaxcD73k=";
   };
-  vendorSha256 = "J8ovcUeQsb58Bq/EM9mvYqtuDY1bXTEVCC9/AH+UttU=";
+  vendorSha256 = "sha256-XOIs5Ng0FYz7OfwbrNiVN3GTIABqxlO8ITKGfnC+kWo=";
 
   # tests fail in sandbox mode because of trying to download stuff from releases.hashicorp.com
   doCheck = false;
diff --git a/pkgs/development/tools/misc/terraformer/default.nix b/pkgs/development/tools/misc/terraformer/default.nix
index 47c9c15a0cc7b..60124ef44c93a 100644
--- a/pkgs/development/tools/misc/terraformer/default.nix
+++ b/pkgs/development/tools/misc/terraformer/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "terraformer";
-  version = "0.8.10";
+  version = "0.8.11";
 
   src = fetchFromGitHub {
     owner = "GoogleCloudPlatform";
     repo = pname;
     rev = version;
-    sha256 = "005i66d2gkyixqh9sk452la7z86d5x9q3njngjf4z9slcbpgk7bl";
+    sha256 = "sha256-y6cgBYiqy+M8dfcNS6iDohqyip6xAs222MJHJFhloiI=";
   };
 
-  vendorSha256 = "02i1q11nivdlkhf9chpi03p8jpa0fx9wbf79j834qv4fqy7jqf6l";
+  vendorSha256 = "sha256-PQj3+qcmN/raDrAbufAcVT+vSumGuOY47i7ZYfvx3yk=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/tools/misc/tokei/default.nix b/pkgs/development/tools/misc/tokei/default.nix
index 47966dcc1336a..557ff4fa967c8 100644
--- a/pkgs/development/tools/misc/tokei/default.nix
+++ b/pkgs/development/tools/misc/tokei/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv, darwin }:
+{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "tokei";
@@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "sha256-iUDc54E8AiLMJw9h99kg/3VmaSi8GqfQyrPwa9nJ994=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
-    libiconv darwin.apple_sdk.frameworks.Security
+    libiconv Security
   ];
 
   # enable all output formats
diff --git a/pkgs/development/tools/misc/unifdef/default.nix b/pkgs/development/tools/misc/unifdef/default.nix
index 53e2b2762d313..ebb034a92e72c 100644
--- a/pkgs/development/tools/misc/unifdef/default.nix
+++ b/pkgs/development/tools/misc/unifdef/default.nix
@@ -1,31 +1,24 @@
-{ fetchurl, lib, stdenv }:
+{ lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "unifdef-2.6";
+  pname = "unifdef";
+  version = "2.12";
 
   src = fetchurl {
-    url    = "https://github.com/fanf2/unifdef/archive/${name}.tar.gz";
-    sha256 = "1p5wr5ms9w8kijy9h7qs1mz36dlavdj6ngz2bks588w7a20kcqxj";
+    url = "https://dotat.at/prog/unifdef/unifdef-${version}.tar.xz";
+    sha256 = "00647bp3m9n01ck6ilw6r24fk4mivmimamvm4hxp5p6wxh10zkj3";
   };
 
-  postUnpack = ''
-    substituteInPlace $sourceRoot/unifdef.c \
-      --replace '#include "version.h"' ""
-
-    substituteInPlace $sourceRoot/Makefile \
-      --replace "unifdef.c: version.h" "unifdef.c:"
-  '';
-
-  preBuild = ''
-    unset HOME
-    export DESTDIR=$out
-  '';
+  makeFlags = [
+    "prefix=$(out)"
+    "DESTDIR="
+  ];
 
   meta = with lib; {
-    homepage = "http://dotat.at/prog/unifdef/";
+    homepage = "https://dotat.at/prog/unifdef/";
     description = "Selectively remove C preprocessor conditionals";
     license = licenses.bsd2;
     platforms = platforms.unix;
-    maintainers = [ maintainers.vrthra ];
+    maintainers = with maintainers; [ orivej vrthra ];
   };
 }
diff --git a/pkgs/development/tools/misc/universal-ctags/default.nix b/pkgs/development/tools/misc/universal-ctags/default.nix
index bd362e8d1a45a..eea1e78d4032a 100644
--- a/pkgs/development/tools/misc/universal-ctags/default.nix
+++ b/pkgs/development/tools/misc/universal-ctags/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, perl, pythonPackages, libiconv, jansson }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, coreutils, pkg-config, perl, python3Packages, libiconv, jansson }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "universal-ctags";
-  version = "unstable-2019-07-30";
+  version = "5.9.20201206.0";
 
   src = fetchFromGitHub {
     owner = "universal-ctags";
     repo = "ctags";
-    rev = "920e7910146915e5cae367bc9f135ffd8b042042";
-    sha256 = "14n3ix77rkhq6vq6kspmgjrmm0kg0f8cxikyqdq281sbnfq8bajn";
+    rev = "p${version}";
+    sha256 = "0w10zjyz46sjm6ypxmq550dkr84hvc4phm4vm9j53jp5s19x5q19";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config pythonPackages.docutils ];
+  nativeBuildInputs = [ autoreconfHook coreutils pkg-config python3Packages.docutils ];
   buildInputs = [ jansson ] ++ lib.optional stdenv.isDarwin libiconv;
 
   # to generate makefile.in
@@ -25,6 +25,9 @@ stdenv.mkDerivation {
     # Remove source of non-determinism
     substituteInPlace main/options.c \
       --replace "printf (\"  Compiled: %s, %s\n\", __DATE__, __TIME__);" ""
+
+    substituteInPlace Tmain/utils.sh \
+      --replace /bin/echo ${coreutils}/bin/echo
   '';
 
   postConfigure = ''
diff --git a/pkgs/development/tools/mockgen/default.nix b/pkgs/development/tools/mockgen/default.nix
index 104988eb213bd..06004b9f779ab 100644
--- a/pkgs/development/tools/mockgen/default.nix
+++ b/pkgs/development/tools/mockgen/default.nix
@@ -1,14 +1,14 @@
 { buildGoModule, lib, fetchFromGitHub }:
 buildGoModule rec {
   pname = "mockgen";
-  version = "1.4.4";
+  version = "1.5.0";
   src = fetchFromGitHub {
     owner = "golang";
     repo = "mock";
     rev = "v${version}";
-    sha256 = "1lj0dvd6div4jaq1s0afpwqaq9ah8cxhkq93wii2ably1xmp2l0a";
+    sha256 = "sha256-YSPfe8/Ra72qk12+T78mTppvkag0Hw6O7WNyfhG4h4o=";
   };
-  vendorSha256 = "1md4cg1zzhc276sc7i2v0xvg5pf6gzy0n9ga2g1lx3d572igq1wy";
+  vendorSha256 = "sha256-cL4a7iOSeaQiG6YO0im9bXxklCL1oyKhEDmB1BtEmEw=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/neoload/default.nix b/pkgs/development/tools/neoload/default.nix
index fb85aa80dc355..63452728b91e8 100644
--- a/pkgs/development/tools/neoload/default.nix
+++ b/pkgs/development/tools/neoload/default.nix
@@ -41,7 +41,7 @@ in stdenv.mkDerivation {
       { url = "http://neoload.installers.neotys.com/documents/download/neoload/v4.1/neoload_4_1_4_linux_x86.sh";
         sha256 = "1z66jiwcxixsqqwa0f4q8m2p5kna4knq6lic8y8l74dgv25mw912"; } );
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
   phases = [ "installPhase" ];
 
   # TODO: load generator / monitoring agent only builds
diff --git a/pkgs/development/tools/node-webkit/nw12.nix b/pkgs/development/tools/node-webkit/nw12.nix
index 31358129821eb..475c08eb169fa 100644
--- a/pkgs/development/tools/node-webkit/nw12.nix
+++ b/pkgs/development/tools/node-webkit/nw12.nix
@@ -49,7 +49,7 @@ in stdenv.mkDerivation rec {
     ln -s $out/share/nwjs/nwjc $out/bin
   '';
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   meta = with lib; {
     description = "An app runtime based on Chromium and node.js";
diff --git a/pkgs/development/tools/nrpl/default.nix b/pkgs/development/tools/nrpl/default.nix
index 72177582919a1..67a86ca8dec59 100644
--- a/pkgs/development/tools/nrpl/default.nix
+++ b/pkgs/development/tools/nrpl/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation {
     sha256 = "1cly9lhrawnc42r31b7r0p0i6hcx8r00aa17gv7w9pcpj8ngb4v2";
   };
 
-  buildInputs = [ makeWrapper nim pcre ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ nim pcre ];
 
   patches = [
     (fetchpatch {
diff --git a/pkgs/development/tools/nwjs/default.nix b/pkgs/development/tools/nwjs/default.nix
index d3490b2b9c999..1356bc46ced80 100644
--- a/pkgs/development/tools/nwjs/default.nix
+++ b/pkgs/development/tools/nwjs/default.nix
@@ -83,7 +83,7 @@ in stdenv.mkDerivation rec {
       ln -s $out/share/nwjs/nw $out/bin
   '';
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   meta = with lib; {
     description = "An app runtime based on Chromium and node.js";
diff --git a/pkgs/development/tools/ocaml/crunch/default.nix b/pkgs/development/tools/ocaml/crunch/default.nix
index e48707dcb9af6..07082b7f5d22d 100644
--- a/pkgs/development/tools/ocaml/crunch/default.nix
+++ b/pkgs/development/tools/ocaml/crunch/default.nix
@@ -1,10 +1,12 @@
-{ lib, buildDunePackage, fetchurl, ocaml, cmdliner, opaline, ptime }:
+{ lib, buildDunePackage, fetchurl, ocaml, cmdliner, ptime }:
 
 buildDunePackage rec {
 
   pname = "crunch";
   version = "3.1.0";
 
+  useDune2 = true;
+
   src = fetchurl {
     url = "https://github.com/mirage/ocaml-crunch/releases/download/v${version}/crunch-v${version}.tbz";
     sha256 = "0d26715a4h9r1wibnc12xy690m1kan7hrcgbb5qk8x78zsr67lnf";
@@ -15,7 +17,7 @@ buildDunePackage rec {
   outputs = [ "lib" "bin" "out" ];
 
   installPhase = ''
-    ${opaline}/bin/opaline -prefix $bin -libdir $lib/lib/ocaml/${ocaml.version}/site-lib/
+    dune install --prefix=$bin --libdir=$lib/lib/ocaml/${ocaml.version}/site-lib/
   '';
 
   meta = {
diff --git a/pkgs/development/tools/ocaml/ocaml-top/default.nix b/pkgs/development/tools/ocaml/ocaml-top/default.nix
index a9b4218224ee8..6c70b046cabc1 100644
--- a/pkgs/development/tools/ocaml/ocaml-top/default.nix
+++ b/pkgs/development/tools/ocaml/ocaml-top/default.nix
@@ -4,6 +4,8 @@ with ocamlPackages; buildDunePackage rec {
   pname = "ocaml-top";
   version = "1.2.0-rc";
 
+  useDune2 = true;
+
   src = fetchzip {
     url = "https://github.com/OCamlPro/ocaml-top/archive/${version}.tar.gz";
     sha256 = "1r290m9vvr25lgaanivz05h0kf4fd3h5j61wj4hpp669zffcyyb5";
diff --git a/pkgs/development/tools/ocaml/ocamlmod/default.nix b/pkgs/development/tools/ocaml/ocamlmod/default.nix
index 77d3902955127..cf24a132210bb 100644
--- a/pkgs/development/tools/ocaml/ocamlmod/default.nix
+++ b/pkgs/development/tools/ocaml/ocamlmod/default.nix
@@ -1,5 +1,10 @@
 { lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, ounit }:
 
+let
+  # ounit is only available for OCaml >= 4.04
+  doCheck = lib.versionAtLeast ocaml.version "4.04";
+in
+
 stdenv.mkDerivation {
   pname = "ocamlmod";
   version = "0.0.9";
@@ -9,13 +14,15 @@ stdenv.mkDerivation {
     sha256 = "0cgp9qqrq7ayyhddrmqmq1affvfqcn722qiakjq4dkywvp67h4aa";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ounit ];
+  buildInputs = [ ocaml findlib ocamlbuild ];
 
-  configurePhase = "ocaml setup.ml -configure --prefix $out --enable-tests";
+  configurePhase = "ocaml setup.ml -configure --prefix $out"
+    + lib.optionalString doCheck " --enable-tests";
   buildPhase     = "ocaml setup.ml -build";
   installPhase   = "ocaml setup.ml -install";
 
-  doCheck = true;
+  inherit doCheck;
+  checkInputs = [ ounit ];
 
   checkPhase = "ocaml setup.ml -test";
 
diff --git a/pkgs/development/tools/ocaml/ocp-index/default.nix b/pkgs/development/tools/ocaml/ocp-index/default.nix
index 9c888e284fc57..c14cd7ddc041a 100644
--- a/pkgs/development/tools/ocaml/ocp-index/default.nix
+++ b/pkgs/development/tools/ocaml/ocp-index/default.nix
@@ -2,11 +2,13 @@
 
 buildDunePackage rec {
   pname = "ocp-index";
-  version = "1.2.1";
+  version = "1.2.2";
+
+  useDune2 = true;
 
   src = fetchzip {
     url = "https://github.com/OCamlPro/ocp-index/archive/${version}.tar.gz";
-    sha256 = "08r7mxdnxmhff37fw4hmrpjgckgi5kaiiiirwp4rmdl594z0h9c8";
+    sha256 = "0k4i0aabyn750f4wqbnk0yv10kdjd6nhjw2pbmpc4cz639qcsm40";
   };
 
   buildInputs = [ cppo cmdliner re ];
@@ -14,7 +16,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ ocp-indent ];
 
   meta = {
-    homepage = "http://typerex.ocamlpro.com/ocp-index.html";
+    homepage = "https://www.typerex.org/ocp-index.html";
     description = "A simple and light-weight documentation extractor for OCaml";
     license = lib.licenses.lgpl3;
     maintainers = with lib.maintainers; [ vbgl ];
diff --git a/pkgs/development/tools/ocaml/ocsigen-i18n/default.nix b/pkgs/development/tools/ocaml/ocsigen-i18n/default.nix
index b12aa2e6d6deb..c3da3bc2327aa 100644
--- a/pkgs/development/tools/ocaml/ocsigen-i18n/default.nix
+++ b/pkgs/development/tools/ocaml/ocsigen-i18n/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation rec
 {
   pname = "ocsigen-i18n";
-  version = "3.5.0";
+  version = "3.7.0";
 
   buildInputs = with ocamlPackages; [ ocaml findlib ppx_tools ];
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec
 
   src = fetchzip {
     url = "https://github.com/besport/${pname}/archive/${version}.tar.gz";
-    sha256 = "1qsgwfl64b53w235wm7nnchqinzgsvd2gb52xm0kra2wlwp69rfq";
+    sha256 = "sha256-PmdDyn+MUcNFrZpP/KLGQzdXUFRr+dYRAZjTZxHSeaw=";
   };
 
   meta = {
diff --git a/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix b/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
index 047246cd0a0da..5a4b55cc7fec1 100644
--- a/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
+++ b/pkgs/development/tools/ocaml/omake/0.9.8.6-rc1.nix
@@ -20,7 +20,8 @@ stdenv.mkDerivation {
   patchFlags = [ "-p0" ];
   patches = [ ./warn.patch ];
 
-  buildInputs = [ ocaml makeWrapper ncurses ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ ocaml ncurses ];
 
   phases = "unpackPhase patchPhase buildPhase";
   buildPhase = ''
diff --git a/pkgs/development/tools/ocaml/opam/1.2.2.nix b/pkgs/development/tools/ocaml/opam/1.2.2.nix
index a128f2144e9f3..610093af19ffd 100644
--- a/pkgs/development/tools/ocaml/opam/1.2.2.nix
+++ b/pkgs/development/tools/ocaml/opam/1.2.2.nix
@@ -47,7 +47,8 @@ in stdenv.mkDerivation {
   pname = "opam";
   version = "1.2.2";
 
-  buildInputs = [ unzip curl ncurses ocaml makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ unzip curl ncurses ocaml ];
 
   src = srcs.opam;
 
diff --git a/pkgs/development/tools/ocaml/opam/default.nix b/pkgs/development/tools/ocaml/opam/default.nix
index 4fe408fb77f06..30bc089ee0fec 100644
--- a/pkgs/development/tools/ocaml/opam/default.nix
+++ b/pkgs/development/tools/ocaml/opam/default.nix
@@ -11,8 +11,8 @@ let
       sha256 = "18jqphjiifljlh9jg8zpl6310p3iwyaqphdkmf89acyaix0s4kj1";
     };
     cppo = fetchurl {
-      url = "https://github.com/mjambon/cppo/archive/v1.6.5.tar.gz";
-      sha256 = "1dkm3d5h6h56y937gcdk2wixlpzl59vv5pmiafglr89p20kf7gqf";
+      url = "https://github.com/ocaml-community/cppo/releases/download/v1.6.6/cppo-v1.6.6.tbz";
+      sha256 = "185q0x54id7pfc6rkbjscav8sjkrg78fz65rgfw7b4bqlyb2j9z7";
     };
     cudf = fetchurl {
       url = "https://gforge.inria.fr/frs/download.php/36602/cudf-0.9.tar.gz";
@@ -27,8 +27,8 @@ let
       sha256 = "0dmf0wbfmgdy5plz1bjiisc2hjgblvxsnrqjmw2c8y45v1h23mdz";
     };
     extlib = fetchurl {
-      url = "http://ygrek.org.ua/p/release/ocaml-extlib/extlib-1.7.5.tar.gz";
-      sha256 = "19slqf5bdj0rrph2w41giwmn6df2qm07942jn058pjkjrnk30d4s";
+      url = "https://ygrek.org/p/release/ocaml-extlib/extlib-1.7.7.tar.gz";
+      sha256 = "1sxmzc1mx3kg62j8kbk0dxkx8mkf1rn70h542cjzrziflznap0s1";
     };
     mccs = fetchurl {
       url = "https://github.com/AltGr/ocaml-mccs/archive/1.1+11.tar.gz";
@@ -43,33 +43,34 @@ let
       sha256 = "0cjw69r7iilidi7b6arr92kjnjspchvwnmwr1b1gyaxqxpr2s98m";
     };
     re = fetchurl {
-      url = "https://github.com/ocaml/ocaml-re/releases/download/1.8.0/re-1.8.0.tbz";
-      sha256 = "0qkv42a4hpqpxvqa4kdkkcbhbg7aym9kv4mqgm3m51vxbd0pq0lv";
+      url = "https://github.com/ocaml/ocaml-re/releases/download/1.9.0/re-1.9.0.tbz";
+      sha256 = "1gas4ky49zgxph3870nffzkr6y41kkpqp4nj38pz1gh49zcf12aj";
     };
     result = fetchurl {
-      url = "https://github.com/janestreet/result/releases/download/1.3/result-1.3.tbz";
-      sha256 = "1lrnbxdq80gbhnp85mqp1kfk0bkh6q1c93sfz2qgnq2qyz60w4sk";
+      url = "https://github.com/janestreet/result/archive/1.4.tar.gz";
+      sha256 = "1cjlncnzkwc6zr4v8dgy8nin490blbyxzwwp0qh0cla7s3q2jw0n";
     };
     seq = fetchurl {
       url = "https://github.com/c-cube/seq/archive/0.1.tar.gz";
       sha256 = "02lb2d9i12bxrz2ba5wygk2bycan316skqlyri0597q7j9210g8r";
     };
     opam = fetchurl {
-      url = "https://github.com/ocaml/opam/archive/2.0.7.zip";
-      sha256 = "03yxj4hw9p5dh34b1yzl3xd0l1v2l2az0n7ix453yjrkn0wn0xic";
+      url = "https://github.com/ocaml/opam/archive/2.0.8.zip";
+      sha256 = "1h55jh4nnx1fcn7v7ss3fgxrn6ixkgnq7pvg5njz8c9xq4njwbc1";
     };
   };
 in stdenv.mkDerivation {
   pname = "opam";
-  version = "2.0.7";
+  version = "2.0.8";
 
-  buildInputs = [ unzip curl ncurses ocaml makeWrapper getconf ] ++ lib.optional stdenv.isLinux bubblewrap;
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ unzip curl ncurses ocaml getconf ] ++ lib.optional stdenv.isLinux bubblewrap;
 
   src = srcs.opam;
 
   postUnpack = ''
     ln -sv ${srcs.cmdliner} $sourceRoot/src_ext/cmdliner.tbz
-    ln -sv ${srcs.cppo} $sourceRoot/src_ext/cppo.tar.gz
+    ln -sv ${srcs.cppo} $sourceRoot/src_ext/cppo.tbz
     ln -sv ${srcs.cudf} $sourceRoot/src_ext/cudf.tar.gz
     ln -sv ${srcs.dose3} $sourceRoot/src_ext/dose3.tar.gz
     ln -sv ${srcs.dune-local} $sourceRoot/src_ext/dune-local.tbz
@@ -78,7 +79,7 @@ in stdenv.mkDerivation {
     ln -sv ${srcs.ocamlgraph} $sourceRoot/src_ext/ocamlgraph.tar.gz
     ln -sv ${srcs.opam-file-format} $sourceRoot/src_ext/opam-file-format.tar.gz
     ln -sv ${srcs.re} $sourceRoot/src_ext/re.tbz
-    ln -sv ${srcs.result} $sourceRoot/src_ext/result.tbz
+    ln -sv ${srcs.result} $sourceRoot/src_ext/result.tar.gz
     ln -sv ${srcs.seq} $sourceRoot/src_ext/seq.tar.gz
   '';
 
@@ -117,4 +118,4 @@ in stdenv.mkDerivation {
     platforms = platforms.all;
   };
 }
-# Generated by: ./opam.nix.pl -v 2.0.7 -p opam-shebangs.patch
+# Generated by: ./opam.nix.pl -v 2.0.8 -p opam-shebangs.patch
diff --git a/pkgs/development/tools/ocaml/opam/opam.nix.pl b/pkgs/development/tools/ocaml/opam/opam.nix.pl
index 1cbad6f5f44e3..b94aa7dd9a2f2 100755
--- a/pkgs/development/tools/ocaml/opam/opam.nix.pl
+++ b/pkgs/development/tools/ocaml/opam/opam.nix.pl
@@ -21,7 +21,7 @@ chomp $OPAM_RELEASE_SHA256;
 
 my $OPAM_BASE_URL = "https://raw.githubusercontent.com/$OPAM_GITHUB_REPO/$OPAM_TAG";
 my $OPAM_OPAM = `curl -L --url \Q$OPAM_BASE_URL\E/opam-devel.opam`;
-my($OCAML_MIN_VERSION) = $OPAM_OPAM =~ /^available: ocaml-version >= "(.*)"$/m
+my($OCAML_MIN_VERSION) = $OPAM_OPAM =~ /^  "ocaml" {>= "(.*)"}$/m
   or die "could not parse ocaml version bound\n";
 
 print <<"EOF";
diff --git a/pkgs/development/tools/ocaml/utop/default.nix b/pkgs/development/tools/ocaml/utop/default.nix
index 622ac80306f73..53dd4e9827f14 100644
--- a/pkgs/development/tools/ocaml/utop/default.nix
+++ b/pkgs/development/tools/ocaml/utop/default.nix
@@ -8,13 +8,13 @@ else
 
 buildDunePackage rec {
   pname = "utop";
-  version = "2.6.0";
+  version = "2.7.0";
 
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/ocaml-community/utop/releases/download/${version}/utop-${version}.tbz";
-    sha256 = "17n9igl74xcvj0mzdh2ybda29f2m48a5lj4yf8lrdqr7vg0982jd";
+    sha256 = "sha256-4GisU98mfDzA8vabvCBEBPA2LMTmRyofxUfjJqY8P90=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/operator-sdk/default.nix b/pkgs/development/tools/operator-sdk/default.nix
index c09331de59804..764041b6ad4a4 100644
--- a/pkgs/development/tools/operator-sdk/default.nix
+++ b/pkgs/development/tools/operator-sdk/default.nix
@@ -2,22 +2,23 @@
 
 buildGoModule rec {
   pname = "operator-sdk";
-  version = "1.3.0";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
     owner = "operator-framework";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xYG605Z8WGFH5byJA+sHPBjBmWi8b+TTtWRnQnmYN/4=";
+    sha256 = "sha256-wGlxi9X8RrAtvevDfufY1t3en6QgHy5XoSh0K/M/ve4=";
   };
 
-  vendorSha256 = "sha256-0ZowddIiVHVg1OKhaCFo+vQKcUe6wZ6L0J8RdMvZyGk=";
+  vendorSha256 = "sha256-GRw0u6zox2gseQhrx7n0M3WVu4+yCKZ7D/QHVcBRb30=";
 
   doCheck = false;
 
   subPackages = [ "cmd/operator-sdk" ];
 
-  buildInputs = [ go makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ go ];
 
   # operator-sdk uses the go compiler at runtime
   allowGoReference = true;
diff --git a/pkgs/development/tools/out-of-tree/default.nix b/pkgs/development/tools/out-of-tree/default.nix
index 4547012e2f325..597d680cc2bbc 100644
--- a/pkgs/development/tools/out-of-tree/default.nix
+++ b/pkgs/development/tools/out-of-tree/default.nix
@@ -4,7 +4,7 @@ buildGoModule rec {
   pname = "out-of-tree";
   version = "1.4.0";
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   src = fetchgit {
     rev = "refs/tags/v${version}";
diff --git a/pkgs/development/tools/packer/default.nix b/pkgs/development/tools/packer/default.nix
index 16e5ac082039e..a39e29983cfc5 100644
--- a/pkgs/development/tools/packer/default.nix
+++ b/pkgs/development/tools/packer/default.nix
@@ -1,7 +1,7 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub, installShellFiles }:
 buildGoPackage rec {
   pname = "packer";
-  version = "1.6.6";
+  version = "1.7.0";
 
   goPackagePath = "github.com/hashicorp/packer";
 
@@ -11,9 +11,17 @@ buildGoPackage rec {
     owner = "hashicorp";
     repo = "packer";
     rev = "v${version}";
-    sha256 = "sha256-kFDy8Zlx+D5JDyNlAmB/ICTe4K9s6KDbALP5pom5OQg=";
+    sha256 = "sha256-x62C44vTIysk9Lx9HZeTBf8k1+P5hfMIijvTWu3cZrA=";
   };
 
+  buildFlagsArray = [ "-ldflags=-s -w" ];
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    installShellCompletion --zsh go/src/${goPackagePath}/contrib/zsh-completion/_packer
+  '';
+
   meta = with lib; {
     description = "A tool for creating identical machine images for multiple platforms from a single source configuration";
     homepage    = "https://www.packer.io";
diff --git a/pkgs/development/tools/parsing/bison/default.nix b/pkgs/development/tools/parsing/bison/default.nix
index 662961ae46aaf..42c9ee872fed0 100644
--- a/pkgs/development/tools/parsing/bison/default.nix
+++ b/pkgs/development/tools/parsing/bison/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bison";
-  version = "3.7.4";
+  version = "3.7.5";
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "1qkp2rfi5njyp5c5avajab00aj74pkmkgzkvshv4p2ydkhswgazv";
+    sha256 = "sha256-FRy18ScW4/6TonoxfNRIeDKWWfJ1s0J3m/rvSlJrv3A=";
   };
 
   nativeBuildInputs = [ m4 perl ] ++ lib.optional stdenv.isSunOS help2man;
diff --git a/pkgs/development/tools/pgformatter/default.nix b/pkgs/development/tools/pgformatter/default.nix
index d5c6872cd7dc3..26d7063c81f28 100644
--- a/pkgs/development/tools/pgformatter/default.nix
+++ b/pkgs/development/tools/pgformatter/default.nix
@@ -2,13 +2,13 @@
 
 perlPackages.buildPerlPackage rec {
   pname = "pgformatter";
-  version = "4.4";
+  version = "5.0";
 
   src = fetchFromGitHub {
     owner = "darold";
     repo = "pgFormatter";
     rev = "v${version}";
-    sha256 = "1sqjw6q005lws7qhkd26jqyb1xqmpcklzw5hk8paxxi8mzyjn0jp";
+    sha256 = "10ml3va6ip501ibaykbhq8282y1j6r8bc8azc1gqxskk5jvfz1jm";
   };
 
   outputs = [ "out" ];
diff --git a/pkgs/development/tools/phantomjs2/default.nix b/pkgs/development/tools/phantomjs2/default.nix
index 594deeb1c7305..3d0db49aedcd5 100644
--- a/pkgs/development/tools/phantomjs2/default.nix
+++ b/pkgs/development/tools/phantomjs2/default.nix
@@ -77,6 +77,8 @@ in stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  dontWrapQtApps = true;
+
   installPhase = ''
     mkdir -p $out/share/doc/phantomjs
     cp -a bin $out
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
index b0e65ed85a081..c23b50b8403ae 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
@@ -1,7 +1,7 @@
 { pkgs ? import <nixpkgs> { }
 , lib ? pkgs.lib
 , poetry ? null
-, poetryLib ? import ./lib.nix { inherit lib pkgs; }
+, poetryLib ? import ./lib.nix { inherit lib pkgs; stdenv = pkgs.stdenv; }
 }:
 let
   inherit (poetryLib) isCompatible readTOML moduleName;
@@ -71,7 +71,40 @@ in
 lib.makeScope pkgs.newScope (self: {
 
   # Poetry2nix version
-  version = "1.14.0";
+  version = "1.15.5";
+
+  /* Returns a package of editable sources whose changes will be available without needing to restart the
+     nix-shell.
+     In editablePackageSources you can pass a mapping from package name to source directory to have
+     those packages available in the resulting environment, whose source changes are immediately available.
+
+  */
+  mkPoetryEditablePackage =
+    { projectDir ? null
+    , pyproject ? projectDir + "/pyproject.toml"
+    , python ? pkgs.python3
+    , pyProject ? readTOML pyproject
+      # Example: { my-app = ./src; }
+    , editablePackageSources
+    }:
+      assert editablePackageSources != { };
+      import ./editable.nix {
+        inherit pyProject python pkgs lib poetryLib editablePackageSources;
+      };
+
+  /* Returns a package containing scripts defined in tool.poetry.scripts.
+  */
+  mkPoetryScriptsPackage =
+    { projectDir ? null
+    , pyproject ? projectDir + "/pyproject.toml"
+    , python ? pkgs.python3
+    , pyProject ? readTOML pyproject
+    , scripts ? pyProject.tool.poetry.scripts
+    }:
+      assert scripts != { };
+      import ./shell-scripts.nix {
+        inherit lib python scripts;
+      };
 
   /*
      Returns an attrset { python, poetryPackages, pyProject, poetryLock } for the given pyproject/lockfile.
@@ -84,11 +117,25 @@ lib.makeScope pkgs.newScope (self: {
     , python ? pkgs.python3
     , pwd ? projectDir
     , preferWheels ? false
+      # Example: { my-app = ./src; }
+    , editablePackageSources ? { }
     , __isBootstrap ? false  # Hack: Always add Poetry as a build input unless bootstrapping
     }@attrs:
     let
       poetryPkg = poetry.override { inherit python; };
       pyProject = readTOML pyproject;
+
+      scripts = pyProject.tool.poetry.scripts or { };
+      hasScripts = scripts != { };
+      scriptsPackage = self.mkPoetryScriptsPackage {
+        inherit python scripts;
+      };
+
+      hasEditable = editablePackageSources != { };
+      editablePackage = self.mkPoetryEditablePackage {
+        inherit pyProject python editablePackageSources;
+      };
+
       poetryLock = readTOML poetrylock;
       lockFiles =
         let
@@ -180,10 +227,13 @@ lib.makeScope pkgs.newScope (self: {
 
       inputAttrs = mkInputAttrs { inherit py pyProject; attrs = { }; includeBuildSystem = false; };
 
+      storePackages = builtins.foldl' (acc: v: acc ++ v) [ ] (lib.attrValues inputAttrs);
     in
     {
       python = py;
-      poetryPackages = builtins.foldl' (acc: v: acc ++ v) [ ] (lib.attrValues inputAttrs);
+      poetryPackages = storePackages
+        ++ lib.optional hasScripts scriptsPackage
+        ++ lib.optional hasEditable editablePackage;
       poetryLock = poetryLock;
       inherit pyProject;
     };
@@ -203,38 +253,17 @@ lib.makeScope pkgs.newScope (self: {
     , pwd ? projectDir
     , python ? pkgs.python3
     , preferWheels ? false
-      # Example: { my-app = ./src; }
     , editablePackageSources ? { }
     }:
     let
-      py = self.mkPoetryPackages (
-        {
-          inherit pyproject poetrylock overrides python pwd preferWheels;
-        }
-      );
-
-      inherit (py) pyProject;
-
-      # Add executables from tool.poetry.scripts
-      scripts = pyProject.tool.poetry.scripts or { };
-      hasScripts = scripts != { };
-      scriptsPackage = import ./shell-scripts.nix {
-        inherit scripts lib;
-        inherit (py) python;
+      poetryPython = self.mkPoetryPackages {
+        inherit pyproject poetrylock overrides python pwd preferWheels editablePackageSources;
       };
 
-      hasEditable = editablePackageSources != { };
-      editablePackage = import ./editable.nix {
-        inherit pkgs lib poetryLib editablePackageSources;
-        inherit (py) pyProject python;
-      };
+      inherit (poetryPython) poetryPackages;
 
     in
-    py.python.withPackages (
-      _: py.poetryPackages
-        ++ lib.optional hasEditable editablePackage
-        ++ lib.optional hasScripts scriptsPackage
-    );
+    poetryPython.python.withPackages (_: poetryPackages);
 
   /* Creates a Python application from pyproject.toml and poetry.lock
 
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix b/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
index 6a0ee70f86351..4626f7fec37e3 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
@@ -1,4 +1,4 @@
-{ lib, pkgs }:
+{ lib, pkgs, stdenv }:
 let
   inherit (import ./semver.nix { inherit lib ireplace; }) satisfiesSemver;
   inherit (builtins) genList length;
@@ -194,6 +194,23 @@ let
         inherit src;
       };
     };
+
+  # Maps Nixpkgs CPU values to target machines known to be supported for manylinux* wheels.
+  # (a.k.a. `uname -m` output from CentOS 7)
+  #
+  # This is current as of manylinux2014 (PEP-0599), and is a superset of manylinux2010 / manylinux1.
+  # s390x is not supported in Nixpkgs, so we don't map it.
+  manyLinuxTargetMachines = {
+    x86_64 = "x86_64";
+    i686 = "i686";
+    aarch64 = "aarch64";
+    armv7l = "armv7l";
+    powerpc64 = "ppc64";
+    powerpc64le = "ppc64le";
+  };
+
+  # Machine tag for our target platform (if available)
+  targetMachine = manyLinuxTargetMachines.${stdenv.targetPlatform.parsed.cpu.name} or null;
 in
 {
   inherit
@@ -207,5 +224,6 @@ in
     cleanPythonSources
     moduleName
     getPythonVersion
+    targetMachine
     ;
 }
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix b/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
index c01f99c01d444..bb7b4e39b037a 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
@@ -31,7 +31,7 @@ pythonPackages.callPackage
       inherit (poetryLib) isCompatible getManyLinuxDeps fetchFromPypi moduleName;
 
       inherit (import ./pep425.nix {
-        inherit lib python;
+        inherit lib poetryLib python;
         inherit (pkgs) stdenv;
       }) selectWheel
         ;
@@ -161,7 +161,7 @@ pythonPackages.callPackage
             builtins.fetchGit {
               inherit (source) url;
               rev = source.resolved_reference or source.reference;
-              ref = sourceSpec.branch or sourceSpec.rev or sourceSpec.tag or "HEAD";
+              ref = sourceSpec.branch or sourceSpec.rev or (if sourceSpec?tag then "refs/tags/${sourceSpec.tag}" else "HEAD");
             }
           )
         else if isUrl then
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix b/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
index 5810d6d2a7490..7a5233fecdf1e 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
@@ -39,51 +39,61 @@ self: super:
 
   ansible-lint = super.ansible-lint.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [ self.setuptools-scm-git-archive ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ];
       preBuild = ''
         export HOME=$(mktemp -d)
       '';
     }
   );
 
+  anyio = super.anyio.overridePythonAttrs (old: {
+    postPatch = ''
+      substituteInPlace setup.py --replace 'setup()' 'setup(version="${old.version}")'
+    '';
+  });
+
   astroid = super.astroid.overridePythonAttrs (
     old: rec {
-      buildInputs = old.buildInputs ++ [ self.pytest-runner ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
       doCheck = false;
     }
   );
 
   av = super.av.overridePythonAttrs (
     old: {
-      nativeBuildInputs = old.nativeBuildInputs ++ [
+      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
         pkgs.pkg-config
       ];
-      buildInputs = old.buildInputs ++ [ pkgs.ffmpeg_4 ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.ffmpeg_4 ];
     }
   );
 
   bcrypt = super.bcrypt.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [ pkgs.libffi ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libffi ];
     }
   );
 
   cairocffi = super.cairocffi.overridePythonAttrs (
     old: {
       inherit (pkgs.python3.pkgs.cairocffi) patches;
-      buildInputs = old.buildInputs ++ [ self.pytest-runner ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
     }
   );
 
   cairosvg = super.cairosvg.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [ self.pytest-runner ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
     }
   );
 
+  celery = super.celery.overridePythonAttrs (old: {
+    propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
+  });
+
   cssselect2 = super.cssselect2.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [ self.pytest-runner ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
     }
   );
 
@@ -93,14 +103,14 @@ self: super:
     (
       super.cffi.overridePythonAttrs (
         old: {
-          buildInputs = old.buildInputs or [ ] ++ [ pkgs.libffi ];
+          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libffi ];
         }
       )
     );
 
   cftime = super.cftime.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [
+      buildInputs = (old.buildInputs or [ ]) ++ [
         self.cython
       ];
     }
@@ -108,13 +118,13 @@ self: super:
 
   colour = super.colour.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [ self.d2to1 ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ self.d2to1 ];
     }
   );
 
   configparser = super.configparser.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [
+      buildInputs = (old.buildInputs or [ ]) ++ [
         self.toml
       ];
 
@@ -126,15 +136,40 @@ self: super:
 
   cryptography = super.cryptography.overridePythonAttrs (
     old: {
-      nativeBuildInputs = old.nativeBuildInputs or [ ]
+      nativeBuildInputs = (old.nativeBuildInputs or [ ])
+        ++ lib.optional (lib.versionAtLeast old.version "3.4") [ self.setuptools-rust ]
         ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) self.python.pythonForBuild.pkgs.cffi;
-      buildInputs = old.buildInputs ++ [ pkgs.openssl ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openssl ];
+    } // lib.optionalAttrs (lib.versionAtLeast old.version "3.4" && lib.versionOlder old.version "3.5") {
+      CRYPTOGRAPHY_DONT_BUILD_RUST = "1";
     }
   );
 
+  daphne = super.daphne.overridePythonAttrs (old: {
+    postPatch = ''
+      substituteInPlace setup.py --replace 'setup_requires=["pytest-runner"],' ""
+    '';
+  });
+
+  datadog-lambda = super.datadog-lambda.overridePythonAttrs (old: {
+    postPatch = ''
+      substituteInPlace setup.py --replace "setuptools==" "setuptools>="
+    '';
+    buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools ];
+  });
+
+  dcli = super.dcli.overridePythonAttrs (old: {
+    propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
+  });
+
+  ddtrace = super.ddtrace.overridePythonAttrs (old: {
+    buildInputs = (old.buildInputs or [ ]) ++
+      (pkgs.lib.optionals pkgs.stdenv.isDarwin [ pkgs.darwin.IOKit ]) ++ [ self.cython ];
+  });
+
   dictdiffer = super.dictdiffer.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [ self.pytest-runner ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
       propagatedBuildInputs = old.propagatedBuildInputs ++ [ self.setuptools ];
     }
   );
@@ -166,8 +201,8 @@ self: super:
       enableParallelBuilding = true;
       dontUseCmakeConfigure = true;
 
-      nativeBuildInputs = old.nativeBuildInputs ++ pkgs.dlib.nativeBuildInputs;
-      buildInputs = old.buildInputs ++ pkgs.dlib.buildInputs;
+      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ pkgs.dlib.nativeBuildInputs;
+      buildInputs = (old.buildInputs or [ ]) ++ pkgs.dlib.buildInputs;
     }
   );
 
@@ -194,7 +229,7 @@ self: super:
 
   faker = super.faker.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [ self.pytest-runner ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
       doCheck = false;
     }
   );
@@ -211,13 +246,13 @@ self: super:
 
   fastparquet = super.fastparquet.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [ self.pytest-runner ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
     }
   );
 
   grandalf = super.grandalf.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [ self.pytest-runner ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
       doCheck = false;
     }
   );
@@ -234,8 +269,8 @@ self: super:
   h5py = super.h5py.overridePythonAttrs (
     old:
     if old.format != "wheel" then rec {
-      nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkg-config ];
-      buildInputs = old.buildInputs ++ [ pkgs.hdf5 self.pkg-config self.cython ];
+      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.hdf5 self.pkgconfig self.cython ];
       configure_flags = "--hdf5=${pkgs.hdf5}";
       postConfigure = ''
         ${self.python.executable} setup.py configure ${configure_flags}
@@ -254,7 +289,7 @@ self: super:
       patchPhase = ''
         substituteInPlace setup.py \
           --replace "/usr/include/openjpeg-2.3" \
-                    "${pkgs.openjpeg.dev}/include/openjpeg-2.3"
+                    "${pkgs.openjpeg.dev}/include/${pkgs.openjpeg.dev.incDir}
         substituteInPlace setup.py \
           --replace "/usr/include/jxrlib" \
                     "$out/include/libjxr"
@@ -275,7 +310,7 @@ self: super:
 
       '';
 
-      buildInputs = old.buildInputs ++ [
+      buildInputs = (old.buildInputs or [ ]) ++ [
         # Commented out packages are declared required, but not actually
         # needed to build. They are not yet packaged for nixpkgs.
         # bitshuffle
@@ -335,7 +370,7 @@ self: super:
   jira = super.jira.overridePythonAttrs (
     old: {
       inherit (pkgs.python3Packages.jira) patches;
-      buildInputs = old.buildInputs ++ [
+      buildInputs = (old.buildInputs or [ ]) ++ [
         self.pytestrunner
         self.cryptography
         self.pyjwt
@@ -349,6 +384,11 @@ self: super:
     }
   );
 
+  jsonslicer = super.jsonslicer.overridePythonAttrs (old: {
+    nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkgconfig ];
+    buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.yajl ];
+  });
+
   jupyter = super.jupyter.overridePythonAttrs (
     old: rec {
       # jupyter is a meta-package. Everything relevant comes from the
@@ -360,7 +400,7 @@ self: super:
 
   keyring = super.keyring.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [
+      buildInputs = (old.buildInputs or [ ]) ++ [
         self.toml
       ];
       postPatch = ''
@@ -371,7 +411,7 @@ self: super:
 
   kiwisolver = super.kiwisolver.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [
+      buildInputs = (old.buildInputs or [ ]) ++ [
         self.cppy
       ];
     }
@@ -392,7 +432,7 @@ self: super:
 
   llvmlite = super.llvmlite.overridePythonAttrs (
     old: {
-      nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.llvm ];
+      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.llvm ];
 
       # Disable static linking
       # https://github.com/numba/llvmlite/issues/93
@@ -407,7 +447,7 @@ self: super:
         export LLVM_CONFIG=${pkgs.llvm}/bin/llvm-config
       '';
 
-      __impureHostDeps = pkgs.lib.optionals pkgs.stdenv.isDarwin [ "/usr/lib/libm.dylib" ];
+      __impureHostDeps = lib.optionals pkgs.stdenv.isDarwin [ "/usr/lib/libm.dylib" ];
 
       passthru = old.passthru // { llvm = pkgs.llvm; };
     }
@@ -421,8 +461,8 @@ self: super:
 
   lxml = super.lxml.overridePythonAttrs (
     old: {
-      nativeBuildInputs = with pkgs; old.nativeBuildInputs ++ [ pkg-config libxml2.dev libxslt.dev ];
-      buildInputs = with pkgs; old.buildInputs ++ [ libxml2 libxslt ];
+      nativeBuildInputs = with pkgs; (old.nativeBuildInputs or [ ]) ++ [ pkg-config libxml2.dev libxslt.dev ];
+      buildInputs = with pkgs; (old.buildInputs or [ ]) ++ [ libxml2 libxslt ];
     }
   );
 
@@ -447,11 +487,11 @@ self: super:
 
       XDG_RUNTIME_DIR = "/tmp";
 
-      buildInputs = old.buildInputs
+      buildInputs = (old.buildInputs or [ ])
         ++ lib.optional enableGhostscript pkgs.ghostscript
         ++ lib.optional stdenv.isDarwin [ Cocoa ];
 
-      nativeBuildInputs = old.nativeBuildInputs ++ [
+      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
         pkgs.pkg-config
       ];
 
@@ -482,16 +522,16 @@ self: super:
 
   mccabe = super.mccabe.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [ self.pytest-runner ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
       doCheck = false;
     }
   );
 
   mip = super.mip.overridePythonAttrs (
     old: {
-      nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.autoPatchelfHook ];
+      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.autoPatchelfHook ];
 
-      buildInputs = old.buildInputs ++ [ pkgs.zlib self.cppy ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.zlib self.cppy ];
     }
   );
 
@@ -507,11 +547,11 @@ self: super:
               excludes = [ "pyproject.toml" ];
             })
           ];
-          buildInputs = old.buildInputs ++ [ self.setuptools-scm-git-archive ];
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ];
         }
       )) else
       super.molecule.overridePythonAttrs (old: {
-        buildInputs = old.buildInputs ++ [ self.setuptools-scm-git-archive ];
+        buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ];
       });
 
   mongomock = super.mongomock.overridePythonAttrs (oa: {
@@ -545,13 +585,19 @@ self: super:
 
   multiaddr = super.multiaddr.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [ self.pytest-runner ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
+    }
+  );
+
+  mysqlclient = super.mysqlclient.overridePythonAttrs (
+    old: {
+      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libmysqlclient ];
     }
   );
 
   netcdf4 = super.netcdf4.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [
+      buildInputs = (old.buildInputs or [ ]) ++ [
         self.cython
       ];
 
@@ -595,8 +641,8 @@ self: super:
       };
     in
     {
-      nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.gfortran ];
-      buildInputs = old.buildInputs ++ [ blas self.cython ];
+      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.gfortran ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ blas self.cython ];
       enableParallelBuilding = true;
       preBuild = ''
         ln -s ${cfg} site.cfg
@@ -610,14 +656,21 @@ self: super:
 
   openexr = super.openexr.overridePythonAttrs (
     old: rec {
-      buildInputs = old.buildInputs ++ [ pkgs.openexr pkgs.ilmbase ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openexr pkgs.ilmbase ];
       NIX_CFLAGS_COMPILE = [ "-I${pkgs.openexr.dev}/include/OpenEXR" "-I${pkgs.ilmbase.dev}/include/OpenEXR" ];
     }
   );
 
+  osqp = super.osqp.overridePythonAttrs (
+    old: {
+      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.cmake ];
+      dontUseCmakeConfigure = true;
+    }
+  );
+
   parsel = super.parsel.overridePythonAttrs (
     old: rec {
-      nativeBuildInputs = old.nativeBuildInputs ++ [ self.pytest-runner ];
+      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
     }
   );
 
@@ -628,7 +681,7 @@ self: super:
       withMysql = old.passthru.withMysql or false;
     in
     {
-      buildInputs = old.buildInputs or [ ] ++ [ pkgs.sqlite ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.sqlite ];
       propagatedBuildInputs = old.propagatedBuildInputs or [ ]
         ++ lib.optional withPostgres self.psycopg2
         ++ lib.optional withMysql self.mysql-connector;
@@ -637,11 +690,33 @@ self: super:
 
   pillow = super.pillow.overridePythonAttrs (
     old: {
-      nativeBuildInputs = [ pkgs.pkg-config ] ++ old.nativeBuildInputs;
-      buildInputs = with pkgs; [ freetype libjpeg zlib libtiff libwebp tcl lcms2 ] ++ old.buildInputs;
+      nativeBuildInputs = [ pkgs.pkg-config ] ++ (old.nativeBuildInputs or [ ]);
+      buildInputs = with pkgs; [ freetype libjpeg zlib libtiff libwebp tcl lcms2 ] ++ (old.buildInputs or [ ]);
     }
   );
 
+  # Work around https://github.com/nix-community/poetry2nix/issues/244
+  # where git deps are not picked up as they should
+  pip =
+    if lib.versionAtLeast super.pip.version "20.3" then
+      super.pip.overridePythonAttrs
+        (old:
+          let
+            pname = "pip";
+            version = "20.2.4";
+          in
+          {
+            name = pname + "-" + version;
+            inherit version;
+            src = pkgs.fetchFromGitHub {
+              owner = "pypa";
+              repo = pname;
+              rev = version;
+              sha256 = "eMVV4ftgV71HLQsSeaOchYlfaJVgzNrwUynn3SA1/Do=";
+              name = "${pname}-${version}-source";
+            };
+          }) else super.pip;
+
   poetry-core = super.poetry-core.overridePythonAttrs (old: {
     # "Vendor" dependencies (for build-system support)
     postPatch = ''
@@ -667,17 +742,17 @@ self: super:
 
   psycopg2 = super.psycopg2.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs
+      buildInputs = (old.buildInputs or [ ])
         ++ lib.optional stdenv.isDarwin pkgs.openssl;
-      nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.postgresql ];
+      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.postgresql ];
     }
   );
 
   psycopg2-binary = super.psycopg2-binary.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs
+      buildInputs = (old.buildInputs or [ ])
         ++ lib.optional stdenv.isDarwin pkgs.openssl;
-      nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.postgresql ];
+      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.postgresql ];
     }
   );
 
@@ -704,7 +779,7 @@ self: super:
           in
           if arrowCppVersion != pyArrowVersion then throw errorMessage else {
 
-            nativeBuildInputs = old.nativeBuildInputs ++ [
+            nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
               self.cython
               pkgs.pkg-config
               pkgs.cmake
@@ -717,7 +792,7 @@ self: super:
             PARQUET_HOME = _arrow-cpp;
             inherit ARROW_HOME;
 
-            buildInputs = old.buildInputs ++ [
+            buildInputs = (old.buildInputs or [ ]) ++ [
               pkgs.arrow-cpp
             ];
 
@@ -736,7 +811,7 @@ self: super:
         ) else
       super.pyarrow.overridePythonAttrs (
         old: {
-          nativeBuildInputs = old.nativeBuildInputs ++ [
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
             self.cython
           ];
         }
@@ -752,7 +827,7 @@ self: super:
     ).overridePythonAttrs (
       old: {
 
-        nativeBuildInputs = old.nativeBuildInputs ++ [
+        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
           pkgs.meson
           pkgs.ninja
           pkgs.pkg-config
@@ -771,13 +846,18 @@ self: super:
 
   pycocotools = super.pycocotools.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [
+      buildInputs = (old.buildInputs or [ ]) ++ [
         self.cython
         self.numpy
       ];
     }
   );
 
+  pyfuse3 = super.pyfuse3.overridePythonAttrs (old: {
+    nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ];
+    buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.fuse3 ];
+  });
+
   pygame = super.pygame.overridePythonAttrs (
     old: rec {
       nativeBuildInputs = [
@@ -822,27 +902,27 @@ self: super:
 
   pygobject = super.pygobject.overridePythonAttrs (
     old: {
-      nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkg-config ];
-      buildInputs = old.buildInputs ++ [ pkgs.glib pkgs.gobject-introspection ];
+      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.glib pkgs.gobject-introspection ];
     }
   );
 
   pylint = super.pylint.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [ self.pytest-runner ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
       doCheck = false;
     }
   );
 
   pyopenssl = super.pyopenssl.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [ pkgs.openssl ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openssl ];
     }
   );
 
   python-bugzilla = super.python-bugzilla.overridePythonAttrs (
     old: {
-      nativeBuildInputs = old.nativeBuildInputs ++ [
+      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
         self.docutils
       ];
     }
@@ -850,7 +930,7 @@ self: super:
 
   python-ldap = super.python-ldap.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [ pkgs.openldap pkgs.cyrus_sasl ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openldap pkgs.cyrus_sasl ];
     }
   );
 
@@ -872,7 +952,7 @@ self: super:
       old: {
         format = "other";
 
-        nativeBuildInputs = old.nativeBuildInputs ++ [
+        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
           pkgs.pkg-config
           pkgs.qt5.qmake
           pkgs.xorg.lndir
@@ -889,7 +969,7 @@ self: super:
           ++ lib.optional withWebSockets pkgs.qt5.qtwebsockets
         ;
 
-        buildInputs = old.buildInputs ++ [
+        buildInputs = (old.buildInputs or [ ]) ++ [
           pkgs.dbus
           pkgs.qt5.qtbase
           pkgs.qt5.qtsvg
@@ -972,6 +1052,10 @@ self: super:
 
   pytest = super.pytest.overridePythonAttrs (
     old: {
+      # Fixes https://github.com/pytest-dev/pytest/issues/7891
+      postPatch = old.postPatch or "" + ''
+        sed -i '/\[metadata\]/aversion = ${old.version}' setup.cfg
+      '';
       doCheck = false;
     }
   );
@@ -996,15 +1080,37 @@ self: super:
     }
   );
 
+  # pytest-splinter seems to put a .marker file in an empty directory
+  # presumably so it's tracked by and can be installed with MANIFEST.in, see
+  # https://github.com/pytest-dev/pytest-splinter/commit/a48eeef662f66ff9d3772af618748e73211a186b
+  #
+  # This directory then gets used as an empty initial profile directory and is
+  # zipped up. But if the .marker file is in the Nix store, it has the
+  # creation date of 1970, and Zip doesn't work with such old files, so it
+  # fails at runtime!
+  #
+  # We fix this here by just removing the file after the installation
+  #
+  # The error you get without this is:
+  #
+  # E           ValueError: ZIP does not support timestamps before 1980
+  # /nix/store/55b9ip7xkpimaccw9pa0vacy5q94f5xa-python3-3.7.6/lib/python3.7/zipfile.py:357: ValueError
+  pytest-splinter = super.pytest-splinter.overrideAttrs (old: {
+    postInstall = old.postInstall or "" + ''
+      rm $out/${super.python.sitePackages}/pytest_splinter/profiles/firefox/.marker
+    '';
+  });
+
+
   ffmpeg-python = super.ffmpeg-python.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [ self.pytest-runner ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
     }
   );
 
   python-prctl = super.python-prctl.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [
+      buildInputs = (old.buildInputs or [ ]) ++ [
         pkgs.libcap
       ];
     }
@@ -1012,7 +1118,7 @@ self: super:
 
   pyzmq = super.pyzmq.overridePythonAttrs (
     old: {
-      nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkg-config ];
+      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ];
       propagatedBuildInputs = old.propagatedBuildInputs ++ [ pkgs.zeromq ];
     }
   );
@@ -1035,13 +1141,13 @@ self: super:
 
   pandas = super.pandas.overridePythonAttrs (
     old: {
-      nativeBuildInputs = old.nativeBuildInputs ++ [ self.cython ];
+      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.cython ];
     }
   );
 
   panel = super.panel.overridePythonAttrs (
     old: {
-      nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.nodejs ];
+      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.nodejs ];
     }
   );
 
@@ -1062,14 +1168,19 @@ self: super:
     '';
   };
 
+
+  rmfuse = super.rmfuse.overridePythonAttrs (old: {
+    propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
+  });
+
   scipy = super.scipy.overridePythonAttrs (
     old:
     if old.format != "wheel" then {
-      nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.gfortran ];
+      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.gfortran ];
       propagatedBuildInputs = old.propagatedBuildInputs ++ [ self.pybind11 ];
       setupPyBuildFlags = [ "--fcompiler='gnu95'" ];
       enableParallelBuilding = true;
-      buildInputs = old.buildInputs ++ [ self.numpy.blas ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ self.numpy.blas ];
       preConfigure = ''
         sed -i '0,/from numpy.distutils.core/s//import setuptools;from numpy.distutils.core/' setup.py
         export NPY_NUM_BUILD_JOBS=$NIX_BUILD_CORES
@@ -1082,14 +1193,14 @@ self: super:
 
   scikit-learn = super.scikit-learn.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [
+      buildInputs = (old.buildInputs or [ ]) ++ [
         pkgs.gfortran
         pkgs.glibcLocales
       ] ++ lib.optionals stdenv.cc.isClang [
         pkgs.llvmPackages.openmp
       ];
 
-      nativeBuildInputs = old.nativeBuildInputs ++ [
+      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
         self.cython
       ];
 
@@ -1099,7 +1210,7 @@ self: super:
 
   shapely = super.shapely.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [ pkgs.geos self.cython ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.geos self.cython ];
       inherit (pkgs.python3.pkgs.shapely) patches GEOS_LIBRARY_PATH;
     }
   );
@@ -1117,8 +1228,8 @@ self: super:
   tables = super.tables.overridePythonAttrs (
     old: {
       HDF5_DIR = "${pkgs.hdf5}";
-      nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkg-config ];
-      propagatedBuildInputs = old.nativeBuildInputs ++ [ pkgs.hdf5 self.numpy self.numexpr ];
+      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ];
+      propagatedBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.hdf5 self.numpy self.numexpr ];
     }
   );
 
@@ -1147,7 +1258,7 @@ self: super:
 
   tinycss2 = super.tinycss2.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [ self.pytest-runner ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
     }
   );
 
@@ -1168,14 +1279,17 @@ self: super:
           # is explicitly disabled with USE_CUDA=0.
           find $out -name "*.so" -exec ${pkgs.patchelf}/bin/patchelf --remove-needed libcuda.so.1 {} \;
         '';
-        buildInputs = old.buildInputs ++ lib.optionals enableCuda [
-          pkgs.linuxPackages.nvidia_x11
-          pkgs.nccl.dev
-          pkgs.nccl.out
-        ];
+        buildInputs =
+          (old.buildInputs or [ ])
+          ++ [ self.typing-extensions ]
+          ++ lib.optionals enableCuda [
+            pkgs.linuxPackages.nvidia_x11
+            pkgs.nccl.dev
+            pkgs.nccl.out
+          ];
         propagatedBuildInputs = [
-          super.numpy
-          super.future
+          self.numpy
+          self.future
         ];
       })
     )
@@ -1210,7 +1324,7 @@ self: super:
   vispy = super.vispy.overrideAttrs (
     old: {
       inherit (pkgs.python3.pkgs.vispy) patches;
-      nativeBuildInputs = old.nativeBuildInputs ++ [
+      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
         self.cython
         self.setuptools-scm-git-archive
       ];
@@ -1219,7 +1333,7 @@ self: super:
 
   uvloop = super.uvloop.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ lib.optionals stdenv.isDarwin [
+      buildInputs = (old.buildInputs or [ ]) ++ lib.optionals stdenv.isDarwin [
         pkgs.darwin.apple_sdk.frameworks.ApplicationServices
         pkgs.darwin.apple_sdk.frameworks.CoreServices
       ];
@@ -1237,7 +1351,7 @@ self: super:
   weasyprint = super.weasyprint.overridePythonAttrs (
     old: {
       inherit (pkgs.python3.pkgs.weasyprint) patches;
-      buildInputs = old.buildInputs ++ [ self.pytest-runner ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
     }
   );
 
@@ -1257,15 +1371,15 @@ self: super:
         format = "wheel";
       };
       # If "wheel" is built from source
-      sourcePackage = (
+      sourcePackage = ((
         pkgs.python3.pkgs.override {
           python = self.python;
         }
-      ).wheel.overridePythonAttrs (
-        old: {
-          inherit (super.wheel) pname name version src;
-        }
-      );
+      ).wheel.override {
+        inherit (self) buildPythonPackage bootstrapped-pip setuptools;
+      }).overrideAttrs (old: {
+        inherit (super.wheel) pname name version src;
+      });
     in
     if isWheel then wheelPackage else sourcePackage;
 
@@ -1293,13 +1407,22 @@ self: super:
 
   credis = super.credis.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [ self.cython ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ self.cython ];
     }
   );
 
   hashids = super.hashids.overridePythonAttrs (
     old: {
-      buildInputs = old.buildInputs ++ [ self.flit-core ];
+      buildInputs = (old.buildInputs or [ ]) ++ [ self.flit-core ];
+    }
+  );
+
+  packaging = super.packaging.overridePythonAttrs (
+    old: {
+      buildInputs = (old.buildInputs or [ ]) ++
+        # From 20.5 until 20.7, packaging used flit for packaging (heh)
+        # See https://github.com/pypa/packaging/pull/352 and https://github.com/pypa/packaging/pull/367
+        lib.optional (lib.versionAtLeast old.version "20.5" && lib.versionOlder old.version "20.8") [ self.flit-core ];
     }
   );
 
@@ -1317,4 +1440,47 @@ self: super:
       propagatedBuildInputs = old.propagatedBuildInputs ++ [ self.toolz ];
     }
   );
+
+  # For some reason the toml dependency of tqdm declared here:
+  # https://github.com/tqdm/tqdm/blob/67130a23646ae672836b971e1086b6ae4c77d930/pyproject.toml#L2
+  # is not translated correctly to a nix dependency.
+  tqdm = super.tqdm.overrideAttrs (
+    old: {
+      buildInputs = [ super.toml ] ++ (old.buildInputs or [ ]);
+    }
+  );
+
+  watchdog = super.watchdog.overrideAttrs (
+    old: {
+      buildInputs = (old.buildInputs or [ ])
+        ++ pkgs.lib.optional pkgs.stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.CoreServices;
+    }
+  );
+
+  # pyee cannot find `vcversioner` and other "setup requirements", so it tries to
+  # download them from the internet, which only works when nix sandboxing is disabled.
+  # Additionally, since pyee uses vcversioner to specify its version, we need to do this
+  # manually specify its version.
+  pyee = super.pyee.overrideAttrs (
+    old: {
+      postPatch = old.postPatch or "" + ''
+        sed -i setup.py \
+          -e '/setup_requires/,/],/d' \
+          -e 's/vcversioner={},/version="${old.version}",/'
+      '';
+    }
+  );
+
+  # nixpkgs has setuptools_scm 4.1.2
+  # but newrelic has a seemingly unnecessary version constraint for <4
+  # So we patch that out
+  newrelic = super.newrelic.overridePythonAttrs (
+    old: {
+      postPatch = old.postPatch or "" + ''
+        substituteInPlace setup.py --replace '"setuptools_scm>=3.2,<4"' '"setuptools_scm"'
+      '';
+    }
+  );
+
+
 }
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix
index edf556377b331..9e29c5301ab79 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix
@@ -1,6 +1,7 @@
-{ lib, stdenv, python, isLinux ? stdenv.isLinux }:
+{ lib, stdenv, poetryLib, python, isLinux ? stdenv.isLinux }:
 let
   inherit (lib.strings) hasSuffix hasInfix splitString removeSuffix;
+  inherit (poetryLib) targetMachine;
 
   # The 'cpxy" as determined by `python.version`
   #
@@ -72,12 +73,16 @@ let
       withPlatform =
         if isLinux
         then
-          (
-            x: x.platform == "manylinux1_${stdenv.hostPlatform.linuxArch}"
-              || x.platform == "manylinux2010_${stdenv.hostPlatform.linuxArch}"
-              || x.platform == "manylinux2014_${stdenv.hostPlatform.linuxArch}"
-              || x.platform == "any"
-          )
+          if targetMachine != null
+          then
+            (
+              x: x.platform == "manylinux1_${targetMachine}"
+                || x.platform == "manylinux2010_${targetMachine}"
+                || x.platform == "manylinux2014_${targetMachine}"
+                || x.platform == "any"
+            )
+          else
+            (x: x.platform == "any")
         else (x: hasInfix "macosx" x.platform || x.platform == "any");
       filterWheel = x:
         let
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix
index e8d4159deeeee..dc9cd2936d068 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, poetryLib }: python:
 let
-  inherit (poetryLib) ireplace;
+  inherit (poetryLib) ireplace targetMachine;
 
   # Like builtins.substring but with stop being offset instead of length
   substr = start: stop: s: builtins.substring start (stop - start) s;
@@ -95,7 +95,7 @@ let
           else if stdenv.isDarwin then "darwin"
           else throw "Unsupported platform"
         );
-        platform_machine = stdenv.hostPlatform.linuxArch;
+        platform_machine = targetMachine;
         platform_python_implementation =
           let
             impl = python.passthru.implementation;
@@ -132,7 +132,7 @@ let
               mVal = ''[a-zA-Z0-9\'"_\. ]+'';
               mOp = "in|[!=<>]+";
               e = stripStr exprs.value;
-              m = builtins.map stripStr (builtins.match "^(${mVal}) *(${mOp}) *(${mVal})$" e);
+              m = builtins.map stripStr (builtins.match ''^(${mVal}) *(${mOp}) *(${mVal})$'' e);
               m0 = processVar (builtins.elemAt m 0);
               m2 = processVar (builtins.elemAt m 2);
             in
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/update b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/update
index d69878ad08497..33a2823f360a7 100755
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/update
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/update
@@ -3,6 +3,7 @@
 
 rev=$(curl -s https://api.github.com/repos/python-poetry/poetry/releases/latest | jq -r '.name')
 nix-prefetch-github --rev "$rev" python-poetry poetry > src.json
+echo >> src.json
 
 src=$(nix-build --no-out-link --expr 'with import <nixpkgs> {}; fetchFromGitHub (lib.importJSON ./src.json)')
 cp $src/pyproject.toml $src/poetry.lock .
diff --git a/pkgs/development/tools/poetry2nix/update b/pkgs/development/tools/poetry2nix/update
index f96763dbee3b7..41866437aa4ac 100755
--- a/pkgs/development/tools/poetry2nix/update
+++ b/pkgs/development/tools/poetry2nix/update
@@ -16,7 +16,7 @@ mv poetry2nix-master/* .
 mkdir build
 cp *.* build/
 cp -r pkgs hooks bin build/
-rm build/shell.nix build/generate.py build/overlay.nix build/flake.nix
+rm build/shell.nix build/generate.py build/overlay.nix build/flake.*
 
 cat > build/README.md << EOF
 Dont change these files here, they are maintained at https://github.com/nix-community/poetry2nix
diff --git a/pkgs/development/tools/pqrs/default.nix b/pkgs/development/tools/pqrs/default.nix
new file mode 100644
index 0000000000000..fb91709bde035
--- /dev/null
+++ b/pkgs/development/tools/pqrs/default.nix
@@ -0,0 +1,22 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "pqrs";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "manojkarthick";
+    repo = "pqrs";
+    rev = "v${version}";
+    sha256 = "1vx952ki1rhwfmr3faxs363m9fh61b37b0bkbs57ggn9r44sk1z2";
+  };
+
+  cargoSha256 = "1c482y83gzpvazdsxsx5n509mkqmyz640s18y4yg928mmqbsz9c4";
+
+  meta = with lib; {
+    description = "CLI tool to inspect Parquet files";
+    homepage = "https://github.com/manojkarthick/pqrs";
+    license = with licenses; [ mit /* or */ asl20 ];
+    maintainers = [ maintainers.manojkarthick ];
+  };
+}
diff --git a/pkgs/development/tools/profiling/systemtap/default.nix b/pkgs/development/tools/profiling/systemtap/default.nix
index c5d65a8239eae..641c1581b0519 100644
--- a/pkgs/development/tools/profiling/systemtap/default.nix
+++ b/pkgs/development/tools/profiling/systemtap/default.nix
@@ -37,7 +37,7 @@ let
 
 in runCommand "systemtap-${kernel.version}-${version}" {
   inherit stapBuild kernelBuildDir;
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
   meta = {
     homepage = "https://sourceware.org/systemtap/";
     repositories.git = url;
diff --git a/pkgs/development/tools/pup/default.nix b/pkgs/development/tools/pup/default.nix
index 13e8c233ec39f..018232b3f40ad 100644
--- a/pkgs/development/tools/pup/default.nix
+++ b/pkgs/development/tools/pup/default.nix
@@ -1,21 +1,22 @@
-{ lib, buildGoPackage, fetchgit }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "pup";
-  version = "0.4.0";
-  rev = "v${version}";
+  version = "unstable-2019-09-19";
 
-  goPackagePath = "github.com/ericchiang/pup";
-
-  src = fetchgit {
-    inherit rev;
-    url = "https://${goPackagePath}";
-    sha256 = "0mnhw0yph5fvcnrcmj1kfbyw1a4lcg3k9f6y28kf44ihlq8h1dfz";
+  src = fetchFromGitHub {
+    owner = "ericchiang";
+    repo = "pup";
+    rev = "681d7bb639334bf485476f5872c5bdab10931f9a";
+    sha256 = "1hx1k0qlc1bq6gg5d4yprn4d7kvqzagg6mi5mvb39zdq6c4y17vr";
   };
 
+  vendorSha256 = null;
+
   meta = with lib; {
-    description = "Streaming HTML processor/selector";
+    description = "Parsing HTML at the command line";
+    homepage = "https://github.com/ericchiang/pup";
     license = licenses.mit;
-    maintainers = with maintainers; [ yegortimoshenko ];
+    maintainers = with maintainers; [ yegortimoshenko SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/tools/qtcreator/default.nix b/pkgs/development/tools/qtcreator/default.nix
index 40e3e42d84cc8..dc5699ed3739f 100644
--- a/pkgs/development/tools/qtcreator/default.nix
+++ b/pkgs/development/tools/qtcreator/default.nix
@@ -20,12 +20,12 @@ in
 
 mkDerivation rec {
   pname = "qtcreator";
-  version = "4.11.0";
+  version = "4.14.0";
   baseVersion = builtins.concatStringsSep "." (lib.take 2 (builtins.splitVersion version));
 
   src = fetchurl {
     url = "http://download.qt-project.org/official_releases/${pname}/${baseVersion}/${version}/qt-creator-opensource-src-${version}.tar.xz";
-    sha256 = "0ibn7bapw7m26nmxl26dns1hnpawfdqk1i1mgg0gjssja8famszg";
+    sha256 = "07i045mzwbfhwj2jlijhz9xs6ay03qs5dgcw2kzlcr79a69i0h6j";
   };
 
   buildInputs = [ qtbase qtscript qtquickcontrols qtdeclarative ] ++
@@ -54,16 +54,14 @@ mkDerivation rec {
   preConfigure = ''
     substituteInPlace src/plugins/plugins.pro \
       --replace '$$[QT_INSTALL_QML]/QtQuick/Controls' '${qtquickcontrols}/${qtbase.qtQmlPrefix}/QtQuick/Controls'
+    substituteInPlace src/libs/libs.pro \
+      --replace '$$[QT_INSTALL_QML]/QtQuick/Controls' '${qtquickcontrols}/${qtbase.qtQmlPrefix}/QtQuick/Controls'
     '' + optionalString withClangPlugins ''
     # Fix paths for llvm/clang includes directories.
     substituteInPlace src/shared/clang/clang_defines.pri \
       --replace '$$clean_path($${LLVM_LIBDIR}/clang/$${LLVM_VERSION}/include)' '${clang_qt_vendor}/lib/clang/8.0.0/include' \
       --replace '$$clean_path($${LLVM_BINDIR})' '${clang_qt_vendor}/bin'
 
-    # Fix include path to find clang and clang-c include directories.
-    substituteInPlace src/plugins/clangtools/clangtools.pro \
-      --replace 'INCLUDEPATH += $$LLVM_INCLUDEPATH' 'INCLUDEPATH += $$LLVM_INCLUDEPATH ${clang_qt_vendor}'
-
     # Fix paths to libclang library.
     substituteInPlace src/shared/clang/clang_installation.pri \
       --replace 'LIBCLANG_LIBS = -L$${LLVM_LIBDIR}' 'LIBCLANG_LIBS = -L${llvmPackages_8.libclang}/lib' \
diff --git a/pkgs/development/tools/quilt/default.nix b/pkgs/development/tools/quilt/default.nix
index 71cf10e63b91a..94b5e5a6dcc20 100644
--- a/pkgs/development/tools/quilt/default.nix
+++ b/pkgs/development/tools/quilt/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "01vfvk4pqigahx82fhaaffg921ivd3k7rylz1yfvy4zbdyd32jri";
   };
 
-  buildInputs = [ makeWrapper perl bash diffutils patch findutils diffstat ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ perl bash diffutils patch findutils diffstat ];
 
   postInstall = ''
     wrapProgram $out/bin/quilt --prefix PATH : \
diff --git a/pkgs/development/tools/react-native-debugger/default.nix b/pkgs/development/tools/react-native-debugger/default.nix
index 06b5dd794015c..d1c86d9248a37 100644
--- a/pkgs/development/tools/react-native-debugger/default.nix
+++ b/pkgs/development/tools/react-native-debugger/default.nix
@@ -38,10 +38,10 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "react-native-debugger";
-  version = "0.11.5";
+  version = "0.11.7";
   src = fetchurl {
     url = "https://github.com/jhen0409/react-native-debugger/releases/download/v${version}/rn-debugger-linux-x64.zip";
-    sha256 = "0b917lihypx7ansy64dmwvgi943yy0n6fs8myam635bsr4l1srzb";
+    sha256 = "sha256-UXKObJKk9UUgWtm8U+nXWvIJUr4NLm2f//pGTHJISYA=";
   };
 
   buildInputs = [ unzip ];
diff --git a/pkgs/development/tools/rgp/default.nix b/pkgs/development/tools/rgp/default.nix
index 8beeccfa2fd1e..3cfd608e22586 100644
--- a/pkgs/development/tools/rgp/default.nix
+++ b/pkgs/development/tools/rgp/default.nix
@@ -53,6 +53,8 @@ stdenv.mkDerivation rec {
     "${placeholder "out"}/opt/rgp/qt"
   ];
 
+  dontWrapQtApps = true;
+
   installPhase = ''
     mkdir -p $out/opt/rgp $out/bin
     cp -r . $out/opt/rgp/
diff --git a/pkgs/development/tools/ronn/default.nix b/pkgs/development/tools/ronn/default.nix
index 9e4ac0b58ebee..8b5166272202e 100644
--- a/pkgs/development/tools/ronn/default.nix
+++ b/pkgs/development/tools/ronn/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   phases = ["installPhase"];
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/development/tools/rubocop/Gemfile.lock b/pkgs/development/tools/rubocop/Gemfile.lock
index bfa2b7c238a04..54287074bedea 100644
--- a/pkgs/development/tools/rubocop/Gemfile.lock
+++ b/pkgs/development/tools/rubocop/Gemfile.lock
@@ -8,7 +8,7 @@ GEM
     rainbow (3.0.0)
     regexp_parser (2.0.3)
     rexml (3.2.4)
-    rubocop (1.9.0)
+    rubocop (1.10.0)
       parallel (~> 1.10)
       parser (>= 3.0.0.0)
       rainbow (>= 2.2.2, < 4.0)
diff --git a/pkgs/development/tools/rubocop/gemset.nix b/pkgs/development/tools/rubocop/gemset.nix
index 3fe8d2cd58ab3..b460200c74e44 100644
--- a/pkgs/development/tools/rubocop/gemset.nix
+++ b/pkgs/development/tools/rubocop/gemset.nix
@@ -66,10 +66,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wz0prg4kx36smbk7fib4a8cdxrj5b5b31c8bavm082vgcpfk759";
+      sha256 = "1ncd6w4sc112j86j9j12ws7flxfi8dk8nal2kyxg7phdfr703qlz";
       type = "gem";
     };
-    version = "1.9.0";
+    version = "1.10.0";
   };
   rubocop-ast = {
     dependencies = ["parser"];
diff --git a/pkgs/development/tools/rust/cargo-c/default.nix b/pkgs/development/tools/rust/cargo-c/default.nix
index c468ad0f4e181..15ec7518e8a58 100644
--- a/pkgs/development/tools/rust/cargo-c/default.nix
+++ b/pkgs/development/tools/rust/cargo-c/default.nix
@@ -5,7 +5,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-c";
-  version = "0.7.2";
+  version = "0.7.3";
 
   src = stdenv.mkDerivation rec {
     name = "${pname}-source-${version}";
@@ -14,11 +14,11 @@ rustPlatform.buildRustPackage rec {
       owner = "lu-zero";
       repo = pname;
       rev = "v${version}";
-      sha256 = "1rgwj3kf31n4rz0b7jw67wsgyapdycfic7plm5gm4n9rlslp5ax5";
+      sha256 = "0df87kx8dfq2fvz00k6advwg2iw9djkflhrbsjw0xhac78623c56";
     };
     cargoLock = fetchurl {
       url = "https://github.com/lu-zero/${pname}/releases/download/v${version}/Cargo.lock";
-      sha256 = "0jnawnkf4m7cqcq9iahnxa53l61a5riax400n96vxrqf3fa752c6";
+      sha256 = "18l54jf9q5xb908bwyyil1sblxxa9mkrgr33gm0r6nxicw6kf8in";
     };
 
     installPhase = ''
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
     '';
   };
 
-  cargoSha256 = "0svmhq64aqw1vidq8jmw7w4xhhnyp04vcs9yzhjyz25c4cn9grsf";
+  cargoSha256 = "0z7sjfnnmld5bijn14c7v7arh0vzqmbkjk7bf9ky67acq2r2cv2f";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ]
diff --git a/pkgs/development/tools/rust/cargo-crev/default.nix b/pkgs/development/tools/rust/cargo-crev/default.nix
index e3c16b09ef34d..8638bb5844bd6 100644
--- a/pkgs/development/tools/rust/cargo-crev/default.nix
+++ b/pkgs/development/tools/rust/cargo-crev/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-crev";
-  version = "0.18.1";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "crev-dev";
     repo = "cargo-crev";
     rev = "v${version}";
-    sha256 = "sha256-qoN9pTpmXfwaJ37MqAggiPsH4cPr+nsT6NhAUOVclSw=";
+    sha256 = "sha256-+CqWPgdPuTE9TRwQJYibRCtdyAr25sJ2sXCUEoI0VtM=";
   };
 
-  cargoSha256 = "sha256-mmd9Ds37ST+OuCt506/YbdpOOJBp7WIVZBq+bQ2SR3U=";
+  cargoSha256 = "sha256-cBuAVU/fS2HQohjDyzrhDEsgWD5CxTrTCsQeZll90IQ=";
 
   nativeBuildInputs = [ perl pkg-config ];
 
diff --git a/pkgs/development/tools/rust/cargo-criterion/default.nix b/pkgs/development/tools/rust/cargo-criterion/default.nix
new file mode 100644
index 0000000000000..931fb8fd984ec
--- /dev/null
+++ b/pkgs/development/tools/rust/cargo-criterion/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-criterion";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "bheisler";
+    repo = pname;
+    rev = version;
+    sha256 = "0czagclrn4yhlvlh06wsyiybz69r7mmk3182fywzn9vd0xlclxpi";
+  };
+
+  cargoSha256 = "sha256-XZuZ81hB/GQDopJyfSkxQiehSwJz7VWoJR6/m3WLil8=";
+
+  meta = with lib; {
+    description = "Cargo extension for running Criterion.rs benchmarks";
+    homepage = "https://github.com/bheisler/cargo-criterion";
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ humancalico ];
+  };
+}
diff --git a/pkgs/development/tools/rust/cargo-deny/default.nix b/pkgs/development/tools/rust/cargo-deny/default.nix
index ba126e57a1452..b328f32dc265f 100644
--- a/pkgs/development/tools/rust/cargo-deny/default.nix
+++ b/pkgs/development/tools/rust/cargo-deny/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-deny";
-  version = "0.8.5";
+  version = "0.8.8";
 
   src = fetchFromGitHub {
     owner = "EmbarkStudios";
     repo = pname;
     rev = version;
-    sha256 = "01czsnhlvs78fpx1kpi75386657jmlrqpsj4474nxmgcs75igncx";
+    sha256 = "sha256-8wmH9DeI+tm3c/6n7bwMe5SslGNCUg4d5BE0+wQ7KTU=";
   };
 
-  cargoSha256 = "1d5vh6cifkvqxmbgc2z9259q8879fjw016z959hfivv38rragqbr";
+  cargoSha256 = "sha256-f0Wisel7NQOyfbhhs0GwyTBiUfydPMSVAysrov/RxxI=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/rust/cargo-generate/default.nix b/pkgs/development/tools/rust/cargo-generate/default.nix
index 635f36ee834c9..e4eb2965fd6f0 100644
--- a/pkgs/development/tools/rust/cargo-generate/default.nix
+++ b/pkgs/development/tools/rust/cargo-generate/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-generate";
-  version = "0.5.1";
+  version = "0.5.3";
 
   src = fetchFromGitHub {
     owner = "ashleygwilliams";
     repo = "cargo-generate";
     rev = "v${version}";
-    sha256 = "0rq0anz0cawrgsinqyjh8wb3dgha09wx3ydrd3m9nfxs5dd3ij3k";
+    sha256 = "sha256-RrDwq5VufMDsPlqRmBP3x2RUWU740L0L18noByO1IDY=";
   };
 
-  cargoSha256 = "1vngn9gbiv59wrq230qk2mv00bsbdfk2mi1iqpr736c5wj1caqld";
+  cargoSha256 = "sha256-W6+RGzCYJF9f44QaFDOI414/vCfKIuIOXoH+GYY0GwY=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/rust/cargo-limit/default.nix b/pkgs/development/tools/rust/cargo-limit/default.nix
index 3b28af1097e2d..37c905879bf05 100644
--- a/pkgs/development/tools/rust/cargo-limit/default.nix
+++ b/pkgs/development/tools/rust/cargo-limit/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-limit";
-  version = "0.0.5";
+  version = "0.0.6";
 
   src = fetchFromGitHub {
     owner = "alopatindev";
     repo = "cargo-limit";
     rev = version;
-    sha256 = "sha256-GYdWKRgdS9gCQRu1C8ht0wC1eBTtIMg585OuAfDn/+4=";
+    sha256 = "sha256-2YngMRPNiUVqg82Ck/ovcMbZV+STGyowT9zlwBkcKok=";
   };
 
-  cargoSha256 = "0381wgyb2xnsiick8invrkhcvp905rrfyikgv01w6qn9872z11s0";
+  cargoSha256 = "sha256-4HQhBE4kNhOhO48PBiAxtppmaqy7jaV8p/jb/Uv7vJk=";
 
   passthru = {
     updateScript = nix-update-script {
diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix
index 8c2780fae1118..8e1c032cdafe0 100644
--- a/pkgs/development/tools/rust/cargo-make/default.nix
+++ b/pkgs/development/tools/rust/cargo-make/default.nix
@@ -4,11 +4,11 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-make";
-  version = "0.32.11";
+  version = "0.32.12";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-A61CZwJiXrsrBqTU15fAR1PTEbDsrgN3gwaIPPjQi2M=";
+    sha256 = "sha256-AaoLT5M1ut2Hlgw91On8AHRN/rrufbAp4I7bcCeG3cA=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ]
     ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
 
-  cargoSha256 = "sha256-GvizO979sVuEogIJHzjsHD8SWNCf2XgCSRTIESRUe7A=";
+  cargoSha256 = "sha256-r64Y8TxYmzxuZOTncHUYm+KmKlbK+KnHCHyNups5kRw=";
 
   # Some tests fail because they need network access.
   # However, Travis ensures a proper build.
diff --git a/pkgs/development/tools/rust/cargo-play/default.nix b/pkgs/development/tools/rust/cargo-play/default.nix
new file mode 100644
index 0000000000000..5e12c1cae1d22
--- /dev/null
+++ b/pkgs/development/tools/rust/cargo-play/default.nix
@@ -0,0 +1,25 @@
+{ fetchFromGitHub, lib, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-play";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = "fanzeyi";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "01r00akfmvpzp924yqqybd9s0pwiwxy8vklsg4m9ypzljc3nlv02";
+  };
+
+  cargoSha256 = "0fvsdyivq5991ka6avh12aqdkjx0myk61kmzlr19p2vlfpg70q07";
+
+  # some tests require internet access
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Run your rust code without setting up cargo";
+    homepage = "https://github.com/fanzeyi/cargo-play";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/pkgs/development/tools/rust/cargo-udeps/default.nix b/pkgs/development/tools/rust/cargo-udeps/default.nix
index e38afac76f27a..5e1cdc5e21bb9 100644
--- a/pkgs/development/tools/rust/cargo-udeps/default.nix
+++ b/pkgs/development/tools/rust/cargo-udeps/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-udeps";
-  version = "0.1.17";
+  version = "0.1.18";
 
   src = fetchFromGitHub {
     owner = "est31";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-qVmp2DTnQjvN5QWchiGa6huM30+o41zLmby45APfxgk=";
+    sha256 = "sha256-o02MQC0/sc/+qbIXJVN84a2SKxSJaUSXXtBs0h+lQes=";
   };
 
-  cargoSha256 = "sha256-zuJbs25lyDRTQPJdI0QBzO3xrdH48+cVhLqIkP7nLbE=";
+  cargoSha256 = "sha256-tlAA2Aw5OQ9/FCyTckS559s6Zp4Nx8m34yLT9q5F3nI=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/rust/cargo-whatfeatures/default.nix b/pkgs/development/tools/rust/cargo-whatfeatures/default.nix
new file mode 100644
index 0000000000000..34440ce93058b
--- /dev/null
+++ b/pkgs/development/tools/rust/cargo-whatfeatures/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-whatfeatures";
+  version = "0.9.6";
+
+  src = fetchFromGitHub {
+    owner = "museun";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0vki37pxngg15za9c1z61dc6sqk0j59s0qhcf9hplnym4ib5kqx1";
+  };
+
+  cargoSha256 = "sha256-nNV7UXjKZNFmTqW4H0qsNuBW9XOP2V9nfotewtI9mYE";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ openssl ]
+    ++ lib.optionals stdenv.isDarwin [ Security ];
+
+  meta = with lib; {
+    description = "A simple cargo plugin to get a list of features for a specific crate";
+    homepage = "https://github.com/museun/cargo-whatfeatures";
+    license = with licenses; [ mit asl20 ];
+    maintainers = with maintainers; [ ivan-babrou ];
+  };
+}
diff --git a/pkgs/development/tools/rust/crate2nix/default.nix b/pkgs/development/tools/rust/crate2nix/default.nix
index a941d43bb9d81..9432c4fd85d3d 100644
--- a/pkgs/development/tools/rust/crate2nix/default.nix
+++ b/pkgs/development/tools/rust/crate2nix/default.nix
@@ -10,17 +10,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "crate2nix";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub
     {
       owner = "kolloch";
       repo = pname;
       rev = version;
-      sha256 = "sha256-pqg1BsEq3kGmUzt1zpQvXgdnRcIsiuIyvtUBi3VxtZ4=";
+      sha256 = "sha256-dB8wa3CQFw8ckD420zpBGw4TnsLrHqXf+ff/WuhPsVM=";
     } + "/crate2nix";
 
-  cargoSha256 = "sha256-dAMWrGNMleQ3lDbG46Hr4qvCyxR+QcPOUZw9r2/CxV4=";
+  cargoSha256 = "sha256-6V0ifH63/s5XLo4BCexPtvlUH0UQPHFW8YHF8OCH3ik=";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/development/tools/rust/maturin/default.nix b/pkgs/development/tools/rust/maturin/default.nix
index d40145f163b2c..02b111567ccde 100644
--- a/pkgs/development/tools/rust/maturin/default.nix
+++ b/pkgs/development/tools/rust/maturin/default.nix
@@ -1,34 +1,45 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, dbus, gmp, openssl, pkg-config
-, darwin }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, rustPlatform
+, pkg-config
+, dbus
+, Security
+}:
 
-let
-  inherit (darwin.apple_sdk.frameworks) Security;
-in rustPlatform.buildRustPackage rec {
-  name = "maturin-${version}";
-  version = "0.9.0";
+rustPlatform.buildRustPackage rec {
+  pname = "maturin";
+  version = "0.9.4";
 
   src = fetchFromGitHub {
     owner = "PyO3";
     repo = "maturin";
     rev = "v${version}";
-    sha256 = "sha256-X5/1zEVhhdTuyXcUwC3jVv9Gblmv8LT+ftsVo8BnnZs=";
+    hash = "sha256-9emrBajFd0eLHcsd9Uf6MLCWqZFqxmZdWPBLGIYc2kU=";
   };
 
-  cargoSha256 = "sha256-PBmuPIpCwC7fr/MKFaeSd/0avoEATlxoeMHisjouAeI=";
+  cargoHash = "sha256-poMMEj+zrlU+v5axJbZai2kv36stEKgaciF4zd9A6Qg=";
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ gmp openssl ]
-    ++ lib.optional stdenv.isDarwin Security
-    ++ lib.optional stdenv.isLinux dbus;
+  buildInputs = lib.optional stdenv.isLinux dbus
+    ++ lib.optional stdenv.isDarwin Security;
 
   # Requires network access, fails in sandbox.
   doCheck = false;
 
   meta = with lib; {
-    description = "Build and publish crates with pyo3 bindings as python packages";
+    description = "Build and publish Rust crates Python packages";
+    longDescription = ''
+      Build and publish Rust crates with PyO3, rust-cpython, and
+      cffi bindings as well as Rust binaries as Python packages.
+
+      This project is meant as a zero-configuration replacement for
+      setuptools-rust and Milksnake. It supports building wheels for
+      Python and can upload them to PyPI.
+    '';
     homepage = "https://github.com/PyO3/maturin";
-    license = licenses.mit;
+    license = licenses.asl20;
     maintainers = [ maintainers.danieldk ];
   };
 }
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index 63757d1aefd4d..e9a5150befa35 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -2,10 +2,10 @@
 
 {
   rust-analyzer-unwrapped = callPackage ./generic.nix rec {
-    rev = "2021-01-25";
+    rev = "2021-03-01";
     version = "unstable-${rev}";
-    sha256 = "1r42cnx5kplql810zc5bcpl0zzm9l8gls64h32nvd7fgad4ixapz";
-    cargoSha256 = "0ns26lddiaa1lanamcf8zawh287k4qg8n4brjpqi9s1bxbmd1kc2";
+    sha256 = "10x4fk1nxk548cfxrbfvz0kpa2r955d0bcnxxn8k8zmrdqxs3sph";
+    cargoSha256 = "02s6qnq61vifx59hnbaalqmfvp8anfik62y6rzy3rwm1l9r85qrz";
   };
 
   rust-analyzer = callPackage ./wrapper.nix {} {
diff --git a/pkgs/development/tools/rust/rust-analyzer/generic.nix b/pkgs/development/tools/rust/rust-analyzer/generic.nix
index 10f0c6b26ad75..0ce33f0f23361 100644
--- a/pkgs/development/tools/rust/rust-analyzer/generic.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/generic.nix
@@ -41,6 +41,8 @@ rustPlatform.buildRustPackage {
     runHook postInstallCheck
   '';
 
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
     description = "An experimental modular compiler frontend for the Rust language";
     homepage = "https://github.com/rust-analyzer/rust-analyzer";
diff --git a/pkgs/development/tools/scaff/default.nix b/pkgs/development/tools/scaff/default.nix
deleted file mode 100644
index 2449769e07f3a..0000000000000
--- a/pkgs/development/tools/scaff/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, rustPlatform, fetchFromGitLab, pkg-config, openssl }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "scaff";
-  version = "0.1.2";
-
-  src = fetchFromGitLab {
-    owner = "jD91mZM2";
-    repo = pname;
-    rev = version;
-
-    sha256 = "01yf2clf156qv2a6w866a2p8rc2dl8innxnsqrj244x54s1pk27r";
-  };
-
-  cargoSha256 = "1v6580mj70d7cqbjw32slz65lg6c8ficq5mdkfbivs63hqkv4hgx";
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ openssl ];
-
-  meta = with lib; {
-    description = "Painless and powerful scaffolding of projects";
-    license = licenses.mit;
-    maintainers = with maintainers; [ jD91mZM2 ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/development/tools/scalafix/default.nix b/pkgs/development/tools/scalafix/default.nix
index 00fda8bfc3682..c27d6e8a65f39 100644
--- a/pkgs/development/tools/scalafix/default.nix
+++ b/pkgs/development/tools/scalafix/default.nix
@@ -19,7 +19,8 @@ in
 stdenv.mkDerivation {
   name = "${baseName}-${version}";
 
-  buildInputs = [ jdk makeWrapper deps ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jdk deps ];
 
   doCheck = true;
 
diff --git a/pkgs/development/tools/scry/default.nix b/pkgs/development/tools/scry/default.nix
index dcb8087372da2..7346ace2ff37c 100644
--- a/pkgs/development/tools/scry/default.nix
+++ b/pkgs/development/tools/scry/default.nix
@@ -1,16 +1,18 @@
-{ lib, fetchFromGitHub, crystal_0_31, coreutils, shards, makeWrapper, which }:
+{ lib, fetchFromGitHub, crystal_0_35, coreutils, makeWrapper }:
+let
+  crystal = crystal_0_35;
 
-let crystal = crystal_0_31;
-
-in crystal.buildCrystalPackage rec {
+in
+crystal.buildCrystalPackage rec {
   pname = "scry";
-  version = "0.8.1";
+  version = "unstable-2020-09-02"; # to make it work with crystal 0.35
 
   src = fetchFromGitHub {
     owner = "crystal-lang-tools";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0ii4k9l3dgm1c9lllc8ni9dar59lrxik0v9iz7gk3d6v62wwnq79";
+    # rev = "v${version}";
+    rev = "580a1879810a9f5d63d8a0d90fbdaa99d86b58da";
+    sha256 = "sha256-WjpkkHfy38wDj/ejXyyMtd5rLfTRoj/7D+SAhRROnbU=";
   };
 
   # we are already testing for this, so we can ignore the failures
@@ -18,14 +20,12 @@ in crystal.buildCrystalPackage rec {
     rm spec/scry/executable_spec.cr
   '';
 
-  format = "crystal";
+  format = "shards";
 
   nativeBuildInputs = [ makeWrapper ];
 
   shardsFile = ./shards.nix;
 
-  crystalBinaries.scry.src = "src/scry.cr";
-
   postFixup = ''
     wrapProgram $out/bin/scry \
       --prefix PATH : ${lib.makeBinPath [ crystal coreutils ]}
diff --git a/pkgs/development/tools/scry/fix_for_crystal_0_28_and_above.patch b/pkgs/development/tools/scry/fix_for_crystal_0_28_and_above.patch
deleted file mode 100644
index 909b790b81a8e..0000000000000
--- a/pkgs/development/tools/scry/fix_for_crystal_0_28_and_above.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/src/scry/completion_provider.cr b/src/scry/completion_provider.cr
-index 29e0d36..f67438c 100644
---- a/src/scry/completion_provider.cr
-+++ b/src/scry/completion_provider.cr
-@@ -1,4 +1,5 @@
- require "./log"
-+require "compiler/crystal/codegen/target"
- require "compiler/crystal/crystal_path"
- require "./completion/*"
-
-diff --git a/src/scry/parse_analyzer.cr b/src/scry/parse_analyzer.cr
-index d87eca4..bbe9ed5 100644
---- a/src/scry/parse_analyzer.cr
-+++ b/src/scry/parse_analyzer.cr
-@@ -1,4 +1,5 @@
- require "compiler/crystal/syntax"
-+require "compiler/crystal/codegen/target"
- require "compiler/crystal/crystal_path"
- require "./workspace"
- require "./text_document"
diff --git a/pkgs/development/tools/sd-local/default.nix b/pkgs/development/tools/sd-local/default.nix
index b7e6021a6d8eb..0f4f1740fac5f 100644
--- a/pkgs/development/tools/sd-local/default.nix
+++ b/pkgs/development/tools/sd-local/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "sd-local";
-  version = "1.0.17";
+  version = "1.0.24";
 
   src = fetchFromGitHub {
     owner = "screwdriver-cd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "13krr1zjh544swv4frfapvyi7bm8qf121x6qz9jqbw2cm3mid301";
+    sha256 = "sha256-dqjZQyh7SWkD2dBcB32pR3PgWPMGQYPo7AkOQURt0hs=";
   };
 
-  vendorSha256 = "1y4nyw7rpgipblxqaps2zsd07cin8d0i0g9gvsnc3vifi6g29s8z";
+  vendorSha256 = "sha256-3KNYG6RBnfFRgIoIyAe7QwAB56ZMF8bHdgt9Ghtod20=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/tools/selenium/selendroid/default.nix b/pkgs/development/tools/selenium/selendroid/default.nix
index c25190cab74e9..b029e7711a3ed 100644
--- a/pkgs/development/tools/selenium/selendroid/default.nix
+++ b/pkgs/development/tools/selenium/selendroid/default.nix
@@ -23,7 +23,8 @@ stdenv.mkDerivation {
 
   dontUnpack = true;
 
-  buildInputs = [ jdk makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jdk ];
 
   installPhase = ''
     mkdir -p $out/share/lib/selendroid
diff --git a/pkgs/development/tools/selenium/server/default.nix b/pkgs/development/tools/selenium/server/default.nix
index 10893a9d17001..c4f8653794fe1 100644
--- a/pkgs/development/tools/selenium/server/default.nix
+++ b/pkgs/development/tools/selenium/server/default.nix
@@ -18,7 +18,8 @@ in stdenv.mkDerivation rec {
 
   dontUnpack = true;
 
-  buildInputs = [ jre makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre ];
 
   installPhase = ''
     mkdir -p $out/share/lib/${pname}-${version}
diff --git a/pkgs/development/tools/skaffold/default.nix b/pkgs/development/tools/skaffold/default.nix
index fc1f5c3f31736..1599c4213a17b 100644
--- a/pkgs/development/tools/skaffold/default.nix
+++ b/pkgs/development/tools/skaffold/default.nix
@@ -1,13 +1,21 @@
-{ lib, buildGoPackage, fetchFromGitHub, installShellFiles }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "skaffold";
-  version = "1.17.2";
+  version = "1.20.0";
+
+  src = fetchFromGitHub {
+    owner = "GoogleContainerTools";
+    repo = "skaffold";
+    rev = "v${version}";
+    sha256 = "080zhksznwsyi0w1ban90vgh8y1q2703h3h4fvkwg695prd9ij66";
+  };
+
+  vendorSha256 = "1jvrk5jhjzg0dq0zg7p4hvjwda2289cmwh0ldz3269y8g3l113x8";
 
-  goPackagePath = "github.com/GoogleContainerTools/skaffold";
   subPackages = ["cmd/skaffold"];
 
-  buildFlagsArray = let t = "${goPackagePath}/pkg/skaffold"; in  ''
+  buildFlagsArray = let t = "github.com/GoogleContainerTools/skaffold/pkg/skaffold"; in  ''
     -ldflags=
       -s -w
       -X ${t}/version.version=v${version}
@@ -15,24 +23,24 @@ buildGoPackage rec {
       -X ${t}/version.buildDate=unknown
   '';
 
-  src = fetchFromGitHub {
-    owner = "GoogleContainerTools";
-    repo = "skaffold";
-    rev = "v${version}";
-    sha256 = "1sn4pmikap93kpdgcalgb3nam7zp60ck6wmynsv8dnzihrr7ycm3";
-  };
-
   nativeBuildInputs = [ installShellFiles ];
+
   postInstall = ''
-    for shell in bash zsh; do
-      $out/bin/skaffold completion $shell > skaffold.$shell
-      installShellCompletion skaffold.$shell
-    done
+    installShellCompletion --cmd skaffold \
+      --bash <($out/bin/skaffold completion bash) \
+      --zsh <($out/bin/skaffold completion zsh)
   '';
 
   meta = with lib; {
-    description = "Easy and Repeatable Kubernetes Development";
     homepage = "https://skaffold.dev/";
+    changelog = "https://github.com/GoogleContainerTools/skaffold/releases/tag/v${version}";
+    description = "Easy and Repeatable Kubernetes Development";
+    longDescription = ''
+      Skaffold is a command line tool that facilitates continuous development for Kubernetes applications.
+      You can iterate on your application source code locally then deploy to local or remote Kubernetes clusters.
+      Skaffold handles the workflow for building, pushing and deploying your application.
+      It also provides building blocks and describe customizations for a CI/CD pipeline.
+    '';
     license = licenses.asl20;
     maintainers = with maintainers; [ vdemeester ];
   };
diff --git a/pkgs/development/tools/skopeo/default.nix b/pkgs/development/tools/skopeo/default.nix
index 5b1d8b0794d80..02f2e49a30cf1 100644
--- a/pkgs/development/tools/skopeo/default.nix
+++ b/pkgs/development/tools/skopeo/default.nix
@@ -14,13 +14,13 @@
 
 buildGoModule rec {
   pname = "skopeo";
-  version = "1.2.1";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "containers";
     repo = "skopeo";
-    sha256 = "1y9pmijazbgxzriymrm7zrifmkd1x1wad9b3zjcj7zwr6c999dhg";
+    sha256 = "sha256-7FHfqDgc91BdtbvcElZDWj2jXD2LcMPo9RLnYZe3Xw8=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/development/tools/so/default.nix b/pkgs/development/tools/so/default.nix
index 99f9cdcd936ff..cd52f319bb94a 100644
--- a/pkgs/development/tools/so/default.nix
+++ b/pkgs/development/tools/so/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "so";
-  version = "0.4.2";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "samtay";
     repo = pname;
     rev = "v${version}";
-    sha256 = "09zswxxli9f5ayjwmvqhkp1yv2s4f435dcfp4cyia1zddbrh2zck";
+    sha256 = "sha256-WAUPB4hhvroE1/8nQcgLVWgGyXcFh7qxdFg6UtQzM9A=";
   };
 
-  cargoSha256 = "1ddbhy1plag4ckbmlyj47wnky7vgmfa68msl3hl25h1lwmzaf1aq";
+  cargoSha256 = "sha256-wt6ClN9fpEAETk3kYeQRieTXnZQe4JEnQiA8CG4ZLog=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [
diff --git a/pkgs/development/tools/sourcetrail/default.nix b/pkgs/development/tools/sourcetrail/default.nix
index 46f097e5b60a8..7b06e720caabb 100644
--- a/pkgs/development/tools/sourcetrail/default.nix
+++ b/pkgs/development/tools/sourcetrail/default.nix
@@ -1,15 +1,28 @@
-{ lib, stdenv, fetchFromGitHub, callPackage, writeScript, cmake, wrapQtAppsHook
-, boost, qt5, llvmPackages, gcc, jdk, pythonPackages, desktop-file-utils
-, shared-mime-info, imagemagick, which, coreutils, maven, fetchpatch }:
+{ lib, stdenv, fetchFromGitHub, callPackage, writeScript, fetchpatch, cmake
+, wrapQtAppsHook, qt5, boost, llvmPackages, gcc, jdk, maven, pythonPackages
+, coreutils, which, desktop-file-utils, shared-mime-info, imagemagick, libicns
+}:
 
 let
   # TODO: remove when version incompatibility issue with python3Packages.jedi is
   # resolved
-  parso = pythonPackages.callPackage ./parso.nix {};
+  parso = pythonPackages.callPackage ./parso.nix { };
   jedi = pythonPackages.callPackage ./jedi.nix { inherit parso; };
 
-  pythonIndexer = pythonPackages.callPackage ./python.nix { inherit jedi parso; };
-  javaIndexer = callPackage ./java.nix {};
+  pythonIndexer =
+    pythonPackages.callPackage ./python.nix { inherit jedi parso; };
+  javaIndexer = callPackage ./java.nix { };
+
+  appPrefixDir = if stdenv.isDarwin then
+    "$out/Applications/Sourcetrail.app/Contents"
+  else
+    "$out/opt/sourcetrail";
+  appBinDir =
+    if stdenv.isDarwin then "${appPrefixDir}/MacOS" else "${appPrefixDir}/bin";
+  appResourceDir = if stdenv.isDarwin then
+    "${appPrefixDir}/Resources"
+  else
+    "${appPrefixDir}/share";
 
   # Upstream script:
   # https://github.com/CoatiSoftware/Sourcetrail/blob/master/script/update_java_indexer.sh
@@ -17,7 +30,7 @@ let
     #!${stdenv.shell}
 
     cd "$(dirname "$0")/.."
-    dst="$out/opt/sourcetrail/share/data/java/lib"
+    dst="${appResourceDir}/data/java/lib"
 
     mkdir -p "$dst"
     cp "${javaIndexer}/target/java-indexer-1.0.jar" "$dst/java-indexer.jar"
@@ -29,12 +42,12 @@ let
   installPythonIndexer = writeScript "download_python_indexer.sh" ''
     #!${stdenv.shell}
 
-    mkdir -p $out/opt/sourcetrail/share/data
-    ln -s "${pythonIndexer}/bin" "$out/opt/sourcetrail/share/data/python"
+    mkdir -p ${appResourceDir}/data
+    ln -s "${pythonIndexer}/bin" "${appResourceDir}/data/python"
   '';
-in
-stdenv.mkDerivation rec {
+in stdenv.mkDerivation rec {
   pname = "sourcetrail";
+  # NOTE: skip 2020.4.35 https://github.com/CoatiSoftware/Sourcetrail/pull/1136
   version = "2020.2.43";
 
   src = fetchFromGitHub {
@@ -45,7 +58,8 @@ stdenv.mkDerivation rec {
   };
 
   patches = let
-    url = commit: "https://github.com/CoatiSoftware/Sourcetrail/commit/${commit}.patch";
+    url = commit:
+      "https://github.com/CoatiSoftware/Sourcetrail/commit/${commit}.patch";
   in [
     ./disable-updates.patch
     ./disable-failing-tests.patch # FIXME: 5 test cases failing due to sandbox
@@ -69,21 +83,22 @@ stdenv.mkDerivation rec {
     desktop-file-utils
     imagemagick
     javaIndexer # the resulting jar file is copied by our install script
-  ] ++ lib.optionals doCheck testBinPath;
-  buildInputs = [
-    boost pythonIndexer shared-mime-info
-  ] ++ (with qt5; [ qtbase qtsvg ])
-    ++ (with llvmPackages; [ libclang llvm ]);
+  ] ++ lib.optional (stdenv.isDarwin) libicns
+    ++ lib.optionals doCheck testBinPath;
+  buildInputs = [ boost pythonIndexer shared-mime-info ]
+    ++ (with qt5; [ qtbase qtsvg ]) ++ (with llvmPackages; [ libclang llvm ]);
   binPath = [ gcc jdk.jre maven which ];
   testBinPath = binPath ++ [ coreutils ];
 
   cmakeFlags = [
     "-DBoost_USE_STATIC_LIBS=OFF"
     "-DBUILD_CXX_LANGUAGE_PACKAGE=ON"
-    "-DCMAKE_PREFIX_PATH=${llvmPackages.clang-unwrapped}"
     "-DBUILD_JAVA_LANGUAGE_PACKAGE=ON"
     "-DBUILD_PYTHON_LANGUAGE_PACKAGE=ON"
-  ];
+  ] ++ lib.optional stdenv.isLinux
+    "-DCMAKE_PREFIX_PATH=${llvmPackages.clang-unwrapped}"
+    ++ lib.optional stdenv.isDarwin
+    "-DClang_DIR=${llvmPackages.clang-unwrapped}";
 
   postPatch = let
     major = lib.versions.major version;
@@ -112,6 +127,8 @@ stdenv.mkDerivation rec {
     ln -sf ${installPythonIndexer} script/download_python_indexer.sh
   '';
 
+  # Directory layout for Linux:
+  #
   # Sourcetrail doesn't use the usual cmake install() commands and instead uses
   # its own bash script for packaging. Since we're not able to reuse the script,
   # we'll have to roll our own in nixpkgs.
@@ -141,7 +158,7 @@ stdenv.mkDerivation rec {
   #
   # nixpkgs
   # ├── bin/
-  # │   └── sourcetrail* (wrapper for opt/sourcetrail/bin/sourcetrail)
+  # │   └── sourcetrail@ (symlink to opt/sourcetrail/bin/sourcetrail)
   # └── opt/sourcetrail/
   #     ├── bin/
   #     │   └── sourcetrail*
@@ -151,35 +168,76 @@ stdenv.mkDerivation rec {
   # Upstream install script:
   # https://github.com/CoatiSoftware/Sourcetrail/blob/master/setup/Linux/createPackages.sh
   installPhase = ''
-    mkdir -p $out/opt/sourcetrail/bin
-    cp app/Sourcetrail $out/opt/sourcetrail/bin/sourcetrail
-    cp app/sourcetrail_indexer $out/opt/sourcetrail/bin/sourcetrail_indexer
+    runHook preInstall
+
+    mkdir -p ${appResourceDir}
+    cp -R ../bin/app/data ${appResourceDir}
+    cp -R ../bin/app/user/projects ${appResourceDir}/data/fallback
+    rm -r ${appResourceDir}/data/install ${appResourceDir}/data/*_template.xml
+
+    mkdir -p "${appBinDir}"
+    cp app/Sourcetrail ${appBinDir}/sourcetrail
+    cp app/sourcetrail_indexer ${appBinDir}/sourcetrail_indexer
+    wrapQtApp ${appBinDir}/sourcetrail \
+      --prefix PATH : ${lib.makeBinPath binPath}
+
+    mkdir -p $out/bin
+  '' + lib.optionalString (stdenv.isLinux) ''
+    ln -sf ${appBinDir}/sourcetrail $out/bin/sourcetrail
 
     desktop-file-install --dir=$out/share/applications \
-      --set-key Exec --set-value $out/bin/sourcetrail \
+      --set-key Exec --set-value ${appBinDir}/sourcetrail \
       ../setup/Linux/data/sourcetrail.desktop
 
     mkdir -p $out/share/mime/packages
     cp ../setup/Linux/data/sourcetrail-mime.xml $out/share/mime/packages/
 
-    mkdir -p $out/opt/sourcetrail/share
-    cp -R ../bin/app/data $out/opt/sourcetrail/share
-    cp -R ../bin/app/user/projects $out/opt/sourcetrail/share/data/fallback
-    rm $out/opt/sourcetrail/share/data/*_template.xml
-    rm -r $out/opt/sourcetrail/share/data/install
-
     for size in 48 64 128 256 512; do
       mkdir -p $out/share/icons/hicolor/''${size}x''${size}/apps/
-      convert app/data/gui/icon/logo_1024_1024.png -resize ''${size}x''${size} \
+      convert ${appResourceDir}/data/gui/icon/logo_1024_1024.png \
+        -resize ''${size}x''${size} \
         $out/share/icons/hicolor/''${size}x''${size}/apps/sourcetrail.png
     done
+  '' + lib.optionalString (stdenv.isDarwin) ''
+    # change case (some people *might* choose a case sensitive Nix store)
+    mv ${appBinDir}/sourcetrail{,.tmp}
+    mv ${appBinDir}/{sourcetrail.tmp,Sourcetrail}
+    mv ${appBinDir}/sourcetrail_indexer ${appResourceDir}/Sourcetrail_indexer
 
-    mkdir -p $out/bin
-    makeQtWrapper $out/opt/sourcetrail/bin/sourcetrail $out/bin/sourcetrail \
-      --prefix PATH : ${lib.makeBinPath binPath}
+    ln -sf ${appBinDir}/Sourcetrail $out/bin/sourcetrail
+
+    cp app/bundle_info.plist ${appPrefixDir}/Info.plist
+
+    mkdir -p ${appResourceDir}/icon.iconset
+    for size in 16 32 128 256 512; do
+      convert ${appResourceDir}/data/gui/icon/logo_1024_1024.png \
+        -resize ''${size}x''${size} \
+        ${appResourceDir}/icon.iconset/icon_''${size}x''${size}.png
+      convert ${appResourceDir}/data/gui/icon/logo_1024_1024.png \
+        -resize $(( 2 * size ))x$(( 2 * size )) \
+        ${appResourceDir}/icon.iconset/icon_''${size}x''${size}@2x.png
+    done
+    png2icns ${appResourceDir}/icon.icns \
+      ${appResourceDir}/icon.iconset/icon_{16x16,32x32,128x128,256x256,512x512,512x512@2x}.png
+
+    mkdir -p ${appResourceDir}/project.iconset
+    for size in 16 32 64 128 256 512; do
+      convert ${appResourceDir}/data/gui/icon/project_256_256.png \
+        -resize ''${size}x''${size} \
+        ${appResourceDir}/project.iconset/icon_''${size}x''${size}.png
+      convert ${appResourceDir}/data/gui/icon/project_256_256.png \
+        -resize $(( 2 * size ))x$(( 2 * size )) \
+        ${appResourceDir}/project.iconset/icon_''${size}x''${size}@2x.png
+    done
+    png2icns ${appResourceDir}/project.icns \
+      ${appResourceDir}/project.iconset/icon_{16x16,32x32,128x128,256x256,512x512,512x512@2x}.png
+  '' + ''
+    runHook postInstall
   '';
 
   checkPhase = ''
+    runHook preCheck
+
     rm -rf ../bin/app/data/{python,java/lib}
     ln -s $out/opt/sourcetrail/share/data/python ../bin/app/data/python
     ln -s $out/opt/sourcetrail/share/data/java/lib ../bin/app/data/java/lib
@@ -194,20 +252,24 @@ stdenv.mkDerivation rec {
     popd
 
     rm ../bin/app/data/{python,java/lib}
+
+    runHook postCheck
   '';
 
   # This has to be done manually in the installPhase because the actual binary
   # lives in $out/opt/sourcetrail/bin, which isn't covered by wrapQtAppsHook
   dontWrapQtApps = true;
 
-  # FIXME: some test cases are disabled in the patch phase
-  doCheck = true;
+  # FIXME: Some test cases are disabled in the patch phase.
+  # FIXME: Tests are disabled on some platforms because of faulty detection
+  # logic for libjvm.so. Should work with manual configuration.
+  doCheck = !stdenv.isDarwin && stdenv.isx86_64;
 
   meta = with lib; {
     homepage = "https://www.sourcetrail.com";
     description = "A cross-platform source explorer for C/C++ and Java";
     platforms = platforms.all;
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ midchildan ];
   };
 }
diff --git a/pkgs/development/tools/sourcetrail/python.nix b/pkgs/development/tools/sourcetrail/python.nix
index 8ec9c9a2297f9..f9ea964632079 100644
--- a/pkgs/development/tools/sourcetrail/python.nix
+++ b/pkgs/development/tools/sourcetrail/python.nix
@@ -29,6 +29,10 @@ stdenv.mkDerivation rec {
     make -j $NIX_BUILD_CORES
     popd
     popd
+  '' + lib.optionalString stdenv.isDarwin ''
+    pushd SourcetrailDB/build/bindings_python
+    cp _sourcetraildb.dylib _sourcetraildb.so
+    popd
   '';
 
   checkPhase = ''
@@ -52,7 +56,7 @@ stdenv.mkDerivation rec {
 
     pushd SourcetrailDB/build/bindings_python
     cp sourcetraildb.py $out/libexec
-    cp _sourcetraildb* $out/libexec/_sourcetraildb.so
+    cp _sourcetraildb.so $out/libexec/_sourcetraildb.so
     popd
 
     wrapPythonProgramsIn "$out/libexec" "$pythonPath"
@@ -64,7 +68,5 @@ stdenv.mkDerivation rec {
     description = "Python indexer for Sourcetrail";
     homepage = "https://github.com/CoatiSoftware/SourcetrailPythonIndexer";
     license = licenses.gpl3;
-    broken = stdenv.isDarwin;
-    # https://github.com/NixOS/nixpkgs/pull/107533#issuecomment-751063675
   };
 }
diff --git a/pkgs/development/tools/spicy/default.nix b/pkgs/development/tools/spicy/default.nix
new file mode 100644
index 0000000000000..691a105941a91
--- /dev/null
+++ b/pkgs/development/tools/spicy/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "spicy";
+  version = "unstable-2020-02-21";
+
+  goPackagePath = "github.com/trhodeos/spicy";
+
+  src = fetchFromGitHub {
+    owner = "trhodeos";
+    repo = "spicy";
+    rev = "47409fb73e0b20b323c46cc06a3858d0a252a817";
+    sha256 = "022r8klmr21vaz5qd72ndrzj7pyqpfxc3jljz7nzsa50fjf82c3a";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with lib; {
+    description = "A Nintendo 64 segment assembler";
+    longDescription = ''
+      An open-source version of the Nintendo64 sdk's mild.exe. Assembles
+      segments into an n64-compatible rom.
+    '';
+    homepage = "https://github.com/trhodeos/spicy";
+    license = licenses.mit;
+    maintainers = [ maintainers._414owen];
+  };
+}
diff --git a/pkgs/development/tools/spicy/deps.nix b/pkgs/development/tools/spicy/deps.nix
new file mode 100644
index 0000000000000..9532b01decb4e
--- /dev/null
+++ b/pkgs/development/tools/spicy/deps.nix
@@ -0,0 +1,56 @@
+[
+  {
+    goPackagePath = "github.com/alecthomas/participle";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/participle.git";
+      rev = "fed0e8fbb638b11091014aa838748210dc9ff576";
+      sha256 = "0yhhm42lis8ak9m6x6aai280xq0652vcq5v17pibbf74dalxyims";
+    };
+  }
+  {
+    goPackagePath = "github.com/sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sirupsen/logrus.git";
+      rev = "f104497f2b2129ab888fd274891f3a278756bcde";
+      sha256 = "0gr2c7s3ffdaynzn1zplp79zz16qgqpnsq2z9zg79wxksq5mz5l1";
+    };
+  }
+  {
+    goPackagePath = "github.com/ogier/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ogier/pflag.git";
+      rev = "73e519546fc0bce0c395610afcf6aa4e5aec88eb";
+      sha256 = "114zpgl6l47gsz0sifpq62hi2i6k0ra9hi8wx7d39giablf9i4ii";
+    };
+  }
+  {
+    goPackagePath = "github.com/trhodeos/n64rom";
+    fetch = {
+      type = "git";
+      url = "https://github.com/trhodeos/n64rom.git";
+      rev = "504dba7b4d4675bd3396c052d64016c5725c2f5e";
+      sha256 = "01hybm8nxh1lym0wc9sxrms3wyqhhs0dm1a2nwz6xc60lkjcp8kb";
+    };
+  }
+  {
+    goPackagePath = "github.com/trhodeos/ecoff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/trhodeos/ecoff.git";
+      rev = "e54570a0fac23c0fa7f605681345611f345ce0f6";
+      sha256 = "0pc0yj7hy43m00br0q0f1y5a3bc3a134imcyy2jvzim45g6g12kj";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/sys";
+      rev = "9a76102bfb4322425a1228caa377974426e82c84";
+      sha256 = "07qn19yla2w604p3dc8h1c75xj2pxc4fajvg0mf0d4c72d5qiss4";
+    };
+  }
+]
diff --git a/pkgs/development/tools/sslmate/default.nix b/pkgs/development/tools/sslmate/default.nix
index cdf2242bdbaa2..ef04725e562f8 100644
--- a/pkgs/development/tools/sslmate/default.nix
+++ b/pkgs/development/tools/sslmate/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=$(out)" ];
 
-  buildInputs = [ perlPackages.perl makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ perlPackages.perl ];
 
   postInstall = ''
     wrapProgram $out/bin/sslmate --prefix PERL5LIB : \
diff --git a/pkgs/development/tools/sumneko-lua-language-server/default.nix b/pkgs/development/tools/sumneko-lua-language-server/default.nix
index d63493ba7a1e6..f962447feb738 100644
--- a/pkgs/development/tools/sumneko-lua-language-server/default.nix
+++ b/pkgs/development/tools/sumneko-lua-language-server/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sumneko-lua-language-server";
-  version = "1.11.2";
+  version = "1.16.0";
 
   src = fetchFromGitHub {
     owner = "sumneko";
     repo = "lua-language-server";
     rev = version;
-    sha256 = "1cnzwfqmzlzi6797l37arhhx2l6wsvs3jjgxdxwdbgq3rfz1ncr8";
+    sha256 = "1fqhvmz7a4qgz3zq6qgpcjhhhm2j4wpx0385n3zcphd9h9s3a9xa";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/tools/the-way/default.nix b/pkgs/development/tools/the-way/default.nix
index 1e88cfcdcc113..6d7fbef2f19b7 100644
--- a/pkgs/development/tools/the-way/default.nix
+++ b/pkgs/development/tools/the-way/default.nix
@@ -2,22 +2,22 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "the-way";
-  version = "0.12.1";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "out-of-cheese-error";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0lvkrfszmn594n9qkf518c38c0fwzm32y997wlf28l3hpj6yqddq";
+    sha256 = "sha256-OqJceRO1RFOLgNi3SbTKLw62tSfJSO7T2/u0RTX89AM=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
 
   buildInputs = lib.optionals stdenv.isDarwin  [ AppKit Security ];
 
-  cargoSha256 = "1aiyfsvmrqcmlw0z1944i9s5g3yxc39na5mf16pb9a4bhw8zcwjr";
+  cargoSha256 = "sha256-jTZso61Lyt6jprBxBAhvchgOsgM9y1qBleTxUx1jCnE=";
   checkFlagsArray = lib.optionals stdenv.isDarwin [ "--skip=copy" ];
-  cargoParallelTestThreads = false;
+  dontUseCargoParallelTests = true;
 
   postInstall = ''
     $out/bin/the-way config default tmp.toml
diff --git a/pkgs/development/tools/thrust/default.nix b/pkgs/development/tools/thrust/default.nix
index 44dfa1a4ba11c..02183282ce163 100644
--- a/pkgs/development/tools/thrust/default.nix
+++ b/pkgs/development/tools/thrust/default.nix
@@ -22,7 +22,8 @@ in stdenv.mkDerivation rec {
     sha256 = "07rrnlj0gk500pvar4b1wdqm05p4n9yjwn911x93bd2qwc8r5ymc";
   };
 
-  buildInputs = [ thrustEnv makeWrapper unzip ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ thrustEnv unzip ];
 
   phases = [ "installPhase" "fixupPhase" ];
 
diff --git a/pkgs/development/tools/tracy/default.nix b/pkgs/development/tools/tracy/default.nix
index 23d7f29dff1ca..4f0fad54c1b62 100644
--- a/pkgs/development/tools/tracy/default.nix
+++ b/pkgs/development/tools/tracy/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tracy";
-  version = "0.7.5";
+  version = "0.7.6";
 
   src = fetchFromGitHub {
     owner = "wolfpld";
     repo = "tracy";
     rev = "v${version}";
-    sha256 = "0qfb30k6a8vi8vn65vv927wd9nynwwvc9crbmi7a55kp20hzg06r";
+    sha256 = "sha256-Fk/Kuc7DwmdoyLx/YjdEHQ7S0M+ksAXl9QqeSPH2vJ8=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/tools/trellis/default.nix b/pkgs/development/tools/trellis/default.nix
index 6ce1ad9a38aa8..8f9acd6c140c3 100644
--- a/pkgs/development/tools/trellis/default.nix
+++ b/pkgs/development/tools/trellis/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   srcs = [
     (fetchFromGitHub {
-       owner  = "SymbiFlow";
+       owner  = "YosysHQ";
        repo   = "prjtrellis";
        rev    = "60c05b3f4e71fd78d4fba5c31f9974694245199e";
        sha256 = "1k37mxwxv9fpm6xnrxlqqap7zqh2dvgqncphj3asi2rz0kh07ppf";
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
      })
 
     (fetchFromGitHub {
-      owner  = "SymbiFlow";
+      owner  = "YosysHQ";
       repo   = "prjtrellis-db";
       rev    = "2cf058e7a3ba36134d21e34823e9b2ecaaceac2c";
       sha256 = "1hjaw5jkwiaiznm2z0smy88m2cdz63cd51z4nibajfih7ikvkj6g";
diff --git a/pkgs/development/tools/vultr-cli/default.nix b/pkgs/development/tools/vultr-cli/default.nix
index 505023f3fddcd..c36a13bd97f7a 100644
--- a/pkgs/development/tools/vultr-cli/default.nix
+++ b/pkgs/development/tools/vultr-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "vultr-cli";
-  version = "2.0.1";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "vultr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "14cl0rgkk2kw0qyanlm57nbcrnsnnx02ikd6b1mrsviamb6r1lz6";
+    sha256 = "sha256-FXOwLYxUMkE+wDY30vjnSZ7zPWZWuWmIH4Uuc0CC7lU=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/development/tools/wasm-pack/default.nix b/pkgs/development/tools/wasm-pack/default.nix
index 94ee6d3a1bac6..9c6d3ed8cb896 100644
--- a/pkgs/development/tools/wasm-pack/default.nix
+++ b/pkgs/development/tools/wasm-pack/default.nix
@@ -18,7 +18,11 @@ rustPlatform.buildRustPackage rec {
     sha256 = "1rqyfg6ajxxyfx87ar25nf5ck9hd0p12qgv98dicniqag8l4rvsr";
   };
 
-  cargoSha256 = "0fw04hgxxqsbp1pylp32yd087r9bb8bpa05v90qdshkgp6znfl9s";
+  cargoPatches = [
+    ./update-deps.patch
+  ];
+
+  cargoSha256 = "0br7r8wz3knzgl3gjpq6z8w33my0yiaq711s1wih9jizhia02y5r";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/wasm-pack/update-deps.patch b/pkgs/development/tools/wasm-pack/update-deps.patch
new file mode 100644
index 0000000000000..d61067438eebd
--- /dev/null
+++ b/pkgs/development/tools/wasm-pack/update-deps.patch
@@ -0,0 +1,3625 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index 9737a15..229ec35 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1,2439 +1,2574 @@
+ # This file is automatically @generated by Cargo.
+ # It is not intended for manual editing.
++[[package]]
++name = "addr2line"
++version = "0.14.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a55f82cfe485775d02112886f4169bde0c5894d75e79ead7eafe7e40a25e45f7"
++dependencies = [
++ "gimli",
++]
++
++[[package]]
++name = "adler"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ee2a4ec343196209d6594e19543ae87a39f96d5534d7174822a3ad825dd6ed7e"
++
+ [[package]]
+ name = "adler32"
+-version = "1.0.4"
++version = "1.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"
+ 
+ [[package]]
+ name = "aho-corasick"
+-version = "0.7.7"
++version = "0.7.15"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5"
+ dependencies = [
+- "memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr",
+ ]
+ 
+ [[package]]
+ name = "ansi_term"
+ version = "0.11.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
+ dependencies = [
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "arrayref"
+ version = "0.3.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544"
+ 
+ [[package]]
+ name = "arrayvec"
+-version = "0.5.1"
++version = "0.5.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
+ 
+ [[package]]
+ name = "assert_cmd"
+ version = "0.11.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2dc477793bd82ec39799b6f6b3df64938532fdf2ab0d49ef817eac65856a5a1e"
+ dependencies = [
+- "escargot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "predicates 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "predicates-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "predicates-tree 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "escargot",
++ "predicates",
++ "predicates-core",
++ "predicates-tree",
+ ]
+ 
+ [[package]]
+ name = "atty"
+ version = "0.2.14"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+ dependencies = [
+- "hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hermit-abi",
++ "libc",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "autocfg"
+ version = "0.1.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
+ 
+ [[package]]
+ name = "autocfg"
+-version = "1.0.0"
++version = "1.0.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
+ 
+ [[package]]
+ name = "backtrace"
+-version = "0.3.43"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-dependencies = [
+- "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
+-]
+-
+-[[package]]
+-name = "backtrace-sys"
+-version = "0.1.32"
++version = "0.3.56"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9d117600f438b1707d4e4ae15d3595657288f8235a0eb593e80ecc98ab34e1bc"
+ dependencies = [
+- "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "addr2line",
++ "cfg-if 1.0.0",
++ "libc",
++ "miniz_oxide 0.4.3",
++ "object",
++ "rustc-demangle",
+ ]
+ 
+ [[package]]
+ name = "base64"
+ version = "0.10.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
+ dependencies = [
+- "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder",
+ ]
+ 
+ [[package]]
+ name = "base64"
+-version = "0.11.0"
++version = "0.13.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
+ 
+ [[package]]
+ name = "binary-install"
+ version = "0.0.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7b5bc5f8c50dd6a80d0b303ddab79f42ddcb52fd43d68107ecf622c551fd4cd4"
+ dependencies = [
+- "curl 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "flate2 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
+- "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "is_executable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tar 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)",
+- "zip 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "curl",
++ "dirs",
++ "failure",
++ "flate2",
++ "hex",
++ "is_executable",
++ "siphasher",
++ "tar",
++ "zip",
+ ]
+ 
+ [[package]]
+ name = "bitflags"
+ version = "1.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
+ 
+ [[package]]
+ name = "blake2b_simd"
+-version = "0.5.10"
++version = "0.5.11"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587"
+ dependencies = [
+- "arrayref 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "arrayref",
++ "arrayvec",
++ "constant_time_eq",
+ ]
+ 
+ [[package]]
+ name = "byteorder"
+-version = "1.3.2"
++version = "1.4.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ae44d1a3d5a19df61dd0c8beb138458ac2a53a7ac09eba97d55592540004306b"
+ 
+ [[package]]
+ name = "bytes"
+ version = "0.4.12"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
+ dependencies = [
+- "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder",
++ "either",
++ "iovec",
+ ]
+ 
+ [[package]]
+ name = "bzip2"
+ version = "0.3.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "42b7c3cbf0fa9c1b82308d57191728ca0256cb821220f4e2fd410a72ade26e3b"
+ dependencies = [
+- "bzip2-sys 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bzip2-sys",
++ "libc",
+ ]
+ 
+ [[package]]
+ name = "bzip2-sys"
+-version = "0.1.7"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-dependencies = [
+- "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+-]
+-
+-[[package]]
+-name = "c2-chacha"
+-version = "0.2.3"
++version = "0.1.10+1.0.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "17fa3d1ac1ca21c5c4e36a97f3c3eb25084576f6fc47bf0139c1123434216c6c"
+ dependencies = [
+- "ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc",
++ "libc",
++ "pkg-config",
+ ]
+ 
+ [[package]]
+ name = "cargo_metadata"
+ version = "0.8.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "700b3731fd7d357223d0000f4dbf1808401b694609035c3c411fbc0cd375c426"
+ dependencies = [
+- "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_json 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
++ "semver",
++ "serde",
++ "serde_derive",
++ "serde_json",
+ ]
+ 
+ [[package]]
+ name = "cc"
+-version = "1.0.50"
++version = "1.0.67"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd"
+ 
+ [[package]]
+ name = "cfg-if"
+ version = "0.1.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
+ 
+ [[package]]
+-name = "chrono"
+-version = "0.4.10"
++name = "cfg-if"
++version = "1.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-dependencies = [
+- "num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
+- "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
+-]
++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+ 
+ [[package]]
+-name = "clap"
+-version = "2.33.0"
++name = "chrono"
++version = "0.4.19"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73"
+ dependencies = [
+- "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "num-integer",
++ "num-traits",
++ "time",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+-name = "clicolors-control"
+-version = "0.2.0"
++name = "clap"
++version = "2.33.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002"
+ dependencies = [
+- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ansi_term",
++ "atty",
++ "bitflags",
++ "strsim",
++ "textwrap",
++ "unicode-width",
++ "vec_map",
+ ]
+ 
+ [[package]]
+ name = "clicolors-control"
+-version = "1.0.1"
++version = "0.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1f84dec9bc083ce2503908cd305af98bd363da6f54bf8d4bf0ac14ee749ad5d1"
+ dependencies = [
+- "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "kernel32-sys",
++ "lazy_static 0.2.11",
++ "libc",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "cloudabi"
+ version = "0.0.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
+ dependencies = [
+- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags",
+ ]
+ 
+ [[package]]
+ name = "console"
+ version = "0.6.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ecd48adf136733979b49e15bc3b4c43cc0d3c85ece7bd08e6daa414c6fcb13e6"
+ dependencies = [
+- "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
+- "clicolors-control 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "parking_lot 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "regex 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "atty",
++ "clicolors-control",
++ "lazy_static 1.4.0",
++ "libc",
++ "parking_lot 0.11.1",
++ "regex",
++ "termios",
++ "unicode-width",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "console"
+-version = "0.9.2"
++version = "0.14.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7cc80946b3480f421c2f17ed1cb841753a371c7c5104f51d507e13f532c856aa"
+ dependencies = [
+- "clicolors-control 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "encode_unicode 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "regex 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "encode_unicode",
++ "lazy_static 1.4.0",
++ "libc",
++ "regex",
++ "terminal_size",
++ "unicode-width",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "constant_time_eq"
+ version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
+ 
+ [[package]]
+ name = "cookie"
+ version = "0.12.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "888604f00b3db336d2af898ec3c1d5d0ddf5e6d462220f2ededc33a87ac4bbd5"
+ dependencies = [
+- "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
+- "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "time",
++ "url 1.7.2",
+ ]
+ 
+ [[package]]
+ name = "cookie_store"
+ version = "0.7.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "46750b3f362965f197996c4448e4a0935e791bf7d6631bfce9ee0af3d24c919c"
+ dependencies = [
+- "cookie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "publicsuffix 1.5.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_json 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
+- "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
+- "try_from 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cookie",
++ "failure",
++ "idna 0.1.5",
++ "log",
++ "publicsuffix",
++ "serde",
++ "serde_json",
++ "time",
++ "try_from",
++ "url 1.7.2",
+ ]
+ 
+ [[package]]
+ name = "core-foundation"
+-version = "0.6.4"
++version = "0.9.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62"
+ dependencies = [
+- "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "core-foundation-sys",
++ "libc",
+ ]
+ 
+ [[package]]
+ name = "core-foundation-sys"
+-version = "0.6.2"
++version = "0.8.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b"
+ 
+ [[package]]
+ name = "crc32fast"
+-version = "1.2.0"
++version = "1.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 1.0.0",
+ ]
+ 
+ [[package]]
+ name = "crossbeam-deque"
+-version = "0.7.2"
++version = "0.7.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285"
+ dependencies = [
+- "crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-epoch",
++ "crossbeam-utils 0.7.2",
++ "maybe-uninit",
+ ]
+ 
+ [[package]]
+ name = "crossbeam-epoch"
+-version = "0.8.0"
++version = "0.8.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace"
+ dependencies = [
+- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 1.0.1",
++ "cfg-if 0.1.10",
++ "crossbeam-utils 0.7.2",
++ "lazy_static 1.4.0",
++ "maybe-uninit",
++ "memoffset",
++ "scopeguard 1.1.0",
+ ]
+ 
+ [[package]]
+ name = "crossbeam-queue"
+-version = "0.1.2"
++version = "0.2.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570"
+ dependencies = [
+- "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10",
++ "crossbeam-utils 0.7.2",
++ "maybe-uninit",
+ ]
+ 
+ [[package]]
+ name = "crossbeam-utils"
+-version = "0.6.6"
++version = "0.7.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 1.0.1",
++ "cfg-if 0.1.10",
++ "lazy_static 1.4.0",
+ ]
+ 
+ [[package]]
+ name = "crossbeam-utils"
+-version = "0.7.0"
++version = "0.8.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bae8f328835f8f5a6ceb6a7842a7f2d0c03692adb5c889347235d59194731fe3"
+ dependencies = [
+- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 1.0.1",
++ "cfg-if 1.0.0",
++ "lazy_static 1.4.0",
++ "loom",
+ ]
+ 
+ [[package]]
+ name = "curl"
+-version = "0.4.25"
++version = "0.4.34"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e268162af1a5fe89917ae25ba3b0a77c8da752bdc58e7dbb4f15b91fbd33756e"
+ dependencies = [
+- "curl-sys 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "openssl-sys 0.9.54 (registry+https://github.com/rust-lang/crates.io-index)",
+- "schannel 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
+- "socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "curl-sys",
++ "libc",
++ "openssl-probe",
++ "openssl-sys",
++ "schannel",
++ "socket2",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "curl-sys"
+-version = "0.4.25"
++version = "0.4.40+curl-7.75.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2ffafc1c35958318bd7fdd0582995ce4c72f4f461a8e70499ccee83a619fd562"
+ dependencies = [
+- "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "openssl-sys 0.9.54 (registry+https://github.com/rust-lang/crates.io-index)",
+- "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
+- "vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc",
++ "libc",
++ "libz-sys",
++ "openssl-sys",
++ "pkg-config",
++ "vcpkg",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "dialoguer"
+ version = "0.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1ad1c29a0368928e78c551354dbff79f103a962ad820519724ef0d74f1c62fa9"
+ dependencies = [
+- "console 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tempfile 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "console 0.14.0",
++ "lazy_static 1.4.0",
++ "tempfile 2.2.0",
+ ]
+ 
+ [[package]]
+ name = "difference"
+ version = "2.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
+ 
+ [[package]]
+ name = "dirs"
+ version = "1.0.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
+ dependencies = [
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_users 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "redox_users",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "dtoa"
+-version = "0.4.5"
++version = "0.4.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "88d7ed2934d741c6b37e33e3832298e8850b53fd2d2bea03873375596c7cea4e"
+ 
+ [[package]]
+ name = "either"
+-version = "1.5.3"
++version = "1.6.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
+ 
+ [[package]]
+ name = "encode_unicode"
+ version = "0.3.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
+ 
+ [[package]]
+ name = "encoding_rs"
+-version = "0.8.22"
++version = "0.8.28"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "80df024fbc5ac80f87dfef0d9f5209a252f2a497f7f42944cff24d8253cac065"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 1.0.0",
+ ]
+ 
+ [[package]]
+ name = "env_logger"
+ version = "0.5.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "15b0a4d2e39f8420210be8b27eeda28029729e2fd4291019455016c348240c38"
+ dependencies = [
+- "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
+- "humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "termcolor 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "atty",
++ "humantime",
++ "log",
++ "termcolor",
+ ]
+ 
+ [[package]]
+ name = "error-chain"
+-version = "0.12.1"
++version = "0.12.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc"
+ dependencies = [
+- "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "version_check",
+ ]
+ 
+ [[package]]
+ name = "escargot"
+ version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ceb9adbf9874d5d028b5e4c5739d22b71988252b25c9c98fe7cf9738bee84597"
+ dependencies = [
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_json 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0",
++ "log",
++ "serde",
++ "serde_json",
+ ]
+ 
+ [[package]]
+ name = "failure"
+-version = "0.1.6"
++version = "0.1.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86"
+ dependencies = [
+- "backtrace 0.3.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "backtrace",
++ "failure_derive",
+ ]
+ 
+ [[package]]
+ name = "failure_derive"
+-version = "0.1.6"
++version = "0.1.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4"
+ dependencies = [
+- "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)",
+- "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.24",
++ "quote 1.0.9",
++ "syn 1.0.60",
++ "synstructure",
+ ]
+ 
+ [[package]]
+ name = "filetime"
+-version = "0.2.8"
++version = "0.2.14"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1d34cfa13a63ae058bfa601fe9e313bbdb3746427c1459185464ce0fcf62e1e8"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 1.0.0",
++ "libc",
++ "redox_syscall 0.2.5",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "flate2"
+-version = "1.0.13"
++version = "1.0.14"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2cfff41391129e0a856d6d822600b8d71179d46879e310417eb9c762eb178b42"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "miniz_oxide 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10",
++ "crc32fast",
++ "libc",
++ "miniz_oxide 0.3.7",
+ ]
+ 
+ [[package]]
+ name = "float-cmp"
+-version = "0.5.3"
++version = "0.8.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e1267f4ac4f343772758f7b1bdcbe767c218bbab93bb432acbf5162bbf85a6c4"
+ dependencies = [
+- "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits",
+ ]
+ 
+ [[package]]
+ name = "fnv"
+-version = "1.0.6"
++version = "1.0.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+ 
+ [[package]]
+ name = "foreign-types"
+ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
+ dependencies = [
+- "foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "foreign-types-shared",
+ ]
+ 
+ [[package]]
+ name = "foreign-types-shared"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
++
++[[package]]
++name = "form_urlencoded"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
++dependencies = [
++ "matches",
++ "percent-encoding 2.1.0",
++]
+ 
+ [[package]]
+ name = "fuchsia-cprng"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
+ 
+ [[package]]
+ name = "fuchsia-zircon"
+ version = "0.3.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
+ dependencies = [
+- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags",
++ "fuchsia-zircon-sys",
+ ]
+ 
+ [[package]]
+ name = "fuchsia-zircon-sys"
+ version = "0.3.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
+ 
+ [[package]]
+ name = "futures"
+-version = "0.1.29"
++version = "0.1.30"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4c7e4c2612746b0df8fed4ce0c69156021b704c9aefa360311c04e6e9e002eed"
+ 
+ [[package]]
+ name = "futures-cpupool"
+ version = "0.1.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4"
+ dependencies = [
+- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures",
++ "num_cpus",
++]
++
++[[package]]
++name = "generator"
++version = "0.6.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a9fed24fd1e18827652b4d55652899a1e9da8e54d91624dc3437a5bc3a9f9a9c"
++dependencies = [
++ "cc",
++ "libc",
++ "log",
++ "rustversion",
++ "winapi 0.3.9",
++]
++
++[[package]]
++name = "getrandom"
++version = "0.1.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
++dependencies = [
++ "cfg-if 1.0.0",
++ "libc",
++ "wasi 0.9.0+wasi-snapshot-preview1",
+ ]
+ 
+ [[package]]
+ name = "getrandom"
+-version = "0.1.14"
++version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 1.0.0",
++ "libc",
++ "wasi 0.10.2+wasi-snapshot-preview1",
+ ]
+ 
++[[package]]
++name = "gimli"
++version = "0.23.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f6503fe142514ca4799d4c26297c4248239fe8838d827db6bd6065c6ed29a6ce"
++
+ [[package]]
+ name = "glob"
+ version = "0.2.11"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb"
+ 
+ [[package]]
+ name = "h2"
+ version = "0.1.26"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462"
+ dependencies = [
+- "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+- "http 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
+- "indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "string 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder",
++ "bytes",
++ "fnv",
++ "futures",
++ "http",
++ "indexmap",
++ "log",
++ "slab",
++ "string",
++ "tokio-io",
+ ]
+ 
++[[package]]
++name = "hashbrown"
++version = "0.9.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04"
++
+ [[package]]
+ name = "heck"
+-version = "0.3.1"
++version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "87cbf45460356b7deeb5e3415b5563308c0a9b057c85e12b06ad551f98d0a6ac"
+ dependencies = [
+- "unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-segmentation",
+ ]
+ 
+ [[package]]
+ name = "hermit-abi"
+-version = "0.1.6"
++version = "0.1.18"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c"
+ dependencies = [
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
+ ]
+ 
+ [[package]]
+ name = "hex"
+ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
+ 
+ [[package]]
+ name = "http"
+ version = "0.1.21"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d6ccf5ede3a895d8856620237b2f02972c1bbc78d2965ad7fe8838d4a0ed41f0"
+ dependencies = [
+- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes",
++ "fnv",
++ "itoa",
+ ]
+ 
+ [[package]]
+ name = "http-body"
+ version = "0.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6741c859c1b2463a423a1dbce98d418e6c3c3fc720fb0d45528657320920292d"
+ dependencies = [
+- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+- "http 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-buf 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes",
++ "futures",
++ "http",
++ "tokio-buf",
+ ]
+ 
+ [[package]]
+ name = "httparse"
+-version = "1.3.4"
++version = "1.3.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "615caabe2c3160b313d52ccc905335f4ed5f10881dd63dc5699d47e90be85691"
+ 
+ [[package]]
+ name = "human-panic"
+-version = "1.0.1"
++version = "1.0.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "39f357a500abcbd7c5f967c1d45c8838585b36743823b9d43488f24850534e36"
+ dependencies = [
+- "backtrace 0.3.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "os_type 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "termcolor 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "uuid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "backtrace",
++ "os_type",
++ "serde",
++ "serde_derive",
++ "termcolor",
++ "toml 0.5.8",
++ "uuid 0.8.2",
+ ]
+ 
+ [[package]]
+ name = "humantime"
+ version = "1.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
+ dependencies = [
+- "quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quick-error",
+ ]
+ 
+ [[package]]
+ name = "hyper"
+-version = "0.12.35"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-dependencies = [
+- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "h2 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
+- "http 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
+- "http-body 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-buf 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-reactor 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-threadpool 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-timer 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "want 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++version = "0.12.36"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5c843caf6296fc1f93444735205af9ed4e109a539005abb2564ae1d6fad34c52"
++dependencies = [
++ "bytes",
++ "futures",
++ "futures-cpupool",
++ "h2",
++ "http",
++ "http-body",
++ "httparse",
++ "iovec",
++ "itoa",
++ "log",
++ "net2",
++ "rustc_version",
++ "time",
++ "tokio",
++ "tokio-buf",
++ "tokio-executor",
++ "tokio-io",
++ "tokio-reactor",
++ "tokio-tcp",
++ "tokio-threadpool",
++ "tokio-timer",
++ "want",
+ ]
+ 
+ [[package]]
+ name = "hyper-tls"
+ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3a800d6aa50af4b5850b2b0f659625ce9504df908e9733b635720483be26174f"
+ dependencies = [
+- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+- "hyper 0.12.35 (registry+https://github.com/rust-lang/crates.io-index)",
+- "native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes",
++ "futures",
++ "hyper",
++ "native-tls",
++ "tokio-io",
+ ]
+ 
+ [[package]]
+ name = "idna"
+ version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
+ dependencies = [
+- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-normalization 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "matches",
++ "unicode-bidi",
++ "unicode-normalization",
+ ]
+ 
+ [[package]]
+ name = "idna"
+-version = "0.2.0"
++version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "89829a5d69c23d348314a7ac337fe39173b61149a9864deabd260983aed48c21"
+ dependencies = [
+- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-normalization 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "matches",
++ "unicode-bidi",
++ "unicode-normalization",
+ ]
+ 
+ [[package]]
+ name = "indexmap"
+-version = "1.3.1"
++version = "1.6.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4fb1fa934250de4de8aef298d81c729a7d33d8c239daa3a7575e6b92bfc7313b"
++dependencies = [
++ "autocfg 1.0.1",
++ "hashbrown",
++]
++
++[[package]]
++name = "instant"
++version = "0.1.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec"
+ dependencies = [
+- "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 1.0.0",
+ ]
+ 
+ [[package]]
+ name = "iovec"
+ version = "0.1.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
+ dependencies = [
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
+ ]
+ 
+ [[package]]
+ name = "is_executable"
+ version = "0.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "302d553b8abc8187beb7d663e34c065ac4570b273bc9511a50e940e99409c577"
+ dependencies = [
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "itoa"
+-version = "0.4.5"
++version = "0.4.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
+ 
+ [[package]]
+ name = "kernel32-sys"
+ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
+ dependencies = [
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.2.8",
++ "winapi-build",
+ ]
+ 
+ [[package]]
+ name = "lazy_static"
+ version = "0.2.11"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73"
+ 
+ [[package]]
+ name = "lazy_static"
+ version = "1.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+ 
+ [[package]]
+ name = "libc"
+-version = "0.2.66"
++version = "0.2.86"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
+ 
+ [[package]]
+ name = "libz-sys"
+-version = "1.0.25"
++version = "1.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "602113192b08db8f38796c4e85c39e960c145965140e918018bcde1952429655"
+ dependencies = [
+- "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
+- "vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc",
++ "libc",
++ "pkg-config",
++ "vcpkg",
+ ]
+ 
+ [[package]]
+ name = "lock_api"
+ version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c"
+ dependencies = [
+- "owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "owning_ref",
++ "scopeguard 0.3.3",
+ ]
+ 
+ [[package]]
+ name = "lock_api"
+-version = "0.3.3"
++version = "0.3.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75"
+ dependencies = [
+- "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "scopeguard 1.1.0",
++]
++
++[[package]]
++name = "lock_api"
++version = "0.4.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dd96ffd135b2fd7b973ac026d28085defbe8983df057ced3eb4f2130b0831312"
++dependencies = [
++ "scopeguard 1.1.0",
+ ]
+ 
+ [[package]]
+ name = "log"
+-version = "0.4.8"
++version = "0.4.14"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
++dependencies = [
++ "cfg-if 1.0.0",
++]
++
++[[package]]
++name = "loom"
++version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d44c73b4636e497b4917eb21c33539efa3816741a2d3ff26c6316f1b529481a4"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 1.0.0",
++ "generator",
++ "scoped-tls",
+ ]
+ 
+ [[package]]
+ name = "matches"
+ version = "0.1.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
+ 
+ [[package]]
+ name = "maybe-uninit"
+ version = "2.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
+ 
+ [[package]]
+ name = "memchr"
+-version = "2.3.0"
++version = "2.3.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
+ 
+ [[package]]
+ name = "memoffset"
+-version = "0.5.3"
++version = "0.5.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa"
+ dependencies = [
+- "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 1.0.1",
+ ]
+ 
+ [[package]]
+ name = "mime"
+ version = "0.3.16"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
+ 
+ [[package]]
+ name = "mime_guess"
+-version = "2.0.1"
++version = "2.0.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212"
+ dependencies = [
+- "mime 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicase 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mime",
++ "unicase",
+ ]
+ 
+ [[package]]
+ name = "miniz_oxide"
+-version = "0.3.5"
++version = "0.3.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435"
+ dependencies = [
+- "adler32 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "adler32",
++]
++
++[[package]]
++name = "miniz_oxide"
++version = "0.4.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0f2d26ec3309788e423cfbf68ad1800f061638098d76a83681af979dc4eda19d"
++dependencies = [
++ "adler",
++ "autocfg 1.0.1",
+ ]
+ 
+ [[package]]
+ name = "mio"
+-version = "0.6.21"
++version = "0.6.23"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
+- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10",
++ "fuchsia-zircon",
++ "fuchsia-zircon-sys",
++ "iovec",
++ "kernel32-sys",
++ "libc",
++ "log",
++ "miow",
++ "net2",
++ "slab",
++ "winapi 0.2.8",
+ ]
+ 
+ [[package]]
+ name = "miow"
+-version = "0.2.1"
++version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d"
+ dependencies = [
+- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "kernel32-sys",
++ "net2",
++ "winapi 0.2.8",
++ "ws2_32-sys",
+ ]
+ 
+ [[package]]
+ name = "native-tls"
+-version = "0.2.3"
++version = "0.2.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b8d96b2e1c8da3957d58100b09f102c6d9cfdfced01b7ec5a8974044bb09dbd4"
+ dependencies = [
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "openssl 0.10.27 (registry+https://github.com/rust-lang/crates.io-index)",
+- "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "openssl-sys 0.9.54 (registry+https://github.com/rust-lang/crates.io-index)",
+- "schannel 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
+- "security-framework 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "security-framework-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0",
++ "libc",
++ "log",
++ "openssl",
++ "openssl-probe",
++ "openssl-sys",
++ "schannel",
++ "security-framework",
++ "security-framework-sys",
++ "tempfile 3.2.0",
+ ]
+ 
+ [[package]]
+ name = "net2"
+-version = "0.2.33"
++version = "0.2.37"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10",
++ "libc",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "normalize-line-endings"
+-version = "0.2.2"
++version = "0.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be"
+ 
+ [[package]]
+ name = "num-integer"
+-version = "0.1.42"
++version = "0.1.44"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"
+ dependencies = [
+- "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 1.0.1",
++ "num-traits",
+ ]
+ 
+ [[package]]
+ name = "num-traits"
+-version = "0.2.11"
++version = "0.2.14"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
+ dependencies = [
+- "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 1.0.1",
+ ]
+ 
+ [[package]]
+ name = "num_cpus"
+-version = "1.12.0"
++version = "1.13.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
+ dependencies = [
+- "hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hermit-abi",
++ "libc",
+ ]
+ 
++[[package]]
++name = "object"
++version = "0.23.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a9a7ab5d64814df0fe4a4b5ead45ed6c5f181ee3ff04ba344313a6c80446c5d4"
++
++[[package]]
++name = "once_cell"
++version = "1.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4ad167a2f54e832b82dbe003a046280dceffe5227b5f79e08e363a29638cfddd"
++
+ [[package]]
+ name = "openssl"
+-version = "0.10.27"
++version = "0.10.32"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "038d43985d1ddca7a9900630d8cd031b56e4794eecc2e9ea39dd17aa04399a70"
+ dependencies = [
+- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "openssl-sys 0.9.54 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags",
++ "cfg-if 1.0.0",
++ "foreign-types",
++ "lazy_static 1.4.0",
++ "libc",
++ "openssl-sys",
+ ]
+ 
+ [[package]]
+ name = "openssl-probe"
+ version = "0.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
+ 
+ [[package]]
+ name = "openssl-src"
+-version = "111.6.1+1.1.1d"
++version = "111.14.0+1.1.1j"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "055b569b5bd7e5462a1700f595c7c7d487691d73b5ce064176af7f9f0cbb80a9"
+ dependencies = [
+- "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc",
+ ]
+ 
+ [[package]]
+ name = "openssl-sys"
+-version = "0.9.54"
++version = "0.9.60"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "921fc71883267538946025deffb622905ecad223c28efbfdef9bb59a0175f3e6"
+ dependencies = [
+- "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "openssl-src 111.6.1+1.1.1d (registry+https://github.com/rust-lang/crates.io-index)",
+- "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
+- "vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 1.0.1",
++ "cc",
++ "libc",
++ "openssl-src",
++ "pkg-config",
++ "vcpkg",
+ ]
+ 
+ [[package]]
+ name = "os_type"
+ version = "2.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7edc011af0ae98b7f88cf7e4a83b70a54a75d2b8cb013d6efd02e5956207e9eb"
+ dependencies = [
+- "regex 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex",
+ ]
+ 
+ [[package]]
+ name = "owning_ref"
+-version = "0.4.0"
++version = "0.4.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6ff55baddef9e4ad00f88b6c743a2a8062d4c6ade126c2a528644b8e444d52ce"
+ dependencies = [
+- "stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "stable_deref_trait",
+ ]
+ 
+ [[package]]
+ name = "parking_lot"
+ version = "0.6.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f0802bff09003b291ba756dc7e79313e51cc31667e94afbe847def490424cde5"
+ dependencies = [
+- "lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "parking_lot_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lock_api 0.1.5",
++ "parking_lot_core 0.3.1",
+ ]
+ 
+ [[package]]
+ name = "parking_lot"
+ version = "0.9.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252"
+ dependencies = [
+- "lock_api 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lock_api 0.3.4",
++ "parking_lot_core 0.6.2",
++ "rustc_version",
+ ]
+ 
+ [[package]]
+ name = "parking_lot"
+-version = "0.10.0"
++version = "0.11.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb"
+ dependencies = [
+- "lock_api 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "parking_lot_core 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "instant",
++ "lock_api 0.4.2",
++ "parking_lot_core 0.8.3",
+ ]
+ 
+ [[package]]
+ name = "parking_lot_core"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ad7f7e6ebdc79edff6fdcb87a55b620174f7a989e3eb31b65231f4af57f00b8c"
+ dependencies = [
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "rand 0.5.6",
++ "rustc_version",
++ "smallvec 0.6.14",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "parking_lot_core"
+ version = "0.6.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10",
++ "cloudabi",
++ "libc",
++ "redox_syscall 0.1.57",
++ "rustc_version",
++ "smallvec 0.6.14",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "parking_lot_core"
+-version = "0.7.0"
++version = "0.8.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
+- "smallvec 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 1.0.0",
++ "instant",
++ "libc",
++ "redox_syscall 0.2.5",
++ "smallvec 1.6.1",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "percent-encoding"
+ version = "1.0.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
+ 
+ [[package]]
+ name = "percent-encoding"
+ version = "2.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
+ 
+ [[package]]
+ name = "pkg-config"
+-version = "0.3.17"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-
+-[[package]]
+-name = "podio"
+-version = "0.1.6"
++version = "0.3.19"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c"
+ 
+ [[package]]
+ name = "ppv-lite86"
+-version = "0.2.6"
++version = "0.2.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
+ 
+ [[package]]
+ name = "predicates"
+-version = "1.0.2"
++version = "1.0.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "eeb433456c1a57cc93554dea3ce40b4c19c4057e41c55d4a0f3d84ea71c325aa"
+ dependencies = [
+- "difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "float-cmp 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "normalize-line-endings 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "predicates-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "regex 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "difference",
++ "float-cmp",
++ "normalize-line-endings",
++ "predicates-core",
++ "regex",
+ ]
+ 
+ [[package]]
+ name = "predicates-core"
+-version = "1.0.0"
++version = "1.0.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "57e35a3326b75e49aa85f5dc6ec15b41108cf5aee58eabb1f274dd18b73c2451"
+ 
+ [[package]]
+ name = "predicates-tree"
+-version = "1.0.0"
++version = "1.0.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "15f553275e5721409451eb85e15fd9a860a6e5ab4496eb215987502b5f5391f2"
+ dependencies = [
+- "predicates-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "treeline 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "predicates-core",
++ "treeline",
+ ]
+ 
+ [[package]]
+ name = "proc-macro2"
+ version = "0.4.30"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
+ dependencies = [
+- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-xid 0.1.0",
+ ]
+ 
+ [[package]]
+ name = "proc-macro2"
+-version = "1.0.8"
++version = "1.0.24"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
+ dependencies = [
+- "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-xid 0.2.1",
+ ]
+ 
+ [[package]]
+ name = "publicsuffix"
+ version = "1.5.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3bbaa49075179162b49acac1c6aa45fb4dafb5f13cf6794276d77bc7fd95757b"
+ dependencies = [
+- "error-chain 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "regex 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "url 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "error-chain",
++ "idna 0.2.2",
++ "lazy_static 1.4.0",
++ "regex",
++ "url 2.2.1",
+ ]
+ 
+ [[package]]
+ name = "quick-error"
+ version = "1.2.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
+ 
+ [[package]]
+ name = "quote"
+ version = "0.6.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
+ dependencies = [
+- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 0.4.30",
+ ]
+ 
+ [[package]]
+ name = "quote"
+-version = "1.0.2"
++version = "1.0.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
+ dependencies = [
+- "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.24",
+ ]
+ 
+ [[package]]
+ name = "rand"
+ version = "0.3.23"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c"
+ dependencies = [
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "rand 0.4.6",
+ ]
+ 
+ [[package]]
+ name = "rand"
+ version = "0.4.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
+ dependencies = [
+- "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fuchsia-cprng",
++ "libc",
++ "rand_core 0.3.1",
++ "rdrand",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "rand"
+ version = "0.5.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9"
+ dependencies = [
+- "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cloudabi",
++ "fuchsia-cprng",
++ "libc",
++ "rand_core 0.3.1",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "rand"
+ version = "0.6.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
+ dependencies = [
+- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7",
++ "libc",
++ "rand_chacha 0.1.1",
++ "rand_core 0.4.2",
++ "rand_hc 0.1.0",
++ "rand_isaac",
++ "rand_jitter",
++ "rand_os",
++ "rand_pcg",
++ "rand_xorshift",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "rand"
+-version = "0.7.3"
++version = "0.8.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
+ dependencies = [
+- "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "rand_chacha 0.3.0",
++ "rand_core 0.6.2",
++ "rand_hc 0.3.0",
+ ]
+ 
+ [[package]]
+ name = "rand_chacha"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
+ dependencies = [
+- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7",
++ "rand_core 0.3.1",
+ ]
+ 
+ [[package]]
+ name = "rand_chacha"
+-version = "0.2.1"
++version = "0.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
+ dependencies = [
+- "c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ppv-lite86",
++ "rand_core 0.6.2",
+ ]
+ 
+ [[package]]
+ name = "rand_core"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
+ dependencies = [
+- "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.2",
+ ]
+ 
+ [[package]]
+ name = "rand_core"
+ version = "0.4.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
+ 
+ [[package]]
+ name = "rand_core"
+-version = "0.5.1"
++version = "0.6.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
+ dependencies = [
+- "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
++ "getrandom 0.2.2",
+ ]
+ 
+ [[package]]
+ name = "rand_hc"
+ version = "0.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
+ dependencies = [
+- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.3.1",
+ ]
+ 
+ [[package]]
+ name = "rand_hc"
+-version = "0.2.0"
++version = "0.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
+ dependencies = [
+- "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.6.2",
+ ]
+ 
+ [[package]]
+ name = "rand_isaac"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
+ dependencies = [
+- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.3.1",
+ ]
+ 
+ [[package]]
+ name = "rand_jitter"
+ version = "0.1.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
+ dependencies = [
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "rand_core 0.4.2",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "rand_os"
+ version = "0.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
+ dependencies = [
+- "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cloudabi",
++ "fuchsia-cprng",
++ "libc",
++ "rand_core 0.4.2",
++ "rdrand",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "rand_pcg"
+ version = "0.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
+ dependencies = [
+- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7",
++ "rand_core 0.4.2",
+ ]
+ 
+ [[package]]
+ name = "rand_xorshift"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
+ dependencies = [
+- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.3.1",
+ ]
+ 
+ [[package]]
+ name = "rdrand"
+ version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
+ dependencies = [
+- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.3.1",
+ ]
+ 
+ [[package]]
+ name = "redox_syscall"
+-version = "0.1.56"
++version = "0.1.57"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
++
++[[package]]
++name = "redox_syscall"
++version = "0.2.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "94341e4e44e24f6b591b59e47a8a027df12e008d73fd5672dbea9cc22f4507d9"
++dependencies = [
++ "bitflags",
++]
+ 
+ [[package]]
+ name = "redox_users"
+-version = "0.3.4"
++version = "0.3.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d"
+ dependencies = [
+- "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rust-argon2 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "getrandom 0.1.16",
++ "redox_syscall 0.1.57",
++ "rust-argon2",
+ ]
+ 
+ [[package]]
+ name = "regex"
+-version = "1.3.4"
++version = "1.4.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d9251239e129e16308e70d853559389de218ac275b515068abc96829d05b948a"
+ dependencies = [
+- "aho-corasick 0.7.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "regex-syntax 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)",
+- "thread_local 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "aho-corasick",
++ "memchr",
++ "regex-syntax",
++ "thread_local",
+ ]
+ 
+ [[package]]
+ name = "regex-syntax"
+-version = "0.6.14"
++version = "0.6.22"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b5eb417147ba9860a96cfe72a0b93bf88fee1744b5636ec99ab20c1aa9376581"
+ 
+ [[package]]
+ name = "remove_dir_all"
+-version = "0.5.2"
++version = "0.5.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
+ dependencies = [
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "reqwest"
+ version = "0.9.24"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-dependencies = [
+- "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cookie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cookie_store 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "encoding_rs 0.8.22 (registry+https://github.com/rust-lang/crates.io-index)",
+- "flate2 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+- "http 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
+- "hyper 0.12.35 (registry+https://github.com/rust-lang/crates.io-index)",
+- "hyper-tls 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mime 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mime_guess 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_json 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_urlencoded 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-threadpool 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-timer 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winreg 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
++checksum = "f88643aea3c1343c804950d7bf983bd2067f5ab59db6d613a08e05572f2714ab"
++dependencies = [
++ "base64 0.10.1",
++ "bytes",
++ "cookie",
++ "cookie_store",
++ "encoding_rs",
++ "flate2",
++ "futures",
++ "http",
++ "hyper",
++ "hyper-tls",
++ "log",
++ "mime",
++ "mime_guess",
++ "native-tls",
++ "serde",
++ "serde_json",
++ "serde_urlencoded",
++ "time",
++ "tokio",
++ "tokio-executor",
++ "tokio-io",
++ "tokio-threadpool",
++ "tokio-timer",
++ "url 1.7.2",
++ "uuid 0.7.4",
++ "winreg",
+ ]
+ 
+ [[package]]
+ name = "rust-argon2"
+-version = "0.7.0"
++version = "0.8.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb"
+ dependencies = [
+- "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "base64 0.13.0",
++ "blake2b_simd",
++ "constant_time_eq",
++ "crossbeam-utils 0.8.2",
+ ]
+ 
+ [[package]]
+ name = "rustc-demangle"
+-version = "0.1.16"
++version = "0.1.18"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6e3bad0ee36814ca07d7968269dd4b7ec89ec2da10c4bb613928d3077083c232"
+ 
+ [[package]]
+ name = "rustc_version"
+ version = "0.2.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+ dependencies = [
+- "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "semver",
+ ]
+ 
++[[package]]
++name = "rustversion"
++version = "1.0.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cb5d2a036dc6d2d8fd16fde3498b04306e29bd193bf306a57427019b823d5acd"
++
+ [[package]]
+ name = "ryu"
+-version = "1.0.2"
++version = "1.0.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
+ 
+ [[package]]
+ name = "same-file"
+ version = "1.0.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
+ dependencies = [
+- "winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-util",
+ ]
+ 
+ [[package]]
+ name = "schannel"
+-version = "0.1.16"
++version = "0.1.19"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75"
+ dependencies = [
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0",
++ "winapi 0.3.9",
+ ]
+ 
++[[package]]
++name = "scoped-tls"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2"
++
+ [[package]]
+ name = "scopeguard"
+ version = "0.3.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
+ 
+ [[package]]
+ name = "scopeguard"
+-version = "1.0.0"
++version = "1.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+ 
+ [[package]]
+ name = "security-framework"
+-version = "0.3.4"
++version = "2.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c1759c2e3c8580017a484a7ac56d3abc5a6c1feadf88db2f3633f12ae4268c69"
+ dependencies = [
+- "core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "security-framework-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags",
++ "core-foundation",
++ "core-foundation-sys",
++ "libc",
++ "security-framework-sys",
+ ]
+ 
+ [[package]]
+ name = "security-framework-sys"
+-version = "0.3.3"
++version = "2.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f99b9d5e26d2a71633cc4f2ebae7cc9f874044e0c351a27e17892d76dce5678b"
+ dependencies = [
+- "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "core-foundation-sys",
++ "libc",
+ ]
+ 
+ [[package]]
+ name = "semver"
+ version = "0.9.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
+ dependencies = [
+- "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "semver-parser",
++ "serde",
+ ]
+ 
+ [[package]]
+ name = "semver-parser"
+ version = "0.7.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
+ 
+ [[package]]
+ name = "serde"
+-version = "1.0.104"
++version = "1.0.123"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "92d5161132722baa40d802cc70b15262b98258453e85e5d1d365c757c73869ae"
+ dependencies = [
+- "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive",
+ ]
+ 
+ [[package]]
+ name = "serde_derive"
+-version = "1.0.104"
++version = "1.0.123"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9391c295d64fc0abb2c556bad848f33cb8296276b1ad2677d1ae1ace4f258f31"
+ dependencies = [
+- "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.24",
++ "quote 1.0.9",
++ "syn 1.0.60",
+ ]
+ 
+ [[package]]
+ name = "serde_ignored"
+ version = "0.0.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "190e9765dcedb56be63b6e0993a006c7e3b071a016a304736e4a315dc01fb142"
+ dependencies = [
+- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde",
+ ]
+ 
+ [[package]]
+ name = "serde_json"
+-version = "1.0.45"
++version = "1.0.62"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ea1c6153794552ea7cf7cf63b1231a25de00ec90db326ba6264440fa08e31486"
+ dependencies = [
+- "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "itoa",
++ "ryu",
++ "serde",
+ ]
+ 
+ [[package]]
+ name = "serde_urlencoded"
+ version = "0.5.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "642dd69105886af2efd227f75a520ec9b44a820d65bc133a9131f7d229fd165a"
+ dependencies = [
+- "dtoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+- "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "dtoa",
++ "itoa",
++ "serde",
++ "url 1.7.2",
+ ]
+ 
+ [[package]]
+ name = "serial_test"
+ version = "0.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "50bfbc39343545618d97869d77f38ed43e48dd77432717dbc7ed39d797f3ecbe"
+ dependencies = [
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0",
+ ]
+ 
+ [[package]]
+ name = "serial_test_derive"
+ version = "0.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "89dd85be2e2ad75b041c9df2892ac078fa6e0b90024028b2b9fb4125b7530f01"
+ dependencies = [
+- "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 0.6.13",
++ "syn 0.15.44",
+ ]
+ 
+ [[package]]
+ name = "siphasher"
+ version = "0.2.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
+ 
+ [[package]]
+ name = "slab"
+ version = "0.4.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
+ 
+ [[package]]
+ name = "smallvec"
+-version = "0.6.13"
++version = "0.6.14"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0"
+ dependencies = [
+- "maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "maybe-uninit",
+ ]
+ 
+ [[package]]
+ name = "smallvec"
+-version = "1.2.0"
++version = "1.6.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e"
+ 
+ [[package]]
+ name = "socket2"
+-version = "0.3.11"
++version = "0.3.19"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 1.0.0",
++ "libc",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "stable_deref_trait"
+-version = "1.1.1"
++version = "1.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+ 
+ [[package]]
+ name = "string"
+ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d24114bfcceb867ca7f71a0d3fe45d45619ec47a6fbfa98cb14e14250bfa5d6d"
+ dependencies = [
+- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes",
+ ]
+ 
+ [[package]]
+ name = "strsim"
+ version = "0.8.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
+ 
+ [[package]]
+ name = "structopt"
+ version = "0.2.18"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "16c2cdbf9cc375f15d1b4141bc48aeef444806655cd0e904207edc8d68d86ed7"
+ dependencies = [
+- "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "structopt-derive 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
++ "clap",
++ "structopt-derive",
+ ]
+ 
+ [[package]]
+ name = "structopt-derive"
+ version = "0.2.18"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "53010261a84b37689f9ed7d395165029f9cc7abb9f56bbfe86bee2597ed25107"
+ dependencies = [
+- "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)",
++ "heck",
++ "proc-macro2 0.4.30",
++ "quote 0.6.13",
++ "syn 0.15.44",
+ ]
+ 
+ [[package]]
+ name = "syn"
+ version = "0.15.44"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5"
+ dependencies = [
+- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 0.4.30",
++ "quote 0.6.13",
++ "unicode-xid 0.1.0",
+ ]
+ 
+ [[package]]
+ name = "syn"
+-version = "1.0.14"
++version = "1.0.60"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c700597eca8a5a762beb35753ef6b94df201c81cca676604f547495a0d7f0081"
+ dependencies = [
+- "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.24",
++ "quote 1.0.9",
++ "unicode-xid 0.2.1",
+ ]
+ 
+ [[package]]
+ name = "synstructure"
+-version = "0.12.3"
++version = "0.12.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701"
+ dependencies = [
+- "proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.24",
++ "quote 1.0.9",
++ "syn 1.0.60",
++ "unicode-xid 0.2.1",
+ ]
+ 
+ [[package]]
+ name = "tar"
+-version = "0.4.26"
++version = "0.4.33"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c0bcfbd6a598361fda270d82469fff3d65089dc33e175c9a131f7b4cd395f228"
+ dependencies = [
+- "filetime 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
+- "xattr 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+-]
+-
+-[[package]]
+-name = "tempdir"
+-version = "0.3.7"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-dependencies = [
+- "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "filetime",
++ "libc",
++ "xattr",
+ ]
+ 
+ [[package]]
+ name = "tempfile"
+ version = "2.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "11ce2fe9db64b842314052e2421ac61a73ce41b898dc8e3750398b219c5fc1e0"
+ dependencies = [
+- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "kernel32-sys",
++ "libc",
++ "rand 0.3.23",
++ "redox_syscall 0.1.57",
++ "winapi 0.2.8",
+ ]
+ 
+ [[package]]
+ name = "tempfile"
+-version = "3.1.0"
++version = "3.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
+- "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 1.0.0",
++ "libc",
++ "rand 0.8.3",
++ "redox_syscall 0.2.5",
++ "remove_dir_all",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "termcolor"
+-version = "0.3.6"
++version = "1.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4"
+ dependencies = [
+- "wincolor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-util",
+ ]
+ 
+ [[package]]
+-name = "termcolor"
+-version = "1.1.0"
++name = "terminal_size"
++version = "0.1.16"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "86ca8ced750734db02076f44132d802af0b33b09942331f4459dde8636fd2406"
+ dependencies = [
+- "winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "termios"
+-version = "0.3.1"
++version = "0.3.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "411c5bf740737c7918b8b1fe232dca4dc9f8e754b8ad5e20966814001ed0ac6b"
+ dependencies = [
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
+ ]
+ 
+ [[package]]
+ name = "textwrap"
+ version = "0.11.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
++dependencies = [
++ "unicode-width",
++]
++
++[[package]]
++name = "thiserror"
++version = "1.0.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e0f4a65597094d4483ddaed134f409b2cb7c1beccf25201a9f73c719254fa98e"
+ dependencies = [
+- "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror-impl",
++]
++
++[[package]]
++name = "thiserror-impl"
++version = "1.0.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7765189610d8241a44529806d6fd1f2e0a08734313a35d5b3a556f92b381f3c0"
++dependencies = [
++ "proc-macro2 1.0.24",
++ "quote 1.0.9",
++ "syn 1.0.60",
+ ]
+ 
+ [[package]]
+ name = "thread_local"
+-version = "1.0.1"
++version = "1.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8018d24e04c95ac8790716a5987d0fec4f8b27249ffa0f7d33f1369bdfb88cbd"
+ dependencies = [
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "once_cell",
+ ]
+ 
+ [[package]]
+ name = "time"
+-version = "0.1.42"
++version = "0.1.43"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438"
++dependencies = [
++ "libc",
++ "winapi 0.3.9",
++]
++
++[[package]]
++name = "tinyvec"
++version = "1.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "317cca572a0e89c3ce0ca1f1bdc9369547fe318a683418e42ac8f59d14701023"
+ dependencies = [
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tinyvec_macros",
+ ]
+ 
++[[package]]
++name = "tinyvec_macros"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
++
+ [[package]]
+ name = "tokio"
+ version = "0.1.22"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6"
+ dependencies = [
+- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-reactor 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-threadpool 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-timer 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes",
++ "futures",
++ "mio",
++ "num_cpus",
++ "tokio-current-thread",
++ "tokio-executor",
++ "tokio-io",
++ "tokio-reactor",
++ "tokio-tcp",
++ "tokio-threadpool",
++ "tokio-timer",
+ ]
+ 
+ [[package]]
+ name = "tokio-buf"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8fb220f46c53859a4b7ec083e41dec9778ff0b1851c0942b211edb89e0ccdc46"
+ dependencies = [
+- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes",
++ "either",
++ "futures",
+ ]
+ 
+ [[package]]
+ name = "tokio-current-thread"
+-version = "0.1.6"
++version = "0.1.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e"
+ dependencies = [
+- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures",
++ "tokio-executor",
+ ]
+ 
+ [[package]]
+ name = "tokio-executor"
+-version = "0.1.9"
++version = "0.1.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671"
+ dependencies = [
+- "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.7.2",
++ "futures",
+ ]
+ 
+ [[package]]
+ name = "tokio-io"
+-version = "0.1.12"
++version = "0.1.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674"
+ dependencies = [
+- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes",
++ "futures",
++ "log",
+ ]
+ 
+ [[package]]
+ name = "tokio-reactor"
+-version = "0.1.11"
++version = "0.1.12"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351"
+ dependencies = [
+- "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-sync 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.7.2",
++ "futures",
++ "lazy_static 1.4.0",
++ "log",
++ "mio",
++ "num_cpus",
++ "parking_lot 0.9.0",
++ "slab",
++ "tokio-executor",
++ "tokio-io",
++ "tokio-sync",
+ ]
+ 
+ [[package]]
+ name = "tokio-sync"
+-version = "0.1.7"
++version = "0.1.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee"
+ dependencies = [
+- "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fnv",
++ "futures",
+ ]
+ 
+ [[package]]
+ name = "tokio-tcp"
+-version = "0.1.3"
++version = "0.1.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72"
+ dependencies = [
+- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-reactor 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes",
++ "futures",
++ "iovec",
++ "mio",
++ "tokio-io",
++ "tokio-reactor",
+ ]
+ 
+ [[package]]
+ name = "tokio-threadpool"
+-version = "0.1.17"
++version = "0.1.18"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89"
+ dependencies = [
+- "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-deque",
++ "crossbeam-queue",
++ "crossbeam-utils 0.7.2",
++ "futures",
++ "lazy_static 1.4.0",
++ "log",
++ "num_cpus",
++ "slab",
++ "tokio-executor",
+ ]
+ 
+ [[package]]
+ name = "tokio-timer"
+-version = "0.2.12"
++version = "0.2.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296"
+ dependencies = [
+- "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.7.2",
++ "futures",
++ "slab",
++ "tokio-executor",
+ ]
+ 
+ [[package]]
+ name = "toml"
+ version = "0.4.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f"
+ dependencies = [
+- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde",
++]
++
++[[package]]
++name = "toml"
++version = "0.5.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa"
++dependencies = [
++ "serde",
+ ]
+ 
+ [[package]]
+ name = "treeline"
+ version = "0.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a7f741b240f1a48843f9b8e0444fb55fb2a4ff67293b50a9179dfd5ea67f8d41"
+ 
+ [[package]]
+ name = "try-lock"
+-version = "0.2.2"
++version = "0.2.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
+ 
+ [[package]]
+ name = "try_from"
+ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "283d3b89e1368717881a9d51dad843cc435380d8109c9e47d38780a324698d8b"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10",
+ ]
+ 
+ [[package]]
+ name = "unicase"
+ version = "2.6.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
+ dependencies = [
+- "version_check 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "version_check",
+ ]
+ 
+ [[package]]
+ name = "unicode-bidi"
+ version = "0.3.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
+ dependencies = [
+- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "matches",
+ ]
+ 
+ [[package]]
+ name = "unicode-normalization"
+-version = "0.1.12"
++version = "0.1.17"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "07fbfce1c8a97d547e8b5334978438d9d6ec8c20e38f56d4a4374d181493eaef"
+ dependencies = [
+- "smallvec 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tinyvec",
+ ]
+ 
+ [[package]]
+ name = "unicode-segmentation"
+-version = "1.6.0"
++version = "1.7.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796"
+ 
+ [[package]]
+ name = "unicode-width"
+-version = "0.1.7"
++version = "0.1.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
+ 
+ [[package]]
+ name = "unicode-xid"
+ version = "0.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
+ 
+ [[package]]
+ name = "unicode-xid"
+-version = "0.2.0"
++version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
+ 
+ [[package]]
+ name = "url"
+ version = "1.7.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
+ dependencies = [
+- "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "idna 0.1.5",
++ "matches",
++ "percent-encoding 1.0.1",
+ ]
+ 
+ [[package]]
+ name = "url"
+-version = "2.1.1"
++version = "2.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9ccd964113622c8e9322cfac19eb1004a07e636c545f325da085d5cdde6f1f8b"
+ dependencies = [
+- "idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "form_urlencoded",
++ "idna 0.2.2",
++ "matches",
++ "percent-encoding 2.1.0",
+ ]
+ 
+ [[package]]
+ name = "uuid"
+-version = "0.6.5"
++version = "0.7.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand 0.6.5",
+ ]
+ 
+ [[package]]
+ name = "uuid"
+-version = "0.7.4"
++version = "0.8.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
+ dependencies = [
+- "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "getrandom 0.2.2",
+ ]
+ 
+ [[package]]
+ name = "vcpkg"
+-version = "0.2.8"
++version = "0.2.11"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b00bca6106a5e23f3eee943593759b7fcddb00554332e856d990c893966879fb"
+ 
+ [[package]]
+ name = "vec_map"
+-version = "0.8.1"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-
+-[[package]]
+-name = "version_check"
+-version = "0.1.5"
++version = "0.8.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
+ 
+ [[package]]
+ name = "version_check"
+-version = "0.9.1"
++version = "0.9.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed"
+ 
+ [[package]]
+ name = "walkdir"
+ version = "2.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d"
+ dependencies = [
+- "same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "same-file",
++ "winapi 0.3.9",
++ "winapi-util",
+ ]
+ 
+ [[package]]
+ name = "want"
+ version = "0.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230"
+ dependencies = [
+- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures",
++ "log",
++ "try-lock",
+ ]
+ 
+ [[package]]
+ name = "wasi"
+ version = "0.9.0+wasi-snapshot-preview1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
++
++[[package]]
++name = "wasi"
++version = "0.10.2+wasi-snapshot-preview1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
+ 
+ [[package]]
+ name = "wasm-pack"
+ version = "0.9.1"
+ dependencies = [
+- "assert_cmd 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
+- "binary-install 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cargo_metadata 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "console 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "curl 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "dialoguer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
+- "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
+- "human-panic 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "openssl 0.10.27 (registry+https://github.com/rust-lang/crates.io-index)",
+- "parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "predicates 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "reqwest 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)",
+- "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_ignored 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_json 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serial_test 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serial_test_derive 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "structopt 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "which 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "assert_cmd",
++ "atty",
++ "binary-install",
++ "cargo_metadata",
++ "chrono",
++ "console 0.6.2",
++ "curl",
++ "dialoguer",
++ "dirs",
++ "env_logger",
++ "failure",
++ "glob",
++ "human-panic",
++ "lazy_static 1.4.0",
++ "log",
++ "openssl",
++ "parking_lot 0.6.4",
++ "predicates",
++ "reqwest",
++ "semver",
++ "serde",
++ "serde_derive",
++ "serde_ignored",
++ "serde_json",
++ "serial_test",
++ "serial_test_derive",
++ "siphasher",
++ "strsim",
++ "structopt",
++ "tempfile 3.2.0",
++ "toml 0.4.10",
++ "walkdir",
++ "which",
+ ]
+ 
+ [[package]]
+ name = "which"
+ version = "2.0.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b57acb10231b9493c8472b20cb57317d0679a49e0bdbee44b3b803a6473af164"
+ dependencies = [
+- "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure",
++ "libc",
+ ]
+ 
+ [[package]]
+ name = "winapi"
+ version = "0.2.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
+ 
+ [[package]]
+ name = "winapi"
+-version = "0.3.8"
++version = "0.3.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+ dependencies = [
+- "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-i686-pc-windows-gnu",
++ "winapi-x86_64-pc-windows-gnu",
+ ]
+ 
+ [[package]]
+ name = "winapi-build"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
+ 
+ [[package]]
+ name = "winapi-i686-pc-windows-gnu"
+ version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+ 
+ [[package]]
+ name = "winapi-util"
+-version = "0.1.3"
++version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+ dependencies = [
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "winapi-x86_64-pc-windows-gnu"
+ version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-
+-[[package]]
+-name = "wincolor"
+-version = "0.1.6"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-dependencies = [
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
+-]
++checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+ 
+ [[package]]
+ name = "winreg"
+ version = "0.6.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9"
+ dependencies = [
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.9",
+ ]
+ 
+ [[package]]
+ name = "ws2_32-sys"
+ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
+ dependencies = [
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.2.8",
++ "winapi-build",
+ ]
+ 
+ [[package]]
+ name = "xattr"
+ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "244c3741f4240ef46274860397c7c74e50eb23624996930e484c16679633a54c"
+ dependencies = [
+- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
+ ]
+ 
+ [[package]]
+ name = "zip"
+-version = "0.5.4"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-dependencies = [
+- "bzip2 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "flate2 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
+- "podio 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
+-]
+-
+-[metadata]
+-"checksum adler32 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2"
+-"checksum aho-corasick 0.7.7 (registry+https://github.com/rust-lang/crates.io-index)" = "5f56c476256dc249def911d6f7580b5fc7e875895b5d7ee88f5d602208035744"
+-"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
+-"checksum arrayref 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544"
+-"checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
+-"checksum assert_cmd 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2dc477793bd82ec39799b6f6b3df64938532fdf2ab0d49ef817eac65856a5a1e"
+-"checksum atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+-"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
+-"checksum autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
+-"checksum backtrace 0.3.43 (registry+https://github.com/rust-lang/crates.io-index)" = "7f80256bc78f67e7df7e36d77366f636ed976895d91fe2ab9efa3973e8fe8c4f"
+-"checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
+-"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
+-"checksum base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7"
+-"checksum binary-install 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7b5bc5f8c50dd6a80d0b303ddab79f42ddcb52fd43d68107ecf622c551fd4cd4"
+-"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
+-"checksum blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d8fb2d74254a3a0b5cac33ac9f8ed0e44aa50378d9dbb2e5d83bd21ed1dc2c8a"
+-"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
+-"checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
+-"checksum bzip2 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "42b7c3cbf0fa9c1b82308d57191728ca0256cb821220f4e2fd410a72ade26e3b"
+-"checksum bzip2-sys 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6584aa36f5ad4c9247f5323b0a42f37802b37a836f0ad87084d7a33961abe25f"
+-"checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
+-"checksum cargo_metadata 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "700b3731fd7d357223d0000f4dbf1808401b694609035c3c411fbc0cd375c426"
+-"checksum cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)" = "95e28fa049fda1c330bcf9d723be7663a899c4679724b34c81e9f5a326aab8cd"
+-"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
+-"checksum chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01"
+-"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
+-"checksum clicolors-control 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1f84dec9bc083ce2503908cd305af98bd363da6f54bf8d4bf0ac14ee749ad5d1"
+-"checksum clicolors-control 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90082ee5dcdd64dc4e9e0d37fbf3ee325419e39c0092191e0393df65518f741e"
+-"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
+-"checksum console 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ecd48adf136733979b49e15bc3b4c43cc0d3c85ece7bd08e6daa414c6fcb13e6"
+-"checksum console 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "45e0f3986890b3acbc782009e2629dfe2baa430ac091519ce3be26164a2ae6c0"
+-"checksum constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
+-"checksum cookie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "888604f00b3db336d2af898ec3c1d5d0ddf5e6d462220f2ededc33a87ac4bbd5"
+-"checksum cookie_store 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "46750b3f362965f197996c4448e4a0935e791bf7d6631bfce9ee0af3d24c919c"
+-"checksum core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d"
+-"checksum core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b"
+-"checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
+-"checksum crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c3aa945d63861bfe624b55d153a39684da1e8c0bc8fba932f7ee3a3c16cea3ca"
+-"checksum crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5064ebdbf05ce3cb95e45c8b086f72263f4166b29b97f6baff7ef7fe047b55ac"
+-"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b"
+-"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
+-"checksum crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4"
+-"checksum curl 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)" = "06aa71e9208a54def20792d877bc663d6aae0732b9852e612c4a933177c31283"
+-"checksum curl-sys 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)" = "0c38ca47d60b86d0cc9d42caa90a0885669c2abc9791f871c81f58cdf39e979b"
+-"checksum dialoguer 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1ad1c29a0368928e78c551354dbff79f103a962ad820519724ef0d74f1c62fa9"
+-"checksum difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
+-"checksum dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
+-"checksum dtoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "4358a9e11b9a09cf52383b451b49a169e8d797b68aa02301ff586d70d9661ea3"
+-"checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3"
+-"checksum encode_unicode 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
+-"checksum encoding_rs 0.8.22 (registry+https://github.com/rust-lang/crates.io-index)" = "cd8d03faa7fe0c1431609dfad7bbe827af30f82e1e2ae6f7ee4fca6bd764bc28"
+-"checksum env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)" = "15b0a4d2e39f8420210be8b27eeda28029729e2fd4291019455016c348240c38"
+-"checksum error-chain 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3ab49e9dcb602294bc42f9a7dfc9bc6e936fca4418ea300dbfb84fe16de0b7d9"
+-"checksum escargot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ceb9adbf9874d5d028b5e4c5739d22b71988252b25c9c98fe7cf9738bee84597"
+-"checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
+-"checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
+-"checksum filetime 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1ff6d4dab0aa0c8e6346d46052e93b13a16cf847b54ed357087c35011048cc7d"
+-"checksum flate2 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6bd6d6f4752952feb71363cffc9ebac9411b75b87c6ab6058c40c8900cf43c0f"
+-"checksum float-cmp 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "75224bec9bfe1a65e2d34132933f2de7fe79900c96a0174307554244ece8150e"
+-"checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
+-"checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
+-"checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+-"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
+-"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
+-"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
+-"checksum futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef"
+-"checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4"
+-"checksum getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb"
+-"checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb"
+-"checksum h2 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)" = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462"
+-"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
+-"checksum hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eff2656d88f158ce120947499e971d743c05dbcbed62e5bd2f38f1698bbc3772"
+-"checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
+-"checksum http 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)" = "d6ccf5ede3a895d8856620237b2f02972c1bbc78d2965ad7fe8838d4a0ed41f0"
+-"checksum http-body 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6741c859c1b2463a423a1dbce98d418e6c3c3fc720fb0d45528657320920292d"
+-"checksum httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9"
+-"checksum human-panic 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "21638c5955a6daf3ecc42cae702335fc37a72a4abcc6959ce457b31a7d43bbdd"
+-"checksum humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
+-"checksum hyper 0.12.35 (registry+https://github.com/rust-lang/crates.io-index)" = "9dbe6ed1438e1f8ad955a4701e9a944938e9519f6888d12d8558b645e247d5f6"
+-"checksum hyper-tls 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3a800d6aa50af4b5850b2b0f659625ce9504df908e9733b635720483be26174f"
+-"checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
+-"checksum idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9"
+-"checksum indexmap 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b54058f0a6ff80b6803da8faf8997cde53872b38f4023728f6830b06cd3c0dc"
+-"checksum iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
+-"checksum is_executable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "302d553b8abc8187beb7d663e34c065ac4570b273bc9511a50e940e99409c577"
+-"checksum itoa 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "b8b7a7c0c47db5545ed3fef7468ee7bb5b74691498139e4b3f6a20685dc6dd8e"
+-"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
+-"checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73"
+-"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+-"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
+-"checksum libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "2eb5e43362e38e2bca2fd5f5134c4d4564a23a5c28e9b95411652021a8675ebe"
+-"checksum lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c"
+-"checksum lock_api 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "79b2de95ecb4691949fea4716ca53cdbcfccb2c612e19644a8bad05edcf9f47b"
+-"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
+-"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
+-"checksum maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
+-"checksum memchr 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3197e20c7edb283f87c071ddfc7a2cca8f8e0b888c242959846a6fce03c72223"
+-"checksum memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "75189eb85871ea5c2e2c15abbdd541185f63b408415e5051f5cac122d8c774b9"
+-"checksum mime 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)" = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
+-"checksum mime_guess 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1a0ed03949aef72dbdf3116a383d7b38b4768e6f960528cd6a6044aa9ed68599"
+-"checksum miniz_oxide 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6f3f74f726ae935c3f514300cc6773a0c9492abc5e972d42ba0c0ebb88757625"
+-"checksum mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)" = "302dec22bcf6bae6dfb69c647187f4b4d0fb6f535521f7bc022430ce8e12008f"
+-"checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
+-"checksum native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4b2df1a4c22fd44a62147fd8f13dd0f95c9d8ca7b2610299b2a2f9cf8964274e"
+-"checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88"
+-"checksum normalize-line-endings 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2e0a1a39eab95caf4f5556da9289b9e68f0aafac901b2ce80daaf020d3b733a8"
+-"checksum num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "3f6ea62e9d81a77cd3ee9a2a5b9b609447857f3d358704331e4ef39eb247fcba"
+-"checksum num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096"
+-"checksum num_cpus 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "46203554f085ff89c235cd12f7075f3233af9b11ed7c9e16dfe2560d03313ce6"
+-"checksum openssl 0.10.27 (registry+https://github.com/rust-lang/crates.io-index)" = "e176a45fedd4c990e26580847a525e39e16ec32ac78957dbf62ded31b3abfd6f"
+-"checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
+-"checksum openssl-src 111.6.1+1.1.1d (registry+https://github.com/rust-lang/crates.io-index)" = "c91b04cb43c1a8a90e934e0cd612e2a5715d976d2d6cff4490278a0cddf35005"
+-"checksum openssl-sys 0.9.54 (registry+https://github.com/rust-lang/crates.io-index)" = "1024c0a59774200a555087a6da3f253a9095a5f344e353b212ac4c8b8e450986"
+-"checksum os_type 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7edc011af0ae98b7f88cf7e4a83b70a54a75d2b8cb013d6efd02e5956207e9eb"
+-"checksum owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13"
+-"checksum parking_lot 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "92e98c49ab0b7ce5b222f2cc9193fc4efe11c6d0bd4f648e374684a6857b1cfc"
+-"checksum parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f0802bff09003b291ba756dc7e79313e51cc31667e94afbe847def490424cde5"
+-"checksum parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252"
+-"checksum parking_lot_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ad7f7e6ebdc79edff6fdcb87a55b620174f7a989e3eb31b65231f4af57f00b8c"
+-"checksum parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b"
+-"checksum parking_lot_core 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7582838484df45743c8434fbff785e8edf260c28748353d44bc0da32e0ceabf1"
+-"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
+-"checksum percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
+-"checksum pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)" = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677"
+-"checksum podio 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "780fb4b6698bbf9cf2444ea5d22411cef2953f0824b98f33cf454ec5615645bd"
+-"checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
+-"checksum predicates 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a9bfe52247e5cc9b2f943682a85a5549fb9662245caf094504e69a2f03fe64d4"
+-"checksum predicates-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "06075c3a3e92559ff8929e7a280684489ea27fe44805174c3ebd9328dcb37178"
+-"checksum predicates-tree 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8e63c4859013b38a76eca2414c64911fba30def9e3202ac461a2d22831220124"
+-"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
+-"checksum proc-macro2 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3acb317c6ff86a4e579dfa00fc5e6cca91ecbb4e7eb2df0468805b674eb88548"
+-"checksum publicsuffix 1.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3bbaa49075179162b49acac1c6aa45fb4dafb5f13cf6794276d77bc7fd95757b"
+-"checksum quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
+-"checksum quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
+-"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
+-"checksum rand 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)" = "64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c"
+-"checksum rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
+-"checksum rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9"
+-"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
+-"checksum rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
+-"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
+-"checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
+-"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
+-"checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
+-"checksum rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+-"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
+-"checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
+-"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
+-"checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
+-"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
+-"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
+-"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
+-"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
+-"checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
+-"checksum redox_users 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "09b23093265f8d200fa7b4c2c76297f47e681c655f6f1285a8780d6a022f7431"
+-"checksum regex 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "322cf97724bea3ee221b78fe25ac9c46114ebb51747ad5babd51a2fc6a8235a8"
+-"checksum regex-syntax 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)" = "b28dfe3fe9badec5dbf0a79a9cccad2cfc2ab5484bdb3e44cbd1ae8b3ba2be06"
+-"checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e"
+-"checksum reqwest 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)" = "f88643aea3c1343c804950d7bf983bd2067f5ab59db6d613a08e05572f2714ab"
+-"checksum rust-argon2 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2bc8af4bda8e1ff4932523b94d3dd20ee30a87232323eda55903ffd71d2fb017"
+-"checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
+-"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+-"checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8"
+-"checksum same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
+-"checksum schannel 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "87f550b06b6cba9c8b8be3ee73f391990116bf527450d2556e9b9ce263b9a021"
+-"checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
+-"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
+-"checksum security-framework 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8ef2429d7cefe5fd28bd1d2ed41c944547d4ff84776f5935b456da44593a16df"
+-"checksum security-framework-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e31493fc37615debb8c5090a7aeb4a9730bc61e77ab10b9af59f1a202284f895"
+-"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
+-"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
+-"checksum serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449"
+-"checksum serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64"
+-"checksum serde_ignored 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "190e9765dcedb56be63b6e0993a006c7e3b071a016a304736e4a315dc01fb142"
+-"checksum serde_json 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)" = "eab8f15f15d6c41a154c1b128a22f2dfabe350ef53c40953d84e36155c91192b"
+-"checksum serde_urlencoded 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "642dd69105886af2efd227f75a520ec9b44a820d65bc133a9131f7d229fd165a"
+-"checksum serial_test 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "50bfbc39343545618d97869d77f38ed43e48dd77432717dbc7ed39d797f3ecbe"
+-"checksum serial_test_derive 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "89dd85be2e2ad75b041c9df2892ac078fa6e0b90024028b2b9fb4125b7530f01"
+-"checksum siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
+-"checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
+-"checksum smallvec 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6"
+-"checksum smallvec 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5c2fb2ec9bcd216a5b0d0ccf31ab17b5ed1d627960edff65bbe95d3ce221cefc"
+-"checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85"
+-"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8"
+-"checksum string 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d24114bfcceb867ca7f71a0d3fe45d45619ec47a6fbfa98cb14e14250bfa5d6d"
+-"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
+-"checksum structopt 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "16c2cdbf9cc375f15d1b4141bc48aeef444806655cd0e904207edc8d68d86ed7"
+-"checksum structopt-derive 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "53010261a84b37689f9ed7d395165029f9cc7abb9f56bbfe86bee2597ed25107"
+-"checksum syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)" = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5"
+-"checksum syn 1.0.14 (registry+https://github.com/rust-lang/crates.io-index)" = "af6f3550d8dff9ef7dc34d384ac6f107e5d31c8f57d9f28e0081503f547ac8f5"
+-"checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
+-"checksum tar 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)" = "b3196bfbffbba3e57481b6ea32249fbaf590396a52505a2615adbb79d9d826d3"
+-"checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
+-"checksum tempfile 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "11ce2fe9db64b842314052e2421ac61a73ce41b898dc8e3750398b219c5fc1e0"
+-"checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
+-"checksum termcolor 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "adc4587ead41bf016f11af03e55a624c06568b5a19db4e90fde573d805074f83"
+-"checksum termcolor 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb6bfa289a4d7c5766392812c0a1f4c1ba45afa1ad47803c11e1f407d846d75f"
+-"checksum termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "72b620c5ea021d75a735c943269bb07d30c9b77d6ac6b236bc8b5c496ef05625"
+-"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
+-"checksum thread_local 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
+-"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
+-"checksum tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)" = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6"
+-"checksum tokio-buf 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8fb220f46c53859a4b7ec083e41dec9778ff0b1851c0942b211edb89e0ccdc46"
+-"checksum tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "d16217cad7f1b840c5a97dfb3c43b0c871fef423a6e8d2118c604e843662a443"
+-"checksum tokio-executor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "ca6df436c42b0c3330a82d855d2ef017cd793090ad550a6bc2184f4b933532ab"
+-"checksum tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "5090db468dad16e1a7a54c8c67280c5e4b544f3d3e018f0b913b400261f85926"
+-"checksum tokio-reactor 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "6732fe6b53c8d11178dcb77ac6d9682af27fc6d4cb87789449152e5377377146"
+-"checksum tokio-sync 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "d06554cce1ae4a50f42fba8023918afa931413aded705b560e29600ccf7c6d76"
+-"checksum tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1d14b10654be682ac43efee27401d792507e30fd8d26389e1da3b185de2e4119"
+-"checksum tokio-threadpool 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "f0c32ffea4827978e9aa392d2f743d973c1dfa3730a2ed3f22ce1e6984da848c"
+-"checksum tokio-timer 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)" = "1739638e364e558128461fc1ad84d997702c8e31c2e6b18fb99842268199e827"
+-"checksum toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f"
+-"checksum treeline 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a7f741b240f1a48843f9b8e0444fb55fb2a4ff67293b50a9179dfd5ea67f8d41"
+-"checksum try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382"
+-"checksum try_from 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "283d3b89e1368717881a9d51dad843cc435380d8109c9e47d38780a324698d8b"
+-"checksum unicase 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
+-"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
+-"checksum unicode-normalization 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "5479532badd04e128284890390c1e876ef7a993d0570b3597ae43dfa1d59afa4"
+-"checksum unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
+-"checksum unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
+-"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
+-"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
+-"checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
+-"checksum url 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "829d4a8476c35c9bf0bbce5a3b23f4106f79728039b726d292bb93bc106787cb"
+-"checksum uuid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e1436e58182935dcd9ce0add9ea0b558e8a87befe01c1a301e6020aeb0876363"
+-"checksum uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a"
+-"checksum vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168"
+-"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
+-"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
+-"checksum version_check 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "078775d0255232fb988e6fccf26ddc9d1ac274299aaedcedce21c6f72cc533ce"
+-"checksum walkdir 2.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d"
+-"checksum want 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230"
+-"checksum wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)" = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
+-"checksum which 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b57acb10231b9493c8472b20cb57317d0679a49e0bdbee44b3b803a6473af164"
+-"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
+-"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
+-"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
+-"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+-"checksum winapi-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4ccfbf554c6ad11084fb7517daca16cfdcaccbdadba4fc336f032a8b12c2ad80"
+-"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+-"checksum wincolor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eeb06499a3a4d44302791052df005d5232b927ed1a9658146d842165c4de7767"
+-"checksum winreg 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9"
+-"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
+-"checksum xattr 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "244c3741f4240ef46274860397c7c74e50eb23624996930e484c16679633a54c"
+-"checksum zip 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "e41ff37ba788e2169b19fa70253b70cb53d9f2db9fb9aea9bcfc5047e02c3bae"
++version = "0.5.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5a8977234acab718eb2820494b2f96cbb16004c19dddf88b7445b27381450997"
++dependencies = [
++ "byteorder",
++ "bzip2",
++ "crc32fast",
++ "flate2",
++ "thiserror",
++ "time",
++]
+diff --git a/Cargo.toml b/Cargo.toml
+index 6e8c66f..3dba85e 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -21,7 +21,7 @@ failure = "0.1.2"
+ human-panic = "1.0.1"
+ glob = "0.2"
+ log = "0.4.6"
+-openssl = { version = '0.10.11', optional = true }
++openssl = { version = '0.10.32', optional = true }
+ parking_lot = "0.6"
+ reqwest = "0.9.14"
+ semver = "0.9.0"
diff --git a/pkgs/development/tools/wire/default.nix b/pkgs/development/tools/wire/default.nix
index ff6d1e7ac5d0c..a51252f566962 100644
--- a/pkgs/development/tools/wire/default.nix
+++ b/pkgs/development/tools/wire/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "wire";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "wire";
     rev = "v${version}";
-    sha256 = "0fYXo/LnxKV/qoaP59XCyEtLLAysZm/WhRdm3RnLdvw=";
+    sha256 = "sha256-9xjymiyPFMKbysgZULmcBEMI26naUrLMgTA+d7Q+DA0=";
   };
 
-  vendorSha256 = "ZFUX4LgPte6oAf94D82Man/P9VMpx+CDNCTMBwiy9Fc=";
+  vendorSha256 = "sha256-ZFUX4LgPte6oAf94D82Man/P9VMpx+CDNCTMBwiy9Fc=";
 
   subPackages = [ "cmd/wire" ];
 
diff --git a/pkgs/development/tools/yaml2json/default.nix b/pkgs/development/tools/yaml2json/default.nix
index 77f884b82b6ac..543ed7fc3eaff 100644
--- a/pkgs/development/tools/yaml2json/default.nix
+++ b/pkgs/development/tools/yaml2json/default.nix
@@ -1,18 +1,16 @@
 { lib, buildGoPackage, fetchFromGitHub }:
 
 
-buildGoPackage {
+buildGoPackage rec {
   pname = "yaml2json";
-  version = "unstable-2017-05-03";
+  version = "1.3";
   goPackagePath = "github.com/bronze1man/yaml2json";
 
-  goDeps = ./deps.nix;
-
   src = fetchFromGitHub {
-    rev = "ee8196e587313e98831c040c26262693d48c1a0c";
     owner = "bronze1man";
     repo = "yaml2json";
-    sha256 = "16a2sqzbam5adbhfvilnpdabzwncs7kgpr0cn4gp09h2imzsprzw";
+    rev = "v${version}";
+    sha256 = "0bhjzl4qibiyvn56wcsm85f3vwnlzf4gywy2gq9mrnbrl629amq1";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/yaml2json/deps.nix b/pkgs/development/tools/yaml2json/deps.nix
deleted file mode 100644
index f907520cc872a..0000000000000
--- a/pkgs/development/tools/yaml2json/deps.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-[
-  {
-    goPackagePath = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "d670f9405373e636a5a2765eea47fac0c9bc91a4";
-      sha256 = "1w1xid51n8v1mydn2m3vgggw8qgpd5a5sr62snsc77d99fpjsrs0";
-    };
-  }
-]
diff --git a/pkgs/development/tools/yq-go/default.nix b/pkgs/development/tools/yq-go/default.nix
index 878661e74ce0b..b2d0581c0541c 100644
--- a/pkgs/development/tools/yq-go/default.nix
+++ b/pkgs/development/tools/yq-go/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "yq-go";
-  version = "4.4.1";
+  version = "4.6.1";
 
   src = fetchFromGitHub {
     owner = "mikefarah";
     rev = "v${version}";
     repo = "yq";
-    sha256 = "sha256-U1nMSwWKzPvyvxUx8J50AMB251ET4s9xcSrjGGjkYus=";
+    sha256 = "sha256-pP00y9auYeuz0NSA+QrnGybW5T7TfGFFw/FMPu/JXjM=";
   };
 
-  vendorSha256 = "sha256-CUELy6ajaoVzomY5lMen24DFJke3IyFzqWYyF7sws5g=";
+  vendorSha256 = "sha256-66ccHSKpl6yB/NVhZ1X0dv4wnGCJAMvZhpKu2vF+QT4=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/ytt/default.nix b/pkgs/development/tools/ytt/default.nix
index 67c8509fd70e2..10804980041b6 100644
--- a/pkgs/development/tools/ytt/default.nix
+++ b/pkgs/development/tools/ytt/default.nix
@@ -1,13 +1,13 @@
 { lib, buildGoModule, fetchFromGitHub }:
 buildGoModule rec {
   pname = "ytt";
-  version = "0.30.0";
+  version = "0.31.0";
 
   src = fetchFromGitHub {
     owner = "vmware-tanzu";
     repo = "carvel-ytt";
     rev = "v${version}";
-    sha256 = "0v9wp15aj4r7wif8i897zwj3c6bg41b95kk7vi3a3bzin814qn6l";
+    sha256 = "sha256-GXnhI8nd4ciFd22989ypqGy5pozKJm+dzg8MaDDvuZg=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/development/web/cog/default.nix b/pkgs/development/web/cog/default.nix
index a3639e559f1c4..5344c1b833ca0 100644
--- a/pkgs/development/web/cog/default.nix
+++ b/pkgs/development/web/cog/default.nix
@@ -1,6 +1,5 @@
 { stdenv
 , lib
-, fetchpatch
 , fetchFromGitHub
 , cmake
 , pkg-config
@@ -8,7 +7,6 @@
 , wayland-protocols
 , libwpe
 , libwpe-fdo
-, glib
 , glib-networking
 , webkitgtk
 , makeWrapper
diff --git a/pkgs/development/web/lucky-cli/default.nix b/pkgs/development/web/lucky-cli/default.nix
index 5085346e3eb63..df343f30785bb 100644
--- a/pkgs/development/web/lucky-cli/default.nix
+++ b/pkgs/development/web/lucky-cli/default.nix
@@ -2,13 +2,13 @@
 
 crystal.buildCrystalPackage rec {
   pname = "lucky-cli";
-  version = "0.25.0";
+  version = "0.26.0";
 
   src = fetchFromGitHub {
     owner = "luckyframework";
     repo = "lucky_cli";
     rev = "v${version}";
-    sha256 = "sha256-/DKDg2lJO6PikF7+kbwRX8ClS8rflH8KdrZNx7AR36g=";
+    sha256 = "sha256-bZWyAZrAYG45fqmEQYXsk8YLKurpppaahOkALAQXGhY=";
   };
 
   # the integration tests will try to clone a remote repos
diff --git a/pkgs/development/web/newman/node-composition.nix b/pkgs/development/web/newman/node-composition.nix
index 0769168a78fa3..64326c6b21602 100644
--- a/pkgs/development/web/newman/node-composition.nix
+++ b/pkgs/development/web/newman/node-composition.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
@@ -6,12 +6,12 @@
 
 let
   nodeEnv = import ./node-env.nix {
-    inherit (pkgs) lib stdenv python2 util-linux runCommand writeTextFile;
-    inherit nodejs;
+    inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
+    inherit pkgs nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
 import ./node-packages.nix {
-  inherit (pkgs) fetchurl fetchgit;
+  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
   inherit nodeEnv;
 }
diff --git a/pkgs/development/web/newman/node-env.nix b/pkgs/development/web/newman/node-env.nix
index 262df27e464fe..c2b723195b77e 100644
--- a/pkgs/development/web/newman/node-env.nix
+++ b/pkgs/development/web/newman/node-env.nix
@@ -1,8 +1,11 @@
 # This file originates from node2nix
 
-{lib, stdenv, nodejs, python2, util-linux, libtool, runCommand, writeTextFile}:
+{lib, stdenv, nodejs, python2, pkgs, libtool, runCommand, writeTextFile}:
 
 let
+  # Workaround to cope with utillinux in Nixpkgs 20.09 and util-linux in Nixpkgs master
+  utillinux = if pkgs ? utillinux then pkgs.utillinux else pkgs.util-linux;
+
   python = if nodejs ? python then nodejs.python else python2;
 
   # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
@@ -242,8 +245,8 @@ let
       if(fs.existsSync("./package-lock.json")) {
           var packageLock = JSON.parse(fs.readFileSync("./package-lock.json"));
 
-          if(packageLock.lockfileVersion !== 1) {
-             process.stderr.write("Sorry, I only understand lock file version 1!\n");
+          if(![1, 2].includes(packageLock.lockfileVersion)) {
+             process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n");
              process.exit(1);
           }
 
@@ -396,7 +399,7 @@ let
     stdenv.mkDerivation ({
       name = "node_${name}-${version}";
       buildInputs = [ tarWrapper python nodejs ]
-        ++ lib.optional (stdenv.isLinux) util-linux
+        ++ lib.optional (stdenv.isLinux) utillinux
         ++ lib.optional (stdenv.isDarwin) libtool
         ++ buildInputs;
 
@@ -445,8 +448,8 @@ let
       '';
     } // extraArgs);
 
-  # Builds a development shell
-  buildNodeShell =
+  # Builds a node environment (a node_modules folder and a set of binaries)
+  buildNodeDependencies =
     { name
     , packageName
     , version
@@ -465,12 +468,12 @@ let
 
     let
       extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
-
-      nodeDependencies = stdenv.mkDerivation ({
+    in
+      stdenv.mkDerivation ({
         name = "node-dependencies-${name}-${version}";
 
         buildInputs = [ tarWrapper python nodejs ]
-          ++ lib.optional (stdenv.isLinux) util-linux
+          ++ lib.optional (stdenv.isLinux) utillinux
           ++ lib.optional (stdenv.isDarwin) libtool
           ++ buildInputs;
 
@@ -512,11 +515,32 @@ let
           ln -s $out/lib/node_modules/.bin $out/bin
         '';
       } // extraArgs);
+
+  # Builds a development shell
+  buildNodeShell =
+    { name
+    , packageName
+    , version
+    , src
+    , dependencies ? []
+    , buildInputs ? []
+    , production ? true
+    , npmFlags ? ""
+    , dontNpmInstall ? false
+    , bypassCache ? false
+    , reconstructLock ? false
+    , dontStrip ? true
+    , unpackPhase ? "true"
+    , buildPhase ? "true"
+    , ... }@args:
+
+    let
+      nodeDependencies = buildNodeDependencies args;
     in
     stdenv.mkDerivation {
       name = "node-shell-${name}-${version}";
 
-      buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) util-linux ++ buildInputs;
+      buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
       buildCommand = ''
         mkdir -p $out/bin
         cat > $out/bin/shell <<EOF
@@ -538,5 +562,6 @@ in
 {
   buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist;
   buildNodePackage = lib.makeOverridable buildNodePackage;
+  buildNodeDependencies = lib.makeOverridable buildNodeDependencies;
   buildNodeShell = lib.makeOverridable buildNodeShell;
 }
diff --git a/pkgs/development/web/newman/node-packages.nix b/pkgs/development/web/newman/node-packages.nix
index 680be3d499c0b..1a34612401b18 100644
--- a/pkgs/development/web/newman/node-packages.nix
+++ b/pkgs/development/web/newman/node-packages.nix
@@ -1,61 +1,61 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
 let
   sources = {
-    "@babel/code-frame-7.10.4" = {
+    "@babel/code-frame-7.12.11" = {
       name = "_at_babel_slash_code-frame";
       packageName = "@babel/code-frame";
-      version = "7.10.4";
+      version = "7.12.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz";
-        sha512 = "vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==";
+        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz";
+        sha512 = "Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==";
       };
     };
-    "@babel/core-7.12.3" = {
+    "@babel/core-7.12.10" = {
       name = "_at_babel_slash_core";
       packageName = "@babel/core";
-      version = "7.12.3";
+      version = "7.12.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz";
-        sha512 = "0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==";
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz";
+        sha512 = "eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==";
       };
     };
-    "@babel/generator-7.12.5" = {
+    "@babel/generator-7.12.11" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.12.5";
+      version = "7.12.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz";
-        sha512 = "m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==";
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz";
+        sha512 = "Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==";
       };
     };
-    "@babel/helper-function-name-7.10.4" = {
+    "@babel/helper-function-name-7.12.11" = {
       name = "_at_babel_slash_helper-function-name";
       packageName = "@babel/helper-function-name";
-      version = "7.10.4";
+      version = "7.12.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz";
-        sha512 = "YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==";
+        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz";
+        sha512 = "AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==";
       };
     };
-    "@babel/helper-get-function-arity-7.10.4" = {
+    "@babel/helper-get-function-arity-7.12.10" = {
       name = "_at_babel_slash_helper-get-function-arity";
       packageName = "@babel/helper-get-function-arity";
-      version = "7.10.4";
+      version = "7.12.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz";
-        sha512 = "EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==";
+        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz";
+        sha512 = "mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==";
       };
     };
-    "@babel/helper-member-expression-to-functions-7.12.1" = {
+    "@babel/helper-member-expression-to-functions-7.12.7" = {
       name = "_at_babel_slash_helper-member-expression-to-functions";
       packageName = "@babel/helper-member-expression-to-functions";
-      version = "7.12.1";
+      version = "7.12.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz";
-        sha512 = "k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==";
+        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz";
+        sha512 = "DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==";
       };
     };
     "@babel/helper-module-imports-7.12.5" = {
@@ -76,22 +76,22 @@ let
         sha512 = "QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==";
       };
     };
-    "@babel/helper-optimise-call-expression-7.10.4" = {
+    "@babel/helper-optimise-call-expression-7.12.10" = {
       name = "_at_babel_slash_helper-optimise-call-expression";
       packageName = "@babel/helper-optimise-call-expression";
-      version = "7.10.4";
+      version = "7.12.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz";
-        sha512 = "n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==";
+        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz";
+        sha512 = "4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==";
       };
     };
-    "@babel/helper-replace-supers-7.12.5" = {
+    "@babel/helper-replace-supers-7.12.11" = {
       name = "_at_babel_slash_helper-replace-supers";
       packageName = "@babel/helper-replace-supers";
-      version = "7.12.5";
+      version = "7.12.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz";
-        sha512 = "5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==";
+        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz";
+        sha512 = "q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==";
       };
     };
     "@babel/helper-simple-access-7.12.1" = {
@@ -103,22 +103,22 @@ let
         sha512 = "OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==";
       };
     };
-    "@babel/helper-split-export-declaration-7.11.0" = {
+    "@babel/helper-split-export-declaration-7.12.11" = {
       name = "_at_babel_slash_helper-split-export-declaration";
       packageName = "@babel/helper-split-export-declaration";
-      version = "7.11.0";
+      version = "7.12.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz";
-        sha512 = "74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==";
+        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz";
+        sha512 = "LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==";
       };
     };
-    "@babel/helper-validator-identifier-7.10.4" = {
+    "@babel/helper-validator-identifier-7.12.11" = {
       name = "_at_babel_slash_helper-validator-identifier";
       packageName = "@babel/helper-validator-identifier";
-      version = "7.10.4";
+      version = "7.12.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz";
-        sha512 = "3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==";
+        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz";
+        sha512 = "np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==";
       };
     };
     "@babel/helpers-7.12.5" = {
@@ -139,49 +139,49 @@ let
         sha512 = "i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==";
       };
     };
-    "@babel/parser-7.12.5" = {
+    "@babel/parser-7.12.11" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.12.5";
+      version = "7.12.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.12.5.tgz";
-        sha512 = "FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz";
+        sha512 = "N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==";
       };
     };
-    "@babel/template-7.10.4" = {
+    "@babel/template-7.12.7" = {
       name = "_at_babel_slash_template";
       packageName = "@babel/template";
-      version = "7.10.4";
+      version = "7.12.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz";
-        sha512 = "ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==";
+        url = "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz";
+        sha512 = "GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==";
       };
     };
-    "@babel/traverse-7.12.5" = {
+    "@babel/traverse-7.12.12" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.12.5";
+      version = "7.12.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.5.tgz";
-        sha512 = "xa15FbQnias7z9a62LwYAA5SZZPkHIXpd42C6uW68o8uTuua96FHZy1y61Va5P/i83FAAcMpW8+A/QayntzuqA==";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz";
+        sha512 = "s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==";
       };
     };
-    "@babel/types-7.12.6" = {
+    "@babel/types-7.12.12" = {
       name = "_at_babel_slash_types";
       packageName = "@babel/types";
-      version = "7.12.6";
+      version = "7.12.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz";
-        sha512 = "hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==";
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz";
+        sha512 = "lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==";
       };
     };
-    "@eslint/eslintrc-0.2.1" = {
+    "@eslint/eslintrc-0.3.0" = {
       name = "_at_eslint_slash_eslintrc";
       packageName = "@eslint/eslintrc";
-      version = "0.2.1";
+      version = "0.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.1.tgz";
-        sha512 = "XRUeBZ5zBWLYgSANMpThFddrZZkEbGHgUdt5UJjZfnlN9BGCiUBrf+nvbRupSjMvqzwnQN0qwCmOxITt1cfywA==";
+        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz";
+        sha512 = "1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==";
       };
     };
     "@istanbuljs/load-nyc-config-1.1.0" = {
@@ -220,13 +220,13 @@ let
         sha512 = "k57fzmAZ2PJGxfOA4SGR05ejorHbVAa/84Hxh/2nAztjNXc4ZjOm9NUIk6/Z6LCrBvJZqjRZbN8e/nROVUPVdg==";
       };
     };
-    "@sinonjs/commons-1.8.1" = {
+    "@sinonjs/commons-1.8.2" = {
       name = "_at_sinonjs_slash_commons";
       packageName = "@sinonjs/commons";
-      version = "1.8.1";
+      version = "1.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz";
-        sha512 = "892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==";
+        url = "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.2.tgz";
+        sha512 = "sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw==";
       };
     };
     "@sinonjs/fake-timers-6.0.1" = {
@@ -238,22 +238,13 @@ let
         sha512 = "MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==";
       };
     };
-    "@sinonjs/formatio-5.0.1" = {
-      name = "_at_sinonjs_slash_formatio";
-      packageName = "@sinonjs/formatio";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-5.0.1.tgz";
-        sha512 = "KaiQ5pBf1MpS09MuA0kp6KBQt2JUOQycqVG1NZXvzeaXe5LGFqAKueIS0bw4w0P9r7KuBSVdUk5QjXsUdu2CxQ==";
-      };
-    };
-    "@sinonjs/samsam-5.2.0" = {
+    "@sinonjs/samsam-5.3.1" = {
       name = "_at_sinonjs_slash_samsam";
       packageName = "@sinonjs/samsam";
-      version = "5.2.0";
+      version = "5.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.2.0.tgz";
-        sha512 = "CaIcyX5cDsjcW/ab7HposFWzV1kC++4HNsfnEdFJa7cP1QIuILAKV+BgfeqRXhcnSAc76r/Rh/O5C+300BwUIw==";
+        url = "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.1.tgz";
+        sha512 = "1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg==";
       };
     };
     "@sinonjs/text-encoding-0.7.1" = {
@@ -319,6 +310,15 @@ let
         sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==";
       };
     };
+    "ajv-7.0.4" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "7.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv/-/ajv-7.0.4.tgz";
+        sha512 = "xzzzaqgEQfmuhbhAoqjJ8T/1okb6gAzXn/eQRNpAN1AEUoHJTNF9xCDRTtf/s3SKldtZfa+RJeTs+BQq+eZ/sw==";
+      };
+    };
     "ansi-colors-4.1.1" = {
       name = "ansi-colors";
       packageName = "ansi-colors";
@@ -472,6 +472,15 @@ let
         sha512 = "Z/JnaVEXv+A9xabHzN43FiiiWEE7gPCRXMrVmRm00tWbjZRul1iHm7ECzlyNq1p4a4ATXz+G9FJ3GqGOkOV3fg==";
       };
     };
+    "array-back-5.0.0" = {
+      name = "array-back";
+      packageName = "array-back";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-back/-/array-back-5.0.0.tgz";
+        sha512 = "kgVWwJReZWmVuWOQKEOohXKJX+nD02JAZ54D1RRWlv8L0NebauKAaFxACKzB74RTclt1+WNz5KHaLRDAPZbDEw==";
+      };
+    };
     "array-uniq-1.0.3" = {
       name = "array-uniq";
       packageName = "array-uniq";
@@ -508,13 +517,13 @@ let
         sha512 = "jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==";
       };
     };
-    "astral-regex-1.0.0" = {
+    "astral-regex-2.0.0" = {
       name = "astral-regex";
       packageName = "astral-regex";
-      version = "1.0.0";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz";
-        sha512 = "+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==";
+        url = "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz";
+        sha512 = "Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==";
       };
     };
     "async-1.0.0" = {
@@ -571,15 +580,6 @@ let
         sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
       };
     };
-    "aws4-1.10.1" = {
-      name = "aws4";
-      packageName = "aws4";
-      version = "1.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz";
-        sha512 = "zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==";
-      };
-    };
     "aws4-1.11.0" = {
       name = "aws4";
       packageName = "aws4";
@@ -598,13 +598,13 @@ let
         sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
       };
     };
-    "base64-js-1.3.1" = {
+    "base64-js-1.5.1" = {
       name = "base64-js";
       packageName = "base64-js";
-      version = "1.3.1";
+      version = "1.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz";
-        sha512 = "mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==";
+        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz";
+        sha512 = "AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==";
       };
     };
     "bcrypt-pbkdf-1.0.2" = {
@@ -616,13 +616,13 @@ let
         sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
       };
     };
-    "binary-extensions-2.1.0" = {
+    "binary-extensions-2.2.0" = {
       name = "binary-extensions";
       packageName = "binary-extensions";
-      version = "2.1.0";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz";
-        sha512 = "1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==";
+        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz";
+        sha512 = "jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==";
       };
     };
     "bl-1.2.3" = {
@@ -1030,22 +1030,22 @@ let
         sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
       };
     };
-    "commander-5.1.0" = {
+    "commander-6.2.0" = {
       name = "commander";
       packageName = "commander";
-      version = "5.1.0";
+      version = "6.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz";
-        sha512 = "P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==";
+        url = "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz";
+        sha512 = "zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==";
       };
     };
-    "commander-6.2.0" = {
+    "commander-6.2.1" = {
       name = "commander";
       packageName = "commander";
-      version = "6.2.0";
+      version = "6.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz";
-        sha512 = "zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==";
+        url = "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz";
+        sha512 = "U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==";
       };
     };
     "comment-parser-0.7.6" = {
@@ -1129,13 +1129,13 @@ let
         sha512 = "iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==";
       };
     };
-    "csv-parse-4.12.0" = {
+    "csv-parse-4.14.2" = {
       name = "csv-parse";
       packageName = "csv-parse";
-      version = "4.12.0";
+      version = "4.14.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/csv-parse/-/csv-parse-4.12.0.tgz";
-        sha512 = "wPQl3H79vWLPI8cgKFcQXl0NBgYYEqVnT1i6/So7OjMpsI540oD7p93r3w6fDSyPvwkTepG05F69/7AViX2lXg==";
+        url = "https://registry.npmjs.org/csv-parse/-/csv-parse-4.14.2.tgz";
+        sha512 = "YE2xlTKtM035/94llhgsp9qFQxGi47EkQJ1pZ+mLT/98GpIsbjkMGAb7Rmu9hNxVfYFOLf10hP+rPVqnoccLgw==";
       };
     };
     "cycle-1.0.3" = {
@@ -1174,13 +1174,13 @@ let
         sha1 = "32b4b3105e8861043a6f9ac755d80e542d365b31";
       };
     };
-    "debug-3.2.6" = {
+    "debug-3.2.7" = {
       name = "debug";
       packageName = "debug";
-      version = "3.2.6";
+      version = "3.2.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz";
-        sha512 = "mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==";
+        url = "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz";
+        sha512 = "CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==";
       };
     };
     "debug-4.2.0" = {
@@ -1192,13 +1192,13 @@ let
         sha512 = "IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==";
       };
     };
-    "debug-4.3.0" = {
+    "debug-4.3.2" = {
       name = "debug";
       packageName = "debug";
-      version = "4.3.0";
+      version = "4.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-4.3.0.tgz";
-        sha512 = "jjO6JD2rKfiZQnBoRzhRTbXjHLGLfH+UtGkWLc/UXAh/rzZMyjbgn0NcfFpqT8nd1kTtFnDiJcrIFkq4UKeJVg==";
+        url = "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz";
+        sha512 = "mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==";
       };
     };
     "decamelize-1.2.0" = {
@@ -1336,13 +1336,13 @@ let
         sha512 = "BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==";
       };
     };
-    "domelementtype-2.0.2" = {
+    "domelementtype-2.1.0" = {
       name = "domelementtype";
       packageName = "domelementtype";
-      version = "2.0.2";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz";
-        sha512 = "wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==";
+        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz";
+        sha512 = "LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==";
       };
     };
     "domhandler-2.4.2" = {
@@ -1435,13 +1435,13 @@ let
         sha512 = "MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==";
       };
     };
-    "entities-2.1.0" = {
+    "entities-2.2.0" = {
       name = "entities";
       packageName = "entities";
-      version = "2.1.0";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz";
-        sha512 = "hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==";
+        url = "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz";
+        sha512 = "p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==";
       };
     };
     "es6-error-4.1.1" = {
@@ -1489,22 +1489,22 @@ let
         sha512 = "TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==";
       };
     };
-    "eslint-7.12.1" = {
+    "eslint-7.19.0" = {
       name = "eslint";
       packageName = "eslint";
-      version = "7.12.1";
+      version = "7.19.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-7.12.1.tgz";
-        sha512 = "HlMTEdr/LicJfN08LB3nM1rRYliDXOmfoO4vj39xN6BLpFzF00hbwBoqHk8UcJ2M/3nlARZWy/mslvGEuZFvsg==";
+        url = "https://registry.npmjs.org/eslint/-/eslint-7.19.0.tgz";
+        sha512 = "CGlMgJY56JZ9ZSYhJuhow61lMPPjUzWmChFya71Z/jilVos7mR/jPgaEfVGgMBY5DshbKdG8Ezb8FDCHcoMEMg==";
       };
     };
-    "eslint-plugin-jsdoc-30.7.6" = {
+    "eslint-plugin-jsdoc-30.7.13" = {
       name = "eslint-plugin-jsdoc";
       packageName = "eslint-plugin-jsdoc";
-      version = "30.7.6";
+      version = "30.7.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-30.7.6.tgz";
-        sha512 = "w18IOiS/9ahKgRfQOuHbce+EQYx3fwIkZhUZDEK+augNlhJkzgTSZkrBkzaflSbFNZ9/Tk4xzUABEaTbsBSzew==";
+        url = "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-30.7.13.tgz";
+        sha512 = "YM4WIsmurrp0rHX6XiXQppqKB8Ne5ATiZLJe2+/fkp9l9ExXFr43BbAbjZaVrpCT+tuPYOZ8k1MICARHnURUNQ==";
       };
     };
     "eslint-plugin-lodash-7.1.0" = {
@@ -1570,13 +1570,13 @@ let
         sha512 = "QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==";
       };
     };
-    "espree-7.3.0" = {
+    "espree-7.3.1" = {
       name = "espree";
       packageName = "espree";
-      version = "7.3.0";
+      version = "7.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz";
-        sha512 = "dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==";
+        url = "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz";
+        sha512 = "v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==";
       };
     };
     "esprima-4.0.1" = {
@@ -1705,13 +1705,13 @@ let
         sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
       };
     };
-    "file-entry-cache-5.0.1" = {
+    "file-entry-cache-6.0.0" = {
       name = "file-entry-cache";
       packageName = "file-entry-cache";
-      version = "5.0.1";
+      version = "6.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz";
-        sha512 = "bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==";
+        url = "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz";
+        sha512 = "fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==";
       };
     };
     "file-set-4.0.1" = {
@@ -1804,22 +1804,13 @@ let
         sha512 = "b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==";
       };
     };
-    "flat-cache-2.0.1" = {
+    "flat-cache-3.0.4" = {
       name = "flat-cache";
       packageName = "flat-cache";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz";
-        sha512 = "LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==";
-      };
-    };
-    "flatted-2.0.2" = {
-      name = "flatted";
-      packageName = "flatted";
-      version = "2.0.2";
+      version = "3.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz";
-        sha512 = "r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==";
+        url = "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz";
+        sha512 = "dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==";
       };
     };
     "flatted-3.1.0" = {
@@ -1849,13 +1840,13 @@ let
         sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
       };
     };
-    "fromentries-1.3.1" = {
+    "fromentries-1.3.2" = {
       name = "fromentries";
       packageName = "fromentries";
-      version = "1.3.1";
+      version = "1.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fromentries/-/fromentries-1.3.1.tgz";
-        sha512 = "w4t/zm2J+uAcrpeKyW0VmYiIs3aqe/xKQ+2qwazVNZSCklQHhaVjk6XzKw5GtImq5thgL0IVRjGRAOastb08RQ==";
+        url = "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz";
+        sha512 = "cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==";
       };
     };
     "fs-constants-1.0.0" = {
@@ -2173,13 +2164,13 @@ let
         sha512 = "cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==";
       };
     };
-    "import-fresh-3.2.2" = {
+    "import-fresh-3.3.0" = {
       name = "import-fresh";
       packageName = "import-fresh";
-      version = "3.2.2";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz";
-        sha512 = "cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==";
+        url = "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz";
+        sha512 = "veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==";
       };
     };
     "imurmurhash-0.1.4" = {
@@ -2254,13 +2245,13 @@ let
         sha512 = "ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==";
       };
     };
-    "is-core-module-2.0.0" = {
+    "is-core-module-2.2.0" = {
       name = "is-core-module";
       packageName = "is-core-module";
-      version = "2.0.0";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.0.0.tgz";
-        sha512 = "jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw==";
+        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz";
+        sha512 = "XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==";
       };
     };
     "is-extglob-2.1.1" = {
@@ -2479,6 +2470,15 @@ let
         sha512 = "/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==";
       };
     };
+    "js-yaml-3.14.1" = {
+      name = "js-yaml";
+      packageName = "js-yaml";
+      version = "3.14.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz";
+        sha512 = "okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==";
+      };
+    };
     "js2xmlparser-4.0.1" = {
       name = "js2xmlparser";
       packageName = "js2xmlparser";
@@ -2569,6 +2569,15 @@ let
         sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
       };
     };
+    "json-schema-traverse-1.0.0" = {
+      name = "json-schema-traverse";
+      packageName = "json-schema-traverse";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz";
+        sha512 = "NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==";
+      };
+    };
     "json-stable-stringify-without-jsonify-1.0.1" = {
       name = "json-stable-stringify-without-jsonify";
       packageName = "json-stable-stringify-without-jsonify";
@@ -2587,13 +2596,13 @@ let
         sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
       };
     };
-    "json5-2.1.3" = {
+    "json5-2.2.0" = {
       name = "json5";
       packageName = "json5";
-      version = "2.1.3";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz";
-        sha512 = "KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==";
+        url = "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz";
+        sha512 = "f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==";
       };
     };
     "jsonparse-1.3.1" = {
@@ -2713,15 +2722,6 @@ let
         sha1 = "5bf45e8e49ba4189e17d482789dfd15bd140b7b6";
       };
     };
-    "lodash-4.17.19" = {
-      name = "lodash";
-      packageName = "lodash";
-      version = "4.17.19";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz";
-        sha512 = "JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==";
-      };
-    };
     "lodash-4.17.20" = {
       name = "lodash";
       packageName = "lodash";
@@ -2857,6 +2857,15 @@ let
         sha512 = "sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==";
       };
     };
+    "lru-cache-6.0.0" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz";
+        sha512 = "Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==";
+      };
+    };
     "make-dir-1.3.0" = {
       name = "make-dir";
       packageName = "make-dir";
@@ -2902,13 +2911,13 @@ let
         sha512 = "EGwzEeCcLniFX51DhTpmTom+dSA/MG/OBUDjnWtHbEnjAH180VzUeAw+oE4+Zv+CoYBWyRlYOTR0N8SO9R1PVw==";
       };
     };
-    "marked-1.2.0" = {
+    "marked-1.2.7" = {
       name = "marked";
       packageName = "marked";
-      version = "1.2.0";
+      version = "1.2.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/marked/-/marked-1.2.0.tgz";
-        sha512 = "tiRxakgbNPBr301ihe/785NntvYyhxlqcL3YaC8CaxJQh7kiaEtrN9B/eK2I2943Yjkh5gw25chYFDQhOMCwMA==";
+        url = "https://registry.npmjs.org/marked/-/marked-1.2.7.tgz";
+        sha512 = "No11hFYcXr/zkBvL6qFmAp1z6BKY3zqLMHny/JN/ey+al7qwCM2+CMBL9BOgqMxZU36fz4cCWfn2poWIf7QRXA==";
       };
     };
     "mdurl-1.0.1" = {
@@ -2920,13 +2929,13 @@ let
         sha1 = "fe85b2ec75a59037f2adfec100fd6c601761152e";
       };
     };
-    "mime-db-1.44.0" = {
+    "mime-db-1.45.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.44.0";
+      version = "1.45.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz";
-        sha512 = "/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz";
+        sha512 = "CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==";
       };
     };
     "mime-format-2.0.0" = {
@@ -2938,13 +2947,13 @@ let
         sha1 = "e29f8891e284d78270246f0050d6834bdbbe1332";
       };
     };
-    "mime-types-2.1.27" = {
+    "mime-types-2.1.28" = {
       name = "mime-types";
       packageName = "mime-types";
-      version = "2.1.27";
+      version = "2.1.28";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz";
-        sha512 = "JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz";
+        sha512 = "0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==";
       };
     };
     "minimatch-3.0.4" = {
@@ -3010,6 +3019,15 @@ let
         sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
       };
     };
+    "ms-2.1.3" = {
+      name = "ms";
+      packageName = "ms";
+      version = "2.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz";
+        sha512 = "6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==";
+      };
+    };
     "nanoid-3.1.12" = {
       name = "nanoid";
       packageName = "nanoid";
@@ -3046,13 +3064,13 @@ let
         sha512 = "bTTRUNlemx6deJa+ZyoCUTRvH3liK5+N6VQZ4NIw90AgDXY6iPnsqplNFf6STcj+ePk0H/xqxnP75Lr0J0Fq3A==";
       };
     };
-    "nock-13.0.4" = {
+    "nock-13.0.7" = {
       name = "nock";
       packageName = "nock";
-      version = "13.0.4";
+      version = "13.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nock/-/nock-13.0.4.tgz";
-        sha512 = "alqTV8Qt7TUbc74x1pKRLSENzfjp4nywovcJgi/1aXDiUxXdt7TkruSTF5MDWPP7UoPVgea4F9ghVdmX0xxnSA==";
+        url = "https://registry.npmjs.org/nock/-/nock-13.0.7.tgz";
+        sha512 = "WBz73VYIjdbO6BwmXODRQLtn7B5tldA9pNpWJe5QTtTEscQlY5KXU4srnGzBOK2fWakkXj69gfTnXGzmrsaRWw==";
       };
     };
     "node-oauth1-1.3.0" = {
@@ -3172,13 +3190,13 @@ let
         sha512 = "//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==";
       };
     };
-    "p-limit-3.0.2" = {
+    "p-limit-3.1.0" = {
       name = "p-limit";
       packageName = "p-limit";
-      version = "3.0.2";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz";
-        sha512 = "iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==";
+        url = "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz";
+        sha512 = "TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==";
       };
     };
     "p-locate-3.0.0" = {
@@ -3325,13 +3343,13 @@ let
         sha512 = "n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==";
       };
     };
-    "pathval-1.1.0" = {
+    "pathval-1.1.1" = {
       name = "pathval";
       packageName = "pathval";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz";
-        sha1 = "b942e6d4bde653005ef6b71361def8727d0645e0";
+        url = "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz";
+        sha512 = "Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==";
       };
     };
     "performance-now-2.1.0" = {
@@ -3379,22 +3397,22 @@ let
         sha512 = "3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==";
       };
     };
-    "postman-collection-3.6.8" = {
+    "postman-collection-3.6.9" = {
       name = "postman-collection";
       packageName = "postman-collection";
-      version = "3.6.8";
+      version = "3.6.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postman-collection/-/postman-collection-3.6.8.tgz";
-        sha512 = "TNPaK2dpVRhttUFo/WN0ReopXEtuSQMktwcvwJbQ0z8K+5hftvyx2ia40xgg9qFl/Ra78qoNTUmLL1s3lRqLMg==";
+        url = "https://registry.npmjs.org/postman-collection/-/postman-collection-3.6.9.tgz";
+        sha512 = "R3A4tM/Ll6ekkfsXqqefR2r/jSyubXc9Pa/DQSbocEUKzdT3QMMb0QR5SHNjDuR1qE+bywC5dyD2FO2+DFXJ6w==";
       };
     };
-    "postman-collection-transformer-3.3.3" = {
+    "postman-collection-transformer-4.0.0" = {
       name = "postman-collection-transformer";
       packageName = "postman-collection-transformer";
-      version = "3.3.3";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postman-collection-transformer/-/postman-collection-transformer-3.3.3.tgz";
-        sha512 = "Ra0hfljwB6xnGJ7a638K0TkXTf5BuwGNo1Ahpa9ECehOTOlUFisE8dqX5VZl04QGbpvN5nmr0rwrtLXtK53Abg==";
+        url = "https://registry.npmjs.org/postman-collection-transformer/-/postman-collection-transformer-4.0.0.tgz";
+        sha512 = "AGNGiSvMR7uJpuf2PpYbteYTsE/xsutyuUTaIRCcBhw8h0PS4vyQHua15uNB+PRaNsV8wKFm30T6z23yUg0rKg==";
       };
     };
     "postman-jsdoc-theme-0.0.3" = {
@@ -3406,40 +3424,40 @@ let
         sha1 = "60e4fbf3b2175f772520b3c978c07a8bd32b5829";
       };
     };
-    "postman-request-2.88.1-postman.27" = {
+    "postman-request-2.88.1-postman.28" = {
       name = "postman-request";
       packageName = "postman-request";
-      version = "2.88.1-postman.27";
+      version = "2.88.1-postman.28";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postman-request/-/postman-request-2.88.1-postman.27.tgz";
-        sha512 = "4Qc7p3/cbp5S4Q6LcOzJ+K5N7loWDKjW0S9hj8M2AMJDUVcFUbdgvQb6ZfTERz2+34xP9ByCy7VhdnNCATe/bA==";
+        url = "https://registry.npmjs.org/postman-request/-/postman-request-2.88.1-postman.28.tgz";
+        sha512 = "QjhC9tIuHZTlYJafzCz7u+Nq57NgtOhJmt94RjcNyzpIts1QbihmAgYm0OhNoqcOIU91sNi2aYw2PCyAJR3kcQ==";
       };
     };
-    "postman-runtime-7.26.8" = {
+    "postman-runtime-7.26.10" = {
       name = "postman-runtime";
       packageName = "postman-runtime";
-      version = "7.26.8";
+      version = "7.26.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postman-runtime/-/postman-runtime-7.26.8.tgz";
-        sha512 = "ZMUZ7mQ2SMOX/C/ntgx2SAfRt3VV6wOy+aLyWbAqpQPo5Jfodxwv9QhxGj3S2km+IYzO6BT1luzE8X8fr2UafA==";
+        url = "https://registry.npmjs.org/postman-runtime/-/postman-runtime-7.26.10.tgz";
+        sha512 = "rYrSF/G0FoWHvOfbEuKVAgKYU8Nl6ow4+iYfdpRfJuTNcrHmfsdumzzdRJ8n0ZY0awAyrrtcAUr/NvSfdof3qA==";
       };
     };
-    "postman-sandbox-4.0.0" = {
+    "postman-sandbox-4.0.1" = {
       name = "postman-sandbox";
       packageName = "postman-sandbox";
-      version = "4.0.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postman-sandbox/-/postman-sandbox-4.0.0.tgz";
-        sha512 = "0j1VCDa5MHMTfZqv2XSYUyn+hgT9izoRdGFAvjtHCH+i+2TP1KxqXzjxXzOdx1pt26wpl9APdJ2hKKFpx9UlrQ==";
+        url = "https://registry.npmjs.org/postman-sandbox/-/postman-sandbox-4.0.1.tgz";
+        sha512 = "m0Jw95y5kzSdCY3yWf/hZlkqYxRyBG5sxqiI2D/48nKiHnYLkyMSHErRDJbMj7K4tjXBXn+BKWpWnRsf+iBdlw==";
       };
     };
-    "postman-url-encoder-3.0.0" = {
+    "postman-url-encoder-3.0.1" = {
       name = "postman-url-encoder";
       packageName = "postman-url-encoder";
-      version = "3.0.0";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postman-url-encoder/-/postman-url-encoder-3.0.0.tgz";
-        sha512 = "bk5wus5/5Ei9pbh+sQXaAxS5n4ZwiNAaIA8VBvRcXP6QyKcue2yF6xk1HqdtaZoH1G8+6509SVeOBojoFQ7nrA==";
+        url = "https://registry.npmjs.org/postman-url-encoder/-/postman-url-encoder-3.0.1.tgz";
+        sha512 = "dMPqXnkDlstM2Eya+Gw4MIGWEan8TzldDcUKZIhZUsJ/G5JjubfQPhFhVWKzuATDMvwvrWbSjF+8VmAvbu6giw==";
       };
     };
     "prelude-ls-1.2.1" = {
@@ -3712,6 +3730,15 @@ let
         sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
       };
     };
+    "require-from-string-2.0.2" = {
+      name = "require-from-string";
+      packageName = "require-from-string";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz";
+        sha512 = "Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==";
+      };
+    };
     "require-main-filename-2.0.0" = {
       name = "require-main-filename";
       packageName = "require-main-filename";
@@ -3730,13 +3757,13 @@ let
         sha512 = "YanoyJjykPxGHii0fZP0uUPEXpvqfBDxWV7s6GKAiiOsiqhX6vHNyW3Qzdmqp/iq/ExbhaGbVrjB4ruEVSM4GQ==";
       };
     };
-    "resolve-1.18.1" = {
+    "resolve-1.19.0" = {
       name = "resolve";
       packageName = "resolve";
-      version = "1.18.1";
+      version = "1.19.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz";
-        sha512 = "lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==";
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz";
+        sha512 = "rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==";
       };
     };
     "resolve-from-4.0.0" = {
@@ -3766,15 +3793,6 @@ let
         sha512 = "TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==";
       };
     };
-    "rimraf-2.6.3" = {
-      name = "rimraf";
-      packageName = "rimraf";
-      version = "2.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz";
-        sha512 = "mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==";
-      };
-    };
     "rimraf-3.0.2" = {
       name = "rimraf";
       packageName = "rimraf";
@@ -3856,13 +3874,13 @@ let
         sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
       };
     };
-    "semver-7.3.2" = {
+    "semver-7.3.4" = {
       name = "semver";
       packageName = "semver";
-      version = "7.3.2";
+      version = "7.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz";
-        sha512 = "OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==";
+        url = "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz";
+        sha512 = "tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==";
       };
     };
     "serialised-error-1.1.3" = {
@@ -3946,31 +3964,31 @@ let
         sha512 = "VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==";
       };
     };
-    "sinon-9.2.1" = {
+    "sinon-9.2.4" = {
       name = "sinon";
       packageName = "sinon";
-      version = "9.2.1";
+      version = "9.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sinon/-/sinon-9.2.1.tgz";
-        sha512 = "naPfsamB5KEE1aiioaoqJ6MEhdUs/2vtI5w1hPAXX/UwvoPjXcwh1m5HiKx0HGgKR8lQSoFIgY5jM6KK8VrS9w==";
+        url = "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz";
+        sha512 = "zljcULZQsJxVra28qIAL6ow1Z9tpattkCTEJR4RBP3TGc00FcttsP5pK284Nas5WjMZU5Yzy3kAIp3B3KRf5Yg==";
       };
     };
-    "slice-ansi-2.1.0" = {
+    "slice-ansi-4.0.0" = {
       name = "slice-ansi";
       packageName = "slice-ansi";
-      version = "2.1.0";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz";
-        sha512 = "Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==";
+        url = "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz";
+        sha512 = "qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==";
       };
     };
-    "sort-array-4.1.2" = {
+    "sort-array-4.1.3" = {
       name = "sort-array";
       packageName = "sort-array";
-      version = "4.1.2";
+      version = "4.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sort-array/-/sort-array-4.1.2.tgz";
-        sha512 = "G5IUpM+OcVnyaWHMv84Y/RQYiFQoSu6eUtJZu840iM6nR7zeY/eOGny2epkr5VKqCGDkOj3UBzOluDZ7hFpljA==";
+        url = "https://registry.npmjs.org/sort-array/-/sort-array-4.1.3.tgz";
+        sha512 = "6auiM0DNob/zF+7Ae/SM4BFL5D7DPK/HVcllhVu5V+FgoCPs0A6b6ZwJDuvJpXQgFpxqLZUOD2kdxqO4Z59dkg==";
       };
     };
     "source-map-0.5.7" = {
@@ -4018,13 +4036,13 @@ let
         sha512 = "cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==";
       };
     };
-    "spdx-license-ids-3.0.6" = {
+    "spdx-license-ids-3.0.7" = {
       name = "spdx-license-ids";
       packageName = "spdx-license-ids";
-      version = "3.0.6";
+      version = "3.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz";
-        sha512 = "+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==";
+        url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz";
+        sha512 = "U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==";
       };
     };
     "split-ca-1.0.1" = {
@@ -4270,13 +4288,13 @@ let
         sha1 = "b6f9a900d496a57f02408f22198c109dda063041";
       };
     };
-    "table-5.4.6" = {
+    "table-6.0.7" = {
       name = "table";
       packageName = "table";
-      version = "5.4.6";
+      version = "6.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/table/-/table-5.4.6.tgz";
-        sha512 = "wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==";
+        url = "https://registry.npmjs.org/table/-/table-6.0.7.tgz";
+        sha512 = "rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==";
       };
     };
     "table-layout-0.4.5" = {
@@ -4522,13 +4540,13 @@ let
         sha512 = "8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==";
       };
     };
-    "uglify-js-3.11.5" = {
+    "uglify-js-3.12.6" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.11.5";
+      version = "3.12.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.11.5.tgz";
-        sha512 = "btvv/baMqe7HxP7zJSF7Uc16h1mSfuuSplT0/qdjxseesDU+yYzH33eHBH+eMdeRXwujXspaCTooWHQVVBh09w==";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.6.tgz";
+        sha512 = "aqWHe3DfQmZUDGWBbabZ2eQnJlQd1fKlMUu7gV+MiTuDzdgDw31bI3wA2jLLsV/hNcDP26IfyEgSVoft5+0SVw==";
       };
     };
     "underscore-1.10.2" = {
@@ -4549,13 +4567,13 @@ let
         sha1 = "6bbaf0877500d36be34ecaa584e0db9fef035209";
       };
     };
-    "uri-js-4.4.0" = {
+    "uri-js-4.4.1" = {
       name = "uri-js";
       packageName = "uri-js";
-      version = "4.4.0";
+      version = "4.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz";
-        sha512 = "B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==";
+        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz";
+        sha512 = "7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==";
       };
     };
     "utcstring-0.1.0" = {
@@ -4729,15 +4747,6 @@ let
         sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
       };
     };
-    "write-1.0.3" = {
-      name = "write";
-      packageName = "write";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/write/-/write-1.0.3.tgz";
-        sha512 = "/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==";
-      };
-    };
     "write-file-atomic-3.0.3" = {
       name = "write-file-atomic";
       packageName = "write-file-atomic";
@@ -4801,13 +4810,13 @@ let
         sha512 = "LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==";
       };
     };
-    "y18n-4.0.0" = {
+    "y18n-4.0.1" = {
       name = "y18n";
       packageName = "y18n";
-      version = "4.0.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz";
-        sha512 = "r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==";
+        url = "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz";
+        sha512 = "wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==";
       };
     };
     "yallist-2.1.2" = {
@@ -4819,6 +4828,15 @@ let
         sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52";
       };
     };
+    "yallist-4.0.0" = {
+      name = "yallist";
+      packageName = "yallist";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz";
+        sha512 = "3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==";
+      };
+    };
     "yargs-13.3.2" = {
       name = "yargs";
       packageName = "yargs";
@@ -4864,55 +4882,67 @@ let
         sha512 = "7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==";
       };
     };
+    "yocto-queue-0.1.0" = {
+      name = "yocto-queue";
+      packageName = "yocto-queue";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz";
+        sha512 = "rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==";
+      };
+    };
   };
 in
 {
   newman = nodeEnv.buildNodePackage {
     name = "newman";
     packageName = "newman";
-    version = "5.2.1";
+    version = "5.2.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/newman/-/newman-5.2.1.tgz";
-      sha512 = "kEuTMQCiORHZFx92sPVih8RHsJ40JxgxvlsrUe6MFXLQg2/UrO1KaUQCDabTy41tOu0a+dx6Mtg+x+uK1rCPcA==";
+      url = "https://registry.npmjs.org/newman/-/newman-5.2.2.tgz";
+      sha512 = "aRkh8eeRkKBlwxwBSdYQFZVLvSNMfRDmwPUfddlYR6PwZVKwukmoJmo9QTkRmo6vehgMmt2RTVkfwIIp73X1gg==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.10.4"
-      (sources."@babel/core-7.12.3" // {
+      sources."@babel/code-frame-7.12.11"
+      (sources."@babel/core-7.12.10" // {
         dependencies = [
-          sources."debug-4.3.0"
+          sources."debug-4.3.2"
+          sources."ms-2.1.2"
           sources."semver-5.7.1"
           sources."source-map-0.5.7"
         ];
       })
-      (sources."@babel/generator-7.12.5" // {
+      (sources."@babel/generator-7.12.11" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
       })
-      sources."@babel/helper-function-name-7.10.4"
-      sources."@babel/helper-get-function-arity-7.10.4"
-      sources."@babel/helper-member-expression-to-functions-7.12.1"
+      sources."@babel/helper-function-name-7.12.11"
+      sources."@babel/helper-get-function-arity-7.12.10"
+      sources."@babel/helper-member-expression-to-functions-7.12.7"
       sources."@babel/helper-module-imports-7.12.5"
       sources."@babel/helper-module-transforms-7.12.1"
-      sources."@babel/helper-optimise-call-expression-7.10.4"
-      sources."@babel/helper-replace-supers-7.12.5"
+      sources."@babel/helper-optimise-call-expression-7.12.10"
+      sources."@babel/helper-replace-supers-7.12.11"
       sources."@babel/helper-simple-access-7.12.1"
-      sources."@babel/helper-split-export-declaration-7.11.0"
-      sources."@babel/helper-validator-identifier-7.10.4"
+      sources."@babel/helper-split-export-declaration-7.12.11"
+      sources."@babel/helper-validator-identifier-7.12.11"
       sources."@babel/helpers-7.12.5"
       sources."@babel/highlight-7.10.4"
-      sources."@babel/parser-7.12.5"
-      sources."@babel/template-7.10.4"
-      (sources."@babel/traverse-7.12.5" // {
+      sources."@babel/parser-7.12.11"
+      sources."@babel/template-7.12.7"
+      (sources."@babel/traverse-7.12.12" // {
         dependencies = [
-          sources."debug-4.3.0"
+          sources."debug-4.3.2"
           sources."globals-11.12.0"
+          sources."ms-2.1.2"
         ];
       })
-      sources."@babel/types-7.12.6"
-      (sources."@eslint/eslintrc-0.2.1" // {
+      sources."@babel/types-7.12.12"
+      (sources."@eslint/eslintrc-0.3.0" // {
         dependencies = [
-          sources."debug-4.3.0"
+          sources."debug-4.3.2"
+          sources."ms-2.1.2"
         ];
       })
       (sources."@istanbuljs/load-nyc-config-1.1.0" // {
@@ -4926,10 +4956,9 @@ in
       sources."@istanbuljs/schema-0.1.2"
       sources."@postman/form-data-3.1.1"
       sources."@postman/tunnel-agent-0.6.3"
-      sources."@sinonjs/commons-1.8.1"
+      sources."@sinonjs/commons-1.8.2"
       sources."@sinonjs/fake-timers-6.0.1"
-      sources."@sinonjs/formatio-5.0.1"
-      sources."@sinonjs/samsam-5.2.0"
+      sources."@sinonjs/samsam-5.3.1"
       sources."@sinonjs/text-encoding-0.7.1"
       sources."@ungap/promise-all-settled-1.1.2"
       sources."JSONStream-1.3.2"
@@ -4954,15 +4983,15 @@ in
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
       sources."assertion-error-1.1.0"
-      sources."astral-regex-1.0.0"
+      sources."astral-regex-2.0.0"
       sources."async-3.2.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
       sources."balanced-match-1.0.0"
-      sources."base64-js-1.3.1"
+      sources."base64-js-1.5.1"
       sources."bcrypt-pbkdf-1.0.2"
-      sources."binary-extensions-2.1.0"
+      sources."binary-extensions-2.2.0"
       (sources."bl-1.2.3" // {
         dependencies = [
           (sources."readable-stream-2.3.7" // {
@@ -5037,7 +5066,7 @@ in
           sources."array-back-2.0.0"
         ];
       })
-      sources."commander-6.2.0"
+      sources."commander-6.2.1"
       sources."comment-parser-0.7.6"
       sources."common-sequence-2.0.0"
       sources."commondir-1.0.1"
@@ -5061,12 +5090,12 @@ in
       })
       sources."core-util-is-1.0.2"
       sources."cross-spawn-7.0.3"
-      sources."csv-parse-4.12.0"
+      sources."csv-parse-4.14.2"
       sources."cycle-1.0.3"
       sources."dashdash-1.14.1"
       sources."date-format-0.0.2"
       sources."dbug-0.4.2"
-      sources."debug-3.2.6"
+      sources."debug-3.2.7"
       sources."decamelize-1.2.0"
       sources."deep-eql-3.0.1"
       sources."deep-extend-0.6.0"
@@ -5097,8 +5126,8 @@ in
       sources."doctrine-3.0.0"
       (sources."dom-serializer-0.2.2" // {
         dependencies = [
-          sources."domelementtype-2.0.2"
-          sources."entities-2.1.0"
+          sources."domelementtype-2.1.0"
+          sources."entities-2.2.0"
         ];
       })
       sources."domelementtype-1.3.1"
@@ -5108,7 +5137,9 @@ in
       (sources."editorconfig-0.15.3" // {
         dependencies = [
           sources."commander-2.20.3"
+          sources."lru-cache-4.1.5"
           sources."semver-5.7.1"
+          sources."yallist-2.1.2"
         ];
       })
       sources."emoji-regex-8.0.0"
@@ -5118,20 +5149,22 @@ in
       sources."es6-error-4.1.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
-      (sources."eslint-7.12.1" // {
+      (sources."eslint-7.19.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.0"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
-          sources."debug-4.3.0"
+          sources."debug-4.3.2"
           sources."has-flag-4.0.0"
+          sources."ms-2.1.2"
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."eslint-plugin-jsdoc-30.7.6" // {
+      (sources."eslint-plugin-jsdoc-30.7.13" // {
         dependencies = [
-          sources."debug-4.3.0"
+          sources."debug-4.3.2"
+          sources."ms-2.1.2"
         ];
       })
       sources."eslint-plugin-lodash-7.1.0"
@@ -5144,7 +5177,7 @@ in
         ];
       })
       sources."eslint-visitor-keys-2.0.0"
-      (sources."espree-7.3.0" // {
+      (sources."espree-7.3.1" // {
         dependencies = [
           sources."eslint-visitor-keys-1.3.0"
         ];
@@ -5170,7 +5203,7 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
-      sources."file-entry-cache-5.0.1"
+      sources."file-entry-cache-6.0.0"
       sources."file-set-4.0.1"
       sources."file-type-3.9.0"
       sources."filesize-6.1.0"
@@ -5188,15 +5221,11 @@ in
       })
       sources."find-up-5.0.0"
       sources."flat-5.0.2"
-      (sources."flat-cache-2.0.1" // {
-        dependencies = [
-          sources."flatted-2.0.2"
-        ];
-      })
+      sources."flat-cache-3.0.4"
       sources."flatted-3.1.0"
       sources."foreground-child-2.0.0"
       sources."forever-agent-0.6.1"
-      sources."fromentries-1.3.1"
+      sources."fromentries-1.3.2"
       sources."fs-constants-1.0.0"
       sources."fs-then-native-2.0.0"
       sources."fs.realpath-1.0.0"
@@ -5234,7 +5263,7 @@ in
       sources."httpreq-0.4.24"
       sources."iconv-lite-0.6.2"
       sources."ignore-4.0.6"
-      (sources."import-fresh-3.2.2" // {
+      (sources."import-fresh-3.3.0" // {
         dependencies = [
           sources."resolve-from-4.0.0"
         ];
@@ -5255,7 +5284,7 @@ in
       sources."interpret-1.4.0"
       sources."ip-regex-2.1.0"
       sources."is-binary-path-2.1.0"
-      sources."is-core-module-2.0.0"
+      sources."is-core-module-2.2.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.1"
@@ -5277,7 +5306,6 @@ in
       (sources."istanbul-lib-processinfo-2.0.2" // {
         dependencies = [
           sources."make-dir-3.1.0"
-          sources."rimraf-3.0.2"
           sources."semver-6.3.0"
         ];
       })
@@ -5291,13 +5319,14 @@ in
       })
       (sources."istanbul-lib-source-maps-4.0.0" // {
         dependencies = [
-          sources."debug-4.3.0"
+          sources."debug-4.3.2"
+          sources."ms-2.1.2"
         ];
       })
       sources."istanbul-reports-3.0.2"
       sources."js-sha512-0.8.0"
       sources."js-tokens-4.0.0"
-      sources."js-yaml-3.14.0"
+      sources."js-yaml-3.14.1"
       sources."js2xmlparser-4.0.1"
       sources."jsbn-0.1.1"
       (sources."jsdoc-3.6.6" // {
@@ -5317,7 +5346,7 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."json-stringify-safe-5.0.1"
-      sources."json5-2.1.3"
+      sources."json5-2.2.0"
       sources."jsonparse-1.3.1"
       sources."jsprim-1.4.1"
       (sources."junit-report-builder-2.1.0" // {
@@ -5354,7 +5383,7 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."lru-cache-4.1.5"
+      sources."lru-cache-6.0.0"
       sources."make-dir-1.3.0"
       (sources."markdown-it-10.0.0" // {
         dependencies = [
@@ -5362,11 +5391,11 @@ in
         ];
       })
       sources."markdown-it-anchor-5.3.0"
-      sources."marked-1.2.0"
+      sources."marked-1.2.7"
       sources."mdurl-1.0.1"
-      sources."mime-db-1.44.0"
+      sources."mime-db-1.45.0"
       sources."mime-format-2.0.0"
-      sources."mime-types-2.1.27"
+      sources."mime-types-2.1.28"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mkdirp-1.0.4"
@@ -5376,17 +5405,20 @@ in
           sources."debug-4.2.0"
           sources."escape-string-regexp-4.0.0"
           sources."has-flag-4.0.0"
+          sources."js-yaml-3.14.0"
+          sources."ms-2.1.2"
           sources."supports-color-7.2.0"
         ];
       })
-      sources."ms-2.1.2"
+      sources."ms-2.1.3"
       sources."nanoid-3.1.12"
       sources."natural-compare-1.4.0"
       sources."neo-async-2.6.2"
       sources."nise-4.0.4"
-      (sources."nock-13.0.4" // {
+      (sources."nock-13.0.7" // {
         dependencies = [
-          sources."debug-4.3.0"
+          sources."debug-4.3.2"
+          sources."ms-2.1.2"
         ];
       })
       sources."node-oauth1-1.3.0"
@@ -5404,7 +5436,6 @@ in
           sources."make-dir-3.1.0"
           sources."p-limit-2.3.0"
           sources."p-locate-4.1.0"
-          sources."rimraf-3.0.2"
           sources."semver-6.3.0"
           sources."wrap-ansi-6.2.0"
           sources."yargs-15.4.1"
@@ -5418,7 +5449,7 @@ in
       sources."object-to-spawn-args-2.0.0"
       sources."once-1.4.0"
       sources."optionator-0.9.1"
-      sources."p-limit-3.0.2"
+      sources."p-limit-3.1.0"
       sources."p-locate-5.0.0"
       sources."p-map-3.0.0"
       sources."p-try-2.2.0"
@@ -5443,7 +5474,7 @@ in
           sources."isarray-0.0.1"
         ];
       })
-      sources."pathval-1.1.0"
+      sources."pathval-1.1.1"
       sources."performance-now-2.1.0"
       sources."picomatch-2.2.2"
       sources."pify-3.0.0"
@@ -5460,27 +5491,25 @@ in
           sources."supports-color-6.1.0"
         ];
       })
-      sources."postman-collection-3.6.8"
-      (sources."postman-collection-transformer-3.3.3" // {
+      sources."postman-collection-3.6.9"
+      (sources."postman-collection-transformer-4.0.0" // {
         dependencies = [
-          sources."commander-5.1.0"
-          sources."lodash-4.17.19"
+          sources."commander-6.2.0"
         ];
       })
       sources."postman-jsdoc-theme-0.0.3"
-      (sources."postman-request-2.88.1-postman.27" // {
+      (sources."postman-request-2.88.1-postman.28" // {
         dependencies = [
           sources."tough-cookie-2.5.0"
         ];
       })
-      (sources."postman-runtime-7.26.8" // {
+      (sources."postman-runtime-7.26.10" // {
         dependencies = [
           sources."async-2.6.3"
-          sources."aws4-1.10.1"
         ];
       })
-      sources."postman-sandbox-4.0.0"
-      sources."postman-url-encoder-3.0.0"
+      sources."postman-sandbox-4.0.1"
+      sources."postman-url-encoder-3.0.1"
       sources."prelude-ls-1.2.1"
       sources."pretty-ms-7.0.1"
       sources."process-nextick-args-2.0.1"
@@ -5518,18 +5547,19 @@ in
       sources."regextras-0.7.1"
       sources."release-zalgo-1.0.0"
       sources."require-directory-2.1.1"
+      sources."require-from-string-2.0.2"
       sources."require-main-filename-2.0.0"
       sources."requizzle-0.2.3"
-      sources."resolve-1.18.1"
+      sources."resolve-1.19.0"
       sources."resolve-from-5.0.0"
       sources."ret-0.1.15"
-      sources."rimraf-2.6.3"
+      sources."rimraf-3.0.2"
       sources."safe-buffer-5.2.1"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
       sources."sanitize-html-1.20.1"
       sources."sax-1.2.4"
-      sources."semver-7.3.2"
+      sources."semver-7.3.4"
       (sources."serialised-error-1.1.3" // {
         dependencies = [
           sources."stack-trace-0.0.9"
@@ -5543,19 +5573,22 @@ in
       sources."shelljs-0.8.4"
       sources."sigmund-1.0.1"
       sources."signal-exit-3.0.3"
-      (sources."sinon-9.2.1" // {
+      (sources."sinon-9.2.4" // {
         dependencies = [
           sources."has-flag-4.0.0"
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."slice-ansi-2.1.0" // {
+      (sources."slice-ansi-4.0.0" // {
         dependencies = [
-          sources."is-fullwidth-code-point-2.0.0"
+          sources."ansi-styles-4.3.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
         ];
       })
-      (sources."sort-array-4.1.2" // {
+      (sources."sort-array-4.1.3" // {
         dependencies = [
+          sources."array-back-5.0.0"
           sources."typical-6.0.1"
         ];
       })
@@ -5563,13 +5596,12 @@ in
       (sources."spawn-wrap-2.0.0" // {
         dependencies = [
           sources."make-dir-3.1.0"
-          sources."rimraf-3.0.2"
           sources."semver-6.3.0"
         ];
       })
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
-      sources."spdx-license-ids-3.0.6"
+      sources."spdx-license-ids-3.0.7"
       sources."split-ca-1.0.1"
       sources."sprintf-js-1.0.3"
       sources."srcset-1.0.0"
@@ -5590,13 +5622,10 @@ in
       sources."strip-json-comments-3.1.1"
       sources."supports-color-5.5.0"
       sources."symbol-0.3.1"
-      (sources."table-5.4.6" // {
+      (sources."table-6.0.7" // {
         dependencies = [
-          sources."ansi-regex-4.1.0"
-          sources."emoji-regex-7.0.3"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."string-width-3.1.0"
-          sources."strip-ansi-5.2.0"
+          sources."ajv-7.0.4"
+          sources."json-schema-traverse-1.0.0"
         ];
       })
       (sources."table-layout-0.4.5" // {
@@ -5639,9 +5668,9 @@ in
       sources."typedarray-to-buffer-3.1.5"
       sources."typical-2.6.1"
       sources."uc.micro-1.0.6"
-      sources."uglify-js-3.11.5"
+      sources."uglify-js-3.12.6"
       sources."underscore-1.7.0"
-      sources."uri-js-4.4.0"
+      sources."uri-js-4.4.1"
       sources."utcstring-0.1.0"
       sources."util-deprecate-1.0.2"
       sources."uuid-3.4.0"
@@ -5679,11 +5708,6 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      (sources."write-1.0.3" // {
-        dependencies = [
-          sources."mkdirp-0.5.5"
-        ];
-      })
       sources."write-file-atomic-3.0.3"
       (sources."xml2js-0.4.23" // {
         dependencies = [
@@ -5693,8 +5717,8 @@ in
       sources."xmlbuilder-15.1.1"
       sources."xmlcreate-2.0.3"
       sources."xtend-4.0.2"
-      sources."y18n-4.0.0"
-      sources."yallist-2.1.2"
+      sources."y18n-4.0.1"
+      sources."yallist-4.0.0"
       (sources."yargs-13.3.2" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
@@ -5716,11 +5740,12 @@ in
           sources."decamelize-4.0.0"
         ];
       })
+      sources."yocto-queue-0.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "Command-line companion utility for Postman";
-      homepage = https://github.com/postmanlabs/newman;
+      homepage = "https://github.com/postmanlabs/newman";
       license = "Apache-2.0";
     };
     production = false;
diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix
index 68232088fa9bd..83e456e728e51 100644
--- a/pkgs/development/web/nodejs/nodejs.nix
+++ b/pkgs/development/web/nodejs/nodejs.nix
@@ -55,7 +55,7 @@ in
     buildInputs = optionals stdenv.isDarwin [ CoreServices ApplicationServices ]
       ++ [ zlib libuv openssl http-parser icu ];
 
-    nativeBuildInputs = [ which util-linux pkg-config python ]
+    nativeBuildInputs = [ which pkg-config python ]
       ++ optionals stdenv.isDarwin [ xcbuild ];
 
     configureFlags = let
diff --git a/pkgs/development/web/nodejs/v10.nix b/pkgs/development/web/nodejs/v10.nix
index cef9cd928778c..abb10aa44479e 100644
--- a/pkgs/development/web/nodejs/v10.nix
+++ b/pkgs/development/web/nodejs/v10.nix
@@ -8,7 +8,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "10.23.2";
-    sha256 = "1iyvs56x5zvvqmpr6kkamgpfj70n2rj1fh7afc7q8hj3bq7f1985";
+    version = "10.24.0";
+    sha256 = "1k1srdis23782hnd1ymgczs78x9gqhv77v0am7yb54gqcspp70hm";
     patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
   }
diff --git a/pkgs/development/web/nodejs/v12.nix b/pkgs/development/web/nodejs/v12.nix
index 7afa3bfb6b5b9..08b8025f9bc11 100644
--- a/pkgs/development/web/nodejs/v12.nix
+++ b/pkgs/development/web/nodejs/v12.nix
@@ -8,7 +8,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "12.20.1";
-    sha256 = "0lqq6a2byw4qmig98j45gqnl0593xdhx1dr9k7x2nnvhblrfw3p0";
+    version = "12.21.0";
+    sha256 = "17cp3sv6smpig5xq0z3xgnqdii6k8lm4n5d1nl9vasgmwsn3fbq5";
     patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
   }
diff --git a/pkgs/development/web/nodejs/v14.nix b/pkgs/development/web/nodejs/v14.nix
index 410be6a2495d8..9a40bf8654d74 100644
--- a/pkgs/development/web/nodejs/v14.nix
+++ b/pkgs/development/web/nodejs/v14.nix
@@ -8,7 +8,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "14.15.4";
-    sha256 = "177cxp4fhmglyx035j8smiy1bp5fz6q2phlcl0a2mdbldkvfrdxd";
+    version = "14.16.0";
+    sha256 = "19nz2mhmn6ikahxqyna1dn25pb5v3z9vsz9zb2flb6zp2yk4hxjf";
     patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
   }
diff --git a/pkgs/development/web/nodejs/v15.nix b/pkgs/development/web/nodejs/v15.nix
index a13fdc1a9e291..050e752ed007e 100644
--- a/pkgs/development/web/nodejs/v15.nix
+++ b/pkgs/development/web/nodejs/v15.nix
@@ -8,6 +8,6 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "15.7.0";
-    sha256 = "1nnv5337p23mhp0s2zgv75yysgfai0px8h1kks2mc8w0xnmwwppg";
+    version = "15.10.0";
+    sha256 = "1i7fdlkkyh5ssncbvxmiz894a12mww4cmj7y4qzm9ddbbvqxhj3p";
   }
diff --git a/pkgs/development/web/remarkjs/node-packages.nix b/pkgs/development/web/remarkjs/node-packages.nix
index e8da4a596579b..beac26c5f0073 100644
--- a/pkgs/development/web/remarkjs/node-packages.nix
+++ b/pkgs/development/web/remarkjs/node-packages.nix
@@ -1,43 +1,34 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
 let
   sources = {
-    "@sinonjs/commons-1.7.1" = {
+    "@sinonjs/commons-1.8.2" = {
       name = "_at_sinonjs_slash_commons";
       packageName = "@sinonjs/commons";
-      version = "1.7.1";
+      version = "1.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.7.1.tgz";
-        sha512 = "Debi3Baff1Qu1Unc3mjJ96MgpbwTn43S1+9yJ0llWygPwDNu2aaWBD6yc9y/Z8XDRNhx7U+u2UDg2OGQXkclUQ==";
+        url = "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.2.tgz";
+        sha512 = "sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw==";
       };
     };
-    "@sinonjs/fake-timers-6.0.0" = {
+    "@sinonjs/fake-timers-6.0.1" = {
       name = "_at_sinonjs_slash_fake-timers";
       packageName = "@sinonjs/fake-timers";
-      version = "6.0.0";
+      version = "6.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.0.tgz";
-        sha512 = "atR1J/jRXvQAb47gfzSK8zavXy7BcpnYq21ALon0U99etu99vsir0trzIO3wpeLtW+LLVY6X7EkfVTbjGSH8Ww==";
+        url = "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz";
+        sha512 = "MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==";
       };
     };
-    "@sinonjs/formatio-5.0.1" = {
-      name = "_at_sinonjs_slash_formatio";
-      packageName = "@sinonjs/formatio";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-5.0.1.tgz";
-        sha512 = "KaiQ5pBf1MpS09MuA0kp6KBQt2JUOQycqVG1NZXvzeaXe5LGFqAKueIS0bw4w0P9r7KuBSVdUk5QjXsUdu2CxQ==";
-      };
-    };
-    "@sinonjs/samsam-5.0.3" = {
+    "@sinonjs/samsam-5.3.1" = {
       name = "_at_sinonjs_slash_samsam";
       packageName = "@sinonjs/samsam";
-      version = "5.0.3";
+      version = "5.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.0.3.tgz";
-        sha512 = "QucHkc2uMJ0pFGjJUDP3F9dq5dx8QIaqISl9QgwLOh6P9yv877uONPGXh/OH/0zmM3tW1JjuJltAZV2l7zU+uQ==";
+        url = "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.1.tgz";
+        sha512 = "1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg==";
       };
     };
     "@sinonjs/text-encoding-0.7.1" = {
@@ -49,13 +40,22 @@ let
         sha512 = "+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==";
       };
     };
+    "@ungap/promise-all-settled-1.1.2" = {
+      name = "_at_ungap_slash_promise-all-settled";
+      packageName = "@ungap/promise-all-settled";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz";
+        sha512 = "sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==";
+      };
+    };
     "JSONStream-1.3.5" = {
       name = "JSONStream";
       packageName = "JSONStream";
       version = "1.3.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz";
-        sha512 = "2lyrcp8yh09p0f000ng5q5r5xwm464cx60mnyjlaw9f0as75ifl27a22cyk61zpa7zilg9k5crblj9lbbnnsi42ndymbwcqsfwaps0k";
+        sha512 = "E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==";
       };
     };
     "abbrev-1.1.1" = {
@@ -64,16 +64,16 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz";
-        sha512 = "38s4f3id97wsb0rg9nm9zvxyq0nvwrmrpa5dzvrkp36mf5ibs98b4z6lvsbrwzzs0sbcank6c7gpp06vcwp9acfhp41rzlhi3ybsxwy";
+        sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==";
       };
     };
-    "acorn-7.1.1" = {
+    "acorn-7.4.1" = {
       name = "acorn";
       packageName = "acorn";
-      version = "7.1.1";
+      version = "7.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz";
-        sha512 = "29c8jlhwnfbnqa2s1v593lcpksv4hl56lywss4gy6w0mwmhx4ydf2n7var8bhcf39nm9asph0ybnf1hkw0s0j91qi7r99ir01v7pmv9";
+        url = "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz";
+        sha512 = "nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==";
       };
     };
     "acorn-node-1.8.2" = {
@@ -82,16 +82,16 @@ let
       version = "1.8.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz";
-        sha512 = "3ja2k5v6p53920jdprvx0p83ycv68fdphfdmr72xmvg2450i37chn1f7mlvfxv4q8i14ypbnsbbyirii033qa6jkvcg5fa3r5z7wszj";
+        sha512 = "8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==";
       };
     };
-    "acorn-walk-7.1.1" = {
+    "acorn-walk-7.2.0" = {
       name = "acorn-walk";
       packageName = "acorn-walk";
-      version = "7.1.1";
+      version = "7.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.1.1.tgz";
-        sha512 = "10s7pz9c2jqw7sjmkkwfb6kyyfgb7qqpmz2gc0fq9phhmfknyw029x1jbw0cwi47wbacpwkw65601arnid2l95lmz0xbzv6ddilznf1";
+        url = "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz";
+        sha512 = "OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==";
       };
     };
     "adm-zip-0.2.1" = {
@@ -103,22 +103,13 @@ let
         sha1 = "e801cedeb5bd9a4e98d699c5c0f4239e2731dcbf";
       };
     };
-    "ajv-6.12.0" = {
-      name = "ajv";
-      packageName = "ajv";
-      version = "6.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz";
-        sha512 = "0gkcic96nmpcq311i2jfwbaa961x0mj7mkl7iwk213hyn4jgxbl0a472lcpg9dr7ybacn3i45fj6q0dz3g8rqmva7r14i9la240ba0g";
-      };
-    };
-    "ansi-colors-3.2.3" = {
+    "ansi-colors-4.1.1" = {
       name = "ansi-colors";
       packageName = "ansi-colors";
-      version = "3.2.3";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz";
-        sha512 = "2gpv8bq9jq550ygnnm5srza0w0lfg8mr8z39702l0rgxhf35sxmdzxpppvwcp50rpk0dgjz516nbkygm0fk4675kb9qsgb5x35cfh9c";
+        url = "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz";
+        sha512 = "JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==";
       };
     };
     "ansi-regex-3.0.0" = {
@@ -136,7 +127,7 @@ let
       version = "4.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz";
-        sha512 = "1v2gfp292kslpvam0l0h1iba35yi0n7dc6qv6fmxsdyfcp6zakkl13vrh3hzsw4zgh50jrrsg7xb2q2hn4g8a0dmf947mfcylymxanm";
+        sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==";
       };
     };
     "ansi-styles-3.2.1" = {
@@ -145,7 +136,16 @@ let
       version = "3.2.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
-        sha512 = "2lgkskkj4c1fsnrksy0yffda0wss84p8lfiazdc7jli7iqnvrxkzbxjzpvx13lm28qw0zkawfxvz2bdiisc72ccy7hx8i8rm4iijgam";
+        sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
+      };
+    };
+    "ansi-styles-4.3.0" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz";
+        sha512 = "zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==";
       };
     };
     "anymatch-3.1.1" = {
@@ -154,7 +154,7 @@ let
       version = "3.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz";
-        sha512 = "2776jrfn8kh9r6qhz6s43znnwvqmbqrjsch99hdv21j53sj4njyjhrya67drxk8y7hvi28mjvdjj277jy4qd2zfayrjli3cdbdkkkwq";
+        sha512 = "mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==";
       };
     };
     "argparse-1.0.10" = {
@@ -163,16 +163,16 @@ let
       version = "1.0.10";
       src = fetchurl {
         url = "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz";
-        sha512 = "17fhywmdjcp8g0ys089i5xg26yajkkg9zg8hyry3fghz75b2pq5vdx997dk5p2sc15r9nsj8rmf4f27g81hi92kzj5q86sdmg5ni553";
+        sha512 = "o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==";
       };
     };
-    "asap-2.0.6" = {
-      name = "asap";
-      packageName = "asap";
-      version = "2.0.6";
+    "array-filter-1.0.0" = {
+      name = "array-filter";
+      packageName = "array-filter";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz";
-        sha1 = "e50347611d7e690943208bbdafebcbc2fb866d46";
+        url = "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz";
+        sha1 = "baf79e62e6ef4c2a4c0b831232daffec251f9d83";
       };
     };
     "asn1-0.1.11" = {
@@ -184,22 +184,13 @@ let
         sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
       };
     };
-    "asn1-0.2.4" = {
-      name = "asn1";
-      packageName = "asn1";
-      version = "0.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz";
-        sha512 = "1v2z1ll0l8rif8hh0d03jc49kz3p8hym63q8ixbas48w4a8akl413hwn08nx83m89sj3mxl06aa0grp7n8hj6hcbsb2k3fhj913674g";
-      };
-    };
-    "asn1.js-4.10.1" = {
+    "asn1.js-5.4.1" = {
       name = "asn1.js";
       packageName = "asn1.js";
-      version = "4.10.1";
+      version = "5.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz";
-        sha512 = "15j9ms7k6dx08m1wqrvc4958vcrshjjpicpxmz9bflsyk0x2r7w20lxlm27jpyj7cwj6158a0582vifk393hqp0ysn9mlbabqw9qzd7";
+        url = "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz";
+        sha512 = "+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==";
       };
     };
     "assert-1.5.0" = {
@@ -208,7 +199,7 @@ let
       version = "1.5.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz";
-        sha512 = "1n2xh5m359gm4my50j2206n32q2h044lqrl8h122gjn41fizlrh32j1lj7wqfix1iblyvi7zvdgvzbf97f840lr17vfk8ph1imj0fqh";
+        sha512 = "EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==";
       };
     };
     "assert-plus-0.1.5" = {
@@ -220,15 +211,6 @@ let
         sha1 = "ee74009413002d84cec7219c6ac811812e723160";
       };
     };
-    "assert-plus-1.0.0" = {
-      name = "assert-plus";
-      packageName = "assert-plus";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
-        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
-      };
-    };
     "async-0.9.2" = {
       name = "async";
       packageName = "async";
@@ -238,13 +220,13 @@ let
         sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
       };
     };
-    "asynckit-0.4.0" = {
-      name = "asynckit";
-      packageName = "asynckit";
-      version = "0.4.0";
+    "available-typed-arrays-1.0.2" = {
+      name = "available-typed-arrays";
+      packageName = "available-typed-arrays";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz";
-        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+        url = "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz";
+        sha512 = "XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==";
       };
     };
     "aws-sign2-0.5.0" = {
@@ -256,24 +238,6 @@ let
         sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
       };
     };
-    "aws-sign2-0.7.0" = {
-      name = "aws-sign2";
-      packageName = "aws-sign2";
-      version = "0.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz";
-        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
-      };
-    };
-    "aws4-1.9.1" = {
-      name = "aws4";
-      packageName = "aws4";
-      version = "1.9.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz";
-        sha512 = "2x4b6c0ny64yv6ljfs6sv82akh200klmnh1m1i18hdj28ksxkr9c0szphnwcasy3g5y3l1wn858wcxnc2gi9q5wql8s678fc61xbhf0";
-      };
-    };
     "balanced-match-1.0.0" = {
       name = "balanced-match";
       packageName = "balanced-match";
@@ -283,40 +247,40 @@ let
         sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
       };
     };
-    "base64-js-1.3.1" = {
+    "base64-js-1.5.1" = {
       name = "base64-js";
       packageName = "base64-js";
-      version = "1.3.1";
+      version = "1.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz";
-        sha512 = "3mbfy80f2q6z8fwzch81hn7z0wjjsz6lwzz4jwrgr62pyql94mwi21k0l28xba2q1pydf8hf0jzzvr8w34rjmk135pjpmqfcj5kid4q";
+        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz";
+        sha512 = "AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==";
       };
     };
-    "bcrypt-pbkdf-1.0.2" = {
-      name = "bcrypt-pbkdf";
-      packageName = "bcrypt-pbkdf";
-      version = "1.0.2";
+    "binary-extensions-2.2.0" = {
+      name = "binary-extensions";
+      packageName = "binary-extensions";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
-        sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
+        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz";
+        sha512 = "jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==";
       };
     };
-    "binary-extensions-2.0.0" = {
-      name = "binary-extensions";
-      packageName = "binary-extensions";
-      version = "2.0.0";
+    "bn.js-4.11.9" = {
+      name = "bn.js";
+      packageName = "bn.js";
+      version = "4.11.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz";
-        sha512 = "2izzpdg2m0av5pzbv1zyjfi15ddz5yk1d4h9cilzc8z6pzq5abcicnm2xx4b2jdrjk2l4h3zfawsxhnbzlgvlv4700q5930k796s69y";
+        url = "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz";
+        sha512 = "E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==";
       };
     };
-    "bn.js-4.11.8" = {
+    "bn.js-5.1.3" = {
       name = "bn.js";
       packageName = "bn.js";
-      version = "4.11.8";
+      version = "5.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz";
-        sha512 = "20bg51v29zygy89w84qb64pkjikxfjdsgjs0ry6pvv8fkwn5kd1izrqn022d838q3rcaq8dmy033g7q8b6960j4f8ipan74y9ydimr2";
+        url = "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz";
+        sha512 = "GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==";
       };
     };
     "boom-0.4.2" = {
@@ -334,7 +298,7 @@ let
       version = "1.1.11";
       src = fetchurl {
         url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz";
-        sha512 = "248cnpbbf0p32h53rd3g8wzpgrkaj4p078ra1g6l16f82i6bzkvmhwqan5rk88apbll9ly1476kngd7f7z27i3b3zxpbb3064f8yaw8";
+        sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
       };
     };
     "braces-3.0.2" = {
@@ -343,7 +307,7 @@ let
       version = "3.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz";
-        sha512 = "38dmhgggv4r7xf3chli957yj4gzfv9xhif8zzaqjnxavkrs1qbmj9m84vxh42n1jl9sddy16ryp4g93l1p8dvrc1pbcvk2ippwadjvg";
+        sha512 = "b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==";
       };
     };
     "brorand-1.1.0" = {
@@ -361,16 +325,16 @@ let
       version = "6.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz";
-        sha512 = "1cav0iv5irfvilx6x14zbxil5m012hxan16cgyp9yjs6fqfg6fny2cdjimfwgil9ma8n4w8g8wv4yn843sz257p44vkbaz8qn1jxdks";
+        sha512 = "erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==";
       };
     };
-    "browser-resolve-1.11.3" = {
+    "browser-resolve-2.0.0" = {
       name = "browser-resolve";
       packageName = "browser-resolve";
-      version = "1.11.3";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz";
-        sha512 = "1slq1pnm0b2903am1rl17iczlsl08sq4rckkr5fgkchgzfac13kiibwdk08yy2m62lgir8dmj9d61vil8q0vrm1d2mzw1qn2vaf443v";
+        url = "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz";
+        sha512 = "7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==";
       };
     };
     "browser-stdout-1.3.1" = {
@@ -379,7 +343,7 @@ let
       version = "1.3.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz";
-        sha512 = "21jjhrf3wdmzsfqgva5s7shs1wdmcdxsjvi75p8z7i0q2i6n3654gpxjqlhbnpmzm25cpkshyi8swy13017qkp9m7xnbgw0bwiia45a";
+        sha512 = "qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==";
       };
     };
     "browserify-aes-1.2.0" = {
@@ -388,7 +352,7 @@ let
       version = "1.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz";
-        sha512 = "22gkxh9wf4hjxkyvj427k9r76xkz9vs63s1drwcggbpv0r7qdclzdvw167s7iq8936zak241cc5ck3bqkp6hy99zlkrbcmfl5g8gc7v";
+        sha512 = "+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==";
       };
     };
     "browserify-cipher-1.0.1" = {
@@ -397,7 +361,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz";
-        sha512 = "3bz6v63l37ndb18236yjdkbxjcvy4x16a8j7vsqxqprvnkcnkq1hg1ffd1c9zk9a3j555ppnpisfyh0x4adlb8lmpwbfa8i837n9y5h";
+        sha512 = "sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==";
       };
     };
     "browserify-des-1.0.2" = {
@@ -406,25 +370,25 @@ let
       version = "1.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz";
-        sha512 = "3j1gv3firnsbjppm47ldxbav9rmh3plq026zn728wvhgf19i4r7kxzyyj7hpibhjv61lcm9i4b869yy90c8hfj7w8rmr17p2zbhwah6";
+        sha512 = "BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==";
       };
     };
-    "browserify-rsa-4.0.1" = {
+    "browserify-rsa-4.1.0" = {
       name = "browserify-rsa";
       packageName = "browserify-rsa";
-      version = "4.0.1";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz";
-        sha1 = "21e0abfaf6f2029cf2fafb133567a701d4135524";
+        url = "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz";
+        sha512 = "AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==";
       };
     };
-    "browserify-sign-4.0.4" = {
+    "browserify-sign-4.2.1" = {
       name = "browserify-sign";
       packageName = "browserify-sign";
-      version = "4.0.4";
+      version = "4.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz";
-        sha1 = "aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298";
+        url = "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz";
+        sha512 = "/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==";
       };
     };
     "browserify-zlib-0.2.0" = {
@@ -433,16 +397,16 @@ let
       version = "0.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz";
-        sha512 = "24488d4s6d901hj9d9jdddapmcvmibbdpjq6nv3bpyjx72546fcqa0vripy0ydsrw1jk6bakfzvynh5i9cz0g59hrmn4ph75d3kdpk7";
+        sha512 = "Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==";
       };
     };
-    "buffer-5.5.0" = {
+    "buffer-5.2.1" = {
       name = "buffer";
       packageName = "buffer";
-      version = "5.5.0";
+      version = "5.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz";
-        sha512 = "9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==";
+        url = "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz";
+        sha512 = "c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==";
       };
     };
     "buffer-from-1.1.1" = {
@@ -451,7 +415,7 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz";
-        sha512 = "3c0m16i3fdv3vlq2zz8dakrnhqvs16gvggj485f91fiaa5v0p7pyhamcdw5fggr7djzd8nshmvz4hgbp7714smqxlld2an28q8if1ri";
+        sha512 = "MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==";
       };
     };
     "buffer-xor-1.0.3" = {
@@ -478,7 +442,16 @@ let
       version = "1.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz";
-        sha512 = "0icxxn530vx1cwkygvk52k2l9brpv2mdbyk0j4hyr224b23vxvh131l2m1gljpfvsikzib3x2zyiy2xngjjfz9k9n68lvq4ram8dgg6";
+        sha512 = "5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==";
+      };
+    };
+    "call-bind-1.0.2" = {
+      name = "call-bind";
+      packageName = "call-bind";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz";
+        sha512 = "7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==";
       };
     };
     "camelcase-5.3.1" = {
@@ -487,34 +460,34 @@ let
       version = "5.3.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz";
-        sha512 = "0kg17fpj4c7akmpa9x0a3fi5glrc3y5k3ppjcpb3pd02ylg3fnzfdvz0pixd223crbs5980sjaxsk9q8kcqxm5d9cb7rlkv3m614vrg";
+        sha512 = "L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==";
       };
     };
-    "caseless-0.12.0" = {
-      name = "caseless";
-      packageName = "caseless";
-      version = "0.12.0";
+    "camelcase-6.2.0" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "6.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
-        sha1 = "1b681c21ff84033c826543090689420d187151dc";
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz";
+        sha512 = "c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==";
       };
     };
-    "chalk-2.4.2" = {
+    "chalk-4.1.0" = {
       name = "chalk";
       packageName = "chalk";
-      version = "2.4.2";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz";
-        sha512 = "2wr55z22i274wadq2cvpxga28a8igq9whc4m1q06sz5sn2hc4amradd5vd02wm92vyfg2qrb0bysd5drv7mfmlb2wqdf939v5zvxn1j";
+        url = "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz";
+        sha512 = "qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==";
       };
     };
-    "chokidar-3.3.0" = {
+    "chokidar-3.4.3" = {
       name = "chokidar";
       packageName = "chokidar";
-      version = "3.3.0";
+      version = "3.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz";
-        sha512 = "3hbyi14x38mvx936wbajln4g1l8fcyi8fwvcrhf2jqn0yzcyda1d20q67k445j9bvs5kr7jdhd2s07srb2pnm7hxmjngp2k6wn8lsbl";
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz";
+        sha512 = "DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==";
       };
     };
     "cipher-base-1.0.4" = {
@@ -523,7 +496,7 @@ let
       version = "1.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz";
-        sha512 = "3cm9kdc1sv7pakzlhrc1pazdvg9lk4hv31lximwbcrgmwfzg6imxrndszgx9yzlizknfh2b73cr7b5mfcv50bldpyq6jr5s4zknsj1a";
+        sha512 = "Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==";
       };
     };
     "cli-1.0.1" = {
@@ -541,16 +514,7 @@ let
       version = "5.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz";
-        sha512 = "1fg1afsij2xwc4gpqbyhrp3s7q19w7bmii0ghmdv6cdx6giz3v0yqn25i3g7fw2lpi388jpvaf6nf9z2c7xp7w7psrww7569548d1rx";
-      };
-    };
-    "clone-2.1.2" = {
-      name = "clone";
-      packageName = "clone";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz";
-        sha1 = "1b7f4b9f591f1e8f83670401600345a02887435f";
+        sha512 = "PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==";
       };
     };
     "color-convert-1.9.3" = {
@@ -559,7 +523,16 @@ let
       version = "1.9.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz";
-        sha512 = "0d5pmdh1dh0qbpjrzdczwqkh0jwf8gxhq71mknwlxqz80h1q6kdrpghq4qfp0y4v650ia2jdihmzpb2n8hg00h72lnx05dgvysi9w21";
+        sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==";
+      };
+    };
+    "color-convert-2.0.1" = {
+      name = "color-convert";
+      packageName = "color-convert";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz";
+        sha512 = "RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==";
       };
     };
     "color-name-1.1.3" = {
@@ -571,6 +544,15 @@ let
         sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
       };
     };
+    "color-name-1.1.4" = {
+      name = "color-name";
+      packageName = "color-name";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz";
+        sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==";
+      };
+    };
     "combine-source-map-0.8.0" = {
       name = "combine-source-map";
       packageName = "combine-source-map";
@@ -589,22 +571,13 @@ let
         sha1 = "0137e657baa5a7541c57ac37ac5fc07d73b4dc1f";
       };
     };
-    "combined-stream-1.0.8" = {
-      name = "combined-stream";
-      packageName = "combined-stream";
-      version = "1.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz";
-        sha512 = "1v09nkip7zpn3k3prkkg53w331rhczpfgcqb0q42i97nafra43l2khl5zvhd4ar0qmh145nmw7944jy8p108ny0xpgy29gf2wqph0qm";
-      };
-    };
     "commander-2.20.3" = {
       name = "commander";
       packageName = "commander";
       version = "2.20.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz";
-        sha512 = "1qqrwy7z476gqa94kjjyyzyi3x49k28ji7znbc65plrp67yzmpa2yyslh6bl965yl4jqb2fwb2ljzhgcvv2xxj8ab86n5rgryc6958s";
+        sha512 = "GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==";
       };
     };
     "concat-map-0.0.1" = {
@@ -622,7 +595,7 @@ let
       version = "1.6.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz";
-        sha512 = "05nnf80j9ls12y3cw2dfnc6rmand3ya5sx9cqn9dgg19ljzdnyfjjv8ig79xi73gr2y4rkfzn9wjip2zzwp5n2d49njd3ki2a1c3cfv";
+        sha512 = "27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==";
       };
     };
     "config-chain-1.1.12" = {
@@ -631,7 +604,7 @@ let
       version = "1.1.12";
       src = fetchurl {
         url = "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz";
-        sha512 = "2hg7rni4gx8l765i8qzkp9dv69c8r06i8rxxkkkrsklbd8iz6ingxnp10r4fqqrm9jxy3gp8yp0lzpybwdf27kq49abkyxwrchqwmvb";
+        sha512 = "a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==";
       };
     };
     "console-browserify-1.1.0" = {
@@ -649,7 +622,7 @@ let
       version = "1.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz";
-        sha512 = "168x7bp4xr522yw92himv9xv14q336ps1kkg79qcmarg3q4yzpd52pa8x8zgq11b6996f8053799k6365437si3pk85w5z4y8xiijb4";
+        sha512 = "ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==";
       };
     };
     "constants-browserify-1.0.0" = {
@@ -670,6 +643,15 @@ let
         sha1 = "4829c877e9fe49b3161f3bf3673888e204699860";
       };
     };
+    "copy-anything-2.0.1" = {
+      name = "copy-anything";
+      packageName = "copy-anything";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.1.tgz";
+        sha512 = "lA57e7viQHOdPQcrytv5jFeudZZOXuyk47lZym279FiDQ8jeZomXiGuVf6ffMKkJ+3TIai3J1J3yi6M+/4U35g==";
+      };
+    };
     "core-util-is-1.0.2" = {
       name = "core-util-is";
       packageName = "core-util-is";
@@ -679,13 +661,13 @@ let
         sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
       };
     };
-    "create-ecdh-4.0.3" = {
+    "create-ecdh-4.0.4" = {
       name = "create-ecdh";
       packageName = "create-ecdh";
-      version = "4.0.3";
+      version = "4.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz";
-        sha512 = "1mhn55gf43qsdrp2klyyyxqjsd5mw9l6s51vsfj7wl44pq7ymfw68r8wkd4yd8dd6adg3k6q18sddxfjljr0gbk56lh3cqfyd00gc8r";
+        url = "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz";
+        sha512 = "mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==";
       };
     };
     "create-hash-1.2.0" = {
@@ -694,7 +676,7 @@ let
       version = "1.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz";
-        sha512 = "055xaldi3hy1bjxhvznh3470j1kq2xk827mxal79bgqik3lblax6s4inxqby27ymgcghl2hn7wnx9fnacmyq3q93hk6y327cc41nkfg";
+        sha512 = "z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==";
       };
     };
     "create-hmac-1.1.7" = {
@@ -703,7 +685,7 @@ let
       version = "1.1.7";
       src = fetchurl {
         url = "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz";
-        sha512 = "0p2jhk94k3as67lhrr1jyljkr0y65snxjzqnix0nifnfcanhilccrzkc47gwlg5wy0m8l1gv12lj78ivgmw5m1ww4f8iylr52bbv49h";
+        sha512 = "MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==";
       };
     };
     "cryptiles-0.2.2" = {
@@ -721,7 +703,7 @@ let
       version = "3.12.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz";
-        sha512 = "1d3mrhqlay037azmjp2ml5a8yyls9ijdhilv6f0znz0ajgfm972yr9bhm78wqi09p4crc3shgflk50jc63zijsqv777ikkyi2j2qgkz";
+        sha512 = "fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==";
       };
     };
     "ctype-0.5.3" = {
@@ -739,16 +721,7 @@ let
       version = "1.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz";
-        sha512 = "182hz56w7yx6vplmlvvlqz57ckfvxch0nh5sj54074r7k3ydd8wwwajcgkvg7732hwgksm5b30jfr9c30wq8zq4f663gf9ap33isbjp";
-      };
-    };
-    "dashdash-1.14.1" = {
-      name = "dashdash";
-      packageName = "dashdash";
-      version = "1.14.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz";
-        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+        sha512 = "Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==";
       };
     };
     "date-now-0.1.4" = {
@@ -760,13 +733,22 @@ let
         sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b";
       };
     };
-    "debug-3.2.6" = {
+    "debug-3.2.7" = {
       name = "debug";
       packageName = "debug";
-      version = "3.2.6";
+      version = "3.2.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz";
-        sha512 = "1cyv14044rfh792n1hhsa44kk8dk95zk14w96i49gwq6g9wi6h9vn90xaragfy7rvggqvj178l5f16c78g47xgrwhjx3bp7zs6pxscr";
+        url = "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz";
+        sha512 = "CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==";
+      };
+    };
+    "debug-4.2.0" = {
+      name = "debug";
+      packageName = "debug";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz";
+        sha512 = "IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==";
       };
     };
     "decamelize-1.2.0" = {
@@ -778,13 +760,22 @@ let
         sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
       };
     };
+    "decamelize-4.0.0" = {
+      name = "decamelize";
+      packageName = "decamelize";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz";
+        sha512 = "9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==";
+      };
+    };
     "define-properties-1.1.3" = {
       name = "define-properties";
       packageName = "define-properties";
       version = "1.1.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz";
-        sha512 = "1fsa8nx7qgi958fykj36cndsf8ygj3132if6k4a36mkf11bl2j2gn7dn2nz07mfsygkx0415yxrjpzx8j369z1767fvr57nm1h9zjnw";
+        sha512 = "3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==";
       };
     };
     "defined-1.0.0" = {
@@ -805,22 +796,13 @@ let
         sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
       };
     };
-    "delayed-stream-1.0.0" = {
-      name = "delayed-stream";
-      packageName = "delayed-stream";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
-        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
-      };
-    };
     "deps-sort-2.0.1" = {
       name = "deps-sort";
       packageName = "deps-sort";
       version = "2.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz";
-        sha512 = "1zsk235mlp9j7mkhw08fqx4rgn4r45mk4j54zf137nlyw4gs4irwwxjn6nllyv7jw30ihn1ad7xffg282zl394f52vqz9pr19fym2nn";
+        sha512 = "1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==";
       };
     };
     "des.js-1.0.1" = {
@@ -829,7 +811,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz";
-        sha512 = "085ljc5q2yk3jabd61p91n821q4prv13qalbfni9ybcb900b4mmcdnndi5b5prfs9wybp13asd13shlxgrbsgvyfx7nbgvby6jkhhj3";
+        sha512 = "Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==";
       };
     };
     "detective-5.2.0" = {
@@ -838,16 +820,7 @@ let
       version = "5.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz";
-        sha512 = "0z7r2wfccs5i4n1v5ln5p5dkqvy3w97pmnl8kybcw1r7z1c067xr72nqn48j65nk435cpc261m6gdyfyhxjlqabs25bnlflx73hhaz9";
-      };
-    };
-    "diff-3.5.0" = {
-      name = "diff";
-      packageName = "diff";
-      version = "3.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz";
-        sha512 = "32bkv3cfhax4x5zhiyfn63wjhqwkzsjiql3my8p3d9hvv020p8f9hdi7mpqixrkpgs0g9k15mn736s449yad9wq1plhxyhxb2sam3h3";
+        sha512 = "6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==";
       };
     };
     "diff-4.0.2" = {
@@ -856,7 +829,7 @@ let
       version = "4.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz";
-        sha512 = "3ndiq7a8qsn2j6vlq5c6d38ynlydlhvk6q01rj321lcarrh0z7721w6cbrdw7lkx6pyfms59y1jkqcl6g2ir1rz5xr17q40lk26djg7";
+        sha512 = "58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==";
       };
     };
     "diffie-hellman-5.0.3" = {
@@ -865,7 +838,7 @@ let
       version = "5.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz";
-        sha512 = "37186rz3862gn294acnwnm59jwm62x1rz9ca0y5anvmj0a7abs4rhw974qp1j684qpd4rxb8c2kagv21hapxfddr2q72zvyv7ya19lj";
+        sha512 = "kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==";
       };
     };
     "dom-serializer-0.2.2" = {
@@ -874,7 +847,7 @@ let
       version = "0.2.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz";
-        sha512 = "3v6s9yk4g6cw8chgrba79rbahiqw782013df898df7k7d81n69x2135qashgf23q59zr3w42qncyf4hszlll8knkhv0xccifdplzz6v";
+        sha512 = "2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==";
       };
     };
     "domain-browser-1.2.0" = {
@@ -883,7 +856,7 @@ let
       version = "1.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz";
-        sha512 = "1fcxv8rzfhs99afvhji7bs5ppxwn9mw040ixdgvkm6iabz72q61arly2lr57086rjn4g2vkb3rkih1cyc7z35kzv1jjciwyrs4g4y4f";
+        sha512 = "jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==";
       };
     };
     "domelementtype-1.3.1" = {
@@ -892,16 +865,16 @@ let
       version = "1.3.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz";
-        sha512 = "3gmb8frh13hzm986ggv14h63h5033jp045mvy1wrcj9j56j822a86arwq7x743i6glkv1bw6qwqriivypd0icbkzi492cm96kwq28h5";
+        sha512 = "BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==";
       };
     };
-    "domelementtype-2.0.1" = {
+    "domelementtype-2.1.0" = {
       name = "domelementtype";
       packageName = "domelementtype";
-      version = "2.0.1";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz";
-        sha512 = "00vkhxlz4gkgfqzkp7faclfand3fr36zi4lpr50rjwbx54nfpr2fy612p2ixzpysqi28nfyzznngx5gvgcd13b52iy6ar8q7d88fwz4";
+        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz";
+        sha512 = "LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==";
       };
     };
     "domhandler-2.3.0" = {
@@ -931,22 +904,13 @@ let
         sha1 = "8b12dab878c0d69e3e7891051662a32fc6bddcc1";
       };
     };
-    "ecc-jsbn-0.1.2" = {
-      name = "ecc-jsbn";
-      packageName = "ecc-jsbn";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
-        sha1 = "3a83a904e54353287874c564b7549386849a98c9";
-      };
-    };
-    "elliptic-6.5.2" = {
+    "elliptic-6.5.3" = {
       name = "elliptic";
       packageName = "elliptic";
-      version = "6.5.2";
+      version = "6.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz";
-        sha512 = "33kzl02iwbq3pl33ihcdq9nm48yzhfj96183zzra06hp3z6bacz3d99pl74jziwygys4npxbxwnvszz12wl8lpkjw8b4r9ki797p33z";
+        url = "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz";
+        sha512 = "IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==";
       };
     };
     "emoji-regex-7.0.3" = {
@@ -955,7 +919,7 @@ let
       version = "7.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz";
-        sha512 = "2s4i22ccvwa2l4xwl9yz6mkyn2kpf58hp1nqiwmmgqlpyr57345i3ll0l4656ryik6a6wz1lgk4vbl6y0dwj5hx2kcbpv0h8924n00b";
+        sha512 = "CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==";
       };
     };
     "entities-1.0.0" = {
@@ -967,31 +931,31 @@ let
         sha1 = "b2987aa3821347fcde642b24fdfc9e4fb712bf26";
       };
     };
-    "entities-2.0.0" = {
+    "entities-2.2.0" = {
       name = "entities";
       packageName = "entities";
-      version = "2.0.0";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz";
-        sha512 = "0pqz0h0aafqad2dm3qs73sqk6nhgr7icrfqwnxbzysbdkh11grcbssa7m1nkyzc22g9zwpi752fpw5r58rrldhjjlqh4isj89bzpmqg";
+        url = "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz";
+        sha512 = "p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==";
       };
     };
-    "errno-0.1.7" = {
+    "errno-0.1.8" = {
       name = "errno";
       packageName = "errno";
-      version = "0.1.7";
+      version = "0.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz";
-        sha512 = "2bdzcjwgdkg5yrvlw6my57pn77k4j7a2pzppwqrq4va9f5bd4b5mzbhwpklhsy1jl7w9sjvnfs30h42nhz2dbdfhagnh8dk6l2d3yii";
+        url = "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz";
+        sha512 = "dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==";
       };
     };
-    "es-abstract-1.17.4" = {
+    "es-abstract-1.18.0-next.2" = {
       name = "es-abstract";
       packageName = "es-abstract";
-      version = "1.17.4";
+      version = "1.18.0-next.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz";
-        sha512 = "24sx605c7x5di53nzw0x2brrfvy4nw76ws0gsd1hskdifrcxafn8fwk0n11si002zxhfs9c8nba1acaj2zkrqrgp8k5vw0vz2dyxv81";
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz";
+        sha512 = "Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==";
       };
     };
     "es-to-primitive-1.2.1" = {
@@ -1000,16 +964,16 @@ let
       version = "1.2.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz";
-        sha512 = "2y6j97j2f10gc52kw7qin10gm24m5hz1qq7ph6jf89y8a9i8vb268f2q0z78qjmngc765y9v0f1ldc5qb10b638yqlabda90sbaa8s0";
+        sha512 = "QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==";
       };
     };
-    "escape-string-regexp-1.0.5" = {
+    "escape-string-regexp-4.0.0" = {
       name = "escape-string-regexp";
       packageName = "escape-string-regexp";
-      version = "1.0.5";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
-        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz";
+        sha512 = "TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==";
       };
     };
     "esprima-4.0.1" = {
@@ -1018,16 +982,16 @@ let
       version = "4.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz";
-        sha512 = "3h999di4dnwxb22lxlb7cbz42nalrv8g8sqdvrkkl5c27gnwhp1rva4039hmq6g1i0y4mfjgx6p4i2vwxxl0zlahfzdd9fl1qbqasvq";
+        sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==";
       };
     };
-    "events-2.1.0" = {
+    "events-3.2.0" = {
       name = "events";
       packageName = "events";
-      version = "2.1.0";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/events/-/events-2.1.0.tgz";
-        sha512 = "059cw923gab3r2d2nk9nafd3h9skxvimn2k4qhnhss6j5vwwgvqaac3668299zdc634q9r8by6vidhjnkf052ir1vyw6xx7nyhs56fx";
+        url = "https://registry.npmjs.org/events/-/events-3.2.0.tgz";
+        sha512 = "/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==";
       };
     };
     "evp_bytestokey-1.0.3" = {
@@ -1036,7 +1000,7 @@ let
       version = "1.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz";
-        sha512 = "1wd18zxd7n42asa63aa4k1bdf58warg29c7c8cdzzkd4r1wva7qwzqnn52h8g8hqwj7bxjkk3ryghajrvz4i27h5bzp30p8hjiqdzgx";
+        sha512 = "/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==";
       };
     };
     "exit-0.1.2" = {
@@ -1048,49 +1012,13 @@ let
         sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
       };
     };
-    "extend-3.0.2" = {
-      name = "extend";
-      packageName = "extend";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz";
-        sha512 = "3zad2109w3q3gh46s5msrnzfy2nl581sqpy20b52fs7v5pdjh3irpg7szl3xvh4sfy63218jy8ry6qlnir3baxbbfrb03swkw5swfky";
-      };
-    };
-    "extsprintf-1.3.0" = {
-      name = "extsprintf";
-      packageName = "extsprintf";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz";
-        sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
-      };
-    };
-    "fast-deep-equal-3.1.1" = {
-      name = "fast-deep-equal";
-      packageName = "fast-deep-equal";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz";
-        sha512 = "1j7wq3vqvfgnpd2sjblnlgryxlic2fsy343fx8w4ywb2mngj1w5afq8fmly8cp9fi66dhz1fhcfpn23g5zasnzs6n1snb83qkkilhgi";
-      };
-    };
-    "fast-json-stable-stringify-2.1.0" = {
-      name = "fast-json-stable-stringify";
-      packageName = "fast-json-stable-stringify";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
-        sha512 = "0gz06zkjlqc4r59ka14n3vwqjdgn40zd8r115ql3rkwqb7j42frmnsj3axr7p2md8ik52nqjn3myyv8ddavdhl4cq3xz4wbbz07y5wn";
-      };
-    };
     "fast-safe-stringify-2.0.7" = {
       name = "fast-safe-stringify";
       packageName = "fast-safe-stringify";
       version = "2.0.7";
       src = fetchurl {
         url = "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz";
-        sha512 = "1ab0spv3wadhidsh9x8qar1ryn7ahv308yzc5cl32wssk99rr7vrkcs00vn2kggz6drps08vk24gi9gmqpg39jd1rnaryykvh4vmnaj";
+        sha512 = "Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==";
       };
     };
     "fill-range-7.0.1" = {
@@ -1099,7 +1027,7 @@ let
       version = "7.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz";
-        sha512 = "2jrai6ri6sni8xyi8yji49ai8vkczbbiw6pb3pd9bcdizb58ncgnhnfmghhw87flm8y96y2z16738lwdyshby665nv60ljcwwbkvsm8";
+        sha512 = "qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==";
       };
     };
     "find-up-3.0.0" = {
@@ -1108,16 +1036,34 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz";
-        sha512 = "2bg49lifm64h5jqjc20612wrx7cazw9np9ms02ys94kif4li8cp5in4rvmb1c1ssa8yhbsqkgprykkj4lf3jbz8qrgp1mf8c93gl86p";
+        sha512 = "1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==";
+      };
+    };
+    "find-up-5.0.0" = {
+      name = "find-up";
+      packageName = "find-up";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz";
+        sha512 = "78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==";
       };
     };
-    "flat-4.1.0" = {
+    "flat-5.0.2" = {
       name = "flat";
       packageName = "flat";
-      version = "4.1.0";
+      version = "5.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz";
-        sha512 = "0bj2zrb5x98lffdcjsvaf2hns9ih2jzj4dz9yg9k8zqrak4x0i93dvf01qp458mr6d1x4dsqsxc3ag00g2mskrr23h7x71kna4d67rz";
+        url = "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz";
+        sha512 = "b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==";
+      };
+    };
+    "foreach-2.0.5" = {
+      name = "foreach";
+      packageName = "foreach";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz";
+        sha1 = "0bee005018aeb260d0a3af3ae658dd0136ec1b99";
       };
     };
     "forever-agent-0.5.2" = {
@@ -1129,15 +1075,6 @@ let
         sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
       };
     };
-    "forever-agent-0.6.1" = {
-      name = "forever-agent";
-      packageName = "forever-agent";
-      version = "0.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
-        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
-      };
-    };
     "form-data-0.1.4" = {
       name = "form-data";
       packageName = "form-data";
@@ -1147,15 +1084,6 @@ let
         sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
       };
     };
-    "form-data-2.3.3" = {
-      name = "form-data";
-      packageName = "form-data";
-      version = "2.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz";
-        sha512 = "0jj3hgqp9pmxmfavx6rvdfl3r4yf98clpsarqadz3hq0dxhjlh2ppd9x8bvmaq3nwjdqpdvqx25pwyin4ipixhgsn7s3p9fcc3wllnn";
-      };
-    };
     "fs.realpath-1.0.0" = {
       name = "fs.realpath";
       packageName = "fs.realpath";
@@ -1165,13 +1093,13 @@ let
         sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
       };
     };
-    "fsevents-2.1.2" = {
+    "fsevents-2.1.3" = {
       name = "fsevents";
       packageName = "fsevents";
-      version = "2.1.2";
+      version = "2.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz";
-        sha512 = "1j5ssfzy4xklkj74z7q64dpcld4zicsva1ihfys8dwa9l5apv7q350g4vg65nfp58c7aqkai1qmjlc3xshb97p5h3lsrl0r3j407327";
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz";
+        sha512 = "Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==";
       };
     };
     "function-bind-1.1.1" = {
@@ -1180,7 +1108,7 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz";
-        sha512 = "38chm1mh077ksx6hy2sssfz4q29hf0ncb9k6ila7si54zqcpl5fxd1rh6wi82blqp7jcspf4aynr7jqhbsg2yc9y42xpqqp6c1jz2n8";
+        sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==";
       };
     };
     "get-assigned-identifiers-1.2.0" = {
@@ -1189,7 +1117,7 @@ let
       version = "1.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz";
-        sha512 = "1snk8irwshrwijh05cwxsdvjc5p2aqr8mk6qdcwxaka3llypkyibdz2mdkzw67g9l2vzhidfqg0ahdrzyknjk4a7c613bwkw6cp044q";
+        sha512 = "mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==";
       };
     };
     "get-caller-file-2.0.5" = {
@@ -1198,25 +1126,16 @@ let
       version = "2.0.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz";
-        sha512 = "0b7da6kb3xqk26cw4i6kb1lk911z06z53if2g8l23hmfpbhl6vfbn8iip55j1yplbqnly2abb9d349r6ky2z570839q3p9z2gf4y88g";
-      };
-    };
-    "getpass-0.1.7" = {
-      name = "getpass";
-      packageName = "getpass";
-      version = "0.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz";
-        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
+        sha512 = "DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==";
       };
     };
-    "glob-7.1.3" = {
-      name = "glob";
-      packageName = "glob";
-      version = "7.1.3";
+    "get-intrinsic-1.1.0" = {
+      name = "get-intrinsic";
+      packageName = "get-intrinsic";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz";
-        sha512 = "30h0j9f3xj7mwciwmi9q9ilhlc0l391jrvv0xws0yxgh389ynin3qqrw8xiyfy5w3f667bwn9p0i3f01s2ir0ai1rwbb038ij4fxixx";
+        url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.0.tgz";
+        sha512 = "M11rgtQp5GZMZzDL7jLTNxbDfurpzuau5uqRWDPvlHjfvg3TdScAZo96GLvhMjImrmR8uAt0FS2RLoMrfWGKlg==";
       };
     };
     "glob-7.1.6" = {
@@ -1225,25 +1144,25 @@ let
       version = "7.1.6";
       src = fetchurl {
         url = "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz";
-        sha512 = "020qv13jbi1v4y5xavf6fw08h9svy4q9p67m4avkrrhgdjmk0c5k3h19bv7k6yn1vfxljpjw9kg81fbdg9v83cjplxvkn3v4v1v21ig";
+        sha512 = "LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==";
       };
     };
-    "glob-parent-5.1.0" = {
+    "glob-parent-5.1.1" = {
       name = "glob-parent";
       packageName = "glob-parent";
-      version = "5.1.0";
+      version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz";
-        sha512 = "23qivv79xv6rvb8fsi8hj0ic91ijfkw6dynzp8716bzafazq27dqc9ibxxlkfs7wqnhyzzimaa3xn8i22838ds157kyg60mfa152fxa";
+        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz";
+        sha512 = "FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==";
       };
     };
-    "graceful-fs-4.2.3" = {
+    "graceful-fs-4.2.4" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.3";
+      version = "4.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz";
-        sha512 = "12xdl6ai5jdxcpcavw2hk4zpiknz7g7f2cvgawzwlzv7cy7qf7riq8ymkgqdqxjkpl1mg627dxa65zc9b0yqhflsmqlfg5q3481azbb";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz";
+        sha512 = "WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==";
       };
     };
     "growl-1.10.5" = {
@@ -1252,25 +1171,7 @@ let
       version = "1.10.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz";
-        sha512 = "146i7if4fjml1p6xw1ybb7vm22k6i8yc7r8wcw8yia7qy385w1s6j18ip91g5mv47zvv5fw5m8kpzlaayjs183fkpg174hbw4xgh6m8";
-      };
-    };
-    "har-schema-2.0.0" = {
-      name = "har-schema";
-      packageName = "har-schema";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz";
-        sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
-      };
-    };
-    "har-validator-5.1.3" = {
-      name = "har-validator";
-      packageName = "har-validator";
-      version = "5.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz";
-        sha512 = "3kaldgfsh3lfvgvw31s8b7q345zf7ixjahllncdckcw6qfs3gnbsamdxgs9kfigq7rwmja7v51ghh7y0rsp6q7jmvmbydhh645wxnxh";
+        sha512 = "qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==";
       };
     };
     "has-1.0.3" = {
@@ -1279,16 +1180,7 @@ let
       version = "1.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/has/-/has-1.0.3.tgz";
-        sha512 = "37vh53c11hws66navka0w9xxm6rcr034bxpyvaldiqz1msafqf0jpi1aqxbaygs53arz9y510qg6dl6vrm285hrxniygs2l8lxnyrvz";
-      };
-    };
-    "has-flag-3.0.0" = {
-      name = "has-flag";
-      packageName = "has-flag";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz";
-        sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
+        sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==";
       };
     };
     "has-flag-4.0.0" = {
@@ -1297,7 +1189,7 @@ let
       version = "4.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz";
-        sha512 = "0ylry8j6wanggw1786jw36k056caw516fasjfz5jl945p7g0zl2aqxsjd5fxxfah3hlhrbflnsb88vx42080sfsfbb38aimyi7hja8k";
+        sha512 = "EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==";
       };
     };
     "has-symbols-1.0.1" = {
@@ -1306,16 +1198,16 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz";
-        sha512 = "0mb9d5yqvznqmq073hdc4wl7175niiqpkpb7iqqv8p0q6xgmrhfap9ni6iwrx44w8p9vyg8n3zsllil5pdflzlh462dkydymfi2rdrw";
+        sha512 = "PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==";
       };
     };
-    "hash-base-3.0.4" = {
+    "hash-base-3.1.0" = {
       name = "hash-base";
       packageName = "hash-base";
-      version = "3.0.4";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz";
-        sha1 = "5fc8686847ecd73499403319a6b0a3f3f6ae4918";
+        url = "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz";
+        sha512 = "1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==";
       };
     };
     "hash.js-1.1.7" = {
@@ -1324,7 +1216,7 @@ let
       version = "1.1.7";
       src = fetchurl {
         url = "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz";
-        sha512 = "1f5xc15zpy3b7hssv57xnd92ja5r073zvd2pczvncxmy1jnbjcx716riyr2syvah88qk7328a6fz049mziv2k837093xqxd86r9m8xm";
+        sha512 = "taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==";
       };
     };
     "hawk-1.0.0" = {
@@ -1342,7 +1234,7 @@ let
       version = "1.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/he/-/he-1.2.0.tgz";
-        sha512 = "0dwml2q9r97ga11qbbn5sb46v4g47lx174dz9g1jgxpycknhg1d5dlsij2vja905p8h243jj51hfa5cmzh8n9rdcs8r78lg86fl7z8p";
+        sha512 = "F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==";
       };
     };
     "hmac-drbg-1.0.1" = {
@@ -1390,15 +1282,6 @@ let
         sha1 = "4fbdac132559aa8323121e540779c0a012b27e66";
       };
     };
-    "http-signature-1.2.0" = {
-      name = "http-signature";
-      packageName = "http-signature";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz";
-        sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
-      };
-    };
     "https-browserify-1.0.0" = {
       name = "https-browserify";
       packageName = "https-browserify";
@@ -1408,13 +1291,22 @@ let
         sha1 = "ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73";
       };
     };
-    "ieee754-1.1.13" = {
+    "iconv-lite-0.4.24" = {
+      name = "iconv-lite";
+      packageName = "iconv-lite";
+      version = "0.4.24";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz";
+        sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==";
+      };
+    };
+    "ieee754-1.2.1" = {
       name = "ieee754";
       packageName = "ieee754";
-      version = "1.1.13";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz";
-        sha512 = "179jm8fhl2advz4j63klrp57sm99wvyb5jcxwfr9rhi730ybcxkyfqrr0pmwvir12zjzpkwwvjjkjclwrss7lpab7dg2myqc8izpxz2";
+        url = "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz";
+        sha512 = "dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==";
       };
     };
     "image-size-0.5.5" = {
@@ -1453,22 +1345,13 @@ let
         sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
       };
     };
-    "inherits-2.0.3" = {
-      name = "inherits";
-      packageName = "inherits";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
-        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
-      };
-    };
     "inherits-2.0.4" = {
       name = "inherits";
       packageName = "inherits";
       version = "2.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz";
-        sha512 = "30rw2i1k63pbf0n5dbwly05h95cdp1kj8c9r15gv1cwha141g61k56fx4qwsvhpm1ksnf7agch1wxirs3s0m31wbfvmcqizgrlwdywk";
+        sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==";
       };
     };
     "ini-1.1.0" = {
@@ -1480,13 +1363,13 @@ let
         sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281";
       };
     };
-    "ini-1.3.5" = {
+    "ini-1.3.8" = {
       name = "ini";
       packageName = "ini";
-      version = "1.3.5";
+      version = "1.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz";
-        sha512 = "1rjbvf1rg5ywhnba08sgagn2qf23lab330qrqmh7d891zap3xpxcyfyj1cblpf0f0rypglcfacybzyrpd4996aa1mbc820awa33k5j5";
+        url = "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz";
+        sha512 = "JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==";
       };
     };
     "inline-source-map-0.6.2" = {
@@ -1498,31 +1381,31 @@ let
         sha1 = "f9393471c18a79d1724f863fa38b586370ade2a5";
       };
     };
-    "insert-module-globals-7.2.0" = {
+    "insert-module-globals-7.2.1" = {
       name = "insert-module-globals";
       packageName = "insert-module-globals";
-      version = "7.2.0";
+      version = "7.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.0.tgz";
-        sha512 = "15ks7a4jsdgwd9cpql86xignkdz7wf7jxz7r8pyyqgfr3n51nc6y3m271cxzwm4ccaajb6y9sc5hw80ga7pg37306zps6lndyaqskjl";
+        url = "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz";
+        sha512 = "ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==";
       };
     };
-    "interpret-1.2.0" = {
+    "interpret-1.4.0" = {
       name = "interpret";
       packageName = "interpret";
-      version = "1.2.0";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz";
-        sha512 = "1pibn9f6dn61lmilqiv8hb4aix4b78xf9sdws3rnl060vvv6l4qrw6gfmncq5n0f0rah2yj1ssfg80chaw9y5aa860wfdcccb4ghgcr";
+        url = "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz";
+        sha512 = "agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==";
       };
     };
-    "ip-regex-2.1.0" = {
-      name = "ip-regex";
-      packageName = "ip-regex";
-      version = "2.1.0";
+    "is-arguments-1.1.0" = {
+      name = "is-arguments";
+      packageName = "is-arguments";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz";
-        sha1 = "fa78bf5d2e6913c911ce9f819ee5146bb6d844e9";
+        url = "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz";
+        sha512 = "1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==";
       };
     };
     "is-binary-path-2.1.0" = {
@@ -1531,7 +1414,7 @@ let
       version = "2.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz";
-        sha512 = "1gldm4swvg3612pg55yjza8dvpv4daf374dijjg8kcmndlq55933pdd7gw4gq4c2aa5fn9vnasz3h9spg3pd8p1rafkr91sxdhi3hb4";
+        sha512 = "ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==";
       };
     };
     "is-buffer-1.1.6" = {
@@ -1540,25 +1423,25 @@ let
       version = "1.1.6";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz";
-        sha512 = "3kr8dm9qyklmm2xyiz75s8db90bfilfals4x0g276kncihrrrz0ar4y6dqpvc7pwy7h43jay1bayi1r62x97nzvcswkk4ap18pl1irm";
+        sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==";
       };
     };
-    "is-buffer-2.0.4" = {
-      name = "is-buffer";
-      packageName = "is-buffer";
-      version = "2.0.4";
+    "is-callable-1.2.3" = {
+      name = "is-callable";
+      packageName = "is-callable";
+      version = "1.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz";
-        sha512 = "3c1f1cy2867lfdcfxpy91qxbjxizlwa2dhz3mgckg17xd4xcx284ylzvfk3v7l6mdynrk7xc2rg31avi6caj053p7bgaf4p8ni6pb9a";
+        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz";
+        sha512 = "J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==";
       };
     };
-    "is-callable-1.1.5" = {
-      name = "is-callable";
-      packageName = "is-callable";
-      version = "1.1.5";
+    "is-core-module-2.2.0" = {
+      name = "is-core-module";
+      packageName = "is-core-module";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz";
-        sha512 = "3wmff73yzck45x5shydqswbww8zkl03i43yhy7mm6av9770yvd2gj7xfrc8f45fw2ncn7mwblxvxlcap5rngmklkjiis902qgkay8hi";
+        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz";
+        sha512 = "XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==";
       };
     };
     "is-date-object-1.0.2" = {
@@ -1567,7 +1450,7 @@ let
       version = "1.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz";
-        sha512 = "39f971gzwirnxjw4b72c175nbn1hnmrn1wljvbzvxv69hw9vpialhjafh9nkh0g3p26a49zss3rr7pxfww1f6day4s89hmqkm7l6aai";
+        sha512 = "USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==";
       };
     };
     "is-extglob-2.1.1" = {
@@ -1588,13 +1471,31 @@ let
         sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
       };
     };
+    "is-generator-function-1.0.8" = {
+      name = "is-generator-function";
+      packageName = "is-generator-function";
+      version = "1.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz";
+        sha512 = "2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==";
+      };
+    };
     "is-glob-4.0.1" = {
       name = "is-glob";
       packageName = "is-glob";
       version = "4.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz";
-        sha512 = "19c23n8r8rfbz5rgs5csbjbpwgxvwi7y6kpsvlylgs2v1r1z2zm18qzzz2g8vnnwaldn5c4qalpc6p88rl0gjrrm278j52ks0m2svg4";
+        sha512 = "5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==";
+      };
+    };
+    "is-negative-zero-2.0.1" = {
+      name = "is-negative-zero";
+      packageName = "is-negative-zero";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz";
+        sha512 = "2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==";
       };
     };
     "is-number-7.0.0" = {
@@ -1603,16 +1504,25 @@ let
       version = "7.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz";
-        sha512 = "2g7332xqrb0cm36cn6rwdmgq7sllf9w19sf6jy4w0s4vgqdq1kngsnpz0z49i3vnknk8ms442yjllrdbqxbap9ajprc8yrs91za4l73";
+        sha512 = "41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==";
       };
     };
-    "is-regex-1.0.5" = {
+    "is-plain-obj-2.1.0" = {
+      name = "is-plain-obj";
+      packageName = "is-plain-obj";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz";
+        sha512 = "YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==";
+      };
+    };
+    "is-regex-1.1.2" = {
       name = "is-regex";
       packageName = "is-regex";
-      version = "1.0.5";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz";
-        sha512 = "1hqaalcf1yqll2yzm71a1axvid0x87jp41hyicw16rl12rrh6sp6srr9lk7wxm6a1vl3ypw8qyd0imbq8fl2h7yq8l8xawdnkbrclmy";
+        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz";
+        sha512 = "axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==";
       };
     };
     "is-symbol-1.0.3" = {
@@ -1621,16 +1531,25 @@ let
       version = "1.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz";
-        sha512 = "1lmzzy2360gfg5639x8mzi5fpc1bgpdx0ffjlqaz9affd0lvvpi7yjwk15jsm1y1l8rf5jahyapv6rm2w3p86gxkghsp0jjlj2s621v";
+        sha512 = "OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==";
       };
     };
-    "is-typedarray-1.0.0" = {
-      name = "is-typedarray";
-      packageName = "is-typedarray";
-      version = "1.0.0";
+    "is-typed-array-1.1.4" = {
+      name = "is-typed-array";
+      packageName = "is-typed-array";
+      version = "1.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz";
-        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
+        url = "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.4.tgz";
+        sha512 = "ILaRgn4zaSrVNXNGtON6iFNotXW3hAPF3+0fB1usg2jFlWqo5fEDdmJkz0zBfoi7Dgskr8Khi2xZ8cXqZEfXNA==";
+      };
+    };
+    "is-what-3.12.0" = {
+      name = "is-what";
+      packageName = "is-what";
+      version = "3.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-what/-/is-what-3.12.0.tgz";
+        sha512 = "2ilQz5/f/o9V7WRWJQmpFYNmQFZ9iM+OXRonZKcYgTkCzjb949Vi4h282PD1UfmgHk666rcWonbRJ++KI41VGw==";
       };
     };
     "isarray-0.0.1" = {
@@ -1660,58 +1579,13 @@ let
         sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
       };
     };
-    "isstream-0.1.2" = {
-      name = "isstream";
-      packageName = "isstream";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
-        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
-      };
-    };
-    "js-yaml-3.13.1" = {
+    "js-yaml-3.14.0" = {
       name = "js-yaml";
       packageName = "js-yaml";
-      version = "3.13.1";
+      version = "3.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz";
-        sha512 = "0kkjjrr0znm2ka89ywc5518c8dw0210z91fm94c7v11l8c96mkjh0ddld5mb7jmmnpzap7vn0fhvr29lma63c9is2ixq3fpp0xxrxk1";
-      };
-    };
-    "jsbn-0.1.1" = {
-      name = "jsbn";
-      packageName = "jsbn";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz";
-        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
-      };
-    };
-    "json-schema-0.2.3" = {
-      name = "json-schema";
-      packageName = "json-schema";
-      version = "0.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz";
-        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
-      };
-    };
-    "json-schema-traverse-0.4.1" = {
-      name = "json-schema-traverse";
-      packageName = "json-schema-traverse";
-      version = "0.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
-        sha512 = "1bbgxs4777gn3q3yxi0n792cgz9pimf85pypr0w4wzpb22nr8fl9xi98pkcqd3n4fn7lnzffpq7qwpcl4dqc15py19lwqa2jwgw5dn5";
-      };
-    };
-    "json-stable-stringify-0.0.1" = {
-      name = "json-stable-stringify";
-      packageName = "json-stable-stringify";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz";
-        sha1 = "611c23e814db375527df851193db59dd2af27f45";
+        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz";
+        sha512 = "/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==";
       };
     };
     "json-stringify-safe-5.0.1" = {
@@ -1723,15 +1597,6 @@ let
         sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
       };
     };
-    "jsonify-0.0.0" = {
-      name = "jsonify";
-      packageName = "jsonify";
-      version = "0.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz";
-        sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
-      };
-    };
     "jsonparse-1.3.1" = {
       name = "jsonparse";
       packageName = "jsonparse";
@@ -1741,22 +1606,13 @@ let
         sha1 = "3f4dae4a91fac315f71062f8521cc239f1366280";
       };
     };
-    "jsprim-1.4.1" = {
-      name = "jsprim";
-      packageName = "jsprim";
-      version = "1.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz";
-        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
-      };
-    };
-    "just-extend-4.1.0" = {
+    "just-extend-4.1.1" = {
       name = "just-extend";
       packageName = "just-extend";
-      version = "4.1.0";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/just-extend/-/just-extend-4.1.0.tgz";
-        sha512 = "ApcjaOdVTJ7y4r08xI5wIqpvwS48Q0PBG4DJROcEkH1f8MdAiNFyFxz3xoL0LWAVwjrwPYZdVHHxhRHcx/uGLA==";
+        url = "https://registry.npmjs.org/just-extend/-/just-extend-4.1.1.tgz";
+        sha512 = "aWgeGFW67BP3e5181Ep1Fv2v8z//iBJfrvyTnq8wG86vEESwmonn1zPBJ0VfmT9CJq2FIT0VsETtrNFm2a+SHA==";
       };
     };
     "kew-0.1.7" = {
@@ -1774,7 +1630,7 @@ let
       version = "2.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz";
-        sha512 = "01ili1w037l9b1l99ljcygi8xwcirjndh89qb1ja448vpfv6b0ixcp05cj8z9c0646bwrjabb8q0xy60pkshnn4977lhra5f54hpbh9";
+        sha512 = "Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==";
       };
     };
     "locate-path-3.0.0" = {
@@ -1783,16 +1639,25 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz";
-        sha512 = "3jbllbkvv54d6k6zss6spzsknz5icscyfclf377jjpndb8mmacq0v9vjr1w07zjn14gaz4d2hfi0yaqk4nvg6hbm16qi70nrkivn0zc";
+        sha512 = "7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==";
       };
     };
-    "lodash-4.17.15" = {
+    "locate-path-6.0.0" = {
+      name = "locate-path";
+      packageName = "locate-path";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz";
+        sha512 = "iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==";
+      };
+    };
+    "lodash-4.17.20" = {
       name = "lodash";
       packageName = "lodash";
-      version = "4.17.15";
+      version = "4.17.20";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz";
-        sha512 = "3a41cs1932x00vd7h32v6rfkaak3vhkwv4x0bg27ilhlmbpl95r3abc4vja21k42cdfprsy3sdfcp2xs02sfp1fflf7m3n2gd29q4zk";
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz";
+        sha512 = "PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==";
       };
     };
     "lodash.get-4.4.2" = {
@@ -1813,13 +1678,22 @@ let
         sha1 = "2dcbd2c287cbc0a55cc42328bd0c736150d53e3f";
       };
     };
-    "log-symbols-3.0.0" = {
+    "log-symbols-4.0.0" = {
       name = "log-symbols";
       packageName = "log-symbols";
-      version = "3.0.0";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz";
+        sha512 = "FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==";
+      };
+    };
+    "make-dir-2.1.0" = {
+      name = "make-dir";
+      packageName = "make-dir";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz";
-        sha512 = "2fmk82kxm1wkgm5kgxx84nsf7pvyspj47axslj3sfcyx69hx1vymrgbqj00jfnmrjc80wb87xs3kyfa37k55wzhgvk6v21vw8d0sabm";
+        url = "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz";
+        sha512 = "LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==";
       };
     };
     "md5.js-1.3.5" = {
@@ -1828,7 +1702,7 @@ let
       version = "1.3.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz";
-        sha512 = "29ds70y468n42xivsz4vrgy8rp2x4nxz52z1vkd1k49556gvn74pq998s510g3jgz9972m9yxs6yk1kw752blq97b9w8gaddkwlyay6";
+        sha512 = "xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==";
       };
     };
     "miller-rabin-4.0.1" = {
@@ -1837,7 +1711,7 @@ let
       version = "4.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz";
-        sha512 = "12277knznlw4myxmgg6vgkrwmrhj9dyniscrlph3s08ndi2q25v3wrv6rwanvz29v5k5x756xa5yif4xllrghpn3jqaamnr3cp5ypnp";
+        sha512 = "115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==";
       };
     };
     "mime-1.2.11" = {
@@ -1855,25 +1729,7 @@ let
       version = "1.6.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz";
-        sha512 = "1x901mk5cdib4xp27v4ivwwr7mhy64r4rk953bzivi5p9lf2bhw88ra2rhkd254xkdx2d3q30zkq239vc4yx4pfsj4hpys8rbr6fif7";
-      };
-    };
-    "mime-db-1.43.0" = {
-      name = "mime-db";
-      packageName = "mime-db";
-      version = "1.43.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz";
-        sha512 = "36x3p6lll5v1g7na92kbba0bpcl36i1argsqn8iy4mgz3zh3llnqhzhfw0l26jqcb0mh9rhhmrx718kvqzchga6y79qdg9884c6r5zv";
-      };
-    };
-    "mime-types-2.1.26" = {
-      name = "mime-types";
-      packageName = "mime-types";
-      version = "2.1.26";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz";
-        sha512 = "1cxsgrndjg6jyfqzm74hv6cmy9lil52f1kzkq2niknaiqz20p3yiw0fpgsyld2zrbxr9abpdabz1q6nqa50xr9a0cmbjbi0cqymlnnk";
+        sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
       };
     };
     "minimalistic-assert-1.0.1" = {
@@ -1882,7 +1738,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz";
-        sha512 = "3y39pa1xxg7j49vya7xca4p1mg89d0df56hj4yjhpyhmza3g5qvpgp11xs11wkd48zzy7ym970jfbn0ppimmczpijns249j7q05rljj";
+        sha512 = "UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==";
       };
     };
     "minimalistic-crypto-utils-1.0.1" = {
@@ -1900,16 +1756,7 @@ let
       version = "3.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
-        sha512 = "1879a3j85h92ypvb7lpv1dqpcxl49rqnbgs5la18zmj1yqhwl60c2m74254wbr5pp3znckqpkg9dvjyrz6hfz8b9vag5a3j910db4f8";
-      };
-    };
-    "minimist-0.0.8" = {
-      name = "minimist";
-      packageName = "minimist";
-      version = "0.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
-        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+        sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
       };
     };
     "minimist-1.2.5" = {
@@ -1918,7 +1765,7 @@ let
       version = "1.2.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz";
-        sha512 = "0pif0kjsr0cdm73cyicn9xdx9zkly45w4akmyfa39lkaf6lzysfr8kr145p54wjk26pbsk0w0qfdds3k4bxy4wl5l210i1b8qsngkql";
+        sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==";
       };
     };
     "mkdirp-0.3.5" = {
@@ -1930,13 +1777,13 @@ let
         sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
       };
     };
-    "mkdirp-0.5.1" = {
-      name = "mkdirp";
-      packageName = "mkdirp";
-      version = "0.5.1";
+    "mkdirp-classic-0.5.3" = {
+      name = "mkdirp-classic";
+      packageName = "mkdirp-classic";
+      version = "0.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
-        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+        url = "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz";
+        sha512 = "gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==";
       };
     };
     "mocha-phantomjs-core-1.3.1" = {
@@ -1948,22 +1795,40 @@ let
         sha1 = "586538c8d71fa8de90c41a46acc0481c1fb83e18";
       };
     };
-    "module-deps-6.2.2" = {
+    "module-deps-6.2.3" = {
       name = "module-deps";
       packageName = "module-deps";
-      version = "6.2.2";
+      version = "6.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/module-deps/-/module-deps-6.2.2.tgz";
-        sha512 = "3gkwqnfbsjlh9sswxyiqwv4hzvph69yfaj8c2kibsc9xs6nvys3s2yvjyb41p1qqprlzrr9pqm1l5qpx8wis3z20cw95fzr7g4bmp3b";
+        url = "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz";
+        sha512 = "fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==";
       };
     };
-    "ms-2.1.1" = {
+    "ms-2.1.2" = {
       name = "ms";
       packageName = "ms";
-      version = "2.1.1";
+      version = "2.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz";
-        sha512 = "352z145jr1zx0w6kmlz2jxcaw6j2pwwg9va3x4gk731zw1agka2b213avw12zx6hgn071ibm0f3p80n5cdv896npay4s6jwbrv7w2mn";
+        url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz";
+        sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
+      };
+    };
+    "ms-2.1.3" = {
+      name = "ms";
+      packageName = "ms";
+      version = "2.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz";
+        sha512 = "6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==";
+      };
+    };
+    "nanoid-3.1.12" = {
+      name = "nanoid";
+      packageName = "nanoid";
+      version = "3.1.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz";
+        sha512 = "1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==";
       };
     };
     "ncp-0.4.2" = {
@@ -1975,22 +1840,22 @@ let
         sha1 = "abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574";
       };
     };
-    "nise-4.0.3" = {
-      name = "nise";
-      packageName = "nise";
-      version = "4.0.3";
+    "needle-2.6.0" = {
+      name = "needle";
+      packageName = "needle";
+      version = "2.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nise/-/nise-4.0.3.tgz";
-        sha512 = "EGlhjm7/4KvmmE6B/UFsKh7eHykRl9VH+au8dduHLCyWUO/hr7+N+WtTvDUwc9zHuM1IaIJs/0lQ6Ag1jDkQSg==";
+        url = "https://registry.npmjs.org/needle/-/needle-2.6.0.tgz";
+        sha512 = "KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg==";
       };
     };
-    "node-environment-flags-1.0.6" = {
-      name = "node-environment-flags";
-      packageName = "node-environment-flags";
-      version = "1.0.6";
+    "nise-4.0.4" = {
+      name = "nise";
+      packageName = "nise";
+      version = "4.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz";
-        sha512 = "0gis4xp1wacn31j3p8vdd32ykzs2pskf8pgfjkm092zcx72v03dphpsayrls8bmmi91s6ic4718lgi28mm40hj96f9ywbvfxbcz4jz4";
+        url = "https://registry.npmjs.org/nise/-/nise-4.0.4.tgz";
+        sha512 = "bTTRUNlemx6deJa+ZyoCUTRvH3liK5+N6VQZ4NIw90AgDXY6iPnsqplNFf6STcj+ePk0H/xqxnP75Lr0J0Fq3A==";
       };
     };
     "node-uuid-1.4.8" = {
@@ -2017,7 +1882,7 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz";
-        sha512 = "0n301s7qa4645iyk3zpcgin8r19p0p8h8g50c3mnnrl9n3m9rpyxv79hjl6miix9daq12s69am1sbskhqnzbabmn2id0nippgj6rrp9";
+        sha512 = "6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==";
       };
     };
     "npmconf-0.0.24" = {
@@ -2038,15 +1903,6 @@ let
         sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
       };
     };
-    "oauth-sign-0.9.0" = {
-      name = "oauth-sign";
-      packageName = "oauth-sign";
-      version = "0.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz";
-        sha512 = "1jz644r7ybsq688ifahm64ih3ljqjjskm533bgir20pvc350f9cl0z162scih0r1idx8lpw5f8hxa2pkf0lhbdhr5y6ak2ga5863v3x";
-      };
-    };
     "object-assign-4.1.1" = {
       name = "object-assign";
       packageName = "object-assign";
@@ -2056,13 +1912,13 @@ let
         sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
       };
     };
-    "object-inspect-1.7.0" = {
+    "object-inspect-1.9.0" = {
       name = "object-inspect";
       packageName = "object-inspect";
-      version = "1.7.0";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz";
-        sha512 = "19lmsxagwl8zzqckw6p0bdjwjbq2bshicnw78az9ka40d0gjghmdm0ify1n3857fxadv43c6v0g27rk1dl514iwh40a5i3mv0fl9fkb";
+        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz";
+        sha512 = "i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==";
       };
     };
     "object-keys-1.1.1" = {
@@ -2071,25 +1927,16 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz";
-        sha512 = "0nf2rr25ncya39v7cq274x3w4drfbdrc3iqdwd017s1wndwh9plsjagbvhl6j6l6piipprdsvgfx4vfz8q2piz7bi4bjcll8d4h9q1n";
+        sha512 = "NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==";
       };
     };
-    "object.assign-4.1.0" = {
+    "object.assign-4.1.2" = {
       name = "object.assign";
       packageName = "object.assign";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz";
-        sha512 = "3krdp08gvbxvipalq64qy7bm86znxxdb7ap6bjki235qs17i9fsn6hqd22ga31sqyqa6iyy5xjfnnqc7lsck1kaybwsh154mrxcj4bv";
-      };
-    };
-    "object.getownpropertydescriptors-2.1.0" = {
-      name = "object.getownpropertydescriptors";
-      packageName = "object.getownpropertydescriptors";
-      version = "2.1.0";
+      version = "4.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz";
-        sha512 = "1b08dy2xs3gqhwviks5245b0m3fa6kkdcqi8wldr5cfvkpgwbvdx474k9y5cjnsf2z075gysifxsc39i59fslxrl55kgpa03xmcx7b7";
+        url = "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz";
+        sha512 = "ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==";
       };
     };
     "once-1.1.1" = {
@@ -2128,13 +1975,22 @@ let
         sha1 = "cd6ad8ddb290915ad9e22765576025d411f29cb6";
       };
     };
-    "p-limit-2.2.2" = {
+    "p-limit-2.3.0" = {
       name = "p-limit";
       packageName = "p-limit";
-      version = "2.2.2";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz";
-        sha512 = "36v4kvifp6msn6gaal1pgwy5qi56fbv8295221a6araml7nzxsnw2jfy7i6k7ybxy3dida9xxnyx447s8i8f15m27xklacwfz27wr2q";
+        url = "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz";
+        sha512 = "//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==";
+      };
+    };
+    "p-limit-3.1.0" = {
+      name = "p-limit";
+      packageName = "p-limit";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz";
+        sha512 = "TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==";
       };
     };
     "p-locate-3.0.0" = {
@@ -2143,7 +1999,16 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz";
-        sha512 = "14sa2r3zdhvy3sq757d4l21nxrlb7picyigb8zm956bbjadcv22chrfa95wzzrf28z0cyj62b6yihhdc9508q82gs2q3yz8yk1pdvf7";
+        sha512 = "x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==";
+      };
+    };
+    "p-locate-5.0.0" = {
+      name = "p-locate";
+      packageName = "p-locate";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz";
+        sha512 = "LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==";
       };
     };
     "p-try-2.2.0" = {
@@ -2152,7 +2017,7 @@ let
       version = "2.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz";
-        sha512 = "1skmb50xzdk3qzd1f9l5mw8xp29frkizl63bhb9l1amivqybqb23n2824906vx790hjlwyhhrfzpzr5xr6ilzvy1xyl0ly0ah0wz2a7";
+        sha512 = "R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==";
       };
     };
     "pako-1.0.11" = {
@@ -2161,7 +2026,7 @@ let
       version = "1.0.11";
       src = fetchurl {
         url = "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz";
-        sha512 = "1imm2ygnj1himskq6lblzdh3ngc6p9gkvhrbzivalqf3nwafzfglpmbh8wkaz0rsiaxh67jzxbb16m2ygapfcnfwqg9gkdqzkqc24p2";
+        sha512 = "4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==";
       };
     };
     "parents-1.0.1" = {
@@ -2173,22 +2038,31 @@ let
         sha1 = "fedd4d2bf193a77745fe71e371d73c3307d9c751";
       };
     };
-    "parse-asn1-5.1.5" = {
+    "parse-asn1-5.1.6" = {
       name = "parse-asn1";
       packageName = "parse-asn1";
-      version = "5.1.5";
+      version = "5.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz";
-        sha512 = "16n59f599pq8832a6c5wyxnqdf4vrqrdnclzs6vp9m2z2h9qmxamjk6xcrl1aal758jyba0pvyz1bkf7npm7achfxxa29jwaygihhwf";
+        url = "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz";
+        sha512 = "RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==";
       };
     };
-    "path-browserify-0.0.1" = {
+    "parse-node-version-1.0.1" = {
+      name = "parse-node-version";
+      packageName = "parse-node-version";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz";
+        sha512 = "3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==";
+      };
+    };
+    "path-browserify-1.0.1" = {
       name = "path-browserify";
       packageName = "path-browserify";
-      version = "0.0.1";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz";
-        sha512 = "2avzhwqw37c6l7a0f276z7qzchzhwppinxhgg6q7by5bskwb7q7sfhwijb6fx4ingbdzb4i1pw6la5pg0izb5s4z69268278gil1ah5";
+        url = "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz";
+        sha512 = "b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==";
       };
     };
     "path-exists-3.0.0" = {
@@ -2200,6 +2074,15 @@ let
         sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
       };
     };
+    "path-exists-4.0.0" = {
+      name = "path-exists";
+      packageName = "path-exists";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz";
+        sha512 = "ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==";
+      };
+    };
     "path-is-absolute-1.0.1" = {
       name = "path-is-absolute";
       packageName = "path-is-absolute";
@@ -2215,7 +2098,7 @@ let
       version = "1.0.6";
       src = fetchurl {
         url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz";
-        sha512 = "37qw5986wccpwwqckqky509s4nd6zwv200s9r2v6mcf5nsyxgf2x00m4yp918mkkz84sdh4q0kjbg0hhfq4flpz0l6v47hvc57qwa8r";
+        sha512 = "GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==";
       };
     };
     "path-platform-0.11.15" = {
@@ -2233,25 +2116,16 @@ let
       version = "1.8.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz";
-        sha512 = "1a1s16c1sx28yq8nh8sqkj9izaypszmxfk27x5hl1wid9611b5viffw9vbwqw6sik20ksgmh18dqndglbvq82dii4jl0aal353ck3cz";
+        sha512 = "n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==";
       };
     };
-    "pbkdf2-3.0.17" = {
+    "pbkdf2-3.1.1" = {
       name = "pbkdf2";
       packageName = "pbkdf2";
-      version = "3.0.17";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz";
-        sha512 = "2s4nd3yv3kkyywvh5rkrvbr6w2h6a4q786v548w895ralcq9cllqzyxr0jgxf911k3zpmzycimsg3ggww3lkrhd3bk9wribrgjaby2k";
-      };
-    };
-    "performance-now-2.1.0" = {
-      name = "performance-now";
-      packageName = "performance-now";
-      version = "2.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz";
-        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
+        url = "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz";
+        sha512 = "4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==";
       };
     };
     "phantomjs-1.9.7-15" = {
@@ -2263,13 +2137,22 @@ let
         sha1 = "0b3a7ce630486a83be91ff4e832eee20e971115b";
       };
     };
-    "picomatch-2.2.1" = {
+    "picomatch-2.2.2" = {
       name = "picomatch";
       packageName = "picomatch";
-      version = "2.2.1";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.2.1.tgz";
-        sha512 = "12a2jzmkj24c6k3x71z0knzflw9qqhqx0lk27nrryjs6m7gjmszvgz5pp29xx1h7h7xxaj8cl3i5h98hlx3mpif5h26qdjhrh1ml811";
+        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz";
+        sha512 = "q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==";
+      };
+    };
+    "pify-4.0.1" = {
+      name = "pify";
+      packageName = "pify";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz";
+        sha512 = "uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==";
       };
     };
     "process-0.11.10" = {
@@ -2287,7 +2170,7 @@ let
       version = "2.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
-        sha512 = "1mgan8li4i2l4y7lsr7snks85n6xg5x693cqmzpid3fkk9br7v5xzgvh1zlfs08zkxn6s0n6qhykr64mszjfyxd77dhmdi1jhx992yy";
+        sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
       };
     };
     "progress-1.1.8" = {
@@ -2299,15 +2182,6 @@ let
         sha1 = "e260c78f6161cdd9b0e56cc3e0a85de17c7a57be";
       };
     };
-    "promise-7.3.1" = {
-      name = "promise";
-      packageName = "promise";
-      version = "7.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz";
-        sha512 = "17cn4nns2nxh9r0pdiqsqx3fpvaa82c1mhcr8r84k2a9hkpb0mj4bxzfbg3l9iy74yn9hj6mh2gsddsi3v939a1zp7ycbzqkxfm12cy";
-      };
-    };
     "proto-list-1.2.4" = {
       name = "proto-list";
       packageName = "proto-list";
@@ -2326,13 +2200,13 @@ let
         sha1 = "d3fc114ba06995a45ec6893f484ceb1d78f5f476";
       };
     };
-    "psl-1.7.0" = {
+    "psl-1.8.0" = {
       name = "psl";
       packageName = "psl";
-      version = "1.7.0";
+      version = "1.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz";
-        sha512 = "0whj0m29370fn3imrlj2dw0xmr33j2gn30kn96xpxckz7i1b21pj6vlgsn4ggxl79mz2ckng5mdxbkczcwkjry497s8xkgw7c815nz4";
+        url = "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz";
+        sha512 = "RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==";
       };
     };
     "public-encrypt-4.0.3" = {
@@ -2341,7 +2215,7 @@ let
       version = "4.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz";
-        sha512 = "3qnsvs746b98ifyv12qj1g6hl6fq25vip5mswhvn3gnl7r32fids6mw3jb0gdcqrrl5x9ik475sf0vx6mbhmif49idkwjwrhbr5lnnd";
+        sha512 = "zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==";
       };
     };
     "punycode-1.3.2" = {
@@ -2368,7 +2242,7 @@ let
       version = "2.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz";
-        sha512 = "381vqgh5xkqzrr6cxbzfykgnnk83m7qgpx3wjwj1hddn3sg2aibjxyr30rajpgv4js0cqknrbzwbfk5ryhiiyigzfjrk3zysy6i26sx";
+        sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
       };
     };
     "qs-0.6.6" = {
@@ -2380,15 +2254,6 @@ let
         sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107";
       };
     };
-    "qs-6.5.2" = {
-      name = "qs";
-      packageName = "qs";
-      version = "6.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz";
-        sha512 = "0c46ws0x9g3mmkgfmvd78bzvnmv2b8ryg4ah6jvyyqgjv9v994z7xdyvsc4vg9sf98gg7phvy3q1ahgaj5fy3dwzf2rki6bixgl15ip";
-      };
-    };
     "querystring-0.2.0" = {
       name = "querystring";
       packageName = "querystring";
@@ -2413,7 +2278,7 @@ let
       version = "2.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz";
-        sha512 = "2cimbs750ysa2wxsiw9mmc1xqjb8w0c4s22p2mv2n676s8hchvzcl1l5p78jnk62d2jzacpr9zbl9w64kaqnipcbaa25q7ywn47g2dx";
+        sha512 = "vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==";
       };
     };
     "randomfill-1.0.4" = {
@@ -2422,7 +2287,7 @@ let
       version = "1.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz";
-        sha512 = "0pm7c7mw7a3qwjr21f8cvxaa2sq5l4svqs51lppn833x0yvz3yx8x4vbd4rswjynykvlgvn4hrpq327pvbzp428f4b1fciy3xnmrfgk";
+        sha512 = "87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==";
       };
     };
     "read-only-stream-2.0.0" = {
@@ -2449,7 +2314,7 @@ let
       version = "2.3.7";
       src = fetchurl {
         url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz";
-        sha512 = "0zrh6gjjzwwycwydra51xcrgjgzyqv6dq38bfpwzmlqn702mwb4nj4sjjn499rycqndfk6rby0dksnq72x8pcbvqv0b2893mvq6if0i";
+        sha512 = "Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==";
       };
     };
     "readable-stream-3.6.0" = {
@@ -2458,16 +2323,16 @@ let
       version = "3.6.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz";
-        sha512 = "1s8hs6ax9jwmmw558j3hyfx5lfn7qf66xg0giplz9jci7d8zp2d8vh96dzlis6xzpxfa5b2zbm8nm4mgsr71r6rl3w3qyfanb5qfn05";
+        sha512 = "BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==";
       };
     };
-    "readdirp-3.2.0" = {
+    "readdirp-3.5.0" = {
       name = "readdirp";
       packageName = "readdirp";
-      version = "3.2.0";
+      version = "3.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz";
-        sha512 = "0chzz12q3inpmwm6b4gi7g9n39jp24ah3mmjgss87hfsbx86vnxf49bx9wk2ng66037x2fh0cjf5rgx00c1m86lqlh7r6g9xm13ifbj";
+        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz";
+        sha512 = "cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==";
       };
     };
     "rechoir-0.6.2" = {
@@ -2488,15 +2353,6 @@ let
         sha1 = "28c6c04262c7b9ffdd21b9255374517ee6d943f5";
       };
     };
-    "request-2.88.2" = {
-      name = "request";
-      packageName = "request";
-      version = "2.88.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/request/-/request-2.88.2.tgz";
-        sha512 = "23hm71jcxrwvp33azx8mx3w6dg21fr4w6lwvkvxyf6ckvhk3hz9dk8lzgkbiyzfl9ylhp4n807xp88ppq4gj5h07cmrgxf6nwxfvjrj";
-      };
-    };
     "request-progress-0.3.1" = {
       name = "request-progress";
       packageName = "request-progress";
@@ -2521,25 +2377,16 @@ let
       version = "2.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz";
-        sha512 = "2d0gd2x49nz3hgfwms6326sjw5fx7gqf997dnggc7l084cibgang6wr6ryksky32fvdz1bq72xm73kfxd3lj2qnfyjsp57jq287k8rl";
+        sha512 = "NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==";
       };
     };
-    "resolve-1.1.7" = {
+    "resolve-1.19.0" = {
       name = "resolve";
       packageName = "resolve";
-      version = "1.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz";
-        sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
-      };
-    };
-    "resolve-1.15.1" = {
-      name = "resolve";
-      packageName = "resolve";
-      version = "1.15.1";
+      version = "1.19.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz";
-        sha512 = "3pr5zjp8nh6qfllxnpqx531srx1igzdm28j4zg1y53yzc8qxp16yx01pw8cp7y4frla90gnpv622d6bi6aayi03iqlkb8gdjklji2pk";
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz";
+        sha512 = "rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==";
       };
     };
     "rimraf-2.2.8" = {
@@ -2557,7 +2404,7 @@ let
       version = "2.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz";
-        sha512 = "0hbd4cqbkycj691cj7gm40x3x5w46xk56xkg6n11wskc3k4xbdz1xxxyy6r27rcwipkzp19y1fmpfmb4lgf10l8asn6prdn11m24bla";
+        sha512 = "ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==";
       };
     };
     "safe-buffer-5.1.2" = {
@@ -2566,16 +2413,16 @@ let
       version = "5.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz";
-        sha512 = "3xbm0dkya4bc3zwfwpdzbl8ngq0aai5ihlp2v3s39y7162c7wyvv9izj3g8hv6dy6vm2lq48lmfzygk0kxwbjb6xic7k4a329j99p8r";
+        sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
       };
     };
-    "safe-buffer-5.2.0" = {
+    "safe-buffer-5.2.1" = {
       name = "safe-buffer";
       packageName = "safe-buffer";
-      version = "5.2.0";
+      version = "5.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz";
-        sha512 = "1pb164cfv1ip3s1rp008433rak88mdcch24q84cbfndg0dzky2ij8vjvsiyx2qf3rg4dgs82zk7vnrd9hkqqdcvp4lbk5ymcr8314bx";
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz";
+        sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==";
       };
     };
     "safer-buffer-2.1.2" = {
@@ -2584,7 +2431,16 @@ let
       version = "2.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
-        sha512 = "2v99f22kh56y72d3s8wrgdvf5n10ry40dh3fwnsxr4d5rfvxdfxfmc3qyqkscnj4f8799jy9bpg6cm21x2d811dr9ib83wjrlmkg6k1";
+        sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
+      };
+    };
+    "sax-1.2.4" = {
+      name = "sax";
+      packageName = "sax";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz";
+        sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==";
       };
     };
     "semver-1.1.4" = {
@@ -2602,7 +2458,16 @@ let
       version = "5.7.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz";
-        sha512 = "0cl68vp0ymkjpvim4s24v3awyk37d1bfbqrqv4ybwfi8yxga3d8fma2d6bh8dd4i2dsfwca324vaxm5dms61kdlmihdarfgzw6rmaxi";
+        sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==";
+      };
+    };
+    "serialize-javascript-5.0.1" = {
+      name = "serialize-javascript";
+      packageName = "serialize-javascript";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz";
+        sha512 = "SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==";
       };
     };
     "set-blocking-2.0.0" = {
@@ -2620,16 +2485,7 @@ let
       version = "2.4.11";
       src = fetchurl {
         url = "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz";
-        sha512 = "2lihh3p2mrwymrly93ni37b1dvzwbm1jc47iqp66ax4bj41js4mr94wghv3c2agq98bb44nxxddn2n67ab978zk00xx2znw3vj2kha0";
-      };
-    };
-    "shasum-1.0.2" = {
-      name = "shasum";
-      packageName = "shasum";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz";
-        sha1 = "e7012310d8f417f4deb5712150e5678b87ae565f";
+        sha512 = "QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==";
       };
     };
     "shasum-object-1.0.0" = {
@@ -2638,7 +2494,7 @@ let
       version = "1.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz";
-        sha512 = "1bdc4kbk4jy4crxvf36kwbf91ya8xy2xap7mlrdxz44j51y77mhfgzp846w2bxwiw3rrj9lbcylc636ffm7j8c66fx5iigpkyp3kai2";
+        sha512 = "Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==";
       };
     };
     "shell-quote-1.7.2" = {
@@ -2647,7 +2503,7 @@ let
       version = "1.7.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz";
-        sha512 = "11a56bai83fzl9zdqp594aypy7f31mkm2whi4ar94wf0w6lzmzfmbw4qd6bn1bibkmb9407wkff5k3d7xvsi3ycj2mw1camyadzy74r";
+        sha512 = "mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==";
       };
     };
     "shelljs-0.3.0" = {
@@ -2704,13 +2560,13 @@ let
         sha512 = "oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==";
       };
     };
-    "simple-concat-1.0.0" = {
+    "simple-concat-1.0.1" = {
       name = "simple-concat";
       packageName = "simple-concat";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz";
-        sha1 = "7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6";
+        url = "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz";
+        sha512 = "cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==";
       };
     };
     "sntp-0.2.4" = {
@@ -2737,7 +2593,7 @@ let
       version = "0.6.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";
-        sha512 = "3p7hw8p69ikj5mwapmqkacsjnbvdfk5ylyamjg9x5izkl717xvzj0vk3fnmx1n4pf54h5rs7r8ig5kk4jv4ycqqj0hv75cnx6k1lf2j";
+        sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
       };
     };
     "sprintf-js-1.0.3" = {
@@ -2749,22 +2605,13 @@ let
         sha1 = "04e6926f662895354f3dd015203633b857297e2c";
       };
     };
-    "sshpk-1.16.1" = {
-      name = "sshpk";
-      packageName = "sshpk";
-      version = "1.16.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz";
-        sha512 = "0i4jnrxh6i17qij2vfki7qxmk435cnacvg363qg0hya5incfj57akgbas8zcx2cl5pds9jfgfyhqm8wlqz6damsg059gymv99aylx8x";
-      };
-    };
-    "stream-browserify-2.0.2" = {
+    "stream-browserify-3.0.0" = {
       name = "stream-browserify";
       packageName = "stream-browserify";
-      version = "2.0.2";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz";
-        sha512 = "2mfvadpwj9mzxps4arl1frxlkz96hfp0sc5pvq76s0ijf8fgw26mm3a721zq3iz1f8155w3a41wkixbdlwn1cavv0mzics796da2zlx";
+        url = "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz";
+        sha512 = "H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==";
       };
     };
     "stream-combiner2-1.1.1" = {
@@ -2776,13 +2623,13 @@ let
         sha1 = "fb4d8a1420ea362764e21ad4780397bebcb41cbe";
       };
     };
-    "stream-http-3.1.0" = {
+    "stream-http-3.1.1" = {
       name = "stream-http";
       packageName = "stream-http";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stream-http/-/stream-http-3.1.0.tgz";
-        sha512 = "cuB6RgO7BqC4FBYzmnvhob5Do3wIdIsXAgGycHJnW+981gHqoYcYz9lqjJrk8WXRddbwPuqPYRl+bag6mYv4lw==";
+        url = "https://registry.npmjs.org/stream-http/-/stream-http-3.1.1.tgz";
+        sha512 = "S7OqaYu0EkFpgeGFb/NPOoPLxFko7TPqtEeFg5DXPB4v/KETHG0Ln6fRFrNezoelpaDKmycEmmZ81cC9DAwgYg==";
       };
     };
     "stream-splicer-2.0.1" = {
@@ -2791,7 +2638,7 @@ let
       version = "2.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz";
-        sha512 = "275m2xn6ygpp4iw0mjl0a2x39m333xxmr3qlk47mymsqxn8wg8czyv608nbg89w7vyn483ik8f7vlmx107yx4vw06r89fagygiy2b2y";
+        sha512 = "Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==";
       };
     };
     "string-width-2.1.1" = {
@@ -2800,7 +2647,7 @@ let
       version = "2.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz";
-        sha512 = "29s1fqgr4mnhfxwczgdghfmmc1f792m9hysvcjxw2h5lfj8ndf2b6gm02m96qk5m75g4aisijvng4pk618anwbr8i9ay2jyszkqgslw";
+        sha512 = "nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==";
       };
     };
     "string-width-3.1.0" = {
@@ -2809,25 +2656,25 @@ let
       version = "3.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz";
-        sha512 = "3bix3jva53vcp1im3aa1y2v1lywkm7ix81gkwkj4915s2675pmw1c9n5x98q1m985hzgwkk1fnc2q78qz7s0fixhf994md3lazxr9xx";
+        sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==";
       };
     };
-    "string.prototype.trimleft-2.1.1" = {
-      name = "string.prototype.trimleft";
-      packageName = "string.prototype.trimleft";
-      version = "2.1.1";
+    "string.prototype.trimend-1.0.3" = {
+      name = "string.prototype.trimend";
+      packageName = "string.prototype.trimend";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz";
-        sha512 = "013lf0f398s2xb9jhq9acspdnnk52k7whcga9am4b8a2wrgpc2w7xgkydg4sg4ah9z3i1syimzqs7dc89390xmwlx8zxf6gvlcq1vca";
+        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz";
+        sha512 = "ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==";
       };
     };
-    "string.prototype.trimright-2.1.1" = {
-      name = "string.prototype.trimright";
-      packageName = "string.prototype.trimright";
-      version = "2.1.1";
+    "string.prototype.trimstart-1.0.3" = {
+      name = "string.prototype.trimstart";
+      packageName = "string.prototype.trimstart";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz";
-        sha512 = "3x2qc2fc2fh9sj3vw9w45h246vspjfn88b0k356ldazylhap91vg825bppg73s9n63kwpql3gpw24lv8zx0b2arblcqhh7ygwpxcnx8";
+        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz";
+        sha512 = "oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==";
       };
     };
     "string_decoder-0.10.31" = {
@@ -2845,7 +2692,7 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz";
-        sha512 = "315yd4vzwrwk3vwj1klf46y1cj2jbvf88066y2rnwhksb98phj46jkxixbwsp3h607w7czy7cby522s7sx8mvspdpdm3s72y2ga3x4z";
+        sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==";
       };
     };
     "string_decoder-1.3.0" = {
@@ -2854,7 +2701,7 @@ let
       version = "1.3.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz";
-        sha512 = "1w0mz57mvmqykm0jwma6lr4i9pip8p8c1ldaax7sxnrl6j0jbrkwggs037r1psmac0w04i9mb2rc1gzj1n2f0xvy1fr332n9pqmfi46";
+        sha512 = "hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==";
       };
     };
     "strip-ansi-4.0.0" = {
@@ -2872,7 +2719,7 @@ let
       version = "5.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz";
-        sha512 = "1cf4mpsr46nik5xxyb9wc4cz6c4yymi2ijpfx1nghnkl39l8pgq1sc7q19jzrjkwpn9i7hwg4q3rs4ny3vssrc6506an1lv0bb6rr0f";
+        sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==";
       };
     };
     "strip-json-comments-1.0.4" = {
@@ -2884,13 +2731,13 @@ let
         sha1 = "1e15fbcac97d3ee99bf2d73b4c656b082bbafb91";
       };
     };
-    "strip-json-comments-2.0.1" = {
+    "strip-json-comments-3.1.1" = {
       name = "strip-json-comments";
       packageName = "strip-json-comments";
-      version = "2.0.1";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz";
-        sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a";
+        url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz";
+        sha512 = "6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==";
       };
     };
     "subarg-1.0.0" = {
@@ -2902,31 +2749,13 @@ let
         sha1 = "f62cf17581e996b48fc965699f54c06ae268b8d2";
       };
     };
-    "supports-color-5.5.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "5.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz";
-        sha512 = "2ihqi2z38fr1sq2jvwqgjqymncmkhxqz0x3bi97w4b4fn24wsdy71j139p95sb3nfrh3a449n0sqhm1z0jsi04860y8vdy8sp0n6da2";
-      };
-    };
-    "supports-color-6.0.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz";
-        sha512 = "0p5l02lyminbqmcpm7257093sd8w5ca7q5xnnym2z71bwbhmisnyzn2jh5xma418sx29m8yinka6f7rphc7dl76lc88bm2w4z14lzx2";
-      };
-    };
-    "supports-color-7.1.0" = {
+    "supports-color-7.2.0" = {
       name = "supports-color";
       packageName = "supports-color";
-      version = "7.1.0";
+      version = "7.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz";
-        sha512 = "3k12babask2rk5v9n9wdgng00rqac2w5wwvkawlx3brjpqvfpy4j70650ggw5pa7bm5hnn1ppsppsqrcwrvjsk1mxb3vi993yjqh551";
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz";
+        sha512 = "qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==";
       };
     };
     "syntax-error-1.4.0" = {
@@ -2935,7 +2764,7 @@ let
       version = "1.4.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz";
-        sha512 = "3psid3r9b0gmnkf2ggydlw1nrcnyqa78smdihifdvff5vmlq92v8qyd6zfi94wczhllcyxl78zbc47cvz3h6xpa9v372xp6msxybwv0";
+        sha512 = "YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==";
       };
     };
     "throttleit-0.0.2" = {
@@ -2962,7 +2791,7 @@ let
       version = "2.0.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz";
-        sha512 = "14xi6lbly1f37015ny2pzcnf5kaksjmpnhm61gfhwn686w5ac519qb1icxdda974n84f342g0y15kysj1hci2vl40z91aiivyhx2spy";
+        sha512 = "/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==";
       };
     };
     "timers-browserify-1.4.2" = {
@@ -2980,34 +2809,25 @@ let
       version = "5.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz";
-        sha512 = "2qkrna8q80arai14s6f17djc3cgwiilnhibfykwzkif4gs9ny3fmqmxqf56fvc7fjwyr01p97nk1ckd67s8476cslmj3rwp7s5zp4zb";
+        sha512 = "65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==";
       };
     };
-    "tough-cookie-2.5.0" = {
+    "tough-cookie-4.0.0" = {
       name = "tough-cookie";
       packageName = "tough-cookie";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz";
-        sha512 = "3xgcny117pqhfncr4gbmagzlnjiqqgq0lrvmljdfcdy64nc0xjfcbf1r08dmp1v1m3s51kq0yxc18nl3j9lbpr5bp5lgmi6719yqlly";
-      };
-    };
-    "tough-cookie-3.0.1" = {
-      name = "tough-cookie";
-      packageName = "tough-cookie";
-      version = "3.0.1";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz";
-        sha512 = "2raf12jixrfcagphh9s0fagbfk5va7m0jpj9dbc5dk5b5rr8xbxz4j1af4ppvillqnbi39yiicwnj1qpppc89c71zywnri9xv98j369";
+        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz";
+        sha512 = "tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==";
       };
     };
-    "tslib-1.11.1" = {
+    "tslib-1.14.1" = {
       name = "tslib";
       packageName = "tslib";
-      version = "1.11.1";
+      version = "1.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz";
-        sha512 = "0c0k843zya7w9k5snfr3g76wz2vyl99q149safl5g364jjwq839h3qf8c17i8mahdcqc3zj3xgfv0nv9pcxfm8axva0d49w4vqvr5b9";
+        url = "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz";
+        sha512 = "Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==";
       };
     };
     "tty-browserify-0.0.1" = {
@@ -3016,7 +2836,7 @@ let
       version = "0.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz";
-        sha512 = "33h4i99m8bj5vqm3hmvfhi19whavny64ic0mr4yl8s14riw077ballp49zbv3kzy8615pad3gfcy7fxa86za1q41biqpmdwn8xxlx0b";
+        sha512 = "C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==";
       };
     };
     "tunnel-agent-0.4.3" = {
@@ -3028,31 +2848,13 @@ let
         sha1 = "6373db76909fe570e08d73583365ed828a74eeeb";
       };
     };
-    "tunnel-agent-0.6.0" = {
-      name = "tunnel-agent";
-      packageName = "tunnel-agent";
-      version = "0.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
-        sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
-      };
-    };
-    "tweetnacl-0.14.5" = {
-      name = "tweetnacl";
-      packageName = "tweetnacl";
-      version = "0.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz";
-        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
-      };
-    };
     "type-detect-4.0.8" = {
       name = "type-detect";
       packageName = "type-detect";
       version = "4.0.8";
       src = fetchurl {
         url = "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz";
-        sha512 = "3z3kf4kgd3czn50a158v1k2l61lpbznrbk8xvh2pdsfsrcsda3271427fzmp1r7awnvvzrhzclfm03cpv671rdlqyz56xpmh6cgzyni";
+        sha512 = "0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==";
       };
     };
     "typedarray-0.0.6" = {
@@ -3070,7 +2872,7 @@ let
       version = "3.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz";
-        sha512 = "2iz3bypw716y5lgdg89d7jwnkqnla4sid3l5hr2259ypf8h6sbkw3n0xa51ckzkkayf0c39ksaiax2j6ighj36p5ipwh5p1wx50d1z0";
+        sha512 = "4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==";
       };
     };
     "undeclared-identifiers-1.1.3" = {
@@ -3079,16 +2881,16 @@ let
       version = "1.1.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz";
-        sha512 = "0xp0ipldz5gsxzh6lm1gj69ab3y6pwn9yq68b8lqg4f3jsl8kr0wkn0kd3fqvs0i71kzhp6g3z0q9rdy4xy6i0a53q6g5k3gki9d4x4";
+        sha512 = "pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==";
       };
     };
-    "uri-js-4.2.2" = {
-      name = "uri-js";
-      packageName = "uri-js";
-      version = "4.2.2";
+    "universalify-0.1.2" = {
+      name = "universalify";
+      packageName = "universalify";
+      version = "0.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz";
-        sha512 = "2fz60s71ghl56ddfiiaws81xpiidlbjk69jyjmahz190d2advy9zdbcwh5if4rgg5hxdbfxhkwiipjrnjy8w834bxsmzambd2p4b3r9";
+        url = "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz";
+        sha512 = "rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==";
       };
     };
     "url-0.11.0" = {
@@ -3109,13 +2911,13 @@ let
         sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
       };
     };
-    "util-0.10.4" = {
+    "util-0.12.3" = {
       name = "util";
       packageName = "util";
-      version = "0.10.4";
+      version = "0.12.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/util/-/util-0.10.4.tgz";
-        sha512 = "3sbbgsya51i86ih8bn3nfwi3f9556xlnwh32z4k54dwcpi0jibhfa5dpbfmpzyla63yh2zlxs9chl6wkhc8bqjmjxjyxc9p6j2vvyfh";
+        url = "https://registry.npmjs.org/util/-/util-0.12.3.tgz";
+        sha512 = "I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==";
       };
     };
     "util-deprecate-1.0.2" = {
@@ -3127,31 +2929,13 @@ let
         sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
       };
     };
-    "uuid-3.4.0" = {
-      name = "uuid";
-      packageName = "uuid";
-      version = "3.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz";
-        sha512 = "3y9pcli1v8nqryqd2c4pxj9kcv92mjc22z4smg08pdjzrbwda19xmjbzms1dwr04995h4carz9s8mldbiqb8708694lwr501r3q6d0y";
-      };
-    };
-    "verror-1.10.0" = {
-      name = "verror";
-      packageName = "verror";
-      version = "1.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz";
-        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
-      };
-    };
     "vm-browserify-1.1.2" = {
       name = "vm-browserify";
       packageName = "vm-browserify";
       version = "1.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz";
-        sha512 = "00japcjqx1df1bgck837ds0xvg5dr7g4j30a38zhbmanqss2kyxs4p7pgmldlnxpa31js50gydy8x9qi89s4x74iidf6k6nfgqsc5ns";
+        sha512 = "2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==";
       };
     };
     "which-1.0.9" = {
@@ -3163,13 +2947,13 @@ let
         sha1 = "460c1da0f810103d0321a9b633af9e575e64486f";
       };
     };
-    "which-1.3.1" = {
+    "which-2.0.2" = {
       name = "which";
       packageName = "which";
-      version = "1.3.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/which/-/which-1.3.1.tgz";
-        sha512 = "0hr4hxkk8yb9fz993bs69pf8z2z2qb6sdpxfxb84sd16lja9fsx444pk1ang1ivmjjv5srnsm6fihdj593w7rwxdh834cdmd9hms4hz";
+        url = "https://registry.npmjs.org/which/-/which-2.0.2.tgz";
+        sha512 = "BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==";
       };
     };
     "which-module-2.0.0" = {
@@ -3181,13 +2965,31 @@ let
         sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
       };
     };
+    "which-typed-array-1.1.4" = {
+      name = "which-typed-array";
+      packageName = "which-typed-array";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz";
+        sha512 = "49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==";
+      };
+    };
     "wide-align-1.1.3" = {
       name = "wide-align";
       packageName = "wide-align";
       version = "1.1.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz";
-        sha512 = "2224a32flpf40nhq6rj4idzkcdz0vx65bfxp90hd06db18l6fiqgxz1xnaygm3pbfb1a6v73hl8ryq4996b09zwwins0bqprx0hwsa0";
+        sha512 = "QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==";
+      };
+    };
+    "workerpool-6.0.2" = {
+      name = "workerpool";
+      packageName = "workerpool";
+      version = "6.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/workerpool/-/workerpool-6.0.2.tgz";
+        sha512 = "DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q==";
       };
     };
     "wrap-ansi-5.1.0" = {
@@ -3196,7 +2998,7 @@ let
       version = "5.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz";
-        sha512 = "3nmsfqfd98a7bgjyhd334y5gzc98nnkipfkmk2z1v4m0acagmpq951d8brmrsxvpnk256fbrp7zkn5n8v02pn4q4zai7zgnvy47yba0";
+        sha512 = "QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==";
       };
     };
     "wrappy-1.0.2" = {
@@ -3214,43 +3016,52 @@ let
       version = "4.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz";
-        sha512 = "08w1d6fg23v422cfwd55306pfs9n9cqpz6hycahq3adm3n29wmhl9bmpn4vk75rlzgwn7hp4n3idqxvw8c53zbr04h7a98p43b199ic";
+        sha512 = "LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==";
       };
     };
-    "y18n-4.0.0" = {
+    "y18n-4.0.1" = {
       name = "y18n";
       packageName = "y18n";
-      version = "4.0.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz";
-        sha512 = "3zj75gvpcgiphxpci4ji1znykk9n4cs0aw3dd6inwdvkmxyqn2483vya70lssjwq8alspnpw88vgii21fdrcn2vmfyppzgf4mkvzm5g";
+        url = "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz";
+        sha512 = "wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==";
       };
     };
-    "yargs-13.3.0" = {
+    "yargs-13.3.2" = {
       name = "yargs";
       packageName = "yargs";
-      version = "13.3.0";
+      version = "13.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz";
-        sha512 = "2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==";
+        url = "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz";
+        sha512 = "AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==";
       };
     };
-    "yargs-parser-13.1.1" = {
+    "yargs-parser-13.1.2" = {
       name = "yargs-parser";
       packageName = "yargs-parser";
-      version = "13.1.1";
+      version = "13.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz";
-        sha512 = "oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==";
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz";
+        sha512 = "3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==";
       };
     };
-    "yargs-unparser-1.6.0" = {
+    "yargs-unparser-2.0.0" = {
       name = "yargs-unparser";
       packageName = "yargs-unparser";
-      version = "1.6.0";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz";
+        sha512 = "7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==";
+      };
+    };
+    "yocto-queue-0.1.0" = {
+      name = "yocto-queue";
+      packageName = "yocto-queue";
+      version = "0.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz";
-        sha512 = "17qgbcv8wypl4qr620558qd8ff03nqqiq84mp200mizrbsfj4nyil345iny8zx4ia5hfpjmk2mnhqp7y54qpsypd993ml57cj14mnsv";
+        url = "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz";
+        sha512 = "rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==";
       };
     };
   };
@@ -3259,15 +3070,15 @@ in
   marked = nodeEnv.buildNodePackage {
     name = "marked";
     packageName = "marked";
-    version = "0.8.0";
+    version = "1.2.8";
     src = fetchurl {
-      url = "https://registry.npmjs.org/marked/-/marked-0.8.0.tgz";
-      sha512 = "MyUe+T/Pw4TZufHkzAfDj6HarCBWia2y27/bhuYkTaiUnfDYFnCP3KUN+9oM7Wi6JA2rymtVYbQu3spE0GCmxQ==";
+      url = "https://registry.npmjs.org/marked/-/marked-1.2.8.tgz";
+      sha512 = "lzmFjGnzWHkmbk85q/ILZjFoHHJIQGF+SxGEfIdGk/XhiTPhqGs37gbru6Kkd48diJnEyYwnG67nru0Z2gQtuQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
       description = "A markdown parser built for speed";
-      homepage = "https://marked.js.org/";
+      homepage = "https://marked.js.org";
       license = "MIT";
     };
     production = true;
@@ -3277,45 +3088,52 @@ in
   browserify = nodeEnv.buildNodePackage {
     name = "browserify";
     packageName = "browserify";
-    version = "16.5.0";
+    version = "17.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/browserify/-/browserify-16.5.0.tgz";
-      sha512 = "6bfI3cl76YLAnCZ75AGu/XPOsqUhRyc0F/olGIJeCxtfxF2HvPKEcmjU9M8oAPxl4uBY1U7Nry33Q6koV3f2iw==";
+      url = "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz";
+      sha512 = "SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==";
     };
     dependencies = [
       sources."JSONStream-1.3.5"
-      sources."acorn-7.1.1"
+      sources."acorn-7.4.1"
       sources."acorn-node-1.8.2"
-      sources."acorn-walk-7.1.1"
-      sources."asn1.js-4.10.1"
+      sources."acorn-walk-7.2.0"
+      sources."array-filter-1.0.0"
+      (sources."asn1.js-5.4.1" // {
+        dependencies = [
+          sources."bn.js-4.11.9"
+        ];
+      })
       (sources."assert-1.5.0" // {
         dependencies = [
           sources."inherits-2.0.1"
           sources."util-0.10.3"
         ];
       })
+      sources."available-typed-arrays-1.0.2"
       sources."balanced-match-1.0.0"
-      sources."base64-js-1.3.1"
-      sources."bn.js-4.11.8"
+      sources."base64-js-1.5.1"
+      sources."bn.js-5.1.3"
       sources."brace-expansion-1.1.11"
       sources."brorand-1.1.0"
       sources."browser-pack-6.1.0"
-      (sources."browser-resolve-1.11.3" // {
-        dependencies = [
-          sources."resolve-1.1.7"
-        ];
-      })
+      sources."browser-resolve-2.0.0"
       sources."browserify-aes-1.2.0"
       sources."browserify-cipher-1.0.1"
       sources."browserify-des-1.0.2"
-      sources."browserify-rsa-4.0.1"
-      sources."browserify-sign-4.0.4"
+      sources."browserify-rsa-4.1.0"
+      (sources."browserify-sign-4.2.1" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+        ];
+      })
       sources."browserify-zlib-0.2.0"
-      sources."buffer-5.5.0"
+      sources."buffer-5.2.1"
       sources."buffer-from-1.1.1"
       sources."buffer-xor-1.0.3"
       sources."builtin-status-codes-3.0.0"
       sources."cached-path-relative-1.0.2"
+      sources."call-bind-1.0.2"
       sources."cipher-base-1.0.4"
       sources."combine-source-map-0.8.0"
       sources."concat-map-0.0.1"
@@ -3324,70 +3142,106 @@ in
       sources."constants-browserify-1.0.0"
       sources."convert-source-map-1.1.3"
       sources."core-util-is-1.0.2"
-      sources."create-ecdh-4.0.3"
+      (sources."create-ecdh-4.0.4" // {
+        dependencies = [
+          sources."bn.js-4.11.9"
+        ];
+      })
       sources."create-hash-1.2.0"
       sources."create-hmac-1.1.7"
       sources."crypto-browserify-3.12.0"
       sources."dash-ast-1.0.0"
+      sources."define-properties-1.1.3"
       sources."defined-1.0.0"
       sources."deps-sort-2.0.1"
       sources."des.js-1.0.1"
-      (sources."detective-5.2.0" // {
+      sources."detective-5.2.0"
+      (sources."diffie-hellman-5.0.3" // {
         dependencies = [
-          sources."minimist-1.2.5"
+          sources."bn.js-4.11.9"
         ];
       })
-      sources."diffie-hellman-5.0.3"
       sources."domain-browser-1.2.0"
       sources."duplexer2-0.1.4"
-      sources."elliptic-6.5.2"
-      sources."events-2.1.0"
+      (sources."elliptic-6.5.3" // {
+        dependencies = [
+          sources."bn.js-4.11.9"
+        ];
+      })
+      sources."es-abstract-1.18.0-next.2"
+      sources."es-to-primitive-1.2.1"
+      sources."events-3.2.0"
       sources."evp_bytestokey-1.0.3"
       sources."fast-safe-stringify-2.0.7"
+      sources."foreach-2.0.5"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."get-assigned-identifiers-1.2.0"
+      sources."get-intrinsic-1.1.0"
       sources."glob-7.1.6"
       sources."has-1.0.3"
-      sources."hash-base-3.0.4"
+      sources."has-symbols-1.0.1"
+      (sources."hash-base-3.1.0" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+        ];
+      })
       sources."hash.js-1.1.7"
       sources."hmac-drbg-1.0.1"
       sources."htmlescape-1.1.1"
       sources."https-browserify-1.0.0"
-      sources."ieee754-1.1.13"
+      sources."ieee754-1.2.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."inline-source-map-0.6.2"
-      sources."insert-module-globals-7.2.0"
+      sources."insert-module-globals-7.2.1"
+      sources."is-arguments-1.1.0"
       sources."is-buffer-1.1.6"
+      sources."is-callable-1.2.3"
+      sources."is-core-module-2.2.0"
+      sources."is-date-object-1.0.2"
+      sources."is-generator-function-1.0.8"
+      sources."is-negative-zero-2.0.1"
+      sources."is-regex-1.1.2"
+      sources."is-symbol-1.0.3"
+      sources."is-typed-array-1.1.4"
       sources."isarray-1.0.0"
-      sources."json-stable-stringify-0.0.1"
-      sources."jsonify-0.0.0"
       sources."jsonparse-1.3.1"
       sources."labeled-stream-splicer-2.0.2"
       sources."lodash.memoize-3.0.4"
       sources."md5.js-1.3.5"
-      sources."miller-rabin-4.0.1"
+      (sources."miller-rabin-4.0.1" // {
+        dependencies = [
+          sources."bn.js-4.11.9"
+        ];
+      })
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.0.4"
-      sources."minimist-0.0.8"
-      sources."mkdirp-0.5.1"
-      sources."module-deps-6.2.2"
+      sources."minimist-1.2.5"
+      sources."mkdirp-classic-0.5.3"
+      sources."module-deps-6.2.3"
       sources."object-assign-4.1.1"
+      sources."object-inspect-1.9.0"
+      sources."object-keys-1.1.1"
+      sources."object.assign-4.1.2"
       sources."once-1.4.0"
       sources."os-browserify-0.3.0"
       sources."pako-1.0.11"
       sources."parents-1.0.1"
-      sources."parse-asn1-5.1.5"
-      sources."path-browserify-0.0.1"
+      sources."parse-asn1-5.1.6"
+      sources."path-browserify-1.0.1"
       sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.6"
       sources."path-platform-0.11.15"
-      sources."pbkdf2-3.0.17"
+      sources."pbkdf2-3.1.1"
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
-      sources."public-encrypt-4.0.3"
+      (sources."public-encrypt-4.0.3" // {
+        dependencies = [
+          sources."bn.js-4.11.9"
+        ];
+      })
       sources."punycode-1.4.1"
       sources."querystring-0.2.0"
       sources."querystring-es3-0.2.1"
@@ -3400,29 +3254,31 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."resolve-1.15.1"
+      sources."resolve-1.19.0"
       sources."ripemd160-2.0.2"
-      sources."safe-buffer-5.2.0"
+      sources."safe-buffer-5.2.1"
+      sources."safer-buffer-2.1.2"
       sources."sha.js-2.4.11"
-      sources."shasum-1.0.2"
       sources."shasum-object-1.0.0"
       sources."shell-quote-1.7.2"
-      sources."simple-concat-1.0.0"
+      sources."simple-concat-1.0.1"
       sources."source-map-0.5.7"
-      sources."stream-browserify-2.0.2"
-      sources."stream-combiner2-1.1.1"
-      (sources."stream-http-3.1.0" // {
+      (sources."stream-browserify-3.0.0" // {
         dependencies = [
           sources."readable-stream-3.6.0"
         ];
       })
-      sources."stream-splicer-2.0.1"
-      sources."string_decoder-1.3.0"
-      (sources."subarg-1.0.0" // {
+      sources."stream-combiner2-1.1.1"
+      (sources."stream-http-3.1.1" // {
         dependencies = [
-          sources."minimist-1.2.5"
+          sources."readable-stream-3.6.0"
         ];
       })
+      sources."stream-splicer-2.0.1"
+      sources."string.prototype.trimend-1.0.3"
+      sources."string.prototype.trimstart-1.0.3"
+      sources."string_decoder-1.3.0"
+      sources."subarg-1.0.0"
       sources."syntax-error-1.4.0"
       sources."through-2.3.8"
       sources."through2-2.0.5"
@@ -3436,13 +3292,10 @@ in
           sources."punycode-1.3.2"
         ];
       })
-      (sources."util-0.10.4" // {
-        dependencies = [
-          sources."inherits-2.0.3"
-        ];
-      })
+      sources."util-0.12.3"
       sources."util-deprecate-1.0.2"
       sources."vm-browserify-1.1.2"
+      sources."which-typed-array-1.1.4"
       sources."wrappy-1.0.2"
       sources."xtend-4.0.2"
     ];
@@ -3459,19 +3312,15 @@ in
   uglify-js = nodeEnv.buildNodePackage {
     name = "uglify-js";
     packageName = "uglify-js";
-    version = "3.8.0";
+    version = "3.12.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.8.0.tgz";
-      sha512 = "ugNSTT8ierCsDHso2jkBHXYrU8Y5/fY2ZUprfrJUiD7YpuFvV4jODLFmb3h4btQjqr5Nh4TX4XtgDfCU1WdioQ==";
+      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.6.tgz";
+      sha512 = "aqWHe3DfQmZUDGWBbabZ2eQnJlQd1fKlMUu7gV+MiTuDzdgDw31bI3wA2jLLsV/hNcDP26IfyEgSVoft5+0SVw==";
     };
-    dependencies = [
-      sources."commander-2.20.3"
-      sources."source-map-0.6.1"
-    ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "JavaScript parser, mangler/compressor and beautifier toolkit";
-      homepage = "https://github.com/mishoo/UglifyJS2#readme";
+      homepage = "https://github.com/mishoo/UglifyJS#readme";
       license = "BSD-2-Clause";
     };
     production = true;
@@ -3481,76 +3330,36 @@ in
   less = nodeEnv.buildNodePackage {
     name = "less";
     packageName = "less";
-    version = "3.11.1";
+    version = "4.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/less/-/less-3.11.1.tgz";
-      sha512 = "3p1iabzyyzdnvvqfmi17bs5i1mbwpbq4mh9ahz503jwjyarjqxzlq7yzbp0b499yzz6v1pn9s7hlyx98pxj40zs7a9jn42iipgrfmdn";
+      url = "https://registry.npmjs.org/less/-/less-4.1.1.tgz";
+      sha512 = "w09o8tZFPThBscl5d0Ggp3RcrKIouBoQscnOMgFH3n5V3kN/CXGHNfCkRPtxJk6nKryDXaV9aHLK55RXuH4sAw==";
     };
     dependencies = [
-      sources."ajv-6.12.0"
-      sources."asap-2.0.6"
-      sources."asn1-0.2.4"
-      sources."assert-plus-1.0.0"
-      sources."asynckit-0.4.0"
-      sources."aws-sign2-0.7.0"
-      sources."aws4-1.9.1"
-      sources."bcrypt-pbkdf-1.0.2"
-      sources."caseless-0.12.0"
-      sources."clone-2.1.2"
-      sources."combined-stream-1.0.8"
-      sources."core-util-is-1.0.2"
-      sources."dashdash-1.14.1"
-      sources."delayed-stream-1.0.0"
-      sources."ecc-jsbn-0.1.2"
-      sources."errno-0.1.7"
-      sources."extend-3.0.2"
-      sources."extsprintf-1.3.0"
-      sources."fast-deep-equal-3.1.1"
-      sources."fast-json-stable-stringify-2.1.0"
-      sources."forever-agent-0.6.1"
-      sources."form-data-2.3.3"
-      sources."getpass-0.1.7"
-      sources."graceful-fs-4.2.3"
-      sources."har-schema-2.0.0"
-      sources."har-validator-5.1.3"
-      sources."http-signature-1.2.0"
+      sources."copy-anything-2.0.1"
+      sources."debug-3.2.7"
+      sources."errno-0.1.8"
+      sources."graceful-fs-4.2.4"
+      sources."iconv-lite-0.4.24"
       sources."image-size-0.5.5"
-      sources."is-typedarray-1.0.0"
-      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."is-what-3.12.0"
+      sources."make-dir-2.1.0"
       sources."mime-1.6.0"
-      sources."mime-db-1.43.0"
-      sources."mime-types-2.1.26"
-      sources."minimist-0.0.8"
-      sources."mkdirp-0.5.1"
-      sources."oauth-sign-0.9.0"
-      sources."performance-now-2.1.0"
-      sources."promise-7.3.1"
+      sources."ms-2.1.3"
+      sources."needle-2.6.0"
+      sources."parse-node-version-1.0.1"
+      sources."pify-4.0.1"
       sources."prr-1.0.1"
-      sources."psl-1.7.0"
-      sources."punycode-2.1.1"
-      sources."qs-6.5.2"
-      sources."request-2.88.2"
-      sources."safe-buffer-5.2.0"
       sources."safer-buffer-2.1.2"
+      sources."sax-1.2.4"
+      sources."semver-5.7.1"
       sources."source-map-0.6.1"
-      sources."sshpk-1.16.1"
-      sources."tough-cookie-2.5.0"
-      sources."tslib-1.11.1"
-      sources."tunnel-agent-0.6.0"
-      sources."tweetnacl-0.14.5"
-      sources."uri-js-4.2.2"
-      sources."uuid-3.4.0"
-      sources."verror-1.10.0"
+      sources."tslib-1.14.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "Leaner CSS";
-      homepage = "http://lesscss.org/";
+      homepage = "http://lesscss.org";
       license = "Apache-2.0";
     };
     production = true;
@@ -3560,29 +3369,26 @@ in
   mocha = nodeEnv.buildNodePackage {
     name = "mocha";
     packageName = "mocha";
-    version = "7.1.0";
+    version = "8.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/mocha/-/mocha-7.1.0.tgz";
-      sha512 = "MymHK8UkU0K15Q/zX7uflZgVoRWiTjy0fXE/QjKts6mowUvGxOdPhZ2qj3b0iZdUrNZlW9LAIMFHB4IW+2b3EQ==";
+      url = "https://registry.npmjs.org/mocha/-/mocha-8.2.1.tgz";
+      sha512 = "cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w==";
     };
     dependencies = [
-      sources."ansi-colors-3.2.3"
+      sources."@ungap/promise-all-settled-1.1.2"
+      sources."ansi-colors-4.1.1"
       sources."ansi-regex-3.0.0"
-      sources."ansi-styles-3.2.1"
+      sources."ansi-styles-4.3.0"
       sources."anymatch-3.1.1"
       sources."argparse-1.0.10"
       sources."balanced-match-1.0.0"
-      sources."binary-extensions-2.0.0"
+      sources."binary-extensions-2.2.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."browser-stdout-1.3.1"
       sources."camelcase-5.3.1"
-      (sources."chalk-2.4.2" // {
-        dependencies = [
-          sources."supports-color-5.5.0"
-        ];
-      })
-      sources."chokidar-3.3.0"
+      sources."chalk-4.1.0"
+      sources."chokidar-3.4.3"
       (sources."cliui-5.0.0" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
@@ -3590,100 +3396,98 @@ in
           sources."strip-ansi-5.2.0"
         ];
       })
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
       sources."concat-map-0.0.1"
-      sources."debug-3.2.6"
+      sources."debug-4.2.0"
       sources."decamelize-1.2.0"
-      sources."define-properties-1.1.3"
-      sources."diff-3.5.0"
+      sources."diff-4.0.2"
       sources."emoji-regex-7.0.3"
-      sources."es-abstract-1.17.4"
-      sources."es-to-primitive-1.2.1"
-      sources."escape-string-regexp-1.0.5"
+      sources."escape-string-regexp-4.0.0"
       sources."esprima-4.0.1"
       sources."fill-range-7.0.1"
-      sources."find-up-3.0.0"
-      sources."flat-4.1.0"
+      sources."find-up-5.0.0"
+      sources."flat-5.0.2"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.1.2"
-      sources."function-bind-1.1.1"
+      sources."fsevents-2.1.3"
       sources."get-caller-file-2.0.5"
-      sources."glob-7.1.3"
-      sources."glob-parent-5.1.0"
+      sources."glob-7.1.6"
+      sources."glob-parent-5.1.1"
       sources."growl-1.10.5"
-      sources."has-1.0.3"
-      sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.1"
+      sources."has-flag-4.0.0"
       sources."he-1.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."is-binary-path-2.1.0"
-      sources."is-buffer-2.0.4"
-      sources."is-callable-1.1.5"
-      sources."is-date-object-1.0.2"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-glob-4.0.1"
       sources."is-number-7.0.0"
-      sources."is-regex-1.0.5"
-      sources."is-symbol-1.0.3"
+      sources."is-plain-obj-2.1.0"
       sources."isexe-2.0.0"
-      sources."js-yaml-3.13.1"
-      sources."locate-path-3.0.0"
-      sources."lodash-4.17.15"
-      sources."log-symbols-3.0.0"
+      sources."js-yaml-3.14.0"
+      sources."locate-path-6.0.0"
+      sources."log-symbols-4.0.0"
       sources."minimatch-3.0.4"
-      sources."minimist-0.0.8"
-      sources."mkdirp-0.5.1"
-      sources."ms-2.1.1"
-      sources."node-environment-flags-1.0.6"
+      sources."ms-2.1.2"
+      sources."nanoid-3.1.12"
       sources."normalize-path-3.0.0"
-      sources."object-inspect-1.7.0"
-      sources."object-keys-1.1.1"
-      sources."object.assign-4.1.0"
-      sources."object.getownpropertydescriptors-2.1.0"
       sources."once-1.4.0"
-      sources."p-limit-2.2.2"
-      sources."p-locate-3.0.0"
+      sources."p-limit-3.1.0"
+      sources."p-locate-5.0.0"
       sources."p-try-2.2.0"
-      sources."path-exists-3.0.0"
+      sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
-      sources."picomatch-2.2.1"
-      sources."readdirp-3.2.0"
+      sources."picomatch-2.2.2"
+      sources."randombytes-2.1.0"
+      sources."readdirp-3.5.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
-      sources."semver-5.7.1"
+      sources."safe-buffer-5.2.1"
+      sources."serialize-javascript-5.0.1"
       sources."set-blocking-2.0.0"
       sources."sprintf-js-1.0.3"
       sources."string-width-2.1.1"
-      sources."string.prototype.trimleft-2.1.1"
-      sources."string.prototype.trimright-2.1.1"
       sources."strip-ansi-4.0.0"
-      sources."strip-json-comments-2.0.1"
-      sources."supports-color-6.0.0"
+      sources."strip-json-comments-3.1.1"
+      sources."supports-color-7.2.0"
       sources."to-regex-range-5.0.1"
-      sources."which-1.3.1"
+      sources."which-2.0.2"
       sources."which-module-2.0.0"
       sources."wide-align-1.1.3"
+      sources."workerpool-6.0.2"
       (sources."wrap-ansi-5.1.0" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
+          sources."ansi-styles-3.2.1"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
           sources."string-width-3.1.0"
           sources."strip-ansi-5.2.0"
         ];
       })
       sources."wrappy-1.0.2"
-      sources."y18n-4.0.0"
-      (sources."yargs-13.3.0" // {
+      sources."y18n-4.0.1"
+      (sources."yargs-13.3.2" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
+          sources."find-up-3.0.0"
+          sources."locate-path-3.0.0"
+          sources."p-limit-2.3.0"
+          sources."p-locate-3.0.0"
+          sources."path-exists-3.0.0"
           sources."string-width-3.1.0"
           sources."strip-ansi-5.2.0"
         ];
       })
-      sources."yargs-parser-13.1.1"
-      sources."yargs-unparser-1.6.0"
+      sources."yargs-parser-13.1.2"
+      (sources."yargs-unparser-2.0.0" // {
+        dependencies = [
+          sources."camelcase-6.2.0"
+          sources."decamelize-4.0.0"
+        ];
+      })
+      sources."yocto-queue-0.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -3715,7 +3519,7 @@ in
       sources."commander-2.20.3"
       (sources."config-chain-1.1.12" // {
         dependencies = [
-          sources."ini-1.3.5"
+          sources."ini-1.3.8"
         ];
       })
       sources."cryptiles-0.2.2"
@@ -3728,7 +3532,6 @@ in
       sources."http-signature-0.10.1"
       sources."inherits-1.0.2"
       sources."ini-1.1.0"
-      sources."ip-regex-2.1.0"
       sources."json-stringify-safe-5.0.1"
       sources."kew-0.1.7"
       sources."mime-1.2.11"
@@ -3744,7 +3547,7 @@ in
       sources."phantomjs-1.9.7-15"
       sources."progress-1.1.8"
       sources."proto-list-1.2.4"
-      sources."psl-1.7.0"
+      sources."psl-1.8.0"
       sources."punycode-2.1.1"
       sources."qs-0.6.6"
       sources."request-2.36.0"
@@ -3753,8 +3556,9 @@ in
       sources."semver-1.1.4"
       sources."sntp-0.2.4"
       sources."throttleit-0.0.2"
-      sources."tough-cookie-3.0.1"
+      sources."tough-cookie-4.0.0"
       sources."tunnel-agent-0.4.3"
+      sources."universalify-0.1.2"
       sources."which-1.0.9"
     ];
     buildInputs = globalBuildInputs;
@@ -3794,25 +3598,24 @@ in
   sinon = nodeEnv.buildNodePackage {
     name = "sinon";
     packageName = "sinon";
-    version = "9.0.1";
+    version = "9.2.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/sinon/-/sinon-9.0.1.tgz";
-      sha512 = "iTTyiQo5T94jrOx7X7QLBZyucUJ2WvL9J13+96HMfm2CGoJYbIPqRfl6wgNcqmzk0DI28jeGx5bUTXizkrqBmg==";
+      url = "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz";
+      sha512 = "zljcULZQsJxVra28qIAL6ow1Z9tpattkCTEJR4RBP3TGc00FcttsP5pK284Nas5WjMZU5Yzy3kAIp3B3KRf5Yg==";
     };
     dependencies = [
-      sources."@sinonjs/commons-1.7.1"
-      sources."@sinonjs/fake-timers-6.0.0"
-      sources."@sinonjs/formatio-5.0.1"
-      sources."@sinonjs/samsam-5.0.3"
+      sources."@sinonjs/commons-1.8.2"
+      sources."@sinonjs/fake-timers-6.0.1"
+      sources."@sinonjs/samsam-5.3.1"
       sources."@sinonjs/text-encoding-0.7.1"
       sources."diff-4.0.2"
       sources."has-flag-4.0.0"
       sources."isarray-0.0.1"
-      sources."just-extend-4.1.0"
+      sources."just-extend-4.1.1"
       sources."lodash.get-4.4.2"
-      sources."nise-4.0.3"
+      sources."nise-4.0.4"
       sources."path-to-regexp-1.8.0"
-      sources."supports-color-7.1.0"
+      sources."supports-color-7.2.0"
       sources."type-detect-4.0.8"
     ];
     buildInputs = globalBuildInputs;
@@ -3828,10 +3631,10 @@ in
   jshint = nodeEnv.buildNodePackage {
     name = "jshint";
     packageName = "jshint";
-    version = "2.11.0";
+    version = "2.12.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/jshint/-/jshint-2.11.0.tgz";
-      sha512 = "ooaD/hrBPhu35xXW4gn+o3SOuzht73gdBuffgJzrZBJZPGgGiiTvJEgTyxFvBO2nz0+X1G6etF8SzUODTlLY6Q==";
+      url = "https://registry.npmjs.org/jshint/-/jshint-2.12.0.tgz";
+      sha512 = "TwuuaUDmra0JMkuqvqy+WGo2xGHSNjv1BA1nTIgtH2K5z1jHuAEeAgp7laaR+hLRmajRjcrM71+vByBDanCyYA==";
     };
     dependencies = [
       sources."balanced-match-1.0.0"
@@ -3843,8 +3646,8 @@ in
       sources."date-now-0.1.4"
       (sources."dom-serializer-0.2.2" // {
         dependencies = [
-          sources."domelementtype-2.0.1"
-          sources."entities-2.0.0"
+          sources."domelementtype-2.1.0"
+          sources."entities-2.2.0"
         ];
       })
       sources."domelementtype-1.3.1"
@@ -3858,7 +3661,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."isarray-0.0.1"
-      sources."lodash-4.17.15"
+      sources."lodash-4.17.20"
       sources."minimatch-3.0.4"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
@@ -3871,8 +3674,8 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Static analysis tool for JavaScript";
-      homepage = "https://jshint.com/";
-      license = "(MIT AND JSON)";
+      homepage = "http://jshint.com/";
+      license = "MIT";
     };
     production = true;
     bypassCache = true;
@@ -3881,26 +3684,29 @@ in
   shelljs = nodeEnv.buildNodePackage {
     name = "shelljs";
     packageName = "shelljs";
-    version = "0.8.3";
+    version = "0.8.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz";
-      sha512 = "3ndzzikwq0c0084xy1s0v9q2msc8wc7qrmi0bi1llshsmlhfz4dn1k9i2r666ls7xmq62idmify0ksc1vq3mrjqcrqbm20na0m03kbx";
+      url = "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz";
+      sha512 = "7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==";
     };
     dependencies = [
       sources."balanced-match-1.0.0"
       sources."brace-expansion-1.1.11"
       sources."concat-map-0.0.1"
       sources."fs.realpath-1.0.0"
+      sources."function-bind-1.1.1"
       sources."glob-7.1.6"
+      sources."has-1.0.3"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."interpret-1.2.0"
+      sources."interpret-1.4.0"
+      sources."is-core-module-2.2.0"
       sources."minimatch-3.0.4"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.6"
       sources."rechoir-0.6.2"
-      sources."resolve-1.15.1"
+      sources."resolve-1.19.0"
       sources."wrappy-1.0.2"
     ];
     buildInputs = globalBuildInputs;
diff --git a/pkgs/development/web/remarkjs/nodepkgs.nix b/pkgs/development/web/remarkjs/nodepkgs.nix
index e21d6a0308b97..baacee29ff201 100644
--- a/pkgs/development/web/remarkjs/nodepkgs.nix
+++ b/pkgs/development/web/remarkjs/nodepkgs.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
@@ -6,12 +6,12 @@
 
 let
   nodeEnv = import ../../node-packages/node-env.nix {
-    inherit (pkgs) lib stdenv python2 util-linux runCommand writeTextFile;
-    inherit nodejs;
+    inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
+    inherit pkgs nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
 import ./node-packages.nix {
-  inherit (pkgs) fetchurl fetchgit;
+  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
   inherit nodeEnv;
 }
diff --git a/pkgs/games/0verkill/default.nix b/pkgs/games/0verkill/default.nix
new file mode 100644
index 0000000000000..69a371f09d9fe
--- /dev/null
+++ b/pkgs/games/0verkill/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, xorgproto
+, libX11
+, libXpm
+}:
+
+stdenv.mkDerivation rec {
+  pname = "0verkill";
+  version = "unstable-2011-01-13";
+
+  src = fetchFromGitHub {
+    owner = "hackndev";
+    repo = pname;
+    rev = "522f11a3e40670bbf85e0fada285141448167968";
+    sha256 = "WO7PN192HhcDl6iHIbVbH7MVMi1Tl2KyQbDa9DWRO6M=";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ libX11 xorgproto libXpm ];
+
+  configureFlags = [ "--with-x" ];
+
+  preAutoreconf = ''
+    autoupdate
+  '';
+
+  hardeningDisable = [ "all" ]; # Someday the upstream will update the code...
+
+  meta = with lib; {
+    homepage = "https://github.com/hackndev/0verkill";
+    description = "ASCII-ART bloody 2D action deathmatch-like game";
+    license = with licenses; gpl2Only;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/games/abuse/abuse.sh b/pkgs/games/abuse/abuse.sh
new file mode 100644
index 0000000000000..de837d27181f4
--- /dev/null
+++ b/pkgs/games/abuse/abuse.sh
@@ -0,0 +1,18 @@
+#! @shell@
+
+if grep datadir ~/.abuse/abuserc &>/dev/null; then
+  if [ ! -d "$(grep datadir ~/.abuse/abuserc | cut -d= -f2)" ]; then
+    echo "Warning: ~/.abuse/abuserc references a datadir which is not existent." >&2
+    echo "Try removing ~/.abuse/abuserc, else abuse will most likely not run." >&2
+    echo >&2
+    # This can happen if the build hash of abuse changes and the older version
+    # is garbage-collected. The correct path of the datadir is compiled into
+    # the binary, but unfortunately abuse writes out the path into abuserc on
+    # first start. This entry may later become stale.
+  fi
+fi
+
+# The timidity bundled into SDL_mixer looks in . and in several global places
+# like /etc for its configuration file.
+cd @out@/etc
+exec @out@/bin/.abuse-bin "$@"
diff --git a/pkgs/games/abuse/default.nix b/pkgs/games/abuse/default.nix
new file mode 100644
index 0000000000000..2e863022a68b8
--- /dev/null
+++ b/pkgs/games/abuse/default.nix
@@ -0,0 +1,54 @@
+{ lib, stdenv, fetchurl, makeDesktopItem, copyDesktopItems, SDL, SDL_mixer, freepats }:
+
+stdenv.mkDerivation rec {
+  pname   = "abuse";
+  version = "0.8";
+
+  src = fetchurl {
+    url    = "http://abuse.zoy.org/raw-attachment/wiki/download/${pname}-${version}.tar.gz";
+    sha256 = "0104db5fd2695c9518583783f7aaa7e5c0355e27c5a803840a05aef97f9d3488";
+  };
+
+  configureFlags = [
+    "--with-x"
+    "--with-assetdir=$(out)/orig"
+    # The "--enable-debug" is to work around a segfault on start, see https://bugs.archlinux.org/task/52915.
+    "--enable-debug"
+  ];
+
+  desktopItems = [ (makeDesktopItem {
+    name = "abuse";
+    exec = "abuse";
+    icon = "abuse";
+    desktopName = "Abuse";
+    comment     = "Side-scroller action game that pits you against ruthless alien killers";
+    categories  = "Game;ActionGame;";
+  }) ];
+
+  postInstall = ''
+    mkdir $out/etc
+    echo -e "dir ${freepats}\nsource ${freepats}/freepats.cfg" > $out/etc/timidity.cfg
+
+    mv $out/bin/abuse $out/bin/.abuse-bin
+    substituteAll "${./abuse.sh}" $out/bin/abuse
+    chmod +x $out/bin/abuse
+
+    install -Dm644 doc/abuse.png $out/share/pixmaps/abuse.png
+  '';
+
+  nativeBuildInputs = [ copyDesktopItems ];
+  buildInputs       = [ SDL SDL_mixer freepats ];
+
+  meta = with lib; {
+    description = "Side-scroller action game that pits you against ruthless alien killers";
+    homepage    = "http://abuse.zoy.org/";
+    license     = with licenses; [ unfree ];
+    # Most of abuse is free (public domain, GPL2+, WTFPL), however the creator
+    # of its sfx and music only gave Debian permission to redistribute the
+    # files. Our friends from Debian thought about it some more:
+    # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648272
+    maintainers = with maintainers; [ iblech ];
+    platforms   = platforms.unix;
+    broken      = stdenv.isDarwin;
+  };
+}
diff --git a/pkgs/games/airstrike/default.nix b/pkgs/games/airstrike/default.nix
index f45ac2f015322..12b485764a5b1 100644
--- a/pkgs/games/airstrike/default.nix
+++ b/pkgs/games/airstrike/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "1h6rv2zcp84ycmd0kv1pbpqjgwx57dw42x7878d2c2vnpi5jn8qi";
   };
 
-  buildInputs = [ makeWrapper SDL SDL_image ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ SDL SDL_image ];
 
   NIX_LDFLAGS = "-lm";
 
diff --git a/pkgs/games/alephone/default.nix b/pkgs/games/alephone/default.nix
index efd26d1c4f0a2..6562a60a5be48 100644
--- a/pkgs/games/alephone/default.nix
+++ b/pkgs/games/alephone/default.nix
@@ -96,5 +96,5 @@ in self // {
         license = lib.licenses.free;
         hydraPlatforms = [ ];
       } // meta;
-    });
+    } // extraArgs);
 }
diff --git a/pkgs/games/anki/bin.nix b/pkgs/games/anki/bin.nix
index 5509d8a90caf2..f5677b142e284 100644
--- a/pkgs/games/anki/bin.nix
+++ b/pkgs/games/anki/bin.nix
@@ -3,14 +3,14 @@
 let
   pname = "anki-bin";
   # Update hashes for both Linux and Darwin!
-  version = "2.1.38";
+  version = "2.1.40";
 
   unpacked = stdenv.mkDerivation {
     inherit pname version;
 
     src = fetchurl {
       url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-linux.tar.bz2";
-      sha256 = "14zbz8k142djka3b5sld3368m98lj80c39m6xg87bz140h25ylz4";
+      sha256 = "0zcvjm0dv3mjln2npv415yfaa1fykif738qkis52x3pq1by2aiam";
     };
 
     installPhase = ''
@@ -49,7 +49,7 @@ if stdenv.isLinux then buildFHSUserEnv (appimageTools.defaultFhsEnvArgs // {
 
   src = fetchurl {
     url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac.dmg";
-    sha256 = "1krl014jhhby0zv4if9cgbcarmhcg6zccyhxw1yb6djiqap0zii7";
+    sha256 = "14f0sp9h963qix4wa0kg7z8a2nhch9aybv736rm55aqk6mady6vi";
   };
 
   nativeBuildInputs = [ undmg ];
diff --git a/pkgs/games/armagetronad/default.nix b/pkgs/games/armagetronad/default.nix
index e271db8673404..27f509c3f72a8 100644
--- a/pkgs/games/armagetronad/default.nix
+++ b/pkgs/games/armagetronad/default.nix
@@ -1,30 +1,42 @@
-{ lib, stdenv, fetchurl, SDL, libxml2, SDL_image, libjpeg, libpng, libGLU, libGL, zlib }:
+{ lib, stdenv, fetchurl
+, pkg-config, SDL, libxml2, SDL_image, libjpeg, libpng, libGLU, libGL, zlib
+, dedicatedServer ? false }:
 
 let
-  versionMajor = "0.2.8";
-  versionMinor = "3.5";
+  versionMajor = "0.2.9";
+  versionMinor = "1.0";
   version = "${versionMajor}.${versionMinor}";
 in
-
 stdenv.mkDerivation {
-  pname = "armagetron";
+  pname = if dedicatedServer then "armagetronad-dedicated" else "armagetronad";
   inherit version;
   src = fetchurl {
-    url = "https://launchpad.net/armagetronad/${versionMajor}/${versionMajor}.${versionMinor}/+download/armagetronad-${version}.src.tar.bz2";
-    sha256 = "1vyja7mzivs3pacxb7kznndsgqhq4p0f7x2zg55dckvzqwprdhqx";
+    url = "https://launchpad.net/armagetronad/${versionMajor}/${version}/+download/armagetronad-${version}.tbz";
+    sha256 = "sha256-WbbHwBzj+MylQ34z+XSmN1KVQaEapPUsGlwXSZ4m9qE";
   };
 
-  NIX_LDFLAGS = "-lSDL_image";
-
   enableParallelBuilding = true;
 
-  configureFlags = [ "--disable-etc" ];
-  buildInputs = [ SDL SDL_image libxml2 libjpeg libpng libGLU libGL zlib ];
+  configureFlags = [
+    "--enable-memmanager"
+    "--enable-automakedefaults"
+    "--disable-useradd"
+    "--disable-initscripts"
+    "--disable-etc"
+    "--disable-uninstall"
+    "--disable-sysinstall"
+  ] ++ lib.optional dedicatedServer "--enable-dedicated";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ libxml2 zlib ]
+    ++ lib.optionals (!dedicatedServer) [ SDL SDL_image libxml2 libjpeg libpng libGLU libGL ];
 
   meta = with lib; {
     homepage = "http://armagetronad.org";
-    description = "An multiplayer networked arcade racing game in 3D similar to Tron";
-    license = licenses.gpl2;
+    description = "A multiplayer networked arcade racing game in 3D similar to Tron";
+    maintainers = with maintainers; [ numinit ];
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/games/assaultcube/default.nix b/pkgs/games/assaultcube/default.nix
index 0206821f38738..a2c00ddc149bd 100644
--- a/pkgs/games/assaultcube/default.nix
+++ b/pkgs/games/assaultcube/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ file zlib ] ++ optionals client [ openal SDL SDL_image libogg libvorbis ];
 
   targets = (optionalString server "server") + (optionalString client " client");
-  makeFlags = [ "-C source/src" "CXX=c++" targets ];
+  makeFlags = [ "-C source/src" "CXX=${stdenv.cc.targetPrefix}c++" targets ];
 
   desktop = makeDesktopItem {
     name = "AssaultCube";
diff --git a/pkgs/games/black-hole-solver/default.nix b/pkgs/games/black-hole-solver/default.nix
new file mode 100644
index 0000000000000..e859e72d96b15
--- /dev/null
+++ b/pkgs/games/black-hole-solver/default.nix
@@ -0,0 +1,30 @@
+{
+  stdenv, lib, fetchurl,
+  cmake, perl, pkg-config, python3,
+  rinutils, PathTiny,
+}:
+
+stdenv.mkDerivation rec {
+  pname = "black-hole-solver";
+  version = "1.10.1";
+
+  meta = with lib; {
+    homepage = "https://www.shlomifish.org/open-source/projects/black-hole-solitaire-solver/";
+    description = "A solver for Solitaire variants Golf, Black Hole, and All in a Row.";
+    license = licenses.mit;
+  };
+
+  src = fetchurl {
+    url = "https://fc-solve.shlomifish.org/downloads/fc-solve/${pname}-${version}.tar.xz";
+    sha256 = "1qhihmk4fwz6n16c7bnxnh3v7jhbb7xhkc9wk9484bp0k4x9bq9n";
+  };
+
+  nativeBuildInputs = [ cmake perl pkg-config python3 ];
+
+  buildInputs = [ rinutils PathTiny ];
+
+  prePatch = ''
+    patchShebangs ./scripts
+  '';
+
+}
diff --git a/pkgs/games/blobwars/default.nix b/pkgs/games/blobwars/default.nix
new file mode 100644
index 0000000000000..b99c9f2b8e360
--- /dev/null
+++ b/pkgs/games/blobwars/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, lib, fetchurl, pkg-config, gettext, SDL2, SDL2_image, SDL2_mixer, SDL2_net, SDL2_ttf, zlib }:
+
+stdenv.mkDerivation rec {
+  pname = "blobwars";
+  version = "2.00";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "c406279f6cdf2aed3c6edb8d8be16efeda0217494acd525f39ee2bd3e77e4a99";
+  };
+
+  nativeBuildInputs = [ pkg-config gettext ];
+  buildInputs = [ SDL2 SDL2_image SDL2_mixer SDL2_net SDL2_ttf zlib ];
+  NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
+
+  makeFlags = [ "PREFIX=$(out)" "RELEASE=1" ];
+
+  postInstall = ''
+    install -Dm755 $out/games/blobwars -t $out/bin
+    rm -r $out/games
+    cp -r {data,gfx,sound,music} $out/share/games/blobwars/
+    # fix world readable bit
+    find $out/share/games/blobwars/. -type d -exec chmod 755 {} +
+    find $out/share/games/blobwars/. -type f -exec chmod 644 {} +
+  '';
+
+  meta = with lib; {
+    description = "Platform action game featuring a blob with lots of weapons";
+    homepage = "https://www.parallelrealities.co.uk/games/metalBlobSolid/";
+    license = with licenses; [ gpl2Plus free ];
+    maintainers = with maintainers; [ iblech ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/games/chessdb/default.nix b/pkgs/games/chessdb/default.nix
index 656e4ab6add34..40f90e75ff823 100644
--- a/pkgs/games/chessdb/default.nix
+++ b/pkgs/games/chessdb/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation {
     sha256 = "0brc3wln3bxp979iqj2w1zxpfd0pch8zzazhdmwf7acww4hrsz62";
   };
 
-  buildInputs = [ tcl tk libX11 makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ tcl tk libX11 ];
 
   makeFlags = [
     "BINDIR=$(out)/bin"
diff --git a/pkgs/games/ckan/default.nix b/pkgs/games/ckan/default.nix
index 052982bf15d6b..26a0ba748ba4f 100644
--- a/pkgs/games/ckan/default.nix
+++ b/pkgs/games/ckan/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
 
   dontUnpack = true;
 
-  buildInputs = [ makeWrapper mono ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ mono ];
 
   libraries = lib.makeLibraryPath [ gtk2 curl ];
 
diff --git a/pkgs/games/cockatrice/default.nix b/pkgs/games/cockatrice/default.nix
index a657913aad769..cb51489de9c13 100644
--- a/pkgs/games/cockatrice/default.nix
+++ b/pkgs/games/cockatrice/default.nix
@@ -4,13 +4,13 @@
 
 mkDerivation rec {
   pname = "cockatrice";
-  version = "2020-08-23-Release-2.7.5";
+  version = "2021-01-26-Release-2.8.0";
 
   src = fetchFromGitHub {
     owner = "Cockatrice";
     repo = "Cockatrice";
     rev = version;
-    sha256 = "1yaxm7q0ja3rgx197hh8ynjc6ncc4hm0qdn9v7f0l4fbv0bdpv34";
+    sha256 = "0q8ffcklb2b7hcqhy3d2f9kz9aw22pp04pc9y4sslyqmf17pwnz9";
   };
 
   buildInputs = [
diff --git a/pkgs/games/crawl/default.nix b/pkgs/games/crawl/default.nix
index 8d16b2fe59cca..11ac23fcef3ac 100644
--- a/pkgs/games/crawl/default.nix
+++ b/pkgs/games/crawl/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, fetchpatch, which, sqlite, lua5_1, perl, python3, zlib, pkg-config, ncurses
 , dejavu_fonts, libpng, SDL2, SDL2_image, SDL2_mixer, libGLU, libGL, freetype, pngcrush, advancecomp
-, tileMode ? false, enableSound ? tileMode
+, tileMode ? false, enableSound ? tileMode, buildPackages
 
 # MacOS / Darwin builds
 , darwin ? null
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   name = "crawl-${version}${lib.optionalString tileMode "-tiles"}";
-  version = "0.26.0";
+  version = "0.26.1";
 
   src = fetchFromGitHub {
     owner = "crawl";
     repo = "crawl";
     rev = version;
-    sha256 = "0g0icmhppb6f5amf5r2ksfylrlipz2cd8gd85pmd05k463nrmwqi";
+    sha256 = "sha256-lh0lCMZRH+c6jSHjLFDU3wjy6Oyp59ZcPaqg5PWVrkk=";
   };
 
   # Patch hard-coded paths and remove force library builds
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
 
   fontsPath = lib.optionalString tileMode dejavu_fonts;
 
-  makeFlags = [ "prefix=${placeholder "out"}" "FORCE_CC=cc" "FORCE_CXX=c++" "HOSTCXX=c++"
+  makeFlags = [ "prefix=${placeholder "out"}" "FORCE_CC=${stdenv.cc.targetPrefix}cc" "FORCE_CXX=${stdenv.cc.targetPrefix}c++" "HOSTCXX=${buildPackages.stdenv.cc.targetPrefix}c++"
                 "FORCE_PKGCONFIG=y"
                 "SAVEDIR=~/.crawl" "sqlite=${sqlite.dev}"
                 "DATADIR=${placeholder "out"}"
diff --git a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
index 83e181c85e654..bd8825582c43a 100644
--- a/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
+++ b/pkgs/games/dwarf-fortress/dwarf-therapist/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
     cp -r DwarfTherapist.app $out/Applications
   '' else null;
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "Tool to manage dwarves in a running game of Dwarf Fortress";
     maintainers = with maintainers; [ abbradar bendlas numinit jonringer ];
diff --git a/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix b/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix
index bd75a66b4879d..7db79012ec658 100644
--- a/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix
+++ b/pkgs/games/dwarf-fortress/dwarf-therapist/wrapper.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   paths = [ dwarf-therapist ];
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   passthru = { inherit dwarf-fortress dwarf-therapist; };
 
diff --git a/pkgs/games/enigma/default.nix b/pkgs/games/enigma/default.nix
new file mode 100644
index 0000000000000..131bd00e1857c
--- /dev/null
+++ b/pkgs/games/enigma/default.nix
@@ -0,0 +1,32 @@
+{ lib, stdenv, fetchurl, makeWrapper, pkg-config, gettext, imagemagick, curl, libpng, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, xercesc, xdg-utils, hicolor-icon-theme }:
+stdenv.mkDerivation rec {
+  pname = "enigma";
+  version = "1.30-alpha";
+
+  src = fetchurl {
+    url = "https://github.com/Enigma-Game/Enigma/releases/download/${version}/${pname}-${version}.tar.gz";
+    sha256 = "1zyk3j43gzfr1lhc6g13j7qai5f33fv5xm5735nnznaqvaz17949";
+  };
+
+  nativeBuildInputs = [ pkg-config gettext makeWrapper imagemagick ];
+  buildInputs = [ SDL2 SDL2_image SDL2_mixer SDL2_ttf libpng xercesc curl xdg-utils ];
+
+  # For some reason (might be related to the alpha status), some includes
+  # which are required by lib-src/enigma-core are not picked up by the
+  # configure script. Hence we add them manually.
+  CPPFLAGS = "-I${SDL2.dev}/include/SDL2 -I${SDL2_ttf}/include/SDL2 -I${SDL2_image}/include/SDL2 -I${SDL2_mixer}/include/SDL2";
+
+  postInstall = ''
+    rm -r $out/include
+    wrapProgram $out/bin/enigma --prefix PATH : "${lib.makeBinPath [ xdg-utils ]}"
+  '';
+
+  meta = with lib; {
+    description = "Puzzle game inspired by Oxyd on the Atari ST and Rock'n'Roll on the Amiga";
+    license = with licenses; [ gpl2 free ]; # source + bundles libs + art
+    platforms = platforms.unix;
+    broken = stdenv.targetPlatform.isDarwin;
+    maintainers = with maintainers; [ iblech ];
+    homepage = "https://www.nongnu.org/enigma/";
+  };
+}
diff --git a/pkgs/games/ezquake/default.nix b/pkgs/games/ezquake/default.nix
index 7089c81ee3599..90ddb6d6452e0 100644
--- a/pkgs/games/ezquake/default.nix
+++ b/pkgs/games/ezquake/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ezquake";
-  version = "3.2.2";
+  version = "3.2.3";
 
   src = fetchFromGitHub {
     owner = "ezQuake";
     repo = pname + "-source";
     rev = version;
-    sha256 = "1rfp816gnp7jfd27cg1la5n1q6z2wgd9qljnlmnx7v2jixql8brf";
+    sha256 = "sha256-EBhKmoX11JavTG6tPfg15FY2lqOFfzSDg3058OWfcYQ=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/games/factorio/default.nix b/pkgs/games/factorio/default.nix
index 9db8a95746d42..879bbfa2311f3 100644
--- a/pkgs/games/factorio/default.nix
+++ b/pkgs/games/factorio/default.nix
@@ -42,7 +42,7 @@ let
 
       releaseType=alpha
       version=0.17.74
-      nix-prefetch-url file://$HOME/Downloads/factorio_\''${releaseType}_x64_\''${version}.tar.xz --name factorio_\''${releaseType}_x64-\''${version}.tar.xz
+      nix-prefetch-url file://\''$HOME/Downloads/factorio_\''${releaseType}_x64_\''${version}.tar.xz --name factorio_\''${releaseType}_x64-\''${version}.tar.xz
 
     Note the ultimate "_" is replaced with "-" in the --name arg!
   '';
@@ -178,7 +178,8 @@ let
     headless = base;
     demo = base // {
 
-      buildInputs = [ makeWrapper libpulseaudio ];
+      nativeBuildInputs = [ makeWrapper ];
+      buildInputs = [ libpulseaudio ];
 
       libPath = lib.makeLibraryPath [
         alsaLib
diff --git a/pkgs/games/factorio/versions.json b/pkgs/games/factorio/versions.json
index 4208df3acd05e..810332a975248 100644
--- a/pkgs/games/factorio/versions.json
+++ b/pkgs/games/factorio/versions.json
@@ -2,56 +2,56 @@
   "x86_64-linux": {
     "alpha": {
       "experimental": {
-        "name": "factorio_alpha_x64-1.1.19.tar.xz",
+        "name": "factorio_alpha_x64-1.1.25.tar.xz",
         "needsAuth": true,
-        "sha256": "1ip855iaw2pzgijpnp7bazj7qm3zqr2599xzaf7wx8gcdviq1k5r",
+        "sha256": "1xz03xr144grf5pa194j8pvyniiw77lsidkl32wha9x85fln5jhi",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.19/alpha/linux64",
-        "version": "1.1.19"
+        "url": "https://factorio.com/get-download/1.1.25/alpha/linux64",
+        "version": "1.1.25"
       },
       "stable": {
-        "name": "factorio_alpha_x64-1.1.19.tar.xz",
+        "name": "factorio_alpha_x64-1.1.25.tar.xz",
         "needsAuth": true,
-        "sha256": "1ip855iaw2pzgijpnp7bazj7qm3zqr2599xzaf7wx8gcdviq1k5r",
+        "sha256": "1xz03xr144grf5pa194j8pvyniiw77lsidkl32wha9x85fln5jhi",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.19/alpha/linux64",
-        "version": "1.1.19"
+        "url": "https://factorio.com/get-download/1.1.25/alpha/linux64",
+        "version": "1.1.25"
       }
     },
     "demo": {
       "experimental": {
-        "name": "factorio_demo_x64-1.1.19.tar.xz",
+        "name": "factorio_demo_x64-1.1.25.tar.xz",
         "needsAuth": false,
-        "sha256": "1p9avwkdqpaw9insji9v711rylqn9kxg0gzd8s7hdrmci3ah0ifr",
+        "sha256": "1v3rpi9cfx4bg4jqq3h8zwknb5wsidk3lf3qkf55kf4xw6fnkzcj",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.19/demo/linux64",
-        "version": "1.1.19"
+        "url": "https://factorio.com/get-download/1.1.25/demo/linux64",
+        "version": "1.1.25"
       },
       "stable": {
-        "name": "factorio_demo_x64-1.1.19.tar.xz",
+        "name": "factorio_demo_x64-1.1.25.tar.xz",
         "needsAuth": false,
-        "sha256": "1p9avwkdqpaw9insji9v711rylqn9kxg0gzd8s7hdrmci3ah0ifr",
+        "sha256": "1v3rpi9cfx4bg4jqq3h8zwknb5wsidk3lf3qkf55kf4xw6fnkzcj",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.19/demo/linux64",
-        "version": "1.1.19"
+        "url": "https://factorio.com/get-download/1.1.25/demo/linux64",
+        "version": "1.1.25"
       }
     },
     "headless": {
       "experimental": {
-        "name": "factorio_headless_x64-1.1.19.tar.xz",
+        "name": "factorio_headless_x64-1.1.25.tar.xz",
         "needsAuth": false,
-        "sha256": "0w0ir1dzx39vq1w09ikgw956q1ilq6n0cyi50arjhgcqcg44w1ks",
+        "sha256": "0xirxdf41sdsgcknvhdfg6rm12bwmg86bl4ml6ap1skifk8dlia1",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.19/headless/linux64",
-        "version": "1.1.19"
+        "url": "https://factorio.com/get-download/1.1.25/headless/linux64",
+        "version": "1.1.25"
       },
       "stable": {
-        "name": "factorio_headless_x64-1.1.19.tar.xz",
+        "name": "factorio_headless_x64-1.1.25.tar.xz",
         "needsAuth": false,
-        "sha256": "0w0ir1dzx39vq1w09ikgw956q1ilq6n0cyi50arjhgcqcg44w1ks",
+        "sha256": "0xirxdf41sdsgcknvhdfg6rm12bwmg86bl4ml6ap1skifk8dlia1",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.19/headless/linux64",
-        "version": "1.1.19"
+        "url": "https://factorio.com/get-download/1.1.25/headless/linux64",
+        "version": "1.1.25"
       }
     }
   }
diff --git a/pkgs/games/fairymax/default.nix b/pkgs/games/fairymax/default.nix
index 5c7cad879d1aa..d743395045149 100644
--- a/pkgs/games/fairymax/default.nix
+++ b/pkgs/games/fairymax/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     cp ${ini} fmax.ini
   '';
   buildPhase = ''
-    gcc *.c -o fairymax -DINI_FILE='"'"$out/share/fairymax/fmax.ini"'"'
+    $CC *.c -Wno-return-type -o fairymax -DINI_FILE='"'"$out/share/fairymax/fmax.ini"'"'
   '';
   installPhase = ''
     mkdir -p "$out"/{bin,share/fairymax}
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     '';
     license = lib.licenses.free ;
     maintainers = [lib.maintainers.raskin];
-    platforms = lib.platforms.linux;
+    platforms = lib.platforms.all;
     homepage = "http://home.hccnet.nl/h.g.muller/dwnldpage.html";
   };
 }
diff --git a/pkgs/games/flightgear/default.nix b/pkgs/games/flightgear/default.nix
index 3e65915ec1dc3..62db756a4839b 100644
--- a/pkgs/games/flightgear/default.nix
+++ b/pkgs/games/flightgear/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   # Of all the files in the source and data archives, there doesn't seem to be
   # a decent icon :-)
   iconsrc = fetchurl {
-    url = "http://wiki.flightgear.org/images/6/62/FlightGear_logo.png";
+    url = "https://wiki.flightgear.org/w/images/6/62/FlightGear_logo.png";
     sha256 = "1ikz413jia55vfnmx8iwrlxvx8p16ggm81mbrj66wam3q7s2dm5p";
   };
 
diff --git a/pkgs/games/freeciv/default.nix b/pkgs/games/freeciv/default.nix
index f9938eaca3138..dea159f53bf7b 100644
--- a/pkgs/games/freeciv/default.nix
+++ b/pkgs/games/freeciv/default.nix
@@ -12,13 +12,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "freeciv";
-  version = "2.6.2.1";
+  version = "2.6.3";
 
   src = fetchFromGitHub {
     owner = "freeciv";
     repo = "freeciv";
     rev = "R${builtins.replaceStrings [ "." ] [ "_" ] version}";
-    sha256 = "1nra6b6sk2gciaw1fpwx7qa20hky8cwcdwlshcl1zsikg577hyg5";
+    sha256 = "sha256-tRjik2LONwKFZOcIuyFDoE1fD23UnZHMdNLo0DdYyOc=";
   };
 
   postPatch = ''
@@ -38,6 +38,8 @@ in stdenv.mkDerivation rec {
     ++ optional server readline
     ++ optional enableSqlite sqlite;
 
+  dontWrapQtApps = true;
+
   configureFlags = [ "--enable-shared" ]
     ++ optional sdlClient "--enable-client=sdl"
     ++ optionals qtClient [
diff --git a/pkgs/games/frozen-bubble/default.nix b/pkgs/games/frozen-bubble/default.nix
index 6883acb6014c0..f9dd3fd615929 100644
--- a/pkgs/games/frozen-bubble/default.nix
+++ b/pkgs/games/frozen-bubble/default.nix
@@ -1,5 +1,6 @@
-{ lib, fetchurl, perlPackages, pkg-config, SDL, SDL_mixer, SDL_Pango, glib }:
-
+{ lib, fetchurl, perlPackages, pkg-config, SDL, SDL_mixer, SDL_Pango, glib
+, copyDesktopItems, makeDesktopItem
+}:
 perlPackages.buildPerlModule {
   pname = "frozen-bubble";
   version = "2.212";
@@ -10,13 +11,24 @@ perlPackages.buildPerlModule {
   };
   patches = [ ./fix-compilation.patch ];
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ copyDesktopItems pkg-config ];
 
   buildInputs =  [ glib SDL SDL_mixer SDL_Pango perlPackages.SDL perlPackages.FileSlurp ];
   propagatedBuildInputs = with perlPackages; [ AlienSDL CompressBzip2 FileShareDir FileWhich IPCSystemSimple LocaleMaketextLexicon ];
 
   perlPreHook = "export LD=$CC";
 
+  desktopItems = [
+    (makeDesktopItem {
+      name = "frozen-bubble";
+      exec = "frozen-bubble";
+      desktopName = "Frozen Bubble";
+      genericName = "Frozen Bubble";
+      comment = "Arcade/reflex colour matching game";
+      categories = "Game;";
+    })
+  ];
+
   meta = {
     description = "Puzzle with Bubbles";
     license = lib.licenses.gpl2;
diff --git a/pkgs/games/gcs/default.nix b/pkgs/games/gcs/default.nix
index a471b425f0c61..9d8d74921e54e 100644
--- a/pkgs/games/gcs/default.nix
+++ b/pkgs/games/gcs/default.nix
@@ -42,7 +42,8 @@ in stdenv.mkDerivation rec {
     cp -r ${library} gcs_library
   '';
 
-  buildInputs = [ jdk8 jre8 ant makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jdk8 jre8 ant ];
   buildPhase = ''
     cd apple_stubs
     ant
diff --git a/pkgs/games/gimx/default.nix b/pkgs/games/gimx/default.nix
new file mode 100644
index 0000000000000..727945ff2b465
--- /dev/null
+++ b/pkgs/games/gimx/default.nix
@@ -0,0 +1,72 @@
+{ stdenv, lib, fetchFromGitHub, makeWrapper, curl, libusb1, xorg, libxml2
+, ncurses5, bluez, libmhash, gimxAuth ? "" }:
+
+let
+  gimx-config = fetchFromGitHub {
+    owner = "matlo";
+    repo = "GIMX-configurations";
+    rev = "f31bba7d3be57519540be290cd69ba6a8dc4e4d4";
+    sha256 = "0wpxx2qxyiiblz2qrl5swg00ls1aq7i5vzlk0qlnqdq8ss8jssax";
+  };
+
+in stdenv.mkDerivation rec {
+  pname = "gimx";
+  version = "8.0";
+
+  src = fetchFromGitHub {
+    owner = "matlo";
+    repo = "GIMX";
+    rev = "v${version}";
+    fetchSubmodules = true;
+    sha256 = "0265gg6q7ymg76fb4pjrfdwjd280b3zzry96qy92w0h411slph85";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [
+    curl libusb1 bluez libxml2 ncurses5 libmhash
+    xorg.libX11 xorg.libXi xorg.libXext
+  ];
+
+  patches = [ ./env.patch ];
+  prePatch = (if gimxAuth == "afterglow" then (import ./variant.nix).afterglow
+              else "");
+
+  makeFlags = "build-core";
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out
+    substituteInPlace ./core/Makefile --replace "chmod ug+s" "echo"
+
+    export DESTDIR="$out"
+    make install-shared install-core
+    mv $out/usr/lib $out/lib
+    mv $out/usr/bin $out/bin
+    rmdir $out/usr
+
+    runHook postInstall
+  '';
+
+  postInstall = ''
+    mkdir -p $out/share
+    cp -r ./loader/firmware $out/share/firmware
+    cp -r ${gimx-config}/Linux $out/share/config
+    patch ${gimx-config}/Linux/Dualshock4.xml ${./ds4.patch} -o $out/share/DS4_noff.xml
+
+    makeWrapper $out/bin/gimx $out/bin/gimx-with-confs \
+      --set GIMXCONF $out/share
+
+    makeWrapper $out/bin/gimx $out/bin/gimx-test-ds4 \
+      --set GIMXCONF $out/share \
+      --add-flags "--nograb" --add-flags "--curses" \
+      --add-flags "-p /dev/ttyUSB0" --add-flags "-c DS4_noff.xml"
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/matlo/GIMX";
+    description = "Game Input Multiplexer";
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ bb2020 ];
+  };
+}
diff --git a/pkgs/games/gimx/ds4.patch b/pkgs/games/gimx/ds4.patch
new file mode 100644
index 0000000000000..86b36adda2316
--- /dev/null
+++ b/pkgs/games/gimx/ds4.patch
@@ -0,0 +1,16 @@
+diff --git a/Linux/Dualshock4.xml b/Linux/Dualshock4.xml
+index 5e53ed3..45ee5ed 100644
+--- a/Linux/Dualshock4.xml
++++ b/Linux/Dualshock4.xml
+@@ -94,6 +94,11 @@
+         </axis>
+       </axis_map>
+       <joystick_corrections_list/>
++      <force_feedback>
++        <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
++        <inversion enable="no"/>
++        <gain rumble="0" constant="0" spring="0" damper="0"/>
++      </force_feedback>
+     </configuration>
+   </controller>
+ </root>
diff --git a/pkgs/games/gimx/env.patch b/pkgs/games/gimx/env.patch
new file mode 100644
index 0000000000000..e1f8ed8bb6f14
--- /dev/null
+++ b/pkgs/games/gimx/env.patch
@@ -0,0 +1,30 @@
+--- a/core/config_reader.c
++++ b/core/config_reader.c
+@@ -1353,8 +1353,10 @@ static int read_file(char* file_path)
+ int read_config_file(const char* file)
+ {
+   char file_path[PATH_MAX];
+-
+-  snprintf(file_path, sizeof(file_path), "%s%s%s%s", gimx_params.homedir, GIMX_DIR, CONFIG_DIR, file);
++  char* e = getenv("GIMXCONF"); if (e) { snprintf(file_path, sizeof(file_path), "%s/%s", e, file); }
++  else {
++    snprintf(file_path, sizeof(file_path), "%s%s%s%s", gimx_params.homedir, GIMX_DIR, CONFIG_DIR, file);
++  }
+ 
+   if(read_file(file_path) == -1)
+   {
+--- a/core/gimx.c
++++ b/core/gimx.c
+@@ -190,8 +190,10 @@ void show_config()
+   }
+ 
+   char file_path[PATH_MAX];
+-
+-  snprintf(file_path, sizeof(file_path), "%s%s%s%s", gimx_params.homedir, GIMX_DIR, CONFIG_DIR, gimx_params.config_file);
++  char* e = getenv("GIMXCONF"); if (e) { snprintf(file_path, sizeof(file_path), "%s/%s", e, gimx_params.config_file); }
++  else {
++    snprintf(file_path, sizeof(file_path), "%s%s%s%s", gimx_params.homedir, GIMX_DIR, CONFIG_DIR, gimx_params.config_file);
++  }
+ 
+   FILE * fp = gfile_fopen(file_path, "r");
+   if (fp == NULL)
diff --git a/pkgs/games/gimx/variant.nix b/pkgs/games/gimx/variant.nix
new file mode 100644
index 0000000000000..8396f72b4e77a
--- /dev/null
+++ b/pkgs/games/gimx/variant.nix
@@ -0,0 +1,14 @@
+{
+  afterglow = ''
+    substituteInPlace ./shared/gimxcontroller/include/x360.h \
+      --replace "0x045e" "0x0e6f" --replace "0x028e" "0x0213"
+
+    HEX="./loader/firmware/EMU360.hex"
+    sed -i '34s|1B2100|1B2110|' "$HEX"
+    sed -i '38s|092100|092110|' "$HEX"
+    sed -i '40s|5E048E021001|6F0E13020001|' "$HEX"
+    sed -i '34s|1C\r|0C\r|' "$HEX"
+    sed -i '38s|FE\r|EE\r|' "$HEX"
+    sed -i '40s|6D\r|DD\r|' "$HEX"
+  '';
+}
diff --git a/pkgs/games/gogui/default.nix b/pkgs/games/gogui/default.nix
index 8eb989a8f4745..fa901c14f8195 100644
--- a/pkgs/games/gogui/default.nix
+++ b/pkgs/games/gogui/default.nix
@@ -5,7 +5,8 @@ let
 in stdenv.mkDerivation {
   pname = "gogui";
   inherit version;
-  buildInputs = [ unzip makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ unzip ];
   src = fetchurl {
     url = "mirror://sourceforge/project/gogui/gogui/${version}/gogui-${version}.zip";
     sha256 = "0qk6p1bhi1816n638bg11ljyj6zxvm75jdf02aabzdmmd9slns1j";
diff --git a/pkgs/games/gtypist/default.nix b/pkgs/games/gtypist/default.nix
index d0ddf43fe2a26..43b95bacefc8d 100644
--- a/pkgs/games/gtypist/default.nix
+++ b/pkgs/games/gtypist/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0xzrkkmj0b1dw3yr0m9hml2y634cc4h61im6zwcq57s7285z8fn1";
   };
 
-  buildInputs = [ makeWrapper ncurses perl fortune ]
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ ncurses perl fortune ]
    ++ lib.optional stdenv.isDarwin libiconv;
 
   preFixup = ''
diff --git a/pkgs/games/leela-zero/default.nix b/pkgs/games/leela-zero/default.nix
index 4a71fc25c0f24..13b423832e679 100644
--- a/pkgs/games/leela-zero/default.nix
+++ b/pkgs/games/leela-zero/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "Go engine modeled after AlphaGo Zero";
     homepage    = "https://github.com/gcp/leela-zero";
diff --git a/pkgs/games/legendary-gl/default.nix b/pkgs/games/legendary-gl/default.nix
index edf8b853c3c64..eb2f3f38cea40 100644
--- a/pkgs/games/legendary-gl/default.nix
+++ b/pkgs/games/legendary-gl/default.nix
@@ -7,23 +7,28 @@
 
 buildPythonApplication rec {
   pname = "legendary-gl"; # Name in pypi
-  version = "0.20.1";
+  version = "0.20.6";
 
   src = fetchFromGitHub {
     owner = "derrod";
     repo = "legendary";
     rev = version;
-    sha256 = "0kdrhdvh9gxq1zinh5w852f5fjls9902pcrkhkhm2c0vvq7jfass";
+    sha256 = "1v6jbnasz2ilcafs6qyl6na4a8cxy2lgwr0hqsja6d846rfqa8ad";
   };
 
   propagatedBuildInputs = [ requests ];
 
   disabled = pythonOlder "3.8";
 
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "legendary" ];
+
   meta = with lib; {
     description = "A free and open-source Epic Games Launcher alternative";
     homepage = "https://github.com/derrod/legendary";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ wchresta ];
+    maintainers = with maintainers; [ equirosa ];
   };
 }
diff --git a/pkgs/games/mindustry/default.nix b/pkgs/games/mindustry/default.nix
index ca4dc3b9a17c8..df645171a7f8e 100644
--- a/pkgs/games/mindustry/default.nix
+++ b/pkgs/games/mindustry/default.nix
@@ -29,27 +29,27 @@ let
   # Note: when raising the version, ensure that all SNAPSHOT versions in
   # build.gradle are replaced by a fixed version
   # (the current one at the time of release) (see postPatch).
-  version = "123.1";
+  version = "125.1";
   buildVersion = makeBuildVersion version;
 
   Mindustry = fetchFromGitHub {
     owner = "Anuken";
     repo = "Mindustry";
     rev = "v${version}";
-    sha256 = "0qpgilb0v93zcik12idwzdd5b5lw74431iywq4d55gn5i6gb6bh1";
+    sha256 = "0p05ndxhl3zgwm4k9cbqclp995kvcjxxhmbkmpjvv7cphiw82hvw";
   };
   Arc = fetchFromGitHub {
     owner = "Anuken";
     repo = "Arc";
     rev = "v${version}";
-    sha256 = "146wvm0dahygnq327pspr62lq29irwrhc8ylgwdwwasrvlsscdp5";
+    sha256 = "1injdyxwgc9dn49zvr4qggsfrsslkvh5d53z3yv28ayx48qpsgxk";
   };
   soloud = fetchFromGitHub {
     owner = "Anuken";
     repo = "soloud";
     # this is never pinned in upstream, see https://github.com/Anuken/Arc/issues/39
-    rev = "73860909189c9c42924eb82e9b4a0eab2a4d5e1c";
-    sha256 = "1gm3r16a539hm8jbc14mfxn7v88dv40vr7nzwmpifnz54qarkg3m";
+    rev = "b33dfc5178fcb2613ee68136f4a4869cadc0b06a";
+    sha256 = "1vf68i3pnsixch37285ib7afkwmlrc05v783395jsdjzj9i67lj3";
   };
 
   patches = [
@@ -114,7 +114,7 @@ let
     '';
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "18r2gd1y79cy571f5hvlablfwrlz10cf7ssc9ckkvkk92i0323gk";
+    outputHash = "0dk4w8h0kg0mgbn0ifmk29rw8aj917k3nf27qdf1lyr6wl8k7f8k";
   };
 
 in
diff --git a/pkgs/games/minecraft/default.nix b/pkgs/games/minecraft/default.nix
index 1c700de7b435a..3d0b53035edd5 100644
--- a/pkgs/games/minecraft/default.nix
+++ b/pkgs/games/minecraft/default.nix
@@ -88,11 +88,11 @@ in
 stdenv.mkDerivation rec {
   pname = "minecraft-launcher";
 
-  version = "2.2.1262";
+  version = "2.2.1441";
 
   src = fetchurl {
     url = "https://launcher.mojang.com/download/linux/x86_64/minecraft-launcher_${version}.tar.gz";
-    sha256 = "09fklcnqmpvwykbfwg4lgwl82khr2wimvgyz7ssficm802xkicnc";
+    sha256 = "03q579hvxnsh7d00j6lmfh53rixdpf33xb5zlz7659pvb9j5w0cm";
   };
 
   icon = fetchurl {
diff --git a/pkgs/games/mrrescue/default.nix b/pkgs/games/mrrescue/default.nix
index c5b2b7d20eb09..ae7519c948ba7 100644
--- a/pkgs/games/mrrescue/default.nix
+++ b/pkgs/games/mrrescue/default.nix
@@ -29,8 +29,7 @@ stdenv.mkDerivation {
     sha256 = "0kzahxrgpb4vsk9yavy7f8nc34d62d1jqjrpsxslmy9ywax4yfpi";
   };
 
-  nativeBuildInputs = [ lua love ];
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ lua love makeWrapper ];
 
   phases = "installPhase";
 
diff --git a/pkgs/games/nethack/default.nix b/pkgs/games/nethack/default.nix
index d6ba771de7ed1..f9939f063c809 100644
--- a/pkgs/games/nethack/default.nix
+++ b/pkgs/games/nethack/default.nix
@@ -60,7 +60,7 @@ in stdenv.mkDerivation rec {
       -e 's,^WINTTYLIB=.*,WINTTYLIB=-lncurses,' \
       -i sys/unix/hints/linux
     sed \
-      -e 's,^CC=.*$,CC=cc,' \
+      -e 's,^CC=.*$,CC=${stdenv.cc.targetPrefix}cc,' \
       -e 's,^HACKDIR=.*$,HACKDIR=\$(PREFIX)/games/lib/\$(GAME)dir,' \
       -e 's,^SHELLDIR=.*$,SHELLDIR=\$(PREFIX)/games,' \
       -e 's,^CFLAGS=-g,CFLAGS=,' \
diff --git a/pkgs/games/newtonwars/default.nix b/pkgs/games/newtonwars/default.nix
index 0da6d9352e06a..0be3d9bf7a0e2 100644
--- a/pkgs/games/newtonwars/default.nix
+++ b/pkgs/games/newtonwars/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation {
     sha256 = "0g63fwfcdxxlnqlagj1fb8ngm385gmv8f7p8b4r1z5cny2znxdvs";
   };
 
-  buildInputs = [ makeWrapper freeglut libGL libGLU ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ freeglut libGL libGLU ];
 
   patchPhase = ''
     sed -i "s;font24.raw;$out/share/font24.raw;g" display.c
diff --git a/pkgs/games/nottetris2/default.nix b/pkgs/games/nottetris2/default.nix
index 53e7dec08032b..42e5a33cad796 100644
--- a/pkgs/games/nottetris2/default.nix
+++ b/pkgs/games/nottetris2/default.nix
@@ -25,8 +25,8 @@ stdenv.mkDerivation {
     sha256 = "17iabh6rr8jim70n96rbhif4xq02g2kppscm8l339yqx6mhb64hs";
   };
 
-  nativeBuildInputs = [ zip ];
-  buildInputs = [ love_0_7 makeWrapper ];
+  nativeBuildInputs = [ zip makeWrapper ];
+  buildInputs = [ love_0_7 ];
 
   phases = [ "unpackPhase" "installPhase" ];
 
diff --git a/pkgs/games/openmw/default.nix b/pkgs/games/openmw/default.nix
index 23572998d034a..3357bf15f8689 100644
--- a/pkgs/games/openmw/default.nix
+++ b/pkgs/games/openmw/default.nix
@@ -6,6 +6,7 @@ let
     src = fetchFromGitHub {
       owner = "OpenMW";
       repo = "osg";
+      # commit does not exist on any branch on the target repository
       rev = "1556cd7966ebc1c80b6626988d2b25fb43a744cf";
       sha256 = "0d74hijzmj82nx3jkv5qmr3pkgvplra0b8fbjx1y3vmzxamb0axd";
     };
@@ -30,6 +31,8 @@ stdenv.mkDerivation rec {
     "-DDESIRED_QT_VERSION:INT=5"
   ];
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "An unofficial open source engine reimplementation of the game Morrowind";
     homepage = "http://openmw.org";
diff --git a/pkgs/games/openmw/tes3mp.nix b/pkgs/games/openmw/tes3mp.nix
index 47b383a82bd9d..95659e5a088e1 100644
--- a/pkgs/games/openmw/tes3mp.nix
+++ b/pkgs/games/openmw/tes3mp.nix
@@ -61,6 +61,8 @@ in openmw.overrideAttrs (oldAttrs: rec {
     "-DRakNet_LIBRARY_DEBUG=${rakNetLibrary}/lib/libRakNetLibStatic.a"
   ];
 
+  dontWrapQtApps = true;
+
   # https://github.com/TES3MP/openmw-tes3mp/issues/552
   patches = [
     ./tes3mp.patch
diff --git a/pkgs/games/openra/mods.nix b/pkgs/games/openra/mods.nix
index 4a79125dc1817..cf8cd433c2942 100644
--- a/pkgs/games/openra/mods.nix
+++ b/pkgs/games/openra/mods.nix
@@ -123,6 +123,7 @@ in {
       src = fetchFromGitHub {
         owner = "IceReaper";
         repo = "OpenRA" ;
+        # commit does not exist on any branch on the target repository
         rev = "4e8eab4ca00d1910203c8a103dfd2c002714daa8";
         sha256 = "1yyqparf93x8yzy1f46gsymgkj5jls25v2yc7ighr3f7mi3igdvq";
         name = "engine";
diff --git a/pkgs/games/osu-lazer/default.nix b/pkgs/games/osu-lazer/default.nix
index b1437ac46af56..5bffe2a49054a 100644
--- a/pkgs/games/osu-lazer/default.nix
+++ b/pkgs/games/osu-lazer/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, fetchurl, makeWrapper, makeDesktopItem, linkFarmFromDrvs
-, dotnet-sdk, dotnet-netcore, dotnetPackages
+, dotnetCorePackages, dotnetPackages, cacert
 , ffmpeg_4, alsaLib, SDL2, lttng-ust, numactl, alsaPlugins
 }:
 
@@ -8,24 +8,31 @@ let
     ffmpeg_4 alsaLib SDL2 lttng-ust numactl
   ];
 
+  dotnet-sdk = dotnetCorePackages.sdk_5_0;
+  dotnet-net = dotnetCorePackages.net_5_0;
+
   # https://docs.microsoft.com/en-us/dotnet/core/rid-catalog#using-rids
   runtimeId = "linux-x64";
 
 in stdenv.mkDerivation rec {
   pname = "osu-lazer";
-  version = "2020.1225.0";
+  version = "2021.226.0";
 
   src = fetchFromGitHub {
     owner = "ppy";
     repo = "osu";
     rev = version;
-    sha256 = "BISczC4xYcF6m5l3ye/bdZxs/aK0Jz6sFVFOgNDo0v0=";
+    sha256 = "sK7FFyOb3JdsqIqvDNexhg3ZPNRpCE4hH0BADYeFHoU=";
   };
 
   patches = [ ./bypass-tamper-detection.patch ];
   patchFlags = [ "--binary" "-p1" ];
 
-  nativeBuildInputs = [ dotnet-sdk dotnetPackages.Nuget makeWrapper ];
+  nativeBuildInputs = [
+    dotnet-sdk dotnetPackages.Nuget makeWrapper
+    # FIXME: Without `cacert`, we will suffer from https://github.com/NuGet/Announcements/issues/49
+    cacert
+  ];
 
   nugetDeps = linkFarmFromDrvs "${pname}-nuget-deps" (import ./deps.nix {
     fetchNuGet = { name, version, sha256 }: fetchurl {
@@ -75,7 +82,7 @@ in stdenv.mkDerivation rec {
       --output $out/lib/osu
 
     makeWrapper $out/lib/osu/osu\! $out/bin/osu\! \
-      --set DOTNET_ROOT "${dotnet-netcore}" \
+      --set DOTNET_ROOT "${dotnet-net}" \
       --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}"
     for i in 16 32 48 64 96 128 256 512 1024; do
       install -D ./assets/lazer.png $out/share/icons/hicolor/''${i}x$i/apps/osu\!.png
diff --git a/pkgs/games/osu-lazer/deps.nix b/pkgs/games/osu-lazer/deps.nix
index cebdde1f7c6dc..a1bbc6d0519e5 100644
--- a/pkgs/games/osu-lazer/deps.nix
+++ b/pkgs/games/osu-lazer/deps.nix
@@ -1,10 +1,5 @@
 { fetchNuGet }: [
   (fetchNuGet {
-    name = "Dapper";
-    version = "2.0.78";
-    sha256 = "13xgi8prsa3y67hx644yflamwakjv8vsk5m15v407clsl2r4g0bp";
-  })
-  (fetchNuGet {
     name = "DeltaCompressionDotNet";
     version = "2.0.0.0";
     sha256 = "0zhj7m3zaf9wcg51385in9qg1xgkvp8yyzgq3r5k4sagm7y68aqy";
@@ -16,8 +11,8 @@
   })
   (fetchNuGet {
     name = "DiscordRichPresence";
-    version = "1.0.169";
-    sha256 = "0rs9fjr65432qckmzx4djlwsnc2yqwwwnjszqwnm3z2pv8dm7zrf";
+    version = "1.0.175";
+    sha256 = "180sax976327d70qbinv07f65g3w2zbw80n49hckg8wd4rw209vd";
   })
   (fetchNuGet {
     name = "FFmpeg.AutoGen";
@@ -25,6 +20,21 @@
     sha256 = "0n6x57mnnvcjnrs8zyvy07h5zm4bcfy9gh4n4bvd9fx5ys4pxkvv";
   })
   (fetchNuGet {
+    name = "Humanizer";
+    version = "2.8.26";
+    sha256 = "11kddzyzqpq9gkz0hmrblq494nh86va6wxx6z89xi6w1f4vj15ak";
+  })
+  (fetchNuGet {
+    name = "Humanizer.Core";
+    version = "2.2.0";
+    sha256 = "08mzg65y9d3zvq16rsmpapcdan71ggq2mpks6k777h3wlm2sh3p5";
+  })
+  (fetchNuGet {
+    name = "Humanizer.Core";
+    version = "2.8.26";
+    sha256 = "1v8xd12yms4qq1md4vh6faxicmqrvahqdd7sdkyzrphab9v44nsm";
+  })
+  (fetchNuGet {
     name = "Humanizer.Core.af";
     version = "2.8.26";
     sha256 = "0znrq4frlkq1qi20301hlzxa6mdc275fa1i1a1i8ldgk9cjq94k9";
@@ -85,14 +95,14 @@
     sha256 = "1pgs0j5ri50a6vhljplhrlc8jj1hrd9ggxkj60d9v5kk9xibzzyd";
   })
   (fetchNuGet {
-    name = "Humanizer.Core.fr-BE";
+    name = "Humanizer.Core.fr";
     version = "2.8.26";
-    sha256 = "13spcx07hph366qk073pz63s56nadaac7l4mr4a66gbpqd3814kb";
+    sha256 = "0kkhgy3yn8vfqlx3dhb9m3cazkgfxarknam4macng9y17l7wj83m";
   })
   (fetchNuGet {
-    name = "Humanizer.Core.fr";
+    name = "Humanizer.Core.fr-BE";
     version = "2.8.26";
-    sha256 = "0kkhgy3yn8vfqlx3dhb9m3cazkgfxarknam4macng9y17l7wj83m";
+    sha256 = "13spcx07hph366qk073pz63s56nadaac7l4mr4a66gbpqd3814kb";
   })
   (fetchNuGet {
     name = "Humanizer.Core.he";
@@ -145,14 +155,14 @@
     sha256 = "0iai35pzka9g6c3sgswki06fk6gdnq8kc88wyb4pcciivazz31px";
   })
   (fetchNuGet {
-    name = "Humanizer.Core.nb-NO";
+    name = "Humanizer.Core.nb";
     version = "2.8.26";
-    sha256 = "160c98wfh7d2xlvlra4x5rdj4klgcjwcy3gkb4ipg655byn2m1j2";
+    sha256 = "0xprhiyjyq6mpha2lrav59n1f48508ddvm9nmdk5sm5k26ff3l90";
   })
   (fetchNuGet {
-    name = "Humanizer.Core.nb";
+    name = "Humanizer.Core.nb-NO";
     version = "2.8.26";
-    sha256 = "0xprhiyjyq6mpha2lrav59n1f48508ddvm9nmdk5sm5k26ff3l90";
+    sha256 = "160c98wfh7d2xlvlra4x5rdj4klgcjwcy3gkb4ipg655byn2m1j2";
   })
   (fetchNuGet {
     name = "Humanizer.Core.nl";
@@ -190,14 +200,14 @@
     sha256 = "060xbzwb7p9ypbqfklih2zal2rh6h55gq4hv3i6alvlbd3vsx29n";
   })
   (fetchNuGet {
-    name = "Humanizer.Core.sr-Latn";
+    name = "Humanizer.Core.sr";
     version = "2.8.26";
-    sha256 = "1911a69sqssh9f007vmxbgyj4ym2ym4423xvw6cmbfhjcrhkfpbi";
+    sha256 = "0i2c24qmqnhp85b088qlbagxd48hcl0v1ly4m7hfbvx5s7fg8riv";
   })
   (fetchNuGet {
-    name = "Humanizer.Core.sr";
+    name = "Humanizer.Core.sr-Latn";
     version = "2.8.26";
-    sha256 = "0i2c24qmqnhp85b088qlbagxd48hcl0v1ly4m7hfbvx5s7fg8riv";
+    sha256 = "1911a69sqssh9f007vmxbgyj4ym2ym4423xvw6cmbfhjcrhkfpbi";
   })
   (fetchNuGet {
     name = "Humanizer.Core.sv";
@@ -245,29 +255,14 @@
     sha256 = "1rhzbiqbx04l3kvzjklix90fxyc6vvmmw0p564ajdiximivs0pbh";
   })
   (fetchNuGet {
-    name = "Humanizer.Core";
-    version = "2.2.0";
-    sha256 = "08mzg65y9d3zvq16rsmpapcdan71ggq2mpks6k777h3wlm2sh3p5";
-  })
-  (fetchNuGet {
-    name = "Humanizer.Core";
-    version = "2.8.26";
-    sha256 = "1v8xd12yms4qq1md4vh6faxicmqrvahqdd7sdkyzrphab9v44nsm";
-  })
-  (fetchNuGet {
-    name = "Humanizer";
-    version = "2.8.26";
-    sha256 = "11kddzyzqpq9gkz0hmrblq494nh86va6wxx6z89xi6w1f4vj15ak";
-  })
-  (fetchNuGet {
     name = "JetBrains.Annotations";
     version = "2020.3.0";
     sha256 = "04xlfqnfg3069f014q8f0vx7y70m8nldbf9fia4b50bp3rry2lv2";
   })
   (fetchNuGet {
-    name = "managed-midi";
-    version = "1.9.14";
-    sha256 = "025jh146zy98699y4civ7nxlkx312lwkl4sr8pha626q7q1kg89h";
+    name = "ManagedBass";
+    version = "2.0.4";
+    sha256 = "13hwd0yany4j52abbaaqsgq8lag2w9vjxxsj4qfbgwp4qs39x003";
   })
   (fetchNuGet {
     name = "ManagedBass.Fx";
@@ -275,69 +270,84 @@
     sha256 = "1rbjpgpm0ri7l2gqdy691rsv3visna2nbxawgvhdqljw068r8a8d";
   })
   (fetchNuGet {
-    name = "ManagedBass";
-    version = "2.0.4";
-    sha256 = "13hwd0yany4j52abbaaqsgq8lag2w9vjxxsj4qfbgwp4qs39x003";
+    name = "managed-midi";
+    version = "1.9.14";
+    sha256 = "025jh146zy98699y4civ7nxlkx312lwkl4sr8pha626q7q1kg89h";
   })
   (fetchNuGet {
     name = "Markdig";
-    version = "0.22.0";
-    sha256 = "0k7v4xlhfgyca8bb1g85062m22skmk6ay0hcyqlpi2cnvy7f61qf";
+    version = "0.22.1";
+    sha256 = "1m62kjwz93h323w8qvwmld2g8dy17a3ny5wyy29pwqj7ig4y8ymj";
+  })
+  (fetchNuGet {
+    name = "MessagePack";
+    version = "2.2.85";
+    sha256 = "1y0h8bd0drnlsqf1bvrdiv9j1892zqf1rmyclfjzs49klpf0xphk";
+  })
+  (fetchNuGet {
+    name = "MessagePack.Annotations";
+    version = "2.2.85";
+    sha256 = "00wajml6iy3wid8mixh3jmm6dapfjbccwq95m8qciika4pyd4lq9";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.App.Runtime.linux-x64";
-    version = "3.1.8";
-    sha256 = "140zr3nwkmf6xc52gq4iz6ycyh95fxy0jpgn637pkd9z423z8135";
+    version = "5.0.0";
+    sha256 = "14njzl0907wzcbsnxl62m4y6mv9pdirm68bj8qbbip0q5a6xgidw";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.Connections.Abstractions";
-    version = "3.1.9";
-    sha256 = "0vsnc87fqh61mjl2zgv7nfx6wkrg055cq12ql6cxmcawv6qsl0lw";
+    version = "5.0.2";
+    sha256 = "0qy4wamhcpxi9aqwq9kivhsj4rvhbch2wfwv11610psygb5457vk";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.Http.Connections.Client";
-    version = "3.1.9";
-    sha256 = "1m5w8pmm4bn7w1ml2xcs43kfr2hkicch46zr616ml8j6fsks6wmw";
+    version = "5.0.2";
+    sha256 = "0295a87ilrdg43sil5wli74x7jy4apibqdk1fxam8kzj99whl5sk";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.Http.Connections.Common";
-    version = "3.1.9";
-    sha256 = "0ppzxfgnhn0jpn0rg72gcwb0hcjk1qbzpzk9aiykp8vnfvqlmb20";
+    version = "5.0.2";
+    sha256 = "094zjf6h5dh87kznmmz7w4s1y37rw52vaz2h4jk4i4ik7hpijd0w";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.Http.Features";
-    version = "3.1.9";
-    sha256 = "0xg0psas8k38yfd72q7m5sm00yyxj51j1fqg473za2kxf8z4p2wx";
+    version = "5.0.2";
+    sha256 = "1rprpj1aw9z501rpb9415maqcqnk6pirbdl8yv5n9wpqgcnjizk8";
   })
   (fetchNuGet {
-    name = "Microsoft.AspNetCore.SignalR.Client.Core";
-    version = "3.1.9";
-    sha256 = "0ld7hch240z7zc7ckrppd4yrwwdhx3nbc8fgf4qql8ld8bih223y";
+    name = "Microsoft.AspNetCore.SignalR.Client";
+    version = "5.0.2";
+    sha256 = "18pdw4h1j93wzcvlj87jy7n5sxkwlj69nnb7a2qxkc40jvm18ran";
   })
   (fetchNuGet {
-    name = "Microsoft.AspNetCore.SignalR.Client";
-    version = "3.1.9";
-    sha256 = "1yn5y3b51jcpw7szj3pfz79hk84kmypy465cm22khh5z34wy41jx";
+    name = "Microsoft.AspNetCore.SignalR.Client.Core";
+    version = "5.0.2";
+    sha256 = "1rg3cpqr3yx5hn233c6cmmiry5v49fglfii7ryi1cf6rwqpdqn5l";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.SignalR.Common";
-    version = "3.1.9";
-    sha256 = "1kvp8y3fnhvfm7fpg1qsymwzch7jcfc9337zybwryfyzxjxq7aaj";
+    version = "5.0.2";
+    sha256 = "1sbwp00hq0ng891wdj6yhah8hr9hw34zvqr1xzs86g3gpmssgcj5";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.SignalR.Protocols.Json";
-    version = "3.1.9";
-    sha256 = "1gp6wjidhbbpibnam2fimm3pc5p70wv17zhis5qf6an49xvlmmmb";
+    version = "5.0.2";
+    sha256 = "0p9kv2iayhz8y68r30mhzssv0m087v243ai7aax7jd44rqiv1w5i";
+  })
+  (fetchNuGet {
+    name = "Microsoft.AspNetCore.SignalR.Protocols.MessagePack";
+    version = "5.0.2";
+    sha256 = "1f0mjw0swiaxk4iqf7n598d51w40lwdbap4nlc0sv0vw3nklnlzp";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson";
-    version = "3.1.9";
-    sha256 = "1hdmsfk5ymp2vi4saxiw19j83ykvz5jzv0f4060cgc8bafndakrr";
+    version = "5.0.2";
+    sha256 = "01wi2q5sjazvax8d4gbcggsr7n801m4cx6jcqljv0r4cmz4y478a";
   })
   (fetchNuGet {
     name = "Microsoft.Bcl.AsyncInterfaces";
-    version = "1.1.0";
-    sha256 = "1dq5yw7cy6s42193yl4iqscfw5vzkjkgv0zyy32scr4jza6ni1a1";
+    version = "1.0.0";
+    sha256 = "00dx5armvkqjxvkldz3invdlck9nj7w21dlsr2aqp1rqbyrbsbbh";
   })
   (fetchNuGet {
     name = "Microsoft.Bcl.AsyncInterfaces";
@@ -345,14 +355,19 @@
     sha256 = "0a1ahssqds2ympr7s4xcxv5y8jgxs7ahd6ah6fbgglj4rki1f1vw";
   })
   (fetchNuGet {
+    name = "Microsoft.Bcl.AsyncInterfaces";
+    version = "5.0.0";
+    sha256 = "0cp5jbax2mf6xr3dqiljzlwi05fv6n9a35z337s92jcljiq674kf";
+  })
+  (fetchNuGet {
     name = "Microsoft.Build.Framework";
     version = "15.3.409";
     sha256 = "1dhanwb9ihbfay85xj7cwn0byzmmdz94hqfi3q6r1ncwdjd8y1s2";
   })
   (fetchNuGet {
     name = "Microsoft.Build.Locator";
-    version = "1.2.6";
-    sha256 = "1rnfd7wq2bkynqj767xmq9ha38mz010fmqvvvrgb4v86gd537737";
+    version = "1.4.1";
+    sha256 = "0j119rri7a401rca67cxdyrn3rprzdl1b2wrblqc23xsff1xvlrx";
   })
   (fetchNuGet {
     name = "Microsoft.CodeAnalysis.Analyzers";
@@ -361,8 +376,8 @@
   })
   (fetchNuGet {
     name = "Microsoft.CodeAnalysis.BannedApiAnalyzers";
-    version = "3.3.1";
-    sha256 = "0xh23x91xg8qwfam70wsn039sn5li0pkay36lds9dl15p1vbfasm";
+    version = "3.3.2";
+    sha256 = "1r8mfbpfy8jdinhfviwhv2vjsz950wn2vwz17lfw5kya1n13nj56";
   })
   (fetchNuGet {
     name = "Microsoft.CodeAnalysis.Common";
@@ -370,24 +385,19 @@
     sha256 = "12n7rvr39bzkf2maw7zplw8rwpxpxss4ich3bb2pw770rx4nyvyw";
   })
   (fetchNuGet {
-    name = "Microsoft.CodeAnalysis.CSharp.Workspaces";
-    version = "3.8.0";
-    sha256 = "1jfbqfngwwjx3x1cyqaamf26s7j6wag86ig1n7bh99ny85gd78wb";
-  })
-  (fetchNuGet {
     name = "Microsoft.CodeAnalysis.CSharp";
     version = "3.8.0";
     sha256 = "1kmry65csvfn72zzc16vj1nfbfwam28wcmlrk3m5rzb8ydbzgylb";
   })
   (fetchNuGet {
-    name = "Microsoft.CodeAnalysis.FxCopAnalyzers";
-    version = "3.3.1";
-    sha256 = "0wkrxymb9si2v0rzqnr8mdi89fi7swd1vbbclccjp8645ha1nif0";
+    name = "Microsoft.CodeAnalysis.CSharp.Workspaces";
+    version = "3.8.0";
+    sha256 = "1jfbqfngwwjx3x1cyqaamf26s7j6wag86ig1n7bh99ny85gd78wb";
   })
   (fetchNuGet {
-    name = "Microsoft.CodeAnalysis.VersionCheckAnalyzer";
-    version = "3.3.1";
-    sha256 = "010fadvngp21yz1b4vk0bbx79p5yr6nji19w56ma9zp1hj7fn2y1";
+    name = "Microsoft.CodeAnalysis.NetAnalyzers";
+    version = "5.0.3";
+    sha256 = "1l0zg9wl8yapjq9g2d979zhsmdkr8kfybmxnl7kvgkgldf114fbg";
   })
   (fetchNuGet {
     name = "Microsoft.CodeAnalysis.Workspaces.Common";
@@ -400,11 +410,6 @@
     sha256 = "1ag78ls51s88znv4v004sbklrx3qnbphpdngjq196188a3vljww7";
   })
   (fetchNuGet {
-    name = "Microsoft.CodeQuality.Analyzers";
-    version = "3.3.1";
-    sha256 = "1ng91xf3shjl74xvckygh9aqccwqapia46gilddkb5kiqj847bik";
-  })
-  (fetchNuGet {
     name = "Microsoft.CSharp";
     version = "4.0.1";
     sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj";
@@ -426,8 +431,8 @@
   })
   (fetchNuGet {
     name = "Microsoft.Diagnostics.Runtime";
-    version = "2.0.156101";
-    sha256 = "1k9f6x95mscq484f4sywpb84016v9yb9bz6ha77wsjbsarl96my0";
+    version = "2.0.161401";
+    sha256 = "02qcm8nv1ch07g8b0i60ynrjn33b8y5ivyk4rxal3vd9zfi6pvwi";
   })
   (fetchNuGet {
     name = "Microsoft.DotNet.PlatformAbstractions";
@@ -435,6 +440,11 @@
     sha256 = "1qydvyyinj3b5mraazjal3n2k7jqhn05b6n1a2f3qjkqkxi63dmy";
   })
   (fetchNuGet {
+    name = "Microsoft.EntityFrameworkCore";
+    version = "2.2.6";
+    sha256 = "18j2cr50wsikwv7gy3vrjvmpdxckvv537qma8afdpr3yn2klayh5";
+  })
+  (fetchNuGet {
     name = "Microsoft.EntityFrameworkCore.Abstractions";
     version = "2.2.6";
     sha256 = "1dyxb5ibx24frlgbqy7zch0falq9p1189zvlbxgl94m0hvpml5j3";
@@ -455,19 +465,14 @@
     sha256 = "0c0z4mrqldjfslyxywb2ydk8hn9ybhkvz6lxx3idrfalq3ni5f1z";
   })
   (fetchNuGet {
-    name = "Microsoft.EntityFrameworkCore.Sqlite.Core";
-    version = "2.2.6";
-    sha256 = "0jzqw4672mzxjvzas09sl0zyzzayfgkv003a7bw5g2gjyiphf630";
-  })
-  (fetchNuGet {
     name = "Microsoft.EntityFrameworkCore.Sqlite";
     version = "2.2.6";
     sha256 = "0z8k5ns841imaqha5abb1ka0rsfzy90k6qkrvix11sp6k9i7lsam";
   })
   (fetchNuGet {
-    name = "Microsoft.EntityFrameworkCore";
+    name = "Microsoft.EntityFrameworkCore.Sqlite.Core";
     version = "2.2.6";
-    sha256 = "18j2cr50wsikwv7gy3vrjvmpdxckvv537qma8afdpr3yn2klayh5";
+    sha256 = "0jzqw4672mzxjvzas09sl0zyzzayfgkv003a7bw5g2gjyiphf630";
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.Caching.Abstractions";
@@ -480,14 +485,14 @@
     sha256 = "0bzrsn5vas86w66bd04xilnlb21nx4l6lz7d3acvy6y8ir2vb5dv";
   })
   (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.Abstractions";
+    name = "Microsoft.Extensions.Configuration";
     version = "2.2.0";
-    sha256 = "1fv5277hyhfqmc0gqszyqb1ilwnijm8kc9606yia6hwr8pxyg674";
+    sha256 = "02250qrs3jqqbggfvd0mkim82817f79x6jh8fx2i7r58d0m66qkl";
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.Configuration.Abstractions";
-    version = "3.1.9";
-    sha256 = "0skilj4gfzyn05mn74w2q4jp1ww2wwbsxw2i7v8bwk73nymsqpr8";
+    version = "2.2.0";
+    sha256 = "1fv5277hyhfqmc0gqszyqb1ilwnijm8kc9606yia6hwr8pxyg674";
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.Configuration.Binder";
@@ -495,19 +500,14 @@
     sha256 = "10qyjdkymdmag3r807kvbnwag4j3nz65i4cwikbd77jjvz92ya3j";
   })
   (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration.Binder";
-    version = "3.1.9";
-    sha256 = "1n8fndd9vrd3d7041p42li8v129mgl3gi8sl1x8whhycy0ahqr78";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration";
+    name = "Microsoft.Extensions.DependencyInjection";
     version = "2.2.0";
-    sha256 = "02250qrs3jqqbggfvd0mkim82817f79x6jh8fx2i7r58d0m66qkl";
+    sha256 = "0lvv45rvq1xbf47lz818rjydc776zk8mf7svpzh1dml4qwlx9zck";
   })
   (fetchNuGet {
-    name = "Microsoft.Extensions.Configuration";
-    version = "3.1.9";
-    sha256 = "01ci8nhv3ki93aa7a3vh9icl3jav7ikizq43kcgdjgsssi6xvdf9";
+    name = "Microsoft.Extensions.DependencyInjection";
+    version = "5.0.1";
+    sha256 = "06xig49mwyp3b2dvdx98j079ncg6p4c9x8yj4pzs6ppmi3jgaaqk";
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.DependencyInjection.Abstractions";
@@ -516,18 +516,8 @@
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.DependencyInjection.Abstractions";
-    version = "3.1.9";
-    sha256 = "1l7ng71y18fwdlyq2ycl12hmv9wrf7k7knz2jwv9w9w7spmp8jv6";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyInjection";
-    version = "2.2.0";
-    sha256 = "0lvv45rvq1xbf47lz818rjydc776zk8mf7svpzh1dml4qwlx9zck";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Extensions.DependencyInjection";
-    version = "3.1.9";
-    sha256 = "1ifjjzwfvd5igxaaxm124qv8afs1nb06rgdqy7l3jcfqr30xykbb";
+    version = "5.0.0";
+    sha256 = "17cz6s80va0ch0a6nqa1wbbbp3p8sqxb96lj4qcw67ivkp2yxiyj";
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.DependencyModel";
@@ -535,29 +525,29 @@
     sha256 = "0dl4qhjgifm6v3jsfzvzkvddyic77ggp9fq49ah661v45gk6ilgd";
   })
   (fetchNuGet {
-    name = "Microsoft.Extensions.Logging.Abstractions";
+    name = "Microsoft.Extensions.Logging";
     version = "2.2.0";
-    sha256 = "02w7hp6jicr7cl5p456k2cmrjvvhm6spg5kxnlncw3b72358m5wl";
+    sha256 = "0bx3ljyvvcbikradq2h583rl72h8bxdz33aghk026cxzpv2mm3wm";
   })
   (fetchNuGet {
-    name = "Microsoft.Extensions.Logging.Abstractions";
-    version = "3.1.9";
-    sha256 = "1i24mz3v677bmdysxklm9a3qc87j72lpkfp0l16gh6yqpmhwg7vp";
+    name = "Microsoft.Extensions.Logging";
+    version = "5.0.0";
+    sha256 = "1qa1l18q2jh9azya8gv1p8anzcdirjzd9dxxisb4911i9m1648i3";
   })
   (fetchNuGet {
-    name = "Microsoft.Extensions.Logging";
+    name = "Microsoft.Extensions.Logging.Abstractions";
     version = "2.2.0";
-    sha256 = "0bx3ljyvvcbikradq2h583rl72h8bxdz33aghk026cxzpv2mm3wm";
+    sha256 = "02w7hp6jicr7cl5p456k2cmrjvvhm6spg5kxnlncw3b72358m5wl";
   })
   (fetchNuGet {
-    name = "Microsoft.Extensions.Logging";
-    version = "3.1.9";
-    sha256 = "1x1bbkcq7ph9jgwv3yidipfqwdh6q3bsa2rxhfzmy64l7hc7r1wl";
+    name = "Microsoft.Extensions.Logging.Abstractions";
+    version = "5.0.0";
+    sha256 = "1yza38675dbv1qqnnhqm23alv2bbaqxp0pb7zinjmw8j2mr5r6wc";
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.ObjectPool";
-    version = "5.0.0";
-    sha256 = "0m0r7avz4ygxa1pyj5sai25y0n42y7kz9iznl7m3146csxi1paf0";
+    version = "5.0.2";
+    sha256 = "0asbw0l5syfgk2qb26czggvdix43d6043kl25ihdqdlhghcyy806";
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.Options";
@@ -566,8 +556,8 @@
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.Options";
-    version = "3.1.9";
-    sha256 = "0rpix172cmwwbddh4gm0647x1ql0ly5n68bpz71v915j97anwg90";
+    version = "5.0.0";
+    sha256 = "1rdmgpg770x8qwaaa6ryc27zh93p697fcyvn5vkxp0wimlhqkbay";
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.Primitives";
@@ -576,18 +566,13 @@
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.Primitives";
-    version = "3.1.9";
-    sha256 = "0538fvjz9c27nvc6kv83b0912qvc71wz2w60svl0mscj86ds49wc";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NetCore.Analyzers";
-    version = "3.3.1";
-    sha256 = "16cx0x5hcjs2ml5zjalfsp7n3rfyz75ihnvh1p10z96yaz43gdwn";
+    version = "5.0.0";
+    sha256 = "0swqcknyh87ns82w539z1mvy804pfwhgzs97cr3nwqk6g5s42gd6";
   })
   (fetchNuGet {
     name = "Microsoft.NETCore.App.Runtime.linux-x64";
-    version = "3.1.8";
-    sha256 = "1bv9n9wzsqf9g8h6z10p61xkcx8ad4nnip83qv8yyfvhr4kdmbsa";
+    version = "5.0.0";
+    sha256 = "1k9yxklzdnjfkqysg54dz0mr75yg29fhlls9alh5qlfpsfpk32yq";
   })
   (fetchNuGet {
     name = "Microsoft.NETCore.Platforms";
@@ -606,28 +591,18 @@
   })
   (fetchNuGet {
     name = "Microsoft.NETCore.Platforms";
-    version = "3.1.1";
-    sha256 = "05hmaygd5131rnqi6ipv7agsbpi7ka18779vw45iw6b385l7n987";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NETCore.Platforms";
     version = "5.0.0";
     sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc";
   })
   (fetchNuGet {
     name = "Microsoft.NETCore.Targets";
-    version = "1.0.1";
-    sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p";
+    version = "3.1.0";
+    sha256 = "04cc2wl90p7g9zscnxgyj55vzl7srrrjwadl2dxgicfb2x2499ca";
   })
   (fetchNuGet {
     name = "Microsoft.NETCore.Targets";
-    version = "1.1.0";
-    sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh";
-  })
-  (fetchNuGet {
-    name = "Microsoft.NetFramework.Analyzers";
-    version = "3.3.1";
-    sha256 = "06vjmjmqhrmfc57ndsc8jaybc8np06s797nhg40bf44603bx6159";
+    version = "5.0.0";
+    sha256 = "0z3qyv7qal5irvabc8lmkh58zsl42mrzd1i0sssvzhv4q4kl3cg6";
   })
   (fetchNuGet {
     name = "Microsoft.Win32.Primitives";
@@ -680,214 +655,89 @@
     sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r";
   })
   (fetchNuGet {
-    name = "NUnit";
-    version = "3.12.0";
-    sha256 = "1880j2xwavi8f28vxan3hyvdnph4nlh5sbmh285s4lc9l0b7bdk2";
-  })
-  (fetchNuGet {
-    name = "ppy.osu.Framework.NativeLibs";
-    version = "2020.923.0";
-    sha256 = "1sy98s0dxcfxxslm1q503qhd9fl8d3idf47qi4561j5fds4dpdsv";
-  })
-  (fetchNuGet {
-    name = "ppy.osu.Framework";
-    version = "2020.1222.0";
-    sha256 = "0xdfgl4hykrbwhdmhhy7rxp055jhq1rwg2mldbbaf1v43s0vkyfj";
-  })
-  (fetchNuGet {
-    name = "ppy.osu.Game.Resources";
-    version = "2020.1202.0";
-    sha256 = "1m5156gkyyhf52ii6y7yqmsgpwcxn6zgji3nnyny6lk9glmc9vvs";
-  })
-  (fetchNuGet {
-    name = "ppy.osuTK.NS20";
-    version = "1.0.165";
-    sha256 = "0ryb483i0jqy94mhvrh0xicv43h4r4amzgpmfrrmzrfvp9ajjar6";
-  })
-  (fetchNuGet {
-    name = "ppy.SDL2-CS";
-    version = "1.0.53";
-    sha256 = "0x52pq6xdg4qcgi8cnqlijifqjpszbi8z4nkmsym0xgd9m5bmd7k";
-  })
-  (fetchNuGet {
-    name = "ppy.squirrel.windows";
-    version = "1.9.0.4";
-    sha256 = "1m8shcmgs0fs225qd0navr1qr6csqjin9sg2x0d7xpfk04nd2hi7";
-  })
-  (fetchNuGet {
-    name = "Remotion.Linq";
-    version = "2.2.0";
-    sha256 = "1y46ni0xswmmiryp8sydjgryafwn458dr91f9xn653w73kdyk4xf";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Collections";
-    version = "4.0.11";
-    sha256 = "1x44bm1cgv28zmrp095wf9mn8a6a0ivnzp9v14dcbhx06igxzgg0";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Collections";
-    version = "4.3.0";
-    sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Diagnostics.Tools";
-    version = "4.0.1";
-    sha256 = "0qcpm90hrm9gx9pmxlvfml65jm0bwpr5dg3r7l7xm9nvmibvc7n7";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Diagnostics.Tools";
-    version = "4.3.0";
-    sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Diagnostics.Tracing";
-    version = "4.1.0";
-    sha256 = "041im8hmp1zdgrx6jzyrdch6kshvbddmkar7r2mlm1ksb5c5kwpq";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Diagnostics.Tracing";
-    version = "4.3.0";
-    sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Globalization.Calendars";
-    version = "4.0.1";
-    sha256 = "007iw5wnl046wznasbqxjxm949djdbsi9vwz6zhz4lmzviqcpl58";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Globalization.Calendars";
-    version = "4.3.0";
-    sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Globalization";
-    version = "4.0.11";
-    sha256 = "0240rp66pi5bw1xklmh421hj7arwcdmjmgfkiq1cbc6nrm8ah286";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Globalization";
-    version = "4.3.0";
-    sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.IO";
-    version = "4.1.0";
-    sha256 = "0kasfkjiml2kk8prnyn1990nhsahnjggvqwszqjdsfwfl43vpcb5";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.IO";
-    version = "4.3.0";
-    sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Reflection.Extensions";
-    version = "4.0.1";
-    sha256 = "05k34ijz9g9csh0vbbv3g3lrxl163izwcfncmbcl7k073h32rzkr";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Reflection.Extensions";
-    version = "4.3.0";
-    sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Reflection.Primitives";
-    version = "4.0.1";
-    sha256 = "1zxrpvixr5fqzkxpnin6g6gjq6xajy1snghz99ds2dwbhm276rhz";
+    name = "NuGet.Common";
+    version = "5.8.0";
+    sha256 = "17l1gqxfcpazadg6wqgwkzg37x8c97sgmk9nr4f9yn3d50zj9hlm";
   })
   (fetchNuGet {
-    name = "runtime.any.System.Reflection.Primitives";
-    version = "4.3.0";
-    sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf";
+    name = "NuGet.Configuration";
+    version = "5.8.0";
+    sha256 = "02cxqaaxmspv6x0xjwkqr1s0b858cw5gn6lgqa8zhsknnhs6rl41";
   })
   (fetchNuGet {
-    name = "runtime.any.System.Reflection";
-    version = "4.1.0";
-    sha256 = "06kcs059d5czyakx75rvlwa2mr86156w18fs7chd03f7084l7mq6";
+    name = "NuGet.DependencyResolver.Core";
+    version = "5.8.0";
+    sha256 = "0w0hr10gzf0hvh400ybd6h606zal0mi0i1lq5q3yj7kdhy93wb6j";
   })
   (fetchNuGet {
-    name = "runtime.any.System.Reflection";
-    version = "4.3.0";
-    sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly";
+    name = "NuGet.Frameworks";
+    version = "5.8.0";
+    sha256 = "16awpn2p8sbzvqpri2hjbjzpnl3ad2klr8d82yd0hrd6s2yyii9j";
   })
   (fetchNuGet {
-    name = "runtime.any.System.Resources.ResourceManager";
-    version = "4.0.1";
-    sha256 = "1jmgs7hynb2rff48623wnyb37558bbh1q28k9c249j5r5sgsr5kr";
+    name = "NuGet.LibraryModel";
+    version = "5.8.0";
+    sha256 = "1fwh6iam6cp9pgz4gqlwj287vfrz8nabmzfmgkbnylrxki0pnwi0";
   })
   (fetchNuGet {
-    name = "runtime.any.System.Resources.ResourceManager";
-    version = "4.3.0";
-    sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl";
+    name = "NuGet.Packaging";
+    version = "5.8.0";
+    sha256 = "05ba9aj6hyb5x28c7sn24b7fkzn7g1869x4b2xpbq8r37mfswfw9";
   })
   (fetchNuGet {
-    name = "runtime.any.System.Runtime.Handles";
-    version = "4.0.1";
-    sha256 = "1kswgqhy34qvc49i981fk711s7knd6z13bp0rin8ms6axkh98nas";
+    name = "NuGet.ProjectModel";
+    version = "5.8.0";
+    sha256 = "1b2brybxg997095b9w2jbgnhadppdrxlkqmwx84dy6snq2blcwhc";
   })
   (fetchNuGet {
-    name = "runtime.any.System.Runtime.Handles";
-    version = "4.3.0";
-    sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x";
+    name = "NuGet.Protocol";
+    version = "5.8.0";
+    sha256 = "151x6b085vsznfsi7ak97086hlc0g3d3mv9xdla974z1qyh6q5a9";
   })
   (fetchNuGet {
-    name = "runtime.any.System.Runtime.InteropServices";
-    version = "4.1.0";
-    sha256 = "0gm8if0hcmp1qys1wmx4970k2x62pqvldgljsyzbjhiy5644vl8z";
+    name = "NuGet.Versioning";
+    version = "5.8.0";
+    sha256 = "16awcl6czs6nyhfaf0ixi25flka1y653q4bjmm4rnz3ssi832mi5";
   })
   (fetchNuGet {
-    name = "runtime.any.System.Runtime.InteropServices";
-    version = "4.3.0";
-    sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Runtime";
-    version = "4.1.0";
-    sha256 = "0mjr2bi7wvnkphfjqgkyf8vfyvy15a829jz6mivl6jmksh2bx40m";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Runtime";
-    version = "4.3.0";
-    sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b";
-  })
-  (fetchNuGet {
-    name = "runtime.any.System.Text.Encoding.Extensions";
-    version = "4.0.11";
-    sha256 = "0d1rxxpvg9v7wlibsfgz0r4hwigpadas822qf8m8fs1gma9gs877";
+    name = "NUnit";
+    version = "3.13.1";
+    sha256 = "07156gr0yl9rqhyj44cp1xz9jpngbl5kb7ci3qfy9fcp01dczmm9";
   })
   (fetchNuGet {
-    name = "runtime.any.System.Text.Encoding.Extensions";
-    version = "4.3.0";
-    sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8";
+    name = "ppy.osu.Framework";
+    version = "2021.226.0";
+    sha256 = "0875lcd28vmx4f40k8m957lcpg0ilkzm3da12j94xaqk88mx4j7c";
   })
   (fetchNuGet {
-    name = "runtime.any.System.Text.Encoding";
-    version = "4.0.11";
-    sha256 = "0m4vgmzi1ky8xlj0r7xcyazxln3j9dlialnk6d2gmgrfnzf8f9m7";
+    name = "ppy.osu.Framework.NativeLibs";
+    version = "2021.115.0";
+    sha256 = "00cxrnc78wb8l7d4x7m39g73y85kbgnsnx3qdvv0a9p77lf7lx7z";
   })
   (fetchNuGet {
-    name = "runtime.any.System.Text.Encoding";
-    version = "4.3.0";
-    sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3";
+    name = "ppy.osu.Game.Resources";
+    version = "2021.211.1";
+    sha256 = "0rqv5blmyzvcpk0b1r6fzr1bla62kr2fwkr1f9ahir9zafvk2wmm";
   })
   (fetchNuGet {
-    name = "runtime.any.System.Threading.Tasks";
-    version = "4.0.11";
-    sha256 = "1qzdp09qs8br5qxzlm1lgbjn4n57fk8vr1lzrmli2ysdg6x1xzvk";
+    name = "ppy.osuTK.NS20";
+    version = "1.0.173";
+    sha256 = "11rrxakrgq5lriv09qlz26189nyc9lh0fjidn5h70labyp2gpa4y";
   })
   (fetchNuGet {
-    name = "runtime.any.System.Threading.Tasks";
-    version = "4.3.0";
-    sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va";
+    name = "ppy.SDL2-CS";
+    version = "1.0.53";
+    sha256 = "0x52pq6xdg4qcgi8cnqlijifqjpszbi8z4nkmsym0xgd9m5bmd7k";
   })
   (fetchNuGet {
-    name = "runtime.any.System.Threading.Timer";
-    version = "4.0.1";
-    sha256 = "14p9qc9y8ay6kgz363xlxy5c75ilq3r7zw4ddx7348iir0m140ir";
+    name = "ppy.squirrel.windows";
+    version = "1.9.0.5";
+    sha256 = "0nmhrg3q6izapfpwdslq80fqkvjj12ad9r94pd0nr2xx1zw0x1zl";
   })
   (fetchNuGet {
-    name = "runtime.any.System.Threading.Timer";
-    version = "4.3.0";
-    sha256 = "0aw4phrhwqz9m61r79vyfl5la64bjxj8l34qnrcwb28v49fg2086";
+    name = "Remotion.Linq";
+    version = "2.2.0";
+    sha256 = "1y46ni0xswmmiryp8sydjgryafwn458dr91f9xn653w73kdyk4xf";
   })
   (fetchNuGet {
     name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl";
@@ -905,6 +755,16 @@
     sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa";
   })
   (fetchNuGet {
+    name = "runtime.native.System";
+    version = "4.0.0";
+    sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf";
+  })
+  (fetchNuGet {
+    name = "runtime.native.System";
+    version = "4.3.0";
+    sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4";
+  })
+  (fetchNuGet {
     name = "runtime.native.System.IO.Compression";
     version = "4.1.0";
     sha256 = "0d720z4lzyfcabmmnvh0bnj76ll7djhji2hmfh3h44sdkjnlkknk";
@@ -925,29 +785,19 @@
     sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk";
   })
   (fetchNuGet {
-    name = "runtime.native.System.Security.Cryptography.Apple";
-    version = "4.3.0";
-    sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q";
-  })
-  (fetchNuGet {
-    name = "runtime.native.System.Security.Cryptography.OpenSsl";
-    version = "4.3.0";
-    sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97";
-  })
-  (fetchNuGet {
     name = "runtime.native.System.Security.Cryptography";
     version = "4.0.0";
     sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9";
   })
   (fetchNuGet {
-    name = "runtime.native.System";
-    version = "4.0.0";
-    sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf";
+    name = "runtime.native.System.Security.Cryptography.Apple";
+    version = "4.3.0";
+    sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q";
   })
   (fetchNuGet {
-    name = "runtime.native.System";
+    name = "runtime.native.System.Security.Cryptography.OpenSsl";
     version = "4.3.0";
-    sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4";
+    sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97";
   })
   (fetchNuGet {
     name = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl";
@@ -990,99 +840,9 @@
     sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5";
   })
   (fetchNuGet {
-    name = "runtime.unix.Microsoft.Win32.Primitives";
-    version = "4.0.1";
-    sha256 = "1i47c440zlibzhyh2dr45jgbsmn3a7ki1paappdf9af4qrlaas63";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.Microsoft.Win32.Primitives";
-    version = "4.3.0";
-    sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Console";
-    version = "4.0.0";
-    sha256 = "0q96nlj42yj0b020j22z6j3qiza7lz7sb1r34dy4r1f3cq9s5zp6";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Console";
-    version = "4.3.0";
-    sha256 = "1pfpkvc6x2if8zbdzg9rnc5fx51yllprl8zkm5npni2k50lisy80";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Diagnostics.Debug";
-    version = "4.0.11";
-    sha256 = "05ndbai4vpqrry0ghbfgqc8xblmplwjgndxmdn1zklqimczwjg2d";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Diagnostics.Debug";
-    version = "4.3.0";
-    sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.IO.FileSystem";
-    version = "4.0.1";
-    sha256 = "02wnlydnbhai0zy7c3kihg0cis0l1b2z78kyi1ci47c5v0jklwha";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.IO.FileSystem";
-    version = "4.3.0";
-    sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Net.Primitives";
-    version = "4.0.11";
-    sha256 = "1fy9hy30bs3pv6jr2ci2vscgycz64r1bgl91s51psidzh64i1gp9";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Net.Primitives";
-    version = "4.3.0";
-    sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Net.Sockets";
-    version = "4.1.0";
-    sha256 = "0vj5n45mm2k2khayvrp1lbz5djnp5lac1dna37g5c0nh7pmzgc4f";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Net.Sockets";
-    version = "4.3.0";
-    sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Private.Uri";
-    version = "4.0.1";
-    sha256 = "0ic5dgc45jkhcr1g9xmmzjm7ffiw4cymm0fprczlx4fnww4783nm";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Private.Uri";
-    version = "4.3.0";
-    sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Runtime.Extensions";
-    version = "4.1.0";
-    sha256 = "0x1cwd7cvifzmn5x1wafvj75zdxlk3mxy860igh3x1wx0s8167y4";
-  })
-  (fetchNuGet {
-    name = "runtime.unix.System.Runtime.Extensions";
-    version = "4.3.0";
-    sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p";
-  })
-  (fetchNuGet {
-    name = "Sentry.PlatformAbstractions";
-    version = "1.1.1";
-    sha256 = "10mxyxmyjpr0y1ik2j55pp7ifn101sw319cbpf28i2xbfp0cvcaj";
-  })
-  (fetchNuGet {
-    name = "Sentry.Protocol";
-    version = "2.1.8";
-    sha256 = "04baw4yxc5lbcl83sfcdyjg5225719bf3sxpa3kjmhf58bjr143l";
-  })
-  (fetchNuGet {
     name = "Sentry";
-    version = "2.1.8";
-    sha256 = "1ii62ynihr4j2v2agjizk38kfz3m9bdijkks9k7ydhcq1bcz7jbn";
+    version = "3.0.1";
+    sha256 = "1nmqwprp2xv9d8llfncyw94nfws9nwb7zj0sqrd6lv1mfgaxraql";
   })
   (fetchNuGet {
     name = "SharpCompress";
@@ -1091,8 +851,8 @@
   })
   (fetchNuGet {
     name = "SharpCompress";
-    version = "0.26.0";
-    sha256 = "03cygf8p44j1bfn6z9cn2xrw6zhvhq17xac1sph5rgq7vq2m5iq5";
+    version = "0.27.1";
+    sha256 = "1lhljszs94i1ssl831ik1a51n2pshf27nsjm78acnw1y1qnkm5pd";
   })
   (fetchNuGet {
     name = "SharpFNT";
@@ -1175,6 +935,16 @@
     sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3";
   })
   (fetchNuGet {
+    name = "System.Collections";
+    version = "4.0.11";
+    sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6";
+  })
+  (fetchNuGet {
+    name = "System.Collections";
+    version = "4.3.0";
+    sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9";
+  })
+  (fetchNuGet {
     name = "System.Collections.Concurrent";
     version = "4.0.12";
     sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc";
@@ -1200,16 +970,6 @@
     sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r";
   })
   (fetchNuGet {
-    name = "System.Collections";
-    version = "4.0.11";
-    sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6";
-  })
-  (fetchNuGet {
-    name = "System.Collections";
-    version = "4.3.0";
-    sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9";
-  })
-  (fetchNuGet {
     name = "System.ComponentModel.Annotations";
     version = "4.5.0";
     sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p";
@@ -1220,6 +980,11 @@
     sha256 = "021h7x98lblq9avm1bgpa4i31c2kgsa7zn4sqhxf39g087ar756j";
   })
   (fetchNuGet {
+    name = "System.Composition";
+    version = "1.0.31";
+    sha256 = "0aa27jz73qb0xm6dyxv22qhfrmyyqjyn2dvvsd9asi82lcdh9i61";
+  })
+  (fetchNuGet {
     name = "System.Composition.AttributedModel";
     version = "1.0.31";
     sha256 = "1ipyb86hvw754kmk47vjmzyilvj5hymg9nqabz70sbgsz1fygrdv";
@@ -1245,11 +1010,6 @@
     sha256 = "1m4j19zx50lbbdx1xxbgpsd1dai2r3kzkyapw47kdvkb89qjkl63";
   })
   (fetchNuGet {
-    name = "System.Composition";
-    version = "1.0.31";
-    sha256 = "0aa27jz73qb0xm6dyxv22qhfrmyyqjyn2dvvsd9asi82lcdh9i61";
-  })
-  (fetchNuGet {
     name = "System.Console";
     version = "4.0.0";
     sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf";
@@ -1285,6 +1045,11 @@
     sha256 = "1y8m0p3127nak5yspapfnz25qc9x53gqpvwr3hdpsvrcd2r1pgyj";
   })
   (fetchNuGet {
+    name = "System.Diagnostics.DiagnosticSource";
+    version = "5.0.0";
+    sha256 = "0phd2qizshjvglhzws1jd0cq4m54gscz4ychzr3x6wbgl4vvfrga";
+  })
+  (fetchNuGet {
     name = "System.Diagnostics.Tools";
     version = "4.0.1";
     sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x";
@@ -1310,6 +1075,16 @@
     sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9";
   })
   (fetchNuGet {
+    name = "System.Globalization";
+    version = "4.0.11";
+    sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d";
+  })
+  (fetchNuGet {
+    name = "System.Globalization";
+    version = "4.3.0";
+    sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki";
+  })
+  (fetchNuGet {
     name = "System.Globalization.Calendars";
     version = "4.0.1";
     sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh";
@@ -1330,29 +1105,19 @@
     sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls";
   })
   (fetchNuGet {
-    name = "System.Globalization";
-    version = "4.0.11";
-    sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d";
-  })
-  (fetchNuGet {
-    name = "System.Globalization";
-    version = "4.3.0";
-    sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki";
-  })
-  (fetchNuGet {
     name = "System.Interactive.Async";
     version = "3.2.0";
     sha256 = "0y5r5y7dlccjpgg17rjrrzi3jya4ysyydamxs33qckkv4jb3534d";
   })
   (fetchNuGet {
-    name = "System.IO.Compression.ZipFile";
-    version = "4.0.1";
-    sha256 = "0h72znbagmgvswzr46mihn7xm7chfk2fhrp5krzkjf29pz0i6z82";
+    name = "System.IO";
+    version = "4.1.0";
+    sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp";
   })
   (fetchNuGet {
-    name = "System.IO.Compression.ZipFile";
+    name = "System.IO";
     version = "4.3.0";
-    sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar";
+    sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f";
   })
   (fetchNuGet {
     name = "System.IO.Compression";
@@ -1365,14 +1130,14 @@
     sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz";
   })
   (fetchNuGet {
-    name = "System.IO.FileSystem.Primitives";
+    name = "System.IO.Compression.ZipFile";
     version = "4.0.1";
-    sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612";
+    sha256 = "0h72znbagmgvswzr46mihn7xm7chfk2fhrp5krzkjf29pz0i6z82";
   })
   (fetchNuGet {
-    name = "System.IO.FileSystem.Primitives";
+    name = "System.IO.Compression.ZipFile";
     version = "4.3.0";
-    sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c";
+    sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar";
   })
   (fetchNuGet {
     name = "System.IO.FileSystem";
@@ -1385,24 +1150,34 @@
     sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw";
   })
   (fetchNuGet {
+    name = "System.IO.FileSystem.Primitives";
+    version = "4.0.1";
+    sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612";
+  })
+  (fetchNuGet {
+    name = "System.IO.FileSystem.Primitives";
+    version = "4.3.0";
+    sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c";
+  })
+  (fetchNuGet {
     name = "System.IO.Packaging";
     version = "5.0.0";
     sha256 = "08l85pi8jy65las973szqdnir2awxp0r16h21c0bgrz19gxhs11n";
   })
   (fetchNuGet {
     name = "System.IO.Pipelines";
-    version = "4.7.3";
-    sha256 = "0djp59x56klidi04xx8p5jc1nchv5zvd1d59diphqxwvgny3aawy";
+    version = "5.0.1";
+    sha256 = "1zvfcd2l1d5qxifsqd0cjyv57nr61a9ac2ca5jinyqmj32wgjd6v";
   })
   (fetchNuGet {
-    name = "System.IO";
+    name = "System.Linq";
     version = "4.1.0";
-    sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp";
+    sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5";
   })
   (fetchNuGet {
-    name = "System.IO";
+    name = "System.Linq";
     version = "4.3.0";
-    sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f";
+    sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7";
   })
   (fetchNuGet {
     name = "System.Linq.Expressions";
@@ -1420,27 +1195,12 @@
     sha256 = "11jn9k34g245yyf260gr3ldzvaqa9477w2c5nhb1p8vjx4xm3qaw";
   })
   (fetchNuGet {
-    name = "System.Linq";
-    version = "4.1.0";
-    sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5";
-  })
-  (fetchNuGet {
-    name = "System.Linq";
-    version = "4.3.0";
-    sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7";
-  })
-  (fetchNuGet {
     name = "System.Memory";
     version = "4.5.1";
     sha256 = "0f07d7hny38lq9w69wx4lxkn4wszrqf9m9js6fh9is645csm167c";
   })
   (fetchNuGet {
     name = "System.Memory";
-    version = "4.5.2";
-    sha256 = "1g24dwqfcmf4gpbgbhaw1j49xmpsz389l6bw2xxbsmnzvsf860ld";
-  })
-  (fetchNuGet {
-    name = "System.Memory";
     version = "4.5.3";
     sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a";
   })
@@ -1460,16 +1220,6 @@
     sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j";
   })
   (fetchNuGet {
-    name = "System.Net.NameResolution";
-    version = "4.0.0";
-    sha256 = "0dj3pvpv069nyia28gkl4a0fb7q33hbxz2dg25qvpah3l7pbl0qh";
-  })
-  (fetchNuGet {
-    name = "System.Net.NameResolution";
-    version = "4.3.0";
-    sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq";
-  })
-  (fetchNuGet {
     name = "System.Net.Primitives";
     version = "4.0.11";
     sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r";
@@ -1510,14 +1260,29 @@
     sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2";
   })
   (fetchNuGet {
-    name = "System.Private.Uri";
+    name = "System.Reflection";
+    version = "4.1.0";
+    sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9";
+  })
+  (fetchNuGet {
+    name = "System.Reflection";
+    version = "4.3.0";
+    sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m";
+  })
+  (fetchNuGet {
+    name = "System.Reflection.Emit";
     version = "4.0.1";
-    sha256 = "0k57qhawjysm4cpbfpc49kl4av7lji310kjcamkl23bwgij5ld9j";
+    sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp";
   })
   (fetchNuGet {
-    name = "System.Private.Uri";
+    name = "System.Reflection.Emit";
     version = "4.3.0";
-    sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx";
+    sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74";
+  })
+  (fetchNuGet {
+    name = "System.Reflection.Emit";
+    version = "4.6.0";
+    sha256 = "18h375q5bn9h7swxnk4krrxym1dxmi9bm26p89xps9ygrj4q6zqw";
   })
   (fetchNuGet {
     name = "System.Reflection.Emit.ILGeneration";
@@ -1541,18 +1306,8 @@
   })
   (fetchNuGet {
     name = "System.Reflection.Emit.Lightweight";
-    version = "4.7.0";
-    sha256 = "0mbjfajmafkca47zr8v36brvknzks5a7pgb49kfq2d188pyv6iap";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit";
-    version = "4.0.1";
-    sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp";
-  })
-  (fetchNuGet {
-    name = "System.Reflection.Emit";
-    version = "4.3.0";
-    sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74";
+    version = "4.6.0";
+    sha256 = "0hry2k6b7kicg4zxnq0hhn0ys52711pxy7l9v5sp7gvp9cicwpgp";
   })
   (fetchNuGet {
     name = "System.Reflection.Extensions";
@@ -1595,16 +1350,6 @@
     sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1";
   })
   (fetchNuGet {
-    name = "System.Reflection";
-    version = "4.1.0";
-    sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9";
-  })
-  (fetchNuGet {
-    name = "System.Reflection";
-    version = "4.3.0";
-    sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m";
-  })
-  (fetchNuGet {
     name = "System.Resources.ResourceManager";
     version = "4.0.1";
     sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi";
@@ -1615,6 +1360,16 @@
     sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49";
   })
   (fetchNuGet {
+    name = "System.Runtime";
+    version = "4.1.0";
+    sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m";
+  })
+  (fetchNuGet {
+    name = "System.Runtime";
+    version = "4.3.0";
+    sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7";
+  })
+  (fetchNuGet {
     name = "System.Runtime.CompilerServices.Unsafe";
     version = "4.5.1";
     sha256 = "1xcrjx5fwg284qdnxyi2d0lzdm5q4frlpkp0nf6vvkx1kdz2prrf";
@@ -1635,6 +1390,11 @@
     sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j";
   })
   (fetchNuGet {
+    name = "System.Runtime.CompilerServices.Unsafe";
+    version = "5.0.0";
+    sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x";
+  })
+  (fetchNuGet {
     name = "System.Runtime.Extensions";
     version = "4.1.0";
     sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z";
@@ -1655,16 +1415,6 @@
     sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8";
   })
   (fetchNuGet {
-    name = "System.Runtime.InteropServices.RuntimeInformation";
-    version = "4.0.0";
-    sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6";
-  })
-  (fetchNuGet {
-    name = "System.Runtime.InteropServices.RuntimeInformation";
-    version = "4.3.0";
-    sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii";
-  })
-  (fetchNuGet {
     name = "System.Runtime.InteropServices";
     version = "4.1.0";
     sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1";
@@ -1675,6 +1425,16 @@
     sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j";
   })
   (fetchNuGet {
+    name = "System.Runtime.InteropServices.RuntimeInformation";
+    version = "4.0.0";
+    sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6";
+  })
+  (fetchNuGet {
+    name = "System.Runtime.InteropServices.RuntimeInformation";
+    version = "4.3.0";
+    sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii";
+  })
+  (fetchNuGet {
     name = "System.Runtime.Numerics";
     version = "4.0.1";
     sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn";
@@ -1690,31 +1450,11 @@
     sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k";
   })
   (fetchNuGet {
-    name = "System.Runtime";
-    version = "4.1.0";
-    sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m";
-  })
-  (fetchNuGet {
-    name = "System.Runtime";
-    version = "4.3.0";
-    sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7";
-  })
-  (fetchNuGet {
     name = "System.Security.AccessControl";
     version = "5.0.0";
     sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r";
   })
   (fetchNuGet {
-    name = "System.Security.Claims";
-    version = "4.0.1";
-    sha256 = "03dw0ls49bvsrffgwycyifjgz0qzr9r85skqhdyhfd51fqf398n6";
-  })
-  (fetchNuGet {
-    name = "System.Security.Claims";
-    version = "4.3.0";
-    sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn";
-  })
-  (fetchNuGet {
     name = "System.Security.Cryptography.Algorithms";
     version = "4.2.0";
     sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85";
@@ -1735,6 +1475,11 @@
     sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv";
   })
   (fetchNuGet {
+    name = "System.Security.Cryptography.Cng";
+    version = "5.0.0-preview.3.20214.6";
+    sha256 = "050xx94ki5zmclplfns1v463wlf97ha2knwnxp08vqkgy0bdg1mv";
+  })
+  (fetchNuGet {
     name = "System.Security.Cryptography.Csp";
     version = "4.0.0";
     sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q";
@@ -1765,6 +1510,11 @@
     sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc";
   })
   (fetchNuGet {
+    name = "System.Security.Cryptography.Pkcs";
+    version = "5.0.0-preview.3.20214.6";
+    sha256 = "1q38rzpzhzpc8l75m06g6swq23qbl22ijzd9k76jfq08px3wq09k";
+  })
+  (fetchNuGet {
     name = "System.Security.Cryptography.Primitives";
     version = "4.0.0";
     sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh";
@@ -1775,6 +1525,11 @@
     sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby";
   })
   (fetchNuGet {
+    name = "System.Security.Cryptography.ProtectedData";
+    version = "4.4.0";
+    sha256 = "1q8ljvqhasyynp94a1d7jknk946m20lkwy2c3wa8zw2pc517fbj6";
+  })
+  (fetchNuGet {
     name = "System.Security.Cryptography.X509Certificates";
     version = "4.1.0";
     sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh";
@@ -1786,28 +1541,18 @@
   })
   (fetchNuGet {
     name = "System.Security.Principal.Windows";
-    version = "4.0.0";
-    sha256 = "1d3vc8i0zss9z8p4qprls4gbh7q4218l9845kclx7wvw41809k6z";
-  })
-  (fetchNuGet {
-    name = "System.Security.Principal.Windows";
-    version = "4.3.0";
-    sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr";
-  })
-  (fetchNuGet {
-    name = "System.Security.Principal.Windows";
     version = "5.0.0";
     sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8";
   })
   (fetchNuGet {
-    name = "System.Security.Principal";
-    version = "4.0.1";
-    sha256 = "1nbzdfqvzzbgsfdd5qsh94d7dbg2v4sw0yx6himyn52zf8z6007p";
+    name = "System.Text.Encoding";
+    version = "4.0.11";
+    sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw";
   })
   (fetchNuGet {
-    name = "System.Security.Principal";
+    name = "System.Text.Encoding";
     version = "4.3.0";
-    sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf";
+    sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr";
   })
   (fetchNuGet {
     name = "System.Text.Encoding.CodePages";
@@ -1816,8 +1561,8 @@
   })
   (fetchNuGet {
     name = "System.Text.Encoding.CodePages";
-    version = "4.7.1";
-    sha256 = "1y1hdap9qbl7vp74j8s9zcbh3v1rnrrvcc55wj1hl6has2v3qh1r";
+    version = "5.0.0";
+    sha256 = "1bn2pzaaq4wx9ixirr8151vm5hynn3lmrljcgjx9yghmm4k677k0";
   })
   (fetchNuGet {
     name = "System.Text.Encoding.Extensions";
@@ -1830,24 +1575,19 @@
     sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy";
   })
   (fetchNuGet {
-    name = "System.Text.Encoding";
-    version = "4.0.11";
-    sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw";
-  })
-  (fetchNuGet {
-    name = "System.Text.Encoding";
-    version = "4.3.0";
-    sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr";
+    name = "System.Text.Encodings.Web";
+    version = "5.0.0";
+    sha256 = "144pgy65jc3bkar7d4fg1c0rq6qmkx68gj9k1ldk97558w22v1r1";
   })
   (fetchNuGet {
-    name = "System.Text.Encodings.Web";
-    version = "4.7.1";
-    sha256 = "1wj7r07mjwbf9a79kapy2l9m8mcq8b3nbhg0zaprlsav09k85fmb";
+    name = "System.Text.Json";
+    version = "5.0.0";
+    sha256 = "1gpgl18z6qrgmqrikgh99xkjwzb1didrjp77bch7nrlra21gr4ks";
   })
   (fetchNuGet {
     name = "System.Text.Json";
-    version = "4.7.2";
-    sha256 = "10xj1pw2dgd42anikvj9qm23ccssrcp7dpznpj4j7xjp1ikhy3y4";
+    version = "5.0.1";
+    sha256 = "1j7via4spxy73ipng754wdz1nb882gsb9qh26jqlql66vzbbm3j3";
   })
   (fetchNuGet {
     name = "System.Text.RegularExpressions";
@@ -1860,24 +1600,19 @@
     sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l";
   })
   (fetchNuGet {
-    name = "System.Threading.Channels";
-    version = "4.7.1";
-    sha256 = "038fyrriypwzsj5fwgnkw79hm5ya0x63r724yizgahbxf512chr2";
-  })
-  (fetchNuGet {
-    name = "System.Threading.Tasks.Extensions";
-    version = "4.0.0";
-    sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr";
+    name = "System.Threading";
+    version = "4.0.11";
+    sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls";
   })
   (fetchNuGet {
-    name = "System.Threading.Tasks.Extensions";
+    name = "System.Threading";
     version = "4.3.0";
-    sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z";
+    sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34";
   })
   (fetchNuGet {
-    name = "System.Threading.Tasks.Extensions";
-    version = "4.5.4";
-    sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153";
+    name = "System.Threading.Channels";
+    version = "5.0.0";
+    sha256 = "11z28x3cawry60l5phkqrvavm0mshz84n4c79hrz0p65lq8jpxgs";
   })
   (fetchNuGet {
     name = "System.Threading.Tasks";
@@ -1890,19 +1625,29 @@
     sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7";
   })
   (fetchNuGet {
-    name = "System.Threading.Thread";
+    name = "System.Threading.Tasks.Extensions";
     version = "4.0.0";
-    sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc";
+    sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr";
   })
   (fetchNuGet {
-    name = "System.Threading.ThreadPool";
-    version = "4.0.10";
-    sha256 = "0fdr61yjcxh5imvyf93n2m3n5g9pp54bnw2l1d2rdl9z6dd31ypx";
+    name = "System.Threading.Tasks.Extensions";
+    version = "4.3.0";
+    sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z";
   })
   (fetchNuGet {
-    name = "System.Threading.ThreadPool";
-    version = "4.3.0";
-    sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1";
+    name = "System.Threading.Tasks.Extensions";
+    version = "4.5.3";
+    sha256 = "0g7r6hm572ax8v28axrdxz1gnsblg6kszq17g51pj14a5rn2af7i";
+  })
+  (fetchNuGet {
+    name = "System.Threading.Tasks.Extensions";
+    version = "4.5.4";
+    sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153";
+  })
+  (fetchNuGet {
+    name = "System.Threading.Thread";
+    version = "4.0.0";
+    sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc";
   })
   (fetchNuGet {
     name = "System.Threading.Timer";
@@ -1915,16 +1660,6 @@
     sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56";
   })
   (fetchNuGet {
-    name = "System.Threading";
-    version = "4.0.11";
-    sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls";
-  })
-  (fetchNuGet {
-    name = "System.Threading";
-    version = "4.3.0";
-    sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34";
-  })
-  (fetchNuGet {
     name = "System.Xml.ReaderWriter";
     version = "4.0.11";
     sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5";
diff --git a/pkgs/games/osu-lazer/osu.runtimeconfig.json b/pkgs/games/osu-lazer/osu.runtimeconfig.json
index ec942fede66ec..a1a197b1b6710 100644
--- a/pkgs/games/osu-lazer/osu.runtimeconfig.json
+++ b/pkgs/games/osu-lazer/osu.runtimeconfig.json
@@ -1,9 +1,9 @@
 {
   "runtimeOptions": {
-    "tfm": "netcoreapp3.1",
+    "tfm": "net5.0",
     "framework": {
       "name": "Microsoft.NETCore.App",
-      "version": "3.1.0"
+      "version": "5.0.0"
     }
   }
 }
diff --git a/pkgs/games/osu-lazer/update.sh b/pkgs/games/osu-lazer/update.sh
index 3c78ae8a50a87..44a4bb3821dbc 100755
--- a/pkgs/games/osu-lazer/update.sh
+++ b/pkgs/games/osu-lazer/update.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl jq common-updater-scripts dotnet-sdk_3
+#!nix-shell -i bash -p curl jq common-updater-scripts dotnet-sdk_5
 set -eo pipefail
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
diff --git a/pkgs/games/papermc/default.nix b/pkgs/games/papermc/default.nix
index f06d41495a814..f5bf9573e6bed 100644
--- a/pkgs/games/papermc/default.nix
+++ b/pkgs/games/papermc/default.nix
@@ -1,10 +1,10 @@
 { lib, stdenv, fetchurl, bash, jre }:
 let
-  mcVersion = "1.16.4";
-  buildNum = "296";
+  mcVersion = "1.16.5";
+  buildNum = "488";
   jar = fetchurl {
-    url = "https://papermc.io/api/v1/paper/${mcVersion}/${buildNum}/download";
-    sha256 = "0885417w7qahk2fwlzvggbwrhvwgpd7xas8lzzb7ar469vyvd9dz";
+     url = "https://papermc.io/api/v1/paper/${mcVersion}/${buildNum}/download";
+     sha256 = "07zgq6pfgwd9a9daqv1dab0q8cwgidsn6sszn7bpr37y457a4ka8";
   };
 in stdenv.mkDerivation {
   pname = "papermc";
@@ -31,6 +31,6 @@ in stdenv.mkDerivation {
     homepage    = "https://papermc.io/";
     license     = lib.licenses.gpl3Only;
     platforms   = lib.platforms.unix;
-    maintainers = with lib.maintainers; [ aaronjanse ];
+    maintainers = with lib.maintainers; [ aaronjanse neonfuz ];
   };
 }
diff --git a/pkgs/games/performous/default.nix b/pkgs/games/performous/default.nix
index b0fc9483629e7..dce771faec17b 100644
--- a/pkgs/games/performous/default.nix
+++ b/pkgs/games/performous/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, cmake, pkg-config, gettext
 , glibmm, libxmlxx, pango, librsvg
-, SDL2, glew, boost, libav, portaudio, epoxy
+, SDL2, glew, boost, ffmpeg, portaudio, epoxy
 }:
 
 stdenv.mkDerivation rec {
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     glibmm libxmlxx pango librsvg
-    SDL2 glew boost libav portaudio epoxy
+    SDL2 glew boost ffmpeg portaudio epoxy
   ];
 }
diff --git a/pkgs/games/pioneer/default.nix b/pkgs/games/pioneer/default.nix
index 0d348e3fa9e5b..51eda72bdefca 100644
--- a/pkgs/games/pioneer/default.nix
+++ b/pkgs/games/pioneer/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pioneer";
-  version = "20200203";
+  version = "20210203";
 
   src = fetchFromGitHub{
     owner = "pioneerspacesim";
     repo = "pioneer";
     rev = version;
-    sha256 = "1011xsi94jhw98mhm8kryq8ajig0qfbrdx5xdasi92bd4nk7lcp8";
+    sha256 = "sha256-51HXbX15uB1Xf9Re7Qi41BnJ9OW+GeXQhylJ+HwP0f8=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/games/portmod/default.nix b/pkgs/games/portmod/default.nix
index ef535991c23b4..108d81815faa5 100644
--- a/pkgs/games/portmod/default.nix
+++ b/pkgs/games/portmod/default.nix
@@ -1,5 +1,5 @@
 { lib, callPackage, python3Packages, fetchFromGitLab, cacert,
-  rustPlatform, bubblewrap, git, perlPackages, imagemagick7, fetchurl, fetchzip,
+  rustPlatform, bubblewrap, git, perlPackages, imagemagick, fetchurl, fetchzip,
   jre, makeWrapper, tr-patcher, tes3cmd }:
 
 let
@@ -29,7 +29,7 @@ let
     python3Packages.virtualenv
     tr-patcher
     tes3cmd
-    imagemagick7
+    imagemagick
   ];
 
 in
diff --git a/pkgs/games/r2mod_cli/default.nix b/pkgs/games/r2mod_cli/default.nix
index b81f1814ac9b8..a966731725d32 100644
--- a/pkgs/games/r2mod_cli/default.nix
+++ b/pkgs/games/r2mod_cli/default.nix
@@ -7,16 +7,16 @@
 
 stdenv.mkDerivation rec {
   pname = "r2mod_cli";
-  version = "1.0.5";
+  version = "1.0.6";
 
   src = fetchFromGitHub {
     owner = "Foldex";
     repo = "r2mod_cli";
     rev = "v${version}";
-    sha256 = "1g64f8ms7yz4rzm6xb93agc08kh9sbwkhvq35dpfhvi6v59j3n5m";
+    sha256 = "0as3nl9qiyf9daf2n78lyish319qclf2gbhr20mdd5wnqmxpk276";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   makeFlags = [ "PREFIX=$(out)" ];
 
diff --git a/pkgs/games/racer/default.nix b/pkgs/games/racer/default.nix
index dfbe9bc45e1fe..16507fa219e02 100644
--- a/pkgs/games/racer/default.nix
+++ b/pkgs/games/racer/default.nix
@@ -12,8 +12,8 @@ stdenv.mkDerivation {
   } else
     throw "System not supported";
 
-
-  buildInputs = [ allegro libjpeg makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ allegro libjpeg ];
 
   prePatch = ''
     sed -i s,/usr/local,$out, Makefile src/HGFX.cpp src/STDH.cpp
diff --git a/pkgs/games/runelite/default.nix b/pkgs/games/runelite/default.nix
index df8a5c3e8dcd7..e9e77e275dc76 100644
--- a/pkgs/games/runelite/default.nix
+++ b/pkgs/games/runelite/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     startupNotify = null;
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   # colon is bash form of no-op (do nothing)
   dontUnpack = true;
diff --git a/pkgs/games/scid/default.nix b/pkgs/games/scid/default.nix
index f0fdef8e62e5e..7b1a15c0a5515 100644
--- a/pkgs/games/scid/default.nix
+++ b/pkgs/games/scid/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation {
     sha256 = "0zb5qp04x8w4gn2kvfdfq2p44kmzfcqn7v167dixz6nlyxg41hrw";
   };
 
-  buildInputs = [ tcl tk libX11 zlib makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ tcl tk libX11 zlib ];
 
   prePatch = ''
     sed -i -e '/^ *set headerPath *{/a ${tcl}/include ${tk}/include' \
diff --git a/pkgs/games/shattered-pixel-dungeon/default.nix b/pkgs/games/shattered-pixel-dungeon/default.nix
index eea8d5650be17..3639eb46ffebc 100644
--- a/pkgs/games/shattered-pixel-dungeon/default.nix
+++ b/pkgs/games/shattered-pixel-dungeon/default.nix
@@ -2,7 +2,7 @@
 , makeWrapper
 , fetchFromGitHub
 , nixosTests
-, gradle_5
+, gradle
 , perl
 , jre
 , libpulseaudio
@@ -10,13 +10,15 @@
 
 let
   pname = "shattered-pixel-dungeon";
-  version = "0.9.1d";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "00-Evan";
     repo = "shattered-pixel-dungeon";
-    rev = "v${version}";
-    sha256 = "0f9vi1iffh477zi03hi07rmfbkb8i4chwvv43vs70mgjh4qx7247";
+    # NOTE: always use the commit sha, not the tag. Tags _will_ disappear!
+    # https://github.com/00-Evan/shattered-pixel-dungeon/issues/596
+    rev = "5be9ee815f1fc6e3511a09a367d3f9d8dc55c783";
+    sha256 = "0wknrf7jjnkshj4gmb1ksqiqif1rq53ffi3y29ynhcz68sa0frx6";
   };
 
   postPatch = ''
@@ -31,7 +33,7 @@ let
   deps = stdenv.mkDerivation {
     pname = "${pname}-deps";
     inherit version src postPatch;
-    nativeBuildInputs = [ gradle_5 perl ];
+    nativeBuildInputs = [ gradle perl ];
     buildPhase = ''
       export GRADLE_USER_HOME=$(mktemp -d)
       # https://github.com/gradle/gradle/issues/4426
@@ -52,7 +54,7 @@ let
 in stdenv.mkDerivation rec {
   inherit pname version src postPatch;
 
-  nativeBuildInputs = [ gradle_5 perl makeWrapper ];
+  nativeBuildInputs = [ gradle perl makeWrapper ];
 
   buildPhase = ''
     export GRADLE_USER_HOME=$(mktemp -d)
@@ -86,4 +88,3 @@ in stdenv.mkDerivation rec {
     broken = stdenv.isDarwin;
   };
 }
-
diff --git a/pkgs/games/sil/default.nix b/pkgs/games/sil/default.nix
index 3128ed5358b25..5f589ede2bc45 100644
--- a/pkgs/games/sil/default.nix
+++ b/pkgs/games/sil/default.nix
@@ -18,7 +18,8 @@ stdenv.mkDerivation rec {
     stripRoot=false;
   };
 
-  buildInputs = [ makeWrapper ncurses libX11 libXaw libXt libXext libXmu ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ ncurses libX11 libXaw libXt libXext libXmu ];
 
   sourceRoot = "source/Sil/src";
 
diff --git a/pkgs/games/snipes/default.nix b/pkgs/games/snipes/default.nix
index 66188ba0efe8f..01b24ee434c3d 100644
--- a/pkgs/games/snipes/default.nix
+++ b/pkgs/games/snipes/default.nix
@@ -13,13 +13,15 @@ in stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner  = "Davidebyzero";
     repo   = "Snipes";
-    rev    = "343e14104b7848eb1f882401888e685b7918ef9f";
-    sha256 = "1rl70d5miak34warbwfv27z11vln4lvf7maqqc78z0gdc5zivdv2";
+    rev    = "594af45108e07aa4159c3babc9b5e53609c3fd6e";
+    sha256 = "0gmh38swm74jmljy0bq27ipqzb4h8y9rzwc1j6harbd9qqz5knac";
   };
 
   postPatch = ''
     substitute config-sample.h config.h \
       --replace SnipesConsole.ttf $out/share/snipes/SnipesConsole.ttf
+    substituteInPlace GNUmakefile \
+      --replace 'CFLAGS=-Werror -Wall' 'CFLAGS=-Wall'
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/games/steam/fhsenv.nix b/pkgs/games/steam/fhsenv.nix
index 4fa8960726bc5..42faaf287d761 100644
--- a/pkgs/games/steam/fhsenv.nix
+++ b/pkgs/games/steam/fhsenv.nix
@@ -29,7 +29,7 @@ let
       # Needed by gdialog, including in the steam-runtime
       perl
       # Open URLs
-      xdg_utils
+      xdg-utils
       iana-etc
       # Steam Play / Proton
       python3
@@ -134,6 +134,20 @@ in buildFHSUserEnv rec {
     libuuid
     libbsd
     alsaLib
+
+    # needed by getcap for vr startup
+    libcap
+
+    # dependencies for mesa drivers, needed inside pressure-vessel
+    mesa.drivers
+    expat
+    wayland
+    xlibs.libxcb
+    xlibs.libXdamage
+    xlibs.libxshmfence
+    xlibs.libXxf86vm
+    llvm_11.lib
+    libelf
   ] ++ (if (!nativeOnly) then [
     (steamPackages.steam-runtime-wrapped.override {
       inherit runtimeOnly;
@@ -171,7 +185,7 @@ in buildFHSUserEnv rec {
     SDL2
     libusb1
     dbus-glib
-    libav
+    ffmpeg
     atk
     # Only libraries are needed from those two
     libudev0-shim
@@ -251,6 +265,8 @@ in buildFHSUserEnv rec {
     fi
 
     export STEAM_RUNTIME=${if nativeOnly then "0" else "/steamrt"}
+
+    export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/intel_icd.x86_64.json:/usr/share/vulkan/icd.d/intel_icd.i686.json:/usr/share/vulkan/icd.d/lvp_icd.x86_64.json:/usr/share/vulkan/icd.d/lvp_icd.i686.json:/usr/share/vulkan/icd.d/nvidia_icd.json:/usr/share/vulkan/icd.d/nvidia_icd32.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json:/usr/share/vulkan/icd.d/radeon_icd.i686.json
   '' + extraProfile;
 
   runScript = writeScript "steam-wrapper.sh" ''
diff --git a/pkgs/games/stockfish/default.nix b/pkgs/games/stockfish/default.nix
index 075db08a5ce34..ef9c7fbe4d642 100644
--- a/pkgs/games/stockfish/default.nix
+++ b/pkgs/games/stockfish/default.nix
@@ -1,15 +1,23 @@
 { lib, stdenv, fetchurl }:
 
-let arch = if stdenv.isx86_64 then "x86-64" else
+with lib;
+
+let
+    # The x86-64-modern may need to be refined further in the future
+    # but stdenv.hostPlatform CPU flags do not currently work on Darwin
+    # https://discourse.nixos.org/t/darwin-system-and-stdenv-hostplatform-features/9745
+    archDarwin = if stdenv.isx86_64 then "x86-64-modern" else "x86-64";
+    arch = if stdenv.isDarwin then archDarwin else
+           if stdenv.isx86_64 then "x86-64" else
            if stdenv.isi686 then "x86-32" else
+           if stdenv.isAarch64 then "armv8" else
            "unknown";
-
     version = "12";
 
     nnueFile = "nn-82215d0fd0df.nnue";
     nnue = fetchurl {
       name = nnueFile;
-        url = "https://tests.stockfishchess.org/api/nn/${nnueFile}";
+      url = "https://tests.stockfishchess.org/api/nn/${nnueFile}";
       sha256 = "1r4yqrh4di05syyhl84hqcz84djpbd605b27zhbxwg6zs07ms8c2";
     };
 in
@@ -23,18 +31,24 @@ stdenv.mkDerivation {
     sha256 = "16980aicm5i6i9252239q4f9bcxg1gnqkv6nphrmpz4drg8i3v6i";
   };
 
+  # This addresses a linker issue with Darwin
+  # https://github.com/NixOS/nixpkgs/issues/19098
+  preBuild = optionalString stdenv.isDarwin ''
+    sed -i.orig '/^\#\#\# 3.*Link Time Optimization/,/^\#\#\# 3/d' Makefile
+  '';
+
   postUnpack = ''
     sourceRoot+=/src
     echo ${nnue}
     cp "${nnue}" "$sourceRoot/${nnueFile}"
   '';
 
-  makeFlags = [ "PREFIX=$(out)" "ARCH=${arch}" ];
+  makeFlags = [ "PREFIX=$(out)" "ARCH=${arch}" "CXX=${stdenv.cc.targetPrefix}c++" ];
   buildFlags = [ "build" ];
 
   enableParallelBuilding = true;
 
-  meta = with lib; {
+  meta = {
     homepage = "https://stockfishchess.org/";
     description = "Strong open source chess engine";
     longDescription = ''
@@ -42,7 +56,7 @@ stdenv.mkDerivation {
       much stronger than the best human chess grandmasters.
       '';
     maintainers = with maintainers; [ luispedro peti ];
-    platforms = ["x86_64-linux" "i686-linux"];
+    platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux"];
     license = licenses.gpl2;
   };
 
diff --git a/pkgs/games/super-tux-kart/default.nix b/pkgs/games/super-tux-kart/default.nix
index 1729e2fc2853f..961842e8701c7 100644
--- a/pkgs/games/super-tux-kart/default.nix
+++ b/pkgs/games/super-tux-kart/default.nix
@@ -1,15 +1,34 @@
-{ lib, stdenv, fetchFromGitHub, fetchsvn, cmake, pkg-config, makeWrapper
-, SDL2, glew, openal, libvorbis, libogg, curl, freetype, bluez, libjpeg, libpng, enet, harfbuzz
-, mcpp, wiiuse, angelscript
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, fetchsvn
+, cmake
+, pkg-config
+, makeWrapper
+, SDL2
+, glew
+, openal
+, libvorbis
+, libogg
+, curl
+, freetype
+, bluez
+, libjpeg
+, libpng
+, enet
+, harfbuzz
+, mcpp
+, wiiuse
+, angelscript
 }:
-
 let
   dir = "stk-code";
   assets = fetchsvn {
-    url    = "https://svn.code.sf.net/p/supertuxkart/code/stk-assets";
-    rev    = "18218";
+    url = "https://svn.code.sf.net/p/supertuxkart/code/stk-assets";
+    rev = "18218";
     sha256 = "11iv3cqzvbjg33zz5i5gkl2syn6mlw9wqv0jc7h36vjnjqjv17xw";
-    name   = "stk-assets";
+    name = "stk-assets";
   };
 
   # List of bundled libraries in stk-code/lib to keep
@@ -36,19 +55,28 @@ let
     # Not packaged to this date
     "sheenbidi"
   ];
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
 
   pname = "supertuxkart";
   version = "1.2";
 
   src = fetchFromGitHub {
-    owner  = "supertuxkart";
-    repo   = "stk-code";
-    rev    = version;
+    owner = "supertuxkart";
+    repo = "stk-code";
+    rev = version;
     sha256 = "1f98whk0v45jgwcsbdsb1qfambvrnbbgwq0w28kjz4278hinwzq6";
-    name   = dir;
+    name = dir;
   };
 
+  patches = [
+    (fetchpatch {
+      # Fix build with SDL 2.0.14
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/games-action/supertuxkart/files/supertuxkart-1.2-new-sdl.patch?id=288360dc7ce2f968a2f12099edeace3f3ed1a705";
+      sha256 = "1jgab9393qan8qbqf5bf8cgw4mynlr5a6pggqhybzsmaczgnns3n";
+    })
+  ];
+
   # Deletes all bundled libs in stk-code/lib except those
   # That couldn't be replaced with system packages
   postPatch = ''
@@ -58,12 +86,25 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkg-config makeWrapper ];
 
   buildInputs = [
-    SDL2 glew openal libvorbis libogg freetype curl bluez libjpeg libpng enet harfbuzz
-    mcpp wiiuse angelscript
+    SDL2
+    glew
+    openal
+    libvorbis
+    libogg
+    freetype
+    curl
+    bluez
+    libjpeg
+    libpng
+    enet
+    harfbuzz
+    mcpp
+    wiiuse
+    angelscript
   ];
 
   cmakeFlags = [
-    "-DBUILD_RECORDER=OFF"         # libopenglrecorder is not in nixpkgs
+    "-DBUILD_RECORDER=OFF" # libopenglrecorder is not in nixpkgs
     "-DUSE_SYSTEM_ANGELSCRIPT=OFF" # doesn't work with 2.31.2 or 2.32.0
     "-DCHECK_ASSETS=OFF"
     "-DUSE_SYSTEM_WIIUSE=ON"
diff --git a/pkgs/games/uchess/default.nix b/pkgs/games/uchess/default.nix
new file mode 100644
index 0000000000000..bc2524466ccb3
--- /dev/null
+++ b/pkgs/games/uchess/default.nix
@@ -0,0 +1,32 @@
+{ lib, buildGoModule, fetchFromGitHub, makeWrapper, stockfish }:
+
+buildGoModule rec {
+  pname = "uchess";
+  version = "0.2.1";
+
+  subPackages = [ "cmd/uchess" ];
+
+  src = fetchFromGitHub {
+    owner = "tmountain";
+    repo = "uchess";
+    rev = "v${version}";
+    sha256 = "1njl3f41gshdpj431zkvpv2b7zmh4m2m5q6xsijb0c0058dk46mz";
+  };
+
+  vendorSha256 = "0dkq240ch1z3gihn8yc5d723nnvfxirk2nhw12r1c2hj1ga088g3";
+
+  # package does not contain any tests as of v0.2.1
+  doCheck = false;
+
+  buildInputs = [ makeWrapper ];
+  postInstall = ''
+    wrapProgram $out/bin/uchess --suffix PATH : ${stockfish}/bin
+  '';
+
+  meta = with lib; {
+    description = "Play chess against UCI engines in your terminal.";
+    homepage = "https://tmountain.github.io/uchess/";
+    maintainers = with maintainers; [ tmountain ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/games/unciv/default.nix b/pkgs/games/unciv/default.nix
index 917cf328e7ed8..0f04ebfe4daf1 100644
--- a/pkgs/games/unciv/default.nix
+++ b/pkgs/games/unciv/default.nix
@@ -25,11 +25,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "unciv";
-  version = "3.12.8";
+  version = "3.12.13-patch1";
 
   src = fetchurl {
     url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar";
-    sha256 = "178lasa6ahwg2s2hamm13yysg42qm13v6a9pgs6nm66np93nskc7";
+    sha256 = "sha256-OwS1rn5mfU6cA6pvpp7Q407Kw2wBGvpqWmqlajgHtCI=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/games/vassal/default.nix b/pkgs/games/vassal/default.nix
index effb999e02c35..2a916094af418 100644
--- a/pkgs/games/vassal/default.nix
+++ b/pkgs/games/vassal/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0xn403fxz6ay5lv8whyfdq611kvxj5q309bj317yw5cxbb08w1yb";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin $out/share/vassal $out/doc
diff --git a/pkgs/games/vitetris/default.nix b/pkgs/games/vitetris/default.nix
index 2b9c77cd46792..99996ca5c324f 100644
--- a/pkgs/games/vitetris/default.nix
+++ b/pkgs/games/vitetris/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vitetris";
-  version = "0.58.0";
+  version = "0.59.1";
 
   src = fetchFromGitHub {
     owner = "vicgeralds";
     repo = "vitetris";
     rev = "v${version}";
-    sha256 = "1fvw9yqg1q25x6dlfi4bl3hrrcdgl6wwq29j89aycxwdfxrxs09w";
+    sha256 = "sha256-Rbfa2hD67RGmInfWwYD4SthL8lm5bGSBi3oudV5hAao=";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/games/wargus/default.nix b/pkgs/games/wargus/default.nix
new file mode 100644
index 0000000000000..fda4f792c7b24
--- /dev/null
+++ b/pkgs/games/wargus/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, lib, callPackage, fetchFromGitHub
+, cmake, pkg-config, makeWrapper
+, zlib, bzip2, libpng
+, dialog, python3, cdparanoia
+}:
+
+let
+  stratagus = callPackage ./stratagus.nix {};
+in
+stdenv.mkDerivation rec {
+  pname = "wargus";
+  inherit (stratagus) version;
+
+  src = fetchFromGitHub {
+    owner = "wargus";
+    repo = "wargus";
+    rev = "v${version}";
+    sha256 = "0dibm68jxaqzgzcyblfj2bmwyz9v5ax0njnnbvak7xjk1zlh11sx";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config makeWrapper ];
+  buildInputs = [ zlib bzip2 libpng ];
+  cmakeFlags = [
+    "-DSTRATAGUS=${stratagus}/games/stratagus"
+    "-DSTRATAGUS_INCLUDE_DIR=${stratagus.src}/gameheaders"
+  ];
+  postInstall = ''
+    makeWrapper $out/games/wargus $out/bin/wargus \
+      --prefix PATH : ${lib.makeBinPath [ "$out" cdparanoia python3 ]}
+  '';
+
+  meta = with lib; {
+    description = "Importer and scripts for Warcraft II: Tides of Darkness, the expansion Beyond the Dark Portal, and Aleonas Tales";
+    homepage = "https://wargus.github.io/";
+    license = licenses.gpl2Only;
+    maintainers = [ maintainers.astro ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/games/wargus/stratagus.nix b/pkgs/games/wargus/stratagus.nix
new file mode 100644
index 0000000000000..f029e284f3367
--- /dev/null
+++ b/pkgs/games/wargus/stratagus.nix
@@ -0,0 +1,35 @@
+{ lib, stdenv, fetchFromGitHub
+, cmake, pkg-config, makeWrapper
+, zlib, bzip2, libpng, lua5_1, toluapp
+, SDL, SDL_mixer, SDL_image, libGL
+}:
+
+stdenv.mkDerivation rec {
+  pname = "stratagus";
+  version = "2.4.3";
+
+  src = fetchFromGitHub {
+    owner = "wargus";
+    repo = "stratagus";
+    rev = "v${version}";
+    sha256 = "128m5n9axq007xi8a002ig7d4dyw8j060542x220ld66ibfprhcn";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs = [
+    zlib bzip2 libpng
+    lua5_1 toluapp
+    SDL.dev SDL_image SDL_mixer libGL
+  ];
+  cmakeFlags = [
+    "-DCMAKE_CXX_FLAGS=-Wno-error=format-overflow"
+  ];
+
+  meta = with lib; {
+    description = "strategy game engine";
+    homepage = "https://wargus.github.io/stratagus.html";
+    license = licenses.gpl2Only;
+    maintainers = [ maintainers.astro ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/games/widelands/default.nix b/pkgs/games/widelands/default.nix
index ba7ce241b8686..8b96dcc04e2ef 100644
--- a/pkgs/games/widelands/default.nix
+++ b/pkgs/games/widelands/default.nix
@@ -5,7 +5,7 @@
 
 stdenv.mkDerivation rec {
   pname = "widelands";
-  version = "20";
+  version = "21";
 
   meta = with lib; {
     description = "RTS with multiple-goods economy";
@@ -26,8 +26,8 @@ stdenv.mkDerivation rec {
   ];
 
   src = fetchurl {
-    url = "https://launchpad.net/widelands/build${version}/build${version}/+download/widelands-build${version}.tar.bz2";
-    sha256 = "1cmwfwk7j6yi2pwmm4rm57s23sdzasqf53nx6567sdagqyc4sn9q";
+    url = "https://launchpad.net/widelands/build${version}/build${version}/+download/widelands-build${version}-source.tar.gz";
+    sha256 = "sha256-YB4OTG+Rs/sOzizRuD7PsCNEobkZT7tw7z9w4GmU41c=";
   };
 
   preConfigure = ''
@@ -45,12 +45,8 @@ stdenv.mkDerivation rec {
     SDL2 SDL2_image SDL2_mixer SDL2_net SDL2_ttf
   ];
 
-  prePatch = ''
-    substituteInPlace ./debian/org.widelands.widelands.desktop --replace "/usr/share/games/widelands/data/" "$out/share/widelands/"
-  '';
-
   postInstall = ''
     mkdir -p "$out/share/applications/"
-    cp -v "../debian/org.widelands.widelands.desktop" "$out/share/applications/"
+    cp -v "../xdg/org.widelands.Widelands.desktop" "$out/share/applications/"
   '';
 }
diff --git a/pkgs/games/zdoom/bcc-git.nix b/pkgs/games/zdoom/bcc-git.nix
index 8716a82fc1053..2e9f1a9c2b91c 100644
--- a/pkgs/games/zdoom/bcc-git.nix
+++ b/pkgs/games/zdoom/bcc-git.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   };
 
   enableParallelBuilding = true;
-  makeFlags = ["CC=cc"];
+  makeFlags = ["CC=${stdenv.cc.targetPrefix}cc"];
 
   patches = [ ./bcc-warning-fix.patch ];
 
diff --git a/pkgs/games/zod/default.nix b/pkgs/games/zod/default.nix
index b07db62aa1570..6c48caf8756aa 100644
--- a/pkgs/games/zod/default.nix
+++ b/pkgs/games/zod/default.nix
@@ -24,7 +24,8 @@ stdenv.mkDerivation {
     sourceRoot=`pwd`/src
   '';
 
-  buildInputs = [ unrar unzip SDL SDL_image SDL_ttf SDL_mixer libmysqlclient makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ unrar unzip SDL SDL_image SDL_ttf SDL_mixer libmysqlclient ];
 
   NIX_LDFLAGS = "-L${libmysqlclient}/lib/mysql";
 
diff --git a/pkgs/misc/base16-builder/node-packages-generated.nix b/pkgs/misc/base16-builder/node-packages-generated.nix
index 7ccb5cab835a1..3c03a5f0c08d6 100644
--- a/pkgs/misc/base16-builder/node-packages-generated.nix
+++ b/pkgs/misc/base16-builder/node-packages-generated.nix
@@ -1,6 +1,6 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
 let
   sources = {
@@ -10,7 +10,7 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz";
-        sha512 = "38s4f3id97wsb0rg9nm9zvxyq0nvwrmrpa5dzvrkp36mf5ibs98b4z6lvsbrwzzs0sbcank6c7gpp06vcwp9acfhp41rzlhi3ybsxwy";
+        sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==";
       };
     };
     "ansi-regex-2.1.1" = {
@@ -46,7 +46,7 @@ let
       version = "1.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz";
-        sha512 = "13mgnbmdhdq0qncijvpip1l39q1a8labcvj3hc3n1yl2zch106mdkn7p7bd5knvmfkkn1js9nd47nzyjk1himbm8ry8i8gd6mk7mlk3";
+        sha512 = "Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==";
       };
     };
     "are-we-there-yet-1.1.5" = {
@@ -55,7 +55,7 @@ let
       version = "1.1.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz";
-        sha512 = "3mizm1yfxynlhaavbimv7n9qljrbhni22v4fch6zr89x6ps0gpjcxm5yfvv05n8vc3r17hmglyswgq9w0s598xv70nnyw358q11s5p6";
+        sha512 = "5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==";
       };
     };
     "argparse-1.0.10" = {
@@ -64,7 +64,7 @@ let
       version = "1.0.10";
       src = fetchurl {
         url = "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz";
-        sha512 = "17fhywmdjcp8g0ys089i5xg26yajkkg9zg8hyry3fghz75b2pq5vdx997dk5p2sc15r9nsj8rmf4f27g81hi92kzj5q86sdmg5ni553";
+        sha512 = "o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==";
       };
     };
     "array-find-index-1.0.2" = {
@@ -100,7 +100,7 @@ let
       version = "1.1.11";
       src = fetchurl {
         url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz";
-        sha512 = "248cnpbbf0p32h53rd3g8wzpgrkaj4p078ra1g6l16f82i6bzkvmhwqan5rk88apbll9ly1476kngd7f7z27i3b3zxpbb3064f8yaw8";
+        sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
       };
     };
     "bulk-replace-0.0.1" = {
@@ -136,7 +136,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz";
-        sha512 = "2mv8dgq8fr86zs5mam6bkp0j241lpb5rbwpq8zc5gkj7f8zir1cd71m0yyy8zy46hvf86b9k7pbhvkz08ii4mhxh14xshkrgik0p14r";
+        sha512 = "mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==";
       };
     };
     "chalk-1.1.3" = {
@@ -154,7 +154,7 @@ let
       version = "1.1.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz";
-        sha512 = "1b03acmav1awkygrda5h64pn8msd6wda119q553hik728i1j72bfqyq7yzn1x7nmw28hvg9mcyh7krsj8vwsq3karnn55mj6smip7cc";
+        sha512 = "jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==";
       };
     };
     "code-point-at-1.1.0" = {
@@ -229,13 +229,13 @@ let
         sha1 = "988df33feab191ef799a61369dd76c17adf957ea";
       };
     };
-    "debug-3.2.6" = {
+    "debug-3.2.7" = {
       name = "debug";
       packageName = "debug";
-      version = "3.2.6";
+      version = "3.2.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz";
-        sha512 = "1cyv14044rfh792n1hhsa44kk8dk95zk14w96i49gwq6g9wi6h9vn90xaragfy7rvggqvj178l5f16c78g47xgrwhjx3bp7zs6pxscr";
+        url = "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz";
+        sha512 = "CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==";
       };
     };
     "decamelize-1.2.0" = {
@@ -253,7 +253,7 @@ let
       version = "0.6.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz";
-        sha512 = "0wc0sqg1aqx864bxf8xa4j8ncrc8rcvmiaj1sp3x1np2i8hdjybzjfd0w9gbf1yasmwycwzzg1mz6smr3q42hhv4pjx2qcgwqhg3q9c";
+        sha512 = "LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==";
       };
     };
     "delegates-1.0.0" = {
@@ -298,7 +298,7 @@ let
       version = "2.7.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz";
-        sha512 = "2ad39acbba96hqbgf714pacri515xjn8jd43bkfb1wwp04vflpjj0qhnnmsq074g7d1kycyj1bmf620s43qb3x74hrfb4ky3v5axygf";
+        sha512 = "7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==";
       };
     };
     "error-ex-1.3.2" = {
@@ -307,7 +307,7 @@ let
       version = "1.3.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz";
-        sha512 = "3igrl2amb9mpa9d2z6qghz3ljqd7amjla8ahfs5fdgl0w52pw6gz3y32q5fk229yvfyg3x9kpfygadcm2w0lv4hv4nj25cyd8v4glgd";
+        sha512 = "7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==";
       };
     };
     "escape-string-regexp-1.0.5" = {
@@ -325,7 +325,7 @@ let
       version = "4.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz";
-        sha512 = "3h999di4dnwxb22lxlb7cbz42nalrv8g8sqdvrkkl5c27gnwhp1rva4039hmq6g1i0y4mfjgx6p4i2vwxxl0zlahfzdd9fl1qbqasvq";
+        sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==";
       };
     };
     "filled-array-1.1.0" = {
@@ -352,7 +352,7 @@ let
       version = "1.2.7";
       src = fetchurl {
         url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz";
-        sha512 = "1644yfnzfqikaff5s68dm4qfrblxrz68ynigkyzyixjqazxlli0svj1nxkawz35sv2vb3vjh41f1rhg0j4nr770a53fzqbjc4j94r0r";
+        sha512 = "GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==";
       };
     };
     "fs-promise-0.3.1" = {
@@ -373,6 +373,15 @@ let
         sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
       };
     };
+    "function-bind-1.1.1" = {
+      name = "function-bind";
+      packageName = "function-bind";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz";
+        sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==";
+      };
+    };
     "gauge-2.7.4" = {
       name = "gauge";
       packageName = "gauge";
@@ -397,7 +406,7 @@ let
       version = "7.1.6";
       src = fetchurl {
         url = "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz";
-        sha512 = "020qv13jbi1v4y5xavf6fw08h9svy4q9p67m4avkrrhgdjmk0c5k3h19bv7k6yn1vfxljpjw9kg81fbdg9v83cjplxvkn3v4v1v21ig";
+        sha512 = "LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==";
       };
     };
     "got-5.7.1" = {
@@ -409,13 +418,22 @@ let
         sha1 = "5f81635a61e4a6589f180569ea4e381680a51f35";
       };
     };
-    "graceful-fs-4.2.3" = {
+    "graceful-fs-4.2.4" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.3";
+      version = "4.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz";
-        sha512 = "12xdl6ai5jdxcpcavw2hk4zpiknz7g7f2cvgawzwlzv7cy7qf7riq8ymkgqdqxjkpl1mg627dxa65zc9b0yqhflsmqlfg5q3481azbb";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz";
+        sha512 = "WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==";
+      };
+    };
+    "has-1.0.3" = {
+      name = "has";
+      packageName = "has";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has/-/has-1.0.3.tgz";
+        sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==";
       };
     };
     "has-ansi-2.0.0" = {
@@ -436,13 +454,13 @@ let
         sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9";
       };
     };
-    "hepburn-1.1.1" = {
+    "hepburn-1.2.0" = {
       name = "hepburn";
       packageName = "hepburn";
-      version = "1.1.1";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hepburn/-/hepburn-1.1.1.tgz";
-        sha512 = "3vc0v8438m2a8yw40nfhqw4ldddxkzjsimpq24c9la9ik0mnr5g8wbhnxpvlf1j39m2x5fin2d82kzjdpzf22shb0wfkpadqacdjk9s";
+        url = "https://registry.npmjs.org/hepburn/-/hepburn-1.2.0.tgz";
+        sha512 = "xWjHb03dN/ivNcqG2vqA//sHQ0oapYGZ9QV/2TR7m2+cggxzoVpbDxZn9s/Zm1tF88/7a1IpdZyn00tNP5oABA==";
       };
     };
     "hosted-git-info-2.8.8" = {
@@ -451,7 +469,7 @@ let
       version = "2.8.8";
       src = fetchurl {
         url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz";
-        sha512 = "19a25b4xb3hg00d1nsirc3xfcc07rplbh6msa49rgc8xg5rg38y1z8rfrf0dmll8k4jaml8z337bi6y2cgah66jnwxinn0sch5k7z3z";
+        sha512 = "f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==";
       };
     };
     "iconv-lite-0.4.24" = {
@@ -460,7 +478,7 @@ let
       version = "0.4.24";
       src = fetchurl {
         url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz";
-        sha512 = "2n3ygx6km56rdcd5kq52bs2113xqm3vlw2kb9r7pnmxd2qhxrfahp2ngc4w7x8x76fyfpapnixnbjq1i24nc11mj6q7rghwj2fifwxz";
+        sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==";
       };
     };
     "ignore-walk-3.0.3" = {
@@ -469,7 +487,7 @@ let
       version = "3.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz";
-        sha512 = "0mlk9s23jc3avly1bv6s5j7hs0aafxabmgn7iqi0bjag4b03nqckvcdrgnarpmysdq8yr1rgxh6k7p82vzjj1z6hnm5ckwswg33mflv";
+        sha512 = "m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==";
       };
     };
     "imurmurhash-0.1.4" = {
@@ -505,16 +523,16 @@ let
       version = "2.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz";
-        sha512 = "30rw2i1k63pbf0n5dbwly05h95cdp1kj8c9r15gv1cwha141g61k56fx4qwsvhpm1ksnf7agch1wxirs3s0m31wbfvmcqizgrlwdywk";
+        sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==";
       };
     };
-    "ini-1.3.5" = {
+    "ini-1.3.8" = {
       name = "ini";
       packageName = "ini";
-      version = "1.3.5";
+      version = "1.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz";
-        sha512 = "1rjbvf1rg5ywhnba08sgagn2qf23lab330qrqmh7d891zap3xpxcyfyj1cblpf0f0rypglcfacybzyrpd4996aa1mbc820awa33k5j5";
+        url = "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz";
+        sha512 = "JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==";
       };
     };
     "is-arrayish-0.2.1" = {
@@ -526,13 +544,22 @@ let
         sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
       };
     };
+    "is-core-module-2.2.0" = {
+      name = "is-core-module";
+      packageName = "is-core-module";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz";
+        sha512 = "XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==";
+      };
+    };
     "is-finite-1.1.0" = {
       name = "is-finite";
       packageName = "is-finite";
       version = "1.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz";
-        sha512 = "3gj0k3vlpbc7zg5xkl8yjnilqs2dmk3ks67shchrfmnzkj6r4aad994xwfczx99ccjx6cixdqg4sawk2m92lqhh6jmfl17zlnv8rp3i";
+        sha512 = "cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==";
       };
     };
     "is-fullwidth-code-point-1.0.0" = {
@@ -577,7 +604,7 @@ let
       version = "1.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz";
-        sha512 = "134jdgzg4p15g5jvwsmb0bmglmymn1pyk6r2w8q1fm728f15l7k12sqmfngn0mg3vs34gzg12v684fp9c99l6jnv737b6rgmiwd8ij5";
+        sha512 = "RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==";
       };
     };
     "is-stream-1.1.0" = {
@@ -607,13 +634,13 @@ let
         sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
       };
     };
-    "js-yaml-3.13.1" = {
+    "js-yaml-3.14.1" = {
       name = "js-yaml";
       packageName = "js-yaml";
-      version = "3.13.1";
+      version = "3.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz";
-        sha512 = "0kkjjrr0znm2ka89ywc5518c8dw0210z91fm94c7v11l8c96mkjh0ddld5mb7jmmnpzap7vn0fhvr29lma63c9is2ixq3fpp0xxrxk1";
+        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz";
+        sha512 = "okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==";
       };
     };
     "keypress-0.1.0" = {
@@ -640,7 +667,7 @@ let
       version = "1.7.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/limax/-/limax-1.7.0.tgz";
-        sha512 = "1y0l6pib2v3nrpa6n9axb2mmjd5s50a2kqbvm7jp2zhr7dpdz0ym73kvi7h1g9i9fw6jqaiwxkas7av1fn7qjk2rgmrnkwpag50ddw9";
+        sha512 = "ibcGylOXT5vry2JKfKwLWx2tZudRYWm4SzG9AE/cc5zqwW+3nQy/uPLUvfAUChRdmqxVrK6SNepmO7ZY8RoKfA==";
       };
     };
     "load-json-file-1.1.0" = {
@@ -667,7 +694,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz";
-        sha512 = "1a7qa1zn5zl1nf7i6w3299lc3biabfb0w2c30cl770l2dbldvi72nwvjdlinhx7j0ldip82sj710aprdjbmbg782i2pa3jpbgmy6qhv";
+        sha512 = "G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==";
       };
     };
     "map-obj-1.0.1" = {
@@ -694,16 +721,7 @@ let
       version = "3.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
-        sha512 = "1879a3j85h92ypvb7lpv1dqpcxl49rqnbgs5la18zmj1yqhwl60c2m74254wbr5pp3znckqpkg9dvjyrz6hfz8b9vag5a3j910db4f8";
-      };
-    };
-    "minimist-0.0.8" = {
-      name = "minimist";
-      packageName = "minimist";
-      version = "0.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
-        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+        sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
       };
     };
     "minimist-1.2.5" = {
@@ -712,7 +730,7 @@ let
       version = "1.2.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz";
-        sha512 = "0pif0kjsr0cdm73cyicn9xdx9zkly45w4akmyfa39lkaf6lzysfr8kr145p54wjk26pbsk0w0qfdds3k4bxy4wl5l210i1b8qsngkql";
+        sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==";
       };
     };
     "minipass-2.9.0" = {
@@ -721,7 +739,7 @@ let
       version = "2.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz";
-        sha512 = "1x0k2ycn1r5fig2zy7jj5vjsc7sxdl2a8lidvzsfyhcbrmvyvlbkmb3ga6l8njclvhjz2yrcx57jn26bckzrms017zb2yan1y7d85y3";
+        sha512 = "wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==";
       };
     };
     "minizlib-1.3.3" = {
@@ -730,43 +748,43 @@ let
       version = "1.3.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz";
-        sha512 = "3slcgy5kqasjl8k1n2indaaw0k6j2ipapzxrcqyy2zrwpv8z9w2im5i8c2c73pqdgkd31rwf5bajgv4pm2i6m9jg51cfmp694w0r5p9";
+        sha512 = "6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==";
       };
     };
-    "mkdirp-0.5.1" = {
+    "mkdirp-0.5.5" = {
       name = "mkdirp";
       packageName = "mkdirp";
-      version = "0.5.1";
+      version = "0.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
-        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz";
+        sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==";
       };
     };
-    "ms-2.1.2" = {
+    "ms-2.1.3" = {
       name = "ms";
       packageName = "ms";
-      version = "2.1.2";
+      version = "2.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz";
-        sha512 = "3dqfiiw6nxvvi24fndbzlccnjcas99bsd1kz5m2r78lzgpp6vx57jzbmxq3k1m7bsw88rwra0n4848l720fxxn5x20djck3wp3hysdh";
+        url = "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz";
+        sha512 = "6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==";
       };
     };
-    "nan-2.14.0" = {
-      name = "nan";
-      packageName = "nan";
-      version = "2.14.0";
+    "needle-2.6.0" = {
+      name = "needle";
+      packageName = "needle";
+      version = "2.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz";
-        sha512 = "115f4m91pjscflwskc29clsspd2z02gdbz0dbj63ja8bf67nraw14gvppl4872y9z2f5vbjlkpg1i4625zvalx3gp04vvn2gs7qblr0";
+        url = "https://registry.npmjs.org/needle/-/needle-2.6.0.tgz";
+        sha512 = "KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg==";
       };
     };
-    "needle-2.4.0" = {
-      name = "needle";
-      packageName = "needle";
-      version = "2.4.0";
+    "node-addon-api-3.1.0" = {
+      name = "node-addon-api";
+      packageName = "node-addon-api";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/needle/-/needle-2.4.0.tgz";
-        sha512 = "1k9220dhvc3m78hzd1xh2135p19z15y964hmhsajayvj11j2p3rv5w0gii7lmgr8w57bqkjg0xby5f1gkcph60kxvyr52z6pp7g0yg0";
+        url = "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.1.0.tgz";
+        sha512 = "flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw==";
       };
     };
     "node-pre-gyp-0.14.0" = {
@@ -775,7 +793,7 @@ let
       version = "0.14.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz";
-        sha512 = "32drv6q9sh4i2ff2djd1dhxxxiaiymmgycbm12wpkz9vxspnldxgmppf9sazp3c72771a1p5s4kkzgwn4w1csyz9bn4zdbdnq5w6azq";
+        sha512 = "+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==";
       };
     };
     "node-status-codes-1.0.0" = {
@@ -787,13 +805,13 @@ let
         sha1 = "5ae5541d024645d32a58fcddc9ceecea7ae3ac2f";
       };
     };
-    "nodejieba-2.4.1" = {
+    "nodejieba-2.5.1" = {
       name = "nodejieba";
       packageName = "nodejieba";
-      version = "2.4.1";
+      version = "2.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nodejieba/-/nodejieba-2.4.1.tgz";
-        sha512 = "2w90xh2sxyp6mkyr4jp6pp72q6vv95ly3a12fzyfv5rc0xinivplz98vnpb8fx92pdxf9aj7wavl9qcl1kl6rva0s1vdrcfhsb5a6bz";
+        url = "https://registry.npmjs.org/nodejieba/-/nodejieba-2.5.1.tgz";
+        sha512 = "VnJBQSl2G8swDf3ZAXMbXrMCrGFO+kVKbkB93OaBthGbEG5BrxfD8I2m7auaRX8E5C1t+hlwo3HCmQOWKkiZ9A==";
       };
     };
     "nopt-4.0.3" = {
@@ -802,7 +820,7 @@ let
       version = "4.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz";
-        sha512 = "0mb9va0ag1n8v5c2lhza37prcw4iyrmbw5n6yglk1kcg95xwqi9ng5dqwr17h63sl5dba2rnwwrzz7dnfvkx5z75h4j7d9kag0qdxha";
+        sha512 = "CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==";
       };
     };
     "normalize-package-data-2.5.0" = {
@@ -811,7 +829,7 @@ let
       version = "2.5.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz";
-        sha512 = "1wbwhlsm965n61y23wrm50ric9l7rig90wvx7hjdl34np6n1bbqcc67wgm494z303s6y5aj4xjyism3n6kikp40iz9qaizlfhvqr47z";
+        sha512 = "/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==";
       };
     };
     "npm-bundled-1.1.1" = {
@@ -820,7 +838,7 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz";
-        sha512 = "1yb9l8jnxwicz0fsdv434y395b0x11mlc1mgbbhnx21pvs58a4p43f0swvi6q0rakdgzdiyf0yylnmb3i41hb052903m1cgcy01zac2";
+        sha512 = "gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==";
       };
     };
     "npm-normalize-package-bin-1.0.1" = {
@@ -829,7 +847,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz";
-        sha512 = "149ypqf1mxqw0gcjr4xf4h65q6vx41z1abm27cwbsj7fn07wsx588f9gsykjzfybwrn4mmr6lyaj825w3yyhbgaagmrybw9brzdmxqh";
+        sha512 = "EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==";
       };
     };
     "npm-packlist-1.4.8" = {
@@ -838,7 +856,7 @@ let
       version = "1.4.8";
       src = fetchurl {
         url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz";
-        sha512 = "3s585jx92awjb52bs1jwq8r4swv8mgfl685if5wwpbsigwb362adizzpi58a5kgqfpf605mf6a0v7074mc9qpcn2ypqgr7f1a1ikq77";
+        sha512 = "5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==";
       };
     };
     "npmlog-4.1.2" = {
@@ -847,7 +865,7 @@ let
       version = "4.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz";
-        sha512 = "2967mavp7zw0aawf5fadqf4pmn7vy5gya1yx2s9wwppvivhd9q4mpdnszfqvd7p6yks649bwbpj8iviw86g0hpp4f93d5ca7dmjmrfs";
+        sha512 = "2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==";
       };
     };
     "number-is-nan-1.0.1" = {
@@ -910,7 +928,7 @@ let
       version = "0.1.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz";
-        sha512 = "3ddw0y41pxv08ls5xhmq1bi81hppjbr45k78cjfx99vznh5znrj5g1b1wab9caj1mqlsvmfms0zm9cfb47ygm0d8wv5fccx8049q9fh";
+        sha512 = "0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==";
       };
     };
     "package-json-2.4.0" = {
@@ -955,7 +973,7 @@ let
       version = "1.0.6";
       src = fetchurl {
         url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz";
-        sha512 = "37qw5986wccpwwqckqky509s4nd6zwv200s9r2v6mcf5nsyxgf2x00m4yp918mkkz84sdh4q0kjbg0hhfq4flpz0l6v47hvc57qwa8r";
+        sha512 = "GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==";
       };
     };
     "path-type-1.1.0" = {
@@ -994,13 +1012,13 @@ let
         sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
       };
     };
-    "pinyin-2.9.0" = {
+    "pinyin-2.9.1" = {
       name = "pinyin";
       packageName = "pinyin";
-      version = "2.9.0";
+      version = "2.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pinyin/-/pinyin-2.9.0.tgz";
-        sha512 = "3fjgppnlcvcbx314q2q32amxyvda5xzj8bgi7s131n15r8wwi94w5bnb7q2lbgag0qc4d5fhg0a14ipwvh0j7si1fmndmw4dgxi15jd";
+        url = "https://registry.npmjs.org/pinyin/-/pinyin-2.9.1.tgz";
+        sha512 = "U7kHlVP6yUYl2DV2bX4brlYWdgaAlwtqJrdkboiyri9ixRDVqVO3LD98te3PT5deN5EA9W8ywuG9GaYZfiiIlw==";
       };
     };
     "prepend-http-1.0.4" = {
@@ -1018,7 +1036,7 @@ let
       version = "2.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
-        sha512 = "1mgan8li4i2l4y7lsr7snks85n6xg5x693cqmzpid3fkk9br7v5xzgvh1zlfs08zkxn6s0n6qhykr64mszjfyxd77dhmdi1jhx992yy";
+        sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
       };
     };
     "rc-1.2.8" = {
@@ -1027,7 +1045,7 @@ let
       version = "1.2.8";
       src = fetchurl {
         url = "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz";
-        sha512 = "0xhy1n9n3y6cp28f8f0f2mi0xzc7ay1g5nhbp64fyvcwv9q30zq2zvyc5q2d0al8aa0hx101yq2y6d2ln4r5jxnqifh1pd3la1ccxnb";
+        sha512 = "y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==";
       };
     };
     "read-all-stream-3.1.0" = {
@@ -1063,7 +1081,7 @@ let
       version = "2.3.7";
       src = fetchurl {
         url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz";
-        sha512 = "0zrh6gjjzwwycwydra51xcrgjgzyqv6dq38bfpwzmlqn702mwb4nj4sjjn499rycqndfk6rby0dksnq72x8pcbvqv0b2893mvq6if0i";
+        sha512 = "Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==";
       };
     };
     "redent-1.0.0" = {
@@ -1081,7 +1099,7 @@ let
       version = "3.4.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz";
-        sha512 = "3w8zjx5s044i7wr9bqqgjfkjawg0cajc9j9gmzkqs0i420algjvkd5k27j9pvhx1yq7nvdchsl96zcyjf64n14765q0f18y1wbkmcz0";
+        sha512 = "4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==";
       };
     };
     "registry-url-3.1.0" = {
@@ -1102,13 +1120,13 @@ let
         sha1 = "5214c53a926d3552707527fbab415dbc08d06dda";
       };
     };
-    "resolve-1.15.1" = {
+    "resolve-1.19.0" = {
       name = "resolve";
       packageName = "resolve";
-      version = "1.15.1";
+      version = "1.19.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz";
-        sha512 = "3pr5zjp8nh6qfllxnpqx531srx1igzdm28j4zg1y53yzc8qxp16yx01pw8cp7y4frla90gnpv622d6bi6aayi03iqlkb8gdjklji2pk";
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz";
+        sha512 = "rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==";
       };
     };
     "rimraf-2.7.1" = {
@@ -1117,7 +1135,7 @@ let
       version = "2.7.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz";
-        sha512 = "3ixwnv4h7x38jd12vyzhx6m6adnfhz1zv881allalyqs8sy3q3zgwldngk4cqslnn2d46l0g91yz8wprmzcsvas9573vp8al9ldns5r";
+        sha512 = "uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==";
       };
     };
     "safe-buffer-5.1.2" = {
@@ -1126,7 +1144,7 @@ let
       version = "5.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz";
-        sha512 = "3xbm0dkya4bc3zwfwpdzbl8ngq0aai5ihlp2v3s39y7162c7wyvv9izj3g8hv6dy6vm2lq48lmfzygk0kxwbjb6xic7k4a329j99p8r";
+        sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
       };
     };
     "safer-buffer-2.1.2" = {
@@ -1135,7 +1153,7 @@ let
       version = "2.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
-        sha512 = "2v99f22kh56y72d3s8wrgdvf5n10ry40dh3fwnsxr4d5rfvxdfxfmc3qyqkscnj4f8799jy9bpg6cm21x2d811dr9ib83wjrlmkg6k1";
+        sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
       };
     };
     "sax-1.2.4" = {
@@ -1144,7 +1162,7 @@ let
       version = "1.2.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz";
-        sha512 = "1dn291mjsda42w8kldlbmngk6dhjxfbvvd5lckyqmwbjaj6069iq3wx0nvcfglwnpddz2qa93lzf4hv77iz43bd2qixa079sjzl799n";
+        sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==";
       };
     };
     "semver-5.7.1" = {
@@ -1153,7 +1171,7 @@ let
       version = "5.7.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz";
-        sha512 = "0cl68vp0ymkjpvim4s24v3awyk37d1bfbqrqv4ybwfi8yxga3d8fma2d6bh8dd4i2dsfwca324vaxm5dms61kdlmihdarfgzw6rmaxi";
+        sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==";
       };
     };
     "semver-diff-2.1.0" = {
@@ -1174,13 +1192,13 @@ let
         sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
       };
     };
-    "signal-exit-3.0.2" = {
+    "signal-exit-3.0.3" = {
       name = "signal-exit";
       packageName = "signal-exit";
-      version = "3.0.2";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz";
-        sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
+        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz";
+        sha512 = "VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==";
       };
     };
     "slide-1.1.6" = {
@@ -1192,40 +1210,40 @@ let
         sha1 = "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707";
       };
     };
-    "spdx-correct-3.1.0" = {
+    "spdx-correct-3.1.1" = {
       name = "spdx-correct";
       packageName = "spdx-correct";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz";
-        sha512 = "3qslnh3c2x2g8lar94rladm2rz692d5ds1bp1cpl223jf67jnazl9ipy4n17n7vqvgwimij36gz740nfqr5pyxq8x6n02rd4xj89gcn";
+        url = "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz";
+        sha512 = "cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==";
       };
     };
-    "spdx-exceptions-2.2.0" = {
+    "spdx-exceptions-2.3.0" = {
       name = "spdx-exceptions";
       packageName = "spdx-exceptions";
-      version = "2.2.0";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz";
-        sha512 = "12c442riig2hk7014ahh40chwirmmsl9dr4cnm2dr2bdbv1lnal8xxwsfx403pqkx7ib06gm2hyyd98kn30kxanjm92yai5y44h0x6r";
+        url = "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz";
+        sha512 = "/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==";
       };
     };
-    "spdx-expression-parse-3.0.0" = {
+    "spdx-expression-parse-3.0.1" = {
       name = "spdx-expression-parse";
       packageName = "spdx-expression-parse";
-      version = "3.0.0";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz";
-        sha512 = "351djgqvsgqmfg6h764c2k09dmixczw5073jirm8km6i1yym4xjrzc7g5ckwkidi3gls7s910m4ahl8sh37dsb478j8j3sigbfq63k2";
+        url = "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz";
+        sha512 = "cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==";
       };
     };
-    "spdx-license-ids-3.0.5" = {
+    "spdx-license-ids-3.0.7" = {
       name = "spdx-license-ids";
       packageName = "spdx-license-ids";
-      version = "3.0.5";
+      version = "3.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz";
-        sha512 = "3sk6sk6r05ikn5qslbh04h54mv4a34wn4d76s800h94padnjydfvvq73ij6jh81yrigspyr50ay878jjwpj2mcq38br371jkb6mdq97";
+        url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz";
+        sha512 = "U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==";
       };
     };
     "speakingurl-14.0.1" = {
@@ -1234,7 +1252,7 @@ let
       version = "14.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz";
-        sha512 = "2nmh1645i59b0ij75rjrps837iipz5m67bwbv5hfn34wjcvzwsrysvdwd1ykdbd1njwazh8prbqsm0dm4lh8sb1r3l0bnmgpfzriwyl";
+        sha512 = "1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==";
       };
     };
     "sprintf-js-1.0.3" = {
@@ -1261,7 +1279,7 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz";
-        sha512 = "315yd4vzwrwk3vwj1klf46y1cj2jbvf88066y2rnwhksb98phj46jkxixbwsp3h607w7czy7cby522s7sx8mvspdpdm3s72y2ga3x4z";
+        sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==";
       };
     };
     "strip-ansi-3.0.1" = {
@@ -1315,7 +1333,7 @@ let
       version = "4.4.13";
       src = fetchurl {
         url = "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz";
-        sha512 = "10gwhmgx7fh619zv48r2lnm42qr7rw4qa9ph7142rizcn8in9dpi49jbmmv8ism60rcg1a7b4103r598jngi1rcn50sw7b8n1570rf3";
+        sha512 = "w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==";
       };
     };
     "timed-out-3.1.3" = {
@@ -1387,7 +1405,7 @@ let
       version = "3.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz";
-        sha512 = "09vn7gn5jp2c07pxplc11lvk7ybfaz0rp3qzflyiyhnahkfgh76bij31ll5rg01ranlmljrky2q25d1f6bbd0h23pzxxi5z93csd4hf";
+        sha512 = "DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==";
       };
     };
     "wide-align-1.1.3" = {
@@ -1396,7 +1414,7 @@ let
       version = "1.1.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz";
-        sha512 = "2224a32flpf40nhq6rj4idzkcdz0vx65bfxp90hd06db18l6fiqgxz1xnaygm3pbfb1a6v73hl8ryq4996b09zwwins0bqprx0hwsa0";
+        sha512 = "QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==";
       };
     };
     "widest-line-1.0.0" = {
@@ -1441,7 +1459,7 @@ let
       version = "3.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz";
-        sha512 = "3ig31a6zfbdlrs3l77a8avpp17hajryhyq2xk4h3ayc4dmxch146rdk7q1s1jgx9qvmxq125r0xq2bvnq0rq63m75k9y7wglm0hd1bb";
+        sha512 = "a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==";
       };
     };
   };
@@ -1481,7 +1499,7 @@ in
       sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
       sources."currently-unhandled-0.4.1"
-      sources."debug-3.2.6"
+      sources."debug-3.2.7"
       sources."decamelize-1.2.0"
       sources."deep-extend-0.6.0"
       sources."delegates-1.0.0"
@@ -1497,14 +1515,16 @@ in
       sources."fs-minipass-1.2.7"
       sources."fs-promise-0.3.1"
       sources."fs.realpath-1.0.0"
+      sources."function-bind-1.1.1"
       sources."gauge-2.7.4"
       sources."get-stdin-4.0.1"
       sources."glob-7.1.6"
       sources."got-5.7.1"
-      sources."graceful-fs-4.2.3"
+      sources."graceful-fs-4.2.4"
+      sources."has-1.0.3"
       sources."has-ansi-2.0.0"
       sources."has-unicode-2.0.1"
-      sources."hepburn-1.1.1"
+      sources."hepburn-1.2.0"
       sources."hosted-git-info-2.8.8"
       sources."iconv-lite-0.4.24"
       sources."ignore-walk-3.0.3"
@@ -1512,8 +1532,9 @@ in
       sources."indent-string-2.1.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."ini-1.3.5"
+      sources."ini-1.3.8"
       sources."is-arrayish-0.2.1"
+      sources."is-core-module-2.2.0"
       sources."is-finite-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-npm-1.0.0"
@@ -1523,7 +1544,7 @@ in
       sources."is-stream-1.1.0"
       sources."is-utf8-0.2.1"
       sources."isarray-1.0.0"
-      sources."js-yaml-3.13.1"
+      sources."js-yaml-3.14.1"
       sources."keypress-0.1.0"
       sources."latest-version-2.0.0"
       sources."limax-1.7.0"
@@ -1531,22 +1552,18 @@ in
       sources."loud-rejection-1.6.0"
       sources."lowercase-keys-1.0.1"
       sources."map-obj-1.0.1"
-      (sources."meow-3.7.0" // {
-        dependencies = [
-          sources."minimist-1.2.5"
-        ];
-      })
+      sources."meow-3.7.0"
       sources."minimatch-3.0.4"
-      sources."minimist-0.0.8"
+      sources."minimist-1.2.5"
       sources."minipass-2.9.0"
       sources."minizlib-1.3.3"
-      sources."mkdirp-0.5.1"
-      sources."ms-2.1.2"
-      sources."nan-2.14.0"
-      sources."needle-2.4.0"
+      sources."mkdirp-0.5.5"
+      sources."ms-2.1.3"
+      sources."needle-2.6.0"
+      sources."node-addon-api-3.1.0"
       sources."node-pre-gyp-0.14.0"
       sources."node-status-codes-1.0.0"
-      sources."nodejieba-2.4.1"
+      sources."nodejieba-2.5.1"
       sources."nopt-4.0.3"
       sources."normalize-package-data-2.5.0"
       sources."npm-bundled-1.1.1"
@@ -1569,14 +1586,10 @@ in
       sources."pify-2.3.0"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
-      sources."pinyin-2.9.0"
+      sources."pinyin-2.9.1"
       sources."prepend-http-1.0.4"
       sources."process-nextick-args-2.0.1"
-      (sources."rc-1.2.8" // {
-        dependencies = [
-          sources."minimist-1.2.5"
-        ];
-      })
+      sources."rc-1.2.8"
       sources."read-all-stream-3.1.0"
       sources."read-pkg-1.1.0"
       sources."read-pkg-up-1.0.1"
@@ -1585,7 +1598,7 @@ in
       sources."registry-auth-token-3.4.0"
       sources."registry-url-3.1.0"
       sources."repeating-2.0.1"
-      sources."resolve-1.15.1"
+      sources."resolve-1.19.0"
       sources."rimraf-2.7.1"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
@@ -1593,12 +1606,12 @@ in
       sources."semver-5.7.1"
       sources."semver-diff-2.1.0"
       sources."set-blocking-2.0.0"
-      sources."signal-exit-3.0.2"
+      sources."signal-exit-3.0.3"
       sources."slide-1.1.6"
-      sources."spdx-correct-3.1.0"
-      sources."spdx-exceptions-2.2.0"
-      sources."spdx-expression-parse-3.0.0"
-      sources."spdx-license-ids-3.0.5"
+      sources."spdx-correct-3.1.1"
+      sources."spdx-exceptions-2.3.0"
+      sources."spdx-expression-parse-3.0.1"
+      sources."spdx-license-ids-3.0.7"
       sources."speakingurl-14.0.1"
       sources."sprintf-js-1.0.3"
       sources."string-width-1.0.2"
diff --git a/pkgs/misc/base16-builder/node-packages.nix b/pkgs/misc/base16-builder/node-packages.nix
index e66b6756ffb0f..79748949ff727 100644
--- a/pkgs/misc/base16-builder/node-packages.nix
+++ b/pkgs/misc/base16-builder/node-packages.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
@@ -7,15 +7,15 @@
 let
   globalBuildInputs = pkgs.lib.attrValues (import ./supplement.nix {
     inherit nodeEnv;
-    inherit (pkgs) fetchurl fetchgit;
+    inherit (pkgs) stdenv lib nix-gitignore fetchurl fetchgit;
   });
   nodeEnv = import ../../development/node-packages/node-env.nix {
-    inherit (pkgs) lib stdenv python2 util-linux runCommand writeTextFile;
-    inherit nodejs;
+    inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
+    inherit pkgs nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
 import ./node-packages-generated.nix {
-  inherit (pkgs) fetchurl fetchgit;
+  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
   inherit nodeEnv globalBuildInputs;
 }
diff --git a/pkgs/misc/base16-builder/supplement.nix b/pkgs/misc/base16-builder/supplement.nix
index 3d4c43d5e7092..104cda58dc0a3 100644
--- a/pkgs/misc/base16-builder/supplement.nix
+++ b/pkgs/misc/base16-builder/supplement.nix
@@ -1,6 +1,6 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
 let
   sources = {
@@ -10,7 +10,7 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz";
-        sha512 = "38s4f3id97wsb0rg9nm9zvxyq0nvwrmrpa5dzvrkp36mf5ibs98b4z6lvsbrwzzs0sbcank6c7gpp06vcwp9acfhp41rzlhi3ybsxwy";
+        sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==";
       };
     };
     "ansi-regex-2.1.1" = {
@@ -28,7 +28,7 @@ let
       version = "1.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz";
-        sha512 = "13mgnbmdhdq0qncijvpip1l39q1a8labcvj3hc3n1yl2zch106mdkn7p7bd5knvmfkkn1js9nd47nzyjk1himbm8ry8i8gd6mk7mlk3";
+        sha512 = "Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==";
       };
     };
     "are-we-there-yet-1.1.5" = {
@@ -37,7 +37,7 @@ let
       version = "1.1.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz";
-        sha512 = "3mizm1yfxynlhaavbimv7n9qljrbhni22v4fch6zr89x6ps0gpjcxm5yfvv05n8vc3r17hmglyswgq9w0s598xv70nnyw358q11s5p6";
+        sha512 = "5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==";
       };
     };
     "balanced-match-1.0.0" = {
@@ -55,7 +55,7 @@ let
       version = "1.1.11";
       src = fetchurl {
         url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz";
-        sha512 = "248cnpbbf0p32h53rd3g8wzpgrkaj4p078ra1g6l16f82i6bzkvmhwqan5rk88apbll9ly1476kngd7f7z27i3b3zxpbb3064f8yaw8";
+        sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
       };
     };
     "chownr-1.1.4" = {
@@ -64,7 +64,7 @@ let
       version = "1.1.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz";
-        sha512 = "1b03acmav1awkygrda5h64pn8msd6wda119q553hik728i1j72bfqyq7yzn1x7nmw28hvg9mcyh7krsj8vwsq3karnn55mj6smip7cc";
+        sha512 = "jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==";
       };
     };
     "code-point-at-1.1.0" = {
@@ -103,13 +103,13 @@ let
         sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
       };
     };
-    "debug-3.2.6" = {
+    "debug-3.2.7" = {
       name = "debug";
       packageName = "debug";
-      version = "3.2.6";
+      version = "3.2.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz";
-        sha512 = "1cyv14044rfh792n1hhsa44kk8dk95zk14w96i49gwq6g9wi6h9vn90xaragfy7rvggqvj178l5f16c78g47xgrwhjx3bp7zs6pxscr";
+        url = "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz";
+        sha512 = "CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==";
       };
     };
     "deep-extend-0.6.0" = {
@@ -118,7 +118,7 @@ let
       version = "0.6.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz";
-        sha512 = "0wc0sqg1aqx864bxf8xa4j8ncrc8rcvmiaj1sp3x1np2i8hdjybzjfd0w9gbf1yasmwycwzzg1mz6smr3q42hhv4pjx2qcgwqhg3q9c";
+        sha512 = "LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==";
       };
     };
     "delegates-1.0.0" = {
@@ -145,7 +145,7 @@ let
       version = "1.2.7";
       src = fetchurl {
         url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz";
-        sha512 = "1644yfnzfqikaff5s68dm4qfrblxrz68ynigkyzyixjqazxlli0svj1nxkawz35sv2vb3vjh41f1rhg0j4nr770a53fzqbjc4j94r0r";
+        sha512 = "GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==";
       };
     };
     "fs.realpath-1.0.0" = {
@@ -172,7 +172,7 @@ let
       version = "7.1.6";
       src = fetchurl {
         url = "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz";
-        sha512 = "020qv13jbi1v4y5xavf6fw08h9svy4q9p67m4avkrrhgdjmk0c5k3h19bv7k6yn1vfxljpjw9kg81fbdg9v83cjplxvkn3v4v1v21ig";
+        sha512 = "LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==";
       };
     };
     "has-unicode-2.0.1" = {
@@ -190,7 +190,7 @@ let
       version = "0.4.24";
       src = fetchurl {
         url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz";
-        sha512 = "2n3ygx6km56rdcd5kq52bs2113xqm3vlw2kb9r7pnmxd2qhxrfahp2ngc4w7x8x76fyfpapnixnbjq1i24nc11mj6q7rghwj2fifwxz";
+        sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==";
       };
     };
     "ignore-walk-3.0.3" = {
@@ -199,7 +199,7 @@ let
       version = "3.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz";
-        sha512 = "0mlk9s23jc3avly1bv6s5j7hs0aafxabmgn7iqi0bjag4b03nqckvcdrgnarpmysdq8yr1rgxh6k7p82vzjj1z6hnm5ckwswg33mflv";
+        sha512 = "m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==";
       };
     };
     "inflight-1.0.6" = {
@@ -217,16 +217,16 @@ let
       version = "2.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz";
-        sha512 = "30rw2i1k63pbf0n5dbwly05h95cdp1kj8c9r15gv1cwha141g61k56fx4qwsvhpm1ksnf7agch1wxirs3s0m31wbfvmcqizgrlwdywk";
+        sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==";
       };
     };
-    "ini-1.3.5" = {
+    "ini-1.3.8" = {
       name = "ini";
       packageName = "ini";
-      version = "1.3.5";
+      version = "1.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz";
-        sha512 = "1rjbvf1rg5ywhnba08sgagn2qf23lab330qrqmh7d891zap3xpxcyfyj1cblpf0f0rypglcfacybzyrpd4996aa1mbc820awa33k5j5";
+        url = "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz";
+        sha512 = "JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==";
       };
     };
     "is-fullwidth-code-point-1.0.0" = {
@@ -253,16 +253,7 @@ let
       version = "3.0.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
-        sha512 = "1879a3j85h92ypvb7lpv1dqpcxl49rqnbgs5la18zmj1yqhwl60c2m74254wbr5pp3znckqpkg9dvjyrz6hfz8b9vag5a3j910db4f8";
-      };
-    };
-    "minimist-0.0.8" = {
-      name = "minimist";
-      packageName = "minimist";
-      version = "0.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
-        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+        sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
       };
     };
     "minimist-1.2.5" = {
@@ -271,7 +262,7 @@ let
       version = "1.2.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz";
-        sha512 = "0pif0kjsr0cdm73cyicn9xdx9zkly45w4akmyfa39lkaf6lzysfr8kr145p54wjk26pbsk0w0qfdds3k4bxy4wl5l210i1b8qsngkql";
+        sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==";
       };
     };
     "minipass-2.9.0" = {
@@ -280,7 +271,7 @@ let
       version = "2.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz";
-        sha512 = "1x0k2ycn1r5fig2zy7jj5vjsc7sxdl2a8lidvzsfyhcbrmvyvlbkmb3ga6l8njclvhjz2yrcx57jn26bckzrms017zb2yan1y7d85y3";
+        sha512 = "wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==";
       };
     };
     "minizlib-1.3.3" = {
@@ -289,34 +280,34 @@ let
       version = "1.3.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz";
-        sha512 = "3slcgy5kqasjl8k1n2indaaw0k6j2ipapzxrcqyy2zrwpv8z9w2im5i8c2c73pqdgkd31rwf5bajgv4pm2i6m9jg51cfmp694w0r5p9";
+        sha512 = "6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==";
       };
     };
-    "mkdirp-0.5.1" = {
+    "mkdirp-0.5.5" = {
       name = "mkdirp";
       packageName = "mkdirp";
-      version = "0.5.1";
+      version = "0.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
-        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz";
+        sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==";
       };
     };
-    "ms-2.1.2" = {
+    "ms-2.1.3" = {
       name = "ms";
       packageName = "ms";
-      version = "2.1.2";
+      version = "2.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz";
-        sha512 = "3dqfiiw6nxvvi24fndbzlccnjcas99bsd1kz5m2r78lzgpp6vx57jzbmxq3k1m7bsw88rwra0n4848l720fxxn5x20djck3wp3hysdh";
+        url = "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz";
+        sha512 = "6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==";
       };
     };
-    "needle-2.4.0" = {
+    "needle-2.6.0" = {
       name = "needle";
       packageName = "needle";
-      version = "2.4.0";
+      version = "2.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/needle/-/needle-2.4.0.tgz";
-        sha512 = "1k9220dhvc3m78hzd1xh2135p19z15y964hmhsajayvj11j2p3rv5w0gii7lmgr8w57bqkjg0xby5f1gkcph60kxvyr52z6pp7g0yg0";
+        url = "https://registry.npmjs.org/needle/-/needle-2.6.0.tgz";
+        sha512 = "KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg==";
       };
     };
     "nopt-4.0.3" = {
@@ -325,7 +316,7 @@ let
       version = "4.0.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz";
-        sha512 = "0mb9va0ag1n8v5c2lhza37prcw4iyrmbw5n6yglk1kcg95xwqi9ng5dqwr17h63sl5dba2rnwwrzz7dnfvkx5z75h4j7d9kag0qdxha";
+        sha512 = "CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==";
       };
     };
     "npm-bundled-1.1.1" = {
@@ -334,7 +325,7 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz";
-        sha512 = "1yb9l8jnxwicz0fsdv434y395b0x11mlc1mgbbhnx21pvs58a4p43f0swvi6q0rakdgzdiyf0yylnmb3i41hb052903m1cgcy01zac2";
+        sha512 = "gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==";
       };
     };
     "npm-normalize-package-bin-1.0.1" = {
@@ -343,7 +334,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz";
-        sha512 = "149ypqf1mxqw0gcjr4xf4h65q6vx41z1abm27cwbsj7fn07wsx588f9gsykjzfybwrn4mmr6lyaj825w3yyhbgaagmrybw9brzdmxqh";
+        sha512 = "EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==";
       };
     };
     "npm-packlist-1.4.8" = {
@@ -352,7 +343,7 @@ let
       version = "1.4.8";
       src = fetchurl {
         url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz";
-        sha512 = "3s585jx92awjb52bs1jwq8r4swv8mgfl685if5wwpbsigwb362adizzpi58a5kgqfpf605mf6a0v7074mc9qpcn2ypqgr7f1a1ikq77";
+        sha512 = "5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==";
       };
     };
     "npmlog-4.1.2" = {
@@ -361,7 +352,7 @@ let
       version = "4.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz";
-        sha512 = "2967mavp7zw0aawf5fadqf4pmn7vy5gya1yx2s9wwppvivhd9q4mpdnszfqvd7p6yks649bwbpj8iviw86g0hpp4f93d5ca7dmjmrfs";
+        sha512 = "2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==";
       };
     };
     "number-is-nan-1.0.1" = {
@@ -415,7 +406,7 @@ let
       version = "0.1.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz";
-        sha512 = "3ddw0y41pxv08ls5xhmq1bi81hppjbr45k78cjfx99vznh5znrj5g1b1wab9caj1mqlsvmfms0zm9cfb47ygm0d8wv5fccx8049q9fh";
+        sha512 = "0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==";
       };
     };
     "path-is-absolute-1.0.1" = {
@@ -433,7 +424,7 @@ let
       version = "2.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
-        sha512 = "1mgan8li4i2l4y7lsr7snks85n6xg5x693cqmzpid3fkk9br7v5xzgvh1zlfs08zkxn6s0n6qhykr64mszjfyxd77dhmdi1jhx992yy";
+        sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
       };
     };
     "rc-1.2.8" = {
@@ -442,7 +433,7 @@ let
       version = "1.2.8";
       src = fetchurl {
         url = "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz";
-        sha512 = "0xhy1n9n3y6cp28f8f0f2mi0xzc7ay1g5nhbp64fyvcwv9q30zq2zvyc5q2d0al8aa0hx101yq2y6d2ln4r5jxnqifh1pd3la1ccxnb";
+        sha512 = "y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==";
       };
     };
     "readable-stream-2.3.7" = {
@@ -451,7 +442,7 @@ let
       version = "2.3.7";
       src = fetchurl {
         url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz";
-        sha512 = "0zrh6gjjzwwycwydra51xcrgjgzyqv6dq38bfpwzmlqn702mwb4nj4sjjn499rycqndfk6rby0dksnq72x8pcbvqv0b2893mvq6if0i";
+        sha512 = "Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==";
       };
     };
     "rimraf-2.7.1" = {
@@ -460,7 +451,7 @@ let
       version = "2.7.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz";
-        sha512 = "3ixwnv4h7x38jd12vyzhx6m6adnfhz1zv881allalyqs8sy3q3zgwldngk4cqslnn2d46l0g91yz8wprmzcsvas9573vp8al9ldns5r";
+        sha512 = "uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==";
       };
     };
     "safe-buffer-5.1.2" = {
@@ -469,7 +460,7 @@ let
       version = "5.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz";
-        sha512 = "3xbm0dkya4bc3zwfwpdzbl8ngq0aai5ihlp2v3s39y7162c7wyvv9izj3g8hv6dy6vm2lq48lmfzygk0kxwbjb6xic7k4a329j99p8r";
+        sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
       };
     };
     "safer-buffer-2.1.2" = {
@@ -478,7 +469,7 @@ let
       version = "2.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
-        sha512 = "2v99f22kh56y72d3s8wrgdvf5n10ry40dh3fwnsxr4d5rfvxdfxfmc3qyqkscnj4f8799jy9bpg6cm21x2d811dr9ib83wjrlmkg6k1";
+        sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
       };
     };
     "sax-1.2.4" = {
@@ -487,7 +478,7 @@ let
       version = "1.2.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz";
-        sha512 = "1dn291mjsda42w8kldlbmngk6dhjxfbvvd5lckyqmwbjaj6069iq3wx0nvcfglwnpddz2qa93lzf4hv77iz43bd2qixa079sjzl799n";
+        sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==";
       };
     };
     "semver-5.7.1" = {
@@ -496,7 +487,7 @@ let
       version = "5.7.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz";
-        sha512 = "0cl68vp0ymkjpvim4s24v3awyk37d1bfbqrqv4ybwfi8yxga3d8fma2d6bh8dd4i2dsfwca324vaxm5dms61kdlmihdarfgzw6rmaxi";
+        sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==";
       };
     };
     "set-blocking-2.0.0" = {
@@ -508,13 +499,13 @@ let
         sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
       };
     };
-    "signal-exit-3.0.2" = {
+    "signal-exit-3.0.3" = {
       name = "signal-exit";
       packageName = "signal-exit";
-      version = "3.0.2";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz";
-        sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
+        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz";
+        sha512 = "VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==";
       };
     };
     "string-width-1.0.2" = {
@@ -532,7 +523,7 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz";
-        sha512 = "315yd4vzwrwk3vwj1klf46y1cj2jbvf88066y2rnwhksb98phj46jkxixbwsp3h607w7czy7cby522s7sx8mvspdpdm3s72y2ga3x4z";
+        sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==";
       };
     };
     "strip-ansi-3.0.1" = {
@@ -559,7 +550,7 @@ let
       version = "4.4.13";
       src = fetchurl {
         url = "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz";
-        sha512 = "10gwhmgx7fh619zv48r2lnm42qr7rw4qa9ph7142rizcn8in9dpi49jbmmv8ism60rcg1a7b4103r598jngi1rcn50sw7b8n1570rf3";
+        sha512 = "w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==";
       };
     };
     "util-deprecate-1.0.2" = {
@@ -577,7 +568,7 @@ let
       version = "1.1.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz";
-        sha512 = "2224a32flpf40nhq6rj4idzkcdz0vx65bfxp90hd06db18l6fiqgxz1xnaygm3pbfb1a6v73hl8ryq4996b09zwwins0bqprx0hwsa0";
+        sha512 = "QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==";
       };
     };
     "wrappy-1.0.2" = {
@@ -595,7 +586,7 @@ let
       version = "3.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz";
-        sha512 = "3ig31a6zfbdlrs3l77a8avpp17hajryhyq2xk4h3ayc4dmxch146rdk7q1s1jgx9qvmxq125r0xq2bvnq0rq63m75k9y7wglm0hd1bb";
+        sha512 = "a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==";
       };
     };
   };
@@ -604,10 +595,10 @@ in
   node-pre-gyp = nodeEnv.buildNodePackage {
     name = "node-pre-gyp";
     packageName = "node-pre-gyp";
-    version = "0.14.0";
+    version = "0.17.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz";
-      sha512 = "32drv6q9sh4i2ff2djd1dhxxxiaiymmgycbm12wpkz9vxspnldxgmppf9sazp3c72771a1p5s4kkzgwn4w1csyz9bn4zdbdnq5w6azq";
+      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.17.0.tgz";
+      sha512 = "abzZt1hmOjkZez29ppg+5gGqdPLUuJeAEwVPtHYEJgx0qzttCbcKFpxrCQn2HYbwCv2c+7JwH4BgEzFkUGpn4A==";
     };
     dependencies = [
       sources."abbrev-1.1.1"
@@ -621,7 +612,7 @@ in
       sources."concat-map-0.0.1"
       sources."console-control-strings-1.1.0"
       sources."core-util-is-1.0.2"
-      sources."debug-3.2.6"
+      sources."debug-3.2.7"
       sources."deep-extend-0.6.0"
       sources."delegates-1.0.0"
       sources."detect-libc-1.0.3"
@@ -634,16 +625,16 @@ in
       sources."ignore-walk-3.0.3"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."ini-1.3.5"
+      sources."ini-1.3.8"
       sources."is-fullwidth-code-point-1.0.0"
       sources."isarray-1.0.0"
       sources."minimatch-3.0.4"
-      sources."minimist-0.0.8"
+      sources."minimist-1.2.5"
       sources."minipass-2.9.0"
       sources."minizlib-1.3.3"
-      sources."mkdirp-0.5.1"
-      sources."ms-2.1.2"
-      sources."needle-2.4.0"
+      sources."mkdirp-0.5.5"
+      sources."ms-2.1.3"
+      sources."needle-2.6.0"
       sources."nopt-4.0.3"
       sources."npm-bundled-1.1.1"
       sources."npm-normalize-package-bin-1.0.1"
@@ -657,11 +648,7 @@ in
       sources."osenv-0.1.5"
       sources."path-is-absolute-1.0.1"
       sources."process-nextick-args-2.0.1"
-      (sources."rc-1.2.8" // {
-        dependencies = [
-          sources."minimist-1.2.5"
-        ];
-      })
+      sources."rc-1.2.8"
       sources."readable-stream-2.3.7"
       sources."rimraf-2.7.1"
       sources."safe-buffer-5.1.2"
@@ -669,7 +656,7 @@ in
       sources."sax-1.2.4"
       sources."semver-5.7.1"
       sources."set-blocking-2.0.0"
-      sources."signal-exit-3.0.2"
+      sources."signal-exit-3.0.3"
       sources."string-width-1.0.2"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
diff --git a/pkgs/misc/cups/drivers/cnijfilter2/default.nix b/pkgs/misc/cups/drivers/cnijfilter2/default.nix
index ce11f4a0551b8..c46bb564a1ead 100644
--- a/pkgs/misc/cups/drivers/cnijfilter2/default.nix
+++ b/pkgs/misc/cups/drivers/cnijfilter2/default.nix
@@ -4,11 +4,11 @@
 stdenv.mkDerivation {
   pname = "cnijfilter2";
 
-  version = "5.70";
+  version = "6.00";
 
   src = fetchzip {
-    url = "http://gdlp01.c-wss.com/gds/0/0100009930/01/cnijfilter2-source-5.70-1.tar.gz";
-    sha256 = "045zjsmaidn1m44ki6m1018gjzbj77gm234n5i2lshxpbzpyh0is";
+    url = "https://gdlp01.c-wss.com/gds/9/0100010739/01/cnijfilter2-source-6.00-1.tar.gz";
+    sha256 = "1n4vq44zya0n4a7jvq3yyqy7dcvc2911cjvxmq48zqicb2xdgafr";
   };
 
   buildInputs = [
@@ -114,10 +114,21 @@ stdenv.mkDerivation {
   '';
 
   meta = with lib; {
-    description = "Canon InkJet printer drivers for the MG7500, MG6700, MG6600, MG5600, MG2900, MB2000, MB2300, iB4000, MB5000, MB5300, iP110, E450, MX490, E480, MG7700, MG6900, MG6800, MG5700, MG3600, and G3000 series";
-    homepage = "http://support-th.canon-asia.com/contents/TH/EN/0100712901.html";
+    description = "Canon InkJet printer drivers for many Pixma series printers.";
+    longDescription = ''
+      Canon InjKet printer drivers for series E200, E300, E3100, E3300, E4200, E450, E470, E480,
+      G3000, G3010, G4000, G4010, G5000, G5080, G6000, G6050, G6080, G7000, G7050, G7080, GM2000,
+      GM2080, GM4000, GM4080, iB4000, iB4100, iP110, MB2000, MB2100, MB2300, MB2700, MB5000,
+      MB5100, MB5300, MB5400, MG2900, MG3000, MG3600, MG5600, MG5700, MG6600, MG6700, MG6800,
+      MG6900, MG7500, MG7700, MX490, TR4500, TR703, TR7500, TR7530, TR8500, TR8530, TR8580, TR9530,
+      TS200, TS300, TS3100, TS3300, TS5000, TS5100, TS5300, TS5380, TS6000, TS6100, TS6130, TS6180,
+      TS6200, TS6230, TS6280, TS6300, TS6330, TS6380, TS700, TS708, TS7330, TS8000, TS8100, TS8130,
+      TS8180, TS8200, TS8230, TS8280, TS8300, TS8330, TS8380, TS9000, TS9100, TS9180, TS9500,
+      TS9580, XK50, XK60, XK70, XK80.
+    '';
+    homepage = "https://hk.canon/en/support/0101048401/1";
     license = licenses.unfree;
-    platforms = platforms.linux;
+    platforms = [ "i686-linux" "x86_64-linux" ];
     maintainers = with maintainers; [ cstrahan ];
   };
 }
diff --git a/pkgs/misc/cups/drivers/googlecloudprint/default.nix b/pkgs/misc/cups/drivers/googlecloudprint/default.nix
deleted file mode 100644
index 6503571eb6b69..0000000000000
--- a/pkgs/misc/cups/drivers/googlecloudprint/default.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{ stdenv, lib, fetchFromGitHub, python2, python2Packages, file, makeWrapper, cups }:
-
-# Setup instructions can be found at https://github.com/simoncadman/CUPS-Cloud-Print#configuration
-# So the nix version is something like:
-# nix run nixpkgs.cups-googlecloudprint -c sudo setupcloudprint
-# nix run nixpkgs.cups-googlecloudprint -c sudo listcloudprinters
-
-let pythonEnv = python2.buildEnv.override {
-  extraLibs = with python2Packages; [
-    six
-    httplib2
-    pycups
-  ];
-};
-
-in stdenv.mkDerivation rec {
-  pname = "cups-googlecloudprint";
-  version = "20160502";
-
-  src = fetchFromGitHub {
-    owner  = "simoncadman";
-    repo   = "CUPS-Cloud-Print";
-    rev    = version;
-    sha256 = "0760i12w7jrhq7fsgyz3yqla5cvpjb45n6m2jz96wsy3p3xf6dzz";
-  };
-
-  buildInputs = [ cups makeWrapper ];
-
-  cupsgroup = "nonexistantgroup";
-  NOPERMS = 1;
-
-  postConfigure = ''
-    substituteInPlace Makefile --replace "${cups}" "$out"
-  '';
-
-  postInstall = ''
-    pushd "$out"
-    for s in lib/cups/backend/gcp lib/cups/driver/cupscloudprint
-    do
-      echo "Wrapping $s..."
-      wrapProgram "$out/$s" --set PATH "${lib.makeBinPath [pythonEnv file]}" --prefix PYTHONPATH : "$out/share/cloudprint-cups"
-    done
-
-    mkdir bin
-
-    for s in share/cloudprint-cups/*.py
-    do
-      if [ -x "$s" ] # Only wrapping those Python scripts marked as executable
-      then
-        o="bin/$(echo $s | sed 's,share/cloudprint-cups/\(.*\).py,\1,')"
-        echo "Wrapping $o -> $s..."
-        makeWrapper "$out/$s" "$o" --set PATH "${lib.makeBinPath [pythonEnv file]}" --prefix PYTHONPATH : "$out/share/cloudprint-cups"
-      fi
-    done
-    popd
-  '';
-
-  meta = with lib; {
-    description = "Google Cloud Print driver for CUPS, allows printing to printers hosted on Google Cloud Print";
-    homepage    = "http://ccp.niftiestsoftware.com";
-    platforms   = platforms.linux;
-    license     = licenses.gpl3;
-  };
-}
diff --git a/pkgs/misc/drivers/epson-escpr2/default.nix b/pkgs/misc/drivers/epson-escpr2/default.nix
index f0289c2227244..04cf6c3d96c2d 100644
--- a/pkgs/misc/drivers/epson-escpr2/default.nix
+++ b/pkgs/misc/drivers/epson-escpr2/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "epson-inkjet-printer-escpr2";
-  version = "1.1.24";
+  version = "1.1.25";
 
   src = fetchurl {
     # To find new versions, visit
@@ -11,10 +11,10 @@ stdenv.mkDerivation rec {
     # version.
     # NOTE: Don't forget to update the webarchive link too!
     urls = [
-      "https://download3.ebz.epson.net/dsc/f/03/00/12/09/63/b7d2bb6a97c9ad99a96ebc68f8abcb1254888e94/epson-inkjet-printer-escpr2-1.1.24-1lsb3.2.src.rpm"
-      "https://web.archive.org/web/20201112163802if_/https://download3.ebz.epson.net/dsc/f/03/00/12/09/63/b7d2bb6a97c9ad99a96ebc68f8abcb1254888e94/epson-inkjet-printer-escpr2-1.1.24-1lsb3.2.src.rpm"
+      "https://download3.ebz.epson.net/dsc/f/03/00/12/46/43/e233a3fefeb49723ba4b0a2f357527e3b45bf53a/epson-inkjet-printer-escpr2-1.1.25-1lsb3.2.src.rpm"
+      "https://web.archive.org/web/20210212220538if_/https://download3.ebz.epson.net/dsc/f/03/00/12/46/43/e233a3fefeb49723ba4b0a2f357527e3b45bf53a/epson-inkjet-printer-escpr2-1.1.25-1lsb3.2.src.rpm"
     ];
-    sha256 = "sha256-DPzjKKsTWbfDk1MsVPXNsO5D7C/RiNegmwq2sEMx2co=";
+    sha256 = "sha256-8hgafO/1qOTVdfAdx7FpOOSLqfTl0sBFunuN/2q7KHw=";
   };
 
   patches = [ ./cups-filter-ppd-dirs.patch ];
diff --git a/pkgs/misc/drivers/spacenavd/configure-socket-path.patch b/pkgs/misc/drivers/spacenavd/configure-socket-path.patch
new file mode 100644
index 0000000000000..03eb329f4b6eb
--- /dev/null
+++ b/pkgs/misc/drivers/spacenavd/configure-socket-path.patch
@@ -0,0 +1,118 @@
+diff --git a/src/proto_unix.c b/src/proto_unix.c
+index 998f234..d38452c 100644
+--- a/src/proto_unix.c
++++ b/src/proto_unix.c
+@@ -36,11 +36,14 @@ enum {
+ 
+ static int lsock = -1;
+ 
++static char *spath = NULL;
++
+ int init_unix(void)
+ {
+ 	int s;
+ 	mode_t prev_umask;
+ 	struct sockaddr_un addr;
++	char *sock_path;
+ 
+ 	if(lsock >= 0) return 0;
+ 
+@@ -49,16 +52,18 @@ int init_unix(void)
+ 		return -1;
+ 	}
+ 
+-	unlink(SOCK_NAME);	/* in case it already exists */
++	sock_path = socket_path();
++
++	unlink(sock_path);	/* in case it already exists */
+ 
+ 	memset(&addr, 0, sizeof addr);
+ 	addr.sun_family = AF_UNIX;
+-	strcpy(addr.sun_path, SOCK_NAME);
++	strcpy(addr.sun_path, sock_path);
+ 
+ 	prev_umask = umask(0);
+ 
+ 	if(bind(s, (struct sockaddr*)&addr, sizeof addr) == -1) {
+-		logmsg(LOG_ERR, "failed to bind unix socket: %s: %s\n", SOCK_NAME, strerror(errno));
++		logmsg(LOG_ERR, "failed to bind unix socket: %s: %s\n", sock_path, strerror(errno));
+ 		close(s);
+ 		return -1;
+ 	}
+@@ -68,7 +73,7 @@ int init_unix(void)
+ 	if(listen(s, 8) == -1) {
+ 		logmsg(LOG_ERR, "listen failed: %s\n", strerror(errno));
+ 		close(s);
+-		unlink(SOCK_NAME);
++		unlink(sock_path);
+ 		return -1;
+ 	}
+ 
+@@ -82,7 +87,7 @@ void close_unix(void)
+ 		close(lsock);
+ 		lsock = -1;
+ 
+-		unlink(SOCK_NAME);
++		unlink(socket_path());
+ 	}
+ }
+ 
+@@ -173,3 +178,19 @@ int handle_uevents(fd_set *rset)
+ 
+ 	return 0;
+ }
++
++char *socket_path(void)
++{
++	char *xdg_runtime_dir;
++	if((xdg_runtime_dir = getenv("XDG_RUNTIME_DIR"))) {
++		if ( spath == NULL ) {
++			spath = malloc(strlen(xdg_runtime_dir) + strlen("/spnav.sock") + 1);
++			if ( spath != NULL ) {
++				sprintf(spath, "%s/spnav.sock", xdg_runtime_dir);
++			}
++		};
++		return spath;
++	} else {
++		return DEFAULT_SOCK_NAME;
++	}
++}
+diff --git a/src/proto_unix.h b/src/proto_unix.h
+index 045b379..ec4509c 100644
+--- a/src/proto_unix.h
++++ b/src/proto_unix.h
+@@ -23,6 +23,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ #include "event.h"
+ #include "client.h"
+ 
++char *socket_path(void);
+ int init_unix(void);
+ void close_unix(void);
+ int get_unix_socket(void);
+diff --git a/src/spnavd.c b/src/spnavd.c
+index cbea191..03080da 100644
+--- a/src/spnavd.c
++++ b/src/spnavd.c
+@@ -344,7 +344,7 @@ static int find_running_daemon(void)
+ 	}
+ 	memset(&addr, 0, sizeof addr);
+ 	addr.sun_family = AF_UNIX;
+-	strncpy(addr.sun_path, SOCK_NAME, sizeof addr.sun_path);
++	strncpy(addr.sun_path, socket_path(), sizeof addr.sun_path);
+ 
+ 	if(connect(s, (struct sockaddr*)&addr, sizeof addr) == -1) {
+ 		close(s);
+diff --git a/src/spnavd.h b/src/spnavd.h
+index fa0a916..deea4e0 100644
+--- a/src/spnavd.h
++++ b/src/spnavd.h
+@@ -26,7 +26,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ #define DEF_CFGFILE		"/etc/spnavrc"
+ #define DEF_LOGFILE		"/var/log/spnavd.log"
+ 
+-#define SOCK_NAME	"/var/run/spnav.sock"
++#define DEFAULT_SOCK_NAME	"/run/spnav.sock"
++#define SOCK_NAME_ENV	"SPNAVD_SOCK_LOCATION"
+ #define PIDFILE		"/var/run/spnavd.pid"
+ #define SYSLOG_ID	"spnavd"
+ 
diff --git a/pkgs/misc/drivers/spacenavd/default.nix b/pkgs/misc/drivers/spacenavd/default.nix
new file mode 100644
index 0000000000000..1051d469f6136
--- /dev/null
+++ b/pkgs/misc/drivers/spacenavd/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, lib, fetchFromGitHub, libX11 }:
+
+stdenv.mkDerivation rec {
+  version = "0.8";
+  pname = "spacenavd";
+
+  src = fetchFromGitHub {
+    owner = "FreeSpacenav";
+    repo = "spacenavd";
+    rev = "v${version}";
+    sha256 = "1zz0cm5cgvp9s5n4nzksl8rb11c7sw214bdafzra74smvqfjcjcf";
+  };
+
+  buildInputs = [ libX11 ];
+
+  patches = [
+    # Changes the socket path from /run/spnav.sock to $XDG_RUNTIME_DIR/spnav.sock
+    # to allow for a user service
+    ./configure-socket-path.patch
+  ];
+
+  configureFlags = [ "--disable-debug"];
+
+  meta = with lib; {
+    homepage = "http://spacenav.sourceforge.net/";
+    description = "Device driver and SDK for 3Dconnexion 3D input devices";
+    longDescription = "A free, compatible alternative, to the proprietary 3Dconnexion device driver and SDK, for their 3D input devices (called 'space navigator', 'space pilot', 'space traveller', etc)";
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ sohalt ];
+  };
+}
diff --git a/pkgs/misc/emulators/blastem/default.nix b/pkgs/misc/emulators/blastem/default.nix
index eba646e2f20f1..a2dc86449d9e4 100644
--- a/pkgs/misc/emulators/blastem/default.nix
+++ b/pkgs/misc/emulators/blastem/default.nix
@@ -25,7 +25,8 @@ stdenv.mkDerivation {
     url = "https://www.retrodev.com/repos/blastem/archive/3d48cb0c28be.tar.gz";
     sha256 = "07wzbmzp0y8mh59jxg81q17gqagz3psxigxh8dmzsipgg68y6a8r";
   };
-  buildInputs = [ pkg-config SDL2 glew xcftools python pillow vasm makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ pkg-config SDL2 glew xcftools python pillow vasm ];
   preBuild = ''
     patchShebangs img2tiles.py
   '';
diff --git a/pkgs/misc/emulators/cen64/default.nix b/pkgs/misc/emulators/cen64/default.nix
new file mode 100644
index 0000000000000..0153ed11cd2de
--- /dev/null
+++ b/pkgs/misc/emulators/cen64/default.nix
@@ -0,0 +1,29 @@
+{ lib, cmake, fetchFromGitHub, libGL, libiconv, libX11, openal, stdenv }:
+
+stdenv.mkDerivation rec {
+  pname = "cen64";
+  version = "unstable-2020-02-20";
+
+  src = fetchFromGitHub {
+    owner = "n64dev";
+    repo = "cen64";
+    rev = "6f9f5784bf0a720522c4ecb0915e20229c126aed";
+    sha256 = "08q0a3b2ilb95zlz4cw681gwz45n2wrb2gp2z414cf0bhn90vz0s";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libGL libiconv openal libX11 ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv cen64 $out/bin
+  '';
+
+  meta = with lib; {
+    description = "A Cycle-Accurate Nintendo 64 Emulator";
+    license = licenses.bsd3;
+    homepage = "https://github.com/n64dev/cen64";
+    maintainers = [ maintainers._414owen ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/misc/emulators/citra/default.nix b/pkgs/misc/emulators/citra/default.nix
index e1a31d208e483..ae7228c224600 100644
--- a/pkgs/misc/emulators/citra/default.nix
+++ b/pkgs/misc/emulators/citra/default.nix
@@ -14,6 +14,8 @@ mkDerivation {
   nativeBuildInputs = [ cmake ];
   buildInputs = [ SDL2 qtbase qtmultimedia boost ];
 
+  dontWrapQtApps = true;
+
   preConfigure = ''
     # Trick configure system.
     sed -n 's,^ *path = \(.*\),\1,p' .gitmodules | while read path; do
diff --git a/pkgs/misc/emulators/dlx/default.nix b/pkgs/misc/emulators/dlx/default.nix
index 3360d45ccc83d..7ba4516a49864 100644
--- a/pkgs/misc/emulators/dlx/default.nix
+++ b/pkgs/misc/emulators/dlx/default.nix
@@ -8,9 +8,9 @@ stdenv.mkDerivation {
     sha256 = "0q5hildq2xcig7yrqi26n7fqlanyssjirm7swy2a9icfxpppfpkn";
   };
 
-  buildInputs = [ unzip ];
+  nativeBuildInputs = [ unzip ];
 
-  makeFlags = [ "LINK=gcc" "CFLAGS=-O2" ];
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "LINK=${stdenv.cc.targetPrefix}cc" "CFLAGS=-O2" ];
 
   hardeningDisable = [ "format" ];
 
@@ -26,6 +26,6 @@ stdenv.mkDerivation {
     homepage = "http://www.davidviner.com/dlx.php";
     description = "DLX Simulator";
     license = lib.licenses.gpl2;
-    platforms = lib.platforms.linux;
+    platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/misc/emulators/dolphin-emu/default.nix b/pkgs/misc/emulators/dolphin-emu/default.nix
index 9112293db58a4..c2d73d3e7fff3 100644
--- a/pkgs/misc/emulators/dolphin-emu/default.nix
+++ b/pkgs/misc/emulators/dolphin-emu/default.nix
@@ -4,7 +4,7 @@
 , pkg-config
 , cmake
 , bluez
-, ffmpeg_3
+, ffmpeg
 , libao
 , gtk2
 , glib
@@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     bluez
-    ffmpeg_3
+    ffmpeg
     libao
     libGLU
     libGL
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
index 4a1fca0e7c5cf..8a4adfa314b0d 100644
--- a/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, makeDesktopItem, pkg-config, cmake
-, wrapQtAppsHook, qtbase, bluez, ffmpeg_3, libao, libGLU, libGL, pcre, gettext
+, wrapQtAppsHook, qtbase, bluez, ffmpeg, libao, libGLU, libGL, pcre, gettext
 , libXrandr, libusb1, lzo, libpthreadstubs, libXext, libXxf86vm, libXinerama
 , libSM, libXdmcp, readline, openal, udev, libevdev, portaudio, curl, alsaLib
 , miniupnpc, enet, mbedtls, soundtouch, sfml
@@ -21,20 +21,20 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "dolphin-emu";
-  version = "5.0-13178";
+  version = "5.0-13603";
 
   src = fetchFromGitHub {
     owner = "dolphin-emu";
     repo = "dolphin";
-    rev = "a34823df61df65168aa40ef5e82e44defd4a0138";
-    sha256 = "0j6hnj60iai366kl0kdbn1jkwc183l02g65mp2vq4qb2yd4399l1";
+    rev = "7250d6e4e091f4b5b4f2289c2c732349b69a2e8a";
+    sha256 = "0l4vvxmc79x0b5p8k4km7p380wv8wsbmxjnif08rj0p3brbavc1i";
   };
 
   nativeBuildInputs = [ cmake pkg-config ]
   ++ lib.optional stdenv.isLinux wrapQtAppsHook;
 
   buildInputs = [
-    curl ffmpeg_3 libao libGLU libGL pcre gettext libpthreadstubs libpulseaudio
+    curl ffmpeg libao libGLU libGL pcre gettext libpthreadstubs libpulseaudio
     libXrandr libXext libXxf86vm libXinerama libSM readline openal libXdmcp lzo
     portaudio libusb1 libpng hidapi miniupnpc enet mbedtls soundtouch sfml
     qtbase
diff --git a/pkgs/misc/emulators/libdsk/default.nix b/pkgs/misc/emulators/libdsk/default.nix
index c0e54e48db329..62820f2c96bac 100644
--- a/pkgs/misc/emulators/libdsk/default.nix
+++ b/pkgs/misc/emulators/libdsk/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libdsk";
-  version = "1.5.12";
+  version = "1.5.14";
 
   src = fetchurl {
     url = "https://www.seasip.info/Unix/LibDsk/${pname}-${version}.tar.gz";
-    sha256 = "0s2k9vkrf95pf4ydc6vazb29ysrnhdpcfjnf17lpk4nmlv1j3vyv";
+    sha256 = "sha256-fQc6QAj160OskhAo1zQsQKiLgDgZRInU/derP2pEw54=";
   };
 
   meta = with lib; {
diff --git a/pkgs/misc/emulators/mednaffe/default.nix b/pkgs/misc/emulators/mednaffe/default.nix
index 7d0d6c6f68e33..8a11b633d28e6 100644
--- a/pkgs/misc/emulators/mednaffe/default.nix
+++ b/pkgs/misc/emulators/mednaffe/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mednaffe";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "AmatCoder";
     repo = "mednaffe";
     rev = version;
-    sha256 = "sha256-BS/GNnRYj9klc4RRj7LwNikgApNttv4IyWPL694j+gM=";
+    sha256 = "sha256-YU8PHnQHAsY90LN/WDugi4WhsuZGBj/z3BS4o69qMS4=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook ];
diff --git a/pkgs/misc/emulators/nestopia/default.nix b/pkgs/misc/emulators/nestopia/default.nix
index 956161209fcb8..d1b18f12a8449 100644
--- a/pkgs/misc/emulators/nestopia/default.nix
+++ b/pkgs/misc/emulators/nestopia/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, SDL2, alsaLib, gtk3
-, makeWrapper, libGLU, libGL, libarchive, libao, unzip, xdg_utils
+, makeWrapper, libGLU, libGL, libarchive, libao, unzip, xdg-utils
 , epoxy, gdk-pixbuf, gnome3, wrapGAppsHook
 }:
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     libarchive
     libao
     unzip
-    xdg_utils
+    xdg-utils
     gnome3.adwaita-icon-theme
   ];
 
diff --git a/pkgs/misc/emulators/ppsspp/default.nix b/pkgs/misc/emulators/ppsspp/default.nix
index 87dacd46d5767..a50bc3eb3ec80 100644
--- a/pkgs/misc/emulators/ppsspp/default.nix
+++ b/pkgs/misc/emulators/ppsspp/default.nix
@@ -16,14 +16,14 @@
 
 mkDerivation rec {
   pname = "ppsspp";
-  version = "1.10.3";
+  version = "1.11";
 
   src = fetchFromGitHub {
     owner = "hrydgard";
     repo = pname;
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-W41Poq5S+opkasIGYo13SQZWQF1HjfFnH7u9DW5HNA0=";
+    sha256 = "19948jzqpclf8zfzp3k7s580xfjgqcyfwlcp7x7xj8h8lyypzymx";
   };
 
   postPatch = ''
diff --git a/pkgs/misc/emulators/py65/default.nix b/pkgs/misc/emulators/py65/default.nix
new file mode 100644
index 0000000000000..66ba3cdf4b419
--- /dev/null
+++ b/pkgs/misc/emulators/py65/default.nix
@@ -0,0 +1,25 @@
+{ lib, fetchPypi, buildPythonApplication }:
+
+buildPythonApplication rec {
+  pname = "py65";
+  version = "1.1.0";
+  format = "wheel";
+
+  src = fetchPypi {
+    inherit pname version format;
+    sha256 = "Q7rjiHJ/Ew985vut/8fVAf/wWYW5aBPSvNPm8A6g1zg=";
+  };
+
+  meta = with lib; {
+    homepage = "https://py65.readthedocs.io/";
+    description = "Emulate 6502-based microcomputer systems in Python";
+    longDescription = ''
+      Py65 includes a program called Py65Mon that functions as a machine
+      language monitor. This kind of program is sometimes also called a
+      debugger. Py65Mon provides a command line with many convenient commands
+      for interacting with the simulated 6502-based system.
+    '';
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ AndersonTorres ];
+  };
+}
diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix
index c1b60ad63b2f2..7d0ba259dc511 100644
--- a/pkgs/misc/emulators/retroarch/cores.nix
+++ b/pkgs/misc/emulators/retroarch/cores.nix
@@ -925,8 +925,8 @@ in with lib.licenses;
     src = fetchFromGitHub {
       owner = "snes9xgit";
       repo = core;
-      rev = "6db918cfe32b157239da44096091c212fdfb3b60";
-      sha256 = "0y3jhy50qdhhfglybys9m0fgk9r24ksdcgv5iqpyxy5a4cjvhv8j";
+      rev = "bd9246ddd75a5e9f78d6189c8c57754d843630f7";
+      sha256 = "10fm7ah3aha9lf4k9hgw0dlhdvshzpig2d0ylcb12gf9zz0i22ns";
     };
     description = "Port of SNES9x git to libretro";
     license = "Non-commercial";
diff --git a/pkgs/misc/emulators/retroarch/wrapper.nix b/pkgs/misc/emulators/retroarch/wrapper.nix
index 08ebf8ea85444..40d9f07846b71 100644
--- a/pkgs/misc/emulators/retroarch/wrapper.nix
+++ b/pkgs/misc/emulators/retroarch/wrapper.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   pname = "retroarch";
   version = lib.getVersion retroarch;
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   buildCommand = ''
     mkdir -p $out/lib
diff --git a/pkgs/misc/emulators/ryujinx/default.nix b/pkgs/misc/emulators/ryujinx/default.nix
index db6e75b9d4e8d..3e7e0af4295a4 100644
--- a/pkgs/misc/emulators/ryujinx/default.nix
+++ b/pkgs/misc/emulators/ryujinx/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, fetchurl, makeWrapper, makeDesktopItem, linkFarmFromDrvs
-, dotnet-sdk_5, dotnetPackages, dotnetCorePackages
+, dotnet-sdk_5, dotnetPackages, dotnetCorePackages, cacert
 , SDL2, libX11, ffmpeg, openal, libsoundio
 , gtk3, gobject-introspection, gdk-pixbuf, wrapGAppsHook
 }:
@@ -15,16 +15,16 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "ryujinx";
-  version = "1.0.6448"; # Versioning is based off of the official appveyor builds: https://ci.appveyor.com/project/gdkchan/ryujinx
+  version = "1.0.6574"; # Versioning is based off of the official appveyor builds: https://ci.appveyor.com/project/gdkchan/ryujinx
 
   src = fetchFromGitHub {
     owner = "Ryujinx";
     repo = "Ryujinx";
-    rev = "9eb0ab05c6e820e113b3c61cbacd9b085b2819c4";
-    sha256 = "168nm7p6lqswmsya6gf3296ligyjabqmbrdzginkcviii643yslz";
+    rev = "80ed8596c165127fb52026c697a9b6b515dabbd4";
+    sha256 = "0jhrl8g9fbz3w2hzmy9jm22cvjfa0x5vh3912rz1rvnd41qb9vs8";
   };
 
-  nativeBuildInputs = [ dotnet-sdk_5 dotnetPackages.Nuget makeWrapper wrapGAppsHook gobject-introspection gdk-pixbuf ];
+  nativeBuildInputs = [ dotnet-sdk_5 dotnetPackages.Nuget cacert makeWrapper wrapGAppsHook gobject-introspection gdk-pixbuf ];
 
   nugetDeps = linkFarmFromDrvs "${pname}-nuget-deps" (import ./deps.nix {
     fetchNuGet = { name, version, sha256 }: fetchurl {
@@ -44,7 +44,7 @@ in stdenv.mkDerivation rec {
 
     export HOME=$(mktemp -d)
     export DOTNET_CLI_TELEMETRY_OPTOUT=1
-    export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
+    export DOTNET_NOLOGO=1
 
     nuget sources Add -Name nixos -Source "$PWD/nixos"
     nuget init "$nugetDeps" "$PWD/nixos"
diff --git a/pkgs/misc/emulators/ryujinx/fetch-deps.sh b/pkgs/misc/emulators/ryujinx/fetch-deps.sh
index d5c9b0eb9344b..35de197b626ea 100755
--- a/pkgs/misc/emulators/ryujinx/fetch-deps.sh
+++ b/pkgs/misc/emulators/ryujinx/fetch-deps.sh
@@ -36,6 +36,3 @@ while read pkg_spec; do
 EOF
 done < <(find ./nuget_tmp.packages -name '*.nuspec' | sort)
 echo "]" >>"$deps_file"
-
-popd
-rm -r "$src"
diff --git a/pkgs/misc/emulators/sameboy/default.nix b/pkgs/misc/emulators/sameboy/default.nix
index d23129eba7e5c..6b20984016998 100644
--- a/pkgs/misc/emulators/sameboy/default.nix
+++ b/pkgs/misc/emulators/sameboy/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sameboy";
-  version = "0.13.6";
+  version = "0.14.1";
 
   src = fetchFromGitHub {
     owner = "LIJI32";
     repo = "SameBoy";
     rev = "v${version}";
-    sha256 = "04w8lybi7ssnax37ka4qw7pmcm7cgnmk90p9m73zbyp5chgpqqzc";
+    sha256 = "0h42cixbf0m2qiwrqzygh0x166h9ikxa5dzi3jbqld2dygk932n7";
   };
 
   enableParallelBuilding = true;
@@ -16,20 +16,15 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ rgbds glib wrapGAppsHook ];
   buildInputs = [ SDL2 ];
 
-  makeFlags = "CONF=release DATA_DIR=$(out)/share/sameboy/";
+  makeFlags = [
+    "CONF=release"
+    "FREEDESKTOP=true"
+    "PREFIX=$(out)"
+  ];
 
-  patchPhase = ''
-    sed 's/-Werror //g' -i Makefile
-    sed 's@"libgtk-3.so"@"${gtk3}/lib/libgtk-3.so"@g' -i OpenDialog/gtk.c
-  '';
-
-  installPhase = ''
-    pushd build/bin/SDL
-    install -Dm755 sameboy $out/bin/sameboy
-    rm sameboy
-    mkdir -p $out/share/sameboy
-    cp -r * $out/share/sameboy
-    popd
+  postPatch = ''
+    substituteInPlace OpenDialog/gtk.c \
+      --replace '"libgtk-3.so"' '"${gtk3}/lib/libgtk-3.so"'
   '';
 
   meta = with lib; {
diff --git a/pkgs/misc/emulators/simh/default.nix b/pkgs/misc/emulators/simh/default.nix
index 08068debeefcb..1e939538cda34 100644
--- a/pkgs/misc/emulators/simh/default.nix
+++ b/pkgs/misc/emulators/simh/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   dontConfigure = true;
 
-  makeFlags = [ "GCC=cc" "CC_STD=-std=c99" "LDFLAGS=-lm" ];
+  makeFlags = [ "GCC=${stdenv.cc.targetPrefix}cc" "CC_STD=-std=c99" "LDFLAGS=-lm" ];
 
   preInstall = ''
     install -d ${placeholder "out"}/bin
diff --git a/pkgs/misc/emulators/stella/default.nix b/pkgs/misc/emulators/stella/default.nix
index 458922bdc1dae..f6a3d65c4bde2 100644
--- a/pkgs/misc/emulators/stella/default.nix
+++ b/pkgs/misc/emulators/stella/default.nix
@@ -1,14 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, SDL2 }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, SDL2
+}:
 
 stdenv.mkDerivation rec {
   pname = "stella";
-  version = "6.4";
+  version = "6.5.1";
 
   src = fetchFromGitHub {
     owner = "stella-emu";
     repo = pname;
     rev = version;
-    sha256 = "0gva6pw5c1pplcf2g48zmm24h1134v0vr705rbzj4v6ifp3adrsl";
+    sha256 = "2O7pN0xByEbWVL32VZw9191tG+kCMOuivJZRpXssQIw=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -17,15 +22,19 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with lib;{
+    homepage = "https://stella-emu.github.io/";
     description = "An open-source Atari 2600 VCS emulator";
     longDescription = ''
-    Stella is a multi-platform Atari 2600 VCS emulator released under
-    the GNU General Public License (GPL). Stella was originally
-    developed for Linux by Bradford W. Mott, and is currently
-    maintained by Stephen Anthony.
-    As of its 3.5 release, Stella is officially donationware.
+      Stella is a multi-platform Atari 2600 VCS emulator released under the GNU
+      General Public License (GPL). Stella was originally developed for Linux by
+      Bradford W. Mott, and is currently maintained by Stephen Anthony. Since
+      its original release several people have joined the development team to
+      port Stella to other operating systems such as AcornOS, AmigaOS, DOS,
+      FreeBSD, IRIX, Linux, OS/2, MacOS, Unix, and Windows. The development team
+      is working hard to perfect the emulator and we hope you enjoy our effort.
+
+      As of its 3.5 release, Stella is officially donationware.
     '';
-    homepage = "https://stella-emu.github.io/";
     license = licenses.gpl2;
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.linux;
diff --git a/pkgs/misc/emulators/wine/cert-path-stable.patch b/pkgs/misc/emulators/wine/cert-path-stable.patch
deleted file mode 100644
index da01a4778102b..0000000000000
--- a/pkgs/misc/emulators/wine/cert-path-stable.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/dlls/crypt32/rootstore.c b/dlls/crypt32/rootstore.c
-index f795181..fb4926a 100644
---- a/dlls/crypt32/rootstore.c
-+++ b/dlls/crypt32/rootstore.c
-@@ -18,6 +18,7 @@
- #include "config.h"
- #include <stdarg.h>
- #include <stdio.h>
-+#include <stdlib.h> /* getenv */
- #include <sys/types.h>
- #ifdef HAVE_SYS_STAT_H
- #include <sys/stat.h>
-@@ -916,6 +917,11 @@ static void read_trusted_roots_from_known_locations(HCERTSTORE store)
- 
-         for (i = 0; !ret && i < ARRAY_SIZE(CRYPT_knownLocations); i++)
-             ret = import_certs_from_path(CRYPT_knownLocations[i], from, TRUE);
-+
-+        char *nix_cert_file = getenv("NIX_SSL_CERT_FILE");
-+        if (nix_cert_file != NULL)
-+            ret = import_certs_from_path(nix_cert_file, from, TRUE);
-+
-         check_and_store_certs(from, store);
-     }
-     CertCloseStore(from, 0);
diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix
index 3a5abe18d7548..d69f38dececc9 100644
--- a/pkgs/misc/emulators/wine/sources.nix
+++ b/pkgs/misc/emulators/wine/sources.nix
@@ -13,9 +13,9 @@ let fetchurl = args@{url, sha256, ...}:
 in rec {
 
   stable = fetchurl rec {
-    version = "5.0.3";
-    url = "https://dl.winehq.org/wine/source/5.0/wine-${version}.tar.xz";
-    sha256 = "sha256-nBo1Ni/VE9/1yEW/dtpj6hBaeUrHFEqlA/cTYa820i8=";
+    version = "6.0";
+    url = "https://dl.winehq.org/wine/source/6.0/wine-${version}.tar.xz";
+    sha256 = "sha256-tJMGXy+D7kKcYuLsWGmKPPY+94ci4bIHZYIxUuhYLFY=";
 
     ## see http://wiki.winehq.org/Gecko
     gecko32 = fetchurl rec {
@@ -38,15 +38,15 @@ in rec {
 
     patches = [
       # Also look for root certificates at $NIX_SSL_CERT_FILE
-      ./cert-path-stable.patch
+      ./cert-path.patch
     ];
   };
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the SHA256 for staging as well.
-    version = "6.0-rc4";
-    url = "https://dl.winehq.org/wine/source/6.0/wine-${version}.tar.xz";
-    sha256 = "sha256-ndeBORgnfYmtPbvZEesaetocknePF8cnyjqfulkcfsU=";
+    version = "6.2";
+    url = "https://dl.winehq.org/wine/source/6.x/wine-${version}.tar.xz";
+    sha256 = "sha256-tmCWCaOrzGrZJ83WXHQL4BFiuAFSPg97qf1mkYALvxk=";
     inherit (stable) mono gecko32 gecko64;
 
     patches = [
@@ -58,7 +58,7 @@ in rec {
   staging = fetchFromGitHub rec {
     # https://github.com/wine-staging/wine-staging/releases
     inherit (unstable) version;
-    sha256 = "sha256-GdFiCGnGSDOxGERlfsPMJdSrQTvnx8gf4z4joqIKT7c=";
+    sha256 = "sha256-swhd5gTIWTz8eEk6f78iXG8bmA3y4ynO0/wBm0/Kimk=";
     owner = "wine-staging";
     repo = "wine-staging";
     rev = "v${version}";
diff --git a/pkgs/misc/emulators/yuzu/base.nix b/pkgs/misc/emulators/yuzu/base.nix
new file mode 100644
index 0000000000000..a4bb3addf86bb
--- /dev/null
+++ b/pkgs/misc/emulators/yuzu/base.nix
@@ -0,0 +1,88 @@
+{ pname, version, src, branchName
+, stdenv, lib, fetchFromGitHub, fetchpatch, wrapQtAppsHook
+, cmake, pkg-config
+, libpulseaudio, libjack2, alsaLib, sndio, ecasound
+, vulkan-loader, vulkan-headers
+, qtbase, qtwebengine, qttools
+, nlohmann_json, rapidjson
+, zlib, zstd, libzip, lz4
+, glslang
+, boost173
+, catch2
+, fmt
+, SDL2
+, udev
+, libusb1
+, ffmpeg
+}:
+
+stdenv.mkDerivation rec {
+  inherit pname version src;
+
+  nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
+  buildInputs = [
+    libpulseaudio libjack2 alsaLib sndio ecasound
+    vulkan-loader vulkan-headers
+    qtbase qtwebengine qttools
+    nlohmann_json rapidjson
+    zlib zstd libzip lz4
+    glslang
+    boost173
+    catch2
+    fmt
+    SDL2
+    udev
+    libusb1
+    ffmpeg
+  ];
+
+  patches = [
+    (fetchpatch { # Without this, yuzu tries to read version info from .git which is not present.
+      url = "https://raw.githubusercontent.com/pineappleEA/Pineapple-Linux/28cbf656e3188b80eda0031d0b2713708ecd630f/inject-git-info.patch";
+      sha256 = "1zxh5fwdr7jl0aagb3yfwd0995vyyk54f0f748f7c4rqvg6867fd";
+    })
+  ];
+
+  cmakeFlags = [
+    "-DENABLE_QT_TRANSLATION=ON"
+    "-DYUZU_USE_QT_WEB_ENGINE=ON"
+    "-DUSE_DISCORD_PRESENCE=ON"
+    # Shows errors about not being able to find .git at runtime if you do not set these
+    "-DGIT_BRANCH=\"\""
+    "-DGIT_DESC=\"\""
+  ];
+
+  preConfigure = ''
+    # Trick the configure system. This prevents a check for submodule directories.
+    rm -f .gitmodules
+
+    # see https://github.com/NixOS/nixpkgs/issues/114044, setting this through cmakeFlags does not work.
+    cmakeFlagsArray+=(
+      "-DTITLE_BAR_FORMAT_IDLE=\"yuzu ${branchName} ${version}\""
+      "-DTITLE_BAR_FORMAT_RUNNING=\"yuzu ${branchName} ${version} \| \{3\}\""
+    )
+  '';
+
+  # Fix vulkan detection
+  postFixup = ''
+    wrapProgram $out/bin/yuzu --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
+    wrapProgram $out/bin/yuzu-cmd --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
+  '';
+
+  meta = with lib; {
+    homepage = "https://yuzu-emu.org";
+    description = "The ${branchName} branch of an experimental Nintendo Switch emulator written in C++";
+    longDescription = ''
+      An experimental Nintendo Switch emulator written in C++.
+      Using the mainline branch is recommanded for general usage.
+      Using the early-access branch is recommanded if you would like to try out experimental features, with a cost of stability.
+    '';
+    license = with licenses; [
+      gpl2Plus
+      # Icons
+      cc-by-nd-30 cc0
+    ];
+    maintainers = with maintainers; [ ivar joshuafern ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/misc/emulators/yuzu/default.nix b/pkgs/misc/emulators/yuzu/default.nix
index 5bb01b9fca08a..cce501aa941d4 100644
--- a/pkgs/misc/emulators/yuzu/default.nix
+++ b/pkgs/misc/emulators/yuzu/default.nix
@@ -1,47 +1,28 @@
-{ lib, stdenv, fetchFromGitHub
-, cmake, pkg-config, wrapQtAppsHook
-, boost173, catch2, fmt, lz4, nlohmann_json, rapidjson, zlib, zstd, SDL2
-, udev, libusb1, libzip, qtbase, qtwebengine, qttools, ffmpeg
-, libpulseaudio, libjack2, alsaLib, sndio, ecasound
-, useVulkan ? true, vulkan-loader, vulkan-headers
-}:
-
-stdenv.mkDerivation rec {
-  pname = "yuzu";
-  version = "482";
-
-  src = fetchFromGitHub {
-    owner = "yuzu-emu";
-    repo = "yuzu-mainline"; # They use a separate repo for mainline “branch”
-    rev = "mainline-0-${version}";
-    sha256 = "1bhkdbhj1dv33qv0np26gzsw65p4z88whjmd6bc7mh2b5lvrjwxm";
-    fetchSubmodules = true;
+{ branch ? "mainline", libsForQt5, fetchFromGitHub }:
+let
+  inherit libsForQt5 fetchFromGitHub;
+in {
+  mainline = libsForQt5.callPackage ./base.nix rec {
+    pname = "yuzu-mainline";
+    version = "546";
+    branchName = branch;
+    src = fetchFromGitHub {
+      owner = "yuzu-emu";
+      repo = "yuzu-mainline";
+      rev = "mainline-0-${version}";
+      sha256 = "0d6cbhp877xyjac1flkyjf6g6igzmvjlk6gcph4m04i4zivb9kf2";
+      fetchSubmodules = true;
+    };
   };
-
-  nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
-  buildInputs = [ qtbase qtwebengine qttools boost173 catch2 fmt lz4 nlohmann_json rapidjson zlib zstd SDL2 udev libusb1 libpulseaudio alsaLib sndio ecasound libjack2 libzip ffmpeg ]
-    ++ lib.optionals useVulkan [ vulkan-loader vulkan-headers ];
-  cmakeFlags = [ "-DENABLE_QT_TRANSLATION=ON" "-DYUZU_USE_QT_WEB_ENGINE=ON" "-DUSE_DISCORD_PRESENCE=ON" ]
-    ++ lib.optionals (!useVulkan) [ "-DENABLE_VULKAN=No" ];
-
-  # Trick the configure system. This prevents a check for submodule directories.
-  preConfigure = "rm .gitmodules";
-
-  # Fix vulkan detection
-  postFixup = lib.optionals useVulkan ''
-    wrapProgram $out/bin/yuzu --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
-    wrapProgram $out/bin/yuzu-cmd --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
-  '';
-
-  meta = with lib; {
-    homepage = "https://yuzu-emu.org";
-    description = "An experimental Nintendo Switch emulator written in C++";
-    license = with licenses; [
-      gpl2Plus
-      # Icons
-      cc-by-nd-30 cc0
-    ];
-    maintainers = with maintainers; [ ivar joshuafern ];
-    platforms = platforms.linux;
+  early-access = libsForQt5.callPackage ./base.nix rec {
+    pname = "yuzu-ea";
+    version = "1480";
+    branchName = branch;
+    src = fetchFromGitHub {
+      owner = "pineappleEA";
+      repo = "pineapple-src";
+      rev = "EA-${version}";
+      sha256 = "0flc5mckmnr9gj8f78nh9nys96inlkqk3rvpgbpl0mhcg6lmlb2g";
+    };
   };
-}
+}.${branch}
diff --git a/pkgs/misc/jackaudio/default.nix b/pkgs/misc/jackaudio/default.nix
index 24d2b5e135cf4..9dd973674412e 100644
--- a/pkgs/misc/jackaudio/default.nix
+++ b/pkgs/misc/jackaudio/default.nix
@@ -48,6 +48,9 @@ stdenv.mkDerivation rec {
         --replace /bin/bash ${bash}/bin/bash
   '';
 
+  PKGCONFIG = "${stdenv.cc.targetPrefix}pkg-config";
+
+  dontAddWafCrossFlags = "true";
   wafConfigureFlags = [
     "--classic"
     "--autostart=${if (optDbus != null) then "dbus" else "classic"}"
diff --git a/pkgs/misc/lightspark/default.nix b/pkgs/misc/lightspark/default.nix
index fae02cdbcd9aa..c45240982a761 100644
--- a/pkgs/misc/lightspark/default.nix
+++ b/pkgs/misc/lightspark/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lightspark";
-  version = "0.8.2";
+  version = "0.8.4.1";
 
   src = fetchFromGitHub {
     owner = "lightspark";
     repo = "lightspark";
     rev = version;
-    sha256 = "04wn6d6gmpf848x0yghw26m9syv0hm6q5dwqiw3fxhs155jjqfgv";
+    sha256 = "sha256-pIiv5wEDLvTHjlYSicXUTTI6pVAsO6FC39Gie9Z/hZ4=";
   };
 
   patchPhase = ''
diff --git a/pkgs/misc/lilypond/with-fonts.nix b/pkgs/misc/lilypond/with-fonts.nix
index 2f3a95a33022e..47cbb59f2f01c 100644
--- a/pkgs/misc/lilypond/with-fonts.nix
+++ b/pkgs/misc/lilypond/with-fonts.nix
@@ -7,7 +7,8 @@ lib.appendToName "with-fonts" (symlinkJoin {
 
   paths = [ lilypond ] ++ openlilylib-fonts.all;
 
-  buildInputs = [ makeWrapper lndir ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ lndir ];
 
   postBuild = ''
     for p in $out/bin/*; do
diff --git a/pkgs/misc/screensavers/electricsheep/default.nix b/pkgs/misc/screensavers/electricsheep/default.nix
index ea68e147ba7ed..74d9e3cffee04 100644
--- a/pkgs/misc/screensavers/electricsheep/default.nix
+++ b/pkgs/misc/screensavers/electricsheep/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, wxGTK30, libav, lua5_1, curl
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, wxGTK30, ffmpeg, lua5_1, curl
 , libpng, xorg, pkg-config, flam3, libgtop, boost, tinyxml, freeglut, libGLU, libGL
 , glee }:
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook pkg-config ];
 
   buildInputs = [
-    wxGTK30 libav lua5_1 curl libpng xorg.libXrender
+    wxGTK30 ffmpeg lua5_1 curl libpng xorg.libXrender
     flam3 libgtop boost tinyxml freeglut libGLU libGL glee
   ];
 
diff --git a/pkgs/misc/screensavers/pipes/default.nix b/pkgs/misc/screensavers/pipes/default.nix
index 11d85e5977656..be605192acce4 100644
--- a/pkgs/misc/screensavers/pipes/default.nix
+++ b/pkgs/misc/screensavers/pipes/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "09m4alb3clp3rhnqga5v6070p7n1gmnwp2ssqhq87nf2ipfpcaak";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir $out -p
diff --git a/pkgs/misc/screensavers/rss-glx/default.nix b/pkgs/misc/screensavers/rss-glx/default.nix
index f3e5ae251aec9..981db782c7c92 100644
--- a/pkgs/misc/screensavers/rss-glx/default.nix
+++ b/pkgs/misc/screensavers/rss-glx/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchurl, pkg-config, xlibsWrapper, libXext, libGLU, libGL, imagemagick, libtiff, bzip2}:
+{lib, stdenv, fetchurl, pkg-config, xlibsWrapper, libXext, libGLU, libGL, imagemagick6, libtiff, bzip2}:
 
 stdenv.mkDerivation rec {
   version = "0.9.1";
@@ -10,9 +10,9 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ libGLU libGL xlibsWrapper imagemagick libtiff bzip2 ];
+  buildInputs = [ libGLU libGL xlibsWrapper imagemagick6 libtiff bzip2 ];
 
-  NIX_CFLAGS_COMPILE = "-I${imagemagick.dev}/include/ImageMagick";
+  NIX_CFLAGS_COMPILE = "-I${imagemagick6.dev}/include/ImageMagick";
   NIX_LDFLAGS= "-rpath ${libXext}/lib";
 
   meta = {
diff --git a/pkgs/misc/tmux-plugins/default.nix b/pkgs/misc/tmux-plugins/default.nix
index 0d3a954b9b430..333830f0143ef 100644
--- a/pkgs/misc/tmux-plugins/default.nix
+++ b/pkgs/misc/tmux-plugins/default.nix
@@ -129,12 +129,12 @@ in rec {
 
   dracula = mkDerivation rec {
     pluginName = "dracula";
-    version = "unstable-2020-12-28";
+    version = "unstable-2021-02-18";
     src = fetchFromGitHub {
       owner = "dracula";
       repo = "tmux";
-      rev = "6757a5329948f00addd66b02ea94f61dd94456f5";
-      sha256 = "0wwwzg3bwcrbr2nmf84prz7k4i79yq0960vs6zjp0x8nqn2fvziy";
+      rev = "8d1a7fa41b773d4f7b53dfff2d9fc5166d34f104";
+      sha256 = "DG+oKbTkYO4hwoOlOqW5IuCLdVEttlvLM2en4DUHyMY=";
     };
     meta = with lib; {
       homepage = "https://draculatheme.com/tmux";
diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix
index 20d928d944d85..f8f3df665d4a3 100644
--- a/pkgs/misc/uboot/default.nix
+++ b/pkgs/misc/uboot/default.nix
@@ -178,6 +178,27 @@ in {
     '';
   };
 
+  ubootNanoPCT4 = buildUBoot rec {
+    rkbin = fetchFromGitHub {
+      owner = "armbian";
+      repo = "rkbin";
+      rev = "3bd0321cae5ef881a6005fb470009ad5a5d1462d";
+      sha256 = "09r4dzxsbs3pff4sh70qnyp30s3rc7pkc46v1m3152s7jqjasp31";
+    };
+
+    defconfig = "nanopc-t4-rk3399_defconfig";
+
+    extraMeta = {
+      platforms = ["aarch64-linux"];
+      license = lib.licenses.unfreeRedistributableFirmware;
+    };
+    filesToInstall = ["u-boot.itb" "idbloader.img"];
+    postBuild = ''
+      ./tools/mkimage -n rk3399 -T rksd -d ${rkbin}/rk33/rk3399_ddr_800MHz_v1.24.bin idbloader.img
+      cat ${rkbin}/rk33/rk3399_miniloader_v1.19.bin >> idbloader.img
+    '';
+  };
+
   ubootNovena = buildUBoot {
     defconfig = "novena_defconfig";
     extraMeta.platforms = ["armv7l-linux"];
@@ -249,6 +270,12 @@ in {
     filesToInstall = ["u-boot-sunxi-with-spl.bin"];
   };
 
+  ubootOrangePiZero = buildUBoot {
+    defconfig = "orangepi_zero_defconfig";
+    extraMeta.platforms = ["armv7l-linux"];
+    filesToInstall = ["u-boot-sunxi-with-spl.bin"];
+  };
+
   ubootPcduino3Nano = buildUBoot {
     defconfig = "Linksprite_pcDuino3_Nano_defconfig";
     extraMeta.platforms = ["armv7l-linux"];
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index c3743bd67d14b..ad33bd7473a0b 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -65,12 +65,12 @@ let
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2021-01-27";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "82c8e3a3a3740b520c748ff181e5c29f508b8455";
-      sha256 = "0dfd5428lrd5nb098gzsggfnl75v916q2vxzfbbpi2lms8slm60k";
+      rev = "826878c41e546a93919aba08e5a134433222b3a5";
+      sha256 = "00nfjxrakl6p1knz8gy0n4flm537acj66nxvnb5hq3isn8h06gbw";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -89,24 +89,24 @@ let
 
   aniseed = buildVimPluginFrom2Nix {
     pname = "aniseed";
-    version = "2021-01-16";
+    version = "2021-02-27";
     src = fetchFromGitHub {
       owner = "Olical";
       repo = "aniseed";
-      rev = "9d3a5e926a5708039abcaf552c8ab3d133c37f80";
-      sha256 = "0waa122pk1mcbbhj7zrsb9ch0xmg0x3mpm627k7knpi4q8krgrzy";
+      rev = "984d84a1bda7208587feb3d62cfec5bcab404af2";
+      sha256 = "00gf2xm20wg0p1ik55jwhzlbd5sz06k3hk30415xayfa6flgh0n4";
     };
     meta.homepage = "https://github.com/Olical/aniseed/";
   };
 
   ansible-vim = buildVimPluginFrom2Nix {
     pname = "ansible-vim";
-    version = "2020-10-15";
+    version = "2021-02-20";
     src = fetchFromGitHub {
       owner = "pearofducks";
       repo = "ansible-vim";
-      rev = "7abb04c115742ec9a5f90b86170f0118680cf8ec";
-      sha256 = "185b4dari7y05p99756bqld4kk3d124ry4m4j7an8qm0zmpq648m";
+      rev = "de933417e5d37b10d1834095fcd0a1c8c360d34a";
+      sha256 = "1fwjpkzkpwy808949iqbsgi6kxyglfyzr1d5hc1911vbayn8wyjy";
     };
     meta.homepage = "https://github.com/pearofducks/ansible-vim/";
   };
@@ -161,12 +161,12 @@ let
 
   asyncomplete-vim = buildVimPluginFrom2Nix {
     pname = "asyncomplete-vim";
-    version = "2020-12-23";
+    version = "2021-02-27";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
       repo = "asyncomplete.vim";
-      rev = "e546095e4ac7a20d06bcf16d207275dd4d6b4115";
-      sha256 = "0jq5qrlijlqpfgi89249whvpmm140smflpprlq8as0pfyhpjn1d1";
+      rev = "f7f017e24277266984b54a9829adf51ba13f085d";
+      sha256 = "0kp8z1pwn057hm6bccp0v94mvvm2dcpdw6qlhjp1pzs8prgvp0nl";
     };
     meta.homepage = "https://github.com/prabirshrestha/asyncomplete.vim/";
   };
@@ -207,6 +207,18 @@ let
     meta.homepage = "https://github.com/jiangmiao/auto-pairs/";
   };
 
+  auto-session = buildVimPluginFrom2Nix {
+    pname = "auto-session";
+    version = "2021-02-05";
+    src = fetchFromGitHub {
+      owner = "rmagatti";
+      repo = "auto-session";
+      rev = "691155697a809af8797c1b935aa4e73187516d42";
+      sha256 = "199rcp3wcqg40a6lsrk83lv2kxgmnbapd5zw16jcxg4svy30dhfg";
+    };
+    meta.homepage = "https://github.com/rmagatti/auto-session/";
+  };
+
   autoload_cscope-vim = buildVimPluginFrom2Nix {
     pname = "autoload_cscope-vim";
     version = "2011-01-28";
@@ -221,12 +233,12 @@ let
 
   awesome-vim-colorschemes = buildVimPluginFrom2Nix {
     pname = "awesome-vim-colorschemes";
-    version = "2021-01-05";
+    version = "2021-02-26";
     src = fetchFromGitHub {
       owner = "rafi";
       repo = "awesome-vim-colorschemes";
-      rev = "ae48abdd39e24e187dac904c14caf6458b76838c";
-      sha256 = "12a31l2ggzihl1m1bjgmpmvw8zlqgvql01ryz1zrrhwmgzk8jk1h";
+      rev = "1ed59bff2a84e48e1a243a7e5d336a395f610e2a";
+      sha256 = "1acz9zwb9mwyhfckpzv22dy5c4bq83jrmvvbd22z9k0hm5py2538";
     };
     meta.homepage = "https://github.com/rafi/awesome-vim-colorschemes/";
   };
@@ -245,12 +257,12 @@ let
 
   barbar-nvim = buildVimPluginFrom2Nix {
     pname = "barbar-nvim";
-    version = "2021-01-16";
+    version = "2021-02-18";
     src = fetchFromGitHub {
       owner = "romgrk";
       repo = "barbar.nvim";
-      rev = "80860e972cdf78e0e0b8dc7f16e07142966f73cf";
-      sha256 = "009gnamainla5z2q98p6mi4gifmlbx5im7d2gx2d0da62cbdrcsl";
+      rev = "42d7112d78839ef9bd2b283ec0d9d82134e94b4f";
+      sha256 = "0i2vx60h27sal1crl8di4rq6dp4c8zjarknjl9z09l1s798l5i62";
     };
     meta.homepage = "https://github.com/romgrk/barbar.nvim/";
   };
@@ -305,12 +317,12 @@ let
 
   brainfuck-vim = buildVimPluginFrom2Nix {
     pname = "brainfuck-vim";
-    version = "2021-01-10";
+    version = "2021-01-28";
     src = fetchFromGitHub {
       owner = "fruit-in";
       repo = "brainfuck-vim";
-      rev = "d58b673eaa3dbc58975e9b23c09eac57c3e1e4b5";
-      sha256 = "178m0ada1a0gijdwikycszls41kzgx6ysbd2aavlkbnrvclrkfa9";
+      rev = "721bbe54df26906f79ed481069435596741f67f3";
+      sha256 = "130njfiwbgd6gpy52xm5ayadh9q11ahsin1a60y54a99qd8jz6wi";
     };
     meta.homepage = "https://github.com/fruit-in/brainfuck-vim/";
   };
@@ -341,12 +353,12 @@ let
 
   calendar-vim = buildVimPluginFrom2Nix {
     pname = "calendar-vim";
-    version = "2021-01-11";
+    version = "2021-01-30";
     src = fetchFromGitHub {
       owner = "itchyny";
       repo = "calendar.vim";
-      rev = "289fe67f9a20a88b93b570671cf8a5d258fc7b69";
-      sha256 = "17201r2nvy3jxf0f29ihqrln37xr4h3f2z20igjhajl3ajkg60h1";
+      rev = "4e454c2ca9a489f2631df24845615744bd594b61";
+      sha256 = "12vmysyvavvf1173i0m7jfzh2jsfqx5p7mdm3iafg4iv0209rz66";
     };
     meta.homepage = "https://github.com/itchyny/calendar.vim/";
   };
@@ -377,12 +389,12 @@ let
 
   chadtree = buildVimPluginFrom2Nix {
     pname = "chadtree";
-    version = "2021-01-28";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "2081a39a7458b55ac396f3e27b4875b41521a387";
-      sha256 = "0m79i175820lhng27v4jdz0pv3hfw5xv95kqhlifz6hbmc75mw61";
+      rev = "a43d2124a6b994df18b26a8a783f16534bac14cf";
+      sha256 = "0pqd4593wnlr7x6rb4lmj3vz4j41rrlkmbd4a18lq8ivp9q6faa0";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
@@ -413,12 +425,12 @@ let
 
   ci_dark = buildVimPluginFrom2Nix {
     pname = "ci_dark";
-    version = "2021-01-20";
+    version = "2021-02-21";
     src = fetchFromGitHub {
       owner = "chuling";
       repo = "ci_dark";
-      rev = "ba5e404ded9f5bcfae68a6ad440ba3909eb7baff";
-      sha256 = "1377apvlwq3i755ply54yi7wz96fflwc4w4aash3hjbjmv0r6ff4";
+      rev = "29eee5e5c23b3fde59192df92baf7ba775867092";
+      sha256 = "0plq37r00d5sn6hci7wn8df09dca3cigvd80pq08pcngbm4h19wl";
     };
     meta.homepage = "https://github.com/chuling/ci_dark/";
   };
@@ -461,48 +473,48 @@ let
 
   coc-denite = buildVimPluginFrom2Nix {
     pname = "coc-denite";
-    version = "2021-01-14";
+    version = "2021-02-24";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-denite";
-      rev = "819b0e334431a9e914d69f3fedf68122799fcab9";
-      sha256 = "02zy4ip7m1jivqzs67c8bzc8lis8wxkm38nvk6nngz2790xpfywc";
+      rev = "37016bc170014e36fc8212b2dc7ce7adda48bbe3";
+      sha256 = "0kpw2gfkpdfsi2kwm6rbzmz3diyinc3lcf91rxm8wyw486sp0s10";
     };
     meta.homepage = "https://github.com/neoclide/coc-denite/";
   };
 
   coc-explorer = buildVimPluginFrom2Nix {
     pname = "coc-explorer";
-    version = "2021-01-26";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "weirongxu";
       repo = "coc-explorer";
-      rev = "3b4d3128328d20fcf683c76f1efc29b93001b9a6";
-      sha256 = "1s3yma34qrpdz5mra7bspnd42kw6c3nqhl3ql5mmrabn0ry3ajvz";
+      rev = "62206b3cf8e06137919e8cbdcb52c474fe1dbd95";
+      sha256 = "0y1j2qmncp0n2piiayfbfk39rj0nivjx0wfjh9wnq0s1y2ijcg91";
     };
     meta.homepage = "https://github.com/weirongxu/coc-explorer/";
   };
 
   coc-fzf = buildVimPluginFrom2Nix {
     pname = "coc-fzf";
-    version = "2020-12-29";
+    version = "2021-02-27";
     src = fetchFromGitHub {
       owner = "antoinemadec";
       repo = "coc-fzf";
-      rev = "a8b32b8b8a37d7fb87687c0187b7ad36987e2122";
-      sha256 = "1x6xfizcix1hlcl2dhxbaxxl2q7lpgnfyvdg81c88rcn68qykfn0";
+      rev = "3c8ca6127af51768cad8ff1074db5a9713d7fe13";
+      sha256 = "17988plg3zrfnfzp4pr292qbk5zi8qgjldkhqsv5w9w38a02gxqj";
     };
     meta.homepage = "https://github.com/antoinemadec/coc-fzf/";
   };
 
   coc-lua = buildVimPluginFrom2Nix {
     pname = "coc-lua";
-    version = "2021-01-16";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "josa42";
       repo = "coc-lua";
-      rev = "07a533b2b1202beda8e07e4d605584a8b7525e3d";
-      sha256 = "1r8yijfm9m0g4r2d1q3ja05vjy7li578ix2c2wbq8iy3i10g8lkl";
+      rev = "6f5b03b5d0ea59d73f809cb2a26317be6b0e14b8";
+      sha256 = "1vcqm994i8d985k2fp09s3y1db87yk6pa4mnywzg561nk00rm5vh";
     };
     meta.homepage = "https://github.com/josa42/coc-lua/";
   };
@@ -533,12 +545,12 @@ let
 
   coc-nvim = buildVimPluginFrom2Nix {
     pname = "coc-nvim";
-    version = "2021-01-28";
+    version = "2021-02-25";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc.nvim";
-      rev = "a336a8bc251702d9526a6818ae56e86d92fafc0c";
-      sha256 = "0jh5ik1w6qyp9scr9qxi47n7b8xgznknhsriwcpw2axs9ff00zz8";
+      rev = "70e5a383cd1c5e39505ef016e8507e7daa4bc7dc";
+      sha256 = "0mgaj8d1jl2rh56a5mgl0wwwjmgmyk4vcxh19yyvpji73gpkywxh";
     };
     meta.homepage = "https://github.com/neoclide/coc.nvim/";
   };
@@ -604,6 +616,30 @@ let
     meta.homepage = "https://github.com/rhysd/committia.vim/";
   };
 
+  compe-conjure = buildVimPluginFrom2Nix {
+    pname = "compe-conjure";
+    version = "2021-02-02";
+    src = fetchFromGitHub {
+      owner = "tami5";
+      repo = "compe-conjure";
+      rev = "809853ff8098dffcf8ba5ac89bcf07806eb8f981";
+      sha256 = "0p7p4bgkh05zy0gzmq0g9nn9npykh1l17cvfzjyhcb3n1sczpjzf";
+    };
+    meta.homepage = "https://github.com/tami5/compe-conjure/";
+  };
+
+  compe-tabnine = buildVimPluginFrom2Nix {
+    pname = "compe-tabnine";
+    version = "2021-02-24";
+    src = fetchFromGitHub {
+      owner = "tzachar";
+      repo = "compe-tabnine";
+      rev = "b1521bb52a9ddeacc2a7db56aa26d45dc91e6277";
+      sha256 = "1dknyar320rpaqq8l5kwq0n3lvmgw4qpjybg4dnz69ms54xijpr7";
+    };
+    meta.homepage = "https://github.com/tzachar/compe-tabnine/";
+  };
+
   completion-buffers = buildVimPluginFrom2Nix {
     pname = "completion-buffers";
     version = "2021-01-17";
@@ -666,12 +702,12 @@ let
 
   conjure = buildVimPluginFrom2Nix {
     pname = "conjure";
-    version = "2021-01-16";
+    version = "2021-02-27";
     src = fetchFromGitHub {
       owner = "Olical";
       repo = "conjure";
-      rev = "94a55a46ecbbd169436f4f937060c8d449a74c51";
-      sha256 = "074ksnsisv1yvf3fcvgz9bl8s15q5z8h2hvfmymhf53rxbfh7dfk";
+      rev = "4dc7c745618a24799af44797c51af7cc308e42a4";
+      sha256 = "1p0bck7gh1alybfz14s0yaawx056mfqjc8hba1wappch4jp07si6";
     };
     meta.homepage = "https://github.com/Olical/conjure/";
   };
@@ -702,12 +738,12 @@ let
 
   Coqtail = buildVimPluginFrom2Nix {
     pname = "Coqtail";
-    version = "2021-01-26";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "whonore";
       repo = "Coqtail";
-      rev = "c4d5c58771dd854671bd26b94693ecc1ffa21e39";
-      sha256 = "1r66h030f1952cl1bgynwb3r80zjh5imxwm87gnyjk6rg9kpjqnd";
+      rev = "7f6509ab9d405c9ba7a1f06cb9533bfe570becf5";
+      sha256 = "088iy90rsxskaalqagw54w159gy0wlcq751b989bf5knz2f1d3c5";
     };
     meta.homepage = "https://github.com/whonore/Coqtail/";
   };
@@ -750,12 +786,12 @@ let
 
   csv-vim = buildVimPluginFrom2Nix {
     pname = "csv-vim";
-    version = "2020-10-07";
+    version = "2021-02-18";
     src = fetchFromGitHub {
       owner = "chrisbra";
       repo = "csv.vim";
-      rev = "350af4840991142230103e4f4fc58581d9c07812";
-      sha256 = "1ibmrz1h51iy5ffvwalfydgjvdsfjvbpz1s1zmsalpv8mlswrhij";
+      rev = "73c8eeca4c89768e4c53bb7a83cc3741bdcb5c7d";
+      sha256 = "0hdcq8acylp8i3gh0agxjr3v34q6c4qmdwnpx1v31y3cy0j8k7v3";
     };
     meta.homepage = "https://github.com/chrisbra/csv.vim/";
   };
@@ -820,6 +856,18 @@ let
     meta.homepage = "https://github.com/dart-lang/dart-vim-plugin/";
   };
 
+  dashboard-nvim = buildVimPluginFrom2Nix {
+    pname = "dashboard-nvim";
+    version = "2021-02-27";
+    src = fetchFromGitHub {
+      owner = "glepnir";
+      repo = "dashboard-nvim";
+      rev = "3957e4d25c9625812d9d47ea448c68015b1092e8";
+      sha256 = "15jbszl0ip5hjf9nfvs9y90shqz0ix04za1l96kfik1p47y7wjd8";
+    };
+    meta.homepage = "https://github.com/glepnir/dashboard-nvim/";
+  };
+
   defx-git = buildVimPluginFrom2Nix {
     pname = "defx-git";
     version = "2021-01-01";
@@ -846,12 +894,12 @@ let
 
   defx-nvim = buildVimPluginFrom2Nix {
     pname = "defx-nvim";
-    version = "2021-01-23";
+    version = "2021-02-28";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "defx.nvim";
-      rev = "09c8f1bff43b0cc607f7aeab872f04fcf26b150b";
-      sha256 = "1sapg0az9vfd33vhxxi68hd23c01p8fy5yvx8fy0mvj5ak2gzbnn";
+      rev = "f4e082b3e4a62ca2cd5dfe041288f4acf3b2031f";
+      sha256 = "1lm4x0skg9mm776bm7s34sjmxjjvcsy7gjn95qhplg7r6799xsn0";
     };
     meta.homepage = "https://github.com/Shougo/defx.nvim/";
   };
@@ -894,24 +942,24 @@ let
 
   denite-nvim = buildVimPluginFrom2Nix {
     pname = "denite-nvim";
-    version = "2021-01-28";
+    version = "2021-02-26";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "denite.nvim";
-      rev = "50a2abf1aa4ca8e192752da55e4102590ce71d9b";
-      sha256 = "1bvmy8rz6wqrxb2xm1v5kzl95va8qjy8z719j3b562qg10igjyl9";
+      rev = "4eb4327162c4ec885446b349149b5d25b7307bc7";
+      sha256 = "0h4f1axd53lc5k5c6kv2zcsxhh3pjbl7hmi7y15qnvbgr8xa8s4x";
     };
     meta.homepage = "https://github.com/Shougo/denite.nvim/";
   };
 
   deol-nvim = buildVimPluginFrom2Nix {
     pname = "deol-nvim";
-    version = "2021-01-27";
+    version = "2021-02-22";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deol.nvim";
-      rev = "0c6e1653f0d0a904efa8da01e470ffe0bd1bf594";
-      sha256 = "1jfwzvblcfx7yx0lhwps0smgsblrc0azncv1bzliyx27in3gn59s";
+      rev = "d66c706c9788aa47399485a3ec29a2a76711a188";
+      sha256 = "09bj5442xln6a98ncnq1lxkyrl8c973p9sfd02zl1a3f16sms415";
     };
     meta.homepage = "https://github.com/Shougo/deol.nvim/";
   };
@@ -1040,12 +1088,12 @@ let
 
   deoplete-lsp = buildVimPluginFrom2Nix {
     pname = "deoplete-lsp";
-    version = "2020-12-26";
+    version = "2021-02-07";
     src = fetchFromGitHub {
       owner = "deoplete-plugins";
       repo = "deoplete-lsp";
-      rev = "760eb2f647a518144ca1dc1091cc449c0dbee71e";
-      sha256 = "0dcq79xqfb5qnjinwni0bi3vn2sfsri8wmc75wgvw2114vyf2k9a";
+      rev = "e526dbecda137e37c45492ce72fa92ea32314154";
+      sha256 = "03dwis03zx88j4dan1y39b03rvf7f2q7hykhgqsfcx1zj8lp8s7n";
     };
     meta.homepage = "https://github.com/deoplete-plugins/deoplete-lsp/";
   };
@@ -1088,12 +1136,12 @@ let
 
   deoplete-tabnine = buildVimPluginFrom2Nix {
     pname = "deoplete-tabnine";
-    version = "2021-01-15";
+    version = "2021-02-28";
     src = fetchFromGitHub {
       owner = "tbodt";
       repo = "deoplete-tabnine";
-      rev = "80a329eca215f48de8a4e575af55607700ddc93e";
-      sha256 = "1i23ajbkx3yrll4mnqzf17g66c9x5g6ih3hk3acjq7h3m6ifgfyi";
+      rev = "6997d621f6bd10351041be8e9dfbc6874009bf1b";
+      sha256 = "17xxxk75w852qj89b1283pff1rsv6qd3siy14sxrz4455x4j1sj5";
     };
     meta.homepage = "https://github.com/tbodt/deoplete-tabnine/";
   };
@@ -1112,12 +1160,12 @@ let
 
   deoplete-vim-lsp = buildVimPluginFrom2Nix {
     pname = "deoplete-vim-lsp";
-    version = "2020-12-21";
+    version = "2021-02-22";
     src = fetchFromGitHub {
       owner = "lighttiger2505";
       repo = "deoplete-vim-lsp";
-      rev = "0c5d9e6efd6a7bea503faa854c41a3e5af00ec57";
-      sha256 = "1hckg9p7srw2d674is0wzilnwwvw1s2q8xapr6dawslm5j364xlk";
+      rev = "af5432f1e063fd4c3a5879aa8c2afe82c17dc1c9";
+      sha256 = "1s6fw6vkpl0yiya22g13v4i14w3n1ds2zr8zdlwpkk44bf0225px";
     };
     meta.homepage = "https://github.com/lighttiger2505/deoplete-vim-lsp/";
   };
@@ -1136,12 +1184,12 @@ let
 
   deoplete-nvim = buildVimPluginFrom2Nix {
     pname = "deoplete-nvim";
-    version = "2021-01-25";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete.nvim";
-      rev = "2e3f5b5c24152d9aa4a0299ce6d1b7a6b76327eb";
-      sha256 = "0yf35ak46pnknas6isvi4gpyc9n757a46kjvwwyh32pznfqpl41p";
+      rev = "a4683be7c58c346458e2cdb1f8b244e14fe35a8e";
+      sha256 = "0ph4mj4s2gklr8rz8ny80i91r7fcivh9kb5q0y20c19mmyjsvifm";
     };
     meta.homepage = "https://github.com/Shougo/deoplete.nvim/";
   };
@@ -1220,12 +1268,12 @@ let
 
   echodoc-vim = buildVimPluginFrom2Nix {
     pname = "echodoc-vim";
-    version = "2021-01-28";
+    version = "2021-02-23";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "echodoc.vim";
-      rev = "c805de7e9811cd298861c7bc6ef455093dcdfaf5";
-      sha256 = "1jhhscldckydzzjnl1jki3025brmlbmr7czhw1s30jx5wr00zc5w";
+      rev = "af235aaaa74f41cd83181a16b9f17c16e56afc47";
+      sha256 = "1jzn7w6rv2bl1m4aqm716flg28jdjsgkikfjjjiz4if5vjsfj0lw";
     };
     meta.homepage = "https://github.com/Shougo/echodoc.vim/";
   };
@@ -1306,24 +1354,24 @@ let
 
   falcon = buildVimPluginFrom2Nix {
     pname = "falcon";
-    version = "2020-04-16";
+    version = "2021-02-01";
     src = fetchFromGitHub {
       owner = "fenetikm";
       repo = "falcon";
-      rev = "da3468536410eb1ea59a0dd3054edf28d4577d8c";
-      sha256 = "1cvw3n8ysxnm3w0rvk1rks815ha5grca1p3c7bkas6klrplfhlsc";
+      rev = "e2efdb0d0827f7ec417583b25142f19714ece2ea";
+      sha256 = "1s4i9rv1kcpry1zldpml908xv1r5hn0darip701y14njbmk9fff8";
     };
     meta.homepage = "https://github.com/fenetikm/falcon/";
   };
 
   far-vim = buildVimPluginFrom2Nix {
     pname = "far-vim";
-    version = "2021-01-21";
+    version = "2021-02-19";
     src = fetchFromGitHub {
       owner = "brooth";
       repo = "far.vim";
-      rev = "b3e7b62ef6820ccdcbdc6070f3573b658aafba43";
-      sha256 = "0lf2vlsyk4ymhyscnpla417hvh6qdi8cablammnc5vsk1hmqvc3i";
+      rev = "e67b1dbe5842b709687c214fea38ca00f0ffe6c6";
+      sha256 = "1ljvl7p2k3bgl54srf6kvshqq16qwfa34ppj982fp2bzzal819l1";
     };
     meta.homepage = "https://github.com/brooth/far.vim/";
   };
@@ -1354,12 +1402,12 @@ let
 
   fern-vim = buildVimPluginFrom2Nix {
     pname = "fern-vim";
-    version = "2021-01-20";
+    version = "2021-02-28";
     src = fetchFromGitHub {
       owner = "lambdalisue";
       repo = "fern.vim";
-      rev = "4ec2a38578726daed584a161450b1ead05b0c9db";
-      sha256 = "1k0cc39fb57hz9yv9w2bgbhciia91ls9931xqvr4jmvlx9z99b25";
+      rev = "c09eb24de7a647a2b4878f8dc86b3d3565b3e8af";
+      sha256 = "0mqrrb899bgf13r2klkqh4ycz167fx98kjnrhdg2jhq8gg85i0ih";
     };
     meta.homepage = "https://github.com/lambdalisue/fern.vim/";
   };
@@ -1463,36 +1511,36 @@ let
 
   fzf-lsp-nvim = buildVimPluginFrom2Nix {
     pname = "fzf-lsp-nvim";
-    version = "2021-01-19";
+    version = "2021-02-04";
     src = fetchFromGitHub {
       owner = "gfanto";
       repo = "fzf-lsp.nvim";
-      rev = "5b12d8de47608570b404270c00742e3977ed3103";
-      sha256 = "0y23i1gj4y517qs4ff43fi3ivkz4gmidrvcf6n314nwjgzikff6w";
+      rev = "1386cbae761415b9c7b45565d87283fb4d584aed";
+      sha256 = "1ab4si6j6s6fimpr513mqbhc5nnlsqmazw26cl7r89lbq7jswhyv";
     };
     meta.homepage = "https://github.com/gfanto/fzf-lsp.nvim/";
   };
 
   fzf-vim = buildVimPluginFrom2Nix {
     pname = "fzf-vim";
-    version = "2021-01-27";
+    version = "2021-02-02";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "fzf.vim";
-      rev = "707f5b6269337ea5c19fc4054cd2574939f817f5";
-      sha256 = "1xb6zs7k8d815jzjs877ik6bp9bnyasv59jpnjv6fanxaaqas711";
+      rev = "02a192ea0bed22a015e005b281e55e0da2a8e496";
+      sha256 = "0znlzjni031vagj83d60nararb67cli5fpp2lc37k9p8xnff1mjv";
     };
     meta.homepage = "https://github.com/junegunn/fzf.vim/";
   };
 
   galaxyline-nvim = buildVimPluginFrom2Nix {
     pname = "galaxyline-nvim";
-    version = "2021-01-27";
+    version = "2021-02-22";
     src = fetchFromGitHub {
       owner = "glepnir";
       repo = "galaxyline.nvim";
-      rev = "d49b8b16ce3a0765ff6e2a861b0205aec5fd946a";
-      sha256 = "0l5rdlfrcfywfchg3fkppdhzgm084cmrdiw3pms420rqvpdpr93l";
+      rev = "916c00d6a53ab492a46b1f8aa3e052136e804483";
+      sha256 = "18yvbxa5rc2s1qyv94d7y6jd2b10ivcv01i42w80gp2kbipp9nay";
     };
     meta.homepage = "https://github.com/glepnir/galaxyline.nvim/";
   };
@@ -1511,24 +1559,24 @@ let
 
   gentoo-syntax = buildVimPluginFrom2Nix {
     pname = "gentoo-syntax";
-    version = "2020-12-16";
+    version = "2021-02-07";
     src = fetchFromGitHub {
       owner = "gentoo";
       repo = "gentoo-syntax";
-      rev = "4cc031a5d3384ee9cc3225ff038a633be6b7125f";
-      sha256 = "0pdska6qkk734hplhyp2cw89xn2c897vgw72fgn2239pqryz5g4n";
+      rev = "762f31ff620eb822ae4ca43c5dc2a62ca621f5fe";
+      sha256 = "035nj257r2nkwriqq5l4qjn5z1a04l39k4i9s1yz0mgv902kmics";
     };
     meta.homepage = "https://github.com/gentoo/gentoo-syntax/";
   };
 
   ghcid = buildVimPluginFrom2Nix {
     pname = "ghcid";
-    version = "2021-01-12";
+    version = "2021-02-14";
     src = fetchFromGitHub {
       owner = "ndmitchell";
       repo = "ghcid";
-      rev = "52883ef368c97b013dad5c9afcf6cd9bdae9875a";
-      sha256 = "06mw3y3idzsbr2kb74vlrwjds4pzgp1fknjbabdpw38y90ax0j8c";
+      rev = "abbb157ac9d06fdfba537f97ab96e197b3bb36cb";
+      sha256 = "008alqgqbrjh9sqgazqq1kk5hnpikd8afnia5lx9rv8c2am1d2fv";
     };
     meta.homepage = "https://github.com/ndmitchell/ghcid/";
   };
@@ -1547,12 +1595,12 @@ let
 
   git-messenger-vim = buildVimPluginFrom2Nix {
     pname = "git-messenger-vim";
-    version = "2020-12-27";
+    version = "2021-02-28";
     src = fetchFromGitHub {
       owner = "rhysd";
       repo = "git-messenger.vim";
-      rev = "a67de1d08cffa547183bbc2f95c4e29723504263";
-      sha256 = "0pjw17z76yq873jh74pr01r3ay4blzb4j0ghax553fb0d8ni4lkl";
+      rev = "b79422434a419b97c5817d9ff645216952152443";
+      sha256 = "0xwz4kw5mwqrh6s9vyzzx4fdl7335n9qjxzhm1c41hh1j2ikwqa9";
     };
     meta.homepage = "https://github.com/rhysd/git-messenger.vim/";
   };
@@ -1571,12 +1619,12 @@ let
 
   gitsigns-nvim = buildVimPluginFrom2Nix {
     pname = "gitsigns-nvim";
-    version = "2021-01-19";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "gitsigns.nvim";
-      rev = "59f7091554378794229bccca1faef6cfcc662024";
-      sha256 = "05s2ln800gxw0xk53gf8zsv01hxdznhrqrkprp4iki4k28lay5kd";
+      rev = "cdf8e98ca16521138e1376279772dfcf60008ec8";
+      sha256 = "0f4lw019qdsxj9rqpcjc5rr9wgabwbp1af0r2p56zx2cy9iyz4y6";
     };
     meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
   };
@@ -1655,24 +1703,24 @@ let
 
   gruvbox-community = buildVimPluginFrom2Nix {
     pname = "gruvbox-community";
-    version = "2021-01-17";
+    version = "2021-02-23";
     src = fetchFromGitHub {
       owner = "gruvbox-community";
       repo = "gruvbox";
-      rev = "c73e63203f76ab8e39b2b05369c0a8877a981435";
-      sha256 = "0lwvv5chxq0fb9k1y73g5zr8v54xghlqnq64k0vx2v2ravp3313r";
+      rev = "deb4e40e4f26b0ca9db81e5463110c060f24635a";
+      sha256 = "1l1bji23vgxgs23a2gpywnq9q03bd44lh159da54pdk69fngj3lk";
     };
     meta.homepage = "https://github.com/gruvbox-community/gruvbox/";
   };
 
   gundo-vim = buildVimPluginFrom2Nix {
     pname = "gundo-vim";
-    version = "2020-01-15";
+    version = "2021-02-21";
     src = fetchFromGitHub {
       owner = "sjl";
       repo = "gundo.vim";
-      rev = "99e6240340d9ba07b66c544daf44fa7caffbf7e7";
-      sha256 = "0py35mmwnfl581isnbh33j3bjgghq17jnamdi1bg3akwyn1jyhqb";
+      rev = "c5efef192b975b8e7d5fa3c6db932648d3b76323";
+      sha256 = "1smavxh0nmx4la75b1fjh8cs2x8p8ahxls034254vnm05wiwvghh";
     };
     meta.homepage = "https://github.com/sjl/gundo.vim/";
   };
@@ -1737,6 +1785,18 @@ let
     meta.homepage = "https://github.com/urbit/hoon.vim/";
   };
 
+  hop-nvim = buildVimPluginFrom2Nix {
+    pname = "hop-nvim";
+    version = "2021-02-26";
+    src = fetchFromGitHub {
+      owner = "phaazon";
+      repo = "hop.nvim";
+      rev = "b844a533d654271c66cea44182522a56b2d0c8c1";
+      sha256 = "0v54q2dz98k9qivsmcj3l41gxc1abdfvvgkksclqjg8qcqq1pl6w";
+    };
+    meta.homepage = "https://github.com/phaazon/hop.nvim/";
+  };
+
   i3config-vim = buildVimPluginFrom2Nix {
     pname = "i3config-vim";
     version = "2020-03-28";
@@ -1847,12 +1907,12 @@ let
 
   indentLine = buildVimPluginFrom2Nix {
     pname = "indentLine";
-    version = "2020-11-27";
+    version = "2021-01-28";
     src = fetchFromGitHub {
       owner = "Yggdroot";
       repo = "indentLine";
-      rev = "a03953d4e89ebc372674f88303c5d4933709fea6";
-      sha256 = "0yxx925wrxf3hyllvqnbyiy39bw075vmzzys9jx0aimk7dmf1w9l";
+      rev = "5617a1cf7d315e6e6f84d825c85e3b669d220bfa";
+      sha256 = "1ns3v4r5m6ckchmkaqkpk8dymh7hwj22d7x23hagmk4zv4hc2mhq";
     };
     meta.homepage = "https://github.com/Yggdroot/indentLine/";
   };
@@ -1931,12 +1991,12 @@ let
 
   jedi-vim = buildVimPluginFrom2Nix {
     pname = "jedi-vim";
-    version = "2021-01-03";
+    version = "2021-02-26";
     src = fetchFromGitHub {
       owner = "davidhalter";
       repo = "jedi-vim";
-      rev = "960eaa8053e5516195966321e06568750b2feb28";
-      sha256 = "1ap9h7a6ybv6yvvszizyhzmgjhxd5xzaw2f6x7wn8dcsk7isy0a5";
+      rev = "088469a8eeffe421d522e953c4b49de486a0cbce";
+      sha256 = "0vwz33ffawazdk6dsmd6m2fiygi9sn7xn601bzfcgf73z1sc41gh";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/davidhalter/jedi-vim/";
@@ -1980,24 +2040,24 @@ let
 
   julia-vim = buildVimPluginFrom2Nix {
     pname = "julia-vim";
-    version = "2021-01-07";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "JuliaEditorSupport";
       repo = "julia-vim";
-      rev = "ce48f42f1fd1d4566503ae26307026c895905a10";
-      sha256 = "08yk47pvyh550iqv6zvrxcjdinn0w9p5al1v49m7p49jfqck3h1m";
+      rev = "6db659027d6a5ba6b11b1a3333b0bd301dd01574";
+      sha256 = "0c7qcafjk0chdxg027lihrypxlr10nvk1xzs82icqis0ija3yppg";
     };
     meta.homepage = "https://github.com/JuliaEditorSupport/julia-vim/";
   };
 
   kotlin-vim = buildVimPluginFrom2Nix {
     pname = "kotlin-vim";
-    version = "2020-11-02";
+    version = "2021-02-17";
     src = fetchFromGitHub {
       owner = "udalov";
       repo = "kotlin-vim";
-      rev = "f338707b2aa658aef4c0d98fd9748240859cf2a9";
-      sha256 = "0wm9bkykvm89f966a8wxm5vvg9kjayy5iziahnch35hrmscs5x4b";
+      rev = "7f967873c8a3e566bdf10715569319a632f3de93";
+      sha256 = "1db6i2w93pfgw1nkhgw9m75crbx62rh5cvw7pbjs69xmbfd2zlld";
     };
     meta.homepage = "https://github.com/udalov/kotlin-vim/";
   };
@@ -2112,12 +2172,12 @@ let
 
   lf-vim = buildVimPluginFrom2Nix {
     pname = "lf-vim";
-    version = "2020-11-19";
+    version = "2021-02-18";
     src = fetchFromGitHub {
       owner = "ptzz";
       repo = "lf.vim";
-      rev = "72c5c03ea2fa8e3f0003c3dbdd5d6431bb2cb863";
-      sha256 = "1niswynnsnl2fhfy2hlvqngikm87i49il92vaj83hnkn93p7jc83";
+      rev = "73fb502c6d1470243b1f4d8afa81e289d9edd94b";
+      sha256 = "1whrzpavv46r64l3b7vax4sj23kjdfjiwmhfpssb6bprhc9c4j97";
     };
     meta.homepage = "https://github.com/ptzz/lf.vim/";
   };
@@ -2136,12 +2196,12 @@ let
 
   lh-vim-lib = buildVimPluginFrom2Nix {
     pname = "lh-vim-lib";
-    version = "2021-01-06";
+    version = "2021-02-23";
     src = fetchFromGitHub {
       owner = "LucHermitte";
       repo = "lh-vim-lib";
-      rev = "65614730a667144a444fbd4a028a81171481c537";
-      sha256 = "1vxm3ym51qa63zbrkdz2pvwafr3kmdxgpxrdwb1g8i7qsxjsvgl1";
+      rev = "7afb5525addfab7c177c2912a7aa98053c79e495";
+      sha256 = "18jwc65q0k1q7nd2w31gi476cg4h7bfrr7z39is3s3qw0z2nprp9";
     };
     meta.homepage = "https://github.com/LucHermitte/lh-vim-lib/";
   };
@@ -2160,12 +2220,12 @@ let
 
   lightline-bufferline = buildVimPluginFrom2Nix {
     pname = "lightline-bufferline";
-    version = "2020-12-28";
+    version = "2021-02-28";
     src = fetchFromGitHub {
       owner = "mengelbrecht";
       repo = "lightline-bufferline";
-      rev = "510c8be3d78bb58f25976ff9e7415c8cdc2a3054";
-      sha256 = "0bd44jkz07pdzzs1vh0lkkms1vw8cd96wlsh8sa37mkx8bk5js5n";
+      rev = "9cec4e2329324366801e1272305be907d141d77c";
+      sha256 = "1xz36jrm3iql6xgznycwf8mxlaw05f788k4p9xbvcrh3i0zck1za";
     };
     meta.homepage = "https://github.com/mengelbrecht/lightline-bufferline/";
   };
@@ -2194,50 +2254,74 @@ let
     meta.homepage = "https://github.com/junegunn/limelight.vim/";
   };
 
+  lispdocs-nvim = buildVimPluginFrom2Nix {
+    pname = "lispdocs-nvim";
+    version = "2021-02-22";
+    src = fetchFromGitHub {
+      owner = "tami5";
+      repo = "lispdocs.nvim";
+      rev = "2410236d448aa8f407f6a203d90282c34d48b52a";
+      sha256 = "0kkg7nbnqj1v46bqq73l58m743p0p7jcbgpscjb16n9ab0n8jqns";
+    };
+    meta.homepage = "https://github.com/tami5/lispdocs.nvim/";
+  };
+
   lsp-status-nvim = buildVimPluginFrom2Nix {
     pname = "lsp-status-nvim";
-    version = "2021-01-05";
+    version = "2021-02-14";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "lsp-status.nvim";
-      rev = "5215ea78a5949b42b86bf474d33608de6b7594a3";
-      sha256 = "05h8n0ggi55g4ri9jsa4210knds0rxp8ym2knlq3njy40q0jjaxd";
+      rev = "925acdab0886fe5f0752561ea49e95b9f02e09c7";
+      sha256 = "0rd3gqgz573ll11wnw1r182siamc3cxqqf3cyhqznkiq7bw2g9xh";
     };
     meta.homepage = "https://github.com/nvim-lua/lsp-status.nvim/";
   };
 
   lsp_extensions-nvim = buildVimPluginFrom2Nix {
     pname = "lsp_extensions-nvim";
-    version = "2020-11-30";
+    version = "2021-02-17";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "lsp_extensions.nvim";
-      rev = "25951aca067b3a22f303f59d8eac2101d861850a";
-      sha256 = "0bl7y9xpvlmisizyyykjskxmrg01s6p7nkgdfskx14dv2f8dmv8q";
+      rev = "ce5d03822fda9ddbdeb2461e5b4c06c1641fe7ea";
+      sha256 = "1gybxaxgbq1s1ijvrl9h9nq443cyrdnhgi1yjqxzrr64wz7nr8v0";
     };
     meta.homepage = "https://github.com/nvim-lua/lsp_extensions.nvim/";
   };
 
+  lspkind-nvim = buildVimPluginFrom2Nix {
+    pname = "lspkind-nvim";
+    version = "2021-02-06";
+    src = fetchFromGitHub {
+      owner = "onsails";
+      repo = "lspkind-nvim";
+      rev = "953ca895203c095e13f97a8ece790bf546c82d1c";
+      sha256 = "15rfzcmfwig7x8pbgc1maimqkqwqr4dbpf7498a0s16vng673bgk";
+    };
+    meta.homepage = "https://github.com/onsails/lspkind-nvim/";
+  };
+
   lspsaga-nvim = buildVimPluginFrom2Nix {
     pname = "lspsaga-nvim";
-    version = "2021-01-28";
+    version = "2021-02-28";
     src = fetchFromGitHub {
       owner = "glepnir";
       repo = "lspsaga.nvim";
-      rev = "23320342240307163d50d96ed2509740db3b3684";
-      sha256 = "1pxld0gx5i6mzg367c1z3nag5pbqyf57syw88w64yjxxvn1h151h";
+      rev = "1fabedb8d93896abda55660c8fd6c8ad7d953af0";
+      sha256 = "0lib7ly88isbz1kqj172fjycw71a9rl2zhffipkkgwlcz5i5hkm9";
     };
     meta.homepage = "https://github.com/glepnir/lspsaga.nvim/";
   };
 
   lualine-nvim = buildVimPluginFrom2Nix {
     pname = "lualine-nvim";
-    version = "2021-01-21";
+    version = "2021-02-28";
     src = fetchFromGitHub {
       owner = "hoob3rt";
       repo = "lualine.nvim";
-      rev = "a2a9193296414aea13efa3a02fafb115f0226276";
-      sha256 = "1n3c7zmpqv3xr750b7nbk1q08abhx2frhvbqhpd28vi2lf075bxa";
+      rev = "8c8a4896125e9d01063bbf906af77c9d8faf39b4";
+      sha256 = "0zz2b5ph7jadfk6kw14s38w4nch4wyrvm24qyijpan67k7nz1qpy";
     };
     meta.homepage = "https://github.com/hoob3rt/lualine.nvim/";
   };
@@ -2304,12 +2388,12 @@ let
 
   minimap-vim = buildVimPluginFrom2Nix {
     pname = "minimap-vim";
-    version = "2021-01-04";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "wfxr";
       repo = "minimap.vim";
-      rev = "3e9ba8aae59441ed82b50b186f608e03aecb4f0e";
-      sha256 = "1z264hr0vbsdc0ffaiflzq952xv4h1g55i08dnlifvpizhqbalv6";
+      rev = "3fe7878d83156cc9351fa94e25b0de854bcd6f8d";
+      sha256 = "1l9di7q0mlbcgs4xbqg2ias3hy5qib72zi1nwjw06snxlffz2hpq";
     };
     meta.homepage = "https://github.com/wfxr/minimap.vim/";
   };
@@ -2532,12 +2616,12 @@ let
 
   neco-ghc = buildVimPluginFrom2Nix {
     pname = "neco-ghc";
-    version = "2020-12-19";
+    version = "2021-02-22";
     src = fetchFromGitHub {
       owner = "eagletmt";
       repo = "neco-ghc";
-      rev = "ba23875fadc5e9022acb9d746b99f6fe5155d586";
-      sha256 = "08q3wlaq6a8acfcbhh3gdhzwn5rr7w18aqqww0z76hgblav11a4k";
+      rev = "699897c2f4ba82c4fd2be6b93c9a2e8e548efe4e";
+      sha256 = "03g2mky83a5zd54wzjhc1cv4pwkzcadskjm1c7b36k85yw35v88a";
     };
     meta.homepage = "https://github.com/eagletmt/neco-ghc/";
   };
@@ -2580,12 +2664,12 @@ let
 
   neocomplete-vim = buildVimPluginFrom2Nix {
     pname = "neocomplete-vim";
-    version = "2020-08-12";
+    version = "2021-02-18";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neocomplete.vim";
-      rev = "f80bbf8f2f1717a127e5fbe885729daa862def81";
-      sha256 = "0cks5fvr05k0lp2mwflqzx0mq6a3881c1304hdyci57j5bkkyvkj";
+      rev = "fc2d22c23962290cc0b32f50bf18add6a4573bdf";
+      sha256 = "04sxri3anr5d8zdqw11fn8nqf86wxin4lza78dp2x52kgrjawpla";
     };
     meta.homepage = "https://github.com/Shougo/neocomplete.vim/";
   };
@@ -2604,16 +2688,28 @@ let
 
   neoformat = buildVimPluginFrom2Nix {
     pname = "neoformat";
-    version = "2021-01-20";
+    version = "2021-02-06";
     src = fetchFromGitHub {
       owner = "sbdchd";
       repo = "neoformat";
-      rev = "c1d63f047c2fc1dba638a80c24d9b9b44ceb9f50";
-      sha256 = "1q92lxdy8mgiv3ffp2gxsf0acp98hk3yh3lkvsaj6crdwbrq1ss9";
+      rev = "a75d96054618c47fbafef964d4d705525e8e37b9";
+      sha256 = "0c7k1fhw1fjgby4h99r22sbzn639v76r12dl66fhdrnkvrk0709n";
     };
     meta.homepage = "https://github.com/sbdchd/neoformat/";
   };
 
+  neogit = buildVimPluginFrom2Nix {
+    pname = "neogit";
+    version = "2021-03-01";
+    src = fetchFromGitHub {
+      owner = "TimUntersberger";
+      repo = "neogit";
+      rev = "61a1e55394124d66288ecd1b963ad91e6304e463";
+      sha256 = "15s8glj9i72n1ckfrffbd7w0widc1vgnppir9n3qn9niwxby24xa";
+    };
+    meta.homepage = "https://github.com/TimUntersberger/neogit/";
+  };
+
   neoinclude-vim = buildVimPluginFrom2Nix {
     pname = "neoinclude-vim";
     version = "2020-09-13";
@@ -2736,24 +2832,24 @@ let
 
   nerdcommenter = buildVimPluginFrom2Nix {
     pname = "nerdcommenter";
-    version = "2021-01-27";
+    version = "2021-02-27";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "nerdcommenter";
-      rev = "2955d669dcb597dc9ced04cf1ee776983053b15e";
-      sha256 = "1vkfyjbq8fn3p9wnw3s1l5fqs8lvjl5csbq5201djg2cihfddsm1";
+      rev = "16ecc429ec2792ba5c972f0a920dc14223b7bd4a";
+      sha256 = "03hfkfw34scbw127gmihxa6x9f02y979ig2204br508rz75qqfaw";
     };
     meta.homepage = "https://github.com/preservim/nerdcommenter/";
   };
 
   nerdtree = buildVimPluginFrom2Nix {
     pname = "nerdtree";
-    version = "2021-01-20";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "nerdtree";
-      rev = "b134f6518b902c7e0482ae770b804fd47c2d2426";
-      sha256 = "11gq7dcj8v6y1wlnyc6wfsh54qzd5am8lmjjk69jbbjsjzpb59xb";
+      rev = "f63fb6984f9cd07cf723c3e2e20f6ccc0aad48c2";
+      sha256 = "1lm4dqp8rxr5sl6faxyncz5jibkgzjwjxadvgcja81wnm71sr0xa";
     };
     meta.homepage = "https://github.com/preservim/nerdtree/";
   };
@@ -2832,16 +2928,28 @@ let
 
   nvcode-color-schemes-vim = buildVimPluginFrom2Nix {
     pname = "nvcode-color-schemes-vim";
-    version = "2021-01-10";
+    version = "2021-02-26";
     src = fetchFromGitHub {
       owner = "ChristianChiarulli";
       repo = "nvcode-color-schemes.vim";
-      rev = "7ed43362582c7c202f9a3edc2293dbb87d96e5fc";
-      sha256 = "1bcl2cdsvafvlsh5d4a2cr3v1nzpdlh9whaasq2ac192a6hs0c3x";
+      rev = "536f99f6c5aa27f3362be6c7bc61e5251c9bdbcc";
+      sha256 = "1n0xrzvplsrrc17jyqnyapwx2vj7b39d2ma0pd40qjf97rsvv4a4";
     };
     meta.homepage = "https://github.com/ChristianChiarulli/nvcode-color-schemes.vim/";
   };
 
+  nvim-ale-diagnostic = buildVimPluginFrom2Nix {
+    pname = "nvim-ale-diagnostic";
+    version = "2021-03-01";
+    src = fetchFromGitHub {
+      owner = "nathunsmitty";
+      repo = "nvim-ale-diagnostic";
+      rev = "0d1d7a7ba78e9ad0b57060ba7372c486cb341139";
+      sha256 = "0pd47yxac81dxp3w3a5pf5k16pc5j9m2pqwdf5nnxwy0by94nak9";
+    };
+    meta.homepage = "https://github.com/nathunsmitty/nvim-ale-diagnostic/";
+  };
+
   nvim-cm-racer = buildVimPluginFrom2Nix {
     pname = "nvim-cm-racer";
     version = "2017-07-27";
@@ -2856,12 +2964,12 @@ let
 
   nvim-compe = buildVimPluginFrom2Nix {
     pname = "nvim-compe";
-    version = "2021-01-28";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "nvim-compe";
-      rev = "c2247bceb2fba741800faaa98c0a7459c00e88da";
-      sha256 = "0q6f0j36jjgxj5pnvgmkf3mm9yarw5a4cx2fhs4igd8hry8n6hw4";
+      rev = "7a998c5716c2bb9a25276cf1ce7076f99582a45a";
+      sha256 = "0hhznddyy3a8k7vlqhwm6fg8hsyy88ifg7a7rcxd6q8zffm66r1i";
     };
     meta.homepage = "https://github.com/hrsh7th/nvim-compe/";
   };
@@ -2880,52 +2988,64 @@ let
 
   nvim-dap = buildVimPluginFrom2Nix {
     pname = "nvim-dap";
-    version = "2021-01-26";
+    version = "2021-02-23";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap";
-      rev = "1461a3bacb22143e04039cf1a29024dad8876949";
-      sha256 = "12ay8gjxp94v365an45a6bv034gnmdkirrvw0jvbpymky0pznmgj";
+      rev = "6dbb5924dfecb28127171648115f2a9d8675bf0e";
+      sha256 = "1vwra4bf7q5vy2f80fc4cj78i2jnwpci2yclqwy3df5fn3ldri74";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
   };
 
   nvim-dap-virtual-text = buildVimPluginFrom2Nix {
     pname = "nvim-dap-virtual-text";
-    version = "2021-01-25";
+    version = "2021-01-31";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "nvim-dap-virtual-text";
-      rev = "664482b6d1133e0a82d71db08965f8a07208c638";
-      sha256 = "01nmpah4l99wv5kzm351qra8kacqdx77aplb4qqfmrmjzxgg6l5h";
+      rev = "3da747bbbaf3291838d984a26a423cc704794eca";
+      sha256 = "1lmcjclvdhd4jq0lsgrzv7y7ry9yiqh6bsinwrla5fbh63rfwkzc";
     };
     meta.homepage = "https://github.com/theHamsta/nvim-dap-virtual-text/";
   };
 
   nvim-gdb = buildVimPluginFrom2Nix {
     pname = "nvim-gdb";
-    version = "2021-01-24";
+    version = "2021-02-25";
     src = fetchFromGitHub {
       owner = "sakhnik";
       repo = "nvim-gdb";
-      rev = "531a575d1768be4531246950e55a784739b5d0a7";
-      sha256 = "03hd7bq09gz23619b19cz29hafhia5r28xm8bqnj03d2m6b2xlyh";
+      rev = "5a95e50556deebf45d771abc58c7cd440fd6390a";
+      sha256 = "187yxnjxb9pp98yzvkpssmdcfqwvggzg5fpc20jwa7fvq8cdl0a0";
     };
     meta.homepage = "https://github.com/sakhnik/nvim-gdb/";
   };
 
   nvim-highlite = buildVimPluginFrom2Nix {
     pname = "nvim-highlite";
-    version = "2021-01-26";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "Iron-E";
       repo = "nvim-highlite";
-      rev = "b0bca9edd3d4430f7a07387b72ea2ecaf370d808";
-      sha256 = "1j0gfszx92m3v7wzaxfmxbi93qsnfc8zg4kvjnbvpwfgvyvbizgs";
+      rev = "c70b96f4a385f3d6dd0e96ad59382e0834be8eab";
+      sha256 = "0kr45hrqvxl81hvbqr7w4zn0yw01qwnaq0bd60v0ibr8q79zck5m";
     };
     meta.homepage = "https://github.com/Iron-E/nvim-highlite/";
   };
 
+  nvim-hlslens = buildVimPluginFrom2Nix {
+    pname = "nvim-hlslens";
+    version = "2021-02-14";
+    src = fetchFromGitHub {
+      owner = "kevinhwang91";
+      repo = "nvim-hlslens";
+      rev = "1e06ce52015d0578cd24c5b01fcae1a2e2abbdc2";
+      sha256 = "1c6crqc3yfi3h8mh55555sjrlif7j2q0j9wvajiagjfhggkhdggb";
+    };
+    meta.homepage = "https://github.com/kevinhwang91/nvim-hlslens/";
+  };
+
   nvim-hs-vim = buildVimPluginFrom2Nix {
     pname = "nvim-hs-vim";
     version = "2020-08-29";
@@ -2940,48 +3060,72 @@ let
 
   nvim-jdtls = buildVimPluginFrom2Nix {
     pname = "nvim-jdtls";
-    version = "2021-01-17";
+    version = "2021-02-25";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-jdtls";
-      rev = "357d0b405235e3dfb0b15450f33ad6d10cbf2122";
-      sha256 = "1gd4kjxpb73d6ixxgg4qyzj5alca590whx1i905j3m8j4sjb7vib";
+      rev = "fa2d4af6127c646ae1f2b68b3ae2abe495cdc6a1";
+      sha256 = "1f67k8c0rq9wbk9alvcc1py0rw6rrvas8wc25ngscwcnvp3ksyw8";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-jdtls/";
   };
 
+  nvim-lightbulb = buildVimPluginFrom2Nix {
+    pname = "nvim-lightbulb";
+    version = "2021-02-18";
+    src = fetchFromGitHub {
+      owner = "kosayoda";
+      repo = "nvim-lightbulb";
+      rev = "37d427ae1635da7800f7f09f831b35df1185ac38";
+      sha256 = "012hd5xpcmmvgxrk6m7m28q288v485w7nzvnayfl4s3dk4jzq8rp";
+    };
+    meta.homepage = "https://github.com/kosayoda/nvim-lightbulb/";
+  };
+
   nvim-lspconfig = buildVimPluginFrom2Nix {
     pname = "nvim-lspconfig";
-    version = "2021-01-27";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "78a31c0ebc947c43a4bc349a0244fc8df3fbfa8c";
-      sha256 = "0p5wzq588mlbas2l3xli9v2fhvxp1y52297x510if8adl97pv67k";
+      rev = "470b0cf45a7e60243e97628c21b05804088dfbf5";
+      sha256 = "1qw5psrcxl154qgqf9w6sqhv8y92nwjryz3fcqc6n2jl2p4fszv0";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
 
   nvim-lsputils = buildVimPluginFrom2Nix {
     pname = "nvim-lsputils";
-    version = "2021-01-12";
+    version = "2021-02-05";
     src = fetchFromGitHub {
       owner = "RishabhRD";
       repo = "nvim-lsputils";
-      rev = "fae88180b573e935f4a0827eb096208a7c76b215";
-      sha256 = "1i7gmh3zb2i8jig0j6drvknsx5p4dxm1v8b6bdrnjgs4pyrpy7si";
+      rev = "b68862afee6dfb611d866818cafdba41cf51d749";
+      sha256 = "0w4kff5jrg6i55nqjnp52vb2jng4zql9s2r1jz75jfv2khdrw7dm";
     };
     meta.homepage = "https://github.com/RishabhRD/nvim-lsputils/";
   };
 
+  nvim-peekup = buildVimPluginFrom2Nix {
+    pname = "nvim-peekup";
+    version = "2021-03-01";
+    src = fetchFromGitHub {
+      owner = "gennaro-tedesco";
+      repo = "nvim-peekup";
+      rev = "c8be830b8b594480cac5ae2ab1af94cce1e85029";
+      sha256 = "1l09xaw7xlsh1rk0amq9n22lg44wa5sn2hhmkmxyzrn3h80kg432";
+    };
+    meta.homepage = "https://github.com/gennaro-tedesco/nvim-peekup/";
+  };
+
   nvim-scrollview = buildVimPluginFrom2Nix {
     pname = "nvim-scrollview";
-    version = "2021-01-09";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "dstein64";
       repo = "nvim-scrollview";
-      rev = "426fc6549aff1d5a1b84127dd80807a4f134d4ab";
-      sha256 = "0yadrawg9q49fiizn4k8ng9hsp9vi2l0bw73s6ib0szg641k1w42";
+      rev = "da24e049457ddd1f3e1b9305693bee70c8d1567b";
+      sha256 = "0g17x5kl2ifhfl62wapb5aazv2w502r072k604q7wbc64kjg62sk";
     };
     meta.homepage = "https://github.com/dstein64/nvim-scrollview/";
   };
@@ -3000,36 +3144,36 @@ let
 
   nvim-tree-lua = buildVimPluginFrom2Nix {
     pname = "nvim-tree-lua";
-    version = "2021-01-22";
+    version = "2021-02-26";
     src = fetchFromGitHub {
       owner = "kyazdani42";
       repo = "nvim-tree.lua";
-      rev = "b2852578769b53430af678ae7a99482f2a4be0da";
-      sha256 = "057w9nqn0xc207s7y7fcl84xi14251yhyjd6xsajv9hlh4zcgarv";
+      rev = "1984c125100247f79e1aaa4de335032ea6092d63";
+      sha256 = "081vcbasmhki7hshfaimbv1wgim15h6vagcxc4fkjgbmpl621s49";
     };
     meta.homepage = "https://github.com/kyazdani42/nvim-tree.lua/";
   };
 
   nvim-treesitter = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter";
-    version = "2021-01-27";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "12181e236ee4e565f9746037793abe4ae65caf46";
-      sha256 = "0s9pdr142k5bsg6fp1pl15dcpmnafnncwg8rw4ix0c038dkgqwfn";
+      rev = "d162a83d824fcb7ec44472288af2d7379b4bd8b0";
+      sha256 = "0b1qqy32lcjgfkq9s570g0248qff1901l2hadkaqv5i2az3dgp96";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
 
   nvim-treesitter-context = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-context";
-    version = "2020-12-31";
+    version = "2021-02-16";
     src = fetchFromGitHub {
       owner = "romgrk";
       repo = "nvim-treesitter-context";
-      rev = "a7773cc3c581fa43cf0b59693ecdc6fc4e79e748";
-      sha256 = "1mxm6b00jmnci4yvd3bs9njf73bjbdwcn10l5bw9180a511aggv1";
+      rev = "0dda360a8f841550ca565564c5a409746353e94e";
+      sha256 = "058hfybqhcwvmhjm7k9iww2baz2fpww7nq6m9xngj3wdwfkylcfy";
     };
     meta.homepage = "https://github.com/romgrk/nvim-treesitter-context/";
   };
@@ -3048,36 +3192,36 @@ let
 
   nvim-treesitter-textobjects = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-textobjects";
-    version = "2021-01-01";
+    version = "2021-02-14";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-textobjects";
-      rev = "065b342db053810ac7a5ee9740b891cfa05c380f";
-      sha256 = "07yl5iin11snw2637860r9zva9yfn7qkljkv0sjfldm73afflds7";
+      rev = "b0f6d2c91b46faecee8b44f426de4b40d8ec8494";
+      sha256 = "1r93lbh6yzq59nzkj8sdmdy4pjris5cjlh7w491xkahyizfja1ln";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/";
   };
 
   nvim-ts-rainbow = buildVimPluginFrom2Nix {
     pname = "nvim-ts-rainbow";
-    version = "2021-01-27";
+    version = "2021-02-12";
     src = fetchFromGitHub {
       owner = "p00f";
       repo = "nvim-ts-rainbow";
-      rev = "adad3ea7eb820b7e0cc926438605e7637ee1f5e6";
-      sha256 = "0vbd0a3kblbx28s2p7ljsalb1hymr2qjhjqgr03sg1a6hmxib1i0";
+      rev = "3557b7baa9e773fff378235851cb3caac96fd4b9";
+      sha256 = "14bz6xwwdypwxfxdxhmbwl0w04ys18l08s1dx40mm5l1627wh465";
     };
     meta.homepage = "https://github.com/p00f/nvim-ts-rainbow/";
   };
 
   nvim-web-devicons = buildVimPluginFrom2Nix {
     pname = "nvim-web-devicons";
-    version = "2020-12-28";
+    version = "2021-02-17";
     src = fetchFromGitHub {
       owner = "kyazdani42";
       repo = "nvim-web-devicons";
-      rev = "aaffb87b5a640d15a566d9af9e74baafcf9ec016";
-      sha256 = "1qk2h8cwcb0v12lxayjdxka6wh5r1phn9cz5xkm5hvm1vcwrvlln";
+      rev = "b840a1f0fc35019998e6f09dfdd8dbb241764458";
+      sha256 = "1q3a5ivlvk7ni5b9jxhymdrdssnxhisb6cq07rdwrh1kmfzv90yz";
     };
     meta.homepage = "https://github.com/kyazdani42/nvim-web-devicons/";
   };
@@ -3120,48 +3264,48 @@ let
 
   oceanic-next = buildVimPluginFrom2Nix {
     pname = "oceanic-next";
-    version = "2021-01-26";
+    version = "2021-02-05";
     src = fetchFromGitHub {
       owner = "mhartington";
       repo = "oceanic-next";
-      rev = "f47fa3d4f63f1ce60bba13af81d97ee98ec31ceb";
-      sha256 = "064d2ip2fvkkqh0z8x0mykycbcwmdajflr5qz0pl4f5q0rlsnbb8";
+      rev = "5ef31a34204f84714885ae9036f66a626036c3dc";
+      sha256 = "1wazbyxaq71mlpyvyxrbrpyb9vgkcsj2y2zf1sba9gfjjszph482";
     };
     meta.homepage = "https://github.com/mhartington/oceanic-next/";
   };
 
   one-nvim = buildVimPluginFrom2Nix {
     pname = "one-nvim";
-    version = "2021-01-27";
+    version = "2021-02-17";
     src = fetchFromGitHub {
       owner = "Th3Whit3Wolf";
       repo = "one-nvim";
-      rev = "ad1e00ecb2623525e5b25adc984629fe02d5284a";
-      sha256 = "1i2bvjvg60gw7jcafvwg2k63my7bshjlmx6by9xqh998s14db7vj";
+      rev = "60970d279f5f2a82b1857601c63e6a51f9fd04de";
+      sha256 = "1kmjq4kjlflhagasr3n2l47mmv739rwz9bqbzyyv5skxdkkp95lw";
     };
     meta.homepage = "https://github.com/Th3Whit3Wolf/one-nvim/";
   };
 
   onedark-vim = buildVimPluginFrom2Nix {
     pname = "onedark-vim";
-    version = "2020-12-14";
+    version = "2021-02-25";
     src = fetchFromGitHub {
       owner = "joshdick";
       repo = "onedark.vim";
-      rev = "94ff495eac89cea2532d8e0022f67c79a24d9649";
-      sha256 = "0x4wdmk28r85g14xv1acc0fimh4bsvm30mrgsws7dm8lqx3ws8g3";
+      rev = "b70ed293f3c3adaea23f9fcd84ef942015664756";
+      sha256 = "0wz4kmbgc9rlvbxj8s8xg1sx53w0v94r6qicq3ggs9raca51ywfg";
     };
     meta.homepage = "https://github.com/joshdick/onedark.vim/";
   };
 
   onehalf = buildVimPluginFrom2Nix {
     pname = "onehalf";
-    version = "2021-01-15";
+    version = "2021-01-31";
     src = fetchFromGitHub {
       owner = "sonph";
       repo = "onehalf";
-      rev = "ba6c71ee99dce0b505c430f2c2706dc5f97ad3a0";
-      sha256 = "10pbhaim4rcg0ljprfvqfw6k73jpp46yzhs8i9yn00bpi70frr89";
+      rev = "141c775ace6b71992305f144a8ab68e9a8ca4a25";
+      sha256 = "1p3kxf9abj0xpxwb8hrpy4h0457rvkfkv3zv7czh322vhma4hhd8";
     };
     meta.homepage = "https://github.com/sonph/onehalf/";
   };
@@ -3192,12 +3336,12 @@ let
 
   packer-nvim = buildVimPluginFrom2Nix {
     pname = "packer-nvim";
-    version = "2021-01-27";
+    version = "2021-02-18";
     src = fetchFromGitHub {
       owner = "wbthomason";
       repo = "packer.nvim";
-      rev = "41567d3535c70770e1b628d9ac9aedbf6350fc5b";
-      sha256 = "18szd5z101ji205lyqkf9hpbrqb7k32q89ckfydsizj1rnsgkq6d";
+      rev = "e6b4bacf355c9ef2daed4ff40887f949da9da019";
+      sha256 = "1x7m2pw2klk4m4hv0h5cjxzr46ljiyxrmwq4c38zbk2x5mncy5jr";
     };
     meta.homepage = "https://github.com/wbthomason/packer.nvim/";
   };
@@ -3276,24 +3420,24 @@ let
 
   playground = buildVimPluginFrom2Nix {
     pname = "playground";
-    version = "2021-01-21";
+    version = "2021-02-17";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "playground";
-      rev = "7e373e5706a2df71fd3a96b50d1f7b0c3e7a0b36";
-      sha256 = "1vrfjv22whdmwna4xlvpsajx69fs8dkfwk0ji1jnvbyxmhki8mik";
+      rev = "444eab728ecaf337629a45a733535e94a3efc04a";
+      sha256 = "0r10fmk90wdc9hj3kdfkb93vvw1kdxwkl20f9zs3rfs5vs7p9i97";
     };
     meta.homepage = "https://github.com/nvim-treesitter/playground/";
   };
 
   plenary-nvim = buildVimPluginFrom2Nix {
     pname = "plenary-nvim";
-    version = "2021-01-25";
+    version = "2021-02-28";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "plenary.nvim";
-      rev = "cf4537efbae62222d3cdd239b7105c8ed4361a14";
-      sha256 = "0fg2jwqchyvhx52wavwk90i6dk9vf4i4xlbhz26g4a3pv7i5mhwj";
+      rev = "4cc823c409b1e6e2c4cc6ec02ee7ec404aaa7f94";
+      sha256 = "02mw8qc9i3ncdv49qjpg0d8mqh6xfk64bpkgfbqx05aq1xs1cvi4";
     };
     meta.homepage = "https://github.com/nvim-lua/plenary.nvim/";
   };
@@ -3312,12 +3456,12 @@ let
 
   popfix = buildVimPluginFrom2Nix {
     pname = "popfix";
-    version = "2021-01-07";
+    version = "2021-02-08";
     src = fetchFromGitHub {
       owner = "RishabhRD";
       repo = "popfix";
-      rev = "9ab0aa5f186a2a2429c55f1512e2fd8b536183f0";
-      sha256 = "0ks9hxc506ybwrvk5qkl1qkj634ms5icy8cg0w3b1q5qzgz5k0wn";
+      rev = "efcd82cbae750aa743619bfae7453fbec9366b87";
+      sha256 = "0041c9xnnhw24ablwqw9p9vlcmbfrp9l9r6i4ayh8id666ylsln9";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/RishabhRD/popfix/";
@@ -3493,12 +3637,12 @@ let
 
   Recover-vim = buildVimPluginFrom2Nix {
     pname = "Recover-vim";
-    version = "2020-04-20";
+    version = "2021-02-24";
     src = fetchFromGitHub {
       owner = "chrisbra";
       repo = "Recover.vim";
-      rev = "c84f07260f1e839bc7bfc2ab69bf4f3f4aaa423d";
-      sha256 = "1q87n2xz6p879ihijvhxs1iv9iyrqcbx7z8dkql0ivbf572q9iwh";
+      rev = "f019bb0bc15093da74ef0bd1a9356dedf13ba885";
+      sha256 = "1v23k4wfiazvkm9iaqw987cs69fwf230a7i15x3rv68azw63fl2b";
     };
     meta.homepage = "https://github.com/chrisbra/Recover.vim/";
   };
@@ -3565,12 +3709,12 @@ let
 
   rust-vim = buildVimPluginFrom2Nix {
     pname = "rust-vim";
-    version = "2020-09-18";
+    version = "2021-02-15";
     src = fetchFromGitHub {
       owner = "rust-lang";
       repo = "rust.vim";
-      rev = "96e79e397126be1a64fb53d8e3656842fe1a4532";
-      sha256 = "0siml7vqiq5nvymyw8az48rv5dsf9dad8y8hy22j57lknd67b8h3";
+      rev = "87c745d8d506fc1eecc1d81df15d5bde1658a2fc";
+      sha256 = "0v0ip731lclh9aqrmlqwnnz4skgawaq3invghh1c7lh0zdq22lzb";
     };
     meta.homepage = "https://github.com/rust-lang/rust.vim/";
   };
@@ -3661,12 +3805,12 @@ let
 
   sideways-vim = buildVimPluginFrom2Nix {
     pname = "sideways-vim";
-    version = "2020-09-21";
+    version = "2021-02-22";
     src = fetchFromGitHub {
       owner = "AndrewRadev";
       repo = "sideways.vim";
-      rev = "19c5a21206b6c9f999004256a10e7381450ea83f";
-      sha256 = "14h8lf70wccafapifzf9c6cjprik9n1a1wmv5gpajyqqbvzh1yv6";
+      rev = "1a7f12cb1f878063d675924ac97f242950805541";
+      sha256 = "1nmicnq2b6n8a9zmgqqkzd9y47x2d11n75ix114qv3xyin0vqnqc";
     };
     meta.homepage = "https://github.com/AndrewRadev/sideways.vim/";
   };
@@ -3719,6 +3863,30 @@ let
     meta.homepage = "https://github.com/gorkunov/smartpairs.vim/";
   };
 
+  snippets-nvim = buildVimPluginFrom2Nix {
+    pname = "snippets-nvim";
+    version = "2020-09-09";
+    src = fetchFromGitHub {
+      owner = "norcalli";
+      repo = "snippets.nvim";
+      rev = "7b5fd8071d4fb6fa981a899aae56b55897c079fd";
+      sha256 = "1fdsx7d5nyhhklwidgh387ijd485g2836rwd5i1r0di777mp7w80";
+    };
+    meta.homepage = "https://github.com/norcalli/snippets.nvim/";
+  };
+
+  sonokai = buildVimPluginFrom2Nix {
+    pname = "sonokai";
+    version = "2021-02-28";
+    src = fetchFromGitHub {
+      owner = "sainnhe";
+      repo = "sonokai";
+      rev = "86298232f4f5ab418d5d9d18a336d7ab8b167b68";
+      sha256 = "060k664gm4857nfmxaj0v6sz50mb3y9v8489jnv1bhqplzqf8gmy";
+    };
+    meta.homepage = "https://github.com/sainnhe/sonokai/";
+  };
+
   sourcemap-vim = buildVimPluginFrom2Nix {
     pname = "sourcemap-vim";
     version = "2012-09-19";
@@ -3805,12 +3973,12 @@ let
 
   splitjoin-vim = buildVimPluginFrom2Nix {
     pname = "splitjoin-vim";
-    version = "2020-12-15";
+    version = "2021-02-22";
     src = fetchFromGitHub {
       owner = "AndrewRadev";
       repo = "splitjoin.vim";
-      rev = "91ba14b41f6e767414d7bf2a8e82947c6bfdb978";
-      sha256 = "0q01xfnjqk3vnmknb01zlkzn1jj03lqsygk863vwrdazq86g5aci";
+      rev = "df823938421e66adbd6c570bacdc3ce85d6c776c";
+      sha256 = "02hcdsdvbdybcpamj304jld4sh3mxp3j78idzv7ybkizvp8wjlpd";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/AndrewRadev/splitjoin.vim/";
@@ -3818,12 +3986,12 @@ let
 
   sql-nvim = buildVimPluginFrom2Nix {
     pname = "sql-nvim";
-    version = "2021-01-27";
+    version = "2021-02-09";
     src = fetchFromGitHub {
       owner = "tami5";
       repo = "sql.nvim";
-      rev = "91b7138c0a766bfe3964507951ee39e2f38344da";
-      sha256 = "09mk4r7c5shbn34v1fkj312zp11f0yjp07ck7i6lijm7kcj77fmq";
+      rev = "96d000d9eff0165c7e0496f73787cc56d7c1581c";
+      sha256 = "1n9j3wv5xifs7ppgjnnbvx9p4h4llshbzgrly5b7lx0nnb91yqg0";
     };
     meta.homepage = "https://github.com/tami5/sql.nvim/";
   };
@@ -3840,6 +4008,18 @@ let
     meta.homepage = "https://github.com/srcery-colors/srcery-vim/";
   };
 
+  stan-vim = buildVimPluginFrom2Nix {
+    pname = "stan-vim";
+    version = "2020-08-05";
+    src = fetchFromGitHub {
+      owner = "eigenfoo";
+      repo = "stan-vim";
+      rev = "9d3b6ec149f9559bd9bd021dfa827c29c5d1dc38";
+      sha256 = "0qv748m1vrp1qcl41y7fj2jm8cac9b01ljq6ydq3z4syxdf7yzcc";
+    };
+    meta.homepage = "https://github.com/eigenfoo/stan-vim/";
+  };
+
   starsearch-vim = buildVimPluginFrom2Nix {
     pname = "starsearch-vim";
     version = "2014-09-21";
@@ -3950,12 +4130,12 @@ let
 
   tagbar = buildVimPluginFrom2Nix {
     pname = "tagbar";
-    version = "2021-01-25";
+    version = "2021-02-18";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "tagbar";
-      rev = "7a968502d778ab86b01afd4c8b0d20f5af14fad0";
-      sha256 = "1skszyhsbz4yv16nlrnhkdrrd51hpq1d2gn1h819m0vqgqz4qphn";
+      rev = "51ff7a05404e2f5c83799dd6c38134ed4aaca85c";
+      sha256 = "0i7qzn3vlvjjd5qvf230r7aaqz84rn30zkn643fdvpni7pxfywdv";
     };
     meta.homepage = "https://github.com/preservim/tagbar/";
   };
@@ -3986,24 +4166,24 @@ let
 
   tcomment_vim = buildVimPluginFrom2Nix {
     pname = "tcomment_vim";
-    version = "2020-11-18";
+    version = "2021-02-03";
     src = fetchFromGitHub {
       owner = "tomtom";
       repo = "tcomment_vim";
-      rev = "2037d05870e10e03b2e157a09ae007c179efd253";
-      sha256 = "1z7c95rzgpm1f2cdmx3yv3f0ai7kq0kx8wd6mp4aqpdysi1qh9jk";
+      rev = "2de3885686e7011f7efe0e31c2b6e0c002f9dd1a";
+      sha256 = "009x5bgj6grmwl35s0silkbnylpa5sjr4h0wyp6rl9xlj381vvn5";
     };
     meta.homepage = "https://github.com/tomtom/tcomment_vim/";
   };
 
   telescope-frecency-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-frecency-nvim";
-    version = "2021-01-26";
+    version = "2021-02-22";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-frecency.nvim";
-      rev = "8b82406c94f587ebd900ec351a137322098bfc83";
-      sha256 = "0l5yz6kvpivlsg33h74hhc8axskq33wlkmlykak9wfxyq8ii4x6h";
+      rev = "8b584bd88fbbeac0ce5c52af1ce7c1fecb7155b6";
+      sha256 = "0a6sz6gx1qnr0ka9510mchca3b94553liw8ng386h60kh6lbc1k5";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-frecency.nvim/";
   };
@@ -4035,12 +4215,12 @@ let
 
   telescope-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-nvim";
-    version = "2021-01-27";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "5995a8be8faaa2c6e8693ca52f2320cb4a80e3fa";
-      sha256 = "0p06cl12gabr425xzn69smk8pwnqmkaj1qccy3zj1qvwymb03sxg";
+      rev = "678494e503d3c717df8295f55a6f3c7d3309b7fa";
+      sha256 = "04vazlzfx9ab016mgnw0mazg3nvfvf81b947c70vzl1jdyn5d73w";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
@@ -4142,6 +4322,18 @@ let
     meta.homepage = "https://github.com/markonm/traces.vim/";
   };
 
+  train-nvim = buildVimPluginFrom2Nix {
+    pname = "train-nvim";
+    version = "2020-09-10";
+    src = fetchFromGitHub {
+      owner = "tjdevries";
+      repo = "train.nvim";
+      rev = "7b2e9a59af58385d88bf39c5311c08f839e2b1ce";
+      sha256 = "1pbv8c2wb6b2h9czx7c0c8v0q7v0wc4w9s6qgw7hcbqdl3jv1svh";
+    };
+    meta.homepage = "https://github.com/tjdevries/train.nvim/";
+  };
+
   tslime-vim = buildVimPluginFrom2Nix {
     pname = "tslime-vim";
     version = "2020-09-09";
@@ -4180,12 +4372,12 @@ let
 
   ultisnips = buildVimPluginFrom2Nix {
     pname = "ultisnips";
-    version = "2020-12-14";
+    version = "2021-02-09";
     src = fetchFromGitHub {
       owner = "SirVer";
       repo = "ultisnips";
-      rev = "c270950492d71bac0317d47d42cd0884eefe6490";
-      sha256 = "1k58wp6y6i0xr4pnp2h7r31229ngp3zadyi374c5nlf2pa3zc1d8";
+      rev = "66d81fc2c0bda30be69fffa46da0932ee8d5ddd5";
+      sha256 = "0fzpl2fj5kig8kbcn65ph6y3h412ryx5mfa15822lnsf8cmkr5db";
     };
     meta.homepage = "https://github.com/SirVer/ultisnips/";
   };
@@ -4204,24 +4396,24 @@ let
 
   unicode-vim = buildVimPluginFrom2Nix {
     pname = "unicode-vim";
-    version = "2020-11-19";
+    version = "2021-02-01";
     src = fetchFromGitHub {
       owner = "chrisbra";
       repo = "unicode.vim";
-      rev = "631c0850dd0fa36d29c9cd20169735a60b41bd71";
-      sha256 = "0ql1w6q8w48jxqf1fs1aphcjjfvh8br7sv26nk6kgsm9h4xamnp5";
+      rev = "afb8db4f81580771c39967e89bc5772e72b9018e";
+      sha256 = "05d15yr5r8265j3yr8yz1dxl8p4p4nack4ldn663rmp29wm1q5pi";
     };
     meta.homepage = "https://github.com/chrisbra/unicode.vim/";
   };
 
   unite-vim = buildVimPluginFrom2Nix {
     pname = "unite-vim";
-    version = "2021-01-08";
+    version = "2021-02-06";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "unite.vim";
-      rev = "c455008595a15c7ccc2c9f2ea309ba2bf5d3fe63";
-      sha256 = "054h0yrb2wffmirvqql2v34rfr5q0rx20p2y2wbrpx2w1vcwr2rc";
+      rev = "b08814362624ded3b462addba4711647879ca308";
+      sha256 = "0hk5xhn9zfas074hgv0y6lbc1jyj5kqjg4zdix8am3s97aqr96ms";
     };
     meta.homepage = "https://github.com/Shougo/unite.vim/";
   };
@@ -4528,12 +4720,12 @@ let
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2021-01-14";
+    version = "2021-02-15";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "c7a633ce8f4547e680377efe8ea70493fcce1349";
-      sha256 = "10n70bk6nsc5sgd95d80jna4v77dlla6x0886kb5lwzmiflfq31x";
+      rev = "cb1bc19064d3762e4e08103afb37a246b797d902";
+      sha256 = "1mw62q54cybybbmlvw7f0yzwr41dv4rsgqvk7psazb5zwjrsqn0z";
     };
     meta.homepage = "https://github.com/vim-airline/vim-airline/";
   };
@@ -4552,24 +4744,24 @@ let
 
   vim-airline-themes = buildVimPluginFrom2Nix {
     pname = "vim-airline-themes";
-    version = "2020-12-17";
+    version = "2021-02-12";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline-themes";
-      rev = "8f1aa2c7fa44bf33b1fd4678f9c7b40c126b0e2b";
-      sha256 = "1gwk7m8ghg5lix14bqxjyxc1wv5agkfhqinsikssydab0liw0xyf";
+      rev = "d148d42d9caf331ff08b6cae683d5b210003cde7";
+      sha256 = "0dd0vp72r95wqa2780rbdmj61mcj77b4hg6fpkwbb07apizrp43b";
     };
     meta.homepage = "https://github.com/vim-airline/vim-airline-themes/";
   };
 
   vim-android = buildVimPluginFrom2Nix {
     pname = "vim-android";
-    version = "2020-11-04";
+    version = "2021-02-18";
     src = fetchFromGitHub {
       owner = "hsanson";
       repo = "vim-android";
-      rev = "5007343968e21bba30d85af982689d1c1f9145e1";
-      sha256 = "17c3yhnn016k03f2g3cjfwnazg2525pgwy4zqcv0vrgq2g4dil82";
+      rev = "1731cd3865669ebec84e6f32a87ccf16a00690fd";
+      sha256 = "0k6ch5kg8jlqa04apjdi7xr5s85ibdvg4gq4iyxh78xffw1xzafl";
     };
     meta.homepage = "https://github.com/hsanson/vim-android/";
   };
@@ -4586,6 +4778,18 @@ let
     meta.homepage = "https://github.com/osyo-manga/vim-anzu/";
   };
 
+  vim-apm = buildVimPluginFrom2Nix {
+    pname = "vim-apm";
+    version = "2020-09-28";
+    src = fetchFromGitHub {
+      owner = "ThePrimeagen";
+      repo = "vim-apm";
+      rev = "2da35c35febbe98a6704495cd4e0b9526a0651e3";
+      sha256 = "09amrb7bzrnwga8cm21fm4ylp2l0jd7cyfsf43fcym3f1k0bycwb";
+    };
+    meta.homepage = "https://github.com/ThePrimeagen/vim-apm/";
+  };
+
   vim-asterisk = buildVimPluginFrom2Nix {
     pname = "vim-asterisk";
     version = "2020-02-03";
@@ -4612,12 +4816,12 @@ let
 
   vim-autoformat = buildVimPluginFrom2Nix {
     pname = "vim-autoformat";
-    version = "2020-10-28";
+    version = "2021-02-10";
     src = fetchFromGitHub {
       owner = "Chiel92";
       repo = "vim-autoformat";
-      rev = "ff16950ba5e07353f25ee33732982a67af451eb2";
-      sha256 = "12h6dznfwpifyr6ahk1b45pb59nlm6wkrfhgh65g1clnpzvchkiw";
+      rev = "2a6f931987c1cc5e5bc0c4c44f21ac9bd4c72f3b";
+      sha256 = "17w0cjzppx9zxrqxaa975xazcnps4v1b93bmy19dccvc7z1gipby";
     };
     meta.homepage = "https://github.com/Chiel92/vim-autoformat/";
   };
@@ -4648,16 +4852,28 @@ let
 
   vim-bazel = buildVimPluginFrom2Nix {
     pname = "vim-bazel";
-    version = "2020-08-22";
+    version = "2021-01-31";
     src = fetchFromGitHub {
       owner = "bazelbuild";
       repo = "vim-bazel";
-      rev = "85a044d854e5e48f72414726c255112be31e2cac";
-      sha256 = "1hcfbl958v39w00kyfg75rcxs9xzaqnd98i4y322ayqfgrhd95n8";
+      rev = "58c750d13ec2337ba3e5992f96891bbb843a9dbf";
+      sha256 = "0xsgj1j8xamkri75cjnih5xzwp8y7g1i7hgbbbmknz5d8jm3p204";
     };
     meta.homepage = "https://github.com/bazelbuild/vim-bazel/";
   };
 
+  vim-bbye = buildVimPluginFrom2Nix {
+    pname = "vim-bbye";
+    version = "2018-03-03";
+    src = fetchFromGitHub {
+      owner = "moll";
+      repo = "vim-bbye";
+      rev = "25ef93ac5a87526111f43e5110675032dbcacf56";
+      sha256 = "0dlifpbd05fcgndpkgb31ww8p90pwdbizmgkkq00qkmvzm1ik4y4";
+    };
+    meta.homepage = "https://github.com/moll/vim-bbye/";
+  };
+
   vim-beancount = buildVimPluginFrom2Nix {
     pname = "vim-beancount";
     version = "2020-08-06";
@@ -4780,12 +4996,12 @@ let
 
   vim-clap = buildVimPluginFrom2Nix {
     pname = "vim-clap";
-    version = "2021-01-28";
+    version = "2021-02-27";
     src = fetchFromGitHub {
       owner = "liuchengxu";
       repo = "vim-clap";
-      rev = "d3536cae87fc9ac106f25f0a2d8d96c697bccb08";
-      sha256 = "1sag4018is0az3nvck592k4b6nl9ah82b55kr55p4y6wssgm7aak";
+      rev = "8b618fcbbee7cf30ce9d05be00706ddb558f96af";
+      sha256 = "19x69jhn0j5qa1hz46piv54v2nq3g14pqbdvap2h8w9bb62a3yh6";
     };
     meta.homepage = "https://github.com/liuchengxu/vim-clap/";
   };
@@ -4816,12 +5032,12 @@ let
 
   vim-closer = buildVimPluginFrom2Nix {
     pname = "vim-closer";
-    version = "2020-10-24";
+    version = "2021-02-24";
     src = fetchFromGitHub {
       owner = "rstacruz";
       repo = "vim-closer";
-      rev = "c61667d27280df171a285b1274dd3cf04cbf78d4";
-      sha256 = "1dgcag4dibckpvsm8hr28yw10z81ic52sdm5narcwr1k6hjidxpn";
+      rev = "c34636e104e8731d4a414d6500303442ff7ed94e";
+      sha256 = "07ap62n10dfvw9q71q8zkms8z3jl279a99shr7scyf8q4ngsj024";
     };
     meta.homepage = "https://github.com/rstacruz/vim-closer/";
   };
@@ -4972,12 +5188,12 @@ let
 
   vim-css-color = buildVimPluginFrom2Nix {
     pname = "vim-css-color";
-    version = "2020-08-16";
+    version = "2021-02-02";
     src = fetchFromGitHub {
       owner = "ap";
       repo = "vim-css-color";
-      rev = "4694c6ea03a065a3f6ddbebce56797a21e8241ef";
-      sha256 = "12bzxrdvb9s0d8llkq6h63g86qxs0gv9x7401apl6qrs79prrb4a";
+      rev = "8dd7f1bf25acee493a5114e627ea90a9850c5fa8";
+      sha256 = "0pjq14i7w2snlbzsqhfdn0fkribjsyngg6fcmpgacm4jvx3iviql";
     };
     meta.homepage = "https://github.com/ap/vim-css-color/";
   };
@@ -5020,12 +5236,12 @@ let
 
   vim-dadbod = buildVimPluginFrom2Nix {
     pname = "vim-dadbod";
-    version = "2021-01-25";
+    version = "2021-02-26";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-dadbod";
-      rev = "fb543e602de2fe74a7928c78e152bb964abb7a9a";
-      sha256 = "05fwa2v0fz1rgfyp2f47hcr7vzgwfrw14flr43d7a88d8qka9lqs";
+      rev = "28c3b294c9f1d88078eeebfa62a8533e6ea97f87";
+      sha256 = "0myj7ng62sjxhrq0lfk142dzr637rfl0ll6khrd0a3hrwxjjnb2x";
     };
     meta.homepage = "https://github.com/tpope/vim-dadbod/";
   };
@@ -5056,12 +5272,12 @@ let
 
   vim-devicons = buildVimPluginFrom2Nix {
     pname = "vim-devicons";
-    version = "2020-12-10";
+    version = "2021-02-19";
     src = fetchFromGitHub {
       owner = "ryanoasis";
       repo = "vim-devicons";
-      rev = "0d0bd57246b3285caec4737dc0f1c6b17ebb2787";
-      sha256 = "1kkc3hgfz0qr84r873gjmjhgwph0nhyan6v69b55ph5qqsksrl42";
+      rev = "4d14cb82cf7381c2f8eca284d1a757faaa73b159";
+      sha256 = "1wwqchf50c19a5d5g037rjjpskn7dpsq9alhzim2x6bgffb5yamd";
     };
     meta.homepage = "https://github.com/ryanoasis/vim-devicons/";
   };
@@ -5212,12 +5428,12 @@ let
 
   vim-elixir = buildVimPluginFrom2Nix {
     pname = "vim-elixir";
-    version = "2020-11-26";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "elixir-editors";
       repo = "vim-elixir";
-      rev = "1ad996e64dadf0d2a65c8a079d55a0ad057c08b4";
-      sha256 = "1f4g7m09x67xfajanm9aw4z6rl1hcp24c5a01m1avn9594qgnh2c";
+      rev = "527e6fd8798638a79621e0b5c788b67b2b4b4dbc";
+      sha256 = "02ncqbxlncm9gz7dvxv6lv9zsnfhqmqq05m95lh95l3lm0gs44ph";
     };
     meta.homepage = "https://github.com/elixir-editors/vim-elixir/";
   };
@@ -5284,12 +5500,12 @@ let
 
   vim-erlang-tags = buildVimPluginFrom2Nix {
     pname = "vim-erlang-tags";
-    version = "2021-01-09";
+    version = "2021-02-19";
     src = fetchFromGitHub {
       owner = "vim-erlang";
       repo = "vim-erlang-tags";
-      rev = "22f7fbf1e4b669a305d93cedd85baf63253f3b78";
-      sha256 = "1dvk0dim8vam8xsqlz9pjky22mhqi9ca5criyz7zvgj46hqj1wy3";
+      rev = "d7eaa8f6986de0f266dac48b7dcfbf41d67ce611";
+      sha256 = "03wxy29z0rjnf3hilap7c86di7dkjwb8sdlfh74ch8vhan8h6rv0";
     };
     meta.homepage = "https://github.com/vim-erlang/vim-erlang-tags/";
   };
@@ -5344,12 +5560,12 @@ let
 
   vim-fetch = buildVimPluginFrom2Nix {
     pname = "vim-fetch";
-    version = "2020-01-31";
+    version = "2021-02-12";
     src = fetchFromGitHub {
       owner = "wsdjeg";
       repo = "vim-fetch";
-      rev = "dd674b50b261275a6a75cab6929b7bb7c5c4acba";
-      sha256 = "1hadfzhzkq2n9k3yga55fsl6nm5mgl2vv975jnxsi4qgz9cwcsgr";
+      rev = "0a6ab17e84c7f4808bf05ec380121bce40b40d21";
+      sha256 = "04srlz3zaiqkv9hz6q3vdkfq02k1wj4p9mg4m8930das4nkl7a05";
     };
     meta.homepage = "https://github.com/wsdjeg/vim-fetch/";
   };
@@ -5416,12 +5632,12 @@ let
 
   vim-floaterm = buildVimPluginFrom2Nix {
     pname = "vim-floaterm";
-    version = "2021-01-27";
+    version = "2021-02-22";
     src = fetchFromGitHub {
       owner = "voldikss";
       repo = "vim-floaterm";
-      rev = "5c3f06cbd323ffbae3cbc7ed86538293db35c0a5";
-      sha256 = "0raz585m79pjw3y3kdqbnay7bz7dkgimb3a4x1khgxclidf10qv3";
+      rev = "c66412d238bd2e6c7b84c01a7e92b399bfbf1915";
+      sha256 = "0mlvm6x754251pcd9hdwwnjfbwnvkbpywfnyp090dkvhlx19rm0w";
     };
     meta.homepage = "https://github.com/voldikss/vim-floaterm/";
   };
@@ -5464,12 +5680,12 @@ let
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2021-01-26";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "8cf0cf5bfb2b858faecf4e0f6c1b8d0948805e5e";
-      sha256 = "1ka4bbmzpdzaflnywl4pknd0xy1n6mqw3qk4krk92dd6bcya0b1d";
+      rev = "9cba97f4db4e0af4275f802c2de977f553d26ec6";
+      sha256 = "182z25fv3lqhsh926p24fq1lwldbdq8bqbmivpv4ylq2c5b6xisz";
     };
     meta.homepage = "https://github.com/tpope/vim-fugitive/";
   };
@@ -5536,12 +5752,12 @@ let
 
   vim-gitgutter = buildVimPluginFrom2Nix {
     pname = "vim-gitgutter";
-    version = "2021-01-26";
+    version = "2021-02-22";
     src = fetchFromGitHub {
       owner = "airblade";
       repo = "vim-gitgutter";
-      rev = "ff9d134f0c69e25d391138036051b2c5e6bac864";
-      sha256 = "1xpqhhvxf13nk4hd7jn0ydkkdk7r14w72h8hmpxzhhji1d0pcy43";
+      rev = "1283ec1670d1f4fce37213c5d66924088b2e730c";
+      sha256 = "1h5jh38ihbyy95cm57ppb6m871010pk521ygss2drcriwnx4agd2";
     };
     meta.homepage = "https://github.com/airblade/vim-gitgutter/";
   };
@@ -5584,12 +5800,12 @@ let
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2021-01-22";
+    version = "2021-02-20";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "007d9bc7786d703dc778de7b69895b8c1907dde7";
-      sha256 = "1r7jv3cbawh9n2d6nd3iwga6bgj8z0nx94c3dhn5286si1s3857c";
+      rev = "755b498c7604e7aee4d001d2a78c2d1e079eb8d5";
+      sha256 = "048xqia30alvcshvmbqlqvvslk19zvqmsdy50ww8rzz9yzhff5bw";
     };
     meta.homepage = "https://github.com/fatih/vim-go/";
   };
@@ -5608,12 +5824,12 @@ let
 
   vim-graphql = buildVimPluginFrom2Nix {
     pname = "vim-graphql";
-    version = "2020-12-20";
+    version = "2021-02-03";
     src = fetchFromGitHub {
       owner = "jparise";
       repo = "vim-graphql";
-      rev = "c5169b2705f23cc4926606a7786d8e8fae138d5c";
-      sha256 = "19nmdkbd4wcip18bb4inx64mc0awjj3bbahbhpsd8g6d889r9jha";
+      rev = "553d125f7b0e56743e80e2439f5cd7f27771a8e3";
+      sha256 = "0nfp411zxjda5k7mh9400rjipqg6liizdkfqcc887zicaw3pylkm";
     };
     meta.homepage = "https://github.com/jparise/vim-graphql/";
   };
@@ -5630,6 +5846,18 @@ let
     meta.homepage = "https://github.com/mhinz/vim-grepper/";
   };
 
+  vim-gruvbox8 = buildVimPluginFrom2Nix {
+    pname = "vim-gruvbox8";
+    version = "2021-02-06";
+    src = fetchFromGitHub {
+      owner = "lifepillar";
+      repo = "vim-gruvbox8";
+      rev = "a03834cdaa686ef2758f670924fc048148dfd297";
+      sha256 = "1yh5p8s17kd1z4jqk6gd6vmap7f5jwqwhfbq2yi2xi3lb6xpvjc3";
+    };
+    meta.homepage = "https://github.com/lifepillar/vim-gruvbox8/";
+  };
+
   vim-gui-position = buildVimPluginFrom2Nix {
     pname = "vim-gui-position";
     version = "2019-06-06";
@@ -5692,12 +5920,12 @@ let
 
   vim-hcl = buildVimPluginFrom2Nix {
     pname = "vim-hcl";
-    version = "2020-09-07";
+    version = "2021-02-16";
     src = fetchFromGitHub {
       owner = "jvirtanen";
       repo = "vim-hcl";
-      rev = "94fbd199c8a947ede62f98509f91d637d7967454";
-      sha256 = "0n2dmgfajji8nxxirb9q9jmqnzc1mjqnic5igs84pxmbc6r57zqq";
+      rev = "047a8643ce346d819ffbd1686fe3ac1a54e42a1e";
+      sha256 = "1brwjgxxh8f1q2859lqgdn9jk8h3iip989yirii350kwqvv1wjk6";
     };
     meta.homepage = "https://github.com/jvirtanen/vim-hcl/";
   };
@@ -5716,12 +5944,12 @@ let
 
   vim-hexokinase = buildVimPluginFrom2Nix {
     pname = "vim-hexokinase";
-    version = "2021-01-25";
+    version = "2021-02-25";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "vim-hexokinase";
-      rev = "d2157749ed519661eb8605e1f19ca04b9cfa14cc";
-      sha256 = "0x33a6w1apmhncbp42m4mc7csjh1234k6d8zzk8pmk5csljhvsr7";
+      rev = "969d6362bd0ba09e97fefdb694a59e48eb028e9c";
+      sha256 = "02a96vaj7a9limd99b8fvhfmz1b4nzf0z48jdj98f9d5psfyx7cv";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/RRethy/vim-hexokinase/";
@@ -5849,12 +6077,12 @@ let
 
   vim-illuminate = buildVimPluginFrom2Nix {
     pname = "vim-illuminate";
-    version = "2021-01-25";
+    version = "2021-02-25";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "vim-illuminate";
-      rev = "e763aabff734798599c40afef388c88cefbd2cba";
-      sha256 = "1a59nbz9msjh8773rlpgvcxmljqnxnprb7f9xf6gj680wmfpcjc4";
+      rev = "7dbacfb73f56b84d14fff993ff4869dfd4610443";
+      sha256 = "0msz6ip67saw9scxmdqgws3sy5hb4ihlhv72m7p5347fmm1cdh43";
     };
     meta.homepage = "https://github.com/RRethy/vim-illuminate/";
   };
@@ -5945,12 +6173,12 @@ let
 
   vim-javacomplete2 = buildVimPluginFrom2Nix {
     pname = "vim-javacomplete2";
-    version = "2021-01-04";
+    version = "2021-01-31";
     src = fetchFromGitHub {
       owner = "artur-shaik";
       repo = "vim-javacomplete2";
-      rev = "c59ac683bd2fd6164e8ab772ab16c1f4c82130a5";
-      sha256 = "04mk200wbgg007qm3qxzckcz1nxrmvr6da31bf82ilzjf5vwhr52";
+      rev = "fb39c1e6ab815270b9d1ba07f7d34059710b5035";
+      sha256 = "1n541shva0c7frihgv0ngg3vqm3d549wbqa15n2n6j1cfpsasbyd";
     };
     meta.homepage = "https://github.com/artur-shaik/vim-javacomplete2/";
   };
@@ -6006,12 +6234,12 @@ let
 
   vim-jsdoc = buildVimPluginFrom2Nix {
     pname = "vim-jsdoc";
-    version = "2020-10-10";
+    version = "2021-02-14";
     src = fetchFromGitHub {
       owner = "heavenshell";
       repo = "vim-jsdoc";
-      rev = "548767343ff221a4efd0c055a43c022d23fcafc5";
-      sha256 = "0scmpjav4zapglybdqilimqb3n805k8gqc46qvkiihprq9j9za4d";
+      rev = "82b10427e9f3af270b3d3e252f2bcfafc61b221e";
+      sha256 = "1sxdk2infw12lf1lkw05zz1aqk1pirjfph9phma89q4hc1i5hndk";
     };
     meta.homepage = "https://github.com/heavenshell/vim-jsdoc/";
   };
@@ -6078,12 +6306,12 @@ let
 
   vim-LanguageTool = buildVimPluginFrom2Nix {
     pname = "vim-LanguageTool";
-    version = "2021-01-24";
+    version = "2021-02-08";
     src = fetchFromGitHub {
       owner = "dpelle";
       repo = "vim-LanguageTool";
-      rev = "f92e2577ab937f437c06d91639100952b540365b";
-      sha256 = "09jw26mmbyvjlz5fw1gj9q0dwmv0aqwbl288h4hcliyx56snijhl";
+      rev = "0372ffae78aa3eac3bfa48ba3bf2f4015a86385a";
+      sha256 = "00476l49lczj1rw5gb6vs7s9r0zi1khw0g1v6bsfwl5r32699l7r";
     };
     meta.homepage = "https://github.com/dpelle/vim-LanguageTool/";
   };
@@ -6198,12 +6426,12 @@ let
 
   vim-localvimrc = buildVimPluginFrom2Nix {
     pname = "vim-localvimrc";
-    version = "2020-06-30";
+    version = "2021-02-18";
     src = fetchFromGitHub {
       owner = "embear";
       repo = "vim-localvimrc";
-      rev = "ac6444afb5fd11e3f7750f696a0c6b8b0b6ec116";
-      sha256 = "182fvmfnpcqda0cm878lk79iprxsd7nb9r97jmr7lx5agdcvzaqb";
+      rev = "0206f5f5a8721cc8c5c84ebb8ab2886e9afcd0ac";
+      sha256 = "1zin6pk581cnkivm2kgks0wrvpxjcl1y3x46wpkzdqg1hhif2129";
     };
     meta.homepage = "https://github.com/embear/vim-localvimrc/";
   };
@@ -6222,24 +6450,24 @@ let
 
   vim-lsc = buildVimPluginFrom2Nix {
     pname = "vim-lsc";
-    version = "2021-01-28";
+    version = "2021-02-28";
     src = fetchFromGitHub {
       owner = "natebosch";
       repo = "vim-lsc";
-      rev = "53530bf2b53b8af7299aa6499ca30e74c90480ec";
-      sha256 = "1464jk1mlmpz9chs5hc6nx718r981z7rc68fyxzksfsn3gmk5isq";
+      rev = "801572d71ad05683a4ef57c1d35305f566c09bf5";
+      sha256 = "02qj2svrdhhazyr8id0crw1qk0030pivdna28xnm9l7v24g7h9hl";
     };
     meta.homepage = "https://github.com/natebosch/vim-lsc/";
   };
 
   vim-lsp = buildVimPluginFrom2Nix {
     pname = "vim-lsp";
-    version = "2021-01-26";
+    version = "2021-02-28";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
       repo = "vim-lsp";
-      rev = "0c77beb2eb99263e69a25b4d66e7ca2cd15cb0ef";
-      sha256 = "0r981drs6cikhbkabjr7r30hszmbwkz98c8ldraw984r2zhllw1y";
+      rev = "ca2b527dc5f8cc4e6fbccda735e179ff19e388a1";
+      sha256 = "02qpmhd4hzvdg743r9j8fjrzr2mdbvhypyvkb3ph9sdrzc4kwpvd";
     };
     meta.homepage = "https://github.com/prabirshrestha/vim-lsp/";
   };
@@ -6319,12 +6547,12 @@ let
 
   vim-matchup = buildVimPluginFrom2Nix {
     pname = "vim-matchup";
-    version = "2021-01-13";
+    version = "2021-02-27";
     src = fetchFromGitHub {
       owner = "andymass";
       repo = "vim-matchup";
-      rev = "c74467ea130f99bc97697f91b0e5369f958e6333";
-      sha256 = "0w03l0iri8wsjm3fz3ysqqhl38gkfqci4b3dfkbshy2civpg2g7j";
+      rev = "69208b080114be6d038fcdca4a70adb24b6539be";
+      sha256 = "12m46f4h5ia16gyj6yv7al813qmwxbsj5ddfmdz03mxa373fwwlm";
     };
     meta.homepage = "https://github.com/andymass/vim-matchup/";
   };
@@ -6379,12 +6607,12 @@ let
 
   vim-monokai = buildVimPluginFrom2Nix {
     pname = "vim-monokai";
-    version = "2020-12-02";
+    version = "2021-02-12";
     src = fetchFromGitHub {
       owner = "crusoexia";
       repo = "vim-monokai";
-      rev = "7f42bcd0e05921c7a5d7333c96bae8b21fa76064";
-      sha256 = "10ip0y9p2qf869h2yhp2zs6qc048rw1x5i0spziajca96251gvig";
+      rev = "65fa0678d8426ae2cc7a4c42a8f0d72bde2a7bbe";
+      sha256 = "0r118mxm34kr8yk66x9ddg2yh44gn00iaxljfbhg43nhp8jyzjbn";
     };
     meta.homepage = "https://github.com/crusoexia/vim-monokai/";
   };
@@ -6559,12 +6787,12 @@ let
 
   vim-ocaml = buildVimPluginFrom2Nix {
     pname = "vim-ocaml";
-    version = "2021-01-10";
+    version = "2021-02-19";
     src = fetchFromGitHub {
       owner = "ocaml";
       repo = "vim-ocaml";
-      rev = "f51b69f46d5eb0ebbdfcd39b5aa36bfd9454eafd";
-      sha256 = "0fs5pn2hhi0mnjz0xpjl0sh4032s4n4afzjrnhygw9l9a5m51dm4";
+      rev = "ba6a32d0d079b3670cc3c02257dccea4808fdfa1";
+      sha256 = "0h4k9p5r7xwwwbi28p013dqhpl75k8458xiisl5ncswyw4wva75v";
     };
     meta.homepage = "https://github.com/ocaml/vim-ocaml/";
   };
@@ -6643,12 +6871,12 @@ let
 
   vim-oscyank = buildVimPluginFrom2Nix {
     pname = "vim-oscyank";
-    version = "2021-01-17";
+    version = "2021-02-08";
     src = fetchFromGitHub {
       owner = "ojroques";
       repo = "vim-oscyank";
-      rev = "a70de0f7830ff7238d122908583faf50d73a9f26";
-      sha256 = "0q00wqv4kbnwmnkawp4hm7mvk8p82mr4v5kf0m791gm7yy8gvb7x";
+      rev = "fdbac11f36172d6e47e212385d2f4482e472f815";
+      sha256 = "1mbs8v8k7698qnck5n38lqaz8sl07d1p31c84injb460l6jfv1s7";
     };
     meta.homepage = "https://github.com/ojroques/vim-oscyank/";
   };
@@ -6691,12 +6919,12 @@ let
 
   vim-pandoc = buildVimPluginFrom2Nix {
     pname = "vim-pandoc";
-    version = "2020-11-07";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "vim-pandoc";
       repo = "vim-pandoc";
-      rev = "0aeed75603a55887c2b492d1fe19ac8065dae671";
-      sha256 = "13xjpkq9lbb04igwif23zmb3395awk48kdyfshsga2gbv5h1i9fn";
+      rev = "94b6a23b4c0fb3268408a38badd480d974b0919f";
+      sha256 = "1dv33anir1pfnnbvj9alf4g13q58hdppry0hspy1d5kqsr5wfpix";
     };
     meta.homepage = "https://github.com/vim-pandoc/vim-pandoc/";
   };
@@ -6715,12 +6943,12 @@ let
 
   vim-pandoc-syntax = buildVimPluginFrom2Nix {
     pname = "vim-pandoc-syntax";
-    version = "2020-10-24";
+    version = "2021-02-18";
     src = fetchFromGitHub {
       owner = "vim-pandoc";
       repo = "vim-pandoc-syntax";
-      rev = "2521e2e9b99a3550e1a20f24e09fa46679cbbbc7";
-      sha256 = "02023bnvc9m98m45krld1b7gy13z335jv88fx4ybz019wc0mv35g";
+      rev = "36509e99779746866f34dadc8df64449aaca9c27";
+      sha256 = "1ir7nymhz613w5bfmk927w892lpz92b71by0j2jfnb7flh9ad6f4";
     };
     meta.homepage = "https://github.com/vim-pandoc/vim-pandoc-syntax/";
   };
@@ -6775,12 +7003,12 @@ let
 
   vim-pencil = buildVimPluginFrom2Nix {
     pname = "vim-pencil";
-    version = "2020-07-29";
+    version = "2021-02-06";
     src = fetchFromGitHub {
       owner = "reedes";
       repo = "vim-pencil";
-      rev = "dad5a3626ab68039f2676c46e7a1635e0669cc63";
-      sha256 = "1s1vxzqc5gvch2rfibn7ksmxj81gscfzg0bpvnq34jp430adzdc7";
+      rev = "2135374d48a7cb89efd5e818c12bb0ff450dfbb4";
+      sha256 = "17wgin33fj40brdb3zhm70qls2j2vssc4yrrv36y1qxwi7gdzn0f";
     };
     meta.homepage = "https://github.com/reedes/vim-pencil/";
   };
@@ -6811,12 +7039,12 @@ let
 
   vim-plug = buildVimPluginFrom2Nix {
     pname = "vim-plug";
-    version = "2020-12-14";
+    version = "2021-02-08";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "vim-plug";
-      rev = "8b45742540f92ba902c97ad1d3d8862ba3305438";
-      sha256 = "0ashl6qixnhgj5pnss9ri8w7fzixcsd0h4cmb2jpfrfma8s7xn3b";
+      rev = "cffcfe150bda75177920530c5f1911b52f70a065";
+      sha256 = "0sgfnxi1f5mnzcbklcmq6x17r1z1kz8s7h2h94girmd4aga3gcp0";
     };
     meta.homepage = "https://github.com/junegunn/vim-plug/";
   };
@@ -6835,12 +7063,12 @@ let
 
   vim-polyglot = buildVimPluginFrom2Nix {
     pname = "vim-polyglot";
-    version = "2021-01-14";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "sheerun";
       repo = "vim-polyglot";
-      rev = "4c10562d2cc9b084518284c49a158558da5180a7";
-      sha256 = "0avrjy1mxzkpsrbblzqx81ml08gm7n4bd4ihxm4qbvcdbg8n5chx";
+      rev = "cc63193ce82c1e7b9ee2ad7d0ddd14e8394211ef";
+      sha256 = "0and9148l36m8bhnzlyjirl1bd2ynswwzjc22605if82az9j55m8";
     };
     meta.homepage = "https://github.com/sheerun/vim-polyglot/";
   };
@@ -6943,12 +7171,12 @@ let
 
   vim-puppet = buildVimPluginFrom2Nix {
     pname = "vim-puppet";
-    version = "2021-01-26";
+    version = "2021-01-30";
     src = fetchFromGitHub {
       owner = "rodjek";
       repo = "vim-puppet";
-      rev = "8f588076dd026d029bb07c59fbbe8c11271d10a4";
-      sha256 = "086vd56vh82bgka0j81fbj8lkb5fcr79z281m98cwz8lij9vnp5g";
+      rev = "b282072eb145c7719319bee1963c33ad876b0cea";
+      sha256 = "1m6zbyg5hh3rhwq36836ldwhgcsmh4bl0lz5g4nzpc2ch83crrn8";
     };
     meta.homepage = "https://github.com/rodjek/vim-puppet/";
   };
@@ -6967,12 +7195,12 @@ let
 
   vim-qf = buildVimPluginFrom2Nix {
     pname = "vim-qf";
-    version = "2020-11-18";
+    version = "2021-02-01";
     src = fetchFromGitHub {
       owner = "romainl";
       repo = "vim-qf";
-      rev = "23c9d67cdd0739c9d74ac9e4a494b7cb7351170c";
-      sha256 = "15kj1wvd3wlmn982l2v8sv2lc3q39bz3jw94jvmkh7nz51xvmfqc";
+      rev = "0da85ff4270c2be10e24729dd42fb749ad1b69b7";
+      sha256 = "0f8qnxy18qskbr3m8hn4vqv7bcvr2b0xqi64bxx078an5x8lbgx2";
     };
     meta.homepage = "https://github.com/romainl/vim-qf/";
   };
@@ -7003,12 +7231,12 @@ let
 
   vim-racer = buildVimPluginFrom2Nix {
     pname = "vim-racer";
-    version = "2020-12-07";
+    version = "2021-02-15";
     src = fetchFromGitHub {
       owner = "racer-rust";
       repo = "vim-racer";
-      rev = "83ba638104f6a56def3354c6c9b1df04d12f1d3d";
-      sha256 = "1qpxdam0qn7lyvgzyip30bs6k99c0qnpd5qgkkps6mcyzd1rqlqv";
+      rev = "c7f5ec42af992a090be35301847548064e8fc806";
+      sha256 = "0vqjxcnw9cklnqyc1c39wnwirk4hhmsnyqgq4rl7ph084xqnnmrr";
     };
     meta.homepage = "https://github.com/racer-rust/vim-racer/";
   };
@@ -7027,12 +7255,12 @@ let
 
   vim-ragtag = buildVimPluginFrom2Nix {
     pname = "vim-ragtag";
-    version = "2020-01-26";
+    version = "2021-02-22";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-ragtag";
-      rev = "6f1af76cd669c4fb07f0c4e20fdee3077620e3d8";
-      sha256 = "1q5klbnwsg26zxhs3knhamk3srg7dmq46n83sa5rw2kmikb2idg2";
+      rev = "b8966c4f6503a8baaec39e17bd0bf38b2aadc9b2";
+      sha256 = "0q4blsgnl4l2bkhgjry6xnszhsswdand52gc6gdjffwlzwa9jczy";
     };
     meta.homepage = "https://github.com/tpope/vim-ragtag/";
   };
@@ -7063,24 +7291,24 @@ let
 
   vim-rhubarb = buildVimPluginFrom2Nix {
     pname = "vim-rhubarb";
-    version = "2020-12-18";
+    version = "2021-02-11";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-rhubarb";
-      rev = "d865e427d067af57d85cf2b7d2bc1912eb84d0bf";
-      sha256 = "1gcphxq52jx96fzf6xkq7mxvgyhjn6yzh7l5qc9h18lqmax9gqw2";
+      rev = "964d48fd11db7c3a3246885993319d544c7c6fd5";
+      sha256 = "09xpjd96xd0mkzfwyvinjhbza7xp6v66bdrxwkb0j0n1kgfgkx4l";
     };
     meta.homepage = "https://github.com/tpope/vim-rhubarb/";
   };
 
   vim-rooter = buildVimPluginFrom2Nix {
     pname = "vim-rooter";
-    version = "2020-09-18";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "airblade";
       repo = "vim-rooter";
-      rev = "45ea40da3f223fff83fce0a643875e560ed20aae";
-      sha256 = "1bm8hpnm02pbivcvjn20qr6hk3yyb3flfkv7pk66sffhiyj44rh2";
+      rev = "67d51540a4b173d7c77bcf1db9742b3d50e4bf45";
+      sha256 = "0a86qb39c5k1h2mi5qsn03zv598776gcvlsrkgw53f3g23xm6rk5";
     };
     meta.homepage = "https://github.com/airblade/vim-rooter/";
   };
@@ -7099,12 +7327,12 @@ let
 
   vim-ruby = buildVimPluginFrom2Nix {
     pname = "vim-ruby";
-    version = "2020-08-28";
+    version = "2021-02-03";
     src = fetchFromGitHub {
       owner = "vim-ruby";
       repo = "vim-ruby";
-      rev = "e367f7b33fe9159c943963f3f839e4d08b74090e";
-      sha256 = "1pngmr6ww4fmn71rshi1npyswp48dq3p7m02s6s703bg83smvmc8";
+      rev = "4788a08433c3c90e131fc7d110d82577e1234a86";
+      sha256 = "1sq1li4s40xgy8ww4krsxqdqlwhcd9l67551iadccvsvjka16ynw";
     };
     meta.homepage = "https://github.com/vim-ruby/vim-ruby/";
   };
@@ -7217,6 +7445,18 @@ let
     meta.homepage = "https://github.com/tpope/vim-sexp-mappings-for-regular-people/";
   };
 
+  vim-shellcheck = buildVimPluginFrom2Nix {
+    pname = "vim-shellcheck";
+    version = "2019-07-25";
+    src = fetchFromGitHub {
+      owner = "itspriddle";
+      repo = "vim-shellcheck";
+      rev = "4346419ac57ef341a15aa39c827c0848f17c6faf";
+      sha256 = "0j28nqmfjxzhwylp2r1mp5v39fws5jvn7k9maam97mi3j66a9jz5";
+    };
+    meta.homepage = "https://github.com/itspriddle/vim-shellcheck/";
+  };
+
   vim-signature = buildVimPluginFrom2Nix {
     pname = "vim-signature";
     version = "2018-07-06";
@@ -7291,24 +7531,24 @@ let
 
   vim-smoothie = buildVimPluginFrom2Nix {
     pname = "vim-smoothie";
-    version = "2021-01-17";
+    version = "2021-02-07";
     src = fetchFromGitHub {
       owner = "psliwka";
       repo = "vim-smoothie";
-      rev = "f83a157552a3bf393a7c034df1d21e3555123a4c";
-      sha256 = "090rl4mfww5rmv04v25f58jfv3yx23bwi0pijkwxr442yhbg3rg2";
+      rev = "10fd0aa57d176718bc2c570f121ab523c4429a25";
+      sha256 = "18zn29mkgdiddn3il393xzg7hpa0x25yvais1l29jq2711sg4rdc";
     };
     meta.homepage = "https://github.com/psliwka/vim-smoothie/";
   };
 
   vim-smt2 = buildVimPluginFrom2Nix {
     pname = "vim-smt2";
-    version = "2020-12-14";
+    version = "2021-02-16";
     src = fetchFromGitHub {
       owner = "bohlender";
       repo = "vim-smt2";
-      rev = "aea240223698b4bb424d29805fe6750bb30872cb";
-      sha256 = "15yxd4zxs738h51g10hx8xcki7r2hkb83prydk6g7sznsy3k70ia";
+      rev = "196d05f7152fb95c4613476368ebae9dd842d470";
+      sha256 = "0lk9clnvrkjbxgszg52zdl28d313vk2fiyh86aa6xx5pr0nr9iw3";
     };
     meta.homepage = "https://github.com/bohlender/vim-smt2/";
   };
@@ -7339,12 +7579,12 @@ let
 
   vim-snippets = buildVimPluginFrom2Nix {
     pname = "vim-snippets";
-    version = "2021-01-20";
+    version = "2021-02-25";
     src = fetchFromGitHub {
       owner = "honza";
       repo = "vim-snippets";
-      rev = "d6f2d5728002456fac0075c2442695d25167f8d9";
-      sha256 = "007jb9xmq5cz1lc79s8x1idknjfbzmikss0wmrfjqq5dbkibvv9s";
+      rev = "24a9bf959211bb0ba9ada17d6425ff167adf7bd9";
+      sha256 = "0jwjhpw1g0hy935vzslbhcw9n5sfbpcc7hs1bvvvir05619hr21y";
     };
     meta.homepage = "https://github.com/honza/vim-snippets/";
   };
@@ -7375,12 +7615,12 @@ let
 
   vim-sourcetrail = buildVimPluginFrom2Nix {
     pname = "vim-sourcetrail";
-    version = "2020-12-21";
+    version = "2021-02-16";
     src = fetchFromGitHub {
       owner = "CoatiSoftware";
       repo = "vim-sourcetrail";
-      rev = "b603ee7cf5c751918efc40014b9cfb40bf19ec32";
-      sha256 = "1yssa2yll5q61mffwxiq8swpzq80xxypyzr7svn8acwrakn0dx5r";
+      rev = "c9c621a7ab81c52a661457ccf33a64fd7c56fd9d";
+      sha256 = "192f69yz1hh2k0b2kcvfvv1jirjcvnbxvjkagmlkkqcg8w32nmlg";
     };
     meta.homepage = "https://github.com/CoatiSoftware/vim-sourcetrail/";
   };
@@ -7421,6 +7661,18 @@ let
     meta.homepage = "https://github.com/mhinz/vim-startify/";
   };
 
+  vim-startuptime = buildVimPluginFrom2Nix {
+    pname = "vim-startuptime";
+    version = "2021-02-23";
+    src = fetchFromGitHub {
+      owner = "dstein64";
+      repo = "vim-startuptime";
+      rev = "af70d17a863c9a33def9cafbb3911195a571c686";
+      sha256 = "078xq6bwkbwsjajyq3c9bn8b3r0da6j70vp1ba934a6jjdv6vrj4";
+    };
+    meta.homepage = "https://github.com/dstein64/vim-startuptime/";
+  };
+
   vim-stylish-haskell = buildVimPluginFrom2Nix {
     pname = "vim-stylish-haskell";
     version = "2019-11-28";
@@ -7556,12 +7808,12 @@ let
 
   vim-test = buildVimPluginFrom2Nix {
     pname = "vim-test";
-    version = "2021-01-03";
+    version = "2021-02-15";
     src = fetchFromGitHub {
       owner = "vim-test";
       repo = "vim-test";
-      rev = "d170b48bd167ff06ac83d71834135f42bf4dad4a";
-      sha256 = "0pqh5zqn11fv0653zdkiad066clw29amhdqnm5nz1rcx8vmpparq";
+      rev = "5a1cfbbd2b34a64852760497945dd3a5c5df349a";
+      sha256 = "164i8kzqyald74ibqimn6871ma02wwnx82d4rz9g21x2qgwyy6gr";
     };
     meta.homepage = "https://github.com/vim-test/vim-test/";
   };
@@ -7676,12 +7928,12 @@ let
 
   vim-tmux-focus-events = buildVimPluginFrom2Nix {
     pname = "vim-tmux-focus-events";
-    version = "2020-10-05";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "tmux-plugins";
       repo = "vim-tmux-focus-events";
-      rev = "a568192ca0de4ca0bd7b3cd0249aad491625c941";
-      sha256 = "130l73v18md95djkc4s9d0fr018f8f183sjcgy7dgldwdaxlqdi1";
+      rev = "9cb40a1e0c8cfad2e2180e5225d3880109cb9fc4";
+      sha256 = "0prh8zphcacn9w19s82v58km7jsdgxg0gbrq5d3sf1p82p13r5z5";
     };
     meta.homepage = "https://github.com/tmux-plugins/vim-tmux-focus-events/";
   };
@@ -7722,6 +7974,18 @@ let
     meta.homepage = "https://github.com/cespare/vim-toml/";
   };
 
+  vim-tpipeline = buildVimPluginFrom2Nix {
+    pname = "vim-tpipeline";
+    version = "2021-02-19";
+    src = fetchFromGitHub {
+      owner = "vimpostor";
+      repo = "vim-tpipeline";
+      rev = "753c64f356da0e1bed43ce0b9e8923b1e9fc0670";
+      sha256 = "06j03r6hqb72ahmdpwxxys9nw86b8c63zsxhrlngzqa5z02z6k9c";
+    };
+    meta.homepage = "https://github.com/vimpostor/vim-tpipeline/";
+  };
+
   vim-trailing-whitespace = buildVimPluginFrom2Nix {
     pname = "vim-trailing-whitespace";
     version = "2020-11-18";
@@ -7820,12 +8084,12 @@ let
 
   vim-visual-multi = buildVimPluginFrom2Nix {
     pname = "vim-visual-multi";
-    version = "2021-01-27";
+    version = "2021-02-16";
     src = fetchFromGitHub {
       owner = "mg979";
       repo = "vim-visual-multi";
-      rev = "dbf8ab3ca9d16326ad4f1b3f154de78303299f4b";
-      sha256 = "1j612450iip6vfr525nfp6arpb763j5ykjwqixs3b11jfnga268q";
+      rev = "4c99296b8f29d8936de8c33d98f0acdafcdbd388";
+      sha256 = "1w936x8zz0f6v77bhixd48q09naqglq3ar4y26kpr9vscfmsbc00";
     };
     meta.homepage = "https://github.com/mg979/vim-visual-multi/";
   };
@@ -7844,12 +8108,12 @@ let
 
   vim-vsnip = buildVimPluginFrom2Nix {
     pname = "vim-vsnip";
-    version = "2021-01-28";
+    version = "2021-02-28";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "vim-vsnip";
-      rev = "c4f374de5f1a0a90db432ae19eb6361d336f656c";
-      sha256 = "04znlii5b92fdr8vcxsh1lnnljcljmvn94k0wijn5k4yh2vf6dm7";
+      rev = "925fb3d0163e4c50b8d639029837696ead0f5a56";
+      sha256 = "06ssm3m64mcfzasf2sx09nrk8rizgjm9dgl36nm7qk2vchrcbg33";
     };
     meta.homepage = "https://github.com/hrsh7th/vim-vsnip/";
   };
@@ -7904,12 +8168,12 @@ let
 
   vim-which-key = buildVimPluginFrom2Nix {
     pname = "vim-which-key";
-    version = "2020-12-21";
+    version = "2021-02-09";
     src = fetchFromGitHub {
       owner = "liuchengxu";
       repo = "vim-which-key";
-      rev = "c5322b2f67bc627d467e527a530ff6695ccd3dbd";
-      sha256 = "0j3pnbg0a2rcjfp691v7wzcp9bqan24qvdl4fxzljipl2lyim0qb";
+      rev = "68bd1775277ad5677ebf5cdc774ca3ba4755d457";
+      sha256 = "1pg179iz0xvd6r7xks7qrn1c7vh7zmp39s9axhdgp7jisqbhaaqx";
     };
     meta.homepage = "https://github.com/liuchengxu/vim-which-key/";
   };
@@ -8108,12 +8372,12 @@ let
 
   vimspector = buildVimPluginFrom2Nix {
     pname = "vimspector";
-    version = "2021-01-10";
+    version = "2021-02-27";
     src = fetchFromGitHub {
       owner = "puremourning";
       repo = "vimspector";
-      rev = "52eff3265181bbbe5338818dc5bc196e234cea45";
-      sha256 = "1j4f3762zpw4qvqiyrq1ym4lk78w3r93ya70id7g6w4pviaqcv1j";
+      rev = "5bd83d3e37403d8cc7ad3378a58d58f06a53d318";
+      sha256 = "114bpbb82w9q79c7qq51c2w00qyagbj0l8jasr0giwhfxcxys1nb";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/puremourning/vimspector/";
@@ -8121,26 +8385,26 @@ let
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2021-01-25";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "b2e93e1ab44099d3344f81f22dfa0851444ac824";
-      sha256 = "19c4y4r8j8hvbwwqqj5f84p3i2ys21a7bdizffrpz05ds3zigwyi";
+      rev = "eb6b84315f7d8d698d8839f9685283e6ec9adbbd";
+      sha256 = "1hgpx95hpwdvldhv9k1a7p9acd5ppp8z2fl9brq3fs8h5ci272x0";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
 
   vimux = buildVimPluginFrom2Nix {
     pname = "vimux";
-    version = "2017-10-24";
+    version = "2021-02-23";
     src = fetchFromGitHub {
-      owner = "benmills";
+      owner = "preservim";
       repo = "vimux";
-      rev = "37f41195e6369ac602a08ec61364906600b771f1";
-      sha256 = "0k7ymak2ag67lb4sf80y4k35zj38rj0jf61bf50i6h1bgw987pra";
+      rev = "5b1791673c1a089a78be16187f7532f95e50580b";
+      sha256 = "17m7hh02q9myfpa8z1scnakcl25fasnns1gxgfpx544rky5pd3mc";
     };
-    meta.homepage = "https://github.com/benmills/vimux/";
+    meta.homepage = "https://github.com/preservim/vimux/";
   };
 
   vimwiki = buildVimPluginFrom2Nix {
@@ -8169,12 +8433,12 @@ let
 
   vista-vim = buildVimPluginFrom2Nix {
     pname = "vista-vim";
-    version = "2021-01-17";
+    version = "2021-02-26";
     src = fetchFromGitHub {
       owner = "liuchengxu";
       repo = "vista.vim";
-      rev = "a648aab8b35401bea2b9192efe171b3787264abd";
-      sha256 = "15ib66lsx2wpbykv5pmr4ly2gkksml2dp6nmb2iv7zy70655whsf";
+      rev = "9c97b935cb941a9fddcbbdc0eaf3e5e190f4847e";
+      sha256 = "10jsqi5jipvaa8dbckrjacqz32iy0i9mx1a4m3jk3gainx9a9xmq";
     };
     meta.homepage = "https://github.com/liuchengxu/vista.vim/";
   };
@@ -8289,12 +8553,12 @@ let
 
   yats-vim = buildVimPluginFrom2Nix {
     pname = "yats-vim";
-    version = "2021-01-21";
+    version = "2021-02-15";
     src = fetchFromGitHub {
       owner = "HerringtonDarkholme";
       repo = "yats.vim";
-      rev = "6104b30b32732e367266f06ecf6e817df32ac1b9";
-      sha256 = "0r8asbc387mmdiignr862gz4xd590c6rhp3ff78v7z7rn94dnamd";
+      rev = "11112853180a933574f431cf78cd5a462ee3f473";
+      sha256 = "0bnq02dbsqwsizhlldb2pj92gjybr5aaa7a5m786xvb7ljvd82vi";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/HerringtonDarkholme/yats.vim/";
@@ -8302,12 +8566,12 @@ let
 
   YouCompleteMe = buildVimPluginFrom2Nix {
     pname = "YouCompleteMe";
-    version = "2020-12-31";
+    version = "2021-02-07";
     src = fetchFromGitHub {
       owner = "ycm-core";
       repo = "YouCompleteMe";
-      rev = "2434b104065be4590f07ad950d0943b7194f01e6";
-      sha256 = "0hhwqb5w84bi28h27wmisx4mb91xc6jbdh004d5994bl2098yrf8";
+      rev = "dbf67638cb7084883c7463b0d6226be9d9159b9a";
+      sha256 = "1qxwgjfhzz7ymkbbnjm3xrp368rmcphdaj4lxrkkbp9d2pn9g8s7";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/ycm-core/YouCompleteMe/";
@@ -8351,24 +8615,24 @@ let
 
   zephyr-nvim = buildVimPluginFrom2Nix {
     pname = "zephyr-nvim";
-    version = "2021-01-13";
+    version = "2021-03-01";
     src = fetchFromGitHub {
       owner = "glepnir";
       repo = "zephyr-nvim";
-      rev = "bc1a7584b435b9921e245c3621ab7524be370b2d";
-      sha256 = "0fvgky7i6m5n4h4l73xdisxhpcc8cv9pq8jrvz571gmyjsh1rrrv";
+      rev = "58e31c89350d50e16f52911e60bb3b66160255b5";
+      sha256 = "1yyv9grk2wdp308wc3g227iq4rrflv443z8hxi66wknjffjs51wr";
     };
     meta.homepage = "https://github.com/glepnir/zephyr-nvim/";
   };
 
   zig-vim = buildVimPluginFrom2Nix {
     pname = "zig-vim";
-    version = "2021-01-19";
+    version = "2021-02-23";
     src = fetchFromGitHub {
       owner = "ziglang";
       repo = "zig.vim";
-      rev = "17170fd1c31f00132a91fb1598d0f3df5927e28d";
-      sha256 = "0k8s5via1frpgdb94kgsk29g7h6fjq3cazyfa8zww7vra418acsh";
+      rev = "fcafb4b64ffe6d308f5e312ddd1672e69e09fb1c";
+      sha256 = "0bsz046sbf5g6lkgcjyllc8knbiqdcglpkf1wbzn7zi7whdhjxdx";
     };
     meta.homepage = "https://github.com/ziglang/zig.vim/";
   };
diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix
index 6fefca59271ae..6ae6a42fac2a7 100644
--- a/pkgs/misc/vim-plugins/overrides.nix
+++ b/pkgs/misc/vim-plugins/overrides.nix
@@ -1,39 +1,80 @@
-{ lib, stdenv
-, python, cmake, meson, vim, ruby
-, which, fetchFromGitHub, fetchgit, fetchurl, fetchzip, fetchpatch
-, llvmPackages, rustPlatform, buildGoModule
-, pkg-config, curl, openssl, libgit2, libiconv
-, xkb-switch, fzf, skim, stylish-haskell
-, python3, boost, icu, ncurses
-, ycmd, rake
-, gobject-introspection, glib, wrapGAppsHook
+{ lib
+, stdenv
+, python
+, cmake
+, meson
+, vim
+, ruby
+, which
+, fetchFromGitHub
+, fetchurl
+, fetchpatch
+, llvmPackages
+, rustPlatform
+, buildGoModule
+, pkg-config
+, curl
+, openssl
+, libgit2
+, libiconv
+, xkb-switch
+, fzf
+, skim
+, stylish-haskell
+, python3
+, boost
+, icu
+, ncurses
+, ycmd
+, rake
+, gobject-introspection
+, glib
+, wrapGAppsHook
 , substituteAll
 , languagetool
 , tabnine
-, Cocoa, CoreFoundation, CoreServices
+
+, Cocoa
+, CoreFoundation
+, CoreServices
+
 , buildVimPluginFrom2Nix
 , nodePackages
 , dasht
 , sqlite
 , code-minimap
 
-# deoplete-khard dependency
+  # deoplete-khard dependency
 , khard
 
-# vim-go dependencies
-, asmfmt, delve, errcheck, godef, golint
-, gomodifytags, gotags, gotools, go-motion
-, gnused, reftools, gogetdoc, golangci-lint
-, impl, iferr, gocode, gocode-gomod, go-tools
+  # vim-go dependencies
+, asmfmt
+, delve
+, errcheck
+, godef
+, golint
+, gomodifytags
+, gotags
+, gotools
+, go-motion
+, gnused
+, reftools
+, gogetdoc
+, golangci-lint
+, impl
+, iferr
+, gocode
+, gocode-gomod
+, go-tools
 , gopls
 
-# direnv-vim dependencies
+  # direnv-vim dependencies
 , direnv
 
-# vCoolor dependency
+  # vCoolor dependency
 , gnome3
 
-# fruzzy dependency
+  # fruzzy dependency
 , nim
 }:
 
@@ -61,42 +102,44 @@ self: super: {
     src = skim.vim;
   };
 
-  LanguageClient-neovim = let
-    version = "0.1.160";
-    LanguageClient-neovim-src = fetchFromGitHub {
-      owner = "autozimu";
-      repo = "LanguageClient-neovim";
-      rev = version;
-      sha256 = "143cifahav1pfmpx3j1ihx433jrwxf6z27s0wxndgjkd2plkks58";
-    };
-    LanguageClient-neovim-bin = rustPlatform.buildRustPackage {
-      pname = "LanguageClient-neovim-bin";
+  LanguageClient-neovim =
+    let
+      version = "0.1.160";
+      LanguageClient-neovim-src = fetchFromGitHub {
+        owner = "autozimu";
+        repo = "LanguageClient-neovim";
+        rev = version;
+        sha256 = "143cifahav1pfmpx3j1ihx433jrwxf6z27s0wxndgjkd2plkks58";
+      };
+      LanguageClient-neovim-bin = rustPlatform.buildRustPackage {
+        pname = "LanguageClient-neovim-bin";
+        inherit version;
+        src = LanguageClient-neovim-src;
+
+        cargoSha256 = "0mf94j85awdcqa6cyb89bipny9xg13ldkznjf002fq747f55my2a";
+        buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
+
+        # FIXME: Use impure version of CoreFoundation because of missing symbols.
+        #   Undefined symbols for architecture x86_64: "_CFURLResourceIsReachable"
+        preConfigure = lib.optionalString stdenv.isDarwin ''
+          export NIX_LDFLAGS="-F${CoreFoundation}/Library/Frameworks -framework CoreFoundation $NIX_LDFLAGS"
+        '';
+      };
+    in
+    buildVimPluginFrom2Nix {
+      pname = "LanguageClient-neovim";
       inherit version;
       src = LanguageClient-neovim-src;
 
-      cargoSha256 = "0mf94j85awdcqa6cyb89bipny9xg13ldkznjf002fq747f55my2a";
-      buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
+      propagatedBuildInputs = [ LanguageClient-neovim-bin ];
 
-      # FIXME: Use impure version of CoreFoundation because of missing symbols.
-      #   Undefined symbols for architecture x86_64: "_CFURLResourceIsReachable"
-      preConfigure = lib.optionalString stdenv.isDarwin ''
-        export NIX_LDFLAGS="-F${CoreFoundation}/Library/Frameworks -framework CoreFoundation $NIX_LDFLAGS"
+      preFixup = ''
+        substituteInPlace "$out"/share/vim-plugins/LanguageClient-neovim/autoload/LanguageClient.vim \
+          --replace "let l:path = s:root . '/bin/'" "let l:path = '${LanguageClient-neovim-bin}' . '/bin/'"
       '';
     };
-  in buildVimPluginFrom2Nix {
-    pname = "LanguageClient-neovim";
-    inherit version;
-    src = LanguageClient-neovim-src;
-
-    propagatedBuildInputs = [ LanguageClient-neovim-bin ];
 
-    preFixup = ''
-      substituteInPlace "$out"/share/vim-plugins/LanguageClient-neovim/autoload/LanguageClient.vim \
-        --replace "let l:path = s:root . '/bin/'" "let l:path = '${LanguageClient-neovim-bin}' . '/bin/'"
-    '';
-  };
-
-  clang_complete = super.clang_complete.overrideAttrs(old: {
+  clang_complete = super.clang_complete.overrideAttrs (old: {
     # In addition to the arguments you pass to your compiler, you also need to
     # specify the path of the C++ std header (if you are using C++).
     # These usually implicitly set by cc-wrapper around clang (pkgs/build-support/cc-wrapper).
@@ -111,7 +154,7 @@ self: super: {
     '';
   });
 
-  direnv-vim = super.direnv-vim.overrideAttrs(oa: {
+  direnv-vim = super.direnv-vim.overrideAttrs (oa: {
     preFixup = oa.preFixup or "" + ''
       substituteInPlace $out/share/vim-plugins/direnv-vim/autoload/direnv.vim \
         --replace "let s:direnv_cmd = get(g:, 'direnv_cmd', 'direnv')" \
@@ -119,14 +162,14 @@ self: super: {
     '';
   });
 
-  clighter8 = super.clighter8.overrideAttrs(old: {
+  clighter8 = super.clighter8.overrideAttrs (old: {
     preFixup = ''
       sed "/^let g:clighter8_libclang_path/s|')$|${llvmPackages.clang.cc.lib}/lib/libclang.so')|" \
         -i "$out"/share/vim-plugins/clighter8/plugin/clighter8.vim
     '';
   });
 
-  command-t = super.command-t.overrideAttrs(old: {
+  command-t = super.command-t.overrideAttrs (old: {
     buildInputs = [ ruby rake ];
     buildPhase = ''
       rake make
@@ -134,7 +177,7 @@ self: super: {
     '';
   });
 
-  cpsm = super.cpsm.overrideAttrs(old: {
+  cpsm = super.cpsm.overrideAttrs (old: {
     buildInputs = [
       python3
       stdenv
@@ -150,7 +193,7 @@ self: super: {
     '';
   });
 
-  ctrlp-cmatcher = super.ctrlp-cmatcher.overrideAttrs(old: {
+  ctrlp-cmatcher = super.ctrlp-cmatcher.overrideAttrs (old: {
     buildInputs = [ python ];
     buildPhase = ''
       patchShebangs .
@@ -158,25 +201,25 @@ self: super: {
     '';
   });
 
-  defx-nvim = super.defx-nvim.overrideAttrs(old: {
+  defx-nvim = super.defx-nvim.overrideAttrs (old: {
     dependencies = with super; [ nvim-yarp ];
   });
 
-  deoplete-fish = super.deoplete-fish.overrideAttrs(old: {
+  deoplete-fish = super.deoplete-fish.overrideAttrs (old: {
     dependencies = with super; [ deoplete-nvim vim-fish ];
   });
 
-  deoplete-go = super.deoplete-go.overrideAttrs(old: {
+  deoplete-go = super.deoplete-go.overrideAttrs (old: {
     buildInputs = [ python3 ];
     buildPhase = ''
       pushd ./rplugin/python3/deoplete/ujson
       python3 setup.py build --build-base=$PWD/build --build-lib=$PWD/build
       popd
       find ./rplugin/ -name "ujson*.so" -exec mv -v {} ./rplugin/python3/ \;
-   '';
+    '';
   });
 
-  deoplete-khard = super.deoplete-khard.overrideAttrs(old: {
+  deoplete-khard = super.deoplete-khard.overrideAttrs (old: {
     dependencies = [ self.deoplete-nvim ];
     passthru.python3Dependencies = ps: [ (ps.toPythonModule khard) ];
     meta = {
@@ -187,52 +230,55 @@ self: super: {
     };
   });
 
-  ensime-vim = super.ensime-vim.overrideAttrs(old: {
+  ensime-vim = super.ensime-vim.overrideAttrs (old: {
     passthru.python3Dependencies = ps: with ps; [ sexpdata websocket_client ];
     dependencies = with super; [ vimproc-vim vimshell-vim super.self forms ];
   });
 
-  forms = super.forms.overrideAttrs(old: {
+  forms = super.forms.overrideAttrs (old: {
     dependencies = with super; [ super.self ];
   });
 
-  fruzzy = let # until https://github.com/NixOS/nixpkgs/pull/67878 is merged, there's no better way to install nim libraries with nix
-    nimpy = fetchFromGitHub {
-      owner = "yglukhov";
-      repo = "nimpy";
-      rev = "4840d1e438985af759ddf0923e7a9250fd8ea0da";
-      sha256 = "0qqklvaajjqnlqm3rkk36pwwnn7x942mbca7nf2cvryh36yg4q5k";
-    };
-    binaryheap = fetchFromGitHub {
-      owner = "bluenote10";
-      repo = "nim-heap";
-      rev = "c38039309cb11391112571aa332df9c55f625b54";
-      sha256 = "05xdy13vm5n8dw2i366ppbznc4cfhq23rdcklisbaklz2jhdx352";
-    };
-  in super.fruzzy.overrideAttrs(old: {
-    buildInputs = [ nim ];
-    patches = [
-      (substituteAll {
-        src = ./patches/fruzzy/get_version.patch;
-        version = old.version;
-      })
-    ];
-    configurePhase = ''
-      substituteInPlace Makefile \
-        --replace \
-          "nim c" \
-          "nim c --nimcache:$TMP --path:${nimpy} --path:${binaryheap}"
-    '';
-    buildPhase = ''
-      make build
-    '';
-  });
+  fruzzy =
+    let
+      # until https://github.com/NixOS/nixpkgs/pull/67878 is merged, there's no better way to install nim libraries with nix
+      nimpy = fetchFromGitHub {
+        owner = "yglukhov";
+        repo = "nimpy";
+        rev = "4840d1e438985af759ddf0923e7a9250fd8ea0da";
+        sha256 = "0qqklvaajjqnlqm3rkk36pwwnn7x942mbca7nf2cvryh36yg4q5k";
+      };
+      binaryheap = fetchFromGitHub {
+        owner = "bluenote10";
+        repo = "nim-heap";
+        rev = "c38039309cb11391112571aa332df9c55f625b54";
+        sha256 = "05xdy13vm5n8dw2i366ppbznc4cfhq23rdcklisbaklz2jhdx352";
+      };
+    in
+    super.fruzzy.overrideAttrs (old: {
+      buildInputs = [ nim ];
+      patches = [
+        (substituteAll {
+          src = ./patches/fruzzy/get_version.patch;
+          version = old.version;
+        })
+      ];
+      configurePhase = ''
+        substituteInPlace Makefile \
+          --replace \
+            "nim c" \
+            "nim c --nimcache:$TMP --path:${nimpy} --path:${binaryheap}"
+      '';
+      buildPhase = ''
+        make build
+      '';
+    });
 
-  ghcid = super.ghcid.overrideAttrs(old: {
+  ghcid = super.ghcid.overrideAttrs (old: {
     configurePhase = "cd plugins/nvim";
   });
 
-  vimsence = super.vimsence.overrideAttrs(old: {
+  vimsence = super.vimsence.overrideAttrs (old: {
     meta = with lib; {
       description = "Discord rich presence for Vim";
       homepage = "https://github.com/hugolgst/vimsence";
@@ -240,11 +286,11 @@ self: super: {
     };
   });
 
-  vim-gist = super.vim-gist.overrideAttrs(old: {
+  vim-gist = super.vim-gist.overrideAttrs (old: {
     dependencies = with super; [ webapi-vim ];
   });
 
-  minimap-vim = super.minimap-vim.overrideAttrs(old: {
+  minimap-vim = super.minimap-vim.overrideAttrs (old: {
     preFixup = ''
       substituteInPlace $out/share/vim-plugins/minimap-vim/plugin/minimap.vim \
         --replace "code-minimap" "${code-minimap}/bin/code-minimap"
@@ -259,65 +305,69 @@ self: super: {
     meta.maintainers = with lib.maintainers; [ vcunat ];
   };
 
-  ncm2 = super.ncm2.overrideAttrs(old: {
+  ncm2 = super.ncm2.overrideAttrs (old: {
     dependencies = with super; [ nvim-yarp ];
   });
 
-  ncm2-jedi = super.ncm2-jedi.overrideAttrs(old: {
+  ncm2-jedi = super.ncm2-jedi.overrideAttrs (old: {
     dependencies = with super; [ nvim-yarp ncm2 ];
     passthru.python3Dependencies = ps: with ps; [ jedi ];
   });
 
-  ncm2-neoinclude = super.ncm2-neoinclude.overrideAttrs(old: {
+  ncm2-neoinclude = super.ncm2-neoinclude.overrideAttrs (old: {
     dependencies = with super; [ neoinclude-vim ];
   });
 
-  ncm2-neosnippet = super.ncm2-neosnippet.overrideAttrs(old: {
+  ncm2-neosnippet = super.ncm2-neosnippet.overrideAttrs (old: {
     dependencies = with super; [ neosnippet-vim ];
   });
 
-  ncm2-syntax = super.ncm2-syntax.overrideAttrs(old: {
+  ncm2-syntax = super.ncm2-syntax.overrideAttrs (old: {
     dependencies = with super; [ neco-syntax ];
   });
 
-  ncm2-ultisnips = super.ncm2-ultisnips.overrideAttrs(old: {
+  ncm2-ultisnips = super.ncm2-ultisnips.overrideAttrs (old: {
     dependencies = with super; [ ultisnips ];
   });
 
-  nvim-lsputils = super.nvim-lsputils.overrideAttrs(old: {
+  nvim-lsputils = super.nvim-lsputils.overrideAttrs (old: {
     dependencies = with super; [ popfix ];
   });
 
-  fzf-vim = super.fzf-vim.overrideAttrs(old: {
+  fzf-vim = super.fzf-vim.overrideAttrs (old: {
     dependencies = [ self.fzfWrapper ];
   });
 
-  skim-vim = super.skim-vim.overrideAttrs(old: {
+  skim-vim = super.skim-vim.overrideAttrs (old: {
     dependencies = [ self.skim ];
   });
 
-  sql-nvim = super.sql-nvim.overrideAttrs(old: {
-    buildInputs = [ sqlite ];
+  sql-nvim = super.sql-nvim.overrideAttrs (old: {
+    postPatch = ''
+      substituteInPlace lua/sql/defs.lua \
+        --replace "vim.g.sql_clib_path or" "vim.g.sql_clib_path or '${sqlite.out}/lib/libsqlite3.so' or"
+    '';
   });
 
-  sved = let
-    # we put the script in its own derivation to benefit the magic of wrapGAppsHook
-    svedbackend = stdenv.mkDerivation {
-      name = "svedbackend-${super.sved.name}";
-      inherit (super.sved) src;
-      nativeBuildInputs = [ wrapGAppsHook ];
-      buildInputs = [
-        gobject-introspection
-        glib
-        (python3.withPackages(ps: with ps; [ pygobject3 pynvim dbus-python ]))
-      ];
-      preferLocalBuild = true;
-      installPhase = ''
-        install -Dt $out/bin ftplugin/evinceSync.py
-      '';
-    };
-  in
-    super.sved.overrideAttrs(old: {
+  sved =
+    let
+      # we put the script in its own derivation to benefit the magic of wrapGAppsHook
+      svedbackend = stdenv.mkDerivation {
+        name = "svedbackend-${super.sved.name}";
+        inherit (super.sved) src;
+        nativeBuildInputs = [ wrapGAppsHook ];
+        buildInputs = [
+          gobject-introspection
+          glib
+          (python3.withPackages (ps: with ps; [ pygobject3 pynvim dbus-python ]))
+        ];
+        preferLocalBuild = true;
+        installPhase = ''
+          install -Dt $out/bin ftplugin/evinceSync.py
+        '';
+      };
+    in
+    super.sved.overrideAttrs (old: {
       preferLocalBuild = true;
       postPatch = ''
         rm ftplugin/evinceSync.py
@@ -328,7 +378,7 @@ self: super: {
       };
     });
 
-  vimacs = super.vimacs.overrideAttrs(old: {
+  vimacs = super.vimacs.overrideAttrs (old: {
     buildPhase = ''
       substituteInPlace bin/vim \
         --replace '/usr/bin/vim' 'vim' \
@@ -344,73 +394,74 @@ self: super: {
     };
   });
 
-  vimshell-vim = super.vimshell-vim.overrideAttrs(old: {
+  vimshell-vim = super.vimshell-vim.overrideAttrs (old: {
     dependencies = with super; [ vimproc-vim ];
   });
 
-  vim-addon-manager = super.vim-addon-manager.overrideAttrs(old: {
+  vim-addon-manager = super.vim-addon-manager.overrideAttrs (old: {
     buildInputs = lib.optional stdenv.isDarwin Cocoa;
   });
 
-  vim-addon-actions = super.vim-addon-actions.overrideAttrs(old: {
+  vim-addon-actions = super.vim-addon-actions.overrideAttrs (old: {
     dependencies = with super; [ vim-addon-mw-utils tlib_vim ];
   });
 
-  vim-addon-async = super.vim-addon-async.overrideAttrs(old: {
+  vim-addon-async = super.vim-addon-async.overrideAttrs (old: {
     dependencies = with super; [ vim-addon-signs ];
   });
 
-  vim-addon-background-cmd = super.vim-addon-background-cmd.overrideAttrs(old: {
+  vim-addon-background-cmd = super.vim-addon-background-cmd.overrideAttrs (old: {
     dependencies = with super; [ vim-addon-mw-utils ];
   });
 
-  vim-addon-completion = super.vim-addon-completion.overrideAttrs(old: {
+  vim-addon-completion = super.vim-addon-completion.overrideAttrs (old: {
     dependencies = with super; [ tlib_vim ];
   });
 
-  vim-addon-goto-thing-at-cursor = super.vim-addon-goto-thing-at-cursor.overrideAttrs(old: {
+  vim-addon-goto-thing-at-cursor = super.vim-addon-goto-thing-at-cursor.overrideAttrs (old: {
     dependencies = with super; [ tlib_vim ];
   });
 
-  vim-addon-mru = super.vim-addon-mru.overrideAttrs(old: {
+  vim-addon-mru = super.vim-addon-mru.overrideAttrs (old: {
     dependencies = with super; [ vim-addon-other vim-addon-mw-utils ];
   });
 
-  vim-addon-nix = super.vim-addon-nix.overrideAttrs(old: {
+  vim-addon-nix = super.vim-addon-nix.overrideAttrs (old: {
     dependencies = with super; [
       vim-addon-completion
       vim-addon-goto-thing-at-cursor
       vim-addon-errorformats
       vim-addon-actions
-      vim-addon-mw-utils tlib_vim
+      vim-addon-mw-utils
+      tlib_vim
     ];
   });
 
-  vim-addon-sql = super.vim-addon-sql.overrideAttrs(old: {
+  vim-addon-sql = super.vim-addon-sql.overrideAttrs (old: {
     dependencies = with super; [ vim-addon-completion vim-addon-background-cmd tlib_vim ];
   });
 
-  vim-addon-syntax-checker = super.vim-addon-syntax-checker.overrideAttrs(old: {
+  vim-addon-syntax-checker = super.vim-addon-syntax-checker.overrideAttrs (old: {
     dependencies = with super; [ vim-addon-mw-utils tlib_vim ];
   });
 
-  vim-addon-toggle-buffer = super.vim-addon-toggle-buffer.overrideAttrs(old: {
+  vim-addon-toggle-buffer = super.vim-addon-toggle-buffer.overrideAttrs (old: {
     dependencies = with super; [ vim-addon-mw-utils tlib_vim ];
   });
 
-  vim-addon-xdebug = super.vim-addon-xdebug.overrideAttrs(old: {
+  vim-addon-xdebug = super.vim-addon-xdebug.overrideAttrs (old: {
     dependencies = with super; [ webapi-vim vim-addon-mw-utils vim-addon-signs vim-addon-async ];
   });
 
-  vim-bazel = super.vim-bazel.overrideAttrs(old: {
+  vim-bazel = super.vim-bazel.overrideAttrs (old: {
     dependencies = with super; [ vim-maktaba ];
   });
 
-  vim-beancount = super.vim-beancount.overrideAttrs(old: {
+  vim-beancount = super.vim-beancount.overrideAttrs (old: {
     passthru.python3Dependencies = ps: with ps; [ beancount ];
   });
 
-  vim-closer = super.vim-closer.overrideAttrs(old: {
+  vim-closer = super.vim-closer.overrideAttrs (old: {
     patches = [
       # Fix duplicate tag in doc
       (fetchpatch {
@@ -420,21 +471,22 @@ self: super: {
     ];
   });
 
-  vim-codefmt = super.vim-codefmt.overrideAttrs(old: {
+  vim-codefmt = super.vim-codefmt.overrideAttrs (old: {
     dependencies = with super; [ vim-maktaba ];
   });
 
-  vim-dasht = super.vim-dasht.overrideAttrs(old: {
+  vim-dasht = super.vim-dasht.overrideAttrs (old: {
     preFixup = ''
       substituteInPlace $out/share/vim-plugins/vim-dasht/autoload/dasht.vim \
         --replace "['dasht']" "['${dasht}/bin/dasht']"
     '';
   });
 
-  vim-easytags = super.vim-easytags.overrideAttrs(old: {
+  vim-easytags = super.vim-easytags.overrideAttrs (old: {
     dependencies = with super; [ vim-misc ];
     patches = [
-      (fetchpatch { # https://github.com/xolox/vim-easytags/pull/170 fix version detection for universal-ctags
+      (fetchpatch {
+        # https://github.com/xolox/vim-easytags/pull/170 fix version detection for universal-ctags
         url = "https://github.com/xolox/vim-easytags/commit/46e4709500ba3b8e6cf3e90aeb95736b19e49be9.patch";
         sha256 = "0x0xabb56xkgdqrg1mpvhbi3yw4d829n73lsnnyj5yrxjffy4ax4";
       })
@@ -444,36 +496,38 @@ self: super: {
   # change the go_bin_path to point to a path in the nix store. See the code in
   # fatih/vim-go here
   # https://github.com/fatih/vim-go/blob/155836d47052ea9c9bac81ba3e937f6f22c8e384/autoload/go/path.vim#L154-L159
-  vim-go = super.vim-go.overrideAttrs(old: let
-    binPath = lib.makeBinPath [
-      asmfmt
-      delve
-      errcheck
-      go-motion
-      go-tools
-      gocode
-      gocode-gomod
-      godef
-      gogetdoc
-      golint
-      golangci-lint
-      gomodifytags
-      gopls
-      gotags
-      gotools
-      iferr
-      impl
-      reftools
-    ];
-    in {
-    postPatch = ''
-      ${gnused}/bin/sed \
-        -Ee 's@"go_bin_path", ""@"go_bin_path", "${binPath}"@g' \
-        -i autoload/go/config.vim
-    '';
-  });
+  vim-go = super.vim-go.overrideAttrs (old:
+    let
+      binPath = lib.makeBinPath [
+        asmfmt
+        delve
+        errcheck
+        go-motion
+        go-tools
+        gocode
+        gocode-gomod
+        godef
+        gogetdoc
+        golint
+        golangci-lint
+        gomodifytags
+        gopls
+        gotags
+        gotools
+        iferr
+        impl
+        reftools
+      ];
+    in
+    {
+      postPatch = ''
+        ${gnused}/bin/sed \
+          -Ee 's@"go_bin_path", ""@"go_bin_path", "${binPath}"@g' \
+          -i autoload/go/config.vim
+      '';
+    });
 
-  vim-grammarous = super.vim-grammarous.overrideAttrs(old: {
+  vim-grammarous = super.vim-grammarous.overrideAttrs (old: {
     # use `:GrammarousCheck` to initialize checking
     # In neovim, you also want to use set
     #   let g:grammarous#show_first_error = 1
@@ -486,7 +540,7 @@ self: super: {
     ];
   });
 
-  lens-vim = super.lens-vim.overrideAttrs(old: {
+  lens-vim = super.lens-vim.overrideAttrs (old: {
     # remove duplicate g:lens#animate in doc/lens.txt
     # https://github.com/NixOS/nixpkgs/pull/105810#issuecomment-740007985
     # https://github.com/camspiers/lens.vim/pull/40/files
@@ -498,11 +552,11 @@ self: super: {
     ];
   });
 
-  vim-hier = super.vim-hier.overrideAttrs(old: {
+  vim-hier = super.vim-hier.overrideAttrs (old: {
     buildInputs = [ vim ];
   });
 
-  vim-isort = super.vim-isort.overrideAttrs(old: {
+  vim-isort = super.vim-isort.overrideAttrs (old: {
     postPatch = ''
       substituteInPlace ftplugin/python_vimisort.vim \
         --replace 'import vim' 'import vim; import sys; sys.path.append("${python.pkgs.isort}/${python.sitePackages}")'
@@ -510,38 +564,39 @@ self: super: {
   });
 
   vim-markdown-composer =
-  let
-    vim-markdown-composer-bin = rustPlatform.buildRustPackage rec {
-      pname = "vim-markdown-composer-bin";
-      inherit (super.vim-markdown-composer) src version;
-      cargoSha256 = "iuhq2Zhdkib8hw4uvXBjwE5ZiN1kzairlzufaGuVkWc=";
-    };
-  in super.vim-markdown-composer.overrideAttrs(oldAttrs: rec {
-    preFixup = ''
-      substituteInPlace "$out"/share/vim-plugins/vim-markdown-composer/after/ftplugin/markdown/composer.vim \
-        --replace "let l:args = [s:plugin_root . '/target/release/markdown-composer']" \
-        "let l:args = ['${vim-markdown-composer-bin}/bin/markdown-composer']"
-    '';
-  });
+    let
+      vim-markdown-composer-bin = rustPlatform.buildRustPackage rec {
+        pname = "vim-markdown-composer-bin";
+        inherit (super.vim-markdown-composer) src version;
+        cargoSha256 = "iuhq2Zhdkib8hw4uvXBjwE5ZiN1kzairlzufaGuVkWc=";
+      };
+    in
+    super.vim-markdown-composer.overrideAttrs (oldAttrs: rec {
+      preFixup = ''
+        substituteInPlace "$out"/share/vim-plugins/vim-markdown-composer/after/ftplugin/markdown/composer.vim \
+          --replace "let l:args = [s:plugin_root . '/target/release/markdown-composer']" \
+          "let l:args = ['${vim-markdown-composer-bin}/bin/markdown-composer']"
+      '';
+    });
 
-  vim-metamath = super.vim-metamath.overrideAttrs(old: {
+  vim-metamath = super.vim-metamath.overrideAttrs (old: {
     preInstall = "cd vim";
   });
 
-  vim-snipmate = super.vim-snipmate.overrideAttrs(old: {
+  vim-snipmate = super.vim-snipmate.overrideAttrs (old: {
     dependencies = with super; [ vim-addon-mw-utils tlib_vim ];
   });
 
 
-  vim-wakatime = super.vim-wakatime.overrideAttrs(old: {
+  vim-wakatime = super.vim-wakatime.overrideAttrs (old: {
     buildInputs = [ python ];
   });
 
-  vim-xdebug = super.vim-xdebug.overrideAttrs(old: {
+  vim-xdebug = super.vim-xdebug.overrideAttrs (old: {
     postInstall = false;
   });
 
-  vim-xkbswitch = super.vim-xkbswitch.overrideAttrs(old: {
+  vim-xkbswitch = super.vim-xkbswitch.overrideAttrs (old: {
     patchPhase = ''
       substituteInPlace plugin/xkbswitch.vim \
         --replace /usr/local/lib/libxkbswitch.so ${xkb-switch}/lib/libxkbswitch.so
@@ -549,14 +604,14 @@ self: super: {
     buildInputs = [ xkb-switch ];
   });
 
-  vim-yapf = super.vim-yapf.overrideAttrs(old: {
+  vim-yapf = super.vim-yapf.overrideAttrs (old: {
     buildPhase = ''
       substituteInPlace ftplugin/python_yapf.vim \
         --replace '"yapf"' '"${python3.pkgs.yapf}/bin/yapf"'
     '';
   });
 
-  vimproc-vim = super.vimproc-vim.overrideAttrs(old: {
+  vimproc-vim = super.vimproc-vim.overrideAttrs (old: {
     buildInputs = [ which ];
 
     buildPhase = ''
@@ -568,11 +623,11 @@ self: super: {
     '';
   });
 
-  YankRing-vim = super.YankRing-vim.overrideAttrs(old: {
+  YankRing-vim = super.YankRing-vim.overrideAttrs (old: {
     sourceRoot = ".";
   });
 
-  YouCompleteMe = super.YouCompleteMe.overrideAttrs(old: {
+  YouCompleteMe = super.YouCompleteMe.overrideAttrs (old: {
     buildPhase = ''
       substituteInPlace plugin/youcompleteme.vim \
         --replace "'ycm_path_to_python_interpreter', '''" \
@@ -591,7 +646,7 @@ self: super: {
     };
   });
 
-  jedi-vim = super.jedi-vim.overrideAttrs(old: {
+  jedi-vim = super.jedi-vim.overrideAttrs (old: {
     # checking for python3 support in vim would be neat, too, but nobody else seems to care
     buildInputs = [ python3.pkgs.jedi ];
     meta = {
@@ -600,8 +655,8 @@ self: super: {
     };
   });
 
-  lf-vim = super.lf-vim.overrideAttrs(old: {
-    dependencies = with super; [ bclose-vim ];
+  lf-vim = super.lf-vim.overrideAttrs (old: {
+    dependencies = with super; [ vim-bbye ];
   });
 
   vim-stylish-haskell = super.vim-stylish-haskell.overrideAttrs (old: {
@@ -612,7 +667,7 @@ self: super: {
     '';
   });
 
-  vCoolor-vim = super.vCoolor-vim.overrideAttrs(old: {
+  vCoolor-vim = super.vCoolor-vim.overrideAttrs (old: {
     # on linux can use either Zenity or Yad.
     propagatedBuildInputs = [ gnome3.zenity ];
     meta = {
@@ -621,12 +676,14 @@ self: super: {
     };
   });
 
-  unicode-vim = let
-    unicode-data = fetchurl {
-      url = "http://www.unicode.org/Public/UNIDATA/UnicodeData.txt";
-      sha256 = "16b0jzvvzarnlxdvs2izd5ia0ipbd87md143dc6lv6xpdqcs75s9";
-    };
-  in super.unicode-vim.overrideAttrs(old: {
+  unicode-vim =
+    let
+      unicode-data = fetchurl {
+        url = "http://www.unicode.org/Public/UNIDATA/UnicodeData.txt";
+        sha256 = "16b0jzvvzarnlxdvs2izd5ia0ipbd87md143dc6lv6xpdqcs75s9";
+      };
+    in
+    super.unicode-vim.overrideAttrs (old: {
 
       # redirect to /dev/null else changes terminal color
       buildPhase = ''
@@ -634,51 +691,64 @@ self: super: {
         echo "Building unicode cache"
         ${vim}/bin/vim --cmd ":set rtp^=$PWD" -c 'ru plugin/unicode.vim' -c 'UnicodeCache' -c ':echohl Normal' -c ':q' > /dev/null
       '';
-  });
+    });
 
-  vim-hexokinase = super.vim-hexokinase.overrideAttrs(old: {
-    preFixup = let
-      hexokinase = buildGoModule {
-        name = "hexokinase";
-        src = old.src + "/hexokinase";
-        vendorSha256 = "pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
-      };
-    in ''
-      ln -s ${hexokinase}/bin/hexokinase $target/hexokinase/hexokinase
-    '';
+  vim-hexokinase = super.vim-hexokinase.overrideAttrs (old: {
+    preFixup =
+      let
+        hexokinase = buildGoModule {
+          name = "hexokinase";
+          src = old.src + "/hexokinase";
+          vendorSha256 = "pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
+        };
+      in
+      ''
+        ln -s ${hexokinase}/bin/hexokinase $target/hexokinase/hexokinase
+      '';
 
     meta.platforms = lib.platforms.all;
   });
 
-  vim-clap = super.vim-clap.overrideAttrs(old: {
-    preFixup = let
-      maple-bin = rustPlatform.buildRustPackage {
-        name = "maple";
-        src = old.src;
+  vim-clap = super.vim-clap.overrideAttrs (old: {
+    preFixup =
+      let
+        maple-bin = rustPlatform.buildRustPackage {
+          name = "maple";
+          src = old.src;
+
+          nativeBuildInputs = [
+            pkg-config
+          ];
+
+          buildInputs = [
+            openssl
+          ] ++ lib.optionals stdenv.isDarwin [
+            CoreServices
+            curl
+            libgit2
+            libiconv
+          ];
+
+          cargoSha256 = "042dbg80mx0khm8xahm4l490s7bfbav362r0mz5bfhq4fy2s9nsi";
+        };
+      in
+      ''
+        ln -s ${maple-bin}/bin/maple $target/bin/maple
+      '';
 
-        nativeBuildInputs = [
-          pkg-config
-        ];
+    meta.platforms = lib.platforms.all;
+  });
 
-        buildInputs = [
-          openssl
-        ] ++ lib.optionals stdenv.isDarwin [
-          CoreServices
-          curl
-          libgit2
-          libiconv
-        ];
+  compe-tabnine = super.compe-tabnine.overrideAttrs (old: {
+    buildInputs = [ tabnine ];
 
-        cargoSha256 = "mq5q+cIWXDMeoZfumX1benulrP/AWKZnd8aI0OzY55c=";
-      };
-    in ''
-      ln -s ${maple-bin}/bin/maple $target/bin/maple
+    postFixup = ''
+      mkdir $target/binaries
+      ln -s ${tabnine}/bin/TabNine $target/binaries/TabNine_$(uname -s)
     '';
-
-    meta.platforms = lib.platforms.all;
   });
 
-  completion-tabnine = super.completion-tabnine.overrideAttrs(old: {
+  completion-tabnine = super.completion-tabnine.overrideAttrs (old: {
     buildInputs = [ tabnine ];
 
     postFixup = ''
@@ -687,6 +757,10 @@ self: super: {
     '';
   });
 
+  telescope-frecency-nvim = super.telescope-frecency-nvim.overrideAttrs (old: {
+    dependencies = [ self.sql-nvim ];
+  });
+
   telescope-fzy-native-nvim = super.telescope-fzy-native-nvim.overrideAttrs (old: {
     preFixup =
       let
@@ -714,6 +788,8 @@ self: super: {
 } // (
   let
     nodePackageNames = [
+      "coc-clangd"
+      "coc-cmake"
       "coc-css"
       "coc-diagnostic"
       "coc-emmet"
@@ -731,6 +807,7 @@ self: super: {
       "coc-metals"
       "coc-pairs"
       "coc-prettier"
+      "coc-pyright"
       "coc-python"
       "coc-r-lsp"
       "coc-rls"
@@ -740,6 +817,7 @@ self: super: {
       "coc-solargraph"
       "coc-stylelint"
       "coc-tabnine"
+      "coc-texlab"
       "coc-tslint"
       "coc-tslint-plugin"
       "coc-tsserver"
diff --git a/pkgs/misc/vim-plugins/update.py b/pkgs/misc/vim-plugins/update.py
index b9bab293a797f..f5d7434fe2726 100755
--- a/pkgs/misc/vim-plugins/update.py
+++ b/pkgs/misc/vim-plugins/update.py
@@ -503,9 +503,9 @@ def parse_args():
 
 
 def commit(repo: git.Repo, message: str, files: List[Path]) -> None:
-    files_staged = repo.index.add([str(f.resolve()) for f in files])
+    repo.index.add([str(f.resolve()) for f in files])
 
-    if files_staged:
+    if repo.index.diff("HEAD"):
         print(f'committing to nixpkgs "{message}"')
         repo.index.commit(message)
     else:
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index 02ff84b4618e7..c216d2a7d4461 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -11,8 +11,8 @@ alx741/vim-stylishask
 amiorin/ctrlp-z
 andrep/vimacs
 andreshazard/vim-logreview
-AndrewRadev/sideways.vim
-AndrewRadev/splitjoin.vim
+AndrewRadev/sideways.vim@main
+AndrewRadev/splitjoin.vim@main
 andsild/peskcolor.vim
 andviro/flake8-vim
 andymass/vim-matchup
@@ -27,7 +27,6 @@ bakpakin/fennel.vim
 bazelbuild/vim-bazel
 bbchung/clighter8
 benizi/vim-automkdir
-benmills/vimux
 bhurlow/vim-parinfer
 bitc/vim-hdevtools
 bkad/camelcasemotion
@@ -94,6 +93,7 @@ dracula/vim as dracula-vim
 drewtempelmeyer/palenight.vim
 drmingdrmer/xptemplate
 dstein64/nvim-scrollview@main
+dstein64/vim-startuptime
 dylanaraps/wal.vim
 eagletmt/ghcmod-vim
 eagletmt/neco-ghc
@@ -101,6 +101,7 @@ easymotion/vim-easymotion
 editorconfig/editorconfig-vim
 edwinb/idris2-vim
 ehamberg/vim-cute-python
+eigenfoo/stan-vim
 eikenb/acp
 elixir-editors/vim-elixir
 elmcast/elm-vim
@@ -129,11 +130,13 @@ fruit-in/vim-nong-theme
 fsharp/vim-fsharp
 fszymanski/deoplete-emoji
 garbas/vim-snipmate
+gennaro-tedesco/nvim-peekup
 gentoo/gentoo-syntax
 GEverding/vim-hocon
 gfanto/fzf-lsp.nvim@main
 gibiansky/vim-textobj-haskell
 gioele/vim-autoswap
+glepnir/dashboard-nvim
 glepnir/galaxyline.nvim@main
 glepnir/lspsaga.nvim@main
 glepnir/oceanic-material
@@ -187,6 +190,7 @@ itchyny/lightline.vim
 itchyny/thumbnail.vim
 itchyny/vim-cursorword
 itchyny/vim-gitbranch
+itspriddle/vim-shellcheck
 ivanov/vim-ipython
 jackguo380/vim-lsp-cxx-highlight
 jacoborus/tender.vim
@@ -258,10 +262,12 @@ kchmck/vim-coffee-script
 KeitaNakamura/neodark.vim
 keith/investigate.vim
 keith/swift.vim
+kevinhwang91/nvim-hlslens@main
 kien/rainbow_parentheses.vim
 knubie/vim-kitty-navigator
 konfekt/fastfold
 konfekt/vim-DetectSpellLang
+kosayoda/nvim-lightbulb
 kristijanhusak/defx-git
 kristijanhusak/defx-icons
 kristijanhusak/deoplete-phpactor
@@ -283,6 +289,7 @@ lepture/vim-jinja
 lervag/vimtex
 lewis6991/gitsigns.nvim@main
 lfilho/cosco.vim
+lifepillar/vim-gruvbox8
 lifepillar/vim-mucomplete
 lighttiger2505/deoplete-vim-lsp
 lilydjwg/colorizer
@@ -355,6 +362,7 @@ milkypostman/vim-togglelist
 mindriot101/vim-yapf
 mk12/vim-lean
 mkasa/lushtags
+moll/vim-bbye
 mopp/sky-color-clock.vim
 morhetz/gruvbox
 motus/pig.vim
@@ -365,6 +373,7 @@ nanotech/jellybeans.vim
 natebosch/vim-lsc
 nathanaelkane/vim-indent-guides
 nathangrigg/vim-beancount
+nathunsmitty/nvim-ale-diagnostic@main
 navicore/vissort.vim
 nbouscal/vim-stylish-haskell
 ncm2/float-preview.nvim
@@ -403,6 +412,7 @@ nixprime/cpsm
 NLKNguyen/papercolor-theme
 noc7c9/vim-iced-coffee-script
 norcalli/nvim-terminal.lua
+norcalli/snippets.nvim
 npxbr/glow.nvim
 ntpeters/vim-better-whitespace
 numirias/semshi
@@ -427,6 +437,7 @@ octol/vim-cpp-enhanced-highlight
 ojroques/vim-oscyank@main
 Olical/aniseed
 Olical/conjure
+onsails/lspkind-nvim
 OrangeT/vim-csharp
 osyo-manga/shabadou.vim
 osyo-manga/vim-anzu
@@ -441,6 +452,7 @@ pearofducks/ansible-vim
 peitalin/vim-jsx-typescript
 peterbjorgensen/sved
 peterhoeg/vim-qml
+phaazon/hop.nvim
 phanviet/vim-monokai-pro
 plasticboy/vim-markdown
 ponko2/deoplete-fish
@@ -453,6 +465,7 @@ prabirshrestha/vim-lsp
 preservim/nerdcommenter
 preservim/nerdtree
 preservim/tagbar
+preservim/vimux
 psliwka/vim-smoothie
 ptzz/lf.vim
 puremourning/vimspector
@@ -479,6 +492,7 @@ rhysd/vim-grammarous
 rhysd/vim-operator-surround
 RishabhRD/nvim-lsputils
 RishabhRD/popfix
+rmagatti/auto-session@main
 rodjek/vim-puppet
 romainl/vim-cool
 romainl/vim-qf
@@ -496,6 +510,7 @@ rstacruz/vim-closer
 rust-lang/rust.vim
 ryanoasis/vim-devicons
 ryvnf/readline.vim
+sainnhe/sonokai
 sakhnik/nvim-gdb
 saltstack/salt-vim
 samoshkin/vim-mergetool
@@ -543,6 +558,8 @@ svermeulen/vim-subversive
 t9md/vim-choosewin
 t9md/vim-smalls
 takac/vim-hardtime
+tami5/compe-conjure
+tami5/lispdocs.nvim
 tami5/sql.nvim
 tbodt/deoplete-tabnine
 ternjs/tern_for_vim
@@ -551,6 +568,7 @@ terryma/vim-multiple-cursors
 tex/vimpreviewpandoc
 Th3Whit3Wolf/one-nvim@main
 theHamsta/nvim-dap-virtual-text
+ThePrimeagen/vim-apm
 thinca/vim-ft-diff_fold
 thinca/vim-prettyprint
 thinca/vim-quickrun
@@ -561,7 +579,9 @@ thirtythreeforty/lessspace.vim
 thosakwe/vim-flutter
 tiagofumo/vim-nerdtree-syntax-highlight
 tikhomirov/vim-glsl
+TimUntersberger/neogit
 tjdevries/nlua.nvim
+tjdevries/train.nvim
 tmhedberg/SimpylFold
 tmsvg/pear-tree
 tmux-plugins/vim-tmux
@@ -612,6 +632,7 @@ Twinside/vim-hoogle
 tyru/caw.vim
 tyru/open-browser-github.vim
 tyru/open-browser.vim
+tzachar/compe-tabnine@main
 uarun/vim-protobuf
 udalov/kotlin-vim
 ujihisa/neco-look
@@ -663,6 +684,7 @@ vim-utils/vim-husk
 Vimjas/vim-python-pep8-indent
 vimlab/split-term.vim
 vimoutliner/vimoutliner
+vimpostor/vim-tpipeline
 vimwiki/vimwiki
 vito-c/jq.vim
 vmchale/ats-vim
diff --git a/pkgs/misc/vscode-extensions/default.nix b/pkgs/misc/vscode-extensions/default.nix
index 604a47e1ed456..7224e302f1317 100644
--- a/pkgs/misc/vscode-extensions/default.nix
+++ b/pkgs/misc/vscode-extensions/default.nix
@@ -1,4 +1,4 @@
-{ config, lib, callPackage, vscode-utils, nodePackages,llvmPackages_8, llvmPackages_latest }:
+{ config, lib, callPackage, vscode-utils, nodePackages,llvmPackages_8 }:
 
 let
   inherit (vscode-utils) buildVscodeMarketplaceExtension;
@@ -128,6 +128,18 @@ let
         };
       };
 
+      dbaeumer.vscode-eslint = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-eslint";
+          publisher = "dbaeumer";
+          version = "2.1.14";
+          sha256 = "sha256-bVGmp871yu1Llr3uJ+CCosDsrxJtD4b1+CR+omMUfIQ=";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
       davidanson.vscode-markdownlint = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "vscode-markdownlint";
@@ -177,6 +189,22 @@ let
         };
       };
 
+      dracula-theme.theme-dracula = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "theme-dracula";
+          publisher = "dracula-theme";
+          version = "2.22.3";
+          sha256 = "0wni9sriin54ci8rly2s68lkfx8rj1cys6mgcizvps9sam6377w6";
+        };
+        meta = with lib; {
+          changelog = "https://marketplace.visualstudio.com/items/dracula-theme.theme-dracula/changelog";
+          description = "Dark theme for many editors, shells, and more";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=dracula-theme.theme-dracula";
+          homepage = "https://draculatheme.com/";
+          license = licenses.mit;
+        };
+      };
+
       eamodio.gitlens = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "gitlens";
@@ -264,6 +292,18 @@ let
         };
       };
 
+      formulahendry.code-runner = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "code-runner";
+          publisher = "formulahendry";
+          version = "0.11.2";
+          sha256 = "0qwcxr6m1xwhqmdl4pccjgpikpq1hgi2hgrva5abn8ixa2510hcy";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
       freebroccolo.reasonml = buildVscodeMarketplaceExtension {
         meta = with lib; {
           changelog = "https://marketplace.visualstudio.com/items/freebroccolo.reasonml/changelog";
@@ -325,8 +365,8 @@ let
         mktplcRef = {
           name = "todo-tree";
           publisher = "Gruntfuggly";
-          version = "0.0.196";
-          sha256 = "1l4f290018f2p76q6hn2b2injps6wz65as7dm537wrsvsivyg2qz";
+          version = "0.0.198";
+          sha256 = "0riy2k8dbsnpk8vkv814fr8zh87y425s24nklcx4b7mfrszv7xbn";
         };
         meta = with lib; {
           license = licenses.mit;
@@ -345,6 +385,8 @@ let
         };
       };
 
+      hashicorp.terraform = callPackage ./terraform {};
+
       hookyqr.beautify = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "beautify";
@@ -581,6 +623,18 @@ let
         };
       };
 
+      rubbersheep.gi = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "gi";
+          publisher = "rubbersheep";
+          version = "0.2.11";
+          sha256 = "0j9k6wm959sziky7fh55awspzidxrrxsdbpz1d79s5lr5r19rs6j";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
       ryu1kn.partial-diff = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "partial-diff";
@@ -677,6 +731,18 @@ let
         };
       };
 
+      tomoki1207.pdf = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "pdf";
+          publisher = "tomoki1207";
+          version = "1.1.0";
+          sha256 = "0pcs4iy77v4f04f8m9w2rpdzfq7sqbspr7f2sm1fv7bm515qgsvb";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
       tyriar.sort-lines = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "sort-lines";
@@ -689,10 +755,20 @@ let
         };
       };
 
-      vadimcn.vscode-lldb = callPackage ./vscode-lldb {
-        lldb = llvmPackages_latest.lldb;
+      usernamehw.errorlens = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "errorlens";
+          publisher = "usernamehw";
+          version = "3.2.4";
+          sha256 = "0caxmf6v0s5kgp6cp3j1kk7slhspjv5kzhn4sq3miyl5jkrn95kx";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
       };
 
+      vadimcn.vscode-lldb = callPackage ./vscode-lldb { };
+
       vincaslt.highlight-matching-tag = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "highlight-matching-tag";
@@ -735,6 +811,18 @@ let
       llvm-org.lldb-vscode = llvmPackages_8.lldb;
 
       WakaTime.vscode-wakatime = callPackage ./wakatime {};
+
+      wholroyd.jinja = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "jinja";
+          publisher = "wholroyd";
+          version = "0.0.8";
+          sha256 = "1ln9gly5bb7nvbziilnay4q448h9npdh7sd9xy277122h0qawkci";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
     };
 
     aliases = self: super: {
diff --git a/pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json b/pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json
index aba4ba44097aa..bdaee22a480ee 100644
--- a/pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json
+++ b/pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json
@@ -3,14 +3,14 @@
   "version": "0.4.0-dev",
   "dependencies": {
     "node-fetch": "^2.6.1",
-    "vscode-languageclient": "7.0.0",
+    "vscode-languageclient": "^7.1.0-next.4",
     "@rollup/plugin-commonjs": "^17.0.0",
     "@rollup/plugin-node-resolve": "^11.0.0",
     "@types/glob": "^7.1.3",
     "@types/mocha": "^8.0.4",
     "@types/node": "~12.12.6",
     "@types/node-fetch": "^2.5.7",
-    "@types/vscode": "^1.52.0",
+    "@types/vscode": "^1.53.0",
     "@typescript-eslint/eslint-plugin": "^4.9.0",
     "@typescript-eslint/parser": "^4.9.0",
     "eslint": "^7.15.0",
@@ -20,7 +20,7 @@
     "tslib": "^2.0.3",
     "typescript": "^4.1.2",
     "typescript-formatter": "^7.2.2",
-    "vsce": "^1.81.1",
-    "vscode-test": "^1.4.1"
+    "vsce": "^1.85.0",
+    "vscode-test": "^1.5.1"
   }
 }
diff --git a/pkgs/misc/vscode-extensions/terraform/default.nix b/pkgs/misc/vscode-extensions/terraform/default.nix
new file mode 100644
index 0000000000000..39dd6f90b80af
--- /dev/null
+++ b/pkgs/misc/vscode-extensions/terraform/default.nix
@@ -0,0 +1,25 @@
+{ lib, fetchurl, vscode-utils, terraform-ls }:
+vscode-utils.buildVscodeMarketplaceExtension rec {
+  mktplcRef = {
+    name = "terraform";
+    publisher = "hashicorp";
+    version = "2.7.0";
+  };
+
+  vsix = fetchurl {
+    name = "${mktplcRef.publisher}-${mktplcRef.name}.zip";
+    url = "https://github.com/hashicorp/vscode-terraform/releases/download/v${mktplcRef.version}/terraform-${mktplcRef.version}.vsix";
+    sha256 = "0lpsng7rd88ppjybmypzw42czr6swwin5cyl78v36z3wjwqx26xp";
+  };
+
+  patches = [ ./fix-terraform-ls.patch ];
+
+  postPatch = ''
+    substituteInPlace out/extension.js --replace TERRAFORM-LS-PATH ${terraform-ls}/bin/terraform-ls
+  '';
+
+  meta = with lib; {
+    license = licenses.mit;
+    maintainers = with maintainers; [ rhoriguchi ];
+  };
+}
diff --git a/pkgs/misc/vscode-extensions/terraform/fix-terraform-ls.patch b/pkgs/misc/vscode-extensions/terraform/fix-terraform-ls.patch
new file mode 100644
index 0000000000000..3d5cc51fe2a42
--- /dev/null
+++ b/pkgs/misc/vscode-extensions/terraform/fix-terraform-ls.patch
@@ -0,0 +1,26 @@
+diff --git a/out/extension.js b/out/extension.js
+index 375048c..fa5eff0 100644
+--- a/out/extension.js
++++ b/out/extension.js
+@@ -209,20 +209,7 @@ function pathToBinary() {
+         if (!_pathToBinaryPromise) {
+             let command = vscodeUtils_1.config('terraform').get('languageServer.pathToBinary');
+             if (!command) { // Skip install/upgrade if user has set custom binary path
+-                const installDir = `${extensionPath}/lsp`;
+-                const installer = new languageServerInstaller_1.LanguageServerInstaller();
+-                try {
+-                    yield installer.install(installDir);
+-                }
+-                catch (err) {
+-                    vscode.window.showErrorMessage(err);
+-                    reporter.sendTelemetryException(err);
+-                    throw err;
+-                }
+-                finally {
+-                    yield installer.cleanupZips(installDir);
+-                }
+-                command = `${installDir}/terraform-ls`;
++                command = 'TERRAFORM-LS-PATH';
+             }
+             _pathToBinaryPromise = Promise.resolve(command);
+         }
diff --git a/pkgs/misc/vscode-extensions/vscode-lldb/build-deps/package.json b/pkgs/misc/vscode-extensions/vscode-lldb/build-deps/package.json
index 6e73ee446d86d..188fa67ede598 100644
--- a/pkgs/misc/vscode-extensions/vscode-lldb/build-deps/package.json
+++ b/pkgs/misc/vscode-extensions/vscode-lldb/build-deps/package.json
@@ -1,24 +1,24 @@
 {
-	"name": "vscode-lldb",
-	"version": "1.5.3",
-	"dependencies": {
-		"@types/json5": "^0.0.30",
-		"@types/mocha": "^7.0.1",
-		"@types/node": "^8.10.50",
-		"@types/vscode": "^1.31.0",
-		"@types/yauzl": "^2.9.0",
-		"json5": "^2.1.0",
-		"memory-streams": "^0.1.3",
-		"mocha": "^7.0.1",
-		"source-map-support": "^0.5.12",
-		"string-argv": "^0.3.1",
-		"ts-loader": "^6.2.1",
-		"typescript": "^3.7.0",
-		"vsce": "^1.73.0",
-		"vscode-debugadapter-testsupport": "^1.35.0",
-		"vscode-debugprotocol": "^1.35.0",
-		"webpack": "^4.39.1",
-		"webpack-cli": "^3.3.7",
-		"yauzl": "^2.10.0"
-	}
+  "name": "vscode-lldb",
+  "version": "1.6.1",
+  "dependencies": {
+    "string-argv": "^0.3.1",
+    "yaml": "^1.10.0",
+    "yauzl": "^2.10.0",
+    "@types/vscode": "^1.31.0",
+    "@types/node": "^8.10.50",
+    "@types/mocha": "^7.0.1",
+    "@types/yauzl": "^2.9.0",
+    "@types/json5": "^0.0.30",
+    "typescript": "^3.7.0",
+    "mocha": "^7.0.1",
+    "source-map-support": "^0.5.12",
+    "memory-streams": "^0.1.3",
+    "vscode-debugprotocol": "^1.35.0",
+    "vscode-debugadapter-testsupport": "^1.35.0",
+    "vsce": "^1.73.0",
+    "webpack": "^4.39.1",
+    "webpack-cli": "^3.3.7",
+    "ts-loader": "^6.2.1"
+  }
 }
diff --git a/pkgs/misc/vscode-extensions/vscode-lldb/cmake-build-extension-only.patch b/pkgs/misc/vscode-extensions/vscode-lldb/cmake-build-extension-only.patch
index db62552b913b5..30ab3f9b21c2f 100644
--- a/pkgs/misc/vscode-extensions/vscode-lldb/cmake-build-extension-only.patch
+++ b/pkgs/misc/vscode-extensions/vscode-lldb/cmake-build-extension-only.patch
@@ -1,35 +1,25 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 890abd4..157a8a1 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -9,13 +9,6 @@ include(cmake/CopyFiles.cmake)
- set(CMAKE_CXX_STANDARD 11)
- set(CMAKE_INSTALL_PREFIX $ENV{HOME}/.vscode/extensions/vscode-lldb CACHE PATH "Install location")
- 
--set(LLDB_ROOT $ENV{LLDB_ROOT} CACHE PATH "Root of LLDB build directory")
--if (LLDB_ROOT)
--    message("Using LLDB from ${LLDB_ROOT}")
+@@ -16,13 +16,6 @@ endif()
+ set(VERSION "${VERSION}${VERSION_SUFFIX}")
+ message("Version ${VERSION}")
+
+-set(LLDB_PACKAGE $ENV{LLDB_PACKAGE} CACHE PATH "Zip archive containing LLDB files")
+-if (LLDB_PACKAGE)
+-    message("Using LLDB_PACKAGE=${LLDB_PACKAGE}")
 -else()
--    message(FATAL_ERROR "LLDB_ROOT not set." )
+-    message(FATAL_ERROR "LLDB_PACKAGE not set." )
 -endif()
 -
+ set(TEST_TIMEOUT 5000 CACHE STRING "Test timeout [ms]")
+
  # General OS-specific definitions
- if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
-     set(DylibPrefix lib)
-@@ -64,8 +57,9 @@ set(UpdateFile ${CMAKE_COMMAND} -E copy_if_different)
- 
- # Adapter
- 
--add_subdirectory(adapter)
--add_subdirectory(lldb)
-+add_custom_target(adapter)
-+add_custom_target(lldb)
-+add_custom_target(codelldb)
- 
- # Extension package content
- 
-@@ -74,16 +68,6 @@ configure_file(package.json ${CMAKE_CURRENT_BINARY_DIR}/package.json @ONLY)
+@@ -87,16 +80,6 @@ configure_file(package.json ${CMAKE_CURRENT_BINARY_DIR}/package.json @ONLY)
  configure_file(webpack.config.js ${CMAKE_CURRENT_BINARY_DIR}/webpack.config.js @ONLY)
  file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/package-lock.json DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
- 
+
 -# Run 'npm install'
 -execute_process(
 -    COMMAND ${NPM} install
@@ -42,4 +32,3 @@
 -
  # Copy it back, so we can commit the lock file.
  file(COPY ${CMAKE_CURRENT_BINARY_DIR}/package-lock.json DESTINATION ${CMAKE_CURRENT_SOURCE_DIR})
- 
\ No newline at end of file
diff --git a/pkgs/misc/vscode-extensions/vscode-lldb/default.nix b/pkgs/misc/vscode-extensions/vscode-lldb/default.nix
index f22c9df36a1ba..c4d2282810389 100644
--- a/pkgs/misc/vscode-extensions/vscode-lldb/default.nix
+++ b/pkgs/misc/vscode-extensions/vscode-lldb/default.nix
@@ -1,100 +1,94 @@
-{ lib, stdenv, vscode-utils, fetchFromGitHub, rustPlatform, makeWrapper, jq
-, nodePackages, cmake, nodejs, unzip, python3, lldb, breakpointHook
-, setDefaultLldbPath ? true
+{ lib, stdenv, fetchFromGitHub, rustPlatform, makeWrapper, jq, callPackage
+, nodePackages, cmake, nodejs, unzip, python3
 }:
 assert lib.versionAtLeast python3.version "3.5";
 let
   publisher = "vadimcn";
-  name = "vscode-lldb";
-  version = "1.5.3";
-
-  dylibExt = stdenv.hostPlatform.extensions.sharedLibrary;
+  pname = "vscode-lldb";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "vadimcn";
     repo = "vscode-lldb";
     rev = "v${version}";
-    sha256 = "1139945j3z0fxc3nlyvd81k0ypymqsj051idrbgbibwshpi86y93";
+    sha256 = "sha256-mi+AeHg9zO0vjF0OZCufPkliInqxTvDGV350wqAwe90=";
     fetchSubmodules = true;
   };
 
+  lldb = callPackage ./lldb.nix {};
+
   adapter = rustPlatform.buildRustPackage {
-    pname = "${name}-adapter";
+    pname = "${pname}-adapter";
     inherit version src;
 
-    cargoSha256 = "0jl4msf2jcjxddwqkx8fr0c35wg4vwvg5c19mihri1v34i09zc5r";
-
     # It will pollute the build environment of `buildRustPackage`.
     cargoPatches = [ ./reset-cargo-config.patch ];
 
+    cargoSha256 = "sha256-HPVbqYsst/iFrHn5wvmWtqeVHOHR7JT8lu+/xZq1lK0=";
+
     nativeBuildInputs = [ makeWrapper ];
 
     buildAndTestSubdir = "adapter";
 
-    # Hack: Need a nightly compiler.
-    RUSTC_BOOTSTRAP = 1;
-
-    # `adapter` expects a special hierarchy to resolve everything well.
-    postInstall = ''
-      mkdir -p $out/adapter
-      mv -t $out/adapter \
-        $out/bin/* \
-        $out/lib/* \
-        ./adapter/*.py \
-        ./formatters/*.py
-      rmdir $out/{bin,lib}
-    '';
-
-    postFixup = ''
-      wrapProgram $out/adapter/codelldb \
-        --prefix PATH : "${python3}/bin" \
-        --prefix LD_LIBRARY_PATH : "${python3}/lib"
-    '';
+    cargoFlags = [
+      "--lib"
+      "--bin=codelldb"
+      "--features=weak-linkage"
+    ];
+
+    # Tests are linked to liblldb but it is not available here.
+    doCheck = false;
   };
 
-  build-deps = nodePackages."vscode-lldb-build-deps-../../misc/vscode-extensions/vscode-lldb/build-deps";
+  nodeDeps = nodePackages."vscode-lldb-build-deps-../../misc/vscode-extensions/vscode-lldb/build-deps";
 
-  vsix = stdenv.mkDerivation {
-    name = "${name}-${version}-vsix";
-    inherit src;
+in stdenv.mkDerivation rec {
+  name = "vscode-extension-${pname}";
+  inherit src;
+  vscodeExtUniqueId = "${publisher}.${pname}";
+  installPrefix = "share/vscode/extensions/${vscodeExtUniqueId}";
 
-    # Only build the extension. We handle `adapter` and `lldb` with nix.
-    patches = [ ./cmake-build-extension-only.patch ];
+  nativeBuildInputs = [ cmake nodejs unzip makeWrapper ];
 
-    nativeBuildInputs = [ cmake nodejs unzip breakpointHook ];
+  patches = [ ./cmake-build-extension-only.patch ];
 
-    postConfigure = ''
-      cp -r ${build-deps}/lib/node_modules/vscode-lldb/{node_modules,package-lock.json} .
-    '';
+  postConfigure = ''
+    cp -r ${nodeDeps}/lib/node_modules/vscode-lldb/{node_modules,package-lock.json} .
+  '';
 
-    makeFlags = [ "vsix_bootstrap" ];
+  cmakeFlags = [
+    # Do not append timestamp to version.
+    "-DVERSION_SUFFIX="
+  ];
+  makeFlags = [ "vsix_bootstrap" ];
 
-    installPhase = ''
-      unzip ./codelldb-bootstrap.vsix 'extension/*' -d ./vsix-extracted
-      mv vsix-extracted/extension $out
+  installPhase = ''
+    ext=$out/$installPrefix
+    runHook preInstall
 
-      ln -s ${adapter}/adapter $out
-      # Mark that adapter and lldb are installed.
-      touch $out/platform.ok
-    '';
+    unzip ./codelldb-bootstrap.vsix 'extension/*' -d ./vsix-extracted
 
-    dontStrip = true;
-    dontPatchELF = true;
-  };
+    mkdir -p $ext/{adapter,formatters}
+    mv -t $ext vsix-extracted/extension/*
+    cp -t $ext/adapter ${adapter}/{bin,lib}/* ../adapter/*.py
+    cp -t $ext/formatters ../formatters/*.py
+    ln -s ${lldb} $ext/lldb
+    # Mark that all components are installed.
+    touch $ext/platform.ok
 
-in vscode-utils.buildVscodeExtension {
-  inherit name;
-  src = vsix;
+    runHook postInstall
+  '';
 
-  nativeBuildInputs = lib.optional setDefaultLldbPath jq;
-  postUnpack = lib.optionalString setDefaultLldbPath ''
-    jq '.contributes.configuration.properties."lldb.library".default = $s' \
-      --arg s "${lldb}/lib/liblldb.so" \
-      $sourceRoot/package.json >$sourceRoot/package.json.new
-    mv $sourceRoot/package.json.new $sourceRoot/package.json
+  # `adapter` will find python binary and libraries at runtime.
+  fixupPhase = ''
+    wrapProgram $out/$installPrefix/adapter/codelldb \
+      --prefix PATH : "${python3}/bin" \
+      --prefix LD_LIBRARY_PATH : "${python3}/lib"
   '';
 
-  vscodeExtUniqueId = "${publisher}.${name}";
+  passthru = {
+    inherit lldb adapter;
+  };
 
   meta = with lib; {
     description = "A native debugger extension for VSCode based on LLDB";
@@ -102,5 +96,6 @@ in vscode-utils.buildVscodeExtension {
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ oxalica ];
     platforms = platforms.all;
+    broken = stdenv.isDarwin; # Build failed on x86_64-darwin currently.
   };
 }
diff --git a/pkgs/misc/vscode-extensions/vscode-lldb/lldb.nix b/pkgs/misc/vscode-extensions/vscode-lldb/lldb.nix
new file mode 100644
index 0000000000000..2ec90b1931e84
--- /dev/null
+++ b/pkgs/misc/vscode-extensions/vscode-lldb/lldb.nix
@@ -0,0 +1,23 @@
+# Patched lldb for Rust language support.
+{ lldb_11, fetchFromGitHub }:
+let
+  llvmSrc = fetchFromGitHub {
+    owner = "vadimcn";
+    repo = "llvm-project";
+    rev = "dd7efd9ea2d38e3227bc2e83a99772aceeb44242";
+    sha256 = "sha256-XY8J8Ie1cWb6ok72Gju/KUxZ4fIFQVitYVnuCezGRKQ=";
+  };
+in lldb_11.overrideAttrs (oldAttrs: {
+  src = "${llvmSrc}/lldb";
+
+  passthru = (oldAttrs.passthru or {}) // {
+    inherit llvmSrc;
+  };
+
+  doInstallCheck = true;
+  postInstallCheck = (oldAttrs.postInstallCheck or "") + ''
+    versionOutput="$($out/bin/lldb --version)"
+    echo "'lldb --version' returns: $versionOutput"
+    echo "$versionOutput" | grep -q 'rust-enabled'
+  '';
+})
diff --git a/pkgs/misc/vscode-extensions/vscode-lldb/update.sh b/pkgs/misc/vscode-extensions/vscode-lldb/update.sh
new file mode 100755
index 0000000000000..0f3e407ddde4b
--- /dev/null
+++ b/pkgs/misc/vscode-extensions/vscode-lldb/update.sh
@@ -0,0 +1,35 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p jq nix-prefetch
+set -eo pipefail
+cd "$(dirname "${BASH_SOURCE[0]}")"
+if [[ $# -ne 1 ]]; then
+    echo "Usage: ./update.sh <version>"
+    exit 1
+fi
+
+echo "
+FIXME: This script doesn't update patched lldb. Please manually check branches
+of https://github.com/vadimcn/llvm-project and update lldb with correct version of LLVM.
+"
+
+nixpkgs=../../../..
+nixFile=./default.nix
+owner=vadimcn
+repo=vscode-lldb
+version="$1"
+
+sed -E 's/\bversion = ".*?"/version = "'$version'"/' --in-place "$nixFile"
+srcHash=$(nix-prefetch fetchFromGitHub --owner vadimcn --repo vscode-lldb --rev "v$version" --fetchSubmodules)
+sed -E 's/\bsha256 = ".*?"/sha256 = "'$srcHash'"/' --in-place "$nixFile"
+cargoHash=$(nix-prefetch "{ sha256 }: (import $nixpkgs {}).vscode-extensions.vadimcn.vscode-lldb.adapter.cargoDeps.overrideAttrs (_: { outputHash = sha256; })")
+sed -E 's#\bcargoSha256 = ".*?"#cargoSha256 = "'$cargoHash'"#' --in-place "$nixFile"
+
+src="$(nix-build $nixpkgs -A vscode-extensions.vadimcn.vscode-lldb.src --no-out-link)"
+jq '{ name, version: $version, dependencies: (.dependencies + .devDependencies) }' \
+    --arg version "$version" \
+    "$src/package.json" \
+    > build-deps/package.json
+
+# Regenerate nodePackages.
+cd "$nixpkgs/pkgs/development/node-packages"
+exec ./generate.sh
diff --git a/pkgs/os-specific/darwin/apple-source-releases/CommonCrypto/default.nix b/pkgs/os-specific/darwin/apple-source-releases/CommonCrypto/default.nix
index 609cd579f9f63..476a77c59d7f8 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/CommonCrypto/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/CommonCrypto/default.nix
@@ -6,6 +6,34 @@ appleDerivation {
     cp include/* $out/include/CommonCrypto
   '';
 
+  appleHeaders = ''
+    CommonCrypto/CommonBaseXX.h
+    CommonCrypto/CommonBigNum.h
+    CommonCrypto/CommonCMACSPI.h
+    CommonCrypto/CommonCRC.h
+    CommonCrypto/CommonCrypto.h
+    CommonCrypto/CommonCryptoError.h
+    CommonCrypto/CommonCryptoPriv.h
+    CommonCrypto/CommonCryptor.h
+    CommonCrypto/CommonCryptorSPI.h
+    CommonCrypto/CommonDH.h
+    CommonCrypto/CommonDigest.h
+    CommonCrypto/CommonDigestSPI.h
+    CommonCrypto/CommonECCryptor.h
+    CommonCrypto/CommonHMAC.h
+    CommonCrypto/CommonHMacSPI.h
+    CommonCrypto/CommonKeyDerivation.h
+    CommonCrypto/CommonKeyDerivationSPI.h
+    CommonCrypto/CommonNumerics.h
+    CommonCrypto/CommonRSACryptor.h
+    CommonCrypto/CommonRandom.h
+    CommonCrypto/CommonRandomSPI.h
+    CommonCrypto/CommonSymmetricKeywrap.h
+    CommonCrypto/aes.h
+    CommonCrypto/lionCompat.h
+    CommonCrypto/module.modulemap
+  '';
+
   meta = with lib; {
     maintainers = with maintainers; [ copumpkin ];
     platforms   = platforms.darwin;
diff --git a/pkgs/os-specific/darwin/apple-source-releases/ICU/clang-5.patch b/pkgs/os-specific/darwin/apple-source-releases/ICU/clang-5.patch
deleted file mode 100644
index fd9df8129407b..0000000000000
--- a/pkgs/os-specific/darwin/apple-source-releases/ICU/clang-5.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/icuSources/i18n/ucoleitr.cpp b/icuSources/i18n/ucoleitr.cpp
-index ecc94c9..936452f 100644
---- a/icuSources/i18n/ucoleitr.cpp
-+++ b/icuSources/i18n/ucoleitr.cpp
-@@ -320,7 +320,7 @@ ucol_nextProcessed(UCollationElements *elems,
-                    int32_t            *ixHigh,
-                    UErrorCode         *status)
- {
--    return (UCollationPCE::UCollationPCE(elems)).nextProcessed(ixLow, ixHigh, status);
-+    return (UCollationPCE(elems)).nextProcessed(ixLow, ixHigh, status);
- }
- 
- 
-@@ -384,7 +384,7 @@ ucol_previousProcessed(UCollationElements *elems,
-                    int32_t            *ixHigh,
-                    UErrorCode         *status)
- {
--    return (UCollationPCE::UCollationPCE(elems)).previousProcessed(ixLow, ixHigh, status);
-+    return (UCollationPCE(elems)).previousProcessed(ixLow, ixHigh, status);
- }
- 
- U_NAMESPACE_BEGIN
diff --git a/pkgs/os-specific/darwin/apple-source-releases/ICU/default.nix b/pkgs/os-specific/darwin/apple-source-releases/ICU/default.nix
index 761ff3ea9252c..032b1447463d8 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/ICU/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/ICU/default.nix
@@ -1,23 +1,56 @@
-{ appleDerivation }:
+{ appleDerivation, python3 }:
 
 appleDerivation {
-  patches = [ ./clang-5.patch ];
+  nativeBuildInputs = [ python3 ];
 
   postPatch = ''
     substituteInPlace makefile \
-      --replace /usr/bin/ "" \
-      --replace '$(ISYSROOT)' "" \
-      --replace 'shell xcodebuild -version -sdk' 'shell true' \
-      --replace 'shell xcrun -sdk $(SDKPATH) -find' 'shell echo' \
-      --replace '-install_name $(libdir)' "-install_name $out/lib/" \
-      --replace /usr/local/bin/ /bin/ \
-      --replace /usr/lib/ /lib/ \
+      --replace "/usr/bin/" "" \
+      --replace "xcrun --sdk macosx --find" "echo -n" \
+      --replace "xcrun --sdk macosx.internal --show-sdk-path" "echo -n /dev/null" \
+      --replace "-install_name " "-install_name $out"
+
+    substituteInPlace icuSources/config/mh-darwin \
+      --replace "-install_name " "-install_name $out/"
+
+    # drop using impure /var/db/timezone/icutz
+    substituteInPlace makefile \
+      --replace '-DU_TIMEZONE_FILES_DIR=\"\\\"$(TZDATA_LOOKUP_DIR)\\\"\" -DU_TIMEZONE_PACKAGE=\"\\\"$(TZDATA_PACKAGE)\\\"\"' ""
+
+    # FIXME: This will cause `ld: warning: OS version (12.0) too small, changing to 13.0.0`, APPLE should fix it.
+    substituteInPlace makefile \
+      --replace "ZIPPERING_LDFLAGS=-Wl,-iosmac_version_min,12.0" "ZIPPERING_LDFLAGS="
+
+    # skip test for missing encodingSamples data
+    substituteInPlace icuSources/test/cintltst/ucsdetst.c \
+      --replace "&TestMailFilterCSS" "NULL"
+
+    patchShebangs icuSources
   '';
 
-  makeFlags = [ "DSTROOT=$(out)" ];
+  # APPLE is using makefile to save its default configuration and call ./configure, so we hack makeFlags
+  # instead of configuring ourself, trying to stay abreast of APPLE.
+  dontConfigure = true;
+  makeFlags = [
+    "DSTROOT=$(out)"
+
+    # remove /usr prefix on include and lib
+    "PRIVATE_HDR_PREFIX="
+    "libdir=/lib/"
+
+    "DATA_INSTALL_DIR=/share/icu/"
+    "DATA_LOOKUP_DIR=$(DSTROOT)$(DATA_INSTALL_DIR)"
+
+    # hack to use our lower macos version
+    "MAC_OS_X_VERSION_MIN_REQUIRED=__MAC_OS_X_VERSION_MIN_REQUIRED"
+    "OSX_HOST_VERSION_MIN_STRING=$(MACOSX_DEPLOYMENT_TARGET)"
+  ];
+
+  doCheck = true;
+  checkTarget = "check";
 
   postInstall = ''
-    mv $out/usr/local/include $out/include
+    # we don't need all those in usr/local
     rm -rf $out/usr
   '';
 }
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix
index 6ebb470145d55..3554a2e15b074 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libc/default.nix
@@ -29,4 +29,6 @@ appleDerivation {
     cp ${Libc_old}/include/libkern/OSAtomic.h       $out/include/libkern
     cp ${Libc_old}/include/libkern/OSCacheControl.h $out/include/libkern
   '';
+
+  appleHeaders = builtins.readFile ./headers.txt;
 }
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libc/headers.txt b/pkgs/os-specific/darwin/apple-source-releases/Libc/headers.txt
new file mode 100644
index 0000000000000..ea62e31dc781a
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libc/headers.txt
@@ -0,0 +1,138 @@
+CrashReporterClient.h
+NSSystemDirectories.h
+_locale.h
+_types.h
+_types/_intmax_t.h
+_types/_nl_item.h
+_types/_uint16_t.h
+_types/_uint32_t.h
+_types/_uint64_t.h
+_types/_uint8_t.h
+_types/_uintmax_t.h
+_types/_wctrans_t.h
+_types/_wctype_t.h
+_wctype.h
+_xlocale.h
+aio.h
+alloca.h
+ar.h
+arpa/ftp.h
+arpa/inet.h
+arpa/nameser_compat.h
+arpa/telnet.h
+arpa/tftp.h
+asl.h
+assert.h
+bitstring.h
+cpio.h
+crt_externs.h
+ctype.h
+db.h
+dirent.h
+disktab.h
+err.h
+errno.h
+execinfo.h
+fcntl.h
+fmtmsg.h
+fnmatch.h
+fsproperties.h
+fstab.h
+fts.h
+ftw.h
+get_compat.h
+getopt.h
+glob.h
+inttypes.h
+iso646.h
+langinfo.h
+libc.h
+libc_private.h
+libgen.h
+libkern/OSAtomic.h
+libkern/OSCacheControl.h
+libproc.h
+limits.h
+locale.h
+malloc/malloc.h
+memory.h
+monetary.h
+monitor.h
+mpool.h
+msgcat.h
+ndbm.h
+nl_types.h
+nlist.h
+os/assumes.h
+os/debug_private.h
+paths.h
+poll.h
+printf.h
+protocols/routed.h
+protocols/rwhod.h
+protocols/talkd.h
+protocols/timed.h
+pthread.h
+pthread_impl.h
+pthread_spis.h
+pthread_workqueue.h
+ranlib.h
+readpassphrase.h
+regex.h
+runetype.h
+sched.h
+search.h
+secure/_common.h
+secure/_stdio.h
+secure/_string.h
+semaphore.h
+setjmp.h
+sgtty.h
+signal.h
+spawn.h
+stab.h
+standards.h
+stddef.h
+stdint.h
+stdio.h
+stdlib.h
+strhash.h
+string.h
+stringlist.h
+strings.h
+struct.h
+sys/acl.h
+sys/rbtree.h
+sys/statvfs.h
+sysexits.h
+syslog.h
+tar.h
+termios.h
+time.h
+timeconv.h
+ttyent.h
+tzfile.h
+ucontext.h
+ulimit.h
+unistd.h
+util.h
+utime.h
+utmpx.h
+utmpx_thread.h
+vis.h
+wchar.h
+wctype.h
+wordexp.h
+xlocale.h
+xlocale/__wctype.h
+xlocale/_ctype.h
+xlocale/_inttypes.h
+xlocale/_langinfo.h
+xlocale/_monetary.h
+xlocale/_regex.h
+xlocale/_stdio.h
+xlocale/_stdlib.h
+xlocale/_string.h
+xlocale/_time.h
+xlocale/_wchar.h
+xlocale/_wctype.h
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libinfo/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libinfo/default.nix
index add51a61d3d3c..5481ae74d38d4 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/Libinfo/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libinfo/default.nix
@@ -11,4 +11,40 @@ appleDerivation {
     export DSTROOT=$out
     sh xcodescripts/install_files.sh
   '';
+
+  appleHeaders = ''
+    aliasdb.h
+    bootparams.h
+    configuration_profile.h
+    grp.h
+    ifaddrs.h
+    ils.h
+    kvbuf.h
+    libinfo.h
+    libinfo_muser.h
+    membership.h
+    membershipPriv.h
+    netdb.h
+    netdb_async.h
+    ntsid.h
+    printerdb.h
+    pwd.h
+    rpc/auth.h
+    rpc/auth_unix.h
+    rpc/clnt.h
+    rpc/pmap_clnt.h
+    rpc/pmap_prot.h
+    rpc/pmap_rmt.h
+    rpc/rpc.h
+    rpc/rpc_msg.h
+    rpc/svc.h
+    rpc/svc_auth.h
+    rpc/types.h
+    rpc/xdr.h
+    rpcsvc/yp_prot.h
+    rpcsvc/ypclnt.h
+    si_data.h
+    si_module.h
+    thread_data.h
+  '';
 }
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
index ad3f5dea97579..2c98dd35e39d9 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
@@ -115,6 +115,8 @@ appleDerivation {
     ln -s libresolv.9.dylib $out/lib/libresolv.dylib
   '';
 
+  appleHeaders = builtins.readFile ./headers.txt;
+
   meta = with lib; {
     description = "The Mac OS libc/libSystem (tapi library with pure headers)";
     maintainers = with maintainers; [ copumpkin gridaphobe ];
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/headers.txt b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/headers.txt
new file mode 100644
index 0000000000000..09b0ab410459f
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/headers.txt
@@ -0,0 +1,1727 @@
+AssertMacros.h
+Availability.h
+AvailabilityInternal.h
+AvailabilityMacros.h
+Block.h
+Block_private.h
+CommonCrypto/CommonBaseXX.h
+CommonCrypto/CommonBigNum.h
+CommonCrypto/CommonCMACSPI.h
+CommonCrypto/CommonCRC.h
+CommonCrypto/CommonCrypto.h
+CommonCrypto/CommonCryptoError.h
+CommonCrypto/CommonCryptoPriv.h
+CommonCrypto/CommonCryptor.h
+CommonCrypto/CommonCryptorSPI.h
+CommonCrypto/CommonDH.h
+CommonCrypto/CommonDigest.h
+CommonCrypto/CommonDigestSPI.h
+CommonCrypto/CommonECCryptor.h
+CommonCrypto/CommonHMAC.h
+CommonCrypto/CommonHMacSPI.h
+CommonCrypto/CommonKeyDerivation.h
+CommonCrypto/CommonKeyDerivationSPI.h
+CommonCrypto/CommonNumerics.h
+CommonCrypto/CommonRSACryptor.h
+CommonCrypto/CommonRandom.h
+CommonCrypto/CommonRandomSPI.h
+CommonCrypto/CommonSymmetricKeywrap.h
+CommonCrypto/aes.h
+CommonCrypto/lionCompat.h
+ConditionalMacros.h
+CrashReporterClient.h
+ExtentManager.h
+MacTypes.h
+NSSystemDirectories.h
+TargetConditionals.h
+_errno.h
+_libkernel_init.h
+_locale.h
+_simple.h
+_types.h
+_types/_intmax_t.h
+_types/_nl_item.h
+_types/_uint16_t.h
+_types/_uint32_t.h
+_types/_uint64_t.h
+_types/_uint8_t.h
+_types/_uintmax_t.h
+_types/_wctrans_t.h
+_types/_wctype_t.h
+_wctype.h
+_xlocale.h
+aio.h
+aliasdb.h
+alloca.h
+ar.h
+architecture/alignment.h
+architecture/byte_order.h
+architecture/i386/alignment.h
+architecture/i386/asm_help.h
+architecture/i386/byte_order.h
+architecture/i386/cpu.h
+architecture/i386/desc.h
+architecture/i386/fpu.h
+architecture/i386/frame.h
+architecture/i386/io.h
+architecture/i386/pio.h
+architecture/i386/reg_help.h
+architecture/i386/sel.h
+architecture/i386/table.h
+architecture/i386/tss.h
+arpa/ftp.h
+arpa/inet.h
+arpa/nameser_compat.h
+arpa/telnet.h
+arpa/tftp.h
+asl.h
+assert.h
+atm/atm_notification.defs
+atm/atm_types.defs
+atm/atm_types.h
+bank/bank_types.h
+bitstring.h
+bootparams.h
+bootstrap.h
+bootstrap_priv.h
+bsd/bsm/audit.h
+bsd/dev/random/randomdev.h
+bsd/i386/_limits.h
+bsd/i386/_mcontext.h
+bsd/i386/_param.h
+bsd/i386/_types.h
+bsd/i386/endian.h
+bsd/i386/limits.h
+bsd/i386/param.h
+bsd/i386/profile.h
+bsd/i386/signal.h
+bsd/i386/types.h
+bsd/i386/vmparam.h
+bsd/libkern/libkern.h
+bsd/machine/_limits.h
+bsd/machine/_mcontext.h
+bsd/machine/_param.h
+bsd/machine/_types.h
+bsd/machine/byte_order.h
+bsd/machine/disklabel.h
+bsd/machine/endian.h
+bsd/machine/limits.h
+bsd/machine/param.h
+bsd/machine/profile.h
+bsd/machine/signal.h
+bsd/machine/spl.h
+bsd/machine/types.h
+bsd/machine/vmparam.h
+bsd/miscfs/devfs/devfs.h
+bsd/miscfs/devfs/devfs_proto.h
+bsd/miscfs/devfs/devfsdefs.h
+bsd/miscfs/devfs/fdesc.h
+bsd/miscfs/fifofs/fifo.h
+bsd/miscfs/specfs/specdev.h
+bsd/miscfs/union/union.h
+bsd/net/bpf.h
+bsd/net/dlil.h
+bsd/net/ethernet.h
+bsd/net/if.h
+bsd/net/if_arp.h
+bsd/net/if_dl.h
+bsd/net/if_ether.h
+bsd/net/if_llc.h
+bsd/net/if_media.h
+bsd/net/if_mib.h
+bsd/net/if_types.h
+bsd/net/if_utun.h
+bsd/net/if_var.h
+bsd/net/init.h
+bsd/net/kext_net.h
+bsd/net/kpi_interface.h
+bsd/net/kpi_interfacefilter.h
+bsd/net/kpi_protocol.h
+bsd/net/ndrv.h
+bsd/net/net_kev.h
+bsd/net/pfkeyv2.h
+bsd/net/radix.h
+bsd/net/route.h
+bsd/netinet/bootp.h
+bsd/netinet/icmp6.h
+bsd/netinet/icmp_var.h
+bsd/netinet/if_ether.h
+bsd/netinet/igmp.h
+bsd/netinet/igmp_var.h
+bsd/netinet/in.h
+bsd/netinet/in_arp.h
+bsd/netinet/in_pcb.h
+bsd/netinet/in_systm.h
+bsd/netinet/in_var.h
+bsd/netinet/ip.h
+bsd/netinet/ip6.h
+bsd/netinet/ip_icmp.h
+bsd/netinet/ip_var.h
+bsd/netinet/kpi_ipfilter.h
+bsd/netinet/tcp.h
+bsd/netinet/tcp_fsm.h
+bsd/netinet/tcp_seq.h
+bsd/netinet/tcp_timer.h
+bsd/netinet/tcp_var.h
+bsd/netinet/tcpip.h
+bsd/netinet/udp.h
+bsd/netinet/udp_var.h
+bsd/netinet6/ah.h
+bsd/netinet6/esp.h
+bsd/netinet6/in6.h
+bsd/netinet6/in6_var.h
+bsd/netinet6/ipcomp.h
+bsd/netinet6/ipsec.h
+bsd/netinet6/nd6.h
+bsd/netinet6/raw_ip6.h
+bsd/netinet6/scope6_var.h
+bsd/netkey/keysock.h
+bsd/security/audit/audit.h
+bsd/security/audit/audit_bsd.h
+bsd/security/audit/audit_ioctl.h
+bsd/security/audit/audit_private.h
+bsd/sys/_endian.h
+bsd/sys/_select.h
+bsd/sys/_structs.h
+bsd/sys/_types.h
+bsd/sys/_types/_blkcnt_t.h
+bsd/sys/_types/_blksize_t.h
+bsd/sys/_types/_clock_t.h
+bsd/sys/_types/_ct_rune_t.h
+bsd/sys/_types/_dev_t.h
+bsd/sys/_types/_errno_t.h
+bsd/sys/_types/_fd_clr.h
+bsd/sys/_types/_fd_copy.h
+bsd/sys/_types/_fd_def.h
+bsd/sys/_types/_fd_isset.h
+bsd/sys/_types/_fd_set.h
+bsd/sys/_types/_fd_setsize.h
+bsd/sys/_types/_fd_zero.h
+bsd/sys/_types/_filesec_t.h
+bsd/sys/_types/_fsblkcnt_t.h
+bsd/sys/_types/_fsfilcnt_t.h
+bsd/sys/_types/_fsid_t.h
+bsd/sys/_types/_fsobj_id_t.h
+bsd/sys/_types/_gid_t.h
+bsd/sys/_types/_guid_t.h
+bsd/sys/_types/_id_t.h
+bsd/sys/_types/_in_addr_t.h
+bsd/sys/_types/_in_port_t.h
+bsd/sys/_types/_ino64_t.h
+bsd/sys/_types/_ino_t.h
+bsd/sys/_types/_int16_t.h
+bsd/sys/_types/_int32_t.h
+bsd/sys/_types/_int64_t.h
+bsd/sys/_types/_int8_t.h
+bsd/sys/_types/_intptr_t.h
+bsd/sys/_types/_iovec_t.h
+bsd/sys/_types/_key_t.h
+bsd/sys/_types/_mach_port_t.h
+bsd/sys/_types/_mbstate_t.h
+bsd/sys/_types/_mode_t.h
+bsd/sys/_types/_nlink_t.h
+bsd/sys/_types/_null.h
+bsd/sys/_types/_o_dsync.h
+bsd/sys/_types/_o_sync.h
+bsd/sys/_types/_off_t.h
+bsd/sys/_types/_offsetof.h
+bsd/sys/_types/_os_inline.h
+bsd/sys/_types/_pid_t.h
+bsd/sys/_types/_posix_vdisable.h
+bsd/sys/_types/_ptrdiff_t.h
+bsd/sys/_types/_rsize_t.h
+bsd/sys/_types/_rune_t.h
+bsd/sys/_types/_s_ifmt.h
+bsd/sys/_types/_sa_family_t.h
+bsd/sys/_types/_seek_set.h
+bsd/sys/_types/_sigaltstack.h
+bsd/sys/_types/_sigset_t.h
+bsd/sys/_types/_size_t.h
+bsd/sys/_types/_socklen_t.h
+bsd/sys/_types/_ssize_t.h
+bsd/sys/_types/_suseconds_t.h
+bsd/sys/_types/_time_t.h
+bsd/sys/_types/_timespec.h
+bsd/sys/_types/_timeval.h
+bsd/sys/_types/_timeval32.h
+bsd/sys/_types/_timeval64.h
+bsd/sys/_types/_u_int16_t.h
+bsd/sys/_types/_u_int32_t.h
+bsd/sys/_types/_u_int64_t.h
+bsd/sys/_types/_u_int8_t.h
+bsd/sys/_types/_ucontext.h
+bsd/sys/_types/_ucontext64.h
+bsd/sys/_types/_uid_t.h
+bsd/sys/_types/_uintptr_t.h
+bsd/sys/_types/_useconds_t.h
+bsd/sys/_types/_user32_itimerval.h
+bsd/sys/_types/_user32_timespec.h
+bsd/sys/_types/_user32_timeval.h
+bsd/sys/_types/_user64_itimerval.h
+bsd/sys/_types/_user64_timespec.h
+bsd/sys/_types/_user64_timeval.h
+bsd/sys/_types/_user_timespec.h
+bsd/sys/_types/_user_timeval.h
+bsd/sys/_types/_uuid_t.h
+bsd/sys/_types/_va_list.h
+bsd/sys/_types/_wchar_t.h
+bsd/sys/_types/_wint_t.h
+bsd/sys/appleapiopts.h
+bsd/sys/attr.h
+bsd/sys/bsdtask_info.h
+bsd/sys/buf.h
+bsd/sys/cdefs.h
+bsd/sys/codesign.h
+bsd/sys/conf.h
+bsd/sys/content_protection.h
+bsd/sys/cprotect.h
+bsd/sys/csr.h
+bsd/sys/decmpfs.h
+bsd/sys/dir.h
+bsd/sys/dirent.h
+bsd/sys/disk.h
+bsd/sys/disklabel.h
+bsd/sys/disktab.h
+bsd/sys/dkstat.h
+bsd/sys/doc_tombstone.h
+bsd/sys/domain.h
+bsd/sys/errno.h
+bsd/sys/ev.h
+bsd/sys/event.h
+bsd/sys/eventvar.h
+bsd/sys/fbt.h
+bsd/sys/fcntl.h
+bsd/sys/file.h
+bsd/sys/file_internal.h
+bsd/sys/filedesc.h
+bsd/sys/fileport.h
+bsd/sys/filio.h
+bsd/sys/fsctl.h
+bsd/sys/fsevents.h
+bsd/sys/fslog.h
+bsd/sys/guarded.h
+bsd/sys/imgact.h
+bsd/sys/ioccom.h
+bsd/sys/ioctl.h
+bsd/sys/ioctl_compat.h
+bsd/sys/ipc.h
+bsd/sys/kasl.h
+bsd/sys/kauth.h
+bsd/sys/kdebug.h
+bsd/sys/kdebugevents.h
+bsd/sys/kern_control.h
+bsd/sys/kern_event.h
+bsd/sys/kern_memorystatus.h
+bsd/sys/kernel.h
+bsd/sys/kernel_types.h
+bsd/sys/kpi_mbuf.h
+bsd/sys/kpi_private.h
+bsd/sys/kpi_socket.h
+bsd/sys/kpi_socketfilter.h
+bsd/sys/ktrace.h
+bsd/sys/linker_set.h
+bsd/sys/lock.h
+bsd/sys/lockf.h
+bsd/sys/mach_swapon.h
+bsd/sys/malloc.h
+bsd/sys/mbuf.h
+bsd/sys/md5.h
+bsd/sys/memory_maintenance.h
+bsd/sys/mman.h
+bsd/sys/mount.h
+bsd/sys/mount_internal.h
+bsd/sys/msg.h
+bsd/sys/msgbuf.h
+bsd/sys/munge.h
+bsd/sys/namei.h
+bsd/sys/netport.h
+bsd/sys/param.h
+bsd/sys/paths.h
+bsd/sys/persona.h
+bsd/sys/pgo.h
+bsd/sys/pipe.h
+bsd/sys/posix_sem.h
+bsd/sys/posix_shm.h
+bsd/sys/priv.h
+bsd/sys/proc.h
+bsd/sys/proc_info.h
+bsd/sys/proc_internal.h
+bsd/sys/protosw.h
+bsd/sys/pthread_internal.h
+bsd/sys/pthread_shims.h
+bsd/sys/queue.h
+bsd/sys/quota.h
+bsd/sys/random.h
+bsd/sys/reason.h
+bsd/sys/resource.h
+bsd/sys/resourcevar.h
+bsd/sys/sbuf.h
+bsd/sys/select.h
+bsd/sys/sem.h
+bsd/sys/sem_internal.h
+bsd/sys/semaphore.h
+bsd/sys/shm.h
+bsd/sys/shm_internal.h
+bsd/sys/signal.h
+bsd/sys/signalvar.h
+bsd/sys/socket.h
+bsd/sys/socketvar.h
+bsd/sys/sockio.h
+bsd/sys/spawn.h
+bsd/sys/spawn_internal.h
+bsd/sys/stackshot.h
+bsd/sys/stat.h
+bsd/sys/stdio.h
+bsd/sys/sys_domain.h
+bsd/sys/syscall.h
+bsd/sys/sysctl.h
+bsd/sys/syslimits.h
+bsd/sys/syslog.h
+bsd/sys/sysproto.h
+bsd/sys/systm.h
+bsd/sys/termios.h
+bsd/sys/time.h
+bsd/sys/tree.h
+bsd/sys/tty.h
+bsd/sys/ttychars.h
+bsd/sys/ttycom.h
+bsd/sys/ttydefaults.h
+bsd/sys/ttydev.h
+bsd/sys/types.h
+bsd/sys/ubc.h
+bsd/sys/ucontext.h
+bsd/sys/ucred.h
+bsd/sys/uio.h
+bsd/sys/uio_internal.h
+bsd/sys/ulock.h
+bsd/sys/un.h
+bsd/sys/unistd.h
+bsd/sys/unpcb.h
+bsd/sys/user.h
+bsd/sys/utfconv.h
+bsd/sys/vfs_context.h
+bsd/sys/vm.h
+bsd/sys/vmmeter.h
+bsd/sys/vmparam.h
+bsd/sys/vnode.h
+bsd/sys/vnode_if.h
+bsd/sys/vnode_internal.h
+bsd/sys/wait.h
+bsd/sys/xattr.h
+bsd/uuid/uuid.h
+bsd/vfs/vfs_support.h
+bsd/vm/vnode_pager.h
+bsm/audit.h
+bsm/audit_domain.h
+bsm/audit_errno.h
+bsm/audit_fcntl.h
+bsm/audit_internal.h
+bsm/audit_kevents.h
+bsm/audit_record.h
+bsm/audit_socket_type.h
+checkint.h
+complex.h
+configuration_profile.h
+copyfile.h
+corecrypto/cc.h
+corecrypto/cc_config.h
+corecrypto/cc_debug.h
+corecrypto/cc_macros.h
+corecrypto/cc_priv.h
+corecrypto/ccaes.h
+corecrypto/ccasn1.h
+corecrypto/cccmac.h
+corecrypto/ccder.h
+corecrypto/ccdes.h
+corecrypto/ccdigest.h
+corecrypto/ccdigest_priv.h
+corecrypto/ccdrbg.h
+corecrypto/ccdrbg_impl.h
+corecrypto/cchmac.h
+corecrypto/ccmd5.h
+corecrypto/ccmode.h
+corecrypto/ccmode_factory.h
+corecrypto/ccmode_impl.h
+corecrypto/ccmode_siv.h
+corecrypto/ccn.h
+corecrypto/ccpad.h
+corecrypto/ccpbkdf2.h
+corecrypto/ccrc4.h
+corecrypto/ccrng.h
+corecrypto/ccrng_system.h
+corecrypto/ccrsa.h
+corecrypto/ccsha1.h
+corecrypto/ccsha2.h
+corecrypto/cczp.h
+corpses/task_corpse.h
+cpio.h
+crt_externs.h
+ctype.h
+curses.h
+cursesapp.h
+cursesf.h
+cursesm.h
+cursesp.h
+cursesw.h
+cursslk.h
+db.h
+default_pager/default_pager_types.h
+device/device.defs
+device/device_port.h
+device/device_types.defs
+device/device_types.h
+dirent.h
+disktab.h
+dispatch/base.h
+dispatch/benchmark.h
+dispatch/block.h
+dispatch/data.h
+dispatch/data_private.h
+dispatch/dispatch.h
+dispatch/group.h
+dispatch/introspection.h
+dispatch/introspection_private.h
+dispatch/io.h
+dispatch/io_private.h
+dispatch/layout_private.h
+dispatch/mach_private.h
+dispatch/object.h
+dispatch/once.h
+dispatch/private.h
+dispatch/queue.h
+dispatch/queue_private.h
+dispatch/semaphore.h
+dispatch/source.h
+dispatch/source_private.h
+dispatch/time.h
+dlfcn.h
+dns.h
+dns_sd.h
+dns_util.h
+err.h
+errno.h
+eti.h
+etip.h
+execinfo.h
+fcntl.h
+fenv.h
+fmtmsg.h
+fnmatch.h
+form.h
+fsproperties.h
+fstab.h
+fts.h
+ftw.h
+get_compat.h
+gethostuuid.h
+gethostuuid_private.h
+getopt.h
+glob.h
+grp.h
+hfs/BTreeScanner.h
+hfs/BTreesInternal.h
+hfs/BTreesPrivate.h
+hfs/CatalogPrivate.h
+hfs/FileMgrInternal.h
+hfs/HFSUnicodeWrappers.h
+hfs/UCStringCompareData.h
+hfs/hfs.h
+hfs/hfs_alloc_trace.h
+hfs/hfs_attrlist.h
+hfs/hfs_btreeio.h
+hfs/hfs_catalog.h
+hfs/hfs_cnode.h
+hfs/hfs_cprotect.h
+hfs/hfs_dbg.h
+hfs/hfs_endian.h
+hfs/hfs_extents.h
+hfs/hfs_format.h
+hfs/hfs_fsctl.h
+hfs/hfs_hotfiles.h
+hfs/hfs_iokit.h
+hfs/hfs_journal.h
+hfs/hfs_kdebug.h
+hfs/hfs_key_roll.h
+hfs/hfs_macos_defs.h
+hfs/hfs_mount.h
+hfs/hfs_quota.h
+hfs/hfs_unistr.h
+hfs/kext-config.h
+hfs/rangelist.h
+i386/_limits.h
+i386/_mcontext.h
+i386/_param.h
+i386/_types.h
+i386/eflags.h
+i386/endian.h
+i386/fasttrap_isa.h
+i386/limits.h
+i386/param.h
+i386/profile.h
+i386/signal.h
+i386/types.h
+i386/user_ldt.h
+i386/vmparam.h
+ifaddrs.h
+ils.h
+inttypes.h
+iokit/IOKit/AppleKeyStoreInterface.h
+iokit/IOKit/IOBSD.h
+iokit/IOKit/IOBufferMemoryDescriptor.h
+iokit/IOKit/IOCPU.h
+iokit/IOKit/IOCatalogue.h
+iokit/IOKit/IOCommand.h
+iokit/IOKit/IOCommandGate.h
+iokit/IOKit/IOCommandPool.h
+iokit/IOKit/IOCommandQueue.h
+iokit/IOKit/IOConditionLock.h
+iokit/IOKit/IODMACommand.h
+iokit/IOKit/IODMAController.h
+iokit/IOKit/IODMAEventSource.h
+iokit/IOKit/IODataQueue.h
+iokit/IOKit/IODataQueueShared.h
+iokit/IOKit/IODeviceMemory.h
+iokit/IOKit/IODeviceTreeSupport.h
+iokit/IOKit/IOEventSource.h
+iokit/IOKit/IOFilterInterruptEventSource.h
+iokit/IOKit/IOHibernatePrivate.h
+iokit/IOKit/IOInterleavedMemoryDescriptor.h
+iokit/IOKit/IOInterruptAccounting.h
+iokit/IOKit/IOInterruptController.h
+iokit/IOKit/IOInterruptEventSource.h
+iokit/IOKit/IOInterrupts.h
+iokit/IOKit/IOKernelReportStructs.h
+iokit/IOKit/IOKernelReporters.h
+iokit/IOKit/IOKitDebug.h
+iokit/IOKit/IOKitDiagnosticsUserClient.h
+iokit/IOKit/IOKitKeys.h
+iokit/IOKit/IOKitKeysPrivate.h
+iokit/IOKit/IOKitServer.h
+iokit/IOKit/IOLib.h
+iokit/IOKit/IOLocks.h
+iokit/IOKit/IOLocksPrivate.h
+iokit/IOKit/IOMapper.h
+iokit/IOKit/IOMemoryCursor.h
+iokit/IOKit/IOMemoryDescriptor.h
+iokit/IOKit/IOMessage.h
+iokit/IOKit/IOMultiMemoryDescriptor.h
+iokit/IOKit/IONVRAM.h
+iokit/IOKit/IONotifier.h
+iokit/IOKit/IOPlatformExpert.h
+iokit/IOKit/IOPolledInterface.h
+iokit/IOKit/IORangeAllocator.h
+iokit/IOKit/IORegistryEntry.h
+iokit/IOKit/IOReportMacros.h
+iokit/IOKit/IOReportTypes.h
+iokit/IOKit/IOReturn.h
+iokit/IOKit/IOService.h
+iokit/IOKit/IOServicePM.h
+iokit/IOKit/IOSharedDataQueue.h
+iokit/IOKit/IOSharedLock.h
+iokit/IOKit/IOStatistics.h
+iokit/IOKit/IOStatisticsPrivate.h
+iokit/IOKit/IOSubMemoryDescriptor.h
+iokit/IOKit/IOSyncer.h
+iokit/IOKit/IOTimeStamp.h
+iokit/IOKit/IOTimerEventSource.h
+iokit/IOKit/IOTypes.h
+iokit/IOKit/IOUserClient.h
+iokit/IOKit/IOWorkLoop.h
+iokit/IOKit/OSMessageNotification.h
+iokit/IOKit/assert.h
+iokit/IOKit/nvram/IONVRAMController.h
+iokit/IOKit/platform/AppleMacIO.h
+iokit/IOKit/platform/AppleMacIODevice.h
+iokit/IOKit/platform/AppleNMI.h
+iokit/IOKit/platform/ApplePlatformExpert.h
+iokit/IOKit/power/IOPwrController.h
+iokit/IOKit/pwr_mgt/IOPM.h
+iokit/IOKit/pwr_mgt/IOPMLibDefs.h
+iokit/IOKit/pwr_mgt/IOPMPowerSource.h
+iokit/IOKit/pwr_mgt/IOPMPowerSourceList.h
+iokit/IOKit/pwr_mgt/IOPMpowerState.h
+iokit/IOKit/pwr_mgt/IOPowerConnection.h
+iokit/IOKit/pwr_mgt/RootDomain.h
+iokit/IOKit/rtc/IORTCController.h
+iokit/IOKit/system.h
+iokit/IOKit/system_management/IOWatchDogTimer.h
+iso646.h
+kern/exc_resource.h
+kern/kcdata.h
+kern/kern_cdata.h
+kvbuf.h
+langinfo.h
+launch.h
+launch_internal.h
+launch_priv.h
+libc.h
+libc_private.h
+libgen.h
+libinfo.h
+libinfo_muser.h
+libkern/OSAtomic.h
+libkern/OSAtomicDeprecated.h
+libkern/OSAtomicQueue.h
+libkern/OSByteOrder.h
+libkern/OSCacheControl.h
+libkern/OSDebug.h
+libkern/OSKextLib.h
+libkern/OSReturn.h
+libkern/OSSpinLockDeprecated.h
+libkern/OSTypes.h
+libkern/_OSByteOrder.h
+libkern/firehose/chunk_private.h
+libkern/firehose/firehose_types_private.h
+libkern/firehose/ioctl_private.h
+libkern/firehose/tracepoint_private.h
+libkern/i386/OSByteOrder.h
+libkern/i386/_OSByteOrder.h
+libkern/libkern/OSAtomic.h
+libkern/libkern/OSBase.h
+libkern/libkern/OSByteOrder.h
+libkern/libkern/OSDebug.h
+libkern/libkern/OSKextLib.h
+libkern/libkern/OSKextLibPrivate.h
+libkern/libkern/OSMalloc.h
+libkern/libkern/OSReturn.h
+libkern/libkern/OSSerializeBinary.h
+libkern/libkern/OSTypes.h
+libkern/libkern/_OSByteOrder.h
+libkern/libkern/c++/OSArray.h
+libkern/libkern/c++/OSBoolean.h
+libkern/libkern/c++/OSCPPDebug.h
+libkern/libkern/c++/OSCollection.h
+libkern/libkern/c++/OSCollectionIterator.h
+libkern/libkern/c++/OSContainers.h
+libkern/libkern/c++/OSData.h
+libkern/libkern/c++/OSDictionary.h
+libkern/libkern/c++/OSEndianTypes.h
+libkern/libkern/c++/OSIterator.h
+libkern/libkern/c++/OSKext.h
+libkern/libkern/c++/OSLib.h
+libkern/libkern/c++/OSMetaClass.h
+libkern/libkern/c++/OSNumber.h
+libkern/libkern/c++/OSObject.h
+libkern/libkern/c++/OSOrderedSet.h
+libkern/libkern/c++/OSSerialize.h
+libkern/libkern/c++/OSSet.h
+libkern/libkern/c++/OSString.h
+libkern/libkern/c++/OSSymbol.h
+libkern/libkern/c++/OSUnserialize.h
+libkern/libkern/crypto/aes.h
+libkern/libkern/crypto/aesxts.h
+libkern/libkern/crypto/crypto_internal.h
+libkern/libkern/crypto/des.h
+libkern/libkern/crypto/md5.h
+libkern/libkern/crypto/rand.h
+libkern/libkern/crypto/register_crypto.h
+libkern/libkern/crypto/rsa.h
+libkern/libkern/crypto/sha1.h
+libkern/libkern/crypto/sha2.h
+libkern/libkern/i386/OSByteOrder.h
+libkern/libkern/i386/_OSByteOrder.h
+libkern/libkern/kernel_mach_header.h
+libkern/libkern/kext_request_keys.h
+libkern/libkern/kxld.h
+libkern/libkern/kxld_types.h
+libkern/libkern/locks.h
+libkern/libkern/machine/OSByteOrder.h
+libkern/libkern/mkext.h
+libkern/libkern/prelink.h
+libkern/libkern/section_keywords.h
+libkern/libkern/stack_protector.h
+libkern/libkern/sysctl.h
+libkern/libkern/tree.h
+libkern/libkern/version.h
+libkern/libkern/zconf.h
+libkern/libkern/zlib.h
+libkern/machine/OSByteOrder.h
+libkern/os/base.h
+libkern/os/log.h
+libkern/os/log_private.h
+libkern/os/object.h
+libkern/os/object_private.h
+libkern/os/overflow.h
+libkern/os/trace.h
+libproc.h
+libutil.h
+limits.h
+locale.h
+mach-o/arch.h
+mach-o/arm/reloc.h
+mach-o/arm64/reloc.h
+mach-o/dyld-interposing.h
+mach-o/dyld.h
+mach-o/dyld_gdb.h
+mach-o/dyld_images.h
+mach-o/dyld_priv.h
+mach-o/dyld_process_info.h
+mach-o/fat.h
+mach-o/getsect.h
+mach-o/hppa/reloc.h
+mach-o/hppa/swap.h
+mach-o/i386/swap.h
+mach-o/i860/reloc.h
+mach-o/i860/swap.h
+mach-o/ldsyms.h
+mach-o/loader.h
+mach-o/m68k/swap.h
+mach-o/m88k/reloc.h
+mach-o/m88k/swap.h
+mach-o/nlist.h
+mach-o/ppc/reloc.h
+mach-o/ppc/swap.h
+mach-o/ranlib.h
+mach-o/reloc.h
+mach-o/sparc/reloc.h
+mach-o/sparc/swap.h
+mach-o/stab.h
+mach-o/swap.h
+mach-o/x86_64/reloc.h
+mach/audit_triggers.defs
+mach/boolean.h
+mach/bootstrap.h
+mach/clock.defs
+mach/clock.h
+mach/clock_priv.defs
+mach/clock_priv.h
+mach/clock_reply.defs
+mach/clock_reply.h
+mach/clock_types.defs
+mach/clock_types.h
+mach/dyld_kernel.h
+mach/error.h
+mach/exc.defs
+mach/exc.h
+mach/exception.h
+mach/exception_types.h
+mach/host_info.h
+mach/host_notify.h
+mach/host_notify_reply.defs
+mach/host_priv.defs
+mach/host_priv.h
+mach/host_reboot.h
+mach/host_security.defs
+mach/host_security.h
+mach/host_special_ports.h
+mach/i386/_structs.h
+mach/i386/asm.h
+mach/i386/boolean.h
+mach/i386/exception.h
+mach/i386/fp_reg.h
+mach/i386/kern_return.h
+mach/i386/ndr_def.h
+mach/i386/processor_info.h
+mach/i386/rpc.h
+mach/i386/sdt_isa.h
+mach/i386/thread_state.h
+mach/i386/thread_status.h
+mach/i386/vm_param.h
+mach/i386/vm_types.h
+mach/kern_return.h
+mach/kmod.h
+mach/lock_set.defs
+mach/lock_set.h
+mach/mach.h
+mach/mach_error.h
+mach/mach_exc.defs
+mach/mach_host.defs
+mach/mach_host.h
+mach/mach_init.h
+mach/mach_interface.h
+mach/mach_param.h
+mach/mach_port.defs
+mach/mach_port.h
+mach/mach_port_internal.h
+mach/mach_syscalls.h
+mach/mach_time.h
+mach/mach_traps.h
+mach/mach_types.defs
+mach/mach_types.h
+mach/mach_vm.defs
+mach/mach_vm.h
+mach/mach_vm_internal.h
+mach/mach_voucher.defs
+mach/mach_voucher.h
+mach/mach_voucher_attr_control.defs
+mach/mach_voucher_types.h
+mach/machine.h
+mach/machine/asm.h
+mach/machine/boolean.h
+mach/machine/exception.h
+mach/machine/kern_return.h
+mach/machine/machine_types.defs
+mach/machine/ndr_def.h
+mach/machine/processor_info.h
+mach/machine/rpc.h
+mach/machine/sdt.h
+mach/machine/sdt_isa.h
+mach/machine/thread_state.h
+mach/machine/thread_status.h
+mach/machine/vm_param.h
+mach/machine/vm_types.h
+mach/memory_object_types.h
+mach/message.h
+mach/mig.h
+mach/mig_errors.h
+mach/mig_strncpy_zerofill_support.h
+mach/mig_voucher_support.h
+mach/ndr.h
+mach/notify.defs
+mach/notify.h
+mach/policy.h
+mach/port.h
+mach/port_obj.h
+mach/processor.defs
+mach/processor.h
+mach/processor_info.h
+mach/processor_set.defs
+mach/processor_set.h
+mach/rpc.h
+mach/sdt.h
+mach/semaphore.h
+mach/shared_memory_server.h
+mach/shared_region.h
+mach/std_types.defs
+mach/std_types.h
+mach/sync.h
+mach/sync_policy.h
+mach/task.defs
+mach/task.h
+mach/task_access.defs
+mach/task_info.h
+mach/task_policy.h
+mach/task_special_ports.h
+mach/telemetry_notification.defs
+mach/thread_act.defs
+mach/thread_act.h
+mach/thread_act_internal.h
+mach/thread_info.h
+mach/thread_policy.h
+mach/thread_special_ports.h
+mach/thread_state.h
+mach/thread_status.h
+mach/thread_switch.h
+mach/time_value.h
+mach/vm_attributes.h
+mach/vm_behavior.h
+mach/vm_inherit.h
+mach/vm_map.defs
+mach/vm_map.h
+mach/vm_map_internal.h
+mach/vm_page_size.h
+mach/vm_param.h
+mach/vm_prot.h
+mach/vm_purgable.h
+mach/vm_region.h
+mach/vm_statistics.h
+mach/vm_sync.h
+mach/vm_task.h
+mach/vm_types.h
+mach_debug/hash_info.h
+mach_debug/ipc_info.h
+mach_debug/lockgroup_info.h
+mach_debug/mach_debug.h
+mach_debug/mach_debug_types.defs
+mach_debug/mach_debug_types.h
+mach_debug/page_info.h
+mach_debug/vm_info.h
+mach_debug/zone_info.h
+machine/_limits.h
+machine/_mcontext.h
+machine/_param.h
+machine/_types.h
+machine/byte_order.h
+machine/endian.h
+machine/fasttrap_isa.h
+machine/limits.h
+machine/param.h
+machine/profile.h
+machine/signal.h
+machine/types.h
+machine/vmparam.h
+malloc/malloc.h
+math.h
+membership.h
+membershipPriv.h
+memory.h
+menu.h
+miscfs/devfs/devfs.h
+miscfs/specfs/specdev.h
+miscfs/union/union.h
+mntopts.h
+monetary.h
+monitor.h
+mpool.h
+msgcat.h
+nameser.h
+nc_tparm.h
+ncurses_dll.h
+ndbm.h
+net/bpf.h
+net/dlil.h
+net/ethernet.h
+net/if.h
+net/if_arp.h
+net/if_dl.h
+net/if_llc.h
+net/if_media.h
+net/if_mib.h
+net/if_types.h
+net/if_utun.h
+net/if_var.h
+net/kext_net.h
+net/ndrv.h
+net/net_kev.h
+net/pfkeyv2.h
+net/route.h
+netdb.h
+netdb_async.h
+netinet/bootp.h
+netinet/icmp6.h
+netinet/icmp_var.h
+netinet/if_ether.h
+netinet/igmp.h
+netinet/igmp_var.h
+netinet/in.h
+netinet/in_pcb.h
+netinet/in_systm.h
+netinet/in_var.h
+netinet/ip.h
+netinet/ip6.h
+netinet/ip_icmp.h
+netinet/ip_var.h
+netinet/tcp.h
+netinet/tcp_fsm.h
+netinet/tcp_seq.h
+netinet/tcp_timer.h
+netinet/tcp_var.h
+netinet/tcpip.h
+netinet/udp.h
+netinet/udp_var.h
+netinet6/ah.h
+netinet6/esp.h
+netinet6/in6.h
+netinet6/in6_var.h
+netinet6/ipcomp.h
+netinet6/ipsec.h
+netinet6/nd6.h
+netinet6/raw_ip6.h
+netinet6/scope6_var.h
+netkey/keysock.h
+nfs/krpc.h
+nfs/nfs.h
+nfs/nfs_gss.h
+nfs/nfs_ioctl.h
+nfs/nfs_lock.h
+nfs/nfsdiskless.h
+nfs/nfsm_subs.h
+nfs/nfsmount.h
+nfs/nfsnode.h
+nfs/nfsproto.h
+nfs/nfsrvcache.h
+nfs/rpcv2.h
+nfs/xdr_subs.h
+nl_types.h
+nlist.h
+notify.h
+notify_keys.h
+ntsid.h
+objc-shared-cache.h
+os/activity.h
+os/alloc_once_impl.h
+os/assumes.h
+os/availability.h
+os/base.h
+os/base_private.h
+os/debug_private.h
+os/internal/atomic.h
+os/internal/crashlog.h
+os/internal/internal_shared.h
+os/lock.h
+os/lock_private.h
+os/log.h
+os/object.h
+os/object_private.h
+os/once_private.h
+os/overflow.h
+os/semaphore_private.h
+os/trace.h
+os/tsd.h
+os/voucher_activity_private.h
+os/voucher_private.h
+osfmk/UserNotification/KUNCUserNotifications.h
+osfmk/UserNotification/UNDReply.defs
+osfmk/UserNotification/UNDRequest.defs
+osfmk/UserNotification/UNDTypes.defs
+osfmk/UserNotification/UNDTypes.h
+osfmk/atm/atm_internal.h
+osfmk/atm/atm_notification.defs
+osfmk/atm/atm_types.defs
+osfmk/atm/atm_types.h
+osfmk/bank/bank_types.h
+osfmk/console/video_console.h
+osfmk/corpses/task_corpse.h
+osfmk/default_pager/default_pager_types.h
+osfmk/device/device.defs
+osfmk/device/device_port.h
+osfmk/device/device_types.defs
+osfmk/device/device_types.h
+osfmk/gssd/gssd_mach.defs
+osfmk/gssd/gssd_mach.h
+osfmk/gssd/gssd_mach_types.h
+osfmk/i386/apic.h
+osfmk/i386/asm.h
+osfmk/i386/atomic.h
+osfmk/i386/bit_routines.h
+osfmk/i386/cpu_capabilities.h
+osfmk/i386/cpu_data.h
+osfmk/i386/cpu_number.h
+osfmk/i386/cpu_topology.h
+osfmk/i386/cpuid.h
+osfmk/i386/eflags.h
+osfmk/i386/io_map_entries.h
+osfmk/i386/lapic.h
+osfmk/i386/lock.h
+osfmk/i386/locks.h
+osfmk/i386/machine_cpu.h
+osfmk/i386/machine_routines.h
+osfmk/i386/mp.h
+osfmk/i386/mp_desc.h
+osfmk/i386/mp_events.h
+osfmk/i386/mtrr.h
+osfmk/i386/pal_hibernate.h
+osfmk/i386/pal_native.h
+osfmk/i386/pal_routines.h
+osfmk/i386/panic_hooks.h
+osfmk/i386/pmCPU.h
+osfmk/i386/pmap.h
+osfmk/i386/proc_reg.h
+osfmk/i386/rtclock_protos.h
+osfmk/i386/seg.h
+osfmk/i386/simple_lock.h
+osfmk/i386/smp.h
+osfmk/i386/tsc.h
+osfmk/i386/tss.h
+osfmk/i386/ucode.h
+osfmk/i386/vmx.h
+osfmk/ipc/ipc_types.h
+osfmk/kdp/kdp_callout.h
+osfmk/kdp/kdp_dyld.h
+osfmk/kdp/kdp_en_debugger.h
+osfmk/kern/affinity.h
+osfmk/kern/assert.h
+osfmk/kern/audit_sessionport.h
+osfmk/kern/backtrace.h
+osfmk/kern/bits.h
+osfmk/kern/block_hint.h
+osfmk/kern/call_entry.h
+osfmk/kern/clock.h
+osfmk/kern/coalition.h
+osfmk/kern/cpu_data.h
+osfmk/kern/cpu_number.h
+osfmk/kern/debug.h
+osfmk/kern/ecc.h
+osfmk/kern/energy_perf.h
+osfmk/kern/exc_resource.h
+osfmk/kern/extmod_statistics.h
+osfmk/kern/host.h
+osfmk/kern/hv_support.h
+osfmk/kern/ipc_mig.h
+osfmk/kern/ipc_misc.h
+osfmk/kern/kalloc.h
+osfmk/kern/kcdata.h
+osfmk/kern/kern_cdata.h
+osfmk/kern/kern_types.h
+osfmk/kern/kext_alloc.h
+osfmk/kern/kpc.h
+osfmk/kern/ledger.h
+osfmk/kern/lock.h
+osfmk/kern/locks.h
+osfmk/kern/mach_param.h
+osfmk/kern/macro_help.h
+osfmk/kern/page_decrypt.h
+osfmk/kern/pms.h
+osfmk/kern/policy_internal.h
+osfmk/kern/processor.h
+osfmk/kern/queue.h
+osfmk/kern/sched_prim.h
+osfmk/kern/sfi.h
+osfmk/kern/simple_lock.h
+osfmk/kern/startup.h
+osfmk/kern/task.h
+osfmk/kern/telemetry.h
+osfmk/kern/thread.h
+osfmk/kern/thread_call.h
+osfmk/kern/timer_call.h
+osfmk/kern/waitq.h
+osfmk/kern/zalloc.h
+osfmk/kextd/kextd_mach.defs
+osfmk/kextd/kextd_mach.h
+osfmk/kperf/action.h
+osfmk/kperf/context.h
+osfmk/kperf/kdebug_trigger.h
+osfmk/kperf/kperf.h
+osfmk/kperf/kperf_timer.h
+osfmk/kperf/kperfbsd.h
+osfmk/kperf/pet.h
+osfmk/lockd/lockd_mach.defs
+osfmk/lockd/lockd_mach.h
+osfmk/lockd/lockd_mach_types.h
+osfmk/mach/audit_triggers.defs
+osfmk/mach/audit_triggers_server.h
+osfmk/mach/boolean.h
+osfmk/mach/branch_predicates.h
+osfmk/mach/clock.defs
+osfmk/mach/clock.h
+osfmk/mach/clock_priv.defs
+osfmk/mach/clock_priv.h
+osfmk/mach/clock_reply.defs
+osfmk/mach/clock_reply_server.h
+osfmk/mach/clock_types.defs
+osfmk/mach/clock_types.h
+osfmk/mach/coalition.h
+osfmk/mach/coalition_notification_server.h
+osfmk/mach/dyld_kernel.h
+osfmk/mach/error.h
+osfmk/mach/exc.defs
+osfmk/mach/exc_server.h
+osfmk/mach/exception.h
+osfmk/mach/exception_types.h
+osfmk/mach/host_info.h
+osfmk/mach/host_notify.h
+osfmk/mach/host_notify_reply.defs
+osfmk/mach/host_priv.defs
+osfmk/mach/host_priv.h
+osfmk/mach/host_reboot.h
+osfmk/mach/host_security.defs
+osfmk/mach/host_security.h
+osfmk/mach/host_special_ports.h
+osfmk/mach/i386/_structs.h
+osfmk/mach/i386/asm.h
+osfmk/mach/i386/boolean.h
+osfmk/mach/i386/exception.h
+osfmk/mach/i386/fp_reg.h
+osfmk/mach/i386/kern_return.h
+osfmk/mach/i386/ndr_def.h
+osfmk/mach/i386/processor_info.h
+osfmk/mach/i386/rpc.h
+osfmk/mach/i386/sdt_isa.h
+osfmk/mach/i386/syscall_sw.h
+osfmk/mach/i386/thread_state.h
+osfmk/mach/i386/thread_status.h
+osfmk/mach/i386/vm_param.h
+osfmk/mach/i386/vm_types.h
+osfmk/mach/kern_return.h
+osfmk/mach/kmod.h
+osfmk/mach/ktrace_background.h
+osfmk/mach/lock_set.defs
+osfmk/mach/lock_set.h
+osfmk/mach/mach_exc.defs
+osfmk/mach/mach_exc_server.h
+osfmk/mach/mach_host.defs
+osfmk/mach/mach_host.h
+osfmk/mach/mach_interface.h
+osfmk/mach/mach_param.h
+osfmk/mach/mach_port.defs
+osfmk/mach/mach_port.h
+osfmk/mach/mach_syscalls.h
+osfmk/mach/mach_time.h
+osfmk/mach/mach_traps.h
+osfmk/mach/mach_types.defs
+osfmk/mach/mach_types.h
+osfmk/mach/mach_vm.defs
+osfmk/mach/mach_vm.h
+osfmk/mach/mach_voucher.defs
+osfmk/mach/mach_voucher.h
+osfmk/mach/mach_voucher_attr_control.defs
+osfmk/mach/mach_voucher_attr_control.h
+osfmk/mach/mach_voucher_types.h
+osfmk/mach/machine.h
+osfmk/mach/machine/asm.h
+osfmk/mach/machine/boolean.h
+osfmk/mach/machine/exception.h
+osfmk/mach/machine/kern_return.h
+osfmk/mach/machine/machine_types.defs
+osfmk/mach/machine/ndr_def.h
+osfmk/mach/machine/processor_info.h
+osfmk/mach/machine/rpc.h
+osfmk/mach/machine/sdt.h
+osfmk/mach/machine/sdt_isa.h
+osfmk/mach/machine/syscall_sw.h
+osfmk/mach/machine/thread_state.h
+osfmk/mach/machine/thread_status.h
+osfmk/mach/machine/vm_param.h
+osfmk/mach/machine/vm_types.h
+osfmk/mach/memory_object_control.h
+osfmk/mach/memory_object_default_server.h
+osfmk/mach/memory_object_types.h
+osfmk/mach/message.h
+osfmk/mach/mig.h
+osfmk/mach/mig_errors.h
+osfmk/mach/mig_strncpy_zerofill_support.h
+osfmk/mach/mig_voucher_support.h
+osfmk/mach/ndr.h
+osfmk/mach/notify.defs
+osfmk/mach/notify.h
+osfmk/mach/notify_server.h
+osfmk/mach/policy.h
+osfmk/mach/port.h
+osfmk/mach/processor.defs
+osfmk/mach/processor.h
+osfmk/mach/processor_info.h
+osfmk/mach/processor_set.defs
+osfmk/mach/processor_set.h
+osfmk/mach/resource_monitors.h
+osfmk/mach/rpc.h
+osfmk/mach/sdt.h
+osfmk/mach/semaphore.h
+osfmk/mach/sfi_class.h
+osfmk/mach/shared_memory_server.h
+osfmk/mach/shared_region.h
+osfmk/mach/std_types.defs
+osfmk/mach/std_types.h
+osfmk/mach/sync_policy.h
+osfmk/mach/syscall_sw.h
+osfmk/mach/sysdiagnose_notification_server.h
+osfmk/mach/task.defs
+osfmk/mach/task.h
+osfmk/mach/task_access.defs
+osfmk/mach/task_access.h
+osfmk/mach/task_access_server.h
+osfmk/mach/task_info.h
+osfmk/mach/task_policy.h
+osfmk/mach/task_special_ports.h
+osfmk/mach/telemetry_notification.defs
+osfmk/mach/telemetry_notification_server.h
+osfmk/mach/thread_act.defs
+osfmk/mach/thread_act.h
+osfmk/mach/thread_info.h
+osfmk/mach/thread_policy.h
+osfmk/mach/thread_special_ports.h
+osfmk/mach/thread_status.h
+osfmk/mach/thread_switch.h
+osfmk/mach/time_value.h
+osfmk/mach/upl.h
+osfmk/mach/vm_attributes.h
+osfmk/mach/vm_behavior.h
+osfmk/mach/vm_inherit.h
+osfmk/mach/vm_map.defs
+osfmk/mach/vm_map.h
+osfmk/mach/vm_param.h
+osfmk/mach/vm_prot.h
+osfmk/mach/vm_purgable.h
+osfmk/mach/vm_region.h
+osfmk/mach/vm_statistics.h
+osfmk/mach/vm_sync.h
+osfmk/mach/vm_types.h
+osfmk/mach_debug/hash_info.h
+osfmk/mach_debug/ipc_info.h
+osfmk/mach_debug/lockgroup_info.h
+osfmk/mach_debug/mach_debug.h
+osfmk/mach_debug/mach_debug_types.defs
+osfmk/mach_debug/mach_debug_types.h
+osfmk/mach_debug/page_info.h
+osfmk/mach_debug/vm_info.h
+osfmk/mach_debug/zone_info.h
+osfmk/machine/atomic.h
+osfmk/machine/cpu_capabilities.h
+osfmk/machine/cpu_number.h
+osfmk/machine/io_map_entries.h
+osfmk/machine/lock.h
+osfmk/machine/locks.h
+osfmk/machine/machine_cpuid.h
+osfmk/machine/machine_kpc.h
+osfmk/machine/machine_routines.h
+osfmk/machine/pal_hibernate.h
+osfmk/machine/pal_routines.h
+osfmk/machine/simple_lock.h
+osfmk/prng/random.h
+osfmk/string.h
+osfmk/vm/WKdm_new.h
+osfmk/vm/pmap.h
+osfmk/vm/vm_compressor_algorithms.h
+osfmk/vm/vm_fault.h
+osfmk/vm/vm_kern.h
+osfmk/vm/vm_map.h
+osfmk/vm/vm_options.h
+osfmk/vm/vm_pageout.h
+osfmk/vm/vm_protos.h
+osfmk/vm/vm_shared_region.h
+osfmk/voucher/ipc_pthread_priority_types.h
+osfmk/x86_64/machine_kpc.h
+panel.h
+paths.h
+pexpert/boot.h
+pexpert/i386/boot.h
+pexpert/i386/efi.h
+pexpert/i386/protos.h
+pexpert/machine/boot.h
+pexpert/machine/protos.h
+pexpert/pexpert.h
+pexpert/pexpert/boot.h
+pexpert/pexpert/device_tree.h
+pexpert/pexpert/i386/boot.h
+pexpert/pexpert/i386/efi.h
+pexpert/pexpert/i386/protos.h
+pexpert/pexpert/machine/boot.h
+pexpert/pexpert/machine/protos.h
+pexpert/pexpert/pexpert.h
+pexpert/pexpert/protos.h
+pexpert/protos.h
+platform/compat.h
+platform/introspection_private.h
+platform/string.h
+poll.h
+printerdb.h
+printf.h
+protocols/routed.h
+protocols/rwhod.h
+protocols/talkd.h
+protocols/timed.h
+pthread.h
+pthread/introspection.h
+pthread/pthread.h
+pthread/pthread_impl.h
+pthread/pthread_spis.h
+pthread/qos.h
+pthread/sched.h
+pthread/spawn.h
+pthread_impl.h
+pthread_spis.h
+pthread_workqueue.h
+pwd.h
+ranlib.h
+readpassphrase.h
+reboot2.h
+regex.h
+removefile.h
+resolv.h
+rpc/auth.h
+rpc/auth_unix.h
+rpc/clnt.h
+rpc/pmap_clnt.h
+rpc/pmap_prot.h
+rpc/pmap_rmt.h
+rpc/rpc.h
+rpc/rpc_msg.h
+rpc/svc.h
+rpc/svc_auth.h
+rpc/types.h
+rpc/xdr.h
+rpcsvc/yp_prot.h
+rpcsvc/ypclnt.h
+runetype.h
+sched.h
+search.h
+secure/_common.h
+secure/_stdio.h
+secure/_string.h
+security/audit/audit_ioctl.h
+security/mac.h
+security/mac_policy.h
+security/security/_label.h
+security/security/mac.h
+security/security/mac_alloc.h
+security/security/mac_data.h
+security/security/mac_framework.h
+security/security/mac_internal.h
+security/security/mac_mach_internal.h
+security/security/mac_policy.h
+semaphore.h
+servers/bootstrap.h
+servers/bootstrap_defs.h
+servers/key_defs.h
+servers/ls_defs.h
+servers/netname.h
+servers/netname_defs.h
+servers/nm_defs.h
+setjmp.h
+sgtty.h
+si_data.h
+si_module.h
+signal.h
+spawn.h
+stab.h
+standards.h
+stdarg.h
+stddef.h
+stdint.h
+stdio.h
+stdlib.h
+strhash.h
+string.h
+stringlist.h
+strings.h
+struct.h
+sys/_endian.h
+sys/_posix_availability.h
+sys/_pthread/_pthread_attr_t.h
+sys/_pthread/_pthread_cond_t.h
+sys/_pthread/_pthread_condattr_t.h
+sys/_pthread/_pthread_key_t.h
+sys/_pthread/_pthread_mutex_t.h
+sys/_pthread/_pthread_mutexattr_t.h
+sys/_pthread/_pthread_once_t.h
+sys/_pthread/_pthread_rwlock_t.h
+sys/_pthread/_pthread_rwlockattr_t.h
+sys/_pthread/_pthread_t.h
+sys/_pthread/_pthread_types.h
+sys/_select.h
+sys/_structs.h
+sys/_symbol_aliasing.h
+sys/_types.h
+sys/_types/_blkcnt_t.h
+sys/_types/_blksize_t.h
+sys/_types/_clock_t.h
+sys/_types/_ct_rune_t.h
+sys/_types/_dev_t.h
+sys/_types/_errno_t.h
+sys/_types/_fd_clr.h
+sys/_types/_fd_copy.h
+sys/_types/_fd_def.h
+sys/_types/_fd_isset.h
+sys/_types/_fd_set.h
+sys/_types/_fd_setsize.h
+sys/_types/_fd_zero.h
+sys/_types/_filesec_t.h
+sys/_types/_fsblkcnt_t.h
+sys/_types/_fsfilcnt_t.h
+sys/_types/_fsid_t.h
+sys/_types/_fsobj_id_t.h
+sys/_types/_gid_t.h
+sys/_types/_guid_t.h
+sys/_types/_id_t.h
+sys/_types/_in_addr_t.h
+sys/_types/_in_port_t.h
+sys/_types/_ino64_t.h
+sys/_types/_ino_t.h
+sys/_types/_int16_t.h
+sys/_types/_int32_t.h
+sys/_types/_int64_t.h
+sys/_types/_int8_t.h
+sys/_types/_intptr_t.h
+sys/_types/_iovec_t.h
+sys/_types/_key_t.h
+sys/_types/_mach_port_t.h
+sys/_types/_mbstate_t.h
+sys/_types/_mode_t.h
+sys/_types/_nlink_t.h
+sys/_types/_null.h
+sys/_types/_o_dsync.h
+sys/_types/_o_sync.h
+sys/_types/_off_t.h
+sys/_types/_offsetof.h
+sys/_types/_os_inline.h
+sys/_types/_pid_t.h
+sys/_types/_posix_vdisable.h
+sys/_types/_pthread_attr_t.h
+sys/_types/_pthread_cond_t.h
+sys/_types/_pthread_condattr_t.h
+sys/_types/_pthread_key_t.h
+sys/_types/_pthread_mutex_t.h
+sys/_types/_pthread_mutexattr_t.h
+sys/_types/_pthread_once_t.h
+sys/_types/_pthread_rwlock_t.h
+sys/_types/_pthread_rwlockattr_t.h
+sys/_types/_pthread_t.h
+sys/_types/_pthread_types.h
+sys/_types/_ptrdiff_t.h
+sys/_types/_rsize_t.h
+sys/_types/_rune_t.h
+sys/_types/_s_ifmt.h
+sys/_types/_sa_family_t.h
+sys/_types/_seek_set.h
+sys/_types/_sigaltstack.h
+sys/_types/_sigset_t.h
+sys/_types/_size_t.h
+sys/_types/_socklen_t.h
+sys/_types/_ssize_t.h
+sys/_types/_suseconds_t.h
+sys/_types/_time_t.h
+sys/_types/_timespec.h
+sys/_types/_timeval.h
+sys/_types/_timeval32.h
+sys/_types/_timeval64.h
+sys/_types/_u_int16_t.h
+sys/_types/_u_int32_t.h
+sys/_types/_u_int64_t.h
+sys/_types/_u_int8_t.h
+sys/_types/_ucontext.h
+sys/_types/_ucontext64.h
+sys/_types/_uid_t.h
+sys/_types/_uintptr_t.h
+sys/_types/_useconds_t.h
+sys/_types/_uuid_t.h
+sys/_types/_va_list.h
+sys/_types/_wchar_t.h
+sys/_types/_wint_t.h
+sys/acct.h
+sys/acl.h
+sys/aio.h
+sys/appleapiopts.h
+sys/attr.h
+sys/buf.h
+sys/cdefs.h
+sys/clonefile.h
+sys/conf.h
+sys/dir.h
+sys/dirent.h
+sys/disk.h
+sys/dkstat.h
+sys/domain.h
+sys/dtrace.h
+sys/dtrace_glue.h
+sys/dtrace_impl.h
+sys/errno.h
+sys/ev.h
+sys/event.h
+sys/fasttrap.h
+sys/fasttrap_isa.h
+sys/fcntl.h
+sys/file.h
+sys/filedesc.h
+sys/filio.h
+sys/gmon.h
+sys/ioccom.h
+sys/ioctl.h
+sys/ioctl_compat.h
+sys/ipc.h
+sys/kauth.h
+sys/kdebug.h
+sys/kdebug_signpost.h
+sys/kern_control.h
+sys/kern_event.h
+sys/kernel.h
+sys/kernel_types.h
+sys/lctx.h
+sys/loadable_fs.h
+sys/lock.h
+sys/lockf.h
+sys/lockstat.h
+sys/malloc.h
+sys/mbuf.h
+sys/mman.h
+sys/mount.h
+sys/msg.h
+sys/msgbuf.h
+sys/netport.h
+sys/param.h
+sys/paths.h
+sys/pipe.h
+sys/poll.h
+sys/posix_sem.h
+sys/posix_shm.h
+sys/proc.h
+sys/proc_info.h
+sys/protosw.h
+sys/ptrace.h
+sys/qos.h
+sys/qos_private.h
+sys/queue.h
+sys/quota.h
+sys/random.h
+sys/rbtree.h
+sys/reboot.h
+sys/resource.h
+sys/resourcevar.h
+sys/sbuf.h
+sys/sdt.h
+sys/select.h
+sys/sem.h
+sys/semaphore.h
+sys/shm.h
+sys/signal.h
+sys/signalvar.h
+sys/socket.h
+sys/socketvar.h
+sys/sockio.h
+sys/spawn.h
+sys/stat.h
+sys/statvfs.h
+sys/stdio.h
+sys/sys_domain.h
+sys/syscall.h
+sys/sysctl.h
+sys/syslimits.h
+sys/syslog.h
+sys/termios.h
+sys/time.h
+sys/timeb.h
+sys/times.h
+sys/tprintf.h
+sys/trace.h
+sys/tty.h
+sys/ttychars.h
+sys/ttycom.h
+sys/ttydefaults.h
+sys/ttydev.h
+sys/types.h
+sys/ubc.h
+sys/ucontext.h
+sys/ucred.h
+sys/uio.h
+sys/un.h
+sys/unistd.h
+sys/unpcb.h
+sys/user.h
+sys/utfconv.h
+sys/utsname.h
+sys/vadvise.h
+sys/vcmd.h
+sys/vm.h
+sys/vmmeter.h
+sys/vmparam.h
+sys/vnioctl.h
+sys/vnode.h
+sys/vnode_if.h
+sys/vstat.h
+sys/wait.h
+sys/xattr.h
+sysexits.h
+syslog.h
+tar.h
+term.h
+term_entry.h
+termcap.h
+termios.h
+thread_data.h
+tic.h
+time.h
+timeconv.h
+ttyent.h
+tzfile.h
+tzlink.h
+tzlink_internal.h
+ucontext.h
+ulimit.h
+unctrl.h
+unistd.h
+util.h
+utime.h
+utmpx.h
+utmpx_thread.h
+uuid/uuid.h
+vfs/vfs_support.h
+vis.h
+voucher/ipc_pthread_priority_types.h
+vproc.h
+vproc_internal.h
+vproc_priv.h
+wchar.h
+wctype.h
+wipefs.h
+wordexp.h
+xlocale.h
+xlocale/__wctype.h
+xlocale/_ctype.h
+xlocale/_inttypes.h
+xlocale/_langinfo.h
+xlocale/_monetary.h
+xlocale/_regex.h
+xlocale/_stdio.h
+xlocale/_stdlib.h
+xlocale/_string.h
+xlocale/_time.h
+xlocale/_wchar.h
+xlocale/_wctype.h
diff --git a/pkgs/os-specific/darwin/apple-source-releases/architecture/default.nix b/pkgs/os-specific/darwin/apple-source-releases/architecture/default.nix
index 5a3b171021613..74327bc4c4285 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/architecture/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/architecture/default.nix
@@ -13,6 +13,24 @@ appleDerivation {
 
   DSTROOT = "$(out)";
 
+  appleHeaders = ''
+    architecture/alignment.h
+    architecture/byte_order.h
+    architecture/i386/alignment.h
+    architecture/i386/asm_help.h
+    architecture/i386/byte_order.h
+    architecture/i386/cpu.h
+    architecture/i386/desc.h
+    architecture/i386/fpu.h
+    architecture/i386/frame.h
+    architecture/i386/io.h
+    architecture/i386/pio.h
+    architecture/i386/reg_help.h
+    architecture/i386/sel.h
+    architecture/i386/table.h
+    architecture/i386/tss.h
+  '';
+
   meta = with lib; {
     maintainers = with maintainers; [ copumpkin ];
     platforms   = platforms.darwin;
diff --git a/pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/default.nix
index 27a7f7b3e7c55..002709ce2df29 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/default.nix
@@ -5,25 +5,14 @@ appleDerivation {
 
   buildPhase = ''
     cd migcom.tproj
+
+    # redundant file, don't know why apple not removing it.
+    rm handler.c
+
     yacc -d parser.y
     flex --header-file=lexxer.yy.h -o lexxer.yy.c lexxer.l
 
-    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o error.o error.c
-    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o global.o global.c
-    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o handler.o header.c
-    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o header.o header.c
-    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o mig.o mig.c
-    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o routine.o routine.c
-    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o server.o server.c
-    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o statement.o statement.c
-    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o string.o string.c
-    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o type.o type.c
-    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o user.o user.c
-    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o utils.o utils.c
-    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o lexxer.yy.o lexxer.yy.c
-    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o y.tab.o y.tab.c
-
-    cc -dead_strip -o migcom error.o global.o header.o mig.o routine.o server.o statement.o string.o type.o user.o utils.o lexxer.yy.o y.tab.o
+    cc -std=gnu99 -Os -dead_strip -DMIG_VERSION=\"$pname-$version\" -I. -o migcom *.c
   '';
 
   installPhase = ''
@@ -42,8 +31,4 @@ appleDerivation {
       --replace '/bin/rmdir' "rmdir" \
       --replace 'C=''${MIGCC}' "C=cc"
   '';
-
-  meta = {
-    platforms = lib.platforms.darwin;
-  };
 }
diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix
index 12176fd526c82..2343493154217 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix
@@ -1,6 +1,9 @@
 { lib, stdenv, fetchurl, fetchzip, pkgs }:
 
 let
+  macosPackages_11_0_1 = import ./macos-11.0.1.nix { inherit applePackage'; };
+  developerToolsPackages_11_3_1 = import ./developer-tools-11.3.1.nix { inherit applePackage'; };
+
   # This attrset can in theory be computed automatically, but for that to work nicely we need
   # import-from-derivation to work properly. Currently it's rather ugly when we try to bootstrap
   # a stdenv out of something like this. With some care we can probably get rid of this, but for
@@ -57,6 +60,9 @@ let
       libplatform   = "125";
       mDNSResponder = "625.41.2";
 
+      # IOKit contains a set of packages with different versions, so we don't have a general version
+      IOKit         = "";
+
       libutil       = "43";
       libunwind     = "35.3";
       Librpcsvc     = "26";
@@ -135,35 +141,65 @@ let
     };
   };
 
-  fetchApple = version: sha256: name: let
+  fetchApple' = pname: version: sha256: let
     # When cross-compiling, fetchurl depends on libiconv, resulting
     # in an infinite recursion without this. It's not clear why this
     # worked fine when not cross-compiling
-    fetch = if name == "libiconv"
+    fetch = if pname == "libiconv"
       then stdenv.fetchurlBoot
       else fetchurl;
   in fetch {
-    url = "http://www.opensource.apple.com/tarballs/${name}/${name}-${versions.${version}.${name}}.tar.gz";
+    url = "http://www.opensource.apple.com/tarballs/${pname}/${pname}-${version}.tar.gz";
     inherit sha256;
   };
 
-  appleDerivation_ = name: version: sha256: attrs: stdenv.mkDerivation ({
-    inherit version;
-    name = "${name}-${version}";
+  fetchApple = sdkName: sha256: pname: let
+    version = versions.${sdkName}.${pname};
+  in fetchApple' pname version sha256;
+
+  appleDerivation' = pname: version: sdkName: sha256: attrs: stdenv.mkDerivation ({
+    inherit pname version;
+
+    src = if attrs ? srcs then null else (fetchApple' pname version sha256);
+
     enableParallelBuilding = true;
-    meta = {
-      platforms = lib.platforms.darwin;
-    };
-  } // (if attrs ? srcs then {} else {
-    src  = fetchApple version sha256 name;
-  }) // attrs);
 
-  applePackage = namePath: version: sha256:
-    let
-      name = builtins.elemAt (lib.splitString "/" namePath) 0;
-      appleDerivation = appleDerivation_ name version sha256;
-      callPackage = pkgs.newScope (packages // pkgs.darwin // { inherit appleDerivation name version; });
-    in callPackage (./. + "/${namePath}");
+    # In rare cases, APPLE may drop some headers quietly on new release.
+    doInstallCheck = attrs ? appleHeaders;
+    passAsFile = [ "appleHeaders" ];
+    installCheckPhase = ''
+      cd $out/include
+
+      result=$(diff -u "$appleHeadersPath" <(find * -type f | sort) --label "Listed in appleHeaders" --label "Found in \$out/include" || true)
+
+      if [ -z "$result" ]; then
+        echo "Apple header list is matched."
+      else
+        echo >&2 "\
+      Apple header list is inconsistent, please ensure no header file is unexpectedly dropped.
+      $result
+      "
+        exit 1
+      fi
+    '';
+
+  } // attrs // {
+    meta = (with lib; {
+      platforms = platforms.darwin;
+      license = licenses.apsl20;
+    }) // (attrs.meta or {});
+  });
+
+  applePackage' = namePath: version: sdkName: sha256: let
+    pname = builtins.head (lib.splitString "/" namePath);
+    appleDerivation = appleDerivation' pname version sdkName sha256;
+    callPackage = pkgs.newScope (packages // pkgs.darwin // { inherit appleDerivation; });
+  in callPackage (./. + "/${namePath}");
+
+  applePackage = namePath: sdkName: sha256: let
+    pname = builtins.head (lib.splitString "/" namePath);
+    version = versions.${sdkName}.${pname};
+  in applePackage' namePath version sdkName sha256;
 
   IOKitSpecs = {
     IOAudioFamily                        = fetchApple "osx-10.10.5" "0ggq7za3iq8g02j16rj67prqhrw828jsw3ah3bxq8a1cvr55aqnq";
@@ -192,10 +228,10 @@ let
   # Only used for bootstrapping. It’s convenient because it was the last version to come with a real makefile.
   adv_cmds-boot = applePackage "adv_cmds/boot.nix" "osx-10.5.8" "102ssayxbg9wb35mdmhswbnw0bg7js3pfd8fcbic83c5q3bqa6c6" {};
 
-  packages = {
+  # TODO: shorten this list, we should cut down to a minimum set of bootstrap or necessary packages here.
+  stubPackages = {
     inherit (adv_cmds-boot) ps locale;
     architecture    = applePackage "architecture"      "osx-10.11.6"     "1pbpjcd7is69hn8y29i98ci0byik826if8gnp824ha92h90w0fq3" {};
-    bootstrap_cmds  = applePackage "bootstrap_cmds"    "dev-tools-7.0"   "1v5dv2q3af1xwj5kz0a5g54fd5dm6j4c9dd2g66n4kc44ixyrhp3" {};
     bsdmake         = applePackage "bsdmake"           "dev-tools-3.2.6" "11a9kkhz5bfgi1i8kpdkis78lhc6b5vxmhd598fcdgra1jw4iac2" {};
     CarbonHeaders   = applePackage "CarbonHeaders"     "osx-10.6.2"      "1zam29847cxr6y9rnl76zqmkbac53nx0szmqm9w5p469a6wzjqar" {};
     CommonCrypto    = applePackage "CommonCrypto"      "osx-10.12.6"     "0sgsqjcxbdm2g2zfpc50mzmk4b4ldyw7xvvkwiayhpczg1fga4ff" {};
@@ -207,7 +243,6 @@ let
     dtrace          = applePackage "dtrace"            "osx-10.12.6"     "0hpd6348av463yqf70n3xkygwmf1i5zza8kps4zys52sviqz3a0l" {};
     dyld            = applePackage "dyld"              "osx-10.12.6"     "0q4jmk78b5ajn33blh4agyq6v2a63lpb3fln78az0dy12bnp1qqk" {};
     eap8021x        = applePackage "eap8021x"          "osx-10.11.6"     "0iw0qdib59hihyx2275rwq507bq2a06gaj8db4a8z1rkaj1frskh" {};
-    ICU             = applePackage "ICU"               "osx-10.10.5"     "1qihlp42n5g4dl0sn0f9pc0bkxy1452dxzf0vr6y5gqpshlzy03p" {};
     IOKit           = applePackage "IOKit"             "osx-10.11.6"     "0kcbrlyxcyirvg5p95hjd9k8a01k161zg0bsfgfhkb90kh2s8x00" { inherit IOKitSrcs; };
     launchd         = applePackage "launchd"           "osx-10.9.5"      "0w30hvwqq8j5n90s3qyp0fccxflvrmmjnicjri4i1vd2g196jdgj" {};
     libauto         = applePackage "libauto"           "osx-10.9.5"      "17z27yq5d7zfkwr49r7f0vn9pxvj95884sd2k6lq6rfaz9gxqhy3" {};
@@ -254,6 +289,8 @@ let
 
     # TODO(matthewbauer):
     # To be removed, once I figure out how to build a newer Security version.
-    Security      = applePackage "Security/boot.nix" "osx-10.9.5"      "1nv0dczf67dhk17hscx52izgdcyacgyy12ag0jh6nl5hmfzsn8yy" {};
+    Security        = applePackage "Security/boot.nix" "osx-10.9.5"      "1nv0dczf67dhk17hscx52izgdcyacgyy12ag0jh6nl5hmfzsn8yy" {};
   };
+
+  packages = developerToolsPackages_11_3_1 // macosPackages_11_0_1 // stubPackages;
 in packages
diff --git a/pkgs/os-specific/darwin/apple-source-releases/developer-tools-11.3.1.nix b/pkgs/os-specific/darwin/apple-source-releases/developer-tools-11.3.1.nix
new file mode 100644
index 0000000000000..f57d224615f4b
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/developer-tools-11.3.1.nix
@@ -0,0 +1,8 @@
+# Generated using:  ./generate-sdk-packages.sh developer-tools 11.3.1
+
+{ applePackage' }:
+
+{
+bootstrap_cmds = applePackage' "bootstrap_cmds" "116" "developer-tools-11.3.1" "148xpqkf5xzpslqxch5l8h6vsz7sys8sdzk4ghbg9mkcivp8qa03" {};
+developer_cmds = applePackage' "developer_cmds" "66" "developer-tools-11.3.1" "0q08m4cxxwph7gxqravmx13l418p1i050bd46zwksn9j9zpw9mlr" {};
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/generate-sdk-packages.sh b/pkgs/os-specific/darwin/apple-source-releases/generate-sdk-packages.sh
new file mode 100755
index 0000000000000..d7c3fc89c525b
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/generate-sdk-packages.sh
@@ -0,0 +1,29 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl
+
+# usage:
+#   generate-sdk-packages.sh macos 11.0.1
+
+cd $(dirname "$0")
+
+sdkName="$1-$2"
+outfile="$sdkName.nix"
+
+>$outfile echo "# Generated using:  ./$(basename "$0") $1 $2
+
+{ applePackage' }:
+
+{"
+
+parse_line() {
+    readarray -t -d$'\t' package <<<$2
+    local pname=${package[0]} version=${package[1]}
+
+    if [ -d $pname ]; then
+        sha256=$(nix-prefetch-url "https://opensource.apple.com/tarballs/$pname/$pname-$version.tar.gz")
+        >>$outfile echo "$pname = applePackage' \"$pname\" \"$version\" \"$sdkName\" \"$sha256\" {};"
+    fi
+}
+readarray -s1 -c1 -C parse_line < <(curl -sS "https://opensource.apple.com/text/${sdkName//./}.txt")
+
+>>$outfile echo '}'
diff --git a/pkgs/os-specific/darwin/apple-source-releases/hfs/default.nix b/pkgs/os-specific/darwin/apple-source-releases/hfs/default.nix
index 58f6fb8d7ab35..58bac765a959c 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/hfs/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/hfs/default.nix
@@ -1,4 +1,4 @@
-{ appleDerivation, lib, headersOnly ? false }:
+{ appleDerivation, lib, headersOnly ? true }:
 
 appleDerivation {
   installPhase = lib.optionalString headersOnly ''
@@ -6,6 +6,39 @@ appleDerivation {
     cp core/*.h $out/include/hfs
   '';
 
+  appleHeaders = ''
+    hfs/BTreeScanner.h
+    hfs/BTreesInternal.h
+    hfs/BTreesPrivate.h
+    hfs/CatalogPrivate.h
+    hfs/FileMgrInternal.h
+    hfs/HFSUnicodeWrappers.h
+    hfs/UCStringCompareData.h
+    hfs/hfs.h
+    hfs/hfs_alloc_trace.h
+    hfs/hfs_attrlist.h
+    hfs/hfs_btreeio.h
+    hfs/hfs_catalog.h
+    hfs/hfs_cnode.h
+    hfs/hfs_cprotect.h
+    hfs/hfs_dbg.h
+    hfs/hfs_endian.h
+    hfs/hfs_extents.h
+    hfs/hfs_format.h
+    hfs/hfs_fsctl.h
+    hfs/hfs_hotfiles.h
+    hfs/hfs_iokit.h
+    hfs/hfs_journal.h
+    hfs/hfs_kdebug.h
+    hfs/hfs_key_roll.h
+    hfs/hfs_macos_defs.h
+    hfs/hfs_mount.h
+    hfs/hfs_quota.h
+    hfs/hfs_unistr.h
+    hfs/kext-config.h
+    hfs/rangelist.h
+  '';
+
   meta = {
     # Seems nobody wants its binary, so we didn't implement building.
     broken = !headersOnly;
diff --git a/pkgs/os-specific/darwin/apple-source-releases/launchd/default.nix b/pkgs/os-specific/darwin/apple-source-releases/launchd/default.nix
index eed7982e9d8cc..c882b83d0a384 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/launchd/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/launchd/default.nix
@@ -9,4 +9,18 @@ appleDerivation {
     cp liblaunch/bootstrap.h $out/include/servers
     cp liblaunch/bootstrap.h $out/include/servers/bootstrap_defs.h
   '';
+
+  appleHeaders = ''
+    bootstrap.h
+    bootstrap_priv.h
+    launch.h
+    launch_internal.h
+    launch_priv.h
+    reboot2.h
+    servers/bootstrap.h
+    servers/bootstrap_defs.h
+    vproc.h
+    vproc_internal.h
+    vproc_priv.h
+  '';
 }
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libclosure/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libclosure/default.nix
index ac33a24a8b4e6..d42a288208c5b 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libclosure/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libclosure/default.nix
@@ -5,4 +5,9 @@ appleDerivation {
     mkdir -p $out/include
     cp *.h $out/include/
   '';
+
+  appleHeaders = ''
+    Block.h
+    Block_private.h
+  '';
 }
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix
index e7aa47bdb6b1f..3b9d4a34cc63a 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libdispatch/default.nix
@@ -22,4 +22,33 @@ appleDerivation {
                  typedef void* dispatch_block_t;
                  #endif'
   '';
+
+  appleHeaders = ''
+    dispatch/base.h
+    dispatch/benchmark.h
+    dispatch/block.h
+    dispatch/data.h
+    dispatch/data_private.h
+    dispatch/dispatch.h
+    dispatch/group.h
+    dispatch/introspection.h
+    dispatch/introspection_private.h
+    dispatch/io.h
+    dispatch/io_private.h
+    dispatch/layout_private.h
+    dispatch/mach_private.h
+    dispatch/object.h
+    dispatch/once.h
+    dispatch/private.h
+    dispatch/queue.h
+    dispatch/queue_private.h
+    dispatch/semaphore.h
+    dispatch/source.h
+    dispatch/source_private.h
+    dispatch/time.h
+    os/object.h
+    os/object_private.h
+    os/voucher_activity_private.h
+    os/voucher_private.h
+  '';
 }
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libplatform/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libplatform/default.nix
index 4fd0ab8a7fb22..9acbcb212e4d8 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libplatform/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libplatform/default.nix
@@ -5,4 +5,28 @@ appleDerivation {
     mkdir $out
     cp -r include $out/include
   '';
+
+  appleHeaders = ''
+    _simple.h
+    libkern/OSAtomic.h
+    libkern/OSAtomicDeprecated.h
+    libkern/OSAtomicQueue.h
+    libkern/OSCacheControl.h
+    libkern/OSSpinLockDeprecated.h
+    os/alloc_once_impl.h
+    os/base.h
+    os/base_private.h
+    os/internal/atomic.h
+    os/internal/crashlog.h
+    os/internal/internal_shared.h
+    os/lock.h
+    os/lock_private.h
+    os/once_private.h
+    os/semaphore_private.h
+    platform/compat.h
+    platform/introspection_private.h
+    platform/string.h
+    setjmp.h
+    ucontext.h
+  '';
 }
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libpthread/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libpthread/default.nix
index d9a9beaccfc8a..20eccd8205970 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libpthread/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libpthread/default.nix
@@ -15,6 +15,40 @@ appleDerivation {
     cp -r sys/_pthread/*.h $out/include/sys/_types/
   '';
 
+  appleHeaders = ''
+    pthread/introspection.h
+    pthread/pthread.h
+    pthread/pthread_impl.h
+    pthread/pthread_spis.h
+    pthread/qos.h
+    pthread/sched.h
+    pthread/spawn.h
+    sys/_pthread/_pthread_attr_t.h
+    sys/_pthread/_pthread_cond_t.h
+    sys/_pthread/_pthread_condattr_t.h
+    sys/_pthread/_pthread_key_t.h
+    sys/_pthread/_pthread_mutex_t.h
+    sys/_pthread/_pthread_mutexattr_t.h
+    sys/_pthread/_pthread_once_t.h
+    sys/_pthread/_pthread_rwlock_t.h
+    sys/_pthread/_pthread_rwlockattr_t.h
+    sys/_pthread/_pthread_t.h
+    sys/_pthread/_pthread_types.h
+    sys/_types/_pthread_attr_t.h
+    sys/_types/_pthread_cond_t.h
+    sys/_types/_pthread_condattr_t.h
+    sys/_types/_pthread_key_t.h
+    sys/_types/_pthread_mutex_t.h
+    sys/_types/_pthread_mutexattr_t.h
+    sys/_types/_pthread_once_t.h
+    sys/_types/_pthread_rwlock_t.h
+    sys/_types/_pthread_rwlockattr_t.h
+    sys/_types/_pthread_t.h
+    sys/_types/_pthread_types.h
+    sys/qos.h
+    sys/qos_private.h
+  '';
+
   meta = {
     platforms = lib.platforms.darwin;
   };
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libutil/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libutil/default.nix
index 2b196e46ef450..ea9ca75e7e54b 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libutil/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libutil/default.nix
@@ -27,6 +27,14 @@ appleDerivation {
     install_name_tool -id $out/lib/libutil.dylib $out/lib/libutil.dylib
   '';
 
+  # FIXME: headers are different against headersOnly. And all the headers are NOT in macos, do we really want them?
+  # appleHeaders = ''
+  #   libutil.h
+  #   mntopts.h
+  #   tzlink.h
+  #   wipefs.h
+  # '';
+
   meta = with lib; {
     maintainers = with maintainers; [ copumpkin ];
     platforms   = platforms.darwin;
diff --git a/pkgs/os-specific/darwin/apple-source-releases/macos-11.0.1.nix b/pkgs/os-specific/darwin/apple-source-releases/macos-11.0.1.nix
new file mode 100644
index 0000000000000..517f53e9435da
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/macos-11.0.1.nix
@@ -0,0 +1,46 @@
+# Generated using:  ./generate-sdk-packages.sh macos 11.0.1
+
+{ applePackage' }:
+
+{
+adv_cmds = applePackage' "adv_cmds" "176" "macos-11.0.1" "0x8c25rh6fnzndbc26vcb65vcxilvqyfvm2klfyci1wr4bh3ixgk" {};
+architecture = applePackage' "architecture" "279" "macos-11.0.1" "1cgp33ywa30max6cyp69kvii299hx2vgwvmy3ms8n4gaq2mkpaky" {};
+basic_cmds = applePackage' "basic_cmds" "55" "macos-11.0.1" "0hvab4b1v5q2x134hdkal0rmz5gsdqyki1vb0dbw4py1bqf0yaw9" {};
+bootstrap_cmds = applePackage' "bootstrap_cmds" "121" "macos-11.0.1" "09bwclws6adxb1ky9q35f4ikddk4mbalmgds0cmqaf7j23qxl3fv" {};
+CommonCrypto = applePackage' "CommonCrypto" "60178.40.2" "macos-11.0.1" "0r3b1mlfmbdzpwn6pbsbfaga3k63gpwcwbhkbi4r09aq82skl02v" {};
+configd = applePackage' "configd" "1109.40.9" "macos-11.0.1" "173i55wfzli9pg2x2rw437hs68h6l4ngss5jfgf18g26zjkjzv5v" {};
+copyfile = applePackage' "copyfile" "173.40.2" "macos-11.0.1" "0qyp15qj3fdb7yx033n57l7s61d70mv17f43yiwcbhx09mmlrp07" {};
+Csu = applePackage' "Csu" "88" "macos-11.0.1" "029lgcyj0i16036h2lcx6fd6r1yf1bkj5dnvz905rh6ncl8skgdr" {};
+diskdev_cmds = applePackage' "diskdev_cmds" "667.40.1" "macos-11.0.1" "1bqwkwkwd556rba5000ap77xrhaf4xnmy83mszd7a0yvl2xlma7j" {};
+dtrace = applePackage' "dtrace" "370.40.1" "macos-11.0.1" "1941yczmn94ng5zlnhf0i5mjw2f4g7znisgvhkhn5f86gxmd98wl" {};
+dyld = applePackage' "dyld" "832.7.1" "macos-11.0.1" "1s77ca6jg20z91qlph59da8j61m97y23vrw48xs4rywdzh4915n0" {};
+eap8021x = applePackage' "eap8021x" "304.40.1" "macos-11.0.1" "1ph3kcpf527s0jqsi60j2sgg3m8h128spf292d8kyc08siz9mf9c" {};
+file_cmds = applePackage' "file_cmds" "321.40.3" "macos-11.0.1" "04789vn1wghclfr3ma3ncg716xdsxfj66hrcxi5h3h1ryag2ycfz" {};
+hfs = applePackage' "hfs" "556.41.1" "macos-11.0.1" "1rhkmn2yj5p4wmi4aajy5hj2h0gxk63s8j4qz4ziy4g4bjpdgwmy" {};
+ICU = applePackage' "ICU" "66108" "macos-11.0.1" "1d76cyyqpwkzjlxfajm4nsglxmfrcafbnjwnjxc3j5w3nw67pqhx" {};
+Libc = applePackage' "Libc" "1439.40.11" "macos-11.0.1" "0d5xlnks4lc9391wg31c9126vflb40lc5ffkgxmf2kpyglac1280" {};
+libclosure = applePackage' "libclosure" "78" "macos-11.0.1" "089i2bl4agpnfplrg23xbzma1674g0w05988nxdps6ghxl4kz66f" {};
+libdispatch = applePackage' "libdispatch" "1271.40.12" "macos-11.0.1" "0z7r42zfb8y48f0nrw0qw7fanfvimycimgnrg3jig101kjvjar98" {};
+libiconv = applePackage' "libiconv" "59" "macos-11.0.1" "0hqbsqggjrr0sv6h70lcr3gabgk9inyc8aq1b30wibgjm6crjwpp" {};
+Libinfo = applePackage' "Libinfo" "542.40.3" "macos-11.0.1" "0y5x6wxd3mwn6my1jdp8qrak3y7x7sgjdmwyw9cvvbn3kg9v6z1p" {};
+Libnotify = applePackage' "Libnotify" "279.40.4" "macos-11.0.1" "0aswflxki877izp6sacv35sydn6a3639cflv3zhs3i7vkfbsvbf5" {};
+libplatform = applePackage' "libplatform" "254.40.4" "macos-11.0.1" "1mhi8n66864y98dr3n0pkqad3aqim800kn9bxzp6h5jf2jni3aql" {};
+libpthread = applePackage' "libpthread" "454.40.3" "macos-11.0.1" "18rb4dqjdf3krzi4hdj5i310gy49ipf01klbkp9g51i02a55gphq" {};
+libresolv = applePackage' "libresolv" "68" "macos-11.0.1" "1ysvg6d28xyaky9sn7giglnsflhjsbj17h3h3i6knlzxnzznpkql" {};
+Librpcsvc = applePackage' "Librpcsvc" "26" "macos-11.0.1" "1zwfwcl9irxl1dlnf2b4v30vdybp0p0r6n6g1pd14zbdci1jcg2k" {};
+Libsystem = applePackage' "Libsystem" "1292.50.1" "macos-11.0.1" "0w16zaigq18jfsnw15pfyz2mkfqdkn0cc16q617kmgw2khld8j7j" {};
+libunwind = applePackage' "libunwind" "200.10" "macos-11.0.1" "1pmymcqpfk7lfxh6zqch429vfpvmd2m1dlg898170pkx5zhxisl2" {};
+libutil = applePackage' "libutil" "58.40.2" "macos-11.0.1" "1hhgashfj9g4vjv02070c5pn818a5n0bh5l81l2pflmvb2rrqs3f" {};
+mDNSResponder = applePackage' "mDNSResponder" "1310.40.42" "macos-11.0.1" "0d0b9wwah9rg7rwrr29dxd6iy0y4rlmss3wcz2wcqmnd2qb9x8my" {};
+network_cmds = applePackage' "network_cmds" "606.40.2" "macos-11.0.1" "1dlslk67npvmxx5m50385kmn3ysxih2iv220hhzkin11f8abdjv7" {};
+objc4 = applePackage' "objc4" "818.2" "macos-11.0.1" "177gmh9m9ajy6mvcd2sf7gqydgljy44n3iih0yqsn1b13j784azx" {};
+PowerManagement = applePackage' "PowerManagement" "1132.50.3" "macos-11.0.1" "1n5yn6sc8w67g8iism6ilkyl33j46gcnlqcaq6k16zkngx6lprba" {};
+ppp = applePackage' "ppp" "877.40.2" "macos-11.0.1" "1z506z8ndvb1lfr4pypfy2bnig6qimhmq3yhjvqwfnliv91965iq" {};
+removefile = applePackage' "removefile" "49.40.3" "macos-11.0.1" "1fhp47awi15f02385r25qgw1ag5z0kr1v3kvgqm3r8i8yysfqvwp" {};
+Security = applePackage' "Security" "59754.41.1" "macos-11.0.1" "00kqgg7k80ba70ar2c02f0q9yrdgqcb56nb9z5g0bxwkvi40ryph" {};
+shell_cmds = applePackage' "shell_cmds" "216.40.4" "macos-11.0.1" "1mvp1fp34kkm4mi85fdn3i0l0gig4c0w09zg2mvkpxcf68cq2f69" {};
+system_cmds = applePackage' "system_cmds" "880.40.5" "macos-11.0.1" "1kys4vwfz4559sspdsfhmxc238nd8qgylqypza3zdzaqhfh7lx2x" {};
+text_cmds = applePackage' "text_cmds" "106" "macos-11.0.1" "0cpnfpllwpx20hbxzg5i5488gcjyi9adnbac1sd5hpv3bq6z1hs5" {};
+top = applePackage' "top" "129" "macos-11.0.1" "1nyz5mvq7js3zhsi3dwxl5fslg6m7nhlgc6p2hr889xgyl5prw8f" {};
+xnu = applePackage' "xnu" "7195.50.7.100.1" "macos-11.0.1" "14wqkqp3lcxgpm1sjnsysybrc4ppzkghwv3mb5nr5v8ml37prkib" {};
+}
diff --git a/pkgs/os-specific/darwin/apple-source-releases/removefile/default.nix b/pkgs/os-specific/darwin/apple-source-releases/removefile/default.nix
index 2b45fbdb45e28..0b2c1c9c7dcc3 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/removefile/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/removefile/default.nix
@@ -5,4 +5,9 @@ appleDerivation {
     mkdir -p $out/include/
     cp removefile.h checkint.h $out/include/
   '';
+
+  appleHeaders = ''
+    checkint.h
+    removefile.h
+  '';
 }
diff --git a/pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix b/pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix
index da2d0c5dc7bf0..9892814468e9b 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/xnu/default.nix
@@ -127,6 +127,8 @@ appleDerivation ({
     mkdir $out/Library/PrivateFrameworks
     mv $out/Library/Frameworks/IOKit.framework $out/Library/PrivateFrameworks
   '';
+
+  appleHeaders = builtins.readFile ./headers.txt;
 } // lib.optionalAttrs headersOnly {
   HOST_CODESIGN = "echo";
   HOST_CODESIGN_ALLOCATE = "echo";
diff --git a/pkgs/os-specific/darwin/apple-source-releases/xnu/headers.txt b/pkgs/os-specific/darwin/apple-source-releases/xnu/headers.txt
new file mode 100644
index 0000000000000..93c0dbb18bf7b
--- /dev/null
+++ b/pkgs/os-specific/darwin/apple-source-releases/xnu/headers.txt
@@ -0,0 +1,1318 @@
+AssertMacros.h
+_errno.h
+_libkernel_init.h
+atm/atm_notification.defs
+atm/atm_types.defs
+atm/atm_types.h
+bank/bank_types.h
+bsd/bsm/audit.h
+bsd/dev/random/randomdev.h
+bsd/i386/_limits.h
+bsd/i386/_mcontext.h
+bsd/i386/_param.h
+bsd/i386/_types.h
+bsd/i386/endian.h
+bsd/i386/limits.h
+bsd/i386/param.h
+bsd/i386/profile.h
+bsd/i386/signal.h
+bsd/i386/types.h
+bsd/i386/vmparam.h
+bsd/libkern/libkern.h
+bsd/machine/_limits.h
+bsd/machine/_mcontext.h
+bsd/machine/_param.h
+bsd/machine/_types.h
+bsd/machine/byte_order.h
+bsd/machine/disklabel.h
+bsd/machine/endian.h
+bsd/machine/limits.h
+bsd/machine/param.h
+bsd/machine/profile.h
+bsd/machine/signal.h
+bsd/machine/spl.h
+bsd/machine/types.h
+bsd/machine/vmparam.h
+bsd/miscfs/devfs/devfs.h
+bsd/miscfs/devfs/devfs_proto.h
+bsd/miscfs/devfs/devfsdefs.h
+bsd/miscfs/devfs/fdesc.h
+bsd/miscfs/fifofs/fifo.h
+bsd/miscfs/specfs/specdev.h
+bsd/miscfs/union/union.h
+bsd/net/bpf.h
+bsd/net/dlil.h
+bsd/net/ethernet.h
+bsd/net/if.h
+bsd/net/if_arp.h
+bsd/net/if_dl.h
+bsd/net/if_ether.h
+bsd/net/if_llc.h
+bsd/net/if_media.h
+bsd/net/if_mib.h
+bsd/net/if_types.h
+bsd/net/if_utun.h
+bsd/net/if_var.h
+bsd/net/init.h
+bsd/net/kext_net.h
+bsd/net/kpi_interface.h
+bsd/net/kpi_interfacefilter.h
+bsd/net/kpi_protocol.h
+bsd/net/ndrv.h
+bsd/net/net_kev.h
+bsd/net/pfkeyv2.h
+bsd/net/radix.h
+bsd/net/route.h
+bsd/netinet/bootp.h
+bsd/netinet/icmp6.h
+bsd/netinet/icmp_var.h
+bsd/netinet/if_ether.h
+bsd/netinet/igmp.h
+bsd/netinet/igmp_var.h
+bsd/netinet/in.h
+bsd/netinet/in_arp.h
+bsd/netinet/in_pcb.h
+bsd/netinet/in_systm.h
+bsd/netinet/in_var.h
+bsd/netinet/ip.h
+bsd/netinet/ip6.h
+bsd/netinet/ip_icmp.h
+bsd/netinet/ip_var.h
+bsd/netinet/kpi_ipfilter.h
+bsd/netinet/tcp.h
+bsd/netinet/tcp_fsm.h
+bsd/netinet/tcp_seq.h
+bsd/netinet/tcp_timer.h
+bsd/netinet/tcp_var.h
+bsd/netinet/tcpip.h
+bsd/netinet/udp.h
+bsd/netinet/udp_var.h
+bsd/netinet6/ah.h
+bsd/netinet6/esp.h
+bsd/netinet6/in6.h
+bsd/netinet6/in6_var.h
+bsd/netinet6/ipcomp.h
+bsd/netinet6/ipsec.h
+bsd/netinet6/nd6.h
+bsd/netinet6/raw_ip6.h
+bsd/netinet6/scope6_var.h
+bsd/netkey/keysock.h
+bsd/security/audit/audit.h
+bsd/security/audit/audit_bsd.h
+bsd/security/audit/audit_ioctl.h
+bsd/security/audit/audit_private.h
+bsd/sys/_endian.h
+bsd/sys/_select.h
+bsd/sys/_structs.h
+bsd/sys/_types.h
+bsd/sys/_types/_blkcnt_t.h
+bsd/sys/_types/_blksize_t.h
+bsd/sys/_types/_clock_t.h
+bsd/sys/_types/_ct_rune_t.h
+bsd/sys/_types/_dev_t.h
+bsd/sys/_types/_errno_t.h
+bsd/sys/_types/_fd_clr.h
+bsd/sys/_types/_fd_copy.h
+bsd/sys/_types/_fd_def.h
+bsd/sys/_types/_fd_isset.h
+bsd/sys/_types/_fd_set.h
+bsd/sys/_types/_fd_setsize.h
+bsd/sys/_types/_fd_zero.h
+bsd/sys/_types/_filesec_t.h
+bsd/sys/_types/_fsblkcnt_t.h
+bsd/sys/_types/_fsfilcnt_t.h
+bsd/sys/_types/_fsid_t.h
+bsd/sys/_types/_fsobj_id_t.h
+bsd/sys/_types/_gid_t.h
+bsd/sys/_types/_guid_t.h
+bsd/sys/_types/_id_t.h
+bsd/sys/_types/_in_addr_t.h
+bsd/sys/_types/_in_port_t.h
+bsd/sys/_types/_ino64_t.h
+bsd/sys/_types/_ino_t.h
+bsd/sys/_types/_int16_t.h
+bsd/sys/_types/_int32_t.h
+bsd/sys/_types/_int64_t.h
+bsd/sys/_types/_int8_t.h
+bsd/sys/_types/_intptr_t.h
+bsd/sys/_types/_iovec_t.h
+bsd/sys/_types/_key_t.h
+bsd/sys/_types/_mach_port_t.h
+bsd/sys/_types/_mbstate_t.h
+bsd/sys/_types/_mode_t.h
+bsd/sys/_types/_nlink_t.h
+bsd/sys/_types/_null.h
+bsd/sys/_types/_o_dsync.h
+bsd/sys/_types/_o_sync.h
+bsd/sys/_types/_off_t.h
+bsd/sys/_types/_offsetof.h
+bsd/sys/_types/_os_inline.h
+bsd/sys/_types/_pid_t.h
+bsd/sys/_types/_posix_vdisable.h
+bsd/sys/_types/_ptrdiff_t.h
+bsd/sys/_types/_rsize_t.h
+bsd/sys/_types/_rune_t.h
+bsd/sys/_types/_s_ifmt.h
+bsd/sys/_types/_sa_family_t.h
+bsd/sys/_types/_seek_set.h
+bsd/sys/_types/_sigaltstack.h
+bsd/sys/_types/_sigset_t.h
+bsd/sys/_types/_size_t.h
+bsd/sys/_types/_socklen_t.h
+bsd/sys/_types/_ssize_t.h
+bsd/sys/_types/_suseconds_t.h
+bsd/sys/_types/_time_t.h
+bsd/sys/_types/_timespec.h
+bsd/sys/_types/_timeval.h
+bsd/sys/_types/_timeval32.h
+bsd/sys/_types/_timeval64.h
+bsd/sys/_types/_u_int16_t.h
+bsd/sys/_types/_u_int32_t.h
+bsd/sys/_types/_u_int64_t.h
+bsd/sys/_types/_u_int8_t.h
+bsd/sys/_types/_ucontext.h
+bsd/sys/_types/_ucontext64.h
+bsd/sys/_types/_uid_t.h
+bsd/sys/_types/_uintptr_t.h
+bsd/sys/_types/_useconds_t.h
+bsd/sys/_types/_user32_itimerval.h
+bsd/sys/_types/_user32_timespec.h
+bsd/sys/_types/_user32_timeval.h
+bsd/sys/_types/_user64_itimerval.h
+bsd/sys/_types/_user64_timespec.h
+bsd/sys/_types/_user64_timeval.h
+bsd/sys/_types/_user_timespec.h
+bsd/sys/_types/_user_timeval.h
+bsd/sys/_types/_uuid_t.h
+bsd/sys/_types/_va_list.h
+bsd/sys/_types/_wchar_t.h
+bsd/sys/_types/_wint_t.h
+bsd/sys/appleapiopts.h
+bsd/sys/attr.h
+bsd/sys/bsdtask_info.h
+bsd/sys/buf.h
+bsd/sys/cdefs.h
+bsd/sys/codesign.h
+bsd/sys/conf.h
+bsd/sys/content_protection.h
+bsd/sys/cprotect.h
+bsd/sys/csr.h
+bsd/sys/decmpfs.h
+bsd/sys/dir.h
+bsd/sys/dirent.h
+bsd/sys/disk.h
+bsd/sys/disklabel.h
+bsd/sys/disktab.h
+bsd/sys/dkstat.h
+bsd/sys/doc_tombstone.h
+bsd/sys/domain.h
+bsd/sys/errno.h
+bsd/sys/ev.h
+bsd/sys/event.h
+bsd/sys/eventvar.h
+bsd/sys/fbt.h
+bsd/sys/fcntl.h
+bsd/sys/file.h
+bsd/sys/file_internal.h
+bsd/sys/filedesc.h
+bsd/sys/fileport.h
+bsd/sys/filio.h
+bsd/sys/fsctl.h
+bsd/sys/fsevents.h
+bsd/sys/fslog.h
+bsd/sys/guarded.h
+bsd/sys/imgact.h
+bsd/sys/ioccom.h
+bsd/sys/ioctl.h
+bsd/sys/ioctl_compat.h
+bsd/sys/ipc.h
+bsd/sys/kasl.h
+bsd/sys/kauth.h
+bsd/sys/kdebug.h
+bsd/sys/kdebugevents.h
+bsd/sys/kern_control.h
+bsd/sys/kern_event.h
+bsd/sys/kern_memorystatus.h
+bsd/sys/kernel.h
+bsd/sys/kernel_types.h
+bsd/sys/kpi_mbuf.h
+bsd/sys/kpi_private.h
+bsd/sys/kpi_socket.h
+bsd/sys/kpi_socketfilter.h
+bsd/sys/ktrace.h
+bsd/sys/linker_set.h
+bsd/sys/lock.h
+bsd/sys/lockf.h
+bsd/sys/mach_swapon.h
+bsd/sys/malloc.h
+bsd/sys/mbuf.h
+bsd/sys/md5.h
+bsd/sys/memory_maintenance.h
+bsd/sys/mman.h
+bsd/sys/mount.h
+bsd/sys/mount_internal.h
+bsd/sys/msg.h
+bsd/sys/msgbuf.h
+bsd/sys/munge.h
+bsd/sys/namei.h
+bsd/sys/netport.h
+bsd/sys/param.h
+bsd/sys/paths.h
+bsd/sys/persona.h
+bsd/sys/pgo.h
+bsd/sys/pipe.h
+bsd/sys/posix_sem.h
+bsd/sys/posix_shm.h
+bsd/sys/priv.h
+bsd/sys/proc.h
+bsd/sys/proc_info.h
+bsd/sys/proc_internal.h
+bsd/sys/protosw.h
+bsd/sys/pthread_internal.h
+bsd/sys/pthread_shims.h
+bsd/sys/queue.h
+bsd/sys/quota.h
+bsd/sys/random.h
+bsd/sys/reason.h
+bsd/sys/resource.h
+bsd/sys/resourcevar.h
+bsd/sys/sbuf.h
+bsd/sys/select.h
+bsd/sys/sem.h
+bsd/sys/sem_internal.h
+bsd/sys/semaphore.h
+bsd/sys/shm.h
+bsd/sys/shm_internal.h
+bsd/sys/signal.h
+bsd/sys/signalvar.h
+bsd/sys/socket.h
+bsd/sys/socketvar.h
+bsd/sys/sockio.h
+bsd/sys/spawn.h
+bsd/sys/spawn_internal.h
+bsd/sys/stackshot.h
+bsd/sys/stat.h
+bsd/sys/stdio.h
+bsd/sys/sys_domain.h
+bsd/sys/syscall.h
+bsd/sys/sysctl.h
+bsd/sys/syslimits.h
+bsd/sys/syslog.h
+bsd/sys/sysproto.h
+bsd/sys/systm.h
+bsd/sys/termios.h
+bsd/sys/time.h
+bsd/sys/tree.h
+bsd/sys/tty.h
+bsd/sys/ttychars.h
+bsd/sys/ttycom.h
+bsd/sys/ttydefaults.h
+bsd/sys/ttydev.h
+bsd/sys/types.h
+bsd/sys/ubc.h
+bsd/sys/ucontext.h
+bsd/sys/ucred.h
+bsd/sys/uio.h
+bsd/sys/uio_internal.h
+bsd/sys/ulock.h
+bsd/sys/un.h
+bsd/sys/unistd.h
+bsd/sys/unpcb.h
+bsd/sys/user.h
+bsd/sys/utfconv.h
+bsd/sys/vfs_context.h
+bsd/sys/vm.h
+bsd/sys/vmmeter.h
+bsd/sys/vmparam.h
+bsd/sys/vnode.h
+bsd/sys/vnode_if.h
+bsd/sys/vnode_internal.h
+bsd/sys/wait.h
+bsd/sys/xattr.h
+bsd/uuid/uuid.h
+bsd/vfs/vfs_support.h
+bsd/vm/vnode_pager.h
+bsm/audit.h
+bsm/audit_domain.h
+bsm/audit_errno.h
+bsm/audit_fcntl.h
+bsm/audit_internal.h
+bsm/audit_kevents.h
+bsm/audit_record.h
+bsm/audit_socket_type.h
+corecrypto/cc.h
+corecrypto/cc_config.h
+corecrypto/cc_debug.h
+corecrypto/cc_macros.h
+corecrypto/cc_priv.h
+corecrypto/ccaes.h
+corecrypto/ccasn1.h
+corecrypto/cccmac.h
+corecrypto/ccder.h
+corecrypto/ccdes.h
+corecrypto/ccdigest.h
+corecrypto/ccdigest_priv.h
+corecrypto/ccdrbg.h
+corecrypto/ccdrbg_impl.h
+corecrypto/cchmac.h
+corecrypto/ccmd5.h
+corecrypto/ccmode.h
+corecrypto/ccmode_factory.h
+corecrypto/ccmode_impl.h
+corecrypto/ccmode_siv.h
+corecrypto/ccn.h
+corecrypto/ccpad.h
+corecrypto/ccpbkdf2.h
+corecrypto/ccrc4.h
+corecrypto/ccrng.h
+corecrypto/ccrng_system.h
+corecrypto/ccrsa.h
+corecrypto/ccsha1.h
+corecrypto/ccsha2.h
+corecrypto/cczp.h
+corpses/task_corpse.h
+default_pager/default_pager_types.h
+device/device.defs
+device/device_port.h
+device/device_types.defs
+device/device_types.h
+gethostuuid.h
+gethostuuid_private.h
+i386/_limits.h
+i386/_mcontext.h
+i386/_param.h
+i386/_types.h
+i386/eflags.h
+i386/endian.h
+i386/fasttrap_isa.h
+i386/limits.h
+i386/param.h
+i386/profile.h
+i386/signal.h
+i386/types.h
+i386/user_ldt.h
+i386/vmparam.h
+iokit/IOKit/AppleKeyStoreInterface.h
+iokit/IOKit/IOBSD.h
+iokit/IOKit/IOBufferMemoryDescriptor.h
+iokit/IOKit/IOCPU.h
+iokit/IOKit/IOCatalogue.h
+iokit/IOKit/IOCommand.h
+iokit/IOKit/IOCommandGate.h
+iokit/IOKit/IOCommandPool.h
+iokit/IOKit/IOCommandQueue.h
+iokit/IOKit/IOConditionLock.h
+iokit/IOKit/IODMACommand.h
+iokit/IOKit/IODMAController.h
+iokit/IOKit/IODMAEventSource.h
+iokit/IOKit/IODataQueue.h
+iokit/IOKit/IODataQueueShared.h
+iokit/IOKit/IODeviceMemory.h
+iokit/IOKit/IODeviceTreeSupport.h
+iokit/IOKit/IOEventSource.h
+iokit/IOKit/IOFilterInterruptEventSource.h
+iokit/IOKit/IOHibernatePrivate.h
+iokit/IOKit/IOInterleavedMemoryDescriptor.h
+iokit/IOKit/IOInterruptAccounting.h
+iokit/IOKit/IOInterruptController.h
+iokit/IOKit/IOInterruptEventSource.h
+iokit/IOKit/IOInterrupts.h
+iokit/IOKit/IOKernelReportStructs.h
+iokit/IOKit/IOKernelReporters.h
+iokit/IOKit/IOKitDebug.h
+iokit/IOKit/IOKitDiagnosticsUserClient.h
+iokit/IOKit/IOKitKeys.h
+iokit/IOKit/IOKitKeysPrivate.h
+iokit/IOKit/IOKitServer.h
+iokit/IOKit/IOLib.h
+iokit/IOKit/IOLocks.h
+iokit/IOKit/IOLocksPrivate.h
+iokit/IOKit/IOMapper.h
+iokit/IOKit/IOMemoryCursor.h
+iokit/IOKit/IOMemoryDescriptor.h
+iokit/IOKit/IOMessage.h
+iokit/IOKit/IOMultiMemoryDescriptor.h
+iokit/IOKit/IONVRAM.h
+iokit/IOKit/IONotifier.h
+iokit/IOKit/IOPlatformExpert.h
+iokit/IOKit/IOPolledInterface.h
+iokit/IOKit/IORangeAllocator.h
+iokit/IOKit/IORegistryEntry.h
+iokit/IOKit/IOReportMacros.h
+iokit/IOKit/IOReportTypes.h
+iokit/IOKit/IOReturn.h
+iokit/IOKit/IOService.h
+iokit/IOKit/IOServicePM.h
+iokit/IOKit/IOSharedDataQueue.h
+iokit/IOKit/IOSharedLock.h
+iokit/IOKit/IOStatistics.h
+iokit/IOKit/IOStatisticsPrivate.h
+iokit/IOKit/IOSubMemoryDescriptor.h
+iokit/IOKit/IOSyncer.h
+iokit/IOKit/IOTimeStamp.h
+iokit/IOKit/IOTimerEventSource.h
+iokit/IOKit/IOTypes.h
+iokit/IOKit/IOUserClient.h
+iokit/IOKit/IOWorkLoop.h
+iokit/IOKit/OSMessageNotification.h
+iokit/IOKit/assert.h
+iokit/IOKit/nvram/IONVRAMController.h
+iokit/IOKit/platform/AppleMacIO.h
+iokit/IOKit/platform/AppleMacIODevice.h
+iokit/IOKit/platform/AppleNMI.h
+iokit/IOKit/platform/ApplePlatformExpert.h
+iokit/IOKit/power/IOPwrController.h
+iokit/IOKit/pwr_mgt/IOPM.h
+iokit/IOKit/pwr_mgt/IOPMLibDefs.h
+iokit/IOKit/pwr_mgt/IOPMPowerSource.h
+iokit/IOKit/pwr_mgt/IOPMPowerSourceList.h
+iokit/IOKit/pwr_mgt/IOPMpowerState.h
+iokit/IOKit/pwr_mgt/IOPowerConnection.h
+iokit/IOKit/pwr_mgt/RootDomain.h
+iokit/IOKit/rtc/IORTCController.h
+iokit/IOKit/system.h
+iokit/IOKit/system_management/IOWatchDogTimer.h
+kern/exc_resource.h
+kern/kcdata.h
+kern/kern_cdata.h
+libkern/OSByteOrder.h
+libkern/OSDebug.h
+libkern/OSKextLib.h
+libkern/OSReturn.h
+libkern/OSTypes.h
+libkern/_OSByteOrder.h
+libkern/firehose/chunk_private.h
+libkern/firehose/firehose_types_private.h
+libkern/firehose/ioctl_private.h
+libkern/firehose/tracepoint_private.h
+libkern/i386/OSByteOrder.h
+libkern/i386/_OSByteOrder.h
+libkern/libkern/OSAtomic.h
+libkern/libkern/OSBase.h
+libkern/libkern/OSByteOrder.h
+libkern/libkern/OSDebug.h
+libkern/libkern/OSKextLib.h
+libkern/libkern/OSKextLibPrivate.h
+libkern/libkern/OSMalloc.h
+libkern/libkern/OSReturn.h
+libkern/libkern/OSSerializeBinary.h
+libkern/libkern/OSTypes.h
+libkern/libkern/_OSByteOrder.h
+libkern/libkern/c++/OSArray.h
+libkern/libkern/c++/OSBoolean.h
+libkern/libkern/c++/OSCPPDebug.h
+libkern/libkern/c++/OSCollection.h
+libkern/libkern/c++/OSCollectionIterator.h
+libkern/libkern/c++/OSContainers.h
+libkern/libkern/c++/OSData.h
+libkern/libkern/c++/OSDictionary.h
+libkern/libkern/c++/OSEndianTypes.h
+libkern/libkern/c++/OSIterator.h
+libkern/libkern/c++/OSKext.h
+libkern/libkern/c++/OSLib.h
+libkern/libkern/c++/OSMetaClass.h
+libkern/libkern/c++/OSNumber.h
+libkern/libkern/c++/OSObject.h
+libkern/libkern/c++/OSOrderedSet.h
+libkern/libkern/c++/OSSerialize.h
+libkern/libkern/c++/OSSet.h
+libkern/libkern/c++/OSString.h
+libkern/libkern/c++/OSSymbol.h
+libkern/libkern/c++/OSUnserialize.h
+libkern/libkern/crypto/aes.h
+libkern/libkern/crypto/aesxts.h
+libkern/libkern/crypto/crypto_internal.h
+libkern/libkern/crypto/des.h
+libkern/libkern/crypto/md5.h
+libkern/libkern/crypto/rand.h
+libkern/libkern/crypto/register_crypto.h
+libkern/libkern/crypto/rsa.h
+libkern/libkern/crypto/sha1.h
+libkern/libkern/crypto/sha2.h
+libkern/libkern/i386/OSByteOrder.h
+libkern/libkern/i386/_OSByteOrder.h
+libkern/libkern/kernel_mach_header.h
+libkern/libkern/kext_request_keys.h
+libkern/libkern/kxld.h
+libkern/libkern/kxld_types.h
+libkern/libkern/locks.h
+libkern/libkern/machine/OSByteOrder.h
+libkern/libkern/mkext.h
+libkern/libkern/prelink.h
+libkern/libkern/section_keywords.h
+libkern/libkern/stack_protector.h
+libkern/libkern/sysctl.h
+libkern/libkern/tree.h
+libkern/libkern/version.h
+libkern/libkern/zconf.h
+libkern/libkern/zlib.h
+libkern/machine/OSByteOrder.h
+libkern/os/base.h
+libkern/os/log.h
+libkern/os/log_private.h
+libkern/os/object.h
+libkern/os/object_private.h
+libkern/os/overflow.h
+libkern/os/trace.h
+mach/audit_triggers.defs
+mach/boolean.h
+mach/bootstrap.h
+mach/clock.defs
+mach/clock.h
+mach/clock_priv.defs
+mach/clock_priv.h
+mach/clock_reply.defs
+mach/clock_reply.h
+mach/clock_types.defs
+mach/clock_types.h
+mach/dyld_kernel.h
+mach/error.h
+mach/exc.defs
+mach/exc.h
+mach/exception.h
+mach/exception_types.h
+mach/host_info.h
+mach/host_notify.h
+mach/host_notify_reply.defs
+mach/host_priv.defs
+mach/host_priv.h
+mach/host_reboot.h
+mach/host_security.defs
+mach/host_security.h
+mach/host_special_ports.h
+mach/i386/_structs.h
+mach/i386/asm.h
+mach/i386/boolean.h
+mach/i386/exception.h
+mach/i386/fp_reg.h
+mach/i386/kern_return.h
+mach/i386/ndr_def.h
+mach/i386/processor_info.h
+mach/i386/rpc.h
+mach/i386/sdt_isa.h
+mach/i386/thread_state.h
+mach/i386/thread_status.h
+mach/i386/vm_param.h
+mach/i386/vm_types.h
+mach/kern_return.h
+mach/kmod.h
+mach/lock_set.defs
+mach/lock_set.h
+mach/mach.h
+mach/mach_error.h
+mach/mach_exc.defs
+mach/mach_host.defs
+mach/mach_host.h
+mach/mach_init.h
+mach/mach_interface.h
+mach/mach_param.h
+mach/mach_port.defs
+mach/mach_port.h
+mach/mach_port_internal.h
+mach/mach_syscalls.h
+mach/mach_time.h
+mach/mach_traps.h
+mach/mach_types.defs
+mach/mach_types.h
+mach/mach_vm.defs
+mach/mach_vm.h
+mach/mach_vm_internal.h
+mach/mach_voucher.defs
+mach/mach_voucher.h
+mach/mach_voucher_attr_control.defs
+mach/mach_voucher_types.h
+mach/machine.h
+mach/machine/asm.h
+mach/machine/boolean.h
+mach/machine/exception.h
+mach/machine/kern_return.h
+mach/machine/machine_types.defs
+mach/machine/ndr_def.h
+mach/machine/processor_info.h
+mach/machine/rpc.h
+mach/machine/sdt.h
+mach/machine/sdt_isa.h
+mach/machine/thread_state.h
+mach/machine/thread_status.h
+mach/machine/vm_param.h
+mach/machine/vm_types.h
+mach/memory_object_types.h
+mach/message.h
+mach/mig.h
+mach/mig_errors.h
+mach/mig_strncpy_zerofill_support.h
+mach/mig_voucher_support.h
+mach/ndr.h
+mach/notify.defs
+mach/notify.h
+mach/policy.h
+mach/port.h
+mach/port_obj.h
+mach/processor.defs
+mach/processor.h
+mach/processor_info.h
+mach/processor_set.defs
+mach/processor_set.h
+mach/rpc.h
+mach/sdt.h
+mach/semaphore.h
+mach/shared_memory_server.h
+mach/shared_region.h
+mach/std_types.defs
+mach/std_types.h
+mach/sync.h
+mach/sync_policy.h
+mach/task.defs
+mach/task.h
+mach/task_access.defs
+mach/task_info.h
+mach/task_policy.h
+mach/task_special_ports.h
+mach/telemetry_notification.defs
+mach/thread_act.defs
+mach/thread_act.h
+mach/thread_act_internal.h
+mach/thread_info.h
+mach/thread_policy.h
+mach/thread_special_ports.h
+mach/thread_state.h
+mach/thread_status.h
+mach/thread_switch.h
+mach/time_value.h
+mach/vm_attributes.h
+mach/vm_behavior.h
+mach/vm_inherit.h
+mach/vm_map.defs
+mach/vm_map.h
+mach/vm_map_internal.h
+mach/vm_page_size.h
+mach/vm_param.h
+mach/vm_prot.h
+mach/vm_purgable.h
+mach/vm_region.h
+mach/vm_statistics.h
+mach/vm_sync.h
+mach/vm_task.h
+mach/vm_types.h
+mach_debug/hash_info.h
+mach_debug/ipc_info.h
+mach_debug/lockgroup_info.h
+mach_debug/mach_debug.h
+mach_debug/mach_debug_types.defs
+mach_debug/mach_debug_types.h
+mach_debug/page_info.h
+mach_debug/vm_info.h
+mach_debug/zone_info.h
+machine/_limits.h
+machine/_mcontext.h
+machine/_param.h
+machine/_types.h
+machine/byte_order.h
+machine/endian.h
+machine/fasttrap_isa.h
+machine/limits.h
+machine/param.h
+machine/profile.h
+machine/signal.h
+machine/types.h
+machine/vmparam.h
+miscfs/devfs/devfs.h
+miscfs/specfs/specdev.h
+miscfs/union/union.h
+net/bpf.h
+net/dlil.h
+net/ethernet.h
+net/if.h
+net/if_arp.h
+net/if_dl.h
+net/if_llc.h
+net/if_media.h
+net/if_mib.h
+net/if_types.h
+net/if_utun.h
+net/if_var.h
+net/kext_net.h
+net/ndrv.h
+net/net_kev.h
+net/pfkeyv2.h
+net/route.h
+netinet/bootp.h
+netinet/icmp6.h
+netinet/icmp_var.h
+netinet/if_ether.h
+netinet/igmp.h
+netinet/igmp_var.h
+netinet/in.h
+netinet/in_pcb.h
+netinet/in_systm.h
+netinet/in_var.h
+netinet/ip.h
+netinet/ip6.h
+netinet/ip_icmp.h
+netinet/ip_var.h
+netinet/tcp.h
+netinet/tcp_fsm.h
+netinet/tcp_seq.h
+netinet/tcp_timer.h
+netinet/tcp_var.h
+netinet/tcpip.h
+netinet/udp.h
+netinet/udp_var.h
+netinet6/ah.h
+netinet6/esp.h
+netinet6/in6.h
+netinet6/in6_var.h
+netinet6/ipcomp.h
+netinet6/ipsec.h
+netinet6/nd6.h
+netinet6/raw_ip6.h
+netinet6/scope6_var.h
+netkey/keysock.h
+nfs/krpc.h
+nfs/nfs.h
+nfs/nfs_gss.h
+nfs/nfs_ioctl.h
+nfs/nfs_lock.h
+nfs/nfsdiskless.h
+nfs/nfsm_subs.h
+nfs/nfsmount.h
+nfs/nfsnode.h
+nfs/nfsproto.h
+nfs/nfsrvcache.h
+nfs/rpcv2.h
+nfs/xdr_subs.h
+os/overflow.h
+os/tsd.h
+osfmk/UserNotification/KUNCUserNotifications.h
+osfmk/UserNotification/UNDReply.defs
+osfmk/UserNotification/UNDRequest.defs
+osfmk/UserNotification/UNDTypes.defs
+osfmk/UserNotification/UNDTypes.h
+osfmk/atm/atm_internal.h
+osfmk/atm/atm_notification.defs
+osfmk/atm/atm_types.defs
+osfmk/atm/atm_types.h
+osfmk/bank/bank_types.h
+osfmk/console/video_console.h
+osfmk/corpses/task_corpse.h
+osfmk/default_pager/default_pager_types.h
+osfmk/device/device.defs
+osfmk/device/device_port.h
+osfmk/device/device_types.defs
+osfmk/device/device_types.h
+osfmk/gssd/gssd_mach.defs
+osfmk/gssd/gssd_mach.h
+osfmk/gssd/gssd_mach_types.h
+osfmk/i386/apic.h
+osfmk/i386/asm.h
+osfmk/i386/atomic.h
+osfmk/i386/bit_routines.h
+osfmk/i386/cpu_capabilities.h
+osfmk/i386/cpu_data.h
+osfmk/i386/cpu_number.h
+osfmk/i386/cpu_topology.h
+osfmk/i386/cpuid.h
+osfmk/i386/eflags.h
+osfmk/i386/io_map_entries.h
+osfmk/i386/lapic.h
+osfmk/i386/lock.h
+osfmk/i386/locks.h
+osfmk/i386/machine_cpu.h
+osfmk/i386/machine_routines.h
+osfmk/i386/mp.h
+osfmk/i386/mp_desc.h
+osfmk/i386/mp_events.h
+osfmk/i386/mtrr.h
+osfmk/i386/pal_hibernate.h
+osfmk/i386/pal_native.h
+osfmk/i386/pal_routines.h
+osfmk/i386/panic_hooks.h
+osfmk/i386/pmCPU.h
+osfmk/i386/pmap.h
+osfmk/i386/proc_reg.h
+osfmk/i386/rtclock_protos.h
+osfmk/i386/seg.h
+osfmk/i386/simple_lock.h
+osfmk/i386/smp.h
+osfmk/i386/tsc.h
+osfmk/i386/tss.h
+osfmk/i386/ucode.h
+osfmk/i386/vmx.h
+osfmk/ipc/ipc_types.h
+osfmk/kdp/kdp_callout.h
+osfmk/kdp/kdp_dyld.h
+osfmk/kdp/kdp_en_debugger.h
+osfmk/kern/affinity.h
+osfmk/kern/assert.h
+osfmk/kern/audit_sessionport.h
+osfmk/kern/backtrace.h
+osfmk/kern/bits.h
+osfmk/kern/block_hint.h
+osfmk/kern/call_entry.h
+osfmk/kern/clock.h
+osfmk/kern/coalition.h
+osfmk/kern/cpu_data.h
+osfmk/kern/cpu_number.h
+osfmk/kern/debug.h
+osfmk/kern/ecc.h
+osfmk/kern/energy_perf.h
+osfmk/kern/exc_resource.h
+osfmk/kern/extmod_statistics.h
+osfmk/kern/host.h
+osfmk/kern/hv_support.h
+osfmk/kern/ipc_mig.h
+osfmk/kern/ipc_misc.h
+osfmk/kern/kalloc.h
+osfmk/kern/kcdata.h
+osfmk/kern/kern_cdata.h
+osfmk/kern/kern_types.h
+osfmk/kern/kext_alloc.h
+osfmk/kern/kpc.h
+osfmk/kern/ledger.h
+osfmk/kern/lock.h
+osfmk/kern/locks.h
+osfmk/kern/mach_param.h
+osfmk/kern/macro_help.h
+osfmk/kern/page_decrypt.h
+osfmk/kern/pms.h
+osfmk/kern/policy_internal.h
+osfmk/kern/processor.h
+osfmk/kern/queue.h
+osfmk/kern/sched_prim.h
+osfmk/kern/sfi.h
+osfmk/kern/simple_lock.h
+osfmk/kern/startup.h
+osfmk/kern/task.h
+osfmk/kern/telemetry.h
+osfmk/kern/thread.h
+osfmk/kern/thread_call.h
+osfmk/kern/timer_call.h
+osfmk/kern/waitq.h
+osfmk/kern/zalloc.h
+osfmk/kextd/kextd_mach.defs
+osfmk/kextd/kextd_mach.h
+osfmk/kperf/action.h
+osfmk/kperf/context.h
+osfmk/kperf/kdebug_trigger.h
+osfmk/kperf/kperf.h
+osfmk/kperf/kperf_timer.h
+osfmk/kperf/kperfbsd.h
+osfmk/kperf/pet.h
+osfmk/lockd/lockd_mach.defs
+osfmk/lockd/lockd_mach.h
+osfmk/lockd/lockd_mach_types.h
+osfmk/mach/audit_triggers.defs
+osfmk/mach/audit_triggers_server.h
+osfmk/mach/boolean.h
+osfmk/mach/branch_predicates.h
+osfmk/mach/clock.defs
+osfmk/mach/clock.h
+osfmk/mach/clock_priv.defs
+osfmk/mach/clock_priv.h
+osfmk/mach/clock_reply.defs
+osfmk/mach/clock_reply_server.h
+osfmk/mach/clock_types.defs
+osfmk/mach/clock_types.h
+osfmk/mach/coalition.h
+osfmk/mach/coalition_notification_server.h
+osfmk/mach/dyld_kernel.h
+osfmk/mach/error.h
+osfmk/mach/exc.defs
+osfmk/mach/exc_server.h
+osfmk/mach/exception.h
+osfmk/mach/exception_types.h
+osfmk/mach/host_info.h
+osfmk/mach/host_notify.h
+osfmk/mach/host_notify_reply.defs
+osfmk/mach/host_priv.defs
+osfmk/mach/host_priv.h
+osfmk/mach/host_reboot.h
+osfmk/mach/host_security.defs
+osfmk/mach/host_security.h
+osfmk/mach/host_special_ports.h
+osfmk/mach/i386/_structs.h
+osfmk/mach/i386/asm.h
+osfmk/mach/i386/boolean.h
+osfmk/mach/i386/exception.h
+osfmk/mach/i386/fp_reg.h
+osfmk/mach/i386/kern_return.h
+osfmk/mach/i386/ndr_def.h
+osfmk/mach/i386/processor_info.h
+osfmk/mach/i386/rpc.h
+osfmk/mach/i386/sdt_isa.h
+osfmk/mach/i386/syscall_sw.h
+osfmk/mach/i386/thread_state.h
+osfmk/mach/i386/thread_status.h
+osfmk/mach/i386/vm_param.h
+osfmk/mach/i386/vm_types.h
+osfmk/mach/kern_return.h
+osfmk/mach/kmod.h
+osfmk/mach/ktrace_background.h
+osfmk/mach/lock_set.defs
+osfmk/mach/lock_set.h
+osfmk/mach/mach_exc.defs
+osfmk/mach/mach_exc_server.h
+osfmk/mach/mach_host.defs
+osfmk/mach/mach_host.h
+osfmk/mach/mach_interface.h
+osfmk/mach/mach_param.h
+osfmk/mach/mach_port.defs
+osfmk/mach/mach_port.h
+osfmk/mach/mach_syscalls.h
+osfmk/mach/mach_time.h
+osfmk/mach/mach_traps.h
+osfmk/mach/mach_types.defs
+osfmk/mach/mach_types.h
+osfmk/mach/mach_vm.defs
+osfmk/mach/mach_vm.h
+osfmk/mach/mach_voucher.defs
+osfmk/mach/mach_voucher.h
+osfmk/mach/mach_voucher_attr_control.defs
+osfmk/mach/mach_voucher_attr_control.h
+osfmk/mach/mach_voucher_types.h
+osfmk/mach/machine.h
+osfmk/mach/machine/asm.h
+osfmk/mach/machine/boolean.h
+osfmk/mach/machine/exception.h
+osfmk/mach/machine/kern_return.h
+osfmk/mach/machine/machine_types.defs
+osfmk/mach/machine/ndr_def.h
+osfmk/mach/machine/processor_info.h
+osfmk/mach/machine/rpc.h
+osfmk/mach/machine/sdt.h
+osfmk/mach/machine/sdt_isa.h
+osfmk/mach/machine/syscall_sw.h
+osfmk/mach/machine/thread_state.h
+osfmk/mach/machine/thread_status.h
+osfmk/mach/machine/vm_param.h
+osfmk/mach/machine/vm_types.h
+osfmk/mach/memory_object_control.h
+osfmk/mach/memory_object_default_server.h
+osfmk/mach/memory_object_types.h
+osfmk/mach/message.h
+osfmk/mach/mig.h
+osfmk/mach/mig_errors.h
+osfmk/mach/mig_strncpy_zerofill_support.h
+osfmk/mach/mig_voucher_support.h
+osfmk/mach/ndr.h
+osfmk/mach/notify.defs
+osfmk/mach/notify.h
+osfmk/mach/notify_server.h
+osfmk/mach/policy.h
+osfmk/mach/port.h
+osfmk/mach/processor.defs
+osfmk/mach/processor.h
+osfmk/mach/processor_info.h
+osfmk/mach/processor_set.defs
+osfmk/mach/processor_set.h
+osfmk/mach/resource_monitors.h
+osfmk/mach/rpc.h
+osfmk/mach/sdt.h
+osfmk/mach/semaphore.h
+osfmk/mach/sfi_class.h
+osfmk/mach/shared_memory_server.h
+osfmk/mach/shared_region.h
+osfmk/mach/std_types.defs
+osfmk/mach/std_types.h
+osfmk/mach/sync_policy.h
+osfmk/mach/syscall_sw.h
+osfmk/mach/sysdiagnose_notification_server.h
+osfmk/mach/task.defs
+osfmk/mach/task.h
+osfmk/mach/task_access.defs
+osfmk/mach/task_access.h
+osfmk/mach/task_access_server.h
+osfmk/mach/task_info.h
+osfmk/mach/task_policy.h
+osfmk/mach/task_special_ports.h
+osfmk/mach/telemetry_notification.defs
+osfmk/mach/telemetry_notification_server.h
+osfmk/mach/thread_act.defs
+osfmk/mach/thread_act.h
+osfmk/mach/thread_info.h
+osfmk/mach/thread_policy.h
+osfmk/mach/thread_special_ports.h
+osfmk/mach/thread_status.h
+osfmk/mach/thread_switch.h
+osfmk/mach/time_value.h
+osfmk/mach/upl.h
+osfmk/mach/vm_attributes.h
+osfmk/mach/vm_behavior.h
+osfmk/mach/vm_inherit.h
+osfmk/mach/vm_map.defs
+osfmk/mach/vm_map.h
+osfmk/mach/vm_param.h
+osfmk/mach/vm_prot.h
+osfmk/mach/vm_purgable.h
+osfmk/mach/vm_region.h
+osfmk/mach/vm_statistics.h
+osfmk/mach/vm_sync.h
+osfmk/mach/vm_types.h
+osfmk/mach_debug/hash_info.h
+osfmk/mach_debug/ipc_info.h
+osfmk/mach_debug/lockgroup_info.h
+osfmk/mach_debug/mach_debug.h
+osfmk/mach_debug/mach_debug_types.defs
+osfmk/mach_debug/mach_debug_types.h
+osfmk/mach_debug/page_info.h
+osfmk/mach_debug/vm_info.h
+osfmk/mach_debug/zone_info.h
+osfmk/machine/atomic.h
+osfmk/machine/cpu_capabilities.h
+osfmk/machine/cpu_number.h
+osfmk/machine/io_map_entries.h
+osfmk/machine/lock.h
+osfmk/machine/locks.h
+osfmk/machine/machine_cpuid.h
+osfmk/machine/machine_kpc.h
+osfmk/machine/machine_routines.h
+osfmk/machine/pal_hibernate.h
+osfmk/machine/pal_routines.h
+osfmk/machine/simple_lock.h
+osfmk/prng/random.h
+osfmk/string.h
+osfmk/vm/WKdm_new.h
+osfmk/vm/pmap.h
+osfmk/vm/vm_compressor_algorithms.h
+osfmk/vm/vm_fault.h
+osfmk/vm/vm_kern.h
+osfmk/vm/vm_map.h
+osfmk/vm/vm_options.h
+osfmk/vm/vm_pageout.h
+osfmk/vm/vm_protos.h
+osfmk/vm/vm_shared_region.h
+osfmk/voucher/ipc_pthread_priority_types.h
+osfmk/x86_64/machine_kpc.h
+pexpert/boot.h
+pexpert/i386/boot.h
+pexpert/i386/efi.h
+pexpert/i386/protos.h
+pexpert/machine/boot.h
+pexpert/machine/protos.h
+pexpert/pexpert.h
+pexpert/pexpert/boot.h
+pexpert/pexpert/device_tree.h
+pexpert/pexpert/i386/boot.h
+pexpert/pexpert/i386/efi.h
+pexpert/pexpert/i386/protos.h
+pexpert/pexpert/machine/boot.h
+pexpert/pexpert/machine/protos.h
+pexpert/pexpert/pexpert.h
+pexpert/pexpert/protos.h
+pexpert/protos.h
+security/audit/audit_ioctl.h
+security/mac.h
+security/mac_policy.h
+security/security/_label.h
+security/security/mac.h
+security/security/mac_alloc.h
+security/security/mac_data.h
+security/security/mac_framework.h
+security/security/mac_internal.h
+security/security/mac_mach_internal.h
+security/security/mac_policy.h
+servers/key_defs.h
+servers/ls_defs.h
+servers/netname.h
+servers/netname_defs.h
+servers/nm_defs.h
+sys/_endian.h
+sys/_posix_availability.h
+sys/_select.h
+sys/_structs.h
+sys/_symbol_aliasing.h
+sys/_types.h
+sys/_types/_blkcnt_t.h
+sys/_types/_blksize_t.h
+sys/_types/_clock_t.h
+sys/_types/_ct_rune_t.h
+sys/_types/_dev_t.h
+sys/_types/_errno_t.h
+sys/_types/_fd_clr.h
+sys/_types/_fd_copy.h
+sys/_types/_fd_def.h
+sys/_types/_fd_isset.h
+sys/_types/_fd_set.h
+sys/_types/_fd_setsize.h
+sys/_types/_fd_zero.h
+sys/_types/_filesec_t.h
+sys/_types/_fsblkcnt_t.h
+sys/_types/_fsfilcnt_t.h
+sys/_types/_fsid_t.h
+sys/_types/_fsobj_id_t.h
+sys/_types/_gid_t.h
+sys/_types/_guid_t.h
+sys/_types/_id_t.h
+sys/_types/_in_addr_t.h
+sys/_types/_in_port_t.h
+sys/_types/_ino64_t.h
+sys/_types/_ino_t.h
+sys/_types/_int16_t.h
+sys/_types/_int32_t.h
+sys/_types/_int64_t.h
+sys/_types/_int8_t.h
+sys/_types/_intptr_t.h
+sys/_types/_iovec_t.h
+sys/_types/_key_t.h
+sys/_types/_mach_port_t.h
+sys/_types/_mbstate_t.h
+sys/_types/_mode_t.h
+sys/_types/_nlink_t.h
+sys/_types/_null.h
+sys/_types/_o_dsync.h
+sys/_types/_o_sync.h
+sys/_types/_off_t.h
+sys/_types/_offsetof.h
+sys/_types/_os_inline.h
+sys/_types/_pid_t.h
+sys/_types/_posix_vdisable.h
+sys/_types/_ptrdiff_t.h
+sys/_types/_rsize_t.h
+sys/_types/_rune_t.h
+sys/_types/_s_ifmt.h
+sys/_types/_sa_family_t.h
+sys/_types/_seek_set.h
+sys/_types/_sigaltstack.h
+sys/_types/_sigset_t.h
+sys/_types/_size_t.h
+sys/_types/_socklen_t.h
+sys/_types/_ssize_t.h
+sys/_types/_suseconds_t.h
+sys/_types/_time_t.h
+sys/_types/_timespec.h
+sys/_types/_timeval.h
+sys/_types/_timeval32.h
+sys/_types/_timeval64.h
+sys/_types/_u_int16_t.h
+sys/_types/_u_int32_t.h
+sys/_types/_u_int64_t.h
+sys/_types/_u_int8_t.h
+sys/_types/_ucontext.h
+sys/_types/_ucontext64.h
+sys/_types/_uid_t.h
+sys/_types/_uintptr_t.h
+sys/_types/_useconds_t.h
+sys/_types/_uuid_t.h
+sys/_types/_va_list.h
+sys/_types/_wchar_t.h
+sys/_types/_wint_t.h
+sys/acct.h
+sys/aio.h
+sys/appleapiopts.h
+sys/attr.h
+sys/buf.h
+sys/cdefs.h
+sys/clonefile.h
+sys/conf.h
+sys/dir.h
+sys/dirent.h
+sys/disk.h
+sys/dkstat.h
+sys/domain.h
+sys/dtrace.h
+sys/dtrace_glue.h
+sys/dtrace_impl.h
+sys/errno.h
+sys/ev.h
+sys/event.h
+sys/fasttrap.h
+sys/fasttrap_isa.h
+sys/fcntl.h
+sys/file.h
+sys/filedesc.h
+sys/filio.h
+sys/gmon.h
+sys/ioccom.h
+sys/ioctl.h
+sys/ioctl_compat.h
+sys/ipc.h
+sys/kauth.h
+sys/kdebug.h
+sys/kdebug_signpost.h
+sys/kern_control.h
+sys/kern_event.h
+sys/kernel.h
+sys/kernel_types.h
+sys/lctx.h
+sys/loadable_fs.h
+sys/lock.h
+sys/lockf.h
+sys/lockstat.h
+sys/malloc.h
+sys/mbuf.h
+sys/mman.h
+sys/mount.h
+sys/msg.h
+sys/msgbuf.h
+sys/netport.h
+sys/param.h
+sys/paths.h
+sys/pipe.h
+sys/poll.h
+sys/posix_sem.h
+sys/posix_shm.h
+sys/proc.h
+sys/proc_info.h
+sys/protosw.h
+sys/ptrace.h
+sys/queue.h
+sys/quota.h
+sys/random.h
+sys/reboot.h
+sys/resource.h
+sys/resourcevar.h
+sys/sbuf.h
+sys/sdt.h
+sys/select.h
+sys/sem.h
+sys/semaphore.h
+sys/shm.h
+sys/signal.h
+sys/signalvar.h
+sys/socket.h
+sys/socketvar.h
+sys/sockio.h
+sys/spawn.h
+sys/stat.h
+sys/stdio.h
+sys/sys_domain.h
+sys/syscall.h
+sys/sysctl.h
+sys/syslimits.h
+sys/syslog.h
+sys/termios.h
+sys/time.h
+sys/timeb.h
+sys/times.h
+sys/tprintf.h
+sys/trace.h
+sys/tty.h
+sys/ttychars.h
+sys/ttycom.h
+sys/ttydefaults.h
+sys/ttydev.h
+sys/types.h
+sys/ubc.h
+sys/ucontext.h
+sys/ucred.h
+sys/uio.h
+sys/un.h
+sys/unistd.h
+sys/unpcb.h
+sys/user.h
+sys/utfconv.h
+sys/utsname.h
+sys/vadvise.h
+sys/vcmd.h
+sys/vm.h
+sys/vmmeter.h
+sys/vmparam.h
+sys/vnioctl.h
+sys/vnode.h
+sys/vnode_if.h
+sys/vstat.h
+sys/wait.h
+sys/xattr.h
+uuid/uuid.h
+vfs/vfs_support.h
+voucher/ipc_pthread_priority_types.h
diff --git a/pkgs/os-specific/darwin/goku/default.nix b/pkgs/os-specific/darwin/goku/default.nix
index b65547ff32fbd..c729ee6010c51 100644
--- a/pkgs/os-specific/darwin/goku/default.nix
+++ b/pkgs/os-specific/darwin/goku/default.nix
@@ -2,16 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "goku";
-  version = "0.1.11";
+  version = "0.3.6";
 
   src = fetchurl {
     url = "https://github.com/yqrashawn/GokuRakuJoudo/releases/download/v${version}/goku.tar.gz";
-    sha256 = "49562342be114c2656726c5c697131acd286965ab3903a1a1e157cc689e20b15";
+    sha256 = "1pss1k2slbqzpfynik50pdk4jsaiag4abhmr6kadmaaj18mfz7ai";
   };
 
   sourceRoot = ".";
 
   installPhase = ''
+    chmod +x goku
+    chmod +x gokuw
     mkdir -p $out/bin
     cp goku $out/bin
     cp gokuw $out/bin
diff --git a/pkgs/os-specific/darwin/impure-cmds/default.nix b/pkgs/os-specific/darwin/impure-cmds/default.nix
new file mode 100644
index 0000000000000..51e345f048bda
--- /dev/null
+++ b/pkgs/os-specific/darwin/impure-cmds/default.nix
@@ -0,0 +1,34 @@
+{ lib, runCommandLocal }:
+
+# On darwin, there are some commands neither opensource nor able to build in nixpkgs.
+# We have no choice but to use those system-shipped impure ones.
+
+let
+  commands = {
+    ditto = "/usr/bin/ditto"; # ditto is not opensource
+    sudo  = "/usr/bin/sudo";  # sudo must be owned by uid 0 and have the setuid bit set
+  };
+
+  mkImpureDrv = name: path:
+    runCommandLocal "${name}-impure-darwin" {
+      __impureHostDeps = [ path ];
+
+      meta = {
+        platforms = lib.platforms.darwin;
+      };
+    } ''
+      if ! [ -x ${path} ]; then
+        echo Cannot find command ${path}
+        exit 1
+      fi
+
+      mkdir -p $out/bin
+      ln -s ${path} $out/bin
+
+      manpage="/usr/share/man/man1/${name}.1"
+      if [ -f $manpage ]; then
+        mkdir -p $out/share/man/man1
+        ln -s $manpage $out/share/man/man1
+      fi
+    '';
+in lib.mapAttrs mkImpureDrv commands
diff --git a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
index 9f0ee4db118cd..560be0c31ab61 100644
--- a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
+++ b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
@@ -23,9 +23,9 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ ninja python3 ];
   buildInputs = [ curl libxml2 objc4 ICU ];
 
-  sourceRoot = "source/CoreFoundation";
+  postPatch = ''
+    cd CoreFoundation
 
-  patchPhase = ''
     cp ${sysdir-free-system-directories} Base.subproj/CFSystemDirectories.c
 
     # In order, since I can't comment individual lines:
@@ -39,6 +39,7 @@ stdenv.mkDerivation {
     # Fix sandbox impurities.
     substituteInPlace ../lib/script.py \
       --replace '/bin/cp' cp
+    patchShebangs --build ../configure
 
     # Includes xpc for some initialization routine that they don't define anyway, so no harm here
     substituteInPlace PlugIn.subproj/CFBundlePriv.h \
diff --git a/pkgs/os-specific/linux/acpi-call/default.nix b/pkgs/os-specific/linux/acpi-call/default.nix
index 87535b92e4659..b79f0bd84f2f1 100644
--- a/pkgs/os-specific/linux/acpi-call/default.nix
+++ b/pkgs/os-specific/linux/acpi-call/default.nix
@@ -7,8 +7,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "acpi_call";
-    rev = "3d7c9fe5ed3fc5ed5bafd39d54b1fdc7a09ce710";
-    sha256 = "09kp8zl392h99wjwzqrdw2xcfnsc944hzmfwi8n1y7m2slpdybv3";
+    rev = "fe4cd0124099b88b61f83006023bc0d95e742e75";
+    sha256 = "1rksbg78i7y2wzam9p6kbhx8rmkaiq0kqg8nj7k0j6d25m79289s";
   };
 
   hardeningDisable = [ "pic" ];
diff --git a/pkgs/os-specific/linux/akvcam/default.nix b/pkgs/os-specific/linux/akvcam/default.nix
index 9e7450775147e..026ef5b0f468c 100644
--- a/pkgs/os-specific/linux/akvcam/default.nix
+++ b/pkgs/os-specific/linux/akvcam/default.nix
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ qmake ];
+  dontWrapQtApps = true;
 
   qmakeFlags = [
     "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
diff --git a/pkgs/os-specific/linux/alsa-plugins/default.nix b/pkgs/os-specific/linux/alsa-plugins/default.nix
index 602d427818366..09dbdbc9b6fba 100644
--- a/pkgs/os-specific/linux/alsa-plugins/default.nix
+++ b/pkgs/os-specific/linux/alsa-plugins/default.nix
@@ -15,8 +15,7 @@ stdenv.mkDerivation rec {
   buildInputs =
     [ alsaLib libogg ]
     ++ lib.optional (libpulseaudio != null) libpulseaudio
-    # https://github.com/NixOS/nixpkgs/issues/96548
-    ++ lib.optional (libjack2 != null && (stdenv.buildPlatform == stdenv.hostPlatform)) libjack2;
+    ++ lib.optional (libjack2 != null) libjack2;
 
   meta = with lib; {
     description = "Various plugins for ALSA";
diff --git a/pkgs/os-specific/linux/alsa-utils/default.nix b/pkgs/os-specific/linux/alsa-utils/default.nix
index da365fb7d99a7..dd747bbbf6fca 100644
--- a/pkgs/os-specific/linux/alsa-utils/default.nix
+++ b/pkgs/os-specific/linux/alsa-utils/default.nix
@@ -9,8 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "09m4dnn4kplawprd2bl15nwa0b4r1brab3x44ga7f1fyk7aw5zwq";
   };
 
-  nativeBuildInputs = [ gettext ];
-  buildInputs = [ makeWrapper alsaLib ncurses libsamplerate fftw ];
+  nativeBuildInputs = [ gettext makeWrapper ];
+  buildInputs = [ alsaLib ncurses libsamplerate fftw ];
 
   configureFlags = [ "--disable-xmlto" "--with-udev-rules-dir=$(out)/lib/udev/rules.d" ];
 
diff --git a/pkgs/os-specific/linux/aseq2json/default.nix b/pkgs/os-specific/linux/aseq2json/default.nix
new file mode 100644
index 0000000000000..015419ee07a6c
--- /dev/null
+++ b/pkgs/os-specific/linux/aseq2json/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, lib, fetchFromGitHub, pkg-config, alsaLib, glib, json-glib }:
+
+stdenv.mkDerivation {
+  pname = "aseq2json";
+  version = "unstable-2018-04-28";
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "midi-dump-tools";
+    rev = "8572e6313a0d7ec95492dcab04a46c5dd30ef33a";
+    sha256 = "LQ9LLVumi3GN6c9tuMSOd1Bs2pgrwrLLQbs5XF+NZeA=";
+  };
+  sourceRoot = "source/aseq2json";
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ alsaLib glib json-glib ];
+
+  installPhase = ''
+    install -D --target-directory "$out/bin" aseq2json
+  '';
+
+  meta = with lib; {
+    description = "Listens for MIDI events on the Alsa sequencer and outputs as JSON to stdout";
+    homepage = "https://github.com/google/midi-dump-tools";
+    license = licenses.asl20;
+    maintainers = [ maintainers.queezle ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/audit/default.nix b/pkgs/os-specific/linux/audit/default.nix
index 7d72b0eec56ba..84bc6086d1223 100644
--- a/pkgs/os-specific/linux/audit/default.nix
+++ b/pkgs/os-specific/linux/audit/default.nix
@@ -36,7 +36,8 @@ stdenv.mkDerivation rec {
   # TODO: Remove the musl patches when
   #         https://github.com/linux-audit/audit-userspace/pull/25
   #       is available with the next release.
-  patches = lib.optional stdenv.hostPlatform.isMusl [
+  patches = [ ./patches/weak-symbols.patch ]
+  ++ lib.optional stdenv.hostPlatform.isMusl [
     (
       let patch = fetchpatch {
             url = "https://github.com/linux-audit/audit-userspace/commit/d579a08bb1cde71f939c13ac6b2261052ae9f77e.patch";
@@ -55,6 +56,13 @@ stdenv.mkDerivation rec {
 
   prePatch = ''
     sed -i 's,#include <sys/poll.h>,#include <poll.h>\n#include <limits.h>,' audisp/audispd.c
+  ''
+  # According to https://stackoverflow.com/questions/13089166
+  # --whole-archive linker flag is required to be sure that linker
+  # correctly chooses strong version of symbol regardless of order of
+  # object files at command line.
+  + lib.optionalString stdenv.targetPlatform.isStatic ''
+    export LDFLAGS=-Wl,--whole-archive
   '';
   meta = {
     description = "Audit Library";
diff --git a/pkgs/os-specific/linux/audit/patches/weak-symbols.patch b/pkgs/os-specific/linux/audit/patches/weak-symbols.patch
new file mode 100644
index 0000000000000..301ea9a5476ce
--- /dev/null
+++ b/pkgs/os-specific/linux/audit/patches/weak-symbols.patch
@@ -0,0 +1,147 @@
+Executables in src/ directory are built from source files in src/
+and are linked to libauparse, with both src/auditd-config.c and
+auparse/auditd-config.c defining "free_config" function.
+
+It is known (although obscure) behaviour of shared libraries that
+symbol defined in binary itself overrides symbol in shared library;
+with static linkage it expectedly results in multiple definition
+error.
+
+This set of fixes explicitly marks libauparse versions of
+conflicting functions as weak to have behaviour coherent with
+dynamic linkage version -- definitions in src/ overriding definition
+in auparse/.
+
+Still, this architecture is very strange and confusing.
+
+diff -r -U5 audit-2.8.5-orig/auparse/auditd-config.c audit-2.8.5/auparse/auditd-config.c
+--- audit-2.8.5-orig/auparse/auditd-config.c	2019-03-01 20:19:13.000000000 +0000
++++ audit-2.8.5/auparse/auditd-config.c	2021-01-13 11:36:12.716226498 +0000
+@@ -68,10 +68,11 @@
+ };
+ 
+ /*
+  * Set everything to its default value
+ */
++#pragma weak clear_config
+ void clear_config(struct daemon_conf *config)
+ {
+ 	config->local_events = 1;
+ 	config->qos = QOS_NON_BLOCKING;
+ 	config->sender_uid = 0;
+@@ -322,10 +323,11 @@
+ 	if (config->log_file == NULL)
+ 		return 1;
+ 	return 0;
+ }
+ 
++#pragma weak free_config
+ void free_config(struct daemon_conf *config)
+ {
+ 	free((void*)config->log_file);
+ }
+ 
+diff -r -U5 audit-2.8.5-orig/auparse/interpret.c audit-2.8.5/auparse/interpret.c
+--- audit-2.8.5-orig/auparse/interpret.c	2019-03-01 20:19:13.000000000 +0000
++++ audit-2.8.5/auparse/interpret.c	2021-01-13 11:39:42.107217224 +0000
+@@ -545,10 +545,11 @@
+ 	else
+ 		snprintf(buf, size, "unknown(%d)", uid);
+ 	return buf;
+ }
+ 
++#pragma weak aulookup_destroy_uid_list
+ void aulookup_destroy_uid_list(void)
+ {
+ 	if (uid_cache_created == 0)
+ 		return;
+ 
+@@ -2810,10 +2811,11 @@
+ 
+ /*
+  * This is the main entry point for the auparse library. Call chain is:
+  * auparse_interpret_field -> nvlist_interp_cur_val -> interpret
+  */
++#pragma weak interpret
+ const char *interpret(const rnode *r, auparse_esc_t escape_mode)
+ {
+ 	const nvlist *nv = &r->nv;
+ 	int type;
+ 	idata id;
+diff -r -U5 audit-2.8.5-orig/auparse/nvlist.c audit-2.8.5/auparse/nvlist.c
+--- audit-2.8.5-orig/auparse/nvlist.c	2019-02-04 14:26:52.000000000 +0000
++++ audit-2.8.5/auparse/nvlist.c	2021-01-13 11:37:37.190222757 +0000
+@@ -27,10 +27,11 @@
+ #include "nvlist.h"
+ #include "interpret.h"
+ #include "auparse-idata.h"
+ 
+ 
++#pragma weak nvlist_create
+ void nvlist_create(nvlist *l)
+ {
+ 	l->head = NULL;
+ 	l->cur = NULL;
+ 	l->cnt = 0;
+@@ -47,17 +48,19 @@
+ 	while (node->next)
+ 		node = node->next;
+ 	l->cur = node;
+ }
+ 
++#pragma weak nvlist_next
+ nvnode *nvlist_next(nvlist *l)
+ {
+ 	if (l->cur)
+ 		l->cur = l->cur->next;
+ 	return l->cur;
+ }
+ 
++#pragma weak nvlist_append
+ void nvlist_append(nvlist *l, nvnode *node)
+ {
+ 	nvnode* newnode = malloc(sizeof(nvnode));
+ 
+ 	newnode->name = node->name;
+@@ -141,10 +144,11 @@
+ 	if (l->cur->interp_val)
+ 		return l->cur->interp_val;
+ 	return interpret(r, escape_mode);
+ }
+ 
++#pragma weak nvlist_clear
+ void nvlist_clear(nvlist* l)
+ {
+ 	nvnode* nextnode;
+ 	register nvnode* current;
+ 
+diff -r -U5 audit-2.8.5-orig/auparse/strsplit.c audit-2.8.5/auparse/strsplit.c
+--- audit-2.8.5-orig/auparse/strsplit.c	2019-03-01 21:15:30.000000000 +0000
++++ audit-2.8.5/auparse/strsplit.c	2021-01-13 11:38:04.306221556 +0000
+@@ -54,10 +54,11 @@
+ 			return NULL;
+ 		return s;
+ 	}
+ }
+ 
++#pragma weak audit_strsplit
+ char *audit_strsplit(char *s)
+ {
+ 	static char *str = NULL;
+ 	char *ptr;
+ 
+diff -r -U5 audit-2.8.5-orig/lib/strsplit.c audit-2.8.5/lib/strsplit.c
+--- audit-2.8.5-orig/lib/strsplit.c	2019-03-01 20:19:13.000000000 +0000
++++ audit-2.8.5/lib/strsplit.c	2021-01-13 11:38:29.444220443 +0000
+@@ -23,10 +23,11 @@
+ 
+ #include <string.h>
+ #include "libaudit.h"
+ #include "private.h"
+ 
++#pragma weak audit_strsplit_r
+ char *audit_strsplit_r(char *s, char **savedpp)
+ {
+ 	char *ptr;
+ 
+ 	if (s)
diff --git a/pkgs/os-specific/linux/btfs/default.nix b/pkgs/os-specific/linux/btfs/default.nix
index dc0b13ef59b44..70864b311d292 100644
--- a/pkgs/os-specific/linux/btfs/default.nix
+++ b/pkgs/os-specific/linux/btfs/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "btfs";
-  version = "2.23";
+  version = "2.24";
 
   src = fetchFromGitHub {
     owner  = "johang";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "1cfjhyn9cjyyxyd0f08b2ra258pzkljwvkj0iwrjpd0nrbl6wkq5";
+    sha256 = "sha256-fkS0U/MqFRQNi+n7NE4e1cnNICvfST2IQ9FMoJUyj6w=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix
index a4a7adeb8b791..6c034e1c2af0c 100644
--- a/pkgs/os-specific/linux/busybox/default.nix
+++ b/pkgs/os-specific/linux/busybox/default.nix
@@ -118,9 +118,11 @@ stdenv.mkDerivation rec {
     logger() { '$out'/bin/logger "$@"; }\
     ' ${debianDispatcherScript} > ${outDispatchPath}
     chmod 555 ${outDispatchPath}
-    PATH=$out/bin patchShebangs ${outDispatchPath}
+    HOST_PATH=$out/bin patchShebangs --host ${outDispatchPath}
   '';
 
+  strictDeps = true;
+
   depsBuildBuild = [ buildPackages.stdenv.cc ];
 
   buildInputs = lib.optionals (enableStatic && !useMusl && stdenv.cc.libc ? static) [ stdenv.cc.libc stdenv.cc.libc.static ];
diff --git a/pkgs/os-specific/linux/compsize/default.nix b/pkgs/os-specific/linux/compsize/default.nix
index b1c6f5a8f9566..f835b9a9ec9d9 100644
--- a/pkgs/os-specific/linux/compsize/default.nix
+++ b/pkgs/os-specific/linux/compsize/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "compsize";
-  version = "1.4";
+  version = "1.5";
 
   src = fetchFromGitHub {
     owner = "kilobyte";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0gk2vibfl9fh7biznlbr3dwknrwbm5q5602q95jbjvk185g9z126";
+    sha256 = "sha256-OX41ChtHX36lVRL7O2gH21Dfw6GPPEClD+yafR/PFm8=";
   };
 
   buildInputs = [ btrfs-progs ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "btrfs: Find compression type/ratio on a file or set of files";
     homepage    = "https://github.com/kilobyte/compsize";
-    license     = licenses.gpl2;
+    license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ CrazedProgrammer ];
     platforms   = platforms.linux;
   };
diff --git a/pkgs/os-specific/linux/criu/default.nix b/pkgs/os-specific/linux/criu/default.nix
index f48ed260c7685..af77264582481 100644
--- a/pkgs/os-specific/linux/criu/default.nix
+++ b/pkgs/os-specific/linux/criu/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchurl, protobuf, protobufc, asciidoc, iptables
 , xmlto, docbook_xsl, libpaper, libnl, libcap, libnet, pkg-config
-, which, python3, makeWrapper, docbook_xml_dtd_45 }:
+, which, python3, makeWrapper, docbook_xml_dtd_45, perl }:
 
 stdenv.mkDerivation rec {
   pname = "criu";
@@ -12,14 +12,14 @@ stdenv.mkDerivation rec {
   };
 
   enableParallelBuilding = true;
-  nativeBuildInputs = [ pkg-config docbook_xsl which makeWrapper docbook_xml_dtd_45 python3 python3.pkgs.wrapPython ];
+  nativeBuildInputs = [ pkg-config docbook_xsl which makeWrapper docbook_xml_dtd_45 python3 python3.pkgs.wrapPython perl ];
   buildInputs = [ protobuf protobufc asciidoc xmlto libpaper libnl libcap libnet iptables ];
   propagatedBuildInputs = with python3.pkgs; [ python python3.pkgs.protobuf ];
 
   postPatch = ''
-    substituteInPlace ./Documentation/Makefile --replace "2>/dev/null" ""
-    substituteInPlace ./Documentation/Makefile --replace "-m custom.xsl" "-m custom.xsl --skip-validation -x ${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl"
-    substituteInPlace ./criu/Makefile --replace "-I/usr/include/libnl3" "-I${libnl.dev}/include/libnl3"
+    substituteInPlace ./Documentation/Makefile \
+      --replace "2>/dev/null" "" \
+      --replace "-m custom.xsl" "-m custom.xsl --skip-validation -x ${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl"
     substituteInPlace ./Makefile --replace "head-name := \$(shell git tag -l v\$(CRIU_VERSION))" "head-name = ${version}.0"
     ln -sf ${protobuf}/include/google/protobuf/descriptor.proto ./images/google/protobuf/descriptor.proto
   '';
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
     description = "Userspace checkpoint/restore for Linux";
     homepage    = "https://criu.org";
     license     = licenses.gpl2;
-    platforms   = [ "x86_64-linux" ];
+    platforms   = [ "x86_64-linux" "aarch64-linux" ];
     maintainers = [ maintainers.thoughtpolice ];
   };
 }
diff --git a/pkgs/os-specific/linux/ena/default.nix b/pkgs/os-specific/linux/ena/default.nix
index dc17f7f169655..62f95ef53220b 100644
--- a/pkgs/os-specific/linux/ena/default.nix
+++ b/pkgs/os-specific/linux/ena/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, kernel }:
 
 stdenv.mkDerivation rec {
-  version = "2.3.0";
+  version = "2.4.1";
   name = "ena-${version}-${kernel.version}";
 
   src = fetchFromGitHub {
     owner = "amzn";
     repo = "amzn-drivers";
     rev = "ena_linux_${version}";
-    sha256 = "sha256-ho6yKCgYo3p50leQUCmzNO/3wqzSzs27Eash3AWBaiE=";
+    sha256 = "0f3i878g11yfw6n68p3qf125jsnggy706jhc8sc0z1xgap6qgh09";
   };
 
   hardeningDisable = [ "pic" ];
@@ -19,23 +19,28 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
 
   configurePhase = ''
+    runHook preConfigure
     cd kernel/linux/ena
     substituteInPlace Makefile --replace '/lib/modules/$(BUILD_KERNEL)' ${kernel.dev}/lib/modules/${kernel.modDirVersion}
+    runHook postConfigure
   '';
 
   installPhase = ''
+    runHook preInstall
     strip -S ena.ko
     dest=$out/lib/modules/${kernel.modDirVersion}/misc
     mkdir -p $dest
     cp ena.ko $dest/
     xz $dest/ena.ko
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "Amazon Elastic Network Adapter (ENA) driver for Linux";
     homepage = "https://github.com/amzn/amzn-drivers";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     maintainers = [ maintainers.eelco ];
     platforms = platforms.linux;
+    broken = kernel.kernelOlder "4.5";
   };
 }
diff --git a/pkgs/os-specific/linux/eudev/default.nix b/pkgs/os-specific/linux/eudev/default.nix
index 3d26fc3b00559..c8562cc5f3c02 100644
--- a/pkgs/os-specific/linux/eudev/default.nix
+++ b/pkgs/os-specific/linux/eudev/default.nix
@@ -3,10 +3,10 @@ let
   s = # Generated upstream information
   rec {
     baseName="eudev";
-    version = "3.2.9";
+    version = "3.2.10";
     name="${baseName}-${version}";
     url="http://dev.gentoo.org/~blueness/eudev/eudev-${version}.tar.gz";
-    sha256 = "1z6lfhhbjs6j7pbp6ybn17ywjsdl87ql6g1p3m2y26aa10cqcqc9";
+    sha256 = "sha256-h7sCjUcP0bhRaTSbRMVdW3M3M9wtUN3xGW4CZyXq0DQ=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/os-specific/linux/firejail/default.nix b/pkgs/os-specific/linux/firejail/default.nix
index 6c0b5117e9d8d..95998c694fb9e 100644
--- a/pkgs/os-specific/linux/firejail/default.nix
+++ b/pkgs/os-specific/linux/firejail/default.nix
@@ -1,25 +1,18 @@
-{lib, stdenv, fetchurl, fetchpatch, which, xdg-dbus-proxy, nixosTests}:
-let
-  s = # Generated upstream information
-  rec {
-    baseName="firejail";
-    version="0.9.64";
-    name="${baseName}-${version}";
-    url="mirror://sourceforge/firejail/firejail/firejail-${version}.tar.xz";
-    sha256="1zgjwy2k57nx0r63fzr15gijah098ig0bll66jd615vc9q3snfz5";
-  };
-  buildInputs = [
-    which
-  ];
-in
-stdenv.mkDerivation {
-  inherit (s) name version;
-  inherit buildInputs;
-  src = fetchurl {
-    inherit (s) url sha256;
-    name = "${s.name}.tar.bz2";
+{ lib, stdenv, fetchFromGitHub, fetchpatch, which, xdg-dbus-proxy, nixosTests }:
+
+stdenv.mkDerivation rec {
+  pname = "firejail";
+  version = "0.9.64.4";
+
+  src = fetchFromGitHub {
+    owner = "netblue30";
+    repo = "firejail";
+    rev = version;
+    sha256 = "sha256-q/XL8cznHlUXdubUEptEAVma1jRUqFb5XcLAV0RVCzs=";
   };
 
+  buildInputs = [ which ];
+
   patches = [
     # Adds the /nix directory when using an overlay.
     # Required to run any programs under this mode.
@@ -79,12 +72,10 @@ stdenv.mkDerivation {
   passthru.tests = nixosTests.firejail;
 
   meta = {
-    inherit (s) version;
     description = "Namespace-based sandboxing tool for Linux";
-    license = lib.licenses.gpl2Plus ;
-    maintainers = [lib.maintainers.raskin];
+    license = lib.licenses.gpl2Plus;
+    maintainers = [ lib.maintainers.raskin ];
     platforms = lib.platforms.linux;
     homepage = "https://firejail.wordpress.com/";
-    downloadPage = "https://sourceforge.net/projects/firejail/files/firejail/";
   };
 }
diff --git a/pkgs/os-specific/linux/firejail/default.upstream b/pkgs/os-specific/linux/firejail/default.upstream
deleted file mode 100644
index 0e6576c44a809..0000000000000
--- a/pkgs/os-specific/linux/firejail/default.upstream
+++ /dev/null
@@ -1,3 +0,0 @@
-url https://sourceforge.net/projects/firejail/files/firejail/
-version_link '[-][0-9.]+[.]tar[.][a-z0-9]+/download$'
-SF_redirect
diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
index 4fd1cf7ef1ad8..6801256c7d36a 100644
--- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
+++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
@@ -2,12 +2,12 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "firmware-linux-nonfree";
-  version = "2020-12-18";
+  version = "2021-02-08";
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git";
     rev = lib.replaceStrings ["-"] [""] version;
-    sha256 = "1rb5b3fzxk5bi6kfqp76q1qszivi0v1kdz1cwj2llp5sd9ns03b5";
+    sha256 = "0c85cd659312isfz1r87qswsgfhy0rljagcwspnvjljqrh9bsgzq";
   };
 
   installFlags = [ "DESTDIR=$(out)" ];
@@ -17,7 +17,7 @@ stdenvNoCC.mkDerivation rec {
 
   outputHashMode = "recursive";
   outputHashAlgo = "sha256";
-  outputHash = "1p7vn2hfwca6w69jhw5zq70w44ji8mdnibm1z959aalax6ndy146";
+  outputHash = "0l4xsgxdvjffad7a98n42nyqy3ihs6m6hy3qsfkqin9z10413x5n";
 
   meta = with lib; {
     description = "Binary firmware collection packaged by kernel.org";
diff --git a/pkgs/os-specific/linux/firmware/firmware-manager/default.nix b/pkgs/os-specific/linux/firmware/firmware-manager/default.nix
index c4649557b111d..f7f02037800b9 100644
--- a/pkgs/os-specific/linux/firmware/firmware-manager/default.nix
+++ b/pkgs/os-specific/linux/firmware/firmware-manager/default.nix
@@ -1,13 +1,13 @@
 { rustPlatform, lib, fetchFromGitHub, lzma, pkg-config, openssl, dbus, glib, udev, cairo, pango, atk, gdk-pixbuf, gtk3, wrapGAppsHook }:
 rustPlatform.buildRustPackage rec {
   pname = "firmware-manager";
-  version = "0.1.1";
+  version = "0.1.2";
 
   src = fetchFromGitHub {
     owner = "pop-os";
     repo = pname;
     rev = version;
-    sha256 = "0x9604jsflqxvbkfp139mzjicpyx8v21139jj8bp88c14ngvmdlw";
+    sha256 = "sha256-aKatdjHa/k7j48upkR1O6PFxCUfJYE3KhhzZ9Ohe0Jc=";
   };
 
   nativeBuildInputs = [ pkg-config wrapGAppsHook ];
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
 
   installPhase = "make prefix='$(out)' install";
 
-  cargoSha256 = "0byc0pqa1w2qnfrx3psrzdq1c8qjslbmzxg872b9v6fr5d4c9cvg";
+  cargoSha256 = "sha256-TISYaSOu8c+74ie4QHLqflXfLWwcLHEOch/hAx3iu60=";
 
   doCheck = false;
 
diff --git a/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch b/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
index dce4af69aa208..cd42f2f44e208 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
+++ b/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
@@ -1,5 +1,5 @@
 diff --git a/data/meson.build b/data/meson.build
-index 14454458..12a798c0 100644
+index 50154569..f8058a8e 100644
 --- a/data/meson.build
 +++ b/data/meson.build
 @@ -17,7 +17,7 @@ endif
@@ -73,10 +73,10 @@ index 826a3c1d..b78db663 100644
 +  install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'),
  )
 diff --git a/meson.build b/meson.build
-index a6fb55dd..aedb7530 100644
+index b075ca89..8d504d3c 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -183,6 +183,12 @@ endif
+@@ -194,6 +194,12 @@ endif
  mandir = join_paths(prefix, get_option('mandir'))
  localedir = join_paths(prefix, get_option('localedir'))
  
@@ -90,7 +90,7 @@ index a6fb55dd..aedb7530 100644
  gio = dependency('gio-2.0', version : '>= 2.45.8')
  giounix = dependency('gio-unix-2.0', version : '>= 2.45.8', required: false)
 diff --git a/meson_options.txt b/meson_options.txt
-index 0a0e2853..198ae930 100644
+index bc76c0ab..8a67d012 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
 @@ -1,3 +1,4 @@
@@ -98,19 +98,6 @@ index 0a0e2853..198ae930 100644
  option('build', type : 'combo', choices : ['all', 'standalone', 'library'], value : 'all', description : 'build type')
  option('agent', type : 'boolean', value : true, description : 'enable the fwupd agent')
  option('consolekit', type : 'boolean', value : true, description : 'enable ConsoleKit support')
-diff --git a/plugins/ata/meson.build b/plugins/ata/meson.build
-index f32b97fe..679ccc7b 100644
---- a/plugins/ata/meson.build
-+++ b/plugins/ata/meson.build
-@@ -7,7 +7,7 @@ install_data([
- )
- 
- install_data(['ata.conf'],
--  install_dir:  join_paths(sysconfdir, 'fwupd')
-+  install_dir:  join_paths(sysconfdir_install, 'fwupd')
- )
- 
- shared_module('fu_plugin_ata',
 diff --git a/plugins/dell-esrt/meson.build b/plugins/dell-esrt/meson.build
 index ed4eee70..76dbdb1d 100644
 --- a/plugins/dell-esrt/meson.build
@@ -123,10 +110,10 @@ index ed4eee70..76dbdb1d 100644
 +  install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'),
  )
 diff --git a/plugins/redfish/meson.build b/plugins/redfish/meson.build
-index 92762791..08bb37ea 100644
+index 205d1394..3223f404 100644
 --- a/plugins/redfish/meson.build
 +++ b/plugins/redfish/meson.build
-@@ -26,7 +26,7 @@ shared_module('fu_plugin_redfish',
+@@ -27,7 +27,7 @@ shared_module('fu_plugin_redfish',
  )
  
  install_data(['redfish.conf'],
@@ -148,14 +135,14 @@ index 6b2368fb..2bd06fed 100644
  )
  # we use functions from 2.52 in the tests
  if get_option('tests') and umockdev.found() and gio.version().version_compare('>= 2.52')
-diff --git a/plugins/uefi/meson.build b/plugins/uefi/meson.build
-index 2d1b2d22..c4217a72 100644
---- a/plugins/uefi/meson.build
-+++ b/plugins/uefi/meson.build
+diff --git a/plugins/uefi-capsule/meson.build b/plugins/uefi-capsule/meson.build
+index 0b793a07..ebd3e5ea 100644
+--- a/plugins/uefi-capsule/meson.build
++++ b/plugins/uefi-capsule/meson.build
 @@ -97,7 +97,7 @@ if get_option('man')
  endif
  
- install_data(['uefi.conf'],
+ install_data(['uefi_capsule.conf'],
 -  install_dir:  join_paths(sysconfdir, 'fwupd')
 +  install_dir:  join_paths(sysconfdir_install, 'fwupd')
  )
diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix
index 5c40a5540dc35..bfa7783b6b838 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix
@@ -30,6 +30,7 @@
 , docbook-xsl-nons
 , ninja
 , gcab
+, gnutls
 , python3
 , wrapGAppsHook
 , json-glib
@@ -73,6 +74,9 @@ let
   # only redfish for x86_64
   haveRedfish = stdenv.isx86_64;
 
+  # only use msr if x86 (requires cpuid)
+  haveMSR = isx86;
+
   # # Currently broken on Aarch64
   # haveFlashrom = isx86;
   # Experimental
@@ -87,7 +91,13 @@ let
 
   self = stdenv.mkDerivation rec {
     pname = "fwupd";
-    version = "1.5.3";
+    # A regression is present in https://github.com/fwupd/fwupd/commit/fde4b1676a2c64e70bebd88f7720307c62635654
+    # released with 1.5.6.
+    # Fix for the regression: https://github.com/fwupd/fwupd/pull/2902
+    # Maintainer says a new release is to be expected in a few days:
+    #   https://twitter.com/hughsient/status/1362476792297185289
+    # In the mean time, please do not release 1.5.6 and go strait to 1.5.7
+    version = "1.5.5";
 
     # libfwupd goes to lib
     # daemon, plug-ins and libfwupdplugin go to out
@@ -96,7 +106,7 @@ let
 
     src = fetchurl {
       url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz";
-      sha256 = "005y5wicmm6f2v8i9m3axx7ivgj3z8mbqps4v9m71bsqmq298j86";
+      sha256 = "0c2m9qz1g7zxqc6w90w9hksf8y9hvlh0vyvx06q01x893j5hzxh6";
     };
 
     patches = [
@@ -129,6 +139,7 @@ let
       shared-mime-info
       valgrind
       gcab
+      gnutls
       docbook_xml_dtd_43
       docbook-xsl-nons
       help2man
@@ -194,6 +205,8 @@ let
       "-Dplugin_redfish=false"
     ] ++ lib.optionals haveFlashrom [
       "-Dplugin_flashrom=true"
+    ] ++ lib.optionals (!haveMSR) [
+      "-Dplugin_msr=false"
     ];
 
     # TODO: wrapGAppsHook wraps efi capsule even though it is not ELF
@@ -274,16 +287,14 @@ let
 
     passthru = {
       filesInstalledToEtc = [
-        "fwupd/ata.conf"
         "fwupd/daemon.conf"
-        "fwupd/redfish.conf"
         "fwupd/remotes.d/lvfs-testing.conf"
         "fwupd/remotes.d/lvfs.conf"
         "fwupd/remotes.d/vendor.conf"
         "fwupd/remotes.d/vendor-directory.conf"
         "fwupd/thunderbolt.conf"
         "fwupd/upower.conf"
-        "fwupd/uefi.conf"
+        "fwupd/uefi_capsule.conf"
         "pki/fwupd/GPG-KEY-Hughski-Limited"
         "pki/fwupd/GPG-KEY-Linux-Foundation-Firmware"
         "pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service"
@@ -293,6 +304,8 @@ let
         "pki/fwupd-metadata/LVFS-CA.pem"
       ] ++ lib.optionals haveDell [
         "fwupd/remotes.d/dell-esrt.conf"
+      ] ++ lib.optionals haveRedfish [
+        "fwupd/redfish.conf"
       ];
 
       # DisabledPlugins key in fwupd/daemon.conf
diff --git a/pkgs/os-specific/linux/flashbench/default.nix b/pkgs/os-specific/linux/flashbench/default.nix
index 9c14fde319df5..44bcbba205e0c 100644
--- a/pkgs/os-specific/linux/flashbench/default.nix
+++ b/pkgs/os-specific/linux/flashbench/default.nix
@@ -1,27 +1,32 @@
-{ lib, stdenv, fetchgit }:
+{ lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation {
-  pname = "flashbench";
-  version = "2012-06-06";
+  pname = "flashbench-unstable";
+  version = "2020-01-23";
 
-  src = fetchgit {
-    url = "https://github.com/bradfa/flashbench.git";
-    rev = "2e30b1968a66147412f21002ea844122a0d5e2f0";
-    sha256 = "037rhd2alwfip9qk78cy8fwwnc2kdyzccsyc7v2zpmvl4vvpvnhg";
+  src = fetchFromGitHub {
+    owner = "bradfa";
+    repo = "flashbench";
+    rev = "d783b1bd2443812c6deadc31b081f043e43e4c1a";
+    sha256 = "045j1kpay6x2ikz8x54ph862ymfy1nzpbmmqpf3nkapiv32fjqw5";
   };
 
   installPhase = ''
+    runHook preInstall
+
     install -d -m755 $out/bin $out/share/doc/flashbench
     install -v -m755 flashbench $out/bin
     install -v -m755 erase $out/bin/flashbench-erase
     install -v -m644 README $out/share/doc/flashbench
+
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "Testing tool for flash based memory devices";
     homepage = "https://github.com/bradfa/flashbench";
     platforms = platforms.linux;
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     maintainers = [ maintainers.rycee ];
   };
 }
diff --git a/pkgs/os-specific/linux/fscryptctl/default.nix b/pkgs/os-specific/linux/fscryptctl/default.nix
index 204ce6bf992c8..bd1b414f4cbad 100644
--- a/pkgs/os-specific/linux/fscryptctl/default.nix
+++ b/pkgs/os-specific/linux/fscryptctl/default.nix
@@ -1,28 +1,38 @@
 { lib, stdenv, fetchFromGitHub }:
 
-# Don't use this for anything important yet!
-
 stdenv.mkDerivation rec {
-  pname = "fscryptctl-unstable";
-  version = "2017-10-23";
+  pname = "fscryptctl";
+  version = "1.0.0";
 
   goPackagePath = "github.com/google/fscrypt";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "fscryptctl";
-    rev = "142326810eb19d6794793db6d24d0775a15aa8e5";
-    sha256 = "1853hlpklisbqnkb7a921dsf0vp2nr2im26zpmrs592cnpsvk3hb";
+    rev = "v${version}";
+    sha256 = "1hwj726mm0yhlcf6523n07h0yq1rvkv4km64h3ydpjcrcxklhw6l";
   };
 
-  makeFlags = [ "DESTDIR=$(out)/bin" ];
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
   meta = with lib; {
-    description = ''
-      A low-level tool that handles raw keys and manages policies for Linux
-      filesystem encryption
+    description = "Small C tool for Linux filesystem encryption";
+    longDescription = ''
+      fscryptctl is a low-level tool written in C that handles raw keys and
+      manages policies for Linux filesystem encryption, specifically the
+      "fscrypt" kernel interface which is supported by the ext4, f2fs, and
+      UBIFS filesystems.
+      fscryptctl is mainly intended for embedded systems which can't use the
+      full-featured fscrypt tool, or for testing or experimenting with the
+      kernel interface to Linux filesystem encryption. fscryptctl does not
+      handle key generation, key stretching, key wrapping, or PAM integration.
+      Most users should use the fscrypt tool instead, which supports these
+      features and generally is much easier to use.
+      As fscryptctl is intended for advanced users, you should read the kernel
+      documentation for filesystem encryption before using fscryptctl.
     '';
     inherit (src.meta) homepage;
+    changelog = "https://github.com/google/fscryptctl/releases/tag/v{version}";
     license = licenses.asl20;
     platforms = platforms.linux;
     maintainers = with maintainers; [ primeos ];
diff --git a/pkgs/os-specific/linux/fscryptctl/legacy.nix b/pkgs/os-specific/linux/fscryptctl/legacy.nix
new file mode 100644
index 0000000000000..64a409fb58bf5
--- /dev/null
+++ b/pkgs/os-specific/linux/fscryptctl/legacy.nix
@@ -0,0 +1,51 @@
+{ lib, stdenv, fetchFromGitHub }:
+
+# Don't use this for anything important!
+# TODO: Drop fscryptctl-experimental after the NixOS 21.03/21.05 release.
+
+stdenv.mkDerivation rec {
+  pname = "fscryptctl";
+  version = "0.1.0";
+
+  goPackagePath = "github.com/google/fscrypt";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "fscryptctl";
+    rev = "v${version}";
+    sha256 = "1853hlpklisbqnkb7a921dsf0vp2nr2im26zpmrs592cnpsvk3hb";
+  };
+
+  makeFlags = [ "DESTDIR=$(out)/bin" ];
+
+  meta = with lib; {
+    description = "Small C tool for Linux filesystem encryption";
+    longDescription = ''
+      fscryptctl is a low-level tool written in C that handles raw keys and
+      manages policies for Linux filesystem encryption, specifically the
+      "fscrypt" kernel interface which is supported by the ext4, f2fs, and
+      UBIFS filesystems.
+      fscryptctl is mainly intended for embedded systems which can't use the
+      full-featured fscrypt tool, or for testing or experimenting with the
+      kernel interface to Linux filesystem encryption. fscryptctl does not
+      handle key generation, key stretching, key wrapping, or PAM integration.
+      Most users should use the fscrypt tool instead, which supports these
+      features and generally is much easier to use.
+      As fscryptctl is intended for advanced users, you should read the kernel
+      documentation for filesystem encryption before using fscryptctl.
+    '';
+    inherit (src.meta) homepage;
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ primeos ];
+    knownVulnerabilities = [ ''
+      fscryptctl version 1.0.0 was released and now uses v2 encryption
+      policies. fscryptctl-experimental will remain at version 0.1.0 which
+      still supports the v1 encryption policies. Please try to switch from the
+      "fscryptctl-experimental" package to "fscryptctl". The v1 encryption
+      policies can be insecure, are hard to use correctly, and have different
+      semantics from v2 policies (which is why they are no longer supported in
+      fscryptctl 1.0.0+).
+    '' ];
+  };
+}
diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix
index 0ed6f54a1dcc0..02c46b9ba7728 100644
--- a/pkgs/os-specific/linux/fuse/default.nix
+++ b/pkgs/os-specific/linux/fuse/default.nix
@@ -11,7 +11,7 @@ in {
   };
 
   fuse_3 = mkFuse {
-    version = "3.10.1";
-    sha256Hash = "0bb22mac8m0z6qp0s6g4r0x4aj6gc19pfyqr6sdy4hkpwxicgmaf";
+    version = "3.10.2";
+    sha256Hash = "0m44hhk6jxkgkvk2jsjcwa3pqgzzqnpm606n3n8wn1ldypkvpsps";
   };
 }
diff --git a/pkgs/os-specific/linux/gradm/default.nix b/pkgs/os-specific/linux/gradm/default.nix
index cdfc91a683727..7d2660ad26e96 100644
--- a/pkgs/os-specific/linux/gradm/default.nix
+++ b/pkgs/os-specific/linux/gradm/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gradm";
-  version = "3.1-201903191516";
+  version = "3.1-202012071814";
 
   src  = fetchurl {
     url    = "http://grsecurity.net/stable/${pname}-${version}.tar.gz";
-    sha256 = "1wszqwaswcf08s9zbvnqzmmfdykyfcy16w8xjia20ypr7wwbd86k";
+    sha256 = "sha256-ghl9P2IYsSHcJsVxJbFwfFS1CTZ2xLxdvyhdk/1OZG4=";
   };
 
   nativeBuildInputs = [ bison flex ];
diff --git a/pkgs/os-specific/linux/hal-flash/default.nix b/pkgs/os-specific/linux/hal-flash/default.nix
deleted file mode 100644
index 70dab152c728c..0000000000000
--- a/pkgs/os-specific/linux/hal-flash/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib, stdenv, fetchurl, autoconf, automake, dbus, glib, libtool, pkg-config, udisks2 }:
-
-stdenv.mkDerivation {
-  name = "hal-flash-0.3.3";
-
-  src = fetchurl {
-    url = "https://github.com/cshorler/hal-flash/archive/v0.3.3.tar.gz";
-    sha256 = "0dw9bx190mrh0dycw4rfvfmwwvh2sgypffr99nfnr36b38jrd6y6";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ autoconf automake dbus glib libtool udisks2 ];
-
-  preConfigure = "libtoolize && aclocal && autoconf && automake --add-missing";
-
-  meta = with lib; {
-    homepage = "https://github.com/cshorler/hal-flash";
-    description = "libhal stub library to satisfy the Flash Player DRM requirements";
-    longDescription =
-      ''
-        Stub library based loosely upon libhal.[ch] from the hal-0.5.14
-        package.  Provides the minimum necessary functionality to enable
-        libflashplayer.so/libadobecp.so to play back DRM content.
-      '';
-    license = with licenses; [ afl21 gpl2 ];
-    maintainers = with maintainers; [ malyn ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/os-specific/linux/hwdata/default.nix b/pkgs/os-specific/linux/hwdata/default.nix
index 6cee603664db3..bd52f37e62f89 100644
--- a/pkgs/os-specific/linux/hwdata/default.nix
+++ b/pkgs/os-specific/linux/hwdata/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hwdata";
-  version = "0.335";
+  version = "0.344";
 
   src = fetchFromGitHub {
     owner = "vcrhonek";
     repo = "hwdata";
     rev = "v${version}";
-    sha256 = "0f8ikwfrs6xd5sywypd9rq9cln8a0rf3vj6nm0adwzn1p8mgmrb2";
+    sha256 = "0rsnm94r814shr86jk6f2323i1n4p58inkgkx7362yz9k4a8ir7a";
   };
 
   preConfigure = "patchShebangs ./configure";
@@ -19,12 +19,12 @@ stdenv.mkDerivation rec {
 
   outputHashMode = "recursive";
   outputHashAlgo = "sha256";
-  outputHash = "101lppd1805drwd038b4njr5czzjnqqxf3xlf6v3l22wfwr2cn3l";
+  outputHash = "011lyldzskfb4sfn4i7qyyq3i4gaf1v9yfbc82889cabka0n4nfz";
 
   meta = {
     homepage = "https://github.com/vcrhonek/hwdata";
     description = "Hardware Database, including Monitors, pci.ids, usb.ids, and video cards";
-    license = lib.licenses.gpl2;
-    platforms = lib.platforms.linux;
+    license = lib.licenses.gpl2Plus;
+    platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/os-specific/linux/ipset/default.nix b/pkgs/os-specific/linux/ipset/default.nix
index 6e64013464a06..213ae45f48f36 100644
--- a/pkgs/os-specific/linux/ipset/default.nix
+++ b/pkgs/os-specific/linux/ipset/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ipset";
-  version = "7.10";
+  version = "7.11";
 
   src = fetchurl {
     url = "http://ipset.netfilter.org/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-skkGukPi/jIr1BhjR2dh10mkvd9c5MImW6BLA7x+nPY=";
+    sha256 = "sha256-MVG6rTDx2eMXsqtPL1qnqfe03BH8+P5zrNDcC126v30=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/os-specific/linux/iptables/default.nix b/pkgs/os-specific/linux/iptables/default.nix
index 82157ffa07915..797e7a5b13050 100644
--- a/pkgs/os-specific/linux/iptables/default.nix
+++ b/pkgs/os-specific/linux/iptables/default.nix
@@ -6,12 +6,12 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  version = "1.8.6";
+  version = "1.8.7";
   pname = "iptables";
 
   src = fetchurl {
     url = "https://www.netfilter.org/projects/${pname}/files/${pname}-${version}.tar.bz2";
-    sha256 = "0rvp0k8a72h2snrdx48cfn75bfa0ycrd2xl3kjysbymq7q6gxx50";
+    sha256 = "1w6qx3sxzkv80shk21f63rq41c84irpx68k62m2cv629n1mwj2f1";
   };
 
   nativeBuildInputs = [ pkg-config pruneLibtoolFiles flex bison ];
diff --git a/pkgs/os-specific/linux/iputils/default.nix b/pkgs/os-specific/linux/iputils/default.nix
index 0079aa79a22b9..56942d6d4201d 100644
--- a/pkgs/os-specific/linux/iputils/default.nix
+++ b/pkgs/os-specific/linux/iputils/default.nix
@@ -1,12 +1,10 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch
+{ lib, stdenv, fetchFromGitHub
 , meson, ninja, pkg-config, gettext, libxslt, docbook_xsl_ns
 , libcap, libidn2
 }:
 
-with lib;
-
 let
-  version = "20200821";
+  version = "20210202";
   sunAsIsLicense = {
     fullName = "AS-IS, SUN MICROSYSTEMS license";
     url = "https://github.com/iputils/iputils/blob/s${version}/rdisc.c";
@@ -18,18 +16,10 @@ in stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "s${version}";
-    sha256 = "1jhbcz75a4ij1myyyi110ma1d8d5hpm3scz9pyw7js6qym50xvh4";
+    rev = version;
+    sha256 = "08j2hfgnfh31vv9rn1ml7090j2lsvm9wdpdz13rz60rmyzrx9dq3";
   };
 
-  patches = [
-    # Proposed upstream patch to reduce dependency on systemd: https://github.com/iputils/iputils/pull/297
-    (fetchpatch {
-      url = "https://github.com/iputils/iputils/commit/13d6aefd57fd471ecad06e19073dcc44608dff5e.patch";
-      sha256 = "1n62zxmzp7hgz9qapbbpqv3fxqvc3qyd2a73jhp357x6by84kj49";
-    })
-  ];
-
   mesonFlags = [
     "-DBUILD_RARPD=true"
     "-DBUILD_TRACEROUTE6=true"
@@ -39,13 +29,13 @@ in stdenv.mkDerivation rec {
     "-DINSTALL_SYSTEMD_UNITS=true"
   ]
     # Disable idn usage w/musl (https://github.com/iputils/iputils/pull/111):
-    ++ optional stdenv.hostPlatform.isMusl "-DUSE_IDN=false";
+    ++ lib.optional stdenv.hostPlatform.isMusl "-DUSE_IDN=false";
 
   nativeBuildInputs = [ meson ninja pkg-config gettext libxslt.bin docbook_xsl_ns ];
   buildInputs = [ libcap ]
-    ++ optional (!stdenv.hostPlatform.isMusl) libidn2;
+    ++ lib.optional (!stdenv.hostPlatform.isMusl) libidn2;
 
-  meta = {
+  meta = with lib; {
     description = "A set of small useful utilities for Linux networking";
     inherit (src.meta) homepage;
     changelog = "https://github.com/iputils/iputils/releases/tag/s${version}";
diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix
index 7a81d9434e343..a2a63e2bcab2a 100644
--- a/pkgs/os-specific/linux/kernel-headers/default.nix
+++ b/pkgs/os-specific/linux/kernel-headers/default.nix
@@ -69,12 +69,12 @@ let
 in {
   inherit makeLinuxHeaders;
 
-  linuxHeaders = let version = "5.10.9"; in
+  linuxHeaders = let version = "5.11"; in
     makeLinuxHeaders {
       inherit version;
       src = fetchurl {
         url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-        sha256 = "0la7dklpy6xd79fkzavpmlfyrc60kmmwz491msd95dmvv06kwwvz";
+        sha256 = "1d37w0zvmf8c1l99xvy1hy6p55icjhmbsv7f0amxy2nly1a7pw04";
       };
       patches = [
          ./no-relocs.patch # for building x86 kernel headers on non-ELF platforms
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index b8bb91b3b72cf..0d93dd485a40f 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -174,6 +174,8 @@ let
                                               (whenAtLeast "4.17" yes) ];
       NF_TABLES_NETDEV            = mkMerge [ (whenOlder "4.17" module)
                                               (whenAtLeast "4.17" yes) ];
+      NFT_REJECT_NETDEV           = whenAtLeast "5.11" module;
+
       # IP: Netfilter Configuration
       NF_TABLES_IPV4              = mkMerge [ (whenOlder "4.17" module)
                                               (whenAtLeast "4.17" yes) ];
@@ -252,6 +254,15 @@ let
       DRM_AMDGPU_CIK = whenAtLeast "4.9" yes;
       # Allow device firmware updates
       DRM_DP_AUX_CHARDEV = whenAtLeast "4.6" yes;
+      # amdgpu display core (DC) support
+      DRM_AMD_DC_DCN1_0 = whenBetween "4.15" "5.6" yes;
+      DRM_AMD_DC_PRE_VEGA = whenBetween "4.15" "4.18" yes;
+      DRM_AMD_DC_DCN2_0 = whenBetween "5.3" "5.6" yes;
+      DRM_AMD_DC_DCN2_1 = whenBetween "5.4" "5.6" yes;
+      DRM_AMD_DC_DCN3_0 = whenBetween "5.9" "5.11" yes;
+      DRM_AMD_DC_DCN = whenAtLeast "5.11" yes;
+      DRM_AMD_DC_HDCP = whenAtLeast "5.5" yes;
+      DRM_AMD_DC_SI = whenAtLeast "5.10" yes;
     } // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux") {
       # Intel GVT-g graphics virtualization supports 64-bit only
       DRM_I915_GVT = whenAtLeast "4.16" yes;
@@ -358,6 +369,7 @@ let
       F2FS_FS             = module;
       F2FS_FS_SECURITY    = option yes;
       F2FS_FS_ENCRYPTION  = option yes;
+      F2FS_FS_COMPRESSION = whenAtLeast "5.6" yes;
       UDF_FS              = module;
 
       NFSD_PNFS              = whenBetween "4.0" "4.6" yes;
@@ -404,6 +416,8 @@ let
       NLS_ISO8859_1    = module; # VFAT default for the iocharset= mount option
 
       DEVTMPFS = yes;
+
+      UNICODE = whenAtLeast "5.2" yes; # Casefolding support for filesystems
     };
 
     security = {
@@ -634,7 +648,12 @@ let
       XZ_DEC_TEST              = option no;
     };
 
-    criu = optionalAttrs (features.criu or false) ({
+    criu = if (versionAtLeast version "4.19") then {
+      # Unconditionally enabled, because it is required for CRIU and
+      # it provides the kcmp() system call that Mesa depends on.
+      CHECKPOINT_RESTORE  = yes;
+    } else optionalAttrs (features.criu or false) ({
+      # For older kernels, CHECKPOINT_RESTORE is hidden behind EXPERT.
       EXPERT              = yes;
       CHECKPOINT_RESTORE  = yes;
     } // optionalAttrs (features.criu_revert_expert or true) {
diff --git a/pkgs/os-specific/linux/kernel/hardened/patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json
index 73c4d7b69eaab..ef32e46583587 100644
--- a/pkgs/os-specific/linux/kernel/hardened/patches.json
+++ b/pkgs/os-specific/linux/kernel/hardened/patches.json
@@ -1,26 +1,26 @@
 {
     "4.14": {
         "extra": "-hardened1",
-        "name": "linux-hardened-4.14.217-hardened1.patch",
-        "sha256": "1hb5fa06xw9rn0f77lklrlhb6vajr1hjv64qxv5y03l7zqfsi7lx",
-        "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.217-hardened1/linux-hardened-4.14.217-hardened1.patch"
+        "name": "linux-hardened-4.14.222-hardened1.patch",
+        "sha256": "1p692sn0d6cwmilgpi8chs99m0c36pd2rphrljz7b8ywc394jxsb",
+        "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.222-hardened1/linux-hardened-4.14.222-hardened1.patch"
     },
     "4.19": {
         "extra": "-hardened1",
-        "name": "linux-hardened-4.19.171-hardened1.patch",
-        "sha256": "0j0l8pc5hyiga5l2zb697wl4ckbkw1q99nc85r2cyx50g750la2w",
-        "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.171-hardened1/linux-hardened-4.19.171-hardened1.patch"
+        "name": "linux-hardened-4.19.177-hardened1.patch",
+        "sha256": "1l9qic5ggak9qa04bhxrwsrdi6ih9a8dvnzv0l2dfrp7f5z4zmj9",
+        "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.177-hardened1/linux-hardened-4.19.177-hardened1.patch"
     },
     "5.10": {
         "extra": "-hardened1",
-        "name": "linux-hardened-5.10.11-hardened1.patch",
-        "sha256": "0jry808ywmvajys990cz5glnl7magqs8czw7xa2ipm3vrh7r1p0s",
-        "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.11-hardened1/linux-hardened-5.10.11-hardened1.patch"
+        "name": "linux-hardened-5.10.18-hardened1.patch",
+        "sha256": "19z1dlwqfwaxi72yr6yh9dzqqrk1v3za3i6qz95xyz5afwn8vp33",
+        "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.18-hardened1/linux-hardened-5.10.18-hardened1.patch"
     },
     "5.4": {
         "extra": "-hardened1",
-        "name": "linux-hardened-5.4.93-hardened1.patch",
-        "sha256": "1z7j9rxm4nk2fwdsklwmxc70l2mxs6awljfc6c3bwbs6rpcq3a7x",
-        "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.93-hardened1/linux-hardened-5.4.93-hardened1.patch"
+        "name": "linux-hardened-5.4.100-hardened1.patch",
+        "sha256": "0wr6lgb1xkj11y08y0v58ipkwifs56vy4bd3h70i52b7vhqwsb19",
+        "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.100-hardened1/linux-hardened-5.4.100-hardened1.patch"
     }
 }
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 193f6c3d160b0..3716ee9eb6f8c 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.14.217";
+  version = "4.14.222";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "04adj8x7p1has4mh8ygxhqgwb1i08fz9izqw1y6xj5hh8cjnm8v2";
+    sha256 = "0i67va37ca3avalgh2ab797c6w2v0h41y1mh4fql73lz7nq84h3k";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index f5315e30cc34d..e4b81530e95c3 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.19.171";
+  version = "4.19.177";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "02n65bmvm309bg6kzxg5ng5lcw564l3rp7dr6asyb1mr1vz55qzl";
+    sha256 = "0z9m081jg84mzp639ifx3321bpysfs3rpcrsx9mwdsh19rwv63mc";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix
index 6b2e8f08ecba8..f066bf3ad18a5 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,11 +1,11 @@
 { buildPackages, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.4.253";
+  version = "4.4.258";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0nlqnfhrkaj2s582kc0wxqi0881hgp6l9z85qx4ckflc8jwrh7k6";
+    sha256 = "0rb6sww4yd2m4a4v12klx29nyxb66f55ziv8xcihgf2iw4d62h8c";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 2c0c3457ef031..bdd84a83f2f87 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,11 +1,11 @@
 { buildPackages, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.253";
+  version = "4.9.258";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "065w35vb0qp4fvnwmcx7f92inmx64f9r04zzwcwbs0826nl52nws";
+    sha256 = "1kf8wlcf8gkpnglx1ggn1c3xfz4yx9995yb919mvin7nd7hghy6l";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.10.nix b/pkgs/os-specific/linux/kernel/linux-5.10.nix
index d4c8bd3f2e3b8..0ee5cad28ff64 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.10.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.10.11";
+  version = "5.10.18";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "03viivkmz9kvn8vak26l80p7fr8jbqisa0y605bi9i8gn1b2pvq2";
+    sha256 = "04dnkg5j73f6cd8ws1prrrjx37srz7rm66bj6slmnfzp3cmyxh9v";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.11.nix b/pkgs/os-specific/linux/kernel/linux-5.11.nix
new file mode 100644
index 0000000000000..000d6e64d778e
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-5.11.nix
@@ -0,0 +1,18 @@
+{ lib, buildPackages, fetchurl, perl, buildLinux, modDirVersionArg ? null, ... } @ args:
+
+with lib;
+
+buildLinux (args // rec {
+  version = "5.11.1";
+
+  # 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;
+
+  # branchVersion needs to be x.y
+  extraMeta.branch = versions.majorMinor version;
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
+    sha256 = "1gmrckvl3039z80rr740c0d5knwgj6p1dmhw4x9gwc7rxli6az85";
+  };
+} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index 637b0deb4991f..31e84a37d5935 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.4.93";
+  version = "5.4.100";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "08nmwd13z10866pc16fqbj41krnvk6hxkl4nmhdkpk346r04jx6k";
+    sha256 = "02i47fmx2jbnjr3sd1bvldf9vc712528phpnybsbq8h8lqd6hpbr";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix
index a84828aa0c1af..25c8ee3a65461 100644
--- a/pkgs/os-specific/linux/kernel/linux-libre.nix
+++ b/pkgs/os-specific/linux/kernel/linux-libre.nix
@@ -1,8 +1,8 @@
 { stdenv, lib, fetchsvn, linux
 , scripts ? fetchsvn {
     url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
-    rev = "17812";
-    sha256 = "150rh6qakyfzr6afzchf7c05z0dvc39gj0rpfb4ggr7xqpzhxrcc";
+    rev = "17873";
+    sha256 = "1r1c8wagbq3cgxys7ylvsg6bnxiky66xgx9l0282zsmnn3gh83l7";
   }
 , ...
 }:
@@ -35,6 +35,8 @@ in linux.override {
       '';
     };
 
+    extraMeta.broken = true;
+
     passthru.updateScript = ./update-libre.sh;
 
     maintainers = [ lib.maintainers.qyliss ];
diff --git a/pkgs/os-specific/linux/kernel/linux-lqx.nix b/pkgs/os-specific/linux/kernel/linux-lqx.nix
index e466b76867c91..b437bb4988830 100644
--- a/pkgs/os-specific/linux/kernel/linux-lqx.nix
+++ b/pkgs/os-specific/linux/kernel/linux-lqx.nix
@@ -1,8 +1,8 @@
 { lib, fetchFromGitHub, buildLinux, linux_zen, ... } @ args:
 
 let
-  version = "5.10.10";
-  suffix = "lqx2";
+  version = "5.11.1";
+  suffix = "lqx1";
 in
 
 buildLinux (args // {
@@ -14,7 +14,7 @@ buildLinux (args // {
     owner = "zen-kernel";
     repo = "zen-kernel";
     rev = "v${version}-${suffix}";
-    sha256 = "1cjgx9qjfkiaalqkcdmibsrq2frwd621rwcg6w05ms4w9lnwi3af";
+    sha256 = "00cji0dkfsjz6agwvcqpy7771hqbzcxk8awpbhlhpwa5j161r7l4";
   };
 
   extraMeta = {
diff --git a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
index d733f0bdfa432..4fb6c3e916d41 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.10.8-rt24"; # updated by ./update-rt.sh
+  version = "5.10.17-rt32"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -18,14 +18,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
-    sha256 = "1v83wm8xbhq1sgn7c84zi7l40vmd9k1gb653b686jp8n4na85z2w";
+    sha256 = "05289lr531piv1ncisbazfk0lj0q7gxflqkb0bn4c95vx0y64kp8";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "06fqwx9flcxzbjr9gb0d7v4hidypzz69r6p2mfzhqh7ii0p89f30";
+      sha256 = "1mffl1pvi7ijc3xws32bk8grs27ka2bd9bwl6h99vjn3dnkmkrfr";
     };
   }; in [ rt-patch ] ++ lib.remove rt-patch kernelPatches;
 
diff --git a/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix b/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
index 25e3172b0f3a6..6fbfa23e73942 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.4.84-rt47"; # updated by ./update-rt.sh
+  version = "5.4.93-rt51"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -14,14 +14,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
-    sha256 = "058mhczv6whjwxn7jjh1c6n5zrqjdnvbl2mp7jkfrg6frpvgr189";
+    sha256 = "08nmwd13z10866pc16fqbj41krnvk6hxkl4nmhdkpk346r04jx6k";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "0nccxf9l9ycvb782f48zrbl59vi674qq7yjyaks97440pgyd1jg0";
+      sha256 = "1ffipbnzv8rnmawjlglm667jq67asdr1mwrfhsmwkvlmivm9k4x1";
     };
   }; in [ rt-patch ] ++ lib.remove rt-patch kernelPatches;
 
diff --git a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
index b1874bf38202a..619bf48b736c2 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
@@ -7,6 +7,7 @@ buildLinux (args // {
   src = fetchFromGitHub {
     owner = "koverstreet";
     repo = "bcachefs";
+    # commit does not exist on any branch on the target repository
     rev = "6a505b63ed3003faf5000f19fd08bbd477d93fbc";
     sha256 = "1rf34gzv9npafp1c3i6lymk3b0gnqp4rb0wl33pw6yrpgnsry3cc";
   };
diff --git a/pkgs/os-specific/linux/kernel/linux-zen.nix b/pkgs/os-specific/linux/kernel/linux-zen.nix
index b30ee99664911..e54a05c6e8e39 100644
--- a/pkgs/os-specific/linux/kernel/linux-zen.nix
+++ b/pkgs/os-specific/linux/kernel/linux-zen.nix
@@ -1,7 +1,7 @@
 { lib, fetchFromGitHub, buildLinux, ... } @ args:
 
 let
-  version = "5.10.10";
+  version = "5.11.1";
   suffix = "zen1";
 in
 
@@ -14,7 +14,7 @@ buildLinux (args // {
     owner = "zen-kernel";
     repo = "zen-kernel";
     rev = "v${version}-${suffix}";
-    sha256 = "0jsi2q8k1w5zs5l6z1brm2mxpl9arv6n6linc8yj6xc75nydw6w4";
+    sha256 = "10xpb6r1ccqy2lsndf16dksi40z1cgm3wqjp3yjwzhad8zdjlm5d";
   };
 
   extraMeta = {
diff --git a/pkgs/os-specific/linux/kernel/update-rt.sh b/pkgs/os-specific/linux/kernel/update-rt.sh
index 4cbd45524a862..8cac5929252de 100755
--- a/pkgs/os-specific/linux/kernel/update-rt.sh
+++ b/pkgs/os-specific/linux/kernel/update-rt.sh
@@ -36,7 +36,8 @@ file-version() {
 latest-rt-version() {
     branch="$1" # e.g. 5.4
     curl -sL "$mirror/projects/rt/$branch/sha256sums.asc" |
-        sed -ne '/.patch.xz/ { s/.*patch-\(.*\).patch.xz/\1/; p; q }'
+        sed -ne '/.patch.xz/ { s/.*patch-\(.*\).patch.xz/\1/p}' |
+        tail -n 1
 }
 
 update-if-needed() {
diff --git a/pkgs/os-specific/linux/libaio/default.nix b/pkgs/os-specific/linux/libaio/default.nix
index 8cbc8466a916c..046bba5dda0fd 100644
--- a/pkgs/os-specific/linux/libaio/default.nix
+++ b/pkgs/os-specific/linux/libaio/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = [
     "prefix=${placeholder "out"}"
-  ];
+  ] ++ lib.optional stdenv.hostPlatform.isStatic "ENABLE_SHARED=0";
 
   hardeningDisable = lib.optional (stdenv.isi686) "stackprotector";
 
diff --git a/pkgs/os-specific/linux/libcap/default.nix b/pkgs/os-specific/linux/libcap/default.nix
index 246f02805f097..24e9011875669 100644
--- a/pkgs/os-specific/linux/libcap/default.nix
+++ b/pkgs/os-specific/linux/libcap/default.nix
@@ -7,11 +7,11 @@ assert usePam -> pam != null;
 
 stdenv.mkDerivation rec {
   pname = "libcap";
-  version = "2.46";
+  version = "2.47";
 
   src = fetchurl {
     url = "mirror://kernel/linux/libs/security/linux-privs/libcap2/${pname}-${version}.tar.xz";
-    sha256 = "1d6q447wf0iagiyzhfdqcj4cv0dmzc49i0czwikrcv7s2cad3lsf";
+    sha256 = "0jx0vjlfg1nzdjdrkrnbdkrqjx4l80vi9isf2qav7s4zbzs5s5mg";
   };
 
   patches = lib.optional isStatic ./no-shared-lib.patch;
diff --git a/pkgs/os-specific/linux/libsemanage/default.nix b/pkgs/os-specific/linux/libsemanage/default.nix
index d7255ac4587b1..11a6f2755d4cd 100644
--- a/pkgs/os-specific/linux/libsemanage/default.nix
+++ b/pkgs/os-specific/linux/libsemanage/default.nix
@@ -30,6 +30,16 @@ stdenv.mkDerivation rec {
     "DEFAULT_SEMANAGE_CONF_LOCATION=$(out)/etc/selinux/semanage.conf"
   ];
 
+  # The following turns the 'clobbered' error into a warning
+  # which should fix the following error:
+  #
+  # semanage_store.c: In function 'semanage_exec_prog':
+  # semanage_store.c:1278:6: error: variable 'i' might be clobbered by 'longjmp' or 'vfork' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wclobbered-Werror=clobbered8;;]
+  #  1278 |  int i;
+  #       |      ^
+  # cc1: all warnings being treated as errors
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=clobbered" ];
+
   installTargets = [ "install" ] ++ optionals enablePython [ "install-pywrap" ];
 
   meta = removeAttrs libsepol.meta ["outputsToInstall"] // {
diff --git a/pkgs/os-specific/linux/libvolume_id/default.nix b/pkgs/os-specific/linux/libvolume_id/default.nix
index f6b760668636c..87b7d33c5d84c 100644
--- a/pkgs/os-specific/linux/libvolume_id/default.nix
+++ b/pkgs/os-specific/linux/libvolume_id/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   };
 
   preBuild = "
-    makeFlagsArray=(prefix=$out E=echo RANLIB=ranlib INSTALL='install -c')
+    makeFlagsArray=(prefix=$out E=echo RANLIB=${stdenv.cc.targetPrefix}ranlib INSTALL='install -c')
   ";
 
   # Work around a broken Makefile.
diff --git a/pkgs/os-specific/linux/linuxptp/default.nix b/pkgs/os-specific/linux/linuxptp/default.nix
index c9de5f874a3a9..4f58c9f3f2ad3 100644
--- a/pkgs/os-specific/linux/linuxptp/default.nix
+++ b/pkgs/os-specific/linux/linuxptp/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     description = "Implementation of the Precision Time Protocol (PTP) according to IEEE standard 1588 for Linux";
     homepage = "http://linuxptp.sourceforge.net/";
     maintainers = [ maintainers.markuskowa ];
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/lxcfs/default.nix b/pkgs/os-specific/linux/lxcfs/default.nix
index ab148af72f234..bcc86b72de04e 100644
--- a/pkgs/os-specific/linux/lxcfs/default.nix
+++ b/pkgs/os-specific/linux/lxcfs/default.nix
@@ -14,8 +14,8 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-gC1Q+kG/oKfYvuHVKstpRWfL/thsemULrimPrV/eeaI=";
   };
 
-  nativeBuildInputs = [ pkg-config help2man autoreconfHook ];
-  buildInputs = [ fuse makeWrapper ];
+  nativeBuildInputs = [ pkg-config help2man autoreconfHook makeWrapper ];
+  buildInputs = [ fuse ];
 
   preConfigure = lib.optionalString enableDebugBuild ''
     sed -i 's,#AM_CFLAGS += -DDEBUG,AM_CFLAGS += -DDEBUG,' Makefile.am
diff --git a/pkgs/os-specific/linux/mcelog/default.nix b/pkgs/os-specific/linux/mcelog/default.nix
index de2c1afb06587..b20632be334c7 100644
--- a/pkgs/os-specific/linux/mcelog/default.nix
+++ b/pkgs/os-specific/linux/mcelog/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mcelog";
-  version = "173";
+  version = "175";
 
   src = fetchFromGitHub {
     owner  = "andikleen";
     repo   = "mcelog";
     rev    = "v${version}";
-    sha256 = "1ili11kqacn6jkjpk11vhycgygdl92mymgb1sx22lcwq2x0d248m";
+    sha256 = "sha256-Xzbck/nRdTR9H5o2XVFlFdNLz2ve65KEcefKAKe0eW8=";
   };
 
   postPatch = ''
diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix
index d6d04f12f8850..3ac8e6dcd4afc 100644
--- a/pkgs/os-specific/linux/microcode/intel.nix
+++ b/pkgs/os-specific/linux/microcode/intel.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "microcode-intel";
-  version = "20201118";
+  version = "20210216";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "Intel-Linux-Processor-Microcode-Data-Files";
     rev = "microcode-${version}";
-    sha256 = "1xs3f2rbfqnpz9qs7a1kl363qdyb8fybmmyd37v573clqf7l4lgg";
+    sha256 = "17wrfp7h7xbvncgm1fp103zkyz9n1f820jy6yca1aq208264hjkv";
   };
 
   nativeBuildInputs = [ iucode-tool libarchive ];
diff --git a/pkgs/os-specific/linux/musl-fts/default.nix b/pkgs/os-specific/linux/musl-fts/default.nix
new file mode 100644
index 0000000000000..cdb1cca47c6aa
--- /dev/null
+++ b/pkgs/os-specific/linux/musl-fts/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config }:
+
+stdenv.mkDerivation rec {
+  pname = "musl-fts";
+  version = "1.2.7";
+
+  src = fetchFromGitHub {
+    owner = "void-linux";
+    repo = "musl-fts";
+    rev = "v${version}";
+    sha256 = "Azw5qrz6OKDcpYydE6jXzVxSM5A8oYWAztrHr+O/DOE=";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = "https://github.com/void-linux/musl-fts";
+    description = "An implementation of fts(3) for musl-libc";
+    platforms = platforms.linux;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.pjjw ];
+  };
+}
diff --git a/pkgs/os-specific/linux/musl-obstack/default.nix b/pkgs/os-specific/linux/musl-obstack/default.nix
new file mode 100644
index 0000000000000..f7682d37efd94
--- /dev/null
+++ b/pkgs/os-specific/linux/musl-obstack/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config }:
+
+stdenv.mkDerivation rec {
+  pname = "musl-obstack";
+  version = "1.2.2";
+
+  src = fetchFromGitHub {
+    owner = "void-linux";
+    repo = "musl-obstack";
+    rev = "v${version}";
+    sha256 = "v0RTnrqAmJfOeGsJFc04lqFR8QZhYiLyvy8oRYiuC80=";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = "https://github.com/void-linux/musl-obstack";
+    description =
+      "An extraction of the obstack functions and macros from GNU libiberty for use with musl-libc";
+    platforms = platforms.linux;
+    license = licenses.lgpl21Plus;
+    maintainers = [ maintainers.pjjw ];
+  };
+}
diff --git a/pkgs/os-specific/linux/musl/default.nix b/pkgs/os-specific/linux/musl/default.nix
index 63d8114ac77ab..3310692b31dc1 100644
--- a/pkgs/os-specific/linux/musl/default.nix
+++ b/pkgs/os-specific/linux/musl/default.nix
@@ -16,6 +16,11 @@ let
     sha256 = "14igk6k00bnpfw660qhswagyhvr0gfqg4q55dxvaaq7ikfkrir71";
   };
 
+  stack_chk_fail_local_c = fetchurl {
+    url = "https://git.alpinelinux.org/aports/plain/main/musl/__stack_chk_fail_local.c?h=3.10-stable";
+    sha256 = "1nhkzzy9pklgjcq2yg89d3l18jif331srd3z3vhy5qwxl1spv6i9";
+  };
+
   # iconv tool, implemented by musl author.
   # Original: http://git.etalabs.net/cgit/noxcuse/plain/src/iconv.c?id=02d288d89683e99fd18fe9f54d4e731a6c474a4f
   # We use copy from Alpine which fixes error messages, see:
@@ -87,6 +92,16 @@ stdenv.mkDerivation rec {
 
   NIX_DONT_SET_RPATH = true;
 
+  preBuild = ''
+    ${if (stdenv.targetPlatform.libc == "musl" && stdenv.targetPlatform.isx86_32) then
+    "# the -x c flag is required since the file extension confuses gcc
+    # that detect the file as a linker script.
+    $CC -x c -c ${stack_chk_fail_local_c} -o __stack_chk_fail_local.o
+    $AR r libssp_nonshared.a __stack_chk_fail_local.o"
+      else ""
+    }
+  '';
+
   postInstall = ''
     # Not sure why, but link in all but scsi directory as that's what uclibc/glibc do.
     # Apparently glibc provides scsi itself?
@@ -96,6 +111,13 @@ stdenv.mkDerivation rec {
     $STRIP -S $out/lib/libc.a
     mkdir -p $out/bin
 
+
+    ${if (stdenv.targetPlatform.libc == "musl" && stdenv.targetPlatform.isx86_32) then
+      "install -D libssp_nonshared.a $out/lib/libssp_nonshared.a
+      $STRIP -S $out/lib/libssp_nonshared.a"
+      else ""
+    }
+
     # Create 'ldd' symlink, builtin
     ln -rs $out/lib/libc.so $out/bin/ldd
 
diff --git a/pkgs/os-specific/linux/nftables/default.nix b/pkgs/os-specific/linux/nftables/default.nix
index 115c12ec5e4e5..bb5e3f5196428 100644
--- a/pkgs/os-specific/linux/nftables/default.nix
+++ b/pkgs/os-specific/linux/nftables/default.nix
@@ -10,12 +10,12 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  version = "0.9.7";
+  version = "0.9.8";
   pname = "nftables";
 
   src = fetchurl {
     url = "https://netfilter.org/projects/nftables/files/${pname}-${version}.tar.bz2";
-    sha256 = "1c1c2475nifncv0ng8z77h2dpanlsx0bhqm15k00jb3a6a68lszy";
+    sha256 = "1r4g22grhd4s1918wws9vggb8821sv4kkj8197ygxr6sar301z30";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
index e452e24d263d0..38b5e3241c1ca 100644
--- a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
+++ b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
@@ -68,7 +68,7 @@ while [ "$#" -gt 0 ]; do
         j="$1"; shift 1
         extraBuildFlags+=("$i" "$j")
         ;;
-      --show-trace|--keep-failed|-K|--keep-going|-k|--verbose|-v|-vv|-vvv|-vvvv|-vvvvv|--fallback|--repair|--no-build-output|-Q|-j*|-L|--refresh|--no-net|--impure)
+      --show-trace|--keep-failed|-K|--keep-going|-k|--verbose|-v|-vv|-vvv|-vvvv|-vvvvv|--fallback|--repair|--no-build-output|-Q|-j*|-L|--refresh|--no-net|--offline|--impure)
         extraBuildFlags+=("$i")
         ;;
       --option)
@@ -145,7 +145,7 @@ buildHostCmd() {
     if [ -z "$buildHost" ]; then
         "$@"
     elif [ -n "$remoteNix" ]; then
-        ssh $SSHOPTS "$buildHost" env PATH="$remoteNix:$PATH" "${maybeSudo[@]}" "$@"
+        ssh $SSHOPTS "$buildHost" env PATH="$remoteNix":'$PATH' "${maybeSudo[@]}" "$@"
     else
         ssh $SSHOPTS "$buildHost" "${maybeSudo[@]}" "$@"
     fi
diff --git a/pkgs/os-specific/linux/nvidia-x11/nvidia-setttings-parallel-build.patch b/pkgs/os-specific/linux/nvidia-x11/nvidia-setttings-parallel-build.patch
new file mode 100644
index 0000000000000..ed3fe7b6d6dfe
--- /dev/null
+++ b/pkgs/os-specific/linux/nvidia-x11/nvidia-setttings-parallel-build.patch
@@ -0,0 +1,12 @@
+diff --git a/src/Makefile b/src/Makefile
+index acbb1b8..fe97103 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -242,6 +242,7 @@ endif
+ 
+ define BINARY_DATA_HEADER_RULE
+   $$(OUTPUTDIR)/$(notdir $(1)).h:
++	$(at_if_quiet)$(MKDIR) $$(OUTPUTDIR)
+ 	$(at_if_quiet){ \
+ 	  $$(PRINTF) "extern const char _binary_$(subst .,_,$(notdir $(1)))_start[];\n"; \
+ 	  $$(PRINTF) "extern const char _binary_$(subst .,_,$(notdir $(1)))_end[];\n"; \
diff --git a/pkgs/os-specific/linux/nvidia-x11/settings.nix b/pkgs/os-specific/linux/nvidia-x11/settings.nix
index d5bbf40e2b8a6..f75e3aff1734a 100644
--- a/pkgs/os-specific/linux/nvidia-x11/settings.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/settings.nix
@@ -45,6 +45,12 @@ stdenv.mkDerivation {
   version = nvidia_x11.settingsVersion;
   inherit src;
 
+  patches = [
+    # Fix a race condition in parallel builds.
+    # https://github.com/NVIDIA/nvidia-settings/issues/59#issuecomment-770302032
+    ./nvidia-setttings-parallel-build.patch
+  ];
+
   nativeBuildInputs = [ pkg-config m4 ];
 
   buildInputs = [ jansson libXv libXrandr libXext libXxf86vm libvdpau nvidia_x11 gtk2 dbus ]
diff --git a/pkgs/os-specific/linux/nvme-cli/default.nix b/pkgs/os-specific/linux/nvme-cli/default.nix
index b848a8682749d..5e8bb550cf999 100644
--- a/pkgs/os-specific/linux/nvme-cli/default.nix
+++ b/pkgs/os-specific/linux/nvme-cli/default.nix
@@ -1,4 +1,6 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config }:
+{ lib, stdenv, fetchFromGitHub, pkg-config
+, libuuid
+}:
 
 stdenv.mkDerivation rec {
   pname = "nvme-cli";
@@ -12,6 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ libuuid ];
 
   makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
 
diff --git a/pkgs/os-specific/linux/open-isns/default.nix b/pkgs/os-specific/linux/open-isns/default.nix
index db35804611bdf..3f939024a48ff 100644
--- a/pkgs/os-specific/linux/open-isns/default.nix
+++ b/pkgs/os-specific/linux/open-isns/default.nix
@@ -1,29 +1,16 @@
-{ lib, stdenv, openssl, fetchFromGitHub, fetchpatch }:
+{ lib, stdenv, openssl, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
   pname = "open-isns";
-  version = "0.100";
+  version = "0.101";
 
   src = fetchFromGitHub {
     owner = "open-iscsi";
     repo = "open-isns";
     rev = "v${version}";
-    sha256 = "0d0dz965azsisvfl5wpp1b7m0q0fmaz5r7x5dfybkry551sbcydr";
+    sha256 = "1g7kp1j2f8afsach6sbl4k05ybz1yz2s8yg073bv4gnv48gyxb2p";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "deprecated-sighold-sigrelease";
-      url = "https://github.com/open-iscsi/open-isns/commit/e7dac76ce61039fefa58985c955afccb60dabe87.patch";
-      sha256 = "15v106xn3ns7z4nlpby7kkm55rm9qncsmy2iqc4ifli0h67g34id";
-    })
-    (fetchpatch {
-      name = "warn_unused_result";
-      url = "https://github.com/open-iscsi/open-isns/commit/4c39cb09735a494099fba0474d25ff26800de952.patch";
-      sha256 = "1jlydrh9rgkky698jv0mp2wbbizn90q5wjbay086l0h6iqp8ibc3";
-    })
-  ];
-
   propagatedBuildInputs = [ openssl ];
   outputs = [ "out" "lib" ];
   outputInclude = "lib";
diff --git a/pkgs/os-specific/linux/openvswitch/default.nix b/pkgs/os-specific/linux/openvswitch/default.nix
index cbd1bbdf76335..2541055348664 100644
--- a/pkgs/os-specific/linux/openvswitch/default.nix
+++ b/pkgs/os-specific/linux/openvswitch/default.nix
@@ -8,18 +8,18 @@ let
   _kernel = kernel;
   pythonEnv = python3.withPackages (ps: with ps; [ six ]);
 in stdenv.mkDerivation rec {
-  version = "2.14.0";
+  version = "2.14.1";
   pname = "openvswitch";
 
   src = fetchurl {
     url = "https://www.openvswitch.org/releases/${pname}-${version}.tar.gz";
-    sha256 = "0q52k6mq1jfsv0ix55mjd5ljlalhklhqfrma3l61dzhgihmfawa1";
+    sha256 = "sha256-GAttQsCrSybyH1i4vzszdiA9dHWqeo7xUTZVFMNQiP4=";
   };
 
   kernel = optional (_kernel != null) _kernel.dev;
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ makeWrapper util-linux openssl libcap_ng pythonEnv
+  nativeBuildInputs = [ pkg-config makeWrapper ];
+  buildInputs = [ util-linux openssl libcap_ng pythonEnv
                   perl procps which ];
 
   configureFlags = [
diff --git a/pkgs/os-specific/linux/openvswitch/lts.nix b/pkgs/os-specific/linux/openvswitch/lts.nix
index ddb5eff972303..f379633e19843 100644
--- a/pkgs/os-specific/linux/openvswitch/lts.nix
+++ b/pkgs/os-specific/linux/openvswitch/lts.nix
@@ -19,9 +19,8 @@ in stdenv.mkDerivation rec {
 
   kernel = optional (_kernel != null) _kernel.dev;
 
-  nativeBuildInputs = [ autoconf libtool automake pkg-config  ];
-  buildInputs = [ makeWrapper util-linux openssl libcap_ng python2
-                  perl procps which ];
+  nativeBuildInputs = [ autoconf libtool automake pkg-config makeWrapper ];
+  buildInputs = [ util-linux openssl libcap_ng python2 perl procps which ];
 
   preConfigure = "./boot.sh";
 
diff --git a/pkgs/os-specific/linux/pam/default.nix b/pkgs/os-specific/linux/pam/default.nix
index 42b7ea9109232..a697bb17a43cc 100644
--- a/pkgs/os-specific/linux/pam/default.nix
+++ b/pkgs/os-specific/linux/pam/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildPackages, fetchurl, fetchpatch, flex, cracklib, db4
+{ lib, stdenv, buildPackages, fetchurl, flex, cracklib, db4, gettext
 , nixosTests
 }:
 
@@ -11,21 +11,11 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-IB1AcwsRNbGzzeoJ8sKKxjTXMYHM0Bcs7d7jZJxXkvw=";
   };
 
-  patches = lib.optionals (stdenv.hostPlatform.libc == "musl") [
-    (fetchpatch {
-      url = "https://git.alpinelinux.org/aports/plain/main/linux-pam/fix-compat.patch?id=05a62bda8ec255d7049a2bd4cf0fdc4b32bdb2cc";
-      sha256 = "1h5yp5h2mqp1fcwiwwklyfpa69a3i03ya32pivs60fd7g5bqa7sf";
-    })
-    (fetchpatch {
-      url = "https://git.alpinelinux.org/aports/plain/main/linux-pam/libpam-fix-build-with-eglibc-2.16.patch?id=05a62bda8ec255d7049a2bd4cf0fdc4b32bdb2cc";
-      sha256 = "1ib6shhvgzinjsc603k2x1lxh9dic6qq449fnk110gc359m23j81";
-    })
-  ];
-
   outputs = [ "out" "doc" "man" /* "modules" */ ];
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
-  nativeBuildInputs = [ flex ];
+  nativeBuildInputs = [ flex ]
+    ++ lib.optional stdenv.buildPlatform.isDarwin gettext;
 
   buildInputs = [ cracklib db4 ];
 
diff --git a/pkgs/os-specific/linux/pam_gnupg/default.nix b/pkgs/os-specific/linux/pam_gnupg/default.nix
index 6ffc6050055ea..ffb397334c16a 100644
--- a/pkgs/os-specific/linux/pam_gnupg/default.nix
+++ b/pkgs/os-specific/linux/pam_gnupg/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pam_gnupg";
-  version = "0.2";
+  version = "0.3";
 
   src = fetchFromGitHub {
     owner = "cruegge";
     repo = "pam-gnupg";
     rev = "v${version}";
-    sha256 = "1d8046clv7r3bl77dbpza4f1zlkjffvdczbb5bci3prz7dyfrwsz";
+    sha256 = "sha256-NDl6MsvIDAXkaLqXt7Wa0T7aulT31P5Z/d/Vb+ILya0=";
   };
 
   configureFlags = [
diff --git a/pkgs/os-specific/linux/pcm/default.nix b/pkgs/os-specific/linux/pcm/default.nix
index f791661d2ef1a..c0b8b59ebb51c 100644
--- a/pkgs/os-specific/linux/pcm/default.nix
+++ b/pkgs/os-specific/linux/pcm/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  version = "202011";
+  version = "202101";
   pname = "pcm";
 
   src = fetchFromGitHub {
     owner = "opcm";
     repo = "pcm";
     rev = version;
-    sha256 = "09p8drp9xvvs5bahgnr9xx6987fryz27xs2zaf1mr7a9wsh5j912";
+    sha256 = "sha256-xiC9XDuFcAzD2lVuzBWUvHy1Z1shEXM2KPFabKvgh1Y=";
   };
 
   installPhase = ''
diff --git a/pkgs/os-specific/linux/pipework/default.nix b/pkgs/os-specific/linux/pipework/default.nix
index 14d1eb8599807..e58b97654af25 100644
--- a/pkgs/os-specific/linux/pipework/default.nix
+++ b/pkgs/os-specific/linux/pipework/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
     rev = "ae42f1b5fef82b3bc23fe93c95c345e7af65fef3";
     sha256 = "0c342m0bpq6ranr7dsxk9qi5mg3j5aw9wv85ql8gprdb2pz59qy8";
   };
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
   installPhase = ''
     install -D pipework $out/bin/pipework
     wrapProgram $out/bin/pipework --prefix PATH : \
diff --git a/pkgs/os-specific/linux/power-profiles-daemon/default.nix b/pkgs/os-specific/linux/power-profiles-daemon/default.nix
new file mode 100644
index 0000000000000..c477e6f367936
--- /dev/null
+++ b/pkgs/os-specific/linux/power-profiles-daemon/default.nix
@@ -0,0 +1,66 @@
+{ stdenv
+, lib
+, pkg-config
+, meson
+, ninja
+, fetchFromGitLab
+, libgudev
+, glib
+, gobject-introspection
+, gettext
+, gtk-doc
+, docbook-xsl-nons
+, docbook_xml_dtd_412
+, libxml2
+, libxslt
+, upower
+, systemd
+}:
+
+stdenv.mkDerivation rec {
+  pname = "power-profiles-daemon";
+  version = "0.1";
+
+  outputs = [ "out" "devdoc" ];
+
+  src = fetchFromGitLab {
+    domain = "gitlab.freedesktop.org";
+    owner = "hadess";
+    repo = "power-profiles-daemon";
+    rev = version;
+    sha256 = "012w3aryw5d43dr9jj5i6wy2a0n21jidr4ggs9ix7d4z9byr175w";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    meson
+    ninja
+    gettext
+    gtk-doc
+    docbook-xsl-nons
+    docbook_xml_dtd_412
+    libxml2 # for xmllint for stripping GResources
+    libxslt # for xsltproc for building docs
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    libgudev
+    systemd
+    upower
+    glib
+  ];
+
+  mesonFlags = [
+    "-Dsystemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
+    "-Dgtk_doc=true"
+  ];
+
+  meta = with lib; {
+    homepage = "https://gitlab.freedesktop.org/hadess/power-profiles-daemon";
+    description = "Makes user-selected power profiles handling available over D-Bus";
+    platforms = platforms.linux;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ mvnetbiz ];
+  };
+}
diff --git a/pkgs/os-specific/linux/powerstat/default.nix b/pkgs/os-specific/linux/powerstat/default.nix
index 12a92c36c6921..f80b7425cd485 100644
--- a/pkgs/os-specific/linux/powerstat/default.nix
+++ b/pkgs/os-specific/linux/powerstat/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "powerstat";
-  version = "0.02.24";
+  version = "0.02.25";
 
   src = fetchurl {
     url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "0yrc1xi9flxn2mvmzp0b0vd0md5z4p8fd4y8bszc67xy12qiqy0j";
+    sha256 = "sha256-C6MCOXnElDI69QkLKd2X2SLved8cRCN0Q6BhUvvqsTY=";
   };
 
   installFlags = [ "DESTDIR=${placeholder "out"}" ];
diff --git a/pkgs/os-specific/linux/psmisc/default.nix b/pkgs/os-specific/linux/psmisc/default.nix
index 0902ce3d612a8..4cf3e1f7dd1bf 100644
--- a/pkgs/os-specific/linux/psmisc/default.nix
+++ b/pkgs/os-specific/linux/psmisc/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "psmisc";
-  version = "23.3";
+  version = "23.4";
 
   src = fetchFromGitLab {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1132xvrldv0dar2mf221mv5kvajq0v6yrq8k3nl0wslnh5baa0r0";
+    sha256 = "sha256-s7omgtsNooYqhr4JUTZ6WCtPaZVC1ujJGz6KxUBWIs8=";
   };
 
   nativeBuildInputs = [ autoconf automake gettext ];
diff --git a/pkgs/os-specific/linux/rtl8821ce/default.nix b/pkgs/os-specific/linux/rtl8821ce/default.nix
index 81c129fae3ebe..050830927e934 100644
--- a/pkgs/os-specific/linux/rtl8821ce/default.nix
+++ b/pkgs/os-specific/linux/rtl8821ce/default.nix
@@ -1,13 +1,14 @@
 { lib, stdenv, fetchFromGitHub, kernel, bc }:
+
 stdenv.mkDerivation rec {
-  name = "rtl8821ce-${kernel.version}-${version}";
-  version = "5.5.2_34066.20200325";
+  pname = "rtl8821ce-${kernel.version}";
+  version = "unstable-2020-12-16";
 
   src = fetchFromGitHub {
     owner = "tomaspinho";
     repo = "rtl8821ce";
-    rev = "8d7edbe6a78fd79cfab85d599dad9dc34138abd1";
-    sha256 = "1hsf8lqjnkrkvk0gps8yb3lx72mvws6xbgkbdmgdkz7qdxmha8bp";
+    rev = "14b536f0c9ad2d0abbdab8afc7ade684900ca9cf";
+    sha256 = "0z7r7spsgn22gwv9pcmkdjn9ingi8jj7xkxasph8118h46fw8ip2";
   };
 
   hardeningDisable = [ "pic" ];
diff --git a/pkgs/os-specific/linux/rtlwifi_new/default.nix b/pkgs/os-specific/linux/rtlwifi_new/default.nix
index ef71cd82541ca..12f87f409552d 100644
--- a/pkgs/os-specific/linux/rtlwifi_new/default.nix
+++ b/pkgs/os-specific/linux/rtlwifi_new/default.nix
@@ -12,6 +12,7 @@ in stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "rtlwifi-linux";
     repo = "rtlwifi_new";
+    # commit does not exist on any branch on the target repository
     rev = "a108e3de87c2ed30b71c3c4595b79ab7a2f9e348";
     sha256 = "15kjs9i9vvmn1cdzccd5cljf3m45r4ssm65klkj2fdkf3kljj38k";
   };
diff --git a/pkgs/os-specific/linux/switcheroo-control/default.nix b/pkgs/os-specific/linux/switcheroo-control/default.nix
new file mode 100644
index 0000000000000..38945c7062210
--- /dev/null
+++ b/pkgs/os-specific/linux/switcheroo-control/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, ninja
+, meson
+, fetchFromGitLab
+, systemd
+, libgudev
+, pkg-config
+, glib
+, python3
+, gobject-introspection
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "switcheroo-control";
+  version = "2.3";
+
+  format = "other";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.freedesktop.org";
+    owner = "hadess";
+    repo = pname;
+    rev = version;
+    hash = "sha256-1Pze2TJ9mggfcpiLFwJ7/9WhsdJx4G3GoA7+Z47shuc=";
+  };
+
+  nativeBuildInputs = [
+    ninja
+    meson
+    pkg-config
+
+    # needed for glib-compile-resources
+    glib
+  ];
+
+  buildInputs = [
+    systemd
+    libgudev
+  ];
+
+  propagatedBuildInputs = [
+    python3.pkgs.pygobject3
+  ];
+
+  mesonFlags = [
+    "-Dsystemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
+    "-Dhwdbdir=${placeholder "out"}/etc/udev/hwdb.d"
+  ];
+
+  meta = with lib; {
+    description = "D-Bus service to check the availability of dual-GPU";
+    homepage = "https://gitlab.freedesktop.org/hadess/switcheroo-control/";
+    changelog = "https://gitlab.freedesktop.org/hadess/switcheroo-control/-/blob/${version}/NEWS";
+    license = licenses.gpl3Plus;
+    maintainers = [ ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/syslinux/default.nix b/pkgs/os-specific/linux/syslinux/default.nix
index 1b2415dd80521..0f69cb13fcd9a 100644
--- a/pkgs/os-specific/linux/syslinux/default.nix
+++ b/pkgs/os-specific/linux/syslinux/default.nix
@@ -63,8 +63,8 @@ stdenv.mkDerivation {
     touch gnu-efi/inc/ia32/gnu/stubs-32.h
   '';
 
-  nativeBuildInputs = [ nasm perl python3 ];
-  buildInputs = [ libuuid makeWrapper ];
+  nativeBuildInputs = [ nasm perl python3 makeWrapper ];
+  buildInputs = [ libuuid ];
 
   enableParallelBuilding = false; # Fails very rarely with 'No rule to make target: ...'
   hardeningDisable = [ "pic" "stackprotector" "fortify" ];
diff --git a/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch b/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch
index 476ebe06e70f2..3e40385c3bb76 100644
--- a/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch
+++ b/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch
@@ -1,24 +1,23 @@
-From 6ede8baac88aba769030f5bc5f5b2070098c7428 Mon Sep 17 00:00:00 2001
+From 95e4533f1eeb6e0d509f9129d0133f0b849cc3c5 Mon Sep 17 00:00:00 2001
 From: Eelco Dolstra <eelco.dolstra@logicblox.com>
 Date: Fri, 19 Dec 2014 14:46:17 +0100
 Subject: [PATCH 05/18] Add some NixOS-specific unit directories
 
-Look in `/nix/var/nix/profiles/default/lib/systemd` for units provided
-by packages installed into the default profile via
-`nix-env -iA nixos.$package`, and into `/etc/systemd-mutable/system` for
-persistent, mutable units (used for Dysnomia).
+Look in `/nix/var/nix/profiles/default/lib/systemd/{system,user}` for
+units provided by packages installed into the default profile via
+`nix-env -iA nixos.$package`.
 
 Also, remove /usr and /lib as these don't exist on NixOS.
 ---
- src/basic/path-lookup.c | 20 +++++---------------
+ src/basic/path-lookup.c | 17 ++---------------
  src/core/systemd.pc.in  |  5 +++--
- 2 files changed, 8 insertions(+), 17 deletions(-)
+ 2 files changed, 5 insertions(+), 17 deletions(-)
 
 diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c
-index 96b82170d0..b9fbed5c61 100644
+index 96b82170d0..bf66bd6b77 100644
 --- a/src/basic/path-lookup.c
 +++ b/src/basic/path-lookup.c
-@@ -94,17 +94,14 @@ int xdg_user_data_dir(char **ret, const char *suffix) {
+@@ -94,11 +94,7 @@ int xdg_user_data_dir(char **ret, const char *suffix) {
  }
  
  static const char* const user_data_unit_paths[] = {
@@ -30,18 +29,10 @@ index 96b82170d0..b9fbed5c61 100644
          NULL
  };
  
- static const char* const user_config_unit_paths[] = {
-         USER_CONFIG_UNIT_DIR,
-         "/etc/systemd/user",
-+        "/etc/systemd-mutable/user",
-         NULL
- };
- 
-@@ -616,15 +613,14 @@ int lookup_paths_init(
+@@ -616,15 +612,13 @@ int lookup_paths_init(
                                          persistent_config,
                                          SYSTEM_CONFIG_UNIT_DIR,
                                          "/etc/systemd/system",
-+                                        "/etc/systemd-mutable/system",
 +                                        "/nix/var/nix/profiles/default/lib/systemd/system",
                                          STRV_IFNOTNULL(persistent_attached),
                                          runtime_config,
@@ -55,11 +46,10 @@ index 96b82170d0..b9fbed5c61 100644
                                          STRV_IFNOTNULL(generator_late));
                          break;
  
-@@ -640,14 +636,12 @@ int lookup_paths_init(
+@@ -640,14 +634,11 @@ int lookup_paths_init(
                                          persistent_config,
                                          USER_CONFIG_UNIT_DIR,
                                          "/etc/systemd/user",
-+                                        "/etc/systemd-mutable/user",
 +                                        "/nix/var/nix/profiles/default/lib/systemd/user",
                                          runtime_config,
                                          "/run/systemd/user",
@@ -72,7 +62,7 @@ index 96b82170d0..b9fbed5c61 100644
                                          STRV_IFNOTNULL(generator_late));
                          break;
  
-@@ -797,7 +791,6 @@ char **generator_binary_paths(UnitFileScope scope) {
+@@ -797,7 +788,6 @@ char **generator_binary_paths(UnitFileScope scope) {
                  case UNIT_FILE_SYSTEM:
                          add = strv_new("/run/systemd/system-generators",
                                         "/etc/systemd/system-generators",
@@ -80,7 +70,7 @@ index 96b82170d0..b9fbed5c61 100644
                                         SYSTEM_GENERATOR_DIR);
                          break;
  
-@@ -805,7 +798,6 @@ char **generator_binary_paths(UnitFileScope scope) {
+@@ -805,7 +795,6 @@ char **generator_binary_paths(UnitFileScope scope) {
                  case UNIT_FILE_USER:
                          add = strv_new("/run/systemd/user-generators",
                                         "/etc/systemd/user-generators",
@@ -88,7 +78,7 @@ index 96b82170d0..b9fbed5c61 100644
                                         USER_GENERATOR_DIR);
                          break;
  
-@@ -844,12 +836,10 @@ char **env_generator_binary_paths(bool is_system) {
+@@ -844,12 +833,10 @@ char **env_generator_binary_paths(bool is_system) {
                  if (is_system)
                          add = strv_new("/run/systemd/system-environment-generators",
                                          "/etc/systemd/system-environment-generators",
@@ -102,7 +92,7 @@ index 96b82170d0..b9fbed5c61 100644
  
                  if (!add)
 diff --git a/src/core/systemd.pc.in b/src/core/systemd.pc.in
-index f2c045511d..ccb382e421 100644
+index f2c045511d..d38a3a0302 100644
 --- a/src/core/systemd.pc.in
 +++ b/src/core/systemd.pc.in
 @@ -38,10 +38,11 @@ systemdsystemconfdir=${systemd_system_conf_dir}
@@ -110,11 +100,11 @@ index f2c045511d..ccb382e421 100644
  systemduserconfdir=${systemd_user_conf_dir}
  
 -systemd_system_unit_path=${systemd_system_conf_dir}:/etc/systemd/system:/run/systemd/system:/usr/local/lib/systemd/system:${systemd_system_unit_dir}:/usr/lib/systemd/system:/lib/systemd/system
-+systemd_system_unit_path=${systemd_system_conf_dir}:/etc/systemd/system:/etc/systemd-mutable/system:/nix/var/nix/profiles/default/lib/systemd/system:/run/systemd/system:${systemdsystemunitdir}
++systemd_system_unit_path=${systemd_system_conf_dir}:/etc/systemd/system:/nix/var/nix/profiles/default/lib/systemd/system:/run/systemd/system:${systemdsystemunitdir}
  systemdsystemunitpath=${systemd_system_unit_path}
  
 -systemd_user_unit_path=${systemd_user_conf_dir}:/etc/systemd/user:/run/systemd/user:/usr/local/lib/systemd/user:/usr/local/share/systemd/user:${systemd_user_unit_dir}:/usr/lib/systemd/user:/usr/share/systemd/user
-+systemd_user_unit_path=${systemd_user_conf_dir}:/etc/systemd/user:/etc/systemd-mutable/user:/nix/var/nix/profiles/default/lib/systemd/user:/run/systemd/user:${systemduserunitdir}
++systemd_user_unit_path=${systemd_user_conf_dir}:/etc/systemd/user:/nix/var/nix/profiles/default/lib/systemd/user:/run/systemd/user:${systemduserunitdir}
 +
  systemduserunitpath=${systemd_user_unit_path}
  
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 421fc5986af32..7e3c6d1fe51f4 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -1,3 +1,5 @@
+# NOTE: Make sure to (re-)format this file on changes with `nixpkgs-fmt`!
+
 { stdenv
 , lib
 , fetchFromGitHub
@@ -111,7 +113,7 @@ assert withCryptsetup ->
 let
   wantCurl = withRemote || withImportd;
 
-  version = "247.2";
+  version = "247.3";
 in
 stdenv.mkDerivation {
   inherit version pname;
@@ -122,7 +124,7 @@ stdenv.mkDerivation {
     owner = "systemd";
     repo = "systemd-stable";
     rev = "v${version}";
-    sha256 = "091pwrvxz3gcf80shlp28d6l4gvjzc6pb61v4mwxmk9d71qaq7ry";
+    sha256 = "0zn0b74iwz3vxabqsk4yydwpgky3c5z4dl83wxbs1qi5d2dnbqa7";
   };
 
   # If these need to be regenerated, `git am path/to/00*.patch` them into a
@@ -160,83 +162,87 @@ stdenv.mkDerivation {
       --replace \
       "find_program('objcopy'" \
       "find_program('${stdenv.cc.bintools.targetPrefix}objcopy'"
-  '' + (let
-
-    # The folllowing dlopen patches ensure that all the features that are
-    # implemented via dlopen(3) are available (or explicitly deactivated) by
-    # pointing dlopen to the absolute store path instead of relying on the
-    # linkers runtime lookup code.
-    #
-    # All of the dlopen calls have to be handled. When new ones are introduced
-    # by upstream (or one of our patches) they must be explicitly declared,
-    # otherwise the build will fail.
-    #
-    # As of systemd version 247 we've seen a few errors like `libpcre2.… not
-    # found` when using e.g. --grep with journalctl. Those errors should
-    # become less unexpected now.
-    #
-    # There are generally two classes of dlopen(3) calls. Those that we want to
-    # support and those that should be deactivated / unsupported. This change
-    # enforces that we handle all dlopen calls explicitly. Meaning: There is
-    # not a single dlopen call in the source code tree that we did not
-    # explicitly handle.
-    #
-    # In order to do this we introduced a list of attributes that maps from
-    # shared object name to the package that contains them. The package can be
-    # null meaning the reference should be nuked and the shared object will
-    # never be loadable during runtime (because it points at an invalid store
-    # path location).
-    #
-    # To get a list of dynamically loaded libraries issue something like
-    # `grep -ri 'dlopen("lib' $src` and update the below list.
-    dlopenLibs = [
-      # We did never provide support for libxkbcommon & qrencode
-      { name = "libxkbcommon.so.0"; pkg = null; }
-      { name = "libqrencode.so.4"; pkg = null; }
-
-      # We did not provide libpwquality before so it is safe to disable it for
-      # now.
-      { name = "libpwquality.so.1"; pkg = null; }
-
-      # Only include cryptsetup if it is enabled. We might not be able to
-      # provide it during "bootstrap" in e.g. the minimal systemd build as
-      # cryptsetup has udev (aka systemd) in it's dependencies.
-      { name = "libcryptsetup.so.12"; pkg = if withCryptsetup then cryptsetup else null; }
-
-      # We are using libidn2 so we only provide that and ignore the others.
-      # Systemd does this decision during configure time and uses ifdef's to
-      # enable specific branches. We can safely ignore (nuke) the libidn "v1"
-      # libraries.
-      { name = "libidn2.so.0"; pkg = libidn2; }
-      { name = "libidn.so.12"; pkg = null; }
-      { name = "libidn.so.11"; pkg = null; }
-
-      # journalctl --grep requires libpcre so lets provide it
-      { name = "libpcre2-8.so.0"; pkg = pcre2; }
-    ];
-
-    patchDlOpen = dl: let
-      library = "${lib.makeLibraryPath [dl.pkg]}/${dl.name}";
-    in if dl.pkg == null then ''
-      # remove the dependency on the library by replacing it with an invalid path
-      for file in $(grep -lr 'dlopen("${dl.name}"' src); do
-        echo "patching dlopen(\"${dl.name}\", …) in $file to an invalid store path ("/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-not-implemented/${dl.name}")…"
-        substituteInPlace "$file" --replace 'dlopen("${dl.name}"' 'dlopen("/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-not-implemented/${dl.name}"'
-      done
-    '' else ''
-      # ensure that the library we provide actually exists
-      if ! [ -e ${library} ]; then
-        echo 'The shared library `${library}` does not exist but was given as subtitute for `${dl.name}`'
-        exit 1
-      fi
-      # make the path to the dependency explicit
-      for file in $(grep -lr 'dlopen("${dl.name}"' src); do
-        echo "patching dlopen(\"${dl.name}\", …) in $file to ${library}…"
-        substituteInPlace "$file" --replace 'dlopen("${dl.name}"' 'dlopen("${library}"'
-      done
-    '';
-  in # patch all the dlopen calls to contain absolute paths to the libraries
-  lib.concatMapStringsSep "\n" patchDlOpen dlopenLibs)
+  '' + (
+    let
+      # The folllowing dlopen patches ensure that all the features that are
+      # implemented via dlopen(3) are available (or explicitly deactivated) by
+      # pointing dlopen to the absolute store path instead of relying on the
+      # linkers runtime lookup code.
+      #
+      # All of the dlopen calls have to be handled. When new ones are introduced
+      # by upstream (or one of our patches) they must be explicitly declared,
+      # otherwise the build will fail.
+      #
+      # As of systemd version 247 we've seen a few errors like `libpcre2.… not
+      # found` when using e.g. --grep with journalctl. Those errors should
+      # become less unexpected now.
+      #
+      # There are generally two classes of dlopen(3) calls. Those that we want to
+      # support and those that should be deactivated / unsupported. This change
+      # enforces that we handle all dlopen calls explicitly. Meaning: There is
+      # not a single dlopen call in the source code tree that we did not
+      # explicitly handle.
+      #
+      # In order to do this we introduced a list of attributes that maps from
+      # shared object name to the package that contains them. The package can be
+      # null meaning the reference should be nuked and the shared object will
+      # never be loadable during runtime (because it points at an invalid store
+      # path location).
+      #
+      # To get a list of dynamically loaded libraries issue something like
+      # `grep -ri 'dlopen("lib' $src` and update the below list.
+      dlopenLibs = [
+        # We did never provide support for libxkbcommon & qrencode
+        { name = "libxkbcommon.so.0"; pkg = null; }
+        { name = "libqrencode.so.4"; pkg = null; }
+
+        # We did not provide libpwquality before so it is safe to disable it for
+        # now.
+        { name = "libpwquality.so.1"; pkg = null; }
+
+        # Only include cryptsetup if it is enabled. We might not be able to
+        # provide it during "bootstrap" in e.g. the minimal systemd build as
+        # cryptsetup has udev (aka systemd) in it's dependencies.
+        { name = "libcryptsetup.so.12"; pkg = if withCryptsetup then cryptsetup else null; }
+
+        # We are using libidn2 so we only provide that and ignore the others.
+        # Systemd does this decision during configure time and uses ifdef's to
+        # enable specific branches. We can safely ignore (nuke) the libidn "v1"
+        # libraries.
+        { name = "libidn2.so.0"; pkg = libidn2; }
+        { name = "libidn.so.12"; pkg = null; }
+        { name = "libidn.so.11"; pkg = null; }
+
+        # journalctl --grep requires libpcre so lets provide it
+        { name = "libpcre2-8.so.0"; pkg = pcre2; }
+      ];
+
+      patchDlOpen = dl:
+        let
+          library = "${lib.makeLibraryPath [ dl.pkg ]}/${dl.name}";
+        in
+        if dl.pkg == null then ''
+          # remove the dependency on the library by replacing it with an invalid path
+          for file in $(grep -lr 'dlopen("${dl.name}"' src); do
+            echo "patching dlopen(\"${dl.name}\", …) in $file to an invalid store path ("/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-not-implemented/${dl.name}")…"
+            substituteInPlace "$file" --replace 'dlopen("${dl.name}"' 'dlopen("/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-not-implemented/${dl.name}"'
+          done
+        '' else ''
+          # ensure that the library we provide actually exists
+          if ! [ -e ${library} ]; then
+            echo 'The shared library `${library}` does not exist but was given as subtitute for `${dl.name}`'
+            exit 1
+          fi
+          # make the path to the dependency explicit
+          for file in $(grep -lr 'dlopen("${dl.name}"' src); do
+            echo "patching dlopen(\"${dl.name}\", …) in $file to ${library}…"
+            substituteInPlace "$file" --replace 'dlopen("${dl.name}"' 'dlopen("${library}"'
+          done
+        '';
+    in
+    # patch all the dlopen calls to contain absolute paths to the libraries
+    lib.concatMapStringsSep "\n" patchDlOpen dlopenLibs
+  )
   # finally ensure that there are no left-over dlopen calls that we didn't handle
   + ''
     if grep -qr 'dlopen("[^/]' src; then
diff --git a/pkgs/os-specific/linux/wireguard/default.nix b/pkgs/os-specific/linux/wireguard/default.nix
index 41ab1a0f539da..e6b7de29fd2e7 100644
--- a/pkgs/os-specific/linux/wireguard/default.nix
+++ b/pkgs/os-specific/linux/wireguard/default.nix
@@ -7,11 +7,11 @@ assert lib.versionOlder kernel.version "5.6";
 
 stdenv.mkDerivation rec {
   pname = "wireguard";
-  version = "1.0.20201221";
+  version = "1.0.20210219";
 
   src = fetchzip {
     url = "https://git.zx2c4.com/wireguard-linux-compat/snapshot/wireguard-linux-compat-${version}.tar.xz";
-    sha256 = "sha256-8RPJEk+6NaJP3LNZYEncLlkdrw2jHxNekKwEr+YpHeQ=";
+    sha256 = "sha256-ZYZBnfX8DP0IV3VEBSzg7wnFCnlCzOT6Ql3kFZ0klfQ=";
   };
 
   hardeningDisable = [ "pic" ];
diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix
index 32b61b02beecf..d9767cbdd9345 100644
--- a/pkgs/os-specific/linux/wpa_supplicant/default.nix
+++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, openssl, pkg-config, libnl
+{ lib, stdenv, fetchurl, fetchpatch, openssl, pkg-config, libnl
 , dbus, readline ? null, pcsclite ? null
 }:
 
@@ -19,6 +19,24 @@ stdenv.mkDerivation rec {
       url = "https://w1.fi/security/2019-7/0001-AP-Silently-ignore-management-frame-from-unexpected-.patch";
       sha256 = "15xjyy7crb557wxpx898b5lnyblxghlij0xby5lmj9hpwwss34dz";
     })
+    (fetchpatch {
+      # Expose OWE key management capability over DBus, remove >= 2.10
+      name = "dbus-Export-OWE-capability-and-OWE-BSS-key_mgmt.patch";
+      url = "https://w1.fi/cgit/hostap/patch/?id=7800725afb27397f7d6033d4969e2aeb61af4737";
+      sha256 = "0c1la7inf4m5y9gzdjjdnhpkx32pm8vi6m5knih8p77q4mbrdgg8";
+    })
+    # P2P: Fix copying of secondary device types for P2P group client (https://w1.fi/security/2020-2/)
+    (fetchurl {
+      name = "CVE-2021-0326.patch";
+      url = "https://w1.fi/security/2020-2/0001-P2P-Fix-copying-of-secondary-device-types-for-P2P-gr.patch";
+      sha256 = "19f4hx0p547mdx8y8arb3vclwyy4w9c8a6a40ryj7q33730mrmn4";
+    })
+    # P2P: Fix a corner case in peer addition based on PD Request (https://w1.fi/security/2021-1/)
+    (fetchurl {
+      name = "CVE-2021-27803.patch";
+      url = "https://w1.fi/security/2021-1/0001-P2P-Fix-a-corner-case-in-peer-addition-based-on-PD-R.patch";
+      sha256 = "04cnds7hmbqc44jasabjvrdnh66i5hwvk2h2m5z94pmgbzncyh3z";
+    })
   ];
 
   # TODO: Patch epoll so that the dbus actually responds
@@ -32,6 +50,7 @@ stdenv.mkDerivation rec {
     CONFIG_EAP_SAKE=y
     CONFIG_EAP_GPSK=y
     CONFIG_EAP_GPSK_SHA256=y
+    CONFIG_OWE=y
     CONFIG_WPS=y
     CONFIG_WPS_ER=y
     CONFIG_WPS_NFS=y
@@ -105,7 +124,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://hostap.epitest.fi/wpa_supplicant/";
+    homepage = "https://w1.fi/wpa_supplicant/";
     description = "A tool for connecting to WPA and WPA2-protected wireless networks";
     license = licenses.bsd3;
     maintainers = with maintainers; [ marcweber ];
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index 86deebb50140e..c8ff738cd6e4d 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch
+{ lib, stdenv, fetchFromGitHub
 , autoreconfHook269, util-linux, nukeReferences, coreutils
-, perl, buildPackages
+, perl, nixosTests
 , configFile ? "all"
 
 # Userspace dependencies
@@ -8,8 +8,8 @@
 , libtirpc
 , nfs-utils
 , gawk, gnugrep, gnused, systemd
-, smartmontools, sysstat, sudo
-, pkg-config
+, smartmontools, enableMail ? false
+, sysstat, pkg-config
 
 # Kernel dependencies
 , kernel ? null
@@ -18,6 +18,8 @@
 
 with lib;
 let
+  smartmon = smartmontools.override { inherit enableMail; };
+
   buildKernel = any (n: n == configFile) [ "kernel" "all" ];
   buildUser = any (n: n == configFile) [ "user" "all" ];
 
@@ -26,7 +28,7 @@ let
     , extraPatches ? []
     , rev ? "zfs-${version}"
     , isUnstable ? false
-    , incompatibleKernelVersion ? null }:
+    , kernelCompatible ? null }:
 
     stdenv.mkDerivation {
       name = "zfs-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}";
@@ -148,7 +150,7 @@ let
       '';
 
       postFixup = let
-        path = "PATH=${makeBinPath [ coreutils gawk gnused gnugrep util-linux smartmontools sysstat ]}:$PATH";
+        path = "PATH=${makeBinPath [ coreutils gawk gnused gnugrep util-linux smartmon sysstat ]}:$PATH";
       in ''
         for i in $out/libexec/zfs/zpool.d/*; do
           sed -i '2i${path}' $i
@@ -157,6 +159,18 @@ let
 
       outputs = [ "out" ] ++ optionals buildUser [ "lib" "dev" ];
 
+      passthru = {
+        inherit enableMail;
+
+        tests =
+          if isUnstable then [
+            nixosTests.zfs.unstable
+          ] else [
+            nixosTests.zfs.installer
+            nixosTests.zfs.stable
+          ];
+      };
+
       meta = {
         description = "ZFS Filesystem Linux Kernel module";
         longDescription = ''
@@ -169,7 +183,7 @@ let
         platforms = platforms.linux;
         maintainers = with maintainers; [ hmenke jcumming jonringer wizeman fpletz globin mic92 ];
         broken = if
-          buildKernel && (incompatibleKernelVersion != null) && versionAtLeast kernel.version incompatibleKernelVersion
+          buildKernel && (kernelCompatible != null) && !kernelCompatible
           then builtins.trace ''
             Linux v${kernel.version} is not yet supported by zfsonlinux v${version}.
             ${lib.optionalString (!isUnstable) "Try zfsUnstable or set the NixOS option boot.zfs.enableUnstable."}
@@ -182,26 +196,24 @@ in {
   # ./nixos/modules/tasks/filesystems/zfs.nix needs
   # to be adapted
   zfsStable = common {
-    # comment/uncomment if breaking kernel versions are known
-    # incompatibleKernelVersion = "4.20";
+    # check the release notes for compatible kernels
+    kernelCompatible = kernel.kernelAtLeast "3.10" && kernel.kernelOlder "5.12";
 
     # this package should point to the latest release.
-    version = "2.0.1";
-
-    sha256 = "0wmw823ildwm9rcfyk22pvzg100yhps3y9hfjlrpspfd1hhkbp0d";
+    version = "2.0.3";
 
-    extraPatches = [ ];
+    sha256 = "sha256-bai7SwJNOsrACcrUxZ4339REhbBPOWyYikHzgHfbONs=";
   };
 
   zfsUnstable = common {
-    # comment/uncomment if breaking kernel versions are known
-    # incompatibleKernelVersion = "4.19";
+    # check the release notes for compatible kernels
+    kernelCompatible = kernel.kernelAtLeast "3.10" && kernel.kernelOlder "5.12";
 
     # this package should point to a version / git revision compatible with the latest kernel release
-    version = "2.0.1";
+    version = "2.0.3";
 
-    sha256 = "0wmw823ildwm9rcfyk22pvzg100yhps3y9hfjlrpspfd1hhkbp0d";
+    sha256 = "sha256-bai7SwJNOsrACcrUxZ4339REhbBPOWyYikHzgHfbONs=";
 
-    extraPatches = [ ];
+    isUnstable = true;
   };
 }
diff --git a/pkgs/os-specific/solo5/default.nix b/pkgs/os-specific/solo5/default.nix
index 19d1aa3b5ebe1..baba0ecdf0abc 100644
--- a/pkgs/os-specific/solo5/default.nix
+++ b/pkgs/os-specific/solo5/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, pkg-config, libseccomp, util-linux, qemu }:
 
-let version = "0.6.7";
+let version = "0.6.8";
 in stdenv.mkDerivation {
   pname = "solo5";
   inherit version;
@@ -11,7 +11,7 @@ in stdenv.mkDerivation {
   src = fetchurl {
     url =
       "https://github.com/Solo5/solo5/releases/download/v${version}/solo5-v${version}.tar.gz";
-    sha256 = "05k9adg3440zk5baa6ry8z5dj8d8r8hvzafh2469pdgcnr6h45gr";
+    sha256 = "sha256-zrxNCXJIuEbtE3YNRK8Bxu2koHsQkcF+xItoIyhj9Uc=";
   };
 
   hardeningEnable = [ "pie" ];
diff --git a/pkgs/servers/adminer/default.nix b/pkgs/servers/adminer/default.nix
index 2774c8d1f2897..779f7312cacda 100644
--- a/pkgs/servers/adminer/default.nix
+++ b/pkgs/servers/adminer/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchurl, php }:
 
 stdenv.mkDerivation rec {
-  version = "4.7.8";
+  version = "4.8.0";
   pname = "adminer";
 
   # not using fetchFromGitHub as the git repo relies on submodules that are included in the tar file
   src = fetchurl {
     url = "https://github.com/vrana/adminer/releases/download/v${version}/adminer-${version}.tar.gz";
-    sha256 = "0k794agvd8pa3mwl0076i7753fzxd41lhr23aih4l2lbdgnzi68z";
+    sha256 = "sha256-T2LEUoIbFrMta+wP7PNci0QkFYrJZmWP3RP/JzgqUoc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/ankisyncd/default.nix b/pkgs/servers/ankisyncd/default.nix
index e109867012376..598483575cdc2 100644
--- a/pkgs/servers/ankisyncd/default.nix
+++ b/pkgs/servers/ankisyncd/default.nix
@@ -6,12 +6,12 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "ankisyncd";
-  version = "2.1.0";
+  version = "2.2.0";
   src = fetchFromGitHub {
-    owner = "tsudoko";
+    owner = "ankicommunity";
     repo = "anki-sync-server";
     rev = version;
-    sha256 = "6a140afa94fdb1725fed716918875e3d2ad0092cb955136e381c9d826cc4927c";
+    sha256 = "196xhd6vzp1ncr3ahz0bv0gp1ap2s37j8v48dwmvaywzayakqdab";
   };
   format = "other";
 
@@ -60,8 +60,8 @@ python3.pkgs.buildPythonApplication rec {
   meta = with lib; {
     description = "Self-hosted Anki sync server";
     maintainers = with maintainers; [ matt-snider ];
-    homepage = "https://github.com/tsudoko/anki-sync-server";
-    license = licenses.agpl3;
+    homepage = "https://github.com/ankicommunity/anki-sync-server";
+    license = licenses.agpl3Only;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/apache-kafka/default.nix b/pkgs/servers/apache-kafka/default.nix
index 826e952376c73..4bd50653d52c9 100644
--- a/pkgs/servers/apache-kafka/default.nix
+++ b/pkgs/servers/apache-kafka/default.nix
@@ -29,7 +29,8 @@ stdenv.mkDerivation rec {
     inherit sha256;
   };
 
-  buildInputs = [ jre makeWrapper bash gnugrep gnused coreutils ps ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre bash gnugrep gnused coreutils ps ];
 
   installPhase = ''
     mkdir -p $out
diff --git a/pkgs/servers/bazarr/default.nix b/pkgs/servers/bazarr/default.nix
index 375f33e5d601c..d68646c42752d 100644
--- a/pkgs/servers/bazarr/default.nix
+++ b/pkgs/servers/bazarr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bazarr";
-  version = "0.9.0.7";
+  version = "0.9.0.8";
 
   src = fetchurl {
     url = "https://github.com/morpheus65535/bazarr/archive/v${version}.tar.gz";
-    sha256 = "1nskhdb1pcgwp39ld8zrnngzsq6g1pn59nb211qhf6rsj0nyahic";
+    sha256 = "sha256-Ecbx7FHpcEkcWBAKCtZPtQKX5ibvU4tajSJ5pyEboKc=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/computing/slurm-spank-x11/default.nix b/pkgs/servers/computing/slurm-spank-x11/default.nix
index 8e64185e71c67..454cdbb57e3d4 100644
--- a/pkgs/servers/computing/slurm-spank-x11/default.nix
+++ b/pkgs/servers/computing/slurm-spank-x11/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
     homepage = "https://github.com/hautreux/slurm-spank-x11";
     description = "Plugin for SLURM to allow for interactive X11 sessions";
     platforms = platforms.linux;
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     maintainers = with maintainers; [ markuskowa ];
   };
 }
diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix
index 9c3b27f3d2549..d9b237a606296 100644
--- a/pkgs/servers/computing/slurm/default.nix
+++ b/pkgs/servers/computing/slurm/default.nix
@@ -82,7 +82,7 @@ stdenv.mkDerivation rec {
     homepage = "http://www.schedmd.com/";
     description = "Simple Linux Utility for Resource Management";
     platforms = platforms.linux;
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     maintainers = with maintainers; [ jagajaga markuskowa ];
   };
 }
diff --git a/pkgs/servers/confluent-platform/default.nix b/pkgs/servers/confluent-platform/default.nix
index e1cf49099324f..4a5846d01160e 100644
--- a/pkgs/servers/confluent-platform/default.nix
+++ b/pkgs/servers/confluent-platform/default.nix
@@ -18,7 +18,8 @@ stdenv.mkDerivation rec {
     sha256 = "18yvp56b8l074qfkgr4afirgd43g8b023n9ija6dnk6p6dib1f4j";
   };
 
-  buildInputs = [ jre makeWrapper bash ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre bash ];
 
   installPhase = ''
     cp -R $confluentCli confluent-cli
diff --git a/pkgs/servers/dict/dictd-db.nix b/pkgs/servers/dict/dictd-db.nix
index 584c35bf7f836..da73a94c2aa08 100644
--- a/pkgs/servers/dict/dictd-db.nix
+++ b/pkgs/servers/dict/dictd-db.nix
@@ -91,5 +91,5 @@ in rec {
     locale = "en_UK";
   };
   wordnet = callPackage ./dictd-wordnet.nix {};
-  wiktionary = callPackage ./dictd-wiktionary.nix {};
+  wiktionary = callPackage ./wiktionary {};
 }
diff --git a/pkgs/servers/dict/dictd-wiktionary.nix b/pkgs/servers/dict/dictd-wiktionary.nix
deleted file mode 100644
index f591064a3c132..0000000000000
--- a/pkgs/servers/dict/dictd-wiktionary.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{lib, stdenv, fetchurl, python, dict, glibcLocales, writeScript}:
-
-stdenv.mkDerivation rec {
-  version = "20161001";
-  pname = "dict-db-wiktionary";
-  data = fetchurl {
-    url = "http://dumps.wikimedia.org/enwiktionary/${version}/enwiktionary-${version}-pages-articles.xml.bz2";
-    sha256 = "0g3k7kxp2nzg0v56i4cz253af3aqvhn1lwkys2fnam51cn3yqm7m";
-  };
-
-  convert = ./wiktionary2dict.py;
-  buildInputs = [python dict glibcLocales];
-
-  builder = writeScript "wiktionary-builder.sh" ''
-    source $stdenv/setup
-
-    mkdir -p $out/share/dictd/
-    cd $out/share/dictd
-
-    python -O ${convert} ${data}
-    dictzip wiktionary-en.dict
-    echo en_US.UTF-8 > locale
-  '';
-
-  meta = {
-    description = "DICT version of English Wiktionary";
-    homepage = "http://en.wiktionary.org/";
-    maintainers = [ ];
-    platforms = lib.platforms.all;
-  };
-}
diff --git a/pkgs/servers/dict/wiktionary/builder.sh b/pkgs/servers/dict/wiktionary/builder.sh
new file mode 100644
index 0000000000000..65652ad4bdbfd
--- /dev/null
+++ b/pkgs/servers/dict/wiktionary/builder.sh
@@ -0,0 +1,8 @@
+source $stdenv/setup
+
+mkdir -p $out/share/dictd/
+cd $out/share/dictd
+
+python -O "$convert" "$src"
+dictzip wiktionary-en.dict
+echo en_US.UTF-8 > locale
diff --git a/pkgs/servers/dict/wiktionary/default.nix b/pkgs/servers/dict/wiktionary/default.nix
new file mode 100644
index 0000000000000..cd0c9c6c24bc8
--- /dev/null
+++ b/pkgs/servers/dict/wiktionary/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchurl, python, dict, glibcLocales }:
+
+stdenv.mkDerivation rec {
+  version = "20210201";
+  pname = "dict-db-wiktionary";
+
+  src = fetchurl {
+    url = "https://dumps.wikimedia.org/enwiktionary/${version}/enwiktionary-${version}-pages-articles.xml.bz2";
+    sha256 = "0dc34cbadsg0f6lhfcyx0np7zjnlg6837piqhlvnn0b45xnzn0cs";
+  };
+
+  convert = ./wiktionary2dict.py;
+  buildInputs = [ python dict glibcLocales ];
+  builder = ./builder.sh;
+
+  passthru.updateScript = ./update.sh;
+
+  meta = with lib; {
+    description = "DICT version of English Wiktionary";
+    homepage = "http://en.wiktionary.org/";
+    maintainers = with maintainers; [ qyliss ];
+    platforms = platforms.all;
+    license = with licenses; [ cc-by-sa-30 fdl11Plus ];
+  };
+}
diff --git a/pkgs/servers/dict/wiktionary/latest_version.py b/pkgs/servers/dict/wiktionary/latest_version.py
new file mode 100644
index 0000000000000..2833a1e05b03e
--- /dev/null
+++ b/pkgs/servers/dict/wiktionary/latest_version.py
@@ -0,0 +1,42 @@
+import subprocess
+
+from html.parser import HTMLParser
+from os.path import abspath, dirname
+from urllib.request import urlopen
+
+class WiktionaryLatestVersionParser(HTMLParser):
+    def __init__(self, current_version, *args, **kwargs):
+        self.latest_version = current_version
+        super().__init__(*args, **kwargs)
+
+
+    def handle_starttag(self, tag, attrs):
+        if tag != 'a':
+            return
+
+        href = dict(attrs)['href'][0:-1]
+        if href == 'latest':
+            return
+
+        self.latest_version = max(self.latest_version, href)
+
+
+def nix_prefetch_url(url, algo='sha256'):
+    """Prefetches the content of the given URL."""
+    print(f'nix-prefetch-url {url}')
+    out = subprocess.check_output(['nix-prefetch-url', '--type', algo, url])
+    return out.decode('utf-8').rstrip()
+
+
+current_version = subprocess.check_output([
+    'nix', 'eval', '--raw',
+    '-f', dirname(abspath(__file__)) + '/../../../..',
+    'dictdDBs.wiktionary.version',
+]).decode('utf-8')
+
+parser = WiktionaryLatestVersionParser(current_version)
+
+with urlopen('https://dumps.wikimedia.org/enwiktionary/') as resp:
+    parser.feed(resp.read().decode('utf-8'))
+
+print(parser.latest_version)
diff --git a/pkgs/servers/dict/wiktionary/update.sh b/pkgs/servers/dict/wiktionary/update.sh
new file mode 100755
index 0000000000000..ff5e0fc3551aa
--- /dev/null
+++ b/pkgs/servers/dict/wiktionary/update.sh
@@ -0,0 +1,7 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p common-updater-scripts python3
+
+set -ueo pipefail
+
+version="$(python "$(dirname "${BASH_SOURCE[0]}")"/latest_version.py)"
+update-source-version dictdDBs.wiktionary "$version"
diff --git a/pkgs/servers/dict/wiktionary2dict.py b/pkgs/servers/dict/wiktionary/wiktionary2dict.py
index 8a0210e7254f9..8a0210e7254f9 100644
--- a/pkgs/servers/dict/wiktionary2dict.py
+++ b/pkgs/servers/dict/wiktionary/wiktionary2dict.py
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index 3d78f4b4cdf9a..73a8325066710 100644
--- a/pkgs/servers/dns/bind/default.nix
+++ b/pkgs/servers/dns/bind/default.nix
@@ -10,11 +10,11 @@ assert enablePython -> python3 != null;
 
 stdenv.mkDerivation rec {
   pname = "bind";
-  version = "9.16.11";
+  version = "9.16.12";
 
   src = fetchurl {
     url = "https://downloads.isc.org/isc/bind9/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-ARH2TdfY9RXPoSnhgczpb/ggcNGyfxGiH2hWEQ0GmcE=";
+    sha256 = "sha256-mRSvkxH9NJyrRBCXiY2U+yjQv9m/btBP4fl/BCZE2n8=";
   };
 
   outputs = [ "out" "lib" "dev" "man" "dnsutils" "host" ];
diff --git a/pkgs/servers/dns/coredns/default.nix b/pkgs/servers/dns/coredns/default.nix
index cdfc78d622293..188c3f77cb633 100644
--- a/pkgs/servers/dns/coredns/default.nix
+++ b/pkgs/servers/dns/coredns/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "coredns";
-  version = "1.8.1";
+  version = "1.8.3";
 
   src = fetchFromGitHub {
     owner = "coredns";
     repo = "coredns";
     rev = "v${version}";
-    sha256 = "sha256-F4YiLjWrAjCNorR5dHQ2nzEBVWvJVuDDmAbUXruaPYQ=";
+    sha256 = "sha256-aE+kw854/wjFJqiRC/1gLzRpaVa6EPJPJaKqXtFM+Sw=";
   };
 
-  vendorSha256 = "sha256-QvT1vnvF+gvABh2SzR6vUsj3KCD8ABqZwXQUm3NldM0=";
+  vendorSha256 = "sha256-1+WgBsknyPcZhvQLffhlWBH1o0pYTFoOG5BviUJYxyA=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/dns/knot-resolver/default.nix b/pkgs/servers/dns/knot-resolver/default.nix
index 8954c9fcd89e7..a945198af6d06 100644
--- a/pkgs/servers/dns/knot-resolver/default.nix
+++ b/pkgs/servers/dns/knot-resolver/default.nix
@@ -17,11 +17,11 @@ lua = luajitPackages;
 
 unwrapped = stdenv.mkDerivation rec {
   pname = "knot-resolver";
-  version = "5.2.1";
+  version = "5.3.0";
 
   src = fetchurl {
     url = "https://secure.nic.cz/files/knot-resolver/${pname}-${version}.tar.xz";
-    sha256 = "aa37b744c400f437acba7a54aebcbdbe722ece743d342cbc39f2dd8087f05826";
+    sha256 = "fb6cb2c03f4fffbdd8a0098127383d03b14cf7d6abf3a0cd229fb13ff68ee33e";
   };
 
   outputs = [ "out" "dev" ];
@@ -43,7 +43,8 @@ unwrapped = stdenv.mkDerivation rec {
     # some tests have issues with network sandboxing, apparently
   + optionalString doInstallCheck ''
     echo 'os.exit(77)' > daemon/lua/trust_anchors.test/bootstrap.test.lua
-    sed '/^[[:blank:]]*test_dstaddr,$/d' -i tests/config/doh2.test.lua
+    sed '/^[[:blank:]]*test_dstaddr,$/d' -i \
+      tests/config/doh2.test.lua modules/http/http_doh.test.lua
   '';
 
   preConfigure = ''
diff --git a/pkgs/servers/etcd/3.4.nix b/pkgs/servers/etcd/3.4.nix
index dc9fc0898dffc..f533b4537ad36 100644
--- a/pkgs/servers/etcd/3.4.nix
+++ b/pkgs/servers/etcd/3.4.nix
@@ -2,10 +2,10 @@
 
 buildGoModule rec {
   pname = "etcd";
-  version = "3.4.14";
+  version = "3.4.15";
 
   deleteVendor = true;
-  vendorSha256 = "0jlnh4789xa2dhbyp33k9r278kc588ykggamnnfqivb27s2646bc";
+  vendorSha256 = "sha256-1q5tYNDmlgHdPgL2Pn5BS8z3SwW2E3OaZkKPAtnhJZY=";
 
   doCheck = false;
 
@@ -13,7 +13,7 @@ buildGoModule rec {
     owner = "etcd-io";
     repo = "etcd";
     rev = "v${version}";
-    sha256 = "0s6xwc8yczjdf6xysb6m0pp31hxjqdqjw24bliq08094jprhj31f";
+    sha256 = "sha256-jJC2+zv0io0ZulLVaPMrDD7qkOxGfGtFyZvJ2hTmU24=";
   };
 
   buildPhase = ''
diff --git a/pkgs/servers/etebase/default.nix b/pkgs/servers/etebase/default.nix
new file mode 100644
index 0000000000000..d16c6f0113369
--- /dev/null
+++ b/pkgs/servers/etebase/default.nix
@@ -0,0 +1,57 @@
+{ lib, stdenv, python3, fetchFromGitHub }:
+
+let
+  py = python3.override {
+    packageOverrides = self: super: {
+      django = super.django_3;
+    };
+  };
+in
+  with py.pkgs;
+
+buildPythonPackage rec {
+  pname = "etebase-server";
+  version = "0.7.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "etesync";
+    repo = "server";
+    rev = "v${version}";
+    sha256 = "1r2a7ki9w2h3l6rwqa3fzxjlqfj2lbgfrm8lynjhvcdv02s5abbi";
+  };
+
+  patches = [ ./secret.patch ];
+
+  propagatedBuildInputs = with pythonPackages; [
+    asgiref
+    cffi
+    django
+    django-cors-headers
+    djangorestframework
+    drf-nested-routers
+    msgpack
+    psycopg2
+    pycparser
+    pynacl
+    pytz
+    six
+    sqlparse
+  ];
+
+  installPhase = ''
+    mkdir -p $out/bin $out/lib
+    cp -r . $out/lib/etebase-server
+    ln -s $out/lib/etebase-server/manage.py $out/bin/etebase-server
+    wrapProgram $out/bin/etebase-server --prefix PYTHONPATH : "$PYTHONPATH"
+    chmod +x $out/bin/etebase-server
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/etesync/server";
+    description = "An Etebase (EteSync 2.0) server so you can run your own.";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ felschr ];
+    broken = stdenv.isDarwin;
+  };
+}
diff --git a/pkgs/servers/etebase/secret.patch b/pkgs/servers/etebase/secret.patch
new file mode 100644
index 0000000000000..182d3259248ee
--- /dev/null
+++ b/pkgs/servers/etebase/secret.patch
@@ -0,0 +1,26 @@
+diff --git a/etebase_server/settings.py b/etebase_server/settings.py
+index 9baf8d3..501d9f6 100644
+--- a/etebase_server/settings.py
++++ b/etebase_server/settings.py
+@@ -23,11 +22,6 @@
+ # Quick-start development settings - unsuitable for production
+ # See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/
+ 
+-# SECURITY WARNING: keep the secret key used in production secret!
+-# See secret.py for how this is generated; uses a file 'secret.txt' in the root
+-# directory
+-SECRET_FILE = os.path.join(BASE_DIR, "secret.txt")
+-
+ # SECURITY WARNING: don't run with debug turned on in production!
+ DEBUG = True
+ 
+@@ -143,7 +137,7 @@
+ 
+     section = config["global"]
+ 
+-    SECRET_FILE = section.get("secret_file", SECRET_FILE)
++    SECRET_FILE = section.get("secret_file", None)
+     STATIC_ROOT = section.get("static_root", STATIC_ROOT)
+     STATIC_URL = section.get("static_url", STATIC_URL)
+     MEDIA_ROOT = section.get("media_root", MEDIA_ROOT)
+
diff --git a/pkgs/servers/exhibitor/default.nix b/pkgs/servers/exhibitor/default.nix
index 0b92aca74c75b..5636f51a16998 100644
--- a/pkgs/servers/exhibitor/default.nix
+++ b/pkgs/servers/exhibitor/default.nix
@@ -31,8 +31,7 @@ stdenv.mkDerivation rec {
   # (given the state of Maven support in Nix). We're not actually building any java
   # source here.
   pomFileDir = "exhibitor-standalone/src/main/resources/buildscripts/standalone/maven";
-  nativeBuildInputs = [ maven ];
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ maven makeWrapper ];
   buildPhase = ''
       cd ${pomFileDir}
       mvn package --offline -Dmaven.repo.local=$(cp -dpR ${fetchedMavenDeps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2
diff --git a/pkgs/servers/fishnet/assets.nix b/pkgs/servers/fishnet/assets.nix
new file mode 100644
index 0000000000000..6844db1b810c1
--- /dev/null
+++ b/pkgs/servers/fishnet/assets.nix
@@ -0,0 +1,57 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, xz
+, autoPatchelfHook }:
+
+# Assets for fishnet: A collection of pre-built compressed stockfish binaries.
+# We have to decompress them, patch them using auto-patchelf and compress them
+# again so that a selection of them can be embedded into the fishnet binary.
+stdenv.mkDerivation rec {
+  pname = "fishnet-assets";
+  version = "unstable-2020-01-30";
+
+  src = fetchFromGitHub {
+    owner = "niklasf";
+    repo = pname;
+    rev = "b4fa30e57ec8976fb1c10bd36737bc784351b93e";
+    sha256 = "0gfs9lm4ih3h3fmgqylw05ii1h0d6mpjfxadnw3wymnjsspfb0m4";
+  };
+
+  relAssetsPath = "share/${pname}";
+
+  nativeBuildInputs = [ xz autoPatchelfHook ];
+
+  postPatch = ''
+    # Delete packed .exe files and all non .xz files (documentation and readme)
+    rm *.exe.xz
+    find \! -name "*.xz" -delete
+    # Extract .xz files, except *.nnue.xz
+    # We don't have to unpack the latter and it takes ages to repack
+    find -name "*.xz" \! -name "*.nnue.xz" | xargs unxz -v
+  '';
+
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -p $out/${relAssetsPath}
+    cp ./* $out/${relAssetsPath}
+  '';
+
+  preFixup = ''
+    gatherLibraries '${stdenv.cc.cc.lib}'
+  '';
+
+  doDist = true;
+  distPhase = ''
+    # repack assets
+    find $out/${relAssetsPath} -type f \! -name "*.xz" | xargs xz -v
+  '';
+
+  meta = with lib; {
+    description = "Assets for fishnet, only required during build";
+    homepage = "https://github.com/niklasf/fishnet-assets";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ tu-maurice ];
+  };
+}
diff --git a/pkgs/servers/fishnet/default.nix b/pkgs/servers/fishnet/default.nix
new file mode 100644
index 0000000000000..508068bd2d4b9
--- /dev/null
+++ b/pkgs/servers/fishnet/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, xz
+, autoPatchelfHook }:
+
+let
+  assets = import ./assets.nix {
+    inherit lib stdenv fetchFromGitHub xz autoPatchelfHook;
+  };
+in
+rustPlatform.buildRustPackage rec {
+  pname = "fishnet";
+  version = "2.2.4";
+
+  src = fetchFromGitHub {
+    owner = "niklasf";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "19dh69b6mqx16195w9d20fah4jl8hhbxm84xq4zwsgl4khmw7zqz";
+  };
+
+  cargoSha256 = "0zl2fnmqncyjd52wkn6dddx9lm9ywpw7swy895yq299z2bbbkv3h";
+
+  preBuild = ''
+    rmdir ./assets
+    ln -snf ${assets}/${assets.relAssetsPath} ./assets
+  '';
+
+  meta = with lib; {
+    description = "Distributed Stockfish analysis for lichess.org";
+    homepage = "https://github.com/niklasf/fishnet";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ tu-maurice ];
+  };
+}
diff --git a/pkgs/servers/foundationdb/default.nix b/pkgs/servers/foundationdb/default.nix
index 10d517179c2f7..e1cb2e29a05ab 100644
--- a/pkgs/servers/foundationdb/default.nix
+++ b/pkgs/servers/foundationdb/default.nix
@@ -69,6 +69,7 @@ in with builtins; {
 
     patches = [
       ./patches/ldflags-6.0.patch
+      ./patches/include-fixes-6.0.patch
     ];
   };
 
diff --git a/pkgs/servers/foundationdb/patches/include-fixes-6.0.patch b/pkgs/servers/foundationdb/patches/include-fixes-6.0.patch
new file mode 100644
index 0000000000000..93959def44f82
--- /dev/null
+++ b/pkgs/servers/foundationdb/patches/include-fixes-6.0.patch
@@ -0,0 +1,137 @@
+diff --git a/fdbrpc/ContinuousSample.h b/fdbrpc/ContinuousSample.h
+index 54ff1b109..577c228ae 100644
+--- a/fdbrpc/ContinuousSample.h
++++ b/fdbrpc/ContinuousSample.h
+@@ -26,6 +26,7 @@
+ #include "flow/IRandom.h"
+ #include <vector>
+ #include <algorithm>
++#include <cmath>
+ 
+ template <class T>
+ class ContinuousSample {
+diff --git a/fdbrpc/Smoother.h b/fdbrpc/Smoother.h
+index 3ed8e6e98..f3e4504b6 100644
+--- a/fdbrpc/Smoother.h
++++ b/fdbrpc/Smoother.h
+@@ -23,6 +23,7 @@
+ #pragma once
+ 
+ #include "flow/flow.h"
++#include <cmath>
+ 
+ struct Smoother {
+ 	// Times (t) are expected to be nondecreasing
+@@ -50,7 +51,7 @@ struct Smoother {
+ 		double elapsed = t - time;
+ 		if(elapsed) {
+ 			time = t;
+-			estimate += (total-estimate) * (1-exp( -elapsed/eFoldingTime ));
++			estimate += (total-estimate) * (1-std::exp( -elapsed/eFoldingTime ));
+ 		}
+ 	}
+ 
+@@ -83,11 +84,11 @@ struct TimerSmoother {
+ 	void update(double t) {
+ 		double elapsed = t - time;
+ 		time = t;
+-		estimate += (total-estimate) * (1-exp( -elapsed/eFoldingTime ));
++		estimate += (total-estimate) * (1-std::exp( -elapsed/eFoldingTime ));
+ 	}
+ 
+ 	double eFoldingTime;
+ 	double time, total, estimate;
+ };
+ 
+-#endif
+\ No newline at end of file
++#endif
+diff --git a/fdbserver/Knobs.cpp b/fdbserver/Knobs.cpp
+index a924bc905..0dc70e7ac 100644
+--- a/fdbserver/Knobs.cpp
++++ b/fdbserver/Knobs.cpp
+@@ -20,6 +20,7 @@
+ 
+ #include "Knobs.h"
+ #include "fdbrpc/Locality.h"
++#include <cmath>
+ 
+ ServerKnobs const* SERVER_KNOBS = new ServerKnobs();
+ 
+diff --git a/flow/Knobs.cpp b/flow/Knobs.cpp
+index 2d706dddd..5dbe08861 100644
+--- a/flow/Knobs.cpp
++++ b/flow/Knobs.cpp
+@@ -20,6 +20,7 @@
+ 
+ #include "Knobs.h"
+ #include "flow/flow.h"
++#include <cmath>
+ 
+ FlowKnobs const* FLOW_KNOBS = new FlowKnobs();
+ 
+@@ -128,7 +129,7 @@ FlowKnobs::FlowKnobs(bool randomize, bool isSimulated) {
+ 	init( MAX_METRICS,                                         600 );
+ 	init( MAX_METRIC_SIZE,                                    2500 );
+ 	init( MAX_METRIC_LEVEL,                                     25 );
+-	init( METRIC_LEVEL_DIVISOR,                             log(4) );
++	init( METRIC_LEVEL_DIVISOR,                        std::log(4) );
+ 	init( METRIC_LIMIT_START_QUEUE_SIZE,                        10 );  // The queue size at which to start restricting logging by disabling levels
+ 	init( METRIC_LIMIT_RESPONSE_FACTOR,                         10 );  // The additional queue size at which to disable logging of another level (higher == less restrictive)
+ 
+diff --git a/flow/Platform.cpp b/flow/Platform.cpp
+index a754c8747..4d47fad32 100644
+--- a/flow/Platform.cpp
++++ b/flow/Platform.cpp
+@@ -98,6 +98,8 @@
+ #include <sys/resource.h>
+ /* Needed for crash handler */
+ #include <signal.h>
++/* Needed for major() and minor() with recent glibc */
++#include <sys/sysmacros.h>
+ #endif
+ 
+ #ifdef __APPLE__
+diff --git a/flow/Profiler.actor.cpp b/flow/Profiler.actor.cpp
+index 4603dcb77..78eda7278 100644
+--- a/flow/Profiler.actor.cpp
++++ b/flow/Profiler.actor.cpp
+@@ -35,8 +35,6 @@
+ 
+ extern volatile int profilingEnabled;
+ 
+-static uint64_t gettid() { return syscall(__NR_gettid); }
+-
+ struct SignalClosure {
+ 	void (* func)(int, siginfo_t*, void*, void*);
+ 	void *userdata;
+diff --git a/flow/TDMetric.actor.h b/flow/TDMetric.actor.h
+index 306352c39..fc63e12f9 100755
+--- a/flow/TDMetric.actor.h
++++ b/flow/TDMetric.actor.h
+@@ -35,6 +35,7 @@
+ #include "genericactors.actor.h"
+ #include "CompressedInt.h"
+ #include <algorithm>
++#include <cmath>
+ #include <functional>
+ 
+ struct MetricNameRef {
+@@ -799,7 +800,7 @@ struct EventMetric : E, ReferenceCounted<EventMetric<E>>, MetricUtil<EventMetric
+ 		if (x == 0.0)
+ 			l = FLOW_KNOBS->MAX_METRIC_LEVEL-1;
+ 		else
+-			l = std::min(FLOW_KNOBS->MAX_METRIC_LEVEL-1, (int64_t)(::log(1.0/x) / FLOW_KNOBS->METRIC_LEVEL_DIVISOR));
++			l = std::min(FLOW_KNOBS->MAX_METRIC_LEVEL-1, (int64_t)(std::log(1.0/x) / FLOW_KNOBS->METRIC_LEVEL_DIVISOR));
+ 
+ 		if(!canLog(l))
+ 			return 0;
+@@ -1274,7 +1275,7 @@ public:
+ 				l = std::min(
+ 					FLOW_KNOBS->MAX_METRIC_LEVEL-1,
+ 					(int64_t)(
+-						log((toggleTime - tv.time) / x) /
++						std::log((toggleTime - tv.time) / x) /
+ 							FLOW_KNOBS->METRIC_LEVEL_DIVISOR
+ 					)
+ 				);
diff --git a/pkgs/servers/gemini/agate/default.nix b/pkgs/servers/gemini/agate/default.nix
new file mode 100644
index 0000000000000..a5028159b04f5
--- /dev/null
+++ b/pkgs/servers/gemini/agate/default.nix
@@ -0,0 +1,39 @@
+{ lib, stdenv, fetchFromGitHub, rustPlatform, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "agate";
+  version = "2.5.3";
+
+  src = fetchFromGitHub {
+    owner = "mbrubeck";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-EhIBkAPy+sZ629yxJ8GCVhEQx7gQypMFYquGpQJkke0=";
+  };
+
+  cargoSha256 = "sha256-nRrFC/6CgXZR78aJQVw2y2sKUmRpz8Rofo0N4vgeekg=";
+
+  buildInputs = lib.optionals stdenv.isDarwin [ Security ];
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/agate --help
+    $out/bin/agate --version 2>&1 | grep "agate ${version}"
+    runHook postInstallCheck
+  '';
+
+  meta = with lib; {
+    homepage = "https://proxy.vulpes.one/gemini/qwertqwefsday.eu/agate.gmi";
+    changelog = "https://proxy.vulpes.one/gemini/qwertqwefsday.eu/agate.gmi";
+    description = "Very simple server for the Gemini hypertext protocol";
+    longDescription = ''
+      Agate is a server for the Gemini network protocol, built with the Rust
+      programming language. Agate has very few features, and can only serve
+      static files. It uses async I/O, and should be quite efficient even when
+      running on low-end hardware and serving many concurrent requests.
+    '';
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ jk ];
+  };
+}
diff --git a/pkgs/servers/gerbera/default.nix b/pkgs/servers/gerbera/default.nix
index f81cc6600f157..c7e560f9e6190 100644
--- a/pkgs/servers/gerbera/default.nix
+++ b/pkgs/servers/gerbera/default.nix
@@ -2,18 +2,17 @@
 , cmake, pkg-config
 # required
 , libupnp, libuuid, pugixml, libiconv, sqlite, zlib, spdlog, fmt
-, pkgs
 # options
-, enableDuktape ? true
-, enableCurl ? true
-, enableTaglib ? true
-, enableLibmagic ? true
-, enableLibmatroska ? true
-, enableAvcodec ? false
-, enableLibexif ? true
-, enableExiv2 ? false
-, enableFFmpegThumbnailer ? false
-, enableInotifyTools ? true
+, enableDuktape ? true, duktape
+, enableCurl ? true, curl
+, enableTaglib ? true, taglib
+, enableLibmagic ? true, file
+, enableLibmatroska ? true, libmatroska, libebml
+, enableAvcodec ? false, ffmpeg
+, enableLibexif ? true, libexif
+, enableExiv2 ? false, exiv2
+, enableFFmpegThumbnailer ? false, ffmpegthumbnailer
+, enableInotifyTools ? true, inotify-tools
 }:
 
 with lib;
@@ -21,13 +20,13 @@ let
   optionOnOff = option: if option then "on" else "off";
 in stdenv.mkDerivation rec {
   pname = "gerbera";
-  version = "1.6.4";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     repo = "gerbera";
     owner = "gerbera";
     rev = "v${version}";
-    sha256 = "0vkgbw2ibvfr0zffnmmws7389msyqsiw8anfad6awvkda3z3rxjm";
+    sha256 = "sha256-unBToiLSpTtnung77z65iuUqiQHwfMVgmFZMUtKU7fQ=";
   };
 
   cmakeFlags = [
@@ -51,16 +50,16 @@ in stdenv.mkDerivation rec {
     libupnp libuuid pugixml libiconv sqlite zlib fmt.dev
     spdlog
   ]
-  ++ optionals enableDuktape [ pkgs.duktape ]
-  ++ optionals enableCurl [ pkgs.curl ]
-  ++ optionals enableTaglib [ pkgs.taglib ]
-  ++ optionals enableLibmagic [ pkgs.file ]
-  ++ optionals enableLibmatroska [ pkgs.libmatroska pkgs.libebml ]
-  ++ optionals enableAvcodec [ pkgs.libav.dev ]
-  ++ optionals enableLibexif [ pkgs.libexif ]
-  ++ optionals enableExiv2 [ pkgs.exiv2 ]
-  ++ optionals enableInotifyTools [ pkgs.inotify-tools ]
-  ++ optionals enableFFmpegThumbnailer [ pkgs.ffmpegthumbnailer ];
+  ++ optionals enableDuktape [ duktape ]
+  ++ optionals enableCurl [ curl ]
+  ++ optionals enableTaglib [ taglib ]
+  ++ optionals enableLibmagic [ file ]
+  ++ optionals enableLibmatroska [ libmatroska libebml ]
+  ++ optionals enableAvcodec [ ffmpeg.dev ]
+  ++ optionals enableLibexif [ libexif ]
+  ++ optionals enableExiv2 [ exiv2 ]
+  ++ optionals enableInotifyTools [ inotify-tools ]
+  ++ optionals enableFFmpegThumbnailer [ ffmpegthumbnailer ];
 
 
   meta = with lib; {
diff --git a/pkgs/servers/gonic/default.nix b/pkgs/servers/gonic/default.nix
index 343b3d2b19d18..fbefca063a841 100644
--- a/pkgs/servers/gonic/default.nix
+++ b/pkgs/servers/gonic/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoPackage, fetchFromGitHub
+{ lib, buildGoModule, fetchFromGitHub
 , pkg-config, taglib, alsaLib
 
 # Disable on-the-fly transcoding,
@@ -7,53 +7,26 @@
 # to the original file, but if transcoding is configured
 # that takes a while. So best to disable all transcoding
 # in the configuration if you disable transcodingSupport.
-, transcodingSupport ? true, ffmpeg
-
-# udpater
-, writers, vgo2nix }:
-
-assert transcodingSupport -> ffmpeg != null;
-
-let
-  # update these, then run `updateScript` to update dependencies
-  version = "0.11.0";
-  rev = "056fb54a703ef5b5194ce112cbbdd8fb53dbb1ea";
-  sha256 = "0hd794wrz29nh89lfnq67w1rc23sg085rqf1agwlgpqycns2djl9";
+, transcodingSupport ? true, ffmpeg }:
 
+buildGoModule rec {
+  pname = "gonic";
+  version = "0.12.2";
   src = fetchFromGitHub {
     owner = "sentriz";
-    repo = "gonic";
-    inherit rev sha256;
+    repo = pname;
+    rev = "7d420f61a90739cd82a81c2740274c538405d950";
+    sha256 = "0ix33cbhik1580h1jgv6n512dcgip436wmljpiw53c9v438k0ps5";
   };
 
-in
-buildGoPackage {
-  pname = "gonic-${version}";
-  inherit version src;
-  goPackagePath = "go.senan.xyz/gonic";
-  goDeps = ./deps.nix;
-
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ taglib alsaLib ];
-
-  postPatch = lib.optionalString transcodingSupport ''
-    substituteInPlace \
-       server/encode/encode.go \
-      --replace \
-        'ffmpegPath = "/usr/bin/ffmpeg"' \
-        'ffmpegPath = "${ffmpeg}/bin/ffmpeg"' \
-  '';
-
-  passthru.updateScript = writers.writeDash "update-gonic" ''
-    ${vgo2nix}/bin/vgo2nix \
-      -dir ${src} \
-      -outfile ${lib.escapeShellArg (toString ./deps.nix)}
-  '';
+  buildInputs = [ taglib alsaLib ] ++ lib.optionals transcodingSupport [ ffmpeg ];
+  vendorSha256 = "0inxlqxnkglz4j14jav8080718a80nqdcl866lkql8r6zcxb4fm9";
 
   meta = {
     homepage = "https://github.com/sentriz/gonic";
     description = "Music streaming server / subsonic server API implementation";
-    license = lib.licenses.gpl3;
+    license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ Profpatsch ];
   };
 }
diff --git a/pkgs/servers/gonic/deps.nix b/pkgs/servers/gonic/deps.nix
deleted file mode 100644
index 71b2f83a0e01d..0000000000000
--- a/pkgs/servers/gonic/deps.nix
+++ /dev/null
@@ -1,795 +0,0 @@
-# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
-[
-  {
-    goPackagePath = "cloud.google.com/go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/googleapis/google-cloud-go";
-      rev = "v0.33.1";
-      sha256 = "1xs487sqajpvnhlwp130sfaajyinhxxq2yvmv2533mwf0zhcpz6v";
-    };
-  }
-  {
-    goPackagePath = "dmitri.shuralyov.com/gpu/mtl";
-    fetch = {
-      type = "git";
-      url = "https://dmitri.shuralyov.com/gpu/mtl";
-      rev = "666a987793e9";
-      sha256 = "1isd03hgiwcf2ld1rlp0plrnfz7r4i7c5q4kb6hkcd22axnmrv0z";
-    };
-  }
-  {
-    goPackagePath = "github.com/BurntSushi/toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/BurntSushi/toml";
-      rev = "v0.3.1";
-      sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
-    };
-  }
-  {
-    goPackagePath = "github.com/BurntSushi/xgb";
-    fetch = {
-      type = "git";
-      url = "https://github.com/BurntSushi/xgb";
-      rev = "27f122750802";
-      sha256 = "18lp2x8f5bljvlz0r7xn744f0c9rywjsb9ifiszqqdcpwhsa0kvj";
-    };
-  }
-  {
-    goPackagePath = "github.com/Masterminds/goutils";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Masterminds/goutils";
-      rev = "v1.1.0";
-      sha256 = "180px47gj936qyk5bkv5mbbgiil9abdjq6kwkf7sq70vyi9mcfiq";
-    };
-  }
-  {
-    goPackagePath = "github.com/Masterminds/semver";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Masterminds/semver";
-      rev = "v1.5.0";
-      sha256 = "1i169xscsxsh8lsw8bz2apnsqixld37xdnfh36i30xy5wnf0iwfx";
-    };
-  }
-  {
-    goPackagePath = "github.com/Masterminds/sprig";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Masterminds/sprig";
-      rev = "v2.22.0";
-      sha256 = "09dzwhj4zh3p6f1jhyic16n4qdnvpamz7hyk9fycpm4b1jfq63gd";
-    };
-  }
-  {
-    goPackagePath = "github.com/OneOfOne/xxhash";
-    fetch = {
-      type = "git";
-      url = "https://github.com/OneOfOne/xxhash";
-      rev = "v1.2.2";
-      sha256 = "1mjfhrwhvxa48rycjnqpqzm521i38h1hdyz6pdwmhd7xb8j6gwi6";
-    };
-  }
-  {
-    goPackagePath = "github.com/cespare/xxhash";
-    fetch = {
-      type = "git";
-      url = "https://github.com/cespare/xxhash";
-      rev = "v1.1.0";
-      sha256 = "1qyzlcdcayavfazvi03izx83fvip8h36kis44zr2sg7xf6sx6l4x";
-    };
-  }
-  {
-    goPackagePath = "github.com/d4l3k/messagediff";
-    fetch = {
-      type = "git";
-      url = "https://github.com/d4l3k/messagediff";
-      rev = "7e0a312ae40b";
-      sha256 = "1ab2gm7ys33rs84fjzqcb7b4jy2rr1a0w5a9kakfaf80wd0rjrah";
-    };
-  }
-  {
-    goPackagePath = "github.com/davecgh/go-spew";
-    fetch = {
-      type = "git";
-      url = "https://github.com/davecgh/go-spew";
-      rev = "v1.1.1";
-      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
-    };
-  }
-  {
-    goPackagePath = "github.com/denisenkom/go-mssqldb";
-    fetch = {
-      type = "git";
-      url = "https://github.com/denisenkom/go-mssqldb";
-      rev = "732737034ffd";
-      sha256 = "0k1inn33lbfj97d5ir3k5gffjcpb39kairq91jfrz6pnbq0w3zlf";
-    };
-  }
-  {
-    goPackagePath = "github.com/disintegration/imaging";
-    fetch = {
-      type = "git";
-      url = "https://github.com/disintegration/imaging";
-      rev = "v1.6.2";
-      sha256 = "1sl201nmk601h0aii4234sycn4v2b0rjxf8yhrnik4yjzd68q9x5";
-    };
-  }
-  {
-    goPackagePath = "github.com/dustin/go-humanize";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dustin/go-humanize";
-      rev = "v1.0.0";
-      sha256 = "1kqf1kavdyvjk7f8kx62pnm7fbypn9z1vbf8v2qdh3y7z7a0cbl3";
-    };
-  }
-  {
-    goPackagePath = "github.com/erikstmartin/go-testdb";
-    fetch = {
-      type = "git";
-      url = "https://github.com/erikstmartin/go-testdb";
-      rev = "8d10e4a1bae5";
-      sha256 = "1fhrqcpv8x74qwxx9gpnhgqbz5wkp2bnsq92w418l1fnrgh4ppmq";
-    };
-  }
-  {
-    goPackagePath = "github.com/faiface/beep";
-    fetch = {
-      type = "git";
-      url = "https://github.com/faiface/beep";
-      rev = "v1.0.2";
-      sha256 = "07j0k0ynw1q8f7fzsan4kvfmdlda11583sck66hxfsk9zbp8vpxv";
-    };
-  }
-  {
-    goPackagePath = "github.com/gdamore/encoding";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gdamore/encoding";
-      rev = "v1.0.0";
-      sha256 = "1vmm5zll92i2fm4ajqx0gyx0p9j36496x5nabi3y0x7h0inv0pk9";
-    };
-  }
-  {
-    goPackagePath = "github.com/gdamore/tcell";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gdamore/tcell";
-      rev = "v1.1.1";
-      sha256 = "0il2nnxp2cqiy73m49215dnf9in3vd25ji8qxbmq87c5qy7i1q9d";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-audio/audio";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-audio/audio";
-      rev = "v1.0.0";
-      sha256 = "05ai13yc8wwk2zlk9br62lh4z9hs1q685l7ij618bknf449vjsf3";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-audio/riff";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-audio/riff";
-      rev = "v1.0.0";
-      sha256 = "0wg3p3gsad1rql7bzx7pwwsyd00a5gdb8f1h7zfr7hlqja5skwb4";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-audio/wav";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-audio/wav";
-      rev = "v1.0.0";
-      sha256 = "058mgc5ahjibnsqayk3k75l04gg9mv27bpmj79jyrya3kaczpamk";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-gl/glfw";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-gl/glfw";
-      rev = "6f7a984d4dc4";
-      sha256 = "1nyv7h08qf4dp8w9pmcnrc6vv9bkwj8fil6pz0mkbss5hf4i8xcq";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-sql-driver/mysql";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-sql-driver/mysql";
-      rev = "v1.5.0";
-      sha256 = "11x0m9yf3kdnf6981182r824psgxwfaqhn3x3in4yiidp0w0hk3v";
-    };
-  }
-  {
-    goPackagePath = "github.com/gofrs/uuid";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gofrs/uuid";
-      rev = "v3.2.0";
-      sha256 = "1q63mp7bznhfgyw133c0wc0hpcj1cq9bcf7w1f8r6inkcrils1fz";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang-sql/civil";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang-sql/civil";
-      rev = "cb61b32ac6fe";
-      sha256 = "0yadfbvi0w06lg3sxw0daji02jxd3vv2in26yfmwpl4vd4vm9zay";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/protobuf";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/protobuf";
-      rev = "v1.2.0";
-      sha256 = "0kf4b59rcbb1cchfny2dm9jyznp8ri2hsb14n8iak1q8986xa0ab";
-    };
-  }
-  {
-    goPackagePath = "github.com/google/go-cmp";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/go-cmp";
-      rev = "v0.2.0";
-      sha256 = "1fbv0x27k9sn8svafc0hjwsnckk864lv4yi7bvzrxvmd3d5hskds";
-    };
-  }
-  {
-    goPackagePath = "github.com/google/uuid";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/uuid";
-      rev = "v1.1.1";
-      sha256 = "0hfxcf9frkb57k6q0rdkrmnfs78ms21r1qfk9fhlqga2yh5xg8zb";
-    };
-  }
-  {
-    goPackagePath = "github.com/gopherjs/gopherjs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gopherjs/gopherjs";
-      rev = "0210a2f0f73c";
-      sha256 = "1n80xjfc1dkxs8h8mkpw83n89wi5n7hzc3rxhwjs76rkxpq3rc9j";
-    };
-  }
-  {
-    goPackagePath = "github.com/gopherjs/gopherwasm";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gopherjs/gopherwasm";
-      rev = "v1.0.0";
-      sha256 = "0q20il68gqnrc0s8jndc8mw1ynln60a4xy1lrqakzmp8whyilwri";
-    };
-  }
-  {
-    goPackagePath = "github.com/gorilla/context";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gorilla/context";
-      rev = "v1.1.1";
-      sha256 = "03p4hn87vcmfih0p9w663qbx9lpsf7i7j3lc7yl7n84la3yz63m4";
-    };
-  }
-  {
-    goPackagePath = "github.com/gorilla/mux";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gorilla/mux";
-      rev = "v1.7.4";
-      sha256 = "1d0sy1paa055ic84sp3766s9pa24q008hf77dc842vrgvn8p3wmh";
-    };
-  }
-  {
-    goPackagePath = "github.com/gorilla/securecookie";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gorilla/securecookie";
-      rev = "v1.1.1";
-      sha256 = "16bqimpxs9vj5n59vm04y04v665l7jh0sddxn787pfafyxcmh410";
-    };
-  }
-  {
-    goPackagePath = "github.com/gorilla/sessions";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gorilla/sessions";
-      rev = "v1.2.0";
-      sha256 = "1kz6ydgp7vamhl2ak02hvzp2yv1dbfbwzsdxn6271lyzzdvz4pp1";
-    };
-  }
-  {
-    goPackagePath = "github.com/hajimehoshi/go-mp3";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hajimehoshi/go-mp3";
-      rev = "v0.2.1";
-      sha256 = "0dxqpyj4xbq570if25g5wqbbp6frhq733h2ny3b2z3z8hw4q7vgg";
-    };
-  }
-  {
-    goPackagePath = "github.com/hajimehoshi/oto";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hajimehoshi/oto";
-      rev = "v0.6.1";
-      sha256 = "1k3c0y8gdxn2c8fqc8rbjrn7nbbbhii3krma267jg01qq2zpsm8h";
-    };
-  }
-  {
-    goPackagePath = "github.com/huandu/xstrings";
-    fetch = {
-      type = "git";
-      url = "https://github.com/huandu/xstrings";
-      rev = "v1.3.1";
-      sha256 = "0j5vsyjxclk7g7vfr3mfybbimywf3khr8yx07dsdcm1zjwb092iy";
-    };
-  }
-  {
-    goPackagePath = "github.com/icza/bitio";
-    fetch = {
-      type = "git";
-      url = "https://github.com/icza/bitio";
-      rev = "v1.0.0";
-      sha256 = "1c4ps4a9khx2bqp6v0p7b7l0s0gly3vj8rkh816vznj4mdlgk76w";
-    };
-  }
-  {
-    goPackagePath = "github.com/icza/mighty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/icza/mighty";
-      rev = "cfd07d671de6";
-      sha256 = "09prb460wqg72s753g3a9rm0ph60hp83najj0lx9ifp1lixnfb3d";
-    };
-  }
-  {
-    goPackagePath = "github.com/imdario/mergo";
-    fetch = {
-      type = "git";
-      url = "https://github.com/imdario/mergo";
-      rev = "v0.3.9";
-      sha256 = "042v7bzx575isa4pr868hrlv085qxpg8qi4m04jnkh5vbq4hvs90";
-    };
-  }
-  {
-    goPackagePath = "github.com/jfreymuth/oggvorbis";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jfreymuth/oggvorbis";
-      rev = "v1.0.0";
-      sha256 = "0c0r63sp4q8bl8vvgayr98m0fsscl1f65cd2h7i4cr1awg6r6l6a";
-    };
-  }
-  {
-    goPackagePath = "github.com/jfreymuth/vorbis";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jfreymuth/vorbis";
-      rev = "v1.0.0";
-      sha256 = "16gl1lwagiqw6ib48zsl4zpv1dmykz7fzhxc65vpcdipx2byhi7a";
-    };
-  }
-  {
-    goPackagePath = "github.com/jinzhu/gorm";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jinzhu/gorm";
-      rev = "v1.9.12";
-      sha256 = "06d25jvrqvp1bd4k7mh9gsk414d2vhpr049qvj46yx21hyv9d6v3";
-    };
-  }
-  {
-    goPackagePath = "github.com/jinzhu/inflection";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jinzhu/inflection";
-      rev = "v1.0.0";
-      sha256 = "165i20d11s03771gi43skl66salxj36212r25fbs0cgr4qgfj7fy";
-    };
-  }
-  {
-    goPackagePath = "github.com/jinzhu/now";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jinzhu/now";
-      rev = "v1.0.1";
-      sha256 = "1b4gyw01b3rq3js43n0wqb1k2iymb2mnpdv7vapjs0lsbm4g5q1p";
-    };
-  }
-  {
-    goPackagePath = "github.com/joho/godotenv";
-    fetch = {
-      type = "git";
-      url = "https://github.com/joho/godotenv";
-      rev = "v1.3.0";
-      sha256 = "0ri8if0pc3x6jg4c3i8wr58xyfpxkwmcjk3rp8gb398a1aa3gpjm";
-    };
-  }
-  {
-    goPackagePath = "github.com/josephburnett/jd";
-    fetch = {
-      type = "git";
-      url = "https://github.com/josephburnett/jd";
-      rev = "aa1a7c66b42f";
-      sha256 = "0yjdnifwxhdgzcw4jkal3f69sgcjrdiscd5wg45d83zfrsqbb34c";
-    };
-  }
-  {
-    goPackagePath = "github.com/karrick/godirwalk";
-    fetch = {
-      type = "git";
-      url = "https://github.com/karrick/godirwalk";
-      rev = "v1.15.6";
-      sha256 = "0i8202kcihz2hvqp7zzbla5p9x2ljpbjg5zy5dy3x0capz0ina3c";
-    };
-  }
-  {
-    goPackagePath = "github.com/kr/pretty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/pretty";
-      rev = "v0.1.0";
-      sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
-    };
-  }
-  {
-    goPackagePath = "github.com/kr/pty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/pty";
-      rev = "v1.1.1";
-      sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
-    };
-  }
-  {
-    goPackagePath = "github.com/kr/text";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/text";
-      rev = "v0.1.0";
-      sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
-    };
-  }
-  {
-    goPackagePath = "github.com/lib/pq";
-    fetch = {
-      type = "git";
-      url = "https://github.com/lib/pq";
-      rev = "v1.3.0";
-      sha256 = "0bfravwqyj7z6v4lhsibbmgp7lajdydy4ij6c81g8hv0067x2mqw";
-    };
-  }
-  {
-    goPackagePath = "github.com/lucasb-eyer/go-colorful";
-    fetch = {
-      type = "git";
-      url = "https://github.com/lucasb-eyer/go-colorful";
-      rev = "12d3b2882a08";
-      sha256 = "1w95axfn1a6rz31xrks77ingr9mdkqyr7mh0glv664kz1wg2h0gw";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-runewidth";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-runewidth";
-      rev = "v0.0.4";
-      sha256 = "00b3ssm7wiqln3k54z2wcnxr3k3c7m1ybyhb9h8ixzbzspld0qzs";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-sqlite3";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-sqlite3";
-      rev = "v2.0.3";
-      sha256 = "0gn4dgvwmbf8gmhn5nzpwixc39g8mkp3n8lhyjgvhvsl72llcdzv";
-    };
-  }
-  {
-    goPackagePath = "github.com/mewkiz/flac";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mewkiz/flac";
-      rev = "v1.0.6";
-      sha256 = "19083pfc6wxkb45s61di9a542jslcgkzif5z3qjymy085w4aizzx";
-    };
-  }
-  {
-    goPackagePath = "github.com/mewkiz/pkg";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mewkiz/pkg";
-      rev = "f6b5e26764c3";
-      sha256 = "0djxw953sp2cwqybjxsfrsfma5yjn8n1l19g8yrd629cb6r1ghq2";
-    };
-  }
-  {
-    goPackagePath = "github.com/mitchellh/copystructure";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mitchellh/copystructure";
-      rev = "v1.0.0";
-      sha256 = "05njg92w1088v4yl0js0zdrpfq6k37i9j14mxkr3p90p5yd9rrrr";
-    };
-  }
-  {
-    goPackagePath = "github.com/mitchellh/go-wordwrap";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mitchellh/go-wordwrap";
-      rev = "v1.0.0";
-      sha256 = "1jffbwcr3nnq6c12c5856bwzv2nxjzqk3jwgvxkwi1xhpd2by0bf";
-    };
-  }
-  {
-    goPackagePath = "github.com/mitchellh/reflectwalk";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mitchellh/reflectwalk";
-      rev = "v1.0.1";
-      sha256 = "0pa6a3nhzwv5s5yqcmsmsfhdp5ggxsg2wa86f3akawxrhrkjarnx";
-    };
-  }
-  {
-    goPackagePath = "github.com/nicksellen/audiotags";
-    fetch = {
-      type = "git";
-      url = "https://github.com/nicksellen/audiotags";
-      rev = "94015fa599bd";
-      sha256 = "1817vw2j1lnk4y3925cszmkvwzsdcmgccrcdqyq39jqpwawl2c0j";
-    };
-  }
-  {
-    goPackagePath = "github.com/oklog/run";
-    fetch = {
-      type = "git";
-      url = "https://github.com/oklog/run";
-      rev = "v1.1.0";
-      sha256 = "0r55p3kgdkgw55i33lqvvvl60mjp92mhd1170m980sw98z9150jk";
-    };
-  }
-  {
-    goPackagePath = "github.com/oxtoacart/bpool";
-    fetch = {
-      type = "git";
-      url = "https://github.com/oxtoacart/bpool";
-      rev = "03653db5a59c";
-      sha256 = "1crdgm5w6kvcnvdglrrnrfkh5h60ldafwvrv00q97lz3790kgb15";
-    };
-  }
-  {
-    goPackagePath = "github.com/pelletier/go-toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pelletier/go-toml";
-      rev = "v1.6.0";
-      sha256 = "0l2830pi64fg0bdsyd5afkbw0p7879pppzdqqk3c7vjrjfmi5xbq";
-    };
-  }
-  {
-    goPackagePath = "github.com/peterbourgon/ff";
-    fetch = {
-      type = "git";
-      url = "https://github.com/peterbourgon/ff";
-      rev = "v1.7.0";
-      sha256 = "17msscfi4pfdih1w3sq0wsw6246a30fckga9kvjpzwva6jni0466";
-    };
-  }
-  {
-    goPackagePath = "github.com/pkg/errors";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pkg/errors";
-      rev = "v0.9.1";
-      sha256 = "1761pybhc2kqr6v5fm8faj08x9bql8427yqg6vnfv6nhrasx1mwq";
-    };
-  }
-  {
-    goPackagePath = "github.com/pmezard/go-difflib";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pmezard/go-difflib";
-      rev = "v1.0.0";
-      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
-    };
-  }
-  {
-    goPackagePath = "github.com/rainycape/unidecode";
-    fetch = {
-      type = "git";
-      url = "https://github.com/rainycape/unidecode";
-      rev = "cb7f23ec59be";
-      sha256 = "1wvzdijd640blwkgmw6h09frkfa04kcpdq87n2zh2ymj1dzla5v5";
-    };
-  }
-  {
-    goPackagePath = "github.com/spaolacci/murmur3";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spaolacci/murmur3";
-      rev = "f09979ecbc72";
-      sha256 = "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25";
-    };
-  }
-  {
-    goPackagePath = "github.com/stretchr/objx";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/objx";
-      rev = "v0.1.0";
-      sha256 = "19ynspzjdynbi85xw06mh8ad5j0qa1vryvxjgvbnyrr8rbm4vd8w";
-    };
-  }
-  {
-    goPackagePath = "github.com/stretchr/testify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/testify";
-      rev = "v1.3.0";
-      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
-    };
-  }
-  {
-    goPackagePath = "github.com/wader/gormstore";
-    fetch = {
-      type = "git";
-      url = "https://github.com/wader/gormstore";
-      rev = "65a111a20c23";
-      sha256 = "0dnylv4gdqsizll7b07nivv6chanqm0014yhqg6gcjccns6bl9bm";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "06a226fb4e37";
-      sha256 = "0fdig6jx81g7a44dnxggibl909wchsj4nakmmhhz7db36sl0d7m5";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/exp";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/exp";
-      rev = "00229845015e";
-      sha256 = "0b0f05vbxzbgaaawxqns2m9qbvkfam1ylq8c8yhv7h6jnk2afaff";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/image";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/image";
-      rev = "33d19683fad8";
-      sha256 = "16qw6s9qlv84x98s9dib90y97x8bli3msaqw8kz498dbnbyx59zk";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/mobile";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/mobile";
-      rev = "4c31acba0007";
-      sha256 = "0k42pn6fq886k9hn85wbgg4h4y1myj7niw0746sn50zfbrmy3s2c";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/mod";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/mod";
-      rev = "331c550502dd";
-      sha256 = "0942gzs6mlsjal4drjmm8gr54pj1cdhsl9mnj3ygm200mf3fj6pi";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev = "3b0461eec859";
-      sha256 = "0l00c8l0a8xnv6qdpwfzxxsr58jggacgzdrwiprrfx2xqm37b6d5";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sync";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sync";
-      rev = "112230192c58";
-      sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "fe76b779f299";
-      sha256 = "0g6j3n9fdv1a2lp2i8wbaaya85yrbfx3ns6iq1s7l2ayhxxmgh6b";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "v0.3.0";
-      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/tools";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/tools";
-      rev = "b753a1ba74fa";
-      sha256 = "1xyzswbz9cx0bns2n75fw9pbm82dk9dj2il9iknmryyxvci9n5zv";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/xerrors";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/xerrors";
-      rev = "1b5146add898";
-      sha256 = "0w2akj91krxjag0xdhsg78470888nicc5ismc2ap9jqpss6v1zih";
-    };
-  }
-  {
-    goPackagePath = "google.golang.org/appengine";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/appengine";
-      rev = "v1.4.0";
-      sha256 = "06zl7w4sxgdq2pl94wy9ncii6h0z3szl4xpqds0sv3b3wbdlhbnn";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/DATA-DOG/go-sqlmock.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/DATA-DOG/go-sqlmock.v1";
-      rev = "v1.3.0";
-      sha256 = "1684d6ima6638xwvr743kd7j5mpqq0vspcw9ai67bnb7m722qqqv";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/check.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/check.v1";
-      rev = "788fd7840127";
-      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/gormigrate.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/gormigrate.v1";
-      rev = "v1.6.0";
-      sha256 = "03304vh58i5gxchrxy2v91bjdfgp7849jarmlanz3gaa2r574fmf";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "v2.2.4";
-      sha256 = "11bwj757wi8kdrcnlgfqb8vv2d2xdhlghmyagd19i62khrkchsg2";
-    };
-  }
-]
diff --git a/pkgs/servers/gpsd/default.nix b/pkgs/servers/gpsd/default.nix
index b7d507193055a..62b711af67a09 100644
--- a/pkgs/servers/gpsd/default.nix
+++ b/pkgs/servers/gpsd/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gpsd";
-  version = "3.21";
+  version = "3.22";
 
   src = fetchurl {
-    url = "https://download-mirror.savannah.gnu.org/releases/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "14gyqrbrq6jz4y6x59rdpv9d4c3pbn0vh1blq3iwrc6kz0x4ql35";
+    url = "mirror://savannah/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "18rplv1cd76ndb2wc91jarjmfm2nk508pykv1hir79bqbwmdygvq";
   };
 
   nativeBuildInputs = [
@@ -46,15 +46,12 @@ stdenv.mkDerivation rec {
     ./sconstruct-env-fixes.patch
   ];
 
-  postPatch = ''
-    sed -i -e '17i#include <sys/sysmacros.h>' serial.c
-  '';
-
   # - leapfetch=no disables going online at build time to fetch leap-seconds
   #   info. See <gpsd-src>/build.txt for more info.
   preBuild = ''
     patchShebangs .
-    sed -e "s|systemd_dir = .*|systemd_dir = '$out/lib/systemd/system'|" -i SConstruct
+    sed -e "s|systemd_dir = .*|systemd_dir = '$out/lib/systemd/system'|" -i SConscript
+    export TAR=noop
 
     sconsFlags+=" udevdir=$out/lib/udev"
     sconsFlags+=" python_libdir=$out/lib/${python3Packages.python.libPrefix}/site-packages"
@@ -104,7 +101,8 @@ stdenv.mkDerivation rec {
       diagnostic monitoring and profiling of receivers and feeding
       location-aware applications GPS/AIS logs for diagnostic purposes.
     '';
-    homepage = "http://catb.org/gpsd/";
+    homepage = "https://gpsd.gitlab.io/gpsd/index.html";
+    changelog = "https://gitlab.com/gpsd/gpsd/-/blob/release-${version}/NEWS";
     license = licenses.bsd3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ bjornfor rasendubi ];
diff --git a/pkgs/servers/gpsd/sconstruct-env-fixes.patch b/pkgs/servers/gpsd/sconstruct-env-fixes.patch
index e90bd04b6342e..d11ad1299f0ef 100644
--- a/pkgs/servers/gpsd/sconstruct-env-fixes.patch
+++ b/pkgs/servers/gpsd/sconstruct-env-fixes.patch
@@ -1,6 +1,7 @@
---- SConstruct.orig	2020-12-03 12:39:40.759793977 -0600
-+++ gpsd-3.21/SConstruct	2020-12-03 12:44:30.858761753 -0600
-@@ -516,9 +516,11 @@
+diff -Naur gpsd-3.22.orig/SConscript gpsd-3.22/SConscript
+--- gpsd-3.22.orig/SConscript	2021-01-09 05:35:30.000000000 +0300
++++ gpsd-3.22/SConscript	2021-02-25 21:06:47.921044438 +0300
+@@ -518,9 +518,11 @@
      'CWRAPPERS_CONFIG_DIR',      # pkgsrc
      # Variables used in testing
      'WRITE_PAD',       # So we can test WRITE_PAD values on the fly.
diff --git a/pkgs/servers/h2/default.nix b/pkgs/servers/h2/default.nix
index be28578bcb0f2..d05232193d78f 100644
--- a/pkgs/servers/h2/default.nix
+++ b/pkgs/servers/h2/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0pdvbnx7nqfqs7x1zkwz2q34331l55jknpk6arf6dksvnd71hinj";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase =
     let
diff --git a/pkgs/servers/hbase/default.nix b/pkgs/servers/hbase/default.nix
index 09600082633d6..32d2c09de97fb 100644
--- a/pkgs/servers/hbase/default.nix
+++ b/pkgs/servers/hbase/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0kz72wqsii09v9hxkw10mzyvjhji5sx3l6aijjalgbybavpcxglb";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
   installPhase = ''
     mkdir -p $out
     cp -R * $out
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index fc01fee85b837..85891544a5dd3 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -2,7 +2,7 @@
 # Do not edit!
 
 {
-  version = "2021.1.5";
+  version = "2021.2.3";
   components = {
     "abode" = ps: with ps; [ abodepy ];
     "accuweather" = ps: with ps; [ accuweather ];
@@ -16,17 +16,18 @@
     "agent_dvr" = ps: with ps; [ agent-py ];
     "air_quality" = ps: with ps; [ ];
     "airly" = ps: with ps; [ airly ];
+    "airnow" = ps: with ps; [ pyairnow ];
     "airvisual" = ps: with ps; [ pyairvisual ];
     "aladdin_connect" = ps: with ps; [ ]; # missing inputs: aladdin_connect
     "alarm_control_panel" = ps: with ps; [ ];
     "alarmdecoder" = ps: with ps; [ adext ];
     "alert" = ps: with ps; [ ];
     "alexa" = ps: with ps; [ aiohttp-cors ];
-    "almond" = ps: with ps; [ aiohttp-cors ]; # missing inputs: pyalmond
+    "almond" = ps: with ps; [ aiohttp-cors pyalmond ];
     "alpha_vantage" = ps: with ps; [ ]; # missing inputs: alpha_vantage
     "amazon_polly" = ps: with ps; [ boto3 ];
     "ambiclimate" = ps: with ps; [ aiohttp-cors ambiclimate ];
-    "ambient_station" = ps: with ps; [ ]; # missing inputs: aioambient
+    "ambient_station" = ps: with ps; [ aioambient ];
     "amcrest" = ps: with ps; [ amcrest ha-ffmpeg ];
     "ampio" = ps: with ps; [ ]; # missing inputs: asmog
     "android_ip_webcam" = ps: with ps; [ ]; # missing inputs: pydroid-ipcam
@@ -40,7 +41,7 @@
     "apple_tv" = ps: with ps; [ aiohttp-cors netdisco pyatv zeroconf ];
     "apprise" = ps: with ps; [ apprise ];
     "aprs" = ps: with ps; [ geopy ]; # missing inputs: aprslib
-    "aqualogic" = ps: with ps; [ ]; # missing inputs: aqualogic
+    "aqualogic" = ps: with ps; [ aqualogic ];
     "aquostv" = ps: with ps; [ ]; # missing inputs: sharp_aquos_rc
     "arcam_fmj" = ps: with ps; [ ]; # missing inputs: arcam-fmj
     "arduino" = ps: with ps; [ ]; # missing inputs: PyMata
@@ -51,18 +52,18 @@
     "arwn" = ps: with ps; [ aiohttp-cors paho-mqtt ];
     "asterisk_cdr" = ps: with ps; [ ]; # missing inputs: asterisk_mbox
     "asterisk_mbox" = ps: with ps; [ ]; # missing inputs: asterisk_mbox
-    "asuswrt" = ps: with ps; [ ]; # missing inputs: aioasuswrt
+    "asuswrt" = ps: with ps; [ aioasuswrt ];
     "atag" = ps: with ps; [ ]; # missing inputs: pyatag
     "aten_pe" = ps: with ps; [ atenpdu ];
     "atome" = ps: with ps; [ ]; # missing inputs: pyatome
     "august" = ps: with ps; [ ]; # missing inputs: py-august
-    "aurora" = ps: with ps; [ ]; # missing inputs: auroranoaa
+    "aurora" = ps: with ps; [ auroranoaa ];
     "aurora_abb_powerone" = ps: with ps; [ ]; # missing inputs: aurorapy
     "auth" = ps: with ps; [ aiohttp-cors ];
     "automation" = ps: with ps; [ aiohttp-cors ];
     "avea" = ps: with ps; [ avea ];
     "avion" = ps: with ps; [ avion ];
-    "awair" = ps: with ps; [ ]; # missing inputs: python_awair
+    "awair" = ps: with ps; [ python-awair ];
     "aws" = ps: with ps; [ aiobotocore ];
     "axis" = ps: with ps; [ aiohttp-cors axis paho-mqtt ];
     "azure_devops" = ps: with ps; [ ]; # missing inputs: aioazuredevops
@@ -107,9 +108,9 @@
     "calendar" = ps: with ps; [ aiohttp-cors ];
     "camera" = ps: with ps; [ aiohttp-cors ];
     "canary" = ps: with ps; [ ha-ffmpeg ]; # missing inputs: py-canary
-    "cast" = ps: with ps; [ aiohttp-cors hass-nabucasa mutagen plexapi plexauth plexwebsocket PyChromecast pysonos zeroconf ];
+    "cast" = ps: with ps; [ aiohttp-cors hass-nabucasa mutagen plexapi plexauth plexwebsocket PyChromecast zeroconf ];
     "cert_expiry" = ps: with ps; [ ];
-    "channels" = ps: with ps; [ ]; # missing inputs: pychannels
+    "channels" = ps: with ps; [ pychannels ];
     "circuit" = ps: with ps; [ ]; # missing inputs: circuit-webhook
     "cisco_ios" = ps: with ps; [ pexpect ];
     "cisco_mobility_express" = ps: with ps; [ ciscomobilityexpress ];
@@ -144,7 +145,7 @@
     "crimereports" = ps: with ps; [ ]; # missing inputs: crimereports
     "cups" = ps: with ps; [ pycups ];
     "currencylayer" = ps: with ps; [ ];
-    "daikin" = ps: with ps; [ ]; # missing inputs: pydaikin
+    "daikin" = ps: with ps; [ pydaikin ];
     "danfoss_air" = ps: with ps; [ ]; # missing inputs: pydanfossair
     "darksky" = ps: with ps; [ python-forecastio ];
     "datadog" = ps: with ps; [ datadog ];
@@ -153,7 +154,7 @@
     "deconz" = ps: with ps; [ ]; # missing inputs: pydeconz
     "decora" = ps: with ps; [ bluepy ]; # missing inputs: decora
     "decora_wifi" = ps: with ps; [ ]; # missing inputs: decora_wifi
-    "default_config" = ps: with ps; [ pynacl aiohttp-cors defusedxml distro emoji hass-nabucasa netdisco pillow sqlalchemy zeroconf ];
+    "default_config" = ps: with ps; [ pynacl aiohttp-cors defusedxml distro emoji hass-nabucasa netdisco pillow scapy sqlalchemy zeroconf ];
     "delijn" = ps: with ps; [ ]; # missing inputs: pydelijn
     "deluge" = ps: with ps; [ deluge-client ];
     "demo" = ps: with ps; [ aiohttp-cors ];
@@ -166,6 +167,7 @@
     "device_tracker" = ps: with ps; [ ];
     "devolo_home_control" = ps: with ps; [ aiohttp-cors devolo-home-control-api zeroconf ];
     "dexcom" = ps: with ps; [ pydexcom ];
+    "dhcp" = ps: with ps; [ scapy ];
     "dht" = ps: with ps; [ ]; # missing inputs: Adafruit-DHT
     "dialogflow" = ps: with ps; [ aiohttp-cors ];
     "digital_ocean" = ps: with ps; [ digital-ocean ];
@@ -193,7 +195,7 @@
     "dwd_weather_warnings" = ps: with ps; [ ]; # missing inputs: dwdwfsapi
     "dweet" = ps: with ps; [ ]; # missing inputs: dweepy
     "dynalite" = ps: with ps; [ ]; # missing inputs: dynalite_devices
-    "dyson" = ps: with ps; [ aiohttp-cors zeroconf ]; # missing inputs: libpurecool
+    "dyson" = ps: with ps; [ aiohttp-cors libpurecool zeroconf ];
     "eafm" = ps: with ps; [ aioeafm ];
     "ebox" = ps: with ps; [ ]; # missing inputs: pyebox
     "ebusd" = ps: with ps; [ ]; # missing inputs: ebusdpy
@@ -207,7 +209,7 @@
     "ee_brightbox" = ps: with ps; [ ]; # missing inputs: eebrightbox
     "efergy" = ps: with ps; [ ];
     "egardia" = ps: with ps; [ ]; # missing inputs: pythonegardia
-    "eight_sleep" = ps: with ps; [ ]; # missing inputs: pyeight
+    "eight_sleep" = ps: with ps; [ pyeight ];
     "elgato" = ps: with ps; [ ]; # missing inputs: elgato
     "eliqonline" = ps: with ps; [ ]; # missing inputs: eliqonline
     "elkm1" = ps: with ps; [ ]; # missing inputs: elkm1-lib
@@ -242,7 +244,7 @@
     "familyhub" = ps: with ps; [ ]; # missing inputs: python-family-hub-local
     "fan" = ps: with ps; [ ];
     "fastdotcom" = ps: with ps; [ ]; # missing inputs: fastdotcom
-    "feedreader" = ps: with ps; [ ]; # missing inputs: feedparser-homeassistant
+    "feedreader" = ps: with ps; [ feedparser ];
     "ffmpeg" = ps: with ps; [ ha-ffmpeg ];
     "ffmpeg_motion" = ps: with ps; [ ha-ffmpeg ];
     "ffmpeg_noise" = ps: with ps; [ ha-ffmpeg ];
@@ -262,8 +264,8 @@
     "flick_electric" = ps: with ps; [ ]; # missing inputs: PyFlick
     "flo" = ps: with ps; [ aioflo ];
     "flock" = ps: with ps; [ ];
-    "flume" = ps: with ps; [ ]; # missing inputs: pyflume
-    "flunearyou" = ps: with ps; [ ]; # missing inputs: pyflunearyou
+    "flume" = ps: with ps; [ pyflume ];
+    "flunearyou" = ps: with ps; [ pyflunearyou ];
     "flux" = ps: with ps; [ ];
     "flux_led" = ps: with ps; [ flux-led ];
     "folder" = ps: with ps; [ ];
@@ -336,7 +338,7 @@
     "hassio" = ps: with ps; [ aiohttp-cors pillow ];
     "haveibeenpwned" = ps: with ps; [ ];
     "hddtemp" = ps: with ps; [ ];
-    "hdmi_cec" = ps: with ps; [ ]; # missing inputs: pyCEC
+    "hdmi_cec" = ps: with ps; [ pycec ];
     "heatmiser" = ps: with ps; [ ]; # missing inputs: heatmiserV3
     "heos" = ps: with ps; [ ]; # missing inputs: pyheos
     "here_travel_time" = ps: with ps; [ ]; # missing inputs: herepy
@@ -364,6 +366,7 @@
     "huawei_lte" = ps: with ps; [ getmac stringcase url-normalize ]; # missing inputs: huawei-lte-api
     "huawei_router" = ps: with ps; [ ];
     "hue" = ps: with ps; [ aiohue ];
+    "huisbaasje" = ps: with ps; [ ]; # missing inputs: huisbaasje-client
     "humidifier" = ps: with ps; [ ];
     "hunterdouglas_powerview" = ps: with ps; [ ]; # missing inputs: aiopvapi
     "hvv_departures" = ps: with ps; [ ]; # missing inputs: pygti
@@ -460,7 +463,7 @@
     "luftdaten" = ps: with ps; [ luftdaten ];
     "lupusec" = ps: with ps; [ ]; # missing inputs: lupupy
     "lutron" = ps: with ps; [ pylutron ];
-    "lutron_caseta" = ps: with ps; [ ]; # missing inputs: pylutron-caseta
+    "lutron_caseta" = ps: with ps; [ ]; # missing inputs: aiolip pylutron-caseta
     "lw12wifi" = ps: with ps; [ ]; # missing inputs: lw12
     "lyft" = ps: with ps; [ ]; # missing inputs: lyft_rides
     "magicseaweed" = ps: with ps; [ ]; # missing inputs: magicseaweed
@@ -477,7 +480,7 @@
     "media_extractor" = ps: with ps; [ aiohttp-cors youtube-dl-light ];
     "media_player" = ps: with ps; [ aiohttp-cors ];
     "media_source" = ps: with ps; [ aiohttp-cors ];
-    "mediaroom" = ps: with ps; [ ]; # missing inputs: pymediaroom
+    "mediaroom" = ps: with ps; [ pymediaroom ];
     "melcloud" = ps: with ps; [ ]; # missing inputs: pymelcloud
     "melissa" = ps: with ps; [ ]; # missing inputs: py-melissa-climate
     "meraki" = ps: with ps; [ aiohttp-cors ];
@@ -493,10 +496,10 @@
     "microsoft_face_detect" = ps: with ps; [ aiohttp-cors ];
     "microsoft_face_identify" = ps: with ps; [ aiohttp-cors ];
     "miflora" = ps: with ps; [ bluepy ]; # missing inputs: miflora
-    "mikrotik" = ps: with ps; [ ]; # missing inputs: librouteros
+    "mikrotik" = ps: with ps; [ librouteros ];
     "mill" = ps: with ps; [ ]; # missing inputs: millheater
     "min_max" = ps: with ps; [ ];
-    "minecraft_server" = ps: with ps; [ aiodns getmac ]; # missing inputs: mcstatus
+    "minecraft_server" = ps: with ps; [ aiodns getmac mcstatus ];
     "minio" = ps: with ps; [ minio ];
     "mitemp_bt" = ps: with ps; [ ]; # missing inputs: mitemp_bt
     "mjpeg" = ps: with ps; [ ];
@@ -515,12 +518,12 @@
     "mqtt_json" = ps: with ps; [ aiohttp-cors paho-mqtt ];
     "mqtt_room" = ps: with ps; [ aiohttp-cors paho-mqtt ];
     "mqtt_statestream" = ps: with ps; [ aiohttp-cors paho-mqtt ];
-    "msteams" = ps: with ps; [ ]; # missing inputs: pymsteams
+    "msteams" = ps: with ps; [ pymsteams ];
     "mvglive" = ps: with ps; [ PyMVGLive ];
     "mychevy" = ps: with ps; [ ]; # missing inputs: mychevy
     "mycroft" = ps: with ps; [ ]; # missing inputs: mycroftapi
     "myq" = ps: with ps; [ pymyq ];
-    "mysensors" = ps: with ps; [ aiohttp-cors paho-mqtt ]; # missing inputs: pymysensors
+    "mysensors" = ps: with ps; [ aiohttp-cors paho-mqtt pymysensors ];
     "mystrom" = ps: with ps; [ aiohttp-cors python-mystrom ];
     "mythicbeastsdns" = ps: with ps; [ ]; # missing inputs: mbddns
     "n26" = ps: with ps; [ ]; # missing inputs: n26
@@ -558,11 +561,11 @@
     "nsw_rural_fire_service_feed" = ps: with ps; [ ]; # missing inputs: aio_geojson_nsw_rfs_incidents
     "nuheat" = ps: with ps; [ ]; # missing inputs: nuheat
     "nuimo_controller" = ps: with ps; [ ]; # missing inputs: --only-binary=all nuimo
-    "nuki" = ps: with ps; [ ]; # missing inputs: pynuki
+    "nuki" = ps: with ps; [ pynuki ];
     "numato" = ps: with ps; [ ]; # missing inputs: numato-gpio
     "number" = ps: with ps; [ ];
     "nut" = ps: with ps; [ ]; # missing inputs: pynut2
-    "nws" = ps: with ps; [ ]; # missing inputs: pynws
+    "nws" = ps: with ps; [ pynws ];
     "nx584" = ps: with ps; [ ]; # missing inputs: pynx584
     "nzbget" = ps: with ps; [ ]; # missing inputs: pynzbgetapi
     "oasa_telematics" = ps: with ps; [ ]; # missing inputs: oasatelematics
@@ -573,6 +576,7 @@
     "ombi" = ps: with ps; [ ]; # missing inputs: pyombi
     "omnilogic" = ps: with ps; [ ]; # missing inputs: omnilogic
     "onboarding" = ps: with ps; [ aiohttp-cors pillow ];
+    "ondilo_ico" = ps: with ps; [ aiohttp-cors ]; # missing inputs: ondilo
     "onewire" = ps: with ps; [ ]; # missing inputs: pi1wire pyownet
     "onkyo" = ps: with ps; [ onkyo-eiscp ];
     "onvif" = ps: with ps; [ ha-ffmpeg zeep ]; # missing inputs: WSDiscovery onvif-zeep-async
@@ -588,7 +592,7 @@
     "opensensemap" = ps: with ps; [ opensensemap-api ];
     "opensky" = ps: with ps; [ ];
     "opentherm_gw" = ps: with ps; [ ]; # missing inputs: pyotgw
-    "openuv" = ps: with ps; [ ]; # missing inputs: pyopenuv
+    "openuv" = ps: with ps; [ pyopenuv ];
     "openweathermap" = ps: with ps; [ pyowm ];
     "opnsense" = ps: with ps; [ pyopnsense ];
     "opple" = ps: with ps; [ ]; # missing inputs: pyoppleio
@@ -599,7 +603,7 @@
     "otp" = ps: with ps; [ pyotp ];
     "ovo_energy" = ps: with ps; [ ]; # missing inputs: ovoenergy
     "owntracks" = ps: with ps; [ pynacl aiohttp-cors hass-nabucasa paho-mqtt ];
-    "ozw" = ps: with ps; [ aiohttp-cors paho-mqtt ]; # missing inputs: python-openzwave-mqtt[mqtt-client]
+    "ozw" = ps: with ps; [ aiohttp-cors homeassistant-pyozw paho-mqtt pydispatcher python-openzwave-mqtt ];
     "panasonic_bluray" = ps: with ps; [ ]; # missing inputs: panacotta
     "panasonic_viera" = ps: with ps; [ ]; # missing inputs: panasonic_viera
     "pandora" = ps: with ps; [ pexpect ];
@@ -620,23 +624,22 @@
     "pjlink" = ps: with ps; [ ]; # missing inputs: pypjlink2
     "plaato" = ps: with ps; [ aiohttp-cors ];
     "plant" = ps: with ps; [ sqlalchemy ];
-    "plex" = ps: with ps; [ aiohttp-cors plexapi plexauth plexwebsocket pysonos ];
+    "plex" = ps: with ps; [ aiohttp-cors plexapi plexauth plexwebsocket ];
     "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
     "poolsense" = ps: with ps; [ poolsense ];
     "powerwall" = ps: with ps; [ ]; # missing inputs: tesla-powerwall
-    "profiler" = ps: with ps; [ objgraph pyprof2calltree ]; # missing inputs: guppy3
+    "profiler" = ps: with ps; [ guppy3 objgraph pyprof2calltree ];
     "progettihwsw" = ps: with ps; [ ]; # missing inputs: progettihwsw
     "proliphix" = ps: with ps; [ ]; # missing inputs: proliphix
     "prometheus" = ps: with ps; [ aiohttp-cors prometheus_client ];
     "prowl" = ps: with ps; [ ];
     "proximity" = ps: with ps; [ ];
-    "proxmoxve" = ps: with ps; [ ]; # missing inputs: proxmoxer
+    "proxmoxve" = ps: with ps; [ proxmoxer ];
     "proxy" = ps: with ps; [ pillow ];
     "ps4" = ps: with ps; [ ]; # missing inputs: pyps4-2ndscreen
-    "ptvsd" = ps: with ps; [ ]; # missing inputs: ptvsd
     "pulseaudio_loopback" = ps: with ps; [ pulsectl ];
     "push" = ps: with ps; [ aiohttp-cors ];
     "pushbullet" = ps: with ps; [ pushbullet ];
@@ -655,7 +658,7 @@
     "qwikswitch" = ps: with ps; [ ]; # missing inputs: pyqwikswitch
     "rachio" = ps: with ps; [ aiohttp-cors hass-nabucasa rachiopy ];
     "radarr" = ps: with ps; [ ];
-    "radiotherm" = ps: with ps; [ ]; # missing inputs: radiotherm
+    "radiotherm" = ps: with ps; [ radiotherm ];
     "rainbird" = ps: with ps; [ ]; # missing inputs: pyrainbird
     "raincloud" = ps: with ps; [ ]; # missing inputs: raincloudy
     "rainforest_eagle" = ps: with ps; [ ]; # missing inputs: eagle200_reader uEagle
@@ -663,7 +666,7 @@
     "random" = ps: with ps; [ ];
     "raspihats" = ps: with ps; [ smbus-cffi ]; # missing inputs: raspihats
     "raspyrfm" = ps: with ps; [ ]; # missing inputs: raspyrfm-client
-    "recollect_waste" = ps: with ps; [ ]; # missing inputs: aiorecollect
+    "recollect_waste" = ps: with ps; [ aiorecollect ];
     "recorder" = ps: with ps; [ sqlalchemy ];
     "recswitch" = ps: with ps; [ ]; # missing inputs: pyrecswitch
     "reddit" = ps: with ps; [ praw ];
@@ -678,7 +681,7 @@
     "rfxtrx" = ps: with ps; [ ]; # missing inputs: pyRFXtrx
     "ring" = ps: with ps; [ ha-ffmpeg ]; # missing inputs: ring_doorbell
     "ripple" = ps: with ps; [ ]; # missing inputs: python-ripple-api
-    "risco" = ps: with ps; [ ]; # missing inputs: pyrisco
+    "risco" = ps: with ps; [ pyrisco ];
     "rmvtransport" = ps: with ps; [ PyRMVtransport ];
     "rocketchat" = ps: with ps; [ ]; # missing inputs: rocketchat-API
     "roku" = ps: with ps; [ ]; # missing inputs: rokuecp
@@ -720,7 +723,7 @@
     "sesame" = ps: with ps; [ ]; # missing inputs: pysesame2
     "seven_segments" = ps: with ps; [ pillow ];
     "seventeentrack" = ps: with ps; [ ]; # missing inputs: py17track
-    "sharkiq" = ps: with ps; [ ]; # missing inputs: sharkiqpy
+    "sharkiq" = ps: with ps; [ sharkiqpy ];
     "shell_command" = ps: with ps; [ ];
     "shelly" = ps: with ps; [ aioshelly ];
     "shiftr" = ps: with ps; [ paho-mqtt ];
@@ -728,7 +731,7 @@
     "shopping_list" = ps: with ps; [ aiohttp-cors ];
     "sht31" = ps: with ps; [ ]; # missing inputs: Adafruit-GPIO Adafruit-SHT31
     "sigfox" = ps: with ps; [ ];
-    "sighthound" = ps: with ps; [ pillow ]; # missing inputs: simplehound
+    "sighthound" = ps: with ps; [ pillow simplehound ];
     "signal_messenger" = ps: with ps; [ ]; # missing inputs: pysignalclirestapi
     "simplepush" = ps: with ps; [ ]; # missing inputs: simplepush
     "simplisafe" = ps: with ps; [ ]; # missing inputs: simplisafe-python
@@ -737,18 +740,18 @@
     "sisyphus" = ps: with ps; [ ]; # missing inputs: sisyphus-control
     "sky_hub" = ps: with ps; [ ]; # missing inputs: pyskyqhub
     "skybeacon" = ps: with ps; [ ]; # missing inputs: pygatt[GATTTOOL]
-    "skybell" = ps: with ps; [ ]; # missing inputs: skybellpy
+    "skybell" = ps: with ps; [ skybellpy ];
     "slack" = ps: with ps; [ ]; # missing inputs: slackclient
     "sleepiq" = ps: with ps; [ ]; # missing inputs: sleepyq
     "slide" = ps: with ps; [ ]; # missing inputs: goslide-api
-    "sma" = ps: with ps; [ ]; # missing inputs: pysma
-    "smappee" = ps: with ps; [ aiohttp-cors ]; # missing inputs: pysmappee
+    "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
     "smartthings" = ps: with ps; [ aiohttp-cors hass-nabucasa ]; # missing inputs: pysmartapp pysmartthings
     "smarty" = ps: with ps; [ ]; # missing inputs: pysmarty
     "smhi" = ps: with ps; [ ]; # missing inputs: smhi-pkg
-    "sms" = ps: with ps; [ ]; # missing inputs: python-gammu
+    "sms" = ps: with ps; [ python-gammu ];
     "smtp" = ps: with ps; [ ];
     "snapcast" = ps: with ps; [ snapcast ];
     "snips" = ps: with ps; [ aiohttp-cors paho-mqtt ];
@@ -758,13 +761,13 @@
     "solaredge" = ps: with ps; [ stringcase ]; # missing inputs: solaredge
     "solaredge_local" = ps: with ps; [ ]; # missing inputs: solaredge-local
     "solarlog" = ps: with ps; [ ]; # missing inputs: sunwatcher
-    "solax" = ps: with ps; [ ]; # missing inputs: solax
+    "solax" = ps: with ps; [ solax ];
     "soma" = ps: with ps; [ pysoma ];
     "somfy" = ps: with ps; [ aiohttp-cors ]; # missing inputs: 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
-    "sonos" = ps: with ps; [ pysonos ];
+    "sonos" = ps: with ps; [ aiohttp-cors plexapi plexauth plexwebsocket pysonos ];
     "sony_projector" = ps: with ps; [ ]; # missing inputs: pysdcp
     "soundtouch" = ps: with ps; [ aiohttp-cors libsoundtouch zeroconf ];
     "spaceapi" = ps: with ps; [ aiohttp-cors ];
@@ -793,12 +796,12 @@
     "sun" = ps: with ps; [ ];
     "supervisord" = ps: with ps; [ ];
     "supla" = ps: with ps; [ ]; # missing inputs: asyncpysupla
-    "surepetcare" = ps: with ps; [ ]; # missing inputs: surepy
+    "surepetcare" = ps: with ps; [ surepy ];
     "swiss_hydrological_data" = ps: with ps; [ swisshydrodata ];
     "swiss_public_transport" = ps: with ps; [ python-opendata-transport ];
     "swisscom" = ps: with ps; [ ];
     "switch" = ps: with ps; [ ];
-    "switchbot" = ps: with ps; [ ]; # missing inputs: PySwitchbot
+    "switchbot" = ps: with ps; [ pyswitchbot ];
     "switcher_kis" = ps: with ps; [ aioswitcher ];
     "switchmate" = ps: with ps; [ ]; # missing inputs: pySwitchmate
     "syncthru" = ps: with ps; [ url-normalize ]; # missing inputs: pysyncthru
@@ -812,9 +815,9 @@
     "systemmonitor" = ps: with ps; [ psutil ];
     "tado" = ps: with ps; [ python-tado ];
     "tag" = ps: with ps; [ ];
-    "tahoma" = ps: with ps; [ ]; # missing inputs: tahoma-api
+    "tahoma" = ps: with ps; [ tahoma-api ];
     "tank_utility" = ps: with ps; [ ]; # missing inputs: tank_utility
-    "tankerkoenig" = ps: with ps; [ ]; # missing inputs: pytankerkoenig
+    "tankerkoenig" = ps: with ps; [ pytankerkoenig ];
     "tapsaff" = ps: with ps; [ ]; # missing inputs: tapsaff
     "tasmota" = ps: with ps; [ aiohttp-cors hatasmota paho-mqtt ];
     "tautulli" = ps: with ps; [ ]; # missing inputs: pytautulli
@@ -822,7 +825,7 @@
     "ted5000" = ps: with ps; [ xmltodict ];
     "telegram" = ps: with ps; [ pysocks aiohttp-cors python-telegram-bot ];
     "telegram_bot" = ps: with ps; [ pysocks aiohttp-cors python-telegram-bot ];
-    "tellduslive" = ps: with ps; [ ]; # missing inputs: tellduslive
+    "tellduslive" = ps: with ps; [ tellduslive ];
     "tellstick" = ps: with ps; [ ]; # missing inputs: tellcore-net tellcore-py
     "telnet" = ps: with ps; [ ];
     "temper" = ps: with ps; [ ]; # missing inputs: temperusb
@@ -855,21 +858,21 @@
     "traccar" = ps: with ps; [ aiohttp-cors stringcase ]; # missing inputs: pytraccar
     "trackr" = ps: with ps; [ ]; # missing inputs: pytrackr
     "tradfri" = ps: with ps; [ ]; # missing inputs: pytradfri[async]
-    "trafikverket_train" = ps: with ps; [ ]; # missing inputs: pytrafikverket
-    "trafikverket_weatherstation" = ps: with ps; [ ]; # missing inputs: pytrafikverket
+    "trafikverket_train" = ps: with ps; [ pytrafikverket ];
+    "trafikverket_weatherstation" = ps: with ps; [ pytrafikverket ];
     "transmission" = ps: with ps; [ transmissionrpc ];
     "transport_nsw" = ps: with ps; [ ]; # missing inputs: PyTransportNSW
     "travisci" = ps: with ps; [ ]; # missing inputs: TravisPy
     "trend" = ps: with ps; [ numpy ];
     "tts" = ps: with ps; [ aiohttp-cors mutagen ];
-    "tuya" = ps: with ps; [ ]; # missing inputs: tuyaha
-    "twentemilieu" = ps: with ps; [ ]; # missing inputs: twentemilieu
+    "tuya" = ps: with ps; [ tuyaha ];
+    "twentemilieu" = ps: with ps; [ twentemilieu ];
     "twilio" = ps: with ps; [ aiohttp-cors twilio ];
     "twilio_call" = ps: with ps; [ aiohttp-cors twilio ];
     "twilio_sms" = ps: with ps; [ aiohttp-cors twilio ];
-    "twinkly" = ps: with ps; [ ]; # missing inputs: twinkly-client
-    "twitch" = ps: with ps; [ ]; # missing inputs: python-twitch-client
-    "twitter" = ps: with ps; [ ]; # missing inputs: TwitterAPI
+    "twinkly" = ps: with ps; [ twinkly-client ];
+    "twitch" = ps: with ps; [ python-twitch-client ];
+    "twitter" = ps: with ps; [ twitterapi ];
     "ubus" = ps: with ps; [ ];
     "ue_smart_radio" = ps: with ps; [ ];
     "uk_transport" = ps: with ps; [ ];
@@ -891,24 +894,24 @@
     "vacuum" = ps: with ps; [ ];
     "vallox" = ps: with ps; [ ]; # missing inputs: vallox-websocket-api
     "vasttrafik" = ps: with ps; [ ]; # missing inputs: vtjp
-    "velbus" = ps: with ps; [ ]; # missing inputs: python-velbus
+    "velbus" = ps: with ps; [ python-velbus ];
     "velux" = ps: with ps; [ pyvlx ];
-    "venstar" = ps: with ps; [ ]; # missing inputs: venstarcolortouch
+    "venstar" = ps: with ps; [ venstarcolortouch ];
     "vera" = ps: with ps; [ pyvera ];
     "verisure" = ps: with ps; [ jsonpath vsure ];
     "versasense" = ps: with ps; [ ]; # missing inputs: pyversasense
     "version" = ps: with ps; [ pyhaversion ];
-    "vesync" = ps: with ps; [ ]; # missing inputs: pyvesync
+    "vesync" = ps: with ps; [ pyvesync ];
     "viaggiatreno" = ps: with ps; [ ];
-    "vicare" = ps: with ps; [ ]; # missing inputs: PyViCare
+    "vicare" = ps: with ps; [ pyvicare ];
     "vilfo" = ps: with ps; [ ]; # missing inputs: vilfo-api-client
     "vivotek" = ps: with ps; [ ]; # missing inputs: libpyvivotek
-    "vizio" = ps: with ps; [ ]; # missing inputs: pyvizio
+    "vizio" = ps: with ps; [ pyvizio ];
     "vlc" = ps: with ps; [ python-vlc ];
     "vlc_telnet" = ps: with ps; [ ]; # missing inputs: python-telnet-vlc
     "voicerss" = ps: with ps; [ ];
     "volkszaehler" = ps: with ps; [ volkszaehler ];
-    "volumio" = ps: with ps; [ ]; # missing inputs: pyvolumio
+    "volumio" = ps: with ps; [ pyvolumio ];
     "volvooncall" = ps: with ps; [ ]; # missing inputs: volvooncall
     "vultr" = ps: with ps; [ vultr ];
     "w800rf32" = ps: with ps; [ ]; # missing inputs: pyW800rf32
@@ -921,11 +924,11 @@
     "waze_travel_time" = ps: with ps; [ WazeRouteCalculator ];
     "weather" = ps: with ps; [ ];
     "webhook" = ps: with ps; [ aiohttp-cors ];
-    "webostv" = ps: with ps; [ ]; # missing inputs: aiopylgtv
+    "webostv" = ps: with ps; [ aiopylgtv ];
     "websocket_api" = ps: with ps; [ aiohttp-cors ];
     "wemo" = ps: with ps; [ ]; # missing inputs: pywemo
     "whois" = ps: with ps; [ python-whois ];
-    "wiffi" = ps: with ps; [ ]; # missing inputs: wiffi
+    "wiffi" = ps: with ps; [ wiffi ];
     "wilight" = ps: with ps; [ pywilight ];
     "wink" = ps: with ps; [ aiohttp-cors pubnubsub-handler python-wink ];
     "wirelesstag" = ps: with ps; [ ]; # missing inputs: wirelesstagpy
@@ -941,16 +944,16 @@
     "x10" = ps: with ps; [ ];
     "xbee" = ps: with ps; [ ]; # missing inputs: xbee-helper
     "xbox" = ps: with ps; [ aiohttp-cors ]; # missing inputs: xbox-webapi
-    "xbox_live" = ps: with ps; [ ]; # missing inputs: xboxapi
+    "xbox_live" = ps: with ps; [ xboxapi ];
     "xeoma" = ps: with ps; [ pyxeoma ];
     "xfinity" = ps: with ps; [ ]; # missing inputs: xfinity-gateway
     "xiaomi" = ps: with ps; [ ha-ffmpeg ];
-    "xiaomi_aqara" = ps: with ps; [ aiohttp-cors netdisco zeroconf ]; # missing inputs: PyXiaomiGateway
+    "xiaomi_aqara" = ps: with ps; [ pyxiaomigateway aiohttp-cors netdisco zeroconf ];
     "xiaomi_miio" = ps: with ps; [ construct python-miio ];
-    "xiaomi_tv" = ps: with ps; [ ]; # missing inputs: pymitv
+    "xiaomi_tv" = ps: with ps; [ pymitv ];
     "xmpp" = ps: with ps; [ slixmpp ];
     "xs1" = ps: with ps; [ ]; # missing inputs: xs1-api-client
-    "yale_smart_alarm" = ps: with ps; [ ]; # missing inputs: yalesmartalarmclient
+    "yale_smart_alarm" = ps: with ps; [ yalesmartalarmclient ];
     "yamaha" = ps: with ps; [ rxv ];
     "yamaha_musiccast" = ps: with ps; [ ]; # missing inputs: pymusiccast
     "yandex_transport" = ps: with ps; [ ]; # missing inputs: aioymaps
@@ -962,7 +965,7 @@
     "zamg" = ps: with ps; [ ];
     "zengge" = ps: with ps; [ ]; # missing inputs: zengge
     "zeroconf" = ps: with ps; [ aiohttp-cors zeroconf ];
-    "zerproc" = ps: with ps; [ ]; # missing inputs: pyzerproc
+    "zerproc" = ps: with ps; [ pyzerproc ];
     "zestimate" = ps: with ps; [ xmltodict ];
     "zha" = ps: with ps; [ bellows pyserial-asyncio pyserial zha-quirks zigpy-cc zigpy-deconz zigpy-xbee zigpy-zigate zigpy-znp zigpy ];
     "zhong_hong" = ps: with ps; [ ]; # missing inputs: zhong_hong_hvac
@@ -970,6 +973,7 @@
     "zodiac" = ps: with ps; [ ];
     "zone" = ps: with ps; [ ];
     "zoneminder" = ps: with ps; [ zm-py ];
-    "zwave" = ps: with ps; [ homeassistant-pyozw pydispatcher ];
+    "zwave" = ps: with ps; [ aiohttp-cors homeassistant-pyozw paho-mqtt pydispatcher python-openzwave-mqtt ];
+    "zwave_js" = ps: with ps; [ aiohttp-cors ]; # missing inputs: zwave-js-server-python
   };
 }
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 3a6b5d353209a..2ddd4a45323ca 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, nixosTests, lib, fetchurl, fetchFromGitHub, fetchpatch, python3, protobuf3_6
+{ stdenv, nixosTests, lib, fetchFromGitHub, python3
 
 # Look up dependencies of specified components in component-packages.nix
 , extraComponents ? [ ]
@@ -9,8 +9,7 @@
 # Override Python packages using
 # self: super: { pkg = super.pkg.overridePythonAttrs (oldAttrs: { ... }); }
 # Applied after defaultOverrides
-, packageOverrides ? self: super: {
-}
+, packageOverrides ? self: super: {}
 
 # Skip pip install of required packages on startup
 , skipPip ? true }:
@@ -57,7 +56,7 @@ let
   extraBuildInputs = extraPackages py.pkgs;
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2021.1.5";
+  hassVersion = "2021.2.3";
 
 in with py.pkgs; buildPythonApplication rec {
   pname = "homeassistant";
@@ -76,7 +75,7 @@ in with py.pkgs; buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = version;
-    sha256 = "sha256-xi5rHZlhwgEHll3TFlRu7D963tdcQNMmWcoXVjEFLXo=";
+    sha256 = "0s1jcd94wwvmvzq86w8s9dwfvnmjs9l661z9pc6kwgagggjjgd8c";
   };
 
   # leave this in, so users don't have to constantly update their downstream patch handling
@@ -84,49 +83,78 @@ in with py.pkgs; buildPythonApplication rec {
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "aiohttp==3.7.1" "aiohttp>=3.6.3" \
       --replace "attrs==19.3.0" "attrs>=19.3.0" \
       --replace "bcrypt==3.1.7" "bcrypt>=3.1.7" \
+      --replace "awesomeversion==21.2.2" "awesomeversion>=21.2.2" \
       --replace "cryptography==3.2" "cryptography" \
+      --replace "httpx==0.16.1" "httpx>=0.16.1" \
       --replace "pip>=8.0.3,<20.3" "pip" \
-      --replace "requests==2.25.0" "requests>=2.24.0" \
+      --replace "pytz>=2020.5" "pytz>=2020.4" \
+      --replace "pyyaml==5.4.1" "pyyaml" \
+      --replace "requests==2.25.1" "requests>=2.25.0" \
       --replace "ruamel.yaml==0.15.100" "ruamel.yaml>=0.15.100"
     substituteInPlace tests/test_config.py --replace '"/usr"' '"/build/media"'
   '';
 
   propagatedBuildInputs = [
-    # From setup.py
-    aiohttp astral async-timeout attrs bcrypt certifi ciso8601 httpx jinja2
-    pyjwt cryptography pip python-slugify pytz pyyaml requests ruamel_yaml
-    setuptools voluptuous voluptuous-serialize yarl
-    # From default_config. frontend, http, image, mobile_app and recorder components as well as
-    # the auth.mfa_modules.totp module
-    aiohttp-cors defusedxml distro emoji hass-frontend pynacl pillow pyotp
-    pyqrcode sqlalchemy
+    # Only packages required in setup.py + hass-frontend
+    aiohttp
+    astral
+    async-timeout
+    attrs
+    awesomeversion
+    bcrypt
+    certifi
+    ciso8601
+    cryptography
+    hass-frontend
+    httpx
+    jinja2
+    pip
+    pyjwt
+    python-slugify
+    pytz
+    pyyaml
+    requests
+    ruamel_yaml
+    voluptuous
+    voluptuous-serialize
+    yarl
   ] ++ componentBuildInputs ++ extraBuildInputs;
 
   # upstream only tests on Linux, so do we.
   doCheck = stdenv.isLinux;
 
   checkInputs = [
-    asynctest pytestCheckHook pytest-aiohttp pytest_xdist requests-mock hass-nabucasa netdisco pydispatcher
-  ];
+    # test infrastructure
+    asynctest
+    pytest-aiohttp
+    pytest-xdist
+    pytestCheckHook
+    requests-mock
+    # component dependencies
+    pyotp
+  ] ++ lib.concatMap (component: getPackages component py.pkgs) componentTests;
 
   # We cannot test all components, since they'd introduce lots of dependencies, some of which are unpackaged,
   # but we should test very common stuff, like what's in `default_config`.
+  # https://github.com/home-assistant/core/commits/dev/homeassistant/components/default_config/manifest.json
   componentTests = [
     "api"
     "automation"
     "config"
     "configurator"
+    "counter"
     "default_config"
     "demo"
+    "dhcp"
     "discovery"
     "frontend"
     "group"
     "history"
     "homeassistant"
     "http"
+    "hue"
     "input_boolean"
     "input_datetime"
     "input_text"
@@ -145,42 +173,34 @@ in with py.pkgs; buildPythonApplication rec {
     "system_health"
     "system_log"
     "tag"
+    "timer"
+    "webhook"
     "websocket_api"
     "zeroconf"
     "zone"
+    "zwave"
   ];
 
   pytestFlagsArray = [
-    "-n auto"
+    # limit amout of runners to reduce race conditions
+    "-n 2"
+    # assign tests grouped by file to workers
+    "--dist loadfile"
     # don't bulk test all components
     "--ignore tests/components"
-    # prone to race conditions due to parallel file access
-    "--ignore tests/test_config.py"
-    # tries to import unpackaged dependencies
-    "--ignore tests/test_loader.py"
     # pyotp since v2.4.0 complains about the short mock keys, hass pins v2.3.0
     "--ignore tests/auth/mfa_modules/test_notify.py"
     "tests"
   ] ++ map (component: "tests/components/" + component) componentTests;
 
   disabledTests = [
-    # AssertionError: merge_log_err.call_count != 0
+    # AssertionError: assert 1 == 0
     "test_merge"
     # ModuleNotFoundError: No module named 'pyqwikswitch'
     "test_merge_id_schema"
-    # AssertionError: assert 'unknown' == 'not_home'
-    "test_device_tracker_not_home"
-    # Racy https://github.com/home-assistant/core/issues/41425
-    "test_cached_event_message"
-    # ValueError: count must be a positive integer (got 0)
-    "test_media_view"
-    # AssertionError: len(events) == 1
-    "test_error_posted_as_event"
     # keyring.errors.NoKeyringError: No recommended backend was available.
     "test_secrets_from_unrelated_fails"
     "test_secrets_credstash"
-    # RuntimeError: Event loop is closed
-    "test_remove_older_logs"
   ];
 
   preCheck = ''
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index 9606f8645a1d4..812f4d096cefe 100644
--- a/pkgs/servers/home-assistant/frontend.nix
+++ b/pkgs/servers/home-assistant/frontend.nix
@@ -4,11 +4,11 @@ buildPythonPackage rec {
   # the frontend version corresponding to a specific home-assistant version can be found here
   # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
   pname = "home-assistant-frontend";
-  version = "20201229.1";
+  version = "20210127.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-3JMWugAiVDq/NBgX8ft2Bchim2g493jy7wZvvXrX+Ws=";
+    sha256 = "sha256-N+n1DI1oZ/j+GydH+Du21zTNA6leW4YBri7cAMvAac4=";
   };
 
   # there is nothing to strip in this package
diff --git a/pkgs/servers/home-assistant/parse-requirements.py b/pkgs/servers/home-assistant/parse-requirements.py
index 55e58d7a017f3..eeb117a984e4c 100755
--- a/pkgs/servers/home-assistant/parse-requirements.py
+++ b/pkgs/servers/home-assistant/parse-requirements.py
@@ -1,5 +1,5 @@
 #! /usr/bin/env nix-shell
-#! nix-shell -i python3 -p "python3.withPackages (ps: with ps; [ mypy attrs ])
+#! nix-shell -i python3 -p "python3.withPackages (ps: with ps; [ mypy attrs packaging rich ])
 #
 # This script downloads Home Assistant's source tarball.
 # Inside the homeassistant/components directory, each integration has an associated manifest.json,
@@ -26,6 +26,9 @@ import tempfile
 from io import BytesIO
 from typing import Dict, Optional, Set, Any
 from urllib.request import urlopen
+from packaging import version as Version
+from rich.console import Console
+from rich.table import Table
 
 COMPONENT_PREFIX = "homeassistant.components"
 PKG_SET = "python3Packages"
@@ -142,12 +145,20 @@ def name_to_attr_path(req: str, packages: Dict[str, Dict[str, str]]) -> Optional
         return None
 
 
+def get_pkg_version(package: str, packages: Dict[str, Dict[str, str]]) -> Optional[str]:
+    pkg = packages.get(f"{PKG_SET}.{package}", None)
+    if not pkg:
+        return None
+    return pkg["version"]
+
+
 def main() -> None:
     packages = dump_packages()
     version = get_version()
     print("Generating component-packages.nix for version {}".format(version))
     components = parse_components(version=version)
     build_inputs = {}
+    outdated = {}
     for component in sorted(components.keys()):
         attr_paths = []
         missing_reqs = []
@@ -156,8 +167,14 @@ def main() -> None:
             # Some requirements are specified by url, e.g. https://example.org/foobar#xyz==1.0.0
             # Therefore, if there's a "#" in the line, only take the part after it
             req = req[req.find("#") + 1 :]
-            name = req.split("==")[0]
+            name, required_version = req.split("==", maxsplit=1)
             attr_path = name_to_attr_path(name, packages)
+            if our_version := get_pkg_version(name, packages):
+                if Version.parse(our_version) < Version.parse(required_version):
+                    outdated[name] = {
+                      'wanted': required_version,
+                      'current': our_version
+                    }
             if attr_path is not None:
                 # Add attribute path without "python3Packages." prefix
                 attr_paths.append(attr_path[len(PKG_SET + ".") :])
@@ -189,6 +206,17 @@ def main() -> None:
         f.write("  };\n")
         f.write("}\n")
 
+    if outdated:
+        table = Table(title="Outdated dependencies")
+        table.add_column("Package")
+        table.add_column("Current")
+        table.add_column("Wanted")
+        for package, version in sorted(outdated.items()):
+            table.add_row(package, version['current'], version['wanted'])
+
+        console = Console()
+        console.print(table)
+
 
 if __name__ == "__main__":
     run_mypy()
diff --git a/pkgs/servers/http/apt-cacher-ng/default.nix b/pkgs/servers/http/apt-cacher-ng/default.nix
index de3f58fc06f34..72c6286af3f2f 100644
--- a/pkgs/servers/http/apt-cacher-ng/default.nix
+++ b/pkgs/servers/http/apt-cacher-ng/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "apt-cacher-ng";
-  version = "3.5";
+  version = "3.6";
 
   src = fetchurl {
     url = "http://ftp.debian.org/debian/pool/main/a/apt-cacher-ng/apt-cacher-ng_${version}.orig.tar.xz";
-    sha256 = "0h76n02nnpg7ir9247qrxb8p4d4p282nh13zrv5bb9sfm12pril2";
+    sha256 = "sha256-/4jA5acNpHpdQ9kb/1A9thtoUCqsYFxSCr4JLmFYdt4=";
   };
 
   nativeBuildInputs = [ cmake doxygen pkg-config ];
diff --git a/pkgs/servers/http/darkhttpd/default.nix b/pkgs/servers/http/darkhttpd/default.nix
index 49097fe2bfacf..56bf5cd5b74cf 100644
--- a/pkgs/servers/http/darkhttpd/default.nix
+++ b/pkgs/servers/http/darkhttpd/default.nix
@@ -1,20 +1,27 @@
-{ lib, stdenv, fetchurl }:
+{ lib
+, stdenv
+, fetchFromGitHub
+}:
 
 stdenv.mkDerivation rec {
   pname = "darkhttpd";
-  version = "1.12";
+  version = "1.13";
 
-  src = fetchurl {
-    url = "https://unix4lyfe.org/darkhttpd/${pname}-${version}.tar.bz2";
-    sha256 = "0185wlyx4iqiwfigp1zvql14zw7gxfacncii3d15yaxk4av1f155";
+  src = fetchFromGitHub {
+    owner = "emikulic";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0w11xq160q9yyffv4mw9ncp1n0dl50d9plmwxb0yijaaxls9i4sk";
   };
 
   enableParallelBuilding = true;
 
   installPhase = ''
+    runHook preInstall
     install -Dm555 -t $out/bin darkhttpd
-    install -Dm444 -t $out/share/doc/${pname} README
+    install -Dm444 -t $out/share/doc/${pname} README.md
     head -n 18 darkhttpd.c > $out/share/doc/${pname}/LICENSE
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/servers/http/envoy/default.nix b/pkgs/servers/http/envoy/default.nix
index c297ea3824599..3a45352815139 100644
--- a/pkgs/servers/http/envoy/default.nix
+++ b/pkgs/servers/http/envoy/default.nix
@@ -56,7 +56,7 @@ buildBazelPackage rec {
   ];
 
   fetchAttrs = {
-    sha256 = "sha256-mct7anzErY9eSujZyGORfRJqzAO9XuFAv04DS8VRZKM=";
+    sha256 = "0q72c2zrl5vc8afkhkwyalb2h0mxn3133d4b9z4gag0p95wbwgc0";
     dontUseCmakeConfigure = true;
     preInstall = ''
       # Strip out the path to the build location (by deleting the comment line).
diff --git a/pkgs/servers/http/jetty/default.nix b/pkgs/servers/http/jetty/default.nix
index d6207e79554c7..1a43f2592823b 100644
--- a/pkgs/servers/http/jetty/default.nix
+++ b/pkgs/servers/http/jetty/default.nix
@@ -2,14 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "jetty";
-  version = "9.4.35.v20201120";
+  version = "9.4.37.v20210219";
   src = fetchurl {
     url = "https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/${version}/jetty-distribution-${version}.tar.gz";
-    name = "jetty-distribution-${version}.tar.gz";
-    sha256 = "1cpdrqz6wi7fd228lh4ijs82jq51qr5aym6vff464w3y2sd0jbav";
+    sha256 = "sha256-Jyg0cQBnwYtcVJnr2uWwE/9yC3wq+CLTTGKtv3BsZs8=";
   };
 
-  phases = [ "unpackPhase" "installPhase" ];
+  dontBuild = true;
 
   installPhase = ''
     mkdir -p $out
diff --git a/pkgs/servers/http/lighttpd/default.nix b/pkgs/servers/http/lighttpd/default.nix
index afc7c5c7453a0..be631dd341e9b 100644
--- a/pkgs/servers/http/lighttpd/default.nix
+++ b/pkgs/servers/http/lighttpd/default.nix
@@ -15,11 +15,11 @@ assert enableWebDAV -> libuuid != null;
 assert enableExtendedAttrs -> attr != null;
 
 stdenv.mkDerivation rec {
-  name = "lighttpd-1.4.58";
+  name = "lighttpd-1.4.59";
 
   src = fetchurl {
     url = "https://download.lighttpd.net/lighttpd/releases-1.4.x/${name}.tar.xz";
-    sha256 = "sha256-Jn/v/aE6GQ69znsVFy2L4W2pgAhFfzD93s1ygy0SbQ4=";
+    sha256 = "sha256-+5U9snPa7wjttuICVWyuij0H7tYIHJa9mQPblX0QhNU=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/http/nginx/mainline.nix b/pkgs/servers/http/nginx/mainline.nix
index cadc1064ac046..aad46be30b213 100644
--- a/pkgs/servers/http/nginx/mainline.nix
+++ b/pkgs/servers/http/nginx/mainline.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }@args:
 
 callPackage ./generic.nix args {
-  version = "1.19.6";
-  sha256 = "1d9kzks8x1226prjbpdin4dz93fjnv304zlqybfqachx5fh9a4di";
+  version = "1.19.7";
+  sha256 = "03mmfnkhayn8vm2yhs3ngvif6275c368ymx8wvhsbls11h1dvr3s";
 }
diff --git a/pkgs/servers/http/nginx/modules.nix b/pkgs/servers/http/nginx/modules.nix
index 71bc969bbea6a..0725b674a3918 100644
--- a/pkgs/servers/http/nginx/modules.nix
+++ b/pkgs/servers/http/nginx/modules.nix
@@ -22,6 +22,17 @@ in
   fastcgi-cache-purge = throw "fastcgi-cache-purge was renamed to cache-purge";
   ngx_aws_auth = throw "ngx_aws_auth was renamed to aws-auth";
 
+  akamai-token-validate = {
+    src = fetchFromGitHub {
+      name = "akamai-token-validate";
+      owner = "kaltura";
+      repo = "nginx-akamai-token-validate-module";
+      rev = "34fd0c94d2c43c642f323491c4f4a226cd83b962";
+      sha256 = "0yf34s11vgkcl03wbl6gjngm3p9hs8vvm7hkjkwhjh39vkk2a7cy";
+    };
+    inputs = [ pkgs.openssl ];
+  };
+
   aws-auth = {
     src = fetchFromGitHub {
       name = "aws-auth";
@@ -320,6 +331,17 @@ in
     };
   };
 
+  secure-token = {
+    src = fetchFromGitHub {
+      name = "secure-token";
+      owner = "kaltura";
+      repo = "nginx-secure-token-module";
+      rev = "95bdc0d1aca06ea7fe42555f71e65910bd74914d";
+      sha256 = "19wzck1xzq4kz7nyabcwzlank1k7wi7w2wn2c1mwz374c79g8ggp";
+    };
+    inputs = [ pkgs.openssl ];
+  };
+
   set-misc = {
     src = fetchFromGitHub {
       name = "set-misc";
@@ -370,6 +392,16 @@ in
     };
   };
 
+  spnego-http-auth = {
+    src = fetchFromGitHub {
+      name = "spnego-http-auth";
+      owner = "stnoonan";
+      repo = "spnego-http-auth-nginx-module";
+      rev = "72c8ee04c81f929ec84d5a6d126f789b77781a8c";
+      sha256 = "05rw3a7cv651951li995r5l1yzz6kwkm2xpbd59jsfzd74bw941i";
+    };
+  };
+
   statsd = {
     src = fetchFromGitHub {
       name = "statsd";
@@ -462,6 +494,17 @@ in
     inputs = [ pkgs.ffmpeg_3 ];
   };
 
+  vod = {
+    src = fetchFromGitHub {
+      name = "vod";
+      owner = "kaltura";
+      repo = "nginx-vod-module";
+      rev = "e46079f51282d5a378e6911714b5f3a533bb7700";
+      sha256 = "0pzzq4xcq7jg8mxwnz7srj1nczg9ajd1b8q58qlm03lny8nd2hr5";
+    };
+    inputs = [ pkgs.ffmpeg_3 pkgs.fdk_aac pkgs.openssl pkgs.libxml2 pkgs.libiconv ];
+  };
+
   vts = {
     src = fetchFromGitHub {
       name = "vts";
diff --git a/pkgs/servers/http/unit/default.nix b/pkgs/servers/http/unit/default.nix
index a5d5e37487aad..8170ae79c32cc 100644
--- a/pkgs/servers/http/unit/default.nix
+++ b/pkgs/servers/http/unit/default.nix
@@ -7,7 +7,6 @@
 , withPerl530 ? false, perl530
 , withPerl532 ? true, perl532
 , withPerldevel ? false, perldevel
-, withRuby_2_5 ? false, ruby_2_5
 , withRuby_2_6 ? true, ruby_2_6
 , withRuby_2_7 ? false, ruby_2_7
 , withSSL ? true, openssl ? null
@@ -51,7 +50,6 @@ in stdenv.mkDerivation rec {
     ++ optional withPerl530 perl530
     ++ optional withPerl532 perl532
     ++ optional withPerldevel perldevel
-    ++ optional withRuby_2_5 ruby_2_5
     ++ optional withRuby_2_6 ruby_2_6
     ++ optional withRuby_2_7 ruby_2_7
     ++ optional withSSL openssl;
@@ -77,7 +75,6 @@ in stdenv.mkDerivation rec {
     ${optionalString withPerl530    "./configure perl   --module=perl530  --perl=${perl530}/bin/perl"}
     ${optionalString withPerl532    "./configure perl   --module=perl532  --perl=${perl532}/bin/perl"}
     ${optionalString withPerldevel  "./configure perl   --module=perldev  --perl=${perldevel}/bin/perl"}
-    ${optionalString withRuby_2_5   "./configure ruby   --module=ruby25   --ruby=${ruby_2_5}/bin/ruby"}
     ${optionalString withRuby_2_6   "./configure ruby   --module=ruby26   --ruby=${ruby_2_6}/bin/ruby"}
     ${optionalString withRuby_2_7   "./configure ruby   --module=ruby27   --ruby=${ruby_2_7}/bin/ruby"}
   '';
diff --git a/pkgs/servers/irc/ngircd/default.nix b/pkgs/servers/irc/ngircd/default.nix
index b89837e5942d9..870a7836fe4ff 100644
--- a/pkgs/servers/irc/ngircd/default.nix
+++ b/pkgs/servers/irc/ngircd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ngircd";
-  version = "26";
+  version = "26.1";
 
   src = fetchurl {
     url = "https://ngircd.barton.de/pub/ngircd/${pname}-${version}.tar.xz";
-    sha256 = "1ijmv18fa648y7apxb9vp4j9iq6fxq850kz5v36rysaq614cdp2n";
+    sha256 = "sha256-VcFv0mAJ9vxqAH3076yHoC4SL2gGEs2hzibhehjYYlQ=";
   };
 
   configureFlags = [
diff --git a/pkgs/servers/irc/solanum/default.nix b/pkgs/servers/irc/solanum/default.nix
index 0ae030ba59d1b..1d39526ed1ee3 100644
--- a/pkgs/servers/irc/solanum/default.nix
+++ b/pkgs/servers/irc/solanum/default.nix
@@ -50,6 +50,8 @@ stdenv.mkDerivation rec {
 
   doCheck = !stdenv.isDarwin;
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "An IRCd for unified networks";
     homepage = "https://github.com/solanum-ircd/solanum";
diff --git a/pkgs/servers/isso/default.nix b/pkgs/servers/isso/default.nix
index b9bce56d9fa07..4db8ac1f40342 100644
--- a/pkgs/servers/isso/default.nix
+++ b/pkgs/servers/isso/default.nix
@@ -3,16 +3,14 @@
 with python3Packages; buildPythonApplication rec {
 
   pname = "isso";
-  # Can not use 0.12.2 because of:
-  # https://github.com/posativ/isso/issues/617
-  version = "unstable-2020-09-14";
+  version = "0.12.4";
 
   # no tests on PyPI
   src = fetchFromGitHub {
     owner = "posativ";
     repo = pname;
-    rev = "f4d2705d4f1b51f444d0629355a6fcbcec8d57b5";
-    sha256 = "02jgfzq3svd54zj09jj7lm2r7ypqqjynzxa9dgnnm0pqvq728wzr";
+    rev = version;
+    sha256 = "16wjpz8r74fzjvzhl6by3sjc2g1riz8lh59ccgp14bns1yhsh2yi";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix
index 11e213f01364b..40c129296356d 100644
--- a/pkgs/servers/jackett/default.nix
+++ b/pkgs/servers/jackett/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jackett";
-  version = "0.17.15";
+  version = "0.17.598";
 
   src = fetchurl {
     url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.Mono.tar.gz";
-    sha256 = "1pp5pnnmy8m0jvpxrldshcx71dl5g16dqvnnzaqhvs4cjhpgq8fw";
+    sha256 = "sha256-G66P/sYodD15OxuFD+peF92jSeog70Rh10mkjYRhnl0=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "API Support for your favorite torrent trackers";
     homepage = "https://github.com/Jackett/Jackett/";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     maintainers = with maintainers; [ edwtjo nyanloutre purcell ];
     platforms = platforms.all;
   };
diff --git a/pkgs/servers/jetbrains/youtrack.nix b/pkgs/servers/jetbrains/youtrack.nix
index 5aab96d1bc048..c3680d76b96ea 100644
--- a/pkgs/servers/jetbrains/youtrack.nix
+++ b/pkgs/servers/jetbrains/youtrack.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1fnnpyikr1x443vxy6f7vlv550sbahpps8awyn13jpg7kpgfm7lk";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   dontUnpack = true;
 
diff --git a/pkgs/servers/jicofo/default.nix b/pkgs/servers/jicofo/default.nix
index f706438d6c146..49e40713a0a42 100644
--- a/pkgs/servers/jicofo/default.nix
+++ b/pkgs/servers/jicofo/default.nix
@@ -1,11 +1,11 @@
-{ pkgs, lib, stdenv, fetchurl, dpkg, jre_headless, nixosTests }:
+{ lib, stdenv, fetchurl, dpkg, jre_headless, nixosTests }:
 
 let
   pname = "jicofo";
-  version = "1.0-612";
+  version = "1.0-690";
   src = fetchurl {
     url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb";
-    sha256 = "0xv3p2h8g1jwcmxljdpz08d6dsz543mznp0nwgb6vr93faz8kc81";
+    sha256 = "1w5nz2p6scd7w0ac93vhxlk5i8in5160c0icwl27m4x4km9xf6al";
   };
 in
 stdenv.mkDerivation {
@@ -16,6 +16,7 @@ stdenv.mkDerivation {
   unpackCmd = "${dpkg}/bin/dpkg-deb -x $src debcontents";
 
   installPhase = ''
+    runHook preInstall
     substituteInPlace usr/share/jicofo/jicofo.sh \
       --replace "exec java" "exec ${jre_headless}/bin/java"
 
@@ -24,6 +25,7 @@ stdenv.mkDerivation {
     mv etc $out/
     cp ${./logging.properties-journal} $out/etc/jitsi/jicofo/logging.properties-journal
     ln -s $out/share/jicofo/jicofo.sh $out/bin/jicofo
+    runHook postInstall
   '';
 
   passthru.tests = {
diff --git a/pkgs/servers/jitsi-videobridge/default.nix b/pkgs/servers/jitsi-videobridge/default.nix
index d9dd84c7cfb8d..35cd6906012df 100644
--- a/pkgs/servers/jitsi-videobridge/default.nix
+++ b/pkgs/servers/jitsi-videobridge/default.nix
@@ -2,10 +2,10 @@
 
 let
   pname = "jitsi-videobridge2";
-  version = "2.1-273-g072dd44b";
+  version = "2.1-416-g2f43d1b4";
   src = fetchurl {
     url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb";
-    sha256 = "12l84wjn5iqnsg0816icgbx8jfcgyfnqclgyx303w4ncbvymlkv9";
+    sha256 = "0s9wmbba1nlpxaawzmaqg92882y5sfs2ws64w5sqvpi7n77hy54m";
   };
 in
 stdenv.mkDerivation {
@@ -15,9 +15,10 @@ stdenv.mkDerivation {
 
   unpackCmd = "${dpkg}/bin/dpkg-deb -x $src debcontents";
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
+    runHook preInstall
     substituteInPlace usr/share/jitsi-videobridge/jvb.sh \
       --replace "exec java" "exec ${jre_headless}/bin/java"
 
@@ -30,6 +31,7 @@ stdenv.mkDerivation {
     # work around https://github.com/jitsi/jitsi-videobridge/issues/1547
     wrapProgram $out/bin/jitsi-videobridge \
       --set VIDEOBRIDGE_GC_TYPE G1GC
+    runHook postInstall
   '';
 
   passthru.tests = {
diff --git a/pkgs/servers/keycloak/default.nix b/pkgs/servers/keycloak/default.nix
index 468904b3f0d0c..aaa2a2f2b5c8f 100644
--- a/pkgs/servers/keycloak/default.nix
+++ b/pkgs/servers/keycloak/default.nix
@@ -18,11 +18,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname   = "keycloak";
-  version = "12.0.2";
+  version = "12.0.3";
 
   src = fetchzip {
     url    = "https://github.com/keycloak/keycloak/releases/download/${version}/keycloak-${version}.zip";
-    sha256 = "006k6ac00iz61s6hi3wzj6w71mhhv7n00vh82ak4yhwr97jffqbz";
+    sha256 = "sha256-YUeSX02iLhrGzItnbUbK8ib7IfWG3+2k154cTPAt8Wc=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/klipper/default.nix b/pkgs/servers/klipper/default.nix
index 9c44dabe3df91..23b44be0316a1 100644
--- a/pkgs/servers/klipper/default.nix
+++ b/pkgs/servers/klipper/default.nix
@@ -2,16 +2,17 @@
 , lib
 , fetchFromGitHub
 , python2
+, unstableGitUpdater
 }:
 stdenv.mkDerivation rec {
   name = "klipper";
-  version = "0.9.1";
+  version = "unstable-2021-01-31";
 
   src = fetchFromGitHub {
     owner = "KevinOConnor";
     repo = "klipper";
-    rev = "v${version}";
-    sha256 = "1wgklngsz6xxl25qxi9fkqhbyhwy61iyyk76ycq68b3miayrkgpj";
+    rev = "ef4d9c3abd30ae8a485020fd9ff2fb4529a143b3";
+    sha256 = "puAkSGL0DD0JUWejPdzr7zKIW2UP2soBBtgm2msUKzA=";
   };
 
   sourceRoot = "source/klippy";
@@ -39,6 +40,8 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru.updateScript = unstableGitUpdater { url = meta.homepage; };
+
   meta = with lib; {
     description = "The Klipper 3D printer firmware";
     homepage = "https://github.com/KevinOConnor/klipper";
diff --git a/pkgs/servers/livepeer/default.nix b/pkgs/servers/livepeer/default.nix
index a016c8e7f099d..ad67cdf4348cb 100644
--- a/pkgs/servers/livepeer/default.nix
+++ b/pkgs/servers/livepeer/default.nix
@@ -4,16 +4,16 @@
 
 buildGoModule rec {
   pname = "livepeer";
-  version = "0.5.13";
+  version = "0.5.14";
 
   runVend = true;
-  vendorSha256 = "sha256-wAjGgYDyBWqE8KCQ6TQ+LGDDZqF+5XY+NzU74RwPuRE=";
+  vendorSha256 = "sha256-StkgU11VLEKg89kn3zPcdC8HBw9MmJrfDPGk1SUQO64=";
 
   src = fetchFromGitHub {
     owner = "livepeer";
     repo = "go-livepeer";
     rev = "v${version}";
-    sha256 = "sha256-b4O8Hc8A8TN5KFcQ7KYvFPVFgposDgPw06WowrXzpAs=";
+    sha256 = "sha256-GxgpGI1ymhbYhzCP2Bs5wJ5kq5rHHkClXcAsYlaQ/AM=";
   };
 
   # livepeer_cli has a vendoring problem
diff --git a/pkgs/servers/ma1sd/0001-gradle.patch b/pkgs/servers/ma1sd/0001-gradle.patch
deleted file mode 100644
index 0980ec9a5df8c..0000000000000
--- a/pkgs/servers/ma1sd/0001-gradle.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/build.gradle	2019-09-01 16:17:17.815513296 +0200
-+++ b/build.gradle	2019-09-01 16:21:14.688832785 +0200
-@@ -73,7 +73,7 @@
- 
- buildscript {
-     repositories {
--        jcenter()
-+REPLACE
-     }
- 
-     dependencies {
-@@ -83,7 +83,7 @@
- }
- 
- repositories {
--    jcenter()
-+REPLACE
- }
- 
- dependencies {
diff --git a/pkgs/servers/ma1sd/default.nix b/pkgs/servers/ma1sd/default.nix
index 055136c207197..5947d18eb9e12 100644
--- a/pkgs/servers/ma1sd/default.nix
+++ b/pkgs/servers/ma1sd/default.nix
@@ -1,22 +1,22 @@
-{ lib, stdenv, fetchFromGitHub, jre, git, gradle_5, perl, makeWrapper }:
+{ lib, stdenv, fetchFromGitHub, jre, git, gradle, perl, makeWrapper }:
 
 let
   name = "ma1sd-${version}";
-  version = "2.1.1";
-  rev = "a112a5e57cb38ad282939d2dcb9c1476e038af39";
+  version = "2.4.0";
+  rev = version;
 
   src = fetchFromGitHub {
     inherit rev;
     owner = "ma1uta";
     repo = "ma1sd";
-    sha256 = "1qibn6m6mvxwnbiypxlgkaqg6in358vkf0q47410rv1dx1gjcnv5";
+    hash = "sha256-8UnhrGa8KKmMAAkzUXztMkxgYOX8MU1ioXuEStGi4Vc=";
   };
 
 
   deps = stdenv.mkDerivation {
     name = "${name}-deps";
     inherit src;
-    nativeBuildInputs = [ gradle_5 perl git ];
+    nativeBuildInputs = [ gradle perl git ];
 
     buildPhase = ''
       export MA1SD_BUILD_VERSION=${rev}
@@ -35,34 +35,36 @@ let
 
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "1w9cxq0rlzyh7bzqr3v3vn2cjhpn7hhc5lk9qzwj7sdj4jn2qxq6";
+    outputHash = "0x2wmmhjgnb6p72d3kvnv2vg52l0c4151rs4jrazs9rvxjfc88dr";
   };
 
 in
 stdenv.mkDerivation {
   inherit name src version;
-  nativeBuildInputs = [ gradle_5 perl makeWrapper ];
+  nativeBuildInputs = [ gradle perl makeWrapper ];
   buildInputs = [ jre ];
 
-  patches = [ ./0001-gradle.patch ];
-
   buildPhase = ''
+    runHook preBuild
     export MA1SD_BUILD_VERSION=${rev}
     export GRADLE_USER_HOME=$(mktemp -d)
 
-    sed -ie "s#REPLACE#mavenLocal(); maven { url '${deps}' }#g" build.gradle
+    sed -ie "s#jcenter()#mavenLocal(); maven { url '${deps}' }#g" build.gradle
     gradle --offline --no-daemon build -x test
+    runHook postBuild
   '';
 
   installPhase = ''
+    runHook preInstall
     install -D build/libs/source.jar $out/lib/ma1sd.jar
     makeWrapper ${jre}/bin/java $out/bin/ma1sd --add-flags "-jar $out/lib/ma1sd.jar"
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "a federated matrix identity server; fork of mxisd";
     homepage = "https://github.com/ma1uta/ma1sd";
-    license = licenses.agpl3;
+    license = licenses.agpl3Only;
     maintainers = with maintainers; [ mguentner ];
     platforms = platforms.all;
   };
diff --git a/pkgs/servers/maddy/default.nix b/pkgs/servers/maddy/default.nix
new file mode 100644
index 0000000000000..ac3c075717ce3
--- /dev/null
+++ b/pkgs/servers/maddy/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "maddy";
+  version = "0.4.3";
+
+  src = fetchFromGitHub {
+    owner = "foxcpp";
+    repo = "maddy";
+    rev = "v${version}";
+    sha256 = "1mi607hl4c9y9xxv5lywh9fvpybprlrgqa7617km9rssbgk4x1v7";
+  };
+
+  vendorSha256 = "16laf864789yiakvqs6dy3sgnnp2hcdbyzif492wcijqlir2swv7";
+
+  buildFlagsArray = [ "-ldflags=-s -w -X github.com/foxcpp/maddy.Version=${version}" ];
+
+  subPackages = [ "cmd/maddy" "cmd/maddyctl" ];
+
+  meta = with lib; {
+    description = "Composable all-in-one mail server";
+    homepage = "https://foxcpp.dev/maddy";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ lxea ];
+  };
+}
diff --git a/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix b/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
index 0b61a779c4836..eb3f8bf19cb77 100644
--- a/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
+++ b/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
@@ -1,16 +1,16 @@
-{ lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config, dovecot, libtool, xapian, icu64, sqlite }:
-stdenv.mkDerivation {
+{ lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config, dovecot, libtool, xapian, icu64 }:
+stdenv.mkDerivation rec {
   pname = "fts-xapian";
-  version = "1.3.1";
+  version = "1.4.7";
 
   src = fetchFromGitHub {
     owner = "grosjo";
     repo = "fts-xapian";
-    rev = "1.3.1";
-    sha256 = "10yl5fyfbx2ijqckx13vbmzj9mpm5pkh8qzichbdgplrzm738q43";
+    rev = version;
+    sha256 = "K2d1FFAilIggNuP0e698s+9bN08x2s/0Jryp7pmeixc=";
   };
 
-  buildInputs = [ dovecot xapian icu64 sqlite ];
+  buildInputs = [ dovecot xapian icu64 ];
 
   nativeBuildInputs = [ autoconf automake libtool pkg-config ];
 
diff --git a/pkgs/servers/mail/mailman/wrapped.nix b/pkgs/servers/mail/mailman/wrapped.nix
index 2a620763d876b..c244af10e7835 100644
--- a/pkgs/servers/mail/mailman/wrapped.nix
+++ b/pkgs/servers/mail/mailman/wrapped.nix
@@ -8,7 +8,7 @@ in
 
 runCommand "${mailman.name}-wrapped" {
   inherit (mailman) meta;
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
   passthru = mailman.passthru // { unwrapped = mailman; };
 } ''
   mkdir -p "$out/bin"
diff --git a/pkgs/servers/mail/spamassassin/default.nix b/pkgs/servers/mail/spamassassin/default.nix
index ff96f0e7c8275..71bcc3fc68785 100644
--- a/pkgs/servers/mail/spamassassin/default.nix
+++ b/pkgs/servers/mail/spamassassin/default.nix
@@ -9,7 +9,8 @@ perlPackages.buildPerlPackage rec {
     sha256 = "0ga5mi2nv2v91kakk9xakkg71rnxnddlzv76ca13vfyd4jgcfasf";
   };
 
-  buildInputs = [ makeWrapper ] ++ (with perlPackages; [
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = (with perlPackages; [
     HTMLParser NetCIDRLite NetDNS NetAddrIP DBFile HTTPDate MailDKIM LWP
     IOSocketSSL DBI EncodeDetect IPCountry NetIdent Razor2ClientAgent MailSPF
     NetDNSResolverProgrammable Socket6
diff --git a/pkgs/servers/mastodon/default.nix b/pkgs/servers/mastodon/default.nix
new file mode 100644
index 0000000000000..1abedead87d89
--- /dev/null
+++ b/pkgs/servers/mastodon/default.nix
@@ -0,0 +1,121 @@
+{ lib, stdenv, nodejs-slim, mkYarnPackage, fetchFromGitHub, bundlerEnv
+, yarn, callPackage, imagemagick, ffmpeg, file, ruby_2_7, writeShellScript
+
+  # Allow building a fork or custom version of Mastodon:
+, pname ? "mastodon"
+, version ? import ./version.nix
+, srcOverride ? null
+, dependenciesDir ? ./.  # Should contain gemset.nix, yarn.nix and package.json.
+}:
+
+stdenv.mkDerivation rec {
+  inherit pname version;
+
+  # Using overrideAttrs on src does not build the gems and modules with the overridden src.
+  # Putting the callPackage up in the arguments list also does not work.
+  src = if srcOverride != null then srcOverride else callPackage ./source.nix {};
+
+  mastodon-gems = bundlerEnv {
+    name = "${pname}-gems-${version}";
+    inherit version;
+    ruby = ruby_2_7;
+    gemdir = src;
+    gemset = dependenciesDir + "/gemset.nix";
+    # This fix (copied from https://github.com/NixOS/nixpkgs/pull/76765) replaces the gem
+    # symlinks with directories, resolving this error when running rake:
+    #   /nix/store/451rhxkggw53h7253izpbq55nrhs7iv0-mastodon-gems-3.0.1/lib/ruby/gems/2.6.0/gems/bundler-1.17.3/lib/bundler/settings.rb:6:in `<module:Bundler>': uninitialized constant Bundler::Settings (NameError)
+    postBuild = ''
+      for gem in "$out"/lib/ruby/gems/*/gems/*; do
+        cp -a "$gem/" "$gem.new"
+        rm "$gem"
+        # needed on macOS, otherwise the mv yields permission denied
+        chmod +w "$gem.new"
+        mv "$gem.new" "$gem"
+      done
+    '';
+  };
+
+  mastodon-js-modules = mkYarnPackage {
+    pname = "${pname}-modules";
+    yarnNix = dependenciesDir + "/yarn.nix";
+    packageJSON = dependenciesDir + "/package.json";
+    inherit src version;
+  };
+
+  mastodon-assets = stdenv.mkDerivation {
+    pname = "${pname}-assets";
+    inherit src version;
+
+    buildInputs = [
+      mastodon-gems nodejs-slim yarn
+    ];
+
+    # FIXME: "production" would require OTP_SECRET to be set, so we use
+    # development here.
+    RAILS_ENV = "development";
+
+    buildPhase = ''
+      # Support Mastodon forks which don't call themselves 'mastodon' or which
+      # omit the organization name from package.json.
+      if [ "$(ls ${mastodon-js-modules}/libexec/* | grep node_modules)" ]; then
+          cp -r ${mastodon-js-modules}/libexec/*/node_modules node_modules
+      else
+          cp -r ${mastodon-js-modules}/libexec/*/*/node_modules node_modules
+      fi
+      chmod -R u+w node_modules
+      rake webpacker:compile
+      rails assets:precompile
+    '';
+
+    installPhase = ''
+      mkdir -p $out/public
+      cp -r public/assets $out/public
+      cp -r public/packs $out/public
+    '';
+  };
+
+  passthru.updateScript = callPackage ./update.nix {};
+
+  buildPhase = ''
+    if [ "$(ls ${mastodon-js-modules}/libexec/* | grep node_modules)" ]; then
+        ln -s ${mastodon-js-modules}/libexec/*/node_modules node_modules
+    else
+        ln -s ${mastodon-js-modules}/libexec/*/*/node_modules node_modules
+    fi
+    ln -s ${mastodon-assets}/public/assets public/assets
+    ln -s ${mastodon-assets}/public/packs public/packs
+
+    patchShebangs bin/
+    for b in $(ls ${mastodon-gems}/bin/)
+    do
+      if [ ! -f bin/$b ]; then
+        ln -s ${mastodon-gems}/bin/$b bin/$b
+      fi
+    done
+
+    rm -rf log
+    ln -s /var/log/mastodon log
+    ln -s /tmp tmp
+  '';
+
+  propagatedBuildInputs = [ imagemagick ffmpeg file mastodon-gems.wrappedRuby ];
+
+  installPhase = let
+    run-streaming = writeShellScript "run-streaming.sh" ''
+      # NixOS helper script to consistently use the same NodeJS version the package was built with.
+      ${nodejs-slim}/bin/node ./streaming
+    '';
+  in ''
+    mkdir -p $out
+    cp -r * $out/
+    ln -s ${run-streaming} $out/run-streaming.sh
+  '';
+
+  meta = with lib; {
+    description = "Self-hosted, globally interconnected microblogging software based on ActivityPub";
+    homepage = "https://joinmastodon.org";
+    license = licenses.agpl3Plus;
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    maintainers = with maintainers; [ petabyteboy happy-river erictapen ];
+  };
+}
diff --git a/pkgs/servers/mastodon/gemset.nix b/pkgs/servers/mastodon/gemset.nix
new file mode 100644
index 0000000000000..07aeb0bc9c4b0
--- /dev/null
+++ b/pkgs/servers/mastodon/gemset.nix
@@ -0,0 +1,3006 @@
+{
+  actioncable = {
+    dependencies = ["actionpack" "nio4r" "websocket-driver"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0yvrnxvdzx3yvgkxwzffhkr8m4w19h97lyyj030g1q4xjii5a1kr";
+      type = "gem";
+    };
+    version = "5.2.4.4";
+  };
+  actionmailer = {
+    dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nhslq95il78h7qv7w7h7i9fx3znc5hxmqbnws0sl9w7am7zkl8x";
+      type = "gem";
+    };
+    version = "5.2.4.4";
+  };
+  actionpack = {
+    dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
+    groups = ["default" "development" "pam_authentication" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0d8gxymshjhva5fyv33iy2hzp4jm3i44asdbma9pv9wzpl5fwhn0";
+      type = "gem";
+    };
+    version = "5.2.4.4";
+  };
+  actionview = {
+    dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
+    groups = ["default" "development" "pam_authentication" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0k8dgkplqj76i3q1f8897m8svj2xggd1knhy3bcwfl4nh7998kw6";
+      type = "gem";
+    };
+    version = "5.2.4.4";
+  };
+  active_model_serializers = {
+    dependencies = ["actionpack" "activemodel" "case_transform" "jsonapi-renderer"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1p8rhy2bw86d0l3d0l97zj179yqzl338v7r5pvl8mdagcrp2fw9i";
+      type = "gem";
+    };
+    version = "0.10.10";
+  };
+  active_record_query_trace = {
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19888wjdpqvr2kaci6v6jyjw9pjf682zb1iyx2lz12mpdmy3500n";
+      type = "gem";
+    };
+    version = "1.8";
+  };
+  activejob = {
+    dependencies = ["activesupport" "globalid"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0w32z0s111cr95mwpdb3fnlzaf1vdz0ag3l2gah9m95kfa2pb2kv";
+      type = "gem";
+    };
+    version = "5.2.4.4";
+  };
+  activemodel = {
+    dependencies = ["activesupport"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1g79l7v0ddpxcj5r2s9kii6h4r4nbpy5bksbqi5lxvivrb3pkz1m";
+      type = "gem";
+    };
+    version = "5.2.4.4";
+  };
+  activerecord = {
+    dependencies = ["activemodel" "activesupport" "arel"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "05b9l85a31cq6g7v4b4ifrj798q49rlidcvvfasmb3bk412wlp03";
+      type = "gem";
+    };
+    version = "5.2.4.4";
+  };
+  activestorage = {
+    dependencies = ["actionpack" "activerecord" "marcel"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1yzig9p9qb2wx91y0d0vs7bz23hli6djwwf4cawxh6b93bycbcci";
+      type = "gem";
+    };
+    version = "5.2.4.4";
+  };
+  activesupport = {
+    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
+    groups = ["default" "development" "pam_authentication" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0dpnk20s754fz6jfz9sp3ri49hn46ksw4hf6ycnlw7s3hsdxqgcd";
+      type = "gem";
+    };
+    version = "5.2.4.4";
+  };
+  addressable = {
+    dependencies = ["public_suffix"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
+      type = "gem";
+    };
+    version = "2.7.0";
+  };
+  airbrussh = {
+    dependencies = ["sshkit"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "16lmd6173gvhcpzj1blracx6hhlqjmmmmi4rh5y4lz6c87vg51lp";
+      type = "gem";
+    };
+    version = "1.4.0";
+  };
+  android_key_attestation = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "02spc1sh7zsljl02v9d5rdb717b628vw2k7jkkplifyjk4db0zj6";
+      type = "gem";
+    };
+    version = "0.3.0";
+  };
+  annotate = {
+    dependencies = ["activerecord" "rake"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1dxrfppwfg13vqmambbs56xjj8qsdgcy58r2yc44vvy3z1g5yflw";
+      type = "gem";
+    };
+    version = "3.1.1";
+  };
+  arel = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jk7wlmkr61f6g36w9s2sn46nmdg6wn2jfssrhbhirv5x9n95nk0";
+      type = "gem";
+    };
+    version = "9.0.0";
+  };
+  ast = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1l3468czzjmxl93ap40hp7z94yxp4nbag0bxqs789bm30md90m2a";
+      type = "gem";
+    };
+    version = "2.4.1";
+  };
+  attr_encrypted = {
+    dependencies = ["encryptor"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ncv2az1zlj33bsllr6q1qdvbw42gv91lxq0ryclbv8l8xh841jg";
+      type = "gem";
+    };
+    version = "3.1.0";
+  };
+  av = {
+    dependencies = ["cocaine"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1swakpybf6g0nzfdn6q4s9c97ysc3i4ffk84dw8v2321fpvc8gqq";
+      type = "gem";
+    };
+    version = "0.9.0";
+  };
+  awrence = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15zwdli370jfsj6jypv7vrqf4vv4ac4784faw7ar5v88fk4q9rcv";
+      type = "gem";
+    };
+    version = "1.1.1";
+  };
+  aws-eventstream = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0r0pn66yqrdkrfdin7qdim0yj2x75miyg4wp6mijckhzhrjb7cv5";
+      type = "gem";
+    };
+    version = "1.1.0";
+  };
+  aws-partitions = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pqgnc4pcwdvvxlclmyjwcaf0vmlciy0l9y1yab5f1f0fjn969fs";
+      type = "gem";
+    };
+    version = "1.397.0";
+  };
+  aws-sdk-core = {
+    dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0m8w8qqrmx91ngw9b8dr1zx2h2g071kjd1973w9fk2486gs0n44f";
+      type = "gem";
+    };
+    version = "3.109.3";
+  };
+  aws-sdk-kms = {
+    dependencies = ["aws-sdk-core" "aws-sigv4"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ly1m631qm2ciif7sysbzrgczjvz95ga3g6w6vrzvfdv31jjnl9a";
+      type = "gem";
+    };
+    version = "1.39.0";
+  };
+  aws-sdk-s3 = {
+    dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ak4kz8x7l0qfadx4p09iky1gbf6ka3wa66rnvc7rn3sf1k80zjm";
+      type = "gem";
+    };
+    version = "1.85.0";
+  };
+  aws-sigv4 = {
+    dependencies = ["aws-eventstream"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ll9382c1x2hp750cilh01h1cycgyhdr4cmmgx23k94hyyb8chv5";
+      type = "gem";
+    };
+    version = "1.2.2";
+  };
+  bcrypt = {
+    groups = ["default" "pam_authentication"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "02r1c3isfchs5fxivbq99gc3aq4vfyn8snhcy707dal1p8qz12qb";
+      type = "gem";
+    };
+    version = "3.1.16";
+  };
+  better_errors = {
+    dependencies = ["coderay" "erubi" "rack"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "11220lfzhsyf5fcril3qd689kgg46qlpiiaj00hc9mh4mcbc3vrr";
+      type = "gem";
+    };
+    version = "2.9.1";
+  };
+  bindata = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bmlqjb5h1ry6wm2d903d6yxibpqzzxwqczvlicsqv0vilaca5ic";
+      type = "gem";
+    };
+    version = "2.4.8";
+  };
+  binding_of_caller = {
+    dependencies = ["debug_inspector"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "05syqlks7463zsy1jdfbbdravdhj9hpj5pv2m74blqpv8bq4vv5g";
+      type = "gem";
+    };
+    version = "0.8.0";
+  };
+  blurhash = {
+    dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04halkacf3pd030s3bqfjd59vbj47lchrhp9zvwsn4c6sdrfjdd4";
+      type = "gem";
+    };
+    version = "0.1.4";
+  };
+  bootsnap = {
+    dependencies = ["msgpack"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1qx1f729bgh391agsqb4ngzn22wdn4cc6mkp0cipf0d5hsg9cpaq";
+      type = "gem";
+    };
+    version = "1.5.1";
+  };
+  brakeman = {
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pbr3drisii8j8wdvxhvd7kmpqwcgzayl99kzkjnpl1p27vpvvvv";
+      type = "gem";
+    };
+    version = "4.10.0";
+  };
+  browser = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0q1yzvbqp0mykswipq3w00ljw9fgkhjfrij3hkwi7cx85r14n6gw";
+      type = "gem";
+    };
+    version = "4.2.0";
+  };
+  builder = {
+    groups = ["default" "development" "pam_authentication" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr";
+      type = "gem";
+    };
+    version = "3.2.4";
+  };
+  bullet = {
+    dependencies = ["activesupport" "uniform_notifier"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "18ifwnvn13755qkfigapyj5bflpby3phxzbb7x5336d0kzv5k7d9";
+      type = "gem";
+    };
+    version = "6.1.0";
+  };
+  bundler-audit = {
+    dependencies = ["thor"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04l9rs56rlvihbr2ybkrigjajgd3swa98lxvmdl8iylj1g5m7n0j";
+      type = "gem";
+    };
+    version = "0.7.0.1";
+  };
+  byebug = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nx3yjf4xzdgb8jkmk2344081gqr22pgjqnmjg2q64mj5d6r9194";
+      type = "gem";
+    };
+    version = "11.1.3";
+  };
+  capistrano = {
+    dependencies = ["airbrussh" "i18n" "rake" "sshkit"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13k2k29y8idcacr0r4ycixpb7mvv2v88dilwzdmaw9r08wc8y9bl";
+      type = "gem";
+    };
+    version = "3.14.1";
+  };
+  capistrano-bundler = {
+    dependencies = ["capistrano"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "168kyi0gv2s84jm533m8rg0dii50flr06n6s2ci6kzsib3n9n8dr";
+      type = "gem";
+    };
+    version = "2.0.1";
+  };
+  capistrano-rails = {
+    dependencies = ["capistrano" "capistrano-bundler"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13fnicx9fkilgvlapjmdglcs3yjll0brx3bp4mbi3sixxcm6vy9r";
+      type = "gem";
+    };
+    version = "1.6.1";
+  };
+  capistrano-rbenv = {
+    dependencies = ["capistrano" "sshkit"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1x9m1i5zd0wx122zw3m40zprlmxk9d47bd6w61k81wr4qsvkk3rw";
+      type = "gem";
+    };
+    version = "2.2.0";
+  };
+  capistrano-yarn = {
+    dependencies = ["capistrano"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zdg2s061vl5b8114n909mrjb2hc1qx0i4wqx9nacsrcjgyp07l9";
+      type = "gem";
+    };
+    version = "2.0.2";
+  };
+  capybara = {
+    dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"];
+    groups = ["test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ji9kyb01dpnjbvpyb0c481cpnisd6wx6div6rywi9fihk66627w";
+      type = "gem";
+    };
+    version = "3.33.0";
+  };
+  case_transform = {
+    dependencies = ["activesupport"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0fzyws6spn5arqf6q604dh9mrj84a36k5hsc8z7jgcpfvhc49bg2";
+      type = "gem";
+    };
+    version = "0.2";
+  };
+  cbor = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0511idr8xps9625nh3kxr68sdy6l3xy2kcz7r57g47fxb1v18jj3";
+      type = "gem";
+    };
+    version = "0.5.9.6";
+  };
+  charlock_holmes = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0hybw8jw9ryvz5zrki3gc9r88jqy373m6v46ynxsdzv1ysiyr40p";
+      type = "gem";
+    };
+    version = "0.7.7";
+  };
+  chewy = {
+    dependencies = ["activesupport" "elasticsearch" "elasticsearch-dsl"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0dczmxh09s0s8d2l111zdb49s0c6wa1s09dslh8prqms6r4n544f";
+      type = "gem";
+    };
+    version = "5.1.0";
+  };
+  chunky_png = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0av5km25hxz21zkbnvac1g8hjskwhr1gvb3rhlcnjvhqq8cvz2lj";
+      type = "gem";
+    };
+    version = "1.3.12";
+  };
+  cld3 = {
+    dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04hwr44m7x7vv55lc4vk5zcd6zq98c2asvzl3dh2adg1fhpk29nr";
+      type = "gem";
+    };
+    version = "3.3.0";
+  };
+  climate_control = {
+    groups = ["test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0q11v0iabvr6rif0d025xh078ili5frrihlj0m04zfg7lgvagxji";
+      type = "gem";
+    };
+    version = "0.2.0";
+  };
+  cocaine = {
+    dependencies = ["climate_control"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01kk5xd7lspbkdvn6nyj0y51zhvia3z6r4nalbdcqw5fbsywwi7d";
+      type = "gem";
+    };
+    version = "0.5.8";
+  };
+  coderay = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jvxqxzply1lwp7ysn94zjhh57vc14mcshw1ygw14ib8lhc00lyw";
+      type = "gem";
+    };
+    version = "1.1.3";
+  };
+  color_diff = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01dpvqlzybpb3pkcwd9ik5sbjw283618ywvdphxslhiy8ps3kp4r";
+      type = "gem";
+    };
+    version = "0.1";
+  };
+  concurrent-ruby = {
+    groups = ["default" "development" "pam_authentication" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1vnxrbhi7cq3p4y2v9iwd10v1c7l15is4var14hwnb2jip4fyjzz";
+      type = "gem";
+    };
+    version = "1.1.7";
+  };
+  connection_pool = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1qikl4av1z8kqnk5ba18136dpqzw8wjawc2w9b4zb5psdd5z8nwf";
+      type = "gem";
+    };
+    version = "2.2.3";
+  };
+  cose = {
+    dependencies = ["cbor" "openssl-signature_algorithm"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1h1vcirk1vpr992xmnwf5z77fpizjwn4xzq2vrrjhvdmjynvl3jj";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  crack = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1awi8jy4jn0f7vxpdvz3xvn1zzjbjh33n28lfkijh77dla5zb7lc";
+      type = "gem";
+    };
+    version = "0.4.4";
+  };
+  crass = {
+    groups = ["default" "development" "pam_authentication" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0pfl5c0pyqaparxaqxi6s4gfl21bdldwiawrc0aknyvflli60lfw";
+      type = "gem";
+    };
+    version = "1.0.6";
+  };
+  css_parser = {
+    dependencies = ["addressable"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04c4dl8cm5rjr50k9qa6yl9r05fk9zcb1zxh0y0cdahxlsgcydfw";
+      type = "gem";
+    };
+    version = "1.7.1";
+  };
+  debug_inspector = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0vxr0xa1mfbkfcrn71n7c4f2dj7la5hvphn904vh20j3x4j5lrx0";
+      type = "gem";
+    };
+    version = "0.0.3";
+  };
+  devise = {
+    dependencies = ["bcrypt" "orm_adapter" "railties" "responders" "warden"];
+    groups = ["default" "pam_authentication"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0syqkh0q9mcdgj68m2cf1innpxb8fv6xsayk1kgsdmq539rkv3ic";
+      type = "gem";
+    };
+    version = "4.7.3";
+  };
+  devise-two-factor = {
+    dependencies = ["activesupport" "attr_encrypted" "devise" "railties" "rotp"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0gzk7phrryxlq4k3jrcxm8faifmbqrbfxq7jx089ncsixwd69bn4";
+      type = "gem";
+    };
+    version = "3.1.0";
+  };
+  devise_pam_authenticatable2 = {
+    dependencies = ["devise" "rpam2"];
+    groups = ["pam_authentication"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13ipl52pkhc6vxp8ca31viwv01237bi2bfk3b1fixq1x46nf87p2";
+      type = "gem";
+    };
+    version = "9.2.0";
+  };
+  diff-lcs = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0m925b8xc6kbpnif9dldna24q1szg4mk0fvszrki837pfn46afmz";
+      type = "gem";
+    };
+    version = "1.4.4";
+  };
+  discard = {
+    dependencies = ["activerecord"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zq7wjmknz8fd1pw169xpwf6js4280gnphy6mw8m3xiz1715bcig";
+      type = "gem";
+    };
+    version = "1.2.0";
+  };
+  docile = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0qrwiyagxzl8zlx3dafb0ay8l14ib7imb2rsmx70i5cp420v8gif";
+      type = "gem";
+    };
+    version = "1.3.2";
+  };
+  domain_name = {
+    dependencies = ["unf"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0lcqjsmixjp52bnlgzh4lg9ppsk52x9hpwdjd53k8jnbah2602h0";
+      type = "gem";
+    };
+    version = "0.5.20190701";
+  };
+  doorkeeper = {
+    dependencies = ["railties"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "105yr9gy60z0pyh85pbc6gazanm6jmb5c6agd7p1mzrc21hmrzrk";
+      type = "gem";
+    };
+    version = "5.4.0";
+  };
+  dotenv = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0iym172c5337sm1x2ykc2i3f961vj3wdclbyg1x6sxs3irgfsl94";
+      type = "gem";
+    };
+    version = "2.7.6";
+  };
+  dotenv-rails = {
+    dependencies = ["dotenv" "railties"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1my2jdmgmpf32rfxffkb9cyxh7ayis4q5ygpwjqj4vpp25y3a70c";
+      type = "gem";
+    };
+    version = "2.7.6";
+  };
+  e2mmap = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0n8gxjb63dck3vrmsdcqqll7xs7f3wk78mw8w0gdk9wp5nx6pvj5";
+      type = "gem";
+    };
+    version = "0.1.0";
+  };
+  ed25519 = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1f5kr8za7hvla38fc0n9jiv55iq62k5bzclsa5kdb14l3r4w6qnw";
+      type = "gem";
+    };
+    version = "1.2.4";
+  };
+  elasticsearch = {
+    dependencies = ["elasticsearch-api" "elasticsearch-transport"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1qkabj3hd0f9yf6l42xls78vzsbihziqw3zqrmjj91l0w1d1abkk";
+      type = "gem";
+    };
+    version = "7.9.0";
+  };
+  elasticsearch-api = {
+    dependencies = ["multi_json"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nsk9p816x3rck1xklmzbbhfp18w0i32qb0qaxvrx8jlgwvd3y7z";
+      type = "gem";
+    };
+    version = "7.9.0";
+  };
+  elasticsearch-dsl = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0d2qr5hvqcr5r78djzrw5fjkaggvw080sdixnnq8cf8yriwhsvnf";
+      type = "gem";
+    };
+    version = "0.1.9";
+  };
+  elasticsearch-transport = {
+    dependencies = ["faraday" "multi_json"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ic87n4772an00nq6z2znd8wmyhpgdcmjbvrzfqj51xi4q627x0a";
+      type = "gem";
+    };
+    version = "7.9.0";
+  };
+  encryptor = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0s8rvfl0vn8w7k1sgkc234060jh468s3zd45xa64p1jdmfa3zwmb";
+      type = "gem";
+    };
+    version = "3.0.0";
+  };
+  erubi = {
+    groups = ["default" "development" "pam_authentication" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nwzxnqhr31fn7nbqmffcysvxjdfl3bhxi0bld5qqhcnfc1xd13x";
+      type = "gem";
+    };
+    version = "1.9.0";
+  };
+  et-orbi = {
+    dependencies = ["tzinfo"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xr8i8ql4xzx17d12590i3j299hj6vc0ja2j29dy12i5nlchxrvp";
+      type = "gem";
+    };
+    version = "1.2.4";
+  };
+  excon = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "05is0kb650j8wrdi4rgkdls662chnhdg2p64pgq3zkd3d7l2a9zw";
+      type = "gem";
+    };
+    version = "0.76.0";
+  };
+  fabrication = {
+    groups = ["development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pdrl55xf76pbc5kjzp7diawxxvgbk2cm38532in6df823431n6z";
+      type = "gem";
+    };
+    version = "2.21.1";
+  };
+  faker = {
+    dependencies = ["i18n"];
+    groups = ["test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06sh8492k03p9lsfzv5zifzn51ilb4734vrvwl30vzmzg1apzml6";
+      type = "gem";
+    };
+    version = "2.14.0";
+  };
+  faraday = {
+    dependencies = ["multipart-post"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0wwks9652xwgjm7yszcq5xr960pjypc07ivwzbjzpvy9zh2fw6iq";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
+  fast_blank = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "16s1ilyvwzmkcgmklbrn0c2pch5n02vf921njx0bld4crgdr6z56";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  fastimage = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "11ny2pj0j6pljszrf1w3iqdv2pcl2iwwghjbgcjlizy424zbh0hb";
+      type = "gem";
+    };
+    version = "2.2.0";
+  };
+  ffi = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p";
+      type = "gem";
+    };
+    version = "1.10.0";
+  };
+  ffi-compiler = {
+    dependencies = ["ffi" "rake"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0c2caqm9wqnbidcb8dj4wd3s902z15qmgxplwyfyqbwa0ydki7q1";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
+  fog-core = {
+    dependencies = ["builder" "excon" "formatador" "mime-types"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1agd6xgzk0rxrsjdpn94v4hy89s0nm2cs4zg2p880w2dan9xgrak";
+      type = "gem";
+    };
+    version = "2.1.0";
+  };
+  fog-json = {
+    dependencies = ["fog-core" "multi_json"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zj8llzc119zafbmfa4ai3z5s7c4vp9akfs0f9l2piyvcarmlkyx";
+      type = "gem";
+    };
+    version = "1.2.0";
+  };
+  fog-openstack = {
+    dependencies = ["fog-core" "fog-json" "ipaddress"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "11j18h61d3p0pcp9k5346lbj1lahab1dqybkrx9338932lmjn7ap";
+      type = "gem";
+    };
+    version = "0.3.10";
+  };
+  formatador = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1gc26phrwlmlqrmz4bagq1wd5b7g64avpx0ghxr9xdxcvmlii0l0";
+      type = "gem";
+    };
+    version = "0.2.5";
+  };
+  fugit = {
+    dependencies = ["et-orbi" "raabro"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0vmzjmwq5968ni9wzdp957iizddj85v69qi0hz5rk8148lz1bccm";
+      type = "gem";
+    };
+    version = "1.3.9";
+  };
+  fuubar = {
+    dependencies = ["rspec-core" "ruby-progressbar"];
+    groups = ["development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "090sx0ck194am6v3hwfld2ijvldd0mjwplqz8r36p34l4p8z9d79";
+      type = "gem";
+    };
+    version = "2.5.0";
+  };
+  globalid = {
+    dependencies = ["activesupport"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zkxndvck72bfw235bd9nl2ii0lvs5z88q14706cmn702ww2mxv1";
+      type = "gem";
+    };
+    version = "0.4.2";
+  };
+  hamlit = {
+    dependencies = ["temple" "thor" "tilt"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06imnwpzvpagwn0b9a8kwv7hncii32flmafz20z95hd77hhr6ab7";
+      type = "gem";
+    };
+    version = "2.13.0";
+  };
+  hamlit-rails = {
+    dependencies = ["actionpack" "activesupport" "hamlit" "railties"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0v75yd6x0nwky83smd9hw5ym9h0pi32jrzbnvq55pzj0rc95gg2p";
+      type = "gem";
+    };
+    version = "0.2.3";
+  };
+  hamster = {
+    dependencies = ["concurrent-ruby"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1n1lsh96vnyc1pnzyd30f9prcsclmvmkdb3nm5aahnyizyiy6lar";
+      type = "gem";
+    };
+    version = "3.0.0";
+  };
+  hashdiff = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nynpl0xbj0nphqx1qlmyggq58ms1phf5i03hk64wcc0a17x1m1c";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
+  hashie = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "02bsx12ihl78x0vdm37byp78jjw2ff6035y7rrmbd90qxjwxr43q";
+      type = "gem";
+    };
+    version = "4.1.0";
+  };
+  health_check = {
+    dependencies = ["rails"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      fetchSubmodules = false;
+      rev = "0b799ead604f900ed50685e9b2d469cd2befba5b";
+      sha256 = "0yz4axwkynsnng8xswrg2ysxlkjwfw0v4padvqwm4xal7nri172d";
+      type = "git";
+      url = "https://github.com/ianheggie/health_check";
+    };
+    version = "4.0.0.pre";
+  };
+  highline = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0yclf57n2j3cw8144ania99h1zinf8q3f5zrhqa754j6gl95rp9d";
+      type = "gem";
+    };
+    version = "2.0.3";
+  };
+  hiredis = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04jj8k7lxqxw24sp0jiravigdkgsyrpprxpxm71ba93x1wr2w1bz";
+      type = "gem";
+    };
+    version = "0.6.3";
+  };
+  hkdf = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04fixg0a51n4vy0j6c1hvisa2yl33m3jrrpxpb5sq6j511vjriil";
+      type = "gem";
+    };
+    version = "0.3.0";
+  };
+  htmlentities = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj";
+      type = "gem";
+    };
+    version = "4.3.4";
+  };
+  http = {
+    dependencies = ["addressable" "http-cookie" "http-form_data" "http-parser"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0z8vmvnkrllkpzsxi94284di9r63g9v561a16an35izwak8g245y";
+      type = "gem";
+    };
+    version = "4.4.1";
+  };
+  http-cookie = {
+    dependencies = ["domain_name"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
+  http-form_data = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1wx591jdhy84901pklh1n9sgh74gnvq1qyqxwchni1yrc49ynknc";
+      type = "gem";
+    };
+    version = "2.3.0";
+  };
+  http-parser = {
+    dependencies = ["ffi-compiler"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10wz818i7dq5zkcll0yf7pbjz1zqvs7mgh3xg3x6www2f2ccwxqj";
+      type = "gem";
+    };
+    version = "1.2.1";
+  };
+  http_accept_language = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0d0nlfz9vm4jr1l6q0chx4rp2hrnrfbx3gadc1dz930lbbaz0hq0";
+      type = "gem";
+    };
+    version = "2.1.1";
+  };
+  httplog = {
+    dependencies = ["rack" "rainbow"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1mq67if5lq388raxa5rh43z6g5zlqh9yixcja4s81p9dzrsj4i3x";
+      type = "gem";
+    };
+    version = "1.4.3";
+  };
+  i18n = {
+    dependencies = ["concurrent-ruby"];
+    groups = ["default" "development" "pam_authentication" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "153sx77p16vawrs4qpkv7qlzf9v5fks4g7xqcj1dwk40i6g7rfzk";
+      type = "gem";
+    };
+    version = "1.8.5";
+  };
+  i18n-tasks = {
+    dependencies = ["activesupport" "ast" "erubi" "highline" "i18n" "parser" "rails-i18n" "rainbow" "terminal-table"];
+    groups = ["development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04am9452ihm8fcq2si44bba0msz0014wfg50ksxs5dpb2l065abg";
+      type = "gem";
+    };
+    version = "0.9.31";
+  };
+  idn-ruby = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "07vblcyk3g72sbq12xz7xj28snpxnh3sbcnxy8bglqbfqqhvmawr";
+      type = "gem";
+    };
+    version = "0.1.0";
+  };
+  ipaddress = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1x86s0s11w202j6ka40jbmywkrx8fhq8xiy8mwvnkhllj57hqr45";
+      type = "gem";
+    };
+    version = "0.8.3";
+  };
+  iso-639 = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1k1r8wgk6syvpsl3j5qfh5az5w4zdvk0pvpjl7qspznfdbp2mn71";
+      type = "gem";
+    };
+    version = "0.3.5";
+  };
+  jmespath = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1d4wac0dcd1jf6kc57891glih9w57552zgqswgy74d1xhgnk0ngf";
+      type = "gem";
+    };
+    version = "1.4.0";
+  };
+  json = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "158fawfwmv2sq4whqqaksfykkiad2xxrrj0nmpnc6vnlzi1bp7iz";
+      type = "gem";
+    };
+    version = "2.3.1";
+  };
+  json-canonicalization = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "014lc8am17m2amfkzdfc9ksaafnwpb7zzr8l7382r60zkkgpkljg";
+      type = "gem";
+    };
+    version = "0.2.0";
+  };
+  json-ld = {
+    dependencies = ["htmlentities" "json-canonicalization" "link_header" "multi_json" "rack" "rdf"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1q9sg8a719sai53gjpznf9r78l035xry0pk1yrag34pb50k2l05l";
+      type = "gem";
+    };
+    version = "3.1.5";
+  };
+  json-ld-preloaded = {
+    dependencies = ["json-ld" "rdf"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0f8vham63wy689d4jp2j9rani0n10h40dpymgishf3na8cjj0lix";
+      type = "gem";
+    };
+    version = "3.1.3";
+  };
+  jsonapi-renderer = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ys4drd0k9rw5ixf8n8fx8v0pjh792w4myh0cpdspd317l1lpi5m";
+      type = "gem";
+    };
+    version = "0.2.2";
+  };
+  jwt = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "14ynyq1q483spj20ffl4xayfqx1a8qr761mqjfxczf8lwlap392n";
+      type = "gem";
+    };
+    version = "2.2.2";
+  };
+  kaminari = {
+    dependencies = ["activesupport" "kaminari-actionview" "kaminari-activerecord" "kaminari-core"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1vxkqciny5v4jgmjxl8qrgbmig2cij2iskqbwh4bfcmpxf467ch3";
+      type = "gem";
+    };
+    version = "1.2.1";
+  };
+  kaminari-actionview = {
+    dependencies = ["actionview" "kaminari-core"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0w0p1hyv6lgf6h036cmn2kbkdv4x7g0g9q9kc5gzkpz7amlxr8ri";
+      type = "gem";
+    };
+    version = "1.2.1";
+  };
+  kaminari-activerecord = {
+    dependencies = ["activerecord" "kaminari-core"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "02n5xxv6ilh39q2m6vcz7qrdai7ghk3s178dw6f0b3lavwyq49w3";
+      type = "gem";
+    };
+    version = "1.2.1";
+  };
+  kaminari-core = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0h04cr4y1jfn81gxy439vmczifghc2cvsyw47aa32is5bbxg1wlz";
+      type = "gem";
+    };
+    version = "1.2.1";
+  };
+  launchy = {
+    dependencies = ["addressable"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1xdyvr5j0gjj7b10kgvh8ylxnwk3wx19my42wqn9h82r4p246hlm";
+      type = "gem";
+    };
+    version = "2.5.0";
+  };
+  letter_opener = {
+    dependencies = ["launchy"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "09a7kgsmr10a0hrc9bwxglgqvppjxij9w8bxx91mnvh0ivaw0nq9";
+      type = "gem";
+    };
+    version = "1.7.0";
+  };
+  letter_opener_web = {
+    dependencies = ["actionmailer" "letter_opener" "railties"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0pianlrbf9n7jrqxpyxgsfk1j1d312d57d6gq7yxni6ax2q0293q";
+      type = "gem";
+    };
+    version = "1.4.0";
+  };
+  link_header = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1yamrdq4rywmnpdhbygnkkl9fdy249fg5r851nrkkxr97gj5rihm";
+      type = "gem";
+    };
+    version = "0.0.8";
+  };
+  lograge = {
+    dependencies = ["actionpack" "activesupport" "railties" "request_store"];
+    groups = ["production"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1vrjm4yqn5l6q5gsl72fmk95fl6j9z1a05gzbrwmsm3gp1a1bgac";
+      type = "gem";
+    };
+    version = "0.11.2";
+  };
+  loofah = {
+    dependencies = ["crass" "nokogiri"];
+    groups = ["default" "development" "pam_authentication" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1alz1x6rkhbw10qpszr384299rf52rcyasn0619a9p50vzs8vczq";
+      type = "gem";
+    };
+    version = "2.7.0";
+  };
+  mail = {
+    dependencies = ["mini_mime"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc";
+      type = "gem";
+    };
+    version = "2.7.1";
+  };
+  makara = {
+    dependencies = ["activerecord"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01n90s1jcc05dc9a70k3c3aa4gc9j49k9iv56n2k4jm949dacms6";
+      type = "gem";
+    };
+    version = "0.4.1";
+  };
+  marcel = {
+    dependencies = ["mimemagic"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nxbjmcyg8vlw6zwagf17l9y2mwkagmmkg95xybpn4bmf3rfnksx";
+      type = "gem";
+    };
+    version = "0.3.3";
+  };
+  mario-redis-lock = {
+    dependencies = ["redis"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1v9wdjcjqzpns2migxp4a5b4w82mipi0fwihbqz3q2qj2qm7wc17";
+      type = "gem";
+    };
+    version = "1.2.1";
+  };
+  memory_profiler = {
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04ivhv1bilwqm33jv28gar2vwzsichb5nipaq395d3axabv8qmfy";
+      type = "gem";
+    };
+    version = "0.9.14";
+  };
+  method_source = {
+    groups = ["default" "development" "pam_authentication" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pnyh44qycnf9mzi1j6fywd5fkskv3x7nmsqrrws0rjn5dd4ayfp";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  microformats = {
+    dependencies = ["json" "nokogiri"];
+    groups = ["test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1wdyxr22qzw9ri5gzng3a4wqj6a25vq4dhbhd9synk2hjg5pfgvq";
+      type = "gem";
+    };
+    version = "4.2.1";
+  };
+  mime-types = {
+    dependencies = ["mime-types-data"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zj12l9qk62anvk9bjvandpa6vy4xslil15wl6wlivyf51z773vh";
+      type = "gem";
+    };
+    version = "3.3.1";
+  };
+  mime-types-data = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1z75svngyhsglx0y2f9rnil2j08f9ab54b3l95bpgz67zq2if753";
+      type = "gem";
+    };
+    version = "3.2020.0512";
+  };
+  mimemagic = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1qfqb9w76kmpb48frbzbyvjc0dfxh5qiw1kxdbv2y2kp6fxpa1kf";
+      type = "gem";
+    };
+    version = "0.3.5";
+  };
+  mini_mime = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1axm0rxyx3ss93wbmfkm78a6x03l8y4qy60rhkkiq0aza0vwq3ha";
+      type = "gem";
+    };
+    version = "1.0.2";
+  };
+  mini_portile2 = {
+    groups = ["default" "development" "pam_authentication" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy";
+      type = "gem";
+    };
+    version = "2.4.0";
+  };
+  minitest = {
+    groups = ["default" "development" "pam_authentication" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "170y2cvx51gm3cm3nhdf7j36sxnkh6vv8ls36p90ric7w8w16h4v";
+      type = "gem";
+    };
+    version = "5.14.2";
+  };
+  msgpack = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1lva6bkvb4mfa0m3bqn4lm4s4gi81c40jvdcsrxr6vng49q9daih";
+      type = "gem";
+    };
+    version = "1.3.3";
+  };
+  multi_json = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z";
+      type = "gem";
+    };
+    version = "1.15.0";
+  };
+  multipart-post = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zgw9zlwh2a6i1yvhhc4a84ry1hv824d6g2iw2chs3k5aylpmpfj";
+      type = "gem";
+    };
+    version = "2.1.1";
+  };
+  net-ldap = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13lh6qizxi8fza8py73b2dvjp9p010dvbaq7diagir9nh8plsinv";
+      type = "gem";
+    };
+    version = "0.16.3";
+  };
+  net-scp = {
+    dependencies = ["net-ssh"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0b4h3ip8d1gkrc0znnw54hbxillk73mdnaf5pz330lmrcl1wiilg";
+      type = "gem";
+    };
+    version = "3.0.0";
+  };
+  net-ssh = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jp3jgcn8cij407xx9ldb5h9c6jv13jc4cf6kk2idclz43ww21c9";
+      type = "gem";
+    };
+    version = "6.1.0";
+  };
+  nilsimsa = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      fetchSubmodules = false;
+      rev = "fd184883048b922b176939f851338d0a4971a532";
+      sha256 = "0fds01pr220kg6g3g0rphrkg1fc6py1pnf546pnsb76wd9c0c5il";
+      type = "git";
+      url = "https://github.com/witgo/nilsimsa";
+    };
+    version = "1.1.2";
+  };
+  nio4r = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1cbwp1kbv6b2qfxv8sarv0d0ilb257jihlvdqj8f5pdm0ksq1sgk";
+      type = "gem";
+    };
+    version = "2.5.4";
+  };
+  nokogiri = {
+    dependencies = ["mini_portile2"];
+    groups = ["default" "development" "pam_authentication" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xmf60nj5kg9vaj5bysy308687sgmkasgx06vbbnf94p52ih7si2";
+      type = "gem";
+    };
+    version = "1.10.10";
+  };
+  nokogumbo = {
+    dependencies = ["nokogiri"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sxjnpjvrn10gdmfw2dimhch861lz00f28hvkkz0b1gc2rb65k9s";
+      type = "gem";
+    };
+    version = "2.0.2";
+  };
+  nsa = {
+    dependencies = ["activesupport" "concurrent-ruby" "sidekiq" "statsd-ruby"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1i1bhmvs49yv70pgl41lx1lr8x6whg52szb8ic1jb6wmmxr2ylcz";
+      type = "gem";
+    };
+    version = "0.2.7";
+  };
+  oj = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1xqmzqldi9a0wpilwx87yh61xd7647gg8ffammg4ava0bsx375g2";
+      type = "gem";
+    };
+    version = "3.10.16";
+  };
+  omniauth = {
+    dependencies = ["hashie" "rack"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "002vi9gwamkmhf0dsj2im1d47xw2n1jfhnzl18shxf3ampkqfmyz";
+      type = "gem";
+    };
+    version = "1.9.1";
+  };
+  omniauth-cas = {
+    dependencies = ["addressable" "nokogiri" "omniauth"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0kzlh1nac4yz70917cdcsk0r23gy5h7i0x5kbmkvkpbgk6gvrb0z";
+      type = "gem";
+    };
+    version = "2.0.0";
+  };
+  omniauth-rails_csrf_protection = {
+    dependencies = ["actionpack" "omniauth"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xgkxwg17w39q3yjqcj0fm6hdkw37qm1l82dvm9zxn6q2pbzm2zv";
+      type = "gem";
+    };
+    version = "0.1.2";
+  };
+  omniauth-saml = {
+    dependencies = ["omniauth" "ruby-saml"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0gxl14lbksnjkl8dfn23lsjkk63md77icm5racrh6fsp5n4ni9d4";
+      type = "gem";
+    };
+    version = "1.10.3";
+  };
+  openssl = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "03wbynzkhay7l1x76srjkg91q48mxl575vrxb3blfxlpqwsvvp0w";
+      type = "gem";
+    };
+    version = "2.2.0";
+  };
+  openssl-signature_algorithm = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "14d95jr5z6dgvpwf52p7ckjf3w3cihin2k6g9599711pfxdj4fp5";
+      type = "gem";
+    };
+    version = "0.4.0";
+  };
+  orm_adapter = {
+    groups = ["default" "pam_authentication"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fg9jpjlzf5y49qs9mlpdrgs5rpcyihq1s4k79nv9js0spjhnpda";
+      type = "gem";
+    };
+    version = "0.5.0";
+  };
+  ox = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nd301vsf3k4pl0aa6gkng12yxfdf5s490v65ky2vz8lainaw16q";
+      type = "gem";
+    };
+    version = "2.13.4";
+  };
+  paperclip = {
+    dependencies = ["activemodel" "activesupport" "mime-types" "mimemagic" "terrapin"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04mlw7aqj20ry0fy92gxnxg99hy5xczff7rhywfzz4mqlhc2wgg7";
+      type = "gem";
+    };
+    version = "6.0.0";
+  };
+  paperclip-av-transcoder = {
+    dependencies = ["av" "paperclip"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1gcnp3fpdb5lqilcij4yqga6397nb7zyyf9lzxnqpbp7cvc18lhf";
+      type = "gem";
+    };
+    version = "0.6.4";
+  };
+  parallel = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0055br0mibnqz0j8wvy20zry548dhkakws681bhj3ycb972awkzd";
+      type = "gem";
+    };
+    version = "1.20.1";
+  };
+  parallel_tests = {
+    dependencies = ["parallel"];
+    groups = ["test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1mvdk8vgzqjv2pvadxwc8w2vf8dmiw145rjf47c36nn6l5hh02j6";
+      type = "gem";
+    };
+    version = "3.4.0";
+  };
+  parser = {
+    dependencies = ["ast"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1f7gmm60yla325wlnd3qkxs59qm2y0aan8ljpg6k18rwzrrfil6z";
+      type = "gem";
+    };
+    version = "2.7.2.0";
+  };
+  parslet = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01pnw6ymz6nynklqvqxs4bcai25kcvnd5x4id9z3vd1rbmlk0lfl";
+      type = "gem";
+    };
+    version = "2.0.0";
+  };
+  pastel = {
+    dependencies = ["tty-color"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xash2gj08dfjvq4hy6l1z22s5v30fhizwgs10d6nviggpxsj7a8";
+      type = "gem";
+    };
+    version = "0.8.0";
+  };
+  pg = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13mfrysrdrh8cka1d96zm0lnfs59i5x2g6ps49r2kz5p3q81xrzj";
+      type = "gem";
+    };
+    version = "1.2.3";
+  };
+  pghero = {
+    dependencies = ["activerecord"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0lb858gpz8919in51pgxbk9v5m4qppd136gpag2plzs24rv5hg3s";
+      type = "gem";
+    };
+    version = "2.7.2";
+  };
+  pkg-config = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "068sf963n2zk47kqcckj624g5pxmk68mm76h02piphfyh9x4zmi3";
+      type = "gem";
+    };
+    version = "1.4.4";
+  };
+  pluck_each = {
+    dependencies = ["activerecord" "activesupport"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1b7g0ggjsbca81qwvpayj1c5qy65p5zq19lb7fiy1v0yb48pzvhp";
+      type = "gem";
+    };
+    version = "0.1.3";
+  };
+  posix-spawn = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0cmb0svalqcxfzlzc5fvrci12b79x7bakasr8gkl3q5rz6di1q52";
+      type = "gem";
+    };
+    version = "0.3.15";
+  };
+  premailer = {
+    dependencies = ["addressable" "css_parser" "htmlentities"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1f0zz3vwv1kyr43chvrpvhb8wm9qgcaz8ckc1lj2jxfp6xsss971";
+      type = "gem";
+    };
+    version = "1.14.2";
+  };
+  premailer-rails = {
+    dependencies = ["actionmailer" "premailer"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0q23clzqgzxcg1jld7hn5jy2yqxvana3iw66vmjgzz7y4ylf97b6";
+      type = "gem";
+    };
+    version = "1.11.1";
+  };
+  private_address_check = {
+    groups = ["production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "05phz0vscfh9chv90yc9091pifw3cpwkh76flnhrmvja1q3na4cy";
+      type = "gem";
+    };
+    version = "0.5.0";
+  };
+  pry = {
+    dependencies = ["coderay" "method_source"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0iyw4q4an2wmk8v5rn2ghfy2jaz9vmw2nk8415nnpx2s866934qk";
+      type = "gem";
+    };
+    version = "0.13.1";
+  };
+  pry-byebug = {
+    dependencies = ["byebug" "pry"];
+    groups = ["development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "096y5vmzpyy4x9h4ky4cs4y7d19vdq9vbwwrqafbh5gagzwhifiv";
+      type = "gem";
+    };
+    version = "3.9.0";
+  };
+  pry-rails = {
+    dependencies = ["pry"];
+    groups = ["development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1cf4ii53w2hdh7fn8vhqpzkymmchjbwij4l3m7s6fsxvb9bn51j6";
+      type = "gem";
+    };
+    version = "0.3.9";
+  };
+  public_suffix = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9";
+      type = "gem";
+    };
+    version = "4.0.6";
+  };
+  puma = {
+    dependencies = ["nio4r"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0mkmfbf4qyiknwi9bb5432cpbbz06r855gknxb8grn24gmgs4d9i";
+      type = "gem";
+    };
+    version = "5.0.4";
+  };
+  pundit = {
+    dependencies = ["activesupport"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "18kwm5rkazb89yf792y3fxqihcxw2vdy7k1w542s4hg82ibfpyx3";
+      type = "gem";
+    };
+    version = "2.1.0";
+  };
+  raabro = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1idqvx5cpmyj1a5nwb1b19szx4lilyr6qpp6drkn744mzq2hppgr";
+      type = "gem";
+    };
+    version = "1.3.3";
+  };
+  rack = {
+    groups = ["default" "development" "pam_authentication" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0i5vs0dph9i5jn8dfc6aqd6njcafmb20rwqngrf759c9cvmyff16";
+      type = "gem";
+    };
+    version = "2.2.3";
+  };
+  rack-attack = {
+    dependencies = ["rack"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0zzyiiif9w67v43rv0hg7nxbwp1ish1f02x61kx0rmz8sy1j7wnn";
+      type = "gem";
+    };
+    version = "6.3.1";
+  };
+  rack-cors = {
+    dependencies = ["rack"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jvs0mq8jrsz86jva91mgql16daprpa3qaipzzfvngnnqr5680j7";
+      type = "gem";
+    };
+    version = "1.1.1";
+  };
+  rack-proxy = {
+    dependencies = ["rack"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1v40xd3xhzhbdqfynd03gn88j1pga2zhrv58xs9fl4hzrlbp096s";
+      type = "gem";
+    };
+    version = "0.6.5";
+  };
+  rack-test = {
+    dependencies = ["rack"];
+    groups = ["default" "development" "pam_authentication" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m";
+      type = "gem";
+    };
+    version = "1.1.0";
+  };
+  rails = {
+    dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0b5g3h5sbbncks44w8vjnx0zp145ygphrsspy4ay7xsls92xynq0";
+      type = "gem";
+    };
+    version = "5.2.4.4";
+  };
+  rails-controller-testing = {
+    dependencies = ["actionpack" "actionview" "activesupport"];
+    groups = ["test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "151f303jcvs8s149mhx2g5mn67487x0blrf9dzl76q1nb7dlh53l";
+      type = "gem";
+    };
+    version = "1.0.5";
+  };
+  rails-dom-testing = {
+    dependencies = ["activesupport" "nokogiri"];
+    groups = ["default" "development" "pam_authentication" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i";
+      type = "gem";
+    };
+    version = "2.0.3";
+  };
+  rails-html-sanitizer = {
+    dependencies = ["loofah"];
+    groups = ["default" "development" "pam_authentication" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1icpqmxbppl4ynzmn6dx7wdil5hhq6fz707m9ya6d86c7ys8sd4f";
+      type = "gem";
+    };
+    version = "1.3.0";
+  };
+  rails-i18n = {
+    dependencies = ["i18n" "railties"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "02kdlm7jgwvwnnc1amy8md2vl0f2jkfr6rr36vybclr9qm4fb80f";
+      type = "gem";
+    };
+    version = "5.1.3";
+  };
+  rails-settings-cached = {
+    dependencies = ["rails"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0wyhyls0aqb1iw7mnaldg39w3mnbi3anmpbvb52rjwkpj2mchhnc";
+      type = "gem";
+    };
+    version = "0.6.6";
+  };
+  railties = {
+    dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
+    groups = ["default" "development" "pam_authentication" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "089kiwmv8fxyfk0zp57q74nyd5i6d5x5ihlrzbzwl041v94s2zx9";
+      type = "gem";
+    };
+    version = "5.2.4.4";
+  };
+  rainbow = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk";
+      type = "gem";
+    };
+    version = "3.0.0";
+  };
+  rake = {
+    groups = ["default" "development" "pam_authentication" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0w6qza25bq1s825faaglkx1k6d59aiyjjk3yw3ip5sb463mhhai9";
+      type = "gem";
+    };
+    version = "13.0.1";
+  };
+  rdf = {
+    dependencies = ["hamster" "link_header"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "109c355wj2a74v2yrwgqpzhgnxchkm5dakcacqx9fk2i98f7m7d8";
+      type = "gem";
+    };
+    version = "3.1.7";
+  };
+  rdf-normalize = {
+    dependencies = ["rdf"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1kfhh5n57im80i1ak00qz9f5hx8k10ldn0r5l1gw1qaa1lydmydg";
+      type = "gem";
+    };
+    version = "0.4.0";
+  };
+  redis = {
+    groups = ["default" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15x2sr6h094rjbvg8pkq6m3lcd5abpyx93aifvfdz3wv6x55xa48";
+      type = "gem";
+    };
+    version = "4.2.5";
+  };
+  redis-actionpack = {
+    dependencies = ["actionpack" "redis-rack" "redis-store"];
+    groups = ["default" "production"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0c2276zzc0044zh37a8frx1v7hnra7z7k126154ps7njbqngfdv3";
+      type = "gem";
+    };
+    version = "5.2.0";
+  };
+  redis-activesupport = {
+    dependencies = ["activesupport" "redis-store"];
+    groups = ["default" "production"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "14a3z8810j02ysvg53f3mvcfb4rw34m91yfd19zy9y5lb3yv2g59";
+      type = "gem";
+    };
+    version = "5.2.0";
+  };
+  redis-namespace = {
+    dependencies = ["redis"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "05i6s898z5w31z385cba1683pgg5nnmj4m686cbravg7j4pgbcgv";
+      type = "gem";
+    };
+    version = "1.8.0";
+  };
+  redis-rack = {
+    dependencies = ["rack" "redis-store"];
+    groups = ["default" "production"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nblbxg1f051dn83jp92lz3lc1wxm18nviglrabv2l0vz6rd0pkb";
+      type = "gem";
+    };
+    version = "2.1.3";
+  };
+  redis-rails = {
+    dependencies = ["redis-actionpack" "redis-activesupport" "redis-store"];
+    groups = ["production"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0hjvkyaw5hgz7v6fgwdk8pb966z44h1gv8jarmb0gwhkqmjnsh40";
+      type = "gem";
+    };
+    version = "5.0.2";
+  };
+  redis-store = {
+    dependencies = ["redis"];
+    groups = ["default" "production"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0cpzbf2svnk4j5awb24ncl0mih45zkbdrd7q23jdg1r8k3q7mdg6";
+      type = "gem";
+    };
+    version = "1.9.0";
+  };
+  regexp_parser = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0x4s82lgf0l71y3xc9gp4qxkrgx1kv8f6avdqd68l46ijbyvicdm";
+      type = "gem";
+    };
+    version = "1.8.2";
+  };
+  request_store = {
+    dependencies = ["rack"];
+    groups = ["default" "production"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0cx74kispmnw3ljwb239j65a2j14n8jlsygy372hrsa8mxc71hxi";
+      type = "gem";
+    };
+    version = "1.5.0";
+  };
+  responders = {
+    dependencies = ["actionpack" "railties"];
+    groups = ["default" "pam_authentication"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "14kjykc6rpdh24sshg9savqdajya2dislc1jmbzg91w9967f4gv1";
+      type = "gem";
+    };
+    version = "3.0.1";
+  };
+  rexml = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3";
+      type = "gem";
+    };
+    version = "3.2.4";
+  };
+  rotp = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1w8d6svhq3y9y952r8cqirxvdx12zlkb7zxjb44bcbidb2sisy4d";
+      type = "gem";
+    };
+    version = "2.1.2";
+  };
+  rpam2 = {
+    groups = ["default" "pam_authentication"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zvli3s4z1hf2l7gyfickm5i3afjrnycc3ihbiax6ji6arpbyf33";
+      type = "gem";
+    };
+    version = "4.0.2";
+  };
+  rqrcode = {
+    dependencies = ["chunky_png" "rqrcode_core"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06lw8b6wfshxd61xw98xyp1a0zsz6av4nls2c9fwb7q59wb05sci";
+      type = "gem";
+    };
+    version = "1.1.2";
+  };
+  rqrcode_core = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "071jqmhk3hf0grsvi0jx5sl449pf82p40ls5b3likbq4q516zc0j";
+      type = "gem";
+    };
+    version = "0.1.2";
+  };
+  rspec-core = {
+    dependencies = ["rspec-support"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0b8891149l4rdlaz58k1dprc09rhpvq98bblk4qpd3dvcvqklkvh";
+      type = "gem";
+    };
+    version = "3.9.3";
+  };
+  rspec-expectations = {
+    dependencies = ["diff-lcs" "rspec-support"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bxkv25qmy39jqrdx35bfgw00g24qkssail9jlljm7hywbqvr9bb";
+      type = "gem";
+    };
+    version = "3.9.2";
+  };
+  rspec-mocks = {
+    dependencies = ["diff-lcs" "rspec-support"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19vmdqym1v2g1zbdnq37zwmyj87y9yc9ijwc8js55igvbb9hx0mr";
+      type = "gem";
+    };
+    version = "3.9.1";
+  };
+  rspec-rails = {
+    dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"];
+    groups = ["development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0lzik01ziaskgpdpy8knffpw0fsy9151f5lfigyhb89wq4q45hfs";
+      type = "gem";
+    };
+    version = "4.0.1";
+  };
+  rspec-sidekiq = {
+    dependencies = ["rspec-core" "sidekiq"];
+    groups = ["test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1spzw3sc2p0n9qfb89y1v8igd60y7c5z9w2hjqqbbgbyjvy0agp8";
+      type = "gem";
+    };
+    version = "3.1.0";
+  };
+  rspec-support = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0dandh2fy1dfkjk8jf9v4azbbma6968bhh06hddv0yqqm8108jir";
+      type = "gem";
+    };
+    version = "3.9.3";
+  };
+  rspec_junit_formatter = {
+    dependencies = ["rspec-core"];
+    groups = ["test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1aynmrgnv26pkprrajvp7advb8nbh0x4pkwk6jwq8qmwzarzk21p";
+      type = "gem";
+    };
+    version = "0.4.1";
+  };
+  rubocop = {
+    dependencies = ["parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1cganc8j8zq7x81bmkav39dhbqydxhqyfs98z2g4g7ld6scywm20";
+      type = "gem";
+    };
+    version = "1.3.1";
+  };
+  rubocop-ast = {
+    dependencies = ["parser"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15jxn0aqxgalpl9zlrqyk2kk41qcp4sn1yys55qif5f787b3nrij";
+      type = "gem";
+    };
+    version = "1.1.1";
+  };
+  rubocop-rails = {
+    dependencies = ["activesupport" "rack" "rubocop"];
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "14g703lv0cbqw504cdjsv0yydrsnm61rwg0n0mql4zl5hw1n7lfh";
+      type = "gem";
+    };
+    version = "2.8.1";
+  };
+  ruby-progressbar = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1k77i0d4wsn23ggdd2msrcwfy0i376cglfqypkk2q77r2l3408zf";
+      type = "gem";
+    };
+    version = "1.10.1";
+  };
+  ruby-saml = {
+    dependencies = ["nokogiri"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ps79g3f39iy6dpc9z4z5wwxdkbaciqjfbi0pfl7dbkz1d8q14qi";
+      type = "gem";
+    };
+    version = "1.11.0";
+  };
+  rufus-scheduler = {
+    dependencies = ["fugit"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bcr8y9nq0anw0gkkpl0zvzgzhhsamw2swp9jwwffd33n8fxg76c";
+      type = "gem";
+    };
+    version = "3.6.0";
+  };
+  safety_net_attestation = {
+    dependencies = ["jwt"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1khq0y5w7lf2b9a220298hphf3pakd216jc9a4x4a9pdwxs2vgln";
+      type = "gem";
+    };
+    version = "0.4.0";
+  };
+  sanitize = {
+    dependencies = ["crass" "nokogiri" "nokogumbo"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "18m3zcf207gcrmghx288w3n2kpphc22lbmbc1wdx1nzcn8g2yddh";
+      type = "gem";
+    };
+    version = "5.2.1";
+  };
+  scenic = {
+    dependencies = ["activerecord" "railties"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "11inxsg0qd6kdj8cdwbh7syvr9wzv93jpp5nhlhjwp4v9ngrm9xk";
+      type = "gem";
+    };
+    version = "1.5.4";
+  };
+  securecompare = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ay65wba4i7bvfqyvf5i4r48q6g70s5m724diz9gdvdavscna36b";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  semantic_range = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "150wq0y749rags4pm0g3zljd575vk17nwdzp0m0q04s62977rd24";
+      type = "gem";
+    };
+    version = "2.3.0";
+  };
+  sidekiq = {
+    dependencies = ["connection_pool" "rack" "redis"];
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0mjxrxppv08a1hwqi8gpg6n168cxqhp7c2r2jwc4rbz9j5k41vcw";
+      type = "gem";
+    };
+    version = "6.1.2";
+  };
+  sidekiq-bulk = {
+    dependencies = ["sidekiq"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "08nyxzmgf742irafy3l4fj09d4s5pyvsh0dzlh8y4hl51rgkh4xv";
+      type = "gem";
+    };
+    version = "0.2.0";
+  };
+  sidekiq-scheduler = {
+    dependencies = ["e2mmap" "redis" "rufus-scheduler" "sidekiq" "thwait" "tilt"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ycwmpf17mdd762l5q9w01b4ms5fqrr6hb7s4ndi3nwz8pcngw91";
+      type = "gem";
+    };
+    version = "3.0.1";
+  };
+  sidekiq-unique-jobs = {
+    dependencies = ["concurrent-ruby" "sidekiq" "thor"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0lw2hgq28wd97kkp2897gy1yf0fx0yz6l23gdgjl8i2pas7d5wxd";
+      type = "gem";
+    };
+    version = "6.0.25";
+  };
+  simple-navigation = {
+    dependencies = ["activesupport"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0pkj5z48k90v9v53gckl1b0jsix08kpl6qkgsd4pkc7cva8dbqid";
+      type = "gem";
+    };
+    version = "4.1.0";
+  };
+  simple_form = {
+    dependencies = ["actionpack" "activemodel"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jj4fcs2r5sm3gjsmygcs2fi2ai18az5ynq1cqp1w0j3aajdian7";
+      type = "gem";
+    };
+    version = "5.0.3";
+  };
+  simplecov = {
+    dependencies = ["docile" "simplecov-html"];
+    groups = ["test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "00xwb0mizvbm9s04a6h5ycwn2zpdxjb3wxaawq6ypjjbvxszihcq";
+      type = "gem";
+    };
+    version = "0.19.1";
+  };
+  simplecov-html = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0yx01bxa8pbf9ip4hagqkp5m0mqfnwnw2xk8kjraiywz4lrss6jb";
+      type = "gem";
+    };
+    version = "0.12.3";
+  };
+  sprockets = {
+    dependencies = ["concurrent-ruby" "rack"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay";
+      type = "gem";
+    };
+    version = "3.7.2";
+  };
+  sprockets-rails = {
+    dependencies = ["actionpack" "activesupport" "sprockets"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0mwmz36265646xqfyczgr1mhkm1hfxgxxvgdgr4xfcbf2g72p1k2";
+      type = "gem";
+    };
+    version = "3.2.2";
+  };
+  sshkit = {
+    dependencies = ["net-scp" "net-ssh"];
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1gfglybqjw6g6hccqvh2yjfqlvdy4hwad8mcjdc7zjm5swncfxwz";
+      type = "gem";
+    };
+    version = "1.21.0";
+  };
+  stackprof = {
+    groups = ["development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "147rb66p3n062vc433afqhkd99iazvkrqnghxgh871r62yhha93f";
+      type = "gem";
+    };
+    version = "0.2.16";
+  };
+  statsd-ruby = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0djig5dnqjgww6wrw3f1mvnnjllznahlchvk4lvs4wx9qjsqpysr";
+      type = "gem";
+    };
+    version = "1.4.0";
+  };
+  stoplight = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ixpwp14hrygif8c1wn05gh4d4nq1940p3grh95r4dqmpjdqn0sr";
+      type = "gem";
+    };
+    version = "2.2.1";
+  };
+  streamio-ffmpeg = {
+    dependencies = ["multi_json"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nnxizc0371vwh0k6gqjj1b7fjszydpqfz549n6qn2q1pza3894z";
+      type = "gem";
+    };
+    version = "3.0.2";
+  };
+  strong_migrations = {
+    dependencies = ["activerecord"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sdijc2nc9lx6kga216rg4yfmyv4g7slbpcrlfjx20psbn54d7jd";
+      type = "gem";
+    };
+    version = "0.7.2";
+  };
+  temple = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "060zzj7c2kicdfk6cpnn40n9yjnhfrr13d0rsbdhdij68chp2861";
+      type = "gem";
+    };
+    version = "0.8.2";
+  };
+  terminal-table = {
+    dependencies = ["unicode-display_width"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk";
+      type = "gem";
+    };
+    version = "1.8.0";
+  };
+  terrapin = {
+    dependencies = ["climate_control"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0p18f05r0c5s70571gqig3z2ym74wx79s6rd45sprp207bqskzn9";
+      type = "gem";
+    };
+    version = "0.6.0";
+  };
+  thor = {
+    groups = ["default" "development" "pam_authentication" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1xbhkmyhlxwzshaqa7swy2bx6vd64mm0wrr8g3jywvxy7hg0cwkm";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
+  thread_safe = {
+    groups = ["default" "development" "pam_authentication" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
+      type = "gem";
+    };
+    version = "0.3.6";
+  };
+  thwait = {
+    dependencies = ["e2mmap"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0q0fqlh0668j66z0g3s5yhqs39368az2ycxyphsx4c5nib5r4kak";
+      type = "gem";
+    };
+    version = "0.2.0";
+  };
+  tilt = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0rn8z8hda4h41a64l0zhkiwz2vxw9b1nb70gl37h1dg2k874yrlv";
+      type = "gem";
+    };
+    version = "2.0.10";
+  };
+  tpm-key_attestation = {
+    dependencies = ["bindata" "openssl-signature_algorithm"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1kdqyanz211wmxjzfiz2wg17gj6p4431qvjr0i6sp3d6268sssg4";
+      type = "gem";
+    };
+    version = "0.9.0";
+  };
+  tty-color = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "12vcxmn3lj405rs0fxcki7jwpkrx8y55x8jwjf9v6yvnx2y5kga3";
+      type = "gem";
+    };
+    version = "0.5.2";
+  };
+  tty-cursor = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0j5zw041jgkmn605ya1zc151bxgxl6v192v2i26qhxx7ws2l2lvr";
+      type = "gem";
+    };
+    version = "0.7.1";
+  };
+  tty-prompt = {
+    dependencies = ["pastel" "tty-reader"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "170y0imsmzav5xgaav6xhzlz879fq2zv25ryk8y3qc2kqaz7x657";
+      type = "gem";
+    };
+    version = "0.22.0";
+  };
+  tty-reader = {
+    dependencies = ["tty-cursor" "tty-screen" "wisper"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "078rlqbdw72jjgp597yn5psasgf4508qdw9g3prxgbcgpcdcsd0r";
+      type = "gem";
+    };
+    version = "0.8.0";
+  };
+  tty-screen = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "18jr6s1cg8yb26wzkqa6874q0z93rq0y5aw092kdqazk71y6a235";
+      type = "gem";
+    };
+    version = "0.8.1";
+  };
+  twitter-text = {
+    dependencies = ["unf"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1732h7hy1k152w8wfvjsx7b79alk45i5imwd37ia4qcx8hfm3gvg";
+      type = "gem";
+    };
+    version = "1.14.7";
+  };
+  tzinfo = {
+    dependencies = ["thread_safe"];
+    groups = ["default" "development" "pam_authentication" "production" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1i3jh086w1kbdj3k5l60lc3nwbanmzdf8yjj3mlrx9b2gjjxhi9r";
+      type = "gem";
+    };
+    version = "1.2.7";
+  };
+  tzinfo-data = {
+    dependencies = ["tzinfo"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "02anabncgfjwsqn07ra9jdqvmi0a4yngzp6dfiz2yxb1m9qpdm4a";
+      type = "gem";
+    };
+    version = "1.2020.4";
+  };
+  unf = {
+    dependencies = ["unf_ext"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
+      type = "gem";
+    };
+    version = "0.1.4";
+  };
+  unf_ext = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0wc47r23h063l8ysws8sy24gzh74mks81cak3lkzlrw4qkqb3sg4";
+      type = "gem";
+    };
+    version = "0.0.7.7";
+  };
+  unicode-display_width = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna";
+      type = "gem";
+    };
+    version = "1.7.0";
+  };
+  uniform_notifier = {
+    groups = ["default" "development"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0vm4aix8jmv42s1x58m3lj3xwkbxyn9qn6lzhhig0d1j8fv6j30c";
+      type = "gem";
+    };
+    version = "1.13.0";
+  };
+  warden = {
+    dependencies = ["rack"];
+    groups = ["default" "pam_authentication"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1l7gl7vms023w4clg02pm4ky9j12la2vzsixi2xrv9imbn44ys26";
+      type = "gem";
+    };
+    version = "1.2.9";
+  };
+  webauthn = {
+    dependencies = ["android_key_attestation" "awrence" "bindata" "cbor" "cose" "openssl" "safety_net_attestation" "securecompare" "tpm-key_attestation"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jpr8b2lzhvfxv47yjvw0h8sqa9aah5bnharh686xqzyjz9a823q";
+      type = "gem";
+    };
+    version = "3.0.0.alpha1";
+  };
+  webmock = {
+    dependencies = ["addressable" "crack" "hashdiff"];
+    groups = ["test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0wbdjagk2qpr76k3zw2gmkfp5aqlrc1a4qrpjv7sq1q39qbn8xax";
+      type = "gem";
+    };
+    version = "3.10.0";
+  };
+  webpacker = {
+    dependencies = ["activesupport" "rack-proxy" "railties" "semantic_range"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1xgyv5ppljw3yq71nbrw2hj6hq9y8qbdavjrn53nsccpy7801wdx";
+      type = "gem";
+    };
+    version = "5.2.1";
+  };
+  webpush = {
+    dependencies = ["hkdf" "jwt"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0gi7aircw2bizk08pihr9srncjy9x9iy0ymp1qgchni639k1k05s";
+      type = "gem";
+    };
+    version = "0.3.8";
+  };
+  websocket-driver = {
+    dependencies = ["websocket-extensions"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1i3rs4kcj0jba8idxla3s6xd1xfln3k8b4cb1dik2lda3ifnp3dh";
+      type = "gem";
+    };
+    version = "0.7.3";
+  };
+  websocket-extensions = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0hc2g9qps8lmhibl5baa91b4qx8wqw872rgwagml78ydj8qacsqw";
+      type = "gem";
+    };
+    version = "0.1.5";
+  };
+  wisper = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1rpsi0ziy78cj82sbyyywby4d0aw0a5q84v65qd28vqn79fbq5yf";
+      type = "gem";
+    };
+    version = "2.0.1";
+  };
+  xorcist = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1q7hr3qyn1hczv9fglqc2cbaax0fb37gjjr0y24x19mmp817csdn";
+      type = "gem";
+    };
+    version = "1.1.2";
+  };
+  xpath = {
+    dependencies = ["nokogiri"];
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd";
+      type = "gem";
+    };
+    version = "3.2.0";
+  };
+}
diff --git a/pkgs/servers/mastodon/package.json b/pkgs/servers/mastodon/package.json
new file mode 100644
index 0000000000000..498d4b63723ed
--- /dev/null
+++ b/pkgs/servers/mastodon/package.json
@@ -0,0 +1,193 @@
+{
+  "version": "3.3.0",
+  "name": "@tootsuite/mastodon",
+  "license": "AGPL-3.0-or-later",
+  "engines": {
+    "node": ">=10.13"
+  },
+  "scripts": {
+    "postversion": "git push --tags",
+    "build:development": "cross-env RAILS_ENV=development NODE_ENV=development ./bin/webpack",
+    "build:production": "cross-env RAILS_ENV=production NODE_ENV=production ./bin/webpack",
+    "manage:translations": "node ./config/webpack/translationRunner.js",
+    "start": "node ./streaming/index.js",
+    "test": "${npm_execpath} run test:lint:js && ${npm_execpath} run test:jest",
+    "test:lint": "${npm_execpath} run test:lint:js && ${npm_execpath} run test:lint:sass",
+    "test:lint:js": "eslint --ext=js . --cache",
+    "test:lint:sass": "sass-lint -v",
+    "test:jest": "cross-env NODE_ENV=test jest --coverage"
+  },
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/tootsuite/mastodon.git"
+  },
+  "browserslist": [
+    "last 2 versions",
+    "IE >= 11",
+    "iOS >= 9",
+    "not dead"
+  ],
+  "jest": {
+    "projects": [
+      "<rootDir>/app/javascript/mastodon"
+    ],
+    "testPathIgnorePatterns": [
+      "<rootDir>/node_modules/",
+      "<rootDir>/vendor/",
+      "<rootDir>/config/",
+      "<rootDir>/log/",
+      "<rootDir>/public/",
+      "<rootDir>/tmp/"
+    ],
+    "setupFiles": [
+      "raf/polyfill"
+    ],
+    "setupFilesAfterEnv": [
+      "<rootDir>/app/javascript/mastodon/test_setup.js"
+    ],
+    "collectCoverageFrom": [
+      "app/javascript/mastodon/**/*.js",
+      "!app/javascript/mastodon/features/emoji/emoji_compressed.js",
+      "!app/javascript/mastodon/locales/locale-data/*.js",
+      "!app/javascript/mastodon/service_worker/entry.js",
+      "!app/javascript/mastodon/test_setup.js"
+    ],
+    "coverageDirectory": "<rootDir>/coverage",
+    "moduleDirectories": [
+      "<rootDir>/node_modules",
+      "<rootDir>/app/javascript"
+    ]
+  },
+  "private": true,
+  "dependencies": {
+    "@babel/core": "^7.12.7",
+    "@babel/plugin-proposal-class-properties": "^7.8.3",
+    "@babel/plugin-proposal-decorators": "^7.12.1",
+    "@babel/plugin-transform-react-inline-elements": "^7.12.1",
+    "@babel/plugin-transform-runtime": "^7.12.1",
+    "@babel/preset-env": "^7.12.7",
+    "@babel/preset-react": "^7.12.7",
+    "@babel/runtime": "^7.12.5",
+    "@clusterws/cws": "^3.0.0",
+    "@gamestdio/websocket": "^0.3.2",
+    "@github/webauthn-json": "^0.5.7",
+    "@rails/ujs": "^6.0.3",
+    "array-includes": "^3.1.1",
+    "arrow-key-navigation": "^1.2.0",
+    "autoprefixer": "^9.8.6",
+    "axios": "^0.21.0",
+    "babel-loader": "^8.2.1",
+    "babel-plugin-lodash": "^3.3.4",
+    "babel-plugin-preval": "^5.0.0",
+    "babel-plugin-react-intl": "^6.2.0",
+    "babel-plugin-transform-react-remove-prop-types": "^0.4.24",
+    "babel-runtime": "^6.26.0",
+    "blurhash": "^1.1.3",
+    "classnames": "^2.2.5",
+    "color-blend": "^3.0.0",
+    "compression-webpack-plugin": "^6.1.1",
+    "cross-env": "^7.0.2",
+    "css-loader": "^5.0.1",
+    "cssnano": "^4.1.10",
+    "detect-passive-events": "^2.0.1",
+    "dotenv": "^8.2.0",
+    "emoji-mart": "Gargron/emoji-mart#build",
+    "es6-symbol": "^3.1.3",
+    "escape-html": "^1.0.3",
+    "exif-js": "^2.3.0",
+    "express": "^4.17.1",
+    "file-loader": "^6.2.0",
+    "font-awesome": "^4.7.0",
+    "glob": "^7.1.6",
+    "history": "^4.10.1",
+    "http-link-header": "^1.0.3",
+    "immutable": "^3.8.2",
+    "imports-loader": "^1.2.0",
+    "intersection-observer": "^0.11.0",
+    "intl": "^1.2.5",
+    "intl-messageformat": "^2.2.0",
+    "intl-relativeformat": "^6.4.3",
+    "is-nan": "^1.3.0",
+    "js-yaml": "^3.13.1",
+    "lodash": "^4.17.19",
+    "mark-loader": "^0.1.6",
+    "marky": "^1.2.1",
+    "mini-css-extract-plugin": "^1.3.1",
+    "mkdirp": "^1.0.4",
+    "npmlog": "^4.1.2",
+    "object-assign": "^4.1.1",
+    "object-fit-images": "^3.2.3",
+    "object.values": "^1.1.1",
+    "offline-plugin": "^5.0.7",
+    "path-complete-extname": "^1.0.0",
+    "pg": "^6.4.0",
+    "postcss-loader": "^3.0.0",
+    "postcss-object-fit-images": "^1.1.2",
+    "promise.prototype.finally": "^3.1.2",
+    "prop-types": "^15.5.10",
+    "punycode": "^2.1.0",
+    "react": "^16.14.0",
+    "react-dom": "^16.14.0",
+    "react-hotkeys": "^1.1.4",
+    "react-immutable-proptypes": "^2.2.0",
+    "react-immutable-pure-component": "^2.2.2",
+    "react-intl": "^2.9.0",
+    "react-masonry-infinite": "^1.2.2",
+    "react-motion": "^0.5.2",
+    "react-notification": "^6.8.5",
+    "react-overlays": "^0.9.2",
+    "react-redux": "^7.2.2",
+    "react-redux-loading-bar": "^4.0.8",
+    "react-router-dom": "^4.1.1",
+    "react-router-scroll-4": "^1.0.0-beta.1",
+    "react-select": "^3.1.0",
+    "react-sparklines": "^1.7.0",
+    "react-swipeable-views": "^0.13.9",
+    "react-textarea-autosize": "^8.3.0",
+    "react-toggle": "^4.1.1",
+    "redis": "^3.0.2",
+    "redux": "^4.0.5",
+    "redux-immutable": "^4.0.0",
+    "redux-thunk": "^2.2.0",
+    "regenerator-runtime": "^0.13.7",
+    "rellax": "^1.12.1",
+    "requestidlecallback": "^0.3.0",
+    "reselect": "^4.0.0",
+    "rimraf": "^3.0.2",
+    "sass": "^1.29.0",
+    "sass-loader": "^10.1.0",
+    "stacktrace-js": "^2.0.2",
+    "stringz": "^2.1.0",
+    "substring-trie": "^1.0.2",
+    "terser-webpack-plugin": "^4.2.3",
+    "tesseract.js": "^2.1.1",
+    "throng": "^4.0.0",
+    "tiny-queue": "^0.2.1",
+    "uuid": "^8.3.1",
+    "webpack": "^4.44.2",
+    "webpack-assets-manifest": "^3.1.1",
+    "webpack-bundle-analyzer": "^4.1.0",
+    "webpack-cli": "^3.3.12",
+    "webpack-merge": "^5.4.0",
+    "wicg-inert": "^3.1.0",
+    "kind-of": "^6.0.3"
+  },
+  "devDependencies": {
+    "@testing-library/jest-dom": "^5.11.6",
+    "@testing-library/react": "^11.2.2",
+    "babel-eslint": "^10.1.0",
+    "babel-jest": "^26.6.3",
+    "eslint": "^7.14.0",
+    "eslint-plugin-import": "~2.22.1",
+    "eslint-plugin-jsx-a11y": "~6.4.1",
+    "eslint-plugin-promise": "~4.2.1",
+    "eslint-plugin-react": "~7.21.5",
+    "jest": "^26.6.3",
+    "raf": "^3.4.1",
+    "react-intl-translations-manager": "^5.0.3",
+    "react-test-renderer": "^16.14.0",
+    "sass-lint": "^1.13.1",
+    "webpack-dev-server": "^3.11.0",
+    "yargs": "^16.1.1"
+  }
+}
diff --git a/pkgs/servers/mastodon/resolutions.patch b/pkgs/servers/mastodon/resolutions.patch
new file mode 100644
index 0000000000000..4cde0ba8dfe9a
--- /dev/null
+++ b/pkgs/servers/mastodon/resolutions.patch
@@ -0,0 +1,67 @@
+diff --git a/package.json b/package.json
+index 7b8f49dd8..24cdd3498 100644
+--- a/package.json
++++ b/package.json
+@@ -168,7 +168,8 @@
+     "webpack-bundle-analyzer": "^4.1.0",
+     "webpack-cli": "^3.3.12",
+     "webpack-merge": "^5.4.0",
+-    "wicg-inert": "^3.1.0"
++    "wicg-inert": "^3.1.0",
++    "kind-of": "^6.0.3"
+   },
+   "devDependencies": {
+     "@testing-library/jest-dom": "^5.11.6",
+@@ -187,8 +188,5 @@
+     "sass-lint": "^1.13.1",
+     "webpack-dev-server": "^3.11.0",
+     "yargs": "^16.1.1"
+-  },
+-  "resolutions": {
+-    "kind-of": "^6.0.3"
+   }
+ }
+diff --git a/yarn.lock b/yarn.lock
+index 4aa8f6380..68d2fd8b5 100644
+--- a/yarn.lock
++++ b/yarn.lock
+@@ -5689,6 +5689,11 @@ is-binary-path@~2.1.0:
+   dependencies:
+     binary-extensions "^2.0.0"
+ 
++is-buffer@^1.1.5:
++  version "1.1.6"
++  resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
++  integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
++
+ is-callable@^1.1.4, is-callable@^1.2.2:
+   version "1.2.2"
+   resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9"
+@@ -6639,7 +6644,26 @@ killable@^1.0.1:
+   resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892"
+   integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==
+ 
+-kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0, kind-of@^4.0.0, kind-of@^5.0.0, kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3:
++kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
++  version "3.2.2"
++  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
++  integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
++  dependencies:
++    is-buffer "^1.1.5"
++
++kind-of@^4.0.0:
++  version "4.0.0"
++  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
++  integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc=
++  dependencies:
++    is-buffer "^1.1.5"
++
++kind-of@^5.0.0:
++  version "5.1.0"
++  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
++  integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
++
++kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3:
+   version "6.0.3"
+   resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
+   integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
diff --git a/pkgs/servers/mastodon/source.nix b/pkgs/servers/mastodon/source.nix
new file mode 100644
index 0000000000000..57eff626ee498
--- /dev/null
+++ b/pkgs/servers/mastodon/source.nix
@@ -0,0 +1,11 @@
+# This file was generated by pkgs.mastodon.updateScript.
+{ fetchgit, applyPatches }: let
+  src = fetchgit {
+    url = "https://github.com/tootsuite/mastodon.git";
+    rev = "v3.3.0";
+    sha256 = "17wvggvy5mmyf3f1i5v1hgvh6wjdhg9hb3wiyfaydx0slsg03qba";
+  };
+in applyPatches {
+  inherit src;
+  patches = [./resolutions.patch ./version.patch ];
+}
diff --git a/pkgs/servers/mastodon/update.nix b/pkgs/servers/mastodon/update.nix
new file mode 100644
index 0000000000000..28c0ff235e746
--- /dev/null
+++ b/pkgs/servers/mastodon/update.nix
@@ -0,0 +1,21 @@
+{ pkgs, stdenv, lib, makeWrapper, yarn2nix, bundix, coreutils,
+  diffutils, nix-prefetch-github, gnused, jq }:
+stdenv.mkDerivation rec {
+  name = "mastodon-update-script";
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ${./update.sh} $out/bin/update.sh
+    patchShebangs $out/bin/update.sh
+    wrapProgram $out/bin/update.sh --prefix PATH : ${lib.makeBinPath buildInputs}
+  '';
+  phases = [ "installPhase" ];
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ yarn2nix bundix coreutils diffutils nix-prefetch-github gnused jq ];
+
+  meta = {
+    maintainers = with lib.maintainers; [ happy-river ];
+    description = "Utility to generate Nix expressions for Mastodon's dependencies";
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/servers/mastodon/update.sh b/pkgs/servers/mastodon/update.sh
new file mode 100755
index 0000000000000..be06f52207d04
--- /dev/null
+++ b/pkgs/servers/mastodon/update.sh
@@ -0,0 +1,121 @@
+#!/usr/bin/env bash
+set -e
+
+URL=https://github.com/tootsuite/mastodon.git
+
+POSITIONAL=()
+while [[ $# -gt 0 ]]; do
+    key="$1"
+
+    case $key in
+        --url)
+        URL="$2"
+        shift # past argument
+        shift # past value
+        ;;
+        --ver)
+        VERSION="$2"
+        shift # past argument
+        shift # past value
+        ;;
+    --rev)
+    REVISION="$2"
+        shift # past argument
+        shift # past value
+        ;;
+    --patches)
+    PATCHES="$2"
+        shift # past argument
+        shift # past value
+        ;;
+        *)    # unknown option
+        POSITIONAL+=("$1")
+        shift # past argument
+        ;;
+    esac
+done
+
+if [[ -z "$VERSION" || -n "$POSITIONAL" ]]; then
+    echo "Usage: update.sh [--url URL] --ver VERSION [--rev REVISION] [--patches PATCHES]"
+    echo "URL may be any path acceptable to 'git clone' and VERSION the"
+    echo "semantic version number.  If VERSION is not a revision acceptable to"
+    echo "'git checkout', you must provide one in REVISION.  If URL is not"
+    echo "provided, it defaults to https://github.com/tootsuite/mastodon.git."
+    echo "PATCHES, if provided, should be one or more Nix expressions"
+    echo "separated by spaces."
+    exit 1
+fi
+
+if [[ -z "$REVISION" ]]; then
+    REVISION="$VERSION"
+fi
+
+rm -f gemset.nix yarn.nix version.nix version.patch source.nix package.json
+TARGET_DIR="$PWD"
+
+
+WORK_DIR=$(mktemp -d)
+
+# Check that working directory was created.
+if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then
+    echo "Could not create temporary directory"
+    exit 1
+fi
+
+# Delete the working directory on exit.
+function cleanup {
+    # Report errors, if any, from nix-prefetch-git
+    grep "fatal" $WORK_DIR/nix-prefetch-git.out >/dev/stderr || true
+    rm -rf "$WORK_DIR"
+}
+trap cleanup EXIT
+
+echo "Fetching source code $REVISION from $URL"
+JSON=$(nix-prefetch-git --url "$URL" --rev "$REVISION"  2> $WORK_DIR/nix-prefetch-git.out)
+SHA=$(echo $JSON | jq -r .sha256)
+FETCHED_SOURCE_DIR=$(grep '^path is' $WORK_DIR/nix-prefetch-git.out | sed 's/^path is //')
+
+echo "Creating version.nix"
+echo \"$VERSION\" | sed 's/^"v/"/' > version.nix
+
+echo "Creating source.nix"
+# yarn2nix and mkYarnPackage want the version to be present in
+# package.json. Mastodon itself does not include the version in
+# package.json but at least one fork (Soapbox) does.
+if [ $(jq .version $FETCHED_SOURCE_DIR/package.json) == "null" ]; then
+    mkdir $WORK_DIR/a $WORK_DIR/b
+    cp $FETCHED_SOURCE_DIR/package.json $WORK_DIR/a
+    cd $WORK_DIR
+    jq "{version:$(cat $TARGET_DIR/version.nix)} + ." a/package.json > b/package.json
+    diff -Naur --label a/package.json --label b/package.json a b > $TARGET_DIR/version.patch || true
+    rm -rf a b tmp
+    cd $TARGET_DIR
+    PATCHES="$PATCHES ./version.patch "
+fi
+
+cat > source.nix << EOF
+# This file was generated by pkgs.mastodon.updateScript.
+{ fetchgit, applyPatches }: let
+  src = fetchgit {
+    url = "$URL";
+    rev = "$REVISION";
+    sha256 = "$SHA";
+  };
+in applyPatches {
+  inherit src;
+  patches = [$PATCHES];
+}
+EOF
+SOURCE_DIR="$(nix-build --no-out-link -E '(import <nixpkgs> {}).callPackage ./source.nix {}')"
+
+echo "Creating gemset.nix"
+bundix --lockfile="$SOURCE_DIR/Gemfile.lock" --gemfile="$SOURCE_DIR/Gemfile"
+echo "" >> $TARGET_DIR/gemset.nix  # Create trailing newline to please EditorConfig checks
+
+echo "Creating yarn.nix"
+cp -r $SOURCE_DIR/* $WORK_DIR
+chmod -R u+w $WORK_DIR
+cd $WORK_DIR
+yarn2nix > $TARGET_DIR/yarn.nix
+sed "s/https___.*_//g" -i $TARGET_DIR/yarn.nix
+cp $WORK_DIR/package.json $TARGET_DIR
diff --git a/pkgs/servers/mastodon/version.nix b/pkgs/servers/mastodon/version.nix
new file mode 100644
index 0000000000000..b577fbf1969bc
--- /dev/null
+++ b/pkgs/servers/mastodon/version.nix
@@ -0,0 +1 @@
+"3.3.0"
diff --git a/pkgs/servers/mastodon/version.patch b/pkgs/servers/mastodon/version.patch
new file mode 100644
index 0000000000000..c1449e413272d
--- /dev/null
+++ b/pkgs/servers/mastodon/version.patch
@@ -0,0 +1,9 @@
+diff -Naur --label a/package.json --label b/package.json a/package.json b/package.json
+--- a/package.json
++++ b/package.json
+@@ -1,4 +1,5 @@
+ {
++  "version": "3.3.0",
+   "name": "@tootsuite/mastodon",
+   "license": "AGPL-3.0-or-later",
+   "engines": {
diff --git a/pkgs/servers/mastodon/yarn.nix b/pkgs/servers/mastodon/yarn.nix
new file mode 100644
index 0000000000000..9c3b844bcccd1
--- /dev/null
+++ b/pkgs/servers/mastodon/yarn.nix
@@ -0,0 +1,12181 @@
+{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+  offline_cache = linkFarm "offline" packages;
+  packages = [
+    {
+      name = "_babel_code_frame___code_frame_7.10.4.tgz";
+      path = fetchurl {
+        name = "_babel_code_frame___code_frame_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz";
+        sha1 = "168da1a36e90da68ae8d49c0f1b48c7c6249213a";
+      };
+    }
+    {
+      name = "_babel_compat_data___compat_data_7.12.7.tgz";
+      path = fetchurl {
+        name = "_babel_compat_data___compat_data_7.12.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.7.tgz";
+        sha1 = "9329b4782a7d6bbd7eef57e11addf91ee3ef1e41";
+      };
+    }
+    {
+      name = "_babel_core___core_7.12.7.tgz";
+      path = fetchurl {
+        name = "_babel_core___core_7.12.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.12.7.tgz";
+        sha1 = "bf55363c08c8352a37691f7216ec30090bf7e3bf";
+      };
+    }
+    {
+      name = "_babel_generator___generator_7.12.5.tgz";
+      path = fetchurl {
+        name = "_babel_generator___generator_7.12.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.5.tgz";
+        sha1 = "a2c50de5c8b6d708ab95be5e6053936c1884a4de";
+      };
+    }
+    {
+      name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.10.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz";
+        sha1 = "5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3";
+      };
+    }
+    {
+      name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.10.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz";
+        sha1 = "bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3";
+      };
+    }
+    {
+      name = "_babel_helper_builder_react_jsx_experimental___helper_builder_react_jsx_experimental_7.12.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_builder_react_jsx_experimental___helper_builder_react_jsx_experimental_7.12.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.12.4.tgz";
+        sha1 = "55fc1ead5242caa0ca2875dcb8eed6d311e50f48";
+      };
+    }
+    {
+      name = "_babel_helper_builder_react_jsx___helper_builder_react_jsx_7.10.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_builder_react_jsx___helper_builder_react_jsx_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz";
+        sha1 = "8095cddbff858e6fa9c326daee54a2f2732c1d5d";
+      };
+    }
+    {
+      name = "_babel_helper_compilation_targets___helper_compilation_targets_7.12.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_compilation_targets___helper_compilation_targets_7.12.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz";
+        sha1 = "cb470c76198db6a24e9dbc8987275631e5d29831";
+      };
+    }
+    {
+      name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz";
+        sha1 = "3c45998f431edd4a9214c5f1d3ad1448a6137f6e";
+      };
+    }
+    {
+      name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.1.tgz";
+        sha1 = "18b1302d4677f9dc4740fe8c9ed96680e29d37e8";
+      };
+    }
+    {
+      name = "_babel_helper_define_map___helper_define_map_7.10.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_define_map___helper_define_map_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.4.tgz";
+        sha1 = "f037ad794264f729eda1889f4ee210b870999092";
+      };
+    }
+    {
+      name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.10.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz";
+        sha1 = "40a1cd917bff1288f699a94a75b37a1a2dbd8c7c";
+      };
+    }
+    {
+      name = "_babel_helper_function_name___helper_function_name_7.10.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_function_name___helper_function_name_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz";
+        sha1 = "d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a";
+      };
+    }
+    {
+      name = "_babel_helper_get_function_arity___helper_get_function_arity_7.10.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_get_function_arity___helper_get_function_arity_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz";
+        sha1 = "98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2";
+      };
+    }
+    {
+      name = "_babel_helper_hoist_variables___helper_hoist_variables_7.10.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_hoist_variables___helper_hoist_variables_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz";
+        sha1 = "d49b001d1d5a68ca5e6604dda01a6297f7c9381e";
+      };
+    }
+    {
+      name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz";
+        sha1 = "fba0f2fcff3fba00e6ecb664bb5e6e26e2d6165c";
+      };
+    }
+    {
+      name = "_babel_helper_module_imports___helper_module_imports_7.12.5.tgz";
+      path = fetchurl {
+        name = "_babel_helper_module_imports___helper_module_imports_7.12.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz";
+        sha1 = "1bfc0229f794988f76ed0a4d4e90860850b54dfb";
+      };
+    }
+    {
+      name = "_babel_helper_module_transforms___helper_module_transforms_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_helper_module_transforms___helper_module_transforms_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz";
+        sha1 = "7954fec71f5b32c48e4b303b437c34453fd7247c";
+      };
+    }
+    {
+      name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.10.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz";
+        sha1 = "50dc96413d594f995a77905905b05893cd779673";
+      };
+    }
+    {
+      name = "_babel_helper_plugin_utils___helper_plugin_utils_7.10.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_plugin_utils___helper_plugin_utils_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz";
+        sha1 = "2f75a831269d4f677de49986dff59927533cf375";
+      };
+    }
+    {
+      name = "_babel_helper_regex___helper_regex_7.10.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_regex___helper_regex_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.4.tgz";
+        sha1 = "59b373daaf3458e5747dece71bbaf45f9676af6d";
+      };
+    }
+    {
+      name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz";
+        sha1 = "8c4dbbf916314f6047dc05e6a2217074238347fd";
+      };
+    }
+    {
+      name = "_babel_helper_replace_supers___helper_replace_supers_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_helper_replace_supers___helper_replace_supers_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz";
+        sha1 = "f15c9cc897439281891e11d5ce12562ac0cf3fa9";
+      };
+    }
+    {
+      name = "_babel_helper_simple_access___helper_simple_access_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_helper_simple_access___helper_simple_access_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz";
+        sha1 = "32427e5aa61547d38eb1e6eaf5fd1426fdad9136";
+      };
+    }
+    {
+      name = "_babel_helper_skip_transparent_expression_wrappers___helper_skip_transparent_expression_wrappers_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_helper_skip_transparent_expression_wrappers___helper_skip_transparent_expression_wrappers_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz";
+        sha1 = "462dc63a7e435ade8468385c63d2b84cce4b3cbf";
+      };
+    }
+    {
+      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.10.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz";
+        sha1 = "2c70576eaa3b5609b24cb99db2888cc3fc4251d1";
+      };
+    }
+    {
+      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.11.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz";
+        sha1 = "f8a491244acf6a676158ac42072911ba83ad099f";
+      };
+    }
+    {
+      name = "_babel_helper_validator_identifier___helper_validator_identifier_7.10.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_validator_identifier___helper_validator_identifier_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz";
+        sha1 = "a78c7a7251e01f616512d31b10adcf52ada5e0d2";
+      };
+    }
+    {
+      name = "_babel_helper_validator_option___helper_validator_option_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_helper_validator_option___helper_validator_option_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz";
+        sha1 = "175567380c3e77d60ff98a54bb015fe78f2178d9";
+      };
+    }
+    {
+      name = "_babel_helper_wrap_function___helper_wrap_function_7.10.4.tgz";
+      path = fetchurl {
+        name = "_babel_helper_wrap_function___helper_wrap_function_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz";
+        sha1 = "8a6f701eab0ff39f765b5a1cfef409990e624b87";
+      };
+    }
+    {
+      name = "_babel_helpers___helpers_7.12.5.tgz";
+      path = fetchurl {
+        name = "_babel_helpers___helpers_7.12.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz";
+        sha1 = "1a1ba4a768d9b58310eda516c449913fe647116e";
+      };
+    }
+    {
+      name = "_babel_highlight___highlight_7.10.4.tgz";
+      path = fetchurl {
+        name = "_babel_highlight___highlight_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz";
+        sha1 = "7d1bdfd65753538fabe6c38596cdb76d9ac60143";
+      };
+    }
+    {
+      name = "_babel_parser___parser_7.12.7.tgz";
+      path = fetchurl {
+        name = "_babel_parser___parser_7.12.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.7.tgz";
+        sha1 = "fee7b39fe809d0e73e5b25eecaf5780ef3d73056";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz";
+        sha1 = "dc6c1170e27d8aca99ff65f4925bd06b1c90550e";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz";
+        sha1 = "a082ff541f2a29a4821065b8add9346c0c16e5de";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_decorators___plugin_proposal_decorators_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_decorators___plugin_proposal_decorators_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz";
+        sha1 = "59271439fed4145456c41067450543aee332d15f";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz";
+        sha1 = "43eb5c2a3487ecd98c5c8ea8b5fdb69a2749b2dc";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_export_namespace_from___plugin_proposal_export_namespace_from_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_export_namespace_from___plugin_proposal_export_namespace_from_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz";
+        sha1 = "8b9b8f376b2d88f5dd774e4d24a5cc2e3679b6d4";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz";
+        sha1 = "d45423b517714eedd5621a9dfdc03fa9f4eb241c";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_logical_assignment_operators___plugin_proposal_logical_assignment_operators_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_logical_assignment_operators___plugin_proposal_logical_assignment_operators_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz";
+        sha1 = "f2c490d36e1b3c9659241034a5d2cd50263a2751";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz";
+        sha1 = "3ed4fff31c015e7f3f1467f190dbe545cd7b046c";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.12.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.12.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz";
+        sha1 = "8bf253de8139099fea193b297d23a9d406ef056b";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz";
+        sha1 = "def9bd03cea0f9b72283dac0ec22d289c7691069";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz";
+        sha1 = "ccc2421af64d3aae50b558a71cede929a5ab2942";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.12.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.12.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz";
+        sha1 = "e02f0ea1b5dc59d401ec16fb824679f683d3303c";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz";
+        sha1 = "86814f6e7a21374c980c10d38b4493e703f4a389";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz";
+        sha1 = "2a183958d417765b9eae334f47758e5d6a82e072";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.8.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.8.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz";
+        sha1 = "a983fb1aeb2ec3f6ed042a210f640e90e786fe0d";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_bigint___plugin_syntax_bigint_7.8.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_bigint___plugin_syntax_bigint_7.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz";
+        sha1 = "4c9a6f669f5d0cdf1b90a1671e9a146be5300cea";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_class_properties___plugin_syntax_class_properties_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_class_properties___plugin_syntax_class_properties_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz";
+        sha1 = "bcb297c5366e79bebadef509549cd93b04f19978";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_decorators___plugin_syntax_decorators_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_decorators___plugin_syntax_decorators_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.1.tgz";
+        sha1 = "81a8b535b284476c41be6de06853a8802b98c5dd";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.8.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz";
+        sha1 = "62bf98b2da3cd21d626154fc96ee5b3cb68eacb3";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_export_namespace_from___plugin_syntax_export_namespace_from_7.8.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_export_namespace_from___plugin_syntax_export_namespace_from_7.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz";
+        sha1 = "028964a9ba80dbc094c915c487ad7c4e7a66465a";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_import_meta___plugin_syntax_import_meta_7.10.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_import_meta___plugin_syntax_import_meta_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz";
+        sha1 = "ee601348c370fa334d2207be158777496521fd51";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_json_strings___plugin_syntax_json_strings_7.8.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_json_strings___plugin_syntax_json_strings_7.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz";
+        sha1 = "01ca21b668cd8218c9e640cb6dd88c5412b2c96a";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz";
+        sha1 = "9d9d357cc818aa7ae7935917c1257f67677a0926";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_logical_assignment_operators___plugin_syntax_logical_assignment_operators_7.10.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_logical_assignment_operators___plugin_syntax_logical_assignment_operators_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz";
+        sha1 = "ca91ef46303530448b906652bac2e9fe9941f699";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_nullish_coalescing_operator___plugin_syntax_nullish_coalescing_operator_7.8.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_nullish_coalescing_operator___plugin_syntax_nullish_coalescing_operator_7.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz";
+        sha1 = "167ed70368886081f74b5c36c65a88c03b66d1a9";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_numeric_separator___plugin_syntax_numeric_separator_7.10.4.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_numeric_separator___plugin_syntax_numeric_separator_7.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz";
+        sha1 = "b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.8.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz";
+        sha1 = "60e225edcbd98a640332a2e72dd3e66f1af55871";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_optional_catch_binding___plugin_syntax_optional_catch_binding_7.8.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_optional_catch_binding___plugin_syntax_optional_catch_binding_7.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz";
+        sha1 = "6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_optional_chaining___plugin_syntax_optional_chaining_7.8.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_optional_chaining___plugin_syntax_optional_chaining_7.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz";
+        sha1 = "4f69c2ab95167e0180cd5336613f8c5788f7d48a";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz";
+        sha1 = "dd6c0b357ac1bb142d98537450a319625d13d2a0";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz";
+        sha1 = "8083ffc86ac8e777fbe24b5967c4b2521f3cb2b3";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz";
+        sha1 = "3849a49cc2a22e9743cbd6b52926d30337229af1";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz";
+        sha1 = "f2a1a365bde2b7112e0a6ded9067fdd7c07905d9";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz";
+        sha1 = "f0ee727874b42a208a48a586b84c3d222c2bbef1";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_classes___plugin_transform_classes_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_classes___plugin_transform_classes_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz";
+        sha1 = "65e650fcaddd3d88ddce67c0f834a3d436a32db6";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz";
+        sha1 = "d68cf6c9b7f838a8a4144badbe97541ea0904852";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz";
+        sha1 = "b9a570fe0d0a8d460116413cb4f97e8e08b2f847";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz";
+        sha1 = "a1d16c14862817b6409c0a678d6f9373ca9cd975";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz";
+        sha1 = "745661baba295ac06e686822797a69fbaa2ca228";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz";
+        sha1 = "b0f2ed356ba1be1428ecaf128ff8a24f02830ae0";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz";
+        sha1 = "07640f28867ed16f9511c99c888291f560921cfa";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz";
+        sha1 = "2ec76258c70fe08c6d7da154003a480620eba667";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_literals___plugin_transform_literals_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_literals___plugin_transform_literals_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz";
+        sha1 = "d73b803a26b37017ddf9d3bb8f4dc58bfb806f57";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz";
+        sha1 = "496038602daf1514a64d43d8e17cbb2755e0c3ad";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz";
+        sha1 = "3154300b026185666eebb0c0ed7f8415fefcf6f9";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz";
+        sha1 = "fa403124542636c786cf9b460a0ffbb48a86e648";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz";
+        sha1 = "663fea620d593c93f214a464cd399bf6dc683086";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz";
+        sha1 = "eb5a218d6b1c68f3d6217b8fa2cc82fec6547902";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz";
+        sha1 = "b407f5c96be0d9f5f88467497fa82b30ac3e8753";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz";
+        sha1 = "80073f02ee1bb2d365c3416490e085c95759dec0";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz";
+        sha1 = "4ea08696b8d2e65841d0c7706482b048bed1066e";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz";
+        sha1 = "d2e963b038771650c922eff593799c96d853255d";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz";
+        sha1 = "41bc81200d730abb4456ab8b3fbd5537b59adecd";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz";
+        sha1 = "1cbcd0c3b1d6648c55374a22fc9b6b7e5341c00d";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_react_inline_elements___plugin_transform_react_inline_elements_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_inline_elements___plugin_transform_react_inline_elements_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-inline-elements/-/plugin-transform-react-inline-elements-7.12.1.tgz";
+        sha1 = "f7d507200923adbbdacb107feec7ad09cefae631";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_react_jsx_development___plugin_transform_react_jsx_development_7.12.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_jsx_development___plugin_transform_react_jsx_development_7.12.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.7.tgz";
+        sha1 = "4c2a647de79c7e2b16bfe4540677ba3121e82a08";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_react_jsx_self___plugin_transform_react_jsx_self_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_jsx_self___plugin_transform_react_jsx_self_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.12.1.tgz";
+        sha1 = "ef43cbca2a14f1bd17807dbe4376ff89d714cf28";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_react_jsx_source___plugin_transform_react_jsx_source_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_jsx_source___plugin_transform_react_jsx_source_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.12.1.tgz";
+        sha1 = "d07de6863f468da0809edcf79a1aa8ce2a82a26b";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.12.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.12.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.7.tgz";
+        sha1 = "8b14d45f6eccd41b7f924bcb65c021e9f0a06f7f";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_react_pure_annotations___plugin_transform_react_pure_annotations_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_pure_annotations___plugin_transform_react_pure_annotations_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz";
+        sha1 = "05d46f0ab4d1339ac59adf20a1462c91b37a1a42";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz";
+        sha1 = "5f0a28d842f6462281f06a964e88ba8d7ab49753";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz";
+        sha1 = "6fdfc8cc7edcc42b36a7c12188c6787c873adcd8";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_runtime___plugin_transform_runtime_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_runtime___plugin_transform_runtime_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.1.tgz";
+        sha1 = "04b792057eb460389ff6a4198e377614ea1e7ba5";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz";
+        sha1 = "0bf9cac5550fce0cfdf043420f661d645fdc75e3";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_spread___plugin_transform_spread_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_spread___plugin_transform_spread_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz";
+        sha1 = "527f9f311be4ec7fdc2b79bb89f7bf884b3e1e1e";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.12.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.12.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz";
+        sha1 = "560224613ab23987453948ed21d0b0b193fa7fad";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz";
+        sha1 = "b43ece6ed9a79c0c71119f576d299ef09d942843";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz";
+        sha1 = "9ca6be343d42512fbc2e68236a82ae64bc7af78a";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_unicode_escapes___plugin_transform_unicode_escapes_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_unicode_escapes___plugin_transform_unicode_escapes_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz";
+        sha1 = "5232b9f81ccb07070b7c3c36c67a1b78f1845709";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.12.1.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz";
+        sha1 = "cc9661f61390db5c65e3febaccefd5c6ac3faecb";
+      };
+    }
+    {
+      name = "_babel_preset_env___preset_env_7.12.7.tgz";
+      path = fetchurl {
+        name = "_babel_preset_env___preset_env_7.12.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.7.tgz";
+        sha1 = "54ea21dbe92caf6f10cb1a0a576adc4ebf094b55";
+      };
+    }
+    {
+      name = "_babel_preset_modules___preset_modules_0.1.3.tgz";
+      path = fetchurl {
+        name = "_babel_preset_modules___preset_modules_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz";
+        sha1 = "13242b53b5ef8c883c3cf7dddd55b36ce80fbc72";
+      };
+    }
+    {
+      name = "_babel_preset_react___preset_react_7.12.7.tgz";
+      path = fetchurl {
+        name = "_babel_preset_react___preset_react_7.12.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.12.7.tgz";
+        sha1 = "36d61d83223b07b6ac4ec55cf016abb0f70be83b";
+      };
+    }
+    {
+      name = "_babel_runtime_corejs3___runtime_corejs3_7.10.3.tgz";
+      path = fetchurl {
+        name = "_babel_runtime_corejs3___runtime_corejs3_7.10.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.10.3.tgz";
+        sha1 = "931ed6941d3954924a7aa967ee440e60c507b91a";
+      };
+    }
+    {
+      name = "_babel_runtime___runtime_7.0.0.tgz";
+      path = fetchurl {
+        name = "_babel_runtime___runtime_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0.tgz";
+        sha1 = "adeb78fedfc855aa05bc041640f3f6f98e85424c";
+      };
+    }
+    {
+      name = "_babel_runtime___runtime_7.12.5.tgz";
+      path = fetchurl {
+        name = "_babel_runtime___runtime_7.12.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz";
+        sha1 = "410e7e487441e1b360c29be715d870d9b985882e";
+      };
+    }
+    {
+      name = "_babel_template___template_7.12.7.tgz";
+      path = fetchurl {
+        name = "_babel_template___template_7.12.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.12.7.tgz";
+        sha1 = "c817233696018e39fbb6c491d2fb684e05ed43bc";
+      };
+    }
+    {
+      name = "_babel_traverse___traverse_7.12.7.tgz";
+      path = fetchurl {
+        name = "_babel_traverse___traverse_7.12.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.7.tgz";
+        sha1 = "572a722408681cef17d6b0bef69ef2e728ca69f1";
+      };
+    }
+    {
+      name = "_babel_types___types_7.12.7.tgz";
+      path = fetchurl {
+        name = "_babel_types___types_7.12.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.12.7.tgz";
+        sha1 = "6039ff1e242640a29452c9ae572162ec9a8f5d13";
+      };
+    }
+    {
+      name = "_bcoe_v8_coverage___v8_coverage_0.2.3.tgz";
+      path = fetchurl {
+        name = "_bcoe_v8_coverage___v8_coverage_0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz";
+        sha1 = "75a2e8b51cb758a7553d6804a5932d7aace75c39";
+      };
+    }
+    {
+      name = "_clusterws_cws___cws_3.0.0.tgz";
+      path = fetchurl {
+        name = "_clusterws_cws___cws_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@clusterws/cws/-/cws-3.0.0.tgz";
+        sha1 = "518fc8e7d9066e220f6f6aef3158cc14d5a1e98e";
+      };
+    }
+    {
+      name = "_cnakazawa_watch___watch_1.0.4.tgz";
+      path = fetchurl {
+        name = "_cnakazawa_watch___watch_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz";
+        sha1 = "f864ae85004d0fcab6f50be9141c4da368d1656a";
+      };
+    }
+    {
+      name = "_emotion_cache___cache_10.0.19.tgz";
+      path = fetchurl {
+        name = "_emotion_cache___cache_10.0.19.tgz";
+        url  = "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.19.tgz";
+        sha1 = "d258d94d9c707dcadaf1558def968b86bb87ad71";
+      };
+    }
+    {
+      name = "_emotion_core___core_10.0.17.tgz";
+      path = fetchurl {
+        name = "_emotion_core___core_10.0.17.tgz";
+        url  = "https://registry.yarnpkg.com/@emotion/core/-/core-10.0.17.tgz";
+        sha1 = "3367376709721f4ee2068cff54ba581d362789d8";
+      };
+    }
+    {
+      name = "_emotion_css___css_10.0.14.tgz";
+      path = fetchurl {
+        name = "_emotion_css___css_10.0.14.tgz";
+        url  = "https://registry.yarnpkg.com/@emotion/css/-/css-10.0.14.tgz";
+        sha1 = "95dacabdd0e22845d1a1b0b5968d9afa34011139";
+      };
+    }
+    {
+      name = "_emotion_hash___hash_0.8.0.tgz";
+      path = fetchurl {
+        name = "_emotion_hash___hash_0.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz";
+        sha1 = "bbbff68978fefdbe68ccb533bc8cbe1d1afb5413";
+      };
+    }
+    {
+      name = "_emotion_memoize___memoize_0.7.4.tgz";
+      path = fetchurl {
+        name = "_emotion_memoize___memoize_0.7.4.tgz";
+        url  = "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz";
+        sha1 = "19bf0f5af19149111c40d98bb0cf82119f5d9eeb";
+      };
+    }
+    {
+      name = "_emotion_serialize___serialize_0.11.16.tgz";
+      path = fetchurl {
+        name = "_emotion_serialize___serialize_0.11.16.tgz";
+        url  = "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.16.tgz";
+        sha1 = "dee05f9e96ad2fb25a5206b6d759b2d1ed3379ad";
+      };
+    }
+    {
+      name = "_emotion_sheet___sheet_0.9.3.tgz";
+      path = fetchurl {
+        name = "_emotion_sheet___sheet_0.9.3.tgz";
+        url  = "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-0.9.3.tgz";
+        sha1 = "689f135ecf87d3c650ed0c4f5ddcbe579883564a";
+      };
+    }
+    {
+      name = "_emotion_stylis___stylis_0.8.4.tgz";
+      path = fetchurl {
+        name = "_emotion_stylis___stylis_0.8.4.tgz";
+        url  = "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.4.tgz";
+        sha1 = "6c51afdf1dd0d73666ba09d2eb6c25c220d6fe4c";
+      };
+    }
+    {
+      name = "_emotion_unitless___unitless_0.7.5.tgz";
+      path = fetchurl {
+        name = "_emotion_unitless___unitless_0.7.5.tgz";
+        url  = "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz";
+        sha1 = "77211291c1900a700b8a78cfafda3160d76949ed";
+      };
+    }
+    {
+      name = "_emotion_utils___utils_0.11.2.tgz";
+      path = fetchurl {
+        name = "_emotion_utils___utils_0.11.2.tgz";
+        url  = "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.2.tgz";
+        sha1 = "713056bfdffb396b0a14f1c8f18e7b4d0d200183";
+      };
+    }
+    {
+      name = "_emotion_utils___utils_0.11.3.tgz";
+      path = fetchurl {
+        name = "_emotion_utils___utils_0.11.3.tgz";
+        url  = "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.3.tgz";
+        sha1 = "a759863867befa7e583400d322652a3f44820924";
+      };
+    }
+    {
+      name = "_emotion_weak_memoize___weak_memoize_0.2.4.tgz";
+      path = fetchurl {
+        name = "_emotion_weak_memoize___weak_memoize_0.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.4.tgz";
+        sha1 = "622a72bebd1e3f48d921563b4b60a762295a81fc";
+      };
+    }
+    {
+      name = "_eslint_eslintrc___eslintrc_0.2.1.tgz";
+      path = fetchurl {
+        name = "_eslint_eslintrc___eslintrc_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.2.1.tgz";
+        sha1 = "f72069c330461a06684d119384435e12a5d76e3c";
+      };
+    }
+    {
+      name = "_formatjs_intl_unified_numberformat___intl_unified_numberformat_3.3.6.tgz";
+      path = fetchurl {
+        name = "_formatjs_intl_unified_numberformat___intl_unified_numberformat_3.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/@formatjs/intl-unified-numberformat/-/intl-unified-numberformat-3.3.6.tgz";
+        sha1 = "ab69818f7568894023cb31fdb5b5c7eed62c6537";
+      };
+    }
+    {
+      name = "_formatjs_intl_utils___intl_utils_2.2.5.tgz";
+      path = fetchurl {
+        name = "_formatjs_intl_utils___intl_utils_2.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/@formatjs/intl-utils/-/intl-utils-2.2.5.tgz";
+        sha1 = "eaafd94df3d102ee13e54e80f992a33868a6b1e8";
+      };
+    }
+    {
+      name = "_gamestdio_websocket___websocket_0.3.2.tgz";
+      path = fetchurl {
+        name = "_gamestdio_websocket___websocket_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@gamestdio/websocket/-/websocket-0.3.2.tgz";
+        sha1 = "321ba0976ee30fd14e51dbf8faa85ce7b325f76a";
+      };
+    }
+    {
+      name = "_github_webauthn_json___webauthn_json_0.5.7.tgz";
+      path = fetchurl {
+        name = "_github_webauthn_json___webauthn_json_0.5.7.tgz";
+        url  = "https://registry.yarnpkg.com/@github/webauthn-json/-/webauthn-json-0.5.7.tgz";
+        sha1 = "143bc67f6e0f75f8d188e565741507bb08c31214";
+      };
+    }
+    {
+      name = "_istanbuljs_load_nyc_config___load_nyc_config_1.1.0.tgz";
+      path = fetchurl {
+        name = "_istanbuljs_load_nyc_config___load_nyc_config_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz";
+        sha1 = "fd3db1d59ecf7cf121e80650bb86712f9b55eced";
+      };
+    }
+    {
+      name = "_istanbuljs_schema___schema_0.1.2.tgz";
+      path = fetchurl {
+        name = "_istanbuljs_schema___schema_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz";
+        sha1 = "26520bf09abe4a5644cd5414e37125a8954241dd";
+      };
+    }
+    {
+      name = "_jest_console___console_26.6.2.tgz";
+      path = fetchurl {
+        name = "_jest_console___console_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz";
+        sha1 = "4e04bc464014358b03ab4937805ee36a0aeb98f2";
+      };
+    }
+    {
+      name = "_jest_core___core_26.6.3.tgz";
+      path = fetchurl {
+        name = "_jest_core___core_26.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz";
+        sha1 = "7639fcb3833d748a4656ada54bde193051e45fad";
+      };
+    }
+    {
+      name = "_jest_environment___environment_26.6.2.tgz";
+      path = fetchurl {
+        name = "_jest_environment___environment_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz";
+        sha1 = "ba364cc72e221e79cc8f0a99555bf5d7577cf92c";
+      };
+    }
+    {
+      name = "_jest_fake_timers___fake_timers_26.6.2.tgz";
+      path = fetchurl {
+        name = "_jest_fake_timers___fake_timers_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz";
+        sha1 = "459c329bcf70cee4af4d7e3f3e67848123535aad";
+      };
+    }
+    {
+      name = "_jest_globals___globals_26.6.2.tgz";
+      path = fetchurl {
+        name = "_jest_globals___globals_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz";
+        sha1 = "5b613b78a1aa2655ae908eba638cc96a20df720a";
+      };
+    }
+    {
+      name = "_jest_reporters___reporters_26.6.2.tgz";
+      path = fetchurl {
+        name = "_jest_reporters___reporters_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz";
+        sha1 = "1f518b99637a5f18307bd3ecf9275f6882a667f6";
+      };
+    }
+    {
+      name = "_jest_source_map___source_map_26.6.2.tgz";
+      path = fetchurl {
+        name = "_jest_source_map___source_map_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz";
+        sha1 = "29af5e1e2e324cafccc936f218309f54ab69d535";
+      };
+    }
+    {
+      name = "_jest_test_result___test_result_26.6.2.tgz";
+      path = fetchurl {
+        name = "_jest_test_result___test_result_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz";
+        sha1 = "55da58b62df134576cc95476efa5f7949e3f5f18";
+      };
+    }
+    {
+      name = "_jest_test_sequencer___test_sequencer_26.6.3.tgz";
+      path = fetchurl {
+        name = "_jest_test_sequencer___test_sequencer_26.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz";
+        sha1 = "98e8a45100863886d074205e8ffdc5a7eb582b17";
+      };
+    }
+    {
+      name = "_jest_transform___transform_26.6.2.tgz";
+      path = fetchurl {
+        name = "_jest_transform___transform_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz";
+        sha1 = "5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b";
+      };
+    }
+    {
+      name = "_jest_types___types_25.5.0.tgz";
+      path = fetchurl {
+        name = "_jest_types___types_25.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz";
+        sha1 = "4d6a4793f7b9599fc3680877b856a97dbccf2a9d";
+      };
+    }
+    {
+      name = "_jest_types___types_26.6.2.tgz";
+      path = fetchurl {
+        name = "_jest_types___types_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz";
+        sha1 = "bef5a532030e1d88a2f5a6d933f84e97226ed48e";
+      };
+    }
+    {
+      name = "_npmcli_move_file___move_file_1.0.1.tgz";
+      path = fetchurl {
+        name = "_npmcli_move_file___move_file_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.0.1.tgz";
+        sha1 = "de103070dac0f48ce49cf6693c23af59c0f70464";
+      };
+    }
+    {
+      name = "_rails_ujs___ujs_6.0.3.tgz";
+      path = fetchurl {
+        name = "_rails_ujs___ujs_6.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@rails/ujs/-/ujs-6.0.3.tgz";
+        sha1 = "e68a03278e30daea6a110aac5dfa33c60c53055d";
+      };
+    }
+    {
+      name = "_sinonjs_commons___commons_1.8.1.tgz";
+      path = fetchurl {
+        name = "_sinonjs_commons___commons_1.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.1.tgz";
+        sha1 = "e7df00f98a203324f6dc7cc606cad9d4a8ab2217";
+      };
+    }
+    {
+      name = "_sinonjs_fake_timers___fake_timers_6.0.1.tgz";
+      path = fetchurl {
+        name = "_sinonjs_fake_timers___fake_timers_6.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz";
+        sha1 = "293674fccb3262ac782c7aadfdeca86b10c75c40";
+      };
+    }
+    {
+      name = "_testing_library_dom___dom_7.28.1.tgz";
+      path = fetchurl {
+        name = "_testing_library_dom___dom_7.28.1.tgz";
+        url  = "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.28.1.tgz";
+        sha1 = "dea78be6e1e6db32ddcb29a449e94d9700c79eb9";
+      };
+    }
+    {
+      name = "_testing_library_jest_dom___jest_dom_5.11.6.tgz";
+      path = fetchurl {
+        name = "_testing_library_jest_dom___jest_dom_5.11.6.tgz";
+        url  = "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.11.6.tgz";
+        sha1 = "782940e82e5cd17bc0a36f15156ba16f3570ac81";
+      };
+    }
+    {
+      name = "_testing_library_react___react_11.2.2.tgz";
+      path = fetchurl {
+        name = "_testing_library_react___react_11.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/@testing-library/react/-/react-11.2.2.tgz";
+        sha1 = "099c6c195140ff069211143cb31c0f8337bdb7b7";
+      };
+    }
+    {
+      name = "_types_aria_query___aria_query_4.2.0.tgz";
+      path = fetchurl {
+        name = "_types_aria_query___aria_query_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.0.tgz";
+        sha1 = "14264692a9d6e2fa4db3df5e56e94b5e25647ac0";
+      };
+    }
+    {
+      name = "_types_babel__core___babel__core_7.1.9.tgz";
+      path = fetchurl {
+        name = "_types_babel__core___babel__core_7.1.9.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.9.tgz";
+        sha1 = "77e59d438522a6fb898fa43dc3455c6e72f3963d";
+      };
+    }
+    {
+      name = "_types_babel__generator___babel__generator_7.6.1.tgz";
+      path = fetchurl {
+        name = "_types_babel__generator___babel__generator_7.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.1.tgz";
+        sha1 = "4901767b397e8711aeb99df8d396d7ba7b7f0e04";
+      };
+    }
+    {
+      name = "_types_babel__template___babel__template_7.0.2.tgz";
+      path = fetchurl {
+        name = "_types_babel__template___babel__template_7.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz";
+        sha1 = "4ff63d6b52eddac1de7b975a5223ed32ecea9307";
+      };
+    }
+    {
+      name = "_types_babel__traverse___babel__traverse_7.0.13.tgz";
+      path = fetchurl {
+        name = "_types_babel__traverse___babel__traverse_7.0.13.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.13.tgz";
+        sha1 = "1874914be974a492e1b4cb00585cabb274e8ba18";
+      };
+    }
+    {
+      name = "_types_babel__traverse___babel__traverse_7.0.15.tgz";
+      path = fetchurl {
+        name = "_types_babel__traverse___babel__traverse_7.0.15.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.15.tgz";
+        sha1 = "db9e4238931eb69ef8aab0ad6523d4d4caa39d03";
+      };
+    }
+    {
+      name = "_types_color_name___color_name_1.1.1.tgz";
+      path = fetchurl {
+        name = "_types_color_name___color_name_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz";
+        sha1 = "1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0";
+      };
+    }
+    {
+      name = "_types_events___events_3.0.0.tgz";
+      path = fetchurl {
+        name = "_types_events___events_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz";
+        sha1 = "2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7";
+      };
+    }
+    {
+      name = "_types_glob___glob_7.1.1.tgz";
+      path = fetchurl {
+        name = "_types_glob___glob_7.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz";
+        sha1 = "aa59a1c6e3fbc421e07ccd31a944c30eba521575";
+      };
+    }
+    {
+      name = "_types_graceful_fs___graceful_fs_4.1.3.tgz";
+      path = fetchurl {
+        name = "_types_graceful_fs___graceful_fs_4.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.3.tgz";
+        sha1 = "039af35fe26bec35003e8d86d2ee9c586354348f";
+      };
+    }
+    {
+      name = "_types_istanbul_lib_coverage___istanbul_lib_coverage_2.0.3.tgz";
+      path = fetchurl {
+        name = "_types_istanbul_lib_coverage___istanbul_lib_coverage_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz";
+        sha1 = "4ba8ddb720221f432e443bd5f9117fd22cfd4762";
+      };
+    }
+    {
+      name = "_types_istanbul_lib_report___istanbul_lib_report_3.0.0.tgz";
+      path = fetchurl {
+        name = "_types_istanbul_lib_report___istanbul_lib_report_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz";
+        sha1 = "c14c24f18ea8190c118ee7562b7ff99a36552686";
+      };
+    }
+    {
+      name = "_types_istanbul_reports___istanbul_reports_1.1.2.tgz";
+      path = fetchurl {
+        name = "_types_istanbul_reports___istanbul_reports_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz";
+        sha1 = "e875cc689e47bce549ec81f3df5e6f6f11cfaeb2";
+      };
+    }
+    {
+      name = "_types_istanbul_reports___istanbul_reports_3.0.0.tgz";
+      path = fetchurl {
+        name = "_types_istanbul_reports___istanbul_reports_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz";
+        sha1 = "508b13aa344fa4976234e75dddcc34925737d821";
+      };
+    }
+    {
+      name = "_types_jest___jest_26.0.3.tgz";
+      path = fetchurl {
+        name = "_types_jest___jest_26.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.3.tgz";
+        sha1 = "79534e0e94857171c0edc596db0ebe7cb7863251";
+      };
+    }
+    {
+      name = "_types_json_schema___json_schema_7.0.6.tgz";
+      path = fetchurl {
+        name = "_types_json_schema___json_schema_7.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz";
+        sha1 = "f4c7ec43e81b319a9815115031709f26987891f0";
+      };
+    }
+    {
+      name = "_types_json5___json5_0.0.29.tgz";
+      path = fetchurl {
+        name = "_types_json5___json5_0.0.29.tgz";
+        url  = "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz";
+        sha1 = "ee28707ae94e11d2b827bcbe5270bcea7f3e71ee";
+      };
+    }
+    {
+      name = "_types_minimatch___minimatch_3.0.3.tgz";
+      path = fetchurl {
+        name = "_types_minimatch___minimatch_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz";
+        sha1 = "3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d";
+      };
+    }
+    {
+      name = "_types_node___node_14.11.1.tgz";
+      path = fetchurl {
+        name = "_types_node___node_14.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.11.1.tgz";
+        sha1 = "56af902ad157e763f9ba63d671c39cda3193c835";
+      };
+    }
+    {
+      name = "_types_normalize_package_data___normalize_package_data_2.4.0.tgz";
+      path = fetchurl {
+        name = "_types_normalize_package_data___normalize_package_data_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz";
+        sha1 = "e486d0d97396d79beedd0a6e33f4534ff6b4973e";
+      };
+    }
+    {
+      name = "_types_parse_json___parse_json_4.0.0.tgz";
+      path = fetchurl {
+        name = "_types_parse_json___parse_json_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz";
+        sha1 = "2f8bb441434d163b35fb8ffdccd7138927ffb8c0";
+      };
+    }
+    {
+      name = "_types_prettier___prettier_2.0.2.tgz";
+      path = fetchurl {
+        name = "_types_prettier___prettier_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.0.2.tgz";
+        sha1 = "5bb52ee68d0f8efa9cc0099920e56be6cc4e37f3";
+      };
+    }
+    {
+      name = "_types_q___q_1.5.2.tgz";
+      path = fetchurl {
+        name = "_types_q___q_1.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz";
+        sha1 = "690a1475b84f2a884fd07cd797c00f5f31356ea8";
+      };
+    }
+    {
+      name = "_types_schema_utils___schema_utils_1.0.0.tgz";
+      path = fetchurl {
+        name = "_types_schema_utils___schema_utils_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/schema-utils/-/schema-utils-1.0.0.tgz";
+        sha1 = "295d36f01e2cb8bc3207ca1d9a68e210db6b40cb";
+      };
+    }
+    {
+      name = "_types_stack_utils___stack_utils_2.0.0.tgz";
+      path = fetchurl {
+        name = "_types_stack_utils___stack_utils_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz";
+        sha1 = "7036640b4e21cc2f259ae826ce843d277dad8cff";
+      };
+    }
+    {
+      name = "_types_testing_library__jest_dom___testing_library__jest_dom_5.9.1.tgz";
+      path = fetchurl {
+        name = "_types_testing_library__jest_dom___testing_library__jest_dom_5.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.9.1.tgz";
+        sha1 = "aba5ee062b7880f69c212ef769389f30752806e5";
+      };
+    }
+    {
+      name = "_types_yargs_parser___yargs_parser_15.0.0.tgz";
+      path = fetchurl {
+        name = "_types_yargs_parser___yargs_parser_15.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz";
+        sha1 = "cb3f9f741869e20cce330ffbeb9271590483882d";
+      };
+    }
+    {
+      name = "_types_yargs___yargs_15.0.5.tgz";
+      path = fetchurl {
+        name = "_types_yargs___yargs_15.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.5.tgz";
+        sha1 = "947e9a6561483bdee9adffc983e91a6902af8b79";
+      };
+    }
+    {
+      name = "_webassemblyjs_ast___ast_1.9.0.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_ast___ast_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz";
+        sha1 = "bd850604b4042459a5a41cd7d338cbed695ed964";
+      };
+    }
+    {
+      name = "_webassemblyjs_floating_point_hex_parser___floating_point_hex_parser_1.9.0.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_floating_point_hex_parser___floating_point_hex_parser_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz";
+        sha1 = "3c3d3b271bddfc84deb00f71344438311d52ffb4";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_api_error___helper_api_error_1.9.0.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_api_error___helper_api_error_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz";
+        sha1 = "203f676e333b96c9da2eeab3ccef33c45928b6a2";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_buffer___helper_buffer_1.9.0.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_buffer___helper_buffer_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz";
+        sha1 = "a1442d269c5feb23fcbc9ef759dac3547f29de00";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_code_frame___helper_code_frame_1.9.0.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_code_frame___helper_code_frame_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz";
+        sha1 = "647f8892cd2043a82ac0c8c5e75c36f1d9159f27";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_fsm___helper_fsm_1.9.0.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_fsm___helper_fsm_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz";
+        sha1 = "c05256b71244214671f4b08ec108ad63b70eddb8";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_module_context___helper_module_context_1.9.0.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_module_context___helper_module_context_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz";
+        sha1 = "25d8884b76839871a08a6c6f806c3979ef712f07";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_wasm_bytecode___helper_wasm_bytecode_1.9.0.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_wasm_bytecode___helper_wasm_bytecode_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz";
+        sha1 = "4fed8beac9b8c14f8c58b70d124d549dd1fe5790";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_wasm_section___helper_wasm_section_1.9.0.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_wasm_section___helper_wasm_section_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz";
+        sha1 = "5a4138d5a6292ba18b04c5ae49717e4167965346";
+      };
+    }
+    {
+      name = "_webassemblyjs_ieee754___ieee754_1.9.0.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_ieee754___ieee754_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz";
+        sha1 = "15c7a0fbaae83fb26143bbacf6d6df1702ad39e4";
+      };
+    }
+    {
+      name = "_webassemblyjs_leb128___leb128_1.9.0.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_leb128___leb128_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz";
+        sha1 = "f19ca0b76a6dc55623a09cffa769e838fa1e1c95";
+      };
+    }
+    {
+      name = "_webassemblyjs_utf8___utf8_1.9.0.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_utf8___utf8_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz";
+        sha1 = "04d33b636f78e6a6813227e82402f7637b6229ab";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_edit___wasm_edit_1.9.0.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_edit___wasm_edit_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz";
+        sha1 = "3fe6d79d3f0f922183aa86002c42dd256cfee9cf";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_gen___wasm_gen_1.9.0.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_gen___wasm_gen_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz";
+        sha1 = "50bc70ec68ded8e2763b01a1418bf43491a7a49c";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_opt___wasm_opt_1.9.0.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_opt___wasm_opt_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz";
+        sha1 = "2211181e5b31326443cc8112eb9f0b9028721a61";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_parser___wasm_parser_1.9.0.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_parser___wasm_parser_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz";
+        sha1 = "9d48e44826df4a6598294aa6c87469d642fff65e";
+      };
+    }
+    {
+      name = "_webassemblyjs_wast_parser___wast_parser_1.9.0.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wast_parser___wast_parser_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz";
+        sha1 = "3031115d79ac5bd261556cecc3fa90a3ef451914";
+      };
+    }
+    {
+      name = "_webassemblyjs_wast_printer___wast_printer_1.9.0.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wast_printer___wast_printer_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz";
+        sha1 = "4935d54c85fef637b00ce9f52377451d00d47899";
+      };
+    }
+    {
+      name = "_xtuc_ieee754___ieee754_1.2.0.tgz";
+      path = fetchurl {
+        name = "_xtuc_ieee754___ieee754_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz";
+        sha1 = "eef014a3145ae477a1cbc00cd1e552336dceb790";
+      };
+    }
+    {
+      name = "_xtuc_long___long_4.2.2.tgz";
+      path = fetchurl {
+        name = "_xtuc_long___long_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz";
+        sha1 = "d291c6a4e97989b5c61d9acf396ae4fe133a718d";
+      };
+    }
+    {
+      name = "abab___abab_2.0.5.tgz";
+      path = fetchurl {
+        name = "abab___abab_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz";
+        sha1 = "c0b678fb32d60fc1219c784d6a826fe385aeb79a";
+      };
+    }
+    {
+      name = "accepts___accepts_1.3.7.tgz";
+      path = fetchurl {
+        name = "accepts___accepts_1.3.7.tgz";
+        url  = "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz";
+        sha1 = "531bc726517a3b2b41f850021c6cc15eaab507cd";
+      };
+    }
+    {
+      name = "acorn_globals___acorn_globals_6.0.0.tgz";
+      path = fetchurl {
+        name = "acorn_globals___acorn_globals_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz";
+        sha1 = "46cdd39f0f8ff08a876619b55f5ac8a6dc770b45";
+      };
+    }
+    {
+      name = "acorn_jsx___acorn_jsx_3.0.1.tgz";
+      path = fetchurl {
+        name = "acorn_jsx___acorn_jsx_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz";
+        sha1 = "afdf9488fb1ecefc8348f6fb22f464e32a58b36b";
+      };
+    }
+    {
+      name = "acorn_jsx___acorn_jsx_5.2.0.tgz";
+      path = fetchurl {
+        name = "acorn_jsx___acorn_jsx_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz";
+        sha1 = "4c66069173d6fdd68ed85239fc256226182b2ebe";
+      };
+    }
+    {
+      name = "acorn_walk___acorn_walk_7.2.0.tgz";
+      path = fetchurl {
+        name = "acorn_walk___acorn_walk_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz";
+        sha1 = "0de889a601203909b0fbe07b8938dc21d2e967bc";
+      };
+    }
+    {
+      name = "acorn_walk___acorn_walk_8.0.0.tgz";
+      path = fetchurl {
+        name = "acorn_walk___acorn_walk_8.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.0.0.tgz";
+        sha1 = "56ae4c0f434a45fff4a125e7ea95fa9c98f67a16";
+      };
+    }
+    {
+      name = "acorn___acorn_3.3.0.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz";
+        sha1 = "45e37fb39e8da3f25baee3ff5369e2bb5f22017a";
+      };
+    }
+    {
+      name = "acorn___acorn_5.7.3.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_5.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz";
+        sha1 = "67aa231bf8812974b85235a96771eb6bd07ea279";
+      };
+    }
+    {
+      name = "acorn___acorn_6.4.1.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_6.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz";
+        sha1 = "531e58ba3f51b9dacb9a6646ca4debf5b14ca474";
+      };
+    }
+    {
+      name = "acorn___acorn_7.4.1.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_7.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz";
+        sha1 = "feaed255973d2e77555b83dbc08851a6c63520fa";
+      };
+    }
+    {
+      name = "acorn___acorn_8.0.4.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_8.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-8.0.4.tgz";
+        sha1 = "7a3ae4191466a6984eee0fe3407a4f3aa9db8354";
+      };
+    }
+    {
+      name = "aggregate_error___aggregate_error_3.1.0.tgz";
+      path = fetchurl {
+        name = "aggregate_error___aggregate_error_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz";
+        sha1 = "92670ff50f5359bdb7a3e0d40d0ec30c5737687a";
+      };
+    }
+    {
+      name = "ajv_errors___ajv_errors_1.0.1.tgz";
+      path = fetchurl {
+        name = "ajv_errors___ajv_errors_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz";
+        sha1 = "f35986aceb91afadec4102fbd85014950cefa64d";
+      };
+    }
+    {
+      name = "ajv_keywords___ajv_keywords_1.5.1.tgz";
+      path = fetchurl {
+        name = "ajv_keywords___ajv_keywords_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz";
+        sha1 = "314dd0a4b3368fad3dfcdc54ede6171b886daf3c";
+      };
+    }
+    {
+      name = "ajv_keywords___ajv_keywords_3.5.2.tgz";
+      path = fetchurl {
+        name = "ajv_keywords___ajv_keywords_3.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz";
+        sha1 = "31f29da5ab6e00d1c2d329acf7b5929614d5014d";
+      };
+    }
+    {
+      name = "ajv___ajv_4.11.8.tgz";
+      path = fetchurl {
+        name = "ajv___ajv_4.11.8.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz";
+        sha1 = "82ffb02b29e662ae53bdc20af15947706739c536";
+      };
+    }
+    {
+      name = "ajv___ajv_6.12.6.tgz";
+      path = fetchurl {
+        name = "ajv___ajv_6.12.6.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz";
+        sha1 = "baf5a62e802b07d977034586f8c3baf5adf26df4";
+      };
+    }
+    {
+      name = "alphanum_sort___alphanum_sort_1.0.2.tgz";
+      path = fetchurl {
+        name = "alphanum_sort___alphanum_sort_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz";
+        sha1 = "97a1119649b211ad33691d9f9f486a8ec9fbe0a3";
+      };
+    }
+    {
+      name = "ansi_colors___ansi_colors_3.2.4.tgz";
+      path = fetchurl {
+        name = "ansi_colors___ansi_colors_3.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz";
+        sha1 = "e3a3da4bfbae6c86a9c285625de124a234026fbf";
+      };
+    }
+    {
+      name = "ansi_colors___ansi_colors_4.1.1.tgz";
+      path = fetchurl {
+        name = "ansi_colors___ansi_colors_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz";
+        sha1 = "cbb9ae256bf750af1eab344f229aa27fe94ba348";
+      };
+    }
+    {
+      name = "ansi_escapes___ansi_escapes_1.4.0.tgz";
+      path = fetchurl {
+        name = "ansi_escapes___ansi_escapes_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz";
+        sha1 = "d3a8a83b319aa67793662b13e761c7911422306e";
+      };
+    }
+    {
+      name = "ansi_escapes___ansi_escapes_4.3.1.tgz";
+      path = fetchurl {
+        name = "ansi_escapes___ansi_escapes_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz";
+        sha1 = "a5c47cc43181f1f38ffd7076837700d395522a61";
+      };
+    }
+    {
+      name = "ansi_html___ansi_html_0.0.7.tgz";
+      path = fetchurl {
+        name = "ansi_html___ansi_html_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz";
+        sha1 = "813584021962a9e9e6fd039f940d12f56ca7859e";
+      };
+    }
+    {
+      name = "ansi_regex___ansi_regex_2.1.1.tgz";
+      path = fetchurl {
+        name = "ansi_regex___ansi_regex_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz";
+        sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
+      };
+    }
+    {
+      name = "ansi_regex___ansi_regex_3.0.0.tgz";
+      path = fetchurl {
+        name = "ansi_regex___ansi_regex_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz";
+        sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
+      };
+    }
+    {
+      name = "ansi_regex___ansi_regex_4.1.0.tgz";
+      path = fetchurl {
+        name = "ansi_regex___ansi_regex_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz";
+        sha1 = "8b9f8f08cf1acb843756a839ca8c7e3168c51997";
+      };
+    }
+    {
+      name = "ansi_regex___ansi_regex_5.0.0.tgz";
+      path = fetchurl {
+        name = "ansi_regex___ansi_regex_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz";
+        sha1 = "388539f55179bf39339c81af30a654d69f87cb75";
+      };
+    }
+    {
+      name = "ansi_styles___ansi_styles_2.2.1.tgz";
+      path = fetchurl {
+        name = "ansi_styles___ansi_styles_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz";
+        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+      };
+    }
+    {
+      name = "ansi_styles___ansi_styles_3.2.1.tgz";
+      path = fetchurl {
+        name = "ansi_styles___ansi_styles_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz";
+        sha1 = "41fbb20243e50b12be0f04b8dedbf07520ce841d";
+      };
+    }
+    {
+      name = "ansi_styles___ansi_styles_4.2.1.tgz";
+      path = fetchurl {
+        name = "ansi_styles___ansi_styles_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz";
+        sha1 = "90ae75c424d008d2624c5bf29ead3177ebfcf359";
+      };
+    }
+    {
+      name = "anymatch___anymatch_2.0.0.tgz";
+      path = fetchurl {
+        name = "anymatch___anymatch_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz";
+        sha1 = "bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb";
+      };
+    }
+    {
+      name = "anymatch___anymatch_3.1.1.tgz";
+      path = fetchurl {
+        name = "anymatch___anymatch_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz";
+        sha1 = "c55ecf02185e2469259399310c173ce31233b142";
+      };
+    }
+    {
+      name = "aproba___aproba_1.2.0.tgz";
+      path = fetchurl {
+        name = "aproba___aproba_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz";
+        sha1 = "6802e6264efd18c790a1b0d517f0f2627bf2c94a";
+      };
+    }
+    {
+      name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz";
+      path = fetchurl {
+        name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz";
+        sha1 = "4b35c2944f062a8bfcda66410760350fe9ddfc21";
+      };
+    }
+    {
+      name = "argparse___argparse_1.0.10.tgz";
+      path = fetchurl {
+        name = "argparse___argparse_1.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz";
+        sha1 = "bcd6791ea5ae09725e17e5ad988134cd40b3d911";
+      };
+    }
+    {
+      name = "aria_query___aria_query_4.2.2.tgz";
+      path = fetchurl {
+        name = "aria_query___aria_query_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz";
+        sha1 = "0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b";
+      };
+    }
+    {
+      name = "arr_diff___arr_diff_4.0.0.tgz";
+      path = fetchurl {
+        name = "arr_diff___arr_diff_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz";
+        sha1 = "d6461074febfec71e7e15235761a329a5dc7c520";
+      };
+    }
+    {
+      name = "arr_flatten___arr_flatten_1.1.0.tgz";
+      path = fetchurl {
+        name = "arr_flatten___arr_flatten_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz";
+        sha1 = "36048bbff4e7b47e136644316c99669ea5ae91f1";
+      };
+    }
+    {
+      name = "arr_union___arr_union_3.1.0.tgz";
+      path = fetchurl {
+        name = "arr_union___arr_union_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz";
+        sha1 = "e39b09aea9def866a8f206e288af63919bae39c4";
+      };
+    }
+    {
+      name = "array_flatten___array_flatten_1.1.1.tgz";
+      path = fetchurl {
+        name = "array_flatten___array_flatten_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz";
+        sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2";
+      };
+    }
+    {
+      name = "array_flatten___array_flatten_2.1.2.tgz";
+      path = fetchurl {
+        name = "array_flatten___array_flatten_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz";
+        sha1 = "24ef80a28c1a893617e2149b0c6d0d788293b099";
+      };
+    }
+    {
+      name = "array_includes___array_includes_3.1.1.tgz";
+      path = fetchurl {
+        name = "array_includes___array_includes_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz";
+        sha1 = "cdd67e6852bdf9c1215460786732255ed2459348";
+      };
+    }
+    {
+      name = "array_union___array_union_1.0.2.tgz";
+      path = fetchurl {
+        name = "array_union___array_union_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz";
+        sha1 = "9a34410e4f4e3da23dea375be5be70f24778ec39";
+      };
+    }
+    {
+      name = "array_uniq___array_uniq_1.0.3.tgz";
+      path = fetchurl {
+        name = "array_uniq___array_uniq_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz";
+        sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6";
+      };
+    }
+    {
+      name = "array_unique___array_unique_0.3.2.tgz";
+      path = fetchurl {
+        name = "array_unique___array_unique_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz";
+        sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428";
+      };
+    }
+    {
+      name = "array.prototype.flat___array.prototype.flat_1.2.3.tgz";
+      path = fetchurl {
+        name = "array.prototype.flat___array.prototype.flat_1.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz";
+        sha1 = "0de82b426b0318dbfdb940089e38b043d37f6c7b";
+      };
+    }
+    {
+      name = "array.prototype.flatmap___array.prototype.flatmap_1.2.3.tgz";
+      path = fetchurl {
+        name = "array.prototype.flatmap___array.prototype.flatmap_1.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz";
+        sha1 = "1c13f84a178566042dd63de4414440db9222e443";
+      };
+    }
+    {
+      name = "arrow_key_navigation___arrow_key_navigation_1.2.0.tgz";
+      path = fetchurl {
+        name = "arrow_key_navigation___arrow_key_navigation_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/arrow-key-navigation/-/arrow-key-navigation-1.2.0.tgz";
+        sha1 = "edefc5f8b4fc4e384e7c20ddecf81db7ffc970a9";
+      };
+    }
+    {
+      name = "asn1.js___asn1.js_5.4.1.tgz";
+      path = fetchurl {
+        name = "asn1.js___asn1.js_5.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz";
+        sha1 = "11a980b84ebb91781ce35b0fdc2ee294e3783f07";
+      };
+    }
+    {
+      name = "asn1___asn1_0.2.4.tgz";
+      path = fetchurl {
+        name = "asn1___asn1_0.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz";
+        sha1 = "8d2475dfab553bb33e77b54e59e880bb8ce23136";
+      };
+    }
+    {
+      name = "assert_plus___assert_plus_1.0.0.tgz";
+      path = fetchurl {
+        name = "assert_plus___assert_plus_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz";
+        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+      };
+    }
+    {
+      name = "assert___assert_1.5.0.tgz";
+      path = fetchurl {
+        name = "assert___assert_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz";
+        sha1 = "55c109aaf6e0aefdb3dc4b71240c70bf574b18eb";
+      };
+    }
+    {
+      name = "assign_symbols___assign_symbols_1.0.0.tgz";
+      path = fetchurl {
+        name = "assign_symbols___assign_symbols_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz";
+        sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367";
+      };
+    }
+    {
+      name = "ast_types_flow___ast_types_flow_0.0.7.tgz";
+      path = fetchurl {
+        name = "ast_types_flow___ast_types_flow_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz";
+        sha1 = "f70b735c6bca1a5c9c22d982c3e39e7feba3bdad";
+      };
+    }
+    {
+      name = "astral_regex___astral_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "astral_regex___astral_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz";
+        sha1 = "6c8c3fb827dd43ee3918f27b82782ab7658a6fd9";
+      };
+    }
+    {
+      name = "async_each___async_each_1.0.3.tgz";
+      path = fetchurl {
+        name = "async_each___async_each_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz";
+        sha1 = "b727dbf87d7651602f06f4d4ac387f47d91b0cbf";
+      };
+    }
+    {
+      name = "async_limiter___async_limiter_1.0.1.tgz";
+      path = fetchurl {
+        name = "async_limiter___async_limiter_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz";
+        sha1 = "dd379e94f0db8310b08291f9d64c3209766617fd";
+      };
+    }
+    {
+      name = "async___async_0.9.2.tgz";
+      path = fetchurl {
+        name = "async___async_0.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz";
+        sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
+      };
+    }
+    {
+      name = "async___async_2.6.3.tgz";
+      path = fetchurl {
+        name = "async___async_2.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz";
+        sha1 = "d72625e2344a3656e3a3ad4fa749fa83299d82ff";
+      };
+    }
+    {
+      name = "asynckit___asynckit_0.4.0.tgz";
+      path = fetchurl {
+        name = "asynckit___asynckit_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz";
+        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+      };
+    }
+    {
+      name = "atob___atob_2.1.2.tgz";
+      path = fetchurl {
+        name = "atob___atob_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz";
+        sha1 = "6d9517eb9e030d2436666651e86bd9f6f13533c9";
+      };
+    }
+    {
+      name = "autoprefixer___autoprefixer_9.8.6.tgz";
+      path = fetchurl {
+        name = "autoprefixer___autoprefixer_9.8.6.tgz";
+        url  = "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz";
+        sha1 = "3b73594ca1bf9266320c5acf1588d74dea74210f";
+      };
+    }
+    {
+      name = "aws_sign2___aws_sign2_0.7.0.tgz";
+      path = fetchurl {
+        name = "aws_sign2___aws_sign2_0.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz";
+        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
+      };
+    }
+    {
+      name = "aws4___aws4_1.10.1.tgz";
+      path = fetchurl {
+        name = "aws4___aws4_1.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz";
+        sha1 = "e1e82e4f3e999e2cfd61b161280d16a111f86428";
+      };
+    }
+    {
+      name = "axe_core___axe_core_4.0.2.tgz";
+      path = fetchurl {
+        name = "axe_core___axe_core_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/axe-core/-/axe-core-4.0.2.tgz";
+        sha1 = "c7cf7378378a51fcd272d3c09668002a4990b1cb";
+      };
+    }
+    {
+      name = "axios___axios_0.21.0.tgz";
+      path = fetchurl {
+        name = "axios___axios_0.21.0.tgz";
+        url  = "https://registry.yarnpkg.com/axios/-/axios-0.21.0.tgz";
+        sha1 = "26df088803a2350dff2c27f96fef99fe49442aca";
+      };
+    }
+    {
+      name = "axobject_query___axobject_query_2.2.0.tgz";
+      path = fetchurl {
+        name = "axobject_query___axobject_query_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz";
+        sha1 = "943d47e10c0b704aa42275e20edf3722648989be";
+      };
+    }
+    {
+      name = "babel_eslint___babel_eslint_10.1.0.tgz";
+      path = fetchurl {
+        name = "babel_eslint___babel_eslint_10.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz";
+        sha1 = "6968e568a910b78fb3779cdd8b6ac2f479943232";
+      };
+    }
+    {
+      name = "babel_jest___babel_jest_26.6.3.tgz";
+      path = fetchurl {
+        name = "babel_jest___babel_jest_26.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz";
+        sha1 = "d87d25cb0037577a0c89f82e5755c5d293c01056";
+      };
+    }
+    {
+      name = "babel_loader___babel_loader_8.2.1.tgz";
+      path = fetchurl {
+        name = "babel_loader___babel_loader_8.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.1.tgz";
+        sha1 = "e53313254677e86f27536f5071d807e01d24ec00";
+      };
+    }
+    {
+      name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.3.tgz";
+      path = fetchurl {
+        name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz";
+        sha1 = "84fda19c976ec5c6defef57f9427b3def66e17a3";
+      };
+    }
+    {
+      name = "babel_plugin_emotion___babel_plugin_emotion_10.0.33.tgz";
+      path = fetchurl {
+        name = "babel_plugin_emotion___babel_plugin_emotion_10.0.33.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.33.tgz";
+        sha1 = "ce1155dcd1783bbb9286051efee53f4e2be63e03";
+      };
+    }
+    {
+      name = "babel_plugin_istanbul___babel_plugin_istanbul_6.0.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_istanbul___babel_plugin_istanbul_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz";
+        sha1 = "e159ccdc9af95e0b570c75b4573b7c34d671d765";
+      };
+    }
+    {
+      name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_26.6.2.tgz";
+      path = fetchurl {
+        name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz";
+        sha1 = "8185bd030348d254c6d7dd974355e6a28b21e62d";
+      };
+    }
+    {
+      name = "babel_plugin_lodash___babel_plugin_lodash_3.3.4.tgz";
+      path = fetchurl {
+        name = "babel_plugin_lodash___babel_plugin_lodash_3.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-lodash/-/babel-plugin-lodash-3.3.4.tgz";
+        sha1 = "4f6844358a1340baed182adbeffa8df9967bc196";
+      };
+    }
+    {
+      name = "babel_plugin_macros___babel_plugin_macros_2.8.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_macros___babel_plugin_macros_2.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz";
+        sha1 = "0f958a7cc6556b1e65344465d99111a1e5e10138";
+      };
+    }
+    {
+      name = "babel_plugin_preval___babel_plugin_preval_5.0.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_preval___babel_plugin_preval_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-preval/-/babel-plugin-preval-5.0.0.tgz";
+        sha1 = "6cabb947ecc241664966e1f99eb56a3b4bb63d1e";
+      };
+    }
+    {
+      name = "babel_plugin_react_intl___babel_plugin_react_intl_6.2.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_react_intl___babel_plugin_react_intl_6.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-react-intl/-/babel-plugin-react-intl-6.2.0.tgz";
+        sha1 = "ac51ca757f318938792fc91e1747515e9225386a";
+      };
+    }
+    {
+      name = "babel_plugin_syntax_jsx___babel_plugin_syntax_jsx_6.18.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_syntax_jsx___babel_plugin_syntax_jsx_6.18.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz";
+        sha1 = "0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946";
+      };
+    }
+    {
+      name = "babel_plugin_transform_react_remove_prop_types___babel_plugin_transform_react_remove_prop_types_0.4.24.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_react_remove_prop_types___babel_plugin_transform_react_remove_prop_types_0.4.24.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz";
+        sha1 = "f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a";
+      };
+    }
+    {
+      name = "babel_preset_current_node_syntax___babel_preset_current_node_syntax_1.0.0.tgz";
+      path = fetchurl {
+        name = "babel_preset_current_node_syntax___babel_preset_current_node_syntax_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.0.tgz";
+        sha1 = "cf5feef29551253471cfa82fc8e0f5063df07a77";
+      };
+    }
+    {
+      name = "babel_preset_jest___babel_preset_jest_26.6.2.tgz";
+      path = fetchurl {
+        name = "babel_preset_jest___babel_preset_jest_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz";
+        sha1 = "747872b1171df032252426586881d62d31798fee";
+      };
+    }
+    {
+      name = "babel_runtime___babel_runtime_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_runtime___babel_runtime_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz";
+        sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe";
+      };
+    }
+    {
+      name = "balanced_match___balanced_match_1.0.0.tgz";
+      path = fetchurl {
+        name = "balanced_match___balanced_match_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz";
+        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+      };
+    }
+    {
+      name = "base64_js___base64_js_1.3.1.tgz";
+      path = fetchurl {
+        name = "base64_js___base64_js_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz";
+        sha1 = "58ece8cb75dd07e71ed08c736abc5fac4dbf8df1";
+      };
+    }
+    {
+      name = "base___base_0.11.2.tgz";
+      path = fetchurl {
+        name = "base___base_0.11.2.tgz";
+        url  = "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz";
+        sha1 = "7bde5ced145b6d551a90db87f83c558b4eb48a8f";
+      };
+    }
+    {
+      name = "batch___batch_0.6.1.tgz";
+      path = fetchurl {
+        name = "batch___batch_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz";
+        sha1 = "dc34314f4e679318093fc760272525f94bf25c16";
+      };
+    }
+    {
+      name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
+      path = fetchurl {
+        name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
+        sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
+      };
+    }
+    {
+      name = "big.js___big.js_3.2.0.tgz";
+      path = fetchurl {
+        name = "big.js___big.js_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz";
+        sha1 = "a5fc298b81b9e0dca2e458824784b65c52ba588e";
+      };
+    }
+    {
+      name = "big.js___big.js_5.2.2.tgz";
+      path = fetchurl {
+        name = "big.js___big.js_5.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz";
+        sha1 = "65f0af382f578bcdc742bd9c281e9cb2d7768328";
+      };
+    }
+    {
+      name = "binary_extensions___binary_extensions_1.13.1.tgz";
+      path = fetchurl {
+        name = "binary_extensions___binary_extensions_1.13.1.tgz";
+        url  = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz";
+        sha1 = "598afe54755b2868a5330d2aff9d4ebb53209b65";
+      };
+    }
+    {
+      name = "binary_extensions___binary_extensions_2.1.0.tgz";
+      path = fetchurl {
+        name = "binary_extensions___binary_extensions_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz";
+        sha1 = "30fa40c9e7fe07dbc895678cd287024dea241dd9";
+      };
+    }
+    {
+      name = "bindings___bindings_1.5.0.tgz";
+      path = fetchurl {
+        name = "bindings___bindings_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz";
+        sha1 = "10353c9e945334bc0511a6d90b38fbc7c9c504df";
+      };
+    }
+    {
+      name = "bluebird___bluebird_3.7.2.tgz";
+      path = fetchurl {
+        name = "bluebird___bluebird_3.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz";
+        sha1 = "9f229c15be272454ffa973ace0dbee79a1b0c36f";
+      };
+    }
+    {
+      name = "blurhash___blurhash_1.1.3.tgz";
+      path = fetchurl {
+        name = "blurhash___blurhash_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/blurhash/-/blurhash-1.1.3.tgz";
+        sha1 = "dc325af7da836d07a0861d830bdd63694382483e";
+      };
+    }
+    {
+      name = "bmp_js___bmp_js_0.1.0.tgz";
+      path = fetchurl {
+        name = "bmp_js___bmp_js_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/bmp-js/-/bmp-js-0.1.0.tgz";
+        sha1 = "e05a63f796a6c1ff25f4771ec7adadc148c07233";
+      };
+    }
+    {
+      name = "bn.js___bn.js_4.11.9.tgz";
+      path = fetchurl {
+        name = "bn.js___bn.js_4.11.9.tgz";
+        url  = "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz";
+        sha1 = "26d556829458f9d1e81fc48952493d0ba3507828";
+      };
+    }
+    {
+      name = "bn.js___bn.js_5.1.3.tgz";
+      path = fetchurl {
+        name = "bn.js___bn.js_5.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz";
+        sha1 = "beca005408f642ebebea80b042b4d18d2ac0ee6b";
+      };
+    }
+    {
+      name = "body_parser___body_parser_1.19.0.tgz";
+      path = fetchurl {
+        name = "body_parser___body_parser_1.19.0.tgz";
+        url  = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz";
+        sha1 = "96b2709e57c9c4e09a6fd66a8fd979844f69f08a";
+      };
+    }
+    {
+      name = "bonjour___bonjour_3.5.0.tgz";
+      path = fetchurl {
+        name = "bonjour___bonjour_3.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz";
+        sha1 = "8e890a183d8ee9a2393b3844c691a42bcf7bc9f5";
+      };
+    }
+    {
+      name = "boolbase___boolbase_1.0.0.tgz";
+      path = fetchurl {
+        name = "boolbase___boolbase_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz";
+        sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e";
+      };
+    }
+    {
+      name = "brace_expansion___brace_expansion_1.1.11.tgz";
+      path = fetchurl {
+        name = "brace_expansion___brace_expansion_1.1.11.tgz";
+        url  = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz";
+        sha1 = "3c7fcbf529d87226f3d2f52b966ff5271eb441dd";
+      };
+    }
+    {
+      name = "braces___braces_2.3.2.tgz";
+      path = fetchurl {
+        name = "braces___braces_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz";
+        sha1 = "5979fd3f14cd531565e5fa2df1abfff1dfaee729";
+      };
+    }
+    {
+      name = "braces___braces_3.0.2.tgz";
+      path = fetchurl {
+        name = "braces___braces_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz";
+        sha1 = "3454e1a462ee8d599e236df336cd9ea4f8afe107";
+      };
+    }
+    {
+      name = "bricks.js___bricks.js_1.8.0.tgz";
+      path = fetchurl {
+        name = "bricks.js___bricks.js_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/bricks.js/-/bricks.js-1.8.0.tgz";
+        sha1 = "8fdeb3c0226af251f4d5727a7df7f9ac0092b4b2";
+      };
+    }
+    {
+      name = "brorand___brorand_1.1.0.tgz";
+      path = fetchurl {
+        name = "brorand___brorand_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz";
+        sha1 = "12c25efe40a45e3c323eb8675a0a0ce57b22371f";
+      };
+    }
+    {
+      name = "browser_process_hrtime___browser_process_hrtime_1.0.0.tgz";
+      path = fetchurl {
+        name = "browser_process_hrtime___browser_process_hrtime_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz";
+        sha1 = "3c9b4b7d782c8121e56f10106d84c0d0ffc94626";
+      };
+    }
+    {
+      name = "browserify_aes___browserify_aes_1.2.0.tgz";
+      path = fetchurl {
+        name = "browserify_aes___browserify_aes_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz";
+        sha1 = "326734642f403dabc3003209853bb70ad428ef48";
+      };
+    }
+    {
+      name = "browserify_cipher___browserify_cipher_1.0.1.tgz";
+      path = fetchurl {
+        name = "browserify_cipher___browserify_cipher_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz";
+        sha1 = "8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0";
+      };
+    }
+    {
+      name = "browserify_des___browserify_des_1.0.2.tgz";
+      path = fetchurl {
+        name = "browserify_des___browserify_des_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz";
+        sha1 = "3af4f1f59839403572f1c66204375f7a7f703e9c";
+      };
+    }
+    {
+      name = "browserify_rsa___browserify_rsa_4.0.1.tgz";
+      path = fetchurl {
+        name = "browserify_rsa___browserify_rsa_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz";
+        sha1 = "21e0abfaf6f2029cf2fafb133567a701d4135524";
+      };
+    }
+    {
+      name = "browserify_sign___browserify_sign_4.2.1.tgz";
+      path = fetchurl {
+        name = "browserify_sign___browserify_sign_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz";
+        sha1 = "eaf4add46dd54be3bb3b36c0cf15abbeba7956c3";
+      };
+    }
+    {
+      name = "browserify_zlib___browserify_zlib_0.2.0.tgz";
+      path = fetchurl {
+        name = "browserify_zlib___browserify_zlib_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz";
+        sha1 = "2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f";
+      };
+    }
+    {
+      name = "browserslist___browserslist_4.14.5.tgz";
+      path = fetchurl {
+        name = "browserslist___browserslist_4.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.5.tgz";
+        sha1 = "1c751461a102ddc60e40993639b709be7f2c4015";
+      };
+    }
+    {
+      name = "browserslist___browserslist_4.14.7.tgz";
+      path = fetchurl {
+        name = "browserslist___browserslist_4.14.7.tgz";
+        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.7.tgz";
+        sha1 = "c071c1b3622c1c2e790799a37bb09473a4351cb6";
+      };
+    }
+    {
+      name = "bser___bser_2.1.1.tgz";
+      path = fetchurl {
+        name = "bser___bser_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz";
+        sha1 = "e6787da20ece9d07998533cfd9de6f5c38f4bc05";
+      };
+    }
+    {
+      name = "buffer_from___buffer_from_1.1.1.tgz";
+      path = fetchurl {
+        name = "buffer_from___buffer_from_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz";
+        sha1 = "32713bc028f75c02fdb710d7c7bcec1f2c6070ef";
+      };
+    }
+    {
+      name = "buffer_indexof___buffer_indexof_1.1.1.tgz";
+      path = fetchurl {
+        name = "buffer_indexof___buffer_indexof_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz";
+        sha1 = "52fabcc6a606d1a00302802648ef68f639da268c";
+      };
+    }
+    {
+      name = "buffer_writer___buffer_writer_1.0.1.tgz";
+      path = fetchurl {
+        name = "buffer_writer___buffer_writer_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-1.0.1.tgz";
+        sha1 = "22a936901e3029afcd7547eb4487ceb697a3bf08";
+      };
+    }
+    {
+      name = "buffer_xor___buffer_xor_1.0.3.tgz";
+      path = fetchurl {
+        name = "buffer_xor___buffer_xor_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz";
+        sha1 = "26e61ed1422fb70dd42e6e36729ed51d855fe8d9";
+      };
+    }
+    {
+      name = "buffer___buffer_4.9.2.tgz";
+      path = fetchurl {
+        name = "buffer___buffer_4.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz";
+        sha1 = "230ead344002988644841ab0244af8c44bbe3ef8";
+      };
+    }
+    {
+      name = "builtin_status_codes___builtin_status_codes_3.0.0.tgz";
+      path = fetchurl {
+        name = "builtin_status_codes___builtin_status_codes_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz";
+        sha1 = "85982878e21b98e1c66425e03d0174788f569ee8";
+      };
+    }
+    {
+      name = "bytes___bytes_3.0.0.tgz";
+      path = fetchurl {
+        name = "bytes___bytes_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz";
+        sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048";
+      };
+    }
+    {
+      name = "bytes___bytes_3.1.0.tgz";
+      path = fetchurl {
+        name = "bytes___bytes_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz";
+        sha1 = "f6cf7933a360e0588fa9fde85651cdc7f805d1f6";
+      };
+    }
+    {
+      name = "cacache___cacache_12.0.4.tgz";
+      path = fetchurl {
+        name = "cacache___cacache_12.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz";
+        sha1 = "668bcbd105aeb5f1d92fe25570ec9525c8faa40c";
+      };
+    }
+    {
+      name = "cacache___cacache_15.0.5.tgz";
+      path = fetchurl {
+        name = "cacache___cacache_15.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/cacache/-/cacache-15.0.5.tgz";
+        sha1 = "69162833da29170d6732334643c60e005f5f17d0";
+      };
+    }
+    {
+      name = "cache_base___cache_base_1.0.1.tgz";
+      path = fetchurl {
+        name = "cache_base___cache_base_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz";
+        sha1 = "0a7f46416831c8b662ee36fe4e7c59d76f666ab2";
+      };
+    }
+    {
+      name = "caller_callsite___caller_callsite_2.0.0.tgz";
+      path = fetchurl {
+        name = "caller_callsite___caller_callsite_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz";
+        sha1 = "847e0fce0a223750a9a027c54b33731ad3154134";
+      };
+    }
+    {
+      name = "caller_path___caller_path_0.1.0.tgz";
+      path = fetchurl {
+        name = "caller_path___caller_path_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz";
+        sha1 = "94085ef63581ecd3daa92444a8fe94e82577751f";
+      };
+    }
+    {
+      name = "caller_path___caller_path_2.0.0.tgz";
+      path = fetchurl {
+        name = "caller_path___caller_path_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz";
+        sha1 = "468f83044e369ab2010fac5f06ceee15bb2cb1f4";
+      };
+    }
+    {
+      name = "callsites___callsites_0.2.0.tgz";
+      path = fetchurl {
+        name = "callsites___callsites_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz";
+        sha1 = "afab96262910a7f33c19a5775825c69f34e350ca";
+      };
+    }
+    {
+      name = "callsites___callsites_2.0.0.tgz";
+      path = fetchurl {
+        name = "callsites___callsites_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz";
+        sha1 = "06eb84f00eea413da86affefacbffb36093b3c50";
+      };
+    }
+    {
+      name = "callsites___callsites_3.1.0.tgz";
+      path = fetchurl {
+        name = "callsites___callsites_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz";
+        sha1 = "b3630abd8943432f54b3f0519238e33cd7df2f73";
+      };
+    }
+    {
+      name = "camelcase___camelcase_5.3.1.tgz";
+      path = fetchurl {
+        name = "camelcase___camelcase_5.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz";
+        sha1 = "e3c9b31569e106811df242f715725a1f4c494320";
+      };
+    }
+    {
+      name = "camelcase___camelcase_6.2.0.tgz";
+      path = fetchurl {
+        name = "camelcase___camelcase_6.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz";
+        sha1 = "924af881c9d525ac9d87f40d964e5cea982a1809";
+      };
+    }
+    {
+      name = "caniuse_api___caniuse_api_3.0.0.tgz";
+      path = fetchurl {
+        name = "caniuse_api___caniuse_api_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz";
+        sha1 = "5e4d90e2274961d46291997df599e3ed008ee4c0";
+      };
+    }
+    {
+      name = "caniuse_lite___caniuse_lite_1.0.30001143.tgz";
+      path = fetchurl {
+        name = "caniuse_lite___caniuse_lite_1.0.30001143.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001143.tgz";
+        sha1 = "560f2cfb9f313d1d7e52eb8dac0e4e36c8821c0d";
+      };
+    }
+    {
+      name = "caniuse_lite___caniuse_lite_1.0.30001159.tgz";
+      path = fetchurl {
+        name = "caniuse_lite___caniuse_lite_1.0.30001159.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001159.tgz";
+        sha1 = "bebde28f893fa9594dadcaa7d6b8e2aa0299df20";
+      };
+    }
+    {
+      name = "capture_exit___capture_exit_2.0.0.tgz";
+      path = fetchurl {
+        name = "capture_exit___capture_exit_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz";
+        sha1 = "fb953bfaebeb781f62898239dabb426d08a509a4";
+      };
+    }
+    {
+      name = "caseless___caseless_0.12.0.tgz";
+      path = fetchurl {
+        name = "caseless___caseless_0.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz";
+        sha1 = "1b681c21ff84033c826543090689420d187151dc";
+      };
+    }
+    {
+      name = "chalk___chalk_1.1.3.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz";
+        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+      };
+    }
+    {
+      name = "chalk___chalk_2.4.2.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_2.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz";
+        sha1 = "cd42541677a54333cf541a49108c1432b44c9424";
+      };
+    }
+    {
+      name = "chalk___chalk_3.0.0.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz";
+        sha1 = "3f73c2bf526591f574cc492c51e2456349f844e4";
+      };
+    }
+    {
+      name = "chalk___chalk_4.1.0.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz";
+        sha1 = "4e14870a618d9e2edd97dd8345fd9d9dc315646a";
+      };
+    }
+    {
+      name = "char_regex___char_regex_1.0.2.tgz";
+      path = fetchurl {
+        name = "char_regex___char_regex_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz";
+        sha1 = "d744358226217f981ed58f479b1d6bcc29545dcf";
+      };
+    }
+    {
+      name = "chokidar___chokidar_3.4.1.tgz";
+      path = fetchurl {
+        name = "chokidar___chokidar_3.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.1.tgz";
+        sha1 = "e905bdecf10eaa0a0b1db0c664481cc4cbc22ba1";
+      };
+    }
+    {
+      name = "chokidar___chokidar_2.1.8.tgz";
+      path = fetchurl {
+        name = "chokidar___chokidar_2.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz";
+        sha1 = "804b3a7b6a99358c3c5c61e71d8728f041cff917";
+      };
+    }
+    {
+      name = "chownr___chownr_1.1.4.tgz";
+      path = fetchurl {
+        name = "chownr___chownr_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz";
+        sha1 = "6fc9d7b42d32a583596337666e7d08084da2cc6b";
+      };
+    }
+    {
+      name = "chownr___chownr_2.0.0.tgz";
+      path = fetchurl {
+        name = "chownr___chownr_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz";
+        sha1 = "15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece";
+      };
+    }
+    {
+      name = "chrome_trace_event___chrome_trace_event_1.0.2.tgz";
+      path = fetchurl {
+        name = "chrome_trace_event___chrome_trace_event_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz";
+        sha1 = "234090ee97c7d4ad1a2c4beae27505deffc608a4";
+      };
+    }
+    {
+      name = "ci_info___ci_info_2.0.0.tgz";
+      path = fetchurl {
+        name = "ci_info___ci_info_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz";
+        sha1 = "67a9e964be31a51e15e5010d58e6f12834002f46";
+      };
+    }
+    {
+      name = "cipher_base___cipher_base_1.0.4.tgz";
+      path = fetchurl {
+        name = "cipher_base___cipher_base_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz";
+        sha1 = "8760e4ecc272f4c363532f926d874aae2c1397de";
+      };
+    }
+    {
+      name = "circular_json___circular_json_0.3.3.tgz";
+      path = fetchurl {
+        name = "circular_json___circular_json_0.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz";
+        sha1 = "815c99ea84f6809529d2f45791bdf82711352d66";
+      };
+    }
+    {
+      name = "cjs_module_lexer___cjs_module_lexer_0.6.0.tgz";
+      path = fetchurl {
+        name = "cjs_module_lexer___cjs_module_lexer_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz";
+        sha1 = "4186fcca0eae175970aee870b9fe2d6cf8d5655f";
+      };
+    }
+    {
+      name = "class_utils___class_utils_0.3.6.tgz";
+      path = fetchurl {
+        name = "class_utils___class_utils_0.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz";
+        sha1 = "f93369ae8b9a7ce02fd41faad0ca83033190c463";
+      };
+    }
+    {
+      name = "classnames___classnames_2.2.6.tgz";
+      path = fetchurl {
+        name = "classnames___classnames_2.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz";
+        sha1 = "43935bffdd291f326dad0a205309b38d00f650ce";
+      };
+    }
+    {
+      name = "clean_stack___clean_stack_2.2.0.tgz";
+      path = fetchurl {
+        name = "clean_stack___clean_stack_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz";
+        sha1 = "ee8472dbb129e727b31e8a10a427dee9dfe4008b";
+      };
+    }
+    {
+      name = "cli_cursor___cli_cursor_1.0.2.tgz";
+      path = fetchurl {
+        name = "cli_cursor___cli_cursor_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz";
+        sha1 = "64da3f7d56a54412e59794bd62dc35295e8f2987";
+      };
+    }
+    {
+      name = "cli_width___cli_width_2.2.1.tgz";
+      path = fetchurl {
+        name = "cli_width___cli_width_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz";
+        sha1 = "b0433d0b4e9c847ef18868a4ef16fd5fc8271c48";
+      };
+    }
+    {
+      name = "cliui___cliui_5.0.0.tgz";
+      path = fetchurl {
+        name = "cliui___cliui_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz";
+        sha1 = "deefcfdb2e800784aa34f46fa08e06851c7bbbc5";
+      };
+    }
+    {
+      name = "cliui___cliui_6.0.0.tgz";
+      path = fetchurl {
+        name = "cliui___cliui_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz";
+        sha1 = "511d702c0c4e41ca156d7d0e96021f23e13225b1";
+      };
+    }
+    {
+      name = "cliui___cliui_7.0.3.tgz";
+      path = fetchurl {
+        name = "cliui___cliui_7.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-7.0.3.tgz";
+        sha1 = "ef180f26c8d9bff3927ee52428bfec2090427981";
+      };
+    }
+    {
+      name = "clone_deep___clone_deep_4.0.1.tgz";
+      path = fetchurl {
+        name = "clone_deep___clone_deep_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz";
+        sha1 = "c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387";
+      };
+    }
+    {
+      name = "co___co_4.6.0.tgz";
+      path = fetchurl {
+        name = "co___co_4.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz";
+        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
+      };
+    }
+    {
+      name = "coa___coa_2.0.2.tgz";
+      path = fetchurl {
+        name = "coa___coa_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz";
+        sha1 = "43f6c21151b4ef2bf57187db0d73de229e3e7ec3";
+      };
+    }
+    {
+      name = "code_point_at___code_point_at_1.1.0.tgz";
+      path = fetchurl {
+        name = "code_point_at___code_point_at_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz";
+        sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
+      };
+    }
+    {
+      name = "collect_v8_coverage___collect_v8_coverage_1.0.1.tgz";
+      path = fetchurl {
+        name = "collect_v8_coverage___collect_v8_coverage_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz";
+        sha1 = "cc2c8e94fc18bbdffe64d6534570c8a673b27f59";
+      };
+    }
+    {
+      name = "collection_visit___collection_visit_1.0.0.tgz";
+      path = fetchurl {
+        name = "collection_visit___collection_visit_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz";
+        sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0";
+      };
+    }
+    {
+      name = "color_blend___color_blend_3.0.0.tgz";
+      path = fetchurl {
+        name = "color_blend___color_blend_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/color-blend/-/color-blend-3.0.0.tgz";
+        sha1 = "077073ee59ebce15e084f00590c5bf7577899cb5";
+      };
+    }
+    {
+      name = "color_convert___color_convert_1.9.3.tgz";
+      path = fetchurl {
+        name = "color_convert___color_convert_1.9.3.tgz";
+        url  = "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz";
+        sha1 = "bb71850690e1f136567de629d2d5471deda4c1e8";
+      };
+    }
+    {
+      name = "color_convert___color_convert_2.0.1.tgz";
+      path = fetchurl {
+        name = "color_convert___color_convert_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz";
+        sha1 = "72d3a68d598c9bdb3af2ad1e84f21d896abd4de3";
+      };
+    }
+    {
+      name = "color_name___color_name_1.1.3.tgz";
+      path = fetchurl {
+        name = "color_name___color_name_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz";
+        sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
+      };
+    }
+    {
+      name = "color_name___color_name_1.1.4.tgz";
+      path = fetchurl {
+        name = "color_name___color_name_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz";
+        sha1 = "c2a09a87acbde69543de6f63fa3995c826c536a2";
+      };
+    }
+    {
+      name = "color_string___color_string_1.5.3.tgz";
+      path = fetchurl {
+        name = "color_string___color_string_1.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz";
+        sha1 = "c9bbc5f01b58b5492f3d6857459cb6590ce204cc";
+      };
+    }
+    {
+      name = "color___color_3.1.2.tgz";
+      path = fetchurl {
+        name = "color___color_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz";
+        sha1 = "68148e7f85d41ad7649c5fa8c8106f098d229e10";
+      };
+    }
+    {
+      name = "colorette___colorette_1.2.1.tgz";
+      path = fetchurl {
+        name = "colorette___colorette_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz";
+        sha1 = "4d0b921325c14faf92633086a536db6e89564b1b";
+      };
+    }
+    {
+      name = "combined_stream___combined_stream_1.0.8.tgz";
+      path = fetchurl {
+        name = "combined_stream___combined_stream_1.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz";
+        sha1 = "c3d45a8b34fd730631a110a8a2520682b31d5a7f";
+      };
+    }
+    {
+      name = "commander___commander_2.20.3.tgz";
+      path = fetchurl {
+        name = "commander___commander_2.20.3.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz";
+        sha1 = "fd485e84c03eb4881c20722ba48035e8531aeb33";
+      };
+    }
+    {
+      name = "commander___commander_6.2.0.tgz";
+      path = fetchurl {
+        name = "commander___commander_6.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-6.2.0.tgz";
+        sha1 = "b990bfb8ac030aedc6d11bc04d1488ffef56db75";
+      };
+    }
+    {
+      name = "commondir___commondir_1.0.1.tgz";
+      path = fetchurl {
+        name = "commondir___commondir_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz";
+        sha1 = "ddd800da0c66127393cca5950ea968a3aaf1253b";
+      };
+    }
+    {
+      name = "component_emitter___component_emitter_1.3.0.tgz";
+      path = fetchurl {
+        name = "component_emitter___component_emitter_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz";
+        sha1 = "16e4070fba8ae29b679f2215853ee181ab2eabc0";
+      };
+    }
+    {
+      name = "compressible___compressible_2.0.18.tgz";
+      path = fetchurl {
+        name = "compressible___compressible_2.0.18.tgz";
+        url  = "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz";
+        sha1 = "af53cca6b070d4c3c0750fbd77286a6d7cc46fba";
+      };
+    }
+    {
+      name = "compression_webpack_plugin___compression_webpack_plugin_6.1.1.tgz";
+      path = fetchurl {
+        name = "compression_webpack_plugin___compression_webpack_plugin_6.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-6.1.1.tgz";
+        sha1 = "ae8e4b2ffdb7396bb776e66918d751a20d8ccf0e";
+      };
+    }
+    {
+      name = "compression___compression_1.7.4.tgz";
+      path = fetchurl {
+        name = "compression___compression_1.7.4.tgz";
+        url  = "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz";
+        sha1 = "95523eff170ca57c29a0ca41e6fe131f41e5bb8f";
+      };
+    }
+    {
+      name = "concat_map___concat_map_0.0.1.tgz";
+      path = fetchurl {
+        name = "concat_map___concat_map_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz";
+        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+      };
+    }
+    {
+      name = "concat_stream___concat_stream_1.6.2.tgz";
+      path = fetchurl {
+        name = "concat_stream___concat_stream_1.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz";
+        sha1 = "904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34";
+      };
+    }
+    {
+      name = "connect_history_api_fallback___connect_history_api_fallback_1.6.0.tgz";
+      path = fetchurl {
+        name = "connect_history_api_fallback___connect_history_api_fallback_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz";
+        sha1 = "8b32089359308d111115d81cad3fceab888f97bc";
+      };
+    }
+    {
+      name = "console_browserify___console_browserify_1.2.0.tgz";
+      path = fetchurl {
+        name = "console_browserify___console_browserify_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz";
+        sha1 = "67063cef57ceb6cf4993a2ab3a55840ae8c49336";
+      };
+    }
+    {
+      name = "console_control_strings___console_control_strings_1.1.0.tgz";
+      path = fetchurl {
+        name = "console_control_strings___console_control_strings_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz";
+        sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e";
+      };
+    }
+    {
+      name = "constants_browserify___constants_browserify_1.0.0.tgz";
+      path = fetchurl {
+        name = "constants_browserify___constants_browserify_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz";
+        sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
+      };
+    }
+    {
+      name = "contains_path___contains_path_0.1.0.tgz";
+      path = fetchurl {
+        name = "contains_path___contains_path_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz";
+        sha1 = "fe8cf184ff6670b6baef01a9d4861a5cbec4120a";
+      };
+    }
+    {
+      name = "content_disposition___content_disposition_0.5.3.tgz";
+      path = fetchurl {
+        name = "content_disposition___content_disposition_0.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz";
+        sha1 = "e130caf7e7279087c5616c2007d0485698984fbd";
+      };
+    }
+    {
+      name = "content_type___content_type_1.0.4.tgz";
+      path = fetchurl {
+        name = "content_type___content_type_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz";
+        sha1 = "e138cc75e040c727b1966fe5e5f8c9aee256fe3b";
+      };
+    }
+    {
+      name = "convert_source_map___convert_source_map_1.7.0.tgz";
+      path = fetchurl {
+        name = "convert_source_map___convert_source_map_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz";
+        sha1 = "17a2cb882d7f77d3490585e2ce6c524424a3a442";
+      };
+    }
+    {
+      name = "cookie_signature___cookie_signature_1.0.6.tgz";
+      path = fetchurl {
+        name = "cookie_signature___cookie_signature_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz";
+        sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
+      };
+    }
+    {
+      name = "cookie___cookie_0.4.0.tgz";
+      path = fetchurl {
+        name = "cookie___cookie_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz";
+        sha1 = "beb437e7022b3b6d49019d088665303ebe9c14ba";
+      };
+    }
+    {
+      name = "copy_concurrently___copy_concurrently_1.0.5.tgz";
+      path = fetchurl {
+        name = "copy_concurrently___copy_concurrently_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz";
+        sha1 = "92297398cae34937fcafd6ec8139c18051f0b5e0";
+      };
+    }
+    {
+      name = "copy_descriptor___copy_descriptor_0.1.1.tgz";
+      path = fetchurl {
+        name = "copy_descriptor___copy_descriptor_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz";
+        sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d";
+      };
+    }
+    {
+      name = "core_js_compat___core_js_compat_3.7.0.tgz";
+      path = fetchurl {
+        name = "core_js_compat___core_js_compat_3.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.7.0.tgz";
+        sha1 = "8479c5d3d672d83f1f5ab94cf353e57113e065ed";
+      };
+    }
+    {
+      name = "core_js_pure___core_js_pure_3.6.5.tgz";
+      path = fetchurl {
+        name = "core_js_pure___core_js_pure_3.6.5.tgz";
+        url  = "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz";
+        sha1 = "c79e75f5e38dbc85a662d91eea52b8256d53b813";
+      };
+    }
+    {
+      name = "core_js___core_js_2.6.11.tgz";
+      path = fetchurl {
+        name = "core_js___core_js_2.6.11.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz";
+        sha1 = "38831469f9922bded8ee21c9dc46985e0399308c";
+      };
+    }
+    {
+      name = "core_util_is___core_util_is_1.0.2.tgz";
+      path = fetchurl {
+        name = "core_util_is___core_util_is_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz";
+        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+      };
+    }
+    {
+      name = "cosmiconfig___cosmiconfig_5.2.1.tgz";
+      path = fetchurl {
+        name = "cosmiconfig___cosmiconfig_5.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz";
+        sha1 = "040f726809c591e77a17c0a3626ca45b4f168b1a";
+      };
+    }
+    {
+      name = "cosmiconfig___cosmiconfig_6.0.0.tgz";
+      path = fetchurl {
+        name = "cosmiconfig___cosmiconfig_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz";
+        sha1 = "da4fee853c52f6b1e6935f41c1a2fc50bd4a9982";
+      };
+    }
+    {
+      name = "create_ecdh___create_ecdh_4.0.4.tgz";
+      path = fetchurl {
+        name = "create_ecdh___create_ecdh_4.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz";
+        sha1 = "d6e7f4bffa66736085a0762fd3a632684dabcc4e";
+      };
+    }
+    {
+      name = "create_hash___create_hash_1.2.0.tgz";
+      path = fetchurl {
+        name = "create_hash___create_hash_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz";
+        sha1 = "889078af11a63756bcfb59bd221996be3a9ef196";
+      };
+    }
+    {
+      name = "create_hmac___create_hmac_1.1.7.tgz";
+      path = fetchurl {
+        name = "create_hmac___create_hmac_1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz";
+        sha1 = "69170c78b3ab957147b2b8b04572e47ead2243ff";
+      };
+    }
+    {
+      name = "cross_env___cross_env_7.0.2.tgz";
+      path = fetchurl {
+        name = "cross_env___cross_env_7.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.2.tgz";
+        sha1 = "bd5ed31339a93a3418ac4f3ca9ca3403082ae5f9";
+      };
+    }
+    {
+      name = "cross_spawn___cross_spawn_6.0.5.tgz";
+      path = fetchurl {
+        name = "cross_spawn___cross_spawn_6.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz";
+        sha1 = "4a5ec7c64dfae22c3a14124dbacdee846d80cbc4";
+      };
+    }
+    {
+      name = "cross_spawn___cross_spawn_7.0.3.tgz";
+      path = fetchurl {
+        name = "cross_spawn___cross_spawn_7.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz";
+        sha1 = "f73a85b9d5d41d045551c177e2882d4ac85728a6";
+      };
+    }
+    {
+      name = "crypto_browserify___crypto_browserify_3.12.0.tgz";
+      path = fetchurl {
+        name = "crypto_browserify___crypto_browserify_3.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz";
+        sha1 = "396cf9f3137f03e4b8e532c58f698254e00f80ec";
+      };
+    }
+    {
+      name = "css_color_names___css_color_names_0.0.4.tgz";
+      path = fetchurl {
+        name = "css_color_names___css_color_names_0.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz";
+        sha1 = "808adc2e79cf84738069b646cb20ec27beb629e0";
+      };
+    }
+    {
+      name = "css_declaration_sorter___css_declaration_sorter_4.0.1.tgz";
+      path = fetchurl {
+        name = "css_declaration_sorter___css_declaration_sorter_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz";
+        sha1 = "c198940f63a76d7e36c1e71018b001721054cb22";
+      };
+    }
+    {
+      name = "css_font_size_keywords___css_font_size_keywords_1.0.0.tgz";
+      path = fetchurl {
+        name = "css_font_size_keywords___css_font_size_keywords_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/css-font-size-keywords/-/css-font-size-keywords-1.0.0.tgz";
+        sha1 = "854875ace9aca6a8d2ee0d345a44aae9bb6db6cb";
+      };
+    }
+    {
+      name = "css_font_stretch_keywords___css_font_stretch_keywords_1.0.1.tgz";
+      path = fetchurl {
+        name = "css_font_stretch_keywords___css_font_stretch_keywords_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-font-stretch-keywords/-/css-font-stretch-keywords-1.0.1.tgz";
+        sha1 = "50cee9b9ba031fb5c952d4723139f1e107b54b10";
+      };
+    }
+    {
+      name = "css_font_style_keywords___css_font_style_keywords_1.0.1.tgz";
+      path = fetchurl {
+        name = "css_font_style_keywords___css_font_style_keywords_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-font-style-keywords/-/css-font-style-keywords-1.0.1.tgz";
+        sha1 = "5c3532813f63b4a1de954d13cea86ab4333409e4";
+      };
+    }
+    {
+      name = "css_font_weight_keywords___css_font_weight_keywords_1.0.0.tgz";
+      path = fetchurl {
+        name = "css_font_weight_keywords___css_font_weight_keywords_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/css-font-weight-keywords/-/css-font-weight-keywords-1.0.0.tgz";
+        sha1 = "9bc04671ac85bc724b574ef5d3ac96b0d604fd97";
+      };
+    }
+    {
+      name = "css_global_keywords___css_global_keywords_1.0.1.tgz";
+      path = fetchurl {
+        name = "css_global_keywords___css_global_keywords_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-global-keywords/-/css-global-keywords-1.0.1.tgz";
+        sha1 = "72a9aea72796d019b1d2a3252de4e5aaa37e4a69";
+      };
+    }
+    {
+      name = "css_list_helpers___css_list_helpers_1.0.1.tgz";
+      path = fetchurl {
+        name = "css_list_helpers___css_list_helpers_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-list-helpers/-/css-list-helpers-1.0.1.tgz";
+        sha1 = "fff57192202db83240c41686f919e449a7024f7d";
+      };
+    }
+    {
+      name = "css_loader___css_loader_5.0.1.tgz";
+      path = fetchurl {
+        name = "css_loader___css_loader_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-loader/-/css-loader-5.0.1.tgz";
+        sha1 = "9e4de0d6636a6266a585bd0900b422c85539d25f";
+      };
+    }
+    {
+      name = "css_select_base_adapter___css_select_base_adapter_0.1.1.tgz";
+      path = fetchurl {
+        name = "css_select_base_adapter___css_select_base_adapter_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz";
+        sha1 = "3b2ff4972cc362ab88561507a95408a1432135d7";
+      };
+    }
+    {
+      name = "css_select___css_select_2.1.0.tgz";
+      path = fetchurl {
+        name = "css_select___css_select_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz";
+        sha1 = "6a34653356635934a81baca68d0255432105dbef";
+      };
+    }
+    {
+      name = "css_system_font_keywords___css_system_font_keywords_1.0.0.tgz";
+      path = fetchurl {
+        name = "css_system_font_keywords___css_system_font_keywords_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz";
+        sha1 = "85c6f086aba4eb32c571a3086affc434b84823ed";
+      };
+    }
+    {
+      name = "css_tree___css_tree_1.0.0_alpha.37.tgz";
+      path = fetchurl {
+        name = "css_tree___css_tree_1.0.0_alpha.37.tgz";
+        url  = "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz";
+        sha1 = "98bebd62c4c1d9f960ec340cf9f7522e30709a22";
+      };
+    }
+    {
+      name = "css_tree___css_tree_1.0.0_alpha.39.tgz";
+      path = fetchurl {
+        name = "css_tree___css_tree_1.0.0_alpha.39.tgz";
+        url  = "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.39.tgz";
+        sha1 = "2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb";
+      };
+    }
+    {
+      name = "css_what___css_what_3.3.0.tgz";
+      path = fetchurl {
+        name = "css_what___css_what_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/css-what/-/css-what-3.3.0.tgz";
+        sha1 = "10fec696a9ece2e591ac772d759aacabac38cd39";
+      };
+    }
+    {
+      name = "css.escape___css.escape_1.5.1.tgz";
+      path = fetchurl {
+        name = "css.escape___css.escape_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz";
+        sha1 = "42e27d4fa04ae32f931a4b4d4191fa9cddee97cb";
+      };
+    }
+    {
+      name = "css___css_3.0.0.tgz";
+      path = fetchurl {
+        name = "css___css_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/css/-/css-3.0.0.tgz";
+        sha1 = "4447a4d58fdd03367c516ca9f64ae365cee4aa5d";
+      };
+    }
+    {
+      name = "cssesc___cssesc_3.0.0.tgz";
+      path = fetchurl {
+        name = "cssesc___cssesc_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz";
+        sha1 = "37741919903b868565e1c09ea747445cd18983ee";
+      };
+    }
+    {
+      name = "cssnano_preset_default___cssnano_preset_default_4.0.7.tgz";
+      path = fetchurl {
+        name = "cssnano_preset_default___cssnano_preset_default_4.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz";
+        sha1 = "51ec662ccfca0f88b396dcd9679cdb931be17f76";
+      };
+    }
+    {
+      name = "cssnano_util_get_arguments___cssnano_util_get_arguments_4.0.0.tgz";
+      path = fetchurl {
+        name = "cssnano_util_get_arguments___cssnano_util_get_arguments_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz";
+        sha1 = "ed3a08299f21d75741b20f3b81f194ed49cc150f";
+      };
+    }
+    {
+      name = "cssnano_util_get_match___cssnano_util_get_match_4.0.0.tgz";
+      path = fetchurl {
+        name = "cssnano_util_get_match___cssnano_util_get_match_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz";
+        sha1 = "c0e4ca07f5386bb17ec5e52250b4f5961365156d";
+      };
+    }
+    {
+      name = "cssnano_util_raw_cache___cssnano_util_raw_cache_4.0.1.tgz";
+      path = fetchurl {
+        name = "cssnano_util_raw_cache___cssnano_util_raw_cache_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz";
+        sha1 = "b26d5fd5f72a11dfe7a7846fb4c67260f96bf282";
+      };
+    }
+    {
+      name = "cssnano_util_same_parent___cssnano_util_same_parent_4.0.1.tgz";
+      path = fetchurl {
+        name = "cssnano_util_same_parent___cssnano_util_same_parent_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz";
+        sha1 = "574082fb2859d2db433855835d9a8456ea18bbf3";
+      };
+    }
+    {
+      name = "cssnano___cssnano_4.1.10.tgz";
+      path = fetchurl {
+        name = "cssnano___cssnano_4.1.10.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz";
+        sha1 = "0ac41f0b13d13d465487e111b778d42da631b8b2";
+      };
+    }
+    {
+      name = "csso___csso_4.0.3.tgz";
+      path = fetchurl {
+        name = "csso___csso_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/csso/-/csso-4.0.3.tgz";
+        sha1 = "0d9985dc852c7cc2b2cacfbbe1079014d1a8e903";
+      };
+    }
+    {
+      name = "cssom___cssom_0.4.4.tgz";
+      path = fetchurl {
+        name = "cssom___cssom_0.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz";
+        sha1 = "5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10";
+      };
+    }
+    {
+      name = "cssom___cssom_0.3.8.tgz";
+      path = fetchurl {
+        name = "cssom___cssom_0.3.8.tgz";
+        url  = "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz";
+        sha1 = "9f1276f5b2b463f2114d3f2c75250af8c1a36f4a";
+      };
+    }
+    {
+      name = "cssstyle___cssstyle_2.3.0.tgz";
+      path = fetchurl {
+        name = "cssstyle___cssstyle_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz";
+        sha1 = "ff665a0ddbdc31864b09647f34163443d90b0852";
+      };
+    }
+    {
+      name = "csstype___csstype_2.6.13.tgz";
+      path = fetchurl {
+        name = "csstype___csstype_2.6.13.tgz";
+        url  = "https://registry.yarnpkg.com/csstype/-/csstype-2.6.13.tgz";
+        sha1 = "a6893015b90e84dd6e85d0e3b442a1e84f2dbe0f";
+      };
+    }
+    {
+      name = "cyclist___cyclist_1.0.1.tgz";
+      path = fetchurl {
+        name = "cyclist___cyclist_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz";
+        sha1 = "596e9698fd0c80e12038c2b82d6eb1b35b6224d9";
+      };
+    }
+    {
+      name = "d___d_1.0.1.tgz";
+      path = fetchurl {
+        name = "d___d_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz";
+        sha1 = "8698095372d58dbee346ffd0c7093f99f8f9eb5a";
+      };
+    }
+    {
+      name = "damerau_levenshtein___damerau_levenshtein_1.0.6.tgz";
+      path = fetchurl {
+        name = "damerau_levenshtein___damerau_levenshtein_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz";
+        sha1 = "143c1641cb3d85c60c32329e26899adea8701791";
+      };
+    }
+    {
+      name = "dashdash___dashdash_1.14.1.tgz";
+      path = fetchurl {
+        name = "dashdash___dashdash_1.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz";
+        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+      };
+    }
+    {
+      name = "data_urls___data_urls_2.0.0.tgz";
+      path = fetchurl {
+        name = "data_urls___data_urls_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz";
+        sha1 = "156485a72963a970f5d5821aaf642bef2bf2db9b";
+      };
+    }
+    {
+      name = "debug___debug_2.6.9.tgz";
+      path = fetchurl {
+        name = "debug___debug_2.6.9.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz";
+        sha1 = "5d128515df134ff327e90a4c93f4e077a536341f";
+      };
+    }
+    {
+      name = "debug___debug_3.2.6.tgz";
+      path = fetchurl {
+        name = "debug___debug_3.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz";
+        sha1 = "e83d17de16d8a7efb7717edbe5fb10135eee629b";
+      };
+    }
+    {
+      name = "debug___debug_4.1.1.tgz";
+      path = fetchurl {
+        name = "debug___debug_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz";
+        sha1 = "3b72260255109c6b589cee050f1d516139664791";
+      };
+    }
+    {
+      name = "decamelize___decamelize_1.2.0.tgz";
+      path = fetchurl {
+        name = "decamelize___decamelize_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz";
+        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+      };
+    }
+    {
+      name = "decimal.js___decimal.js_10.2.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 = "decode_uri_component___decode_uri_component_0.2.0.tgz";
+      path = fetchurl {
+        name = "decode_uri_component___decode_uri_component_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz";
+        sha1 = "eb3913333458775cb84cd1a1fae062106bb87545";
+      };
+    }
+    {
+      name = "deep_equal___deep_equal_1.1.1.tgz";
+      path = fetchurl {
+        name = "deep_equal___deep_equal_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz";
+        sha1 = "b5c98c942ceffaf7cb051e24e1434a25a2e6076a";
+      };
+    }
+    {
+      name = "deep_extend___deep_extend_0.5.1.tgz";
+      path = fetchurl {
+        name = "deep_extend___deep_extend_0.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.1.tgz";
+        sha1 = "b894a9dd90d3023fbf1c55a394fb858eb2066f1f";
+      };
+    }
+    {
+      name = "deep_is___deep_is_0.1.3.tgz";
+      path = fetchurl {
+        name = "deep_is___deep_is_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz";
+        sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
+      };
+    }
+    {
+      name = "deepmerge___deepmerge_4.2.2.tgz";
+      path = fetchurl {
+        name = "deepmerge___deepmerge_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz";
+        sha1 = "44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955";
+      };
+    }
+    {
+      name = "default_gateway___default_gateway_4.2.0.tgz";
+      path = fetchurl {
+        name = "default_gateway___default_gateway_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz";
+        sha1 = "167104c7500c2115f6dd69b0a536bb8ed720552b";
+      };
+    }
+    {
+      name = "define_properties___define_properties_1.1.3.tgz";
+      path = fetchurl {
+        name = "define_properties___define_properties_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz";
+        sha1 = "cf88da6cbee26fe6db7094f61d870cbd84cee9f1";
+      };
+    }
+    {
+      name = "define_property___define_property_0.2.5.tgz";
+      path = fetchurl {
+        name = "define_property___define_property_0.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz";
+        sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116";
+      };
+    }
+    {
+      name = "define_property___define_property_1.0.0.tgz";
+      path = fetchurl {
+        name = "define_property___define_property_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz";
+        sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6";
+      };
+    }
+    {
+      name = "define_property___define_property_2.0.2.tgz";
+      path = fetchurl {
+        name = "define_property___define_property_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz";
+        sha1 = "d459689e8d654ba77e02a817f8710d702cb16e9d";
+      };
+    }
+    {
+      name = "del___del_4.1.1.tgz";
+      path = fetchurl {
+        name = "del___del_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz";
+        sha1 = "9e8f117222ea44a31ff3a156c049b99052a9f0b4";
+      };
+    }
+    {
+      name = "delayed_stream___delayed_stream_1.0.0.tgz";
+      path = fetchurl {
+        name = "delayed_stream___delayed_stream_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz";
+        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+      };
+    }
+    {
+      name = "delegates___delegates_1.0.0.tgz";
+      path = fetchurl {
+        name = "delegates___delegates_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz";
+        sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
+      };
+    }
+    {
+      name = "denque___denque_1.4.1.tgz";
+      path = fetchurl {
+        name = "denque___denque_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/denque/-/denque-1.4.1.tgz";
+        sha1 = "6744ff7641c148c3f8a69c307e51235c1f4a37cf";
+      };
+    }
+    {
+      name = "depd___depd_1.1.2.tgz";
+      path = fetchurl {
+        name = "depd___depd_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz";
+        sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
+      };
+    }
+    {
+      name = "des.js___des.js_1.0.1.tgz";
+      path = fetchurl {
+        name = "des.js___des.js_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz";
+        sha1 = "5382142e1bdc53f85d86d53e5f4aa7deb91e0843";
+      };
+    }
+    {
+      name = "destroy___destroy_1.0.4.tgz";
+      path = fetchurl {
+        name = "destroy___destroy_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz";
+        sha1 = "978857442c44749e4206613e37946205826abd80";
+      };
+    }
+    {
+      name = "detect_file___detect_file_1.0.0.tgz";
+      path = fetchurl {
+        name = "detect_file___detect_file_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz";
+        sha1 = "f0d66d03672a825cb1b73bdb3fe62310c8e552b7";
+      };
+    }
+    {
+      name = "detect_newline___detect_newline_3.1.0.tgz";
+      path = fetchurl {
+        name = "detect_newline___detect_newline_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz";
+        sha1 = "576f5dfc63ae1a192ff192d8ad3af6308991b651";
+      };
+    }
+    {
+      name = "detect_node___detect_node_2.0.4.tgz";
+      path = fetchurl {
+        name = "detect_node___detect_node_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz";
+        sha1 = "014ee8f8f669c5c58023da64b8179c083a28c46c";
+      };
+    }
+    {
+      name = "detect_passive_events___detect_passive_events_2.0.1.tgz";
+      path = fetchurl {
+        name = "detect_passive_events___detect_passive_events_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/detect-passive-events/-/detect-passive-events-2.0.1.tgz";
+        sha1 = "fdbd6f6dd5e6ac10c6189a4cb26ab264d41c0835";
+      };
+    }
+    {
+      name = "diff_sequences___diff_sequences_25.2.6.tgz";
+      path = fetchurl {
+        name = "diff_sequences___diff_sequences_25.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz";
+        sha1 = "5f467c00edd35352b7bca46d7927d60e687a76dd";
+      };
+    }
+    {
+      name = "diff_sequences___diff_sequences_26.6.2.tgz";
+      path = fetchurl {
+        name = "diff_sequences___diff_sequences_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz";
+        sha1 = "48ba99157de1923412eed41db6b6d4aa9ca7c0b1";
+      };
+    }
+    {
+      name = "diffie_hellman___diffie_hellman_5.0.3.tgz";
+      path = fetchurl {
+        name = "diffie_hellman___diffie_hellman_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz";
+        sha1 = "40e8ee98f55a2149607146921c63e1ae5f3d2875";
+      };
+    }
+    {
+      name = "dns_equal___dns_equal_1.0.0.tgz";
+      path = fetchurl {
+        name = "dns_equal___dns_equal_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz";
+        sha1 = "b39e7f1da6eb0a75ba9c17324b34753c47e0654d";
+      };
+    }
+    {
+      name = "dns_packet___dns_packet_1.3.1.tgz";
+      path = fetchurl {
+        name = "dns_packet___dns_packet_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz";
+        sha1 = "12aa426981075be500b910eedcd0b47dd7deda5a";
+      };
+    }
+    {
+      name = "dns_txt___dns_txt_2.0.2.tgz";
+      path = fetchurl {
+        name = "dns_txt___dns_txt_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz";
+        sha1 = "b91d806f5d27188e4ab3e7d107d881a1cc4642b6";
+      };
+    }
+    {
+      name = "doctrine___doctrine_1.5.0.tgz";
+      path = fetchurl {
+        name = "doctrine___doctrine_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz";
+        sha1 = "379dce730f6166f76cefa4e6707a159b02c5a6fa";
+      };
+    }
+    {
+      name = "doctrine___doctrine_2.1.0.tgz";
+      path = fetchurl {
+        name = "doctrine___doctrine_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz";
+        sha1 = "5cd01fc101621b42c4cd7f5d1a66243716d3f39d";
+      };
+    }
+    {
+      name = "doctrine___doctrine_3.0.0.tgz";
+      path = fetchurl {
+        name = "doctrine___doctrine_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz";
+        sha1 = "addebead72a6574db783639dc87a121773973961";
+      };
+    }
+    {
+      name = "dom_accessibility_api___dom_accessibility_api_0.5.4.tgz";
+      path = fetchurl {
+        name = "dom_accessibility_api___dom_accessibility_api_0.5.4.tgz";
+        url  = "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz";
+        sha1 = "b06d059cdd4a4ad9a79275f9d414a5c126241166";
+      };
+    }
+    {
+      name = "dom_helpers___dom_helpers_3.4.0.tgz";
+      path = fetchurl {
+        name = "dom_helpers___dom_helpers_3.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz";
+        sha1 = "e9b369700f959f62ecde5a6babde4bccd9169af8";
+      };
+    }
+    {
+      name = "dom_helpers___dom_helpers_5.1.3.tgz";
+      path = fetchurl {
+        name = "dom_helpers___dom_helpers_5.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.1.3.tgz";
+        sha1 = "7233248eb3a2d1f74aafca31e52c5299cc8ce821";
+      };
+    }
+    {
+      name = "dom_serializer___dom_serializer_0.2.2.tgz";
+      path = fetchurl {
+        name = "dom_serializer___dom_serializer_0.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz";
+        sha1 = "1afb81f533717175d478655debc5e332d9f9bb51";
+      };
+    }
+    {
+      name = "domain_browser___domain_browser_1.2.0.tgz";
+      path = fetchurl {
+        name = "domain_browser___domain_browser_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz";
+        sha1 = "3d31f50191a6749dd1375a7f522e823d42e54eda";
+      };
+    }
+    {
+      name = "domelementtype___domelementtype_1.3.1.tgz";
+      path = fetchurl {
+        name = "domelementtype___domelementtype_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz";
+        sha1 = "d048c44b37b0d10a7f2a3d5fee3f4333d790481f";
+      };
+    }
+    {
+      name = "domelementtype___domelementtype_2.0.1.tgz";
+      path = fetchurl {
+        name = "domelementtype___domelementtype_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz";
+        sha1 = "1f8bdfe91f5a78063274e803b4bdcedf6e94f94d";
+      };
+    }
+    {
+      name = "domexception___domexception_2.0.1.tgz";
+      path = fetchurl {
+        name = "domexception___domexception_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz";
+        sha1 = "fb44aefba793e1574b0af6aed2801d057529f304";
+      };
+    }
+    {
+      name = "domutils___domutils_1.7.0.tgz";
+      path = fetchurl {
+        name = "domutils___domutils_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz";
+        sha1 = "56ea341e834e06e6748af7a1cb25da67ea9f8c2a";
+      };
+    }
+    {
+      name = "dot_prop___dot_prop_5.3.0.tgz";
+      path = fetchurl {
+        name = "dot_prop___dot_prop_5.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz";
+        sha1 = "90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88";
+      };
+    }
+    {
+      name = "dotenv___dotenv_8.2.0.tgz";
+      path = fetchurl {
+        name = "dotenv___dotenv_8.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz";
+        sha1 = "97e619259ada750eea3e4ea3e26bceea5424b16a";
+      };
+    }
+    {
+      name = "duplexer___duplexer_0.1.2.tgz";
+      path = fetchurl {
+        name = "duplexer___duplexer_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz";
+        sha1 = "3abe43aef3835f8ae077d136ddce0f276b0400e6";
+      };
+    }
+    {
+      name = "duplexify___duplexify_3.7.1.tgz";
+      path = fetchurl {
+        name = "duplexify___duplexify_3.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz";
+        sha1 = "2a4df5317f6ccfd91f86d6fd25d8d8a103b88309";
+      };
+    }
+    {
+      name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
+      path = fetchurl {
+        name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
+        sha1 = "3a83a904e54353287874c564b7549386849a98c9";
+      };
+    }
+    {
+      name = "ee_first___ee_first_1.1.1.tgz";
+      path = fetchurl {
+        name = "ee_first___ee_first_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz";
+        sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
+      };
+    }
+    {
+      name = "ejs___ejs_2.7.4.tgz";
+      path = fetchurl {
+        name = "ejs___ejs_2.7.4.tgz";
+        url  = "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz";
+        sha1 = "48661287573dcc53e366c7a1ae52c3a120eec9ba";
+      };
+    }
+    {
+      name = "ejs___ejs_3.1.5.tgz";
+      path = fetchurl {
+        name = "ejs___ejs_3.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/ejs/-/ejs-3.1.5.tgz";
+        sha1 = "aed723844dc20acb4b170cd9ab1017e476a0d93b";
+      };
+    }
+    {
+      name = "electron_to_chromium___electron_to_chromium_1.3.574.tgz";
+      path = fetchurl {
+        name = "electron_to_chromium___electron_to_chromium_1.3.574.tgz";
+        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.574.tgz";
+        sha1 = "bdd87f62fe70165e5c862a0acf0cee9889e23aa3";
+      };
+    }
+    {
+      name = "electron_to_chromium___electron_to_chromium_1.3.603.tgz";
+      path = fetchurl {
+        name = "electron_to_chromium___electron_to_chromium_1.3.603.tgz";
+        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.603.tgz";
+        sha1 = "1b71bec27fb940eccd79245f6824c63d5f7e8abf";
+      };
+    }
+    {
+      name = "elliptic___elliptic_6.5.3.tgz";
+      path = fetchurl {
+        name = "elliptic___elliptic_6.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz";
+        sha1 = "cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6";
+      };
+    }
+    {
+      name = "emittery___emittery_0.7.1.tgz";
+      path = fetchurl {
+        name = "emittery___emittery_0.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/emittery/-/emittery-0.7.1.tgz";
+        sha1 = "c02375a927a40948c0345cc903072597f5270451";
+      };
+    }
+    {
+      name = "934f314fd8322276765066e8a2a6be5bac61b1cf";
+      path = fetchurl {
+        name = "934f314fd8322276765066e8a2a6be5bac61b1cf";
+        url  = "https://codeload.github.com/Gargron/emoji-mart/tar.gz/934f314fd8322276765066e8a2a6be5bac61b1cf";
+        sha1 = "1768aa6ab3d6b926f457e082bd4ed7279f6fc9cf";
+      };
+    }
+    {
+      name = "emoji_regex___emoji_regex_7.0.3.tgz";
+      path = fetchurl {
+        name = "emoji_regex___emoji_regex_7.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz";
+        sha1 = "933a04052860c85e83c122479c4748a8e4c72156";
+      };
+    }
+    {
+      name = "emoji_regex___emoji_regex_8.0.0.tgz";
+      path = fetchurl {
+        name = "emoji_regex___emoji_regex_8.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz";
+        sha1 = "e818fd69ce5ccfcb404594f842963bf53164cc37";
+      };
+    }
+    {
+      name = "emoji_regex___emoji_regex_9.0.0.tgz";
+      path = fetchurl {
+        name = "emoji_regex___emoji_regex_9.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.0.0.tgz";
+        sha1 = "48a2309cc8a1d2e9d23bc6a67c39b63032e76ea4";
+      };
+    }
+    {
+      name = "emojis_list___emojis_list_2.1.0.tgz";
+      path = fetchurl {
+        name = "emojis_list___emojis_list_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz";
+        sha1 = "4daa4d9db00f9819880c79fa457ae5b09a1fd389";
+      };
+    }
+    {
+      name = "emojis_list___emojis_list_3.0.0.tgz";
+      path = fetchurl {
+        name = "emojis_list___emojis_list_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz";
+        sha1 = "5570662046ad29e2e916e71aae260abdff4f6a78";
+      };
+    }
+    {
+      name = "encodeurl___encodeurl_1.0.2.tgz";
+      path = fetchurl {
+        name = "encodeurl___encodeurl_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz";
+        sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
+      };
+    }
+    {
+      name = "end_of_stream___end_of_stream_1.4.4.tgz";
+      path = fetchurl {
+        name = "end_of_stream___end_of_stream_1.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz";
+        sha1 = "5ae64a5f45057baf3626ec14da0ca5e4b2431eb0";
+      };
+    }
+    {
+      name = "enhanced_resolve___enhanced_resolve_4.3.0.tgz";
+      path = fetchurl {
+        name = "enhanced_resolve___enhanced_resolve_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz";
+        sha1 = "3b806f3bfafc1ec7de69551ef93cca46c1704126";
+      };
+    }
+    {
+      name = "enquirer___enquirer_2.3.6.tgz";
+      path = fetchurl {
+        name = "enquirer___enquirer_2.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz";
+        sha1 = "2a7fe5dd634a1e4125a975ec994ff5456dc3734d";
+      };
+    }
+    {
+      name = "entities___entities_2.0.3.tgz";
+      path = fetchurl {
+        name = "entities___entities_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz";
+        sha1 = "5c487e5742ab93c15abb5da22759b8590ec03b7f";
+      };
+    }
+    {
+      name = "errno___errno_0.1.7.tgz";
+      path = fetchurl {
+        name = "errno___errno_0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz";
+        sha1 = "4684d71779ad39af177e3f007996f7c67c852618";
+      };
+    }
+    {
+      name = "error_ex___error_ex_1.3.2.tgz";
+      path = fetchurl {
+        name = "error_ex___error_ex_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz";
+        sha1 = "b4ac40648107fdcdcfae242f428bea8a14d4f1bf";
+      };
+    }
+    {
+      name = "error_stack_parser___error_stack_parser_2.0.6.tgz";
+      path = fetchurl {
+        name = "error_stack_parser___error_stack_parser_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.6.tgz";
+        sha1 = "5a99a707bd7a4c58a797902d48d82803ede6aad8";
+      };
+    }
+    {
+      name = "es_abstract___es_abstract_1.17.7.tgz";
+      path = fetchurl {
+        name = "es_abstract___es_abstract_1.17.7.tgz";
+        url  = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz";
+        sha1 = "a4de61b2f66989fc7421676c1cb9787573ace54c";
+      };
+    }
+    {
+      name = "es_abstract___es_abstract_1.18.0_next.1.tgz";
+      path = fetchurl {
+        name = "es_abstract___es_abstract_1.18.0_next.1.tgz";
+        url  = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz";
+        sha1 = "6e3a0a4bda717e5023ab3b8e90bec36108d22c68";
+      };
+    }
+    {
+      name = "es_to_primitive___es_to_primitive_1.2.1.tgz";
+      path = fetchurl {
+        name = "es_to_primitive___es_to_primitive_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz";
+        sha1 = "e55cd4c9cdc188bcefb03b366c736323fc5c898a";
+      };
+    }
+    {
+      name = "es5_ext___es5_ext_0.10.53.tgz";
+      path = fetchurl {
+        name = "es5_ext___es5_ext_0.10.53.tgz";
+        url  = "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz";
+        sha1 = "93c5a3acfdbef275220ad72644ad02ee18368de1";
+      };
+    }
+    {
+      name = "es6_iterator___es6_iterator_2.0.3.tgz";
+      path = fetchurl {
+        name = "es6_iterator___es6_iterator_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz";
+        sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7";
+      };
+    }
+    {
+      name = "es6_map___es6_map_0.1.5.tgz";
+      path = fetchurl {
+        name = "es6_map___es6_map_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz";
+        sha1 = "9136e0503dcc06a301690f0bb14ff4e364e949f0";
+      };
+    }
+    {
+      name = "es6_set___es6_set_0.1.5.tgz";
+      path = fetchurl {
+        name = "es6_set___es6_set_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz";
+        sha1 = "d2b3ec5d4d800ced818db538d28974db0a73ccb1";
+      };
+    }
+    {
+      name = "es6_symbol___es6_symbol_3.1.1.tgz";
+      path = fetchurl {
+        name = "es6_symbol___es6_symbol_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz";
+        sha1 = "bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77";
+      };
+    }
+    {
+      name = "es6_symbol___es6_symbol_3.1.3.tgz";
+      path = fetchurl {
+        name = "es6_symbol___es6_symbol_3.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz";
+        sha1 = "bad5d3c1bcdac28269f4cb331e431c78ac705d18";
+      };
+    }
+    {
+      name = "es6_weak_map___es6_weak_map_2.0.3.tgz";
+      path = fetchurl {
+        name = "es6_weak_map___es6_weak_map_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz";
+        sha1 = "b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53";
+      };
+    }
+    {
+      name = "escalade___escalade_3.1.1.tgz";
+      path = fetchurl {
+        name = "escalade___escalade_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz";
+        sha1 = "d8cfdc7000965c5a0174b4a82eaa5c0552742e40";
+      };
+    }
+    {
+      name = "escape_html___escape_html_1.0.3.tgz";
+      path = fetchurl {
+        name = "escape_html___escape_html_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz";
+        sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988";
+      };
+    }
+    {
+      name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz";
+      path = fetchurl {
+        name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+      };
+    }
+    {
+      name = "escape_string_regexp___escape_string_regexp_2.0.0.tgz";
+      path = fetchurl {
+        name = "escape_string_regexp___escape_string_regexp_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz";
+        sha1 = "a30304e99daa32e23b2fd20f51babd07cffca344";
+      };
+    }
+    {
+      name = "escodegen___escodegen_1.14.3.tgz";
+      path = fetchurl {
+        name = "escodegen___escodegen_1.14.3.tgz";
+        url  = "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz";
+        sha1 = "4e7b81fba61581dc97582ed78cab7f0e8d63f503";
+      };
+    }
+    {
+      name = "escope___escope_3.6.0.tgz";
+      path = fetchurl {
+        name = "escope___escope_3.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz";
+        sha1 = "e01975e812781a163a6dadfdd80398dc64c889c3";
+      };
+    }
+    {
+      name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.4.tgz";
+      path = fetchurl {
+        name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz";
+        sha1 = "85ffa81942c25012d8231096ddf679c03042c717";
+      };
+    }
+    {
+      name = "eslint_module_utils___eslint_module_utils_2.6.0.tgz";
+      path = fetchurl {
+        name = "eslint_module_utils___eslint_module_utils_2.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz";
+        sha1 = "579ebd094f56af7797d19c9866c9c9486629bfa6";
+      };
+    }
+    {
+      name = "eslint_plugin_import___eslint_plugin_import_2.22.1.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_import___eslint_plugin_import_2.22.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz";
+        sha1 = "0896c7e6a0cf44109a2d97b95903c2bb689d7702";
+      };
+    }
+    {
+      name = "eslint_plugin_jsx_a11y___eslint_plugin_jsx_a11y_6.4.1.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_jsx_a11y___eslint_plugin_jsx_a11y_6.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz";
+        sha1 = "a2d84caa49756942f42f1ffab9002436391718fd";
+      };
+    }
+    {
+      name = "eslint_plugin_promise___eslint_plugin_promise_4.2.1.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_promise___eslint_plugin_promise_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz";
+        sha1 = "845fd8b2260ad8f82564c1222fce44ad71d9418a";
+      };
+    }
+    {
+      name = "eslint_plugin_react___eslint_plugin_react_7.21.5.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_react___eslint_plugin_react_7.21.5.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.21.5.tgz";
+        sha1 = "50b21a412b9574bfe05b21db176e8b7b3b15bff3";
+      };
+    }
+    {
+      name = "eslint_scope___eslint_scope_4.0.3.tgz";
+      path = fetchurl {
+        name = "eslint_scope___eslint_scope_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz";
+        sha1 = "ca03833310f6889a3264781aa82e63eb9cfe7848";
+      };
+    }
+    {
+      name = "eslint_scope___eslint_scope_5.1.1.tgz";
+      path = fetchurl {
+        name = "eslint_scope___eslint_scope_5.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz";
+        sha1 = "e786e59a66cb92b3f6c1fb0d508aab174848f48c";
+      };
+    }
+    {
+      name = "eslint_utils___eslint_utils_2.1.0.tgz";
+      path = fetchurl {
+        name = "eslint_utils___eslint_utils_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz";
+        sha1 = "d2de5e03424e707dc10c74068ddedae708741b27";
+      };
+    }
+    {
+      name = "eslint_visitor_keys___eslint_visitor_keys_1.3.0.tgz";
+      path = fetchurl {
+        name = "eslint_visitor_keys___eslint_visitor_keys_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz";
+        sha1 = "30ebd1ef7c2fdff01c3a4f151044af25fab0523e";
+      };
+    }
+    {
+      name = "eslint_visitor_keys___eslint_visitor_keys_2.0.0.tgz";
+      path = fetchurl {
+        name = "eslint_visitor_keys___eslint_visitor_keys_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz";
+        sha1 = "21fdc8fbcd9c795cc0321f0563702095751511a8";
+      };
+    }
+    {
+      name = "eslint___eslint_2.13.1.tgz";
+      path = fetchurl {
+        name = "eslint___eslint_2.13.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint/-/eslint-2.13.1.tgz";
+        sha1 = "e4cc8fa0f009fb829aaae23855a29360be1f6c11";
+      };
+    }
+    {
+      name = "eslint___eslint_7.14.0.tgz";
+      path = fetchurl {
+        name = "eslint___eslint_7.14.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint/-/eslint-7.14.0.tgz";
+        sha1 = "2d2cac1d28174c510a97b377f122a5507958e344";
+      };
+    }
+    {
+      name = "espree___espree_3.5.4.tgz";
+      path = fetchurl {
+        name = "espree___espree_3.5.4.tgz";
+        url  = "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz";
+        sha1 = "b0f447187c8a8bed944b815a660bddf5deb5d1a7";
+      };
+    }
+    {
+      name = "espree___espree_7.3.0.tgz";
+      path = fetchurl {
+        name = "espree___espree_7.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/espree/-/espree-7.3.0.tgz";
+        sha1 = "dc30437cf67947cf576121ebd780f15eeac72348";
+      };
+    }
+    {
+      name = "esprima___esprima_4.0.1.tgz";
+      path = fetchurl {
+        name = "esprima___esprima_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz";
+        sha1 = "13b04cdb3e6c5d19df91ab6987a8695619b0aa71";
+      };
+    }
+    {
+      name = "esquery___esquery_1.3.1.tgz";
+      path = fetchurl {
+        name = "esquery___esquery_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz";
+        sha1 = "b78b5828aa8e214e29fb74c4d5b752e1c033da57";
+      };
+    }
+    {
+      name = "esrecurse___esrecurse_4.3.0.tgz";
+      path = fetchurl {
+        name = "esrecurse___esrecurse_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz";
+        sha1 = "7ad7964d679abb28bee72cec63758b1c5d2c9921";
+      };
+    }
+    {
+      name = "estraverse___estraverse_4.3.0.tgz";
+      path = fetchurl {
+        name = "estraverse___estraverse_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz";
+        sha1 = "398ad3f3c5a24948be7725e83d11a7de28cdbd1d";
+      };
+    }
+    {
+      name = "estraverse___estraverse_5.2.0.tgz";
+      path = fetchurl {
+        name = "estraverse___estraverse_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz";
+        sha1 = "307df42547e6cc7324d3cf03c155d5cdb8c53880";
+      };
+    }
+    {
+      name = "esutils___esutils_2.0.3.tgz";
+      path = fetchurl {
+        name = "esutils___esutils_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz";
+        sha1 = "74d2eb4de0b8da1293711910d50775b9b710ef64";
+      };
+    }
+    {
+      name = "etag___etag_1.8.1.tgz";
+      path = fetchurl {
+        name = "etag___etag_1.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz";
+        sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887";
+      };
+    }
+    {
+      name = "event_emitter___event_emitter_0.3.5.tgz";
+      path = fetchurl {
+        name = "event_emitter___event_emitter_0.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz";
+        sha1 = "df8c69eef1647923c7157b9ce83840610b02cc39";
+      };
+    }
+    {
+      name = "eventemitter3___eventemitter3_4.0.7.tgz";
+      path = fetchurl {
+        name = "eventemitter3___eventemitter3_4.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz";
+        sha1 = "2de9b68f6528d5644ef5c59526a1b4a07306169f";
+      };
+    }
+    {
+      name = "events___events_3.2.0.tgz";
+      path = fetchurl {
+        name = "events___events_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz";
+        sha1 = "93b87c18f8efcd4202a461aec4dfc0556b639379";
+      };
+    }
+    {
+      name = "eventsource___eventsource_1.0.7.tgz";
+      path = fetchurl {
+        name = "eventsource___eventsource_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz";
+        sha1 = "8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0";
+      };
+    }
+    {
+      name = "evp_bytestokey___evp_bytestokey_1.0.3.tgz";
+      path = fetchurl {
+        name = "evp_bytestokey___evp_bytestokey_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz";
+        sha1 = "7fcbdb198dc71959432efe13842684e0525acb02";
+      };
+    }
+    {
+      name = "exec_sh___exec_sh_0.3.4.tgz";
+      path = fetchurl {
+        name = "exec_sh___exec_sh_0.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz";
+        sha1 = "3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5";
+      };
+    }
+    {
+      name = "execa___execa_1.0.0.tgz";
+      path = fetchurl {
+        name = "execa___execa_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz";
+        sha1 = "c6236a5bb4df6d6f15e88e7f017798216749ddd8";
+      };
+    }
+    {
+      name = "execa___execa_4.1.0.tgz";
+      path = fetchurl {
+        name = "execa___execa_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz";
+        sha1 = "4e5491ad1572f2f17a77d388c6c857135b22847a";
+      };
+    }
+    {
+      name = "exif_js___exif_js_2.3.0.tgz";
+      path = fetchurl {
+        name = "exif_js___exif_js_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/exif-js/-/exif-js-2.3.0.tgz";
+        sha1 = "9d10819bf571f873813e7640241255ab9ce1a814";
+      };
+    }
+    {
+      name = "exit_hook___exit_hook_1.1.1.tgz";
+      path = fetchurl {
+        name = "exit_hook___exit_hook_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz";
+        sha1 = "f05ca233b48c05d54fff07765df8507e95c02ff8";
+      };
+    }
+    {
+      name = "exit___exit_0.1.2.tgz";
+      path = fetchurl {
+        name = "exit___exit_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz";
+        sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
+      };
+    }
+    {
+      name = "expand_brackets___expand_brackets_2.1.4.tgz";
+      path = fetchurl {
+        name = "expand_brackets___expand_brackets_2.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz";
+        sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622";
+      };
+    }
+    {
+      name = "expand_tilde___expand_tilde_2.0.2.tgz";
+      path = fetchurl {
+        name = "expand_tilde___expand_tilde_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz";
+        sha1 = "97e801aa052df02454de46b02bf621642cdc8502";
+      };
+    }
+    {
+      name = "expect___expect_26.6.2.tgz";
+      path = fetchurl {
+        name = "expect___expect_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz";
+        sha1 = "c6b996bf26bf3fe18b67b2d0f51fc981ba934417";
+      };
+    }
+    {
+      name = "express___express_4.17.1.tgz";
+      path = fetchurl {
+        name = "express___express_4.17.1.tgz";
+        url  = "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz";
+        sha1 = "4491fc38605cf51f8629d39c2b5d026f98a4c134";
+      };
+    }
+    {
+      name = "ext___ext_1.4.0.tgz";
+      path = fetchurl {
+        name = "ext___ext_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz";
+        sha1 = "89ae7a07158f79d35517882904324077e4379244";
+      };
+    }
+    {
+      name = "extend_shallow___extend_shallow_2.0.1.tgz";
+      path = fetchurl {
+        name = "extend_shallow___extend_shallow_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz";
+        sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f";
+      };
+    }
+    {
+      name = "extend_shallow___extend_shallow_3.0.2.tgz";
+      path = fetchurl {
+        name = "extend_shallow___extend_shallow_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz";
+        sha1 = "26a71aaf073b39fb2127172746131c2704028db8";
+      };
+    }
+    {
+      name = "extend___extend_3.0.2.tgz";
+      path = fetchurl {
+        name = "extend___extend_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz";
+        sha1 = "f8b1136b4071fbd8eb140aff858b1019ec2915fa";
+      };
+    }
+    {
+      name = "extglob___extglob_2.0.4.tgz";
+      path = fetchurl {
+        name = "extglob___extglob_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz";
+        sha1 = "ad00fe4dc612a9232e8718711dc5cb5ab0285543";
+      };
+    }
+    {
+      name = "extsprintf___extsprintf_1.3.0.tgz";
+      path = fetchurl {
+        name = "extsprintf___extsprintf_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz";
+        sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
+      };
+    }
+    {
+      name = "extsprintf___extsprintf_1.4.0.tgz";
+      path = fetchurl {
+        name = "extsprintf___extsprintf_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz";
+        sha1 = "e2689f8f356fad62cca65a3a91c5df5f9551692f";
+      };
+    }
+    {
+      name = "fast_deep_equal___fast_deep_equal_3.1.3.tgz";
+      path = fetchurl {
+        name = "fast_deep_equal___fast_deep_equal_3.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz";
+        sha1 = "3a7d56b559d6cbc3eb512325244e619a65c6c525";
+      };
+    }
+    {
+      name = "fast_json_stable_stringify___fast_json_stable_stringify_2.1.0.tgz";
+      path = fetchurl {
+        name = "fast_json_stable_stringify___fast_json_stable_stringify_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
+        sha1 = "874bf69c6f404c2b5d99c481341399fd55892633";
+      };
+    }
+    {
+      name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz";
+      path = fetchurl {
+        name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz";
+        sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
+      };
+    }
+    {
+      name = "faye_websocket___faye_websocket_0.10.0.tgz";
+      path = fetchurl {
+        name = "faye_websocket___faye_websocket_0.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz";
+        sha1 = "4e492f8d04dfb6f89003507f6edbf2d501e7c6f4";
+      };
+    }
+    {
+      name = "faye_websocket___faye_websocket_0.11.3.tgz";
+      path = fetchurl {
+        name = "faye_websocket___faye_websocket_0.11.3.tgz";
+        url  = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz";
+        sha1 = "5c0e9a8968e8912c286639fde977a8b209f2508e";
+      };
+    }
+    {
+      name = "fb_watchman___fb_watchman_2.0.1.tgz";
+      path = fetchurl {
+        name = "fb_watchman___fb_watchman_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz";
+        sha1 = "fc84fb39d2709cf3ff6d743706157bb5708a8a85";
+      };
+    }
+    {
+      name = "figgy_pudding___figgy_pudding_3.5.2.tgz";
+      path = fetchurl {
+        name = "figgy_pudding___figgy_pudding_3.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz";
+        sha1 = "b4eee8148abb01dcf1d1ac34367d59e12fa61d6e";
+      };
+    }
+    {
+      name = "figures___figures_1.7.0.tgz";
+      path = fetchurl {
+        name = "figures___figures_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz";
+        sha1 = "cbe1e3affcf1cd44b80cadfed28dc793a9701d2e";
+      };
+    }
+    {
+      name = "file_entry_cache___file_entry_cache_1.3.1.tgz";
+      path = fetchurl {
+        name = "file_entry_cache___file_entry_cache_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-1.3.1.tgz";
+        sha1 = "44c61ea607ae4be9c1402f41f44270cbfe334ff8";
+      };
+    }
+    {
+      name = "file_entry_cache___file_entry_cache_5.0.1.tgz";
+      path = fetchurl {
+        name = "file_entry_cache___file_entry_cache_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz";
+        sha1 = "ca0f6efa6dd3d561333fb14515065c2fafdf439c";
+      };
+    }
+    {
+      name = "file_loader___file_loader_6.2.0.tgz";
+      path = fetchurl {
+        name = "file_loader___file_loader_6.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz";
+        sha1 = "baef7cf8e1840df325e4390b4484879480eebe4d";
+      };
+    }
+    {
+      name = "file_type___file_type_12.4.2.tgz";
+      path = fetchurl {
+        name = "file_type___file_type_12.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/file-type/-/file-type-12.4.2.tgz";
+        sha1 = "a344ea5664a1d01447ee7fb1b635f72feb6169d9";
+      };
+    }
+    {
+      name = "file_uri_to_path___file_uri_to_path_1.0.0.tgz";
+      path = fetchurl {
+        name = "file_uri_to_path___file_uri_to_path_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz";
+        sha1 = "553a7b8446ff6f684359c445f1e37a05dacc33dd";
+      };
+    }
+    {
+      name = "filelist___filelist_1.0.1.tgz";
+      path = fetchurl {
+        name = "filelist___filelist_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/filelist/-/filelist-1.0.1.tgz";
+        sha1 = "f10d1a3ae86c1694808e8f20906f43d4c9132dbb";
+      };
+    }
+    {
+      name = "filesize___filesize_6.1.0.tgz";
+      path = fetchurl {
+        name = "filesize___filesize_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/filesize/-/filesize-6.1.0.tgz";
+        sha1 = "e81bdaa780e2451d714d71c0d7a4f3238d37ad00";
+      };
+    }
+    {
+      name = "fill_range___fill_range_4.0.0.tgz";
+      path = fetchurl {
+        name = "fill_range___fill_range_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz";
+        sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7";
+      };
+    }
+    {
+      name = "fill_range___fill_range_7.0.1.tgz";
+      path = fetchurl {
+        name = "fill_range___fill_range_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz";
+        sha1 = "1919a6a7c75fe38b2c7c77e5198535da9acdda40";
+      };
+    }
+    {
+      name = "finalhandler___finalhandler_1.1.2.tgz";
+      path = fetchurl {
+        name = "finalhandler___finalhandler_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz";
+        sha1 = "b7e7d000ffd11938d0fdb053506f6ebabe9f587d";
+      };
+    }
+    {
+      name = "find_cache_dir___find_cache_dir_2.1.0.tgz";
+      path = fetchurl {
+        name = "find_cache_dir___find_cache_dir_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz";
+        sha1 = "8d0f94cd13fe43c6c7c261a0d86115ca918c05f7";
+      };
+    }
+    {
+      name = "find_cache_dir___find_cache_dir_3.3.1.tgz";
+      path = fetchurl {
+        name = "find_cache_dir___find_cache_dir_3.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz";
+        sha1 = "89b33fad4a4670daa94f855f7fbe31d6d84fe880";
+      };
+    }
+    {
+      name = "find_root___find_root_1.1.0.tgz";
+      path = fetchurl {
+        name = "find_root___find_root_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz";
+        sha1 = "abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4";
+      };
+    }
+    {
+      name = "find_up___find_up_2.1.0.tgz";
+      path = fetchurl {
+        name = "find_up___find_up_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz";
+        sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7";
+      };
+    }
+    {
+      name = "find_up___find_up_3.0.0.tgz";
+      path = fetchurl {
+        name = "find_up___find_up_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz";
+        sha1 = "49169f1d7993430646da61ecc5ae355c21c97b73";
+      };
+    }
+    {
+      name = "find_up___find_up_4.1.0.tgz";
+      path = fetchurl {
+        name = "find_up___find_up_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz";
+        sha1 = "97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19";
+      };
+    }
+    {
+      name = "findup_sync___findup_sync_3.0.0.tgz";
+      path = fetchurl {
+        name = "findup_sync___findup_sync_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz";
+        sha1 = "17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1";
+      };
+    }
+    {
+      name = "flat_cache___flat_cache_1.3.4.tgz";
+      path = fetchurl {
+        name = "flat_cache___flat_cache_1.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz";
+        sha1 = "2c2ef77525cc2929007dfffa1dd314aa9c9dee6f";
+      };
+    }
+    {
+      name = "flat_cache___flat_cache_2.0.1.tgz";
+      path = fetchurl {
+        name = "flat_cache___flat_cache_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz";
+        sha1 = "5d296d6f04bda44a4630a301413bdbc2ec085ec0";
+      };
+    }
+    {
+      name = "flatted___flatted_2.0.2.tgz";
+      path = fetchurl {
+        name = "flatted___flatted_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz";
+        sha1 = "4575b21e2bcee7434aa9be662f4b7b5f9c2b5138";
+      };
+    }
+    {
+      name = "flush_write_stream___flush_write_stream_1.1.1.tgz";
+      path = fetchurl {
+        name = "flush_write_stream___flush_write_stream_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz";
+        sha1 = "8dd7d873a1babc207d94ead0c2e0e44276ebf2e8";
+      };
+    }
+    {
+      name = "follow_redirects___follow_redirects_1.13.0.tgz";
+      path = fetchurl {
+        name = "follow_redirects___follow_redirects_1.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.0.tgz";
+        sha1 = "b42e8d93a2a7eea5ed88633676d6597bc8e384db";
+      };
+    }
+    {
+      name = "font_awesome___font_awesome_4.7.0.tgz";
+      path = fetchurl {
+        name = "font_awesome___font_awesome_4.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz";
+        sha1 = "8fa8cf0411a1a31afd07b06d2902bb9fc815a133";
+      };
+    }
+    {
+      name = "for_in___for_in_1.0.2.tgz";
+      path = fetchurl {
+        name = "for_in___for_in_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz";
+        sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80";
+      };
+    }
+    {
+      name = "forever_agent___forever_agent_0.6.1.tgz";
+      path = fetchurl {
+        name = "forever_agent___forever_agent_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz";
+        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+      };
+    }
+    {
+      name = "form_data___form_data_2.3.3.tgz";
+      path = fetchurl {
+        name = "form_data___form_data_2.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz";
+        sha1 = "dcce52c05f644f298c6a7ab936bd724ceffbf3a6";
+      };
+    }
+    {
+      name = "forwarded___forwarded_0.1.2.tgz";
+      path = fetchurl {
+        name = "forwarded___forwarded_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz";
+        sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84";
+      };
+    }
+    {
+      name = "fragment_cache___fragment_cache_0.2.1.tgz";
+      path = fetchurl {
+        name = "fragment_cache___fragment_cache_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz";
+        sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19";
+      };
+    }
+    {
+      name = "fresh___fresh_0.5.2.tgz";
+      path = fetchurl {
+        name = "fresh___fresh_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz";
+        sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7";
+      };
+    }
+    {
+      name = "from2___from2_2.3.0.tgz";
+      path = fetchurl {
+        name = "from2___from2_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz";
+        sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af";
+      };
+    }
+    {
+      name = "front_matter___front_matter_2.1.2.tgz";
+      path = fetchurl {
+        name = "front_matter___front_matter_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/front-matter/-/front-matter-2.1.2.tgz";
+        sha1 = "f75983b9f2f413be658c93dfd7bd8ce4078f5cdb";
+      };
+    }
+    {
+      name = "fs_extra___fs_extra_3.0.1.tgz";
+      path = fetchurl {
+        name = "fs_extra___fs_extra_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz";
+        sha1 = "3794f378c58b342ea7dbbb23095109c4b3b62291";
+      };
+    }
+    {
+      name = "fs_extra___fs_extra_8.1.0.tgz";
+      path = fetchurl {
+        name = "fs_extra___fs_extra_8.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz";
+        sha1 = "49d43c45a88cd9677668cb7be1b46efdb8d2e1c0";
+      };
+    }
+    {
+      name = "fs_minipass___fs_minipass_2.1.0.tgz";
+      path = fetchurl {
+        name = "fs_minipass___fs_minipass_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz";
+        sha1 = "7f5036fdbf12c63c169190cbe4199c852271f9fb";
+      };
+    }
+    {
+      name = "fs_write_stream_atomic___fs_write_stream_atomic_1.0.10.tgz";
+      path = fetchurl {
+        name = "fs_write_stream_atomic___fs_write_stream_atomic_1.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz";
+        sha1 = "b47df53493ef911df75731e70a9ded0189db40c9";
+      };
+    }
+    {
+      name = "fs.realpath___fs.realpath_1.0.0.tgz";
+      path = fetchurl {
+        name = "fs.realpath___fs.realpath_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz";
+        sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+      };
+    }
+    {
+      name = "fsevents___fsevents_1.2.13.tgz";
+      path = fetchurl {
+        name = "fsevents___fsevents_1.2.13.tgz";
+        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz";
+        sha1 = "f325cb0455592428bcf11b383370ef70e3bfcc38";
+      };
+    }
+    {
+      name = "fsevents___fsevents_2.1.3.tgz";
+      path = fetchurl {
+        name = "fsevents___fsevents_2.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz";
+        sha1 = "fb738703ae8d2f9fe900c33836ddebee8b97f23e";
+      };
+    }
+    {
+      name = "function_bind___function_bind_1.1.1.tgz";
+      path = fetchurl {
+        name = "function_bind___function_bind_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz";
+        sha1 = "a56899d3ea3c9bab874bb9773b7c5ede92f4895d";
+      };
+    }
+    {
+      name = "functional_red_black_tree___functional_red_black_tree_1.0.1.tgz";
+      path = fetchurl {
+        name = "functional_red_black_tree___functional_red_black_tree_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz";
+        sha1 = "1b0ab3bd553b2a0d6399d29c0e3ea0b252078327";
+      };
+    }
+    {
+      name = "gauge___gauge_2.7.4.tgz";
+      path = fetchurl {
+        name = "gauge___gauge_2.7.4.tgz";
+        url  = "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz";
+        sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7";
+      };
+    }
+    {
+      name = "generate_function___generate_function_2.3.1.tgz";
+      path = fetchurl {
+        name = "generate_function___generate_function_2.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz";
+        sha1 = "f069617690c10c868e73b8465746764f97c3479f";
+      };
+    }
+    {
+      name = "generate_object_property___generate_object_property_1.2.0.tgz";
+      path = fetchurl {
+        name = "generate_object_property___generate_object_property_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz";
+        sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0";
+      };
+    }
+    {
+      name = "generic_pool___generic_pool_2.4.3.tgz";
+      path = fetchurl {
+        name = "generic_pool___generic_pool_2.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/generic-pool/-/generic-pool-2.4.3.tgz";
+        sha1 = "780c36f69dfad05a5a045dd37be7adca11a4f6ff";
+      };
+    }
+    {
+      name = "gensync___gensync_1.0.0_beta.1.tgz";
+      path = fetchurl {
+        name = "gensync___gensync_1.0.0_beta.1.tgz";
+        url  = "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz";
+        sha1 = "58f4361ff987e5ff6e1e7a210827aa371eaac269";
+      };
+    }
+    {
+      name = "get_caller_file___get_caller_file_2.0.5.tgz";
+      path = fetchurl {
+        name = "get_caller_file___get_caller_file_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz";
+        sha1 = "4f94412a82db32f36e3b0b9741f8a97feb031f7e";
+      };
+    }
+    {
+      name = "get_package_type___get_package_type_0.1.0.tgz";
+      path = fetchurl {
+        name = "get_package_type___get_package_type_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz";
+        sha1 = "8de2d803cff44df3bc6c456e6668b36c3926e11a";
+      };
+    }
+    {
+      name = "get_stream___get_stream_4.1.0.tgz";
+      path = fetchurl {
+        name = "get_stream___get_stream_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz";
+        sha1 = "c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5";
+      };
+    }
+    {
+      name = "get_stream___get_stream_5.2.0.tgz";
+      path = fetchurl {
+        name = "get_stream___get_stream_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz";
+        sha1 = "4966a1795ee5ace65e706c4b7beb71257d6e22d3";
+      };
+    }
+    {
+      name = "get_value___get_value_2.0.6.tgz";
+      path = fetchurl {
+        name = "get_value___get_value_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz";
+        sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28";
+      };
+    }
+    {
+      name = "getpass___getpass_0.1.7.tgz";
+      path = fetchurl {
+        name = "getpass___getpass_0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz";
+        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
+      };
+    }
+    {
+      name = "glob_parent___glob_parent_3.1.0.tgz";
+      path = fetchurl {
+        name = "glob_parent___glob_parent_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz";
+        sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae";
+      };
+    }
+    {
+      name = "glob_parent___glob_parent_5.1.1.tgz";
+      path = fetchurl {
+        name = "glob_parent___glob_parent_5.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz";
+        sha1 = "b6c1ef417c4e5663ea498f1c45afac6916bbc229";
+      };
+    }
+    {
+      name = "glob___glob_7.1.6.tgz";
+      path = fetchurl {
+        name = "glob___glob_7.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz";
+        sha1 = "141f33b81a7c2492e125594307480c46679278a6";
+      };
+    }
+    {
+      name = "global_modules___global_modules_1.0.0.tgz";
+      path = fetchurl {
+        name = "global_modules___global_modules_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz";
+        sha1 = "6d770f0eb523ac78164d72b5e71a8877265cc3ea";
+      };
+    }
+    {
+      name = "global_modules___global_modules_2.0.0.tgz";
+      path = fetchurl {
+        name = "global_modules___global_modules_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz";
+        sha1 = "997605ad2345f27f51539bea26574421215c7780";
+      };
+    }
+    {
+      name = "global_prefix___global_prefix_1.0.2.tgz";
+      path = fetchurl {
+        name = "global_prefix___global_prefix_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz";
+        sha1 = "dbf743c6c14992593c655568cb66ed32c0122ebe";
+      };
+    }
+    {
+      name = "global_prefix___global_prefix_3.0.0.tgz";
+      path = fetchurl {
+        name = "global_prefix___global_prefix_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz";
+        sha1 = "fc85f73064df69f50421f47f883fe5b913ba9b97";
+      };
+    }
+    {
+      name = "globals___globals_11.12.0.tgz";
+      path = fetchurl {
+        name = "globals___globals_11.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz";
+        sha1 = "ab8795338868a0babd8525758018c2a7eb95c42e";
+      };
+    }
+    {
+      name = "globals___globals_12.3.0.tgz";
+      path = fetchurl {
+        name = "globals___globals_12.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/globals/-/globals-12.3.0.tgz";
+        sha1 = "1e564ee5c4dded2ab098b0f88f24702a3c56be13";
+      };
+    }
+    {
+      name = "globals___globals_9.18.0.tgz";
+      path = fetchurl {
+        name = "globals___globals_9.18.0.tgz";
+        url  = "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz";
+        sha1 = "aa3896b3e69b487f17e31ed2143d69a8e30c2d8a";
+      };
+    }
+    {
+      name = "globby___globby_6.1.0.tgz";
+      path = fetchurl {
+        name = "globby___globby_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz";
+        sha1 = "f5a6d70e8395e21c858fb0489d64df02424d506c";
+      };
+    }
+    {
+      name = "globule___globule_1.3.2.tgz";
+      path = fetchurl {
+        name = "globule___globule_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/globule/-/globule-1.3.2.tgz";
+        sha1 = "d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4";
+      };
+    }
+    {
+      name = "gonzales_pe_sl___gonzales_pe_sl_4.2.3.tgz";
+      path = fetchurl {
+        name = "gonzales_pe_sl___gonzales_pe_sl_4.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/gonzales-pe-sl/-/gonzales-pe-sl-4.2.3.tgz";
+        sha1 = "6a868bc380645f141feeb042c6f97fcc71b59fe6";
+      };
+    }
+    {
+      name = "graceful_fs___graceful_fs_4.2.4.tgz";
+      path = fetchurl {
+        name = "graceful_fs___graceful_fs_4.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz";
+        sha1 = "2256bde14d3632958c465ebc96dc467ca07a29fb";
+      };
+    }
+    {
+      name = "growly___growly_1.3.0.tgz";
+      path = fetchurl {
+        name = "growly___growly_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz";
+        sha1 = "f10748cbe76af964b7c96c93c6bcc28af120c081";
+      };
+    }
+    {
+      name = "gzip_size___gzip_size_5.1.1.tgz";
+      path = fetchurl {
+        name = "gzip_size___gzip_size_5.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz";
+        sha1 = "cb9bee692f87c0612b232840a873904e4c135274";
+      };
+    }
+    {
+      name = "handle_thing___handle_thing_2.0.1.tgz";
+      path = fetchurl {
+        name = "handle_thing___handle_thing_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz";
+        sha1 = "857f79ce359580c340d43081cc648970d0bb234e";
+      };
+    }
+    {
+      name = "har_schema___har_schema_2.0.0.tgz";
+      path = fetchurl {
+        name = "har_schema___har_schema_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz";
+        sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
+      };
+    }
+    {
+      name = "har_validator___har_validator_5.1.5.tgz";
+      path = fetchurl {
+        name = "har_validator___har_validator_5.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz";
+        sha1 = "1f0803b9f8cb20c0fa13822df1ecddb36bde1efd";
+      };
+    }
+    {
+      name = "has_ansi___has_ansi_2.0.0.tgz";
+      path = fetchurl {
+        name = "has_ansi___has_ansi_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz";
+        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+      };
+    }
+    {
+      name = "has_flag___has_flag_1.0.0.tgz";
+      path = fetchurl {
+        name = "has_flag___has_flag_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz";
+        sha1 = "9d9e793165ce017a00f00418c43f942a7b1d11fa";
+      };
+    }
+    {
+      name = "has_flag___has_flag_3.0.0.tgz";
+      path = fetchurl {
+        name = "has_flag___has_flag_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz";
+        sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
+      };
+    }
+    {
+      name = "has_flag___has_flag_4.0.0.tgz";
+      path = fetchurl {
+        name = "has_flag___has_flag_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz";
+        sha1 = "944771fd9c81c81265c4d6941860da06bb59479b";
+      };
+    }
+    {
+      name = "has_symbols___has_symbols_1.0.1.tgz";
+      path = fetchurl {
+        name = "has_symbols___has_symbols_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz";
+        sha1 = "9f5214758a44196c406d9bd76cebf81ec2dd31e8";
+      };
+    }
+    {
+      name = "has_unicode___has_unicode_2.0.1.tgz";
+      path = fetchurl {
+        name = "has_unicode___has_unicode_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz";
+        sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9";
+      };
+    }
+    {
+      name = "has_value___has_value_0.3.1.tgz";
+      path = fetchurl {
+        name = "has_value___has_value_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz";
+        sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f";
+      };
+    }
+    {
+      name = "has_value___has_value_1.0.0.tgz";
+      path = fetchurl {
+        name = "has_value___has_value_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz";
+        sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177";
+      };
+    }
+    {
+      name = "has_values___has_values_0.1.4.tgz";
+      path = fetchurl {
+        name = "has_values___has_values_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz";
+        sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771";
+      };
+    }
+    {
+      name = "has_values___has_values_1.0.0.tgz";
+      path = fetchurl {
+        name = "has_values___has_values_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz";
+        sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f";
+      };
+    }
+    {
+      name = "has___has_1.0.3.tgz";
+      path = fetchurl {
+        name = "has___has_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz";
+        sha1 = "722d7cbfc1f6aa8241f16dd814e011e1f41e8796";
+      };
+    }
+    {
+      name = "hash_base___hash_base_3.1.0.tgz";
+      path = fetchurl {
+        name = "hash_base___hash_base_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz";
+        sha1 = "55c381d9e06e1d2997a883b4a3fddfe7f0d3af33";
+      };
+    }
+    {
+      name = "hash.js___hash.js_1.1.7.tgz";
+      path = fetchurl {
+        name = "hash.js___hash.js_1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz";
+        sha1 = "0babca538e8d4ee4a0f8988d68866537a003cf42";
+      };
+    }
+    {
+      name = "hex_color_regex___hex_color_regex_1.1.0.tgz";
+      path = fetchurl {
+        name = "hex_color_regex___hex_color_regex_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz";
+        sha1 = "4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e";
+      };
+    }
+    {
+      name = "history___history_4.10.1.tgz";
+      path = fetchurl {
+        name = "history___history_4.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz";
+        sha1 = "33371a65e3a83b267434e2b3f3b1b4c58aad4cf3";
+      };
+    }
+    {
+      name = "history___history_4.7.2.tgz";
+      path = fetchurl {
+        name = "history___history_4.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/history/-/history-4.7.2.tgz";
+        sha1 = "22b5c7f31633c5b8021c7f4a8a954ac139ee8d5b";
+      };
+    }
+    {
+      name = "hmac_drbg___hmac_drbg_1.0.1.tgz";
+      path = fetchurl {
+        name = "hmac_drbg___hmac_drbg_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz";
+        sha1 = "d2745701025a6c775a6c545793ed502fc0c649a1";
+      };
+    }
+    {
+      name = "hoist_non_react_statics___hoist_non_react_statics_2.5.5.tgz";
+      path = fetchurl {
+        name = "hoist_non_react_statics___hoist_non_react_statics_2.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz";
+        sha1 = "c5903cf409c0dfd908f388e619d86b9c1174cb47";
+      };
+    }
+    {
+      name = "hoist_non_react_statics___hoist_non_react_statics_3.3.2.tgz";
+      path = fetchurl {
+        name = "hoist_non_react_statics___hoist_non_react_statics_3.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz";
+        sha1 = "ece0acaf71d62c2969c2ec59feff42a4b1a85b45";
+      };
+    }
+    {
+      name = "homedir_polyfill___homedir_polyfill_1.0.3.tgz";
+      path = fetchurl {
+        name = "homedir_polyfill___homedir_polyfill_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz";
+        sha1 = "743298cef4e5af3e194161fbadcc2151d3a058e8";
+      };
+    }
+    {
+      name = "hosted_git_info___hosted_git_info_2.8.8.tgz";
+      path = fetchurl {
+        name = "hosted_git_info___hosted_git_info_2.8.8.tgz";
+        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz";
+        sha1 = "7539bd4bc1e0e0a895815a2e0262420b12858488";
+      };
+    }
+    {
+      name = "hpack.js___hpack.js_2.1.6.tgz";
+      path = fetchurl {
+        name = "hpack.js___hpack.js_2.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz";
+        sha1 = "87774c0949e513f42e84575b3c45681fade2a0b2";
+      };
+    }
+    {
+      name = "hsl_regex___hsl_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "hsl_regex___hsl_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz";
+        sha1 = "d49330c789ed819e276a4c0d272dffa30b18fe6e";
+      };
+    }
+    {
+      name = "hsla_regex___hsla_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "hsla_regex___hsla_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz";
+        sha1 = "c1ce7a3168c8c6614033a4b5f7877f3b225f9c38";
+      };
+    }
+    {
+      name = "html_comment_regex___html_comment_regex_1.1.2.tgz";
+      path = fetchurl {
+        name = "html_comment_regex___html_comment_regex_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz";
+        sha1 = "97d4688aeb5c81886a364faa0cad1dda14d433a7";
+      };
+    }
+    {
+      name = "html_encoding_sniffer___html_encoding_sniffer_2.0.1.tgz";
+      path = fetchurl {
+        name = "html_encoding_sniffer___html_encoding_sniffer_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz";
+        sha1 = "42a6dc4fd33f00281176e8b23759ca4e4fa185f3";
+      };
+    }
+    {
+      name = "html_entities___html_entities_1.3.1.tgz";
+      path = fetchurl {
+        name = "html_entities___html_entities_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz";
+        sha1 = "fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44";
+      };
+    }
+    {
+      name = "html_escaper___html_escaper_2.0.2.tgz";
+      path = fetchurl {
+        name = "html_escaper___html_escaper_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz";
+        sha1 = "dfd60027da36a36dfcbe236262c00a5822681453";
+      };
+    }
+    {
+      name = "http_deceiver___http_deceiver_1.2.7.tgz";
+      path = fetchurl {
+        name = "http_deceiver___http_deceiver_1.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz";
+        sha1 = "fa7168944ab9a519d337cb0bec7284dc3e723d87";
+      };
+    }
+    {
+      name = "http_errors___http_errors_1.7.2.tgz";
+      path = fetchurl {
+        name = "http_errors___http_errors_1.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz";
+        sha1 = "4f5029cf13239f31036e5b2e55292bcfbcc85c8f";
+      };
+    }
+    {
+      name = "http_errors___http_errors_1.6.3.tgz";
+      path = fetchurl {
+        name = "http_errors___http_errors_1.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz";
+        sha1 = "8b55680bb4be283a0b5bf4ea2e38580be1d9320d";
+      };
+    }
+    {
+      name = "http_errors___http_errors_1.7.3.tgz";
+      path = fetchurl {
+        name = "http_errors___http_errors_1.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz";
+        sha1 = "6c619e4f9c60308c38519498c14fbb10aacebb06";
+      };
+    }
+    {
+      name = "http_link_header___http_link_header_1.0.3.tgz";
+      path = fetchurl {
+        name = "http_link_header___http_link_header_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/http-link-header/-/http-link-header-1.0.3.tgz";
+        sha1 = "abbc2cdc5e06dd7e196a4983adac08a2d085ec90";
+      };
+    }
+    {
+      name = "http_parser_js___http_parser_js_0.4.10.tgz";
+      path = fetchurl {
+        name = "http_parser_js___http_parser_js_0.4.10.tgz";
+        url  = "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz";
+        sha1 = "92c9c1374c35085f75db359ec56cc257cbb93fa4";
+      };
+    }
+    {
+      name = "http_proxy_middleware___http_proxy_middleware_0.19.1.tgz";
+      path = fetchurl {
+        name = "http_proxy_middleware___http_proxy_middleware_0.19.1.tgz";
+        url  = "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz";
+        sha1 = "183c7dc4aa1479150306498c210cdaf96080a43a";
+      };
+    }
+    {
+      name = "http_proxy___http_proxy_1.18.1.tgz";
+      path = fetchurl {
+        name = "http_proxy___http_proxy_1.18.1.tgz";
+        url  = "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz";
+        sha1 = "401541f0534884bbf95260334e72f88ee3976549";
+      };
+    }
+    {
+      name = "http_signature___http_signature_1.2.0.tgz";
+      path = fetchurl {
+        name = "http_signature___http_signature_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz";
+        sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
+      };
+    }
+    {
+      name = "https_browserify___https_browserify_1.0.0.tgz";
+      path = fetchurl {
+        name = "https_browserify___https_browserify_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz";
+        sha1 = "ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73";
+      };
+    }
+    {
+      name = "human_signals___human_signals_1.1.1.tgz";
+      path = fetchurl {
+        name = "human_signals___human_signals_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz";
+        sha1 = "c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3";
+      };
+    }
+    {
+      name = "iconv_lite___iconv_lite_0.4.24.tgz";
+      path = fetchurl {
+        name = "iconv_lite___iconv_lite_0.4.24.tgz";
+        url  = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz";
+        sha1 = "2022b4b25fbddc21d2f524974a474aafe733908b";
+      };
+    }
+    {
+      name = "icss_utils___icss_utils_5.0.0.tgz";
+      path = fetchurl {
+        name = "icss_utils___icss_utils_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.0.0.tgz";
+        sha1 = "03ed56c3accd32f9caaf1752ebf64ef12347bb84";
+      };
+    }
+    {
+      name = "idb_keyval___idb_keyval_3.2.0.tgz";
+      path = fetchurl {
+        name = "idb_keyval___idb_keyval_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-3.2.0.tgz";
+        sha1 = "cbbf354deb5684b6cdc84376294fc05932845bd6";
+      };
+    }
+    {
+      name = "ieee754___ieee754_1.1.13.tgz";
+      path = fetchurl {
+        name = "ieee754___ieee754_1.1.13.tgz";
+        url  = "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz";
+        sha1 = "ec168558e95aa181fd87d37f55c32bbcb6708b84";
+      };
+    }
+    {
+      name = "iferr___iferr_0.1.5.tgz";
+      path = fetchurl {
+        name = "iferr___iferr_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz";
+        sha1 = "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501";
+      };
+    }
+    {
+      name = "ignore___ignore_3.3.10.tgz";
+      path = fetchurl {
+        name = "ignore___ignore_3.3.10.tgz";
+        url  = "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz";
+        sha1 = "0a97fb876986e8081c631160f8f9f389157f0043";
+      };
+    }
+    {
+      name = "ignore___ignore_4.0.6.tgz";
+      path = fetchurl {
+        name = "ignore___ignore_4.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz";
+        sha1 = "750e3db5862087b4737ebac8207ffd1ef27b25fc";
+      };
+    }
+    {
+      name = "immutable___immutable_3.8.2.tgz";
+      path = fetchurl {
+        name = "immutable___immutable_3.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz";
+        sha1 = "c2439951455bb39913daf281376f1530e104adf3";
+      };
+    }
+    {
+      name = "import_cwd___import_cwd_2.1.0.tgz";
+      path = fetchurl {
+        name = "import_cwd___import_cwd_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz";
+        sha1 = "aa6cf36e722761285cb371ec6519f53e2435b0a9";
+      };
+    }
+    {
+      name = "import_fresh___import_fresh_2.0.0.tgz";
+      path = fetchurl {
+        name = "import_fresh___import_fresh_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz";
+        sha1 = "d81355c15612d386c61f9ddd3922d4304822a546";
+      };
+    }
+    {
+      name = "import_fresh___import_fresh_3.2.1.tgz";
+      path = fetchurl {
+        name = "import_fresh___import_fresh_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz";
+        sha1 = "633ff618506e793af5ac91bf48b72677e15cbe66";
+      };
+    }
+    {
+      name = "import_from___import_from_2.1.0.tgz";
+      path = fetchurl {
+        name = "import_from___import_from_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz";
+        sha1 = "335db7f2a7affd53aaa471d4b8021dee36b7f3b1";
+      };
+    }
+    {
+      name = "import_local___import_local_2.0.0.tgz";
+      path = fetchurl {
+        name = "import_local___import_local_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz";
+        sha1 = "55070be38a5993cf18ef6db7e961f5bee5c5a09d";
+      };
+    }
+    {
+      name = "import_local___import_local_3.0.2.tgz";
+      path = fetchurl {
+        name = "import_local___import_local_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz";
+        sha1 = "a8cfd0431d1de4a2199703d003e3e62364fa6db6";
+      };
+    }
+    {
+      name = "imports_loader___imports_loader_1.2.0.tgz";
+      path = fetchurl {
+        name = "imports_loader___imports_loader_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/imports-loader/-/imports-loader-1.2.0.tgz";
+        sha1 = "b06823d0bb42e6f5ff89bc893829000eda46693f";
+      };
+    }
+    {
+      name = "imurmurhash___imurmurhash_0.1.4.tgz";
+      path = fetchurl {
+        name = "imurmurhash___imurmurhash_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz";
+        sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
+      };
+    }
+    {
+      name = "indent_string___indent_string_4.0.0.tgz";
+      path = fetchurl {
+        name = "indent_string___indent_string_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz";
+        sha1 = "624f8f4497d619b2d9768531d58f4122854d7251";
+      };
+    }
+    {
+      name = "indexes_of___indexes_of_1.0.1.tgz";
+      path = fetchurl {
+        name = "indexes_of___indexes_of_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz";
+        sha1 = "f30f716c8e2bd346c7b67d3df3915566a7c05607";
+      };
+    }
+    {
+      name = "infer_owner___infer_owner_1.0.4.tgz";
+      path = fetchurl {
+        name = "infer_owner___infer_owner_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz";
+        sha1 = "c4cefcaa8e51051c2a40ba2ce8a3d27295af9467";
+      };
+    }
+    {
+      name = "inflight___inflight_1.0.6.tgz";
+      path = fetchurl {
+        name = "inflight___inflight_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz";
+        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+      };
+    }
+    {
+      name = "inherits___inherits_2.0.4.tgz";
+      path = fetchurl {
+        name = "inherits___inherits_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz";
+        sha1 = "0fa2c64f932917c3433a0ded55363aae37416b7c";
+      };
+    }
+    {
+      name = "inherits___inherits_2.0.1.tgz";
+      path = fetchurl {
+        name = "inherits___inherits_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz";
+        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+      };
+    }
+    {
+      name = "inherits___inherits_2.0.3.tgz";
+      path = fetchurl {
+        name = "inherits___inherits_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz";
+        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+      };
+    }
+    {
+      name = "ini___ini_1.3.7.tgz";
+      path = fetchurl {
+        name = "ini___ini_1.3.7.tgz";
+        url  = "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz";
+        sha1 = "a09363e1911972ea16d7a8851005d84cf09a9a84";
+      };
+    }
+    {
+      name = "inquirer___inquirer_0.12.0.tgz";
+      path = fetchurl {
+        name = "inquirer___inquirer_0.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz";
+        sha1 = "1ef2bfd63504df0bc75785fff8c2c41df12f077e";
+      };
+    }
+    {
+      name = "internal_ip___internal_ip_4.3.0.tgz";
+      path = fetchurl {
+        name = "internal_ip___internal_ip_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz";
+        sha1 = "845452baad9d2ca3b69c635a137acb9a0dad0907";
+      };
+    }
+    {
+      name = "internal_slot___internal_slot_1.0.2.tgz";
+      path = fetchurl {
+        name = "internal_slot___internal_slot_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz";
+        sha1 = "9c2e9fb3cd8e5e4256c6f45fe310067fcfa378a3";
+      };
+    }
+    {
+      name = "interpret___interpret_1.4.0.tgz";
+      path = fetchurl {
+        name = "interpret___interpret_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz";
+        sha1 = "665ab8bc4da27a774a40584e812e3e0fa45b1a1e";
+      };
+    }
+    {
+      name = "intersection_observer___intersection_observer_0.11.0.tgz";
+      path = fetchurl {
+        name = "intersection_observer___intersection_observer_0.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/intersection-observer/-/intersection-observer-0.11.0.tgz";
+        sha1 = "f4ea067070326f68393ee161cc0a2ca4c0040c6f";
+      };
+    }
+    {
+      name = "intl_format_cache___intl_format_cache_2.2.9.tgz";
+      path = fetchurl {
+        name = "intl_format_cache___intl_format_cache_2.2.9.tgz";
+        url  = "https://registry.yarnpkg.com/intl-format-cache/-/intl-format-cache-2.2.9.tgz";
+        sha1 = "fb560de20c549cda20b569cf1ffb6dc62b5b93b4";
+      };
+    }
+    {
+      name = "intl_messageformat_parser___intl_messageformat_parser_1.4.0.tgz";
+      path = fetchurl {
+        name = "intl_messageformat_parser___intl_messageformat_parser_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz";
+        sha1 = "b43d45a97468cadbe44331d74bb1e8dea44fc075";
+      };
+    }
+    {
+      name = "intl_messageformat_parser___intl_messageformat_parser_4.1.4.tgz";
+      path = fetchurl {
+        name = "intl_messageformat_parser___intl_messageformat_parser_4.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-4.1.4.tgz";
+        sha1 = "98f3415e6990d44bebf2e0ad8e4cfbacf3ef5ed3";
+      };
+    }
+    {
+      name = "intl_messageformat___intl_messageformat_2.2.0.tgz";
+      path = fetchurl {
+        name = "intl_messageformat___intl_messageformat_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-2.2.0.tgz";
+        sha1 = "345bcd46de630b7683330c2e52177ff5eab484fc";
+      };
+    }
+    {
+      name = "intl_relativeformat___intl_relativeformat_2.2.0.tgz";
+      path = fetchurl {
+        name = "intl_relativeformat___intl_relativeformat_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/intl-relativeformat/-/intl-relativeformat-2.2.0.tgz";
+        sha1 = "6aca95d019ec8d30b6c5653b6629f9983ea5b6c5";
+      };
+    }
+    {
+      name = "intl_relativeformat___intl_relativeformat_6.4.3.tgz";
+      path = fetchurl {
+        name = "intl_relativeformat___intl_relativeformat_6.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/intl-relativeformat/-/intl-relativeformat-6.4.3.tgz";
+        sha1 = "cb5559e1e257cc2e763583502012a354bb777efe";
+      };
+    }
+    {
+      name = "intl___intl_1.2.5.tgz";
+      path = fetchurl {
+        name = "intl___intl_1.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/intl/-/intl-1.2.5.tgz";
+        sha1 = "82244a2190c4e419f8371f5aa34daa3420e2abde";
+      };
+    }
+    {
+      name = "invariant___invariant_2.2.4.tgz";
+      path = fetchurl {
+        name = "invariant___invariant_2.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz";
+        sha1 = "610f3c92c9359ce1db616e538008d23ff35158e6";
+      };
+    }
+    {
+      name = "ip_regex___ip_regex_2.1.0.tgz";
+      path = fetchurl {
+        name = "ip_regex___ip_regex_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz";
+        sha1 = "fa78bf5d2e6913c911ce9f819ee5146bb6d844e9";
+      };
+    }
+    {
+      name = "ip___ip_1.1.5.tgz";
+      path = fetchurl {
+        name = "ip___ip_1.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz";
+        sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a";
+      };
+    }
+    {
+      name = "ipaddr.js___ipaddr.js_1.9.1.tgz";
+      path = fetchurl {
+        name = "ipaddr.js___ipaddr.js_1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz";
+        sha1 = "bff38543eeb8984825079ff3a2a8e6cbd46781b3";
+      };
+    }
+    {
+      name = "is_absolute_url___is_absolute_url_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_absolute_url___is_absolute_url_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz";
+        sha1 = "50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6";
+      };
+    }
+    {
+      name = "is_absolute_url___is_absolute_url_3.0.3.tgz";
+      path = fetchurl {
+        name = "is_absolute_url___is_absolute_url_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz";
+        sha1 = "96c6a22b6a23929b11ea0afb1836c36ad4a5d698";
+      };
+    }
+    {
+      name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz";
+      path = fetchurl {
+        name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz";
+        sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6";
+      };
+    }
+    {
+      name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz";
+        sha1 = "169c2f6d3df1f992618072365c9b0ea1f6878656";
+      };
+    }
+    {
+      name = "is_arguments___is_arguments_1.0.4.tgz";
+      path = fetchurl {
+        name = "is_arguments___is_arguments_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz";
+        sha1 = "3faf966c7cba0ff437fb31f6250082fcf0448cf3";
+      };
+    }
+    {
+      name = "is_arrayish___is_arrayish_0.2.1.tgz";
+      path = fetchurl {
+        name = "is_arrayish___is_arrayish_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz";
+        sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
+      };
+    }
+    {
+      name = "is_arrayish___is_arrayish_0.3.2.tgz";
+      path = fetchurl {
+        name = "is_arrayish___is_arrayish_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz";
+        sha1 = "4574a2ae56f7ab206896fb431eaeed066fdf8f03";
+      };
+    }
+    {
+      name = "is_binary_path___is_binary_path_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_binary_path___is_binary_path_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz";
+        sha1 = "75f16642b480f187a711c814161fd3a4a7655898";
+      };
+    }
+    {
+      name = "is_binary_path___is_binary_path_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_binary_path___is_binary_path_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz";
+        sha1 = "ea1f7f3b80f064236e83470f86c09c254fb45b09";
+      };
+    }
+    {
+      name = "is_buffer___is_buffer_1.1.6.tgz";
+      path = fetchurl {
+        name = "is_buffer___is_buffer_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz";
+        sha1 = "efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be";
+      };
+    }
+    {
+      name = "is_callable___is_callable_1.2.2.tgz";
+      path = fetchurl {
+        name = "is_callable___is_callable_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz";
+        sha1 = "c7c6715cd22d4ddb48d3e19970223aceabb080d9";
+      };
+    }
+    {
+      name = "is_ci___is_ci_2.0.0.tgz";
+      path = fetchurl {
+        name = "is_ci___is_ci_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz";
+        sha1 = "6bc6334181810e04b5c22b3d589fdca55026404c";
+      };
+    }
+    {
+      name = "is_color_stop___is_color_stop_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_color_stop___is_color_stop_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz";
+        sha1 = "cfff471aee4dd5c9e158598fbe12967b5cdad345";
+      };
+    }
+    {
+      name = "is_core_module___is_core_module_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_core_module___is_core_module_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.1.0.tgz";
+        sha1 = "a4cc031d9b1aca63eecbd18a650e13cb4eeab946";
+      };
+    }
+    {
+      name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz";
+      path = fetchurl {
+        name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz";
+        sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56";
+      };
+    }
+    {
+      name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz";
+        sha1 = "d84876321d0e7add03990406abbbbd36ba9268c7";
+      };
+    }
+    {
+      name = "is_date_object___is_date_object_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_date_object___is_date_object_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz";
+        sha1 = "bda736f2cd8fd06d32844e7743bfa7494c3bfd7e";
+      };
+    }
+    {
+      name = "is_descriptor___is_descriptor_0.1.6.tgz";
+      path = fetchurl {
+        name = "is_descriptor___is_descriptor_0.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz";
+        sha1 = "366d8240dde487ca51823b1ab9f07a10a78251ca";
+      };
+    }
+    {
+      name = "is_descriptor___is_descriptor_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_descriptor___is_descriptor_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz";
+        sha1 = "3b159746a66604b04f8c81524ba365c5f14d86ec";
+      };
+    }
+    {
+      name = "is_directory___is_directory_0.3.1.tgz";
+      path = fetchurl {
+        name = "is_directory___is_directory_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz";
+        sha1 = "61339b6f2475fc772fd9c9d83f5c8575dc154ae1";
+      };
+    }
+    {
+      name = "is_docker___is_docker_2.1.1.tgz";
+      path = fetchurl {
+        name = "is_docker___is_docker_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz";
+        sha1 = "4125a88e44e450d384e09047ede71adc2d144156";
+      };
+    }
+    {
+      name = "is_electron___is_electron_2.2.0.tgz";
+      path = fetchurl {
+        name = "is_electron___is_electron_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-electron/-/is-electron-2.2.0.tgz";
+        sha1 = "8943084f09e8b731b3a7a0298a7b5d56f6b7eef0";
+      };
+    }
+    {
+      name = "is_extendable___is_extendable_0.1.1.tgz";
+      path = fetchurl {
+        name = "is_extendable___is_extendable_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz";
+        sha1 = "62b110e289a471418e3ec36a617d472e301dfc89";
+      };
+    }
+    {
+      name = "is_extendable___is_extendable_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_extendable___is_extendable_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz";
+        sha1 = "a7470f9e426733d81bd81e1155264e3a3507cab4";
+      };
+    }
+    {
+      name = "is_extglob___is_extglob_2.1.1.tgz";
+      path = fetchurl {
+        name = "is_extglob___is_extglob_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz";
+        sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
+      };
+    }
+    {
+      name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
+        sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
+      };
+    }
+    {
+      name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz";
+      path = fetchurl {
+        name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz";
+        sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
+      };
+    }
+    {
+      name = "is_fullwidth_code_point___is_fullwidth_code_point_3.0.0.tgz";
+      path = fetchurl {
+        name = "is_fullwidth_code_point___is_fullwidth_code_point_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz";
+        sha1 = "f116f8064fe90b3f7844a38997c0b75051269f1d";
+      };
+    }
+    {
+      name = "is_generator_fn___is_generator_fn_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_generator_fn___is_generator_fn_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz";
+        sha1 = "7d140adc389aaf3011a8f2a2a4cfa6faadffb118";
+      };
+    }
+    {
+      name = "is_glob___is_glob_3.1.0.tgz";
+      path = fetchurl {
+        name = "is_glob___is_glob_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz";
+        sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a";
+      };
+    }
+    {
+      name = "is_glob___is_glob_4.0.1.tgz";
+      path = fetchurl {
+        name = "is_glob___is_glob_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz";
+        sha1 = "7567dbe9f2f5e2467bc77ab83c4a29482407a5dc";
+      };
+    }
+    {
+      name = "is_my_ip_valid___is_my_ip_valid_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_my_ip_valid___is_my_ip_valid_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz";
+        sha1 = "7b351b8e8edd4d3995d4d066680e664d94696824";
+      };
+    }
+    {
+      name = "is_my_json_valid___is_my_json_valid_2.20.5.tgz";
+      path = fetchurl {
+        name = "is_my_json_valid___is_my_json_valid_2.20.5.tgz";
+        url  = "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.20.5.tgz";
+        sha1 = "5eca6a8232a687f68869b7361be1612e7512e5df";
+      };
+    }
+    {
+      name = "is_nan___is_nan_1.3.0.tgz";
+      path = fetchurl {
+        name = "is_nan___is_nan_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.0.tgz";
+        sha1 = "85d1f5482f7051c2019f5673ccebdb06f3b0db03";
+      };
+    }
+    {
+      name = "is_negative_zero___is_negative_zero_2.0.0.tgz";
+      path = fetchurl {
+        name = "is_negative_zero___is_negative_zero_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz";
+        sha1 = "9553b121b0fac28869da9ed459e20c7543788461";
+      };
+    }
+    {
+      name = "is_number___is_number_3.0.0.tgz";
+      path = fetchurl {
+        name = "is_number___is_number_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz";
+        sha1 = "24fd6201a4782cf50561c810276afc7d12d71195";
+      };
+    }
+    {
+      name = "is_number___is_number_7.0.0.tgz";
+      path = fetchurl {
+        name = "is_number___is_number_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz";
+        sha1 = "7535345b896734d5f80c4d06c50955527a14f12b";
+      };
+    }
+    {
+      name = "is_obj___is_obj_2.0.0.tgz";
+      path = fetchurl {
+        name = "is_obj___is_obj_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz";
+        sha1 = "473fb05d973705e3fd9620545018ca8e22ef4982";
+      };
+    }
+    {
+      name = "is_path_cwd___is_path_cwd_2.2.0.tgz";
+      path = fetchurl {
+        name = "is_path_cwd___is_path_cwd_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz";
+        sha1 = "67d43b82664a7b5191fd9119127eb300048a9fdb";
+      };
+    }
+    {
+      name = "is_path_in_cwd___is_path_in_cwd_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_path_in_cwd___is_path_in_cwd_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz";
+        sha1 = "bfe2dca26c69f397265a4009963602935a053acb";
+      };
+    }
+    {
+      name = "is_path_inside___is_path_inside_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_path_inside___is_path_inside_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz";
+        sha1 = "7c9810587d659a40d27bcdb4d5616eab059494b2";
+      };
+    }
+    {
+      name = "is_plain_object___is_plain_object_2.0.4.tgz";
+      path = fetchurl {
+        name = "is_plain_object___is_plain_object_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz";
+        sha1 = "2c163b3fafb1b606d9d17928f05c2a1c38e07677";
+      };
+    }
+    {
+      name = "is_potential_custom_element_name___is_potential_custom_element_name_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_potential_custom_element_name___is_potential_custom_element_name_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz";
+        sha1 = "0c52e54bcca391bb2c494b21e8626d7336c6e397";
+      };
+    }
+    {
+      name = "is_property___is_property_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_property___is_property_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz";
+        sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84";
+      };
+    }
+    {
+      name = "is_regex___is_regex_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_regex___is_regex_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.0.tgz";
+        sha1 = "ece38e389e490df0dc21caea2bd596f987f767ff";
+      };
+    }
+    {
+      name = "is_regex___is_regex_1.1.1.tgz";
+      path = fetchurl {
+        name = "is_regex___is_regex_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz";
+        sha1 = "c6f98aacc546f6cec5468a07b7b153ab564a57b9";
+      };
+    }
+    {
+      name = "is_resolvable___is_resolvable_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_resolvable___is_resolvable_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz";
+        sha1 = "fb18f87ce1feb925169c9a407c19318a3206ed88";
+      };
+    }
+    {
+      name = "is_stream___is_stream_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_stream___is_stream_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz";
+        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+      };
+    }
+    {
+      name = "is_stream___is_stream_2.0.0.tgz";
+      path = fetchurl {
+        name = "is_stream___is_stream_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz";
+        sha1 = "bde9c32680d6fae04129d6ac9d921ce7815f78e3";
+      };
+    }
+    {
+      name = "is_string___is_string_1.0.5.tgz";
+      path = fetchurl {
+        name = "is_string___is_string_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz";
+        sha1 = "40493ed198ef3ff477b8c7f92f644ec82a5cd3a6";
+      };
+    }
+    {
+      name = "is_svg___is_svg_3.0.0.tgz";
+      path = fetchurl {
+        name = "is_svg___is_svg_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz";
+        sha1 = "9321dbd29c212e5ca99c4fa9794c714bcafa2f75";
+      };
+    }
+    {
+      name = "is_symbol___is_symbol_1.0.3.tgz";
+      path = fetchurl {
+        name = "is_symbol___is_symbol_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz";
+        sha1 = "38e1014b9e6329be0de9d24a414fd7441ec61937";
+      };
+    }
+    {
+      name = "is_typedarray___is_typedarray_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_typedarray___is_typedarray_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz";
+        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
+      };
+    }
+    {
+      name = "is_url___is_url_1.2.4.tgz";
+      path = fetchurl {
+        name = "is_url___is_url_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz";
+        sha1 = "04a4df46d28c4cff3d73d01ff06abeb318a1aa52";
+      };
+    }
+    {
+      name = "is_windows___is_windows_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_windows___is_windows_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz";
+        sha1 = "d1850eb9791ecd18e6182ce12a30f396634bb19d";
+      };
+    }
+    {
+      name = "is_wsl___is_wsl_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_wsl___is_wsl_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz";
+        sha1 = "1f16e4aa22b04d1336b66188a66af3c600c3a66d";
+      };
+    }
+    {
+      name = "is_wsl___is_wsl_2.2.0.tgz";
+      path = fetchurl {
+        name = "is_wsl___is_wsl_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz";
+        sha1 = "74a4c76e77ca9fd3f932f290c17ea326cd157271";
+      };
+    }
+    {
+      name = "isarray___isarray_0.0.1.tgz";
+      path = fetchurl {
+        name = "isarray___isarray_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz";
+        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+      };
+    }
+    {
+      name = "isarray___isarray_1.0.0.tgz";
+      path = fetchurl {
+        name = "isarray___isarray_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz";
+        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+      };
+    }
+    {
+      name = "isexe___isexe_2.0.0.tgz";
+      path = fetchurl {
+        name = "isexe___isexe_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz";
+        sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+      };
+    }
+    {
+      name = "isobject___isobject_2.1.0.tgz";
+      path = fetchurl {
+        name = "isobject___isobject_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz";
+        sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
+      };
+    }
+    {
+      name = "isobject___isobject_3.0.1.tgz";
+      path = fetchurl {
+        name = "isobject___isobject_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz";
+        sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df";
+      };
+    }
+    {
+      name = "isstream___isstream_0.1.2.tgz";
+      path = fetchurl {
+        name = "isstream___isstream_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz";
+        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+      };
+    }
+    {
+      name = "istanbul_lib_coverage___istanbul_lib_coverage_3.0.0.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_coverage___istanbul_lib_coverage_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz";
+        sha1 = "f5944a37c70b550b02a78a5c3b2055b280cec8ec";
+      };
+    }
+    {
+      name = "istanbul_lib_instrument___istanbul_lib_instrument_4.0.3.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_instrument___istanbul_lib_instrument_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz";
+        sha1 = "873c6fff897450118222774696a3f28902d77c1d";
+      };
+    }
+    {
+      name = "istanbul_lib_report___istanbul_lib_report_3.0.0.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_report___istanbul_lib_report_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz";
+        sha1 = "7518fe52ea44de372f460a76b5ecda9ffb73d8a6";
+      };
+    }
+    {
+      name = "istanbul_lib_source_maps___istanbul_lib_source_maps_4.0.0.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_source_maps___istanbul_lib_source_maps_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz";
+        sha1 = "75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9";
+      };
+    }
+    {
+      name = "istanbul_reports___istanbul_reports_3.0.2.tgz";
+      path = fetchurl {
+        name = "istanbul_reports___istanbul_reports_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz";
+        sha1 = "d593210e5000683750cb09fc0644e4b6e27fd53b";
+      };
+    }
+    {
+      name = "jake___jake_10.8.2.tgz";
+      path = fetchurl {
+        name = "jake___jake_10.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz";
+        sha1 = "ebc9de8558160a66d82d0eadc6a2e58fbc500a7b";
+      };
+    }
+    {
+      name = "jest_changed_files___jest_changed_files_26.6.2.tgz";
+      path = fetchurl {
+        name = "jest_changed_files___jest_changed_files_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz";
+        sha1 = "f6198479e1cc66f22f9ae1e22acaa0b429c042d0";
+      };
+    }
+    {
+      name = "jest_cli___jest_cli_26.6.3.tgz";
+      path = fetchurl {
+        name = "jest_cli___jest_cli_26.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz";
+        sha1 = "43117cfef24bc4cd691a174a8796a532e135e92a";
+      };
+    }
+    {
+      name = "jest_config___jest_config_26.6.3.tgz";
+      path = fetchurl {
+        name = "jest_config___jest_config_26.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz";
+        sha1 = "64f41444eef9eb03dc51d5c53b75c8c71f645349";
+      };
+    }
+    {
+      name = "jest_diff___jest_diff_25.5.0.tgz";
+      path = fetchurl {
+        name = "jest_diff___jest_diff_25.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz";
+        sha1 = "1dd26ed64f96667c068cef026b677dfa01afcfa9";
+      };
+    }
+    {
+      name = "jest_diff___jest_diff_26.6.2.tgz";
+      path = fetchurl {
+        name = "jest_diff___jest_diff_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz";
+        sha1 = "1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394";
+      };
+    }
+    {
+      name = "jest_docblock___jest_docblock_26.0.0.tgz";
+      path = fetchurl {
+        name = "jest_docblock___jest_docblock_26.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz";
+        sha1 = "3e2fa20899fc928cb13bd0ff68bd3711a36889b5";
+      };
+    }
+    {
+      name = "jest_each___jest_each_26.6.2.tgz";
+      path = fetchurl {
+        name = "jest_each___jest_each_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz";
+        sha1 = "02526438a77a67401c8a6382dfe5999952c167cb";
+      };
+    }
+    {
+      name = "jest_environment_jsdom___jest_environment_jsdom_26.6.2.tgz";
+      path = fetchurl {
+        name = "jest_environment_jsdom___jest_environment_jsdom_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz";
+        sha1 = "78d09fe9cf019a357009b9b7e1f101d23bd1da3e";
+      };
+    }
+    {
+      name = "jest_environment_node___jest_environment_node_26.6.2.tgz";
+      path = fetchurl {
+        name = "jest_environment_node___jest_environment_node_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz";
+        sha1 = "824e4c7fb4944646356f11ac75b229b0035f2b0c";
+      };
+    }
+    {
+      name = "jest_get_type___jest_get_type_25.2.6.tgz";
+      path = fetchurl {
+        name = "jest_get_type___jest_get_type_25.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz";
+        sha1 = "0b0a32fab8908b44d508be81681487dbabb8d877";
+      };
+    }
+    {
+      name = "jest_get_type___jest_get_type_26.3.0.tgz";
+      path = fetchurl {
+        name = "jest_get_type___jest_get_type_26.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz";
+        sha1 = "e97dc3c3f53c2b406ca7afaed4493b1d099199e0";
+      };
+    }
+    {
+      name = "jest_haste_map___jest_haste_map_26.6.2.tgz";
+      path = fetchurl {
+        name = "jest_haste_map___jest_haste_map_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz";
+        sha1 = "dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa";
+      };
+    }
+    {
+      name = "jest_jasmine2___jest_jasmine2_26.6.3.tgz";
+      path = fetchurl {
+        name = "jest_jasmine2___jest_jasmine2_26.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz";
+        sha1 = "adc3cf915deacb5212c93b9f3547cd12958f2edd";
+      };
+    }
+    {
+      name = "jest_leak_detector___jest_leak_detector_26.6.2.tgz";
+      path = fetchurl {
+        name = "jest_leak_detector___jest_leak_detector_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz";
+        sha1 = "7717cf118b92238f2eba65054c8a0c9c653a91af";
+      };
+    }
+    {
+      name = "jest_matcher_utils___jest_matcher_utils_26.6.2.tgz";
+      path = fetchurl {
+        name = "jest_matcher_utils___jest_matcher_utils_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz";
+        sha1 = "8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a";
+      };
+    }
+    {
+      name = "jest_message_util___jest_message_util_26.6.2.tgz";
+      path = fetchurl {
+        name = "jest_message_util___jest_message_util_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz";
+        sha1 = "58173744ad6fc0506b5d21150b9be56ef001ca07";
+      };
+    }
+    {
+      name = "jest_mock___jest_mock_26.6.2.tgz";
+      path = fetchurl {
+        name = "jest_mock___jest_mock_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz";
+        sha1 = "d6cb712b041ed47fe0d9b6fc3474bc6543feb302";
+      };
+    }
+    {
+      name = "jest_pnp_resolver___jest_pnp_resolver_1.2.2.tgz";
+      path = fetchurl {
+        name = "jest_pnp_resolver___jest_pnp_resolver_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz";
+        sha1 = "b704ac0ae028a89108a4d040b3f919dfddc8e33c";
+      };
+    }
+    {
+      name = "jest_regex_util___jest_regex_util_26.0.0.tgz";
+      path = fetchurl {
+        name = "jest_regex_util___jest_regex_util_26.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz";
+        sha1 = "d25e7184b36e39fd466c3bc41be0971e821fee28";
+      };
+    }
+    {
+      name = "jest_resolve_dependencies___jest_resolve_dependencies_26.6.3.tgz";
+      path = fetchurl {
+        name = "jest_resolve_dependencies___jest_resolve_dependencies_26.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz";
+        sha1 = "6680859ee5d22ee5dcd961fe4871f59f4c784fb6";
+      };
+    }
+    {
+      name = "jest_resolve___jest_resolve_26.6.2.tgz";
+      path = fetchurl {
+        name = "jest_resolve___jest_resolve_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz";
+        sha1 = "a3ab1517217f469b504f1b56603c5bb541fbb507";
+      };
+    }
+    {
+      name = "jest_runner___jest_runner_26.6.3.tgz";
+      path = fetchurl {
+        name = "jest_runner___jest_runner_26.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz";
+        sha1 = "2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159";
+      };
+    }
+    {
+      name = "jest_runtime___jest_runtime_26.6.3.tgz";
+      path = fetchurl {
+        name = "jest_runtime___jest_runtime_26.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz";
+        sha1 = "4f64efbcfac398331b74b4b3c82d27d401b8fa2b";
+      };
+    }
+    {
+      name = "jest_serializer___jest_serializer_26.6.2.tgz";
+      path = fetchurl {
+        name = "jest_serializer___jest_serializer_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz";
+        sha1 = "d139aafd46957d3a448f3a6cdabe2919ba0742d1";
+      };
+    }
+    {
+      name = "jest_snapshot___jest_snapshot_26.6.2.tgz";
+      path = fetchurl {
+        name = "jest_snapshot___jest_snapshot_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz";
+        sha1 = "f3b0af1acb223316850bd14e1beea9837fb39c84";
+      };
+    }
+    {
+      name = "jest_util___jest_util_26.6.2.tgz";
+      path = fetchurl {
+        name = "jest_util___jest_util_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz";
+        sha1 = "907535dbe4d5a6cb4c47ac9b926f6af29576cbc1";
+      };
+    }
+    {
+      name = "jest_validate___jest_validate_26.6.2.tgz";
+      path = fetchurl {
+        name = "jest_validate___jest_validate_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz";
+        sha1 = "23d380971587150467342911c3d7b4ac57ab20ec";
+      };
+    }
+    {
+      name = "jest_watcher___jest_watcher_26.6.2.tgz";
+      path = fetchurl {
+        name = "jest_watcher___jest_watcher_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz";
+        sha1 = "a5b683b8f9d68dbcb1d7dae32172d2cca0592975";
+      };
+    }
+    {
+      name = "jest_worker___jest_worker_26.5.0.tgz";
+      path = fetchurl {
+        name = "jest_worker___jest_worker_26.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.5.0.tgz";
+        sha1 = "87deee86dbbc5f98d9919e0dadf2c40e3152fa30";
+      };
+    }
+    {
+      name = "jest_worker___jest_worker_26.6.2.tgz";
+      path = fetchurl {
+        name = "jest_worker___jest_worker_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz";
+        sha1 = "7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed";
+      };
+    }
+    {
+      name = "jest___jest_26.6.3.tgz";
+      path = fetchurl {
+        name = "jest___jest_26.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz";
+        sha1 = "40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef";
+      };
+    }
+    {
+      name = "js_base64___js_base64_2.6.4.tgz";
+      path = fetchurl {
+        name = "js_base64___js_base64_2.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz";
+        sha1 = "f4e686c5de1ea1f867dbcad3d46d969428df98c4";
+      };
+    }
+    {
+      name = "js_string_escape___js_string_escape_1.0.1.tgz";
+      path = fetchurl {
+        name = "js_string_escape___js_string_escape_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz";
+        sha1 = "e2625badbc0d67c7533e9edc1068c587ae4137ef";
+      };
+    }
+    {
+      name = "js_tokens___js_tokens_4.0.0.tgz";
+      path = fetchurl {
+        name = "js_tokens___js_tokens_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz";
+        sha1 = "19203fb59991df98e3a287050d4647cdeaf32499";
+      };
+    }
+    {
+      name = "js_yaml___js_yaml_3.14.0.tgz";
+      path = fetchurl {
+        name = "js_yaml___js_yaml_3.14.0.tgz";
+        url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz";
+        sha1 = "a7a34170f26a21bb162424d8adacb4113a69e482";
+      };
+    }
+    {
+      name = "jsbn___jsbn_0.1.1.tgz";
+      path = fetchurl {
+        name = "jsbn___jsbn_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz";
+        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
+      };
+    }
+    {
+      name = "jsdom___jsdom_16.4.0.tgz";
+      path = fetchurl {
+        name = "jsdom___jsdom_16.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz";
+        sha1 = "36005bde2d136f73eee1a830c6d45e55408edddb";
+      };
+    }
+    {
+      name = "jsesc___jsesc_2.5.2.tgz";
+      path = fetchurl {
+        name = "jsesc___jsesc_2.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz";
+        sha1 = "80564d2e483dacf6e8ef209650a67df3f0c283a4";
+      };
+    }
+    {
+      name = "jsesc___jsesc_0.5.0.tgz";
+      path = fetchurl {
+        name = "jsesc___jsesc_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz";
+        sha1 = "e7dee66e35d6fc16f710fe91d5cf69f70f08911d";
+      };
+    }
+    {
+      name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz";
+      path = fetchurl {
+        name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz";
+        sha1 = "bb867cfb3450e69107c131d1c514bab3dc8bcaa9";
+      };
+    }
+    {
+      name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz";
+      path = fetchurl {
+        name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
+        sha1 = "69f6a87d9513ab8bb8fe63bdb0979c448e684660";
+      };
+    }
+    {
+      name = "json_schema___json_schema_0.2.3.tgz";
+      path = fetchurl {
+        name = "json_schema___json_schema_0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz";
+        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
+      };
+    }
+    {
+      name = "json_stable_stringify_without_jsonify___json_stable_stringify_without_jsonify_1.0.1.tgz";
+      path = fetchurl {
+        name = "json_stable_stringify_without_jsonify___json_stable_stringify_without_jsonify_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz";
+        sha1 = "9db7b59496ad3f3cfef30a75142d2d930ad72651";
+      };
+    }
+    {
+      name = "json_stable_stringify___json_stable_stringify_1.0.1.tgz";
+      path = fetchurl {
+        name = "json_stable_stringify___json_stable_stringify_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz";
+        sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af";
+      };
+    }
+    {
+      name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
+      path = fetchurl {
+        name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
+        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+      };
+    }
+    {
+      name = "json3___json3_3.3.3.tgz";
+      path = fetchurl {
+        name = "json3___json3_3.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz";
+        sha1 = "7fc10e375fc5ae42c4705a5cc0aa6f62be305b81";
+      };
+    }
+    {
+      name = "json5___json5_0.5.1.tgz";
+      path = fetchurl {
+        name = "json5___json5_0.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz";
+        sha1 = "1eade7acc012034ad84e2396767ead9fa5495821";
+      };
+    }
+    {
+      name = "json5___json5_1.0.1.tgz";
+      path = fetchurl {
+        name = "json5___json5_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz";
+        sha1 = "779fb0018604fa854eacbf6252180d83543e3dbe";
+      };
+    }
+    {
+      name = "json5___json5_2.1.3.tgz";
+      path = fetchurl {
+        name = "json5___json5_2.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz";
+        sha1 = "c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43";
+      };
+    }
+    {
+      name = "jsonfile___jsonfile_3.0.1.tgz";
+      path = fetchurl {
+        name = "jsonfile___jsonfile_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.1.tgz";
+        sha1 = "a5ecc6f65f53f662c4415c7675a0331d0992ec66";
+      };
+    }
+    {
+      name = "jsonfile___jsonfile_4.0.0.tgz";
+      path = fetchurl {
+        name = "jsonfile___jsonfile_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz";
+        sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb";
+      };
+    }
+    {
+      name = "jsonify___jsonify_0.0.0.tgz";
+      path = fetchurl {
+        name = "jsonify___jsonify_0.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz";
+        sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
+      };
+    }
+    {
+      name = "jsonpointer___jsonpointer_4.1.0.tgz";
+      path = fetchurl {
+        name = "jsonpointer___jsonpointer_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.1.0.tgz";
+        sha1 = "501fb89986a2389765ba09e6053299ceb4f2c2cc";
+      };
+    }
+    {
+      name = "jsprim___jsprim_1.4.1.tgz";
+      path = fetchurl {
+        name = "jsprim___jsprim_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz";
+        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
+      };
+    }
+    {
+      name = "jsx_ast_utils___jsx_ast_utils_3.1.0.tgz";
+      path = fetchurl {
+        name = "jsx_ast_utils___jsx_ast_utils_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.1.0.tgz";
+        sha1 = "642f1d7b88aa6d7eb9d8f2210e166478444fa891";
+      };
+    }
+    {
+      name = "keycode___keycode_2.2.0.tgz";
+      path = fetchurl {
+        name = "keycode___keycode_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/keycode/-/keycode-2.2.0.tgz";
+        sha1 = "3d0af56dc7b8b8e5cba8d0a97f107204eec22b04";
+      };
+    }
+    {
+      name = "killable___killable_1.0.1.tgz";
+      path = fetchurl {
+        name = "killable___killable_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz";
+        sha1 = "4c8ce441187a061c7474fb87ca08e2a638194892";
+      };
+    }
+    {
+      name = "kind_of___kind_of_3.2.2.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_3.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz";
+        sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64";
+      };
+    }
+    {
+      name = "kind_of___kind_of_4.0.0.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz";
+        sha1 = "20813df3d712928b207378691a45066fae72dd57";
+      };
+    }
+    {
+      name = "kind_of___kind_of_5.1.0.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz";
+        sha1 = "729c91e2d857b7a419a1f9aa65685c4c33f5845d";
+      };
+    }
+    {
+      name = "kind_of___kind_of_6.0.3.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_6.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz";
+        sha1 = "07c05034a6c349fa06e24fa35aa76db4580ce4dd";
+      };
+    }
+    {
+      name = "kleur___kleur_3.0.3.tgz";
+      path = fetchurl {
+        name = "kleur___kleur_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz";
+        sha1 = "a79c9ecc86ee1ce3fa6206d1216c501f147fc07e";
+      };
+    }
+    {
+      name = "klona___klona_2.0.4.tgz";
+      path = fetchurl {
+        name = "klona___klona_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz";
+        sha1 = "7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0";
+      };
+    }
+    {
+      name = "knot.js___knot.js_1.1.5.tgz";
+      path = fetchurl {
+        name = "knot.js___knot.js_1.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/knot.js/-/knot.js-1.1.5.tgz";
+        sha1 = "28e72522f703f50fe98812fde224dd72728fef5d";
+      };
+    }
+    {
+      name = "known_css_properties___known_css_properties_0.3.0.tgz";
+      path = fetchurl {
+        name = "known_css_properties___known_css_properties_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.3.0.tgz";
+        sha1 = "a3d135bbfc60ee8c6eacf2f7e7e6f2d4755e49a4";
+      };
+    }
+    {
+      name = "language_subtag_registry___language_subtag_registry_0.3.20.tgz";
+      path = fetchurl {
+        name = "language_subtag_registry___language_subtag_registry_0.3.20.tgz";
+        url  = "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.20.tgz";
+        sha1 = "a00a37121894f224f763268e431c55556b0c0755";
+      };
+    }
+    {
+      name = "language_tags___language_tags_1.0.5.tgz";
+      path = fetchurl {
+        name = "language_tags___language_tags_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz";
+        sha1 = "d321dbc4da30ba8bf3024e040fa5c14661f9193a";
+      };
+    }
+    {
+      name = "leven___leven_3.1.0.tgz";
+      path = fetchurl {
+        name = "leven___leven_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz";
+        sha1 = "77891de834064cccba82ae7842bb6b14a13ed7f2";
+      };
+    }
+    {
+      name = "levn___levn_0.3.0.tgz";
+      path = fetchurl {
+        name = "levn___levn_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz";
+        sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
+      };
+    }
+    {
+      name = "levn___levn_0.4.1.tgz";
+      path = fetchurl {
+        name = "levn___levn_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz";
+        sha1 = "ae4562c007473b932a6200d403268dd2fffc6ade";
+      };
+    }
+    {
+      name = "line_column___line_column_1.0.2.tgz";
+      path = fetchurl {
+        name = "line_column___line_column_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/line-column/-/line-column-1.0.2.tgz";
+        sha1 = "d25af2936b6f4849172b312e4792d1d987bc34a2";
+      };
+    }
+    {
+      name = "lines_and_columns___lines_and_columns_1.1.6.tgz";
+      path = fetchurl {
+        name = "lines_and_columns___lines_and_columns_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz";
+        sha1 = "1c00c743b433cd0a4e80758f7b64a57440d9ff00";
+      };
+    }
+    {
+      name = "load_json_file___load_json_file_2.0.0.tgz";
+      path = fetchurl {
+        name = "load_json_file___load_json_file_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz";
+        sha1 = "7947e42149af80d696cbf797bcaabcfe1fe29ca8";
+      };
+    }
+    {
+      name = "loader_runner___loader_runner_2.4.0.tgz";
+      path = fetchurl {
+        name = "loader_runner___loader_runner_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz";
+        sha1 = "ed47066bfe534d7e84c4c7b9998c2a75607d9357";
+      };
+    }
+    {
+      name = "loader_utils___loader_utils_0.2.17.tgz";
+      path = fetchurl {
+        name = "loader_utils___loader_utils_0.2.17.tgz";
+        url  = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz";
+        sha1 = "f86e6374d43205a6e6c60e9196f17c0299bfb348";
+      };
+    }
+    {
+      name = "loader_utils___loader_utils_1.4.0.tgz";
+      path = fetchurl {
+        name = "loader_utils___loader_utils_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz";
+        sha1 = "c579b5e34cb34b1a74edc6c1fb36bfa371d5a613";
+      };
+    }
+    {
+      name = "loader_utils___loader_utils_2.0.0.tgz";
+      path = fetchurl {
+        name = "loader_utils___loader_utils_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz";
+        sha1 = "e4cace5b816d425a166b5f097e10cd12b36064b0";
+      };
+    }
+    {
+      name = "locate_path___locate_path_2.0.0.tgz";
+      path = fetchurl {
+        name = "locate_path___locate_path_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz";
+        sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
+      };
+    }
+    {
+      name = "locate_path___locate_path_3.0.0.tgz";
+      path = fetchurl {
+        name = "locate_path___locate_path_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz";
+        sha1 = "dbec3b3ab759758071b58fe59fc41871af21400e";
+      };
+    }
+    {
+      name = "locate_path___locate_path_5.0.0.tgz";
+      path = fetchurl {
+        name = "locate_path___locate_path_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz";
+        sha1 = "1afba396afd676a6d42504d0a67a3a7eb9f62aa0";
+      };
+    }
+    {
+      name = "lodash.capitalize___lodash.capitalize_4.2.1.tgz";
+      path = fetchurl {
+        name = "lodash.capitalize___lodash.capitalize_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz";
+        sha1 = "f826c9b4e2a8511d84e3aca29db05e1a4f3b72a9";
+      };
+    }
+    {
+      name = "lodash.defaults___lodash.defaults_4.2.0.tgz";
+      path = fetchurl {
+        name = "lodash.defaults___lodash.defaults_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz";
+        sha1 = "d09178716ffea4dde9e5fb7b37f6f0802274580c";
+      };
+    }
+    {
+      name = "lodash.get___lodash.get_4.4.2.tgz";
+      path = fetchurl {
+        name = "lodash.get___lodash.get_4.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz";
+        sha1 = "2d177f652fa31e939b4438d5341499dfa3825e99";
+      };
+    }
+    {
+      name = "lodash.has___lodash.has_4.5.2.tgz";
+      path = fetchurl {
+        name = "lodash.has___lodash.has_4.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.has/-/lodash.has-4.5.2.tgz";
+        sha1 = "d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862";
+      };
+    }
+    {
+      name = "lodash.isboolean___lodash.isboolean_3.0.3.tgz";
+      path = fetchurl {
+        name = "lodash.isboolean___lodash.isboolean_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz";
+        sha1 = "6c2e171db2a257cd96802fd43b01b20d5f5870f6";
+      };
+    }
+    {
+      name = "lodash.isequal___lodash.isequal_4.5.0.tgz";
+      path = fetchurl {
+        name = "lodash.isequal___lodash.isequal_4.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz";
+        sha1 = "415c4478f2bcc30120c22ce10ed3226f7d3e18e0";
+      };
+    }
+    {
+      name = "lodash.isobject___lodash.isobject_3.0.2.tgz";
+      path = fetchurl {
+        name = "lodash.isobject___lodash.isobject_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-3.0.2.tgz";
+        sha1 = "3c8fb8d5b5bf4bf90ae06e14f2a530a4ed935e1d";
+      };
+    }
+    {
+      name = "lodash.kebabcase___lodash.kebabcase_4.1.1.tgz";
+      path = fetchurl {
+        name = "lodash.kebabcase___lodash.kebabcase_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz";
+        sha1 = "8489b1cb0d29ff88195cceca448ff6d6cc295c36";
+      };
+    }
+    {
+      name = "lodash.memoize___lodash.memoize_4.1.2.tgz";
+      path = fetchurl {
+        name = "lodash.memoize___lodash.memoize_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz";
+        sha1 = "bcc6c49a42a2840ed997f323eada5ecd182e0bfe";
+      };
+    }
+    {
+      name = "lodash.sortby___lodash.sortby_4.7.0.tgz";
+      path = fetchurl {
+        name = "lodash.sortby___lodash.sortby_4.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz";
+        sha1 = "edd14c824e2cc9c1e0b0a1b42bb5210516a42438";
+      };
+    }
+    {
+      name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
+      path = fetchurl {
+        name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz";
+        sha1 = "d0225373aeb652adc1bc82e4945339a842754773";
+      };
+    }
+    {
+      name = "lodash___lodash_4.17.20.tgz";
+      path = fetchurl {
+        name = "lodash___lodash_4.17.20.tgz";
+        url  = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz";
+        sha1 = "b44a9b6297bcb698f1c51a3545a2b3b368d59c52";
+      };
+    }
+    {
+      name = "loglevel___loglevel_1.7.0.tgz";
+      path = fetchurl {
+        name = "loglevel___loglevel_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.0.tgz";
+        sha1 = "728166855a740d59d38db01cf46f042caa041bb0";
+      };
+    }
+    {
+      name = "loose_envify___loose_envify_1.4.0.tgz";
+      path = fetchurl {
+        name = "loose_envify___loose_envify_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz";
+        sha1 = "71ee51fa7be4caec1a63839f7e682d8132d30caf";
+      };
+    }
+    {
+      name = "lru_cache___lru_cache_5.1.1.tgz";
+      path = fetchurl {
+        name = "lru_cache___lru_cache_5.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz";
+        sha1 = "1da27e6710271947695daf6848e847f01d84b920";
+      };
+    }
+    {
+      name = "lru_cache___lru_cache_6.0.0.tgz";
+      path = fetchurl {
+        name = "lru_cache___lru_cache_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz";
+        sha1 = "6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94";
+      };
+    }
+    {
+      name = "lz_string___lz_string_1.4.4.tgz";
+      path = fetchurl {
+        name = "lz_string___lz_string_1.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz";
+        sha1 = "c0d8eaf36059f705796e1e344811cf4c498d3a26";
+      };
+    }
+    {
+      name = "make_dir___make_dir_2.1.0.tgz";
+      path = fetchurl {
+        name = "make_dir___make_dir_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz";
+        sha1 = "5f0310e18b8be898cc07009295a30ae41e91e6f5";
+      };
+    }
+    {
+      name = "make_dir___make_dir_3.1.0.tgz";
+      path = fetchurl {
+        name = "make_dir___make_dir_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz";
+        sha1 = "415e967046b3a7f1d185277d84aa58203726a13f";
+      };
+    }
+    {
+      name = "makeerror___makeerror_1.0.11.tgz";
+      path = fetchurl {
+        name = "makeerror___makeerror_1.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz";
+        sha1 = "e01a5c9109f2af79660e4e8b9587790184f5a96c";
+      };
+    }
+    {
+      name = "map_cache___map_cache_0.2.2.tgz";
+      path = fetchurl {
+        name = "map_cache___map_cache_0.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz";
+        sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf";
+      };
+    }
+    {
+      name = "map_visit___map_visit_1.0.0.tgz";
+      path = fetchurl {
+        name = "map_visit___map_visit_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz";
+        sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f";
+      };
+    }
+    {
+      name = "mark_loader___mark_loader_0.1.6.tgz";
+      path = fetchurl {
+        name = "mark_loader___mark_loader_0.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/mark-loader/-/mark-loader-0.1.6.tgz";
+        sha1 = "0abb477dca7421d70e20128ff6489f5cae8676d5";
+      };
+    }
+    {
+      name = "marky___marky_1.2.1.tgz";
+      path = fetchurl {
+        name = "marky___marky_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/marky/-/marky-1.2.1.tgz";
+        sha1 = "a3fcf82ffd357756b8b8affec9fdbf3a30dc1b02";
+      };
+    }
+    {
+      name = "md5.js___md5.js_1.3.5.tgz";
+      path = fetchurl {
+        name = "md5.js___md5.js_1.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz";
+        sha1 = "b5d07b8e3216e3e27cd728d72f70d1e6a342005f";
+      };
+    }
+    {
+      name = "mdn_data___mdn_data_2.0.4.tgz";
+      path = fetchurl {
+        name = "mdn_data___mdn_data_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz";
+        sha1 = "699b3c38ac6f1d728091a64650b65d388502fd5b";
+      };
+    }
+    {
+      name = "mdn_data___mdn_data_2.0.6.tgz";
+      path = fetchurl {
+        name = "mdn_data___mdn_data_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.6.tgz";
+        sha1 = "852dc60fcaa5daa2e8cf6c9189c440ed3e042978";
+      };
+    }
+    {
+      name = "media_typer___media_typer_0.3.0.tgz";
+      path = fetchurl {
+        name = "media_typer___media_typer_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz";
+        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+      };
+    }
+    {
+      name = "memoize_one___memoize_one_5.1.1.tgz";
+      path = fetchurl {
+        name = "memoize_one___memoize_one_5.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.1.1.tgz";
+        sha1 = "047b6e3199b508eaec03504de71229b8eb1d75c0";
+      };
+    }
+    {
+      name = "memory_fs___memory_fs_0.4.1.tgz";
+      path = fetchurl {
+        name = "memory_fs___memory_fs_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz";
+        sha1 = "3a9a20b8462523e447cfbc7e8bb80ed667bfc552";
+      };
+    }
+    {
+      name = "memory_fs___memory_fs_0.5.0.tgz";
+      path = fetchurl {
+        name = "memory_fs___memory_fs_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz";
+        sha1 = "324c01288b88652966d161db77838720845a8e3c";
+      };
+    }
+    {
+      name = "merge_descriptors___merge_descriptors_1.0.1.tgz";
+      path = fetchurl {
+        name = "merge_descriptors___merge_descriptors_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz";
+        sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61";
+      };
+    }
+    {
+      name = "merge_stream___merge_stream_2.0.0.tgz";
+      path = fetchurl {
+        name = "merge_stream___merge_stream_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz";
+        sha1 = "52823629a14dd00c9770fb6ad47dc6310f2c1f60";
+      };
+    }
+    {
+      name = "merge___merge_1.2.1.tgz";
+      path = fetchurl {
+        name = "merge___merge_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/merge/-/merge-1.2.1.tgz";
+        sha1 = "38bebf80c3220a8a487b6fcfb3941bb11720c145";
+      };
+    }
+    {
+      name = "methods___methods_1.1.2.tgz";
+      path = fetchurl {
+        name = "methods___methods_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz";
+        sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
+      };
+    }
+    {
+      name = "micromatch___micromatch_3.1.10.tgz";
+      path = fetchurl {
+        name = "micromatch___micromatch_3.1.10.tgz";
+        url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz";
+        sha1 = "70859bc95c9840952f359a068a3fc49f9ecfac23";
+      };
+    }
+    {
+      name = "micromatch___micromatch_4.0.2.tgz";
+      path = fetchurl {
+        name = "micromatch___micromatch_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz";
+        sha1 = "4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259";
+      };
+    }
+    {
+      name = "miller_rabin___miller_rabin_4.0.1.tgz";
+      path = fetchurl {
+        name = "miller_rabin___miller_rabin_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz";
+        sha1 = "f080351c865b0dc562a8462966daa53543c78a4d";
+      };
+    }
+    {
+      name = "mime_db___mime_db_1.44.0.tgz";
+      path = fetchurl {
+        name = "mime_db___mime_db_1.44.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz";
+        sha1 = "fa11c5eb0aca1334b4233cb4d52f10c5a6272f92";
+      };
+    }
+    {
+      name = "mime_types___mime_types_2.1.27.tgz";
+      path = fetchurl {
+        name = "mime_types___mime_types_2.1.27.tgz";
+        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz";
+        sha1 = "47949f98e279ea53119f5722e0f34e529bec009f";
+      };
+    }
+    {
+      name = "mime___mime_1.6.0.tgz";
+      path = fetchurl {
+        name = "mime___mime_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz";
+        sha1 = "32cd9e5c64553bd58d19a568af452acff04981b1";
+      };
+    }
+    {
+      name = "mime___mime_2.4.4.tgz";
+      path = fetchurl {
+        name = "mime___mime_2.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz";
+        sha1 = "bd7b91135fc6b01cde3e9bae33d659b63d8857e5";
+      };
+    }
+    {
+      name = "mimic_fn___mimic_fn_2.1.0.tgz";
+      path = fetchurl {
+        name = "mimic_fn___mimic_fn_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz";
+        sha1 = "7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b";
+      };
+    }
+    {
+      name = "min_indent___min_indent_1.0.1.tgz";
+      path = fetchurl {
+        name = "min_indent___min_indent_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz";
+        sha1 = "a63f681673b30571fbe8bc25686ae746eefa9869";
+      };
+    }
+    {
+      name = "mini_css_extract_plugin___mini_css_extract_plugin_1.3.1.tgz";
+      path = fetchurl {
+        name = "mini_css_extract_plugin___mini_css_extract_plugin_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.1.tgz";
+        sha1 = "1375c88b2bc2a9d197670a55761edcd1b5d72f21";
+      };
+    }
+    {
+      name = "minimalistic_assert___minimalistic_assert_1.0.1.tgz";
+      path = fetchurl {
+        name = "minimalistic_assert___minimalistic_assert_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz";
+        sha1 = "2e194de044626d4a10e7f7fbc00ce73e83e4d5c7";
+      };
+    }
+    {
+      name = "minimalistic_crypto_utils___minimalistic_crypto_utils_1.0.1.tgz";
+      path = fetchurl {
+        name = "minimalistic_crypto_utils___minimalistic_crypto_utils_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz";
+        sha1 = "f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a";
+      };
+    }
+    {
+      name = "minimatch___minimatch_3.0.4.tgz";
+      path = fetchurl {
+        name = "minimatch___minimatch_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz";
+        sha1 = "5166e286457f03306064be5497e8dbb0c3d32083";
+      };
+    }
+    {
+      name = "minimist___minimist_1.1.3.tgz";
+      path = fetchurl {
+        name = "minimist___minimist_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz";
+        sha1 = "3bedfd91a92d39016fcfaa1c681e8faa1a1efda8";
+      };
+    }
+    {
+      name = "minimist___minimist_1.2.5.tgz";
+      path = fetchurl {
+        name = "minimist___minimist_1.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz";
+        sha1 = "67d66014b66a6a8aaa0c083c5fd58df4e4e97602";
+      };
+    }
+    {
+      name = "minipass_collect___minipass_collect_1.0.2.tgz";
+      path = fetchurl {
+        name = "minipass_collect___minipass_collect_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz";
+        sha1 = "22b813bf745dc6edba2576b940022ad6edc8c617";
+      };
+    }
+    {
+      name = "minipass_flush___minipass_flush_1.0.5.tgz";
+      path = fetchurl {
+        name = "minipass_flush___minipass_flush_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz";
+        sha1 = "82e7135d7e89a50ffe64610a787953c4c4cbb373";
+      };
+    }
+    {
+      name = "minipass_pipeline___minipass_pipeline_1.2.4.tgz";
+      path = fetchurl {
+        name = "minipass_pipeline___minipass_pipeline_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz";
+        sha1 = "68472f79711c084657c067c5c6ad93cddea8214c";
+      };
+    }
+    {
+      name = "minipass___minipass_3.1.3.tgz";
+      path = fetchurl {
+        name = "minipass___minipass_3.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz";
+        sha1 = "7d42ff1f39635482e15f9cdb53184deebd5815fd";
+      };
+    }
+    {
+      name = "minizlib___minizlib_2.1.2.tgz";
+      path = fetchurl {
+        name = "minizlib___minizlib_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz";
+        sha1 = "e90d3466ba209b932451508a11ce3d3632145931";
+      };
+    }
+    {
+      name = "mississippi___mississippi_3.0.0.tgz";
+      path = fetchurl {
+        name = "mississippi___mississippi_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz";
+        sha1 = "ea0a3291f97e0b5e8776b363d5f0a12d94c67022";
+      };
+    }
+    {
+      name = "mixin_deep___mixin_deep_1.3.2.tgz";
+      path = fetchurl {
+        name = "mixin_deep___mixin_deep_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz";
+        sha1 = "1120b43dc359a785dce65b55b82e257ccf479566";
+      };
+    }
+    {
+      name = "mkdirp___mkdirp_0.5.5.tgz";
+      path = fetchurl {
+        name = "mkdirp___mkdirp_0.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz";
+        sha1 = "d91cefd62d1436ca0f41620e251288d420099def";
+      };
+    }
+    {
+      name = "mkdirp___mkdirp_1.0.4.tgz";
+      path = fetchurl {
+        name = "mkdirp___mkdirp_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz";
+        sha1 = "3eb5ed62622756d79a5f0e2a221dfebad75c2f7e";
+      };
+    }
+    {
+      name = "mousetrap___mousetrap_1.6.5.tgz";
+      path = fetchurl {
+        name = "mousetrap___mousetrap_1.6.5.tgz";
+        url  = "https://registry.yarnpkg.com/mousetrap/-/mousetrap-1.6.5.tgz";
+        sha1 = "8a766d8c272b08393d5f56074e0b5ec183485bf9";
+      };
+    }
+    {
+      name = "move_concurrently___move_concurrently_1.0.1.tgz";
+      path = fetchurl {
+        name = "move_concurrently___move_concurrently_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz";
+        sha1 = "be2c005fda32e0b29af1f05d7c4b33214c701f92";
+      };
+    }
+    {
+      name = "ms___ms_2.0.0.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz";
+        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+      };
+    }
+    {
+      name = "ms___ms_2.1.1.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz";
+        sha1 = "30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a";
+      };
+    }
+    {
+      name = "ms___ms_2.1.2.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz";
+        sha1 = "d09d1f357b443f493382a8eb3ccd183872ae6009";
+      };
+    }
+    {
+      name = "multicast_dns_service_types___multicast_dns_service_types_1.1.0.tgz";
+      path = fetchurl {
+        name = "multicast_dns_service_types___multicast_dns_service_types_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz";
+        sha1 = "899f11d9686e5e05cb91b35d5f0e63b773cfc901";
+      };
+    }
+    {
+      name = "multicast_dns___multicast_dns_6.2.3.tgz";
+      path = fetchurl {
+        name = "multicast_dns___multicast_dns_6.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz";
+        sha1 = "a0ec7bd9055c4282f790c3c82f4e28db3b31b229";
+      };
+    }
+    {
+      name = "mute_stream___mute_stream_0.0.5.tgz";
+      path = fetchurl {
+        name = "mute_stream___mute_stream_0.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz";
+        sha1 = "8fbfabb0a98a253d3184331f9e8deb7372fac6c0";
+      };
+    }
+    {
+      name = "nan___nan_2.14.1.tgz";
+      path = fetchurl {
+        name = "nan___nan_2.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz";
+        sha1 = "d7be34dfa3105b91494c3147089315eff8874b01";
+      };
+    }
+    {
+      name = "nanoid___nanoid_3.1.16.tgz";
+      path = fetchurl {
+        name = "nanoid___nanoid_3.1.16.tgz";
+        url  = "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.16.tgz";
+        sha1 = "b21f0a7d031196faf75314d7c65d36352beeef64";
+      };
+    }
+    {
+      name = "nanomatch___nanomatch_1.2.13.tgz";
+      path = fetchurl {
+        name = "nanomatch___nanomatch_1.2.13.tgz";
+        url  = "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz";
+        sha1 = "b87a8aa4fc0de8fe6be88895b38983ff265bd119";
+      };
+    }
+    {
+      name = "natural_compare___natural_compare_1.4.0.tgz";
+      path = fetchurl {
+        name = "natural_compare___natural_compare_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz";
+        sha1 = "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7";
+      };
+    }
+    {
+      name = "negotiator___negotiator_0.6.2.tgz";
+      path = fetchurl {
+        name = "negotiator___negotiator_0.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz";
+        sha1 = "feacf7ccf525a77ae9634436a64883ffeca346fb";
+      };
+    }
+    {
+      name = "neo_async___neo_async_2.6.2.tgz";
+      path = fetchurl {
+        name = "neo_async___neo_async_2.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz";
+        sha1 = "b4aafb93e3aeb2d8174ca53cf163ab7d7308305f";
+      };
+    }
+    {
+      name = "next_tick___next_tick_1.0.0.tgz";
+      path = fetchurl {
+        name = "next_tick___next_tick_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz";
+        sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c";
+      };
+    }
+    {
+      name = "nice_try___nice_try_1.0.5.tgz";
+      path = fetchurl {
+        name = "nice_try___nice_try_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz";
+        sha1 = "a3378a7696ce7d223e88fc9b764bd7ef1089e366";
+      };
+    }
+    {
+      name = "node_fetch___node_fetch_2.6.1.tgz";
+      path = fetchurl {
+        name = "node_fetch___node_fetch_2.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz";
+        sha1 = "045bd323631f76ed2e2b55573394416b639a0052";
+      };
+    }
+    {
+      name = "node_forge___node_forge_0.10.0.tgz";
+      path = fetchurl {
+        name = "node_forge___node_forge_0.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz";
+        sha1 = "32dea2afb3e9926f02ee5ce8794902691a676bf3";
+      };
+    }
+    {
+      name = "node_int64___node_int64_0.4.0.tgz";
+      path = fetchurl {
+        name = "node_int64___node_int64_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz";
+        sha1 = "87a9065cdb355d3182d8f94ce11188b825c68a3b";
+      };
+    }
+    {
+      name = "node_libs_browser___node_libs_browser_2.2.1.tgz";
+      path = fetchurl {
+        name = "node_libs_browser___node_libs_browser_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz";
+        sha1 = "b64f513d18338625f90346d27b0d235e631f6425";
+      };
+    }
+    {
+      name = "node_modules_regexp___node_modules_regexp_1.0.0.tgz";
+      path = fetchurl {
+        name = "node_modules_regexp___node_modules_regexp_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz";
+        sha1 = "8d9dbe28964a4ac5712e9131642107c71e90ec40";
+      };
+    }
+    {
+      name = "node_notifier___node_notifier_8.0.1.tgz";
+      path = fetchurl {
+        name = "node_notifier___node_notifier_8.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.1.tgz";
+        sha1 = "f86e89bbc925f2b068784b31f382afdc6ca56be1";
+      };
+    }
+    {
+      name = "node_releases___node_releases_1.1.61.tgz";
+      path = fetchurl {
+        name = "node_releases___node_releases_1.1.61.tgz";
+        url  = "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.61.tgz";
+        sha1 = "707b0fca9ce4e11783612ba4a2fcba09047af16e";
+      };
+    }
+    {
+      name = "node_releases___node_releases_1.1.67.tgz";
+      path = fetchurl {
+        name = "node_releases___node_releases_1.1.67.tgz";
+        url  = "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz";
+        sha1 = "28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12";
+      };
+    }
+    {
+      name = "normalize_package_data___normalize_package_data_2.5.0.tgz";
+      path = fetchurl {
+        name = "normalize_package_data___normalize_package_data_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz";
+        sha1 = "e66db1838b200c1dfc233225d12cb36520e234a8";
+      };
+    }
+    {
+      name = "normalize_path___normalize_path_2.1.1.tgz";
+      path = fetchurl {
+        name = "normalize_path___normalize_path_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz";
+        sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9";
+      };
+    }
+    {
+      name = "normalize_path___normalize_path_3.0.0.tgz";
+      path = fetchurl {
+        name = "normalize_path___normalize_path_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz";
+        sha1 = "0dcd69ff23a1c9b11fd0978316644a0388216a65";
+      };
+    }
+    {
+      name = "normalize_range___normalize_range_0.1.2.tgz";
+      path = fetchurl {
+        name = "normalize_range___normalize_range_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz";
+        sha1 = "2d10c06bdfd312ea9777695a4d28439456b75942";
+      };
+    }
+    {
+      name = "normalize_url___normalize_url_3.3.0.tgz";
+      path = fetchurl {
+        name = "normalize_url___normalize_url_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz";
+        sha1 = "b2e1c4dc4f7c6d57743df733a4f5978d18650559";
+      };
+    }
+    {
+      name = "npm_run_path___npm_run_path_2.0.2.tgz";
+      path = fetchurl {
+        name = "npm_run_path___npm_run_path_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz";
+        sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
+      };
+    }
+    {
+      name = "npm_run_path___npm_run_path_4.0.1.tgz";
+      path = fetchurl {
+        name = "npm_run_path___npm_run_path_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz";
+        sha1 = "b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea";
+      };
+    }
+    {
+      name = "npmlog___npmlog_4.1.2.tgz";
+      path = fetchurl {
+        name = "npmlog___npmlog_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz";
+        sha1 = "08a7f2a8bf734604779a9efa4ad5cc717abb954b";
+      };
+    }
+    {
+      name = "nth_check___nth_check_1.0.2.tgz";
+      path = fetchurl {
+        name = "nth_check___nth_check_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz";
+        sha1 = "b2bd295c37e3dd58a3bf0700376663ba4d9cf05c";
+      };
+    }
+    {
+      name = "num2fraction___num2fraction_1.2.2.tgz";
+      path = fetchurl {
+        name = "num2fraction___num2fraction_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz";
+        sha1 = "6f682b6a027a4e9ddfa4564cd2589d1d4e669ede";
+      };
+    }
+    {
+      name = "number_is_nan___number_is_nan_1.0.1.tgz";
+      path = fetchurl {
+        name = "number_is_nan___number_is_nan_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz";
+        sha1 = "097b602b53422a522c1afb8790318336941a011d";
+      };
+    }
+    {
+      name = "nwsapi___nwsapi_2.2.0.tgz";
+      path = fetchurl {
+        name = "nwsapi___nwsapi_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz";
+        sha1 = "204879a9e3d068ff2a55139c2c772780681a38b7";
+      };
+    }
+    {
+      name = "oauth_sign___oauth_sign_0.9.0.tgz";
+      path = fetchurl {
+        name = "oauth_sign___oauth_sign_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz";
+        sha1 = "47a7b016baa68b5fa0ecf3dee08a85c679ac6455";
+      };
+    }
+    {
+      name = "object_assign___object_assign_4.1.0.tgz";
+      path = fetchurl {
+        name = "object_assign___object_assign_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz";
+        sha1 = "7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0";
+      };
+    }
+    {
+      name = "object_assign___object_assign_4.1.1.tgz";
+      path = fetchurl {
+        name = "object_assign___object_assign_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz";
+        sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
+      };
+    }
+    {
+      name = "object_copy___object_copy_0.1.0.tgz";
+      path = fetchurl {
+        name = "object_copy___object_copy_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz";
+        sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c";
+      };
+    }
+    {
+      name = "object_fit_images___object_fit_images_3.2.4.tgz";
+      path = fetchurl {
+        name = "object_fit_images___object_fit_images_3.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/object-fit-images/-/object-fit-images-3.2.4.tgz";
+        sha1 = "6c299d38fdf207746e5d2d46c2877f6f25d15b52";
+      };
+    }
+    {
+      name = "object_inspect___object_inspect_1.8.0.tgz";
+      path = fetchurl {
+        name = "object_inspect___object_inspect_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz";
+        sha1 = "df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0";
+      };
+    }
+    {
+      name = "object_is___object_is_1.1.3.tgz";
+      path = fetchurl {
+        name = "object_is___object_is_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/object-is/-/object-is-1.1.3.tgz";
+        sha1 = "2e3b9e65560137455ee3bd62aec4d90a2ea1cc81";
+      };
+    }
+    {
+      name = "object_keys___object_keys_1.1.1.tgz";
+      path = fetchurl {
+        name = "object_keys___object_keys_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz";
+        sha1 = "1c47f272df277f3b1daf061677d9c82e2322c60e";
+      };
+    }
+    {
+      name = "object_visit___object_visit_1.0.1.tgz";
+      path = fetchurl {
+        name = "object_visit___object_visit_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz";
+        sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb";
+      };
+    }
+    {
+      name = "object.assign___object.assign_4.1.1.tgz";
+      path = fetchurl {
+        name = "object.assign___object.assign_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.1.tgz";
+        sha1 = "303867a666cdd41936ecdedfb1f8f3e32a478cdd";
+      };
+    }
+    {
+      name = "object.entries___object.entries_1.1.2.tgz";
+      path = fetchurl {
+        name = "object.entries___object.entries_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.2.tgz";
+        sha1 = "bc73f00acb6b6bb16c203434b10f9a7e797d3add";
+      };
+    }
+    {
+      name = "object.fromentries___object.fromentries_2.0.2.tgz";
+      path = fetchurl {
+        name = "object.fromentries___object.fromentries_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz";
+        sha1 = "4a09c9b9bb3843dd0f89acdb517a794d4f355ac9";
+      };
+    }
+    {
+      name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.1.0.tgz";
+      path = fetchurl {
+        name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz";
+        sha1 = "369bf1f9592d8ab89d712dced5cb81c7c5352649";
+      };
+    }
+    {
+      name = "object.pick___object.pick_1.3.0.tgz";
+      path = fetchurl {
+        name = "object.pick___object.pick_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz";
+        sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747";
+      };
+    }
+    {
+      name = "object.values___object.values_1.1.1.tgz";
+      path = fetchurl {
+        name = "object.values___object.values_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz";
+        sha1 = "68a99ecde356b7e9295a3c5e0ce31dc8c953de5e";
+      };
+    }
+    {
+      name = "obuf___obuf_1.1.2.tgz";
+      path = fetchurl {
+        name = "obuf___obuf_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz";
+        sha1 = "09bea3343d41859ebd446292d11c9d4db619084e";
+      };
+    }
+    {
+      name = "offline_plugin___offline_plugin_5.0.7.tgz";
+      path = fetchurl {
+        name = "offline_plugin___offline_plugin_5.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/offline-plugin/-/offline-plugin-5.0.7.tgz";
+        sha1 = "26936ad1a7699f4d67e0a095a258972a4ccf1788";
+      };
+    }
+    {
+      name = "on_finished___on_finished_2.3.0.tgz";
+      path = fetchurl {
+        name = "on_finished___on_finished_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz";
+        sha1 = "20f1336481b083cd75337992a16971aa2d906947";
+      };
+    }
+    {
+      name = "on_headers___on_headers_1.0.2.tgz";
+      path = fetchurl {
+        name = "on_headers___on_headers_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz";
+        sha1 = "772b0ae6aaa525c399e489adfad90c403eb3c28f";
+      };
+    }
+    {
+      name = "once___once_1.4.0.tgz";
+      path = fetchurl {
+        name = "once___once_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz";
+        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+      };
+    }
+    {
+      name = "onetime___onetime_1.1.0.tgz";
+      path = fetchurl {
+        name = "onetime___onetime_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz";
+        sha1 = "a1f7838f8314c516f05ecefcbc4ccfe04b4ed789";
+      };
+    }
+    {
+      name = "onetime___onetime_5.1.2.tgz";
+      path = fetchurl {
+        name = "onetime___onetime_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz";
+        sha1 = "d0e96ebb56b07476df1dd9c4806e5237985ca45e";
+      };
+    }
+    {
+      name = "opencollective_postinstall___opencollective_postinstall_2.0.3.tgz";
+      path = fetchurl {
+        name = "opencollective_postinstall___opencollective_postinstall_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz";
+        sha1 = "7a0fff978f6dbfa4d006238fbac98ed4198c3259";
+      };
+    }
+    {
+      name = "opener___opener_1.5.2.tgz";
+      path = fetchurl {
+        name = "opener___opener_1.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz";
+        sha1 = "5d37e1f35077b9dcac4301372271afdeb2a13598";
+      };
+    }
+    {
+      name = "opn___opn_5.5.0.tgz";
+      path = fetchurl {
+        name = "opn___opn_5.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz";
+        sha1 = "fc7164fab56d235904c51c3b27da6758ca3b9bfc";
+      };
+    }
+    {
+      name = "optionator___optionator_0.8.3.tgz";
+      path = fetchurl {
+        name = "optionator___optionator_0.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz";
+        sha1 = "84fa1d036fe9d3c7e21d99884b601167ec8fb495";
+      };
+    }
+    {
+      name = "optionator___optionator_0.9.1.tgz";
+      path = fetchurl {
+        name = "optionator___optionator_0.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz";
+        sha1 = "4f236a6373dae0566a6d43e1326674f50c291499";
+      };
+    }
+    {
+      name = "original___original_1.0.2.tgz";
+      path = fetchurl {
+        name = "original___original_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz";
+        sha1 = "e442a61cffe1c5fd20a65f3261c26663b303f25f";
+      };
+    }
+    {
+      name = "os_browserify___os_browserify_0.3.0.tgz";
+      path = fetchurl {
+        name = "os_browserify___os_browserify_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz";
+        sha1 = "854373c7f5c2315914fc9bfc6bd8238fdda1ec27";
+      };
+    }
+    {
+      name = "os_homedir___os_homedir_1.0.2.tgz";
+      path = fetchurl {
+        name = "os_homedir___os_homedir_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz";
+        sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
+      };
+    }
+    {
+      name = "p_each_series___p_each_series_2.1.0.tgz";
+      path = fetchurl {
+        name = "p_each_series___p_each_series_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz";
+        sha1 = "961c8dd3f195ea96c747e636b262b800a6b1af48";
+      };
+    }
+    {
+      name = "p_finally___p_finally_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_finally___p_finally_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz";
+        sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
+      };
+    }
+    {
+      name = "p_limit___p_limit_1.3.0.tgz";
+      path = fetchurl {
+        name = "p_limit___p_limit_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz";
+        sha1 = "b86bd5f0c25690911c7590fcbfc2010d54b3ccb8";
+      };
+    }
+    {
+      name = "p_limit___p_limit_2.3.0.tgz";
+      path = fetchurl {
+        name = "p_limit___p_limit_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz";
+        sha1 = "3dd33c647a214fdfffd835933eb086da0dc21db1";
+      };
+    }
+    {
+      name = "p_limit___p_limit_3.0.2.tgz";
+      path = fetchurl {
+        name = "p_limit___p_limit_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-3.0.2.tgz";
+        sha1 = "1664e010af3cadc681baafd3e2a437be7b0fb5fe";
+      };
+    }
+    {
+      name = "p_locate___p_locate_2.0.0.tgz";
+      path = fetchurl {
+        name = "p_locate___p_locate_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz";
+        sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43";
+      };
+    }
+    {
+      name = "p_locate___p_locate_3.0.0.tgz";
+      path = fetchurl {
+        name = "p_locate___p_locate_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz";
+        sha1 = "322d69a05c0264b25997d9f40cd8a891ab0064a4";
+      };
+    }
+    {
+      name = "p_locate___p_locate_4.1.0.tgz";
+      path = fetchurl {
+        name = "p_locate___p_locate_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz";
+        sha1 = "a3428bb7088b3a60292f66919278b7c297ad4f07";
+      };
+    }
+    {
+      name = "p_map___p_map_2.1.0.tgz";
+      path = fetchurl {
+        name = "p_map___p_map_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz";
+        sha1 = "310928feef9c9ecc65b68b17693018a665cea175";
+      };
+    }
+    {
+      name = "p_map___p_map_4.0.0.tgz";
+      path = fetchurl {
+        name = "p_map___p_map_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz";
+        sha1 = "bb2f95a5eda2ec168ec9274e06a747c3e2904d2b";
+      };
+    }
+    {
+      name = "p_retry___p_retry_3.0.1.tgz";
+      path = fetchurl {
+        name = "p_retry___p_retry_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz";
+        sha1 = "316b4c8893e2c8dc1cfa891f406c4b422bebf328";
+      };
+    }
+    {
+      name = "p_try___p_try_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_try___p_try_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz";
+        sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3";
+      };
+    }
+    {
+      name = "p_try___p_try_2.2.0.tgz";
+      path = fetchurl {
+        name = "p_try___p_try_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz";
+        sha1 = "cb2868540e313d61de58fafbe35ce9004d5540e6";
+      };
+    }
+    {
+      name = "packet_reader___packet_reader_0.3.1.tgz";
+      path = fetchurl {
+        name = "packet_reader___packet_reader_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/packet-reader/-/packet-reader-0.3.1.tgz";
+        sha1 = "cd62e60af8d7fea8a705ec4ff990871c46871f27";
+      };
+    }
+    {
+      name = "pako___pako_1.0.11.tgz";
+      path = fetchurl {
+        name = "pako___pako_1.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz";
+        sha1 = "6c9599d340d54dfd3946380252a35705a6b992bf";
+      };
+    }
+    {
+      name = "parallel_transform___parallel_transform_1.2.0.tgz";
+      path = fetchurl {
+        name = "parallel_transform___parallel_transform_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz";
+        sha1 = "9049ca37d6cb2182c3b1d2c720be94d14a5814fc";
+      };
+    }
+    {
+      name = "parent_module___parent_module_1.0.1.tgz";
+      path = fetchurl {
+        name = "parent_module___parent_module_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz";
+        sha1 = "691d2709e78c79fae3a156622452d00762caaaa2";
+      };
+    }
+    {
+      name = "parse_asn1___parse_asn1_5.1.6.tgz";
+      path = fetchurl {
+        name = "parse_asn1___parse_asn1_5.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz";
+        sha1 = "385080a3ec13cb62a62d39409cb3e88844cdaed4";
+      };
+    }
+    {
+      name = "parse_css_font___parse_css_font_2.0.2.tgz";
+      path = fetchurl {
+        name = "parse_css_font___parse_css_font_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/parse-css-font/-/parse-css-font-2.0.2.tgz";
+        sha1 = "7b60b060705a25a9b90b7f0ed493e5823248a652";
+      };
+    }
+    {
+      name = "parse_json___parse_json_2.2.0.tgz";
+      path = fetchurl {
+        name = "parse_json___parse_json_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz";
+        sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9";
+      };
+    }
+    {
+      name = "parse_json___parse_json_4.0.0.tgz";
+      path = fetchurl {
+        name = "parse_json___parse_json_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz";
+        sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0";
+      };
+    }
+    {
+      name = "parse_json___parse_json_5.0.1.tgz";
+      path = fetchurl {
+        name = "parse_json___parse_json_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.1.tgz";
+        sha1 = "7cfe35c1ccd641bce3981467e6c2ece61b3b3878";
+      };
+    }
+    {
+      name = "parse_passwd___parse_passwd_1.0.0.tgz";
+      path = fetchurl {
+        name = "parse_passwd___parse_passwd_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz";
+        sha1 = "6d5b934a456993b23d37f40a382d6f1666a8e5c6";
+      };
+    }
+    {
+      name = "parse5___parse5_5.1.1.tgz";
+      path = fetchurl {
+        name = "parse5___parse5_5.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz";
+        sha1 = "f68e4e5ba1852ac2cadc00f4555fff6c2abb6178";
+      };
+    }
+    {
+      name = "parseurl___parseurl_1.3.3.tgz";
+      path = fetchurl {
+        name = "parseurl___parseurl_1.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz";
+        sha1 = "9da19e7bee8d12dff0513ed5b76957793bc2e8d4";
+      };
+    }
+    {
+      name = "pascalcase___pascalcase_0.1.1.tgz";
+      path = fetchurl {
+        name = "pascalcase___pascalcase_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz";
+        sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14";
+      };
+    }
+    {
+      name = "path_browserify___path_browserify_0.0.1.tgz";
+      path = fetchurl {
+        name = "path_browserify___path_browserify_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz";
+        sha1 = "e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a";
+      };
+    }
+    {
+      name = "path_complete_extname___path_complete_extname_1.0.0.tgz";
+      path = fetchurl {
+        name = "path_complete_extname___path_complete_extname_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-complete-extname/-/path-complete-extname-1.0.0.tgz";
+        sha1 = "f889985dc91000c815515c0bfed06c5acda0752b";
+      };
+    }
+    {
+      name = "path_dirname___path_dirname_1.0.2.tgz";
+      path = fetchurl {
+        name = "path_dirname___path_dirname_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz";
+        sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0";
+      };
+    }
+    {
+      name = "path_exists___path_exists_3.0.0.tgz";
+      path = fetchurl {
+        name = "path_exists___path_exists_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz";
+        sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
+      };
+    }
+    {
+      name = "path_exists___path_exists_4.0.0.tgz";
+      path = fetchurl {
+        name = "path_exists___path_exists_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz";
+        sha1 = "513bdbe2d3b95d7762e8c1137efa195c6c61b5b3";
+      };
+    }
+    {
+      name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
+      path = fetchurl {
+        name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
+        sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+      };
+    }
+    {
+      name = "path_is_inside___path_is_inside_1.0.2.tgz";
+      path = fetchurl {
+        name = "path_is_inside___path_is_inside_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz";
+        sha1 = "365417dede44430d1c11af61027facf074bdfc53";
+      };
+    }
+    {
+      name = "path_key___path_key_2.0.1.tgz";
+      path = fetchurl {
+        name = "path_key___path_key_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz";
+        sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
+      };
+    }
+    {
+      name = "path_key___path_key_3.1.1.tgz";
+      path = fetchurl {
+        name = "path_key___path_key_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz";
+        sha1 = "581f6ade658cbba65a0d3380de7753295054f375";
+      };
+    }
+    {
+      name = "path_parse___path_parse_1.0.6.tgz";
+      path = fetchurl {
+        name = "path_parse___path_parse_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz";
+        sha1 = "d62dbb5679405d72c4737ec58600e9ddcf06d24c";
+      };
+    }
+    {
+      name = "path_to_regexp___path_to_regexp_0.1.7.tgz";
+      path = fetchurl {
+        name = "path_to_regexp___path_to_regexp_0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz";
+        sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
+      };
+    }
+    {
+      name = "path_to_regexp___path_to_regexp_1.7.0.tgz";
+      path = fetchurl {
+        name = "path_to_regexp___path_to_regexp_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz";
+        sha1 = "59fde0f435badacba103a84e9d3bc64e96b9937d";
+      };
+    }
+    {
+      name = "path_type___path_type_2.0.0.tgz";
+      path = fetchurl {
+        name = "path_type___path_type_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz";
+        sha1 = "f012ccb8415b7096fc2daa1054c3d72389594c73";
+      };
+    }
+    {
+      name = "path_type___path_type_4.0.0.tgz";
+      path = fetchurl {
+        name = "path_type___path_type_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz";
+        sha1 = "84ed01c0a7ba380afe09d90a8c180dcd9d03043b";
+      };
+    }
+    {
+      name = "pbkdf2___pbkdf2_3.1.1.tgz";
+      path = fetchurl {
+        name = "pbkdf2___pbkdf2_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz";
+        sha1 = "cb8724b0fada984596856d1a6ebafd3584654b94";
+      };
+    }
+    {
+      name = "performance_now___performance_now_0.2.0.tgz";
+      path = fetchurl {
+        name = "performance_now___performance_now_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz";
+        sha1 = "33ef30c5c77d4ea21c5a53869d91b56d8f2555e5";
+      };
+    }
+    {
+      name = "performance_now___performance_now_2.1.0.tgz";
+      path = fetchurl {
+        name = "performance_now___performance_now_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz";
+        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
+      };
+    }
+    {
+      name = "pg_connection_string___pg_connection_string_0.1.3.tgz";
+      path = fetchurl {
+        name = "pg_connection_string___pg_connection_string_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-0.1.3.tgz";
+        sha1 = "da1847b20940e42ee1492beaf65d49d91b245df7";
+      };
+    }
+    {
+      name = "pg_int8___pg_int8_1.0.1.tgz";
+      path = fetchurl {
+        name = "pg_int8___pg_int8_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz";
+        sha1 = "943bd463bf5b71b4170115f80f8efc9a0c0eb78c";
+      };
+    }
+    {
+      name = "pg_pool___pg_pool_1.8.0.tgz";
+      path = fetchurl {
+        name = "pg_pool___pg_pool_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/pg-pool/-/pg-pool-1.8.0.tgz";
+        sha1 = "f7ec73824c37a03f076f51bfdf70e340147c4f37";
+      };
+    }
+    {
+      name = "pg_types___pg_types_1.13.0.tgz";
+      path = fetchurl {
+        name = "pg_types___pg_types_1.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/pg-types/-/pg-types-1.13.0.tgz";
+        sha1 = "75f490b8a8abf75f1386ef5ec4455ecf6b345c63";
+      };
+    }
+    {
+      name = "pg___pg_6.4.2.tgz";
+      path = fetchurl {
+        name = "pg___pg_6.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/pg/-/pg-6.4.2.tgz";
+        sha1 = "c364011060eac7a507a2ae063eb857ece910e27f";
+      };
+    }
+    {
+      name = "pgpass___pgpass_1.0.2.tgz";
+      path = fetchurl {
+        name = "pgpass___pgpass_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.2.tgz";
+        sha1 = "2a7bb41b6065b67907e91da1b07c1847c877b306";
+      };
+    }
+    {
+      name = "picomatch___picomatch_2.2.2.tgz";
+      path = fetchurl {
+        name = "picomatch___picomatch_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz";
+        sha1 = "21f333e9b6b8eaff02468f5146ea406d345f4dad";
+      };
+    }
+    {
+      name = "pify___pify_2.3.0.tgz";
+      path = fetchurl {
+        name = "pify___pify_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz";
+        sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
+      };
+    }
+    {
+      name = "pify___pify_4.0.1.tgz";
+      path = fetchurl {
+        name = "pify___pify_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz";
+        sha1 = "4b2cd25c50d598735c50292224fd8c6df41e3231";
+      };
+    }
+    {
+      name = "pinkie_promise___pinkie_promise_2.0.1.tgz";
+      path = fetchurl {
+        name = "pinkie_promise___pinkie_promise_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
+        sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
+      };
+    }
+    {
+      name = "pinkie___pinkie_2.0.4.tgz";
+      path = fetchurl {
+        name = "pinkie___pinkie_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz";
+        sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
+      };
+    }
+    {
+      name = "pirates___pirates_4.0.1.tgz";
+      path = fetchurl {
+        name = "pirates___pirates_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz";
+        sha1 = "643a92caf894566f91b2b986d2c66950a8e2fb87";
+      };
+    }
+    {
+      name = "pkg_dir___pkg_dir_2.0.0.tgz";
+      path = fetchurl {
+        name = "pkg_dir___pkg_dir_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz";
+        sha1 = "f6d5d1109e19d63edf428e0bd57e12777615334b";
+      };
+    }
+    {
+      name = "pkg_dir___pkg_dir_3.0.0.tgz";
+      path = fetchurl {
+        name = "pkg_dir___pkg_dir_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz";
+        sha1 = "2749020f239ed990881b1f71210d51eb6523bea3";
+      };
+    }
+    {
+      name = "pkg_dir___pkg_dir_4.2.0.tgz";
+      path = fetchurl {
+        name = "pkg_dir___pkg_dir_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz";
+        sha1 = "f099133df7ede422e81d1d8448270eeb3e4261f3";
+      };
+    }
+    {
+      name = "pluralize___pluralize_1.2.1.tgz";
+      path = fetchurl {
+        name = "pluralize___pluralize_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz";
+        sha1 = "d1a21483fd22bb41e58a12fa3421823140897c45";
+      };
+    }
+    {
+      name = "portfinder___portfinder_1.0.28.tgz";
+      path = fetchurl {
+        name = "portfinder___portfinder_1.0.28.tgz";
+        url  = "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz";
+        sha1 = "67c4622852bd5374dd1dd900f779f53462fac778";
+      };
+    }
+    {
+      name = "posix_character_classes___posix_character_classes_0.1.1.tgz";
+      path = fetchurl {
+        name = "posix_character_classes___posix_character_classes_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz";
+        sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab";
+      };
+    }
+    {
+      name = "postcss_calc___postcss_calc_7.0.4.tgz";
+      path = fetchurl {
+        name = "postcss_calc___postcss_calc_7.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.4.tgz";
+        sha1 = "5e177ddb417341e6d4a193c5d9fd8ada79094f8b";
+      };
+    }
+    {
+      name = "postcss_colormin___postcss_colormin_4.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_colormin___postcss_colormin_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz";
+        sha1 = "ae060bce93ed794ac71264f08132d550956bd381";
+      };
+    }
+    {
+      name = "postcss_convert_values___postcss_convert_values_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_convert_values___postcss_convert_values_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz";
+        sha1 = "ca3813ed4da0f812f9d43703584e449ebe189a7f";
+      };
+    }
+    {
+      name = "postcss_discard_comments___postcss_discard_comments_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_discard_comments___postcss_discard_comments_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz";
+        sha1 = "1fbabd2c246bff6aaad7997b2b0918f4d7af4033";
+      };
+    }
+    {
+      name = "postcss_discard_duplicates___postcss_discard_duplicates_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_discard_duplicates___postcss_discard_duplicates_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz";
+        sha1 = "3fe133cd3c82282e550fc9b239176a9207b784eb";
+      };
+    }
+    {
+      name = "postcss_discard_empty___postcss_discard_empty_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_discard_empty___postcss_discard_empty_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz";
+        sha1 = "c8c951e9f73ed9428019458444a02ad90bb9f765";
+      };
+    }
+    {
+      name = "postcss_discard_overridden___postcss_discard_overridden_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_discard_overridden___postcss_discard_overridden_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz";
+        sha1 = "652aef8a96726f029f5e3e00146ee7a4e755ff57";
+      };
+    }
+    {
+      name = "postcss_load_config___postcss_load_config_2.1.2.tgz";
+      path = fetchurl {
+        name = "postcss_load_config___postcss_load_config_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz";
+        sha1 = "c5ea504f2c4aef33c7359a34de3573772ad7502a";
+      };
+    }
+    {
+      name = "postcss_loader___postcss_loader_3.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_loader___postcss_loader_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz";
+        sha1 = "6b97943e47c72d845fa9e03f273773d4e8dd6c2d";
+      };
+    }
+    {
+      name = "postcss_merge_longhand___postcss_merge_longhand_4.0.11.tgz";
+      path = fetchurl {
+        name = "postcss_merge_longhand___postcss_merge_longhand_4.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz";
+        sha1 = "62f49a13e4a0ee04e7b98f42bb16062ca2549e24";
+      };
+    }
+    {
+      name = "postcss_merge_rules___postcss_merge_rules_4.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_merge_rules___postcss_merge_rules_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz";
+        sha1 = "362bea4ff5a1f98e4075a713c6cb25aefef9a650";
+      };
+    }
+    {
+      name = "postcss_minify_font_values___postcss_minify_font_values_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_minify_font_values___postcss_minify_font_values_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz";
+        sha1 = "cd4c344cce474343fac5d82206ab2cbcb8afd5a6";
+      };
+    }
+    {
+      name = "postcss_minify_gradients___postcss_minify_gradients_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_minify_gradients___postcss_minify_gradients_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz";
+        sha1 = "93b29c2ff5099c535eecda56c4aa6e665a663471";
+      };
+    }
+    {
+      name = "postcss_minify_params___postcss_minify_params_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_minify_params___postcss_minify_params_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz";
+        sha1 = "6b9cef030c11e35261f95f618c90036d680db874";
+      };
+    }
+    {
+      name = "postcss_minify_selectors___postcss_minify_selectors_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_minify_selectors___postcss_minify_selectors_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz";
+        sha1 = "e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8";
+      };
+    }
+    {
+      name = "postcss_modules_extract_imports___postcss_modules_extract_imports_3.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_modules_extract_imports___postcss_modules_extract_imports_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz";
+        sha1 = "cda1f047c0ae80c97dbe28c3e76a43b88025741d";
+      };
+    }
+    {
+      name = "postcss_modules_local_by_default___postcss_modules_local_by_default_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_modules_local_by_default___postcss_modules_local_by_default_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz";
+        sha1 = "ebbb54fae1598eecfdf691a02b3ff3b390a5a51c";
+      };
+    }
+    {
+      name = "postcss_modules_scope___postcss_modules_scope_3.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_modules_scope___postcss_modules_scope_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz";
+        sha1 = "9ef3151456d3bbfa120ca44898dfca6f2fa01f06";
+      };
+    }
+    {
+      name = "postcss_modules_values___postcss_modules_values_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_modules_values___postcss_modules_values_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz";
+        sha1 = "d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c";
+      };
+    }
+    {
+      name = "postcss_normalize_charset___postcss_normalize_charset_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_charset___postcss_normalize_charset_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz";
+        sha1 = "8b35add3aee83a136b0471e0d59be58a50285dd4";
+      };
+    }
+    {
+      name = "postcss_normalize_display_values___postcss_normalize_display_values_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_display_values___postcss_normalize_display_values_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz";
+        sha1 = "0dbe04a4ce9063d4667ed2be476bb830c825935a";
+      };
+    }
+    {
+      name = "postcss_normalize_positions___postcss_normalize_positions_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_positions___postcss_normalize_positions_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz";
+        sha1 = "05f757f84f260437378368a91f8932d4b102917f";
+      };
+    }
+    {
+      name = "postcss_normalize_repeat_style___postcss_normalize_repeat_style_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_repeat_style___postcss_normalize_repeat_style_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz";
+        sha1 = "c4ebbc289f3991a028d44751cbdd11918b17910c";
+      };
+    }
+    {
+      name = "postcss_normalize_string___postcss_normalize_string_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_string___postcss_normalize_string_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz";
+        sha1 = "cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c";
+      };
+    }
+    {
+      name = "postcss_normalize_timing_functions___postcss_normalize_timing_functions_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_timing_functions___postcss_normalize_timing_functions_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz";
+        sha1 = "8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9";
+      };
+    }
+    {
+      name = "postcss_normalize_unicode___postcss_normalize_unicode_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_unicode___postcss_normalize_unicode_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz";
+        sha1 = "841bd48fdcf3019ad4baa7493a3d363b52ae1cfb";
+      };
+    }
+    {
+      name = "postcss_normalize_url___postcss_normalize_url_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_url___postcss_normalize_url_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz";
+        sha1 = "10e437f86bc7c7e58f7b9652ed878daaa95faae1";
+      };
+    }
+    {
+      name = "postcss_normalize_whitespace___postcss_normalize_whitespace_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_whitespace___postcss_normalize_whitespace_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz";
+        sha1 = "bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82";
+      };
+    }
+    {
+      name = "postcss_object_fit_images___postcss_object_fit_images_1.1.2.tgz";
+      path = fetchurl {
+        name = "postcss_object_fit_images___postcss_object_fit_images_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-object-fit-images/-/postcss-object-fit-images-1.1.2.tgz";
+        sha1 = "8b773043db14672ef6cd6f2cb1f0d8b26a9f573b";
+      };
+    }
+    {
+      name = "postcss_ordered_values___postcss_ordered_values_4.1.2.tgz";
+      path = fetchurl {
+        name = "postcss_ordered_values___postcss_ordered_values_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz";
+        sha1 = "0cf75c820ec7d5c4d280189559e0b571ebac0eee";
+      };
+    }
+    {
+      name = "postcss_reduce_initial___postcss_reduce_initial_4.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_reduce_initial___postcss_reduce_initial_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz";
+        sha1 = "7fd42ebea5e9c814609639e2c2e84ae270ba48df";
+      };
+    }
+    {
+      name = "postcss_reduce_transforms___postcss_reduce_transforms_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_reduce_transforms___postcss_reduce_transforms_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz";
+        sha1 = "17efa405eacc6e07be3414a5ca2d1074681d4e29";
+      };
+    }
+    {
+      name = "postcss_selector_parser___postcss_selector_parser_3.1.2.tgz";
+      path = fetchurl {
+        name = "postcss_selector_parser___postcss_selector_parser_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz";
+        sha1 = "b310f5c4c0fdaf76f94902bbaa30db6aa84f5270";
+      };
+    }
+    {
+      name = "postcss_selector_parser___postcss_selector_parser_6.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_selector_parser___postcss_selector_parser_6.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz";
+        sha1 = "934cf799d016c83411859e09dcecade01286ec5c";
+      };
+    }
+    {
+      name = "postcss_selector_parser___postcss_selector_parser_6.0.4.tgz";
+      path = fetchurl {
+        name = "postcss_selector_parser___postcss_selector_parser_6.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz";
+        sha1 = "56075a1380a04604c38b063ea7767a129af5c2b3";
+      };
+    }
+    {
+      name = "postcss_svgo___postcss_svgo_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_svgo___postcss_svgo_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz";
+        sha1 = "17b997bc711b333bab143aaed3b8d3d6e3d38258";
+      };
+    }
+    {
+      name = "postcss_unique_selectors___postcss_unique_selectors_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_unique_selectors___postcss_unique_selectors_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz";
+        sha1 = "9446911f3289bfd64c6d680f073c03b1f9ee4bac";
+      };
+    }
+    {
+      name = "postcss_value_parser___postcss_value_parser_3.3.1.tgz";
+      path = fetchurl {
+        name = "postcss_value_parser___postcss_value_parser_3.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz";
+        sha1 = "9ff822547e2893213cf1c30efa51ac5fd1ba8281";
+      };
+    }
+    {
+      name = "postcss_value_parser___postcss_value_parser_4.1.0.tgz";
+      path = fetchurl {
+        name = "postcss_value_parser___postcss_value_parser_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz";
+        sha1 = "443f6a20ced6481a2bda4fa8532a6e55d789a2cb";
+      };
+    }
+    {
+      name = "postcss___postcss_5.2.18.tgz";
+      path = fetchurl {
+        name = "postcss___postcss_5.2.18.tgz";
+        url  = "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz";
+        sha1 = "badfa1497d46244f6390f58b319830d9107853c5";
+      };
+    }
+    {
+      name = "postcss___postcss_7.0.32.tgz";
+      path = fetchurl {
+        name = "postcss___postcss_7.0.32.tgz";
+        url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz";
+        sha1 = "4310d6ee347053da3433db2be492883d62cec59d";
+      };
+    }
+    {
+      name = "postcss___postcss_8.1.6.tgz";
+      path = fetchurl {
+        name = "postcss___postcss_8.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/postcss/-/postcss-8.1.6.tgz";
+        sha1 = "b022ba2cfb8701da234d073ed3128c5a384c35ff";
+      };
+    }
+    {
+      name = "postgres_array___postgres_array_1.0.3.tgz";
+      path = fetchurl {
+        name = "postgres_array___postgres_array_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postgres-array/-/postgres-array-1.0.3.tgz";
+        sha1 = "c561fc3b266b21451fc6555384f4986d78ec80f5";
+      };
+    }
+    {
+      name = "postgres_bytea___postgres_bytea_1.0.0.tgz";
+      path = fetchurl {
+        name = "postgres_bytea___postgres_bytea_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz";
+        sha1 = "027b533c0aa890e26d172d47cf9ccecc521acd35";
+      };
+    }
+    {
+      name = "postgres_date___postgres_date_1.0.7.tgz";
+      path = fetchurl {
+        name = "postgres_date___postgres_date_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.7.tgz";
+        sha1 = "51bc086006005e5061c591cee727f2531bf641a8";
+      };
+    }
+    {
+      name = "postgres_interval___postgres_interval_1.2.0.tgz";
+      path = fetchurl {
+        name = "postgres_interval___postgres_interval_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.2.0.tgz";
+        sha1 = "b460c82cb1587507788819a06aa0fffdb3544695";
+      };
+    }
+    {
+      name = "prelude_ls___prelude_ls_1.2.1.tgz";
+      path = fetchurl {
+        name = "prelude_ls___prelude_ls_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz";
+        sha1 = "debc6489d7a6e6b0e7611888cec880337d316396";
+      };
+    }
+    {
+      name = "prelude_ls___prelude_ls_1.1.2.tgz";
+      path = fetchurl {
+        name = "prelude_ls___prelude_ls_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz";
+        sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54";
+      };
+    }
+    {
+      name = "pretty_format___pretty_format_25.5.0.tgz";
+      path = fetchurl {
+        name = "pretty_format___pretty_format_25.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz";
+        sha1 = "7873c1d774f682c34b8d48b6743a2bf2ac55791a";
+      };
+    }
+    {
+      name = "pretty_format___pretty_format_26.6.2.tgz";
+      path = fetchurl {
+        name = "pretty_format___pretty_format_26.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz";
+        sha1 = "e35c2705f14cb7fe2fe94fa078345b444120fc93";
+      };
+    }
+    {
+      name = "process_nextick_args___process_nextick_args_2.0.1.tgz";
+      path = fetchurl {
+        name = "process_nextick_args___process_nextick_args_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
+        sha1 = "7820d9b16120cc55ca9ae7792680ae7dba6d7fe2";
+      };
+    }
+    {
+      name = "process___process_0.11.10.tgz";
+      path = fetchurl {
+        name = "process___process_0.11.10.tgz";
+        url  = "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz";
+        sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182";
+      };
+    }
+    {
+      name = "progress___progress_1.1.8.tgz";
+      path = fetchurl {
+        name = "progress___progress_1.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz";
+        sha1 = "e260c78f6161cdd9b0e56cc3e0a85de17c7a57be";
+      };
+    }
+    {
+      name = "progress___progress_2.0.3.tgz";
+      path = fetchurl {
+        name = "progress___progress_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz";
+        sha1 = "7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8";
+      };
+    }
+    {
+      name = "promise_inflight___promise_inflight_1.0.1.tgz";
+      path = fetchurl {
+        name = "promise_inflight___promise_inflight_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz";
+        sha1 = "98472870bf228132fcbdd868129bad12c3c029e3";
+      };
+    }
+    {
+      name = "promise.prototype.finally___promise.prototype.finally_3.1.2.tgz";
+      path = fetchurl {
+        name = "promise.prototype.finally___promise.prototype.finally_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/promise.prototype.finally/-/promise.prototype.finally-3.1.2.tgz";
+        sha1 = "b8af89160c9c673cefe3b4c4435b53cfd0287067";
+      };
+    }
+    {
+      name = "prompts___prompts_2.3.2.tgz";
+      path = fetchurl {
+        name = "prompts___prompts_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz";
+        sha1 = "480572d89ecf39566d2bd3fe2c9fccb7c4c0b068";
+      };
+    }
+    {
+      name = "prop_types_extra___prop_types_extra_1.1.1.tgz";
+      path = fetchurl {
+        name = "prop_types_extra___prop_types_extra_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/prop-types-extra/-/prop-types-extra-1.1.1.tgz";
+        sha1 = "58c3b74cbfbb95d304625975aa2f0848329a010b";
+      };
+    }
+    {
+      name = "prop_types___prop_types_15.7.2.tgz";
+      path = fetchurl {
+        name = "prop_types___prop_types_15.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz";
+        sha1 = "52c41e75b8c87e72b9d9360e0206b99dcbffa6c5";
+      };
+    }
+    {
+      name = "proxy_addr___proxy_addr_2.0.6.tgz";
+      path = fetchurl {
+        name = "proxy_addr___proxy_addr_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz";
+        sha1 = "fdc2336505447d3f2f2c638ed272caf614bbb2bf";
+      };
+    }
+    {
+      name = "prr___prr_1.0.1.tgz";
+      path = fetchurl {
+        name = "prr___prr_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz";
+        sha1 = "d3fc114ba06995a45ec6893f484ceb1d78f5f476";
+      };
+    }
+    {
+      name = "psl___psl_1.8.0.tgz";
+      path = fetchurl {
+        name = "psl___psl_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz";
+        sha1 = "9326f8bcfb013adcc005fdff056acce020e51c24";
+      };
+    }
+    {
+      name = "public_encrypt___public_encrypt_4.0.3.tgz";
+      path = fetchurl {
+        name = "public_encrypt___public_encrypt_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz";
+        sha1 = "4fcc9d77a07e48ba7527e7cbe0de33d0701331e0";
+      };
+    }
+    {
+      name = "pump___pump_2.0.1.tgz";
+      path = fetchurl {
+        name = "pump___pump_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz";
+        sha1 = "12399add6e4cf7526d973cbc8b5ce2e2908b3909";
+      };
+    }
+    {
+      name = "pump___pump_3.0.0.tgz";
+      path = fetchurl {
+        name = "pump___pump_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz";
+        sha1 = "b4a2116815bde2f4e1ea602354e8c75565107a64";
+      };
+    }
+    {
+      name = "pumpify___pumpify_1.5.1.tgz";
+      path = fetchurl {
+        name = "pumpify___pumpify_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz";
+        sha1 = "36513be246ab27570b1a374a5ce278bfd74370ce";
+      };
+    }
+    {
+      name = "punycode___punycode_1.3.2.tgz";
+      path = fetchurl {
+        name = "punycode___punycode_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz";
+        sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d";
+      };
+    }
+    {
+      name = "punycode___punycode_1.4.1.tgz";
+      path = fetchurl {
+        name = "punycode___punycode_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz";
+        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+      };
+    }
+    {
+      name = "punycode___punycode_2.1.1.tgz";
+      path = fetchurl {
+        name = "punycode___punycode_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz";
+        sha1 = "b58b010ac40c22c5657616c8d2c2c02c7bf479ec";
+      };
+    }
+    {
+      name = "q___q_1.5.1.tgz";
+      path = fetchurl {
+        name = "q___q_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz";
+        sha1 = "7e32f75b41381291d04611f1bf14109ac00651d7";
+      };
+    }
+    {
+      name = "qs___qs_6.7.0.tgz";
+      path = fetchurl {
+        name = "qs___qs_6.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz";
+        sha1 = "41dc1a015e3d581f1621776be31afb2876a9b1bc";
+      };
+    }
+    {
+      name = "qs___qs_6.5.2.tgz";
+      path = fetchurl {
+        name = "qs___qs_6.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz";
+        sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36";
+      };
+    }
+    {
+      name = "querystring_es3___querystring_es3_0.2.1.tgz";
+      path = fetchurl {
+        name = "querystring_es3___querystring_es3_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz";
+        sha1 = "9ec61f79049875707d69414596fd907a4d711e73";
+      };
+    }
+    {
+      name = "querystring___querystring_0.2.0.tgz";
+      path = fetchurl {
+        name = "querystring___querystring_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz";
+        sha1 = "b209849203bb25df820da756e747005878521620";
+      };
+    }
+    {
+      name = "querystringify___querystringify_2.2.0.tgz";
+      path = fetchurl {
+        name = "querystringify___querystringify_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz";
+        sha1 = "3345941b4153cb9d082d8eee4cda2016a9aef7f6";
+      };
+    }
+    {
+      name = "quote___quote_0.4.0.tgz";
+      path = fetchurl {
+        name = "quote___quote_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/quote/-/quote-0.4.0.tgz";
+        sha1 = "10839217f6c1362b89194044d29b233fd7f32f01";
+      };
+    }
+    {
+      name = "raf___raf_3.4.1.tgz";
+      path = fetchurl {
+        name = "raf___raf_3.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz";
+        sha1 = "0742e99a4a6552f445d73e3ee0328af0ff1ede39";
+      };
+    }
+    {
+      name = "randombytes___randombytes_2.1.0.tgz";
+      path = fetchurl {
+        name = "randombytes___randombytes_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz";
+        sha1 = "df6f84372f0270dc65cdf6291349ab7a473d4f2a";
+      };
+    }
+    {
+      name = "randomfill___randomfill_1.0.4.tgz";
+      path = fetchurl {
+        name = "randomfill___randomfill_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz";
+        sha1 = "c92196fc86ab42be983f1bf31778224931d61458";
+      };
+    }
+    {
+      name = "range_parser___range_parser_1.2.1.tgz";
+      path = fetchurl {
+        name = "range_parser___range_parser_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz";
+        sha1 = "3cf37023d199e1c24d1a55b84800c2f3e6468031";
+      };
+    }
+    {
+      name = "raw_body___raw_body_2.4.0.tgz";
+      path = fetchurl {
+        name = "raw_body___raw_body_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz";
+        sha1 = "a1ce6fb9c9bc356ca52e89256ab59059e13d0332";
+      };
+    }
+    {
+      name = "react_dom___react_dom_16.14.0.tgz";
+      path = fetchurl {
+        name = "react_dom___react_dom_16.14.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-dom/-/react-dom-16.14.0.tgz";
+        sha1 = "7ad838ec29a777fb3c75c3a190f661cf92ab8b89";
+      };
+    }
+    {
+      name = "react_event_listener___react_event_listener_0.6.6.tgz";
+      path = fetchurl {
+        name = "react_event_listener___react_event_listener_0.6.6.tgz";
+        url  = "https://registry.yarnpkg.com/react-event-listener/-/react-event-listener-0.6.6.tgz";
+        sha1 = "758f7b991cad9086dd39fd29fad72127e1d8962a";
+      };
+    }
+    {
+      name = "react_hotkeys___react_hotkeys_1.1.4.tgz";
+      path = fetchurl {
+        name = "react_hotkeys___react_hotkeys_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/react-hotkeys/-/react-hotkeys-1.1.4.tgz";
+        sha1 = "a0712aa2e0c03a759fd7885808598497a4dace72";
+      };
+    }
+    {
+      name = "react_immutable_proptypes___react_immutable_proptypes_2.2.0.tgz";
+      path = fetchurl {
+        name = "react_immutable_proptypes___react_immutable_proptypes_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-immutable-proptypes/-/react-immutable-proptypes-2.2.0.tgz";
+        sha1 = "cce96d68cc3c18e89617cbf3092d08e35126af4a";
+      };
+    }
+    {
+      name = "react_immutable_pure_component___react_immutable_pure_component_2.2.2.tgz";
+      path = fetchurl {
+        name = "react_immutable_pure_component___react_immutable_pure_component_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/react-immutable-pure-component/-/react-immutable-pure-component-2.2.2.tgz";
+        sha1 = "3014d3e20cd5a7a4db73b81f1f1464f4d351684b";
+      };
+    }
+    {
+      name = "react_infinite_scroller___react_infinite_scroller_1.2.4.tgz";
+      path = fetchurl {
+        name = "react_infinite_scroller___react_infinite_scroller_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/react-infinite-scroller/-/react-infinite-scroller-1.2.4.tgz";
+        sha1 = "f67eaec4940a4ce6417bebdd6e3433bfc38826e9";
+      };
+    }
+    {
+      name = "react_input_autosize___react_input_autosize_2.2.2.tgz";
+      path = fetchurl {
+        name = "react_input_autosize___react_input_autosize_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-2.2.2.tgz";
+        sha1 = "fcaa7020568ec206bc04be36f4eb68e647c4d8c2";
+      };
+    }
+    {
+      name = "react_intl_translations_manager___react_intl_translations_manager_5.0.3.tgz";
+      path = fetchurl {
+        name = "react_intl_translations_manager___react_intl_translations_manager_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/react-intl-translations-manager/-/react-intl-translations-manager-5.0.3.tgz";
+        sha1 = "aee010ecf35975673e033ca5d7d3f4147894324d";
+      };
+    }
+    {
+      name = "react_intl___react_intl_2.9.0.tgz";
+      path = fetchurl {
+        name = "react_intl___react_intl_2.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-intl/-/react-intl-2.9.0.tgz";
+        sha1 = "c97c5d17d4718f1575fdbd5a769f96018a3b1843";
+      };
+    }
+    {
+      name = "react_is___react_is_16.13.1.tgz";
+      path = fetchurl {
+        name = "react_is___react_is_16.13.1.tgz";
+        url  = "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz";
+        sha1 = "789729a4dc36de2999dc156dd6c1d9c18cea56a4";
+      };
+    }
+    {
+      name = "react_is___react_is_17.0.1.tgz";
+      path = fetchurl {
+        name = "react_is___react_is_17.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz";
+        sha1 = "5b3531bd76a645a4c9fb6e693ed36419e3301339";
+      };
+    }
+    {
+      name = "react_lifecycles_compat___react_lifecycles_compat_3.0.4.tgz";
+      path = fetchurl {
+        name = "react_lifecycles_compat___react_lifecycles_compat_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz";
+        sha1 = "4f1a273afdfc8f3488a8c516bfda78f872352362";
+      };
+    }
+    {
+      name = "react_masonry_infinite___react_masonry_infinite_1.2.2.tgz";
+      path = fetchurl {
+        name = "react_masonry_infinite___react_masonry_infinite_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/react-masonry-infinite/-/react-masonry-infinite-1.2.2.tgz";
+        sha1 = "20c1386f9ccdda9747527c8f42bc2c02dd2e7951";
+      };
+    }
+    {
+      name = "react_motion___react_motion_0.5.2.tgz";
+      path = fetchurl {
+        name = "react_motion___react_motion_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/react-motion/-/react-motion-0.5.2.tgz";
+        sha1 = "0dd3a69e411316567927917c6626551ba0607316";
+      };
+    }
+    {
+      name = "react_notification___react_notification_6.8.5.tgz";
+      path = fetchurl {
+        name = "react_notification___react_notification_6.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/react-notification/-/react-notification-6.8.5.tgz";
+        sha1 = "7ea90a633bb2a280d899e30c93cf372265cce4f0";
+      };
+    }
+    {
+      name = "react_overlays___react_overlays_0.9.2.tgz";
+      path = fetchurl {
+        name = "react_overlays___react_overlays_0.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/react-overlays/-/react-overlays-0.9.2.tgz";
+        sha1 = "51ab1c62ded5af4d279bd3b943999531bbd648da";
+      };
+    }
+    {
+      name = "react_redux_loading_bar___react_redux_loading_bar_4.0.8.tgz";
+      path = fetchurl {
+        name = "react_redux_loading_bar___react_redux_loading_bar_4.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/react-redux-loading-bar/-/react-redux-loading-bar-4.0.8.tgz";
+        sha1 = "e84d59d1517b79f53b0f39c8ddb40682af648c1b";
+      };
+    }
+    {
+      name = "react_redux___react_redux_7.2.2.tgz";
+      path = fetchurl {
+        name = "react_redux___react_redux_7.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.2.tgz";
+        sha1 = "03862e803a30b6b9ef8582dadcc810947f74b736";
+      };
+    }
+    {
+      name = "react_router_dom___react_router_dom_4.3.1.tgz";
+      path = fetchurl {
+        name = "react_router_dom___react_router_dom_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.3.1.tgz";
+        sha1 = "4c2619fc24c4fa87c9fd18f4fb4a43fe63fbd5c6";
+      };
+    }
+    {
+      name = "react_router_scroll_4___react_router_scroll_4_1.0.0_beta.2.tgz";
+      path = fetchurl {
+        name = "react_router_scroll_4___react_router_scroll_4_1.0.0_beta.2.tgz";
+        url  = "https://registry.yarnpkg.com/react-router-scroll-4/-/react-router-scroll-4-1.0.0-beta.2.tgz";
+        sha1 = "d887063ec0f66124aaf450158dd158ff7d3dc279";
+      };
+    }
+    {
+      name = "react_router___react_router_4.3.1.tgz";
+      path = fetchurl {
+        name = "react_router___react_router_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/react-router/-/react-router-4.3.1.tgz";
+        sha1 = "aada4aef14c809cb2e686b05cee4742234506c4e";
+      };
+    }
+    {
+      name = "react_select___react_select_3.1.0.tgz";
+      path = fetchurl {
+        name = "react_select___react_select_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-select/-/react-select-3.1.0.tgz";
+        sha1 = "ab098720b2e9fe275047c993f0d0caf5ded17c27";
+      };
+    }
+    {
+      name = "react_sparklines___react_sparklines_1.7.0.tgz";
+      path = fetchurl {
+        name = "react_sparklines___react_sparklines_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-sparklines/-/react-sparklines-1.7.0.tgz";
+        sha1 = "9b1d97e8c8610095eeb2ad658d2e1fcf91f91a60";
+      };
+    }
+    {
+      name = "react_swipeable_views_core___react_swipeable_views_core_0.13.7.tgz";
+      path = fetchurl {
+        name = "react_swipeable_views_core___react_swipeable_views_core_0.13.7.tgz";
+        url  = "https://registry.yarnpkg.com/react-swipeable-views-core/-/react-swipeable-views-core-0.13.7.tgz";
+        sha1 = "c082b553f26e83fd20fc17f934200eb717023c8a";
+      };
+    }
+    {
+      name = "react_swipeable_views_utils___react_swipeable_views_utils_0.13.9.tgz";
+      path = fetchurl {
+        name = "react_swipeable_views_utils___react_swipeable_views_utils_0.13.9.tgz";
+        url  = "https://registry.yarnpkg.com/react-swipeable-views-utils/-/react-swipeable-views-utils-0.13.9.tgz";
+        sha1 = "a66e98f2f4502d8b00182901f80d13b2f903e10f";
+      };
+    }
+    {
+      name = "react_swipeable_views___react_swipeable_views_0.13.9.tgz";
+      path = fetchurl {
+        name = "react_swipeable_views___react_swipeable_views_0.13.9.tgz";
+        url  = "https://registry.yarnpkg.com/react-swipeable-views/-/react-swipeable-views-0.13.9.tgz";
+        sha1 = "d6a6c508bf5288ad55509f9c65916db5df0f2cec";
+      };
+    }
+    {
+      name = "react_test_renderer___react_test_renderer_16.14.0.tgz";
+      path = fetchurl {
+        name = "react_test_renderer___react_test_renderer_16.14.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.14.0.tgz";
+        sha1 = "e98360087348e260c56d4fe2315e970480c228ae";
+      };
+    }
+    {
+      name = "react_textarea_autosize___react_textarea_autosize_8.3.0.tgz";
+      path = fetchurl {
+        name = "react_textarea_autosize___react_textarea_autosize_8.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.3.0.tgz";
+        sha1 = "e6e2fd186d9f61bb80ac6e2dcb4c55504f93c2fa";
+      };
+    }
+    {
+      name = "react_toggle___react_toggle_4.1.1.tgz";
+      path = fetchurl {
+        name = "react_toggle___react_toggle_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/react-toggle/-/react-toggle-4.1.1.tgz";
+        sha1 = "2317f67bf918ea3508a96b09dd383efd9da572af";
+      };
+    }
+    {
+      name = "react_transition_group___react_transition_group_2.9.0.tgz";
+      path = fetchurl {
+        name = "react_transition_group___react_transition_group_2.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz";
+        sha1 = "df9cdb025796211151a436c69a8f3b97b5b07c8d";
+      };
+    }
+    {
+      name = "react_transition_group___react_transition_group_4.3.0.tgz";
+      path = fetchurl {
+        name = "react_transition_group___react_transition_group_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.3.0.tgz";
+        sha1 = "fea832e386cf8796c58b61874a3319704f5ce683";
+      };
+    }
+    {
+      name = "react___react_16.14.0.tgz";
+      path = fetchurl {
+        name = "react___react_16.14.0.tgz";
+        url  = "https://registry.yarnpkg.com/react/-/react-16.14.0.tgz";
+        sha1 = "94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d";
+      };
+    }
+    {
+      name = "read_pkg_up___read_pkg_up_2.0.0.tgz";
+      path = fetchurl {
+        name = "read_pkg_up___read_pkg_up_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz";
+        sha1 = "6b72a8048984e0c41e79510fd5e9fa99b3b549be";
+      };
+    }
+    {
+      name = "read_pkg_up___read_pkg_up_7.0.1.tgz";
+      path = fetchurl {
+        name = "read_pkg_up___read_pkg_up_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz";
+        sha1 = "f3a6135758459733ae2b95638056e1854e7ef507";
+      };
+    }
+    {
+      name = "read_pkg___read_pkg_2.0.0.tgz";
+      path = fetchurl {
+        name = "read_pkg___read_pkg_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz";
+        sha1 = "8ef1c0623c6a6db0dc6713c4bfac46332b2368f8";
+      };
+    }
+    {
+      name = "read_pkg___read_pkg_5.2.0.tgz";
+      path = fetchurl {
+        name = "read_pkg___read_pkg_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz";
+        sha1 = "7bf295438ca5a33e56cd30e053b34ee7250c93cc";
+      };
+    }
+    {
+      name = "readable_stream___readable_stream_2.3.7.tgz";
+      path = fetchurl {
+        name = "readable_stream___readable_stream_2.3.7.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz";
+        sha1 = "1eca1cf711aef814c04f62252a36a62f6cb23b57";
+      };
+    }
+    {
+      name = "readable_stream___readable_stream_3.6.0.tgz";
+      path = fetchurl {
+        name = "readable_stream___readable_stream_3.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz";
+        sha1 = "337bbda3adc0706bd3e024426a286d4b4b2c9198";
+      };
+    }
+    {
+      name = "readdirp___readdirp_2.2.1.tgz";
+      path = fetchurl {
+        name = "readdirp___readdirp_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz";
+        sha1 = "0e87622a3325aa33e892285caf8b4e846529a525";
+      };
+    }
+    {
+      name = "readdirp___readdirp_3.4.0.tgz";
+      path = fetchurl {
+        name = "readdirp___readdirp_3.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz";
+        sha1 = "9fdccdf9e9155805449221ac645e8303ab5b9ada";
+      };
+    }
+    {
+      name = "readline2___readline2_1.0.1.tgz";
+      path = fetchurl {
+        name = "readline2___readline2_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz";
+        sha1 = "41059608ffc154757b715d9989d199ffbf372e35";
+      };
+    }
+    {
+      name = "redent___redent_3.0.0.tgz";
+      path = fetchurl {
+        name = "redent___redent_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz";
+        sha1 = "e557b7998316bb53c9f1f56fa626352c6963059f";
+      };
+    }
+    {
+      name = "redis_commands___redis_commands_1.6.0.tgz";
+      path = fetchurl {
+        name = "redis_commands___redis_commands_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/redis-commands/-/redis-commands-1.6.0.tgz";
+        sha1 = "36d4ca42ae9ed29815cdb30ad9f97982eba1ce23";
+      };
+    }
+    {
+      name = "redis_errors___redis_errors_1.2.0.tgz";
+      path = fetchurl {
+        name = "redis_errors___redis_errors_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/redis-errors/-/redis-errors-1.2.0.tgz";
+        sha1 = "eb62d2adb15e4eaf4610c04afe1529384250abad";
+      };
+    }
+    {
+      name = "redis_parser___redis_parser_3.0.0.tgz";
+      path = fetchurl {
+        name = "redis_parser___redis_parser_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/redis-parser/-/redis-parser-3.0.0.tgz";
+        sha1 = "b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4";
+      };
+    }
+    {
+      name = "redis___redis_3.0.2.tgz";
+      path = fetchurl {
+        name = "redis___redis_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/redis/-/redis-3.0.2.tgz";
+        sha1 = "bd47067b8a4a3e6a2e556e57f71cc82c7360150a";
+      };
+    }
+    {
+      name = "redux_immutable___redux_immutable_4.0.0.tgz";
+      path = fetchurl {
+        name = "redux_immutable___redux_immutable_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/redux-immutable/-/redux-immutable-4.0.0.tgz";
+        sha1 = "3a1a32df66366462b63691f0e1dc35e472bbc9f3";
+      };
+    }
+    {
+      name = "redux_thunk___redux_thunk_2.3.0.tgz";
+      path = fetchurl {
+        name = "redux_thunk___redux_thunk_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.3.0.tgz";
+        sha1 = "51c2c19a185ed5187aaa9a2d08b666d0d6467622";
+      };
+    }
+    {
+      name = "redux___redux_4.0.5.tgz";
+      path = fetchurl {
+        name = "redux___redux_4.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/redux/-/redux-4.0.5.tgz";
+        sha1 = "4db5de5816e17891de8a80c424232d06f051d93f";
+      };
+    }
+    {
+      name = "regenerate_unicode_properties___regenerate_unicode_properties_8.2.0.tgz";
+      path = fetchurl {
+        name = "regenerate_unicode_properties___regenerate_unicode_properties_8.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz";
+        sha1 = "e5de7111d655e7ba60c057dbe9ff37c87e65cdec";
+      };
+    }
+    {
+      name = "regenerate___regenerate_1.4.1.tgz";
+      path = fetchurl {
+        name = "regenerate___regenerate_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz";
+        sha1 = "cad92ad8e6b591773485fbe05a485caf4f457e6f";
+      };
+    }
+    {
+      name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz";
+      path = fetchurl {
+        name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz";
+        sha1 = "be05ad7f9bf7d22e056f9726cee5017fbf19e2e9";
+      };
+    }
+    {
+      name = "regenerator_runtime___regenerator_runtime_0.12.1.tgz";
+      path = fetchurl {
+        name = "regenerator_runtime___regenerator_runtime_0.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz";
+        sha1 = "fa1a71544764c036f8c49b13a08b2594c9f8a0de";
+      };
+    }
+    {
+      name = "regenerator_runtime___regenerator_runtime_0.13.7.tgz";
+      path = fetchurl {
+        name = "regenerator_runtime___regenerator_runtime_0.13.7.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz";
+        sha1 = "cac2dacc8a1ea675feaabaeb8ae833898ae46f55";
+      };
+    }
+    {
+      name = "regenerator_transform___regenerator_transform_0.14.5.tgz";
+      path = fetchurl {
+        name = "regenerator_transform___regenerator_transform_0.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz";
+        sha1 = "c98da154683671c9c4dcb16ece736517e1b7feb4";
+      };
+    }
+    {
+      name = "regex_not___regex_not_1.0.2.tgz";
+      path = fetchurl {
+        name = "regex_not___regex_not_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz";
+        sha1 = "1f4ece27e00b0b65e0247a6810e6a85d83a5752c";
+      };
+    }
+    {
+      name = "regexp.prototype.flags___regexp.prototype.flags_1.3.0.tgz";
+      path = fetchurl {
+        name = "regexp.prototype.flags___regexp.prototype.flags_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz";
+        sha1 = "7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75";
+      };
+    }
+    {
+      name = "regexpp___regexpp_3.1.0.tgz";
+      path = fetchurl {
+        name = "regexpp___regexpp_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz";
+        sha1 = "206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2";
+      };
+    }
+    {
+      name = "regexpu_core___regexpu_core_4.7.1.tgz";
+      path = fetchurl {
+        name = "regexpu_core___regexpu_core_4.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz";
+        sha1 = "2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6";
+      };
+    }
+    {
+      name = "regjsgen___regjsgen_0.5.2.tgz";
+      path = fetchurl {
+        name = "regjsgen___regjsgen_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz";
+        sha1 = "92ff295fb1deecbf6ecdab2543d207e91aa33733";
+      };
+    }
+    {
+      name = "regjsparser___regjsparser_0.6.4.tgz";
+      path = fetchurl {
+        name = "regjsparser___regjsparser_0.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz";
+        sha1 = "a769f8684308401a66e9b529d2436ff4d0666272";
+      };
+    }
+    {
+      name = "rellax___rellax_1.12.1.tgz";
+      path = fetchurl {
+        name = "rellax___rellax_1.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/rellax/-/rellax-1.12.1.tgz";
+        sha1 = "1b433ef7ac4aa3573449a33efab391c112f6b34d";
+      };
+    }
+    {
+      name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
+      path = fetchurl {
+        name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz";
+        sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef";
+      };
+    }
+    {
+      name = "repeat_element___repeat_element_1.1.3.tgz";
+      path = fetchurl {
+        name = "repeat_element___repeat_element_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz";
+        sha1 = "782e0d825c0c5a3bb39731f84efee6b742e6b1ce";
+      };
+    }
+    {
+      name = "repeat_string___repeat_string_1.6.1.tgz";
+      path = fetchurl {
+        name = "repeat_string___repeat_string_1.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz";
+        sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
+      };
+    }
+    {
+      name = "request_promise_core___request_promise_core_1.1.4.tgz";
+      path = fetchurl {
+        name = "request_promise_core___request_promise_core_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz";
+        sha1 = "3eedd4223208d419867b78ce815167d10593a22f";
+      };
+    }
+    {
+      name = "request_promise_native___request_promise_native_1.0.9.tgz";
+      path = fetchurl {
+        name = "request_promise_native___request_promise_native_1.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz";
+        sha1 = "e407120526a5efdc9a39b28a5679bf47b9d9dc28";
+      };
+    }
+    {
+      name = "request___request_2.88.2.tgz";
+      path = fetchurl {
+        name = "request___request_2.88.2.tgz";
+        url  = "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz";
+        sha1 = "d73c918731cb5a87da047e207234146f664d12b3";
+      };
+    }
+    {
+      name = "requestidlecallback___requestidlecallback_0.3.0.tgz";
+      path = fetchurl {
+        name = "requestidlecallback___requestidlecallback_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/requestidlecallback/-/requestidlecallback-0.3.0.tgz";
+        sha1 = "6fb74e0733f90df3faa4838f9f6a2a5f9b742ac5";
+      };
+    }
+    {
+      name = "require_directory___require_directory_2.1.1.tgz";
+      path = fetchurl {
+        name = "require_directory___require_directory_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz";
+        sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
+      };
+    }
+    {
+      name = "require_from_string___require_from_string_2.0.2.tgz";
+      path = fetchurl {
+        name = "require_from_string___require_from_string_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz";
+        sha1 = "89a7fdd938261267318eafe14f9c32e598c36909";
+      };
+    }
+    {
+      name = "require_main_filename___require_main_filename_2.0.0.tgz";
+      path = fetchurl {
+        name = "require_main_filename___require_main_filename_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz";
+        sha1 = "d0b329ecc7cc0f61649f62215be69af54aa8989b";
+      };
+    }
+    {
+      name = "require_package_name___require_package_name_2.0.1.tgz";
+      path = fetchurl {
+        name = "require_package_name___require_package_name_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/require-package-name/-/require-package-name-2.0.1.tgz";
+        sha1 = "c11e97276b65b8e2923f75dabf5fb2ef0c3841b9";
+      };
+    }
+    {
+      name = "require_uncached___require_uncached_1.0.3.tgz";
+      path = fetchurl {
+        name = "require_uncached___require_uncached_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz";
+        sha1 = "4e0d56d6c9662fd31e43011c4b95aa49955421d3";
+      };
+    }
+    {
+      name = "requires_port___requires_port_1.0.0.tgz";
+      path = fetchurl {
+        name = "requires_port___requires_port_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz";
+        sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff";
+      };
+    }
+    {
+      name = "reselect___reselect_4.0.0.tgz";
+      path = fetchurl {
+        name = "reselect___reselect_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/reselect/-/reselect-4.0.0.tgz";
+        sha1 = "f2529830e5d3d0e021408b246a206ef4ea4437f7";
+      };
+    }
+    {
+      name = "resolve_cwd___resolve_cwd_2.0.0.tgz";
+      path = fetchurl {
+        name = "resolve_cwd___resolve_cwd_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz";
+        sha1 = "00a9f7387556e27038eae232caa372a6a59b665a";
+      };
+    }
+    {
+      name = "resolve_cwd___resolve_cwd_3.0.0.tgz";
+      path = fetchurl {
+        name = "resolve_cwd___resolve_cwd_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz";
+        sha1 = "0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d";
+      };
+    }
+    {
+      name = "resolve_dir___resolve_dir_1.0.1.tgz";
+      path = fetchurl {
+        name = "resolve_dir___resolve_dir_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz";
+        sha1 = "79a40644c362be82f26effe739c9bb5382046f43";
+      };
+    }
+    {
+      name = "resolve_from___resolve_from_1.0.1.tgz";
+      path = fetchurl {
+        name = "resolve_from___resolve_from_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz";
+        sha1 = "26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226";
+      };
+    }
+    {
+      name = "resolve_from___resolve_from_3.0.0.tgz";
+      path = fetchurl {
+        name = "resolve_from___resolve_from_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz";
+        sha1 = "b22c7af7d9d6881bc8b6e653335eebcb0a188748";
+      };
+    }
+    {
+      name = "resolve_from___resolve_from_4.0.0.tgz";
+      path = fetchurl {
+        name = "resolve_from___resolve_from_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz";
+        sha1 = "4abcd852ad32dd7baabfe9b40e00a36db5f392e6";
+      };
+    }
+    {
+      name = "resolve_from___resolve_from_5.0.0.tgz";
+      path = fetchurl {
+        name = "resolve_from___resolve_from_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz";
+        sha1 = "c35225843df8f776df21c57557bc087e9dfdfc69";
+      };
+    }
+    {
+      name = "resolve_pathname___resolve_pathname_2.2.0.tgz";
+      path = fetchurl {
+        name = "resolve_pathname___resolve_pathname_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz";
+        sha1 = "7e9ae21ed815fd63ab189adeee64dc831eefa879";
+      };
+    }
+    {
+      name = "resolve_pathname___resolve_pathname_3.0.0.tgz";
+      path = fetchurl {
+        name = "resolve_pathname___resolve_pathname_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz";
+        sha1 = "99d02224d3cf263689becbb393bc560313025dcd";
+      };
+    }
+    {
+      name = "resolve_url___resolve_url_0.2.1.tgz";
+      path = fetchurl {
+        name = "resolve_url___resolve_url_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz";
+        sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a";
+      };
+    }
+    {
+      name = "resolve___resolve_1.19.0.tgz";
+      path = fetchurl {
+        name = "resolve___resolve_1.19.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz";
+        sha1 = "1af5bf630409734a067cae29318aac7fa29a267c";
+      };
+    }
+    {
+      name = "restore_cursor___restore_cursor_1.0.1.tgz";
+      path = fetchurl {
+        name = "restore_cursor___restore_cursor_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz";
+        sha1 = "34661f46886327fed2991479152252df92daa541";
+      };
+    }
+    {
+      name = "ret___ret_0.1.15.tgz";
+      path = fetchurl {
+        name = "ret___ret_0.1.15.tgz";
+        url  = "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz";
+        sha1 = "b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc";
+      };
+    }
+    {
+      name = "retry___retry_0.12.0.tgz";
+      path = fetchurl {
+        name = "retry___retry_0.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz";
+        sha1 = "1b42a6266a21f07421d1b0b54b7dc167b01c013b";
+      };
+    }
+    {
+      name = "rgb_regex___rgb_regex_1.0.1.tgz";
+      path = fetchurl {
+        name = "rgb_regex___rgb_regex_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz";
+        sha1 = "c0e0d6882df0e23be254a475e8edd41915feaeb1";
+      };
+    }
+    {
+      name = "rgba_regex___rgba_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "rgba_regex___rgba_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz";
+        sha1 = "43374e2e2ca0968b0ef1523460b7d730ff22eeb3";
+      };
+    }
+    {
+      name = "rimraf___rimraf_2.6.3.tgz";
+      path = fetchurl {
+        name = "rimraf___rimraf_2.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz";
+        sha1 = "b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab";
+      };
+    }
+    {
+      name = "rimraf___rimraf_2.7.1.tgz";
+      path = fetchurl {
+        name = "rimraf___rimraf_2.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz";
+        sha1 = "35797f13a7fdadc566142c29d4f07ccad483e3ec";
+      };
+    }
+    {
+      name = "rimraf___rimraf_3.0.2.tgz";
+      path = fetchurl {
+        name = "rimraf___rimraf_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz";
+        sha1 = "f1a5402ba6220ad52cc1282bac1ae3aa49fd061a";
+      };
+    }
+    {
+      name = "ripemd160___ripemd160_2.0.2.tgz";
+      path = fetchurl {
+        name = "ripemd160___ripemd160_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz";
+        sha1 = "a1c1a6f624751577ba5d07914cbc92850585890c";
+      };
+    }
+    {
+      name = "rsvp___rsvp_4.8.5.tgz";
+      path = fetchurl {
+        name = "rsvp___rsvp_4.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz";
+        sha1 = "c8f155311d167f68f21e168df71ec5b083113734";
+      };
+    }
+    {
+      name = "run_async___run_async_0.1.0.tgz";
+      path = fetchurl {
+        name = "run_async___run_async_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz";
+        sha1 = "c8ad4a5e110661e402a7d21b530e009f25f8e389";
+      };
+    }
+    {
+      name = "run_queue___run_queue_1.0.3.tgz";
+      path = fetchurl {
+        name = "run_queue___run_queue_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz";
+        sha1 = "e848396f057d223f24386924618e25694161ec47";
+      };
+    }
+    {
+      name = "rx_lite___rx_lite_3.1.2.tgz";
+      path = fetchurl {
+        name = "rx_lite___rx_lite_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz";
+        sha1 = "19ce502ca572665f3b647b10939f97fd1615f102";
+      };
+    }
+    {
+      name = "safe_buffer___safe_buffer_5.1.2.tgz";
+      path = fetchurl {
+        name = "safe_buffer___safe_buffer_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz";
+        sha1 = "991ec69d296e0313747d59bdfd2b745c35f8828d";
+      };
+    }
+    {
+      name = "safe_buffer___safe_buffer_5.2.1.tgz";
+      path = fetchurl {
+        name = "safe_buffer___safe_buffer_5.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz";
+        sha1 = "1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6";
+      };
+    }
+    {
+      name = "safe_regex___safe_regex_1.1.0.tgz";
+      path = fetchurl {
+        name = "safe_regex___safe_regex_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz";
+        sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e";
+      };
+    }
+    {
+      name = "safer_buffer___safer_buffer_2.1.2.tgz";
+      path = fetchurl {
+        name = "safer_buffer___safer_buffer_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz";
+        sha1 = "44fa161b0187b9549dd84bb91802f9bd8385cd6a";
+      };
+    }
+    {
+      name = "sane___sane_4.1.0.tgz";
+      path = fetchurl {
+        name = "sane___sane_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz";
+        sha1 = "ed881fd922733a6c461bc189dc2b6c006f3ffded";
+      };
+    }
+    {
+      name = "sass_lint___sass_lint_1.13.1.tgz";
+      path = fetchurl {
+        name = "sass_lint___sass_lint_1.13.1.tgz";
+        url  = "https://registry.yarnpkg.com/sass-lint/-/sass-lint-1.13.1.tgz";
+        sha1 = "5fd2b2792e9215272335eb0f0dc607f61e8acc8f";
+      };
+    }
+    {
+      name = "sass_loader___sass_loader_10.1.0.tgz";
+      path = fetchurl {
+        name = "sass_loader___sass_loader_10.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.1.0.tgz";
+        sha1 = "1727fcc0c32ab3eb197cda61d78adf4e9174a4b3";
+      };
+    }
+    {
+      name = "sass___sass_1.29.0.tgz";
+      path = fetchurl {
+        name = "sass___sass_1.29.0.tgz";
+        url  = "https://registry.yarnpkg.com/sass/-/sass-1.29.0.tgz";
+        sha1 = "ec4e1842c146d8ea9258c28c141b8c2b7c6ab7f1";
+      };
+    }
+    {
+      name = "sax___sax_1.2.4.tgz";
+      path = fetchurl {
+        name = "sax___sax_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz";
+        sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9";
+      };
+    }
+    {
+      name = "saxes___saxes_5.0.1.tgz";
+      path = fetchurl {
+        name = "saxes___saxes_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz";
+        sha1 = "eebab953fa3b7608dbe94e5dadb15c888fa6696d";
+      };
+    }
+    {
+      name = "scheduler___scheduler_0.19.1.tgz";
+      path = fetchurl {
+        name = "scheduler___scheduler_0.19.1.tgz";
+        url  = "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz";
+        sha1 = "4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196";
+      };
+    }
+    {
+      name = "schema_utils___schema_utils_1.0.0.tgz";
+      path = fetchurl {
+        name = "schema_utils___schema_utils_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz";
+        sha1 = "0b79a93204d7b600d4b2850d1f66c2a34951c770";
+      };
+    }
+    {
+      name = "schema_utils___schema_utils_2.7.1.tgz";
+      path = fetchurl {
+        name = "schema_utils___schema_utils_2.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz";
+        sha1 = "1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7";
+      };
+    }
+    {
+      name = "schema_utils___schema_utils_3.0.0.tgz";
+      path = fetchurl {
+        name = "schema_utils___schema_utils_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz";
+        sha1 = "67502f6aa2b66a2d4032b4279a2944978a0913ef";
+      };
+    }
+    {
+      name = "scroll_behavior___scroll_behavior_0.9.12.tgz";
+      path = fetchurl {
+        name = "scroll_behavior___scroll_behavior_0.9.12.tgz";
+        url  = "https://registry.yarnpkg.com/scroll-behavior/-/scroll-behavior-0.9.12.tgz";
+        sha1 = "1c22d273ec4ce6cd4714a443fead50227da9424c";
+      };
+    }
+    {
+      name = "select_hose___select_hose_2.0.0.tgz";
+      path = fetchurl {
+        name = "select_hose___select_hose_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz";
+        sha1 = "625d8658f865af43ec962bfc376a37359a4994ca";
+      };
+    }
+    {
+      name = "selfsigned___selfsigned_1.10.8.tgz";
+      path = fetchurl {
+        name = "selfsigned___selfsigned_1.10.8.tgz";
+        url  = "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.8.tgz";
+        sha1 = "0d17208b7d12c33f8eac85c41835f27fc3d81a30";
+      };
+    }
+    {
+      name = "semver___semver_5.7.1.tgz";
+      path = fetchurl {
+        name = "semver___semver_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz";
+        sha1 = "a954f931aeba508d307bbf069eff0c01c96116f7";
+      };
+    }
+    {
+      name = "semver___semver_4.3.2.tgz";
+      path = fetchurl {
+        name = "semver___semver_4.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-4.3.2.tgz";
+        sha1 = "c7a07158a80bedd052355b770d82d6640f803be7";
+      };
+    }
+    {
+      name = "semver___semver_7.0.0.tgz";
+      path = fetchurl {
+        name = "semver___semver_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz";
+        sha1 = "5f3ca35761e47e05b206c6daff2cf814f0316b8e";
+      };
+    }
+    {
+      name = "semver___semver_6.3.0.tgz";
+      path = fetchurl {
+        name = "semver___semver_6.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz";
+        sha1 = "ee0a64c8af5e8ceea67687b133761e1becbd1d3d";
+      };
+    }
+    {
+      name = "semver___semver_7.3.4.tgz";
+      path = fetchurl {
+        name = "semver___semver_7.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz";
+        sha1 = "27aaa7d2e4ca76452f98d3add093a72c943edc97";
+      };
+    }
+    {
+      name = "send___send_0.17.1.tgz";
+      path = fetchurl {
+        name = "send___send_0.17.1.tgz";
+        url  = "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz";
+        sha1 = "c1d8b059f7900f7466dd4938bdc44e11ddb376c8";
+      };
+    }
+    {
+      name = "serialize_javascript___serialize_javascript_2.1.2.tgz";
+      path = fetchurl {
+        name = "serialize_javascript___serialize_javascript_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz";
+        sha1 = "ecec53b0e0317bdc95ef76ab7074b7384785fa61";
+      };
+    }
+    {
+      name = "serialize_javascript___serialize_javascript_5.0.1.tgz";
+      path = fetchurl {
+        name = "serialize_javascript___serialize_javascript_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz";
+        sha1 = "7886ec848049a462467a97d3d918ebb2aaf934f4";
+      };
+    }
+    {
+      name = "serve_index___serve_index_1.9.1.tgz";
+      path = fetchurl {
+        name = "serve_index___serve_index_1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz";
+        sha1 = "d3768d69b1e7d82e5ce050fff5b453bea12a9239";
+      };
+    }
+    {
+      name = "serve_static___serve_static_1.14.1.tgz";
+      path = fetchurl {
+        name = "serve_static___serve_static_1.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz";
+        sha1 = "666e636dc4f010f7ef29970a88a674320898b2f9";
+      };
+    }
+    {
+      name = "set_blocking___set_blocking_2.0.0.tgz";
+      path = fetchurl {
+        name = "set_blocking___set_blocking_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz";
+        sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
+      };
+    }
+    {
+      name = "set_value___set_value_2.0.1.tgz";
+      path = fetchurl {
+        name = "set_value___set_value_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz";
+        sha1 = "a18d40530e6f07de4228c7defe4227af8cad005b";
+      };
+    }
+    {
+      name = "setimmediate___setimmediate_1.0.5.tgz";
+      path = fetchurl {
+        name = "setimmediate___setimmediate_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz";
+        sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285";
+      };
+    }
+    {
+      name = "setprototypeof___setprototypeof_1.1.0.tgz";
+      path = fetchurl {
+        name = "setprototypeof___setprototypeof_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz";
+        sha1 = "d0bd85536887b6fe7c0d818cb962d9d91c54e656";
+      };
+    }
+    {
+      name = "setprototypeof___setprototypeof_1.1.1.tgz";
+      path = fetchurl {
+        name = "setprototypeof___setprototypeof_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz";
+        sha1 = "7e95acb24aa92f5885e0abef5ba131330d4ae683";
+      };
+    }
+    {
+      name = "sha.js___sha.js_2.4.11.tgz";
+      path = fetchurl {
+        name = "sha.js___sha.js_2.4.11.tgz";
+        url  = "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz";
+        sha1 = "37a5cf0b81ecbc6943de109ba2960d1b26584ae7";
+      };
+    }
+    {
+      name = "shallow_clone___shallow_clone_3.0.1.tgz";
+      path = fetchurl {
+        name = "shallow_clone___shallow_clone_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz";
+        sha1 = "8f2981ad92531f55035b01fb230769a40e02efa3";
+      };
+    }
+    {
+      name = "shallow_equal___shallow_equal_1.2.1.tgz";
+      path = fetchurl {
+        name = "shallow_equal___shallow_equal_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.2.1.tgz";
+        sha1 = "4c16abfa56043aa20d050324efa68940b0da79da";
+      };
+    }
+    {
+      name = "shebang_command___shebang_command_1.2.0.tgz";
+      path = fetchurl {
+        name = "shebang_command___shebang_command_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz";
+        sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
+      };
+    }
+    {
+      name = "shebang_command___shebang_command_2.0.0.tgz";
+      path = fetchurl {
+        name = "shebang_command___shebang_command_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz";
+        sha1 = "ccd0af4f8835fbdc265b82461aaf0c36663f34ea";
+      };
+    }
+    {
+      name = "shebang_regex___shebang_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "shebang_regex___shebang_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz";
+        sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3";
+      };
+    }
+    {
+      name = "shebang_regex___shebang_regex_3.0.0.tgz";
+      path = fetchurl {
+        name = "shebang_regex___shebang_regex_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz";
+        sha1 = "ae16f1644d873ecad843b0307b143362d4c42172";
+      };
+    }
+    {
+      name = "shelljs___shelljs_0.6.1.tgz";
+      path = fetchurl {
+        name = "shelljs___shelljs_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/shelljs/-/shelljs-0.6.1.tgz";
+        sha1 = "ec6211bed1920442088fe0f70b2837232ed2c8a8";
+      };
+    }
+    {
+      name = "shellwords___shellwords_0.1.1.tgz";
+      path = fetchurl {
+        name = "shellwords___shellwords_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz";
+        sha1 = "d6b9181c1a48d397324c84871efbcfc73fc0654b";
+      };
+    }
+    {
+      name = "side_channel___side_channel_1.0.3.tgz";
+      path = fetchurl {
+        name = "side_channel___side_channel_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.3.tgz";
+        sha1 = "cdc46b057550bbab63706210838df5d4c19519c3";
+      };
+    }
+    {
+      name = "signal_exit___signal_exit_3.0.3.tgz";
+      path = fetchurl {
+        name = "signal_exit___signal_exit_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz";
+        sha1 = "a1410c2edd8f077b08b4e253c8eacfcaf057461c";
+      };
+    }
+    {
+      name = "simple_swizzle___simple_swizzle_0.2.2.tgz";
+      path = fetchurl {
+        name = "simple_swizzle___simple_swizzle_0.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz";
+        sha1 = "a4da6b635ffcccca33f70d17cb92592de95e557a";
+      };
+    }
+    {
+      name = "sisteransi___sisteransi_1.0.5.tgz";
+      path = fetchurl {
+        name = "sisteransi___sisteransi_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz";
+        sha1 = "134d681297756437cc05ca01370d3a7a571075ed";
+      };
+    }
+    {
+      name = "slash___slash_1.0.0.tgz";
+      path = fetchurl {
+        name = "slash___slash_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz";
+        sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55";
+      };
+    }
+    {
+      name = "slash___slash_3.0.0.tgz";
+      path = fetchurl {
+        name = "slash___slash_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz";
+        sha1 = "6539be870c165adbd5240220dbe361f1bc4d4634";
+      };
+    }
+    {
+      name = "slice_ansi___slice_ansi_0.0.4.tgz";
+      path = fetchurl {
+        name = "slice_ansi___slice_ansi_0.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz";
+        sha1 = "edbf8903f66f7ce2f8eafd6ceed65e264c831b35";
+      };
+    }
+    {
+      name = "slice_ansi___slice_ansi_2.1.0.tgz";
+      path = fetchurl {
+        name = "slice_ansi___slice_ansi_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz";
+        sha1 = "cacd7693461a637a5788d92a7dd4fba068e81636";
+      };
+    }
+    {
+      name = "snapdragon_node___snapdragon_node_2.1.1.tgz";
+      path = fetchurl {
+        name = "snapdragon_node___snapdragon_node_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz";
+        sha1 = "6c175f86ff14bdb0724563e8f3c1b021a286853b";
+      };
+    }
+    {
+      name = "snapdragon_util___snapdragon_util_3.0.1.tgz";
+      path = fetchurl {
+        name = "snapdragon_util___snapdragon_util_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz";
+        sha1 = "f956479486f2acd79700693f6f7b805e45ab56e2";
+      };
+    }
+    {
+      name = "snapdragon___snapdragon_0.8.2.tgz";
+      path = fetchurl {
+        name = "snapdragon___snapdragon_0.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz";
+        sha1 = "64922e7c565b0e14204ba1aa7d6964278d25182d";
+      };
+    }
+    {
+      name = "sockjs_client___sockjs_client_1.4.0.tgz";
+      path = fetchurl {
+        name = "sockjs_client___sockjs_client_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz";
+        sha1 = "c9f2568e19c8fd8173b4997ea3420e0bb306c7d5";
+      };
+    }
+    {
+      name = "sockjs___sockjs_0.3.20.tgz";
+      path = fetchurl {
+        name = "sockjs___sockjs_0.3.20.tgz";
+        url  = "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.20.tgz";
+        sha1 = "b26a283ec562ef8b2687b44033a4eeceac75d855";
+      };
+    }
+    {
+      name = "source_list_map___source_list_map_2.0.1.tgz";
+      path = fetchurl {
+        name = "source_list_map___source_list_map_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz";
+        sha1 = "3993bd873bfc48479cca9ea3a547835c7c154b34";
+      };
+    }
+    {
+      name = "source_map_resolve___source_map_resolve_0.5.3.tgz";
+      path = fetchurl {
+        name = "source_map_resolve___source_map_resolve_0.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz";
+        sha1 = "190866bece7553e1f8f267a2ee82c606b5509a1a";
+      };
+    }
+    {
+      name = "source_map_resolve___source_map_resolve_0.6.0.tgz";
+      path = fetchurl {
+        name = "source_map_resolve___source_map_resolve_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz";
+        sha1 = "3d9df87e236b53f16d01e58150fc7711138e5ed2";
+      };
+    }
+    {
+      name = "source_map_support___source_map_support_0.5.19.tgz";
+      path = fetchurl {
+        name = "source_map_support___source_map_support_0.5.19.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz";
+        sha1 = "a98b62f86dcaf4f67399648c085291ab9e8fed61";
+      };
+    }
+    {
+      name = "source_map_url___source_map_url_0.4.0.tgz";
+      path = fetchurl {
+        name = "source_map_url___source_map_url_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz";
+        sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3";
+      };
+    }
+    {
+      name = "source_map___source_map_0.5.6.tgz";
+      path = fetchurl {
+        name = "source_map___source_map_0.5.6.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz";
+        sha1 = "75ce38f52bf0733c5a7f0c118d81334a2bb5f412";
+      };
+    }
+    {
+      name = "source_map___source_map_0.5.7.tgz";
+      path = fetchurl {
+        name = "source_map___source_map_0.5.7.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz";
+        sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc";
+      };
+    }
+    {
+      name = "source_map___source_map_0.6.1.tgz";
+      path = fetchurl {
+        name = "source_map___source_map_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz";
+        sha1 = "74722af32e9614e9c287a8d0bbde48b5e2f1a263";
+      };
+    }
+    {
+      name = "source_map___source_map_0.7.3.tgz";
+      path = fetchurl {
+        name = "source_map___source_map_0.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz";
+        sha1 = "5302f8169031735226544092e64981f751750383";
+      };
+    }
+    {
+      name = "spdx_correct___spdx_correct_3.1.1.tgz";
+      path = fetchurl {
+        name = "spdx_correct___spdx_correct_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz";
+        sha1 = "dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9";
+      };
+    }
+    {
+      name = "spdx_exceptions___spdx_exceptions_2.3.0.tgz";
+      path = fetchurl {
+        name = "spdx_exceptions___spdx_exceptions_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz";
+        sha1 = "3f28ce1a77a00372683eade4a433183527a2163d";
+      };
+    }
+    {
+      name = "spdx_expression_parse___spdx_expression_parse_3.0.1.tgz";
+      path = fetchurl {
+        name = "spdx_expression_parse___spdx_expression_parse_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz";
+        sha1 = "cf70f50482eefdc98e3ce0a6833e4a53ceeba679";
+      };
+    }
+    {
+      name = "spdx_license_ids___spdx_license_ids_3.0.6.tgz";
+      path = fetchurl {
+        name = "spdx_license_ids___spdx_license_ids_3.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz";
+        sha1 = "c80757383c28abf7296744998cbc106ae8b854ce";
+      };
+    }
+    {
+      name = "spdy_transport___spdy_transport_3.0.0.tgz";
+      path = fetchurl {
+        name = "spdy_transport___spdy_transport_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz";
+        sha1 = "00d4863a6400ad75df93361a1608605e5dcdcf31";
+      };
+    }
+    {
+      name = "spdy___spdy_4.0.2.tgz";
+      path = fetchurl {
+        name = "spdy___spdy_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz";
+        sha1 = "b74f466203a3eda452c02492b91fb9e84a27677b";
+      };
+    }
+    {
+      name = "split_string___split_string_3.1.0.tgz";
+      path = fetchurl {
+        name = "split_string___split_string_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz";
+        sha1 = "7cb09dda3a86585705c64b39a6466038682e8fe2";
+      };
+    }
+    {
+      name = "split___split_1.0.1.tgz";
+      path = fetchurl {
+        name = "split___split_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz";
+        sha1 = "605bd9be303aa59fb35f9229fbea0ddec9ea07d9";
+      };
+    }
+    {
+      name = "sprintf_js___sprintf_js_1.0.3.tgz";
+      path = fetchurl {
+        name = "sprintf_js___sprintf_js_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz";
+        sha1 = "04e6926f662895354f3dd015203633b857297e2c";
+      };
+    }
+    {
+      name = "sshpk___sshpk_1.16.1.tgz";
+      path = fetchurl {
+        name = "sshpk___sshpk_1.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz";
+        sha1 = "fb661c0bef29b39db40769ee39fa70093d6f6877";
+      };
+    }
+    {
+      name = "ssri___ssri_6.0.1.tgz";
+      path = fetchurl {
+        name = "ssri___ssri_6.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz";
+        sha1 = "2a3c41b28dd45b62b63676ecb74001265ae9edd8";
+      };
+    }
+    {
+      name = "ssri___ssri_8.0.0.tgz";
+      path = fetchurl {
+        name = "ssri___ssri_8.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ssri/-/ssri-8.0.0.tgz";
+        sha1 = "79ca74e21f8ceaeddfcb4b90143c458b8d988808";
+      };
+    }
+    {
+      name = "stable___stable_0.1.8.tgz";
+      path = fetchurl {
+        name = "stable___stable_0.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz";
+        sha1 = "836eb3c8382fe2936feaf544631017ce7d47a3cf";
+      };
+    }
+    {
+      name = "stack_generator___stack_generator_2.0.5.tgz";
+      path = fetchurl {
+        name = "stack_generator___stack_generator_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/stack-generator/-/stack-generator-2.0.5.tgz";
+        sha1 = "fb00e5b4ee97de603e0773ea78ce944d81596c36";
+      };
+    }
+    {
+      name = "stack_utils___stack_utils_2.0.2.tgz";
+      path = fetchurl {
+        name = "stack_utils___stack_utils_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.2.tgz";
+        sha1 = "5cf48b4557becb4638d0bc4f21d23f5d19586593";
+      };
+    }
+    {
+      name = "stackframe___stackframe_1.2.0.tgz";
+      path = fetchurl {
+        name = "stackframe___stackframe_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.0.tgz";
+        sha1 = "52429492d63c62eb989804c11552e3d22e779303";
+      };
+    }
+    {
+      name = "stacktrace_gps___stacktrace_gps_3.0.4.tgz";
+      path = fetchurl {
+        name = "stacktrace_gps___stacktrace_gps_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/stacktrace-gps/-/stacktrace-gps-3.0.4.tgz";
+        sha1 = "7688dc2fc09ffb3a13165ebe0dbcaf41bcf0c69a";
+      };
+    }
+    {
+      name = "stacktrace_js___stacktrace_js_2.0.2.tgz";
+      path = fetchurl {
+        name = "stacktrace_js___stacktrace_js_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/stacktrace-js/-/stacktrace-js-2.0.2.tgz";
+        sha1 = "4ca93ea9f494752d55709a081d400fdaebee897b";
+      };
+    }
+    {
+      name = "static_extend___static_extend_0.1.2.tgz";
+      path = fetchurl {
+        name = "static_extend___static_extend_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz";
+        sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6";
+      };
+    }
+    {
+      name = "statuses___statuses_1.5.0.tgz";
+      path = fetchurl {
+        name = "statuses___statuses_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz";
+        sha1 = "161c7dac177659fd9811f43771fa99381478628c";
+      };
+    }
+    {
+      name = "stealthy_require___stealthy_require_1.1.1.tgz";
+      path = fetchurl {
+        name = "stealthy_require___stealthy_require_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz";
+        sha1 = "35b09875b4ff49f26a777e509b3090a3226bf24b";
+      };
+    }
+    {
+      name = "stream_browserify___stream_browserify_2.0.2.tgz";
+      path = fetchurl {
+        name = "stream_browserify___stream_browserify_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz";
+        sha1 = "87521d38a44aa7ee91ce1cd2a47df0cb49dd660b";
+      };
+    }
+    {
+      name = "stream_each___stream_each_1.2.3.tgz";
+      path = fetchurl {
+        name = "stream_each___stream_each_1.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz";
+        sha1 = "ebe27a0c389b04fbcc233642952e10731afa9bae";
+      };
+    }
+    {
+      name = "stream_http___stream_http_2.8.3.tgz";
+      path = fetchurl {
+        name = "stream_http___stream_http_2.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz";
+        sha1 = "b2d242469288a5a27ec4fe8933acf623de6514fc";
+      };
+    }
+    {
+      name = "stream_shift___stream_shift_1.0.1.tgz";
+      path = fetchurl {
+        name = "stream_shift___stream_shift_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz";
+        sha1 = "d7088281559ab2778424279b0877da3c392d5a3d";
+      };
+    }
+    {
+      name = "string_length___string_length_4.0.1.tgz";
+      path = fetchurl {
+        name = "string_length___string_length_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz";
+        sha1 = "4a973bf31ef77c4edbceadd6af2611996985f8a1";
+      };
+    }
+    {
+      name = "string_width___string_width_1.0.2.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz";
+        sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
+      };
+    }
+    {
+      name = "string_width___string_width_2.1.1.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz";
+        sha1 = "ab93f27a8dc13d28cac815c462143a6d9012ae9e";
+      };
+    }
+    {
+      name = "string_width___string_width_3.1.0.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz";
+        sha1 = "22767be21b62af1081574306f69ac51b62203961";
+      };
+    }
+    {
+      name = "string_width___string_width_4.2.0.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz";
+        sha1 = "952182c46cc7b2c313d1596e623992bd163b72b5";
+      };
+    }
+    {
+      name = "string.prototype.matchall___string.prototype.matchall_4.0.2.tgz";
+      path = fetchurl {
+        name = "string.prototype.matchall___string.prototype.matchall_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz";
+        sha1 = "48bb510326fb9fdeb6a33ceaa81a6ea04ef7648e";
+      };
+    }
+    {
+      name = "string.prototype.trimend___string.prototype.trimend_1.0.1.tgz";
+      path = fetchurl {
+        name = "string.prototype.trimend___string.prototype.trimend_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz";
+        sha1 = "85812a6b847ac002270f5808146064c995fb6913";
+      };
+    }
+    {
+      name = "string.prototype.trimstart___string.prototype.trimstart_1.0.1.tgz";
+      path = fetchurl {
+        name = "string.prototype.trimstart___string.prototype.trimstart_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz";
+        sha1 = "14af6d9f34b053f7cfc89b72f8f2ee14b9039a54";
+      };
+    }
+    {
+      name = "string_decoder___string_decoder_1.3.0.tgz";
+      path = fetchurl {
+        name = "string_decoder___string_decoder_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz";
+        sha1 = "42f114594a46cf1a8e30b0a84f56c78c3edac21e";
+      };
+    }
+    {
+      name = "string_decoder___string_decoder_1.1.1.tgz";
+      path = fetchurl {
+        name = "string_decoder___string_decoder_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz";
+        sha1 = "9cf1611ba62685d7030ae9e4ba34149c3af03fc8";
+      };
+    }
+    {
+      name = "stringz___stringz_2.1.0.tgz";
+      path = fetchurl {
+        name = "stringz___stringz_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/stringz/-/stringz-2.1.0.tgz";
+        sha1 = "5896b4713eac31157556040fb90258fb02c1630c";
+      };
+    }
+    {
+      name = "strip_ansi___strip_ansi_3.0.1.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz";
+        sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
+      };
+    }
+    {
+      name = "strip_ansi___strip_ansi_4.0.0.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz";
+        sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
+      };
+    }
+    {
+      name = "strip_ansi___strip_ansi_5.2.0.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz";
+        sha1 = "8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae";
+      };
+    }
+    {
+      name = "strip_ansi___strip_ansi_6.0.0.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz";
+        sha1 = "0b1571dd7669ccd4f3e06e14ef1eed26225ae532";
+      };
+    }
+    {
+      name = "strip_bom___strip_bom_3.0.0.tgz";
+      path = fetchurl {
+        name = "strip_bom___strip_bom_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz";
+        sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
+      };
+    }
+    {
+      name = "strip_bom___strip_bom_4.0.0.tgz";
+      path = fetchurl {
+        name = "strip_bom___strip_bom_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz";
+        sha1 = "9c3505c1db45bcedca3d9cf7a16f5c5aa3901878";
+      };
+    }
+    {
+      name = "strip_comments___strip_comments_2.0.1.tgz";
+      path = fetchurl {
+        name = "strip_comments___strip_comments_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-comments/-/strip-comments-2.0.1.tgz";
+        sha1 = "4ad11c3fbcac177a67a40ac224ca339ca1c1ba9b";
+      };
+    }
+    {
+      name = "strip_eof___strip_eof_1.0.0.tgz";
+      path = fetchurl {
+        name = "strip_eof___strip_eof_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz";
+        sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf";
+      };
+    }
+    {
+      name = "strip_final_newline___strip_final_newline_2.0.0.tgz";
+      path = fetchurl {
+        name = "strip_final_newline___strip_final_newline_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz";
+        sha1 = "89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad";
+      };
+    }
+    {
+      name = "strip_indent___strip_indent_3.0.0.tgz";
+      path = fetchurl {
+        name = "strip_indent___strip_indent_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz";
+        sha1 = "c32e1cee940b6b3432c771bc2c54bcce73cd3001";
+      };
+    }
+    {
+      name = "strip_json_comments___strip_json_comments_3.1.1.tgz";
+      path = fetchurl {
+        name = "strip_json_comments___strip_json_comments_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz";
+        sha1 = "31f1281b3832630434831c310c01cccda8cbe006";
+      };
+    }
+    {
+      name = "strip_json_comments___strip_json_comments_1.0.4.tgz";
+      path = fetchurl {
+        name = "strip_json_comments___strip_json_comments_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz";
+        sha1 = "1e15fbcac97d3ee99bf2d73b4c656b082bbafb91";
+      };
+    }
+    {
+      name = "stylehacks___stylehacks_4.0.3.tgz";
+      path = fetchurl {
+        name = "stylehacks___stylehacks_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz";
+        sha1 = "6718fcaf4d1e07d8a1318690881e8d96726a71d5";
+      };
+    }
+    {
+      name = "substring_trie___substring_trie_1.0.2.tgz";
+      path = fetchurl {
+        name = "substring_trie___substring_trie_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/substring-trie/-/substring-trie-1.0.2.tgz";
+        sha1 = "7b42592391628b4f2cb17365c6cce4257c7b7af5";
+      };
+    }
+    {
+      name = "supports_color___supports_color_2.0.0.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz";
+        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+      };
+    }
+    {
+      name = "supports_color___supports_color_3.2.3.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_3.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz";
+        sha1 = "65ac0504b3954171d8a64946b2ae3cbb8a5f54f6";
+      };
+    }
+    {
+      name = "supports_color___supports_color_5.5.0.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_5.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz";
+        sha1 = "e2e69a44ac8772f78a1ec0b35b689df6530efc8f";
+      };
+    }
+    {
+      name = "supports_color___supports_color_6.1.0.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz";
+        sha1 = "0764abc69c63d5ac842dd4867e8d025e880df8f3";
+      };
+    }
+    {
+      name = "supports_color___supports_color_7.2.0.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz";
+        sha1 = "1b7dcdcb32b8138801b3e478ba6a51caa89648da";
+      };
+    }
+    {
+      name = "supports_hyperlinks___supports_hyperlinks_2.1.0.tgz";
+      path = fetchurl {
+        name = "supports_hyperlinks___supports_hyperlinks_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz";
+        sha1 = "f663df252af5f37c5d49bbd7eeefa9e0b9e59e47";
+      };
+    }
+    {
+      name = "svgo___svgo_1.3.2.tgz";
+      path = fetchurl {
+        name = "svgo___svgo_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz";
+        sha1 = "b6dc511c063346c9e415b81e43401145b96d4167";
+      };
+    }
+    {
+      name = "symbol_observable___symbol_observable_1.2.0.tgz";
+      path = fetchurl {
+        name = "symbol_observable___symbol_observable_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz";
+        sha1 = "c22688aed4eab3cdc2dfeacbb561660560a00804";
+      };
+    }
+    {
+      name = "symbol_tree___symbol_tree_3.2.4.tgz";
+      path = fetchurl {
+        name = "symbol_tree___symbol_tree_3.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz";
+        sha1 = "430637d248ba77e078883951fb9aa0eed7c63fa2";
+      };
+    }
+    {
+      name = "table___table_3.8.3.tgz";
+      path = fetchurl {
+        name = "table___table_3.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz";
+        sha1 = "2bbc542f0fda9861a755d3947fefd8b3f513855f";
+      };
+    }
+    {
+      name = "table___table_5.4.1.tgz";
+      path = fetchurl {
+        name = "table___table_5.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/table/-/table-5.4.1.tgz";
+        sha1 = "0691ae2ebe8259858efb63e550b6d5f9300171e8";
+      };
+    }
+    {
+      name = "tapable___tapable_1.1.3.tgz";
+      path = fetchurl {
+        name = "tapable___tapable_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz";
+        sha1 = "a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2";
+      };
+    }
+    {
+      name = "tar___tar_6.0.5.tgz";
+      path = fetchurl {
+        name = "tar___tar_6.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/tar/-/tar-6.0.5.tgz";
+        sha1 = "bde815086e10b39f1dcd298e89d596e1535e200f";
+      };
+    }
+    {
+      name = "tcomb___tcomb_2.7.0.tgz";
+      path = fetchurl {
+        name = "tcomb___tcomb_2.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/tcomb/-/tcomb-2.7.0.tgz";
+        sha1 = "10d62958041669a5d53567b9a4ee8cde22b1c2b0";
+      };
+    }
+    {
+      name = "terminal_link___terminal_link_2.1.1.tgz";
+      path = fetchurl {
+        name = "terminal_link___terminal_link_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz";
+        sha1 = "14a64a27ab3c0df933ea546fba55f2d078edc994";
+      };
+    }
+    {
+      name = "terser_webpack_plugin___terser_webpack_plugin_1.4.3.tgz";
+      path = fetchurl {
+        name = "terser_webpack_plugin___terser_webpack_plugin_1.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz";
+        sha1 = "5ecaf2dbdc5fb99745fd06791f46fc9ddb1c9a7c";
+      };
+    }
+    {
+      name = "terser_webpack_plugin___terser_webpack_plugin_4.2.3.tgz";
+      path = fetchurl {
+        name = "terser_webpack_plugin___terser_webpack_plugin_4.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz";
+        sha1 = "28daef4a83bd17c1db0297070adc07fc8cfc6a9a";
+      };
+    }
+    {
+      name = "terser___terser_4.8.0.tgz";
+      path = fetchurl {
+        name = "terser___terser_4.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz";
+        sha1 = "63056343d7c70bb29f3af665865a46fe03a0df17";
+      };
+    }
+    {
+      name = "terser___terser_5.3.4.tgz";
+      path = fetchurl {
+        name = "terser___terser_5.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/terser/-/terser-5.3.4.tgz";
+        sha1 = "e510e05f86e0bd87f01835c3238839193f77a60c";
+      };
+    }
+    {
+      name = "tesseract.js_core___tesseract.js_core_2.2.0.tgz";
+      path = fetchurl {
+        name = "tesseract.js_core___tesseract.js_core_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/tesseract.js-core/-/tesseract.js-core-2.2.0.tgz";
+        sha1 = "6ef78051272a381969fac3e45a226e85022cffef";
+      };
+    }
+    {
+      name = "tesseract.js___tesseract.js_2.1.1.tgz";
+      path = fetchurl {
+        name = "tesseract.js___tesseract.js_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/tesseract.js/-/tesseract.js-2.1.1.tgz";
+        sha1 = "5c50fc95542ce8d834cb952bfb75a8fc85f1441d";
+      };
+    }
+    {
+      name = "test_exclude___test_exclude_6.0.0.tgz";
+      path = fetchurl {
+        name = "test_exclude___test_exclude_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz";
+        sha1 = "04a8698661d805ea6fa293b6cb9e63ac044ef15e";
+      };
+    }
+    {
+      name = "text_table___text_table_0.2.0.tgz";
+      path = fetchurl {
+        name = "text_table___text_table_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz";
+        sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
+      };
+    }
+    {
+      name = "throat___throat_5.0.0.tgz";
+      path = fetchurl {
+        name = "throat___throat_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz";
+        sha1 = "c5199235803aad18754a667d659b5e72ce16764b";
+      };
+    }
+    {
+      name = "throng___throng_4.0.0.tgz";
+      path = fetchurl {
+        name = "throng___throng_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/throng/-/throng-4.0.0.tgz";
+        sha1 = "983c6ba1993b58eae859998aa687ffe88df84c17";
+      };
+    }
+    {
+      name = "through2___through2_2.0.5.tgz";
+      path = fetchurl {
+        name = "through2___through2_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz";
+        sha1 = "01c1e39eb31d07cb7d03a96a70823260b23132cd";
+      };
+    }
+    {
+      name = "through___through_2.3.8.tgz";
+      path = fetchurl {
+        name = "through___through_2.3.8.tgz";
+        url  = "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz";
+        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
+      };
+    }
+    {
+      name = "thunky___thunky_1.1.0.tgz";
+      path = fetchurl {
+        name = "thunky___thunky_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz";
+        sha1 = "5abaf714a9405db0504732bbccd2cedd9ef9537d";
+      };
+    }
+    {
+      name = "timers_browserify___timers_browserify_2.0.11.tgz";
+      path = fetchurl {
+        name = "timers_browserify___timers_browserify_2.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz";
+        sha1 = "800b1f3eee272e5bc53ee465a04d0e804c31211f";
+      };
+    }
+    {
+      name = "timsort___timsort_0.3.0.tgz";
+      path = fetchurl {
+        name = "timsort___timsort_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz";
+        sha1 = "405411a8e7e6339fe64db9a234de11dc31e02bd4";
+      };
+    }
+    {
+      name = "tiny_invariant___tiny_invariant_1.1.0.tgz";
+      path = fetchurl {
+        name = "tiny_invariant___tiny_invariant_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz";
+        sha1 = "634c5f8efdc27714b7f386c35e6760991d230875";
+      };
+    }
+    {
+      name = "tiny_queue___tiny_queue_0.2.1.tgz";
+      path = fetchurl {
+        name = "tiny_queue___tiny_queue_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/tiny-queue/-/tiny-queue-0.2.1.tgz";
+        sha1 = "25a67f2c6e253b2ca941977b5ef7442ef97a6046";
+      };
+    }
+    {
+      name = "tiny_warning___tiny_warning_1.0.3.tgz";
+      path = fetchurl {
+        name = "tiny_warning___tiny_warning_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz";
+        sha1 = "94a30db453df4c643d0fd566060d60a875d84754";
+      };
+    }
+    {
+      name = "tmpl___tmpl_1.0.4.tgz";
+      path = fetchurl {
+        name = "tmpl___tmpl_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz";
+        sha1 = "23640dd7b42d00433911140820e5cf440e521dd1";
+      };
+    }
+    {
+      name = "to_arraybuffer___to_arraybuffer_1.0.1.tgz";
+      path = fetchurl {
+        name = "to_arraybuffer___to_arraybuffer_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz";
+        sha1 = "7d229b1fcc637e466ca081180836a7aabff83f43";
+      };
+    }
+    {
+      name = "to_fast_properties___to_fast_properties_2.0.0.tgz";
+      path = fetchurl {
+        name = "to_fast_properties___to_fast_properties_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz";
+        sha1 = "dc5e698cbd079265bc73e0377681a4e4e83f616e";
+      };
+    }
+    {
+      name = "to_object_path___to_object_path_0.3.0.tgz";
+      path = fetchurl {
+        name = "to_object_path___to_object_path_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz";
+        sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af";
+      };
+    }
+    {
+      name = "to_regex_range___to_regex_range_2.1.1.tgz";
+      path = fetchurl {
+        name = "to_regex_range___to_regex_range_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz";
+        sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38";
+      };
+    }
+    {
+      name = "to_regex_range___to_regex_range_5.0.1.tgz";
+      path = fetchurl {
+        name = "to_regex_range___to_regex_range_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz";
+        sha1 = "1648c44aae7c8d988a326018ed72f5b4dd0392e4";
+      };
+    }
+    {
+      name = "to_regex___to_regex_3.0.2.tgz";
+      path = fetchurl {
+        name = "to_regex___to_regex_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz";
+        sha1 = "13cfdd9b336552f30b51f33a8ae1b42a7a7599ce";
+      };
+    }
+    {
+      name = "toidentifier___toidentifier_1.0.0.tgz";
+      path = fetchurl {
+        name = "toidentifier___toidentifier_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz";
+        sha1 = "7e1be3470f1e77948bc43d94a3c8f4d7752ba553";
+      };
+    }
+    {
+      name = "tough_cookie___tough_cookie_2.5.0.tgz";
+      path = fetchurl {
+        name = "tough_cookie___tough_cookie_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz";
+        sha1 = "cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2";
+      };
+    }
+    {
+      name = "tough_cookie___tough_cookie_3.0.1.tgz";
+      path = fetchurl {
+        name = "tough_cookie___tough_cookie_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz";
+        sha1 = "9df4f57e739c26930a018184887f4adb7dca73b2";
+      };
+    }
+    {
+      name = "tr46___tr46_2.0.2.tgz";
+      path = fetchurl {
+        name = "tr46___tr46_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz";
+        sha1 = "03273586def1595ae08fedb38d7733cee91d2479";
+      };
+    }
+    {
+      name = "ts_essentials___ts_essentials_2.0.12.tgz";
+      path = fetchurl {
+        name = "ts_essentials___ts_essentials_2.0.12.tgz";
+        url  = "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-2.0.12.tgz";
+        sha1 = "c9303f3d74f75fa7528c3d49b80e089ab09d8745";
+      };
+    }
+    {
+      name = "tsconfig_paths___tsconfig_paths_3.9.0.tgz";
+      path = fetchurl {
+        name = "tsconfig_paths___tsconfig_paths_3.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz";
+        sha1 = "098547a6c4448807e8fcb8eae081064ee9a3c90b";
+      };
+    }
+    {
+      name = "tslib___tslib_1.13.0.tgz";
+      path = fetchurl {
+        name = "tslib___tslib_1.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz";
+        sha1 = "c881e13cc7015894ed914862d276436fa9a47043";
+      };
+    }
+    {
+      name = "tty_browserify___tty_browserify_0.0.0.tgz";
+      path = fetchurl {
+        name = "tty_browserify___tty_browserify_0.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz";
+        sha1 = "a157ba402da24e9bf957f9aa69d524eed42901a6";
+      };
+    }
+    {
+      name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
+      path = fetchurl {
+        name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
+        sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
+      };
+    }
+    {
+      name = "tweetnacl___tweetnacl_0.14.5.tgz";
+      path = fetchurl {
+        name = "tweetnacl___tweetnacl_0.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz";
+        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
+      };
+    }
+    {
+      name = "type_check___type_check_0.4.0.tgz";
+      path = fetchurl {
+        name = "type_check___type_check_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz";
+        sha1 = "07b8203bfa7056c0657050e3ccd2c37730bab8f1";
+      };
+    }
+    {
+      name = "type_check___type_check_0.3.2.tgz";
+      path = fetchurl {
+        name = "type_check___type_check_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz";
+        sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72";
+      };
+    }
+    {
+      name = "type_detect___type_detect_4.0.8.tgz";
+      path = fetchurl {
+        name = "type_detect___type_detect_4.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz";
+        sha1 = "7646fb5f18871cfbb7749e69bd39a6388eb7450c";
+      };
+    }
+    {
+      name = "type_fest___type_fest_0.11.0.tgz";
+      path = fetchurl {
+        name = "type_fest___type_fest_0.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz";
+        sha1 = "97abf0872310fed88a5c466b25681576145e33f1";
+      };
+    }
+    {
+      name = "type_fest___type_fest_0.6.0.tgz";
+      path = fetchurl {
+        name = "type_fest___type_fest_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz";
+        sha1 = "8d2a2370d3df886eb5c90ada1c5bf6188acf838b";
+      };
+    }
+    {
+      name = "type_fest___type_fest_0.8.1.tgz";
+      path = fetchurl {
+        name = "type_fest___type_fest_0.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz";
+        sha1 = "09e249ebde851d3b1e48d27c105444667f17b83d";
+      };
+    }
+    {
+      name = "type_is___type_is_1.6.18.tgz";
+      path = fetchurl {
+        name = "type_is___type_is_1.6.18.tgz";
+        url  = "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz";
+        sha1 = "4e552cd05df09467dcbc4ef739de89f2cf37c131";
+      };
+    }
+    {
+      name = "type___type_1.2.0.tgz";
+      path = fetchurl {
+        name = "type___type_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz";
+        sha1 = "848dd7698dafa3e54a6c479e759c4bc3f18847a0";
+      };
+    }
+    {
+      name = "type___type_2.0.0.tgz";
+      path = fetchurl {
+        name = "type___type_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/type/-/type-2.0.0.tgz";
+        sha1 = "5f16ff6ef2eb44f260494dae271033b29c09a9c3";
+      };
+    }
+    {
+      name = "typedarray_to_buffer___typedarray_to_buffer_3.1.5.tgz";
+      path = fetchurl {
+        name = "typedarray_to_buffer___typedarray_to_buffer_3.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz";
+        sha1 = "a97ee7a9ff42691b9f783ff1bc5112fe3fca9080";
+      };
+    }
+    {
+      name = "typedarray___typedarray_0.0.6.tgz";
+      path = fetchurl {
+        name = "typedarray___typedarray_0.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz";
+        sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
+      };
+    }
+    {
+      name = "unicode_canonical_property_names_ecmascript___unicode_canonical_property_names_ecmascript_1.0.4.tgz";
+      path = fetchurl {
+        name = "unicode_canonical_property_names_ecmascript___unicode_canonical_property_names_ecmascript_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz";
+        sha1 = "2619800c4c825800efdd8343af7dd9933cbe2818";
+      };
+    }
+    {
+      name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_1.0.4.tgz";
+      path = fetchurl {
+        name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz";
+        sha1 = "8ed2a32569961bce9227d09cd3ffbb8fed5f020c";
+      };
+    }
+    {
+      name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.2.0.tgz";
+      path = fetchurl {
+        name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz";
+        sha1 = "0d91f600eeeb3096aa962b1d6fc88876e64ea531";
+      };
+    }
+    {
+      name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.1.0.tgz";
+      path = fetchurl {
+        name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz";
+        sha1 = "dd57a99f6207bedff4628abefb94c50db941c8f4";
+      };
+    }
+    {
+      name = "union_value___union_value_1.0.1.tgz";
+      path = fetchurl {
+        name = "union_value___union_value_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz";
+        sha1 = "0b6fe7b835aecda61c6ea4d4f02c14221e109847";
+      };
+    }
+    {
+      name = "uniq___uniq_1.0.1.tgz";
+      path = fetchurl {
+        name = "uniq___uniq_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz";
+        sha1 = "b31c5ae8254844a3a8281541ce2b04b865a734ff";
+      };
+    }
+    {
+      name = "uniqs___uniqs_2.0.0.tgz";
+      path = fetchurl {
+        name = "uniqs___uniqs_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz";
+        sha1 = "ffede4b36b25290696e6e165d4a59edb998e6b02";
+      };
+    }
+    {
+      name = "unique_filename___unique_filename_1.1.1.tgz";
+      path = fetchurl {
+        name = "unique_filename___unique_filename_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz";
+        sha1 = "1d69769369ada0583103a1e6ae87681b56573230";
+      };
+    }
+    {
+      name = "unique_slug___unique_slug_2.0.2.tgz";
+      path = fetchurl {
+        name = "unique_slug___unique_slug_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz";
+        sha1 = "baabce91083fc64e945b0f3ad613e264f7cd4e6c";
+      };
+    }
+    {
+      name = "universalify___universalify_0.1.2.tgz";
+      path = fetchurl {
+        name = "universalify___universalify_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz";
+        sha1 = "b646f69be3942dabcecc9d6639c80dc105efaa66";
+      };
+    }
+    {
+      name = "unpipe___unpipe_1.0.0.tgz";
+      path = fetchurl {
+        name = "unpipe___unpipe_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz";
+        sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
+      };
+    }
+    {
+      name = "unquote___unquote_1.1.1.tgz";
+      path = fetchurl {
+        name = "unquote___unquote_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz";
+        sha1 = "8fded7324ec6e88a0ff8b905e7c098cdc086d544";
+      };
+    }
+    {
+      name = "unset_value___unset_value_1.0.0.tgz";
+      path = fetchurl {
+        name = "unset_value___unset_value_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz";
+        sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559";
+      };
+    }
+    {
+      name = "upath___upath_1.2.0.tgz";
+      path = fetchurl {
+        name = "upath___upath_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz";
+        sha1 = "8f66dbcd55a883acdae4408af8b035a5044c1894";
+      };
+    }
+    {
+      name = "uri_js___uri_js_4.4.0.tgz";
+      path = fetchurl {
+        name = "uri_js___uri_js_4.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz";
+        sha1 = "aa714261de793e8a82347a7bcc9ce74e86f28602";
+      };
+    }
+    {
+      name = "urix___urix_0.1.0.tgz";
+      path = fetchurl {
+        name = "urix___urix_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz";
+        sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72";
+      };
+    }
+    {
+      name = "url_parse___url_parse_1.4.7.tgz";
+      path = fetchurl {
+        name = "url_parse___url_parse_1.4.7.tgz";
+        url  = "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz";
+        sha1 = "a8a83535e8c00a316e403a5db4ac1b9b853ae278";
+      };
+    }
+    {
+      name = "url___url_0.11.0.tgz";
+      path = fetchurl {
+        name = "url___url_0.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz";
+        sha1 = "3838e97cfc60521eb73c525a8e55bfdd9e2e28f1";
+      };
+    }
+    {
+      name = "use_composed_ref___use_composed_ref_1.0.0.tgz";
+      path = fetchurl {
+        name = "use_composed_ref___use_composed_ref_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.0.0.tgz";
+        sha1 = "bb13e8f4a0b873632cde4940abeb88b92d03023a";
+      };
+    }
+    {
+      name = "use_isomorphic_layout_effect___use_isomorphic_layout_effect_1.0.0.tgz";
+      path = fetchurl {
+        name = "use_isomorphic_layout_effect___use_isomorphic_layout_effect_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.0.0.tgz";
+        sha1 = "f56b4ed633e1c21cd9fc76fe249002a1c28989fb";
+      };
+    }
+    {
+      name = "use_latest___use_latest_1.1.0.tgz";
+      path = fetchurl {
+        name = "use_latest___use_latest_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/use-latest/-/use-latest-1.1.0.tgz";
+        sha1 = "7bf9684555869c3f5f37e10d0884c8accf4d3aa6";
+      };
+    }
+    {
+      name = "use___use_3.1.1.tgz";
+      path = fetchurl {
+        name = "use___use_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz";
+        sha1 = "d50c8cac79a19fbc20f2911f56eb973f4e10070f";
+      };
+    }
+    {
+      name = "user_home___user_home_2.0.0.tgz";
+      path = fetchurl {
+        name = "user_home___user_home_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz";
+        sha1 = "9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f";
+      };
+    }
+    {
+      name = "util_deprecate___util_deprecate_1.0.2.tgz";
+      path = fetchurl {
+        name = "util_deprecate___util_deprecate_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz";
+        sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+      };
+    }
+    {
+      name = "util.promisify___util.promisify_1.0.1.tgz";
+      path = fetchurl {
+        name = "util.promisify___util.promisify_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz";
+        sha1 = "6baf7774b80eeb0f7520d8b81d07982a59abbaee";
+      };
+    }
+    {
+      name = "util___util_0.10.3.tgz";
+      path = fetchurl {
+        name = "util___util_0.10.3.tgz";
+        url  = "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz";
+        sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
+      };
+    }
+    {
+      name = "util___util_0.10.4.tgz";
+      path = fetchurl {
+        name = "util___util_0.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz";
+        sha1 = "3aa0125bfe668a4672de58857d3ace27ecb76901";
+      };
+    }
+    {
+      name = "util___util_0.11.1.tgz";
+      path = fetchurl {
+        name = "util___util_0.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz";
+        sha1 = "3236733720ec64bb27f6e26f421aaa2e1b588d61";
+      };
+    }
+    {
+      name = "utils_merge___utils_merge_1.0.1.tgz";
+      path = fetchurl {
+        name = "utils_merge___utils_merge_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz";
+        sha1 = "9f95710f50a267947b2ccc124741c1028427e713";
+      };
+    }
+    {
+      name = "uuid___uuid_3.4.0.tgz";
+      path = fetchurl {
+        name = "uuid___uuid_3.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz";
+        sha1 = "b23e4358afa8a202fe7a100af1f5f883f02007ee";
+      };
+    }
+    {
+      name = "uuid___uuid_8.3.2.tgz";
+      path = fetchurl {
+        name = "uuid___uuid_8.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz";
+        sha1 = "80d5b5ced271bb9af6c445f21a1a04c606cefbe2";
+      };
+    }
+    {
+      name = "v8_compile_cache___v8_compile_cache_2.2.0.tgz";
+      path = fetchurl {
+        name = "v8_compile_cache___v8_compile_cache_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz";
+        sha1 = "9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132";
+      };
+    }
+    {
+      name = "v8_to_istanbul___v8_to_istanbul_7.0.0.tgz";
+      path = fetchurl {
+        name = "v8_to_istanbul___v8_to_istanbul_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.0.0.tgz";
+        sha1 = "b4fe00e35649ef7785a9b7fcebcea05f37c332fc";
+      };
+    }
+    {
+      name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz";
+      path = fetchurl {
+        name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz";
+        sha1 = "fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a";
+      };
+    }
+    {
+      name = "value_equal___value_equal_0.4.0.tgz";
+      path = fetchurl {
+        name = "value_equal___value_equal_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz";
+        sha1 = "c5bdd2f54ee093c04839d71ce2e4758a6890abc7";
+      };
+    }
+    {
+      name = "value_equal___value_equal_1.0.1.tgz";
+      path = fetchurl {
+        name = "value_equal___value_equal_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz";
+        sha1 = "1e0b794c734c5c0cade179c437d356d931a34d6c";
+      };
+    }
+    {
+      name = "vary___vary_1.1.2.tgz";
+      path = fetchurl {
+        name = "vary___vary_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz";
+        sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc";
+      };
+    }
+    {
+      name = "vendors___vendors_1.0.4.tgz";
+      path = fetchurl {
+        name = "vendors___vendors_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz";
+        sha1 = "e2b800a53e7a29b93506c3cf41100d16c4c4ad8e";
+      };
+    }
+    {
+      name = "verror___verror_1.10.0.tgz";
+      path = fetchurl {
+        name = "verror___verror_1.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz";
+        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
+      };
+    }
+    {
+      name = "vm_browserify___vm_browserify_1.1.2.tgz";
+      path = fetchurl {
+        name = "vm_browserify___vm_browserify_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz";
+        sha1 = "78641c488b8e6ca91a75f511e7a3b32a86e5dda0";
+      };
+    }
+    {
+      name = "w3c_hr_time___w3c_hr_time_1.0.2.tgz";
+      path = fetchurl {
+        name = "w3c_hr_time___w3c_hr_time_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz";
+        sha1 = "0a89cdf5cc15822df9c360543676963e0cc308cd";
+      };
+    }
+    {
+      name = "w3c_xmlserializer___w3c_xmlserializer_2.0.0.tgz";
+      path = fetchurl {
+        name = "w3c_xmlserializer___w3c_xmlserializer_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz";
+        sha1 = "3e7104a05b75146cc60f564380b7f683acf1020a";
+      };
+    }
+    {
+      name = "walker___walker_1.0.7.tgz";
+      path = fetchurl {
+        name = "walker___walker_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz";
+        sha1 = "2f7f9b8fd10d677262b18a884e28d19618e028fb";
+      };
+    }
+    {
+      name = "warning___warning_3.0.0.tgz";
+      path = fetchurl {
+        name = "warning___warning_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz";
+        sha1 = "32e5377cb572de4ab04753bdf8821c01ed605b7c";
+      };
+    }
+    {
+      name = "warning___warning_4.0.3.tgz";
+      path = fetchurl {
+        name = "warning___warning_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz";
+        sha1 = "16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3";
+      };
+    }
+    {
+      name = "watchpack_chokidar2___watchpack_chokidar2_2.0.0.tgz";
+      path = fetchurl {
+        name = "watchpack_chokidar2___watchpack_chokidar2_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz";
+        sha1 = "9948a1866cbbd6cb824dea13a7ed691f6c8ddff0";
+      };
+    }
+    {
+      name = "watchpack___watchpack_1.7.4.tgz";
+      path = fetchurl {
+        name = "watchpack___watchpack_1.7.4.tgz";
+        url  = "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.4.tgz";
+        sha1 = "6e9da53b3c80bb2d6508188f5b200410866cd30b";
+      };
+    }
+    {
+      name = "wbuf___wbuf_1.7.3.tgz";
+      path = fetchurl {
+        name = "wbuf___wbuf_1.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz";
+        sha1 = "c1d8d149316d3ea852848895cb6a0bfe887b87df";
+      };
+    }
+    {
+      name = "webidl_conversions___webidl_conversions_5.0.0.tgz";
+      path = fetchurl {
+        name = "webidl_conversions___webidl_conversions_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz";
+        sha1 = "ae59c8a00b121543a2acc65c0434f57b0fc11aff";
+      };
+    }
+    {
+      name = "webidl_conversions___webidl_conversions_6.1.0.tgz";
+      path = fetchurl {
+        name = "webidl_conversions___webidl_conversions_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz";
+        sha1 = "9111b4d7ea80acd40f5270d666621afa78b69514";
+      };
+    }
+    {
+      name = "webpack_assets_manifest___webpack_assets_manifest_3.1.1.tgz";
+      path = fetchurl {
+        name = "webpack_assets_manifest___webpack_assets_manifest_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-assets-manifest/-/webpack-assets-manifest-3.1.1.tgz";
+        sha1 = "39bbc3bf2ee57fcd8ba07cda51c9ba4a3c6ae1de";
+      };
+    }
+    {
+      name = "webpack_bundle_analyzer___webpack_bundle_analyzer_4.1.0.tgz";
+      path = fetchurl {
+        name = "webpack_bundle_analyzer___webpack_bundle_analyzer_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.1.0.tgz";
+        sha1 = "31f9e5e187ee32fae2392b21806582cc6fe74cf9";
+      };
+    }
+    {
+      name = "webpack_cli___webpack_cli_3.3.12.tgz";
+      path = fetchurl {
+        name = "webpack_cli___webpack_cli_3.3.12.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.12.tgz";
+        sha1 = "94e9ada081453cd0aa609c99e500012fd3ad2d4a";
+      };
+    }
+    {
+      name = "webpack_dev_middleware___webpack_dev_middleware_3.7.2.tgz";
+      path = fetchurl {
+        name = "webpack_dev_middleware___webpack_dev_middleware_3.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz";
+        sha1 = "0019c3db716e3fa5cecbf64f2ab88a74bab331f3";
+      };
+    }
+    {
+      name = "webpack_dev_server___webpack_dev_server_3.11.0.tgz";
+      path = fetchurl {
+        name = "webpack_dev_server___webpack_dev_server_3.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz";
+        sha1 = "8f154a3bce1bcfd1cc618ef4e703278855e7ff8c";
+      };
+    }
+    {
+      name = "webpack_log___webpack_log_2.0.0.tgz";
+      path = fetchurl {
+        name = "webpack_log___webpack_log_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz";
+        sha1 = "5b7928e0637593f119d32f6227c1e0ac31e1b47f";
+      };
+    }
+    {
+      name = "webpack_merge___webpack_merge_5.4.0.tgz";
+      path = fetchurl {
+        name = "webpack_merge___webpack_merge_5.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.4.0.tgz";
+        sha1 = "81bef0a7d23fc1e6c24b06ad8bf22ddeb533a3a3";
+      };
+    }
+    {
+      name = "webpack_sources___webpack_sources_1.4.3.tgz";
+      path = fetchurl {
+        name = "webpack_sources___webpack_sources_1.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz";
+        sha1 = "eedd8ec0b928fbf1cbfe994e22d2d890f330a933";
+      };
+    }
+    {
+      name = "webpack___webpack_4.44.2.tgz";
+      path = fetchurl {
+        name = "webpack___webpack_4.44.2.tgz";
+        url  = "https://registry.yarnpkg.com/webpack/-/webpack-4.44.2.tgz";
+        sha1 = "6bfe2b0af055c8b2d1e90ed2cd9363f841266b72";
+      };
+    }
+    {
+      name = "websocket_driver___websocket_driver_0.6.5.tgz";
+      path = fetchurl {
+        name = "websocket_driver___websocket_driver_0.6.5.tgz";
+        url  = "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz";
+        sha1 = "5cb2556ceb85f4373c6d8238aa691c8454e13a36";
+      };
+    }
+    {
+      name = "websocket_driver___websocket_driver_0.7.3.tgz";
+      path = fetchurl {
+        name = "websocket_driver___websocket_driver_0.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz";
+        sha1 = "a2d4e0d4f4f116f1e6297eba58b05d430100e9f9";
+      };
+    }
+    {
+      name = "websocket_extensions___websocket_extensions_0.1.4.tgz";
+      path = fetchurl {
+        name = "websocket_extensions___websocket_extensions_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz";
+        sha1 = "7f8473bc839dfd87608adb95d7eb075211578a42";
+      };
+    }
+    {
+      name = "whatwg_encoding___whatwg_encoding_1.0.5.tgz";
+      path = fetchurl {
+        name = "whatwg_encoding___whatwg_encoding_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz";
+        sha1 = "5abacf777c32166a51d085d6b4f3e7d27113ddb0";
+      };
+    }
+    {
+      name = "whatwg_mimetype___whatwg_mimetype_2.3.0.tgz";
+      path = fetchurl {
+        name = "whatwg_mimetype___whatwg_mimetype_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz";
+        sha1 = "3d4b1e0312d2079879f826aff18dbeeca5960fbf";
+      };
+    }
+    {
+      name = "whatwg_url___whatwg_url_8.2.2.tgz";
+      path = fetchurl {
+        name = "whatwg_url___whatwg_url_8.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.2.2.tgz";
+        sha1 = "85e7f9795108b53d554cec640b2e8aee2a0d4bfd";
+      };
+    }
+    {
+      name = "which_module___which_module_2.0.0.tgz";
+      path = fetchurl {
+        name = "which_module___which_module_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz";
+        sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
+      };
+    }
+    {
+      name = "which___which_1.3.1.tgz";
+      path = fetchurl {
+        name = "which___which_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz";
+        sha1 = "a45043d54f5805316da8d62f9f50918d3da70b0a";
+      };
+    }
+    {
+      name = "which___which_2.0.2.tgz";
+      path = fetchurl {
+        name = "which___which_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz";
+        sha1 = "7c6a8dd0a636a0327e10b59c9286eee93f3f51b1";
+      };
+    }
+    {
+      name = "wicg_inert___wicg_inert_3.1.0.tgz";
+      path = fetchurl {
+        name = "wicg_inert___wicg_inert_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/wicg-inert/-/wicg-inert-3.1.0.tgz";
+        sha1 = "6525f12db188b83f0051bed2ddcf6c1aa5b17590";
+      };
+    }
+    {
+      name = "wide_align___wide_align_1.1.3.tgz";
+      path = fetchurl {
+        name = "wide_align___wide_align_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz";
+        sha1 = "ae074e6bdc0c14a431e804e624549c633b000457";
+      };
+    }
+    {
+      name = "wildcard___wildcard_2.0.0.tgz";
+      path = fetchurl {
+        name = "wildcard___wildcard_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz";
+        sha1 = "a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec";
+      };
+    }
+    {
+      name = "word_wrap___word_wrap_1.2.3.tgz";
+      path = fetchurl {
+        name = "word_wrap___word_wrap_1.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz";
+        sha1 = "610636f6b1f703891bd34771ccb17fb93b47079c";
+      };
+    }
+    {
+      name = "worker_farm___worker_farm_1.7.0.tgz";
+      path = fetchurl {
+        name = "worker_farm___worker_farm_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz";
+        sha1 = "26a94c5391bbca926152002f69b84a4bf772e5a8";
+      };
+    }
+    {
+      name = "wrap_ansi___wrap_ansi_5.1.0.tgz";
+      path = fetchurl {
+        name = "wrap_ansi___wrap_ansi_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz";
+        sha1 = "1fd1f67235d5b6d0fee781056001bfb694c03b09";
+      };
+    }
+    {
+      name = "wrap_ansi___wrap_ansi_6.2.0.tgz";
+      path = fetchurl {
+        name = "wrap_ansi___wrap_ansi_6.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz";
+        sha1 = "e9393ba07102e6c91a3b221478f0257cd2856e53";
+      };
+    }
+    {
+      name = "wrap_ansi___wrap_ansi_7.0.0.tgz";
+      path = fetchurl {
+        name = "wrap_ansi___wrap_ansi_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz";
+        sha1 = "67e145cff510a6a6984bdf1152911d69d2eb9e43";
+      };
+    }
+    {
+      name = "wrappy___wrappy_1.0.2.tgz";
+      path = fetchurl {
+        name = "wrappy___wrappy_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz";
+        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+      };
+    }
+    {
+      name = "write_file_atomic___write_file_atomic_3.0.3.tgz";
+      path = fetchurl {
+        name = "write_file_atomic___write_file_atomic_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz";
+        sha1 = "56bd5c5a5c70481cd19c571bd39ab965a5de56e8";
+      };
+    }
+    {
+      name = "write___write_1.0.3.tgz";
+      path = fetchurl {
+        name = "write___write_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz";
+        sha1 = "0800e14523b923a387e415123c865616aae0f5c3";
+      };
+    }
+    {
+      name = "write___write_0.2.1.tgz";
+      path = fetchurl {
+        name = "write___write_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz";
+        sha1 = "5fc03828e264cea3fe91455476f7a3c566cb0757";
+      };
+    }
+    {
+      name = "ws___ws_6.2.1.tgz";
+      path = fetchurl {
+        name = "ws___ws_6.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz";
+        sha1 = "442fdf0a47ed64f59b6a5d8ff130f4748ed524fb";
+      };
+    }
+    {
+      name = "ws___ws_7.4.0.tgz";
+      path = fetchurl {
+        name = "ws___ws_7.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-7.4.0.tgz";
+        sha1 = "a5dd76a24197940d4a8bb9e0e152bb4503764da7";
+      };
+    }
+    {
+      name = "xml_name_validator___xml_name_validator_3.0.0.tgz";
+      path = fetchurl {
+        name = "xml_name_validator___xml_name_validator_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz";
+        sha1 = "6ae73e06de4d8c6e47f9fb181f78d648ad457c6a";
+      };
+    }
+    {
+      name = "xmlchars___xmlchars_2.2.0.tgz";
+      path = fetchurl {
+        name = "xmlchars___xmlchars_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz";
+        sha1 = "060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb";
+      };
+    }
+    {
+      name = "xtend___xtend_4.0.2.tgz";
+      path = fetchurl {
+        name = "xtend___xtend_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz";
+        sha1 = "bb72779f5fa465186b1f438f674fa347fdb5db54";
+      };
+    }
+    {
+      name = "y18n___y18n_4.0.0.tgz";
+      path = fetchurl {
+        name = "y18n___y18n_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz";
+        sha1 = "95ef94f85ecc81d007c264e190a120f0a3c8566b";
+      };
+    }
+    {
+      name = "y18n___y18n_5.0.5.tgz";
+      path = fetchurl {
+        name = "y18n___y18n_5.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz";
+        sha1 = "8769ec08d03b1ea2df2500acef561743bbb9ab18";
+      };
+    }
+    {
+      name = "yallist___yallist_3.1.1.tgz";
+      path = fetchurl {
+        name = "yallist___yallist_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz";
+        sha1 = "dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd";
+      };
+    }
+    {
+      name = "yallist___yallist_4.0.0.tgz";
+      path = fetchurl {
+        name = "yallist___yallist_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz";
+        sha1 = "9bb92790d9c0effec63be73519e11a35019a3a72";
+      };
+    }
+    {
+      name = "yaml___yaml_1.10.0.tgz";
+      path = fetchurl {
+        name = "yaml___yaml_1.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz";
+        sha1 = "3b593add944876077d4d683fee01081bd9fff31e";
+      };
+    }
+    {
+      name = "yargs_parser___yargs_parser_13.1.2.tgz";
+      path = fetchurl {
+        name = "yargs_parser___yargs_parser_13.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz";
+        sha1 = "130f09702ebaeef2650d54ce6e3e5706f7a4fb38";
+      };
+    }
+    {
+      name = "yargs_parser___yargs_parser_18.1.3.tgz";
+      path = fetchurl {
+        name = "yargs_parser___yargs_parser_18.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz";
+        sha1 = "be68c4975c6b2abf469236b0c870362fab09a7b0";
+      };
+    }
+    {
+      name = "yargs_parser___yargs_parser_20.2.3.tgz";
+      path = fetchurl {
+        name = "yargs_parser___yargs_parser_20.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.3.tgz";
+        sha1 = "92419ba867b858c868acf8bae9bf74af0dd0ce26";
+      };
+    }
+    {
+      name = "yargs___yargs_13.3.2.tgz";
+      path = fetchurl {
+        name = "yargs___yargs_13.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz";
+        sha1 = "ad7ffefec1aa59565ac915f82dccb38a9c31a2dd";
+      };
+    }
+    {
+      name = "yargs___yargs_15.4.1.tgz";
+      path = fetchurl {
+        name = "yargs___yargs_15.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz";
+        sha1 = "0d87a16de01aee9d8bec2bfbf74f67851730f4f8";
+      };
+    }
+    {
+      name = "yargs___yargs_16.1.1.tgz";
+      path = fetchurl {
+        name = "yargs___yargs_16.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-16.1.1.tgz";
+        sha1 = "5a4a095bd1ca806b0a50d0c03611d38034d219a1";
+      };
+    }
+    {
+      name = "zlibjs___zlibjs_0.3.1.tgz";
+      path = fetchurl {
+        name = "zlibjs___zlibjs_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/zlibjs/-/zlibjs-0.3.1.tgz";
+        sha1 = "50197edb28a1c42ca659cc8b4e6a9ddd6d444554";
+      };
+    }
+  ];
+}
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index f9d26da629731..29f2bad76ea90 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -12,11 +12,11 @@ let
 in
 buildPythonApplication rec {
   pname = "matrix-synapse";
-  version = "1.26.0";
+  version = "1.28.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1jppwqxamj3a65fw2a87brz4iqgijaa4lja51wlxh2xdkqj0sn6l";
+    sha256 = "sha256-KWEpgizOdil7dXIxug7xT3dEYEHi/IEPX/6aT7qW6C8=";
   };
 
   patches = [
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix b/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix
index 389b724a134fb..9d3b484a57147 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix
@@ -1,15 +1,21 @@
-{ pkgs, nodejs, stdenv, lib, ... }:
+{ pkgs, nodejs, stdenv, fetchFromGitHub, lib, ... }:
 
 let
-
-  packageName = with lib; concatStrings (map (entry: (concatStrings (mapAttrsToList (key: value: "${key}-${value}") entry))) (importJSON ./package.json));
+  src = fetchFromGitHub {
+    owner = "matrix-org";
+    repo = "matrix-appservice-slack";
+    rev = "1.4.0";
+    sha256 = "1xm75rgg7yrz40y2w1njiwfwz17a8wwlvr7a6zyxvkl8cqrgzp6d";
+  };
 
   nodePackages = import ./node-composition.nix {
     inherit pkgs nodejs;
     inherit (stdenv.hostPlatform) system;
   };
 in
-nodePackages."${packageName}".override {
+nodePackages.package.override {
+  inherit src;
+
   nativeBuildInputs = [ pkgs.makeWrapper ];
 
   postInstall = ''
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-slack/generate-dependencies.sh b/pkgs/servers/matrix-synapse/matrix-appservice-slack/generate-dependencies.sh
index fc89486cfbc05..a6a359876abd2 100644..100755
--- a/pkgs/servers/matrix-synapse/matrix-appservice-slack/generate-dependencies.sh
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-slack/generate-dependencies.sh
@@ -1,11 +1,17 @@
-#!/usr/bin/env bash
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p nodePackages.node2nix
 
-ROOT="$(realpath "$(dirname -- "$(readlink -f -- "${BASH_SOURCE[0]}")")"/../../../..)"
+# Download package.json and package-lock.json from the v1.4.0 release
+curl https://raw.githubusercontent.com/matrix-org/matrix-appservice-slack/9462a75715ea9afba23b757ec90554f10f457a96/package.json -o package.json
+curl https://raw.githubusercontent.com/matrix-org/matrix-appservice-slack/9462a75715ea9afba23b757ec90554f10f457a96/package-lock.json -o package-lock.json
 
-$(nix-build $ROOT -A  nodePackages.node2nix --no-out-link)/bin/node2nix \
+node2nix \
   --nodejs-12 \
   --node-env ../../../development/node-packages/node-env.nix \
   --development \
   --input package.json \
+  --lock package-lock.json \
   --output node-packages.nix \
-  --composition node-composition.nix
+  --composition node-composition.nix \
+
+rm -f package.json package-lock.json
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-composition.nix b/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-composition.nix
index f3a0d1a8f0448..e0d21f7d44d36 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-composition.nix
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-composition.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
@@ -6,12 +6,12 @@
 
 let
   nodeEnv = import ../../../development/node-packages/node-env.nix {
-    inherit (pkgs) lib stdenv python2 util-linux runCommand writeTextFile;
-    inherit nodejs;
+    inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
+    inherit pkgs nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
 import ./node-packages.nix {
-  inherit (pkgs) fetchurl fetchgit;
+  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
   inherit nodeEnv;
 }
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix b/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix
index a2045ee15f116..0b989d159ca91 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix
@@ -1,79 +1,70 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
 let
   sources = {
-    "@babel/code-frame-7.10.3" = {
+    "@babel/code-frame-7.8.3" = {
       name = "_at_babel_slash_code-frame";
       packageName = "@babel/code-frame";
-      version = "7.10.3";
+      version = "7.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz";
-        sha512 = "fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==";
+        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz";
+        sha512 = "a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==";
       };
     };
-    "@babel/helper-validator-identifier-7.10.3" = {
+    "@babel/helper-validator-identifier-7.9.0" = {
       name = "_at_babel_slash_helper-validator-identifier";
       packageName = "@babel/helper-validator-identifier";
-      version = "7.10.3";
+      version = "7.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz";
-        sha512 = "bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==";
+        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz";
+        sha512 = "6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw==";
       };
     };
-    "@babel/highlight-7.10.3" = {
+    "@babel/highlight-7.9.0" = {
       name = "_at_babel_slash_highlight";
       packageName = "@babel/highlight";
-      version = "7.10.3";
+      version = "7.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz";
-        sha512 = "Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==";
+        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz";
+        sha512 = "lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==";
       };
     };
-    "@dabh/diagnostics-2.0.2" = {
-      name = "_at_dabh_slash_diagnostics";
-      packageName = "@dabh/diagnostics";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz";
-        sha512 = "+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==";
-      };
-    };
-    "@slack/logger-1.1.1" = {
+    "@slack/logger-1.1.0" = {
       name = "_at_slack_slash_logger";
       packageName = "@slack/logger";
-      version = "1.1.1";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@slack/logger/-/logger-1.1.1.tgz";
-        sha512 = "PAC5CMnNAv/FPtJ0le+YD2wUV+tZ7n3Bnjj9dBI+deIcHsExCnQkQmZE79cLvfuYXbz3PWyv5coti30MJQhEjA==";
+        url = "https://registry.npmjs.org/@slack/logger/-/logger-1.1.0.tgz";
+        sha512 = "D3tabyLoUrsFy0w3koxaCVv+5ZJfIy+j0QW3PUq0XO3UiVuF5rtpAbqngAYVpeKnxPpqBjeth4XJ3tllKoW3aA==";
       };
     };
-    "@slack/rtm-api-5.0.5" = {
+    "@slack/rtm-api-5.0.3" = {
       name = "_at_slack_slash_rtm-api";
       packageName = "@slack/rtm-api";
-      version = "5.0.5";
+      version = "5.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@slack/rtm-api/-/rtm-api-5.0.5.tgz";
-        sha512 = "x2B4hyoxjg62cxf4M5QRomx+xYp2XoajPKdd24SM2Sl4m+IrzwKzmcrysQuYmF6BMsm3IoTKymW5BBGckHGTIw==";
+        url = "https://registry.npmjs.org/@slack/rtm-api/-/rtm-api-5.0.3.tgz";
+        sha512 = "rzNIFst8iuVYyHdE7e3KSrbAtIA7sfS4Pth9ObKUm5KDemX0zyI7YfAijO1kgr1EMriQkjlpKBhlNq9Y+aQr6g==";
       };
     };
-    "@slack/types-1.7.0" = {
+    "@slack/types-1.5.0" = {
       name = "_at_slack_slash_types";
       packageName = "@slack/types";
-      version = "1.7.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@slack/types/-/types-1.7.0.tgz";
-        sha512 = "aigLPmTO513JxeFyeII/74y+S5jU39tabDWPsZyMHJWCYqK3vCkRvV73NL+Ay+Tq5RC2NgSmkedk1wvQJ6oXLg==";
+        url = "https://registry.npmjs.org/@slack/types/-/types-1.5.0.tgz";
+        sha512 = "oCYgatJYxHf9wE3tKXzOLeeTsF0ghX1TIcguNfVmO2V6NDe+cHAzZRglEOmJLdRINDS5gscAgSkeZpDhpKBeUA==";
       };
     };
-    "@slack/web-api-5.10.0" = {
+    "@slack/web-api-5.8.0" = {
       name = "_at_slack_slash_web-api";
       packageName = "@slack/web-api";
-      version = "5.10.0";
+      version = "5.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@slack/web-api/-/web-api-5.10.0.tgz";
-        sha512 = "t8c2lcSrdX8LIUOS1RvslbBBKvuNaTtbEcrWai4yDGkiNIxzhk+dHPcJzd7A4A0DkAgiEwXeezR7RCELuG8WgQ==";
+        url = "https://registry.npmjs.org/@slack/web-api/-/web-api-5.8.0.tgz";
+        sha512 = "lUMFM9jtdn+9Q0kHLegf5RjIgQlmb1PGWwWdTsc9mQ8PJu2BogI5ZttG8/tA6r2bX/C4bgXhd0JJ4syUR0AAhQ==";
       };
     };
     "@types/body-parser-1.19.0" = {
@@ -112,22 +103,31 @@ let
         sha512 = "2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==";
       };
     };
-    "@types/express-4.17.6" = {
+    "@types/events-3.0.0" = {
+      name = "_at_types_slash_events";
+      packageName = "@types/events";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz";
+        sha512 = "EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==";
+      };
+    };
+    "@types/express-4.17.3" = {
       name = "_at_types_slash_express";
       packageName = "@types/express";
-      version = "4.17.6";
+      version = "4.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express/-/express-4.17.6.tgz";
-        sha512 = "n/mr9tZI83kd4azlPG5y997C/M4DNABK9yErhFM6hKdym4kkmd9j0vtsJyjFIwfRBxtrxZtAfGZCNRIBMFLK5w==";
+        url = "https://registry.npmjs.org/@types/express/-/express-4.17.3.tgz";
+        sha512 = "I8cGRJj3pyOLs/HndoP+25vOqhqWkAZsWMEmq1qXy/b/M3ppufecUwaK2/TVDVxcV61/iSdhykUjQQ2DLSrTdg==";
       };
     };
-    "@types/express-serve-static-core-4.17.7" = {
+    "@types/express-serve-static-core-4.17.3" = {
       name = "_at_types_slash_express-serve-static-core";
       packageName = "@types/express-serve-static-core";
-      version = "4.17.7";
+      version = "4.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.7.tgz";
-        sha512 = "EMgTj/DF9qpgLXyc+Btimg+XoH7A2liE8uKul8qSmMTHCeNYzydDKFdsJskDvw42UsesCnhO63dO0Grbj8J4Dw==";
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.3.tgz";
+        sha512 = "sHEsvEzjqN+zLbqP+8OXTipc10yH1QLR+hnr5uw29gi9AhCAAAdri8ClNV7iMdrJrIzXIQtlkPvq8tJGhj3QJQ==";
       };
     };
     "@types/is-stream-1.1.0" = {
@@ -139,13 +139,13 @@ let
         sha512 = "jkZatu4QVbR60mpIzjINmtS1ZF4a/FqdTUTBeQDVOQ2PYyidtwFKr0B5G6ERukKwliq+7mIXvxyppwzG5EgRYg==";
       };
     };
-    "@types/mime-2.0.2" = {
+    "@types/mime-2.0.1" = {
       name = "_at_types_slash_mime";
       packageName = "@types/mime";
-      version = "2.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/mime/-/mime-2.0.2.tgz";
-        sha512 = "4kPlzbljFcsttWEq6aBW0OZe6BDajAmyvr2xknBG92tejQnvdGtT9+kXSZ580DqpxY9qG2xeQVF9Dq0ymUTo5Q==";
+        url = "https://registry.npmjs.org/@types/mime/-/mime-2.0.1.tgz";
+        sha512 = "FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw==";
       };
     };
     "@types/mocha-7.0.2" = {
@@ -172,7 +172,7 @@ let
       version = "13.9.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/@types/node/-/node-13.9.3.tgz";
-        sha512 = "28ci34pqk99zkrqa473xlzfms3j6nj4nl2i69ghpbjvw2mh68bd0nd2shb78i09gng4d0fj65l2njrqbdjzmhqix4fvqyiarrlkwnyk";
+        sha512 = "01s+ac4qerwd6RHD+mVbOEsraDHSgUaefQlEdBbUolnQFjKwCr7luvAlEwW1RFojh67u0z4OUTjPn9LEl4zIkA==";
       };
     };
     "@types/node-emoji-1.8.1" = {
@@ -202,15 +202,6 @@ let
         sha512 = "eKAv5Ql6k78dh3ULCsSBxX6bFNuGjTmof5Q/T6PiECDq0Yf8IIn46jCyp3RJvCi8owaEmm3DZH1PEImjBMd/vQ==";
       };
     };
-    "@types/qs-6.9.3" = {
-      name = "_at_types_slash_qs";
-      packageName = "@types/qs";
-      version = "6.9.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/qs/-/qs-6.9.3.tgz";
-        sha512 = "7s9EQWupR1fTc2pSMtXRQ9w9gLOcrJn+h7HOXw4evxyvVqMi4f+q7d2tnFe3ng3SNHjtK+0EzGMGFUQX4/AQRA==";
-      };
-    };
     "@types/randomstring-1.1.6" = {
       name = "_at_types_slash_randomstring";
       packageName = "@types/randomstring";
@@ -229,13 +220,13 @@ let
         sha512 = "ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==";
       };
     };
-    "@types/request-2.48.5" = {
+    "@types/request-2.48.4" = {
       name = "_at_types_slash_request";
       packageName = "@types/request";
-      version = "2.48.5";
+      version = "2.48.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/request/-/request-2.48.5.tgz";
-        sha512 = "/LO7xRVnL3DxJ1WkPGDQrp4VTV1reX9RkC85mJ+Qzykj2Bdw+mG15aAfDahc76HtknjzE16SX/Yddn6MxVbmGQ==";
+        url = "https://registry.npmjs.org/@types/request/-/request-2.48.4.tgz";
+        sha512 = "W1t1MTKYR8PxICH+A4HgEIPuAC3sbljoEVfyZbeFJJDbr30guDspJri2XOaM2E+Un7ZjrihaDi7cf6fPa2tbgw==";
       };
     };
     "@types/request-promise-native-1.0.17" = {
@@ -256,66 +247,66 @@ let
         sha512 = "wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==";
       };
     };
-    "@types/serve-static-1.13.4" = {
+    "@types/serve-static-1.13.3" = {
       name = "_at_types_slash_serve-static";
       packageName = "@types/serve-static";
-      version = "1.13.4";
+      version = "1.13.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.4.tgz";
-        sha512 = "jTDt0o/YbpNwZbQmE/+2e+lfjJEJJR0I3OFaKQKPWkASkCoW3i6fsUnqudSMcNAfbtmADGu8f4MV4q+GqULmug==";
+        url = "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.3.tgz";
+        sha512 = "oprSwp094zOglVrXdlo/4bAHtKTAxX6VT8FOZlBKrmyLbNvE1zxZyJ6yikMVtHIvwP45+ZQGJn+FdXGKTozq0g==";
       };
     };
-    "@types/tough-cookie-4.0.0" = {
+    "@types/tough-cookie-2.3.6" = {
       name = "_at_types_slash_tough-cookie";
       packageName = "@types/tough-cookie";
-      version = "4.0.0";
+      version = "2.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.0.tgz";
-        sha512 = "I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A==";
+        url = "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.6.tgz";
+        sha512 = "wHNBMnkoEBiRAd3s8KTKwIuO9biFtTf0LehITzBhSco+HQI0xkXZbLOD55SW3Aqw3oUkHstkm5SPv58yaAdFPQ==";
       };
     };
-    "@types/uuid-7.0.4" = {
+    "@types/uuid-7.0.2" = {
       name = "_at_types_slash_uuid";
       packageName = "@types/uuid";
-      version = "7.0.4";
+      version = "7.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/uuid/-/uuid-7.0.4.tgz";
-        sha512 = "WGZCqBZZ0mXN2RxvLHL6/7RCu+OWs28jgQMP04LWfpyJlQUMTR6YU9CNJAKDgbw+EV/u687INXuLUc7FuML/4g==";
+        url = "https://registry.npmjs.org/@types/uuid/-/uuid-7.0.2.tgz";
+        sha512 = "8Ly3zIPTnT0/8RCU6Kg/G3uTICf9sRwYOpUzSIM3503tLIKcnJPRuinHhXngJUy2MntrEf6dlpOHXJju90Qh5w==";
       };
     };
-    "@types/ws-7.2.5" = {
+    "@types/ws-5.1.2" = {
       name = "_at_types_slash_ws";
       packageName = "@types/ws";
-      version = "7.2.5";
+      version = "5.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/ws/-/ws-7.2.5.tgz";
-        sha512 = "4UEih9BI1nBKii385G9id1oFrSkLcClbwtDfcYj8HJLQqZVAtb/42vXVrYvRWCcufNF/a+rZD3MxNwghA7UmCg==";
+        url = "https://registry.npmjs.org/@types/ws/-/ws-5.1.2.tgz";
+        sha512 = "NkTXUKTYdXdnPE2aUUbGOXE1XfMK527SCvU/9bj86kyFF6kZ9ZnOQ3mK5jADn98Y2vEUD/7wKDgZa7Qst2wYOg==";
       };
     };
-    "@types/yargs-13.0.9" = {
+    "@types/yargs-13.0.0" = {
       name = "_at_types_slash_yargs";
       packageName = "@types/yargs";
-      version = "13.0.9";
+      version = "13.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.9.tgz";
-        sha512 = "xrvhZ4DZewMDhoH1utLtOAwYQy60eYFoXeje30TzM3VOvQlBwQaEpKFq5m34k1wOw2AKIi2pwtiAjdmhvlBUzg==";
+        url = "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.0.tgz";
+        sha512 = "hY0o+kcz9M6kH32NUeb6VURghqMuCVkiUx+8Btsqhj4Hhov/hVGUx9DmBJeIkzlp1uAQK4wngQBCjqWdUUkFyA==";
       };
     };
-    "@types/yargs-parser-13.1.0" = {
+    "@types/yargs-parser-13.0.0" = {
       name = "_at_types_slash_yargs-parser";
       packageName = "@types/yargs-parser";
-      version = "13.1.0";
+      version = "13.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-13.1.0.tgz";
-        sha512 = "gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg==";
+        url = "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-13.0.0.tgz";
+        sha512 = "wBlsw+8n21e6eTd4yVv8YD/E3xq0O6nNnJIquutAsFGE7EyMKz7W6RNT6BRu1SmdgmlCZ9tb0X+j+D6HGr8pZw==";
       };
     };
-    "Slackdown-git://github.com/Half-Shot/slackdown#efd8934a3d9c3bf0064c0b217c5cf6b62ee697e4" = {
+    "Slackdown-git://github.com/half-shot/slackdown#efd8934a3d9c3bf0064c0b217c5cf6b62ee697e4" = {
       name = "Slackdown";
       packageName = "Slackdown";
       version = "0.1.2";
       src = fetchgit {
-        url = "git://github.com/Half-Shot/slackdown";
+        url = "git://github.com/half-shot/slackdown";
         rev = "efd8934a3d9c3bf0064c0b217c5cf6b62ee697e4";
         sha256 = "474e972819b3e1db3af70be75966a3d501c6b9285f4550ff5548193e031eaf9b";
       };
@@ -347,13 +338,13 @@ let
         sha512 = "Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==";
       };
     };
-    "ajv-6.12.2" = {
+    "ajv-6.10.2" = {
       name = "ajv";
       packageName = "ajv";
-      version = "6.12.2";
+      version = "6.10.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz";
-        sha512 = "k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==";
+        url = "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz";
+        sha512 = "TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==";
       };
     };
     "another-json-0.2.0" = {
@@ -500,13 +491,13 @@ let
         sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
       };
     };
-    "async-3.2.0" = {
+    "async-2.6.2" = {
       name = "async";
       packageName = "async";
-      version = "3.2.0";
+      version = "2.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async/-/async-3.2.0.tgz";
-        sha512 = "TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==";
+        url = "https://registry.npmjs.org/async/-/async-2.6.2.tgz";
+        sha512 = "H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==";
       };
     };
     "async-limiter-1.0.1" = {
@@ -536,13 +527,13 @@ let
         sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
       };
     };
-    "aws4-1.10.0" = {
+    "aws4-1.9.0" = {
       name = "aws4";
       packageName = "aws4";
-      version = "1.10.0";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz";
-        sha512 = "3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==";
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz";
+        sha512 = "Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==";
       };
     };
     "axios-0.19.2" = {
@@ -788,15 +779,6 @@ let
         sha512 = "dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==";
       };
     };
-    "chokidar-3.4.0" = {
-      name = "chokidar";
-      packageName = "chokidar";
-      version = "3.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz";
-        sha512 = "aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==";
-      };
-    };
     "cliui-5.0.0" = {
       name = "cliui";
       packageName = "cliui";
@@ -842,13 +824,22 @@ let
         sha512 = "dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==";
       };
     };
-    "colors-1.4.0" = {
+    "colornames-1.1.1" = {
+      name = "colornames";
+      packageName = "colornames";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz";
+        sha1 = "f8889030685c7c4ff9e2a559f5077eb76a816f96";
+      };
+    };
+    "colors-1.3.3" = {
       name = "colors";
       packageName = "colors";
-      version = "1.4.0";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz";
-        sha512 = "a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==";
+        url = "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz";
+        sha512 = "mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==";
       };
     };
     "colorspace-1.1.2" = {
@@ -950,6 +941,15 @@ let
         sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
       };
     };
+    "cross-spawn-6.0.5" = {
+      name = "cross-spawn";
+      packageName = "cross-spawn";
+      version = "6.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz";
+        sha512 = "eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==";
+      };
+    };
     "cycle-1.0.3" = {
       name = "cycle";
       packageName = "cycle";
@@ -1040,15 +1040,6 @@ let
         sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
       };
     };
-    "depd-2.0.0" = {
-      name = "depd";
-      packageName = "depd";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz";
-        sha512 = "g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==";
-      };
-    };
     "destroy-1.0.4" = {
       name = "destroy";
       packageName = "destroy";
@@ -1058,6 +1049,15 @@ let
         sha1 = "978857442c44749e4206613e37946205826abd80";
       };
     };
+    "diagnostics-1.1.1" = {
+      name = "diagnostics";
+      packageName = "diagnostics";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.1.tgz";
+        sha512 = "8wn1PmdunLJ9Tqbx+Fx/ZEuHfJf4NKSN2ZBj7SJC/OWRWha843+WsTjqMe1B5E3p28jqBlp+mJ2fPVxPyNgYKQ==";
+      };
+    };
     "diff-3.5.0" = {
       name = "diff";
       packageName = "diff";
@@ -1103,13 +1103,13 @@ let
         sha512 = "CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==";
       };
     };
-    "enabled-2.0.0" = {
+    "enabled-1.0.2" = {
       name = "enabled";
       packageName = "enabled";
-      version = "2.0.0";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz";
-        sha512 = "AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==";
+        url = "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz";
+        sha1 = "965f6513d2c2d1c5f4652b64a2e3396467fc2f93";
       };
     };
     "encodeurl-1.0.2" = {
@@ -1121,13 +1121,31 @@ let
         sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
       };
     };
-    "es-abstract-1.17.6" = {
+    "end-of-stream-1.4.1" = {
+      name = "end-of-stream";
+      packageName = "end-of-stream";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz";
+        sha512 = "1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==";
+      };
+    };
+    "env-variable-0.0.5" = {
+      name = "env-variable";
+      packageName = "env-variable";
+      version = "0.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/env-variable/-/env-variable-0.0.5.tgz";
+        sha512 = "zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA==";
+      };
+    };
+    "es-abstract-1.17.5" = {
       name = "es-abstract";
       packageName = "es-abstract";
-      version = "1.17.6";
+      version = "1.17.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz";
-        sha512 = "Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==";
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz";
+        sha512 = "BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==";
       };
     };
     "es-to-primitive-1.2.1" = {
@@ -1193,13 +1211,22 @@ let
         sha512 = "tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==";
       };
     };
-    "eventemitter3-4.0.4" = {
+    "eventemitter3-4.0.0" = {
       name = "eventemitter3";
       packageName = "eventemitter3";
-      version = "4.0.4";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz";
+        sha512 = "qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==";
+      };
+    };
+    "execa-1.0.0" = {
+      name = "execa";
+      packageName = "execa";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz";
-        sha512 = "rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==";
+        url = "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz";
+        sha512 = "adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==";
       };
     };
     "express-4.17.1" = {
@@ -1229,31 +1256,31 @@ let
         sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
       };
     };
-    "fast-deep-equal-3.1.3" = {
+    "fast-deep-equal-2.0.1" = {
       name = "fast-deep-equal";
       packageName = "fast-deep-equal";
-      version = "3.1.3";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz";
-        sha512 = "f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==";
+        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz";
+        sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
       };
     };
-    "fast-json-stable-stringify-2.1.0" = {
+    "fast-json-stable-stringify-2.0.0" = {
       name = "fast-json-stable-stringify";
       packageName = "fast-json-stable-stringify";
-      version = "2.1.0";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
-        sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==";
+        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
+        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
       };
     };
-    "fast-safe-stringify-2.0.7" = {
+    "fast-safe-stringify-2.0.6" = {
       name = "fast-safe-stringify";
       packageName = "fast-safe-stringify";
-      version = "2.0.7";
+      version = "2.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz";
-        sha512 = "Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==";
+        url = "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.6.tgz";
+        sha512 = "q8BZ89jjc+mz08rSxROs8VsrBBcn1SIw1kq9NjolL509tkABRk9io01RAjSaEv1Xb2uFLt8VtRiZbGp5H8iDtg==";
       };
     };
     "fecha-2.3.3" = {
@@ -1265,15 +1292,6 @@ let
         sha512 = "lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg==";
       };
     };
-    "fecha-4.2.0" = {
-      name = "fecha";
-      packageName = "fecha";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fecha/-/fecha-4.2.0.tgz";
-        sha512 = "aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg==";
-      };
-    };
     "file-stream-rotator-0.4.1" = {
       name = "file-stream-rotator";
       packageName = "file-stream-rotator";
@@ -1328,15 +1346,6 @@ let
         sha512 = "Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==";
       };
     };
-    "fn.name-1.1.0" = {
-      name = "fn.name";
-      packageName = "fn.name";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz";
-        sha512 = "GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==";
-      };
-    };
     "follow-redirects-1.5.10" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
@@ -1400,13 +1409,13 @@ let
         sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
       };
     };
-    "fsevents-2.1.3" = {
+    "fsevents-2.1.2" = {
       name = "fsevents";
       packageName = "fsevents";
-      version = "2.1.3";
+      version = "2.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz";
-        sha512 = "Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==";
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz";
+        sha512 = "R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==";
       };
     };
     "function-bind-1.1.1" = {
@@ -1454,6 +1463,15 @@ let
         sha1 = "ead774abee72e20409433a066366023dd6887a41";
       };
     };
+    "get-stream-4.1.0" = {
+      name = "get-stream";
+      packageName = "get-stream";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz";
+        sha512 = "GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==";
+      };
+    };
     "getpass-0.1.7" = {
       name = "getpass";
       packageName = "getpass";
@@ -1598,13 +1616,22 @@ let
         sha1 = "633c2c83e3da42a502f52466022480f4208261de";
       };
     };
-    "ipaddr.js-1.9.1" = {
+    "invert-kv-2.0.0" = {
+      name = "invert-kv";
+      packageName = "invert-kv";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz";
+        sha512 = "wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==";
+      };
+    };
+    "ipaddr.js-1.9.0" = {
       name = "ipaddr.js";
       packageName = "ipaddr.js";
-      version = "1.9.1";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz";
-        sha512 = "0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==";
+        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz";
+        sha512 = "M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==";
       };
     };
     "is-arrayish-0.3.2" = {
@@ -1634,13 +1661,13 @@ let
         sha512 = "Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==";
       };
     };
-    "is-callable-1.2.0" = {
+    "is-callable-1.1.5" = {
       name = "is-callable";
       packageName = "is-callable";
-      version = "1.2.0";
+      version = "1.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz";
-        sha512 = "pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==";
+        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz";
+        sha512 = "ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==";
       };
     };
     "is-date-object-1.0.2" = {
@@ -1715,13 +1742,13 @@ let
         sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84";
       };
     };
-    "is-regex-1.1.0" = {
+    "is-regex-1.0.5" = {
       name = "is-regex";
       packageName = "is-regex";
-      version = "1.1.0";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz";
-        sha512 = "iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==";
+        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz";
+        sha512 = "vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==";
       };
     };
     "is-stream-1.1.0" = {
@@ -1733,15 +1760,6 @@ let
         sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
       };
     };
-    "is-stream-2.0.0" = {
-      name = "is-stream";
-      packageName = "is-stream";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz";
-        sha512 = "XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==";
-      };
-    };
     "is-symbol-1.0.3" = {
       name = "is-symbol";
       packageName = "is-symbol";
@@ -1805,15 +1823,6 @@ let
         sha512 = "YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==";
       };
     };
-    "js-yaml-3.14.0" = {
-      name = "js-yaml";
-      packageName = "js-yaml";
-      version = "3.14.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz";
-        sha512 = "/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==";
-      };
-    };
     "jsbn-0.1.1" = {
       name = "jsbn";
       packageName = "jsbn";
@@ -1868,13 +1877,22 @@ let
         sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
       };
     };
-    "kuler-2.0.0" = {
+    "kuler-1.0.1" = {
       name = "kuler";
       packageName = "kuler";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kuler/-/kuler-1.0.1.tgz";
+        sha512 = "J9nVUucG1p/skKul6DU3PUZrhs0LPulNaeUOox0IyXDi8S4CztTHs1gQphhuZmzXG7VOQSf6NJfKuzteQLv9gQ==";
+      };
+    };
+    "lcid-2.0.0" = {
+      name = "lcid";
+      packageName = "lcid";
       version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz";
-        sha512 = "Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==";
+        url = "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz";
+        sha512 = "avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==";
       };
     };
     "lie-3.1.1" = {
@@ -1886,13 +1904,13 @@ let
         sha1 = "9a436b2cc7746ca59de7a41fa469b3efb76bd87e";
       };
     };
-    "localforage-1.7.4" = {
+    "localforage-1.7.3" = {
       name = "localforage";
       packageName = "localforage";
-      version = "1.7.4";
+      version = "1.7.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/localforage/-/localforage-1.7.4.tgz";
-        sha512 = "3EmVZatmNVeCo/t6Te7P06h2alGwbq8wXlSkcSXMvDE2/edPmsVqTPlzGnZaqwZZDBs6v+kxWpqjVsqsNJT8jA==";
+        url = "https://registry.npmjs.org/localforage/-/localforage-1.7.3.tgz";
+        sha512 = "1TulyYfc4udS7ECSBT2vwJksWbkwwTX8BzeUIiq8Y07Riy7bDAAnxDaPU/tWyOVmQAcWJIEIFP9lPfBGqVoPgQ==";
       };
     };
     "locate-path-3.0.0" = {
@@ -1940,13 +1958,13 @@ let
         sha512 = "em5ojIhU18fIMOw/333mD+ZLE2fis0EzXl1ZwHx4iQzmpQi6odNiY/t+ITNr33JZhT9/KEaH+UPIipr6a9EjWg==";
       };
     };
-    "logform-2.2.0" = {
+    "logform-2.1.2" = {
       name = "logform";
       packageName = "logform";
-      version = "2.2.0";
+      version = "2.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/logform/-/logform-2.2.0.tgz";
-        sha512 = "N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg==";
+        url = "https://registry.npmjs.org/logform/-/logform-2.1.2.tgz";
+        sha512 = "+lZh4OpERDBLqjiwDLpAWNQu6KMjnlXH2ByZwCuSqVPJletw0kTWJf5CgSNAUKn1KUkv3m2cUz/LK8zyEy7wzQ==";
       };
     };
     "loglevel-1.6.8" = {
@@ -1967,6 +1985,15 @@ let
         sha512 = "s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==";
       };
     };
+    "map-age-cleaner-0.1.3" = {
+      name = "map-age-cleaner";
+      packageName = "map-age-cleaner";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz";
+        sha512 = "bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==";
+      };
+    };
     "matrix-appservice-0.4.1" = {
       name = "matrix-appservice";
       packageName = "matrix-appservice";
@@ -2003,6 +2030,15 @@ let
         sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
       };
     };
+    "mem-4.3.0" = {
+      name = "mem";
+      packageName = "mem";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz";
+        sha512 = "qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==";
+      };
+    };
     "merge-descriptors-1.0.1" = {
       name = "merge-descriptors";
       packageName = "merge-descriptors";
@@ -2030,22 +2066,31 @@ let
         sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
       };
     };
-    "mime-db-1.44.0" = {
+    "mime-db-1.40.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.44.0";
+      version = "1.40.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz";
-        sha512 = "/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz";
+        sha512 = "jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==";
       };
     };
-    "mime-types-2.1.27" = {
+    "mime-types-2.1.24" = {
       name = "mime-types";
       packageName = "mime-types";
-      version = "2.1.27";
+      version = "2.1.24";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz";
-        sha512 = "JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz";
+        sha512 = "WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==";
+      };
+    };
+    "mimic-fn-2.1.0" = {
+      name = "mimic-fn";
+      packageName = "mimic-fn";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz";
+        sha512 = "OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==";
       };
     };
     "minimatch-3.0.4" = {
@@ -2066,6 +2111,15 @@ let
         sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==";
       };
     };
+    "mkdirp-0.5.3" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz";
+        sha512 = "P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==";
+      };
+    };
     "mkdirp-0.5.5" = {
       name = "mkdirp";
       packageName = "mkdirp";
@@ -2075,31 +2129,31 @@ let
         sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==";
       };
     };
-    "mocha-7.2.0" = {
+    "mocha-7.1.1" = {
       name = "mocha";
       packageName = "mocha";
-      version = "7.2.0";
+      version = "7.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz";
-        sha512 = "O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==";
+        url = "https://registry.npmjs.org/mocha/-/mocha-7.1.1.tgz";
+        sha512 = "3qQsu3ijNS3GkWcccT5Zw0hf/rWvu1fTN9sPvEd81hlwsr30GX2GcDSSoBxo24IR8FelmrAydGC6/1J5QQP4WA==";
       };
     };
-    "moment-2.27.0" = {
+    "moment-2.24.0" = {
       name = "moment";
       packageName = "moment";
-      version = "2.27.0";
+      version = "2.24.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/moment/-/moment-2.27.0.tgz";
-        sha512 = "al0MUK7cpIcglMv3YF13qSgdAIqxHTO7brRtaz3DlSULbqfazqkc5kEjNrLDOM7fsjshoFIihnU8snrP7zUvhQ==";
+        url = "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz";
+        sha512 = "bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==";
       };
     };
-    "morgan-1.10.0" = {
+    "morgan-1.9.1" = {
       name = "morgan";
       packageName = "morgan";
-      version = "1.10.0";
+      version = "1.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz";
-        sha512 = "AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==";
+        url = "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz";
+        sha512 = "HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==";
       };
     };
     "ms-2.0.0" = {
@@ -2147,6 +2201,15 @@ let
         sha512 = "hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==";
       };
     };
+    "nice-try-1.0.5" = {
+      name = "nice-try";
+      packageName = "nice-try";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz";
+        sha512 = "1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==";
+      };
+    };
     "node-emoji-1.10.0" = {
       name = "node-emoji";
       packageName = "node-emoji";
@@ -2183,6 +2246,15 @@ let
         sha512 = "6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==";
       };
     };
+    "npm-run-path-2.0.2" = {
+      name = "npm-run-path";
+      packageName = "npm-run-path";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz";
+        sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
+      };
+    };
     "nunjucks-3.2.1" = {
       name = "nunjucks";
       packageName = "nunjucks";
@@ -2210,13 +2282,13 @@ let
         sha512 = "OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==";
       };
     };
-    "object-inspect-1.8.0" = {
+    "object-inspect-1.7.0" = {
       name = "object-inspect";
       packageName = "object-inspect";
-      version = "1.8.0";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz";
-        sha512 = "jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==";
+        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz";
+        sha512 = "a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==";
       };
     };
     "object-keys-1.1.1" = {
@@ -2273,13 +2345,22 @@ let
         sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
       };
     };
-    "one-time-1.0.0" = {
+    "one-time-0.0.4" = {
       name = "one-time";
       packageName = "one-time";
-      version = "1.0.0";
+      version = "0.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz";
-        sha512 = "5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==";
+        url = "https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz";
+        sha1 = "f8cdf77884826fe4dff93e3a9cc37b1e4480742e";
+      };
+    };
+    "os-locale-3.1.0" = {
+      name = "os-locale";
+      packageName = "os-locale";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz";
+        sha512 = "Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==";
       };
     };
     "p-cancelable-1.1.0" = {
@@ -2291,6 +2372,15 @@ let
         sha512 = "s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==";
       };
     };
+    "p-defer-1.0.0" = {
+      name = "p-defer";
+      packageName = "p-defer";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz";
+        sha1 = "9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c";
+      };
+    };
     "p-finally-1.0.0" = {
       name = "p-finally";
       packageName = "p-finally";
@@ -2300,13 +2390,22 @@ let
         sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
       };
     };
-    "p-limit-2.3.0" = {
+    "p-is-promise-2.1.0" = {
+      name = "p-is-promise";
+      packageName = "p-is-promise";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz";
+        sha512 = "Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==";
+      };
+    };
+    "p-limit-2.2.0" = {
       name = "p-limit";
       packageName = "p-limit";
-      version = "2.3.0";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz";
-        sha512 = "//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==";
+        url = "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz";
+        sha512 = "pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==";
       };
     };
     "p-locate-3.0.0" = {
@@ -2327,13 +2426,13 @@ let
         sha512 = "n8/y+yDJwBjoLQe1GSJbbaYQLTI7QHNZI2+rpmCDbe++WLf9HC3gf6iqj5yfPAV71W4UF3ql5W1+UBPXoXTxng==";
       };
     };
-    "p-queue-6.4.0" = {
+    "p-queue-6.3.0" = {
       name = "p-queue";
       packageName = "p-queue";
-      version = "6.4.0";
+      version = "6.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-queue/-/p-queue-6.4.0.tgz";
-        sha512 = "X7ddxxiQ+bLR/CUt3/BVKrGcJDNxBr0pEEFKHHB6vTPWNUhgDv36GpIH18RmGM3YGPpBT+JWGjDDqsVGuF0ERw==";
+        url = "https://registry.npmjs.org/p-queue/-/p-queue-6.3.0.tgz";
+        sha512 = "fg5dJlFpd5+3CgG3/0ogpVZUeJbjiyXFg0nu53hrOYsybqSiDyxyOpad0Rm6tAiGjgztAwkyvhlYHC53OiAJOA==";
       };
     };
     "p-retry-4.2.0" = {
@@ -2399,6 +2498,15 @@ let
         sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
       };
     };
+    "path-key-2.0.1" = {
+      name = "path-key";
+      packageName = "path-key";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz";
+        sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
+      };
+    };
     "path-parse-1.0.6" = {
       name = "path-parse";
       packageName = "path-parse";
@@ -2435,22 +2543,22 @@ let
         sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
       };
     };
-    "pg-8.2.1" = {
+    "pg-8.1.0" = {
       name = "pg";
       packageName = "pg";
-      version = "8.2.1";
+      version = "8.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg/-/pg-8.2.1.tgz";
-        sha512 = "DKzffhpkWRr9jx7vKxA+ur79KG+SKw+PdjMb1IRhMiKI9zqYUGczwFprqy+5Veh/DCcFs1Y6V8lRLN5I1DlleQ==";
+        url = "https://registry.npmjs.org/pg/-/pg-8.1.0.tgz";
+        sha512 = "Jp+XSNTGYDztc2FgIbmBXeeYMR7kKjfgnl3R+ioO6rkcxDmaea+YPp/gaxe13PBnJAFYyEGl0ixpwPm2gb6eUw==";
       };
     };
-    "pg-connection-string-2.2.3" = {
+    "pg-connection-string-2.2.2" = {
       name = "pg-connection-string";
       packageName = "pg-connection-string";
-      version = "2.2.3";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.2.3.tgz";
-        sha512 = "I/KCSQGmOrZx6sMHXkOs2MjddrYcqpza3Dtsy0AjIgBr/bZiPJRK9WhABXN1Uy1UDazRbi9gZEzO2sAhL5EqiQ==";
+        url = "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.2.2.tgz";
+        sha512 = "+hel4DGuSZCjCZwglAuyi+XlodHnKmrbyTw0hVWlmGN2o4AfJDkDo5obAFzblS5M5PFBMx0uDt5Y1QjlNC+tqg==";
       };
     };
     "pg-int8-1.0.1" = {
@@ -2462,40 +2570,40 @@ let
         sha512 = "WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==";
       };
     };
-    "pg-minify-1.6.1" = {
+    "pg-minify-1.6.0" = {
       name = "pg-minify";
       packageName = "pg-minify";
-      version = "1.6.1";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg-minify/-/pg-minify-1.6.1.tgz";
-        sha512 = "ujanxJJB9CSDUvlAOshtjdKAywOPR2vY0a7D+vvgk5rbrYcthZA7TjpN+Z+UwZsz/G/bUexYDT6huE33vYVN0g==";
+        url = "https://registry.npmjs.org/pg-minify/-/pg-minify-1.6.0.tgz";
+        sha512 = "5Yxduh9Hul9Xev6uI3rSCypPk1kI7vI03ZPu5lgerrhiZ7QLj1Zd92SU2ZyalHVztlWnnPMnTZ+SeXJwh3eY9g==";
       };
     };
-    "pg-pool-3.2.1" = {
+    "pg-pool-3.2.0" = {
       name = "pg-pool";
       packageName = "pg-pool";
-      version = "3.2.1";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg-pool/-/pg-pool-3.2.1.tgz";
-        sha512 = "BQDPWUeKenVrMMDN9opfns/kZo4lxmSWhIqo+cSAF7+lfi9ZclQbr9vfnlNaPr8wYF3UYjm5X0yPAhbcgqNOdA==";
+        url = "https://registry.npmjs.org/pg-pool/-/pg-pool-3.2.0.tgz";
+        sha512 = "7BLwDNDEfPFjE9vmZLcJPLFwuDAVGZ5lIZo2MeQfwYG7EPGfdNVis/dz6obI/yKqvQIx2sf6QBKXMLB+y/ftgA==";
       };
     };
-    "pg-promise-10.5.7" = {
+    "pg-promise-10.5.5" = {
       name = "pg-promise";
       packageName = "pg-promise";
-      version = "10.5.7";
+      version = "10.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg-promise/-/pg-promise-10.5.7.tgz";
-        sha512 = "feCpn4J4MsNnR5Ve3fpbIlmbohwRirvZEI1Dcy72zwKvIKKRHPk7TJZFQHP4YQhaZ3sT3VGgg0o1/I+uhht/1g==";
+        url = "https://registry.npmjs.org/pg-promise/-/pg-promise-10.5.5.tgz";
+        sha512 = "Ec2g5bN3uMD0wk65kNEgJbZOcyhQ0S37Gn9gAa78U9V7HcdTfMdpTRSRIFT0LHXpL1EcT00CW62+2Z4wAXs29A==";
       };
     };
-    "pg-protocol-1.2.4" = {
+    "pg-protocol-1.2.3" = {
       name = "pg-protocol";
       packageName = "pg-protocol";
-      version = "1.2.4";
+      version = "1.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.2.4.tgz";
-        sha512 = "/8L/G+vW/VhWjTGXpGh8XVkXOFx1ZDY+Yuz//Ab8CfjInzFkreI+fDG3WjCeSra7fIZwAFxzbGptNbm8xSXenw==";
+        url = "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.2.3.tgz";
+        sha512 = "erHFURS0mPmTbq18cn/zNL3Y4IzNCrU4sgCim0qy7zAPe3Vc0rvK5cImJR6lDvIaz3fJU2R1R9FNOlnUtyF10Q==";
       };
     };
     "pg-types-2.2.0" = {
@@ -2579,22 +2687,40 @@ let
         sha512 = "iz22FmTbtkyL2vt0MdDFY+kWof+S9UB/NACxSn2aJcewtw+EERsen0urSkZ2WrHseNdydsvcxCTAnPcSMZZv4Q==";
       };
     };
-    "proxy-addr-2.0.6" = {
+    "proxy-addr-2.0.5" = {
       name = "proxy-addr";
       packageName = "proxy-addr";
-      version = "2.0.6";
+      version = "2.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz";
-        sha512 = "dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==";
+        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz";
+        sha512 = "t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==";
       };
     };
-    "psl-1.8.0" = {
+    "psl-1.1.33" = {
       name = "psl";
       packageName = "psl";
-      version = "1.8.0";
+      version = "1.1.33";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/psl/-/psl-1.1.33.tgz";
+        sha512 = "LTDP2uSrsc7XCb5lO7A8BI1qYxRe/8EqlRvMeEl6rsnYAqDOl8xHR+8lSAIVfrNaSAlTPTNOCgNjWcoUL3AZsw==";
+      };
+    };
+    "pump-3.0.0" = {
+      name = "pump";
+      packageName = "pump";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz";
+        sha512 = "LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==";
+      };
+    };
+    "punycode-1.4.1" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz";
-        sha512 = "RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==";
+        url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
+        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
       };
     };
     "punycode-2.1.1" = {
@@ -2624,13 +2750,13 @@ let
         sha512 = "VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==";
       };
     };
-    "quick-lru-5.1.1" = {
+    "quick-lru-5.0.0" = {
       name = "quick-lru";
       packageName = "quick-lru";
-      version = "5.1.1";
+      version = "5.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz";
-        sha512 = "WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==";
+        url = "https://registry.npmjs.org/quick-lru/-/quick-lru-5.0.0.tgz";
+        sha512 = "iNjBLSxM3byM7z8a1MB/Oa+AAeopX4NqKEj/ykgKRi1R4AFXNINR4DSjyjDzXzjqjN9+OBQGfK5w5CAnCtV7jg==";
       };
     };
     "randomstring-1.1.5" = {
@@ -2660,22 +2786,22 @@ let
         sha512 = "4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==";
       };
     };
-    "readable-stream-2.3.7" = {
+    "readable-stream-2.3.6" = {
       name = "readable-stream";
       packageName = "readable-stream";
-      version = "2.3.7";
+      version = "2.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz";
-        sha512 = "Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==";
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz";
+        sha512 = "tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==";
       };
     };
-    "readable-stream-3.6.0" = {
+    "readable-stream-3.4.0" = {
       name = "readable-stream";
       packageName = "readable-stream";
-      version = "3.6.0";
+      version = "3.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz";
-        sha512 = "BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==";
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz";
+        sha512 = "jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==";
       };
     };
     "readdirp-3.2.0" = {
@@ -2687,15 +2813,6 @@ let
         sha512 = "crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==";
       };
     };
-    "readdirp-3.4.0" = {
-      name = "readdirp";
-      packageName = "readdirp";
-      version = "3.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz";
-        sha512 = "0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==";
-      };
-    };
     "regenerator-runtime-0.11.1" = {
       name = "regenerator-runtime";
       packageName = "regenerator-runtime";
@@ -2705,13 +2822,13 @@ let
         sha512 = "MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==";
       };
     };
-    "request-2.88.2" = {
+    "request-2.88.0" = {
       name = "request";
       packageName = "request";
-      version = "2.88.2";
+      version = "2.88.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request/-/request-2.88.2.tgz";
-        sha512 = "MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==";
+        url = "https://registry.npmjs.org/request/-/request-2.88.0.tgz";
+        sha512 = "NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==";
       };
     };
     "request-promise-core-1.1.3" = {
@@ -2750,13 +2867,13 @@ let
         sha512 = "NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==";
       };
     };
-    "resolve-1.17.0" = {
+    "resolve-1.15.1" = {
       name = "resolve";
       packageName = "resolve";
-      version = "1.17.0";
+      version = "1.15.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz";
-        sha512 = "ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==";
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz";
+        sha512 = "84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==";
       };
     };
     "retry-0.12.0" = {
@@ -2777,15 +2894,6 @@ let
         sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
       };
     };
-    "safe-buffer-5.2.1" = {
-      name = "safe-buffer";
-      packageName = "safe-buffer";
-      version = "5.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz";
-        sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==";
-      };
-    };
     "safer-buffer-2.1.2" = {
       name = "safer-buffer";
       packageName = "safer-buffer";
@@ -2804,22 +2912,13 @@ let
         sha1 = "c7a07158a80bedd052355b770d82d6640f803be7";
       };
     };
-    "semver-5.7.1" = {
-      name = "semver";
-      packageName = "semver";
-      version = "5.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz";
-        sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==";
-      };
-    };
-    "semver-6.3.0" = {
+    "semver-5.7.0" = {
       name = "semver";
       packageName = "semver";
-      version = "6.3.0";
+      version = "5.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz";
-        sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
+        url = "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz";
+        sha512 = "Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==";
       };
     };
     "send-0.17.1" = {
@@ -2858,6 +2957,33 @@ let
         sha512 = "JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==";
       };
     };
+    "shebang-command-1.2.0" = {
+      name = "shebang-command";
+      packageName = "shebang-command";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz";
+        sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
+      };
+    };
+    "shebang-regex-1.0.0" = {
+      name = "shebang-regex";
+      packageName = "shebang-regex";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz";
+        sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3";
+      };
+    };
+    "signal-exit-3.0.2" = {
+      name = "signal-exit";
+      packageName = "signal-exit";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz";
+        sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
+      };
+    };
     "simple-swizzle-0.2.2" = {
       name = "simple-swizzle";
       packageName = "simple-swizzle";
@@ -2876,13 +3002,13 @@ let
         sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
       };
     };
-    "source-map-support-0.5.19" = {
+    "source-map-support-0.5.16" = {
       name = "source-map-support";
       packageName = "source-map-support";
-      version = "0.5.19";
+      version = "0.5.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz";
-        sha512 = "Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==";
+        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz";
+        sha512 = "efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==";
       };
     };
     "spex-3.0.1" = {
@@ -2966,22 +3092,22 @@ let
         sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==";
       };
     };
-    "string.prototype.trimend-1.0.1" = {
-      name = "string.prototype.trimend";
-      packageName = "string.prototype.trimend";
-      version = "1.0.1";
+    "string.prototype.trimleft-2.1.1" = {
+      name = "string.prototype.trimleft";
+      packageName = "string.prototype.trimleft";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz";
-        sha512 = "LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==";
+        url = "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz";
+        sha512 = "iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==";
       };
     };
-    "string.prototype.trimstart-1.0.1" = {
-      name = "string.prototype.trimstart";
-      packageName = "string.prototype.trimstart";
-      version = "1.0.1";
+    "string.prototype.trimright-2.1.1" = {
+      name = "string.prototype.trimright";
+      packageName = "string.prototype.trimright";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz";
-        sha512 = "XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==";
+        url = "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz";
+        sha512 = "qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==";
       };
     };
     "string_decoder-1.1.1" = {
@@ -2993,13 +3119,13 @@ let
         sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==";
       };
     };
-    "string_decoder-1.3.0" = {
+    "string_decoder-1.2.0" = {
       name = "string_decoder";
       packageName = "string_decoder";
-      version = "1.3.0";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz";
-        sha512 = "hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==";
+        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz";
+        sha512 = "6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==";
       };
     };
     "strip-ansi-4.0.0" = {
@@ -3020,6 +3146,15 @@ let
         sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==";
       };
     };
+    "strip-eof-1.0.0" = {
+      name = "strip-eof";
+      packageName = "strip-eof";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz";
+        sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf";
+      };
+    };
     "strip-json-comments-2.0.1" = {
       name = "strip-json-comments";
       packageName = "strip-json-comments";
@@ -3092,13 +3227,13 @@ let
         sha512 = "yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==";
       };
     };
-    "tough-cookie-2.5.0" = {
+    "tough-cookie-2.4.3" = {
       name = "tough-cookie";
       packageName = "tough-cookie";
-      version = "2.5.0";
+      version = "2.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz";
-        sha512 = "nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==";
+        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz";
+        sha512 = "Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==";
       };
     };
     "triple-beam-1.3.0" = {
@@ -3110,31 +3245,31 @@ let
         sha512 = "XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==";
       };
     };
-    "ts-node-8.10.2" = {
+    "ts-node-8.8.1" = {
       name = "ts-node";
       packageName = "ts-node";
-      version = "8.10.2";
+      version = "8.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz";
-        sha512 = "ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==";
+        url = "https://registry.npmjs.org/ts-node/-/ts-node-8.8.1.tgz";
+        sha512 = "10DE9ONho06QORKAaCBpPiFCdW+tZJuY/84tyypGtl6r+/C7Asq0dhqbRZURuUlLQtZxxDvT8eoj8cGW0ha6Bg==";
       };
     };
-    "tslib-1.13.0" = {
+    "tslib-1.11.1" = {
       name = "tslib";
       packageName = "tslib";
-      version = "1.13.0";
+      version = "1.11.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz";
-        sha512 = "i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==";
+        url = "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz";
+        sha512 = "aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==";
       };
     };
-    "tslint-6.1.2" = {
+    "tslint-6.1.0" = {
       name = "tslint";
       packageName = "tslint";
-      version = "6.1.2";
+      version = "6.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tslint/-/tslint-6.1.2.tgz";
-        sha512 = "UyNrLdK3E0fQG/xWNqAFAC5ugtFyPO4JJR1KyyfQAyzR8W0fTRrC91A8Wej4BntFzcvETdCSDa/4PnNYJQLYiA==";
+        url = "https://registry.npmjs.org/tslint/-/tslint-6.1.0.tgz";
+        sha512 = "fXjYd/61vU6da04E505OZQGb2VCN2Mq3doeWcOIryuG+eqdmFUXTYVwdhnbEu2k46LNLgUYt9bI5icQze/j0bQ==";
       };
     };
     "tsutils-2.29.0" = {
@@ -3182,13 +3317,13 @@ let
         sha512 = "TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==";
       };
     };
-    "typescript-3.9.5" = {
+    "typescript-3.8.3" = {
       name = "typescript";
       packageName = "typescript";
-      version = "3.9.5";
+      version = "3.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-3.9.5.tgz";
-        sha512 = "hSAifV3k+i6lEoCJ2k6R2Z/rp/H3+8sdmcn5NrS3/3kE7+RyZXm9aqvxWqjEXHAd8b0pShatpcdMTvEdvAJltQ==";
+        url = "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz";
+        sha512 = "MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==";
       };
     };
     "underscore-1.4.4" = {
@@ -3200,13 +3335,13 @@ let
         sha1 = "61a6a32010622afa07963bf325203cf12239d604";
       };
     };
-    "unhomoglyph-1.0.6" = {
+    "unhomoglyph-1.0.5" = {
       name = "unhomoglyph";
       packageName = "unhomoglyph";
-      version = "1.0.6";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unhomoglyph/-/unhomoglyph-1.0.6.tgz";
-        sha512 = "7uvcWI3hWshSADBu4JpnyYbTVc7YlhF5GDW/oPD5AxIxl34k4wXR3WDkPnzLxkN32LiTCTKMQLtKVZiwki3zGg==";
+        url = "https://registry.npmjs.org/unhomoglyph/-/unhomoglyph-1.0.5.tgz";
+        sha512 = "rNAw2rGogjq4BVhsCX8K6qXrCcHmUaMCHETlUG0ujGZ3OHwnzJHwdMyzy3n/c9Y7lvlbckOd9nkW33grUVE3bg==";
       };
     };
     "unpipe-1.0.0" = {
@@ -3254,13 +3389,13 @@ let
         sha512 = "HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==";
       };
     };
-    "uuid-7.0.3" = {
+    "uuid-7.0.2" = {
       name = "uuid";
       packageName = "uuid";
-      version = "7.0.3";
+      version = "7.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz";
-        sha512 = "DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==";
+        url = "https://registry.npmjs.org/uuid/-/uuid-7.0.2.tgz";
+        sha512 = "vy9V/+pKG+5ZTYKf+VcphF5Oc6EFiu3W8Nv3P3zIh0EqVI80ZxOzuPfe9EHjkFNvf8+xuTHVeei4Drydlx4zjw==";
       };
     };
     "vary-1.1.2" = {
@@ -3308,40 +3443,40 @@ let
         sha512 = "QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==";
       };
     };
-    "winston-3.3.2" = {
+    "winston-3.2.1" = {
       name = "winston";
       packageName = "winston";
-      version = "3.3.2";
+      version = "3.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston/-/winston-3.3.2.tgz";
-        sha512 = "vTOrUZlyQPS8VpCcQ1JT8BumDAUe4awCHZ9nmGgO7LqkV4atj0dKa5suA7Trf7QKtBszE2yUs9d8744Kz9j4jQ==";
+        url = "https://registry.npmjs.org/winston/-/winston-3.2.1.tgz";
+        sha512 = "zU6vgnS9dAWCEKg/QYigd6cgMVVNwyTzKs81XZtTFuRwJOcDdBg7AU0mXVyNbs7O5RH2zdv+BdNZUlx7mXPuOw==";
       };
     };
-    "winston-compat-0.1.5" = {
+    "winston-compat-0.1.4" = {
       name = "winston-compat";
       packageName = "winston-compat";
-      version = "0.1.5";
+      version = "0.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston-compat/-/winston-compat-0.1.5.tgz";
-        sha512 = "EPvPcHT604AV3Ji6d3+vX8ENKIml9VSxMRnPQ+cuK/FX6f3hvPP2hxyoeeCOCFvDrJEujalfcKWlWPvAnFyS9g==";
+        url = "https://registry.npmjs.org/winston-compat/-/winston-compat-0.1.4.tgz";
+        sha512 = "mMEfFsSm6GmkFF+f4/0UJtG4N1vSaczGmXLVJYmS/+u2zUaIPcw2ZRuwUg2TvVBjswgiraN+vNnAG8z4fRUZ4w==";
       };
     };
-    "winston-daily-rotate-file-3.10.0" = {
+    "winston-daily-rotate-file-3.9.0" = {
       name = "winston-daily-rotate-file";
       packageName = "winston-daily-rotate-file";
-      version = "3.10.0";
+      version = "3.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston-daily-rotate-file/-/winston-daily-rotate-file-3.10.0.tgz";
-        sha512 = "KO8CfbI2CvdR3PaFApEH02GPXiwJ+vbkF1mCkTlvRIoXFI8EFlf1ACcuaahXTEiDEKCii6cNe95gsL4ZkbnphA==";
+        url = "https://registry.npmjs.org/winston-daily-rotate-file/-/winston-daily-rotate-file-3.9.0.tgz";
+        sha512 = "KicvoaLQapqjSDSCIUKik0dDb90vFkqx1/udUiAt6iOqAtBl2qBCrpSDNy3xp7WnT6xHCKAWEEp2XILtiN+zpQ==";
       };
     };
-    "winston-transport-4.4.0" = {
+    "winston-transport-4.3.0" = {
       name = "winston-transport";
       packageName = "winston-transport";
-      version = "4.4.0";
+      version = "4.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz";
-        sha512 = "Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==";
+        url = "https://registry.npmjs.org/winston-transport/-/winston-transport-4.3.0.tgz";
+        sha512 = "B2wPuwUi3vhzn/51Uukcao4dIduEiPOcOt9HJ3QeaXgkJ5Z7UwpBzxS4ZGNHtrxrUvTwemsQiSys0ihOf8Mp1A==";
       };
     };
     "wrap-ansi-5.1.0" = {
@@ -3371,13 +3506,13 @@ let
         sha512 = "jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==";
       };
     };
-    "xtend-4.0.2" = {
+    "xtend-4.0.1" = {
       name = "xtend";
       packageName = "xtend";
-      version = "4.0.2";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz";
-        sha512 = "LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==";
+        url = "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz";
+        sha1 = "a5c6d532be656e23db820efb943a1f04998d63af";
       };
     };
     "y18n-4.0.0" = {
@@ -3389,6 +3524,15 @@ let
         sha512 = "r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==";
       };
     };
+    "yargs-13.2.4" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "13.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz";
+        sha512 = "HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==";
+      };
+    };
     "yargs-13.3.2" = {
       name = "yargs";
       packageName = "yargs";
@@ -3398,6 +3542,15 @@ let
         sha512 = "AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==";
       };
     };
+    "yargs-parser-13.1.1" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "13.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz";
+        sha512 = "oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==";
+      };
+    };
     "yargs-parser-13.1.2" = {
       name = "yargs-parser";
       packageName = "yargs-parser";
@@ -3426,31 +3579,25 @@ let
       };
     };
   };
-in
-{
-  "matrix-appservice-slack-git+https://github.com/matrix-org/matrix-appservice-slack.git#1.4.0" = nodeEnv.buildNodePackage {
+  args = {
     name = "matrix-appservice-slack";
     packageName = "matrix-appservice-slack";
     version = "1.4.0";
-    src = fetchgit {
-      url = "https://github.com/matrix-org/matrix-appservice-slack.git";
-      rev = "933c3a64fdff42ebc11e5385f588f981e201897d";
-      sha256 = "cddcff326688ceddfd37eae44d3947ea84cf1d8fd2062e3c203ffbf35e2ea7f6";
-    };
+    src = ./.;
     dependencies = [
-      sources."@babel/code-frame-7.10.3"
-      sources."@babel/helper-validator-identifier-7.10.3"
-      sources."@babel/highlight-7.10.3"
-      sources."@dabh/diagnostics-2.0.2"
-      sources."@slack/logger-1.1.1"
-      (sources."@slack/rtm-api-5.0.5" // {
+      sources."@babel/code-frame-7.8.3"
+      sources."@babel/helper-validator-identifier-7.9.0"
+      sources."@babel/highlight-7.9.0"
+      sources."@slack/logger-1.1.0"
+      (sources."@slack/rtm-api-5.0.3" // {
         dependencies = [
           sources."p-queue-2.4.2"
         ];
       })
-      sources."@slack/types-1.7.0"
-      (sources."@slack/web-api-5.10.0" // {
+      sources."@slack/types-1.5.0"
+      (sources."@slack/web-api-5.8.0" // {
         dependencies = [
+          sources."form-data-2.5.1"
           sources."p-queue-2.4.2"
         ];
       })
@@ -3458,33 +3605,37 @@ in
       sources."@types/caseless-0.12.2"
       sources."@types/chai-4.2.11"
       sources."@types/connect-3.4.33"
-      sources."@types/express-4.17.6"
-      sources."@types/express-serve-static-core-4.17.7"
+      sources."@types/events-3.0.0"
+      sources."@types/express-4.17.3"
+      sources."@types/express-serve-static-core-4.17.3"
       sources."@types/is-stream-1.1.0"
-      sources."@types/mime-2.0.2"
+      sources."@types/mime-2.0.1"
       sources."@types/mocha-7.0.2"
       sources."@types/nedb-1.8.9"
       sources."@types/node-13.9.3"
       sources."@types/node-emoji-1.8.1"
       sources."@types/nunjucks-3.1.3"
       sources."@types/p-queue-2.3.2"
-      sources."@types/qs-6.9.3"
       sources."@types/randomstring-1.1.6"
       sources."@types/range-parser-1.2.3"
-      sources."@types/request-2.48.5"
+      (sources."@types/request-2.48.4" // {
+        dependencies = [
+          sources."form-data-2.5.1"
+        ];
+      })
       sources."@types/request-promise-native-1.0.17"
       sources."@types/retry-0.12.0"
-      sources."@types/serve-static-1.13.4"
-      sources."@types/tough-cookie-4.0.0"
-      sources."@types/uuid-7.0.4"
-      sources."@types/ws-7.2.5"
-      sources."@types/yargs-13.0.9"
-      sources."@types/yargs-parser-13.1.0"
-      sources."Slackdown-git://github.com/Half-Shot/slackdown#efd8934a3d9c3bf0064c0b217c5cf6b62ee697e4"
+      sources."@types/serve-static-1.13.3"
+      sources."@types/tough-cookie-2.3.6"
+      sources."@types/uuid-7.0.2"
+      sources."@types/ws-5.1.2"
+      sources."@types/yargs-13.0.0"
+      sources."@types/yargs-parser-13.0.0"
+      sources."Slackdown-git://github.com/half-shot/slackdown#efd8934a3d9c3bf0064c0b217c5cf6b62ee697e4"
       sources."a-sync-waterfall-1.0.1"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.7"
-      sources."ajv-6.12.2"
+      sources."ajv-6.10.2"
       sources."another-json-0.2.0"
       sources."ansi-colors-3.2.3"
       sources."ansi-regex-4.1.0"
@@ -3503,7 +3654,7 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.10.0"
+      sources."aws4-1.9.0"
       sources."axios-0.19.2"
       sources."babel-runtime-6.26.0"
       sources."balanced-match-1.0.0"
@@ -3514,11 +3665,7 @@ in
       sources."binary-search-tree-0.2.5"
       sources."bintrees-1.0.1"
       sources."bluebird-2.11.0"
-      (sources."body-parser-1.19.0" // {
-        dependencies = [
-          sources."debug-2.6.9"
-        ];
-      })
+      sources."body-parser-1.19.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."browser-request-0.3.3"
@@ -3537,16 +3684,17 @@ in
         ];
       })
       sources."check-error-1.0.2"
-      sources."chokidar-3.4.0"
+      sources."chokidar-3.3.0"
       sources."cliui-5.0.0"
       sources."color-3.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."color-string-1.5.3"
-      sources."colors-1.4.0"
+      sources."colornames-1.1.1"
+      sources."colors-1.3.3"
       sources."colorspace-1.1.2"
       sources."combined-stream-1.0.8"
-      sources."commander-3.0.2"
+      sources."commander-2.20.3"
       sources."concat-map-0.0.1"
       sources."content-disposition-0.5.3"
       sources."content-type-1.0.4"
@@ -3554,62 +3702,63 @@ in
       sources."cookie-signature-1.0.6"
       sources."core-js-2.6.11"
       sources."core-util-is-1.0.2"
+      sources."cross-spawn-6.0.5"
       sources."cycle-1.0.3"
       sources."dashdash-1.14.1"
-      sources."debug-3.1.0"
+      sources."debug-2.6.9"
       sources."decamelize-1.2.0"
       sources."deep-eql-3.0.1"
       sources."define-properties-1.1.3"
       sources."delayed-stream-1.0.0"
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
+      sources."diagnostics-1.1.1"
       sources."diff-3.5.0"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."emoji-regex-7.0.3"
-      sources."enabled-2.0.0"
+      sources."enabled-1.0.2"
       sources."encodeurl-1.0.2"
-      sources."es-abstract-1.17.6"
+      sources."end-of-stream-1.4.1"
+      sources."env-variable-0.0.5"
+      sources."es-abstract-1.17.5"
       sources."es-to-primitive-1.2.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-2.0.0"
       sources."esprima-4.0.1"
       sources."etag-1.8.1"
       sources."eventemitter3-3.1.2"
-      (sources."express-4.17.1" // {
-        dependencies = [
-          sources."debug-2.6.9"
-        ];
-      })
+      sources."execa-1.0.0"
+      sources."express-4.17.1"
       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."fast-safe-stringify-2.0.7"
-      sources."fecha-4.2.0"
+      sources."fast-deep-equal-2.0.1"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-safe-stringify-2.0.6"
+      sources."fecha-2.3.3"
       sources."file-stream-rotator-0.4.1"
       sources."fill-range-7.0.1"
-      (sources."finalhandler-1.1.2" // {
-        dependencies = [
-          sources."debug-2.6.9"
-        ];
-      })
+      sources."finalhandler-1.1.2"
       sources."find-up-3.0.0"
       sources."finity-0.5.4"
       sources."flat-4.1.0"
-      sources."fn.name-1.1.0"
-      sources."follow-redirects-1.5.10"
+      (sources."follow-redirects-1.5.10" // {
+        dependencies = [
+          sources."debug-3.1.0"
+        ];
+      })
       sources."forever-agent-0.6.1"
-      sources."form-data-2.5.1"
+      sources."form-data-2.3.3"
       sources."forwarded-0.1.2"
       sources."fresh-0.5.2"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.1.3"
+      sources."fsevents-2.1.2"
       sources."function-bind-1.1.1"
       sources."generate-function-2.3.1"
       sources."generate-object-property-1.2.0"
       sources."get-caller-file-2.0.5"
       sources."get-func-name-2.0.0"
+      sources."get-stream-4.1.0"
       sources."getpass-0.1.7"
       sources."glob-7.1.3"
       sources."glob-parent-5.1.1"
@@ -3626,11 +3775,12 @@ in
       sources."immediate-3.0.6"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
-      sources."ipaddr.js-1.9.1"
+      sources."invert-kv-2.0.0"
+      sources."ipaddr.js-1.9.0"
       sources."is-arrayish-0.3.2"
       sources."is-binary-path-2.1.0"
       sources."is-buffer-2.0.4"
-      sources."is-callable-1.2.0"
+      sources."is-callable-1.1.5"
       sources."is-date-object-1.0.2"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-2.0.0"
@@ -3639,7 +3789,7 @@ in
       sources."is-my-json-valid-2.20.0"
       sources."is-number-7.0.0"
       sources."is-property-1.0.2"
-      sources."is-regex-1.1.0"
+      sources."is-regex-1.0.5"
       sources."is-stream-1.1.0"
       sources."is-symbol-1.0.3"
       sources."is-typedarray-1.0.0"
@@ -3647,27 +3797,29 @@ in
       sources."isexe-2.0.0"
       sources."isstream-0.1.2"
       sources."js-tokens-4.0.0"
-      sources."js-yaml-3.14.0"
+      sources."js-yaml-3.13.1"
       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."jsonpointer-4.0.1"
       sources."jsprim-1.4.1"
-      sources."kuler-2.0.0"
+      sources."kuler-1.0.1"
+      sources."lcid-2.0.0"
       sources."lie-3.1.1"
-      sources."localforage-1.7.4"
+      sources."localforage-1.7.3"
       sources."locate-path-3.0.0"
       sources."lodash-4.17.15"
       sources."lodash.toarray-4.4.0"
       sources."log-symbols-3.0.0"
-      (sources."logform-2.2.0" // {
+      (sources."logform-2.1.2" // {
         dependencies = [
           sources."ms-2.1.2"
         ];
       })
       sources."loglevel-1.6.8"
       sources."make-error-1.3.6"
+      sources."map-age-cleaner-0.1.3"
       sources."matrix-appservice-0.4.1"
       sources."matrix-appservice-bridge-1.12.2"
       (sources."matrix-js-sdk-2.4.6" // {
@@ -3676,61 +3828,64 @@ in
         ];
       })
       sources."media-typer-0.3.0"
+      sources."mem-4.3.0"
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.44.0"
-      sources."mime-types-2.1.27"
+      sources."mime-db-1.40.0"
+      sources."mime-types-2.1.24"
+      sources."mimic-fn-2.1.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
-      (sources."mocha-7.2.0" // {
+      (sources."mocha-7.1.1" // {
         dependencies = [
-          sources."chokidar-3.3.0"
           sources."debug-3.2.6"
           sources."escape-string-regexp-1.0.5"
-          sources."js-yaml-3.13.1"
+          sources."minimist-1.2.5"
+          sources."mkdirp-0.5.3"
           sources."ms-2.1.1"
-          sources."readdirp-3.2.0"
           sources."supports-color-6.0.0"
+          sources."yargs-13.3.2"
+          sources."yargs-parser-13.1.2"
         ];
       })
-      sources."moment-2.27.0"
-      (sources."morgan-1.10.0" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."depd-2.0.0"
-        ];
-      })
+      sources."moment-2.24.0"
+      sources."morgan-1.9.1"
       sources."ms-2.0.0"
       sources."nedb-1.8.0"
       sources."negotiator-0.6.2"
+      sources."nice-try-1.0.5"
       sources."node-emoji-1.10.0"
-      (sources."node-environment-flags-1.0.6" // {
+      sources."node-environment-flags-1.0.6"
+      sources."nopt-3.0.6"
+      sources."normalize-path-3.0.0"
+      sources."npm-run-path-2.0.2"
+      (sources."nunjucks-3.2.1" // {
         dependencies = [
-          sources."semver-5.7.1"
+          sources."commander-3.0.2"
         ];
       })
-      sources."nopt-3.0.6"
-      sources."normalize-path-3.0.0"
-      sources."nunjucks-3.2.1"
       sources."oauth-sign-0.9.0"
       sources."object-hash-1.3.1"
-      sources."object-inspect-1.8.0"
+      sources."object-inspect-1.7.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.0"
       sources."object.getownpropertydescriptors-2.1.0"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
-      sources."one-time-1.0.0"
+      sources."one-time-0.0.4"
+      sources."os-locale-3.1.0"
       sources."p-cancelable-1.1.0"
+      sources."p-defer-1.0.0"
       sources."p-finally-1.0.0"
-      sources."p-limit-2.3.0"
+      sources."p-is-promise-2.1.0"
+      sources."p-limit-2.2.0"
       sources."p-locate-3.0.0"
-      (sources."p-queue-6.4.0" // {
+      (sources."p-queue-6.3.0" // {
         dependencies = [
-          sources."eventemitter3-4.0.4"
+          sources."eventemitter3-4.0.0"
         ];
       })
       sources."p-retry-4.2.0"
@@ -3740,17 +3895,22 @@ in
       sources."parseurl-1.3.3"
       sources."path-exists-3.0.0"
       sources."path-is-absolute-1.0.1"
+      sources."path-key-2.0.1"
       sources."path-parse-1.0.6"
       sources."path-to-regexp-0.1.7"
       sources."pathval-1.1.0"
       sources."performance-now-2.1.0"
-      sources."pg-8.2.1"
-      sources."pg-connection-string-2.2.3"
+      (sources."pg-8.1.0" // {
+        dependencies = [
+          sources."semver-4.3.2"
+        ];
+      })
+      sources."pg-connection-string-2.2.2"
       sources."pg-int8-1.0.1"
-      sources."pg-minify-1.6.1"
-      sources."pg-pool-3.2.1"
-      sources."pg-promise-10.5.7"
-      sources."pg-protocol-1.2.4"
+      sources."pg-minify-1.6.0"
+      sources."pg-pool-3.2.0"
+      sources."pg-promise-10.5.5"
+      sources."pg-protocol-1.2.3"
       sources."pg-types-2.2.0"
       sources."pgpass-1.0.2"
       sources."picomatch-2.2.2"
@@ -3760,20 +3920,20 @@ in
       sources."postgres-interval-1.2.0"
       sources."process-nextick-args-2.0.1"
       sources."prom-client-11.5.3"
-      sources."proxy-addr-2.0.6"
-      sources."psl-1.8.0"
+      sources."proxy-addr-2.0.5"
+      sources."psl-1.1.33"
+      sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.7.0"
-      sources."quick-lru-5.1.1"
+      sources."quick-lru-5.0.0"
       sources."randomstring-1.1.5"
       sources."range-parser-1.2.1"
       sources."raw-body-2.4.0"
-      sources."readable-stream-3.6.0"
-      sources."readdirp-3.4.0"
+      sources."readable-stream-3.4.0"
+      sources."readdirp-3.2.0"
       sources."regenerator-runtime-0.11.1"
-      (sources."request-2.88.2" // {
+      (sources."request-2.88.0" // {
         dependencies = [
-          sources."form-data-2.3.3"
           sources."qs-6.5.2"
           sources."uuid-3.4.0"
         ];
@@ -3782,27 +3942,25 @@ in
       sources."request-promise-native-1.0.8"
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
-      sources."resolve-1.17.0"
+      sources."resolve-1.15.1"
       sources."retry-0.12.0"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
-      sources."semver-4.3.2"
+      sources."semver-5.7.0"
       (sources."send-0.17.1" // {
         dependencies = [
-          (sources."debug-2.6.9" // {
-            dependencies = [
-              sources."ms-2.0.0"
-            ];
-          })
           sources."ms-2.1.1"
         ];
       })
       sources."serve-static-1.14.1"
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.1.1"
+      sources."shebang-command-1.2.0"
+      sources."shebang-regex-1.0.0"
+      sources."signal-exit-3.0.2"
       sources."simple-swizzle-0.2.2"
       sources."source-map-0.6.1"
-      sources."source-map-support-0.5.19"
+      sources."source-map-support-0.5.16"
       sources."spex-3.0.1"
       sources."split-1.0.1"
       sources."sprintf-js-1.0.3"
@@ -3811,14 +3969,11 @@ in
       sources."statuses-1.5.0"
       sources."stealthy-require-1.1.1"
       sources."string-width-3.1.0"
-      sources."string.prototype.trimend-1.0.1"
-      sources."string.prototype.trimstart-1.0.1"
-      (sources."string_decoder-1.3.0" // {
-        dependencies = [
-          sources."safe-buffer-5.2.1"
-        ];
-      })
+      sources."string.prototype.trimleft-2.1.1"
+      sources."string.prototype.trimright-2.1.1"
+      sources."string_decoder-1.2.0"
       sources."strip-ansi-5.2.0"
+      sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-5.5.0"
       sources."tdigest-0.1.1"
@@ -3826,19 +3981,21 @@ in
       sources."through-2.3.8"
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.0"
-      sources."tough-cookie-2.5.0"
+      (sources."tough-cookie-2.4.3" // {
+        dependencies = [
+          sources."punycode-1.4.1"
+        ];
+      })
       sources."triple-beam-1.3.0"
-      (sources."ts-node-8.10.2" // {
+      (sources."ts-node-8.8.1" // {
         dependencies = [
           sources."diff-4.0.2"
         ];
       })
-      sources."tslib-1.13.0"
-      (sources."tslint-6.1.2" // {
+      sources."tslib-1.11.1"
+      (sources."tslint-6.1.0" // {
         dependencies = [
-          sources."commander-2.20.3"
           sources."diff-4.0.2"
-          sources."semver-5.7.1"
         ];
       })
       sources."tsutils-2.29.0"
@@ -3846,14 +4003,14 @@ in
       sources."tweetnacl-0.14.5"
       sources."type-detect-4.0.8"
       sources."type-is-1.6.18"
-      sources."typescript-3.9.5"
+      sources."typescript-3.8.3"
       sources."underscore-1.4.4"
-      sources."unhomoglyph-1.0.6"
+      sources."unhomoglyph-1.0.5"
       sources."unpipe-1.0.0"
       sources."uri-js-4.2.2"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
-      sources."uuid-7.0.3"
+      sources."uuid-7.0.2"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
       sources."which-1.3.1"
@@ -3865,38 +4022,37 @@ in
           sources."strip-ansi-4.0.0"
         ];
       })
-      (sources."winston-3.3.2" // {
+      (sources."winston-3.2.1" // {
         dependencies = [
-          sources."async-3.2.0"
-          sources."is-stream-2.0.0"
+          sources."async-2.6.2"
         ];
       })
-      (sources."winston-compat-0.1.5" // {
+      (sources."winston-compat-0.1.4" // {
         dependencies = [
-          sources."fecha-2.3.3"
           sources."logform-1.10.0"
           sources."ms-2.1.2"
         ];
       })
-      (sources."winston-daily-rotate-file-3.10.0" // {
+      sources."winston-daily-rotate-file-3.9.0"
+      (sources."winston-transport-4.3.0" // {
         dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      (sources."winston-transport-4.4.0" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
+          sources."readable-stream-2.3.6"
           sources."string_decoder-1.1.1"
         ];
       })
       sources."wrap-ansi-5.1.0"
       sources."wrappy-1.0.2"
       sources."ws-5.2.2"
-      sources."xtend-4.0.2"
+      sources."xtend-4.0.1"
       sources."y18n-4.0.0"
-      sources."yargs-13.3.2"
-      sources."yargs-parser-13.1.2"
-      sources."yargs-unparser-1.6.0"
+      sources."yargs-13.2.4"
+      sources."yargs-parser-13.1.1"
+      (sources."yargs-unparser-1.6.0" // {
+        dependencies = [
+          sources."yargs-13.3.2"
+          sources."yargs-parser-13.1.2"
+        ];
+      })
       sources."yn-3.1.1"
     ];
     buildInputs = globalBuildInputs;
@@ -3907,6 +4063,25 @@ in
     };
     production = false;
     bypassCache = true;
-    reconstructLock = true;
+    reconstructLock = false;
   };
+in
+{
+  args = args;
+  sources = sources;
+  tarball = nodeEnv.buildNodeSourceDist args;
+  package = nodeEnv.buildNodePackage args;
+  shell = nodeEnv.buildNodeShell args;
+  nodeDependencies = nodeEnv.buildNodeDependencies (lib.overrideExisting args {
+    src = stdenv.mkDerivation {
+      name = args.name + "-package-json";
+      src = nix-gitignore.gitignoreSourcePure [
+        "*"
+        "!package.json"
+        "!package-lock.json"
+      ] args.src;
+      dontBuild = true;
+      installPhase = "mkdir -p $out; cp -r ./* $out;";
+    };
+  });
 }
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json b/pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json
deleted file mode 100644
index 52568eefb77eb..0000000000000
--- a/pkgs/servers/matrix-synapse/matrix-appservice-slack/package.json
+++ /dev/null
@@ -1,3 +0,0 @@
-[
-    {"matrix-appservice-slack": "git+https://github.com/matrix-org/matrix-appservice-slack.git#1.4.0" }
-]
diff --git a/pkgs/servers/mattermost/matterircd.nix b/pkgs/servers/mattermost/matterircd.nix
index 3abb728bec1d3..fd950cb635579 100644
--- a/pkgs/servers/mattermost/matterircd.nix
+++ b/pkgs/servers/mattermost/matterircd.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "matterircd";
-  version = "0.20.0";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
     owner = "42wim";
     repo = "matterircd";
     rev = "v${version}";
-    sha256 = "0rnkzxf953nd67w33ghmrfjfg099cd21nldm31q8pk7fs1mgjnld";
+    sha256 = "sha256-0HeqKnFOrXcoXKEkWxNfoRv77As86aLUAgH/+ZUymAs=";
   };
 
   goPackagePath = "github.com/42wim/matterircd";
diff --git a/pkgs/servers/metabase/default.nix b/pkgs/servers/metabase/default.nix
index 0e1b207a755af..d64279bf7e178 100644
--- a/pkgs/servers/metabase/default.nix
+++ b/pkgs/servers/metabase/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "metabase";
-  version = "0.37.5";
+  version = "0.38.0";
 
   src = fetchurl {
     url = "https://downloads.metabase.com/v${version}/metabase.jar";
-    sha256 = "1wvq5nx3y28w8wn6wyy650gc32hgkx7inbcylrdirhagzqhcm8z6";
+    sha256 = "170fj2cc7drh6c1dgl60f9n79vfrsw2v57lmds677naxnq254jhp";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/miniflux/default.nix b/pkgs/servers/miniflux/default.nix
index 7781124259b6a..42b071427ff9c 100644
--- a/pkgs/servers/miniflux/default.nix
+++ b/pkgs/servers/miniflux/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "miniflux";
-  version = "2.0.23";
+  version = "2.0.28";
 
 in buildGoModule {
   inherit pname version;
@@ -11,14 +11,16 @@ in buildGoModule {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "0v0n5lvrfn3ngs1s1m3hv95dvnqn8ysksb044m4ifk2cr3b77ryc";
+    sha256 = "sha256-XvQhLqGP1TliSrIm55dP04yGoOMnHmcI2gH00SYVLVY=";
   };
 
-  vendorSha256 = "1iin5r9l8wb9gm0bwgdmpx0cp1q35ij4y7zf98lnj2kvb3jv5crp";
+  vendorSha256 = "sha256-NKpMLjro06gWN2Xu5M+xM4hVNvlOZ12F3Jv+bL5E0I8=";
 
   nativeBuildInputs = [ installShellFiles ];
 
-  doCheck = true;
+  checkPhase = ''
+    go test $(go list ./... | grep -v client)
+  ''; # skip client tests as they require network access
 
   buildFlagsArray = ''
     -ldflags=-s -w -X miniflux.app/version.Version=${version}
diff --git a/pkgs/servers/minio/default.nix b/pkgs/servers/minio/default.nix
index 9477da8a3f808..4fa8620503b3f 100644
--- a/pkgs/servers/minio/default.nix
+++ b/pkgs/servers/minio/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "minio";
-  version = "2021-01-16T02-19-44Z";
+  version = "2021-02-24T18-44-45Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "minio";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-eYOarXgx5+rXCw2gMzrH1vVSsIdN4WrHrAUnnCcLtN8=";
+    sha256 = "sha256-htrIRZXpr3V7GoeldeULndSfJNMmLKPVOimg3l+UisA=";
   };
 
-  vendorSha256 = "sha256-6p/DBgHawsT5PjpzwjrKgZfWm5Z6v1ozMWzGpEiB2jM=";
+  vendorSha256 = "sha256-m2Nv3OcPq/qc+4Cu/JUut59fZTDZwJn9gyG4jQ5n6Pg=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/misc/navidrome/default.nix b/pkgs/servers/misc/navidrome/default.nix
index 9b276afa4bc12..b4dfc4791b766 100644
--- a/pkgs/servers/misc/navidrome/default.nix
+++ b/pkgs/servers/misc/navidrome/default.nix
@@ -4,11 +4,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "navidrome";
-  version = "0.39.0";
+  version = "0.40.0";
 
   src = fetchurl {
     url = "https://github.com/deluan/navidrome/releases/download/v${version}/navidrome_${version}_Linux_x86_64.tar.gz";
-    sha256 = "0ngqlb9d8xml0vnjsn6vpi02sjqldsiirlrzfncrh3hlcrhk4fcn";
+    sha256 = "sha256-sBITCHyji55OnopNlDCNypSf/j8LKtarSGPYz5fQZys=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/monitoring/fusion-inventory/default.nix b/pkgs/servers/monitoring/fusion-inventory/default.nix
index 0034c253c7745..02841c6acb968 100644
--- a/pkgs/servers/monitoring/fusion-inventory/default.nix
+++ b/pkgs/servers/monitoring/fusion-inventory/default.nix
@@ -24,7 +24,8 @@ perlPackages.buildPerlPackage rec {
   '';
 
   buildTools = [];
-  buildInputs = [ makeWrapper ] ++ (with perlPackages; [
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = (with perlPackages; [
     CGI
     DataStructureUtil
     FileCopyRecursive
diff --git a/pkgs/servers/monitoring/grafana-agent/default.nix b/pkgs/servers/monitoring/grafana-agent/default.nix
index 520aedf2c3f53..7ad518308df5d 100644
--- a/pkgs/servers/monitoring/grafana-agent/default.nix
+++ b/pkgs/servers/monitoring/grafana-agent/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "grafana-agent";
-  version = "0.11.0";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "grafana";
     repo = "agent";
-    sha256 = "092ry9gq9fpkkgsdymfwzdxz982pp0ljf2gs6mp419ivvllzwhiv";
+    sha256 = "sha256-wm+WoOvYVa29lMMnXatlQ4gcCLsz+uQZ7D/hUxNjIPc=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index 9dc18936acf3e..dc0a66524d1a4 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "grafana";
-  version = "7.3.7";
+  version = "7.4.1";
 
   excludedPackages = [ "release_publisher" ];
 
@@ -10,25 +10,25 @@ buildGoModule rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "134x2jqrczp5qfa2rmqc7jikv3w258kks532jp1qi65qk7w7jhb9";
+    sha256 = "11gvw8kdz7238jcaiyqk6i0ciy6plixljpzdajlabywgr9jam32g";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "052r9gajggd9jlwnl82hq0jflhlz7cbdflkjapq4nx3rpnfscqgp";
+    sha256 = "1266vj8saf4nh5h6cz8axkk58g1mwgvc9c6caphj71dhvr3snw6i";
   };
 
-  vendorSha256 = "0474d5y40q7i7k1gm1k7ac1dqhizvqql8w9nn44qxb7g2w2bfqiv";
+  vendorSha256 = "0ig0f9pa3l0nj2fs8yz8h42y1j07xi9imk7kzmla6vav6s889grc";
 
   postPatch = ''
     substituteInPlace pkg/cmd/grafana-server/main.go \
       --replace 'var version = "5.0.0"'  'var version = "${version}"'
   '';
 
-  # fixes build failure with go 1.15:
   # main module (github.com/grafana/grafana) does not contain package github.com/grafana/grafana/scripts/go
+  # main module (github.com/grafana/grafana) does not contain package github.com/grafana/grafana/dashboard-schemas
   preBuild = ''
-    rm -rf scripts/go
+    rm -r dashboard-schemas scripts/go
   '';
 
   postInstall = ''
diff --git a/pkgs/servers/monitoring/longview/default.nix b/pkgs/servers/monitoring/longview/default.nix
index 96048005cb143..5d05dfd1ebb67 100644
--- a/pkgs/servers/monitoring/longview/default.nix
+++ b/pkgs/servers/monitoring/longview/default.nix
@@ -25,7 +25,8 @@ stdenv.mkDerivation rec {
         --replace /etc/linode /run/longview
   '';
 
-  buildInputs = [ perl makeWrapper glibc ]
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ perl glibc ]
     ++ (with perlPackages; [
       LWP
       LWPProtocolHttps
diff --git a/pkgs/servers/monitoring/prometheus/flow-exporter.nix b/pkgs/servers/monitoring/prometheus/flow-exporter.nix
new file mode 100644
index 0000000000000..4b2e76f7043f8
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/flow-exporter.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildGoModule, fetchFromGitHub, lib }:
+
+buildGoModule rec {
+  pname = "flow-exporter";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "neptune-networks";
+    repo = pname;
+    sha256 = "sha256-6FqupoYWRvex7XhM7ly8f7ICnuS9JvCRIVEBIJe+64k=";
+  };
+
+  vendorSha256 = "sha256-2raOUOPiMUMydIsfSsnwUAAiM7WyMio1NgL1EoADr2s=";
+
+  meta = with lib; {
+    description = "Export network flows from kafka to Prometheus";
+    homepage = "https://github.com/neptune-networks/flow-exporter";
+    license = licenses.mit;
+    maintainers = with maintainers; [ kloenk ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/servers/monitoring/prometheus/jmx-httpserver.nix b/pkgs/servers/monitoring/prometheus/jmx-httpserver.nix
index 0c5aa7d8a438e..e6505857bf579 100644
--- a/pkgs/servers/monitoring/prometheus/jmx-httpserver.nix
+++ b/pkgs/servers/monitoring/prometheus/jmx-httpserver.nix
@@ -14,7 +14,8 @@ in stdenv.mkDerivation {
     sha256 = "1pvqphrirq48xhmx0aa6vkxz6qy1cx2q6jxsh7rin432iap7j62f";
   };
 
-  buildInputs = [ jre makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre ];
 
   phases = "installPhase";
 
diff --git a/pkgs/servers/monitoring/prometheus/promscale.nix b/pkgs/servers/monitoring/prometheus/promscale.nix
index a4ba3cee620d7..965b33aa337c8 100644
--- a/pkgs/servers/monitoring/prometheus/promscale.nix
+++ b/pkgs/servers/monitoring/prometheus/promscale.nix
@@ -5,20 +5,29 @@
 
 buildGoModule rec {
   pname = "promscale";
-  version = "0.1.4";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "timescale";
     repo = pname;
     rev = version;
-    sha256 = "0179sw5zx552y14lr56adxcgas642xvxpqly6y4m9pi33r1gs8lj";
+    sha256 = "sha256-rXOAAd08NTWFRGnJoAY9xllw6dAA7Xu3qcImIVq9ewE=";
   };
 
-  vendorSha256 = "sha256:04gzf0siz96ar4qdkcw6daswy14i1zvl7ir200adhw1c5phppab6";
+  vendorSha256 = "sha256-/woSbtrOI3BVBhh+A2kO1CB1BLzBciwOqvSbGkFeMEU=";
 
   buildFlagsArray = [ "-ldflags=-s -w -X github.com/timescale/promscale/pkg/version.Version=${version} -X github.com/timescale/promscale/pkg/version.CommitHash=${src.rev}" ];
 
   doCheck = false; # Requires access to a docker daemon
+  doInstallCheck = true;
+  installCheckPhase = ''
+    if [[ "$("$out/bin/${pname}" -version)" == "${version}" ]]; then
+      echo '${pname} smoke check passed'
+    else
+      echo '${pname} smoke check failed'
+      exit 1
+    fi
+  '';
 
   meta = with lib; {
     description = "An open-source analytical platform for Prometheus metrics";
diff --git a/pkgs/servers/monitoring/prometheus/pushgateway.nix b/pkgs/servers/monitoring/prometheus/pushgateway.nix
index 6eb9b4eb580d5..0bdb0680ae9d1 100644
--- a/pkgs/servers/monitoring/prometheus/pushgateway.nix
+++ b/pkgs/servers/monitoring/prometheus/pushgateway.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "pushgateway";
-  version = "1.3.1";
+  version = "1.4.0";
   rev = "v${version}";
 
   goPackagePath = "github.com/prometheus/pushgateway";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "prometheus";
     repo = "pushgateway";
-    sha256 = "sha256-z8xM9rq7wKH7bwzjSmGh+2pO5Y10szmIH82ztRrOCNs=";
+    sha256 = "sha256-230JgG+TtAuopkkcUda+0hl8E6WXOtTUygWoyorLiEU=";
   };
 
   buildUser = "nix@nixpkgs";
diff --git a/pkgs/servers/monitoring/sensu-go/default.nix b/pkgs/servers/monitoring/sensu-go/default.nix
index 6755aeb9968c8..e63cf48516681 100644
--- a/pkgs/servers/monitoring/sensu-go/default.nix
+++ b/pkgs/servers/monitoring/sensu-go/default.nix
@@ -4,19 +4,19 @@ let
   generic = { subPackages, pname, postInstall ? "" }:
     buildGoModule rec {
       inherit pname;
-      version = "6.1.2";
+      version = "6.2.3";
       shortRev = "3a1ac58"; # for internal version info
 
       src = fetchFromGitHub {
         owner = "sensu";
         repo = "sensu-go";
         rev = "v${version}";
-        sha256 = "1g4vh4ay5m3sl00j8rn4db87kfdyxcmnaf0rxnv4ah2fbj5nrh2n";
+        sha256 = "sha256-8+ibl2D8hSzFV+snJAxRNTiyYqCndUDGVCVKt2bkPlQ=";
       };
 
       inherit subPackages postInstall;
 
-  vendorSha256 = "12qi94k8fjx0kaq2x977yhan8ynd6j6cbqx1l60gqs2xgkm71k9r";
+  vendorSha256 = "sha256-KykxKJxel4E5VB8QAkEpBBaA7hKfSnTDkJ9qlNEln80=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/monitoring/seyren/default.nix b/pkgs/servers/monitoring/seyren/default.nix
index 1d26afad3d8be..4dd90cacb8bfa 100644
--- a/pkgs/servers/monitoring/seyren/default.nix
+++ b/pkgs/servers/monitoring/seyren/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
 
   phases = ["installPhase"];
 
-  buildInputs = [ makeWrapper jre ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre ];
 
   installPhase = ''
     mkdir -p "$out"/bin
diff --git a/pkgs/servers/monitoring/telegraf/default.nix b/pkgs/servers/monitoring/telegraf/default.nix
index 55b0ab14af70d..3a01acbb372b1 100644
--- a/pkgs/servers/monitoring/telegraf/default.nix
+++ b/pkgs/servers/monitoring/telegraf/default.nix
@@ -1,8 +1,8 @@
-{ lib, buildGoModule, fetchFromGitHub, nixosTests, fetchpatch }:
+{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
 
 buildGoModule rec {
   pname = "telegraf";
-  version = "1.17.2";
+  version = "1.17.3";
 
   excludedPackages = "test";
 
@@ -12,14 +12,14 @@ buildGoModule rec {
     owner = "influxdata";
     repo = "telegraf";
     rev = "v${version}";
-    sha256 = "sha256-R0RYiVVS1ce2xabPBTEmOxBNlknP4iXkbVy412whrFw=";
+    sha256 = "sha256-DJvXGjh1FN6SHcfVUlbfoKgBD1ThaJMvKUqvIKCyzeI=";
   };
 
-  vendorSha256 = "sha256-3cELah9i2rY563QQOYt7ke0HEUR1By74vTgl+UbOHwc=";
+  vendorSha256 = "sha256-UTdJT4cwRCqkn01YXB1KYc7hp1smpZFke9aAODd/2x0=";
 
-  buildFlagsArray = [ ''-ldflags=
-    -w -s -X main.version=${version}
-  '' ];
+  preBuild = ''
+    buildFlagsArray+=("-ldflags=-w -s -X main.version=${version}")
+  '';
 
   passthru.tests = { inherit (nixosTests) telegraf; };
 
diff --git a/pkgs/servers/monitoring/thanos/default.nix b/pkgs/servers/monitoring/thanos/default.nix
index 755dc1517751b..2b0be2803e2e8 100644
--- a/pkgs/servers/monitoring/thanos/default.nix
+++ b/pkgs/servers/monitoring/thanos/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoModule, fetchFromGitHub }:
 buildGoModule rec {
   pname = "thanos";
-  version = "0.17.2";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "thanos-io";
     repo = "thanos";
-    sha256 = "1zxx6vyf0fhrz8yqnlakszwziyq20k3kprshh414qxdpqfj9jax6";
+    sha256 = "sha256-GJKTQGMmFJeUQn02GWP4KKpKdM8eT+VxDBDzST+5NXk=";
   };
 
-  vendorSha256 = "1j3gnzas0hpb5dljf5m97nw2v4r1bp3l99z36gbqkm6lqzr6hqk8";
+  vendorSha256 = "sha256-s11iJFcJ1Ez6TkhCU3VD2ThU5/9otHz5rDF8z9ux79E=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/monitoring/uchiwa/default.nix b/pkgs/servers/monitoring/uchiwa/default.nix
index 121b31e46eb8c..a871bf87db2d4 100644
--- a/pkgs/servers/monitoring/uchiwa/default.nix
+++ b/pkgs/servers/monitoring/uchiwa/default.nix
@@ -33,7 +33,7 @@ in stdenv.mkDerivation {
 
   inherit src;
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   buildCommand = ''
     mkdir -p $out/bin $out/public
diff --git a/pkgs/servers/monitoring/zipkin/default.nix b/pkgs/servers/monitoring/zipkin/default.nix
index e84c422ea6463..9395c3c61c191 100644
--- a/pkgs/servers/monitoring/zipkin/default.nix
+++ b/pkgs/servers/monitoring/zipkin/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
     url = "https://search.maven.org/remotecontent?filepath=io/zipkin/java/zipkin-server/${version}/zipkin-server-${version}-exec.jar";
     sha256 = "02369fkv0kbl1isq6y26fh2zj5wxv3zck522m5wypsjlcfcw2apa";
   };
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   buildCommand =
   ''
diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix
index 89de67c404266..3e1f810000467 100644
--- a/pkgs/servers/mpd/default.nix
+++ b/pkgs/servers/mpd/default.nix
@@ -15,7 +15,7 @@
 # Services
 , yajl
 # Client support
-, mpd_clientlib
+, libmpdclient
 # Tag support
 , libid3tag
 , nixosTests
@@ -70,7 +70,7 @@ let
     soundcloud    = [ curl yajl ];
     tidal         = [ curl yajl ];
     # Client support
-    libmpdclient  = [ mpd_clientlib ];
+    libmpdclient  = [ libmpdclient ];
     # Tag support
     id3tag        = [ libid3tag ];
     # Misc
@@ -114,13 +114,13 @@ let
 
     in stdenv.mkDerivation rec {
       pname = "mpd";
-      version = "0.22.4";
+      version = "0.22.6";
 
       src = fetchFromGitHub {
         owner  = "MusicPlayerDaemon";
         repo   = "MPD";
         rev    = "v${version}";
-        sha256 = "sha256-CVi+fcmFMJMv7X4okALlVsxqsuUsirHgQT61IHdrBNE=";
+        sha256 = "sha256-Xu+MxMxR5u++R3lZHe6UQ+mEmRnWbN6173ZX39KS1A8=";
       };
 
       buildInputs = [
@@ -149,8 +149,6 @@ let
 
       doCheck = true;
 
-      enableParallelBuilding = true;
-
       mesonAutoFeatures = "disabled";
 
       outputs = [ "out" "doc" ]
@@ -173,7 +171,7 @@ let
       meta = with lib; {
         description = "A flexible, powerful daemon for playing music";
         homepage    = "https://www.musicpd.org/";
-        license     = licenses.gpl2;
+        license     = licenses.gpl2Only;
         maintainers = with maintainers; [ astsmtl ehmry fpletz tobim ];
         platforms   = platforms.unix;
 
diff --git a/pkgs/servers/mpd/clientlib.nix b/pkgs/servers/mpd/libmpdclient.nix
index e0df9458f8788..4ff45b527b145 100644
--- a/pkgs/servers/mpd/clientlib.nix
+++ b/pkgs/servers/mpd/libmpdclient.nix
@@ -1,12 +1,18 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, fixDarwinDylibNames }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, fixDarwinDylibNames
+}:
 
 stdenv.mkDerivation rec {
-  version = "2.19";
   pname = "libmpdclient";
+  version = "2.19";
 
   src = fetchFromGitHub {
     owner  = "MusicPlayerDaemon";
-    repo   = "libmpdclient";
+    repo   = pname;
     rev    = "v${version}";
     sha256 = "01agvjscdxagw6jcfx0wg81c4b6p8rh0hp3slycmjs2b835kvmq2";
   };
@@ -17,8 +23,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Client library for MPD (music player daemon)";
     homepage = "https://www.musicpd.org/libs/libmpdclient/";
-    license = licenses.gpl2;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ ehmry AndersonTorres ];
     platforms = platforms.unix;
-    maintainers = with maintainers; [ ehmry ];
   };
 }
diff --git a/pkgs/servers/nats-streaming-server/default.nix b/pkgs/servers/nats-streaming-server/default.nix
index e6a9f95a1b921..5726786e5b402 100644
--- a/pkgs/servers/nats-streaming-server/default.nix
+++ b/pkgs/servers/nats-streaming-server/default.nix
@@ -4,14 +4,14 @@ with lib;
 
 buildGoPackage rec {
   pname   = "nats-streaming-server";
-  version = "0.19.0";
+  version = "0.20.0";
   goPackagePath = "github.com/nats-io/${pname}";
 
   src = fetchFromGitHub {
     rev    = "v${version}";
     owner  = "nats-io";
     repo   = pname;
-    sha256 = "1wa2xby7v45f9idnhbkglknipm24wqx7mxmkyqz3amq17j4xfy7c";
+    sha256 = "sha256-vhUj3CVBM5jbwEtnzdgQD3eLguiHQguK01O69JZIUUk=";
   };
 
   meta = {
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index 3bea50b5620ce..a40dd71fafd9c 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -58,7 +58,7 @@ in {
   };
 
   nextcloud20 = generic {
-    version = "20.0.5";
-    sha256 = "5c70dd33024012a1651fd099133d052d129a4dadc6935f44bb9c3e2b360befe3";
+    version = "20.0.7";
+    sha256 = "sha256-jO2Ct3K/CvZ9W+EyPkD5d0KbwKK8yGQJXvx4dnUAtys=";
   };
 }
diff --git a/pkgs/servers/nfs-ganesha/default.nix b/pkgs/servers/nfs-ganesha/default.nix
index b5fefc963f078..b5533e10b2f6a 100644
--- a/pkgs/servers/nfs-ganesha/default.nix
+++ b/pkgs/servers/nfs-ganesha/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nfs-ganesha";
-  version = "3.4";
+  version = "3.5";
 
   src = fetchFromGitHub {
     owner = "nfs-ganesha";
     repo = "nfs-ganesha";
     rev = "V${version}";
-    sha256 = "1qi617ppjjl38mqpbxiqhpxanq9qgqshb87cajs30rqkv9nj811k";
+    sha256 = "sha256-N0qVlnMshsEcWEpPhtR+zXwFKXlik1XnEuZdFMjpZTE=";
   };
 
   patches = [ ./sysstatedir.patch ];
diff --git a/pkgs/servers/nosql/cassandra/2.1.nix b/pkgs/servers/nosql/cassandra/2.1.nix
index 4511fbcd040a9..63d89a29d13f5 100644
--- a/pkgs/servers/nosql/cassandra/2.1.nix
+++ b/pkgs/servers/nosql/cassandra/2.1.nix
@@ -4,4 +4,8 @@ callPackage ./generic.nix (args // {
   version = "2.1.22";
   sha256 = "1wk57dz0kmc6d5y8d8dkx269lzh3ark3751z734gxncwdlclcyz3";
   generation = "2_1";
+  extraMeta.knownVulnerabilities = [
+    # Fixed in 3.* but 2.* hasn't been released since
+    "CVE-2020-17516"
+  ];
 })
diff --git a/pkgs/servers/nosql/cassandra/2.2.nix b/pkgs/servers/nosql/cassandra/2.2.nix
index 5cec13e4cd185..dc04c374b3d53 100644
--- a/pkgs/servers/nosql/cassandra/2.2.nix
+++ b/pkgs/servers/nosql/cassandra/2.2.nix
@@ -4,4 +4,8 @@ callPackage ./generic.nix (args // {
   version = "2.2.14";
   sha256 = "1b2x3q1ach44qg07sh8wr7d8a10n36w5522drd3p35djbiwa3d9q";
   generation = "2_2";
+  extraMeta.knownVulnerabilities = [
+    # Fixed in 3.* but 2.* hasn't been released since
+    "CVE-2020-17516"
+  ];
 })
diff --git a/pkgs/servers/nosql/cassandra/3.0.nix b/pkgs/servers/nosql/cassandra/3.0.nix
index 72af03af1d88e..7788e3ff381ab 100644
--- a/pkgs/servers/nosql/cassandra/3.0.nix
+++ b/pkgs/servers/nosql/cassandra/3.0.nix
@@ -1,7 +1,7 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // {
-  version = "3.0.23";
-  sha256 = "0cbia20bggq85q2p6gsybw045qdfqxd5xv8ihppq1hwl21sb2klz";
+  version = "3.0.24";
+  sha256 = "1yxw4jg9n49dbi1mjdfpxczsznl9m6sxlzkmzjancmjzvj5s6bvz";
   generation = "3_0";
 })
diff --git a/pkgs/servers/nosql/cassandra/3.11.nix b/pkgs/servers/nosql/cassandra/3.11.nix
index 15e11145d595f..bcdfc8793db56 100644
--- a/pkgs/servers/nosql/cassandra/3.11.nix
+++ b/pkgs/servers/nosql/cassandra/3.11.nix
@@ -1,7 +1,7 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // {
-  version = "3.11.9";
-  sha256 = "1ckaacc1z0j72llklrc4587ia6a0pab02bdyac6g3kl6kqvcz40c";
+  version = "3.11.10";
+  sha256 = "1wcv0drhb765fda6kkpsxsyfdv4cqf7nqfwc4bimh4c4djap5rxv";
   generation = "3_11";
 })
diff --git a/pkgs/servers/nosql/cassandra/generic.nix b/pkgs/servers/nosql/cassandra/generic.nix
index 4d9f09637e9fa..ca2001817a34f 100644
--- a/pkgs/servers/nosql/cassandra/generic.nix
+++ b/pkgs/servers/nosql/cassandra/generic.nix
@@ -3,6 +3,7 @@
 # generation is the attribute version suffix such as 3_11 in pkgs.cassandra_3_11
 , generation
 , version, sha256
+, extraMeta ? {}
 , ...
 }:
 
@@ -30,6 +31,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper coreutils ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir $out
     mv * $out
 
@@ -85,6 +88,8 @@ stdenv.mkDerivation rec {
     done
 
     wrapProgram $out/bin/cqlsh --prefix PATH : ${python}/bin
+
+    runHook postInstall
     '';
 
   passthru = {
@@ -104,5 +109,5 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     license = licenses.asl20;
     maintainers = [ maintainers.roberth ];
-  };
+  } // extraMeta;
 }
diff --git a/pkgs/servers/nosql/influxdb/default.nix b/pkgs/servers/nosql/influxdb/default.nix
index d4a26f086ce49..a178d43d231e6 100644
--- a/pkgs/servers/nosql/influxdb/default.nix
+++ b/pkgs/servers/nosql/influxdb/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "influxdb";
-  version = "1.8.3";
+  version = "1.8.4";
 
   src = fetchFromGitHub {
     owner = "influxdata";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1siv31gp7ypjphxjfv91sxzpz2rxk1nn2aj17pgk0cz7c8m59ic7";
+    sha256 = "sha256-cL+QaUGMElYd6P+xXkQgRnL8BKo2C95bhCwy59kRnwo=";
   };
 
-  vendorSha256 = "1pylw30dg6ljxm9ykmsqapg1vq71bj1ngdq4arvmmzcdhy1nhmh0";
+  vendorSha256 = "sha256-v4CEkhQiETeU6i186XIE/8z4T71gdKL+6W7sQ7/2RuI=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/nosql/influxdb2/default.nix b/pkgs/servers/nosql/influxdb2/default.nix
index 627cd6d627d22..bace331e05c8c 100644
--- a/pkgs/servers/nosql/influxdb2/default.nix
+++ b/pkgs/servers/nosql/influxdb2/default.nix
@@ -73,28 +73,12 @@ let
         --replace /out $out
     '';
   };
-
-  # Can't use the nixpkgs version of go-bindata, it's an ancient
-  # ancestor of this more modern one.
-  bindata = buildGoPackage {
-    pname = "go-bindata";
-    version = "v3.22.0";
-    src = fetchFromGitHub {
-      owner = "kevinburke";
-      repo = "go-bindata";
-      rev = "v3.22.0";
-      sha256 = "10dq77dml5jvvq2jkdq81a9yjg7rncq8iw8r84cc3dz6l9hxzj0x";
-    };
-
-    goPackagePath = "github.com/kevinburke/go-bindata";
-    subPackages = [ "go-bindata" ];
-  };
 in buildGoModule {
   pname = "influxdb";
   version = version;
   src = src;
 
-  nativeBuildInputs = [ bindata pkg-config ];
+  nativeBuildInputs = [ go-bindata pkg-config ];
 
   vendorSha256 = "0lviz7l5zbghyfkp0lvlv8ykpak5hhkfal8d7xwvpsm8q3sghc8a";
   subPackages = [ "cmd/influxd" "cmd/influx" ];
diff --git a/pkgs/servers/nosql/neo4j/default.nix b/pkgs/servers/nosql/neo4j/default.nix
index 684cdbe287c53..d9c9ddf8752bf 100644
--- a/pkgs/servers/nosql/neo4j/default.nix
+++ b/pkgs/servers/nosql/neo4j/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "1zjb6cgk2lpzx6pq1cs5fh65in6b5ccpl1cgfiglgpjc948mnhzv";
   };
 
-  buildInputs = [ makeWrapper jre8 which gawk ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre8 which gawk ];
 
 
   installPhase = ''
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index 9eac9e2f25651..e35aac3be1b9f 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchurl, lua, pkg-config, systemd, jemalloc, nixosTests
+{ lib, stdenv, fetchurl, lua, pkg-config, systemd, nixosTests
 , tlsSupport ? true, openssl
 }:
 
 stdenv.mkDerivation rec {
-  version = "6.0.10";
   pname = "redis";
+  version = "6.2.0";
 
   src = fetchurl {
-    url = "http://download.redis.io/releases/${pname}-${version}.tar.gz";
-    sha256 = "1gc529nfh8frk4pynyjlnmzvwa0j9r5cmqwyd7537sywz6abifvr";
+    url = "https://download.redis.io/releases/${pname}-${version}.tar.gz";
+    sha256 = "1jnv6acjlljvrlxmz0mqarsx1fl5vwss24l8zy5dcawnbp129mk7";
   };
 
   # Cross-compiling fixes
@@ -36,6 +36,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isClang [ "-std=c11" ];
+
   doCheck = false; # needs tcl
 
   passthru.tests.redis = nixosTests.redis;
@@ -44,7 +46,8 @@ stdenv.mkDerivation rec {
     homepage = "https://redis.io";
     description = "An open source, advanced key-value store";
     license = licenses.bsd3;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ berdario globin ];
+    platforms = platforms.all;
+    changelog = "https://github.com/redis/redis/raw/${version}/00-RELEASENOTES";
+    maintainers = with maintainers; [ berdario globin marsam ];
   };
 }
diff --git a/pkgs/servers/nosql/rethinkdb/default.nix b/pkgs/servers/nosql/rethinkdb/default.nix
index 558fdad9841f1..4c5be92e765b5 100644
--- a/pkgs/servers/nosql/rethinkdb/default.nix
+++ b/pkgs/servers/nosql/rethinkdb/default.nix
@@ -31,11 +31,11 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "rethinkdb" ];
 
-  buildInputs = [ protobuf boost zlib curl openssl icu makeWrapper ]
+  buildInputs = [ protobuf boost zlib curl openssl icu ]
     ++ lib.optional (!stdenv.isDarwin) jemalloc
     ++ lib.optional stdenv.isDarwin libtool;
 
-  nativeBuildInputs = [ which m4 python2Packages.python ];
+  nativeBuildInputs = [ which m4 python2Packages.python makeWrapper ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/servers/oauth2_proxy/default.nix b/pkgs/servers/oauth2_proxy/default.nix
index 4fd6a398a30d4..7c2bcbe4740a5 100644
--- a/pkgs/servers/oauth2_proxy/default.nix
+++ b/pkgs/servers/oauth2_proxy/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "oauth2-proxy";
-  version = "6.1.1";
+  version = "7.0.1";
 
   src = fetchFromGitHub {
     repo = pname;
     owner = "oauth2-proxy";
-    sha256 = "10vvib4089yywd10kigjszsfxkzv8xzj7dy3wr5df8h80rcfa74n";
+    sha256 = "sha256-PvoCR+JYaQeHlnO6H75LcY7Lszi1nNNe6SCd3sJJ6R4=";
     rev = "v${version}";
   };
 
-  vendorSha256 = "0z8ibmpil899xvjaw7siswy22shjhx17a6lnjpr62paqdxy1sfwc";
+  vendorSha256 = "sha256-kclpoZ33JOciP2IUCQZB5idA7rgbWxPPFNwZU+pEJFU=";
 
   # Taken from https://github.com/oauth2-proxy/oauth2-proxy/blob/master/Makefile
   buildFlagsArray = ("-ldflags=-X main.VERSION=${version}");
diff --git a/pkgs/servers/openafs/1.8/module.nix b/pkgs/servers/openafs/1.8/module.nix
index 97e20238a7c38..1bb6ee32396b2 100644
--- a/pkgs/servers/openafs/1.8/module.nix
+++ b/pkgs/servers/openafs/1.8/module.nix
@@ -19,22 +19,36 @@ in stdenv.mkDerivation {
   buildInputs = [ kerberos ];
 
   patches = [
+    # LINUX 5.8: Replace kernel_setsockopt with new funcs
     (fetchpatch {
       url = "https://github.com/openafs/openafs/commit/d7fc5bf9bf031089d80703c48daf30d5b15a80ca.patch";
       sha256 = "0469ydzgvyvrl1b2s1qbl9cd8c5c1nb99c3z52z5i685da5z6pab";
     })
+    # LINUX 5.8: do not set name field in backing_dev_info
     (fetchpatch {
       url = "https://github.com/openafs/openafs/commit/335f37be13d2ff954e4aeea617ee66502170805e.patch";
       sha256 = "0jr6cgplnip61cjlcd3fvgsc6n3jhfk93mm9m7ak04w1vc26dk9x";
     })
+    # LINUX 5.8: use lru_cache_add
     (fetchpatch {
       url = "https://github.com/openafs/openafs/commit/facff58b840a47853592510617ba7a1da2e3eaa9.patch";
       sha256 = "0izafg6bi5iaigq3jjx0zlg1cxwaddz3238hk0s08fcb6nyhkvx1";
     })
+    # LINUX 5.9: Remove HAVE_UNLOCKED_IOCTL/COMPAT_IOCTL
     (fetchpatch {
       url = "https://github.com/openafs/openafs/commit/e7902252f15acfc28453c531f6fa3b29c9c91b92.patch";
       sha256 = "1jy4v8yx8p6mhma6b3h3g94mb38bw7hg7q6lnyc8bijkbnl0d1rl";
     })
+    # Linux: Refactor test for 32bit compat
+    (fetchpatch {
+      url = "https://github.com/openafs/openafs/commit/4ad1057ab8fd206c9fa8d5e3bdde4f1a8417afdb.patch";
+      sha256 = "0v2537wkav78yi8lv6fkd1n6rf2g17igf44rpa3kd0kkidxv5lqr";
+    })
+    # Linux 5.11: Test 32bit compat with in_compat_syscall
+    (fetchpatch {
+      url = "https://github.com/openafs/openafs/commit/ee53dd3bc087a05e22fc4111297a51ddb30013f0.patch";
+      sha256 = "0dfab3zk0dmf6iksna5n09lf5dn4f8w43q4irl2yf5dgqm35shkr";
+    })
   ];
 
   hardeningDisable = [ "pic" ];
diff --git a/pkgs/servers/pg_tileserv/default.nix b/pkgs/servers/pg_tileserv/default.nix
index 9f73566486346..d9ba4e8e6fa08 100644
--- a/pkgs/servers/pg_tileserv/default.nix
+++ b/pkgs/servers/pg_tileserv/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pg_tileserv";
-  version = "1.0.5";
+  version = "1.0.7";
 
   src = fetchFromGitHub {
     owner = "CrunchyData";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-62cJ0j/UfPW/ujKr0iA7Be8wZYlZ68mpJX8v1tAVREc=";
+    sha256 = "sha256-PHF8n0rjxvajyC/y2sFcdvxQdDFXkxcDZOkYT10UsE4=";
   };
 
   vendorSha256 = "sha256-qdlh9H039GwKTxOhx+dzyUHkzJbaOeuguKnBOyAPe/E=";
diff --git a/pkgs/servers/plex/raw.nix b/pkgs/servers/plex/raw.nix
index b040c86c9fa20..6261e2f9bfab5 100644
--- a/pkgs/servers/plex/raw.nix
+++ b/pkgs/servers/plex/raw.nix
@@ -12,16 +12,16 @@
 # server, and the FHS userenv and corresponding NixOS module should
 # automatically pick up the changes.
 stdenv.mkDerivation rec {
-  version = "1.21.1.3876-3c3adfcb4";
+  version = "1.21.4.4079-1b7748a7b";
   pname = "plexmediaserver";
 
   # Fetch the source
   src = if stdenv.hostPlatform.system == "aarch64-linux" then fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_arm64.deb";
-    sha256 = "1xpsmk5l0f0blqp5ba9n1w0npsk692p07hp4ipkq7yz3mfag50p0";
+    sha256 = "0843sdl9c6382vjj3ykvcl6rizs2jnb4jqx19ah3phbcvsnjlhdb";
   } else fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb";
-    sha256 = "0dyw84x9h295428l7r8iqfb2vxkv0f1d68z1j2ka3wsw7cj1yq78";
+    sha256 = "02v4jf6jajm5gvsilllln1vvnxx30gi2b8ljsby5d3xhhca6kmqx";
   };
 
   outputs = [ "out" "basedb" ];
@@ -35,6 +35,7 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
+    runHook preInstall
     mkdir -p "$out/lib"
     cp -dr --no-preserve='ownership' usr/lib/plexmediaserver $out/lib/
 
@@ -48,6 +49,7 @@ stdenv.mkDerivation rec {
     # to the '/db' file; we create this path in the FHS userenv (see the "plex"
     # package).
     ln -fs /db $f
+    runHook postInstall
   '';
 
   # We're running in a FHS userenv; don't patch anything
@@ -83,7 +85,6 @@ stdenv.mkDerivation rec {
     platforms = [ "x86_64-linux" "aarch64-linux" ];
     maintainers = with maintainers; [
       badmutex
-      colemickens
       forkk
       lnl7
       pjones
diff --git a/pkgs/servers/rippled/default.nix b/pkgs/servers/rippled/default.nix
index 22223f2a27e66..cd19c77cab3eb 100644
--- a/pkgs/servers/rippled/default.nix
+++ b/pkgs/servers/rippled/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, fetchgit, fetchurl, runCommand, git, cmake, pkg-config
+{ lib, stdenv, fetchgit, fetchurl, git, cmake, pkg-config
 , openssl,  zlib, boost, grpc, c-ares, abseil-cpp, protobuf3_8, libnsl }:
 
 let
diff --git a/pkgs/servers/rippled/validator-keys-tool.nix b/pkgs/servers/rippled/validator-keys-tool.nix
index ec5794d1509ca..ba172ddefd249 100644
--- a/pkgs/servers/rippled/validator-keys-tool.nix
+++ b/pkgs/servers/rippled/validator-keys-tool.nix
@@ -1,33 +1,35 @@
-{ stdenv, lib, fetchgit, cmake, openssl, boost, zlib, rippled }:
+{ stdenv, lib, fetchFromGitHub, cmake, openssl, boost, zlib, icu, rippled }:
 
 stdenv.mkDerivation rec {
-  name = "rippled-validator-keys-tool-20180927-${builtins.substring 0 7 rev}";
-  rev = "d7774bcc1dc9439c586ea1c175fcd5ff3960b15f";
+  pname = "rippled-validator-keys-tool";
+  version = "0.3.2";
 
-  src = fetchgit {
-    url = "https://github.com/ripple/validator-keys-tool.git";
-    inherit rev;
-    sha256 = "1hcbwwa21n692qpbm0vqy5jvvnf4aias309610m4kwdsnzfw0902";
+  src = fetchFromGitHub {
+    owner = "ripple";
+    repo = "validator-keys-tool";
+    rev = "5d7efcfeda3bdf6f5dda78056004a7c326321e9b";
+    sha256 = "1irm8asp6plk9xw3ksf4fqnim8h0vj3h96w638lx71pga1h4zvmy";
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ openssl boost zlib rippled ];
+  buildInputs = [ openssl boost zlib icu rippled ];
 
   hardeningDisable = ["format"];
 
-  preConfigure = ''
-    export CXX="$(command -v $CXX)"
-    export CC="$(command -v $CC)"
-  '';
+  cmakeFlags = [
+    "-Dep_procs=1"
+  ];
 
   installPhase = ''
+    runHook preInstall
     install -D validator-keys $out/bin/validator-keys
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "Generate master and ephemeral rippled validator keys";
     homepage = "https://github.com/ripple/validator-keys-tool";
-    maintainers = with maintainers; [ offline ];
+    maintainers = with maintainers; [ offline rmcgibbo ];
     license = licenses.isc;
     platforms = [ "x86_64-linux" ];
   };
diff --git a/pkgs/servers/roon-server/default.nix b/pkgs/servers/roon-server/default.nix
index 06541b89500ee..145a1927f2c4f 100644
--- a/pkgs/servers/roon-server/default.nix
+++ b/pkgs/servers/roon-server/default.nix
@@ -11,11 +11,15 @@
 , zlib
 }: stdenv.mkDerivation rec {
   name = "roon-server";
-  version = "100700571";
+  version = "100800753";
 
+  # 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 = "http://download.roonlabs.com/updates/stable/RoonServer_linuxx64_${version}.tar.bz2";
-    sha256 = "191vlzf10ypkk1prp6x2rszlmsihdwpd3wvgf2jg6ckwyxy2hc6k";
+    url = "https://web.archive.org/web/20210209195555/https://download.roonlabs.com/builds/RoonServer_linuxx64.tar.bz2";
+    sha256 = "sha256-uas1vqIDWlYr7jgsrlBeJSPjMxwzVnrkCD9jJljkFZs=";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/roundcube/default.nix b/pkgs/servers/roundcube/default.nix
index ce62b7d1fdccd..75afedaa2ddce 100644
--- a/pkgs/servers/roundcube/default.nix
+++ b/pkgs/servers/roundcube/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "roundcube";
-  version = "1.4.10";
+  version = "1.4.11";
 
   src = fetchurl {
     url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/roundcubemail-${version}-complete.tar.gz";
-    sha256 = "03sjvmnrspkiq0w73xvp1w61pcxhv0djrdm3mvs8h0dp9pfc1n53";
+    sha256 = "sha256-rHMZBwwwX8LIjHcjYFVi2GBwMHMr7ukxzbQJHPBeabc=";
   };
 
   patches = [ ./0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch ];
diff --git a/pkgs/servers/routinator/default.nix b/pkgs/servers/routinator/default.nix
index 4a19932f23e3c..f1e705b0693e7 100644
--- a/pkgs/servers/routinator/default.nix
+++ b/pkgs/servers/routinator/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "routinator";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "NLnetLabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rxCgW4cuYNSJ9P+cBYWAYJsghz2bp9mpAh6AuwLoV5o=";
+    sha256 = "sha256-JwPAwhD+Pkx8Kx24m7z/RbEvDnI2YR8dnTgAV7TMsFE=";
   };
 
-  cargoSha256 = "0fcp4b2b0mjddj4blr20gvp1ih3ldzzr04rm1m06i8d2lnl68i79";
+  cargoSha256 = "sha256-lhSSyJxxHc0t43xoDMtr/lSVL0xZl6poPYiyYXNvKKQ=";
 
   meta = with lib; {
     description = "An RPKI Validator written in Rust";
diff --git a/pkgs/servers/rtsp-simple-server/default.nix b/pkgs/servers/rtsp-simple-server/default.nix
index cfc35e8528f7a..1cb5e37cb9470 100644
--- a/pkgs/servers/rtsp-simple-server/default.nix
+++ b/pkgs/servers/rtsp-simple-server/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "rtsp-simple-server";
-  version = "0.12.2";
+  version = "0.14.2";
 
   src = fetchFromGitHub {
     owner = "aler9";
     repo = pname;
     rev = "v${version}";
-    sha256 = "094brxiiapm7402q0ysaha2xk3wymc2kz8vqisjyiswz7wf4wsx0";
+    sha256 = "sha256-pnMUUxV4DM2YClwc24l+5Ehh5zc+qEOLTtiqh7c+8PI=";
   };
 
-  vendorSha256 = "007dyw825jsfma7sq5llxllhrzbkhqxr985s1nhg5cdd803gz42p";
+  vendorSha256 = "sha256-oWWUEPEpMLqXucQwUvM6fyGCwttTIV6ZcCM2VZXnKuM=";
 
   # Tests need docker
   doCheck = false;
diff --git a/pkgs/servers/sabnzbd/default.nix b/pkgs/servers/sabnzbd/default.nix
index 5f1f8e6230edd..4533e3138a7a5 100644
--- a/pkgs/servers/sabnzbd/default.nix
+++ b/pkgs/servers/sabnzbd/default.nix
@@ -30,7 +30,8 @@ in stdenv.mkDerivation rec {
     sha256 = "0m39r2il7d014kf2p6v28lw2hzshm6bhhdchqa8wzyvvmygqmwf2";
   };
 
-  buildInputs = [ pythonEnv makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ pythonEnv ];
 
   installPhase = ''
     mkdir -p $out
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index c125732cafcd5..0c422970d56a5 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -158,7 +158,8 @@ stdenv.mkDerivation rec {
     description = "The standard Windows interoperability suite of programs for Linux and Unix";
     license = licenses.gpl3;
     platforms = platforms.unix;
-    broken = stdenv.isDarwin;
+    # N.B. enableGlusterFS does not build
+    broken = stdenv.isDarwin || enableGlusterFS;
     maintainers = with maintainers; [ aneeshusa ];
   };
 }
diff --git a/pkgs/servers/search/elasticsearch/6.x.nix b/pkgs/servers/search/elasticsearch/6.x.nix
index 86230e11cb98d..b3ad305687afa 100644
--- a/pkgs/servers/search/elasticsearch/6.x.nix
+++ b/pkgs/servers/search/elasticsearch/6.x.nix
@@ -35,7 +35,8 @@ stdenv.mkDerivation (rec {
       "ES_CLASSPATH=\"\$ES_CLASSPATH:$out/\$additional_classpath_directory/*\""
   '';
 
-  buildInputs = [ makeWrapper jre_headless util-linux ]
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre_headless util-linux ]
              ++ optional enableUnfree zlib;
 
   installPhase = ''
diff --git a/pkgs/servers/search/elasticsearch/7.x.nix b/pkgs/servers/search/elasticsearch/7.x.nix
index 6a51e5ea62f82..ffe8a75412bdf 100644
--- a/pkgs/servers/search/elasticsearch/7.x.nix
+++ b/pkgs/servers/search/elasticsearch/7.x.nix
@@ -46,7 +46,8 @@ stdenv.mkDerivation (rec {
       "ES_CLASSPATH=\"\$ES_CLASSPATH:$out/\$additional_classpath_directory/*\""
   '';
 
-  buildInputs = [ makeWrapper jre_headless util-linux ]
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre_headless util-linux ]
              ++ optional enableUnfree zlib;
 
   installPhase = ''
diff --git a/pkgs/servers/sickbeard/sickgear.nix b/pkgs/servers/sickbeard/sickgear.nix
index afae82b4d3916..d9a3332e02145 100644
--- a/pkgs/servers/sickbeard/sickgear.nix
+++ b/pkgs/servers/sickbeard/sickgear.nix
@@ -4,13 +4,13 @@ let
   pythonEnv = python2.withPackages(ps: with ps; [ cheetah ]);
 in stdenv.mkDerivation rec {
   pname = "sickgear";
-  version = "0.23.5";
+  version = "0.23.10";
 
   src = fetchFromGitHub {
     owner = "SickGear";
     repo = "SickGear";
     rev = "release_${version}";
-    sha256 = "03wxrf9iyaianlnlcx8ks04r0snpg32a3qbq36cykcq2x55qnczq";
+    sha256 = "sha256-EkExTDU7T7FYZrDtF0AF8wjn9fp8y9SLmINYGv8zvXk=";
   };
 
   dontBuild = true;
diff --git a/pkgs/servers/sql/mariadb/galera/default.nix b/pkgs/servers/sql/mariadb/galera/default.nix
index 7d1c49815e44c..3c13388c4602d 100644
--- a/pkgs/servers/sql/mariadb/galera/default.nix
+++ b/pkgs/servers/sql/mariadb/galera/default.nix
@@ -10,13 +10,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "mariadb-galera";
-  version = "26.4.5";
+  version = "26.4.7";
 
   src = fetchFromGitHub {
     owner = "codership";
     repo = "galera";
     rev = "release_${version}";
-    sha256 = "10sir0hxxglw9jsjrclfgrqm8n5zng6rwj2fgff141x9n9l55w7l";
+    sha256 = "0h7s670pcasq8wzprhyxqfca2cghi62b8xz2kikb2a86wd453qil";
     fetchSubmodules = true;
   };
 
@@ -47,7 +47,6 @@ in stdenv.mkDerivation rec {
     install -m 444 "scripts/packages/freebsd/LICENSE" "$out/$GALERA_LICENSE_DIR"
     install -m 444 "LICENSE"                          "$out/$GALERA_LICENSE_DIR/GPLv2"
     install -m 444 "asio/LICENSE_1_0.txt"             "$out/$GALERA_LICENSE_DIR/LICENSE.asio"
-    install -m 444 "www.evanjones.ca/LICENSE"         "$out/$GALERA_LICENSE_DIR/LICENSE.crc32c"
   '';
 
   meta = with lib; {
diff --git a/pkgs/servers/sql/monetdb/default.nix b/pkgs/servers/sql/monetdb/default.nix
index 80033e406ee35..0cf704d5f2a91 100644
--- a/pkgs/servers/sql/monetdb/default.nix
+++ b/pkgs/servers/sql/monetdb/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "monetdb";
-  version = "11.39.11";
+  version = "11.39.13";
 
   src = fetchurl {
     url = "https://dev.monetdb.org/downloads/sources/archive/MonetDB-${version}.tar.bz2";
-    sha256 = "1b70r4b5m0r0xpy7i76xx0xsmwagsjdcp5j6nqfjcyn1m65ydzvs";
+    sha256 = "sha256-e30Vykwk6U83/0pS3OWPJ2Oq2SAtNc1S6c1ZO42k39c=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/sql/mysql/5.7.x.nix b/pkgs/servers/sql/mysql/5.7.x.nix
index 98166d0b38a81..5479009321536 100644
--- a/pkgs/servers/sql/mysql/5.7.x.nix
+++ b/pkgs/servers/sql/mysql/5.7.x.nix
@@ -23,8 +23,9 @@ self = stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake bison pkg-config rpcsvc-proto ];
 
-  buildInputs = [ boost libedit libevent lz4 ncurses openssl protobuf readline zlib libtirpc ]
-     ++ lib.optionals stdenv.isDarwin [ perl cctools CoreServices developer_cmds ];
+  buildInputs = [ boost libedit libevent lz4 ncurses openssl protobuf readline zlib ]
+     ++ lib.optionals stdenv.isDarwin [ perl cctools CoreServices developer_cmds ]
+     ++ lib.optionals stdenv.isLinux [ libtirpc ];
 
   outputs = [ "out" "static" ];
 
diff --git a/pkgs/servers/sql/patroni/default.nix b/pkgs/servers/sql/patroni/default.nix
index 682dbe45f7d01..e02d386126ae6 100644
--- a/pkgs/servers/sql/patroni/default.nix
+++ b/pkgs/servers/sql/patroni/default.nix
@@ -1,14 +1,17 @@
-{ lib, pythonPackages, fetchFromGitHub }:
+{ lib
+, pythonPackages
+, fetchFromGitHub
+}:
 
 pythonPackages.buildPythonApplication rec {
   pname = "patroni";
-  version = "1.6.5";
+  version = "2.0.2";
 
   src = fetchFromGitHub {
     owner = "zalando";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0iw0ra9fya4bf1vkjq3w5kij4x46yinb90v015pi9c6qfpancfdj";
+    sha256 = "048g211njwmgl2v7nx6x5x82b4bbp35n234z7ah10aybm3yrxnc7";
   };
 
   # cdiff renamed to ydiff; remove when patroni source reflects this.
@@ -28,6 +31,7 @@ pythonPackages.buildPythonApplication rec {
     prettytable
     psutil
     psycopg2
+    pysyncobj
     python-dateutil
     python-etcd
     pyyaml
@@ -40,13 +44,15 @@ pythonPackages.buildPythonApplication rec {
     flake8
     mock
     pytestCheckHook
-    pytestcov
+    pytest-cov
     requests
   ];
 
   # Fix tests by preventing them from writing to /homeless-shelter.
   preCheck = "export HOME=$(mktemp -d)";
 
+  pythonImportsCheck = [ "patroni" ];
+
   meta = with lib; {
     homepage = "https://patroni.readthedocs.io/en/latest/";
     description = "A Template for PostgreSQL HA with ZooKeeper, etcd or Consul";
diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix
index 27345616f8951..3dd811b51fa75 100644
--- a/pkgs/servers/sql/postgresql/default.nix
+++ b/pkgs/servers/sql/postgresql/default.nix
@@ -35,12 +35,12 @@ let
     setOutputFlags = false; # $out retains configureFlags :-/
 
     buildInputs =
-      [ zlib readline openssl libxml2 makeWrapper ]
+      [ zlib readline openssl libxml2 ]
       ++ lib.optionals icuEnabled [ icu ]
       ++ lib.optionals enableSystemd [ systemd ]
       ++ lib.optionals (!stdenv.isDarwin) [ libossp_uuid ];
 
-    nativeBuildInputs = lib.optionals icuEnabled [ pkg-config ];
+    nativeBuildInputs = [ makeWrapper ] ++ lib.optionals icuEnabled [ pkg-config ];
 
     enableParallelBuilding = !stdenv.isDarwin;
 
@@ -192,54 +192,54 @@ let
 in self: {
 
   postgresql_9_5 = self.callPackage generic {
-    version = "9.5.24";
+    version = "9.5.25";
     psqlSchema = "9.5";
-    sha256 = "0an2k4m1da96897hyxlff8p4p63wg4dffwsfg57aib7mp4yzsp06";
+    sha256 = "00yny0sskxrqk4ji2phgv3iqxd1aiy6rh660k73s4s1pn9gcaa3n";
     this = self.postgresql_9_5;
     thisAttr = "postgresql_9_5";
     inherit self;
   };
 
   postgresql_9_6 = self.callPackage generic {
-    version = "9.6.20";
+    version = "9.6.21";
     psqlSchema = "9.6";
-    sha256 = "1dkv916y7vrfbygrfbfvs6y3fxaysnh32i5j88nvcnnl16jcn21x";
+    sha256 = "0d0ngpadf1i7c0i2psaxcbmiwx8334ibcsn283n9fp4853pyl3wk";
     this = self.postgresql_9_6;
     thisAttr = "postgresql_9_6";
     inherit self;
   };
 
   postgresql_10 = self.callPackage generic {
-    version = "10.15";
+    version = "10.16";
     psqlSchema = "10.0"; # should be 10, but changing it is invasive
-    sha256 = "0zhzj9skag1pgqas2rnd217vj41ilaalqna17j47gyngpvhbqmjr";
+    sha256 = "1cvv8qw0gkkczqhiwx6ns7w88dwkvdz4cvb2d4ff14363f5p2p53";
     this = self.postgresql_10;
     thisAttr = "postgresql_10";
     inherit self;
   };
 
   postgresql_11 = self.callPackage generic {
-    version = "11.10";
+    version = "11.11";
     psqlSchema = "11.1"; # should be 11, but changing it is invasive
-    sha256 = "16bqp6ds37kbwqx7mk5gg3y6gv59wq6xz33iqwxldzk20vwd5rhk";
+    sha256 = "0v0qk298nxmpzpgsxcsxma328hdkyzd7fwjs0zsn6zavl5zpnq20";
     this = self.postgresql_11;
     thisAttr = "postgresql_11";
     inherit self;
   };
 
   postgresql_12 = self.callPackage generic {
-    version = "12.5";
+    version = "12.6";
     psqlSchema = "12";
-    sha256 = "15gzg778da23sbfmy7sqg443f9ny480301lm7i3vay4m3ls2a3dx";
+    sha256 = "028asz92mi3706zabfs8w9z03mzyx62d1l71qy9zdwfabj6xjzfz";
     this = self.postgresql_12;
     thisAttr = "postgresql_12";
     inherit self;
   };
 
   postgresql_13 = self.callPackage generic {
-    version = "13.1";
+    version = "13.2";
     psqlSchema = "13";
-    sha256 = "07z6zwr58dckaa97yl9ml240z83d1lhgaxw9aq49i8lsp21mqd0j";
+    sha256 = "1z5d847jnajcfr3wa6jn52a8xjhamvwzmz18xlm5nvxqip8grmsz";
     this = self.postgresql_13;
     thisAttr = "postgresql_13";
     inherit self;
diff --git a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
index 99a81f875484f..7459da6d6cd37 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pg_auto_failover";
-  version = "1.4.1";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
     owner = "citusdata";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0x19p0b9hv1hkhwjm68cm8gskhnsl7np4si8wl0ablf6kasyl3q7";
+    sha256 = "030vm83ksfi4daypr4hamvvfs4g1ckww4ldg7rrk6c6hqkppykpa";
   };
 
   buildInputs = [ postgresql openssl zlib readline ];
diff --git a/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix b/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
index d6df5e4ba0d58..8f922baea6620 100644
--- a/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
+++ b/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "plpgsql_check";
-  version = "1.15.2";
+  version = "1.15.3";
 
   src = fetchFromGitHub {
     owner = "okbob";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mYFItrFC0BeRwLfZA1SAV+4rvrNrx75lTWS7w2ZDHag=";
+    sha256 = "sha256-TbQanXNdomEjp11izowy4763NsQWUe5rLxoEmuHKFn0=";
   };
 
   buildInputs = [ postgresql ];
diff --git a/pkgs/servers/sql/postgresql/ext/plr.nix b/pkgs/servers/sql/postgresql/ext/plr.nix
new file mode 100644
index 0000000000000..0bd727e7acf96
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/ext/plr.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchFromGitHub, pkg-config, R, postgresql }:
+
+stdenv.mkDerivation rec {
+  pname = "plr";
+  version = "8.4.1";
+
+  src = fetchFromGitHub {
+    owner = "postgres-plr";
+    repo = "plr";
+    rev = "REL${builtins.replaceStrings ["."] ["_"] version}";
+    sha256 = "1wy4blg8jl30kzhrkvbncl4gmy6k71zipnq89ykwi1vmx89v3ab7";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ R postgresql ];
+  preBuild = ''
+    export USE_PGXS=1
+  '';
+  installPhase = ''
+    install -D plr.so -t $out/lib/
+    install -D {plr--unpackaged--8.4.1.sql,plr--8.4.1.sql,plr.control} -t $out/share/postgresql/extension
+  '';
+
+  meta = with lib; {
+    description = "PL/R - R Procedural Language for PostgreSQL";
+    homepage = "https://github.com/postgres-plr/plr";
+    maintainers = with maintainers; [ qoelet ];
+    platforms = [ "x86_64-linux" ];
+    license = licenses.gpl2Only;
+  };
+}
diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/pkgs/servers/sql/postgresql/ext/timescaledb.nix
index d10907805aa90..69e140058f007 100644
--- a/pkgs/servers/sql/postgresql/ext/timescaledb.nix
+++ b/pkgs/servers/sql/postgresql/ext/timescaledb.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   pname = "timescaledb";
-  version = "2.0.1";
+  version = "2.1.0";
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ postgresql openssl ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     owner  = "timescale";
     repo   = "timescaledb";
     rev    = "refs/tags/${version}";
-    sha256 = "105zc5m3zvnrqr8409qdbycb4yp7znxmna76ri1m2djkdp5rh4q1";
+    sha256 = "03bsvf5iwgiwxq4p1pxri795n3qm70gvd1sz9p0dxixxsjl34vxf";
   };
 
   # -DWARNINGS_AS_ERRORS=OFF to be removed once https://github.com/timescale/timescaledb/issues/2770 is fixed in upstream
diff --git a/pkgs/servers/sql/postgresql/packages.nix b/pkgs/servers/sql/postgresql/packages.nix
index d45c2d37c8db9..e8b2f4130a598 100644
--- a/pkgs/servers/sql/postgresql/packages.nix
+++ b/pkgs/servers/sql/postgresql/packages.nix
@@ -27,6 +27,8 @@ self: super: {
 
     plpgsql_check = super.callPackage ./ext/plpgsql_check.nix { };
 
+    plr = super.callPackage ./ext/plr.nix { };
+
     plv8 = super.callPackage ./ext/plv8.nix {
         v8 = super.callPackage ../../../development/libraries/v8/plv8_6_x.nix {
             python = self.python2;
diff --git a/pkgs/servers/swego/default.nix b/pkgs/servers/swego/default.nix
index 4c7c9d7645037..184c54ba9ca86 100644
--- a/pkgs/servers/swego/default.nix
+++ b/pkgs/servers/swego/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "swego";
-  version = "0.7";
+  version = "0.92";
 
   src = fetchFromGitHub {
     owner = "nodauf";
     repo = "Swego";
     rev = "v${version}";
-    sha256 = "14qww4ndvrxmrgkggr8hyvfpz2v7fw0vq6s8715mxa28f8pfi78b";
+    sha256 = "sha256-SiB0Z6Eqbn/6VGDTt5bQtgcT4V4AjRIIYYk98EW7ss4=";
   };
 
-  vendorSha256 = "068drahh0aysrm8cr5pgik27jqyk28bsx5130mc2v3xd0xmk8yp1";
+  vendorSha256 = "sha256-EPcyhnTis7g0uVl+cJdG7iMbisjh7iuMhpzM/SSOeFI=";
 
   postInstall = ''
     mv $out/bin/src $out/bin/$pname
diff --git a/pkgs/servers/tailscale/default.nix b/pkgs/servers/tailscale/default.nix
index 201c08d813f7b..32c5a23a9a794 100644
--- a/pkgs/servers/tailscale/default.nix
+++ b/pkgs/servers/tailscale/default.nix
@@ -2,21 +2,20 @@
 
 buildGoModule rec {
   pname = "tailscale";
-  version = "1.4.1";
-  tagHash = "6e7df630dec919ce41099ea12ab5f5d05354d303"; # from `git rev-parse v1.4.1`
+  version = "1.4.5";
 
   src = fetchFromGitHub {
     owner = "tailscale";
     repo = "tailscale";
     rev = "v${version}";
-    sha256 = "1sfvsp9zf45rwfgia1jdymkanyys7x6wlnkq64w98jml8zsnn8yj";
+    sha256 = "sha256-PMBlvres95UIbd3uqZWPE3OzyrEAGEXit/Z7X1p46GY=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
   CGO_ENABLED = 0;
 
-  vendorSha256 = "16aa7jc2h59hnnh0mfmnd0k198dijm9j4c44j80wpzlhf4x27yjs";
+  vendorSha256 = "sha256-WvojOnGQ/ssBkoQwIlOVsaEUJmi2ugqgtTAVKJg8Spk=";
 
   doCheck = false;
 
@@ -25,7 +24,7 @@ buildGoModule rec {
   preBuild = ''
     export buildFlagsArray=(
       -tags="xversion"
-      -ldflags="-X tailscale.com/version.Long=${version} -X tailscale.com/version.Short=${version} -X tailscale.com/version.GitCommit=${tagHash}"
+      -ldflags="-X tailscale.com/version.Long=${version} -X tailscale.com/version.Short=${version}"
     )
   '';
 
diff --git a/pkgs/servers/tarssh/default.nix b/pkgs/servers/tarssh/default.nix
index 9240b9c51a283..ac7f267826012 100644
--- a/pkgs/servers/tarssh/default.nix
+++ b/pkgs/servers/tarssh/default.nix
@@ -4,16 +4,16 @@ with rustPlatform;
 
 buildRustPackage rec {
   pname = "tarssh";
-  version = "0.5.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "Freaky";
     repo = pname;
-    sha256 = "1waxfbw9lqbqv8igb291pjqg22324lzv4p7fsdfrkvxf95jd2i03";
+    sha256 = "sha256-AoKc8VF6rqYIsijIfgvevwu+6+suOO7XQCXXgAPNgLk=";
   };
 
-  cargoSha256 = "1f3anrh2y8yg7l4nilwk0a7c7kq5yvg07cqh75igjdb5a7p9di0j";
+  cargoSha256 = "sha256-7X9klYVZ2yE8BPuLhzWkuT7VFpmdOZGSD0D1x3kBNEs=";
 
   meta = with lib; {
     description = "A simple SSH tarpit inspired by endlessh";
diff --git a/pkgs/servers/tautulli/default.nix b/pkgs/servers/tautulli/default.nix
index c7e88eb0c4632..61f9c7851855d 100644
--- a/pkgs/servers/tautulli/default.nix
+++ b/pkgs/servers/tautulli/default.nix
@@ -15,8 +15,6 @@ buildPythonApplication rec {
     sha256 = "QHpVIOtGFzNqAEcBCv48YWO4pYatbTe/CWwcwjbj+34=";
   };
 
-  doBuild = false;
-
   installPhase = ''
     mkdir -p $out/bin $out/libexec/tautulli
     cp -R contrib data lib plexpy Tautulli.py $out/libexec/tautulli
diff --git a/pkgs/servers/teleport/default.nix b/pkgs/servers/teleport/default.nix
index 5cd3448f668f2..8650ff108ebae 100644
--- a/pkgs/servers/teleport/default.nix
+++ b/pkgs/servers/teleport/default.nix
@@ -4,21 +4,21 @@ let
   webassets = fetchFromGitHub {
     owner = "gravitational";
     repo = "webassets";
-    rev = "eb98cd28e34144c6473b79743066d1c63c6427ab";
+    rev = "2d79788dbcd005bdcfe5b5120007d0faf8f1fc82";
     sha256 = "001a3bx8yyx1hq8y5yiy1jzp122q8gcl369lj0609gaxp6dk5bdw";
   };
 in
 
 buildGoPackage rec {
   pname = "teleport";
-  version = "5.1.0";
+  version = "5.1.2";
 
   # This repo has a private submodule "e" which fetchgit cannot handle without failing.
   src = fetchFromGitHub {
     owner = "gravitational";
     repo = "teleport";
     rev = "v${version}";
-    sha256 = "0jkr4max6mcn8k5nhlg71byb0yzr9kplpl1q96pdk2gbvkh7q6xb";
+    sha256 = "0h1hn2dpdsmhxac06gn6787z2mnfcwb3wn0c2l7l2qhw6iqpgmvh";
   };
 
   goPackagePath = "github.com/gravitational/teleport";
@@ -41,13 +41,29 @@ buildGoPackage rec {
     popd
   '';
 
-  dontStrip = true;
+  # Reduce closure size for client machines
+  outputs = [ "out" "client" ];
 
-  meta = {
+  buildTargets = [ "full" ];
+
+  postInstall = ''
+    install -Dm755 -t $client/bin $out/bin/tsh
+  '';
+
+  doInstallCheck = true;
+
+  installCheckPhase = ''
+    $out/bin/tsh version | grep ${version} > /dev/null
+    $client/bin/tsh version | grep ${version} > /dev/null
+    $out/bin/tctl version | grep ${version} > /dev/null
+    $out/bin/teleport version | grep ${version} > /dev/null
+  '';
+
+  meta = with lib; {
     description = "A SSH CA management suite";
     homepage = "https://gravitational.com/teleport/";
-    license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ sigma tomberek ];
-    platforms = lib.platforms.unix;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ sigma tomberek freezeboy ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/tracing/tempo/default.nix b/pkgs/servers/tracing/tempo/default.nix
index 6e5ae662b0181..22c1df884b4f0 100644
--- a/pkgs/servers/tracing/tempo/default.nix
+++ b/pkgs/servers/tracing/tempo/default.nix
@@ -1,14 +1,14 @@
 { lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
-  version = "0.4.0";
+  version = "0.5.0";
   pname = "tempo";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "grafana";
     repo = "tempo";
-    sha256 = "16hrvhnlciaf06l34p3bb3nvmxr8zwbh7zql13zja1hs0kvwxv5c";
+    sha256 = "sha256-Har0JJqr6mkliKh25n+F4tork+bzfI/bv19H/rIRb9g=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/servers/traefik/default.nix b/pkgs/servers/traefik/default.nix
index 340bad6bdc8a7..e8282ec4c0ba3 100644
--- a/pkgs/servers/traefik/default.nix
+++ b/pkgs/servers/traefik/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "traefik";
-  version = "2.3.4";
+  version = "2.4.3";
 
   src = fetchzip {
     url = "https://github.com/traefik/traefik/releases/download/v${version}/traefik-v${version}.src.tar.gz";
-    sha256 = "1vdnd6nb8bfiwd51rrqhrc9p8lh3fhny49lapgbzk36ynqc97bi5";
+    sha256 = "sha256-lCUwzd+ECi2g5jv6ksxrlDdx7cjLgBnaBdYbgzADkcg=";
     stripRoot = false;
   };
 
-  vendorSha256 = "0h3j0b034yh70c9bscj1k1jy8igsr7p0i014yr0zl7wlc6s6c9bp";
+  vendorSha256 = "sha256-kCRXDEuaxFVZuP7PkmZIiXjhMUWjMYbOOtWl4V81DeI=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/ums/default.nix b/pkgs/servers/ums/default.nix
index 61bb815892adb..3d4e4fdf51dc6 100644
--- a/pkgs/servers/ums/default.nix
+++ b/pkgs/servers/ums/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
    };
   }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     cp -a . $out/
diff --git a/pkgs/servers/uwsgi/default.nix b/pkgs/servers/uwsgi/default.nix
index bd74a62887745..ddfa6faf2438b 100644
--- a/pkgs/servers/uwsgi/default.nix
+++ b/pkgs/servers/uwsgi/default.nix
@@ -5,7 +5,7 @@
 , systemd, withSystemd ? stdenv.isLinux
 , libcap, withCap ? stdenv.isLinux
 , python2, python3, ncurses
-, ruby, php, libmysqlclient
+, ruby, php
 }:
 
 let php-embed = php.override {
diff --git a/pkgs/servers/varnish/dynamic.nix b/pkgs/servers/varnish/dynamic.nix
index 20f8aa91ab656..6ad8288871b18 100644
--- a/pkgs/servers/varnish/dynamic.nix
+++ b/pkgs/servers/varnish/dynamic.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, varnish, docutils }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook269, pkg-config, varnish, docutils }:
 
 stdenv.mkDerivation rec {
   version = "0.4";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1n94slrm6vn3hpymfkla03gw9603jajclg84bjhwb8kxsk3rxpmk";
   };
 
-  nativeBuildInputs = [ pkg-config docutils autoreconfHook varnish.python ];
+  nativeBuildInputs = [ pkg-config docutils autoreconfHook269 varnish.python ];
   buildInputs = [ varnish ];
   postPatch = ''
     substituteInPlace Makefile.am --replace "''${LIBVARNISHAPI_DATAROOTDIR}/aclocal" "${varnish.dev}/share/aclocal"
diff --git a/pkgs/servers/web-apps/cryptpad/node-packages-generated.nix b/pkgs/servers/web-apps/cryptpad/node-packages-generated.nix
index c8186e1d02c2f..47e64e9d911e9 100644
--- a/pkgs/servers/web-apps/cryptpad/node-packages-generated.nix
+++ b/pkgs/servers/web-apps/cryptpad/node-packages-generated.nix
@@ -1,6 +1,6 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
 let
   sources = {
@@ -49,13 +49,13 @@ let
         sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048";
       };
     };
-    "chainpad-crypto-0.2.4" = {
+    "chainpad-crypto-0.2.5" = {
       name = "chainpad-crypto";
       packageName = "chainpad-crypto";
-      version = "0.2.4";
+      version = "0.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chainpad-crypto/-/chainpad-crypto-0.2.4.tgz";
-        sha512 = "fWbVyeAv35vf/dkkQaefASlJcEfpEvfRI23Mtn+/TBBry7+LYNuJMXJiovVY35pfyw2+trKh1Py5Asg9vrmaVg==";
+        url = "https://registry.npmjs.org/chainpad-crypto/-/chainpad-crypto-0.2.5.tgz";
+        sha512 = "K9vRsAspuX+uU1goXPz0CawpLIaOHq+1JP3WfDLqaz67LbCX/MLIUt9aMcSeIJcwZ9uMpqnbMGRktyVPoz6MCA==";
       };
     };
     "chainpad-server-4.0.9" = {
@@ -337,22 +337,22 @@ let
         sha512 = "KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==";
       };
     };
-    "mime-db-1.44.0" = {
+    "mime-db-1.45.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.44.0";
+      version = "1.45.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz";
-        sha512 = "/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz";
+        sha512 = "CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==";
       };
     };
-    "mime-types-2.1.27" = {
+    "mime-types-2.1.28" = {
       name = "mime-types";
       packageName = "mime-types";
-      version = "2.1.27";
+      version = "2.1.28";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz";
-        sha512 = "JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz";
+        sha512 = "0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==";
       };
     };
     "ms-2.0.0" = {
@@ -562,12 +562,12 @@ let
         sha1 = "bd59f890507856fb0a1136acc3a8b44547e29ddb";
       };
     };
-    "tweetnacl-git://github.com/dchest/tweetnacl-js.git#v0.12.2" = {
+    "tweetnacl-git+https://github.com/dchest/tweetnacl-js.git#v0.12.2" = {
       name = "tweetnacl";
       packageName = "tweetnacl";
       version = "0.12.2";
       src = fetchgit {
-        url = "git://github.com/dchest/tweetnacl-js.git";
+        url = "https://github.com/dchest/tweetnacl-js.git";
         rev = "8a21381d696acdc4e99c9f706f1ad23285795f79";
         sha256 = "10f27b673944107995b3f6dcd65caecd705acdae9c37b7e79b810a8a72a40a31";
       };
@@ -662,9 +662,9 @@ in
       sources."async-limiter-1.0.1"
       sources."body-parser-1.18.3"
       sources."bytes-3.0.0"
-      (sources."chainpad-crypto-0.2.4" // {
+      (sources."chainpad-crypto-0.2.5" // {
         dependencies = [
-          sources."tweetnacl-git://github.com/dchest/tweetnacl-js.git#v0.12.2"
+          sources."tweetnacl-git+https://github.com/dchest/tweetnacl-js.git#v0.12.2"
         ];
       })
       sources."chainpad-server-4.0.9"
@@ -698,8 +698,8 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.4.1"
-      sources."mime-db-1.44.0"
-      sources."mime-types-2.1.27"
+      sources."mime-db-1.45.0"
+      sources."mime-types-2.1.28"
       sources."ms-2.0.0"
       sources."negotiator-0.6.2"
       sources."netflux-websocket-0.1.20"
diff --git a/pkgs/servers/web-apps/cryptpad/node-packages.nix b/pkgs/servers/web-apps/cryptpad/node-packages.nix
index e1a2c0edbee73..76d5cf6a202f1 100644
--- a/pkgs/servers/web-apps/cryptpad/node-packages.nix
+++ b/pkgs/servers/web-apps/cryptpad/node-packages.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
@@ -6,12 +6,12 @@
 
 let
   nodeEnv = import ../../../development/node-packages/node-env.nix {
-    inherit (pkgs) lib stdenv python2 util-linux runCommand writeTextFile;
-    inherit nodejs;
+    inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
+    inherit pkgs nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
 import ./node-packages-generated.nix {
-  inherit (pkgs) fetchurl fetchgit;
+  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
   inherit nodeEnv;
 }
diff --git a/pkgs/servers/web-apps/galene/default.nix b/pkgs/servers/web-apps/galene/default.nix
new file mode 100644
index 0000000000000..1c2e16f76fc64
--- /dev/null
+++ b/pkgs/servers/web-apps/galene/default.nix
@@ -0,0 +1,30 @@
+{ lib, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+  pname = "galene";
+  version = "0.2";
+
+  src = fetchFromGitHub {
+    owner = "jech";
+    repo = "galene";
+    rev = "galene-${version}";
+    sha256 = "0hpgqqv8mp1d3sk7dk49m3yv0cv4afa0v3vdd4w8mdnx6pcqdgy1";
+  };
+
+  vendorSha256 = "12b7andpzsgzmd56gg4gc5ilkxvjrpwpmwbdmygfzgkd5jncmcgp";
+
+  outputs = [ "out" "static" ];
+
+  postInstall = ''
+    mkdir $static
+    cp -r ./static $static
+  '';
+
+  meta = with lib; {
+    description = "Videoconferencing server that is easy to deploy, written in Go";
+    homepage = "https://github.com/jech/galene";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ rgrunbla ];
+  };
+}
diff --git a/pkgs/servers/web-apps/jitsi-meet/default.nix b/pkgs/servers/web-apps/jitsi-meet/default.nix
index 4b33048e92386..719fab87eada4 100644
--- a/pkgs/servers/web-apps/jitsi-meet/default.nix
+++ b/pkgs/servers/web-apps/jitsi-meet/default.nix
@@ -1,19 +1,21 @@
-{ pkgs, lib, stdenv, fetchurl, nixosTests }:
+{ lib, stdenv, fetchurl, nixosTests }:
 
 stdenv.mkDerivation rec {
   pname = "jitsi-meet";
-  version = "1.0.4289";
+  version = "1.0.4628";
 
   src = fetchurl {
     url = "https://download.jitsi.org/jitsi-meet/src/jitsi-meet-${version}.tar.bz2";
-    sha256 = "0hs6hjcb0cxmakx2na3xkz9bld0xcil5slp4wjl5xql3s00mk10v";
+    sha256 = "1kw4byy6mvqk3qd5nk5raka1bl9jp0kniszq6j5kc8nz3jql4qdz";
   };
 
   dontBuild = true;
 
   installPhase = ''
+    runHook preInstall
     mkdir $out
     mv * $out/
+    runHook postInstall
   '';
 
   passthru.tests = {
diff --git a/pkgs/servers/web-apps/virtlyst/default.nix b/pkgs/servers/web-apps/virtlyst/default.nix
index 05741e0ac21af..3ff42050eb2d0 100644
--- a/pkgs/servers/web-apps/virtlyst/default.nix
+++ b/pkgs/servers/web-apps/virtlyst/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkg-config autoPatchelfHook ];
   buildInputs = [ qtbase libvirt cutelyst grantlee ];
 
+  dontWrapQtApps = true;
+
   installPhase = ''
     mkdir -p $out/lib
     cp src/libVirtlyst.so $out/lib
diff --git a/pkgs/servers/web-apps/wallabag/default.nix b/pkgs/servers/web-apps/wallabag/default.nix
index c8722fbe8f753..44f207e3b86a7 100644
--- a/pkgs/servers/web-apps/wallabag/default.nix
+++ b/pkgs/servers/web-apps/wallabag/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wallabag";
-  version = "2.4.0";
+  version = "2.4.1";
 
   # remember to rm -r var/cache/* after a rebuild or unexpected errors will occur
 
   src = fetchurl {
     url = "https://static.wallabag.org/releases/wallabag-release-${version}.tar.gz";
-    sha256 = "11vda7aqq82kpr88v4hr7zg19zfq970n3z4qp25my8b1fvlgdjhi";
+    sha256 = "1dqf5ia66kjsnfad2xkm8w6jgs976mf9x0dcd73jybqfgs4j09kj";
   };
 
   outputs = [ "out" ];
diff --git a/pkgs/servers/web-apps/whitebophir/node-packages-generated.nix b/pkgs/servers/web-apps/whitebophir/node-packages-generated.nix
index af58cbf3f9bbd..17f170c4af123 100644
--- a/pkgs/servers/web-apps/whitebophir/node-packages-generated.nix
+++ b/pkgs/servers/web-apps/whitebophir/node-packages-generated.nix
@@ -1,6 +1,6 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
 let
   sources = {
@@ -22,31 +22,31 @@ let
         sha512 = "g6MJ5tVszip1wAOq41yk8Z0WJqjfpu3hKaos/IaechYC4RqIn8bTanNR/EGD6oeOdJ9/fTPbQQX5/3ZQwSTXtQ==";
       };
     };
-    "@formatjs/ecma402-abstract-1.5.0" = {
+    "@formatjs/ecma402-abstract-1.5.1" = {
       name = "_at_formatjs_slash_ecma402-abstract";
       packageName = "@formatjs/ecma402-abstract";
-      version = "1.5.0";
+      version = "1.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.5.0.tgz";
-        sha512 = "wXv36yo+mfWllweN0Fq7sUs7PUiNopn7I0JpLTe3hGu6ZMR4CV7LqK1llhB18pndwpKoafQKb1et2DCJAOW20Q==";
+        url = "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.5.1.tgz";
+        sha512 = "io9XhgIpEbc6jSdn4QVnJeFaUzy6gS5fGiIRCUJ7QKqCNp69JS8EJPW8gCtvwz+JQtx2SJvhaMJbzz3rGkTXBA==";
       };
     };
-    "@formatjs/intl-datetimeformat-3.2.2" = {
+    "@formatjs/intl-datetimeformat-3.2.3" = {
       name = "_at_formatjs_slash_intl-datetimeformat";
       packageName = "@formatjs/intl-datetimeformat";
-      version = "3.2.2";
+      version = "3.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@formatjs/intl-datetimeformat/-/intl-datetimeformat-3.2.2.tgz";
-        sha512 = "wIqe4dPzbYB6SrJWNPKBnXkPj1pR68qtGCzHkPo8JGRpWQcVpHh3Cigw1cQs2I9M1F9dOtFHQP6gi+xsb1kAiA==";
+        url = "https://registry.npmjs.org/@formatjs/intl-datetimeformat/-/intl-datetimeformat-3.2.3.tgz";
+        sha512 = "KnQUVuctlozQHULnBi+WLZDAGznFYviVU2HqgCYin2ZEz45IJ9dIZH9gqwsIgiLDgudptHfbj98I3JeKJhprcg==";
       };
     };
-    "@formatjs/intl-displaynames-4.0.3" = {
+    "@formatjs/intl-displaynames-4.0.4" = {
       name = "_at_formatjs_slash_intl-displaynames";
       packageName = "@formatjs/intl-displaynames";
-      version = "4.0.3";
+      version = "4.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-4.0.3.tgz";
-        sha512 = "wNJZzIzlA88oyHZAFdAnLKV/srtIrU//md9SU2Bo0LKXKIukz/g5LmJlyhq6uF1oYoJzVvvTxoVXscBJmKcJmg==";
+        url = "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-4.0.4.tgz";
+        sha512 = "oNeLM0vZDFNZSqrz70XhxbMGtjfQ7T/UUcA9K4DvjWX6vmgCbpw5rdwEddhTotY3EmTyUJueK+14e2gIwfCbBA==";
       };
     };
     "@formatjs/intl-getcanonicallocales-1.5.3" = {
@@ -58,49 +58,49 @@ let
         sha512 = "QVBnSPZ32Y80wkXbf36hP9VbyklbOb8edppxFcgO9Lbd47zagllw65Y81QOHEn/j11JcTn2OhW0vea95LHvQmA==";
       };
     };
-    "@formatjs/intl-listformat-5.0.3" = {
+    "@formatjs/intl-listformat-5.0.4" = {
       name = "_at_formatjs_slash_intl-listformat";
       packageName = "@formatjs/intl-listformat";
-      version = "5.0.3";
+      version = "5.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-5.0.3.tgz";
-        sha512 = "IaW428RI5RpwXr/+doYT1H4ZHL3mYLU3nzR7ZaTkk5dBi1PKKGk1sDwymEzVxyrELT0WHhqhqLKdLjXAqxCz9g==";
+        url = "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-5.0.4.tgz";
+        sha512 = "0DQ2NF1PmO3+mvZp4V/SPNk7kUaLDcZR3eWbN8cGvSafWOrcv1iEcTXOd8ow8u9OA0gBTWwgPDcQFn7W0mU8kw==";
       };
     };
-    "@formatjs/intl-locale-2.4.12" = {
+    "@formatjs/intl-locale-2.4.13" = {
       name = "_at_formatjs_slash_intl-locale";
       packageName = "@formatjs/intl-locale";
-      version = "2.4.12";
+      version = "2.4.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@formatjs/intl-locale/-/intl-locale-2.4.12.tgz";
-        sha512 = "40khHPYtZRdqjQs1fItNj94eMoiGwJJOAKN//9qUhAsHrXvGxseFVBSg+mItV0Orwb3wqItUj3hu6evrouhstw==";
+        url = "https://registry.npmjs.org/@formatjs/intl-locale/-/intl-locale-2.4.13.tgz";
+        sha512 = "hrglCuFjRpMrutmuL+Ck84KBxeHhouk7d5B/G9kqHL4zmrW6AsBwU+0KeyvareiY3MWzYZhQj1Nm3JEGulQRUQ==";
       };
     };
-    "@formatjs/intl-numberformat-6.1.2" = {
+    "@formatjs/intl-numberformat-6.1.3" = {
       name = "_at_formatjs_slash_intl-numberformat";
       packageName = "@formatjs/intl-numberformat";
-      version = "6.1.2";
+      version = "6.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@formatjs/intl-numberformat/-/intl-numberformat-6.1.2.tgz";
-        sha512 = "td0XggQKu8dlPUlP2f322NW0WY58zWLlOoiUVh4eolcWqOs4maKL8tjmFBPXSQt55JiKy14ZrDw1dljyNHLB0g==";
+        url = "https://registry.npmjs.org/@formatjs/intl-numberformat/-/intl-numberformat-6.1.3.tgz";
+        sha512 = "bLVEt4G7IfacLpiBKg2VfHKnPrzWOWX/jxEi+OIUk6M2bEfYj8Vi1nYGb8+D7ZHCbuj/L7+lnlL4bItPTXT8JA==";
       };
     };
-    "@formatjs/intl-pluralrules-4.0.2" = {
+    "@formatjs/intl-pluralrules-4.0.5" = {
       name = "_at_formatjs_slash_intl-pluralrules";
       packageName = "@formatjs/intl-pluralrules";
-      version = "4.0.2";
+      version = "4.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@formatjs/intl-pluralrules/-/intl-pluralrules-4.0.2.tgz";
-        sha512 = "Oh4zmA3odkXBCPAGVhZuAnP3IfCPy8DyizA9s4QkYptVICX38RbUvXwzr2a9DVpKNiZ7i2TnV4Qkeo06N/6b7Q==";
+        url = "https://registry.npmjs.org/@formatjs/intl-pluralrules/-/intl-pluralrules-4.0.5.tgz";
+        sha512 = "mWsCpc/SZ6rk0Qb3zpv5bUz6uJysW6qap0qJJz6d0MJpszN3GNsk8CbP5q62oUaWvBmHoeXBvAG9VVEu1TUexw==";
       };
     };
-    "@formatjs/intl-relativetimeformat-8.0.2" = {
+    "@formatjs/intl-relativetimeformat-8.0.3" = {
       name = "_at_formatjs_slash_intl-relativetimeformat";
       packageName = "@formatjs/intl-relativetimeformat";
-      version = "8.0.2";
+      version = "8.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-8.0.2.tgz";
-        sha512 = "RBO+4zxJuIYtYGfxv1GuZJQDtrA+fZlgcHjSVoo5HwznWdfg5vVTe8qdbSDbdyFobbB2OYqwj4mcRO2M5P1oNw==";
+        url = "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-8.0.3.tgz";
+        sha512 = "OIobPtY5vtwe5IM0B0J3KmewYB/NTcbgiW9yRdWzMA1TeFSd8LfuficICYuzUZt25Kh/eIw4g37ArhS1WH/6Iw==";
       };
     };
     "@juggle/resize-observer-3.2.0" = {
@@ -139,13 +139,13 @@ let
         sha512 = "zurD1ibz21BRlAOIKP8yhrxlqKx6L9VCwkB5kMiP6nZAhoF5MvC7qS1qPA7nRcr1GJolfkQC7/EAL4hdYejLtg==";
       };
     };
-    "@types/node-14.14.20" = {
+    "@types/node-14.14.22" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "14.14.20";
+      version = "14.14.22";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-14.14.20.tgz";
-        sha512 = "Y93R97Ouif9JEOWPIUyU+eyIdyRqQR0I8Ez1dzku4hDx34NWh4HbtIc3WNzwB1Y9ULvNGeu5B8h8bVL5cAk4/A==";
+        url = "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz";
+        sha512 = "g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==";
       };
     };
     "@webcomponents/template-1.4.4" = {
@@ -265,13 +265,13 @@ let
         sha1 = "aa0d32629b6ee972200411cbd4461c907bc2b7ad";
       };
     };
-    "cldr-core-38.0.0" = {
+    "cldr-core-38.1.0" = {
       name = "cldr-core";
       packageName = "cldr-core";
-      version = "38.0.0";
+      version = "38.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cldr-core/-/cldr-core-38.0.0.tgz";
-        sha512 = "WkjA4zo5rLT/BWTZAxHJ0lJXwI33gCYucEz1+CpoI8Wu+rr5IrC57wyNXyrNNMdxfDE5RsWi/JCQ9qnG8sHTiw==";
+        url = "https://registry.npmjs.org/cldr-core/-/cldr-core-38.1.0.tgz";
+        sha512 = "Da9xKjDp4qGGIX0VDsBqTan09iR5nuYD2a/KkfEaUyqKhu6wFVNRiCpPDXeRbpVwPBY6PgemV8WiHatMhcpy4A==";
       };
     };
     "cliui-2.1.0" = {
@@ -427,13 +427,13 @@ let
         sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
       };
     };
-    "engine.io-4.0.6" = {
+    "engine.io-4.1.1" = {
       name = "engine.io";
       packageName = "engine.io";
-      version = "4.0.6";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/engine.io/-/engine.io-4.0.6.tgz";
-        sha512 = "rf7HAVZpcRrcKEKddgIzYUnwg0g5HE1RvJaTLwkcfJmce4g+po8aMuE6vxzp6JwlK8FEq/vi0KWN6tA585DjaA==";
+        url = "https://registry.npmjs.org/engine.io/-/engine.io-4.1.1.tgz";
+        sha512 = "t2E9wLlssQjGw0nluF6aYyfX8LwYU8Jj0xct+pAhfWfv/YrBn6TSNtEYsgxHIfaMqfrLx07czcMg9bMN6di+3w==";
       };
     };
     "engine.io-parser-4.0.2" = {
@@ -886,13 +886,13 @@ let
         sha512 = "JDdx+3i4fs2pkqwWZJgGEM2vFWsq+01YsQFT9CKPGuv2Q0xSdrQZoxi9XwyNARTgxiOdgoAwWQRluLRe/JQX2g==";
       };
     };
-    "polyfill-library-3.101.0" = {
+    "polyfill-library-3.103.0" = {
       name = "polyfill-library";
       packageName = "polyfill-library";
-      version = "3.101.0";
+      version = "3.103.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/polyfill-library/-/polyfill-library-3.101.0.tgz";
-        sha512 = "o/ln6GpYGf1Tn8wJiTkoZ3vEtf6oWrcqM9YC61CW4KaHawVm36R/wN+6ZAv7JoAsPFm0J7PsroukpJVlVxPRjQ==";
+        url = "https://registry.npmjs.org/polyfill-library/-/polyfill-library-3.103.0.tgz";
+        sha512 = "z6DMbqDGO87IeG/sjN/PGPgGLzhKftVj6OeRujxgQn+Kz7x+E8uzFvdB3X8dqoE4xaY6aX3ar0UzRxRlYPH9yg==";
       };
     };
     "process-nextick-args-2.0.1" = {
@@ -1012,31 +1012,31 @@ let
         sha512 = "JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==";
       };
     };
-    "socket.io-3.0.5" = {
+    "socket.io-3.1.0" = {
       name = "socket.io";
       packageName = "socket.io";
-      version = "3.0.5";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socket.io/-/socket.io-3.0.5.tgz";
-        sha512 = "5yWQ43P/4IttmPCGKDQ3CVocBiJWGpibyhYJxgUhf69EHMzmK8XW0DkmHIoYdLmZaVZJyiEkUqpeC7rSCIqekw==";
+        url = "https://registry.npmjs.org/socket.io/-/socket.io-3.1.0.tgz";
+        sha512 = "Aqg2dlRh6xSJvRYK31ksG65q4kmBOqU4g+1ukhPcoT6wNGYoIwSYPlCPuRwOO9pgLUajojGFztl6+V2opmKcww==";
       };
     };
-    "socket.io-adapter-2.0.3" = {
+    "socket.io-adapter-2.1.0" = {
       name = "socket.io-adapter";
       packageName = "socket.io-adapter";
-      version = "2.0.3";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.0.3.tgz";
-        sha512 = "2wo4EXgxOGSFueqvHAdnmi5JLZzWqMArjuP4nqC26AtLh5PoCPsaRbRdah2xhcwTAMooZfjYiNVNkkmmSMaxOQ==";
+        url = "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.1.0.tgz";
+        sha512 = "+vDov/aTsLjViYTwS9fPy5pEtTkrbEKsw2M+oVSoFGw6OD1IpvlV1VPhUzNbofCQ8oyMbdYJqDtGdmHQK6TdPg==";
       };
     };
-    "socket.io-parser-4.0.3" = {
+    "socket.io-parser-4.0.4" = {
       name = "socket.io-parser";
       packageName = "socket.io-parser";
-      version = "4.0.3";
+      version = "4.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.3.tgz";
-        sha512 = "m4ybFiP4UYVORRt7jcdqf8UWx+ywVdAqqsJyruXxAdD3Sv6MDemijWij34mOWdMJ55bEdIb9jACBhxUgNK6sxw==";
+        url = "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz";
+        sha512 = "t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==";
       };
     };
     "source-map-0.5.7" = {
@@ -1147,13 +1147,13 @@ let
         sha1 = "29c5733148057bb4e1f75df35b7a9cb72e6a59dd";
       };
     };
-    "uglify-js-3.12.4" = {
+    "uglify-js-3.12.6" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.12.4";
+      version = "3.12.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.4.tgz";
-        sha512 = "L5i5jg/SHkEqzN18gQMTWsZk3KelRsfD1wUVNqtq0kzqWQqcJjyL8yc1o8hJgRrWqrAl2mUFbhfznEIoi7zi2A==";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.6.tgz";
+        sha512 = "aqWHe3DfQmZUDGWBbabZ2eQnJlQd1fKlMUu7gV+MiTuDzdgDw31bI3wA2jLLsV/hNcDP26IfyEgSVoft5+0SVw==";
       };
     };
     "uglify-to-browserify-1.0.2" = {
@@ -1315,20 +1315,20 @@ in
     dependencies = [
       sources."@financial-times/polyfill-useragent-normaliser-1.9.0"
       sources."@financial-times/useragent_parser-1.5.1"
-      sources."@formatjs/ecma402-abstract-1.5.0"
-      sources."@formatjs/intl-datetimeformat-3.2.2"
-      sources."@formatjs/intl-displaynames-4.0.3"
+      sources."@formatjs/ecma402-abstract-1.5.1"
+      sources."@formatjs/intl-datetimeformat-3.2.3"
+      sources."@formatjs/intl-displaynames-4.0.4"
       sources."@formatjs/intl-getcanonicallocales-1.5.3"
-      sources."@formatjs/intl-listformat-5.0.3"
-      sources."@formatjs/intl-locale-2.4.12"
-      sources."@formatjs/intl-numberformat-6.1.2"
-      sources."@formatjs/intl-pluralrules-4.0.2"
-      sources."@formatjs/intl-relativetimeformat-8.0.2"
+      sources."@formatjs/intl-listformat-5.0.4"
+      sources."@formatjs/intl-locale-2.4.13"
+      sources."@formatjs/intl-numberformat-6.1.3"
+      sources."@formatjs/intl-pluralrules-4.0.5"
+      sources."@formatjs/intl-relativetimeformat-8.0.3"
       sources."@juggle/resize-observer-3.2.0"
       sources."@types/component-emitter-1.2.10"
       sources."@types/cookie-0.4.0"
       sources."@types/cors-2.8.9"
-      sources."@types/node-14.14.20"
+      sources."@types/node-14.14.22"
       sources."@webcomponents/template-1.4.4"
       sources."Base64-1.1.0"
       sources."abort-controller-3.0.0"
@@ -1342,7 +1342,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."camelcase-1.2.1"
       sources."center-align-0.1.3"
-      sources."cldr-core-38.0.0"
+      sources."cldr-core-38.1.0"
       (sources."cliui-2.1.0" // {
         dependencies = [
           sources."wordwrap-0.0.2"
@@ -1362,7 +1362,7 @@ in
       sources."diff-4.0.2"
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
-      (sources."engine.io-4.0.6" // {
+      (sources."engine.io-4.1.1" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."ms-2.1.2"
@@ -1415,7 +1415,7 @@ in
       sources."parseurl-1.3.3"
       sources."path-is-absolute-1.0.1"
       sources."picturefill-3.0.3"
-      (sources."polyfill-library-3.101.0" // {
+      (sources."polyfill-library-3.103.0" // {
         dependencies = [
           sources."source-map-0.5.7"
           sources."uglify-js-2.8.29"
@@ -1443,14 +1443,14 @@ in
       })
       sources."serve-static-1.14.1"
       sources."setprototypeof-1.1.1"
-      (sources."socket.io-3.0.5" // {
+      (sources."socket.io-3.1.0" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."ms-2.1.2"
         ];
       })
-      sources."socket.io-adapter-2.0.3"
-      (sources."socket.io-parser-4.0.3" // {
+      sources."socket.io-adapter-2.1.0"
+      (sources."socket.io-parser-4.0.4" // {
         dependencies = [
           sources."debug-4.3.2"
           sources."ms-2.1.2"
@@ -1466,7 +1466,7 @@ in
       sources."toidentifier-1.0.0"
       sources."toposort-2.0.2"
       sources."tslib-2.1.0"
-      sources."uglify-js-3.12.4"
+      sources."uglify-js-3.12.6"
       sources."uglify-to-browserify-1.0.2"
       sources."unorm-1.6.0"
       sources."usertiming-0.1.8"
diff --git a/pkgs/servers/web-apps/whitebophir/node-packages.nix b/pkgs/servers/web-apps/whitebophir/node-packages.nix
index e1a2c0edbee73..76d5cf6a202f1 100644
--- a/pkgs/servers/web-apps/whitebophir/node-packages.nix
+++ b/pkgs/servers/web-apps/whitebophir/node-packages.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
@@ -6,12 +6,12 @@
 
 let
   nodeEnv = import ../../../development/node-packages/node-env.nix {
-    inherit (pkgs) lib stdenv python2 util-linux runCommand writeTextFile;
-    inherit nodejs;
+    inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
+    inherit pkgs nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
 import ./node-packages-generated.nix {
-  inherit (pkgs) fetchurl fetchgit;
+  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
   inherit nodeEnv;
 }
diff --git a/pkgs/servers/xandikos/default.nix b/pkgs/servers/xandikos/default.nix
index 5241139cfa39d..60480b3ac2bd3 100644
--- a/pkgs/servers/xandikos/default.nix
+++ b/pkgs/servers/xandikos/default.nix
@@ -6,13 +6,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "xandikos";
-  version = "0.2.3";
+  version = "0.2.5";
 
   src = fetchFromGitHub {
     owner = "jelmer";
     repo = "xandikos";
     rev = "v${version}";
-    sha256 = "1x0bylmdizirvlcn6ryd43lffpmlq0cklj3jz956scmxgq4p6wby";
+    sha256 = "sha256-/pr8ZqgYk24CdJNAETCDF4ZtufXkVEu1Zw25PcPEo7M=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/servers/xmpp/biboumi/default.nix b/pkgs/servers/xmpp/biboumi/default.nix
index 762154f018c87..74d8d9ae52082 100644
--- a/pkgs/servers/xmpp/biboumi/default.nix
+++ b/pkgs/servers/xmpp/biboumi/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchurl, fetchgit, cmake, libuuid, expat, sqlite, libidn,
-  libiconv, botan2, systemd, pkg-config, udns, pandoc, coreutils } :
+  libiconv, botan2, systemd, pkg-config, udns, coreutils, python3Packages } :
 
 stdenv.mkDerivation rec {
   pname = "biboumi";
-  version = "8.5";
+  version = "9.0";
 
   src = fetchurl {
     url = "https://git.louiz.org/biboumi/snapshot/biboumi-${version}.tar.xz";
-    sha256 = "0rn9p99iqdyvxjzjq9w0ra7pkk0mngjy65nlg3hqfdw8kq9mv5qf";
+    sha256 = "1jvygri165aknmvlinx3jb8cclny6cxdykjf8dp0a3l3228rmzqy";
   };
 
   louiz_catch = fetchgit {
@@ -18,9 +18,10 @@ stdenv.mkDerivation rec {
 
   patches = [ ./catch.patch ];
 
-  nativeBuildInputs = [ cmake pkg-config pandoc ];
+  nativeBuildInputs = [ cmake pkg-config python3Packages.sphinx ];
   buildInputs = [ libuuid expat sqlite libiconv libidn botan2 systemd
     udns ];
+  buildFlags = [ "all" "man" ];
 
   preConfigure = ''
     substituteInPlace CMakeLists.txt --replace /etc/biboumi $out/etc/biboumi
diff --git a/pkgs/servers/xmpp/ejabberd/default.nix b/pkgs/servers/xmpp/ejabberd/default.nix
index 5336df42cbe9a..69b55a6f3c29b 100644
--- a/pkgs/servers/xmpp/ejabberd/default.nix
+++ b/pkgs/servers/xmpp/ejabberd/default.nix
@@ -32,9 +32,9 @@ in stdenv.mkDerivation rec {
     sha256 = "sha256-nZxdYXRyv4UejPLHNT/p6CrvW22Koo7rZSi96KRjqFQ=";
   };
 
-  nativeBuildInputs = [ fakegit ];
+  nativeBuildInputs = [ fakegit makeWrapper ];
 
-  buildInputs = [ erlang openssl expat libyaml gd makeWrapper ]
+  buildInputs = [ erlang openssl expat libyaml gd ]
     ++ lib.optional withSqlite sqlite
     ++ lib.optional withPam pam
     ++ lib.optional withZlib zlib
diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix
index cfa6e2269557b..a83da568126ac 100644
--- a/pkgs/servers/xmpp/prosody/default.nix
+++ b/pkgs/servers/xmpp/prosody/default.nix
@@ -15,7 +15,7 @@ with lib;
 
 
 stdenv.mkDerivation rec {
-  version = "0.11.7"; # also update communityModules
+  version = "0.11.8"; # also update communityModules
   pname = "prosody";
   # The following community modules are necessary for the nixos module
   # prosody module to comply with XEP-0423 and provide a working
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   ];
   src = fetchurl {
     url = "https://prosody.im/downloads/source/${pname}-${version}.tar.gz";
-    sha256 = "0iw73ids6lv09pg2fn0cxsm2pvi593md71xk48zbcp28advc1zr8";
+    sha256 = "1y38a33wab2vv9pz04blmn6m66wg4pixilh8x60jsx6mk0xih3w3";
   };
 
   # A note to all those merging automated updates: Please also update this
@@ -37,8 +37,8 @@ stdenv.mkDerivation rec {
   # version.
   communityModules = fetchhg {
     url = "https://hg.prosody.im/prosody-modules";
-    rev = "7678b4880719";
-    sha256 = "1rpk3jcfhsa9hl7d7y638kprs9in0ljjp1nqxg30w1689v5h85d2";
+    rev = "f210f242cf17";
+    sha256 = "0ls45zfhhv8k1aywq3fvrh4ab7g4g1z1ma9mbcf2ch73m6aqhbyl";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/xmpp/pyIRCt/default.nix b/pkgs/servers/xmpp/pyIRCt/default.nix
deleted file mode 100644
index ebb817f1645ce..0000000000000
--- a/pkgs/servers/xmpp/pyIRCt/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib, stdenv, fetchurl, xmpppy, pythonIRClib, python, pythonPackages, runtimeShell } :
-
-stdenv.mkDerivation rec {
-  pname = "pyIRCt";
-  version = "0.4";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/xmpppy/irc-transport-${version}.tar.gz";
-    sha256 = "0gbc0dvj1p3088b6x315yjrlwnc5vvzp0var36wlf9z60ghvk8yb";
-  };
-
-  buildInputs = [ pythonPackages.wrapPython ];
-
-  pythonPath = [
-    xmpppy pythonIRClib
-  ];
-
-  # phaseNames = ["deploy" (a.makeManyWrappers "$out/share/${name}/irc.py" a.pythonWrapperArguments)];
-
-  installPhase = ''
-    mkdir -p $out/bin $out/share/${pname}-${version}
-    sed -e 's@/usr/bin/@${python}/bin/@' -i irc.py
-    sed -e '/configFiles/aconfigFiles += [os.getenv("HOME")+"/.pyIRCt.xml"]' -i config.py
-    sed -e '/configFiles/aconfigFiles += [os.getenv("HOME")+"/.python-irc-transport.xml"]' -i config.py
-    sed -e '/configFiles/iimport os' -i config.py
-    cp * $out/share/${pname}-${version}
-    cat > $out/bin/pyIRCt <<EOF
-      #!${runtimeShell}
-      cd $out/share/${pname}-${version}
-      ./irc.py \"$@\"
-    EOF
-    chmod a+rx  $out/bin/pyIRCt $out/share/${pname}-${version}/irc.py
-    wrapPythonPrograms
-  '';
-
-  meta = with lib; {
-    description = "IRC transport module for XMPP";
-    platforms = platforms.unix;
-    license = licenses.gpl2;
-  };
-}
diff --git a/pkgs/servers/xmpp/pyMAILt/default.nix b/pkgs/servers/xmpp/pyMAILt/default.nix
deleted file mode 100644
index 03ded7a5d5cde..0000000000000
--- a/pkgs/servers/xmpp/pyMAILt/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib, stdenv, python, xmpppy, pythonPackages, fetchcvs, runtimeShell } :
-
-stdenv.mkDerivation rec {
-  pname = "pyMAILt";
-  version = "20090101";
-
-  src = fetchcvs {
-    cvsRoot = ":pserver:anonymous@xmpppy.cvs.sourceforge.net:/cvsroot/xmpppy";
-    module = "xmpppy/mail-transport";
-    date = "2009-01-01";
-    sha256 = "15301252e52b4ccb2156baefed8982a2a0cce3ae8eae3caf3cc28dfa615c8d6e";
-  };
-
-  pythonPath = [ xmpppy ];
-  buildInputs = [ pythonPackages.wrapPython ];
-
-  installPhase = ''
-    cd mail-transport
-    mkdir -p $out/bin $out/share/${pname}-${version}
-    sed -e 's@/usr/bin/@${python}/bin/@' -i mail.py
-    sed -e '/configFiles/aconfigFiles += [os.getenv("HOME")+"/.pyMAILt.xml"]' -i config.py
-    sed -e '/configFiles/aconfigFiles += [os.getenv("HOME")+"/.python-mail-transport.xml"]' -i config.py
-    sed -e '/configFiles/iimport os' -i config.py
-    cp * $out/share/$name
-    cat > $out/bin/pyMAILt <<EOF
-      #!${runtimeShell}
-      cd $out/share/${pname}-${version}
-      ./mail.py \"$@\"
-    EOF
-    chmod a+rx  $out/bin/pyMAILt $out/share/${pname}-${version}/mail.py
-    wrapPythonPrograms
-  '';
-
-  meta = with lib; {
-    description = "Email transport module for XMPP";
-    platforms = platforms.unix;
-    license = licenses.gpl2;
-  };
-}
diff --git a/pkgs/development/compilers/elm/packages/node-env.nix b/pkgs/servers/zigbee2mqtt/node-env.nix
index 759fa71c5aab0..9af216ad1dfee 100644
--- a/pkgs/development/compilers/elm/packages/node-env.nix
+++ b/pkgs/servers/zigbee2mqtt/node-env.nix
@@ -1,6 +1,6 @@
 # This file originates from node2nix
 
-{lib, stdenv, nodejs, python2, utillinux, libtool, runCommand, writeTextFile}:
+{lib, stdenv, nodejs, python2, util-linux, libtool, runCommand, writeTextFile}:
 
 let
   python = if nodejs ? python then nodejs.python else python2;
@@ -388,15 +388,16 @@ let
     , dontStrip ? true
     , unpackPhase ? "true"
     , buildPhase ? "true"
+    , meta ? {}
     , ... }@args:
 
     let
-      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" ];
+      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta" ];
     in
     stdenv.mkDerivation ({
       name = "node_${name}-${version}";
       buildInputs = [ tarWrapper python nodejs ]
-        ++ lib.optional (stdenv.isLinux) utillinux
+        ++ lib.optional (stdenv.isLinux) util-linux
         ++ lib.optional (stdenv.isDarwin) libtool
         ++ buildInputs;
 
@@ -443,6 +444,11 @@ let
         # Run post install hook, if provided
         runHook postInstall
       '';
+
+      meta = {
+        # default to Node.js' platforms
+        platforms = nodejs.meta.platforms;
+      } // meta;
     } // extraArgs);
 
   # Builds a development shell
@@ -470,7 +476,7 @@ let
         name = "node-dependencies-${name}-${version}";
 
         buildInputs = [ tarWrapper python nodejs ]
-          ++ lib.optional (stdenv.isLinux) utillinux
+          ++ lib.optional (stdenv.isLinux) util-linux
           ++ lib.optional (stdenv.isDarwin) libtool
           ++ buildInputs;
 
@@ -516,7 +522,7 @@ let
     stdenv.mkDerivation {
       name = "node-shell-${name}-${version}";
 
-      buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
+      buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) util-linux ++ buildInputs;
       buildCommand = ''
         mkdir -p $out/bin
         cat > $out/bin/shell <<EOF
diff --git a/pkgs/servers/zigbee2mqtt/node.nix b/pkgs/servers/zigbee2mqtt/node.nix
index 6ea97449ad6ed..0769168a78fa3 100644
--- a/pkgs/servers/zigbee2mqtt/node.nix
+++ b/pkgs/servers/zigbee2mqtt/node.nix
@@ -5,7 +5,7 @@
   }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
 
 let
-  nodeEnv = import ../../development/node-packages/node-env.nix {
+  nodeEnv = import ./node-env.nix {
     inherit (pkgs) lib stdenv python2 util-linux runCommand writeTextFile;
     inherit nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
diff --git a/pkgs/servers/zookeeper/default.nix b/pkgs/servers/zookeeper/default.nix
index 526a8d2956b34..c2315999b3caa 100644
--- a/pkgs/servers/zookeeper/default.nix
+++ b/pkgs/servers/zookeeper/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha512 = "caff5111bb6876b7124760bc006e6fa2523efa54b99321a3c9cd8192ea0d5596abc7d70a054b1aac9b20a411407dae7611c7aba870c23bff28eb1643ba499199";
   };
 
-  buildInputs = [ makeWrapper jre ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre ];
 
   phases = ["unpackPhase" "installPhase"];
 
diff --git a/pkgs/shells/any-nix-shell/default.nix b/pkgs/shells/any-nix-shell/default.nix
index 3a9f0a0bfbd12..3bd41a53844c4 100644
--- a/pkgs/shells/any-nix-shell/default.nix
+++ b/pkgs/shells/any-nix-shell/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "any-nix-shell";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "haslersn";
     repo = "any-nix-shell";
     rev = "v${version}";
-    sha256 = "05xixgsdfv0qk648r74nvazw16dpw49ryz8dax9kwmhqrgkjaqv6";
+    sha256 = "0q27rhjhh7k0qgcdcfm8ly5za6wm4rckh633d0sjz87faffkp90k";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/shells/fish/babelfish.nix b/pkgs/shells/fish/babelfish.nix
index 368c88aa1bbf1..fb938b8f37ded 100644
--- a/pkgs/shells/fish/babelfish.nix
+++ b/pkgs/shells/fish/babelfish.nix
@@ -1,16 +1,16 @@
 { lib, buildGoModule, fetchFromGitHub }:
 buildGoModule rec {
   pname = "babelfish";
-  version = "1.0.1";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "bouk";
     repo = "babelfish";
     rev = "v${version}";
-    sha256 = "1sr6y79igyfc9ia33nyrjjm4my1jrpcw27iks37kygh93npsb3r1";
+    sha256 = "0b1knj9llwzwnl4w3d6akvlc57dp0fszjkq98w8wybcvkbpd3ip1";
   };
 
-  vendorSha256 = "0xjy50wciw329kq1nkd7hhaipcp4fy28hhk6cdq21qwid6g21gag";
+  vendorSha256 = "0kspqwbgiqfkfj9a9pdwzc0jdi9p35abqqqjhcpvqwdxw378w5lz";
 
   meta = with lib; {
     description = "Translate bash scripts to fish";
diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix
index a39a2fc740bd9..e36e32d043f84 100644
--- a/pkgs/shells/fish/default.nix
+++ b/pkgs/shells/fish/default.nix
@@ -16,11 +16,21 @@
 , ncurses
 , python3
 , cmake
+, fishPlugins
 
 , runCommand
 , writeText
 , nixosTests
 , useOperatingSystemEtc ? true
+  # An optional string containing Fish code that initializes the environment.
+  # This is run at the very beginning of initialization. If it sets $NIX_PROFILES
+  # then Fish will use that to configure its function, completion, and conf.d paths.
+  # For example:
+  #   fishEnvPreInit = "source /etc/fish/my-env-preinit.fish";
+  # It can also be a function that takes one argument, which is a function that
+  # takes a path to a bash file and converts it to fish. For example:
+  #   fishEnvPreInit = source: source "${nix}/etc/profile.d/nix-daemon.sh";
+, fishEnvPreInit ? null
 }:
 let
   etcConfigAppendix = writeText "config.fish.appendix" ''
@@ -46,8 +56,12 @@ let
     #     source both, but source the more global configuration files earlier
     #     than the more local ones, so that more local configurations inherit
     #     from but override the more global locations.
+    #
+    #     Special care needs to be taken, when fish is called from an FHS user env
+    #     or similar setup, because this configuration file will then be relocated
+    #     to /etc/fish/config.fish, so we test for this case to avoid nontermination.
 
-    if test -f /etc/fish/config.fish
+    if test -f /etc/fish/config.fish && test /etc/fish/config.fish != (status filename)
       source /etc/fish/config.fish
     end
 
@@ -62,8 +76,12 @@ let
     #   2. Before the shell is initialized, so that config snippets can find the commands they use on the PATH
     builtin status --is-login
     or test -z "$__fish_nixos_env_preinit_sourced" -a -z "$ETC_PROFILE_SOURCED" -a -z "$ETC_ZSHENV_SOURCED"
+    ${if fishEnvPreInit != null then ''
+    and begin
+    ${lib.removeSuffix "\n" (if lib.isFunction fishEnvPreInit then fishEnvPreInit sourceWithFenv else fishEnvPreInit)}
+    end'' else ''
     and test -f /etc/fish/nixos-env-preinit.fish
-    and source /etc/fish/nixos-env-preinit.fish
+    and source /etc/fish/nixos-env-preinit.fish''}
     and set -gx __fish_nixos_env_preinit_sourced 1
 
     test -n "$NIX_PROFILES"
@@ -94,6 +112,22 @@ let
     end
   '';
 
+  # This is wrapped in begin/end in case the user wants to apply redirections.
+  # This does mean the basic usage of sourcing a single file will produce
+  # `begin; begin; …; end; end` but that's ok.
+  sourceWithFenv = path: ''
+    begin # fenv
+      # This happens before $__fish_datadir/config.fish sets fish_function_path, so it is currently
+      # unset. We set it and then completely erase it, leaving its configuration to $__fish_datadir/config.fish
+      set fish_function_path ${fishPlugins.foreign-env}/share/fish/vendor_functions.d $__fish_datadir/functions
+      fenv source ${lib.escapeShellArg path}
+      set -l fenv_status $status
+      # clear fish_function_path so that it will be correctly set when we return to $__fish_datadir/config.fish
+      set -e fish_function_path
+      test $fenv_status -eq 0
+    end # fenv
+  '';
+
   fish = stdenv.mkDerivation rec {
     pname = "fish";
     version = "3.1.2";
diff --git a/pkgs/shells/fish/wrapper.nix b/pkgs/shells/fish/wrapper.nix
index 053568bc6b9bb..6713a69d560ea 100644
--- a/pkgs/shells/fish/wrapper.nix
+++ b/pkgs/shells/fish/wrapper.nix
@@ -14,12 +14,12 @@ let
   complPath = completionDirs ++ map (vendorDir "completions") pluginPkgs;
   funcPath = functionDirs ++ map (vendorDir "functions") pluginPkgs;
   confPath = confDirs ++ map (vendorDir "conf") pluginPkgs;
-  safeConfPath = map escapeShellArg confPath;
 
 in writeShellScriptBin "fish" ''
   ${fish}/bin/fish --init-command "
     set --prepend fish_complete_path ${escapeShellArgs complPath}
     set --prepend fish_function_path ${escapeShellArgs funcPath}
-    for c in {${concatStringsSep "," safeConfPath}}/*; source $c; end
+    set --local fish_conf_source_path ${escapeShellArgs confPath}
+    for c in $fish_conf_source_path/*; source $c; end
   " "$@"
 '')
diff --git a/pkgs/shells/liquidprompt/default.nix b/pkgs/shells/liquidprompt/default.nix
index 4463d70cf5262..a84e2e14677c9 100644
--- a/pkgs/shells/liquidprompt/default.nix
+++ b/pkgs/shells/liquidprompt/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "liquidprompt";
-  version = "1.12.1";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "nojhan";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0vlwwkdbkxjsjcfmcspmq3f163kf0x4mwa8svxkzgnn2g4kl41ja";
+    sha256 = "sha256-+qNH4Df0wCI3KE6LT3YWKpp7yzJcedmVlm/f1Myz108=";
   };
 
   installPhase = ''
diff --git a/pkgs/shells/nushell/default.nix b/pkgs/shells/nushell/default.nix
index a0a070b926606..5b0ba490bf5e6 100644
--- a/pkgs/shells/nushell/default.nix
+++ b/pkgs/shells/nushell/default.nix
@@ -15,16 +15,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nushell";
-  version = "0.26.0";
+  version = "0.27.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-v0u04xY4iEbOTeaPKmbHImNTzEgdqf1wZWV0hKOV6Vg=";
+    sha256 = "sha256-Ms3ofPU7pd1qOxTJ7jImT2DawTcFLeI7Fi+xihsWhKY=";
   };
 
-  cargoSha256 = "sha256-0Ncjy6vZqiMNB+aRzf255tsIdrnpG0a4Xoid+mAAvUk=";
+  cargoSha256 = "sha256-cJ+P/AaptZGOyjIu+66M1/rMYpVPFZGQDPeakUws3CQ=";
 
   nativeBuildInputs = [ pkg-config ]
     ++ lib.optionals (withStableFeatures && stdenv.isLinux) [ python3 ];
diff --git a/pkgs/shells/oil/default.nix b/pkgs/shells/oil/default.nix
index 0896b8a504623..0c508d0e29dfb 100644
--- a/pkgs/shells/oil/default.nix
+++ b/pkgs/shells/oil/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "oil";
-  version = "0.8.5";
+  version = "0.8.7";
 
   src = fetchurl {
     url = "https://www.oilshell.org/download/oil-${version}.tar.xz";
-    sha256 = "1z0p08q4808h78bp6nwdszpfavhr4y7n313bp0gg5qdbssnciq1v";
+    sha256 = "sha256-KcXu1u/MvvbCLb5a7D09NvfJPaeo0c8Z/Czuk7XR23M=";
   };
 
   postPatch = ''
diff --git a/pkgs/shells/tcsh/default.nix b/pkgs/shells/tcsh/default.nix
index 8f4a1664467b1..4d6c9556501ce 100644
--- a/pkgs/shells/tcsh/default.nix
+++ b/pkgs/shells/tcsh/default.nix
@@ -9,8 +9,11 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     urls = [
       "http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/${pname}-${version}.tar.gz"
+      "http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/old/${pname}-${version}.tar.gz"
       "ftp://ftp.astron.com/pub/tcsh/${pname}-${version}.tar.gz"
+      "ftp://ftp.astron.com/pub/tcsh/old/${pname}-${version}.tar.gz"
       "ftp://ftp.funet.fi/pub/unix/shells/tcsh/${pname}-${version}.tar.gz"
+      "ftp://ftp.funet.fi/pub/unix/shells/tcsh/old/${pname}-${version}.tar.gz"
     ];
     sha256 = "sha256-viz9ZT0qDH9QbS3RTBIyS6dJvUhAN75t9Eo5c/UiYrc=";
   };
diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index 6a95c1e32f5a4..c7d5ba0e7734a 100644
--- a/pkgs/shells/zsh/oh-my-zsh/default.nix
+++ b/pkgs/shells/zsh/oh-my-zsh/default.nix
@@ -5,15 +5,15 @@
 , git, nix, nixfmt, jq, coreutils, gnused, curl, cacert }:
 
 stdenv.mkDerivation rec {
-  version = "2021-01-27";
+  version = "2021-02-21";
   pname = "oh-my-zsh";
-  rev = "f75f8bb930c6c7aed5e4e7bded94936f6d9f7724";
+  rev = "9a9f3831925432fdf4352c24a002506a06d329c1";
 
   src = fetchFromGitHub {
     inherit rev;
     owner = "ohmyzsh";
     repo = "ohmyzsh";
-    sha256 = "UyhYTshk62eGw7MpJATkBvd5qE3gGOM/v6Hw6WyAg2o=";
+    sha256 = "befalsEX/o5WwVn0bzDnMVhlZawmpGV4AGzvxl7UHLI=";
   };
 
   installPhase = ''
diff --git a/pkgs/shells/zsh/zplugin/default.nix b/pkgs/shells/zsh/zinit/default.nix
index c148f60b2eef2..d59f50ce3b9cd 100644
--- a/pkgs/shells/zsh/zplugin/default.nix
+++ b/pkgs/shells/zsh/zinit/default.nix
@@ -1,12 +1,13 @@
 { stdenvNoCC, lib, fetchFromGitHub, installShellFiles }:
+
 stdenvNoCC.mkDerivation rec {
-  pname = "zplugin";
-  version = "2.3";
+  pname = "zinit";
+  version = "3.7";
   src = fetchFromGitHub {
     owner = "zdharma";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0qqv5p19s8jb06d6h55dm4acji9x2rpxb2ni3h7fb0q43iz6y85w";
+    hash = "sha256-B+cTGz+U8MR22l6xXdRAAjDr+ulCk+CJ9GllFMK0axE=";
   };
   # adapted from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=zsh-zplugin-git
   dontBuild = true;
@@ -18,11 +19,12 @@ stdenvNoCC.mkDerivation rec {
 
     # Zplugin's source files
     install -dm0755 "$outdir"
-    install -m0644 zplugin{,-side,-install,-autoload}.zsh "$outdir"
+    # Installing also backward compatibility layer
+    install -m0644 z{plugin,init}{,-side,-install,-autoload}.zsh "$outdir"
     install -m0755 git-process-output.zsh "$outdir"
 
     # Zplugin autocompletion
-    installShellCompletion --zsh _zplugin
+    installShellCompletion --zsh _zinit
 
     #TODO:Zplugin-module files
     # find zmodules/ -type d -exec install -dm 755 "{}" "$outdir/{}" \;
@@ -32,7 +34,7 @@ stdenvNoCC.mkDerivation rec {
   #TODO:doc output
 
   meta = with lib; {
-    homepage = "https://github.com/zdharma/zplugin";
+    homepage = "https://github.com/zdharma/zinit";
     description = "Flexible zsh plugin manager";
     license = licenses.mit;
     maintainers = with maintainers; [ pasqui23 ];
diff --git a/pkgs/shells/zsh/zsh-autopair/default.nix b/pkgs/shells/zsh/zsh-autopair/default.nix
new file mode 100644
index 0000000000000..0cc1535e53ae2
--- /dev/null
+++ b/pkgs/shells/zsh/zsh-autopair/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, lib, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "zsh-autopair";
+  version = "1.0";
+
+  src = fetchFromGitHub {
+    owner = "hlissner";
+    repo = "zsh-autopair";
+    rev = "v${version}";
+    sha256 = "1h0vm2dgrmb8i2pvsgis3lshc5b0ad846836m62y8h3rdb3zmpy1";
+  };
+
+  installPhase = ''
+    install -D autopair.zsh $out/share/zsh/${pname}/autopair.zsh
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/hlissner/zsh-autopair";
+    description = "A plugin that auto-closes, deletes and skips over matching delimiters in zsh intelligently";
+    license = licenses.mit;
+    maintainers = with maintainers; [ _0qq ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/shells/zsh/zsh-fzf-tab/default.nix b/pkgs/shells/zsh/zsh-fzf-tab/default.nix
index b48eda0a728a6..fafb4a5057489 100644
--- a/pkgs/shells/zsh/zsh-fzf-tab/default.nix
+++ b/pkgs/shells/zsh/zsh-fzf-tab/default.nix
@@ -4,13 +4,13 @@ let
   INSTALL_PATH="${placeholder "out"}/share/fzf-tab";
 in stdenv.mkDerivation rec {
   pname = "zsh-fzf-tab";
-  version = "unstable-2021-01-24";
+  version = "unstable-2021-02-14";
 
   src = fetchFromGitHub {
     owner = "Aloxaf";
     repo = "fzf-tab";
-    rev = "78b4cefb27dc2bef5e4c9ac3bf2bd28413620fcd";
-    sha256 = "1f5m7vf7wxzczis2nzvhgqaqnphhp3a0wv8b612m7g4fnvk3lnkn";
+    rev = "8cebb8f01ca57076c3c7cd66365270d989bcaa89";
+    sha256 = "119m84g2c4z9xdr22j401p09n3cpiyj61dw5m7xkm6309nd7zz0a";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/shells/zsh/zsh-prezto/default.nix b/pkgs/shells/zsh/zsh-prezto/default.nix
index 98cbf2c80f0f4..d3e2c6534aa22 100644
--- a/pkgs/shells/zsh/zsh-prezto/default.nix
+++ b/pkgs/shells/zsh/zsh-prezto/default.nix
@@ -12,6 +12,11 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  postPatch = ''
+    # make zshrc aware of where zsh-prezto is installed
+    sed -i -e "s|\''${ZDOTDIR:\-\$HOME}/.zprezto/|$out/share/zsh-prezto/|g" runcoms/zshrc
+  '';
+
   installPhase = ''
     mkdir -p $out/share/zsh-prezto
     cp -R ./ $out/share/zsh-prezto
diff --git a/pkgs/shells/zsh/zsh-system-clipboard/default.nix b/pkgs/shells/zsh/zsh-system-clipboard/default.nix
new file mode 100644
index 0000000000000..b4d407a70bc9b
--- /dev/null
+++ b/pkgs/shells/zsh/zsh-system-clipboard/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, lib, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "zsh-system-clipboard";
+  version = "0.7.0";
+
+  src = fetchFromGitHub {
+    owner = "kutsan";
+    repo = "zsh-system-clipboard";
+    rev = "v${version}";
+    sha256 = "09lqav1mz5zajklr3xa0iaivhpykv3azkjb7yj9wyp0hq3vymp8i";
+  };
+
+  installPhase = ''
+    install -D zsh-system-clipboard.zsh $out/share/zsh/${pname}/zsh-system-clipboard.zsh
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/kutsan/zsh-system-clipboard";
+    description = "A plugin that adds key bindings support for ZLE (Zsh Line Editor) clipboard operations for vi emulation keymaps";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ _0qq ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/stdenv/freebsd/default.nix b/pkgs/stdenv/freebsd/default.nix
index 38b168c0e72d1..5aadfd81a20f5 100644
--- a/pkgs/stdenv/freebsd/default.nix
+++ b/pkgs/stdenv/freebsd/default.nix
@@ -1,11 +1,170 @@
 { lib
-, localSystem, crossSystem, config, overlays
+, localSystem, crossSystem, config, overlays, crossOverlays ? []
 }:
 
 assert crossSystem == localSystem;
-let inherit (localSystem) system; in
-
-
+let inherit (localSystem) system;
+    fetchURL = import <nix/fetchurl.nix>;
+    trivialBuilder = (import ./trivial-builder.nix);
+    make = trivialBuilder rec {
+      inherit (localSystem) system;
+      name = "make";
+      ver = "4.3";
+      url = "https://ftp.gnu.org/gnu/${name}/${name}-${ver}.tar.gz";
+      sha256 = "06cfqzpqsvdnsxbysl5p2fgdgxgl9y4p7scpnrfa8z2zgkjdspz0";
+      configureArgs = [ "--disable-nls"
+                        "--without-libintl-prefix"
+                        "--without-libiconv-prefix"
+                      ];
+    };
+    bash = trivialBuilder rec {
+      inherit (localSystem) system;
+      name = "bash";
+      ver = "4.4.18";
+      url = "https://ftp.gnu.org/gnu/${name}/${name}-${ver}.tar.gz";
+      sha256 = "08vz660768mnnax7n8d4d85jxafwdmsxsi7fh0hzvmafbvn9wkb0";
+      configureArgs = [ "--disable-nls"
+                        "--without-libintl-prefix"
+                        "--without-libiconv-prefix"
+                      ];
+    };
+    coreutils = trivialBuilder rec {
+      inherit (localSystem) system;
+      name = "coreutils";
+      ver = "8.31";
+      url = "https://ftp.gnu.org/gnu/${name}/${name}-${ver}.tar.xz";
+      sha256 = "1zg9m79x1i2nifj4kb0waf9x3i5h6ydkypkjnbsb9rnwis8rqypz";
+      configureArgs = [ "--disable-nls"
+                        "--without-libintl-prefix"
+                        "--without-libiconv-prefix"
+                        "--without-gmp"
+                        "--without-libpth-prefix"
+                      ];
+    };
+    findutils = trivialBuilder rec {
+      inherit (localSystem) system;
+      name = "findutils";
+      ver = "4.7.0";
+      url = "https://ftp.gnu.org/gnu/${name}/${name}-${ver}.tar.xz";
+      sha256 = "16kqz9yz98dasmj70jwf5py7jk558w96w0vgp3zf9xsqk3gzpzn5";
+      configureArgs = [ "--disable-nls"
+                        "--without-libintl-prefix"
+                        "--without-libiconv-prefix"
+                        "--without-gmp"
+                        "--without-libpth-prefix"
+                      ];
+    };
+    diffutils = trivialBuilder rec {
+      inherit (localSystem) system;
+      name = "diffutils";
+      ver = "3.7";
+      url = "https://ftp.gnu.org/gnu/${name}/${name}-${ver}.tar.xz";
+      sha256 = "09isrg0isjinv8c535nxsi1s86wfdfzml80dbw41dj9x3hiad9xk";
+      configureArgs = [ "--disable-nls"
+                        "--without-libintl-prefix"
+                        "--without-libiconv-prefix"
+                        "--without-libsigsegv-prefix"
+                      ];
+    };
+    grep = trivialBuilder rec {
+      inherit (localSystem) system;
+      name = "grep";
+      ver = "3.4";
+      url = "https://ftp.gnu.org/gnu/${name}/${name}-${ver}.tar.xz";
+      sha256 = "1yy33kiwrxrwj2nxa4fg15bvmwyghqbs8qwkdvy5phm784f7brjq";
+      configureArgs = [ "--disable-nls"
+                        "--without-libintl-prefix"
+                        "--without-libiconv-prefix"
+                        "--disable-perl-regexp"
+                        "--without-libsegsegv-prefix"
+                      ];
+    };
+    patch = trivialBuilder rec {
+      inherit (localSystem) system;
+      name = "patch";
+      ver = "2.7.6";
+      url = "https://ftp.gnu.org/gnu/${name}/${name}-${ver}.tar.xz";
+      sha256 = "1zfqy4rdcy279vwn2z1kbv19dcfw25d2aqy9nzvdkq5bjzd0nqdc";
+    };
+    gawk = trivialBuilder rec {
+      inherit (localSystem) system;
+      name = "gawk";
+      ver = "5.0.1";
+      url = "https://ftp.gnu.org/gnu/${name}/${name}-${ver}.tar.xz";
+      sha256 = "15570p7g2x54asvr2fsc56sxzmm08fbk4mzpcs5n92fp9vq8cklf";
+      configureArgs = [ "--disable-nls"
+                        "--disable-mpfr"
+                        "--without-libintl-prefix"
+                        "--without-libiconv-prefix"
+                        "--without-libsegsegv-prefix"
+                      ];
+    };
+    cpio = trivialBuilder rec {
+      inherit (localSystem) system;
+      name = "cpio";
+      ver = "2.13";
+      url = "https://ftp.gnu.org/gnu/${name}/${name}-${ver}.tar.gz";
+      sha256 = "126vyg4a8wcdwh6npgvxy6gq433bzgz3ph37hmjpycc4r7cp0x78";
+      configureArgs = [ "--disable-nls"
+                        "--without-libintl-prefix"
+                        "--without-libiconv-prefix"
+                      ];
+    };
+    sed = trivialBuilder rec {
+      inherit (localSystem) system;
+      name = "sed";
+      ver = "4.8";
+      url = "https://ftp.gnu.org/gnu/${name}/${name}-${ver}.tar.xz";
+      sha256 = "0cznxw73fzv1n3nj2zsq6nf73rvsbxndp444xkpahdqvlzz0r6zp";
+      configureArgs = [ "--disable-nls"
+                        "--without-libintl-prefix"
+                        "--without-libiconv-prefix"
+                      ];
+    };
+    cacert = fetchURL rec {
+      url = "https://curl.haxx.se/ca/cacert-2020-01-01.pem";
+      sha256 = "07q808n307gzaga93abpf6an7c3rd35p18psdc1dd83lspgp1xxd";
+      executable = false;
+    };
+    curl = trivialBuilder rec {
+      inherit (localSystem) system;
+      name = "curl";
+      ver = "7.68.0";
+      url = "https://curl.haxx.se/download/${name}-${ver}.tar.xz";
+      sha256 = "0nh3j90w6b97wqcgxjfq55qhkz9s38955fbhwzv2fsi7483j895p";
+      configureArgs = [ "--disable-nls"
+                        "--disable-ares"
+                        "--disable-debug"
+                        "--disable-ldap"
+                        "--disable-ldaps"
+                        "--disable-rtsp"
+                        "--disable-dict"
+                        "--disable-telnet"
+                        "--disable-tftp"
+                        "--disable-pop3"
+                        "--disable-imap"
+                        "--disable-smb"
+                        "--disable-smtp"
+                        "--disable-gopher"
+                        "--disable-manual"
+                        "--disable-verbose"
+                        "--disable-sspi"
+                        "--disable-tls-srp"
+                        "--disable-unix-sockets"
+                        "--without-brotli"
+                        "--without-gnutls"
+                        "--without-mbedtls"
+                        "--without-wolfssl"
+                        "--without-bearssl"
+                        "--without-libidn2"
+                        "--without-librtmp"
+                        "--without-nghttp2"
+                        "--with-ssl=/usr"
+                        "--with-ca-bundle=${cacert}"
+                      ];
+    };
+    bashExe = "${bash}/bin/bash";
+in
 [
 
   ({}: {
@@ -13,11 +172,14 @@ let inherit (localSystem) system; in
 
     bootstrapTools = derivation {
       inherit system;
+      inherit make bash coreutils findutils
+        diffutils grep patch gawk cpio sed
+        curl;
 
       name = "trivial-bootstrap-tools";
-      builder = "/usr/local/bin/bash";
+      builder = bashExe;
       args = [ ./trivial-bootstrap.sh ];
-
+      buildInputs = [ make ];
       mkdir = "/bin/mkdir";
       ln = "/bin/ln";
     };
@@ -52,6 +214,8 @@ let inherit (localSystem) system; in
   (prevStage: {
     __raw = true;
 
+    inherit (prevStage) bootstrapTools;
+
     stdenv = import ../generic {
       name = "stdenv-freebsd-boot-0";
       inherit config;
@@ -66,7 +230,7 @@ let inherit (localSystem) system; in
 
   (prevStage: {
     inherit config overlays;
-    stdenv = import ../generic {
+    stdenv = import ../generic rec {
       name = "stdenv-freebsd-boot-3";
       inherit config;
 
@@ -75,16 +239,30 @@ let inherit (localSystem) system; in
         initialPath shell fetchurlBoot;
 
       cc = import ../../build-support/cc-wrapper {
+        inherit lib;
         nativeTools  = true;
         nativePrefix = "/usr";
         nativeLibc   = true;
         stdenvNoCC = prevStage.stdenv;
+        buildPackages = {
+          inherit (prevStage) stdenv;
+        };
         cc           = {
           name    = "clang-9.9.9";
           cc      = "/usr";
-          outPath = "/usr";
+          outPath = prevStage.bootstrapTools;
         };
         isClang      = true;
+        bintools = import ../../build-support/bintools-wrapper {
+          inherit lib;
+          stdenvNoCC = prevStage.stdenv;
+          nativeTools  = true;
+          nativeLibc   = true;
+          propagateDoc = false;
+          nativePrefix = "/usr";
+          bintools     = { name = "${name}-binutils";
+                           outPath = prevStage.bootstrapTools; };
+        };
       };
 
       preHook = "export NIX_NO_SELF_RPATH=1";
diff --git a/pkgs/stdenv/freebsd/trivial-bootstrap.sh b/pkgs/stdenv/freebsd/trivial-bootstrap.sh
index fbff4575e5a4a..34b4dbabc2bb3 100644
--- a/pkgs/stdenv/freebsd/trivial-bootstrap.sh
+++ b/pkgs/stdenv/freebsd/trivial-bootstrap.sh
@@ -3,9 +3,9 @@ set -o nounset
 set -o pipefail
 
 echo Building the trivial bootstrap environment...
-echo
-echo Needed FreeBSD packages:
-echo findutils gcpio gawk gnugrep coreutils bash gsed gtar gmake xar binutils gpatch lbzip2 diffutils
+#echo
+#echo Needed FreeBSD packages:
+#echo findutils gcpio gawk gnugrep coreutils bash gsed gtar gmake xar binutils gpatch lbzip2 diffutils
 
 $mkdir -p $out/bin
 
@@ -28,14 +28,36 @@ ln () {
   fi
 }
 
-ln /usr/local/bin/bash
-ln /bin/sh
-
-ln /usr/local/bin/gmake make
+ln $bash/bin/bash
+ln $make/bin/make
 
-ln /usr/local/bin/lbzip2
+ln /bin/sh
 
-ln /usr/local/bin/gdiff diff
+for i in b2sum base32 base64 basename basenc cat chcon chgrp chmod \
+    chown chroot cksum comm cp csplit cut date dd df dir dircolors \
+    dirname du echo env expand expr factor false fmt fold install \
+    groups head hostid id join kill link ln logname ls md5sum mkdir \
+    mkfifo mknod mktemp mv nice nl nohup nproc numfmt od paste pathchk \
+    pinky pr printenv printf ptx pwd readlink realpath rm rmdir runcon \
+    seq sha1sum sha224sum sha256sum sha384sum sha512sum shred shuf \
+    sleep sort split stat stdbuf stty sum sync tac tee test timeout \
+    touch tr true truncate tsort tty uname unexpand uniq unlink uptime \
+    users vdir wc who whoami yes
+do
+    ln "$coreutils/bin/$i" "$i"
+done
+
+for i in find xargs; do
+    ln "$findutils/bin/$i" "$i"
+done
+
+for i in diff diff3 sdiff; do
+    ln "$diffutils/bin/$i" "$i"
+done
+
+for i in grep egrep fgrep; do
+    ln "$grep/bin/$i" "$i"
+done
 
 ln /usr/bin/locale
 
@@ -45,160 +67,52 @@ ln /usr/bin/hexdump # for bitcoin
 
 ln /usr/bin/bzip2
 ln /usr/bin/bunzip2
-ln /usr/bin/bzcat
 ln /usr/bin/bzip2recover
 
 ln /usr/bin/xz
 ln /usr/bin/unxz
-ln /usr/bin/xzcat
 ln /usr/bin/lzma
 ln /usr/bin/unlzma
-ln /usr/bin/lzcat
-
-ln /usr/local/bin/gcp cp
-ln /usr/local/bin/gdd dd
-ln /usr/local/bin/gmv mv
-ln /usr/local/bin/grm rm
-ln /usr/local/bin/gls ls
-ln /bin/ps ps
-ln /usr/local/bin/gcat cat
-ln /usr/local/bin/gecho echo
-ln /usr/local/bin/gexpr expr
-ln /usr/local/bin/gtest test
-ln /usr/local/bin/gdate date
-ln /usr/local/bin/gchmod chmod
-ln /usr/local/bin/grmdir rmdir
-ln /usr/local/bin/gsleep sleep
-ln /bin/hostname hostname
-
-ln /usr/local/bin/gid id
-ln /usr/local/bin/god od
-ln /usr/local/bin/gtr tr
-ln /usr/local/bin/gwc wc
-ln /usr/local/bin/gcut cut
-ln /usr/bin/cmp cmp
-ln /usr/local/bin/gsed sed
-ln /usr/local/bin/gtar tar
-ln /usr/local/bin/xar xar
-ln /usr/local/bin/gawk awk
-ln /usr/local/bin/genv env
-ln /usr/local/bin/gtee tee
-ln /usr/local/bin/gcomm comm
-ln /usr/local/bin/gcpio cpio
-ln /usr/local/bin/curl curl
-ln /usr/local/bin/gfind find
-ln /usr/local/bin/grep grep # other grep is in /usr/bin
+
+ln /bin/ps
+ln /bin/hostname
+ln /usr/bin/cmp
+ln $sed/bin/sed
+ln /usr/bin/tar tar
+ln $gawk/bin/gawk
+ln $gawk/bin/gawk awk
+ln $cpio/bin/cpio
+ln $curl/bin/curl curl
 ln /usr/bin/gzip
 ln /usr/bin/gunzip
-ln /usr/bin/zcat
-ln /usr/local/bin/ghead head
 ln /usr/bin/tail tail # note that we are not using gtail!!!
-ln /usr/local/bin/guniq uniq
 ln /usr/bin/less less
-ln /usr/local/bin/gtrue true
-# ln /usr/bin/diff diff # we are using gdiff (see above)
-ln /usr/local/bin/egrep egrep
-ln /usr/local/bin/fgrep fgrep
-ln /usr/local/bin/gpatch patch
-ln /usr/local/bin/guname uname
-ln /usr/local/bin/gtouch touch
-ln /usr/local/bin/gsplit split
-ln /usr/local/bin/gxargs xargs
+ln $patch/bin/patch patch
 ln /usr/bin/which which
-ln /usr/local/bin/ginstall install
-ln /usr/local/bin/gbasename basename
-ln /usr/local/bin/gdirname dirname
-ln /usr/local/bin/greadlink readlink
-
-ln /usr/local/bin/gln ln
-ln /usr/local/bin/gyes yes
-ln /usr/local/bin/gwhoami whoami
-ln /usr/local/bin/gvdir vdir
-ln /usr/local/bin/gusers users
-ln /usr/local/bin/guptime uptime
-ln /usr/local/bin/gunlink unlink
-ln /usr/local/bin/gtty tty
-ln /usr/local/bin/gunexpand unexpand
-ln /usr/local/bin/gtsort tsort
-ln /usr/local/bin/gtruncate truncate
-ln /usr/local/bin/gtimeout timeout
-ln /usr/local/bin/gtac tac
-ln /usr/local/bin/gsync sync
-ln /usr/local/bin/gsum sum
-ln /usr/local/bin/gstty stty
-ln /usr/local/bin/gstdbuf stdbuf
-ln /usr/local/bin/gsort sort
-ln /usr/local/bin/gruncon runcon
-ln /usr/local/bin/gseq seq
-ln /usr/local/bin/gsha1sum sha1sum
-ln /usr/local/bin/gsha224sum sha224sum
-ln /usr/local/bin/gsha256sum sha256sum
-ln /usr/local/bin/gsha384sum sha384sum
-ln /usr/local/bin/gsha512sum sha512sum
-ln /usr/local/bin/gshred shred
-ln /usr/local/bin/gshuf shuf
-ln /usr/local/bin/grealpath realpath
-ln "/usr/local/bin/g[" "["
-ln /usr/local/bin/gbase64 base64
-ln /usr/local/bin/gchcon chcon
-ln /usr/local/bin/gchgrp chgrp
-ln /usr/local/bin/gchown chown
-ln /usr/local/bin/gchroot chroot
-ln /usr/local/bin/gcksum cksum
-ln /usr/local/bin/gcsplit csplit
-ln /usr/local/bin/gdf df
-ln /usr/local/bin/gdircolors dircolors
-ln /usr/local/bin/gdu du
-ln /usr/local/bin/gexpand expand
-ln /usr/local/bin/gfactor factor
-ln /usr/local/bin/gfalse false
-ln /usr/local/bin/gfmt fmt
-ln /usr/local/bin/gfold fold
-ln /usr/local/bin/ggroups groups
-ln /usr/local/bin/ghostid hostid
-ln /usr/local/bin/gjoin join
-ln /usr/local/bin/gkill kill
-ln /usr/local/bin/glink link
-ln /usr/local/bin/glogname logname
-ln /usr/local/bin/gmd5sum md5sum
-ln /usr/local/bin/gmkdir mkdir
-ln /usr/local/bin/gmkfifo mkfifo
-ln /usr/local/bin/gmknod mknod
-ln /usr/local/bin/gmktemp mktemp
-ln /usr/local/bin/gnice nice
-ln /usr/local/bin/gnl nl
-ln /usr/local/bin/gnohup nohup
-ln /usr/local/bin/gnproc nproc
-ln /usr/local/bin/gnumfmt numfmt
-ln /usr/local/bin/gnustat nustat
-ln /usr/local/bin/gpaste paste
-ln /usr/local/bin/gpathchk pathchk
-ln /usr/local/bin/gpinky pinky
-ln /usr/local/bin/gpr pr
-ln /usr/local/bin/gprintenv printenv
-ln /usr/local/bin/gprintf printf
-ln /usr/local/bin/gptx ptx
-ln /usr/local/bin/gpwd pwd
-
-# binutils
+
+## binutils
 # pkg info -l binutils | grep usr/local/bin
-ln /usr/local/bin/addr2line
-ln /usr/local/bin/ar
-ln /usr/local/bin/as
-ln /usr/local/bin/c++filt
-ln /usr/local/bin/dwp
-ln /usr/local/bin/elfedit
-ln /usr/local/bin/gprof
-ln /usr/local/bin/ld
-ln /usr/local/bin/ld.bfd
-ln /usr/local/bin/ld.gold
-ln /usr/local/bin/nm
-ln /usr/local/bin/objcopy
-ln /usr/local/bin/objdump
-ln /usr/local/bin/ranlib
-ln /usr/local/bin/readelf
-ln /usr/local/bin/size
-ln /usr/local/bin/strings
-ln /usr/local/bin/strip
+ln /usr/bin/addr2line
+ln /usr/bin/ar
+ln /usr/bin/as
+ln /usr/bin/c++filt
+#ln /usr/bin/dwp
+#ln /usr/bin/elfedit
+ln /usr/bin/gprof
+ln /usr/bin/ld
+#ln /usr/bin/ld.bfd
+#ln /usr/bin/ld.gold
+ln /usr/bin/nm
+ln /usr/bin/objcopy
+ln /usr/bin/objdump
+ln /usr/bin/ranlib
+ln /usr/bin/readelf
+ln /usr/bin/size
+ln /usr/bin/strings
+ln /usr/bin/strip
+
+ln /usr/bin/cc
+ln /usr/bin/cpp
+ln /usr/bin/c++
 
 #pkg info -l llvm37 | grep usr/local/bin
diff --git a/pkgs/stdenv/freebsd/trivial-builder.nix b/pkgs/stdenv/freebsd/trivial-builder.nix
new file mode 100644
index 0000000000000..64265081f542e
--- /dev/null
+++ b/pkgs/stdenv/freebsd/trivial-builder.nix
@@ -0,0 +1,13 @@
+{ system, name, ver, url, sha256, configureArgs ? [], executable ? false } :
+
+let fetchURL = import <nix/fetchurl.nix>;
+
+in derivation {
+  inherit system configureArgs;
+  name = "trivial-bootstrap-${name}-${ver}";
+  dname = "${name}-${ver}";
+  src = fetchURL {
+    inherit url sha256 executable;
+  };
+  builder = ./trivial-builder.sh;
+}
diff --git a/pkgs/stdenv/freebsd/trivial-builder.sh b/pkgs/stdenv/freebsd/trivial-builder.sh
new file mode 100755
index 0000000000000..ac5601b5ba0cc
--- /dev/null
+++ b/pkgs/stdenv/freebsd/trivial-builder.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+export PATH=/bin:/sbin:/usr/bin:/usr/sbin
+
+tar -zxvf $src
+cd $dname
+mkdir -p $out/bin
+./configure --prefix=$out $configureArgs
+make
+make install
diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix
index 160ca5d4e0684..7fa7f2305e84a 100644
--- a/pkgs/stdenv/generic/check-meta.nix
+++ b/pkgs/stdenv/generic/check-meta.nix
@@ -16,8 +16,8 @@ let
   allowUnfree = config.allowUnfree or false
     || builtins.getEnv "NIXPKGS_ALLOW_UNFREE" == "1";
 
-  whitelist = config.whitelistedLicenses or [];
-  blacklist = config.blacklistedLicenses or [];
+  allowlist = config.allowlistedLicenses or config.whitelistedLicenses or [];
+  blocklist = config.blocklistedLicenses or config.blacklistedLicenses or [];
 
   onlyLicenses = list:
     lib.lists.all (license:
@@ -27,19 +27,19 @@ let
     ) list;
 
   areLicenseListsValid =
-    if lib.mutuallyExclusive whitelist blacklist then
-      assert onlyLicenses whitelist; assert onlyLicenses blacklist; true
+    if lib.mutuallyExclusive allowlist blocklist then
+      assert onlyLicenses allowlist; assert onlyLicenses blocklist; true
     else
-      throw "whitelistedLicenses and blacklistedLicenses are not mutually exclusive.";
+      throw "allowlistedLicenses and blocklistedLicenses are not mutually exclusive.";
 
   hasLicense = attrs:
     attrs ? meta.license;
 
-  hasWhitelistedLicense = assert areLicenseListsValid; attrs:
-    hasLicense attrs && lib.lists.any (l: builtins.elem l whitelist) (lib.lists.toList attrs.meta.license);
+  hasAllowlistedLicense = assert areLicenseListsValid; attrs:
+    hasLicense attrs && lib.lists.any (l: builtins.elem l allowlist) (lib.lists.toList attrs.meta.license);
 
-  hasBlacklistedLicense = assert areLicenseListsValid; attrs:
-    hasLicense attrs && lib.lists.any (l: builtins.elem l blacklist) (lib.lists.toList attrs.meta.license);
+  hasBlocklistedLicense = assert areLicenseListsValid; attrs:
+    hasLicense attrs && lib.lists.any (l: builtins.elem l blocklist) (lib.lists.toList attrs.meta.license);
 
   allowBroken = config.allowBroken or false
     || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1";
@@ -66,7 +66,7 @@ let
   # {pkgs, ...}:
   # {
   #   allowUnfree = false;
-  #   allowUnfreePredicate = (x: pkgs.lib.hasPrefix "flashplayer-" x.name);
+  #   allowUnfreePredicate = (x: pkgs.lib.hasPrefix "vscode" x.name);
   # }
   allowUnfreePredicate = config.allowUnfreePredicate or (x: false);
 
@@ -91,10 +91,10 @@ let
   pos_str = meta: meta.position or "«unknown-file»";
 
   remediation = {
-    unfree = remediate_whitelist "Unfree" remediate_unfree_predicate;
-    broken = remediate_whitelist "Broken" (x: "");
-    unsupported = remediate_whitelist "UnsupportedSystem" (x: "");
-    blacklisted = x: "";
+    unfree = remediate_allowlist "Unfree" remediate_unfree_predicate;
+    broken = remediate_allowlist "Broken" (x: "");
+    unsupported = remediate_allowlist "UnsupportedSystem" (x: "");
+    blocklisted = x: "";
     insecure = remediate_insecure;
     broken-outputs = remediateOutputsToInstall;
     unknown-meta = x: "";
@@ -112,14 +112,14 @@ let
   remediate_unfree_predicate = attrs:
     ''
 
-      Alternatively you can configure a predicate to whitelist specific packages:
+      Alternatively you can configure a predicate to allow specific packages:
         { nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
             "${lib.getName attrs}"
           ];
         }
     '';
 
-  remediate_whitelist = allow_attr: rebuild_amendment: attrs:
+  remediate_allowlist = allow_attr: rebuild_amendment: attrs:
     ''
       a) To temporarily allow ${remediation_phrase allow_attr}, you can use an environment variable
          for a single invocation of the nix tools.
@@ -141,7 +141,7 @@ let
       Known issues:
     '' + (lib.concatStrings (map (issue: " - ${issue}\n") attrs.meta.knownVulnerabilities)) + ''
 
-        You can install it anyway by whitelisting this package, using the
+        You can install it anyway by allowing this package, using the
         following methods:
 
         a) To temporarily allow all insecure packages, you can use an environment
@@ -268,7 +268,7 @@ let
   #
   # Return { valid: Bool } and additionally
   # { reason: String; errormsg: String } if it is not valid, where
-  # reason is one of "unfree", "blacklisted", "broken", "insecure", ...
+  # reason is one of "unfree", "blocklisted", "broken", "insecure", ...
   # Along with a boolean flag for each reason
   checkValidity = attrs:
     {
@@ -277,10 +277,10 @@ let
       unsupported = hasUnsupportedPlatform attrs;
       insecure = isMarkedInsecure attrs;
     }
-    // (if hasDeniedUnfreeLicense attrs && !(hasWhitelistedLicense attrs) then
+    // (if hasDeniedUnfreeLicense attrs && !(hasAllowlistedLicense attrs) then
       { valid = false; reason = "unfree"; errormsg = "has an unfree license (‘${showLicense attrs.meta.license}’)"; }
-    else if hasBlacklistedLicense attrs then
-      { valid = false; reason = "blacklisted"; errormsg = "has a blacklisted license (‘${showLicense attrs.meta.license}’)"; }
+    else if hasBlocklistedLicense attrs then
+      { valid = false; reason = "blocklisted"; errormsg = "has a blocklisted license (‘${showLicense attrs.meta.license}’)"; }
     else if !allowBroken && attrs.meta.broken or false then
       { valid = false; reason = "broken"; errormsg = "is marked as broken"; }
     else if !allowUnsupportedSystem && hasUnsupportedPlatform attrs then
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index 52d57a6decee3..476fab3eed656 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -152,12 +152,12 @@ let
         inherit lib config stdenv;
       }) mkDerivation;
 
-      # Slated for deprecation in 21.11
-      lib = builtins.trace
+      # Slated for removal in 21.11
+      lib = if config.allowAliases or true then builtins.trace
         ( "Warning: `stdenv.lib` is deprecated and will be removed in the next release."
-         + " Please use `pkgs.lib` instead."
+         + " Please use `lib` instead."
          + " For more information see https://github.com/NixOS/nixpkgs/issues/108938")
-        lib;
+        lib else throw "`stdenv.lib` is a deprecated alias for `lib`";
 
       inherit fetchurlBoot;
 
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index 4ff0a6caf7608..7168ce4084c87 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -787,7 +787,7 @@ substituteAllInPlace() {
 # the environment used for building.
 dumpVars() {
     if [ "${noDumpEnvVars:-0}" != 1 ]; then
-        export >| "$NIX_BUILD_TOP/env-vars" || true
+        export 2>/dev/null >| "$NIX_BUILD_TOP/env-vars" || true
     fi
 }
 
diff --git a/pkgs/test/patch-shebangs/default.nix b/pkgs/test/patch-shebangs/default.nix
index 5e1d859c13899..5c49787eee3b2 100644
--- a/pkgs/test/patch-shebangs/default.nix
+++ b/pkgs/test/patch-shebangs/default.nix
@@ -1,26 +1,70 @@
 { lib, stdenv, runCommand }:
 
 let
-  bad-shebang = stdenv.mkDerivation {
-    name         = "bad-shebang";
-    dontUnpack = true;
-    installPhase = ''
-      mkdir -p $out/bin
-      echo "#!/bin/sh" > $out/bin/test
-      echo "echo -n hello" >> $out/bin/test
-      chmod +x $out/bin/test
-    '';
+  tests = {
+    bad-shebang = stdenv.mkDerivation {
+      name         = "bad-shebang";
+      dontUnpack = true;
+      installPhase = ''
+        mkdir -p $out/bin
+        echo "#!/bin/sh" > $out/bin/test
+        echo "echo -n hello" >> $out/bin/test
+        chmod +x $out/bin/test
+      '';
+      passthru = {
+        assertion = "grep -v '^#!/bin/sh' $out/bin/test > /dev/null";
+      };
+    };
+
+    ignores-nix-store = stdenv.mkDerivation {
+      name = "ignores-nix-store";
+      dontUnpack = true;
+      installPhase = ''
+        mkdir -p $out/bin
+        echo "#!$NIX_STORE/path/to/sh" > $out/bin/test
+        echo "echo -n hello" >> $out/bin/test
+        chmod +x $out/bin/test
+      '';
+      passthru = {
+        assertion = "grep \"^#!$NIX_STORE/path/to/sh\" $out/bin/test > /dev/null";
+      };
+    };
   };
 in runCommand "patch-shebangs-test" {
-  passthru = { inherit bad-shebang; };
+  passthru = { inherit (tests) bad-shebang ignores-nix-store; };
   meta.platforms = lib.platforms.all;
 } ''
-  printf "checking whether patchShebangs works properly... ">&2
-  if ! grep -q '^#!/bin/sh' ${bad-shebang}/bin/test; then
-    echo "yes" >&2
-    touch $out
-  else
-    echo "no" >&2
+  validate() {
+    local name=$1
+    local testout=$2
+    local assertion=$3
+
+    echo -n "... $name: " >&2
+
+    local rc=0
+    (out=$testout eval "$assertion") || rc=1
+
+    if [ "$rc" -eq 0 ]; then
+      echo "yes" >&2
+    else
+      echo "no" >&2
+    fi
+
+    return "$rc"
+  }
+
+  echo "checking whether patchShebangs works properly... ">&2
+
+  fail=
+  ${lib.concatStringsSep "\n" (lib.mapAttrsToList (_: test: ''
+    validate "${test.name}" "${test}" ${lib.escapeShellArg test.assertion} || fail=1
+  '') tests)}
+
+  if [ "$fail" ]; then
+    echo "failed"
     exit 1
+  else
+    echo "succeeded"
+    touch $out
   fi
 ''
diff --git a/pkgs/tools/X11/nx-libs/default.nix b/pkgs/tools/X11/nx-libs/default.nix
index bb763962cebf1..022111e4b3141 100644
--- a/pkgs/tools/X11/nx-libs/default.nix
+++ b/pkgs/tools/X11/nx-libs/default.nix
@@ -4,12 +4,12 @@
 }:
 stdenv.mkDerivation rec {
   pname = "nx-libs";
-  version = "3.5.99.25";
+  version = "3.5.99.26";
   src = fetchFromGitHub {
     owner = "ArcticaProject";
     repo = "nx-libs";
     rev = version;
-    sha256 = "01aqdwy0i4nxdyfa24bwnrqjz93q0idihdaqals2yjqpg160nwfc";
+    sha256 = "sha256-qVOdD85sBMxKYx1cSLAGKeODsKKAm9UPBmYzPBbBOzQ=";
   };
 
   nativeBuildInputs = [ autoconf automake libtool pkg-config which
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     description = "NX X server based on Xnest";
     homepage = "https://github.com/ArcticaProject/nx-libs";
     license = lib.licenses.gpl2;
-    maintainers = with lib.maintainers; [ jD91mZM2 ];
+    maintainers = with lib.maintainers; [ ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/X11/opentabletdriver/default.nix b/pkgs/tools/X11/opentabletdriver/default.nix
index 6955f36b8f1c5..0ab7be8374cfa 100644
--- a/pkgs/tools/X11/opentabletdriver/default.nix
+++ b/pkgs/tools/X11/opentabletdriver/default.nix
@@ -23,18 +23,18 @@
 
 stdenv.mkDerivation rec {
   pname = "OpenTabletDriver";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "InfinityGhost";
     repo = "OpenTabletDriver";
     rev = "v${version}";
-    sha256 = "1xi97nn5zb4fs3pyyqznvxnz07j30j3p967s7jigjmlm9321vkqp";
+    sha256 = "1if2mkj193yzf5si9pwaynrm6wkhqy7ihk4k1lklzcryk5675w36";
   };
 
   debPkg = fetchurl {
     url = "https://github.com/InfinityGhost/OpenTabletDriver/releases/download/v${version}/OpenTabletDriver.deb";
-    sha256 = "06m2g5qvc02ga9f98f2ssa7wr2b7b2qm90qwaf17fz5z8rr0qmp0";
+    sha256 = "16a1rr0yxra1dhwysbbfgsxpigh2jhjlsl7r28dgp8qcxncck7wg";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/X11/run-scaled/default.nix b/pkgs/tools/X11/run-scaled/default.nix
index bae91bbc46497..012eedf077914 100644
--- a/pkgs/tools/X11/run-scaled/default.nix
+++ b/pkgs/tools/X11/run-scaled/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
     sha256 = "1ma4ax7ydq4xvyzrc4zapihmf7v3d9zl9mbi8bgpps7nlgz544ys";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/tools/X11/setroot/default.nix b/pkgs/tools/X11/setroot/default.nix
index e5a461b0e0e6b..014ac4c54be78 100644
--- a/pkgs/tools/X11/setroot/default.nix
+++ b/pkgs/tools/X11/setroot/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libX11 imlib2 ]
     ++ lib.optional enableXinerama libXinerama;
 
-  buildFlags = [ "CC=cc" (if enableXinerama then "xinerama=1" else "xinerama=0") ] ;
+  buildFlags = [ "CC=${stdenv.cc.targetPrefix}cc" (if enableXinerama then "xinerama=1" else "xinerama=0") ] ;
 
   installFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
 
diff --git a/pkgs/tools/X11/wmutils-core/default.nix b/pkgs/tools/X11/wmutils-core/default.nix
index c8f3bd52c3e9b..9250a10064ffe 100644
--- a/pkgs/tools/X11/wmutils-core/default.nix
+++ b/pkgs/tools/X11/wmutils-core/default.nix
@@ -1,15 +1,15 @@
-{ lib, stdenv, fetchurl, libxcb }:
+{ lib, stdenv, fetchurl, libxcb, xcbutil, xcb-util-cursor }:
 
 stdenv.mkDerivation rec {
   pname = "wmutils-core";
-  version = "1.1";
+  version = "1.5";
 
   src = fetchurl {
     url = "https://github.com/wmutils/core/archive/v${version}.tar.gz";
-    sha256 = "0aq95khs154j004b79w9rgm80vpggxfqynha5rckm2cx20d1fa5s";
+    sha256 = "0wk39aq2lrnc0wjs8pv3cigw3lwy2qzaw0v61bwknd5wabm25bvj";
   };
 
-  buildInputs = [ libxcb ];
+  buildInputs = [ libxcb xcbutil xcb-util-cursor ];
 
   installFlags = [ "PREFIX=$(out)" ];
 
diff --git a/pkgs/tools/X11/xbindkeys-config/default.nix b/pkgs/tools/X11/xbindkeys-config/default.nix
index ec40e0b06db47..bdade93329b71 100644
--- a/pkgs/tools/X11/xbindkeys-config/default.nix
+++ b/pkgs/tools/X11/xbindkeys-config/default.nix
@@ -4,8 +4,8 @@ stdenv.mkDerivation rec {
   pname = "xbindkeys-config";
   version = "0.1.3";
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ gtk makeWrapper ];
+  nativeBuildInputs = [ pkg-config makeWrapper ];
+  buildInputs = [ gtk ];
 
   src = fetchurl {
     url = "mirror://debian/pool/main/x/xbindkeys-config/xbindkeys-config_${version}.orig.tar.gz";
diff --git a/pkgs/tools/X11/xdg-user-dirs/default.nix b/pkgs/tools/X11/xdg-user-dirs/default.nix
index 6d0c46e52e926..207c052686f86 100644
--- a/pkgs/tools/X11/xdg-user-dirs/default.nix
+++ b/pkgs/tools/X11/xdg-user-dirs/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "13216b8rfkzak5k6bvpx6jvqv3cnbgpijnjwj8a8d3kq4cl0a1ra";
   };
 
-  buildInputs = [ libxslt docbook_xsl makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ libxslt docbook_xsl ];
 
   preFixup = ''
     # fallback values need to be last
diff --git a/pkgs/tools/X11/xkb-switch/default.nix b/pkgs/tools/X11/xkb-switch/default.nix
index 65426a049feae..e2f15d969edd6 100644
--- a/pkgs/tools/X11/xkb-switch/default.nix
+++ b/pkgs/tools/X11/xkb-switch/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xkb-switch";
-  version = "1.6.0";
+  version = "1.8.5";
 
   src = fetchFromGitHub {
     owner = "ierton";
     repo = "xkb-switch";
     rev = version;
-    sha256 = "11yn0y1kx04rqxh0d81b5q7kbyz58pi48bl7hyhlv7p8yndkfg4b";
+    sha256 = "sha256-DZAIL6+D+Hgs+fkJwRaQb9BHrEjAkxiqhOZyrR+Mpuk=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/X11/xsettingsd/SConstruct.patch b/pkgs/tools/X11/xsettingsd/SConstruct.patch
deleted file mode 100644
index bae8d1efc14d0..0000000000000
--- a/pkgs/tools/X11/xsettingsd/SConstruct.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/SConstruct b/SConstruct
-index bebc82e..3e0127b 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -59,6 +59,8 @@ srcs = Split('''\
- ''')
- libxsettingsd = env.Library('xsettingsd', srcs)
- env['LIBS'] = libxsettingsd
-+env['ENV']['PATH'] = os.environ.get('PATH', '')
-+env['ENV']['PKG_CONFIG_PATH'] = os.environ.get('PKG_CONFIG_PATH', '')
- env.ParseConfig('pkg-config --cflags --libs x11')
- 
- xsettingsd     = env.Program('xsettingsd', 'xsettingsd.cc')
diff --git a/pkgs/tools/X11/xsettingsd/default.nix b/pkgs/tools/X11/xsettingsd/default.nix
index 7572e19fbf913..0fe260e3db1e3 100644
--- a/pkgs/tools/X11/xsettingsd/default.nix
+++ b/pkgs/tools/X11/xsettingsd/default.nix
@@ -1,38 +1,31 @@
-{ lib, stdenv, fetchFromGitHub, scons, pkg-config, libX11 }:
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libX11 }:
 
 stdenv.mkDerivation rec {
   pname = "xsettingsd";
-  version = "1.0.0";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "derat";
     repo = "xsettingsd";
     rev = "v${version}";
-    sha256 = "05m4jlw0mgwp24cvyklncpziq1prr2lg0cq9c055sh4n9d93d07v";
+    sha256 = "sha256-CIYshZqJICuL8adKHIN4R6nudaqWOCK2UPrGhsKf9pE=";
   };
 
-  patches = [
-    ./SConstruct.patch
-  ];
-
-  nativeBuildInputs = [ scons pkg-config ];
+  nativeBuildInputs = [ cmake pkg-config ];
 
   buildInputs = [ libX11 ];
 
-  buildPhase = ''
-    scons -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES
-  '';
-
-  installPhase = ''
-    install -D -t "$out"/bin xsettingsd dump_xsettings
-    install -D -t "$out"/usr/share/man/man1 xsettingsd.1 dump_xsettings.1
+  # we end up with symlinked unit files if we don't move them around ourselves
+  postFixup = ''
+    rm -r $out/lib/systemd
+    mv $out/share/systemd $out/lib
   '';
 
   meta = with lib; {
     description = "Provides settings to X11 applications via the XSETTINGS specification";
     homepage = "https://github.com/derat/xsettingsd";
     license = licenses.bsd3;
+    maintainers = with maintainers; [ romildo ];
     platforms = platforms.linux;
-    maintainers = [ maintainers.romildo ];
   };
 }
diff --git a/pkgs/tools/X11/xwallpaper/default.nix b/pkgs/tools/X11/xwallpaper/default.nix
index 55c5f86361578..234b89f94cd8e 100644
--- a/pkgs/tools/X11/xwallpaper/default.nix
+++ b/pkgs/tools/X11/xwallpaper/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xwallpaper";
-  version = "0.6.5";
+  version = "0.6.6";
 
   src = fetchFromGitHub {
     owner = "stoeckmann";
     repo = "xwallpaper";
     rev = "v${version}";
-    sha256 = "121ai4dc0v65qk12gn9w62ixly8hc8a5qrygkbb82vy8ck4jqxj7";
+    sha256 = "sha256-WYtbwMFzvJ0Xr84gGoKSofSSnmb7Qn6ioGMOnQOqdII=";
   };
 
   preConfigure = "./autogen.sh";
diff --git a/pkgs/tools/admin/amazon-ecr-credential-helper/default.nix b/pkgs/tools/admin/amazon-ecr-credential-helper/default.nix
index 30d74c14ce5e1..e661af0f949f0 100644
--- a/pkgs/tools/admin/amazon-ecr-credential-helper/default.nix
+++ b/pkgs/tools/admin/amazon-ecr-credential-helper/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "amazon-ecr-credential-helper";
-  version = "0.4.0";
+  version = "0.5.0";
 
   goPackagePath = "github.com/awslabs/amazon-ecr-credential-helper";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "awslabs";
     repo = "amazon-ecr-credential-helper";
     rev = "v${version}";
-    sha256 = "1whwxjzlyzyvrf2mzbd7my2kdz5fdbr79g18g9h4xrg8xyzk1k5q";
+    sha256 = "sha256-GmGse+N7QeG2sAjCumGkUAWu/KfhnMltzeh+s8o+tiw=";
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/admin/aws-mfa/default.nix b/pkgs/tools/admin/aws-mfa/default.nix
index 12f63e627e6d4..53855b6d28de0 100644
--- a/pkgs/tools/admin/aws-mfa/default.nix
+++ b/pkgs/tools/admin/aws-mfa/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonApplication
 , fetchFromGitHub
-, pkgs
 , boto3
 }:
 
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
index 322830aaa2c69..a513b3587f7e5 100644
--- a/pkgs/tools/admin/awscli/default.nix
+++ b/pkgs/tools/admin/awscli/default.nix
@@ -4,7 +4,6 @@
 , groff
 , less
 }:
-
 let
   py = python3.override {
     packageOverrides = self: super: {
@@ -26,17 +25,20 @@ let
     };
   };
 
-in with py.pkgs; buildPythonApplication rec {
+in
+with py.pkgs; buildPythonApplication rec {
   pname = "awscli";
-  version = "1.18.222"; # N.B: if you change this, change botocore to a matching version too
+  version = "1.19.17"; # N.B: if you change this, change botocore and boto3 o a matching version too
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-nVBQ2Lj5+zyvj3g0W3Rxh+CZwG7sbqKehvg6vAhHexs=";
+    sha256 = "sha256-YdkkeE2POxeHgaGjp0ufzbP/Lqvt4ytStHkRZ+2KsTs=";
   };
 
+  # https://github.com/aws/aws-cli/issues/4837
   postPatch = ''
-    substituteInPlace setup.py --replace "docutils>=0.10,<0.16" "docutils>=0.10"
+    substituteInPlace setup.py \
+      --replace "docutils>=0.10,<0.16" "docutils>=0.10"
   '';
 
   # No tests included
diff --git a/pkgs/tools/admin/awslogs/default.nix b/pkgs/tools/admin/awslogs/default.nix
index 3e2cf1505579c..d9fd55f32c921 100644
--- a/pkgs/tools/admin/awslogs/default.nix
+++ b/pkgs/tools/admin/awslogs/default.nix
@@ -2,19 +2,23 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "awslogs";
-  version = "0.11.0";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "jorgebastida";
     repo = "awslogs";
     rev = version;
-    sha256 = "0vdpld7r7y78x1lcd5z3qsx047dwichxb8f3447yzl75fnsm75dc";
+    sha256 = "1gyry8b64psvmjcb2lb3yilpa7b17yllga06svls4hi69arvrd8f";
   };
 
-  doCheck = false;
-
   propagatedBuildInputs = with python3Packages; [
-    boto3 termcolor dateutil docutils setuptools
+    boto3 termcolor dateutil docutils setuptools jmespath
+  ];
+
+  checkInputs = [ python3Packages.pytestCheckHook ];
+  disabledTests = [
+    "test_main_get_query"
+    "test_main_get_with_color"
   ];
 
   meta = with lib; {
diff --git a/pkgs/tools/admin/clair/default.nix b/pkgs/tools/admin/clair/default.nix
index cbe6e3eed1f3e..9460144998eb8 100644
--- a/pkgs/tools/admin/clair/default.nix
+++ b/pkgs/tools/admin/clair/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "clair";
-  version = "4.0.0";
+  version = "4.0.2";
 
   src = fetchFromGitHub {
     owner = "quay";
     repo = pname;
     rev = "v${version}";
-    sha256 = "10kgg2i5yzdfhylrdkmh8rsc4cgdnhcgfa8fa4dm8m3licjciwam";
+    sha256 = "sha256-uGvcr7TG/NCi0YoYZnQU11zOxXDhFTnCmLQVxOqmXLY=";
   };
 
-  vendorSha256 = "1l3b86f5xmyc6lskvb4ab30adcgzb69ayccc0wcz2f28sda3i80r";
+  vendorSha256 = "sha256-CO4U8uSQeHXLPj5PH/SsOI/LjT2Rs/mBHsvNTudx72I=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/admin/docker-credential-gcr/default.nix b/pkgs/tools/admin/docker-credential-gcr/default.nix
index 7fb128caa19b2..48851c3784b7b 100644
--- a/pkgs/tools/admin/docker-credential-gcr/default.nix
+++ b/pkgs/tools/admin/docker-credential-gcr/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "docker-credential-gcr";
-  version = "2.0.2";
+  version = "2.0.4";
 
   goPackagePath = "github.com/GoogleCloudPlatform/docker-credential-gcr";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "GoogleCloudPlatform";
     repo = "docker-credential-gcr";
     rev = "v${version}";
-    sha256 = "0m7jx669yf27z2g9gw9vwncpwldrcb3ldlf1xhvbwbijnc2jk866";
+    sha256 = "sha256-yG8gpsD1KZBSbJnnNTXgZah/mcrOUH1O37s7AGpeHjQ=";
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix
index d148c337e8285..6e1da0b591e34 100644
--- a/pkgs/tools/admin/eksctl/default.nix
+++ b/pkgs/tools/admin/eksctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.36.2";
+  version = "0.39.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "sha256-qAUJgQzC9dGeVePsLpZHt+Ogz5ty5+N8hKBtGozhRZM=";
+    sha256 = "sha256-mq1/e9FW0jP6dY6zCBlPz5dBidKLS6IROBKESfHDvPI=";
   };
 
-  vendorSha256 = "sha256-woEa/h6TKQD32BslmPBuILvBAObhWjT8XqnQmuweUx0=";
+  vendorSha256 = "sha256-ANOeU3cFSwLcpdbpApM+j4r296ZGj/tuDV8oiMA7kMo=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/admin/exoscale-cli/default.nix b/pkgs/tools/admin/exoscale-cli/default.nix
index 8913bed39d514..89b96824607d0 100644
--- a/pkgs/tools/admin/exoscale-cli/default.nix
+++ b/pkgs/tools/admin/exoscale-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "exoscale-cli";
-  version = "1.23.0";
+  version = "1.24.0";
 
   src = fetchFromGitHub {
     owner  = "exoscale";
     repo   = "cli";
     rev    = "v${version}";
-    sha256 = "sha256-LVWUfaACdDp9xsuXHysPO/8QMdaDqS+yhP2U9cc4jh4=";
+    sha256 = "sha256-uriXZ4fEUswSBh9hv122wkAPHOnmt6+AodKkCHAMSh8=";
   };
 
   goPackagePath = "github.com/exoscale/cli";
diff --git a/pkgs/tools/admin/google-cloud-sdk/cloud_sql_proxy_path.patch b/pkgs/tools/admin/google-cloud-sdk/cloud_sql_proxy_path.patch
new file mode 100644
index 0000000000000..aec4be2ec19ae
--- /dev/null
+++ b/pkgs/tools/admin/google-cloud-sdk/cloud_sql_proxy_path.patch
@@ -0,0 +1,36 @@
+diff --git a/lib/googlecloudsdk/api_lib/sql/instances.py b/lib/googlecloudsdk/api_lib/sql/instances.py
+index 0d88ffe..814a436 100644
+--- a/lib/googlecloudsdk/api_lib/sql/instances.py
++++ b/lib/googlecloudsdk/api_lib/sql/instances.py
+@@ -86,18 +86,19 @@ def GetRegionFromZone(gce_zone):
+ def _GetCloudSqlProxyPath():
+   """Determines the path to the cloud_sql_proxy binary."""
+   sdk_bin_path = config.Paths().sdk_bin_path
+-  if not sdk_bin_path:
+-    # Check if cloud_sql_proxy is located on the PATH.
+-    proxy_path = file_utils.FindExecutableOnPath('cloud_sql_proxy')
+-    if proxy_path:
+-      log.debug(
+-          'Using cloud_sql_proxy found at [{path}]'.format(path=proxy_path))
+-      return proxy_path
+-    else:
+-      raise exceptions.ToolException(
+-          'A Cloud SQL Proxy SDK root could not be found. Please check your '
+-          'installation.')
+-  return os.path.join(sdk_bin_path, 'cloud_sql_proxy')
++  if sdk_bin_path and os.path.isfile(os.path.join(sdk_bin_path, 'cloud_sql_proxy')):
++      return os.path.join(sdk_bin_path, 'cloud_sql_proxy')
++
++  # Check if cloud_sql_proxy is located on the PATH.
++  proxy_path = file_utils.FindExecutableOnPath('cloud_sql_proxy')
++  if proxy_path:
++    log.debug(
++        'Using cloud_sql_proxy found at [{path}]'.format(path=proxy_path))
++    return proxy_path
++
++  raise exceptions.ToolException(
++      'A Cloud SQL Proxy SDK root could not be found. Please check your '
++      'installation.')
+ 
+ 
+ def _RaiseProxyError(error_msg=None):
diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix
index 8830b0d7e04f1..1d585514f7e03 100644
--- a/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -21,31 +21,37 @@ let
   sources = name: system: {
     x86_64-darwin = {
       url = "${baseUrl}/${name}-darwin-x86_64.tar.gz";
-      sha256 = "0ziz7cipi3m4aiba6ljz8419w2rps20rii6nwv0pyq5j7qvlvnqp";
+      sha256 = "sha256-aHFwcynt4xQ0T1J+OTSxgttU9W3VFJAqCwmQSdVg8Fk=";
     };
 
     x86_64-linux = {
       url = "${baseUrl}/${name}-linux-x86_64.tar.gz";
-      sha256 = "1a9mqhqzmn0zfc1ab6jmac15yn192cmqkijw34di3ld6syqvaziw";
+      sha256 = "sha256-MfldToK7ZfdWZiZnI1qKI1o/dSiUcysxzUkTYMVZ5u4=";
     };
   }.${system};
 
 in stdenv.mkDerivation rec {
   pname = "google-cloud-sdk";
-  version = "323.0.0";
+  version = "328.0.0";
 
   src = fetchurl (sources "${pname}-${version}" stdenv.hostPlatform.system);
 
-  buildInputs = [ python makeWrapper ];
+  buildInputs = [ python ];
 
-  nativeBuildInputs = [ jq ];
+  nativeBuildInputs = [ jq makeWrapper ];
 
   patches = [
+    # For kubectl configs, don't store the absolute path of the `gcloud` binary as it can be garbage-collected
     ./gcloud-path.patch
+    # Disable checking for updates for the package
     ./gsutil-disable-updates.patch
+    # Try to use cloud_sql_proxy from SDK only if it actually exists, otherwise, search for one in PATH
+    ./cloud_sql_proxy_path.patch
   ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/google-cloud-sdk
     cp -R * .install $out/google-cloud-sdk/
 
@@ -91,6 +97,8 @@ in stdenv.mkDerivation rec {
       jq -c . $path > $path.min
       mv $path.min $path
     done
+
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/tools/admin/lxd/default.nix
index 1c263a1969d16..ba6f9d074b24c 100644
--- a/pkgs/tools/admin/lxd/default.nix
+++ b/pkgs/tools/admin/lxd/default.nix
@@ -18,13 +18,13 @@ let
 in
 buildGoPackage rec {
   pname = "lxd";
-  version = "4.10";
+  version = "4.11";
 
   goPackagePath = "github.com/lxc/lxd";
 
   src = fetchurl {
     url = "https://github.com/lxc/lxd/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "0s8lbvh2vsqphvspyjyxp5s589gf2wrjpka8v496lf6fv1nsi5s8";
+    sha256 = "1pcgxpmiiskq770sn25861dj0z8l24nzc1jbzyql7cxn0w5bnw1x";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/admin/netplan/default.nix b/pkgs/tools/admin/netplan/default.nix
new file mode 100644
index 0000000000000..b9dc2c070731a
--- /dev/null
+++ b/pkgs/tools/admin/netplan/default.nix
@@ -0,0 +1,65 @@
+{ stdenv
+, fetchFromGitHub
+, pkg-config
+, glib
+, pandoc
+, systemd
+, libyaml
+, python3
+, libuuid
+, bash-completion
+, lib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "netplan";
+  version = "0.101";
+
+  src = fetchFromGitHub {
+    owner = "CanonicalLtd";
+    repo = "netplan";
+    rev = version;
+    hash = "sha256-bCK7J2pCQUwjZu8c1n6jhF6T/gvUGwydqAXpxUMLgMc=";
+    fetchSubmodules = false;
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    glib
+    pandoc
+  ];
+
+  buildInputs = [
+    systemd
+    glib
+    libyaml
+    (python3.withPackages (p: with p; [ pyyaml netifaces ]))
+    libuuid
+    bash-completion
+  ];
+
+  postPatch = ''
+    substituteInPlace netplan/cli/utils.py --replace "/lib/netplan/generate" "$out/lib/netplan/generate"
+    substituteInPlace netplan/cli/utils.py --replace "ctypes.util.find_library('netplan')" "\"$out/lib/libnetplan.so\""
+
+    substituteInPlace Makefile --replace 'SYSTEMD_GENERATOR_DIR=' 'SYSTEMD_GENERATOR_DIR ?= ' \
+        --replace 'SYSTEMD_UNIT_DIR=' 'SYSTEMD_UNIT_DIR ?= ' \
+        --replace 'BASH_COMPLETIONS_DIR=' 'BASH_COMPLETIONS_DIR ?= '
+  '';
+
+  makeFlags = [
+    "PREFIX="
+    "DESTDIR=$(out)"
+    "SYSTEMD_GENERATOR_DIR=lib/systemd/system-generators/"
+    "SYSTEMD_UNIT_DIR=lib/systemd/units/"
+    "BASH_COMPLETIONS_DIR=share/bash-completion/completions"
+  ];
+
+  meta = with lib; {
+    description = "Backend-agnostic network configuration in YAML";
+    homepage = "https://netplan.io";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ mkg20001 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/admin/procs/default.nix b/pkgs/tools/admin/procs/default.nix
index c413934590874..afdbbbe9450b3 100644
--- a/pkgs/tools/admin/procs/default.nix
+++ b/pkgs/tools/admin/procs/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "procs";
-  version = "0.11.1";
+  version = "0.11.3";
 
   src = fetchFromGitHub {
     owner = "dalance";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-e9fdqsv/P3zZdjsdAkwO21txPS1aWd0DuqRQUdr1vX4=";
+    sha256 = "sha256-OaHsNxrOrPlAwtFDY3Tnx+nOabax98xcGQeNds32iOA=";
   };
 
-  cargoSha256 = "sha256-ilSDLbPQnmhQcNbtKCpUNmyZY0JUY/Ksg0sj/t7veT0=";
+  cargoSha256 = "sha256-miOfm1Sw6tIICkT9T2V82cdGG2STo9vuLPWsAN/8wuM=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/admin/pulumi/data.nix b/pkgs/tools/admin/pulumi/data.nix
index 0498b56dcf567..6d8a068d48ba4 100644
--- a/pkgs/tools/admin/pulumi/data.nix
+++ b/pkgs/tools/admin/pulumi/data.nix
@@ -1,178 +1,178 @@
 # DO NOT EDIT! This file is generated automatically by update.sh
 { }:
 {
-  version = "2.19.0";
+  version = "2.21.2";
   pulumiPkgs = {
     x86_64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v2.19.0-linux-x64.tar.gz";
-        sha256 = "0641inzkbgrjarc7jdmi0iryx4swjh1ayf0j15ais3yij7jq4da2";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v2.21.2-linux-x64.tar.gz";
+        sha256 = "1zspkrfrrgkk8yhsa8lccky9as1v0nmz7wqxkfnx707nc986w5a3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v1.5.2-linux-amd64.tar.gz";
-        sha256 = "1jrv87r55m1kzl48zs5vh83v2kh011gm4dha80ijqjhryx0a94jy";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v1.8.1-linux-amd64.tar.gz";
+        sha256 = "0yzz24fhkd1ij3gvsgi48czpm30lwbzdswsfir1mdq0a6wwhll4w";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v3.25.1-linux-amd64.tar.gz";
-        sha256 = "0yfrpih5q2hfj2555y26l1pqs22idh4hqn20gy310kg12r303hwk";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v3.30.1-linux-amd64.tar.gz";
+        sha256 = "1ml980mxhah193k4w75nvh7yzlc0j4k1sm9f51pvihxzmq5hjzgz";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v2.11.1-linux-amd64.tar.gz";
-        sha256 = "18gyan0dszfvx8fhvi8r2msbf8n9lbh10pnvcaqvdk8cr79lnzl9";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v2.13.1-linux-amd64.tar.gz";
+        sha256 = "12f6knxnpkdh00w0s9a9fqk934n5ry7k473sk42gz024j253pq8g";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v2.7.0-linux-amd64.tar.gz";
-        sha256 = "05nmdjgwhm1pi5zljq33812wgkz1rpisjrvdn8lcsapwz3fchbjd";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v2.8.1-linux-amd64.tar.gz";
+        sha256 = "1g1rbvi3yizxs007hp0zgfysbam20gfg4xkc69gpwishy0j0m14q";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v2.15.0-linux-amd64.tar.gz";
-        sha256 = "12wjh0w7i1f6rd5r4pqc98ix4mkrkqwnvpv7hkcsn90rsxrlfysk";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v2.16.1-linux-amd64.tar.gz";
+        sha256 = "1v4zf3z6vcz074yay97kczh5dv9ii5mmkas57j6jqgpfm1lqymil";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v3.3.0-linux-amd64.tar.gz";
-        sha256 = "19cpq6hwj862wmfcfx732j66wjkfjnxjrqj4bgxpgah62hrl5lh2";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v3.5.1-linux-amd64.tar.gz";
+        sha256 = "02angr4bimgir42n0jdf69005fzkikknfvyxgdh8kpr555lbb17a";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v2.7.0-linux-amd64.tar.gz";
-        sha256 = "0mb6ddidyk3g1ayk8y0ypb262fyv584w5cicvjc5r9670a1d2rcv";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v2.8.1-linux-amd64.tar.gz";
+        sha256 = "13987spi37vb7b6cd12axyvc2r2lvy1if1lwssxxj7jl95bss1d9";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v4.9.0-linux-amd64.tar.gz";
-        sha256 = "1b5m2620s4bqq6zlagki3w4fzph3lc5192falv8ick4rgbv714nb";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v4.12.0-linux-amd64.tar.gz";
+        sha256 = "0srdmga79r2jh3mv4vcb0gnhmkky666v902vd20bbr1r2fmi8wji";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v2.5.1-linux-amd64.tar.gz";
-        sha256 = "10cmnsxpiy7bfxyrpwfqn5kgpijlkxrhfah40wd82j3j2b7wy33j";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v3.2.0-linux-amd64.tar.gz";
+        sha256 = "07qg1vmbmjc6shz2nw37vcrccd7m6ghb0h9zjp0gvzks1b2fz32i";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v3.5.0-linux-amd64.tar.gz";
-        sha256 = "10d5gmhax02906jpr9nmb80xfxvy2ym8vjyj31sz2mcl9jnadk4z";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v3.7.0-linux-amd64.tar.gz";
+        sha256 = "19d83ydqh6fi7rl3j1gkmrnnbkijw4pj4rvkk1w3s842jsiqxlr9";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v0.5.1-linux-amd64.tar.gz";
-        sha256 = "0fi8qxv6ladpapb6j0w7zqk0hxj56iy1131dsipzkkx4p1jfg27r";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v0.6.2-linux-amd64.tar.gz";
+        sha256 = "01kyqw5x2jv0il8w4mg0man2dzikghdz4kirk3nabkm6fwncngk1";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v2.7.8-linux-amd64.tar.gz";
-        sha256 = "0ah0yhwf79dgk7biifnapz0366mm5a54rlqf8hffn13czqnc3qbq";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v2.8.2-linux-amd64.tar.gz";
+        sha256 = "01jcilqw1z7klk8xa0z3c5rh6fi5c2xxr6sqw9qmmwgh1ncpdmhi";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v2.3.2-linux-amd64.tar.gz";
-        sha256 = "1c39fk37kx093n0ldk8szblgcx0hviyyd7mxzp7nb97s4rvmf48l";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v2.4.1-linux-amd64.tar.gz";
+        sha256 = "1ayjs4s6zv5lsr74y1zjicngqj111hp8zb5gmlr4x2qs5cxnz02n";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v2.3.3-linux-amd64.tar.gz";
-        sha256 = "0c2aypx8y6s892y2gygc8116rlarlcw1s2m39gkcdjjbfkmf8za0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v2.4.1-linux-amd64.tar.gz";
+        sha256 = "11l6xsn42dr2mx8ayimdc19gn2vsiwq3h1qd716y9snnzkrsiyw7";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v2.11.0-linux-amd64.tar.gz";
-        sha256 = "0iqimhqh853jx6zd53z1r98ky0qhxfby9w519xpdlvxxq5aqb6kb";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v2.15.0-linux-amd64.tar.gz";
+        sha256 = "1xraydxazx620y4m54qwjacmf5vs6x5ci9jymj52vrpd5c4lpw5p";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.2.2-linux-amd64.tar.gz";
         sha256 = "0glbjhgrb2hiyhd6kwmy7v384j8zw641pw9737g1fczv3x16a3s3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v2.5.3-linux-amd64.tar.gz";
-        sha256 = "1rh14rngpcbqly5i3cgwfgi90drkg6fa0gkgpfa7f9mkm4wpgla8";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v2.7.2-linux-amd64.tar.gz";
+        sha256 = "1lx4yk7wcnbn419zqjyp2aw81q5bg5dqjy74ghbc74qhbbxjz6q0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v3.0.1-linux-amd64.tar.gz";
-        sha256 = "0jpv94kzsa794ds5bjj6j3pj1wxqicavpxjnycfa5cm8w71kmlsh";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v3.0.3-linux-amd64.tar.gz";
+        sha256 = "0par5cpp787iwxy1dbv9kw946bnvgd4qnzrh0hc4y6468w9k3kbm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v3.3.0-linux-amd64.tar.gz";
-        sha256 = "069sq8lkw4n7ykh2b2fsaggxxr4731riyy9i15idffa52d1kkiq6";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v3.4.1-linux-amd64.tar.gz";
+        sha256 = "0w8l0py337msdh0w9czbydznchl1h22pkzp2yrj6lx1p9vl4qbmq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v2.11.4-linux-amd64.tar.gz";
-        sha256 = "0lyvpfmjsjxpwq1b74j2jipp36n7zczlxgy0pr6j7c027d26sym6";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v2.12.2-linux-amd64.tar.gz";
+        sha256 = "1clhdj8jlmhfykirdfp8lkg9grhyyamjimxcy2mxshm6mwlaajcm";
       }
     ];
     x86_64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v2.19.0-darwin-x64.tar.gz";
-        sha256 = "02wd0h5aq53zjy18xzbkv7nnl097ja0m783gsgrs1wdlqblwpqyw";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v2.21.2-darwin-x64.tar.gz";
+        sha256 = "0wijdxlhinjmn2rf7k02iwg1i14xd1v3cxvxssik56yk0mhkm42b";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v1.5.2-darwin-amd64.tar.gz";
-        sha256 = "1rqx2dyx3anmlv74whs587rs1bgyssqxfjzrx1cfpfnnnj5rkmry";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v1.8.1-darwin-amd64.tar.gz";
+        sha256 = "00d66lmsd9ph7dpyrsdini8phlc197ssinfnkl3cj3j5v6hnzah1";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v3.25.1-darwin-amd64.tar.gz";
-        sha256 = "1j4czx1iqfm95y14isl1sqwvsw690h9y0xf2jpynp2ygmc3szrkr";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v3.30.1-darwin-amd64.tar.gz";
+        sha256 = "1p3rp2fq7lfqj03w1y8p21arvrvbbdwcd1nxnnqjnjwq3ahfvwnm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v2.11.1-darwin-amd64.tar.gz";
-        sha256 = "0dqyd8aywmxrsvipndwrwq5pxv7avzf8kpk6rdyip4j8hp156lbz";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v2.13.1-darwin-amd64.tar.gz";
+        sha256 = "0scx1vwpfan98cx6n2k06bph9xlpc41viirs34lf4mqdm2c2m3k5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v2.7.0-darwin-amd64.tar.gz";
-        sha256 = "0xbbaphd0lypyzq262rapr42lmyz3wr14xab09qc156rjasr8w64";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-consul-v2.8.1-darwin-amd64.tar.gz";
+        sha256 = "1nzrqm3rbqdl4q12ln87p78hfpnmbliavavhbqn3jr2kchfgy9j1";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v2.15.0-darwin-amd64.tar.gz";
-        sha256 = "10izly9m7847rsb533ch3n8rkhbfb3q6lcx80dk5ia8bfdlvc3cn";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v2.16.1-darwin-amd64.tar.gz";
+        sha256 = "0y3qadiyqa5krknkabfy60gjd7kmqjx8w72w8jrv5821bmxs3kzm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v3.3.0-darwin-amd64.tar.gz";
-        sha256 = "0kyw1csyzvkbzqxrgpf4d2zgydysd4mfb07igjv19m3f7gs8jhr9";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v3.5.1-darwin-amd64.tar.gz";
+        sha256 = "1ksv79cglb6fifx4mrjk32lh25hq2n8yigphsk54lppvhvp9ynyp";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v2.7.0-darwin-amd64.tar.gz";
-        sha256 = "122cf7v12vzv1szi9adcccakbs3hs23qsjbykjrhwmk8hw21g4kb";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v2.8.1-darwin-amd64.tar.gz";
+        sha256 = "1i1kf0mj8pagcm1q2sjlfqc42qv9pgchq8a8qxs1xllxcv2nqp96";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v4.9.0-darwin-amd64.tar.gz";
-        sha256 = "11w4ykh846byg05jxnddm6ln901pms8n5g0q5gj3ldfjrfl1cn2q";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v4.12.0-darwin-amd64.tar.gz";
+        sha256 = "1m02w4szp3dq9klwvi26fdxxdr3pqw77afcxarfxc92dhdq8rp2g";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v2.5.1-darwin-amd64.tar.gz";
-        sha256 = "1apaaa76dq53ppnmh4xi55zsrx1mwbnnsby63ymjw9xhdkc1sah6";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v3.2.0-darwin-amd64.tar.gz";
+        sha256 = "128j5vrvgqzvn2cfdvnw89328fydahaj3i4pmbpk2swgqmn0kac8";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v3.5.0-darwin-amd64.tar.gz";
-        sha256 = "0xfkdmnax10zkgpipxaxfi0lgfgijnvssbwmfsaxxisdxscw2ig9";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v3.7.0-darwin-amd64.tar.gz";
+        sha256 = "1f9scgzzlcq6inl1z9b0xvcd9prr6w8acr20mnki5j1fn0m67sa5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v0.5.1-darwin-amd64.tar.gz";
-        sha256 = "05h8adn3q7nnhn75vircrnr9nxf15pf82n9gvz5rbq0hsdivh3l2";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v0.6.2-darwin-amd64.tar.gz";
+        sha256 = "099paln0sh7kp8393k264zz0bvrv2p7k7rywgj9ym9dncqq9za2r";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v2.7.8-darwin-amd64.tar.gz";
-        sha256 = "01xspqk3hzvrhka9nsxal8pwji3hm5qgkn49jjnk1cy01hy7s78q";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v2.8.2-darwin-amd64.tar.gz";
+        sha256 = "0afy6aphq14i7ww3a35ybzhwqwlxaybbxbhsa6w63hv3s4fw7wpa";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v2.3.2-darwin-amd64.tar.gz";
-        sha256 = "19v60l2djvigf60zacchfr98kfb8wxk1rmhdswyhhhz41jh30qhl";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mailgun-v2.4.1-darwin-amd64.tar.gz";
+        sha256 = "1nngzlvx06kphxayqkyn0xrh22dv2pcpb9b0gvlicancbn01ql5w";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v2.3.3-darwin-amd64.tar.gz";
-        sha256 = "15w72087frbx6wyngi20bsssnr7si1bk1h94jav3d4cgm6nhpnwk";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-mysql-v2.4.1-darwin-amd64.tar.gz";
+        sha256 = "041ml1yx7wk4whq6gfsb1zc49kkdws06dqpr5i910ln5avnhslvq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v2.11.0-darwin-amd64.tar.gz";
-        sha256 = "05hap76yzss5bsgr20rm8sxb6r3iiwvq75lhf11laaxq2hnb7qdp";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-openstack-v2.15.0-darwin-amd64.tar.gz";
+        sha256 = "13sy891ff4y53yw7h0p3cynycrxd8hq5pfmdnl7332ll7kls37p3";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-packet-v3.2.2-darwin-amd64.tar.gz";
         sha256 = "0621njipng32x43lw8n49mapq10lnvibg8vlvgciqsfvrbpz1yp5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v2.5.3-darwin-amd64.tar.gz";
-        sha256 = "033262l7yylw9y8ifrag2fsdpfvqjmmrxmmhksvysjmz9slb60kg";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v2.7.2-darwin-amd64.tar.gz";
+        sha256 = "0c83zdnx12g2dmvi98v7w3739x91d9lhqx5j6cvq8c24y7lxga78";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v3.0.1-darwin-amd64.tar.gz";
-        sha256 = "0d578hqkhwlhx50k9qpw7ixjyy1p2fd6cywj86s870jzgl8zh4fv";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v3.0.3-darwin-amd64.tar.gz";
+        sha256 = "1b4y5apgkd2k9yfx3f7p0vs5l0gqhgccbszgnzqq465i0970b6r7";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v3.3.0-darwin-amd64.tar.gz";
-        sha256 = "1qkh8hg7nplv0slq2xark57l547z63fy1l6zvrcblrqsqfw5zybv";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v3.4.1-darwin-amd64.tar.gz";
+        sha256 = "1q00jmjprhnxgvjc4a50jdgd90zj71ymfhkl1w1bkqlrva9spiws";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v2.11.4-darwin-amd64.tar.gz";
-        sha256 = "11c1d1jw0z4ybwvqfvmjcx3gkpwnvi5vcq01bc7a2wg374mkhj62";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v2.12.2-darwin-amd64.tar.gz";
+        sha256 = "0wpqk93ns9z3yvpas9aix345jm38hffssnz1dn5cxl6y0d5scjd8";
       }
     ];
   };
diff --git a/pkgs/tools/admin/pulumi/update.sh b/pkgs/tools/admin/pulumi/update.sh
index c1a0e6310166f..061f3b1438ec2 100755
--- a/pkgs/tools/admin/pulumi/update.sh
+++ b/pkgs/tools/admin/pulumi/update.sh
@@ -3,31 +3,31 @@
 
 # Version of Pulumi from
 # https://www.pulumi.com/docs/get-started/install/versions/
-VERSION="2.19.0"
+VERSION="2.21.2"
 
 # Grab latest release ${VERSION} from
 # https://github.com/pulumi/pulumi-${NAME}/releases
 plugins=(
-    "auth0=1.5.2"
-    "aws=3.25.1"
-    "cloudflare=2.11.1"
-    "consul=2.7.0"
-    "datadog=2.15.0"
-    "digitalocean=3.3.0"
-    "docker=2.7.0"
-    "gcp=4.9.0"
-    "github=2.5.1"
-    "gitlab=3.5.0"
-    "hcloud=0.5.1"
-    "kubernetes=2.7.8"
-    "mailgun=2.3.2"
-    "mysql=2.3.3"
-    "openstack=2.11.0"
+    "auth0=1.8.1"
+    "aws=3.30.1"
+    "cloudflare=2.13.1"
+    "consul=2.8.1"
+    "datadog=2.16.1"
+    "digitalocean=3.5.1"
+    "docker=2.8.1"
+    "gcp=4.12.0"
+    "github=3.2.0"
+    "gitlab=3.7.0"
+    "hcloud=0.6.2"
+    "kubernetes=2.8.2"
+    "mailgun=2.4.1"
+    "mysql=2.4.1"
+    "openstack=2.15.0"
     "packet=3.2.2"
-    "postgresql=2.5.3"
-    "random=3.0.1"
-    "vault=3.3.0"
-    "vsphere=2.11.4"
+    "postgresql=2.7.2"
+    "random=3.0.3"
+    "vault=3.4.1"
+    "vsphere=2.12.2"
 )
 
 function genMainSrc() {
@@ -56,7 +56,8 @@ function genSrcs() {
     done
 }
 
-cat <<EOF                     > data.nix
+{
+  cat <<EOF
 # DO NOT EDIT! This file is generated automatically by update.sh
 { }:
 {
@@ -64,14 +65,14 @@ cat <<EOF                     > data.nix
   pulumiPkgs = {
     x86_64-linux = [
 EOF
-genMainSrc "linux"           >> data.nix
-genSrcs "linux"              >> data.nix
-echo "    ];"                >> data.nix
-
-echo "    x86_64-darwin = [" >> data.nix
-genMainSrc "darwin"          >> data.nix
-genSrcs "darwin"             >> data.nix
-echo "    ];"                >> data.nix
-echo "  };"                  >> data.nix
-echo "}"                     >> data.nix
+  genMainSrc "linux"
+  genSrcs "linux"
+  echo "    ];"
+  echo "    x86_64-darwin = ["
 
+  genMainSrc "darwin"
+  genSrcs "darwin"
+  echo "    ];"
+  echo "  };"
+  echo "}"
+} > data.nix
diff --git a/pkgs/tools/admin/salt/default.nix b/pkgs/tools/admin/salt/default.nix
index ad0cae6ecde6e..592f4cc764869 100644
--- a/pkgs/tools/admin/salt/default.nix
+++ b/pkgs/tools/admin/salt/default.nix
@@ -7,11 +7,11 @@
 }:
 python3.pkgs.buildPythonApplication rec {
   pname = "salt";
-  version = "3002.2";
+  version = "3002.5";
 
   src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "vW0pYhzo4JlBJ3fNOWrzVHSqESuwmZtdqAQ4fYcpAHU=";
+    sha256 = "1bqranhanxcxjc1qcc6cm95f4xxag0ic9g61dq352hqh6m1l1ay8";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/admin/ssh-import-id/default.nix b/pkgs/tools/admin/ssh-import-id/default.nix
index b6ca3135f5615..031bb316ca55f 100644
--- a/pkgs/tools/admin/ssh-import-id/default.nix
+++ b/pkgs/tools/admin/ssh-import-id/default.nix
@@ -2,22 +2,24 @@
 , lib
 , fetchgit
 , requests
+, distro
 , makeWrapper
 , extraHandlers ? []
 }:
 
 buildPythonPackage rec {
   pname = "ssh-import-id";
-  version = "5.8";
+  version = "5.11";
 
   src = fetchgit {
     url = "https://git.launchpad.net/ssh-import-id";
     rev = version;
-    sha256 = "0l9gya1hyf2qfidlmvg2cgfils1fp9rn5r8sihwvx4qfsfp5yaak";
+    sha256 = "sha256-tYbaJGH59qyvjp4kwo3ZFVs0EaE0Lsd2CQ6iraFkAdI=";
   };
 
   propagatedBuildInputs = [
     requests
+    distro
   ] ++ extraHandlers;
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/admin/ssmsh/default.nix b/pkgs/tools/admin/ssmsh/default.nix
index 8ed8b0b812b00..3ed29af25fdcd 100644
--- a/pkgs/tools/admin/ssmsh/default.nix
+++ b/pkgs/tools/admin/ssmsh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "ssmsh";
-  version = "1.4.4";
+  version = "1.4.5";
 
   src = fetchFromGitHub {
     owner = "bwhaley";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0mgx4q21f6rxih79l0hwgzwafxviz5a33dpvc5k0z172sfw0dmj1";
+    sha256 = "sha256-WZ2glv/f4LwTK/G8QdaVRIAHvgGLPLPL8xjAg/kUokQ=";
   };
 
-  vendorSha256 = "147f02bl3sf073dy2ximbavdcbphdn7djgisla1cyyy4ng6dhf7f";
+  vendorSha256 = "sha256-17fmdsfOrOaySPsXofLzz0+vmiemg9MbnWhRoZ67EuQ=";
 
   doCheck = true;
 
diff --git a/pkgs/tools/admin/stripe-cli/default.nix b/pkgs/tools/admin/stripe-cli/default.nix
index 309bf4803fb60..3d91847a9a69e 100644
--- a/pkgs/tools/admin/stripe-cli/default.nix
+++ b/pkgs/tools/admin/stripe-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "stripe-cli";
-  version = "1.5.5";
+  version = "1.5.9";
 
   src = fetchFromGitHub {
     owner = "stripe";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0r0szzw3xl9cn5vcqgn6sc4wbk2j17r1rhg14qgix835lzp9wpdv";
+    sha256 = "sha256-fR4MFEytYZA4zt4WFGnEp9YDCtX6peQoI+NynqyReT8=";
   };
 
-  vendorSha256 = "05cyn9cgmijj6dl075slwm5qc6fj6m5sm414wqm50xz2fjs0400r";
+  vendorSha256 = "sha256-GQACtHTid1Aq5iSQqks10hmGS+VUlwNoM1LG+liynhU=";
 
   subPackages = [
     "cmd/stripe"
diff --git a/pkgs/tools/admin/trivy/default.nix b/pkgs/tools/admin/trivy/default.nix
index 0a4bf934d8053..d2d2a138d65c6 100644
--- a/pkgs/tools/admin/trivy/default.nix
+++ b/pkgs/tools/admin/trivy/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "trivy";
-  version = "0.15.0";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11fd32qb69g23lxrynsnfy8a783sl60rzknvq4shdg41p2ikigdk";
+    sha256 = "sha256-E/tPjVc+XLDCFYzloAipwWjB4I86kAe/6NVoJSCrY2M=";
   };
 
-  vendorSha256 = "09birwc8x90l2y0znf4fwny3phnmq0cz0l2z3xzwg0j3msrdl2np";
+  vendorSha256 = "sha256-YoQF0Eug747LhsR3V0IplwXgm0ndDqK1pUVjguOhjOU=";
 
   subPackages = [ "cmd/trivy" ];
 
diff --git a/pkgs/tools/admin/turbovnc/default.nix b/pkgs/tools/admin/turbovnc/default.nix
new file mode 100644
index 0000000000000..df45e6f10b86f
--- /dev/null
+++ b/pkgs/tools/admin/turbovnc/default.nix
@@ -0,0 +1,111 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+
+# Dependencies
+, cmake
+, libjpeg_turbo
+, makeWrapper
+, mesa # for built-in 3D software rendering using swrast
+, openjdk # for the client with Java GUI
+, openjdk_headless # for the server
+, openssh
+, openssl
+, pam
+, perl
+, which
+, xkbcomp
+, xkeyboard_config
+, xorg
+}:
+
+stdenv.mkDerivation rec {
+  pname = "turbovnc";
+  version = "2.2.5";
+
+  src = fetchFromGitHub {
+    owner = "TurboVNC";
+    repo = "turbovnc";
+    rev = version;
+    sha256 = "0r2lk5lza7a9h02g4z5j59d8qj0x1q1my665d1x1plny4g46vam0";
+  };
+
+  # TODO:
+  # * Build outputs that are unclear:
+  #   * `-- FONT_ENCODINGS_DIRECTORY = /var/empty/share/X11/fonts/encodings`
+  #     Maybe relevant what the tigervnc and tightvnc derivations
+  #     do with their `fontDirectories`?
+  #   * `SERVER_MISC_CONFIG_PATH = /var/empty/lib64/xorg`
+  #   * The thing about xorg `protocol.txt`
+  # * Does SSH support require `openssh` on PATH?
+  # * Add `enableClient ? true` flag that disables the client GUI
+  #   so that the server can be built without openjdk dependency.
+  # * Perhaps allow to build the client on non-Linux platforms.
+
+  nativeBuildInputs = [
+    cmake
+    makeWrapper
+    openjdk_headless
+  ];
+
+  buildInputs = [
+    libjpeg_turbo
+    openssl
+    pam
+    perl
+  ] ++ (with xorg; [
+    libSM
+    libX11
+    libXext
+    libXi
+    xorgproto
+  ]);
+
+  cmakeFlags = [
+    # For the 3D software rendering built into TurboVNC, pass the path
+    # to the swrast dri driver in Mesa.
+    # Can also be given at runtime to its `Xvnc` as:
+    #   -dridir /nix/store/...-mesa-20.1.10-drivers/lib/dri/
+    "-DDRI_DRIVER_PATH=${mesa.drivers}/lib/dri"
+    # The build system doesn't find these files automatically.
+    "-DTJPEG_JAR=${libjpeg_turbo.out}/share/java/turbojpeg.jar"
+    "-DTJPEG_JNILIBRARY=${libjpeg_turbo.out}/lib/libturbojpeg.so"
+    "-DXKB_BASE_DIRECTORY=${xkeyboard_config}/share/X11/xkb"
+    "-DXKB_BIN_DIRECTORY=${xkbcomp}/bin"
+  ];
+
+  postInstall = ''
+    # turbovnc dlopen()s libssl.so depending on the requested encryption.
+    wrapProgram $out/bin/Xvnc \
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ openssl ]}
+
+    # `twm` is the default window manager that `vncserver` tries to start,
+    # and it has minimal dependencies (no non-Xorg).
+    # (This default is written by `vncserver` to `~/.vnc/xstartup.turbovnc`,
+    # see https://github.com/TurboVNC/turbovnc/blob/ffdb57d9/unix/vncserver.in#L201.)
+    # It checks for it using `which twm`.
+    wrapProgram $out/bin/vncserver \
+      --prefix PATH : ${lib.makeBinPath [ which xorg.twm ]}
+
+    # Patch /usr/bin/perl
+    patchShebangs $out/bin/vncserver
+
+    # vncserver needs `xauth`
+    wrapProgram $out/bin/vncserver \
+      --prefix PATH : ${lib.makeBinPath (with xorg; [ xauth ])}
+
+    # The viewer is in Java and requires `JAVA_HOME`.
+    # For SSH support, `ssh` is required on `PATH`.
+    wrapProgram $out/bin/vncviewer \
+      --prefix JAVA_HOME : "${lib.makeLibraryPath [ openjdk ]}/openjdk" \
+      --prefix PATH : ${lib.makeBinPath [ openssh ]}
+  '';
+
+  meta = {
+    homepage = "https://turbovnc.org/";
+    license = lib.licenses.gpl2Plus;
+    description = "High-speed version of VNC derived from TightVNC";
+    maintainers = with lib.maintainers; [ nh2 ];
+    platforms = with lib.platforms; linux;
+  };
+}
diff --git a/pkgs/tools/archivers/fsarchiver/default.nix b/pkgs/tools/archivers/fsarchiver/default.nix
index 2322ad4d986c0..571798fcd2e56 100644
--- a/pkgs/tools/archivers/fsarchiver/default.nix
+++ b/pkgs/tools/archivers/fsarchiver/default.nix
@@ -3,7 +3,7 @@
 , libgcrypt, e2fsprogs, util-linux, libgpgerror }:
 
 let
-  version = "0.8.5";
+  version = "0.8.6";
 
 in stdenv.mkDerivation {
   pname = "fsarchiver";
@@ -13,7 +13,7 @@ in stdenv.mkDerivation {
     owner = "fdupoux";
     repo = "fsarchiver";
     rev = version;
-    sha256 = "1rvwq5v3rl14bqxjm1ibfapyicf0sa44nw7451v10kx39lp56ylp";
+    sha256 = "sha256-7AfCI4abcUijobEl6FO+5A/FRwxPkNko44u85WbTwuc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/archivers/unar/default.nix b/pkgs/tools/archivers/unar/default.nix
index d0d0ef90e68dd..4021bc92e0627 100644
--- a/pkgs/tools/archivers/unar/default.nix
+++ b/pkgs/tools/archivers/unar/default.nix
@@ -15,8 +15,8 @@ stdenv.mkDerivation rec {
   postPatch = ''
     for f in Makefile.linux ../UniversalDetector/Makefile.linux ; do
       substituteInPlace $f \
-        --replace "= gcc" "=cc" \
-        --replace "= g++" "=c++" \
+        --replace "= gcc" "=${stdenv.cc.targetPrefix}cc" \
+        --replace "= g++" "=${stdenv.cc.targetPrefix}c++" \
         --replace "-DGNU_RUNTIME=1" "" \
         --replace "-fgnu-runtime" "-fobjc-nonfragile-abi"
     done
diff --git a/pkgs/tools/archivers/unp/default.nix b/pkgs/tools/archivers/unp/default.nix
index 34f8cb1c40e6d..c63ec008d678d 100644
--- a/pkgs/tools/archivers/unp/default.nix
+++ b/pkgs/tools/archivers/unp/default.nix
@@ -10,7 +10,8 @@ let
 in stdenv.mkDerivation {
   pname = "unp";
   version = "2.0-pre7";
-  buildInputs = [ perl makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ perl ];
 
   src = fetchurl {
     # url = "http://http.debian.net/debian/pool/main/u/unp/unp_2.0~pre7+nmu1.tar.bz2";
diff --git a/pkgs/tools/archivers/xtrt/default.nix b/pkgs/tools/archivers/xtrt/default.nix
new file mode 100644
index 0000000000000..175494057e0a1
--- /dev/null
+++ b/pkgs/tools/archivers/xtrt/default.nix
@@ -0,0 +1,36 @@
+{ bzip2, fetchFromGitHub, gzip, gnutar, lib, stdenv, unzip, xz }:
+
+stdenv.mkDerivation rec {
+  pname = "xtrt";
+  version = "unstable-2021-02-17";
+
+  src = fetchFromGitHub {
+    owner = "figsoda";
+    repo = pname;
+    rev = "61884fb7c48c7e1e2194afd82b85f415a6dc7c20";
+    sha256 = "073l4q6mx5if791p5a6w8m8bz2aypmjmycaijq4spql8bh6h12vf";
+  };
+
+  postPatch = ''
+    substituteInPlace xtrt \
+      --replace "bzip2 " "${bzip2}/bin/bzip2 " \
+      --replace "gzip " "${gzip}/bin/gzip " \
+      --replace "tar " "${gnutar}/bin/tar " \
+      --replace "unzip " "${unzip}/bin/unzip " \
+      --replace "xz " "${xz}/bin/xz "
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    cp xtrt $out/bin
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Tiny script to extract archives by their extensions";
+    homepage = "https://github.com/figsoda/xtrt";
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix
index 1478aa8c1e3af..df4211ad039ae 100644
--- a/pkgs/tools/audio/abcmidi/default.nix
+++ b/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "abcMIDI";
-  version = "2021.01.25";
+  version = "2021.02.21";
 
   src = fetchzip {
     url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
-    sha256 = "1c2jx03ssm9yyv6rgr5wfv88ivfgdgq3889yaghjyvllm3nv9380";
+    sha256 = "10fa2g8vsz0y7kb0wxnz857r2gd9b0b278j0a5ipjaa7cjd0gi1b";
   };
 
   # There is also a file called "makefile" which seems to be preferred by the standard build phase
diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix
index f72692c845c7f..5f22ffa9602c2 100644
--- a/pkgs/tools/audio/beets/default.nix
+++ b/pkgs/tools/audio/beets/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchFromGitHub, writeScript, glibcLocales, diffPlugins, substituteAll
 , pythonPackages, imagemagick, gobject-introspection, gst_all_1
 , runtimeShell
-, fetchpatch
+, unstableGitUpdater
 
 # Attributes needed for tests of the external plugins
 , callPackage, beets
@@ -132,13 +132,13 @@ in pythonPackages.buildPythonApplication rec {
   # unstable does not require bs1770gain[2].
   # [1]: https://discourse.beets.io/t/forming-a-beets-core-team/639
   # [2]: https://github.com/NixOS/nixpkgs/pull/90504
-  version = "unstable-2020-12-22";
+  version = "unstable-2021-01-29";
 
   src = fetchFromGitHub {
     owner = "beetbox";
     repo = "beets";
-    rev = "53dcb24d10788897f20c341774b474808ec2c0b6";
-    sha256 = "sha256-P++NA13T2TRHW3Se10np8BSe/WRBYAKRte5xKoHKW50=";
+    rev = "04ea754d00e2873ae9aa2d9e07c5cefd790eaee2";
+    sha256 = "sha256-BIa3hnOsBxThbA2WCE4q9eaFNtObr3erZBBqobVOSiQ=";
   };
 
   propagatedBuildInputs = [
@@ -290,6 +290,7 @@ in pythonPackages.buildPythonApplication rec {
 
   passthru = {
     externalPlugins = plugins;
+    updateScript = unstableGitUpdater { url = "https://github.com/beetbox/beets"; };
   };
 
   meta = {
diff --git a/pkgs/tools/audio/mpdas/default.nix b/pkgs/tools/audio/mpdas/default.nix
index 255d28b62b1ee..8b12b6fc16d70 100644
--- a/pkgs/tools/audio/mpdas/default.nix
+++ b/pkgs/tools/audio/mpdas/default.nix
@@ -1,4 +1,10 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, mpd_clientlib, curl }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, libmpdclient
+, curl
+}:
 
 stdenv.mkDerivation rec {
   pname = "mpdas";
@@ -13,7 +19,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ mpd_clientlib curl ];
+  buildInputs = [ libmpdclient curl ];
 
   makeFlags = [ "CONFIG=/etc" "DESTDIR=" "PREFIX=$(out)" ];
 
diff --git a/pkgs/tools/audio/mpdcron/default.nix b/pkgs/tools/audio/mpdcron/default.nix
index 1fa0d155a3d14..afb1c9a3dcdae 100644
--- a/pkgs/tools/audio/mpdcron/default.nix
+++ b/pkgs/tools/audio/mpdcron/default.nix
@@ -1,5 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, pkg-config, glib, libdaemon
-, mpd_clientlib, curl, sqlite, bundlerEnv, libnotify, pandoc }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoconf
+, automake
+, libtool
+, pkg-config
+, glib
+, libdaemon
+, libmpdclient
+, curl
+, sqlite
+, bundlerEnv
+, libnotify
+, pandoc
+}:
 
 let
   gemEnv = bundlerEnv {
@@ -7,8 +21,8 @@ let
     gemdir = ./.;
   };
 in stdenv.mkDerivation {
-  version = "20161228";
   pname = "mpdcron";
+  version = "20161228";
 
   src = fetchFromGitHub {
     owner = "alip";
@@ -17,21 +31,33 @@ in stdenv.mkDerivation {
     sha256 = "0vdksf6lcgmizqr5mqp0bbci259k0dj7gpmhx32md41jlmw5skaw";
   };
 
-  meta = with lib; {
-    description = "A cron like daemon for mpd";
-    homepage    = "http://alip.github.io/mpdcron/";
-    license     = licenses.gpl2;
-    platforms   = platforms.unix;
-    maintainers = with maintainers; [ lovek323 manveru ];
-  };
-
-  buildInputs =
-    [ autoconf automake libtool pkg-config glib libdaemon pandoc
-      mpd_clientlib curl sqlite gemEnv.wrappedRuby libnotify ];
+  buildInputs = [
+    autoconf
+    automake
+    libtool
+    pkg-config
+    glib
+    libdaemon
+    pandoc
+    libmpdclient
+    curl
+    sqlite
+    gemEnv.wrappedRuby
+    libnotify
+  ];
 
   preConfigure = ''
     ./autogen.sh
   '';
 
   configureFlags = [ "--enable-gmodule" "--with-standard-modules=all" ];
+
+  meta = with lib; {
+    description = "A cron like daemon for mpd";
+    homepage    = "http://alip.github.io/mpdcron/";
+    license     = licenses.gpl2Plus;
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ lovek323 manveru ];
+  };
 }
+# TODO: autoreconfHook this
diff --git a/pkgs/tools/audio/mpris-scrobbler/default.nix b/pkgs/tools/audio/mpris-scrobbler/default.nix
index 911dbf7520299..0724821321376 100644
--- a/pkgs/tools/audio/mpris-scrobbler/default.nix
+++ b/pkgs/tools/audio/mpris-scrobbler/default.nix
@@ -10,7 +10,7 @@
 , pkg-config
 , scdoc
 , json_c
-, xdg_utils
+, xdg-utils
 }:
 
 stdenv.mkDerivation rec {
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     substituteInPlace src/signon.c \
-      --replace "/usr/bin/xdg-open" "${xdg_utils}/bin/xdg-open"
+      --replace "/usr/bin/xdg-open" "${xdg-utils}/bin/xdg-open"
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/audio/yabridge/default.nix b/pkgs/tools/audio/yabridge/default.nix
new file mode 100644
index 0000000000000..56f6cddb61edf
--- /dev/null
+++ b/pkgs/tools/audio/yabridge/default.nix
@@ -0,0 +1,127 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, wine
+, boost
+, libxcb
+}:
+
+let
+  # Derived from subprojects/bitsery.wrap
+  bitsery = rec {
+    version = "5.2.0";
+    src = fetchFromGitHub {
+      owner = "fraillt";
+      repo = "bitsery";
+      rev = "v${version}";
+      sha256 = "132b0n0xlpcv97l6bhk9n57hg95pkhwqzvr9jkv57nmggn76s5q7";
+    };
+  };
+
+  # Derived from subprojects/function2.wrap
+  function2 = rec {
+    version = "4.1.0";
+    src = fetchFromGitHub {
+      owner = "Naios";
+      repo = "function2";
+      rev = version;
+      sha256 = "0abrz2as62725g212qswi35nsdlf5wrhcz78hm2qidbgqr9rkir5";
+    };
+  };
+
+  # Derived from subprojects/tomlplusplus.wrap
+  tomlplusplus = rec {
+    version = "2.1.0";
+    src = fetchFromGitHub {
+      owner = "marzer";
+      repo = "tomlplusplus";
+      rev = "v${version}";
+      sha256 = "0fspinnpyk1c9ay0h3wl8d4bbm6aswlypnrw2c7pk2i4mh981b4b";
+    };
+  };
+
+  # Derived from vst3.wrap
+  vst3 = rec {
+    version = "e2fbb41f28a4b311f2fc7d28e9b4330eec1802b6";
+    src = fetchFromGitHub {
+      owner = "robbert-vdh";
+      repo = "vst3sdk";
+      rev = version;
+      fetchSubmodules = true;
+      sha256 = "1fqpylkbljifwdw2z75agc0yxnhmv4b09fxs3rvlw1qmm5mwx0p2";
+    };
+  };
+in stdenv.mkDerivation rec {
+  pname = "yabridge";
+  version = "3.0.0";
+
+  # NOTE: Also update yabridgectl's cargoSha256 when this is updated
+  src = fetchFromGitHub {
+    owner = "robbert-vdh";
+    repo = pname;
+    rev = version;
+    sha256 = "0ha7jhnkd2i49q5rz2hp7sq6hv19bir99x51hs6nvvcf16hlf2bp";
+  };
+
+  # Unpack subproject sources
+  postUnpack = ''(
+    cd "$sourceRoot/subprojects"
+    cp -R --no-preserve=mode,ownership ${bitsery.src} bitsery-${bitsery.version}
+    tar -xf bitsery-patch-${bitsery.version}.tar.xz
+    cp -R --no-preserve=mode,ownership ${function2.src} function2-${function2.version}
+    tar -xf function2-patch-${function2.version}.tar.xz
+    cp -R --no-preserve=mode,ownership ${tomlplusplus.src} tomlplusplus
+    cp -R --no-preserve=mode,ownership ${vst3.src} vst3
+  )'';
+
+  postPatch = ''
+    patchShebangs .
+  '';
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    wine
+  ];
+
+  buildInputs = [
+    boost
+    libxcb
+  ];
+
+  # Meson is no longer able to pick up Boost automatically.
+  # https://github.com/NixOS/nixpkgs/issues/86131
+  BOOST_INCLUDEDIR = "${lib.getDev boost}/include";
+  BOOST_LIBRARYDIR = "${lib.getLib boost}/lib";
+
+  mesonFlags = [
+    "--cross-file" "cross-wine.conf"
+
+    # Requires CMake and is unnecessary
+    "-Dtomlplusplus:GENERATE_CMAKE_CONFIG=disabled"
+
+    # tomlplusplus examples and tests don't build with winegcc
+    "-Dtomlplusplus:BUILD_EXAMPLES=disabled"
+    "-Dtomlplusplus:BUILD_TESTS=disabled"
+  ];
+
+  installPhase = ''
+    mkdir -p "$out/bin" "$out/lib"
+    cp yabridge-group.exe{,.so} "$out/bin"
+    cp yabridge-host.exe{,.so} "$out/bin"
+    cp libyabridge-vst2.so "$out/lib"
+    cp libyabridge-vst3.so "$out/lib"
+  '';
+
+  meta = with lib; {
+    description = "Yet Another VST bridge, run Windows VST2 plugins under Linux";
+    homepage = "https://github.com/robbert-vdh/yabridge";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ metadark ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/tools/audio/yabridgectl/default.nix b/pkgs/tools/audio/yabridgectl/default.nix
new file mode 100644
index 0000000000000..6fa85cd89e8b9
--- /dev/null
+++ b/pkgs/tools/audio/yabridgectl/default.nix
@@ -0,0 +1,23 @@
+{ lib, rustPlatform, yabridge }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "yabridgectl";
+  version = yabridge.version;
+
+  src = yabridge.src;
+  sourceRoot = "source/tools/yabridgectl";
+  cargoSha256 = "1sjhani8h7ap42yqlnj05sx59jyz2h12qlm1ibv8ldxcpwps0bwy";
+
+  patches = [
+    ./libyabridge-from-nix-profiles.patch
+  ];
+
+  patchFlags = [ "-p3" ];
+
+  meta = with lib; {
+    description = "A small, optional utility to help set up and update yabridge for several directories at once";
+    homepage = "https://github.com/robbert-vdh/yabridge/tree/master/tools/yabridgectl";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ metadark ];
+  };
+}
diff --git a/pkgs/tools/audio/yabridgectl/libyabridge-from-nix-profiles.patch b/pkgs/tools/audio/yabridgectl/libyabridge-from-nix-profiles.patch
new file mode 100644
index 0000000000000..e17cda6ada335
--- /dev/null
+++ b/pkgs/tools/audio/yabridgectl/libyabridge-from-nix-profiles.patch
@@ -0,0 +1,70 @@
+diff --git a/tools/yabridgectl/src/config.rs b/tools/yabridgectl/src/config.rs
+index c1c89cf..d7bd822 100644
+--- a/tools/yabridgectl/src/config.rs
++++ b/tools/yabridgectl/src/config.rs
+@@ -23,6 +23,7 @@ use std::collections::{BTreeMap, BTreeSet};
+ use std::env;
+ use std::fmt::Display;
+ use std::fs;
++use std::iter;
+ use std::path::{Path, PathBuf};
+ use which::which;
+ use xdg::BaseDirectories;
+@@ -216,34 +217,24 @@ impl Config {
+                 }
+             }
+             None => {
+-                // Search in the system library locations and in `~/.local/share/yabridge` if no
+-                // path was set explicitely. We'll also search through `/usr/local/lib` just in case
+-                // but since we advocate against installing yabridge there we won't list this path
+-                // in the error message when `libyabridge-vst2.so` can't be found.
+-                let system_path = Path::new("/usr/lib");
++                // Search through NIX_PROFILES & data home directory if no path was set explicitly.
++                let nix_profiles = env::var("NIX_PROFILES");
+                 let user_path = xdg_dirs.get_data_home();
+-                let lib_directories = [
+-                    system_path,
+-                    // Used on Debian based distros
+-                    Path::new("/usr/lib/x86_64-linux-gnu"),
+-                    // Used on Fedora
+-                    Path::new("/usr/lib64"),
+-                    Path::new("/usr/local/lib"),
+-                    Path::new("/usr/local/lib/x86_64-linux-gnu"),
+-                    Path::new("/usr/local/lib64"),
+-                    &user_path,
+-                ];
++                let lib_directories = nix_profiles.iter()
++                    .flat_map(|profiles| profiles.split(' ')
++                              .map(|profile| Path::new(profile).join("lib")))
++                    .chain(iter::once(user_path.clone()));
++
+                 let mut candidates = lib_directories
+-                    .iter()
+                     .map(|directory| directory.join(LIBYABRIDGE_VST2_NAME));
++
+                 match candidates.find(|directory| directory.exists()) {
+                     Some(candidate) => candidate,
+                     _ => {
+                         return Err(anyhow!(
+-                            "Could not find '{}' in either '{}' or '{}'. You can override the \
+-                            default search path using 'yabridgectl set --path=<path>'.",
++                            "Could not find '{}' through 'NIX_PROFILES' or '{}'. You can override the \
++                             default search path using 'yabridgectl set --path=<path>'.",
+                             LIBYABRIDGE_VST2_NAME,
+-                            system_path.display(),
+                             user_path.display()
+                         ));
+                     }
+diff --git a/tools/yabridgectl/src/main.rs b/tools/yabridgectl/src/main.rs
+index 0db1bd4..221cdd0 100644
+--- a/tools/yabridgectl/src/main.rs
++++ b/tools/yabridgectl/src/main.rs
+@@ -102,7 +102,7 @@ fn main() -> Result<()> {
+                         .about("Path to the directory containing 'libyabridge-{vst2,vst3}.so'")
+                         .long_about(
+                             "Path to the directory containing 'libyabridge-{vst2,vst3}.so'. If this \
+-                             is not set, then yabridgectl will look in both '/usr/lib' and \
++                             is not set, then yabridgectl will look through 'NIX_PROFILES' and \
+                              '~/.local/share/yabridge' by default.",
+                         )
+                         .validator(validate_path)
diff --git a/pkgs/tools/backup/bacula/default.nix b/pkgs/tools/backup/bacula/default.nix
index 3d9772de404d6..f35c7a44b586e 100644
--- a/pkgs/tools/backup/bacula/default.nix
+++ b/pkgs/tools/backup/bacula/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bacula";
-  version = "11.0.0";
+  version = "11.0.1";
 
   src = fetchurl {
     url    = "mirror://sourceforge/bacula/${pname}-${version}.tar.gz";
-    sha256 = "JmBTwI/wUEytkhu0SYbTX6/dDQG6xvN2odEYTVpztok=";
+    sha256 = "sha256-Lr2c24hZU8A/Cd8xGA7rfqga67ghz0XJ/cs/z/hSlPU=";
   };
 
   buildInputs = [ postgresql sqlite zlib ncurses openssl readline ]
diff --git a/pkgs/tools/backup/btrbk/default.nix b/pkgs/tools/backup/btrbk/default.nix
index cd91d51d96060..c619a69c11185 100644
--- a/pkgs/tools/backup/btrbk/default.nix
+++ b/pkgs/tools/backup/btrbk/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, coreutils, bash, btrfs-progs, openssh, perl, perlPackages
+{ lib, stdenv, fetchurl, bash, btrfs-progs, openssh, perl, perlPackages
 , util-linux, asciidoc, asciidoctor, mbuffer, makeWrapper }:
 
 stdenv.mkDerivation rec {
@@ -24,12 +24,6 @@ stdenv.mkDerivation rec {
     # Tainted Mode disables PERL5LIB
     substituteInPlace btrbk --replace "perl -T" "perl"
 
-    # Fix btrbk-mail
-    substituteInPlace contrib/cron/btrbk-mail \
-      --replace "/bin/date" "${coreutils}/bin/date" \
-      --replace "/bin/echo" "${coreutils}/bin/echo" \
-      --replace '$btrbk' 'btrbk'
-
     # Fix SSH filter script
     sed -i '/^export PATH/d' ssh_filter_btrbk.sh
     substituteInPlace ssh_filter_btrbk.sh --replace logger ${util-linux}/bin/logger
diff --git a/pkgs/tools/backup/diskrsync/default.nix b/pkgs/tools/backup/diskrsync/default.nix
index 3b5d901daf0c6..97870d5dedde4 100644
--- a/pkgs/tools/backup/diskrsync/default.nix
+++ b/pkgs/tools/backup/diskrsync/default.nix
@@ -14,7 +14,7 @@ buildGoPackage rec {
   goPackagePath = "github.com/dop251/diskrsync";
   goDeps = ./deps.nix;
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   preFixup = ''
     wrapProgram "$out/bin/diskrsync" --argv0 diskrsync --prefix PATH : ${openssh}/bin
diff --git a/pkgs/tools/backup/dump/default.nix b/pkgs/tools/backup/dump/default.nix
index a709d84a610f6..75a449a1276af 100644
--- a/pkgs/tools/backup/dump/default.nix
+++ b/pkgs/tools/backup/dump/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "dump";
-  version = "0.4b46";
+  version = "0.4b47";
 
   src = fetchurl {
     url = "mirror://sourceforge/dump/dump-${version}.tar.gz";
-    sha256 = "15rg5y15ak0ppqlhcih78layvg7cwp6hc16p3c58xs8svlkxjqc0";
+    sha256 = "sha256-0CGs3k+77T2T662YFCL2cfSNZrKeyI196DZC7Pv/T9A=";
   };
 
   buildInputs = [ e2fsprogs pkg-config ncurses readline ];
diff --git a/pkgs/tools/backup/duplicati/default.nix b/pkgs/tools/backup/duplicati/default.nix
index 5330ca60a4dc7..2d9124d6f51ae 100644
--- a/pkgs/tools/backup/duplicati/default.nix
+++ b/pkgs/tools/backup/duplicati/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     stripRoot = false;
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/{bin,share/${pname}-${version}}
diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix
index 5b213db6385ab..399d6b9ada321 100644
--- a/pkgs/tools/backup/duplicity/default.nix
+++ b/pkgs/tools/backup/duplicity/default.nix
@@ -19,11 +19,11 @@ let
 in
 pythonPackages.buildPythonApplication rec {
   pname = "duplicity";
-  version = "0.8.15";
+  version = "0.8.17";
 
   src = fetchurl {
     url = "https://code.launchpad.net/duplicity/${majorMinor version}-series/${majorMinorPatch version}/+download/duplicity-${version}.tar.gz";
-    sha256 = "1kg467mxg5a97v1rlv4shk32krgv8ys4nczq4b11av4bp1lgysdc";
+    sha256 = "114rwkf9b3h4fcagrx013sb7krc4hafbwl9gawjph2wd9pkv2wx2";
   };
 
   patches = [
diff --git a/pkgs/tools/backup/duply/default.nix b/pkgs/tools/backup/duply/default.nix
index 15ac5acbe8484..82d6bd5c601ff 100644
--- a/pkgs/tools/backup/duply/default.nix
+++ b/pkgs/tools/backup/duply/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-I1KkblFnZVOCvcWEarGsSXnzlod2+yZ4okaTpckLFbE=";
   };
 
-  buildInputs = [ txt2man makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ txt2man ];
 
   postPatch = "patchShebangs .";
 
diff --git a/pkgs/tools/backup/restic/0001-Skip-testing-restore-with-permission-failure.patch b/pkgs/tools/backup/restic/0001-Skip-testing-restore-with-permission-failure.patch
new file mode 100644
index 0000000000000..148b9a1a95794
--- /dev/null
+++ b/pkgs/tools/backup/restic/0001-Skip-testing-restore-with-permission-failure.patch
@@ -0,0 +1,25 @@
+From 8e6186be04e2819b6e3586e5d1aeb8a824e1979f Mon Sep 17 00:00:00 2001
+From: Simon Bruder <simon@sbruder.de>
+Date: Thu, 25 Feb 2021 09:20:51 +0100
+Subject: [PATCH] Skip testing restore with permission failure
+
+The test fails in sandboxed builds.
+---
+ cmd/restic/integration_test.go | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/cmd/restic/integration_test.go b/cmd/restic/integration_test.go
+index 7d198d33..1588ccb1 100644
+--- a/cmd/restic/integration_test.go
++++ b/cmd/restic/integration_test.go
+@@ -1170,6 +1170,7 @@ func TestRestoreLatest(t *testing.T) {
+ }
+ 
+ func TestRestoreWithPermissionFailure(t *testing.T) {
++	t.Skip("Skipping testing restore with permission failure")
+ 	env, cleanup := withTestEnvironment(t)
+ 	defer cleanup()
+ 
+-- 
+2.29.2
+
diff --git a/pkgs/tools/backup/restic/default.nix b/pkgs/tools/backup/restic/default.nix
index 3317ada541a57..65ff53bf677df 100644
--- a/pkgs/tools/backup/restic/default.nix
+++ b/pkgs/tools/backup/restic/default.nix
@@ -3,16 +3,21 @@
 
 buildGoModule rec {
   pname = "restic";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "restic";
     repo = "restic";
     rev = "v${version}";
-    sha256 = "13zmx9wzv29z0np3agx4rsz1j9pgrvlnngjsb971i1dnzwv5l3hf";
+    sha256 = "07gxf56g45gj2arvdnrr9656i9ykhy1y6k6zdlni1sa3aa2x2bbf";
   };
 
-  vendorSha256 = "09sa5jpdj73w595c063mib14132zacswh54nmjqp2n440cflmwjh";
+  patches = [
+    # The TestRestoreWithPermissionFailure test fails in Nix’s build sandbox
+    ./0001-Skip-testing-restore-with-permission-failure.patch
+  ];
+
+  vendorSha256 = "14z22lmdd681rn61alpqbn3i9fn0kcc74321vjvhz2ix2mch3c1z";
 
   subPackages = [ "cmd/restic" ];
 
diff --git a/pkgs/tools/backup/sanoid/default.nix b/pkgs/tools/backup/sanoid/default.nix
index 569a07a459be1..a60683a27e19c 100644
--- a/pkgs/tools/backup/sanoid/default.nix
+++ b/pkgs/tools/backup/sanoid/default.nix
@@ -1,5 +1,5 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, makeWrapper, coreutils, zfs
-, perlPackages, procps, which, openssh, sudo, mbuffer, pv, lzop, gzip, pigz }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, makeWrapper, zfs
+, perlPackages, procps, which, openssh, mbuffer, pv, lzop, gzip, pigz }:
 
 with lib;
 
diff --git a/pkgs/tools/backup/store-backup/default.nix b/pkgs/tools/backup/store-backup/default.nix
index d0ca5324cabdd..026a3141fedee 100644
--- a/pkgs/tools/backup/store-backup/default.nix
+++ b/pkgs/tools/backup/store-backup/default.nix
@@ -20,7 +20,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  buildInputs = [ perl makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ perl ];
 
   src = fetchurl {
     url = "https://download.savannah.gnu.org/releases/storebackup/storeBackup-${version}.tar.bz2";
diff --git a/pkgs/tools/backup/wal-g/default.nix b/pkgs/tools/backup/wal-g/default.nix
index f3c415f3cd0f9..de7f678fde8ac 100644
--- a/pkgs/tools/backup/wal-g/default.nix
+++ b/pkgs/tools/backup/wal-g/default.nix
@@ -17,7 +17,10 @@ buildGoModule rec {
 
   subPackages = [ "main/pg" ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/wal-g/wal-g/cmd/pg.WalgVersion=${version} -X github.com/wal-g/wal-g/cmd/pg.GitRevision=${src.rev}" ];
+  buildFlagsArray = [
+    "-tags=brotli"
+    "-ldflags=-s -w -X github.com/wal-g/wal-g/cmd/pg.WalgVersion=${version} -X github.com/wal-g/wal-g/cmd/pg.GitRevision=${src.rev}"
+  ];
 
   postInstall = ''
     mv $out/bin/pg $out/bin/wal-g
diff --git a/pkgs/tools/backup/zrepl/default.nix b/pkgs/tools/backup/zrepl/default.nix
new file mode 100644
index 0000000000000..8d5a51598774c
--- /dev/null
+++ b/pkgs/tools/backup/zrepl/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "zrepl";
+  version = "0.3.1";
+
+  src = fetchFromGitHub {
+    owner = "zrepl";
+    repo = "zrepl";
+    rev = "v${version}";
+    sha256 = "sha256-wtUL8GGSJxn9yEdyTWKtkHODfxxLOxojNPlPLRjI9xo=";
+  };
+
+  vendorSha256 = "sha256-4LBX0bD8qirFaFkV52QFU50lEW4eae6iObIa5fFT/wA=";
+
+  subPackages = [ "." ];
+
+  postInstall = ''
+    mkdir -p $out/lib/systemd/system
+    substitute dist/systemd/zrepl.service $out/lib/systemd/system/zrepl.service \
+      --replace /usr/local/bin/zrepl $out/bin/zrepl
+  '';
+
+  meta = with lib; {
+    homepage = "https://zrepl.github.io/";
+    description = "A one-stop, integrated solution for ZFS replication";
+    platforms = platforms.linux;
+    license = licenses.mit;
+    maintainers = with maintainers; [ cole-h danderson ];
+  };
+}
diff --git a/pkgs/tools/bluetooth/blueman/default.nix b/pkgs/tools/bluetooth/blueman/default.nix
index da1c4bfa969e7..69eeb3db71144 100644
--- a/pkgs/tools/bluetooth/blueman/default.nix
+++ b/pkgs/tools/bluetooth/blueman/default.nix
@@ -1,11 +1,11 @@
 { config, stdenv, lib, fetchurl, intltool, pkg-config, python3Packages, bluez, gtk3
-, obex_data_server, xdg_utils, dnsmasq, dhcp, libappindicator, iproute
+, obex_data_server, xdg-utils, dnsmasq, dhcp, libappindicator, iproute
 , gnome3, librsvg, wrapGAppsHook, gobject-introspection, autoreconfHook
 , networkmanager, withPulseAudio ? config.pulseaudio or stdenv.isLinux, libpulseaudio, fetchpatch }:
 
 let
   pythonPackages = python3Packages;
-  binPath = lib.makeBinPath [ xdg_utils dnsmasq dhcp iproute ];
+  binPath = lib.makeBinPath [ xdg-utils dnsmasq dhcp iproute ];
 
 in stdenv.mkDerivation rec {
   pname = "blueman";
diff --git a/pkgs/tools/bootloaders/refind/0001-Fix-GCC-10-compile-problem.patch b/pkgs/tools/bootloaders/refind/0001-Fix-GCC-10-compile-problem.patch
deleted file mode 100644
index 90b60235aad5c..0000000000000
--- a/pkgs/tools/bootloaders/refind/0001-Fix-GCC-10-compile-problem.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From e34a16301f425f273a67ed3abbc45840bc82d892 Mon Sep 17 00:00:00 2001
-From: srs5694 <srs5694@users.sourceforge.net>
-Date: Fri, 15 May 2020 12:34:14 -0400
-Subject: [PATCH] Fix GCC 10 compile problem
-
----
- Make.common | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Make.common b/Make.common
-index 3f0b919..95a3a97 100644
---- a/Make.common
-+++ b/Make.common
-@@ -60,7 +60,7 @@ endif
- #
- 
- # ...for both GNU-EFI and TianoCore....
--OPTIMFLAGS      = -Os -fno-strict-aliasing
-+OPTIMFLAGS      = -Os -fno-strict-aliasing -fno-tree-loop-distribute-patterns
- CFLAGS          = $(OPTIMFLAGS) -fno-stack-protector -fshort-wchar -Wall
- 
- # ...for GNU-EFI....
--- 
-2.29.2
-
diff --git a/pkgs/tools/bootloaders/refind/default.nix b/pkgs/tools/bootloaders/refind/default.nix
index 9c36e55b8f248..600967e996c0f 100644
--- a/pkgs/tools/bootloaders/refind/default.nix
+++ b/pkgs/tools/bootloaders/refind/default.nix
@@ -14,17 +14,16 @@ in
 
 stdenv.mkDerivation rec {
   pname = "refind";
-  version = "0.12.0";
-  srcName = "refind-src-${version}";
+  version = "0.13.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/refind/${version}/${srcName}.tar.gz";
-    sha256 = "1i5p3sir3mx4i2q5w78360xn2kbgsj8rmgrqvsvag1zzr5dm1f3v";
+    url = "mirror://sourceforge/project/refind/${version}/${pname}-src-${version}.tar.gz";
+    sha256 = "1yjni0mr3rqrrk4ynwb8i0whpqhd56cck4mxd97qmxn7wbr826i9";
   };
 
   patches = [
+    # Removes hardcoded toolchain for aarch64, allowing successful aarch64 builds.
     ./0001-toolchain.patch
-    ./0001-Fix-GCC-10-compile-problem.patch
   ];
 
   buildInputs = [ gnu-efi ];
@@ -44,6 +43,8 @@ stdenv.mkDerivation rec {
   buildFlags = [ "gnuefi" "fs_gnuefi" ];
 
   installPhase = ''
+    runHook preInstall
+
     install -d $out/bin/
     install -d $out/share/refind/drivers_${efiPlatform}/
     install -d $out/share/refind/tools_${efiPlatform}/
@@ -102,6 +103,8 @@ stdenv.mkDerivation rec {
     sed -i 's,`which \(.*\)`,`type -p \1`,g' $out/bin/refind-install
     sed -i 's,`which \(.*\)`,`type -p \1`,g' $out/bin/refind-mvrefind
     sed -i 's,`which \(.*\)`,`type -p \1`,g' $out/bin/refind-mkfont
+
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/cd-dvd/bchunk/default.nix b/pkgs/tools/cd-dvd/bchunk/default.nix
index 6affd3ec66204..df8ca279107e8 100644
--- a/pkgs/tools/cd-dvd/bchunk/default.nix
+++ b/pkgs/tools/cd-dvd/bchunk/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "12dxx98kbpc5z4dgni25280088bhlsb677rp832r82zzc1drpng7";
   };
 
-  makeFlags = lib.optionals stdenv.cc.isClang [ "CC=cc" "LD=cc" ];
+  makeFlags = lib.optionals stdenv.cc.isClang [ "CC=${stdenv.cc.targetPrefix}cc" "LD=${stdenv.cc.targetPrefix}cc" ];
 
   installPhase = ''
     install -Dt $out/bin bchunk
diff --git a/pkgs/tools/cd-dvd/cue2pops/default.nix b/pkgs/tools/cd-dvd/cue2pops/default.nix
index e5d95e96fbcaf..795589a64ec29 100644
--- a/pkgs/tools/cd-dvd/cue2pops/default.nix
+++ b/pkgs/tools/cd-dvd/cue2pops/default.nix
@@ -1,9 +1,11 @@
-{ lib, stdenv, fetchFromGitHub }:
+{ lib
+, stdenv
+, fetchFromGitHub
+}:
 
-with lib;
 stdenv.mkDerivation {
   pname = "cue2pops";
-  version = "git-2018-01-04";
+  version = "unstable-2018-01-04";
 
   src = fetchFromGitHub {
     owner = "makefu";
@@ -14,14 +16,14 @@ stdenv.mkDerivation {
 
   dontConfigure = true;
 
-  makeFlags = ["CC=cc"];
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
   installPhase = ''
     install --directory --mode=755 $out/bin
     install --mode=755 cue2pops $out/bin
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Convert CUE to ISO suitable to POPStarter";
     homepage = "https://github.com/makefu/cue2pops-linux";
     maintainers = with maintainers; [ AndersonTorres ];
diff --git a/pkgs/tools/compression/bzip2/default.nix b/pkgs/tools/compression/bzip2/default.nix
index ad680a69f8501..bfaf359522f4f 100644
--- a/pkgs/tools/compression/bzip2/default.nix
+++ b/pkgs/tools/compression/bzip2/default.nix
@@ -48,6 +48,6 @@ stdenv.mkDerivation rec {
     description = "High-quality data compression program";
     license = licenses.bsdOriginal;
     platforms = platforms.all;
-    maintainers = [];
+    maintainers = with maintainers; [ mic92 ];
   };
 }
diff --git a/pkgs/tools/compression/hactool/default.nix b/pkgs/tools/compression/hactool/default.nix
index 85b95a6f76947..c6e0a3a2851b0 100644
--- a/pkgs/tools/compression/hactool/default.nix
+++ b/pkgs/tools/compression/hactool/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     mv config.mk.template config.mk
   '';
 
-  makeFlags = lib.optionals stdenv.isDarwin [ "CC=cc" ];
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
   installPhase = ''
     install -D hactool $out/bin/hactool
diff --git a/pkgs/tools/compression/lrzip/default.nix b/pkgs/tools/compression/lrzip/default.nix
index 596ea0531664f..78ce2d39f0929 100644
--- a/pkgs/tools/compression/lrzip/default.nix
+++ b/pkgs/tools/compression/lrzip/default.nix
@@ -1,15 +1,19 @@
-{lib, stdenv, fetchurl, zlib, lzo, bzip2, nasm, perl}:
+{lib, stdenv, fetchurl, zlib, lzo, bzip2, lz4, nasm, perl}:
 
 stdenv.mkDerivation rec {
-  version = "0.631";
+  version = "0.640";
   pname = "lrzip";
 
   src = fetchurl {
-    url = "http://ck.kolivas.org/apps/lrzip/${pname}-${version}.tar.bz2";
-    sha256 = "0mb449vmmwpkalq732jdyginvql57nxyd31sszb108yps1lf448d";
+    url = "http://ck.kolivas.org/apps/lrzip/${pname}-${version}.tar.xz";
+    sha256 = "175466drfpz8rsfr0pzfn5rqrj3wmcmcs3i2sfmw366w2kbjm4j9";
   };
 
-  buildInputs = [ zlib lzo bzip2 nasm perl ];
+  buildInputs = [ zlib lzo bzip2 lz4 nasm perl ];
+
+  configureFlags = [
+    "--disable-asm"
+  ];
 
   meta = {
     homepage = "http://ck.kolivas.org/apps/lrzip/";
diff --git a/pkgs/tools/compression/ncompress/default.nix b/pkgs/tools/compression/ncompress/default.nix
index 0f79811f96692..f580709495ed9 100644
--- a/pkgs/tools/compression/ncompress/default.nix
+++ b/pkgs/tools/compression/ncompress/default.nix
@@ -1,15 +1,14 @@
 {lib, stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "ncompress-4.2.4.5";
+  pname = "ncompress";
+  version = "5.0";
 
   builder = ./builder.sh;
 
-  patches = [ ./makefile.patch ];
-
   src = fetchurl {
-    url = "mirror://sourceforge/project/ncompress/${name}.tar.gz";
-    sha256 = "0fwhfijnzggqpbmln82zq7zp6sra7p9arfakswicwi7qsp6vnxgm";
+    url = "mirror://sourceforge/project/ncompress/${pname}-${version}.tar.gz";
+    sha256 = "004r086c11sw9vg2j3srgxpz98w8pycjl33bk3pgqnd0s92igrn4";
   };
 
   meta = {
diff --git a/pkgs/tools/compression/ncompress/makefile.patch b/pkgs/tools/compression/ncompress/makefile.patch
deleted file mode 100644
index 49aa4e65c768f..0000000000000
--- a/pkgs/tools/compression/ncompress/makefile.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff -Naur ncompress-4.2.4.2.orig/Makefile.def ncompress-4.2.4.2/Makefile.def
---- ncompress-4.2.4.2.orig/Makefile.def	2007-09-06 22:28:42.000000000 -0500
-+++ ncompress-4.2.4.2/Makefile.def	2009-08-18 12:30:53.000000000 -0500
-@@ -3,14 +3,16 @@
- # C complier
- #CC=cc
- 
-+PREFIX=/usr/local
-+
- # Install prefix
- DESTDIR=
- 
- # Install directory for binarys
--BINDIR=/usr/local/bin
-+BINDIR=$(PREFIX)/bin
- 
- # Install directory for manual
--MANDIR=/usr/local/man/man1
-+MANDIR=$(PREFIX)/man/man1
- 
- # compiler options:
- # options is a collection of:
-@@ -31,7 +33,7 @@
- #	-DDEF_ERRNO=1				Define error (not defined in errno.h).
- #	-DMAXSEG_64K=1 -BITS=16		Support segment processsor like 80286.
- #
--options= $(CFLAGS) $(CPPFLAGS) -DDIRENT=1 -DUSERMEM=800000 -DREGISTERS=3
-+options= $(CFLAGS) $(CPPFLAGS) -DDIRENT=1 -DUSERMEM=800000 -DREGISTERS=3 -DNOFUNCDEF=1
- 
- # libary options
- LBOPT= $(LDFLAGS)
diff --git a/pkgs/tools/compression/pigz/default.nix b/pkgs/tools/compression/pigz/default.nix
index 7517e599e733c..a4cdcc08549e9 100644
--- a/pkgs/tools/compression/pigz/default.nix
+++ b/pkgs/tools/compression/pigz/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchurl, zlib, util-linux }:
 
 let name = "pigz";
-    version = "2.4";
+    version = "2.6";
 in
 stdenv.mkDerivation {
   name = name + "-" + version;
 
   src = fetchurl {
     url = "https://www.zlib.net/${name}/${name}-${version}.tar.gz";
-    sha256 = "0wsgw5vwl23jrnpsvd8v3xcp5k4waw5mk0164fynjhkv58i1dy54";
+    sha256 = "sha256-Lu17DXRJ0dcJA/KmLNYAXSYus6jJ6YaHvIy7WAnbKn0=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/filesystems/bindfs/default.nix b/pkgs/tools/filesystems/bindfs/default.nix
index cc6916869b6fd..12052100db32a 100644
--- a/pkgs/tools/filesystems/bindfs/default.nix
+++ b/pkgs/tools/filesystems/bindfs/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, fuse, pkg-config }:
 
 stdenv.mkDerivation rec {
-  version = "1.14.9";
+  version = "1.15.1";
   pname = "bindfs";
 
   src = fetchurl {
     url    = "https://bindfs.org/downloads/${pname}-${version}.tar.gz";
-    sha256 = "0fnij365dn4ihkpfc92x63inxxwpminzffyj55krp1w02canpl5n";
+    sha256 = "sha256-BN01hKbN+a9DRNQDxiGFyp+rMc465aJdAQG8EJNsaKs=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A FUSE filesystem for mounting a directory to another location";
     homepage    = "https://bindfs.org";
-    license     = lib.licenses.gpl2;
-    maintainers = with lib.maintainers; [ lovek323 ];
+    license     = lib.licenses.gpl2Only;
+    maintainers = with lib.maintainers; [ lovek323 lovesegfault ];
     platforms   = lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix
index ec9cd7ca61ae2..c55c1bc1c5d14 100644
--- a/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "btrfs-progs";
-  version = "5.10";
+  version = "5.10.1";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "sha256-5xoNbdUE86XZV/zpowKB62Hs+ZHIrzFf4AYaG5eh0CE=";
+    sha256 = "sha256-E3nMcx/q5/RzrZ43yEW7+4czge9ns0Dxoi+8qaTaA0Q=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/filesystems/catcli/default.nix b/pkgs/tools/filesystems/catcli/default.nix
index 2f179a151d1ee..6c101dbc9c0e0 100644
--- a/pkgs/tools/filesystems/catcli/default.nix
+++ b/pkgs/tools/filesystems/catcli/default.nix
@@ -7,13 +7,13 @@
 buildPythonApplication rec {
 
   pname = "catcli";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "deadc0de6";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0myhvflph4fayl2bg8m9a7prh5pcnvnb75p0jb4jpmbx7jyn7ihp";
+    sha256 = "1k5xjz353ry0vbmq1ql7brb9g4wwsijzix2zh5zpd768xl8nc1z8";
   };
 
   propagatedBuildInputs = [ docopt anytree ];
diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix
index 61cc4573693da..aaa5806d402a9 100644
--- a/pkgs/tools/filesystems/ceph/default.nix
+++ b/pkgs/tools/filesystems/ceph/default.nix
@@ -9,10 +9,11 @@
 , babeltrace, gperf
 , gtest
 , cunit, snappy
-, rocksdb, makeWrapper
+, makeWrapper
 , leveldb, oathToolkit
 , libnl, libcap_ng
 , rdkafka
+, nixosTests
 
 # Optional Dependencies
 , yasm ? null, fcgi ? null, expat ? null
@@ -146,7 +147,7 @@ in rec {
     buildInputs = cryptoLibsMap.${cryptoStr} ++ [
       boost ceph-python-env libxml2 optYasm optLibatomic_ops optLibs3
       malloc zlib openldap lttng-ust babeltrace gperf gtest cunit
-      snappy rocksdb lz4 oathToolkit leveldb libnl libcap_ng rdkafka
+      snappy lz4 oathToolkit leveldb libnl libcap_ng rdkafka
     ] ++ lib.optionals stdenv.isLinux [
       linuxHeaders util-linux libuuid udev keyutils optLibaio optLibxfs optZfs
       # ceph 14
@@ -171,12 +172,10 @@ in rec {
 
     cmakeFlags = [
       "-DWITH_PYTHON3=ON"
-      "-DWITH_SYSTEM_ROCKSDB=OFF"
+      "-DWITH_SYSTEM_ROCKSDB=OFF"  # breaks Bluestore
       "-DCMAKE_INSTALL_DATADIR=${placeholder "lib"}/lib"
 
-
       "-DWITH_SYSTEM_BOOST=ON"
-      "-DWITH_SYSTEM_ROCKSDB=ON"
       "-DWITH_SYSTEM_GTEST=ON"
       "-DMGR_PYTHON_VERSION=${ceph-python-env.python.pythonVersion}"
       "-DWITH_SYSTEMD=OFF"
@@ -201,6 +200,7 @@ in rec {
     meta = getMeta "Distributed storage system";
 
     passthru.version = version;
+    passthru.tests = { inherit (nixosTests) ceph-single-node ceph-multi-node ceph-single-node-bluestore; };
   };
 
   ceph-client = runCommand "ceph-client-${version}" {
diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix
index ffe716dceea2c..154b0006663c7 100644
--- a/pkgs/tools/filesystems/e2fsprogs/default.nix
+++ b/pkgs/tools/filesystems/e2fsprogs/default.nix
@@ -71,5 +71,7 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.unix;
     maintainers = [ maintainers.eelco ];
+    # imager.c:70:2: error: unknown type name 'loff_t'; did you mean 'off_t'?
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/tools/filesystems/e2tools/default.nix b/pkgs/tools/filesystems/e2tools/default.nix
index 8621298275e4c..d448b0f67b5f7 100644
--- a/pkgs/tools/filesystems/e2tools/default.nix
+++ b/pkgs/tools/filesystems/e2tools/default.nix
@@ -1,21 +1,23 @@
-{ lib, stdenv, fetchurl, pkg-config, e2fsprogs }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, e2fsprogs }:
 
 stdenv.mkDerivation rec {
   pname = "e2tools";
-  version = "0.0.16";
+  version = "0.1.0";
 
-  src = fetchurl {
-    url = "http://home.earthlink.net/~k_sheff/sw/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "16wlc54abqz06dpipjdkw58bncpkxlj5f55lkzy07k3cg0bqwg2f";
+  src = fetchFromGitHub {
+    owner = "e2tools";
+    repo = "e2tools";
+    rev = "6ee7c2d9015dce7b90c3388096602e307e3bd790";
+    sha256 = "0nlqynrhj6ww7bnfhhfcx6bawii8iyvhgp6vz60zbnpgd68ifcx7";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
   buildInputs = [ e2fsprogs ];
 
   enableParallelBuilding = true;
 
   meta = {
-    homepage = "http://home.earthlink.net/~k_sheff/sw/e2tools/";
+    homepage = "https://e2tools.github.io/";
     description = "Utilities to read/write/manipulate files in an ext2/ext3 filesystem";
     license = lib.licenses.gpl2;
     platforms = lib.platforms.linux;
diff --git a/pkgs/tools/filesystems/fuse-7z-ng/default.nix b/pkgs/tools/filesystems/fuse-7z-ng/default.nix
index aaffc70e10dda..8a0671957c354 100644
--- a/pkgs/tools/filesystems/fuse-7z-ng/default.nix
+++ b/pkgs/tools/filesystems/fuse-7z-ng/default.nix
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "17v1gcmg5q661b047zxjar735i4d3508dimw1x3z1pk4d1zjhp3x";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ fuse autoconf automake makeWrapper ];
+  nativeBuildInputs = [ pkg-config makeWrapper ];
+  buildInputs = [ fuse autoconf automake ];
 
   preConfigure = "./autogen.sh";
 
diff --git a/pkgs/tools/filesystems/fwanalyzer/default.nix b/pkgs/tools/filesystems/fwanalyzer/default.nix
new file mode 100644
index 0000000000000..0026681739024
--- /dev/null
+++ b/pkgs/tools/filesystems/fwanalyzer/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, e2tools
+, makeWrapper
+, mtools
+}:
+
+buildGoModule rec {
+  pname = "fwanalyzer";
+  version = "1.4.3";
+
+  src = fetchFromGitHub {
+    owner = "cruise-automation";
+    repo = pname;
+    rev = version;
+    sha256 = "1pj6s7lzw7490488a30pzvqy2riprfnhb4nzxm6sh2nsp51xalzv";
+  };
+
+  vendorSha256 = "1cjbqx75cspnkx7fgc665q920dsxnsdhqgyiawkvx0i8akczbflw";
+
+  subPackages = [ "cmd/${pname}" ];
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  postInstall = ''
+    wrapProgram "$out/bin/fwanalyzer" --prefix PATH : "${lib.makeBinPath [ e2tools mtools ]}"
+  '';
+
+  # The tests requires an additional setup (unpacking images, etc.)
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Tool to analyze filesystem images";
+    homepage = "https://github.com/cruise-automation/fwanalyzer";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/filesystems/gcsfuse/default.nix b/pkgs/tools/filesystems/gcsfuse/default.nix
index d820e5e68e2a5..e39a3d33dacb7 100644
--- a/pkgs/tools/filesystems/gcsfuse/default.nix
+++ b/pkgs/tools/filesystems/gcsfuse/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "gcsfuse";
-  version = "0.32.0";
+  version = "0.33.2";
 
   src = fetchFromGitHub {
     owner = "googlecloudplatform";
     repo = "gcsfuse";
     rev = "v${version}";
-    sha256 = "09k7479gd9rlzmxhcvc1b3ajy8frzd6881vnlvk3z9818n4aq7qc";
+    sha256 = "sha256-y40JWfD6selBo2IP7VgASmlNUDhXwOdQIRlRHPi3Nh0=";
   };
 
   goPackagePath = "github.com/googlecloudplatform/gcsfuse";
diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix
index a1e9fad454051..4e8a3a991f51c 100644
--- a/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/pkgs/tools/filesystems/glusterfs/default.nix
@@ -54,13 +54,13 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "glusterfs";
-  version = "8.3";
+  version = "9.0";
 
   src = fetchFromGitHub {
     owner = "gluster";
     repo = pname;
     rev = "v${version}";
-    sha256 = "09vvbymiacz2pzwnq6f2dd7g2zszzsivdncz45sh977v3z0n84az";
+    sha256 = "sha256-pjJQAFEb44yNqvNAOclZsiEDZBgcfIxliD3La1IsKPs=";
   };
   inherit buildInputs propagatedBuildInputs;
 
diff --git a/pkgs/tools/filesystems/mergerfs/default.nix b/pkgs/tools/filesystems/mergerfs/default.nix
index 368f62f219693..6da9b9c92a9a7 100644
--- a/pkgs/tools/filesystems/mergerfs/default.nix
+++ b/pkgs/tools/filesystems/mergerfs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mergerfs";
-  version = "2.32.2";
+  version = "2.32.3";
 
   src = fetchFromGitHub {
     owner = "trapexit";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ybDVBcPkjsW2OxNxUmn5hG/qLEjxF9vqR8pZdb9tIBs=";
+    sha256 = "sha256-loOBMrAtvJAcFdcgwzEEko7TMM07Ocx+1umxjnLB1uY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/filesystems/rar2fs/default.nix b/pkgs/tools/filesystems/rar2fs/default.nix
index a3056a80aa1fb..ddd37387fae6b 100644
--- a/pkgs/tools/filesystems/rar2fs/default.nix
+++ b/pkgs/tools/filesystems/rar2fs/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rar2fs";
-  version = "1.29.2";
+  version = "1.29.4";
 
   src = fetchFromGitHub {
     owner = "hasse69";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0j7ai0gcbln2lyfc87xxmj0zpf3lnqa6fdm5rar3kdqhczb7s93y";
+    sha256 = "sha256-O14KuzngzsGazvwz3FCPe0SplO8I6CPJjpCLBPcZq6k=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/filesystems/rmfuse/default.nix b/pkgs/tools/filesystems/rmfuse/default.nix
new file mode 100644
index 0000000000000..b7850f7023fee
--- /dev/null
+++ b/pkgs/tools/filesystems/rmfuse/default.nix
@@ -0,0 +1,26 @@
+{ poetry2nix, pkgs, lib }:
+
+let
+  pythonPackages = (poetry2nix.mkPoetryPackages {
+    projectDir = ./.;
+    overrides = [
+      poetry2nix.defaultPoetryOverrides
+      (import ./poetry-git-overlay.nix { inherit pkgs; })
+      (self: super: {
+
+        rmfuse = super.rmfuse.overridePythonAttrs(old: {
+          meta = old.meta // {
+            description = "RMfuse provides access to your reMarkable Cloud files in the form of a FUSE filesystem.";
+            longDescription = ''
+              RMfuse provides access to your reMarkable Cloud files in the form of a FUSE filesystem. These files are exposed either in their original format, or as PDF files that contain your annotations. This lets you manage files in the reMarkable Cloud using the same tools you use on your local system.
+            '';
+            license = lib.licenses.mit;
+            homepage = "https://github.com/rschroll/rmfuse";
+            maintainers = [ lib.maintainers.adisbladis ];
+          };
+        });
+
+      })
+    ];
+  }).python.pkgs;
+in pythonPackages.rmfuse
diff --git a/pkgs/tools/filesystems/rmfuse/poetry-git-overlay.nix b/pkgs/tools/filesystems/rmfuse/poetry-git-overlay.nix
new file mode 100644
index 0000000000000..9185faedc07ff
--- /dev/null
+++ b/pkgs/tools/filesystems/rmfuse/poetry-git-overlay.nix
@@ -0,0 +1,14 @@
+{ pkgs }:
+self: super: {
+
+  rmfuse = super.rmfuse.overridePythonAttrs (
+    _: {
+      src = pkgs.fetchgit {
+        url = "https://github.com/rschroll/rmfuse.git";
+        rev = "ac91d477cc32311c88aa7ecd1bebd6503e426ae7";
+        sha256 = "129n00hricsf4jkgj39bq3m5nhvy4d4yg7mcvrcgwb2546wcix0n";
+      };
+    }
+  );
+
+}
diff --git a/pkgs/tools/filesystems/rmfuse/poetry.lock b/pkgs/tools/filesystems/rmfuse/poetry.lock
new file mode 100644
index 0000000000000..a97b89181fb7a
--- /dev/null
+++ b/pkgs/tools/filesystems/rmfuse/poetry.lock
@@ -0,0 +1,547 @@
+[[package]]
+category = "main"
+description = "High level compatibility layer for multiple asynchronous event loop implementations"
+name = "anyio"
+optional = false
+python-versions = ">=3.6.2"
+version = "2.1.0"
+
+[package.dependencies]
+idna = ">=2.8"
+sniffio = ">=1.1"
+
+[package.extras]
+curio = ["curio (>=1.4)"]
+doc = ["sphinx-rtd-theme", "sphinx-autodoc-typehints (>=1.2.0)"]
+test = ["coverage (>=4.5)", "hypothesis (>=4.0)", "pytest (>=6.0)", "trustme", "uvloop"]
+trio = ["trio (>=0.16)"]
+
+[[package]]
+category = "main"
+description = "asks - async http"
+name = "asks"
+optional = false
+python-versions = ">= 3.6.2"
+version = "2.4.12"
+
+[package.dependencies]
+anyio = ">=2.0,<3.0"
+async_generator = "*"
+h11 = "*"
+
+[[package]]
+category = "main"
+description = "Async generators and context managers for Python 3.5+"
+name = "async-generator"
+optional = false
+python-versions = ">=3.5"
+version = "1.10"
+
+[[package]]
+category = "main"
+description = "Classes Without Boilerplate"
+name = "attrs"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "20.3.0"
+
+[package.extras]
+dev = ["coverage (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "furo", "sphinx", "pre-commit"]
+docs = ["furo", "sphinx", "zope.interface"]
+tests = ["coverage (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"]
+tests_no_zope = ["coverage (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six"]
+
+[[package]]
+category = "main"
+description = "The bidirectional mapping library for Python."
+name = "bidict"
+optional = false
+python-versions = ">=3.6"
+version = "0.21.2"
+
+[package.extras]
+coverage = ["coverage (<6)", "pytest-cov (<3)"]
+dev = ["setuptools-scm", "hypothesis (<6)", "py (<2)", "pytest (<7)", "pytest-benchmark (>=3.2.0,<4)", "sortedcollections (<2)", "sortedcontainers (<3)", "Sphinx (<4)", "sphinx-autodoc-typehints (<2)", "coverage (<6)", "pytest-cov (<3)", "pre-commit (<3)", "tox (<4)"]
+docs = ["Sphinx (<4)", "sphinx-autodoc-typehints (<2)"]
+precommit = ["pre-commit (<3)"]
+test = ["hypothesis (<6)", "py (<2)", "pytest (<7)", "pytest-benchmark (>=3.2.0,<4)", "sortedcollections (<2)", "sortedcontainers (<3)", "Sphinx (<4)", "sphinx-autodoc-typehints (<2)"]
+
+[[package]]
+category = "main"
+description = "Foreign Function Interface for Python calling C code."
+name = "cffi"
+optional = false
+python-versions = "*"
+version = "1.14.5"
+
+[package.dependencies]
+pycparser = "*"
+
+[[package]]
+category = "main"
+description = "cssselect2"
+name = "cssselect2"
+optional = false
+python-versions = ">=3.6"
+version = "0.4.1"
+
+[package.dependencies]
+tinycss2 = "*"
+webencodings = "*"
+
+[package.extras]
+doc = ["sphinx", "sphinx-rtd-theme"]
+test = ["pytest", "pytest-cov", "pytest-flake8", "pytest-isort", "coverage"]
+
+[[package]]
+category = "main"
+description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
+name = "h11"
+optional = false
+python-versions = ">=3.6"
+version = "0.12.0"
+
+[[package]]
+category = "main"
+description = "Internationalized Domain Names in Applications (IDNA)"
+name = "idna"
+optional = false
+python-versions = ">=3.4"
+version = "3.1"
+
+[[package]]
+category = "main"
+description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API."
+name = "lxml"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*"
+version = "4.6.2"
+
+[package.extras]
+cssselect = ["cssselect (>=0.7)"]
+html5 = ["html5lib"]
+htmlsoup = ["beautifulsoup4"]
+source = ["Cython (>=0.29.7)"]
+
+[[package]]
+category = "main"
+description = "Capture the outcome of Python function calls."
+name = "outcome"
+optional = false
+python-versions = ">=3.6"
+version = "1.1.0"
+
+[package.dependencies]
+attrs = ">=19.2.0"
+
+[[package]]
+category = "main"
+description = "PDF file reader/writer library"
+name = "pdfrw"
+optional = false
+python-versions = "*"
+version = "0.4"
+
+[[package]]
+category = "main"
+description = "Python Imaging Library (Fork)"
+name = "pillow"
+optional = false
+python-versions = ">=3.6"
+version = "8.1.0"
+
+[[package]]
+category = "main"
+description = "C parser in Python"
+name = "pycparser"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+version = "2.20"
+
+[[package]]
+category = "main"
+description = "Python 3 bindings for libfuse 3 with async I/O support"
+name = "pyfuse3"
+optional = false
+python-versions = ">=3.5"
+version = "3.2.0"
+
+[package.dependencies]
+trio = ">=0.15"
+
+[[package]]
+category = "main"
+description = "The Reportlab Toolkit"
+name = "reportlab"
+optional = false
+python-versions = "*"
+version = "3.5.59"
+
+[package.dependencies]
+pillow = ">=4.0.0"
+
+[[package]]
+category = "main"
+description = "reMarkable Cloud Library"
+name = "rmcl"
+optional = false
+python-versions = ">=3.7,<4.0"
+version = "0.3.1"
+
+[package.dependencies]
+asks = ">=2.4.12,<3.0.0"
+trio = ">=0.18.0,<0.19.0"
+xdg = ">=5.0.1,<6.0.0"
+
+[[package]]
+category = "main"
+description = ""
+name = "rmfuse"
+optional = false
+python-versions = "^3.7"
+version = "0.1.1"
+
+[package.dependencies]
+bidict = "^0.21.2"
+pyfuse3 = "^3.2.0"
+rmcl = "^0.3.1"
+rmrl = "^0.1.2"
+
+[package.source]
+reference = "ac91d477cc32311c88aa7ecd1bebd6503e426ae7"
+type = "git"
+url = "https://github.com/rschroll/rmfuse.git"
+[[package]]
+category = "main"
+description = "Render reMarkable documents to PDF"
+name = "rmrl"
+optional = false
+python-versions = ">=3.7,<4.0"
+version = "0.1.2"
+
+[package.dependencies]
+pdfrw = ">=0.4,<0.5"
+reportlab = ">=3.5.59,<4.0.0"
+svglib = ">=1.0.1,<2.0.0"
+xdg = ">=5.0.1,<6.0.0"
+
+[[package]]
+category = "main"
+description = "Sniff out which async library your code is running under"
+name = "sniffio"
+optional = false
+python-versions = ">=3.5"
+version = "1.2.0"
+
+[[package]]
+category = "main"
+description = "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set"
+name = "sortedcontainers"
+optional = false
+python-versions = "*"
+version = "2.3.0"
+
+[[package]]
+category = "main"
+description = "A pure-Python library for reading and converting SVG"
+name = "svglib"
+optional = false
+python-versions = ">=3"
+version = "1.0.1"
+
+[package.dependencies]
+cssselect2 = ">=0.2.0"
+lxml = "*"
+reportlab = "*"
+tinycss2 = ">=0.6.0"
+
+[[package]]
+category = "main"
+description = "tinycss2"
+name = "tinycss2"
+optional = false
+python-versions = ">=3.6"
+version = "1.1.0"
+
+[package.dependencies]
+webencodings = ">=0.4"
+
+[package.extras]
+doc = ["sphinx", "sphinx-rtd-theme"]
+test = ["pytest", "pytest-cov", "pytest-flake8", "pytest-isort", "coverage"]
+
+[[package]]
+category = "main"
+description = "A friendly Python library for async concurrency and I/O"
+name = "trio"
+optional = false
+python-versions = ">=3.6"
+version = "0.18.0"
+
+[package.dependencies]
+async-generator = ">=1.9"
+attrs = ">=19.2.0"
+cffi = ">=1.14"
+idna = "*"
+outcome = "*"
+sniffio = "*"
+sortedcontainers = "*"
+
+[[package]]
+category = "main"
+description = "Character encoding aliases for legacy web content"
+name = "webencodings"
+optional = false
+python-versions = "*"
+version = "0.5.1"
+
+[[package]]
+category = "main"
+description = "Variables defined by the XDG Base Directory Specification"
+name = "xdg"
+optional = false
+python-versions = ">=3.6,<4.0"
+version = "5.0.1"
+
+[metadata]
+content-hash = "df8dfb527656dec034712b2d07aaacfdee20f89f635d38af52bb21888d7d4130"
+lock-version = "1.0"
+python-versions = "^3.8"
+
+[metadata.files]
+anyio = [
+    {file = "anyio-2.1.0-py3-none-any.whl", hash = "sha256:c286818ccd5dcbd5d385b223f16a055393474527b1d5650da489828a9887d559"},
+    {file = "anyio-2.1.0.tar.gz", hash = "sha256:8a56e08623dc55955a06719d4ad62de6009bb3f1dd04936e60b2104dd58da484"},
+]
+asks = [
+    {file = "asks-2.4.12.tar.gz", hash = "sha256:38de944eb350e7e4e3a918055fa8ff033da5f7b5ff385c1160a2d6b9d84783b0"},
+]
+async-generator = [
+    {file = "async_generator-1.10-py3-none-any.whl", hash = "sha256:01c7bf666359b4967d2cda0000cc2e4af16a0ae098cbffcb8472fb9e8ad6585b"},
+    {file = "async_generator-1.10.tar.gz", hash = "sha256:6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144"},
+]
+attrs = [
+    {file = "attrs-20.3.0-py2.py3-none-any.whl", hash = "sha256:31b2eced602aa8423c2aea9c76a724617ed67cf9513173fd3a4f03e3a929c7e6"},
+    {file = "attrs-20.3.0.tar.gz", hash = "sha256:832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700"},
+]
+bidict = [
+    {file = "bidict-0.21.2-py2.py3-none-any.whl", hash = "sha256:929d056e8d0d9b17ceda20ba5b24ac388e2a4d39802b87f9f4d3f45ecba070bf"},
+    {file = "bidict-0.21.2.tar.gz", hash = "sha256:4fa46f7ff96dc244abfc437383d987404ae861df797e2fd5b190e233c302be09"},
+]
+cffi = [
+    {file = "cffi-1.14.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:bb89f306e5da99f4d922728ddcd6f7fcebb3241fc40edebcb7284d7514741991"},
+    {file = "cffi-1.14.5-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:34eff4b97f3d982fb93e2831e6750127d1355a923ebaeeb565407b3d2f8d41a1"},
+    {file = "cffi-1.14.5-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:99cd03ae7988a93dd00bcd9d0b75e1f6c426063d6f03d2f90b89e29b25b82dfa"},
+    {file = "cffi-1.14.5-cp27-cp27m-win32.whl", hash = "sha256:65fa59693c62cf06e45ddbb822165394a288edce9e276647f0046e1ec26920f3"},
+    {file = "cffi-1.14.5-cp27-cp27m-win_amd64.whl", hash = "sha256:51182f8927c5af975fece87b1b369f722c570fe169f9880764b1ee3bca8347b5"},
+    {file = "cffi-1.14.5-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:43e0b9d9e2c9e5d152946b9c5fe062c151614b262fda2e7b201204de0b99e482"},
+    {file = "cffi-1.14.5-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:cbde590d4faaa07c72bf979734738f328d239913ba3e043b1e98fe9a39f8b2b6"},
+    {file = "cffi-1.14.5-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:5de7970188bb46b7bf9858eb6890aad302577a5f6f75091fd7cdd3ef13ef3045"},
+    {file = "cffi-1.14.5-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:a465da611f6fa124963b91bf432d960a555563efe4ed1cc403ba5077b15370aa"},
+    {file = "cffi-1.14.5-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:d42b11d692e11b6634f7613ad8df5d6d5f8875f5d48939520d351007b3c13406"},
+    {file = "cffi-1.14.5-cp35-cp35m-win32.whl", hash = "sha256:72d8d3ef52c208ee1c7b2e341f7d71c6fd3157138abf1a95166e6165dd5d4369"},
+    {file = "cffi-1.14.5-cp35-cp35m-win_amd64.whl", hash = "sha256:29314480e958fd8aab22e4a58b355b629c59bf5f2ac2492b61e3dc06d8c7a315"},
+    {file = "cffi-1.14.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:3d3dd4c9e559eb172ecf00a2a7517e97d1e96de2a5e610bd9b68cea3925b4892"},
+    {file = "cffi-1.14.5-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:48e1c69bbacfc3d932221851b39d49e81567a4d4aac3b21258d9c24578280058"},
+    {file = "cffi-1.14.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:69e395c24fc60aad6bb4fa7e583698ea6cc684648e1ffb7fe85e3c1ca131a7d5"},
+    {file = "cffi-1.14.5-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:9e93e79c2551ff263400e1e4be085a1210e12073a31c2011dbbda14bda0c6132"},
+    {file = "cffi-1.14.5-cp36-cp36m-win32.whl", hash = "sha256:58e3f59d583d413809d60779492342801d6e82fefb89c86a38e040c16883be53"},
+    {file = "cffi-1.14.5-cp36-cp36m-win_amd64.whl", hash = "sha256:005a36f41773e148deac64b08f233873a4d0c18b053d37da83f6af4d9087b813"},
+    {file = "cffi-1.14.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2894f2df484ff56d717bead0a5c2abb6b9d2bf26d6960c4604d5c48bbc30ee73"},
+    {file = "cffi-1.14.5-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:0857f0ae312d855239a55c81ef453ee8fd24136eaba8e87a2eceba644c0d4c06"},
+    {file = "cffi-1.14.5-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:cd2868886d547469123fadc46eac7ea5253ea7fcb139f12e1dfc2bbd406427d1"},
+    {file = "cffi-1.14.5-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:35f27e6eb43380fa080dccf676dece30bef72e4a67617ffda586641cd4508d49"},
+    {file = "cffi-1.14.5-cp37-cp37m-win32.whl", hash = "sha256:9ff227395193126d82e60319a673a037d5de84633f11279e336f9c0f189ecc62"},
+    {file = "cffi-1.14.5-cp37-cp37m-win_amd64.whl", hash = "sha256:9cf8022fb8d07a97c178b02327b284521c7708d7c71a9c9c355c178ac4bbd3d4"},
+    {file = "cffi-1.14.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8b198cec6c72df5289c05b05b8b0969819783f9418e0409865dac47288d2a053"},
+    {file = "cffi-1.14.5-cp38-cp38-manylinux1_i686.whl", hash = "sha256:ad17025d226ee5beec591b52800c11680fca3df50b8b29fe51d882576e039ee0"},
+    {file = "cffi-1.14.5-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:6c97d7350133666fbb5cf4abdc1178c812cb205dc6f41d174a7b0f18fb93337e"},
+    {file = "cffi-1.14.5-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8ae6299f6c68de06f136f1f9e69458eae58f1dacf10af5c17353eae03aa0d827"},
+    {file = "cffi-1.14.5-cp38-cp38-win32.whl", hash = "sha256:b85eb46a81787c50650f2392b9b4ef23e1f126313b9e0e9013b35c15e4288e2e"},
+    {file = "cffi-1.14.5-cp38-cp38-win_amd64.whl", hash = "sha256:1f436816fc868b098b0d63b8920de7d208c90a67212546d02f84fe78a9c26396"},
+    {file = "cffi-1.14.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1071534bbbf8cbb31b498d5d9db0f274f2f7a865adca4ae429e147ba40f73dea"},
+    {file = "cffi-1.14.5-cp39-cp39-manylinux1_i686.whl", hash = "sha256:9de2e279153a443c656f2defd67769e6d1e4163952b3c622dcea5b08a6405322"},
+    {file = "cffi-1.14.5-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:6e4714cc64f474e4d6e37cfff31a814b509a35cb17de4fb1999907575684479c"},
+    {file = "cffi-1.14.5-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:158d0d15119b4b7ff6b926536763dc0714313aa59e320ddf787502c70c4d4bee"},
+    {file = "cffi-1.14.5-cp39-cp39-win32.whl", hash = "sha256:afb29c1ba2e5a3736f1c301d9d0abe3ec8b86957d04ddfa9d7a6a42b9367e396"},
+    {file = "cffi-1.14.5-cp39-cp39-win_amd64.whl", hash = "sha256:f2d45f97ab6bb54753eab54fffe75aaf3de4ff2341c9daee1987ee1837636f1d"},
+    {file = "cffi-1.14.5.tar.gz", hash = "sha256:fd78e5fee591709f32ef6edb9a015b4aa1a5022598e36227500c8f4e02328d9c"},
+]
+cssselect2 = [
+    {file = "cssselect2-0.4.1-py3-none-any.whl", hash = "sha256:2f4a9f20965367bae459e3bb42561f7927e0cfe5b7ea1692757cf67ef5d7dace"},
+    {file = "cssselect2-0.4.1.tar.gz", hash = "sha256:93fbb9af860e95dd40bf18c3b2b6ed99189a07c0f29ba76f9c5be71344664ec8"},
+]
+h11 = [
+    {file = "h11-0.12.0-py3-none-any.whl", hash = "sha256:36a3cb8c0a032f56e2da7084577878a035d3b61d104230d4bd49c0c6b555a9c6"},
+    {file = "h11-0.12.0.tar.gz", hash = "sha256:47222cb6067e4a307d535814917cd98fd0a57b6788ce715755fa2b6c28b56042"},
+]
+idna = [
+    {file = "idna-3.1-py3-none-any.whl", hash = "sha256:5205d03e7bcbb919cc9c19885f9920d622ca52448306f2377daede5cf3faac16"},
+    {file = "idna-3.1.tar.gz", hash = "sha256:c5b02147e01ea9920e6b0a3f1f7bb833612d507592c837a6c49552768f4054e1"},
+]
+lxml = [
+    {file = "lxml-4.6.2-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a9d6bc8642e2c67db33f1247a77c53476f3a166e09067c0474facb045756087f"},
+    {file = "lxml-4.6.2-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:791394449e98243839fa822a637177dd42a95f4883ad3dec2a0ce6ac99fb0a9d"},
+    {file = "lxml-4.6.2-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:68a5d77e440df94011214b7db907ec8f19e439507a70c958f750c18d88f995d2"},
+    {file = "lxml-4.6.2-cp27-cp27m-win32.whl", hash = "sha256:fc37870d6716b137e80d19241d0e2cff7a7643b925dfa49b4c8ebd1295eb506e"},
+    {file = "lxml-4.6.2-cp27-cp27m-win_amd64.whl", hash = "sha256:69a63f83e88138ab7642d8f61418cf3180a4d8cd13995df87725cb8b893e950e"},
+    {file = "lxml-4.6.2-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:42ebca24ba2a21065fb546f3e6bd0c58c3fe9ac298f3a320147029a4850f51a2"},
+    {file = "lxml-4.6.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:f83d281bb2a6217cd806f4cf0ddded436790e66f393e124dfe9731f6b3fb9afe"},
+    {file = "lxml-4.6.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:535f067002b0fd1a4e5296a8f1bf88193080ff992a195e66964ef2a6cfec5388"},
+    {file = "lxml-4.6.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:366cb750140f221523fa062d641393092813b81e15d0e25d9f7c6025f910ee80"},
+    {file = "lxml-4.6.2-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:97db258793d193c7b62d4e2586c6ed98d51086e93f9a3af2b2034af01450a74b"},
+    {file = "lxml-4.6.2-cp35-cp35m-win32.whl", hash = "sha256:648914abafe67f11be7d93c1a546068f8eff3c5fa938e1f94509e4a5d682b2d8"},
+    {file = "lxml-4.6.2-cp35-cp35m-win_amd64.whl", hash = "sha256:4e751e77006da34643ab782e4a5cc21ea7b755551db202bc4d3a423b307db780"},
+    {file = "lxml-4.6.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:681d75e1a38a69f1e64ab82fe4b1ed3fd758717bed735fb9aeaa124143f051af"},
+    {file = "lxml-4.6.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:127f76864468d6630e1b453d3ffbbd04b024c674f55cf0a30dc2595137892d37"},
+    {file = "lxml-4.6.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:4fb85c447e288df535b17ebdebf0ec1cf3a3f1a8eba7e79169f4f37af43c6b98"},
+    {file = "lxml-4.6.2-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:5be4a2e212bb6aa045e37f7d48e3e1e4b6fd259882ed5a00786f82e8c37ce77d"},
+    {file = "lxml-4.6.2-cp36-cp36m-win32.whl", hash = "sha256:8c88b599e226994ad4db29d93bc149aa1aff3dc3a4355dd5757569ba78632bdf"},
+    {file = "lxml-4.6.2-cp36-cp36m-win_amd64.whl", hash = "sha256:6e4183800f16f3679076dfa8abf2db3083919d7e30764a069fb66b2b9eff9939"},
+    {file = "lxml-4.6.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d8d3d4713f0c28bdc6c806a278d998546e8efc3498949e3ace6e117462ac0a5e"},
+    {file = "lxml-4.6.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:8246f30ca34dc712ab07e51dc34fea883c00b7ccb0e614651e49da2c49a30711"},
+    {file = "lxml-4.6.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:923963e989ffbceaa210ac37afc9b906acebe945d2723e9679b643513837b089"},
+    {file = "lxml-4.6.2-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:1471cee35eba321827d7d53d104e7b8c593ea3ad376aa2df89533ce8e1b24a01"},
+    {file = "lxml-4.6.2-cp37-cp37m-win32.whl", hash = "sha256:2363c35637d2d9d6f26f60a208819e7eafc4305ce39dc1d5005eccc4593331c2"},
+    {file = "lxml-4.6.2-cp37-cp37m-win_amd64.whl", hash = "sha256:f4822c0660c3754f1a41a655e37cb4dbbc9be3d35b125a37fab6f82d47674ebc"},
+    {file = "lxml-4.6.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0448576c148c129594d890265b1a83b9cd76fd1f0a6a04620753d9a6bcfd0a4d"},
+    {file = "lxml-4.6.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:60a20bfc3bd234d54d49c388950195d23a5583d4108e1a1d47c9eef8d8c042b3"},
+    {file = "lxml-4.6.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:2e5cc908fe43fe1aa299e58046ad66981131a66aea3129aac7770c37f590a644"},
+    {file = "lxml-4.6.2-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:50c348995b47b5a4e330362cf39fc503b4a43b14a91c34c83b955e1805c8e308"},
+    {file = "lxml-4.6.2-cp38-cp38-win32.whl", hash = "sha256:94d55bd03d8671686e3f012577d9caa5421a07286dd351dfef64791cf7c6c505"},
+    {file = "lxml-4.6.2-cp38-cp38-win_amd64.whl", hash = "sha256:7a7669ff50f41225ca5d6ee0a1ec8413f3a0d8aa2b109f86d540887b7ec0d72a"},
+    {file = "lxml-4.6.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e0bfe9bb028974a481410432dbe1b182e8191d5d40382e5b8ff39cdd2e5c5931"},
+    {file = "lxml-4.6.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:6fd8d5903c2e53f49e99359b063df27fdf7acb89a52b6a12494208bf61345a03"},
+    {file = "lxml-4.6.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7e9eac1e526386df7c70ef253b792a0a12dd86d833b1d329e038c7a235dfceb5"},
+    {file = "lxml-4.6.2-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:7ee8af0b9f7de635c61cdd5b8534b76c52cd03536f29f51151b377f76e214a1a"},
+    {file = "lxml-4.6.2-cp39-cp39-win32.whl", hash = "sha256:2e6fd1b8acd005bd71e6c94f30c055594bbd0aa02ef51a22bbfa961ab63b2d75"},
+    {file = "lxml-4.6.2-cp39-cp39-win_amd64.whl", hash = "sha256:535332fe9d00c3cd455bd3dd7d4bacab86e2d564bdf7606079160fa6251caacf"},
+    {file = "lxml-4.6.2.tar.gz", hash = "sha256:cd11c7e8d21af997ee8079037fff88f16fda188a9776eb4b81c7e4c9c0a7d7fc"},
+]
+outcome = [
+    {file = "outcome-1.1.0-py2.py3-none-any.whl", hash = "sha256:c7dd9375cfd3c12db9801d080a3b63d4b0a261aa996c4c13152380587288d958"},
+    {file = "outcome-1.1.0.tar.gz", hash = "sha256:e862f01d4e626e63e8f92c38d1f8d5546d3f9cce989263c521b2e7990d186967"},
+]
+pdfrw = [
+    {file = "pdfrw-0.4-py2.py3-none-any.whl", hash = "sha256:758289edaa3b672e9a1a67504be73c18ec668d4e5b9d5ac9cbc0dc753d8d196b"},
+    {file = "pdfrw-0.4.tar.gz", hash = "sha256:0dc0494a0e6561b268542b28ede2280387c2728114f117d3bb5d8e4787b93ef4"},
+]
+pillow = [
+    {file = "Pillow-8.1.0-cp36-cp36m-macosx_10_10_x86_64.whl", hash = "sha256:d355502dce85ade85a2511b40b4c61a128902f246504f7de29bbeec1ae27933a"},
+    {file = "Pillow-8.1.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:93a473b53cc6e0b3ce6bf51b1b95b7b1e7e6084be3a07e40f79b42e83503fbf2"},
+    {file = "Pillow-8.1.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:2353834b2c49b95e1313fb34edf18fca4d57446675d05298bb694bca4b194174"},
+    {file = "Pillow-8.1.0-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:1d208e670abfeb41b6143537a681299ef86e92d2a3dac299d3cd6830d5c7bded"},
+    {file = "Pillow-8.1.0-cp36-cp36m-win32.whl", hash = "sha256:dd9eef866c70d2cbbea1ae58134eaffda0d4bfea403025f4db6859724b18ab3d"},
+    {file = "Pillow-8.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:b09e10ec453de97f9a23a5aa5e30b334195e8d2ddd1ce76cc32e52ba63c8b31d"},
+    {file = "Pillow-8.1.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:b02a0b9f332086657852b1f7cb380f6a42403a6d9c42a4c34a561aa4530d5234"},
+    {file = "Pillow-8.1.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:ca20739e303254287138234485579b28cb0d524401f83d5129b5ff9d606cb0a8"},
+    {file = "Pillow-8.1.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:604815c55fd92e735f9738f65dabf4edc3e79f88541c221d292faec1904a4b17"},
+    {file = "Pillow-8.1.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:cf6e33d92b1526190a1de904df21663c46a456758c0424e4f947ae9aa6088bf7"},
+    {file = "Pillow-8.1.0-cp37-cp37m-win32.whl", hash = "sha256:47c0d93ee9c8b181f353dbead6530b26980fe4f5485aa18be8f1fd3c3cbc685e"},
+    {file = "Pillow-8.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:96d4dc103d1a0fa6d47c6c55a47de5f5dafd5ef0114fa10c85a1fd8e0216284b"},
+    {file = "Pillow-8.1.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:7916cbc94f1c6b1301ac04510d0881b9e9feb20ae34094d3615a8a7c3db0dcc0"},
+    {file = "Pillow-8.1.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:3de6b2ee4f78c6b3d89d184ade5d8fa68af0848f9b6b6da2b9ab7943ec46971a"},
+    {file = "Pillow-8.1.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:cdbbe7dff4a677fb555a54f9bc0450f2a21a93c5ba2b44e09e54fcb72d2bd13d"},
+    {file = "Pillow-8.1.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:f50e7a98b0453f39000619d845be8b06e611e56ee6e8186f7f60c3b1e2f0feae"},
+    {file = "Pillow-8.1.0-cp38-cp38-win32.whl", hash = "sha256:cb192176b477d49b0a327b2a5a4979552b7a58cd42037034316b8018ac3ebb59"},
+    {file = "Pillow-8.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:6c5275bd82711cd3dcd0af8ce0bb99113ae8911fc2952805f1d012de7d600a4c"},
+    {file = "Pillow-8.1.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:165c88bc9d8dba670110c689e3cc5c71dbe4bfb984ffa7cbebf1fac9554071d6"},
+    {file = "Pillow-8.1.0-cp39-cp39-manylinux1_i686.whl", hash = "sha256:5e2fe3bb2363b862671eba632537cd3a823847db4d98be95690b7e382f3d6378"},
+    {file = "Pillow-8.1.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7612520e5e1a371d77e1d1ca3a3ee6227eef00d0a9cddb4ef7ecb0b7396eddf7"},
+    {file = "Pillow-8.1.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:d673c4990acd016229a5c1c4ee8a9e6d8f481b27ade5fc3d95938697fa443ce0"},
+    {file = "Pillow-8.1.0-cp39-cp39-win32.whl", hash = "sha256:dc577f4cfdda354db3ae37a572428a90ffdbe4e51eda7849bf442fb803f09c9b"},
+    {file = "Pillow-8.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:22d070ca2e60c99929ef274cfced04294d2368193e935c5d6febfd8b601bf865"},
+    {file = "Pillow-8.1.0-pp36-pypy36_pp73-macosx_10_10_x86_64.whl", hash = "sha256:a3d3e086474ef12ef13d42e5f9b7bbf09d39cf6bd4940f982263d6954b13f6a9"},
+    {file = "Pillow-8.1.0-pp36-pypy36_pp73-manylinux2010_i686.whl", hash = "sha256:731ca5aabe9085160cf68b2dbef95fc1991015bc0a3a6ea46a371ab88f3d0913"},
+    {file = "Pillow-8.1.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:bba80df38cfc17f490ec651c73bb37cd896bc2400cfba27d078c2135223c1206"},
+    {file = "Pillow-8.1.0-pp37-pypy37_pp73-macosx_10_10_x86_64.whl", hash = "sha256:c3d911614b008e8a576b8e5303e3db29224b455d3d66d1b2848ba6ca83f9ece9"},
+    {file = "Pillow-8.1.0-pp37-pypy37_pp73-manylinux2010_i686.whl", hash = "sha256:39725acf2d2e9c17356e6835dccebe7a697db55f25a09207e38b835d5e1bc032"},
+    {file = "Pillow-8.1.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl", hash = "sha256:81c3fa9a75d9f1afafdb916d5995633f319db09bd773cb56b8e39f1e98d90820"},
+    {file = "Pillow-8.1.0-pp37-pypy37_pp73-win32.whl", hash = "sha256:b6f00ad5ebe846cc91763b1d0c6d30a8042e02b2316e27b05de04fa6ec831ec5"},
+    {file = "Pillow-8.1.0.tar.gz", hash = "sha256:887668e792b7edbfb1d3c9d8b5d8c859269a0f0eba4dda562adb95500f60dbba"},
+]
+pycparser = [
+    {file = "pycparser-2.20-py2.py3-none-any.whl", hash = "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705"},
+    {file = "pycparser-2.20.tar.gz", hash = "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0"},
+]
+pyfuse3 = [
+    {file = "pyfuse3-3.2.0.tar.gz", hash = "sha256:45f0053ad601b03a36e2c283a5271403674245a66a0daf50e3deaab0ea4fa82f"},
+]
+reportlab = [
+    {file = "reportlab-3.5.59-cp27-cp27m-macosx_10_10_x86_64.whl", hash = "sha256:1da3d7a35f918cee905facfa94bd00ae6091cadc06dca1b0b31b69ae02d41d1d"},
+    {file = "reportlab-3.5.59-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:792efba0c0c6e4ee94f6dc95f305451733ee9230a1c7d51cb8e5301a549e0dfb"},
+    {file = "reportlab-3.5.59-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:f3d4a1a273dc141e03b72a553c11bc14dd7a27ec7654a071edcf83eb04f004bc"},
+    {file = "reportlab-3.5.59-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:e2b4e33fea2ce9d3a14ea39191b169e41eb2ac995274f54ac8fd27519974bce8"},
+    {file = "reportlab-3.5.59-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:b1b20208ecdfffd7ca027955c4fe8972b28b30a4b3b80cf25099a08d3b20ed7c"},
+    {file = "reportlab-3.5.59-cp27-cp27m-win32.whl", hash = "sha256:5ed00894e0f8281c0b7c0494b4d3067c641fd90c8e5cf933089ec4cc9a48e491"},
+    {file = "reportlab-3.5.59-cp27-cp27m-win_amd64.whl", hash = "sha256:85650446538cd2f606ca234634142a7ccd74cb6db7cfec250f76a4242e0f2431"},
+    {file = "reportlab-3.5.59-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:79d63ca40231ca3860859b39a92daa5219035ba9553da89a5e1b218550744121"},
+    {file = "reportlab-3.5.59-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:a0c377bc45e73c3f15f55d7de69fab270d174749d5b454ab0de502b15430ec2a"},
+    {file = "reportlab-3.5.59-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:cfa854bea525f8c913cb77e2bda724d94b965a0eb3bcfc4a645a9baa29bb86e2"},
+    {file = "reportlab-3.5.59-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:3d7713dddaa8081ed709a1fa2456a43f6a74b0f07d605da8441fd53fef334f69"},
+    {file = "reportlab-3.5.59-cp36-cp36m-macosx_10_10_x86_64.whl", hash = "sha256:ff547cf4c1de7e104cad1a378431ff81efcb03e90e40871ee686107da5b91442"},
+    {file = "reportlab-3.5.59-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:19353aead39fc115a4d6c598d6fb9fa26da7e69160a0443ebb49b02903e704e8"},
+    {file = "reportlab-3.5.59-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:6f3ad2b1afe99c436563cd436d8693d4a12e2c4bd45f70c7705759ff7837fe53"},
+    {file = "reportlab-3.5.59-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:b26d6f416891cef93411d6d478a25db275766081a5fb66368248293ef459f3be"},
+    {file = "reportlab-3.5.59-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:dd9687359e466086b9f6fe6d8069034017f8b6ca3080944fae5709767ca6814e"},
+    {file = "reportlab-3.5.59-cp36-cp36m-win32.whl", hash = "sha256:b71faf3b6e4d7058e1af1b8afedaf39a962db4a219affc8177009d8244ec10d4"},
+    {file = "reportlab-3.5.59-cp36-cp36m-win_amd64.whl", hash = "sha256:4ca5233a19a5ceca23546290f43addec2345789c7d65bb32f8b2668aa148351f"},
+    {file = "reportlab-3.5.59-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:9da445cb79e3f740756924c053edc952cde11a65ff5af8acfda3c0a1317136ef"},
+    {file = "reportlab-3.5.59-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:07bff6742fba612da8d1b1f783c436338c6fdc6962828159827d5ca7d2b67935"},
+    {file = "reportlab-3.5.59-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:52f8237654acbc78ea2fa6fb4a6a06e5b023b6da93f7889adfe2deba09473fad"},
+    {file = "reportlab-3.5.59-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:739b743b7ca1ba4b4d64c321de6fccb49b562d0507ea06c817d9cc4faed5cd22"},
+    {file = "reportlab-3.5.59-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:33f3cfdc492575f8af3225701301a7e62fc478358729820c9e0091aff5831378"},
+    {file = "reportlab-3.5.59-cp37-cp37m-win32.whl", hash = "sha256:3e2b4d69763103b9dc9b54c0952dc3cee05cedd06e28c0987fad7f84705b12c0"},
+    {file = "reportlab-3.5.59-cp37-cp37m-win_amd64.whl", hash = "sha256:18a876449c9000c391dd3415ebc8454cd7bb9e488977b894886a2d7d018f16cd"},
+    {file = "reportlab-3.5.59-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:04a08d284da86882ec3a41a7c719833362ef891b09ee8e2fbb47cee352aa684a"},
+    {file = "reportlab-3.5.59-cp38-cp38-manylinux1_i686.whl", hash = "sha256:83b28104edd58ad65748d2d0e60e0d97e3b91b3e90b4573ea6fe60de6811972c"},
+    {file = "reportlab-3.5.59-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:9fabd5fbd24f5971085ffe53150d663f158f7d3050b25c95736e29ebf676d454"},
+    {file = "reportlab-3.5.59-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:b4ba4c30af7044ee987e61c88a5ffb76031ca0c53666bc85d823b7de55ddbc75"},
+    {file = "reportlab-3.5.59-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:a315edef5c5610b0c75790142f49487e89ea34397fc247ae8aa890fe6d6dd057"},
+    {file = "reportlab-3.5.59-cp38-cp38-win32.whl", hash = "sha256:5214a289cf01ebbd65e49bae83709671dd9edb601891cf0ae8abf85f3c0b392f"},
+    {file = "reportlab-3.5.59-cp38-cp38-win_amd64.whl", hash = "sha256:009fa61710647cdc62eb373345248d8ebb93583a058990f7c4f9be46d90aa5b1"},
+    {file = "reportlab-3.5.59-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:09fb11ab1500e679fc1b01199d2fed24435499856e75043a9ac0d31dd48fd881"},
+    {file = "reportlab-3.5.59-cp39-cp39-manylinux1_i686.whl", hash = "sha256:18eec161411026dde49767bee4e5e8eeb8014879554811a62581dc7433628d5b"},
+    {file = "reportlab-3.5.59-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:a1d3f7022a920d4a5e165d264581f1862e1c1b877ceeabb96fe98cec98125ae5"},
+    {file = "reportlab-3.5.59-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:1b85c20e89c22ae902ca973df2afdd2d64d27dc4ffd2b29ebad8c805a213756b"},
+    {file = "reportlab-3.5.59-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:de0c675fc2998a7eaa929c356ba49c84f53a892e9ab25e8ee7d8ebbbdcb2ac16"},
+    {file = "reportlab-3.5.59-cp39-cp39-win32.whl", hash = "sha256:3b0026c1129147befd4e5a8cf25da8dea1096fce371e7b2412e36d7254019c06"},
+    {file = "reportlab-3.5.59-cp39-cp39-win_amd64.whl", hash = "sha256:6191961533d49c9d860964d42bada4d7ac3bb28502d984feb8034093f2012fa8"},
+    {file = "reportlab-3.5.59.tar.gz", hash = "sha256:a755cca2dcf023130b03bb671670301a992157d5c3151d838c0b68ef89894536"},
+]
+rmcl = [
+    {file = "rmcl-0.3.1-py3-none-any.whl", hash = "sha256:e4ebcc3e6ce7e9efb1dec4a2d0a44c463ef3854d44e1f8919c65a2b3f9312ec7"},
+    {file = "rmcl-0.3.1.tar.gz", hash = "sha256:5b5316adf53cca9e56273cad220cb7374cd56e7bac962c943868b05fc090e98c"},
+]
+rmfuse = []
+rmrl = [
+    {file = "rmrl-0.1.2-py3-none-any.whl", hash = "sha256:173231c7122a11201232ed8fe74e4a9a65192b87886ef8a98ae912aa9b875c26"},
+    {file = "rmrl-0.1.2.tar.gz", hash = "sha256:8c8e757af5ca3eb7475f56803f7f37256fe4c5cad3a9ea5ad7534b2ebd172447"},
+]
+sniffio = [
+    {file = "sniffio-1.2.0-py3-none-any.whl", hash = "sha256:471b71698eac1c2112a40ce2752bb2f4a4814c22a54a3eed3676bc0f5ca9f663"},
+    {file = "sniffio-1.2.0.tar.gz", hash = "sha256:c4666eecec1d3f50960c6bdf61ab7bc350648da6c126e3cf6898d8cd4ddcd3de"},
+]
+sortedcontainers = [
+    {file = "sortedcontainers-2.3.0-py2.py3-none-any.whl", hash = "sha256:37257a32add0a3ee490bb170b599e93095eed89a55da91fa9f48753ea12fd73f"},
+    {file = "sortedcontainers-2.3.0.tar.gz", hash = "sha256:59cc937650cf60d677c16775597c89a960658a09cf7c1a668f86e1e4464b10a1"},
+]
+svglib = [
+    {file = "svglib-1.0.1.tar.gz", hash = "sha256:ff01593e8c07ea462d3742e1f4141bfa261cbd4400ceb25dfb8fec3508ad0e50"},
+]
+tinycss2 = [
+    {file = "tinycss2-1.1.0-py3-none-any.whl", hash = "sha256:0353b5234bcaee7b1ac7ca3dea7e02cd338a9f8dcbb8f2dcd32a5795ec1e5f9a"},
+    {file = "tinycss2-1.1.0.tar.gz", hash = "sha256:fbdcac3044d60eb85fdb2aa840ece43cf7dbe798e373e6ee0be545d4d134e18a"},
+]
+trio = [
+    {file = "trio-0.18.0-py3-none-any.whl", hash = "sha256:a42af0634ba729cbfe8578be058750c6471dac19fbc7167ec6a3ca3f966fb424"},
+    {file = "trio-0.18.0.tar.gz", hash = "sha256:87a66ae61f27fe500c9024926a9ba482c07e1e0f56380b70a264d19c435ba076"},
+]
+webencodings = [
+    {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"},
+    {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"},
+]
+xdg = [
+    {file = "xdg-5.0.1-py3-none-any.whl", hash = "sha256:9ddd6649bee9148f952305603a08474e3ef37c909eb19dfcb9737d54ebcc407e"},
+    {file = "xdg-5.0.1.tar.gz", hash = "sha256:97a27058caa61b4ce04e05471643caa6bc8c563d2638f92c0516ac50208146d8"},
+]
diff --git a/pkgs/tools/filesystems/rmfuse/pyproject.toml b/pkgs/tools/filesystems/rmfuse/pyproject.toml
new file mode 100644
index 0000000000000..1163e308e7044
--- /dev/null
+++ b/pkgs/tools/filesystems/rmfuse/pyproject.toml
@@ -0,0 +1,15 @@
+[tool.poetry]
+name = "rmfuse-env"
+version = "0.1.0"
+description = ""
+authors = []
+
+[tool.poetry.dependencies]
+python = "^3.8"
+rmfuse = {git = "https://github.com/rschroll/rmfuse.git"}
+
+[tool.poetry.dev-dependencies]
+
+[build-system]
+requires = ["poetry-core>=1.0.0"]
+build-backend = "poetry.core.masonry.api"
diff --git a/pkgs/tools/filesystems/rmfuse/update b/pkgs/tools/filesystems/rmfuse/update
new file mode 100644
index 0000000000000..77cfe9ff86d9c
--- /dev/null
+++ b/pkgs/tools/filesystems/rmfuse/update
@@ -0,0 +1,5 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p poetry poetry2nix.cli
+set -eu
+poetry lock
+poetry2nix lock
diff --git a/pkgs/tools/filesystems/rmount/default.nix b/pkgs/tools/filesystems/rmount/default.nix
index 96d950e74ff18..1d8ced17aae05 100644
--- a/pkgs/tools/filesystems/rmount/default.nix
+++ b/pkgs/tools/filesystems/rmount/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "0j1ayncw1nnmgna7vyx44vwinh4ah1b0l5y8agc7i4s8clbvy3h0";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     install -D ${src}/rmount.man  $out/share/man/man1/rmount.1
diff --git a/pkgs/tools/filesystems/s3fs/default.nix b/pkgs/tools/filesystems/s3fs/default.nix
index 4ff36e3b1d87d..e80e65303719b 100644
--- a/pkgs/tools/filesystems/s3fs/default.nix
+++ b/pkgs/tools/filesystems/s3fs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "s3fs-fuse";
-  version = "1.88";
+  version = "1.89";
 
   src = fetchFromGitHub {
     owner  = "s3fs-fuse";
     repo   = "s3fs-fuse";
     rev    = "v${version}";
-    sha256 = "sha256-LxqTKu9F8FqHnjp1a9E/+WbH1Ol6if/OpY7LGsVE9Bw=";
+    sha256 = "sha256-Agb0tq7B98Ioe0G/XEZCYcFQKnMuYXX9x0yg4Gvu3/k=";
   };
 
   buildInputs = [ curl openssl libxml2 ]
diff --git a/pkgs/tools/filesystems/smbnetfs/default.nix b/pkgs/tools/filesystems/smbnetfs/default.nix
index 05d7189fbaac8..98f8861699f47 100644
--- a/pkgs/tools/filesystems/smbnetfs/default.nix
+++ b/pkgs/tools/filesystems/smbnetfs/default.nix
@@ -11,10 +11,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config autoconf ];
   buildInputs = [ fuse samba glib attr libsecret ];
 
-  postPatch = ''
-    substituteInPlace src/function.c --replace "attr/xattr.h" "sys/xattr.h"
-  '';
-
   meta = with lib; {
     description = "A FUSE FS for mounting Samba shares";
     maintainers = with maintainers; [ raskin ];
diff --git a/pkgs/tools/filesystems/squashfs-tools-ng/default.nix b/pkgs/tools/filesystems/squashfs-tools-ng/default.nix
index 593004d552c19..322f57fdca926 100644
--- a/pkgs/tools/filesystems/squashfs-tools-ng/default.nix
+++ b/pkgs/tools/filesystems/squashfs-tools-ng/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "squashfs-tools-ng";
-  version = "1.0.1";
+  version = "1.0.4";
 
   src = fetchurl {
     url = "https://infraroot.at/pub/squashfs/squashfs-tools-ng-${version}.tar.xz";
-    sha256 = "120x2hlbhpm90bzxz70z764552ffrjpidmp1y6gafx70zp0hrks4";
+    sha256 = "04zvpws1nk3r2kr1k5in9di9fhn4zzciyndgnxnijmhiqpyrx072";
   };
 
   nativeBuildInputs = [ doxygen graphviz pkg-config perl ];
diff --git a/pkgs/tools/filesystems/squashfs/0001-Mksquashfs-add-no-hardlinks-option.patch b/pkgs/tools/filesystems/squashfs/0001-Mksquashfs-add-no-hardlinks-option.patch
new file mode 100644
index 0000000000000..0d6804a647b21
--- /dev/null
+++ b/pkgs/tools/filesystems/squashfs/0001-Mksquashfs-add-no-hardlinks-option.patch
@@ -0,0 +1,76 @@
+From d925c9a11ee2e88ac8aac03f51892746f2bcf8cd Mon Sep 17 00:00:00 2001
+From: Phillip Lougher <phillip@squashfs.org.uk>
+Date: Thu, 25 Feb 2021 23:12:10 +0000
+Subject: [PATCH] Mksquashfs: add -no-hardlinks option
+
+Normally Mksquashfs will detect hardlinks (multiple files with the
+same inode) and hardlink them in the Squashfs image.
+
+But often hardlinks are used in the original filesystem
+to save space, when files are discovered to be duplicate.
+In this special case the only reason the files are
+hardlinked is to save space, and where the filesystem
+doesn't handle duplicate files (different inode, same
+data).
+
+Squashfs does handle duplicate files, and so add
+an option to ignore hardlinks and instead
+store them as duplicates.
+
+Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
+---
+ squashfs-tools/mksquashfs.c | 16 +++++++++++-----
+ 1 file changed, 11 insertions(+), 5 deletions(-)
+
+diff --git a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c
+index a45b77f..d4dc359 100644
+--- a/squashfs-tools/mksquashfs.c
++++ b/squashfs-tools/mksquashfs.c
+@@ -312,6 +312,9 @@ struct dir_info *root_dir;
+ FILE *log_fd;
+ int logging=FALSE;
+ 
++/* Should Mksquashfs detect hardlinked files? */
++int no_hardlinks = FALSE;
++
+ static char *read_from_disk(long long start, unsigned int avail_bytes);
+ void add_old_root_entry(char *name, squashfs_inode inode, int inode_number,
+ 	int type);
+@@ -3093,11 +3096,11 @@ struct inode_info *lookup_inode3(struct stat *buf, int pseudo, int id,
+ 
+ 	/*
+ 	 * Look-up inode in hash table, if it already exists we have a
+-	 * hard-link, so increment the nlink count and return it.
+-	 * Don't do the look-up for directories because we don't hard-link
+-	 * directories.
++	 * hardlink, so increment the nlink count and return it.
++	 * Don't do the look-up for directories because Unix/Linux doesn't
++	 * allow hard-links to directories.
+ 	 */
+-	if ((buf->st_mode & S_IFMT) != S_IFDIR) {
++	if ((buf->st_mode & S_IFMT) != S_IFDIR && !no_hardlinks) {
+ 		for(inode = inode_info[ino_hash]; inode; inode = inode->next) {
+ 			if(memcmp(buf, &inode->buf, sizeof(struct stat)) == 0) {
+ 				inode->nlink ++;
+@@ -5447,7 +5450,9 @@ int main(int argc, char *argv[])
+ 		comp = lookup_compressor(COMP_DEFAULT);
+ 
+ 	for(i = source + 2; i < argc; i++) {
+-		if(strcmp(argv[i], "-mkfs-time") == 0 ||
++		if(strcmp(argv[i], "-no-hardlinks") == 0)
++			no_hardlinks = TRUE;
++		else if(strcmp(argv[i], "-mkfs-time") == 0 ||
+ 				strcmp(argv[i], "-fstime") == 0) {
+ 			if((++i == argc) || !parse_num_unsigned(argv[i], &mkfs_time)) {
+ 				ERROR("%s: %s missing or invalid time value\n", argv[0], argv[i - 1]);
+@@ -5893,6 +5898,7 @@ printOptions:
+ 				"files larger than block size\n");
+ 			ERROR("-no-duplicates\t\tdo not perform duplicate "
+ 				"checking\n");
++			ERROR("-no-hardlinks\t\tdo not hardlink files, instead store duplicates\n");
+ 			ERROR("-all-root\t\tmake all files owned by root\n");
+ 			ERROR("-root-mode <mode>\tset root directory permissions to octal <mode>\n");
+ 			ERROR("-force-uid <uid>\tset all file uids to <uid>\n");
+-- 
+2.30.0
+
diff --git a/pkgs/tools/filesystems/squashfs/default.nix b/pkgs/tools/filesystems/squashfs/default.nix
index c833cfe10adaf..7e55bcf6e0e43 100644
--- a/pkgs/tools/filesystems/squashfs/default.nix
+++ b/pkgs/tools/filesystems/squashfs/default.nix
@@ -19,6 +19,10 @@ stdenv.mkDerivation {
     # This patch adds an option to pad filesystems (increasing size) in
     # exchange for better chunking / binary diff calculation.
     ./4k-align.patch
+    # Add -no-hardlinks option. This is a rebased version of
+    # c37bb4da4a5fa8c1cf114237ba364692dd522262, can be removed
+    # when upgrading to the next version after 4.4
+    ./0001-Mksquashfs-add-no-hardlinks-option.patch
   ] ++ lib.optional stdenv.isDarwin ./darwin.patch;
 
   buildInputs = [ zlib xz zstd lz4 ];
diff --git a/pkgs/tools/filesystems/xtreemfs/default.nix b/pkgs/tools/filesystems/xtreemfs/default.nix
index d8d4145007938..9c49c4677d2a5 100644
--- a/pkgs/tools/filesystems/xtreemfs/default.nix
+++ b/pkgs/tools/filesystems/xtreemfs/default.nix
@@ -13,7 +13,8 @@ stdenv.mkDerivation {
   pname = "XtreemFS";
   version = "1.5.1.81";
 
-  buildInputs = [ which attr makeWrapper python ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ which attr python ];
 
   patches = [
     (fetchpatch {
diff --git a/pkgs/tools/filesystems/zerofree/default.nix b/pkgs/tools/filesystems/zerofree/default.nix
index 2489357f73f94..1447ca36a1364 100644
--- a/pkgs/tools/filesystems/zerofree/default.nix
+++ b/pkgs/tools/filesystems/zerofree/default.nix
@@ -1,6 +1,11 @@
-{ lib, stdenv, fetchurl, e2fsprogs }:
+{ lib, stdenv, fetchurl, installShellFiles, e2fsprogs }:
 
-stdenv.mkDerivation rec {
+let
+  manpage = fetchurl {
+    url = "https://manpages.ubuntu.com/manpages.gz/xenial/man8/zerofree.8.gz";
+    sha256 = "0y132xmjl02vw41k794psa4nmjpdyky9f6sf0h4f7rvf83z3zy4k";
+  };
+in stdenv.mkDerivation rec {
   pname = "zerofree";
   version = "1.1.1";
 
@@ -9,12 +14,14 @@ stdenv.mkDerivation rec {
     sha256 = "0rrqfa5z103ws89vi8kfvbks1cfs74ix6n1wb6vs582vnmhwhswm";
   };
 
-  buildInputs = [ e2fsprogs ];
+  buildInputs = [ e2fsprogs installShellFiles ];
 
   installPhase = ''
-    mkdir -p $out/bin
+    mkdir -p $out/bin $out/share/zerofree
     cp zerofree $out/bin
-'';
+    cp COPYING $out/share/zerofree/COPYING
+    installManPage ${manpage}
+  '';
 
   meta = {
     homepage = "https://frippery.org/uml/";
diff --git a/pkgs/tools/games/ajour/default.nix b/pkgs/tools/games/ajour/default.nix
index 82bb6c54aa7af..a7893ac754f2a 100644
--- a/pkgs/tools/games/ajour/default.nix
+++ b/pkgs/tools/games/ajour/default.nix
@@ -34,16 +34,16 @@ let
 
 in rustPlatform.buildRustPackage rec {
   pname = "Ajour";
-  version = "0.6.3";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "casperstorm";
     repo = "ajour";
     rev = version;
-    sha256 = "080759j18pws5c8bmqn1bwvmlaq8k01kzj7bnwncwinl5j35mi2j";
+    sha256 = "sha256-ZN62RIQEokailZRBQUq8nX4Eq/b9GGPmxln8j5KGW+8=";
   };
 
-  cargoSha256 = "1614lln5zh2j2np68pllwcqmywvzzmkj71b158fw2d98ijbi9lmw";
+  cargoSha256 = "sha256-tcC8GfEeHaM7XcAXw56/wdygfGPj4vOgn5sZd0KuGkA=";
 
   nativeBuildInputs = [
     autoPatchelfHook
diff --git a/pkgs/tools/graphics/diagrams-builder/default.nix b/pkgs/tools/graphics/diagrams-builder/default.nix
index 3422b9a53bdc9..9337d5cca23bb 100644
--- a/pkgs/tools/graphics/diagrams-builder/default.nix
+++ b/pkgs/tools/graphics/diagrams-builder/default.nix
@@ -33,7 +33,7 @@ in
 stdenv.mkDerivation {
   name = "diagrams-builder";
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   buildCommand = with lib;
     concatStrings (intersperse "\n" (map exeWrapper backends));
diff --git a/pkgs/tools/graphics/dmtx-utils/default.nix b/pkgs/tools/graphics/dmtx-utils/default.nix
index a22f0bc60d47a..4ab54593ed8d8 100644
--- a/pkgs/tools/graphics/dmtx-utils/default.nix
+++ b/pkgs/tools/graphics/dmtx-utils/default.nix
@@ -1,30 +1,33 @@
-{lib, stdenv, fetchurl, libdmtx, pkg-config, imagemagick}:
-let
-  s = # Generated upstream information
-  rec {
-    baseName="dmtx-utils";
-    version="0.7.4";
-    name="${baseName}-${version}";
-    hash="1di8ymlziy9856abd6rb72z0zqzmrff4r3vql0q9r5sk5ax4s417";
-    url="mirror://sourceforge/project/libdmtx/libdmtx/0.7.4/dmtx-utils-0.7.4.tar.gz";
-    sha256="1di8ymlziy9856abd6rb72z0zqzmrff4r3vql0q9r5sk5ax4s417";
-  };
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [
-    libdmtx imagemagick
-  ];
-in
-stdenv.mkDerivation {
-  inherit (s) name version;
-  inherit nativeBuildInputs buildInputs;
-  src = fetchurl {
-    inherit (s) url sha256;
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+, libdmtx
+, imagemagick
+}:
+
+stdenv.mkDerivation rec {
+  pname = "dmtx-utils";
+  version = "0.7.6";
+
+  src = fetchFromGitHub {
+    owner = "dmtx";
+    repo = "dmtx-utils";
+    rev = "v${version}";
+    sha256 = "06m3qncqdlcnmw83n95yrx2alaq6bld320ax26z4ndnla41yk0p4";
   };
+
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+
+  buildInputs = [ libdmtx imagemagick ];
+
   meta = {
-    inherit (s) version;
     description = "Data matrix command-line utilities";
-    license = lib.licenses.lgpl2 ;
-    maintainers = [lib.maintainers.raskin];
+    homepage = "https://github.com/dmtx/dmtx-utils";
+    changelog = "https://github.com/dmtx/dmtx-utils/blob/v${version}/ChangeLog";
+    license = lib.licenses.lgpl2;
+    maintainers = [ lib.maintainers.raskin ];
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/graphics/dmtx-utils/default.upstream b/pkgs/tools/graphics/dmtx-utils/default.upstream
deleted file mode 100644
index 2bb7fe31bf7c9..0000000000000
--- a/pkgs/tools/graphics/dmtx-utils/default.upstream
+++ /dev/null
@@ -1,4 +0,0 @@
-url https://sourceforge.net/projects/libdmtx/files/libdmtx/
-SF_version_dir
-version_link 'dmtx-utils-.*[.]tar[.][a-z0-9]+/download$'
-SF_redirect
diff --git a/pkgs/tools/graphics/fgallery/default.nix b/pkgs/tools/graphics/fgallery/default.nix
index 40308ffa1a9a9..865e0f141ff0d 100644
--- a/pkgs/tools/graphics/fgallery/default.nix
+++ b/pkgs/tools/graphics/fgallery/default.nix
@@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
     sha256 = "18wlvqbxcng8pawimbc8f2422s8fnk840hfr6946lzsxr0ijakvf";
   };
 
-  buildInputs = [ unzip makeWrapper ] ++ (with perlPackages; [ perl ImageExifTool CpanelJSONXS ]);
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ unzip ] ++ (with perlPackages; [ perl ImageExifTool CpanelJSONXS ]);
 
   installPhase = ''
     mkdir -p "$out/bin"
diff --git a/pkgs/tools/graphics/gifski/default.nix b/pkgs/tools/graphics/gifski/default.nix
index 526300f2dd837..7449eedb3a7f1 100644
--- a/pkgs/tools/graphics/gifski/default.nix
+++ b/pkgs/tools/graphics/gifski/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gifski";
-  version = "1.3.1";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "ImageOptim";
     repo = "gifski";
     rev = version;
-    sha256 = "sha256-sB8W5n3FvRAB9ygFg63NecSZgUw8FGk4pzviIbRF2vk=";
+    sha256 = "sha256-Cm/w0bwDMu5REsQpkwMBgnROxpI+nMQwC16dY/VdOFU=";
   };
 
-  cargoSha256 = "sha256-0cFk1GnEJxMfY9GvQTdI5tkgtxGkH3ZQFTloo4/C+sY=";
+  cargoSha256 = "sha256-fy8apB1UbpBAnp8mFnL7rNj/GSSUkNz/trqsVrAfFfI=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/tools/graphics/gmic/default.nix b/pkgs/tools/graphics/gmic/default.nix
index 07d4d1dd303a3..92956aa53e340 100644
--- a/pkgs/tools/graphics/gmic/default.nix
+++ b/pkgs/tools/graphics/gmic/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gmic";
-  version = "2.9.4";
+  version = "2.9.5";
 
   outputs = [ "out" "lib" "dev" "man" ];
 
   src = fetchurl {
     url = "https://gmic.eu/files/source/gmic_${version}.tar.gz";
-    sha256 = "1ixcdq16gmgh1brrb6mgdibypq9lvh8gnz86b5mmyxlnyi4fw2vr";
+    sha256 = "sha256-KV/Ti6mPW+FASjug6q8Qfgra8L/TIyl/Y6JwANzQreE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/graphics/icoutils/default.nix b/pkgs/tools/graphics/icoutils/default.nix
index 704c3a2db526c..9fe41d91db21c 100644
--- a/pkgs/tools/graphics/icoutils/default.nix
+++ b/pkgs/tools/graphics/icoutils/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "1q66cksms4l62y0wizb8vfavhmf7kyfgcfkynil3n99s0hny1aqp";
   };
 
-  buildInputs = [ makeWrapper libpng perl ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ libpng perl ];
   propagatedBuildInputs = [ perlPackages.LWP ];
 
   patchPhase = ''
diff --git a/pkgs/tools/graphics/ldgallery/default.nix b/pkgs/tools/graphics/ldgallery/default.nix
index 77acafcb81252..6291dc9d64230 100644
--- a/pkgs/tools/graphics/ldgallery/default.nix
+++ b/pkgs/tools/graphics/ldgallery/default.nix
@@ -1,4 +1,4 @@
-{ lib, pkgs, makeWrapper, haskellPackages, haskell, pandoc, imagemagick7 }:
+{ lib, pkgs, makeWrapper, haskellPackages, haskell, pandoc, imagemagick }:
 
 with lib;
 with haskell.lib;
@@ -29,7 +29,7 @@ justStaticExecutables (overrideCabal ldgallery-compiler (oldAttrs: {
 
     # wrapper for runtime dependencies registration
     wrapProgram "$out/bin/ldgallery" \
-      --prefix PATH : ${lib.makeBinPath [ imagemagick7 ]}
+      --prefix PATH : ${lib.makeBinPath [ imagemagick ]}
 
     # bash completion
     mkdir -p "$out/share/bash-completion/completions"
diff --git a/pkgs/tools/graphics/ldgallery/viewer/generate.sh b/pkgs/tools/graphics/ldgallery/viewer/generate.sh
index 0874051b6765f..f115fb11d9b93 100755
--- a/pkgs/tools/graphics/ldgallery/viewer/generate.sh
+++ b/pkgs/tools/graphics/ldgallery/viewer/generate.sh
@@ -24,11 +24,7 @@ node2nix \
   --input ./package.json \
   --lock ./package-lock.json \
   --output node-packages.nix \
-  --composition node-composition.nix
+  --composition node-composition.nix \
+  --no-copy-node-env
 
 rm package.json package-lock.json
-
-# Temporary quickfix to accomodate for the util-linux package rename.
-# See https://github.com/svanderburg/node2nix/issues/213
-git restore :/pkgs/development/node-packages/node-env.nix
-sed -i 's/utillinux/util-linux/g' node-composition.nix
diff --git a/pkgs/tools/graphics/ldgallery/viewer/node-composition.nix b/pkgs/tools/graphics/ldgallery/viewer/node-composition.nix
index 4b10352ab0dc6..aaf54a05c8843 100644
--- a/pkgs/tools/graphics/ldgallery/viewer/node-composition.nix
+++ b/pkgs/tools/graphics/ldgallery/viewer/node-composition.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
@@ -6,12 +6,12 @@
 
 let
   nodeEnv = import ../../../../development/node-packages/node-env.nix {
-    inherit (pkgs) lib stdenv python2 util-linux runCommand writeTextFile;
-    inherit nodejs;
+    inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
+    inherit pkgs nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
 import ./node-packages.nix {
-  inherit (pkgs) fetchurl fetchgit;
+  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
   inherit nodeEnv;
 }
diff --git a/pkgs/tools/graphics/ldgallery/viewer/node-packages.nix b/pkgs/tools/graphics/ldgallery/viewer/node-packages.nix
index 9946ce0e63c6f..ce00bdfd09712 100644
--- a/pkgs/tools/graphics/ldgallery/viewer/node-packages.nix
+++ b/pkgs/tools/graphics/ldgallery/viewer/node-packages.nix
@@ -1,6 +1,6 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
 let
   sources = {
@@ -13252,7 +13252,7 @@ let
     ];
     buildInputs = globalBuildInputs;
     meta = {
-      homepage = https://ldgallery.pacien.org/;
+      homepage = "https://ldgallery.pacien.org/";
       license = "AGPL-3";
     };
     production = false;
@@ -13266,4 +13266,16 @@ in
   tarball = nodeEnv.buildNodeSourceDist args;
   package = nodeEnv.buildNodePackage args;
   shell = nodeEnv.buildNodeShell args;
+  nodeDependencies = nodeEnv.buildNodeDependencies (lib.overrideExisting args {
+    src = stdenv.mkDerivation {
+      name = args.name + "-package-json";
+      src = nix-gitignore.gitignoreSourcePure [
+        "*"
+        "!package.json"
+        "!package-lock.json"
+      ] args.src;
+      dontBuild = true;
+      installPhase = "mkdir -p $out; cp -r ./* $out;";
+    };
+  });
 }
diff --git a/pkgs/tools/graphics/lprof/default.nix b/pkgs/tools/graphics/lprof/default.nix
deleted file mode 100644
index a1c81f16f2bd3..0000000000000
--- a/pkgs/tools/graphics/lprof/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib, stdenv, fetchurl, sconsPackages, qt3, lcms1, libtiff, vigra }:
-
-/*  how to calibrate your monitor:
-    Eg see https://wiki.archlinux.org/index.php/ICC_Profiles#Loading_ICC_Profiles
-*/
-stdenv.mkDerivation {
-  name = "lprof-1.11.4.1";
-  nativeBuildInputs = [ sconsPackages.scons_3_0_1 ];
-  buildInputs = [ qt3 lcms1 libtiff vigra ];
-
-  hardeningDisable = [ "format" ];
-
-  preConfigure = ''
-    export QTDIR=${qt3}
-    export qt_directory=${qt3}
-  '';
-
-  src = fetchurl {
-    url = "mirror://sourceforge/lprof/lprof/lprof-1.11.4/lprof-1.11.4.1.tar.gz";
-    sha256 = "0q8x24fm5yyvm151xrl3l03p7hvvciqnkbviprfnvlr0lyg9wsrn";
-  };
-
-  sconsFlags = "SYSLIBS=1";
-  preBuild = ''
-    export CXX=g++
-  '';
-  prefixKey = "PREFIX=";
-
-  patches = [ ./lcms-1.17.patch  ./keep-environment.patch ];
-
-  meta = {
-    description = "Little CMS ICC profile construction set";
-    homepage = "https://sourceforge.net/projects/lprof";
-    license = lib.licenses.gpl2;
-    platforms = lib.platforms.linux;
-    broken = true; # Broken since 2020-07-28 (https://hydra.nixos.org/build/135234622)
-  };
-}
diff --git a/pkgs/tools/graphics/lprof/keep-environment.patch b/pkgs/tools/graphics/lprof/keep-environment.patch
deleted file mode 100644
index 7d0beaed587a8..0000000000000
--- a/pkgs/tools/graphics/lprof/keep-environment.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- lprof-1.11.4.1.org/SConstruct	2006-06-06 02:11:32.000000000 +0100
-+++ lprof-1.11.4.1/SConstruct	2017-08-29 12:56:13.425654683 +0100
-@@ -22,12 +22,7 @@
- # opts.Add(BoolOption('qt-mt-lib', 'Flag used to set QT library to either qt-mt or qt. Value of 1 = qt-mt, 0 = qt.', 'yes'))
- 
- # setup base environment 
--env = Environment(
--    ENV = {
--      'PATH' : os.environ[ 'PATH' ],
--      'HOME' : os.environ[ 'HOME' ], # required for distcc
--      'LDFLAGS' : ''
--    }, options = opts)
-+env = Environment(ENV = os.environ, options = opts)
- 
- opts.Update(env)
- opts.Save('lprof.conf', env) # Save, so user doesn't have to 
diff --git a/pkgs/tools/graphics/lprof/lcms-1.17.patch b/pkgs/tools/graphics/lprof/lcms-1.17.patch
deleted file mode 100644
index a88471e143fd8..0000000000000
--- a/pkgs/tools/graphics/lprof/lcms-1.17.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/src/liblprof/lcmsprf.h	2007-08-31 15:36:20.000000000 -0700
-+++ b/src/liblprof/lcmsprf.h	2007-08-31 15:37:39.000000000 -0700
-@@ -67,6 +67,9 @@
- #define mmax(a,b) ((a) > (b)?(a):(b))
- #endif
- 
-+#if LCMS_VERSION > 116
-+typedef int BOOL;
-+#endif
- 
- /* Misc operations ------------------------------------------------------------------------ */
- 
-
diff --git a/pkgs/tools/graphics/luxcorerender/default.nix b/pkgs/tools/graphics/luxcorerender/default.nix
index c4b8622f479b6..75e69a5d4996c 100644
--- a/pkgs/tools/graphics/luxcorerender/default.nix
+++ b/pkgs/tools/graphics/luxcorerender/default.nix
@@ -1,64 +1,58 @@
-{ lib, stdenv, fetchFromGitHub, cmake, boost165, pkg-config, python36
-, tbb, openimageio, libjpeg, libpng, zlib, libtiff, ilmbase
-, freetype, openexr, libXdmcp, libxkbcommon, epoxy, at-spi2-core
-, dbus, doxygen, qt5, c-blosc, libGLU, gnome3, dconf, gtk3, pcre
-, bison, flex, libpthreadstubs, libX11
-, embree2, makeWrapper, gsettings-desktop-schemas, glib
-, withOpenCL ? true , opencl-headers, ocl-icd, opencl-clhpp, rocm-opencl-runtime
-}:
+{ lib, config, stdenv, fetchFromGitHub, symlinkJoin, wrapGAppsHook, cmake, boost172
+, pkg-config, flex, bison, libpng, libtiff, zlib, python3, embree, openexr
+, openimagedenoise, openimageio, tbb, c-blosc, gtk3, pcre, doxygen
+# OpenCL Support
+, withOpenCL ? true, ocl-icd
+# Cuda Support
+, withCuda ? config.cudaSupport or false, cudatoolkit }:
 
 let
-      python = python36;
-
-      boost_static = boost165.override {
-      inherit python;
-      enableStatic = true;
-      enablePython = true;
-    };
+  boostWithPython = boost172.override {
+    enablePython = true;
+    enableNumpy = true;
+    python = python3;
+  };
 
-    version = "2.0";
-    sha256 = "15nn39ybsfjf3cw3xgkbarvxn4a9ymfd579ankm7yjxkw5gcif38";
+  # Requires a version number like "<MAJOR><MINOR>"
+  pythonVersion = (lib.versions.major python3.version)
+    + (lib.versions.minor python3.version);
 
-in stdenv.mkDerivation {
+in stdenv.mkDerivation rec {
   pname = "luxcorerender";
-  inherit version;
+  version = "2.4";
 
   src = fetchFromGitHub {
     owner = "LuxCoreRender";
     repo = "LuxCore";
     rev = "luxcorerender_v${version}";
-    inherit sha256;
+    sha256 = "0xvivw79719fa1q762b76nyvzawfd3hmp8y5j04bax8a7f8mfa9k";
   };
 
-  nativeBuildInputs = [ cmake flex bison doxygen makeWrapper pkg-config ];
+  nativeBuildInputs = [ pkg-config cmake flex bison doxygen wrapGAppsHook ];
+
   buildInputs = [
-    embree2 zlib boost_static libjpeg
-    libtiff libpng ilmbase freetype openexr openimageio
-    tbb qt5.full c-blosc libGLU pcre
-    libX11 libpthreadstubs python libXdmcp libxkbcommon
-    epoxy at-spi2-core dbus
-    # needed for GSETTINGS_SCHEMAS_PATH
-    gsettings-desktop-schemas glib gtk3
-    # needed for XDG_ICON_DIRS
-    gnome3.adwaita-icon-theme
-    (lib.getLib dconf)
-  ] ++ lib.optionals withOpenCL [ opencl-headers ocl-icd opencl-clhpp rocm-opencl-runtime ];
+    libpng
+    libtiff
+    zlib
+    boostWithPython.dev
+    python3
+    embree
+    openexr
+    openimagedenoise
+    tbb
+    c-blosc
+    gtk3
+    pcre
+    openimageio.dev
+    openimageio.out
+  ] ++ lib.optionals withOpenCL [ ocl-icd ]
+    ++ lib.optionals withCuda [ cudatoolkit ];
 
-  cmakeFlags = [
-    "-DOpenEXR_Iex_INCLUDE_DIR=${openexr.dev}/include/OpenEXR"
-    "-DOpenEXR_IlmThread_INCLUDE_DIR=${ilmbase.dev}/include/OpenEXR"
-    "-DOpenEXR_Imath_INCLUDE_DIR=${openexr.dev}/include/OpenEXR"
-    "-DOpenEXR_half_INCLUDE_DIR=${ilmbase.dev}/include"
-    "-DPYTHON_LIBRARY=${python}/lib/libpython3.so"
-    "-DPYTHON_INCLUDE_DIR=${python}/include/python${python.pythonVersion}"
-    "-DEMBREE_INCLUDE_PATH=${embree2}/include"
-    "-DEMBREE_LIBRARY=${embree2}/lib/libembree.so"
-    "-DBoost_PYTHON_LIBRARY_RELEASE=${boost_static}/lib/libboost_python3-mt.so"
-  ] ++ lib.optional withOpenCL
-    "-DOPENCL_INCLUDE_DIR=${opencl-headers}/include";
+  cmakeFlags = [ "-DPYTHON_V=${pythonVersion}" ]
+    ++ lib.optional (!withOpenCL) "-DLUXRAYS_DISABLE_OPENCL=1"
+    ++ lib.optional (!withCuda) "-DLUXRAYS_DISABLE_CUDA=1";
 
   preConfigure = ''
-    NIX_CFLAGS_COMPILE+=" -isystem ${python}/include/python${python.pythonVersion}"
     NIX_LDFLAGS+=" -lpython3"
   '';
 
@@ -69,13 +63,6 @@ in stdenv.mkDerivation {
     cp -va lib/* $out/lib
   '';
 
-  preFixup = ''
-    wrapProgram "$out/bin/luxcoreui" \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
-      --suffix XDG_DATA_DIRS : '${gnome3.adwaita-icon-theme}/share' \
-      --prefix GIO_EXTRA_MODULES : "${lib.getLib dconf}/lib/gio/modules"
-  '';
-
   meta = with lib; {
     description = "Open source, physically based, unbiased rendering engine";
     homepage = "https://luxcorerender.org/";
@@ -85,7 +72,6 @@ in stdenv.mkDerivation {
   };
 }
 
-
 # TODO (might not be necessary):
 #
 # luxcoreui still gives warnings like: "failed to commit changes to
diff --git a/pkgs/tools/graphics/pdfread/default.nix b/pkgs/tools/graphics/pdfread/default.nix
index abe560c81feb5..6201b2d5888e7 100644
--- a/pkgs/tools/graphics/pdfread/default.nix
+++ b/pkgs/tools/graphics/pdfread/default.nix
@@ -13,7 +13,8 @@ stdenv.mkDerivation {
     sha256 = "0mzxpnk97f0ww5ds7h4wsval3g4lnrhv6rhspjs7cy4i41gmk8an";
   };
 
-  buildInputs = [ unzip python makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ unzip python ];
 
   broken = true; # Not found.
 
diff --git a/pkgs/tools/graphics/pfstools/default.nix b/pkgs/tools/graphics/pfstools/default.nix
index ded9967418641..99b9e3e0e487f 100644
--- a/pkgs/tools/graphics/pfstools/default.nix
+++ b/pkgs/tools/graphics/pfstools/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, mkDerivation, fetchurl, cmake, pkg-config, darwin
-, openexr, zlib, imagemagick, libGLU, libGL, freeglut, fftwFloat
+, openexr, zlib, imagemagick6, libGLU, libGL, freeglut, fftwFloat
 , fftw, gsl, libexif, perl, opencv2, qtbase, netpbm
 }:
 
@@ -27,7 +27,7 @@ mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [
-    openexr zlib imagemagick fftwFloat
+    openexr zlib imagemagick6 fftwFloat
     fftw gsl libexif perl opencv2 qtbase netpbm
   ] ++ (if stdenv.isDarwin then (with darwin.apple_sdk.frameworks; [
     OpenGL GLUT
diff --git a/pkgs/tools/graphics/pngcheck/default.nix b/pkgs/tools/graphics/pngcheck/default.nix
index 7fba539977f9e..579dcad4ccb4c 100644
--- a/pkgs/tools/graphics/pngcheck/default.nix
+++ b/pkgs/tools/graphics/pngcheck/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "pngcheck-2.3.0";
+  name = "pngcheck-3.0.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/png-mng/${name}.tar.gz";
-    sha256 = "0pzkj1bb4kdybk6vbfq9s0wzdm5szmrgixkas3xmbpv4mhws1w3p";
+    sha256 = "sha256-DX4mLyQRb93yhHqM61yS2fXybvtC6f/2PsK7dnYTHKc=";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/tools/graphics/pngcrush/default.nix b/pkgs/tools/graphics/pngcrush/default.nix
index e4a8b705a1650..18a156ea504bd 100644
--- a/pkgs/tools/graphics/pngcrush/default.nix
+++ b/pkgs/tools/graphics/pngcrush/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0l43c59d6v9l0g07z3q3ywhb8xb3vz74llv3mna0izk9bj6aqkiv";
   };
 
-  makeFlags = [ "CC=cc" "LD=cc" ];      # gcc and/or clang compat
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "LD=${stdenv.cc.targetPrefix}cc" ];      # gcc and/or clang compat
 
   configurePhase = ''
     sed -i s,/usr,$out, Makefile
diff --git a/pkgs/tools/graphics/resvg/default.nix b/pkgs/tools/graphics/resvg/default.nix
index 71df0186068a8..8c8164a7e8ef9 100644
--- a/pkgs/tools/graphics/resvg/default.nix
+++ b/pkgs/tools/graphics/resvg/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "resvg";
-  version = "0.12.0";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = "RazrFalcon";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0iqlg0wmx9y81ncbw4ihd6pr7ddpfsvk35zmhzsq4plwzbxgp0w1";
+    sha256 = "sha256-Jo+dx4+3GpEwOoE8HH0YahBmPvT9Oy2qXMvCJ/NZhF0=";
   };
 
-  cargoSha256 = "0jgczhvm5rsv4vwd5wx6gshy6322im4c3wi79klk249czr6vlwsg";
+  cargoSha256 = "sha256-8Es9NZYsC/9PZ6ytWZTAH42U3vxZtJERPSsno1s4TEc=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/graphics/scrot/default.nix b/pkgs/tools/graphics/scrot/default.nix
index 2fd56d0737d42..aa525abacb07c 100644
--- a/pkgs/tools/graphics/scrot/default.nix
+++ b/pkgs/tools/graphics/scrot/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "scrot";
-  version = "1.4";
+  version = "1.5";
 
   src = fetchFromGitHub {
     owner = "resurrecting-open-source-projects";
     repo = pname;
     rev = version;
-    sha256 = "12xq6glg70icwsvbnfw9gm4dahlbnrc7b6adpd0mpf89h4sj2gds";
+    sha256 = "sha256-4vguodLnCj0sOBLM4oJXTfX1p8hIo3WTwIuViPtZxHQ=";
   };
 
   nativeBuildInputs = [ autoreconfHook autoconf-archive ];
diff --git a/pkgs/tools/graphics/structure-synth/default.nix b/pkgs/tools/graphics/structure-synth/default.nix
index ec2cb359a5e01..a4772cad3c49f 100644
--- a/pkgs/tools/graphics/structure-synth/default.nix
+++ b/pkgs/tools/graphics/structure-synth/default.nix
@@ -10,8 +10,8 @@ stdenv.mkDerivation {
     sha256 = "1kiammx46719az6jzrav8yrwz82nk4m72ybj0kpbnvp9wfl3swbb";
   };
 
-  buildInputs = [ qt4 unzip libGLU makeWrapper ];
-  nativeBuildInputs = [ qmake4Hook ];
+  buildInputs = [ qt4 unzip libGLU ];
+  nativeBuildInputs = [ qmake4Hook makeWrapper ];
 
   # Thanks to https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=672000#15:
   patches = [ ./gcc47.patch ];
diff --git a/pkgs/tools/graphics/unpaper/default.nix b/pkgs/tools/graphics/unpaper/default.nix
index dd6ecb473e971..20dfe15dc6c66 100644
--- a/pkgs/tools/graphics/unpaper/default.nix
+++ b/pkgs/tools/graphics/unpaper/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, libav, libxslt }:
+{ lib, stdenv, fetchurl, pkg-config, ffmpeg, libxslt }:
 
 stdenv.mkDerivation rec {
   pname = "unpaper";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ libav libxslt ];
+  buildInputs = [ ffmpeg libxslt ];
 
   meta = with lib; {
     homepage = "https://www.flameeyes.eu/projects/unpaper";
diff --git a/pkgs/tools/graphics/vips/default.nix b/pkgs/tools/graphics/vips/default.nix
index 9b29e114b8874..333c4848db205 100644
--- a/pkgs/tools/graphics/vips/default.nix
+++ b/pkgs/tools/graphics/vips/default.nix
@@ -27,7 +27,7 @@
 
 stdenv.mkDerivation rec {
   pname = "vips";
-  version = "8.10.2";
+  version = "8.10.5";
 
   outputs = [ "bin" "out" "man" "dev" ];
 
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     owner = "libvips";
     repo = "libvips";
     rev = "v${version}";
-    sha256 = "1psi39a4h0awwbyizbsk467z0djwq0rh8hvkklbsd5b92m7768sp";
+    sha256 = "sha256-h21Ep6f4/y+m0kdrCA5dcULFeOOyLtMx2etAziG6f9Y=";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
diff --git a/pkgs/tools/graphics/viu/default.nix b/pkgs/tools/graphics/viu/default.nix
index 39b12326e806a..39aa8fe06e057 100644
--- a/pkgs/tools/graphics/viu/default.nix
+++ b/pkgs/tools/graphics/viu/default.nix
@@ -2,18 +2,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "viu";
-  version = "1.2.1";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "atanunq";
     repo = "viu";
     rev = "v${version}";
-    sha256 = "1q248jnbv64mkvg18465dpvjkw2v2hfqyvdvdixyrwyrnlv5cicv";
+    sha256 = "1n1qwlh1zinq5ngx04cvs69z8zr12yywr70vbrc946kbh4hx6pk9";
   };
-  # tests are failing, reported at upstream: https://github.com/atanunq/viu/issues/40
+
+  # tests need an interactive terminal
   doCheck = false;
 
-  cargoSha256 = "18rskn8fchlgk295yk8sc2g1x6h43rmhqif871hgzdx1i35sbajr";
+  cargoSha256 = "0bdjfcyx2cwz68gcx0393h4ysccarfp02pvvp0a5xgkq11bad0r0";
 
   meta = with lib; {
     description = "A command-line application to view images from the terminal written in Rust";
diff --git a/pkgs/tools/graphics/welkin/default.nix b/pkgs/tools/graphics/welkin/default.nix
index 53e7378bd3beb..2f9c43373bbeb 100644
--- a/pkgs/tools/graphics/welkin/default.nix
+++ b/pkgs/tools/graphics/welkin/default.nix
@@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
 
   sourceRoot = "welkin-r9638/tags/${version}";
 
-  buildInputs = [ jre makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre ];
 
   installPhase = ''
     mkdir -p $out/{bin,share}
diff --git a/pkgs/tools/graphics/zbar/default.nix b/pkgs/tools/graphics/zbar/default.nix
index 301e760cb569f..df0983b2d645c 100644
--- a/pkgs/tools/graphics/zbar/default.nix
+++ b/pkgs/tools/graphics/zbar/default.nix
@@ -21,7 +21,7 @@
 
 stdenv.mkDerivation rec {
   pname = "zbar";
-  version = "0.23.1";
+  version = "0.23.90";
 
   outputs = [ "out" "lib" "dev" "doc" "man" ];
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     owner = "mchehab";
     repo = "zbar";
     rev = version;
-    sha256 = "0l4nxha8k18iqzrbqpgca49lrf1gigy3kpbzl3ldw2lw8alwy8x2";
+    sha256 = "sha256-FvV7TMc4JbOiRjWLka0IhtpGGqGm5fis7h870OmJw2U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/inputmethods/evscript/default.nix b/pkgs/tools/inputmethods/evscript/default.nix
index 66f264bc7a362..456a57a135168 100644
--- a/pkgs/tools/inputmethods/evscript/default.nix
+++ b/pkgs/tools/inputmethods/evscript/default.nix
@@ -12,7 +12,6 @@ rustPlatform.buildRustPackage rec {
   };
 
   cargoSha256 = "1dcyhxfyq0nrjl05g1s9pjkg7vqw63wbdhlskrdcvxncmci3s7rp";
-  verifyCargoDeps = true;
 
   meta = with lib; {
     homepage = "https://github.com/myfreeweb/${pname}";
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix
index 2af4061ae0463..2767b4c7c0ef5 100644
--- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-libpinyin/default.nix
@@ -42,6 +42,8 @@ stdenv.mkDerivation rec {
       cp -rv ${store_path} $NIX_BUILD_TOP/$name/data/${ZHUYIN_DATA_FILE_NAME}
     '';
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     isFcitxEngine = true;
     description  = "Fcitx Wrapper for libpinyin, Library to deal with pinyin";
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix
index 3f42894ef9f12..1b76cec554d87 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix
@@ -1,5 +1,4 @@
 { lib, stdenv
-, fetchurl
 , fetchFromGitHub
 , cmake
 , extra-cmake-modules
@@ -7,6 +6,7 @@
 , gobject-introspection
 , gtk2
 , gtk3
+, gtk4
 , pcre
 , libuuid
 , libselinux
@@ -36,12 +36,11 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     "-DGOBJECT_INTROSPECTION_GIRDIR=share/gir-1.0"
     "-DGOBJECT_INTROSPECTION_TYPELIBDIR=lib/girepository-1.0"
-    # disabled since we currently don't have gtk4 in nixpkgs
-    "-DENABLE_GTK4_IM_MODULE=off"
   ] ++ lib.optional (! withGTK2) "-DENABLE_GTK2_IM_MODULE=off";
 
   buildInputs = [
     gtk3
+    gtk4
     gobject-introspection
     fcitx5
     pcre
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix
index 6184ea36549b4..560393b31939f 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-lua";
-  version = "5.0.2";
+  version = "5.0.3";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = "fcitx5-lua";
     rev = version;
-    sha256 = "sha256-lFlHn2q/kpq1EIKKhYVdJofXqtOHnpLz7PoWuNAhmhE=";
+    sha256 = "sha256-46s3F3NHGuef0wPhYiPocms0jv5Vo+cVRd5FzlfjMZY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix
index 8e5254b75c43f..f8601a64e2acf 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-rime";
-  version = "5.0.3";
+  version = "5.0.4";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = "fcitx5-rime";
     rev = version;
-    sha256 = "sha256-mPNZ/B5bpxua+E1T+oz9v2QKAzGraA2cfT8oJacC35U=";
+    sha256 = "sha256-WB+bWvJxL2yywictNN8Zy0OYxiCRErQGL2dGH4zQPp8=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix
index 4feae0d4acc15..5e42016ec7c49 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-table-other.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-table-other";
-  version = "5.0.2";
+  version = "5.0.3";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = "fcitx5-table-other";
     rev = version;
-    sha256 = "sha256-P+KaUmjAHe1CZ5rNMQAxwKSW5ZMVgQcwkgdlungXTLM=";
+    sha256 = "sha256-jJTFAOrBeRBoUn0mqqkX0z1zQnDOh7otMHDPmjuZbWw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/inputmethods/fcitx5/with-addons.nix b/pkgs/tools/inputmethods/fcitx5/with-addons.nix
index 17501d5f36220..020e829f0987c 100644
--- a/pkgs/tools/inputmethods/fcitx5/with-addons.nix
+++ b/pkgs/tools/inputmethods/fcitx5/with-addons.nix
@@ -5,7 +5,7 @@ symlinkJoin {
 
   paths = [ fcitx5 fcitx5-configtool fcitx5-lua fcitx5-qt fcitx5-gtk ] ++ addons;
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   postBuild = ''
     wrapProgram $out/bin/fcitx5 \
diff --git a/pkgs/tools/inputmethods/hime/default.nix b/pkgs/tools/inputmethods/hime/default.nix
index 8ec6146a02095..988f8941d14b1 100644
--- a/pkgs/tools/inputmethods/hime/default.nix
+++ b/pkgs/tools/inputmethods/hime/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
 
   preConfigure = "patchShebangs configure";
   configureFlags = [ "--disable-lib64" "--disable-qt5-immodule" ];
-
+  dontWrapQtApps = true;
 
   meta = with lib; {
     homepage = "http://hime-ime.github.io/";
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
index 8b53092194009..b51efc2cb8100 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-libpinyin";
-  version = "1.11.1";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "libpinyin";
     repo = "ibus-libpinyin";
     rev = version;
-    sha256 = "0b8rilk9zil9gvfhlk3rphcby6ph11dw66j175wp0na6h6hjlaf2";
+    sha256 = "sha256-fEEiwRoGGFAki1DMQvGuzjz2NAjhExyH11l8KTwjjsI=";
   };
 
   nativeBuildInputs = [
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     isIbusEngine = true;
     description = "IBus interface to the libpinyin input method";
-    license = licenses.gpl2;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ ericsagnes ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
index 07ab09b8e6c81..8fbd9254486a5 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-m17n";
-  version = "1.4.3";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = "ibus";
     repo = "ibus-m17n";
     rev = version;
-    sha256 = "0lb2vcnkzy64474j7306ydyw1ali0qbx07sxfms2fqv1nmh161i2";
+    sha256 = "sha256-kPTysHTC+j8BMnzsddRa4Tg54idejApTqmLrP20pu5M=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
index a7a640b2c6e48..00a499fb104b8 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-table";
-  version = "1.9.25";
+  version = "1.12.3";
 
   src = fetchFromGitHub {
     owner  = "kaio";
     repo   = "ibus-table";
     rev    = version;
-    sha256 = "0v570qpnb2q79aqr9f0xnska34y7hw34ibiwsf7ybcw69fhi1zkg";
+    sha256 = "sha256-iVbct7p+i8ifSQzOFUUnJU0RHX36cFiTlv7p79iawj8=";
   };
 
   postPatch = ''
@@ -27,6 +27,9 @@ stdenv.mkDerivation rec {
         -e "/export IBUS_LOCALEDIR=/ s/^.$//" \
         -i "setup/ibus-setup-table.in"
     substituteInPlace engine/tabcreatedb.py --replace '/usr/share/ibus-table' $out/share/ibus-table
+    substituteInPlace engine/ibus_table_location.py \
+      --replace '/usr/libexec' $out/libexec \
+      --replace '/usr/share/ibus-table/' $out/share/ibus-table/
   '';
 
   buildInputs = [
@@ -34,6 +37,7 @@ stdenv.mkDerivation rec {
     gtk3
     ibus
     (python3.withPackages (pypkgs: with pypkgs; [
+      dbus-python
       pygobject3
       (toPythonModule ibus)
     ]))
diff --git a/pkgs/tools/inputmethods/ibus/default.nix b/pkgs/tools/inputmethods/ibus/default.nix
index c555c507d7bc9..a0aea92ea4afa 100644
--- a/pkgs/tools/inputmethods/ibus/default.nix
+++ b/pkgs/tools/inputmethods/ibus/default.nix
@@ -60,13 +60,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "ibus";
-  version = "1.5.23";
+  version = "1.5.24";
 
   src = fetchFromGitHub {
     owner = "ibus";
     repo = "ibus";
     rev = version;
-    sha256 = "0qnblqhz8wyhchnm36zrxhbvi9g4fcwcgmw7p60yjybdlhq4asc7";
+    sha256 = "sha256-1qx06MlEUjSS067FdQG1Bdi4ZAh3hPcNjUX5PIiC3Sk=";
   };
 
   patches = [
diff --git a/pkgs/tools/misc/0x0/default.nix b/pkgs/tools/misc/0x0/default.nix
index e0f84329b8976..39cfcefaee8af 100644
--- a/pkgs/tools/misc/0x0/default.nix
+++ b/pkgs/tools/misc/0x0/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
     sha256 = "1qpylyxrisy3p2lyirfarfj5yzrdjgsgxwf8gqwljpcjn207hr72";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     install -Dm755 0x0 $out/bin/0x0
diff --git a/pkgs/tools/misc/anystyle-cli/Gemfile b/pkgs/tools/misc/anystyle-cli/Gemfile
new file mode 100644
index 0000000000000..be47216200d23
--- /dev/null
+++ b/pkgs/tools/misc/anystyle-cli/Gemfile
@@ -0,0 +1,37 @@
+source 'https://rubygems.org'
+gemspec
+
+
+group :development, :test do
+  #gem 'anystyle-data', github: 'inukshuk/anystyle-data'
+  #gem 'wapiti', github: 'inukshuk/wapiti-ruby'
+  gem 'bibtex-ruby'
+  gem 'rake'
+  gem 'rspec', '~>3.0'
+  gem 'language_detector', github: 'feedbackmine/language_detector'
+  gem 'unicode-scripts'
+  gem 'edtf'
+  gem 'citeproc'
+  gem 'unicode_utils' if RUBY_VERSION < '2.4'
+end
+
+group :coverage do
+  gem 'simplecov', require: false
+  gem 'coveralls', require: false if ENV['CI']
+end
+
+group :debug do
+  gem 'byebug', require: false
+end
+
+group :profile do
+  gem 'ruby-prof', require: false
+  gem 'gnuplot', require: false
+end
+
+group :extra do
+  gem 'lmdb'
+  gem 'redis'
+  gem 'redis-namespace'
+  gem 'yard'
+end
diff --git a/pkgs/tools/misc/anystyle-cli/Gemfile.lock b/pkgs/tools/misc/anystyle-cli/Gemfile.lock
new file mode 100644
index 0000000000000..8d28ef808948d
--- /dev/null
+++ b/pkgs/tools/misc/anystyle-cli/Gemfile.lock
@@ -0,0 +1,99 @@
+GIT
+  remote: https://github.com/feedbackmine/language_detector.git
+  revision: 89102790194150b3a8110ce691f9989b8ce70f8d
+  specs:
+    language_detector (0.1.2)
+
+PATH
+  remote: .
+  specs:
+    anystyle (1.3.10)
+      anystyle-data (~> 1.2)
+      bibtex-ruby (~> 5.0)
+      gli (~> 2.17)
+      namae (~> 1.0)
+      wapiti (~> 1.0, >= 1.0.2)
+
+GEM
+  remote: https://rubygems.org/
+  specs:
+    activesupport (6.0.3.2)
+      concurrent-ruby (~> 1.0, >= 1.0.2)
+      i18n (>= 0.7, < 2)
+      minitest (~> 5.1)
+      tzinfo (~> 1.1)
+      zeitwerk (~> 2.2, >= 2.2.2)
+    anystyle-data (1.2.0)
+    bibtex-ruby (5.1.4)
+      latex-decode (~> 0.0)
+    builder (3.2.4)
+    byebug (11.1.3)
+    citeproc (1.0.10)
+      namae (~> 1.0)
+    concurrent-ruby (1.1.7)
+    diff-lcs (1.4.4)
+    docile (1.3.2)
+    edtf (3.0.5)
+      activesupport (>= 3.0, < 7.0)
+    gli (2.19.2)
+    gnuplot (2.6.2)
+    i18n (1.8.5)
+      concurrent-ruby (~> 1.0)
+    latex-decode (0.3.1)
+    lmdb (0.5.3)
+    minitest (5.14.1)
+    namae (1.0.1)
+    rake (13.0.1)
+    redis (4.2.1)
+    redis-namespace (1.8.0)
+      redis (>= 3.0.4)
+    rspec (3.9.0)
+      rspec-core (~> 3.9.0)
+      rspec-expectations (~> 3.9.0)
+      rspec-mocks (~> 3.9.0)
+    rspec-core (3.9.2)
+      rspec-support (~> 3.9.3)
+    rspec-expectations (3.9.2)
+      diff-lcs (>= 1.2.0, < 2.0)
+      rspec-support (~> 3.9.0)
+    rspec-mocks (3.9.1)
+      diff-lcs (>= 1.2.0, < 2.0)
+      rspec-support (~> 3.9.0)
+    rspec-support (3.9.3)
+    ruby-prof (1.4.1)
+    simplecov (0.19.0)
+      docile (~> 1.1)
+      simplecov-html (~> 0.11)
+    simplecov-html (0.12.2)
+    thread_safe (0.3.6)
+    tzinfo (1.2.7)
+      thread_safe (~> 0.1)
+    unicode-scripts (1.6.0)
+    wapiti (1.0.7)
+      builder (~> 3.2)
+    yard (0.9.25)
+    zeitwerk (2.4.0)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  anystyle!
+  bibtex-ruby
+  byebug
+  citeproc
+  edtf
+  gnuplot
+  language_detector!
+  lmdb
+  rake
+  redis
+  redis-namespace
+  rspec (~> 3.0)
+  ruby-prof
+  simplecov
+  unicode-scripts
+  yard
+
+BUNDLED WITH
+   2.1.4
diff --git a/pkgs/tools/misc/anystyle-cli/anystyle.gemspec b/pkgs/tools/misc/anystyle-cli/anystyle.gemspec
new file mode 100644
index 0000000000000..57db427fb0240
--- /dev/null
+++ b/pkgs/tools/misc/anystyle-cli/anystyle.gemspec
@@ -0,0 +1,52 @@
+# -*- encoding: utf-8 -*-
+lib = File.expand_path('../lib/', __FILE__)
+$:.unshift lib unless $:.include?(lib)
+
+require 'anystyle/version'
+
+Gem::Specification.new do |s|
+  s.name         = 'anystyle'
+  s.version      = AnyStyle::VERSION.dup
+  s.platform     = Gem::Platform::RUBY
+  s.authors      = ['Sylvester Keil']
+  s.email        = ['http://sylvester.keil.or.at']
+  s.homepage     = 'http://anystyle.io'
+  s.summary      = 'Smart and fast bibliography parser.'
+  s.description  = 'A sophisticated parser for academic reference lists and bibliographies based on machine learning algorithms using conditional random fields.'
+  s.license      = 'BSD-2-Clause'
+  s.executables  = []
+  s.require_path = 'lib'
+
+  s.required_ruby_version = '>= 2.2'
+
+  s.add_runtime_dependency('bibtex-ruby', '~>5.0')
+  s.add_runtime_dependency('anystyle-data', '~>1.2')
+  s.add_runtime_dependency('gli', '~>2.17')
+  s.add_runtime_dependency('wapiti', '~>1.0', '>=1.0.2')
+  s.add_runtime_dependency('namae', '~>1.0')
+
+  s.files =
+    `git ls-files`.split("\n") - `git ls-files spec`.split("\n") - %w{
+      .coveralls.yml
+      .gitignore
+      .rspec
+      .simplecov
+      .travis.yml
+      Gemfile
+      Rakefile
+      appveyor.yml
+      anystyle.gemspec
+      res/core.xml
+    }
+
+  s.rdoc_options = %w{
+    --line-numbers
+    --inline-source
+    --title "AnyStyle"
+    --main README.md
+  }
+  s.extra_rdoc_files = %w{README.md LICENSE}
+
+end
+
+# vim: syntax=ruby
diff --git a/pkgs/tools/misc/anystyle-cli/default.nix b/pkgs/tools/misc/anystyle-cli/default.nix
new file mode 100644
index 0000000000000..7a437cafc281a
--- /dev/null
+++ b/pkgs/tools/misc/anystyle-cli/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildRubyGem
+, bundlerEnv
+, ruby
+, poppler_utils
+}:
+let
+  deps = bundlerEnv rec {
+    name = "anystyle-cli-${version}";
+    source.sha256 = lib.fakeSha256;
+    version = "1.3.1";
+    inherit ruby;
+    gemdir = ./.;
+    gemset = lib.recursiveUpdate (import ./gemset.nix) {
+      anystyle.source = {
+        remotes = ["https://rubygems.org"];
+        sha256 = "1w79zcia60nnnyrmyvpd10pmxrpk5c7lj9gmmblhwi8x5mfq9k0n";
+        type = "gem";
+      };
+    };
+  };
+in
+buildRubyGem rec {
+  inherit ruby;
+  gemName = "anystyle-cli";
+  pname = gemName;
+  version = "1.3.1";
+  source.sha256 = "1a3ifwxwqkp5dnfk9r8qq8kgfb8k1pl7jjdghbb8ixbxz9ac7awy";
+
+  propagatedBuildInputs = [ deps ];
+
+  preFixup = ''
+    wrapProgram $out/bin/anystyle --prefix PATH ${poppler_utils}/bin
+  '';
+
+  meta = with lib; {
+    description = "Command line interface to the AnyStyle Parser and Finder";
+    homepage    = "https://anystyle.io/";
+    license     = licenses.bsd2;
+    maintainers = with maintainers; [ shamilton ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/misc/anystyle-cli/gemset.nix b/pkgs/tools/misc/anystyle-cli/gemset.nix
new file mode 100644
index 0000000000000..46444760b7bd8
--- /dev/null
+++ b/pkgs/tools/misc/anystyle-cli/gemset.nix
@@ -0,0 +1,1570 @@
+{
+  activesupport = {
+    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "02sh4q8izyfdnh7z2nj5mn5sklfvqgx9rrag5j3l51y8aqkrg2yk";
+      type = "gem";
+    };
+    version = "6.0.3.2";
+  };
+  anystyle = {
+    dependencies = ["anystyle-data" "bibtex-ruby" "gli" "namae" "wapiti"];
+    groups = ["default"];
+    platforms = [{
+      engine = "maglev";
+    } {
+      engine = "maglev";
+    } {
+      engine = "maglev";
+      version = "1.8";
+    } {
+      engine = "maglev";
+      version = "1.8";
+    } {
+      engine = "maglev";
+      version = "1.9";
+    } {
+      engine = "maglev";
+      version = "1.9";
+    } {
+      engine = "maglev";
+      version = "2.0";
+    } {
+      engine = "maglev";
+      version = "2.0";
+    } {
+      engine = "maglev";
+      version = "2.1";
+    } {
+      engine = "maglev";
+      version = "2.1";
+    } {
+      engine = "maglev";
+      version = "2.2";
+    } {
+      engine = "maglev";
+      version = "2.2";
+    } {
+      engine = "maglev";
+      version = "2.3";
+    } {
+      engine = "maglev";
+      version = "2.3";
+    } {
+      engine = "maglev";
+      version = "2.4";
+    } {
+      engine = "maglev";
+      version = "2.4";
+    } {
+      engine = "maglev";
+      version = "2.5";
+    } {
+      engine = "maglev";
+      version = "2.5";
+    } {
+      engine = "maglev";
+      version = "2.6";
+    } {
+      engine = "maglev";
+      version = "2.6";
+    } {
+      engine = "rbx";
+    } {
+      engine = "rbx";
+    } {
+      engine = "rbx";
+      version = "1.8";
+    } {
+      engine = "rbx";
+      version = "1.9";
+    } {
+      engine = "rbx";
+      version = "2.0";
+    } {
+      engine = "rbx";
+      version = "2.1";
+    } {
+      engine = "rbx";
+      version = "2.2";
+    } {
+      engine = "rbx";
+      version = "2.3";
+    } {
+      engine = "rbx";
+      version = "2.4";
+    } {
+      engine = "rbx";
+      version = "2.5";
+    } {
+      engine = "rbx";
+      version = "2.6";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+      version = "1.8";
+    } {
+      engine = "ruby";
+      version = "1.8";
+    } {
+      engine = "ruby";
+      version = "1.9";
+    } {
+      engine = "ruby";
+      version = "1.9";
+    } {
+      engine = "ruby";
+      version = "2.0";
+    } {
+      engine = "ruby";
+      version = "2.0";
+    } {
+      engine = "ruby";
+      version = "2.1";
+    } {
+      engine = "ruby";
+      version = "2.1";
+    } {
+      engine = "ruby";
+      version = "2.2";
+    } {
+      engine = "ruby";
+      version = "2.2";
+    } {
+      engine = "ruby";
+      version = "2.3";
+    } {
+      engine = "ruby";
+      version = "2.3";
+    } {
+      engine = "ruby";
+      version = "2.4";
+    } {
+      engine = "ruby";
+      version = "2.4";
+    } {
+      engine = "ruby";
+      version = "2.5";
+    } {
+      engine = "ruby";
+      version = "2.5";
+    } {
+      engine = "ruby";
+      version = "2.6";
+    } {
+      engine = "ruby";
+      version = "2.6";
+    }];
+    source = {
+      path = ./.;
+      type = "path";
+    };
+    version = "1.3.10";
+  };
+  anystyle-data = {
+    groups = ["default"];
+    platforms = [{
+      engine = "maglev";
+    } {
+      engine = "maglev";
+    } {
+      engine = "maglev";
+      version = "1.8";
+    } {
+      engine = "maglev";
+      version = "1.8";
+    } {
+      engine = "maglev";
+      version = "1.9";
+    } {
+      engine = "maglev";
+      version = "1.9";
+    } {
+      engine = "maglev";
+      version = "2.0";
+    } {
+      engine = "maglev";
+      version = "2.0";
+    } {
+      engine = "maglev";
+      version = "2.1";
+    } {
+      engine = "maglev";
+      version = "2.1";
+    } {
+      engine = "maglev";
+      version = "2.2";
+    } {
+      engine = "maglev";
+      version = "2.2";
+    } {
+      engine = "maglev";
+      version = "2.3";
+    } {
+      engine = "maglev";
+      version = "2.3";
+    } {
+      engine = "maglev";
+      version = "2.4";
+    } {
+      engine = "maglev";
+      version = "2.4";
+    } {
+      engine = "maglev";
+      version = "2.5";
+    } {
+      engine = "maglev";
+      version = "2.5";
+    } {
+      engine = "maglev";
+      version = "2.6";
+    } {
+      engine = "maglev";
+      version = "2.6";
+    } {
+      engine = "rbx";
+    } {
+      engine = "rbx";
+    } {
+      engine = "rbx";
+      version = "1.8";
+    } {
+      engine = "rbx";
+      version = "1.9";
+    } {
+      engine = "rbx";
+      version = "2.0";
+    } {
+      engine = "rbx";
+      version = "2.1";
+    } {
+      engine = "rbx";
+      version = "2.2";
+    } {
+      engine = "rbx";
+      version = "2.3";
+    } {
+      engine = "rbx";
+      version = "2.4";
+    } {
+      engine = "rbx";
+      version = "2.5";
+    } {
+      engine = "rbx";
+      version = "2.6";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+      version = "1.8";
+    } {
+      engine = "ruby";
+      version = "1.8";
+    } {
+      engine = "ruby";
+      version = "1.9";
+    } {
+      engine = "ruby";
+      version = "1.9";
+    } {
+      engine = "ruby";
+      version = "2.0";
+    } {
+      engine = "ruby";
+      version = "2.0";
+    } {
+      engine = "ruby";
+      version = "2.1";
+    } {
+      engine = "ruby";
+      version = "2.1";
+    } {
+      engine = "ruby";
+      version = "2.2";
+    } {
+      engine = "ruby";
+      version = "2.2";
+    } {
+      engine = "ruby";
+      version = "2.3";
+    } {
+      engine = "ruby";
+      version = "2.3";
+    } {
+      engine = "ruby";
+      version = "2.4";
+    } {
+      engine = "ruby";
+      version = "2.4";
+    } {
+      engine = "ruby";
+      version = "2.5";
+    } {
+      engine = "ruby";
+      version = "2.5";
+    } {
+      engine = "ruby";
+      version = "2.6";
+    } {
+      engine = "ruby";
+      version = "2.6";
+    }];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ry6836mq48d85hjcfp7xiw0yk3ivpiwjvmdwv5jag30ijfyaccy";
+      type = "gem";
+    };
+    version = "1.2.0";
+  };
+  bibtex-ruby = {
+    dependencies = ["latex-decode"];
+    groups = ["default" "development" "test"];
+    platforms = [{
+      engine = "maglev";
+    } {
+      engine = "maglev";
+    } {
+      engine = "maglev";
+      version = "1.8";
+    } {
+      engine = "maglev";
+      version = "1.8";
+    } {
+      engine = "maglev";
+      version = "1.9";
+    } {
+      engine = "maglev";
+      version = "1.9";
+    } {
+      engine = "maglev";
+      version = "2.0";
+    } {
+      engine = "maglev";
+      version = "2.0";
+    } {
+      engine = "maglev";
+      version = "2.1";
+    } {
+      engine = "maglev";
+      version = "2.1";
+    } {
+      engine = "maglev";
+      version = "2.2";
+    } {
+      engine = "maglev";
+      version = "2.2";
+    } {
+      engine = "maglev";
+      version = "2.3";
+    } {
+      engine = "maglev";
+      version = "2.3";
+    } {
+      engine = "maglev";
+      version = "2.4";
+    } {
+      engine = "maglev";
+      version = "2.4";
+    } {
+      engine = "maglev";
+      version = "2.5";
+    } {
+      engine = "maglev";
+      version = "2.5";
+    } {
+      engine = "maglev";
+      version = "2.6";
+    } {
+      engine = "maglev";
+      version = "2.6";
+    } {
+      engine = "rbx";
+    } {
+      engine = "rbx";
+    } {
+      engine = "rbx";
+      version = "1.8";
+    } {
+      engine = "rbx";
+      version = "1.9";
+    } {
+      engine = "rbx";
+      version = "2.0";
+    } {
+      engine = "rbx";
+      version = "2.1";
+    } {
+      engine = "rbx";
+      version = "2.2";
+    } {
+      engine = "rbx";
+      version = "2.3";
+    } {
+      engine = "rbx";
+      version = "2.4";
+    } {
+      engine = "rbx";
+      version = "2.5";
+    } {
+      engine = "rbx";
+      version = "2.6";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+      version = "1.8";
+    } {
+      engine = "ruby";
+      version = "1.8";
+    } {
+      engine = "ruby";
+      version = "1.9";
+    } {
+      engine = "ruby";
+      version = "1.9";
+    } {
+      engine = "ruby";
+      version = "2.0";
+    } {
+      engine = "ruby";
+      version = "2.0";
+    } {
+      engine = "ruby";
+      version = "2.1";
+    } {
+      engine = "ruby";
+      version = "2.1";
+    } {
+      engine = "ruby";
+      version = "2.2";
+    } {
+      engine = "ruby";
+      version = "2.2";
+    } {
+      engine = "ruby";
+      version = "2.3";
+    } {
+      engine = "ruby";
+      version = "2.3";
+    } {
+      engine = "ruby";
+      version = "2.4";
+    } {
+      engine = "ruby";
+      version = "2.4";
+    } {
+      engine = "ruby";
+      version = "2.5";
+    } {
+      engine = "ruby";
+      version = "2.5";
+    } {
+      engine = "ruby";
+      version = "2.6";
+    } {
+      engine = "ruby";
+      version = "2.6";
+    }];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "00zwmmmjrbrxhajdvn1d4rnv2qw00arcj021cwyx3hl6dsv22l2w";
+      type = "gem";
+    };
+    version = "5.1.4";
+  };
+  builder = {
+    groups = ["default"];
+    platforms = [{
+      engine = "maglev";
+    } {
+      engine = "maglev";
+    } {
+      engine = "maglev";
+      version = "1.8";
+    } {
+      engine = "maglev";
+      version = "1.8";
+    } {
+      engine = "maglev";
+      version = "1.9";
+    } {
+      engine = "maglev";
+      version = "1.9";
+    } {
+      engine = "maglev";
+      version = "2.0";
+    } {
+      engine = "maglev";
+      version = "2.0";
+    } {
+      engine = "maglev";
+      version = "2.1";
+    } {
+      engine = "maglev";
+      version = "2.1";
+    } {
+      engine = "maglev";
+      version = "2.2";
+    } {
+      engine = "maglev";
+      version = "2.2";
+    } {
+      engine = "maglev";
+      version = "2.3";
+    } {
+      engine = "maglev";
+      version = "2.3";
+    } {
+      engine = "maglev";
+      version = "2.4";
+    } {
+      engine = "maglev";
+      version = "2.4";
+    } {
+      engine = "maglev";
+      version = "2.5";
+    } {
+      engine = "maglev";
+      version = "2.5";
+    } {
+      engine = "maglev";
+      version = "2.6";
+    } {
+      engine = "maglev";
+      version = "2.6";
+    } {
+      engine = "rbx";
+    } {
+      engine = "rbx";
+    } {
+      engine = "rbx";
+      version = "1.8";
+    } {
+      engine = "rbx";
+      version = "1.9";
+    } {
+      engine = "rbx";
+      version = "2.0";
+    } {
+      engine = "rbx";
+      version = "2.1";
+    } {
+      engine = "rbx";
+      version = "2.2";
+    } {
+      engine = "rbx";
+      version = "2.3";
+    } {
+      engine = "rbx";
+      version = "2.4";
+    } {
+      engine = "rbx";
+      version = "2.5";
+    } {
+      engine = "rbx";
+      version = "2.6";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+      version = "1.8";
+    } {
+      engine = "ruby";
+      version = "1.8";
+    } {
+      engine = "ruby";
+      version = "1.9";
+    } {
+      engine = "ruby";
+      version = "1.9";
+    } {
+      engine = "ruby";
+      version = "2.0";
+    } {
+      engine = "ruby";
+      version = "2.0";
+    } {
+      engine = "ruby";
+      version = "2.1";
+    } {
+      engine = "ruby";
+      version = "2.1";
+    } {
+      engine = "ruby";
+      version = "2.2";
+    } {
+      engine = "ruby";
+      version = "2.2";
+    } {
+      engine = "ruby";
+      version = "2.3";
+    } {
+      engine = "ruby";
+      version = "2.3";
+    } {
+      engine = "ruby";
+      version = "2.4";
+    } {
+      engine = "ruby";
+      version = "2.4";
+    } {
+      engine = "ruby";
+      version = "2.5";
+    } {
+      engine = "ruby";
+      version = "2.5";
+    } {
+      engine = "ruby";
+      version = "2.6";
+    } {
+      engine = "ruby";
+      version = "2.6";
+    }];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr";
+      type = "gem";
+    };
+    version = "3.2.4";
+  };
+  byebug = {
+    groups = ["debug"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nx3yjf4xzdgb8jkmk2344081gqr22pgjqnmjg2q64mj5d6r9194";
+      type = "gem";
+    };
+    version = "11.1.3";
+  };
+  citeproc = {
+    dependencies = ["namae"];
+    groups = ["development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13vl5sjmksk5a8kjcqnjxh7kn9gn1n4f9p1rvqfgsfhs54p0m6l2";
+      type = "gem";
+    };
+    version = "1.0.10";
+  };
+  concurrent-ruby = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1vnxrbhi7cq3p4y2v9iwd10v1c7l15is4var14hwnb2jip4fyjzz";
+      type = "gem";
+    };
+    version = "1.1.7";
+  };
+  diff-lcs = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0m925b8xc6kbpnif9dldna24q1szg4mk0fvszrki837pfn46afmz";
+      type = "gem";
+    };
+    version = "1.4.4";
+  };
+  docile = {
+    groups = ["coverage" "default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0qrwiyagxzl8zlx3dafb0ay8l14ib7imb2rsmx70i5cp420v8gif";
+      type = "gem";
+    };
+    version = "1.3.2";
+  };
+  edtf = {
+    dependencies = ["activesupport"];
+    groups = ["development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xknzamagsx68iq7zdiswr077sxirig77yggbcsw51m8365ajzpc";
+      type = "gem";
+    };
+    version = "3.0.5";
+  };
+  gli = {
+    groups = ["default"];
+    platforms = [{
+      engine = "maglev";
+    } {
+      engine = "maglev";
+    } {
+      engine = "maglev";
+      version = "1.8";
+    } {
+      engine = "maglev";
+      version = "1.8";
+    } {
+      engine = "maglev";
+      version = "1.9";
+    } {
+      engine = "maglev";
+      version = "1.9";
+    } {
+      engine = "maglev";
+      version = "2.0";
+    } {
+      engine = "maglev";
+      version = "2.0";
+    } {
+      engine = "maglev";
+      version = "2.1";
+    } {
+      engine = "maglev";
+      version = "2.1";
+    } {
+      engine = "maglev";
+      version = "2.2";
+    } {
+      engine = "maglev";
+      version = "2.2";
+    } {
+      engine = "maglev";
+      version = "2.3";
+    } {
+      engine = "maglev";
+      version = "2.3";
+    } {
+      engine = "maglev";
+      version = "2.4";
+    } {
+      engine = "maglev";
+      version = "2.4";
+    } {
+      engine = "maglev";
+      version = "2.5";
+    } {
+      engine = "maglev";
+      version = "2.5";
+    } {
+      engine = "maglev";
+      version = "2.6";
+    } {
+      engine = "maglev";
+      version = "2.6";
+    } {
+      engine = "rbx";
+    } {
+      engine = "rbx";
+    } {
+      engine = "rbx";
+      version = "1.8";
+    } {
+      engine = "rbx";
+      version = "1.9";
+    } {
+      engine = "rbx";
+      version = "2.0";
+    } {
+      engine = "rbx";
+      version = "2.1";
+    } {
+      engine = "rbx";
+      version = "2.2";
+    } {
+      engine = "rbx";
+      version = "2.3";
+    } {
+      engine = "rbx";
+      version = "2.4";
+    } {
+      engine = "rbx";
+      version = "2.5";
+    } {
+      engine = "rbx";
+      version = "2.6";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+      version = "1.8";
+    } {
+      engine = "ruby";
+      version = "1.8";
+    } {
+      engine = "ruby";
+      version = "1.9";
+    } {
+      engine = "ruby";
+      version = "1.9";
+    } {
+      engine = "ruby";
+      version = "2.0";
+    } {
+      engine = "ruby";
+      version = "2.0";
+    } {
+      engine = "ruby";
+      version = "2.1";
+    } {
+      engine = "ruby";
+      version = "2.1";
+    } {
+      engine = "ruby";
+      version = "2.2";
+    } {
+      engine = "ruby";
+      version = "2.2";
+    } {
+      engine = "ruby";
+      version = "2.3";
+    } {
+      engine = "ruby";
+      version = "2.3";
+    } {
+      engine = "ruby";
+      version = "2.4";
+    } {
+      engine = "ruby";
+      version = "2.4";
+    } {
+      engine = "ruby";
+      version = "2.5";
+    } {
+      engine = "ruby";
+      version = "2.5";
+    } {
+      engine = "ruby";
+      version = "2.6";
+    } {
+      engine = "ruby";
+      version = "2.6";
+    }];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0q598mvl20isn3ja1ya0p72svmqwx3m6fjp5slnv0b2c5mh0ahvv";
+      type = "gem";
+    };
+    version = "2.19.2";
+  };
+  gnuplot = {
+    groups = ["profile"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1cvb84lahhy6qxkkgg0pfk9b85qrb1by2p3jlpqgczl6am58vhnj";
+      type = "gem";
+    };
+    version = "2.6.2";
+  };
+  i18n = {
+    dependencies = ["concurrent-ruby"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "153sx77p16vawrs4qpkv7qlzf9v5fks4g7xqcj1dwk40i6g7rfzk";
+      type = "gem";
+    };
+    version = "1.8.5";
+  };
+  language_detector = {
+    groups = ["development" "test"];
+    platforms = [];
+    source = {
+      fetchSubmodules = false;
+      rev = "89102790194150b3a8110ce691f9989b8ce70f8d";
+      sha256 = "0wxs9i0wqmwysrz1c1i85i4f670m217y12rj5slcmd1y4ylsmvyi";
+      type = "git";
+      url = "https://github.com/feedbackmine/language_detector.git";
+    };
+    version = "0.1.2";
+  };
+  latex-decode = {
+    groups = ["default" "development" "test"];
+    platforms = [{
+      engine = "maglev";
+    } {
+      engine = "maglev";
+    } {
+      engine = "maglev";
+      version = "1.8";
+    } {
+      engine = "maglev";
+      version = "1.8";
+    } {
+      engine = "maglev";
+      version = "1.9";
+    } {
+      engine = "maglev";
+      version = "1.9";
+    } {
+      engine = "maglev";
+      version = "2.0";
+    } {
+      engine = "maglev";
+      version = "2.0";
+    } {
+      engine = "maglev";
+      version = "2.1";
+    } {
+      engine = "maglev";
+      version = "2.1";
+    } {
+      engine = "maglev";
+      version = "2.2";
+    } {
+      engine = "maglev";
+      version = "2.2";
+    } {
+      engine = "maglev";
+      version = "2.3";
+    } {
+      engine = "maglev";
+      version = "2.3";
+    } {
+      engine = "maglev";
+      version = "2.4";
+    } {
+      engine = "maglev";
+      version = "2.4";
+    } {
+      engine = "maglev";
+      version = "2.5";
+    } {
+      engine = "maglev";
+      version = "2.5";
+    } {
+      engine = "maglev";
+      version = "2.6";
+    } {
+      engine = "maglev";
+      version = "2.6";
+    } {
+      engine = "rbx";
+    } {
+      engine = "rbx";
+    } {
+      engine = "rbx";
+      version = "1.8";
+    } {
+      engine = "rbx";
+      version = "1.9";
+    } {
+      engine = "rbx";
+      version = "2.0";
+    } {
+      engine = "rbx";
+      version = "2.1";
+    } {
+      engine = "rbx";
+      version = "2.2";
+    } {
+      engine = "rbx";
+      version = "2.3";
+    } {
+      engine = "rbx";
+      version = "2.4";
+    } {
+      engine = "rbx";
+      version = "2.5";
+    } {
+      engine = "rbx";
+      version = "2.6";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+      version = "1.8";
+    } {
+      engine = "ruby";
+      version = "1.8";
+    } {
+      engine = "ruby";
+      version = "1.9";
+    } {
+      engine = "ruby";
+      version = "1.9";
+    } {
+      engine = "ruby";
+      version = "2.0";
+    } {
+      engine = "ruby";
+      version = "2.0";
+    } {
+      engine = "ruby";
+      version = "2.1";
+    } {
+      engine = "ruby";
+      version = "2.1";
+    } {
+      engine = "ruby";
+      version = "2.2";
+    } {
+      engine = "ruby";
+      version = "2.2";
+    } {
+      engine = "ruby";
+      version = "2.3";
+    } {
+      engine = "ruby";
+      version = "2.3";
+    } {
+      engine = "ruby";
+      version = "2.4";
+    } {
+      engine = "ruby";
+      version = "2.4";
+    } {
+      engine = "ruby";
+      version = "2.5";
+    } {
+      engine = "ruby";
+      version = "2.5";
+    } {
+      engine = "ruby";
+      version = "2.6";
+    } {
+      engine = "ruby";
+      version = "2.6";
+    }];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0dqanr69as05vdyp9gx9737w3g44rhyk7x96bh9x01fnf1yalyzd";
+      type = "gem";
+    };
+    version = "0.3.1";
+  };
+  lmdb = {
+    groups = ["extra"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0qk2ycgyyk052dvbgik35mr4n9im4k1j6v7anbjqhx52y5f07sfg";
+      type = "gem";
+    };
+    version = "0.5.3";
+  };
+  minitest = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "09bz9nsznxgaf06cx3b5z71glgl0hdw469gqx3w7bqijgrb55p5g";
+      type = "gem";
+    };
+    version = "5.14.1";
+  };
+  namae = {
+    groups = ["default" "development" "test"];
+    platforms = [{
+      engine = "maglev";
+    } {
+      engine = "maglev";
+    } {
+      engine = "maglev";
+      version = "1.8";
+    } {
+      engine = "maglev";
+      version = "1.8";
+    } {
+      engine = "maglev";
+      version = "1.9";
+    } {
+      engine = "maglev";
+      version = "1.9";
+    } {
+      engine = "maglev";
+      version = "2.0";
+    } {
+      engine = "maglev";
+      version = "2.0";
+    } {
+      engine = "maglev";
+      version = "2.1";
+    } {
+      engine = "maglev";
+      version = "2.1";
+    } {
+      engine = "maglev";
+      version = "2.2";
+    } {
+      engine = "maglev";
+      version = "2.2";
+    } {
+      engine = "maglev";
+      version = "2.3";
+    } {
+      engine = "maglev";
+      version = "2.3";
+    } {
+      engine = "maglev";
+      version = "2.4";
+    } {
+      engine = "maglev";
+      version = "2.4";
+    } {
+      engine = "maglev";
+      version = "2.5";
+    } {
+      engine = "maglev";
+      version = "2.5";
+    } {
+      engine = "maglev";
+      version = "2.6";
+    } {
+      engine = "maglev";
+      version = "2.6";
+    } {
+      engine = "rbx";
+    } {
+      engine = "rbx";
+    } {
+      engine = "rbx";
+      version = "1.8";
+    } {
+      engine = "rbx";
+      version = "1.9";
+    } {
+      engine = "rbx";
+      version = "2.0";
+    } {
+      engine = "rbx";
+      version = "2.1";
+    } {
+      engine = "rbx";
+      version = "2.2";
+    } {
+      engine = "rbx";
+      version = "2.3";
+    } {
+      engine = "rbx";
+      version = "2.4";
+    } {
+      engine = "rbx";
+      version = "2.5";
+    } {
+      engine = "rbx";
+      version = "2.6";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+      version = "1.8";
+    } {
+      engine = "ruby";
+      version = "1.8";
+    } {
+      engine = "ruby";
+      version = "1.9";
+    } {
+      engine = "ruby";
+      version = "1.9";
+    } {
+      engine = "ruby";
+      version = "2.0";
+    } {
+      engine = "ruby";
+      version = "2.0";
+    } {
+      engine = "ruby";
+      version = "2.1";
+    } {
+      engine = "ruby";
+      version = "2.1";
+    } {
+      engine = "ruby";
+      version = "2.2";
+    } {
+      engine = "ruby";
+      version = "2.2";
+    } {
+      engine = "ruby";
+      version = "2.3";
+    } {
+      engine = "ruby";
+      version = "2.3";
+    } {
+      engine = "ruby";
+      version = "2.4";
+    } {
+      engine = "ruby";
+      version = "2.4";
+    } {
+      engine = "ruby";
+      version = "2.5";
+    } {
+      engine = "ruby";
+      version = "2.5";
+    } {
+      engine = "ruby";
+      version = "2.6";
+    } {
+      engine = "ruby";
+      version = "2.6";
+    }];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "00w0dgvmdy8lw2b5q9zvhqd5k98a192vdmka96qngi9cvnsh5snw";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
+  rake = {
+    groups = ["development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0w6qza25bq1s825faaglkx1k6d59aiyjjk3yw3ip5sb463mhhai9";
+      type = "gem";
+    };
+    version = "13.0.1";
+  };
+  redis = {
+    groups = ["extra"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19hm66kw5vx1lmlh8bj7rxlddyj0vfp11ajw9njhrmn8173d0vb5";
+      type = "gem";
+    };
+    version = "4.2.1";
+  };
+  redis-namespace = {
+    dependencies = ["redis"];
+    groups = ["extra"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "05i6s898z5w31z385cba1683pgg5nnmj4m686cbravg7j4pgbcgv";
+      type = "gem";
+    };
+    version = "1.8.0";
+  };
+  rspec = {
+    dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
+    groups = ["development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1hzsig4pi9ybr0xl5540m1swiyxa74c8h09225y5sdh2rjkkg84h";
+      type = "gem";
+    };
+    version = "3.9.0";
+  };
+  rspec-core = {
+    dependencies = ["rspec-support"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1xndkv5cz763wh30x7hdqw6k7zs8xfh0f86amra9agwn44pcqs0y";
+      type = "gem";
+    };
+    version = "3.9.2";
+  };
+  rspec-expectations = {
+    dependencies = ["diff-lcs" "rspec-support"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bxkv25qmy39jqrdx35bfgw00g24qkssail9jlljm7hywbqvr9bb";
+      type = "gem";
+    };
+    version = "3.9.2";
+  };
+  rspec-mocks = {
+    dependencies = ["diff-lcs" "rspec-support"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19vmdqym1v2g1zbdnq37zwmyj87y9yc9ijwc8js55igvbb9hx0mr";
+      type = "gem";
+    };
+    version = "3.9.1";
+  };
+  rspec-support = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0dandh2fy1dfkjk8jf9v4azbbma6968bhh06hddv0yqqm8108jir";
+      type = "gem";
+    };
+    version = "3.9.3";
+  };
+  ruby-prof = {
+    groups = ["profile"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "12cd91m08ih0imfpy4k87618hd4mhyz291a6bx2hcskza4nf6d27";
+      type = "gem";
+    };
+    version = "1.4.1";
+  };
+  simplecov = {
+    dependencies = ["docile" "simplecov-html"];
+    groups = ["coverage"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1b082xrklq6k755cc3rzpnfdjv5338rlky9him36jasw8s9q68mr";
+      type = "gem";
+    };
+    version = "0.19.0";
+  };
+  simplecov-html = {
+    groups = ["coverage" "default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1v7b4mf7njw8kv4ghl4q7mwz3q0flbld7v8blp4m4m3n3aq11bn9";
+      type = "gem";
+    };
+    version = "0.12.2";
+  };
+  thread_safe = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
+      type = "gem";
+    };
+    version = "0.3.6";
+  };
+  tzinfo = {
+    dependencies = ["thread_safe"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1i3jh086w1kbdj3k5l60lc3nwbanmzdf8yjj3mlrx9b2gjjxhi9r";
+      type = "gem";
+    };
+    version = "1.2.7";
+  };
+  unicode-scripts = {
+    groups = ["development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04xfy4f61xf7qnbfa68aqscmyxk7wx3swn571cijsfqalhz8swjg";
+      type = "gem";
+    };
+    version = "1.6.0";
+  };
+  wapiti = {
+    dependencies = ["builder"];
+    groups = ["default"];
+    platforms = [{
+      engine = "maglev";
+    } {
+      engine = "maglev";
+    } {
+      engine = "maglev";
+      version = "1.8";
+    } {
+      engine = "maglev";
+      version = "1.8";
+    } {
+      engine = "maglev";
+      version = "1.9";
+    } {
+      engine = "maglev";
+      version = "1.9";
+    } {
+      engine = "maglev";
+      version = "2.0";
+    } {
+      engine = "maglev";
+      version = "2.0";
+    } {
+      engine = "maglev";
+      version = "2.1";
+    } {
+      engine = "maglev";
+      version = "2.1";
+    } {
+      engine = "maglev";
+      version = "2.2";
+    } {
+      engine = "maglev";
+      version = "2.2";
+    } {
+      engine = "maglev";
+      version = "2.3";
+    } {
+      engine = "maglev";
+      version = "2.3";
+    } {
+      engine = "maglev";
+      version = "2.4";
+    } {
+      engine = "maglev";
+      version = "2.4";
+    } {
+      engine = "maglev";
+      version = "2.5";
+    } {
+      engine = "maglev";
+      version = "2.5";
+    } {
+      engine = "maglev";
+      version = "2.6";
+    } {
+      engine = "maglev";
+      version = "2.6";
+    } {
+      engine = "rbx";
+    } {
+      engine = "rbx";
+    } {
+      engine = "rbx";
+      version = "1.8";
+    } {
+      engine = "rbx";
+      version = "1.9";
+    } {
+      engine = "rbx";
+      version = "2.0";
+    } {
+      engine = "rbx";
+      version = "2.1";
+    } {
+      engine = "rbx";
+      version = "2.2";
+    } {
+      engine = "rbx";
+      version = "2.3";
+    } {
+      engine = "rbx";
+      version = "2.4";
+    } {
+      engine = "rbx";
+      version = "2.5";
+    } {
+      engine = "rbx";
+      version = "2.6";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+    } {
+      engine = "ruby";
+      version = "1.8";
+    } {
+      engine = "ruby";
+      version = "1.8";
+    } {
+      engine = "ruby";
+      version = "1.9";
+    } {
+      engine = "ruby";
+      version = "1.9";
+    } {
+      engine = "ruby";
+      version = "2.0";
+    } {
+      engine = "ruby";
+      version = "2.0";
+    } {
+      engine = "ruby";
+      version = "2.1";
+    } {
+      engine = "ruby";
+      version = "2.1";
+    } {
+      engine = "ruby";
+      version = "2.2";
+    } {
+      engine = "ruby";
+      version = "2.2";
+    } {
+      engine = "ruby";
+      version = "2.3";
+    } {
+      engine = "ruby";
+      version = "2.3";
+    } {
+      engine = "ruby";
+      version = "2.4";
+    } {
+      engine = "ruby";
+      version = "2.4";
+    } {
+      engine = "ruby";
+      version = "2.5";
+    } {
+      engine = "ruby";
+      version = "2.5";
+    } {
+      engine = "ruby";
+      version = "2.6";
+    } {
+      engine = "ruby";
+      version = "2.6";
+    }];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1aw2l759cfmii9a67pn8pswip11v08nabkzm825mrmxa6r91izqs";
+      type = "gem";
+    };
+    version = "1.0.7";
+  };
+  yard = {
+    groups = ["extra"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "126m49mvh4lbvlvrprq7xj2vjixbq3xqr8dwr089vadvs0rkn4rd";
+      type = "gem";
+    };
+    version = "0.9.25";
+  };
+  zeitwerk = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jvn50k76kl14fpymk4hdsf9sk00jl84yxzl783xhnw4dicp0m0k";
+      type = "gem";
+    };
+    version = "2.4.0";
+  };
+}
+
diff --git a/pkgs/tools/misc/arp-scan/default.nix b/pkgs/tools/misc/arp-scan/default.nix
index e25543b5145ab..720b0a875a802 100644
--- a/pkgs/tools/misc/arp-scan/default.nix
+++ b/pkgs/tools/misc/arp-scan/default.nix
@@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
     URI
   ];
 
-  nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ perlPackages.perl libpcap makeWrapper ];
+  nativeBuildInputs = [ autoreconfHook makeWrapper ];
+  buildInputs = [ perlPackages.perl libpcap ];
 
   postInstall = ''
     for name in get-{oui,iab}; do
diff --git a/pkgs/tools/misc/aspcud/default.nix b/pkgs/tools/misc/aspcud/default.nix
index 4c5622fab09c4..a50bc311f2479 100644
--- a/pkgs/tools/misc/aspcud/default.nix
+++ b/pkgs/tools/misc/aspcud/default.nix
@@ -3,12 +3,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.9.4";
+  version = "1.9.5";
   pname = "aspcud";
 
   src = fetchzip {
     url = "https://github.com/potassco/aspcud/archive/v${version}.tar.gz";
-    sha256 = "0vrf7h7g99vw1mybqfrpxamsnf89p18czlzgjmxl1zkiwc7vjpzw";
+    sha256 = "sha256-d04GPMoz6PMGq6iiul0zT1C9Mljdl9uJJ2C8MIwcmaw=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/misc/bat-extras/default.nix b/pkgs/tools/misc/bat-extras/default.nix
index 7d3f1dc0a36cd..323099f02c67b 100644
--- a/pkgs/tools/misc/bat-extras/default.nix
+++ b/pkgs/tools/misc/bat-extras/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, callPackage, fetchFromGitHub, bash, makeWrapper, bat
+{ lib, stdenv, fetchFromGitHub, bash, makeWrapper, bat
 # batdiff, batgrep, and batwatch
 , coreutils
 , less
diff --git a/pkgs/tools/misc/bat/default.nix b/pkgs/tools/misc/bat/default.nix
index d6e1e9e5d7745..d72b0fdef1fa8 100644
--- a/pkgs/tools/misc/bat/default.nix
+++ b/pkgs/tools/misc/bat/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "bat";
-  version = "0.17.1";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1kbziqm00skj65gpjq6m83hmfk9g3xyx88gai1r80pzsx8g239w1";
+    sha256 = "113i11sgna82i4c4zk66qmbypmnmzh0lzp4kkgqnxxcdvyj00rb8";
   };
 
-  cargoSha256 = "1pdja5jhk036hpgv77xc3fcvra1sw0z5jc1ry53i0r7362lnwapz";
+  cargoSha256 = "12z7y303fmga91daf2w356qiqdqa7b8dz6nrrpnjdf0slyz0w3x4";
 
   nativeBuildInputs = [ pkg-config installShellFiles makeWrapper ];
 
@@ -39,11 +39,14 @@ rustPlatform.buildRustPackage rec {
       --prefix PATH : "${lib.makeBinPath [ less ]}"
   '';
 
+  checkFlags = [ "--skip=pager_more" "--skip=pager_most" ];
+
   passthru.tests = { inherit (nixosTests) bat; };
 
   meta = with lib; {
     description = "A cat(1) clone with syntax highlighting and Git integration";
     homepage = "https://github.com/sharkdp/bat";
+    changelog = "https://github.com/sharkdp/bat/raw/v${version}/CHANGELOG.md";
     license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ dywedir lilyball zowoq ];
   };
diff --git a/pkgs/tools/misc/bc/default.nix b/pkgs/tools/misc/bc/default.nix
index 96c2d00ffa826..bb5ed84e7d729 100644
--- a/pkgs/tools/misc/bc/default.nix
+++ b/pkgs/tools/misc/bc/default.nix
@@ -3,9 +3,10 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "bc-1.07.1";
+  pname = "bc";
+  version = "1.07.1";
   src = fetchurl {
-    url = "mirror://gnu/bc/${name}.tar.gz";
+    url = "mirror://gnu/bc/${pname}-${version}.tar.gz";
     sha256 = "62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a";
   };
 
@@ -30,10 +31,10 @@ stdenv.mkDerivation rec {
   # masss-rebuild.
   strictDeps = true;
 
-  meta = {
+  meta = with lib; {
     description = "GNU software calculator";
     homepage = "https://www.gnu.org/software/bc/";
-    license = lib.licenses.gpl3;
-    platforms = lib.platforms.all;
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/misc/bdf2psf/default.nix b/pkgs/tools/misc/bdf2psf/default.nix
index ff14f2d1a4e29..1a782661466af 100644
--- a/pkgs/tools/misc/bdf2psf/default.nix
+++ b/pkgs/tools/misc/bdf2psf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bdf2psf";
-  version = "1.200";
+  version = "1.201";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/c/console-setup/bdf2psf_${version}_all.deb";
-    sha256 = "07z686h2fv9b3446fcym0sfzxwgkm9cc4bd3zhpv6j8bdfadnjxw";
+    sha256 = "sha256-XVaROIxyNBBFoXf+K1mv4mW8wWozqMcs1cgaWj8L8Q0=";
   };
 
   nativeBuildInputs = [ dpkg ];
@@ -14,10 +14,16 @@ stdenv.mkDerivation rec {
   dontConfigure = true;
   dontBuild = true;
 
-  unpackPhase = "dpkg-deb -x $src .";
+  unpackPhase = ''
+    runHook preUnpack
+    dpkg-deb -x $src .
+    runHook postUnpack
+  '';
   installPhase = "
+    runHook preInstall
     substituteInPlace usr/bin/bdf2psf --replace /usr/bin/perl ${perl}/bin/perl
     mv usr $out
+    runHook postInstall
   ";
 
   meta = with lib; {
@@ -26,7 +32,7 @@ stdenv.mkDerivation rec {
     longDescription = ''
       Font converter to generate console fonts from BDF source fonts
     '';
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ rnhmjoj vrthra ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/misc/bdf2sfd/default.nix b/pkgs/tools/misc/bdf2sfd/default.nix
index 1d8bd38c1e181..735508fed216e 100644
--- a/pkgs/tools/misc/bdf2sfd/default.nix
+++ b/pkgs/tools/misc/bdf2sfd/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bdf2sfd";
-  version = "1.1.5";
+  version = "1.1.6";
 
   src = fetchFromGitHub {
     owner = "fcambus";
     repo = pname;
     rev = version;
-    sha256 = "1bpadw25barzmmsz9bkrsj3iwbgf945zqfakbgq1yscfb85bfgsp";
+    sha256 = "sha256-f3IdTk1GEo1GlbiJMCpqwheNJrndm7aCojA+GuKMTao=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/misc/bmap-tools/default.nix b/pkgs/tools/misc/bmap-tools/default.nix
index 79094dc9540a7..c78c0121ed0c7 100644
--- a/pkgs/tools/misc/bmap-tools/default.nix
+++ b/pkgs/tools/misc/bmap-tools/default.nix
@@ -1,16 +1,18 @@
-{ lib, fetchFromGitHub, python2Packages }:
+{ lib, fetchFromGitHub, python3Packages }:
 
-python2Packages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "bmap-tools";
-  version = "3.4";
+  version = "3.6";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "bmap-tools";
     rev = "v${version}";
-    sha256 = "0p0pdwvyf9b4czi1pnhclm1ih8kw78nk2sj4if5hwi7s5423wk5q";
+    sha256 = "01xzrv5nvd2nvj91lz4x9s91y9825j9pj96z0ap6yvy3w2dgvkkl";
   };
 
+  propagatedBuildInputs = with python3Packages; [ six ];
+
   # tests fail only on hydra.
   doCheck = false;
 
diff --git a/pkgs/tools/misc/byobu/default.nix b/pkgs/tools/misc/byobu/default.nix
index c647d3b390287..ffe3fd0fe1621 100644
--- a/pkgs/tools/misc/byobu/default.nix
+++ b/pkgs/tools/misc/byobu/default.nix
@@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  buildInputs = [ perl makeWrapper gettext ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ perl gettext ];
   propagatedBuildInputs = [ textual-window-manager screen ];
 
   postPatch = ''
diff --git a/pkgs/tools/misc/calamares/default.nix b/pkgs/tools/misc/calamares/default.nix
index a671090460ea0..e79774da9177b 100644
--- a/pkgs/tools/misc/calamares/default.nix
+++ b/pkgs/tools/misc/calamares/default.nix
@@ -6,12 +6,12 @@
 
 mkDerivation rec {
   pname = "calamares";
-  version = "3.2.35.1";
+  version = "3.2.36";
 
   # release including submodule
   src = fetchurl {
     url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "s2wnwcdrcJLG5NhugSkntBCYfPuv3T/9+PclbmK0BJ4=";
+    sha256 = "sha256-pgA0mRglIBObNNUQIozNy6EvJQSmHRF+kN4EjqL4tt4=";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules ];
diff --git a/pkgs/tools/misc/capture/default.nix b/pkgs/tools/misc/capture/default.nix
index d0e6c16734977..d858e0fbc4612 100644
--- a/pkgs/tools/misc/capture/default.nix
+++ b/pkgs/tools/misc/capture/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
     sha256 = "0zyyg4mvrny7cc2xgvfip97b6yc75ka5ni39rwls93971jbk83d6";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     install -Dm755 src/capture.sh $out/bin/capture
diff --git a/pkgs/tools/misc/chafa/default.nix b/pkgs/tools/misc/chafa/default.nix
index f196bb5af03f9..51fbba8d706c0 100644
--- a/pkgs/tools/misc/chafa/default.nix
+++ b/pkgs/tools/misc/chafa/default.nix
@@ -2,14 +2,14 @@
 
 
 stdenv.mkDerivation rec {
-  version = "1.4.1";
+  version = "1.6.0";
   pname = "chafa";
 
   src = fetchFromGitHub {
     owner = "hpjansson";
     repo = "chafa";
     rev = version;
-    sha256 = "13vv2xmfh0dr949bh75448lidvzwxks6f1mjawdg1q8qwzxhzry4";
+    sha256 = "sha256-GaXVMM23U3M+qNJrWYR+DLiCmILcuX5EIkQqzwN/l1Y=";
   };
 
   nativeBuildInputs = [ autoconf
diff --git a/pkgs/tools/misc/chezmoi/default.nix b/pkgs/tools/misc/chezmoi/default.nix
index 48d8b7c89301b..dc1a49a40bf27 100644
--- a/pkgs/tools/misc/chezmoi/default.nix
+++ b/pkgs/tools/misc/chezmoi/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "1.8.10";
+  version = "1.8.11";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    sha256 = "sha256-S1bnzuOZGQLdVJUH+A29KxF84dj2OeLJ4XajfTDdjUY=";
+    sha256 = "sha256-aWq36wQFxAyORifi5/9MOnqmR5FRyDAQj1tVFqoiFvA=";
   };
 
-  vendorSha256 = "sha256-X1h0EcUf8MWt929huNjt0WnhFqhVZu07JGi7c5hdXoY=";
+  vendorSha256 = "sha256-ASTPb8Va3Gl/VtmPJIdlnlU3OspAxzZ5iSHVcZOh8CY=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/cht.sh/default.nix b/pkgs/tools/misc/cht.sh/default.nix
index 3f2218ac871db..67249d76454b4 100644
--- a/pkgs/tools/misc/cht.sh/default.nix
+++ b/pkgs/tools/misc/cht.sh/default.nix
@@ -10,15 +10,15 @@
 
 stdenv.mkDerivation {
   pname = "cht.sh";
-  version = "unstable-2020-08-06";
+  version = "unstable-2021-01-31";
 
   nativeBuildInputs = [ makeWrapper ];
 
   src = fetchFromGitHub {
     owner = "chubin";
     repo = "cheat.sh";
-    rev = "9f99bec1f0293e84d6d8a990a1940c1422e3b0ce";
-    sha256 = "1n4lgzsgg4502zh113d7pb1hw6bykqx6vpfp8j08z7y5clmdiwa6";
+    rev = "01e579176981356fb90d4aa58fea2d6c273a45a5";
+    sha256 = "0d98v67ajsc80i962myh0j4ph7bn3csk8y9jf8b5rfqd1zg737hb";
   };
 
   # Fix ".cht.sh-wrapped" in the help message
@@ -36,7 +36,9 @@ stdenv.mkDerivation {
       --prefix PATH : "${lib.makeBinPath [ curl rlwrap ncurses xsel ]}"
   '';
 
-  passthru.updateScript = unstableGitUpdater { };
+  passthru.updateScript = unstableGitUpdater {
+    url = "https://github.com/chubin/cheat.sh.git";
+  };
 
   meta = with lib; {
     description = "CLI client for cheat.sh, a community driven cheat sheet";
diff --git a/pkgs/tools/misc/cicero-tui/default.nix b/pkgs/tools/misc/cicero-tui/default.nix
new file mode 100644
index 0000000000000..e00ceb9517f60
--- /dev/null
+++ b/pkgs/tools/misc/cicero-tui/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, cmake
+, pkg-config
+, expat
+, fontconfig
+, freetype
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cicero-tui";
+  version = "0.1.4";
+
+  src = fetchFromGitHub {
+    owner = "eyeplum";
+    repo = "cicero-tui";
+    rev = "v${version}";
+    sha256 = "1bz2y37qf9c3fxc73chb42rffdivp5krczhgd9rnwq5r6n6bdgq7";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+  buildInputs = [
+    expat
+    fontconfig
+    freetype
+  ];
+
+  cargoSha256 = "04359gf9mirczqwh8jv3rf0cc4pp05r8ncqyz0n8r7x5qv77kgcp";
+
+  meta = with lib; {
+    description = "Unicode tool with a terminal user interface";
+    homepage = "https://github.com/eyeplum/cicero-tui";
+    license = with licenses; [ gpl3Plus ];
+    maintainers = with maintainers; [ shamilton ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/cloc/default.nix b/pkgs/tools/misc/cloc/default.nix
index f518c1b8e3f22..3e18d3f4b54ee 100644
--- a/pkgs/tools/misc/cloc/default.nix
+++ b/pkgs/tools/misc/cloc/default.nix
@@ -15,9 +15,8 @@ stdenv.mkDerivation rec {
     sourceRoot=$(echo */Unix)
   '';
 
-  buildInputs = [ makeWrapper ] ++ (with perlPackages; [
-    perl AlgorithmDiff ParallelForkManager RegexpCommon
-  ]);
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = (with perlPackages; [ perl AlgorithmDiff ParallelForkManager RegexpCommon ]);
 
   makeFlags = [ "prefix=" "DESTDIR=$(out)" "INSTALL=install" ];
 
diff --git a/pkgs/tools/misc/cod/default.nix b/pkgs/tools/misc/cod/default.nix
index 6dad6173ed4b9..dfad9569d2a06 100644
--- a/pkgs/tools/misc/cod/default.nix
+++ b/pkgs/tools/misc/cod/default.nix
@@ -13,7 +13,7 @@ buildGoModule rec {
 
   vendorSha256 = "1arllkiz1hk12hq5b2zpg3f8i9lxl66mil5sdv8gnhflmb37vbv3";
 
-  buildFlagsArray = [ "-ldflags=-X main.GitSha=${src.rev}" ];
+  buildFlagsArray = [ "-ldflags=-s -w -X main.GitSha=${src.rev}" ];
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/code-minimap/default.nix b/pkgs/tools/misc/code-minimap/default.nix
index 4808fe3ef564b..462fc51b2890c 100644
--- a/pkgs/tools/misc/code-minimap/default.nix
+++ b/pkgs/tools/misc/code-minimap/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "code-minimap";
-  version = "0.4.3";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "wfxr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "03azqy4i15kfpd0gzjaw2di9xva4xdf95yb65b93z3y9y5wy4krc";
+    sha256 = "sha256-t+zHAneINLd8JHkhaR+aF55gAWJmphYEqbx74CqAmM8=";
   };
 
-  cargoSha256 = "1rxrdavj07i7qa5rf1i3aj7zdcp7c6lrg8yiy75r6lm4g98izzww";
+  cargoSha256 = "sha256-eVh+6gTzKTelZ3MypkqYMXHr9QwaNG8H0xS82kilR/s=";
 
   meta = with lib; {
     description = "A high performance code minimap render";
diff --git a/pkgs/tools/misc/convbin/default.nix b/pkgs/tools/misc/convbin/default.nix
index 92890c056b157..7f57cab585bcf 100644
--- a/pkgs/tools/misc/convbin/default.nix
+++ b/pkgs/tools/misc/convbin/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "0n502zj8igm583kbfvyv7zhd97vb71jac41ncb9jr2yz2v5ir8j9";
   };
 
-  makeFlags = [ "CC=cc" ];
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
   checkPhase = ''
     pushd test
diff --git a/pkgs/tools/misc/convfont/default.nix b/pkgs/tools/misc/convfont/default.nix
index aeecb05321276..501c4e29a416a 100644
--- a/pkgs/tools/misc/convfont/default.nix
+++ b/pkgs/tools/misc/convfont/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "1lj24yq5gj9hxhy1srk73521q95zyqzkws0q4v271hf5wmqaxa2f";
   };
 
-  makeFlags = [ "CC=cc" ];
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
   installPhase = ''
     install -Dm755 convfont $out/bin/convfont
diff --git a/pkgs/tools/misc/convimg/default.nix b/pkgs/tools/misc/convimg/default.nix
index 8caf4cb706f92..0c5ffb4a6dead 100644
--- a/pkgs/tools/misc/convimg/default.nix
+++ b/pkgs/tools/misc/convimg/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
-  makeFlags = [ "CC=cc" ];
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
   checkPhase = ''
     pushd test
diff --git a/pkgs/tools/misc/ddccontrol/default.nix b/pkgs/tools/misc/ddccontrol/default.nix
index 604ba0cbf7580..41f2bede99952 100644
--- a/pkgs/tools/misc/ddccontrol/default.nix
+++ b/pkgs/tools/misc/ddccontrol/default.nix
@@ -1,21 +1,31 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, intltool, libxml2
-, pciutils, pkg-config, gtk2, ddccontrol-db
-, makeDesktopItem
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, intltool
+, libxml2
+, pciutils
+, pkg-config
+, gtk2
+, ddccontrol-db
 }:
 
-let version = "0.4.4"; in
 stdenv.mkDerivation rec {
   pname = "ddccontrol";
-  inherit version;
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "ddccontrol";
     repo = "ddccontrol";
-    rev = "0.4.4";
-    sha256 = "09npy6z2j3jrvpvlr46vih31y2mbrh7wsqlbrjprxjv1j0kkz5q2";
+    rev = "0.5.1";
+    sha256 = "sha256-e6Rzzz5S+Um2ZBuUkfAJQA4V+zqCqsUHB0f1t/dTU2w=";
   };
 
-  nativeBuildInputs = [ autoreconfHook intltool pkg-config ];
+  nativeBuildInputs = [
+    autoreconfHook
+    intltool
+    pkg-config
+  ];
 
   buildInputs = [
     libxml2
@@ -24,8 +34,6 @@ stdenv.mkDerivation rec {
     ddccontrol-db
   ];
 
-  hardeningDisable = [ "format" "bindnow" ];
-
   prePatch = ''
     oldPath="\$""{datadir}/ddccontrol-db"
     newPath="${ddccontrol-db}/share/ddccontrol-db"
@@ -37,29 +45,11 @@ stdenv.mkDerivation rec {
     intltoolize --force
   '';
 
-  postInstall = ''
-    mkdir -p $out/share/applications/
-    cp $desktopItem/share/applications/* $out/share/applications/
-    for entry in $out/share/applications/*.desktop; do
-      substituteAllInPlace $entry
-    done
-  '';
-
-  desktopItem = makeDesktopItem {
-    name = "gddccontrol";
-    desktopName = "gddccontrol";
-    genericName = "DDC/CI control";
-    comment = meta.description;
-    exec = "@out@/bin/gddccontrol";
-    icon = "gddccontrol";
-    categories = "Settings;HardwareSettings;";
-  };
-
   meta = with lib; {
     description = "A program used to control monitor parameters by software";
     homepage = "https://github.com/ddccontrol/ddccontrol";
-    license = licenses.gpl2;
-    platforms = [ "i686-linux" "x86_64-linux" ];
-    maintainers = [ lib.maintainers.pakhfn ];
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with lib.maintainers; [ pakhfn ];
   };
 }
diff --git a/pkgs/tools/misc/ddcutil/default.nix b/pkgs/tools/misc/ddcutil/default.nix
index 4f519d6858d7c..1e2efc7f9cd36 100644
--- a/pkgs/tools/misc/ddcutil/default.nix
+++ b/pkgs/tools/misc/ddcutil/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ddcutil";
-  version = "0.9.9";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner  = "rockowitz";
     repo   = "ddcutil";
     rev    = "v${version}";
-    sha256 = "1ppiddnrvkbb9iir28kl9hzpww0hpgb05jfxzf07xsqkdfb4qv71";
+    sha256 = "sha256-F/tKW81bAyYtwpxhl5XC8YyMB+6S0XmqqigwJY2WFDU=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/tools/misc/debian-devscripts/default.nix b/pkgs/tools/misc/debian-devscripts/default.nix
index 8de7cc99336d2..cbeede0cc305f 100644
--- a/pkgs/tools/misc/debian-devscripts/default.nix
+++ b/pkgs/tools/misc/debian-devscripts/default.nix
@@ -16,7 +16,8 @@ in stdenv.mkDerivation rec {
     sha256 = "0xy1nvqrnifx46g8ch69pk31by0va6hn10wpi1fkrsrgncanjjh1";
   };
 
-  buildInputs = [ unzip xz dpkg libxslt python setuptools makeWrapper curl gnupg diffutils ] ++
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ unzip xz dpkg libxslt python setuptools curl gnupg diffutils ] ++
     (with perlPackages; [ perl CryptSSLeay LWP TimeDate DBFile FileDesktopEntry ParseDebControl LWPProtocolHttps ]);
 
   preConfigure = ''
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index 2d7715274bed9..9437ef12f4b4a 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, runCommand, makeWrapper, python3Packages, docutils, help2man
+{ lib, stdenv, fetchurl, runCommand, makeWrapper, python3Packages, docutils, help2man, installShellFiles
 , abootimg, acl, apktool, binutils-unwrapped, build-tools, bzip2, cbfstool, cdrkit, colord, colordiff, coreutils, cpio, db, diffutils, dtc
 , e2fsprogs, file, findutils, fontforge-fonttools, ffmpeg, fpc, gettext, ghc, ghostscriptX, giflib, gnumeric, gnupg, gnutar
 , gzip, hdf5, imagemagick, jdk, libarchive, libcaca, llvm, lz4, mono, openssh, openssl, pdftk, pgpdump, poppler_utils, qemu, R
@@ -16,18 +16,17 @@ let
 in
 python3Packages.buildPythonApplication rec {
   pname = "diffoscope";
-  version = "163";
+  version = "166";
 
   src = fetchurl {
-    url    = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
-    sha256 = "sha256-pCAOMRZ3sn1jhdT5RuIZoMR1e6GEYJYyd4mZt7+0lWE=";
+    url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
+    sha256 = "sha256-6VhHG3MxmIczolOYqU4D1m00h8w2n0ku4dy/dFEYqk0=";
   };
 
   outputs = [ "out" "man" ];
 
   patches = [
     ./ignore_links.patch
-    ./skip-failing-test.patch
   ];
 
   postPatch = ''
@@ -38,7 +37,7 @@ python3Packages.buildPythonApplication rec {
     substituteInPlace doc/Makefile --replace "../bin" "$out/bin"
   '';
 
-  nativeBuildInputs = [ docutils help2man ];
+  nativeBuildInputs = [ docutils help2man installShellFiles ];
 
   # Most of the non-Python dependencies here are optional command-line tools for various file-format parsers.
   # To help figuring out what's missing from the list, run: ./pkgs/tools/misc/diffoscope/list-missing-tools.sh
@@ -60,14 +59,19 @@ python3Packages.buildPythonApplication rec {
       hdf5 imagemagick llvm jdk mono odt2txt openssh pdftk poppler_utils qemu R tcpdump wabt
     ] ++ (with python3Packages; [ binwalk guestfs h5py ]));
 
-  checkInputs = with python3Packages; [ pytest ] ++ pythonPath;
+  checkInputs = with python3Packages; [ pytestCheckHook ] ++ pythonPath;
 
   postInstall = ''
     make -C doc
-    mkdir -p $out/share/man/man1
-    cp doc/diffoscope.1 $out/share/man/man1/diffoscope.1
+    installManPage doc/diffoscope.1
   '';
 
+  # Disable flaky test and a failing one
+  disabledTests = [
+    "test_android_manifest"
+    "test_sbin_added_to_path"
+  ];
+
   meta = with lib; {
     description = "Perform in-depth comparison of files, archives, and directories";
     longDescription = ''
@@ -80,9 +84,9 @@ python3Packages.buildPythonApplication rec {
       diffoscope is developed as part of the "reproducible builds" Debian
       project and was formerly known as "debbindiff".
     '';
-    homepage    = "https://diffoscope.org/";
-    license     = licenses.gpl3Plus;
+    homepage = "https://diffoscope.org/";
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ dezgeg ma27 danielfullmer ];
-    platforms   = platforms.unix;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/diffoscope/skip-failing-test.patch b/pkgs/tools/misc/diffoscope/skip-failing-test.patch
deleted file mode 100644
index bf871d295bda7..0000000000000
--- a/pkgs/tools/misc/diffoscope/skip-failing-test.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/tests/test_tools.py b/tests/test_tools.py
-index f0010678..1c3c7ce1 100644
---- a/tests/test_tools.py
-+++ b/tests/test_tools.py
-@@ -21,6 +21,7 @@ import os
- import pytest
- 
- 
-+@pytest.mark.skip()
- def test_sbin_added_to_path():
-     from diffoscope.tools import tool_required
- 
diff --git a/pkgs/tools/misc/dijo/default.nix b/pkgs/tools/misc/dijo/default.nix
index b8dc950773baf..3ecb201468a47 100644
--- a/pkgs/tools/misc/dijo/default.nix
+++ b/pkgs/tools/misc/dijo/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, rustPlatform, fetchFromGitHub, ncurses, CoreServices }:
-let version = "0.2.5"; in
+let version = "0.2.6"; in
 rustPlatform.buildRustPackage {
   pname = "dijo";
   inherit version;
@@ -8,9 +8,9 @@ rustPlatform.buildRustPackage {
     owner = "NerdyPepper";
     repo = "dijo";
     rev = "v${version}";
-    sha256 = "sha256-DdK9qdF+rFtAhemPwMpiZrtUdgD0iFqjgiZ3Yp/vLAI=";
+    sha256 = "sha256-fdPl+3NjgVE2MRopzeN/bxbVP6HaTnyJTGFWsLhlRoQ=";
   };
-  cargoSha256 = "sha256-bdSXyxiHwGtdyce2YyPKq+3RfZIL425RvwRfKi59RVI=";
+  cargoSha256 = "sha256-45YfZWncT7hNiOhlAatpdFdxgBaF83sih67B/DPNHcs=";
 
   meta = with lib; {
     description = "Scriptable, curses-based, digital habit tracker";
diff --git a/pkgs/tools/misc/disfetch/default.nix b/pkgs/tools/misc/disfetch/default.nix
index afce1429e69b1..78f49d9e589da 100644
--- a/pkgs/tools/misc/disfetch/default.nix
+++ b/pkgs/tools/misc/disfetch/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "disfetch";
-  version = "1.14";
+  version = "1.18";
 
   src = fetchFromGitHub {
     owner = "llathasa-veleth";
     repo = "disfetch";
     rev = version;
-    sha256 = "0p5pj8d761gz95ar35s8q6lrybrg9jik33kwnsxvb14n990kya0p";
+    sha256 = "sha256-n1KfzxK1F1dji1/HG40vubNQ+R270+Ss0WCQivuVweE=";
   };
 
   dontBuild = true;
diff --git a/pkgs/tools/misc/docker-ls/default.nix b/pkgs/tools/misc/docker-ls/default.nix
index b84830681174c..a56107ebce13a 100644
--- a/pkgs/tools/misc/docker-ls/default.nix
+++ b/pkgs/tools/misc/docker-ls/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "docker-ls";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "mayflower";
     repo = "docker-ls";
     rev = "v${version}";
-    sha256 = "sha256-VyVrCBdIZAQ+p0leD6i4sMxD4p6nEXG9Si+nJGdUQPM=";
+    sha256 = "sha256-4+REt0NH4S367qFsyJncVedUrC4t1zw5o0CLTiQfIz8=";
   };
 
   vendorSha256 = "sha256-UulcjQOLEIP++eoYQTEIbCJW51jyE312dMxB8+AKcdU=";
diff --git a/pkgs/tools/misc/dua/default.nix b/pkgs/tools/misc/dua/default.nix
index 063442b75f2f4..f0bb6905b43c5 100644
--- a/pkgs/tools/misc/dua/default.nix
+++ b/pkgs/tools/misc/dua/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dua";
-  version = "2.10.10";
+  version = "2.11.1";
 
   src = fetchFromGitHub {
     owner = "Byron";
     repo = "dua-cli";
     rev = "v${version}";
-    sha256 = "sha256-Rt+60j1+uwL6g4HGc+xdUzGK6nanGfRYbekO54iKsPE=";
+    sha256 = "sha256-pjFApZQJqw0fJmJteO7VZWRLogV3rO5XDagZd1MliZg=";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
     '';
   };
 
-  cargoSha256 = "sha256-6L1J5RHI657Z03rMmhwEzgpQ0//dykqGi8bI2Enc3N8=";
+  cargoSha256 = "sha256-xsTScRAu0SF1xtjUwBtNJUNIItoR0jjEd2CuSmmeh9c=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/duf/default.nix b/pkgs/tools/misc/duf/default.nix
index ed8a11e182c9b..ee3573f9f458f 100644
--- a/pkgs/tools/misc/duf/default.nix
+++ b/pkgs/tools/misc/duf/default.nix
@@ -2,26 +2,24 @@
 
 buildGoModule rec {
   pname = "duf";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "muesli";
     repo = "duf";
     rev = "v${version}";
-    sha256 = "0n0nvrqrlr75dmf2j6ja615ighzs35cfixn7z9cwdz3vhj1xhc5f";
+    sha256 = "sha256-Wm3gfir6blQFLLi+2bT5Y/5tf7qUxEddJQ7tCYfBGgM=";
   };
 
-  dontStrip = true;
+  vendorSha256 = "0icxy6wbqjqawr6i5skwp1z37fq303p8f95crd8lwn6pjjiqzk4i";
 
-  vendorSha256 = "1jqilfsirj7bkhzywimzf98w2b4s777phb06nsw6lr3bi6nnwzr1";
-
-  buildFlagsArray = [ "-ldflags=" "-X=main.Version=${version}" ];
+  buildFlagsArray = [ "-ldflags=-s -w -X=main.Version=${version}" ];
 
   meta = with lib; {
     homepage = "https://github.com/muesli/duf/";
     description = "Disk Usage/Free Utility";
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ petabyteboy penguwin ];
+    maintainers = with maintainers; [ petabyteboy penguwin SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/misc/dust/default.nix b/pkgs/tools/misc/dust/default.nix
index 7997f2119a28e..781ee30debaa3 100644
--- a/pkgs/tools/misc/dust/default.nix
+++ b/pkgs/tools/misc/dust/default.nix
@@ -8,11 +8,11 @@ rustPlatform.buildRustPackage rec {
     owner = "bootandy";
     repo = "dust";
     rev = "v${version}";
-    sha256 = "sha256-JwGa1icwV1yqxy90Psd9bzM7VzM7HPA6kONkI3Y745Q=";
+    sha256 = "1knl7kwngmq598bnlvlq9x8sqp914sv1abfm55kw9f7mja2d6pw0";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
-      rm -rf $out/src/test_dir3/
+      rm -r $out/tests/test_dir_unicode/
     '';
   };
 
@@ -24,6 +24,6 @@ rustPlatform.buildRustPackage rec {
     description = "du + rust = dust. Like du but more intuitive";
     homepage = "https://github.com/bootandy/dust";
     license = licenses.asl20;
-    maintainers = [ maintainers.infinisil ];
+    maintainers = with maintainers; [ infinisil SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/misc/edir/default.nix b/pkgs/tools/misc/edir/default.nix
new file mode 100644
index 0000000000000..7cd621be76a89
--- /dev/null
+++ b/pkgs/tools/misc/edir/default.nix
@@ -0,0 +1,19 @@
+{ lib, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "edir";
+  version = "2.7.3";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "06nsy9ikljc437368l38hsw75whacn3j6jwmdgg766q61pnifhkp";
+  };
+
+  meta = with lib; {
+    description = "Program to rename and remove files and directories using your editor";
+    homepage = "https://github.com/bulletmark/edir";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ guyonvarch ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/entr/default.nix b/pkgs/tools/misc/entr/default.nix
index 29474a471c3a0..5d8d0d9420101 100644
--- a/pkgs/tools/misc/entr/default.nix
+++ b/pkgs/tools/misc/entr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "entr";
-  version = "4.6";
+  version = "4.8";
 
   src = fetchurl {
-    url = "http://entrproject.org/code/${pname}-${version}.tar.gz";
-    sha256 = "0vcflgagna2gdlpjsd6748c73j2829xlhm276mi838zl1n121phn";
+    url = "https://eradman.com/entrproject/code/${pname}-${version}.tar.gz";
+    sha256 = "1bi5fhr93n72pkap4mqsjd1pwnqjf6czg359c5xwczavfk6mamgh";
   };
 
   postPatch = ''
@@ -22,8 +22,9 @@ stdenv.mkDerivation rec {
   installFlags = [ "PREFIX=$(out)" ];
 
   meta = with lib; {
-    homepage = "http://entrproject.org/";
+    homepage = "https://eradman.com/entrproject/";
     description = "Run arbitrary commands when files change";
+    changelog = "https://github.com/eradman/entr/raw/${version}/NEWS";
     license = licenses.isc;
     platforms = platforms.all;
     maintainers = with maintainers; [ pSub synthetica ];
diff --git a/pkgs/tools/misc/esphome/default.nix b/pkgs/tools/misc/esphome/default.nix
index de06a60fbf29d..dba1b4b44909f 100644
--- a/pkgs/tools/misc/esphome/default.nix
+++ b/pkgs/tools/misc/esphome/default.nix
@@ -11,17 +11,17 @@ let
 
 in python.pkgs.buildPythonApplication rec {
   pname = "esphome";
-  version = "1.15.3";
+  version = "1.16.0";
 
   src = python.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "a75b53e76fb8b4b394eca18fe74f622ca740bc13b7cbc02e6af5f50126b7aa0b";
+    sha256 = "0pvwzkdcpjqdf7lh1k3xv1la5v60lhjixzykapl7f2xh71fbm144";
   };
 
   ESPHOME_USE_SUBPROCESS = "";
 
   propagatedBuildInputs = with python.pkgs; [
-    voluptuous pyyaml paho-mqtt colorlog
+    voluptuous pyyaml paho-mqtt colorlog colorama
     tornado protobuf tzlocal pyserial ifaddr
     protobuf click
   ];
@@ -49,6 +49,6 @@ in python.pkgs.buildPythonApplication rec {
     description = "Make creating custom firmwares for ESP32/ESP8266 super easy";
     homepage = "https://esphome.io/";
     license = licenses.mit;
-    maintainers = with maintainers; [ dotlambda globin ];
+    maintainers = with maintainers; [ dotlambda globin elseym ];
   };
 }
diff --git a/pkgs/tools/misc/exa/default.nix b/pkgs/tools/misc/exa/default.nix
index 83aa6c505d326..f275d254677c3 100644
--- a/pkgs/tools/misc/exa/default.nix
+++ b/pkgs/tools/misc/exa/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, fetchpatch, rustPlatform, cmake, perl, pkg-config, zlib
-, darwin, libiconv, installShellFiles
+, Security, libiconv, installShellFiles
 }:
 
 with rustPlatform;
@@ -28,9 +28,7 @@ buildRustPackage rec {
 
   nativeBuildInputs = [ cmake pkg-config perl installShellFiles ];
   buildInputs = [ zlib ]
-  ++ lib.optionals stdenv.isDarwin [
-    libiconv darwin.apple_sdk.frameworks.Security ]
-  ;
+    ++ lib.optionals stdenv.isDarwin [ libiconv Security ];
 
   outputs = [ "out" "man" ];
 
diff --git a/pkgs/tools/misc/expect/default.nix b/pkgs/tools/misc/expect/default.nix
index 6e8bb7fd96cd3..718da8dca4a70 100644
--- a/pkgs/tools/misc/expect/default.nix
+++ b/pkgs/tools/misc/expect/default.nix
@@ -1,8 +1,8 @@
 { lib, stdenv, fetchurl, tcl, makeWrapper, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  version = "5.45.4";
   pname = "expect";
+  version = "5.45.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/expect/Expect/${version}/expect${version}.tar.gz";
@@ -33,10 +33,13 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  outputs = [ "out" "dev" ];
+
   meta = with lib; {
     description = "A tool for automating interactive applications";
     homepage = "http://expect.sourceforge.net/";
-    license = "Expect";
+    license = licenses.publicDomain;
     platforms = platforms.unix;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/misc/fend/default.nix b/pkgs/tools/misc/fend/default.nix
index 0ca5f42f74dd0..6028140234e45 100644
--- a/pkgs/tools/misc/fend/default.nix
+++ b/pkgs/tools/misc/fend/default.nix
@@ -2,16 +2,22 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fend";
-  version = "0.1.13";
+  version = "0.1.14";
 
   src = fetchFromGitHub {
     owner = "printfn";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-dz6vGRsWc7ubc/drj2Qw/of8AciPgVzc4++Eozg0Luo=";
+    sha256 = "sha256-zKjYUkkm15YRF0YFJKi2A6twvmHuEyxdWcNs37r2dJg=";
   };
 
-  cargoSha256 = "sha256-/HBTmLZLhv89mvIVLocw9XbfOgxh9KsjA6KT60IuJeA=";
+  cargoSha256 = "sha256-e95DRhD22zvizUJOM2It45Bx05iK3KtaMgFPkMbR7iI=";
+
+  doInstallCheck = true;
+
+  installCheckPhase = ''
+    [[ "$($out/bin/fend "1 km to m")" = "1000 m" ]]
+  '';
 
   meta = with lib; {
     description = "Arbitrary-precision unit-aware calculator";
diff --git a/pkgs/tools/misc/flameshot/default.nix b/pkgs/tools/misc/flameshot/default.nix
index a923dbf651f44..f0ed87bcc22ba 100644
--- a/pkgs/tools/misc/flameshot/default.nix
+++ b/pkgs/tools/misc/flameshot/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "flameshot";
-  version = "0.8.5";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "flameshot-org";
     repo = "flameshot";
     rev = "v${version}";
-    sha256 = "1z77igs60lz106vsf6wsayxjafxm3llf2lm4dpvsqyyrxybfq191";
+    sha256 = "sha256-E5J61k1tVpbwlzYHbCY1rf9+GODcJRRAQwb0jR4s7BU=";
   };
 
   nativeBuildInputs = [ cmake qttools qtsvg ];
diff --git a/pkgs/tools/misc/fluent-bit/default.nix b/pkgs/tools/misc/fluent-bit/default.nix
index aa9f175e90047..a504efbf1eb23 100644
--- a/pkgs/tools/misc/fluent-bit/default.nix
+++ b/pkgs/tools/misc/fluent-bit/default.nix
@@ -2,18 +2,21 @@
 
 stdenv.mkDerivation rec {
   pname = "fluent-bit";
-  version = "1.6.8";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "fluent";
     repo = "fluent-bit";
     rev = "v${version}";
-    sha256 = "1k8ghz8xwy7v4y4r4xc690ig7qmn0mkvynplwn66j44fgdpg0v1s";
+    sha256 = "1xzbsnij0xsgd5j11frkf35w8rkr55hq2yl7myaxrgzh686a8law";
   };
 
   nativeBuildInputs = [ cmake flex bison ];
 
-  patches = [ ./fix-luajit-darwin.patch ];
+  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";
 
   postPatch = ''
     substituteInPlace src/CMakeLists.txt \
diff --git a/pkgs/tools/misc/fontfor/default.nix b/pkgs/tools/misc/fontfor/default.nix
new file mode 100644
index 0000000000000..c77809ece1edf
--- /dev/null
+++ b/pkgs/tools/misc/fontfor/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, cmake
+, pkg-config
+, expat
+, fontconfig
+, freetype
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "fontfor";
+  version = "0.3.1";
+
+  src = fetchFromGitHub {
+    owner = "7sDream";
+    repo = "fontfor";
+    rev = "v${version}";
+    sha256 = "1b07hd41blwsnb91vh2ax9zigm4lh8n0i5man0cjmxhavvbfy12b";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+  buildInputs = [
+    expat
+    fontconfig
+    freetype
+  ];
+
+  cargoSha256 = "194c4knjfb3pnpvw3zl1srwx3q1jp6z78vzln0q2mk5nf0a35yy0";
+
+  meta = with lib; {
+    description = "Find fonts which can show a specified character and preview them in browser";
+    homepage = "https://github.com/7sDream/fontfor";
+    license = with licenses; [ gpl3Plus ];
+    maintainers = with maintainers; [ shamilton ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/fontforge/default.nix b/pkgs/tools/misc/fontforge/default.nix
index 2140e405ff4ab..ffee232172c0d 100644
--- a/pkgs/tools/misc/fontforge/default.nix
+++ b/pkgs/tools/misc/fontforge/default.nix
@@ -1,5 +1,4 @@
-{ stdenv, fetchurl, lib
-, fetchpatch
+{ stdenv, fetchFromGitHub, lib
 , cmake, perl, uthash, pkg-config, gettext
 , python, freetype, zlib, glib, libungif, libpng, libjpeg, libtiff, libxml2, cairo, pango
 , readline, woff2, zeromq, libuninameslist
@@ -15,25 +14,15 @@ assert withGTK -> withGUI;
 
 stdenv.mkDerivation rec {
   pname = "fontforge";
-  version = "20200314";
+  version = "20201107";
 
-  src = fetchurl {
-    url = "https://github.com/${pname}/${pname}/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "0qf88wd6riycq56d24brybyc93ns74s0nyyavm43zp2kfcihn6fd";
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-Rl/5lbXaPgIndANaD0IakaDus6T53FjiBb45FIuGrvc=";
   };
 
-  patches = [
-    # Unreleased fix for https://github.com/fontforge/fontforge/issues/4229
-    # which is required to fix an uninterposated `${CMAKE_INSTALL_PREFIX}/lib`, see
-    # see https://github.com/nh2/static-haskell-nix/pull/98#issuecomment-665395399
-    # TODO: Remove https://github.com/fontforge/fontforge/pull/4232 is in a release.
-    (fetchpatch {
-      name = "fontforge-cmake-set-rpath-to-the-configure-time-CMAKE_INSTALL_PREFIX";
-      url = "https://github.com/fontforge/fontforge/commit/297ee9b5d6db5970ca17ebe5305189e79a1520a1.patch";
-      sha256 = "14qfp8pwh0vzzib4hq2nc6xhn8lc1cal1sb0lqwb2q5dijqx5kqk";
-    })
-  ];
-
   # use $SOURCE_DATE_EPOCH instead of non-deterministic timestamps
   postPatch = ''
     find . -type f -name '*.c' -exec sed -r -i 's#\btime\(&(.+)\)#if (getenv("SOURCE_DATE_EPOCH")) \1=atol(getenv("SOURCE_DATE_EPOCH")); else &#g' {} \;
diff --git a/pkgs/tools/misc/fwup/default.nix b/pkgs/tools/misc/fwup/default.nix
index 4d072e6d2bfa4..5d3259c4b6e56 100644
--- a/pkgs/tools/misc/fwup/default.nix
+++ b/pkgs/tools/misc/fwup/default.nix
@@ -1,27 +1,68 @@
-{ stdenv, lib, fetchFromGitHub, autoreconfHook, makeWrapper, pkg-config
-, zlib, lzma, bzip2, mtools, dosfstools, zip, unzip, libconfuse, libsodium
-, libarchive, darwin, coreutils }:
+{ stdenv
+, lib
+, fetchFromGitHub
+, autoreconfHook
+, DiskArbitration
+, pkg-config
+, bzip2
+, libarchive
+, libconfuse
+, libsodium
+, lzma
+, zlib
+, coreutils
+, dosfstools
+, mtools
+, unzip
+, zip
+, which
+, xdelta
+}:
 
 stdenv.mkDerivation rec {
   pname = "fwup";
-  version = "1.5.2";
+  version = "1.8.3";
 
   src = fetchFromGitHub {
     owner = "fhunleth";
     repo = "fwup";
     rev = "v${version}";
-    sha256 = "05sjdlh450hk474a44yr6kz9dzx72jfxpi1krxbd0pdizlmfypsg";
+    sha256 = "sha256-ayfcnIZ7MuBsCy1giwmY2D2C6AukwS+fevmXqGa4c1w=";
   };
 
-  doCheck = true;
-  patches = lib.optional stdenv.isDarwin [ ./fix-testrunner-darwin.patch ];
+  patches = [ ./fix-testrunner-darwin.patch ];
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+  ];
 
-  nativeBuildInputs = [ pkg-config autoreconfHook makeWrapper ];
-  buildInputs = [ zlib lzma bzip2 libconfuse libsodium libarchive ]
+  buildInputs = [
+    bzip2
+    libarchive
+    libconfuse
+    libsodium
+    lzma
+    zlib
+  ]
     ++ lib.optionals stdenv.isDarwin [
-      darwin.apple_sdk.frameworks.DiskArbitration
-    ];
-  propagatedBuildInputs = [ zip unzip mtools dosfstools coreutils ];
+    DiskArbitration
+  ];
+
+  propagatedBuildInputs = [
+    coreutils
+    dosfstools
+    mtools
+    unzip
+    zip
+  ];
+
+  checkInputs = [
+    which
+    xdelta
+  ];
+
+  doCheck = true;
 
   meta = with lib; {
     description = "Configurable embedded Linux firmware update creator and runner";
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index 837277a5c8585..25542543d658d 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -1,28 +1,20 @@
-{ lib, buildGoModule, fetchFromGitHub, writeText, runtimeShell, ncurses, perl, fetchpatch }:
+{ lib, buildGoModule, fetchFromGitHub, writeText, runtimeShell, ncurses, perl }:
 
 buildGoModule rec {
   pname = "fzf";
-  version = "0.25.0";
+  version = "0.25.1";
 
   src = fetchFromGitHub {
     owner = "junegunn";
     repo = pname;
     rev = version;
-    sha256 = "1j5bfxl4w8w3n89p051y8dhxg0py9l98v7r2gkr63bg4lj32faz8";
+    sha256 = "085apa4msw8v8f57942xh7wfw3dkavrl9d58yj6i3yr75l3vg05r";
   };
 
   vendorSha256 = "0dd0qm1fxp3jnlrhfaas8fw87cj7rygaac35a9nk3xh2xsk7q35p";
 
   outputs = [ "out" "man" ];
 
-  patches = [
-    # Fix test failure on go 1.15
-    (fetchpatch {
-      url = "https://github.com/junegunn/fzf/commit/82791f7efccde5b30da0b4d44f10d214ae5c0c0d.patch";
-      sha256 = "1nybsz09h8cnvxjnkmx9c52g8z0x6pvrn230hw1va5a3pvmg01z1";
-    })
-  ];
-
   fishHook = writeText "load-fzf-keybindings.fish" "fzf_key_bindings";
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/tools/misc/gammy/default.nix b/pkgs/tools/misc/gammy/default.nix
index 9f9a73a989e1b..e06d20eb2ff7c 100644
--- a/pkgs/tools/misc/gammy/default.nix
+++ b/pkgs/tools/misc/gammy/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "gammy";
-  version = "0.9.62";
+  version = "0.9.64";
 in
 
 stdenv.mkDerivation {
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
     owner = "Fushko";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-fyr+khLgaX5xbKCW3pqt6fFvZBHGEVs1BsMireZDxP0=";
+    sha256 = "sha256-NPvkT7jSbDjcZDHpMIOik9fNsz7OJXQ3g9OFxkpA3pk=";
   };
 
   nativeBuildInputs = [ qmake wrapQtAppsHook ];
diff --git a/pkgs/tools/misc/geekbench/default.nix b/pkgs/tools/misc/geekbench/default.nix
index d6b0c84b61f22..17e67c0bc75e0 100644
--- a/pkgs/tools/misc/geekbench/default.nix
+++ b/pkgs/tools/misc/geekbench/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "geekbench";
-  version = "5.3.1";
+  version = "5.3.2";
 
   src = fetchurl {
     url = "https://cdn.geekbench.com/Geekbench-${version}-Linux.tar.gz";
-    sha256 = "0hil3mvrwpwy60x9s16bf8vgvfv11sdarcbk45zjlgjzfhh8h2qr";
+    sha256 = "sha256-SdmcyOgK8k07pkjOVWLbNj36ktJnkQWJ8ObPiMgcMYk=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/tools/misc/goreleaser/default.nix b/pkgs/tools/misc/goreleaser/default.nix
index 6611b3e9210a2..b5fc2d0d2bc0e 100644
--- a/pkgs/tools/misc/goreleaser/default.nix
+++ b/pkgs/tools/misc/goreleaser/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "goreleaser";
-  version = "0.155.0";
+  version = "0.157.0";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-wVHBcxbrU6WvBAegQYDRDvLbuoU49/Cm19ujghNyi2A=";
+    sha256 = "sha256-wUlAllWBGJBZ98lbf2pOfW3a31r74py5Zh7uszkRYqA=";
   };
 
-  vendorSha256 = "sha256-k4TphR8z3DtoqJm6o6QILvQ1rHIldi1BpQJbEyWKv9U=";
+  vendorSha256 = "sha256-8SOUFlbwGwRuOB50V9eXE9KQWGiSexTZct6Rux6Stuw=";
 
   buildFlagsArray = [
     "-ldflags="
diff --git a/pkgs/tools/misc/graylog/default.nix b/pkgs/tools/misc/graylog/default.nix
index 5be309be582fb..8ebb2924b0360 100644
--- a/pkgs/tools/misc/graylog/default.nix
+++ b/pkgs/tools/misc/graylog/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   dontBuild = true;
   dontStrip = true;
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
   makeWrapperArgs = [ "--prefix" "PATH" ":" "${jre_headless}/bin" ];
 
   passthru.tests = { inherit (nixosTests) graylog; };
diff --git a/pkgs/tools/misc/grex/default.nix b/pkgs/tools/misc/grex/default.nix
index fca9cecc01c70..d58661babc606 100644
--- a/pkgs/tools/misc/grex/default.nix
+++ b/pkgs/tools/misc/grex/default.nix
@@ -2,7 +2,7 @@
 , fetchFromGitHub
 , fetchpatch
 , rustPlatform
-, darwin
+, Security
 , libiconv
 }:
 
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "1viph7ki6f2akc5mpbgycacndmxnv088ybfji2bfdbi5jnpyavvs";
   };
 
-  buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
+  buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
   doInstallCheck = true;
   installCheckPhase = ''
diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix
index bc933312afc5e..19d2e862ec4b7 100644
--- a/pkgs/tools/misc/grub/2.0x.nix
+++ b/pkgs/tools/misc/grub/2.0x.nix
@@ -1,10 +1,14 @@
 { lib, stdenv, fetchgit, flex, bison, python3, autoconf, automake, gnulib, libtool
 , gettext, ncurses, libusb-compat-0_1, freetype, qemu, lvm2, unifont, pkg-config
+, pkgsBuildBuild
+, nixosTests
 , fuse # only needed for grub-mount
+, runtimeShell
 , zfs ? null
 , efiSupport ? false
 , zfsSupport ? false
 , xenSupport ? false
+, kbdcompSupport ? false, ckbcomp
 }:
 
 with lib;
@@ -53,11 +57,20 @@ stdenv.mkDerivation rec {
     ./fix-bash-completion.patch
   ];
 
-  nativeBuildInputs = [ bison flex python3 pkg-config autoconf automake ];
-  buildInputs = [ ncurses libusb-compat-0_1 freetype gettext lvm2 fuse libtool ]
+  postPatch = if kbdcompSupport then ''
+    sed -i util/grub-kbdcomp.in -e 's@\bckbcomp\b@${ckbcomp}/bin/ckbcomp@'
+  '' else ''
+    echo '#! ${runtimeShell}' > util/grub-kbdcomp.in
+    echo 'echo "Compile grub2 with { kbdcompSupport = true; } to enable support for this command."' >> util/grub-kbdcomp.in
+  '';
+
+  nativeBuildInputs = [ bison flex python3 pkg-config autoconf automake gettext ];
+  buildInputs = [ ncurses libusb-compat-0_1 freetype lvm2 fuse libtool ]
     ++ optional doCheck qemu
     ++ optional zfsSupport zfs;
 
+  strictDeps = true;
+
   hardeningDisable = [ "all" ];
 
   # Work around a bug in the generated flex lexer (upstream flex bug?)
@@ -90,7 +103,10 @@ stdenv.mkDerivation rec {
       substituteInPlace ./configure --replace '/usr/share/fonts/unifont' '${unifont}/share/fonts'
     '';
 
-  configureFlags = [ "--enable-grub-mount" ] # dep of os-prober
+  configureFlags = [
+    "--enable-grub-mount" # dep of os-prober
+    "BUILD_CC=${pkgsBuildBuild.stdenv.cc}/bin/cc"
+  ]
     ++ optional zfsSupport "--enable-libzfs"
     ++ optionals efiSupport [ "--with-platform=efi" "--target=${efiSystemsBuild.${stdenv.hostPlatform.system}.target}" "--program-prefix=" ]
     ++ optionals xenSupport [ "--with-platform=xen" "--target=${efiSystemsBuild.${stdenv.hostPlatform.system}.target}"];
@@ -110,6 +126,14 @@ stdenv.mkDerivation rec {
     sed -i $out/lib/grub/*/modinfo.sh -e "/grub_target_cppflags=/ s|'.*'|' '|"
   '';
 
+  passthru.tests = {
+    nixos-grub = nixosTests.grub;
+    nixos-install-simple = nixosTests.installer.simple;
+    nixos-install-grub1 = nixosTests.installer.grub1;
+    nixos-install-grub-uefi = nixosTests.installer.simpleUefiGrub;
+    nixos-install-grub-uefi-spec = nixosTests.installer.simpleUefiGrubSpecialisation;
+  };
+
   meta = with lib; {
     description = "GNU GRUB, the Grand Unified Boot Loader (2.x beta)";
 
diff --git a/pkgs/tools/misc/hddtemp/default.nix b/pkgs/tools/misc/hddtemp/default.nix
index de57b25399049..3939d60144d9e 100644
--- a/pkgs/tools/misc/hddtemp/default.nix
+++ b/pkgs/tools/misc/hddtemp/default.nix
@@ -1,32 +1,38 @@
 { lib, stdenv, fetchurl }:
-
-stdenv.mkDerivation {
-  name = "hddtemp-0.3_beta15";
-
-  db = fetchurl{
+let
+  db = fetchurl {
     url = "mirror://savannah/hddtemp/hddtemp.db";
     sha256 = "1fr6qgns6qv7cr40lic5yqwkkc7yjmmgx8j0z6d93csg3smzhhya";
   };
 
+in
+stdenv.mkDerivation rec {
+  pname = "hddtemp";
+  version = "0.3-beta15";
+
   src = fetchurl {
-    url = "mirror://savannah/hddtemp/hddtemp-0.3-beta15.tar.bz2";
-    sha256 = "0nzgg4nl8zm9023wp4dg007z6x3ir60rwbcapr9ks2al81c431b1";
+    url = "mirror://savannah/hddtemp/hddtemp-${version}.tar.bz2";
+    sha256 = "sha256-YYVBWEBUCT1TvootnoHJcXTzDwCvkcuHAKl+RC1571s=";
   };
 
   # from Gentoo
   patches = [ ./byteswap.patch ./dontwake.patch ./execinfo.patch ./satacmds.patch ];
 
-  configurePhase =
-    ''
-      mkdir -p $out/nix-support
-      cp $db $out/nix-support/hddtemp.db
-      ./configure --prefix=$out --with-db-path=$out/nix-support/hddtemp.db
-    '';
+  configureFlags = [
+    "--with-db-path=${placeholder "out"}/share/${pname}/hddtemp.db"
+  ];
+
+  postInstall = ''
+    install -Dm444 ${db} $out/share/${pname}/hddtemp.db
+  '';
+
+  enableParallelBuilding = true;
 
   meta = with lib; {
     description = "Tool for displaying hard disk temperature";
     homepage = "https://savannah.nongnu.org/projects/hddtemp/";
     license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ peterhoeg ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/hdf4/default.nix b/pkgs/tools/misc/hdf4/default.nix
index d127bc25c3c69..5373c64d647c3 100644
--- a/pkgs/tools/misc/hdf4/default.nix
+++ b/pkgs/tools/misc/hdf4/default.nix
@@ -4,11 +4,15 @@
 , fixDarwinDylibNames
 , cmake
 , libjpeg
+, uselibtirpc ? stdenv.isLinux
 , libtirpc
 , zlib
 , szip ? null
+, javaSupport ? false
+, jdk
 }:
-let uselibtirpc = stdenv.isLinux;
+let
+  javabase = "${jdk}/jre/lib/${jdk.architecture}";
 in
 stdenv.mkDerivation rec {
   pname = "hdf";
@@ -52,9 +56,9 @@ stdenv.mkDerivation rec {
     libjpeg
     szip
     zlib
-  ] ++ lib.optionals uselibtirpc [
-    libtirpc
-  ];
+  ]
+  ++ lib.optional javaSupport jdk
+  ++ lib.optional uselibtirpc libtirpc;
 
   preConfigure = lib.optionalString uselibtirpc ''
     # Make tirpc discovery work with CMAKE_PREFIX_PATH
@@ -75,6 +79,11 @@ stdenv.mkDerivation rec {
     "-DHDF4_ENABLE_Z_LIB_SUPPORT=ON"
     "-DHDF4_BUILD_FORTRAN=OFF"
     "-DJPEG_DIR=${libjpeg}"
+  ] ++ lib.optionals javaSupport [
+    "-DHDF4_BUILD_JAVA=ON"
+    "-DJAVA_HOME=${jdk}"
+    "-DJAVA_AWT_LIBRARY=${javabase}/libawt.so"
+    "-DJAVA_JVM_LIBRARY=${javabase}/server/libjvm.so"
   ] ++ lib.optionals (szip != null) [
     "-DHDF4_ENABLE_SZIP_ENCODING=ON"
     "-DHDF4_ENABLE_SZIP_SUPPORT=ON"
diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix
index fc7bb635040a1..e97a6dbdd1897 100644
--- a/pkgs/tools/misc/hdf5/default.nix
+++ b/pkgs/tools/misc/hdf5/default.nix
@@ -8,6 +8,8 @@
 , mpiSupport ? false
 , mpi
 , enableShared ? !stdenv.hostPlatform.isStatic
+, javaSupport ? false
+, jdk
 }:
 
 # cpp and mpi options are mutually exclusive
@@ -17,11 +19,11 @@ assert !cpp || !mpiSupport;
 let inherit (lib) optional optionals; in
 
 stdenv.mkDerivation rec {
-  version = "1.10.6";
+  version = "1.10.7";
   pname = "hdf5";
   src = fetchurl {
     url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/${pname}-${version}/src/${pname}-${version}.tar.bz2";
-    sha256 = "1gf38x51128hn00744358w27xgzjk0ff4wra4yxh2lk804ck1mh9";
+    sha256 = "0pm5xxry55i0h7wmvc7svzdaa90rnk7h78rrjmnlkz2ygsn8y082";
   };
 
   passthru = {
@@ -35,7 +37,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = []
     ++ optional (gfortran != null) gfortran
-    ++ optional (szip != null) szip;
+    ++ optional (szip != null) szip
+    ++ optional javaSupport jdk;
 
   propagatedBuildInputs = []
     ++ optional (zlib != null) zlib
@@ -46,7 +49,8 @@ stdenv.mkDerivation rec {
     ++ optional (gfortran != null) "--enable-fortran"
     ++ optional (szip != null) "--with-szlib=${szip}"
     ++ optionals mpiSupport ["--enable-parallel" "CC=${mpi}/bin/mpicc"]
-    ++ optional enableShared "--enable-shared";
+    ++ optional enableShared "--enable-shared"
+    ++ optional javaSupport "--enable-java";
 
   patches = [
     ./bin-mv.patch
diff --git a/pkgs/tools/misc/hdfjava/default.nix b/pkgs/tools/misc/hdfjava/default.nix
deleted file mode 100644
index 70a2f091116b5..0000000000000
--- a/pkgs/tools/misc/hdfjava/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, stdenv, fetchurl, cmake, javac }:
-
-stdenv.mkDerivation rec {
-  pname = "hdf-java";
-  version = "3.3.2";
-
-  src = fetchurl {
-    url = "http://www.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/hdfjni-${version}/src/CMake-hdfjava-${version}.tar.gz";
-    sha256 = "0m1gp2aspcblqzmpqbdpfp6giskws85ds6p5gz8sx7asyp7wznpr";
-  };
-
-  nativeBuildInputs = [ cmake javac ];
-
-  dontConfigure = true;
-  buildPhase = "./build-hdfjava-unix.sh";
-  installPhase = ''
-    mkdir -p $out
-    cp -r build/_CPack_Packages/Linux/TGZ/HDFJava-3.3.2-Linux/HDF_Group/HDFJava/${version}/* $out/
-  '';
-
-  meta = {
-    description = "A Java package that implements HDF4 and HDF5 data objects in an object-oriented form";
-    license = lib.licenses.free; # BSD-like
-    homepage = "https://support.hdfgroup.org/products/java/index.html";
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/pkgs/tools/misc/hdfview/default.nix b/pkgs/tools/misc/hdfview/default.nix
index dc13bb52791fb..8537e5748c30a 100644
--- a/pkgs/tools/misc/hdfview/default.nix
+++ b/pkgs/tools/misc/hdfview/default.nix
@@ -1,39 +1,58 @@
-{ lib, stdenv, fetchurl, ant, javac, hdf_java }:
+{ lib, stdenv, fetchurl, ant, jdk, nettools, hdf4, hdf5, makeDesktopItem, copyDesktopItems }:
 
 stdenv.mkDerivation rec {
   pname = "hdfview";
-  version = "2.14";
+  version = "3.1.2";
 
   src = fetchurl {
-    url = "https://support.hdfgroup.org/ftp/HDF5/hdf-java/current/src/${pname}-${version}.tar.gz";
-    sha256 = "0lv9djfm7hnp14mcyzbiax3xjb8vkbzhh7bdl6cvgy53pc08784p";
+    url = "https://support.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/${pname}-${version}/src/${pname}-${version}.tar.gz";
+    sha256 = "0kyw9i3f817z71l0ak7shl0wqxasz9h5fl05mklyapa7cj27637c";
   };
 
-  nativeBuildInputs = [ ant javac ];
+  nativeBuildInputs = [
+    ant jdk
+    nettools  # "hostname" required
+    copyDesktopItems
+  ];
 
-  HDFLIBS = hdf_java;
+  HDFLIBS = (hdf4.override { javaSupport = true; }).out;
+  HDF5LIBS = (hdf5.override { javaSupport = true; }).out;
 
   buildPhase = ''
-    ant run
-    ant package
+    runHook preBuild
+
+    ant createJPackage
+
+    runHook postBuild
   '';
 
+  desktopItem = makeDesktopItem rec {
+    name = "HDFView";
+    desktopName = name;
+    exec = name;
+    icon = name;
+    comment = meta.description;
+    categories = "Science;DataVisualization;";
+  };
+
   installPhase = ''
-    mkdir $out
-    # exclude jre
-    cp -r build/HDF_Group/HDFView/*/{lib,share} $out/
-    mkdir $out/bin
-    cp -r build/HDF_Group/HDFView/*/hdfview.sh $out/bin/hdfview
-    chmod +x $out/bin/hdfview
-    substituteInPlace $out/bin/hdfview \
-      --replace "@JAVABIN@" "${javac}/bin/" \
-      --replace "@INSTALLDIR@" "$out"
+    runHook preInstall
+
+    mkdir -p $out/bin $out/lib
+    cp -a build/dist/HDFView/bin/HDFView $out/bin/
+    cp -a build/dist/HDFView/lib/app $out/lib/
+    ln -s ${jdk}/lib/openjdk $out/lib/runtime
+
+    mkdir -p $out/share/applications $out/share/icons/hicolor/32x32/apps
+    cp src/HDFView.png $out/share/icons/hicolor/32x32/apps/
+
+    runHook postInstall
   '';
 
   meta = {
     description = "A visual tool for browsing and editing HDF4 and HDF5 files";
     license = lib.licenses.free; # BSD-like
-    homepage = "https://support.hdfgroup.org/products/java/index.html";
+    homepage = "https://portal.hdfgroup.org/display/HDFVIEW/HDFView";
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/hdl-dump/default.nix b/pkgs/tools/misc/hdl-dump/default.nix
index 6a6af1391bda5..e5f3afb03d573 100644
--- a/pkgs/tools/misc/hdl-dump/default.nix
+++ b/pkgs/tools/misc/hdl-dump/default.nix
@@ -1,20 +1,19 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , upx
 }:
 
-let
-  version = "20202807";
+stdenv.mkDerivation rec {
   pname = "hdl-dump";
-in stdenv.mkDerivation {
-  inherit pname version;
+  version = "20202807";
 
   # Using AkuHAK's repo because playstation2's repo is outdated
   src = fetchFromGitHub {
     owner = "AKuHAK";
     repo = pname;
-    rev = "be37e112a44772a1341c867dc3dfee7381ce9e59";
-    sha256 = "0akxak6hm11h8z6jczxgr795s4a8czspwnhl3swqxp803dvjdx41";
+    rev = "0c98b235c83c0fca1da93648f05ea5f940a4aee0";
+    sha256 = "1s3wflqjjlcslpa9n5chr8dbamhmfk88885dzw68apz4vf6g27iq";
   };
 
   buildInputs = [ upx ];
diff --git a/pkgs/tools/misc/html-proofer/Gemfile.lock b/pkgs/tools/misc/html-proofer/Gemfile.lock
index 3bd45730313a8..81d5b763ca360 100644
--- a/pkgs/tools/misc/html-proofer/Gemfile.lock
+++ b/pkgs/tools/misc/html-proofer/Gemfile.lock
@@ -6,7 +6,7 @@ GEM
     ethon (0.12.0)
       ffi (>= 1.3.0)
     ffi (1.14.2)
-    html-proofer (3.18.5)
+    html-proofer (3.18.6)
       addressable (~> 2.3)
       mercenary (~> 0.3)
       nokogumbo (~> 2.0)
@@ -15,13 +15,15 @@ GEM
       typhoeus (~> 1.3)
       yell (~> 2.0)
     mercenary (0.4.0)
-    mini_portile2 (2.4.0)
-    nokogiri (1.10.10)
-      mini_portile2 (~> 2.4.0)
+    mini_portile2 (2.5.0)
+    nokogiri (1.11.1)
+      mini_portile2 (~> 2.5.0)
+      racc (~> 1.4)
     nokogumbo (2.0.4)
       nokogiri (~> 1.8, >= 1.8.4)
     parallel (1.20.1)
     public_suffix (4.0.6)
+    racc (1.5.2)
     rainbow (3.0.0)
     typhoeus (1.4.0)
       ethon (>= 0.9.0)
diff --git a/pkgs/tools/misc/html-proofer/gemset.nix b/pkgs/tools/misc/html-proofer/gemset.nix
index 92ce4b8bf82c8..b0571be30ad47 100644
--- a/pkgs/tools/misc/html-proofer/gemset.nix
+++ b/pkgs/tools/misc/html-proofer/gemset.nix
@@ -37,10 +37,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bz0041fizdmggc5k9an4s3qk6diyybn2agcia2wr96vymfb2qjh";
+      sha256 = "0x8yq7hiv5wd44a0d0xhrqkjgaz3i1zjr2p6c0i7fbhq1wi8zy07";
       type = "gem";
     };
-    version = "3.18.5";
+    version = "3.18.6";
   };
   mercenary = {
     groups = ["default"];
@@ -57,21 +57,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy";
+      sha256 = "1hdbpmamx8js53yk3h8cqy12kgv6ca06k0c9n3pxh6b6cjfs19x7";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "2.5.0";
   };
   nokogiri = {
-    dependencies = ["mini_portile2"];
+    dependencies = ["mini_portile2" "racc"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xmf60nj5kg9vaj5bysy308687sgmkasgx06vbbnf94p52ih7si2";
+      sha256 = "1ajwkqr28hwqbyl1l3czx4a34c88acxywyqp8cjyy0zgsd6sbhj2";
       type = "gem";
     };
-    version = "1.10.10";
+    version = "1.11.1";
   };
   nokogumbo = {
     dependencies = ["nokogiri"];
@@ -104,6 +104,16 @@
     };
     version = "4.0.6";
   };
+  racc = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "178k7r0xn689spviqzhvazzvxfq6fyjldxb3ywjbgipbfi4s8j1g";
+      type = "gem";
+    };
+    version = "1.5.2";
+  };
   rainbow = {
     groups = ["default"];
     platforms = [];
diff --git a/pkgs/tools/misc/ili2c/default.nix b/pkgs/tools/misc/ili2c/default.nix
index c2f4c991a708f..93b61ec12dd30 100644
--- a/pkgs/tools/misc/ili2c/default.nix
+++ b/pkgs/tools/misc/ili2c/default.nix
@@ -3,7 +3,7 @@
 let jdk = jdk8; jre = jre8; in
 stdenv.mkDerivation rec {
   pname = "ili2c";
-  version = "5.0.8";
+  version = "5.1.1";
 
   nativeBuildInputs = [ ant jdk makeWrapper ];
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner = "claeis";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "1yhsyh940kb33y2n6xl7zhf0f6q0nrxbyg6c4g5n2imllpn54sgi";
+    sha256 = "sha256-FHhx+f253+UdbFjd2fOlUY1tpQ6pA2aVu9CBSwUVoKQ=";
   };
 
   buildPhase = "ant jar";
diff --git a/pkgs/tools/misc/iotools/default.nix b/pkgs/tools/misc/iotools/default.nix
new file mode 100644
index 0000000000000..12411aac6c6f5
--- /dev/null
+++ b/pkgs/tools/misc/iotools/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, lib, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "iotools";
+  version = "unstable-2017-12-11";
+
+  src = fetchFromGitHub {
+    owner = "adurbin";
+    repo = pname;
+    rev = "18949fdc4dedb1da3f51ee83a582b112fb9f2c71";
+    sha256 = "0vymnah44d5bzsjhfmxkcrlrikkp0db22k7a1s8bknz7glk9fldn";
+  };
+
+  makeFlags = [ "DEBUG=0" "STATIC=0" ];
+
+  installPhase = ''
+    install -Dm755 iotools -t $out/bin
+  '';
+
+  meta = with lib; {
+    description = "Set of simple command line tools which allow access to
+      hardware device registers";
+    longDescription = ''
+      Provides a set of simple command line tools which allow access to
+      hardware device registers. Supported register interfaces include PCI,
+      IO, memory mapped IO, SMBus, CPUID, and MSR. Also included are some
+      utilities which allow for simple arithmetic, logical, and other
+      operations.
+    '';
+    homepage = "https://github.com/adurbin/iotools";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ felixsinger ];
+    platforms = [ "x86_64-linux" "i686-linux" ];
+  };
+}
diff --git a/pkgs/tools/misc/ix/default.nix b/pkgs/tools/misc/ix/default.nix
index ed47e477854c0..83d8a77041927 100644
--- a/pkgs/tools/misc/ix/default.nix
+++ b/pkgs/tools/misc/ix/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
     sha256 =  "0xc2s4s1aq143zz8lgkq5k25dpf049dw253qxiav5k7d7qvzzy57";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   phases = [ "installPhase" "fixupPhase" ];
 
diff --git a/pkgs/tools/misc/jdupes/default.nix b/pkgs/tools/misc/jdupes/default.nix
index 4f13d0a17af26..c42abee5e23f5 100644
--- a/pkgs/tools/misc/jdupes/default.nix
+++ b/pkgs/tools/misc/jdupes/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "jdupes";
-  version = "1.19.0";
+  version = "1.19.1";
 
   src = fetchFromGitHub {
     owner = "jbruchon";
     repo  = "jdupes";
     rev   = "v${version}";
-    sha256 = "1f6qv701c4c9s4hliha7kp8wraq4jfx1jdk86ii10akkm07fkdlz";
+    sha256 = "sha256-1gx3rStqIxLt/iRgpdp5z7tX1/wA0miZ1y5WTeGQ1Vs=";
     # Unicode file names lead to different checksums on HFS+ vs. other
     # filesystems because of unicode normalisation. The testdir
     # directories have such files and will be removed.
diff --git a/pkgs/tools/misc/jstest-gtk/default.nix b/pkgs/tools/misc/jstest-gtk/default.nix
new file mode 100644
index 0000000000000..6824753c73ce5
--- /dev/null
+++ b/pkgs/tools/misc/jstest-gtk/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, lib, fetchFromGitLab, cmake, pkg-config, gtkmm3, libsigcxx, xorg }:
+
+stdenv.mkDerivation rec {
+  pname = "jstest-gtk";
+  version = "2018-07-10";
+
+  src = fetchFromGitLab {
+    owner = pname;
+    repo = pname;
+    rev = "62f6e2d7d44620e503149510c428df9e004c9f3b";
+    sha256 = "0icbbhrj5aqljhiavdy3hic60vp0zzfzyg0d6vpjaqkbzd5pv9d8";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs = [ gtkmm3 libsigcxx xorg.libX11 ];
+
+  meta = with lib; {
+    description = "A simple joystick tester based on Gtk+";
+    longDescription = ''
+      It provides you with a list of attached joysticks, a way to display which
+      buttons and axis are pressed, a way to remap axis and buttons and a way
+      to calibrate your joystick.
+    '';
+    homepage = "https://jstest-gtk.gitlab.io/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ wucke13 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/kak-lsp/default.nix b/pkgs/tools/misc/kak-lsp/default.nix
index 1c2d7ab6717b7..51134e48c041f 100644
--- a/pkgs/tools/misc/kak-lsp/default.nix
+++ b/pkgs/tools/misc/kak-lsp/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, lib, darwin, fetchFromGitHub, rustPlatform }:
+{ stdenv, lib, fetchFromGitHub, rustPlatform, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "kak-lsp";
-  version = "8.0.0";
+  version = "9.0.0";
 
   src = fetchFromGitHub {
-    owner = "ul";
+    owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0nka51szivwhlfkimjiyzj67nxh75m784c28ass6ihlfax631w9m";
+    sha256 = "1wfv2fy5ga6kc51zka3pak0hq97csm2l11bz74w3n1hrf5q9nnf8";
   };
 
-  cargoSha256 = "174qy50m9487vv151vm8q6sby79dq3gbqjbz6h4326jwsc9wwi8c";
+  cargoSha256 = "0g67s6n45rxvv1q5s7x5ajh5n16p68bhlsrsjp46qamrraz63d68";
 
-  buildInputs = lib.optional stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
+  buildInputs = lib.optional stdenv.isDarwin [ Security ];
 
   meta = with lib; {
     description = "Kakoune Language Server Protocol Client";
diff --git a/pkgs/tools/misc/keychain/default.nix b/pkgs/tools/misc/keychain/default.nix
index 49b3ffbb7dde9..61abb3eee105d 100644
--- a/pkgs/tools/misc/keychain/default.nix
+++ b/pkgs/tools/misc/keychain/default.nix
@@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
     sha256 = "1bkjlg0a2bbdjhwp37ci1rwikvrl4s3xlbf2jq2z4azc96dr83mj";
   };
 
-  buildInputs = [ makeWrapper perl ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ perl ];
 
   installPhase = ''
     mkdir -p $out/{bin,share/man/man1}
diff --git a/pkgs/tools/misc/krapslog/default.nix b/pkgs/tools/misc/krapslog/default.nix
new file mode 100644
index 0000000000000..4574d6c3534a3
--- /dev/null
+++ b/pkgs/tools/misc/krapslog/default.nix
@@ -0,0 +1,22 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "krapslog";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "acj";
+    repo = "krapslog-rs";
+    rev = version;
+    sha256 = "1yllvy3z3115aqxhnjn9rq2z67rgf2w53naygnl6ixpjhpafcr3k";
+  };
+
+  cargoSha256 = "05gvl6yiyibcdscdf9a6k28xizdr5kfqbhynfbjny2hpqqjmnxzl";
+
+  meta = with lib; {
+    description = "Visualize a log file with sparklines";
+    homepage = "https://github.com/acj/krapslog-rs";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ yanganto ];
+  };
+}
diff --git a/pkgs/tools/misc/lbdb/default.nix b/pkgs/tools/misc/lbdb/default.nix
index d33cdbacb15e5..fd8b805743aca 100644
--- a/pkgs/tools/misc/lbdb/default.nix
+++ b/pkgs/tools/misc/lbdb/default.nix
@@ -19,7 +19,8 @@ stdenv.mkDerivation {
     sha256 = "1gr5l2fr9qbdccga8bhsrpvz6jxigvfkdxrln9wyf2xpps5cdjxh";
   };
 
-  buildInputs = [ goobook makeWrapper perl ConvertASN1 perlldap AuthenSASL ]
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ goobook perl ConvertASN1 perlldap AuthenSASL ]
     ++ optional (!stdenv.isDarwin) finger_bsd
     ++ optional   (abook != null) abook
     ++ optional   (gnupg != null) gnupg
diff --git a/pkgs/tools/misc/lf/default.nix b/pkgs/tools/misc/lf/default.nix
index ec002ae4232b6..7ec9d0d407a48 100644
--- a/pkgs/tools/misc/lf/default.nix
+++ b/pkgs/tools/misc/lf/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "lf";
-  version = "20";
+  version = "21";
 
   src = fetchFromGitHub {
     owner = "gokcehan";
     repo = "lf";
     rev = "r${version}";
-    sha256 = "056g2g503ppbqqbq5nk90sl8ki1q4fixdc25a6wv15gm1inxrb4b";
+    sha256 = "0j7c21lsgcc39ng9ni94y3zfcqwyf9jc52fi8mcpkp0lpcx5ava9";
   };
 
-  vendorSha256 = "12njqs39ympi2mqal1cdn0smp80yzcs8xmca1iih8pbmxv51r2gg";
+  vendorSha256 = "15fl9v69wkzwzpq6x4xhcd5g6xyck3mlpbz1bbb61l75jjzg913m";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/misc/lice/default.nix b/pkgs/tools/misc/lice/default.nix
index 3322196d6ed51..4cb3f794fd48c 100644
--- a/pkgs/tools/misc/lice/default.nix
+++ b/pkgs/tools/misc/lice/default.nix
@@ -1,18 +1,17 @@
-{ lib, fetchFromGitHub, python3Packages }:
+{ lib, buildPythonPackage, fetchPypi , setuptools, pytestCheckHook }:
 
-python3Packages.buildPythonPackage rec {
+buildPythonPackage rec {
+  pname = "lice";
+  version = "0.6";
 
-  version = "0.4";
-  name = "lice-${version}";
-
-  src = fetchFromGitHub {
-    owner = "licenses";
-    repo = "lice";
-    rev = version;
-    sha256 = "0yxf70fi8ds3hmwjply2815k466r99k8n22r0ppfhwjvp3rn60qx";
-    fetchSubmodules = true;
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0skyyirbidknfdzdvsjga8zb4ar6xpd5ilvz11dfm2a9yxh3d59d";
   };
 
+  propagatedBuildInputs = [ setuptools ];
+
+  checkInputs = [ pytestCheckHook ];
   meta = with lib; {
     description = "Print license based on selection and user options";
     homepage = "https://github.com/licenses/lice";
diff --git a/pkgs/tools/misc/licensor/default.nix b/pkgs/tools/misc/licensor/default.nix
index b7ea30f8d3f85..ef708ab9afe4d 100644
--- a/pkgs/tools/misc/licensor/default.nix
+++ b/pkgs/tools/misc/licensor/default.nix
@@ -1,22 +1,17 @@
-{ lib, rustPlatform, fetchFromGitHub, fetchpatch }:
+{ lib, rustPlatform, fetchFromGitHub }:
 
 rustPlatform.buildRustPackage rec {
   pname = "licensor";
-  version = "2.1.0";
+  version = "unstable-2021-02-03";
 
   src = fetchFromGitHub {
     owner = "raftario";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0zr8hcq7crmhrdhwcclc0nap68wvg5kqn5l93ha0vn9xgjy8z11p";
+    rev = "1897882a708ec6ed65a9569ae0e07d6ea576c652";
+    sha256 = "0x0lkfrj7jka0p6nx6i9syz0bnzya5z9np9cw09zm1c9njv9mm32";
   };
 
-  patches = [ (fetchpatch {
-    url = "https://github.com/raftario/licensor/commit/77ae1ea6d9b6de999ee7590d9dbd3c8465d70bb6.patch";
-    sha256 = "0kfyg06wa2v7swm7hs9kkazjg34mircd4nm4qmljyzjh2yh8icg3";
-  })];
-
-  cargoSha256 = "1z2r8nfizifj8sk1ghppyqk5r65sgmbk47fiq95pnwpadm5drvqa";
+  cargoSha256 = "1yix40351yasg7mjmz7qwvwh1dq292dv47gy2a3bwkzhcn6whyjf";
 
   meta = with lib; {
     description = "Write licenses to stdout";
diff --git a/pkgs/tools/misc/lnch/default.nix b/pkgs/tools/misc/lnch/default.nix
index 8f41499ca06b7..a9c7365253909 100644
--- a/pkgs/tools/misc/lnch/default.nix
+++ b/pkgs/tools/misc/lnch/default.nix
@@ -2,20 +2,21 @@
 
 buildGoPackage rec {
   pname = "lnch";
-  version = "2017-02-16";
+  version = "unstable-2021-02-10";
 
   goPackagePath = "github.com/oem/${pname}";
 
   src = fetchFromGitHub {
     owner = "oem";
     repo = pname;
-    rev = "f24eed5392f01d2c8a9cfe9cdf70dcfbbf4b6b36";
-    sha256 = "0skzrjnbxq1yj7y64cq7angp4wqnrgw1xp9v8vw9zp8f8zwmpy0y";
+    rev = "6ed336dd893afa071178b8ac6f6297d23fc55514";
+    sha256 = "K2TV+mx6C3/REJyDpC6a/Zn/ZZFxkDMC3EnkveH6YNQ=";
   };
 
   meta = with lib; {
     homepage = "https://github.com/oem/lnch";
-    description = "A small go app that launches a process and moves it out of the process group";
-    license = licenses.publicDomain; # really I don't know
+    description = "Launches a process and moves it out of the process group";
+    license = licenses.mit;
+    platforms = with platforms; all;
   };
 }
diff --git a/pkgs/tools/misc/lokalise2-cli/default.nix b/pkgs/tools/misc/lokalise2-cli/default.nix
index 0cbf43a8790ef..ad1210e954043 100644
--- a/pkgs/tools/misc/lokalise2-cli/default.nix
+++ b/pkgs/tools/misc/lokalise2-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "lokalise2-cli";
-  version = "2.6.2";
+  version = "2.6.3";
 
   src = fetchFromGitHub {
     owner = "lokalise";
     repo = "lokalise-cli-2-go";
     rev = "v${version}";
-    sha256 = "1iizyr6bv17dpv05whcx34498wbrs0q3gn8s50srvdqrdk9hs4gj";
+    sha256 = "sha256-3kDaaPDRbhJyp/CblTKhB0dUeOjroCs3WkjEXL87Od4=";
   };
 
-  vendorSha256 = "17nykcx47h1q55msh43mmf092y5cigarz5486yp6sqp79p6lbjk3";
+  vendorSha256 = "sha256-iWYlbGeLp/SiF8/OyWGIHJQB1RJjma9/EDc3zOsjNG8=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/man-db/default.nix b/pkgs/tools/misc/man-db/default.nix
index 44cb6962b8e67..4ac11aa62c1ba 100644
--- a/pkgs/tools/misc/man-db/default.nix
+++ b/pkgs/tools/misc/man-db/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, libpipeline, db, groff, libiconv, makeWrapper, buildPackages }:
 
 stdenv.mkDerivation rec {
-  name = "man-db-2.9.3";
+  name = "man-db-2.9.4";
 
   src = fetchurl {
     url = "mirror://savannah/man-db/${name}.tar.xz";
-    sha256 = "1f4palf5bdyf3f8sa0981cqxn9cjcr2pz53ngrrsybb9n0da2nps";
+    sha256 = "sha256-tmyZ7frRatkoyIn4fPdjgCY8FgkyPCgLOp5pY/2xZ1Y=";
   };
 
   outputs = [ "out" "doc" ];
diff --git a/pkgs/tools/misc/mcrypt/malloc_to_stdlib.patch b/pkgs/tools/misc/mcrypt/malloc_to_stdlib.patch
index e92f5a46ae7eb..6bead60dc56b8 100755
--- a/pkgs/tools/misc/mcrypt/malloc_to_stdlib.patch
+++ b/pkgs/tools/misc/mcrypt/malloc_to_stdlib.patch
@@ -1,5 +1,5 @@
 From e295844e8ef5c13487996ab700e5f12a7fadb1a6 Mon Sep 17 00:00:00 2001
-From: Nima Vasseghi <nmv@fb.com>
+From: Private <private@private.priv>
 Date: Wed, 30 Dec 2020 16:06:46 -0800
 Subject: [PATCH] malloc.h to stdlib.h in rfc2440.c
 
diff --git a/pkgs/tools/misc/memtest86-efi/default.nix b/pkgs/tools/misc/memtest86-efi/default.nix
index dc29aad2a549f..125f8f35acca7 100644
--- a/pkgs/tools/misc/memtest86-efi/default.nix
+++ b/pkgs/tools/misc/memtest86-efi/default.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   pname = "memtest86-efi";
-  version = "8.3";
+  version = "8.4";
 
   src = fetchzip {
     # TODO: We're using the previous version of memtest86 because the
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     # binaries that we make sure to version, then we could probably keep up
     # with the latest versions released by the company.
     url = "https://www.memtest86.com/downloads/memtest86-${version}-usb.zip";
-    sha256 = "0aldz7rvnfnzb4h447q10k9c9p5ghwzdyn7f6g5lrxiv5vxf3x96";
+    sha256 = "sha256-jh4FKCYZbOQhRv6B7N8Hmw6RQCQvbBGaGFTMLwM1nk8=";
     stripRoot = false;
   };
 
@@ -35,6 +35,8 @@ stdenv.mkDerivation rec {
   ];
 
   installPhase = ''
+    runHook preInstall
+
     # memtest86 is distributed as a bootable USB image.  It contains the actual
     # memtest86 EFI app.
     #
@@ -50,6 +52,8 @@ stdenv.mkDerivation rec {
     ')
     mkdir $out
     mcopy -vsi $IMG@@$ESP_OFFSET ::'/EFI/BOOT/*' $out/
+
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/microplane/default.nix b/pkgs/tools/misc/microplane/default.nix
index 131367cf9f2a3..e6945f051298f 100644
--- a/pkgs/tools/misc/microplane/default.nix
+++ b/pkgs/tools/misc/microplane/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "microplane";
-  version = "0.0.25";
+  version = "0.0.26";
 
   src = fetchFromGitHub {
     owner = "Clever";
     repo = "microplane";
     rev = "v${version}";
-    sha256 = "0vynkv3d70q8d079kgdmwbavyyrjssqnd223dl1rikyy7sd5sli8";
+    sha256 = "0dba8cz13ljcsfibcwycd9vb759fzlllh2bv31vgbs2pjgcinzvm";
   };
 
   goPackagePath = "github.com/Clever/microplane";
diff --git a/pkgs/tools/misc/microplane/deps.nix b/pkgs/tools/misc/microplane/deps.nix
index defbd0d573cae..2c8266c2dc6e5 100644
--- a/pkgs/tools/misc/microplane/deps.nix
+++ b/pkgs/tools/misc/microplane/deps.nix
@@ -194,8 +194,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sync";
-      rev =  "6e8e738ad208923de99951fe0b48239bfd864f28";
-      sha256 = "1avk27pszd5l5df6ff7j78wgla46ir1hhy2jwfl9a3c0ys602yx9";
+      rev =  "09787c993a3ab68e3d1f5c9b2394ab9433f391be";
+      sha256 = "1nv4mwi9njkkyc7lwmxrjr8ggfh2cf1c67a9bq85dnss81vpj61y";
     };
   }
   {
diff --git a/pkgs/tools/misc/miniserve/default.nix b/pkgs/tools/misc/miniserve/default.nix
index 7fb66e22e98d4..81437378c327b 100644
--- a/pkgs/tools/misc/miniserve/default.nix
+++ b/pkgs/tools/misc/miniserve/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , rustPlatform
 , fetchFromGitHub
 , pkg-config
@@ -8,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "miniserve";
-  version = "0.10.4";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "svenstaro";
     repo = "miniserve";
     rev = "v${version}";
-    sha256 = "0hskb72gnp66vkyxsqnxhjcqgvjj7wbd2nm5wxp94abc5l1fiigv";
+    sha256 = "sha256-/vtiHRHsbF7lfn9tfgfKhm5YwofjSJniNNnKahphHFg=";
   };
 
-  cargoSha256 = "0s1gdngpf6gxz2lyapblxxmc6aydg2i9kmrfvngkbmqh4as1a2vl";
+  cargoSha256 = "sha256-gwy/LeVznZyawliXnkULyyVSXATk0sjSTUZPHO2K+9o=";
 
   nativeBuildInputs = [ pkg-config zlib ];
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
diff --git a/pkgs/tools/misc/mongodb-compass/default.nix b/pkgs/tools/misc/mongodb-compass/default.nix
index 26056364b7740..9d2e64d6b705b 100644
--- a/pkgs/tools/misc/mongodb-compass/default.nix
+++ b/pkgs/tools/misc/mongodb-compass/default.nix
@@ -3,7 +3,7 @@
 , gnome2, gdk-pixbuf, gtk3, pango, libnotify, libsecret, libuuid, libxcb, nspr, nss, systemd, xorg, wrapGAppsHook }:
 
 let
-  version = "1.23.0";
+  version = "1.24.6";
 
   rpath = lib.makeLibraryPath [
     alsaLib
@@ -49,7 +49,7 @@ let
     if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchurl {
         url = "https://downloads.mongodb.com/compass/mongodb-compass_${version}_amd64.deb";
-        sha256 = "1kmhki4kq28z8h249p4imcpb0nz2dx5bmpv8ldhhqh3rcq5vzxsv";
+        sha256 = "sha256-GTMJ3Mu0vym2u4uZcq5LnbOod1yanCWHbGLXjVq30Hc=";
       }
     else
       throw "MongoDB compass is not supported on ${stdenv.hostPlatform.system}";
diff --git a/pkgs/tools/misc/moreutils/default.nix b/pkgs/tools/misc/moreutils/default.nix
index ad2d0127ab058..5a1452007af21 100644
--- a/pkgs/tools/misc/moreutils/default.nix
+++ b/pkgs/tools/misc/moreutils/default.nix
@@ -15,12 +15,13 @@ stdenv.mkDerivation rec {
     substituteInPlace Makefile --replace /usr/share/xml/docbook/stylesheet/docbook-xsl ${docbook-xsl}/xml/xsl/docbook
   '';
 
-  buildInputs = [ libxml2 libxslt docbook-xsl docbook_xml_dtd_44 makeWrapper ]
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ libxml2 libxslt docbook-xsl docbook_xml_dtd_44 ]
     ++ optional stdenv.isDarwin darwin.cctools;
 
   propagatedBuildInputs = with perlPackages; [ perl IPCRun TimeDate TimeDuration ];
 
-  buildFlags = [ "CC=cc" ];
+  buildFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
   installFlags = [ "PREFIX=$(out)" ];
 
   postInstall = ''
diff --git a/pkgs/tools/misc/mpdscribble/default.nix b/pkgs/tools/misc/mpdscribble/default.nix
index 182e844eb84a9..fce376bb32ede 100644
--- a/pkgs/tools/misc/mpdscribble/default.nix
+++ b/pkgs/tools/misc/mpdscribble/default.nix
@@ -1,22 +1,38 @@
-{ lib, stdenv, fetchurl, meson, ninja, pkg-config, boost, libgcrypt, systemd, mpd_clientlib, curl }:
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, meson
+, ninja
+, boost
+, curl
+, libgcrypt
+, libmpdclient
+, systemd
+}:
 
 stdenv.mkDerivation rec {
   pname = "mpdscribble";
   version = "0.23";
 
   src = fetchurl {
-    url =
-    "https://www.musicpd.org/download/mpdscribble/${version}/mpdscribble-${version}.tar.xz";
+    url = "https://www.musicpd.org/download/mpdscribble/${version}/mpdscribble-${version}.tar.xz";
     sha256 = "0s66zqscb44p88cl3kcv5jkjcqsskcnrv7xgrjhzrchf2kcpwf53";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config ];
-  buildInputs = [ mpd_clientlib curl boost libgcrypt systemd ];
+  nativeBuildInputs = [ pkg-config meson ninja ];
+  buildInputs = [
+    libmpdclient
+    curl
+    boost
+    libgcrypt
+    systemd
+  ];
 
   meta = with lib; {
-    description = "A Music Player Daemon (MPD) client which submits information about tracks being played to a scrobbler (e.g. last.fm)";
+    description = "A MPD client which submits info about tracks being played to a scrobbler";
     homepage = "https://www.musicpd.org/clients/mpdscribble/";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = [ maintainers.sohalt ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/tools/misc/mslink/default.nix b/pkgs/tools/misc/mslink/default.nix
new file mode 100644
index 0000000000000..56354ff25275b
--- /dev/null
+++ b/pkgs/tools/misc/mslink/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, lib
+, fetchurl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "mslink";
+  version = "1.3";
+
+  src = fetchurl {
+    url = "http://www.mamachine.org/mslink/mslink_v${version}.tar.gz";
+    sha256 = "1qiwqa6w2in6gk4sxiy37c2wwpakin6l2ad2cf5s7ij96z2ijgqg";
+  };
+
+  preBuild = ''
+    rm mslink # clean up shipped executable
+  '';
+
+  installPhase = ''
+    install -D mslink $out/bin/mslink
+  '';
+
+  meta = with lib; {
+    description = "Create Windows Shortcut Files (.LNK) without using Windows";
+    homepage = "http://www.mamachine.org/mslink/index.en.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ mkg20001 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/misc/mysqltuner/default.nix b/pkgs/tools/misc/mysqltuner/default.nix
index 6297e6131222e..2acbfd41adfe4 100644
--- a/pkgs/tools/misc/mysqltuner/default.nix
+++ b/pkgs/tools/misc/mysqltuner/default.nix
@@ -2,26 +2,35 @@
 
 stdenv.mkDerivation rec {
   pname = "mysqltuner";
-  version = "1.7.17";
+  version = "1.7.21";
 
   src = fetchFromGitHub {
-    owner  = "major";
-    repo   = "MySQLTuner-perl";
-    rev    = version;
-    sha256 = "0wjdqraa6r6kd6rsgrn177dq6xsnnr1sgnbs9whknjbs4fn3wwl5";
+    owner = "major";
+    repo = "MySQLTuner-perl";
+    rev = version;
+    sha256 = "sha256-Yv1XjD8sZcmGr2SVD6TEElUH7vspJ61WwQwfXLOrao0=";
   };
 
+  postPatch = ''
+    substituteInPlace mysqltuner.pl \
+      --replace '/usr/share' "$out/share"
+  '';
+
   buildInputs = [ perl ];
 
   installPhase = ''
-    mkdir -p $out/bin
-    install -m0755 mysqltuner.pl $out/bin/mysqltuner
+    runHook preInstall
+
+    install -Dm0555 mysqltuner.pl $out/bin/mysqltuner
+    install -Dm0444 -t $out/share/mysqltuner basic_passwords.txt vulnerabilities.csv
+
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "Make recommendations for increased performance and stability of MariaDB/MySQL";
     homepage = "http://mysqltuner.com";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ peterhoeg ];
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ peterhoeg shamilton ];
   };
 }
diff --git a/pkgs/tools/misc/neofetch/default.nix b/pkgs/tools/misc/neofetch/default.nix
index 1ed201802d53c..1826d6846d427 100644
--- a/pkgs/tools/misc/neofetch/default.nix
+++ b/pkgs/tools/misc/neofetch/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv, fetchFromGitHub }:
+{ lib, stdenvNoCC, fetchFromGitHub, bash }:
 
-stdenv.mkDerivation rec {
+stdenvNoCC.mkDerivation rec {
   pname = "neofetch";
   version = "7.1.0";
 
@@ -11,7 +11,11 @@ stdenv.mkDerivation rec {
     sha256 = "0i7wpisipwzk0j62pzaigbiq42y1mn4sbraz4my2jlz6ahwf00kv";
   };
 
-  dontBuild = true;
+  strictDeps = true;
+  buildInputs = [ bash ];
+  postPatch = ''
+    patchShebangs --host neofetch
+  '';
 
   makeFlags = [
     "PREFIX=${placeholder "out"}"
diff --git a/pkgs/tools/misc/nix-direnv/default.nix b/pkgs/tools/misc/nix-direnv/default.nix
index efacd87d9a447..833f8313f6172 100644
--- a/pkgs/tools/misc/nix-direnv/default.nix
+++ b/pkgs/tools/misc/nix-direnv/default.nix
@@ -2,22 +2,21 @@
 
 stdenv.mkDerivation rec {
   pname = "nix-direnv";
-  version = "1.2.1";
+  version = "1.2.3";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "nix-direnv";
     rev = version;
-    sha256 = "sha256-D31ORVdS8P1OkPShsfjEFLVCcv8Bff9OyexUKKHdguQ=";
+    sha256 = "sha256-a0OyIONKtVWh9g/FZ6H0JSRuA1U48HSOX53G9z/h7t8=";
   };
 
   # Substitute instead of wrapping because the resulting file is
   # getting sourced, not executed:
   postPatch = ''
     substituteInPlace direnvrc \
-      --replace "grep" "${gnugrep}/bin/grep" \
-      --replace "nix-shell" "${nix}/bin/nix-shell" \
-      --replace "nix-instantiate" "${nix}/bin/nix-instantiate"
+      --replace "\''${NIX_BIN_PREFIX:-}" "\''${NIX_BIN_PREFIX:-${nix}/bin/}" \
+      --replace "grep" "${gnugrep}/bin/grep"
   '';
 
   installPhase = ''
diff --git a/pkgs/tools/misc/ocz-ssd-guru/default.nix b/pkgs/tools/misc/ocz-ssd-guru/default.nix
index c5ac32af3be4e..0c021591e5e58 100644
--- a/pkgs/tools/misc/ocz-ssd-guru/default.nix
+++ b/pkgs/tools/misc/ocz-ssd-guru/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "0ri7qmpc1xpy12lpzl6k298c641wcibcwrzz8jn75wdg4rr176r5";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   libPath = lib.makeLibraryPath [
       xorg.libX11
diff --git a/pkgs/tools/misc/onefetch/default.nix b/pkgs/tools/misc/onefetch/default.nix
index 12cd9990779d1..5dab2044973aa 100644
--- a/pkgs/tools/misc/onefetch/default.nix
+++ b/pkgs/tools/misc/onefetch/default.nix
@@ -14,8 +14,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "sha256-TqWe4eARQmmWcwnvb6BIZrzGeKMpiIObPv0cW1JvWj4=";
 
-  buildInputs = with stdenv;
-    lib.optionals isDarwin [ CoreFoundation libiconv libresolv Security ];
+  buildInputs = lib.optionals stdenv.isDarwin [ CoreFoundation libiconv libresolv Security ];
 
   meta = with lib; {
     description = "Git repository summary on your terminal";
diff --git a/pkgs/tools/misc/opentsdb/default.nix b/pkgs/tools/misc/opentsdb/default.nix
index 168eda1cf3d52..678c2607b6140 100644
--- a/pkgs/tools/misc/opentsdb/default.nix
+++ b/pkgs/tools/misc/opentsdb/default.nix
@@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
     sha256 = "0b0hilqmgz6n1q7irp17h48v8fjpxhjapgw1py8kyav1d51s7mm2";
   };
 
-  buildInputs = [ autoconf automake curl jdk makeWrapper nettools python git ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ autoconf automake curl jdk nettools python git ];
 
   preConfigure = ''
     patchShebangs ./build-aux/
diff --git a/pkgs/tools/misc/oppai-ng/default.nix b/pkgs/tools/misc/oppai-ng/default.nix
index 922ef65be24bc..ef464e7b755ac 100644
--- a/pkgs/tools/misc/oppai-ng/default.nix
+++ b/pkgs/tools/misc/oppai-ng/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "oppai-ng";
-  version = "3.3.0";
+  version = "4.0.0";
 
   src = fetchFromGitHub {
     owner = "Francesco149";
     repo = pname;
     rev = version;
-    sha256 = "0ymprwyv92pr58851wzryymhfznnpwcbg4m1yri0c9cyzvabwmfk";
+    sha256 = "sha256-fUtyQaHcNBmDs1BPbFGieKY/CFyETqBxYzzIXSERFJY=";
   };
 
   buildPhase = ''
diff --git a/pkgs/tools/misc/os-prober/default.nix b/pkgs/tools/misc/os-prober/default.nix
index 07279400fc4d3..bc5dbe4672e81 100644
--- a/pkgs/tools/misc/os-prober/default.nix
+++ b/pkgs/tools/misc/os-prober/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-mfv1b40n/opXdyj6IXWVf/32sWlS+/DbXIRwE1zX4KM=";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
   installPhase = ''
     # executables
     install -Dt $out/bin os-prober linux-boot-prober
diff --git a/pkgs/tools/misc/osinfo-db-tools/default.nix b/pkgs/tools/misc/osinfo-db-tools/default.nix
index e7a5d38a9161f..cb3e8bd057adc 100644
--- a/pkgs/tools/misc/osinfo-db-tools/default.nix
+++ b/pkgs/tools/misc/osinfo-db-tools/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "osinfo-db-tools";
-  version = "1.8.0";
+  version = "1.9.0";
 
   src = fetchurl {
     url = "https://releases.pagure.org/libosinfo/${pname}-${version}.tar.xz";
-    sha256 = "038q3gzdbkfkhpicj0755mw1q4gbvn57pslpw8n2dp3lds9im0g9";
+    sha256 = "sha256-JV8ch4us7HDDAg/1qcsPa9hhygAJ8kYI31729i1SQ8A=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config gettext perl python3 ];
diff --git a/pkgs/tools/misc/osm2pgsql/default.nix b/pkgs/tools/misc/osm2pgsql/default.nix
index b3f4971a55ac8..a6b8d01dd463a 100644
--- a/pkgs/tools/misc/osm2pgsql/default.nix
+++ b/pkgs/tools/misc/osm2pgsql/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "osm2pgsql";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "openstreetmap";
     repo = pname;
     rev = version;
-    sha256 = "1if76vw9jkc9jn4v0vvgwnpscjckk2cap93a8iqah8mqzx233y8s";
+    sha256 = "0ld43k7xx395hd6kcn8wyacvb1cfjy670lh9w6yhfi78nxqj9mmy";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 720b73f3fe215..1209ab9d254b8 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -1,29 +1,22 @@
 { fetchurl, lib, stdenv, perl, makeWrapper, procps, coreutils }:
 
 stdenv.mkDerivation rec {
-  name = "parallel-20200922";
+  pname = "parallel";
+  version = "20210222";
 
   src = fetchurl {
-    url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "0wj19kwjk0hwm8bk9yfcf3rpr0314lmjy5xxlvvdqnbbc4ml2418";
+    url = "mirror://gnu/parallel/${pname}-${version}.tar.bz2";
+    sha256 = "sha256-TmmwCuti906i/cZXnTHStKTMCmT+dc9hkmMSQC8b5ys=";
   };
 
-  patches = [
-    ./fix-max-line-length-allowed.diff
-  ];
-
-  postPatch = ''
-    substituteInPlace src/parallel --subst-var-by coreutils ${coreutils}
-  '';
-
-  outputs = [ "out" "man" ];
+  outputs = [ "out" "man" "doc" ];
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ perl procps ];
 
   postInstall = ''
     wrapProgram $out/bin/parallel \
-      --prefix PATH : "${lib.makeBinPath [ procps perl ]}"
+      --prefix PATH : "${lib.makeBinPath [ procps perl coreutils ]}"
   '';
 
   doCheck = true;
diff --git a/pkgs/tools/misc/parallel/fix-max-line-length-allowed.diff b/pkgs/tools/misc/parallel/fix-max-line-length-allowed.diff
deleted file mode 100644
index c6d501ecb22a2..0000000000000
--- a/pkgs/tools/misc/parallel/fix-max-line-length-allowed.diff
+++ /dev/null
@@ -1,17 +0,0 @@
-Correct path to coreutils echo to fix parallel --max-line-length-allowed.
-
-Author: Bjørn Forsman
-
-diff --git a/src/parallel b/src/parallel
-index a047fd94..9fc5f671 100755
---- a/src/parallel
-+++ b/src/parallel
-@@ -11580,7 +11580,7 @@ sub is_acceptable_command_line_length($$) {
- 	$len += length $Global::parallel_env;
-     }
-     # Force using non-built-in command
--    ::qqx("/bin/echo ".${string}x(($len-length "/bin/echo ")/length $string));
-+    ::qqx("@coreutils@/bin/echo ".${string}x(($len-length "@coreutils@/bin/echo ")/length $string));
-     ::debug("init", "$len=$? ");
-     return not $?;
- }
diff --git a/pkgs/tools/misc/parted/default.nix b/pkgs/tools/misc/parted/default.nix
index 7c7a611b97c5d..e954bfbe5e4db 100644
--- a/pkgs/tools/misc/parted/default.nix
+++ b/pkgs/tools/misc/parted/default.nix
@@ -15,11 +15,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "parted-3.3";
+  name = "parted-3.4";
 
   src = fetchurl {
     url = "mirror://gnu/parted/${name}.tar.xz";
-    sha256 = "0i1xp367wpqw75b20c3jnism3dg3yqj4a7a22p2jb1h1hyyv9qjp";
+    sha256 = "sha256-4SmAIkctpVibfyvh1e48G2bsPZbfutA9xkKv0AnaU0I=";
   };
 
   outputs = [ "out" "dev" "man" "info" ];
diff --git a/pkgs/tools/misc/pb_cli/default.nix b/pkgs/tools/misc/pb_cli/default.nix
index eacbc0d6bd2d4..48b819d5bfdd6 100644
--- a/pkgs/tools/misc/pb_cli/default.nix
+++ b/pkgs/tools/misc/pb_cli/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     sha256 = "0w6a789zffvz4ixsb92q45n5s4xyx7s2l2f07972i3dajaaai8z7";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   liveDeps = [ jq curl ] ++ lib.optional screenshots maim
                          ++ lib.optional video capture
diff --git a/pkgs/tools/misc/pcb2gcode/default.nix b/pkgs/tools/misc/pcb2gcode/default.nix
index b5675f8287db8..0b300b079db24 100644
--- a/pkgs/tools/misc/pcb2gcode/default.nix
+++ b/pkgs/tools/misc/pcb2gcode/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pcb2gcode";
-  version = "2.1.0";
+  version = "2.2.2";
 
   src = fetchFromGitHub {
     owner = "pcb2gcode";
     repo = "pcb2gcode";
     rev = "v${version}";
-    sha256 = "0nzglcyh6ban27cc73j4l7w7r9k38qivq0jz8iwnci02pfalw4ry";
+    sha256 = "sha256-GSLWpLp/InAxVolKmBIjljpe3ZzmS/87TWKwzax5SkY=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/tools/misc/pgcenter/default.nix b/pkgs/tools/misc/pgcenter/default.nix
index 8afaa61e35b50..970a5bc826537 100644
--- a/pkgs/tools/misc/pgcenter/default.nix
+++ b/pkgs/tools/misc/pgcenter/default.nix
@@ -2,16 +2,24 @@
 
 buildGoModule rec {
   pname = "pgcenter";
-  version = "0.6.6";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner  = "lesovsky";
     repo   = "pgcenter";
     rev    = "v${version}";
-    sha256 = "1axwsclssxsg38ppdmd4v1lbs87ksrwj5z76ckjk8jjfni1xp9sr";
+    sha256 = "sha256-W/UUc0qwOvLSXYWepkCydst113BqR9EsZK0Es+6HSt8=";
   };
 
-  vendorSha256 = "1mzvpr12qh9668iz97p62zl4zhlrcyfgwr4a9zg9irj585pkb5x2";
+  vendorSha256 = "sha256-9hYiyZ34atmSL7JvuXyiGU7HR4E6qN7bGZlyU+hP+FU=";
+
+  subPackages = [ "cmd" ];
+
+  buildFlagsArray = [ "-ldflags=-w -s -X main.gitTag=${src.rev} -X main.gitCommit=${src.rev} -X main.gitBranch=master" ];
+
+  postInstall = ''
+    mv $out/bin/cmd $out/bin/pgcenter
+  '';
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/phoronix-test-suite/default.nix b/pkgs/tools/misc/phoronix-test-suite/default.nix
index da69d5a8b9310..348670c3bb1b1 100644
--- a/pkgs/tools/misc/phoronix-test-suite/default.nix
+++ b/pkgs/tools/misc/phoronix-test-suite/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "phoronix-test-suite";
-  version = "10.2.0";
+  version = "10.2.1";
 
   src = fetchurl {
     url = "https://phoronix-test-suite.com/releases/${pname}-${version}.tar.gz";
-    sha256 = "sha256-eoKHgbSyOEkwzki5wWuZlOAmZljxOMXcztA/g8TtutQ=";
+    sha256 = "sha256-2HB4TPbyG+cTY6O1k0tRPrnKyg41SYnVM919Hii3gpg=";
   };
 
   buildInputs = [ php ];
diff --git a/pkgs/tools/misc/piston-cli/default.nix b/pkgs/tools/misc/piston-cli/default.nix
new file mode 100644
index 0000000000000..73e3ca8d6893f
--- /dev/null
+++ b/pkgs/tools/misc/piston-cli/default.nix
@@ -0,0 +1,24 @@
+{ lib, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "piston-cli";
+  version = "1.2.2";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "hhOistr5lHF6rIuMpudKwSuBQhaQDzTdelAOCjyVQZk=";
+  };
+
+  propagatedBuildInputs = with python3Packages; [ rich prompt_toolkit requests pygments ];
+
+  checkPhase = ''
+    $out/bin/piston --help > /dev/null
+  '';
+
+  meta = with lib; {
+    description = "Piston api tool";
+    homepage = "https://github.com/Shivansh-007/piston-cli";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ethancedwards8 ];
+  };
+}
diff --git a/pkgs/tools/misc/pk2cmd/default.nix b/pkgs/tools/misc/pk2cmd/default.nix
index 7ffbd8ded1ca9..009d841bf5579 100644
--- a/pkgs/tools/misc/pk2cmd/default.nix
+++ b/pkgs/tools/misc/pk2cmd/default.nix
@@ -16,7 +16,8 @@ stdenv.mkDerivation {
     wrapProgram $out/bin/pk2cmd --prefix PATH : $out/share/pk2
   '';
 
-  buildInputs = [ libusb-compat-0_1 makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ libusb-compat-0_1 ];
 
   meta = {
     homepage = "https://www.microchip.com/pickit2";
diff --git a/pkgs/tools/misc/plantuml/default.nix b/pkgs/tools/misc/plantuml/default.nix
index 0355c65ac6c19..eb267e6007a41 100644
--- a/pkgs/tools/misc/plantuml/default.nix
+++ b/pkgs/tools/misc/plantuml/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, makeWrapper, jre, graphviz }:
 
 stdenv.mkDerivation rec {
-  version = "1.2021.0";
+  version = "1.2021.1";
   pname = "plantuml";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/plantuml/${version}/plantuml.${version}.jar";
-    sha256 = "sha256-QERrsTB8GO+B8DZkl1Ruru9Bw+uL9ojQbJ321sbqIws=";
+    sha256 = "sha256-FOM+hao1lx6EJMccbhLzvVVmCR3F/igHTGN1vhhdmdQ=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/plowshare/default.nix b/pkgs/tools/misc/plowshare/default.nix
index d9c208510fc68..0b5005b9c82a1 100644
--- a/pkgs/tools/misc/plowshare/default.nix
+++ b/pkgs/tools/misc/plowshare/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "1p8s60dlzaldp006yj710s371aan915asyjhd99188vrj4jj1x79";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
 
diff --git a/pkgs/tools/misc/ponysay/default.nix b/pkgs/tools/misc/ponysay/default.nix
index b94ca6cfea342..113c2b05ff59a 100644
--- a/pkgs/tools/misc/ponysay/default.nix
+++ b/pkgs/tools/misc/ponysay/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation {
     sha256 = "12mjabf5cpp5dgg63s19rlyq3dhhpzzy2sa439yncqzsk7rdg0n3";
   };
 
-  buildInputs = [ python3 texinfo makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ python3 texinfo  ];
 
   inherit python3;
 
diff --git a/pkgs/tools/misc/powerline-go/default.nix b/pkgs/tools/misc/powerline-go/default.nix
index a4ee216288f99..2f6ff216dc876 100644
--- a/pkgs/tools/misc/powerline-go/default.nix
+++ b/pkgs/tools/misc/powerline-go/default.nix
@@ -1,14 +1,17 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
 
 buildGoModule rec {
   pname = "powerline-go";
-  version = "1.20.0";
+  version = "1.21.0";
 
   src = fetchFromGitHub {
     owner = "justjanne";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Pge57OXNE0MY2rlspVsqxdoe1r/XWjrq/q9ygdns2c8=";
+    sha256 = "sha256-IO3I5lvPdN73EF+S5Xo+TMEYaBtd1pOGMs+aQtRnHjE=";
   };
 
   vendorSha256 = "sha256-HYF6aKz+P241EKmupEoretadlrh9FBRx6nIER66jofg=";
@@ -17,7 +20,9 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "A Powerline like prompt for Bash, ZSH and Fish";
-    license = licenses.gpl3;
+    homepage = "https://github.com/justjanne/powerline-go";
+    changelog = "https://github.com/justjanne/powerline-go/releases/tag/v${version}";
+    license = licenses.gpl3Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ sifmelcara ];
   };
diff --git a/pkgs/tools/misc/profile-cleaner/default.nix b/pkgs/tools/misc/profile-cleaner/default.nix
index c8a2b338817de..77f865a6a168e 100644
--- a/pkgs/tools/misc/profile-cleaner/default.nix
+++ b/pkgs/tools/misc/profile-cleaner/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "11sjf4j9dr6ih9jkg6vqq6gkfg6wly4182bi1008bsm1zdmm5iz7";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     PREFIX=\"\" DESTDIR=$out make install
diff --git a/pkgs/tools/misc/pspg/default.nix b/pkgs/tools/misc/pspg/default.nix
index 9159de9fd8c2d..64cc91f170ba0 100644
--- a/pkgs/tools/misc/pspg/default.nix
+++ b/pkgs/tools/misc/pspg/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pspg";
-  version = "3.1.5";
+  version = "4.3.0";
 
   src = fetchFromGitHub {
     owner = "okbob";
     repo = pname;
     rev = version;
-    sha256 = "000h4yiaym7i5bcm268rvsjbs2brz2is9lhm6vm3dx0q7k1pcx45";
+    sha256 = "sha256-564ZHrok5RVFR9OYPpd6WjSZKieNFhnvUbBklayGOb0=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/tools/misc/pubs/default.nix b/pkgs/tools/misc/pubs/default.nix
index be5fd6d499c35..3b6df828fda0f 100644
--- a/pkgs/tools/misc/pubs/default.nix
+++ b/pkgs/tools/misc/pubs/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, fetchpatch, python3Packages }:
+{ lib, fetchFromGitHub, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
   pname = "pubs";
diff --git a/pkgs/tools/misc/pws/default.nix b/pkgs/tools/misc/pws/default.nix
index 0edec63c8c927..e98323b75eeae 100644
--- a/pkgs/tools/misc/pws/default.nix
+++ b/pkgs/tools/misc/pws/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation rec {
   name = "pws-${(import ./gemset.nix).pws.version}";
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   phases = ["installPhase"];
 
diff --git a/pkgs/tools/misc/rlwrap/default.nix b/pkgs/tools/misc/rlwrap/default.nix
index ac1431d3a1be4..a78d6f143a123 100644
--- a/pkgs/tools/misc/rlwrap/default.nix
+++ b/pkgs/tools/misc/rlwrap/default.nix
@@ -1,26 +1,30 @@
-{ lib, stdenv, fetchurl, readline }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, perl, readline }:
 
 stdenv.mkDerivation rec {
   pname = "rlwrap";
-  version = "0.43";
+  version = "0.45";
 
-  src = fetchurl {
-    url = "https://github.com/hanslub42/rlwrap/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "0bzb7ylk2770iv59v2d0gypb21y2xn87m299s9rqm6rdi2vx11lf";
+  src = fetchFromGitHub {
+    owner = "hanslub42";
+    repo = "rlwrap";
+    rev = "v${version}";
+    sha256 = "1ppkjdnxrxh99g4xaiaglm5bmp24006rfahci0cn1g7zwilkjy8s";
   };
 
-  buildInputs = [ readline ];
-
-  # Be high-bit-friendly
-  preBuild = ''
-    sed -i src/readline.c -e "s@[*]p [<] ' '@(*p >= 0) \\&\\& (*p < ' ')@"
+  postPatch = ''
+    substituteInPlace src/readline.c \
+      --replace "if(*p >= 0 && *p < ' ')" "if(*p >= 0 && (*p >= 0) && (*p < ' '))"
   '';
 
-  meta = {
+  nativeBuildInputs = [ autoreconfHook perl ];
+
+  buildInputs = [ readline ];
+
+  meta = with lib; {
     description = "Readline wrapper for console programs";
     homepage = "https://github.com/hanslub42/rlwrap";
-    license = lib.licenses.gpl2Plus;
-    platforms = lib.platforms.unix;
-    maintainers = with lib.maintainers; [ ];
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/misc/rpm-ostree/default.nix b/pkgs/tools/misc/rpm-ostree/default.nix
index 9d95085296f3e..38a43c7ac3dd7 100644
--- a/pkgs/tools/misc/rpm-ostree/default.nix
+++ b/pkgs/tools/misc/rpm-ostree/default.nix
@@ -40,13 +40,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rpm-ostree";
-  version = "2020.8";
+  version = "2021.2";
 
   outputs = [ "out" "dev" "man" "devdoc" ];
 
   src = fetchurl {
     url = "https://github.com/coreos/${pname}/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "1iyl6bjkj3drlwds579bh25xcmlwj9lkkbdmcdanq5b3shbmpyhi";
+    sha256 = "sha256-msu5LReTYupgoS6Rm2nrMz9jauciAD99hh+w8BhSYn4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/savepagenow/default.nix b/pkgs/tools/misc/savepagenow/default.nix
new file mode 100644
index 0000000000000..d9166d07b74c7
--- /dev/null
+++ b/pkgs/tools/misc/savepagenow/default.nix
@@ -0,0 +1,25 @@
+{ lib, python3Packages, fetchFromGitHub }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "savepagenow";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner = "pastpages";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1lz6rc47cds9rb35jdf8n13gr61wdkh5jqzx4skikm1yrqkwjyhm";
+  };
+
+  propagatedBuildInputs = with python3Packages; [ click requests ];
+
+  # requires network access
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A simple Python wrapper for archive.org's \"Save Page Now\" capturing service";
+    homepage = "https://github.com/pastpages/savepagenow";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix
index 0443deae07755..70a9595785557 100644
--- a/pkgs/tools/misc/screen/default.nix
+++ b/pkgs/tools/misc/screen/default.nix
@@ -16,7 +16,14 @@ stdenv.mkDerivation rec {
     "--enable-colors256"
   ];
 
-  patches = lib.optional stdenv.hostPlatform.isMusl
+  patches = [
+    (fetchpatch {
+      # Fixes denial of services in encoding.c, remove > 4.8.0
+      name = "CVE-2021-26937.patch";
+      url = "https://salsa.debian.org/debian/screen/-/raw/master/debian/patches/99_CVE-2021-26937.patch";
+      sha256 = "05f3p1c7s83nccwkhmavjzgaysxnvq41c7jffs31ra65kcpabqy0";
+    })
+  ] ++ lib.optional stdenv.hostPlatform.isMusl
     (fetchpatch {
       url = "https://gist.githubusercontent.com/yujinakayama/4608863/raw/76b9f89af5e5a2e97d9a0f36aac989fb56cf1447/gistfile1.diff";
       sha256 = "0f9bf83p8zdxaa1pr75jyf5g8xr3r8kv7cyzzbpraa1q4j15ss1p";
diff --git a/pkgs/tools/misc/sfeed/default.nix b/pkgs/tools/misc/sfeed/default.nix
index 6f205db432f4a..57e49c887454f 100644
--- a/pkgs/tools/misc/sfeed/default.nix
+++ b/pkgs/tools/misc/sfeed/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "sfeed";
-  version = "0.9.20";
+  version = "0.9.21";
 
   src = fetchgit {
     url = "git://git.codemadness.org/sfeed";
     rev = version;
-    sha256 = "17bs31wns71fx7s06rdzqkghkgv86r9d9i3814rznyzi9484c7aq";
+    sha256 = "010wasp6hcnwbf0d3gaxmjpkvr85zyv2xxz2pnkwxyk2bbr1h6q8";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/misc/skim/default.nix b/pkgs/tools/misc/skim/default.nix
index 3a49876a8600a..7909aaa1a7209 100644
--- a/pkgs/tools/misc/skim/default.nix
+++ b/pkgs/tools/misc/skim/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "skim";
-  version = "0.9.3";
+  version = "0.9.4";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "026mgqcp9sg6wwikghrc3rgh5p6wdbnvav5pb3xvs79lj85d5ga7";
+    sha256 = "0yvjzmz2vqc63l8911jflqf5aww7wxsav2yal5wg9ci9hzq6dl7j";
   };
 
   outputs = [ "out" "vim" ];
 
-  cargoSha256 = "07bs23x2vxzlrca5swwq8khmd9fbdhlhm0avwp9y231df6xdi2ys";
+  cargoSha256 = "0xh4f8c62kzj2fx7hyhdy13zhay13a6d2d7i9yz0n40dfgf70qx0";
 
   postPatch = ''
     sed -i -e "s|expand('<sfile>:h:h')|'$out'|" plugin/skim.vim
diff --git a/pkgs/tools/misc/smenu/default.nix b/pkgs/tools/misc/smenu/default.nix
index 5da7f19b06091..1d1ed78b2faf2 100644
--- a/pkgs/tools/misc/smenu/default.nix
+++ b/pkgs/tools/misc/smenu/default.nix
@@ -1,29 +1,28 @@
 { lib, stdenv, fetchFromGitHub, ncurses }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.16";
+  version = "0.9.17";
   pname = "smenu";
 
   src = fetchFromGitHub {
-    owner  = "p-gen";
-    repo   = "smenu";
-    rev    = "v${version}";
-    sha256 = "1vlsrc071fznqnz67jbhrc4pcfwzc737lwd9jxpnidn0i08py5p2";
+    owner = "p-gen";
+    repo = "smenu";
+    rev = "v${version}";
+    sha256 = "1p8y1fgrfb7jxmv5ycvvnqaz7ghdi50paisgzk71169fqwp1crfa";
   };
 
   buildInputs = [ ncurses ];
 
   meta = with lib; {
-    homepage        = "https://github.com/p-gen/smenu";
-    description     = "Terminal selection utility";
+    homepage = "https://github.com/p-gen/smenu";
+    description = "Terminal selection utility";
     longDescription = ''
       Terminal utility that allows you to use words coming from the standard
       input to create a nice selection window just below the cursor. Once done,
       your selection will be sent to standard output.
     '';
-    license     = licenses.gpl2;
-    maintainers = [ maintainers.matthiasbeyer ];
-    platforms   = platforms.unix;
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ matthiasbeyer SuperSandro2000 ];
+    platforms = platforms.unix;
   };
 }
-
diff --git a/pkgs/tools/misc/snapper/default.nix b/pkgs/tools/misc/snapper/default.nix
index 5dfe76d7ebbbf..03f24c16aab24 100644
--- a/pkgs/tools/misc/snapper/default.nix
+++ b/pkgs/tools/misc/snapper/default.nix
@@ -69,7 +69,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Tool for Linux filesystem snapshot management";
     homepage = "http://snapper.io";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ tstrobel markuskowa ];
   };
diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix
index 7f58e357091b4..a3543c433ae9d 100644
--- a/pkgs/tools/misc/starship/default.nix
+++ b/pkgs/tools/misc/starship/default.nix
@@ -11,13 +11,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "starship";
-  version = "0.49.0";
+  version = "0.50.0";
 
   src = fetchFromGitHub {
     owner = "starship";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0mchjxlhrw73846acj99s6pig93infkbdgrmym6yzk8dg0ynx5gw";
+    sha256 = "1bnnqrxsmp3z2qksd8h4lfbq4kxxy1cg4yynadz66lxyzabv2v21";
   };
 
   nativeBuildInputs = [ installShellFiles ] ++ lib.optionals stdenv.isLinux [ pkg-config ];
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
     done
   '';
 
-  cargoSha256 = "0w17nv3zgczaznf1pkpj26ppxzv1arlva8zdg6b3l7m8qkkz8jn2";
+  cargoSha256 = "0plk47i2xrn3x5yr3gw3pq74maqf4krb8d6i4sf8gil4mnpcgxir";
 
   preCheck = ''
     HOME=$TMPDIR
diff --git a/pkgs/tools/misc/svtplay-dl/default.nix b/pkgs/tools/misc/svtplay-dl/default.nix
index 423135d53fd1e..8d8e587879b76 100644
--- a/pkgs/tools/misc/svtplay-dl/default.nix
+++ b/pkgs/tools/misc/svtplay-dl/default.nix
@@ -8,18 +8,18 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "svtplay-dl";
-  version = "2.8";
+  version = "3.0";
 
   src = fetchFromGitHub {
     owner = "spaam";
     repo = "svtplay-dl";
     rev = version;
-    sha256 = "1977xyxi9jfj7qra1sz7c9lk885cadpci66jvbzvnwm6d60m05lb";
+    sha256 = "1k7829sgvs2ihnf8d3zrqk99ifm9867wcn6f8zg628h8aqsif4fc";
   };
 
   pythonPaths = [ pycrypto pyyaml requests ];
-  buildInputs = [ python perl nose mock makeWrapper python-dateutil setuptools ] ++ pythonPaths;
-  nativeBuildInputs = [ gitMinimal zip ];
+  buildInputs = [ python perl nose mock python-dateutil setuptools ] ++ pythonPaths;
+  nativeBuildInputs = [ gitMinimal zip makeWrapper ];
 
   postPatch = ''
     substituteInPlace scripts/run-tests.sh \
diff --git a/pkgs/tools/misc/swaglyrics/default.nix b/pkgs/tools/misc/swaglyrics/default.nix
index 4bc5c28b55991..b3f58c4cdb18e 100644
--- a/pkgs/tools/misc/swaglyrics/default.nix
+++ b/pkgs/tools/misc/swaglyrics/default.nix
@@ -42,6 +42,6 @@ python3.pkgs.buildPythonApplication rec {
     homepage = "https://github.com/SwagLyrics/SwagLyrics-For-Spotify";
     license = licenses.mit;
     maintainers = with maintainers; [ siraben ];
-    platforms = lib.platforms.linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/tab-rs/default.nix b/pkgs/tools/misc/tab-rs/default.nix
index b6c9b35ac8704..affea98ea5550 100644
--- a/pkgs/tools/misc/tab-rs/default.nix
+++ b/pkgs/tools/misc/tab-rs/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tab-rs";
-  version = "0.5.6";
+  version = "0.5.7";
 
   src = fetchFromGitHub {
     owner = "austinjones";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1gyl2dxyhh4d2lpxg9s5cx734sfs1kys5z5hjqfgbiny28hp9sw6";
+    sha256 = "1crj0caimin667f9kz34c0sm77892dmqaf1kxryqakqm75az5wfr";
   };
 
-  cargoSha256 = "1apjzn164kakb2snrq1wfl7grm72hkddi3am6d01h5kkngkp68qm";
+  cargoSha256 = "0c2478c5gblvci0s68pv8386kxhs88dxzcpd2rq6l82bjn7yzymd";
 
   buildInputs = lib.optionals stdenv.isDarwin [ IOKit ];
 
diff --git a/pkgs/tools/misc/thefuck/default.nix b/pkgs/tools/misc/thefuck/default.nix
index d26c750a0c76c..ff6a22cef8eb2 100644
--- a/pkgs/tools/misc/thefuck/default.nix
+++ b/pkgs/tools/misc/thefuck/default.nix
@@ -1,6 +1,6 @@
 { lib, fetchFromGitHub, buildPythonApplication
 , colorama, decorator, psutil, pyte, six
-, pytest, pytest-mock
+, go, mock, pytestCheckHook, pytest-mock
 }:
 
 buildPythonApplication rec {
@@ -16,22 +16,12 @@ buildPythonApplication rec {
 
   propagatedBuildInputs = [ colorama decorator psutil pyte six ];
 
-  checkInputs = [ pytest pytest-mock ];
-
-  checkPhase = ''
-    export HOME=$TMPDIR
-    export LANG=en_US.UTF-8
-    export XDG_CACHE_HOME=$TMPDIR/cache
-    export XDG_CONFIG_HOME=$TMPDIR/config
-    py.test
-  '';
-
-  doCheck = false; # The above is only enough for tests to pass outside the sandbox.
+  checkInputs = [ go mock pytestCheckHook pytest-mock ];
 
   meta = with lib; {
     homepage = "https://github.com/nvbn/thefuck";
     description = "Magnificent app which corrects your previous console command";
     license = licenses.mit;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ma27 SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/misc/tldr/default.nix b/pkgs/tools/misc/tldr/default.nix
index 25eee1c7b83b0..dfde5a9113bee 100644
--- a/pkgs/tools/misc/tldr/default.nix
+++ b/pkgs/tools/misc/tldr/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ curl libzip ];
   nativeBuildInputs = [ pkg-config ];
 
-  makeFlags = ["CC=cc" "LD=cc" "CFLAGS="];
+  makeFlags = ["CC=${stdenv.cc.targetPrefix}cc" "LD=${stdenv.cc.targetPrefix}cc" "CFLAGS="];
 
   installFlags = [ "PREFIX=$(out)" ];
 
diff --git a/pkgs/tools/misc/tmux-cssh/default.nix b/pkgs/tools/misc/tmux-cssh/default.nix
index f3f5362795665..830c365fa4032 100644
--- a/pkgs/tools/misc/tmux-cssh/default.nix
+++ b/pkgs/tools/misc/tmux-cssh/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
     sha256 = "473e27f3b69864b905d1340d97917cd202705c761611eb3aec4c24521f69b52c";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/tools/misc/tmux-mem-cpu-load/default.nix b/pkgs/tools/misc/tmux-mem-cpu-load/default.nix
new file mode 100644
index 0000000000000..2f9f436a14990
--- /dev/null
+++ b/pkgs/tools/misc/tmux-mem-cpu-load/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "tmux-mem-cpu-load";
+  version = "3.4.0";
+
+  src = fetchFromGitHub {
+    owner = "thewtex";
+    repo = "tmux-mem-cpu-load";
+    rev = "v${version}";
+    sha256 = "1ybj513l4953jhayrzb47dlh4yv9bkvs0q1lfvky17v9fdkxgn2j";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    description = "CPU, RAM, and load monitor for use with tmux";
+    homepage = https://github.com/thewtex/tmux-mem-cpu-load;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ thomasjm ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/topgrade/default.nix b/pkgs/tools/misc/topgrade/default.nix
index 6a21bc56789a1..6dc47e317253e 100644
--- a/pkgs/tools/misc/topgrade/default.nix
+++ b/pkgs/tools/misc/topgrade/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "topgrade";
-  version = "6.0.2";
+  version = "6.6.0";
 
   src = fetchFromGitHub {
     owner = "r-darwish";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1pqf7rs9b8j54rwg8i8alvf65c4jfp5q2hv3yr60aiidfjrawp34";
+    sha256 = "sha256-YMg5HWDvBsYJZCxYrQuQqU4xLY8DORKYkK319pryA5I=";
   };
 
-  cargoSha256 = "1wh7xywp92h3in9a2nr6sia6l3852kw4s688sr1c2wjdf2i58lsg";
+  cargoSha256 = "sha256-G6ToQzPxuKpe1YQ4nLDJLjb3qx8D3VpuigXfdf7RHCQ=";
 
   buildInputs = lib.optional stdenv.isDarwin Foundation;
 
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "Upgrade all the things";
     homepage = "https://github.com/r-darwish/topgrade";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ Br1ght0ne hugoreeves ];
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ Br1ght0ne hugoreeves SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/misc/ttfautohint/default.nix b/pkgs/tools/misc/ttfautohint/default.nix
index 9e88e5da4f873..fe121c2d51cef 100644
--- a/pkgs/tools/misc/ttfautohint/default.nix
+++ b/pkgs/tools/misc/ttfautohint/default.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     description = "An automatic hinter for TrueType fonts";
     longDescription = ''
diff --git a/pkgs/tools/misc/ttwatch/default.nix b/pkgs/tools/misc/ttwatch/default.nix
index 5e54134541060..ecfc40bdf6f34 100644
--- a/pkgs/tools/misc/ttwatch/default.nix
+++ b/pkgs/tools/misc/ttwatch/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation {
   pname = "ttwatch";
-  version = "2020-02-05";
+  version = "2020-06-24";
 
   src = fetchFromGitHub {
     owner = "ryanbinns";
     repo = "ttwatch";
-    rev = "bfdf1372515574e1fb3871dc1039f8d8a5dbdada";
-    sha256 = "07nd4dbkchxy8js1h1f6pzn63pls2afww97wyiiw6zid43mpqyg4";
+    rev = "260aff5869fd577d788d86b546399353d9ff72c1";
+    sha256 = "0yd2hs9d03gfvwm1vywpg2qga6x5c74zrj665wf9aa8gmn96hv8r";
   };
 
   nativeBuildInputs = [ cmake perl pkg-config ];
diff --git a/pkgs/tools/misc/uhubctl/default.nix b/pkgs/tools/misc/uhubctl/default.nix
index bd7e956bb1cbf..f5bbe2de73f56 100644
--- a/pkgs/tools/misc/uhubctl/default.nix
+++ b/pkgs/tools/misc/uhubctl/default.nix
@@ -1,22 +1,24 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , libusb1
 }:
 
 stdenv.mkDerivation rec {
   pname = "uhubctl";
-  version = "2.2.0";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "mvp";
     repo = "uhubctl";
-    rev = "refs/tags/v${version}";
-    sha256 = "0pimhw2a2wfg7nh1ahsxmzkb0j6bbncwdqsvyp8l23zhs5kx7wm9";
+    rev = "v${version}";
+    sha256 = "sha256-F3fOoZYnfIWMrESyVJ/9z6Vou1279avhs600rQayUVA=";
   };
 
   buildInputs = [ libusb1 ];
 
   installFlags = [ "prefix=${placeholder "out"}" ];
+
   meta = with lib; {
     homepage = "https://github.com/mvp/uhubctl";
     description = "Utility to control USB power per-port on smart USB hubs";
diff --git a/pkgs/tools/misc/unclutter/default.nix b/pkgs/tools/misc/unclutter/default.nix
index 1b76029819195..66344c9fdeef7 100644
--- a/pkgs/tools/misc/unclutter/default.nix
+++ b/pkgs/tools/misc/unclutter/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   buildInputs = [xlibsWrapper];
 
-  buildFlags = [ "CC=cc" ];
+  buildFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
   installPhase = ''
     mkdir -pv "$out/bin"
diff --git a/pkgs/tools/misc/upterm/default.nix b/pkgs/tools/misc/upterm/default.nix
new file mode 100644
index 0000000000000..533ef192e8d7c
--- /dev/null
+++ b/pkgs/tools/misc/upterm/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles }:
+
+buildGoModule rec {
+  pname = "upterm";
+  version = "0.5.2";
+
+  src = fetchFromGitHub {
+    owner = "owenthereal";
+    repo = "upterm";
+    rev = "v${version}";
+    sha256 = "007hgkkn1cq1i0rkn45i3bz5q9irzm67cz0j5glr6f6d4s0nkjiq";
+  };
+
+  vendorSha256 = null;
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    $out/bin/gendoc
+    rm $out/bin/gendoc
+    installManPage etc/man/man*/*
+    installShellCompletion --bash --name upterm.bash etc/completion/upterm.bash_completion.sh
+    installShellCompletion --zsh --name _upterm etc/completion/upterm.zsh_completion
+  '';
+
+  doCheck = true;
+
+  __darwinAllowLocalNetworking = true;
+
+  meta = with lib; {
+    description = "Secure terminal-session sharing";
+    homepage = "https://upterm.dev";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ hax404 ];
+  };
+}
diff --git a/pkgs/tools/misc/uutils-coreutils/default.nix b/pkgs/tools/misc/uutils-coreutils/default.nix
index f18deb0c83de1..44871b07a8ead 100644
--- a/pkgs/tools/misc/uutils-coreutils/default.nix
+++ b/pkgs/tools/misc/uutils-coreutils/default.nix
@@ -1,20 +1,21 @@
 { stdenv, fetchFromGitHub, rustPlatform, cargo, cmake, sphinx, lib, prefix ? "uutils-"
 , Security
 }:
+rustPlatform.buildRustPackage rec {
+  pname = "uutils-coreutils";
+  version = "0.0.3";
 
-rustPlatform.buildRustPackage {
-  name = "uutils-coreutils-2019-05-03";
   src = fetchFromGitHub {
     owner = "uutils";
     repo = "coreutils";
-    rev = "036dd812958ace22d973acf7b370f58072049dac";
-    sha256 = "0d9w3iiphhsk7l5l34682wayp90rgq5a3d94l3qdvhcqkfmpg727";
+    rev = version;
+    sha256 = "QWiEHk8aciiwQeyNgrr0M0c1EeAgE3gSqw0ly/YTwTQ=";
   };
 
   # too many impure/platform-dependent tests
   doCheck = false;
 
-  cargoSha256 = "186hwzdpy7j0gw7491qx02vy4di5md47hipf1xxi1qccvmcfghwh";
+  cargoSha256 = "m2a7WNkF5TxjJlytjdoQ/JZIF9gp9qBkH+UU/NVRJzA=";
 
   makeFlags =
     [ "CARGO=${cargo}/bin/cargo" "PREFIX=$(out)" "PROFILE=release" "INSTALLDIR_MAN=$(out)/share/man/man1" ]
@@ -34,7 +35,7 @@ rustPlatform.buildRustPackage {
       CLI utils in Rust. This repo is to aggregate the GNU coreutils rewrites.
     '';
     homepage = "https://github.com/uutils/coreutils";
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ siraben ];
     license = licenses.mit;
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/misc/venus/default.nix b/pkgs/tools/misc/venus/default.nix
deleted file mode 100644
index 28c4508525ec1..0000000000000
--- a/pkgs/tools/misc/venus/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, python, pythonPackages, libxslt, libxml2, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  pname = "venus";
-  version = "unstable-2011-02-18";
-
-  src = fetchFromGitHub {
-    owner = "rubys";
-    repo = "venus";
-    rev = "9de21094a8cf565bdfcf75688e121a5ad1f5397b";
-    sha256 = "10yyx4jaxxbwhica12aiw119aywghcr7b24gs9lrmafpa6xd3an2";
-  };
-
-  preConfigure = ''
-    substituteInPlace tests/test_spider.py \
-        --replace "urllib.urlopen('http://127.0.0.1:%d/' % _PORT).read()" "" \
-        --replace "[200,200,200,200,404]" "[200,200,200,404]"
-    substituteInPlace planet.py \
-        --replace "#!/usr/bin/env python" "#!${python}/bin/python"
-    substituteInPlace tests/test_apply.py \
-        --replace "'xsltproc" "'${libxslt.bin}/bin/xsltproc"
-    substituteInPlace planet/shell/xslt.py \
-        --replace "'xsltproc" "'${libxslt.bin}/bin/xsltproc"
-  '';
-
-  doCheck = true;
-  checkPhase = "python runtests.py";
-
-  buildInputs = [ python libxslt
-    libxml2 pythonPackages.genshi pythonPackages.lxml makeWrapper ];
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp -R ./* $out/
-    ln -s $out/planet.py $out/bin/venus-planet
-    wrapProgram $out/planet.py \
-        --prefix PYTHONPATH : $PYTHONPATH:${pythonPackages.lxml}/lib/${python.libPrefix}/site-packages:${pythonPackages.genshi}/lib/${python.libPrefix}/site-packages
-    python runtests.py
-  '';
-
-  meta = {
-    description = "News feed reader";
-    longDescription = ''
-      Planet Venus is an awesome ‘river of news’ feed reader. It downloads news
-      feeds published by web sites and aggregates their content together into a
-      single combined feed, latest news first.
-    '';
-    homepage = "http://intertwingly.net/code/venus/docs/index.html";
-    license = lib.licenses.psfl;
-    platforms = lib.platforms.all;
-    maintainers = [];
-  };
-}
diff --git a/pkgs/tools/misc/vsh/default.nix b/pkgs/tools/misc/vsh/default.nix
index 2220c026c49cb..a94c58368a4f2 100644
--- a/pkgs/tools/misc/vsh/default.nix
+++ b/pkgs/tools/misc/vsh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "vsh";
-  version = "0.8.0";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "fishi0x01";
     repo = "vsh";
     rev = "v${version}";
-    sha256 = "0s4i4x8kd9s2igdshgsbs6n3k670h7r6g1mn1pzlj0kpmggnhfik";
+    sha256 = "0dhn2aqd52fgasy4j3ar67fzwzcxfi1vl09kni8jwcna8rjgg3fj";
   };
 
-  # vendor dir is already part of repository
+  # vendor directory is part of repository
   vendorSha256 = null;
 
   # make sure version gets set at compile time
diff --git a/pkgs/tools/misc/wimboot/default.nix b/pkgs/tools/misc/wimboot/default.nix
index b25e0b55379dd..04dbca9ed63f2 100644
--- a/pkgs/tools/misc/wimboot/default.nix
+++ b/pkgs/tools/misc/wimboot/default.nix
@@ -14,12 +14,17 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-Wno-address-of-packed-member"; # Fails on gcc9
 
   patches = [
-    # Fix for newer binutils
+    # Fixes for newer binutils
+    # Add R_X86_64_PLT32 as known reloc target
     (fetchpatch {
-      url =
-        "https://github.com/ipxe/wimboot/commit/91be50c17d4d9f463109d5baafd70f9fdadd86db.patch";
+      url = "https://github.com/ipxe/wimboot/commit/91be50c17d4d9f463109d5baafd70f9fdadd86db.patch";
       sha256 = "113448n49hmk8nz1dxbhxiciwl281zwalvb8z5p9xfnjvibj8274";
     })
+    # Fix building with binutils 2.34 (bfd_get_section_* removed in favour of bfd_section_*)
+    (fetchpatch {
+      url = "https://github.com/ipxe/wimboot/commit/2f97e681703d30b33a4d5032a8025ab8b9f2de75.patch";
+      sha256 = "0476mp74jaq3k099b654al6yi2yhgn37d9biz0wv3ln2q1gy94yf";
+    })
   ];
 
   # We cannot use sourceRoot because the patch wouldn't apply
@@ -40,7 +45,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://ipxe.org/wimboot";
     description = "Windows Imaging Format bootloader";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ das_j ajs124 ];
     platforms = platforms.x86; # Fails on aarch64
   };
diff --git a/pkgs/tools/misc/xvfb-run/default.nix b/pkgs/tools/misc/xvfb-run/default.nix
index a0392bf4754cf..05750b962f00f 100644
--- a/pkgs/tools/misc/xvfb-run/default.nix
+++ b/pkgs/tools/misc/xvfb-run/default.nix
@@ -10,7 +10,7 @@ let
 in
 stdenv.mkDerivation {
   name = "xvfb-run";
-  buildInputs = [makeWrapper];
+  nativeBuildInputs = [ makeWrapper ];
   buildCommand = ''
     mkdir -p $out/bin
     cp ${xvfb_run} $out/bin/xvfb-run
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index fea9de8caca99..4879bd9b04280 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -18,11 +18,11 @@ buildPythonPackage rec {
   # The websites youtube-dl deals with are a very moving target. That means that
   # downloads break constantly. Because of that, updates should always be backported
   # to the latest stable release.
-  version = "2021.01.24.1";
+  version = "2021.03.02";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
-    sha256 = "001hs73fpm4nxcgn60n9wlsdmiv40f4b1k6hkl4g4wyywv9ic9fy";
+    sha256 = "0g3fmbxbixi92vbjjy5dabz538yvfzdp649kafs09n55iw29s3f8";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
diff --git a/pkgs/tools/misc/yubikey-manager-qt/default.nix b/pkgs/tools/misc/yubikey-manager-qt/default.nix
index 0f81f132abdff..02982f9cc4a3d 100644
--- a/pkgs/tools/misc/yubikey-manager-qt/default.nix
+++ b/pkgs/tools/misc/yubikey-manager-qt/default.nix
@@ -11,8 +11,6 @@
 , qtgraphicaleffects
 , qtquickcontrols
 , qtquickcontrols2
-, qtdeclarative
-, qtsvg
 , yubikey-manager
 , yubikey-personalization
 }:
@@ -34,8 +32,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pythonPackages.python qtbase qtgraphicaleffects qtquickcontrols qtquickcontrols2 pyotherside ];
 
-  enableParallelBuilding = true;
-
   pythonPath = [ yubikey-manager ];
 
   dontWrapQtApps = true;
diff --git a/pkgs/tools/misc/z-lua/default.nix b/pkgs/tools/misc/z-lua/default.nix
index 419846a9d3741..79be68c8d5668 100644
--- a/pkgs/tools/misc/z-lua/default.nix
+++ b/pkgs/tools/misc/z-lua/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "z-lua";
-  version = "1.8.10";
+  version = "1.8.12";
 
   src = fetchFromGitHub {
     owner = "skywind3000";
     repo = "z.lua";
     rev = version;
-    sha256 = "0q0qs07kmkpjv68j2bjgsrv6shl76mssnchfv82vjf8abkf8343b";
+    sha256 = "sha256-q4hJ6QAR8cXjXM2e5Et1/DzyEw9L0120sgpTtqGG5wQ=";
   };
 
   dontBuild = true;
diff --git a/pkgs/tools/misc/zoxide/default.nix b/pkgs/tools/misc/zoxide/default.nix
index c5ca2965e9dda..1e1ec8723bfc8 100644
--- a/pkgs/tools/misc/zoxide/default.nix
+++ b/pkgs/tools/misc/zoxide/default.nix
@@ -4,7 +4,6 @@
 , rustPlatform
 , withFzf ? true
 , fzf
-
   # checkInputs
 , fish
 , powershell
@@ -13,12 +12,10 @@
 , xonsh
 , zsh
 }:
-let
-  version = "0.5.0";
-in
-rustPlatform.buildRustPackage {
+
+rustPlatform.buildRustPackage rec {
   pname = "zoxide";
-  inherit version;
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "ajeetdsouza";
@@ -55,6 +52,6 @@ rustPlatform.buildRustPackage {
     description = "A fast cd command that learns your habits";
     homepage = "https://github.com/ajeetdsouza/zoxide";
     license = with licenses; [ mit ];
-    maintainers = with maintainers; [ ysndr cole-h ];
+    maintainers = with maintainers; [ ysndr cole-h SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/networking/airfield/default.nix b/pkgs/tools/networking/airfield/default.nix
index 0976a764a6f2d..374a76871cb09 100644
--- a/pkgs/tools/networking/airfield/default.nix
+++ b/pkgs/tools/networking/airfield/default.nix
@@ -42,7 +42,8 @@ let
 in stdenv.mkDerivation {
   inherit name version src;
 
-  buildInputs = [ makeWrapper nodejs ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ nodejs ];
 
   dontBuild = true;
 
diff --git a/pkgs/tools/networking/airfield/node-packages.nix b/pkgs/tools/networking/airfield/node-packages.nix
index 66e701626751e..b43d293800904 100644
--- a/pkgs/tools/networking/airfield/node-packages.nix
+++ b/pkgs/tools/networking/airfield/node-packages.nix
@@ -1,16 +1,16 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
 let
   sources = {
-    "ajv-6.12.0" = {
+    "ajv-6.12.6" = {
       name = "ajv";
       packageName = "ajv";
-      version = "6.12.0";
+      version = "6.12.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz";
-        sha512 = "0gkcic96nmpcq311i2jfwbaa961x0mj7mkl7iwk213hyn4jgxbl0a472lcpg9dr7ybacn3i45fj6q0dz3g8rqmva7r14i9la240ba0g";
+        url = "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz";
+        sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==";
       };
     };
     "asn1-0.2.4" = {
@@ -19,7 +19,7 @@ let
       version = "0.2.4";
       src = fetchurl {
         url = "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz";
-        sha512 = "1v2z1ll0l8rif8hh0d03jc49kz3p8hym63q8ixbas48w4a8akl413hwn08nx83m89sj3mxl06aa0grp7n8hj6hcbsb2k3fhj913674g";
+        sha512 = "jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==";
       };
     };
     "assert-plus-1.0.0" = {
@@ -49,13 +49,13 @@ let
         sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
       };
     };
-    "aws4-1.9.1" = {
+    "aws4-1.11.0" = {
       name = "aws4";
       packageName = "aws4";
-      version = "1.9.1";
+      version = "1.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz";
-        sha512 = "2x4b6c0ny64yv6ljfs6sv82akh200klmnh1m1i18hdj28ksxkr9c0szphnwcasy3g5y3l1wn858wcxnc2gi9q5wql8s678fc61xbhf0";
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz";
+        sha512 = "xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==";
       };
     };
     "bcrypt-pbkdf-1.0.2" = {
@@ -100,7 +100,7 @@ let
       version = "1.0.8";
       src = fetchurl {
         url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz";
-        sha512 = "1v09nkip7zpn3k3prkkg53w331rhczpfgcqb0q42i97nafra43l2khl5zvhd4ar0qmh145nmw7944jy8p108ny0xpgy29gf2wqph0qm";
+        sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
       };
     };
     "commander-0.6.1" = {
@@ -166,13 +166,13 @@ let
         sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
       };
     };
-    "debug-4.1.1" = {
+    "debug-4.3.2" = {
       name = "debug";
       packageName = "debug";
-      version = "4.1.1";
+      version = "4.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz";
-        sha512 = "1kmf9j5pka2rsljg5x6shniwmgs9444ksgdn0d3fjmis7yghxxn2zj526s36ip8rmpfni9zpj8z74w7irax32a67j59xw38wk6hi055";
+        url = "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz";
+        sha512 = "mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==";
       };
     };
     "delayed-stream-1.0.0" = {
@@ -184,13 +184,13 @@ let
         sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
       };
     };
-    "denque-1.4.1" = {
+    "denque-1.5.0" = {
       name = "denque";
       packageName = "denque";
-      version = "1.4.1";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/denque/-/denque-1.4.1.tgz";
-        sha512 = "2spb0s12jkarfiydj4sj4iw1yfjzaplakzw7bma0pwnbra23l1b85rsyzc25szlfdl3bm5bb42fmy4xhf1xdpxaywmwh6aa4swwzz1r";
+        url = "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz";
+        sha512 = "CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ==";
       };
     };
     "ecc-jsbn-0.1.2" = {
@@ -208,7 +208,7 @@ let
       version = "3.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz";
-        sha512 = "3zad2109w3q3gh46s5msrnzfy2nl581sqpy20b52fs7v5pdjh3irpg7szl3xvh4sfy63218jy8ry6qlnir3baxbbfrb03swkw5swfky";
+        sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
       };
     };
     "extsprintf-1.3.0" = {
@@ -220,13 +220,13 @@ let
         sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
       };
     };
-    "fast-deep-equal-3.1.1" = {
+    "fast-deep-equal-3.1.3" = {
       name = "fast-deep-equal";
       packageName = "fast-deep-equal";
-      version = "3.1.1";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz";
-        sha512 = "1j7wq3vqvfgnpd2sjblnlgryxlic2fsy343fx8w4ywb2mngj1w5afq8fmly8cp9fi66dhz1fhcfpn23g5zasnzs6n1snb83qkkilhgi";
+        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz";
+        sha512 = "f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==";
       };
     };
     "fast-json-stable-stringify-2.1.0" = {
@@ -235,7 +235,7 @@ let
       version = "2.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
-        sha512 = "0gz06zkjlqc4r59ka14n3vwqjdgn40zd8r115ql3rkwqb7j42frmnsj3axr7p2md8ik52nqjn3myyv8ddavdhl4cq3xz4wbbz07y5wn";
+        sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==";
       };
     };
     "forever-agent-0.6.1" = {
@@ -253,7 +253,7 @@ let
       version = "2.3.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz";
-        sha512 = "0jj3hgqp9pmxmfavx6rvdfl3r4yf98clpsarqadz3hq0dxhjlh2ppd9x8bvmaq3nwjdqpdvqx25pwyin4ipixhgsn7s3p9fcc3wllnn";
+        sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==";
       };
     };
     "formidable-1.0.11" = {
@@ -292,13 +292,13 @@ let
         sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
       };
     };
-    "har-validator-5.1.3" = {
+    "har-validator-5.1.5" = {
       name = "har-validator";
       packageName = "har-validator";
-      version = "5.1.3";
+      version = "5.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz";
-        sha512 = "3kaldgfsh3lfvgvw31s8b7q345zf7ixjahllncdckcw6qfs3gnbsamdxgs9kfigq7rwmja7v51ghh7y0rsp6q7jmvmbydhh645wxnxh";
+        url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz";
+        sha512 = "nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==";
       };
     };
     "http-signature-1.2.0" = {
@@ -352,7 +352,7 @@ let
       version = "0.4.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
-        sha512 = "1bbgxs4777gn3q3yxi0n792cgz9pimf85pypr0w4wzpb22nr8fl9xi98pkcqd3n4fn7lnzffpq7qwpcl4dqc15py19lwqa2jwgw5dn5";
+        sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
       };
     };
     "json-stringify-safe-5.0.1" = {
@@ -391,22 +391,22 @@ let
         sha1 = "b1f86c768c025fa87b48075f1709f28aeaf20365";
       };
     };
-    "mime-db-1.43.0" = {
+    "mime-db-1.45.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.43.0";
+      version = "1.45.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz";
-        sha512 = "36x3p6lll5v1g7na92kbba0bpcl36i1argsqn8iy4mgz3zh3llnqhzhfw0l26jqcb0mh9rhhmrx718kvqzchga6y79qdg9884c6r5zv";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz";
+        sha512 = "CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==";
       };
     };
-    "mime-types-2.1.26" = {
+    "mime-types-2.1.28" = {
       name = "mime-types";
       packageName = "mime-types";
-      version = "2.1.26";
+      version = "2.1.28";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz";
-        sha512 = "1cxsgrndjg6jyfqzm74hv6cmy9lil52f1kzkq2niknaiqz20p3yiw0fpgsyld2zrbxr9abpdabz1q6nqa50xr9a0cmbjbi0cqymlnnk";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz";
+        sha512 = "0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==";
       };
     };
     "mkdirp-0.3.3" = {
@@ -424,7 +424,7 @@ let
       version = "2.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz";
-        sha512 = "3dqfiiw6nxvvi24fndbzlccnjcas99bsd1kz5m2r78lzgpp6vx57jzbmxq3k1m7bsw88rwra0n4848l720fxxn5x20djck3wp3hysdh";
+        sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
       };
     };
     "oauth-sign-0.9.0" = {
@@ -433,7 +433,7 @@ let
       version = "0.9.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz";
-        sha512 = "1jz644r7ybsq688ifahm64ih3ljqjjskm533bgir20pvc350f9cl0z162scih0r1idx8lpw5f8hxa2pkf0lhbdhr5y6ak2ga5863v3x";
+        sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==";
       };
     };
     "pause-0.0.1" = {
@@ -454,13 +454,13 @@ let
         sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
       };
     };
-    "psl-1.7.0" = {
+    "psl-1.8.0" = {
       name = "psl";
       packageName = "psl";
-      version = "1.7.0";
+      version = "1.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz";
-        sha512 = "0whj0m29370fn3imrlj2dw0xmr33j2gn30kn96xpxckz7i1b21pj6vlgsn4ggxl79mz2ckng5mdxbkczcwkjry497s8xkgw7c815nz4";
+        url = "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz";
+        sha512 = "RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==";
       };
     };
     "punycode-2.1.1" = {
@@ -469,7 +469,7 @@ let
       version = "2.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz";
-        sha512 = "381vqgh5xkqzrr6cxbzfykgnnk83m7qgpx3wjwj1hddn3sg2aibjxyr30rajpgv4js0cqknrbzwbfk5ryhiiyigzfjrk3zysy6i26sx";
+        sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
       };
     };
     "qs-0.5.1" = {
@@ -487,7 +487,7 @@ let
       version = "6.5.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz";
-        sha512 = "0c46ws0x9g3mmkgfmvd78bzvnmv2b8ryg4ah6jvyyqgjv9v994z7xdyvsc4vg9sf98gg7phvy3q1ahgaj5fy3dwzf2rki6bixgl15ip";
+        sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==";
       };
     };
     "range-parser-0.0.4" = {
@@ -499,13 +499,13 @@ let
         sha1 = "c0427ffef51c10acba0782a46c9602e744ff620b";
       };
     };
-    "redis-commands-1.5.0" = {
+    "redis-commands-1.6.0" = {
       name = "redis-commands";
       packageName = "redis-commands";
-      version = "1.5.0";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/redis-commands/-/redis-commands-1.5.0.tgz";
-        sha512 = "0kdmbh04hif6g8qr3zcwjkjg1v3rjgss0dq3sy144l5ja5vp4ndb5hdn2acrx57w01swbwpkskmy788lr2nxdq0g46azqsrmad5mb78";
+        url = "https://registry.npmjs.org/redis-commands/-/redis-commands-1.6.0.tgz";
+        sha512 = "2jnZ0IkjZxvguITjFTrGiLyzQZcTvaw8DAaCXxZq/dsHXz7KfMQ3OUJy7Tz9vnRtZRVz6VRCPDvruvU8Ts44wQ==";
       };
     };
     "redis-errors-1.2.0" = {
@@ -526,13 +526,13 @@ let
         sha1 = "b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4";
       };
     };
-    "safe-buffer-5.2.0" = {
+    "safe-buffer-5.2.1" = {
       name = "safe-buffer";
       packageName = "safe-buffer";
-      version = "5.2.0";
+      version = "5.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz";
-        sha512 = "1pb164cfv1ip3s1rp008433rak88mdcch24q84cbfndg0dzky2ij8vjvsiyx2qf3rg4dgs82zk7vnrd9hkqqdcvp4lbk5ymcr8314bx";
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz";
+        sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==";
       };
     };
     "safer-buffer-2.1.2" = {
@@ -541,7 +541,7 @@ let
       version = "2.1.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
-        sha512 = "2v99f22kh56y72d3s8wrgdvf5n10ry40dh3fwnsxr4d5rfvxdfxfmc3qyqkscnj4f8799jy9bpg6cm21x2d811dr9ib83wjrlmkg6k1";
+        sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
       };
     };
     "send-0.1.0" = {
@@ -559,7 +559,7 @@ let
       version = "1.16.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz";
-        sha512 = "0i4jnrxh6i17qij2vfki7qxmk435cnacvg363qg0hya5incfj57akgbas8zcx2cl5pds9jfgfyhqm8wlqz6damsg059gymv99aylx8x";
+        sha512 = "HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==";
       };
     };
     "tough-cookie-2.5.0" = {
@@ -568,7 +568,7 @@ let
       version = "2.5.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz";
-        sha512 = "3xgcny117pqhfncr4gbmagzlnjiqqgq0lrvmljdfcdy64nc0xjfcbf1r08dmp1v1m3s51kq0yxc18nl3j9lbpr5bp5lgmi6719yqlly";
+        sha512 = "nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==";
       };
     };
     "tunnel-agent-0.6.0" = {
@@ -589,22 +589,22 @@ let
         sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
       };
     };
-    "underscore-1.9.2" = {
+    "underscore-1.12.0" = {
       name = "underscore";
       packageName = "underscore";
-      version = "1.9.2";
+      version = "1.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/underscore/-/underscore-1.9.2.tgz";
-        sha512 = "0fpcm4n2qlycl50j6k3fv7baybnzf1wbsm2ng0vwfsdi40fyvsvvl0k1i427hgpknhj5hbcwff3swckw6wx96kw4dgwvldi56v6lzqg";
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.12.0.tgz";
+        sha512 = "21rQzss/XPMjolTiIezSu3JAjgagXKROtNrYFEOWK109qY1Uv2tVjPTZ1ci2HgvQDA16gHYSthQIJfB+XId/rQ==";
       };
     };
-    "uri-js-4.2.2" = {
+    "uri-js-4.4.1" = {
       name = "uri-js";
       packageName = "uri-js";
-      version = "4.2.2";
+      version = "4.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz";
-        sha512 = "2fz60s71ghl56ddfiiaws81xpiidlbjk69jyjmahz190d2advy9zdbcwh5if4rgg5hxdbfxhkwiipjrnjy8w834bxsmzambd2p4b3r9";
+        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz";
+        sha512 = "7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==";
       };
     };
     "uuid-3.4.0" = {
@@ -613,7 +613,7 @@ let
       version = "3.4.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz";
-        sha512 = "3y9pcli1v8nqryqd2c4pxj9kcv92mjc22z4smg08pdjzrbwda19xmjbzms1dwr04995h4carz9s8mldbiqb8708694lwr501r3q6d0y";
+        sha512 = "HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==";
       };
     };
     "verror-1.10.0" = {
@@ -644,7 +644,7 @@ in
       sources."cookie-0.0.5"
       sources."cookie-signature-0.0.1"
       sources."crc-0.2.0"
-      sources."debug-4.1.1"
+      sources."debug-4.3.2"
       sources."formidable-1.0.11"
       sources."fresh-0.1.0"
       sources."methods-0.0.1"
@@ -673,7 +673,7 @@ in
       sha1 = "544bfb3bd837608873eed6a72c672a28cb1f1b3f";
     };
     dependencies = [
-      sources."underscore-1.9.2"
+      sources."underscore-1.12.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -706,11 +706,11 @@ in
     version = "3.0.2";
     src = fetchurl {
       url = "https://registry.npmjs.org/redis/-/redis-3.0.2.tgz";
-      sha512 = "26lf40x7al63vywd96j6idqbn8fagv4jp6ar9cc80aili5d59sy14hvb3haw8xhjqxc3481dkmbvza8x3p1dcn3p2az5snlp054pn1w";
+      sha512 = "PNhLCrjU6vKVuMOyFu7oSP296mwBkcE6lrAjruBYG5LgdSqtRBoVQIylrMyVZD/lkF24RSNNatzvYag6HRBHjQ==";
     };
     dependencies = [
-      sources."denque-1.4.1"
-      sources."redis-commands-1.5.0"
+      sources."denque-1.5.0"
+      sources."redis-commands-1.6.0"
       sources."redis-errors-1.2.0"
       sources."redis-parser-3.0.0"
     ];
@@ -727,10 +727,10 @@ in
   connect-redis = nodeEnv.buildNodePackage {
     name = "connect-redis";
     packageName = "connect-redis";
-    version = "4.0.4";
+    version = "5.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/connect-redis/-/connect-redis-4.0.4.tgz";
-      sha512 = "014p1jjd7bzdsd81v0918ac5j4k1qs4qi2nzzndyn50rznd04hx85l23jpicznwc2j3nkz5bj15zbi98ld3akxb5rwl46r5sdp3nyb9";
+      url = "https://registry.npmjs.org/connect-redis/-/connect-redis-5.0.0.tgz";
+      sha512 = "R4nTW5uXeG5s6zr/q4abmtcdloglZrL/A3cpa0JU0RLFJU4mTR553HUY8OZ0ngeySkGDclwQ5xmCcjjKkxdOSg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -748,7 +748,7 @@ in
     version = "3.2.0";
     src = fetchurl {
       url = "https://registry.npmjs.org/async/-/async-3.2.0.tgz";
-      sha512 = "1kwiqca4ql149ywfzbp1lpmqixnh1y9i5aizcd0fvndrq9sn31j0cr38wdgbr5xqvlxgjfs3jwryg7ddnwc8n1b5nlksfjmj48sc7ad";
+      sha512 = "TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -766,15 +766,15 @@ in
     version = "2.88.2";
     src = fetchurl {
       url = "https://registry.npmjs.org/request/-/request-2.88.2.tgz";
-      sha512 = "23hm71jcxrwvp33azx8mx3w6dg21fr4w6lwvkvxyf6ckvhk3hz9dk8lzgkbiyzfl9ylhp4n807xp88ppq4gj5h07cmrgxf6nwxfvjrj";
+      sha512 = "MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==";
     };
     dependencies = [
-      sources."ajv-6.12.0"
+      sources."ajv-6.12.6"
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
-      sources."aws4-1.9.1"
+      sources."aws4-1.11.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."caseless-0.12.0"
       sources."combined-stream-1.0.8"
@@ -784,13 +784,13 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
-      sources."fast-deep-equal-3.1.1"
+      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."getpass-0.1.7"
       sources."har-schema-2.0.0"
-      sources."har-validator-5.1.3"
+      sources."har-validator-5.1.5"
       sources."http-signature-1.2.0"
       sources."is-typedarray-1.0.0"
       sources."isstream-0.1.2"
@@ -799,20 +799,20 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.1"
-      sources."mime-db-1.43.0"
-      sources."mime-types-2.1.26"
+      sources."mime-db-1.45.0"
+      sources."mime-types-2.1.28"
       sources."oauth-sign-0.9.0"
       sources."performance-now-2.1.0"
-      sources."psl-1.7.0"
+      sources."psl-1.8.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
-      sources."safe-buffer-5.2.0"
+      sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."sshpk-1.16.1"
       sources."tough-cookie-2.5.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."uri-js-4.2.2"
+      sources."uri-js-4.4.1"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
     ];
diff --git a/pkgs/tools/networking/airfield/node.nix b/pkgs/tools/networking/airfield/node.nix
index c98d9b58e6e04..0bcd0eb4b8512 100644
--- a/pkgs/tools/networking/airfield/node.nix
+++ b/pkgs/tools/networking/airfield/node.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
@@ -6,12 +6,12 @@
 
 let
   nodeEnv = import ../../../development/node-packages/node-env.nix {
-    inherit (pkgs) lib stdenv python2 util-linux runCommand writeTextFile;
-    inherit nodejs;
+    inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
+    inherit pkgs nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
 import ./node-packages.nix {
-  inherit (pkgs) fetchurl fetchgit;
+  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
   inherit nodeEnv;
 }
diff --git a/pkgs/tools/networking/argus-clients/default.nix b/pkgs/tools/networking/argus-clients/default.nix
index ead19b17926b1..cd935a5f5d7d7 100644
--- a/pkgs/tools/networking/argus-clients/default.nix
+++ b/pkgs/tools/networking/argus-clients/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, libpcap, bison, flex, cyrus_sasl, tcp_wrappers, pkg-config, perl }:
+{ lib, stdenv, fetchurl, libpcap, bison, flex, cyrus_sasl, tcp_wrappers, pkg-config, perl, libtirpc, libnsl }:
 
 stdenv.mkDerivation rec {
   pname = "argus-clients";
@@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "1c9vj6ma00gqq9h92fg71sxcsjzz912166sdg90ahvnmvmh3l1rj";
   };
 
-  patchPhase = ''
+  NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
+
+  postPatch = ''
     for file in ./examples/*/*.pl; do
       substituteInPlace $file \
         --subst-var-by PERLBIN ${perl}/bin/perl
@@ -19,7 +21,7 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--with-perl=${perl}/bin/perl" ];
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ libpcap bison cyrus_sasl tcp_wrappers flex ];
+  buildInputs = [ libpcap bison cyrus_sasl tcp_wrappers flex libnsl ];
 
   meta = with lib; {
     description = "Clients for ARGUS";
diff --git a/pkgs/tools/networking/atftp/default.nix b/pkgs/tools/networking/atftp/default.nix
index 7fcd677044fee..0e76cb94346b7 100644
--- a/pkgs/tools/networking/atftp/default.nix
+++ b/pkgs/tools/networking/atftp/default.nix
@@ -2,14 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "atftp";
-  version = "0.7.2";
+  version = "0.7.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/atftp/${pname}-${version}.tar.gz";
-    sha256 = "0hah3fhzl6vfs381883vbvf4d13cdhsyf0x7ncbl55wz9rkq1l0s";
+    sha256 = "sha256-08nNDZcd/Hhtel9AVcNdTmaq/IECrANHPvIlvfftsmo=";
   };
 
-  buildInputs = [ readline tcp_wrappers pcre makeWrapper gcc ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ readline tcp_wrappers pcre gcc ];
 
   # Expects pre-GCC5 inline semantics
   NIX_CFLAGS_COMPILE = "-std=gnu89";
diff --git a/pkgs/tools/networking/autossh/default.nix b/pkgs/tools/networking/autossh/default.nix
index 49fb4d52e0b49..9b8e7f712fd04 100644
--- a/pkgs/tools/networking/autossh/default.nix
+++ b/pkgs/tools/networking/autossh/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, openssh}:
 
 stdenv.mkDerivation rec {
-  name = "autossh-1.4g";
+  pname = "autossh";
+  version = "1.4g";
 
   src = fetchurl {
-    url = "http://www.harding.motd.ca/autossh/${name}.tgz";
+    url = "http://www.harding.motd.ca/autossh/${pname}-${version}.tgz";
     sha256 = "0xqjw8df68f4kzkns5gcah61s5wk0m44qdk2z1d6388w6viwxhsz";
   };
 
@@ -15,8 +16,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ openssh ];
 
-  installPhase =
-    ''
+  installPhase = ''
       install -D -m755 autossh      $out/bin/autossh                          || return 1
       install -D -m644 CHANGES      $out/share/doc/autossh/CHANGES            || return 1
       install -D -m644 README       $out/share/doc/autossh/README             || return 1
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://www.harding.motd.ca/autossh/";
     description = "Automatically restart SSH sessions and tunnels";
+    license = licenses.bsd1;
     platforms = platforms.unix;
     maintainers = with maintainers; [ pSub ];
   };
diff --git a/pkgs/tools/networking/boundary/default.nix b/pkgs/tools/networking/boundary/default.nix
new file mode 100644
index 0000000000000..37cb23f9876f8
--- /dev/null
+++ b/pkgs/tools/networking/boundary/default.nix
@@ -0,0 +1,62 @@
+{ stdenv, lib, fetchzip }:
+
+let
+  inherit (stdenv.hostPlatform) system;
+  suffix = {
+    x86_64-linux = "linux_amd64";
+    aarch64-linux = "linux_arm64";
+    x86_64-darwin = "darwin_amd64";
+  }."${system}" or (throw "Unsupported system: ${system}");
+  fetchsrc = version: sha256: fetchzip {
+      url = "https://releases.hashicorp.com/boundary/${version}/boundary_${version}_${suffix}.zip";
+      sha256 = sha256."${system}";
+    };
+in
+stdenv.mkDerivation rec {
+  pname = "boundary";
+  version = "0.1.7";
+
+  src = fetchsrc version {
+    x86_64-linux = "sha256-cSD9V/Hj/eEc6k+LMNRnSEA94fA6bQUfCgA+XdqAR4k=";
+    aarch64-linux = "sha256-MG97PhG/t1rdmTF3n2YHYsTo8VODCaY3cfnv8YHgAY8=";
+    x86_64-darwin = "sha256-p60UiIy9DGx7AaEvmyo4FLa0Z67MQRNJkw1nHaM6eww=";
+  };
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    install -D boundary $out/bin/boundary
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/boundary --help
+    $out/bin/boundary version
+    runHook postInstallCheck
+  '';
+
+  dontPatchELF = true;
+  dontPatchShebangs = true;
+
+  passthru.updateScript = ./update.sh;
+
+  meta = with lib; {
+    homepage = "https://boundaryproject.io/";
+    changelog = "https://github.com/hashicorp/boundary/blob/v${version}/CHANGELOG.md";
+    description = "Enables identity-based access management for dynamic infrastructure";
+    longDescription = ''
+      Boundary provides a secure way to access hosts and critical systems
+      without having to manage credentials or expose your network, and is
+      entirely open source.
+
+      Boundary is designed to be straightforward to understand, highly scalable,
+      and resilient. It can run in clouds, on-prem, secure enclaves and more,
+      and does not require an agent to be installed on every end host.
+    '';
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ jk ];
+    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
+  };
+}
diff --git a/pkgs/tools/networking/boundary/update.sh b/pkgs/tools/networking/boundary/update.sh
new file mode 100755
index 0000000000000..437339307104d
--- /dev/null
+++ b/pkgs/tools/networking/boundary/update.sh
@@ -0,0 +1,39 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl gnused gawk nix-prefetch
+
+set -euo pipefail
+
+ROOT="$(dirname "$(readlink -f "$0")")"
+NIX_DRV="$ROOT/default.nix"
+if [ ! -f "$NIX_DRV" ]; then
+  echo "ERROR: cannot find default.nix in $ROOT"
+  exit 1
+fi
+
+fetch_arch() {
+  VER="$1"; ARCH="$2"
+  URL="https://releases.hashicorp.com/boundary/${VER}/boundary_${VER}_${ARCH}.zip"
+  nix-prefetch "{ stdenv, fetchzip }:
+stdenv.mkDerivation rec {
+  pname = \"boundary\"; version = \"${VER}\";
+  src = fetchzip { url = \"$URL\"; };
+}
+"
+}
+
+replace_sha() {
+  sed -i "s#$1 = \"sha256-.\{44\}\"#$1 = \"$2\"#" "$NIX_DRV"
+}
+
+# https://releases.hashicorp.com/boundary/0.1.4/boundary_0.1.4_linux_amd64.zip
+BOUNDARY_VER=$(curl -Ls -w "%{url_effective}" -o /dev/null https://github.com/hashicorp/boundary/releases/latest | awk -F'/' '{print $NF}' | sed 's/v//')
+
+BOUNDARY_LINUX_X64_SHA256=$(fetch_arch "$BOUNDARY_VER" "linux_amd64")
+BOUNDARY_DARWIN_X64_SHA256=$(fetch_arch "$BOUNDARY_VER" "darwin_amd64")
+BOUNDARY_LINUX_AARCH64_SHA256=$(fetch_arch "$BOUNDARY_VER" "linux_arm64")
+
+sed -i "s/version = \".*\"/version = \"$BOUNDARY_VER\"/" "$NIX_DRV"
+
+replace_sha "x86_64-linux" "$BOUNDARY_LINUX_X64_SHA256"
+replace_sha "x86_64-darwin" "$BOUNDARY_DARWIN_X64_SHA256"
+replace_sha "aarch64-linux" "$BOUNDARY_LINUX_AARCH64_SHA256"
diff --git a/pkgs/tools/networking/carddav-util/default.nix b/pkgs/tools/networking/carddav-util/default.nix
index 39728f7e9a079..112a95eccc6ed 100644
--- a/pkgs/tools/networking/carddav-util/default.nix
+++ b/pkgs/tools/networking/carddav-util/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
     sha256 = "0f0raffdy032wlnxfck6ky60r163nhqfbr311y4ry55l60s4497n";
   };
 
-  buildInputs = [makeWrapper];
+  nativeBuildInputs = [ makeWrapper ];
 
   propagatedBuildInputs = with pythonPackages; [ requests vobject lxml ];
 
diff --git a/pkgs/tools/networking/cassowary/default.nix b/pkgs/tools/networking/cassowary/default.nix
index 7d9a07badbb32..f0aecf7363a8e 100644
--- a/pkgs/tools/networking/cassowary/default.nix
+++ b/pkgs/tools/networking/cassowary/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "cassowary";
-  version = "0.12.0";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "rogerwelin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-HRshuMnRPMzatOYYI//yEtjC46kORGXaAWJJjLHW2+k=";
+    sha256 = "sha256-IaS2QU9DBupv06AMzJXBM2iZkNVw31Pt1bOMQNBEiq0=";
   };
 
-  vendorSha256 = "sha256-d8JPsHBGkZ/MeoHTCLxi6JeNomER/0veWjqmqGal8eE=";
+  vendorSha256 = "sha256-RuwrnuTNfiYpIuohw7OQv95hjOAeWCMuajsZVUUDxBQ=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/networking/chisel/default.nix b/pkgs/tools/networking/chisel/default.nix
index b8675ad09717a..8533958ac2bb6 100644
--- a/pkgs/tools/networking/chisel/default.nix
+++ b/pkgs/tools/networking/chisel/default.nix
@@ -6,17 +6,19 @@
 
 buildGoModule rec {
   pname = "chisel";
-  version = "1.7.4";
+  version = "1.7.6";
 
   src = fetchFromGitHub {
     owner = "jpillora";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-1vg9tJLYbW8pfPpw3gQ15c9Kwj2lFfblMRhOK4yWKb8=";
+    sha256 = "sha256-hUurgwbSUcNZiSi+eVTG/Ija/yxPeWuvEE5pUiG7Dls=";
   };
 
   vendorSha256 = "sha256-GzsQ6LXxe9UQc13XbsYFOWPe0EzlyHechchKc6xDkAc=";
 
+  buildFlagsArray = [ "-ldflags=-s -w -X github.com/jpillora/chisel/share.BuildVersion=${version}" ];
+
   # tests require access to the network
   doCheck = false;
 
diff --git a/pkgs/tools/networking/clash/default.nix b/pkgs/tools/networking/clash/default.nix
index 543c86db307fd..2091a4aa5498d 100644
--- a/pkgs/tools/networking/clash/default.nix
+++ b/pkgs/tools/networking/clash/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "clash";
-  version = "1.3.5";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "Dreamacro";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-yTkUGsVwK6nwHUQpYhkPYF/Cf4URrr5ThB67sxq7Ecs=";
+    sha256 = "sha256-T6oBdhBX850GXb19MTOFVo9LRfOgCyMW3GIljMMeGmg=";
   };
 
-  vendorSha256 = "sha256-J7VGYxX1bH5CeDhpqK9mIbHUekXslImZ+O3wN5Q7kYk=";
+  vendorSha256 = "sha256-HqlHUVWwvO15nitpwIh/u0GfF8wqJqkviyxOp7QHYz8=";
 
   doCheck = false;
 
@@ -23,7 +23,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "A rule-based tunnel in Go";
     homepage = "https://github.com/Dreamacro/clash";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     maintainers = with maintainers; [ contrun Br1ght0ne ];
   };
 }
diff --git a/pkgs/tools/networking/connect/default.nix b/pkgs/tools/networking/connect/default.nix
index 1f0831fb890c2..8b8c0018c66ff 100644
--- a/pkgs/tools/networking/connect/default.nix
+++ b/pkgs/tools/networking/connect/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "00yld6yinc8s4xv3b8kbvzn2f4rja5dmp6ysv3n4847qn4k60dh7";
   };
 
-  makeFlags = [ "CC=cc" ];      # gcc and/or clang compat
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];      # gcc and/or clang compat
 
   installPhase = ''
     install -D -m ugo=rx connect $out/bin/connect
diff --git a/pkgs/tools/networking/connman/connman.nix b/pkgs/tools/networking/connman/connman.nix
index 21fa038707c6d..d8380340caea5 100644
--- a/pkgs/tools/networking/connman/connman.nix
+++ b/pkgs/tools/networking/connman/connman.nix
@@ -55,10 +55,10 @@ let inherit (lib) optionals; in
 
 stdenv.mkDerivation rec {
   pname = "connman";
-  version = "1.38";
+  version = "1.39";
   src = fetchurl {
     url = "mirror://kernel/linux/network/connman/${pname}-${version}.tar.xz";
-    sha256 = "0awkqigvhwwxiapw0x6yd4whl465ka8a4al0v2pcqy9ggjlsqc6b";
+    sha256 = "sha256-n2KnFpt0kcZwof8uM1sNlmMI+y9i4oXHgRBeuQ8YGvM=";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/networking/croc/default.nix b/pkgs/tools/networking/croc/default.nix
index 4a4578a735620..79f78c8fff4cc 100644
--- a/pkgs/tools/networking/croc/default.nix
+++ b/pkgs/tools/networking/croc/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "croc";
-  version = "8.6.7";
+  version = "8.6.8";
 
   src = fetchFromGitHub {
     owner = "schollz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+Hsxu/gqMKRWBJT7JqOw8Ck+5fQG0D3wSJBb9fgkPsw=";
+    sha256 = "sha256-ierNKZ14F3EKtQRdOd7D4jhaA7M6zwnFVSk6aUh4VPc=";
   };
 
-  vendorSha256 = "sha256-ULXC8lVu/TTSzYJ4EpAQvDwntRV0+Vmr8VPaEe54qdA=";
+  vendorSha256 = "sha256-F/Vxl9Z5LgAmnRt/FOdW9eVN7IVb1ZEKiYOSpT9+L0E=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/networking/dhcp/default.nix b/pkgs/tools/networking/dhcp/default.nix
index c56ba5a4a6617..751dd2c8c1f9c 100644
--- a/pkgs/tools/networking/dhcp/default.nix
+++ b/pkgs/tools/networking/dhcp/default.nix
@@ -20,9 +20,9 @@ stdenv.mkDerivation rec {
       ./set-hostname.patch
     ];
 
-  nativeBuildInputs = [ perl ];
+  nativeBuildInputs = [ perl makeWrapper ];
 
-  buildInputs = [ makeWrapper openldap ];
+  buildInputs = [ openldap ];
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
 
diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix
index d92408b366907..d8f4285e0b810 100644
--- a/pkgs/tools/networking/dnsmasq/default.nix
+++ b/pkgs/tools/networking/dnsmasq/default.nix
@@ -13,11 +13,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "dnsmasq";
-  version = "2.83";
+  version = "2.84";
 
   src = fetchurl {
     url = "http://www.thekelleys.org.uk/dnsmasq/${pname}-${version}.tar.xz";
-    sha256 = "1sjamz1v588qf35m8z6wcqkjk5w12bqhj7d7p48dj8jyn3lgghgz";
+    sha256 = "sha256-YDGVxktzE3YJsH4QJK4LN/ZSsvX+Rn3OZphbPRhQBQw=";
   };
 
   postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
diff --git a/pkgs/tools/networking/dnsproxy/default.nix b/pkgs/tools/networking/dnsproxy/default.nix
index d43c121bbf564..6668d6e986a7e 100644
--- a/pkgs/tools/networking/dnsproxy/default.nix
+++ b/pkgs/tools/networking/dnsproxy/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "dnsproxy";
-  version = "0.33.9";
+  version = "0.35.1";
 
   src = fetchFromGitHub {
     owner = "AdguardTeam";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-1q3w2wv4lTIYPTO3weuZ0C2KeXcFWVV5KRJw2YRNWSE=";
+    sha256 = "sha256-+k8dGVYyCY+CI8+8OPBqoICu0KO2eM+6Hy8E+KyOqPs=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/networking/driftnet/default.nix b/pkgs/tools/networking/driftnet/default.nix
index a9f9305169ce5..042f29d3ca313 100644
--- a/pkgs/tools/networking/driftnet/default.nix
+++ b/pkgs/tools/networking/driftnet/default.nix
@@ -1,31 +1,64 @@
-{ stdenv, lib, fetchFromGitHub, libpcap, libjpeg , libungif, libpng
-, giflib, glib, gtk2, cairo, pango, gdk-pixbuf, atk
-, pkg-config, autoreconfHook }:
+{ stdenv
+, lib
+, fetchFromGitHub
+, fetchpatch
+, autoreconfHook
+, cairo
+, giflib
+, glib
+, gtk2-x11
+, libjpeg
+, libpcap
+, libpng
+, libwebsockets
+, pkg-config
+, libuv
+, openssl
+}:
 
-with lib;
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "driftnet";
-  version = "1.1.5";
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [
-    libpcap libjpeg libungif libpng giflib
-    glib gtk2 glib cairo pango gdk-pixbuf atk autoreconfHook
-  ];
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "deiv";
     repo = "driftnet";
-    rev = "0ae4a91";
-    sha256 = "1sagpx0mw68ggvqd9c3crjhghqmj7391mf2cb6cjw1cpd2hcddsj";
+    rev = "v${version}";
+    sha256 = "0kd22aqb25kf54jjv3ml8wy8xm7lmbf0xz1wfp31m08cbzsbizib";
   };
 
-  meta = {
+  # https://github.com/deiv/driftnet/pull/33
+  # remove on version bump from 1.3.0
+  patches = [
+    (fetchpatch {
+      name = "fix-darwin-build";
+      url = "https://github.com/deiv/driftnet/pull/33/commits/bef5f3509ab5710161e9e21ea960a997eada534f.patch";
+      sha256 = "1b7p9fkgp7dxv965l7q7y632s80h3nnrkaqnak2h0hakwv0i4pvm";
+    })
+  ];
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ pkg-config autoreconfHook ];
+
+  buildInputs = [
+    cairo
+    giflib
+    glib
+    gtk2-x11
+    libjpeg
+    libpcap
+    libpng
+    libwebsockets
+    openssl
+    libuv
+  ];
+
+  meta = with lib; {
     description = "Watches network traffic, and picks out and displays JPEG and GIF images for display";
     homepage = "https://github.com/deiv/driftnet";
     maintainers = with maintainers; [ offline ];
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     license = licenses.gpl2;
   };
 }
diff --git a/pkgs/tools/networking/driftnet/fix-darwin-build.patch b/pkgs/tools/networking/driftnet/fix-darwin-build.patch
new file mode 100644
index 0000000000000..d1bde0f2e605f
--- /dev/null
+++ b/pkgs/tools/networking/driftnet/fix-darwin-build.patch
@@ -0,0 +1,61 @@
+diff --git a/src/compat/compat.h b/src/compat/compat.h
+index 6add422..ea80406 100644
+--- a/src/compat/compat.h
++++ b/src/compat/compat.h
+@@ -17,7 +17,7 @@
+     #include <config.h>
+ #endif
+ 
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) || defined(__APPLE__)
+     #include <sys/types.h>
+ #endif
+ 
+diff --git a/src/network/layer2.c b/src/network/layer2.c
+index 763f0ac..2497b72 100644
+--- a/src/network/layer2.c
++++ b/src/network/layer2.c
+@@ -14,7 +14,7 @@
+ 
+ #include <string.h>
+ 
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) || defined(__APPLE__)
+ #include <netinet/in_systm.h>
+ #include <netinet/in.h>
+ #else
+@@ -29,7 +29,7 @@
+ /*
+  * Freebsd and Cygwin doesn't define 'ethhdr'
+  */
+-#if defined(__FreeBSD__) || defined(__CYGWIN__)
++#if defined(__FreeBSD__) || defined(__CYGWIN__) || defined(__APPLE__)
+ 
+ #define ETH_ALEN	6			/* Octets in one ethernet addr	 */
+ #define ETH_P_IP	0x0800		/* Internet Protocol packet	*/
+diff --git a/src/network/layer3.c b/src/network/layer3.c
+index 7864126..aae2041 100644
+--- a/src/network/layer3.c
++++ b/src/network/layer3.c
+@@ -15,7 +15,7 @@
+ #include <string.h>
+ #include <assert.h>
+ 
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) || defined(__APPLE__)
+ #include <netinet/in_systm.h>
+ #include <netinet/in.h>
+ #include <sys/socket.h>
+diff --git a/src/pid.c b/src/pid.c
+index 621834e..94e7dcc 100644
+--- a/src/pid.c
++++ b/src/pid.c
+@@ -14,7 +14,7 @@
+ 
+ #include "compat/compat.h"
+ 
+-#ifdef __FreeBSD__
++#if defined(__FreeBSD__) || defined(__APPLE__)
+ #include <sys/stat.h>
+ #endif
+ #include <fcntl.h>
diff --git a/pkgs/tools/networking/ferm/default.nix b/pkgs/tools/networking/ferm/default.nix
index f344dec618680..29f9481fe3285 100644
--- a/pkgs/tools/networking/ferm/default.nix
+++ b/pkgs/tools/networking/ferm/default.nix
@@ -3,12 +3,12 @@
 let
   inherit (lib.versions) majorMinor;
 in stdenv.mkDerivation rec {
-  version = "2.5.1";
+  version = "2.6";
   pname = "ferm";
 
   src = fetchurl {
     url = "http://ferm.foo-projects.org/download/${majorMinor version}/ferm-${version}.tar.xz";
-    sha256 = "0awl9s243sxgayr2fcmfks8xydhrmb9gy8bd9sfq738dgq7vybjb";
+    sha256 = "sha256-aJVBRl58Bzy9YEyc0Y8RPDHAtBuxJhRyalmxfkQFiIU=";
   };
 
   # perl is used at build time to gather the ferm version.
diff --git a/pkgs/tools/networking/findomain/default.nix b/pkgs/tools/networking/findomain/default.nix
index 480a64127cae4..681f6002ca670 100644
--- a/pkgs/tools/networking/findomain/default.nix
+++ b/pkgs/tools/networking/findomain/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "findomain";
-  version = "3.0.1";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner = "Edu4rdSHL";
     repo = pname;
     rev = version;
-    sha256 = "sha256-eM3XTZ/Y0Kk5bdC+xskS/btGEVrC50342YBYJdXAlDg=";
+    sha256 = "sha256-mZJyxbxMIw3jr7ASzYKEfZFh4GS6ZfGKsRkzOtUCYOA=";
   };
 
-  cargoSha256 = "sha256-U3WXb6qGGshaWJ3GIC+c3W9Y8Cz0O23J7mVojCwitlk=";
+  cargoSha256 = "sha256-JIyv21u+r2CpgsiW5O7Fy4CWXpkW4jRDrH0CSY2CgiU=";
 
   nativeBuildInputs = [ installShellFiles perl ];
   buildInputs = lib.optional stdenv.isDarwin Security;
diff --git a/pkgs/tools/networking/flvstreamer/default.nix b/pkgs/tools/networking/flvstreamer/default.nix
index 869cd46b33079..d31751e7d5ca7 100644
--- a/pkgs/tools/networking/flvstreamer/default.nix
+++ b/pkgs/tools/networking/flvstreamer/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   buildPhase = ''
-    make CC=cc posix
+    make CC=${stdenv.cc.targetPrefix}cc posix
   '';
 
   installPhase = ''
diff --git a/pkgs/tools/networking/goimapnotify/default.nix b/pkgs/tools/networking/goimapnotify/default.nix
index 4232a5a4fedd9..619e364c884f1 100644
--- a/pkgs/tools/networking/goimapnotify/default.nix
+++ b/pkgs/tools/networking/goimapnotify/default.nix
@@ -1,4 +1,4 @@
-{ buildGoPackage, fetchFromGitLab, lib }:
+{ buildGoPackage, fetchFromGitLab, lib, runtimeShell }:
 
 buildGoPackage rec {
   pname = "goimapnotify";
@@ -13,6 +13,10 @@ buildGoPackage rec {
     sha256 = "1d42gd3m2rkvy985d181dbcm5i3f7xsg2z8z6s4bpvw24pfnzs42";
   };
 
+  postPatch = ''
+    substituteInPlace command.go --replace '"sh"' '"${runtimeShell}"'
+  '';
+
   goDeps = ./deps.nix;
 
   meta = with lib; {
diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix
index 5e09ddd430b49..a682e15891fd3 100644
--- a/pkgs/tools/networking/haproxy/default.nix
+++ b/pkgs/tools/networking/haproxy/default.nix
@@ -11,11 +11,11 @@ assert usePcre -> pcre != null;
 
 stdenv.mkDerivation rec {
   pname = "haproxy";
-  version = "2.3.4";
+  version = "2.3.5";
 
   src = fetchurl {
     url = "https://www.haproxy.org/download/${lib.versions.majorMinor version}/src/${pname}-${version}.tar.gz";
-    sha256 = "sha256-YBSM3+3WsZxAHbzXXM12pTwgvHbEkDK6Mq+YoKXEle0=";
+    sha256 = "sha256-eSRTlTC79VWCnH9Yhr4Lf8+NnI/+CGe3AQvrZwq/vks=";
   };
 
   buildInputs = [ openssl zlib ]
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
     "USE_GETADDRINFO=1"
   ] ++ lib.optionals withPrometheusExporter [
     "EXTRA_OBJS=contrib/prometheus-exporter/service-prometheus.o"
-  ] ++ lib.optional stdenv.isDarwin "CC=cc";
+  ] ++ [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/tools/networking/httpie/default.nix b/pkgs/tools/networking/httpie/default.nix
index c5e12317fd7da..a323087575bfc 100644
--- a/pkgs/tools/networking/httpie/default.nix
+++ b/pkgs/tools/networking/httpie/default.nix
@@ -1,31 +1,24 @@
-{ lib, fetchFromGitHub, python3Packages, docutils, fetchpatch }:
+{ lib, fetchFromGitHub, python3Packages, docutils }:
 
 python3Packages.buildPythonApplication rec {
   pname = "httpie";
-  version = "2.2.0";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
-    owner = "jakubroztocil";
+    owner = "httpie";
     repo = "httpie";
     rev = version;
-    sha256 = "0caazv24jr0844c4mdx77vzwwi5m869n10wa42cydb08ppx1xxj6";
+    sha256 = "00lafjqg9nfnak0nhcr2l2hzzkwn2y6qv0wdkm6r6f69snizy3hf";
   };
 
-  outputs = [ "out" "doc" "man" ];
-
-  propagatedBuildInputs = with python3Packages; [ pygments requests setuptools ];
-  dontUseSetuptoolsCheck = true;
   patches = [
     ./strip-venv.patch
-
-    # Fix `test_ciphers_none_can_be_selected`
-    # TODO: remove on next release
-    (fetchpatch {
-      url = "https://github.com/jakubroztocil/httpie/commit/49e71d252f54871a6bc49cb1cba103d385a543b8.patch";
-      sha256 = "13b2faf50gimj7f17dlx4gmd8ph8ipgihpzfqbvmfjlbf1v95fsj";
-    })
   ];
 
+  outputs = [ "out" "doc" "man" ];
+
+  propagatedBuildInputs = with python3Packages; [ pygments requests requests-toolbelt setuptools ];
+
   checkInputs = with python3Packages; [
     mock
     pytest
@@ -70,15 +63,6 @@ python3Packages.buildPythonApplication rec {
     toHtml CHANGELOG.rst $docdir/html/CHANGELOG.html
     toHtml CONTRIBUTING.rst $docdir/html/CONTRIBUTING.html
 
-    # change a few links to the local files
-    substituteInPlace $docdir/html/index.html \
-      --replace \
-        'https://github.com/jakubroztocil/httpie/blob/master/CHANGELOG.rst' \
-        "CHANGELOG.html" \
-      --replace \
-        'https://github.com/jakubroztocil/httpie/blob/master/CONTRIBUTING.rst' \
-        "CONTRIBUTING.html"
-
     ${docutils}/bin/rst2man \
       --strip-elements-with-class=no-web \
       --title=http \
@@ -94,10 +78,14 @@ python3Packages.buildPythonApplication rec {
     export PATH=${docutils}/bin:$PATH
   '';
 
-  meta = {
+  checkPhase = ''
+    py.test ./httpie ./tests --doctest-modules --verbose ./httpie ./tests -k 'not test_chunked and not test_verbose_chunked and not test_multipart_chunked and not test_request_body_from_file_by_path_chunked'
+  '';
+
+  meta = with lib; {
     description = "A command line HTTP client whose goal is to make CLI human-friendly";
     homepage = "https://httpie.org/";
-    license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ antono relrod schneefux ];
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ antono relrod schneefux SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/networking/httpie/strip-venv.patch b/pkgs/tools/networking/httpie/strip-venv.patch
index 99ea80a3f5660..9cfddbfdf78f4 100644
--- a/pkgs/tools/networking/httpie/strip-venv.patch
+++ b/pkgs/tools/networking/httpie/strip-venv.patch
@@ -1,11 +1,11 @@
 diff --git a/tests/test_docs.py b/tests/test_docs.py
-index 7a41822..720ecf6 100644
+index 340e64d..a6b4dc9 100644
 --- a/tests/test_docs.py
 +++ b/tests/test_docs.py
-@@ -41,12 +41,10 @@ assert filenames
- 
+@@ -42,15 +42,10 @@ assert filenames
  # HACK: hardcoded paths, venv should be irrelevant, etc.
- # TODO: replaces the process with Python code
+ # TODO: simplify by using the Python API instead of a subprocess
+ #       then we wont’t need the paths.
 -VENV_BIN = Path(__file__).parent.parent / 'venv/bin'
 -VENV_PYTHON = VENV_BIN / 'python'
 -VENV_RST2PSEUDOXML = VENV_BIN / 'rst2pseudoxml.py'
@@ -13,7 +13,10 @@ index 7a41822..720ecf6 100644
 +VENV_RST2PSEUDOXML = 'rst2pseudoxml.py'
  
  
--@pytest.mark.skipif(not os.path.exists(VENV_RST2PSEUDOXML), reason='docutils not installed')
+-@pytest.mark.skipif(
+-    not VENV_RST2PSEUDOXML.exists(),
+-    reason='docutils not installed',
+-)
  @pytest.mark.parametrize('filename', filenames)
  def test_rst_file_syntax(filename):
      p = subprocess.Popen(
diff --git a/pkgs/tools/networking/i2pd/default.nix b/pkgs/tools/networking/i2pd/default.nix
index ab21595209181..92465a9fc7286 100644
--- a/pkgs/tools/networking/i2pd/default.nix
+++ b/pkgs/tools/networking/i2pd/default.nix
@@ -9,17 +9,18 @@ assert upnpSupport -> miniupnpc != null;
 
 stdenv.mkDerivation rec {
   pname = "i2pd";
-  version = "2.35.0";
+  version = "2.36.0";
 
   src = fetchFromGitHub {
     owner = "PurpleI2P";
     repo = pname;
     rev = version;
-    sha256 = "0bpkgq7srwpjmadsz3nsd14jpr19b1zfrpc074lzjaq15icxxgxc";
+    sha256 = "sha256-f1ew2i/tgRdIAo/oOgFIFquKve+ImRzqoZqmlzfwpz8=";
   };
 
   buildInputs = with lib; [ boost zlib openssl ]
     ++ optional upnpSupport miniupnpc;
+
   makeFlags =
     let ynf = a: b: a + "=" + (if b then "yes" else "no"); in
     [ (ynf "USE_AESNI" aesniSupport)
@@ -27,6 +28,8 @@ stdenv.mkDerivation rec {
       (ynf "USE_UPNP"  upnpSupport)
     ];
 
+  enableParallelBuilding = true;
+
   installPhase = ''
     install -D i2pd $out/bin/i2pd
   '';
@@ -36,6 +39,6 @@ stdenv.mkDerivation rec {
     description = "Minimal I2P router written in C++";
     license = licenses.bsd3;
     maintainers = with maintainers; [ edwtjo ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/isync/default.nix b/pkgs/tools/networking/isync/default.nix
index 365a0669e42de..f6263f187bf5b 100644
--- a/pkgs/tools/networking/isync/default.nix
+++ b/pkgs/tools/networking/isync/default.nix
@@ -1,18 +1,20 @@
 { lib, stdenv, fetchurl, pkg-config, perl
-, openssl, db, zlib, cyrus_sasl
+, openssl, db, cyrus_sasl, zlib
+, Security
 }:
 
 stdenv.mkDerivation rec {
   pname = "isync";
-  version = "1.3.3";
+  version = "1.4.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/isync/${pname}-${version}.tar.gz";
-    sha256 = "10n8ykag0q3ws6fc15xqyg3v980v5nq3kzpablly2rh2z7vkn8gj";
+    sha256 = "0l01880fcyqn6xq9n8236ha5n2a3wl5g8rmv22z8nv5hgfsxndhd";
   };
 
   nativeBuildInputs = [ pkg-config perl ];
-  buildInputs = [ openssl db cyrus_sasl zlib ];
+  buildInputs = [ openssl db cyrus_sasl zlib ]
+    ++ lib.optionals stdenv.isDarwin [ Security ];
 
   meta = with lib; {
     homepage = "http://isync.sourceforge.net/";
diff --git a/pkgs/tools/networking/kea/default.nix b/pkgs/tools/networking/kea/default.nix
index d32c2f5cc57b2..064aa162fba56 100644
--- a/pkgs/tools/networking/kea/default.nix
+++ b/pkgs/tools/networking/kea/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kea";
-  version = "1.8.2";
+  version = "1.9.3";
 
   src = fetchurl {
     url = "https://ftp.isc.org/isc/${pname}/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0f8x1blfmbcak0cd21jm1zpz4w8iimldhjilwkwgvmmrxnmsfv28";
+    sha256 = "sha256-gEuEbqvy/YpXfNkeNcaobI5gH2AvlL6E/lm2HfPATZ8=";
   };
 
   patches = [ ./dont-create-var.patch ];
diff --git a/pkgs/tools/networking/keepalived/default.nix b/pkgs/tools/networking/keepalived/default.nix
index 7ce5e0ccbf0dd..a805fe7e9e6cc 100644
--- a/pkgs/tools/networking/keepalived/default.nix
+++ b/pkgs/tools/networking/keepalived/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "keepalived";
-  version = "2.1.5";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "acassen";
     repo = "keepalived";
     rev = "v${version}";
-    sha256 = "0zdh3g491mlc0x4g8q09vq62a7pb8n13a39jnfdgrm9k29khn0sj";
+    sha256 = "sha256-Cupi5arScECKmHCBcC0Cmm/64JhidMyNUB75YmGMJag=";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/networking/lldpd/default.nix b/pkgs/tools/networking/lldpd/default.nix
index 18ae090f2119b..f34b43f3c32b3 100644
--- a/pkgs/tools/networking/lldpd/default.nix
+++ b/pkgs/tools/networking/lldpd/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lldpd";
-  version = "1.0.7";
+  version = "1.0.8";
 
   src = fetchurl {
     url = "https://media.luffy.cx/files/lldpd/${pname}-${version}.tar.gz";
-    sha256 = "1qc7k83zpcq27hpjv1lmgrj4la2zy1gspwk5jas43j49siwr3xqx";
+    sha256 = "sha256-mNIA524w9iYsSkSTFIwYQIJ4mDKRRqV6NPjw+SjKPe8=";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/networking/mailutils/default.nix b/pkgs/tools/networking/mailutils/default.nix
index 4194605df531e..6c1f454ca8c49 100644
--- a/pkgs/tools/networking/mailutils/default.nix
+++ b/pkgs/tools/networking/mailutils/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mailutils";
-  version = "3.10";
+  version = "3.12";
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "17smrxjdgbbzbzakik30vj46q4iib85ksqhb82jr4vjp57akszh9";
+    sha256 = "0n51ng1f8yf5zfsnh8s0pj9bnw6icb2r0y78gl2kzijaghhzlhvd";
   };
 
   postPatch = ''
@@ -31,12 +31,6 @@ stdenv.mkDerivation rec {
   patches = [
     ./fix-build-mb-len-max.patch
     ./path-to-cat.patch
-    # mailquota.c:277: undefined reference to `get_size'
-    # https://lists.gnu.org/archive/html/bug-mailutils/2020-08/msg00002.html
-    (fetchpatch {
-      url = "http://git.savannah.gnu.org/cgit/mailutils.git/patch/?id=37713b42a501892469234b90454731d8d8b7a3e6";
-      sha256 = "1mwj77nxvf4xvqf26yjs59jyksnizj0lmbymbzg4kmqynzq3zjny";
-    })
     # Fix cross-compilation
     # https://lists.gnu.org/archive/html/bug-mailutils/2020-11/msg00038.html
     (fetchpatch {
@@ -64,8 +58,6 @@ stdenv.mkDerivation rec {
     (fetchurl { url = "${p}/weed.at"; sha256 = "1101xakhc99f5gb9cs3mmydn43ayli7b270pzbvh7f9rbvh0d0nh"; })
   ];
 
-  NIX_CFLAGS_COMPILE = "-L${libmysqlclient}/lib/mysql -I${libmysqlclient}/include/mysql";
-
   checkInputs = [ dejagnu ];
   doCheck = false; # fails 1 out of a bunch of tests, looks like a bug
   doInstallCheck = false; # fails
diff --git a/pkgs/tools/networking/minio-client/default.nix b/pkgs/tools/networking/minio-client/default.nix
index 9d667d0ee1dcd..a6c50e46205a1 100644
--- a/pkgs/tools/networking/minio-client/default.nix
+++ b/pkgs/tools/networking/minio-client/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "minio-client";
-  version = "2021-01-16T02-45-34Z";
+  version = "2021-02-19T05-34-40Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "mc";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-1JUCoeLFMDvzT5KdQw+ZdYWPgdWKIL3kJ/LCIsqc6xE=";
+    sha256 = "sha256-tkNGWX0QyMlMw+wB8wkYuGfveln6NUoIBLPscRHnQT4=";
   };
 
-  vendorSha256 = "sha256-3wWUIFpNXom2MuUEDgAAEHlWRXhUzId+shZW/i5Rw4A=";
+  vendorSha256 = "sha256-6l8VcHTSZBbFe96rzumMCPIVFVxUMIWoqiBGMtrx75U=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/networking/mosh/default.nix b/pkgs/tools/networking/mosh/default.nix
index b03678858ad01..92c241967ae0b 100644
--- a/pkgs/tools/networking/mosh/default.nix
+++ b/pkgs/tools/networking/mosh/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, fetchpatch, zlib, protobuf, ncurses, pkg-config
 , makeWrapper, perlPackages, openssl, autoreconfHook, openssh, bash-completion
-, libutempter ? null, withUtempter ? stdenv.isLinux }:
+, withUtempter ? stdenv.isLinux, libutempter }:
 
 stdenv.mkDerivation rec {
   pname = "mosh";
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "05hjhlp6lk8yjcy59zywpf0r6s0h0b9zxq0lw66dh9x8vxrhaq6s";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ protobuf ncurses zlib makeWrapper openssl bash-completion ]
+  nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper ];
+  buildInputs = [ protobuf ncurses zlib openssl bash-completion ]
     ++ (with perlPackages; [ perl IOTty ])
     ++ lib.optional withUtempter libutempter;
 
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
 
   CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11";
 
-  meta = {
+  meta = with lib; {
     homepage = "https://mosh.org/";
     description = "Mobile shell (ssh replacement)";
     longDescription = ''
@@ -56,8 +56,8 @@ stdenv.mkDerivation rec {
       Mosh is a replacement for SSH. It's more robust and responsive,
       especially over Wi-Fi, cellular, and long-distance links.
     '';
-    license = lib.licenses.gpl3Plus;
-    maintainers = with lib.maintainers; [viric];
-    platforms = lib.platforms.unix;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ viric ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/mtr/default.nix b/pkgs/tools/networking/mtr/default.nix
index 8296bc479195e..1257c167e7681 100644
--- a/pkgs/tools/networking/mtr/default.nix
+++ b/pkgs/tools/networking/mtr/default.nix
@@ -1,17 +1,15 @@
 { stdenv, lib, fetchFromGitHub, autoreconfHook, pkg-config
 , libcap, ncurses
-, withGtk ? false, gtk3 ? null }:
-
-assert withGtk -> gtk3 != null;
+, withGtk ? false, gtk3 }:
 
 stdenv.mkDerivation rec {
   pname = "mtr${lib.optionalString withGtk "-gui"}";
   version = "0.94";
 
   src = fetchFromGitHub {
-    owner  = "traviscross";
-    repo   = "mtr";
-    rev    = "v${version}";
+    owner = "traviscross";
+    repo = "mtr";
+    rev = "v${version}";
     sha256 = "0wnz87cr2lcl74bj8qxq9xgai40az3pk9k0z893scyc8svd61xz6";
   };
 
@@ -38,9 +36,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A network diagnostics tool";
-    homepage    = "https://www.bitwizard.nl/mtr/";
-    license     = licenses.gpl2;
+    homepage = "https://www.bitwizard.nl/mtr/";
+    license = licenses.gpl2;
     maintainers = with maintainers; [ koral orivej raskin globin ];
-    platforms   = platforms.unix;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/mu/default.nix b/pkgs/tools/networking/mu/default.nix
index 03e19d5cb7a47..8f46e657edb21 100644
--- a/pkgs/tools/networking/mu/default.nix
+++ b/pkgs/tools/networking/mu/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mu";
-  version = "1.4.13";
+  version = "1.4.15";
 
   src = fetchFromGitHub {
     owner  = "djcb";
     repo   = "mu";
     rev    = version;
-    sha256 = "03cp2ppj07xpb0c43d3cr8m9jps07mfm8clmlk03sjbxg1widsh0";
+    sha256 = "sha256-VIUA0W+AmEbvGWatv4maBGILvUTGhBgO3iQtjIc3vG8=";
   };
 
   postPatch = lib.optionalString (batchSize != null) ''
diff --git a/pkgs/tools/networking/nebula/default.nix b/pkgs/tools/networking/nebula/default.nix
index 61f0a00a9b819..06684016abcf8 100644
--- a/pkgs/tools/networking/nebula/default.nix
+++ b/pkgs/tools/networking/nebula/default.nix
@@ -17,7 +17,7 @@ buildGoModule rec {
 
   subPackages = [ "cmd/nebula" "cmd/nebula-cert" ];
 
-  buildFlagsArray = [ "-ldflags='-X main.Build=${version}'" ];
+  buildFlagsArray = [ "-ldflags=" "-X main.Build=${version}" ];
 
   meta = with lib; {
     description = "A scalable overlay networking tool with a focus on performance, simplicity and security";
diff --git a/pkgs/tools/networking/nikto/NIKTODIR-nix-wrapper-fix.patch b/pkgs/tools/networking/nikto/NIKTODIR-nix-wrapper-fix.patch
new file mode 100644
index 0000000000000..d3caea1b26fdd
--- /dev/null
+++ b/pkgs/tools/networking/nikto/NIKTODIR-nix-wrapper-fix.patch
@@ -0,0 +1,26 @@
+diff --color -ur a/program/nikto.pl b/program/nikto.pl
+--- a/program/nikto.pl	2021-01-30 12:05:54.915072538 +0100
++++ b/program/nikto.pl	2021-01-30 12:36:42.877729231 +0100
+@@ -223,7 +223,8 @@
+     # Guess Nikto current directory
+     my $NIKTODIR = abs_path($0);
+     chomp($NIKTODIR);
+-    $NIKTODIR =~ s#[\\/]nikto.pl$##;
++    $NIKTODIR =~ s#[\\/]bin[\\/]\.nikto-wrapped$##;
++
+ 
+     # Guess user's home directory -- to support Windows
+     foreach my $var (split(/ /, "HOME USERPROFILE")) {
+@@ -231,10 +232,10 @@
+     }
+ 
+     # Read the conf files in order (previous values are over-written with each, if multiple found)
+-    push(@CF,"$NIKTODIR/nikto.conf.default");
++    push(@CF,"$NIKTODIR/etc/nikto.conf.default");
+     push(@CF,"/etc/nikto.conf");
+     push(@CF,"$home/nikto.conf");
+-    push(@CF,"$NIKTODIR/nikto.conf");
++    push(@CF,"$NIKTODIR/etc/nikto.conf");
+     push(@CF,"nikto.conf");
+     push(@CF,"$VARIABLES{'configfile'}");
+ 
diff --git a/pkgs/tools/networking/nikto/default.nix b/pkgs/tools/networking/nikto/default.nix
new file mode 100644
index 0000000000000..e1abcb6c140d0
--- /dev/null
+++ b/pkgs/tools/networking/nikto/default.nix
@@ -0,0 +1,64 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, perlPackages
+, makeWrapper
+, installShellFiles
+}:
+
+stdenv.mkDerivation rec {
+  pname = "nikto";
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
+    owner = "sullo";
+    repo = "nikto";
+    rev = "c83d0461edd75c02677dea53da2896644f35ecab";
+    sha256 = "0vwq2zdxir67cn78ls11qf1smd54nppy266v7ajm5rqdc47q7fy2";
+  };
+
+  # Nikto searches its configuration file based on its current path
+  # This fixes the current path regex for the wrapped executable.
+  patches = [ ./NIKTODIR-nix-wrapper-fix.patch ];
+
+  postPatch = ''
+    # EXECDIR needs to be changed to the path where we copy the programs stuff
+    # Forcing SSLeay is needed for SSL support (the auto mode doesn't seem to work otherwise)
+    substituteInPlace program/nikto.conf.default \
+      --replace "# EXECDIR=/opt/nikto" "EXECDIR=$out/share" \
+      --replace "LW_SSL_ENGINE=auto" "LW_SSL_ENGINE=SSLeay"
+  '';
+
+  nativeBuildInputs = [ makeWrapper installShellFiles ];
+
+  propagatedBuildInputs = [ perlPackages.NetSSLeay ];
+
+  buildInputs = [
+    perlPackages.perl
+  ];
+
+  installPhase = ''
+    runHook preInstall
+    install -d "$out/share"
+    cp -a program/* "$out/share"
+    install -Dm 755 "program/nikto.pl" "$out/bin/nikto"
+    install -Dm 644 program/nikto.conf.default "$out/etc/nikto.conf"
+    installManPage documentation/nikto.1
+    install -Dm 644 program/docs/nikto_manual.html "$out/share/doc/${pname}/manual.html"
+    install -Dm 644 README.md "$out/share/doc/${pname}/README"
+    runHook postInstall
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/nikto \
+      --prefix PERL5LIB : $PERL5LIB
+  '';
+
+  meta = with lib; {
+    description = "Web server scanner";
+    license = licenses.gpl2Plus;
+    homepage = "https://cirt.net/Nikto2";
+    maintainers = with maintainers; [ shamilton ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/openresolv/default.nix b/pkgs/tools/networking/openresolv/default.nix
index bc7db4fc6f368..f486c903c5d6c 100644
--- a/pkgs/tools/networking/openresolv/default.nix
+++ b/pkgs/tools/networking/openresolv/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-QrMFCOhXoihTXGMeqsk2hi2G7KaMFLXAvzh7oXa5G5c=";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   configurePhase =
     ''
diff --git a/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix b/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix
index 16e97bab21460..2120679fef3e9 100644
--- a/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix
+++ b/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation {
     sha256 = "16pcyvyhwsx34i0cjkkx906lmrwdd9gvznvqdwlad4ha8l8f8z42";
   };
 
-  buildInputs = [ makeWrapper coreutils gawk util-linux ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ coreutils gawk util-linux ];
 
   installPhase = ''
     install -Dm555 ovpn-learnaddress $out/libexec/openvpn/openvpn-learnaddress
diff --git a/pkgs/tools/networking/pritunl-ssh/default.nix b/pkgs/tools/networking/pritunl-ssh/default.nix
new file mode 100644
index 0000000000000..586fc780699f2
--- /dev/null
+++ b/pkgs/tools/networking/pritunl-ssh/default.nix
@@ -0,0 +1,29 @@
+{ lib, stdenv, fetchFromGitHub, python3 }:
+
+stdenv.mkDerivation rec {
+  pname   = "pritunl-ssh";
+  version = "1.0.1674.4";
+
+  src = fetchFromGitHub {
+    owner = "pritunl";
+    repo = "pritunl-zero-client";
+    rev = version;
+    sha256 = "07z60lipbwm0p7s2bxcij21jid8w4nyh6xk2qq5qdm4acq4k1i88";
+  };
+
+  buildInputs = [ python3 ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    install ssh_client.py $out/bin/pritunl-ssh
+    install ssh_host_client.py $out/bin/pritunl-ssh-host
+  '';
+
+  meta = with lib; {
+    description = "Pritunl Zero SSH client";
+    homepage = "https://github.com/pritunl/pritunl-zero-client";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ Thunderbottom ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/privoxy/default.nix b/pkgs/tools/networking/privoxy/default.nix
index 0b5a0d96ae5b7..85a8cd5d76842 100644
--- a/pkgs/tools/networking/privoxy/default.nix
+++ b/pkgs/tools/networking/privoxy/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
 
   pname = "privoxy";
-  version = "3.0.30";
+  version = "3.0.32";
 
   src = fetchurl {
     url = "mirror://sourceforge/ijbswa/Sources/${version}%20%28stable%29/${pname}-${version}-stable-src.tar.gz";
-    sha256 = "sha256-pP4kHF2nAQsoS/ienp4xoyHx8+scx5ZVnT+6ublBXuE=";
+    sha256 = "sha256-xh3kAIxiRF7Bjx8nBAfL8jcuq6k76szcnjI4uy3v7tc=";
   };
 
   hardeningEnable = [ "pie" ];
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://www.privoxy.org/";
     description = "Non-caching web proxy with advanced filtering capabilities";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.all;
     maintainers = [ maintainers.phreedom ];
   };
diff --git a/pkgs/tools/networking/proxychains/default.nix b/pkgs/tools/networking/proxychains/default.nix
index 8eb20538ea916..56a553c0c803e 100644
--- a/pkgs/tools/networking/proxychains/default.nix
+++ b/pkgs/tools/networking/proxychains/default.nix
@@ -1,27 +1,33 @@
-{ lib, stdenv, fetchFromGitHub } :
+{ lib
+, stdenv
+, fetchFromGitHub
+}:
+
 stdenv.mkDerivation rec {
   pname = "proxychains";
-  version = "4.2.0";
+  version = "4.4.0";
 
   src = fetchFromGitHub {
     owner = "haad";
-    repo = "proxychains";
+    repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "015skh3z1jmm8kxbm3nkqv1w56kcvabdmcbmpwzywxr4xnh3x3pc";
+    sha256 = "083xdg6fsn8c2ns93lvy794rixxq8va6jdf99w1z0xi4j7f1nyjw";
   };
 
   postPatch = ''
-    # Temporary work-around; most likely fixed by next upstream release
-    sed -i Makefile -e '/-lpthread/a LDFLAGS+=-ldl'
+    # Suppress compiler warning. Remove it when upstream fix arrives
+    substituteInPlace Makefile --replace "-Werror" "-Werror -Wno-stringop-truncation"
   '';
+
   postInstall = ''
     cp src/proxychains.conf $out/etc
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Proxifier for SOCKS proxies";
     homepage = "http://proxychains.sourceforge.net";
-    license = lib.licenses.gpl2Plus;
-    platforms = lib.platforms.linux;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ fab ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/pykms/default.nix b/pkgs/tools/networking/pykms/default.nix
index 0d001e7aeef19..d648ff3ec1ed1 100644
--- a/pkgs/tools/networking/pykms/default.nix
+++ b/pkgs/tools/networking/pykms/default.nix
@@ -1,9 +1,13 @@
-{ lib, runtimeShell, fetchFromGitHub, python3, writeText, writeScript
-, coreutils, sqlite }:
-
-with python3.pkgs;
-
+{ lib
+, fetchFromGitHub
+, python3
+, writeText
+, writeShellScript
+, sqlite
+}:
 let
+  pypkgs = python3.pkgs;
+
   dbSql = writeText "create_pykms_db.sql" ''
     CREATE TABLE clients(
       clientMachineId TEXT,
@@ -17,35 +21,31 @@ let
     );
   '';
 
-  dbScript = writeScript "create_pykms_db.sh" (with lib; ''
-    #!${runtimeShell}
-
+  dbScript = writeShellScript "create_pykms_db.sh" ''
     set -eEuo pipefail
 
-    db=$1
+    db=''${1:-/var/lib/pykms/clients.db}
 
     if [ ! -e $db ] ; then
-      ${getBin sqlite}/bin/sqlite3 $db < ${dbSql}
+      ${lib.getBin sqlite}/bin/sqlite3 $db < ${dbSql}
     fi
-  '');
+  '';
 
-in buildPythonApplication rec {
+in
+pypkgs.buildPythonApplication rec {
   pname = "pykms";
-  version = "20190611";
+  version = "unstable-2021-01-25";
 
   src = fetchFromGitHub {
-    owner  = "SystemRage";
-    repo   = "py-kms";
-    rev    = "dead208b1593655377fe8bc0d74cc4bead617103";
-    sha256 = "065qpkfqrahsam1rb43vnasmzrangan5z1pr3p6s0sqjz5l2jydp";
+    owner = "SystemRage";
+    repo = "py-kms";
+    rev = "a3b0c85b5b90f63b33dfa5ae6085fcd52c6da2ff";
+    sha256 = "sha256-u0R0uJMQxHnJUDenxglhQkZza3/1DcyXCILcZVceygA=";
   };
 
   sourceRoot = "source/py-kms";
 
-  propagatedBuildInputs = [ systemd pytz tzlocal ];
-
-  # Fix https://github.com/SystemRage/py-kms/issues/64 :
-  patches = [ ./log-to-current-directory-by-default.patch ];
+  propagatedBuildInputs = with pypkgs; [ systemd pytz tzlocal ];
 
   postPatch = ''
     siteDir=$out/${python3.sitePackages}
@@ -66,25 +66,24 @@ in buildPythonApplication rec {
 
     mv * $siteDir
     for b in Client Server ; do
-      makeWrapper ${python.interpreter} $out/bin/''${b,,} \
-        --argv0 ''${b,,} \
-        --add-flags $siteDir/pykms_$b.py \
-        --prefix PYTHONPATH : "$(toPythonPath ${systemd})"
+      makeWrapper ${python3.interpreter} $out/bin/''${b,,} \
+        --argv0 pykms-''${b,,} \
+        --add-flags $siteDir/pykms_$b.py
     done
 
     install -Dm755 ${dbScript} $out/libexec/create_pykms_db.sh
 
     install -Dm644 ../README.md -t $out/share/doc/pykms
 
-    ${python.interpreter} -m compileall $siteDir
+    ${python3.interpreter} -m compileall $siteDir
 
     runHook postInstall
   '';
 
   meta = with lib; {
     description = "Windows KMS (Key Management Service) server written in Python";
-    homepage    = "https://github.com/SystemRage/py-kms";
-    license     = licenses.mit;
+    homepage = "https://github.com/SystemRage/py-kms";
+    license = licenses.unlicense;
     maintainers = with maintainers; [ peterhoeg ];
   };
 }
diff --git a/pkgs/tools/networking/pykms/log-to-current-directory-by-default.patch b/pkgs/tools/networking/pykms/log-to-current-directory-by-default.patch
deleted file mode 100644
index 7c8c65b63a2a0..0000000000000
--- a/pkgs/tools/networking/pykms/log-to-current-directory-by-default.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-# By default, create log files in current directory, instead of the script directory.
---- ../original/py-kms/pykms_Client.py
-+++ py-kms/pykms_Client.py
-@@ -48,5 +48,5 @@
-                     'choi' : ["CRITICAL", "ERROR", "WARNING", "INFO", "DEBUG", "MINI"]},
-         'lfile' : {'help' : 'Use this option to set an output log file. The default is \"pykms_logclient.log\" or type \"STDOUT\" to view log info on stdout.',
--                   'def' : os.path.dirname(os.path.abspath( __file__ )) + "/pykms_logclient.log", 'des' : "logfile"},
-+                   'def' : "pykms_logclient.log", 'des' : "logfile"},
-         'lsize' : {'help' : 'Use this flag to set a maximum size (in MB) to the output log file. Desactivated by default.', 'def' : 0, 'des': "logsize"},
-         }
---- ../original/py-kms/pykms_Server.py
-+++ py-kms/pykms_Server.py
-@@ -85,5 +85,5 @@
-                     'choi' : ["CRITICAL", "ERROR", "WARNING", "INFO", "DEBUG", "MINI"]},
-         'lfile' : {'help' : 'Use this option to set or not an output log file. The default is \"pykms_logserver.log\" or type \"STDOUT\" to view log info on stdout.',
--                   'def' : os.path.dirname(os.path.abspath( __file__ )) + "/pykms_logserver.log", 'des' : "logfile"},
-+                   'def' : "pykms_logserver.log", 'des' : "logfile"},
-         'lsize' : {'help' : 'Use this flag to set a maximum size (in MB) to the output log file. Desactivated by default.', 'def' : 0, 'des': "logsize"},
-         }
-    '');
diff --git a/pkgs/tools/networking/radvd/default.nix b/pkgs/tools/networking/radvd/default.nix
index 6a4c8a3d4f601..ddd196ebe5673 100644
--- a/pkgs/tools/networking/radvd/default.nix
+++ b/pkgs/tools/networking/radvd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "radvd";
-  version = "2.18";
+  version = "2.19";
 
   src = fetchurl {
     url = "http://www.litech.org/radvd/dist/${pname}-${version}.tar.xz";
-    sha256 = "1p2wlv3djvla0r84hdncc3wfa530xigs7z9ssc2v5r1pcpzgxgz1";
+    sha256 = "0h722f17h7cra1sjgrxhrrvx54mm47fs039909yhbabigxch8kjn";
   };
 
   nativeBuildInputs = [ pkg-config bison flex check ];
diff --git a/pkgs/tools/networking/rcon/default.nix b/pkgs/tools/networking/rcon/default.nix
index 1ec988676e4a4..03c2a1ae1a37e 100644
--- a/pkgs/tools/networking/rcon/default.nix
+++ b/pkgs/tools/networking/rcon/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rcon";
-  version = "0.5";
+  version = "0.6";
 
   src = fetchFromGitHub {
     owner = "n0la";
     repo = "rcon";
     rev = version;
-    sha256 = "1jsnmsm2qkiv8dan1yncx0qp6zfkcbyvf81c7xwpv6r499ijw1nb";
+    sha256 = "sha256-bHm6JeWmpg42VZQXikHl+BMx9zimRLBQWemTqOxyLhw=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/tools/networking/shadowsocks-rust/default.nix b/pkgs/tools/networking/shadowsocks-rust/default.nix
index 06d081b745c0c..cf761c8ca2738 100644
--- a/pkgs/tools/networking/shadowsocks-rust/default.nix
+++ b/pkgs/tools/networking/shadowsocks-rust/default.nix
@@ -1,23 +1,23 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl, libsodium, Security }:
+{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices }:
 
 rustPlatform.buildRustPackage rec {
   pname = "shadowsocks-rust";
-  version = "1.8.23";
+  version = "1.9.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "shadowsocks";
     repo = pname;
-    sha256 = "1ylasv33478cgwmr8wrd4705azfzrw495w629ncynamv7z17w3k3";
+    sha256 = "1lxx9xzkv3y2qjffa5dmwv0ygka71dx3c2995ggcgy5fb19yrghc";
   };
 
-  cargoSha256 = "060k2dil38bx4zb5nnkr3mj6aayginbhr3aqjv0h071q0vlvp05p";
+  cargoSha256 = "0p93dv4nlwl5167dmp160l09wqba5d40gaiwc6vbzb4iqdicgwls";
 
-  SODIUM_USE_PKG_CONFIG = 1;
+  RUSTC_BOOTSTRAP = 1;
 
-  buildInputs = [ openssl libsodium ]
-    ++ lib.optionals stdenv.isDarwin [ Security ];
-  nativeBuildInputs = [ pkg-config ];
+  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
+
+  checkFlags = [ "--skip=http_proxy" "--skip=udp_tunnel" ];
 
   meta = with lib; {
     homepage = "https://github.com/shadowsocks/shadowsocks-rust";
diff --git a/pkgs/tools/networking/slirp4netns/default.nix b/pkgs/tools/networking/slirp4netns/default.nix
index bda3d36c24551..4a0b3c133942d 100644
--- a/pkgs/tools/networking/slirp4netns/default.nix
+++ b/pkgs/tools/networking/slirp4netns/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "slirp4netns";
-  version = "1.1.8";
+  version = "1.1.9";
 
   src = fetchFromGitHub {
     owner = "rootless-containers";
     repo = "slirp4netns";
     rev = "v${version}";
-    sha256 = "06813k8a1gpakgykz5h75qpdlhrci9r39309n3qqh34ynbjil468";
+    sha256 = "sha256-jUxAkC9nMiDiHKyKtmdtOEyb9jqOEiy5D3NqymluX28=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/tools/networking/snabb/default.nix b/pkgs/tools/networking/snabb/default.nix
index f65f97ed91d00..9ee014396530c 100644
--- a/pkgs/tools/networking/snabb/default.nix
+++ b/pkgs/tools/networking/snabb/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     sha256 = "1sas9d9kk92mc2wrwgmm0xxz7ycmh388dwvyxf1hy183yvin1nac";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   NIX_CFLAGS_COMPILE = [ "-Wno-error=stringop-truncation" ];
 
diff --git a/pkgs/tools/networking/spoofer/default.nix b/pkgs/tools/networking/spoofer/default.nix
index 23b3f2688c9a9..a983ef9c42c88 100644
--- a/pkgs/tools/networking/spoofer/default.nix
+++ b/pkgs/tools/networking/spoofer/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ openssl protobuf libpcap traceroute ]
                 ++ optional withGUI qt5.qtbase ;
 
+  dontWrapQtApps = true;
+
   meta = with lib; {
     homepage = "https://www.caida.org/projects/spoofer";
     description = "Assess and report on deployment of source address validation";
diff --git a/pkgs/tools/networking/swaks/default.nix b/pkgs/tools/networking/swaks/default.nix
index 85e8998947592..49ef0afc0603c 100644
--- a/pkgs/tools/networking/swaks/default.nix
+++ b/pkgs/tools/networking/swaks/default.nix
@@ -2,14 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "swaks";
-  version = "20190914.0";
+  version = "20201014.0";
 
   src = fetchurl {
     url = "https://www.jetmore.org/john/code/swaks/files/${pname}-${version}.tar.gz";
-    sha256 = "12awq5z4sdd54cxprj834zajxhkpy4jwhzf1fhigcx1zbhdaacsp";
+    sha256 = "0c2sx4nrh4whsqzj6m5ay8d7yqan3aqgg436p8jb25bs91ykn2pv";
   };
 
-  buildInputs = [ perl makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ perl ];
 
   installPhase = ''
     mkdir -p $out/bin
@@ -24,7 +25,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "http://www.jetmore.org/john/code/swaks/";
     description = "A featureful, flexible, scriptable, transaction-oriented SMTP test tool";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [];
     platforms = platforms.all;
   };
diff --git a/pkgs/tools/networking/swec/default.nix b/pkgs/tools/networking/swec/default.nix
index 71fea1c2e830d..c98a3417d1c4f 100644
--- a/pkgs/tools/networking/swec/default.nix
+++ b/pkgs/tools/networking/swec/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "1m3971z4z1wr0paggprfz0n8ng8vsnkc9m6s3bdplgyz7qjk6jwx";
   };
 
-  buildInputs = [ makeWrapper perlPackages.perl perlPackages.LWP perlPackages.URI perlPackages.HTMLParser ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ perlPackages.perl perlPackages.LWP perlPackages.URI perlPackages.HTMLParser ];
   checkInputs = [ perlPackages.HTTPServerSimple perlPackages.Parent ];
 
   configurePhase = ''
diff --git a/pkgs/tools/networking/tcpflow/default.nix b/pkgs/tools/networking/tcpflow/default.nix
index 74c7f0f113521..cc923c0daf65f 100644
--- a/pkgs/tools/networking/tcpflow/default.nix
+++ b/pkgs/tools/networking/tcpflow/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname   = "tcpflow";
-  version = "1.5.2";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner  = "simsong";
     repo   = pname;
     rev    = "${pname}-${version}";
-    sha256 = "063n3pfqa0lgzcwk4c0h01g2y5c3sli615j6a17dxpg95aw1zryy";
+    sha256 = "0vbm097jhi5n8pg08ia1yhzc225zv9948blb76f4br739l9l22vq";
     fetchSubmodules = true;
   };
 
@@ -23,8 +23,10 @@ stdenv.mkDerivation rec {
     substituteInPlace bootstrap.sh \
       --replace ".git" "" \
       --replace "/bin/rm" "rm"
-    substituteInPlace configure.ac \
-      --replace "1.5.1" "1.5.2"
+    # Temporary fix for a build error:
+    # https://src.fedoraproject.org/rpms/tcpflow/blob/979e250032b90de2d6b9e5b94b5203d98cccedad/f/tcpflow-1.6.1-format.patch
+    substituteInPlace src/datalink.cpp \
+      --replace 'DEBUG(6)(s.c_str());' 'DEBUG(6) ("%s", s.c_str());'
   '';
 
   preConfigure = "bash ./bootstrap.sh";
@@ -38,7 +40,7 @@ stdenv.mkDerivation rec {
     '';
     inherit (src.meta) homepage;
     license     = licenses.gpl3;
-    maintainers = with maintainers; [ primeos raskin obadz ];
+    maintainers = with maintainers; [ raskin obadz ];
     platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/tcpreplay/default.nix b/pkgs/tools/networking/tcpreplay/default.nix
index 0c322fe9f63fb..a33bb4865687b 100644
--- a/pkgs/tools/networking/tcpreplay/default.nix
+++ b/pkgs/tools/networking/tcpreplay/default.nix
@@ -31,5 +31,9 @@ stdenv.mkDerivation rec {
     license = with licenses; [ bsd3 gpl3 ];
     maintainers = with maintainers; [ eleanor ];
     platforms = platforms.unix;
+    knownVulnerabilities = [
+      "CVE-2020-24265" # https://github.com/appneta/tcpreplay/issues/616
+      "CVE-2020-24266" # https://github.com/appneta/tcpreplay/issues/617
+    ];
   };
 }
diff --git a/pkgs/tools/networking/telepresence/default.nix b/pkgs/tools/networking/telepresence/default.nix
index a077ddb3de465..5d1966114b78a 100644
--- a/pkgs/tools/networking/telepresence/default.nix
+++ b/pkgs/tools/networking/telepresence/default.nix
@@ -31,7 +31,7 @@ in pythonPackages.buildPythonPackage rec {
     sha256 = "6V0sM0Z+2xNDgL0wIzJOdaUp2Ol4ejNTk9K/pllVa7g=";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   postInstall = ''
     wrapProgram $out/bin/telepresence \
diff --git a/pkgs/tools/networking/tendermint/default.nix b/pkgs/tools/networking/tendermint/default.nix
index 36269327e815d..b97c49dd9c968 100644
--- a/pkgs/tools/networking/tendermint/default.nix
+++ b/pkgs/tools/networking/tendermint/default.nix
@@ -2,22 +2,24 @@
 
 buildGoModule rec {
   pname = "tendermint";
-  version = "0.34.0";
+  version = "0.34.8";
 
   src = fetchFromGitHub {
     owner = "tendermint";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1fnykdk35937ld8dyzjs571klz187jr8wlj8ljn78pajx1cd84k6";
+    sha256 = "sha256:03k44w23167az2kk6ccp3139kykzkhack4w2vy0wvs2lb67xiqd9";
   };
 
-  vendorSha256 = "19qx7ab6ar609cxxdsb9i2c3h7icqgf5bhi28lnsdk3bdjxr27vz";
-
-  doCheck = false;
+  vendorSha256 = "sha256-0Y9QDBVNYE2x3nY3loRKTCtYWXRnK7v+drRVvTMY4Dg=";
 
   subPackages = [ "cmd/tendermint" ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/tendermint/tendermint/version.GitCommit=${src.rev}" ];
+  preBuild = ''
+    makeFlagsArray+=(
+      "-ldflags=-s -w -X github.com/tendermint/tendermint/version.GitCommit=${src.rev}"
+    )
+  '';
 
   meta = with lib; {
     description = "Byzantine-Fault Tolerant State Machines. Or Blockchain, for short";
diff --git a/pkgs/tools/networking/termshark/default.nix b/pkgs/tools/networking/termshark/default.nix
index 65ba8d17bcb47..7b9a3c42d6060 100644
--- a/pkgs/tools/networking/termshark/default.nix
+++ b/pkgs/tools/networking/termshark/default.nix
@@ -2,19 +2,19 @@
 
 buildGoModule rec {
   pname = "termshark";
-  version = "2.1.1";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "gcla";
     repo = "termshark";
     rev = "v${version}";
-    sha256 = "14h548apg3zvjvq6yy22hpw2ziy5vmwyr04vv59ls1mjg4qf2v8b";
+    sha256 = "sha256-vS6j8Mcri3SI/6HqtFX/EzVl8S0lx8fWU+0ddjzJz8g=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ wireshark-cli ];
 
-  vendorSha256 = "14apff3vcbndr30765lzi4qswakavb4396bjixxvpxv6i5c04dq7";
+  vendorSha256 = "sha256-md9HHiYOsBimCBjD1FyjTqnskCZksQiEggWd5UW0RPM=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/networking/tox-node/default.nix b/pkgs/tools/networking/tox-node/default.nix
index 3ef125382b68a..0b682fa97c14a 100644
--- a/pkgs/tools/networking/tox-node/default.nix
+++ b/pkgs/tools/networking/tox-node/default.nix
@@ -7,13 +7,13 @@ with rustPlatform;
 
 buildRustPackage rec {
   pname = "tox-node";
-  version = "0.1.0";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "tox-rs";
     repo = "tox-node";
     rev = "v${version}";
-    sha256 = "0bar42nigjwn7dq48rmg74sm3gnfqvb6gnd9g1n0i8nmynd00wvn";
+    sha256 = "sha256-tB6v2NEBdTNHf89USdQOr/pV0mbxxb8ftOYPPJMvz5Y=";
   };
 
   buildInputs = [ libsodium openssl ];
@@ -21,17 +21,9 @@ buildRustPackage rec {
 
   SODIUM_USE_PKG_CONFIG = "yes";
 
-  installPhase = ''
-    runHook preInstall
-
-    install -D $releaseDir/tox-node $out/bin/tox-node
-
-    runHook postInstall
-  '';
-
   doCheck = false;
 
-  cargoSha256 = "087ccb824hmmxmnn5c2bzww2q888a8zy6y7rwgsdfr8rbay2c909";
+  cargoSha256 = "sha256-kCT2ulB+c2OlsABkyXyzrHfD/G92EPCdTO34FR5oSws=";
 
   meta = with lib; {
     description = "A server application to run tox node written in pure Rust";
diff --git a/pkgs/tools/networking/tridactyl-native/default.nix b/pkgs/tools/networking/tridactyl-native/default.nix
index 2e17f753a5b69..ce7325975fb34 100644
--- a/pkgs/tools/networking/tridactyl-native/default.nix
+++ b/pkgs/tools/networking/tridactyl-native/default.nix
@@ -7,13 +7,13 @@ stdenv.mkDerivation rec {
   pname = "tridactyl-native";
   # this is actually the version of tridactyl itself; the native messenger will
   # probably not change with every tridactyl version
-  version = "1.20.3";
+  version = "1.20.4";
 
   src = fetchFromGitHub {
     owner = "tridactyl";
     repo = "tridactyl";
     rev = version;
-    sha256 = "064cl9m4hdv69q1af0xjcf2rf30n3pvz6ym2l53w90aq3217amps";
+    sha256 = "sha256-BjjRB9VadQ/MSwNK2QLbcTDoRs6Ua+5MONHtmfq4xz0=";
   };
   sourceRoot = "source/native";
 
diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix
index 24b17af3d3e96..232e049e456ae 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -18,6 +18,9 @@
   #
 , withSystemd ? false
 , systemd ? null
+  # optionally support DNS-over-HTTPS as a server
+, withDoH ? false
+, libnghttp2
 }:
 
 stdenv.mkDerivation rec {
@@ -31,7 +34,9 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "lib" "man" ]; # "dev" would only split ~20 kB
 
-  buildInputs = [ openssl nettle expat libevent ] ++ lib.optionals withSystemd [ pkg-config systemd ];
+  buildInputs = [ openssl nettle expat libevent ]
+    ++ lib.optionals withSystemd [ pkg-config systemd ]
+    ++ lib.optionals withDoH [ libnghttp2 ];
 
   configureFlags = [
     "--with-ssl=${openssl.dev}"
@@ -47,6 +52,8 @@ stdenv.mkDerivation rec {
     "--disable-flto"
   ] ++ lib.optionals withSystemd [
     "--enable-systemd"
+  ] ++ lib.optionals withDoH [
+    "--with-libnghttp2=${libnghttp2.dev}"
   ];
 
   installFlags = [ "configfile=\${out}/etc/unbound/unbound.conf" ];
diff --git a/pkgs/tools/networking/vpnc/default.nix b/pkgs/tools/networking/vpnc/default.nix
index a754e7e9937c3..edb50559fc0f8 100644
--- a/pkgs/tools/networking/vpnc/default.nix
+++ b/pkgs/tools/networking/vpnc/default.nix
@@ -19,7 +19,8 @@ stdenv.mkDerivation {
   # `ifconfig' as found in net-tools (not GNU Inetutils).
   propagatedBuildInputs = [ nettools ];
 
-  buildInputs = [libgcrypt perl makeWrapper openssl ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [libgcrypt perl openssl ];
 
   preConfigure = ''
     sed -i 's|^#OPENSSL|OPENSSL|g' Makefile
diff --git a/pkgs/tools/networking/wakeonlan/default.nix b/pkgs/tools/networking/wakeonlan/default.nix
new file mode 100644
index 0000000000000..48b99cadf2b9b
--- /dev/null
+++ b/pkgs/tools/networking/wakeonlan/default.nix
@@ -0,0 +1,29 @@
+{ lib, perlPackages, fetchFromGitHub, installShellFiles }:
+
+perlPackages.buildPerlPackage rec {
+  pname = "wakeonlan";
+  version = "0.41";
+
+  src = fetchFromGitHub {
+    owner = "jpoliv";
+    repo = pname;
+    rev = "wakeonlan-${version}";
+    sha256 = "0m48b39lz0yc5ckx2jx8y2p4c8npjngxl9wy86k43xgsd8mq1g3c";
+  };
+
+  outputs = [ "out" ];
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  installPhase = ''
+    install -Dt $out/bin wakeonlan
+    installManPage blib/man1/wakeonlan.1
+  '';
+
+  meta = with lib; {
+    description = "Perl script for waking up computers via Wake-On-LAN magic packets";
+    homepage = "https://github.com/jpoliv/wakeonlan";
+    license = licenses.artistic1;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/tools/networking/webwormhole/default.nix b/pkgs/tools/networking/webwormhole/default.nix
new file mode 100644
index 0000000000000..8fbaf3159a22e
--- /dev/null
+++ b/pkgs/tools/networking/webwormhole/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "webwormhole";
+  version = "unstable-2021-01-16";
+
+  src = fetchFromGitHub {
+    owner = "saljam";
+    repo = pname;
+    rev = "c85e196c8a8a885815136aa8aee1958ad80a3bb5";
+    sha256 = "D10xmBwmEbeR3nU4CmppFBzdeE4Pm2+o/Vb5Yd+pPtM=";
+  };
+
+  vendorSha256 = "sha256-yK04gjDO6JSDcJULcbJBBuPBhx792JNn+B227lDUrWk=";
+
+  meta = with lib; {
+    description = "Send files using peer authenticated WebRTC";
+    homepage = "https://github.com/saljam/webwormhole";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ bbigras ];
+  };
+}
diff --git a/pkgs/tools/networking/weighttp/default.nix b/pkgs/tools/networking/weighttp/default.nix
index 72bd29247abb1..7c3d23c0d17fb 100644
--- a/pkgs/tools/networking/weighttp/default.nix
+++ b/pkgs/tools/networking/weighttp/default.nix
@@ -1,4 +1,5 @@
 { lib, stdenv, fetchgit, python, libev, wafHook }:
+
 stdenv.mkDerivation rec {
   pname = "weighttp";
   version = "0.4";
@@ -10,11 +11,13 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ wafHook ];
+
   buildInputs = [ python libev ];
 
-  meta = {
-    platforms = lib.platforms.unix;
+  meta = with lib; {
+    description = "Lightweight and simple webserver benchmarking tool";
     homepage = "https://redmine.lighttpd.net/projects/weighttp/wiki";
-    description = "A lightweight and simple webserver benchmarking tool";
+    platforms = platforms.unix;
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/tools/networking/wget2/default.nix b/pkgs/tools/networking/wget2/default.nix
new file mode 100644
index 0000000000000..1537da36163ff
--- /dev/null
+++ b/pkgs/tools/networking/wget2/default.nix
@@ -0,0 +1,100 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, fetchpatch
+  # build support
+, autoreconfHook
+, flex
+, gnulib
+, lzip
+, pkg-config
+, python3
+, texinfo
+  # libraries
+, brotli
+, bzip2
+, gpgme
+, libhsts
+, libidn2
+, libpsl
+, lzma
+, nghttp2
+, sslSupport ? true
+, openssl
+, pcre2
+, zlib
+, zstd
+}:
+
+stdenv.mkDerivation rec {
+  pname = "wget2";
+  version = "1.99.2";
+
+  src = fetchFromGitLab {
+    owner = "gnuwget";
+    repo = pname;
+    rev = version;
+    sha256 = "1gws8y3z8xzi46c48n7jb162mr3ar4c34s7yy8kjcs14yzq951qz";
+  };
+
+  patches = [
+    (fetchpatch {
+      name = "fix-autotools-2.70.patch";
+      url = "https://gitlab.com/gnuwget/wget2/-/commit/580af869093cfda6bc8a9d5901850354a16b3666.patch";
+      sha256 = "1x6wq4wxvvy6174d52qrhxkcgmv366f8smxyki49zb6rs4gqhskd";
+    })
+    (fetchpatch {
+      name = "update-potfiles-for-gnulib-2020-11-28.patch";
+      url = "https://gitlab.com/gnuwget/wget2/-/commit/368deb9fcca0c281f9c76333607cc878c3945ad0.patch";
+      sha256 = "1qsz8hbzbgg14wikxsbjjlq0cp3jw4pajbaz9wdn6ny617hdvi8y";
+    })
+  ];
+
+  # wget2_noinstall contains forbidden reference to /build/
+  postPatch = ''
+    substituteInPlace src/Makefile.am \
+      --replace 'bin_PROGRAMS = wget2 wget2_noinstall' 'bin_PROGRAMS = wget2'
+  '';
+
+  nativeBuildInputs = [ autoreconfHook flex lzip pkg-config python3 texinfo ];
+
+  buildInputs = [ brotli bzip2 gpgme libhsts libidn2 libpsl lzma nghttp2 pcre2 zlib zstd ]
+    ++ lib.optional sslSupport openssl;
+
+  # TODO: include translation files
+  autoreconfPhase = ''
+    # copy gnulib into build dir and make writable.
+    # Otherwise ./bootstrap copies the non-writable files from nix store and fails to modify them
+    rmdir gnulib
+    cp -r ${gnulib} gnulib
+    chmod -R u+w gnulib/{build-aux,lib}
+
+    # fix bashisms can be removed when https://gitlab.com/gnuwget/wget2/-/commit/c9499dcf2f58983d03e659e2a1a7f21225141edf is in the release
+    sed 's|==|=|g' -i configure.ac
+
+    ./bootstrap --no-git --gnulib-srcdir=gnulib --skip-po
+  '';
+
+  configureFlags = [
+    "--disable-static"
+    # TODO: https://gitlab.com/gnuwget/wget2/-/issues/537
+    (lib.withFeatureAs sslSupport "ssl" "openssl")
+  ];
+
+  outputs = [ "out" "lib" "dev" ];
+
+  meta = with lib; {
+    description = "successor of GNU Wget, a file and recursive website downloader.";
+    longDescription = ''
+      Designed and written from scratch it wraps around libwget, that provides the basic
+      functions needed by a web client.
+      Wget2 works multi-threaded and uses many features to allow fast operation.
+      In many cases Wget2 downloads much faster than Wget1.x due to HTTP2, HTTP compression,
+      parallel connections and use of If-Modified-Since HTTP header.
+    '';
+    homepage = "https://gitlab.com/gnuwget/wget2";
+    # wget2 GPLv3+; libwget LGPLv3+
+    license = with licenses; [ gpl3Plus lgpl3Plus ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/tools/networking/wireguard-tools/default.nix b/pkgs/tools/networking/wireguard-tools/default.nix
index 1e401deaa264e..5cfb61d7fbf0f 100644
--- a/pkgs/tools/networking/wireguard-tools/default.nix
+++ b/pkgs/tools/networking/wireguard-tools/default.nix
@@ -13,11 +13,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "wireguard-tools";
-  version = "1.0.20200827";
+  version = "1.0.20210223";
 
   src = fetchzip {
     url = "https://git.zx2c4.com/wireguard-tools/snapshot/wireguard-tools-${version}.tar.xz";
-    sha256 = "1d8rs1g6zy3kz327cc3hzkk5a44278x9p32gxasz6i94bq0b2bs3";
+    sha256 = "sha256-YlqviVEYrGYZAJtUg2zAU8AzsQotxguljltC3N2ruUc=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/tools/networking/xh/default.nix b/pkgs/tools/networking/xh/default.nix
new file mode 100644
index 0000000000000..1d1736cd816f0
--- /dev/null
+++ b/pkgs/tools/networking/xh/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, lib, rustPlatform, fetchFromGitHub, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "xh";
+  version = "0.7.0";
+
+  src = fetchFromGitHub {
+    owner = "ducaale";
+    repo = "xh";
+    rev = "v${version}";
+    sha256 = "0b7q0xbfbrhvpnxbm9bd1ncdza9k2kcmcir3qhqzb2pgsb5b5njx";
+  };
+
+  cargoSha256 = "02fgqys9qf0jzs2n230pyj151v6xbm6wm2rd9qm5gsib6zaq7gfa";
+
+  buildInputs = lib.optional stdenv.isDarwin Security;
+
+  checkFlagsArray = [ "--skip=basic_options" ];
+
+  doInstallCheck = true;
+  postInstallCheck = ''
+    $out/bin/xh --help > /dev/null
+  '';
+
+  meta = with lib; {
+    description = "Yet another HTTPie clone in Rust";
+    homepage = "https://github.com/ducaale/xh";
+    changelog = "https://github.com/ducaale/xh/blob/v${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ payas SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/tools/networking/zap/default.nix b/pkgs/tools/networking/zap/default.nix
index 183f226f84b10..bccc840a27a46 100644
--- a/pkgs/tools/networking/zap/default.nix
+++ b/pkgs/tools/networking/zap/default.nix
@@ -1,31 +1,38 @@
-{ lib, stdenv, fetchFromGitHub, jdk8, ant, runtimeShell }:
+{ lib, stdenv, fetchurl, jre, runtimeShell }:
 
-let jdk = jdk8; in
 stdenv.mkDerivation rec {
   pname = "zap";
-  version = "2.7.0";
-  src = fetchFromGitHub {
-    owner = "zaproxy";
-    repo = "zaproxy";
-    rev =version;
-    sha256 = "1bz4pgq66v6kxmgj99llacm1d85vj8z78jlgc2z9hv0ha5i57y32";
+  version = "2.10.0";
+  src = fetchurl {
+    url = "https://github.com/zaproxy/zaproxy/releases/download/v${version}/ZAP_${version}_Linux.tar.gz";
+    sha256 = "1mz9s56pbs62g4pnd1ml8y6jpf9ilisdwwvjv5kn6yxrcdi2zzqh";
   };
 
-  buildInputs = [ jdk ant ];
+  buildInputs = [ jre ];
 
-  buildPhase = ''
-    cd build
-    echo -n "${version}" > version.txt
-    ant -f build.xml setup init  compile dist copy-source-to-build package-linux
-  '';
+  # From https://github.com/zaproxy/zaproxy/blob/master/zap/src/main/java/org/parosproxy/paros/Constant.java
+  version_tag = "2010000";
 
+  # Copying config and adding version tag before first use to avoid permission
+  # issues if zap tries to copy config on it's own.
   installPhase = ''
-    mkdir -p "$out/share"
-    tar xvf  "ZAP_${version}_Linux.tar.gz" -C "$out/share/"
-    mkdir -p "$out/bin"
-    echo "#!${runtimeShell}" > "$out/bin/zap"
-    echo \"$out/share/ZAP_${version}/zap.sh\" >> "$out/bin/zap"
-    chmod +x "$out/bin/zap"
+    mkdir -p "$out/bin" "$out/share"
+    cp -pR . "$out/share/${pname}/"
+
+    cat >> "$out/bin/${pname}" << EOF
+    #!${runtimeShell}
+    export PATH="${lib.makeBinPath [ jre ]}:\$PATH"
+    export JAVA_HOME='${jre}'
+    if ! [ -f "~/.ZAP/config.xml" ];then
+      mkdir -p "\$HOME/.ZAP"
+      head -n 2 $out/share/${pname}/xml/config.xml > "\$HOME/.ZAP/config.xml"
+      echo "<version>${version_tag}</version>" >> "\$HOME/.ZAP/config.xml"
+      tail -n +3 $out/share/${pname}/xml/config.xml >> "\$HOME/.ZAP/config.xml"
+    fi
+    exec "$out/share/${pname}/zap.sh"  "\$@"
+    EOF
+
+    chmod u+x  "$out/bin/${pname}"
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/networking/zerotierone/default.nix b/pkgs/tools/networking/zerotierone/default.nix
index 96de4fc34e467..04711b3d86180 100644
--- a/pkgs/tools/networking/zerotierone/default.nix
+++ b/pkgs/tools/networking/zerotierone/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zerotierone";
-  version = "1.6.2";
+  version = "1.6.4";
 
   src = fetchFromGitHub {
     owner = "zerotier";
     repo = "ZeroTierOne";
     rev = version;
-    sha256 = "0lky68fjrqjsd62g97jkn5a9hzj53g8wb6d2ncx8s21rknpncdar";
+    sha256 = "06b6k1rzqkd7cdl7n0gz5ky48fs2nhn0q2qxx1rww38vbfc7lpmf";
   };
 
   preConfigure = ''
diff --git a/pkgs/tools/nix/nix-output-monitor/default.nix b/pkgs/tools/nix/nix-output-monitor/default.nix
index b177b9a233add..f3b080938eb40 100644
--- a/pkgs/tools/nix/nix-output-monitor/default.nix
+++ b/pkgs/tools/nix/nix-output-monitor/default.nix
@@ -1,21 +1,21 @@
 { mkDerivation, ansi-terminal, async, attoparsec, base, containers
-, directory, HUnit, mtl, nix-derivation, process, relude, lib
-, stm, text, time, unix, fetchFromGitHub
+, cassava, directory, HUnit, mtl, nix-derivation, process, relude, lib
+, stm, terminal-size, text, time, unix, wcwidth, fetchFromGitHub
 }:
 mkDerivation {
   pname = "nix-output-monitor";
-  version = "0.1.0.2";
+  version = "1.0.1.1";
   src = fetchFromGitHub {
     owner = "maralorn";
     repo = "nix-output-monitor";
-    sha256 = "0r4348cbmnpawbfa20qw3wnywiqp0jkl5svzl27jrm2yk2g51509";
-    rev = "5bf7534";
+    sha256 = "1wi1gsl5q1sy7k6k5wxhwpwzki7rghhbsyzm84hnw6h93w6401ax";
+    rev = "v1.0.1.1";
   };
   isLibrary = true;
   isExecutable = true;
   libraryHaskellDepends = [
-    ansi-terminal async attoparsec base containers directory mtl
-    nix-derivation relude stm text time unix
+    ansi-terminal async attoparsec base cassava containers directory mtl
+    nix-derivation relude stm terminal-size text time unix wcwidth
   ];
   executableHaskellDepends = [
     ansi-terminal async attoparsec base containers directory mtl
diff --git a/pkgs/tools/nix/nixpkgs-fmt/default.nix b/pkgs/tools/nix/nixpkgs-fmt/default.nix
index 40e74fba8a865..cfe8a9a1c7dfa 100644
--- a/pkgs/tools/nix/nixpkgs-fmt/default.nix
+++ b/pkgs/tools/nix/nixpkgs-fmt/default.nix
@@ -1,16 +1,16 @@
-{ lib, rustPlatform, fetchFromGitHub, fetchpatch }:
+{ lib, rustPlatform, fetchFromGitHub }:
 rustPlatform.buildRustPackage rec {
   pname = "nixpkgs-fmt";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0w1himwix7iv40rixj9afknwmqg2qmkif23z217gc7x63zyg9vdc";
+    sha256 = "sha256-99rYdyDLAdY2JCy/x4wYksrV8mhKPERYjWNh4UOtYrk=";
   };
 
-  cargoSha256 = "1qzhii72hjdxmgfncvyk80ybvk6zywd6v73bb1ibhnry734grzvw";
+  cargoSha256 = "sha256-9XmCZwLzaX61HJWRSi7wf7BdLCOMFYIVXiDNYYfUTlk=";
 
   meta = with lib; {
     description = "Nix code formatter for nixpkgs";
diff --git a/pkgs/tools/package-management/apk-tools/default.nix b/pkgs/tools/package-management/apk-tools/default.nix
index c1141362f820c..fed7de01b98ec 100644
--- a/pkgs/tools/package-management/apk-tools/default.nix
+++ b/pkgs/tools/package-management/apk-tools/default.nix
@@ -1,20 +1,29 @@
-{ stdenv, lib, fetchurl, lua, openssl, pkg-config, zlib }:
+{ lib, stdenv, fetchFromGitLab, pkg-config, scdoc, openssl, zlib
+, luaSupport ? stdenv.hostPlatform == stdenv.buildPlatform, lua
+}:
 
 stdenv.mkDerivation rec {
   pname = "apk-tools";
-  version = "2.10.5";
+  version = "2.12.2";
 
-  src = fetchurl {
-    url = "https://dev.alpinelinux.org/archive/apk-tools/apk-tools-${version}.tar.xz";
-    sha256 = "00z3fqnv8vk2czdm4p2q4sldq0n8sxyf2qfwppyk7wj59d2sq8dp";
+  src = fetchFromGitLab {
+    domain = "gitlab.alpinelinux.org";
+    owner = "alpine";
+    repo = "apk-tools";
+    rev = "v${version}";
+    sha256 = "1crx2xlswi7i0mwgzrfphpf49ghfnh79fi5dn1sl611j9sy9wa29";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ lua openssl zlib ];
+  nativeBuildInputs = [ pkg-config scdoc ]
+    ++ lib.optionals luaSupport [ lua lua.pkgs.lua-zlib ];
+  buildInputs = [ openssl zlib ] ++ lib.optional luaSupport lua;
+  strictDeps = true;
 
   makeFlags = [
+    "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
     "SBINDIR=$(out)/bin"
     "LIBDIR=$(out)/lib"
+    "LUA=${if luaSupport then "lua" else "no"}"
     "LUA_LIBDIR=$(out)/lib/lua/${lib.versions.majorMinor lua.version}"
     "MANDIR=$(out)/share/man"
     "DOCDIR=$(out)/share/doc/apk"
@@ -30,7 +39,7 @@ stdenv.mkDerivation rec {
     homepage = "https://gitlab.alpinelinux.org/alpine/apk-tools";
     description = "Alpine Package Keeper";
     maintainers = with maintainers; [ qyliss ];
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     platforms = platforms.unix;
     broken = stdenv.isDarwin;
   };
diff --git a/pkgs/tools/package-management/cargo-deb/default.nix b/pkgs/tools/package-management/cargo-deb/default.nix
index 668a623ee2a5a..f171a15004543 100644
--- a/pkgs/tools/package-management/cargo-deb/default.nix
+++ b/pkgs/tools/package-management/cargo-deb/default.nix
@@ -8,24 +8,26 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-deb";
-  version = "1.24.0";
+  version = "1.29.1";
 
   src = fetchFromGitHub {
     owner = "mmstick";
     repo = pname;
-    rev = "b49351f6770aa7aeb053dd1d4a02d6b086caad2a";
-    sha256 = "1hs96yv0awgi7ggpxp7k3n21jpv642sm0529b21hs9ib6kp4vs8s";
+    rev = "v${version}";
+    sha256 = "sha256-oWivGy2azF9zpeZ0UAi7Bxm4iXFWAjcBG0pN7qtkSU8=";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
-  cargoSha256 = "1vqnnqn6rzkdi239bh3lk7gaxr7w6v3c4ws4ya1ah04g6v9hkzlw";
-
-  checkType = "debug";
+  cargoSha256 = "0j9frvcmy9hydw73v0ffr0bjvq2ykylnpmiw700z344djpaaa08y";
 
   preCheck = ''
     substituteInPlace tests/command.rs \
-      --replace 'target/debug' "target/${rust.toRustTarget stdenv.buildPlatform}/debug"
+      --replace 'target/debug' "target/${rust.toRustTarget stdenv.buildPlatform}/release"
+
+    # This is an FHS specific assert depending on glibc location
+    substituteInPlace src/dependencies.rs \
+      --replace 'assert!(deps.iter().any(|d| d.starts_with("libc")));' '// no libc assert here'
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/package-management/checkinstall/default.nix b/pkgs/tools/package-management/checkinstall/default.nix
index 3a1aa5e464e88..704c3ad64094c 100644
--- a/pkgs/tools/package-management/checkinstall/default.nix
+++ b/pkgs/tools/package-management/checkinstall/default.nix
@@ -70,5 +70,8 @@ stdenv.mkDerivation {
     maintainers = [ lib.maintainers.eelco ];
     platforms = lib.platforms.linux;
     license = lib.licenses.gpl2;
+    knownVulnerabilities = [
+      "CVE-2020-25031"
+    ];
   };
 }
diff --git a/pkgs/tools/package-management/dpkg/default.nix b/pkgs/tools/package-management/dpkg/default.nix
index 7eee52f8efa83..459b9550b7c89 100644
--- a/pkgs/tools/package-management/dpkg/default.nix
+++ b/pkgs/tools/package-management/dpkg/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "dpkg";
-  version = "1.20.5";
+  version = "1.20.7.1";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/d/dpkg/dpkg_${version}.tar.xz";
-    sha256 = "1pg0yd1q9l5cx7pr0853yds1n3mh5b28zkw79gjqjzcmjwqkzwpj";
+    sha256 = "sha256-Cq0t5of3l++OvavHuv0W3BSX8c4jvZFG+apz85alY28=";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/package-management/emplace/default.nix b/pkgs/tools/package-management/emplace/default.nix
index 1497d09734f0b..798601d1a5b42 100644
--- a/pkgs/tools/package-management/emplace/default.nix
+++ b/pkgs/tools/package-management/emplace/default.nix
@@ -2,21 +2,21 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "emplace";
-  version = "0.4.3";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "tversteeg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Qx989u2893Jv4/ZUdSqZk+q/FUjo0GDoVzeS63AO2HA=";
+    sha256 = "sha256-vA+Y4j9Flcrizqh61+4X70FzF5/wK2WVHQRsAUQzKnU=";
   };
 
-  cargoSha256 = "sha256-s0RIEZw8FOdKqMXgDPNXmqp7V6flzE8eF1J/rSK+qKs=";
+  cargoSha256 = "sha256-zGdjMpB7h+/RdM+wXffUuAyHnks6umyJmzUrANmqAS8=";
 
   meta = with lib; {
     description = "Mirror installed software on multiple machines";
     homepage = "https://github.com/tversteeg/emplace";
-    license = licenses.agpl3;
+    license = licenses.agpl3Plus;
     maintainers = with maintainers; [ Br1ght0ne ];
   };
 }
diff --git a/pkgs/tools/package-management/holo-build/default.nix b/pkgs/tools/package-management/holo-build/default.nix
new file mode 100644
index 0000000000000..8f88ae08762bd
--- /dev/null
+++ b/pkgs/tools/package-management/holo-build/default.nix
@@ -0,0 +1,59 @@
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles, perl, file }:
+
+buildGoModule rec {
+  pname = "holo-build";
+  version = "1.6.1";
+
+  src = fetchFromGitHub {
+    owner = "holocm";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0lypbgf96bcc4m3968xa4il1zwprsdyc0pw6pl9mqq7djxabikd0";
+  };
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace 'VERSION :=' 'VERSION ?='
+    substituteInPlace src/holo-build.sh \
+      --replace '/usr/lib/holo/holo-build' '${placeholder "out"}/lib/holo/holo-build'
+  '';
+
+  vendorSha256 = null;
+
+  nativeBuildInputs = [ installShellFiles perl ];
+
+  subPackages = [ "src/holo-build" ];
+
+  buildFlagsArray = [ "-ldflags=-s -w -X github.com/holocm/holo-build/src/holo-build/common.version=${version}" ];
+
+  postBuild = ''
+    make build/man/holo-build.8 VERSION=${version}
+  '';
+
+  checkInputs = [ file ];
+
+  checkPhase = ''
+    ln -s ../../go/bin/holo-build build/holo-build
+    go build -ldflags "-s -w -X github.com/holocm/holo-build/src/holo-build/common.version=${version}" -o build/dump-package ./src/dump-package
+    bash test/compiler/run_tests.sh
+    bash test/interface/run_tests.sh
+  '';
+
+  postInstall = ''
+    installManPage build/man/*
+    installShellCompletion --bash --name holo-build util/autocomplete.bash
+    installShellCompletion --zsh --name _holo-build util/autocomplete.zsh
+
+    # install wrapper script
+    mkdir -p $out/lib/holo
+    mv $out/bin/holo-build $out/lib/holo/holo-build
+    cp src/holo-build.sh $out/bin/holo-build
+  '';
+
+  meta = with lib; {
+    description = "Cross-distribution system package compiler";
+    homepage = "http://holocm.org/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/tools/package-management/libdnf/darwin.patch b/pkgs/tools/package-management/libdnf/darwin.patch
index 56bafb2f7b82a..53f2c04f9ef41 100644
--- a/pkgs/tools/package-management/libdnf/darwin.patch
+++ b/pkgs/tools/package-management/libdnf/darwin.patch
@@ -1,5 +1,25 @@
---- src/libdnf/hy-iutil.cpp	2020-12-02 07:53:42.000000000 -0800
-+++ src/libdnf/hy-iutil.cpp	2020-12-21 14:24:14.000000000 -0800
+diff --git src/libdnf/config.h src/libdnf/config.h
+index 16121f6f..737d0bc4 100644
+--- src/libdnf/config.h
++++ src/libdnf/config.h
+@@ -18,7 +18,12 @@
+  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+  */
+ 
++
++#ifdef __APPLE__
++#include <stdint.h>
++#else
+ #include <bits/wordsize.h>
++#endif
+
+ 
+ #if __WORDSIZE == 32
+ #include "config-32.h"
+diff --git src/libdnf/hy-iutil.cpp src/libdnf/hy-iutil.cpp
+index 497c560d..5de077fa 100644
+--- src/libdnf/hy-iutil.cpp
++++ src/libdnf/hy-iutil.cpp
 @@ -22,7 +22,7 @@
  #include <errno.h>
  #include <dirent.h>
@@ -9,8 +29,10 @@
  #include <pwd.h>
  #include <unistd.h>
  #include <stdio.h>
---- src/libdnf/hy-util.cpp	2020-12-02 07:53:42.000000000 -0800
-+++ src/libdnf/hy-util.cpp	2020-12-21 14:23:21.000000000 -0800
+diff --git src/libdnf/hy-util.cpp src/libdnf/hy-util.cpp
+index 295fdc1b..9d584b8a 100644
+--- src/libdnf/hy-util.cpp
++++ src/libdnf/hy-util.cpp
 @@ -24,7 +24,20 @@
  #include <ctype.h>
  #include <sys/utsname.h>
diff --git a/pkgs/tools/package-management/libdnf/default.nix b/pkgs/tools/package-management/libdnf/default.nix
index 08702e8bf6b16..59df56f86fa92 100644
--- a/pkgs/tools/package-management/libdnf/default.nix
+++ b/pkgs/tools/package-management/libdnf/default.nix
@@ -1,15 +1,15 @@
 { gcc9Stdenv, lib, stdenv, fetchFromGitHub, cmake, gettext, pkg-config, gpgme, libsolv, openssl, check
-, pcre, json_c, libmodulemd, libsmartcols, sqlite, librepo, libyaml, rpm }:
+, json_c, libmodulemd, libsmartcols, sqlite, librepo, libyaml, rpm }:
 
 gcc9Stdenv.mkDerivation rec {
   pname = "libdnf";
-  version = "0.55.2";
+  version = "0.58.0";
 
   src = fetchFromGitHub {
     owner = "rpm-software-management";
     repo = pname;
     rev = version;
-    sha256 = "0hiydwfa90nsrqk5ffa6ks1g73wnsgjgq7z7gwq9jj76a7gpfbfq";
+    sha256 = "0an8giv0lm0qqc76fpmqg42ra081mlj62b9r0s1p0sgb3270l76l";
   };
 
   patches = lib.optionals stdenv.isDarwin [ ./darwin.patch ];
diff --git a/pkgs/tools/package-management/librepo/default.nix b/pkgs/tools/package-management/librepo/default.nix
index 9ec5c3c13b399..4009d1113073a 100644
--- a/pkgs/tools/package-management/librepo/default.nix
+++ b/pkgs/tools/package-management/librepo/default.nix
@@ -13,7 +13,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.12.1";
+  version = "1.13.0";
   pname = "librepo";
 
   outputs = [ "out" "dev" "py" ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     owner = "rpm-software-management";
     repo = "librepo";
     rev = version;
-    sha256 = "0793j35fcv6bbz2pkd5rcsmx37hb1f0y48r4758cbfnl9rbp9y4z";
+    sha256 = "sha256-gK1pkcZAJVXx0cYGs8PA4iPSMOwgJZI9Hqrrs1ZITDo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/package-management/licensee/Gemfile.lock b/pkgs/tools/package-management/licensee/Gemfile.lock
index 9f1a24337b815..b6ac2fe182edf 100644
--- a/pkgs/tools/package-management/licensee/Gemfile.lock
+++ b/pkgs/tools/package-management/licensee/Gemfile.lock
@@ -4,29 +4,35 @@ GEM
     addressable (2.7.0)
       public_suffix (>= 2.0.2, < 5.0)
     dotenv (2.7.6)
-    faraday (1.0.1)
+    faraday (1.3.0)
+      faraday-net_http (~> 1.0)
       multipart-post (>= 1.2, < 3)
-    licensee (9.14.1)
+      ruby2_keywords
+    faraday-net_http (1.0.1)
+    licensee (9.15.0)
       dotenv (~> 2.0)
-      octokit (~> 4.17)
+      octokit (~> 4.20)
       reverse_markdown (~> 1.0)
       rugged (>= 0.24, < 2.0)
       thor (>= 0.19, < 2.0)
-    mini_portile2 (2.4.0)
+    mini_portile2 (2.5.0)
     multipart-post (2.1.1)
-    nokogiri (1.10.10)
-      mini_portile2 (~> 2.4.0)
-    octokit (4.18.0)
+    nokogiri (1.11.1)
+      mini_portile2 (~> 2.5.0)
+      racc (~> 1.4)
+    octokit (4.20.0)
       faraday (>= 0.9)
       sawyer (~> 0.8.0, >= 0.5.3)
     public_suffix (4.0.6)
+    racc (1.5.2)
     reverse_markdown (1.4.0)
       nokogiri
+    ruby2_keywords (0.0.4)
     rugged (1.1.0)
     sawyer (0.8.2)
       addressable (>= 2.3.5)
       faraday (> 0.8, < 2.0)
-    thor (1.0.1)
+    thor (1.1.0)
 
 PLATFORMS
   ruby
diff --git a/pkgs/tools/package-management/licensee/gemset.nix b/pkgs/tools/package-management/licensee/gemset.nix
index 281f9376e178a..3c48ad8f9bbfc 100644
--- a/pkgs/tools/package-management/licensee/gemset.nix
+++ b/pkgs/tools/package-management/licensee/gemset.nix
@@ -21,12 +21,22 @@
     version = "2.7.6";
   };
   faraday = {
-    dependencies = ["multipart-post"];
+    dependencies = ["faraday-net_http" "multipart-post" "ruby2_keywords"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wwks9652xwgjm7yszcq5xr960pjypc07ivwzbjzpvy9zh2fw6iq";
+      sha256 = "1hmssd8pj4n7yq4kz834ylkla8ryyvhaap6q9nzymp93m1xq21kz";
+      type = "gem";
+    };
+    version = "1.3.0";
+  };
+  faraday-net_http = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j";
       type = "gem";
     };
     version = "1.0.1";
@@ -37,20 +47,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0c551j4qy773d79hgypjaz43h5wjn08mnxnxy9s2vdjc40qm95k5";
+      sha256 = "1di15x50kpqdhw1fvba4c1j6b106nfld85jxdc72xj4iyj1l6vi1";
       type = "gem";
     };
-    version = "9.14.1";
+    version = "9.15.0";
   };
   mini_portile2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy";
+      sha256 = "1hdbpmamx8js53yk3h8cqy12kgv6ca06k0c9n3pxh6b6cjfs19x7";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "2.5.0";
   };
   multipart-post = {
     groups = ["default"];
@@ -63,15 +73,15 @@
     version = "2.1.1";
   };
   nokogiri = {
-    dependencies = ["mini_portile2"];
+    dependencies = ["mini_portile2" "racc"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xmf60nj5kg9vaj5bysy308687sgmkasgx06vbbnf94p52ih7si2";
+      sha256 = "1ajwkqr28hwqbyl1l3czx4a34c88acxywyqp8cjyy0zgsd6sbhj2";
       type = "gem";
     };
-    version = "1.10.10";
+    version = "1.11.1";
   };
   octokit = {
     dependencies = ["faraday" "sawyer"];
@@ -79,10 +89,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zvfr9njmj5svi39fcsi2b0g7pcxb0vamw9dlyas8bg814jlzhi6";
+      sha256 = "1fl517ld5vj0llyshp3f9kb7xyl9iqy28cbz3k999fkbwcxzhlyq";
       type = "gem";
     };
-    version = "4.18.0";
+    version = "4.20.0";
   };
   public_suffix = {
     groups = ["default"];
@@ -94,6 +104,16 @@
     };
     version = "4.0.6";
   };
+  racc = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "178k7r0xn689spviqzhvazzvxfq6fyjldxb3ywjbgipbfi4s8j1g";
+      type = "gem";
+    };
+    version = "1.5.2";
+  };
   reverse_markdown = {
     dependencies = ["nokogiri"];
     groups = ["default"];
@@ -105,6 +125,16 @@
     };
     version = "1.4.0";
   };
+  ruby2_keywords = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15wfcqxyfgka05v2a7kpg64x57gl1y4xzvnc9lh60bqx5sf1iqrs";
+      type = "gem";
+    };
+    version = "0.0.4";
+  };
   rugged = {
     groups = ["default"];
     platforms = [];
@@ -131,9 +161,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xbhkmyhlxwzshaqa7swy2bx6vd64mm0wrr8g3jywvxy7hg0cwkm";
+      sha256 = "18yhlvmfya23cs3pvhr1qy38y41b6mhr5q9vwv5lrgk16wmf3jna";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "1.1.0";
   };
 }
diff --git a/pkgs/tools/package-management/microdnf/default.nix b/pkgs/tools/package-management/microdnf/default.nix
index 8e866abb3ccae..498d6d21f39c5 100644
--- a/pkgs/tools/package-management/microdnf/default.nix
+++ b/pkgs/tools/package-management/microdnf/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "microdnf";
-  version = "3.6.0";
+  version = "3.7.1";
 
   src = fetchFromGitHub {
     owner = "rpm-software-management";
     repo = pname;
     rev = version;
-    sha256 = "0a7lc3qsnblvznzsz3544l3n84184xi85zf7c3m3jhnmpmxsg39h";
+    sha256 = "1is8hqckjdz1h9w44iq1ljyfs5b0qd2cyivl30ny4dv8m8zba4zv";
   };
 
   nativeBuildInputs = [ pkg-config cmake gettext help2man ];
diff --git a/pkgs/tools/package-management/nfpm/default.nix b/pkgs/tools/package-management/nfpm/default.nix
index d22b4216ea9f4..f231e5e9bba26 100644
--- a/pkgs/tools/package-management/nfpm/default.nix
+++ b/pkgs/tools/package-management/nfpm/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "nfpm";
-  version = "2.2.3";
+  version = "2.2.5";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-F3SDcO5E0d5/aEJLdy0fJqB6brwf4C9Imtk1R5zOT5A=";
+    sha256 = "sha256-B8bXZ5PjlZIly25jK23ODa+RYGDfxHR0Z2fpAjptgP8=";
   };
 
-  vendorSha256 = "sha256-fGhe0EukTWk/4tGPiFMit7zBD4380AkgxrQ3pzImsFU=";
+  vendorSha256 = "sha256-aSoryidfAfqPBpOtAXFJsq1ZcqJqpGiX3pZz5GpkKqQ=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/package-management/nix-bundle/default.nix b/pkgs/tools/package-management/nix-bundle/default.nix
index 41ce0967b2e3c..7b52f2585f35e 100644
--- a/pkgs/tools/package-management/nix-bundle/default.nix
+++ b/pkgs/tools/package-management/nix-bundle/default.nix
@@ -11,8 +11,10 @@ stdenv.mkDerivation rec {
     sha256 = "0hdvdjm467w37clkhbifn54hbdmnxlbk66cj88lwaz26j4s2ik5g";
   };
 
+  nativeBuildInputs = [ makeWrapper ];
+
   # coreutils, gnutar is actually needed by nix for bootstrap
-  buildInputs = [ nix coreutils makeWrapper gnutar gzip bzip2 ];
+  buildInputs = [ nix coreutils gnutar gzip bzip2 ];
 
   binPath = lib.makeBinPath [ nix coreutils gnutar gzip bzip2 ];
 
diff --git a/pkgs/tools/package-management/nix-pin/default.nix b/pkgs/tools/package-management/nix-pin/default.nix
index 0e4005022ff93..4dc0098316c66 100644
--- a/pkgs/tools/package-management/nix-pin/default.nix
+++ b/pkgs/tools/package-management/nix-pin/default.nix
@@ -9,7 +9,8 @@ let self = stdenv.mkDerivation rec {
     rev = "version-${version}";
     sha256 = "1pccvc0iqapms7kidrh09g5fdx44x622r5l9k7bkmssp3v4c68vy";
   };
-  buildInputs = [ python3 mypy makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ python3 mypy ];
   checkPhase = ''
     mypy bin/*
   '';
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 9ab08007ec716..50eb8d1a47e6d 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -22,7 +22,7 @@ common =
   , stateDir
   , confDir
   , withLibseccomp ? lib.any (lib.meta.platformMatch stdenv.hostPlatform) libseccomp.meta.platforms, libseccomp
-  , withAWS ? !enableStatic && (stdenv.isLinux || stdenv.isDarwin), aws-sdk-cpp
+  , withAWS ? !enableStatic && !stdenv.hostPlatform.isMusl && (stdenv.isLinux || stdenv.isDarwin), aws-sdk-cpp
   , enableStatic ? stdenv.hostPlatform.isStatic
   , name, suffix ? "", src
   , patches ? [ ]
diff --git a/pkgs/tools/package-management/nixops/default.nix b/pkgs/tools/package-management/nixops/default.nix
index 96e6ec3f55a09..0dcbeb8abfedc 100644
--- a/pkgs/tools/package-management/nixops/default.nix
+++ b/pkgs/tools/package-management/nixops/default.nix
@@ -1,16 +1,70 @@
-{ callPackage, fetchurl, fetchpatch }:
+{ lib, python2Packages, libxslt, docbook_xsl_ns, openssh, cacert, nixopsAzurePackages ? []
+, fetchurl, fetchpatch
+}:
 
-callPackage ./generic.nix (rec {
+let
   version = "1.7";
+
+in python2Packages.buildPythonApplication {
+  pname = "nixops";
+  inherit version;
+
   src = fetchurl {
     url = "https://nixos.org/releases/nixops/nixops-${version}/nixops-${version}.tar.bz2";
     sha256 = "091c0b5bca57d4aa20be20e826ec161efe3aec9c788fbbcf3806a734a517f0f3";
   };
+
   patches = [
-    # follow redirect in nixos-infect. Remove with the next release.
     (fetchpatch {
       url = "https://github.com/NixOS/nixops/commit/fb6d4665e8efd858a215bbaaf079ec3f5ebc49b8.patch";
       sha256 = "1hbhykl811zsqlaj3y5m9d8lfsal6ps6n5p16ah6lqy2s18ap9d0";
     })
+    ./optional-virtd.patch
   ];
-})
+
+  buildInputs = [ libxslt ];
+
+  pythonPath = with python2Packages;
+    [ prettytable
+      boto
+      boto3
+      hetzner
+      libcloud
+      adal
+      # Go back to sqlite once Python 2.7.13 is released
+      pysqlite
+      datadog
+      digital-ocean
+      typing
+      ]
+      ++ lib.optional (!libvirt.passthru.libvirt.meta.insecure or true) libvirt
+      ++ nixopsAzurePackages;
+
+  checkPhase =
+  # Ensure, that there are no (python) import errors
+  ''
+    SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt \
+    HOME=$(pwd) \
+      $out/bin/nixops --version
+  '';
+
+  postInstall = ''
+    make -C doc/manual install nixops.1 docbookxsl=${docbook_xsl_ns}/xml/xsl/docbook \
+      docdir=$out/share/doc/nixops mandir=$out/share/man
+
+    mkdir -p $out/share/nix/nixops
+    cp -av "nix/"* $out/share/nix/nixops
+
+    # Add openssh to nixops' PATH. On some platforms, e.g. CentOS and RHEL
+    # the version of openssh is causing errors when have big networks (40+)
+    wrapProgram $out/bin/nixops --prefix PATH : "${openssh}/bin"
+  '';
+
+  meta = {
+    homepage = "https://github.com/NixOS/nixops";
+    description = "NixOS cloud provisioning and deployment tool";
+    maintainers = with lib.maintainers; [ aminechikhaoui eelco rob domenkozar ];
+    platforms = lib.platforms.unix;
+    license = lib.licenses.lgpl3;
+  };
+}
diff --git a/pkgs/tools/package-management/nixops/generic.nix b/pkgs/tools/package-management/nixops/generic.nix
deleted file mode 100644
index 564256de35d1a..0000000000000
--- a/pkgs/tools/package-management/nixops/generic.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ lib, python2Packages, libxslt, docbook_xsl_ns, openssh, cacert, nixopsAzurePackages ? []
-# version args
-, src, version
-, meta ? {}
-, patches ? null
-}:
-
-python2Packages.buildPythonApplication {
-  name = "nixops-${version}";
-  inherit version src patches;
-
-  buildInputs = [ libxslt ];
-
-  pythonPath = with python2Packages;
-    [ prettytable
-      boto
-      boto3
-      hetzner
-      libcloud
-      adal
-      # Go back to sqlite once Python 2.7.13 is released
-      pysqlite
-      datadog
-      digital-ocean
-      libvirt
-      typing
-    ] ++ nixopsAzurePackages;
-
-  checkPhase =
-  # Ensure, that there are no (python) import errors
-  ''
-    SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt \
-    HOME=$(pwd) \
-      $out/bin/nixops --version
-  '';
-
-  postInstall = ''
-    make -C doc/manual install nixops.1 docbookxsl=${docbook_xsl_ns}/xml/xsl/docbook \
-      docdir=$out/share/doc/nixops mandir=$out/share/man
-
-    mkdir -p $out/share/nix/nixops
-    cp -av "nix/"* $out/share/nix/nixops
-
-    # Add openssh to nixops' PATH. On some platforms, e.g. CentOS and RHEL
-    # the version of openssh is causing errors when have big networks (40+)
-    wrapProgram $out/bin/nixops --prefix PATH : "${openssh}/bin"
-  '';
-
-  meta = {
-    homepage = "https://github.com/NixOS/nixops";
-    description = "NixOS cloud provisioning and deployment tool";
-    maintainers = with lib.maintainers; [ aminechikhaoui eelco rob domenkozar ];
-    platforms = lib.platforms.unix;
-    license = lib.licenses.lgpl3;
-  } // meta;
-}
diff --git a/pkgs/tools/package-management/nixops/nixops-v1_6_1.nix b/pkgs/tools/package-management/nixops/nixops-v1_6_1.nix
deleted file mode 100644
index dc0c733ca7b13..0000000000000
--- a/pkgs/tools/package-management/nixops/nixops-v1_6_1.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ callPackage, newScope, pkgs, fetchurl }:
-
-callPackage ./generic.nix (rec {
-  version = "1.6.1";
-  src = fetchurl {
-    url = "https://nixos.org/releases/nixops/nixops-${version}/nixops-${version}.tar.bz2";
-    sha256 = "0lfx5fhyg3z6725ydsk0ibg5qqzp5s0x9nbdww02k8s307axiah3";
-  };
-  nixopsAzurePackages = with python2Packages; [
-    azure-storage
-    azure-mgmt-compute
-    azure-mgmt-network
-    azure-mgmt-resource
-    azure-mgmt-storage
-  ];
-  # nixops is incompatible with the most recent versions of listed
-  # azure-mgmt-* packages, therefore we are pinning them to
-  # package-private versions, so that they don't get trampled by
-  # updates.
-  # see
-  # https://github.com/NixOS/nixops/issues/1065
-  python2Packages = pkgs.python2Packages.override {
-    overrides = (self: super: let callPackage = newScope self; in {
-      azure-mgmt-compute = callPackage ./azure-mgmt-compute { };
-      azure-mgmt-network = callPackage ./azure-mgmt-network { };
-      azure-mgmt-nspkg = callPackage ./azure-mgmt-nspkg { };
-      azure-mgmt-resource = callPackage ./azure-mgmt-resource { };
-      azure-mgmt-storage = callPackage ./azure-mgmt-storage { };
-      azure-storage = callPackage ./azure-storage { };
-    });
-  };
-})
diff --git a/pkgs/tools/package-management/nixops/optional-virtd.patch b/pkgs/tools/package-management/nixops/optional-virtd.patch
new file mode 100644
index 0000000000000..3697fdde8f263
--- /dev/null
+++ b/pkgs/tools/package-management/nixops/optional-virtd.patch
@@ -0,0 +1,24 @@
+diff --git a/nixops/backends/libvirtd.py b/nixops/backends/libvirtd.py
+index bc5f4af7..edd1348b 100644
+--- a/nixops/backends/libvirtd.py
++++ b/nixops/backends/libvirtd.py
+@@ -8,12 +8,18 @@ import shutil
+ import string
+ import subprocess
+ import time
+-import libvirt
+ 
+ from nixops.backends import MachineDefinition, MachineState
+ import nixops.known_hosts
+ import nixops.util
+ 
++try:
++    import libvirt
++except:
++    class libvirt(object):
++        def __getattribute__(self, name):
++            raise ValueError("The libvirt backend has been disabled because of security issues.")
++
+ # to prevent libvirt errors from appearing on screen, see
+ # https://www.redhat.com/archives/libvirt-users/2017-August/msg00011.html
+ 
diff --git a/pkgs/tools/package-management/nixops/unstable.nix b/pkgs/tools/package-management/nixops/unstable.nix
deleted file mode 100644
index 94975807dea6b..0000000000000
--- a/pkgs/tools/package-management/nixops/unstable.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ callPackage, fetchurl }:
-
-# To upgrade pick the hydra job of the nixops revision that you want to upgrade
-# to from: https://hydra.nixos.org/job/nixops/master/tarball
-# Then copy the URL to the tarball.
-
-callPackage ./generic.nix (rec {
-  version = "1.7pre2764_932bf43";
-  src = fetchurl {
-    url = "https://hydra.nixos.org/build/92372343/download/2/nixops-${version}.tar.bz2";
-    sha256 = "f35bf81bf2805473ea54248d0ee92d163d00a1992f3f75d17e8cf430db1f9919";
-  };
-})
diff --git a/pkgs/tools/package-management/nixui/nixui.nix b/pkgs/tools/package-management/nixui/nixui.nix
index c98d9b58e6e04..0bcd0eb4b8512 100644
--- a/pkgs/tools/package-management/nixui/nixui.nix
+++ b/pkgs/tools/package-management/nixui/nixui.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
@@ -6,12 +6,12 @@
 
 let
   nodeEnv = import ../../../development/node-packages/node-env.nix {
-    inherit (pkgs) lib stdenv python2 util-linux runCommand writeTextFile;
-    inherit nodejs;
+    inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
+    inherit pkgs nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
 in
 import ./node-packages.nix {
-  inherit (pkgs) fetchurl fetchgit;
+  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
   inherit nodeEnv;
 }
diff --git a/pkgs/tools/package-management/nixui/node-packages.nix b/pkgs/tools/package-management/nixui/node-packages.nix
index b5b42e9164a2a..0b6857cf716ad 100644
--- a/pkgs/tools/package-management/nixui/node-packages.nix
+++ b/pkgs/tools/package-management/nixui/node-packages.nix
@@ -1,6 +1,6 @@
-# This file has been generated by node2nix 1.8.0. Do not edit!
+# This file has been generated by node2nix 1.9.0. Do not edit!
 
-{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
 let
   sources = {
@@ -49,22 +49,22 @@ let
         sha1 = "309f10ba29f2002f74a92fb870b8a53ba2131593";
       };
     };
-    "underscore-1.4.4" = {
+    "underscore-1.12.0" = {
       name = "underscore";
       packageName = "underscore";
-      version = "1.4.4";
+      version = "1.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
-        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.12.0.tgz";
+        sha512 = "21rQzss/XPMjolTiIezSu3JAjgagXKROtNrYFEOWK109qY1Uv2tVjPTZ1ci2HgvQDA16gHYSthQIJfB+XId/rQ==";
       };
     };
-    "underscore-1.9.2" = {
+    "underscore-1.4.4" = {
       name = "underscore";
       packageName = "underscore";
-      version = "1.9.2";
+      version = "1.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/underscore/-/underscore-1.9.2.tgz";
-        sha512 = "0fpcm4n2qlycl50j6k3fv7baybnzf1wbsm2ng0vwfsdi40fyvsvvl0k1i427hgpknhj5hbcwff3swckw6wx96kw4dgwvldi56v6lzqg";
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
+        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
       };
     };
   };
@@ -93,7 +93,7 @@ in
           sources."underscore-1.4.4"
         ];
       })
-      sources."underscore-1.9.2"
+      sources."underscore-1.12.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
diff --git a/pkgs/tools/package-management/opkg/default.nix b/pkgs/tools/package-management/opkg/default.nix
index c4fc804b80f7d..7f06cbbd3c205 100644
--- a/pkgs/tools/package-management/opkg/default.nix
+++ b/pkgs/tools/package-management/opkg/default.nix
@@ -2,11 +2,11 @@
 , autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  version = "0.4.3";
+  version = "0.4.4";
   pname = "opkg";
   src = fetchurl {
     url = "https://downloads.yoctoproject.org/releases/opkg/opkg-${version}.tar.gz";
-    sha256 = "06278gmb26b9nl8l328cc2c2mhfi0dhac65syws17kf09f2m596x";
+    sha256 = "sha256-IhesxYuOsxMAYx66514iLrxwDJwc9kCAiHBdGaRyyDk=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
diff --git a/pkgs/tools/package-management/packagekit/qt.nix b/pkgs/tools/package-management/packagekit/qt.nix
index f87ce8258fa00..d1d135c157951 100644
--- a/pkgs/tools/package-management/packagekit/qt.nix
+++ b/pkgs/tools/package-management/packagekit/qt.nix
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkg-config qttools ];
 
+  dontWrapQtApps = true;
+
   meta = packagekit.meta // {
     description = "System to facilitate installing and updating packages - Qt";
   };
diff --git a/pkgs/tools/package-management/protontricks/default.nix b/pkgs/tools/package-management/protontricks/default.nix
index e4e60442c8fbe..ec5017c54c7ee 100644
--- a/pkgs/tools/package-management/protontricks/default.nix
+++ b/pkgs/tools/package-management/protontricks/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonApplication rec {
   pname = "protontricks";
-  version = "1.4.3";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = "Matoking";
     repo = pname;
     rev = version;
-    sha256 = "0a5727igwafwvj8rr5lv0lx8rlfji3qkzmrbp0d15w5dc4fhknp0";
+    sha256 = "0i7p0jj7avmq3b2qlcpwcflipndrnwsvwvhc5aal7rm95aa7xhja";
   };
 
   patches = [
diff --git a/pkgs/tools/package-management/protontricks/steam-run.patch b/pkgs/tools/package-management/protontricks/steam-run.patch
index 536072cafc489..619d80bd8a7a4 100644
--- a/pkgs/tools/package-management/protontricks/steam-run.patch
+++ b/pkgs/tools/package-management/protontricks/steam-run.patch
@@ -1,5 +1,5 @@
 diff --git a/src/protontricks/cli.py b/src/protontricks/cli.py
-index 6506dae..2f762c9 100755
+index fec0563..d158b96 100755
 --- a/src/protontricks/cli.py
 +++ b/src/protontricks/cli.py
 @@ -14,7 +14,7 @@ import os
@@ -38,7 +38,7 @@ index 6506dae..2f762c9 100755
      else:
          logger.info("Steam Runtime disabled.")
  
-@@ -194,7 +189,7 @@ def main(args=None):
+@@ -201,7 +196,7 @@ def main(args=None):
              winetricks_path=winetricks_path,
              proton_app=proton_app,
              steam_app=steam_app,
@@ -46,8 +46,8 @@ index 6506dae..2f762c9 100755
 +            steam_runtime=steam_runtime,
              command=[winetricks_path, "--gui"]
          )
-         return
-@@ -261,7 +256,7 @@ def main(args=None):
+ 
+@@ -269,7 +264,7 @@ def main(args=None):
              winetricks_path=winetricks_path,
              proton_app=proton_app,
              steam_app=steam_app,
@@ -56,7 +56,7 @@ index 6506dae..2f762c9 100755
              command=[winetricks_path] + args.winetricks_command)
      elif args.command:
          run_command(
-@@ -269,7 +264,7 @@ def main(args=None):
+@@ -277,7 +272,7 @@ def main(args=None):
              proton_app=proton_app,
              steam_app=steam_app,
              command=args.command,
@@ -66,7 +66,7 @@ index 6506dae..2f762c9 100755
              # escaping it
              cwd=steam_app.install_path,
 diff --git a/src/protontricks/steam.py b/src/protontricks/steam.py
-index 215b31d..aa545b8 100644
+index fa5772d..4f30cd3 100644
 --- a/src/protontricks/steam.py
 +++ b/src/protontricks/steam.py
 @@ -11,7 +11,7 @@ from .util import lower_dict
@@ -78,7 +78,7 @@ index 215b31d..aa545b8 100644
      "find_appid_proton_prefix", "get_steam_lib_paths", "get_steam_apps",
      "get_custom_proton_installations"
  )
-@@ -245,37 +245,6 @@ def find_steam_path():
+@@ -254,37 +254,6 @@ def find_steam_path():
      return None, None
  
  
@@ -117,7 +117,7 @@ index 215b31d..aa545b8 100644
  APPINFO_STRUCT_SECTION = "<LLLLQ20sL"
  
 diff --git a/src/protontricks/util.py b/src/protontricks/util.py
-index a850427..390fc01 100644
+index d513b46..c48e41f 100644
 --- a/src/protontricks/util.py
 +++ b/src/protontricks/util.py
 @@ -6,7 +6,7 @@ import stat
@@ -129,7 +129,7 @@ index a850427..390fc01 100644
  
  logger = logging.getLogger("protontricks")
  
-@@ -25,70 +25,10 @@ def lower_dict(d):
+@@ -25,93 +25,10 @@ def lower_dict(d):
      return {k.lower(): v for k, v in d.items()}
  
  
@@ -155,26 +155,49 @@ index a850427..390fc01 100644
 -    return ":".join(paths)
 -
 -
+-RUNTIME_ROOT_GLOB_PATTERNS = (
+-    "var/*/files/",
+-    "*/files/"
+-)
+-
+-
 -def get_runtime_library_paths(steam_runtime_path, proton_app):
 -    """
 -    Get LD_LIBRARY_PATH value to run a command using Steam Runtime
 -    """
--    if proton_app.required_tool_app:
+-    def find_runtime_app_root(runtime_app):
+-        """
+-        Find the runtime root (the directory containing the root fileystem
+-        used for the container) for separately installed Steam Runtime app
+-        """
+-        for pattern in RUNTIME_ROOT_GLOB_PATTERNS:
+-            try:
+-                return next(
+-                    runtime_app.install_path.glob(pattern)
+-                )
+-            except StopIteration:
+-                pass
+-
+-        raise RuntimeError(
+-            "Could not find Steam Runtime runtime root for {}".format(
+-                runtime_app.name
+-            )
+-        )
+-
+-    if proton_app.required_tool_appid:
 -        # bwrap based Steam Runtime is used for Proton installations that
 -        # use separate Steam runtimes
 -        # TODO: Try to run the Wine binaries inside an user namespace somehow.
 -        # Newer Steam Runtime environments may rely on a newer glibc than what
 -        # is available on the host system, which may cause potential problems
 -        # otherwise.
--        runtime_root = next(
--            proton_app.required_tool_app.install_path.glob("*/files/")
--        )
+-        runtime_root = find_runtime_app_root(proton_app.required_tool_app)
 -        return "".join([
 -            str(proton_app.install_path / "dist" / "lib"), os.pathsep,
 -            str(proton_app.install_path / "dist" / "lib64"), os.pathsep,
 -            get_host_library_paths(), os.pathsep,
--            str(runtime_root / "i686-pc-linux-gnu" / "lib"), os.pathsep,
--            str(runtime_root / "x86_64-pc-linux-gnu" / "lib")
+-            str(runtime_root / "lib" / "i386-linux-gnu"), os.pathsep,
+-            str(runtime_root / "lib" / "x86_64-linux-gnu")
 -        ])
 -
 -    # Traditional LD_LIBRARY_PATH based Steam Runtime is used otherwise
@@ -202,7 +225,7 @@ index a850427..390fc01 100644
  )
  
  
-@@ -149,7 +89,7 @@ def create_wine_bin_dir(proton_app):
+@@ -172,7 +89,7 @@ def create_wine_bin_dir(proton_app):
  
  def run_command(
          winetricks_path, proton_app, steam_app, command,
@@ -211,16 +234,23 @@ index a850427..390fc01 100644
          **kwargs):
      """Run an arbitrary command with the correct environment variables
      for the given Proton app
-@@ -157,7 +97,7 @@ def run_command(
+@@ -180,13 +97,13 @@ def run_command(
      The environment variables are set for the duration of the call
      and restored afterwards
  
 -    If 'steam_runtime_path' is provided, run the command using Steam Runtime
 +    If 'steam_runtime' is provided, run the command using Steam Runtime
      """
-     # Make a copy of the environment variables to restore later
-     environ_copy = os.environ.copy()
-@@ -200,7 +140,7 @@ def run_command(
+     # Check for incomplete Steam Runtime installation
+     runtime_install_incomplete = \
+         proton_app.required_tool_appid and not proton_app.required_tool_app
+ 
+-    if steam_runtime_path and runtime_install_incomplete:
++    if steam_runtime and runtime_install_incomplete:
+         raise RuntimeError(
+             "{} is missing the required Steam Runtime. You may need to launch "
+             "a Steam app using this Proton version to finish the "
+@@ -234,7 +151,7 @@ def run_command(
      os.environ.pop("WINEARCH", "")
  
      wine_bin_dir = None
@@ -229,7 +259,7 @@ index a850427..390fc01 100644
          if proton_app.required_tool_app:
              runtime_name = proton_app.required_tool_app.name
              logger.info(
-@@ -217,8 +157,6 @@ def run_command(
+@@ -251,8 +168,6 @@ def run_command(
          # that load the underlying Proton Wine executables with Steam Runtime
          # and Proton libraries instead of system libraries
          wine_bin_dir = create_wine_bin_dir(proton_app=proton_app)
@@ -239,10 +269,10 @@ index a850427..390fc01 100644
              str(wine_bin_dir), os.pathsep, os.environ["PATH"]
          ])
 diff --git a/tests/test_cli.py b/tests/test_cli.py
-index 19e1137..2ef56d6 100644
+index b612dfa..c4d1de0 100644
 --- a/tests/test_cli.py
 +++ b/tests/test_cli.py
-@@ -114,9 +114,6 @@ class TestCLIRun:
+@@ -115,9 +115,6 @@ class TestCLIRun:
          assert str(command.args[0]).endswith(".local/bin/winetricks")
          assert command.args[1] == "winecfg"
          assert command.env["PATH"].startswith(str(wine_bin_dir))
diff --git a/pkgs/tools/package-management/smlpkg/default.nix b/pkgs/tools/package-management/smlpkg/default.nix
new file mode 100644
index 0000000000000..f3f7750f1bddd
--- /dev/null
+++ b/pkgs/tools/package-management/smlpkg/default.nix
@@ -0,0 +1,42 @@
+{ lib, stdenv, fetchFromGitHub, mlton, unzip }:
+
+stdenv.mkDerivation rec {
+  pname = "smlpkg";
+  version = "0.1.5";
+
+  src = fetchFromGitHub {
+    owner = "diku-dk";
+    repo = "smlpkg";
+    rev = "v${version}";
+    sha256 = "1xmbdnfc34ia0a78dhkfv5jyadxndinhw8c47l1mjd4l7n8vqnph";
+  };
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ mlton ];
+
+  # Set as an environment variable in all the phase scripts.
+  MLCOMP = "mlton";
+
+  buildFlags = ["all"];
+  installFlags = ["prefix=$(out)"];
+
+  doCheck = true;
+
+  checkInputs = [ unzip ];
+
+  # We cannot run the pkgtests, as Nix does not allow network
+  # connections.
+  checkPhase = ''
+    runHook preCheck
+    make -C src test
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    description = "Generic package manager for Standard ML libraries and programs";
+    homepage = "https://github.com/diku-dk/smlpkg";
+    license = licenses.mit;
+    maintainers = with maintainers; [ athas ];
+  };
+}
diff --git a/pkgs/tools/security/apg/default.nix b/pkgs/tools/security/apg/default.nix
index 579026f07ca9c..a185c09bda69a 100644
--- a/pkgs/tools/security/apg/default.nix
+++ b/pkgs/tools/security/apg/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   configurePhase = ''
     substituteInPlace Makefile --replace /usr/local "$out"
   '';
-  makeFlags = lib.optionals stdenv.isDarwin ["CC=cc"];
+  makeFlags = ["CC=${stdenv.cc.targetPrefix}cc"];
 
   patches = [
     ./apg.patch
diff --git a/pkgs/tools/security/aws-iam-authenticator/default.nix b/pkgs/tools/security/aws-iam-authenticator/default.nix
index e0499681848bb..f0eda76821dbb 100644
--- a/pkgs/tools/security/aws-iam-authenticator/default.nix
+++ b/pkgs/tools/security/aws-iam-authenticator/default.nix
@@ -1,18 +1,22 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "aws-iam-authenticator";
-  version = "0.4.0";
-
-  goPackagePath = "github.com/kubernetes-sigs/aws-iam-authenticator";
+  version = "0.5.2";
 
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ghl2vms9wmvczdl2raqhy0gffxmk24h158gjb5mlw7rggzvb7bg";
+    sha256 = "1xfc3a0dik4930va30sbl6687v6i5irv96fwis9lrqh5rjqnblqp";
   };
 
+  vendorSha256 = null;
+
+  buildFlagsArray = [ "-ldflags=-s -w -X main.version=v${version}" ];
+
+  subPackages = [ "cmd/aws-iam-authenticator" ];
+
   meta = with lib; {
     homepage = "https://github.com/kubernetes-sigs/aws-iam-authenticator";
     description = "AWS IAM credentials for Kubernetes authentication";
diff --git a/pkgs/tools/security/bash-supergenpass/default.nix b/pkgs/tools/security/bash-supergenpass/default.nix
index 9276c9b116773..3eb192e8fcc62 100644
--- a/pkgs/tools/security/bash-supergenpass/default.nix
+++ b/pkgs/tools/security/bash-supergenpass/default.nix
@@ -8,15 +8,15 @@
 
 stdenv.mkDerivation {
   pname = "bash-supergenpass";
-  version = "unstable-2018-04-18";
+  version = "unstable-2020-02-03";
 
   nativeBuildInputs = [ makeWrapper ];
 
   src = fetchFromGitHub {
     owner = "lanzz";
     repo = "bash-supergenpass";
-    rev = "ece772b9ec095946ac4ea985cda5561b211e56f0";
-    sha256 = "1gkbrycyyl7y3klbfx7xjvvfw5df1h4fj6x1f73gglfy6nk8ffnd";
+    rev = "e5d96599b65d65a37148996f00f9d057e522e4d8";
+    sha256 = "1d8csp94l2p5y5ln53aza5qf246rwmd10043x0x1yrswqrrya40f";
   };
 
   installPhase = ''
@@ -24,7 +24,9 @@ stdenv.mkDerivation {
     wrapProgram "$out/bin/supergenpass" --prefix PATH : "${lib.makeBinPath [ openssl coreutils gnugrep ]}"
   '';
 
-  passthru.updateScript = unstableGitUpdater { };
+  passthru.updateScript = unstableGitUpdater {
+    url = "https://github.com/lanzz/bash-supergenpass.git";
+  };
 
   meta = with lib; {
     description = "Bash shell-script implementation of SuperGenPass password generation";
diff --git a/pkgs/tools/security/bitwarden_rs/default.nix b/pkgs/tools/security/bitwarden_rs/default.nix
index 3b623cefd0de4..2cce00693a4fa 100644
--- a/pkgs/tools/security/bitwarden_rs/default.nix
+++ b/pkgs/tools/security/bitwarden_rs/default.nix
@@ -8,13 +8,13 @@ let
 
 in rustPlatform.buildRustPackage rec {
   pname = "bitwarden_rs";
-  version = "1.17.0";
+  version = "1.19.0";
 
   src = fetchFromGitHub {
     owner = "dani-garcia";
     repo = pname;
     rev = version;
-    sha256 = "0hi29vy23a5r23pgzdssd2gvim8vw2vmykck5cl5phq11a3az31p";
+    sha256 = "1iww8fhh4indmgw1j35whqyakd4bppmiyjpcdf2qrzg52x5binh0";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -25,7 +25,7 @@ in rustPlatform.buildRustPackage rec {
 
   RUSTC_BOOTSTRAP = 1;
 
-  cargoSha256 = "0hv3k5l85nz4syzamranhi237fiwkjnda8v5ssnm2nsmcm7ih9k8";
+  cargoSha256 = "0ga7ahlszja8ilng8xsrwdy7zy6bbci4mf00lknladjhlw16wibf";
   cargoBuildFlags = [ featuresFlag ];
 
   checkPhase = ''
@@ -40,7 +40,7 @@ in rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "Unofficial Bitwarden compatible server written in Rust";
     homepage = "https://github.com/dani-garcia/bitwarden_rs";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     maintainers = with maintainers; [ msteen ];
   };
 }
diff --git a/pkgs/tools/security/bitwarden_rs/vault.nix b/pkgs/tools/security/bitwarden_rs/vault.nix
index bef7fc8d6be4e..57f52d91bb060 100644
--- a/pkgs/tools/security/bitwarden_rs/vault.nix
+++ b/pkgs/tools/security/bitwarden_rs/vault.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bitwarden_rs-vault";
-  version = "2.17.1";
+  version = "2.18.1b";
 
   src = fetchurl {
     url = "https://github.com/dani-garcia/bw_web_builds/releases/download/v${version}/bw_web_v${version}.tar.gz";
-    sha256 = "1kd21higniszk1na5ag7q4g0l7h6ddl91gpbjbwym28hsbjvxla7";
+    sha256 = "sha256-MwHTx4ITr2GuBS6qXD4m3aCinpJHQa0Wp0Bbmgg7ATQ=";
   };
 
   buildCommand = ''
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     description = "Integrates the web vault into bitwarden_rs";
     homepage = "https://github.com/dani-garcia/bw_web_builds";
     platforms = platforms.all;
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ msteen ];
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ msteen mic92 ];
   };
 }
diff --git a/pkgs/tools/security/brutespray/default.nix b/pkgs/tools/security/brutespray/default.nix
index 25b9aecb8e0ec..d7f8e30e182de 100644
--- a/pkgs/tools/security/brutespray/default.nix
+++ b/pkgs/tools/security/brutespray/default.nix
@@ -1,14 +1,20 @@
-{ lib, stdenv, python3, fetchFromGitHub, makeWrapper, medusa }:
+{ lib
+, stdenv
+, python3
+, fetchFromGitHub
+, makeWrapper
+, medusa
+}:
 
 stdenv.mkDerivation rec {
   pname = "brutespray";
-  version = "1.6.8";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "x90skysn3k";
     repo = pname;
-    rev = "brutespray-${version}";
-    sha256 = "1pi4d5vcvvjsby39dq995dlhpxdicmfhqsiw23hr25m38ccfm3rh";
+    rev = "${pname}-${version}";
+    sha256 = "0lkm3fvx35ml5jh4ykjr2srq8qfajkmxwp4qfcn9xi58khk3asq3";
   };
 
   postPatch = ''
@@ -33,7 +39,11 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/x90skysn3k/brutespray";
-    description = "Brute-Forcing from Nmap output - Automatically attempts default creds on found services";
+    description = "Tool to do brute-forcing from Nmap output";
+    longDescription = ''
+      This tool automatically attempts default credentials on found services
+      directly from Nmap output.
+    '';
     license = licenses.mit;
     maintainers = with maintainers; [ ma27 ];
   };
diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index eb9fc8e7b9570..bad5f3f476e31 100644
--- a/pkgs/tools/security/clamav/default.nix
+++ b/pkgs/tools/security/clamav/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "clamav";
-  version = "0.103.0";
+  version = "0.103.1";
 
   src = fetchurl {
     url = "https://www.clamav.net/downloads/production/${pname}-${version}.tar.gz";
-    sha256 = "0ih5x1rscg2m64y0z20njj7435q8k7ss575cfw7aipdzfx979a9j";
+    sha256 = "sha256-cwjEe4myaK87nzYUBSiSekn/PmM6nJwKrCcS2BBW4lc=";
   };
 
   # don't install sample config files into the absolute sysconfdir folder
diff --git a/pkgs/tools/security/crunch/default.nix b/pkgs/tools/security/crunch/default.nix
index 2422a2278bb5c..0c7620124d153 100644
--- a/pkgs/tools/security/crunch/default.nix
+++ b/pkgs/tools/security/crunch/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, which }:
 
-stdenv.mkDerivation  rec {
+stdenv.mkDerivation rec {
   pname = "crunch";
   version = "3.6";
 
@@ -24,6 +24,7 @@ stdenv.mkDerivation  rec {
     description = "Wordlist generator";
     homepage = "https://sourceforge.net/projects/crunch-wordlist/";
     platforms = platforms.unix;
+    license = with licenses; [ gpl2Only ];
     maintainers = with maintainers; [ lethalman lnl7 ];
   };
 }
diff --git a/pkgs/tools/security/doppler/default.nix b/pkgs/tools/security/doppler/default.nix
index 08a83f8c9b2df..6c48dd380b773 100644
--- a/pkgs/tools/security/doppler/default.nix
+++ b/pkgs/tools/security/doppler/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "doppler";
-  version = "3.21.0";
+  version = "3.23.0";
 
   src = fetchFromGitHub {
     owner = "dopplerhq";
     repo = "cli";
     rev = version;
-    sha256 = "sha256-ll4PabDy5xnyi+cZdjvSySizRCxthRY7uHLzdYP6U5M=";
+    sha256 = "sha256-5IoWeFcIzhgWcYjT/BZfNQXsi9F/6WfOJLiv/5rP4Cs=";
   };
 
-  vendorSha256 = "sha256-rQrlnIYYnRc+cqyiyJoh1YqxD61doyjte7ehrX4RDTI=";
+  vendorSha256 = "sha256-UaR/xYGMI+C9aID85aPSfVzmTWXj4KcjfOJ6TTJ8KoY=";
 
   buildFlagsArray = "-ldflags=-X github.com/DopplerHQ/cli/pkg/version.ProgramVersion=v${version}";
 
diff --git a/pkgs/tools/security/ecryptfs/default.nix b/pkgs/tools/security/ecryptfs/default.nix
index 569b83feb9aeb..cd90342738ed8 100644
--- a/pkgs/tools/security/ecryptfs/default.nix
+++ b/pkgs/tools/security/ecryptfs/default.nix
@@ -35,11 +35,11 @@ stdenv.mkDerivation rec {
 
   configureFlags = lib.optionals (!enablePython) [ "--disable-pywrap" ];
 
-  nativeBuildInputs = [ pkg-config ]
+  nativeBuildInputs = [ pkg-config makeWrapper ]
   # if python2 support is requested, it is needed at builtime as well as runtime.
   ++ lib.optionals (enablePython) [ python2 ]
   ;
-  buildInputs = [ perl nss nspr pam intltool makeWrapper ]
+  buildInputs = [ perl nss nspr pam intltool ]
   ++ lib.optionals (enablePython) [ python2 ]
   ;
   propagatedBuildInputs = [ coreutils gettext cryptsetup lvm2 rsync keyutils which ];
diff --git a/pkgs/tools/security/ecryptfs/helper.nix b/pkgs/tools/security/ecryptfs/helper.nix
index ecd12a2738d82..bd558b7ab66db 100644
--- a/pkgs/tools/security/ecryptfs/helper.nix
+++ b/pkgs/tools/security/ecryptfs/helper.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
 
   phases = [ "installPhase" ];
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   # Do not hardcode PATH to ${ecryptfs} as we need the script to invoke executables from /run/wrappers/bin
   installPhase = ''
diff --git a/pkgs/tools/security/enpass/default.nix b/pkgs/tools/security/enpass/default.nix
index 7e2c0fcdb338f..107bf56cf8282 100644
--- a/pkgs/tools/security/enpass/default.nix
+++ b/pkgs/tools/security/enpass/default.nix
@@ -59,7 +59,8 @@ let
       maintainers = with maintainers; [ ewok ];
     };
 
-    buildInputs = [makeWrapper dpkg];
+    nativeBuildInputs = [ makeWrapper ];
+    buildInputs = [dpkg];
     phases = [ "unpackPhase" "installPhase" ];
 
     unpackPhase = "dpkg -X $src .";
diff --git a/pkgs/tools/security/fido2luks/default.nix b/pkgs/tools/security/fido2luks/default.nix
index f8c5b4a9f12f2..24115ba923f4e 100644
--- a/pkgs/tools/security/fido2luks/default.nix
+++ b/pkgs/tools/security/fido2luks/default.nix
@@ -9,13 +9,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fido2luks";
-  version = "0.2.15";
+  version = "0.2.16";
 
   src = fetchFromGitHub {
     owner = "shimunn";
     repo = pname;
     rev = version;
-    sha256 = "1v5gxcz4zbc673i5kbsnjq8bikf7jdbn3wjfz1wppjrgwnkgvsh9";
+    sha256 = "sha256-WOdbdJAcMZHSnf7AkGnEumjaDut9J8VwSJYjqLUtPXs=";
   };
 
   buildInputs = [ cryptsetup ];
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
     export LIBCLANG_PATH="${llvmPackages.libclang}/lib"
   '';
 
-  cargoSha256 = "19drjql13z8bw257z10kjppxm25jlfgrpc9g1jf68ka5j2b3nx7k";
+  cargoSha256 = "sha256-4VuM1bPkl9XCI9XsZIJvw3kHSKgT4P7x6I83F2KCFD0=";
 
   meta = with lib; {
     description = "Decrypt your LUKS partition using a FIDO2 compatible authenticator";
diff --git a/pkgs/tools/security/fprintd/default.nix b/pkgs/tools/security/fprintd/default.nix
index 72c0bc204f8a0..0ae04ddb30f29 100644
--- a/pkgs/tools/security/fprintd/default.nix
+++ b/pkgs/tools/security/fprintd/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv
 , fetchFromGitLab
-, fetchpatch
 , pkg-config
+, gobject-introspection
 , meson
 , ninja
 , perl
@@ -11,9 +11,10 @@
 , libxslt
 , docbook-xsl-nons
 , docbook_xml_dtd_412
+, fetchurl
 , glib
+, gusb
 , dbus
-, dbus-glib
 , polkit
 , nss
 , pam
@@ -24,52 +25,41 @@
 
 stdenv.mkDerivation rec {
   pname = "fprintd";
-  version = "1.90.1";
+  version = "1.90.9";
   outputs = [ "out" "devdoc" ];
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "libfprint";
     repo = pname;
-    rev = version;
-    sha256 = "0mbzk263x7f58i9cxhs44mrngs7zw5wkm62j5r6xlcidhmfn03cg";
+    rev = "v${version}";
+    sha256 = "rOTVThHOY/Q2IIu2RGiv26UE2V/JFfWWnfKZQfKl5Mg=";
   };
 
-  patches = [
-    # Fixes issue with ":" when there is multiple paths (might be the case on NixOS)
-    # https://gitlab.freedesktop.org/libfprint/fprintd/-/merge_requests/50
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/libfprint/fprintd/-/commit/d7fec03f24d10f88d34581c72f0eef201f5eafac.patch";
-      sha256 = "0f88dhizai8jz7hpm5lpki1fx4593zcy89iwi4brsqbqc7jp9ls0";
-    })
-
-    # Fix locating libpam_wrapper for tests
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/libfprint/fprintd/-/merge_requests/40.patch";
-      sha256 = "0qqy090p93lzabavwjxzxaqidkcb3ifacl0d3yh1q7ms2a58yyz3";
-    })
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/libfprint/fprintd/-/commit/f401f399a85dbeb2de165b9b9162eb552ab6eea7.patch";
-      sha256 = "1bc9g6kc95imlcdpvp8qgqjsnsxg6nipr6817c1pz5i407yvw1iy";
-    })
-  ];
-
   nativeBuildInputs = [
     pkg-config
     meson
     ninja
-    perl
+    perl # for pod2man
     gettext
     gtk-doc
     libxslt
-    dbus
+    # TODO: apply this to D-Bus so that other packages can benefit.
+    # https://gitlab.freedesktop.org/dbus/dbus/-/merge_requests/202
+    (dbus.overrideAttrs (attrs: {
+      postInstall = attrs.postInstall or "" + ''
+        ln -s ${fetchurl {
+          url = "https://gitlab.freedesktop.org/dbus/dbus/-/raw/b207135dbd8c09cf8da28f7e3b0a18bb11483663/doc/catalog.xml";
+          sha256 = "1/43XwAIcmRXfM4OXOPephyQyUnW8DSveiZbiPvW72I=";
+        }} $out/share/xml/dbus-1/catalog.xml
+      '';
+    }))
     docbook-xsl-nons
     docbook_xml_dtd_412
   ];
 
   buildInputs = [
     glib
-    dbus-glib
     polkit
     nss
     pam
@@ -78,11 +68,13 @@ stdenv.mkDerivation rec {
   ];
 
   checkInputs = with python3.pkgs; [
+    gobject-introspection # for setup hook
     python-dbusmock
     dbus-python
     pygobject3
     pycairo
     pypamtest
+    gusb # Required by libfprint’s typelib
   ];
 
   mesonFlags = [
@@ -103,13 +95,15 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   postPatch = ''
-    patchShebangs po/check-translations.sh
+    patchShebangs \
+      po/check-translations.sh \
+      tests/unittest_inspector.py
   '';
 
   meta = with lib; {
     homepage = "https://fprint.freedesktop.org/";
     description = "D-Bus daemon that offers libfprint functionality over the D-Bus interprocess communication bus";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ abbradar elyhaka ];
   };
diff --git a/pkgs/tools/security/gen-oath-safe/default.nix b/pkgs/tools/security/gen-oath-safe/default.nix
index 51ff5b0e81e9f..19e5f16924a53 100644
--- a/pkgs/tools/security/gen-oath-safe/default.nix
+++ b/pkgs/tools/security/gen-oath-safe/default.nix
@@ -10,9 +10,9 @@ stdenv.mkDerivation rec {
     sha256 = "1914z0jgj7lni0nf3hslkjgkv87mhxdr92cmhmbzhpjgjgr23ydp";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
-  buildPhase = ":";
+  dontBuild = true;
 
   installPhase =
     let
diff --git a/pkgs/tools/security/gitjacker/default.nix b/pkgs/tools/security/gitjacker/default.nix
index 0b8c087eccd0b..53350f01317e2 100644
--- a/pkgs/tools/security/gitjacker/default.nix
+++ b/pkgs/tools/security/gitjacker/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "gitjacker";
-  version = "0.0.2";
+  version = "0.0.3";
 
   src = fetchFromGitHub {
     owner = "liamg";
     repo = "gitjacker";
     rev = "v${version}";
-    sha256 = "0fg95i2y8sj7dsvqj8mx0k5pps7d0h1i4a3lk85l8jjab4kxx8h9";
+    sha256 = "sha256-cMjjVjHGTVT33bknAo2DVH/qPSeazVIIw3RpXGDxF5E=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/security/gnupg/22.nix b/pkgs/tools/security/gnupg/22.nix
index 90ae4300fa647..1030ce3e7910e 100644
--- a/pkgs/tools/security/gnupg/22.nix
+++ b/pkgs/tools/security/gnupg/22.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     sed -i 's/$SOURCE_DATE_EPOCH/''${SOURCE_DATE_EPOCH}/' doc/Makefile.in
   '' + lib.optionalString ( stdenv.isLinux && pcsclite != null) ''
     sed -i 's,"libpcsclite\.so[^"]*","${lib.getLib pcsclite}/lib/libpcsclite.so",g' scd/scdaemon.c
-  ''; #" fix Emacs syntax highlighting :-(
+  '';
 
   pinentryBinaryPath = pinentry.binaryPath or "bin/pinentry";
   configureFlags = [
diff --git a/pkgs/tools/security/gopass/default.nix b/pkgs/tools/security/gopass/default.nix
index d85c6ca286935..0ffcad117f476 100644
--- a/pkgs/tools/security/gopass/default.nix
+++ b/pkgs/tools/security/gopass/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , makeWrapper
 , buildGoModule
 , fetchFromGitHub
@@ -12,7 +13,7 @@
 
 buildGoModule rec {
   pname = "gopass";
-  version = "1.11.0";
+  version = "1.12.1";
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
@@ -20,10 +21,12 @@ buildGoModule rec {
     owner = "gopasspw";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0plg3hck6yqxcazjczx9m5palzz5h3qs5minzmmq8yzvfwi0shic";
+    sha256 = "0ickzq2swhabxqcg32n1i99bam6ip7c0mhhncgvmw332w6pzgvlb";
   };
 
-  vendorSha256 = "1sycbcld5qyriqb771l52drxy4vhzm4nh9q5s6kn70nq1s2a3h7x";
+  vendorSha256 = "0i0dhipp1gdn0xdl4bpi13ksxf7dc9biz9riapm988bldcr5s1kr";
+
+  subPackages = [ "." ];
 
   doCheck = false;
 
@@ -38,6 +41,7 @@ buildGoModule rec {
   );
 
   postInstall = ''
+    HOME=$TMPDIR
     for shell in bash fish zsh; do
       $out/bin/gopass completion $shell > gopass.$shell
       installShellCompletion gopass.$shell
@@ -47,9 +51,7 @@ buildGoModule rec {
   '';
 
   postFixup = ''
-    for bin in $out/bin/*; do
-      wrapProgram $bin --prefix PATH : "${wrapperPath}"
-    done
+    wrapProgram $out/bin/gopass --prefix PATH : "${wrapperPath}"
   '';
 
   meta = with lib; {
@@ -57,7 +59,7 @@ buildGoModule rec {
     homepage = "https://www.gopass.pw/";
     license = licenses.mit;
     maintainers = with maintainers; [ andir rvolosatovs ];
-    platforms = platforms.unix;
+    changelog = "https://github.com/gopasspw/gopass/blob/v${version}/CHANGELOG.md";
 
     longDescription = ''
       gopass is a rewrite of the pass password manager in Go with the aim of
diff --git a/pkgs/tools/security/gopass/git-credential.nix b/pkgs/tools/security/gopass/git-credential.nix
new file mode 100644
index 0000000000000..fb0da2c1a0936
--- /dev/null
+++ b/pkgs/tools/security/gopass/git-credential.nix
@@ -0,0 +1,41 @@
+{ lib
+, makeWrapper
+, buildGoModule
+, fetchFromGitHub
+, gopass
+}:
+
+buildGoModule rec {
+  pname = "git-credential-gopass";
+  version = "1.12.0";
+
+  src = fetchFromGitHub {
+    owner = "gopasspw";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-IvYxpUMclDAKJ/EkRbNrX8eIFyhtY9Q0B0RipweieZA=";
+  };
+
+  vendorSha256 = "sha256-N6eU6KsnUrYBK90ydwUH8LNkR9KRjgc4ciGOGvy7pw8=";
+
+  subPackages = [ "." ];
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  preBuild = ''
+    buildFlagsArray+=(
+      "-ldflags=-s -w -X main.version=${version} -X main.commit=${src.rev}"
+    )
+  '';
+
+  postFixup = ''
+    wrapProgram $out/bin/git-credential-gopass --prefix PATH : "${lib.makeBinPath [ gopass ]}"
+  '';
+
+  meta = with lib; {
+    description = "Manage git credentials using gopass";
+    homepage = "https://github.com/gopasspw/git-credential-gopass";
+    license = licenses.mit;
+    maintainers = with maintainers; [ benneti ];
+  };
+}
diff --git a/pkgs/tools/security/gopass/jsonapi.nix b/pkgs/tools/security/gopass/jsonapi.nix
new file mode 100644
index 0000000000000..e060adbf5bcf9
--- /dev/null
+++ b/pkgs/tools/security/gopass/jsonapi.nix
@@ -0,0 +1,42 @@
+{ lib
+, makeWrapper
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles
+, gopass
+}:
+
+buildGoModule rec {
+  pname = "gopass-jsonapi";
+  version = "1.11.1";
+
+  src = fetchFromGitHub {
+    owner = "gopasspw";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "03xhza7n92xg12z83as9qdvvc0yx1qy6q0c7i4njvng594f9a8x2";
+  };
+
+  vendorSha256 = "0d4fyppsdfzvmjb0qvpnfnw0vl6z256bly7hfb0whk6rldks60wr";
+
+  subPackages = [ "." ];
+
+  nativeBuildInputs = [ installShellFiles makeWrapper ];
+
+  preBuild = ''
+    buildFlagsArray+=(
+      "-ldflags=-s -w -X main.version=${version} -X main.commit=${src.rev}"
+    )
+  '';
+
+  postFixup = ''
+    wrapProgram $out/bin/gopass-jsonapi --prefix PATH : "${lib.makeBinPath [ gopass ]}"
+  '';
+
+  meta = with lib; {
+    description = "Enables communication with gopass via JSON messages";
+    homepage = "https://www.gopass.pw/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ maxhbr ];
+  };
+}
diff --git a/pkgs/tools/security/hashcat/default.nix b/pkgs/tools/security/hashcat/default.nix
index 20b5aed393204..173fdc8b18d29 100644
--- a/pkgs/tools/security/hashcat/default.nix
+++ b/pkgs/tools/security/hashcat/default.nix
@@ -26,6 +26,12 @@ stdenv.mkDerivation rec {
     "USE_SYSTEM_XXHASH=1"
   ];
 
+  preFixup = ''
+    for f in $out/share/hashcat/OpenCL/*.cl; do
+      sed "s|#include \"\(.*\)\"|#include \"$out/share/hashcat/OpenCL/\1\"|g" -i "$f"
+    done
+  '';
+
   postFixup = ''
     wrapProgram $out/bin/hashcat --prefix LD_LIBRARY_PATH : ${ocl-icd}/lib
   '';
diff --git a/pkgs/tools/security/hcxtools/default.nix b/pkgs/tools/security/hcxtools/default.nix
index a1ba32b35ed7e..20e28fa125387 100644
--- a/pkgs/tools/security/hcxtools/default.nix
+++ b/pkgs/tools/security/hcxtools/default.nix
@@ -1,16 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, curl, openssl, zlib }:
+{ lib, stdenv, fetchFromGitHub, pkg-config, curl, openssl, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "hcxtools";
-  version = "6.0.3";
+  version = "6.1.5";
 
   src = fetchFromGitHub {
     owner = "ZerBea";
     repo = pname;
     rev = version;
-    sha256 = "0s9l5mvzcv6hnj7h28piabnm66b09hk2l57vb85ny35w99hzpkc0";
+    sha256 = "1xvr89r6287788bx5qbw9sr8jvmajps0rpc7fvh9bfzb6zw2rq6w";
   };
 
+  nativeBuildInputs = [ pkg-config ];
   buildInputs = [ curl openssl zlib ];
 
   makeFlags = [
diff --git a/pkgs/tools/security/honggfuzz/default.nix b/pkgs/tools/security/honggfuzz/default.nix
index 081e26e34abb9..62b335ef5c7cb 100644
--- a/pkgs/tools/security/honggfuzz/default.nix
+++ b/pkgs/tools/security/honggfuzz/default.nix
@@ -5,13 +5,13 @@
 let
   honggfuzz = stdenv.mkDerivation rec {
     pname = "honggfuzz";
-    version = "2.3.1";
+    version = "2.4";
 
     src = fetchFromGitHub {
       owner = "google";
       repo = pname;
       rev = version;
-      sha256 = "0dcl5a5jykgfmnfj42vl7kah9k26wg38l2g6yfh5pssmlf0nax33";
+      sha256 = "sha256-sU5lmlfmvVWo4K96sI+xQsPfTMd1wsLbihcKI4aTj6g=";
     };
 
     postPatch = ''
diff --git a/pkgs/tools/security/ipscan/default.nix b/pkgs/tools/security/ipscan/default.nix
index a5b0fe8d92899..d1c56beb08164 100644
--- a/pkgs/tools/security/ipscan/default.nix
+++ b/pkgs/tools/security/ipscan/default.nix
@@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
   sourceRoot = ".";
   unpackCmd = "${dpkg}/bin/dpkg-deb -x $src .";
 
-  buildInputs = [ makeWrapper jdk ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jdk ];
 
   installPhase = ''
     mkdir -p $out/share
diff --git a/pkgs/tools/security/jwt-cli/default.nix b/pkgs/tools/security/jwt-cli/default.nix
index 6b4639a530798..0b3a94d816bbe 100644
--- a/pkgs/tools/security/jwt-cli/default.nix
+++ b/pkgs/tools/security/jwt-cli/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jwt-cli";
-  version = "3.3.0";
+  version = "4.0.0";
 
   src = fetchFromGitHub {
     owner = "mike-engel";
     repo = pname;
     rev = version;
-    sha256 = "09zi55ffkhsckvqj84xnxn9bgfkrj9wnzqbh9hfsxzbk4xy7fc2h";
+    sha256 = "sha256-82Le0kdt/fnSQwsRRYHy4Jv9rsCPGf5dIWmoZE2cPxY=";
   };
 
-  cargoSha256 = "1k13pw202fr5mvd0ys39n3dxwcl3sd01j6izfb28k06b6pav3wc8";
+  cargoSha256 = "sha256-nk4nrsePiUirVPoOPehCOf5ZoGVj3jy7PnSZENnpcaM=";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/tools/security/kbs2/default.nix b/pkgs/tools/security/kbs2/default.nix
index 80e6e25518e68..4e9b24818b476 100644
--- a/pkgs/tools/security/kbs2/default.nix
+++ b/pkgs/tools/security/kbs2/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kbs2";
-  version = "0.2.5";
+  version = "0.2.6";
 
   src = fetchFromGitHub {
     owner = "woodruffw";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1jilsczz22fyqbgz43gl5ilz62gfqsahfk30gayj7q5bx9k35m4w";
+    sha256 = "sha256-PtXTC0VufUR5kle9C5KhCHHEQtQZvTTU1Q/cRMCB1g0=";
   };
 
-  cargoSha256 = "1gvvmfavaq29p40p5mq1phpp2a1nw04dz4975pzm1b6z89p0jlzl";
+  cargoSha256 = "sha256-S2czYglyHRkRN3Dq5reXFOaB1i/oIHXTY8Ile+Twvzo=";
 
   nativeBuildInputs = [ installShellFiles ]
     ++ lib.optionals stdenv.isLinux [ python3 ];
diff --git a/pkgs/tools/security/kpcli/default.nix b/pkgs/tools/security/kpcli/default.nix
index d0e260bb6775d..37af42e33ccf6 100644
--- a/pkgs/tools/security/kpcli/default.nix
+++ b/pkgs/tools/security/kpcli/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "1srd6vrqgjlf906zdyxp4bg6gihkxn62cpzyfv0zzpsqsj13iwh1";
   };
 
-  buildInputs = [ makeWrapper perl ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ perl ];
 
   phases = [ "installPhase" "fixupPhase" ];
 
diff --git a/pkgs/tools/security/libtpms/default.nix b/pkgs/tools/security/libtpms/default.nix
new file mode 100644
index 0000000000000..71966a934d624
--- /dev/null
+++ b/pkgs/tools/security/libtpms/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config, autoreconfHook
+, openssl, perl
+, tpm2Support ? false
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libtpms";
+  version = "0.7.4";
+
+  src = fetchFromGitHub {
+    owner = "stefanberger";
+    repo = "libtpms";
+    rev = "v${version}";
+    sha256 = "sha256-nZSBD3WshlZHVMBFmDBBdFkhBjNgtASfg6+lYOOAhZ8=";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+    perl # needed for pod2man
+  ];
+  buildInputs = [ openssl ];
+
+  outputs = [ "out" "lib" "man" "dev" ];
+
+  enableParallelBuilding = true;
+
+  configureFlags = [
+    "--with-openssl"
+  ] ++ lib.optionals tpm2Support [
+    "--with-tpm2" # TPM2 support is flagged experimental by upstream
+  ];
+
+  meta = with lib; {
+    description = "The libtpms library provides software emulation of a Trusted Platform Module (TPM 1.2 and TPM 2.0)";
+    homepage = "https://github.com/stefanberger/libtpms";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.baloo ];
+  };
+}
diff --git a/pkgs/tools/security/masscan/default.nix b/pkgs/tools/security/masscan/default.nix
index f92ac978f6edc..891311ddaa03a 100644
--- a/pkgs/tools/security/masscan/default.nix
+++ b/pkgs/tools/security/masscan/default.nix
@@ -1,32 +1,38 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, libpcap }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, installShellFiles
+, makeWrapper
+, libpcap
+}:
 
 stdenv.mkDerivation rec {
   pname = "masscan";
-  version = "1.3.1";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "robertdavidgraham";
     repo = "masscan";
     rev = version;
-    sha256 = "sha256-gH0zOf2kl6cqws1nB3QPtaAjpvNAgbawXRx77bqJTIc=";
+    sha256 = "sha256-mnGC/moQANloR5ODwRjzJzBa55OEZ9QU+9WpAHxQE/g=";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper installShellFiles ];
 
-  makeFlags = [ "PREFIX=$(out)" "GITVER=${version}" "CC=cc" ];
+  makeFlags = [ "PREFIX=$(out)" "GITVER=${version}" "CC=${stdenv.cc.targetPrefix}cc" ];
 
   preInstall = ''
     mkdir -p $out/bin
   '';
 
   postInstall = ''
-    mkdir -p $out/share/man/man8
+    installManPage doc/masscan.8
+
     mkdir -p $out/share/{doc,licenses}/masscan
     mkdir -p $out/etc/masscan
 
     cp data/exclude.conf $out/etc/masscan
     cp -t $out/share/doc/masscan doc/algorithm.js doc/howto-afl.md doc/bot.html
-    cp doc/masscan.8 $out/share/man/man8/masscan.8
     cp LICENSE $out/share/licenses/masscan/LICENSE
 
     wrapProgram $out/bin/masscan --prefix LD_LIBRARY_PATH : "${libpcap}/lib"
diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile
index b7be0d586f09c..ff2d70f3924bb 100644
--- a/pkgs/tools/security/metasploit/Gemfile
+++ b/pkgs/tools/security/metasploit/Gemfile
@@ -1,4 +1,4 @@
 # frozen_string_literal: true
 source "https://rubygems.org"
 
-gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.27"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.31"
diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock
index 3195fbfd43043..60aa8ce9eb0c9 100644
--- a/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,9 +1,9 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: 025cd522b2ab698130cf964c8e7ca91b0729e07a
-  ref: refs/tags/6.0.27
+  revision: 56ef940a085620b127d61a516bc10241a795f92b
+  ref: refs/tags/6.0.31
   specs:
-    metasploit-framework (6.0.27)
+    metasploit-framework (6.0.31)
       actionpack (~> 5.2.2)
       activerecord (~> 5.2.2)
       activesupport (~> 5.2.2)
@@ -31,9 +31,9 @@ GIT
       metasploit-concern
       metasploit-credential
       metasploit-model
-      metasploit-payloads (= 2.0.27)
+      metasploit-payloads (= 2.0.28)
       metasploit_data_models
-      metasploit_payloads-mettle (= 1.0.5)
+      metasploit_payloads-mettle (= 1.0.6)
       mqtt
       msgpack
       nessus_rest
@@ -92,27 +92,27 @@ GIT
 GEM
   remote: https://rubygems.org/
   specs:
-    Ascii85 (1.0.3)
-    actionpack (5.2.4.4)
-      actionview (= 5.2.4.4)
-      activesupport (= 5.2.4.4)
+    Ascii85 (1.1.0)
+    actionpack (5.2.4.5)
+      actionview (= 5.2.4.5)
+      activesupport (= 5.2.4.5)
       rack (~> 2.0, >= 2.0.8)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.0.2)
-    actionview (5.2.4.4)
-      activesupport (= 5.2.4.4)
+    actionview (5.2.4.5)
+      activesupport (= 5.2.4.5)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.0.3)
-    activemodel (5.2.4.4)
-      activesupport (= 5.2.4.4)
-    activerecord (5.2.4.4)
-      activemodel (= 5.2.4.4)
-      activesupport (= 5.2.4.4)
+    activemodel (5.2.4.5)
+      activesupport (= 5.2.4.5)
+    activerecord (5.2.4.5)
+      activemodel (= 5.2.4.5)
+      activesupport (= 5.2.4.5)
       arel (>= 9.0)
-    activesupport (5.2.4.4)
+    activesupport (5.2.4.5)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
@@ -124,23 +124,23 @@ GEM
     arel-helpers (2.12.0)
       activerecord (>= 3.1.0, < 7)
     aws-eventstream (1.1.0)
-    aws-partitions (1.418.0)
-    aws-sdk-core (3.111.2)
+    aws-partitions (1.428.0)
+    aws-sdk-core (3.112.0)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.239.0)
       aws-sigv4 (~> 1.1)
       jmespath (~> 1.0)
-    aws-sdk-ec2 (1.221.0)
-      aws-sdk-core (~> 3, >= 3.109.0)
+    aws-sdk-ec2 (1.225.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-iam (1.46.0)
-      aws-sdk-core (~> 3, >= 3.109.0)
+    aws-sdk-iam (1.48.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-kms (1.41.0)
-      aws-sdk-core (~> 3, >= 3.109.0)
+    aws-sdk-kms (1.42.0)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-s3 (1.87.0)
-      aws-sdk-core (~> 3, >= 3.109.0)
+    aws-sdk-s3 (1.88.1)
+      aws-sdk-core (~> 3, >= 3.112.0)
       aws-sdk-kms (~> 1)
       aws-sigv4 (~> 1.1)
     aws-sigv4 (1.2.2)
@@ -149,7 +149,7 @@ GEM
     bcrypt_pbkdf (1.1.0)
     bindata (2.4.8)
     bit-struct (0.16)
-    bson (4.11.1)
+    bson (4.12.0)
     builder (3.2.4)
     concurrent-ruby (1.0.5)
     cookiejar (0.3.3)
@@ -168,7 +168,7 @@ GEM
       eventmachine (>= 1.0.0.beta.4)
     erubi (1.10.0)
     eventmachine (1.2.7)
-    faker (2.15.1)
+    faker (2.16.0)
       i18n (>= 1.6, < 2)
     faraday (1.3.0)
       faraday-net_http (~> 1.0)
@@ -183,10 +183,10 @@ GEM
     hrr_rb_ssh (0.3.0.pre2)
       ed25519 (~> 1.2)
     http_parser.rb (0.6.0)
-    i18n (1.8.7)
+    i18n (1.8.9)
       concurrent-ruby (~> 1.0)
-    io-console (0.5.7)
-    irb (1.3.2)
+    io-console (0.5.8)
+    irb (1.3.3)
       reline (>= 0.1.5)
     jmespath (1.4.0)
     jsobfu (0.4.2)
@@ -214,8 +214,8 @@ GEM
       activemodel (~> 5.2.2)
       activesupport (~> 5.2.2)
       railties (~> 5.2.2)
-    metasploit-payloads (2.0.27)
-    metasploit_data_models (4.1.1)
+    metasploit-payloads (2.0.28)
+    metasploit_data_models (4.1.2)
       activerecord (~> 5.2.2)
       activesupport (~> 5.2.2)
       arel-helpers
@@ -224,12 +224,13 @@ GEM
       pg
       railties (~> 5.2.2)
       recog (~> 2.0)
-    metasploit_payloads-mettle (1.0.5)
+      webrick
+    metasploit_payloads-mettle (1.0.6)
     method_source (1.0.0)
     mini_portile2 (2.5.0)
     minitest (5.14.3)
     mqtt (0.5.0)
-    msgpack (1.3.3)
+    msgpack (1.4.2)
     multipart-post (2.1.1)
     mustermann (1.1.1)
       ruby2_keywords (~> 0.0.1)
@@ -238,7 +239,7 @@ GEM
     net-ssh (6.1.0)
     network_interface (0.0.2)
     nexpose (7.2.1)
-    nio4r (2.5.4)
+    nio4r (2.5.5)
     nokogiri (1.11.1)
       mini_portile2 (~> 2.5.0)
       racc (~> 1.4)
@@ -252,15 +253,15 @@ GEM
       pcaprub
     patch_finder (1.0.2)
     pcaprub (0.13.0)
-    pdf-reader (2.4.1)
-      Ascii85 (~> 1.0.0)
+    pdf-reader (2.4.2)
+      Ascii85 (~> 1.0)
       afm (~> 0.2.1)
       hashery (~> 2.0)
       ruby-rc4
       ttfunk
     pg (1.2.3)
     public_suffix (4.0.6)
-    puma (5.1.1)
+    puma (5.2.1)
       nio4r (~> 2.0)
     racc (1.5.2)
     rack (2.2.3)
@@ -273,18 +274,18 @@ GEM
       nokogiri (>= 1.6)
     rails-html-sanitizer (1.3.0)
       loofah (~> 2.3)
-    railties (5.2.4.4)
-      actionpack (= 5.2.4.4)
-      activesupport (= 5.2.4.4)
+    railties (5.2.4.5)
+      actionpack (= 5.2.4.5)
+      activesupport (= 5.2.4.5)
       method_source
       rake (>= 0.8.7)
       thor (>= 0.19.0, < 2.0)
     rake (13.0.3)
     rb-readline (0.5.5)
-    recog (2.3.18)
+    recog (2.3.19)
       nokogiri
     redcarpet (3.5.1)
-    reline (0.2.2)
+    reline (0.2.3)
       io-console (~> 0.5)
     rex-arch (0.1.14)
       rex-text
@@ -294,17 +295,18 @@ GEM
       rex-core
       rex-struct2
       rex-text
-    rex-core (0.1.14)
+    rex-core (0.1.16)
     rex-encoder (0.1.5)
       metasm
       rex-arch
       rex-text
-    rex-exploitation (0.1.26)
+    rex-exploitation (0.1.27)
       jsobfu
       metasm
       rex-arch
       rex-encoder
       rex-text
+      rexml
     rex-java (0.1.6)
     rex-mime (0.1.6)
       rex-text
@@ -325,7 +327,7 @@ GEM
       rex-text
     rex-socket (0.1.25)
       rex-core
-    rex-sslscan (0.1.5)
+    rex-sslscan (0.1.6)
       rex-core
       rex-socket
       rex-text
@@ -333,6 +335,7 @@ GEM
     rex-text (0.2.31)
     rex-zip (0.1.4)
       rex-text
+    rexml (3.2.4)
     rkelly-remix (0.0.7)
     ruby-macho (2.5.0)
     ruby-rc4 (0.1.5)
@@ -343,7 +346,7 @@ GEM
       openssl-cmac
       rubyntlm
       windows_error
-    rubyntlm (0.6.2)
+    rubyntlm (0.6.3)
     rubyzip (2.3.0)
     sawyer (0.8.2)
       addressable (>= 2.3.5)
@@ -367,13 +370,14 @@ GEM
     ttfunk (1.7.0)
     tzinfo (1.2.9)
       thread_safe (~> 0.1)
-    tzinfo-data (1.2020.6)
+    tzinfo-data (1.2021.1)
       tzinfo (>= 1.0.0)
     unf (0.1.4)
       unf_ext
     unf_ext (0.0.7.7)
     warden (1.2.9)
       rack (>= 2.0.9)
+    webrick (1.7.0)
     websocket-driver (0.7.3)
       websocket-extensions (>= 0.1.0)
     websocket-extensions (0.1.5)
@@ -381,7 +385,8 @@ GEM
     xdr (3.0.2)
       activemodel (>= 4.2, < 7.0)
       activesupport (>= 4.2, < 7.0)
-    xmlrpc (0.3.1)
+    xmlrpc (0.3.2)
+      webrick
     zeitwerk (2.4.2)
 
 PLATFORMS
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix
index bf9d8628cf1f8..a0fa76e9c7f6d 100644
--- a/pkgs/tools/security/metasploit/default.nix
+++ b/pkgs/tools/security/metasploit/default.nix
@@ -8,16 +8,16 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.0.27";
+  version = "6.0.31";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "sha256-G+Ki0YyuY7XxLegmQhDkR9XQurSWG8K40n+8pwJnvZU=";
+    sha256 = "sha256-wt7VeS8NnmJHMhry/68W1S1f9jUnsSHnhUSrCQN1qNM=";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   dontPatchELF = true; # stay away from exploit executables
 
diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix
index d1dbb26ec28e6..429e685b8f042 100644
--- a/pkgs/tools/security/metasploit/gemset.nix
+++ b/pkgs/tools/security/metasploit/gemset.nix
@@ -4,50 +4,50 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0d8gxymshjhva5fyv33iy2hzp4jm3i44asdbma9pv9wzpl5fwhn0";
+      sha256 = "1dh83klnrhfi94s066ahfl2bxaqxqc0sqga71bvcgn8xmcl56bhq";
       type = "gem";
     };
-    version = "5.2.4.4";
+    version = "5.2.4.5";
   };
   actionview = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k8dgkplqj76i3q1f8897m8svj2xggd1knhy3bcwfl4nh7998kw6";
+      sha256 = "0kxf9gd52hh33z6015gsfsnyavly29f15lbsljlai68r7qc2j89c";
       type = "gem";
     };
-    version = "5.2.4.4";
+    version = "5.2.4.5";
   };
   activemodel = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g79l7v0ddpxcj5r2s9kii6h4r4nbpy5bksbqi5lxvivrb3pkz1m";
+      sha256 = "0qc4bjxnkjrlqpz2k7hllqk30ydad5m2q7pbqzdr0hxzycavxz7m";
       type = "gem";
     };
-    version = "5.2.4.4";
+    version = "5.2.4.5";
   };
   activerecord = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05b9l85a31cq6g7v4b4ifrj798q49rlidcvvfasmb3bk412wlp03";
+      sha256 = "1smg691az7r2bsydfj2d46mr2d5sm0lq3ydwvfv6hl5c3y1y5jfg";
       type = "gem";
     };
-    version = "5.2.4.4";
+    version = "5.2.4.5";
   };
   activesupport = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0dpnk20s754fz6jfz9sp3ri49hn46ksw4hf6ycnlw7s3hsdxqgcd";
+      sha256 = "0fp4gr3g25qgl01y3pd88wfh4pjc5zj3bz4v7rkxxwaxdjg7a9cc";
       type = "gem";
     };
-    version = "5.2.4.4";
+    version = "5.2.4.5";
   };
   addressable = {
     groups = ["default"];
@@ -94,10 +94,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0658m37jjjn6drzqg1gk4p6c205mgp7g1jh2d00n4ngghgmz5qvs";
+      sha256 = "1ds4v9xgsyvijnlflak4dzf1qwmda9yd5bv8jwsb56nngd399rlw";
       type = "gem";
     };
-    version = "1.0.3";
+    version = "1.1.0";
   };
   aws-eventstream = {
     groups = ["default"];
@@ -114,60 +114,60 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0p4w1sxxrpvngw54q2z8dm3plljzc7pysvd2716fd3sf7g8907zr";
+      sha256 = "13rvpllihvpksf1jqwa2i5vbv2hhb34viaidw4rkxr3dyygkdpj8";
       type = "gem";
     };
-    version = "1.418.0";
+    version = "1.428.0";
   };
   aws-sdk-core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bfj1cnpp0ljr9jc44kljdwl5399cbqlvlqkz6fxq5i4r6ckggi4";
+      sha256 = "15lynby6r91p9hh5h92pg4jr8xgnjr52px5ax0p0wncdw4vz0skp";
       type = "gem";
     };
-    version = "3.111.2";
+    version = "3.112.0";
   };
   aws-sdk-ec2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mwd98gmnakz9bkn5kqn5wbk5q2iz7hsbd1xi8256f6ppw07wzi3";
+      sha256 = "1x2f3jp8p7ag9kw7glkiq60ypqq26ra79qnhms4apqz5www86d4d";
       type = "gem";
     };
-    version = "1.221.0";
+    version = "1.225.0";
   };
   aws-sdk-iam = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1j0llz7m9qymfn54vim99k0fjg6vsw71ylcagz1csay6qkjxipg7";
+      sha256 = "02xsqb66r7a53a9nnwrhpvd5s9n7wdrvd51c56gs1hlb38j45y0j";
       type = "gem";
     };
-    version = "1.46.0";
+    version = "1.48.0";
   };
   aws-sdk-kms = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02f70a4rr5h2na7navjhaf3n15ifq95zdl1avsryyxdvqzm5gzwm";
+      sha256 = "00wgf83cdy6z77b2y0ld0aqiidfyldi71hx0z8b73gxjdlbwpq1i";
       type = "gem";
     };
-    version = "1.41.0";
+    version = "1.42.0";
   };
   aws-sdk-s3 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0capqhvm08ngq74n33ym0khixkdj342jpikssw57avdmd8g6kaq7";
+      sha256 = "01zlv2icx3m0pq94z9fcsp1r9ivdqhfpnpbrv63fpr6m7yqww24y";
       type = "gem";
     };
-    version = "1.87.0";
+    version = "1.88.1";
   };
   aws-sigv4 = {
     groups = ["default"];
@@ -224,10 +224,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12v95l3v7n7lh3mk8k1jdrkpn2vjnkb8k636hcygaczzv4jdsdfp";
+      sha256 = "0gny4n34gwfc6x04x7vli5my6cdl90n4i0wsxm758q81hfmkqxd7";
       type = "gem";
     };
-    version = "4.11.1";
+    version = "4.12.0";
   };
   builder = {
     groups = ["default"];
@@ -344,10 +344,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1l0dvswigzxaz9558wmfix3v8cmwwkgdvrx1fmpd3qnr5hky1qrk";
+      sha256 = "1jc6wffxnl7rbhg4hpj572f38fkxgrkgvv5imgzamrdmw55h206b";
       type = "gem";
     };
-    version = "2.15.1";
+    version = "2.16.0";
   };
   faraday = {
     groups = ["default"];
@@ -424,30 +424,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kr0bx9323fv5ys6nlhsy05kmwcbs94h6ac7ka9qqywy0vbdvrrv";
+      sha256 = "08p6b13p99j1rrcrw1l3v0kb9mxbsvy6nk31r8h4rnszdgzpga32";
       type = "gem";
     };
-    version = "1.8.7";
+    version = "1.8.9";
   };
   io-console = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gp1xx2g1x81wsh929x7rzsm0c8qgkhr2mkjn79fbdwyfnk4s04l";
+      sha256 = "0prpvq05wzp8n7vk44zcwmn53p1akn4r105n5py6bmbxsmmkvyhr";
       type = "gem";
     };
-    version = "0.5.7";
+    version = "0.5.8";
   };
   irb = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "166xravh6r82w46d8hcjrg55gnyjdf0501g16lb48i2h06k363l2";
+      sha256 = "00c95xk8c9wzcs5imsrm85jk06y8l4dbnzhvqap98nprr9mxxnvl";
       type = "gem";
     };
-    version = "1.3.2";
+    version = "1.3.3";
   };
   jmespath = {
     groups = ["default"];
@@ -524,12 +524,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "025cd522b2ab698130cf964c8e7ca91b0729e07a";
-      sha256 = "15dxcw1agg3zsawc46wnnjxd1ma7wh8449p85pqvaqxfik8s5qhv";
+      rev = "56ef940a085620b127d61a516bc10241a795f92b";
+      sha256 = "1lx8fl1hkas4hpkj3c976pv5ybfm2spzzwhs693n57hd5xwxbpn2";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.0.27";
+    version = "6.0.31";
   };
   metasploit-model = {
     groups = ["default"];
@@ -546,30 +546,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c3jn9gjy1bknyd7wrwwfbcjwlmijd6nnsjzyqc7yszjjy0yqca2";
+      sha256 = "1xln6zgdiimrbwjbdhi9008bjhmwqm13zky4310pvr7g8riffwqx";
       type = "gem";
     };
-    version = "2.0.27";
+    version = "2.0.28";
   };
   metasploit_data_models = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1czqg49b7n9n2iqp6r4f1cxh8kd39gbjvydq09hzmzdmkwxh3x1f";
+      sha256 = "1kzlvq20ml4b5lr1qbrkmivdi37mxi8fasdqg4yla2libfbdz008";
       type = "gem";
     };
-    version = "4.1.1";
+    version = "4.1.2";
   };
   metasploit_payloads-mettle = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z6gnidpcpdm80vvl0yw1h10kchkaw9whcsv2kwy7ih6247l7nbq";
+      sha256 = "1mxhybic6myh993fs4jmp0hz998ryf362y0b33wqanff1n8aj75k";
       type = "gem";
     };
-    version = "1.0.5";
+    version = "1.0.6";
   };
   method_source = {
     groups = ["default"];
@@ -616,10 +616,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lva6bkvb4mfa0m3bqn4lm4s4gi81c40jvdcsrxr6vng49q9daih";
+      sha256 = "06iajjyhx0rvpn4yr3h1hc4w4w3k59bdmfhxnjzzh76wsrdxxrc6";
       type = "gem";
     };
-    version = "1.3.3";
+    version = "1.4.2";
   };
   multipart-post = {
     groups = ["default"];
@@ -696,10 +696,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cbwp1kbv6b2qfxv8sarv0d0ilb257jihlvdqj8f5pdm0ksq1sgk";
+      sha256 = "0xbrmq1pvmszrwf40lzwmf8krs2b56720i7wsz9gh274qljkzklf";
       type = "gem";
     };
-    version = "2.5.4";
+    version = "2.5.5";
   };
   nokogiri = {
     groups = ["default"];
@@ -786,10 +786,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0987glcd02mqglplmp1camivqx61jsyik21n99vrmi8s2p7h4mbh";
+      sha256 = "1cxladxy18dhk4a3b263crq8hyxb3q0c7ifxrb5nr1bs6y0pk8i6";
       type = "gem";
     };
-    version = "2.4.1";
+    version = "2.4.2";
   };
   pg = {
     groups = ["default"];
@@ -816,10 +816,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13640p5fk19705ygp8j6p07lccag3d80bx8bmjgpd5zsxxsdc50b";
+      sha256 = "10kj484ppkjdg1j8jac4bxdv1082bd6g6xhrj70chlp7lkgl8ggh";
       type = "gem";
     };
-    version = "5.1.1";
+    version = "5.2.1";
   };
   racc = {
     groups = ["default"];
@@ -886,10 +886,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "089kiwmv8fxyfk0zp57q74nyd5i6d5x5ihlrzbzwl041v94s2zx9";
+      sha256 = "1qwgjwfzkm4q7wby30c9r724w1sp1bywbqfmpv20lq3zdcrf1rfd";
       type = "gem";
     };
-    version = "5.2.4.4";
+    version = "5.2.4.5";
   };
   rake = {
     groups = ["default"];
@@ -916,10 +916,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0inz904fbsjscjs71lxxj4070lm1klm27m9prmrhqybc0hr95l69";
+      sha256 = "00czf392immsaff10snjxky2vpnfck1bgszpckx15y2kydag5k9i";
       type = "gem";
     };
-    version = "2.3.18";
+    version = "2.3.19";
   };
   redcarpet = {
     groups = ["default"];
@@ -936,10 +936,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zinl7l63gzy6y477j8w1azfm5655h2026hxl49w4c73qcfdjj3x";
+      sha256 = "18xpix2hn4x4hihn0fjsv6i7jr7zjfbwzs94hwn48klyq3yrym2h";
       type = "gem";
     };
-    version = "0.2.2";
+    version = "0.2.3";
   };
   rex-arch = {
     groups = ["default"];
@@ -966,10 +966,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mmsckkrds6jvg1b4sdq4cv9s1q0idjiy1k8kjfvgylz96ap0vlw";
+      sha256 = "08krnf05mbq6x2d92fv34bl8xdz1d3yq2m0mp8bfbq5kd6a13l2w";
       type = "gem";
     };
-    version = "0.1.14";
+    version = "0.1.16";
   };
   rex-encoder = {
     groups = ["default"];
@@ -986,10 +986,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z4dn579mxl22qdxcnbmxp0diia6kr7c20giv0bn4r0viavz49gc";
+      sha256 = "1b10rcrw52nj2aswsn0kwv0s601rbn077k0r6n5lblip6fbrqz9i";
       type = "gem";
     };
-    version = "0.1.26";
+    version = "0.1.27";
   };
   rex-java = {
     groups = ["default"];
@@ -1086,10 +1086,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06gbx45q653ajcx099p0yxdqqxazfznbrqshd4nwiwg1p498lmyx";
+      sha256 = "0r58n1ifbay1gq3kln9yg5iqjwp69l0pmb9sqakhqwhjlhzqx2kr";
       type = "gem";
     };
-    version = "0.1.5";
+    version = "0.1.6";
   };
   rex-struct2 = {
     groups = ["default"];
@@ -1121,6 +1121,16 @@
     };
     version = "0.1.4";
   };
+  rexml = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3";
+      type = "gem";
+    };
+    version = "3.2.4";
+  };
   rkelly-remix = {
     groups = ["default"];
     platforms = [];
@@ -1176,10 +1186,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p6bxsklkbcqni4bcq6jajc2n57g0w5rzn4r49c3lb04wz5xg0dy";
+      sha256 = "0b8hczk8hysv53ncsqzx4q6kma5gy5lqc7s5yx8h64x3vdb18cjv";
       type = "gem";
     };
-    version = "0.6.2";
+    version = "0.6.3";
   };
   rubyzip = {
     groups = ["default"];
@@ -1306,10 +1316,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "131dgg2sz3j15vp71xaijlb72nlii9fn8v5dc4vr6q7hrdq4kjf4";
+      sha256 = "0ik16lnsyr2739jzwl4r5sz8q639lqw8f9s68iszwhm2pcq8p4w2";
       type = "gem";
     };
-    version = "1.2020.6";
+    version = "1.2021.1";
   };
   unf = {
     groups = ["default"];
@@ -1341,6 +1351,16 @@
     };
     version = "1.2.9";
   };
+  webrick = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1d4cvgmxhfczxiq5fr534lmizkhigd15bsx5719r5ds7k7ivisc7";
+      type = "gem";
+    };
+    version = "1.7.0";
+  };
   websocket-driver = {
     groups = ["default"];
     platforms = [];
@@ -1386,10 +1406,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yihlrbipgiivgpkbx06qx8wgbic0jm26by6jymdwxb01zsd0yj1";
+      sha256 = "1xa79ry3976ylap38cr5g6q3m81plm611flqd3dwgnmgbkycb6jp";
       type = "gem";
     };
-    version = "0.3.1";
+    version = "0.3.2";
   };
   zeitwerk = {
     groups = ["default"];
diff --git a/pkgs/tools/security/nmap-unfree/default.nix b/pkgs/tools/security/nmap-unfree/default.nix
new file mode 100644
index 0000000000000..1e6ed42bae45d
--- /dev/null
+++ b/pkgs/tools/security/nmap-unfree/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, stdenv
+, fetchurl
+, libpcap
+, pkg-config
+, openssl
+, lua5_3
+, pcre
+, liblinear
+, libssh2
+, zlib
+, withLua ? true
+}:
+
+stdenv.mkDerivation rec {
+  pname = "nmap-unfree";
+  version = "7.91";
+
+  src = fetchurl {
+    url = "https://nmap.org/dist/nmap-${version}.tar.bz2";
+    sha256 = "001kb5xadqswyw966k2lqi6jr6zz605jpp9w4kmm272if184pk0q";
+  };
+
+  prePatch = lib.optionalString stdenv.isDarwin ''
+    substituteInPlace libz/configure \
+        --replace /usr/bin/libtool ar \
+        --replace 'AR="libtool"' 'AR="ar"' \
+        --replace 'ARFLAGS="-o"' 'ARFLAGS="-r"'
+  '';
+
+  configureFlags = [
+    (if withLua then "--with-liblua=${lua5_3}" else "--without-liblua")
+  ];
+
+  makeFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
+    "AR=${stdenv.cc.bintools.targetPrefix}ar"
+    "RANLIB=${stdenv.cc.bintools.targetPrefix}ranlib"
+    "CC=${stdenv.cc.targetPrefix}gcc"
+  ];
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [
+    pcre
+    liblinear
+    libssh2
+    libpcap
+    openssl
+    zlib
+  ];
+
+  enableParallelBuilding = true;
+
+  # Tests require network access
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Open source utility for network discovery and security auditing";
+    homepage = "http://www.nmap.org";
+    # Nmap Public Source License Version 0.93
+    # https://github.com/nmap/nmap/blob/master/LICENSE
+    license = licenses.unfree;
+    maintainers = with maintainers; [ fab SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/tools/security/open-ecard/default.nix b/pkgs/tools/security/open-ecard/default.nix
index c46d5b65cd8ef..5c07add90563c 100644
--- a/pkgs/tools/security/open-ecard/default.nix
+++ b/pkgs/tools/security/open-ecard/default.nix
@@ -25,7 +25,7 @@ in stdenv.mkDerivation rec {
 
   phases = "installPhase";
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   desktopItem = makeDesktopItem {
     name = appName;
diff --git a/pkgs/tools/security/pass/extensions/import.nix b/pkgs/tools/security/pass/extensions/import.nix
index 0fd14901d0db9..11b4eecd14d99 100644
--- a/pkgs/tools/security/pass/extensions/import.nix
+++ b/pkgs/tools/security/pass/extensions/import.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, pass, fetchFromGitHub, pythonPackages, makeWrapper, fetchpatch }:
+{ lib, stdenv, fetchFromGitHub, pythonPackages, makeWrapper, fetchpatch }:
 
 let
   pythonEnv = pythonPackages.python.withPackages (p: [
diff --git a/pkgs/tools/security/pass/rofi-pass.nix b/pkgs/tools/security/pass/rofi-pass.nix
index b6547deb560ab..3b5aedf81a80c 100644
--- a/pkgs/tools/security/pass/rofi-pass.nix
+++ b/pkgs/tools/security/pass/rofi-pass.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "131jpcwyyzgzjn9lx4k1zn95pd68pjw4i41jfzcp9z9fnazyln5n";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   dontBuild = true;
 
diff --git a/pkgs/tools/security/pcsclite/default.nix b/pkgs/tools/security/pcsclite/default.nix
index 1d874a16da64c..3d966c575cf2f 100644
--- a/pkgs/tools/security/pcsclite/default.nix
+++ b/pkgs/tools/security/pcsclite/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pcsclite";
-  version = "1.9.0";
+  version = "1.9.1";
 
   outputs = [ "bin" "out" "dev" "doc" "man" ];
 
   src = fetchurl {
     url = "https://pcsclite.apdu.fr/files/pcsc-lite-${version}.tar.bz2";
-    sha256 = "1y9f9zipnrmgiw0mxrvcgky8vfrcmg6zh40gbln5a93i2c1x8j01";
+    sha256 = "sha256-c8R4m3h2qDOnD0k82iFlXf6FaJ2bfilwHCQyduVeaDo=";
   };
 
   patches = [ ./no-dropdir-literals.patch ];
diff --git a/pkgs/tools/security/pinentry/mac.nix b/pkgs/tools/security/pinentry/mac.nix
index f208576561e4c..9c328d472c4bd 100644
--- a/pkgs/tools/security/pinentry/mac.nix
+++ b/pkgs/tools/security/pinentry/mac.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub, xcbuildHook, libiconv, ncurses, Cocoa }:
 
 stdenv.mkDerivation {
-  name = "pinentry-mac-0.9.4";
+  pname = "pinentry-mac";
+  version = "0.9.4";
 
   src = fetchFromGitHub {
     owner = "matthewbauer";
diff --git a/pkgs/tools/security/proxmark3/default.nix b/pkgs/tools/security/proxmark3/default.nix
index 3b1f21ac71873..b52e7279fa98e 100644
--- a/pkgs/tools/security/proxmark3/default.nix
+++ b/pkgs/tools/security/proxmark3/default.nix
@@ -15,6 +15,8 @@ let
       nativeBuildInputs = [ pkg-config gcc-arm-embedded ];
       buildInputs = [ ncurses readline pcsclite qt5.qtbase ];
 
+      dontWrapQtApps = true;
+
       postPatch = ''
         substituteInPlace client/Makefile --replace '-ltermcap' ' '
         substituteInPlace liblua/Makefile --replace '-ltermcap' ' '
diff --git a/pkgs/tools/security/rage/default.nix b/pkgs/tools/security/rage/default.nix
index d70e58d729390..d248fb19a2769 100644
--- a/pkgs/tools/security/rage/default.nix
+++ b/pkgs/tools/security/rage/default.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rage";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "str4d";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-XSDfAsXfwSoe5JMdJtZlC324Sra+4fVJhE3/k2TthEc=";
+    sha256 = "sha256-oYCARqG5YwKO0b73aEMLr/xzXl6xBEMCvE1HMCtMq20=";
   };
 
-  cargoSha256 = "sha256-GPr5zxeODAjD+ynp/nned9gZUiReYcdzosuEbLIKZSs=";
+  cargoSha256 = "sha256-vadXIdqfmol4thHIwpkQCn7HsXdxo0l+6CBm3QIJmeA=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -21,6 +21,9 @@ rustPlatform.buildRustPackage rec {
     Security
   ];
 
+  # cargo test has an x86-only dependency
+  doCheck = stdenv.hostPlatform.isx86;
+
   postBuild = ''
     cargo run --example generate-docs
     cargo run --example generate-completions
diff --git a/pkgs/tools/security/rhash/default.nix b/pkgs/tools/security/rhash/default.nix
index f4cc65f5d8e7d..c602ec622cd23 100644
--- a/pkgs/tools/security/rhash/default.nix
+++ b/pkgs/tools/security/rhash/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, which }:
 
 stdenv.mkDerivation rec {
-  version = "1.4.0";
+  version = "1.4.1";
   pname = "rhash";
 
   src = fetchFromGitHub {
     owner = "rhash";
     repo = "RHash";
     rev = "v${version}";
-    sha256 = "18zgr1bjzz8v6rckz2q2hx9f2ssbv8qfwclzpbyjaz0c1c9lqqar";
+    sha256 = "sha256-kmi1FtJYPBUdMfJlzEsQkTwcYB99isP3yzH1EYlk54g=";
   };
 
   nativeBuildInputs = [ which ];
diff --git a/pkgs/tools/security/rng-tools/default.nix b/pkgs/tools/security/rng-tools/default.nix
index 617224a6af36e..76aea2bbd5144 100644
--- a/pkgs/tools/security/rng-tools/default.nix
+++ b/pkgs/tools/security/rng-tools/default.nix
@@ -14,13 +14,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "rng-tools";
-  version = "6.9";
+  version = "6.11";
 
   src = fetchFromGitHub {
     owner = "nhorman";
     repo = "rng-tools";
     rev = "v${version}";
-    sha256 = "065jf26s8zkicb95zc9ilksjdq9gqrh5vcx3mhi6mypbnamn6w98";
+    sha256 = "sha256-qheJaeVX2zuv0mvKEd6wcbSHFjiJE0t5hVCJiRSKm3M=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/security/saml2aws/default.nix b/pkgs/tools/security/saml2aws/default.nix
index 57a92ef4b9968..e2f1ab7cdb6c5 100644
--- a/pkgs/tools/security/saml2aws/default.nix
+++ b/pkgs/tools/security/saml2aws/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "saml2aws";
-  version = "2.27.1";
+  version = "2.28.0";
 
   src = fetchFromGitHub {
     owner = "Versent";
     repo = "saml2aws";
     rev = "v${version}";
-    sha256 = "1ffq7jh14cj45wn5rx9awh5k8hqbfwm4fjz0a0rq22yqfwbbkkj2";
+    sha256 = "sha256-2t1MytLjAxhVVsWyMYcQZ9c+ox+X2OszG5mLAv8c7xE=";
   };
 
   runVend = true;
-  vendorSha256 = "1w7vnpv36lhxpaljdhslbckkr7p81nzc91a0503wk8nrrc4ljsyy";
+  vendorSha256 = "sha256-8Kox01iyWhv/Fp7jHPeNXxc/K2TT1WPyWFieHZkqLho=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/security/secretscanner/default.nix b/pkgs/tools/security/secretscanner/default.nix
new file mode 100644
index 0000000000000..93d440009f3fc
--- /dev/null
+++ b/pkgs/tools/security/secretscanner/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, hyperscan
+, pkg-config
+}:
+
+buildGoModule rec {
+  pname = "secretscanner";
+  version = "20210214-${lib.strings.substring 0 7 rev}";
+  rev = "42a38f9351352bf6240016b5b93d971be35cad46";
+
+  src = fetchFromGitHub {
+    owner = "deepfence";
+    repo = "SecretScanner";
+    inherit rev;
+    sha256 = "0yga71f7bx5a3hj5agr88pd7j8jnxbwqm241fhrvv8ic4sx0mawg";
+  };
+
+  vendorSha256 = "0b7qa83iqnigihgwlqsxi28n7d9h0dk3wx1bqvhn4k01483cipsd";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ hyperscan ];
+
+  postInstall = ''
+    mv $out/bin/SecretScanner $out/bin/$pname
+  '';
+
+  meta = with lib; {
+    description = "Tool to find secrets and passwords in container images and file systems";
+    homepage = "https://github.com/deepfence/SecretScanner";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
+
diff --git a/pkgs/tools/security/sequoia/default.nix b/pkgs/tools/security/sequoia/default.nix
index 706c9edc481ce..b0172ff1d5012 100644
--- a/pkgs/tools/security/sequoia/default.nix
+++ b/pkgs/tools/security/sequoia/default.nix
@@ -23,16 +23,18 @@ assert pythonSupport -> pythonPackages != null;
 
 rustPlatform.buildRustPackage rec {
   pname = "sequoia";
-  version = "1.0.0";
+  # Upstream has separate version numbering for the library and the CLI frontend.
+  # This derivation provides the CLI frontend, and thus uses its version number.
+  version = "0.24.0";
 
   src = fetchFromGitLab {
     owner = "sequoia-pgp";
     repo = "sequoia";
-    rev = "v${version}";
-    sha256 = "0y80bl786m29ww3272qsl1ql0xc3pwd6iiqlkv3nmhnjsmygbn0d";
+    rev = "sq/v${version}";
+    sha256 = "0zavkf0grkqljyiywcprsiv8igidk8vc3yfj3fzqvbhm43vnnbdw";
   };
 
-  cargoSha256 = "03ngywa5z0c7qmdmhynk13xcivhg8gpivvpzg2gxp34gfr7j438l";
+  cargoSha256 = "172f0gsy5hssrqv0l1np3c0qd1ayp6nqbpqmgwrkc4l37y5fn232";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/tools/security/shhgit/default.nix b/pkgs/tools/security/shhgit/default.nix
new file mode 100644
index 0000000000000..a05eba1282c16
--- /dev/null
+++ b/pkgs/tools/security/shhgit/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "shhgit";
+  version = "0.4-${lib.strings.substring 0 7 rev}";
+  rev = "7e55062d10d024f374882817692aa2afea02ff84";
+
+  src = fetchFromGitHub {
+    owner = "eth0izzle";
+    repo = pname;
+    inherit rev;
+    sha256 = "1b7r4ivfplm4crlvx571nyz2rc6djy0xvl14nz7m0ngh6206df9k";
+  };
+
+  vendorSha256 = "0isa9faaknm8c9mbyj5dvf1dfnyv44d1pjd2nbkyfi6b22hcci3d";
+
+  meta = with lib; {
+    description = "Tool to detect secrets in repositories";
+    homepage = "https://github.com/eth0izzle/shhgit";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/security/ssh-audit/default.nix b/pkgs/tools/security/ssh-audit/default.nix
index 2fdc42e528031..a7ef677759f35 100644
--- a/pkgs/tools/security/ssh-audit/default.nix
+++ b/pkgs/tools/security/ssh-audit/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "ssh-audit";
-  version = "2.3.1";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "jtesta";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1h739r5nv5zkmjyyjwkw8r6d4avddjjxsamc5rffwfxi1kjavpxm";
+    sha256 = "sha256-Xq1q/i43vZAv8BayVOdKuZ3+mJcQQ0x4Kc3WlASE6m8=";
   };
 
   checkInputs = with python3Packages; [
diff --git a/pkgs/tools/security/ssh-to-pgp/default.nix b/pkgs/tools/security/ssh-to-pgp/default.nix
new file mode 100644
index 0000000000000..fc07714b55b06
--- /dev/null
+++ b/pkgs/tools/security/ssh-to-pgp/default.nix
@@ -0,0 +1,29 @@
+{ lib, fetchFromGitHub, buildGoModule, gnupg }:
+
+buildGoModule rec {
+  pname = "ssh-to-pgp";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "Mic92";
+    repo = "ssh-to-pgp";
+    rev = version;
+    sha256 = "sha256-5Wg0ItAkAb0zlhzcuDT9o0XIIbG9kqk4mIYb6hSJlsI=";
+  };
+
+  vendorSha256 = "sha256-OMWiJ1n8ynvIGcmotjuGGsRuAidYgVo5Y5JjrAw8fpc=";
+
+  checkInputs = [ gnupg ];
+  checkPhase = ''
+    HOME=$TMPDIR go test .
+  '';
+
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Convert ssh private keys to PGP";
+    homepage = "https://github.com/Mic92/ssh-to-pgp";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mic92 ];
+  };
+}
diff --git a/pkgs/tools/security/sslscan/default.nix b/pkgs/tools/security/sslscan/default.nix
index fcf9c4c1ac2fd..b072b3b5574aa 100644
--- a/pkgs/tools/security/sslscan/default.nix
+++ b/pkgs/tools/security/sslscan/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ openssl ];
 
-  makeFlags = [ "PREFIX=$(out)" "CC=cc" ];
+  makeFlags = [ "PREFIX=$(out)" "CC=${stdenv.cc.targetPrefix}cc" ];
 
   meta = with lib; {
     description = "Tests SSL/TLS services and discover supported cipher suites";
diff --git a/pkgs/tools/security/stricat/default.nix b/pkgs/tools/security/stricat/default.nix
index 460838965a02a..bdd7d18923f17 100644
--- a/pkgs/tools/security/stricat/default.nix
+++ b/pkgs/tools/security/stricat/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1axg8r4g5n5kdqj5013pgck80nni3z172xkg506vz4zx1zcmrm4r";
   };
 
-  buildFlags = [ "CC=cc" ];
+  buildFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/tools/security/swtpm/default.nix b/pkgs/tools/security/swtpm/default.nix
new file mode 100644
index 0000000000000..2bd0326d4d920
--- /dev/null
+++ b/pkgs/tools/security/swtpm/default.nix
@@ -0,0 +1,76 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+, libtasn1, openssl, fuse, glib, libseccomp
+, libtpms
+, unixtools, expect, socat
+, gnutls
+, perl
+, python3, python3Packages
+}:
+
+stdenv.mkDerivation rec {
+  pname = "swtpm";
+  version = "0.5.2";
+
+  src = fetchFromGitHub {
+    owner = "stefanberger";
+    repo = "swtpm";
+    rev = "v${version}";
+    sha256 = "sha256-KY5V4z/8I15ePjorgZueNahlD/xvFa3tDarA0tuRxFk=";
+  };
+
+  pythonPath = with python3Packages; requiredPythonModules [
+    setuptools
+    cryptography
+  ];
+
+  patches = [
+    # upstream looks for /usr directory in $prefix to check
+    # whether or not to proceed with installation of python
+    # tools (swtpm_setup utility).
+    ./python-installation.patch
+  ];
+
+  prePatch = ''
+    patchShebangs src/swtpm_setup/setup.py
+    patchShebangs samples/setup.py
+  '';
+
+  nativeBuildInputs = [
+    pkg-config unixtools.netstat expect socat
+    perl # for pod2man
+    autoreconfHook
+    python3
+  ];
+  buildInputs = [
+    libtpms
+    openssl libtasn1 libseccomp
+    fuse glib
+    gnutls
+    python3.pkgs.wrapPython
+  ];
+  propagatedBuildInputs = pythonPath;
+
+  configureFlags = [
+    "--with-cuse"
+  ];
+
+  postInstall = ''
+    wrapPythonProgramsIn $out/bin "$out $pythonPath"
+    wrapPythonProgramsIn $out/share/swtpm "$out $pythonPath"
+  '';
+
+  enableParallelBuilding = true;
+
+  outputs = [ "out" "man" ];
+
+  meta = with lib; {
+    description = "Libtpms-based TPM emulator";
+    homepage = "https://github.com/stefanberger/swtpm";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.baloo ];
+  };
+}
diff --git a/pkgs/tools/security/swtpm/python-installation.patch b/pkgs/tools/security/swtpm/python-installation.patch
new file mode 100644
index 0000000000000..d2689f051c5b9
--- /dev/null
+++ b/pkgs/tools/security/swtpm/python-installation.patch
@@ -0,0 +1,60 @@
+commit 353794feb596d95e3f8893e39b174c5a89d1013e
+Author: Arthur Gautier <baloo@superbaloo.net>
+Date:   Wed Feb 17 02:27:40 2021 +0000
+
+    python-install
+    
+    Signed-off-by: Arthur Gautier <baloo@superbaloo.net>
+
+diff --git a/samples/Makefile.am b/samples/Makefile.am
+index 7d69bf8..1803bb9 100644
+--- a/samples/Makefile.am
++++ b/samples/Makefile.am
+@@ -39,19 +39,9 @@ python-uninstall:
+ 	$(PIP3) uninstall -y $(PY_PACKAGE_NAME)
+ 
+ if PYTHON_INSTALLATION
+-install-exec-local: $(PY_PACKAGE)
+-	@if ! test $(findstring /usr, "$(DESTDIR)$(bindir)"); then \
+-		echo "Warning: Not installing python package to $(DESTDIR)$(bindir)"; \
+-	else \
+-		$(MAKE) python-install; \
+-	fi
++install-exec-local: python-install
+ 
+-uninstall-local:
+-	@if ! test $(findstring /usr, "$(DESTDIR)$(bindir)"); then \
+-		echo "Cleanup for distcheck build not implemented" ; \
+-	else \
+-		$(MAKE) python-uninstall; \
+-	fi
++uninstall-local: python-uninstall
+ endif
+ 
+ 
+diff --git a/src/swtpm_setup/Makefile.am b/src/swtpm_setup/Makefile.am
+index 529eefe..533b1b3 100644
+--- a/src/swtpm_setup/Makefile.am
++++ b/src/swtpm_setup/Makefile.am
+@@ -29,19 +29,9 @@ python-uninstall:
+ 	$(PIP3) uninstall -y $(PY_PACKAGE_NAME)
+ 
+ if PYTHON_INSTALLATION
+-install-exec-local: $(PY_PACKAGE)
+-	@if ! test $(findstring /usr, "$(DESTDIR)$(bindir)"); then \
+-		echo "Warning: Not installing python package to $(DESTDIR)$(bindir)"; \
+-	else \
+-		$(MAKE) python-install; \
+-	fi
++install-exec-local: python-install
+ 
+-uninstall-local:
+-	@if ! test $(findstring /usr, "$(DESTDIR)$(bindir)"); then \
+-		echo "Cleanup for distcheck build not implemented" ; \
+-	else \
+-		$(MAKE) python-uninstall; \
+-	fi
++uninstall-local: python-uninstall
+ endif
+ 
+ # for out-of-tree builds we need to clean up
diff --git a/pkgs/tools/security/teler/default.nix b/pkgs/tools/security/teler/default.nix
index 4a971243ad1bc..e2a895f0747a8 100644
--- a/pkgs/tools/security/teler/default.nix
+++ b/pkgs/tools/security/teler/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "teler";
-  version = "1.0.1";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "kitabisa";
     repo = "teler";
     rev = "v${version}";
-    sha256 = "07pfqgms5cj4y6zm984qjmmw1c8j9yjbgrp2spi9vzk96s3k3qn3";
+    sha256 = "sha256-6OeGlpimQtw4w26HRzw2wmd3wjASY199p8XXPD/JMy8=";
   };
 
-  vendorSha256 = "06szi2jw3nayd7pljjlww2gsllgnfg8scnjmc6qv5xl6gf797kdz";
+  vendorSha256 = "sha256-L+wjurURpesCA2IK0r1sxvOUvNJT1wiRp75kpe6LH5s=";
 
   # test require internet access
   doCheck = false;
diff --git a/pkgs/tools/security/terrascan/default.nix b/pkgs/tools/security/terrascan/default.nix
index fddd10da61802..ab4a7197647d1 100644
--- a/pkgs/tools/security/terrascan/default.nix
+++ b/pkgs/tools/security/terrascan/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "terrascan";
-  version = "1.2.0";
+  version = "1.3.3";
 
   src = fetchFromGitHub {
     owner = "accurics";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1kjis0ylvmv1gvzp5qvi9a7x4611bjv8yx5mb6nkc0a8lscwb4c3";
+    sha256 = "sha256-mPd4HsWbPUNJTUNjQ5zQztoXZy2b9iLksdGKAjp0A58=";
   };
 
-  vendorSha256 = "0yfybzwjvnan4qf5w25k22iwh5hp9v8si93p4jv9bx25rw91swws";
+  vendorSha256 = "sha256-eNQTJHqOCOTAPO+vil6rkV9bNWZIdXxGQPE4IpETFtA=";
 
   # tests want to download a vulnerable Terraform project
   doCheck = false;
diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix
index ca68f8b71fc57..f040b17f89226 100644
--- a/pkgs/tools/security/tor/default.nix
+++ b/pkgs/tools/security/tor/default.nix
@@ -30,11 +30,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "tor";
-  version = "0.4.4.6";
+  version = "0.4.5.6";
 
   src = fetchurl {
     url = "https://dist.torproject.org/${pname}-${version}.tar.gz";
-    sha256 = "1p0zpqmbskygx0wmiijhprg8r45n2wqbbjl7kv4gbb83b0alq5az";
+    sha256 = "0cz78pjw2bc3kl3ziip1nhhbq89crv315rf1my3zmmgd9xws7jr2";
   };
 
   outputs = [ "out" "geoip" ];
diff --git a/pkgs/tools/security/tpm-luks/default.nix b/pkgs/tools/security/tpm-luks/default.nix
index 25e28f1583159..2af4a742208cc 100644
--- a/pkgs/tools/security/tpm-luks/default.nix
+++ b/pkgs/tools/security/tpm-luks/default.nix
@@ -29,6 +29,7 @@ stdenv.mkDerivation {
     description = "LUKS key storage in TPM NVRAM";
     homepage    = "https://github.com/shpedoikal/tpm-luks/";
     maintainers = [ maintainers.tstrobel ];
+    license = with licenses; [ gpl2Only ];
     platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/tpm2-tools/default.nix b/pkgs/tools/security/tpm2-tools/default.nix
index 6b33d1d4d5988..73368f40476db 100644
--- a/pkgs/tools/security/tpm2-tools/default.nix
+++ b/pkgs/tools/security/tpm2-tools/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchurl, lib
-, pandoc, pkg-config, makeWrapper, curl, openssl, tpm2-tss
+, pandoc, pkg-config, makeWrapper, curl, openssl, tpm2-tss, libuuid
 , abrmdSupport ? true, tpm2-abrmd ? null }:
 
 stdenv.mkDerivation rec {
   pname = "tpm2-tools";
-  version = "4.1.3";
+  version = "5.0";
 
   src = fetchurl {
     url = "https://github.com/tpm2-software/${pname}/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0117r0zzdnblkibv81y71v3limixsw5m7g9xwf7lcx8fc8836pdv";
+    sha256 = "sha256-4bkH/imHdigFLgithO68bD92RtKVBe1IYulhYqjJG6E=";
   };
 
   nativeBuildInputs = [ pandoc pkg-config makeWrapper ];
   buildInputs = [
-    curl openssl tpm2-tss
+    curl openssl tpm2-tss libuuid
   ];
 
   preFixup = let
diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix
index 4d9893e103f90..0b6c95cafd2ac 100644
--- a/pkgs/tools/security/vault/default.nix
+++ b/pkgs/tools/security/vault/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "vault";
-  version = "1.6.1";
+  version = "1.6.3";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "vault";
     rev = "v${version}";
-    sha256 = "1pgyyl2zgnr3wy4k8c5xsk2s5dpl97xdfq67lpfss7fz1bij8x47";
+    sha256 = "0ffynqk16bnc4nqnffbid4v72mxafzi0fy4cbrzfs9qfi56vcbm9";
   };
 
   goPackagePath = "github.com/hashicorp/vault";
@@ -32,6 +32,6 @@ buildGoPackage rec {
     changelog = "https://github.com/hashicorp/vault/blob/v${version}/CHANGELOG.md";
     platforms = platforms.linux ++ platforms.darwin;
     license = licenses.mpl20;
-    maintainers = with maintainers; [ rushmorem lnl7 offline pradeepchhetri ];
+    maintainers = with maintainers; [ rushmorem lnl7 offline pradeepchhetri Chili-Man ];
   };
 }
diff --git a/pkgs/tools/security/vault/vault-bin.nix b/pkgs/tools/security/vault/vault-bin.nix
index 775bd8c6951e1..59082c89f7d5f 100644
--- a/pkgs/tools/security/vault/vault-bin.nix
+++ b/pkgs/tools/security/vault/vault-bin.nix
@@ -1,26 +1,26 @@
 { lib, stdenv, fetchurl, unzip }:
 
 let
-  version = "1.6.1";
+  version = "1.6.3";
 
   sources = let
     base = "https://releases.hashicorp.com/vault/${version}";
   in {
     x86_64-linux = fetchurl {
       url = "${base}/vault_${version}_linux_amd64.zip";
-      sha256 = "1la2pylcj9y5gr7hr4aaa49427y3lgxi2phhl46pqmr7an62pkbm";
+      sha256 = "0ijc80r9rbbbblmf5s3j5b2kk6zsriyxwhsijhgy86rr6bvdljl4";
     };
     i686-linux = fetchurl {
       url = "${base}/vault_${version}_linux_386.zip";
-      sha256 = "1a2rhv5bpv43qp74a49msrwr7djzy86irsn73jl0xnkh0k6ijci1";
+      sha256 = "1blma0ywkmv8ykqc4sgcbk1g9jb9rjxqk2b6kmp5z31lilg4a7my";
     };
     x86_64-darwin = fetchurl {
       url = "${base}/vault_${version}_darwin_amd64.zip";
-      sha256 = "0snswwai2ya26crm3ksifrmbdnajr36v4vamh7g65plg6vzban9a";
+      sha256 = "1mzkj7ixpzfhn9i4092qw8g38dx4lh3kzp6g4fr5x84sbs6anl3j";
     };
     aarch64-linux = fetchurl {
       url = "${base}/vault_${version}_linux_arm64.zip";
-      sha256 = "0ix99da3xd4z200dgvpfc2h1sfx6l8cipichvfjlj39md45grs89";
+      sha256 = "14l8ic5hgsbq4q1b6832ss1wyrgqwyvgkrvcxbw5nqy5la95fl8i";
     };
   };
 
diff --git a/pkgs/tools/security/wafw00f/default.nix b/pkgs/tools/security/wafw00f/default.nix
new file mode 100644
index 0000000000000..dae4f5a5ad0c6
--- /dev/null
+++ b/pkgs/tools/security/wafw00f/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonApplication
+, fetchFromGitHub
+, pluginbase
+, requests
+}:
+
+buildPythonApplication rec {
+  pname = "wafw00f";
+  version = "2.1.0";
+
+  src = fetchFromGitHub {
+    owner = "EnableSecurity";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0526kz6ypww9nxc2vddkhpn1gqvn25mzj3wmi91wwxwxjjb6w4qj";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    pluginbase
+  ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "wafw00f" ];
+
+  meta = with lib; {
+    description = "Tool to identify and fingerprint Web Application Firewalls (WAF)";
+    homepage = "https://github.com/EnableSecurity/wafw00f";
+    license = with licenses; [ bsd3 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/system/auto-cpufreq/default.nix b/pkgs/tools/system/auto-cpufreq/default.nix
index b4bef5fc5e397..f86ac47fdde61 100644
--- a/pkgs/tools/system/auto-cpufreq/default.nix
+++ b/pkgs/tools/system/auto-cpufreq/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "auto-cpufreq";
-  version = "1.5.3";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "AdnanHodzic";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-NDIdQ4gUN2jG+VWXsv3fdUogZxOOiNtnbekD30+jx6M=";
+    sha256 = "sha256-oz3C1150CPfT0kkx1x7VIX/Rm06dkjyxeDPFCRJaWNc=";
   };
 
   propagatedBuildInputs = with python3Packages; [ click distro psutil ];
diff --git a/pkgs/tools/system/auto-cpufreq/prevent-install-and-copy.patch b/pkgs/tools/system/auto-cpufreq/prevent-install-and-copy.patch
index 232ac780341a8..7f86f6eda0e2c 100644
--- a/pkgs/tools/system/auto-cpufreq/prevent-install-and-copy.patch
+++ b/pkgs/tools/system/auto-cpufreq/prevent-install-and-copy.patch
@@ -1,8 +1,17 @@
 diff --git a/auto_cpufreq/core.py b/auto_cpufreq/core.py
-index 482a544..d142013 100644
+index a685db8..1ca1ca1 100644
 --- a/auto_cpufreq/core.py
 +++ b/auto_cpufreq/core.py
-@@ -163,31 +163,13 @@ def get_current_gov():
+@@ -72,7 +72,7 @@ def app_version():
+             print("Git commit:", check_output(["git", "describe", "--always"]).strip().decode())
+         else:
+             print(getoutput("pacman -Qi auto-cpufreq | grep Version"))
+-    else:        
++    else:
+         # source code (auto-cpufreq-installer)
+         try:
+             print("Git commit:", check_output(["git", "describe", "--always"]).strip().decode())
+@@ -179,31 +179,13 @@ def get_current_gov():
      return print("Currently using:", getoutput("cpufreqctl.auto-cpufreq --governor").strip().split(" ")[0], "governor")
  
  def cpufreqctl():
@@ -38,8 +47,8 @@ index 482a544..d142013 100644
  
  def footer(l=79):
      print("\n" + "-" * l + "\n")
-@@ -212,74 +194,12 @@ def remove_complete_msg():
- 
+@@ -233,74 +215,12 @@ def remove_complete_msg():
+     footer()
  
  def deploy_daemon():
 -    print("\n" + "-" * 21 + " Deploying auto-cpufreq as a daemon " + "-" * 22 + "\n")
@@ -60,7 +69,7 @@ index 482a544..d142013 100644
 -    except:
 -        print("\nERROR:\nWas unable to turn off bluetooth on boot")
 -
--    auto_cpufreq_log_path.touch(exist_ok=True)
+-    auto_cpufreq_stats_path.touch(exist_ok=True)
 -
 -    print("\n* Deploy auto-cpufreq install script")
 -    shutil.copy(SCRIPTS_DIR / "auto-cpufreq-install.sh", "/usr/bin/auto-cpufreq-install")
@@ -102,12 +111,12 @@ index 482a544..d142013 100644
 -    # remove auto-cpufreq-remove
 -    os.remove("/usr/bin/auto-cpufreq-remove")
 -
--    # delete log file
--    if auto_cpufreq_log_path.exists():
--        if auto_cpufreq_log_file is not None:
--            auto_cpufreq_log_file.close()
+-    # delete stats file
+-    if auto_cpufreq_stats_path.exists():
+-        if auto_cpufreq_stats_file is not None:
+-            auto_cpufreq_stats_file.close()
 -
--        auto_cpufreq_log_path.unlink()
+-        auto_cpufreq_stats_path.unlink()
 -
 -    # restore original cpufrectl script
 -    cpufreqctl_restore()
@@ -116,6 +125,15 @@ index 482a544..d142013 100644
  
  def gov_check():
      for gov in get_avail_gov():
+@@ -331,7 +251,7 @@ def countdown(s):
+     if auto_cpufreq_stats_file is not None:
+         auto_cpufreq_stats_file.seek(0)
+         auto_cpufreq_stats_file.truncate(0)
+-                
++
+         # execution timestamp
+         from datetime import datetime
+         now = datetime.now()
 diff --git a/scripts/cpufreqctl.sh b/scripts/cpufreqctl.sh
 index 63a2b5b..e157efe 100755
 --- a/scripts/cpufreqctl.sh
diff --git a/pkgs/tools/system/bpytop/default.nix b/pkgs/tools/system/bpytop/default.nix
index 6754d0806b6b9..f10c3f628b869 100644
--- a/pkgs/tools/system/bpytop/default.nix
+++ b/pkgs/tools/system/bpytop/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "bpytop";
-  version = "1.0.61";
+  version = "1.0.63";
 
   src = fetchFromGitHub {
     owner = "aristocratos";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-E6blMhDkZa3Wbdbsw7f8jdHwHFINOQ48XC5pQdkVPtQ=";
+    sha256 = "sha256-5KTqiPqYBDI1KFQ+2WN7QZFL/YSb+MPPWbKzJTUa8Zw=";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
   propagatedBuildInputs = with python3Packages; [ python psutil ];
 
   dontBuild = true;
diff --git a/pkgs/tools/system/clinfo/default.nix b/pkgs/tools/system/clinfo/default.nix
index dbcbae6eaa9a5..9c5b54f554bd8 100644
--- a/pkgs/tools/system/clinfo/default.nix
+++ b/pkgs/tools/system/clinfo/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "clinfo";
-  version = "3.0.20.11.20";
+  version = "3.0.21.02.21";
 
   src = fetchFromGitHub {
     owner = "Oblomov";
     repo = "clinfo";
     rev = version;
-    sha256 = "052xfkbmgfpalmhfwn0dj5114x2mzwz29y37qqhhsdpaxsz0y422";
+    sha256 = "sha256-0ijfbfv1F6mnt1uFH/A4yOADJoAFrPMa3yAOFJW53ek=";
   };
 
   buildInputs = [ ocl-icd opencl-headers ];
diff --git a/pkgs/tools/system/consul-template/default.nix b/pkgs/tools/system/consul-template/default.nix
index a285c720eaaaa..c04b69675808a 100644
--- a/pkgs/tools/system/consul-template/default.nix
+++ b/pkgs/tools/system/consul-template/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "consul-template";
-  version = "0.25.1";
+  version = "0.25.2";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "consul-template";
     rev = "v${version}";
-    sha256 = "1205rhv4mizpb1nbc2sry52n7wljcwb8xp7lpazh1r1cldfayr5b";
+    sha256 = "sha256-r9/CxXFaeod48NgOFWhl+axiNqjaU+RIEHI71fmYzP8=";
   };
 
-  vendorSha256 = "0hv4b6k8k7xkzkjgzcm5y8pqyiwyk790a1qw18gjslkwkyw5hjf2";
+  vendorSha256 = "sha256-DLjaDj3fJYl5ICxJuaCLKdd/AfwfUIM8teJLs3a2MHo=";
 
   # consul-template tests depend on vault and consul services running to
   # execute tests so we skip them here
diff --git a/pkgs/tools/system/daemon/default.nix b/pkgs/tools/system/daemon/default.nix
index 58f8da3ce4f7d..13b19775dec54 100644
--- a/pkgs/tools/system/daemon/default.nix
+++ b/pkgs/tools/system/daemon/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "daemon";
-  version = "0.7";
+  version = "0.7.1";
 
   src = fetchurl {
     url = "http://libslack.org/daemon/download/daemon-${version}.tar.gz";
-    sha256 = "0b17zzl7bqnkn7a4pr3l6fxqfmxfld7izphrab5nvhc4wzng4spn";
+    sha256 = "sha256-uh9tyHUyyFK/uPQ2F5zWYcNFj/iY9ndnxBQSMZhibf0=";
   };
 
   makeFlags = [
diff --git a/pkgs/tools/system/di/default.nix b/pkgs/tools/system/di/default.nix
index fcf4054c18201..6dcd3e87f68f1 100644
--- a/pkgs/tools/system/di/default.nix
+++ b/pkgs/tools/system/di/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "di";
-  version = "4.48";
+  version = "4.48.0.1";
 
   src = fetchurl {
     url = "https://gentoo.com/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "0crvvfsxh8ryc0j19a2x52i9zacvggm8zi6j3kzygkcwnpz4km8r";
+    sha256 = "sha256-YFCFRDGeq2h/UXKme/NnnCuFdtw2Vim6Y3SbytaItGc=";
   };
 
   makeFlags = [ "INSTALL_DIR=$(out)" ];
diff --git a/pkgs/tools/system/facter/default.nix b/pkgs/tools/system/facter/default.nix
index 1ece53203b101..906ca618e4684 100644
--- a/pkgs/tools/system/facter/default.nix
+++ b/pkgs/tools/system/facter/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "facter";
-  version = "3.14.15";
+  version = "3.14.16";
 
   src = fetchFromGitHub {
-    sha256 = "sha256-vRtDctiulR5YmcwNCZtSU/tsRjs1+DP07NFVSL1TSuI=";
+    sha256 = "sha256-VZIeyLJBlh5/r0EHinSiPiQyCNUBFBYjDZ6nTVnZBbE=";
     rev = version;
     repo = pname;
     owner = "puppetlabs";
diff --git a/pkgs/tools/system/freeipmi/default.nix b/pkgs/tools/system/freeipmi/default.nix
index 9529ccad399b2..f7e041a849d44 100644
--- a/pkgs/tools/system/freeipmi/default.nix
+++ b/pkgs/tools/system/freeipmi/default.nix
@@ -1,12 +1,12 @@
 { fetchurl, lib, stdenv, libgcrypt, readline, libgpgerror }:
 
 stdenv.mkDerivation rec {
-  version = "1.6.6";
+  version = "1.6.7";
   pname = "freeipmi";
 
   src = fetchurl {
     url = "mirror://gnu/freeipmi/${pname}-${version}.tar.gz";
-    sha256 = "1ava5s0babfwx6dqi87phzyzjjgyah7avhljrxrjwn2cniwh38yg";
+    sha256 = "1gyyx99q02p3v2nqm3h53mkjd33l0hrapwg4alg6qr9k74qik1dv";
   };
 
   buildInputs = [ libgcrypt readline libgpgerror ];
diff --git a/pkgs/tools/system/gdu/default.nix b/pkgs/tools/system/gdu/default.nix
index 0c63bf651baed..9202b31709ef5 100644
--- a/pkgs/tools/system/gdu/default.nix
+++ b/pkgs/tools/system/gdu/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildGoModule
 , fetchFromGitHub
 , installShellFiles
@@ -6,27 +7,35 @@
 
 buildGoModule rec {
   pname = "gdu";
-  version = "4.3.2";
+  version = "4.6.5";
 
   src = fetchFromGitHub {
     owner = "dundee";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-m4J797bmQzKuyA01JgDLVlf+PbXDVXWtYbID/0QVLxE=";
+    sha256 = "sha256-pky6YY0K4pilPcUY3sJSf4cEF10obZOHd9Jih9Igu6M=";
   };
 
-  vendorSha256 = "sha256-kIMd0xzQ+c+jCpX2+qdD/GcFEirR15PMInbEV184EBU=";
-
-  buildFlagsArray = [ "-ldflags=-s -w -X github.com/dundee/gdu/build.Version=${version}" ];
+  vendorSha256 = "1aw9cgm9m3bflncpfk2qsid2aqs710nn2bpxx46n54kw9jkvj8s2";
 
   nativeBuildInputs = [ installShellFiles ];
 
+  buildFlagsArray = [
+    "-ldflags="
+    "-s"
+    "-w"
+    "-X github.com/dundee/gdu/v${lib.versions.major version}/build.Version=${version}"
+  ];
+
+  postPatch = ''
+    substituteInPlace cmd/app/app_test.go --replace "development" "${version}"
+  '';
+
   postInstall = ''
     installManPage gdu.1
   '';
 
-  # tests fail if the version is set
-  doCheck = false;
+  doCheck = !(stdenv.isAarch64 || stdenv.isDarwin);
 
   meta = with lib; {
     description = "Disk usage analyzer with console interface";
diff --git a/pkgs/tools/system/gotop/default.nix b/pkgs/tools/system/gotop/default.nix
index 0c27e9e4e7139..1cc0ba8773997 100644
--- a/pkgs/tools/system/gotop/default.nix
+++ b/pkgs/tools/system/gotop/default.nix
@@ -2,17 +2,19 @@
 
 buildGoModule rec {
   pname = "gotop";
-  version = "4.1.0";
+  version = "4.1.1";
 
   src = fetchFromGitHub {
     owner = "xxxserxxx";
     repo = pname;
     rev = "v${version}";
-    sha256 = "09cs97fjjxcjxzsl2kh8j607cs5zy2hnrh1pb21pggzhg7dzsz0w";
+    sha256 = "sha256-3t6I4ah9gUmPlIBRL86BdgiUaMNiKNEeoUSRMASz1Yc=";
   };
 
   runVend = true;
-  vendorSha256 = "1mbjl7b49naaqkr2j658j17z9ryf5g3x6q34gvmrm7n9y082ggnz";
+  vendorSha256 = "sha256-GcIaUIuTiSY1aKxRtclfl7hMNaZZx4uoVG7ahjF/4Hs=";
+
+  buildFlagsArray = [ "-ldflags=-s -w -X main.Version=v${version}" ];
 
   preCheck = ''
     export HOME=$(mktemp -d)
diff --git a/pkgs/tools/system/gptfdisk/default.nix b/pkgs/tools/system/gptfdisk/default.nix
index b5f7c369dfdb0..b3b084fbe71cf 100644
--- a/pkgs/tools/system/gptfdisk/default.nix
+++ b/pkgs/tools/system/gptfdisk/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gptfdisk";
-  version = "1.0.5";
+  version = "1.0.6";
 
   src = fetchurl {
     # https://www.rodsbooks.com/gdisk/${name}.tar.gz also works, but the home
     # page clearly implies a preference for using SourceForge's bandwidth:
     url = "mirror://sourceforge/gptfdisk/${pname}-${version}.tar.gz";
-    sha256 = "0bybgp30pqxb6x5krxazkq4drca0gz4inxj89fpyr204rn3kjz8f";
+    sha256 = "sha256-3cVR1kOlPwvURANF064yxJsEp5fpwBA26kYLa7QWjKg=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/system/hwinfo/default.nix b/pkgs/tools/system/hwinfo/default.nix
index 925b60d54346e..9048aa966f789 100644
--- a/pkgs/tools/system/hwinfo/default.nix
+++ b/pkgs/tools/system/hwinfo/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hwinfo";
-  version = "21.71";
+  version = "21.72";
 
   src = fetchFromGitHub {
     owner = "opensuse";
     repo = "hwinfo";
     rev = version;
-    sha256 = "1g671fvkg6r30n9vwwlqpdd6yn6jf7n9ynjmslblk7kbnabzayby";
+    sha256 = "sha256-T/netiZqox+qa19wH+h8cbsGbiM+9VrSEIjccrPYqws=";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/system/inxi/default.nix b/pkgs/tools/system/inxi/default.nix
index 7f24be893bf19..1cceb5b009cc6 100644
--- a/pkgs/tools/system/inxi/default.nix
+++ b/pkgs/tools/system/inxi/default.nix
@@ -22,16 +22,17 @@ let
     ++ recommendedDisplayInformationPrograms;
 in stdenv.mkDerivation rec {
   pname = "inxi";
-  version = "3.3.00-1";
+  version = "3.3.01-1";
 
   src = fetchFromGitHub {
     owner = "smxi";
     repo = "inxi";
     rev = version;
-    sha256 = "sha256-P1AYo4Ao9lDxJXyZd64wBxNgQIvEcT00ThjtcB2v52I=";
+    sha256 = "sha256-wY9wsxBByxqy9qk/7UoKiUSpFGS1rFpdyTs3ig6OJRs=";
   };
 
-  buildInputs = [ perl makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ perl ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/tools/system/logcheck/default.nix b/pkgs/tools/system/logcheck/default.nix
index bdf2a4bcd3022..6fd66b40e15ee 100644
--- a/pkgs/tools/system/logcheck/default.nix
+++ b/pkgs/tools/system/logcheck/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "logcheck";
-  version = "1.3.20";
+  version = "1.3.22";
   _name    = "logcheck_${version}";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/l/logcheck/${_name}.tar.xz";
-    sha256 = "1rmkvxhcwr9gb6z4dlgr6rrx5l70hshlxdggs6qx0w1ljcmx1dlz";
+    sha256 = "sha256-e7XeRNlFsexlVskK2OnLTmNV/ES2xWU+/+AElexV6E4=";
   };
 
   prePatch = ''
diff --git a/pkgs/tools/system/logrotate/default.nix b/pkgs/tools/system/logrotate/default.nix
index 513b48c66304e..f8f3cabdb9c02 100644
--- a/pkgs/tools/system/logrotate/default.nix
+++ b/pkgs/tools/system/logrotate/default.nix
@@ -4,37 +4,31 @@
 
 stdenv.mkDerivation rec {
   pname = "logrotate";
-  version = "3.17.0";
+  version = "3.18.0";
 
   src = fetchFromGitHub {
     owner = "logrotate";
     repo = "logrotate";
     rev = version;
-    sha256 = "133k4y24p918v4dva6dh70bdfv13jvwl2vlhq0mybrs3ripvnh4h";
+    sha256 = "sha256-OFGXwaTabyuIgeC2ON68m83rzVxomk8QL6xwyrVV654=";
   };
 
   # Logrotate wants to access the 'mail' program; to be done.
-  patchPhase = ''
-    sed -i -e 's,[a-z/]\+gzip,${gzip}/bin/gzip,' \
-           -e 's,[a-z/]\+gunzip,${gzip}/bin/gunzip,' configure.ac
-
-    ${lib.optionalString (mailutils != null) ''
-    sed -i -e 's,[a-z/]\+mail,${mailutils}/bin/mail,' configure.ac
-    ''}
-  '';
-
-  autoreconfPhase = ''
-    ./autogen.sh
-  '';
+  configureFlags = [
+    "--with-compress-command=${gzip}/bin/gzip"
+    "--with-uncompress-command=${gzip}/bin/gunzip"
+  ] ++ lib.optionals (mailutils != null) [
+    "--with-default-mail-command=${mailutils}/bin/mail"
+  ];
 
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ popt ];
 
-  meta = {
+  meta = with lib; {
     homepage = "https://fedorahosted.org/releases/l/o/logrotate/";
     description = "Rotates and compresses system logs";
-    license = lib.licenses.gpl2Plus;
-    maintainers = [ lib.maintainers.viric ];
-    platforms = lib.platforms.all;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.viric ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/system/monit/default.nix b/pkgs/tools/system/monit/default.nix
index 3460020618fda..8a2a3406c3e88 100644
--- a/pkgs/tools/system/monit/default.nix
+++ b/pkgs/tools/system/monit/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     homepage = "http://mmonit.com/monit/";
     description = "Monitoring system";
     license = lib.licenses.agpl3;
-    maintainers = with lib.maintainers; [ raskin wmertens ];
+    maintainers = with lib.maintainers; [ raskin wmertens ryantm ];
     platforms = with lib.platforms; linux;
   };
 }
diff --git a/pkgs/tools/system/netdata/default.nix b/pkgs/tools/system/netdata/default.nix
index 44c5e42a49063..bd360a242610a 100644
--- a/pkgs/tools/system/netdata/default.nix
+++ b/pkgs/tools/system/netdata/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, callPackage, fetchFromGitHub, autoreconfHook, pkg-config
 , CoreFoundation, IOKit, libossp_uuid
-, curl, libcap,  libuuid, lm_sensors, zlib, fetchpatch
+, curl, libcap,  libuuid, lm_sensors, zlib
 , nixosTests
 , withCups ? false, cups
 , withDBengine ? true, libuv, lz4, judy
@@ -15,14 +15,14 @@ with lib;
 let
   go-d-plugin = callPackage ./go.d.plugin.nix {};
 in stdenv.mkDerivation rec {
-  version = "1.28.0";
+  version = "1.29.3";
   pname = "netdata";
 
   src = fetchFromGitHub {
     owner = "netdata";
     repo = "netdata";
     rev = "v${version}";
-    sha256 = "1266jbfw55r1zh00xi6c90j2fs9hw8hmsb7686rh04l8mffny9f4";
+    sha256 = "sha256-GWIQZEC5agJ+Zw7l58IIAJhXP6dxirCmWVBJulzBO5Q=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
@@ -36,6 +36,8 @@ in stdenv.mkDerivation rec {
     ++ optionals withSsl [ openssl.dev ];
 
   patches = [
+    # required to prevent plugins from relying on /etc
+    # and /var
     ./no-files-in-etc-and-var.patch
   ];
 
@@ -77,7 +79,7 @@ in stdenv.mkDerivation rec {
   meta = {
     description = "Real-time performance monitoring tool";
     homepage = "https://www.netdata.cloud/";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     platforms = platforms.unix;
     maintainers = [ maintainers.lethalman ];
   };
diff --git a/pkgs/tools/system/pciutils/default.nix b/pkgs/tools/system/pciutils/default.nix
index a89de032abd79..8c017c42d7a38 100644
--- a/pkgs/tools/system/pciutils/default.nix
+++ b/pkgs/tools/system/pciutils/default.nix
@@ -1,6 +1,7 @@
 { lib, stdenv, fetchurl, pkg-config, zlib, kmod, which
+, hwdata
 , static ? stdenv.hostPlatform.isStatic
-, darwin ? null
+, IOKit
 }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ zlib kmod which ] ++
-    lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.IOKit;
+    lib.optional stdenv.hostPlatform.isDarwin IOKit;
 
   preConfigure = if stdenv.cc.isGNU then null else ''
     substituteInPlace Makefile --replace 'CC=$(CROSS_COMPILE)gcc' ""
@@ -30,8 +31,15 @@ stdenv.mkDerivation rec {
 
   installTargets = [ "install" "install-lib" ];
 
-  # Get rid of update-pciids as it won't work.
-  postInstall = "rm $out/sbin/update-pciids $out/man/man8/update-pciids.8";
+  postInstall = ''
+    # Remove update-pciids as it won't work on nixos
+    rm $out/sbin/update-pciids $out/man/man8/update-pciids.8
+
+    # use database from hwdata instead
+    # (we don't create a symbolic link because we do not want to pull in the
+    # full closure of hwdata)
+    cp --reflink=auto ${hwdata}/share/hwdata/pci.ids $out/share/pci.ids
+  '';
 
   meta = with lib; {
     homepage = "http://mj.ucw.cz/pciutils.html";
diff --git a/pkgs/tools/system/rofi-systemd/default.nix b/pkgs/tools/system/rofi-systemd/default.nix
index 4a2e14edc91fa..f64a84c550958 100644
--- a/pkgs/tools/system/rofi-systemd/default.nix
+++ b/pkgs/tools/system/rofi-systemd/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "0lgffb6rk1kf91j4j303lzpx8w2g9zy2gk99p8g8pk62a30c5asm";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   dontBuild = true;
 
diff --git a/pkgs/tools/system/sleuthkit/default.nix b/pkgs/tools/system/sleuthkit/default.nix
index ae4ee9efa6e55..cf88dc846fb18 100644
--- a/pkgs/tools/system/sleuthkit/default.nix
+++ b/pkgs/tools/system/sleuthkit/default.nix
@@ -1,18 +1,18 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, libewf, afflib, openssl, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "4.6.5";
+  version = "4.10.1";
   pname = "sleuthkit";
 
   src = fetchFromGitHub {
     owner = "sleuthkit";
     repo = "sleuthkit";
     rev = "${pname}-${version}";
-    sha256 = "1q1cdixnfv9v4qlzza8xwdsyvq1vdw6gjgkd41yc1d57ldp1qm0c";
+    sha256 = "142kkpkpawpqyc88pr6xdvlagw6djaah1schyjxq9qdq9cnqx0dw";
   };
 
   postPatch = ''
-    substituteInPlace tsk/img/ewf.c --replace libewf_handle_read_random libewf_handle_read_buffer_at_offset
+    substituteInPlace tsk/img/ewf.cpp --replace libewf_handle_read_random libewf_handle_read_buffer_at_offset
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/system/smartmontools/default.nix b/pkgs/tools/system/smartmontools/default.nix
index 9eaf00b537a30..8d0539d118f3a 100644
--- a/pkgs/tools/system/smartmontools/default.nix
+++ b/pkgs/tools/system/smartmontools/default.nix
@@ -1,15 +1,16 @@
 { lib, stdenv, fetchurl, autoreconfHook
-, mailutils, inetutils
+, mailutils, enableMail ? true
+, inetutils
 , IOKit, ApplicationServices }:
 
 let
   version = "7.2";
 
-  dbrev = "5164";
+  dbrev = "5171";
   drivedbBranch = "RELEASE_7_2_DRIVEDB";
   driverdb = fetchurl {
     url    = "https://sourceforge.net/p/smartmontools/code/${dbrev}/tree/branches/${drivedbBranch}/smartmontools/drivedb.h?format=raw";
-    sha256 = "1vj0sv3bgcd0lwk5x450brfyxksa5fn1mjgvmj994ab8spmicc43";
+    sha256 = "0vncr98xagbcfsxgfgxsip2qrl9q3y8va19qhv6yknlwbdfap4mn";
     name   = "smartmontools-drivedb.h";
   };
 
@@ -26,7 +27,7 @@ in stdenv.mkDerivation rec {
   postPatch = "cp -v ${driverdb} drivedb.h";
 
   configureFlags = [
-    "--with-scriptpath=${lib.makeBinPath [ mailutils inetutils ]}"
+    "--with-scriptpath=${lib.makeBinPath ([ inetutils ] ++ lib.optional enableMail mailutils)}"
   ];
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/tools/system/stressapptest/default.nix b/pkgs/tools/system/stressapptest/default.nix
new file mode 100644
index 0000000000000..9b7eb0a6f3e2b
--- /dev/null
+++ b/pkgs/tools/system/stressapptest/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, libaio
+}:
+
+stdenv.mkDerivation rec {
+  pname = "stressapptest";
+  version = "1.0.9";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1qzj6h6adx042rb9aiz916jna269whibvj5ys4p5nwdp17fqh922";
+  };
+
+  buildInputs = [ libaio ];
+
+  meta = with lib; {
+    description = "Userspace memory and IO stress test tool";
+    homepage = "https://github.com/stressapptest/stressapptest";
+    license = with licenses; [ asl20 ];
+    maintainers = with lib.maintainers; [ fab ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/system/thinkfan/default.nix b/pkgs/tools/system/thinkfan/default.nix
index c9af119fb7378..97c61d2da0e73 100644
--- a/pkgs/tools/system/thinkfan/default.nix
+++ b/pkgs/tools/system/thinkfan/default.nix
@@ -1,5 +1,13 @@
-{ lib, stdenv, fetchFromGitHub, cmake, libyamlcpp, pkg-config
-, smartSupport ? false, libatasmart }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, libyamlcpp
+, pkg-config
+, procps
+, coreutils
+, smartSupport ? false, libatasmart
+}:
 
 stdenv.mkDerivation rec {
   pname = "thinkfan";
@@ -12,36 +20,40 @@ stdenv.mkDerivation rec {
     sha256 = "18vgm5w5pjnpipa34j4x87q10695w2jnqwvc2f027afy7mnzw7kz";
   };
 
+  postPatch = ''
+    # fix hardcoded install path
+    substituteInPlace CMakeLists.txt --replace /etc $out/etc
+
+    # fix command paths in unit files
+    for unit in rcscripts/systemd/*; do
+      substituteInPlace "$unit" \
+        --replace /bin/kill ${procps}/bin/kill \
+        --replace /usr/bin/pkill ${procps}/bin/pkill \
+        --replace /usr/bin/sleep ${coreutils}/bin/sleep
+    done
+  '';
+
   cmakeFlags = [
     "-DCMAKE_INSTALL_DOCDIR=share/doc/${pname}"
     "-DUSE_NVML=OFF"
+    # force install unit files
+    "-DSYSTEMD_FOUND=ON"
   ] ++ lib.optional smartSupport "-DUSE_ATASMART=ON";
 
   nativeBuildInputs = [ cmake pkg-config ];
 
   buildInputs = [ libyamlcpp ] ++ lib.optional smartSupport libatasmart;
 
-  installPhase = ''
-    runHook preInstall
-
-    install -Dm755 {.,$out/bin}/thinkfan
-
-    cd "$NIX_BUILD_TOP"; cd "$sourceRoot" # attempt to be a bit robust
-    install -Dm644 {.,$out/share/doc/thinkfan}/README.md
-    cp -R examples $out/share/doc/thinkfan
-    install -Dm644 {src,$out/share/man/man1}/thinkfan.1
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    description  = "A minimalist fan control program";
-    longDescription = "A minimalist fan control program. Originally designed
-specifically for IBM/Lenovo Thinkpads, it now supports any kind of system via
-the sysfs hwmon interface (/sys/class/hwmon).";
-    license = licenses.gpl3;
+  meta = {
+    description = "A simple, lightweight fan control program";
+    longDescription = ''
+      Thinkfan is a minimalist fan control program. Originally designed
+      specifically for IBM/Lenovo Thinkpads, it now supports any kind of
+      system via the sysfs hwmon interface (/sys/class/hwmon).
+    '';
+    license = lib.licenses.gpl3Plus;
     homepage = "https://github.com/vmatare/thinkfan";
-    maintainers = with maintainers; [ domenkozar ];
-    platforms = platforms.linux;
+    maintainers = with lib.maintainers; [ domenkozar rnhmjoj ];
+    platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/system/tre-command/default.nix b/pkgs/tools/system/tre-command/default.nix
index 638caa3c62bc7..f9e0e80478d65 100644
--- a/pkgs/tools/system/tre-command/default.nix
+++ b/pkgs/tools/system/tre-command/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tre-command";
-  version = "0.3.3";
+  version = "0.3.4";
 
   src = fetchFromGitHub {
     owner = "dduan";
     repo = "tre";
     rev = "v${version}";
-    sha256 = "10c8mpqzpw7m3vrm2vl2rx678z3c37hxpqyh3fn83dlh9f4f0j87";
+    sha256 = "0syvhpnw9c5csxv8c4gdfwif9a9vl4rjkwj4mfglgxk227k1y53q";
   };
 
-  cargoSha256 = "0jd6cfs2zi2n34kirpsy12l76whaqwm1pkqa57w1ms5z658z07wj";
+  cargoSha256 = "056wlxz8hzky8315rnn65nh7dd2yhx5323y3hq64g6aqj52vd734";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/system/tuptime/default.nix b/pkgs/tools/system/tuptime/default.nix
index 92878c5386bcc..0d3b6f4d6b82f 100644
--- a/pkgs/tools/system/tuptime/default.nix
+++ b/pkgs/tools/system/tuptime/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tuptime";
-  version = "5.0.1";
+  version = "5.0.2";
 
   src = fetchFromGitHub {
     owner = "rfrail3";
     repo = "tuptime";
     rev = version;
-    sha256 = "0nk3yyjavgmc435vj3f0siw4y5nwipsbcsvsf5m7mgvq0xi8f3ls";
+    sha256 = "sha256-2Q1czKvwdVq+2+64k4SOghw05CUlT5HdZpvKMRbGdDY=";
   };
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
diff --git a/pkgs/tools/text/ansifilter/default.nix b/pkgs/tools/text/ansifilter/default.nix
index 5b03f6e89a6a5..97b06b9a0c7e6 100644
--- a/pkgs/tools/text/ansifilter/default.nix
+++ b/pkgs/tools/text/ansifilter/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ansifilter";
-  version = "2.17";
+  version = "2.18";
 
   src = fetchurl {
     url = "http://www.andre-simon.de/zip/ansifilter-${version}.tar.bz2";
-    sha256 = "0by4rhy30l7jgxvq6mwf8p43s1472q96l3g7n2skq2lnkjrvx1ar";
+    sha256 = "sha256-Zs8BfTakPV9q4gYJzjtYZHSU7mwOQfxoLFmL/859fTk=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/tools/text/boxes/default.nix b/pkgs/tools/text/boxes/default.nix
index 3c58eda650183..f39349b2fbf09 100644
--- a/pkgs/tools/text/boxes/default.nix
+++ b/pkgs/tools/text/boxes/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
                 "GLOBALCONF=${placeholder "out"}/share/boxes/boxes-config"
   '';
 
-  makeFlags = lib.optionals stdenv.isDarwin [ "CC=cc" ];
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
   installPhase = ''
     install -Dm755 -t $out/bin src/boxes
diff --git a/pkgs/tools/text/colordiff/default.nix b/pkgs/tools/text/colordiff/default.nix
index 04d41b74db0f1..364d3c6edc459 100644
--- a/pkgs/tools/text/colordiff/default.nix
+++ b/pkgs/tools/text/colordiff/default.nix
@@ -1,26 +1,36 @@
-{ lib, stdenv, fetchurl, perl /*, xmlto */}:
+{ lib, stdenv, fetchFromGitHub, docbook_xml_dtd_412, docbook_xsl, perl, w3m, xmlto }:
 
 stdenv.mkDerivation rec {
-  name = "colordiff-1.0.19";
+  pname = "colordiff";
+  version = "1.0.19";
 
-  src = fetchurl {
-    urls = [
-      "https://www.colordiff.org/${name}.tar.gz"
-      "http://www.colordiff.org/archive/${name}.tar.gz"
-    ];
-    sha256 = "069vzzgs7b44bmfh3ks2psrdb26s1w19gp9w4xxbgi7nhx6w3s26";
+  src = fetchFromGitHub {
+    owner = "daveewart";
+    repo = "colordiff";
+    rev = "v${version}";
+    sha256 = "1v7s1yn0qvn08iwm5js8mxn442392qyr7s9ij506byfd497ag7qk";
   };
 
-  buildInputs = [ perl /* xmlto */ ];
+  nativeBuildInputs = [ docbook_xml_dtd_412 docbook_xsl perl w3m xmlto ];
 
-  dontBuild = 1; # do not build doc yet.
+  buildInputs = [ perl ];
 
-  installPhase = ''make INSTALL_DIR=/bin MAN_DIR=/share/man/man1 DESTDIR="$out" install'';
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace 'TMPDIR=colordiff-''${VERSION}' ""
+  '';
+
+  installFlags = [
+    "INSTALL_DIR=/bin"
+    "MAN_DIR=/share/man/man1"
+    "DESTDIR=${placeholder "out"}"
+  ];
 
   meta = with lib; {
     description = "Wrapper for 'diff' that produces the same output but with pretty 'syntax' highlighting";
     homepage = "https://www.colordiff.org/";
-    license = licenses.gpl3;
-    platforms = platforms.linux ++ platforms.darwin;
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/text/each/default.nix b/pkgs/tools/text/each/default.nix
new file mode 100644
index 0000000000000..a1d14ed21108d
--- /dev/null
+++ b/pkgs/tools/text/each/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "each";
+  version = "0.1.3";
+
+  src = fetchFromGitHub {
+    owner = "arraypad";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "04rx8jf871l4darfx6029dhpnbpmzwjgzazayp1qcaadsk8207z5";
+  };
+
+  cargoSha256 = "1rcmymjff9sc0dv4zplklivfws14wqx6q4ky47arg6jkj3dyprp8";
+
+  meta = with lib; {
+    description = " A better way of working with structured data on the command line";
+    homepage = "https://github.com/arraypad/each";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ thiagokokada ];
+  };
+}
diff --git a/pkgs/tools/text/gnused/default.nix b/pkgs/tools/text/gnused/default.nix
index 9115efa22dd32..23b2794bf13f8 100644
--- a/pkgs/tools/text/gnused/default.nix
+++ b/pkgs/tools/text/gnused/default.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3Plus;
 
     platforms = lib.platforms.unix;
-    maintainers = [ ];
+    maintainers = with lib.maintainers; [ mic92 ];
   };
 }
diff --git a/pkgs/tools/text/jsawk/default.nix b/pkgs/tools/text/jsawk/default.nix
index e700d7c486e52..951f236d04a5d 100644
--- a/pkgs/tools/text/jsawk/default.nix
+++ b/pkgs/tools/text/jsawk/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
     sha256 = "0z3vdr3c8nvdrrxkjv9b4xg47mdb2hsknxpimw6shgwbigihapyr";
   };
   dontBuild = true;
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
   installPhase = ''
     mkdir -p $out/bin
     cp $src/jsawk $out/bin/
diff --git a/pkgs/tools/text/ledger2beancount/default.nix b/pkgs/tools/text/ledger2beancount/default.nix
index fe2078222d2ea..b3f48085d1db6 100644
--- a/pkgs/tools/text/ledger2beancount/default.nix
+++ b/pkgs/tools/text/ledger2beancount/default.nix
@@ -4,21 +4,26 @@ with lib;
 
 let
   perlDeps = with perlPackages; [
-    ConfigOnion DateCalc
-    FileBaseDir YAMLLibYAML
-    GetoptLongDescriptive DateTimeFormatStrptime
+    DateCalc
+    DateTimeFormatStrptime
+    enum
+    FileBaseDir
+    GetoptLongDescriptive
+    ListMoreUtils
+    RegexpCommon
     StringInterpolate
+    YAMLLibYAML
   ];
 
 in stdenv.mkDerivation rec {
   pname = "ledger2beancount";
-  version = "2.1";
+  version = "2.5";
 
   src = fetchFromGitHub {
-    owner = "zacchiro";
+    owner = "beancount";
     repo = "ledger2beancount";
     rev = version;
-    sha256 = "0w88jb1x0w02jwwf6ipx3cxr89kzffrrdqws3556zrvvs01bh84j";
+    sha256 = "0kimp8l9ax37grfv5r5iw0g0xnrpkak022fl10y3i7kc4nyi1s99";
   };
 
   phases = [
@@ -50,7 +55,7 @@ in stdenv.mkDerivation rec {
 
       Conversion is based on (concrete) syntax, so that information that is not meaningful for accounting reasons but still valuable (e.g., comments, formatting, etc.) can be preserved.
     '';
-    homepage = "https://github.com/zacchiro/ledger2beancount";
+    homepage = "https://github.com/beancount/ledger2beancount";
     license = licenses.gpl3Plus;
     platforms = platforms.all;
     maintainers = with maintainers; [ pablovsky ];
diff --git a/pkgs/tools/text/mark/default.nix b/pkgs/tools/text/mark/default.nix
index 36ca24ebf3e9e..5989750ea952c 100644
--- a/pkgs/tools/text/mark/default.nix
+++ b/pkgs/tools/text/mark/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "mark";
-  version = "3.5";
+  version = "5.2.1";
 
   src = fetchFromGitHub {
     owner  = "kovetskiy";
     repo   = "mark";
     rev    = version;
-    sha256 = "0za4n2caqr3gflfxr1hdd328g7r52h7x0ws7r9mjvdnmwjgc0b2b";
+    sha256 = "sha256-eRKUoRr0FPVNUZV5WenA7GlpYPAVRNKe0uRxOzFjhVE=";
   };
 
-  vendorSha256 = "1hvizcg5b3y2qgjiw77rb795xz9w1dzr3b8q2ji48ihll27g9f0m";
+  vendorSha256 = "sha256-l6zHsis2fais5HQJQdfsSC0sPdcF4BeWoUznpl3Fh1g=";
 
   buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
 
diff --git a/pkgs/tools/text/markdown-pp/default.nix b/pkgs/tools/text/markdown-pp/default.nix
index 50ef560f6c3f7..c6e937eab2754 100644
--- a/pkgs/tools/text/markdown-pp/default.nix
+++ b/pkgs/tools/text/markdown-pp/default.nix
@@ -1,13 +1,15 @@
-{ fetchFromGitHub, pythonPackages, lib }:
+{ lib
+, fetchFromGitHub
+, python3
+}:
 
-with pythonPackages;
-buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "MarkdownPP";
   version = "1.5.1";
-  propagatedBuildInputs = [ pillow watchdog ];
+  propagatedBuildInputs = with python3.pkgs; [ pillow watchdog ];
   checkPhase = ''
     cd test
-    PATH=$out/bin:$PATH ${python}/bin/${python.executable} test.py
+    PATH=$out/bin:$PATH ${python3}/bin/${python3.executable} test.py
   '';
   src = fetchFromGitHub {
     owner = "jreese";
diff --git a/pkgs/tools/text/mdbook/default.nix b/pkgs/tools/text/mdbook/default.nix
index 98fb6e69be51f..838cdf075bd92 100644
--- a/pkgs/tools/text/mdbook/default.nix
+++ b/pkgs/tools/text/mdbook/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook";
-  version = "0.4.6";
+  version = "0.4.7";
 
   src = fetchFromGitHub {
     owner = "rust-lang-nursery";
     repo = "mdBook";
     rev = "v${version}";
-    sha256 = "sha256-cS2fME3X8bFmEz6czoL+2ZFbflJP58+lIeC5SVleCNg=";
+    sha256 = "sha256-51S4I1YIbdgXkhuT7KnhJe71nGCQmr9JmuGtp7Bcxqo=";
   };
 
-  cargoSha256 = "sha256-iuJyprLp6HofcdH0NgNK2Vl+1FtdAvZPcltPUb5B2XU=";
+  cargoSha256 = "sha256-2kBJcImytsSd7Q0kj1bsP/NXxyy2Pr8gHb8iNf6h3/4=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/pkgs/tools/text/ocrmypdf/0001-Make-compatible-with-pdfminer.six-version-20200720.patch b/pkgs/tools/text/ocrmypdf/0001-Make-compatible-with-pdfminer.six-version-20200720.patch
deleted file mode 100644
index 967bcd3948c2b..0000000000000
--- a/pkgs/tools/text/ocrmypdf/0001-Make-compatible-with-pdfminer.six-version-20200720.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 4315b58e0bffedd145cec61f96062292cd98278e Mon Sep 17 00:00:00 2001
-From: Pascal Bach <pascal.bach@nextrem.ch>
-Date: Thu, 23 Jul 2020 21:37:33 +0200
-Subject: [PATCH] Make compatible with pdfminer.six version 20200720
-
----
- setup.py                       | 2 +-
- src/ocrmypdf/pdfinfo/layout.py | 8 ++++++--
- 2 files changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index bd95ed9..d1f4ab1 100644
---- a/setup.py
-+++ b/setup.py
-@@ -83,7 +83,7 @@ setup(
-         'cffi >= 1.9.1',  # must be a setup and install requirement
-         'coloredlogs >= 14.0',  # strictly optional
-         'img2pdf >= 0.3.0, < 0.4',  # pure Python, so track HEAD closely
--        'pdfminer.six >= 20191110, <= 20200517',
-+        'pdfminer.six >= 20191110, <= 20200720',
-         'pikepdf >= 1.14.0, < 2',
-         'Pillow >= 7.0.0',
-         'pluggy >= 0.13.0',
-diff --git a/src/ocrmypdf/pdfinfo/layout.py b/src/ocrmypdf/pdfinfo/layout.py
-index 98bd82e..8b41e14 100644
---- a/src/ocrmypdf/pdfinfo/layout.py
-+++ b/src/ocrmypdf/pdfinfo/layout.py
-@@ -26,7 +26,11 @@ import pdfminer.pdfdevice
- import pdfminer.pdfinterp
- from pdfminer.converter import PDFLayoutAnalyzer
- from pdfminer.layout import LAParams, LTChar, LTPage, LTTextBox
--from pdfminer.pdfdocument import PDFTextExtractionNotAllowed
-+try:
-+    from pdfminer.pdfdocument import PDFTextExtractionNotAllowedError
-+except ImportError:
-+    # Fallback for pdfminer < 20200720
-+    from pdfminer.pdfdocument import PDFTextExtractionNotAllowed as PDFTextExtractionNotAllowedError
- from pdfminer.pdffont import PDFSimpleFont, PDFUnicodeNotDefined
- from pdfminer.pdfpage import PDFPage
- from pdfminer.utils import bbox2str, matrix2str
-@@ -239,7 +243,7 @@ def get_page_analysis(infile, pageno, pscript5_mode):
-         with Path(infile).open('rb') as f:
-             page = PDFPage.get_pages(f, pagenos=[pageno], maxpages=0)
-             interp.process_page(next(page))
--    except PDFTextExtractionNotAllowed:
-+    except PDFTextExtractionNotAllowedError:
-         raise EncryptedPdfError()
-     finally:
-         if pscript5_mode:
--- 
-2.27.0
-
diff --git a/pkgs/tools/text/ocrmypdf/default.nix b/pkgs/tools/text/ocrmypdf/default.nix
index f68e15581398e..6843e945fd90e 100644
--- a/pkgs/tools/text/ocrmypdf/default.nix
+++ b/pkgs/tools/text/ocrmypdf/default.nix
@@ -7,7 +7,8 @@
 , python3
 , python3Packages
 , qpdf
-, lib, stdenv
+, lib
+, stdenv
 , tesseract4
 , unpaper
 , substituteAll
@@ -29,18 +30,17 @@ let
 in
 buildPythonApplication rec {
   pname = "ocrmypdf";
-  version = "11.3.3";
+  version = "11.6.0";
   disabled = ! python3Packages.isPy3k;
 
   src = fetchFromGitHub {
     owner = "jbarlow83";
     repo = "OCRmyPDF";
     rev = "v${version}";
-    sha256 = "0qv34clid65p11dgqalyk7b7myn5ibiz8i9xxhxkmjblw297p6ak";
+    sha256 = "0inmmpam0vcm5n4sm6lh9p5swk44clknvm1cdwk9cax01mdqljza";
   };
 
   nativeBuildInputs = with python3Packages; [
-    pytestrunner
     setuptools
     setuptools-scm-git-archive
     setuptools_scm
@@ -65,8 +65,7 @@ buildPythonApplication rec {
     pytest
     pytest-helpers-namespace
     pytest_xdist
-    pytestcov
-    pytestrunner
+    pytest-cov
     python-xmp-toolkit
     pytestCheckHook
   ] ++ runtimeDeps;
@@ -83,7 +82,7 @@ buildPythonApplication rec {
   meta = with lib; {
     homepage = "https://github.com/jbarlow83/OCRmyPDF";
     description = "Adds an OCR text layer to scanned PDF files, allowing them to be searched";
-    license = licenses.gpl3;
+    license = with licenses; [ mpl20 mit ];
     platforms = platforms.linux;
     maintainers = [ maintainers.kiwi ];
   };
diff --git a/pkgs/tools/text/podiff/default.nix b/pkgs/tools/text/podiff/default.nix
index b44003a9f0dfb..8db0085a70e76 100644
--- a/pkgs/tools/text/podiff/default.nix
+++ b/pkgs/tools/text/podiff/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation {
   pname = "podiff";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchurl {
-    url = "ftp://download.gnu.org.ua/pub/release/podiff/podiff-1.2.tar.gz";
-    sha256 = "1l2b4hh53xlx28riigwarzkhxpv1pcz059xj1ka33ccvxc6c20k9";
+    url = "ftp://download.gnu.org.ua/pub/release/podiff/podiff-1.3.tar.gz";
+    sha256 = "sha256-7fpix+GkXsfpRgnkHtk1iXF6ILHri7BtUhNPK6sDQFA=";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/text/popfile/default.nix b/pkgs/tools/text/popfile/default.nix
index ef945235a9040..e2f5952077f31 100644
--- a/pkgs/tools/text/popfile/default.nix
+++ b/pkgs/tools/text/popfile/default.nix
@@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
     stripRoot = false;
   };
 
-  buildInputs = [ makeWrapper ] ++ (with perlPackages; [
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = (with perlPackages; [
     ## These are all taken from the popfile documentation as applicable to Linux
     ## http://getpopfile.org/docs/howtos:allplatformsrequireperl
     perl
diff --git a/pkgs/tools/text/reckon/Gemfile.lock b/pkgs/tools/text/reckon/Gemfile.lock
index 6c3ce51c6ac2e..b1bfe4aaa8bdd 100644
--- a/pkgs/tools/text/reckon/Gemfile.lock
+++ b/pkgs/tools/text/reckon/Gemfile.lock
@@ -4,7 +4,7 @@ GEM
     chronic (0.10.2)
     highline (2.0.3)
     rchardet (1.8.0)
-    reckon (0.6.0)
+    reckon (0.7.1)
       chronic (>= 0.3.0)
       highline (>= 1.5.2)
       rchardet (>= 1.8.0)
@@ -16,4 +16,4 @@ DEPENDENCIES
   reckon
 
 BUNDLED WITH
-   2.1.4
+   1.17.2
diff --git a/pkgs/tools/text/reckon/default.nix b/pkgs/tools/text/reckon/default.nix
index 261149229b646..b37928fc7c5b2 100644
--- a/pkgs/tools/text/reckon/default.nix
+++ b/pkgs/tools/text/reckon/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   phases = [ "installPhase" ];
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = let
     env = bundlerEnv {
@@ -15,8 +15,10 @@ stdenv.mkDerivation rec {
       gemdir = ./.;
     };
   in ''
+    runHook preInstall
     mkdir -p $out/bin
     makeWrapper ${env}/bin/reckon $out/bin/reckon
+    runHook postInstall
   '';
 
   passthru.updateScript = bundlerUpdateScript "reckon";
diff --git a/pkgs/tools/text/reckon/gemset.nix b/pkgs/tools/text/reckon/gemset.nix
index 50802ccd805bd..09a4e704d08e9 100644
--- a/pkgs/tools/text/reckon/gemset.nix
+++ b/pkgs/tools/text/reckon/gemset.nix
@@ -1,5 +1,7 @@
 {
   chronic = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1hrdkn4g8x7dlzxwb1rfgr8kw3bp4ywg5l4y4i9c2g5cwv62yvvn";
@@ -11,7 +13,7 @@
     groups = ["default"];
     platforms = [];
     source = {
-      remotes = ["http://rubygems.org"];
+      remotes = ["https://rubygems.org"];
       sha256 = "0yclf57n2j3cw8144ania99h1zinf8q3f5zrhqa754j6gl95rp9d";
       type = "gem";
     };
@@ -21,7 +23,7 @@
     groups = ["default"];
     platforms = [];
     source = {
-      remotes = ["http://rubygems.org"];
+      remotes = ["https://rubygems.org"];
       sha256 = "1isj1b3ywgg2m1vdlnr41lpvpm3dbyarf1lla4dfibfmad9csfk9";
       type = "gem";
     };
@@ -33,9 +35,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zkbmwx5bp2dr54bwhkn831918ijwh022rq45qg38wz2skih7izp";
+      sha256 = "0hsmzjxj1f5ma816gag1b3bdjbynhj2szgar955fcs3gbbzv4sk7";
       type = "gem";
     };
-    version = "0.6.0";
+    version = "0.7.1";
   };
 }
diff --git a/pkgs/tools/text/ripgrep/default.nix b/pkgs/tools/text/ripgrep/default.nix
index 61e534fa732bd..8c9eef9cc3dd1 100644
--- a/pkgs/tools/text/ripgrep/default.nix
+++ b/pkgs/tools/text/ripgrep/default.nix
@@ -1,9 +1,9 @@
 { lib, stdenv
-, nixosTests
 , fetchFromGitHub
 , rustPlatform
 , asciidoctor
 , installShellFiles
+, pkg-config
 , Security
 , withPCRE2 ? true
 , pcre2 ? null
@@ -24,9 +24,10 @@ rustPlatform.buildRustPackage rec {
 
   cargoBuildFlags = lib.optional withPCRE2 "--features pcre2";
 
-  nativeBuildInputs = [ asciidoctor installShellFiles ];
+  nativeBuildInputs = [ asciidoctor installShellFiles ]
+    ++ lib.optional withPCRE2 pkg-config;
   buildInputs = (lib.optional withPCRE2 pcre2)
-  ++ (lib.optional stdenv.isDarwin Security);
+    ++ (lib.optional stdenv.isDarwin Security);
 
   preFixup = ''
     installManPage $releaseDir/build/ripgrep-*/out/rg.1
@@ -35,7 +36,15 @@ rustPlatform.buildRustPackage rec {
     installShellCompletion --zsh complete/_rg
   '';
 
-  passthru.tests = { inherit (nixosTests) ripgrep; };
+  doInstallCheck = true;
+  installCheckPhase = ''
+    file="$(mktemp)"
+    echo "abc\nbcd\ncde" > "$file"
+    $out/bin/rg -N 'bcd' "$file"
+    $out/bin/rg -N 'cd' "$file"
+  '' + lib.optionalString withPCRE2 ''
+    echo '(a(aa)aa)' | $out/bin/rg -P '\((a*|(?R))*\)'
+  '';
 
   meta = with lib; {
     description = "A utility that combines the usability of The Silver Searcher with the raw speed of grep";
diff --git a/pkgs/tools/text/robodoc/default.nix b/pkgs/tools/text/robodoc/default.nix
new file mode 100644
index 0000000000000..e30e8739797a3
--- /dev/null
+++ b/pkgs/tools/text/robodoc/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "robodoc";
+  version = "4.99.44";
+
+  src = fetchFromGitHub {
+    owner = "gumpu";
+    repo = "ROBODoc";
+    rev = "v${version}";
+    sha256 = "l3prSdaGhOvXmZfCPbsZJNocO7y20zJjLQpajRTJOqE=";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  hardeningDisable = [ "format" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/gumpu/ROBODoc";
+    description = "Documentation Extraction Tool";
+    longDescription = ''
+      ROBODoc is program documentation tool. The idea is to include for every
+      function or procedure a standard header containing all sorts of
+      information about the procedure or function. ROBODoc extracts these
+      headers from the source file and puts them in a separate
+      autodocs-file. ROBODoc thus allows you to include the program
+      documentation in the source code and avoid having to maintain two separate
+      documents. Or as Petteri puts it: "robodoc is very useful - especially for
+      programmers who don't like writing documents with Word or some other
+      strange tool."
+
+      ROBODoc can format the headers in a number of different formats: HTML,
+      RTF, LaTeX, or XML DocBook. In HTML mode it can generate cross links
+      between headers. You can even include parts of your source code.
+
+      ROBODoc works with many programming languages: For instance C, Pascal,
+      Shell Scripts, Assembler, COBOL, Occam, Postscript, Forth, Tcl/Tk, C++,
+      Java -- basically any program in which you can use remarks/comments.
+    '';
+    license = with licenses; gpl3Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = with platforms; all;
+  };
+}
diff --git a/pkgs/tools/text/rst2html5/default.nix b/pkgs/tools/text/rst2html5/default.nix
index 6f484bed8bcfe..c9e8b04698694 100644
--- a/pkgs/tools/text/rst2html5/default.nix
+++ b/pkgs/tools/text/rst2html5/default.nix
@@ -3,12 +3,12 @@
 let
   pname = "rst2html5";
   version = "1.10.6";
-in python3Packages.buildPythonPackage {
-  inherit pname version;
   format = "wheel";
+in python3Packages.buildPythonPackage {
+  inherit pname version format;
 
   src = python3Packages.fetchPypi {
-    inherit pname version;
+    inherit pname version format;
     sha256 = "sha256-jmToDFLQODqgTycBp2J8LyoJ1Zxho9w1VdhFMzvDFkg=";
   };
 
diff --git a/pkgs/tools/text/source-highlight/default.nix b/pkgs/tools/text/source-highlight/default.nix
index 2e60d2a31c0c0..6e1a7b24b5942 100644
--- a/pkgs/tools/text/source-highlight/default.nix
+++ b/pkgs/tools/text/source-highlight/default.nix
@@ -1,14 +1,11 @@
 { lib, stdenv, fetchurl, boost }:
 
-let
-  name = "source-highlight";
+stdenv.mkDerivation rec {
+  pname = "source-highlight";
   version = "3.1.9";
-in
-stdenv.mkDerivation {
-  name = "${name}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnu/src-highlite/${name}-${version}.tar.gz";
+    url = "mirror://gnu/src-highlite/${pname}-${version}.tar.gz";
     sha256 = "148w47k3zswbxvhg83z38ifi85f9dqcpg7icvvw1cm6bg21x4zrs";
   };
 
@@ -26,15 +23,17 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = false;
 
-  meta = {
+  outputs = [ "out" "doc" "dev" ];
+
+  meta = with lib; {
     description = "Source code renderer with syntax highlighting";
+    longDescription = ''
+      GNU Source-highlight, given a source file, produces a document
+      with syntax highlighting.
+    '';
     homepage = "https://www.gnu.org/software/src-highlite/";
-    license = lib.licenses.gpl3Plus;
-    platforms = with lib.platforms; linux ++ darwin;
-    longDescription =
-      ''
-        GNU Source-highlight, given a source file, produces a document
-        with syntax highlighting.
-      '';
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/text/ugrep/default.nix b/pkgs/tools/text/ugrep/default.nix
index 83cb0e4638803..5806723a043e7 100644
--- a/pkgs/tools/text/ugrep/default.nix
+++ b/pkgs/tools/text/ugrep/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ugrep";
-  version = "3.1.0";
+  version = "3.1.7";
 
   src = fetchFromGitHub {
     owner = "Genivia";
     repo = pname;
     rev = "v${version}";
-    sha256 = "08pq759f2vvdbig64y3k9kicvgr2d5x8ara7b182dcm3slbpib3l";
+    sha256 = "sha256-nCpU4GBJ/4c/70hgVKfO1995XCyDRLVUeczsqnlkkFM=";
   };
 
   buildInputs = [ boost bzip2 lz4 pcre2 xz zlib ];
diff --git a/pkgs/tools/text/unoconv/default.nix b/pkgs/tools/text/unoconv/default.nix
index 97a3b4d725ee4..9f3375c7e41c5 100644
--- a/pkgs/tools/text/unoconv/default.nix
+++ b/pkgs/tools/text/unoconv/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     sha256 = "1akx64686in8j8arl6vsgp2n3bv770q48pfv283c6fz6wf9p8fvr";
   };
 
-  buildInputs = [ asciidoc makeWrapper ];
+  nativeBuildInputs = [ asciidoc makeWrapper ];
 
   preBuild = ''
     makeFlags=prefix="$out"
diff --git a/pkgs/tools/text/vale/default.nix b/pkgs/tools/text/vale/default.nix
index bc7c43ca6ec49..59f5e7c0c0f87 100644
--- a/pkgs/tools/text/vale/default.nix
+++ b/pkgs/tools/text/vale/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "vale";
-  version = "2.8.1";
+  version = "2.9.1";
 
   subPackages = [ "cmd/vale" ];
   outputs = [ "out" "data" ];
@@ -11,7 +11,7 @@ buildGoModule rec {
     owner  = "errata-ai";
     repo   = "vale";
     rev    = "v${version}";
-    sha256 = "0xvsg5j0nv6p6wskxg4gz79di6p495c78xbwl3xmh0wyk7g78lkx";
+    sha256 = "sha256-ItkWmBq1mBVZfHcnqDp8koEAWBH3k9Et2bFA2mNYjVY=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/text/wdiff/default.nix b/pkgs/tools/text/wdiff/default.nix
index afcb649d921df..4d0f87354ad36 100644
--- a/pkgs/tools/text/wdiff/default.nix
+++ b/pkgs/tools/text/wdiff/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, texinfo, which }:
 
 stdenv.mkDerivation rec {
-  name = "wdiff-1.2.2";
+  pname = "wdiff";
+  version = "1.2.2";
 
   src = fetchurl {
-    url = "mirror://gnu/wdiff/${name}.tar.gz";
+    url = "mirror://gnu/wdiff/${pname}-${version}.tar.gz";
     sha256 = "0sxgg0ms5lhi4aqqvz1rj4s77yi9wymfm3l3gbjfd1qchy66kzrl";
   };
 
@@ -12,11 +13,11 @@ stdenv.mkDerivation rec {
 
   checkInputs = [ which ];
 
-  meta = {
+  meta = with lib; {
     homepage = "https://www.gnu.org/software/wdiff/";
     description = "Comparing files on a word by word basis";
-    license = lib.licenses.gpl3Plus;
-    maintainers = [ lib.maintainers.eelco ];
-    platforms = lib.platforms.unix;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ eelco SuperSandro2000 ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix
index 61af8102f51eb..849da7e606c04 100644
--- a/pkgs/tools/typesetting/asciidoc/default.nix
+++ b/pkgs/tools/typesetting/asciidoc/default.nix
@@ -147,6 +147,8 @@ stdenv.mkDerivation rec {
   pname = "asciidoc";
   version = "9.0.4";
 
+  # Note: a substitution to improve reproducibility should be updated once 10.0.0 is
+  # released. See the comment in `patchPhase` for more information.
   src = fetchFromGitHub {
     owner = "asciidoc";
     repo = "asciidoc-py3";
@@ -261,7 +263,15 @@ stdenv.mkDerivation rec {
   '') + ''
     patchShebangs .
 
-    sed -i -e "s,/etc/vim,,g" Makefile.in
+    # Note: this substitution will not work in the planned 10.0.0 release:
+    #
+    # https://github.com/asciidoc/asciidoc-py3/commit/dfffda23381014481cd13e8e9d8f131e1f93f08a
+    #
+    # Update this substitution to:
+    #
+    # --replace "python3 -m asciidoc.a2x" "python3 -m asciidoc.a2x -a revdate=01/01/1980"
+    substituteInPlace Makefile.in \
+      --replace "python3 a2x.py" "python3 a2x.py -a revdate=01/01/1980"
   '';
 
   preInstall = "mkdir -p $out/etc/vim";
diff --git a/pkgs/tools/typesetting/docbook2odf/default.nix b/pkgs/tools/typesetting/docbook2odf/default.nix
index 91d8f6f8d32f2..affa12c40190a 100644
--- a/pkgs/tools/typesetting/docbook2odf/default.nix
+++ b/pkgs/tools/typesetting/docbook2odf/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "10k44g0qqa37k30pfj8vz95j6zdzz0nmnqjq1lyahfs2h4glzgwb";
   };
 
-  buildInputs = [ perlPackages.perl makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ perlPackages.perl ];
 
   installPhase = ''
     mkdir -p "$out/bin/"
diff --git a/pkgs/tools/typesetting/docbook2x/default.nix b/pkgs/tools/typesetting/docbook2x/default.nix
index fdfa05f20c1f7..4b9e571c0ad31 100644
--- a/pkgs/tools/typesetting/docbook2x/default.nix
+++ b/pkgs/tools/typesetting/docbook2x/default.nix
@@ -15,7 +15,8 @@ stdenv.mkDerivation rec {
   # writes its output to stdout instead of creating a file.
   patches = [ ./db2x_texixml-to-stdout.patch ];
 
-  buildInputs = [ texinfo groff libxml2 libxslt makeWrapper opensp libiconv ]
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ texinfo groff libxml2 libxslt opensp libiconv ]
     ++ (with perlPackages; [ perl XMLSAX XMLParser XMLNamespaceSupport ]);
 
   postConfigure = ''
diff --git a/pkgs/tools/typesetting/fop/default.nix b/pkgs/tools/typesetting/fop/default.nix
index a572ce216ee6c..1c5e7b0079df3 100644
--- a/pkgs/tools/typesetting/fop/default.nix
+++ b/pkgs/tools/typesetting/fop/default.nix
@@ -2,22 +2,25 @@
 
 stdenv.mkDerivation rec {
   pname = "fop";
-  version = "2.1";
+  version = "2.6";
 
   src = fetchurl {
     url = "mirror://apache/xmlgraphics/fop/source/${pname}-${version}-src.tar.gz";
-    sha256 = "165rx13q47l6qc29ppr7sg1z26vw830s3rkklj5ap7wgvy0ivbz5";
+    sha256 = "145qph3c0m4bmb342qxq1hwsg594lndmfs9ga1v7pk53s34sckq8";
   };
 
   buildInputs = [ ant jdk ];
 
-  buildPhase = "ant";
+  # build only the "package" target, which generates the fop command.
+  buildPhase = ''
+     export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8"
+     ant -f fop/build.xml package
+  '';
 
   installPhase = ''
     mkdir -p $out/bin $out/lib $out/share/doc/fop
-
-    cp build/*.jar lib/*.jar $out/lib/
-    cp -r README examples/ $out/share/doc/fop/
+    cp fop/build/*.jar fop/lib/*.jar $out/lib/
+    cp -r README fop/examples/ $out/share/doc/fop/
 
     # There is a fop script in the source archive, but it has many impurities.
     # Instead of patching out 90 % of the script, we write our own.
diff --git a/pkgs/tools/typesetting/lout/CVE-2019-19917-and-CVE-2019-19918.patch b/pkgs/tools/typesetting/lout/CVE-2019-19917-and-CVE-2019-19918.patch
new file mode 100644
index 0000000000000..b146822c9c51b
--- /dev/null
+++ b/pkgs/tools/typesetting/lout/CVE-2019-19917-and-CVE-2019-19918.patch
@@ -0,0 +1,95 @@
+--- a/externs.h
++++ b/externs.h
+@@ -260,6 +260,9 @@ If you're compiling this, you've got the
+ /*                      that can appear correctly on one page.  Can be       */
+ /*                      increased to any small positive integer.             */
+ /*                                                                           */
++/*  MAX_FORMAT          The maximum number of characters for sscanf formats  */
++/*                      for splitting strings with tab-delimited fields.     */
++/*                                                                           */
+ /*****************************************************************************/
+ 
+ #define	MAX_FULL_LENGTH	8388607	/* 2**23 - 1, about 148 metres */
+@@ -275,6 +278,7 @@ If you're compiling this, you've got the
+ #define	MAX_LEX_STACK	20
+ #define	MAX_CHARS	256
+ #define MAX_HCOPIES	3
++#define MAX_FORMAT	100
+ 
+ /*****************************************************************************/
+ /*                                                                           */
+--- a/z02.c
++++ b/z02.c
+@@ -378,7 +378,7 @@ static void srcnext(void)
+   if( blksize != 0 && chpt < limit )
+   { debugcond0(DLA, DD, stack_free <= 1, "srcnext: transferring.");
+     col = buf;
+-    while( chtbl[(*--col = *--limit)] != NEWLINE );
++    while( col > mem_block && chtbl[(*--col = *--limit)] != NEWLINE );
+     frst = col + 1;  limit++;  blksize = 0;
+   }
+ 
+--- a/z33.c
++++ b/z33.c
+@@ -847,6 +847,7 @@ BOOLEAN DbRetrieve(OBJECT db, BOOLEAN ga
+ BOOLEAN DbRetrieveNext(OBJECT db, BOOLEAN *gall, OBJECT *sym, FULL_CHAR *tag,
+   FULL_CHAR *seq, FILE_NUM *dfnum, long *dfpos, int *dlnum, long *cont)
+ { FULL_CHAR line[MAX_BUFF], *cline, fname[MAX_BUFF]; int symnum;
++  char format[MAX_FORMAT];
+   ifdebug(DPP, D, ProfileOn("DbRetrieveNext"));
+   debug2(DBS, DD, "DbRetrieveNext( %s, %ld )", string(db), *cont);
+   assert(reading(db), "DbRetrieveNext: not reading");
+@@ -858,6 +859,8 @@ BOOLEAN DbRetrieveNext(OBJECT db, BOOLEA
+     return FALSE;
+   }
+ 
++  sprintf(format, "%%d&%%%d[^\t]\t%%%d[^\t]\t%%*[^\t]\t%%ld\t%%d\t%%%d[^\n\f]", MAX_BUFF-1, MAX_BUFF-1, MAX_BUFF-1);
++
+   if( in_memory(db) )
+   {
+     /* get next entry from internal database */
+@@ -868,7 +871,7 @@ BOOLEAN DbRetrieveNext(OBJECT db, BOOLEA
+     }
+     cline = (FULL_CHAR *) db_lines(db)[*cont];
+     *gall = (cline[0] == '0' ? 1 : 0);
+-    sscanf((char *)&cline[*gall], "%d&%[^\t]\t%[^\t]\t%*[^\t]\t%ld\t%d\t%[^\n\f]",
++    sscanf((char *)&cline[*gall], format,
+       &symnum, tag, seq, dfpos, dlnum, fname);
+     *cont = *cont + 1;
+   }
+@@ -882,7 +885,7 @@ BOOLEAN DbRetrieveNext(OBJECT db, BOOLEA
+       return FALSE;
+     }
+     *gall = (line[0] == '0' ? 1 : 0);
+-    sscanf((char *)&line[*gall], "%d&%[^\t]\t%[^\t]\t%*[^\t]\t%ld\t%d\t%[^\n\f]",
++    sscanf((char *)&line[*gall], format,
+       &symnum, tag, seq, dfpos, dlnum, fname);
+     *cont = ftell(db_filep(db));
+   }
+--- a/z39.c
++++ b/z39.c
+@@ -79,11 +79,13 @@ int strcollcmp(char *a, char *b)
+ int strcollcmp(char *a, char *b)
+ { char a1[MAX_BUFF], a2[MAX_BUFF], a3[MAX_BUFF];
+   char b1[MAX_BUFF], b2[MAX_BUFF], b3[MAX_BUFF];
++  char format[MAX_FORMAT];
+   int order;
++  sprintf(format, "%%%d[^\t]\t%%%d[^\t]\t%%%d[^\t]", MAX_BUFF-1, MAX_BUFF-1, MAX_BUFF-1);
+   a1[0] = a2[0] = a3[0] = '\0';
+-  sscanf(a, "%[^\t]\t%[^\t]\t%[^\t]", a1, a2, a3);
++  sscanf(a, format, a1, a2, a3);
+   b1[0] = b2[0] = b3[0] = '\0';
+-  sscanf(b, "%[^\t]\t%[^\t]\t%[^\t]", b1, b2, b3);
++  sscanf(b, format, b1, b2, b3);
+   order = strcoll(a1, b1);
+   if( order == 0 )
+   {
+@@ -251,7 +253,7 @@ FULL_CHAR *StringQuotedWord(OBJECT x)
+   *q++ = CH_QUOTE;
+   for( p = string(x);  *p != '\0';  p++ )
+   { 
+-    for( r = (FULL_CHAR *) quoted_string[*p];  *r != '\0';  *q++ = *r++ );
++    for( r = (FULL_CHAR *) quoted_string[*p];  *r != '\0' && q < &buff[MAX_BUFF-2];  *q++ = *r++ );
+   }
+   *q++ = CH_QUOTE;
+   *q++ = '\0';
diff --git a/pkgs/tools/typesetting/lout/default.nix b/pkgs/tools/typesetting/lout/default.nix
index eaeaeb4060698..4737c5d740975 100644
--- a/pkgs/tools/typesetting/lout/default.nix
+++ b/pkgs/tools/typesetting/lout/default.nix
@@ -14,6 +14,11 @@ stdenv.mkDerivation rec {
     sha256 = "1gb8vb1wl7ikn269dd1c7ihqhkyrwk19jwx5kd0rdvbk6g7g25ix";
   };
 
+  patches = [
+    # https://build.opensuse.org/request/show/843612
+    ./CVE-2019-19917-and-CVE-2019-19918.patch
+  ];
+
   buildInputs = [ ghostscript ];
   builder = ./builder.sh;
 
diff --git a/pkgs/tools/typesetting/lowdown/default.nix b/pkgs/tools/typesetting/lowdown/default.nix
index 40606199b83d9..1040532eb3e00 100644
--- a/pkgs/tools/typesetting/lowdown/default.nix
+++ b/pkgs/tools/typesetting/lowdown/default.nix
@@ -2,23 +2,25 @@
 
 stdenv.mkDerivation rec {
   pname = "lowdown";
-  version = "0.7.9";
+  version = "0.8.2";
 
   outputs = [ "out" "lib" "dev" "man" ];
 
   src = fetchurl {
     url = "https://kristaps.bsd.lv/lowdown/snapshots/lowdown-${version}.tar.gz";
-    sha512 = "18q8i8lh8w127vzw697n0bzv4mchhna1p4s672hjvy39l3ls8rlj5nwq5npr5fry06yil62sjmq4652vw29r8l49wwk5j82a8l2nr7c";
+    sha512 = "07xy6yjs24zkwrr06ly4ln5czvm3azw6iznx6m8gbrmzblkcp3gz1jcl9wclcyl8bs4xhgmyzkf5k67b95s0jndhyb9ap5zy6ixnias";
   };
 
   nativeBuildInputs = [ which ]
     ++ lib.optionals stdenv.isDarwin [ fixDarwinDylibNames ];
 
   configurePhase = ''
+    runHook preConfigure
     ./configure PREFIX=''${!outputDev} \
                 BINDIR=''${!outputBin}/bin \
                 LIBDIR=''${!outputLib}/lib \
                 MANDIR=''${!outputMan}/share/man
+    runHook postConfigure
   '';
 
   # Fix lib extension so that fixDarwinDylibNames detects it
diff --git a/pkgs/tools/typesetting/pdfsandwich/default.nix b/pkgs/tools/typesetting/pdfsandwich/default.nix
index 10f8525da0840..755ac6bb32a3f 100644
--- a/pkgs/tools/typesetting/pdfsandwich/default.nix
+++ b/pkgs/tools/typesetting/pdfsandwich/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation {
     sha256 = "1420c33divch087xrr61lvyf975bapqkgjqaighl581i69nlzsm6";
   };
 
-  buildInputs = [ ocaml perl makeWrapper];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ ocaml perl ];
   installPhase = ''
     mkdir -p $out/bin
     cp -p pdfsandwich $out/bin
diff --git a/pkgs/tools/typesetting/satysfi/default.nix b/pkgs/tools/typesetting/satysfi/default.nix
index 03ce2eb5ee806..73370eb011e42 100644
--- a/pkgs/tools/typesetting/satysfi/default.nix
+++ b/pkgs/tools/typesetting/satysfi/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchzip, fetchFromGitHub, ruby, dune_2, ocamlPackages
+{ lib, stdenv, fetchFromGitHub, ruby, dune_2, ocamlPackages
 , ipaexfont, junicode, lmodern, lmmath
 }:
 let
@@ -35,12 +35,12 @@ let
 in
   stdenv.mkDerivation rec {
     pname = "satysfi";
-    version = "0.0.5";
+    version = "0.0.6";
     src = fetchFromGitHub {
       owner = "gfngfn";
       repo = "SATySFi";
       rev = "v${version}";
-      sha256 = "1y72by6d15bc6qb1lv1ch6cm1i74gyr0w127nnvs2s657snm0y1n";
+      sha256 = "1wdmcz2b7v37msmsvjvbyj7x5a80qfws8a7w72q0g5959pw5fdxj";
       fetchSubmodules = true;
     };
 
@@ -70,7 +70,8 @@ in
     meta = with lib; {
       homepage = "https://github.com/gfngfn/SATySFi";
       description = "A statically-typed, functional typesetting system";
-      license = licenses.lgpl3;
+      changelog = "https://github.com/gfngfn/SATySFi/blob/v${version}/CHANGELOG.md";
+      license = licenses.lgpl3Only;
       maintainers = [ maintainers.mt-caret maintainers.marsam ];
       platforms = platforms.all;
     };
diff --git a/pkgs/tools/typesetting/sile/default.nix b/pkgs/tools/typesetting/sile/default.nix
index db4fb9d0f72ea..eef7768be8fd8 100644
--- a/pkgs/tools/typesetting/sile/default.nix
+++ b/pkgs/tools/typesetting/sile/default.nix
@@ -30,6 +30,7 @@ let
     luarepl
     luasec
     luasocket
+    luautf8
     penlight
     stdlib
     vstruct
@@ -38,11 +39,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sile";
-  version = "0.10.13";
+  version = "0.10.14";
 
   src = fetchurl {
     url = "https://github.com/sile-typesetter/sile/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "19k4r7wfszml4dac8cm1hx9rb1im3psigcidz8bdm9j9jzpd01yj";
+    sha256 = "100f6iangpiwlv8k55d134w856r0xwsgw90s1rkkmqa5syziwni5";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/typesetting/sshlatex/default.nix b/pkgs/tools/typesetting/sshlatex/default.nix
index 07c972420ab54..8a5b4811d7705 100644
--- a/pkgs/tools/typesetting/sshlatex/default.nix
+++ b/pkgs/tools/typesetting/sshlatex/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0kaah8is74zba9373xccmsxmnnn6kh0isr4qpg21x3qhdzhlxl7q";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = let
     binPath = lib.makeBinPath [ openssh perl gnutar bash inotify-tools ];
diff --git a/pkgs/tools/typesetting/ted/default.nix b/pkgs/tools/typesetting/ted/default.nix
index 937e3ffd7d718..07e89f9f8eddc 100644
--- a/pkgs/tools/typesetting/ted/default.nix
+++ b/pkgs/tools/typesetting/ted/default.nix
@@ -58,7 +58,8 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
-  buildInputs = [ pkg-config zlib pcre xorg.xlibsWrapper xorg.libXpm libjpeg libtiff libpng gtk2 libpaper makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ pkg-config zlib pcre xorg.xlibsWrapper xorg.libXpm libjpeg libtiff libpng gtk2 libpaper ];
 
   meta = with lib; {
     description = "An easy rich text processor";
diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix
index fd1815efa9454..d2858a90885e2 100644
--- a/pkgs/tools/typesetting/tex/texlive/bin.nix
+++ b/pkgs/tools/typesetting/tex/texlive/bin.nix
@@ -270,8 +270,8 @@ dvipng = stdenv.mkDerivation {
 
   inherit (common) src;
 
-  nativeBuildInputs = [ perl pkg-config ];
-  buildInputs = [ core/*kpathsea*/ zlib libpng freetype gd ghostscript makeWrapper ];
+  nativeBuildInputs = [ perl pkg-config makeWrapper ];
+  buildInputs = [ core/*kpathsea*/ zlib libpng freetype gd ghostscript ];
 
   preConfigure = ''
     cd texk/dvipng
diff --git a/pkgs/tools/video/atomicparsley/default.nix b/pkgs/tools/video/atomicparsley/default.nix
index 41d4dd63d589b..d07d6e5342978 100644
--- a/pkgs/tools/video/atomicparsley/default.nix
+++ b/pkgs/tools/video/atomicparsley/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "atomicparsley";
-  version = "20210114.184825.1dbe1be";
+  version = "20210124.204813.840499f";
 
   src = fetchFromGitHub {
     owner = "wez";
     repo = pname;
     rev = version;
-    sha256 = "sha256-dyrfr3bsRzEWaAr9K+7SchFVl63cZawyIjmstOI9e5I=";
+    sha256 = "sha256-/bkfgIWlQobaiad2WD7DUUrTwfYurP7YAINaLTwBEcE=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/video/untrunc/default.nix b/pkgs/tools/video/untrunc/default.nix
deleted file mode 100644
index 3ef025f5875c4..0000000000000
--- a/pkgs/tools/video/untrunc/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib, stdenv, gcc, libav_12, fetchFromGitHub }:
-
-stdenv.mkDerivation {
-  pname = "untrunc";
-  version = "2020.02.09";
-
-  src = fetchFromGitHub {
-    owner = "ponchio";
-    repo = "untrunc";
-    rev = "4eed44283168c727ace839ff7590092fda2e0848";
-    sha256 = "0nfj67drc6bxqlkf8a1iazqhi0w38a7rjrb2bpa74gwq6xzygvbr";
-  };
-
-  buildInputs = [ gcc libav_12 ];
-
-  # Untrunc uses the internal libav headers 'h264dec.h' and 'config.h'.
-  # The latter must be created through 'configure'.
-  libavConfiguredSrc = libav_12.overrideAttrs (oldAttrs: {
-    name = "libav-configured-src";
-    outputs = [ "out" ];
-    phases = [ "unpackPhase" "patchPhase" "configurePhase" "installPhase" ];
-    installPhase = "cp -r . $out";
-  });
-
-  buildCommand = ''
-    mkdir -p $out/bin
-    g++ -o $out/bin/untrunc \
-        -Wno-deprecated-declarations \
-        $src/file.cpp $src/main.cpp $src/track.cpp $src/atom.cpp $src/mp4.cpp \
-        -I$libavConfiguredSrc -lavformat -lavcodec -lavutil
-  '';
-
-  meta = with lib; {
-    description = "Restore a damaged (truncated) mp4, m4v, mov, 3gp video from a similar, undamaged video";
-    license = licenses.gpl2;
-    homepage = "https://github.com/ponchio/untrunc";
-    maintainers = [ maintainers.earvstedt ];
-  };
-}
diff --git a/pkgs/tools/video/vcsi/default.nix b/pkgs/tools/video/vcsi/default.nix
index 84e6c2e6d41dd..f4f3043f34fb4 100644
--- a/pkgs/tools/video/vcsi/default.nix
+++ b/pkgs/tools/video/vcsi/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "vcsi";
-  version = "7.0.12";
+  version = "7.0.13";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "0dks0yr2a0cpr32vrwhdrhsb4qyj7rz1yv44fjbr8z8j8p84yjx5";
+    sha256 = "01qwbb2l8gwf622zzhh0kzdzw3njvsdwmndwn01i9bn4qm5cas8r";
   };
 
   propagatedBuildInputs = with python3Packages; [
@@ -17,6 +17,9 @@ python3Packages.buildPythonApplication rec {
     parsedatetime
   ];
 
+  doCheck = false;
+  pythonImportsCheck = [ "vcsi" ];
+
   makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ ffmpeg ]}" ];
 
   meta = with lib; {
diff --git a/pkgs/tools/video/yamdi/default.nix b/pkgs/tools/video/yamdi/default.nix
index 32620fe98c5ab..92737e27ee306 100644
--- a/pkgs/tools/video/yamdi/default.nix
+++ b/pkgs/tools/video/yamdi/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     sha256 = "4a6630f27f6c22bcd95982bf3357747d19f40bd98297a569e9c77468b756f715";
   };
 
-  buildFlags = [ "CC=cc" ];
+  buildFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
   installPhase = ''
     install -D {,$out/bin/}yamdi
diff --git a/pkgs/tools/virtualization/aws/default.nix b/pkgs/tools/virtualization/aws/default.nix
index 4766be90a6db4..d3a5cbf10e1a4 100644
--- a/pkgs/tools/virtualization/aws/default.nix
+++ b/pkgs/tools/virtualization/aws/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, perl, curl }:
 
 stdenv.mkDerivation {
-  name = "aws-1.75";
+  name = "aws-2019.06.18";
 
   src = fetchurl {
-    url = "https://raw.github.com/timkay/aws/2f2ff99f9f5111ea708ae6cd14d20e264748e72b/aws";
-    sha256 = "0d5asv73a58yb1bb1jpsw3c7asd62y86z5fwpg4llhjzkx79maj6";
+    url = "https://raw.github.com/timkay/aws/ac68eb5191c52f069b9aa0c9a99808f8a4430833/aws";
+    sha256 = "02bym9wicqpdr7mdim13zw5ssh97xfswzab9q29rsbg7058ddbil";
   };
 
   buildInputs = [ perl ];
diff --git a/pkgs/tools/virtualization/ec2-ami-tools/default.nix b/pkgs/tools/virtualization/ec2-ami-tools/default.nix
index eafd740b0650b..00df6bd97e11a 100644
--- a/pkgs/tools/virtualization/ec2-ami-tools/default.nix
+++ b/pkgs/tools/virtualization/ec2-ami-tools/default.nix
@@ -5,7 +5,8 @@ stdenv.mkDerivation rec {
 
   version = "1.5.7";
 
-  buildInputs = [ unzip makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ unzip ];
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/ec2-downloads/${pname}-${version}.zip";
diff --git a/pkgs/tools/virtualization/ec2-api-tools/default.nix b/pkgs/tools/virtualization/ec2-api-tools/default.nix
index 8e3ab0d9f28a0..0c3aec2aadf91 100644
--- a/pkgs/tools/virtualization/ec2-api-tools/default.nix
+++ b/pkgs/tools/virtualization/ec2-api-tools/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "0figmvcm82ghmpz3018ihysz8zpxpysgbpdx7rmciq9y80qbw6l5";
   };
 
-  buildInputs = [ unzip makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ unzip ];
 
   installPhase =
     ''
diff --git a/pkgs/tools/virtualization/shipyard/default.nix b/pkgs/tools/virtualization/shipyard/default.nix
index e3017e98a070f..028d05e633b58 100644
--- a/pkgs/tools/virtualization/shipyard/default.nix
+++ b/pkgs/tools/virtualization/shipyard/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "shipyard";
-  version = "0.1.17";
+  version = "0.2.9";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "shipyard-run";
     repo = pname;
-    sha256 = "13cp7qpxchnyxdm26xwdcp557nj16f4h8vlj0p4h79z5g7pcklln";
+    sha256 = "sha256-S2nH1E20frsJzW2RCn+eJ9ylVdhVbo4wesNwlQll9S4=";
   };
-  vendorSha256 = "0gib9s09lz91wawbms9zq4wc5k6bdxfzpxm8q92h0bsjw1bj1hzs";
+  vendorSha256 = "sha256-rglpY7A0S56slL+mXFRgaZwS0bF1b9zxxmNYiX6TJzs=";
 
   buildFlagsArray = [
     "-ldflags=-s -w -X main.version=${version}"
diff --git a/pkgs/tools/misc/clipman/default.nix b/pkgs/tools/wayland/clipman/default.nix
index 80a0afe68d363..3a2c2ca6015cb 100644
--- a/pkgs/tools/misc/clipman/default.nix
+++ b/pkgs/tools/wayland/clipman/default.nix
@@ -1,4 +1,9 @@
-{ buildGoModule, fetchFromGitHub, lib, wl-clipboard, makeWrapper }:
+{ buildGoModule
+, fetchFromGitHub
+, lib
+, wl-clipboard
+, makeWrapper
+}:
 
 buildGoModule rec {
   pname = "clipman";
@@ -24,9 +29,9 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://github.com/yory8/clipman";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ ma27 ];
     description = "A simple clipboard manager for Wayland";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ ma27 ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/kanshi/default.nix b/pkgs/tools/wayland/kanshi/default.nix
index 90ee2a3446b57..c661c98a24bbe 100644
--- a/pkgs/tools/misc/kanshi/default.nix
+++ b/pkgs/tools/wayland/kanshi/default.nix
@@ -1,4 +1,12 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, scdoc, wayland }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, scdoc
+, wayland
+}:
 
 stdenv.mkDerivation rec {
   pname = "kanshi";
@@ -15,6 +23,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ wayland ];
 
   meta = with lib; {
+    homepage = "https://github.com/emersion/kanshi";
     description = "Dynamic display configuration tool";
     longDescription = ''
       kanshi allows you to define output profiles that are automatically enabled
@@ -24,8 +33,6 @@ stdenv.mkDerivation rec {
       kanshi can be used on Wayland compositors supporting the
       wlr-output-management protocol.
     '';
-    homepage = "https://github.com/emersion/kanshi";
-    downloadPage = "https://github.com/emersion/kanshi";
     license = licenses.mit;
     maintainers = with maintainers; [ balsoft ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/wayland/oguri/default.nix b/pkgs/tools/wayland/oguri/default.nix
new file mode 100644
index 0000000000000..458ea310a01df
--- /dev/null
+++ b/pkgs/tools/wayland/oguri/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, meson
+, ninja
+, cairo
+, gdk-pixbuf
+, wayland
+, wayland-protocols
+}:
+
+stdenv.mkDerivation rec {
+  pname = "oguri";
+  version = "unstable-2020-12-19";
+
+  src = fetchFromGitHub {
+    owner = "vilhalmer";
+    repo = pname;
+    rev = "6937fee10a9b0ef3ad8f94f606c0e0d9e7dec564";
+    sha256 = "sXNvpI/YPDPd2cXQAfRO4ut21gSCXxbo1DpaZmHJDYQ=";
+  };
+
+  nativeBuildInputs = [ pkg-config meson ninja ];
+  buildInputs = [
+    cairo
+    gdk-pixbuf
+    wayland
+    wayland-protocols
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/vilhalmer/oguri/";
+    description = "A very nice animated wallpaper daemon for Wayland compositors";
+    license = licenses.mit;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/misc/slurp/default.nix b/pkgs/tools/wayland/slurp/default.nix
index ed4bb0037fbea..107ef68da5654 100644
--- a/pkgs/tools/misc/slurp/default.nix
+++ b/pkgs/tools/wayland/slurp/default.nix
@@ -1,5 +1,13 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config
-, cairo, libxkbcommon, wayland, wayland-protocols
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, cairo
+, libxkbcommon
+, wayland
+, wayland-protocols
 , buildDocs ? true, scdoc
 }:
 
@@ -33,7 +41,7 @@ stdenv.mkDerivation rec {
     description = "Select a region in a Wayland compositor";
     homepage = "https://github.com/emersion/slurp";
     license = licenses.mit;
-    platforms = platforms.linux;
     maintainers = with maintainers; [ buffet ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/wev/default.nix b/pkgs/tools/wayland/wev/default.nix
index c1debfd924da8..83e4113f7ea2a 100644
--- a/pkgs/tools/misc/wev/default.nix
+++ b/pkgs/tools/wayland/wev/default.nix
@@ -1,6 +1,11 @@
-{ lib, stdenv, fetchurl
-, pkg-config, scdoc, wayland
-, wayland-protocols, libxkbcommon
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, scdoc
+, wayland
+, wayland-protocols
+, libxkbcommon
 }:
 
 stdenv.mkDerivation rec {
@@ -18,14 +23,14 @@ stdenv.mkDerivation rec {
   installFlags = [ "PREFIX=$(out)" ];
 
   meta = with lib; {
+    homepage = "https://git.sr.ht/~sircmpwn/wev";
     description = "Wayland event viewer";
     longDescription = ''
       This is a tool for debugging events on a Wayland window, analagous to the
       X11 tool xev.
     '';
-    homepage = "https://git.sr.ht/~sircmpwn/wev";
     license = licenses.mit;
-    platforms = platforms.unix;
     maintainers = with maintainers; [ primeos ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/wl-clipboard/default.nix b/pkgs/tools/wayland/wl-clipboard/default.nix
index 676ff03ad9b4f..0bc195e962608 100644
--- a/pkgs/tools/misc/wl-clipboard/default.nix
+++ b/pkgs/tools/wayland/wl-clipboard/default.nix
@@ -1,5 +1,12 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config
-, wayland, wayland-protocols }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, wayland
+, wayland-protocols
+}:
 
 stdenv.mkDerivation rec {
   pname = "wl-clipboard";
@@ -16,10 +23,11 @@ stdenv.mkDerivation rec {
   buildInputs = [ wayland ];
 
   meta = with lib; {
-    description = "Command-line copy/paste utilities for Wayland";
     homepage = "https://github.com/bugaevc/wl-clipboard";
-    license = licenses.gpl3;
+    description = "Command-line copy/paste utilities for Wayland";
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ dywedir ];
     platforms = platforms.linux;
   };
 }
+# TODO: is wayland-protocols a nativeBuildInput or a buildInput?
diff --git a/pkgs/tools/wayland/wlogout/default.nix b/pkgs/tools/wayland/wlogout/default.nix
new file mode 100644
index 0000000000000..2625405808cce
--- /dev/null
+++ b/pkgs/tools/wayland/wlogout/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, meson
+, ninja
+, scdoc
+, gtk3
+, libxkbcommon
+, wayland
+, wayland-protocols
+}:
+
+stdenv.mkDerivation rec {
+  pname = "wlogout";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner = "ArtsyMacaw";
+    repo = "wlogout";
+    rev = version;
+    sha256 = "cTscfx+erHVFHwwYpN7pADQWt5sq75sQSyXSP/H8kOs=";
+  };
+
+  nativeBuildInputs = [ pkg-config meson ninja scdoc ];
+  buildInputs = [
+    gtk3
+    libxkbcommon
+    wayland
+    wayland-protocols
+  ];
+
+  postPatch = ''
+    substituteInPlace style.css \
+      --replace "/usr/share/wlogout" "$out/share/${pname}"
+
+    substituteInPlace main.c \
+      --replace "/etc/wlogout" "$out/etc/${pname}"
+  '';
+
+  mesonFlags = [
+    "--datadir=${placeholder "out"}/share"
+    "--sysconfdir=${placeholder "out"}/etc"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/ArtsyMacaw/wlogout";
+    description = "A wayland based logout menu";
+    license = licenses.mit;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
+# TODO: shell completions
diff --git a/pkgs/tools/misc/wlr-randr/default.nix b/pkgs/tools/wayland/wlr-randr/default.nix
index 85011baacaef1..e2c941998a99c 100644
--- a/pkgs/tools/misc/wlr-randr/default.nix
+++ b/pkgs/tools/wayland/wlr-randr/default.nix
@@ -1,23 +1,31 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, cmake, pkg-config, wayland }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, wayland
+}:
 
 stdenv.mkDerivation rec {
   pname = "wlr-randr";
-  version = "0.1.0";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "emersion";
     repo = pname;
     rev = "v${version}";
-    sha256 = "10c8zzp78s5bw34vvjhilipa28bsdx3jbyhnxgp8f8kawh3cvgsc";
+    sha256 = "sha256-JeSxFXSFxcTwJz9EaLb18wtD4ZIT+ATeYM5OyDTJhDQ=";
   };
 
-  nativeBuildInputs = [ meson ninja cmake pkg-config ];
+  nativeBuildInputs = [ meson ninja pkg-config ];
   buildInputs = [ wayland ];
 
   meta = with lib; {
-    license = licenses.mit;
     description = "An xrandr clone for wlroots compositors";
     homepage = "https://github.com/emersion/wlr-randr";
+    license = licenses.mit;
     maintainers = with maintainers; [ ma27 ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/wob/default.nix b/pkgs/tools/wayland/wob/default.nix
index cbc09b0ce6493..3567ed6eea41d 100644
--- a/pkgs/tools/misc/wob/default.nix
+++ b/pkgs/tools/wayland/wob/default.nix
@@ -1,17 +1,24 @@
-{ lib, stdenv, fetchFromGitHub
-, meson, ninja, pkg-config, scdoc, wayland # wayland-scanner
-, wayland-protocols, libseccomp
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, scdoc
+, libseccomp
+, wayland # wayland-scanner
+, wayland-protocols
 }:
 
 stdenv.mkDerivation rec {
   pname = "wob";
-  version = "0.10";
+  version = "0.11";
 
   src = fetchFromGitHub {
     owner = "francma";
     repo = pname;
     rev = version;
-    sha256 = "0v7xm8zd9237v5j5h79pd0x6dkal5fgg1ly9knssjpv3hswwyv40";
+    sha256 = "13mx6nzab6msp57s9mv9ambz53a4zkafms9v97xv5zvd6xarnrya";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland ];
@@ -21,15 +28,15 @@ stdenv.mkDerivation rec {
   mesonFlags = lib.optional stdenv.isLinux "-Dseccomp=enabled";
 
   meta = with lib; {
+    inherit (src.meta) homepage;
     description = "A lightweight overlay bar for Wayland";
     longDescription = ''
       A lightweight overlay volume/backlight/progress/anything bar for Wayland,
       inspired by xob.
     '';
-    inherit (src.meta) homepage;
     changelog = "https://github.com/francma/wob/releases/tag/${version}";
     license = licenses.isc;
-    platforms = platforms.unix;
     maintainers = with maintainers; [ primeos ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/top-level/agda-packages.nix b/pkgs/top-level/agda-packages.nix
index 601ab6d42b9dc..7434134d28f29 100644
--- a/pkgs/top-level/agda-packages.nix
+++ b/pkgs/top-level/agda-packages.nix
@@ -11,6 +11,8 @@ let
   in {
     inherit mkDerivation;
 
+    lib = lib.extend (final: prev: import ../build-support/agda/lib.nix { lib = prev; });
+
     agda = withPackages [] // { inherit withPackages; };
 
     standard-library = callPackage ../development/libraries/agda/standard-library {
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 8738021a6a73a..1349ce993411c 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -113,8 +113,18 @@ mapAliases ({
   cpp_ethereum = throw "cpp_ethereum has been removed; abandoned upstream."; # added 2020-11-30
   cryptol = throw "cryptol was removed due to prolonged broken build"; # added 2020-08-21
   cpp-gsl = microsoft_gsl; # added 2019-05-24
+  cudatoolkit_6 = throw "cudatoolkit_6 has been removed in favor of newer versions"; # added 2021-02-14
+  cudatoolkit_65 = throw "cudatoolkit_65 has been removed in favor of newer versions"; # added 2021-02-14
+  cudatoolkit_7 = throw "cudatoolkit_7 has been removed in favor of newer versions"; # added 2021-02-14
+  cudatoolkit_7_5 = throw "cudatoolkit_7_5 has been removed in favor of newer versions"; # added 2021-02-14
+  cudatoolkit_8 = throw "cudatoolkit_8 has been removed in favor of newer versions"; # added 2021-02-14
+  cudnn_cudatoolkit_7 = throw "cudnn_cudatoolkit_7 has been removed in favor of newer versions"; # added 2021-02-14
+  cudnn_cudatoolkit_7_5 = throw "cudnn_cudatoolkit_7_5 has been removed in favor of newer versions"; # added 2021-02-14
+  cudnn6_cudatoolkit_8 = throw "cudnn6_cudatoolkit_8 has been removed in favor of newer versions"; # added 2021-02-14
+  cudnn_cudatoolkit_8 = throw "cudnn_cudatoolkit_8 has been removed in favor of newer versions"; # added 2021-02-14
   cupsBjnp = cups-bjnp; # added 2016-01-02
   cups_filters = cups-filters; # added 2016-08
+  cups-googlecloudprint = throw "Google Cloudprint is officially discontinued since Jan 2021, more info https://support.google.com/chrome/a/answer/9633006";
   cquery = throw "cquery has been removed because it is abandoned by upstream. Consider switching to clangd or ccls instead."; # added 2020-06-15
   cv = progress; # added 2015-09-06
   d1x_rebirth = dxx-rebirth; # added 2018-04-25
@@ -150,6 +160,7 @@ mapAliases ({
   dydisnix = throw "dydisnix has been removed."; # added 2021-01-27
   dysnomia = throw "dysnomia has been removed."; # added 2021-01-27
   dwarf_fortress = dwarf-fortress; # added 2016-01-23
+  dwm-git = throw "dwm-git has been removed from nixpkgs, as it had no updates for 2 years not serving it's purpose."; # added 2021-02-07
   elasticmq = throw "elasticmq has been removed in favour of elasticmq-server-bin"; # added 2021-01-17
   emacsPackagesGen = emacsPackagesFor; # added 2018-08-18
   emacsPackagesNgGen = emacsPackagesFor; # added 2018-08-18
@@ -178,6 +189,9 @@ mapAliases ({
   firestr = throw "firestr has been removed."; # added 2019-12-08
   fish-foreign-env = throw "fish-foreign-env has been replaced with fishPlugins.foreign-env"; # added 2020-12-29, modified 2021-01-10
   flameGraph = flamegraph; # added 2018-04-25
+  flashplayer = throw "flashplayer has been removed as Adobe Flash Player is now deprecated."; # added 2021-02-07
+  flashplayer-standalone = throw "flashplayer-standalone has been removed as Adobe Flash Player is now deprecated."; # added 2021-02-07
+  flashplayer-standalone-debugger = throw "flashplayer-standalone-debugger has been removed as Adobe Flash Player is now deprecated."; # added 2021-02-07
   flink_1_5 = throw "flink_1_5 was removed, use flink instead"; # added 2021-01-25
   flutter-beta = throw "Non-stable versions of Flutter have been removed. You can use flutterPackages.mkFlutter to generate a package for other Flutter versions."; # added 2020-01-15
   flutter-dev = throw "Non-stable versions of Flutter have been removed. You can use flutterPackages.mkFlutter to generate a package for other Flutter versions."; # added 2020-01-15
@@ -242,6 +256,7 @@ mapAliases ({
   gnuvd = throw "gnuvd was removed because the backend service is missing"; # added 2020-01-14
   go_1_12 = throw "go_1_12 has been removed"; # added 2020-04-26
   go-pup = pup; # added 2017-12-19
+  gobby5 = gobby; # added 2021-02-01
   gobjectIntrospection = gobject-introspection; # added 2018-12-02
   goimports = gotools; # added 2018-09-16
   gometalinter = throw "gometalinter was abandoned by upstream. Consider switching to golangci-lint instead"; # added 2020-04-23
@@ -260,15 +275,20 @@ mapAliases ({
   gupnp_igd = gupnp-igd; # added 2018-02-25
   gupnptools = gupnp-tools;  # added 2015-12-19
   gutenberg = zola;  # added 2018-11-17
+  hal-flash = throw "hal-flash has been removed as Adobe Flash Player is now deprecated."; # added 2021-02-07
   heimdalFull = heimdal; # added 2018-05-01
   hepmc = hepmc2; # added 2019-08-05
   hexen = throw "hexen (SDL port) has been removed: abandoned by upstream."; # added 2019-12-11
   hicolor_icon_theme = hicolor-icon-theme; # added 2018-02-25
+  ht-rust = xh; # added 2021-02-13
   htmlTidy = html-tidy;  # added 2014-12-06
   iana_etc = iana-etc;  # added 2017-03-08
   icedtea8_web = adoptopenjdk-icedtea-web; # added 2019-08-21
   icedtea_web = adoptopenjdk-icedtea-web; # added 2019-08-21
   idea = jetbrains; # added 2017-04-03
+  imagemagick7_light = imagemagick_light; # added 2021-02-22
+  imagemagick7 = imagemagick; # added 2021-02-22
+  imagemagick7Big = imagemagickBig; # added 2021-02-22
   inboxer = throw "inboxer has been removed as it is no longer maintained and no longer works as Google shut down the inbox service this package wrapped.";
   infiniband-diags = rdma-core; # added 2019-08-09
   inotifyTools = inotify-tools;
@@ -344,6 +364,7 @@ mapAliases ({
 
   linux-steam-integration = throw "linux-steam-integration has been removed, as the upstream project has been abandoned"; # added 2020-05-22
   loadcaffe = throw "loadcaffe has been removed, as the upstream project has been abandoned"; # added 2020-03-28
+  lprof = throw "lprof has been removed as it's unmaintained upstream and broken in nixpkgs since a while ago"; # added 2021-02-15
   lttngTools = lttng-tools;  # added 2014-07-31
   lttngUst = lttng-ust;  # added 2014-07-31
   lua5_1_sockets = lua51Packages.luasocket; # added 2017-05-02
@@ -383,6 +404,7 @@ mapAliases ({
   mono-zeroconf = throw "mono-zeroconf was deprecated on 2019-09-20: abandoned by upstream.";
   mozart = mozart2-binary; # added 2019-09-23
   mozart-binary = mozart2-binary; # added 2019-09-23
+  mpd_clientlib = libmpdclient; # added 2021-02-11
   mpich2 = mpich;  # added 2018-08-06
   msf = metasploit; # added 2018-04-25
   libmsgpack = msgpack; # added 2018-08-17
@@ -490,6 +512,7 @@ mapAliases ({
   piwik = matomo; # added 2018-01-16
   pkgconfig = pkg-config; # added 2018-02-02, moved to aliases.nix 2021-01-18
   pkgconfigUpstream = pkg-configUpstream; # added 2018-02-02
+  planner = throw "planner has been removed from nixpkgs, as it is no longer developed and still uses python2/PyGTK."; # added 2021-02-02
   pltScheme = racket; # just to be sure
   plexpy = tautulli; # plexpy got renamed to tautulli, added 2019-02-22
   pmtools = acpica-tools; # added 2018-11-01
@@ -526,6 +549,7 @@ mapAliases ({
   pyo3-pack = maturin;
   pmenu = throw "pmenu has been removed from nixpkgs, as its maintainer is no longer interested in the package."; # added 2019-12-10
   pulseaudioLight = pulseaudio; # added 2018-04-25
+  pulseeffects = throw "Use pulseeffects-legacy if you use PulseAudio and pulseeffects-pw if you use PipeWire."; # added 2021-02-13, move back once we default to PipeWire audio server.
   phonon-backend-gstreamer = throw "phonon-backend-gstreamer: Please use libsForQt5.phonon-backend-gstreamer, as Qt4 support in this package has been removed."; # added 2019-11-22
   phonon-backend-vlc = throw "phonon-backend-vlc: Please use libsForQt5.phonon-backend-vlc, as Qt4 support in this package has been removed."; # added 2019-11-22
   phonon = throw "phonon: Please use libsForQt5.phonon, as Qt4 support in this package has been removed."; # added 2019-11-22
@@ -553,6 +577,7 @@ mapAliases ({
   retroshare06 = retroshare;
   gtk-recordmydesktop = throw "gtk-recordmydesktop has been removed from nixpkgs, as it's unmaintained and uses deprecated libraries"; # added 2019-12-10
   qt-recordmydesktop = throw "qt-recordmydesktop has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # added 2019-12-10
+  qt-3 = throw "qt-3 has been removed from nixpkgs, as it's unmaintained and insecure"; # added 2021-02-15
   rfkill = throw "rfkill has been removed, as it's included in util-linux"; # added 2020-08-23
   riak-cs = throw "riak-cs is not maintained anymore"; # added 2020-10-14
   rkt = throw "rkt was archived by upstream"; # added 2020-05-16
@@ -565,6 +590,8 @@ mapAliases ({
   ruby_2_4 = throw "ruby_2_4 was deprecated in 2019-12: use a newer version of ruby";
   ruby_2_5_0 = throw "ruby_2_5_0 was deprecated on 2018-02-13: use a newer version of ruby";
   rubyPackages_2_4 = throw "rubyPackages_2_4 was deprecated in 2019-12: use a newer version of rubyPackages instead";
+  ruby_2_5 = throw "ruby_2_5 was deprecated in 2021-02: use a newer version of ruby";
+  rubyPackages_2_5 = throw "rubyPackages_2_5 was deprecated in 2021-02: use a newer version of rubyPackages instead";
   rubygems = throw "rubygems was deprecated on 2016-03-02: rubygems is now bundled with ruby";
   rubyMinimal = throw "rubyMinimal was removed due to being unused";
   rxvt_unicode-with-plugins = rxvt-unicode; # added 2020-02-02
@@ -591,6 +618,7 @@ mapAliases ({
   saneBackendsGit = sane-backends-git; # added 2016-01-02
   saneFrontends = sane-frontends; # added 2016-01-02
   sapic = throw "sapic was deprecated on 2019-1-19: sapic is bundled with 'tamarin-prover' now";
+  scaff = throw "scaff is deprecated - replaced by https://gitlab.com/jD91mZM2/inc (not in nixpkgs yet)"; # added 2020-03-01
   scim = sc-im; # added 2016-01-22
   scollector = bosun; # added 2018-04-25
   sdlmame = mame; # added 2019-10-30
@@ -707,6 +735,7 @@ mapAliases ({
   ultrastardx-beta = ultrastardx; # added 2017-08-12
   unicorn-emu = unicorn; # added 2020-10-29
   unifiStable = unifi6; # added 2020-12-28
+  untrunc = untrunc-anthwlock; # added 2021-02-01
   usb_modeswitch = usb-modeswitch; # added 2016-05-10
   usbguard-nox = usbguard; # added 2019-09-04
   utillinux = util-linux; # added 2020-11-24
@@ -715,6 +744,7 @@ mapAliases ({
   v8_3_16_14 = throw "v8_3_16_14 was removed in 2019-11-01: no longer referenced by other packages";
   valadoc = throw "valadoc was deprecated on 2019-10-10: valadoc was merged into vala 0.38";
   vamp = { vampSDK = vamp-plugin-sdk; }; # added 2020-03-26
+  venus = throw "venus has been removed from nixpkgs, as it's unmaintained"; # added 2021-02-05
   vdirsyncerStable  = vdirsyncer; # added 2020-11-08, see https://github.com/NixOS/nixpkgs/issues/103026#issuecomment-723428168
   vimbWrapper = vimb; # added 2015-01
   vimprobable2 = throw "vimprobable2 has been removed from nixpkgs. It relied on webkitgtk24x that has been removed."; # added 2019-12-05
@@ -733,6 +763,7 @@ mapAliases ({
   wireguard = wireguard-tools; # added 2018-05-19
   morituri = whipper; # added 2018-09-13
   xp-pen-g430 = pentablet-driver; # added 2020-05-03
+  xdg_utils = xdg-utils; # added 2021-02-01
   xfceUnstable = xfce4-14; # added 2019-09-17
   xfce4-14 = xfce;
   xfce4-12 = throw "xfce4-12 has been replaced by xfce4-14"; # added 2020-03-14
@@ -742,6 +773,9 @@ mapAliases ({
   xbmcPlain = kodiPlain; # added 2018-04-25
   xbmcPlugins = kodiPlugins; # added 2018-04-25
   xmonad_log_applet_gnome3 = xmonad_log_applet; # added 2018-05-01
+  xmpppy = throw "xmpppy has been removed from nixpkgs as it is unmaintained and python2-only";
+  pyIRCt = throw "pyIRCt has been removed from nixpkgs as it is unmaintained and python2-only";
+  pyMAILt = throw "pyMAILt has been removed from nixpkgs as it is unmaintained and python2-only";
   xf86_video_nouveau = xorg.xf86videonouveau; # added 2015-09
   xf86_input_mtrack = throw ("xf86_input_mtrack has been removed from nixpkgs as it hasn't been maintained"
     + "and is broken. Working alternatives are libinput and synaptics.");
@@ -751,6 +785,7 @@ mapAliases ({
   xv = xxv; # added 2020-02-22
   youtubeDL = youtube-dl;  # added 2014-10-26
   ytop = throw "ytop has been abandoned by upstream. Consider switching to bottom instead";
+  yuzu = yuzu-mainline; # added 2021-01-25
   zdfmediathk = mediathekview; # added 2019-01-19
   gnome_user_docs = gnome-user-docs; # added 2019-11-20
   # spidermonkey is not ABI upwards-ompatible, so only allow this for nix-shell
@@ -834,7 +869,7 @@ mapAliases ({
 
   todolist = throw "todolist is now ultralist."; # added 2020-12-27
 
-  /* Cleanup before 21.03 */
+  /* Cleanup before 21.05 */
   riot-desktop = throw "riot-desktop is now element-desktop!";
   riot-web = throw "riot-web is now element-web";
 
@@ -843,6 +878,8 @@ mapAliases ({
   /* Added 2021-01-02 */
   ttyrec = ovh-ttyrec;
 
+  zplugin = zinit; # Added 2021-01-30
+
   /* If these are in the scope of all-packages.nix, they cause collisions
   between mixed versions of qt. See:
   https://github.com/NixOS/nixpkgs/pull/101369 */
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f2a30e283151f..7316c3cc11a18 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -112,17 +112,21 @@ in
     { name = "auto-blas-hook"; deps = [ blas lapack ]; }
     ../build-support/setup-hooks/audit-blas.sh;
 
-  autoreconfHook = makeSetupHook
-    { deps = [ autoconf automake gettext libtool ]; }
-    ../build-support/setup-hooks/autoreconf.sh;
-
-  autoreconfHook264 = makeSetupHook
-    { deps = [ autoconf264 automake111x gettext libtool ]; }
-    ../build-support/setup-hooks/autoreconf.sh;
+  autoreconfHook = callPackage (
+    { makeSetupHook, autoconf, automake, gettext, libtool }:
+    makeSetupHook
+      { deps = [ autoconf automake gettext libtool ]; }
+      ../build-support/setup-hooks/autoreconf.sh
+  ) { };
+
+  autoreconfHook264 = autoreconfHook.override {
+    autoconf = autoconf264;
+    automake = automake111x;
+  };
 
-  autoreconfHook269 = makeSetupHook
-    { deps = [ autoconf269 automake gettext libtool ]; }
-    ../build-support/setup-hooks/autoreconf.sh;
+  autoreconfHook269 = autoreconfHook.override {
+    autoconf = autoconf269;
+  };
 
   autoPatchelfHook = makeSetupHook { name = "auto-patchelf-hook"; }
     ../build-support/setup-hooks/auto-patchelf.sh;
@@ -152,6 +156,10 @@ in
 
   fiche = callPackage ../servers/fiche { };
 
+  fishnet = callPackage ../servers/fishnet { };
+
+  authy = callPackage ../applications/misc/authy { };
+
   avro-tools = callPackage ../development/tools/avro-tools { };
 
   bacnet-stack = callPackage ../tools/networking/bacnet-stack {};
@@ -184,6 +192,8 @@ in
 
   castxml = callPackage ../development/tools/castxml { };
 
+  cen64 = callPackage ../misc/emulators/cen64 { };
+
   cereal = callPackage ../development/libraries/cereal { };
 
   checkov = callPackage ../development/tools/analysis/checkov {};
@@ -212,6 +222,8 @@ in
 
   containerpilot = callPackage ../applications/networking/cluster/containerpilot { };
 
+  coordgenlibs  = callPackage ../development/libraries/coordgenlibs { };
+
   cp437 = callPackage ../tools/misc/cp437 { };
 
   cpu-x = callPackage ../applications/misc/cpu-x { };
@@ -224,6 +236,8 @@ in
 
   deadcode = callPackage ../development/tools/deadcode { };
 
+  each = callPackage ../tools/text/each { };
+
   eclipse-mat = callPackage ../development/tools/eclipse-mat { };
 
   glade = callPackage ../development/tools/glade { };
@@ -272,6 +286,7 @@ in
   grsync = callPackage ../applications/misc/grsync { };
 
   dockerTools = callPackage ../build-support/docker {
+    go = buildPackages.go_1_15;
     writePython3 = buildPackages.writers.writePython3;
   };
 
@@ -287,6 +302,8 @@ in
 
   docker-sync = callPackage ../tools/misc/docker-sync { };
 
+  dockle = callPackage ../development/tools/dockle { };
+
   docui = callPackage ../tools/misc/docui { };
 
   dotfiles = callPackage ../applications/misc/dotfiles { };
@@ -500,7 +517,7 @@ in
 
   makeInitrd = callPackage ../build-support/kernel/make-initrd.nix; # Args intentionally left out
 
-  makeWrapper = makeSetupHook { deps = [ dieHook ]; substitutions = { shell = pkgs.runtimeShell; }; }
+  makeWrapper = makeSetupHook { deps = [ dieHook ]; substitutions = { shell = targetPackages.runtimeShell; }; }
                               ../build-support/setup-hooks/make-wrapper.sh;
 
   makeModulesClosure = { kernel, firmware, rootModules, allowMissing ? false }:
@@ -605,7 +622,7 @@ in
 
   _1password = callPackage ../applications/misc/1password { };
 
-  _1password-gui = callPackage ../tools/security/1password-gui { };
+  _1password-gui = callPackage ../applications/misc/1password-gui { };
 
   _6tunnel = callPackage ../tools/networking/6tunnel { };
 
@@ -695,6 +712,10 @@ in
 
   afpfs-ng = callPackage ../tools/filesystems/afpfs-ng { };
 
+  agate = callPackage ../servers/gemini/agate {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   agda-pkg = callPackage ../development/tools/agda-pkg { };
 
   agrep = callPackage ../tools/text/agrep { };
@@ -732,6 +753,14 @@ in
 
   metapixel = callPackage ../tools/graphics/metapixel { };
 
+  xtrt = callPackage ../tools/archivers/xtrt { };
+
+  yabridge = callPackage ../tools/audio/yabridge {
+    wine = wineWowPackages.minimal;
+  };
+
+  yabridgectl = callPackage ../tools/audio/yabridgectl { };
+
   ### APPLICATIONS/TERMINAL-EMULATORS
 
   alacritty = callPackage ../applications/terminal-emulators/alacritty {
@@ -1033,6 +1062,8 @@ in
 
   boxes = callPackage ../tools/text/boxes { };
 
+  boundary = callPackage ../tools/networking/boundary { };
+
   chamber = callPackage ../tools/admin/chamber {  };
 
   charm = callPackage ../applications/misc/charm { };
@@ -1100,6 +1131,8 @@ in
 
   bmap-tools = callPackage ../tools/misc/bmap-tools { };
 
+  bonnmotion = callPackage ../development/tools/misc/bonnmotion { };
+
   bonnie = callPackage ../tools/filesystems/bonnie { };
 
   bonfire = callPackage ../tools/misc/bonfire { };
@@ -1249,6 +1282,8 @@ in
 
   fitnesstrax = callPackage ../applications/misc/fitnesstrax/default.nix { };
 
+  flavours = callPackage ../applications/misc/flavours { };
+
   flood = nodePackages.flood;
 
   fxlinuxprintutil = callPackage ../tools/misc/fxlinuxprintutil { };
@@ -1263,6 +1298,10 @@ in
 
   gaia = callPackage ../development/libraries/gaia { };
 
+  galene = callPackage ../servers/web-apps/galene {
+    buildGoModule = buildGo115Module;
+  };
+
   gamecube-tools = callPackage ../development/tools/gamecube-tools { };
 
   gammy = qt5.callPackage ../tools/misc/gammy { };
@@ -1313,7 +1352,9 @@ in
 
   gremlin-console = callPackage ../applications/misc/gremlin-console { };
 
-  grex = callPackage ../tools/misc/grex { };
+  grex = callPackage ../tools/misc/grex {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   gcsfuse = callPackage ../tools/filesystems/gcsfuse { };
 
@@ -1325,6 +1366,8 @@ in
 
   hime = callPackage ../tools/inputmethods/hime {};
 
+  hinit = haskell.lib.justStaticExecutables haskellPackages.hinit;
+
   hostctl = callPackage ../tools/system/hostctl { };
 
   hpe-ltfs = callPackage ../tools/backup/hpe-ltfs { };
@@ -1371,6 +1414,10 @@ in
 
   gopass = callPackage ../tools/security/gopass { };
 
+  gopass-jsonapi = callPackage ../tools/security/gopass/jsonapi.nix { };
+
+  git-credential-gopass = callPackage ../tools/security/gopass/git-credential.nix { };
+
   gospider = callPackage ../tools/security/gospider { };
 
   browserpass = callPackage ../tools/security/browserpass { };
@@ -1645,7 +1692,6 @@ in
     else libtensorflow-bin;
 
   libtorch-bin = callPackage ../development/libraries/science/math/libtorch/bin.nix {
-    inherit (linuxPackages) nvidia_x11;
     cudaSupport = config.cudaSupport or false;
   };
 
@@ -1717,6 +1763,8 @@ in
 
   bsod = callPackage ../misc/emulators/bsod { };
 
+  py65 = python3Packages.callPackage ../misc/emulators/py65 { };
+
   simh = callPackage ../misc/emulators/simh { };
 
   btrfs-progs = callPackage ../tools/filesystems/btrfs-progs { };
@@ -1936,7 +1984,33 @@ in
 
   chntpw = callPackage ../tools/security/chntpw { };
 
-  clipman = callPackage ../tools/misc/clipman { };
+  clipman = callPackage ../tools/wayland/clipman { };
+
+  kanshi = callPackage ../tools/wayland/kanshi { };
+
+  oguri = callPackage  ../tools/wayland/oguri { };
+
+  slurp = callPackage ../tools/wayland/slurp { };
+
+  wayland-utils = callPackage ../tools/wayland/wayland-utils { };
+
+  wev = callPackage ../tools/wayland/wev { };
+
+  wl-clipboard = callPackage ../tools/wayland/wl-clipboard { };
+
+  wlogout = callPackage ../tools/wayland/wlogout { };
+
+  wlr-randr = callPackage ../tools/wayland/wlr-randr { };
+
+  wlsunset = callPackage ../tools/wayland/wlsunset { };
+
+  wob = callPackage ../tools/wayland/wob { };
+
+  wshowkeys = callPackage ../tools/wayland/wshowkeys { };
+
+  wtype = callPackage ../tools/wayland/wtype { };
+
+  ydotool = callPackage ../tools/wayland/ydotool { };
 
   clipster = callPackage ../tools/misc/clipster { };
 
@@ -2118,6 +2192,8 @@ in
 
   dosage = callPackage ../applications/graphics/dosage { };
 
+  dotenv-linter = callPackage ../development/tools/analysis/dotenv-linter { };
+
   dot-merlin-reader = callPackage ../development/tools/ocaml/merlin/dot-merlin-reader.nix { };
 
   dozenal = callPackage ../applications/misc/dozenal { };
@@ -2189,6 +2265,8 @@ in
 
   enca = callPackage ../tools/text/enca { };
 
+  enigma = callPackage ../games/enigma {};
+
   ent = callPackage ../tools/misc/ent { };
 
   envconsul = callPackage ../tools/system/envconsul { };
@@ -2285,7 +2363,9 @@ in
 
   qt-video-wlr = libsForQt5.callPackage ../applications/misc/qt-video-wlr { };
 
-  fwup = callPackage ../tools/misc/fwup { };
+  fwup = callPackage ../tools/misc/fwup {
+    inherit (darwin.apple_sdk.frameworks) DiskArbitration;
+  };
 
   fx_cast_bridge = callPackage ../tools/misc/fx_cast { };
 
@@ -2438,6 +2518,8 @@ in
 
   interlock = callPackage ../servers/interlock {};
 
+  iotools = callPackage ../tools/misc/iotools { };
+
   jellyfin = callPackage ../servers/jellyfin { };
 
   jellyfin_10_5 = callPackage ../servers/jellyfin/10.5.x.nix { };
@@ -2464,6 +2546,8 @@ in
 
   klog = qt5.callPackage ../applications/radio/klog { };
 
+  krapslog = callPackage ../tools/misc/krapslog { };
+
   lcdproc = callPackage ../servers/monitoring/lcdproc { };
 
   languagetool = callPackage ../tools/text/languagetool {  };
@@ -2474,6 +2558,8 @@ in
 
   lief = callPackage ../development/libraries/lief {};
 
+  libnbd = callPackage ../development/libraries/libnbd { };
+
   libndtypes = callPackage ../development/libraries/libndtypes { };
 
   libxnd = callPackage ../development/libraries/libxnd { };
@@ -2646,8 +2732,6 @@ in
 
   pbgopy = callPackage ../tools/text/pbgopy { };
 
-  pbpst = callPackage ../applications/misc/pbpst { };
-
   pbzx = callPackage ../tools/compression/pbzx { };
 
   pcb2gcode = callPackage ../tools/misc/pcb2gcode { };
@@ -2736,6 +2820,7 @@ in
 
   step-ca = callPackage ../tools/security/step-ca {
     inherit (darwin.apple_sdk.frameworks) PCSC;
+    buildGoModule = buildGo115Module;
   };
 
   step-cli = callPackage ../tools/security/step-cli { };
@@ -2833,6 +2918,8 @@ in
 
   mstflint = callPackage ../tools/misc/mstflint { };
 
+  mslink = callPackage ../tools/misc/mslink { };
+
   mcelog = callPackage ../os-specific/linux/mcelog {
     util-linux = util-linuxMinimal;
   };
@@ -2908,6 +2995,16 @@ in
 
   beanstalkd = callPackage ../servers/beanstalkd { };
 
+  bee = callPackage ../applications/networking/bee/bee.nix {
+    version = "release";
+  };
+
+  bee-unstable = bee.override {
+    version = "unstable";
+  };
+
+  bee-clef = callPackage ../applications/networking/bee/bee-clef.nix { };
+
   beets = callPackage ../tools/audio/beets {
     pythonPackages = python3Packages;
   };
@@ -2977,6 +3074,8 @@ in
 
   anydesk = callPackage ../applications/networking/remote/anydesk { };
 
+  anystyle-cli = callPackage ../tools/misc/anystyle-cli { };
+
   atool = callPackage ../tools/archivers/atool { };
 
   bash_unit = callPackage ../tools/misc/bash_unit { };
@@ -3052,6 +3151,8 @@ in
 
   checkinstall = callPackage ../tools/package-management/checkinstall { };
 
+  checkmake = callPackage ../development/tools/checkmake { };
+
   chit = callPackage ../development/tools/chit { };
 
   chkrootkit = callPackage ../tools/security/chkrootkit { };
@@ -3062,6 +3163,8 @@ in
 
   chunksync = callPackage ../tools/backup/chunksync { };
 
+  cicero-tui = callPackage ../tools/misc/cicero-tui { };
+
   cipherscan = callPackage ../tools/security/cipherscan {
     openssl = if stdenv.hostPlatform.system == "x86_64-linux"
       then openssl-chacha
@@ -3070,6 +3173,8 @@ in
 
   cjdns = callPackage ../tools/networking/cjdns { };
 
+  cjson = callPackage ../development/libraries/cjson { };
+
   cksfv = callPackage ../tools/networking/cksfv { };
 
   clementine = libsForQt514.callPackage ../applications/audio/clementine {
@@ -3087,7 +3192,7 @@ in
 
   circus = callPackage ../tools/networking/circus { };
 
-  citrix_workspace = citrix_workspace_20_12_0;
+  citrix_workspace = citrix_workspace_21_01_0;
 
   inherit (callPackage ../applications/networking/remote/citrix-workspace { })
     citrix_workspace_20_04_0
@@ -3095,6 +3200,7 @@ in
     citrix_workspace_20_09_0
     citrix_workspace_20_10_0
     citrix_workspace_20_12_0
+    citrix_workspace_21_01_0
   ;
 
   citra = libsForQt5.callPackage ../misc/emulators/citra { };
@@ -3193,6 +3299,8 @@ in
 
   netevent = callPackage ../tools/inputmethods/netevent { };
 
+  netplan = callPackage ../tools/admin/netplan { };
+
   skktools = callPackage ../tools/inputmethods/skk/skktools { };
   skk-dicts = callPackage ../tools/inputmethods/skk/skk-dicts { };
 
@@ -3209,7 +3317,9 @@ in
   ibus-engines = recurseIntoAttrs {
     anthy = callPackage ../tools/inputmethods/ibus-engines/ibus-anthy { };
 
-    bamboo = callPackage ../tools/inputmethods/ibus-engines/ibus-bamboo { };
+    bamboo = callPackage ../tools/inputmethods/ibus-engines/ibus-bamboo {
+      go = go_1_15;
+    };
 
     hangul = callPackage ../tools/inputmethods/ibus-engines/ibus-hangul { };
 
@@ -3353,11 +3463,6 @@ in
 
   cudaPackages = recurseIntoAttrs (callPackage ../development/compilers/cudatoolkit {});
   inherit (cudaPackages)
-    cudatoolkit_6
-    cudatoolkit_6_5
-    cudatoolkit_7
-    cudatoolkit_7_5
-    cudatoolkit_8
     cudatoolkit_9
     cudatoolkit_9_0
     cudatoolkit_9_1
@@ -3367,16 +3472,14 @@ in
     cudatoolkit_10_1
     cudatoolkit_10_2
     cudatoolkit_11
-    cudatoolkit_11_0;
+    cudatoolkit_11_0
+    cudatoolkit_11_1
+    cudatoolkit_11_2;
 
   cudatoolkit = cudatoolkit_10;
 
   cudnnPackages = callPackages ../development/libraries/science/math/cudnn { };
   inherit (cudnnPackages)
-    cudnn_cudatoolkit_7
-    cudnn_cudatoolkit_7_5
-    cudnn6_cudatoolkit_8
-    cudnn_cudatoolkit_8
     cudnn_cudatoolkit_9
     cudnn_cudatoolkit_9_0
     cudnn_cudatoolkit_9_1
@@ -3386,7 +3489,9 @@ in
     cudnn_cudatoolkit_10_1
     cudnn_cudatoolkit_10_2
     cudnn_cudatoolkit_11
-    cudnn_cudatoolkit_11_0;
+    cudnn_cudatoolkit_11_0
+    cudnn_cudatoolkit_11_1
+    cudnn_cudatoolkit_11_2;
 
   cudnn = cudnn_cudatoolkit_10;
 
@@ -3432,7 +3537,15 @@ in
 
   davfs2 = callPackage ../tools/filesystems/davfs2 { };
 
-  dbeaver = callPackage ../applications/misc/dbeaver { };
+  dbeaver = callPackage ../applications/misc/dbeaver {
+    jdk = jdk11; # AlgorithmId.md5WithRSAEncryption_oid was removed in jdk15
+
+    # TODO: remove once maven uses JDK 11
+    # error: org/eclipse/tycho/core/p2/P2ArtifactRepositoryLayout has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
+    maven = maven.override {
+      jdk = jdk11;
+    };
+  };
 
   dbench = callPackage ../development/tools/misc/dbench { };
 
@@ -3708,6 +3821,8 @@ in
 
   edid-generator = callPackage ../tools/misc/edid-generator { };
 
+  edir = callPackage ../tools/misc/edir { };
+
   editres = callPackage ../tools/graphics/editres { };
 
   edit = callPackage ../applications/editors/edit { };
@@ -3792,28 +3907,16 @@ in
 
   volctl = callPackage ../tools/audio/volctl { };
 
-  vorta = python3Packages.callPackage ../applications/backup/vorta { };
+  vorta = libsForQt5.callPackage ../applications/backup/vorta { };
 
   utahfs = callPackage ../applications/networking/utahfs { };
 
-  wallutils = callPackage ../tools/graphics/wallutils { };
-
-  wayland-utils = callPackage ../tools/wayland/wayland-utils { };
+  wakeonlan = callPackage ../tools/networking/wakeonlan { };
 
-  wev = callPackage ../tools/misc/wev { };
-
-  wl-clipboard = callPackage ../tools/misc/wl-clipboard { };
-
-  wlsunset = callPackage ../tools/wayland/wlsunset { };
-
-  wob = callPackage ../tools/misc/wob { };
-
-  wtype = callPackage ../tools/wayland/wtype { };
+  wallutils = callPackage ../tools/graphics/wallutils { };
 
   wrangler = callPackage ../development/tools/wrangler { };
 
-  wshowkeys = callPackage ../tools/wayland/wshowkeys { };
-
   wsl-open = callPackage ../tools/misc/wsl-open { };
 
   xkcdpass = with python3Packages; toPythonApplication xkcdpass;
@@ -3955,7 +4058,9 @@ in
 
   eva = callPackage ../tools/misc/eva { };
 
-  exa = callPackage ../tools/misc/exa { };
+  exa = callPackage ../tools/misc/exa {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   exempi = callPackage ../development/libraries/exempi {
     stdenv = if stdenv.isi686 then gcc6Stdenv else stdenv;
@@ -4162,8 +4267,6 @@ in
 
   lp_solve = callPackage ../applications/science/math/lp_solve { };
 
-  lprof = callPackage ../tools/graphics/lprof { };
-
   fastlane = callPackage ../tools/admin/fastlane { };
 
   fatresize = callPackage ../tools/filesystems/fatresize {};
@@ -4192,6 +4295,8 @@ in
     python = python2;
   };
 
+  fontfor = callPackage ../tools/misc/fontfor { };
+
   fontforge = lowPrio (callPackage ../tools/misc/fontforge {
     inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
     python = python3;
@@ -4318,6 +4423,8 @@ in
     gtk = gtk3;
   };
 
+  free42 = callPackage ../applications/misc/free42 { };
+
   galen = callPackage ../development/tools/galen {};
 
   gallery-dl = python3Packages.callPackage ../applications/misc/gallery-dl { };
@@ -4798,6 +4905,8 @@ in
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  robodoc = callPackage ../tools/text/robodoc { };
+
   ucg = callPackage ../tools/text/ucg { };
 
   grive2 = callPackage ../tools/filesystems/grive2 { };
@@ -4953,9 +5062,7 @@ in
     hdf4 = null;
   };
 
-  haproxy = callPackage ../tools/networking/haproxy {
-    stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
-  };
+  haproxy = callPackage ../tools/networking/haproxy { };
 
   hackertyper = callPackage ../tools/misc/hackertyper { };
 
@@ -4981,8 +5088,6 @@ in
 
   haste-client = callPackage ../tools/misc/haste-client { };
 
-  hal-flash = callPackage ../os-specific/linux/hal-flash { };
-
   hal-hardware-analyzer = libsForQt5.callPackage ../applications/science/electronics/hal-hardware-analyzer { };
 
   half = callPackage ../development/libraries/half { };
@@ -5038,13 +5143,7 @@ in
 
   hdf5-blosc = callPackage ../development/libraries/hdf5-blosc { };
 
-  hdfview = callPackage ../tools/misc/hdfview {
-    javac = jdk8; # TODO: https://github.com/NixOS/nixpkgs/pull/89731
-  };
-
-  hdf_java = callPackage ../tools/misc/hdfjava {
-    javac = jdk8; # TODO: https://github.com/NixOS/nixpkgs/pull/89731
-  };
+  hdfview = callPackage ../tools/misc/hdfview { };
 
   hecate = callPackage ../applications/editors/hecate { };
 
@@ -5195,6 +5294,8 @@ in
     packages = config.ihaskell.packages or (self: []);
   };
 
+  ijq = callPackage ../development/tools/ijq { };
+
   iruby = callPackage ../applications/editors/jupyter-kernels/iruby { };
 
   ike-scan = callPackage ../tools/security/ike-scan { };
@@ -5301,7 +5402,9 @@ in
 
   ispike = callPackage ../development/libraries/science/robotics/ispike { };
 
-  isync = callPackage ../tools/networking/isync { };
+  isync = callPackage ../tools/networking/isync {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   itm-tools = callPackage ../development/tools/misc/itm-tools { };
 
@@ -5388,7 +5491,7 @@ in
 
   jo = callPackage ../development/tools/jo { };
 
-  jrnl = callPackage ../applications/misc/jrnl { };
+  jrnl = python3Packages.callPackage ../applications/misc/jrnl { };
 
   jsawk = callPackage ../tools/text/jsawk { };
 
@@ -5433,7 +5536,9 @@ in
     plugins = [ ];  # override with the list of desired plugins
   };
 
-  kak-lsp = callPackage ../tools/misc/kak-lsp { };
+  kak-lsp = callPackage ../tools/misc/kak-lsp {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   kbdd = callPackage ../applications/window-managers/kbdd { };
 
@@ -5792,6 +5897,8 @@ in
 
   np2kai = callPackage ../misc/emulators/np2kai { };
 
+  ox = callPackage ../applications/editors/ox { };
+
   file-rename = callPackage ../tools/filesystems/file-rename { };
 
   kcollectd = libsForQt5.callPackage ../tools/misc/kcollectd {};
@@ -5954,7 +6061,8 @@ in
   inherit (callPackages ../development/libraries/libwebsockets { })
     libwebsockets_3_1
     libwebsockets_3_2
-    libwebsockets_4_0;
+    libwebsockets_4_0
+    libwebsockets_4_1;
   libwebsockets = libwebsockets_3_2;
 
   licensee = callPackage ../tools/package-management/licensee { };
@@ -6017,7 +6125,7 @@ in
 
   lzip = callPackage ../tools/compression/lzip { };
 
-  luxcorerender = callPackage ../tools/graphics/luxcorerender { qt5 = qt514; };
+  luxcorerender = callPackage ../tools/graphics/luxcorerender { };
 
   xz = callPackage ../tools/compression/xz { };
   lzma = xz; # TODO: move to aliases.nix
@@ -6032,6 +6140,8 @@ in
 
   madlang = haskell.lib.justStaticExecutables haskellPackages.madlang;
 
+  maeparser = callPackage ../development/libraries/maeparser { };
+
   mailcheck = callPackage ../applications/networking/mailreaders/mailcheck { };
 
   maildrop = callPackage ../tools/networking/maildrop { };
@@ -6464,16 +6574,13 @@ in
 
   noip = callPackage ../tools/networking/noip { };
 
-  nomad = nomad_0_12;
+  nomad = nomad_1_0;
 
   # Nomad never updates major go versions within a release series and is unsupported
   # on Go versions that it did not ship with. Due to historic bugs when compiled
   # with different versions we pin Go for all versions.
-  nomad_0_11 = callPackage ../applications/networking/cluster/nomad/0.11.nix {
-    buildGoPackage = buildGo114Package;
-    inherit (linuxPackages) nvidia_x11;
-    nvidiaGpuSupport = config.cudaSupport or false;
-  };
+  # Upstream partially documents used Go versions here
+  # https://github.com/hashicorp/nomad/blob/master/contributing/golang.md
   nomad_0_12 = callPackage ../applications/networking/cluster/nomad/0.12.nix {
     buildGoPackage = buildGo114Package;
     inherit (linuxPackages) nvidia_x11;
@@ -6549,6 +6656,8 @@ in
     graphicalSupport = true;
   };
 
+  nmap-unfree = callPackage ../tools/security/nmap-unfree { };
+
   nmapsi4 = libsForQt514.callPackage ../tools/security/nmap/qt.nix { };
 
   nnn = callPackage ../applications/misc/nnn { };
@@ -6633,6 +6742,8 @@ in
 
   opencorsairlink = callPackage ../tools/misc/opencorsairlink { };
 
+  openfpgaloader = callPackage ../development/tools/misc/openfpgaloader { };
+
   openfortivpn = callPackage ../tools/networking/openfortivpn { };
 
   obexfs = callPackage ../tools/bluetooth/obexfs { };
@@ -6696,6 +6807,8 @@ in
     opendylan-bootstrap = opendylan_bin;
   };
 
+  ophis = python3Packages.callPackage ../development/compilers/ophis { };
+
   opendylan_bin = callPackage ../development/compilers/opendylan/bin.nix { };
 
   open-ecard = callPackage ../tools/security/open-ecard { };
@@ -6820,6 +6933,8 @@ in
 
   ovh-ttyrec = callPackage ../tools/misc/ovh-ttyrec { };
 
+  ovito = libsForQt5.callPackage ../applications/graphics/ovito { };
+
   owncloud-client = libsForQt514.callPackage ../applications/networking/owncloud-client { };
 
   oxidized = callPackage ../tools/admin/oxidized { };
@@ -6929,7 +7044,9 @@ in
 
   pcimem = callPackage ../os-specific/linux/pcimem { };
 
-  pciutils = callPackage ../tools/system/pciutils { };
+  pciutils = callPackage ../tools/system/pciutils {
+    inherit (darwin.apple_sdk.frameworks) IOKit;
+  };
 
   pcsclite = callPackage ../tools/security/pcsclite {
     inherit (darwin.apple_sdk.frameworks) IOKit;
@@ -7134,6 +7251,8 @@ in
 
   povray = callPackage ../tools/graphics/povray { };
 
+  power-profiles-daemon = callPackage ../os-specific/linux/power-profiles-daemon { };
+
   ppl = callPackage ../development/libraries/ppl { };
 
   pplatex = callPackage ../tools/typesetting/tex/pplatex { };
@@ -7150,6 +7269,8 @@ in
 
   prettyping = callPackage ../tools/networking/prettyping { };
 
+  pritunl-ssh = callPackage ../tools/networking/pritunl-ssh { };
+
   profile-cleaner = callPackage ../tools/misc/profile-cleaner { };
 
   profile-sync-daemon = callPackage ../tools/misc/profile-sync-daemon { };
@@ -7266,9 +7387,15 @@ in
 
   rocket = libsForQt5.callPackage ../tools/graphics/rocket { };
 
-  rtaudio = callPackage ../development/libraries/audio/rtaudio { };
+  rtaudio = callPackage ../development/libraries/audio/rtaudio {
+    jack = libjack2;
+    inherit (darwin.apple_sdk.frameworks) CoreAudio;
+  };
 
-  rtmidi = callPackage ../development/libraries/audio/rtmidi { };
+  rtmidi = callPackage ../development/libraries/audio/rtmidi {
+    jack = libjack2;
+    inherit (darwin.apple_sdk.frameworks) CoreMIDI CoreAudio CoreServices;
+  };
 
   openmpi = callPackage ../development/libraries/openmpi { };
 
@@ -7386,8 +7513,7 @@ in
 
   redir = callPackage ../tools/networking/redir { };
 
-  # failed to build websocket-driver gem with ruby 2.6, so sticking to 2.5 for now
-  redmine = callPackage ../applications/version-management/redmine { ruby = pkgs.ruby_2_5; };
+  redmine = callPackage ../applications/version-management/redmine { };
 
   redsocks = callPackage ../tools/networking/redsocks { };
 
@@ -7741,7 +7867,7 @@ in
   shabnam-fonts = callPackage ../data/fonts/shabnam-fonts { };
 
   shadowsocks-rust = callPackage ../tools/networking/shadowsocks-rust {
-    inherit (darwin.apple_sdk.frameworks) Security;
+    inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
 
   shadowsocks-v2ray-plugin = callPackage ../tools/networking/shadowsocks-v2ray-plugin { };
@@ -7891,6 +8017,8 @@ in
 
   spglib = callPackage ../development/libraries/spglib { };
 
+  spicy = callPackage ../development/tools/spicy { };
+
   ssh-askpass-fullscreen = callPackage ../tools/networking/ssh-askpass-fullscreen { };
 
   sshguard = callPackage ../tools/security/sshguard {};
@@ -7899,6 +8027,8 @@ in
 
   ssh-chat = callPackage ../applications/networking/instant-messengers/ssh-chat { };
 
+  ssh-to-pgp = callPackage ../tools/security/ssh-to-pgp { };
+
   suricata = callPackage ../applications/networking/ids/suricata {
     python = python3;
   };
@@ -7944,6 +8074,8 @@ in
 
   stubby = callPackage ../tools/networking/stubby { };
 
+  surface-control = callPackage ../applications/misc/surface-control { };
+
   syntex = callPackage ../tools/graphics/syntex {};
 
   sl = callPackage ../tools/misc/sl { stdenv = gccStdenv; };
@@ -7954,7 +8086,9 @@ in
 
   solaar = callPackage ../applications/misc/solaar {};
 
-  solanum = callPackage ../servers/irc/solanum {};
+  solanum = callPackage ../servers/irc/solanum {
+    autoreconfHook = buildPackages.autoreconfHook269;
+  };
 
   sourceHighlight = callPackage ../tools/text/source-highlight { };
 
@@ -8059,6 +8193,8 @@ in
 
   stress-ng = callPackage ../tools/system/stress-ng { };
 
+  stressapptest = callPackage ../tools/system/stressapptest { };
+
   stoken = callPackage ../tools/security/stoken (config.stoken or {});
 
   storeBackup = callPackage ../tools/backup/store-backup { };
@@ -8095,6 +8231,13 @@ in
 
   swec = callPackage ../tools/networking/swec { };
 
+  swtpm = callPackage ../tools/security/swtpm { };
+  swtpm-tpm2 = swtpm.override {
+    libtpms = libtpms.override {
+      tpm2Support = true;
+    };
+  };
+
   svn2git = callPackage ../applications/version-management/git-and-tools/svn2git {
     git = gitSVN;
   };
@@ -8224,7 +8367,7 @@ in
 
   textadept11 = callPackage ../applications/editors/textadept/11 { };
 
-  texworks = libsForQt514.callPackage ../applications/editors/texworks { };
+  texworks = libsForQt5.callPackage ../applications/editors/texworks { };
 
   thc-hydra = callPackage ../tools/security/thc-hydra { };
 
@@ -8310,6 +8453,8 @@ in
 
   tmuxinator = callPackage ../tools/misc/tmuxinator { };
 
+  tmux-mem-cpu-load = callPackage ../tools/misc/tmux-mem-cpu-load { };
+
   tmux-xpanes = callPackage ../tools/misc/tmux-xpanes { };
 
   tmuxPlugins = recurseIntoAttrs (callPackage ../misc/tmux-plugins { });
@@ -8318,7 +8463,9 @@ in
 
   toilet = callPackage ../tools/misc/toilet { };
 
-  tokei = callPackage ../development/tools/misc/tokei { };
+  tokei = callPackage ../development/tools/misc/tokei {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   toml2nix = (callPackage ../tools/toml2nix { }).toml2nix { };
 
@@ -8362,10 +8509,14 @@ in
 
   trezor-udev-rules = callPackage ../os-specific/linux/trezor-udev-rules {};
 
+  trezorctl = with python3Packages; toPythonApplication trezor;
+
   trezord = callPackage ../servers/trezord { };
 
   trezor_agent = with python3Packages; toPythonApplication trezor_agent;
 
+  trezor-suite = callPackage ../applications/blockchains/trezor-suite { };
+
   tthsum = callPackage ../applications/misc/tthsum { };
 
   chaps = callPackage ../tools/security/chaps { };
@@ -8450,6 +8601,8 @@ in
     libX11 = xorg.libX11;
   };
 
+  twitch-chat-downloader = python3Packages.callPackage ../applications/misc/twitch-chat-downloader { };
+
   twitterBootstrap = callPackage ../development/web/twitter-bootstrap {};
 
   twtxt = callPackage ../applications/networking/twtxt { };
@@ -8506,12 +8659,12 @@ in
 
   untex = callPackage ../tools/text/untex { };
 
-  untrunc = callPackage ../tools/video/untrunc { };
-
   untrunc-anthwlock = callPackage ../tools/video/untrunc-anthwlock { };
 
   up = callPackage ../tools/misc/up { };
 
+  upterm = callPackage ../tools/misc/upterm { };
+
   upx = callPackage ../tools/compression/upx { };
 
   uq = callPackage ../misc/uq { };
@@ -8540,7 +8693,9 @@ in
 
   uwsgi = callPackage ../servers/uwsgi { };
 
-  v2ray = callPackage ../tools/networking/v2ray { };
+  v2ray = callPackage ../tools/networking/v2ray {
+    buildGoModule = buildGo115Module;
+  };
 
   vacuum = callPackage ../applications/networking/instant-messengers/vacuum {};
 
@@ -8769,6 +8924,8 @@ in
     inherit (darwin.apple_sdk.frameworks) SystemConfiguration Foundation;
   };
 
+  htmltest = callPackage ../development/tools/htmltest { };
+
   rcm = callPackage ../tools/misc/rcm {};
 
   td = callPackage ../tools/misc/td { };
@@ -8812,6 +8969,11 @@ in
 
   ttwatch = callPackage ../tools/misc/ttwatch { };
 
+  turbovnc = callPackage ../tools/admin/turbovnc {
+    # fontDirectories = [ xorg.fontadobe75dpi xorg.fontmiscmisc xorg.fontcursormisc xorg.fontbhlucidatypewriter75dpi ];
+    libjpeg_turbo = libjpeg_turbo.override { enableJava = true; };
+  };
+
   udunits = callPackage ../development/libraries/udunits { };
 
   uftp = callPackage ../servers/uftp {};
@@ -8834,6 +8996,11 @@ in
     withSystemd = true;
   };
 
+  unbound-full = unbound.override {
+    withSystemd = true;
+    withDoH = true;
+  };
+
   unicorn = callPackage ../development/libraries/unicorn { };
 
   units = callPackage ../tools/misc/units {
@@ -8921,10 +9088,6 @@ in
 
   hitch = callPackage ../servers/hitch { };
 
-  venus = callPackage ../tools/misc/venus {
-    python = python27;
-  };
-
   veracrypt = callPackage ../applications/misc/veracrypt {
     wxGTK = wxGTK30;
   };
@@ -8960,6 +9123,18 @@ in
     libpsl = null;
   };
 
+  wget2 = callPackage ../tools/networking/wget2 {
+    # update breaks grub2
+    gnulib = pkgs.gnulib.overrideAttrs (oldAttrs: rec {
+      version = "20210208";
+      src = fetchgit {
+        url = "https://git.savannah.gnu.org/r/gnulib.git";
+        rev = "0b38e1d69f03d3977d7ae7926c1efeb461a8a971";
+        sha256 = "06bj9y8wcfh35h653yk8j044k7h5g82d2j3z3ib69rg0gy1xagzp";
+      };
+    });
+  };
+
   wg-bond = callPackage ../applications/networking/wg-bond { };
 
   which = callPackage ../tools/system/which { };
@@ -9062,8 +9237,6 @@ in
     w3m = w3m-batch;
   };
 
-  xmpppy = pythonPackages.xmpppy;
-
   xiccd = callPackage ../tools/misc/xiccd { };
 
   xidlehook = callPackage ../tools/X11/xidlehook {
@@ -9184,10 +9357,12 @@ in
 
   zplug = callPackage ../shells/zsh/zplug { };
 
-  zplugin = callPackage ../shells/zsh/zplugin {} ;
+  zinit = callPackage ../shells/zsh/zinit {} ;
 
   zsh-autoenv = callPackage ../tools/misc/zsh-autoenv { };
 
+  zsh-autopair = callPackage ../shells/zsh/zsh-autopair { };
+
   zsh-bd = callPackage ../shells/zsh/zsh-bd { };
 
   zsh-git-prompt = callPackage ../shells/zsh/zsh-git-prompt { };
@@ -9202,6 +9377,8 @@ in
 
   zsh-syntax-highlighting = callPackage ../shells/zsh/zsh-syntax-highlighting { };
 
+  zsh-system-clipboard = callPackage ../shells/zsh/zsh-system-clipboard { };
+
   zsh-fast-syntax-highlighting = callPackage ../shells/zsh/zsh-fast-syntax-highlighting { };
 
   zsh-fzf-tab = callPackage ../shells/zsh/zsh-fzf-tab { };
@@ -9569,7 +9746,7 @@ in
 
   icr = callPackage ../development/tools/icr { };
 
-  scry = callPackage ../development/tools/scry {};
+  scry = callPackage ../development/tools/scry { };
 
   dasm = callPackage ../development/compilers/dasm/default.nix { };
 
@@ -9761,6 +9938,9 @@ in
     libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
     threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
 
+    # gcc 10 is too strict to cross compile gcc <= 8
+    stdenv = if (stdenv.targetPlatform != stdenv.buildPlatform) && stdenv.cc.isGNU then gcc7Stdenv else stdenv;
+
     isl = if stdenv.isDarwin
             then null
           else if stdenv.targetPlatform.isRedox
@@ -9777,6 +9957,9 @@ in
     libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
     threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
 
+    # gcc 10 is too strict to cross compile gcc <= 8
+    stdenv = if (stdenv.targetPlatform != stdenv.buildPlatform) && stdenv.cc.isGNU then gcc7Stdenv else stdenv;
+
     isl = if !stdenv.isDarwin then isl_0_17 else null;
   }));
 
@@ -9789,6 +9972,9 @@ in
     libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
     threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
 
+    # gcc 10 is too strict to cross compile gcc <= 8
+    stdenv = if (stdenv.targetPlatform != stdenv.buildPlatform) && stdenv.cc.isGNU then gcc7Stdenv else stdenv;
+
     isl = if !stdenv.isDarwin then isl_0_17 else null;
   }));
 
@@ -9880,7 +10066,7 @@ in
     profiledCompiler = false;
   });
 
-  libgccjit = gcc9.cc.override {
+  libgccjit = gcc.cc.override {
     name = "libgccjit";
     langFortran = false;
     langCC = false;
@@ -9990,7 +10176,7 @@ in
 
   # Please update doc/languages-frameworks/haskell.section.md, “Our
   # current default compiler is”, if you bump this:
-  haskellPackages = dontRecurseIntoAttrs haskell.packages.ghc8103;
+  haskellPackages = dontRecurseIntoAttrs haskell.packages.ghc8104;
 
   inherit (haskellPackages) ghc;
 
@@ -10056,41 +10242,35 @@ in
 
   glslang = callPackage ../development/compilers/glslang { };
 
-  go_bootstrap = if stdenv.isAarch64 then
-    srcOnly {
-      name = "go-1.8-linux-arm64-bootstrap";
-      src = fetchurl {
-        url = "https://cache.xor.us/go-1.8-linux-arm64-bootstrap.tar.xz";
-        sha256 = "0sk6g03x9gbxk2k1djnrgy8rzw1zc5f6ssw0hbxk6kjr85lpmld6";
-      };
-    }
-  else
-    callPackage ../development/compilers/go/1.4.nix {
-      inherit (darwin.apple_sdk.frameworks) Security;
-    };
-
   go_1_14 = callPackage ../development/compilers/go/1.14.nix ({
     inherit (darwin.apple_sdk.frameworks) Security Foundation;
-  } // lib.optionalAttrs stdenv.isAarch64 {
+  } // lib.optionalAttrs (stdenv.cc.isGNU && stdenv.isAarch64) {
     stdenv = gcc8Stdenv;
-    buildPackages = buildPackages // { stdenv = gcc8Stdenv; };
+    buildPackages = buildPackages // { stdenv = buildPackages.gcc8Stdenv; };
   });
 
   go_1_15 = callPackage ../development/compilers/go/1.15.nix ({
     inherit (darwin.apple_sdk.frameworks) Security Foundation;
-  } // lib.optionalAttrs stdenv.isAarch64 {
+  } // lib.optionalAttrs (stdenv.cc.isGNU && stdenv.isAarch64) {
+    stdenv = gcc8Stdenv;
+    buildPackages = buildPackages // { stdenv = buildPackages.gcc8Stdenv; };
+  });
+
+  go_1_16 = callPackage ../development/compilers/go/1.16.nix ({
+    inherit (darwin.apple_sdk.frameworks) Security Foundation;
+  } // lib.optionalAttrs (stdenv.cc.isGNU && stdenv.isAarch64) {
     stdenv = gcc8Stdenv;
-    buildPackages = buildPackages // { stdenv = gcc8Stdenv; };
+    buildPackages = buildPackages // { stdenv = buildPackages.gcc8Stdenv; };
   });
 
   go_2-dev = callPackage ../development/compilers/go/2-dev.nix ({
     inherit (darwin.apple_sdk.frameworks) Security Foundation;
-  } // lib.optionalAttrs stdenv.isAarch64 {
+  } // lib.optionalAttrs (stdenv.cc.isGNU && stdenv.isAarch64) {
     stdenv = gcc8Stdenv;
-    buildPackages = buildPackages // { stdenv = gcc8Stdenv; };
+    buildPackages = buildPackages // { stdenv = buildPackages.gcc8Stdenv; };
   });
 
-  go = go_1_15;
+  go = go_1_16;
 
   go-repo-root = callPackage ../development/tools/go-repo-root { };
 
@@ -10124,6 +10304,8 @@ in
     inherit (emacs.pkgs.melpaStablePackages) irony;
   };
 
+  holo-build = callPackage ../tools/package-management/holo-build { };
+
   hugs = callPackage ../development/interpreters/hugs { };
 
   openjfx11 = callPackage ../development/compilers/openjdk/openjfx/11.nix { };
@@ -10252,9 +10434,9 @@ in
     inherit (darwin) libiconv libobjc libresolv;
   }) mx jvmci8 graalvm8;
 
-  inherit (callPackages ../development/compilers/graalvm/community-edition.nix { })
-    graalvm8-ce
-    graalvm11-ce;
+  inherit (callPackages ../development/compilers/graalvm/community-edition.nix {
+    inherit (darwin.apple_sdk.frameworks) Foundation;
+  }) graalvm8-ce graalvm11-ce;
 
   inherit (callPackages ../development/compilers/graalvm/enterprise-edition.nix { })
     graalvm8-ee
@@ -10316,27 +10498,19 @@ in
 
   jwasm =  callPackage ../development/compilers/jwasm { };
 
-  knightos-genkfs = callPackage ../development/tools/knightos/genkfs {
-    asciidoc = asciidoc-full;
-  };
+  knightos-genkfs = callPackage ../development/tools/knightos/genkfs { };
 
   knightos-kcc = callPackage ../development/tools/knightos/kcc { };
 
-  knightos-kimg = callPackage ../development/tools/knightos/kimg {
-    asciidoc = asciidoc-full;
-  };
+  knightos-kimg = callPackage ../development/tools/knightos/kimg { };
 
   knightos-kpack = callPackage ../development/tools/knightos/kpack { };
 
-  knightos-mkrom = callPackage ../development/tools/knightos/mkrom {
-    asciidoc = asciidoc-full;
-  };
+  knightos-mkrom = callPackage ../development/tools/knightos/mkrom { };
 
   knightos-patchrom = callPackage ../development/tools/knightos/patchrom { };
 
-  knightos-mktiupgrade = callPackage ../development/tools/knightos/mktiupgrade {
-    asciidoc = asciidoc-full;
-  };
+  knightos-mktiupgrade = callPackage ../development/tools/knightos/mktiupgrade { };
 
   knightos-scas = callPackage ../development/tools/knightos/scas { };
 
@@ -10695,6 +10869,7 @@ in
   cargo-c = callPackage ../development/tools/rust/cargo-c {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
   };
+  cargo-criterion = callPackage ../development/tools/rust/cargo-criterion { };
   cargo-deb = callPackage ../tools/package-management/cargo-deb {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -10748,6 +10923,7 @@ in
   cargo-make = callPackage ../development/tools/rust/cargo-make {
     inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
   };
+  cargo-play = callPackage ../development/tools/rust/cargo-play { };
   cargo-raze = callPackage ../development/tools/rust/cargo-raze {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -10767,13 +10943,20 @@ in
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  cargo-whatfeatures = callPackage ../development/tools/rust/cargo-whatfeatures {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   crate2nix = callPackage ../development/tools/rust/crate2nix { };
 
   convco = callPackage ../development/tools/convco {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
-  maturin = callPackage ../development/tools/rust/maturin { };
+  maturin = callPackage ../development/tools/rust/maturin {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   inherit (rustPackages) rls;
   rustfmt = rustPackages.rustfmt;
   rustracer = callPackage ../development/tools/rust/racer {
@@ -10796,6 +10979,7 @@ in
 
   sbclBootstrap = callPackage ../development/compilers/sbcl/bootstrap.nix {};
   sbcl_2_0_9 = callPackage ../development/compilers/sbcl/2.0.9.nix {};
+  sbcl_2_1_1 = callPackage ../development/compilers/sbcl/2.1.1.nix {};
   sbcl = callPackage ../development/compilers/sbcl {};
 
   scala_2_10 = callPackage ../development/compilers/scala/2.x.nix { majorVersion = "2.10"; jre = jdk8; };
@@ -10826,6 +11010,8 @@ in
   smlnjBootstrap = callPackage ../development/compilers/smlnj/bootstrap.nix { };
   smlnj = callPackage ../development/compilers/smlnj { };
 
+  smlpkg = callPackage ../tools/package-management/smlpkg { };
+
   solc = callPackage ../development/compilers/solc { };
 
   souffle = callPackage ../development/compilers/souffle {
@@ -11039,12 +11225,15 @@ in
   };
 
   beam = callPackage ./beam-packages.nix { };
+  beam_nox = callPackage ./beam-packages.nix { wxSupport = false; };
 
   inherit (beam.interpreters)
     erlang erlangR23 erlangR22 erlangR21 erlangR20 erlangR19 erlangR18
-    erlang_odbc erlang_javac erlang_odbc_javac erlang_nox erlang_basho_R16B02
+    erlang_odbc erlang_javac erlang_odbc_javac erlang_basho_R16B02
     elixir elixir_1_11 elixir_1_10 elixir_1_9 elixir_1_8 elixir_1_7;
 
+  erlang_nox = beam_nox.interpreters.erlang;
+
   inherit (beam.packages.erlang)
     rebar rebar3
     fetchHex beamPackages
@@ -11189,6 +11378,8 @@ in
     overridePlatforms = ["x86_64-linux" "x86_64-darwin"];
   };
 
+  octavePackages = recurseIntoAttrs octave.pkgs;
+
   ocropus = callPackage ../applications/misc/ocropus { };
 
   pachyderm = callPackage ../applications/networking/cluster/pachyderm { };
@@ -11198,9 +11389,10 @@ in
   #
   # Set default PHP interpreter, extensions and packages
   php = php74;
-  phpExtensions = php74Extensions;
-  phpPackages = php74Packages;
+  phpExtensions = php.extensions;
+  phpPackages = php.packages;
 
+  # Import PHP80 interpreter, extensions and packages
   php80 = callPackage ../development/interpreters/php/8.0.nix {
     stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
   };
@@ -11249,38 +11441,46 @@ in
   # These are for compatibility and should not be used inside Nixpkgs.
   pythonFull = python.override {
     self = pythonFull;
+    pythonAttr = "pythonFull";
     x11Support = true;
   };
   python2Full = python2.override {
     self = python2Full;
+    pythonAttr = "python2Full";
     x11Support = true;
   };
   python27Full = python27.override {
     self = python27Full;
+    pythonAttr = "python27Full";
     x11Support = true;
   };
   python3Full = python3.override {
     self = python3Full;
+    pythonAttr = "python3Full";
     bluezSupport = true;
     x11Support = true;
   };
   python36Full = python36.override {
     self = python36Full;
+    pythonAttr = "python36Full";
     bluezSupport = true;
     x11Support = true;
   };
   python37Full = python37.override {
     self = python37Full;
+    pythonAttr = "python37Full";
     bluezSupport = true;
     x11Support = true;
   };
   python38Full = python38.override {
     self = python38Full;
+    pythonAttr = "python38Full";
     bluezSupport = true;
     x11Support = true;
   };
   python39Full = python39.override {
     self = python39Full;
+    pythonAttr = "python39Full";
     bluezSupport = true;
     x11Support = true;
   };
@@ -11400,14 +11600,12 @@ in
     autoreconfHook = buildPackages.autoreconfHook269;
     bison = buildPackages.bison_3_5;
   })
-    ruby_2_5
     ruby_2_6
     ruby_2_7;
 
   ruby = ruby_2_6;
   rubyPackages = rubyPackages_2_6;
 
-  rubyPackages_2_5 = recurseIntoAttrs ruby_2_5.gems;
   rubyPackages_2_6 = recurseIntoAttrs ruby_2_6.gems;
   rubyPackages_2_7 = recurseIntoAttrs ruby_2_7.gems;
 
@@ -11640,6 +11838,8 @@ in
 
   avrdude = callPackage ../development/tools/misc/avrdude { };
 
+  b4 = callPackage ../development/tools/b4 { };
+
   babeltrace = callPackage ../development/tools/misc/babeltrace { };
 
   bam = callPackage ../development/tools/build-managers/bam {};
@@ -11680,13 +11880,23 @@ in
   bazel_3 = callPackage ../development/tools/build-managers/bazel/bazel_3 {
     inherit (darwin) cctools;
     inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Foundation;
-    buildJdk = jdk8_headless;
-    buildJdkName = "jdk8";
+    buildJdk = jdk11_headless;
+    buildJdkName = "java11";
     runJdk = jdk11_headless;
-    stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
+    stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
     bazel_self = bazel_3;
   };
 
+  bazel_4 = callPackage ../development/tools/build-managers/bazel/bazel_4 {
+    inherit (darwin) cctools;
+    inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Foundation;
+    buildJdk = jdk11_headless;
+    buildJdkName = "java11";
+    runJdk = jdk11_headless;
+    stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
+    bazel_self = bazel_4;
+  };
+
   bazel-buildtools = callPackage ../development/tools/build-managers/bazel/buildtools { };
   buildifier = bazel-buildtools;
   buildozer = bazel-buildtools;
@@ -11858,7 +12068,7 @@ in
 
   cloudcompare = libsForQt5.callPackage ../applications/graphics/cloudcompare {};
 
-  cloudfoundry-cli = callPackage ../development/tools/cloudfoundry-cli { };
+  cloudfoundry-cli = callPackage ../applications/networking/cluster/cloudfoundry-cli { };
 
   clpm = callPackage ../development/tools/clpm {};
 
@@ -11925,8 +12135,7 @@ in
   cpplint = callPackage ../development/tools/analysis/cpplint { };
 
   ccls = callPackage ../development/tools/misc/ccls {
-    llvmPackages = llvmPackages_8;
-    stdenv = llvmPackages_8.stdenv;
+    llvmPackages = llvmPackages_latest;
   };
 
   credstash = with python3Packages; toPythonApplication credstash;
@@ -11941,6 +12150,10 @@ in
 
   csslint = callPackage ../development/web/csslint { };
 
+  cvise = python3Packages.callPackage ../development/tools/misc/cvise {
+    inherit (llvmPackages_11) llvm clang-unwrapped;
+  };
+
   libcxx = llvmPackages.libcxx;
   libcxxabi = llvmPackages.libcxxabi;
 
@@ -12061,6 +12274,8 @@ in
 
   editorconfig-core-c = callPackage ../development/tools/misc/editorconfig-core-c { };
 
+  edb = libsForQt5.callPackage ../development/tools/misc/edb { };
+
   eggdbus = callPackage ../development/tools/misc/eggdbus { };
 
   effitask = callPackage ../applications/misc/effitask { };
@@ -12199,6 +12414,8 @@ in
 
   gputils = callPackage ../development/tools/misc/gputils { };
 
+  gpuvis = callPackage ../development/tools/misc/gpuvis { };
+
   gradleGen = callPackage ../development/tools/build-managers/gradle {
     java = jdk8; # TODO: upgrade https://github.com/NixOS/nixpkgs/pull/89731
   };
@@ -12304,6 +12521,8 @@ in
 
   augustus = callPackage ../games/augustus { };
 
+  k2tf = callPackage ../development/tools/misc/k2tf { };
+
   kafkacat = callPackage ../development/tools/kafkacat { };
 
   kati = callPackage ../development/tools/build-managers/kati { };
@@ -12343,6 +12562,8 @@ in
 
   kustomize = callPackage ../development/tools/kustomize { };
 
+  kustomize-sops = callPackage ../development/tools/kustomize/kustomize-sops.nix { };
+
   ktlint = callPackage ../development/tools/ktlint { };
 
   kythe = callPackage ../development/tools/kythe { };
@@ -12388,9 +12609,7 @@ in
   massif-visualizer = libsForQt5.callPackage ../development/tools/analysis/massif-visualizer { };
 
   maven = maven3;
-  maven3 = callPackage ../development/tools/build-managers/apache-maven {
-    jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
-  };
+  maven3 = callPackage ../development/tools/build-managers/apache-maven { };
 
   mavproxy = python3Packages.callPackage ../applications/science/robotics/mavproxy { };
 
@@ -12545,6 +12764,8 @@ in
 
   pprof = callPackage ../development/tools/profiling/pprof { };
 
+  pqrs = callPackage ../development/tools/pqrs { };
+
   pyprof2calltree = with python3Packages; toPythonApplication pyprof2calltree;
 
   prelink = callPackage ../development/tools/misc/prelink { };
@@ -12571,7 +12792,7 @@ in
 
   pyrseas = callPackage ../development/tools/database/pyrseas { };
 
-  qtcreator = libsForQt514.callPackage ../development/tools/qtcreator { };
+  qtcreator = libsForQt5.callPackage ../development/tools/qtcreator { };
 
   qxmledit = libsForQt5.callPackage ../applications/editors/qxmledit {} ;
 
@@ -12640,8 +12861,6 @@ in
 
   sauce-connect = callPackage ../development/tools/sauce-connect { };
 
-  scaff = callPackage ../development/tools/scaff { };
-
   sd-local = callPackage ../development/tools/sd-local { };
 
   selenium-server-standalone = callPackage ../development/tools/selenium/server { };
@@ -12665,6 +12884,8 @@ in
 
   scss-lint = callPackage ../development/tools/scss-lint { };
 
+  segger-ozone = callPackage ../development/tools/misc/segger-ozone { };
+
   shadowenv = callPackage ../tools/misc/shadowenv {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -12675,7 +12896,7 @@ in
 
   inherit (callPackage ../development/tools/build-managers/shards { })
     shards_0_11
-    shards_0_12
+    shards_0_13
     shards;
 
   shellcheck = callPackage ../development/tools/shellcheck {};
@@ -12924,6 +13145,8 @@ in
 
   yaml2json = callPackage ../development/tools/yaml2json { };
 
+  yams = callPackage ../applications/audio/yams { };
+
   ycmd = callPackage ../development/tools/misc/ycmd {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
     python = python3;
@@ -12991,6 +13214,8 @@ in
 
   amrwb = callPackage ../development/libraries/amrwb { };
 
+  ansi2html = with python3.pkgs; toPythonApplication ansi2html;
+
   anttweakbar = callPackage ../development/libraries/AntTweakBar { };
 
   appstream = callPackage ../development/libraries/appstream { };
@@ -13337,6 +13562,8 @@ in
 
   cxx-prettyprint = callPackage ../development/libraries/cxx-prettyprint { };
 
+  cxxopts = callPackage ../development/libraries/cxxopts { };
+
   cxxtest = python2Packages.callPackage ../development/libraries/cxxtest { };
 
   cypress = callPackage ../development/web/cypress { };
@@ -13624,6 +13851,11 @@ in
 
   ganv = callPackage ../development/libraries/ganv { };
 
+  garble = callPackage ../build-support/go/garble.nix {
+    # https://github.com/burrowers/garble/issues/124
+    buildGoModule = buildGo115Module;
+  };
+
   gcab = callPackage ../development/libraries/gcab { };
 
   gcovr = with python3Packages; toPythonApplication gcovr;
@@ -13724,10 +13956,16 @@ in
       rev = "v${version}";
       sha256 = "09jz2fzv0zl5058s0g1cpnw87a2rgg8wnjwlygi18i2n9nn6m0ad";
     };
+    meta.knownVulnerabilities = [
+      "CVE-2020-12278"
+      "CVE-2020-12279"
+    ];
   });
 
   libgit2-glib = callPackage ../development/libraries/libgit2-glib { };
 
+  libhsts = callPackage ../development/libraries/libhsts { };
+
   glbinding = callPackage ../development/libraries/glbinding { };
 
   gle = callPackage ../development/libraries/gle { };
@@ -14023,6 +14261,11 @@ in
     inherit (darwin.apple_sdk.frameworks) AppKit Cocoa;
   };
 
+  gtk4 = callPackage ../development/libraries/gtk/4.x.nix {
+    inherit (darwin.apple_sdk.frameworks) AppKit Cocoa;
+  };
+
+
   # On darwin gtk uses cocoa by default instead of x11.
   gtk3-x11 = gtk3.override {
     cairo = cairo.override { x11Support = true; };
@@ -14220,8 +14463,13 @@ in
   } // (lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
       stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
     }));
+  icu68 = callPackage ../development/libraries/icu/68.nix ({
+    nativeBuildRoot = buildPackages.icu68.override { buildRootOnly = true; };
+  } // (lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
+      stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
+    }));
 
-  icu = icu67;
+  icu = icu68;
 
   id3lib = callPackage ../development/libraries/id3lib { };
 
@@ -14460,6 +14708,8 @@ in
 
   libaudclient = callPackage ../development/libraries/libaudclient { };
 
+  libaudec = callPackage ../development/libraries/libaudec { };
+
   libav = libav_11; # branch 11 is API-compatible with branch 10
   libav_all = callPackages ../development/libraries/libav { };
   inherit (libav_all) libav_0_8 libav_11 libav_12;
@@ -14473,7 +14723,7 @@ in
   libbacktrace = callPackage ../development/libraries/libbacktrace { };
 
   libbap = callPackage ../development/libraries/libbap {
-    inherit (ocaml-ng.ocamlPackages_4_07) bap ocaml findlib ctypes;
+    inherit (ocaml-ng.ocamlPackages) bap ocaml findlib ctypes;
   };
 
   libbass = (callPackage ../development/libraries/audio/libbass { }).bass;
@@ -14727,6 +14977,8 @@ in
 
   libgda = callPackage ../development/libraries/libgda { };
 
+  libgda6 = callPackage ../development/libraries/libgda/6.x.nix { };
+
   libgdamm = callPackage ../development/libraries/libgdamm { };
 
   libgdata = callPackage ../development/libraries/libgdata { };
@@ -14796,7 +15048,9 @@ in
 
   liblscp = callPackage ../development/libraries/liblscp { };
 
-  libe-book = callPackage ../development/libraries/libe-book {};
+  libe-book = callPackage ../development/libraries/libe-book {
+    icu = icu67;
+  };
 
   libechonest = callPackage ../development/libraries/libechonest { };
 
@@ -15011,6 +15265,8 @@ in
 
   libspectre = callPackage ../development/libraries/libspectre { };
 
+  libspnav = callPackage ../development/libraries/libspnav { };
+
   libgsf = callPackage ../development/libraries/libgsf { };
 
   # GNU libc provides libiconv so systems with glibc don't need to build
@@ -15090,6 +15346,8 @@ in
 
   libkate = callPackage ../development/libraries/libkate { };
 
+  libkeyfinder = callPackage ../development/libraries/libkeyfinder { };
+
   libkml = callPackage ../development/libraries/libkml { };
 
   libksba = callPackage ../development/libraries/libksba { };
@@ -15392,6 +15650,8 @@ in
     libtoxcore_0_1 libtoxcore_0_2;
   libtoxcore = libtoxcore_0_2;
 
+  libtpms = callPackage ../tools/security/libtpms { };
+
   libtap = callPackage ../development/libraries/libtap { };
 
   libtgvoip = callPackage ../development/libraries/libtgvoip { };
@@ -15521,6 +15781,8 @@ in
 
   libx86 = callPackage ../development/libraries/libx86 {};
 
+  libxcrypt = callPackage ../development/libraries/libxcrypt { };
+
   libxdg_basedir = callPackage ../development/libraries/libxdg-basedir { };
 
   libxkbcommon = libxkbcommon_8;
@@ -15557,9 +15819,7 @@ in
 
   libxmp = callPackage ../development/libraries/libxmp { };
 
-  libxslt = callPackage ../development/libraries/libxslt {
-    python = if stdenv.isDarwin then python2 else python3;
-  };
+  libxslt = callPackage ../development/libraries/libxslt { };
 
   libxsmm = callPackage ../development/libraries/libxsmm { };
 
@@ -15573,6 +15833,8 @@ in
 
   libyamlcpp = callPackage ../development/libraries/libyaml-cpp { };
 
+  libcyaml = callPackage ../development/libraries/libcyaml { };
+
   rang = callPackage ../development/libraries/rang { };
 
   libyamlcpp_0_3 = pkgs.libyamlcpp.overrideAttrs (oldAttrs: {
@@ -15797,7 +16059,9 @@ in
 
   notify-sharp = callPackage ../development/libraries/notify-sharp { };
 
-  notcurses = callPackage ../development/libraries/notcurses { };
+  notcurses = callPackage ../development/libraries/notcurses {
+    readline = readline80;
+  };
 
   ncurses5 = ncurses.override {
     abiVersion = "5";
@@ -15835,6 +16099,8 @@ in
 
   nika-fonts = callPackage ../data/fonts/nika-fonts { };
 
+  nikto = callPackage ../tools/networking/nikto { };
+
   nlohmann_json = callPackage ../development/libraries/nlohmann_json { };
 
   nntp-proxy = callPackage ../applications/networking/nntp-proxy { };
@@ -16012,7 +16278,6 @@ in
   openvdb = callPackage ../development/libraries/openvdb {};
 
   inherit (callPackages ../development/libraries/libressl { })
-    libressl_3_0
     libressl_3_1;
 
   # Please keep this pointed to the latest version. See also
@@ -16101,7 +16366,7 @@ in
 
   poco = callPackage ../development/libraries/poco { };
 
-  podofo = callPackage ../development/libraries/podofo { lua5 = lua5_1; };
+  podofo = callPackage ../development/libraries/podofo { };
 
   polkit = callPackage ../development/libraries/polkit { };
 
@@ -16210,10 +16475,6 @@ in
 
   qolibri = libsForQt5.callPackage ../applications/misc/qolibri { };
 
-  qt3 = callPackage ../development/libraries/qt-3 {
-    libpng = libpng12;
-  };
-
   qt4 = qt48;
 
   qt48 = callPackage ../development/libraries/qt-4.x/4.8 {
@@ -16367,6 +16628,8 @@ in
 
   readosm = callPackage ../development/libraries/readosm { };
 
+  rinutils = callPackage ../development/libraries/rinutils { };
+
   kissfft = callPackage ../development/libraries/kissfft { };
 
   lambdabot = callPackage ../development/tools/haskell/lambdabot {
@@ -16517,6 +16780,8 @@ in
 
   sfsexp = callPackage ../development/libraries/sfsexp {};
 
+  shhgit = callPackage ../tools/security/shhgit { };
+
   shhmsg = callPackage ../development/libraries/shhmsg { };
 
   shhopt = callPackage ../development/libraries/shhopt { };
@@ -16544,6 +16809,8 @@ in
 
   shapelib = callPackage ../development/libraries/shapelib { };
 
+  sharness = callPackage ../development/libraries/sharness { };
+
   shibboleth-sp = callPackage ../development/libraries/shibboleth-sp { };
 
   skaffold = callPackage ../development/tools/skaffold { };
@@ -16787,6 +17054,8 @@ in
     inherit (darwin.apple_sdk.frameworks) Carbon;
   };
 
+  tageditor = libsForQt5.callPackage ../applications/audio/tageditor { };
+
   taglib = callPackage ../development/libraries/taglib { };
 
   taglib_extras = callPackage ../development/libraries/taglib-extras { };
@@ -16795,6 +17064,8 @@ in
 
   talloc = callPackage ../development/libraries/talloc { };
 
+  tagparser = callPackage ../development/libraries/tagparser { };
+
   tclap = callPackage ../development/libraries/tclap {};
 
   tcllib = callPackage ../development/libraries/tcllib { };
@@ -16884,7 +17155,9 @@ in
 
   tremor = callPackage ../development/libraries/tremor { };
 
-  trillian = callPackage ../tools/misc/trillian { };
+  trillian = callPackage ../tools/misc/trillian {
+    buildGoModule = buildGo115Module;
+  };
 
   twolame = callPackage ../development/libraries/twolame { };
 
@@ -17176,8 +17449,6 @@ in
 
   yder = callPackage ../development/libraries/yder { };
 
-  ydotool = callPackage ../tools/wayland/ydotool { };
-
   yojimbo = callPackage ../development/libraries/yojimbo { };
 
   yubioath-desktop = libsForQt5.callPackage ../applications/misc/yubioath-desktop { };
@@ -17337,8 +17608,11 @@ in
   buildGo115Package = callPackage ../development/go-packages/generic {
     go = buildPackages.go_1_15;
   };
+  buildGo116Package = callPackage ../development/go-packages/generic {
+    go = buildPackages.go_1_16;
+  };
 
-  buildGoPackage = buildGo115Package;
+  buildGoPackage = buildGo116Package;
 
   buildGo114Module = callPackage ../development/go-modules/generic {
     go = buildPackages.go_1_14;
@@ -17346,8 +17620,11 @@ in
   buildGo115Module = callPackage ../development/go-modules/generic {
     go = buildPackages.go_1_15;
   };
+  buildGo116Module = callPackage ../development/go-modules/generic {
+    go = buildPackages.go_1_16;
+  };
 
-  buildGoModule = buildGo115Module;
+  buildGoModule = buildGo116Module;
 
   go2nix = callPackage ../development/tools/go2nix { };
 
@@ -17686,7 +17963,9 @@ in
 
   grafana-agent = callPackage ../servers/monitoring/grafana-agent { };
 
-  grafana-loki = callPackage ../servers/monitoring/loki { };
+  grafana-loki = callPackage ../servers/monitoring/loki {
+    buildGoModule = buildGo115Module;
+  };
 
   grafana_reporter = callPackage ../servers/monitoring/grafana-reporter { };
 
@@ -17780,6 +18059,12 @@ in
 
   mailman-web = with python3.pkgs; toPythonApplication mailman-web;
 
+  mastodon = callPackage ../servers/mastodon {
+    # With nodejs v14 the streaming endpoint breaks. Need migrate to uWebSockets.js or similar.
+    # https://github.com/tootsuite/mastodon/issues/15184
+    nodejs-slim = nodejs-slim-12_x;
+  };
+
   mattermost = callPackage ../servers/mattermost { };
   matterircd = callPackage ../servers/mattermost/matterircd.nix { };
   matterbridge = callPackage ../servers/matterbridge { };
@@ -17817,7 +18102,7 @@ in
   inherit (callPackages ../servers/mpd { })
     mpd mpd-small mpdWithFeatures;
 
-  mpd_clientlib = callPackage ../servers/mpd/clientlib.nix { };
+  libmpdclient = callPackage ../servers/mpd/libmpdclient.nix { };
 
   mpdscribble = callPackage ../tools/misc/mpdscribble { };
 
@@ -17888,7 +18173,9 @@ in
 
   nsq = callPackage ../servers/nsq { };
 
-  oauth2_proxy = callPackage ../servers/oauth2_proxy { };
+  oauth2_proxy = callPackage ../servers/oauth2_proxy {
+    buildGoModule = buildGo115Module;
+  };
 
   openbgpd = callPackage ../servers/openbgpd { };
 
@@ -17981,7 +18268,11 @@ in
 
   libpulseaudio = libpulseaudio-vanilla;
 
-  pulseeffects = callPackage ../applications/audio/pulseeffects {
+  pulseeffects-pw = callPackage ../applications/audio/pulseeffects {
+    boost = boost172;
+  };
+
+  pulseeffects-legacy = callPackage ../applications/audio/pulseeffects-legacy {
     boost = boost172;
   };
 
@@ -18162,7 +18453,9 @@ in
   postgresql_jdbc = callPackage ../development/java-modules/postgresql_jdbc { };
 
   prom2json = callPackage ../servers/monitoring/prometheus/prom2json.nix { };
-  prometheus = callPackage ../servers/monitoring/prometheus { };
+  prometheus = callPackage ../servers/monitoring/prometheus {
+    buildGoPackage = buildGo115Package;
+  };
   prometheus-alertmanager = callPackage ../servers/monitoring/prometheus/alertmanager.nix { };
   prometheus-apcupsd-exporter = callPackage ../servers/monitoring/prometheus/apcupsd-exporter.nix { };
   prometheus-aws-s3-exporter = callPackage ../servers/monitoring/prometheus/aws-s3-exporter.nix { };
@@ -18174,6 +18467,7 @@ in
   prometheus-consul-exporter = callPackage ../servers/monitoring/prometheus/consul-exporter.nix { };
   prometheus-dnsmasq-exporter = callPackage ../servers/monitoring/prometheus/dnsmasq-exporter.nix { };
   prometheus-dovecot-exporter = callPackage ../servers/monitoring/prometheus/dovecot-exporter.nix { };
+  prometheus-flow-exporter = callPackage ../servers/monitoring/prometheus/flow-exporter.nix { };
   prometheus-fritzbox-exporter = callPackage ../servers/monitoring/prometheus/fritzbox-exporter.nix { };
   prometheus-gitlab-ci-pipelines-exporter = callPackage ../servers/monitoring/prometheus/gitlab-ci-pipelines-exporter.nix { };
   prometheus-haproxy-exporter = callPackage ../servers/monitoring/prometheus/haproxy-exporter.nix { };
@@ -18222,10 +18516,6 @@ in
 
   pure-ftpd = callPackage ../servers/ftp/pure-ftpd { };
 
-  pyIRCt = callPackage ../servers/xmpp/pyIRCt {};
-
-  pyMAILt = callPackage ../servers/xmpp/pyMAILt {};
-
   pypolicyd-spf = python3.pkgs.callPackage ../servers/mail/pypolicyd-spf { };
 
   qpid-cpp = callPackage ../servers/amqp/qpid-cpp {
@@ -18239,7 +18529,7 @@ in
 
   rabbitmq-server = callPackage ../servers/amqp/rabbitmq-server {
     inherit (darwin.apple_sdk.frameworks) AppKit Carbon Cocoa;
-    elixir = elixir_1_8;
+    elixir = beam_nox.interpreters.elixir_1_8;
     erlang = erlang_nox;
   };
 
@@ -18270,13 +18560,11 @@ in
 
   # Fails to compile with boost >= 1.72
   rippled = callPackage ../servers/rippled {
-    boost = boost171;
+    boost = boost17x;
   };
 
   rippled-validator-keys-tool = callPackage ../servers/rippled/validator-keys-tool.nix {
-    boost = boost167.override {
-      enableStatic = true;
-    };
+    boost = boost17x;
   };
 
   roon-server = callPackage ../servers/roon-server { };
@@ -18368,6 +18656,8 @@ in
 
   storm = callPackage ../servers/computing/storm { };
 
+  switcheroo-control = callPackage ../os-specific/linux/switcheroo-control { };
+
   slurm = callPackage ../servers/computing/slurm { gtk2 = null; };
 
   slurm-spank-x11 = callPackage ../servers/computing/slurm-spank-x11 { };
@@ -18564,6 +18854,8 @@ in
     libapparmor apparmor-utils apparmor-bin-utils apparmor-parser apparmor-pam
     apparmor-profiles apparmor-kernel-patches;
 
+  aseq2json = callPackage ../os-specific/linux/aseq2json {};
+
   atop = callPackage ../os-specific/linux/atop { };
 
   audit = callPackage ../os-specific/linux/audit { };
@@ -18683,9 +18975,12 @@ in
 
   erofs-utils = callPackage ../os-specific/linux/erofs-utils { };
 
+  fscryptctl = callPackage ../os-specific/linux/fscryptctl { };
   # unstable until the first 1.x release
   fscrypt-experimental = callPackage ../os-specific/linux/fscrypt { };
-  fscryptctl-experimental = callPackage ../os-specific/linux/fscryptctl { };
+  fscryptctl-experimental = callPackage ../os-specific/linux/fscryptctl/legacy.nix { };
+
+  fwanalyzer = callPackage ../tools/filesystems/fwanalyzer { };
 
   fwupd = callPackage ../os-specific/linux/firmware/fwupd { };
 
@@ -18999,6 +19294,13 @@ in
     ];
   };
 
+  linux_5_11 = callPackage ../os-specific/linux/kernel/linux-5.11.nix {
+    kernelPatches = [
+      kernelPatches.bridge_stp_helper
+      kernelPatches.request_key_helper
+    ];
+  };
+
   linux-rt_5_10 = callPackage ../os-specific/linux/kernel/linux-rt-5.10.nix {
     kernelPatches = [
       kernelPatches.bridge_stp_helper
@@ -19049,10 +19351,10 @@ in
      for a specific kernel.  This function can then be called for
      whatever kernel you're using. */
 
-  linuxPackagesFor = kernel: lib.makeExtensible (self: with self; {
+  linuxPackagesFor = kernel_: lib.makeExtensible (self: with self; {
     callPackage = newScope self;
 
-    inherit kernel;
+    kernel = kernel_;
     inherit (kernel) stdenv; # in particular, use the same compiler by default
 
     # to help determine module compatibility
@@ -19257,7 +19559,7 @@ in
 
   # Update this when adding the newest kernel major version!
   # And update linux_latest_for_hardened below if the patches are already available
-  linuxPackages_latest = linuxPackages_5_10;
+  linuxPackages_latest = linuxPackages_5_11;
   linux_latest = linuxPackages_latest.kernel;
 
   # Realtime kernel packages.
@@ -19281,6 +19583,7 @@ in
   linuxPackages_4_19 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_19);
   linuxPackages_5_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_4);
   linuxPackages_5_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_10);
+  linuxPackages_5_11 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_11);
 
   # When adding to the list above:
   # - Update linuxPackages_latest to the latest version
@@ -19457,6 +19760,8 @@ in
     enableCmdlib = true;
   };
 
+  maddy = callPackage ../servers/maddy/default.nix { };
+
   mbelib = callPackage ../development/libraries/audio/mbelib { };
 
   mbpfan = callPackage ../os-specific/linux/mbpfan { };
@@ -19486,6 +19791,9 @@ in
 
   musl = callPackage ../os-specific/linux/musl { };
 
+  musl-fts = callPackage ../os-specific/linux/musl-fts { };
+  musl-obstack = callPackage ../os-specific/linux/musl-obstack { };
+
   nushell = callPackage ../shells/nushell {
     inherit (darwin.apple_sdk.frameworks) AppKit Security;
   };
@@ -19512,6 +19820,8 @@ in
   open-vm-tools = callPackage ../applications/virtualization/open-vm-tools { };
   open-vm-tools-headless = open-vm-tools.override { withX = false; };
 
+  air = callPackage ../development/tools/air { };
+
   delve = callPackage ../development/tools/delve { };
 
   dep = callPackage ../development/tools/dep { };
@@ -19576,12 +19886,16 @@ in
 
   go-migrate = callPackage ../development/tools/go-migrate { };
 
+  gomacro = callPackage ../development/tools/gomacro { };
+
   gomodifytags = callPackage ../development/tools/gomodifytags { };
 
   go-langserver = callPackage ../development/tools/go-langserver { };
 
   gopls = callPackage ../development/tools/gopls { };
 
+  gops = callPackage ../development/tools/gops { };
+
   gore = callPackage ../development/tools/gore { };
 
   gotests = callPackage ../development/tools/gotests { };
@@ -19879,11 +20193,13 @@ in
     ubootClearfog
     ubootGuruplug
     ubootJetsonTK1
+    ubootNanoPCT4
     ubootNovena
     ubootOdroidC2
     ubootOdroidXU3
     ubootOrangePiPc
     ubootOrangePiZeroPlus2H5
+    ubootOrangePiZero
     ubootPcduino3Nano
     ubootPine64
     ubootPine64LTS
@@ -20272,6 +20588,12 @@ in
 
   greybird = callPackage ../data/themes/greybird { };
 
+  gruvbox-dark-gtk = callPackage ../data/themes/gruvbox-dark-gtk { };
+
+  gruvbox-dark-icons-gtk = callPackage ../data/icons/gruvbox-dark-icons-gtk {
+    inherit (plasma5Packages) breeze-icons;
+  };
+
   gubbi-font = callPackage ../data/fonts/gubbi { };
 
   gyre-fonts = callPackage ../data/fonts/gyre {};
@@ -20527,6 +20849,8 @@ in
 
   orbitron = callPackage ../data/fonts/orbitron { };
 
+  orchis = callPackage ../data/themes/orchis { };
+
   orion = callPackage ../data/themes/orion {};
 
   overpass = callPackage ../data/fonts/overpass { };
@@ -20610,6 +20934,8 @@ in
 
   sarasa-gothic = callPackage ../data/fonts/sarasa-gothic { };
 
+  savepagenow = callPackage ../tools/misc/savepagenow { };
+
   scheme-manpages = callPackage ../data/documentation/scheme-manpages { };
 
   scowl = callPackage ../data/misc/scowl { };
@@ -20704,6 +21030,8 @@ in
   inter-ui = callPackage ../data/fonts/inter-ui { };
   inter = callPackage ../data/fonts/inter { };
 
+  scientifica = callPackage ../data/fonts/scientifica { };
+
   siji = callPackage ../data/fonts/siji
     { inherit (buildPackages.xorg) mkfontscale fonttosfnt; };
 
@@ -20777,9 +21105,7 @@ in
 
   ttf-tw-moe = callPackage ../data/fonts/ttf-tw-moe { };
 
-  twemoji-color-font = callPackage ../data/fonts/twemoji-color-font {
-    inherit (nodePackages) svgo;
-  };
+  twemoji-color-font = callPackage ../data/fonts/twemoji-color-font { };
 
   twitter-color-emoji = callPackage ../data/fonts/twitter-color-emoji { };
 
@@ -21216,6 +21542,8 @@ in
 
   bviplus = callPackage ../applications/editors/bviplus { };
 
+  caerbannog = callPackage ../applications/misc/caerbannog { };
+
   cage = callPackage ../applications/window-managers/cage { };
 
   calf = callPackage ../applications/audio/calf {
@@ -21303,8 +21631,9 @@ in
   claws-mail = callPackage ../applications/networking/mailreaders/claws-mail {
     inherit (xorg) libSM;
   };
-  claws-mail-gtk3 = callPackage ../applications/networking/mailreaders/claws-mail/gtk3.nix {
+  claws-mail-gtk3 = callPackage ../applications/networking/mailreaders/claws-mail {
     inherit (xorg) libSM;
+    useGtk3 = true;
   };
 
   clfswm = callPackage ../applications/window-managers/clfswm { };
@@ -21334,7 +21663,7 @@ in
   cmatrix = callPackage ../applications/misc/cmatrix { };
 
   cmus = callPackage ../applications/audio/cmus {
-    inherit (darwin.apple_sdk.frameworks) CoreAudio;
+    inherit (darwin.apple_sdk.frameworks) AudioUnit CoreAudio;
     libjack = libjack2;
     ffmpeg = ffmpeg_2;
   };
@@ -21392,12 +21721,16 @@ in
 
   coursera-dl = callPackage ../applications/misc/coursera-dl {};
 
-  coyim = callPackage ../applications/networking/instant-messengers/coyim {};
+  coyim = callPackage ../applications/networking/instant-messengers/coyim {
+    buildGoPackage = buildGo115Package;
+  };
 
   cq-editor = libsForQt5.callPackage ../applications/graphics/cq-editor {
     python3Packages = python37Packages;
   };
 
+  cqrlog = callPackage ../applications/radio/cqrlog { };
+
   crun = callPackage ../applications/virtualization/crun {};
 
   csdp = callPackage ../applications/science/math/csdp { };
@@ -21572,14 +21905,9 @@ in
     inherit (gnome2) libgnomeui;
   };
 
-  dwm = callPackage ../applications/window-managers/dwm {
-    patches = config.dwm.patches or [];
-  };
+  dwl = callPackage ../applications/window-managers/dwl { };
 
-  dwm-git = callPackage ../applications/window-managers/dwm/git.nix {
-    patches = config.dwm.patches or [];
-    conf = config.dwm.conf or null;
-  };
+  dwm = callPackage ../applications/window-managers/dwm { };
 
   dwm-status = callPackage ../applications/window-managers/dwm/dwm-status.nix { };
 
@@ -21593,6 +21921,8 @@ in
 
   eaglemode = callPackage ../applications/misc/eaglemode { };
 
+  ebumeter = callPackage ../applications/audio/ebumeter { };
+
   echoip = callPackage ../servers/echoip { };
 
   eclipses = recurseIntoAttrs (callPackage ../applications/editors/eclipse {
@@ -21636,7 +21966,6 @@ in
     Xaw3d = null;
     gconf = null;
     alsaLib = null;
-    imagemagick = null;
     acl = null;
     gpm = null;
     inherit (darwin.apple_sdk.frameworks) AppKit GSS ImageIO;
@@ -21676,27 +22005,9 @@ in
   };
 
   emacsPackagesFor = emacs: import ./emacs-packages.nix {
-    inherit lib newScope stdenv pkgs;
-    inherit fetchFromGitHub fetchurl;
-    inherit emacs texinfo makeWrapper runCommand writeText;
-    inherit (xorg) lndir;
-
-    trivialBuild = callPackage ../build-support/emacs/trivial.nix {
-      inherit emacs;
-    };
-
-    melpaBuild = callPackage ../build-support/emacs/melpa.nix {
-      inherit emacs;
-    };
-
-    external = {
-      inherit (haskellPackages)
-        ghc-mod structured-haskell-mode Agda hindent;
-      inherit
-        autoconf automake editorconfig-core-c git libffi libpng pkg-config
-        poppler rtags w3m zlib substituteAll rustPlatform cmake llvmPackages
-        libtool zeromq openssl ott;
-    };
+    inherit (lib) makeScope makeOverridable;
+    inherit emacs;
+    pkgs' = pkgs;  # default pkgs used for bootstrapping the emacs package set
   };
 
   inherit (gnome3) empathy;
@@ -21723,9 +22034,7 @@ in
 
   eq10q = callPackage ../applications/audio/eq10q { };
 
-  errbot = callPackage ../applications/networking/errbot {
-    python = python3;
-  };
+  errbot = python3Packages.callPackage ../applications/networking/errbot { };
 
   espeak-classic = callPackage ../applications/audio/espeak { };
 
@@ -21738,6 +22047,8 @@ in
 
   eteroj.lv2 = libsForQt5.callPackage ../applications/audio/eteroj.lv2 { };
 
+  etebase-server = with python3Packages; toPythonApplication etebase-server;
+
   etesync-dav = callPackage ../applications/misc/etesync-dav {};
 
   etherape = callPackage ../applications/networking/sniffers/etherape { };
@@ -22147,14 +22458,6 @@ in
 
   flameshot = libsForQt5.callPackage ../tools/misc/flameshot { };
 
-  flashplayer = callPackage ../applications/networking/browsers/mozilla-plugins/flashplayer (config.flashplayer or {});
-
-  flashplayer-standalone = callPackage ../applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix (config.flashplayer or {});
-
-  flashplayer-standalone-debugger = flashplayer-standalone.override {
-    debug = true;
-  };
-
   fluxbox = callPackage ../applications/window-managers/fluxbox { };
 
   fme = callPackage ../applications/misc/fme {
@@ -22165,6 +22468,10 @@ in
 
   formatter = callPackage ../applications/misc/formatter { };
 
+  formiko = with python3Packages; callPackage ../applications/editors/formiko {
+    inherit buildPythonApplication;
+  };
+
   foxtrotgps = callPackage ../applications/misc/foxtrotgps { };
 
   fractal = callPackage ../applications/networking/instant-messengers/fractal { };
@@ -22370,7 +22677,7 @@ in
   gitit = callPackage ../applications/misc/gitit {};
 
   gkrellm = callPackage ../applications/misc/gkrellm {
-    inherit (darwin) IOKit;
+    inherit (darwin.apple_sdk.frameworks) IOKit;
   };
 
   glow = callPackage ../applications/editors/glow { };
@@ -22391,7 +22698,7 @@ in
 
   gocr = callPackage ../applications/graphics/gocr { };
 
-  gobby5 = callPackage ../applications/editors/gobby { };
+  gobby = callPackage ../applications/editors/gobby { };
 
   gphoto2 = callPackage ../applications/misc/gphoto2 { };
 
@@ -22530,9 +22837,7 @@ in
 
   herbe = callPackage ../applications/misc/herbe { };
 
-  herbstluftwm = callPackage ../applications/window-managers/herbstluftwm {
-    asciidoc = asciidoc-full;
-  };
+  herbstluftwm = callPackage ../applications/window-managers/herbstluftwm { };
 
   hercules = callPackage ../applications/virtualization/hercules { };
 
@@ -22576,6 +22881,10 @@ in
 
   ht = callPackage ../applications/editors/ht { };
 
+  xh = callPackage ../tools/networking/xh {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   hubstaff = callPackage ../applications/misc/hubstaff { };
 
   hue-cli = callPackage ../tools/networking/hue-cli { };
@@ -22660,8 +22969,6 @@ in
 
   super-productivity = callPackage ../applications/networking/super-productivity { };
 
-  wlr-randr = callPackage ../tools/misc/wlr-randr { };
-
   wlroots = callPackage ../development/libraries/wlroots { };
 
   sway-unwrapped = callPackage ../applications/window-managers/sway { };
@@ -22681,6 +22988,8 @@ in
 
   waybar = callPackage ../applications/misc/waybar {};
 
+  wbg = callPackage ../applications/misc/wbg { };
+
   hikari = callPackage ../applications/window-managers/hikari { };
 
   i3 = callPackage ../applications/window-managers/i3 {
@@ -22737,6 +23046,8 @@ in
 
   i3-wk-switch = callPackage ../applications/window-managers/i3/wk-switch.nix { };
 
+  waybox = callPackage ../applications/window-managers/waybox { };
+
   windowchef = callPackage ../applications/window-managers/windowchef/default.nix { };
 
   wmfocus = callPackage ../applications/window-managers/i3/wmfocus.nix { };
@@ -22772,7 +23083,7 @@ in
 
   imagej = callPackage ../applications/graphics/imagej { };
 
-  imagemagick_light = imagemagick.override {
+  imagemagick6_light = imagemagick6.override {
     bzip2 = null;
     zlib = null;
     libX11 = null;
@@ -22795,14 +23106,14 @@ in
     libde265 = null;
   };
 
-  imagemagick = callPackage ../applications/graphics/ImageMagick {
+  imagemagick6 = callPackage ../applications/graphics/ImageMagick/6.x.nix {
     inherit (darwin.apple_sdk.frameworks) ApplicationServices;
     ghostscript = null;
   };
 
-  imagemagickBig = imagemagick.override { inherit ghostscript; };
+  imagemagick6Big = imagemagick6.override { inherit ghostscript; };
 
-  imagemagick7_light = lowPrio (imagemagick7.override {
+  imagemagick_light = lowPrio (imagemagick.override {
     bzip2 = null;
     zlib = null;
     libX11 = null;
@@ -22824,11 +23135,11 @@ in
     libheif = null;
   });
 
-  imagemagick7 = lowPrio (imagemagick7Big.override {
+  imagemagick = lowPrio (imagemagickBig.override {
     ghostscript = null;
   });
 
-  imagemagick7Big = lowPrio (callPackage ../applications/graphics/ImageMagick/7.0.nix {
+  imagemagickBig = lowPrio (callPackage ../applications/graphics/ImageMagick/7.0.nix {
     inherit (darwin.apple_sdk.frameworks) ApplicationServices;
   });
 
@@ -22964,8 +23275,6 @@ in
 
   kanboard = callPackage ../applications/misc/kanboard { };
 
-  kanshi = callPackage ../tools/misc/kanshi { };
-
   kapitonov-plugins-pack = callPackage ../applications/audio/kapitonov-plugins-pack { };
 
   kapow = libsForQt5.callPackage ../applications/misc/kapow { };
@@ -22974,6 +23283,8 @@ in
 
   k4dirstat = libsForQt5.callPackage ../applications/misc/k4dirstat { };
 
+  kbibtex = libsForQt5.callPackage ../applications/office/kbibtex { };
+
   kdevelop-pg-qt = libsForQt5.callPackage ../applications/editors/kdevelop5/kdevelop-pg-qt.nix { };
 
   kdevelop-unwrapped = libsForQt5.callPackage ../applications/editors/kdevelop5/kdevelop.nix {
@@ -23001,7 +23312,7 @@ in
 
   keyfinder = libsForQt5.callPackage ../applications/audio/keyfinder { };
 
-  keyfinder-cli = libsForQt5.callPackage ../applications/audio/keyfinder-cli { };
+  keyfinder-cli = callPackage ../applications/audio/keyfinder-cli { };
 
   kgraphviewer = libsForQt5.callPackage ../applications/graphics/kgraphviewer { };
 
@@ -23062,6 +23373,8 @@ in
 
   kubectl = callPackage ../applications/networking/cluster/kubectl { };
 
+  kubectl-example = callPackage ../applications/networking/cluster/kubectl-example { };
+
   kubeless = callPackage ../applications/networking/cluster/kubeless { };
 
   kubelogin = callPackage ../applications/networking/cluster/kubelogin { };
@@ -23070,6 +23383,8 @@ in
 
   popeye = callPackage ../applications/networking/cluster/popeye { };
 
+  kube-capacity = callPackage ../applications/networking/cluster/kube-capacity { };
+
   fluxctl = callPackage ../applications/networking/cluster/fluxctl { };
 
   fluxcd = callPackage ../applications/networking/cluster/fluxcd { };
@@ -23092,6 +23407,8 @@ in
 
   lame = callPackage ../development/libraries/lame { };
 
+  labwc = callPackage ../applications/window-managers/labwc { };
+
   larswm = callPackage ../applications/window-managers/larswm { };
 
   lash = callPackage ../applications/audio/lash { };
@@ -23152,11 +23469,10 @@ in
   };
 
   libreoffice-qt = lowPrio (callPackage ../applications/office/libreoffice/wrapper.nix {
-    libreoffice = libsForQt514.callPackage ../applications/office/libreoffice
+    libreoffice = libsForQt5.callPackage ../applications/office/libreoffice
       (libreoffice-args // {
         kdeIntegration = true;
         variant = "fresh";
-        jdk = jdk11;
       });
   });
 
@@ -23164,7 +23480,6 @@ in
     libreoffice = callPackage ../applications/office/libreoffice
       (libreoffice-args // {
         variant = "fresh";
-        jdk = jdk11;
       });
   });
   libreoffice-fresh-unwrapped = libreoffice-fresh.libreoffice;
@@ -23172,10 +23487,7 @@ in
   libreoffice-still = lowPrio (callPackage ../applications/office/libreoffice/wrapper.nix {
     libreoffice = callPackage ../applications/office/libreoffice
       (libreoffice-args // {
-        stdenv = gcc9Stdenv; # Fails in multiple ways with gcc10
-        icu = icu64;
         variant = "still";
-        jdk = jdk8;
       });
   });
   libreoffice-still-unwrapped = libreoffice-still.libreoffice;
@@ -23261,6 +23573,8 @@ in
 
   ltc-tools = callPackage ../applications/audio/ltc-tools { };
 
+  lscolors = callPackage ../applications/misc/lscolors { };
+
   lumail = callPackage ../applications/networking/mailreaders/lumail {
     lua = lua5_1;
   };
@@ -23347,6 +23661,8 @@ in
 
   mblaze = callPackage ../applications/networking/mailreaders/mblaze { };
 
+  mbrola = callPackage ../applications/audio/mbrola { };
+
   mcomix3 = callPackage ../applications/graphics/mcomix3 {};
 
   mcpp = callPackage ../development/compilers/mcpp { };
@@ -23449,6 +23765,8 @@ in
 
   mmsd = callPackage ../tools/networking/mmsd { };
 
+  mmtc = callPackage ../applications/audio/mmtc { };
+
   moc = callPackage ../applications/audio/moc { };
 
   mod-distortion = callPackage ../applications/audio/mod-distortion { };
@@ -23507,6 +23825,7 @@ in
     mopidy-soundcloud
     mopidy-spotify
     mopidy-spotify-tunigo
+    mopidy-subidy
     mopidy-tunein
     mopidy-youtube;
 
@@ -23542,6 +23861,8 @@ in
 
   ncmpcpp = callPackage ../applications/audio/ncmpcpp { };
 
+  pragha = libsForQt5.callPackage ../applications/audio/pragha { };
+
   rofi-mpd = callPackage ../applications/audio/rofi-mpd { };
 
   rofi-calc = callPackage ../applications/science/math/rofi-calc { };
@@ -23670,7 +23991,9 @@ in
 
   ninjas2 = callPackage ../applications/audio/ninjas2 {};
 
-  nncp = callPackage ../tools/misc/nncp { };
+  nncp = callPackage ../tools/misc/nncp {
+    go = go_1_15;
+  };
 
   notion = callPackage ../applications/window-managers/notion { };
 
@@ -23719,12 +24042,12 @@ in
 
   plank = callPackage ../applications/misc/plank { };
 
-  planner = callPackage ../applications/office/planner { };
-
   playonlinux = callPackage ../applications/misc/playonlinux {
      stdenv = stdenv_32bit;
   };
 
+  pleroma-bot = python3Packages.callPackage ../development/python-modules/pleroma-bot { };
+
   polybar = callPackage ../applications/misc/polybar { };
 
   polybarFull = callPackage ../applications/misc/polybar {
@@ -23738,6 +24061,8 @@ in
     i3GapsSupport = false;
   };
 
+  yambar = callPackage ../applications/misc/yambar { };
+
   polyphone = libsForQt514.callPackage ../applications/audio/polyphone { };
 
   portfolio = callPackage ../applications/office/portfolio {
@@ -23752,6 +24077,8 @@ in
 
   qbec = callPackage ../applications/networking/cluster/qbec { };
 
+  qemacs = callPackage ../applications/editors/qemacs { };
+
   rssguard = libsForQt5.callPackage ../applications/networking/feedreaders/rssguard { };
 
   scudcloud = callPackage ../applications/networking/instant-messengers/scudcloud { };
@@ -23807,6 +24134,8 @@ in
 
   rep-gtk = callPackage ../development/libraries/rep-gtk { };
 
+  reproc = callPackage ../development/libraries/reproc { };
+
   sawfish = callPackage ../applications/window-managers/sawfish { };
 
   sc68 = callPackage ../applications/audio/sc68 { };
@@ -23843,6 +24172,8 @@ in
   mupdf = callPackage ../applications/misc/mupdf { };
   mupdf_1_17 = callPackage ../applications/misc/mupdf/1.17.nix { };
 
+  muso = callPackage ../applications/audio/muso { };
+
   mystem = callPackage ../applications/misc/mystem { };
 
   diffpdf = libsForQt5.callPackage ../applications/misc/diffpdf { };
@@ -24018,10 +24349,7 @@ in
 
   osmium-tool = callPackage ../applications/misc/osmium-tool { };
 
-  osu-lazer = callPackage ../games/osu-lazer {
-    dotnet-sdk = dotnetCorePackages.sdk_3_1;
-    dotnet-netcore = dotnetCorePackages.netcore_3_1;
-  };
+  osu-lazer = callPackage ../games/osu-lazer { };
 
   owamp = callPackage ../applications/networking/owamp { };
 
@@ -24050,8 +24378,8 @@ in
   osmo = callPackage ../applications/office/osmo { };
 
   palemoon = callPackage ../applications/networking/browsers/palemoon {
-    # https://www.palemoon.org/sourcecode.shtml
-    stdenv = gcc7Stdenv;
+    # https://developer.palemoon.org/build/linux/
+    stdenv = gcc8Stdenv;
   };
 
   webbrowser = callPackage ../applications/networking/browsers/webbrowser {};
@@ -24230,6 +24558,8 @@ in
 
   pistol = callPackage ../tools/misc/pistol { };
 
+  piston-cli = callPackage ../tools/misc/piston-cli { };
+
   plater = libsForQt5.callPackage ../applications/misc/plater { };
 
   plexamp = callPackage ../applications/audio/plexamp { };
@@ -24243,6 +24573,8 @@ in
 
   plugin-torture = callPackage ../applications/audio/plugin-torture { };
 
+  poke = callPackage ../applications/editors/poke { };
+
   polar-bookshelf = callPackage ../applications/misc/polar-bookshelf { };
 
   poezio = python3Packages.poezio;
@@ -24508,7 +24840,7 @@ in
 
   rclone = callPackage ../applications/networking/sync/rclone { };
 
-  rclone-browser = libsForQt514.callPackage ../applications/networking/sync/rclone/browser.nix { };
+  rclone-browser = libsForQt5.callPackage ../applications/networking/sync/rclone/browser.nix { };
 
   rcs = callPackage ../applications/version-management/rcs { };
 
@@ -24620,6 +24952,8 @@ in
 
   seafile-client = libsForQt5.callPackage ../applications/networking/seafile-client { };
 
+  secretscanner = callPackage ../tools/security/secretscanner { };
+
   sent = callPackage ../applications/misc/sent { };
 
   seq24 = callPackage ../applications/audio/seq24 { };
@@ -24660,8 +24994,6 @@ in
 
   slrn = callPackage ../applications/networking/newsreaders/slrn { };
 
-  slurp = callPackage ../tools/misc/slurp { };
-
   sniproxy = callPackage ../applications/networking/sniproxy { };
 
   sooperlooper = callPackage ../applications/audio/sooperlooper { };
@@ -24710,16 +25042,12 @@ in
 
   linuxstopmotion = libsForQt5.callPackage ../applications/video/linuxstopmotion { };
 
-  sweethome3d = recurseIntoAttrs (  (callPackage ../applications/misc/sweethome3d {
-    jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
-    jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
-  })
-                                 // (callPackage ../applications/misc/sweethome3d/editors.nix {
-                                      jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
-                                      jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
-                                      sweethome3dApp = sweethome3d.application;
-                                    })
-                                 );
+  sweethome3d = recurseIntoAttrs (
+    (callPackage ../applications/misc/sweethome3d { }) //
+    (callPackage ../applications/misc/sweethome3d/editors.nix {
+      sweethome3dApp = sweethome3d.application;
+    })
+  );
 
   swingsane = callPackage ../applications/graphics/swingsane { };
 
@@ -24841,10 +25169,13 @@ in
 
   libspotify = callPackage ../development/libraries/libspotify (config.libspotify or {});
 
-  sourcetrail = libsForQt5.callPackage ../development/tools/sourcetrail {
-    jdk = jdk8;
+  sourcetrail = let
     llvmPackages = llvmPackages_10;
+  in libsForQt5.callPackage ../development/tools/sourcetrail {
+    stdenv = if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
+    jdk = jdk8;
     pythonPackages = python3Packages;
+    inherit llvmPackages;
   };
 
   spotifywm = callPackage ../applications/audio/spotifywm { };
@@ -25002,6 +25333,8 @@ in
 
   tabula = callPackage ../applications/misc/tabula { };
 
+  tabula-java = callPackage ../applications/misc/tabula-java { };
+
   tasknc = callPackage ../applications/misc/tasknc { };
 
   taskwarrior = callPackage ../applications/misc/taskwarrior { };
@@ -25087,7 +25420,11 @@ in
 
   ticpp = callPackage ../development/libraries/ticpp { };
 
-  tickrs = callPackage ../applications/misc/tickrs { };
+  ticker = callPackage ../applications/misc/ticker { };
+
+  tickrs = callPackage ../applications/misc/tickrs {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   tig = callPackage ../applications/version-management/git-and-tools/tig { };
 
@@ -25204,6 +25541,8 @@ in
 
   testssl = callPackage ../applications/networking/testssl { };
 
+  lavalauncher = callPackage ../applications/misc/lavalauncher { };
+
   ulauncher = callPackage ../applications/misc/ulauncher { };
 
   twinkle = qt5.callPackage ../applications/networking/instant-messengers/twinkle { };
@@ -25306,7 +25645,7 @@ in
 
   vimv = callPackage ../tools/misc/vimv/default.nix { };
 
-  qpdfview = libsForQt514.callPackage ../applications/misc/qpdfview {};
+  qpdfview = libsForQt5.callPackage ../applications/misc/qpdfview {};
 
   qtile = callPackage ../applications/window-managers/qtile {
     inherit (xorg) libxcb;
@@ -25452,7 +25791,9 @@ in
 
   volnoti = callPackage ../applications/misc/volnoti { };
 
-  vorbis-tools = callPackage ../applications/audio/vorbis-tools { };
+  vorbis-tools = callPackage ../applications/audio/vorbis-tools {
+    autoreconfHook = buildPackages.autoreconfHook269;
+  };
 
   vscode = callPackage ../applications/editors/vscode/vscode.nix { };
 
@@ -25484,6 +25825,8 @@ in
 
   wad = python3Packages.callPackage ../tools/security/wad { };
 
+  wafw00f = python3Packages.callPackage ../tools/security/wafw00f { };
+
   waon = callPackage ../applications/audio/waon { };
 
   w3m = callPackage ../applications/networking/browsers/w3m { };
@@ -25844,7 +26187,7 @@ in
 
   xdg-user-dirs = callPackage ../tools/X11/xdg-user-dirs { };
 
-  xdg_utils = callPackage ../tools/X11/xdg-utils {
+  xdg-utils = callPackage ../tools/X11/xdg-utils {
     w3m = w3m-batch;
   };
 
@@ -25852,6 +26195,10 @@ in
 
   xdotool = callPackage ../tools/X11/xdotool { };
 
+  xed-editor = callPackage ../applications/editors/xed-editor {
+    xapps = cinnamon.xapps;
+  };
+
   xenPackages = recurseIntoAttrs (callPackage ../applications/virtualization/xen/packages.nix {});
 
   xen = xenPackages.xen-vanilla;
@@ -25882,6 +26229,8 @@ in
 
   xineUI = callPackage ../applications/video/xine-ui { };
 
+  xlsxgrep = callPackage ../applications/search/xlsxgrep { };
+
   xmind = callPackage ../applications/misc/xmind { };
 
   xneur = callPackage ../applications/misc/xneur {
@@ -25952,6 +26301,13 @@ in
   xpra = callPackage ../tools/X11/xpra { };
   libfakeXinerama = callPackage ../tools/X11/xpra/libfakeXinerama.nix { };
 
+
+  xplayer = callPackage ../applications/video/xplayer {
+    inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad;
+    inherit (cinnamon) xapps;
+  };
+  libxplayer-plparser = callPackage ../applications/video/xplayer/plparser.nix { };
+
   xrectsel = callPackage ../tools/X11/xrectsel { };
 
   xrestop = callPackage ../tools/X11/xrestop { };
@@ -26248,6 +26604,8 @@ in
 
   abbaye-des-morts = callPackage ../games/abbaye-des-morts { };
 
+  abuse = callPackage ../games/abuse { };
+
   adom = callPackage ../games/adom { };
 
   airstrike = callPackage ../games/airstrike { };
@@ -26280,6 +26638,8 @@ in
 
   armagetronad = callPackage ../games/armagetronad { };
 
+  armagetronad-dedicated = callPackage ../games/armagetronad { dedicatedServer = true; };
+
   arena = callPackage ../games/arena {};
 
   arx-libertatis = libsForQt5.callPackage ../games/arx-libertatis { };
@@ -26318,10 +26678,16 @@ in
     lua = lua5;
   };
 
+  black-hole-solver = callPackage ../games/black-hole-solver {
+    inherit (perlPackages) PathTiny;
+  };
+
   blackshades = callPackage ../games/blackshades { };
 
   blobby = callPackage ../games/blobby { };
 
+  blobwars = callPackage ../games/blobwars { };
+
   boohu = callPackage ../games/boohu { };
 
   braincurses = callPackage ../games/braincurses { };
@@ -26539,6 +26905,9 @@ in
 
   gemrb = callPackage ../games/gemrb { };
 
+  gimx = callPackage ../games/gimx {};
+  gimx-afterglow = lowPrio (gimx.override { gimxAuth = "afterglow"; });
+
   gl117 = callPackage ../games/gl-117 {};
 
   globulation2 = callPackage ../games/globulation {
@@ -27071,6 +27440,10 @@ in
 
   typespeed = callPackage ../games/typespeed { };
 
+  uchess = callPackage ../games/uchess {
+    buildGoModule = buildGo116Module;
+  };
+
   udig = callPackage ../applications/gis/udig { };
 
   ufoai = callPackage ../games/ufoai { };
@@ -27130,6 +27503,8 @@ in
     libpng = libpng12;
   };
 
+  wargus = callPackage ../games/wargus { };
+
   warmux = callPackage ../games/warmux { };
 
   warsow-engine = callPackage ../games/warsow/engine.nix { };
@@ -27144,9 +27519,7 @@ in
 
   wesnoth-dev = wesnoth;
 
-  widelands = callPackage ../games/widelands {
-    lua = lua5_2;
-  };
+  widelands = callPackage ../games/widelands { };
 
   worldofgoo = callPackage ../games/worldofgoo { };
 
@@ -27238,6 +27611,8 @@ in
 
   zeroad = zeroadPackages.zeroad;
 
+  _0verkill = callPackage ../games/0verkill { };
+
   ### DESKTOP ENVIRONMENTS
 
   cdesktopenv = callPackage ../desktops/cdesktopenv { };
@@ -27256,7 +27631,7 @@ in
 
   gnomeExtensions = recurseIntoAttrs {
     appindicator = callPackage ../desktops/gnome-3/extensions/appindicator { };
-    arc-menu = callPackage ../desktops/gnome-3/extensions/arc-menu { };
+    arcmenu = callPackage ../desktops/gnome-3/extensions/arcmenu { };
     caffeine = callPackage ../desktops/gnome-3/extensions/caffeine { };
     clipboard-indicator = callPackage ../desktops/gnome-3/extensions/clipboard-indicator { };
     clock-override = callPackage ../desktops/gnome-3/extensions/clock-override { };
@@ -27268,6 +27643,7 @@ in
     easyScreenCast = callPackage ../desktops/gnome-3/extensions/EasyScreenCast { };
     emoji-selector = callPackage ../desktops/gnome-3/extensions/emoji-selector { };
     freon = callPackage ../desktops/gnome-3/extensions/freon { };
+    fuzzy-app-search = callPackage ../desktops/gnome-3/extensions/fuzzy-app-search { };
     gsconnect = callPackage ../desktops/gnome-3/extensions/gsconnect { };
     icon-hider = callPackage ../desktops/gnome-3/extensions/icon-hider { };
     impatience = callPackage ../desktops/gnome-3/extensions/impatience { };
@@ -27294,6 +27670,7 @@ in
     mediaplayer = throw "gnomeExtensions.mediaplayer deprecated since 2019-09-23: retired upstream https://github.com/JasonLG1979/gnome-shell-extensions-mediaplayer/blob/master/README.md";
   } // lib.optionalAttrs (config.allowAliases or false) {
     unite-shell = gnomeExtensions.unite; # added 2021-01-19
+    arc-menu = gnomeExtensions.arcmenu; # added 2021-02-14
   };
 
   gnome-connections = callPackage ../desktops/gnome-3/apps/gnome-connections { };
@@ -27349,6 +27726,8 @@ in
     eigen = eigen2;
   };
 
+  chemtool = callPackage ../applications/science/chemistry/chemtool { };
+
   d-seams = callPackage ../applications/science/chemistry/d-seams {};
 
   gwyddion = callPackage ../applications/science/chemistry/gwyddion {};
@@ -28111,6 +28490,8 @@ in
     cudaSupport = config.cudaSupport or false;
   };
 
+  dap = callPackage ../applications/science/math/dap { };
+
   ecm = callPackage ../applications/science/math/ecm { };
 
   eukleides = callPackage ../applications/science/math/eukleides {
@@ -28422,8 +28803,6 @@ in
 
   cups-brother-hll2340dw = pkgsi686Linux.callPackage  ../misc/cups/drivers/hll2340dw { };
 
-  cups-googlecloudprint = callPackage ../misc/cups/drivers/googlecloudprint { };
-
   # this driver ships with pre-compiled 32-bit binary libraries
   cnijfilter_2_80 = pkgsi686Linux.callPackage ../misc/cups/drivers/cnijfilter_2_80 { };
 
@@ -28609,6 +28988,8 @@ in
   libjack2 = jack2.override { prefix = "lib"; };
   jack2Full = jack2; # TODO: move to aliases.nix
 
+  jstest-gtk = callPackage ../tools/misc/jstest-gtk { };
+
   keynav = callPackage ../tools/X11/keynav { };
 
   kmon = callPackage ../tools/system/kmon { };
@@ -28686,9 +29067,7 @@ in
 
   nixops = callPackage ../tools/package-management/nixops { };
 
-  nixops_1_6_1 = callPackage ../tools/package-management/nixops/nixops-v1_6_1.nix {};
-
-  nixopsUnstable = lowPrio (callPackage ../tools/package-management/nixops/unstable.nix { });
+  nixopsUnstable = lowPrio (callPackage ../applications/networking/cluster/nixops { });
 
   nixops-dns = callPackage ../tools/package-management/nixops/nixops-dns.nix { };
 
@@ -28916,7 +29295,7 @@ in
 
   lkproof = callPackage ../tools/typesetting/tex/lkproof { };
 
-  lice = callPackage ../tools/misc/lice {};
+  lice = python3Packages.callPackage ../tools/misc/lice {};
 
   m33-linux = callPackage ../misc/drivers/m33-linux { };
 
@@ -29038,6 +29417,8 @@ in
 
   ricty = callPackage ../data/fonts/ricty { };
 
+  rmfuse = callPackage ../tools/filesystems/rmfuse {};
+
   rmount = callPackage ../tools/filesystems/rmount {};
 
   romdirfs = callPackage ../tools/filesystems/romdirfs {};
@@ -29153,6 +29534,10 @@ in
     hasktags = haskellPackages.hasktags;
   };
 
+  spacenavd = callPackage ../misc/drivers/spacenavd { };
+
+  spacenav-cube-example = callPackage ../applications/misc/spacenav-cube-example { };
+
   splix = callPackage ../misc/cups/drivers/splix { };
 
   steamcontroller = callPackage ../misc/drivers/steamcontroller { };
@@ -29229,6 +29614,8 @@ in
 
   ssh-audit = callPackage ../tools/security/ssh-audit { };
 
+  ssh-tools = callPackage ../applications/misc/ssh-tools { };
+
   auto-cpufreq = callPackage ../tools/system/auto-cpufreq {  };
 
   thermald = callPackage ../tools/system/thermald { };
@@ -29318,9 +29705,6 @@ in
   wasmer = callPackage ../development/interpreters/wasmer { };
 
   wasm-pack = callPackage ../development/tools/wasm-pack {
-    # Wasm-pack depends on a version of rust-openssl which is incompatible with
-    # LibreSSL 3.1, so we explicitly opt for the older version.
-    libressl = libressl_3_0;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
@@ -29468,8 +29852,13 @@ in
 
   yaxg = callPackage ../tools/graphics/yaxg {};
 
-  yuzu = libsForQt5.callPackage ../misc/emulators/yuzu {
-    stdenv = gcc10Stdenv;
+  yuzu-mainline = import ../misc/emulators/yuzu {
+    branch = "mainline";
+    inherit (pkgs) libsForQt5 fetchFromGitHub;
+  };
+  yuzu-ea = import ../misc/emulators/yuzu {
+    branch = "early-access";
+    inherit (pkgs) libsForQt5 fetchFromGitHub;
   };
 
   zap = callPackage ../tools/networking/zap { };
@@ -29560,7 +29949,9 @@ in
 
   imatix_gsl = callPackage ../development/tools/imatix_gsl {};
 
-  sccache = callPackage ../development/tools/misc/sccache { };
+  sccache = callPackage ../development/tools/misc/sccache {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   sequeler = callPackage ../applications/misc/sequeler { };
 
@@ -29716,6 +30107,8 @@ in
 
   bemenu = callPackage ../applications/misc/bemenu { };
 
+  _9menu = callPackage ../applications/misc/9menu { };
+
   dapper = callPackage ../development/tools/dapper { };
 
   kube3d =  callPackage ../applications/networking/cluster/kube3d {};
@@ -29724,6 +30117,8 @@ in
 
   zfs-replicate = python3Packages.callPackage ../tools/backup/zfs-replicate { };
 
+  zrepl = callPackage ../tools/backup/zrepl { };
+
   runwayml = callPackage ../applications/graphics/runwayml {};
 
   uhubctl = callPackage ../tools/misc/uhubctl {};
@@ -29738,6 +30133,8 @@ in
 
   nix-store-gcs-proxy = callPackage ../tools/nix/nix-store-gcs-proxy {};
 
+  webwormhole = callPackage ../tools/networking/webwormhole { };
+
   wifi-password = callPackage ../os-specific/darwin/wifi-password {};
 
   qubes-core-vchan-xen = callPackage ../applications/qubes/qubes-core-vchan-xen {};
@@ -29784,7 +30181,10 @@ in
 
   zalgo = callPackage ../tools/misc/zalgo { };
 
-  zettlr = callPackage ../applications/misc/zettlr { };
+  zettlr = callPackage ../applications/misc/zettlr {
+    texlive = texlive.combined.scheme-medium;
+    inherit (haskellPackages) pandoc-citeproc;
+  };
 
   unifi-poller = callPackage ../servers/monitoring/unifi-poller {};
 
diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix
index fb331b85eb94d..aae127fd04e3e 100644
--- a/pkgs/top-level/beam-packages.nix
+++ b/pkgs/top-level/beam-packages.nix
@@ -1,4 +1,4 @@
-{ callPackage, wxGTK30, openssl_1_0_2, buildPackages }:
+{ callPackage, wxGTK30, openssl_1_0_2, buildPackages, wxSupport ? true }:
 
 rec {
   lib = callPackage ../development/beam-modules/lib.nix { };
@@ -11,7 +11,6 @@ rec {
     erlang_odbc = erlangR23_odbc;
     erlang_javac = erlangR23_javac;
     erlang_odbc_javac = erlangR23_odbc_javac;
-    erlang_nox = erlangR23_nox;
 
     # Standard Erlang versions, using the generic builder.
 
@@ -21,6 +20,7 @@ rec {
       # Can be enabled since the bug has been fixed in https://github.com/erlang/otp/pull/2508
       parallelBuild = true;
       autoconf = buildPackages.autoconf269;
+      inherit wxSupport;
     };
     erlangR23_odbc = erlangR23.override { odbcSupport = true; };
     erlangR23_javac = erlangR23.override { javacSupport = true; };
@@ -28,7 +28,6 @@ rec {
       javacSupport = true;
       odbcSupport = true;
     };
-    erlangR23_nox = erlangR23.override { wxSupport = false; };
 
     # R22
     erlangR22 = lib.callErlang ../development/interpreters/erlang/R22.nix {
@@ -36,6 +35,7 @@ rec {
       # Can be enabled since the bug has been fixed in https://github.com/erlang/otp/pull/2508
       parallelBuild = true;
       autoconf = buildPackages.autoconf269;
+      inherit wxSupport;
     };
     erlangR22_odbc = erlangR22.override { odbcSupport = true; };
     erlangR22_javac = erlangR22.override { javacSupport = true; };
@@ -43,12 +43,12 @@ rec {
       javacSupport = true;
       odbcSupport = true;
     };
-    erlangR22_nox = erlangR22.override { wxSupport = false; };
 
     # R21
     erlangR21 = lib.callErlang ../development/interpreters/erlang/R21.nix {
       wxGTK = wxGTK30;
       autoconf = buildPackages.autoconf269;
+      inherit wxSupport;
     };
     erlangR21_odbc = erlangR21.override { odbcSupport = true; };
     erlangR21_javac = erlangR21.override { javacSupport = true; };
@@ -56,12 +56,12 @@ rec {
       javacSupport = true;
       odbcSupport = true;
     };
-    erlangR21_nox = erlangR21.override { wxSupport = false; };
 
     # R20
     erlangR20 = lib.callErlang ../development/interpreters/erlang/R20.nix {
       wxGTK = wxGTK30;
       autoconf = buildPackages.autoconf269;
+      inherit wxSupport;
     };
     erlangR20_odbc = erlangR20.override { odbcSupport = true; };
     erlangR20_javac = erlangR20.override { javacSupport = true; };
@@ -69,13 +69,13 @@ rec {
       javacSupport = true;
       odbcSupport = true;
     };
-    erlangR20_nox = erlangR20.override { wxSupport = false; };
 
     # R19
     erlangR19 = lib.callErlang ../development/interpreters/erlang/R19.nix {
       wxGTK = wxGTK30;
       openssl = openssl_1_0_2;
       autoconf = buildPackages.autoconf269;
+      inherit wxSupport;
     };
     erlangR19_odbc = erlangR19.override { odbcSupport = true; };
     erlangR19_javac = erlangR19.override { javacSupport = true; };
@@ -83,13 +83,13 @@ rec {
       javacSupport = true;
       odbcSupport = true;
     };
-    erlangR19_nox = erlangR19.override { wxSupport = false; };
 
     # R18
     erlangR18 = lib.callErlang ../development/interpreters/erlang/R18.nix {
       wxGTK = wxGTK30;
       openssl = openssl_1_0_2;
       autoconf = buildPackages.autoconf269;
+      inherit wxSupport;
     };
     erlangR18_odbc = erlangR18.override { odbcSupport = true; };
     erlangR18_javac = erlangR18.override { javacSupport = true; };
@@ -97,12 +97,12 @@ rec {
       javacSupport = true;
       odbcSupport = true;
     };
-    erlangR18_nox = erlangR18.override { wxSupport = false; };
 
     # Basho fork, using custom builder.
     erlang_basho_R16B02 =
       lib.callErlang ../development/interpreters/erlang/R16B02-basho.nix {
         autoconf = buildPackages.autoconf269;
+        inherit wxSupport;
       };
     erlang_basho_R16B02_odbc =
       erlang_basho_R16B02.override { odbcSupport = true; };
diff --git a/pkgs/top-level/darwin-packages.nix b/pkgs/top-level/darwin-packages.nix
index 6fafe09438cda..2197f128388a6 100644
--- a/pkgs/top-level/darwin-packages.nix
+++ b/pkgs/top-level/darwin-packages.nix
@@ -4,9 +4,11 @@
 
 let
   apple-source-releases = callPackage ../os-specific/darwin/apple-source-releases { };
+
+  impure-cmds = callPackage ../os-specific/darwin/impure-cmds { };
 in
 
-(apple-source-releases // {
+(impure-cmds // apple-source-releases // {
 
   callPackage = newScope (darwin.apple_sdk.frameworks // darwin);
 
diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix
index d0bb7c56d99cc..67f4d116dfdea 100644
--- a/pkgs/top-level/emacs-packages.nix
+++ b/pkgs/top-level/emacs-packages.nix
@@ -21,58 +21,42 @@
   (package-initialize)
 */
 
-## FOR CONTRIBUTORS
-#
-# When adding a new package here please note that
-# * please use `elpaBuild` for pre-built package.el packages and
-#   `melpaBuild` or `trivialBuild` if the package must actually
-#   be built from the source.
-# * lib.licenses are `with`ed on top of the file here
-# * both trivialBuild and melpaBuild will automatically derive a
-#   `meta` with `platforms` and `homepage` set to something you are
-#   unlikely to want to override for most packages
-
-{ lib, newScope, stdenv, fetchurl, fetchFromGitHub, runCommand, writeText
-
-, emacs, texinfo, lndir, makeWrapper
-, trivialBuild
-, melpaBuild
-
-, external
-, pkgs
-}:
+{ pkgs', makeScope, makeOverridable, emacs }:
 
 let
 
-  mkElpaPackages = import ../applications/editors/emacs-modes/elpa-packages.nix {
-    inherit lib stdenv texinfo;
+  mkElpaPackages = { pkgs, lib }: import ../applications/editors/emacs-modes/elpa-packages.nix {
+    inherit (pkgs) stdenv texinfo writeText;
+    inherit lib;
   };
 
   # Contains both melpa stable & unstable
-  melpaGeneric = import ../applications/editors/emacs-modes/melpa-packages.nix {
-    inherit external lib pkgs;
+  melpaGeneric = { pkgs, lib }: import ../applications/editors/emacs-modes/melpa-packages.nix {
+    inherit lib pkgs;
   };
-  mkMelpaStablePackages = melpaGeneric "stable";
-  mkMelpaPackages = melpaGeneric "unstable";
 
-  mkOrgPackages = import ../applications/editors/emacs-modes/org-packages.nix {
+  mkOrgPackages = { lib }: import ../applications/editors/emacs-modes/org-packages.nix {
     inherit lib;
   };
 
-  emacsWithPackages = import ../build-support/emacs/wrapper.nix {
-    inherit lib lndir makeWrapper runCommand;
+  mkManualPackages = { pkgs, lib }: import ../applications/editors/emacs-modes/manual-packages.nix {
+    inherit lib pkgs;
   };
 
-  mkManualPackages = import ../applications/editors/emacs-modes/manual-packages.nix {
-    inherit external lib pkgs;
+  emacsWithPackages = { pkgs, lib }: import ../build-support/emacs/wrapper.nix {
+    inherit (pkgs) makeWrapper runCommand;
+    inherit (pkgs.xorg) lndir;
+    inherit lib;
   };
 
-in lib.makeScope newScope (self: lib.makeOverridable ({
-  elpaPackages ? mkElpaPackages self
-  , melpaStablePackages ? mkMelpaStablePackages self
-  , melpaPackages ? mkMelpaPackages self
-  , orgPackages ? mkOrgPackages self
-  , manualPackages ? mkManualPackages self
+in makeScope pkgs'.newScope (self: makeOverridable ({
+  pkgs ? pkgs'
+  , lib ? pkgs.lib
+  , elpaPackages ? mkElpaPackages { inherit pkgs lib; } self
+  , melpaStablePackages ? melpaGeneric { inherit pkgs lib; } "stable" self
+  , melpaPackages ? melpaGeneric { inherit pkgs lib; } "unstable" self
+  , orgPackages ? mkOrgPackages { inherit lib; } self
+  , manualPackages ? mkManualPackages { inherit pkgs lib; } self
 }: ({}
   // elpaPackages // { inherit elpaPackages; }
   // melpaStablePackages // { inherit melpaStablePackages; }
@@ -80,8 +64,27 @@ in lib.makeScope newScope (self: lib.makeOverridable ({
   // orgPackages // { inherit orgPackages; }
   // manualPackages // { inherit manualPackages; }
   // {
-    inherit emacs melpaBuild trivialBuild;
-    emacsWithPackages = emacsWithPackages self;
-    withPackages = emacsWithPackages self;
+
+    inherit emacs;
+
+    trivialBuild = pkgs.callPackage ../build-support/emacs/trivial.nix {
+      inherit (self) emacs;
+    };
+
+    melpaBuild = pkgs.callPackage ../build-support/emacs/melpa.nix {
+      inherit (self) emacs;
+    };
+
+    emacsWithPackages = emacsWithPackages { inherit pkgs lib; } self;
+    withPackages = emacsWithPackages { inherit pkgs lib; } self;
+
+  }// {
+
+    # Package specific priority overrides goes here
+
+    # Telega uploads packages incompatible with stable tdlib to melpa
+    # Prefer the one from melpa stable
+    inherit (melpaStablePackages) telega;
+
   })
 ) {})
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 46e222261fc8e..6c8e3e7d855d7 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -114,6 +114,16 @@ in {
       buildLlvmPackages = buildPackages.llvmPackages_9;
       llvmPackages = pkgs.llvmPackages_9;
     };
+    ghc8104 = callPackage ../development/compilers/ghc/8.10.4.nix {
+      # aarch64 ghc865Binary gets SEGVs due to haskell#15449 or similar
+      bootPkgs = if stdenv.isAarch64 || stdenv.isAarch32 then
+          packages.ghc8102BinaryMinimal
+        else
+          packages.ghc865Binary;
+      inherit (buildPackages.python3Packages) sphinx;
+      buildLlvmPackages = buildPackages.llvmPackages_9;
+      llvmPackages = pkgs.llvmPackages_9;
+    };
     ghc901 = callPackage ../development/compilers/ghc/9.0.1.nix {
       bootPkgs = packages.ghc8102Binary;
       inherit (buildPackages.python3Packages) sphinx;
@@ -221,6 +231,11 @@ in {
       ghc = bh.compiler.ghc8103;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
     };
+    ghc8104 = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghc8104;
+      ghc = bh.compiler.ghc8104;
+      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
+    };
     ghc901 = callPackage ../development/haskell-modules {
       buildHaskellPackages = bh.packages.ghc901;
       ghc = bh.compiler.ghc901;
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index f7c57305992eb..0b2c548c1e033 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -82,6 +82,14 @@ let
 
     ca-certs = callPackage ../development/ocaml-modules/ca-certs { };
 
+    carton = callPackage ../development/ocaml-modules/carton { };
+
+    carton-git = callPackage ../development/ocaml-modules/carton/git.nix { };
+
+    carton-lwt = callPackage ../development/ocaml-modules/carton/lwt.nix {
+      git-binary = pkgs.git;
+    };
+
     camlidl = callPackage ../development/tools/ocaml/camlidl { };
 
     camlp4 =
@@ -391,8 +399,6 @@ let
 
     imagelib = callPackage ../development/ocaml-modules/imagelib { };
 
-    imagelib-unix = callPackage ../development/ocaml-modules/imagelib/unix.nix { };
-
     inotify = callPackage ../development/ocaml-modules/inotify { };
 
     integers = callPackage ../development/ocaml-modules/integers { };
@@ -425,9 +431,13 @@ let
       git-binary = pkgs.git;
     };
 
-    git-http = callPackage ../development/ocaml-modules/git-http { };
+    git-cohttp = callPackage ../development/ocaml-modules/git/cohttp.nix { };
+
+    git-cohttp-unix = callPackage ../development/ocaml-modules/git/cohttp-unix.nix { };
+
+    git-cohttp-mirage = callPackage ../development/ocaml-modules/git/cohttp-mirage.nix { };
 
-    git-unix = callPackage ../development/ocaml-modules/git-unix {
+    git-unix = callPackage ../development/ocaml-modules/git/unix.nix {
       git-binary = pkgs.git;
     };
 
@@ -464,6 +474,8 @@ let
 
     irmin-chunk = callPackage ../development/ocaml-modules/irmin/chunk.nix { };
 
+    irmin-containers = callPackage ../development/ocaml-modules/irmin/containers.nix { };
+
     irmin-fs = callPackage ../development/ocaml-modules/irmin/fs.nix { };
 
     irmin-git = callPackage ../development/ocaml-modules/irmin/git.nix { };
@@ -472,7 +484,13 @@ let
 
     irmin-http = callPackage ../development/ocaml-modules/irmin/http.nix { };
 
-    irmin-mem = callPackage ../development/ocaml-modules/irmin/mem.nix { };
+    irmin-layers = callPackage ../development/ocaml-modules/irmin/layers.nix { };
+
+    irmin-mirage = callPackage ../development/ocaml-modules/irmin/mirage.nix { };
+
+    irmin-mirage-git = callPackage ../development/ocaml-modules/irmin/mirage-git.nix { };
+
+    irmin-mirage-graphql = callPackage ../development/ocaml-modules/irmin/mirage-graphql.nix { };
 
     irmin-pack = callPackage ../development/ocaml-modules/irmin/pack.nix { };
 
@@ -506,6 +524,8 @@ let
 
     kafka = callPackage ../development/ocaml-modules/kafka { };
 
+    kafka_lwt = callPackage ../development/ocaml-modules/kafka/lwt.nix { };
+
     ke = callPackage ../development/ocaml-modules/ke { };
 
     lablgl = callPackage ../development/ocaml-modules/lablgl { };
@@ -897,6 +917,8 @@ let
       inherit (pkgs) postgresql;
     };
 
+    ppx_bap = callPackage ../development/ocaml-modules/ppx_bap { };
+
     ppx_bitstring = callPackage ../development/ocaml-modules/bitstring/ppx.nix { };
 
     ppxfind = callPackage ../development/ocaml-modules/ppxfind { };
@@ -975,7 +997,7 @@ let
 
     ppx_blob = callPackage ../development/ocaml-modules/ppx_blob { };
 
-    ppx_cstruct = callPackage ../development/ocaml-modules/cstruct/ppx.nix {};
+    ppx_cstruct = callPackage ../development/ocaml-modules/cstruct/ppx.nix { };
 
     ppx_derivers = callPackage ../development/ocaml-modules/ppx_derivers {};
 
@@ -1053,6 +1075,10 @@ let
 
     sedlex_2 = callPackage ../development/ocaml-modules/sedlex/2.nix { };
 
+    semaphore-compat = callPackage ../development/ocaml-modules/semaphore-compat { };
+
+    sha = callPackage ../development/ocaml-modules/sha { };
+
     sodium = callPackage ../development/ocaml-modules/sodium { };
 
     spelll = callPackage ../development/ocaml-modules/spelll { };
@@ -1391,7 +1417,7 @@ in let inherit (pkgs) callPackage; in rec
 
   ocamlPackages_4_12 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.12.nix { });
 
-  ocamlPackages_latest = ocamlPackages_4_11;
+  ocamlPackages_latest = ocamlPackages_4_12;
 
   ocamlPackages = ocamlPackages_4_10;
 }
diff --git a/pkgs/top-level/octave-packages.nix b/pkgs/top-level/octave-packages.nix
new file mode 100644
index 0000000000000..6278a7042e1bd
--- /dev/null
+++ b/pkgs/top-level/octave-packages.nix
@@ -0,0 +1,224 @@
+# This file contains the GNU Octave add-on packages set.
+# Each attribute is an Octave library.
+# Expressions for the Octave libraries are supposed to be in `pkgs/development/octave-modules/<name>/default.nix`.
+
+# When contributing a new package, if that package has a dependency on another
+# octave package, then you DO NOT need to explicitly list it as such when
+# performing the callPackage. It will be passed implicitly.
+# In addition, try to use the same dependencies as the ones octave needs, which
+# should ensure greater compatibility between Octave itself and its packages.
+
+# Like python-packages.nix, packages from top-level.nix are not in the scope
+# of the `callPackage` used for packages here. So, when we do need packages
+# from outside, we can `inherit` them from `pkgs`.
+{ pkgs
+, lib
+, stdenv
+, fetchurl
+, newScope
+, octave
+}:
+
+with lib;
+
+makeScope newScope (self:
+  let
+    inherit (octave) blas lapack gfortran python texinfo gnuplot;
+
+    callPackage = self.callPackage;
+
+    buildOctavePackage = callPackage ../development/interpreters/octave/build-octave-package.nix {
+      inherit lib stdenv;
+      inherit octave;
+      inherit computeRequiredOctavePackages;
+    };
+
+    wrapOctave = callPackage ../development/interpreters/octave/wrap-octave.nix {
+      inherit octave;
+      inherit (pkgs) makeSetupHook makeWrapper;
+    };
+
+    # Given a list of required Octave package derivations, get a list of
+    # ALL required Octave packages needed for the ones specified to run.
+    computeRequiredOctavePackages = drvs: let
+      # Check whether a derivation is an octave package
+      hasOctavePackage = drv: drv?isOctavePackage;
+      packages = filter hasOctavePackage drvs;
+    in unique (packages ++ concatLists (catAttrs "requiredOctavePackages" packages));
+
+  in {
+
+    inherit callPackage buildOctavePackage computeRequiredOctavePackages;
+
+    inherit (callPackage ../development/interpreters/octave/hooks { })
+      writeRequiredOctavePackagesHook;
+
+    arduino = callPackage ../development/octave-modules/arduino {
+      inherit (pkgs) arduino;
+    };
+
+    audio = callPackage ../development/octave-modules/audio { };
+
+    bim = callPackage ../development/octave-modules/bim { };
+
+    bsltl = callPackage ../development/octave-modules/bsltl { };
+
+    cgi = callPackage ../development/octave-modules/cgi { };
+
+    communications = callPackage ../development/octave-modules/communications { };
+
+    control = callPackage ../development/octave-modules/control { };
+
+    data-smoothing = callPackage ../development/octave-modules/data-smoothing { };
+
+    database = callPackage ../development/octave-modules/database { };
+
+    dataframe = callPackage ../development/octave-modules/dataframe { };
+
+    dicom = callPackage ../development/octave-modules/dicom { };
+
+    divand = callPackage ../development/octave-modules/divand { };
+
+    doctest = callPackage ../development/octave-modules/doctest { };
+
+    econometrics = callPackage ../development/octave-modules/econometrics { };
+
+    fem-fenics = callPackage ../development/octave-modules/fem-fenics {
+      # PLACEHOLDER until KarlJoad gets dolfin packaged.
+      dolfin = null;
+      ffc = null;
+    };
+
+    fits = callPackage ../development/octave-modules/fits { };
+
+    financial = callPackage ../development/octave-modules/financial { };
+
+    fpl = callPackage ../development/octave-modules/fpl { };
+
+    fuzzy-logic-toolkit = callPackage ../development/octave-modules/fuzzy-logic-toolkit { };
+
+    ga = callPackage ../development/octave-modules/ga { };
+
+    general = callPackage ../development/octave-modules/general {
+      nettle = pkgs.nettle;
+    };
+
+    generate_html = callPackage ../development/octave-modules/generate_html { };
+
+    geometry = callPackage ../development/octave-modules/geometry { };
+
+    gsl = callPackage ../development/octave-modules/gsl {
+      inherit (pkgs) gsl;
+    };
+
+    image = callPackage ../development/octave-modules/image { };
+
+    image-acquisition = callPackage ../development/octave-modules/image-acquisition { };
+
+    instrument-control = callPackage ../development/octave-modules/instrument-control { };
+
+    io = callPackage ../development/octave-modules/io {
+      inherit (octave) enableJava;
+    };
+
+    interval = callPackage ../development/octave-modules/interval { };
+
+    level-set = callPackage ../development/octave-modules/level-set { };
+
+    linear-algebra = callPackage ../development/octave-modules/linear-algebra { };
+
+    lssa = callPackage ../development/octave-modules/lssa { };
+
+    ltfat = callPackage ../development/octave-modules/ltfat {
+      inherit (octave) fftw fftwSinglePrec portaudio jdk;
+      inherit (pkgs) fftwFloat fftwLongDouble;
+    };
+
+    mapping = callPackage ../development/octave-modules/mapping { };
+
+    matgeom = callPackage ../development/octave-modules/matgeom { };
+
+    miscellaneous = callPackage ../development/octave-modules/miscellaneous { };
+
+    msh = callPackage ../development/octave-modules/msh {
+      # PLACEHOLDER until KarlJoad gets dolfin packaged.
+      dolfin = null;
+    };
+
+    mvn = callPackage ../development/octave-modules/mvn { };
+
+    nan = callPackage ../development/octave-modules/nan { };
+
+    ncarray = callPackage ../development/octave-modules/ncarray { };
+
+    netcdf = callPackage ../development/octave-modules/netcdf {
+      inherit (pkgs) netcdf;
+    };
+
+    nurbs = callPackage ../development/octave-modules/nurbs { };
+
+    ocl = callPackage ../development/octave-modules/ocl { };
+
+    octclip = callPackage ../development/octave-modules/octclip { };
+
+    octproj = callPackage ../development/octave-modules/octproj { };
+
+    optics = callPackage ../development/octave-modules/optics { };
+
+    optim = callPackage ../development/octave-modules/optim { };
+
+    optiminterp = callPackage ../development/octave-modules/optiminterp { };
+
+    parallel = callPackage ../development/octave-modules/parallel { };
+
+    quaternion = callPackage ../development/octave-modules/quaternion { };
+
+    queueing = callPackage ../development/octave-modules/queueing { };
+
+    signal = callPackage ../development/octave-modules/signal { };
+
+    sockets = callPackage ../development/octave-modules/sockets { };
+
+    sparsersb = callPackage ../development/octave-modules/sparsersb {
+      librsb = null;
+      # TODO: Package the librsb library to build this package.
+      # http://librsb.sourceforge.net/
+    };
+
+    stk = callPackage ../development/octave-modules/stk { };
+
+    splines = callPackage ../development/octave-modules/splines { };
+
+    statistics = callPackage ../development/octave-modules/statistics { };
+
+    strings = callPackage ../development/octave-modules/strings { };
+
+    struct = callPackage ../development/octave-modules/struct { };
+
+    symbolic = callPackage ../development/octave-modules/symbolic {
+      inherit (octave) python;
+    };
+
+    tisean = callPackage ../development/octave-modules/tisean { };
+
+    tsa = callPackage ../development/octave-modules/tsa { };
+
+    vibes = callPackage ../development/octave-modules/vibes {
+      vibes = null;
+      # TODO: Need to package vibes:
+      # https://github.com/ENSTABretagneRobotics/VIBES
+    };
+
+    video = callPackage ../development/octave-modules/video { };
+
+    vrml = callPackage ../development/octave-modules/vrml {
+      freewrl = null;
+    };
+
+    windows = callPackage ../development/octave-modules/windows { };
+
+    zeromq = callPackage ../development/octave-modules/zeromq {
+      inherit (pkgs) zeromq;
+    };
+
+  })
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 3a10ac7bb513f..95dc9011aa926 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -6144,6 +6144,10 @@ let
       license = with lib.licenses; [ artistic1 gpl1Plus ];
     };
     buildInputs = [ TestDifferences ];
+    nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
+    postInstall = lib.optionalString stdenv.isDarwin ''
+      shortenPerlShebang $out/bin/*
+    '';
   };
 
   DevelOverloadInfo = buildPerlPackage {
@@ -6986,6 +6990,23 @@ let
     };
   };
 
+  EmailStuffer = buildPerlPackage {
+    pname = "Email-Stuffer";
+    version = "0.018";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Stuffer-0.018.tar.gz";
+      sha256 = "02wapphmcqbl1sg32x2az863lz5bb2dlckibxfqrjdlny27a406h";
+    };
+    buildInputs = [ Moo TestFatal ];
+    propagatedBuildInputs = [ EmailMIME EmailSender ModuleRuntime ParamsUtil ];
+    meta = {
+      homepage = "https://github.com/rjbs/Email-Stuffer";
+      description = "A more casual approach to creating and sending Email:: emails";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = with maintainers; [ sgo ];
+    };
+  };
+
   EmailValid = buildPerlPackage {
     pname = "Email-Valid";
     version = "1.202";
@@ -8432,6 +8453,20 @@ let
     doCheck = false;
   };
 
+  FunctionParameters = buildPerlPackage {
+    pname = "Function-Parameters";
+    version = "2.001003";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MA/MAUKE/Function-Parameters-2.001003.tar.gz";
+      sha256 = "eaa22c6b43c02499ec7db0758c2dd218a3b2ab47a714b2bdf8010b5ee113c242";
+    };
+    buildInputs = [ DirSelf TestFatal ];
+    meta = {
+      description = "Define functions and methods with parameter lists (\"subroutine signatures\")";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   Furl = buildPerlModule {
     pname = "Furl";
     version = "3.13";
@@ -8463,10 +8498,10 @@ let
 
   FutureAsyncAwait = buildPerlModule rec {
     pname = "Future-AsyncAwait";
-    version = "0.47";
+    version = "0.49";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-AsyncAwait-${version}.tar.gz";
-      sha256 = "1ja85hzzl36sjikcyavjqy4m41f2yyrsr1ipypzi5mlw7clhmdi3";
+      sha256 = "0cm7cgfjrqs7jazl0f9q6lgkhz6k8qbawin1z36nrwh2ywc94zjb";
     };
     buildInputs = [ TestRefcount ];
     propagatedBuildInputs = [ Future XSParseSublike ];
@@ -8706,7 +8741,6 @@ let
       sha256 = "005m3inz12xcsd5sr056cm1kbhmxsx2ly88ifbdv6p6cwz0s05kk";
     };
     buildInputs = [ pkgs.glib ];
-    doCheck = false; # tests failing with glib 2.60 https://rt.cpan.org/Public/Bug/Display.html?id=128165
     meta = {
       homepage = "http://gtk2-perl.sourceforge.net/";
       description = "Perl wrappers for the GLib utility and Object libraries";
@@ -8722,13 +8756,20 @@ let
       url = "mirror://cpan/authors/id/X/XA/XAOC/Glib-Object-Introspection-0.049.tar.gz";
       sha256 = "0mxg6pz8qfyipw0ypr54alij0c4adzg94f62702b2a6hkp5jhij6";
     };
-    checkInputs = [ pkgs.cairo ];
+    checkInputs = [ pkgs.cairo CairoGObject ];
     propagatedBuildInputs = [ pkgs.gobject-introspection Glib ];
+    preCheck = ''
+      # Our gobject-introspection patches make the shared library paths absolute
+      # in the GIR files. When running tests, the library is not yet installed,
+      # though, so we need to replace the absolute path with a local one during build.
+      # We are using a symlink that we will delete after the execution of the tests.
+      mkdir -p $out/lib
+      ln -s $PWD/build/*.so $out/lib/
+    '';
+    postCheck = ''
+      rm -r $out/lib
+    '';
     meta = {
-      broken = true; # TODO: tests failing because "failed to load libregress.so"
-      # see https://github.com/NixOS/nixpkgs/pull/68115
-      # and https://github.com/NixOS/nixpkgs/issues/68116
-      # adding pkgs.gnome3.gjs does not fix it
       description = "Dynamically create Perl language bindings";
       license = lib.licenses.lgpl2Plus;
     };
@@ -8879,6 +8920,20 @@ let
     };
   };
 
+  gotofile = buildPerlPackage {
+    pname = "goto-file";
+    version = "0.005";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/E/EX/EXODIST/goto-file-0.005.tar.gz";
+      sha256 = "c6cdd5ee4a6cdcbdbf314d92a4f9985dbcdf9e4258048cae76125c052aa31f77";
+    };
+    buildInputs = [ Test2Suite ];
+    meta = {
+      description = "Stop parsing the current file and move on to a different one";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   Graph = buildPerlPackage {
     pname = "Graph";
     version = "0.9712";
@@ -8889,6 +8944,22 @@ let
     propagatedBuildInputs = [ HeapFibonacci ];
   };
 
+  GraphicsTIFF = buildPerlPackage {
+    pname = "Graphics-TIFF";
+    version = "9";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/R/RA/RATCLIFFE/Graphics-TIFF-9.tar.gz";
+      sha256 = "1n1r9r7f6hp2s6l361pyvb1i1pm9xqy0w9n3z5ygm7j64160kz9a";
+    };
+    buildInputs = [ pkgs.libtiff ExtUtilsDepends ExtUtilsPkgConfig ];
+    propagatedBuildInputs = [ Readonly ];
+    checkInputs = [ TestRequires TestDeep pkgs.hexdump ];
+    meta = {
+      description = "Perl extension for the libtiff library";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   GraphViz = buildPerlPackage {
     pname = "GraphViz";
     version = "2.24";
@@ -9062,6 +9133,30 @@ let
     };
   };
 
+  Gtk3ImageView = buildPerlPackage {
+    pname = "Gtk3-ImageView";
+    version = "6";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/R/RA/RATCLIFFE/Gtk3-ImageView-6.tar.gz";
+      sha256 = "0krkif9i3hrgjdskw05pcks40fmb43d21lxf4h8aclv0g8z647f0";
+    };
+    buildInputs = [ pkgs.gtk3 ];
+    propagatedBuildInputs = [ Readonly Gtk3 ];
+    # Tests are broken with PerlMagick and imagemagick version 7 as of 2021-02-22.
+    # See https://github.com/carygravel/gtk3-imageview/issues/19 and
+    # https://github.com/NixOS/nixpkgs/pull/114007#issuecomment-783595659.
+    doCheck = false;
+    checkInputs = [ TestDifferences PerlMagick TryTiny TestMockObject CarpAlways pkgs.librsvg ];
+    checkPhase = ''
+      ${pkgs.xvfb_run}/bin/xvfb-run -s '-screen 0 800x600x24' \
+        make test
+    '';
+    meta = {
+      description = "Image viewer widget for Gtk3";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   Gtk3SimpleList = buildPerlPackage {
     pname = "Gtk3-SimpleList";
     version = "0.21";
@@ -9703,12 +9798,11 @@ let
 
   HTTPDaemon = buildPerlPackage {
     pname = "HTTP-Daemon";
-    version = "6.12";
+    version = "6.01";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Daemon-6.12.tar.gz";
-      sha256 = "19hz9r6f1p406fk1pqyd99h96ipxsmknh4fh1xw0qrrq1k8vwiyz";
+      url = "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Daemon-6.01.tar.gz";
+      sha256 = "1hmd2isrkilf0q0nkxms1q64kikjmcw9imbvrjgky6kh89vqdza3";
     };
-    buildInputs = [ CPANMetaCheck ModuleBuildTiny TestNeeds ];
     propagatedBuildInputs = [ HTTPMessage ];
     meta = {
       description = "A simple http server class";
@@ -9988,6 +10082,20 @@ let
     };
   };
 
+  ImagePNGLibpng = buildPerlPackage {
+    pname = "Image-PNG-Libpng";
+    version = "0.56";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/B/BK/BKB/Image-PNG-Libpng-0.56.tar.gz";
+      sha256 = "1nf7qcql7b2w98i859f76q1vb4b2zd0k0ypjbsw7ngs2zzmvzyzs";
+    };
+    buildInputs = [ pkgs.libpng ];
+    meta = {
+      description = "Perl interface to the C library \"libpng\"";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   Imager = buildPerlPackage {
     pname = "Imager";
     version = "1.012";
@@ -11764,6 +11872,20 @@ let
     };
   };
 
+  LongJump = buildPerlPackage {
+    pname = "Long-Jump";
+    version = "0.000001";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/E/EX/EXODIST/Long-Jump-0.000001.tar.gz";
+      sha256 = "d5d6456d86992b559d8f66fc90960f919292cd3803c13403faac575762c77af4";
+    };
+    buildInputs = [ Test2Suite ];
+    meta = {
+      description = "Mechanism for returning to a specific point from a deeply nested stack";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   LWP = buildPerlPackage {
     pname = "libwww-perl";
     version = "6.49";
@@ -13970,6 +14092,25 @@ let
     };
   };
 
+  TestPostgreSQL = buildPerlModule {
+    pname = "Test-PostgreSQL";
+    version = "1.27";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/T/TJ/TJC/Test-PostgreSQL-1.27.tar.gz";
+      sha256 = "b1bd231693100cc40905fb0ba3173173201621de9c8301f21c5b593b0a46f907";
+    };
+    buildInputs = [ ModuleBuildTiny TestSharedFork pkgs.postgresql ];
+    propagatedBuildInputs = [ DBDPg DBI FileWhich FunctionParameters Moo TieHashMethod TryTiny TypeTiny ];
+
+    makeMakerFlags = "POSTGRES_HOME=${pkgs.postgresql}";
+
+    meta = {
+      homepage = https://github.com/TJC/Test-postgresql;
+      description = "PostgreSQL runner for tests";
+      license = with lib.licenses; [ artistic2 ];
+    };
+  };
+
   TestUseAllModules = buildPerlPackage {
     pname = "Test-UseAllModules";
     version = "0.17";
@@ -16353,6 +16494,21 @@ let
     };
   };
 
+  PDFBuilder = buildPerlPackage {
+    pname = "PDF-Builder";
+    version = "3.021";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/P/PM/PMPERRY/PDF-Builder-3.021.tar.gz";
+      sha256 = "1hc22s5gdspr5nyfmix3cwdzcw7z66pcqxy422ksmbninbzv4z93";
+    };
+    checkInputs = [ TestException TestMemoryCycle ];
+    propagatedBuildInputs = [ FontTTF ];
+    meta = {
+      description = "Facilitates the creation and modification of PDF files";
+      license = lib.licenses.lgpl21Plus;
+    };
+  };
+
   PDL = buildPerlPackage rec {
     pname = "PDL";
     version = "2.025";
@@ -16587,19 +16743,18 @@ let
     };
   };
 
-  PerlMagick = buildPerlPackage {
+  PerlMagick = buildPerlPackage rec {
     pname = "PerlMagick";
-    version = "6.89-1";
+    version = "7.0.10";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JC/JCRISTY/PerlMagick-6.89-1.tar.gz";
-      sha256 = "0n9afy1z5bhf9phrbahnkwhgcmijn8jggpbzwrivw1zhliliiy68";
+      url = "mirror://cpan/authors/id/J/JC/JCRISTY/PerlMagick-${version}.tar.gz";
+      sha256 = "1x05hdb3b6qs36x958b4w46qanvkqm6rpc44rlq4rd2w3gbp4lhx";
     };
     buildInputs = [ pkgs.imagemagick ];
     preConfigure =
       ''
         sed -i -e 's|my \$INC_magick = .*|my $INC_magick = "-I${pkgs.imagemagick.dev}/include/ImageMagick";|' Makefile.PL
       '';
-    doCheck = false;
   };
 
   PerlTidy = buildPerlPackage rec {
@@ -16613,6 +16768,10 @@ let
       description = "Indent and reformat perl scripts";
       license = lib.licenses.gpl2Plus;
     };
+    nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
+    postInstall = lib.optionalString stdenv.isDarwin ''
+      shortenPerlShebang $out/bin/perltidy
+    '';
   };
 
   PHPSerialization = buildPerlPackage {
@@ -19737,6 +19896,55 @@ let
     };
   };
 
+  Test2Harness = buildPerlPackage {
+    pname = "Test2-Harness";
+    version = "1.000042";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/E/EX/EXODIST/Test2-Harness-1.000042.tar.gz";
+      sha256 = "aaf231a68af1a6ffd6a11188875fcf572e373e43c8285945227b9d687b43db2d";
+    };
+
+    checkPhase = ''
+      patchShebangs ./t ./scripts/yath
+      ./scripts/yath test -j $NIX_BUILD_CORES
+    '';
+
+    propagatedBuildInputs = [ DataUUID Importer LongJump ScopeGuard TermTable Test2PluginMemUsage Test2PluginUUID Test2Suite gotofile ];
+    meta = {
+      description = "A new and improved test harness with better Test2 integration";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+  Test2PluginMemUsage = buildPerlPackage {
+    pname = "Test2-Plugin-MemUsage";
+    version = "0.002003";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/E/EX/EXODIST/Test2-Plugin-MemUsage-0.002003.tar.gz";
+      sha256 = "5e0662d5a823ae081641f5ce82843111eec1831cd31f883a6c6de54afdf87c25";
+    };
+    buildInputs = [ Test2Suite ];
+    meta = {
+      description = "Collect and display memory usage information";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+   Test2PluginUUID = buildPerlPackage {
+    pname = "Test2-Plugin-UUID";
+    version = "0.002001";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/E/EX/EXODIST/Test2-Plugin-UUID-0.002001.tar.gz";
+      sha256 = "4c6c8d484d7153d8779dc155a992b203095b5c5aa1cfb1ee8bcedcd0601878c9";
+    };
+    buildInputs = [ Test2Suite ];
+    propagatedBuildInputs = [ DataUUID ];
+    meta = {
+      description = "Use REAL UUIDs in Test2";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   Test2PluginNoWarnings = buildPerlPackage {
      pname = "Test2-Plugin-NoWarnings";
      version = "0.09";
@@ -21905,15 +22113,14 @@ let
       url = "mirror://cpan/authors/id/K/KU/KUBOTA/Text-WrapI18N-0.06.tar.gz";
       sha256 = "4bd29a17f0c2c792d12c1005b3c276f2ab0fae39c00859ae1741d7941846a488";
     };
-    propagatedBuildInputs = [ pkgs.glibc TextCharWidth ];
+    buildInputs = [ pkgs.glibcLocales ];
+    propagatedBuildInputs = [ TextCharWidth ];
     preConfigure = ''
       substituteInPlace WrapI18N.pm --replace '/usr/bin/locale' '${pkgs.glibc.bin}/bin/locale'
     '';
     meta = {
       description = "Line wrapping module with support for multibyte, fullwidth, and combining characters and languages without whitespaces between words";
       license = with lib.licenses; [ artistic1 gpl2 ];
-      # bogus use of glibc, pretty sure, think this is what we have glibcLocales for?
-      broken = stdenv.hostPlatform.libc != "glibc";
     };
   };
 
@@ -22054,6 +22261,19 @@ let
     doCheck = false; /* test fails on some machines */
   };
 
+  TieHashMethod = buildPerlPackage {
+    pname = "Tie-Hash-Method";
+    version = "0.02";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/Y/YV/YVES/Tie-Hash-Method-0.02.tar.gz";
+      sha256 = "d513fbb51413f7ca1e64a1bdce6194df7ec6076dea55066d67b950191eec32a9";
+    };
+    meta = {
+      description = "Tied hash with specific methods overriden by callbacks";
+      license = with lib.licenses; [ artistic1 ];
+    };
+  };
+
   TieRefHash = buildPerlPackage {
     pname = "Tie-RefHash";
     version = "1.40";
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index 19feb36aa2713..3c8738565f60e 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -16,7 +16,7 @@ lib.makeScope pkgs.newScope (self: with self; {
   # Wrap mkDerivation to prepend pname with "php-" to make names consistent
   # with how buildPecl does it and make the file easier to overview.
   mkDerivation = { pname, ... }@args: pkgs.stdenv.mkDerivation (args // {
-    pname = "php-${pname}";
+    pname = "php-${php.version}-${pname}";
   });
 
   pcre' = if (lib.versionAtLeast php.version "7.3") then pcre2 else pcre;
@@ -29,7 +29,7 @@ lib.makeScope pkgs.newScope (self: with self; {
 
     composer = callPackage ../development/php-packages/composer { };
 
-    composer2 = callPackage ../development/php-packages/composer/2.0.nix { };
+    composer1 = callPackage ../development/php-packages/composer/1.x.nix { };
 
     php-cs-fixer = callPackage ../development/php-packages/php-cs-fixer { };
 
@@ -134,6 +134,8 @@ lib.makeScope pkgs.newScope (self: with self; {
 
     redis = callPackage ../development/php-packages/redis { };
 
+    smbclient = callPackage ../development/php-packages/smbclient { };
+
     sqlsrv = callPackage ../development/php-packages/sqlsrv { };
 
     v8 = buildPecl {
@@ -501,11 +503,15 @@ lib.makeScope pkgs.newScope (self: with self; {
         doCheck = false; }
       { name = "xmlreader";
         buildInputs = [ libxml2 ];
-        configureFlags = [ "--enable-xmlreader CFLAGS=-I../.." ]
+        internalDeps = [ php.extensions.dom ];
+        NIX_CFLAGS_COMPILE = [ "-I../.." "-DHAVE_DOM" ];
+        configureFlags = [ "--enable-xmlreader" ]
           # Required to build on darwin.
           ++ lib.optional (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ]; }
       { name = "xmlrpc";
         buildInputs = [ libxml2 libiconv ];
+        # xmlrpc was unbundled in 8.0 https://php.watch/versions/8.0/xmlrpc
+        enable = lib.versionOlder php.version "8.0";
         configureFlags = [ "--with-xmlrpc" ]
           # Required to build on darwin.
           ++ lib.optional (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ]; }
@@ -516,7 +522,7 @@ lib.makeScope pkgs.newScope (self: with self; {
           ++ lib.optional (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ]; }
       { name = "xsl";
         buildInputs = [ libxslt libxml2 ];
-        doCheck = !(lib.versionOlder php.version "7.4");
+        doCheck = lib.versionOlder php.version "8.0";
         configureFlags = [ "--with-xsl=${libxslt.dev}" ]; }
       { name = "zend_test"; }
       { name = "zip";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 23efec76c1f46..59243211937ae 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -202,8 +202,16 @@ in {
 
   agent-py = callPackage ../development/python-modules/agent-py { };
 
+  aioambient = callPackage ../development/python-modules/aioambient { };
+
+  ailment = callPackage ../development/python-modules/ailment { };
+
   aioamqp = callPackage ../development/python-modules/aioamqp { };
 
+  aioasuswrt = callPackage ../development/python-modules/aioasuswrt { };
+
+  aiocache = callPackage ../development/python-modules/aiocache { };
+
   aiocoap = callPackage ../development/python-modules/aiocoap { };
 
   aioconsole = callPackage ../development/python-modules/aioconsole { };
@@ -254,6 +262,8 @@ in {
 
   aioimaplib = callPackage ../development/python-modules/aioimaplib { };
 
+  aioinflux = callPackage ../development/python-modules/aioinflux { };
+
   aiojobs = callPackage ../development/python-modules/aiojobs { };
 
   aiokafka = callPackage ../development/python-modules/aiokafka { };
@@ -274,6 +284,10 @@ in {
 
   aiopulse = callPackage ../development/python-modules/aiopulse { };
 
+  aiopylgtv = callPackage ../development/python-modules/aiopylgtv { };
+
+  aiorecollect = callPackage ../development/python-modules/aiorecollect { };
+
   aioredis = callPackage ../development/python-modules/aioredis { };
 
   aioresponses = callPackage ../development/python-modules/aioresponses { };
@@ -404,6 +418,8 @@ in {
 
   apsw = callPackage ../development/python-modules/apsw { };
 
+  aqualogic = callPackage ../development/python-modules/aqualogic { };
+
   arabic-reshaper = callPackage ../development/python-modules/arabic-reshaper { };
 
   archinfo = callPackage ../development/python-modules/archinfo { };
@@ -455,8 +471,12 @@ in {
 
   asn1crypto = callPackage ../development/python-modules/asn1crypto { };
 
+  aspell-python = callPackage ../development/python-modules/aspell-python { };
+
   aspy-yaml = callPackage ../development/python-modules/aspy.yaml { };
 
+  asteval = callPackage ../development/python-modules/asteval { };
+
   astor = callPackage ../development/python-modules/astor { };
 
   astral = callPackage ../development/python-modules/astral { };
@@ -484,6 +504,8 @@ in {
 
   asyncio-dgram = callPackage ../development/python-modules/asyncio-dgram { };
 
+  asyncio-mqtt = callPackage ../development/python-modules/asyncio_mqtt { };
+
   asyncio-throttle = callPackage ../development/python-modules/asyncio-throttle { };
 
   asyncpg = callPackage ../development/python-modules/asyncpg { };
@@ -532,6 +554,8 @@ in {
 
   augeas = callPackage ../development/python-modules/augeas { inherit (pkgs) augeas; };
 
+  auroranoaa = callPackage ../development/python-modules/auroranoaa { };
+
   auth0-python = callPackage ../development/python-modules/auth0-python { };
 
   authheaders = callPackage ../development/python-modules/authheaders { };
@@ -856,7 +880,7 @@ in {
 
   bandit = callPackage ../development/python-modules/bandit { };
 
-  bap = callPackage ../development/python-modules/bap { bap = pkgs.ocaml-ng.ocamlPackages_4_07.bap; };
+  bap = callPackage ../development/python-modules/bap { inherit (pkgs.ocaml-ng.ocamlPackages) bap; };
 
   baron = callPackage ../development/python-modules/baron { };
 
@@ -931,14 +955,10 @@ in {
 
   binho-host-adapter = callPackage ../development/python-modules/binho-host-adapter { };
 
-  binwalk = callPackage ../development/python-modules/binwalk {
-    pyqtgraph = null;
-    matplotlib = null;
-  };
+  binwalk = callPackage ../development/python-modules/binwalk { };
 
   binwalk-full = appendToName "full" (self.binwalk.override {
-    pyqtgraph = self.pyqtgraph;
-    matplotlib = self.matplotlib;
+    visualizationSupport = true;
   });
 
   biopython = callPackage ../development/python-modules/biopython { };
@@ -1119,16 +1139,7 @@ in {
 
   cachelib = callPackage ../development/python-modules/cachelib { };
 
-  cachetools = let
-    cachetools' = callPackage ../development/python-modules/cachetools { };
-    cachetools_2 = cachetools'.overridePythonAttrs (oldAttrs: rec {
-      version = "3.1.1";
-      src = oldAttrs.src.override {
-        inherit version;
-        sha256 = "16m69l6n6y1r1y7cklm92rr7v69ldig2n3lbl3j323w5jz7d78lf";
-      };
-    });
-  in if isPy3k then cachetools' else cachetools_2;
+  cachetools = callPackage ../development/python-modules/cachetools { };
 
   cachy = callPackage ../development/python-modules/cachy { };
 
@@ -1272,6 +1283,8 @@ in {
 
   chevron = callPackage ../development/python-modules/chevron { };
 
+  chirpstack-api = callPackage ../development/python-modules/chirpstack-api { };
+
   ci-info = callPackage ../development/python-modules/ci-info { };
 
   ci-py = callPackage ../development/python-modules/ci-py { };
@@ -1290,6 +1303,8 @@ in {
 
   class-registry = callPackage ../development/python-modules/class-registry { };
 
+  claripy =  callPackage ../development/python-modules/claripy { };
+
   cld2-cffi = callPackage ../development/python-modules/cld2-cffi { };
 
   cleo = callPackage ../development/python-modules/cleo { };
@@ -1362,6 +1377,8 @@ in {
 
   cmdtest = callPackage ../development/python-modules/cmdtest { };
 
+  cmsis-svd = callPackage ../development/python-modules/cmsis-svd { };
+
   cntk = callPackage ../development/python-modules/cntk { };
 
   cnvkit = callPackage ../development/python-modules/cnvkit { };
@@ -1497,6 +1514,8 @@ in {
 
   credstash = callPackage ../development/python-modules/credstash { };
 
+  criticality-score = callPackage ../development/python-modules/criticality-score { };
+
   croniter = callPackage ../development/python-modules/croniter { };
 
   cryptacular = callPackage ../development/python-modules/cryptacular { };
@@ -1697,6 +1716,8 @@ in {
 
   deskcon = callPackage ../development/python-modules/deskcon { };
 
+  desktop-notifier = callPackage ../development/python-modules/desktop-notifier { };
+
   detox = throw "detox is no longer maintained, and was broken since may 2019"; # added 2020-07-04
 
   devolo-home-control-api = callPackage ../development/python-modules/devolo-home-control-api { };
@@ -1965,6 +1986,8 @@ in {
 
   dpkt = callPackage ../development/python-modules/dpkt { };
 
+  drf-nested-routers = callPackage ../development/python-modules/drf-nested-routers { };
+
   drf-yasg = callPackage ../development/python-modules/drf-yasg { };
 
   drms = callPackage ../development/python-modules/drms { };
@@ -2024,6 +2047,8 @@ in {
 
   ed25519 = callPackage ../development/python-modules/ed25519 { };
 
+  editdistance = callPackage ../development/python-modules/editdistance { };
+
   editorconfig = callPackage ../development/python-modules/editorconfig { };
 
   edward = callPackage ../development/python-modules/edward { };
@@ -2042,6 +2067,8 @@ in {
 
   eliot = callPackage ../development/python-modules/eliot { };
 
+  elmax = callPackage ../development/python-modules/elmax { };
+
   emailthreads = callPackage ../development/python-modules/emailthreads { };
 
   email_validator = callPackage ../development/python-modules/email-validator { };
@@ -2092,6 +2119,8 @@ in {
     inherit (pkgs.darwin.apple_sdk.frameworks) Security;
   };
 
+  etebase-server = callPackage ../servers/etebase { };
+
   etesync = callPackage ../development/python-modules/etesync { };
 
   eth-hash = callPackage ../development/python-modules/eth-hash { };
@@ -2116,6 +2145,8 @@ in {
 
   ewmh = callPackage ../development/python-modules/ewmh { };
 
+  exdown = callPackage ../development/python-modules/exdown { };
+
   exchangelib = callPackage ../development/python-modules/exchangelib { };
 
   execnet = callPackage ../development/python-modules/execnet { };
@@ -2460,6 +2491,8 @@ in {
 
   futures = callPackage ../development/python-modules/futures { };
 
+  fuzzyfinder = callPackage ../development/python-modules/fuzzyfinder { };
+
   fuzzywuzzy = callPackage ../development/python-modules/fuzzywuzzy { };
 
   fx2 = callPackage ../development/python-modules/fx2 { };
@@ -2526,6 +2559,8 @@ in {
 
   geojson-client = callPackage ../development/python-modules/geojson-client { };
 
+  geomet = callPackage ../development/python-modules/geomet { };
+
   geopandas = callPackage ../development/python-modules/geopandas { };
 
   geopy = if isPy3k then
@@ -2753,7 +2788,9 @@ in {
 
   gpyopt = callPackage ../development/python-modules/gpyopt { };
 
-  gradient_sdk = callPackage ../development/python-modules/gradient_sdk { };
+  gradient = callPackage ../development/python-modules/gradient { };
+
+  gradient-utils = callPackage ../development/python-modules/gradient-utils { };
 
   gradient_statsd = callPackage ../development/python-modules/gradient_statsd { };
 
@@ -2779,6 +2816,8 @@ in {
 
   graph-tool = callPackage ../development/python-modules/graph-tool/2.x.x.nix { inherit (pkgs) pkg-config; };
 
+  graphtage = callPackage ../development/python-modules/graphtage { };
+
   graphviz = callPackage ../development/python-modules/graphviz { inherit (pkgs) graphviz; };
 
   grappelli_safe = callPackage ../development/python-modules/grappelli_safe { };
@@ -2793,6 +2832,8 @@ in {
 
   grequests = callPackage ../development/python-modules/grequests { };
 
+  gremlinpython = callPackage ../development/python-modules/gremlinpython { };
+
   grib-api = disabledIf (!isPy27) (toPythonModule (pkgs.grib-api.override {
     enablePython = true;
     pythonPackages = self;
@@ -2839,6 +2880,8 @@ in {
   else
     callPackage ../development/python-modules/gunicorn { };
 
+  guppy3 = callPackage ../development/python-modules/guppy3 { };
+
   gurobipy = if stdenv.hostPlatform.system == "x86_64-darwin" then
     callPackage ../development/python-modules/gurobipy/darwin.nix { inherit (pkgs.darwin) cctools insert_dylib; }
   else if stdenv.hostPlatform.system == "x86_64-linux" then
@@ -2875,6 +2918,8 @@ in {
 
   ha-ffmpeg = callPackage ../development/python-modules/ha-ffmpeg { };
 
+  halo = callPackage ../development/python-modules/halo { };
+
   handout = callPackage ../development/python-modules/handout { };
 
   HAP-python = callPackage ../development/python-modules/HAP-python { };
@@ -2925,6 +2970,8 @@ in {
 
   hieroglyph = callPackage ../development/python-modules/hieroglyph { };
 
+  hijri-converter = callPackage ../development/python-modules/hijri-converter { };
+
   hiredis = callPackage ../development/python-modules/hiredis { };
 
   hiro = callPackage ../development/python-modules/hiro { };
@@ -3102,6 +3149,8 @@ in {
 
   imaplib2 = callPackage ../development/python-modules/imaplib2 { };
 
+  imap-tools = callPackage ../development/python-modules/imap-tools { };
+
   imbalanced-learn = if isPy27 then
     callPackage ../development/python-modules/imbalanced-learn/0.4.nix { }
   else
@@ -3256,8 +3305,6 @@ in {
 
   j2cli = callPackage ../development/python-modules/j2cli { };
 
-  jabberbot = callPackage ../development/python-modules/jabberbot { };
-
   janus = callPackage ../development/python-modules/janus { };
 
   jaraco_classes = callPackage ../development/python-modules/jaraco_classes { };
@@ -3336,6 +3383,8 @@ in {
 
   jsmin = callPackage ../development/python-modules/jsmin { };
 
+  json5 = callPackage ../development/python-modules/json5 { };
+
   jsondate = callPackage ../development/python-modules/jsondate { };
 
   jsondiff = callPackage ../development/python-modules/jsondiff { };
@@ -3358,12 +3407,16 @@ in {
 
   jsonpath_rw = callPackage ../development/python-modules/jsonpath_rw { };
 
+  jsonpath-ng = callPackage ../development/python-modules/jsonpath-ng { };
+
   jsonpickle = callPackage ../development/python-modules/jsonpickle { };
 
   jsonpointer = callPackage ../development/python-modules/jsonpointer { };
 
   jsonref = callPackage ../development/python-modules/jsonref { };
 
+  json-rpc = callPackage ../development/python-modules/json-rpc { };
+
   jsonrpc-async = callPackage ../development/python-modules/jsonrpc-async { };
 
   jsonrpc-base = callPackage ../development/python-modules/jsonrpc-base { };
@@ -3476,6 +3529,8 @@ in {
 
   keyrings-alt = callPackage ../development/python-modules/keyrings-alt { };
 
+  keystone-engine = callPackage ../development/python-modules/keystone-engine { };
+
   keyutils = callPackage ../development/python-modules/keyutils { inherit (pkgs) keyutils; };
 
   kicad = disabledIf isPy27 (toPythonModule (pkgs.kicad.override { python3 = python; }).src);
@@ -3484,6 +3539,12 @@ in {
 
   kitchen = callPackage ../development/python-modules/kitchen { };
 
+  kivy = callPackage ../development/python-modules/kivy {
+    inherit (pkgs) mesa;
+  };
+
+  kivy-garden = callPackage ../development/python-modules/kivy-garden { };
+
   kiwisolver = if isPy3k then
     callPackage ../development/python-modules/kiwisolver { }
   else
@@ -3515,6 +3576,8 @@ in {
 
   labelbox = callPackage ../development/python-modules/labelbox { };
 
+  labgrid = callPackage ../development/python-modules/labgrid { };
+
   lammps-cython = callPackage ../development/python-modules/lammps-cython { mpi = pkgs.mpi; };
 
   langcodes = callPackage ../development/python-modules/langcodes { };
@@ -3645,6 +3708,8 @@ in {
     inherit python;
   })).py;
 
+  libpurecool = callPackage ../development/python-modules/libpurecool { };
+
   libredwg = toPythonModule (pkgs.libredwg.override {
     enablePython = true;
     inherit (self) python libxml2;
@@ -3659,6 +3724,8 @@ in {
 
   librosa = callPackage ../development/python-modules/librosa { };
 
+  librouteros = callPackage ../development/python-modules/librouteros { };
+
   libsass = (callPackage ../development/python-modules/libsass { inherit (pkgs) libsass; });
 
   libsavitar = callPackage ../development/python-modules/libsavitar { };
@@ -3710,7 +3777,7 @@ in {
 
   libxslt = (toPythonModule (pkgs.libxslt.override {
     pythonSupport = true;
-    inherit python;
+    python3 = python;
     inherit (self) libxml2;
   })).py;
 
@@ -3776,6 +3843,8 @@ in {
 
   lockfile = callPackage ../development/python-modules/lockfile { };
 
+  log-symbols = callPackage ../development/python-modules/log-symbols { };
+
   Logbook = callPackage ../development/python-modules/Logbook { };
 
   logfury = callPackage ../development/python-modules/logfury { };
@@ -3833,20 +3902,11 @@ in {
   macropy = callPackage ../development/python-modules/macropy { };
 
   maestral = callPackage ../development/python-modules/maestral {
-
-    # https://github.com/SamSchott/maestral/issues/250#issuecomment-739510048
-    survey = self.survey.overridePythonAttrs (old: rec {
-      version = "2.2.1";
+    keyring = self.keyring.overridePythonAttrs (old: rec {
+      version = "22.0.1";
       src = old.src.override {
         inherit version;
-        sha256 = "sha256-7ubWkqk1vyaJDLMOuKwUx2Bjziyi3HqpaQq4pKp4Z+0=";
-      };
-    });
-    watchdog = self.watchdog.overridePythonAttrs (old: rec {
-      version = "0.10.3";
-      src = old.src.override {
-        inherit version;
-        sha256 = "4214e1379d128b0588021880ccaf40317ee156d4603ac388b9adcf29165e0c04";
+        sha256 = "sha256-mss+FFLtu3VEgisS/SVFkHh2nlYPpR9Bi20Ar6pheN8=";
       };
     });
   };
@@ -3964,6 +4024,8 @@ in {
 
   mccabe = callPackage ../development/python-modules/mccabe { };
 
+  mcstatus = callPackage ../development/python-modules/mcstatus { };
+
   MDP = callPackage ../development/python-modules/mdp { };
 
   measurement = callPackage ../development/python-modules/measurement { };
@@ -4005,6 +4067,8 @@ in {
 
   metaphone = callPackage ../development/python-modules/metaphone { };
 
+  metar = callPackage ../development/python-modules/metar { };
+
   mezzanine = callPackage ../development/python-modules/mezzanine { };
 
   micawber = callPackage ../development/python-modules/micawber { };
@@ -4433,6 +4497,8 @@ in {
 
   nplusone = callPackage ../development/python-modules/nplusone { };
 
+  npyscreen = callPackage ../development/python-modules/npyscreen { };
+
   ntc-templates = callPackage ../development/python-modules/ntc-templates { };
 
   ntlm-auth = callPackage ../development/python-modules/ntlm-auth { };
@@ -4596,8 +4662,6 @@ in {
 
   ovh = callPackage ../development/python-modules/ovh { };
 
-  ovito = toPythonModule (pkgs.libsForQt5.callPackage ../development/python-modules/ovito { inherit python; });
-
   owslib = callPackage ../development/python-modules/owslib { };
 
   oyaml = callPackage ../development/python-modules/oyaml { };
@@ -4638,9 +4702,9 @@ in {
 
   panel = callPackage ../development/python-modules/panel { };
 
-  papermill = callPackage ../development/python-modules/papermill { };
+  panflute = callPackage ../development/python-modules/panflute { };
 
-  paperspace = callPackage ../development/python-modules/paperspace { };
+  papermill = callPackage ../development/python-modules/papermill { };
 
   openpaperwork-core = callPackage ../applications/office/paperwork/openpaperwork-core.nix { };
   openpaperwork-gtk = callPackage ../applications/office/paperwork/openpaperwork-gtk.nix { };
@@ -4846,9 +4910,14 @@ in {
   else
     callPackage ../development/python-modules/pillow {
       inherit (pkgs) freetype libjpeg zlib libtiff libwebp tcl lcms2 tk;
-      inherit (pkgs.xorg) libX11;
+      inherit (pkgs.xorg) libX11 libxcb;
     };
 
+  pillow-simd = callPackage ../development/python-modules/pillow-simd {
+      inherit (pkgs) freetype libjpeg zlib libtiff libwebp tcl lcms2 tk;
+      inherit (pkgs.xorg) libX11;
+  };
+
   pims = callPackage ../development/python-modules/pims { };
 
   pinboard = callPackage ../development/python-modules/pinboard { };
@@ -4871,6 +4940,10 @@ in {
     inherit (pkgs.libsForQt5) soqt;
   };
 
+  pixelmatch = callPackage ../development/python-modules/pixelmatch { };
+
+  pkce = callPackage ../development/python-modules/pkce { };
+
   pkgconfig = callPackage ../development/python-modules/pkgconfig { inherit (pkgs) pkg-config; };
 
   pkginfo = callPackage ../development/python-modules/pkginfo { };
@@ -4879,14 +4952,22 @@ in {
 
   pynndescent = callPackage ../development/python-modules/pynndescent { };
 
+  pynuki = callPackage ../development/python-modules/pynuki { };
+
+  pynws = callPackage ../development/python-modules/pynws { };
+
   pysbd = callPackage ../development/python-modules/pysbd { };
 
+  pyshark = callPackage ../development/python-modules/pyshark { };
+
   python-codon-tables = callPackage ../development/python-modules/python-codon-tables { };
 
   python-csxcad = callPackage ../development/python-modules/python-csxcad { };
 
   python-openems = callPackage ../development/python-modules/python-openems { };
 
+  python-openzwave-mqtt = callPackage ../development/python-modules/python-openzwave-mqtt { };
+
   python-tado = callPackage ../development/python-modules/python-tado { };
 
   pkutils = callPackage ../development/python-modules/pkutils { };
@@ -5050,6 +5131,8 @@ in {
 
   prometheus_client = callPackage ../development/python-modules/prometheus_client { };
 
+  prometheus-flask-exporter = callPackage ../development/python-modules/prometheus-flask-exporter { };
+
   promise = callPackage ../development/python-modules/promise { };
 
   prompt_toolkit = let
@@ -5072,10 +5155,14 @@ in {
     protobuf = pkgs.protobuf;
   };
 
+  protobuf3-to-dict = callPackage ../development/python-modules/protobuf3-to-dict { };
+
   prov = callPackage ../development/python-modules/prov { };
 
   prox-tv = callPackage ../development/python-modules/prox-tv { };
 
+  proxmoxer = callPackage ../development/python-modules/proxmoxer { };
+
   psautohint = callPackage ../development/python-modules/psautohint { };
 
   psd-tools = callPackage ../development/python-modules/psd-tools { };
@@ -5158,10 +5245,14 @@ in {
 
   pyahocorasick = callPackage ../development/python-modules/pyahocorasick { };
 
+  pyairnow = callPackage ../development/python-modules/pyairnow { };
+
   pyairvisual = callPackage ../development/python-modules/pyairvisual { };
 
   pyalgotrade = callPackage ../development/python-modules/pyalgotrade { };
 
+  pyalmond = callPackage ../development/python-modules/pyalmond { };
+
   pyamf = callPackage ../development/python-modules/pyamf { };
 
   pyamg = callPackage ../development/python-modules/pyamg { };
@@ -5242,8 +5333,12 @@ in {
 
   pycdio = callPackage ../development/python-modules/pycdio { };
 
+  pycec = callPackage ../development/python-modules/pycec { };
+
   pycfdns = callPackage ../development/python-modules/pycfdns { };
 
+  pychannels = callPackage ../development/python-modules/pychannels { };
+
   pychart = callPackage ../development/python-modules/pychart { };
 
   pychef = callPackage ../development/python-modules/pychef { };
@@ -5272,6 +5367,8 @@ in {
 
   pycparser = callPackage ../development/python-modules/pycparser { };
 
+  py-cid = callPackage ../development/python-modules/py-cid { };
+
   py-cpuinfo = callPackage ../development/python-modules/py-cpuinfo { };
 
   pycrc = callPackage ../development/python-modules/pycrc { };
@@ -5299,6 +5396,8 @@ in {
 
   pycxx = callPackage ../development/python-modules/pycxx { };
 
+  pydaikin = callPackage ../development/python-modules/pydaikin { };
+
   pydantic = callPackage ../development/python-modules/pydantic { };
 
   pydbus = callPackage ../development/python-modules/pydbus { };
@@ -5339,6 +5438,8 @@ in {
 
   pyee = callPackage ../development/python-modules/pyee { };
 
+  pyeight = callPackage ../development/python-modules/pyeight { };
+
   pyelftools = callPackage ../development/python-modules/pyelftools { };
 
   pyemd = callPackage ../development/python-modules/pyemd { };
@@ -5385,6 +5486,10 @@ in {
 
   pyflakes = callPackage ../development/python-modules/pyflakes { };
 
+  pyflume = callPackage ../development/python-modules/pyflume { };
+
+  pyflunearyou = callPackage ../development/python-modules/pyflunearyou { };
+
   pyfma = callPackage ../development/python-modules/pyfma { };
 
   pyfribidi = callPackage ../development/python-modules/pyfribidi { };
@@ -5554,6 +5659,8 @@ in {
 
   pylibmc = callPackage ../development/python-modules/pylibmc { };
 
+  pylink-square = callPackage ../development/python-modules/pylink-square { };
+
   pylint-celery = callPackage ../development/python-modules/pylint-celery { };
 
   pylint-django = callPackage ../development/python-modules/pylint-django { };
@@ -5583,6 +5690,8 @@ in {
 
   pylutron = callPackage ../development/python-modules/pylutron { };
 
+  pylxd = callPackage ../development/python-modules/pylxd { };
+
   pymacaroons = callPackage ../development/python-modules/pymacaroons { };
 
   pymaging = callPackage ../development/python-modules/pymaging { };
@@ -5603,6 +5712,8 @@ in {
 
   pymediainfo = callPackage ../development/python-modules/pymediainfo { };
 
+  pymediaroom = callPackage ../development/python-modules/pymediaroom { };
+
   pymeeus = callPackage ../development/python-modules/pymeeus { };
 
   pymemoize = callPackage ../development/python-modules/pymemoize { };
@@ -5613,6 +5724,8 @@ in {
 
   pymetno = callPackage ../development/python-modules/pymetno { };
 
+  pymitv = callPackage ../development/python-modules/pymitv { };
+
   pymodbus = callPackage ../development/python-modules/pymodbus { };
 
   pymongo = callPackage ../development/python-modules/pymongo { };
@@ -5623,8 +5736,14 @@ in {
 
   pymssql = throw "pymssql has been abandoned upstream."; # added 2020-05-04
 
+  pymsteams = callPackage ../development/python-modules/pymsteams { };
+
+  py-multiaddr = callPackage ../development/python-modules/py-multiaddr { };
+
   py-multibase = callPackage ../development/python-modules/py-multibase { };
 
+  py-multicodec = callPackage ../development/python-modules/py-multicodec { };
+
   py-multihash = callPackage ../development/python-modules/py-multihash { };
 
   pymumble = callPackage ../development/python-modules/pymumble { };
@@ -5635,6 +5754,8 @@ in {
 
   pymyq = callPackage ../development/python-modules/pymyq { };
 
+  pymysensors = callPackage ../development/python-modules/pymysensors { };
+
   pymysql = callPackage ../development/python-modules/pymysql { };
 
   pymysqlsa = callPackage ../development/python-modules/pymysqlsa { };
@@ -5694,6 +5815,8 @@ in {
 
   pyopenssl = callPackage ../development/python-modules/pyopenssl { };
 
+  pyopenuv = callPackage ../development/python-modules/pyopenuv { };
+
   pyopnsense = callPackage ../development/python-modules/pyopnsense { };
 
   pyosf = callPackage ../development/python-modules/pyosf { };
@@ -5829,6 +5952,8 @@ in {
 
   pyres = callPackage ../development/python-modules/pyres { };
 
+  pyrisco = callPackage ../development/python-modules/pyrisco { };
+
   pyRFC3339 = callPackage ../development/python-modules/pyrfc3339 { };
 
   PyRMVtransport = callPackage ../development/python-modules/PyRMVtransport { };
@@ -5904,6 +6029,10 @@ in {
 
   pyslurm = callPackage ../development/python-modules/pyslurm { slurm = pkgs.slurm; };
 
+  pysma = callPackage ../development/python-modules/pysma { };
+
+  pysmappee = callPackage ../development/python-modules/pysmappee { };
+
   pysmb = callPackage ../development/python-modules/pysmb { };
 
   pysmbc = callPackage ../development/python-modules/pysmbc { inherit (pkgs) pkg-config; };
@@ -5912,6 +6041,8 @@ in {
 
   pysmi = callPackage ../development/python-modules/pysmi { };
 
+  pysmt = callPackage ../development/python-modules/pysmt { };
+
   pysnmp = callPackage ../development/python-modules/pysnmp { };
 
   pysnooper = callPackage ../development/python-modules/pysnooper { };
@@ -5976,14 +6107,20 @@ in {
     inherit (pkgs) bash subversion apr aprutil expat neon openssl;
   };
 
+  pyswitchbot = callPackage ../development/python-modules/pyswitchbot { };
+
   pysychonaut = callPackage ../development/python-modules/pysychonaut { };
 
+  pysyncobj = callPackage ../development/python-modules/pysyncobj { };
+
   pytabix = callPackage ../development/python-modules/pytabix { };
 
   pytado = callPackage ../development/python-modules/pytado { };
 
   pytaglib = callPackage ../development/python-modules/pytaglib { };
 
+  pytankerkoenig = callPackage ../development/python-modules/pytankerkoenig { };
+
   pyte = callPackage ../development/python-modules/pyte { };
 
   pytelegrambotapi = callPackage ../development/python-modules/pyTelegramBotAPI { };
@@ -6080,6 +6217,10 @@ in {
 
   pytest-httpbin = callPackage ../development/python-modules/pytest-httpbin { };
 
+  pytest-httpserver = callPackage ../development/python-modules/pytest-httpserver { };
+
+  pytest-httpx = callPackage ../development/python-modules/pytest-httpx { };
+
   pytest-instafail = callPackage ../development/python-modules/pytest-instafail { };
 
   pytest-isort = callPackage ../development/python-modules/pytest-isort { };
@@ -6188,6 +6329,8 @@ in {
 
   python3-openid = callPackage ../development/python-modules/python3-openid { };
 
+  python-awair = callPackage ../development/python-modules/python-awair { };
+
   python-axolotl = callPackage ../development/python-modules/python-axolotl { };
 
   python-axolotl-curve25519 = callPackage ../development/python-modules/python-axolotl-curve25519 { };
@@ -6228,6 +6371,8 @@ in {
 
   python-engineio = callPackage ../development/python-modules/python-engineio { };
 
+  python-engineio_3 = callPackage ../development/python-modules/python-engineio/3.nix { };
+
   python-etcd = callPackage ../development/python-modules/python-etcd { };
 
   python_fedora = callPackage ../development/python-modules/python_fedora { };
@@ -6238,6 +6383,8 @@ in {
 
   python-frontmatter = callPackage ../development/python-modules/python-frontmatter { };
 
+  python-gammu = callPackage ../development/python-modules/python-gammu { };
+
   python-gitlab = callPackage ../development/python-modules/python-gitlab { };
 
   python-gnupg = callPackage ../development/python-modules/python-gnupg { };
@@ -6368,6 +6515,8 @@ in {
 
   python-socketio = callPackage ../development/python-modules/python-socketio { };
 
+  python-socketio_4 = callPackage ../development/python-modules/python-socketio/4.nix { };
+
   python-sql = callPackage ../development/python-modules/python-sql { };
 
   python_statsd = callPackage ../development/python-modules/python_statsd { };
@@ -6380,6 +6529,8 @@ in {
 
   python-toolbox = callPackage ../development/python-modules/python-toolbox { };
 
+  python-twitch-client = callPackage ../development/python-modules/python-twitch-client { };
+
   python-twitter = callPackage ../development/python-modules/python-twitter { };
 
   python-u2flib-host = callPackage ../development/python-modules/python-u2flib-host { };
@@ -6392,6 +6543,8 @@ in {
 
   python-vagrant = callPackage ../development/python-modules/python-vagrant { };
 
+  python-velbus = callPackage ../development/python-modules/python-velbus { };
+
   python-vipaccess = callPackage ../development/python-modules/python-vipaccess { };
 
   python-vlc = callPackage ../development/python-modules/python-vlc { };
@@ -6418,9 +6571,7 @@ in {
 
   pytorch = callPackage ../development/python-modules/pytorch { cudaSupport = pkgs.config.cudaSupport or false; };
 
-  pytorch-bin = callPackage ../development/python-modules/pytorch/bin.nix {
-    inherit (pkgs.linuxPackages) nvidia_x11;
-  };
+  pytorch-bin = callPackage ../development/python-modules/pytorch/bin.nix { };
 
   pytorch-lightning = callPackage ../development/python-modules/pytorch-lightning { };
 
@@ -6430,6 +6581,8 @@ in {
 
   pytorchWithoutCuda = self.pytorch.override { cudaSupport = false; };
 
+  pytrafikverket = callPackage ../development/python-modules/pytrafikverket { };
+
   pytrends = callPackage ../development/python-modules/pytrends { };
 
   pytricia = callPackage ../development/python-modules/pytricia { };
@@ -6477,8 +6630,16 @@ in {
 
   pyvera = callPackage ../development/python-modules/pyvera { };
 
+  pyvesync = callPackage ../development/python-modules/pyvesync { };
+
+  pyvex = callPackage ../development/python-modules/pyvex { };
+
+  pyvicare = callPackage ../development/python-modules/pyvicare { };
+
   pyviz-comms = callPackage ../development/python-modules/pyviz-comms { };
 
+  pyvizio = callPackage ../development/python-modules/pyvizio { };
+
   pyvips = callPackage ../development/python-modules/pyvips {
     inherit (pkgs) pkg-config vips glib;
   };
@@ -6487,6 +6648,8 @@ in {
 
   pyvmomi = callPackage ../development/python-modules/pyvmomi { };
 
+  pyvolumio = callPackage ../development/python-modules/pyvolumio { };
+
   pyvoro = callPackage ../development/python-modules/pyvoro { };
 
   pywal = callPackage ../development/python-modules/pywal { };
@@ -6531,6 +6694,8 @@ in {
 
   pyxeoma = callPackage ../development/python-modules/pyxeoma { };
 
+  pyxiaomigateway = callPackage ../development/python-modules/pyxiaomigateway { };
+
   pyxl3 = callPackage ../development/python-modules/pyxl3 { };
 
   pyxml = disabledIf isPy3k (callPackage ../development/python-modules/pyxml { });
@@ -6539,6 +6704,8 @@ in {
 
   pyyaml = callPackage ../development/python-modules/pyyaml { };
 
+  pyzerproc = callPackage ../development/python-modules/pyzerproc { };
+
   pyzmq = callPackage ../development/python-modules/pyzmq { };
 
   pyzufall = callPackage ../development/python-modules/pyzufall { };
@@ -6608,6 +6775,8 @@ in {
 
   radio_beam = callPackage ../development/python-modules/radio_beam { };
 
+  radiotherm = callPackage ../development/python-modules/radiotherm { };
+
   radish-bdd = callPackage ../development/python-modules/radish-bdd { };
 
   rainbowstream = callPackage ../development/python-modules/rainbowstream { };
@@ -6620,6 +6789,8 @@ in {
 
   rasterio = callPackage ../development/python-modules/rasterio { gdal = pkgs.gdal_2; }; # gdal 3.0 not supported yet
 
+  ratelimit = callPackage ../development/python-modules/ratelimit { };
+
   ratelimiter = callPackage ../development/python-modules/ratelimiter { };
 
   raven = callPackage ../development/python-modules/raven { };
@@ -6634,6 +6805,8 @@ in {
 
   rdflib-jsonld = callPackage ../development/python-modules/rdflib-jsonld { };
 
+  rdkit = callPackage ../development/python-modules/rdkit { };
+
   re-assert = callPackage ../development/python-modules/re-assert { };
 
   readchar = callPackage ../development/python-modules/readchar { };
@@ -6885,6 +7058,8 @@ in {
 
   safety = callPackage ../development/python-modules/safety { };
 
+  sagemaker = callPackage ../development/python-modules/sagemaker { };
+
   salmon-mail = callPackage ../development/python-modules/salmon-mail { };
 
   sane = callPackage ../development/python-modules/sane {
@@ -7092,6 +7267,8 @@ in {
 
   sharedmem = callPackage ../development/python-modules/sharedmem { };
 
+  sharkiqpy = callPackage ../development/python-modules/sharkiqpy { };
+
   sh = callPackage ../development/python-modules/sh { };
 
   shellingham = callPackage ../development/python-modules/shellingham { };
@@ -7133,6 +7310,8 @@ in {
 
   simplegeneric = callPackage ../development/python-modules/simplegeneric { };
 
+  simplehound = callPackage ../development/python-modules/simplehound { };
+
   simplejson = callPackage ../development/python-modules/simplejson { };
 
   simplekml = callPackage ../development/python-modules/simplekml { };
@@ -7165,6 +7344,10 @@ in {
 
   skorch = callPackage ../development/python-modules/skorch { };
 
+  skybellpy = callPackage ../development/python-modules/skybellpy { };
+
+  slack-sdk = callPackage ../development/python-modules/slack-sdk { };
+
   slackclient = callPackage ../development/python-modules/slackclient { };
 
   sleekxmpp = callPackage ../development/python-modules/sleekxmpp { };
@@ -7195,6 +7378,8 @@ in {
 
   smbus-cffi = callPackage ../development/python-modules/smbus-cffi { };
 
+  smdebug-rulesconfig = callPackage ../development/python-modules/smdebug-rulesconfig { };
+
   smmap2 = throw "smmap2 has been deprecated, use smmap instead."; # added 2020-03-14
 
   smmap = callPackage ../development/python-modules/smmap { };
@@ -7247,6 +7432,8 @@ in {
 
   softlayer = callPackage ../development/python-modules/softlayer { };
 
+  solax = callPackage ../development/python-modules/solax { };
+
   solo-python = disabledIf (!pythonAtLeast "3.6") (callPackage ../development/python-modules/solo-python { });
 
   somajo = callPackage ../development/python-modules/somajo { };
@@ -7292,6 +7479,8 @@ in {
 
   sphfile = callPackage ../development/python-modules/sphfile { };
 
+  spinners = callPackage ../development/python-modules/spinners { };
+
   sphinxcontrib-applehelp = callPackage ../development/python-modules/sphinxcontrib-applehelp { };
 
   sphinxcontrib-autoapi = callPackage ../development/python-modules/sphinxcontrib-autoapi { };
@@ -7341,6 +7530,8 @@ in {
 
   sphinx-argparse = callPackage ../development/python-modules/sphinx-argparse { };
 
+  sphinx-autobuild = callPackage ../development/python-modules/sphinx-argparse { };
+
   sphinx-jinja = callPackage ../development/python-modules/sphinx-jinja { };
 
   sphinx-navtree = callPackage ../development/python-modules/sphinx-navtree { };
@@ -7500,6 +7691,8 @@ in {
 
   sure = callPackage ../development/python-modules/sure { };
 
+  surepy = callPackage ../development/python-modules/surepy { };
+
   survey = callPackage ../development/python-modules/survey { };
 
   suseapi = callPackage ../development/python-modules/suseapi { };
@@ -7548,6 +7741,8 @@ in {
 
   tag-expressions = callPackage ../development/python-modules/tag-expressions { };
 
+  tahoma-api = callPackage ../development/python-modules/tahoma-api { };
+
   tarman = callPackage ../development/python-modules/tarman { };
 
   tasklib = callPackage ../development/python-modules/tasklib { };
@@ -7621,12 +7816,16 @@ in {
 
   tensorly = callPackage ../development/python-modules/tensorly { };
 
+  tellduslive = callPackage ../development/python-modules/tellduslive { };
+
   termcolor = callPackage ../development/python-modules/termcolor { };
 
   terminado = callPackage ../development/python-modules/terminado { };
 
   terminaltables = callPackage ../development/python-modules/terminaltables { };
 
+  termplotlib = callPackage ../development/python-modules/termplotlib { };
+
   termstyle = callPackage ../development/python-modules/termstyle { };
 
   teslajsonpy = callPackage ../development/python-modules/teslajsonpy { };
@@ -7723,8 +7922,6 @@ in {
 
   tinyobjloader-py = callPackage ../development/python-modules/tinyobjloader-py { };
 
-  tiros = callPackage ../development/python-modules/tiros { };
-
   tissue = callPackage ../development/python-modules/tissue { };
 
   titlecase = callPackage ../development/python-modules/titlecase { };
@@ -7787,6 +7984,8 @@ in {
 
   tox = callPackage ../development/python-modules/tox { };
 
+  tpm2-pytss = callPackage ../development/python-modules/tpm2-pytss { };
+
   tqdm = callPackage ../development/python-modules/tqdm { };
 
   traceback2 = callPackage ../development/python-modules/traceback2 { };
@@ -7818,7 +8017,9 @@ in {
 
   translationstring = callPackage ../development/python-modules/translationstring { };
 
-  transmissionrpc = callPackage ../development/python-modules/transmissionrpc { };
+  transmission-rpc = callPackage ../development/python-modules/transmission-rpc { };
+
+  transmissionrpc = self.transmission-rpc; # alias for compatibility 2020-02-07
 
   treq = callPackage ../development/python-modules/treq { };
 
@@ -7848,12 +8049,16 @@ in {
 
   tumpa = callPackage ../development/python-modules/tumpa { };
 
+  tuyaha = callPackage ../development/python-modules/tuyaha { };
+
   tvdb_api = callPackage ../development/python-modules/tvdb_api { };
 
   tvnamer = callPackage ../development/python-modules/tvnamer { };
 
   tweepy = callPackage ../development/python-modules/tweepy { };
 
+  twentemilieu = callPackage ../development/python-modules/twentemilieu { };
+
   twiggy = callPackage ../development/python-modules/twiggy { };
 
   twilio = callPackage ../development/python-modules/twilio { };
@@ -7862,8 +8067,12 @@ in {
 
   twine = callPackage ../development/python-modules/twine { };
 
+  twinkly-client = callPackage ../development/python-modules/twinkly-client { };
+
   twisted = callPackage ../development/python-modules/twisted { };
 
+  twitch-python = callPackage ../development/python-modules/twitch-python { };
+
   twitter = callPackage ../development/python-modules/twitter { };
 
   twitter-common-collections = callPackage ../development/python-modules/twitter-common-collections { };
@@ -7878,6 +8087,8 @@ in {
 
   twitter-common-options = callPackage ../development/python-modules/twitter-common-options { };
 
+  twitterapi = callPackage ../development/python-modules/twitterapi { };
+
   twofish = callPackage ../development/python-modules/twofish { };
 
   txaio = callPackage ../development/python-modules/txaio { };
@@ -8057,6 +8268,8 @@ in {
 
   vega_datasets = callPackage ../development/python-modules/vega_datasets { };
 
+  venstarcolortouch = callPackage ../development/python-modules/venstarcolortouch { };
+
   venusian = callPackage ../development/python-modules/venusian { };
 
   verboselogs = callPackage ../development/python-modules/verboselogs { };
@@ -8219,6 +8432,8 @@ in {
 
   widgetsnbextension = callPackage ../development/python-modules/widgetsnbextension { };
 
+  wiffi = callPackage ../development/python-modules/wiffi { };
+
   willow = callPackage ../development/python-modules/willow { };
 
   winacl = callPackage ../development/python-modules/winacl { };
@@ -8245,6 +8460,8 @@ in {
 
   ws4py = callPackage ../development/python-modules/ws4py { };
 
+  wsgi-intercept = callPackage ../development/python-modules/wsgi-intercept { };
+
   wsgiproxy2 = callPackage ../development/python-modules/wsgiproxy2 { };
 
   WSGIProxy = callPackage ../development/python-modules/wsgiproxy { };
@@ -8305,6 +8522,8 @@ in {
 
   xattr = callPackage ../development/python-modules/xattr { };
 
+  xboxapi = callPackage ../development/python-modules/xboxapi { };
+
   xcaplib = callPackage ../development/python-modules/xcaplib { };
 
   xcffib = callPackage ../development/python-modules/xcffib { };
@@ -8345,8 +8564,6 @@ in {
 
   xmodem = callPackage ../development/python-modules/xmodem { };
 
-  xmpppy = callPackage ../development/python-modules/xmpppy { };
-
   xnd = callPackage ../development/python-modules/xnd { };
 
   xpybutil = callPackage ../development/python-modules/xpybutil { };
@@ -8371,6 +8588,8 @@ in {
 
   yahooweather = callPackage ../development/python-modules/yahooweather { };
 
+  yalesmartalarmclient = callPackage ../development/python-modules/yalesmartalarmclient { };
+
   yamale = callPackage ../development/python-modules/yamale { };
 
   yamllint = callPackage ../development/python-modules/yamllint { };
@@ -8412,7 +8631,9 @@ in {
 
   yowsup = callPackage ../development/python-modules/yowsup { };
 
-  yq = callPackage ../development/python-modules/yq { };
+  yq = callPackage ../development/python-modules/yq {
+    inherit (pkgs) jq;
+  };
 
   yt = callPackage ../development/python-modules/yt { };
 
diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix
index f3708f0ab45f0..223132217a5dc 100644
--- a/pkgs/top-level/qt5-packages.nix
+++ b/pkgs/top-level/qt5-packages.nix
@@ -95,8 +95,6 @@ in (kdeFrameworks // plasma5 // plasma5.thirdParty // kdeApplications // qt5 //
 
   libdbusmenu = callPackage ../development/libraries/libdbusmenu-qt/qt-5.5.nix { };
 
-  libkeyfinder = callPackage ../development/libraries/libkeyfinder { };
-
   libktorrent = callPackage ../development/libraries/libktorrent { };
 
   liblastfm = callPackage ../development/libraries/liblastfm { };
diff --git a/pkgs/top-level/wine-packages.nix b/pkgs/top-level/wine-packages.nix
index 88ea6a00f8c1d..923d2b80818a3 100644
--- a/pkgs/top-level/wine-packages.nix
+++ b/pkgs/top-level/wine-packages.nix
@@ -27,6 +27,7 @@ rec {
     xineramaSupport = true;
     xmlSupport = true;
     sdlSupport = true;
+    mingwSupport = true;
   };
 
   full = base.override {